; Ludic (self-hosted) -> LLVM IR declare i32 @printf(ptr, ...) declare ptr @malloc(i64) declare ptr @calloc(i64, 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 ptr @memmove(ptr, ptr, i64) declare i64 @strlen(ptr) declare i32 @strcmp(ptr, ptr) declare i32 @strncmp(ptr, ptr, i64) declare ptr @strstr(ptr, ptr) declare i32 @atoi(ptr) declare i32 @getchar() declare i32 @putchar(i32) declare void @win_open(i32, i32, i32, ptr) declare i32 @win_poll() declare void @win_present(ptr, i32, i32) declare i32 @win_running() declare void @win_close() declare void @win_held(ptr) declare i32 @win_key_char(i32) declare i32 @win_text(ptr, i32) declare void @win_mouse(ptr) declare void @win_pad(ptr) declare void @win_touch(ptr) declare void @win_cursor_mode(i32) declare ptr @snd_load(ptr) declare void @snd_play(ptr, i32, i32, i32) declare void @snd_stop(ptr) declare i32 @snd_playing(ptr) declare void @snd_set_volume(ptr, i32) declare void @snd_set_rate(ptr, i32) declare void @snd_set_pan(ptr, i32) declare ptr @hs_req_new(ptr, ptr) declare void @hs_req_header(ptr, ptr, ptr) declare void @hs_req_body(ptr, ptr, i32) declare void @hs_send(i32, ptr) declare i32 @hs_done(i32) declare i32 @hs_status(i32) declare ptr @hs_body(i32) declare i32 @hs_blen(i32) declare ptr @hs_header(i32, ptr) declare void @hs_free(i32) 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 @UnmapViewOfFile(ptr) 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 @lp_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 @lp_malloc(i64 368) %fd = getelementptr i8, ptr %d, i64 16 %h = call ptr @FindFirstFileA(ptr %pat, ptr %fd) call void @lp_free(ptr %pat) %bad = icmp eq ptr %h, inttoptr (i64 -1 to ptr) br i1 %bad, label %no, label %ok no: call void @lp_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 @lp_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, i32, ptr, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32 } %Cmp_Tok = type { i32, ptr, i32, i32, i32, i32, i32, i32, i32 } %Cmp_FileMap = type { ptr, ptr } %Cmp_PoFile = type { ptr, ptr, ptr, ptr, ptr, ptr, ptr, ptr, ptr, ptr } %Cmp_StrSet = type { ptr, i32 } %Cmp_Val = type { ptr, ptr, ptr, i32 } @g_g_lex_base = internal global i32 -1 @g_lx_start = internal global i32 0 @g_lx_line0 = internal global i32 0 @g_toks = internal global ptr null @g_g_diag_json = internal global i32 0 @g_g_dg_file = internal global ptr null @g_g_dg_line = internal global ptr null @g_g_dg_col = internal global ptr null @g_g_dg_sev = internal global ptr null @g_g_dg_msg = internal global ptr null @g_g_dg_errors = internal global i32 0 @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_float_files = internal global ptr null @g_g_uses_bytes = internal global i32 0 @g_g_trusted_files = internal global ptr null @g_g_unsafe_all = internal global i32 0 @g_g_fm_mod = internal global ptr null @g_g_fm_pkg = internal global ptr null @g_g_fm_trusted = internal global ptr null @g_g_fm_src = internal global ptr null @g_g_mod_file = internal global ptr null @g_g_mod_name = internal global ptr null @g_g_mod_friends = internal global ptr null @g_g_fm_float = 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_g_interp_pos = internal global i32 -1 @g_g_hole_base = 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_rng = internal global i32 0 @g_g_rt_wants = internal global ptr null @g_g_uses_xml = internal global i32 0 @g_g_uses_base64 = internal global i32 0 @g_g_uses_tiled = internal global i32 0 @g_g_uses_atlas = internal global i32 0 @g_g_uses_reflect_io = internal global i32 0 @g_g_uses_esys = internal global i32 0 @g_g_uses_input = internal global i32 0 @g_g_has_clear_color = internal global i32 0 @g_g_clear_color = internal global ptr null @g_g_warned_draw_sprite = internal global i32 0 @g_g_uses_world_despawn = internal global i32 0 @g_g_uses_anim_rt = internal global i32 0 @g_g_uses_tween_rt = internal global i32 0 @g_g_uses_fx = internal global i32 0 @g_g_uses_audio = internal global i32 0 @g_g_uses_http = internal global i32 0 @g_g_uses_udp = internal global i32 0 @g_g_uses_process = internal global i32 0 @g_g_uses_gl = internal global i32 0 @g_g_uses_vk = internal global i32 0 @g_g_mod_sys_fn = internal global ptr null @g_g_mod_sys_phase = internal global ptr null @g_g_esys_comp = internal global ptr null @g_g_esys_fn = internal global ptr null @g_g_esys_phase = internal global ptr null @g_g_namespaces = internal global ptr null @g_g_ns_blocks = internal global ptr null @g_g_ns_exports = internal global ptr null @g_g_disabled_sys = internal global ptr null @g_g_gi_name = internal global ptr null @g_g_gi_gen = internal global ptr null @g_g_gi_args = internal global ptr null @g_g_gi_open = internal global ptr null @g_g_gi_file = internal global ptr null @g_g_gi_line = internal global ptr null @g_g_gen_tps = internal global ptr null @g_g_al_ns = internal global ptr null @g_g_al_meth = internal global ptr null @g_g_al_target = internal global ptr null @g_g_al_labels = internal global ptr null @g_g_al_file = internal global ptr null @g_g_mu_mod = internal global ptr null @g_g_mu_list = internal global ptr null @g_g_mu_file = internal global ptr null @g_g_mu_line = internal global ptr null @g_g_fr_scope = internal global ptr null @g_g_ly_mod = internal global ptr null @g_g_ly_name = internal global ptr null @g_g_pk_file = internal global ptr null @g_g_pk_name = internal global ptr null @g_g_mu_done = internal global ptr null @g_g_native_libs = internal global ptr null @g_g_native_pkgs = internal global ptr null @g_g_pt_name = internal global ptr null @g_g_pt_comp = internal global ptr null @g_g_pt_var = internal global ptr null @g_g_pt_bind = internal global ptr null @g_g_bd = internal global ptr null @g_g_rn_mod = internal global ptr null @g_g_rn_old = internal global ptr null @g_g_rn_new = internal global ptr null @g_g_rn_fn = internal global ptr null @g_g_rt_mod = internal global ptr null @g_g_rt_old = internal global ptr null @g_g_rt_new = internal global ptr null @g_g_re_mod = internal global ptr null @g_g_re_old = internal global ptr null @g_g_re_new = internal global ptr null @g_g_state_names = internal global ptr null @g_g_allow_globals = internal global i32 0 @g_g_gen_nodes = internal global i32 0 @g_g_act_names = internal global ptr null @g_g_act_nodes = internal global ptr null @g_g_red_nodes = internal global ptr null @g_g_red_state = internal global ptr null @g_g_red_action = internal global ptr null @g_g_dsp_ids = internal global ptr null @g_g_dsp_names = internal global ptr null @g_g_dsp_at = internal global ptr null @g_g_act_main = internal global ptr null @g_g_migrate = internal global i32 0 @g_g_mg_runtime = internal global i32 0 @g_g_mg_prune = internal global i32 0 @g_g_mg_tighten = internal global i32 0 @g_g_ma_node = internal global ptr null @g_g_ma_call = internal global ptr null @g_g_ma_state = internal global ptr null @g_g_ma_excess = internal global ptr null @g_g_mg_plan = internal global ptr null @g_g_mg_vars = internal global ptr null @g_g_mg_vstate = internal global ptr null @g_g_mg_written = internal global ptr null @g_g_mg_let = internal global ptr null @g_g_mr_unit = internal global ptr null @g_g_ms_name = internal global ptr null @g_g_ms_mod = internal global ptr null @g_g_ms_param = internal global ptr null @g_g_ms_export = internal global ptr null @g_g_mu_node = internal global ptr null @g_g_mu_kind = internal global ptr null @g_g_mu_need = internal global ptr null @g_g_mu_mut = internal global ptr null @g_g_mg_cur = internal global i32 -1 @g_g_mc_call = internal global ptr null @g_g_mc_unit = internal global ptr null @g_g_mc_callee = internal global ptr null @g_g_mr_node = internal global ptr null @g_g_mr_var = internal global ptr null @g_g_mr_ui = internal global ptr null @g_g_mg_report = internal global ptr null @g_g_mg_entry = internal global ptr null @g_g_mg_fv_name = internal global ptr null @g_g_mg_fv_node = internal global ptr null @g_g_mc_passed = internal global ptr null @g_g_mg_lines = internal global ptr null @g_g_mg_keys = internal global ptr null @g_g_mv_need = internal global ptr null @g_g_mv_mut = internal global ptr null @g_g_mcm_need = internal global ptr null @g_g_mcm_mut = internal global ptr null @g_g_mg_pbv = internal global ptr null @g_g_rg_name = internal global ptr null @g_g_rg_type = internal global ptr null @g_g_rg_prefix = internal global ptr null @g_g_rg_var = internal global ptr null @g_g_rg_open = internal global ptr null @g_g_rg_from = internal global ptr null @g_g_rg_at = internal global ptr null @g_g_df_reg = internal global ptr null @g_g_df_key = internal global ptr null @g_g_df_rec = internal global ptr null @g_g_df_kline = internal global ptr null @g_g_df_kcol = internal global ptr null @g_g_df_src = internal global ptr null @g_g_df_via = internal global ptr null @g_g_at_start = internal global ptr null @g_g_at_count = internal global ptr null @g_g_at_name = internal global ptr null @g_g_at_args = internal global ptr null @g_g_at_first = internal global ptr null @g_g_at_nargs = internal global ptr null @g_g_at_unres = internal global ptr null @g_g_at_open = internal global i32 -1 @g_g_at_decl = internal global ptr null @g_g_at_keep = internal global i32 0 @g_g_at_arg0 = internal global ptr null @g_g_at_argn = internal global i32 0 @g_g_at_allnum = internal global i32 1 @g_g_at_allid = internal global i32 1 @g_g_at_allstr = internal global i32 1 @g_g_at_strs = internal global ptr null @g_g_at_strs_next = internal global i32 0 @g_g_at_decl_args = internal global ptr null @g_g_res_mode = internal global i32 0 @g_g_pm_pending = internal global i32 0 @g_g_pm_chunk_pending = internal global i32 0 @g_g_rg_permap = internal global ptr null @g_g_rg_chunk = internal global ptr null @g_g_pm_any = internal global i32 0 @g_g_pm_root = internal global ptr null @g_g_pm_no_maps = internal global i32 0 @g_g_pm_recs = internal global ptr null @g_g_pm_pooled = internal global ptr null @g_g_pm_fnty = internal global ptr null @g_g_pmc_ival = internal global i32 0 @g_g_pmc_fval = internal global ptr null @g_g_pmc_names = internal global ptr null @g_g_pmc_isf = internal global ptr null @g_g_pmc_iv = internal global ptr null @g_g_pmc_ftext = internal global ptr null @g_g_pmc_all = internal global ptr null @g_g_pmc_node = internal global ptr null @g_g_pmk_reg = internal global ptr null @g_g_pmk_key = internal global ptr null @g_g_pmk_rec = internal global ptr null @g_g_pmk_kline = internal global ptr null @g_g_pmk_kcol = internal global ptr null @g_g_pmk_file = internal global ptr null @g_g_pmk_ref_reg = internal global ptr null @g_g_pmk_ref_key = internal global ptr null @g_g_pmk_ref_at = internal global ptr null @g_g_pmk_mod = internal global ptr null @g_g_pmk_md = internal global ptr null @g_g_vw_name = internal global ptr null @g_g_vw_node = internal global ptr null @g_g_vw_fields = internal global ptr null @g_g_vw_fnames = internal global ptr null @g_g_vw_calls = internal global ptr null @g_g_vw_cnames = internal global ptr null @g_g_vw_helpers = internal global ptr null @g_g_vw_hdr = internal global ptr null @g_g_vw_nps = internal global ptr null @g_g_vw_ps = internal global ptr null @g_g_cm_name = internal global ptr null @g_g_cm_file = internal global ptr null @g_g_cm_line = internal global ptr null @g_g_cm_vis = internal global ptr null @g_g_cm_keep = internal global ptr null @g_g_cm_keep_ty = internal global ptr null @g_g_cm_prop = internal global ptr null @g_g_cm_defs = internal global ptr null @g_g_cm_fields = internal global ptr null @g_g_cm_fnames = internal global ptr null @g_g_cm_calls = internal global ptr null @g_g_cm_cnames = internal global ptr null @g_g_cm_head = internal global ptr null @g_g_cm_hdr = internal global ptr null @g_g_cm_ps = internal global ptr null @g_g_cm_at = internal global ptr null @g_g_cm_kat = internal global ptr null @g_g_cm_fline = internal global ptr null @g_g_cm_isev = internal global ptr null @g_g_cm_xml_path = internal global ptr null @g_g_cm_lss_path = internal global ptr null @g_g_cm_xml = internal global ptr null @g_g_po_cid = internal global ptr null @g_g_po_cpl = internal global i32 0 @g_g_po_cstr = internal global ptr null @g_g_po_cfuzzy = internal global i32 0 @g_g_po_cdesc = internal global ptr null @g_g_po_cctxt = internal global ptr null @g_g_po_cline = internal global i32 0 @g_g_po_field = internal global i32 0 @g_g_po_form = internal global i32 0 @g_g_po_seen_str = internal global i32 0 @g_g_i18n_on = internal global i32 0 @g_g_i18n_dir = internal global ptr null @g_g_i18n_src = internal global ptr null @g_g_i18n_en = internal global ptr null @g_g_i18n_en_path = internal global ptr null @g_g_i18n_nopo_warned = internal global i32 0 @g_g_i18n_english_left = internal global i32 0 @g_g_i18n_done = internal global i32 0 @g_g_rg_textkey = internal global ptr null @g_g_tk_pending = internal global ptr null @g_g_ks_key = internal global ptr null @g_g_ks_kind = internal global ptr null @g_g_ks_file = internal global ptr null @g_g_ks_line = internal global ptr null @g_g_ks_col = internal global ptr null @g_g_ks_seen = internal global ptr null @g_g_i18n_what = internal global ptr null @g_g_xk_src = internal global ptr null @g_g_xk_file = internal global ptr null @g_g_xk_i = internal global i32 0 @g_g_xk_n = internal global i32 0 @g_g_xk_at_line = internal global i32 0 @g_g_xk_at_col = internal global i32 0 @g_g_xk_last_open = internal global i32 0 @g_g_xk_last_name = 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_heap = internal global i32 0 @g_g_uses_relief = 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_bounds = internal global i32 0 @g_g_fprintf_declared = internal global i32 0 @g_g_bounds = internal global i32 1 @g_g_uses_result = internal global i32 0 @g_g_uses_option = internal global i32 0 @g_g_uses_quit = 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_ix_on = internal global i32 0 @g_g_ix_tagged = internal global ptr null @g_g_ix_upto = internal global i32 0 @g_g_ix_keys = internal global ptr null @g_g_ix_vals = internal global ptr null @g_g_ix_miss = internal global i32 0 @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_ret_label = internal global ptr null @g_g_cancel_addr = internal global ptr null @g_g_toggled_layers = internal global ptr null @g_loc_blk = internal global ptr null @g_g_blk_cur = internal global i32 0 @g_g_blk_next = internal global i32 0 @g_g_site_fn = internal global ptr null @g_g_site_file = internal global ptr null @g_g_site_line = internal global ptr null @g_g_site_kind = internal global ptr null @g_g_site_owner = internal global ptr null @g_g_owner_names = internal global ptr null @g_g_cur_fn_name = internal global ptr null @g_g_site_fnc = internal global ptr null @g_g_site_filen = internal global ptr null @g_g_site_filec = internal global ptr null @g_g_site_kinds = internal global ptr null @g_g_site_kindc = internal global ptr null @g_g_site_next = internal global ptr null @g_g_atexit_declared = internal global i32 0 @g_g_mzs_declared = internal global i32 0 @g_g_fence_mode = internal global i32 0 @g_g_fence_warm = internal global i32 600 @g_g_fence_census = internal global ptr null @g_g_fence_flagged = internal global i32 0 @g_g_scan_roots = internal global ptr null @g_g_cap_keys = internal global ptr null @g_g_cap_vals = internal global ptr null @g_g_push_cap = internal global i32 0 @g_g_push_capname = internal global ptr null @g_g_arena = internal global i32 0 @g_g_mmap_declared = internal global i32 0 @g_g_es_node = internal global ptr null @g_g_es_walked = internal global i32 0 @g_g_site_reset = internal global i32 0 @g_g_alloc_ok_names = internal global ptr null @g_g_frame_fields = internal global ptr null @g_g_aok_pending = internal global i32 0 @g_g_aok_seen = internal global i32 0 @g_g_fr_root = internal global ptr null @g_g_fr_from = internal global ptr null @g_g_arena_strict = internal global i32 0 @g_g_es_flag = internal global ptr null @g_g_es_why = internal global ptr null @g_g_es_own = internal global ptr null @g_g_es_gname = internal global ptr null @g_g_es_gcls = internal global ptr null @g_g_es_ok = internal global ptr null @g_g_es_ov = internal global ptr null @g_g_es_swhy = internal global ptr null @g_g_es_stmt = internal global ptr null @g_g_es_aok = internal global i32 0 @g_g_es_site_aok = internal global ptr null @g_g_es_site_grow = internal global ptr null @g_g_es_done = internal global i32 0 @g_g_es_fnrefs = internal global ptr null @g_g_es_consumed = internal global ptr null @g_g_es_ft = internal global ptr null @g_g_es_ff = internal global ptr null @g_g_es_st = internal global ptr null @g_g_es_sv = internal global ptr null @g_g_es_site = internal global ptr null @g_g_es_site_cls = internal global ptr null @g_g_es_site_fn = internal global ptr null @g_g_es_fk = internal global ptr null @g_g_es_fv = internal global ptr null @g_g_es_fparam = internal global ptr null @g_g_es_fret = internal global ptr null @g_g_es_fnode = internal global ptr null @g_g_es_fspans = internal global ptr null @g_g_es_calls_f = internal global ptr null @g_g_es_calls_t = internal global ptr null @g_g_es_ln = internal global ptr null @g_g_es_lc = internal global ptr null @g_g_es_lt = internal global ptr null @g_g_es_cur = internal global i32 -1 @g_g_es_heap = internal global i32 -1 @g_g_es_local_n = internal global i32 0 @g_g_es_esc_n = internal global i32 0 @g_g_es_report = internal global i32 0 @g_g_res_make_fn = internal global ptr null @g_g_res_make_kind = internal global ptr null @g_g_res_free_fn = internal global ptr null @g_g_res_free_kind = internal global ptr null @g_g_res_pending_make = internal global ptr null @g_g_res_pending_free = internal global ptr null @g_g_own_type = internal global ptr null @g_g_own_field = internal global ptr null @g_g_own_kind = internal global ptr null @g_g_own_pending = internal global ptr null @g_g_res_drops = internal global i32 0 @g_g_own_leaks = internal global i32 0 @g_g_gi_idx_k = internal global ptr null @g_g_gi_idx_v = internal global ptr null @g_g_gi_fn_seen = internal global ptr null @g_g_gi_state = internal global ptr null @g_g_gi_out = internal global ptr null @g_g_dp_on = internal global i32 -1 @g_g_dp_key = internal global ptr null @g_g_dp_cnt = internal global ptr null @g_g_dp_name = internal global ptr null @g_g_dp_writes = internal global ptr null @g_g_dp_al_local = internal global ptr null @g_g_dp_al_owner = internal global ptr null @g_g_dp_al_global = internal global ptr null @g_g_dp_aliases = internal global ptr null @g_g_dp_st_field = internal global ptr null @g_g_dr_name = internal global ptr null @g_g_dr_node = internal global ptr null @g_g_dr_refs = internal global ptr null @g_g_dr_bits = internal global ptr null @g_g_dr_wbits = internal global ptr null @g_g_dr_find_k = internal global ptr null @g_g_dr_rl_name = internal global ptr null @g_g_dr_rl_reg = internal global ptr null @g_g_dr_find_v = internal global ptr null @g_g_dr_disp = internal global i32 0 @g_g_dr_disp_of = internal global ptr null @g_g_dr_root = internal global ptr null @g_g_dr_hf = internal global ptr null @g_g_dr_locals = internal global ptr null @g_g_dr_bits2 = internal global ptr null @g_g_dr_cur2 = internal global ptr null @g_g_dr_refs2 = internal global ptr null @g_g_dr_wbits2 = internal global ptr null @g_g_addr_ty = internal global ptr null @g_g_intrin_ok = internal global i32 0 @g_g_windowed = internal global i32 0 @g_g_target_win = internal global i32 0 @g_g_det_names = internal global ptr null @g_g_det_ctx = internal global ptr null @g_g_warn_promote = internal global i32 -1 @g_g_uses_fpstr = internal global i32 0 @g_g_fp_decls = internal global ptr null @g_g_prevals = internal global ptr null @g_g_uses_expect_fp = internal global i32 0 @g_g_uses_expect_str = internal global i32 0 @g_g_inj_done = internal global ptr null @g_g_vis_report = internal global i32 -1 @g_g_vis_off = internal global i32 0 @g_g_schema_out = internal global ptr null @g_g_sn_tag = internal global ptr null @g_g_sn_via = internal global ptr null @g_g_sn_fn = internal global ptr null @g_g_sn_call = internal global ptr null @g_g_release = internal global i32 0 @g_g_uses_schema_hash = internal global i32 0 @g_g_sh_lo = internal global i32 0 @g_g_sh_hi = internal global i32 0 @g_g_sh_done = internal global i32 0 @g_ck_ro = internal global ptr null @g_ck_alias = internal global ptr null @g_ck_ro_st = internal global ptr null @g_ck_from_st = internal global ptr null @g_ck_fn_k = internal global ptr null @g_ck_fn_v = internal global ptr null @g_ck_gl_k = internal global ptr null @g_ck_gl_v = internal global ptr null @g_ck_rec_k = internal global ptr null @g_ck_rec_v = internal global ptr null @g_ck_en_k = internal global ptr null @g_ck_en_v = internal global ptr null @g_ck_ex_k = internal global ptr null @g_ck_ex_v = internal global ptr null @g_ck_extern_arg = internal global i32 0 @g_ck_names = internal global ptr null @g_ck_tys = internal global ptr null @g_ck_ret = internal global ptr null @g_ck_errors = internal global i32 0 @g_ck_report = internal global i32 -1 @g_ck_top = internal global i32 0 @g_g_check_only = internal global i32 0 @g_ck_vis_file = internal global ptr null @g_ck_vis_skip = internal global i32 0 @g_ck_shadow_seen = internal global ptr null @g_g_gen_recs = internal global ptr null @g_g_gen_fns = internal global ptr null @g_g_gen_out = internal global ptr null @g_g_gen_work = internal global ptr null @g_ck_expect = internal global ptr null @g_ck_call_expect = internal global ptr null @g_ck_ty_k = internal global ptr null @g_ck_ty_v = internal global ptr null @g_ck_unsafe = internal global i32 0 @g_g_mach_ty = internal global ptr null @g_g_iok = internal global i32 0 @g_g_snap_mode = internal global ptr null @g_g_off = internal global ptr null @g_g_uses_loopback = internal global i32 0 @g_uiw = internal global ptr null @g_uiw_parent = internal global ptr null @g_ui_roots = internal global ptr null @.str0 = private unnamed_addr constant [5 x i8] c"itoa\00" @.str1 = private unnamed_addr constant [27 x i8] c"build/cfree/selfhost.ludic\00" @.str2 = private unnamed_addr constant [6 x i8] c"alloc\00" @.str3 = private unnamed_addr constant [8 x i8] c"buf_new\00" @.str4 = private unnamed_addr constant [8 x i8] c"new Buf\00" @.str5 = private unnamed_addr constant [11 x i8] c"buf_ensure\00" @.str6 = private unnamed_addr constant [5 x i8] c"grow\00" @.str7 = private unnamed_addr constant [3 x i8] c"rb\00" @.str8 = private unnamed_addr constant [10 x i8] c"read_file\00" @.str9 = private unnamed_addr constant [9 x i8] c"pak_open\00" @.str10 = private unnamed_addr constant [5 x i8] c"node\00" @.str11 = private unnamed_addr constant [9 x i8] c"new Node\00" @.str12 = private unnamed_addr constant [11 x i8] c"new []Node\00" @.str13 = private unnamed_addr constant [53 x i8] c"build/cfree/selfhost.ludic:211: index out of range: \00" @.str14 = private unnamed_addr constant [10 x i8] c"win_stdio\00" @.str15 = private unnamed_addr constant [53 x i8] c"build/cfree/selfhost.ludic:212: index out of range: \00" @.str16 = private unnamed_addr constant [53 x i8] c"build/cfree/selfhost.ludic:213: index out of range: \00" @.str17 = private unnamed_addr constant [9 x i8] c"tok_push\00" @.str18 = private unnamed_addr constant [8 x i8] c"new Tok\00" @.str19 = private unnamed_addr constant [10 x i8] c"lex_error\00" @.str20 = private unnamed_addr constant [23 x i8] c"unexpected character '\00" @.str21 = private unnamed_addr constant [7 x i8] c"concat\00" @.str22 = private unnamed_addr constant [9 x i8] c"' (byte \00" @.str23 = private unnamed_addr constant [10 x i8] c"string(n)\00" @.str24 = private unnamed_addr constant [2 x i8] c")\00" @.str25 = private unnamed_addr constant [6 x i8] c"error\00" @.str26 = private unnamed_addr constant [2 x i8] c":\00" @.str27 = private unnamed_addr constant [9 x i8] c"lex_fail\00" @.str28 = private unnamed_addr constant [10 x i8] c": error: \00" @.str29 = private unnamed_addr constant [2 x i8] c"\0A\00" @.str30 = private unnamed_addr constant [7 x i8] c"lex_at\00" @.str31 = private unnamed_addr constant [10 x i8] c"new []Tok\00" @.str32 = private unnamed_addr constant [53 x i8] c"build/cfree/selfhost.ludic:358: index out of range: \00" @.str33 = private unnamed_addr constant [53 x i8] c"build/cfree/selfhost.ludic:359: index out of range: \00" @.str34 = private unnamed_addr constant [52 x i8] c"unterminated character literal (expected closing ')\00" @.str35 = private unnamed_addr constant [10 x i8] c"substring\00" @.str36 = private unnamed_addr constant [49 x i8] c"a key literal is never closed with \22 on its line\00" @.str37 = private unnamed_addr constant [53 x i8] c"build/cfree/selfhost.ludic:504: index out of range: \00" @.str38 = private unnamed_addr constant [53 x i8] c"build/cfree/selfhost.ludic:505: index out of range: \00" @.str39 = private unnamed_addr constant [1 x i8] c"\00" @.str40 = private unnamed_addr constant [53 x i8] c"build/cfree/selfhost.ludic:532: index out of range: \00" @.str41 = private unnamed_addr constant [9 x i8] c"diag_add\00" @.str42 = private unnamed_addr constant [53 x i8] c"build/cfree/selfhost.ludic:532: index out of range: \00" @.str43 = private unnamed_addr constant [53 x i8] c"build/cfree/selfhost.ludic:532: index out of range: \00" @.str44 = private unnamed_addr constant [53 x i8] c"build/cfree/selfhost.ludic:532: index out of range: \00" @.str45 = private unnamed_addr constant [53 x i8] c"build/cfree/selfhost.ludic:532: index out of range: \00" @.str46 = private unnamed_addr constant [6 x i8] c"error\00" @.str47 = private unnamed_addr constant [10 x i8] c"diag_trim\00" @.str48 = private unnamed_addr constant [3 x i8] c"\5C\22\00" @.str49 = private unnamed_addr constant [3 x i8] c"\5C\5C\00" @.str50 = private unnamed_addr constant [3 x i8] c"\5Cn\00" @.str51 = private unnamed_addr constant [3 x i8] c"\5Ct\00" @.str52 = private unnamed_addr constant [3 x i8] c"\5Cr\00" @.str53 = private unnamed_addr constant [5 x i8] c"\5Cu00\00" @.str54 = private unnamed_addr constant [2 x i8] c"[\00" @.str55 = private unnamed_addr constant [2 x i8] c",\00" @.str56 = private unnamed_addr constant [13 x i8] c"\0A {\22file\22: \00" @.str57 = private unnamed_addr constant [53 x i8] c"build/cfree/selfhost.ludic:583: index out of range: \00" @.str58 = private unnamed_addr constant [11 x i8] c"diag_flush\00" @.str59 = private unnamed_addr constant [11 x i8] c", \22line\22: \00" @.str60 = private unnamed_addr constant [53 x i8] c"build/cfree/selfhost.ludic:585: index out of range: \00" @.str61 = private unnamed_addr constant [10 x i8] c", \22col\22: \00" @.str62 = private unnamed_addr constant [53 x i8] c"build/cfree/selfhost.ludic:587: index out of range: \00" @.str63 = private unnamed_addr constant [15 x i8] c", \22severity\22: \00" @.str64 = private unnamed_addr constant [53 x i8] c"build/cfree/selfhost.ludic:589: index out of range: \00" @.str65 = private unnamed_addr constant [14 x i8] c", \22message\22: \00" @.str66 = private unnamed_addr constant [53 x i8] c"build/cfree/selfhost.ludic:591: index out of range: \00" @.str67 = private unnamed_addr constant [2 x i8] c"}\00" @.str68 = private unnamed_addr constant [2 x i8] c"\0A\00" @.str69 = private unnamed_addr constant [3 x i8] c"]\0A\00" @.str70 = private unnamed_addr constant [1 x i8] c"\00" @.str71 = private unnamed_addr constant [7 x i8] c"fm_new\00" @.str72 = private unnamed_addr constant [12 x i8] c"new FileMap\00" @.str73 = private unnamed_addr constant [14 x i8] c"new []pointer\00" @.str74 = private unnamed_addr constant [53 x i8] c"build/cfree/selfhost.ludic:664: index out of range: \00" @.str75 = private unnamed_addr constant [8 x i8] c"fm_slot\00" @.str76 = private unnamed_addr constant [53 x i8] c"build/cfree/selfhost.ludic:664: index out of range: \00" @.str77 = private unnamed_addr constant [53 x i8] c"build/cfree/selfhost.ludic:671: index out of range: \00" @.str78 = private unnamed_addr constant [7 x i8] c"fm_put\00" @.str79 = private unnamed_addr constant [53 x i8] c"build/cfree/selfhost.ludic:672: index out of range: \00" @.str80 = private unnamed_addr constant [1 x i8] c"\00" @.str81 = private unnamed_addr constant [53 x i8] c"build/cfree/selfhost.ludic:677: index out of range: \00" @.str82 = private unnamed_addr constant [7 x i8] c"fm_get\00" @.str83 = private unnamed_addr constant [1 x i8] c"\00" @.str84 = private unnamed_addr constant [53 x i8] c"build/cfree/selfhost.ludic:678: index out of range: \00" @.str85 = private unnamed_addr constant [11 x i8] c"trust_file\00" @.str86 = private unnamed_addr constant [2 x i8] c"1\00" @.str87 = private unnamed_addr constant [11 x i8] c"module_set\00" @.str88 = private unnamed_addr constant [1 x i8] c"\00" @.str89 = private unnamed_addr constant [15 x i8] c"float_file_add\00" @.str90 = private unnamed_addr constant [2 x i8] c"1\00" @.str91 = private unnamed_addr constant [53 x i8] c"build/cfree/selfhost.ludic:710: index out of range: \00" @.str92 = private unnamed_addr constant [4 x i8] c"cur\00" @.str93 = private unnamed_addr constant [53 x i8] c"build/cfree/selfhost.ludic:711: index out of range: \00" @.str94 = private unnamed_addr constant [3 x i8] c"pk\00" @.str95 = private unnamed_addr constant [53 x i8] c"build/cfree/selfhost.ludic:712: index out of range: \00" @.str96 = private unnamed_addr constant [6 x i8] c"is_op\00" @.str97 = private unnamed_addr constant [53 x i8] c"build/cfree/selfhost.ludic:713: index out of range: \00" @.str98 = private unnamed_addr constant [6 x i8] c"is_id\00" @.str99 = private unnamed_addr constant [53 x i8] c"build/cfree/selfhost.ludic:723: index out of range: \00" @.str100 = private unnamed_addr constant [5 x i8] c"perr\00" @.str101 = private unnamed_addr constant [53 x i8] c"build/cfree/selfhost.ludic:723: index out of range: \00" @.str102 = private unnamed_addr constant [1 x i8] c"\00" @.str103 = private unnamed_addr constant [6 x i8] c"error\00" @.str104 = private unnamed_addr constant [2 x i8] c":\00" @.str105 = private unnamed_addr constant [10 x i8] c": error: \00" @.str106 = private unnamed_addr constant [2 x i8] c"\0A\00" @.str107 = private unnamed_addr constant [1 x i8] c"\00" @.str108 = private unnamed_addr constant [6 x i8] c"error\00" @.str109 = private unnamed_addr constant [2 x i8] c":\00" @.str110 = private unnamed_addr constant [8 x i8] c"perr_at\00" @.str111 = private unnamed_addr constant [10 x i8] c": error: \00" @.str112 = private unnamed_addr constant [2 x i8] c"\0A\00" @.str113 = private unnamed_addr constant [1 x i8] c"\00" @.str114 = private unnamed_addr constant [8 x i8] c"warning\00" @.str115 = private unnamed_addr constant [2 x i8] c":\00" @.str116 = private unnamed_addr constant [9 x i8] c"pwarn_at\00" @.str117 = private unnamed_addr constant [12 x i8] c": warning: \00" @.str118 = private unnamed_addr constant [2 x i8] c"\0A\00" @.str119 = private unnamed_addr constant [53 x i8] c"build/cfree/selfhost.ludic:762: index out of range: \00" @.str120 = private unnamed_addr constant [9 x i8] c"tok_desc\00" @.str121 = private unnamed_addr constant [12 x i8] c"end of file\00" @.str122 = private unnamed_addr constant [12 x i8] c"end of line\00" @.str123 = private unnamed_addr constant [8 x i8] c"number \00" @.str124 = private unnamed_addr constant [9 x i8] c"string \22\00" @.str125 = private unnamed_addr constant [2 x i8] c"\22\00" @.str126 = private unnamed_addr constant [2 x i8] c"'\00" @.str127 = private unnamed_addr constant [2 x i8] c"'\00" @.str128 = private unnamed_addr constant [11 x i8] c"expected '\00" @.str129 = private unnamed_addr constant [7 x i8] c"eat_op\00" @.str130 = private unnamed_addr constant [8 x i8] c"', got \00" @.str131 = private unnamed_addr constant [53 x i8] c"build/cfree/selfhost.ludic:771: index out of range: \00" @.str132 = private unnamed_addr constant [7 x i8] c"eat_id\00" @.str133 = private unnamed_addr constant [29 x i8] c"expected an identifier, got \00" @.str134 = private unnamed_addr constant [53 x i8] c"build/cfree/selfhost.ludic:776: index out of range: \00" @.str135 = private unnamed_addr constant [7 x i8] c"skipnl\00" @.str136 = private unnamed_addr constant [7 x i8] c"floats\00" @.str137 = private unnamed_addr constant [8 x i8] c"[]float\00" @.str138 = private unnamed_addr constant [6 x i8] c"words\00" @.str139 = private unnamed_addr constant [6 x i8] c"[]int\00" @.str140 = private unnamed_addr constant [7 x i8] c"fixeds\00" @.str141 = private unnamed_addr constant [8 x i8] c"[]fixed\00" @.str142 = private unnamed_addr constant [8 x i8] c"doubles\00" @.str143 = private unnamed_addr constant [9 x i8] c"[]double\00" @.str144 = private unnamed_addr constant [9 x i8] c"pointers\00" @.str145 = private unnamed_addr constant [10 x i8] c"[]pointer\00" @.str146 = private unnamed_addr constant [53 x i8] c"build/cfree/selfhost.ludic:790: index out of range: \00" @.str147 = private unnamed_addr constant [6 x i8] c"ptype\00" @.str148 = private unnamed_addr constant [3 x i8] c"fn\00" @.str149 = private unnamed_addr constant [53 x i8] c"build/cfree/selfhost.ludic:790: index out of range: \00" @.str150 = private unnamed_addr constant [2 x i8] c"(\00" @.str151 = private unnamed_addr constant [2 x i8] c"(\00" @.str152 = private unnamed_addr constant [4 x i8] c"fn(\00" @.str153 = private unnamed_addr constant [2 x i8] c")\00" @.str154 = private unnamed_addr constant [2 x i8] c",\00" @.str155 = private unnamed_addr constant [2 x i8] c",\00" @.str156 = private unnamed_addr constant [2 x i8] c")\00" @.str157 = private unnamed_addr constant [5 x i8] c"void\00" @.str158 = private unnamed_addr constant [3 x i8] c"->\00" @.str159 = private unnamed_addr constant [4 x i8] c")->\00" @.str160 = private unnamed_addr constant [2 x i8] c"[\00" @.str161 = private unnamed_addr constant [2 x i8] c"]\00" @.str162 = private unnamed_addr constant [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 [53 x i8] c"build/cfree/selfhost.ludic:835: index out of range: \00" @.str166 = private unnamed_addr constant [10 x i8] c"args_call\00" @.str167 = private unnamed_addr constant [53 x i8] c"build/cfree/selfhost.ludic:836: index out of range: \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 [11 x i8] c"interp_lit\00" @.str173 = private unnamed_addr constant [2 x i8] c"+\00" @.str174 = private unnamed_addr constant [7 x i8] c"string\00" @.str175 = private unnamed_addr constant [11 x i8] c"interp_str\00" @.str176 = private unnamed_addr constant [13 x i8] c"parse_interp\00" @.str177 = private unnamed_addr constant [2 x i8] c"(\00" @.str178 = private unnamed_addr constant [2 x i8] c")\00" @.str179 = private unnamed_addr constant [2 x i8] c":\00" @.str180 = private unnamed_addr constant [11 x i8] c"parse_emit\00" @.str181 = private unnamed_addr constant [2 x i8] c",\00" @.str182 = private unnamed_addr constant [2 x i8] c")\00" @.str183 = private unnamed_addr constant [53 x i8] c"build/cfree/selfhost.ludic:925: index out of range: \00" @.str184 = private unnamed_addr constant [11 x i8] c"parse_list\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 [53 x i8] c"build/cfree/selfhost.ludic:936: index out of range: \00" @.str190 = private unnamed_addr constant [10 x i8] c"p_primary\00" @.str191 = private unnamed_addr constant [2 x i8] c"[\00" @.str192 = private unnamed_addr constant [5 x i8] c"emit\00" @.str193 = private unnamed_addr constant [53 x i8] c"build/cfree/selfhost.ludic:939: index out of range: \00" @.str194 = private unnamed_addr constant [5 x i8] c"true\00" @.str195 = private unnamed_addr constant [6 x i8] c"false\00" @.str196 = private unnamed_addr constant [5 x i8] c"null\00" @.str197 = private unnamed_addr constant [4 x i8] c"new\00" @.str198 = private unnamed_addr constant [2 x i8] c"{\00" @.str199 = private unnamed_addr constant [6 x i8] c"spawn\00" @.str200 = private unnamed_addr constant [3 x i8] c"fn\00" @.str201 = private unnamed_addr constant [53 x i8] c"build/cfree/selfhost.ludic:952: index out of range: \00" @.str202 = private unnamed_addr constant [53 x i8] c"build/cfree/selfhost.ludic:952: index out of range: \00" @.str203 = private unnamed_addr constant [53 x i8] c"build/cfree/selfhost.ludic:952: index out of range: \00" @.str204 = private unnamed_addr constant [4 x i8] c"and\00" @.str205 = private unnamed_addr constant [53 x i8] c"build/cfree/selfhost.ludic:952: index out of range: \00" @.str206 = private unnamed_addr constant [3 x i8] c"or\00" @.str207 = private unnamed_addr constant [53 x i8] c"build/cfree/selfhost.ludic:952: index out of range: \00" @.str208 = private unnamed_addr constant [4 x i8] c"not\00" @.str209 = private unnamed_addr constant [53 x i8] c"build/cfree/selfhost.ludic:952: index out of range: \00" @.str210 = private unnamed_addr constant [3 x i8] c"in\00" @.str211 = private unnamed_addr constant [53 x i8] c"build/cfree/selfhost.ludic:952: index out of range: \00" @.str212 = private unnamed_addr constant [3 x i8] c"is\00" @.str213 = private unnamed_addr constant [4 x i8] c"try\00" @.str214 = private unnamed_addr constant [5 x i8] c"else\00" @.str215 = private unnamed_addr constant [37 x i8] c"try needs an `else { ... }` fallback\00" @.str216 = private unnamed_addr constant [8 x i8] c"text_of\00" @.str217 = private unnamed_addr constant [2 x i8] c"(\00" @.str218 = private unnamed_addr constant [2 x i8] c")\00" @.str219 = private unnamed_addr constant [2 x i8] c"{\00" @.str220 = private unnamed_addr constant [20 x i8] c"expected expression\00" @.str221 = private unnamed_addr constant [2 x i8] c".\00" @.str222 = private unnamed_addr constant [6 x i8] c"Regex\00" @.str223 = private unnamed_addr constant [7 x i8] c"Random\00" @.str224 = private unnamed_addr constant [3 x i8] c"Fs\00" @.str225 = private unnamed_addr constant [11 x i8] c"read_bytes\00" @.str226 = private unnamed_addr constant [12 x i8] c"write_bytes\00" @.str227 = private unnamed_addr constant [6 x i8] c"Build\00" @.str228 = private unnamed_addr constant [12 x i8] c"schema_hash\00" @.str229 = private unnamed_addr constant [7 x i8] c"BigInt\00" @.str230 = private unnamed_addr constant [8 x i8] c"Decimal\00" @.str231 = private unnamed_addr constant [5 x i8] c"Dict\00" @.str232 = private unnamed_addr constant [4 x i8] c"Set\00" @.str233 = private unnamed_addr constant [5 x i8] c"Huge\00" @.str234 = private unnamed_addr constant [6 x i8] c"Angle\00" @.str235 = private unnamed_addr constant [8 x i8] c"Percent\00" @.str236 = private unnamed_addr constant [4 x i8] c"Job\00" @.str237 = private unnamed_addr constant [8 x i8] c"Promise\00" @.str238 = private unnamed_addr constant [5 x i8] c"Sync\00" @.str239 = private unnamed_addr constant [6 x i8] c"Query\00" @.str240 = private unnamed_addr constant [8 x i8] c"Reflect\00" @.str241 = private unnamed_addr constant [6 x i8] c"Light\00" @.str242 = private unnamed_addr constant [6 x i8] c"Value\00" @.str243 = private unnamed_addr constant [5 x i8] c"Json\00" @.str244 = private unnamed_addr constant [4 x i8] c"Xml\00" @.str245 = private unnamed_addr constant [7 x i8] c"Base64\00" @.str246 = private unnamed_addr constant [6 x i8] c"Tiled\00" @.str247 = private unnamed_addr constant [7 x i8] c"Sprite\00" @.str248 = private unnamed_addr constant [6 x i8] c"sheet\00" @.str249 = private unnamed_addr constant [5 x i8] c"cell\00" @.str250 = private unnamed_addr constant [10 x i8] c"cell_span\00" @.str251 = private unnamed_addr constant [7 x i8] c"define\00" @.str252 = private unnamed_addr constant [6 x i8] c"named\00" @.str253 = private unnamed_addr constant [5 x i8] c"draw\00" @.str254 = private unnamed_addr constant [12 x i8] c"draw_scaled\00" @.str255 = private unnamed_addr constant [6 x i8] c"width\00" @.str256 = private unnamed_addr constant [7 x i8] c"height\00" @.str257 = private unnamed_addr constant [7 x i8] c"Assets\00" @.str258 = private unnamed_addr constant [8 x i8] c"Reflect\00" @.str259 = private unnamed_addr constant [10 x i8] c"serialize\00" @.str260 = private unnamed_addr constant [6 x i8] c"apply\00" @.str261 = private unnamed_addr constant [6 x i8] c"Input\00" @.str262 = private unnamed_addr constant [5 x i8] c"bind\00" @.str263 = private unnamed_addr constant [7 x i8] c"rebind\00" @.str264 = private unnamed_addr constant [5 x i8] c"poll\00" @.str265 = private unnamed_addr constant [5 x i8] c"down\00" @.str266 = private unnamed_addr constant [8 x i8] c"pressed\00" @.str267 = private unnamed_addr constant [7 x i8] c"record\00" @.str268 = private unnamed_addr constant [7 x i8] c"replay\00" @.str269 = private unnamed_addr constant [7 x i8] c"action\00" @.str270 = private unnamed_addr constant [9 x i8] c"bind_pad\00" @.str271 = private unnamed_addr constant [7 x i8] c"active\00" @.str272 = private unnamed_addr constant [13 x i8] c"just_pressed\00" @.str273 = private unnamed_addr constant [14 x i8] c"just_released\00" @.str274 = private unnamed_addr constant [6 x i8] c"Input\00" @.str275 = private unnamed_addr constant [9 x i8] c"key_down\00" @.str276 = private unnamed_addr constant [12 x i8] c"key_pressed\00" @.str277 = private unnamed_addr constant [13 x i8] c"key_released\00" @.str278 = private unnamed_addr constant [10 x i8] c"key_label\00" @.str279 = private unnamed_addr constant [6 x i8] c"press\00" @.str280 = private unnamed_addr constant [8 x i8] c"release\00" @.str281 = private unnamed_addr constant [5 x i8] c"axis\00" @.str282 = private unnamed_addr constant [7 x i8] c"axis_i\00" @.str283 = private unnamed_addr constant [7 x i8] c"vector\00" @.str284 = private unnamed_addr constant [9 x i8] c"strength\00" @.str285 = private unnamed_addr constant [8 x i8] c"mouse_x\00" @.str286 = private unnamed_addr constant [8 x i8] c"mouse_y\00" @.str287 = private unnamed_addr constant [9 x i8] c"mouse_dx\00" @.str288 = private unnamed_addr constant [9 x i8] c"mouse_dy\00" @.str289 = private unnamed_addr constant [11 x i8] c"mouse_down\00" @.str290 = private unnamed_addr constant [6 x i8] c"wheel\00" @.str291 = private unnamed_addr constant [10 x i8] c"set_mouse\00" @.str292 = private unnamed_addr constant [14 x i8] c"pad_connected\00" @.str293 = private unnamed_addr constant [11 x i8] c"pad_button\00" @.str294 = private unnamed_addr constant [9 x i8] c"pad_axis\00" @.str295 = private unnamed_addr constant [7 x i8] c"move_i\00" @.str296 = private unnamed_addr constant [8 x i8] c"set_pad\00" @.str297 = private unnamed_addr constant [12 x i8] c"touch_count\00" @.str298 = private unnamed_addr constant [8 x i8] c"touch_x\00" @.str299 = private unnamed_addr constant [8 x i8] c"touch_y\00" @.str300 = private unnamed_addr constant [10 x i8] c"set_touch\00" @.str301 = private unnamed_addr constant [12 x i8] c"cursor_mode\00" @.str302 = private unnamed_addr constant [5 x i8] c"Anim\00" @.str303 = private unnamed_addr constant [5 x i8] c"play\00" @.str304 = private unnamed_addr constant [5 x i8] c"clip\00" @.str305 = private unnamed_addr constant [9 x i8] c"on_frame\00" @.str306 = private unnamed_addr constant [6 x i8] c"fired\00" @.str307 = private unnamed_addr constant [7 x i8] c"Motion\00" @.str308 = private unnamed_addr constant [3 x i8] c"to\00" @.str309 = private unnamed_addr constant [6 x i8] c"Audio\00" @.str310 = private unnamed_addr constant [5 x i8] c"Http\00" @.str311 = private unnamed_addr constant [4 x i8] c"Udp\00" @.str312 = private unnamed_addr constant [8 x i8] c"Process\00" @.str313 = private unnamed_addr constant [3 x i8] c"Gl\00" @.str314 = private unnamed_addr constant [3 x i8] c"Vk\00" @.str315 = private unnamed_addr constant [6 x i8] c"Tween\00" @.str316 = private unnamed_addr constant [3 x i8] c"to\00" @.str317 = private unnamed_addr constant [6 x i8] c"chain\00" @.str318 = private unnamed_addr constant [6 x i8] c"delay\00" @.str319 = private unnamed_addr constant [6 x i8] c"value\00" @.str320 = private unnamed_addr constant [5 x i8] c"stop\00" @.str321 = private unnamed_addr constant [9 x i8] c"parallel\00" @.str322 = private unnamed_addr constant [3 x i8] c"Fx\00" @.str323 = private unnamed_addr constant [2 x i8] c"[\00" @.str324 = private unnamed_addr constant [3 x i8] c"..\00" @.str325 = private unnamed_addr constant [2 x i8] c"]\00" @.str326 = private unnamed_addr constant [2 x i8] c"]\00" @.str327 = private unnamed_addr constant [2 x i8] c"(\00" @.str328 = private unnamed_addr constant [54 x i8] c"build/cfree/selfhost.ludic:1032: index out of range: \00" @.str329 = private unnamed_addr constant [10 x i8] c"p_postfix\00" @.str330 = private unnamed_addr constant [12 x i8] c"draw_sprite\00" @.str331 = private unnamed_addr constant [19 x i8] c"draw_sprite_scaled\00" @.str332 = private unnamed_addr constant [2 x i8] c"-\00" @.str333 = private unnamed_addr constant [2 x i8] c"-\00" @.str334 = private unnamed_addr constant [2 x i8] c"~\00" @.str335 = private unnamed_addr constant [2 x i8] c"~\00" @.str336 = private unnamed_addr constant [4 x i8] c"not\00" @.str337 = private unnamed_addr constant [4 x i8] c"not\00" @.str338 = private unnamed_addr constant [2 x i8] c"*\00" @.str339 = private unnamed_addr constant [2 x i8] c"/\00" @.str340 = private unnamed_addr constant [2 x i8] c"%\00" @.str341 = private unnamed_addr constant [3 x i8] c"<<\00" @.str342 = private unnamed_addr constant [3 x i8] c">>\00" @.str343 = private unnamed_addr constant [2 x i8] c"&\00" @.str344 = private unnamed_addr constant [54 x i8] c"build/cfree/selfhost.ludic:1055: index out of range: \00" @.str345 = private unnamed_addr constant [6 x i8] c"p_mul\00" @.str346 = private unnamed_addr constant [2 x i8] c"+\00" @.str347 = private unnamed_addr constant [2 x i8] c"-\00" @.str348 = private unnamed_addr constant [2 x i8] c"|\00" @.str349 = private unnamed_addr constant [2 x i8] c"^\00" @.str350 = private unnamed_addr constant [54 x i8] c"build/cfree/selfhost.ludic:1061: index out of range: \00" @.str351 = private unnamed_addr constant [6 x i8] c"p_add\00" @.str352 = private unnamed_addr constant [2 x i8] c"<\00" @.str353 = private unnamed_addr constant [3 x i8] c"<=\00" @.str354 = private unnamed_addr constant [2 x i8] c">\00" @.str355 = private unnamed_addr constant [3 x i8] c">=\00" @.str356 = private unnamed_addr constant [3 x i8] c"==\00" @.str357 = private unnamed_addr constant [3 x i8] c"!=\00" @.str358 = private unnamed_addr constant [54 x i8] c"build/cfree/selfhost.ludic:1067: index out of range: \00" @.str359 = private unnamed_addr constant [6 x i8] c"p_cmp\00" @.str360 = private unnamed_addr constant [4 x i8] c"and\00" @.str361 = private unnamed_addr constant [4 x i8] c"and\00" @.str362 = private unnamed_addr constant [3 x i8] c"or\00" @.str363 = private unnamed_addr constant [3 x i8] c"or\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 [54 x i8] c"build/cfree/selfhost.ludic:1091: index out of range: \00" @.str368 = private unnamed_addr constant [7 x i8] c"record\00" @.str369 = private unnamed_addr constant [54 x i8] c"build/cfree/selfhost.ludic:1091: index out of range: \00" @.str370 = private unnamed_addr constant [2 x i8] c",\00" @.str371 = private unnamed_addr constant [2 x i8] c"}\00" @.str372 = private unnamed_addr constant [2 x i8] c"{\00" @.str373 = private unnamed_addr constant [2 x i8] c"}\00" @.str374 = private unnamed_addr constant [6 x i8] c"block\00" @.str375 = private unnamed_addr constant [54 x i8] c"build/cfree/selfhost.ludic:1106: index out of range: \00" @.str376 = private unnamed_addr constant [2 x i8] c"}\00" @.str377 = private unnamed_addr constant [43 x i8] c"expected newline or ';' between statements\00" @.str378 = private unnamed_addr constant [2 x i8] c"}\00" @.str379 = private unnamed_addr constant [2 x i8] c"@\00" @.str380 = private unnamed_addr constant [54 x i8] c"build/cfree/selfhost.ludic:1119: index out of range: \00" @.str381 = private unnamed_addr constant [5 x i8] c"stmt\00" @.str382 = private unnamed_addr constant [9 x i8] c"alloc_ok\00" @.str383 = private unnamed_addr constant [2 x i8] c"(\00" @.str384 = private unnamed_addr constant [72 x i8] c"@alloc_ok needs its reason: @alloc_ok(\22a memo miss, bounded by MM_CAP\22)\00" @.str385 = private unnamed_addr constant [2 x i8] c")\00" @.str386 = private unnamed_addr constant [54 x i8] c"build/cfree/selfhost.ludic:1128: index out of range: \00" @.str387 = private unnamed_addr constant [54 x i8] c"build/cfree/selfhost.ludic:1136: index out of range: \00" @.str388 = private unnamed_addr constant [10 x i8] c"stmt_body\00" @.str389 = private unnamed_addr constant [4 x i8] c"let\00" @.str390 = private unnamed_addr constant [4 x i8] c"var\00" @.str391 = private unnamed_addr constant [4 x i8] c"var\00" @.str392 = private unnamed_addr constant [54 x i8] c"build/cfree/selfhost.ludic:1140: index out of range: \00" @.str393 = private unnamed_addr constant [2 x i8] c":\00" @.str394 = private unnamed_addr constant [2 x i8] c"=\00" @.str395 = private unnamed_addr constant [7 x i8] c"return\00" @.str396 = private unnamed_addr constant [54 x i8] c"build/cfree/selfhost.ludic:1147: index out of range: \00" @.str397 = private unnamed_addr constant [2 x i8] c"}\00" @.str398 = private unnamed_addr constant [3 x i8] c"if\00" @.str399 = private unnamed_addr constant [5 x i8] c"else\00" @.str400 = private unnamed_addr constant [3 x i8] c"if\00" @.str401 = private unnamed_addr constant [6 x i8] c"while\00" @.str402 = private unnamed_addr constant [4 x i8] c"for\00" @.str403 = private unnamed_addr constant [2 x i8] c"(\00" @.str404 = private unnamed_addr constant [3 x i8] c"..\00" @.str405 = private unnamed_addr constant [6 x i8] c"spawn\00" @.str406 = private unnamed_addr constant [9 x i8] c"dispatch\00" @.str407 = private unnamed_addr constant [54 x i8] c"build/cfree/selfhost.ludic:1168: index out of range: \00" @.str408 = private unnamed_addr constant [8 x i8] c"machine\00" @.str409 = private unnamed_addr constant [2 x i8] c"{\00" @.str410 = private unnamed_addr constant [2 x i8] c"}\00" @.str411 = private unnamed_addr constant [2 x i8] c"=\00" @.str412 = private unnamed_addr constant [2 x i8] c"}\00" @.str413 = private unnamed_addr constant [5 x i8] c"emit\00" @.str414 = private unnamed_addr constant [54 x i8] c"build/cfree/selfhost.ludic:1184: index out of range: \00" @.str415 = private unnamed_addr constant [7 x i8] c"become\00" @.str416 = private unnamed_addr constant [8 x i8] c"despawn\00" @.str417 = private unnamed_addr constant [7 x i8] c"enable\00" @.str418 = private unnamed_addr constant [8 x i8] c"disable\00" @.str419 = private unnamed_addr constant [7 x i8] c"enable\00" @.str420 = private unnamed_addr constant [6 x i8] c"layer\00" @.str421 = private unnamed_addr constant [6 x i8] c"layer\00" @.str422 = private unnamed_addr constant [7 x i8] c"system\00" @.str423 = private unnamed_addr constant [7 x i8] c"system\00" @.str424 = private unnamed_addr constant [3 x i8] c"on\00" @.str425 = private unnamed_addr constant [7 x i8] c"attach\00" @.str426 = private unnamed_addr constant [3 x i8] c"on\00" @.str427 = private unnamed_addr constant [27 x i8] c"attach needs 'on '\00" @.str428 = private unnamed_addr constant [2 x i8] c"{\00" @.str429 = private unnamed_addr constant [7 x i8] c"detach\00" @.str430 = private unnamed_addr constant [3 x i8] c"on\00" @.str431 = private unnamed_addr constant [27 x i8] c"detach needs 'on '\00" @.str432 = private unnamed_addr constant [7 x i8] c"unsafe\00" @.str433 = private unnamed_addr constant [54 x i8] c"build/cfree/selfhost.ludic:1209: index out of range: \00" @.str434 = private unnamed_addr constant [2 x i8] c"{\00" @.str435 = private unnamed_addr constant [6 x i8] c"break\00" @.str436 = private unnamed_addr constant [9 x i8] c"continue\00" @.str437 = private unnamed_addr constant [7 x i8] c"cancel\00" @.str438 = private unnamed_addr constant [6 x i8] c"match\00" @.str439 = private unnamed_addr constant [2 x i8] c"{\00" @.str440 = private unnamed_addr constant [2 x i8] c"}\00" @.str441 = private unnamed_addr constant [2 x i8] c",\00" @.str442 = private unnamed_addr constant [3 x i8] c"=>\00" @.str443 = private unnamed_addr constant [2 x i8] c"{\00" @.str444 = private unnamed_addr constant [2 x i8] c"}\00" @.str445 = private unnamed_addr constant [2 x i8] c"=\00" @.str446 = private unnamed_addr constant [3 x i8] c"+=\00" @.str447 = private unnamed_addr constant [3 x i8] c"-=\00" @.str448 = private unnamed_addr constant [3 x i8] c"*=\00" @.str449 = private unnamed_addr constant [3 x i8] c"/=\00" @.str450 = private unnamed_addr constant [54 x i8] c"build/cfree/selfhost.ludic:1233: index out of range: \00" @.str451 = private unnamed_addr constant [54 x i8] c"build/cfree/selfhost.ludic:1233: index out of range: \00" @.str452 = private unnamed_addr constant [2 x i8] c":\00" @.str453 = private unnamed_addr constant [2 x i8] c"=\00" @.str454 = private unnamed_addr constant [54 x i8] c"build/cfree/selfhost.ludic:1242: index out of range: \00" @.str455 = private unnamed_addr constant [10 x i8] c"parse_var\00" @.str456 = private unnamed_addr constant [2 x i8] c":\00" @.str457 = private unnamed_addr constant [2 x i8] c"=\00" @.str458 = private unnamed_addr constant [54 x i8] c"build/cfree/selfhost.ludic:1249: index out of range: \00" @.str459 = private unnamed_addr constant [12 x i8] c"parse_const\00" @.str460 = private unnamed_addr constant [54 x i8] c"build/cfree/selfhost.ludic:1249: index out of range: \00" @.str461 = private unnamed_addr constant [4 x i8] c"new\00" @.str462 = private unnamed_addr constant [6 x i8] c"match\00" @.str463 = private unnamed_addr constant [8 x i8] c"machine\00" @.str464 = private unnamed_addr constant [7 x i8] c"become\00" @.str465 = private unnamed_addr constant [6 x i8] c"spawn\00" @.str466 = private unnamed_addr constant [8 x i8] c"despawn\00" @.str467 = private unnamed_addr constant [6 x i8] c"query\00" @.str468 = private unnamed_addr constant [7 x i8] c"cancel\00" @.str469 = private unnamed_addr constant [6 x i8] c"scene\00" @.str470 = private unnamed_addr constant [6 x i8] c"layer\00" @.str471 = private unnamed_addr constant [8 x i8] c"handler\00" @.str472 = private unnamed_addr constant [9 x i8] c"property\00" @.str473 = private unnamed_addr constant [6 x i8] c"model\00" @.str474 = private unnamed_addr constant [5 x i8] c"enum\00" @.str475 = private unnamed_addr constant [6 x i8] c"event\00" @.str476 = private unnamed_addr constant [10 x i8] c"namespace\00" @.str477 = private unnamed_addr constant [9 x i8] c"function\00" @.str478 = private unnamed_addr constant [4 x i8] c"let\00" @.str479 = private unnamed_addr constant [7 x i8] c"prefab\00" @.str480 = private unnamed_addr constant [4 x i8] c"var\00" @.str481 = private unnamed_addr constant [6 x i8] c"const\00" @.str482 = private unnamed_addr constant [3 x i8] c"if\00" @.str483 = private unnamed_addr constant [5 x i8] c"else\00" @.str484 = private unnamed_addr constant [6 x i8] c"while\00" @.str485 = private unnamed_addr constant [4 x i8] c"for\00" @.str486 = private unnamed_addr constant [7 x i8] c"return\00" @.str487 = private unnamed_addr constant [7 x i8] c"import\00" @.str488 = private unnamed_addr constant [8 x i8] c"program\00" @.str489 = private unnamed_addr constant [6 x i8] c"entry\00" @.str490 = private unnamed_addr constant [3 x i8] c"ui\00" @.str491 = private unnamed_addr constant [6 x i8] c"break\00" @.str492 = private unnamed_addr constant [9 x i8] c"continue\00" @.str493 = private unnamed_addr constant [4 x i8] c"and\00" @.str494 = private unnamed_addr constant [3 x i8] c"or\00" @.str495 = private unnamed_addr constant [4 x i8] c"not\00" @.str496 = private unnamed_addr constant [5 x i8] c"true\00" @.str497 = private unnamed_addr constant [6 x i8] c"false\00" @.str498 = private unnamed_addr constant [5 x i8] c"null\00" @.str499 = private unnamed_addr constant [2 x i8] c"<\00" @.str500 = private unnamed_addr constant [54 x i8] c"build/cfree/selfhost.ludic:1271: index out of range: \00" @.str501 = private unnamed_addr constant [9 x i8] c"parse_fn\00" @.str502 = private unnamed_addr constant [2 x i8] c"(\00" @.str503 = private unnamed_addr constant [2 x i8] c"'\00" @.str504 = private unnamed_addr constant [48 x i8] c"' is a reserved word and cannot name a function\00" @.str505 = private unnamed_addr constant [2 x i8] c")\00" @.str506 = private unnamed_addr constant [2 x i8] c":\00" @.str507 = private unnamed_addr constant [2 x i8] c"=\00" @.str508 = private unnamed_addr constant [2 x i8] c",\00" @.str509 = private unnamed_addr constant [2 x i8] c")\00" @.str510 = private unnamed_addr constant [5 x i8] c"void\00" @.str511 = private unnamed_addr constant [3 x i8] c"->\00" @.str512 = private unnamed_addr constant [54 x i8] c"build/cfree/selfhost.ludic:1302: index out of range: \00" @.str513 = private unnamed_addr constant [12 x i8] c"ns_short_in\00" @.str514 = private unnamed_addr constant [17 x i8] c"ns_rewrite_calls\00" @.str515 = private unnamed_addr constant [54 x i8] c"build/cfree/selfhost.ludic:1314: index out of range: \00" @.str516 = private unnamed_addr constant [2 x i8] c"{\00" @.str517 = private unnamed_addr constant [16 x i8] c"parse_namespace\00" @.str518 = private unnamed_addr constant [10 x i8] c"new []int\00" @.str519 = private unnamed_addr constant [2 x i8] c"}\00" @.str520 = private unnamed_addr constant [7 x i8] c"export\00" @.str521 = private unnamed_addr constant [9 x i8] c"internal\00" @.str522 = private unnamed_addr constant [6 x i8] c"alias\00" @.str523 = private unnamed_addr constant [9 x i8] c"function\00" @.str524 = private unnamed_addr constant [76 x i8] c"a namespace body holds functions or aliases: expected `function` or `alias`\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 [54 x i8] c"build/cfree/selfhost.ludic:1348: index out of range: \00" @.str528 = private unnamed_addr constant [54 x i8] c"build/cfree/selfhost.ludic:1348: index out of range: \00" @.str529 = private unnamed_addr constant [54 x i8] c"build/cfree/selfhost.ludic:1350: index out of range: \00" @.str530 = private unnamed_addr constant [54 x i8] c"build/cfree/selfhost.ludic:1355: index out of range: \00" @.str531 = private unnamed_addr constant [54 x i8] c"build/cfree/selfhost.ludic:1355: index out of range: \00" @.str532 = private unnamed_addr constant [54 x i8] c"build/cfree/selfhost.ludic:1356: index out of range: \00" @.str533 = private unnamed_addr constant [3 x i8] c"OS\00" @.str534 = private unnamed_addr constant [11 x i8] c"Windows_NT\00" @.str535 = private unnamed_addr constant [12 x i8] c"fwd_slashes\00" @.str536 = private unnamed_addr constant [1 x i8] c"\00" @.str537 = private unnamed_addr constant [7 x i8] c"dir_of\00" @.str538 = private unnamed_addr constant [10 x i8] c"join_path\00" @.str539 = private unnamed_addr constant [11 x i8] c"LUDIC_HOME\00" @.str540 = private unnamed_addr constant [1 x i8] c"\00" @.str541 = private unnamed_addr constant [11 x i8] c"ludic_home\00" @.str542 = private unnamed_addr constant [5 x i8] c"bin/\00" @.str543 = private unnamed_addr constant [5 x i8] c"PATH\00" @.str544 = private unnamed_addr constant [1 x i8] c"\00" @.str545 = private unnamed_addr constant [16 x i8] c"path_lookup_dir\00" @.str546 = private unnamed_addr constant [3 x i8] c"rb\00" @.str547 = private unnamed_addr constant [5 x i8] c".exe\00" @.str548 = private unnamed_addr constant [3 x i8] c"rb\00" @.str549 = private unnamed_addr constant [1 x i8] c"\00" @.str550 = private unnamed_addr constant [23 x i8] c"ludicc: warning: bare \00" @.str551 = private unnamed_addr constant [17 x i8] c"warn_draw_sprite\00" @.str552 = 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" @.str553 = private unnamed_addr constant [54 x i8] c"build/cfree/selfhost.ludic:1520: index out of range: \00" @.str554 = private unnamed_addr constant [12 x i8] c"is_ns_block\00" @.str555 = private unnamed_addr constant [54 x i8] c"build/cfree/selfhost.ludic:1525: index out of range: \00" @.str556 = private unnamed_addr constant [14 x i8] c"ns_export_has\00" @.str557 = private unnamed_addr constant [54 x i8] c"build/cfree/selfhost.ludic:1538: index out of range: \00" @.str558 = private unnamed_addr constant [19 x i8] c"is_system_disabled\00" @.str559 = private unnamed_addr constant [54 x i8] c"build/cfree/selfhost.ludic:1547: index out of range: \00" @.str560 = private unnamed_addr constant [19 x i8] c"register_namespace\00" @.str561 = private unnamed_addr constant [54 x i8] c"build/cfree/selfhost.ludic:1552: index out of range: \00" @.str562 = private unnamed_addr constant [24 x i8] c"is_registered_namespace\00" @.str563 = private unnamed_addr constant [54 x i8] c"build/cfree/selfhost.ludic:1558: index out of range: \00" @.str564 = private unnamed_addr constant [15 x i8] c"already_loaded\00" @.str565 = private unnamed_addr constant [2 x i8] c"@\00" @.str566 = private unnamed_addr constant [7 x i8] c"export\00" @.str567 = private unnamed_addr constant [7 x i8] c"Public\00" @.str568 = private unnamed_addr constant [3 x i8] c"On\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 [8 x i8] c"Queries\00" @.str572 = private unnamed_addr constant [8 x i8] c"OnSpawn\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 [10 x i8] c"OnDespawn\00" @.str576 = private unnamed_addr constant [2 x i8] c"(\00" @.str577 = private unnamed_addr constant [2 x i8] c",\00" @.str578 = private unnamed_addr constant [2 x i8] c":\00" @.str579 = private unnamed_addr constant [2 x i8] c")\00" @.str580 = private unnamed_addr constant [9 x i8] c"OnAttach\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 [9 x i8] c"OnDetach\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 [9 x i8] c"OnEnable\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 [10 x i8] c"OnDisable\00" @.str590 = private unnamed_addr constant [2 x i8] c"(\00" @.str591 = private unnamed_addr constant [2 x i8] c")\00" @.str592 = private unnamed_addr constant [8 x i8] c"OnStart\00" @.str593 = private unnamed_addr constant [6 x i8] c"Start\00" @.str594 = private unnamed_addr constant [7 x i8] c"OnQuit\00" @.str595 = private unnamed_addr constant [7 x i8] c"OnQuit\00" @.str596 = private unnamed_addr constant [5 x i8] c"Sync\00" @.str597 = private unnamed_addr constant [6 x i8] c"Owned\00" @.str598 = private unnamed_addr constant [7 x i8] c"Server\00" @.str599 = private unnamed_addr constant [7 x i8] c"server\00" @.str600 = private unnamed_addr constant [10 x i8] c"Predicted\00" @.str601 = private unnamed_addr constant [10 x i8] c"predicted\00" @.str602 = private unnamed_addr constant [9 x i8] c"ToServer\00" @.str603 = private unnamed_addr constant [9 x i8] c"toserver\00" @.str604 = private unnamed_addr constant [10 x i8] c"ToClients\00" @.str605 = private unnamed_addr constant [10 x i8] c"toclients\00" @.str606 = private unnamed_addr constant [7 x i8] c"System\00" @.str607 = private unnamed_addr constant [7 x i8] c"Update\00" @.str608 = private unnamed_addr constant [2 x i8] c"(\00" @.str609 = private unnamed_addr constant [2 x i8] c")\00" @.str610 = private unnamed_addr constant [13 x i8] c"EngineSystem\00" @.str611 = private unnamed_addr constant [2 x i8] c"(\00" @.str612 = private unnamed_addr constant [2 x i8] c",\00" @.str613 = private unnamed_addr constant [2 x i8] c")\00" @.str614 = private unnamed_addr constant [10 x i8] c"Namespace\00" @.str615 = private unnamed_addr constant [2 x i8] c"(\00" @.str616 = private unnamed_addr constant [2 x i8] c")\00" @.str617 = private unnamed_addr constant [14 x i8] c"deterministic\00" @.str618 = private unnamed_addr constant [11 x i8] c"AppendOnly\00" @.str619 = private unnamed_addr constant [6 x i8] c"ByKey\00" @.str620 = private unnamed_addr constant [7 x i8] c"PerMap\00" @.str621 = private unnamed_addr constant [8 x i8] c"Chunked\00" @.str622 = private unnamed_addr constant [8 x i8] c"TextKey\00" @.str623 = private unnamed_addr constant [9 x i8] c"alloc_ok\00" @.str624 = private unnamed_addr constant [2 x i8] c"(\00" @.str625 = private unnamed_addr constant [72 x i8] c"@alloc_ok needs its reason: @alloc_ok(\22a memo miss, bounded by MM_CAP\22)\00" @.str626 = private unnamed_addr constant [2 x i8] c")\00" @.str627 = private unnamed_addr constant [8 x i8] c"creates\00" @.str628 = private unnamed_addr constant [9 x i8] c"releases\00" @.str629 = private unnamed_addr constant [2 x i8] c"(\00" @.str630 = private unnamed_addr constant [2 x i8] c")\00" @.str631 = private unnamed_addr constant [8 x i8] c"creates\00" @.str632 = private unnamed_addr constant [11 x i8] c"ClearColor\00" @.str633 = private unnamed_addr constant [2 x i8] c"(\00" @.str634 = private unnamed_addr constant [2 x i8] c")\00" @.str635 = private unnamed_addr constant [2 x i8] c"(\00" @.str636 = private unnamed_addr constant [2 x i8] c"(\00" @.str637 = private unnamed_addr constant [2 x i8] c")\00" @.str638 = private unnamed_addr constant [7 x i8] c"friend\00" @.str639 = private unnamed_addr constant [54 x i8] c"build/cfree/selfhost.ludic:1648: index out of range: \00" @.str640 = private unnamed_addr constant [15 x i8] c"parse_one_decl\00" @.str641 = private unnamed_addr constant [7 x i8] c"module\00" @.str642 = private unnamed_addr constant [7 x i8] c"module\00" @.str643 = private unnamed_addr constant [54 x i8] c"build/cfree/selfhost.ludic:1652: index out of range: \00" @.str644 = private unnamed_addr constant [7 x i8] c"export\00" @.str645 = private unnamed_addr constant [54 x i8] c"build/cfree/selfhost.ludic:1657: index out of range: \00" @.str646 = private unnamed_addr constant [54 x i8] c"build/cfree/selfhost.ludic:1666: index out of range: \00" @.str647 = private unnamed_addr constant [54 x i8] c"build/cfree/selfhost.ludic:1671: index out of range: \00" @.str648 = private unnamed_addr constant [54 x i8] c"build/cfree/selfhost.ludic:1676: index out of range: \00" @.str649 = private unnamed_addr constant [8 x i8] c"numbers\00" @.str650 = private unnamed_addr constant [54 x i8] c"build/cfree/selfhost.ludic:1681: index out of range: \00" @.str651 = private unnamed_addr constant [6 x i8] c"float\00" @.str652 = private unnamed_addr constant [7 x i8] c"import\00" @.str653 = private unnamed_addr constant [54 x i8] c"build/cfree/selfhost.ludic:1687: index out of range: \00" @.str654 = private unnamed_addr constant [29 x i8] c"expected \22path\22 after import\00" @.str655 = private unnamed_addr constant [5 x i8] c"enum\00" @.str656 = private unnamed_addr constant [6 x i8] c"event\00" @.str657 = private unnamed_addr constant [9 x i8] c"property\00" @.str658 = private unnamed_addr constant [54 x i8] c"build/cfree/selfhost.ludic:1701: index out of range: \00" @.str659 = private unnamed_addr constant [6 x i8] c"model\00" @.str660 = private unnamed_addr constant [6 x i8] c"scene\00" @.str661 = private unnamed_addr constant [7 x i8] c"prefab\00" @.str662 = private unnamed_addr constant [8 x i8] c"handler\00" @.str663 = private unnamed_addr constant [7 x i8] c"server\00" @.str664 = private unnamed_addr constant [7 x i8] c"model_\00" @.str665 = private unnamed_addr constant [7 x i8] c"_spawn\00" @.str666 = private unnamed_addr constant [7 x i8] c"model_\00" @.str667 = private unnamed_addr constant [9 x i8] c"_despawn\00" @.str668 = private unnamed_addr constant [6 x i8] c"prop_\00" @.str669 = private unnamed_addr constant [8 x i8] c"_attach\00" @.str670 = private unnamed_addr constant [6 x i8] c"prop_\00" @.str671 = private unnamed_addr constant [8 x i8] c"_detach\00" @.str672 = private unnamed_addr constant [6 x i8] c"prop_\00" @.str673 = private unnamed_addr constant [8 x i8] c"_enable\00" @.str674 = private unnamed_addr constant [6 x i8] c"prop_\00" @.str675 = private unnamed_addr constant [9 x i8] c"_disable\00" @.str676 = private unnamed_addr constant [6 x i8] c"Start\00" @.str677 = private unnamed_addr constant [14 x i8] c"program_start\00" @.str678 = private unnamed_addr constant [13 x i8] c"program_quit\00" @.str679 = private unnamed_addr constant [3 x i8] c"ui\00" @.str680 = private unnamed_addr constant [10 x i8] c"namespace\00" @.str681 = private unnamed_addr constant [5 x i8] c"port\00" @.str682 = private unnamed_addr constant [54 x i8] c"build/cfree/selfhost.ludic:1746: index out of range: \00" @.str683 = private unnamed_addr constant [54 x i8] c"build/cfree/selfhost.ludic:1746: index out of range: \00" @.str684 = private unnamed_addr constant [2 x i8] c"{\00" @.str685 = private unnamed_addr constant [5 x i8] c"bind\00" @.str686 = private unnamed_addr constant [54 x i8] c"build/cfree/selfhost.ludic:1747: index out of range: \00" @.str687 = private unnamed_addr constant [54 x i8] c"build/cfree/selfhost.ludic:1747: index out of range: \00" @.str688 = private unnamed_addr constant [2 x i8] c"{\00" @.str689 = private unnamed_addr constant [5 x i8] c"open\00" @.str690 = private unnamed_addr constant [54 x i8] c"build/cfree/selfhost.ludic:1748: index out of range: \00" @.str691 = private unnamed_addr constant [9 x i8] c"registry\00" @.str692 = private unnamed_addr constant [54 x i8] c"build/cfree/selfhost.ludic:1751: index out of range: \00" @.str693 = private unnamed_addr constant [9 x i8] c"registry\00" @.str694 = private unnamed_addr constant [54 x i8] c"build/cfree/selfhost.ludic:1754: index out of range: \00" @.str695 = private unnamed_addr constant [54 x i8] c"build/cfree/selfhost.ludic:1754: index out of range: \00" @.str696 = private unnamed_addr constant [3 x i8] c"of\00" @.str697 = private unnamed_addr constant [4 x i8] c"def\00" @.str698 = private unnamed_addr constant [54 x i8] c"build/cfree/selfhost.ludic:1755: index out of range: \00" @.str699 = private unnamed_addr constant [54 x i8] c"build/cfree/selfhost.ludic:1755: index out of range: \00" @.str700 = private unnamed_addr constant [5 x i8] c"view\00" @.str701 = private unnamed_addr constant [54 x i8] c"build/cfree/selfhost.ludic:1756: index out of range: \00" @.str702 = private unnamed_addr constant [54 x i8] c"build/cfree/selfhost.ludic:1756: index out of range: \00" @.str703 = private unnamed_addr constant [2 x i8] c"{\00" @.str704 = private unnamed_addr constant [54 x i8] c"build/cfree/selfhost.ludic:1756: index out of range: \00" @.str705 = private unnamed_addr constant [2 x i8] c"(\00" @.str706 = private unnamed_addr constant [10 x i8] c"component\00" @.str707 = private unnamed_addr constant [54 x i8] c"build/cfree/selfhost.ludic:1757: index out of range: \00" @.str708 = private unnamed_addr constant [54 x i8] c"build/cfree/selfhost.ludic:1757: index out of range: \00" @.str709 = private unnamed_addr constant [2 x i8] c"{\00" @.str710 = private unnamed_addr constant [54 x i8] c"build/cfree/selfhost.ludic:1757: index out of range: \00" @.str711 = private unnamed_addr constant [2 x i8] c"(\00" @.str712 = private unnamed_addr constant [6 x i8] c"state\00" @.str713 = private unnamed_addr constant [54 x i8] c"build/cfree/selfhost.ludic:1758: index out of range: \00" @.str714 = private unnamed_addr constant [54 x i8] c"build/cfree/selfhost.ludic:1758: index out of range: \00" @.str715 = private unnamed_addr constant [2 x i8] c"{\00" @.str716 = private unnamed_addr constant [7 x i8] c"action\00" @.str717 = private unnamed_addr constant [54 x i8] c"build/cfree/selfhost.ludic:1759: index out of range: \00" @.str718 = private unnamed_addr constant [54 x i8] c"build/cfree/selfhost.ludic:1759: index out of range: \00" @.str719 = private unnamed_addr constant [2 x i8] c"{\00" @.str720 = private unnamed_addr constant [8 x i8] c"reducer\00" @.str721 = private unnamed_addr constant [54 x i8] c"build/cfree/selfhost.ludic:1760: index out of range: \00" @.str722 = private unnamed_addr constant [54 x i8] c"build/cfree/selfhost.ludic:1760: index out of range: \00" @.str723 = private unnamed_addr constant [3 x i8] c"on\00" @.str724 = private unnamed_addr constant [4 x i8] c"var\00" @.str725 = private unnamed_addr constant [160 x i8] c"a module-level var is refused: a module's changing data is its state (state Name { ... }), passed to the functions that use it - or, if it never changes, a let\00" @.str726 = private unnamed_addr constant [4 x i8] c"let\00" @.str727 = private unnamed_addr constant [54 x i8] c"build/cfree/selfhost.ludic:1768: index out of range: \00" @.str728 = private unnamed_addr constant [54 x i8] c"build/cfree/selfhost.ludic:1768: index out of range: \00" @.str729 = private unnamed_addr constant [2 x i8] c":\00" @.str730 = private unnamed_addr constant [20 x i8] c"a module-level let \00" @.str731 = private unnamed_addr constant [17 x i8] c" needs its value\00" @.str732 = private unnamed_addr constant [6 x i8] c"const\00" @.str733 = private unnamed_addr constant [7 x i8] c"unsafe\00" @.str734 = private unnamed_addr constant [54 x i8] c"build/cfree/selfhost.ludic:1777: index out of range: \00" @.str735 = private unnamed_addr constant [9 x i8] c"function\00" @.str736 = private unnamed_addr constant [9 x i8] c"function\00" @.str737 = private unnamed_addr constant [7 x i8] c"extern\00" @.str738 = private unnamed_addr constant [6 x i8] c"entry\00" @.str739 = private unnamed_addr constant [5 x i8] c"test\00" @.str740 = private unnamed_addr constant [71 x i8] c"expected a declaration (property, model, handler, function, \E2\80\A6), got \00" @.str741 = private unnamed_addr constant [54 x i8] c"build/cfree/selfhost.ludic:1804: index out of range: \00" @.str742 = private unnamed_addr constant [11 x i8] c"parse_test\00" @.str743 = private unnamed_addr constant [54 x i8] c"build/cfree/selfhost.ludic:1806: index out of range: \00" @.str744 = private unnamed_addr constant [36 x i8] c"expected a \22name\22 string after test\00" @.str745 = private unnamed_addr constant [54 x i8] c"build/cfree/selfhost.ludic:1808: index out of range: \00" @.str746 = private unnamed_addr constant [54 x i8] c"build/cfree/selfhost.ludic:1810: index out of range: \00" @.str747 = private unnamed_addr constant [9 x i8] c"runtime/\00" @.str748 = private unnamed_addr constant [14 x i8] c"do_import_dir\00" @.str749 = private unnamed_addr constant [8 x i8] c"fs_list\00" @.str750 = private unnamed_addr constant [22 x i8] c"import: no directory \00" @.str751 = private unnamed_addr constant [54 x i8] c"build/cfree/selfhost.ludic:1853: index out of range: \00" @.str752 = private unnamed_addr constant [54 x i8] c"build/cfree/selfhost.ludic:1853: index out of range: \00" @.str753 = private unnamed_addr constant [54 x i8] c"build/cfree/selfhost.ludic:1854: index out of range: \00" @.str754 = private unnamed_addr constant [54 x i8] c"build/cfree/selfhost.ludic:1854: index out of range: \00" @.str755 = private unnamed_addr constant [54 x i8] c"build/cfree/selfhost.ludic:1854: index out of range: \00" @.str756 = private unnamed_addr constant [54 x i8] c"build/cfree/selfhost.ludic:1854: index out of range: \00" @.str757 = private unnamed_addr constant [54 x i8] c"build/cfree/selfhost.ludic:1859: index out of range: \00" @.str758 = private unnamed_addr constant [7 x i8] c".ludic\00" @.str759 = private unnamed_addr constant [2 x i8] c"/\00" @.str760 = private unnamed_addr constant [10 x i8] c"barrel_of\00" @.str761 = private unnamed_addr constant [7 x i8] c".ludic\00" @.str762 = private unnamed_addr constant [1 x i8] c"\00" @.str763 = private unnamed_addr constant [12 x i8] c"index.ludic\00" @.str764 = private unnamed_addr constant [13 x i8] c"/index.ludic\00" @.str765 = private unnamed_addr constant [10 x i8] c"do_import\00" @.str766 = private unnamed_addr constant [9 x i8] c"/*.ludic\00" @.str767 = private unnamed_addr constant [1 x i8] c"\00" @.str768 = private unnamed_addr constant [9 x i8] c"import: \00" @.str769 = private unnamed_addr constant [42 x i8] c" is a directory with no index.ludic (add \00" @.str770 = private unnamed_addr constant [22 x i8] c" listing its imports)\00" @.str771 = private unnamed_addr constant [14 x i8] c"LUDIC_MODULES\00" @.str772 = private unnamed_addr constant [14 x i8] c"ludic_modules\00" @.str773 = private unnamed_addr constant [10 x i8] c"packages/\00" @.str774 = private unnamed_addr constant [1 x i8] c"\00" @.str775 = private unnamed_addr constant [1 x i8] c"\00" @.str776 = private unnamed_addr constant [20 x i8] c"cannot open import \00" @.str777 = private unnamed_addr constant [27 x i8] c"runtime/native/audio.ludic\00" @.str778 = private unnamed_addr constant [54 x i8] c"build/cfree/selfhost.ludic:1939: index out of range: \00" @.str779 = private unnamed_addr constant [5 x i8] c"seed\00" @.str780 = private unnamed_addr constant [5 x i8] c"rng_\00" @.str781 = private unnamed_addr constant [7 x i8] c"value_\00" @.str782 = private unnamed_addr constant [6 x i8] c"json_\00" @.str783 = private unnamed_addr constant [54 x i8] c"build/cfree/selfhost.ludic:1956: index out of range: \00" @.str784 = private unnamed_addr constant [15 x i8] c"rt_wants_unmet\00" @.str785 = private unnamed_addr constant [1 x i8] c"\00" @.str786 = private unnamed_addr constant [32 x i8] c"runtime/native/namespaces.ludic\00" @.str787 = private unnamed_addr constant [27 x i8] c"runtime/native/bytes.ludic\00" @.str788 = private unnamed_addr constant [5 x i8] c"rng_\00" @.str789 = private unnamed_addr constant [5 x i8] c"seed\00" @.str790 = private unnamed_addr constant [1 x i8] c"\00" @.str791 = private unnamed_addr constant [25 x i8] c"runtime/native/rng.ludic\00" @.str792 = private unnamed_addr constant [1 x i8] c"\00" @.str793 = private unnamed_addr constant [26 x i8] c"runtime/native/core.ludic\00" @.str794 = private unnamed_addr constant [1 x i8] c"\00" @.str795 = private unnamed_addr constant [27 x i8] c"runtime/native/regex.ludic\00" @.str796 = private unnamed_addr constant [30 x i8] c"runtime/native/regex_vm.ludic\00" @.str797 = private unnamed_addr constant [1 x i8] c"\00" @.str798 = private unnamed_addr constant [28 x i8] c"runtime/native/bignum.ludic\00" @.str799 = private unnamed_addr constant [1 x i8] c"\00" @.str800 = private unnamed_addr constant [26 x i8] c"runtime/native/dict.ludic\00" @.str801 = private unnamed_addr constant [1 x i8] c"\00" @.str802 = private unnamed_addr constant [29 x i8] c"runtime/native/numeric.ludic\00" @.str803 = private unnamed_addr constant [1 x i8] c"\00" @.str804 = private unnamed_addr constant [26 x i8] c"runtime/native/jobs.ludic\00" @.str805 = private unnamed_addr constant [1 x i8] c"\00" @.str806 = private unnamed_addr constant [27 x i8] c"runtime/native/query.ludic\00" @.str807 = private unnamed_addr constant [1 x i8] c"\00" @.str808 = private unnamed_addr constant [27 x i8] c"runtime/native/light.ludic\00" @.str809 = private unnamed_addr constant [7 x i8] c"value_\00" @.str810 = private unnamed_addr constant [6 x i8] c"json_\00" @.str811 = private unnamed_addr constant [1 x i8] c"\00" @.str812 = private unnamed_addr constant [27 x i8] c"runtime/native/value.ludic\00" @.str813 = private unnamed_addr constant [1 x i8] c"\00" @.str814 = private unnamed_addr constant [25 x i8] c"runtime/native/xml.ludic\00" @.str815 = private unnamed_addr constant [1 x i8] c"\00" @.str816 = private unnamed_addr constant [26 x i8] c"runtime/native/core.ludic\00" @.str817 = private unnamed_addr constant [27 x i8] c"runtime/native/audio.ludic\00" @.str818 = private unnamed_addr constant [27 x i8] c"runtime/native/atlas.ludic\00" @.str819 = private unnamed_addr constant [1 x i8] c"\00" @.str820 = private unnamed_addr constant [26 x i8] c"runtime/native/core.ludic\00" @.str821 = private unnamed_addr constant [24 x i8] c"runtime/native/fx.ludic\00" @.str822 = private unnamed_addr constant [1 x i8] c"\00" @.str823 = private unnamed_addr constant [29 x i8] c"runtime/native/inflate.ludic\00" @.str824 = private unnamed_addr constant [26 x i8] c"runtime/native/zstd.ludic\00" @.str825 = private unnamed_addr constant [28 x i8] c"runtime/native/base64.ludic\00" @.str826 = private unnamed_addr constant [1 x i8] c"\00" @.str827 = private unnamed_addr constant [26 x i8] c"runtime/native/core.ludic\00" @.str828 = private unnamed_addr constant [25 x i8] c"runtime/native/xml.ludic\00" @.str829 = private unnamed_addr constant [29 x i8] c"runtime/native/inflate.ludic\00" @.str830 = private unnamed_addr constant [26 x i8] c"runtime/native/zstd.ludic\00" @.str831 = private unnamed_addr constant [28 x i8] c"runtime/native/base64.ludic\00" @.str832 = private unnamed_addr constant [27 x i8] c"runtime/native/value.ludic\00" @.str833 = private unnamed_addr constant [27 x i8] c"runtime/native/tiled.ludic\00" @.str834 = private unnamed_addr constant [33 x i8] c"runtime/native/tiled_spawn.ludic\00" @.str835 = private unnamed_addr constant [1 x i8] c"\00" @.str836 = private unnamed_addr constant [32 x i8] c"runtime/native/reflect_io.ludic\00" @.str837 = private unnamed_addr constant [1 x i8] c"\00" @.str838 = private unnamed_addr constant [26 x i8] c"runtime/native/core.ludic\00" @.str839 = private unnamed_addr constant [27 x i8] c"runtime/native/input.ludic\00" @.str840 = private unnamed_addr constant [1 x i8] c"\00" @.str841 = private unnamed_addr constant [26 x i8] c"runtime/native/core.ludic\00" @.str842 = private unnamed_addr constant [27 x i8] c"runtime/native/tween.ludic\00" @.str843 = private unnamed_addr constant [1 x i8] c"\00" @.str844 = private unnamed_addr constant [27 x i8] c"runtime/native/audio.ludic\00" @.str845 = private unnamed_addr constant [1 x i8] c"\00" @.str846 = private unnamed_addr constant [26 x i8] c"runtime/native/http.ludic\00" @.str847 = private unnamed_addr constant [1 x i8] c"\00" @.str848 = private unnamed_addr constant [25 x i8] c"runtime/native/udp.ludic\00" @.str849 = private unnamed_addr constant [1 x i8] c"\00" @.str850 = private unnamed_addr constant [26 x i8] c"runtime/native/lres.ludic\00" @.str851 = private unnamed_addr constant [1 x i8] c"\00" @.str852 = private unnamed_addr constant [29 x i8] c"runtime/native/process.ludic\00" @.str853 = private unnamed_addr constant [1 x i8] c"\00" @.str854 = private unnamed_addr constant [24 x i8] c"runtime/native/gl.ludic\00" @.str855 = private unnamed_addr constant [1 x i8] c"\00" @.str856 = private unnamed_addr constant [24 x i8] c"runtime/native/vk.ludic\00" @.str857 = private unnamed_addr constant [1 x i8] c"\00" @.str858 = private unnamed_addr constant [26 x i8] c"runtime/native/core.ludic\00" @.str859 = private unnamed_addr constant [29 x i8] c"runtime/native/systems.ludic\00" @.str860 = private unnamed_addr constant [1 x i8] c"\00" @.str861 = private unnamed_addr constant [11 x i8] c"SpriteAnim\00" @.str862 = private unnamed_addr constant [7 x i8] c"Motion\00" @.str863 = private unnamed_addr constant [29 x i8] c"runtime/native/systems.ludic\00" @.str864 = private unnamed_addr constant [5 x i8] c"Body\00" @.str865 = private unnamed_addr constant [26 x i8] c"runtime/native/core.ludic\00" @.str866 = private unnamed_addr constant [34 x i8] c"runtime/native/systems_move.ludic\00" @.str867 = private unnamed_addr constant [7 x i8] c"Sprite\00" @.str868 = private unnamed_addr constant [26 x i8] c"runtime/native/core.ludic\00" @.str869 = private unnamed_addr constant [36 x i8] c"runtime/native/systems_sprite.ludic\00" @.str870 = private unnamed_addr constant [9 x i8] c"TileSkin\00" @.str871 = private unnamed_addr constant [26 x i8] c"runtime/native/core.ludic\00" @.str872 = private unnamed_addr constant [38 x i8] c"runtime/native/systems_tileskin.ludic\00" @.str873 = private unnamed_addr constant [7 x i8] c"Bounds\00" @.str874 = private unnamed_addr constant [36 x i8] c"runtime/native/systems_bounds.ludic\00" @.str875 = private unnamed_addr constant [8 x i8] c"Light2D\00" @.str876 = private unnamed_addr constant [9 x i8] c"Occluder\00" @.str877 = private unnamed_addr constant [27 x i8] c"runtime/native/light.ludic\00" @.str878 = private unnamed_addr constant [35 x i8] c"runtime/native/systems_light.ludic\00" @.str879 = private unnamed_addr constant [14 x i8] c"parse_program\00" @.str880 = private unnamed_addr constant [11 x i8] c"SpriteAnim\00" @.str881 = private unnamed_addr constant [16 x i8] c"esys_spriteanim\00" @.str882 = private unnamed_addr constant [7 x i8] c"Update\00" @.str883 = private unnamed_addr constant [7 x i8] c"Motion\00" @.str884 = private unnamed_addr constant [12 x i8] c"esys_motion\00" @.str885 = private unnamed_addr constant [7 x i8] c"Update\00" @.str886 = private unnamed_addr constant [5 x i8] c"Body\00" @.str887 = private unnamed_addr constant [10 x i8] c"esys_move\00" @.str888 = private unnamed_addr constant [7 x i8] c"Update\00" @.str889 = private unnamed_addr constant [7 x i8] c"Bounds\00" @.str890 = private unnamed_addr constant [12 x i8] c"esys_bounds\00" @.str891 = private unnamed_addr constant [11 x i8] c"LateUpdate\00" @.str892 = private unnamed_addr constant [9 x i8] c"TileSkin\00" @.str893 = private unnamed_addr constant [14 x i8] c"esys_tileskin\00" @.str894 = private unnamed_addr constant [7 x i8] c"Render\00" @.str895 = private unnamed_addr constant [7 x i8] c"Sprite\00" @.str896 = private unnamed_addr constant [12 x i8] c"esys_sprite\00" @.str897 = private unnamed_addr constant [7 x i8] c"Render\00" @.str898 = private unnamed_addr constant [8 x i8] c"Light2D\00" @.str899 = private unnamed_addr constant [13 x i8] c"esys_light2d\00" @.str900 = private unnamed_addr constant [7 x i8] c"Render\00" @.str901 = private unnamed_addr constant [6 x i8] c"Ludic\00" @.str902 = private unnamed_addr constant [7 x i8] c"import\00" @.str903 = private unnamed_addr constant [54 x i8] c"build/cfree/selfhost.ludic:2300: index out of range: \00" @.str904 = private unnamed_addr constant [2 x i8] c"@\00" @.str905 = private unnamed_addr constant [2 x i8] c"(\00" @.str906 = private unnamed_addr constant [2 x i8] c"(\00" @.str907 = private unnamed_addr constant [2 x i8] c")\00" @.str908 = private unnamed_addr constant [8 x i8] c"program\00" @.str909 = private unnamed_addr constant [2 x i8] c"{\00" @.str910 = private unnamed_addr constant [54 x i8] c"build/cfree/selfhost.ludic:2311: index out of range: \00" @.str911 = private unnamed_addr constant [2 x i8] c"}\00" @.str912 = private unnamed_addr constant [2 x i8] c"<\00" @.str913 = private unnamed_addr constant [2 x i8] c"{\00" @.str914 = private unnamed_addr constant [2 x i8] c"}\00" @.str915 = private unnamed_addr constant [2 x i8] c"@\00" @.str916 = private unnamed_addr constant [9 x i8] c"Computed\00" @.str917 = private unnamed_addr constant [5 x i8] c"Sync\00" @.str918 = private unnamed_addr constant [6 x i8] c"frame\00" @.str919 = private unnamed_addr constant [9 x i8] c"Computed\00" @.str920 = private unnamed_addr constant [5 x i8] c"Sync\00" @.str921 = private unnamed_addr constant [3 x i8] c"[]\00" @.str922 = private unnamed_addr constant [5 x i8] c"owns\00" @.str923 = private unnamed_addr constant [2 x i8] c"(\00" @.str924 = private unnamed_addr constant [2 x i8] c")\00" @.str925 = private unnamed_addr constant [3 x i8] c"[\22\00" @.str926 = private unnamed_addr constant [16 x i8] c"parse_component\00" @.str927 = private unnamed_addr constant [3 x i8] c"\22]\00" @.str928 = private unnamed_addr constant [4 x i8] c"max\00" @.str929 = private unnamed_addr constant [2 x i8] c"(\00" @.str930 = private unnamed_addr constant [48 x i8] c"@max takes the most the list may hold: @max(64)\00" @.str931 = private unnamed_addr constant [2 x i8] c")\00" @.str932 = private unnamed_addr constant [2 x i8] c"[\00" @.str933 = private unnamed_addr constant [2 x i8] c"]\00" @.str934 = private unnamed_addr constant [2 x i8] c"(\00" @.str935 = private unnamed_addr constant [2 x i8] c"(\00" @.str936 = private unnamed_addr constant [2 x i8] c")\00" @.str937 = private unnamed_addr constant [2 x i8] c":\00" @.str938 = private unnamed_addr constant [2 x i8] c".\00" @.str939 = private unnamed_addr constant [2 x i8] c".\00" @.str940 = private unnamed_addr constant [2 x i8] c"=\00" @.str941 = private unnamed_addr constant [54 x i8] c"build/cfree/selfhost.ludic:2384: index out of range: \00" @.str942 = private unnamed_addr constant [54 x i8] c"build/cfree/selfhost.ludic:2384: index out of range: \00" @.str943 = private unnamed_addr constant [2 x i8] c",\00" @.str944 = private unnamed_addr constant [2 x i8] c"}\00" @.str945 = private unnamed_addr constant [12 x i8] c"cancellable\00" @.str946 = private unnamed_addr constant [2 x i8] c"{\00" @.str947 = private unnamed_addr constant [2 x i8] c"}\00" @.str948 = private unnamed_addr constant [2 x i8] c":\00" @.str949 = private unnamed_addr constant [2 x i8] c"=\00" @.str950 = private unnamed_addr constant [54 x i8] c"build/cfree/selfhost.ludic:2408: index out of range: \00" @.str951 = private unnamed_addr constant [12 x i8] c"parse_event\00" @.str952 = private unnamed_addr constant [54 x i8] c"build/cfree/selfhost.ludic:2408: index out of range: \00" @.str953 = private unnamed_addr constant [2 x i8] c",\00" @.str954 = private unnamed_addr constant [2 x i8] c"}\00" @.str955 = private unnamed_addr constant [7 x i8] c"Update\00" @.str956 = private unnamed_addr constant [54 x i8] c"build/cfree/selfhost.ludic:2417: index out of range: \00" @.str957 = private unnamed_addr constant [13 x i8] c"parse_system\00" @.str958 = private unnamed_addr constant [2 x i8] c"@\00" @.str959 = private unnamed_addr constant [2 x i8] c"(\00" @.str960 = private unnamed_addr constant [2 x i8] c"(\00" @.str961 = private unnamed_addr constant [2 x i8] c")\00" @.str962 = private unnamed_addr constant [6 x i8] c"phase\00" @.str963 = private unnamed_addr constant [16 x i8] c"unknown phase '\00" @.str964 = private unnamed_addr constant [78 x i8] c"' (expected Start, Input, FixedUpdate, Update, LateUpdate, Render or Overlay)\00" @.str965 = private unnamed_addr constant [2 x i8] c"[\00" @.str966 = private unnamed_addr constant [2 x i8] c"]\00" @.str967 = private unnamed_addr constant [2 x i8] c"{\00" @.str968 = private unnamed_addr constant [17 x i8] c"parse_query_tail\00" @.str969 = private unnamed_addr constant [2 x i8] c"}\00" @.str970 = private unnamed_addr constant [2 x i8] c",\00" @.str971 = private unnamed_addr constant [2 x i8] c"]\00" @.str972 = private unnamed_addr constant [6 x i8] c"where\00" @.str973 = private unnamed_addr constant [2 x i8] c"(\00" @.str974 = private unnamed_addr constant [2 x i8] c")\00" @.str975 = private unnamed_addr constant [16 x i8] c"parse_query_for\00" @.str976 = private unnamed_addr constant [2 x i8] c",\00" @.str977 = private unnamed_addr constant [2 x i8] c")\00" @.str978 = private unnamed_addr constant [6 x i8] c"query\00" @.str979 = private unnamed_addr constant [29 x i8] c"expected 'query' in for-loop\00" @.str980 = private unnamed_addr constant [4 x i8] c"and\00" @.str981 = private unnamed_addr constant [2 x i8] c"(\00" @.str982 = private unnamed_addr constant [2 x i8] c")\00" @.str983 = private unnamed_addr constant [2 x i8] c")\00" @.str984 = private unnamed_addr constant [2 x i8] c":\00" @.str985 = private unnamed_addr constant [6 x i8] c"these\00" @.str986 = private unnamed_addr constant [2 x i8] c"[\00" @.str987 = private unnamed_addr constant [2 x i8] c"]\00" @.str988 = private unnamed_addr constant [19 x i8] c"parse_queries_anno\00" @.str989 = private unnamed_addr constant [2 x i8] c"{\00" @.str990 = private unnamed_addr constant [2 x i8] c"}\00" @.str991 = private unnamed_addr constant [2 x i8] c",\00" @.str992 = private unnamed_addr constant [2 x i8] c"]\00" @.str993 = private unnamed_addr constant [3 x i8] c"on\00" @.str994 = private unnamed_addr constant [2 x i8] c",\00" @.str995 = private unnamed_addr constant [2 x i8] c")\00" @.str996 = private unnamed_addr constant [2 x i8] c"{\00" @.str997 = private unnamed_addr constant [2 x i8] c"}\00" @.str998 = private unnamed_addr constant [2 x i8] c"}\00" @.str999 = private unnamed_addr constant [24 x i8] c"parse_component_records\00" @.str1000 = private unnamed_addr constant [2 x i8] c",\00" @.str1001 = private unnamed_addr constant [2 x i8] c":\00" @.str1002 = private unnamed_addr constant [2 x i8] c"{\00" @.str1003 = private unnamed_addr constant [2 x i8] c"}\00" @.str1004 = private unnamed_addr constant [6 x i8] c"start\00" @.str1005 = private unnamed_addr constant [7 x i8] c"public\00" @.str1006 = private unnamed_addr constant [6 x i8] c"shows\00" @.str1007 = private unnamed_addr constant [6 x i8] c"lasts\00" @.str1008 = private unnamed_addr constant [6 x i8] c"loads\00" @.str1009 = private unnamed_addr constant [6 x i8] c"start\00" @.str1010 = private unnamed_addr constant [6 x i8] c"shows\00" @.str1011 = private unnamed_addr constant [6 x i8] c"lasts\00" @.str1012 = private unnamed_addr constant [5 x i8] c"then\00" @.str1013 = private unnamed_addr constant [27 x i8] c"lasts N needs `then Scene`\00" @.str1014 = private unnamed_addr constant [6 x i8] c"loads\00" @.str1015 = private unnamed_addr constant [5 x i8] c"then\00" @.str1016 = private unnamed_addr constant [25 x i8] c"loads needs `then Scene`\00" @.str1017 = private unnamed_addr constant [7 x i8] c"scene_\00" @.str1018 = private unnamed_addr constant [12 x i8] c"parse_scene\00" @.str1019 = private unnamed_addr constant [7 x i8] c"_enter\00" @.str1020 = private unnamed_addr constant [7 x i8] c"scene_\00" @.str1021 = private unnamed_addr constant [6 x i8] c"_exit\00" @.str1022 = private unnamed_addr constant [2 x i8] c"{\00" @.str1023 = private unnamed_addr constant [2 x i8] c"}\00" @.str1024 = private unnamed_addr constant [3 x i8] c"on\00" @.str1025 = private unnamed_addr constant [54 x i8] c"build/cfree/selfhost.ludic:2589: index out of range: \00" @.str1026 = private unnamed_addr constant [6 x i8] c"enter\00" @.str1027 = private unnamed_addr constant [5 x i8] c"exit\00" @.str1028 = private unnamed_addr constant [38 x i8] c"expected 'enter' or 'exit' after 'on'\00" @.str1029 = private unnamed_addr constant [6 x i8] c"layer\00" @.str1030 = private unnamed_addr constant [7 x i8] c"public\00" @.str1031 = private unnamed_addr constant [7 x i8] c"layer_\00" @.str1032 = private unnamed_addr constant [6 x i8] c"_show\00" @.str1033 = private unnamed_addr constant [7 x i8] c"layer_\00" @.str1034 = private unnamed_addr constant [6 x i8] c"_hide\00" @.str1035 = private unnamed_addr constant [2 x i8] c"{\00" @.str1036 = private unnamed_addr constant [2 x i8] c"}\00" @.str1037 = private unnamed_addr constant [2 x i8] c"@\00" @.str1038 = private unnamed_addr constant [8 x i8] c"Queries\00" @.str1039 = private unnamed_addr constant [56 x i8] c"a handler inside a layer may only carry @Queries (got @\00" @.str1040 = private unnamed_addr constant [2 x i8] c")\00" @.str1041 = private unnamed_addr constant [8 x i8] c"handler\00" @.str1042 = private unnamed_addr constant [28 x i8] c"expected 'handler' in layer\00" @.str1043 = private unnamed_addr constant [2 x i8] c"_\00" @.str1044 = private unnamed_addr constant [2 x i8] c"}\00" @.str1045 = private unnamed_addr constant [39 x i8] c"expected 'on', 'layer' or '}' in scene\00" @.str1046 = private unnamed_addr constant [2 x i8] c"}\00" @.str1047 = private unnamed_addr constant [8 x i8] c"_Loader\00" @.str1048 = private unnamed_addr constant [17 x i8] c"scene_add_loader\00" @.str1049 = private unnamed_addr constant [7 x i8] c"Update\00" @.str1050 = private unnamed_addr constant [7 x i8] c"Assets\00" @.str1051 = private unnamed_addr constant [5 x i8] c"pump\00" @.str1052 = private unnamed_addr constant [7 x i8] c"Assets\00" @.str1053 = private unnamed_addr constant [6 x i8] c"ready\00" @.str1054 = private unnamed_addr constant [11 x i8] c"_LoaderBar\00" @.str1055 = private unnamed_addr constant [7 x i8] c"Render\00" @.str1056 = private unnamed_addr constant [21 x i8] c"assets_draw_progress\00" @.str1057 = private unnamed_addr constant [7 x i8] c"scene_\00" @.str1058 = private unnamed_addr constant [16 x i8] c"scene_add_timer\00" @.str1059 = private unnamed_addr constant [6 x i8] c"_left\00" @.str1060 = private unnamed_addr constant [4 x i8] c"int\00" @.str1061 = private unnamed_addr constant [2 x i8] c"=\00" @.str1062 = private unnamed_addr constant [54 x i8] c"build/cfree/selfhost.ludic:2658: index out of range: \00" @.str1063 = private unnamed_addr constant [7 x i8] c"_Timer\00" @.str1064 = private unnamed_addr constant [7 x i8] c"Update\00" @.str1065 = private unnamed_addr constant [3 x i8] c"-=\00" @.str1066 = private unnamed_addr constant [3 x i8] c"<=\00" @.str1067 = private unnamed_addr constant [54 x i8] c"build/cfree/selfhost.ludic:2678: index out of range: \00" @.str1068 = private unnamed_addr constant [18 x i8] c"ui_register_gotos\00" @.str1069 = private unnamed_addr constant [54 x i8] c"build/cfree/selfhost.ludic:2678: index out of range: \00" @.str1070 = private unnamed_addr constant [54 x i8] c"build/cfree/selfhost.ludic:2678: index out of range: \00" @.str1071 = private unnamed_addr constant [54 x i8] c"build/cfree/selfhost.ludic:2687: index out of range: \00" @.str1072 = private unnamed_addr constant [12 x i8] c"ui_gotos_in\00" @.str1073 = private unnamed_addr constant [3 x i8] c"id\00" @.str1074 = private unnamed_addr constant [5 x i8] c"goto\00" @.str1075 = private unnamed_addr constant [3 x i8] c"==\00" @.str1076 = private unnamed_addr constant [3 x i8] c"id\00" @.str1077 = private unnamed_addr constant [4 x i8] c"UI_\00" @.str1078 = private unnamed_addr constant [10 x i8] c"UiClicked\00" @.str1079 = private unnamed_addr constant [54 x i8] c"build/cfree/selfhost.ludic:2701: index out of range: \00" @.str1080 = private unnamed_addr constant [2 x i8] c"{\00" @.str1081 = private unnamed_addr constant [2 x i8] c"}\00" @.str1082 = private unnamed_addr constant [2 x i8] c"(\00" @.str1083 = private unnamed_addr constant [2 x i8] c")\00" @.str1084 = private unnamed_addr constant [11 x i8] c"parse_enum\00" @.str1085 = private unnamed_addr constant [2 x i8] c",\00" @.str1086 = private unnamed_addr constant [2 x i8] c")\00" @.str1087 = private unnamed_addr constant [2 x i8] c",\00" @.str1088 = private unnamed_addr constant [2 x i8] c"}\00" @.str1089 = private unnamed_addr constant [2 x i8] c"{\00" @.str1090 = private unnamed_addr constant [2 x i8] c"}\00" @.str1091 = private unnamed_addr constant [2 x i8] c"@\00" @.str1092 = private unnamed_addr constant [5 x i8] c"Sync\00" @.str1093 = private unnamed_addr constant [16 x i8] c"parse_archetype\00" @.str1094 = private unnamed_addr constant [2 x i8] c",\00" @.str1095 = private unnamed_addr constant [2 x i8] c"}\00" @.str1096 = private unnamed_addr constant [2 x i8] c"(\00" @.str1097 = private unnamed_addr constant [2 x i8] c")\00" @.str1098 = private unnamed_addr constant [2 x i8] c":\00" @.str1099 = private unnamed_addr constant [13 x i8] c"parse_extern\00" @.str1100 = private unnamed_addr constant [2 x i8] c",\00" @.str1101 = private unnamed_addr constant [2 x i8] c")\00" @.str1102 = private unnamed_addr constant [5 x i8] c"void\00" @.str1103 = private unnamed_addr constant [3 x i8] c"->\00" @.str1104 = private unnamed_addr constant [2 x i8] c"=\00" @.str1105 = private unnamed_addr constant [54 x i8] c"build/cfree/selfhost.ludic:2756: index out of range: \00" @.str1106 = private unnamed_addr constant [54 x i8] c"build/cfree/selfhost.ludic:2765: index out of range: \00" @.str1107 = private unnamed_addr constant [13 x i8] c"parse_widget\00" @.str1108 = private unnamed_addr constant [54 x i8] c"build/cfree/selfhost.ludic:2765: index out of range: \00" @.str1109 = private unnamed_addr constant [54 x i8] c"build/cfree/selfhost.ludic:2765: index out of range: \00" @.str1110 = private unnamed_addr constant [2 x i8] c":\00" @.str1111 = private unnamed_addr constant [2 x i8] c":\00" @.str1112 = private unnamed_addr constant [2 x i8] c"{\00" @.str1113 = private unnamed_addr constant [2 x i8] c"}\00" @.str1114 = private unnamed_addr constant [2 x i8] c"}\00" @.str1115 = private unnamed_addr constant [2 x i8] c"{\00" @.str1116 = private unnamed_addr constant [2 x i8] c"}\00" @.str1117 = private unnamed_addr constant [2 x i8] c"<\00" @.str1118 = private unnamed_addr constant [1 x i8] c"\00" @.str1119 = private unnamed_addr constant [2 x i8] c">\00" @.str1120 = private unnamed_addr constant [2 x i8] c"|\00" @.str1121 = private unnamed_addr constant [11 x i8] c"gen_params\00" @.str1122 = private unnamed_addr constant [2 x i8] c",\00" @.str1123 = private unnamed_addr constant [2 x i8] c">\00" @.str1124 = private unnamed_addr constant [1 x i8] c"\00" @.str1125 = private unnamed_addr constant [4 x i8] c"Sl_\00" @.str1126 = private unnamed_addr constant [11 x i8] c"gen_mangle\00" @.str1127 = private unnamed_addr constant [2 x i8] c"_\00" @.str1128 = private unnamed_addr constant [10 x i8] c"gen_split\00" @.str1129 = private unnamed_addr constant [54 x i8] c"build/cfree/selfhost.ludic:2850: index out of range: \00" @.str1130 = private unnamed_addr constant [13 x i8] c"gen_is_param\00" @.str1131 = private unnamed_addr constant [13 x i8] c"gen_mentions\00" @.str1132 = private unnamed_addr constant [54 x i8] c"build/cfree/selfhost.ludic:2873: index out of range: \00" @.str1133 = private unnamed_addr constant [9 x i8] c"gen_find\00" @.str1134 = private unnamed_addr constant [1 x i8] c"\00" @.str1135 = private unnamed_addr constant [2 x i8] c"$\00" @.str1136 = private unnamed_addr constant [13 x i8] c"gen_instance\00" @.str1137 = private unnamed_addr constant [54 x i8] c"build/cfree/selfhost.ludic:2885: index out of range: \00" @.str1138 = private unnamed_addr constant [2 x i8] c"|\00" @.str1139 = private unnamed_addr constant [54 x i8] c"build/cfree/selfhost.ludic:2887: index out of range: \00" @.str1140 = private unnamed_addr constant [54 x i8] c"build/cfree/selfhost.ludic:2888: index out of range: \00" @.str1141 = private unnamed_addr constant [54 x i8] c"build/cfree/selfhost.ludic:2889: index out of range: \00" @.str1142 = private unnamed_addr constant [54 x i8] c"build/cfree/selfhost.ludic:2889: index out of range: \00" @.str1143 = private unnamed_addr constant [54 x i8] c"build/cfree/selfhost.ludic:2889: index out of range: \00" @.str1144 = private unnamed_addr constant [54 x i8] c"build/cfree/selfhost.ludic:2899: index out of range: \00" @.str1145 = private unnamed_addr constant [2 x i8] c"<\00" @.str1146 = private unnamed_addr constant [14 x i8] c"gen_type_args\00" @.str1147 = private unnamed_addr constant [3 x i8] c">>\00" @.str1148 = private unnamed_addr constant [54 x i8] c"build/cfree/selfhost.ludic:2910: index out of range: \00" @.str1149 = private unnamed_addr constant [2 x i8] c">\00" @.str1150 = private unnamed_addr constant [2 x i8] c">\00" @.str1151 = private unnamed_addr constant [2 x i8] c",\00" @.str1152 = private unnamed_addr constant [2 x i8] c"(\00" @.str1153 = private unnamed_addr constant [1 x i8] c"\00" @.str1154 = private unnamed_addr constant [2 x i8] c")\00" @.str1155 = private unnamed_addr constant [2 x i8] c"|\00" @.str1156 = private unnamed_addr constant [15 x i8] c"ns_parse_alias\00" @.str1157 = private unnamed_addr constant [2 x i8] c",\00" @.str1158 = private unnamed_addr constant [2 x i8] c")\00" @.str1159 = private unnamed_addr constant [2 x i8] c"=\00" @.str1160 = private unnamed_addr constant [2 x i8] c".\00" @.str1161 = private unnamed_addr constant [19 x i8] c" is declared twice\00" @.str1162 = private unnamed_addr constant [54 x i8] c"build/cfree/selfhost.ludic:2964: index out of range: \00" @.str1163 = private unnamed_addr constant [14 x i8] c"ns_alias_find\00" @.str1164 = private unnamed_addr constant [54 x i8] c"build/cfree/selfhost.ludic:2964: index out of range: \00" @.str1165 = private unnamed_addr constant [16 x i8] c"ns_alias_labels\00" @.str1166 = private unnamed_addr constant [54 x i8] c"build/cfree/selfhost.ludic:2971: index out of range: \00" @.str1167 = private unnamed_addr constant [54 x i8] c"build/cfree/selfhost.ludic:2973: index out of range: \00" @.str1168 = private unnamed_addr constant [54 x i8] c"build/cfree/selfhost.ludic:2974: index out of range: \00" @.str1169 = private unnamed_addr constant [54 x i8] c"build/cfree/selfhost.ludic:2979: index out of range: \00" @.str1170 = private unnamed_addr constant [54 x i8] c"build/cfree/selfhost.ludic:2982: index out of range: \00" @.str1171 = private unnamed_addr constant [54 x i8] c"build/cfree/selfhost.ludic:2982: index out of range: \00" @.str1172 = private unnamed_addr constant [54 x i8] c"build/cfree/selfhost.ludic:2983: index out of range: \00" @.str1173 = private unnamed_addr constant [54 x i8] c"build/cfree/selfhost.ludic:3000: index out of range: \00" @.str1174 = private unnamed_addr constant [16 x i8] c"emit_alias_call\00" @.str1175 = private unnamed_addr constant [54 x i8] c"build/cfree/selfhost.ludic:3004: index out of range: \00" @.str1176 = private unnamed_addr constant [2 x i8] c",\00" @.str1177 = private unnamed_addr constant [13 x i8] c"mod_list_has\00" @.str1178 = private unnamed_addr constant [2 x i8] c",\00" @.str1179 = private unnamed_addr constant [54 x i8] c"build/cfree/selfhost.ludic:3033: index out of range: \00" @.str1180 = private unnamed_addr constant [14 x i8] c"mod_find_uses\00" @.str1181 = private unnamed_addr constant [2 x i8] c",\00" @.str1182 = private unnamed_addr constant [16 x i8] c"mod_parse_names\00" @.str1183 = private unnamed_addr constant [2 x i8] c",\00" @.str1184 = private unnamed_addr constant [2 x i8] c",\00" @.str1185 = private unnamed_addr constant [2 x i8] c",\00" @.str1186 = private unnamed_addr constant [54 x i8] c"build/cfree/selfhost.ludic:3055: index out of range: \00" @.str1187 = private unnamed_addr constant [10 x i8] c"mod_layer\00" @.str1188 = private unnamed_addr constant [54 x i8] c"build/cfree/selfhost.ludic:3055: index out of range: \00" @.str1189 = private unnamed_addr constant [1 x i8] c"\00" @.str1190 = private unnamed_addr constant [1 x i8] c"\00" @.str1191 = private unnamed_addr constant [8 x i8] c"module \00" @.str1192 = private unnamed_addr constant [14 x i8] c"mod_set_layer\00" @.str1193 = private unnamed_addr constant [14 x i8] c" is in layer \00" @.str1194 = private unnamed_addr constant [34 x i8] c", and this line puts it in layer \00" @.str1195 = private unnamed_addr constant [3 x i8] c"in\00" @.str1196 = private unnamed_addr constant [54 x i8] c"build/cfree/selfhost.ludic:3073: index out of range: \00" @.str1197 = private unnamed_addr constant [15 x i8] c"mod_parse_line\00" @.str1198 = private unnamed_addr constant [6 x i8] c"layer\00" @.str1199 = private unnamed_addr constant [5 x i8] c"uses\00" @.str1200 = private unnamed_addr constant [54 x i8] c"build/cfree/selfhost.ludic:3079: index out of range: \00" @.str1201 = private unnamed_addr constant [2 x i8] c",\00" @.str1202 = private unnamed_addr constant [5 x i8] c"uses\00" @.str1203 = private unnamed_addr constant [54 x i8] c"build/cfree/selfhost.ludic:3084: index out of range: \00" @.str1204 = private unnamed_addr constant [54 x i8] c"build/cfree/selfhost.ludic:3088: index out of range: \00" @.str1205 = private unnamed_addr constant [54 x i8] c"build/cfree/selfhost.ludic:3088: index out of range: \00" @.str1206 = private unnamed_addr constant [1 x i8] c"\00" @.str1207 = private unnamed_addr constant [3 x i8] c"of\00" @.str1208 = private unnamed_addr constant [17 x i8] c"mod_parse_friend\00" @.str1209 = private unnamed_addr constant [54 x i8] c"build/cfree/selfhost.ludic:3113: index out of range: \00" @.str1210 = private unnamed_addr constant [17 x i8] c"module_friend_of\00" @.str1211 = private unnamed_addr constant [54 x i8] c"build/cfree/selfhost.ludic:3114: index out of range: \00" @.str1212 = private unnamed_addr constant [1 x i8] c"\00" @.str1213 = private unnamed_addr constant [54 x i8] c"build/cfree/selfhost.ludic:3114: index out of range: \00" @.str1214 = private unnamed_addr constant [12 x i8] c"pkg_name_of\00" @.str1215 = private unnamed_addr constant [1 x i8] c"\00" @.str1216 = private unnamed_addr constant [2 x i8] c"_\00" @.str1217 = private unnamed_addr constant [13 x i8] c"pkg_file_set\00" @.str1218 = private unnamed_addr constant [1 x i8] c"\00" @.str1219 = private unnamed_addr constant [1 x i8] c"\00" @.str1220 = private unnamed_addr constant [1 x i8] c"\00" @.str1221 = private unnamed_addr constant [1 x i8] c"\00" @.str1222 = private unnamed_addr constant [54 x i8] c"build/cfree/selfhost.ludic:3156: index out of range: \00" @.str1223 = private unnamed_addr constant [15 x i8] c"module_may_use\00" @.str1224 = private unnamed_addr constant [10 x i8] c"mod_names\00" @.str1225 = private unnamed_addr constant [1 x i8] c"\00" @.str1226 = private unnamed_addr constant [7 x i8] c"layer \00" @.str1227 = private unnamed_addr constant [9 x i8] c"mod_node\00" @.str1228 = private unnamed_addr constant [2 x i8] c",\00" @.str1229 = private unnamed_addr constant [54 x i8] c"build/cfree/selfhost.ludic:3185: index out of range: \00" @.str1230 = private unnamed_addr constant [15 x i8] c"mod_node_edges\00" @.str1231 = private unnamed_addr constant [54 x i8] c"build/cfree/selfhost.ludic:3186: index out of range: \00" @.str1232 = private unnamed_addr constant [54 x i8] c"build/cfree/selfhost.ludic:3189: index out of range: \00" @.str1233 = private unnamed_addr constant [2 x i8] c",\00" @.str1234 = private unnamed_addr constant [2 x i8] c",\00" @.str1235 = private unnamed_addr constant [2 x i8] c",\00" @.str1236 = private unnamed_addr constant [4 x i8] c"-> \00" @.str1237 = private unnamed_addr constant [9 x i8] c"mod_walk\00" @.str1238 = private unnamed_addr constant [4 x i8] c"-> \00" @.str1239 = private unnamed_addr constant [5 x i8] c" -> \00" @.str1240 = private unnamed_addr constant [54 x i8] c"build/cfree/selfhost.ludic:3201: index out of range: \00" @.str1241 = private unnamed_addr constant [54 x i8] c"build/cfree/selfhost.ludic:3202: index out of range: \00" @.str1242 = private unnamed_addr constant [41 x i8] c"the modules' uses go round in a circle: \00" @.str1243 = private unnamed_addr constant [125 x i8] c"; one of them has to take the other through a port, or the ones that belong together declare one layer (module m in layer L)\00" @.str1244 = private unnamed_addr constant [2 x i8] c",\00" @.str1245 = private unnamed_addr constant [2 x i8] c",\00" @.str1246 = private unnamed_addr constant [2 x i8] c",\00" @.str1247 = private unnamed_addr constant [54 x i8] c"build/cfree/selfhost.ludic:3211: index out of range: \00" @.str1248 = private unnamed_addr constant [5 x i8] c" -> \00" @.str1249 = private unnamed_addr constant [2 x i8] c",\00" @.str1250 = private unnamed_addr constant [54 x i8] c"build/cfree/selfhost.ludic:3221: index out of range: \00" @.str1251 = private unnamed_addr constant [15 x i8] c"modules_finish\00" @.str1252 = private unnamed_addr constant [1 x i8] c"\00" @.str1253 = private unnamed_addr constant [54 x i8] c"build/cfree/selfhost.ludic:3221: index out of range: \00" @.str1254 = private unnamed_addr constant [20 x i8] c"LUDIC_NATIVE_TARGET\00" @.str1255 = private unnamed_addr constant [12 x i8] c"windows-x64\00" @.str1256 = private unnamed_addr constant [16 x i8] c"/System/Library\00" @.str1257 = private unnamed_addr constant [12 x i8] c"macos-arm64\00" @.str1258 = private unnamed_addr constant [10 x i8] c"linux-x64\00" @.str1259 = private unnamed_addr constant [13 x i8] c"native_words\00" @.str1260 = private unnamed_addr constant [54 x i8] c"build/cfree/selfhost.ludic:3272: index out of range: \00" @.str1261 = private unnamed_addr constant [12 x i8] c"native_have\00" @.str1262 = private unnamed_addr constant [16 x i8] c"native_note_pkg\00" @.str1263 = private unnamed_addr constant [2 x i8] c"/\00" @.str1264 = private unnamed_addr constant [14 x i8] c"package.ludic\00" @.str1265 = private unnamed_addr constant [54 x i8] c"build/cfree/selfhost.ludic:3295: index out of range: \00" @.str1266 = private unnamed_addr constant [7 x i8] c"native\00" @.str1267 = private unnamed_addr constant [54 x i8] c"build/cfree/selfhost.ludic:3295: index out of range: \00" @.str1268 = private unnamed_addr constant [54 x i8] c"build/cfree/selfhost.ludic:3296: index out of range: \00" @.str1269 = private unnamed_addr constant [1 x i8] c"\00" @.str1270 = private unnamed_addr constant [17 x i8] c"; ludic-native: \00" @.str1271 = private unnamed_addr constant [54 x i8] c"build/cfree/selfhost.ludic:3307: index out of range: \00" @.str1272 = private unnamed_addr constant [16 x i8] c"native_ir_lines\00" @.str1273 = private unnamed_addr constant [2 x i8] c"\0A\00" @.str1274 = private unnamed_addr constant [1 x i8] c"\00" @.str1275 = private unnamed_addr constant [54 x i8] c"build/cfree/selfhost.ludic:3317: index out of range: \00" @.str1276 = private unnamed_addr constant [17 x i8] c"native_link_args\00" @.str1277 = private unnamed_addr constant [3 x i8] c" \22\00" @.str1278 = private unnamed_addr constant [6 x i8] c".lib\22\00" @.str1279 = private unnamed_addr constant [2 x i8] c".\00" @.str1280 = private unnamed_addr constant [10 x i8] c"copy /y \22\00" @.str1281 = private unnamed_addr constant [4 x i8] c"\22 \22\00" @.str1282 = private unnamed_addr constant [13 x i8] c"\22 >nul 2>nul\00" @.str1283 = private unnamed_addr constant [3 x i8] c" \22\00" @.str1284 = private unnamed_addr constant [14 x i8] c"\22 -Wl,-rpath,\00" @.str1285 = private unnamed_addr constant [43 x i8] c" -Wl,-rpath,@executable_path/../Frameworks\00" @.str1286 = private unnamed_addr constant [6 x i8] c"_port\00" @.str1287 = private unnamed_addr constant [11 x i8] c"parse_port\00" @.str1288 = private unnamed_addr constant [11 x i8] c"parse_bind\00" @.str1289 = private unnamed_addr constant [54 x i8] c"build/cfree/selfhost.ludic:3381: index out of range: \00" @.str1290 = private unnamed_addr constant [10 x i8] c"port_find\00" @.str1291 = private unnamed_addr constant [54 x i8] c"build/cfree/selfhost.ludic:3390: index out of range: \00" @.str1292 = private unnamed_addr constant [12 x i8] c"is_port_var\00" @.str1293 = private unnamed_addr constant [54 x i8] c"build/cfree/selfhost.ludic:3395: index out of range: \00" @.str1294 = private unnamed_addr constant [17 x i8] c"port_check_bound\00" @.str1295 = private unnamed_addr constant [6 x i8] c"port \00" @.str1296 = private unnamed_addr constant [61 x i8] c" is used here but never bound: the program has to say 'bind \00" @.str1297 = private unnamed_addr constant [41 x i8] c" { ... }' once, where it is put together\00" @.str1298 = private unnamed_addr constant [6 x i8] c"bind \00" @.str1299 = private unnamed_addr constant [14 x i8] c"port_bind_one\00" @.str1300 = private unnamed_addr constant [20 x i8] c": there is no port \00" @.str1301 = private unnamed_addr constant [54 x i8] c"build/cfree/selfhost.ludic:3406: index out of range: \00" @.str1302 = private unnamed_addr constant [6 x i8] c"port \00" @.str1303 = private unnamed_addr constant [27 x i8] c" is bound twice (first at \00" @.str1304 = private unnamed_addr constant [2 x i8] c":\00" @.str1305 = private unnamed_addr constant [2 x i8] c")\00" @.str1306 = private unnamed_addr constant [54 x i8] c"build/cfree/selfhost.ludic:3408: index out of range: \00" @.str1307 = private unnamed_addr constant [54 x i8] c"build/cfree/selfhost.ludic:3409: index out of range: \00" @.str1308 = private unnamed_addr constant [54 x i8] c"build/cfree/selfhost.ludic:3413: index out of range: \00" @.str1309 = private unnamed_addr constant [6 x i8] c"port \00" @.str1310 = private unnamed_addr constant [16 x i8] c" has no member \00" @.str1311 = private unnamed_addr constant [54 x i8] c"build/cfree/selfhost.ludic:3413: index out of range: \00" @.str1312 = private unnamed_addr constant [54 x i8] c"build/cfree/selfhost.ludic:3418: index out of range: \00" @.str1313 = private unnamed_addr constant [54 x i8] c"build/cfree/selfhost.ludic:3418: index out of range: \00" @.str1314 = private unnamed_addr constant [6 x i8] c"bind \00" @.str1315 = private unnamed_addr constant [13 x i8] c" leaves out \00" @.str1316 = private unnamed_addr constant [54 x i8] c"build/cfree/selfhost.ludic:3419: index out of range: \00" @.str1317 = private unnamed_addr constant [23 x i8] c", which has no default\00" @.str1318 = private unnamed_addr constant [54 x i8] c"build/cfree/selfhost.ludic:3426: index out of range: \00" @.str1319 = private unnamed_addr constant [54 x i8] c"build/cfree/selfhost.ludic:3427: index out of range: \00" @.str1320 = private unnamed_addr constant [54 x i8] c"build/cfree/selfhost.ludic:3428: index out of range: \00" @.str1321 = private unnamed_addr constant [54 x i8] c"build/cfree/selfhost.ludic:3434: index out of range: \00" @.str1322 = private unnamed_addr constant [54 x i8] c"build/cfree/selfhost.ludic:3438: index out of range: \00" @.str1323 = private unnamed_addr constant [54 x i8] c"build/cfree/selfhost.ludic:3454: index out of range: \00" @.str1324 = private unnamed_addr constant [19 x i8] c"port_defaults_only\00" @.str1325 = private unnamed_addr constant [54 x i8] c"build/cfree/selfhost.ludic:3457: index out of range: \00" @.str1326 = private unnamed_addr constant [54 x i8] c"build/cfree/selfhost.ludic:3460: index out of range: \00" @.str1327 = private unnamed_addr constant [54 x i8] c"build/cfree/selfhost.ludic:3466: index out of range: \00" @.str1328 = private unnamed_addr constant [6 x i8] c"bind \00" @.str1329 = private unnamed_addr constant [14 x i8] c"port_bind_var\00" @.str1330 = private unnamed_addr constant [3 x i8] c": \00" @.str1331 = private unnamed_addr constant [3 x i8] c": \00" @.str1332 = private unnamed_addr constant [47 x i8] c" is not a variable (a function is bound as fn \00" @.str1333 = private unnamed_addr constant [2 x i8] c")\00" @.str1334 = private unnamed_addr constant [7 x i8] c"fn()->\00" @.str1335 = private unnamed_addr constant [6 x i8] c"bind \00" @.str1336 = private unnamed_addr constant [3 x i8] c": \00" @.str1337 = private unnamed_addr constant [7 x i8] c" is a \00" @.str1338 = private unnamed_addr constant [66 x i8] c", and only a member that takes nothing can be bound to a variable\00" @.str1339 = private unnamed_addr constant [6 x i8] c"bind_\00" @.str1340 = private unnamed_addr constant [2 x i8] c"_\00" @.str1341 = private unnamed_addr constant [10 x i8] c"function \00" @.str1342 = private unnamed_addr constant [7 x i8] c"() -> \00" @.str1343 = private unnamed_addr constant [13 x i8] c" {\0A return \00" @.str1344 = private unnamed_addr constant [4 x i8] c"\0A}\0A\00" @.str1345 = private unnamed_addr constant [10 x i8] c"function \00" @.str1346 = private unnamed_addr constant [6 x i8] c"(st: \00" @.str1347 = private unnamed_addr constant [6 x i8] c") -> \00" @.str1348 = private unnamed_addr constant [16 x i8] c" {\0A return st.\00" @.str1349 = private unnamed_addr constant [4 x i8] c"\0A}\0A\00" @.str1350 = private unnamed_addr constant [54 x i8] c"build/cfree/selfhost.ludic:3517: index out of range: \00" @.str1351 = private unnamed_addr constant [13 x i8] c"ports_finish\00" @.str1352 = private unnamed_addr constant [54 x i8] c"build/cfree/selfhost.ludic:3522: index out of range: \00" @.str1353 = private unnamed_addr constant [54 x i8] c"build/cfree/selfhost.ludic:3557: index out of range: \00" @.str1354 = private unnamed_addr constant [10 x i8] c"priv_sort\00" @.str1355 = private unnamed_addr constant [54 x i8] c"build/cfree/selfhost.ludic:3557: index out of range: \00" @.str1356 = private unnamed_addr constant [54 x i8] c"build/cfree/selfhost.ludic:3557: index out of range: \00" @.str1357 = private unnamed_addr constant [54 x i8] c"build/cfree/selfhost.ludic:3557: index out of range: \00" @.str1358 = private unnamed_addr constant [54 x i8] c"build/cfree/selfhost.ludic:3558: index out of range: \00" @.str1359 = private unnamed_addr constant [54 x i8] c"build/cfree/selfhost.ludic:3558: index out of range: \00" @.str1360 = private unnamed_addr constant [54 x i8] c"build/cfree/selfhost.ludic:3561: index out of range: \00" @.str1361 = private unnamed_addr constant [54 x i8] c"build/cfree/selfhost.ludic:3561: index out of range: \00" @.str1362 = private unnamed_addr constant [54 x i8] c"build/cfree/selfhost.ludic:3568: index out of range: \00" @.str1363 = private unnamed_addr constant [54 x i8] c"build/cfree/selfhost.ludic:3568: index out of range: \00" @.str1364 = private unnamed_addr constant [1 x i8] c"\00" @.str1365 = private unnamed_addr constant [54 x i8] c"build/cfree/selfhost.ludic:3575: index out of range: \00" @.str1366 = private unnamed_addr constant [9 x i8] c"priv_mod\00" @.str1367 = private unnamed_addr constant [54 x i8] c"build/cfree/selfhost.ludic:3582: index out of range: \00" @.str1368 = private unnamed_addr constant [9 x i8] c"priv_run\00" @.str1369 = private unnamed_addr constant [54 x i8] c"build/cfree/selfhost.ludic:3583: index out of range: \00" @.str1370 = private unnamed_addr constant [1 x i8] c"\00" @.str1371 = private unnamed_addr constant [54 x i8] c"build/cfree/selfhost.ludic:3589: index out of range: \00" @.str1372 = private unnamed_addr constant [2 x i8] c"$\00" @.str1373 = private unnamed_addr constant [16 x i8] c"privates_rename\00" @.str1374 = private unnamed_addr constant [54 x i8] c"build/cfree/selfhost.ludic:3609: index out of range: \00" @.str1375 = private unnamed_addr constant [54 x i8] c"build/cfree/selfhost.ludic:3609: index out of range: \00" @.str1376 = private unnamed_addr constant [54 x i8] c"build/cfree/selfhost.ludic:3619: index out of range: \00" @.str1377 = private unnamed_addr constant [54 x i8] c"build/cfree/selfhost.ludic:3619: index out of range: \00" @.str1378 = private unnamed_addr constant [54 x i8] c"build/cfree/selfhost.ludic:3620: index out of range: \00" @.str1379 = private unnamed_addr constant [54 x i8] c"build/cfree/selfhost.ludic:3620: index out of range: \00" @.str1380 = private unnamed_addr constant [54 x i8] c"build/cfree/selfhost.ludic:3628: index out of range: \00" @.str1381 = private unnamed_addr constant [54 x i8] c"build/cfree/selfhost.ludic:3628: index out of range: \00" @.str1382 = private unnamed_addr constant [54 x i8] c"build/cfree/selfhost.ludic:3628: index out of range: \00" @.str1383 = private unnamed_addr constant [54 x i8] c"build/cfree/selfhost.ludic:3644: index out of range: \00" @.str1384 = private unnamed_addr constant [10 x i8] c"priv_find\00" @.str1385 = private unnamed_addr constant [54 x i8] c"build/cfree/selfhost.ludic:3644: index out of range: \00" @.str1386 = private unnamed_addr constant [54 x i8] c"build/cfree/selfhost.ludic:3645: index out of range: \00" @.str1387 = private unnamed_addr constant [54 x i8] c"build/cfree/selfhost.ludic:3645: index out of range: \00" @.str1388 = private unnamed_addr constant [54 x i8] c"build/cfree/selfhost.ludic:3654: index out of range: \00" @.str1389 = private unnamed_addr constant [11 x i8] c"priv_known\00" @.str1390 = private unnamed_addr constant [2 x i8] c",\00" @.str1391 = private unnamed_addr constant [14 x i8] c"priv_shadowed\00" @.str1392 = private unnamed_addr constant [2 x i8] c",\00" @.str1393 = private unnamed_addr constant [54 x i8] c"build/cfree/selfhost.ludic:3687: index out of range: \00" @.str1394 = private unnamed_addr constant [10 x i8] c"priv_walk\00" @.str1395 = private unnamed_addr constant [54 x i8] c"build/cfree/selfhost.ludic:3688: index out of range: \00" @.str1396 = private unnamed_addr constant [54 x i8] c"build/cfree/selfhost.ludic:3688: index out of range: \00" @.str1397 = private unnamed_addr constant [2 x i8] c",\00" @.str1398 = private unnamed_addr constant [2 x i8] c",\00" @.str1399 = private unnamed_addr constant [54 x i8] c"build/cfree/selfhost.ludic:3704: index out of range: \00" @.str1400 = private unnamed_addr constant [54 x i8] c"build/cfree/selfhost.ludic:3705: index out of range: \00" @.str1401 = private unnamed_addr constant [54 x i8] c"build/cfree/selfhost.ludic:3705: index out of range: \00" @.str1402 = private unnamed_addr constant [2 x i8] c",\00" @.str1403 = private unnamed_addr constant [54 x i8] c"build/cfree/selfhost.ludic:3720: index out of range: \00" @.str1404 = private unnamed_addr constant [10 x i8] c"priv_kids\00" @.str1405 = private unnamed_addr constant [54 x i8] c"build/cfree/selfhost.ludic:3728: index out of range: \00" @.str1406 = private unnamed_addr constant [14 x i8] c"priv_walk_all\00" @.str1407 = private unnamed_addr constant [2 x i8] c",\00" @.str1408 = private unnamed_addr constant [54 x i8] c"build/cfree/selfhost.ludic:3736: index out of range: \00" @.str1409 = private unnamed_addr constant [11 x i8] c"priv_apply\00" @.str1410 = private unnamed_addr constant [54 x i8] c"build/cfree/selfhost.ludic:3749: index out of range: \00" @.str1411 = private unnamed_addr constant [2 x i8] c",\00" @.str1412 = private unnamed_addr constant [54 x i8] c"build/cfree/selfhost.ludic:3766: index out of range: \00" @.str1413 = private unnamed_addr constant [54 x i8] c"build/cfree/selfhost.ludic:3766: index out of range: \00" @.str1414 = private unnamed_addr constant [54 x i8] c"build/cfree/selfhost.ludic:3767: index out of range: \00" @.str1415 = private unnamed_addr constant [54 x i8] c"build/cfree/selfhost.ludic:3790: index out of range: \00" @.str1416 = private unnamed_addr constant [6 x i8] c"pt_in\00" @.str1417 = private unnamed_addr constant [2 x i8] c"|\00" @.str1418 = private unnamed_addr constant [54 x i8] c"build/cfree/selfhost.ludic:3801: index out of range: \00" @.str1419 = private unnamed_addr constant [10 x i8] c"pt_pinned\00" @.str1420 = private unnamed_addr constant [2 x i8] c"|\00" @.str1421 = private unnamed_addr constant [2 x i8] c"|\00" @.str1422 = private unnamed_addr constant [2 x i8] c"|\00" @.str1423 = private unnamed_addr constant [54 x i8] c"build/cfree/selfhost.ludic:3801: index out of range: \00" @.str1424 = private unnamed_addr constant [2 x i8] c"<\00" @.str1425 = private unnamed_addr constant [54 x i8] c"build/cfree/selfhost.ludic:3806: index out of range: \00" @.str1426 = private unnamed_addr constant [54 x i8] c"build/cfree/selfhost.ludic:3810: index out of range: \00" @.str1427 = private unnamed_addr constant [54 x i8] c"build/cfree/selfhost.ludic:3823: index out of range: \00" @.str1428 = private unnamed_addr constant [11 x i8] c"pt_records\00" @.str1429 = private unnamed_addr constant [1 x i8] c"\00" @.str1430 = private unnamed_addr constant [54 x i8] c"build/cfree/selfhost.ludic:3829: index out of range: \00" @.str1431 = private unnamed_addr constant [3 x i8] c"__\00" @.str1432 = private unnamed_addr constant [54 x i8] c"build/cfree/selfhost.ludic:3845: index out of range: \00" @.str1433 = private unnamed_addr constant [10 x i8] c"pt_events\00" @.str1434 = private unnamed_addr constant [1 x i8] c"\00" @.str1435 = private unnamed_addr constant [1 x i8] c"\00" @.str1436 = private unnamed_addr constant [54 x i8] c"build/cfree/selfhost.ludic:3852: index out of range: \00" @.str1437 = private unnamed_addr constant [1 x i8] c"\00" @.str1438 = private unnamed_addr constant [3 x i8] c"__\00" @.str1439 = private unnamed_addr constant [1 x i8] c"\00" @.str1440 = private unnamed_addr constant [11 x i8] c"pt_rewrite\00" @.str1441 = private unnamed_addr constant [54 x i8] c"build/cfree/selfhost.ludic:3894: index out of range: \00" @.str1442 = private unnamed_addr constant [6 x i8] c"pt_ty\00" @.str1443 = private unnamed_addr constant [54 x i8] c"build/cfree/selfhost.ludic:3896: index out of range: \00" @.str1444 = private unnamed_addr constant [54 x i8] c"build/cfree/selfhost.ludic:3896: index out of range: \00" @.str1445 = private unnamed_addr constant [54 x i8] c"build/cfree/selfhost.ludic:3896: index out of range: \00" @.str1446 = private unnamed_addr constant [54 x i8] c"build/cfree/selfhost.ludic:3906: index out of range: \00" @.str1447 = private unnamed_addr constant [9 x i8] c"pt_event\00" @.str1448 = private unnamed_addr constant [54 x i8] c"build/cfree/selfhost.ludic:3906: index out of range: \00" @.str1449 = private unnamed_addr constant [54 x i8] c"build/cfree/selfhost.ludic:3906: index out of range: \00" @.str1450 = private unnamed_addr constant [54 x i8] c"build/cfree/selfhost.ludic:3922: index out of range: \00" @.str1451 = private unnamed_addr constant [8 x i8] c"pt_walk\00" @.str1452 = private unnamed_addr constant [54 x i8] c"build/cfree/selfhost.ludic:3931: index out of range: \00" @.str1453 = private unnamed_addr constant [12 x i8] c"pt_walk_all\00" @.str1454 = private unnamed_addr constant [54 x i8] c"build/cfree/selfhost.ludic:3938: index out of range: \00" @.str1455 = private unnamed_addr constant [9 x i8] c"pt_apply\00" @.str1456 = private unnamed_addr constant [54 x i8] c"build/cfree/selfhost.ludic:3942: index out of range: \00" @.str1457 = private unnamed_addr constant [54 x i8] c"build/cfree/selfhost.ludic:3942: index out of range: \00" @.str1458 = private unnamed_addr constant [54 x i8] c"build/cfree/selfhost.ludic:3943: index out of range: \00" @.str1459 = private unnamed_addr constant [54 x i8] c"build/cfree/selfhost.ludic:3953: index out of range: \00" @.str1460 = private unnamed_addr constant [54 x i8] c"build/cfree/selfhost.ludic:3959: index out of range: \00" @.str1461 = private unnamed_addr constant [54 x i8] c"build/cfree/selfhost.ludic:3976: index out of range: \00" @.str1462 = private unnamed_addr constant [54 x i8] c"build/cfree/selfhost.ludic:3976: index out of range: \00" @.str1463 = private unnamed_addr constant [54 x i8] c"build/cfree/selfhost.ludic:3976: index out of range: \00" @.str1464 = private unnamed_addr constant [54 x i8] c"build/cfree/selfhost.ludic:3987: index out of range: \00" @.str1465 = private unnamed_addr constant [16 x i8] c"pt_events_twice\00" @.str1466 = private unnamed_addr constant [54 x i8] c"build/cfree/selfhost.ludic:3987: index out of range: \00" @.str1467 = private unnamed_addr constant [54 x i8] c"build/cfree/selfhost.ludic:3987: index out of range: \00" @.str1468 = private unnamed_addr constant [54 x i8] c"build/cfree/selfhost.ludic:3988: index out of range: \00" @.str1469 = private unnamed_addr constant [54 x i8] c"build/cfree/selfhost.ludic:3989: index out of range: \00" @.str1470 = private unnamed_addr constant [8 x i8] c"event '\00" @.str1471 = private unnamed_addr constant [54 x i8] c"build/cfree/selfhost.ludic:3990: index out of range: \00" @.str1472 = private unnamed_addr constant [30 x i8] c"' is defined twice (first in \00" @.str1473 = private unnamed_addr constant [54 x i8] c"build/cfree/selfhost.ludic:3990: index out of range: \00" @.str1474 = private unnamed_addr constant [2 x i8] c":\00" @.str1475 = private unnamed_addr constant [54 x i8] c"build/cfree/selfhost.ludic:3990: index out of range: \00" @.str1476 = private unnamed_addr constant [2 x i8] c")\00" @.str1477 = private unnamed_addr constant [16 x i8] c"runtime/native/\00" @.str1478 = private unnamed_addr constant [18 x i8] c"state_params_onto\00" @.str1479 = private unnamed_addr constant [54 x i8] c"build/cfree/selfhost.ludic:4041: index out of range: \00" @.str1480 = private unnamed_addr constant [54 x i8] c"build/cfree/selfhost.ludic:4042: index out of range: \00" @.str1481 = private unnamed_addr constant [54 x i8] c"build/cfree/selfhost.ludic:4043: index out of range: \00" @.str1482 = private unnamed_addr constant [54 x i8] c"build/cfree/selfhost.ludic:4044: index out of range: \00" @.str1483 = private unnamed_addr constant [54 x i8] c"build/cfree/selfhost.ludic:4045: index out of range: \00" @.str1484 = private unnamed_addr constant [54 x i8] c"build/cfree/selfhost.ludic:4051: index out of range: \00" @.str1485 = private unnamed_addr constant [7 x i8] c"state$\00" @.str1486 = private unnamed_addr constant [13 x i8] c"state_global\00" @.str1487 = private unnamed_addr constant [54 x i8] c"build/cfree/selfhost.ludic:4062: index out of range: \00" @.str1488 = private unnamed_addr constant [12 x i8] c"is_state_ty\00" @.str1489 = private unnamed_addr constant [12 x i8] c"parse_state\00" @.str1490 = private unnamed_addr constant [54 x i8] c"build/cfree/selfhost.ludic:4087: index out of range: \00" @.str1491 = private unnamed_addr constant [16 x i8] c"parse_param_mut\00" @.str1492 = private unnamed_addr constant [4 x i8] c"mut\00" @.str1493 = private unnamed_addr constant [54 x i8] c"build/cfree/selfhost.ludic:4088: index out of range: \00" @.str1494 = private unnamed_addr constant [19 x i8] c"parse_entry_params\00" @.str1495 = private unnamed_addr constant [2 x i8] c"(\00" @.str1496 = private unnamed_addr constant [2 x i8] c")\00" @.str1497 = private unnamed_addr constant [2 x i8] c":\00" @.str1498 = private unnamed_addr constant [2 x i8] c",\00" @.str1499 = private unnamed_addr constant [2 x i8] c")\00" @.str1500 = private unnamed_addr constant [54 x i8] c"build/cfree/selfhost.ludic:4121: index out of range: \00" @.str1501 = private unnamed_addr constant [13 x i8] c"state_inject\00" @.str1502 = private unnamed_addr constant [54 x i8] c"build/cfree/selfhost.ludic:4122: index out of range: \00" @.str1503 = private unnamed_addr constant [54 x i8] c"build/cfree/selfhost.ludic:4131: index out of range: \00" @.str1504 = private unnamed_addr constant [54 x i8] c"build/cfree/selfhost.ludic:4138: index out of range: \00" @.str1505 = private unnamed_addr constant [54 x i8] c"build/cfree/selfhost.ludic:4143: index out of range: \00" @.str1506 = private unnamed_addr constant [54 x i8] c"build/cfree/selfhost.ludic:4151: index out of range: \00" @.str1507 = private unnamed_addr constant [54 x i8] c"build/cfree/selfhost.ludic:4165: index out of range: \00" @.str1508 = private unnamed_addr constant [14 x i8] c"ui_state_refs\00" @.str1509 = private unnamed_addr constant [54 x i8] c"build/cfree/selfhost.ludic:4172: index out of range: \00" @.str1510 = private unnamed_addr constant [17 x i8] c"ui_blocks_states\00" @.str1511 = private unnamed_addr constant [54 x i8] c"build/cfree/selfhost.ludic:4172: index out of range: \00" @.str1512 = private unnamed_addr constant [54 x i8] c"build/cfree/selfhost.ludic:4172: index out of range: \00" @.str1513 = private unnamed_addr constant [11 x i8] c"entry_bind\00" @.str1514 = private unnamed_addr constant [54 x i8] c"build/cfree/selfhost.ludic:4181: index out of range: \00" @.str1515 = private unnamed_addr constant [6 x i8] c"state\00" @.str1516 = private unnamed_addr constant [54 x i8] c"build/cfree/selfhost.ludic:4202: index out of range: \00" @.str1517 = private unnamed_addr constant [13 x i8] c"parse_action\00" @.str1518 = private unnamed_addr constant [54 x i8] c"build/cfree/selfhost.ludic:4243: index out of range: \00" @.str1519 = private unnamed_addr constant [14 x i8] c"parse_reducer\00" @.str1520 = private unnamed_addr constant [54 x i8] c"build/cfree/selfhost.ludic:4244: index out of range: \00" @.str1521 = private unnamed_addr constant [54 x i8] c"build/cfree/selfhost.ludic:4244: index out of range: \00" @.str1522 = private unnamed_addr constant [3 x i8] c"on\00" @.str1523 = private unnamed_addr constant [54 x i8] c"build/cfree/selfhost.ludic:4244: index out of range: \00" @.str1524 = private unnamed_addr constant [72 x i8] c"a reducer is `reducer State on Action(s: mut State, a: Action) { ... }`\00" @.str1525 = private unnamed_addr constant [54 x i8] c"build/cfree/selfhost.ludic:4247: index out of range: \00" @.str1526 = private unnamed_addr constant [54 x i8] c"build/cfree/selfhost.ludic:4249: index out of range: \00" @.str1527 = private unnamed_addr constant [9 x i8] c"function\00" @.str1528 = private unnamed_addr constant [15 x i8] c"ludic_reduce__\00" @.str1529 = private unnamed_addr constant [3 x i8] c"__\00" @.str1530 = private unnamed_addr constant [54 x i8] c"build/cfree/selfhost.ludic:4260: index out of range: \00" @.str1531 = private unnamed_addr constant [15 x i8] c"parse_dispatch\00" @.str1532 = private unnamed_addr constant [2 x i8] c"{\00" @.str1533 = private unnamed_addr constant [16 x i8] c"ludic_act_new__\00" @.str1534 = private unnamed_addr constant [15 x i8] c"ludic_act_push\00" @.str1535 = private unnamed_addr constant [54 x i8] c"build/cfree/selfhost.ludic:4295: index out of range: \00" @.str1536 = private unnamed_addr constant [10 x i8] c"act_index\00" @.str1537 = private unnamed_addr constant [54 x i8] c"build/cfree/selfhost.ludic:4316: index out of range: \00" @.str1538 = private unnamed_addr constant [15 x i8] c"actions_finish\00" @.str1539 = private unnamed_addr constant [54 x i8] c"build/cfree/selfhost.ludic:4317: index out of range: \00" @.str1540 = private unnamed_addr constant [10 x i8] c"dispatch \00" @.str1541 = private unnamed_addr constant [54 x i8] c"build/cfree/selfhost.ludic:4317: index out of range: \00" @.str1542 = private unnamed_addr constant [3 x i8] c": \00" @.str1543 = private unnamed_addr constant [54 x i8] c"build/cfree/selfhost.ludic:4317: index out of range: \00" @.str1544 = private unnamed_addr constant [44 x i8] c" is not an action - declare it with action \00" @.str1545 = private unnamed_addr constant [54 x i8] c"build/cfree/selfhost.ludic:4317: index out of range: \00" @.str1546 = private unnamed_addr constant [9 x i8] c" { ... }\00" @.str1547 = private unnamed_addr constant [54 x i8] c"build/cfree/selfhost.ludic:4318: index out of range: \00" @.str1548 = private unnamed_addr constant [45 x i8] c"export function drain_actions() -> void {\0A}\0A\00" @.str1549 = private unnamed_addr constant [54 x i8] c"build/cfree/selfhost.ludic:4334: index out of range: \00" @.str1550 = private unnamed_addr constant [10 x i8] c"red_check\00" @.str1551 = private unnamed_addr constant [54 x i8] c"build/cfree/selfhost.ludic:4335: index out of range: \00" @.str1552 = private unnamed_addr constant [54 x i8] c"build/cfree/selfhost.ludic:4336: index out of range: \00" @.str1553 = private unnamed_addr constant [9 x i8] c"reducer \00" @.str1554 = private unnamed_addr constant [5 x i8] c" on \00" @.str1555 = private unnamed_addr constant [3 x i8] c": \00" @.str1556 = private unnamed_addr constant [44 x i8] c" is not an action - declare it with action \00" @.str1557 = private unnamed_addr constant [9 x i8] c" { ... }\00" @.str1558 = private unnamed_addr constant [9 x i8] c"reducer \00" @.str1559 = private unnamed_addr constant [5 x i8] c" on \00" @.str1560 = private unnamed_addr constant [3 x i8] c": \00" @.str1561 = private unnamed_addr constant [16 x i8] c" is not a state\00" @.str1562 = private unnamed_addr constant [54 x i8] c"build/cfree/selfhost.ludic:4342: index out of range: \00" @.str1563 = private unnamed_addr constant [54 x i8] c"build/cfree/selfhost.ludic:4342: index out of range: \00" @.str1564 = private unnamed_addr constant [54 x i8] c"build/cfree/selfhost.ludic:4348: index out of range: \00" @.str1565 = private unnamed_addr constant [9 x i8] c"reducer \00" @.str1566 = private unnamed_addr constant [5 x i8] c" on \00" @.str1567 = private unnamed_addr constant [3 x i8] c": \00" @.str1568 = private unnamed_addr constant [7 x i8] c" is a \00" @.str1569 = private unnamed_addr constant [116 x i8] c" - between its state and the action a reducer takes only states it reads; what it needs to know rides in the action\00" @.str1570 = private unnamed_addr constant [9 x i8] c"reducer \00" @.str1571 = private unnamed_addr constant [5 x i8] c" on \00" @.str1572 = private unnamed_addr constant [35 x i8] c": a reducer writes one state, and \00" @.str1573 = private unnamed_addr constant [11 x i8] c" is a mut \00" @.str1574 = private unnamed_addr constant [13 x i8] c" - read it (\00" @.str1575 = private unnamed_addr constant [3 x i8] c": \00" @.str1576 = private unnamed_addr constant [26 x i8] c"), or dispatch an action \00" @.str1577 = private unnamed_addr constant [21 x i8] c"'s own reducer takes\00" @.str1578 = private unnamed_addr constant [54 x i8] c"build/cfree/selfhost.ludic:4353: index out of range: \00" @.str1579 = private unnamed_addr constant [54 x i8] c"build/cfree/selfhost.ludic:4353: index out of range: \00" @.str1580 = private unnamed_addr constant [9 x i8] c"reducer \00" @.str1581 = private unnamed_addr constant [5 x i8] c" on \00" @.str1582 = private unnamed_addr constant [72 x i8] c": its parameters are its state, any states it reads, and the action - (\00" @.str1583 = private unnamed_addr constant [7 x i8] c": mut \00" @.str1584 = private unnamed_addr constant [6 x i8] c", a: \00" @.str1585 = private unnamed_addr constant [2 x i8] c")\00" @.str1586 = private unnamed_addr constant [54 x i8] c"build/cfree/selfhost.ludic:4358: index out of range: \00" @.str1587 = private unnamed_addr constant [54 x i8] c"build/cfree/selfhost.ludic:4358: index out of range: \00" @.str1588 = private unnamed_addr constant [9 x i8] c"reducer \00" @.str1589 = private unnamed_addr constant [5 x i8] c" on \00" @.str1590 = private unnamed_addr constant [30 x i8] c" is declared twice (first at \00" @.str1591 = private unnamed_addr constant [54 x i8] c"build/cfree/selfhost.ludic:4358: index out of range: \00" @.str1592 = private unnamed_addr constant [2 x i8] c":\00" @.str1593 = private unnamed_addr constant [54 x i8] c"build/cfree/selfhost.ludic:4358: index out of range: \00" @.str1594 = private unnamed_addr constant [2 x i8] c")\00" @.str1595 = private unnamed_addr constant [123 x i8] c"export state LudicActions {\0A kinds: []int = new []int\0A vals: []pointer = new []pointer\0A head: int = 0\0A depth: int = 0\0A\00" @.str1596 = private unnamed_addr constant [7 x i8] c" kept\00" @.str1597 = private unnamed_addr constant [8 x i8] c"act_src\00" @.str1598 = private unnamed_addr constant [5 x i8] c": []\00" @.str1599 = private unnamed_addr constant [54 x i8] c"build/cfree/selfhost.ludic:4367: index out of range: \00" @.str1600 = private unnamed_addr constant [10 x i8] c" = new []\00" @.str1601 = private unnamed_addr constant [54 x i8] c"build/cfree/selfhost.ludic:4367: index out of range: \00" @.str1602 = private unnamed_addr constant [8 x i8] c"\0A used\00" @.str1603 = private unnamed_addr constant [11 x i8] c": int = 0\0A\00" @.str1604 = private unnamed_addr constant [3 x i8] c"}\0A\00" @.str1605 = private unnamed_addr constant [122 x i8] c"export function ludic_act_push(q: mut LudicActions, k: int, v: pointer) -> void {\0A push(q.kinds, k)\0A push(q.vals, v)\0A}\0A\00" @.str1606 = private unnamed_addr constant [171 x i8] c"export function drain_actions(q: mut LudicActions) -> void {\0A if q.depth > 0 or len(q.kinds) == 0 { return }\0A q.depth = 1\0A var pass = 0\0A var round_end = len(q.kinds)\0A\00" @.str1607 = private unnamed_addr constant [109 x i8] c" while q.head < len(q.kinds) {\0A if q.head == round_end {\0A pass += 1\0A round_end = len(q.kinds)\0A\00" @.str1608 = private unnamed_addr constant [18 x i8] c" if pass >= \00" @.str1609 = private unnamed_addr constant [47 x i8] c" { ludic_act_runaway(q.kinds[q.head]) }\0A }\0A\00" @.str1610 = private unnamed_addr constant [72 x i8] c" let k = q.kinds[q.head]\0A let v = q.vals[q.head]\0A q.head += 1\0A\00" @.str1611 = private unnamed_addr constant [54 x i8] c"build/cfree/selfhost.ludic:4379: index out of range: \00" @.str1612 = private unnamed_addr constant [13 x i8] c" if k == \00" @.str1613 = private unnamed_addr constant [4 x i8] c" {\0A\00" @.str1614 = private unnamed_addr constant [7 x i8] c" \00" @.str1615 = private unnamed_addr constant [54 x i8] c"build/cfree/selfhost.ludic:4384: index out of range: \00" @.str1616 = private unnamed_addr constant [54 x i8] c"build/cfree/selfhost.ludic:4384: index out of range: \00" @.str1617 = private unnamed_addr constant [5 x i8] c"(v)\0A\00" @.str1618 = private unnamed_addr constant [7 x i8] c" }\0A\00" @.str1619 = private unnamed_addr constant [75 x i8] c" }\0A List.clear(q.kinds)\0A List.clear(q.vals)\0A q.head = 0\0A q.depth = 0\0A\00" @.str1620 = private unnamed_addr constant [9 x i8] c" q.used\00" @.str1621 = private unnamed_addr constant [6 x i8] c" = 0\0A\00" @.str1622 = private unnamed_addr constant [3 x i8] c"}\0A\00" @.str1623 = private unnamed_addr constant [70 x i8] c"export function ludic_act_runaway(k: int) -> void {\0A var name = \22?\22\0A\00" @.str1624 = private unnamed_addr constant [11 x i8] c" if k == \00" @.str1625 = private unnamed_addr constant [12 x i8] c" { name = \22\00" @.str1626 = private unnamed_addr constant [54 x i8] c"build/cfree/selfhost.ludic:4401: index out of range: \00" @.str1627 = private unnamed_addr constant [5 x i8] c"\22 }\0A\00" @.str1628 = private unnamed_addr constant [58 x i8] c" print(`actions: {name} is still being dispatched after \00" @.str1629 = private unnamed_addr constant [77 x i8] c" rounds of reducers - a reducer dispatches what dispatches it`)\0A exit(1)\0A}\0A\00" @.str1630 = private unnamed_addr constant [1 x i8] c"\00" @.str1631 = private unnamed_addr constant [54 x i8] c"build/cfree/selfhost.ludic:4413: index out of range: \00" @.str1632 = private unnamed_addr constant [12 x i8] c"act_new_src\00" @.str1633 = private unnamed_addr constant [32 x i8] c"export function ludic_act_new__\00" @.str1634 = private unnamed_addr constant [26 x i8] c"(q: mut LudicActions) -> \00" @.str1635 = private unnamed_addr constant [15 x i8] c" {\0A if q.used\00" @.str1636 = private unnamed_addr constant [15 x i8] c" >= len(q.kept\00" @.str1637 = private unnamed_addr constant [16 x i8] c") { push(q.kept\00" @.str1638 = private unnamed_addr constant [7 x i8] c", new \00" @.str1639 = private unnamed_addr constant [13 x i8] c") }\0A q.used\00" @.str1640 = private unnamed_addr constant [22 x i8] c" += 1\0A return q.kept\00" @.str1641 = private unnamed_addr constant [8 x i8] c"[q.used\00" @.str1642 = private unnamed_addr constant [9 x i8] c" - 1]\0A}\0A\00" @.str1643 = private unnamed_addr constant [11 x i8] c"red_sorted\00" @.str1644 = private unnamed_addr constant [54 x i8] c"build/cfree/selfhost.ludic:4424: index out of range: \00" @.str1645 = private unnamed_addr constant [54 x i8] c"build/cfree/selfhost.ludic:4429: index out of range: \00" @.str1646 = private unnamed_addr constant [54 x i8] c"build/cfree/selfhost.ludic:4431: index out of range: \00" @.str1647 = private unnamed_addr constant [54 x i8] c"build/cfree/selfhost.ludic:4431: index out of range: \00" @.str1648 = private unnamed_addr constant [54 x i8] c"build/cfree/selfhost.ludic:4431: index out of range: \00" @.str1649 = private unnamed_addr constant [54 x i8] c"build/cfree/selfhost.ludic:4432: index out of range: \00" @.str1650 = private unnamed_addr constant [54 x i8] c"build/cfree/selfhost.ludic:4432: index out of range: \00" @.str1651 = private unnamed_addr constant [54 x i8] c"build/cfree/selfhost.ludic:4435: index out of range: \00" @.str1652 = private unnamed_addr constant [14 x i8] c"drain_actions\00" @.str1653 = private unnamed_addr constant [15 x i8] c"ludic_act_push\00" @.str1654 = private unnamed_addr constant [16 x i8] c"ludic_act_new__\00" @.str1655 = private unnamed_addr constant [1 x i8] c"\00" @.str1656 = private unnamed_addr constant [9 x i8] c"mg_camel\00" @.str1657 = private unnamed_addr constant [13 x i8] c"mg_param_for\00" @.str1658 = private unnamed_addr constant [6 x i8] c"State\00" @.str1659 = private unnamed_addr constant [1 x i8] c"\00" @.str1660 = private unnamed_addr constant [2 x i8] c"_\00" @.str1661 = private unnamed_addr constant [4 x i8] c"_st\00" @.str1662 = private unnamed_addr constant [9 x i8] c"mg_short\00" @.str1663 = private unnamed_addr constant [7 x i8] c"ludic_\00" @.str1664 = private unnamed_addr constant [17 x i8] c"mg_state_of_file\00" @.str1665 = private unnamed_addr constant [7 x i8] c".ludic\00" @.str1666 = private unnamed_addr constant [2 x i8] c"@\00" @.str1667 = private unnamed_addr constant [4 x i8] c"rt_\00" @.str1668 = private unnamed_addr constant [1 x i8] c"\00" @.str1669 = private unnamed_addr constant [54 x i8] c"build/cfree/selfhost.ludic:4556: index out of range: \00" @.str1670 = private unnamed_addr constant [1 x i8] c"\00" @.str1671 = private unnamed_addr constant [1 x i8] c"\00" @.str1672 = private unnamed_addr constant [1 x i8] c"\00" @.str1673 = private unnamed_addr constant [1 x i8] c"\00" @.str1674 = private unnamed_addr constant [5 x i8] c"_app\00" @.str1675 = private unnamed_addr constant [1 x i8] c"\00" @.str1676 = private unnamed_addr constant [1 x i8] c"\00" @.str1677 = private unnamed_addr constant [2 x i8] c"@\00" @.str1678 = private unnamed_addr constant [12 x i8] c"mg_dir_name\00" @.str1679 = private unnamed_addr constant [10 x i8] c"packages/\00" @.str1680 = private unnamed_addr constant [1 x i8] c"\00" @.str1681 = private unnamed_addr constant [7 x i8] c"ludic.\00" @.str1682 = private unnamed_addr constant [1 x i8] c"\00" @.str1683 = private unnamed_addr constant [2 x i8] c"_\00" @.str1684 = private unnamed_addr constant [54 x i8] c"build/cfree/selfhost.ludic:4606: index out of range: \00" @.str1685 = private unnamed_addr constant [16 x i8] c"mg_state_of_mod\00" @.str1686 = private unnamed_addr constant [6 x i8] c"State\00" @.str1687 = private unnamed_addr constant [54 x i8] c"build/cfree/selfhost.ludic:4613: index out of range: \00" @.str1688 = private unnamed_addr constant [54 x i8] c"build/cfree/selfhost.ludic:4614: index out of range: \00" @.str1689 = private unnamed_addr constant [4 x i8] c"_st\00" @.str1690 = private unnamed_addr constant [54 x i8] c"build/cfree/selfhost.ludic:4627: index out of range: \00" @.str1691 = private unnamed_addr constant [13 x i8] c"mg_state_key\00" @.str1692 = private unnamed_addr constant [1 x i8] c"\00" @.str1693 = private unnamed_addr constant [9 x i8] c"program:\00" @.str1694 = private unnamed_addr constant [54 x i8] c"build/cfree/selfhost.ludic:4633: index out of range: \00" @.str1695 = private unnamed_addr constant [8 x i8] c"module:\00" @.str1696 = private unnamed_addr constant [2 x i8] c"@\00" @.str1697 = private unnamed_addr constant [54 x i8] c"build/cfree/selfhost.ludic:4633: index out of range: \00" @.str1698 = private unnamed_addr constant [9 x i8] c"package:\00" @.str1699 = private unnamed_addr constant [16 x i8] c"packages/ludic.\00" @.str1700 = private unnamed_addr constant [13 x i8] c"mg_pkg_named\00" @.str1701 = private unnamed_addr constant [15 x i8] c"/package.ludic\00" @.str1702 = private unnamed_addr constant [14 x i8] c"LUDIC_MODULES\00" @.str1703 = private unnamed_addr constant [14 x i8] c"ludic_modules\00" @.str1704 = private unnamed_addr constant [7 x i8] c"ludic.\00" @.str1705 = private unnamed_addr constant [15 x i8] c"/package.ludic\00" @.str1706 = private unnamed_addr constant [54 x i8] c"build/cfree/selfhost.ludic:4647: index out of range: \00" @.str1707 = private unnamed_addr constant [14 x i8] c"mg_state_decl\00" @.str1708 = private unnamed_addr constant [54 x i8] c"build/cfree/selfhost.ludic:4647: index out of range: \00" @.str1709 = private unnamed_addr constant [54 x i8] c"build/cfree/selfhost.ludic:4647: index out of range: \00" @.str1710 = private unnamed_addr constant [54 x i8] c"build/cfree/selfhost.ludic:4647: index out of range: \00" @.str1711 = private unnamed_addr constant [12 x i8] c"mg_src_name\00" @.str1712 = private unnamed_addr constant [9 x i8] c"runtime/\00" @.str1713 = private unnamed_addr constant [54 x i8] c"build/cfree/selfhost.ludic:4677: index out of range: \00" @.str1714 = private unnamed_addr constant [13 x i8] c"mg_field_var\00" @.str1715 = private unnamed_addr constant [54 x i8] c"build/cfree/selfhost.ludic:4677: index out of range: \00" @.str1716 = private unnamed_addr constant [54 x i8] c"build/cfree/selfhost.ludic:4684: index out of range: \00" @.str1717 = private unnamed_addr constant [54 x i8] c"build/cfree/selfhost.ludic:4714: index out of range: \00" @.str1718 = private unnamed_addr constant [11 x i8] c"mg_collect\00" @.str1719 = private unnamed_addr constant [54 x i8] c"build/cfree/selfhost.ludic:4722: index out of range: \00" @.str1720 = private unnamed_addr constant [8 x i8] c"mg_unit\00" @.str1721 = private unnamed_addr constant [2 x i8] c",\00" @.str1722 = private unnamed_addr constant [2 x i8] c",\00" @.str1723 = private unnamed_addr constant [54 x i8] c"build/cfree/selfhost.ludic:4738: index out of range: \00" @.str1724 = private unnamed_addr constant [54 x i8] c"build/cfree/selfhost.ludic:4738: index out of range: \00" @.str1725 = private unnamed_addr constant [54 x i8] c"build/cfree/selfhost.ludic:4739: index out of range: \00" @.str1726 = private unnamed_addr constant [54 x i8] c"build/cfree/selfhost.ludic:4741: index out of range: \00" @.str1727 = private unnamed_addr constant [54 x i8] c"build/cfree/selfhost.ludic:4751: index out of range: \00" @.str1728 = private unnamed_addr constant [15 x i8] c"mg_state_named\00" @.str1729 = private unnamed_addr constant [2 x i8] c"=\00" @.str1730 = private unnamed_addr constant [2 x i8] c",\00" @.str1731 = private unnamed_addr constant [8 x i8] c"mg_need\00" @.str1732 = private unnamed_addr constant [2 x i8] c",\00" @.str1733 = private unnamed_addr constant [54 x i8] c"build/cfree/selfhost.ludic:4765: index out of range: \00" @.str1734 = private unnamed_addr constant [54 x i8] c"build/cfree/selfhost.ludic:4766: index out of range: \00" @.str1735 = private unnamed_addr constant [54 x i8] c"build/cfree/selfhost.ludic:4766: index out of range: \00" @.str1736 = private unnamed_addr constant [2 x i8] c",\00" @.str1737 = private unnamed_addr constant [54 x i8] c"build/cfree/selfhost.ludic:4769: index out of range: \00" @.str1738 = private unnamed_addr constant [54 x i8] c"build/cfree/selfhost.ludic:4770: index out of range: \00" @.str1739 = private unnamed_addr constant [54 x i8] c"build/cfree/selfhost.ludic:4770: index out of range: \00" @.str1740 = private unnamed_addr constant [2 x i8] c",\00" @.str1741 = private unnamed_addr constant [7 x i8] c"mg_ref\00" @.str1742 = private unnamed_addr constant [54 x i8] c"build/cfree/selfhost.ludic:4790: index out of range: \00" @.str1743 = private unnamed_addr constant [9 x i8] c"mg_write\00" @.str1744 = private unnamed_addr constant [67 x i8] c" is the runtime's; change it through the runtime's function for it\00" @.str1745 = private unnamed_addr constant [54 x i8] c"build/cfree/selfhost.ludic:4795: index out of range: \00" @.str1746 = private unnamed_addr constant [54 x i8] c"build/cfree/selfhost.ludic:4802: index out of range: \00" @.str1747 = private unnamed_addr constant [15 x i8] c"mg_decide_lets\00" @.str1748 = private unnamed_addr constant [54 x i8] c"build/cfree/selfhost.ludic:4803: index out of range: \00" @.str1749 = private unnamed_addr constant [54 x i8] c"build/cfree/selfhost.ludic:4803: index out of range: \00" @.str1750 = private unnamed_addr constant [54 x i8] c"build/cfree/selfhost.ludic:4803: index out of range: \00" @.str1751 = private unnamed_addr constant [54 x i8] c"build/cfree/selfhost.ludic:4808: index out of range: \00" @.str1752 = private unnamed_addr constant [54 x i8] c"build/cfree/selfhost.ludic:4808: index out of range: \00" @.str1753 = private unnamed_addr constant [54 x i8] c"build/cfree/selfhost.ludic:4808: index out of range: \00" @.str1754 = private unnamed_addr constant [54 x i8] c"build/cfree/selfhost.ludic:4808: index out of range: \00" @.str1755 = private unnamed_addr constant [54 x i8] c"build/cfree/selfhost.ludic:4808: index out of range: \00" @.str1756 = private unnamed_addr constant [1 x i8] c"\00" @.str1757 = private unnamed_addr constant [10 x i8] c"packages/\00" @.str1758 = private unnamed_addr constant [11 x i8] c"/packages/\00" @.str1759 = private unnamed_addr constant [15 x i8] c"ludic_modules/\00" @.str1760 = private unnamed_addr constant [1 x i8] c"\00" @.str1761 = private unnamed_addr constant [13 x i8] c"s_has_prefix\00" @.str1762 = private unnamed_addr constant [54 x i8] c"build/cfree/selfhost.ludic:4827: index out of range: \00" @.str1763 = private unnamed_addr constant [18 x i8] c"mg_runtime_reader\00" @.str1764 = private unnamed_addr constant [54 x i8] c"build/cfree/selfhost.ludic:4828: index out of range: \00" @.str1765 = private unnamed_addr constant [54 x i8] c"build/cfree/selfhost.ludic:4832: index out of range: \00" @.str1766 = private unnamed_addr constant [54 x i8] c"build/cfree/selfhost.ludic:4832: index out of range: \00" @.str1767 = private unnamed_addr constant [54 x i8] c"build/cfree/selfhost.ludic:4835: index out of range: \00" @.str1768 = private unnamed_addr constant [4 x i8] c"int\00" @.str1769 = private unnamed_addr constant [6 x i8] c"float\00" @.str1770 = private unnamed_addr constant [6 x i8] c"fixed\00" @.str1771 = private unnamed_addr constant [5 x i8] c"long\00" @.str1772 = private unnamed_addr constant [5 x i8] c"bool\00" @.str1773 = private unnamed_addr constant [7 x i8] c"string\00" @.str1774 = private unnamed_addr constant [5 x i8] c"byte\00" @.str1775 = private unnamed_addr constant [54 x i8] c"build/cfree/selfhost.ludic:4852: index out of range: \00" @.str1776 = private unnamed_addr constant [14 x i8] c"mg_read_needs\00" @.str1777 = private unnamed_addr constant [54 x i8] c"build/cfree/selfhost.ludic:4853: index out of range: \00" @.str1778 = private unnamed_addr constant [54 x i8] c"build/cfree/selfhost.ludic:4854: index out of range: \00" @.str1779 = private unnamed_addr constant [54 x i8] c"build/cfree/selfhost.ludic:4855: index out of range: \00" @.str1780 = private unnamed_addr constant [5 x i8] c"REF \00" @.str1781 = private unnamed_addr constant [2 x i8] c" \00" @.str1782 = private unnamed_addr constant [2 x i8] c" \00" @.str1783 = private unnamed_addr constant [2 x i8] c" \00" @.str1784 = private unnamed_addr constant [3 x i8] c"()\00" @.str1785 = private unnamed_addr constant [1 x i8] c"\00" @.str1786 = private unnamed_addr constant [65 x i8] c" is the runtime's; read it through the runtime's function for it\00" @.str1787 = private unnamed_addr constant [54 x i8] c"build/cfree/selfhost.ludic:4863: index out of range: \00" @.str1788 = private unnamed_addr constant [54 x i8] c"build/cfree/selfhost.ludic:4864: index out of range: \00" @.str1789 = private unnamed_addr constant [54 x i8] c"build/cfree/selfhost.ludic:4865: index out of range: \00" @.str1790 = private unnamed_addr constant [72 x i8] c" is read where no function is (a global's initializer); move it by hand\00" @.str1791 = private unnamed_addr constant [16 x i8] c"a reference to \00" @.str1792 = private unnamed_addr constant [62 x i8] c" in generated code (a component, a view, a registry's lookup)\00" @.str1793 = private unnamed_addr constant [8 x i8] c"mg_call\00" @.str1794 = private unnamed_addr constant [54 x i8] c"build/cfree/selfhost.ludic:4883: index out of range: \00" @.str1795 = private unnamed_addr constant [54 x i8] c"build/cfree/selfhost.ludic:4884: index out of range: \00" @.str1796 = private unnamed_addr constant [54 x i8] c"build/cfree/selfhost.ludic:4885: index out of range: \00" @.str1797 = private unnamed_addr constant [54 x i8] c"build/cfree/selfhost.ludic:4895: index out of range: \00" @.str1798 = private unnamed_addr constant [14 x i8] c"mg_state_args\00" @.str1799 = private unnamed_addr constant [54 x i8] c"build/cfree/selfhost.ludic:4902: index out of range: \00" @.str1800 = private unnamed_addr constant [54 x i8] c"build/cfree/selfhost.ludic:4906: index out of range: \00" @.str1801 = private unnamed_addr constant [54 x i8] c"build/cfree/selfhost.ludic:4907: index out of range: \00" @.str1802 = private unnamed_addr constant [54 x i8] c"build/cfree/selfhost.ludic:4916: index out of range: \00" @.str1803 = private unnamed_addr constant [54 x i8] c"build/cfree/selfhost.ludic:4931: index out of range: \00" @.str1804 = private unnamed_addr constant [15 x i8] c"mg_declared_ty\00" @.str1805 = private unnamed_addr constant [54 x i8] c"build/cfree/selfhost.ludic:4931: index out of range: \00" @.str1806 = private unnamed_addr constant [2 x i8] c"?\00" @.str1807 = private unnamed_addr constant [2 x i8] c":\00" @.str1808 = private unnamed_addr constant [7 x i8] c"mg_say\00" @.str1809 = private unnamed_addr constant [3 x i8] c"? \00" @.str1810 = private unnamed_addr constant [2 x i8] c" \00" @.str1811 = private unnamed_addr constant [54 x i8] c"build/cfree/selfhost.ludic:4960: index out of range: \00" @.str1812 = private unnamed_addr constant [12 x i8] c"mg_fixpoint\00" @.str1813 = private unnamed_addr constant [54 x i8] c"build/cfree/selfhost.ludic:4961: index out of range: \00" @.str1814 = private unnamed_addr constant [54 x i8] c"build/cfree/selfhost.ludic:4962: index out of range: \00" @.str1815 = private unnamed_addr constant [54 x i8] c"build/cfree/selfhost.ludic:4965: index out of range: \00" @.str1816 = private unnamed_addr constant [54 x i8] c"build/cfree/selfhost.ludic:4966: index out of range: \00" @.str1817 = private unnamed_addr constant [2 x i8] c",\00" @.str1818 = private unnamed_addr constant [2 x i8] c",\00" @.str1819 = private unnamed_addr constant [8 x i8] c"mg_list\00" @.str1820 = private unnamed_addr constant [54 x i8] c"build/cfree/selfhost.ludic:4993: index out of range: \00" @.str1821 = private unnamed_addr constant [54 x i8] c"build/cfree/selfhost.ludic:4995: index out of range: \00" @.str1822 = private unnamed_addr constant [54 x i8] c"build/cfree/selfhost.ludic:4995: index out of range: \00" @.str1823 = private unnamed_addr constant [54 x i8] c"build/cfree/selfhost.ludic:4995: index out of range: \00" @.str1824 = private unnamed_addr constant [54 x i8] c"build/cfree/selfhost.ludic:4996: index out of range: \00" @.str1825 = private unnamed_addr constant [54 x i8] c"build/cfree/selfhost.ludic:4996: index out of range: \00" @.str1826 = private unnamed_addr constant [54 x i8] c"build/cfree/selfhost.ludic:4999: index out of range: \00" @.str1827 = private unnamed_addr constant [54 x i8] c"build/cfree/selfhost.ludic:5009: index out of range: \00" @.str1828 = private unnamed_addr constant [12 x i8] c"mg_declared\00" @.str1829 = private unnamed_addr constant [54 x i8] c"build/cfree/selfhost.ludic:5009: index out of range: \00" @.str1830 = private unnamed_addr constant [54 x i8] c"build/cfree/selfhost.ludic:5009: index out of range: \00" @.str1831 = private unnamed_addr constant [54 x i8] c"build/cfree/selfhost.ludic:5020: index out of range: \00" @.str1832 = private unnamed_addr constant [17 x i8] c"mg_declared_late\00" @.str1833 = private unnamed_addr constant [54 x i8] c"build/cfree/selfhost.ludic:5021: index out of range: \00" @.str1834 = private unnamed_addr constant [54 x i8] c"build/cfree/selfhost.ludic:5022: index out of range: \00" @.str1835 = private unnamed_addr constant [54 x i8] c"build/cfree/selfhost.ludic:5022: index out of range: \00" @.str1836 = private unnamed_addr constant [54 x i8] c"build/cfree/selfhost.ludic:5029: index out of range: \00" @.str1837 = private unnamed_addr constant [14 x i8] c"mg_param_text\00" @.str1838 = private unnamed_addr constant [2 x i8] c",\00" @.str1839 = private unnamed_addr constant [2 x i8] c",\00" @.str1840 = private unnamed_addr constant [54 x i8] c"build/cfree/selfhost.ludic:5029: index out of range: \00" @.str1841 = private unnamed_addr constant [7 x i8] c": mut \00" @.str1842 = private unnamed_addr constant [54 x i8] c"build/cfree/selfhost.ludic:5029: index out of range: \00" @.str1843 = private unnamed_addr constant [54 x i8] c"build/cfree/selfhost.ludic:5030: index out of range: \00" @.str1844 = private unnamed_addr constant [3 x i8] c": \00" @.str1845 = private unnamed_addr constant [54 x i8] c"build/cfree/selfhost.ludic:5030: index out of range: \00" @.str1846 = private unnamed_addr constant [8 x i8] c"mg_emit\00" @.str1847 = private unnamed_addr constant [13 x i8] c"mg_norm_line\00" @.str1848 = private unnamed_addr constant [54 x i8] c"build/cfree/selfhost.ludic:5050: index out of range: \00" @.str1849 = private unnamed_addr constant [4 x i8] c"VAR\00" @.str1850 = private unnamed_addr constant [4 x i8] c"REF\00" @.str1851 = private unnamed_addr constant [4 x i8] c"INS\00" @.str1852 = private unnamed_addr constant [4 x i8] c"LET\00" @.str1853 = private unnamed_addr constant [6 x i8] c"CLOSE\00" @.str1854 = private unnamed_addr constant [8 x i8] c"DELITEM\00" @.str1855 = private unnamed_addr constant [7 x i8] c"DELMUT\00" @.str1856 = private unnamed_addr constant [54 x i8] c"build/cfree/selfhost.ludic:5051: index out of range: \00" @.str1857 = private unnamed_addr constant [54 x i8] c"build/cfree/selfhost.ludic:5051: index out of range: \00" @.str1858 = private unnamed_addr constant [2 x i8] c"?\00" @.str1859 = private unnamed_addr constant [54 x i8] c"build/cfree/selfhost.ludic:5052: index out of range: \00" @.str1860 = private unnamed_addr constant [54 x i8] c"build/cfree/selfhost.ludic:5052: index out of range: \00" @.str1861 = private unnamed_addr constant [4 x i8] c"VAR\00" @.str1862 = private unnamed_addr constant [54 x i8] c"build/cfree/selfhost.ludic:5053: index out of range: \00" @.str1863 = private unnamed_addr constant [54 x i8] c"build/cfree/selfhost.ludic:5053: index out of range: \00" @.str1864 = private unnamed_addr constant [6 x i8] c"STATE\00" @.str1865 = private unnamed_addr constant [54 x i8] c"build/cfree/selfhost.ludic:5055: index out of range: \00" @.str1866 = private unnamed_addr constant [54 x i8] c"build/cfree/selfhost.ludic:5055: index out of range: \00" @.str1867 = private unnamed_addr constant [54 x i8] c"build/cfree/selfhost.ludic:5056: index out of range: \00" @.str1868 = private unnamed_addr constant [54 x i8] c"build/cfree/selfhost.ludic:5056: index out of range: \00" @.str1869 = private unnamed_addr constant [54 x i8] c"build/cfree/selfhost.ludic:5058: index out of range: \00" @.str1870 = private unnamed_addr constant [2 x i8] c" \00" @.str1871 = private unnamed_addr constant [54 x i8] c"build/cfree/selfhost.ludic:5061: index out of range: \00" @.str1872 = private unnamed_addr constant [12 x i8] c"mg_norm_key\00" @.str1873 = private unnamed_addr constant [1 x i8] c"\00" @.str1874 = private unnamed_addr constant [9 x i8] c"packages\00" @.str1875 = private unnamed_addr constant [10 x i8] c"/packages\00" @.str1876 = private unnamed_addr constant [1 x i8] c"\00" @.str1877 = private unnamed_addr constant [2 x i8] c"_\00" @.str1878 = private unnamed_addr constant [9 x i8] c"package:\00" @.str1879 = private unnamed_addr constant [2 x i8] c"@\00" @.str1880 = private unnamed_addr constant [9 x i8] c"package:\00" @.str1881 = private unnamed_addr constant [8 x i8] c"program\00" @.str1882 = private unnamed_addr constant [9 x i8] c"program:\00" @.str1883 = private unnamed_addr constant [4 x i8] c"PWD\00" @.str1884 = private unnamed_addr constant [2 x i8] c"/\00" @.str1885 = private unnamed_addr constant [8 x i8] c"mg_norm\00" @.str1886 = private unnamed_addr constant [3 x i8] c"..\00" @.str1887 = private unnamed_addr constant [54 x i8] c"build/cfree/selfhost.ludic:5125: index out of range: \00" @.str1888 = private unnamed_addr constant [3 x i8] c"..\00" @.str1889 = private unnamed_addr constant [2 x i8] c".\00" @.str1890 = private unnamed_addr constant [1 x i8] c"\00" @.str1891 = private unnamed_addr constant [54 x i8] c"build/cfree/selfhost.ludic:5127: index out of range: \00" @.str1892 = private unnamed_addr constant [1 x i8] c"\00" @.str1893 = private unnamed_addr constant [2 x i8] c"/\00" @.str1894 = private unnamed_addr constant [2 x i8] c"/\00" @.str1895 = private unnamed_addr constant [54 x i8] c"build/cfree/selfhost.ludic:5139: index out of range: \00" @.str1896 = private unnamed_addr constant [2 x i8] c"/\00" @.str1897 = private unnamed_addr constant [1 x i8] c"\00" @.str1898 = private unnamed_addr constant [3 x i8] c"\5Cs\00" @.str1899 = private unnamed_addr constant [7 x i8] c"mg_esc\00" @.str1900 = private unnamed_addr constant [3 x i8] c"\5Cn\00" @.str1901 = private unnamed_addr constant [3 x i8] c"\5C\5C\00" @.str1902 = private unnamed_addr constant [54 x i8] c"build/cfree/selfhost.ludic:5157: index out of range: \00" @.str1903 = private unnamed_addr constant [29 x i8] c"mg_first_positional_is_state\00" @.str1904 = private unnamed_addr constant [54 x i8] c"build/cfree/selfhost.ludic:5160: index out of range: \00" @.str1905 = private unnamed_addr constant [54 x i8] c"build/cfree/selfhost.ludic:5160: index out of range: \00" @.str1906 = private unnamed_addr constant [54 x i8] c"build/cfree/selfhost.ludic:5169: index out of range: \00" @.str1907 = private unnamed_addr constant [11 x i8] c"mg_nparams\00" @.str1908 = private unnamed_addr constant [54 x i8] c"build/cfree/selfhost.ludic:5177: index out of range: \00" @.str1909 = private unnamed_addr constant [16 x i8] c"mg_mut_upgrades\00" @.str1910 = private unnamed_addr constant [54 x i8] c"build/cfree/selfhost.ludic:5180: index out of range: \00" @.str1911 = private unnamed_addr constant [54 x i8] c"build/cfree/selfhost.ludic:5182: index out of range: \00" @.str1912 = private unnamed_addr constant [54 x i8] c"build/cfree/selfhost.ludic:5182: index out of range: \00" @.str1913 = private unnamed_addr constant [6 x i8] c"state\00" @.str1914 = private unnamed_addr constant [54 x i8] c"build/cfree/selfhost.ludic:5183: index out of range: \00" @.str1915 = private unnamed_addr constant [54 x i8] c"build/cfree/selfhost.ludic:5189: index out of range: \00" @.str1916 = private unnamed_addr constant [54 x i8] c"build/cfree/selfhost.ludic:5192: index out of range: \00" @.str1917 = private unnamed_addr constant [2 x i8] c",\00" @.str1918 = private unnamed_addr constant [2 x i8] c",\00" @.str1919 = private unnamed_addr constant [5 x i8] c"INS \00" @.str1920 = private unnamed_addr constant [2 x i8] c" \00" @.str1921 = private unnamed_addr constant [2 x i8] c" \00" @.str1922 = private unnamed_addr constant [5 x i8] c"mut \00" @.str1923 = private unnamed_addr constant [1 x i8] c"\00" @.str1924 = private unnamed_addr constant [54 x i8] c"build/cfree/selfhost.ludic:5200: index out of range: \00" @.str1925 = private unnamed_addr constant [9 x i8] c"mg_units\00" @.str1926 = private unnamed_addr constant [54 x i8] c"build/cfree/selfhost.ludic:5201: index out of range: \00" @.str1927 = private unnamed_addr constant [54 x i8] c"build/cfree/selfhost.ludic:5208: index out of range: \00" @.str1928 = private unnamed_addr constant [1 x i8] c"\00" @.str1929 = private unnamed_addr constant [54 x i8] c"build/cfree/selfhost.ludic:5213: index out of range: \00" @.str1930 = private unnamed_addr constant [3 x i8] c", \00" @.str1931 = private unnamed_addr constant [54 x i8] c"build/cfree/selfhost.ludic:5215: index out of range: \00" @.str1932 = private unnamed_addr constant [54 x i8] c"build/cfree/selfhost.ludic:5227: index out of range: \00" @.str1933 = private unnamed_addr constant [14 x i8] c"mg_prune_unit\00" @.str1934 = private unnamed_addr constant [15 x i8] c"ludic_reduce__\00" @.str1935 = private unnamed_addr constant [54 x i8] c"build/cfree/selfhost.ludic:5233: index out of range: \00" @.str1936 = private unnamed_addr constant [54 x i8] c"build/cfree/selfhost.ludic:5235: index out of range: \00" @.str1937 = private unnamed_addr constant [2 x i8] c",\00" @.str1938 = private unnamed_addr constant [2 x i8] c",\00" @.str1939 = private unnamed_addr constant [9 x i8] c"DELITEM \00" @.str1940 = private unnamed_addr constant [2 x i8] c" \00" @.str1941 = private unnamed_addr constant [1 x i8] c"\00" @.str1942 = private unnamed_addr constant [54 x i8] c"build/cfree/selfhost.ludic:5236: index out of range: \00" @.str1943 = private unnamed_addr constant [2 x i8] c",\00" @.str1944 = private unnamed_addr constant [2 x i8] c",\00" @.str1945 = private unnamed_addr constant [8 x i8] c"DELMUT \00" @.str1946 = private unnamed_addr constant [2 x i8] c" \00" @.str1947 = private unnamed_addr constant [1 x i8] c"\00" @.str1948 = private unnamed_addr constant [54 x i8] c"build/cfree/selfhost.ludic:5246: index out of range: \00" @.str1949 = private unnamed_addr constant [54 x i8] c"build/cfree/selfhost.ludic:5246: index out of range: \00" @.str1950 = private unnamed_addr constant [6 x i8] c"state\00" @.str1951 = private unnamed_addr constant [54 x i8] c"build/cfree/selfhost.ludic:5247: index out of range: \00" @.str1952 = private unnamed_addr constant [54 x i8] c"build/cfree/selfhost.ludic:5248: index out of range: \00" @.str1953 = private unnamed_addr constant [2 x i8] c",\00" @.str1954 = private unnamed_addr constant [2 x i8] c",\00" @.str1955 = private unnamed_addr constant [9 x i8] c"DELITEM \00" @.str1956 = private unnamed_addr constant [2 x i8] c" \00" @.str1957 = private unnamed_addr constant [1 x i8] c"\00" @.str1958 = private unnamed_addr constant [54 x i8] c"build/cfree/selfhost.ludic:5258: index out of range: \00" @.str1959 = private unnamed_addr constant [14 x i8] c"mg_prune_args\00" @.str1960 = private unnamed_addr constant [54 x i8] c"build/cfree/selfhost.ludic:5259: index out of range: \00" @.str1961 = private unnamed_addr constant [54 x i8] c"build/cfree/selfhost.ludic:5260: index out of range: \00" @.str1962 = private unnamed_addr constant [54 x i8] c"build/cfree/selfhost.ludic:5261: index out of range: \00" @.str1963 = private unnamed_addr constant [54 x i8] c"build/cfree/selfhost.ludic:5262: index out of range: \00" @.str1964 = private unnamed_addr constant [2 x i8] c",\00" @.str1965 = private unnamed_addr constant [54 x i8] c"build/cfree/selfhost.ludic:5262: index out of range: \00" @.str1966 = private unnamed_addr constant [2 x i8] c",\00" @.str1967 = private unnamed_addr constant [54 x i8] c"build/cfree/selfhost.ludic:5263: index out of range: \00" @.str1968 = private unnamed_addr constant [9 x i8] c"DELITEM \00" @.str1969 = private unnamed_addr constant [2 x i8] c" \00" @.str1970 = private unnamed_addr constant [1 x i8] c"\00" @.str1971 = private unnamed_addr constant [54 x i8] c"build/cfree/selfhost.ludic:5272: index out of range: \00" @.str1972 = private unnamed_addr constant [13 x i8] c"mg_unit_edit\00" @.str1973 = private unnamed_addr constant [2 x i8] c",\00" @.str1974 = private unnamed_addr constant [2 x i8] c",\00" @.str1975 = private unnamed_addr constant [54 x i8] c"build/cfree/selfhost.ludic:5279: index out of range: \00" @.str1976 = private unnamed_addr constant [2 x i8] c",\00" @.str1977 = private unnamed_addr constant [54 x i8] c"build/cfree/selfhost.ludic:5282: index out of range: \00" @.str1978 = private unnamed_addr constant [2 x i8] c",\00" @.str1979 = private unnamed_addr constant [54 x i8] c"build/cfree/selfhost.ludic:5283: index out of range: \00" @.str1980 = private unnamed_addr constant [54 x i8] c"build/cfree/selfhost.ludic:5283: index out of range: \00" @.str1981 = private unnamed_addr constant [54 x i8] c"build/cfree/selfhost.ludic:5283: index out of range: \00" @.str1982 = private unnamed_addr constant [54 x i8] c"build/cfree/selfhost.ludic:5283: index out of range: \00" @.str1983 = private unnamed_addr constant [2 x i8] c",\00" @.str1984 = private unnamed_addr constant [54 x i8] c"build/cfree/selfhost.ludic:5284: index out of range: \00" @.str1985 = private unnamed_addr constant [54 x i8] c"build/cfree/selfhost.ludic:5284: index out of range: \00" @.str1986 = private unnamed_addr constant [54 x i8] c"build/cfree/selfhost.ludic:5284: index out of range: \00" @.str1987 = private unnamed_addr constant [54 x i8] c"build/cfree/selfhost.ludic:5284: index out of range: \00" @.str1988 = private unnamed_addr constant [54 x i8] c"build/cfree/selfhost.ludic:5284: index out of range: \00" @.str1989 = private unnamed_addr constant [2 x i8] c",\00" @.str1990 = private unnamed_addr constant [6 x i8] c"bind_\00" @.str1991 = private unnamed_addr constant [8 x i8] c" needs \00" @.str1992 = private unnamed_addr constant [55 x i8] c" and is generated code: its caller cannot be rewritten\00" @.str1993 = private unnamed_addr constant [3 x i8] c", \00" @.str1994 = private unnamed_addr constant [5 x i8] c"INS \00" @.str1995 = private unnamed_addr constant [2 x i8] c" \00" @.str1996 = private unnamed_addr constant [2 x i8] c" \00" @.str1997 = private unnamed_addr constant [2 x i8] c"@\00" @.str1998 = private unnamed_addr constant [54 x i8] c"build/cfree/selfhost.ludic:5303: index out of range: \00" @.str1999 = private unnamed_addr constant [54 x i8] c"build/cfree/selfhost.ludic:5303: index out of range: \00" @.str2000 = private unnamed_addr constant [6 x i8] c"state\00" @.str2001 = private unnamed_addr constant [54 x i8] c"build/cfree/selfhost.ludic:5306: index out of range: \00" @.str2002 = private unnamed_addr constant [1 x i8] c"\00" @.str2003 = private unnamed_addr constant [54 x i8] c"build/cfree/selfhost.ludic:5313: index out of range: \00" @.str2004 = private unnamed_addr constant [54 x i8] c"build/cfree/selfhost.ludic:5313: index out of range: \00" @.str2005 = private unnamed_addr constant [6 x i8] c"state\00" @.str2006 = private unnamed_addr constant [54 x i8] c"build/cfree/selfhost.ludic:5314: index out of range: \00" @.str2007 = private unnamed_addr constant [54 x i8] c"build/cfree/selfhost.ludic:5314: index out of range: \00" @.str2008 = private unnamed_addr constant [54 x i8] c"build/cfree/selfhost.ludic:5314: index out of range: \00" @.str2009 = private unnamed_addr constant [54 x i8] c"build/cfree/selfhost.ludic:5315: index out of range: \00" @.str2010 = private unnamed_addr constant [3 x i8] c", \00" @.str2011 = private unnamed_addr constant [54 x i8] c"build/cfree/selfhost.ludic:5318: index out of range: \00" @.str2012 = private unnamed_addr constant [46 x i8] c"this entry point declares states already; add\00" @.str2013 = private unnamed_addr constant [17 x i8] c" to them by hand\00" @.str2014 = private unnamed_addr constant [7 x i8] c"CLOSE \00" @.str2015 = private unnamed_addr constant [2 x i8] c" \00" @.str2016 = private unnamed_addr constant [2 x i8] c" \00" @.str2017 = private unnamed_addr constant [1 x i8] c"\00" @.str2018 = private unnamed_addr constant [5 x i8] c"INS \00" @.str2019 = private unnamed_addr constant [2 x i8] c" \00" @.str2020 = private unnamed_addr constant [2 x i8] c" \00" @.str2021 = private unnamed_addr constant [2 x i8] c"(\00" @.str2022 = private unnamed_addr constant [3 x i8] c") \00" @.str2023 = private unnamed_addr constant [2 x i8] c"@\00" @.str2024 = private unnamed_addr constant [5 x i8] c"INS \00" @.str2025 = private unnamed_addr constant [2 x i8] c" \00" @.str2026 = private unnamed_addr constant [2 x i8] c" \00" @.str2027 = private unnamed_addr constant [2 x i8] c"(\00" @.str2028 = private unnamed_addr constant [2 x i8] c")\00" @.str2029 = private unnamed_addr constant [2 x i8] c"@\00" @.str2030 = private unnamed_addr constant [5 x i8] c"INS \00" @.str2031 = private unnamed_addr constant [2 x i8] c" \00" @.str2032 = private unnamed_addr constant [2 x i8] c" \00" @.str2033 = private unnamed_addr constant [3 x i8] c" (\00" @.str2034 = private unnamed_addr constant [2 x i8] c")\00" @.str2035 = private unnamed_addr constant [2 x i8] c"@\00" @.str2036 = private unnamed_addr constant [5 x i8] c"INS \00" @.str2037 = private unnamed_addr constant [2 x i8] c" \00" @.str2038 = private unnamed_addr constant [2 x i8] c" \00" @.str2039 = private unnamed_addr constant [3 x i8] c" (\00" @.str2040 = private unnamed_addr constant [2 x i8] c")\00" @.str2041 = private unnamed_addr constant [2 x i8] c"@\00" @.str2042 = private unnamed_addr constant [24 x i8] c"a listener that needs (\00" @.str2043 = private unnamed_addr constant [27 x i8] c") whose place is not known\00" @.str2044 = private unnamed_addr constant [5 x i8] c"INS \00" @.str2045 = private unnamed_addr constant [2 x i8] c" \00" @.str2046 = private unnamed_addr constant [2 x i8] c" \00" @.str2047 = private unnamed_addr constant [2 x i8] c"(\00" @.str2048 = private unnamed_addr constant [2 x i8] c")\00" @.str2049 = private unnamed_addr constant [2 x i8] c"@\00" @.str2050 = private unnamed_addr constant [2 x i8] c",\00" @.str2051 = private unnamed_addr constant [12 x i8] c"mg_comp_acc\00" @.str2052 = private unnamed_addr constant [2 x i8] c",\00" @.str2053 = private unnamed_addr constant [54 x i8] c"build/cfree/selfhost.ludic:5347: index out of range: \00" @.str2054 = private unnamed_addr constant [2 x i8] c",\00" @.str2055 = private unnamed_addr constant [54 x i8] c"build/cfree/selfhost.ludic:5350: index out of range: \00" @.str2056 = private unnamed_addr constant [2 x i8] c",\00" @.str2057 = private unnamed_addr constant [54 x i8] c"build/cfree/selfhost.ludic:5351: index out of range: \00" @.str2058 = private unnamed_addr constant [54 x i8] c"build/cfree/selfhost.ludic:5351: index out of range: \00" @.str2059 = private unnamed_addr constant [54 x i8] c"build/cfree/selfhost.ludic:5351: index out of range: \00" @.str2060 = private unnamed_addr constant [54 x i8] c"build/cfree/selfhost.ludic:5351: index out of range: \00" @.str2061 = private unnamed_addr constant [2 x i8] c",\00" @.str2062 = private unnamed_addr constant [54 x i8] c"build/cfree/selfhost.ludic:5352: index out of range: \00" @.str2063 = private unnamed_addr constant [54 x i8] c"build/cfree/selfhost.ludic:5352: index out of range: \00" @.str2064 = private unnamed_addr constant [54 x i8] c"build/cfree/selfhost.ludic:5352: index out of range: \00" @.str2065 = private unnamed_addr constant [54 x i8] c"build/cfree/selfhost.ludic:5352: index out of range: \00" @.str2066 = private unnamed_addr constant [54 x i8] c"build/cfree/selfhost.ludic:5352: index out of range: \00" @.str2067 = private unnamed_addr constant [2 x i8] c",\00" @.str2068 = private unnamed_addr constant [2 x i8] c",\00" @.str2069 = private unnamed_addr constant [9 x i8] c"mg_comps\00" @.str2070 = private unnamed_addr constant [2 x i8] c",\00" @.str2071 = private unnamed_addr constant [54 x i8] c"build/cfree/selfhost.ludic:5367: index out of range: \00" @.str2072 = private unnamed_addr constant [54 x i8] c"build/cfree/selfhost.ludic:5368: index out of range: \00" @.str2073 = private unnamed_addr constant [54 x i8] c"build/cfree/selfhost.ludic:5368: index out of range: \00" @.str2074 = private unnamed_addr constant [54 x i8] c"build/cfree/selfhost.ludic:5369: index out of range: \00" @.str2075 = private unnamed_addr constant [2 x i8] c",\00" @.str2076 = private unnamed_addr constant [2 x i8] c",\00" @.str2077 = private unnamed_addr constant [9 x i8] c"DELITEM \00" @.str2078 = private unnamed_addr constant [54 x i8] c"build/cfree/selfhost.ludic:5369: index out of range: \00" @.str2079 = private unnamed_addr constant [2 x i8] c" \00" @.str2080 = private unnamed_addr constant [1 x i8] c"\00" @.str2081 = private unnamed_addr constant [54 x i8] c"build/cfree/selfhost.ludic:5373: index out of range: \00" @.str2082 = private unnamed_addr constant [54 x i8] c"build/cfree/selfhost.ludic:5374: index out of range: \00" @.str2083 = private unnamed_addr constant [1 x i8] c"\00" @.str2084 = private unnamed_addr constant [54 x i8] c"build/cfree/selfhost.ludic:5378: index out of range: \00" @.str2085 = private unnamed_addr constant [54 x i8] c"build/cfree/selfhost.ludic:5379: index out of range: \00" @.str2086 = private unnamed_addr constant [2 x i8] c",\00" @.str2087 = private unnamed_addr constant [2 x i8] c",\00" @.str2088 = private unnamed_addr constant [54 x i8] c"build/cfree/selfhost.ludic:5383: index out of range: \00" @.str2089 = private unnamed_addr constant [54 x i8] c"build/cfree/selfhost.ludic:5383: index out of range: \00" @.str2090 = private unnamed_addr constant [54 x i8] c"build/cfree/selfhost.ludic:5383: index out of range: \00" @.str2091 = private unnamed_addr constant [3 x i8] c", \00" @.str2092 = private unnamed_addr constant [54 x i8] c"build/cfree/selfhost.ludic:5388: index out of range: \00" @.str2093 = private unnamed_addr constant [7 x i8] c": mut \00" @.str2094 = private unnamed_addr constant [54 x i8] c"build/cfree/selfhost.ludic:5388: index out of range: \00" @.str2095 = private unnamed_addr constant [54 x i8] c"build/cfree/selfhost.ludic:5388: index out of range: \00" @.str2096 = private unnamed_addr constant [3 x i8] c": \00" @.str2097 = private unnamed_addr constant [54 x i8] c"build/cfree/selfhost.ludic:5388: index out of range: \00" @.str2098 = private unnamed_addr constant [5 x i8] c"INS \00" @.str2099 = private unnamed_addr constant [54 x i8] c"build/cfree/selfhost.ludic:5390: index out of range: \00" @.str2100 = private unnamed_addr constant [2 x i8] c" \00" @.str2101 = private unnamed_addr constant [2 x i8] c" \00" @.str2102 = private unnamed_addr constant [5 x i8] c"mut \00" @.str2103 = private unnamed_addr constant [1 x i8] c"\00" @.str2104 = private unnamed_addr constant [5 x i8] c"INS \00" @.str2105 = private unnamed_addr constant [54 x i8] c"build/cfree/selfhost.ludic:5395: index out of range: \00" @.str2106 = private unnamed_addr constant [2 x i8] c" \00" @.str2107 = private unnamed_addr constant [54 x i8] c"build/cfree/selfhost.ludic:5395: index out of range: \00" @.str2108 = private unnamed_addr constant [2 x i8] c" \00" @.str2109 = private unnamed_addr constant [3 x i8] c" (\00" @.str2110 = private unnamed_addr constant [2 x i8] c")\00" @.str2111 = private unnamed_addr constant [1 x i8] c"\00" @.str2112 = private unnamed_addr constant [54 x i8] c"build/cfree/selfhost.ludic:5397: index out of range: \00" @.str2113 = private unnamed_addr constant [7 x i8] c"CLOSE \00" @.str2114 = private unnamed_addr constant [54 x i8] c"build/cfree/selfhost.ludic:5398: index out of range: \00" @.str2115 = private unnamed_addr constant [2 x i8] c" \00" @.str2116 = private unnamed_addr constant [2 x i8] c" \00" @.str2117 = private unnamed_addr constant [3 x i8] c", \00" @.str2118 = private unnamed_addr constant [1 x i8] c"\00" @.str2119 = private unnamed_addr constant [54 x i8] c"build/cfree/selfhost.ludic:5407: index out of range: \00" @.str2120 = private unnamed_addr constant [9 x i8] c"mg_views\00" @.str2121 = private unnamed_addr constant [54 x i8] c"build/cfree/selfhost.ludic:5409: index out of range: \00" @.str2122 = private unnamed_addr constant [54 x i8] c"build/cfree/selfhost.ludic:5410: index out of range: \00" @.str2123 = private unnamed_addr constant [6 x i8] c"view \00" @.str2124 = private unnamed_addr constant [54 x i8] c"build/cfree/selfhost.ludic:5410: index out of range: \00" @.str2125 = private unnamed_addr constant [52 x i8] c" declares states already; add what it needs by hand\00" @.str2126 = private unnamed_addr constant [1 x i8] c"\00" @.str2127 = private unnamed_addr constant [3 x i8] c", \00" @.str2128 = private unnamed_addr constant [54 x i8] c"build/cfree/selfhost.ludic:5415: index out of range: \00" @.str2129 = private unnamed_addr constant [2 x i8] c",\00" @.str2130 = private unnamed_addr constant [54 x i8] c"build/cfree/selfhost.ludic:5415: index out of range: \00" @.str2131 = private unnamed_addr constant [2 x i8] c",\00" @.str2132 = private unnamed_addr constant [54 x i8] c"build/cfree/selfhost.ludic:5415: index out of range: \00" @.str2133 = private unnamed_addr constant [54 x i8] c"build/cfree/selfhost.ludic:5415: index out of range: \00" @.str2134 = private unnamed_addr constant [7 x i8] c": mut \00" @.str2135 = private unnamed_addr constant [54 x i8] c"build/cfree/selfhost.ludic:5415: index out of range: \00" @.str2136 = private unnamed_addr constant [54 x i8] c"build/cfree/selfhost.ludic:5415: index out of range: \00" @.str2137 = private unnamed_addr constant [54 x i8] c"build/cfree/selfhost.ludic:5415: index out of range: \00" @.str2138 = private unnamed_addr constant [54 x i8] c"build/cfree/selfhost.ludic:5415: index out of range: \00" @.str2139 = private unnamed_addr constant [3 x i8] c": \00" @.str2140 = private unnamed_addr constant [54 x i8] c"build/cfree/selfhost.ludic:5415: index out of range: \00" @.str2141 = private unnamed_addr constant [54 x i8] c"build/cfree/selfhost.ludic:5415: index out of range: \00" @.str2142 = private unnamed_addr constant [5 x i8] c"INS \00" @.str2143 = private unnamed_addr constant [2 x i8] c" \00" @.str2144 = private unnamed_addr constant [54 x i8] c"build/cfree/selfhost.ludic:5418: index out of range: \00" @.str2145 = private unnamed_addr constant [2 x i8] c" \00" @.str2146 = private unnamed_addr constant [3 x i8] c" (\00" @.str2147 = private unnamed_addr constant [2 x i8] c")\00" @.str2148 = private unnamed_addr constant [1 x i8] c"\00" @.str2149 = private unnamed_addr constant [54 x i8] c"build/cfree/selfhost.ludic:5427: index out of range: \00" @.str2150 = private unnamed_addr constant [9 x i8] c"mg_calls\00" @.str2151 = private unnamed_addr constant [54 x i8] c"build/cfree/selfhost.ludic:5428: index out of range: \00" @.str2152 = private unnamed_addr constant [54 x i8] c"build/cfree/selfhost.ludic:5429: index out of range: \00" @.str2153 = private unnamed_addr constant [54 x i8] c"build/cfree/selfhost.ludic:5430: index out of range: \00" @.str2154 = private unnamed_addr constant [1 x i8] c"\00" @.str2155 = private unnamed_addr constant [54 x i8] c"build/cfree/selfhost.ludic:5433: index out of range: \00" @.str2156 = private unnamed_addr constant [54 x i8] c"build/cfree/selfhost.ludic:5436: index out of range: \00" @.str2157 = private unnamed_addr constant [54 x i8] c"build/cfree/selfhost.ludic:5436: index out of range: \00" @.str2158 = private unnamed_addr constant [3 x i8] c", \00" @.str2159 = private unnamed_addr constant [54 x i8] c"build/cfree/selfhost.ludic:5438: index out of range: \00" @.str2160 = private unnamed_addr constant [54 x i8] c"build/cfree/selfhost.ludic:5438: index out of range: \00" @.str2161 = private unnamed_addr constant [11 x i8] c"a call to \00" @.str2162 = private unnamed_addr constant [23 x i8] c" with no place needs (\00" @.str2163 = private unnamed_addr constant [2 x i8] c")\00" @.str2164 = private unnamed_addr constant [3 x i8] c", \00" @.str2165 = private unnamed_addr constant [5 x i8] c"INS \00" @.str2166 = private unnamed_addr constant [2 x i8] c" \00" @.str2167 = private unnamed_addr constant [2 x i8] c" \00" @.str2168 = private unnamed_addr constant [2 x i8] c"@\00" @.str2169 = private unnamed_addr constant [54 x i8] c"build/cfree/selfhost.ludic:5456: index out of range: \00" @.str2170 = private unnamed_addr constant [8 x i8] c"mg_refs\00" @.str2171 = private unnamed_addr constant [54 x i8] c"build/cfree/selfhost.ludic:5457: index out of range: \00" @.str2172 = private unnamed_addr constant [54 x i8] c"build/cfree/selfhost.ludic:5461: index out of range: \00" @.str2173 = private unnamed_addr constant [54 x i8] c"build/cfree/selfhost.ludic:5461: index out of range: \00" @.str2174 = private unnamed_addr constant [54 x i8] c"build/cfree/selfhost.ludic:5462: index out of range: \00" @.str2175 = private unnamed_addr constant [54 x i8] c"build/cfree/selfhost.ludic:5462: index out of range: \00" @.str2176 = private unnamed_addr constant [54 x i8] c"build/cfree/selfhost.ludic:5463: index out of range: \00" @.str2177 = private unnamed_addr constant [54 x i8] c"build/cfree/selfhost.ludic:5463: index out of range: \00" @.str2178 = private unnamed_addr constant [54 x i8] c"build/cfree/selfhost.ludic:5465: index out of range: \00" @.str2179 = private unnamed_addr constant [2 x i8] c".\00" @.str2180 = private unnamed_addr constant [54 x i8] c"build/cfree/selfhost.ludic:5466: index out of range: \00" @.str2181 = private unnamed_addr constant [54 x i8] c"build/cfree/selfhost.ludic:5466: index out of range: \00" @.str2182 = private unnamed_addr constant [2 x i8] c".\00" @.str2183 = private unnamed_addr constant [5 x i8] c"REF \00" @.str2184 = private unnamed_addr constant [2 x i8] c" \00" @.str2185 = private unnamed_addr constant [2 x i8] c" \00" @.str2186 = private unnamed_addr constant [2 x i8] c" \00" @.str2187 = private unnamed_addr constant [2 x i8] c"@\00" @.str2188 = private unnamed_addr constant [54 x i8] c"build/cfree/selfhost.ludic:5476: index out of range: \00" @.str2189 = private unnamed_addr constant [11 x i8] c"mg_exports\00" @.str2190 = private unnamed_addr constant [1 x i8] c"\00" @.str2191 = private unnamed_addr constant [2 x i8] c"@\00" @.str2192 = private unnamed_addr constant [54 x i8] c"build/cfree/selfhost.ludic:5480: index out of range: \00" @.str2193 = private unnamed_addr constant [54 x i8] c"build/cfree/selfhost.ludic:5483: index out of range: \00" @.str2194 = private unnamed_addr constant [54 x i8] c"build/cfree/selfhost.ludic:5483: index out of range: \00" @.str2195 = private unnamed_addr constant [54 x i8] c"build/cfree/selfhost.ludic:5483: index out of range: \00" @.str2196 = private unnamed_addr constant [54 x i8] c"build/cfree/selfhost.ludic:5483: index out of range: \00" @.str2197 = private unnamed_addr constant [12 x i8] c"mg_bind_var\00" @.str2198 = private unnamed_addr constant [54 x i8] c"build/cfree/selfhost.ludic:5498: index out of range: \00" @.str2199 = private unnamed_addr constant [13 x i8] c"mg_bound_var\00" @.str2200 = private unnamed_addr constant [54 x i8] c"build/cfree/selfhost.ludic:5506: index out of range: \00" @.str2201 = private unnamed_addr constant [9 x i8] c"mg_binds\00" @.str2202 = private unnamed_addr constant [54 x i8] c"build/cfree/selfhost.ludic:5509: index out of range: \00" @.str2203 = private unnamed_addr constant [5 x i8] c"REF \00" @.str2204 = private unnamed_addr constant [2 x i8] c" \00" @.str2205 = private unnamed_addr constant [2 x i8] c" \00" @.str2206 = private unnamed_addr constant [2 x i8] c" \00" @.str2207 = private unnamed_addr constant [54 x i8] c"build/cfree/selfhost.ludic:5511: index out of range: \00" @.str2208 = private unnamed_addr constant [2 x i8] c".\00" @.str2209 = private unnamed_addr constant [1 x i8] c"\00" @.str2210 = private unnamed_addr constant [10 x i8] c"mg_finish\00" @.str2211 = private unnamed_addr constant [54 x i8] c"build/cfree/selfhost.ludic:5532: index out of range: \00" @.str2212 = private unnamed_addr constant [54 x i8] c"build/cfree/selfhost.ludic:5533: index out of range: \00" @.str2213 = private unnamed_addr constant [54 x i8] c"build/cfree/selfhost.ludic:5534: index out of range: \00" @.str2214 = private unnamed_addr constant [5 x i8] c"LET \00" @.str2215 = private unnamed_addr constant [2 x i8] c" \00" @.str2216 = private unnamed_addr constant [1 x i8] c"\00" @.str2217 = private unnamed_addr constant [54 x i8] c"build/cfree/selfhost.ludic:5535: index out of range: \00" @.str2218 = private unnamed_addr constant [5 x i8] c"VAR \00" @.str2219 = private unnamed_addr constant [2 x i8] c" \00" @.str2220 = private unnamed_addr constant [2 x i8] c" \00" @.str2221 = private unnamed_addr constant [2 x i8] c" \00" @.str2222 = private unnamed_addr constant [54 x i8] c"build/cfree/selfhost.ludic:5535: index out of range: \00" @.str2223 = private unnamed_addr constant [2 x i8] c" \00" @.str2224 = private unnamed_addr constant [54 x i8] c"build/cfree/selfhost.ludic:5535: index out of range: \00" @.str2225 = private unnamed_addr constant [1 x i8] c"\00" @.str2226 = private unnamed_addr constant [54 x i8] c"build/cfree/selfhost.ludic:5544: index out of range: \00" @.str2227 = private unnamed_addr constant [54 x i8] c"build/cfree/selfhost.ludic:5544: index out of range: \00" @.str2228 = private unnamed_addr constant [54 x i8] c"build/cfree/selfhost.ludic:5547: index out of range: \00" @.str2229 = private unnamed_addr constant [7 x i8] c"STATE \00" @.str2230 = private unnamed_addr constant [54 x i8] c"build/cfree/selfhost.ludic:5549: index out of range: \00" @.str2231 = private unnamed_addr constant [2 x i8] c" \00" @.str2232 = private unnamed_addr constant [2 x i8] c" \00" @.str2233 = private unnamed_addr constant [2 x i8] c" \00" @.str2234 = private unnamed_addr constant [54 x i8] c"build/cfree/selfhost.ludic:5549: index out of range: \00" @.str2235 = private unnamed_addr constant [2 x i8] c" \00" @.str2236 = private unnamed_addr constant [54 x i8] c"build/cfree/selfhost.ludic:5549: index out of range: \00" @.str2237 = private unnamed_addr constant [2 x i8] c" \00" @.str2238 = private unnamed_addr constant [54 x i8] c"build/cfree/selfhost.ludic:5549: index out of range: \00" @.str2239 = private unnamed_addr constant [6 x i8] c" more\00" @.str2240 = private unnamed_addr constant [1 x i8] c"\00" @.str2241 = private unnamed_addr constant [54 x i8] c"build/cfree/selfhost.ludic:5551: index out of range: \00" @.str2242 = private unnamed_addr constant [7 x i8] c"STATE \00" @.str2243 = private unnamed_addr constant [54 x i8] c"build/cfree/selfhost.ludic:5552: index out of range: \00" @.str2244 = private unnamed_addr constant [2 x i8] c" \00" @.str2245 = private unnamed_addr constant [2 x i8] c" \00" @.str2246 = private unnamed_addr constant [2 x i8] c" \00" @.str2247 = private unnamed_addr constant [54 x i8] c"build/cfree/selfhost.ludic:5552: index out of range: \00" @.str2248 = private unnamed_addr constant [2 x i8] c" \00" @.str2249 = private unnamed_addr constant [54 x i8] c"build/cfree/selfhost.ludic:5552: index out of range: \00" @.str2250 = private unnamed_addr constant [2 x i8] c" \00" @.str2251 = private unnamed_addr constant [54 x i8] c"build/cfree/selfhost.ludic:5552: index out of range: \00" @.str2252 = private unnamed_addr constant [1 x i8] c"\00" @.str2253 = private unnamed_addr constant [3 x i8] c"wb\00" @.str2254 = private unnamed_addr constant [41 x i8] c"ludicc: cannot write the migration plan\0A\00" @.str2255 = private unnamed_addr constant [54 x i8] c"build/cfree/selfhost.ludic:5567: index out of range: \00" @.str2256 = private unnamed_addr constant [54 x i8] c"build/cfree/selfhost.ludic:5567: index out of range: \00" @.str2257 = private unnamed_addr constant [2 x i8] c"\0A\00" @.str2258 = private unnamed_addr constant [54 x i8] c"build/cfree/selfhost.ludic:5573: index out of range: \00" @.str2259 = private unnamed_addr constant [54 x i8] c"build/cfree/selfhost.ludic:5573: index out of range: \00" @.str2260 = private unnamed_addr constant [2 x i8] c"\0A\00" @.str2261 = private unnamed_addr constant [8 x i8] c"df_push\00" @.str2262 = private unnamed_addr constant [10 x i8] c"reg_upper\00" @.str2263 = private unnamed_addr constant [10 x i8] c"reg_lower\00" @.str2264 = private unnamed_addr constant [3 x i8] c"of\00" @.str2265 = private unnamed_addr constant [10 x i8] c"registry \00" @.str2266 = private unnamed_addr constant [15 x i8] c"parse_registry\00" @.str2267 = private unnamed_addr constant [32 x i8] c": say what it holds - registry \00" @.str2268 = private unnamed_addr constant [15 x i8] c" of SomeRecord\00" @.str2269 = private unnamed_addr constant [3 x i8] c"as\00" @.str2270 = private unnamed_addr constant [10 x i8] c"registry \00" @.str2271 = private unnamed_addr constant [141 x i8] c": a @PerMap registry has no 'as PREFIX' - its keys are not known when the game compiles, so it has no constants; find a row by its key with \00" @.str2272 = private unnamed_addr constant [6 x i8] c"_find\00" @.str2273 = private unnamed_addr constant [5 x i8] c"from\00" @.str2274 = private unnamed_addr constant [54 x i8] c"build/cfree/selfhost.ludic:5664: index out of range: \00" @.str2275 = private unnamed_addr constant [3 x i8] c"[]\00" @.str2276 = private unnamed_addr constant [5 x i8] c"from\00" @.str2277 = private unnamed_addr constant [54 x i8] c"build/cfree/selfhost.ludic:5685: index out of range: \00" @.str2278 = private unnamed_addr constant [10 x i8] c"parse_def\00" @.str2279 = private unnamed_addr constant [54 x i8] c"build/cfree/selfhost.ludic:5686: index out of range: \00" @.str2280 = private unnamed_addr constant [5 x i8] c"def \00" @.str2281 = private unnamed_addr constant [6 x i8] c" from\00" @.str2282 = private unnamed_addr constant [54 x i8] c"build/cfree/selfhost.ludic:5691: index out of range: \00" @.str2283 = private unnamed_addr constant [1 x i8] c"\00" @.str2284 = private unnamed_addr constant [2 x i8] c":\00" @.str2285 = private unnamed_addr constant [54 x i8] c"build/cfree/selfhost.ludic:5700: index out of range: \00" @.str2286 = private unnamed_addr constant [9 x i8] c"reg_find\00" @.str2287 = private unnamed_addr constant [54 x i8] c"build/cfree/selfhost.ludic:5708: index out of range: \00" @.str2288 = private unnamed_addr constant [12 x i8] c"reg_rec_has\00" @.str2289 = private unnamed_addr constant [4 x i8] c"int\00" @.str2290 = private unnamed_addr constant [10 x i8] c"reg_const\00" @.str2291 = private unnamed_addr constant [54 x i8] c"build/cfree/selfhost.ludic:5736: index out of range: \00" @.str2292 = private unnamed_addr constant [18 x i8] c"registries_finish\00" @.str2293 = private unnamed_addr constant [54 x i8] c"build/cfree/selfhost.ludic:5737: index out of range: \00" @.str2294 = private unnamed_addr constant [54 x i8] c"build/cfree/selfhost.ludic:5738: index out of range: \00" @.str2295 = private unnamed_addr constant [5 x i8] c"def \00" @.str2296 = private unnamed_addr constant [54 x i8] c"build/cfree/selfhost.ludic:5740: index out of range: \00" @.str2297 = private unnamed_addr constant [2 x i8] c" \00" @.str2298 = private unnamed_addr constant [54 x i8] c"build/cfree/selfhost.ludic:5740: index out of range: \00" @.str2299 = private unnamed_addr constant [24 x i8] c": there is no registry \00" @.str2300 = private unnamed_addr constant [54 x i8] c"build/cfree/selfhost.ludic:5740: index out of range: \00" @.str2301 = private unnamed_addr constant [54 x i8] c"build/cfree/selfhost.ludic:5754: index out of range: \00" @.str2302 = private unnamed_addr constant [9 x i8] c"reg_fill\00" @.str2303 = private unnamed_addr constant [54 x i8] c"build/cfree/selfhost.ludic:5755: index out of range: \00" @.str2304 = private unnamed_addr constant [4 x i8] c"key\00" @.str2305 = private unnamed_addr constant [54 x i8] c"build/cfree/selfhost.ludic:5766: index out of range: \00" @.str2306 = private unnamed_addr constant [54 x i8] c"build/cfree/selfhost.ludic:5767: index out of range: \00" @.str2307 = private unnamed_addr constant [54 x i8] c"build/cfree/selfhost.ludic:5768: index out of range: \00" @.str2308 = private unnamed_addr constant [54 x i8] c"build/cfree/selfhost.ludic:5771: index out of range: \00" @.str2309 = private unnamed_addr constant [5 x i8] c"def \00" @.str2310 = private unnamed_addr constant [54 x i8] c"build/cfree/selfhost.ludic:5775: index out of range: \00" @.str2311 = private unnamed_addr constant [2 x i8] c" \00" @.str2312 = private unnamed_addr constant [19 x i8] c" is declared twice\00" @.str2313 = private unnamed_addr constant [6 x i8] c"COUNT\00" @.str2314 = private unnamed_addr constant [5 x i8] c"def \00" @.str2315 = private unnamed_addr constant [54 x i8] c"build/cfree/selfhost.ludic:5784: index out of range: \00" @.str2316 = private unnamed_addr constant [2 x i8] c" \00" @.str2317 = private unnamed_addr constant [25 x i8] c": its constant would be \00" @.str2318 = private unnamed_addr constant [54 x i8] c"build/cfree/selfhost.ludic:5784: index out of range: \00" @.str2319 = private unnamed_addr constant [65 x i8] c"_COUNT, which is the registry's size; give the entry another key\00" @.str2320 = private unnamed_addr constant [4 x i8] c"key\00" @.str2321 = private unnamed_addr constant [4 x i8] c"key\00" @.str2322 = private unnamed_addr constant [54 x i8] c"build/cfree/selfhost.ludic:5795: index out of range: \00" @.str2323 = private unnamed_addr constant [54 x i8] c"build/cfree/selfhost.ludic:5795: index out of range: \00" @.str2324 = private unnamed_addr constant [54 x i8] c"build/cfree/selfhost.ludic:5802: index out of range: \00" @.str2325 = private unnamed_addr constant [2 x i8] c"_\00" @.str2326 = private unnamed_addr constant [54 x i8] c"build/cfree/selfhost.ludic:5806: index out of range: \00" @.str2327 = private unnamed_addr constant [7 x i8] c"_COUNT\00" @.str2328 = private unnamed_addr constant [6 x i8] c"_find\00" @.str2329 = private unnamed_addr constant [12 x i8] c"reg_find_fn\00" @.str2330 = private unnamed_addr constant [10 x i8] c"function \00" @.str2331 = private unnamed_addr constant [52 x i8] c"(key: string) -> int {\0A var i = 0\0A while i < len(\00" @.str2332 = private unnamed_addr constant [12 x i8] c") {\0A if \00" @.str2333 = private unnamed_addr constant [58 x i8] c"[i].key == key { return i }\0A i += 1\0A }\0A return -1\0A}\0A\00" @.str2334 = private unnamed_addr constant [54 x i8] c"build/cfree/selfhost.ludic:5834: index out of range: \00" @.str2335 = private unnamed_addr constant [54 x i8] c"build/cfree/selfhost.ludic:5853: index out of range: \00" @.str2336 = private unnamed_addr constant [14 x i8] c"reg_def_check\00" @.str2337 = private unnamed_addr constant [54 x i8] c"build/cfree/selfhost.ludic:5854: index out of range: \00" @.str2338 = private unnamed_addr constant [54 x i8] c"build/cfree/selfhost.ludic:5855: index out of range: \00" @.str2339 = private unnamed_addr constant [1 x i8] c"\00" @.str2340 = private unnamed_addr constant [54 x i8] c"build/cfree/selfhost.ludic:5863: index out of range: \00" @.str2341 = private unnamed_addr constant [5 x i8] c"def \00" @.str2342 = private unnamed_addr constant [2 x i8] c" \00" @.str2343 = private unnamed_addr constant [54 x i8] c"build/cfree/selfhost.ludic:5864: index out of range: \00" @.str2344 = private unnamed_addr constant [12 x i8] c": registry \00" @.str2345 = private unnamed_addr constant [58 x i8] c" is not open to other modules; declare it 'open registry \00" @.str2346 = private unnamed_addr constant [13 x i8] c"' in module \00" @.str2347 = private unnamed_addr constant [25 x i8] c", or write the def there\00" @.str2348 = private unnamed_addr constant [10 x i8] c"reg_order\00" @.str2349 = private unnamed_addr constant [54 x i8] c"build/cfree/selfhost.ludic:5881: index out of range: \00" @.str2350 = private unnamed_addr constant [54 x i8] c"build/cfree/selfhost.ludic:5885: index out of range: \00" @.str2351 = private unnamed_addr constant [54 x i8] c"build/cfree/selfhost.ludic:5885: index out of range: \00" @.str2352 = private unnamed_addr constant [54 x i8] c"build/cfree/selfhost.ludic:5886: index out of range: \00" @.str2353 = private unnamed_addr constant [54 x i8] c"build/cfree/selfhost.ludic:5892: index out of range: \00" @.str2354 = private unnamed_addr constant [54 x i8] c"build/cfree/selfhost.ludic:5903: index out of range: \00" @.str2355 = private unnamed_addr constant [54 x i8] c"build/cfree/selfhost.ludic:5905: index out of range: \00" @.str2356 = private unnamed_addr constant [54 x i8] c"build/cfree/selfhost.ludic:5906: index out of range: \00" @.str2357 = private unnamed_addr constant [54 x i8] c"build/cfree/selfhost.ludic:5906: index out of range: \00" @.str2358 = private unnamed_addr constant [54 x i8] c"build/cfree/selfhost.ludic:5909: index out of range: \00" @.str2359 = private unnamed_addr constant [54 x i8] c"build/cfree/selfhost.ludic:5916: index out of range: \00" @.str2360 = private unnamed_addr constant [54 x i8] c"build/cfree/selfhost.ludic:5916: index out of range: \00" @.str2361 = private unnamed_addr constant [54 x i8] c"build/cfree/selfhost.ludic:5916: index out of range: \00" @.str2362 = private unnamed_addr constant [54 x i8] c"build/cfree/selfhost.ludic:5916: index out of range: \00" @.str2363 = private unnamed_addr constant [9 x i8] c"at_group\00" @.str2364 = private unnamed_addr constant [8 x i8] c"at_push\00" @.str2365 = private unnamed_addr constant [54 x i8] c"build/cfree/selfhost.ludic:5978: index out of range: \00" @.str2366 = private unnamed_addr constant [54 x i8] c"build/cfree/selfhost.ludic:5978: index out of range: \00" @.str2367 = private unnamed_addr constant [2 x i8] c"(\00" @.str2368 = private unnamed_addr constant [3 x i8] c"[]\00" @.str2369 = private unnamed_addr constant [2 x i8] c"[\00" @.str2370 = private unnamed_addr constant [2 x i8] c")\00" @.str2371 = private unnamed_addr constant [2 x i8] c"-\00" @.str2372 = private unnamed_addr constant [54 x i8] c"build/cfree/selfhost.ludic:6002: index out of range: \00" @.str2373 = private unnamed_addr constant [8 x i8] c"at_args\00" @.str2374 = private unnamed_addr constant [2 x i8] c"-\00" @.str2375 = private unnamed_addr constant [2 x i8] c"-\00" @.str2376 = private unnamed_addr constant [62 x i8] c"an attribute's argument is a name, a string or a number, not \00" @.str2377 = private unnamed_addr constant [3 x i8] c", \00" @.str2378 = private unnamed_addr constant [2 x i8] c",\00" @.str2379 = private unnamed_addr constant [2 x i8] c")\00" @.str2380 = private unnamed_addr constant [2 x i8] c"]\00" @.str2381 = private unnamed_addr constant [3 x i8] c"-0\00" @.str2382 = private unnamed_addr constant [9 x i8] c"at_lead0\00" @.str2383 = private unnamed_addr constant [2 x i8] c"0\00" @.str2384 = private unnamed_addr constant [4 x i8] c"Ref\00" @.str2385 = private unnamed_addr constant [6 x i8] c"OneOf\00" @.str2386 = private unnamed_addr constant [6 x i8] c"Range\00" @.str2387 = private unnamed_addr constant [5 x i8] c"Unit\00" @.str2388 = private unnamed_addr constant [6 x i8] c"Asset\00" @.str2389 = private unnamed_addr constant [6 x i8] c"Color\00" @.str2390 = private unnamed_addr constant [5 x i8] c"Node\00" @.str2391 = private unnamed_addr constant [5 x i8] c"Clip\00" @.str2392 = private unnamed_addr constant [9 x i8] c"Material\00" @.str2393 = private unnamed_addr constant [5 x i8] c"Tint\00" @.str2394 = private unnamed_addr constant [6 x i8] c"Color\00" @.str2395 = private unnamed_addr constant [8 x i8] c"Derived\00" @.str2396 = private unnamed_addr constant [5 x i8] c"Text\00" @.str2397 = private unnamed_addr constant [10 x i8] c"Multiline\00" @.str2398 = private unnamed_addr constant [4 x i8] c"Key\00" @.str2399 = private unnamed_addr constant [4 x i8] c"Ref\00" @.str2400 = private unnamed_addr constant [5 x i8] c"Node\00" @.str2401 = private unnamed_addr constant [5 x i8] c"Clip\00" @.str2402 = private unnamed_addr constant [9 x i8] c"Material\00" @.str2403 = private unnamed_addr constant [5 x i8] c"Tint\00" @.str2404 = private unnamed_addr constant [54 x i8] c"build/cfree/selfhost.ludic:6055: index out of range: \00" @.str2405 = private unnamed_addr constant [9 x i8] c"at_field\00" @.str2406 = private unnamed_addr constant [2 x i8] c"@\00" @.str2407 = private unnamed_addr constant [19 x i8] c" takes one name: @\00" @.str2408 = private unnamed_addr constant [8 x i8] c"(Items)\00" @.str2409 = private unnamed_addr constant [6 x i8] c"OneOf\00" @.str2410 = private unnamed_addr constant [108 x i8] c"@OneOf takes a prefix, constants or words: @OneOf(GR_), @OneOf(GR_GOLD, GR_SILVER) or @OneOf(\22box\22, \22hull\22)\00" @.str2411 = private unnamed_addr constant [6 x i8] c"OneOf\00" @.str2412 = private unnamed_addr constant [6 x i8] c"Range\00" @.str2413 = private unnamed_addr constant [52 x i8] c"@Range takes the least and the most: @Range(0, 1.5)\00" @.str2414 = private unnamed_addr constant [6 x i8] c"Range\00" @.str2415 = private unnamed_addr constant [41 x i8] c"@Range takes two numbers: @Range(0, 1.5)\00" @.str2416 = private unnamed_addr constant [5 x i8] c"Unit\00" @.str2417 = private unnamed_addr constant [54 x i8] c"build/cfree/selfhost.ludic:6061: index out of range: \00" @.str2418 = private unnamed_addr constant [2 x i8] c"@\00" @.str2419 = private unnamed_addr constant [21 x i8] c" takes one string: @\00" @.str2420 = private unnamed_addr constant [8 x i8] c"(\22m/s\22)\00" @.str2421 = private unnamed_addr constant [6 x i8] c"Asset\00" @.str2422 = private unnamed_addr constant [152 x i8] c"@Asset takes a kind, and `map` for a path under each map's directory (then `optional`): @Asset(\22png\22), @Asset(\22png\22, map), @Asset(\22png\22, map, optional)\00" @.str2423 = private unnamed_addr constant [5 x i8] c"Unit\00" @.str2424 = private unnamed_addr constant [54 x i8] c"build/cfree/selfhost.ludic:6063: index out of range: \00" @.str2425 = private unnamed_addr constant [2 x i8] c"@\00" @.str2426 = private unnamed_addr constant [15 x i8] c" takes nothing\00" @.str2427 = private unnamed_addr constant [54 x i8] c"build/cfree/selfhost.ludic:6072: index out of range: \00" @.str2428 = private unnamed_addr constant [12 x i8] c"at_asset_ok\00" @.str2429 = private unnamed_addr constant [4 x i8] c"map\00" @.str2430 = private unnamed_addr constant [54 x i8] c"build/cfree/selfhost.ludic:6073: index out of range: \00" @.str2431 = private unnamed_addr constant [9 x i8] c"optional\00" @.str2432 = private unnamed_addr constant [3 x i8] c"[]\00" @.str2433 = private unnamed_addr constant [13 x i8] c"at_decl_with\00" @.str2434 = private unnamed_addr constant [14 x i8] c"at_decl_clear\00" @.str2435 = private unnamed_addr constant [54 x i8] c"build/cfree/selfhost.ludic:6112: index out of range: \00" @.str2436 = private unnamed_addr constant [17 x i8] c"at_registry_take\00" @.str2437 = private unnamed_addr constant [3 x i8] c"[]\00" @.str2438 = private unnamed_addr constant [54 x i8] c"build/cfree/selfhost.ludic:6113: index out of range: \00" @.str2439 = private unnamed_addr constant [54 x i8] c"build/cfree/selfhost.ludic:6113: index out of range: \00" @.str2440 = private unnamed_addr constant [54 x i8] c"build/cfree/selfhost.ludic:6116: index out of range: \00" @.str2441 = private unnamed_addr constant [54 x i8] c"build/cfree/selfhost.ludic:6116: index out of range: \00" @.str2442 = private unnamed_addr constant [54 x i8] c"build/cfree/selfhost.ludic:6128: index out of range: \00" @.str2443 = private unnamed_addr constant [14 x i8] c"at_check_refs\00" @.str2444 = private unnamed_addr constant [54 x i8] c"build/cfree/selfhost.ludic:6132: index out of range: \00" @.str2445 = private unnamed_addr constant [54 x i8] c"build/cfree/selfhost.ludic:6143: index out of range: \00" @.str2446 = private unnamed_addr constant [15 x i8] c"at_check_field\00" @.str2447 = private unnamed_addr constant [54 x i8] c"build/cfree/selfhost.ludic:6144: index out of range: \00" @.str2448 = private unnamed_addr constant [54 x i8] c"build/cfree/selfhost.ludic:6144: index out of range: \00" @.str2449 = private unnamed_addr constant [54 x i8] c"build/cfree/selfhost.ludic:6145: index out of range: \00" @.str2450 = private unnamed_addr constant [4 x i8] c"Ref\00" @.str2451 = private unnamed_addr constant [54 x i8] c"build/cfree/selfhost.ludic:6145: index out of range: \00" @.str2452 = private unnamed_addr constant [11 x i8] c"a registry\00" @.str2453 = private unnamed_addr constant [54 x i8] c"build/cfree/selfhost.ludic:6146: index out of range: \00" @.str2454 = private unnamed_addr constant [4 x i8] c"Ref\00" @.str2455 = private unnamed_addr constant [54 x i8] c"build/cfree/selfhost.ludic:6146: index out of range: \00" @.str2456 = private unnamed_addr constant [7 x i8] c"string\00" @.str2457 = private unnamed_addr constant [7 x i8] c"field \00" @.str2458 = private unnamed_addr constant [2 x i8] c".\00" @.str2459 = private unnamed_addr constant [8 x i8] c": @Ref(\00" @.str2460 = private unnamed_addr constant [54 x i8] c"build/cfree/selfhost.ludic:6147: index out of range: \00" @.str2461 = private unnamed_addr constant [98 x i8] c") names a @PerMap registry, whose rows have no index a program can hold - use a string key: @Ref(\00" @.str2462 = private unnamed_addr constant [54 x i8] c"build/cfree/selfhost.ludic:6147: index out of range: \00" @.str2463 = private unnamed_addr constant [3 x i8] c") \00" @.str2464 = private unnamed_addr constant [14 x i8] c": string = \22\22\00" @.str2465 = private unnamed_addr constant [54 x i8] c"build/cfree/selfhost.ludic:6149: index out of range: \00" @.str2466 = private unnamed_addr constant [5 x i8] c"Node\00" @.str2467 = private unnamed_addr constant [54 x i8] c"build/cfree/selfhost.ludic:6149: index out of range: \00" @.str2468 = private unnamed_addr constant [5 x i8] c"Clip\00" @.str2469 = private unnamed_addr constant [54 x i8] c"build/cfree/selfhost.ludic:6149: index out of range: \00" @.str2470 = private unnamed_addr constant [9 x i8] c"Material\00" @.str2471 = private unnamed_addr constant [54 x i8] c"build/cfree/selfhost.ludic:6149: index out of range: \00" @.str2472 = private unnamed_addr constant [54 x i8] c"build/cfree/selfhost.ludic:6149: index out of range: \00" @.str2473 = private unnamed_addr constant [54 x i8] c"build/cfree/selfhost.ludic:6150: index out of range: \00" @.str2474 = private unnamed_addr constant [6 x i8] c"OneOf\00" @.str2475 = private unnamed_addr constant [54 x i8] c"build/cfree/selfhost.ludic:6151: index out of range: \00" @.str2476 = private unnamed_addr constant [5 x i8] c"Tint\00" @.str2477 = private unnamed_addr constant [54 x i8] c"build/cfree/selfhost.ludic:6151: index out of range: \00" @.str2478 = private unnamed_addr constant [54 x i8] c"build/cfree/selfhost.ludic:6151: index out of range: \00" @.str2479 = private unnamed_addr constant [54 x i8] c"build/cfree/selfhost.ludic:6158: index out of range: \00" @.str2480 = private unnamed_addr constant [10 x i8] c"at_target\00" @.str2481 = private unnamed_addr constant [7 x i8] c"field \00" @.str2482 = private unnamed_addr constant [2 x i8] c".\00" @.str2483 = private unnamed_addr constant [4 x i8] c": @\00" @.str2484 = private unnamed_addr constant [54 x i8] c"build/cfree/selfhost.ludic:6159: index out of range: \00" @.str2485 = private unnamed_addr constant [2 x i8] c"(\00" @.str2486 = private unnamed_addr constant [2 x i8] c")\00" @.str2487 = private unnamed_addr constant [8 x i8] c" names \00" @.str2488 = private unnamed_addr constant [16 x i8] c", which is not \00" @.str2489 = private unnamed_addr constant [54 x i8] c"build/cfree/selfhost.ludic:6164: index out of range: \00" @.str2490 = private unnamed_addr constant [23 x i8] c": this program has no \00" @.str2491 = private unnamed_addr constant [19 x i8] c" - left unresolved\00" @.str2492 = private unnamed_addr constant [7 x i8] c"field \00" @.str2493 = private unnamed_addr constant [16 x i8] c"at_const_target\00" @.str2494 = private unnamed_addr constant [2 x i8] c".\00" @.str2495 = private unnamed_addr constant [4 x i8] c": @\00" @.str2496 = private unnamed_addr constant [54 x i8] c"build/cfree/selfhost.ludic:6168: index out of range: \00" @.str2497 = private unnamed_addr constant [8 x i8] c" names \00" @.str2498 = private unnamed_addr constant [26 x i8] c", which is not a constant\00" @.str2499 = private unnamed_addr constant [54 x i8] c"build/cfree/selfhost.ludic:6173: index out of range: \00" @.str2500 = private unnamed_addr constant [32 x i8] c": this program has no constant \00" @.str2501 = private unnamed_addr constant [19 x i8] c" - left unresolved\00" @.str2502 = private unnamed_addr constant [9 x i8] c"at_units\00" @.str2503 = private unnamed_addr constant [2 x i8] c"m\00" @.str2504 = private unnamed_addr constant [4 x i8] c"m/s\00" @.str2505 = private unnamed_addr constant [5 x i8] c"m/s2\00" @.str2506 = private unnamed_addr constant [2 x i8] c"s\00" @.str2507 = private unnamed_addr constant [4 x i8] c"min\00" @.str2508 = private unnamed_addr constant [2 x i8] c"h\00" @.str2509 = private unnamed_addr constant [2 x i8] c"d\00" @.str2510 = private unnamed_addr constant [4 x i8] c"deg\00" @.str2511 = private unnamed_addr constant [4 x i8] c"rad\00" @.str2512 = private unnamed_addr constant [6 x i8] c"rad/s\00" @.str2513 = private unnamed_addr constant [3 x i8] c"kg\00" @.str2514 = private unnamed_addr constant [2 x i8] c"N\00" @.str2515 = private unnamed_addr constant [4 x i8] c"N.m\00" @.str2516 = private unnamed_addr constant [2 x i8] c"%\00" @.str2517 = private unnamed_addr constant [3 x i8] c"px\00" @.str2518 = private unnamed_addr constant [54 x i8] c"build/cfree/selfhost.ludic:6190: index out of range: \00" @.str2519 = private unnamed_addr constant [14 x i8] c"at_unit_known\00" @.str2520 = private unnamed_addr constant [3 x i8] c"\C2\B0\00" @.str2521 = private unnamed_addr constant [8 x i8] c"degrees\00" @.str2522 = private unnamed_addr constant [7 x i8] c"degree\00" @.str2523 = private unnamed_addr constant [5 x i8] c"degs\00" @.str2524 = private unnamed_addr constant [4 x i8] c"deg\00" @.str2525 = private unnamed_addr constant [4 x i8] c"sec\00" @.str2526 = private unnamed_addr constant [5 x i8] c"secs\00" @.str2527 = private unnamed_addr constant [7 x i8] c"second\00" @.str2528 = private unnamed_addr constant [8 x i8] c"seconds\00" @.str2529 = private unnamed_addr constant [2 x i8] c"s\00" @.str2530 = private unnamed_addr constant [6 x i8] c"m/s^2\00" @.str2531 = private unnamed_addr constant [6 x i8] c"m/s\C2\B2\00" @.str2532 = private unnamed_addr constant [6 x i8] c"m/s/s\00" @.str2533 = private unnamed_addr constant [5 x i8] c"m/s2\00" @.str2534 = private unnamed_addr constant [3 x i8] c"Nm\00" @.str2535 = private unnamed_addr constant [4 x i8] c"N m\00" @.str2536 = private unnamed_addr constant [4 x i8] c"N*m\00" @.str2537 = private unnamed_addr constant [5 x i8] c"N\C2\B7m\00" @.str2538 = private unnamed_addr constant [4 x i8] c"N.m\00" @.str2539 = private unnamed_addr constant [8 x i8] c"radians\00" @.str2540 = private unnamed_addr constant [7 x i8] c"radian\00" @.str2541 = private unnamed_addr constant [4 x i8] c"rad\00" @.str2542 = private unnamed_addr constant [8 x i8] c"rad/sec\00" @.str2543 = private unnamed_addr constant [6 x i8] c"rad/s\00" @.str2544 = private unnamed_addr constant [7 x i8] c"meters\00" @.str2545 = private unnamed_addr constant [7 x i8] c"metres\00" @.str2546 = private unnamed_addr constant [6 x i8] c"meter\00" @.str2547 = private unnamed_addr constant [6 x i8] c"metre\00" @.str2548 = private unnamed_addr constant [2 x i8] c"m\00" @.str2549 = private unnamed_addr constant [4 x i8] c"mps\00" @.str2550 = private unnamed_addr constant [6 x i8] c"m/sec\00" @.str2551 = private unnamed_addr constant [4 x i8] c"m/s\00" @.str2552 = private unnamed_addr constant [8 x i8] c"minutes\00" @.str2553 = private unnamed_addr constant [7 x i8] c"minute\00" @.str2554 = private unnamed_addr constant [5 x i8] c"mins\00" @.str2555 = private unnamed_addr constant [4 x i8] c"min\00" @.str2556 = private unnamed_addr constant [6 x i8] c"hours\00" @.str2557 = private unnamed_addr constant [5 x i8] c"hour\00" @.str2558 = private unnamed_addr constant [3 x i8] c"hr\00" @.str2559 = private unnamed_addr constant [4 x i8] c"hrs\00" @.str2560 = private unnamed_addr constant [2 x i8] c"h\00" @.str2561 = private unnamed_addr constant [5 x i8] c"days\00" @.str2562 = private unnamed_addr constant [4 x i8] c"day\00" @.str2563 = private unnamed_addr constant [2 x i8] c"d\00" @.str2564 = private unnamed_addr constant [10 x i8] c"kilograms\00" @.str2565 = private unnamed_addr constant [9 x i8] c"kilogram\00" @.str2566 = private unnamed_addr constant [4 x i8] c"kgs\00" @.str2567 = private unnamed_addr constant [3 x i8] c"kg\00" @.str2568 = private unnamed_addr constant [8 x i8] c"percent\00" @.str2569 = private unnamed_addr constant [4 x i8] c"pct\00" @.str2570 = private unnamed_addr constant [2 x i8] c"%\00" @.str2571 = private unnamed_addr constant [7 x i8] c"pixels\00" @.str2572 = private unnamed_addr constant [6 x i8] c"pixel\00" @.str2573 = private unnamed_addr constant [3 x i8] c"px\00" @.str2574 = private unnamed_addr constant [8 x i8] c"newtons\00" @.str2575 = private unnamed_addr constant [7 x i8] c"newton\00" @.str2576 = private unnamed_addr constant [2 x i8] c"N\00" @.str2577 = private unnamed_addr constant [8 x i8] c"@Unit(\22\00" @.str2578 = private unnamed_addr constant [14 x i8] c"at_unit_check\00" @.str2579 = private unnamed_addr constant [26 x i8] c"\22): the unit is spelled \22\00" @.str2580 = private unnamed_addr constant [2 x i8] c"\22\00" @.str2581 = private unnamed_addr constant [8 x i8] c"@Unit(\22\00" @.str2582 = private unnamed_addr constant [88 x i8] c"\22) is not a known unit (m, m/s, m/s2, s, min, h, d, deg, rad, rad/s, kg, N, N.m, %, px)\00" @.str2583 = private unnamed_addr constant [54 x i8] c"build/cfree/selfhost.ludic:6233: index out of range: \00" @.str2584 = private unnamed_addr constant [12 x i8] c"at_field_of\00" @.str2585 = private unnamed_addr constant [54 x i8] c"build/cfree/selfhost.ludic:6233: index out of range: \00" @.str2586 = private unnamed_addr constant [54 x i8] c"build/cfree/selfhost.ludic:6233: index out of range: \00" @.str2587 = private unnamed_addr constant [54 x i8] c"build/cfree/selfhost.ludic:6241: index out of range: \00" @.str2588 = private unnamed_addr constant [10 x i8] c"at_arg_of\00" @.str2589 = private unnamed_addr constant [54 x i8] c"build/cfree/selfhost.ludic:6242: index out of range: \00" @.str2590 = private unnamed_addr constant [54 x i8] c"build/cfree/selfhost.ludic:6242: index out of range: \00" @.str2591 = private unnamed_addr constant [54 x i8] c"build/cfree/selfhost.ludic:6243: index out of range: \00" @.str2592 = private unnamed_addr constant [54 x i8] c"build/cfree/selfhost.ludic:6243: index out of range: \00" @.str2593 = private unnamed_addr constant [6 x i8] c"Asset\00" @.str2594 = private unnamed_addr constant [5 x i8] c"gltf\00" @.str2595 = private unnamed_addr constant [54 x i8] c"build/cfree/selfhost.ludic:6257: index out of range: \00" @.str2596 = private unnamed_addr constant [10 x i8] c"at_record\00" @.str2597 = private unnamed_addr constant [54 x i8] c"build/cfree/selfhost.ludic:6257: index out of range: \00" @.str2598 = private unnamed_addr constant [54 x i8] c"build/cfree/selfhost.ludic:6257: index out of range: \00" @.str2599 = private unnamed_addr constant [54 x i8] c"build/cfree/selfhost.ludic:6257: index out of range: \00" @.str2600 = private unnamed_addr constant [54 x i8] c"build/cfree/selfhost.ludic:6267: index out of range: \00" @.str2601 = private unnamed_addr constant [14 x i8] c"at_gltf_count\00" @.str2602 = private unnamed_addr constant [7 x i8] c"field \00" @.str2603 = private unnamed_addr constant [14 x i8] c"at_check_node\00" @.str2604 = private unnamed_addr constant [2 x i8] c".\00" @.str2605 = private unnamed_addr constant [4 x i8] c": @\00" @.str2606 = private unnamed_addr constant [2 x i8] c"(\00" @.str2607 = private unnamed_addr constant [2 x i8] c")\00" @.str2608 = private unnamed_addr constant [19 x i8] c" names no field - \00" @.str2609 = private unnamed_addr constant [15 x i8] c" has no field \00" @.str2610 = private unnamed_addr constant [4 x i8] c"Ref\00" @.str2611 = private unnamed_addr constant [3 x i8] c": \00" @.str2612 = private unnamed_addr constant [63 x i8] c" is neither @Asset(\22gltf\22) nor an @Ref to a registry of models\00" @.str2613 = private unnamed_addr constant [54 x i8] c"build/cfree/selfhost.ludic:6287: index out of range: \00" @.str2614 = private unnamed_addr constant [3 x i8] c": \00" @.str2615 = private unnamed_addr constant [13 x i8] c" is an @Ref(\00" @.str2616 = private unnamed_addr constant [19 x i8] c"), and its record \00" @.str2617 = private unnamed_addr constant [54 x i8] c"build/cfree/selfhost.ludic:6291: index out of range: \00" @.str2618 = private unnamed_addr constant [6 x i8] c" has \00" @.str2619 = private unnamed_addr constant [32 x i8] c" @Asset(\22gltf\22) fields, not one\00" @.str2620 = private unnamed_addr constant [7 x i8] c"field \00" @.str2621 = private unnamed_addr constant [15 x i8] c"at_check_oneof\00" @.str2622 = private unnamed_addr constant [2 x i8] c".\00" @.str2623 = private unnamed_addr constant [9 x i8] c": @OneOf\00" @.str2624 = private unnamed_addr constant [54 x i8] c"build/cfree/selfhost.ludic:6299: index out of range: \00" @.str2625 = private unnamed_addr constant [7 x i8] c"string\00" @.str2626 = private unnamed_addr constant [19 x i8] c" lists words, and \00" @.str2627 = private unnamed_addr constant [42 x i8] c" is not a string - name constants instead\00" @.str2628 = private unnamed_addr constant [23 x i8] c" names constants, and \00" @.str2629 = private unnamed_addr constant [60 x i8] c" is a string - list the words it may hold: @OneOf(\22a\22, \22b\22)\00" @.str2630 = private unnamed_addr constant [54 x i8] c"build/cfree/selfhost.ludic:6309: index out of range: \00" @.str2631 = private unnamed_addr constant [54 x i8] c"build/cfree/selfhost.ludic:6314: index out of range: \00" @.str2632 = private unnamed_addr constant [54 x i8] c"build/cfree/selfhost.ludic:6315: index out of range: \00" @.str2633 = private unnamed_addr constant [54 x i8] c"build/cfree/selfhost.ludic:6318: index out of range: \00" @.str2634 = private unnamed_addr constant [54 x i8] c"build/cfree/selfhost.ludic:6318: index out of range: \00" @.str2635 = private unnamed_addr constant [54 x i8] c"build/cfree/selfhost.ludic:6327: index out of range: \00" @.str2636 = private unnamed_addr constant [14 x i8] c"at_check_rows\00" @.str2637 = private unnamed_addr constant [54 x i8] c"build/cfree/selfhost.ludic:6328: index out of range: \00" @.str2638 = private unnamed_addr constant [54 x i8] c"build/cfree/selfhost.ludic:6328: index out of range: \00" @.str2639 = private unnamed_addr constant [54 x i8] c"build/cfree/selfhost.ludic:6328: index out of range: \00" @.str2640 = private unnamed_addr constant [54 x i8] c"build/cfree/selfhost.ludic:6335: index out of range: \00" @.str2641 = private unnamed_addr constant [13 x i8] c"at_check_row\00" @.str2642 = private unnamed_addr constant [2 x i8] c".\00" @.str2643 = private unnamed_addr constant [6 x i8] c" is \22\00" @.str2644 = private unnamed_addr constant [14 x i8] c"\22, and field \00" @.str2645 = private unnamed_addr constant [2 x i8] c".\00" @.str2646 = private unnamed_addr constant [12 x i8] c" is @OneOf(\00" @.str2647 = private unnamed_addr constant [2 x i8] c")\00" @.str2648 = private unnamed_addr constant [54 x i8] c"build/cfree/selfhost.ludic:6345: index out of range: \00" @.str2649 = private unnamed_addr constant [11 x i8] c"at_word_in\00" @.str2650 = private unnamed_addr constant [1 x i8] c"\00" @.str2651 = private unnamed_addr constant [3 x i8] c", \00" @.str2652 = private unnamed_addr constant [14 x i8] c"at_words_text\00" @.str2653 = private unnamed_addr constant [2 x i8] c"\22\00" @.str2654 = private unnamed_addr constant [54 x i8] c"build/cfree/selfhost.ludic:6355: index out of range: \00" @.str2655 = private unnamed_addr constant [2 x i8] c"\22\00" @.str2656 = private unnamed_addr constant [13 x i8] c"at_arg_names\00" @.str2657 = private unnamed_addr constant [54 x i8] c"build/cfree/selfhost.ludic:6379: index out of range: \00" @.str2658 = private unnamed_addr constant [16 x i8] c"at_const_exists\00" @.str2659 = private unnamed_addr constant [54 x i8] c"build/cfree/selfhost.ludic:6379: index out of range: \00" @.str2660 = private unnamed_addr constant [54 x i8] c"build/cfree/selfhost.ludic:6379: index out of range: \00" @.str2661 = private unnamed_addr constant [54 x i8] c"build/cfree/selfhost.ludic:6388: index out of range: \00" @.str2662 = private unnamed_addr constant [14 x i8] c"at_decl_named\00" @.str2663 = private unnamed_addr constant [54 x i8] c"build/cfree/selfhost.ludic:6388: index out of range: \00" @.str2664 = private unnamed_addr constant [54 x i8] c"build/cfree/selfhost.ludic:6396: index out of range: \00" @.str2665 = private unnamed_addr constant [13 x i8] c"at_asset_map\00" @.str2666 = private unnamed_addr constant [54 x i8] c"build/cfree/selfhost.ludic:6397: index out of range: \00" @.str2667 = private unnamed_addr constant [54 x i8] c"build/cfree/selfhost.ludic:6397: index out of range: \00" @.str2668 = private unnamed_addr constant [54 x i8] c"build/cfree/selfhost.ludic:6398: index out of range: \00" @.str2669 = private unnamed_addr constant [6 x i8] c"Asset\00" @.str2670 = private unnamed_addr constant [54 x i8] c"build/cfree/selfhost.ludic:6399: index out of range: \00" @.str2671 = private unnamed_addr constant [10 x i8] c"registry \00" @.str2672 = private unnamed_addr constant [9 x i8] c"res_read\00" @.str2673 = private unnamed_addr constant [33 x i8] c": cannot read the resource file \00" @.str2674 = private unnamed_addr constant [14 x i8] c"res_read_into\00" @.str2675 = private unnamed_addr constant [54 x i8] c"build/cfree/selfhost.ludic:6440: index out of range: \00" @.str2676 = private unnamed_addr constant [2 x i8] c":\00" @.str2677 = private unnamed_addr constant [1 x i8] c"\00" @.str2678 = private unnamed_addr constant [54 x i8] c"build/cfree/selfhost.ludic:6452: index out of range: \00" @.str2679 = private unnamed_addr constant [54 x i8] c"build/cfree/selfhost.ludic:6453: index out of range: \00" @.str2680 = private unnamed_addr constant [54 x i8] c"build/cfree/selfhost.ludic:6489: index out of range: \00" @.str2681 = private unnamed_addr constant [9 x i8] c"res_type\00" @.str2682 = private unnamed_addr constant [54 x i8] c"build/cfree/selfhost.ludic:6489: index out of range: \00" @.str2683 = private unnamed_addr constant [54 x i8] c"build/cfree/selfhost.ludic:6498: index out of range: \00" @.str2684 = private unnamed_addr constant [16 x i8] c"res_type_fields\00" @.str2685 = private unnamed_addr constant [54 x i8] c"build/cfree/selfhost.ludic:6500: index out of range: \00" @.str2686 = private unnamed_addr constant [2 x i8] c"(\00" @.str2687 = private unnamed_addr constant [2 x i8] c")\00" @.str2688 = private unnamed_addr constant [54 x i8] c"@Chunked takes a chunk's size in metres: @Chunked(64)\00" @.str2689 = private unnamed_addr constant [8 x i8] c"Chunked\00" @.str2690 = private unnamed_addr constant [2 x i8] c"[\00" @.str2691 = private unnamed_addr constant [17 x i8] c"pm_parse_chunked\00" @.str2692 = private unnamed_addr constant [2 x i8] c"]\00" @.str2693 = private unnamed_addr constant [12 x i8] c"pm_declared\00" @.str2694 = private unnamed_addr constant [10 x i8] c"registry \00" @.str2695 = private unnamed_addr constant [57 x i8] c": @Chunked is for a @PerMap registry - @PerMap @Chunked(\00" @.str2696 = private unnamed_addr constant [12 x i8] c") registry \00" @.str2697 = private unnamed_addr constant [5 x i8] c" ...\00" @.str2698 = private unnamed_addr constant [54 x i8] c"build/cfree/selfhost.ludic:6542: index out of range: \00" @.str2699 = private unnamed_addr constant [6 x i8] c"pm_is\00" @.str2700 = private unnamed_addr constant [2 x i8] c"/\00" @.str2701 = private unnamed_addr constant [12 x i8] c"pm_manifest\00" @.str2702 = private unnamed_addr constant [14 x i8] c"package.ludic\00" @.str2703 = private unnamed_addr constant [12 x i8] c"assets/maps\00" @.str2704 = private unnamed_addr constant [3 x i8] c"..\00" @.str2705 = private unnamed_addr constant [4 x i8] c"/..\00" @.str2706 = private unnamed_addr constant [17 x i8] c"pm_manifest_read\00" @.str2707 = private unnamed_addr constant [54 x i8] c"build/cfree/selfhost.ludic:6594: index out of range: \00" @.str2708 = private unnamed_addr constant [5 x i8] c"maps\00" @.str2709 = private unnamed_addr constant [54 x i8] c"build/cfree/selfhost.ludic:6594: index out of range: \00" @.str2710 = private unnamed_addr constant [8 x i8] c"pm_norm\00" @.str2711 = private unnamed_addr constant [2 x i8] c".\00" @.str2712 = private unnamed_addr constant [3 x i8] c"..\00" @.str2713 = private unnamed_addr constant [54 x i8] c"build/cfree/selfhost.ludic:6610: index out of range: \00" @.str2714 = private unnamed_addr constant [3 x i8] c"..\00" @.str2715 = private unnamed_addr constant [1 x i8] c"\00" @.str2716 = private unnamed_addr constant [2 x i8] c"/\00" @.str2717 = private unnamed_addr constant [2 x i8] c"/\00" @.str2718 = private unnamed_addr constant [54 x i8] c"build/cfree/selfhost.ludic:6619: index out of range: \00" @.str2719 = private unnamed_addr constant [2 x i8] c".\00" @.str2720 = private unnamed_addr constant [14 x i8] c"pm_trim_slash\00" @.str2721 = private unnamed_addr constant [4 x i8] c"int\00" @.str2722 = private unnamed_addr constant [6 x i8] c"float\00" @.str2723 = private unnamed_addr constant [5 x i8] c"bool\00" @.str2724 = private unnamed_addr constant [7 x i8] c"string\00" @.str2725 = private unnamed_addr constant [4 x i8] c"fn(\00" @.str2726 = private unnamed_addr constant [54 x i8] c"build/cfree/selfhost.ludic:6661: index out of range: \00" @.str2727 = private unnamed_addr constant [13 x i8] c"pm_rec_index\00" @.str2728 = private unnamed_addr constant [54 x i8] c"build/cfree/selfhost.ludic:6669: index out of range: \00" @.str2729 = private unnamed_addr constant [12 x i8] c"pm_fn_index\00" @.str2730 = private unnamed_addr constant [54 x i8] c"build/cfree/selfhost.ludic:6677: index out of range: \00" @.str2731 = private unnamed_addr constant [11 x i8] c"pm_add_rec\00" @.str2732 = private unnamed_addr constant [11 x i8] c"pm_collect\00" @.str2733 = private unnamed_addr constant [11 x i8] c"new []bool\00" @.str2734 = private unnamed_addr constant [54 x i8] c"build/cfree/selfhost.ludic:6687: index out of range: \00" @.str2735 = private unnamed_addr constant [54 x i8] c"build/cfree/selfhost.ludic:6690: index out of range: \00" @.str2736 = private unnamed_addr constant [54 x i8] c"build/cfree/selfhost.ludic:6693: index out of range: \00" @.str2737 = private unnamed_addr constant [7 x i8] c"field \00" @.str2738 = private unnamed_addr constant [17 x i8] c"pm_collect_field\00" @.str2739 = private unnamed_addr constant [2 x i8] c".\00" @.str2740 = private unnamed_addr constant [22 x i8] c" of @PerMap registry \00" @.str2741 = private unnamed_addr constant [54 x i8] c"build/cfree/selfhost.ludic:6701: index out of range: \00" @.str2742 = private unnamed_addr constant [101 x i8] c": a map's row holds an int, a float, a bool, a string, a record, a list of those or a fn value, not \00" @.str2743 = private unnamed_addr constant [62 x i8] c": a record in a map's row holds itself only through a list - \00" @.str2744 = private unnamed_addr constant [27 x i8] c" would be made without end\00" @.str2745 = private unnamed_addr constant [76 x i8] c": a list in a map's row holds ints, floats, bools, strings or records, not \00" @.str2746 = private unnamed_addr constant [54 x i8] c"build/cfree/selfhost.ludic:6728: index out of range: \00" @.str2747 = private unnamed_addr constant [18 x i8] c"pm_single_reaches\00" @.str2748 = private unnamed_addr constant [54 x i8] c"build/cfree/selfhost.ludic:6738: index out of range: \00" @.str2749 = private unnamed_addr constant [12 x i8] c"pm_validate\00" @.str2750 = private unnamed_addr constant [54 x i8] c"build/cfree/selfhost.ludic:6739: index out of range: \00" @.str2751 = private unnamed_addr constant [54 x i8] c"build/cfree/selfhost.ludic:6741: index out of range: \00" @.str2752 = private unnamed_addr constant [10 x i8] c"registry \00" @.str2753 = private unnamed_addr constant [86 x i8] c": a @PerMap registry is not open - its rows come from each map's files, not from defs\00" @.str2754 = private unnamed_addr constant [54 x i8] c"build/cfree/selfhost.ludic:6742: index out of range: \00" @.str2755 = private unnamed_addr constant [10 x i8] c"registry \00" @.str2756 = private unnamed_addr constant [81 x i8] c": a @PerMap registry says which file under each map holds it - @PerMap registry \00" @.str2757 = private unnamed_addr constant [5 x i8] c" of \00" @.str2758 = private unnamed_addr constant [54 x i8] c"build/cfree/selfhost.ludic:6744: index out of range: \00" @.str2759 = private unnamed_addr constant [8 x i8] c" from \22\00" @.str2760 = private unnamed_addr constant [7 x i8] c".lres\22\00" @.str2761 = private unnamed_addr constant [54 x i8] c"build/cfree/selfhost.ludic:6747: index out of range: \00" @.str2762 = private unnamed_addr constant [5 x i8] c"{cx}\00" @.str2763 = private unnamed_addr constant [5 x i8] c"{cz}\00" @.str2764 = private unnamed_addr constant [5 x i8] c"{cx}\00" @.str2765 = private unnamed_addr constant [5 x i8] c"{cz}\00" @.str2766 = private unnamed_addr constant [10 x i8] c"registry \00" @.str2767 = private unnamed_addr constant [54 x i8] c": a @Chunked registry's file names its chunk - from \22\00" @.str2768 = private unnamed_addr constant [17 x i8] c"/{cx}_{cz}.lres\22\00" @.str2769 = private unnamed_addr constant [10 x i8] c"registry \00" @.str2770 = private unnamed_addr constant [57 x i8] c": {cx} and {cz} name a chunk - declare it @Chunked(size)\00" @.str2771 = private unnamed_addr constant [10 x i8] c"registry \00" @.str2772 = private unnamed_addr constant [71 x i8] c": {cx} and {cz} go in the file's own name, not in a directory above it\00" @.str2773 = private unnamed_addr constant [54 x i8] c"build/cfree/selfhost.ludic:6753: index out of range: \00" @.str2774 = private unnamed_addr constant [10 x i8] c"registry \00" @.str2775 = private unnamed_addr constant [22 x i8] c": there is no record \00" @.str2776 = private unnamed_addr constant [54 x i8] c"build/cfree/selfhost.ludic:6755: index out of range: \00" @.str2777 = private unnamed_addr constant [10 x i8] c"registry \00" @.str2778 = private unnamed_addr constant [45 x i8] c": a @PerMap registry's record is not generic\00" @.str2779 = private unnamed_addr constant [54 x i8] c"build/cfree/selfhost.ludic:6759: index out of range: \00" @.str2780 = private unnamed_addr constant [4 x i8] c"key\00" @.str2781 = private unnamed_addr constant [54 x i8] c"build/cfree/selfhost.ludic:6759: index out of range: \00" @.str2782 = private unnamed_addr constant [7 x i8] c"string\00" @.str2783 = private unnamed_addr constant [8 x i8] c"record \00" @.str2784 = private unnamed_addr constant [22 x i8] c" of @PerMap registry \00" @.str2785 = private unnamed_addr constant [54 x i8] c": its first field is the row's key - key: string = \22\22\00" @.str2786 = private unnamed_addr constant [22 x i8] c"pm_placeholder_in_dir\00" @.str2787 = private unnamed_addr constant [5 x i8] c"{cx}\00" @.str2788 = private unnamed_addr constant [5 x i8] c"{cz}\00" @.str2789 = private unnamed_addr constant [54 x i8] c"build/cfree/selfhost.ludic:6779: index out of range: \00" @.str2790 = private unnamed_addr constant [13 x i8] c"pm_def_check\00" @.str2791 = private unnamed_addr constant [54 x i8] c"build/cfree/selfhost.ludic:6781: index out of range: \00" @.str2792 = private unnamed_addr constant [54 x i8] c"build/cfree/selfhost.ludic:6782: index out of range: \00" @.str2793 = private unnamed_addr constant [5 x i8] c"def \00" @.str2794 = private unnamed_addr constant [54 x i8] c"build/cfree/selfhost.ludic:6784: index out of range: \00" @.str2795 = private unnamed_addr constant [2 x i8] c" \00" @.str2796 = private unnamed_addr constant [54 x i8] c"build/cfree/selfhost.ludic:6784: index out of range: \00" @.str2797 = private unnamed_addr constant [3 x i8] c": \00" @.str2798 = private unnamed_addr constant [54 x i8] c"build/cfree/selfhost.ludic:6784: index out of range: \00" @.str2799 = private unnamed_addr constant [60 x i8] c" is a @PerMap registry - its rows are read from each map's \00" @.str2800 = private unnamed_addr constant [54 x i8] c"build/cfree/selfhost.ludic:6784: index out of range: \00" @.str2801 = private unnamed_addr constant [42 x i8] c" when the map loads, not written with def\00" @.str2802 = private unnamed_addr constant [10 x i8] c"pm_finish\00" @.str2803 = private unnamed_addr constant [54 x i8] c"build/cfree/selfhost.ludic:6808: index out of range: \00" @.str2804 = private unnamed_addr constant [10 x i8] c"pmc_index\00" @.str2805 = private unnamed_addr constant [54 x i8] c"build/cfree/selfhost.ludic:6840: index out of range: \00" @.str2806 = private unnamed_addr constant [54 x i8] c"build/cfree/selfhost.ludic:6853: index out of range: \00" @.str2807 = private unnamed_addr constant [54 x i8] c"build/cfree/selfhost.ludic:6853: index out of range: \00" @.str2808 = private unnamed_addr constant [54 x i8] c"build/cfree/selfhost.ludic:6854: index out of range: \00" @.str2809 = private unnamed_addr constant [54 x i8] c"build/cfree/selfhost.ludic:6854: index out of range: \00" @.str2810 = private unnamed_addr constant [54 x i8] c"build/cfree/selfhost.ludic:6865: index out of range: \00" @.str2811 = private unnamed_addr constant [9 x i8] c"pmc_find\00" @.str2812 = private unnamed_addr constant [54 x i8] c"build/cfree/selfhost.ludic:6872: index out of range: \00" @.str2813 = private unnamed_addr constant [2 x i8] c"-\00" @.str2814 = private unnamed_addr constant [2 x i8] c"~\00" @.str2815 = private unnamed_addr constant [4 x i8] c"int\00" @.str2816 = private unnamed_addr constant [2 x i8] c"+\00" @.str2817 = private unnamed_addr constant [2 x i8] c"-\00" @.str2818 = private unnamed_addr constant [2 x i8] c"*\00" @.str2819 = private unnamed_addr constant [2 x i8] c"/\00" @.str2820 = private unnamed_addr constant [2 x i8] c"%\00" @.str2821 = private unnamed_addr constant [3 x i8] c"<<\00" @.str2822 = private unnamed_addr constant [3 x i8] c">>\00" @.str2823 = private unnamed_addr constant [2 x i8] c"&\00" @.str2824 = private unnamed_addr constant [2 x i8] c"|\00" @.str2825 = private unnamed_addr constant [2 x i8] c"^\00" @.str2826 = private unnamed_addr constant [2 x i8] c"-\00" @.str2827 = private unnamed_addr constant [10 x i8] c"pmc_float\00" @.str2828 = private unnamed_addr constant [2 x i8] c"-\00" @.str2829 = private unnamed_addr constant [6 x i8] c"float\00" @.str2830 = private unnamed_addr constant [12 x i8] c"pmc_collect\00" @.str2831 = private unnamed_addr constant [54 x i8] c"build/cfree/selfhost.ludic:6948: index out of range: \00" @.str2832 = private unnamed_addr constant [54 x i8] c"build/cfree/selfhost.ludic:6949: index out of range: \00" @.str2833 = private unnamed_addr constant [54 x i8] c"build/cfree/selfhost.ludic:6950: index out of range: \00" @.str2834 = private unnamed_addr constant [4 x i8] c"int\00" @.str2835 = private unnamed_addr constant [1 x i8] c"\00" @.str2836 = private unnamed_addr constant [6 x i8] c"float\00" @.str2837 = private unnamed_addr constant [54 x i8] c"build/cfree/selfhost.ludic:6971: index out of range: \00" @.str2838 = private unnamed_addr constant [11 x i8] c"pmc_lookup\00" @.str2839 = private unnamed_addr constant [48 x i8] c"function lres_consts__() -> string {\0A return \22\00" @.str2840 = private unnamed_addr constant [54 x i8] c"build/cfree/selfhost.ludic:6984: index out of range: \00" @.str2841 = private unnamed_addr constant [14 x i8] c"pm_consts_gen\00" @.str2842 = private unnamed_addr constant [54 x i8] c"build/cfree/selfhost.ludic:6985: index out of range: \00" @.str2843 = private unnamed_addr constant [4 x i8] c" f \00" @.str2844 = private unnamed_addr constant [54 x i8] c"build/cfree/selfhost.ludic:6987: index out of range: \00" @.str2845 = private unnamed_addr constant [4 x i8] c" i \00" @.str2846 = private unnamed_addr constant [54 x i8] c"build/cfree/selfhost.ludic:6990: index out of range: \00" @.str2847 = private unnamed_addr constant [2 x i8] c";\00" @.str2848 = private unnamed_addr constant [5 x i8] c"\22\0A}\0A\00" @.str2849 = private unnamed_addr constant [33 x i8] c"runtime/native/lres_consts.ludic\00" @.str2850 = private unnamed_addr constant [17 x i8] c"LUDIC_PERMAP_SRC\00" @.str2851 = private unnamed_addr constant [3 x i8] c"ab\00" @.str2852 = private unnamed_addr constant [13 x i8] c"pm_parse_src\00" @.str2853 = private unnamed_addr constant [54 x i8] c"build/cfree/selfhost.ludic:7042: index out of range: \00" @.str2854 = private unnamed_addr constant [54 x i8] c"build/cfree/selfhost.ludic:7047: index out of range: \00" @.str2855 = private unnamed_addr constant [2 x i8] c"\0A\00" @.str2856 = private unnamed_addr constant [54 x i8] c"build/cfree/selfhost.ludic:7075: index out of range: \00" @.str2857 = private unnamed_addr constant [7 x i8] c"pm_gen\00" @.str2858 = private unnamed_addr constant [54 x i8] c"build/cfree/selfhost.ludic:7076: index out of range: \00" @.str2859 = private unnamed_addr constant [54 x i8] c"build/cfree/selfhost.ludic:7078: index out of range: \00" @.str2860 = private unnamed_addr constant [54 x i8] c"build/cfree/selfhost.ludic:7081: index out of range: \00" @.str2861 = private unnamed_addr constant [54 x i8] c"build/cfree/selfhost.ludic:7081: index out of range: \00" @.str2862 = private unnamed_addr constant [54 x i8] c"build/cfree/selfhost.ludic:7084: index out of range: \00" @.str2863 = private unnamed_addr constant [98 x i8] c"@alloc_ok(\22a path handed to a caller at load time - for an asset a row names - never in a frame\22)\00" @.str2864 = private unnamed_addr constant [10 x i8] c"function \00" @.str2865 = private unnamed_addr constant [11 x i8] c"_path(st: \00" @.str2866 = private unnamed_addr constant [27 x i8] c", rel: string) -> string {\00" @.str2867 = private unnamed_addr constant [10 x i8] c" return \00" @.str2868 = private unnamed_addr constant [2 x i8] c"/\00" @.str2869 = private unnamed_addr constant [22 x i8] c" + st.map + \22/\22 + rel\00" @.str2870 = private unnamed_addr constant [2 x i8] c"}\00" @.str2871 = private unnamed_addr constant [10 x i8] c"property \00" @.str2872 = private unnamed_addr constant [12 x i8] c"pm_gen_pool\00" @.str2873 = private unnamed_addr constant [9 x i8] c"__Pool {\00" @.str2874 = private unnamed_addr constant [11 x i8] c" rows: []\00" @.str2875 = private unnamed_addr constant [54 x i8] c"build/cfree/selfhost.ludic:7096: index out of range: \00" @.str2876 = private unnamed_addr constant [10 x i8] c" = new []\00" @.str2877 = private unnamed_addr constant [54 x i8] c"build/cfree/selfhost.ludic:7096: index out of range: \00" @.str2878 = private unnamed_addr constant [54 x i8] c"build/cfree/selfhost.ludic:7099: index out of range: \00" @.str2879 = private unnamed_addr constant [5 x i8] c" t_\00" @.str2880 = private unnamed_addr constant [3 x i8] c": \00" @.str2881 = private unnamed_addr constant [8 x i8] c" = new \00" @.str2882 = private unnamed_addr constant [54 x i8] c"build/cfree/selfhost.ludic:7101: index out of range: \00" @.str2883 = private unnamed_addr constant [5 x i8] c" p_\00" @.str2884 = private unnamed_addr constant [5 x i8] c": []\00" @.str2885 = private unnamed_addr constant [10 x i8] c" = new []\00" @.str2886 = private unnamed_addr constant [5 x i8] c" c_\00" @.str2887 = private unnamed_addr constant [10 x i8] c": int = 0\00" @.str2888 = private unnamed_addr constant [2 x i8] c"}\00" @.str2889 = private unnamed_addr constant [7 x i8] c"state \00" @.str2890 = private unnamed_addr constant [13 x i8] c"pm_gen_state\00" @.str2891 = private unnamed_addr constant [3 x i8] c" {\00" @.str2892 = private unnamed_addr constant [11 x i8] c" rows: []\00" @.str2893 = private unnamed_addr constant [10 x i8] c" = new []\00" @.str2894 = private unnamed_addr constant [19 x i8] c" map: string = \22\22\00" @.str2895 = private unnamed_addr constant [19 x i8] c" err: string = \22\22\00" @.str2896 = private unnamed_addr constant [32 x i8] c" lt__: LresTree = new LresTree\00" @.str2897 = private unnamed_addr constant [9 x i8] c" pl__: \00" @.str2898 = private unnamed_addr constant [14 x i8] c"__Pool = new \00" @.str2899 = private unnamed_addr constant [7 x i8] c"__Pool\00" @.str2900 = private unnamed_addr constant [32 x i8] c" hs__: LresHash = new LresHash\00" @.str2901 = private unnamed_addr constant [2 x i8] c"}\00" @.str2902 = private unnamed_addr constant [10 x i8] c"property \00" @.str2903 = private unnamed_addr constant [19 x i8] c"pm_gen_chunk_types\00" @.str2904 = private unnamed_addr constant [8 x i8] c"Chunk {\00" @.str2905 = private unnamed_addr constant [14 x i8] c" cx: int = 0\00" @.str2906 = private unnamed_addr constant [14 x i8] c" cz: int = 0\00" @.str2907 = private unnamed_addr constant [19 x i8] c" on: bool = false\00" @.str2908 = private unnamed_addr constant [11 x i8] c" rows: []\00" @.str2909 = private unnamed_addr constant [10 x i8] c" = new []\00" @.str2910 = private unnamed_addr constant [9 x i8] c" pl__: \00" @.str2911 = private unnamed_addr constant [14 x i8] c"__Pool = new \00" @.str2912 = private unnamed_addr constant [7 x i8] c"__Pool\00" @.str2913 = private unnamed_addr constant [32 x i8] c" hs__: LresHash = new LresHash\00" @.str2914 = private unnamed_addr constant [32 x i8] c" ks__: LresKeys = new LresKeys\00" @.str2915 = private unnamed_addr constant [2 x i8] c"}\00" @.str2916 = private unnamed_addr constant [7 x i8] c"state \00" @.str2917 = private unnamed_addr constant [3 x i8] c" {\00" @.str2918 = private unnamed_addr constant [13 x i8] c" chunks: []\00" @.str2919 = private unnamed_addr constant [15 x i8] c"Chunk = new []\00" @.str2920 = private unnamed_addr constant [6 x i8] c"Chunk\00" @.str2921 = private unnamed_addr constant [19 x i8] c" map: string = \22\22\00" @.str2922 = private unnamed_addr constant [19 x i8] c" err: string = \22\22\00" @.str2923 = private unnamed_addr constant [32 x i8] c" lt__: LresTree = new LresTree\00" @.str2924 = private unnamed_addr constant [2 x i8] c"}\00" @.str2925 = private unnamed_addr constant [10 x i8] c"function \00" @.str2926 = private unnamed_addr constant [15 x i8] c"pm_gen_records\00" @.str2927 = private unnamed_addr constant [14 x i8] c"__rewind(pl: \00" @.str2928 = private unnamed_addr constant [18 x i8] c"__Pool) -> void {\00" @.str2929 = private unnamed_addr constant [54 x i8] c"build/cfree/selfhost.ludic:7142: index out of range: \00" @.str2930 = private unnamed_addr constant [8 x i8] c" pl.c_\00" @.str2931 = private unnamed_addr constant [54 x i8] c"build/cfree/selfhost.ludic:7142: index out of range: \00" @.str2932 = private unnamed_addr constant [5 x i8] c" = 0\00" @.str2933 = private unnamed_addr constant [2 x i8] c"}\00" @.str2934 = private unnamed_addr constant [54 x i8] c"build/cfree/selfhost.ludic:7148: index out of range: \00" @.str2935 = private unnamed_addr constant [54 x i8] c"build/cfree/selfhost.ludic:7149: index out of range: \00" @.str2936 = private unnamed_addr constant [14 x i8] c"@alloc_ok(\22a \00" @.str2937 = private unnamed_addr constant [89 x i8] c" past the most a load of this table has used: made once, kept in its pool (high water)\22)\00" @.str2938 = private unnamed_addr constant [10 x i8] c"function \00" @.str2939 = private unnamed_addr constant [8 x i8] c"__take_\00" @.str2940 = private unnamed_addr constant [6 x i8] c"(pl: \00" @.str2941 = private unnamed_addr constant [12 x i8] c"__Pool) -> \00" @.str2942 = private unnamed_addr constant [3 x i8] c" {\00" @.str2943 = private unnamed_addr constant [11 x i8] c" if pl.c_\00" @.str2944 = private unnamed_addr constant [13 x i8] c" < len(pl.p_\00" @.str2945 = private unnamed_addr constant [4 x i8] c") {\00" @.str2946 = private unnamed_addr constant [18 x i8] c" let r = pl.p_\00" @.str2947 = private unnamed_addr constant [7 x i8] c"[pl.c_\00" @.str2948 = private unnamed_addr constant [2 x i8] c"]\00" @.str2949 = private unnamed_addr constant [10 x i8] c" pl.c_\00" @.str2950 = private unnamed_addr constant [6 x i8] c" += 1\00" @.str2951 = private unnamed_addr constant [13 x i8] c" return r\00" @.str2952 = private unnamed_addr constant [4 x i8] c" }\00" @.str2953 = private unnamed_addr constant [15 x i8] c" let r = new \00" @.str2954 = private unnamed_addr constant [13 x i8] c" push(pl.p_\00" @.str2955 = private unnamed_addr constant [5 x i8] c", r)\00" @.str2956 = private unnamed_addr constant [8 x i8] c" pl.c_\00" @.str2957 = private unnamed_addr constant [6 x i8] c" += 1\00" @.str2958 = private unnamed_addr constant [11 x i8] c" return r\00" @.str2959 = private unnamed_addr constant [2 x i8] c"}\00" @.str2960 = private unnamed_addr constant [97 x i8] c"@alloc_ok(\22a record's own list or record, made the first time the record is reset (high water)\22)\00" @.str2961 = private unnamed_addr constant [10 x i8] c"function \00" @.str2962 = private unnamed_addr constant [13 x i8] c"pm_gen_reset\00" @.str2963 = private unnamed_addr constant [9 x i8] c"__reset_\00" @.str2964 = private unnamed_addr constant [6 x i8] c"(pl: \00" @.str2965 = private unnamed_addr constant [12 x i8] c"__Pool, r: \00" @.str2966 = private unnamed_addr constant [12 x i8] c") -> void {\00" @.str2967 = private unnamed_addr constant [16 x i8] c" let d = pl.t_\00" @.str2968 = private unnamed_addr constant [54 x i8] c"build/cfree/selfhost.ludic:7177: index out of range: \00" @.str2969 = private unnamed_addr constant [8 x i8] c" if r.\00" @.str2970 = private unnamed_addr constant [14 x i8] c" == null { r.\00" @.str2971 = private unnamed_addr constant [8 x i8] c" = new \00" @.str2972 = private unnamed_addr constant [24 x i8] c" } else { List.clear(r.\00" @.str2973 = private unnamed_addr constant [4 x i8] c") }\00" @.str2974 = private unnamed_addr constant [8 x i8] c" if d.\00" @.str2975 = private unnamed_addr constant [11 x i8] c" != null {\00" @.str2976 = private unnamed_addr constant [10 x i8] c" var i\00" @.str2977 = private unnamed_addr constant [5 x i8] c" = 0\00" @.str2978 = private unnamed_addr constant [12 x i8] c" while i\00" @.str2979 = private unnamed_addr constant [10 x i8] c" < len(d.\00" @.str2980 = private unnamed_addr constant [4 x i8] c") {\00" @.str2981 = private unnamed_addr constant [14 x i8] c" push(r.\00" @.str2982 = private unnamed_addr constant [5 x i8] c", d.\00" @.str2983 = private unnamed_addr constant [3 x i8] c"[i\00" @.str2984 = private unnamed_addr constant [3 x i8] c"])\00" @.str2985 = private unnamed_addr constant [8 x i8] c" i\00" @.str2986 = private unnamed_addr constant [6 x i8] c" += 1\00" @.str2987 = private unnamed_addr constant [6 x i8] c" }\00" @.str2988 = private unnamed_addr constant [4 x i8] c" }\00" @.str2989 = private unnamed_addr constant [8 x i8] c" if r.\00" @.str2990 = private unnamed_addr constant [14 x i8] c" == null { r.\00" @.str2991 = private unnamed_addr constant [8 x i8] c" = new \00" @.str2992 = private unnamed_addr constant [3 x i8] c" }\00" @.str2993 = private unnamed_addr constant [3 x i8] c" \00" @.str2994 = private unnamed_addr constant [9 x i8] c"__reset_\00" @.str2995 = private unnamed_addr constant [8 x i8] c"(pl, r.\00" @.str2996 = private unnamed_addr constant [2 x i8] c")\00" @.str2997 = private unnamed_addr constant [5 x i8] c" r.\00" @.str2998 = private unnamed_addr constant [6 x i8] c" = d.\00" @.str2999 = private unnamed_addr constant [2 x i8] c"}\00" @.str3000 = private unnamed_addr constant [76 x i8] c"@alloc_ok(\22a row's list grows only past the most it has held (high water)\22)\00" @.str3001 = private unnamed_addr constant [10 x i8] c"function \00" @.str3002 = private unnamed_addr constant [12 x i8] c"pm_gen_fill\00" @.str3003 = private unnamed_addr constant [8 x i8] c"__fill_\00" @.str3004 = private unnamed_addr constant [19 x i8] c"(t: LresTree, pl: \00" @.str3005 = private unnamed_addr constant [12 x i8] c"__Pool, r: \00" @.str3006 = private unnamed_addr constant [20 x i8] c", n: int) -> void {\00" @.str3007 = private unnamed_addr constant [25 x i8] c" var c = lres_kid(t, n)\00" @.str3008 = private unnamed_addr constant [32 x i8] c" while c >= 0 and lres_ok(t) {\00" @.str3009 = private unnamed_addr constant [28 x i8] c" let f = lres_name(t, c)\00" @.str3010 = private unnamed_addr constant [54 x i8] c"build/cfree/selfhost.ludic:7211: index out of range: \00" @.str3011 = private unnamed_addr constant [6 x i8] c"else \00" @.str3012 = private unnamed_addr constant [1 x i8] c"\00" @.str3013 = private unnamed_addr constant [5 x i8] c" \00" @.str3014 = private unnamed_addr constant [9 x i8] c"if f == \00" @.str3015 = private unnamed_addr constant [3 x i8] c" {\00" @.str3016 = private unnamed_addr constant [6 x i8] c" }\00" @.str3017 = private unnamed_addr constant [32 x i8] c" else { lres_no_field(t, c, \00" @.str3018 = private unnamed_addr constant [4 x i8] c") }\00" @.str3019 = private unnamed_addr constant [25 x i8] c" lres_no_field(t, c, \00" @.str3020 = private unnamed_addr constant [2 x i8] c")\00" @.str3021 = private unnamed_addr constant [24 x i8] c" c = lres_next(t, c)\00" @.str3022 = private unnamed_addr constant [4 x i8] c" }\00" @.str3023 = private unnamed_addr constant [2 x i8] c"}\00" @.str3024 = private unnamed_addr constant [9 x i8] c"lres_int\00" @.str3025 = private unnamed_addr constant [11 x i8] c"lres_float\00" @.str3026 = private unnamed_addr constant [10 x i8] c"lres_bool\00" @.str3027 = private unnamed_addr constant [9 x i8] c"lres_str\00" @.str3028 = private unnamed_addr constant [9 x i8] c" r.\00" @.str3029 = private unnamed_addr constant [13 x i8] c"pm_gen_field\00" @.str3030 = private unnamed_addr constant [18 x i8] c" = lres_key(t, c)\00" @.str3031 = private unnamed_addr constant [9 x i8] c" r.\00" @.str3032 = private unnamed_addr constant [4 x i8] c" = \00" @.str3033 = private unnamed_addr constant [7 x i8] c"(t, c)\00" @.str3034 = private unnamed_addr constant [9 x i8] c" r.\00" @.str3035 = private unnamed_addr constant [4 x i8] c" = \00" @.str3036 = private unnamed_addr constant [6 x i8] c"__fn_\00" @.str3037 = private unnamed_addr constant [10 x i8] c"(t, c, r.\00" @.str3038 = private unnamed_addr constant [2 x i8] c")\00" @.str3039 = private unnamed_addr constant [30 x i8] c" if lres_is_rec(t, c) { \00" @.str3040 = private unnamed_addr constant [8 x i8] c"__fill_\00" @.str3041 = private unnamed_addr constant [11 x i8] c"(t, pl, r.\00" @.str3042 = private unnamed_addr constant [7 x i8] c", c) }\00" @.str3043 = private unnamed_addr constant [30 x i8] c" if lres_is_list(t, c) {\00" @.str3044 = private unnamed_addr constant [22 x i8] c" List.clear(r.\00" @.str3045 = private unnamed_addr constant [2 x i8] c")\00" @.str3046 = private unnamed_addr constant [14 x i8] c" var k\00" @.str3047 = private unnamed_addr constant [18 x i8] c" = lres_kid(t, c)\00" @.str3048 = private unnamed_addr constant [16 x i8] c" while k\00" @.str3049 = private unnamed_addr constant [8 x i8] c" >= 0 {\00" @.str3050 = private unnamed_addr constant [16 x i8] c" let e\00" @.str3051 = private unnamed_addr constant [4 x i8] c" = \00" @.str3052 = private unnamed_addr constant [8 x i8] c"__take_\00" @.str3053 = private unnamed_addr constant [5 x i8] c"(pl)\00" @.str3054 = private unnamed_addr constant [11 x i8] c" \00" @.str3055 = private unnamed_addr constant [9 x i8] c"__reset_\00" @.str3056 = private unnamed_addr constant [7 x i8] c"(pl, e\00" @.str3057 = private unnamed_addr constant [2 x i8] c")\00" @.str3058 = private unnamed_addr constant [30 x i8] c" if lres_is_rec(t, k\00" @.str3059 = private unnamed_addr constant [5 x i8] c") { \00" @.str3060 = private unnamed_addr constant [8 x i8] c"__fill_\00" @.str3061 = private unnamed_addr constant [10 x i8] c"(t, pl, e\00" @.str3062 = private unnamed_addr constant [4 x i8] c", k\00" @.str3063 = private unnamed_addr constant [4 x i8] c") }\00" @.str3064 = private unnamed_addr constant [18 x i8] c" push(r.\00" @.str3065 = private unnamed_addr constant [4 x i8] c", e\00" @.str3066 = private unnamed_addr constant [2 x i8] c")\00" @.str3067 = private unnamed_addr constant [18 x i8] c" push(r.\00" @.str3068 = private unnamed_addr constant [16 x i8] c", lres_key(t, k\00" @.str3069 = private unnamed_addr constant [3 x i8] c"))\00" @.str3070 = private unnamed_addr constant [18 x i8] c" push(r.\00" @.str3071 = private unnamed_addr constant [3 x i8] c", \00" @.str3072 = private unnamed_addr constant [6 x i8] c"(t, k\00" @.str3073 = private unnamed_addr constant [3 x i8] c"))\00" @.str3074 = private unnamed_addr constant [12 x i8] c" k\00" @.str3075 = private unnamed_addr constant [18 x i8] c" = lres_next(t, k\00" @.str3076 = private unnamed_addr constant [2 x i8] c")\00" @.str3077 = private unnamed_addr constant [10 x i8] c" }\00" @.str3078 = private unnamed_addr constant [8 x i8] c" }\00" @.str3079 = private unnamed_addr constant [54 x i8] c"build/cfree/selfhost.ludic:7276: index out of range: \00" @.str3080 = private unnamed_addr constant [11 x i8] c"pm_gen_fns\00" @.str3081 = private unnamed_addr constant [10 x i8] c"function \00" @.str3082 = private unnamed_addr constant [6 x i8] c"__fn_\00" @.str3083 = private unnamed_addr constant [28 x i8] c"(t: LresTree, c: int, cur: \00" @.str3084 = private unnamed_addr constant [6 x i8] c") -> \00" @.str3085 = private unnamed_addr constant [3 x i8] c" {\00" @.str3086 = private unnamed_addr constant [25 x i8] c" let nm = lres_fn(t, c)\00" @.str3087 = private unnamed_addr constant [54 x i8] c"build/cfree/selfhost.ludic:7282: index out of range: \00" @.str3088 = private unnamed_addr constant [12 x i8] c" if nm == \00" @.str3089 = private unnamed_addr constant [14 x i8] c" { return fn \00" @.str3090 = private unnamed_addr constant [3 x i8] c" }\00" @.str3091 = private unnamed_addr constant [37 x i8] c" if len(nm) > 0 { lres_no_fn(t, c, \00" @.str3092 = private unnamed_addr constant [4 x i8] c") }\00" @.str3093 = private unnamed_addr constant [13 x i8] c" return cur\00" @.str3094 = private unnamed_addr constant [2 x i8] c"}\00" @.str3095 = private unnamed_addr constant [1 x i8] c"\00" @.str3096 = private unnamed_addr constant [54 x i8] c"build/cfree/selfhost.ludic:7297: index out of range: \00" @.str3097 = private unnamed_addr constant [11 x i8] c"pm_fn_type\00" @.str3098 = private unnamed_addr constant [2 x i8] c",\00" @.str3099 = private unnamed_addr constant [5 x i8] c"void\00" @.str3100 = private unnamed_addr constant [4 x i8] c"fn(\00" @.str3101 = private unnamed_addr constant [4 x i8] c")->\00" @.str3102 = private unnamed_addr constant [12 x i8] c"pm_fn_cands\00" @.str3103 = private unnamed_addr constant [54 x i8] c"build/cfree/selfhost.ludic:7314: index out of range: \00" @.str3104 = private unnamed_addr constant [1 x i8] c"\00" @.str3105 = private unnamed_addr constant [95 x i8] c"@alloc_ok(\22a row past the most this table has held: made once, kept in its pool (high water)\22)\00" @.str3106 = private unnamed_addr constant [10 x i8] c"function \00" @.str3107 = private unnamed_addr constant [12 x i8] c"pm_gen_rows\00" @.str3108 = private unnamed_addr constant [11 x i8] c"__row(pl: \00" @.str3109 = private unnamed_addr constant [20 x i8] c"__Pool, i: int) -> \00" @.str3110 = private unnamed_addr constant [3 x i8] c" {\00" @.str3111 = private unnamed_addr constant [44 x i8] c" if i < len(pl.rows) { return pl.rows[i] }\00" @.str3112 = private unnamed_addr constant [15 x i8] c" let r = new \00" @.str3113 = private unnamed_addr constant [19 x i8] c" push(pl.rows, r)\00" @.str3114 = private unnamed_addr constant [11 x i8] c" return r\00" @.str3115 = private unnamed_addr constant [2 x i8] c"}\00" @.str3116 = private unnamed_addr constant [90 x i8] c"@alloc_ok(\22the rows list grows only past the most rows this table has held (high water)\22)\00" @.str3117 = private unnamed_addr constant [10 x i8] c"function \00" @.str3118 = private unnamed_addr constant [30 x i8] c"__fill_rows(t: LresTree, pl: \00" @.str3119 = private unnamed_addr constant [17 x i8] c"__Pool, rows: []\00" @.str3120 = private unnamed_addr constant [40 x i8] c", hs: LresHash, ks: LresKeys) -> bool {\00" @.str3121 = private unnamed_addr constant [19 x i8] c" List.clear(rows)\00" @.str3122 = private unnamed_addr constant [3 x i8] c" \00" @.str3123 = private unnamed_addr constant [13 x i8] c"__rewind(pl)\00" @.str3124 = private unnamed_addr constant [39 x i8] c" lres_hash_reset(hs, lres_entries(t))\00" @.str3125 = private unnamed_addr constant [22 x i8] c" var e = lres_top(t)\00" @.str3126 = private unnamed_addr constant [12 x i8] c" var i = 0\00" @.str3127 = private unnamed_addr constant [32 x i8] c" while e >= 0 and lres_ok(t) {\00" @.str3128 = private unnamed_addr constant [13 x i8] c" let r = \00" @.str3129 = private unnamed_addr constant [13 x i8] c"__row(pl, i)\00" @.str3130 = private unnamed_addr constant [5 x i8] c" \00" @.str3131 = private unnamed_addr constant [9 x i8] c"__reset_\00" @.str3132 = private unnamed_addr constant [8 x i8] c"(pl, r)\00" @.str3133 = private unnamed_addr constant [5 x i8] c" \00" @.str3134 = private unnamed_addr constant [8 x i8] c"__fill_\00" @.str3135 = private unnamed_addr constant [14 x i8] c"(t, pl, r, e)\00" @.str3136 = private unnamed_addr constant [37 x i8] c" r.key = lres_key_of(t, e, ks, i)\00" @.str3137 = private unnamed_addr constant [59 x i8] c" if lres_hash_put(hs, r.key, i) >= 0 { lres_dup(t, e) }\00" @.str3138 = private unnamed_addr constant [18 x i8] c" push(rows, r)\00" @.str3139 = private unnamed_addr constant [11 x i8] c" i += 1\00" @.str3140 = private unnamed_addr constant [24 x i8] c" e = lres_next(t, e)\00" @.str3141 = private unnamed_addr constant [4 x i8] c" }\00" @.str3142 = private unnamed_addr constant [32 x i8] c" if lres_ok(t) { return true }\00" @.str3143 = private unnamed_addr constant [3 x i8] c" \00" @.str3144 = private unnamed_addr constant [21 x i8] c"__drop(pl, rows, hs)\00" @.str3145 = private unnamed_addr constant [15 x i8] c" return false\00" @.str3146 = private unnamed_addr constant [2 x i8] c"}\00" @.str3147 = private unnamed_addr constant [10 x i8] c"function \00" @.str3148 = private unnamed_addr constant [12 x i8] c"__drop(pl: \00" @.str3149 = private unnamed_addr constant [17 x i8] c"__Pool, rows: []\00" @.str3150 = private unnamed_addr constant [26 x i8] c", hs: LresHash) -> void {\00" @.str3151 = private unnamed_addr constant [19 x i8] c" List.clear(rows)\00" @.str3152 = private unnamed_addr constant [3 x i8] c" \00" @.str3153 = private unnamed_addr constant [13 x i8] c"__rewind(pl)\00" @.str3154 = private unnamed_addr constant [25 x i8] c" lres_hash_reset(hs, 0)\00" @.str3155 = private unnamed_addr constant [2 x i8] c"}\00" @.str3156 = private unnamed_addr constant [22 x i8] c" lres_path_begin(t, \00" @.str3157 = private unnamed_addr constant [2 x i8] c"/\00" @.str3158 = private unnamed_addr constant [12 x i8] c"pm_gen_path\00" @.str3159 = private unnamed_addr constant [2 x i8] c")\00" @.str3160 = private unnamed_addr constant [24 x i8] c" lres_path_add(t, map)\00" @.str3161 = private unnamed_addr constant [24 x i8] c" lres_path_add(t, \22/\22)\00" @.str3162 = private unnamed_addr constant [54 x i8] c"build/cfree/selfhost.ludic:7370: index out of range: \00" @.str3163 = private unnamed_addr constant [20 x i8] c" lres_path_add(t, \00" @.str3164 = private unnamed_addr constant [2 x i8] c")\00" @.str3165 = private unnamed_addr constant [23 x i8] c" lres_path_int(t, cx)\00" @.str3166 = private unnamed_addr constant [23 x i8] c" lres_path_int(t, cz)\00" @.str3167 = private unnamed_addr constant [20 x i8] c" lres_path_add(t, \00" @.str3168 = private unnamed_addr constant [2 x i8] c")\00" @.str3169 = private unnamed_addr constant [124 x i8] c"@alloc_ok(\22a load grows the table's rows and lists only past its high water; an error's message only when a file is wrong\22)\00" @.str3170 = private unnamed_addr constant [10 x i8] c"function \00" @.str3171 = private unnamed_addr constant [19 x i8] c"pm_gen_whole_verbs\00" @.str3172 = private unnamed_addr constant [15 x i8] c"_load(st: mut \00" @.str3173 = private unnamed_addr constant [25 x i8] c", map: string) -> bool {\00" @.str3174 = private unnamed_addr constant [18 x i8] c" let t = st.lt__\00" @.str3175 = private unnamed_addr constant [18 x i8] c" t.local = false\00" @.str3176 = private unnamed_addr constant [25 x i8] c" let got = lres_read(t)\00" @.str3177 = private unnamed_addr constant [34 x i8] c" if got == 0 { lres_missing(t) }\00" @.str3178 = private unnamed_addr constant [22 x i8] c" if got <= 0 or not \00" @.str3179 = private unnamed_addr constant [50 x i8] c"__fill_rows(t, st.pl__, st.rows, st.hs__, null) {\00" @.str3180 = private unnamed_addr constant [5 x i8] c" \00" @.str3181 = private unnamed_addr constant [34 x i8] c"__drop(st.pl__, st.rows, st.hs__)\00" @.str3182 = private unnamed_addr constant [27 x i8] c" st.err = lres_error(t)\00" @.str3183 = private unnamed_addr constant [16 x i8] c" st.map = \22\22\00" @.str3184 = private unnamed_addr constant [17 x i8] c" return false\00" @.str3185 = private unnamed_addr constant [4 x i8] c" }\00" @.str3186 = private unnamed_addr constant [23 x i8] c" st.map = intern(map)\00" @.str3187 = private unnamed_addr constant [14 x i8] c" st.err = \22\22\00" @.str3188 = private unnamed_addr constant [14 x i8] c" return true\00" @.str3189 = private unnamed_addr constant [2 x i8] c"}\00" @.str3190 = private unnamed_addr constant [10 x i8] c"function \00" @.str3191 = private unnamed_addr constant [16 x i8] c"_clear(st: mut \00" @.str3192 = private unnamed_addr constant [12 x i8] c") -> void {\00" @.str3193 = private unnamed_addr constant [3 x i8] c" \00" @.str3194 = private unnamed_addr constant [34 x i8] c"__drop(st.pl__, st.rows, st.hs__)\00" @.str3195 = private unnamed_addr constant [14 x i8] c" st.map = \22\22\00" @.str3196 = private unnamed_addr constant [14 x i8] c" st.err = \22\22\00" @.str3197 = private unnamed_addr constant [2 x i8] c"}\00" @.str3198 = private unnamed_addr constant [10 x i8] c"function \00" @.str3199 = private unnamed_addr constant [11 x i8] c"_find(st: \00" @.str3200 = private unnamed_addr constant [24 x i8] c", key: string) -> int {\00" @.str3201 = private unnamed_addr constant [37 x i8] c" return lres_hash_get(st.hs__, key)\00" @.str3202 = private unnamed_addr constant [2 x i8] c"}\00" @.str3203 = private unnamed_addr constant [10 x i8] c"function \00" @.str3204 = private unnamed_addr constant [19 x i8] c"pm_gen_chunk_verbs\00" @.str3205 = private unnamed_addr constant [11 x i8] c"__off(ch: \00" @.str3206 = private unnamed_addr constant [17 x i8] c"Chunk) -> void {\00" @.str3207 = private unnamed_addr constant [16 x i8] c" ch.on = false\00" @.str3208 = private unnamed_addr constant [3 x i8] c" \00" @.str3209 = private unnamed_addr constant [34 x i8] c"__drop(ch.pl__, ch.rows, ch.hs__)\00" @.str3210 = private unnamed_addr constant [2 x i8] c"}\00" @.str3211 = private unnamed_addr constant [10 x i8] c"function \00" @.str3212 = private unnamed_addr constant [11 x i8] c"_slot(st: \00" @.str3213 = private unnamed_addr constant [29 x i8] c", cx: int, cz: int) -> int {\00" @.str3214 = private unnamed_addr constant [12 x i8] c" var i = 0\00" @.str3215 = private unnamed_addr constant [29 x i8] c" while i < len(st.chunks) {\00" @.str3216 = private unnamed_addr constant [26 x i8] c" let ch = st.chunks[i]\00" @.str3217 = private unnamed_addr constant [58 x i8] c" if ch.on and ch.cx == cx and ch.cz == cz { return i }\00" @.str3218 = private unnamed_addr constant [11 x i8] c" i += 1\00" @.str3219 = private unnamed_addr constant [4 x i8] c" }\00" @.str3220 = private unnamed_addr constant [12 x i8] c" return -1\00" @.str3221 = private unnamed_addr constant [2 x i8] c"}\00" @.str3222 = private unnamed_addr constant [176 x i8] c"@alloc_ok(\22a chunk slot past the most chunks this table has held at once, and rows past a slot's high water: made once and kept; an error's message only when a file is wrong\22)\00" @.str3223 = private unnamed_addr constant [10 x i8] c"function \00" @.str3224 = private unnamed_addr constant [13 x i8] c"_in(st: mut \00" @.str3225 = private unnamed_addr constant [42 x i8] c", map: string, cx: int, cz: int) -> int {\00" @.str3226 = private unnamed_addr constant [27 x i8] c" if not (st.map == map) {\00" @.str3227 = private unnamed_addr constant [14 x i8] c" var j = 0\00" @.str3228 = private unnamed_addr constant [31 x i8] c" while j < len(st.chunks) {\00" @.str3229 = private unnamed_addr constant [7 x i8] c" \00" @.str3230 = private unnamed_addr constant [20 x i8] c"__off(st.chunks[j])\00" @.str3231 = private unnamed_addr constant [13 x i8] c" j += 1\00" @.str3232 = private unnamed_addr constant [6 x i8] c" }\00" @.str3233 = private unnamed_addr constant [25 x i8] c" st.map = intern(map)\00" @.str3234 = private unnamed_addr constant [4 x i8] c" }\00" @.str3235 = private unnamed_addr constant [14 x i8] c" let have = \00" @.str3236 = private unnamed_addr constant [18 x i8] c"_slot(st, cx, cz)\00" @.str3237 = private unnamed_addr constant [31 x i8] c" if have >= 0 { return have }\00" @.str3238 = private unnamed_addr constant [13 x i8] c" var s = -1\00" @.str3239 = private unnamed_addr constant [12 x i8] c" var i = 0\00" @.str3240 = private unnamed_addr constant [39 x i8] c" while i < len(st.chunks) and s < 0 {\00" @.str3241 = private unnamed_addr constant [37 x i8] c" if not st.chunks[i].on { s = i }\00" @.str3242 = private unnamed_addr constant [11 x i8] c" i += 1\00" @.str3243 = private unnamed_addr constant [4 x i8] c" }\00" @.str3244 = private unnamed_addr constant [13 x i8] c" if s < 0 {\00" @.str3245 = private unnamed_addr constant [25 x i8] c" push(st.chunks, new \00" @.str3246 = private unnamed_addr constant [7 x i8] c"Chunk)\00" @.str3247 = private unnamed_addr constant [27 x i8] c" s = len(st.chunks) - 1\00" @.str3248 = private unnamed_addr constant [4 x i8] c" }\00" @.str3249 = private unnamed_addr constant [24 x i8] c" let ch = st.chunks[s]\00" @.str3250 = private unnamed_addr constant [3 x i8] c" \00" @.str3251 = private unnamed_addr constant [10 x i8] c"__off(ch)\00" @.str3252 = private unnamed_addr constant [13 x i8] c" ch.cx = cx\00" @.str3253 = private unnamed_addr constant [13 x i8] c" ch.cz = cz\00" @.str3254 = private unnamed_addr constant [18 x i8] c" let t = st.lt__\00" @.str3255 = private unnamed_addr constant [89 x i8] c" t.local = true # the keys are the slot's own, never interned\00" @.str3256 = private unnamed_addr constant [25 x i8] c" let got = lres_read(t)\00" @.str3257 = private unnamed_addr constant [16 x i8] c" if got == 0 {\00" @.str3258 = private unnamed_addr constant [17 x i8] c" ch.on = true\00" @.str3259 = private unnamed_addr constant [16 x i8] c" st.err = \22\22\00" @.str3260 = private unnamed_addr constant [13 x i8] c" return s\00" @.str3261 = private unnamed_addr constant [4 x i8] c" }\00" @.str3262 = private unnamed_addr constant [21 x i8] c" if got < 0 or not \00" @.str3263 = private unnamed_addr constant [53 x i8] c"__fill_rows(t, ch.pl__, ch.rows, ch.hs__, ch.ks__) {\00" @.str3264 = private unnamed_addr constant [5 x i8] c" \00" @.str3265 = private unnamed_addr constant [10 x i8] c"__off(ch)\00" @.str3266 = private unnamed_addr constant [27 x i8] c" st.err = lres_error(t)\00" @.str3267 = private unnamed_addr constant [14 x i8] c" return -1\00" @.str3268 = private unnamed_addr constant [4 x i8] c" }\00" @.str3269 = private unnamed_addr constant [15 x i8] c" ch.on = true\00" @.str3270 = private unnamed_addr constant [14 x i8] c" st.err = \22\22\00" @.str3271 = private unnamed_addr constant [11 x i8] c" return s\00" @.str3272 = private unnamed_addr constant [2 x i8] c"}\00" @.str3273 = private unnamed_addr constant [10 x i8] c"function \00" @.str3274 = private unnamed_addr constant [14 x i8] c"_out(st: mut \00" @.str3275 = private unnamed_addr constant [30 x i8] c", cx: int, cz: int) -> void {\00" @.str3276 = private unnamed_addr constant [11 x i8] c" let s = \00" @.str3277 = private unnamed_addr constant [18 x i8] c"_slot(st, cx, cz)\00" @.str3278 = private unnamed_addr constant [15 x i8] c" if s >= 0 { \00" @.str3279 = private unnamed_addr constant [22 x i8] c"__off(st.chunks[s]) }\00" @.str3280 = private unnamed_addr constant [2 x i8] c"}\00" @.str3281 = private unnamed_addr constant [10 x i8] c"function \00" @.str3282 = private unnamed_addr constant [16 x i8] c"_clear(st: mut \00" @.str3283 = private unnamed_addr constant [12 x i8] c") -> void {\00" @.str3284 = private unnamed_addr constant [12 x i8] c" var i = 0\00" @.str3285 = private unnamed_addr constant [29 x i8] c" while i < len(st.chunks) {\00" @.str3286 = private unnamed_addr constant [5 x i8] c" \00" @.str3287 = private unnamed_addr constant [20 x i8] c"__off(st.chunks[i])\00" @.str3288 = private unnamed_addr constant [11 x i8] c" i += 1\00" @.str3289 = private unnamed_addr constant [4 x i8] c" }\00" @.str3290 = private unnamed_addr constant [14 x i8] c" st.map = \22\22\00" @.str3291 = private unnamed_addr constant [14 x i8] c" st.err = \22\22\00" @.str3292 = private unnamed_addr constant [2 x i8] c"}\00" @.str3293 = private unnamed_addr constant [10 x i8] c"function \00" @.str3294 = private unnamed_addr constant [11 x i8] c"_find(st: \00" @.str3295 = private unnamed_addr constant [35 x i8] c", slot: int, key: string) -> int {\00" @.str3296 = private unnamed_addr constant [54 x i8] c" if slot < 0 or slot >= len(st.chunks) { return -1 }\00" @.str3297 = private unnamed_addr constant [42 x i8] c" if not st.chunks[slot].on { return -1 }\00" @.str3298 = private unnamed_addr constant [50 x i8] c" return lres_hash_get(st.chunks[slot].hs__, key)\00" @.str3299 = private unnamed_addr constant [2 x i8] c"}\00" @.str3300 = private unnamed_addr constant [6 x i8] c"error\00" @.str3301 = private unnamed_addr constant [2 x i8] c":\00" @.str3302 = private unnamed_addr constant [8 x i8] c"pmk_err\00" @.str3303 = private unnamed_addr constant [2 x i8] c":\00" @.str3304 = private unnamed_addr constant [10 x i8] c": error: \00" @.str3305 = private unnamed_addr constant [2 x i8] c"\0A\00" @.str3306 = private unnamed_addr constant [9 x i8] c"pmk_list\00" @.str3307 = private unnamed_addr constant [7 x i8] c"TMPDIR\00" @.str3308 = private unnamed_addr constant [5 x i8] c"/tmp\00" @.str3309 = private unnamed_addr constant [5 x i8] c"TEMP\00" @.str3310 = private unnamed_addr constant [2 x i8] c".\00" @.str3311 = private unnamed_addr constant [13 x i8] c"ludicc-maps-\00" @.str3312 = private unnamed_addr constant [5 x i8] c".txt\00" @.str3313 = private unnamed_addr constant [5 x i8] c"/a-d\00" @.str3314 = private unnamed_addr constant [4 x i8] c"/ad\00" @.str3315 = private unnamed_addr constant [12 x i8] c"dir /b /on \00" @.str3316 = private unnamed_addr constant [3 x i8] c" \22\00" @.str3317 = private unnamed_addr constant [6 x i8] c"\22 > \22\00" @.str3318 = private unnamed_addr constant [8 x i8] c"\22 2>nul\00" @.str3319 = private unnamed_addr constant [9 x i8] c"ls -1p '\00" @.str3320 = private unnamed_addr constant [6 x i8] c"' > '\00" @.str3321 = private unnamed_addr constant [14 x i8] c"' 2>/dev/null\00" @.str3322 = private unnamed_addr constant [10 x i8] c"pmk_match\00" @.str3323 = private unnamed_addr constant [10 x i8] c"pmk_files\00" @.str3324 = private unnamed_addr constant [54 x i8] c"build/cfree/selfhost.ludic:7595: index out of range: \00" @.str3325 = private unnamed_addr constant [54 x i8] c"build/cfree/selfhost.ludic:7596: index out of range: \00" @.str3326 = private unnamed_addr constant [2 x i8] c"/\00" @.str3327 = private unnamed_addr constant [2 x i8] c"/\00" @.str3328 = private unnamed_addr constant [54 x i8] c"build/cfree/selfhost.ludic:7616: index out of range: \00" @.str3329 = private unnamed_addr constant [2 x i8] c"/\00" @.str3330 = private unnamed_addr constant [54 x i8] c"build/cfree/selfhost.ludic:7616: index out of range: \00" @.str3331 = private unnamed_addr constant [54 x i8] c"build/cfree/selfhost.ludic:7649: index out of range: \00" @.str3332 = private unnamed_addr constant [9 x i8] c"pmk_read\00" @.str3333 = private unnamed_addr constant [54 x i8] c"build/cfree/selfhost.ludic:7650: index out of range: \00" @.str3334 = private unnamed_addr constant [2 x i8] c"/\00" @.str3335 = private unnamed_addr constant [14 x i8] c"pm_check_maps\00" @.str3336 = private unnamed_addr constant [54 x i8] c"build/cfree/selfhost.ludic:7674: index out of range: \00" @.str3337 = private unnamed_addr constant [8 x i8] c"pmk_map\00" @.str3338 = private unnamed_addr constant [54 x i8] c"build/cfree/selfhost.ludic:7695: index out of range: \00" @.str3339 = private unnamed_addr constant [54 x i8] c"build/cfree/selfhost.ludic:7705: index out of range: \00" @.str3340 = private unnamed_addr constant [54 x i8] c"build/cfree/selfhost.ludic:7706: index out of range: \00" @.str3341 = private unnamed_addr constant [54 x i8] c"build/cfree/selfhost.ludic:7707: index out of range: \00" @.str3342 = private unnamed_addr constant [54 x i8] c"build/cfree/selfhost.ludic:7707: index out of range: \00" @.str3343 = private unnamed_addr constant [9 x i8] c"pmk_dups\00" @.str3344 = private unnamed_addr constant [54 x i8] c"build/cfree/selfhost.ludic:7721: index out of range: \00" @.str3345 = private unnamed_addr constant [2 x i8] c"\0A\00" @.str3346 = private unnamed_addr constant [54 x i8] c"build/cfree/selfhost.ludic:7721: index out of range: \00" @.str3347 = private unnamed_addr constant [54 x i8] c"build/cfree/selfhost.ludic:7727: index out of range: \00" @.str3348 = private unnamed_addr constant [54 x i8] c"build/cfree/selfhost.ludic:7727: index out of range: \00" @.str3349 = private unnamed_addr constant [54 x i8] c"build/cfree/selfhost.ludic:7727: index out of range: \00" @.str3350 = private unnamed_addr constant [54 x i8] c"build/cfree/selfhost.ludic:7727: index out of range: \00" @.str3351 = private unnamed_addr constant [54 x i8] c"build/cfree/selfhost.ludic:7728: index out of range: \00" @.str3352 = private unnamed_addr constant [54 x i8] c"build/cfree/selfhost.ludic:7729: index out of range: \00" @.str3353 = private unnamed_addr constant [54 x i8] c"build/cfree/selfhost.ludic:7729: index out of range: \00" @.str3354 = private unnamed_addr constant [54 x i8] c"build/cfree/selfhost.ludic:7729: index out of range: \00" @.str3355 = private unnamed_addr constant [9 x i8] c"the key \00" @.str3356 = private unnamed_addr constant [54 x i8] c"build/cfree/selfhost.ludic:7729: index out of range: \00" @.str3357 = private unnamed_addr constant [31 x i8] c" is written twice in this file\00" @.str3358 = private unnamed_addr constant [15 x i8] c"pmk_chunk_dups\00" @.str3359 = private unnamed_addr constant [54 x i8] c"build/cfree/selfhost.ludic:7741: index out of range: \00" @.str3360 = private unnamed_addr constant [54 x i8] c"build/cfree/selfhost.ludic:7741: index out of range: \00" @.str3361 = private unnamed_addr constant [54 x i8] c"build/cfree/selfhost.ludic:7743: index out of range: \00" @.str3362 = private unnamed_addr constant [54 x i8] c"build/cfree/selfhost.ludic:7743: index out of range: \00" @.str3363 = private unnamed_addr constant [2 x i8] c"\0A\00" @.str3364 = private unnamed_addr constant [54 x i8] c"build/cfree/selfhost.ludic:7743: index out of range: \00" @.str3365 = private unnamed_addr constant [1 x i8] c"\00" @.str3366 = private unnamed_addr constant [54 x i8] c"build/cfree/selfhost.ludic:7750: index out of range: \00" @.str3367 = private unnamed_addr constant [54 x i8] c"build/cfree/selfhost.ludic:7751: index out of range: \00" @.str3368 = private unnamed_addr constant [54 x i8] c"build/cfree/selfhost.ludic:7752: index out of range: \00" @.str3369 = private unnamed_addr constant [54 x i8] c"build/cfree/selfhost.ludic:7752: index out of range: \00" @.str3370 = private unnamed_addr constant [54 x i8] c"build/cfree/selfhost.ludic:7752: index out of range: \00" @.str3371 = private unnamed_addr constant [54 x i8] c"build/cfree/selfhost.ludic:7752: index out of range: \00" @.str3372 = private unnamed_addr constant [54 x i8] c"build/cfree/selfhost.ludic:7753: index out of range: \00" @.str3373 = private unnamed_addr constant [54 x i8] c"build/cfree/selfhost.ludic:7753: index out of range: \00" @.str3374 = private unnamed_addr constant [54 x i8] c"build/cfree/selfhost.ludic:7753: index out of range: \00" @.str3375 = private unnamed_addr constant [9 x i8] c"the key \00" @.str3376 = private unnamed_addr constant [54 x i8] c"build/cfree/selfhost.ludic:7753: index out of range: \00" @.str3377 = private unnamed_addr constant [21 x i8] c" is also written at \00" @.str3378 = private unnamed_addr constant [54 x i8] c"build/cfree/selfhost.ludic:7753: index out of range: \00" @.str3379 = private unnamed_addr constant [2 x i8] c":\00" @.str3380 = private unnamed_addr constant [54 x i8] c"build/cfree/selfhost.ludic:7753: index out of range: \00" @.str3381 = private unnamed_addr constant [50 x i8] c" - a chunked table's key is unique across its map\00" @.str3382 = private unnamed_addr constant [9 x i8] c"pmk_refs\00" @.str3383 = private unnamed_addr constant [54 x i8] c"build/cfree/selfhost.ludic:7765: index out of range: \00" @.str3384 = private unnamed_addr constant [54 x i8] c"build/cfree/selfhost.ludic:7765: index out of range: \00" @.str3385 = private unnamed_addr constant [2 x i8] c"\0A\00" @.str3386 = private unnamed_addr constant [54 x i8] c"build/cfree/selfhost.ludic:7765: index out of range: \00" @.str3387 = private unnamed_addr constant [54 x i8] c"build/cfree/selfhost.ludic:7772: index out of range: \00" @.str3388 = private unnamed_addr constant [54 x i8] c"build/cfree/selfhost.ludic:7772: index out of range: \00" @.str3389 = private unnamed_addr constant [54 x i8] c"build/cfree/selfhost.ludic:7777: index out of range: \00" @.str3390 = private unnamed_addr constant [2 x i8] c"\0A\00" @.str3391 = private unnamed_addr constant [54 x i8] c"build/cfree/selfhost.ludic:7777: index out of range: \00" @.str3392 = private unnamed_addr constant [54 x i8] c"build/cfree/selfhost.ludic:7779: index out of range: \00" @.str3393 = private unnamed_addr constant [13 x i8] c"there is no \00" @.str3394 = private unnamed_addr constant [54 x i8] c"build/cfree/selfhost.ludic:7779: index out of range: \00" @.str3395 = private unnamed_addr constant [6 x i8] c" row \00" @.str3396 = private unnamed_addr constant [54 x i8] c"build/cfree/selfhost.ludic:7779: index out of range: \00" @.str3397 = private unnamed_addr constant [13 x i8] c" in this map\00" @.str3398 = private unnamed_addr constant [54 x i8] c"build/cfree/selfhost.ludic:7789: index out of range: \00" @.str3399 = private unnamed_addr constant [15 x i8] c"pmk_sorted_has\00" @.str3400 = private unnamed_addr constant [54 x i8] c"build/cfree/selfhost.ludic:7790: index out of range: \00" @.str3401 = private unnamed_addr constant [54 x i8] c"build/cfree/selfhost.ludic:7799: index out of range: \00" @.str3402 = private unnamed_addr constant [8 x i8] c"pmk_rec\00" @.str3403 = private unnamed_addr constant [15 x i8] c" has no field \00" @.str3404 = private unnamed_addr constant [4 x i8] c"key\00" @.str3405 = private unnamed_addr constant [53 x i8] c"a row's key is its entry's name - drop the key field\00" @.str3406 = private unnamed_addr constant [54 x i8] c"build/cfree/selfhost.ludic:7806: index out of range: \00" @.str3407 = private unnamed_addr constant [54 x i8] c"build/cfree/selfhost.ludic:7806: index out of range: \00" @.str3408 = private unnamed_addr constant [7 x i8] c"an int\00" @.str3409 = private unnamed_addr constant [8 x i8] c"a float\00" @.str3410 = private unnamed_addr constant [6 x i8] c"a key\00" @.str3411 = private unnamed_addr constant [9 x i8] c"a string\00" @.str3412 = private unnamed_addr constant [14 x i8] c"true or false\00" @.str3413 = private unnamed_addr constant [10 x i8] c"the name \00" @.str3414 = private unnamed_addr constant [9 x i8] c"pmk_desc\00" @.str3415 = private unnamed_addr constant [9 x i8] c"a record\00" @.str3416 = private unnamed_addr constant [7 x i8] c"a list\00" @.str3417 = private unnamed_addr constant [4 x i8] c"fn \00" @.str3418 = private unnamed_addr constant [73 x i8] c"an expression (a map's value is a literal, a constant's name or fn name)\00" @.str3419 = private unnamed_addr constant [8 x i8] c" wants \00" @.str3420 = private unnamed_addr constant [9 x i8] c"pmk_want\00" @.str3421 = private unnamed_addr constant [7 x i8] c", not \00" @.str3422 = private unnamed_addr constant [2 x i8] c"-\00" @.str3423 = private unnamed_addr constant [8 x i8] c"pmk_num\00" @.str3424 = private unnamed_addr constant [2 x i8] c"-\00" @.str3425 = private unnamed_addr constant [17 x i8] c"a record { ... }\00" @.str3426 = private unnamed_addr constant [15 x i8] c"a list [ ... ]\00" @.str3427 = private unnamed_addr constant [54 x i8] c"build/cfree/selfhost.ludic:7850: index out of range: \00" @.str3428 = private unnamed_addr constant [10 x i8] c"pmk_value\00" @.str3429 = private unnamed_addr constant [8 x i8] c"fn name\00" @.str3430 = private unnamed_addr constant [54 x i8] c"build/cfree/selfhost.ludic:7860: index out of range: \00" @.str3431 = private unnamed_addr constant [22 x i8] c"there is no function \00" @.str3432 = private unnamed_addr constant [10 x i8] c" of type \00" @.str3433 = private unnamed_addr constant [9 x i8] c" (field \00" @.str3434 = private unnamed_addr constant [2 x i8] c")\00" @.str3435 = private unnamed_addr constant [14 x i8] c"true or false\00" @.str3436 = private unnamed_addr constant [13 x i8] c"a key k\22...\22\00" @.str3437 = private unnamed_addr constant [11 x i8] c"a \22string\22\00" @.str3438 = private unnamed_addr constant [14 x i8] c"the constant \00" @.str3439 = private unnamed_addr constant [72 x i8] c" is not one a map can name: its value is not a literal or a sum of them\00" @.str3440 = private unnamed_addr constant [18 x i8] c"unknown constant \00" @.str3441 = private unnamed_addr constant [54 x i8] c"build/cfree/selfhost.ludic:7889: index out of range: \00" @.str3442 = private unnamed_addr constant [27 x i8] c" is a float constant, and \00" @.str3443 = private unnamed_addr constant [14 x i8] c" wants an int\00" @.str3444 = private unnamed_addr constant [54 x i8] c"build/cfree/selfhost.ludic:7894: index out of range: \00" @.str3445 = private unnamed_addr constant [54 x i8] c"build/cfree/selfhost.ludic:7894: index out of range: \00" @.str3446 = private unnamed_addr constant [54 x i8] c"build/cfree/selfhost.ludic:7894: index out of range: \00" @.str3447 = private unnamed_addr constant [7 x i8] c"an int\00" @.str3448 = private unnamed_addr constant [8 x i8] c"a float\00" @.str3449 = private unnamed_addr constant [7 x i8] c"an int\00" @.str3450 = private unnamed_addr constant [3 x i8] c"rb\00" @.str3451 = private unnamed_addr constant [11 x i8] c"pmk_exists\00" @.str3452 = private unnamed_addr constant [2 x i8] c"/\00" @.str3453 = private unnamed_addr constant [10 x i8] c"pmk_asset\00" @.str3454 = private unnamed_addr constant [6 x i8] c" is \22\00" @.str3455 = private unnamed_addr constant [24 x i8] c"\22, and this map has no \00" @.str3456 = private unnamed_addr constant [57 x i8] c" - @Asset(..., map) is a path under each map's directory\00" @.str3457 = private unnamed_addr constant [54 x i8] c"build/cfree/selfhost.ludic:7938: index out of range: \00" @.str3458 = private unnamed_addr constant [19 x i8] c"pmk_game_asset_reg\00" @.str3459 = private unnamed_addr constant [54 x i8] c"build/cfree/selfhost.ludic:7942: index out of range: \00" @.str3460 = private unnamed_addr constant [54 x i8] c"build/cfree/selfhost.ludic:7942: index out of range: \00" @.str3461 = private unnamed_addr constant [54 x i8] c"build/cfree/selfhost.ludic:7942: index out of range: \00" @.str3462 = private unnamed_addr constant [54 x i8] c"build/cfree/selfhost.ludic:7949: index out of range: \00" @.str3463 = private unnamed_addr constant [19 x i8] c"pmk_game_asset_row\00" @.str3464 = private unnamed_addr constant [54 x i8] c"build/cfree/selfhost.ludic:7960: index out of range: \00" @.str3465 = private unnamed_addr constant [13 x i8] c"pmk_field_of\00" @.str3466 = private unnamed_addr constant [54 x i8] c"build/cfree/selfhost.ludic:7960: index out of range: \00" @.str3467 = private unnamed_addr constant [54 x i8] c"build/cfree/selfhost.ludic:7960: index out of range: \00" @.str3468 = private unnamed_addr constant [54 x i8] c"build/cfree/selfhost.ludic:7969: index out of range: \00" @.str3469 = private unnamed_addr constant [14 x i8] c"pmk_attrs_str\00" @.str3470 = private unnamed_addr constant [54 x i8] c"build/cfree/selfhost.ludic:7970: index out of range: \00" @.str3471 = private unnamed_addr constant [54 x i8] c"build/cfree/selfhost.ludic:7970: index out of range: \00" @.str3472 = private unnamed_addr constant [54 x i8] c"build/cfree/selfhost.ludic:7971: index out of range: \00" @.str3473 = private unnamed_addr constant [6 x i8] c"OneOf\00" @.str3474 = private unnamed_addr constant [54 x i8] c"build/cfree/selfhost.ludic:7972: index out of range: \00" @.str3475 = private unnamed_addr constant [54 x i8] c"build/cfree/selfhost.ludic:7973: index out of range: \00" @.str3476 = private unnamed_addr constant [6 x i8] c" is \22\00" @.str3477 = private unnamed_addr constant [21 x i8] c"\22, and it is @OneOf(\00" @.str3478 = private unnamed_addr constant [2 x i8] c")\00" @.str3479 = private unnamed_addr constant [6 x i8] c"Asset\00" @.str3480 = private unnamed_addr constant [4 x i8] c"Ref\00" @.str3481 = private unnamed_addr constant [54 x i8] c"build/cfree/selfhost.ludic:7977: index out of range: \00" @.str3482 = private unnamed_addr constant [54 x i8] c"build/cfree/selfhost.ludic:7978: index out of range: \00" @.str3483 = private unnamed_addr constant [54 x i8] c"build/cfree/selfhost.ludic:7987: index out of range: \00" @.str3484 = private unnamed_addr constant [14 x i8] c"pmk_attrs_num\00" @.str3485 = private unnamed_addr constant [54 x i8] c"build/cfree/selfhost.ludic:7988: index out of range: \00" @.str3486 = private unnamed_addr constant [54 x i8] c"build/cfree/selfhost.ludic:7988: index out of range: \00" @.str3487 = private unnamed_addr constant [54 x i8] c"build/cfree/selfhost.ludic:7989: index out of range: \00" @.str3488 = private unnamed_addr constant [6 x i8] c"Range\00" @.str3489 = private unnamed_addr constant [54 x i8] c"build/cfree/selfhost.ludic:7991: index out of range: \00" @.str3490 = private unnamed_addr constant [54 x i8] c"build/cfree/selfhost.ludic:7992: index out of range: \00" @.str3491 = private unnamed_addr constant [54 x i8] c"build/cfree/selfhost.ludic:7992: index out of range: \00" @.str3492 = private unnamed_addr constant [5 x i8] c" is \00" @.str3493 = private unnamed_addr constant [22 x i8] c", outside its @Range(\00" @.str3494 = private unnamed_addr constant [54 x i8] c"build/cfree/selfhost.ludic:7993: index out of range: \00" @.str3495 = private unnamed_addr constant [3 x i8] c", \00" @.str3496 = private unnamed_addr constant [54 x i8] c"build/cfree/selfhost.ludic:7993: index out of range: \00" @.str3497 = private unnamed_addr constant [2 x i8] c")\00" @.str3498 = private unnamed_addr constant [4 x i8] c"Ref\00" @.str3499 = private unnamed_addr constant [54 x i8] c"build/cfree/selfhost.ludic:7996: index out of range: \00" @.str3500 = private unnamed_addr constant [54 x i8] c"build/cfree/selfhost.ludic:7997: index out of range: \00" @.str3501 = private unnamed_addr constant [3 x i8] c"-1\00" @.str3502 = private unnamed_addr constant [5 x i8] c" is \00" @.str3503 = private unnamed_addr constant [12 x i8] c", and @Ref(\00" @.str3504 = private unnamed_addr constant [54 x i8] c"build/cfree/selfhost.ludic:8001: index out of range: \00" @.str3505 = private unnamed_addr constant [7 x i8] c") has \00" @.str3506 = private unnamed_addr constant [16 x i8] c" entries (0 to \00" @.str3507 = private unnamed_addr constant [18 x i8] c", or -1 for none)\00" @.str3508 = private unnamed_addr constant [6 x i8] c"OneOf\00" @.str3509 = private unnamed_addr constant [54 x i8] c"build/cfree/selfhost.ludic:8005: index out of range: \00" @.str3510 = private unnamed_addr constant [54 x i8] c"build/cfree/selfhost.ludic:8011: index out of range: \00" @.str3511 = private unnamed_addr constant [10 x i8] c"pmk_oneof\00" @.str3512 = private unnamed_addr constant [54 x i8] c"build/cfree/selfhost.ludic:8012: index out of range: \00" @.str3513 = private unnamed_addr constant [54 x i8] c"build/cfree/selfhost.ludic:8013: index out of range: \00" @.str3514 = private unnamed_addr constant [54 x i8] c"build/cfree/selfhost.ludic:8021: index out of range: \00" @.str3515 = private unnamed_addr constant [54 x i8] c"build/cfree/selfhost.ludic:8021: index out of range: \00" @.str3516 = private unnamed_addr constant [54 x i8] c"build/cfree/selfhost.ludic:8022: index out of range: \00" @.str3517 = private unnamed_addr constant [54 x i8] c"build/cfree/selfhost.ludic:8022: index out of range: \00" @.str3518 = private unnamed_addr constant [5 x i8] c" is \00" @.str3519 = private unnamed_addr constant [20 x i8] c", and it is @OneOf(\00" @.str3520 = private unnamed_addr constant [2 x i8] c")\00" @.str3521 = private unnamed_addr constant [13 x i8] c"pmk_arg_nums\00" @.str3522 = private unnamed_addr constant [10 x i8] c"pmk_ipart\00" @.str3523 = private unnamed_addr constant [1 x i8] c"\00" @.str3524 = private unnamed_addr constant [10 x i8] c"pmk_fpart\00" @.str3525 = private unnamed_addr constant [54 x i8] c"build/cfree/selfhost.ludic:8136: index out of range: \00" @.str3526 = private unnamed_addr constant [20 x i8] c"call_mixed_to_named\00" @.str3527 = private unnamed_addr constant [54 x i8] c"build/cfree/selfhost.ludic:8137: index out of range: \00" @.str3528 = private unnamed_addr constant [40 x i8] c"a positional argument after a named one\00" @.str3529 = private unnamed_addr constant [54 x i8] c"build/cfree/selfhost.ludic:8148: index out of range: \00" @.str3530 = private unnamed_addr constant [54 x i8] c"build/cfree/selfhost.ludic:8151: index out of range: \00" @.str3531 = private unnamed_addr constant [19 x i8] c"call_fill_defaults\00" @.str3532 = private unnamed_addr constant [54 x i8] c"build/cfree/selfhost.ludic:8169: index out of range: \00" @.str3533 = private unnamed_addr constant [54 x i8] c"build/cfree/selfhost.ludic:8179: index out of range: \00" @.str3534 = private unnamed_addr constant [54 x i8] c"build/cfree/selfhost.ludic:8186: index out of range: \00" @.str3535 = private unnamed_addr constant [54 x i8] c"build/cfree/selfhost.ludic:8186: index out of range: \00" @.str3536 = private unnamed_addr constant [54 x i8] c"build/cfree/selfhost.ludic:8186: index out of range: \00" @.str3537 = private unnamed_addr constant [54 x i8] c"build/cfree/selfhost.ludic:8189: index out of range: \00" @.str3538 = private unnamed_addr constant [54 x i8] c"build/cfree/selfhost.ludic:8191: index out of range: \00" @.str3539 = private unnamed_addr constant [54 x i8] c"build/cfree/selfhost.ludic:8192: index out of range: \00" @.str3540 = private unnamed_addr constant [54 x i8] c"build/cfree/selfhost.ludic:8200: index out of range: \00" @.str3541 = private unnamed_addr constant [54 x i8] c"build/cfree/selfhost.ludic:8200: index out of range: \00" @.str3542 = private unnamed_addr constant [54 x i8] c"build/cfree/selfhost.ludic:8206: index out of range: \00" @.str3543 = private unnamed_addr constant [54 x i8] c"build/cfree/selfhost.ludic:8206: index out of range: \00" @.str3544 = private unnamed_addr constant [54 x i8] c"build/cfree/selfhost.ludic:8211: index out of range: \00" @.str3545 = private unnamed_addr constant [17 x i8] c"default_label_in\00" @.str3546 = private unnamed_addr constant [13 x i8] c"default_copy\00" @.str3547 = private unnamed_addr constant [6 x i8] c"view_\00" @.str3548 = private unnamed_addr constant [10 x i8] c"vw_prefix\00" @.str3549 = private unnamed_addr constant [2 x i8] c"_\00" @.str3550 = private unnamed_addr constant [54 x i8] c"build/cfree/selfhost.ludic:8255: index out of range: \00" @.str3551 = private unnamed_addr constant [11 x i8] c"parse_view\00" @.str3552 = private unnamed_addr constant [2 x i8] c"{\00" @.str3553 = private unnamed_addr constant [2 x i8] c"}\00" @.str3554 = private unnamed_addr constant [9 x i8] c"function\00" @.str3555 = private unnamed_addr constant [3 x i8] c"on\00" @.str3556 = private unnamed_addr constant [3 x i8] c"on\00" @.str3557 = private unnamed_addr constant [54 x i8] c"build/cfree/selfhost.ludic:8273: index out of range: \00" @.str3558 = private unnamed_addr constant [9 x i8] c"function\00" @.str3559 = private unnamed_addr constant [4 x i8] c"on_\00" @.str3560 = private unnamed_addr constant [54 x i8] c"build/cfree/selfhost.ludic:8284: index out of range: \00" @.str3561 = private unnamed_addr constant [2 x i8] c"}\00" @.str3562 = private unnamed_addr constant [5 x i8] c"get_\00" @.str3563 = private unnamed_addr constant [9 x i8] c"vw_field\00" @.str3564 = private unnamed_addr constant [2 x i8] c":\00" @.str3565 = private unnamed_addr constant [2 x i8] c"=\00" @.str3566 = private unnamed_addr constant [12 x i8] c"view field \00" @.str3567 = private unnamed_addr constant [20 x i8] c": say what it is - \00" @.str3568 = private unnamed_addr constant [15 x i8] c" = some_global\00" @.str3569 = private unnamed_addr constant [15 x i8] c"function view_\00" @.str3570 = private unnamed_addr constant [8 x i8] c"vw_head\00" @.str3571 = private unnamed_addr constant [49 x i8] c"() -> UiView {\0A let v = new UiView\0A v.name = \22\00" @.str3572 = private unnamed_addr constant [18 x i8] c"\22\0A v.model = fn \00" @.str3573 = private unnamed_addr constant [21 x i8] c"model\0A v.call = fn \00" @.str3574 = private unnamed_addr constant [19 x i8] c"call\0A return v\0A}\0A\00" @.str3575 = private unnamed_addr constant [54 x i8] c"build/cfree/selfhost.ludic:8321: index out of range: \00" @.str3576 = private unnamed_addr constant [54 x i8] c"build/cfree/selfhost.ludic:8322: index out of range: \00" @.str3577 = private unnamed_addr constant [54 x i8] c"build/cfree/selfhost.ludic:8337: index out of range: \00" @.str3578 = private unnamed_addr constant [9 x i8] c"vw_parse\00" @.str3579 = private unnamed_addr constant [54 x i8] c"build/cfree/selfhost.ludic:8342: index out of range: \00" @.str3580 = private unnamed_addr constant [4 x i8] c"int\00" @.str3581 = private unnamed_addr constant [11 x i8] c"value_int(\00" @.str3582 = private unnamed_addr constant [8 x i8] c"vw_conv\00" @.str3583 = private unnamed_addr constant [2 x i8] c")\00" @.str3584 = private unnamed_addr constant [6 x i8] c"float\00" @.str3585 = private unnamed_addr constant [13 x i8] c"value_float(\00" @.str3586 = private unnamed_addr constant [2 x i8] c")\00" @.str3587 = private unnamed_addr constant [7 x i8] c"string\00" @.str3588 = private unnamed_addr constant [11 x i8] c"value_str(\00" @.str3589 = private unnamed_addr constant [2 x i8] c")\00" @.str3590 = private unnamed_addr constant [18 x i8] c"value_str(string(\00" @.str3591 = private unnamed_addr constant [3 x i8] c"))\00" @.str3592 = private unnamed_addr constant [5 x i8] c"bool\00" @.str3593 = private unnamed_addr constant [99 x i8] c"function view_val_bool(b: bool) -> Val {\0A if b { return value_bool(1) }\0A return value_bool(0)\0A}\0A\00" @.str3594 = private unnamed_addr constant [14 x i8] c"view_val_bool\00" @.str3595 = private unnamed_addr constant [15 x i8] c"view_val_bool(\00" @.str3596 = private unnamed_addr constant [2 x i8] c")\00" @.str3597 = private unnamed_addr constant [15 x i8] c"view_val_list_\00" @.str3598 = private unnamed_addr constant [2 x i8] c"(\00" @.str3599 = private unnamed_addr constant [2 x i8] c")\00" @.str3600 = private unnamed_addr constant [6 x i8] c"xs[i]\00" @.str3601 = private unnamed_addr constant [10 x i8] c"function \00" @.str3602 = private unnamed_addr constant [6 x i8] c"(xs: \00" @.str3603 = private unnamed_addr constant [90 x i8] c") -> Val {\0A let out = value_list()\0A var i = 0\0A while i < len(xs) {\0A value_add(out, \00" @.str3604 = private unnamed_addr constant [33 x i8] c")\0A i += 1\0A }\0A return out\0A}\0A\00" @.str3605 = private unnamed_addr constant [2 x i8] c"(\00" @.str3606 = private unnamed_addr constant [2 x i8] c")\00" @.str3607 = private unnamed_addr constant [10 x i8] c"view_val_\00" @.str3608 = private unnamed_addr constant [2 x i8] c"(\00" @.str3609 = private unnamed_addr constant [2 x i8] c")\00" @.str3610 = private unnamed_addr constant [10 x i8] c"function \00" @.str3611 = private unnamed_addr constant [5 x i8] c"(r: \00" @.str3612 = private unnamed_addr constant [76 x i8] c") -> Val {\0A if r == null { return value_null() }\0A let o = value_object()\0A\00" @.str3613 = private unnamed_addr constant [54 x i8] c"build/cfree/selfhost.ludic:8382: index out of range: \00" @.str3614 = private unnamed_addr constant [3 x i8] c"r.\00" @.str3615 = private unnamed_addr constant [17 x i8] c" value_put(o, \22\00" @.str3616 = private unnamed_addr constant [4 x i8] c"\22, \00" @.str3617 = private unnamed_addr constant [3 x i8] c")\0A\00" @.str3618 = private unnamed_addr constant [14 x i8] c" return o\0A}\0A\00" @.str3619 = private unnamed_addr constant [2 x i8] c"(\00" @.str3620 = private unnamed_addr constant [2 x i8] c")\00" @.str3621 = private unnamed_addr constant [54 x i8] c"build/cfree/selfhost.ludic:8395: index out of range: \00" @.str3622 = private unnamed_addr constant [8 x i8] c"vw_have\00" @.str3623 = private unnamed_addr constant [10 x i8] c"vw_helper\00" @.str3624 = private unnamed_addr constant [10 x i8] c"vw_mangle\00" @.str3625 = private unnamed_addr constant [4 x i8] c"int\00" @.str3626 = private unnamed_addr constant [17 x i8] c" value_set_int(\00" @.str3627 = private unnamed_addr constant [7 x i8] c"vw_set\00" @.str3628 = private unnamed_addr constant [4 x i8] c", \22\00" @.str3629 = private unnamed_addr constant [4 x i8] c"\22, \00" @.str3630 = private unnamed_addr constant [3 x i8] c")\0A\00" @.str3631 = private unnamed_addr constant [6 x i8] c"float\00" @.str3632 = private unnamed_addr constant [19 x i8] c" value_set_float(\00" @.str3633 = private unnamed_addr constant [4 x i8] c", \22\00" @.str3634 = private unnamed_addr constant [4 x i8] c"\22, \00" @.str3635 = private unnamed_addr constant [3 x i8] c")\0A\00" @.str3636 = private unnamed_addr constant [7 x i8] c"string\00" @.str3637 = private unnamed_addr constant [17 x i8] c" value_set_str(\00" @.str3638 = private unnamed_addr constant [4 x i8] c", \22\00" @.str3639 = private unnamed_addr constant [4 x i8] c"\22, \00" @.str3640 = private unnamed_addr constant [3 x i8] c")\0A\00" @.str3641 = private unnamed_addr constant [17 x i8] c" value_set_str(\00" @.str3642 = private unnamed_addr constant [4 x i8] c", \22\00" @.str3643 = private unnamed_addr constant [11 x i8] c"\22, string(\00" @.str3644 = private unnamed_addr constant [4 x i8] c"))\0A\00" @.str3645 = private unnamed_addr constant [5 x i8] c"bool\00" @.str3646 = private unnamed_addr constant [18 x i8] c" value_set_bool(\00" @.str3647 = private unnamed_addr constant [4 x i8] c", \22\00" @.str3648 = private unnamed_addr constant [4 x i8] c"\22, \00" @.str3649 = private unnamed_addr constant [3 x i8] c")\0A\00" @.str3650 = private unnamed_addr constant [6 x i8] c"[]int\00" @.str3651 = private unnamed_addr constant [18 x i8] c" value_set_ints(\00" @.str3652 = private unnamed_addr constant [4 x i8] c", \22\00" @.str3653 = private unnamed_addr constant [4 x i8] c"\22, \00" @.str3654 = private unnamed_addr constant [3 x i8] c")\0A\00" @.str3655 = private unnamed_addr constant [8 x i8] c"[]float\00" @.str3656 = private unnamed_addr constant [20 x i8] c" value_set_floats(\00" @.str3657 = private unnamed_addr constant [4 x i8] c", \22\00" @.str3658 = private unnamed_addr constant [4 x i8] c"\22, \00" @.str3659 = private unnamed_addr constant [3 x i8] c")\0A\00" @.str3660 = private unnamed_addr constant [9 x i8] c"[]string\00" @.str3661 = private unnamed_addr constant [18 x i8] c" value_set_strs(\00" @.str3662 = private unnamed_addr constant [4 x i8] c", \22\00" @.str3663 = private unnamed_addr constant [4 x i8] c"\22, \00" @.str3664 = private unnamed_addr constant [3 x i8] c")\0A\00" @.str3665 = private unnamed_addr constant [7 x i8] c"[]bool\00" @.str3666 = private unnamed_addr constant [19 x i8] c" value_set_bools(\00" @.str3667 = private unnamed_addr constant [4 x i8] c", \22\00" @.str3668 = private unnamed_addr constant [4 x i8] c"\22, \00" @.str3669 = private unnamed_addr constant [3 x i8] c")\0A\00" @.str3670 = private unnamed_addr constant [4 x i8] c"Val\00" @.str3671 = private unnamed_addr constant [13 x i8] c" value_put(\00" @.str3672 = private unnamed_addr constant [4 x i8] c", \22\00" @.str3673 = private unnamed_addr constant [4 x i8] c"\22, \00" @.str3674 = private unnamed_addr constant [3 x i8] c")\0A\00" @.str3675 = private unnamed_addr constant [15 x i8] c"view_set_list_\00" @.str3676 = private unnamed_addr constant [10 x i8] c"function \00" @.str3677 = private unnamed_addr constant [25 x i8] c"(o: Val, k: string, xs: \00" @.str3678 = private unnamed_addr constant [180 x i8] c") -> void {\0A let l = value_list_fit(o, k, len(xs))\0A var i = 0\0A while i < len(xs) {\0A let d = value_item(l, i, 6)\0A if xs[i] == null { value_become(d, 0) } else { view_fill_\00" @.str3679 = private unnamed_addr constant [31 x i8] c"(d, xs[i]) }\0A i += 1\0A }\0A}\0A\00" @.str3680 = private unnamed_addr constant [3 x i8] c" \00" @.str3681 = private unnamed_addr constant [2 x i8] c"(\00" @.str3682 = private unnamed_addr constant [4 x i8] c", \22\00" @.str3683 = private unnamed_addr constant [4 x i8] c"\22, \00" @.str3684 = private unnamed_addr constant [3 x i8] c")\0A\00" @.str3685 = private unnamed_addr constant [10 x i8] c"view_set_\00" @.str3686 = private unnamed_addr constant [10 x i8] c"function \00" @.str3687 = private unnamed_addr constant [24 x i8] c"(o: Val, k: string, r: \00" @.str3688 = private unnamed_addr constant [81 x i8] c") -> void {\0A if r == null {\0A value_slot(o, k, 0)\0A return\0A }\0A view_fill_\00" @.str3689 = private unnamed_addr constant [28 x i8] c"(value_slot(o, k, 6), r)\0A}\0A\00" @.str3690 = private unnamed_addr constant [3 x i8] c" \00" @.str3691 = private unnamed_addr constant [2 x i8] c"(\00" @.str3692 = private unnamed_addr constant [4 x i8] c", \22\00" @.str3693 = private unnamed_addr constant [4 x i8] c"\22, \00" @.str3694 = private unnamed_addr constant [3 x i8] c")\0A\00" @.str3695 = private unnamed_addr constant [13 x i8] c" value_put(\00" @.str3696 = private unnamed_addr constant [4 x i8] c", \22\00" @.str3697 = private unnamed_addr constant [4 x i8] c"\22, \00" @.str3698 = private unnamed_addr constant [3 x i8] c")\0A\00" @.str3699 = private unnamed_addr constant [11 x i8] c"view_fill_\00" @.str3700 = private unnamed_addr constant [11 x i8] c"vw_fill_fn\00" @.str3701 = private unnamed_addr constant [10 x i8] c"function \00" @.str3702 = private unnamed_addr constant [13 x i8] c"(d: Val, r: \00" @.str3703 = private unnamed_addr constant [13 x i8] c") -> void {\0A\00" @.str3704 = private unnamed_addr constant [54 x i8] c"build/cfree/selfhost.ludic:8467: index out of range: \00" @.str3705 = private unnamed_addr constant [2 x i8] c"d\00" @.str3706 = private unnamed_addr constant [3 x i8] c"r.\00" @.str3707 = private unnamed_addr constant [3 x i8] c"}\0A\00" @.str3708 = private unnamed_addr constant [54 x i8] c"build/cfree/selfhost.ludic:8489: index out of range: \00" @.str3709 = private unnamed_addr constant [7 x i8] c"vw_err\00" @.str3710 = private unnamed_addr constant [54 x i8] c"build/cfree/selfhost.ludic:8490: index out of range: \00" @.str3711 = private unnamed_addr constant [6 x i8] c"view \00" @.str3712 = private unnamed_addr constant [54 x i8] c"build/cfree/selfhost.ludic:8492: index out of range: \00" @.str3713 = private unnamed_addr constant [3 x i8] c": \00" @.str3714 = private unnamed_addr constant [54 x i8] c"build/cfree/selfhost.ludic:8495: index out of range: \00" @.str3715 = private unnamed_addr constant [10 x i8] c"vw_finish\00" @.str3716 = private unnamed_addr constant [7 x i8] c"UiView\00" @.str3717 = private unnamed_addr constant [48 x i8] c"a view is shown by ludic.ui - import \22ludic.ui\22\00" @.str3718 = private unnamed_addr constant [54 x i8] c"build/cfree/selfhost.ludic:8497: index out of range: \00" @.str3719 = private unnamed_addr constant [10 x i8] c"function \00" @.str3720 = private unnamed_addr constant [43 x i8] c"model() -> Val {\0A let o = value_object()\0A\00" @.str3721 = private unnamed_addr constant [54 x i8] c"build/cfree/selfhost.ludic:8499: index out of range: \00" @.str3722 = private unnamed_addr constant [54 x i8] c"build/cfree/selfhost.ludic:8502: index out of range: \00" @.str3723 = private unnamed_addr constant [54 x i8] c"build/cfree/selfhost.ludic:8503: index out of range: \00" @.str3724 = private unnamed_addr constant [54 x i8] c"build/cfree/selfhost.ludic:8503: index out of range: \00" @.str3725 = private unnamed_addr constant [3 x i8] c"()\00" @.str3726 = private unnamed_addr constant [7 x i8] c" is a \00" @.str3727 = private unnamed_addr constant [31 x i8] c", which a template cannot read\00" @.str3728 = private unnamed_addr constant [17 x i8] c" value_put(o, \22\00" @.str3729 = private unnamed_addr constant [4 x i8] c"\22, \00" @.str3730 = private unnamed_addr constant [3 x i8] c")\0A\00" @.str3731 = private unnamed_addr constant [14 x i8] c" return o\0A}\0A\00" @.str3732 = private unnamed_addr constant [54 x i8] c"build/cfree/selfhost.ludic:8516: index out of range: \00" @.str3733 = private unnamed_addr constant [9 x i8] c"vw_infer\00" @.str3734 = private unnamed_addr constant [54 x i8] c"build/cfree/selfhost.ludic:8523: index out of range: \00" @.str3735 = private unnamed_addr constant [54 x i8] c"build/cfree/selfhost.ludic:8526: index out of range: \00" @.str3736 = private unnamed_addr constant [54 x i8] c"build/cfree/selfhost.ludic:8527: index out of range: \00" @.str3737 = private unnamed_addr constant [4 x i8] c"int\00" @.str3738 = private unnamed_addr constant [6 x i8] c"float\00" @.str3739 = private unnamed_addr constant [5 x i8] c"bool\00" @.str3740 = private unnamed_addr constant [7 x i8] c"string\00" @.str3741 = private unnamed_addr constant [5 x i8] c"void\00" @.str3742 = private unnamed_addr constant [54 x i8] c"build/cfree/selfhost.ludic:8541: index out of range: \00" @.str3743 = private unnamed_addr constant [15 x i8] c"say what type \00" @.str3744 = private unnamed_addr constant [7 x i8] c" is - \00" @.str3745 = private unnamed_addr constant [12 x i8] c": int = ...\00" @.str3746 = private unnamed_addr constant [4 x i8] c"int\00" @.str3747 = private unnamed_addr constant [10 x i8] c"function \00" @.str3748 = private unnamed_addr constant [12 x i8] c"vw_call_src\00" @.str3749 = private unnamed_addr constant [40 x i8] c"call(name: string, args: Val) -> Val {\0A\00" @.str3750 = private unnamed_addr constant [54 x i8] c"build/cfree/selfhost.ludic:8548: index out of range: \00" @.str3751 = private unnamed_addr constant [54 x i8] c"build/cfree/selfhost.ludic:8551: index out of range: \00" @.str3752 = private unnamed_addr constant [1 x i8] c"\00" @.str3753 = private unnamed_addr constant [54 x i8] c"build/cfree/selfhost.ludic:8553: index out of range: \00" @.str3754 = private unnamed_addr constant [54 x i8] c"build/cfree/selfhost.ludic:8555: index out of range: \00" @.str3755 = private unnamed_addr constant [3 x i8] c", \00" @.str3756 = private unnamed_addr constant [54 x i8] c"build/cfree/selfhost.ludic:8556: index out of range: \00" @.str3757 = private unnamed_addr constant [54 x i8] c"build/cfree/selfhost.ludic:8556: index out of range: \00" @.str3758 = private unnamed_addr constant [2 x i8] c"(\00" @.str3759 = private unnamed_addr constant [2 x i8] c")\00" @.str3760 = private unnamed_addr constant [15 x i8] c" if name == \22\00" @.str3761 = private unnamed_addr constant [54 x i8] c"build/cfree/selfhost.ludic:8560: index out of range: \00" @.str3762 = private unnamed_addr constant [54 x i8] c"build/cfree/selfhost.ludic:8560: index out of range: \00" @.str3763 = private unnamed_addr constant [5 x i8] c"\22 {\0A\00" @.str3764 = private unnamed_addr constant [5 x i8] c"void\00" @.str3765 = private unnamed_addr constant [5 x i8] c" \00" @.str3766 = private unnamed_addr constant [26 x i8] c"\0A return value_null()\0A\00" @.str3767 = private unnamed_addr constant [54 x i8] c"build/cfree/selfhost.ludic:8563: index out of range: \00" @.str3768 = private unnamed_addr constant [54 x i8] c"build/cfree/selfhost.ludic:8563: index out of range: \00" @.str3769 = private unnamed_addr constant [12 x i8] c" answers a \00" @.str3770 = private unnamed_addr constant [31 x i8] c", which a template cannot read\00" @.str3771 = private unnamed_addr constant [12 x i8] c" return \00" @.str3772 = private unnamed_addr constant [2 x i8] c"\0A\00" @.str3773 = private unnamed_addr constant [5 x i8] c" }\0A\00" @.str3774 = private unnamed_addr constant [25 x i8] c" return value_null()\0A}\0A\00" @.str3775 = private unnamed_addr constant [16 x i8] c"value_at(args, \00" @.str3776 = private unnamed_addr constant [7 x i8] c"vw_arg\00" @.str3777 = private unnamed_addr constant [2 x i8] c")\00" @.str3778 = private unnamed_addr constant [4 x i8] c"int\00" @.str3779 = private unnamed_addr constant [14 x i8] c"value_as_int(\00" @.str3780 = private unnamed_addr constant [2 x i8] c")\00" @.str3781 = private unnamed_addr constant [6 x i8] c"float\00" @.str3782 = private unnamed_addr constant [16 x i8] c"value_as_float(\00" @.str3783 = private unnamed_addr constant [2 x i8] c")\00" @.str3784 = private unnamed_addr constant [5 x i8] c"bool\00" @.str3785 = private unnamed_addr constant [14 x i8] c"value_as_int(\00" @.str3786 = private unnamed_addr constant [7 x i8] c") != 0\00" @.str3787 = private unnamed_addr constant [7 x i8] c"string\00" @.str3788 = private unnamed_addr constant [14 x i8] c"value_as_str(\00" @.str3789 = private unnamed_addr constant [2 x i8] c")\00" @.str3790 = private unnamed_addr constant [7 x i8] c" is a \00" @.str3791 = private unnamed_addr constant [58 x i8] c"; a template can pass an int, a float, a bool or a string\00" @.str3792 = private unnamed_addr constant [1 x i8] c"\00" @.str3793 = private unnamed_addr constant [5 x i8] c"cmp_\00" @.str3794 = private unnamed_addr constant [10 x i8] c"cm_prefix\00" @.str3795 = private unnamed_addr constant [2 x i8] c"_\00" @.str3796 = private unnamed_addr constant [19 x i8] c"parse_ui_component\00" @.str3797 = private unnamed_addr constant [54 x i8] c"build/cfree/selfhost.ludic:8633: index out of range: \00" @.str3798 = private unnamed_addr constant [54 x i8] c"build/cfree/selfhost.ludic:8634: index out of range: \00" @.str3799 = private unnamed_addr constant [54 x i8] c"build/cfree/selfhost.ludic:8635: index out of range: \00" @.str3800 = private unnamed_addr constant [54 x i8] c"build/cfree/selfhost.ludic:8638: index out of range: \00" @.str3801 = private unnamed_addr constant [54 x i8] c"build/cfree/selfhost.ludic:8646: index out of range: \00" @.str3802 = private unnamed_addr constant [1 x i8] c"\00" @.str3803 = private unnamed_addr constant [1 x i8] c"\00" @.str3804 = private unnamed_addr constant [1 x i8] c"\00" @.str3805 = private unnamed_addr constant [2 x i8] c"{\00" @.str3806 = private unnamed_addr constant [2 x i8] c"}\00" @.str3807 = private unnamed_addr constant [2 x i8] c"}\00" @.str3808 = private unnamed_addr constant [4 x i8] c"reg\00" @.str3809 = private unnamed_addr constant [4 x i8] c"int\00" @.str3810 = private unnamed_addr constant [5 x i8] c"prop\00" @.str3811 = private unnamed_addr constant [6 x i8] c"state\00" @.str3812 = private unnamed_addr constant [5 x i8] c"prop\00" @.str3813 = private unnamed_addr constant [54 x i8] c"build/cfree/selfhost.ludic:8680: index out of range: \00" @.str3814 = private unnamed_addr constant [10 x i8] c"cm_member\00" @.str3815 = private unnamed_addr constant [54 x i8] c"build/cfree/selfhost.ludic:8680: index out of range: \00" @.str3816 = private unnamed_addr constant [54 x i8] c"build/cfree/selfhost.ludic:8681: index out of range: \00" @.str3817 = private unnamed_addr constant [54 x i8] c"build/cfree/selfhost.ludic:8681: index out of range: \00" @.str3818 = private unnamed_addr constant [54 x i8] c"build/cfree/selfhost.ludic:8682: index out of range: \00" @.str3819 = private unnamed_addr constant [54 x i8] c"build/cfree/selfhost.ludic:8682: index out of range: \00" @.str3820 = private unnamed_addr constant [2 x i8] c":\00" @.str3821 = private unnamed_addr constant [54 x i8] c"build/cfree/selfhost.ludic:8689: index out of range: \00" @.str3822 = private unnamed_addr constant [54 x i8] c"build/cfree/selfhost.ludic:8690: index out of range: \00" @.str3823 = private unnamed_addr constant [54 x i8] c"build/cfree/selfhost.ludic:8691: index out of range: \00" @.str3824 = private unnamed_addr constant [2 x i8] c"=\00" @.str3825 = private unnamed_addr constant [5 x i8] c"def_\00" @.str3826 = private unnamed_addr constant [54 x i8] c"build/cfree/selfhost.ludic:8697: index out of range: \00" @.str3827 = private unnamed_addr constant [54 x i8] c"build/cfree/selfhost.ludic:8698: index out of range: \00" @.str3828 = private unnamed_addr constant [54 x i8] c"build/cfree/selfhost.ludic:8700: index out of range: \00" @.str3829 = private unnamed_addr constant [54 x i8] c"build/cfree/selfhost.ludic:8701: index out of range: \00" @.str3830 = private unnamed_addr constant [54 x i8] c"build/cfree/selfhost.ludic:8703: index out of range: \00" @.str3831 = private unnamed_addr constant [9 x i8] c"function\00" @.str3832 = private unnamed_addr constant [3 x i8] c"on\00" @.str3833 = private unnamed_addr constant [3 x i8] c"on\00" @.str3834 = private unnamed_addr constant [54 x i8] c"build/cfree/selfhost.ludic:8708: index out of range: \00" @.str3835 = private unnamed_addr constant [9 x i8] c"function\00" @.str3836 = private unnamed_addr constant [54 x i8] c"build/cfree/selfhost.ludic:8711: index out of range: \00" @.str3837 = private unnamed_addr constant [54 x i8] c"build/cfree/selfhost.ludic:8712: index out of range: \00" @.str3838 = private unnamed_addr constant [4 x i8] c"on_\00" @.str3839 = private unnamed_addr constant [54 x i8] c"build/cfree/selfhost.ludic:8714: index out of range: \00" @.str3840 = private unnamed_addr constant [54 x i8] c"build/cfree/selfhost.ludic:8718: index out of range: \00" @.str3841 = private unnamed_addr constant [54 x i8] c"build/cfree/selfhost.ludic:8718: index out of range: \00" @.str3842 = private unnamed_addr constant [2 x i8] c":\00" @.str3843 = private unnamed_addr constant [2 x i8] c"=\00" @.str3844 = private unnamed_addr constant [17 x i8] c"component field \00" @.str3845 = private unnamed_addr constant [20 x i8] c": say what it is - \00" @.str3846 = private unnamed_addr constant [15 x i8] c" = some_global\00" @.str3847 = private unnamed_addr constant [54 x i8] c"build/cfree/selfhost.ludic:8727: index out of range: \00" @.str3848 = private unnamed_addr constant [5 x i8] c"get_\00" @.str3849 = private unnamed_addr constant [54 x i8] c"build/cfree/selfhost.ludic:8730: index out of range: \00" @.str3850 = private unnamed_addr constant [10 x i8] c"cm_getter\00" @.str3851 = private unnamed_addr constant [54 x i8] c"build/cfree/selfhost.ludic:8752: index out of range: \00" @.str3852 = private unnamed_addr constant [11 x i8] c"cm_rewrite\00" @.str3853 = private unnamed_addr constant [11 x i8] c"component \00" @.str3854 = private unnamed_addr constant [54 x i8] c"build/cfree/selfhost.ludic:8757: index out of range: \00" @.str3855 = private unnamed_addr constant [17 x i8] c": the parameter \00" @.str3856 = private unnamed_addr constant [66 x i8] c" has the name of its prop, state or field; call it something else\00" @.str3857 = private unnamed_addr constant [5 x i8] c"self\00" @.str3858 = private unnamed_addr constant [54 x i8] c"build/cfree/selfhost.ludic:8768: index out of range: \00" @.str3859 = private unnamed_addr constant [54 x i8] c"build/cfree/selfhost.ludic:8773: index out of range: \00" @.str3860 = private unnamed_addr constant [15 x i8] c"cm_member_args\00" @.str3861 = private unnamed_addr constant [54 x i8] c"build/cfree/selfhost.ludic:8779: index out of range: \00" @.str3862 = private unnamed_addr constant [54 x i8] c"build/cfree/selfhost.ludic:8781: index out of range: \00" @.str3863 = private unnamed_addr constant [54 x i8] c"build/cfree/selfhost.ludic:8781: index out of range: \00" @.str3864 = private unnamed_addr constant [54 x i8] c"build/cfree/selfhost.ludic:8789: index out of range: \00" @.str3865 = private unnamed_addr constant [54 x i8] c"build/cfree/selfhost.ludic:8796: index out of range: \00" @.str3866 = private unnamed_addr constant [11 x i8] c"cm_is_keep\00" @.str3867 = private unnamed_addr constant [54 x i8] c"build/cfree/selfhost.ludic:8797: index out of range: \00" @.str3868 = private unnamed_addr constant [54 x i8] c"build/cfree/selfhost.ludic:8797: index out of range: \00" @.str3869 = private unnamed_addr constant [54 x i8] c"build/cfree/selfhost.ludic:8804: index out of range: \00" @.str3870 = private unnamed_addr constant [12 x i8] c"cm_is_field\00" @.str3871 = private unnamed_addr constant [54 x i8] c"build/cfree/selfhost.ludic:8805: index out of range: \00" @.str3872 = private unnamed_addr constant [54 x i8] c"build/cfree/selfhost.ludic:8805: index out of range: \00" @.str3873 = private unnamed_addr constant [54 x i8] c"build/cfree/selfhost.ludic:8812: index out of range: \00" @.str3874 = private unnamed_addr constant [11 x i8] c"cm_is_call\00" @.str3875 = private unnamed_addr constant [54 x i8] c"build/cfree/selfhost.ludic:8813: index out of range: \00" @.str3876 = private unnamed_addr constant [54 x i8] c"build/cfree/selfhost.ludic:8813: index out of range: \00" @.str3877 = private unnamed_addr constant [5 x i8] c"self\00" @.str3878 = private unnamed_addr constant [11 x i8] c"component \00" @.str3879 = private unnamed_addr constant [54 x i8] c"build/cfree/selfhost.ludic:8829: index out of range: \00" @.str3880 = private unnamed_addr constant [6 x i8] c"cm_rw\00" @.str3881 = private unnamed_addr constant [3 x i8] c": \00" @.str3882 = private unnamed_addr constant [64 x i8] c" is its own prop, state or field; name the local something else\00" @.str3883 = private unnamed_addr constant [54 x i8] c"build/cfree/selfhost.ludic:8839: index out of range: \00" @.str3884 = private unnamed_addr constant [5 x i8] c"get_\00" @.str3885 = private unnamed_addr constant [54 x i8] c"build/cfree/selfhost.ludic:8846: index out of range: \00" @.str3886 = private unnamed_addr constant [54 x i8] c"build/cfree/selfhost.ludic:8854: index out of range: \00" @.str3887 = private unnamed_addr constant [54 x i8] c"build/cfree/selfhost.ludic:8869: index out of range: \00" @.str3888 = private unnamed_addr constant [7 x i8] c"cm_err\00" @.str3889 = private unnamed_addr constant [54 x i8] c"build/cfree/selfhost.ludic:8870: index out of range: \00" @.str3890 = private unnamed_addr constant [11 x i8] c"component \00" @.str3891 = private unnamed_addr constant [54 x i8] c"build/cfree/selfhost.ludic:8872: index out of range: \00" @.str3892 = private unnamed_addr constant [3 x i8] c": \00" @.str3893 = private unnamed_addr constant [8 x i8] c"UiClass\00" @.str3894 = private unnamed_addr constant [53 x i8] c"a component is shown by ludic.ui - import \22ludic.ui\22\00" @.str3895 = private unnamed_addr constant [54 x i8] c"build/cfree/selfhost.ludic:8876: index out of range: \00" @.str3896 = private unnamed_addr constant [10 x i8] c"cm_finish\00" @.str3897 = private unnamed_addr constant [4 x i8] c"Cmp\00" @.str3898 = private unnamed_addr constant [54 x i8] c"build/cfree/selfhost.ludic:8879: index out of range: \00" @.str3899 = private unnamed_addr constant [54 x i8] c"build/cfree/selfhost.ludic:8880: index out of range: \00" @.str3900 = private unnamed_addr constant [54 x i8] c"build/cfree/selfhost.ludic:8881: index out of range: \00" @.str3901 = private unnamed_addr constant [10 x i8] c"property \00" @.str3902 = private unnamed_addr constant [4 x i8] c" {\0A\00" @.str3903 = private unnamed_addr constant [54 x i8] c"build/cfree/selfhost.ludic:8884: index out of range: \00" @.str3904 = private unnamed_addr constant [3 x i8] c" \00" @.str3905 = private unnamed_addr constant [54 x i8] c"build/cfree/selfhost.ludic:8885: index out of range: \00" @.str3906 = private unnamed_addr constant [54 x i8] c"build/cfree/selfhost.ludic:8885: index out of range: \00" @.str3907 = private unnamed_addr constant [3 x i8] c": \00" @.str3908 = private unnamed_addr constant [54 x i8] c"build/cfree/selfhost.ludic:8885: index out of range: \00" @.str3909 = private unnamed_addr constant [54 x i8] c"build/cfree/selfhost.ludic:8885: index out of range: \00" @.str3910 = private unnamed_addr constant [2 x i8] c"\0A\00" @.str3911 = private unnamed_addr constant [3 x i8] c"}\0A\00" @.str3912 = private unnamed_addr constant [54 x i8] c"build/cfree/selfhost.ludic:8899: index out of range: \00" @.str3913 = private unnamed_addr constant [10 x i8] c"cm_bodies\00" @.str3914 = private unnamed_addr constant [54 x i8] c"build/cfree/selfhost.ludic:8900: index out of range: \00" @.str3915 = private unnamed_addr constant [54 x i8] c"build/cfree/selfhost.ludic:8900: index out of range: \00" @.str3916 = private unnamed_addr constant [54 x i8] c"build/cfree/selfhost.ludic:8900: index out of range: \00" @.str3917 = private unnamed_addr constant [54 x i8] c"build/cfree/selfhost.ludic:8900: index out of range: \00" @.str3918 = private unnamed_addr constant [54 x i8] c"build/cfree/selfhost.ludic:8904: index out of range: \00" @.str3919 = private unnamed_addr constant [54 x i8] c"build/cfree/selfhost.ludic:8905: index out of range: \00" @.str3920 = private unnamed_addr constant [54 x i8] c"build/cfree/selfhost.ludic:8905: index out of range: \00" @.str3921 = private unnamed_addr constant [54 x i8] c"build/cfree/selfhost.ludic:8906: index out of range: \00" @.str3922 = private unnamed_addr constant [54 x i8] c"build/cfree/selfhost.ludic:8906: index out of range: \00" @.str3923 = private unnamed_addr constant [54 x i8] c"build/cfree/selfhost.ludic:8911: index out of range: \00" @.str3924 = private unnamed_addr constant [54 x i8] c"build/cfree/selfhost.ludic:8912: index out of range: \00" @.str3925 = private unnamed_addr constant [54 x i8] c"build/cfree/selfhost.ludic:8912: index out of range: \00" @.str3926 = private unnamed_addr constant [54 x i8] c"build/cfree/selfhost.ludic:8917: index out of range: \00" @.str3927 = private unnamed_addr constant [9 x i8] c"cm_infer\00" @.str3928 = private unnamed_addr constant [54 x i8] c"build/cfree/selfhost.ludic:8920: index out of range: \00" @.str3929 = private unnamed_addr constant [54 x i8] c"build/cfree/selfhost.ludic:8921: index out of range: \00" @.str3930 = private unnamed_addr constant [54 x i8] c"build/cfree/selfhost.ludic:8921: index out of range: \00" @.str3931 = private unnamed_addr constant [54 x i8] c"build/cfree/selfhost.ludic:8921: index out of range: \00" @.str3932 = private unnamed_addr constant [54 x i8] c"build/cfree/selfhost.ludic:8921: index out of range: \00" @.str3933 = private unnamed_addr constant [54 x i8] c"build/cfree/selfhost.ludic:8928: index out of range: \00" @.str3934 = private unnamed_addr constant [54 x i8] c"build/cfree/selfhost.ludic:8929: index out of range: \00" @.str3935 = private unnamed_addr constant [54 x i8] c"build/cfree/selfhost.ludic:8929: index out of range: \00" @.str3936 = private unnamed_addr constant [54 x i8] c"build/cfree/selfhost.ludic:8930: index out of range: \00" @.str3937 = private unnamed_addr constant [54 x i8] c"build/cfree/selfhost.ludic:8930: index out of range: \00" @.str3938 = private unnamed_addr constant [4 x i8] c"int\00" @.str3939 = private unnamed_addr constant [6 x i8] c"float\00" @.str3940 = private unnamed_addr constant [5 x i8] c"bool\00" @.str3941 = private unnamed_addr constant [7 x i8] c"string\00" @.str3942 = private unnamed_addr constant [5 x i8] c"void\00" @.str3943 = private unnamed_addr constant [54 x i8] c"build/cfree/selfhost.ludic:8948: index out of range: \00" @.str3944 = private unnamed_addr constant [15 x i8] c"say what type \00" @.str3945 = private unnamed_addr constant [7 x i8] c" is - \00" @.str3946 = private unnamed_addr constant [12 x i8] c": int = ...\00" @.str3947 = private unnamed_addr constant [4 x i8] c"int\00" @.str3948 = private unnamed_addr constant [10 x i8] c"function \00" @.str3949 = private unnamed_addr constant [11 x i8] c"cm_new_src\00" @.str3950 = private unnamed_addr constant [34 x i8] c"new() -> pointer {\0A let s = new \00" @.str3951 = private unnamed_addr constant [2 x i8] c"\0A\00" @.str3952 = private unnamed_addr constant [54 x i8] c"build/cfree/selfhost.ludic:8955: index out of range: \00" @.str3953 = private unnamed_addr constant [54 x i8] c"build/cfree/selfhost.ludic:8956: index out of range: \00" @.str3954 = private unnamed_addr constant [54 x i8] c"build/cfree/selfhost.ludic:8956: index out of range: \00" @.str3955 = private unnamed_addr constant [5 x i8] c" s.\00" @.str3956 = private unnamed_addr constant [54 x i8] c"build/cfree/selfhost.ludic:8956: index out of range: \00" @.str3957 = private unnamed_addr constant [54 x i8] c"build/cfree/selfhost.ludic:8956: index out of range: \00" @.str3958 = private unnamed_addr constant [4 x i8] c" = \00" @.str3959 = private unnamed_addr constant [5 x i8] c"def_\00" @.str3960 = private unnamed_addr constant [54 x i8] c"build/cfree/selfhost.ludic:8956: index out of range: \00" @.str3961 = private unnamed_addr constant [54 x i8] c"build/cfree/selfhost.ludic:8956: index out of range: \00" @.str3962 = private unnamed_addr constant [5 x i8] c"(s)\0A\00" @.str3963 = private unnamed_addr constant [14 x i8] c" return s\0A}\0A\00" @.str3964 = private unnamed_addr constant [10 x i8] c"function \00" @.str3965 = private unnamed_addr constant [13 x i8] c"cm_props_src\00" @.str3966 = private unnamed_addr constant [46 x i8] c"props(p: pointer, v: Val) -> void {\0A let s: \00" @.str3967 = private unnamed_addr constant [6 x i8] c" = p\0A\00" @.str3968 = private unnamed_addr constant [54 x i8] c"build/cfree/selfhost.ludic:8967: index out of range: \00" @.str3969 = private unnamed_addr constant [54 x i8] c"build/cfree/selfhost.ludic:8968: index out of range: \00" @.str3970 = private unnamed_addr constant [54 x i8] c"build/cfree/selfhost.ludic:8968: index out of range: \00" @.str3971 = private unnamed_addr constant [54 x i8] c"build/cfree/selfhost.ludic:8969: index out of range: \00" @.str3972 = private unnamed_addr constant [54 x i8] c"build/cfree/selfhost.ludic:8969: index out of range: \00" @.str3973 = private unnamed_addr constant [54 x i8] c"build/cfree/selfhost.ludic:8970: index out of range: \00" @.str3974 = private unnamed_addr constant [54 x i8] c"build/cfree/selfhost.ludic:8970: index out of range: \00" @.str3975 = private unnamed_addr constant [15 x i8] c"value_get(v, \22\00" @.str3976 = private unnamed_addr constant [3 x i8] c"\22)\00" @.str3977 = private unnamed_addr constant [20 x i8] c" if value_has(v, \22\00" @.str3978 = private unnamed_addr constant [13 x i8] c"\22) != 0 { s.\00" @.str3979 = private unnamed_addr constant [4 x i8] c" = \00" @.str3980 = private unnamed_addr constant [4 x i8] c" }\0A\00" @.str3981 = private unnamed_addr constant [3 x i8] c"}\0A\00" @.str3982 = private unnamed_addr constant [4 x i8] c"Val\00" @.str3983 = private unnamed_addr constant [4 x i8] c"int\00" @.str3984 = private unnamed_addr constant [14 x i8] c"value_as_int(\00" @.str3985 = private unnamed_addr constant [8 x i8] c"cm_from\00" @.str3986 = private unnamed_addr constant [2 x i8] c")\00" @.str3987 = private unnamed_addr constant [6 x i8] c"float\00" @.str3988 = private unnamed_addr constant [16 x i8] c"value_as_float(\00" @.str3989 = private unnamed_addr constant [2 x i8] c")\00" @.str3990 = private unnamed_addr constant [5 x i8] c"bool\00" @.str3991 = private unnamed_addr constant [14 x i8] c"value_as_int(\00" @.str3992 = private unnamed_addr constant [7 x i8] c") != 0\00" @.str3993 = private unnamed_addr constant [7 x i8] c"string\00" @.str3994 = private unnamed_addr constant [13 x i8] c"ui_val_text(\00" @.str3995 = private unnamed_addr constant [2 x i8] c")\00" @.str3996 = private unnamed_addr constant [70 x i8] c"a prop or state is an int, a float, a bool, a string or a Val, not a \00" @.str3997 = private unnamed_addr constant [10 x i8] c"function \00" @.str3998 = private unnamed_addr constant [13 x i8] c"cm_model_src\00" @.str3999 = private unnamed_addr constant [45 x i8] c"model(p: pointer, o: Val) -> Val {\0A let s: \00" @.str4000 = private unnamed_addr constant [6 x i8] c" = p\0A\00" @.str4001 = private unnamed_addr constant [54 x i8] c"build/cfree/selfhost.ludic:8992: index out of range: \00" @.str4002 = private unnamed_addr constant [54 x i8] c"build/cfree/selfhost.ludic:8993: index out of range: \00" @.str4003 = private unnamed_addr constant [54 x i8] c"build/cfree/selfhost.ludic:8993: index out of range: \00" @.str4004 = private unnamed_addr constant [54 x i8] c"build/cfree/selfhost.ludic:8994: index out of range: \00" @.str4005 = private unnamed_addr constant [54 x i8] c"build/cfree/selfhost.ludic:8994: index out of range: \00" @.str4006 = private unnamed_addr constant [3 x i8] c"s.\00" @.str4007 = private unnamed_addr constant [54 x i8] c"build/cfree/selfhost.ludic:8998: index out of range: \00" @.str4008 = private unnamed_addr constant [54 x i8] c"build/cfree/selfhost.ludic:8999: index out of range: \00" @.str4009 = private unnamed_addr constant [54 x i8] c"build/cfree/selfhost.ludic:8999: index out of range: \00" @.str4010 = private unnamed_addr constant [54 x i8] c"build/cfree/selfhost.ludic:9000: index out of range: \00" @.str4011 = private unnamed_addr constant [54 x i8] c"build/cfree/selfhost.ludic:9000: index out of range: \00" @.str4012 = private unnamed_addr constant [4 x i8] c"(s)\00" @.str4013 = private unnamed_addr constant [14 x i8] c" return o\0A}\0A\00" @.str4014 = private unnamed_addr constant [4 x i8] c"int\00" @.str4015 = private unnamed_addr constant [22 x i8] c"value_into_int(into, \00" @.str4016 = private unnamed_addr constant [8 x i8] c"cm_into\00" @.str4017 = private unnamed_addr constant [2 x i8] c")\00" @.str4018 = private unnamed_addr constant [6 x i8] c"float\00" @.str4019 = private unnamed_addr constant [24 x i8] c"value_into_float(into, \00" @.str4020 = private unnamed_addr constant [2 x i8] c")\00" @.str4021 = private unnamed_addr constant [7 x i8] c"string\00" @.str4022 = private unnamed_addr constant [22 x i8] c"value_into_str(into, \00" @.str4023 = private unnamed_addr constant [2 x i8] c")\00" @.str4024 = private unnamed_addr constant [5 x i8] c"bool\00" @.str4025 = private unnamed_addr constant [23 x i8] c"value_into_bool(into, \00" @.str4026 = private unnamed_addr constant [2 x i8] c")\00" @.str4027 = private unnamed_addr constant [6 x i8] c"[]int\00" @.str4028 = private unnamed_addr constant [23 x i8] c"value_into_ints(into, \00" @.str4029 = private unnamed_addr constant [2 x i8] c")\00" @.str4030 = private unnamed_addr constant [8 x i8] c"[]float\00" @.str4031 = private unnamed_addr constant [25 x i8] c"value_into_floats(into, \00" @.str4032 = private unnamed_addr constant [2 x i8] c")\00" @.str4033 = private unnamed_addr constant [9 x i8] c"[]string\00" @.str4034 = private unnamed_addr constant [23 x i8] c"value_into_strs(into, \00" @.str4035 = private unnamed_addr constant [2 x i8] c")\00" @.str4036 = private unnamed_addr constant [7 x i8] c"[]bool\00" @.str4037 = private unnamed_addr constant [24 x i8] c"value_into_bools(into, \00" @.str4038 = private unnamed_addr constant [2 x i8] c")\00" @.str4039 = private unnamed_addr constant [4 x i8] c"int\00" @.str4040 = private unnamed_addr constant [21 x i8] c" value_set_int(o, \22\00" @.str4041 = private unnamed_addr constant [7 x i8] c"cm_set\00" @.str4042 = private unnamed_addr constant [4 x i8] c"\22, \00" @.str4043 = private unnamed_addr constant [3 x i8] c")\0A\00" @.str4044 = private unnamed_addr constant [6 x i8] c"float\00" @.str4045 = private unnamed_addr constant [23 x i8] c" value_set_float(o, \22\00" @.str4046 = private unnamed_addr constant [4 x i8] c"\22, \00" @.str4047 = private unnamed_addr constant [3 x i8] c")\0A\00" @.str4048 = private unnamed_addr constant [7 x i8] c"string\00" @.str4049 = private unnamed_addr constant [21 x i8] c" value_set_str(o, \22\00" @.str4050 = private unnamed_addr constant [4 x i8] c"\22, \00" @.str4051 = private unnamed_addr constant [3 x i8] c")\0A\00" @.str4052 = private unnamed_addr constant [5 x i8] c"bool\00" @.str4053 = private unnamed_addr constant [22 x i8] c" value_set_bool(o, \22\00" @.str4054 = private unnamed_addr constant [4 x i8] c"\22, \00" @.str4055 = private unnamed_addr constant [3 x i8] c")\0A\00" @.str4056 = private unnamed_addr constant [6 x i8] c"[]int\00" @.str4057 = private unnamed_addr constant [22 x i8] c" value_set_ints(o, \22\00" @.str4058 = private unnamed_addr constant [4 x i8] c"\22, \00" @.str4059 = private unnamed_addr constant [3 x i8] c")\0A\00" @.str4060 = private unnamed_addr constant [8 x i8] c"[]float\00" @.str4061 = private unnamed_addr constant [24 x i8] c" value_set_floats(o, \22\00" @.str4062 = private unnamed_addr constant [4 x i8] c"\22, \00" @.str4063 = private unnamed_addr constant [3 x i8] c")\0A\00" @.str4064 = private unnamed_addr constant [9 x i8] c"[]string\00" @.str4065 = private unnamed_addr constant [22 x i8] c" value_set_strs(o, \22\00" @.str4066 = private unnamed_addr constant [4 x i8] c"\22, \00" @.str4067 = private unnamed_addr constant [3 x i8] c")\0A\00" @.str4068 = private unnamed_addr constant [7 x i8] c"[]bool\00" @.str4069 = private unnamed_addr constant [23 x i8] c" value_set_bools(o, \22\00" @.str4070 = private unnamed_addr constant [4 x i8] c"\22, \00" @.str4071 = private unnamed_addr constant [3 x i8] c")\0A\00" @.str4072 = private unnamed_addr constant [2 x i8] c"o\00" @.str4073 = private unnamed_addr constant [3 x i8] c"a \00" @.str4074 = private unnamed_addr constant [37 x i8] c" is something a template cannot read\00" @.str4075 = private unnamed_addr constant [1 x i8] c"\00" @.str4076 = private unnamed_addr constant [4 x i8] c"Val\00" @.str4077 = private unnamed_addr constant [3 x i8] c"a \00" @.str4078 = private unnamed_addr constant [6 x i8] c"cm_to\00" @.str4079 = private unnamed_addr constant [37 x i8] c" is something a template cannot read\00" @.str4080 = private unnamed_addr constant [10 x i8] c"function \00" @.str4081 = private unnamed_addr constant [12 x i8] c"cm_call_src\00" @.str4082 = private unnamed_addr constant [72 x i8] c"call(p: pointer, name: string, args: Val, into: Val) -> Val {\0A let s: \00" @.str4083 = private unnamed_addr constant [6 x i8] c" = p\0A\00" @.str4084 = private unnamed_addr constant [54 x i8] c"build/cfree/selfhost.ludic:9043: index out of range: \00" @.str4085 = private unnamed_addr constant [54 x i8] c"build/cfree/selfhost.ludic:9046: index out of range: \00" @.str4086 = private unnamed_addr constant [2 x i8] c"s\00" @.str4087 = private unnamed_addr constant [54 x i8] c"build/cfree/selfhost.ludic:9048: index out of range: \00" @.str4088 = private unnamed_addr constant [3 x i8] c", \00" @.str4089 = private unnamed_addr constant [54 x i8] c"build/cfree/selfhost.ludic:9051: index out of range: \00" @.str4090 = private unnamed_addr constant [15 x i8] c" if name == \22\00" @.str4091 = private unnamed_addr constant [54 x i8] c"build/cfree/selfhost.ludic:9054: index out of range: \00" @.str4092 = private unnamed_addr constant [54 x i8] c"build/cfree/selfhost.ludic:9054: index out of range: \00" @.str4093 = private unnamed_addr constant [5 x i8] c"\22 {\0A\00" @.str4094 = private unnamed_addr constant [2 x i8] c"(\00" @.str4095 = private unnamed_addr constant [2 x i8] c")\00" @.str4096 = private unnamed_addr constant [5 x i8] c"void\00" @.str4097 = private unnamed_addr constant [5 x i8] c" \00" @.str4098 = private unnamed_addr constant [35 x i8] c"\0A return value_into_null(into)\0A\00" @.str4099 = private unnamed_addr constant [12 x i8] c" return \00" @.str4100 = private unnamed_addr constant [2 x i8] c"\0A\00" @.str4101 = private unnamed_addr constant [5 x i8] c" }\0A\00" @.str4102 = private unnamed_addr constant [54 x i8] c"build/cfree/selfhost.ludic:9061: index out of range: \00" @.str4103 = private unnamed_addr constant [54 x i8] c"build/cfree/selfhost.ludic:9062: index out of range: \00" @.str4104 = private unnamed_addr constant [54 x i8] c"build/cfree/selfhost.ludic:9062: index out of range: \00" @.str4105 = private unnamed_addr constant [54 x i8] c"build/cfree/selfhost.ludic:9063: index out of range: \00" @.str4106 = private unnamed_addr constant [54 x i8] c"build/cfree/selfhost.ludic:9063: index out of range: \00" @.str4107 = private unnamed_addr constant [54 x i8] c"build/cfree/selfhost.ludic:9064: index out of range: \00" @.str4108 = private unnamed_addr constant [54 x i8] c"build/cfree/selfhost.ludic:9064: index out of range: \00" @.str4109 = private unnamed_addr constant [18 x i8] c"value_at(args, 0)\00" @.str4110 = private unnamed_addr constant [19 x i8] c" if name == \22set:\00" @.str4111 = private unnamed_addr constant [11 x i8] c"\22 {\0A s.\00" @.str4112 = private unnamed_addr constant [4 x i8] c" = \00" @.str4113 = private unnamed_addr constant [39 x i8] c"\0A return value_into_null(into)\0A }\0A\00" @.str4114 = private unnamed_addr constant [33 x i8] c" return value_into(into, 99)\0A}\0A\00" @.str4115 = private unnamed_addr constant [16 x i8] c"value_at(args, \00" @.str4116 = private unnamed_addr constant [7 x i8] c"cm_arg\00" @.str4117 = private unnamed_addr constant [2 x i8] c")\00" @.str4118 = private unnamed_addr constant [4 x i8] c"int\00" @.str4119 = private unnamed_addr constant [6 x i8] c"float\00" @.str4120 = private unnamed_addr constant [5 x i8] c"bool\00" @.str4121 = private unnamed_addr constant [7 x i8] c"string\00" @.str4122 = private unnamed_addr constant [4 x i8] c"Val\00" @.str4123 = private unnamed_addr constant [7 x i8] c" is a \00" @.str4124 = private unnamed_addr constant [65 x i8] c"; a template can pass an int, a float, a bool, a string or a Val\00" @.str4125 = private unnamed_addr constant [1 x i8] c"\00" @.str4126 = private unnamed_addr constant [54 x i8] c"build/cfree/selfhost.ludic:9083: index out of range: \00" @.str4127 = private unnamed_addr constant [9 x i8] c"cm_class\00" @.str4128 = private unnamed_addr constant [54 x i8] c"build/cfree/selfhost.ludic:9084: index out of range: \00" @.str4129 = private unnamed_addr constant [5 x i8] c".xml\00" @.str4130 = private unnamed_addr constant [5 x i8] c".lss\00" @.str4131 = private unnamed_addr constant [13 x i8] c"there is no \00" @.str4132 = private unnamed_addr constant [69 x i8] c".xml beside it - a component's template is NAME.xml in its directory\00" @.str4133 = private unnamed_addr constant [1 x i8] c"\00" @.str4134 = private unnamed_addr constant [1 x i8] c"\00" @.str4135 = private unnamed_addr constant [54 x i8] c"build/cfree/selfhost.ludic:9095: index out of range: \00" @.str4136 = private unnamed_addr constant [54 x i8] c"build/cfree/selfhost.ludic:9096: index out of range: \00" @.str4137 = private unnamed_addr constant [54 x i8] c"build/cfree/selfhost.ludic:9097: index out of range: \00" @.str4138 = private unnamed_addr constant [10 x i8] c"function \00" @.str4139 = private unnamed_addr constant [56 x i8] c"class() -> UiClass {\0A let k = new UiClass\0A k.name = \22\00" @.str4140 = private unnamed_addr constant [3 x i8] c"\22\0A\00" @.str4141 = private unnamed_addr constant [17 x i8] c" k.xml_path = \22\00" @.str4142 = private unnamed_addr constant [13 x i8] c"\22\0A k.xml = \00" @.str4143 = private unnamed_addr constant [28 x i8] c"xml_text()\0A k.lss_path = \22\00" @.str4144 = private unnamed_addr constant [13 x i8] c"\22\0A k.lss = \00" @.str4145 = private unnamed_addr constant [12 x i8] c"lss_text()\0A\00" @.str4146 = private unnamed_addr constant [15 x i8] c" k.make = fn \00" @.str4147 = private unnamed_addr constant [20 x i8] c"new\0A k.renew = fn \00" @.str4148 = private unnamed_addr constant [22 x i8] c"renew\0A k.props = fn \00" @.str4149 = private unnamed_addr constant [22 x i8] c"props\0A k.model = fn \00" @.str4150 = private unnamed_addr constant [21 x i8] c"model\0A k.call = fn \00" @.str4151 = private unnamed_addr constant [19 x i8] c"call\0A return k\0A}\0A\00" @.str4152 = private unnamed_addr constant [54 x i8] c"build/cfree/selfhost.ludic:9101: index out of range: \00" @.str4153 = private unnamed_addr constant [54 x i8] c"build/cfree/selfhost.ludic:9101: index out of range: \00" @.str4154 = private unnamed_addr constant [4 x i8] c"Cmp\00" @.str4155 = private unnamed_addr constant [54 x i8] c"build/cfree/selfhost.ludic:9102: index out of range: \00" @.str4156 = private unnamed_addr constant [54 x i8] c"build/cfree/selfhost.ludic:9102: index out of range: \00" @.str4157 = private unnamed_addr constant [9 x i8] c"xml_text\00" @.str4158 = private unnamed_addr constant [9 x i8] c"lss_text\00" @.str4159 = private unnamed_addr constant [12 x i8] c"ui_register\00" @.str4160 = private unnamed_addr constant [6 x i8] c"class\00" @.str4161 = private unnamed_addr constant [10 x i8] c"function \00" @.str4162 = private unnamed_addr constant [11 x i8] c"cm_text_fn\00" @.str4163 = private unnamed_addr constant [30 x i8] c"() -> string {\0A return \22\22\0A}\0A\00" @.str4164 = private unnamed_addr constant [54 x i8] c"build/cfree/selfhost.ludic:9121: index out of range: \00" @.str4165 = private unnamed_addr constant [54 x i8] c"build/cfree/selfhost.ludic:9121: index out of range: \00" @.str4166 = private unnamed_addr constant [54 x i8] c"build/cfree/selfhost.ludic:9122: index out of range: \00" @.str4167 = private unnamed_addr constant [54 x i8] c"build/cfree/selfhost.ludic:9122: index out of range: \00" @.str4168 = private unnamed_addr constant [47 x i8] c"its stylesheets @import each other in a circle\00" @.str4169 = private unnamed_addr constant [1 x i8] c"\00" @.str4170 = private unnamed_addr constant [14 x i8] c"cm_lss_inline\00" @.str4171 = private unnamed_addr constant [2 x i8] c"\0A\00" @.str4172 = private unnamed_addr constant [24 x i8] c"its stylesheet imports \00" @.str4173 = private unnamed_addr constant [21 x i8] c", which is not there\00" @.str4174 = private unnamed_addr constant [2 x i8] c"\0A\00" @.str4175 = private unnamed_addr constant [13 x i8] c"cm_import_of\00" @.str4176 = private unnamed_addr constant [8 x i8] c"@import\00" @.str4177 = private unnamed_addr constant [54 x i8] c"build/cfree/selfhost.ludic:9166: index out of range: \00" @.str4178 = private unnamed_addr constant [10 x i8] c"cm_unique\00" @.str4179 = private unnamed_addr constant [11 x i8] c"component \00" @.str4180 = private unnamed_addr constant [33 x i8] c" is declared twice: here and in \00" @.str4181 = private unnamed_addr constant [54 x i8] c"build/cfree/selfhost.ludic:9167: index out of range: \00" @.str4182 = private unnamed_addr constant [2 x i8] c":\00" @.str4183 = private unnamed_addr constant [54 x i8] c"build/cfree/selfhost.ludic:9167: index out of range: \00" @.str4184 = private unnamed_addr constant [77 x i8] c" - a component is used by its name as a tag, so each needs a name of its own\00" @.str4185 = private unnamed_addr constant [10 x i8] c"function \00" @.str4186 = private unnamed_addr constant [13 x i8] c"cm_renew_src\00" @.str4187 = private unnamed_addr constant [38 x i8] c"renew(p: pointer) -> void {\0A let s: \00" @.str4188 = private unnamed_addr constant [6 x i8] c" = p\0A\00" @.str4189 = private unnamed_addr constant [54 x i8] c"build/cfree/selfhost.ludic:9177: index out of range: \00" @.str4190 = private unnamed_addr constant [54 x i8] c"build/cfree/selfhost.ludic:9178: index out of range: \00" @.str4191 = private unnamed_addr constant [54 x i8] c"build/cfree/selfhost.ludic:9178: index out of range: \00" @.str4192 = private unnamed_addr constant [54 x i8] c"build/cfree/selfhost.ludic:9179: index out of range: \00" @.str4193 = private unnamed_addr constant [54 x i8] c"build/cfree/selfhost.ludic:9179: index out of range: \00" @.str4194 = private unnamed_addr constant [5 x i8] c" s.\00" @.str4195 = private unnamed_addr constant [4 x i8] c" = \00" @.str4196 = private unnamed_addr constant [5 x i8] c"def_\00" @.str4197 = private unnamed_addr constant [5 x i8] c"(s)\0A\00" @.str4198 = private unnamed_addr constant [5 x i8] c" s.\00" @.str4199 = private unnamed_addr constant [4 x i8] c" = \00" @.str4200 = private unnamed_addr constant [54 x i8] c"build/cfree/selfhost.ludic:9182: index out of range: \00" @.str4201 = private unnamed_addr constant [54 x i8] c"build/cfree/selfhost.ludic:9182: index out of range: \00" @.str4202 = private unnamed_addr constant [2 x i8] c"\0A\00" @.str4203 = private unnamed_addr constant [3 x i8] c"}\0A\00" @.str4204 = private unnamed_addr constant [4 x i8] c"int\00" @.str4205 = private unnamed_addr constant [5 x i8] c"long\00" @.str4206 = private unnamed_addr constant [5 x i8] c"byte\00" @.str4207 = private unnamed_addr constant [2 x i8] c"0\00" @.str4208 = private unnamed_addr constant [6 x i8] c"float\00" @.str4209 = private unnamed_addr constant [4 x i8] c"0.0\00" @.str4210 = private unnamed_addr constant [6 x i8] c"fixed\00" @.str4211 = private unnamed_addr constant [9 x i8] c"fixed(0)\00" @.str4212 = private unnamed_addr constant [5 x i8] c"bool\00" @.str4213 = private unnamed_addr constant [6 x i8] c"false\00" @.str4214 = private unnamed_addr constant [5 x i8] c"null\00" @.str4215 = private unnamed_addr constant [7 x i8] c"po_new\00" @.str4216 = private unnamed_addr constant [11 x i8] c"new PoFile\00" @.str4217 = private unnamed_addr constant [13 x i8] c"po_reset_cur\00" @.str4218 = private unnamed_addr constant [1 x i8] c"\00" @.str4219 = private unnamed_addr constant [1 x i8] c"\00" @.str4220 = private unnamed_addr constant [54 x i8] c"build/cfree/selfhost.ludic:9261: index out of range: \00" @.str4221 = private unnamed_addr constant [9 x i8] c"po_flush\00" @.str4222 = private unnamed_addr constant [1 x i8] c"\00" @.str4223 = private unnamed_addr constant [2 x i8] c"\0A\00" @.str4224 = private unnamed_addr constant [1 x i8] c"\00" @.str4225 = private unnamed_addr constant [10 x i8] c"po_add_to\00" @.str4226 = private unnamed_addr constant [1 x i8] c"\00" @.str4227 = private unnamed_addr constant [54 x i8] c"build/cfree/selfhost.ludic:9303: index out of range: \00" @.str4228 = private unnamed_addr constant [54 x i8] c"build/cfree/selfhost.ludic:9303: index out of range: \00" @.str4229 = private unnamed_addr constant [8 x i8] c"po_read\00" @.str4230 = private unnamed_addr constant [8 x i8] c"po_line\00" @.str4231 = private unnamed_addr constant [2 x i8] c"\0A\00" @.str4232 = private unnamed_addr constant [6 x i8] c"fuzzy\00" @.str4233 = private unnamed_addr constant [8 x i8] c"msgctxt\00" @.str4234 = private unnamed_addr constant [13 x i8] c"msgid_plural\00" @.str4235 = private unnamed_addr constant [6 x i8] c"msgid\00" @.str4236 = private unnamed_addr constant [7 x i8] c"msgstr\00" @.str4237 = private unnamed_addr constant [9 x i8] c"po_index\00" @.str4238 = private unnamed_addr constant [54 x i8] c"build/cfree/selfhost.ludic:9410: index out of range: \00" @.str4239 = private unnamed_addr constant [54 x i8] c"build/cfree/selfhost.ludic:9412: index out of range: \00" @.str4240 = private unnamed_addr constant [54 x i8] c"build/cfree/selfhost.ludic:9413: index out of range: \00" @.str4241 = private unnamed_addr constant [54 x i8] c"build/cfree/selfhost.ludic:9413: index out of range: \00" @.str4242 = private unnamed_addr constant [54 x i8] c"build/cfree/selfhost.ludic:9413: index out of range: \00" @.str4243 = private unnamed_addr constant [54 x i8] c"build/cfree/selfhost.ludic:9415: index out of range: \00" @.str4244 = private unnamed_addr constant [54 x i8] c"build/cfree/selfhost.ludic:9425: index out of range: \00" @.str4245 = private unnamed_addr constant [8 x i8] c"po_find\00" @.str4246 = private unnamed_addr constant [54 x i8] c"build/cfree/selfhost.ludic:9426: index out of range: \00" @.str4247 = private unnamed_addr constant [54 x i8] c"build/cfree/selfhost.ludic:9426: index out of range: \00" @.str4248 = private unnamed_addr constant [54 x i8] c"build/cfree/selfhost.ludic:9426: index out of range: \00" @.str4249 = private unnamed_addr constant [11 x i8] c"key_marked\00" @.str4250 = private unnamed_addr constant [14 x i8] c"i18n_key_text\00" @.str4251 = private unnamed_addr constant [7 x i8] c"ss_new\00" @.str4252 = private unnamed_addr constant [11 x i8] c"new StrSet\00" @.str4253 = private unnamed_addr constant [54 x i8] c"build/cfree/selfhost.ludic:9536: index out of range: \00" @.str4254 = private unnamed_addr constant [8 x i8] c"ss_slot\00" @.str4255 = private unnamed_addr constant [54 x i8] c"build/cfree/selfhost.ludic:9536: index out of range: \00" @.str4256 = private unnamed_addr constant [54 x i8] c"build/cfree/selfhost.ludic:9539: index out of range: \00" @.str4257 = private unnamed_addr constant [7 x i8] c"ss_has\00" @.str4258 = private unnamed_addr constant [54 x i8] c"build/cfree/selfhost.ludic:9547: index out of range: \00" @.str4259 = private unnamed_addr constant [7 x i8] c"ss_add\00" @.str4260 = private unnamed_addr constant [54 x i8] c"build/cfree/selfhost.ludic:9547: index out of range: \00" @.str4261 = private unnamed_addr constant [54 x i8] c"build/cfree/selfhost.ludic:9547: index out of range: \00" @.str4262 = private unnamed_addr constant [54 x i8] c"build/cfree/selfhost.ludic:9547: index out of range: \00" @.str4263 = private unnamed_addr constant [54 x i8] c"build/cfree/selfhost.ludic:9553: index out of range: \00" @.str4264 = private unnamed_addr constant [54 x i8] c"build/cfree/selfhost.ludic:9554: index out of range: \00" @.str4265 = private unnamed_addr constant [2 x i8] c"/\00" @.str4266 = private unnamed_addr constant [14 x i8] c"i18n_manifest\00" @.str4267 = private unnamed_addr constant [14 x i8] c"package.ludic\00" @.str4268 = private unnamed_addr constant [3 x i8] c"..\00" @.str4269 = private unnamed_addr constant [4 x i8] c"/..\00" @.str4270 = private unnamed_addr constant [19 x i8] c"i18n_manifest_read\00" @.str4271 = private unnamed_addr constant [54 x i8] c"build/cfree/selfhost.ludic:9586: index out of range: \00" @.str4272 = private unnamed_addr constant [5 x i8] c"lang\00" @.str4273 = private unnamed_addr constant [54 x i8] c"build/cfree/selfhost.ludic:9588: index out of range: \00" @.str4274 = private unnamed_addr constant [54 x i8] c"build/cfree/selfhost.ludic:9589: index out of range: \00" @.str4275 = private unnamed_addr constant [2 x i8] c"/\00" @.str4276 = private unnamed_addr constant [4 x i8] c".po\00" @.str4277 = private unnamed_addr constant [2 x i8] c"(\00" @.str4278 = private unnamed_addr constant [54 x i8] c"build/cfree/selfhost.ludic:9603: index out of range: \00" @.str4279 = private unnamed_addr constant [19 x i8] c"i18n_parse_textkey\00" @.str4280 = private unnamed_addr constant [54 x i8] c"build/cfree/selfhost.ludic:9603: index out of range: \00" @.str4281 = private unnamed_addr constant [73 x i8] c"@TextKey takes the prefix of the registry's text keys: @TextKey(\22steps\22)\00" @.str4282 = private unnamed_addr constant [54 x i8] c"build/cfree/selfhost.ludic:9604: index out of range: \00" @.str4283 = private unnamed_addr constant [2 x i8] c")\00" @.str4284 = private unnamed_addr constant [8 x i8] c"TextKey\00" @.str4285 = private unnamed_addr constant [2 x i8] c"[\00" @.str4286 = private unnamed_addr constant [2 x i8] c"]\00" @.str4287 = private unnamed_addr constant [23 x i8] c"i18n_registry_declared\00" @.str4288 = private unnamed_addr constant [54 x i8] c"build/cfree/selfhost.ludic:9619: index out of range: \00" @.str4289 = private unnamed_addr constant [12 x i8] c"i18n_prefix\00" @.str4290 = private unnamed_addr constant [54 x i8] c"build/cfree/selfhost.ludic:9619: index out of range: \00" @.str4291 = private unnamed_addr constant [54 x i8] c"build/cfree/selfhost.ludic:9620: index out of range: \00" @.str4292 = private unnamed_addr constant [54 x i8] c"build/cfree/selfhost.ludic:9624: index out of range: \00" @.str4293 = private unnamed_addr constant [14 x i8] c"i18n_has_text\00" @.str4294 = private unnamed_addr constant [54 x i8] c"build/cfree/selfhost.ludic:9625: index out of range: \00" @.str4295 = private unnamed_addr constant [54 x i8] c"build/cfree/selfhost.ludic:9625: index out of range: \00" @.str4296 = private unnamed_addr constant [54 x i8] c"build/cfree/selfhost.ludic:9626: index out of range: \00" @.str4297 = private unnamed_addr constant [5 x i8] c"Text\00" @.str4298 = private unnamed_addr constant [4 x i8] c"Key\00" @.str4299 = private unnamed_addr constant [54 x i8] c"build/cfree/selfhost.ludic:9637: index out of range: \00" @.str4300 = private unnamed_addr constant [14 x i8] c"i18n_fill_row\00" @.str4301 = private unnamed_addr constant [2 x i8] c".\00" @.str4302 = private unnamed_addr constant [2 x i8] c".\00" @.str4303 = private unnamed_addr constant [8 x i8] c"derived\00" @.str4304 = private unnamed_addr constant [1 x i8] c"\00" @.str4305 = private unnamed_addr constant [2 x i8] c":\00" @.str4306 = private unnamed_addr constant [10 x i8] c"i18n_site\00" @.str4307 = private unnamed_addr constant [2 x i8] c":\00" @.str4308 = private unnamed_addr constant [2 x i8] c":\00" @.str4309 = private unnamed_addr constant [9 x i8] c"template\00" @.str4310 = private unnamed_addr constant [5 x i8] c"data\00" @.str4311 = private unnamed_addr constant [5 x i8] c"code\00" @.str4312 = private unnamed_addr constant [3 x i8] c"k\22\00" @.str4313 = private unnamed_addr constant [9 x i8] c"i18n_use\00" @.str4314 = private unnamed_addr constant [32 x i8] c"\22: no en.po to check against - \00" @.str4315 = private unnamed_addr constant [33 x i8] c" is not there; no key is checked\00" @.str4316 = private unnamed_addr constant [3 x i8] c"k\22\00" @.str4317 = private unnamed_addr constant [2 x i8] c"\22\00" @.str4318 = private unnamed_addr constant [4 x i8] c"kn\22\00" @.str4319 = private unnamed_addr constant [2 x i8] c"\22\00" @.str4320 = private unnamed_addr constant [4 x i8] c"t('\00" @.str4321 = private unnamed_addr constant [3 x i8] c"')\00" @.str4322 = private unnamed_addr constant [11 x i8] c": the key \00" @.str4323 = private unnamed_addr constant [12 x i8] c" is not in \00" @.str4324 = private unnamed_addr constant [54 x i8] c"build/cfree/selfhost.ludic:9696: index out of range: \00" @.str4325 = private unnamed_addr constant [23 x i8] c" is a plural key, and \00" @.str4326 = private unnamed_addr constant [2 x i8] c":\00" @.str4327 = private unnamed_addr constant [54 x i8] c"build/cfree/selfhost.ludic:9697: index out of range: \00" @.str4328 = private unnamed_addr constant [8 x i8] c" gives \00" @.str4329 = private unnamed_addr constant [17 x i8] c" no msgid_plural\00" @.str4330 = private unnamed_addr constant [54 x i8] c"build/cfree/selfhost.ludic:9704: index out of range: \00" @.str4331 = private unnamed_addr constant [11 x i8] c"i18n_holes\00" @.str4332 = private unnamed_addr constant [3 x i8] c": \00" @.str4333 = private unnamed_addr constant [11 x i8] c" is given \00" @.str4334 = private unnamed_addr constant [31 x i8] c" value(s), and its English in \00" @.str4335 = private unnamed_addr constant [6 x i8] c" has \00" @.str4336 = private unnamed_addr constant [9 x i8] c" hole(s)\00" @.str4337 = private unnamed_addr constant [11 x i8] c"i18n_short\00" @.str4338 = private unnamed_addr constant [4 x i8] c"...\00" @.str4339 = private unnamed_addr constant [2 x i8] c" \00" @.str4340 = private unnamed_addr constant [15 x i8] c"English left: \00" @.str4341 = private unnamed_addr constant [18 x i8] c"i18n_english_left\00" @.str4342 = private unnamed_addr constant [54 x i8] c"build/cfree/selfhost.ludic:9745: index out of range: \00" @.str4343 = private unnamed_addr constant [11 x i8] c"i18n_check\00" @.str4344 = private unnamed_addr constant [54 x i8] c"build/cfree/selfhost.ludic:9745: index out of range: \00" @.str4345 = private unnamed_addr constant [18 x i8] c"i18n_is_data_file\00" @.str4346 = private unnamed_addr constant [6 x i8] c".lres\00" @.str4347 = private unnamed_addr constant [54 x i8] c"build/cfree/selfhost.ludic:9768: index out of range: \00" @.str4348 = private unnamed_addr constant [10 x i8] c"i18n_walk\00" @.str4349 = private unnamed_addr constant [3 x i8] c"tr\00" @.str4350 = private unnamed_addr constant [4 x i8] c"trf\00" @.str4351 = private unnamed_addr constant [4 x i8] c"trn\00" @.str4352 = private unnamed_addr constant [54 x i8] c"build/cfree/selfhost.ludic:9778: index out of range: \00" @.str4353 = private unnamed_addr constant [10 x i8] c"i18n_call\00" @.str4354 = private unnamed_addr constant [54 x i8] c"build/cfree/selfhost.ludic:9780: index out of range: \00" @.str4355 = private unnamed_addr constant [4 x i8] c"trn\00" @.str4356 = private unnamed_addr constant [7 x i8] c"trn(k\22\00" @.str4357 = private unnamed_addr constant [60 x i8] c"\22, ...): trn counts, so its key is a plural one - write kn\22\00" @.str4358 = private unnamed_addr constant [34 x i8] c"\22 (and give en.po a msgid_plural)\00" @.str4359 = private unnamed_addr constant [4 x i8] c"trn\00" @.str4360 = private unnamed_addr constant [5 x i8] c"(kn\22\00" @.str4361 = private unnamed_addr constant [54 x i8] c"\22, ...): a plural key needs its count - write trn(kn\22\00" @.str4362 = private unnamed_addr constant [11 x i8] c"\22, n, ...)\00" @.str4363 = private unnamed_addr constant [3 x i8] c"tr\00" @.str4364 = private unnamed_addr constant [54 x i8] c"build/cfree/selfhost.ludic:9807: index out of range: \00" @.str4365 = private unnamed_addr constant [15 x i8] c"i18n_walk_data\00" @.str4366 = private unnamed_addr constant [54 x i8] c"build/cfree/selfhost.ludic:9809: index out of range: \00" @.str4367 = private unnamed_addr constant [54 x i8] c"build/cfree/selfhost.ludic:9810: index out of range: \00" @.str4368 = private unnamed_addr constant [2 x i8] c".\00" @.str4369 = private unnamed_addr constant [54 x i8] c"build/cfree/selfhost.ludic:9810: index out of range: \00" @.str4370 = private unnamed_addr constant [17 x i8] c"i18n_permap_rows\00" @.str4371 = private unnamed_addr constant [54 x i8] c"build/cfree/selfhost.ludic:9827: index out of range: \00" @.str4372 = private unnamed_addr constant [54 x i8] c"build/cfree/selfhost.ludic:9828: index out of range: \00" @.str4373 = private unnamed_addr constant [54 x i8] c"build/cfree/selfhost.ludic:9829: index out of range: \00" @.str4374 = private unnamed_addr constant [6 x i8] c"maps.\00" @.str4375 = private unnamed_addr constant [2 x i8] c".\00" @.str4376 = private unnamed_addr constant [2 x i8] c".\00" @.str4377 = private unnamed_addr constant [54 x i8] c"build/cfree/selfhost.ludic:9829: index out of range: \00" @.str4378 = private unnamed_addr constant [54 x i8] c"build/cfree/selfhost.ludic:9836: index out of range: \00" @.str4379 = private unnamed_addr constant [16 x i8] c"i18n_field_init\00" @.str4380 = private unnamed_addr constant [54 x i8] c"build/cfree/selfhost.ludic:9846: index out of range: \00" @.str4381 = private unnamed_addr constant [14 x i8] c"i18n_data_rec\00" @.str4382 = private unnamed_addr constant [2 x i8] c".\00" @.str4383 = private unnamed_addr constant [59 x i8] c" (the derived key of a @Text field the row gives no value)\00" @.str4384 = private unnamed_addr constant [8 x i8] c"derived\00" @.str4385 = private unnamed_addr constant [59 x i8] c" (the derived key of a @Text field the row gives no value)\00" @.str4386 = private unnamed_addr constant [14 x i8] c"i18n_data_val\00" @.str4387 = private unnamed_addr constant [6 x i8] c" is \22\00" @.str4388 = private unnamed_addr constant [49 x i8] c"\22 in the data - its English goes to en.po under \00" @.str4389 = private unnamed_addr constant [54 x i8] c"build/cfree/selfhost.ludic:9882: index out of range: \00" @.str4390 = private unnamed_addr constant [2 x i8] c".\00" @.str4391 = private unnamed_addr constant [17 x i8] c"i18n_split_check\00" @.str4392 = private unnamed_addr constant [54 x i8] c"build/cfree/selfhost.ludic:9904: index out of range: \00" @.str4393 = private unnamed_addr constant [54 x i8] c"build/cfree/selfhost.ludic:9911: index out of range: \00" @.str4394 = private unnamed_addr constant [54 x i8] c"build/cfree/selfhost.ludic:9911: index out of range: \00" @.str4395 = private unnamed_addr constant [54 x i8] c"build/cfree/selfhost.ludic:9911: index out of range: \00" @.str4396 = private unnamed_addr constant [54 x i8] c"build/cfree/selfhost.ludic:9911: index out of range: \00" @.str4397 = private unnamed_addr constant [54 x i8] c"build/cfree/selfhost.ludic:9912: index out of range: \00" @.str4398 = private unnamed_addr constant [54 x i8] c"build/cfree/selfhost.ludic:9912: index out of range: \00" @.str4399 = private unnamed_addr constant [1 x i8] c"\00" @.str4400 = private unnamed_addr constant [3 x i8] c", \00" @.str4401 = private unnamed_addr constant [54 x i8] c"build/cfree/selfhost.ludic:9917: index out of range: \00" @.str4402 = private unnamed_addr constant [54 x i8] c"build/cfree/selfhost.ludic:9917: index out of range: \00" @.str4403 = private unnamed_addr constant [54 x i8] c"build/cfree/selfhost.ludic:9922: index out of range: \00" @.str4404 = private unnamed_addr constant [54 x i8] c"build/cfree/selfhost.ludic:9923: index out of range: \00" @.str4405 = private unnamed_addr constant [54 x i8] c"build/cfree/selfhost.ludic:9923: index out of range: \00" @.str4406 = private unnamed_addr constant [54 x i8] c"build/cfree/selfhost.ludic:9923: index out of range: \00" @.str4407 = private unnamed_addr constant [42 x i8] c" has no #. description, and its English \22\00" @.str4408 = private unnamed_addr constant [54 x i8] c"build/cfree/selfhost.ludic:9923: index out of range: \00" @.str4409 = private unnamed_addr constant [17 x i8] c"\22 is split into \00" @.str4410 = private unnamed_addr constant [8 x i8] c" keys (\00" @.str4411 = private unnamed_addr constant [62 x i8] c") - say where it appears, so a translator can tell them apart\00" @.str4412 = private unnamed_addr constant [54 x i8] c"build/cfree/selfhost.ludic:9948: index out of range: \00" @.str4413 = private unnamed_addr constant [20 x i8] c"i18n_walk_templates\00" @.str4414 = private unnamed_addr constant [54 x i8] c"build/cfree/selfhost.ludic:9949: index out of range: \00" @.str4415 = private unnamed_addr constant [54 x i8] c"build/cfree/selfhost.ludic:9949: index out of range: \00" @.str4416 = private unnamed_addr constant [8 x i8] c"xk_find\00" @.str4417 = private unnamed_addr constant [9 x i8] c"i18n_xml\00" @.str4418 = private unnamed_addr constant [4 x i8] c"!--\00" @.str4419 = private unnamed_addr constant [4 x i8] c"-->\00" @.str4420 = private unnamed_addr constant [2 x i8] c">\00" @.str4421 = private unnamed_addr constant [2 x i8] c">\00" @.str4422 = private unnamed_addr constant [22 x i8] c"a template's words (\22\00" @.str4423 = private unnamed_addr constant [8 x i8] c"xk_text\00" @.str4424 = private unnamed_addr constant [85 x i8] c"\22) - write {t('key')} and give en.po the English, or mark the element translate=\22no\22\00" @.str4425 = private unnamed_addr constant [14 x i8] c"xk_words_from\00" @.str4426 = private unnamed_addr constant [7 x i8] c"xk_tag\00" @.str4427 = private unnamed_addr constant [10 x i8] c"translate\00" @.str4428 = private unnamed_addr constant [3 x i8] c"no\00" @.str4429 = private unnamed_addr constant [55 x i8] c"build/cfree/selfhost.ludic:10129: index out of range: \00" @.str4430 = private unnamed_addr constant [55 x i8] c"build/cfree/selfhost.ludic:10129: index out of range: \00" @.str4431 = private unnamed_addr constant [55 x i8] c"build/cfree/selfhost.ludic:10129: index out of range: \00" @.str4432 = private unnamed_addr constant [6 x i8] c"class\00" @.str4433 = private unnamed_addr constant [3 x i8] c"id\00" @.str4434 = private unnamed_addr constant [4 x i8] c"src\00" @.str4435 = private unnamed_addr constant [6 x i8] c"style\00" @.str4436 = private unnamed_addr constant [5 x i8] c"icon\00" @.str4437 = private unnamed_addr constant [5 x i8] c"name\00" @.str4438 = private unnamed_addr constant [5 x i8] c"type\00" @.str4439 = private unnamed_addr constant [4 x i8] c"key\00" @.str4440 = private unnamed_addr constant [3 x i8] c"as\00" @.str4441 = private unnamed_addr constant [3 x i8] c"in\00" @.str4442 = private unnamed_addr constant [5 x i8] c"test\00" @.str4443 = private unnamed_addr constant [6 x i8] c"index\00" @.str4444 = private unnamed_addr constant [5 x i8] c"slot\00" @.str4445 = private unnamed_addr constant [7 x i8] c"export\00" @.str4446 = private unnamed_addr constant [6 x i8] c"color\00" @.str4447 = private unnamed_addr constant [3 x i8] c"bg\00" @.str4448 = private unnamed_addr constant [11 x i8] c"background\00" @.str4449 = private unnamed_addr constant [6 x i8] c"state\00" @.str4450 = private unnamed_addr constant [4 x i8] c"min\00" @.str4451 = private unnamed_addr constant [4 x i8] c"max\00" @.str4452 = private unnamed_addr constant [6 x i8] c"width\00" @.str4453 = private unnamed_addr constant [7 x i8] c"height\00" @.str4454 = private unnamed_addr constant [2 x i8] c"w\00" @.str4455 = private unnamed_addr constant [2 x i8] c"h\00" @.str4456 = private unnamed_addr constant [6 x i8] c"shade\00" @.str4457 = private unnamed_addr constant [5 x i8] c"rows\00" @.str4458 = private unnamed_addr constant [10 x i8] c"maxlength\00" @.str4459 = private unnamed_addr constant [8 x i8] c"checked\00" @.str4460 = private unnamed_addr constant [8 x i8] c"enabled\00" @.str4461 = private unnamed_addr constant [9 x i8] c"disabled\00" @.str4462 = private unnamed_addr constant [7 x i8] c"hidden\00" @.str4463 = private unnamed_addr constant [8 x i8] c"primary\00" @.str4464 = private unnamed_addr constant [9 x i8] c"selected\00" @.str4465 = private unnamed_addr constant [5 x i8] c"kind\00" @.str4466 = private unnamed_addr constant [10 x i8] c"translate\00" @.str4467 = private unnamed_addr constant [3 x i8] c"on\00" @.str4468 = private unnamed_addr constant [3 x i8] c"--\00" @.str4469 = private unnamed_addr constant [5 x i8] c"text\00" @.str4470 = private unnamed_addr constant [6 x i8] c"label\00" @.str4471 = private unnamed_addr constant [5 x i8] c"hint\00" @.str4472 = private unnamed_addr constant [6 x i8] c"title\00" @.str4473 = private unnamed_addr constant [8 x i8] c"caption\00" @.str4474 = private unnamed_addr constant [3 x i8] c"=\22\00" @.str4475 = private unnamed_addr constant [8 x i8] c"xk_attr\00" @.str4476 = private unnamed_addr constant [25 x i8] c"\22 in a template - write \00" @.str4477 = private unnamed_addr constant [41 x i8] c"=\22{t('key')}\22 and give en.po the English\00" @.str4478 = private unnamed_addr constant [8 x i8] c"xk_hole\00" @.str4479 = private unnamed_addr constant [2 x i8] c"'\00" @.str4480 = private unnamed_addr constant [74 x i8] c"' in a template's hole - a choice the player reads is a key too: t('key')\00" @.str4481 = private unnamed_addr constant [10 x i8] c"xk_t_call\00" @.str4482 = private unnamed_addr constant [4 x i8] c"t()\00" @.str4483 = private unnamed_addr constant [4 x i8] c"val\00" @.str4484 = private unnamed_addr constant [8 x i8] c"new Val\00" @.str4485 = private unnamed_addr constant [55 x i8] c"build/cfree/selfhost.ludic:10329: index out of range: \00" @.str4486 = private unnamed_addr constant [9 x i8] c"cov_slot\00" @.str4487 = private unnamed_addr constant [3 x i8] c" \00" @.str4488 = private unnamed_addr constant [53 x i8] c" = getelementptr inbounds i32, ptr @L_cov_hits, i32 \00" @.str4489 = private unnamed_addr constant [2 x i8] c"\0A\00" @.str4490 = private unnamed_addr constant [15 x i8] c"load i32, ptr \00" @.str4491 = private unnamed_addr constant [13 x i8] c"emit_cov_hit\00" @.str4492 = private unnamed_addr constant [9 x i8] c"add i32 \00" @.str4493 = private unnamed_addr constant [4 x i8] c", 1\00" @.str4494 = private unnamed_addr constant [13 x i8] c" store i32 \00" @.str4495 = private unnamed_addr constant [7 x i8] c", ptr \00" @.str4496 = private unnamed_addr constant [2 x i8] c"\0A\00" @.str4497 = private unnamed_addr constant [55 x i8] c"build/cfree/selfhost.ludic:10370: index out of range: \00" @.str4498 = private unnamed_addr constant [11 x i8] c"find_scene\00" @.str4499 = private unnamed_addr constant [55 x i8] c"build/cfree/selfhost.ludic:10370: index out of range: \00" @.str4500 = private unnamed_addr constant [3 x i8] c"%t\00" @.str4501 = private unnamed_addr constant [12 x i8] c"emit_alloca\00" @.str4502 = private unnamed_addr constant [3 x i8] c" \00" @.str4503 = private unnamed_addr constant [11 x i8] c" = alloca \00" @.str4504 = private unnamed_addr constant [2 x i8] c"\0A\00" @.str4505 = private unnamed_addr constant [3 x i8] c"%t\00" @.str4506 = private unnamed_addr constant [5 x i8] c"nreg\00" @.str4507 = private unnamed_addr constant [4 x i8] c"lbl\00" @.str4508 = private unnamed_addr constant [4 x i8] c"int\00" @.str4509 = private unnamed_addr constant [5 x i8] c"bool\00" @.str4510 = private unnamed_addr constant [6 x i8] c"fixed\00" @.str4511 = private unnamed_addr constant [7 x i8] c"entity\00" @.str4512 = private unnamed_addr constant [4 x i8] c"i32\00" @.str4513 = private unnamed_addr constant [4 x i8] c"i32\00" @.str4514 = private unnamed_addr constant [10 x i8] c"countdown\00" @.str4515 = private unnamed_addr constant [4 x i8] c"i32\00" @.str4516 = private unnamed_addr constant [5 x i8] c"long\00" @.str4517 = private unnamed_addr constant [4 x i8] c"i64\00" @.str4518 = private unnamed_addr constant [6 x i8] c"float\00" @.str4519 = private unnamed_addr constant [6 x i8] c"float\00" @.str4520 = private unnamed_addr constant [7 x i8] c"double\00" @.str4521 = private unnamed_addr constant [7 x i8] c"double\00" @.str4522 = private unnamed_addr constant [7 x i8] c"Vector\00" @.str4523 = private unnamed_addr constant [4 x i8] c"i64\00" @.str4524 = private unnamed_addr constant [6 x i8] c"IVec2\00" @.str4525 = private unnamed_addr constant [4 x i8] c"i64\00" @.str4526 = private unnamed_addr constant [5 x i8] c"Rect\00" @.str4527 = private unnamed_addr constant [5 x i8] c"i128\00" @.str4528 = private unnamed_addr constant [5 x i8] c"byte\00" @.str4529 = private unnamed_addr constant [3 x i8] c"i8\00" @.str4530 = private unnamed_addr constant [6 x i8] c"words\00" @.str4531 = private unnamed_addr constant [7 x i8] c"fixeds\00" @.str4532 = private unnamed_addr constant [9 x i8] c"pointers\00" @.str4533 = private unnamed_addr constant [7 x i8] c"floats\00" @.str4534 = private unnamed_addr constant [8 x i8] c"doubles\00" @.str4535 = private unnamed_addr constant [4 x i8] c"ptr\00" @.str4536 = private unnamed_addr constant [5 x i8] c"void\00" @.str4537 = private unnamed_addr constant [5 x i8] c"void\00" @.str4538 = private unnamed_addr constant [4 x i8] c"ptr\00" @.str4539 = private unnamed_addr constant [11 x i8] c"slice_elem\00" @.str4540 = private unnamed_addr constant [55 x i8] c"build/cfree/selfhost.ludic:10412: index out of range: \00" @.str4541 = private unnamed_addr constant [10 x i8] c"find_arch\00" @.str4542 = private unnamed_addr constant [9 x i8] c"ix_start\00" @.str4543 = private unnamed_addr constant [16 x i8] c"new [][]pointer\00" @.str4544 = private unnamed_addr constant [55 x i8] c"build/cfree/selfhost.ludic:10464: index out of range: \00" @.str4545 = private unnamed_addr constant [8 x i8] c"ix_slot\00" @.str4546 = private unnamed_addr constant [55 x i8] c"build/cfree/selfhost.ludic:10465: index out of range: \00" @.str4547 = private unnamed_addr constant [55 x i8] c"build/cfree/selfhost.ludic:10465: index out of range: \00" @.str4548 = private unnamed_addr constant [55 x i8] c"build/cfree/selfhost.ludic:10470: index out of range: \00" @.str4549 = private unnamed_addr constant [8 x i8] c"ix_sync\00" @.str4550 = private unnamed_addr constant [55 x i8] c"build/cfree/selfhost.ludic:10475: index out of range: \00" @.str4551 = private unnamed_addr constant [55 x i8] c"build/cfree/selfhost.ludic:10475: index out of range: \00" @.str4552 = private unnamed_addr constant [55 x i8] c"build/cfree/selfhost.ludic:10476: index out of range: \00" @.str4553 = private unnamed_addr constant [55 x i8] c"build/cfree/selfhost.ludic:10476: index out of range: \00" @.str4554 = private unnamed_addr constant [55 x i8] c"build/cfree/selfhost.ludic:10477: index out of range: \00" @.str4555 = private unnamed_addr constant [55 x i8] c"build/cfree/selfhost.ludic:10477: index out of range: \00" @.str4556 = private unnamed_addr constant [55 x i8] c"build/cfree/selfhost.ludic:10493: index out of range: \00" @.str4557 = private unnamed_addr constant [8 x i8] c"ix_find\00" @.str4558 = private unnamed_addr constant [55 x i8] c"build/cfree/selfhost.ludic:10493: index out of range: \00" @.str4559 = private unnamed_addr constant [55 x i8] c"build/cfree/selfhost.ludic:10504: index out of range: \00" @.str4560 = private unnamed_addr constant [10 x i8] c"find_comp\00" @.str4561 = private unnamed_addr constant [6 x i8] c"%Cmp_\00" @.str4562 = private unnamed_addr constant [10 x i8] c"layout_ty\00" @.str4563 = private unnamed_addr constant [55 x i8] c"build/cfree/selfhost.ludic:10514: index out of range: \00" @.str4564 = private unnamed_addr constant [12 x i8] c"field_index\00" @.str4565 = private unnamed_addr constant [55 x i8] c"build/cfree/selfhost.ludic:10519: index out of range: \00" @.str4566 = private unnamed_addr constant [11 x i8] c"field_type\00" @.str4567 = private unnamed_addr constant [55 x i8] c"build/cfree/selfhost.ludic:10519: index out of range: \00" @.str4568 = private unnamed_addr constant [4 x i8] c"int\00" @.str4569 = private unnamed_addr constant [55 x i8] c"build/cfree/selfhost.ludic:10529: index out of range: \00" @.str4570 = private unnamed_addr constant [12 x i8] c"find_global\00" @.str4571 = private unnamed_addr constant [55 x i8] c"build/cfree/selfhost.ludic:10545: index out of range: \00" @.str4572 = private unnamed_addr constant [13 x i8] c"enum_ordinal\00" @.str4573 = private unnamed_addr constant [55 x i8] c"build/cfree/selfhost.ludic:10550: index out of range: \00" @.str4574 = private unnamed_addr constant [55 x i8] c"build/cfree/selfhost.ludic:10553: index out of range: \00" @.str4575 = private unnamed_addr constant [10 x i8] c"EndReason\00" @.str4576 = private unnamed_addr constant [10 x i8] c"Despawned\00" @.str4577 = private unnamed_addr constant [10 x i8] c"SceneExit\00" @.str4578 = private unnamed_addr constant [5 x i8] c"Quit\00" @.str4579 = private unnamed_addr constant [55 x i8] c"build/cfree/selfhost.ludic:10571: index out of range: \00" @.str4580 = private unnamed_addr constant [13 x i8] c"is_bare_enum\00" @.str4581 = private unnamed_addr constant [55 x i8] c"build/cfree/selfhost.ludic:10576: index out of range: \00" @.str4582 = private unnamed_addr constant [12 x i8] c"find_prefab\00" @.str4583 = private unnamed_addr constant [55 x i8] c"build/cfree/selfhost.ludic:10581: index out of range: \00" @.str4584 = private unnamed_addr constant [12 x i8] c"has_prefabs\00" @.str4585 = private unnamed_addr constant [55 x i8] c"build/cfree/selfhost.ludic:10588: index out of range: \00" @.str4586 = private unnamed_addr constant [15 x i8] c"has_countdowns\00" @.str4587 = private unnamed_addr constant [55 x i8] c"build/cfree/selfhost.ludic:10589: index out of range: \00" @.str4588 = private unnamed_addr constant [10 x i8] c"countdown\00" @.str4589 = private unnamed_addr constant [55 x i8] c"build/cfree/selfhost.ludic:10598: index out of range: \00" @.str4590 = private unnamed_addr constant [8 x i8] c"find_fn\00" @.str4591 = private unnamed_addr constant [55 x i8] c"build/cfree/selfhost.ludic:10614: index out of range: \00" @.str4592 = private unnamed_addr constant [10 x i8] c"find_enum\00" @.str4593 = private unnamed_addr constant [55 x i8] c"build/cfree/selfhost.ludic:10619: index out of range: \00" @.str4594 = private unnamed_addr constant [15 x i8] c"enum_is_tagged\00" @.str4595 = private unnamed_addr constant [55 x i8] c"build/cfree/selfhost.ludic:10633: index out of range: \00" @.str4596 = private unnamed_addr constant [16 x i8] c"variant_ordinal\00" @.str4597 = private unnamed_addr constant [55 x i8] c"build/cfree/selfhost.ludic:10645: index out of range: \00" @.str4598 = private unnamed_addr constant [13 x i8] c"variant_enum\00" @.str4599 = private unnamed_addr constant [55 x i8] c"build/cfree/selfhost.ludic:10646: index out of range: \00" @.str4600 = private unnamed_addr constant [55 x i8] c"build/cfree/selfhost.ludic:10653: index out of range: \00" @.str4601 = private unnamed_addr constant [55 x i8] c"build/cfree/selfhost.ludic:10668: index out of range: \00" @.str4602 = private unnamed_addr constant [15 x i8] c"enum_max_arity\00" @.str4603 = private unnamed_addr constant [55 x i8] c"build/cfree/selfhost.ludic:10684: index out of range: \00" @.str4604 = private unnamed_addr constant [12 x i8] c"find_extern\00" @.str4605 = private unnamed_addr constant [2 x i8] c".\00" @.str4606 = private unnamed_addr constant [18 x i8] c"register_computed\00" @.str4607 = private unnamed_addr constant [2 x i8] c".\00" @.str4608 = private unnamed_addr constant [14 x i8] c"computed_expr\00" @.str4609 = private unnamed_addr constant [55 x i8] c"build/cfree/selfhost.ludic:10701: index out of range: \00" @.str4610 = private unnamed_addr constant [55 x i8] c"build/cfree/selfhost.ludic:10701: index out of range: \00" @.str4611 = private unnamed_addr constant [55 x i8] c"build/cfree/selfhost.ludic:10707: index out of range: \00" @.str4612 = private unnamed_addr constant [12 x i8] c"static_type\00" @.str4613 = private unnamed_addr constant [3 x i8] c"of\00" @.str4614 = private unnamed_addr constant [6 x i8] c"IVec2\00" @.str4615 = private unnamed_addr constant [5 x i8] c"make\00" @.str4616 = private unnamed_addr constant [5 x i8] c"zero\00" @.str4617 = private unnamed_addr constant [4 x i8] c"add\00" @.str4618 = private unnamed_addr constant [4 x i8] c"sub\00" @.str4619 = private unnamed_addr constant [6 x i8] c"scale\00" @.str4620 = private unnamed_addr constant [6 x i8] c"along\00" @.str4621 = private unnamed_addr constant [5 x i8] c"step\00" @.str4622 = private unnamed_addr constant [6 x i8] c"IVec2\00" @.str4623 = private unnamed_addr constant [4 x i8] c"Map\00" @.str4624 = private unnamed_addr constant [12 x i8] c"random_cell\00" @.str4625 = private unnamed_addr constant [16 x i8] c"random_cell_far\00" @.str4626 = private unnamed_addr constant [8 x i8] c"to_tile\00" @.str4627 = private unnamed_addr constant [6 x i8] c"IVec2\00" @.str4628 = private unnamed_addr constant [9 x i8] c"Collider\00" @.str4629 = private unnamed_addr constant [7 x i8] c"center\00" @.str4630 = private unnamed_addr constant [6 x i8] c"IVec2\00" @.str4631 = private unnamed_addr constant [6 x i8] c"Input\00" @.str4632 = private unnamed_addr constant [7 x i8] c"move_i\00" @.str4633 = private unnamed_addr constant [6 x i8] c"IVec2\00" @.str4634 = private unnamed_addr constant [55 x i8] c"build/cfree/selfhost.ludic:10719: index out of range: \00" @.str4635 = private unnamed_addr constant [2 x i8] c"_\00" @.str4636 = private unnamed_addr constant [55 x i8] c"build/cfree/selfhost.ludic:10733: index out of range: \00" @.str4637 = private unnamed_addr constant [3 x i8] c"[]\00" @.str4638 = private unnamed_addr constant [7 x i8] c"string\00" @.str4639 = private unnamed_addr constant [5 x i8] c"long\00" @.str4640 = private unnamed_addr constant [4 x i8] c"int\00" @.str4641 = private unnamed_addr constant [6 x i8] c"float\00" @.str4642 = private unnamed_addr constant [6 x i8] c"fixed\00" @.str4643 = private unnamed_addr constant [5 x i8] c"bool\00" @.str4644 = private unnamed_addr constant [17 x i8] c"register_onspawn\00" @.str4645 = private unnamed_addr constant [55 x i8] c"build/cfree/selfhost.ludic:10757: index out of range: \00" @.str4646 = private unnamed_addr constant [13 x i8] c"onspawn_body\00" @.str4647 = private unnamed_addr constant [55 x i8] c"build/cfree/selfhost.ludic:10757: index out of range: \00" @.str4648 = private unnamed_addr constant [19 x i8] c"register_ondespawn\00" @.str4649 = private unnamed_addr constant [55 x i8] c"build/cfree/selfhost.ludic:10775: index out of range: \00" @.str4650 = private unnamed_addr constant [15 x i8] c"ondespawn_body\00" @.str4651 = private unnamed_addr constant [55 x i8] c"build/cfree/selfhost.ludic:10775: index out of range: \00" @.str4652 = private unnamed_addr constant [18 x i8] c"register_onattach\00" @.str4653 = private unnamed_addr constant [55 x i8] c"build/cfree/selfhost.ludic:10783: index out of range: \00" @.str4654 = private unnamed_addr constant [14 x i8] c"onattach_body\00" @.str4655 = private unnamed_addr constant [55 x i8] c"build/cfree/selfhost.ludic:10783: index out of range: \00" @.str4656 = private unnamed_addr constant [18 x i8] c"register_ondetach\00" @.str4657 = private unnamed_addr constant [55 x i8] c"build/cfree/selfhost.ludic:10796: index out of range: \00" @.str4658 = private unnamed_addr constant [14 x i8] c"ondetach_body\00" @.str4659 = private unnamed_addr constant [55 x i8] c"build/cfree/selfhost.ludic:10796: index out of range: \00" @.str4660 = private unnamed_addr constant [18 x i8] c"register_onenable\00" @.str4661 = private unnamed_addr constant [19 x i8] c"register_ondisable\00" @.str4662 = private unnamed_addr constant [55 x i8] c"build/cfree/selfhost.ludic:10808: index out of range: \00" @.str4663 = private unnamed_addr constant [14 x i8] c"onenable_body\00" @.str4664 = private unnamed_addr constant [55 x i8] c"build/cfree/selfhost.ludic:10808: index out of range: \00" @.str4665 = private unnamed_addr constant [55 x i8] c"build/cfree/selfhost.ludic:10813: index out of range: \00" @.str4666 = private unnamed_addr constant [15 x i8] c"ondisable_body\00" @.str4667 = private unnamed_addr constant [55 x i8] c"build/cfree/selfhost.ludic:10813: index out of range: \00" @.str4668 = private unnamed_addr constant [15 x i8] c"register_event\00" @.str4669 = private unnamed_addr constant [55 x i8] c"build/cfree/selfhost.ludic:10830: index out of range: \00" @.str4670 = private unnamed_addr constant [11 x i8] c"find_event\00" @.str4671 = private unnamed_addr constant [55 x i8] c"build/cfree/selfhost.ludic:10830: index out of range: \00" @.str4672 = private unnamed_addr constant [18 x i8] c"register_onlisten\00" @.str4673 = private unnamed_addr constant [7 x i8] c"entity\00" @.str4674 = private unnamed_addr constant [4 x i8] c"int\00" @.str4675 = private unnamed_addr constant [13 x i8] c"ensure_event\00" @.str4676 = private unnamed_addr constant [7 x i8] c"reason\00" @.str4677 = private unnamed_addr constant [4 x i8] c"int\00" @.str4678 = private unnamed_addr constant [55 x i8] c"build/cfree/selfhost.ludic:10862: index out of range: \00" @.str4679 = private unnamed_addr constant [19 x i8] c"note_toggled_layer\00" @.str4680 = private unnamed_addr constant [55 x i8] c"build/cfree/selfhost.ludic:10867: index out of range: \00" @.str4681 = private unnamed_addr constant [17 x i8] c"is_toggled_layer\00" @.str4682 = private unnamed_addr constant [9 x i8] c"loc_push\00" @.str4683 = private unnamed_addr constant [55 x i8] c"build/cfree/selfhost.ludic:10887: index out of range: \00" @.str4684 = private unnamed_addr constant [55 x i8] c"build/cfree/selfhost.ludic:10887: index out of range: \00" @.str4685 = private unnamed_addr constant [55 x i8] c"build/cfree/selfhost.ludic:10887: index out of range: \00" @.str4686 = private unnamed_addr constant [55 x i8] c"build/cfree/selfhost.ludic:10887: index out of range: \00" @.str4687 = private unnamed_addr constant [55 x i8] c"build/cfree/selfhost.ludic:10890: index out of range: \00" @.str4688 = private unnamed_addr constant [55 x i8] c"build/cfree/selfhost.ludic:10894: index out of range: \00" @.str4689 = private unnamed_addr constant [18 x i8] c"loc_mark_declared\00" @.str4690 = private unnamed_addr constant [55 x i8] c"build/cfree/selfhost.ludic:10901: index out of range: \00" @.str4691 = private unnamed_addr constant [21 x i8] c"loc_check_redeclared\00" @.str4692 = private unnamed_addr constant [55 x i8] c"build/cfree/selfhost.ludic:10901: index out of range: \00" @.str4693 = private unnamed_addr constant [2 x i8] c"'\00" @.str4694 = private unnamed_addr constant [34 x i8] c"' is declared twice in this block\00" @.str4695 = private unnamed_addr constant [55 x i8] c"build/cfree/selfhost.ludic:10905: index out of range: \00" @.str4696 = private unnamed_addr constant [12 x i8] c"loc_set_mut\00" @.str4697 = private unnamed_addr constant [55 x i8] c"build/cfree/selfhost.ludic:10908: index out of range: \00" @.str4698 = private unnamed_addr constant [9 x i8] c"loc_find\00" @.str4699 = private unnamed_addr constant [12 x i8] c"fence_reset\00" @.str4700 = private unnamed_addr constant [2 x i8] c"?\00" @.str4701 = private unnamed_addr constant [5 x i8] c"@On(\00" @.str4702 = private unnamed_addr constant [55 x i8] c"build/cfree/selfhost.ludic:10977: index out of range: \00" @.str4703 = private unnamed_addr constant [18 x i8] c"fence_owner_index\00" @.str4704 = private unnamed_addr constant [55 x i8] c"build/cfree/selfhost.ludic:10984: index out of range: \00" @.str4705 = private unnamed_addr constant [17 x i8] c"fence_kind_const\00" @.str4706 = private unnamed_addr constant [55 x i8] c"build/cfree/selfhost.ludic:10984: index out of range: \00" @.str4707 = private unnamed_addr constant [55 x i8] c"build/cfree/selfhost.ludic:10987: index out of range: \00" @.str4708 = private unnamed_addr constant [2 x i8] c"?\00" @.str4709 = private unnamed_addr constant [10 x i8] c"emit_site\00" @.str4710 = private unnamed_addr constant [13 x i8] c" store i32 \00" @.str4711 = private unnamed_addr constant [16 x i8] c", ptr @lp_site\0A\00" @.str4712 = private unnamed_addr constant [14 x i8] c"call ptr @lp_\00" @.str4713 = private unnamed_addr constant [21 x i8] c"call ptr @lp_malloc(\00" @.str4714 = private unnamed_addr constant [6 x i8] c"alloc\00" @.str4715 = private unnamed_addr constant [21 x i8] c"call ptr @lp_calloc(\00" @.str4716 = private unnamed_addr constant [11 x i8] c"slice data\00" @.str4717 = private unnamed_addr constant [22 x i8] c"call ptr @lp_realloc(\00" @.str4718 = private unnamed_addr constant [5 x i8] c"grow\00" @.str4719 = private unnamed_addr constant [25 x i8] c"call ptr @lp_str_concat(\00" @.str4720 = private unnamed_addr constant [7 x i8] c"concat\00" @.str4721 = private unnamed_addr constant [22 x i8] c"call ptr @lp_int_str(\00" @.str4722 = private unnamed_addr constant [23 x i8] c"call ptr @lp_long_str(\00" @.str4723 = private unnamed_addr constant [10 x i8] c"string(n)\00" @.str4724 = private unnamed_addr constant [21 x i8] c"call ptr @lp_fp_str(\00" @.str4725 = private unnamed_addr constant [10 x i8] c"string(x)\00" @.str4726 = private unnamed_addr constant [24 x i8] c"call ptr @lp_str_slice(\00" @.str4727 = private unnamed_addr constant [10 x i8] c"substring\00" @.str4728 = private unnamed_addr constant [19 x i8] c"call ptr @lp_text_\00" @.str4729 = private unnamed_addr constant [5 x i8] c"Text\00" @.str4730 = private unnamed_addr constant [21 x i8] c"call ptr @lp_intern(\00" @.str4731 = private unnamed_addr constant [7 x i8] c"intern\00" @.str4732 = private unnamed_addr constant [28 x i8] c" store i8 1, ptr @lp_want\0A\00" @.str4733 = private unnamed_addr constant [14 x i8] c"call ptr @lp_\00" @.str4734 = private unnamed_addr constant [13 x i8] c"fence_callee\00" @.str4735 = private unnamed_addr constant [4 x i8] c"off\00" @.str4736 = private unnamed_addr constant [6 x i8] c"count\00" @.str4737 = private unnamed_addr constant [5 x i8] c"warn\00" @.str4738 = private unnamed_addr constant [5 x i8] c"fail\00" @.str4739 = private unnamed_addr constant [44 x i8] c"the fence is off, count, warn or fail, not \00" @.str4740 = private unnamed_addr constant [14 x i8] c"fence_mode_of\00" @.str4741 = private unnamed_addr constant [9 x i8] c"--fence=\00" @.str4742 = private unnamed_addr constant [11 x i8] c"fence_flag\00" @.str4743 = private unnamed_addr constant [14 x i8] c"--fence-warm=\00" @.str4744 = private unnamed_addr constant [16 x i8] c"--fence-census=\00" @.str4745 = private unnamed_addr constant [8 x i8] c"--arena\00" @.str4746 = private unnamed_addr constant [15 x i8] c"--arena-strict\00" @.str4747 = private unnamed_addr constant [2 x i8] c"/\00" @.str4748 = private unnamed_addr constant [15 x i8] c"fence_manifest\00" @.str4749 = private unnamed_addr constant [14 x i8] c"package.ludic\00" @.str4750 = private unnamed_addr constant [3 x i8] c"..\00" @.str4751 = private unnamed_addr constant [4 x i8] c"/..\00" @.str4752 = private unnamed_addr constant [20 x i8] c"fence_manifest_read\00" @.str4753 = private unnamed_addr constant [55 x i8] c"build/cfree/selfhost.ludic:11102: index out of range: \00" @.str4754 = private unnamed_addr constant [6 x i8] c"fence\00" @.str4755 = private unnamed_addr constant [55 x i8] c"build/cfree/selfhost.ludic:11102: index out of range: \00" @.str4756 = private unnamed_addr constant [55 x i8] c"build/cfree/selfhost.ludic:11103: index out of range: \00" @.str4757 = private unnamed_addr constant [6 x i8] c"fence\00" @.str4758 = private unnamed_addr constant [55 x i8] c"build/cfree/selfhost.ludic:11103: index out of range: \00" @.str4759 = private unnamed_addr constant [5 x i8] c"warm\00" @.str4760 = private unnamed_addr constant [55 x i8] c"build/cfree/selfhost.ludic:11103: index out of range: \00" @.str4761 = private unnamed_addr constant [55 x i8] c"build/cfree/selfhost.ludic:11104: index out of range: \00" @.str4762 = private unnamed_addr constant [6 x i8] c"fence\00" @.str4763 = private unnamed_addr constant [55 x i8] c"build/cfree/selfhost.ludic:11104: index out of range: \00" @.str4764 = private unnamed_addr constant [7 x i8] c"census\00" @.str4765 = private unnamed_addr constant [55 x i8] c"build/cfree/selfhost.ludic:11104: index out of range: \00" @.str4766 = private unnamed_addr constant [55 x i8] c"build/cfree/selfhost.ludic:11105: index out of range: \00" @.str4767 = private unnamed_addr constant [6 x i8] c"arena\00" @.str4768 = private unnamed_addr constant [55 x i8] c"build/cfree/selfhost.ludic:11105: index out of range: \00" @.str4769 = private unnamed_addr constant [3 x i8] c"on\00" @.str4770 = private unnamed_addr constant [55 x i8] c"build/cfree/selfhost.ludic:11106: index out of range: \00" @.str4771 = private unnamed_addr constant [6 x i8] c"arena\00" @.str4772 = private unnamed_addr constant [55 x i8] c"build/cfree/selfhost.ludic:11106: index out of range: \00" @.str4773 = private unnamed_addr constant [7 x i8] c"strict\00" @.str4774 = private unnamed_addr constant [5 x i8] c"play\00" @.str4775 = private unnamed_addr constant [7 x i8] c"rewarm\00" @.str4776 = private unnamed_addr constant [8 x i8] c"settled\00" @.str4777 = private unnamed_addr constant [5 x i8] c"over\00" @.str4778 = private unnamed_addr constant [5 x i8] c"scan\00" @.str4779 = private unnamed_addr constant [6 x i8] c"frame\00" @.str4780 = private unnamed_addr constant [5 x i8] c"kept\00" @.str4781 = private unnamed_addr constant [11 x i8] c"bad_frames\00" @.str4782 = private unnamed_addr constant [5 x i8] c"kept\00" @.str4783 = private unnamed_addr constant [24 x i8] c"call i64 @lp_mem_kept()\00" @.str4784 = private unnamed_addr constant [5 x i8] c"long\00" @.str4785 = private unnamed_addr constant [11 x i8] c"bad_frames\00" @.str4786 = private unnamed_addr constant [30 x i8] c"call i64 @lp_mem_bad_frames()\00" @.str4787 = private unnamed_addr constant [5 x i8] c"long\00" @.str4788 = private unnamed_addr constant [5 x i8] c"scan\00" @.str4789 = private unnamed_addr constant [24 x i8] c"call i64 @lp_mem_scan()\00" @.str4790 = private unnamed_addr constant [5 x i8] c"long\00" @.str4791 = private unnamed_addr constant [7 x i8] c"rewarm\00" @.str4792 = private unnamed_addr constant [28 x i8] c" call void @lp_mem_play()\0A\00" @.str4793 = private unnamed_addr constant [2 x i8] c"0\00" @.str4794 = private unnamed_addr constant [5 x i8] c"void\00" @.str4795 = private unnamed_addr constant [5 x i8] c"over\00" @.str4796 = private unnamed_addr constant [55 x i8] c"build/cfree/selfhost.ludic:11122: index out of range: \00" @.str4797 = private unnamed_addr constant [18 x i8] c"emit_mem_fence_ns\00" @.str4798 = private unnamed_addr constant [30 x i8] c" call void @lp_cap_over(ptr \00" @.str4799 = private unnamed_addr constant [17 x i8] c", i32 0, i32 0)\0A\00" @.str4800 = private unnamed_addr constant [2 x i8] c"0\00" @.str4801 = private unnamed_addr constant [5 x i8] c"void\00" @.str4802 = private unnamed_addr constant [21 x i8] c" call void @lp_mem_\00" @.str4803 = private unnamed_addr constant [4 x i8] c"()\0A\00" @.str4804 = private unnamed_addr constant [2 x i8] c"0\00" @.str4805 = private unnamed_addr constant [5 x i8] c"void\00" @.str4806 = private unnamed_addr constant [12 x i8] c" = global [\00" @.str4807 = private unnamed_addr constant [12 x i8] c"fence_table\00" @.str4808 = private unnamed_addr constant [4 x i8] c" x \00" @.str4809 = private unnamed_addr constant [4 x i8] c"] [\00" @.str4810 = private unnamed_addr constant [3 x i8] c", \00" @.str4811 = private unnamed_addr constant [2 x i8] c" \00" @.str4812 = private unnamed_addr constant [55 x i8] c"build/cfree/selfhost.ludic:11135: index out of range: \00" @.str4813 = private unnamed_addr constant [3 x i8] c"]\0A\00" @.str4814 = private unnamed_addr constant [37 x i8] c"declare i32 @fprintf(ptr, ptr, ...)\0A\00" @.str4815 = private unnamed_addr constant [26 x i8] c"declare i32 @atexit(ptr)\0A\00" @.str4816 = private unnamed_addr constant [60 x i8] c"declare extern_weak void @malloc_zone_statistics(ptr, ptr)\0A\00" @.str4817 = private unnamed_addr constant [49 x i8] c"declare ptr @mmap(ptr, i64, i32, i32, i32, i64)\0A\00" @.str4818 = private unnamed_addr constant [2 x i8] c"0\00" @.str4819 = private unnamed_addr constant [2 x i8] c"1\00" @.str4820 = private unnamed_addr constant [23 x i8] c"@lp_ardef = global i8 \00" @.str4821 = private unnamed_addr constant [19 x i8] c"emit_fence_runtime\00" @.str4822 = private unnamed_addr constant [2 x i8] c"\0A\00" @.str4823 = private unnamed_addr constant [55 x i8] c"build/cfree/selfhost.ludic:11159: index out of range: \00" @.str4824 = private unnamed_addr constant [10 x i8] c"(runtime)\00" @.str4825 = private unnamed_addr constant [55 x i8] c"build/cfree/selfhost.ludic:11159: index out of range: \00" @.str4826 = private unnamed_addr constant [10 x i8] c"(no site)\00" @.str4827 = private unnamed_addr constant [55 x i8] c"build/cfree/selfhost.ludic:11159: index out of range: \00" @.str4828 = private unnamed_addr constant [8 x i8] c"unsited\00" @.str4829 = private unnamed_addr constant [2 x i8] c"4\00" @.str4830 = private unnamed_addr constant [22 x i8] c"@lp_fdef = global i8 \00" @.str4831 = private unnamed_addr constant [2 x i8] c"\0A\00" @.str4832 = private unnamed_addr constant [23 x i8] c"@lp_warm = global i64 \00" @.str4833 = private unnamed_addr constant [2 x i8] c"\0A\00" @.str4834 = private unnamed_addr constant [34 x i8] c"@lp_census_def = global ptr null\0A\00" @.str4835 = private unnamed_addr constant [29 x i8] c"@lp_census_def = global ptr \00" @.str4836 = private unnamed_addr constant [2 x i8] c"\0A\00" @.str4837 = private unnamed_addr constant [25 x i8] c"@lp_site_n = global i32 \00" @.str4838 = private unnamed_addr constant [2 x i8] c"\0A\00" @.str4839 = private unnamed_addr constant [12 x i8] c"@lp_site_fn\00" @.str4840 = private unnamed_addr constant [4 x i8] c"ptr\00" @.str4841 = private unnamed_addr constant [14 x i8] c"@lp_site_file\00" @.str4842 = private unnamed_addr constant [4 x i8] c"ptr\00" @.str4843 = private unnamed_addr constant [14 x i8] c"@lp_site_kind\00" @.str4844 = private unnamed_addr constant [4 x i8] c"ptr\00" @.str4845 = private unnamed_addr constant [55 x i8] c"build/cfree/selfhost.ludic:11174: index out of range: \00" @.str4846 = private unnamed_addr constant [14 x i8] c"@lp_site_line\00" @.str4847 = private unnamed_addr constant [4 x i8] c"i32\00" @.str4848 = private unnamed_addr constant [25 x i8] c"@lp_site_live = global [\00" @.str4849 = private unnamed_addr constant [25 x i8] c" x i64] zeroinitializer\0A\00" @.str4850 = private unnamed_addr constant [25 x i8] c"@lp_site_mark = global [\00" @.str4851 = private unnamed_addr constant [25 x i8] c" x i64] zeroinitializer\0A\00" @.str4852 = private unnamed_addr constant [26 x i8] c"@lp_site_stamp = global [\00" @.str4853 = private unnamed_addr constant [25 x i8] c" x i64] zeroinitializer\0A\00" @.str4854 = private unnamed_addr constant [25 x i8] c"@lp_site_base = global [\00" @.str4855 = private unnamed_addr constant [25 x i8] c" x i64] zeroinitializer\0A\00" @.str4856 = private unnamed_addr constant [25 x i8] c"@lp_site_scan = global [\00" @.str4857 = private unnamed_addr constant [25 x i8] c" x i64] zeroinitializer\0A\00" @.str4858 = private unnamed_addr constant [26 x i8] c"@lp_site_dlive = global [\00" @.str4859 = private unnamed_addr constant [25 x i8] c" x i64] zeroinitializer\0A\00" @.str4860 = private unnamed_addr constant [26 x i8] c"@lp_site_dbase = global [\00" @.str4861 = private unnamed_addr constant [25 x i8] c" x i64] zeroinitializer\0A\00" @.str4862 = private unnamed_addr constant [24 x i8] c"@lp_site_dhw = global [\00" @.str4863 = private unnamed_addr constant [25 x i8] c" x i64] zeroinitializer\0A\00" @.str4864 = private unnamed_addr constant [26 x i8] c"@lp_site_drise = global [\00" @.str4865 = private unnamed_addr constant [25 x i8] c" x i64] zeroinitializer\0A\00" @.str4866 = private unnamed_addr constant [55 x i8] c"build/cfree/selfhost.ludic:11187: index out of range: \00" @.str4867 = private unnamed_addr constant [15 x i8] c"@lp_site_owner\00" @.str4868 = private unnamed_addr constant [4 x i8] c"i32\00" @.str4869 = private unnamed_addr constant [55 x i8] c"build/cfree/selfhost.ludic:11191: index out of range: \00" @.str4870 = private unnamed_addr constant [5 x i8] c"null\00" @.str4871 = private unnamed_addr constant [15 x i8] c"@lp_owner_name\00" @.str4872 = private unnamed_addr constant [4 x i8] c"ptr\00" @.str4873 = private unnamed_addr constant [26 x i8] c"@lp_nowners = global i32 \00" @.str4874 = private unnamed_addr constant [2 x i8] c"\0A\00" @.str4875 = private unnamed_addr constant [4 x i8] c"@g_\00" @.str4876 = private unnamed_addr constant [55 x i8] c"build/cfree/selfhost.ludic:11197: index out of range: \00" @.str4877 = private unnamed_addr constant [5 x i8] c"null\00" @.str4878 = private unnamed_addr constant [10 x i8] c"@lp_roots\00" @.str4879 = private unnamed_addr constant [4 x i8] c"ptr\00" @.str4880 = private unnamed_addr constant [25 x i8] c"@lp_nroots = global i32 \00" @.str4881 = private unnamed_addr constant [2 x i8] c"\0A\00" @.str4882 = private unnamed_addr constant [23 x i8] c"@lp_site_ra = global [\00" @.str4883 = private unnamed_addr constant [25 x i8] c" x ptr] zeroinitializer\0A\00" @.str4884 = private unnamed_addr constant [2 x i8] c".\00" @.str4885 = private unnamed_addr constant [13 x i8] c"fence_cap_of\00" @.str4886 = private unnamed_addr constant [55 x i8] c"build/cfree/selfhost.ludic:11213: index out of range: \00" @.str4887 = private unnamed_addr constant [55 x i8] c"build/cfree/selfhost.ludic:11215: index out of range: \00" @.str4888 = private unnamed_addr constant [25 x i8] c"@lp_site = global i32 0\0A\00" @.str4889 = private unnamed_addr constant [24 x i8] c"@lp_want = global i8 0\0A\00" @.str4890 = private unnamed_addr constant [25 x i8] c"@lp_ar_on = global i8 0\0A\00" @.str4891 = private unnamed_addr constant [28 x i8] c"@lp_ar_tried = global i8 0\0A\00" @.str4892 = private unnamed_addr constant [26 x i8] c"@lp_ar_lo = global i64 0\0A\00" @.str4893 = private unnamed_addr constant [26 x i8] c"@lp_ar_hi = global i64 0\0A\00" @.str4894 = private unnamed_addr constant [27 x i8] c"@lp_ar_cur = global i64 0\0A\00" @.str4895 = private unnamed_addr constant [27 x i8] c"@lp_ar_end = global i64 0\0A\00" @.str4896 = private unnamed_addr constant [29 x i8] c"@lp_ar_which = global i64 0\0A\00" @.str4897 = private unnamed_addr constant [28 x i8] c"@lp_ar_half = global i64 0\0A\00" @.str4898 = private unnamed_addr constant [31 x i8] c"@lp_ar_main = global ptr null\0A\00" @.str4899 = private unnamed_addr constant [27 x i8] c"@lp_ar_hw0 = global i64 0\0A\00" @.str4900 = private unnamed_addr constant [27 x i8] c"@lp_ar_hw1 = global i64 0\0A\00" @.str4901 = private unnamed_addr constant [28 x i8] c"@lp_ar_check = global i8 0\0A\00" @.str4902 = private unnamed_addr constant [26 x i8] c"@lp_fdecl = global i32 0\0A\00" @.str4903 = private unnamed_addr constant [26 x i8] c"@lp_dlive = global i64 0\0A\00" @.str4904 = private unnamed_addr constant [27 x i8] c"@lp_mdlive = global i64 0\0A\00" @.str4905 = private unnamed_addr constant [27 x i8] c"@lp_sdlive = global i64 0\0A\00" @.str4906 = private unnamed_addr constant [27 x i8] c"@lp_dwin = global i64 600\0A\00" @.str4907 = private unnamed_addr constant [26 x i8] c"@lp_drise = global i64 6\0A\00" @.str4908 = private unnamed_addr constant [25 x i8] c"@lp_dunb = global i64 0\0A\00" @.str4909 = private unnamed_addr constant [22 x i8] c"@lp_ft = global i8 0\0A\00" @.str4910 = private unnamed_addr constant [22 x i8] c"@lp_fm = global i8 0\0A\00" @.str4911 = private unnamed_addr constant [22 x i8] c"@lp_fj = global i8 0\0A\00" @.str4912 = private unnamed_addr constant [23 x i8] c"@lp_fl = global i32 0\0A\00" @.str4913 = private unnamed_addr constant [27 x i8] c"@lp_tab = global ptr null\0A\00" @.str4914 = private unnamed_addr constant [28 x i8] c"@lp_tabmask = global i64 0\0A\00" @.str4915 = private unnamed_addr constant [25 x i8] c"@lp_tabn = global i64 0\0A\00" @.str4916 = private unnamed_addr constant [27 x i8] c"@lp_tabmax = global i64 0\0A\00" @.str4917 = private unnamed_addr constant [25 x i8] c"@lp_live = global i64 0\0A\00" @.str4918 = private unnamed_addr constant [24 x i8] c"@lp_pre = global i64 0\0A\00" @.str4919 = private unnamed_addr constant [25 x i8] c"@lp_made = global i64 0\0A\00" @.str4920 = private unnamed_addr constant [26 x i8] c"@lp_freed = global i64 0\0A\00" @.str4921 = private unnamed_addr constant [25 x i8] c"@lp_over = global i64 0\0A\00" @.str4922 = private unnamed_addr constant [27 x i8] c"@lp_overrep = global i8 0\0A\00" @.str4923 = private unnamed_addr constant [26 x i8] c"@lp_frame = global i64 0\0A\00" @.str4924 = private unnamed_addr constant [25 x i8] c"@lp_flat = global i64 0\0A\00" @.str4925 = private unnamed_addr constant [26 x i8] c"@lp_playf = global i64 0\0A\00" @.str4926 = private unnamed_addr constant [30 x i8] c"@lp_warm_max = global i64 -1\0A\00" @.str4927 = private unnamed_addr constant [25 x i8] c"@lp_fauto = global i8 1\0A\00" @.str4928 = private unnamed_addr constant [30 x i8] c"@lp_autoplay = global i64 -1\0A\00" @.str4929 = private unnamed_addr constant [26 x i8] c"@lp_mlive = global i64 0\0A\00" @.str4930 = private unnamed_addr constant [25 x i8] c"@lp_mpre = global i64 0\0A\00" @.str4931 = private unnamed_addr constant [26 x i8] c"@lp_mmade = global i64 0\0A\00" @.str4932 = private unnamed_addr constant [27 x i8] c"@lp_mfreed = global i64 0\0A\00" @.str4933 = private unnamed_addr constant [26 x i8] c"@lp_slive = global i64 0\0A\00" @.str4934 = private unnamed_addr constant [25 x i8] c"@lp_spre = global i64 0\0A\00" @.str4935 = private unnamed_addr constant [48 x i8] c"@lp_touch = global [512 x i32] zeroinitializer\0A\00" @.str4936 = private unnamed_addr constant [27 x i8] c"@lp_ntouch = global i32 0\0A\00" @.str4937 = private unnamed_addr constant [26 x i8] c"@lp_fkept = global i64 0\0A\00" @.str4938 = private unnamed_addr constant [25 x i8] c"@lp_fbad = global i64 0\0A\00" @.str4939 = private unnamed_addr constant [28 x i8] c"@lp_fjudged = global i64 0\0A\00" @.str4940 = private unnamed_addr constant [29 x i8] c"@lp_scan_at = global i64 -2\0A\00" @.str4941 = private unnamed_addr constant [33 x i8] c"@lp_visit_set = global ptr null\0A\00" @.str4942 = private unnamed_addr constant [26 x i8] c"@lp_vmask = global i64 0\0A\00" @.str4943 = private unnamed_addr constant [26 x i8] c"@lp_wl = global ptr null\0A\00" @.str4944 = private unnamed_addr constant [24 x i8] c"@lp_wln = global i64 0\0A\00" @.str4945 = private unnamed_addr constant [26 x i8] c"@lp_wlcap = global i64 0\0A\00" @.str4946 = private unnamed_addr constant [31 x i8] c"@lp_scan_bytes = global i64 0\0A\00" @.str4947 = private unnamed_addr constant [25 x i8] c"@lp_capn = global i64 0\0A\00" @.str4948 = private unnamed_addr constant [25 x i8] c"@lp_zset = global i64 0\0A\00" @.str4949 = private unnamed_addr constant [25 x i8] c"@lp_jset = global i64 0\0A\00" @.str4950 = private unnamed_addr constant [25 x i8] c"@lp_vset = global i64 0\0A\00" @.str4951 = private unnamed_addr constant [30 x i8] c"@lp_census = global ptr null\0A\00" @.str4952 = private unnamed_addr constant [43 x i8] c"declare extern_weak i64 @malloc_size(ptr)\0A\00" @.str4953 = private unnamed_addr constant [37 x i8] c"declare i32 @dprintf(i32, ptr, ...)\0A\00" @.str4954 = private unnamed_addr constant [42 x i8] c"declare i32 @_Unwind_Backtrace(ptr, ptr)\0A\00" @.str4955 = private unnamed_addr constant [33 x i8] c"declare i64 @_Unwind_GetIP(ptr)\0A\00" @.str4956 = private unnamed_addr constant [31 x i8] c"declare i32 @dladdr(ptr, ptr)\0A\00" @.str4957 = private unnamed_addr constant [30 x i8] c"declare ptr @dlsym(ptr, ptr)\0A\00" @.str4958 = private unnamed_addr constant [29 x i8] c"declare ptr @pthread_self()\0A\00" @.str4959 = private unnamed_addr constant [75 x i8] c"@.lpf_env = private unnamed_addr constant [16 x i8] c\22R3D_ALLOC_FENCE\5C00\22\0A\00" @.str4960 = private unnamed_addr constant [75 x i8] c"@.lpf_warm = private unnamed_addr constant [15 x i8] c\22R3D_ALLOC_WARM\5C00\22\0A\00" @.str4961 = private unnamed_addr constant [75 x i8] c"@.lpf_play = private unnamed_addr constant [15 x i8] c\22R3D_ALLOC_PLAY\5C00\22\0A\00" @.str4962 = private unnamed_addr constant [75 x i8] c"@.lpf_tab = private unnamed_addr constant [16 x i8] c\22R3D_ALLOC_TABLE\5C00\22\0A\00" @.str4963 = private unnamed_addr constant [66 x i8] c"@.lpf_dev = private unnamed_addr constant [8 x i8] c\22R3D_DEV\5C00\22\0A\00" @.str4964 = private unnamed_addr constant [62 x i8] c"@.lpf_off = private unnamed_addr constant [4 x i8] c\22off\5C00\22\0A\00" @.str4965 = private unnamed_addr constant [66 x i8] c"@.lpf_count = private unnamed_addr constant [6 x i8] c\22count\5C00\22\0A\00" @.str4966 = private unnamed_addr constant [64 x i8] c"@.lpf_warn = private unnamed_addr constant [5 x i8] c\22warn\5C00\22\0A\00" @.str4967 = private unnamed_addr constant [64 x i8] c"@.lpf_fail = private unnamed_addr constant [5 x i8] c\22fail\5C00\22\0A\00" @.str4968 = private unnamed_addr constant [123 x i8] c"@.lpf_hdr = private unnamed_addr constant [62 x i8] c\22alloc-fence: frame %lld kept %+lld B (%lld made, %lld freed)\5C0A\5C00\22\0A\00" @.str4969 = private unnamed_addr constant [87 x i8] c"@.lpf_row = private unnamed_addr constant [26 x i8] c\22 %+lld B %s %s:%d %s\5C0A\5C00\22\0A\00" @.str4970 = private unnamed_addr constant [83 x i8] c"@.lpf_more = private unnamed_addr constant [21 x i8] c\22 ... and %lld more\5C0A\5C00\22\0A\00" @.str4971 = private unnamed_addr constant [133 x i8] c"@.lpf_full = private unnamed_addr constant [71 x i8] c\22alloc-fence: %s is full - it stops keeping and makes a copy each time\5C0A\5C00\22\0A\00" @.str4972 = private unnamed_addr constant [71 x i8] c"@.lpf_arena = private unnamed_addr constant [10 x i8] c\22R3D_ARENA\5C00\22\0A\00" @.str4973 = private unnamed_addr constant [76 x i8] c"@.lpf_arenamb = private unnamed_addr constant [13 x i8] c\22R3D_ARENA_MB\5C00\22\0A\00" @.str4974 = private unnamed_addr constant [79 x i8] c"@.lpf_archeck = private unnamed_addr constant [16 x i8] c\22R3D_ARENA_CHECK\5C00\22\0A\00" @.str4975 = private unnamed_addr constant [122 x i8] c"@.lpf_car = private unnamed_addr constant [61 x i8] c\22arena %lld %lld (each frame arena's high-water mark, bytes)\5C0A\5C00\22\0A\00" @.str4976 = private unnamed_addr constant [119 x i8] c"@.lpf_capover = private unnamed_addr constant [54 x i8] c\22alloc-fence: %s grew past its @max(%d) (it holds %d)\5C0A\5C00\22\0A\00" @.str4977 = private unnamed_addr constant [143 x i8] c"@.lpf_capfail = private unnamed_addr constant [78 x i8] c\22alloc-fence: failing the run (R3D_ALLOC_FENCE=fail): a capacity is a promise\5C0A\5C00\22\0A\00" @.str4978 = private unnamed_addr constant [118 x i8] c"@.lpf_ccap = private unnamed_addr constant [56 x i8] c\22overflows %lld (a list past its @max, or a table full)\5C0A\5C00\22\0A\00" @.str4979 = private unnamed_addr constant [75 x i8] c"@.lpf_scan = private unnamed_addr constant [15 x i8] c\22R3D_ALLOC_SCAN\5C00\22\0A\00" @.str4980 = private unnamed_addr constant [82 x i8] c"@.lpf_scantop = private unnamed_addr constant [19 x i8] c\22R3D_ALLOC_SCAN_TOP\5C00\22\0A\00" @.str4981 = private unnamed_addr constant [84 x i8] c"@.lpf_scanfile = private unnamed_addr constant [20 x i8] c\22R3D_ALLOC_SCAN_FILE\5C00\22\0A\00" @.str4982 = private unnamed_addr constant [81 x i8] c"@.lpf_sfrow = private unnamed_addr constant [18 x i8] c\22%lld %s %s:%d %s\5C0A\5C00\22\0A\00" @.str4983 = private unnamed_addr constant [58 x i8] c"@.lpf_a = private unnamed_addr constant [2 x i8] c\22a\5C00\22\0A\00" @.str4984 = private unnamed_addr constant [79 x i8] c"@.lpf_exitscan = private unnamed_addr constant [15 x i8] c\22R3D_ALLOC_EXIT\5C00\22\0A\00" @.str4985 = private unnamed_addr constant [179 x i8] c"@.lpf_shdr = private unnamed_addr constant [116 x i8] c\22alloc-scan: frame %lld - %lld bytes in %lld blocks made since tracking began are reachable from no global or state\5C0A\5C00\22\0A\00" @.str4986 = private unnamed_addr constant [87 x i8] c"@.lpf_srow = private unnamed_addr constant [25 x i8] c\22 %lld B %s %s:%d %s\5C0A\5C00\22\0A\00" @.str4987 = private unnamed_addr constant [111 x i8] c"@.lpf_cown = private unnamed_addr constant [49 x i8] c\22owner %s holds %lld (%+lld since judging began)\5C0A\5C00\22\0A\00" @.str4988 = private unnamed_addr constant [118 x i8] c"@.lpf_failing = private unnamed_addr constant [53 x i8] c\22alloc-fence: failing the run (R3D_ALLOC_FENCE=fail)\5C0A\5C00\22\0A\00" @.str4989 = private unnamed_addr constant [79 x i8] c"@.lpf_census = private unnamed_addr constant [17 x i8] c\22R3D_ALLOC_CENSUS\5C00\22\0A\00" @.str4990 = private unnamed_addr constant [82 x i8] c"@.lpf_warmmax = private unnamed_addr constant [19 x i8] c\22R3D_ALLOC_WARM_MAX\5C00\22\0A\00" @.str4991 = private unnamed_addr constant [75 x i8] c"@.lpf_auto = private unnamed_addr constant [15 x i8] c\22R3D_ALLOC_AUTO\5C00\22\0A\00" @.str4992 = private unnamed_addr constant [58 x i8] c"@.lpf_w = private unnamed_addr constant [2 x i8] c\22w\5C00\22\0A\00" @.str4993 = private unnamed_addr constant [138 x i8] c"@.lpf_chdr = private unnamed_addr constant [76 x i8] c\22alloc-census frames %lld bad %lld kept %lld made %lld freed %lld over %lld\5C0A\5C00\22\0A\00" @.str4994 = private unnamed_addr constant [179 x i8] c"@.lpf_cnat = private unnamed_addr constant [116 x i8] c\22native %lld (the heap outside Ludic's blocks and the counted libraries, since judging began: drivers, Metal, libc)\5C0A\5C00\22\0A\00" @.str4995 = private unnamed_addr constant [121 x i8] c"@.lpf_cdecl = private unnamed_addr constant [58 x i8] c\22declared %lld (kept under @alloc_ok since judging began)\5C0A\5C00\22\0A\00" @.str4996 = private unnamed_addr constant [131 x i8] c"@.lpf_cjolt = private unnamed_addr constant [68 x i8] c\22jolt %lld peak %lld (since judging began, and its high-water mark)\5C0A\5C00\22\0A\00" @.str4997 = private unnamed_addr constant [144 x i8] c"@.lpf_cvk = private unnamed_addr constant [83 x i8] c\22vulkan %lld peak %lld (host memory through VkAllocationCallbacks, R3D_ALLOC_VK=1)\5C0A\5C00\22\0A\00" @.str4998 = private unnamed_addr constant [73 x i8] c"@.lpf_jb = private unnamed_addr constant [15 x i8] c\22jph_heap_bytes\5C00\22\0A\00" @.str4999 = private unnamed_addr constant [72 x i8] c"@.lpf_jp = private unnamed_addr constant [14 x i8] c\22jph_heap_peak\5C00\22\0A\00" @.str5000 = private unnamed_addr constant [71 x i8] c"@.lpf_vb = private unnamed_addr constant [13 x i8] c\22lvk_ac_bytes\5C00\22\0A\00" @.str5001 = private unnamed_addr constant [70 x i8] c"@.lpf_vp = private unnamed_addr constant [12 x i8] c\22lvk_ac_peak\5C00\22\0A\00" @.str5002 = private unnamed_addr constant [85 x i8] c"@.lpf_crow = private unnamed_addr constant [23 x i8] c\22site %lld %s %s:%d %s\5C0A\5C00\22\0A\00" @.str5003 = private unnamed_addr constant [77 x i8] c"@.lpf_from = private unnamed_addr constant [15 x i8] c\22 from %s\5C0A\5C00\22\0A\00" @.str5004 = private unnamed_addr constant [74 x i8] c"@.lpf_cfrom = private unnamed_addr constant [11 x i8] c\22 from %s\5C0A\5C00\22\0A\00" @.str5005 = private unnamed_addr constant [61 x i8] c"@.lpf_lp = private unnamed_addr constant [4 x i8] c\22lp_\5C00\22\0A\00" @.str5006 = private unnamed_addr constant [75 x i8] c"@.lpf_dwin = private unnamed_addr constant [15 x i8] c\22R3D_ALLOC_DWIN\5C00\22\0A\00" @.str5007 = private unnamed_addr constant [79 x i8] c"@.lpf_rewarm = private unnamed_addr constant [17 x i8] c\22R3D_ALLOC_REWARM\5C00\22\0A\00" @.str5008 = private unnamed_addr constant [77 x i8] c"@.lpf_drise = private unnamed_addr constant [16 x i8] c\22R3D_ALLOC_DRISE\5C00\22\0A\00" @.str5009 = private unnamed_addr constant [222 x i8] c"@.lpf_dunb = private unnamed_addr constant [159 x i8] c\22alloc-fence: frame %lld: declared but unbounded - @alloc_ok memory still rising after %lld windows of %lld frames (the reason says bounded; this site is not)\5C0A\5C00\22\0A\00" @.str5010 = private unnamed_addr constant [171 x i8] c"@.lpf_cdunb = private unnamed_addr constant [107 x i8] c\22unbounded %lld (declared sites whose bytes kept rising: R3D_ALLOC_DRISE windows of R3D_ALLOC_DWIN frames)\5C0A\5C00\22\0A\00" @.str5011 = private unnamed_addr constant [87 x i8] c"@.lpf_cdrow = private unnamed_addr constant [24 x i8] c\22dsite %lld %s %s:%d %s\5C0A\5C00\22\0A\00" @.str5012 = private unnamed_addr constant [101 x i8] c"; the four entry points. Off: one load of the fence and the scratch request, one branch, then libc.\0A\00" @.str5013 = private unnamed_addr constant [97 x i8] c"; @lp_want is raised by the emitter around an allocation of a LOCAL site (25.3): it goes to the\0A\00" @.str5014 = private unnamed_addr constant [74 x i8] c"; frame's scratch arena, and lp_free hands an arena block back to nobody\0A\00" @.str5015 = private unnamed_addr constant [40 x i8] c"define internal ptr @lp_heap(i64 %n) {\0A\00" @.str5016 = private unnamed_addr constant [8 x i8] c"entry:\0A\00" @.str5017 = private unnamed_addr constant [28 x i8] c" %t = load i8, ptr @lp_ft\0A\00" @.str5018 = private unnamed_addr constant [26 x i8] c" %on = icmp ne i8 %t, 0\0A\00" @.str5019 = private unnamed_addr constant [39 x i8] c" br i1 %on, label %slow, label %fast\0A\00" @.str5020 = private unnamed_addr constant [7 x i8] c"fast:\0A\00" @.str5021 = private unnamed_addr constant [38 x i8] c" %p = tail call ptr @malloc(i64 %n)\0A\00" @.str5022 = private unnamed_addr constant [14 x i8] c" ret ptr %p\0A\00" @.str5023 = private unnamed_addr constant [7 x i8] c"slow:\0A\00" @.str5024 = private unnamed_addr constant [33 x i8] c" %q = call ptr @malloc(i64 %n)\0A\00" @.str5025 = private unnamed_addr constant [38 x i8] c" call void @lp_fadd(ptr %q, i64 %n)\0A\00" @.str5026 = private unnamed_addr constant [14 x i8] c" ret ptr %q\0A\00" @.str5027 = private unnamed_addr constant [3 x i8] c"}\0A\00" @.str5028 = private unnamed_addr constant [33 x i8] c"define ptr @lp_malloc(i64 %n) {\0A\00" @.str5029 = private unnamed_addr constant [8 x i8] c"entry:\0A\00" @.str5030 = private unnamed_addr constant [28 x i8] c" %t = load i8, ptr @lp_ft\0A\00" @.str5031 = private unnamed_addr constant [30 x i8] c" %w = load i8, ptr @lp_want\0A\00" @.str5032 = private unnamed_addr constant [21 x i8] c" %o = or i8 %t, %w\0A\00" @.str5033 = private unnamed_addr constant [26 x i8] c" %on = icmp ne i8 %o, 0\0A\00" @.str5034 = private unnamed_addr constant [39 x i8] c" br i1 %on, label %slow, label %fast\0A\00" @.str5035 = private unnamed_addr constant [7 x i8] c"fast:\0A\00" @.str5036 = private unnamed_addr constant [38 x i8] c" %p = tail call ptr @malloc(i64 %n)\0A\00" @.str5037 = private unnamed_addr constant [14 x i8] c" ret ptr %p\0A\00" @.str5038 = private unnamed_addr constant [7 x i8] c"slow:\0A\00" @.str5039 = private unnamed_addr constant [26 x i8] c" %wq = icmp ne i8 %w, 0\0A\00" @.str5040 = private unnamed_addr constant [42 x i8] c" br i1 %wq, label %scratch, label %heap\0A\00" @.str5041 = private unnamed_addr constant [10 x i8] c"scratch:\0A\00" @.str5042 = private unnamed_addr constant [28 x i8] c" store i8 0, ptr @lp_want\0A\00" @.str5043 = private unnamed_addr constant [37 x i8] c" %s = call ptr @lp_scratch(i64 %n)\0A\00" @.str5044 = private unnamed_addr constant [14 x i8] c" ret ptr %s\0A\00" @.str5045 = private unnamed_addr constant [7 x i8] c"heap:\0A\00" @.str5046 = private unnamed_addr constant [33 x i8] c" %q = call ptr @malloc(i64 %n)\0A\00" @.str5047 = private unnamed_addr constant [38 x i8] c" call void @lp_fadd(ptr %q, i64 %n)\0A\00" @.str5048 = private unnamed_addr constant [14 x i8] c" ret ptr %q\0A\00" @.str5049 = private unnamed_addr constant [3 x i8] c"}\0A\00" @.str5050 = private unnamed_addr constant [41 x i8] c"define ptr @lp_calloc(i64 %n, i64 %s) {\0A\00" @.str5051 = private unnamed_addr constant [8 x i8] c"entry:\0A\00" @.str5052 = private unnamed_addr constant [28 x i8] c" %t = load i8, ptr @lp_ft\0A\00" @.str5053 = private unnamed_addr constant [30 x i8] c" %w = load i8, ptr @lp_want\0A\00" @.str5054 = private unnamed_addr constant [21 x i8] c" %o = or i8 %t, %w\0A\00" @.str5055 = private unnamed_addr constant [26 x i8] c" %on = icmp ne i8 %o, 0\0A\00" @.str5056 = private unnamed_addr constant [39 x i8] c" br i1 %on, label %slow, label %fast\0A\00" @.str5057 = private unnamed_addr constant [7 x i8] c"fast:\0A\00" @.str5058 = private unnamed_addr constant [46 x i8] c" %p = tail call ptr @calloc(i64 %n, i64 %s)\0A\00" @.str5059 = private unnamed_addr constant [14 x i8] c" ret ptr %p\0A\00" @.str5060 = private unnamed_addr constant [7 x i8] c"slow:\0A\00" @.str5061 = private unnamed_addr constant [23 x i8] c" %b = mul i64 %n, %s\0A\00" @.str5062 = private unnamed_addr constant [26 x i8] c" %wq = icmp ne i8 %w, 0\0A\00" @.str5063 = private unnamed_addr constant [42 x i8] c" br i1 %wq, label %scratch, label %heap\0A\00" @.str5064 = private unnamed_addr constant [10 x i8] c"scratch:\0A\00" @.str5065 = private unnamed_addr constant [28 x i8] c" store i8 0, ptr @lp_want\0A\00" @.str5066 = private unnamed_addr constant [37 x i8] c" %z = call ptr @lp_scratch(i64 %b)\0A\00" @.str5067 = private unnamed_addr constant [43 x i8] c" call ptr @memset(ptr %z, i32 0, i64 %b)\0A\00" @.str5068 = private unnamed_addr constant [14 x i8] c" ret ptr %z\0A\00" @.str5069 = private unnamed_addr constant [7 x i8] c"heap:\0A\00" @.str5070 = private unnamed_addr constant [41 x i8] c" %q = call ptr @calloc(i64 %n, i64 %s)\0A\00" @.str5071 = private unnamed_addr constant [38 x i8] c" call void @lp_fadd(ptr %q, i64 %b)\0A\00" @.str5072 = private unnamed_addr constant [14 x i8] c" ret ptr %q\0A\00" @.str5073 = private unnamed_addr constant [3 x i8] c"}\0A\00" @.str5074 = private unnamed_addr constant [42 x i8] c"define ptr @lp_realloc(ptr %o, i64 %n) {\0A\00" @.str5075 = private unnamed_addr constant [8 x i8] c"entry:\0A\00" @.str5076 = private unnamed_addr constant [28 x i8] c" %t = load i8, ptr @lp_ft\0A\00" @.str5077 = private unnamed_addr constant [30 x i8] c" %w = load i8, ptr @lp_want\0A\00" @.str5078 = private unnamed_addr constant [31 x i8] c" %x = ptrtoint ptr %o to i64\0A\00" @.str5079 = private unnamed_addr constant [33 x i8] c" %lo = load i64, ptr @lp_ar_lo\0A\00" @.str5080 = private unnamed_addr constant [33 x i8] c" %hi = load i64, ptr @lp_ar_hi\0A\00" @.str5081 = private unnamed_addr constant [30 x i8] c" %ge = icmp uge i64 %x, %lo\0A\00" @.str5082 = private unnamed_addr constant [30 x i8] c" %lt = icmp ult i64 %x, %hi\0A\00" @.str5083 = private unnamed_addr constant [27 x i8] c" %inar = and i1 %ge, %lt\0A\00" @.str5084 = private unnamed_addr constant [22 x i8] c" %o1 = or i8 %t, %w\0A\00" @.str5085 = private unnamed_addr constant [29 x i8] c" %some = icmp ne i8 %o1, 0\0A\00" @.str5086 = private unnamed_addr constant [28 x i8] c" %on = or i1 %some, %inar\0A\00" @.str5087 = private unnamed_addr constant [39 x i8] c" br i1 %on, label %slow, label %fast\0A\00" @.str5088 = private unnamed_addr constant [7 x i8] c"fast:\0A\00" @.str5089 = private unnamed_addr constant [47 x i8] c" %p = tail call ptr @realloc(ptr %o, i64 %n)\0A\00" @.str5090 = private unnamed_addr constant [14 x i8] c" ret ptr %p\0A\00" @.str5091 = private unnamed_addr constant [7 x i8] c"slow:\0A\00" @.str5092 = private unnamed_addr constant [38 x i8] c" %in = call i1 @lp_in_arena(ptr %o)\0A\00" @.str5093 = private unnamed_addr constant [26 x i8] c" %wq = icmp ne i8 %w, 0\0A\00" @.str5094 = private unnamed_addr constant [26 x i8] c" %move = or i1 %in, %wq\0A\00" @.str5095 = private unnamed_addr constant [44 x i8] c" br i1 %move, label %scratch, label %heap\0A\00" @.str5096 = private unnamed_addr constant [10 x i8] c"scratch:\0A\00" @.str5097 = private unnamed_addr constant [28 x i8] c" store i8 0, ptr @lp_want\0A\00" @.str5098 = private unnamed_addr constant [37 x i8] c" %q = call ptr @lp_scratch(i64 %n)\0A\00" @.str5099 = private unnamed_addr constant [32 x i8] c" %none = icmp eq ptr %o, null\0A\00" @.str5100 = private unnamed_addr constant [41 x i8] c" br i1 %none, label %done, label %copy\0A\00" @.str5101 = private unnamed_addr constant [7 x i8] c"copy:\0A\00" @.str5102 = private unnamed_addr constant [43 x i8] c" br i1 %in, label %oldar, label %oldheap\0A\00" @.str5103 = private unnamed_addr constant [8 x i8] c"oldar:\0A\00" @.str5104 = private unnamed_addr constant [43 x i8] c" %hp = getelementptr i8, ptr %o, i64 -16\0A\00" @.str5105 = private unnamed_addr constant [28 x i8] c" %osz = load i64, ptr %hp\0A\00" @.str5106 = private unnamed_addr constant [16 x i8] c" br label %cp\0A\00" @.str5107 = private unnamed_addr constant [10 x i8] c"oldheap:\0A\00" @.str5108 = private unnamed_addr constant [41 x i8] c" %has = icmp ne ptr @malloc_size, null\0A\00" @.str5109 = private unnamed_addr constant [37 x i8] c" br i1 %has, label %msz, label %cp\0A\00" @.str5110 = private unnamed_addr constant [6 x i8] c"msz:\0A\00" @.str5111 = private unnamed_addr constant [40 x i8] c" %hsz = call i64 @malloc_size(ptr %o)\0A\00" @.str5112 = private unnamed_addr constant [16 x i8] c" br label %cp\0A\00" @.str5113 = private unnamed_addr constant [5 x i8] c"cp:\0A\00" @.str5114 = private unnamed_addr constant [68 x i8] c" %old = phi i64 [ %osz, %oldar ], [ 0, %oldheap ], [ %hsz, %msz ]\0A\00" @.str5115 = private unnamed_addr constant [33 x i8] c" %less = icmp ult i64 %old, %n\0A\00" @.str5116 = private unnamed_addr constant [42 x i8] c" %c = select i1 %less, i64 %old, i64 %n\0A\00" @.str5117 = private unnamed_addr constant [44 x i8] c" call ptr @memcpy(ptr %q, ptr %o, i64 %c)\0A\00" @.str5118 = private unnamed_addr constant [41 x i8] c" br i1 %in, label %done, label %givebk\0A\00" @.str5119 = private unnamed_addr constant [9 x i8] c"givebk:\0A\00" @.str5120 = private unnamed_addr constant [30 x i8] c" call void @lp_free(ptr %o)\0A\00" @.str5121 = private unnamed_addr constant [18 x i8] c" br label %done\0A\00" @.str5122 = private unnamed_addr constant [7 x i8] c"done:\0A\00" @.str5123 = private unnamed_addr constant [14 x i8] c" ret ptr %q\0A\00" @.str5124 = private unnamed_addr constant [7 x i8] c"heap:\0A\00" @.str5125 = private unnamed_addr constant [26 x i8] c" %tq = icmp ne i8 %t, 0\0A\00" @.str5126 = private unnamed_addr constant [43 x i8] c" br i1 %tq, label %tracked, label %plain\0A\00" @.str5127 = private unnamed_addr constant [8 x i8] c"plain:\0A\00" @.str5128 = private unnamed_addr constant [47 x i8] c" %r = tail call ptr @realloc(ptr %o, i64 %n)\0A\00" @.str5129 = private unnamed_addr constant [14 x i8] c" ret ptr %r\0A\00" @.str5130 = private unnamed_addr constant [10 x i8] c"tracked:\0A\00" @.str5131 = private unnamed_addr constant [30 x i8] c" call void @lp_fdel(ptr %o)\0A\00" @.str5132 = private unnamed_addr constant [43 x i8] c" %r2 = call ptr @realloc(ptr %o, i64 %n)\0A\00" @.str5133 = private unnamed_addr constant [39 x i8] c" call void @lp_fadd(ptr %r2, i64 %n)\0A\00" @.str5134 = private unnamed_addr constant [15 x i8] c" ret ptr %r2\0A\00" @.str5135 = private unnamed_addr constant [3 x i8] c"}\0A\00" @.str5136 = private unnamed_addr constant [32 x i8] c"define void @lp_free(ptr %o) {\0A\00" @.str5137 = private unnamed_addr constant [8 x i8] c"entry:\0A\00" @.str5138 = private unnamed_addr constant [41 x i8] c" %ist = ptrtoint ptr @lp_istore to i64\0A\00" @.str5139 = private unnamed_addr constant [32 x i8] c" %ien = add i64 %ist, 4194304\0A\00" @.str5140 = private unnamed_addr constant [32 x i8] c" %ix = ptrtoint ptr %o to i64\0A\00" @.str5141 = private unnamed_addr constant [33 x i8] c" %ige = icmp uge i64 %ix, %ist\0A\00" @.str5142 = private unnamed_addr constant [33 x i8] c" %ilt = icmp ult i64 %ix, %ien\0A\00" @.str5143 = private unnamed_addr constant [28 x i8] c" %iin = and i1 %ige, %ilt\0A\00" @.str5144 = private unnamed_addr constant [43 x i8] c" br i1 %iin, label %istore, label %free0\0A\00" @.str5145 = private unnamed_addr constant [9 x i8] c"istore:\0A\00" @.str5146 = private unnamed_addr constant [12 x i8] c" ret void\0A\00" @.str5147 = private unnamed_addr constant [8 x i8] c"free0:\0A\00" @.str5148 = private unnamed_addr constant [31 x i8] c" %x = ptrtoint ptr %o to i64\0A\00" @.str5149 = private unnamed_addr constant [33 x i8] c" %lo = load i64, ptr @lp_ar_lo\0A\00" @.str5150 = private unnamed_addr constant [33 x i8] c" %hi = load i64, ptr @lp_ar_hi\0A\00" @.str5151 = private unnamed_addr constant [30 x i8] c" %ge = icmp uge i64 %x, %lo\0A\00" @.str5152 = private unnamed_addr constant [30 x i8] c" %lt = icmp ult i64 %x, %hi\0A\00" @.str5153 = private unnamed_addr constant [25 x i8] c" %in = and i1 %ge, %lt\0A\00" @.str5154 = private unnamed_addr constant [39 x i8] c" br i1 %in, label %keep, label %heap\0A\00" @.str5155 = private unnamed_addr constant [7 x i8] c"keep:\0A\00" @.str5156 = private unnamed_addr constant [12 x i8] c" ret void\0A\00" @.str5157 = private unnamed_addr constant [7 x i8] c"heap:\0A\00" @.str5158 = private unnamed_addr constant [28 x i8] c" %t = load i8, ptr @lp_ft\0A\00" @.str5159 = private unnamed_addr constant [26 x i8] c" %tq = icmp ne i8 %t, 0\0A\00" @.str5160 = private unnamed_addr constant [43 x i8] c" br i1 %tq, label %tracked, label %plain\0A\00" @.str5161 = private unnamed_addr constant [8 x i8] c"plain:\0A\00" @.str5162 = private unnamed_addr constant [32 x i8] c" tail call void @free(ptr %o)\0A\00" @.str5163 = private unnamed_addr constant [12 x i8] c" ret void\0A\00" @.str5164 = private unnamed_addr constant [10 x i8] c"tracked:\0A\00" @.str5165 = private unnamed_addr constant [30 x i8] c" call void @lp_fdel(ptr %o)\0A\00" @.str5166 = private unnamed_addr constant [27 x i8] c" call void @free(ptr %o)\0A\00" @.str5167 = private unnamed_addr constant [12 x i8] c" ret void\0A\00" @.str5168 = private unnamed_addr constant [3 x i8] c"}\0A\00" @.str5169 = private unnamed_addr constant [43 x i8] c"define internal i1 @lp_in_arena(ptr %o) {\0A\00" @.str5170 = private unnamed_addr constant [8 x i8] c"entry:\0A\00" @.str5171 = private unnamed_addr constant [31 x i8] c" %x = ptrtoint ptr %o to i64\0A\00" @.str5172 = private unnamed_addr constant [33 x i8] c" %lo = load i64, ptr @lp_ar_lo\0A\00" @.str5173 = private unnamed_addr constant [33 x i8] c" %hi = load i64, ptr @lp_ar_hi\0A\00" @.str5174 = private unnamed_addr constant [29 x i8] c" %a = icmp uge i64 %x, %lo\0A\00" @.str5175 = private unnamed_addr constant [29 x i8] c" %b = icmp ult i64 %x, %hi\0A\00" @.str5176 = private unnamed_addr constant [23 x i8] c" %in = and i1 %a, %b\0A\00" @.str5177 = private unnamed_addr constant [14 x i8] c" ret i1 %in\0A\00" @.str5178 = private unnamed_addr constant [3 x i8] c"}\0A\00" @.str5179 = private unnamed_addr constant [96 x i8] c"; a block from the frame's arena: a 16-byte header (its size) and 16-aligned; the heap when no\0A\00" @.str5180 = private unnamed_addr constant [66 x i8] c"; frame is running, off the main thread, or past the arena's end\0A\00" @.str5181 = private unnamed_addr constant [43 x i8] c"define internal ptr @lp_scratch(i64 %n) {\0A\00" @.str5182 = private unnamed_addr constant [8 x i8] c"entry:\0A\00" @.str5183 = private unnamed_addr constant [32 x i8] c" %on = load i8, ptr @lp_ar_on\0A\00" @.str5184 = private unnamed_addr constant [28 x i8] c" %onq = icmp ne i8 %on, 0\0A\00" @.str5185 = private unnamed_addr constant [43 x i8] c" br i1 %onq, label %thread, label %start\0A\00" @.str5186 = private unnamed_addr constant [8 x i8] c"start:\0A\00" @.str5187 = private unnamed_addr constant [99 x i8] c" ; the arena starts at its first use, so boot's temporaries are scratch too: dead once the Start\0A\00" @.str5188 = private unnamed_addr constant [73 x i8] c" ; handlers return, and their half is started again two frame marks on\0A\00" @.str5189 = private unnamed_addr constant [28 x i8] c" call void @lp_ar_frame()\0A\00" @.str5190 = private unnamed_addr constant [33 x i8] c" %on2 = load i8, ptr @lp_ar_on\0A\00" @.str5191 = private unnamed_addr constant [30 x i8] c" %on2q = icmp ne i8 %on2, 0\0A\00" @.str5192 = private unnamed_addr constant [43 x i8] c" br i1 %on2q, label %thread, label %heap\0A\00" @.str5193 = private unnamed_addr constant [9 x i8] c"thread:\0A\00" @.str5194 = private unnamed_addr constant [34 x i8] c" %me = call ptr @pthread_self()\0A\00" @.str5195 = private unnamed_addr constant [37 x i8] c" %main = load ptr, ptr @lp_ar_main\0A\00" @.str5196 = private unnamed_addr constant [35 x i8] c" %mainq = icmp eq ptr %me, %main\0A\00" @.str5197 = private unnamed_addr constant [42 x i8] c" br i1 %mainq, label %bump, label %heap\0A\00" @.str5198 = private unnamed_addr constant [7 x i8] c"bump:\0A\00" @.str5199 = private unnamed_addr constant [35 x i8] c" %cur = load i64, ptr @lp_ar_cur\0A\00" @.str5200 = private unnamed_addr constant [25 x i8] c" %n16 = add i64 %n, 31\0A\00" @.str5201 = private unnamed_addr constant [29 x i8] c" %need = and i64 %n16, -16\0A\00" @.str5202 = private unnamed_addr constant [29 x i8] c" %np = add i64 %cur, %need\0A\00" @.str5203 = private unnamed_addr constant [35 x i8] c" %end = load i64, ptr @lp_ar_end\0A\00" @.str5204 = private unnamed_addr constant [34 x i8] c" %fits = icmp ule i64 %np, %end\0A\00" @.str5205 = private unnamed_addr constant [41 x i8] c" br i1 %fits, label %take, label %heap\0A\00" @.str5206 = private unnamed_addr constant [7 x i8] c"take:\0A\00" @.str5207 = private unnamed_addr constant [33 x i8] c" store i64 %np, ptr @lp_ar_cur\0A\00" @.str5208 = private unnamed_addr constant [34 x i8] c" %hp = inttoptr i64 %cur to ptr\0A\00" @.str5209 = private unnamed_addr constant [25 x i8] c" store i64 %n, ptr %hp\0A\00" @.str5210 = private unnamed_addr constant [43 x i8] c" %bp = getelementptr i8, ptr %hp, i64 16\0A\00" @.str5211 = private unnamed_addr constant [15 x i8] c" ret ptr %bp\0A\00" @.str5212 = private unnamed_addr constant [7 x i8] c"heap:\0A\00" @.str5213 = private unnamed_addr constant [34 x i8] c" %h = call ptr @lp_heap(i64 %n)\0A\00" @.str5214 = private unnamed_addr constant [14 x i8] c" ret ptr %h\0A\00" @.str5215 = private unnamed_addr constant [3 x i8] c"}\0A\00" @.str5216 = private unnamed_addr constant [99 x i8] c"; the frame's mark for the arenas: the first reserves them (two halves, R3D_ARENA_MB each, 256 by\0A\00" @.str5217 = private unnamed_addr constant [97 x i8] c"; default; R3D_ARENA=0 keeps everything on the heap), then each flips to the other half - which\0A\00" @.str5218 = private unnamed_addr constant [97 x i8] c"; held the frame before last - and starts it again (R3D_ARENA_CHECK=1 fills it with 0xDD first)\0A\00" @.str5219 = private unnamed_addr constant [39 x i8] c"define internal void @lp_ar_frame() {\0A\00" @.str5220 = private unnamed_addr constant [8 x i8] c"entry:\0A\00" @.str5221 = private unnamed_addr constant [33 x i8] c" %def = load i8, ptr @lp_ardef\0A\00" @.str5222 = private unnamed_addr constant [30 x i8] c" %defq = icmp ne i8 %def, 0\0A\00" @.str5223 = private unnamed_addr constant [39 x i8] c" br i1 %defq, label %chk, label %out\0A\00" @.str5224 = private unnamed_addr constant [6 x i8] c"chk:\0A\00" @.str5225 = private unnamed_addr constant [32 x i8] c" %on = load i8, ptr @lp_ar_on\0A\00" @.str5226 = private unnamed_addr constant [28 x i8] c" %onq = icmp ne i8 %on, 0\0A\00" @.str5227 = private unnamed_addr constant [41 x i8] c" br i1 %onq, label %flip, label %maybe\0A\00" @.str5228 = private unnamed_addr constant [8 x i8] c"maybe:\0A\00" @.str5229 = private unnamed_addr constant [38 x i8] c" %tried = load i8, ptr @lp_ar_tried\0A\00" @.str5230 = private unnamed_addr constant [30 x i8] c" %tq = icmp ne i8 %tried, 0\0A\00" @.str5231 = private unnamed_addr constant [41 x i8] c" br i1 %tq, label %out, label %reserve\0A\00" @.str5232 = private unnamed_addr constant [10 x i8] c"reserve:\0A\00" @.str5233 = private unnamed_addr constant [32 x i8] c" store i8 1, ptr @lp_ar_tried\0A\00" @.str5234 = private unnamed_addr constant [53 x i8] c" %want = call i64 @lp_fenv(ptr @.lpf_arena, i64 1)\0A\00" @.str5235 = private unnamed_addr constant [30 x i8] c" %wz = icmp eq i64 %want, 0\0A\00" @.str5236 = private unnamed_addr constant [38 x i8] c" br i1 %wz, label %out, label %size\0A\00" @.str5237 = private unnamed_addr constant [7 x i8] c"size:\0A\00" @.str5238 = private unnamed_addr constant [55 x i8] c" %mb = call i64 @lp_fenv(ptr @.lpf_arenamb, i64 256)\0A\00" @.str5239 = private unnamed_addr constant [27 x i8] c" %half = shl i64 %mb, 20\0A\00" @.str5240 = private unnamed_addr constant [36 x i8] c" store i64 %half, ptr @lp_ar_half\0A\00" @.str5241 = private unnamed_addr constant [28 x i8] c" %both = shl i64 %half, 1\0A\00" @.str5242 = private unnamed_addr constant [76 x i8] c" %m = call ptr @mmap(ptr null, i64 %both, i32 3, i32 4098, i32 -1, i64 0)\0A\00" @.str5243 = private unnamed_addr constant [32 x i8] c" %mi = ptrtoint ptr %m to i64\0A\00" @.str5244 = private unnamed_addr constant [30 x i8] c" %bad = icmp eq i64 %mi, -1\0A\00" @.str5245 = private unnamed_addr constant [40 x i8] c" br i1 %bad, label %out, label %armed\0A\00" @.str5246 = private unnamed_addr constant [8 x i8] c"armed:\0A\00" @.str5247 = private unnamed_addr constant [32 x i8] c" store i64 %mi, ptr @lp_ar_lo\0A\00" @.str5248 = private unnamed_addr constant [28 x i8] c" %hi = add i64 %mi, %both\0A\00" @.str5249 = private unnamed_addr constant [32 x i8] c" store i64 %hi, ptr @lp_ar_hi\0A\00" @.str5250 = private unnamed_addr constant [33 x i8] c" store i64 %mi, ptr @lp_ar_cur\0A\00" @.str5251 = private unnamed_addr constant [28 x i8] c" %e0 = add i64 %mi, %half\0A\00" @.str5252 = private unnamed_addr constant [33 x i8] c" store i64 %e0, ptr @lp_ar_end\0A\00" @.str5253 = private unnamed_addr constant [33 x i8] c" store i64 0, ptr @lp_ar_which\0A\00" @.str5254 = private unnamed_addr constant [34 x i8] c" %me = call ptr @pthread_self()\0A\00" @.str5255 = private unnamed_addr constant [34 x i8] c" store ptr %me, ptr @lp_ar_main\0A\00" @.str5256 = private unnamed_addr constant [53 x i8] c" %ck = call i64 @lp_fenv(ptr @.lpf_archeck, i64 0)\0A\00" @.str5257 = private unnamed_addr constant [30 x i8] c" %ck8 = trunc i64 %ck to i8\0A\00" @.str5258 = private unnamed_addr constant [35 x i8] c" store i8 %ck8, ptr @lp_ar_check\0A\00" @.str5259 = private unnamed_addr constant [29 x i8] c" store i8 1, ptr @lp_ar_on\0A\00" @.str5260 = private unnamed_addr constant [17 x i8] c" br label %out\0A\00" @.str5261 = private unnamed_addr constant [7 x i8] c"flip:\0A\00" @.str5262 = private unnamed_addr constant [35 x i8] c" %w = load i64, ptr @lp_ar_which\0A\00" @.str5263 = private unnamed_addr constant [33 x i8] c" %lo = load i64, ptr @lp_ar_lo\0A\00" @.str5264 = private unnamed_addr constant [35 x i8] c" %hf = load i64, ptr @lp_ar_half\0A\00" @.str5265 = private unnamed_addr constant [26 x i8] c" %off = mul i64 %w, %hf\0A\00" @.str5266 = private unnamed_addr constant [30 x i8] c" %start = add i64 %lo, %off\0A\00" @.str5267 = private unnamed_addr constant [35 x i8] c" %cur = load i64, ptr @lp_ar_cur\0A\00" @.str5268 = private unnamed_addr constant [32 x i8] c" %used = sub i64 %cur, %start\0A\00" @.str5269 = private unnamed_addr constant [27 x i8] c" %w0 = icmp eq i64 %w, 0\0A\00" @.str5270 = private unnamed_addr constant [56 x i8] c" %hwq = select i1 %w0, ptr @lp_ar_hw0, ptr @lp_ar_hw1\0A\00" @.str5271 = private unnamed_addr constant [29 x i8] c" %hwv = load i64, ptr %hwq\0A\00" @.str5272 = private unnamed_addr constant [36 x i8] c" %more = icmp ugt i64 %used, %hwv\0A\00" @.str5273 = private unnamed_addr constant [47 x i8] c" %hwn = select i1 %more, i64 %used, i64 %hwv\0A\00" @.str5274 = private unnamed_addr constant [28 x i8] c" store i64 %hwn, ptr %hwq\0A\00" @.str5275 = private unnamed_addr constant [23 x i8] c" %nw = xor i64 %w, 1\0A\00" @.str5276 = private unnamed_addr constant [35 x i8] c" store i64 %nw, ptr @lp_ar_which\0A\00" @.str5277 = private unnamed_addr constant [28 x i8] c" %noff = mul i64 %nw, %hf\0A\00" @.str5278 = private unnamed_addr constant [32 x i8] c" %nstart = add i64 %lo, %noff\0A\00" @.str5279 = private unnamed_addr constant [37 x i8] c" store i64 %nstart, ptr @lp_ar_cur\0A\00" @.str5280 = private unnamed_addr constant [32 x i8] c" %nend = add i64 %nstart, %hf\0A\00" @.str5281 = private unnamed_addr constant [35 x i8] c" store i64 %nend, ptr @lp_ar_end\0A\00" @.str5282 = private unnamed_addr constant [35 x i8] c" %cq = load i8, ptr @lp_ar_check\0A\00" @.str5283 = private unnamed_addr constant [28 x i8] c" %cqq = icmp ne i8 %cq, 0\0A\00" @.str5284 = private unnamed_addr constant [41 x i8] c" br i1 %cqq, label %poison, label %out\0A\00" @.str5285 = private unnamed_addr constant [9 x i8] c"poison:\0A\00" @.str5286 = private unnamed_addr constant [28 x i8] c" %n0 = icmp eq i64 %nw, 0\0A\00" @.str5287 = private unnamed_addr constant [56 x i8] c" %nhq = select i1 %n0, ptr @lp_ar_hw0, ptr @lp_ar_hw1\0A\00" @.str5288 = private unnamed_addr constant [29 x i8] c" %nhv = load i64, ptr %nhq\0A\00" @.str5289 = private unnamed_addr constant [37 x i8] c" %np = inttoptr i64 %nstart to ptr\0A\00" @.str5290 = private unnamed_addr constant [48 x i8] c" call ptr @memset(ptr %np, i32 221, i64 %nhv)\0A\00" @.str5291 = private unnamed_addr constant [17 x i8] c" br label %out\0A\00" @.str5292 = private unnamed_addr constant [6 x i8] c"out:\0A\00" @.str5293 = private unnamed_addr constant [12 x i8] c" ret void\0A\00" @.str5294 = private unnamed_addr constant [3 x i8] c"}\0A\00" @.str5295 = private unnamed_addr constant [36 x i8] c"define internal void @lp_flock() {\0A\00" @.str5296 = private unnamed_addr constant [8 x i8] c"entry:\0A\00" @.str5297 = private unnamed_addr constant [18 x i8] c" br label %spin\0A\00" @.str5298 = private unnamed_addr constant [7 x i8] c"spin:\0A\00" @.str5299 = private unnamed_addr constant [49 x i8] c" %o = atomicrmw xchg ptr @lp_fl, i32 1 acquire\0A\00" @.str5300 = private unnamed_addr constant [26 x i8] c" %b = icmp eq i32 %o, 0\0A\00" @.str5301 = private unnamed_addr constant [38 x i8] c" br i1 %b, label %done, label %spin\0A\00" @.str5302 = private unnamed_addr constant [7 x i8] c"done:\0A\00" @.str5303 = private unnamed_addr constant [12 x i8] c" ret void\0A\00" @.str5304 = private unnamed_addr constant [3 x i8] c"}\0A\00" @.str5305 = private unnamed_addr constant [38 x i8] c"define internal void @lp_funlock() {\0A\00" @.str5306 = private unnamed_addr constant [8 x i8] c"entry:\0A\00" @.str5307 = private unnamed_addr constant [51 x i8] c" store atomic i32 0, ptr @lp_fl release, align 4\0A\00" @.str5308 = private unnamed_addr constant [12 x i8] c" ret void\0A\00" @.str5309 = private unnamed_addr constant [3 x i8] c"}\0A\00" @.str5310 = private unnamed_addr constant [41 x i8] c"define internal i64 @lp_fhash(i64 %k) {\0A\00" @.str5311 = private unnamed_addr constant [8 x i8] c"entry:\0A\00" @.str5312 = private unnamed_addr constant [23 x i8] c" %a = lshr i64 %k, 4\0A\00" @.str5313 = private unnamed_addr constant [41 x i8] c" %b = mul i64 %a, -7046029254386353131\0A\00" @.str5314 = private unnamed_addr constant [24 x i8] c" %c = lshr i64 %b, 29\0A\00" @.str5315 = private unnamed_addr constant [23 x i8] c" %d = xor i64 %b, %c\0A\00" @.str5316 = private unnamed_addr constant [14 x i8] c" ret i64 %d\0A\00" @.str5317 = private unnamed_addr constant [3 x i8] c"}\0A\00" @.str5318 = private unnamed_addr constant [43 x i8] c"define internal void @lp_ftouch(i64 %s) {\0A\00" @.str5319 = private unnamed_addr constant [8 x i8] c"entry:\0A\00" @.str5320 = private unnamed_addr constant [64 x i8] c" %sp = getelementptr inbounds i64, ptr @lp_site_stamp, i64 %s\0A\00" @.str5321 = private unnamed_addr constant [27 x i8] c" %st = load i64, ptr %sp\0A\00" @.str5322 = private unnamed_addr constant [32 x i8] c" %f = load i64, ptr @lp_frame\0A\00" @.str5323 = private unnamed_addr constant [23 x i8] c" %f1 = add i64 %f, 1\0A\00" @.str5324 = private unnamed_addr constant [32 x i8] c" %seen = icmp eq i64 %st, %f1\0A\00" @.str5325 = private unnamed_addr constant [40 x i8] c" br i1 %seen, label %out, label %mark\0A\00" @.str5326 = private unnamed_addr constant [7 x i8] c"mark:\0A\00" @.str5327 = private unnamed_addr constant [26 x i8] c" store i64 %f1, ptr %sp\0A\00" @.str5328 = private unnamed_addr constant [33 x i8] c" %n = load i32, ptr @lp_ntouch\0A\00" @.str5329 = private unnamed_addr constant [32 x i8] c" %room = icmp ult i32 %n, 512\0A\00" @.str5330 = private unnamed_addr constant [23 x i8] c" %n1 = add i32 %n, 1\0A\00" @.str5331 = private unnamed_addr constant [33 x i8] c" store i32 %n1, ptr @lp_ntouch\0A\00" @.str5332 = private unnamed_addr constant [39 x i8] c" br i1 %room, label %put, label %out\0A\00" @.str5333 = private unnamed_addr constant [6 x i8] c"put:\0A\00" @.str5334 = private unnamed_addr constant [74 x i8] c" %tp = getelementptr inbounds [512 x i32], ptr @lp_touch, i32 0, i32 %n\0A\00" @.str5335 = private unnamed_addr constant [30 x i8] c" %s32 = trunc i64 %s to i32\0A\00" @.str5336 = private unnamed_addr constant [27 x i8] c" store i32 %s32, ptr %tp\0A\00" @.str5337 = private unnamed_addr constant [17 x i8] c" br label %out\0A\00" @.str5338 = private unnamed_addr constant [6 x i8] c"out:\0A\00" @.str5339 = private unnamed_addr constant [12 x i8] c" ret void\0A\00" @.str5340 = private unnamed_addr constant [3 x i8] c"}\0A\00" @.str5341 = private unnamed_addr constant [55 x i8] c"define internal void @lp_fsite_dadd(i64 %s, i64 %n) {\0A\00" @.str5342 = private unnamed_addr constant [8 x i8] c"entry:\0A\00" @.str5343 = private unnamed_addr constant [64 x i8] c" %sp = getelementptr inbounds i64, ptr @lp_site_dlive, i64 %s\0A\00" @.str5344 = private unnamed_addr constant [26 x i8] c" %v = load i64, ptr %sp\0A\00" @.str5345 = private unnamed_addr constant [24 x i8] c" %v1 = add i64 %v, %n\0A\00" @.str5346 = private unnamed_addr constant [26 x i8] c" store i64 %v1, ptr %sp\0A\00" @.str5347 = private unnamed_addr constant [33 x i8] c" %dl = load i64, ptr @lp_dlive\0A\00" @.str5348 = private unnamed_addr constant [26 x i8] c" %dl1 = add i64 %dl, %n\0A\00" @.str5349 = private unnamed_addr constant [33 x i8] c" store i64 %dl1, ptr @lp_dlive\0A\00" @.str5350 = private unnamed_addr constant [12 x i8] c" ret void\0A\00" @.str5351 = private unnamed_addr constant [3 x i8] c"}\0A\00" @.str5352 = private unnamed_addr constant [54 x i8] c"define internal void @lp_fsite_add(i64 %s, i64 %n) {\0A\00" @.str5353 = private unnamed_addr constant [8 x i8] c"entry:\0A\00" @.str5354 = private unnamed_addr constant [63 x i8] c" %sp = getelementptr inbounds i64, ptr @lp_site_live, i64 %s\0A\00" @.str5355 = private unnamed_addr constant [26 x i8] c" %v = load i64, ptr %sp\0A\00" @.str5356 = private unnamed_addr constant [24 x i8] c" %v1 = add i64 %v, %n\0A\00" @.str5357 = private unnamed_addr constant [26 x i8] c" store i64 %v1, ptr %sp\0A\00" @.str5358 = private unnamed_addr constant [32 x i8] c" %lv = load i64, ptr @lp_live\0A\00" @.str5359 = private unnamed_addr constant [26 x i8] c" %lv1 = add i64 %lv, %n\0A\00" @.str5360 = private unnamed_addr constant [32 x i8] c" store i64 %lv1, ptr @lp_live\0A\00" @.str5361 = private unnamed_addr constant [32 x i8] c" call void @lp_ftouch(i64 %s)\0A\00" @.str5362 = private unnamed_addr constant [12 x i8] c" ret void\0A\00" @.str5363 = private unnamed_addr constant [3 x i8] c"}\0A\00" @.str5364 = private unnamed_addr constant [95 x i8] c"; the last six return addresses above an allocation of site s, from the unwinder (the emitted\0A\00" @.str5365 = private unnamed_addr constant [99 x i8] c"; functions keep no frame-pointer chain), taken only once judging has begun: what is made then is\0A\00" @.str5366 = private unnamed_addr constant [39 x i8] c"; what a report names, and it is rare\0A\00" @.str5367 = private unnamed_addr constant [51 x i8] c"define internal i32 @lp_funw(ptr %ctx, ptr %st) {\0A\00" @.str5368 = private unnamed_addr constant [8 x i8] c"entry:\0A\00" @.str5369 = private unnamed_addr constant [26 x i8] c" %n = load i64, ptr %st\0A\00" @.str5370 = private unnamed_addr constant [30 x i8] c" %full = icmp uge i64 %n, 6\0A\00" @.str5371 = private unnamed_addr constant [41 x i8] c" br i1 %full, label %stop, label %take\0A\00" @.str5372 = private unnamed_addr constant [7 x i8] c"take:\0A\00" @.str5373 = private unnamed_addr constant [43 x i8] c" %ip = call i64 @_Unwind_GetIP(ptr %ctx)\0A\00" @.str5374 = private unnamed_addr constant [52 x i8] c" %bp = getelementptr inbounds i64, ptr %st, i64 1\0A\00" @.str5375 = private unnamed_addr constant [29 x i8] c" %base = load i64, ptr %bp\0A\00" @.str5376 = private unnamed_addr constant [29 x i8] c" %slot = add i64 %base, %n\0A\00" @.str5377 = private unnamed_addr constant [65 x i8] c" %dst = getelementptr inbounds i64, ptr @lp_site_ra, i64 %slot\0A\00" @.str5378 = private unnamed_addr constant [27 x i8] c" store i64 %ip, ptr %dst\0A\00" @.str5379 = private unnamed_addr constant [23 x i8] c" %n1 = add i64 %n, 1\0A\00" @.str5380 = private unnamed_addr constant [26 x i8] c" store i64 %n1, ptr %st\0A\00" @.str5381 = private unnamed_addr constant [13 x i8] c" ret i32 0\0A\00" @.str5382 = private unnamed_addr constant [7 x i8] c"stop:\0A\00" @.str5383 = private unnamed_addr constant [13 x i8] c" ret i32 5\0A\00" @.str5384 = private unnamed_addr constant [3 x i8] c"}\0A\00" @.str5385 = private unnamed_addr constant [54 x i8] c"define internal void @lp_fcallers(i64 %s) noinline {\0A\00" @.str5386 = private unnamed_addr constant [8 x i8] c"entry:\0A\00" @.str5387 = private unnamed_addr constant [28 x i8] c" %j = load i8, ptr @lp_fj\0A\00" @.str5388 = private unnamed_addr constant [31 x i8] c" %judging = icmp ne i8 %j, 0\0A\00" @.str5389 = private unnamed_addr constant [43 x i8] c" br i1 %judging, label %walk, label %out\0A\00" @.str5390 = private unnamed_addr constant [7 x i8] c"walk:\0A\00" @.str5391 = private unnamed_addr constant [35 x i8] c" %st = alloca [2 x i64], align 8\0A\00" @.str5392 = private unnamed_addr constant [24 x i8] c" store i64 0, ptr %st\0A\00" @.str5393 = private unnamed_addr constant [52 x i8] c" %bp = getelementptr inbounds i64, ptr %st, i64 1\0A\00" @.str5394 = private unnamed_addr constant [25 x i8] c" %base = mul i64 %s, 6\0A\00" @.str5395 = private unnamed_addr constant [28 x i8] c" store i64 %base, ptr %bp\0A\00" @.str5396 = private unnamed_addr constant [63 x i8] c" %z = getelementptr inbounds i64, ptr @lp_site_ra, i64 %base\0A\00" @.str5397 = private unnamed_addr constant [43 x i8] c" call ptr @memset(ptr %z, i32 0, i64 48)\0A\00" @.str5398 = private unnamed_addr constant [54 x i8] c" call i32 @_Unwind_Backtrace(ptr @lp_funw, ptr %st)\0A\00" @.str5399 = private unnamed_addr constant [17 x i8] c" br label %out\0A\00" @.str5400 = private unnamed_addr constant [6 x i8] c"out:\0A\00" @.str5401 = private unnamed_addr constant [12 x i8] c" ret void\0A\00" @.str5402 = private unnamed_addr constant [3 x i8] c"}\0A\00" @.str5403 = private unnamed_addr constant [99 x i8] c"; the Ludic functions a site was last reached from: its callers' names, those of the fence and of\0A\00" @.str5404 = private unnamed_addr constant [36 x i8] c"; the site's own function left out\0A\00" @.str5405 = private unnamed_addr constant [66 x i8] c"define internal void @lp_fsite_from(ptr %fp, i32 %s, ptr %own) {\0A\00" @.str5406 = private unnamed_addr constant [8 x i8] c"entry:\0A\00" @.str5407 = private unnamed_addr constant [37 x i8] c" %info = alloca [4 x ptr], align 8\0A\00" @.str5408 = private unnamed_addr constant [29 x i8] c" %s64 = sext i32 %s to i64\0A\00" @.str5409 = private unnamed_addr constant [27 x i8] c" %base = mul i64 %s64, 6\0A\00" @.str5410 = private unnamed_addr constant [18 x i8] c" br label %loop\0A\00" @.str5411 = private unnamed_addr constant [7 x i8] c"loop:\0A\00" @.str5412 = private unnamed_addr constant [46 x i8] c" %i = phi i64 [ 0, %entry ], [ %i1, %next ]\0A\00" @.str5413 = private unnamed_addr constant [54 x i8] c" %shown = phi i32 [ 0, %entry ], [ %shown1, %next ]\0A\00" @.str5414 = private unnamed_addr constant [30 x i8] c" %more = icmp ult i64 %i, 6\0A\00" @.str5415 = private unnamed_addr constant [34 x i8] c" %room = icmp ult i32 %shown, 3\0A\00" @.str5416 = private unnamed_addr constant [29 x i8] c" %go = and i1 %more, %room\0A\00" @.str5417 = private unnamed_addr constant [38 x i8] c" br i1 %go, label %body, label %out\0A\00" @.str5418 = private unnamed_addr constant [7 x i8] c"body:\0A\00" @.str5419 = private unnamed_addr constant [29 x i8] c" %slot = add i64 %base, %i\0A\00" @.str5420 = private unnamed_addr constant [64 x i8] c" %rp = getelementptr inbounds ptr, ptr @lp_site_ra, i64 %slot\0A\00" @.str5421 = private unnamed_addr constant [28 x i8] c" %ra0 = load ptr, ptr %rp\0A\00" @.str5422 = private unnamed_addr constant [44 x i8] c" %ra = getelementptr i8, ptr %ra0, i64 -1\0A\00" @.str5423 = private unnamed_addr constant [33 x i8] c" %nul = icmp eq ptr %ra0, null\0A\00" @.str5424 = private unnamed_addr constant [40 x i8] c" br i1 %nul, label %skip, label %look\0A\00" @.str5425 = private unnamed_addr constant [7 x i8] c"look:\0A\00" @.str5426 = private unnamed_addr constant [46 x i8] c" %ok = call i32 @dladdr(ptr %ra, ptr %info)\0A\00" @.str5427 = private unnamed_addr constant [29 x i8] c" %okq = icmp ne i32 %ok, 0\0A\00" @.str5428 = private unnamed_addr constant [41 x i8] c" br i1 %okq, label %named, label %skip\0A\00" @.str5429 = private unnamed_addr constant [8 x i8] c"named:\0A\00" @.str5430 = private unnamed_addr constant [68 x i8] c" %snp = getelementptr inbounds [4 x ptr], ptr %info, i32 0, i32 2\0A\00" @.str5431 = private unnamed_addr constant [28 x i8] c" %sn = load ptr, ptr %snp\0A\00" @.str5432 = private unnamed_addr constant [34 x i8] c" %snnul = icmp eq ptr %sn, null\0A\00" @.str5433 = private unnamed_addr constant [44 x i8] c" br i1 %snnul, label %skip, label %filter\0A\00" @.str5434 = private unnamed_addr constant [9 x i8] c"filter:\0A\00" @.str5435 = private unnamed_addr constant [57 x i8] c" %c1 = call i32 @strncmp(ptr %sn, ptr @.lpf_lp, i64 3)\0A\00" @.str5436 = private unnamed_addr constant [30 x i8] c" %islp = icmp eq i32 %c1, 0\0A\00" @.str5437 = private unnamed_addr constant [53 x i8] c" %own3 = getelementptr inbounds i8, ptr %sn, i64 3\0A\00" @.str5438 = private unnamed_addr constant [47 x i8] c" %c2 = call i32 @strcmp(ptr %own3, ptr %own)\0A\00" @.str5439 = private unnamed_addr constant [31 x i8] c" %isown = icmp eq i32 %c2, 0\0A\00" @.str5440 = private unnamed_addr constant [31 x i8] c" %drop = or i1 %islp, %isown\0A\00" @.str5441 = private unnamed_addr constant [42 x i8] c" br i1 %drop, label %skip, label %print\0A\00" @.str5442 = private unnamed_addr constant [8 x i8] c"print:\0A\00" @.str5443 = private unnamed_addr constant [35 x i8] c" %tofile = icmp ne ptr %fp, null\0A\00" @.str5444 = private unnamed_addr constant [39 x i8] c" br i1 %tofile, label %pf, label %pe\0A\00" @.str5445 = private unnamed_addr constant [5 x i8] c"pf:\0A\00" @.str5446 = private unnamed_addr constant [72 x i8] c" call i32 (ptr, ptr, ...) @fprintf(ptr %fp, ptr @.lpf_cfrom, ptr %sn)\0A\00" @.str5447 = private unnamed_addr constant [21 x i8] c" br label %counted\0A\00" @.str5448 = private unnamed_addr constant [5 x i8] c"pe:\0A\00" @.str5449 = private unnamed_addr constant [69 x i8] c" call i32 (i32, ptr, ...) @dprintf(i32 2, ptr @.lpf_from, ptr %sn)\0A\00" @.str5450 = private unnamed_addr constant [21 x i8] c" br label %counted\0A\00" @.str5451 = private unnamed_addr constant [10 x i8] c"counted:\0A\00" @.str5452 = private unnamed_addr constant [18 x i8] c" br label %next\0A\00" @.str5453 = private unnamed_addr constant [7 x i8] c"skip:\0A\00" @.str5454 = private unnamed_addr constant [18 x i8] c" br label %next\0A\00" @.str5455 = private unnamed_addr constant [7 x i8] c"next:\0A\00" @.str5456 = private unnamed_addr constant [48 x i8] c" %add = phi i32 [ 1, %counted ], [ 0, %skip ]\0A\00" @.str5457 = private unnamed_addr constant [34 x i8] c" %shown1 = add i32 %shown, %add\0A\00" @.str5458 = private unnamed_addr constant [23 x i8] c" %i1 = add i64 %i, 1\0A\00" @.str5459 = private unnamed_addr constant [18 x i8] c" br label %loop\0A\00" @.str5460 = private unnamed_addr constant [6 x i8] c"out:\0A\00" @.str5461 = private unnamed_addr constant [12 x i8] c" ret void\0A\00" @.str5462 = private unnamed_addr constant [3 x i8] c"}\0A\00" @.str5463 = private unnamed_addr constant [53 x i8] c"define internal void @lp_fadd(ptr %p, i64 %asked) {\0A\00" @.str5464 = private unnamed_addr constant [8 x i8] c"entry:\0A\00" @.str5465 = private unnamed_addr constant [34 x i8] c" %isnull = icmp eq ptr %p, null\0A\00" @.str5466 = private unnamed_addr constant [42 x i8] c" br i1 %isnull, label %out, label %size\0A\00" @.str5467 = private unnamed_addr constant [7 x i8] c"size:\0A\00" @.str5468 = private unnamed_addr constant [43 x i8] c" %hasms = icmp ne ptr @malloc_size, null\0A\00" @.str5469 = private unnamed_addr constant [40 x i8] c" br i1 %hasms, label %real, label %go\0A\00" @.str5470 = private unnamed_addr constant [7 x i8] c"real:\0A\00" @.str5471 = private unnamed_addr constant [39 x i8] c" %ms = call i64 @malloc_size(ptr %p)\0A\00" @.str5472 = private unnamed_addr constant [16 x i8] c" br label %go\0A\00" @.str5473 = private unnamed_addr constant [5 x i8] c"go:\0A\00" @.str5474 = private unnamed_addr constant [50 x i8] c" %n = phi i64 [ %asked, %size ], [ %ms, %real ]\0A\00" @.str5475 = private unnamed_addr constant [25 x i8] c" call void @lp_flock()\0A\00" @.str5476 = private unnamed_addr constant [33 x i8] c" %cnt = load i64, ptr @lp_tabn\0A\00" @.str5477 = private unnamed_addr constant [35 x i8] c" %max = load i64, ptr @lp_tabmax\0A\00" @.str5478 = private unnamed_addr constant [35 x i8] c" %full = icmp sge i64 %cnt, %max\0A\00" @.str5479 = private unnamed_addr constant [40 x i8] c" br i1 %full, label %over, label %ins\0A\00" @.str5480 = private unnamed_addr constant [7 x i8] c"over:\0A\00" @.str5481 = private unnamed_addr constant [32 x i8] c" %ov = load i64, ptr @lp_over\0A\00" @.str5482 = private unnamed_addr constant [25 x i8] c" %ov1 = add i64 %ov, 1\0A\00" @.str5483 = private unnamed_addr constant [32 x i8] c" store i64 %ov1, ptr @lp_over\0A\00" @.str5484 = private unnamed_addr constant [20 x i8] c" br label %unlock\0A\00" @.str5485 = private unnamed_addr constant [6 x i8] c"ins:\0A\00" @.str5486 = private unnamed_addr constant [32 x i8] c" %s0 = load i32, ptr @lp_site\0A\00" @.str5487 = private unnamed_addr constant [34 x i8] c" %sn = load i32, ptr @lp_site_n\0A\00" @.str5488 = private unnamed_addr constant [32 x i8] c" %sok = icmp ult i32 %s0, %sn\0A\00" @.str5489 = private unnamed_addr constant [39 x i8] c" %s = select i1 %sok, i32 %s0, i32 0\0A\00" @.str5490 = private unnamed_addr constant [29 x i8] c" %s64 = zext i32 %s to i64\0A\00" @.str5491 = private unnamed_addr constant [31 x i8] c" %k = ptrtoint ptr %p to i64\0A\00" @.str5492 = private unnamed_addr constant [35 x i8] c" %h = call i64 @lp_fhash(i64 %k)\0A\00" @.str5493 = private unnamed_addr constant [37 x i8] c" %mask = load i64, ptr @lp_tabmask\0A\00" @.str5494 = private unnamed_addr constant [32 x i8] c" %tab = load ptr, ptr @lp_tab\0A\00" @.str5495 = private unnamed_addr constant [19 x i8] c" br label %probe\0A\00" @.str5496 = private unnamed_addr constant [8 x i8] c"probe:\0A\00" @.str5497 = private unnamed_addr constant [45 x i8] c" %i = phi i64 [ %h, %ins ], [ %i1, %next ]\0A\00" @.str5498 = private unnamed_addr constant [27 x i8] c" %im = and i64 %i, %mask\0A\00" @.str5499 = private unnamed_addr constant [60 x i8] c" %e = getelementptr inbounds [2 x i64], ptr %tab, i64 %im\0A\00" @.str5500 = private unnamed_addr constant [26 x i8] c" %ek = load i64, ptr %e\0A\00" @.str5501 = private unnamed_addr constant [31 x i8] c" %empty = icmp eq i64 %ek, 0\0A\00" @.str5502 = private unnamed_addr constant [40 x i8] c" br i1 %empty, label %put, label %chk\0A\00" @.str5503 = private unnamed_addr constant [6 x i8] c"chk:\0A\00" @.str5504 = private unnamed_addr constant [31 x i8] c" %same = icmp eq i64 %ek, %k\0A\00" @.str5505 = private unnamed_addr constant [40 x i8] c" br i1 %same, label %dup, label %next\0A\00" @.str5506 = private unnamed_addr constant [7 x i8] c"next:\0A\00" @.str5507 = private unnamed_addr constant [24 x i8] c" %i1 = add i64 %im, 1\0A\00" @.str5508 = private unnamed_addr constant [19 x i8] c" br label %probe\0A\00" @.str5509 = private unnamed_addr constant [6 x i8] c"dup:\0A\00" @.str5510 = private unnamed_addr constant [51 x i8] c" %dv = getelementptr inbounds i64, ptr %e, i64 1\0A\00" @.str5511 = private unnamed_addr constant [29 x i8] c" %dold = load i64, ptr %dv\0A\00" @.str5512 = private unnamed_addr constant [37 x i8] c" %dn = and i64 %dold, 549755813887\0A\00" @.str5513 = private unnamed_addr constant [28 x i8] c" %ds = lshr i64 %dold, 40\0A\00" @.str5514 = private unnamed_addr constant [26 x i8] c" %dneg = sub i64 0, %dn\0A\00" @.str5515 = private unnamed_addr constant [38 x i8] c" %dwd = and i64 %dold, 549755813888\0A\00" @.str5516 = private unnamed_addr constant [31 x i8] c" %dwas = icmp ne i64 %dwd, 0\0A\00" @.str5517 = private unnamed_addr constant [42 x i8] c" br i1 %dwas, label %ddecl, label %dund\0A\00" @.str5518 = private unnamed_addr constant [8 x i8] c"ddecl:\0A\00" @.str5519 = private unnamed_addr constant [48 x i8] c" call void @lp_fsite_dadd(i64 %ds, i64 %dneg)\0A\00" @.str5520 = private unnamed_addr constant [20 x i8] c" br label %dcount\0A\00" @.str5521 = private unnamed_addr constant [7 x i8] c"dund:\0A\00" @.str5522 = private unnamed_addr constant [47 x i8] c" call void @lp_fsite_add(i64 %ds, i64 %dneg)\0A\00" @.str5523 = private unnamed_addr constant [20 x i8] c" br label %dcount\0A\00" @.str5524 = private unnamed_addr constant [9 x i8] c"dcount:\0A\00" @.str5525 = private unnamed_addr constant [33 x i8] c" %dtn = load i64, ptr @lp_tabn\0A\00" @.str5526 = private unnamed_addr constant [27 x i8] c" %dtn1 = sub i64 %dtn, 1\0A\00" @.str5527 = private unnamed_addr constant [33 x i8] c" store i64 %dtn1, ptr @lp_tabn\0A\00" @.str5528 = private unnamed_addr constant [34 x i8] c" %dfr = load i64, ptr @lp_freed\0A\00" @.str5529 = private unnamed_addr constant [27 x i8] c" %dfr1 = add i64 %dfr, 1\0A\00" @.str5530 = private unnamed_addr constant [34 x i8] c" store i64 %dfr1, ptr @lp_freed\0A\00" @.str5531 = private unnamed_addr constant [17 x i8] c" br label %put\0A\00" @.str5532 = private unnamed_addr constant [6 x i8] c"put:\0A\00" @.str5533 = private unnamed_addr constant [24 x i8] c" store i64 %k, ptr %e\0A\00" @.str5534 = private unnamed_addr constant [51 x i8] c" %ev = getelementptr inbounds i64, ptr %e, i64 1\0A\00" @.str5535 = private unnamed_addr constant [26 x i8] c" %sh = shl i64 %s64, 40\0A\00" @.str5536 = private unnamed_addr constant [24 x i8] c" %v0 = or i64 %sh, %n\0A\00" @.str5537 = private unnamed_addr constant [33 x i8] c" %dc = load i32, ptr @lp_fdecl\0A\00" @.str5538 = private unnamed_addr constant [33 x i8] c" %isdecl = icmp sgt i32 %dc, 0\0A\00" @.str5539 = private unnamed_addr constant [54 x i8] c" %dbit = select i1 %isdecl, i64 549755813888, i64 0\0A\00" @.str5540 = private unnamed_addr constant [26 x i8] c" %v = or i64 %v0, %dbit\0A\00" @.str5541 = private unnamed_addr constant [25 x i8] c" store i64 %v, ptr %ev\0A\00" @.str5542 = private unnamed_addr constant [32 x i8] c" %tn = load i64, ptr @lp_tabn\0A\00" @.str5543 = private unnamed_addr constant [25 x i8] c" %tn1 = add i64 %tn, 1\0A\00" @.str5544 = private unnamed_addr constant [32 x i8] c" store i64 %tn1, ptr @lp_tabn\0A\00" @.str5545 = private unnamed_addr constant [32 x i8] c" %md = load i64, ptr @lp_made\0A\00" @.str5546 = private unnamed_addr constant [25 x i8] c" %md1 = add i64 %md, 1\0A\00" @.str5547 = private unnamed_addr constant [32 x i8] c" store i64 %md1, ptr @lp_made\0A\00" @.str5548 = private unnamed_addr constant [44 x i8] c" br i1 %isdecl, label %pdecl, label %pund\0A\00" @.str5549 = private unnamed_addr constant [8 x i8] c"pdecl:\0A\00" @.str5550 = private unnamed_addr constant [46 x i8] c" call void @lp_fsite_dadd(i64 %s64, i64 %n)\0A\00" @.str5551 = private unnamed_addr constant [20 x i8] c" br label %unlock\0A\00" @.str5552 = private unnamed_addr constant [7 x i8] c"pund:\0A\00" @.str5553 = private unnamed_addr constant [45 x i8] c" call void @lp_fsite_add(i64 %s64, i64 %n)\0A\00" @.str5554 = private unnamed_addr constant [36 x i8] c" call void @lp_fcallers(i64 %s64)\0A\00" @.str5555 = private unnamed_addr constant [20 x i8] c" br label %unlock\0A\00" @.str5556 = private unnamed_addr constant [9 x i8] c"unlock:\0A\00" @.str5557 = private unnamed_addr constant [27 x i8] c" call void @lp_funlock()\0A\00" @.str5558 = private unnamed_addr constant [17 x i8] c" br label %out\0A\00" @.str5559 = private unnamed_addr constant [6 x i8] c"out:\0A\00" @.str5560 = private unnamed_addr constant [12 x i8] c" ret void\0A\00" @.str5561 = private unnamed_addr constant [3 x i8] c"}\0A\00" @.str5562 = private unnamed_addr constant [41 x i8] c"define internal void @lp_fdel(ptr %p) {\0A\00" @.str5563 = private unnamed_addr constant [8 x i8] c"entry:\0A\00" @.str5564 = private unnamed_addr constant [34 x i8] c" %isnull = icmp eq ptr %p, null\0A\00" @.str5565 = private unnamed_addr constant [40 x i8] c" br i1 %isnull, label %out, label %go\0A\00" @.str5566 = private unnamed_addr constant [5 x i8] c"go:\0A\00" @.str5567 = private unnamed_addr constant [25 x i8] c" call void @lp_flock()\0A\00" @.str5568 = private unnamed_addr constant [31 x i8] c" %k = ptrtoint ptr %p to i64\0A\00" @.str5569 = private unnamed_addr constant [35 x i8] c" %h = call i64 @lp_fhash(i64 %k)\0A\00" @.str5570 = private unnamed_addr constant [37 x i8] c" %mask = load i64, ptr @lp_tabmask\0A\00" @.str5571 = private unnamed_addr constant [32 x i8] c" %tab = load ptr, ptr @lp_tab\0A\00" @.str5572 = private unnamed_addr constant [19 x i8] c" br label %probe\0A\00" @.str5573 = private unnamed_addr constant [8 x i8] c"probe:\0A\00" @.str5574 = private unnamed_addr constant [44 x i8] c" %i = phi i64 [ %h, %go ], [ %i1, %next ]\0A\00" @.str5575 = private unnamed_addr constant [27 x i8] c" %im = and i64 %i, %mask\0A\00" @.str5576 = private unnamed_addr constant [60 x i8] c" %e = getelementptr inbounds [2 x i64], ptr %tab, i64 %im\0A\00" @.str5577 = private unnamed_addr constant [26 x i8] c" %ek = load i64, ptr %e\0A\00" @.str5578 = private unnamed_addr constant [31 x i8] c" %empty = icmp eq i64 %ek, 0\0A\00" @.str5579 = private unnamed_addr constant [41 x i8] c" br i1 %empty, label %miss, label %cmp\0A\00" @.str5580 = private unnamed_addr constant [6 x i8] c"cmp:\0A\00" @.str5581 = private unnamed_addr constant [30 x i8] c" %hit = icmp eq i64 %ek, %k\0A\00" @.str5582 = private unnamed_addr constant [41 x i8] c" br i1 %hit, label %found, label %next\0A\00" @.str5583 = private unnamed_addr constant [7 x i8] c"next:\0A\00" @.str5584 = private unnamed_addr constant [24 x i8] c" %i1 = add i64 %im, 1\0A\00" @.str5585 = private unnamed_addr constant [19 x i8] c" br label %probe\0A\00" @.str5586 = private unnamed_addr constant [7 x i8] c"miss:\0A\00" @.str5587 = private unnamed_addr constant [41 x i8] c" %has = icmp ne ptr @malloc_size, null\0A\00" @.str5588 = private unnamed_addr constant [41 x i8] c" br i1 %has, label %msz, label %unlock\0A\00" @.str5589 = private unnamed_addr constant [6 x i8] c"msz:\0A\00" @.str5590 = private unnamed_addr constant [39 x i8] c" %ms = call i64 @malloc_size(ptr %p)\0A\00" @.str5591 = private unnamed_addr constant [31 x i8] c" %pr = load i64, ptr @lp_pre\0A\00" @.str5592 = private unnamed_addr constant [27 x i8] c" %pr1 = add i64 %pr, %ms\0A\00" @.str5593 = private unnamed_addr constant [31 x i8] c" store i64 %pr1, ptr @lp_pre\0A\00" @.str5594 = private unnamed_addr constant [20 x i8] c" br label %unlock\0A\00" @.str5595 = private unnamed_addr constant [8 x i8] c"found:\0A\00" @.str5596 = private unnamed_addr constant [51 x i8] c" %ev = getelementptr inbounds i64, ptr %e, i64 1\0A\00" @.str5597 = private unnamed_addr constant [26 x i8] c" %v = load i64, ptr %ev\0A\00" @.str5598 = private unnamed_addr constant [33 x i8] c" %n = and i64 %v, 549755813887\0A\00" @.str5599 = private unnamed_addr constant [24 x i8] c" %s = lshr i64 %v, 40\0A\00" @.str5600 = private unnamed_addr constant [24 x i8] c" %neg = sub i64 0, %n\0A\00" @.str5601 = private unnamed_addr constant [34 x i8] c" %wd = and i64 %v, 549755813888\0A\00" @.str5602 = private unnamed_addr constant [33 x i8] c" %wasdecl = icmp ne i64 %wd, 0\0A\00" @.str5603 = private unnamed_addr constant [45 x i8] c" br i1 %wasdecl, label %fdecl, label %fund\0A\00" @.str5604 = private unnamed_addr constant [8 x i8] c"fdecl:\0A\00" @.str5605 = private unnamed_addr constant [46 x i8] c" call void @lp_fsite_dadd(i64 %s, i64 %neg)\0A\00" @.str5606 = private unnamed_addr constant [20 x i8] c" br label %fcount\0A\00" @.str5607 = private unnamed_addr constant [7 x i8] c"fund:\0A\00" @.str5608 = private unnamed_addr constant [45 x i8] c" call void @lp_fsite_add(i64 %s, i64 %neg)\0A\00" @.str5609 = private unnamed_addr constant [20 x i8] c" br label %fcount\0A\00" @.str5610 = private unnamed_addr constant [9 x i8] c"fcount:\0A\00" @.str5611 = private unnamed_addr constant [33 x i8] c" %fr = load i64, ptr @lp_freed\0A\00" @.str5612 = private unnamed_addr constant [25 x i8] c" %fr1 = add i64 %fr, 1\0A\00" @.str5613 = private unnamed_addr constant [33 x i8] c" store i64 %fr1, ptr @lp_freed\0A\00" @.str5614 = private unnamed_addr constant [32 x i8] c" %tn = load i64, ptr @lp_tabn\0A\00" @.str5615 = private unnamed_addr constant [25 x i8] c" %tn1 = sub i64 %tn, 1\0A\00" @.str5616 = private unnamed_addr constant [32 x i8] c" store i64 %tn1, ptr @lp_tabn\0A\00" @.str5617 = private unnamed_addr constant [16 x i8] c" br label %sh\0A\00" @.str5618 = private unnamed_addr constant [5 x i8] c"sh:\0A\00" @.str5619 = private unnamed_addr constant [75 x i8] c" %hole = phi i64 [ %im, %fcount ], [ %hole, %sh_skip ], [ %j, %sh_move ]\0A\00" @.str5620 = private unnamed_addr constant [70 x i8] c" %jp = phi i64 [ %im, %fcount ], [ %j, %sh_skip ], [ %j, %sh_move ]\0A\00" @.str5621 = private unnamed_addr constant [24 x i8] c" %j0 = add i64 %jp, 1\0A\00" @.str5622 = private unnamed_addr constant [27 x i8] c" %j = and i64 %j0, %mask\0A\00" @.str5623 = private unnamed_addr constant [60 x i8] c" %ej = getelementptr inbounds [2 x i64], ptr %tab, i64 %j\0A\00" @.str5624 = private unnamed_addr constant [27 x i8] c" %kj = load i64, ptr %ej\0A\00" @.str5625 = private unnamed_addr constant [30 x i8] c" %endq = icmp eq i64 %kj, 0\0A\00" @.str5626 = private unnamed_addr constant [46 x i8] c" br i1 %endq, label %sh_end, label %sh_test\0A\00" @.str5627 = private unnamed_addr constant [10 x i8] c"sh_test:\0A\00" @.str5628 = private unnamed_addr constant [37 x i8] c" %hj = call i64 @lp_fhash(i64 %kj)\0A\00" @.str5629 = private unnamed_addr constant [30 x i8] c" %home = and i64 %hj, %mask\0A\00" @.str5630 = private unnamed_addr constant [33 x i8] c" %jgt = icmp ugt i64 %j, %hole\0A\00" @.str5631 = private unnamed_addr constant [35 x i8] c" %a1 = icmp ugt i64 %home, %hole\0A\00" @.str5632 = private unnamed_addr constant [32 x i8] c" %a2 = icmp ule i64 %home, %j\0A\00" @.str5633 = private unnamed_addr constant [26 x i8] c" %in1 = and i1 %a1, %a2\0A\00" @.str5634 = private unnamed_addr constant [25 x i8] c" %in2 = or i1 %a1, %a2\0A\00" @.str5635 = private unnamed_addr constant [42 x i8] c" %in = select i1 %jgt, i1 %in1, i1 %in2\0A\00" @.str5636 = private unnamed_addr constant [45 x i8] c" br i1 %in, label %sh_skip, label %sh_move\0A\00" @.str5637 = private unnamed_addr constant [10 x i8] c"sh_skip:\0A\00" @.str5638 = private unnamed_addr constant [16 x i8] c" br label %sh\0A\00" @.str5639 = private unnamed_addr constant [10 x i8] c"sh_move:\0A\00" @.str5640 = private unnamed_addr constant [63 x i8] c" %eh = getelementptr inbounds [2 x i64], ptr %tab, i64 %hole\0A\00" @.str5641 = private unnamed_addr constant [26 x i8] c" store i64 %kj, ptr %eh\0A\00" @.str5642 = private unnamed_addr constant [53 x i8] c" %ejv = getelementptr inbounds i64, ptr %ej, i64 1\0A\00" @.str5643 = private unnamed_addr constant [28 x i8] c" %vj = load i64, ptr %ejv\0A\00" @.str5644 = private unnamed_addr constant [53 x i8] c" %ehv = getelementptr inbounds i64, ptr %eh, i64 1\0A\00" @.str5645 = private unnamed_addr constant [27 x i8] c" store i64 %vj, ptr %ehv\0A\00" @.str5646 = private unnamed_addr constant [16 x i8] c" br label %sh\0A\00" @.str5647 = private unnamed_addr constant [9 x i8] c"sh_end:\0A\00" @.str5648 = private unnamed_addr constant [64 x i8] c" %ehe = getelementptr inbounds [2 x i64], ptr %tab, i64 %hole\0A\00" @.str5649 = private unnamed_addr constant [25 x i8] c" store i64 0, ptr %ehe\0A\00" @.str5650 = private unnamed_addr constant [20 x i8] c" br label %unlock\0A\00" @.str5651 = private unnamed_addr constant [9 x i8] c"unlock:\0A\00" @.str5652 = private unnamed_addr constant [27 x i8] c" call void @lp_funlock()\0A\00" @.str5653 = private unnamed_addr constant [17 x i8] c" br label %out\0A\00" @.str5654 = private unnamed_addr constant [6 x i8] c"out:\0A\00" @.str5655 = private unnamed_addr constant [12 x i8] c" ret void\0A\00" @.str5656 = private unnamed_addr constant [3 x i8] c"}\0A\00" @.str5657 = private unnamed_addr constant [54 x i8] c"define internal i64 @lp_fenv(ptr %name, i64 %dflt) {\0A\00" @.str5658 = private unnamed_addr constant [8 x i8] c"entry:\0A\00" @.str5659 = private unnamed_addr constant [36 x i8] c" %e = call ptr @getenv(ptr %name)\0A\00" @.str5660 = private unnamed_addr constant [31 x i8] c" %has = icmp ne ptr %e, null\0A\00" @.str5661 = private unnamed_addr constant [40 x i8] c" br i1 %has, label %read, label %none\0A\00" @.str5662 = private unnamed_addr constant [7 x i8] c"read:\0A\00" @.str5663 = private unnamed_addr constant [31 x i8] c" %v = call i32 @atoi(ptr %e)\0A\00" @.str5664 = private unnamed_addr constant [29 x i8] c" %v64 = sext i32 %v to i64\0A\00" @.str5665 = private unnamed_addr constant [16 x i8] c" ret i64 %v64\0A\00" @.str5666 = private unnamed_addr constant [7 x i8] c"none:\0A\00" @.str5667 = private unnamed_addr constant [17 x i8] c" ret i64 %dflt\0A\00" @.str5668 = private unnamed_addr constant [3 x i8] c"}\0A\00" @.str5669 = private unnamed_addr constant [36 x i8] c"define internal void @lp_finit() {\0A\00" @.str5670 = private unnamed_addr constant [8 x i8] c"entry:\0A\00" @.str5671 = private unnamed_addr constant [29 x i8] c" %m0 = load i8, ptr @lp_fm\0A\00" @.str5672 = private unnamed_addr constant [29 x i8] c" %done = icmp ne i8 %m0, 0\0A\00" @.str5673 = private unnamed_addr constant [38 x i8] c" br i1 %done, label %out, label %go\0A\00" @.str5674 = private unnamed_addr constant [5 x i8] c"go:\0A\00" @.str5675 = private unnamed_addr constant [40 x i8] c" %e = call ptr @getenv(ptr @.lpf_env)\0A\00" @.str5676 = private unnamed_addr constant [31 x i8] c" %has = icmp ne ptr %e, null\0A\00" @.str5677 = private unnamed_addr constant [41 x i8] c" br i1 %has, label %parse, label %dflt\0A\00" @.str5678 = private unnamed_addr constant [8 x i8] c"parse:\0A\00" @.str5679 = private unnamed_addr constant [49 x i8] c" %c1 = call i32 @strcmp(ptr %e, ptr @.lpf_off)\0A\00" @.str5680 = private unnamed_addr constant [29 x i8] c" %is1 = icmp eq i32 %c1, 0\0A\00" @.str5681 = private unnamed_addr constant [51 x i8] c" %c2 = call i32 @strcmp(ptr %e, ptr @.lpf_count)\0A\00" @.str5682 = private unnamed_addr constant [29 x i8] c" %is2 = icmp eq i32 %c2, 0\0A\00" @.str5683 = private unnamed_addr constant [50 x i8] c" %c3 = call i32 @strcmp(ptr %e, ptr @.lpf_warn)\0A\00" @.str5684 = private unnamed_addr constant [29 x i8] c" %is3 = icmp eq i32 %c3, 0\0A\00" @.str5685 = private unnamed_addr constant [36 x i8] c" %ma = select i1 %is3, i8 3, i8 4\0A\00" @.str5686 = private unnamed_addr constant [38 x i8] c" %mb = select i1 %is2, i8 2, i8 %ma\0A\00" @.str5687 = private unnamed_addr constant [38 x i8] c" %mc = select i1 %is1, i8 1, i8 %mb\0A\00" @.str5688 = private unnamed_addr constant [17 x i8] c" br label %set\0A\00" @.str5689 = private unnamed_addr constant [7 x i8] c"dflt:\0A\00" @.str5690 = private unnamed_addr constant [30 x i8] c" %d = load i8, ptr @lp_fdef\0A\00" @.str5691 = private unnamed_addr constant [26 x i8] c" %dz = icmp eq i8 %d, 0\0A\00" @.str5692 = private unnamed_addr constant [37 x i8] c" br i1 %dz, label %dev, label %set\0A\00" @.str5693 = private unnamed_addr constant [6 x i8] c"dev:\0A\00" @.str5694 = private unnamed_addr constant [41 x i8] c" %dv = call ptr @getenv(ptr @.lpf_dev)\0A\00" @.str5695 = private unnamed_addr constant [31 x i8] c" %hd = icmp ne ptr %dv, null\0A\00" @.str5696 = private unnamed_addr constant [35 x i8] c" %md = select i1 %hd, i8 4, i8 1\0A\00" @.str5697 = private unnamed_addr constant [17 x i8] c" br label %set\0A\00" @.str5698 = private unnamed_addr constant [6 x i8] c"set:\0A\00" @.str5699 = private unnamed_addr constant [64 x i8] c" %mode = phi i8 [ %mc, %parse ], [ %d, %dflt ], [ %md, %dev ]\0A\00" @.str5700 = private unnamed_addr constant [30 x i8] c" store i8 %mode, ptr @lp_fm\0A\00" @.str5701 = private unnamed_addr constant [32 x i8] c" %wd = load i64, ptr @lp_warm\0A\00" @.str5702 = private unnamed_addr constant [51 x i8] c" %w = call i64 @lp_fenv(ptr @.lpf_warm, i64 %wd)\0A\00" @.str5703 = private unnamed_addr constant [30 x i8] c" store i64 %w, ptr @lp_warm\0A\00" @.str5704 = private unnamed_addr constant [24 x i8] c" %wx5 = mul i64 %w, 5\0A\00" @.str5705 = private unnamed_addr constant [56 x i8] c" %wm = call i64 @lp_fenv(ptr @.lpf_warmmax, i64 %wx5)\0A\00" @.str5706 = private unnamed_addr constant [35 x i8] c" store i64 %wm, ptr @lp_warm_max\0A\00" @.str5707 = private unnamed_addr constant [53 x i8] c" %dwv = call i64 @lp_fenv(ptr @.lpf_dwin, i64 600)\0A\00" @.str5708 = private unnamed_addr constant [32 x i8] c" store i64 %dwv, ptr @lp_dwin\0A\00" @.str5709 = private unnamed_addr constant [52 x i8] c" %drv = call i64 @lp_fenv(ptr @.lpf_drise, i64 6)\0A\00" @.str5710 = private unnamed_addr constant [33 x i8] c" store i64 %drv, ptr @lp_drise\0A\00" @.str5711 = private unnamed_addr constant [50 x i8] c" %au = call i64 @lp_fenv(ptr @.lpf_auto, i64 1)\0A\00" @.str5712 = private unnamed_addr constant [30 x i8] c" %au8 = trunc i64 %au to i8\0A\00" @.str5713 = private unnamed_addr constant [32 x i8] c" store i8 %au8, ptr @lp_fauto\0A\00" @.str5714 = private unnamed_addr constant [51 x i8] c" %pl = call i64 @lp_fenv(ptr @.lpf_play, i64 -1)\0A\00" @.str5715 = private unnamed_addr constant [35 x i8] c" store i64 %pl, ptr @lp_autoplay\0A\00" @.str5716 = private unnamed_addr constant [57 x i8] c" %want = call i64 @lp_fenv(ptr @.lpf_tab, i64 4194304)\0A\00" @.str5717 = private unnamed_addr constant [17 x i8] c" br label %cap\0A\00" @.str5718 = private unnamed_addr constant [6 x i8] c"cap:\0A\00" @.str5719 = private unnamed_addr constant [48 x i8] c" %c = phi i64 [ 1024, %set ], [ %c2x, %grow ]\0A\00" @.str5720 = private unnamed_addr constant [33 x i8] c" %big = icmp sge i64 %c, %want\0A\00" @.str5721 = private unnamed_addr constant [42 x i8] c" br i1 %big, label %capped, label %grow\0A\00" @.str5722 = private unnamed_addr constant [7 x i8] c"grow:\0A\00" @.str5723 = private unnamed_addr constant [24 x i8] c" %c2x = shl i64 %c, 1\0A\00" @.str5724 = private unnamed_addr constant [17 x i8] c" br label %cap\0A\00" @.str5725 = private unnamed_addr constant [9 x i8] c"capped:\0A\00" @.str5726 = private unnamed_addr constant [25 x i8] c" %mask = sub i64 %c, 1\0A\00" @.str5727 = private unnamed_addr constant [36 x i8] c" store i64 %mask, ptr @lp_tabmask\0A\00" @.str5728 = private unnamed_addr constant [23 x i8] c" %q = lshr i64 %c, 2\0A\00" @.str5729 = private unnamed_addr constant [24 x i8] c" %max = mul i64 %q, 3\0A\00" @.str5730 = private unnamed_addr constant [34 x i8] c" store i64 %max, ptr @lp_tabmax\0A\00" @.str5731 = private unnamed_addr constant [17 x i8] c" br label %out\0A\00" @.str5732 = private unnamed_addr constant [6 x i8] c"out:\0A\00" @.str5733 = private unnamed_addr constant [12 x i8] c" ret void\0A\00" @.str5734 = private unnamed_addr constant [3 x i8] c"}\0A\00" @.str5735 = private unnamed_addr constant [36 x i8] c"define internal void @lp_fsnap() {\0A\00" @.str5736 = private unnamed_addr constant [8 x i8] c"entry:\0A\00" @.str5737 = private unnamed_addr constant [32 x i8] c" %lv = load i64, ptr @lp_live\0A\00" @.str5738 = private unnamed_addr constant [32 x i8] c" store i64 %lv, ptr @lp_mlive\0A\00" @.str5739 = private unnamed_addr constant [34 x i8] c" %dlm = load i64, ptr @lp_dlive\0A\00" @.str5740 = private unnamed_addr constant [34 x i8] c" store i64 %dlm, ptr @lp_mdlive\0A\00" @.str5741 = private unnamed_addr constant [31 x i8] c" %pr = load i64, ptr @lp_pre\0A\00" @.str5742 = private unnamed_addr constant [31 x i8] c" store i64 %pr, ptr @lp_mpre\0A\00" @.str5743 = private unnamed_addr constant [32 x i8] c" %md = load i64, ptr @lp_made\0A\00" @.str5744 = private unnamed_addr constant [32 x i8] c" store i64 %md, ptr @lp_mmade\0A\00" @.str5745 = private unnamed_addr constant [33 x i8] c" %fr = load i64, ptr @lp_freed\0A\00" @.str5746 = private unnamed_addr constant [33 x i8] c" store i64 %fr, ptr @lp_mfreed\0A\00" @.str5747 = private unnamed_addr constant [31 x i8] c" store i32 0, ptr @lp_ntouch\0A\00" @.str5748 = private unnamed_addr constant [12 x i8] c" ret void\0A\00" @.str5749 = private unnamed_addr constant [3 x i8] c"}\0A\00" @.str5750 = private unnamed_addr constant [40 x i8] c"define internal void @lp_fsnap_all() {\0A\00" @.str5751 = private unnamed_addr constant [8 x i8] c"entry:\0A\00" @.str5752 = private unnamed_addr constant [33 x i8] c" %n = load i32, ptr @lp_site_n\0A\00" @.str5753 = private unnamed_addr constant [29 x i8] c" %n64 = zext i32 %n to i64\0A\00" @.str5754 = private unnamed_addr constant [24 x i8] c" %b = shl i64 %n64, 3\0A\00" @.str5755 = private unnamed_addr constant [66 x i8] c" call ptr @memcpy(ptr @lp_site_mark, ptr @lp_site_live, i64 %b)\0A\00" @.str5756 = private unnamed_addr constant [25 x i8] c" call void @lp_fsnap()\0A\00" @.str5757 = private unnamed_addr constant [12 x i8] c" ret void\0A\00" @.str5758 = private unnamed_addr constant [3 x i8] c"}\0A\00" @.str5759 = private unnamed_addr constant [30 x i8] c"define void @lp_mem_play() {\0A\00" @.str5760 = private unnamed_addr constant [8 x i8] c"entry:\0A\00" @.str5761 = private unnamed_addr constant [25 x i8] c" call void @lp_finit()\0A\00" @.str5762 = private unnamed_addr constant [28 x i8] c" %m = load i8, ptr @lp_fm\0A\00" @.str5763 = private unnamed_addr constant [28 x i8] c" %off = icmp ule i8 %m, 1\0A\00" @.str5764 = private unnamed_addr constant [38 x i8] c" br i1 %off, label %out, label %chk\0A\00" @.str5765 = private unnamed_addr constant [6 x i8] c"chk:\0A\00" @.str5766 = private unnamed_addr constant [32 x i8] c" %f = load i64, ptr @lp_frame\0A\00" @.str5767 = private unnamed_addr constant [28 x i8] c" %t = load i8, ptr @lp_ft\0A\00" @.str5768 = private unnamed_addr constant [26 x i8] c" %on = icmp ne i8 %t, 0\0A\00" @.str5769 = private unnamed_addr constant [42 x i8] c" br i1 %on, label %rewarm, label %start\0A\00" @.str5770 = private unnamed_addr constant [9 x i8] c"rewarm:\0A\00" @.str5771 = private unnamed_addr constant [102 x i8] c" ; a screen opened: warm again, but the cap keeps its first deadline - growth that never stops must\0A\00" @.str5772 = private unnamed_addr constant [97 x i8] c" ; not keep the fence from judging - and past it a rewarm has R3D_ALLOC_REWARM frames of grace\0A\00" @.str5773 = private unnamed_addr constant [25 x i8] c" call void @lp_flock()\0A\00" @.str5774 = private unnamed_addr constant [26 x i8] c" store i8 0, ptr @lp_fj\0A\00" @.str5775 = private unnamed_addr constant [29 x i8] c" store i64 0, ptr @lp_flat\0A\00" @.str5776 = private unnamed_addr constant [54 x i8] c" %rw = call i64 @lp_fenv(ptr @.lpf_rewarm, i64 120)\0A\00" @.str5777 = private unnamed_addr constant [37 x i8] c" %wmx = load i64, ptr @lp_warm_max\0A\00" @.str5778 = private unnamed_addr constant [34 x i8] c" %pf0 = load i64, ptr @lp_playf\0A\00" @.str5779 = private unnamed_addr constant [25 x i8] c" %fr = add i64 %f, %rw\0A\00" @.str5780 = private unnamed_addr constant [28 x i8] c" %pfg = sub i64 %fr, %wmx\0A\00" @.str5781 = private unnamed_addr constant [36 x i8] c" %later = icmp sgt i64 %pfg, %pf0\0A\00" @.str5782 = private unnamed_addr constant [47 x i8] c" %pf1 = select i1 %later, i64 %pfg, i64 %pf0\0A\00" @.str5783 = private unnamed_addr constant [33 x i8] c" store i64 %pf1, ptr @lp_playf\0A\00" @.str5784 = private unnamed_addr constant [27 x i8] c" call void @lp_funlock()\0A\00" @.str5785 = private unnamed_addr constant [17 x i8] c" br label %out\0A\00" @.str5786 = private unnamed_addr constant [8 x i8] c"start:\0A\00" @.str5787 = private unnamed_addr constant [32 x i8] c" %tab = load ptr, ptr @lp_tab\0A\00" @.str5788 = private unnamed_addr constant [34 x i8] c" %none = icmp eq ptr %tab, null\0A\00" @.str5789 = private unnamed_addr constant [40 x i8] c" br i1 %none, label %make, label %arm\0A\00" @.str5790 = private unnamed_addr constant [7 x i8] c"make:\0A\00" @.str5791 = private unnamed_addr constant [37 x i8] c" %mask = load i64, ptr @lp_tabmask\0A\00" @.str5792 = private unnamed_addr constant [25 x i8] c" %c = add i64 %mask, 1\0A\00" @.str5793 = private unnamed_addr constant [41 x i8] c" %p = call ptr @calloc(i64 %c, i64 16)\0A\00" @.str5794 = private unnamed_addr constant [29 x i8] c" store ptr %p, ptr @lp_tab\0A\00" @.str5795 = private unnamed_addr constant [17 x i8] c" br label %arm\0A\00" @.str5796 = private unnamed_addr constant [6 x i8] c"arm:\0A\00" @.str5797 = private unnamed_addr constant [31 x i8] c" store i64 %f, ptr @lp_playf\0A\00" @.str5798 = private unnamed_addr constant [29 x i8] c" store i64 0, ptr @lp_flat\0A\00" @.str5799 = private unnamed_addr constant [45 x i8] c" %cp0 = call ptr @getenv(ptr @.lpf_census)\0A\00" @.str5800 = private unnamed_addr constant [39 x i8] c" %cpd = load ptr, ptr @lp_census_def\0A\00" @.str5801 = private unnamed_addr constant [36 x i8] c" %hasenv = icmp ne ptr %cp0, null\0A\00" @.str5802 = private unnamed_addr constant [47 x i8] c" %cp = select i1 %hasenv, ptr %cp0, ptr %cpd\0A\00" @.str5803 = private unnamed_addr constant [33 x i8] c" store ptr %cp, ptr @lp_census\0A\00" @.str5804 = private unnamed_addr constant [34 x i8] c" %hascp = icmp ne ptr %cp, null\0A\00" @.str5805 = private unnamed_addr constant [39 x i8] c" br i1 %hascp, label %reg, label %go\0A\00" @.str5806 = private unnamed_addr constant [6 x i8] c"reg:\0A\00" @.str5807 = private unnamed_addr constant [37 x i8] c" call i32 @atexit(ptr @lp_fcensus)\0A\00" @.str5808 = private unnamed_addr constant [16 x i8] c" br label %go\0A\00" @.str5809 = private unnamed_addr constant [5 x i8] c"go:\0A\00" @.str5810 = private unnamed_addr constant [54 x i8] c" %ex = call i64 @lp_fenv(ptr @.lpf_exitscan, i64 0)\0A\00" @.str5811 = private unnamed_addr constant [29 x i8] c" %exq = icmp ne i64 %ex, 0\0A\00" @.str5812 = private unnamed_addr constant [39 x i8] c" br i1 %exq, label %regx, label %go2\0A\00" @.str5813 = private unnamed_addr constant [7 x i8] c"regx:\0A\00" @.str5814 = private unnamed_addr constant [39 x i8] c" call i32 @atexit(ptr @lp_fexitscan)\0A\00" @.str5815 = private unnamed_addr constant [17 x i8] c" br label %go2\0A\00" @.str5816 = private unnamed_addr constant [6 x i8] c"go2:\0A\00" @.str5817 = private unnamed_addr constant [29 x i8] c" call void @lp_fsnap_all()\0A\00" @.str5818 = private unnamed_addr constant [26 x i8] c" store i8 1, ptr @lp_ft\0A\00" @.str5819 = private unnamed_addr constant [17 x i8] c" br label %out\0A\00" @.str5820 = private unnamed_addr constant [6 x i8] c"out:\0A\00" @.str5821 = private unnamed_addr constant [12 x i8] c" ret void\0A\00" @.str5822 = private unnamed_addr constant [3 x i8] c"}\0A\00" @.str5823 = private unnamed_addr constant [33 x i8] c"define void @lp_mem_settled() {\0A\00" @.str5824 = private unnamed_addr constant [8 x i8] c"entry:\0A\00" @.str5825 = private unnamed_addr constant [28 x i8] c" %t = load i8, ptr @lp_ft\0A\00" @.str5826 = private unnamed_addr constant [26 x i8] c" %on = icmp ne i8 %t, 0\0A\00" @.str5827 = private unnamed_addr constant [37 x i8] c" br i1 %on, label %chk, label %out\0A\00" @.str5828 = private unnamed_addr constant [6 x i8] c"chk:\0A\00" @.str5829 = private unnamed_addr constant [28 x i8] c" %j = load i8, ptr @lp_fj\0A\00" @.str5830 = private unnamed_addr constant [31 x i8] c" %already = icmp ne i8 %j, 0\0A\00" @.str5831 = private unnamed_addr constant [41 x i8] c" br i1 %already, label %out, label %go\0A\00" @.str5832 = private unnamed_addr constant [5 x i8] c"go:\0A\00" @.str5833 = private unnamed_addr constant [25 x i8] c" call void @lp_flock()\0A\00" @.str5834 = private unnamed_addr constant [29 x i8] c" call void @lp_fsnap_all()\0A\00" @.str5835 = private unnamed_addr constant [34 x i8] c" call void @lp_fsettle_locked()\0A\00" @.str5836 = private unnamed_addr constant [27 x i8] c" call void @lp_funlock()\0A\00" @.str5837 = private unnamed_addr constant [17 x i8] c" br label %out\0A\00" @.str5838 = private unnamed_addr constant [6 x i8] c"out:\0A\00" @.str5839 = private unnamed_addr constant [12 x i8] c" ret void\0A\00" @.str5840 = private unnamed_addr constant [3 x i8] c"}\0A\00" @.str5841 = private unnamed_addr constant [29 x i8] c"define i64 @lp_mem_kept() {\0A\00" @.str5842 = private unnamed_addr constant [8 x i8] c"entry:\0A\00" @.str5843 = private unnamed_addr constant [28 x i8] c" %j = load i8, ptr @lp_fj\0A\00" @.str5844 = private unnamed_addr constant [26 x i8] c" %on = icmp ne i8 %j, 0\0A\00" @.str5845 = private unnamed_addr constant [39 x i8] c" br i1 %on, label %read, label %none\0A\00" @.str5846 = private unnamed_addr constant [7 x i8] c"none:\0A\00" @.str5847 = private unnamed_addr constant [13 x i8] c" ret i64 0\0A\00" @.str5848 = private unnamed_addr constant [7 x i8] c"read:\0A\00" @.str5849 = private unnamed_addr constant [25 x i8] c" call void @lp_flock()\0A\00" @.str5850 = private unnamed_addr constant [32 x i8] c" %lv = load i64, ptr @lp_live\0A\00" @.str5851 = private unnamed_addr constant [33 x i8] c" %sl = load i64, ptr @lp_slive\0A\00" @.str5852 = private unnamed_addr constant [31 x i8] c" %pr = load i64, ptr @lp_pre\0A\00" @.str5853 = private unnamed_addr constant [32 x i8] c" %sp = load i64, ptr @lp_spre\0A\00" @.str5854 = private unnamed_addr constant [25 x i8] c" %a = sub i64 %lv, %sl\0A\00" @.str5855 = private unnamed_addr constant [25 x i8] c" %b = sub i64 %pr, %sp\0A\00" @.str5856 = private unnamed_addr constant [23 x i8] c" %k = sub i64 %a, %b\0A\00" @.str5857 = private unnamed_addr constant [27 x i8] c" call void @lp_funlock()\0A\00" @.str5858 = private unnamed_addr constant [14 x i8] c" ret i64 %k\0A\00" @.str5859 = private unnamed_addr constant [3 x i8] c"}\0A\00" @.str5860 = private unnamed_addr constant [35 x i8] c"define i64 @lp_mem_bad_frames() {\0A\00" @.str5861 = private unnamed_addr constant [8 x i8] c"entry:\0A\00" @.str5862 = private unnamed_addr constant [31 x i8] c" %b = load i64, ptr @lp_fbad\0A\00" @.str5863 = private unnamed_addr constant [14 x i8] c" ret i64 %b\0A\00" @.str5864 = private unnamed_addr constant [3 x i8] c"}\0A\00" @.str5865 = private unnamed_addr constant [63 x i8] c"define internal i64 @lp_fdelta(i32 %s, ptr %cur, ptr %base) {\0A\00" @.str5866 = private unnamed_addr constant [8 x i8] c"entry:\0A\00" @.str5867 = private unnamed_addr constant [54 x i8] c" %sp = getelementptr inbounds i64, ptr %cur, i32 %s\0A\00" @.str5868 = private unnamed_addr constant [26 x i8] c" %v = load i64, ptr %sp\0A\00" @.str5869 = private unnamed_addr constant [55 x i8] c" %mp = getelementptr inbounds i64, ptr %base, i32 %s\0A\00" @.str5870 = private unnamed_addr constant [26 x i8] c" %m = load i64, ptr %mp\0A\00" @.str5871 = private unnamed_addr constant [23 x i8] c" %d = sub i64 %v, %m\0A\00" @.str5872 = private unnamed_addr constant [14 x i8] c" ret i64 %d\0A\00" @.str5873 = private unnamed_addr constant [3 x i8] c"}\0A\00" @.str5874 = private unnamed_addr constant [53 x i8] c"define internal i32 @lp_fsite_at(i32 %i, i1 %all) {\0A\00" @.str5875 = private unnamed_addr constant [8 x i8] c"entry:\0A\00" @.str5876 = private unnamed_addr constant [44 x i8] c" br i1 %all, label %every, label %touched\0A\00" @.str5877 = private unnamed_addr constant [8 x i8] c"every:\0A\00" @.str5878 = private unnamed_addr constant [14 x i8] c" ret i32 %i\0A\00" @.str5879 = private unnamed_addr constant [10 x i8] c"touched:\0A\00" @.str5880 = private unnamed_addr constant [74 x i8] c" %tp = getelementptr inbounds [512 x i32], ptr @lp_touch, i32 0, i32 %i\0A\00" @.str5881 = private unnamed_addr constant [26 x i8] c" %s = load i32, ptr %tp\0A\00" @.str5882 = private unnamed_addr constant [14 x i8] c" ret i32 %s\0A\00" @.str5883 = private unnamed_addr constant [3 x i8] c"}\0A\00" @.str5884 = private unnamed_addr constant [100 x i8] c"define internal { i64, i32 } @lp_fpick(ptr %cur, ptr %base, i1 %all, i32 %cnt, i64 %pb, i32 %ps) {\0A\00" @.str5885 = private unnamed_addr constant [8 x i8] c"entry:\0A\00" @.str5886 = private unnamed_addr constant [18 x i8] c" br label %loop\0A\00" @.str5887 = private unnamed_addr constant [7 x i8] c"loop:\0A\00" @.str5888 = private unnamed_addr constant [46 x i8] c" %i = phi i32 [ 0, %entry ], [ %i1, %body ]\0A\00" @.str5889 = private unnamed_addr constant [49 x i8] c" %bb0 = phi i64 [ 0, %entry ], [ %bb1, %body ]\0A\00" @.str5890 = private unnamed_addr constant [50 x i8] c" %bs0 = phi i32 [ -1, %entry ], [ %bs1, %body ]\0A\00" @.str5891 = private unnamed_addr constant [31 x i8] c" %go = icmp ult i32 %i, %cnt\0A\00" @.str5892 = private unnamed_addr constant [39 x i8] c" br i1 %go, label %body, label %done\0A\00" @.str5893 = private unnamed_addr constant [7 x i8] c"body:\0A\00" @.str5894 = private unnamed_addr constant [47 x i8] c" %s = call i32 @lp_fsite_at(i32 %i, i1 %all)\0A\00" @.str5895 = private unnamed_addr constant [57 x i8] c" %d = call i64 @lp_fdelta(i32 %s, ptr %cur, ptr %base)\0A\00" @.str5896 = private unnamed_addr constant [29 x i8] c" %pos = icmp sgt i64 %d, 0\0A\00" @.str5897 = private unnamed_addr constant [30 x i8] c" %lt = icmp slt i64 %d, %pb\0A\00" @.str5898 = private unnamed_addr constant [30 x i8] c" %eqb = icmp eq i64 %d, %pb\0A\00" @.str5899 = private unnamed_addr constant [31 x i8] c" %gts = icmp sgt i32 %s, %ps\0A\00" @.str5900 = private unnamed_addr constant [28 x i8] c" %tie = and i1 %eqb, %gts\0A\00" @.str5901 = private unnamed_addr constant [28 x i8] c" %below = or i1 %lt, %tie\0A\00" @.str5902 = private unnamed_addr constant [32 x i8] c" %gtb = icmp sgt i64 %d, %bb0\0A\00" @.str5903 = private unnamed_addr constant [32 x i8] c" %eqbb = icmp eq i64 %d, %bb0\0A\00" @.str5904 = private unnamed_addr constant [32 x i8] c" %lts = icmp slt i32 %s, %bs0\0A\00" @.str5905 = private unnamed_addr constant [30 x i8] c" %tie2 = and i1 %eqbb, %lts\0A\00" @.str5906 = private unnamed_addr constant [31 x i8] c" %better = or i1 %gtb, %tie2\0A\00" @.str5907 = private unnamed_addr constant [29 x i8] c" %c1 = and i1 %pos, %below\0A\00" @.str5908 = private unnamed_addr constant [31 x i8] c" %take = and i1 %c1, %better\0A\00" @.str5909 = private unnamed_addr constant [44 x i8] c" %bb1 = select i1 %take, i64 %d, i64 %bb0\0A\00" @.str5910 = private unnamed_addr constant [44 x i8] c" %bs1 = select i1 %take, i32 %s, i32 %bs0\0A\00" @.str5911 = private unnamed_addr constant [23 x i8] c" %i1 = add i32 %i, 1\0A\00" @.str5912 = private unnamed_addr constant [18 x i8] c" br label %loop\0A\00" @.str5913 = private unnamed_addr constant [7 x i8] c"done:\0A\00" @.str5914 = private unnamed_addr constant [53 x i8] c" %r0 = insertvalue { i64, i32 } undef, i64 %bb0, 0\0A\00" @.str5915 = private unnamed_addr constant [51 x i8] c" %r1 = insertvalue { i64, i32 } %r0, i32 %bs0, 1\0A\00" @.str5916 = private unnamed_addr constant [24 x i8] c" ret { i64, i32 } %r1\0A\00" @.str5917 = private unnamed_addr constant [3 x i8] c"}\0A\00" @.str5918 = private unnamed_addr constant [87 x i8] c"define internal void @lp_fsite_row(ptr %fp, i32 %fd, i64 %bytes, i32 %s, ptr %cfmt) {\0A\00" @.str5919 = private unnamed_addr constant [8 x i8] c"entry:\0A\00" @.str5920 = private unnamed_addr constant [62 x i8] c" %fnp = getelementptr inbounds ptr, ptr @lp_site_fn, i32 %s\0A\00" @.str5921 = private unnamed_addr constant [28 x i8] c" %fn = load ptr, ptr %fnp\0A\00" @.str5922 = private unnamed_addr constant [64 x i8] c" %flp = getelementptr inbounds ptr, ptr @lp_site_file, i32 %s\0A\00" @.str5923 = private unnamed_addr constant [28 x i8] c" %fl = load ptr, ptr %flp\0A\00" @.str5924 = private unnamed_addr constant [64 x i8] c" %lnp = getelementptr inbounds i32, ptr @lp_site_line, i32 %s\0A\00" @.str5925 = private unnamed_addr constant [28 x i8] c" %ln = load i32, ptr %lnp\0A\00" @.str5926 = private unnamed_addr constant [64 x i8] c" %kdp = getelementptr inbounds ptr, ptr @lp_site_kind, i32 %s\0A\00" @.str5927 = private unnamed_addr constant [28 x i8] c" %kd = load ptr, ptr %kdp\0A\00" @.str5928 = private unnamed_addr constant [35 x i8] c" %tofile = icmp ne ptr %fp, null\0A\00" @.str5929 = private unnamed_addr constant [42 x i8] c" br i1 %tofile, label %file, label %err\0A\00" @.str5930 = private unnamed_addr constant [7 x i8] c"file:\0A\00" @.str5931 = private unnamed_addr constant [105 x i8] c" call i32 (ptr, ptr, ...) @fprintf(ptr %fp, ptr %cfmt, i64 %bytes, ptr %fn, ptr %fl, i32 %ln, ptr %kd)\0A\00" @.str5932 = private unnamed_addr constant [18 x i8] c" br label %from\0A\00" @.str5933 = private unnamed_addr constant [6 x i8] c"err:\0A\00" @.str5934 = private unnamed_addr constant [109 x i8] c" call i32 (i32, ptr, ...) @dprintf(i32 %fd, ptr @.lpf_row, i64 %bytes, ptr %fn, ptr %fl, i32 %ln, ptr %kd)\0A\00" @.str5935 = private unnamed_addr constant [18 x i8] c" br label %from\0A\00" @.str5936 = private unnamed_addr constant [7 x i8] c"from:\0A\00" @.str5937 = private unnamed_addr constant [54 x i8] c" call void @lp_fsite_from(ptr %fp, i32 %s, ptr %fn)\0A\00" @.str5938 = private unnamed_addr constant [12 x i8] c" ret void\0A\00" @.str5939 = private unnamed_addr constant [3 x i8] c"}\0A\00" @.str5940 = private unnamed_addr constant [73 x i8] c"; the largest `rows` sites by what they hold over `base`, largest first\0A\00" @.str5941 = private unnamed_addr constant [107 x i8] c"define internal void @lp_franked(ptr %fp, ptr %cur, ptr %base, ptr %cfmt, i1 %all, i32 %cnt, i32 %rows) {\0A\00" @.str5942 = private unnamed_addr constant [8 x i8] c"entry:\0A\00" @.str5943 = private unnamed_addr constant [18 x i8] c" br label %pass\0A\00" @.str5944 = private unnamed_addr constant [7 x i8] c"pass:\0A\00" @.str5945 = private unnamed_addr constant [50 x i8] c" %row = phi i32 [ 0, %entry ], [ %row1, %show ]\0A\00" @.str5946 = private unnamed_addr constant [65 x i8] c" %pb = phi i64 [ 9223372036854775807, %entry ], [ %bb, %show ]\0A\00" @.str5947 = private unnamed_addr constant [48 x i8] c" %ps = phi i32 [ -1, %entry ], [ %bs, %show ]\0A\00" @.str5948 = private unnamed_addr constant [36 x i8] c" %more = icmp ult i32 %row, %rows\0A\00" @.str5949 = private unnamed_addr constant [41 x i8] c" br i1 %more, label %scan, label %tail\0A\00" @.str5950 = private unnamed_addr constant [7 x i8] c"scan:\0A\00" @.str5951 = private unnamed_addr constant [94 x i8] c" %r = call { i64, i32 } @lp_fpick(ptr %cur, ptr %base, i1 %all, i32 %cnt, i64 %pb, i32 %ps)\0A\00" @.str5952 = private unnamed_addr constant [41 x i8] c" %bb = extractvalue { i64, i32 } %r, 0\0A\00" @.str5953 = private unnamed_addr constant [41 x i8] c" %bs = extractvalue { i64, i32 } %r, 1\0A\00" @.str5954 = private unnamed_addr constant [32 x i8] c" %found = icmp sge i32 %bs, 0\0A\00" @.str5955 = private unnamed_addr constant [42 x i8] c" br i1 %found, label %show, label %tail\0A\00" @.str5956 = private unnamed_addr constant [7 x i8] c"show:\0A\00" @.str5957 = private unnamed_addr constant [72 x i8] c" call void @lp_fsite_row(ptr %fp, i32 2, i64 %bb, i32 %bs, ptr %cfmt)\0A\00" @.str5958 = private unnamed_addr constant [27 x i8] c" %row1 = add i32 %row, 1\0A\00" @.str5959 = private unnamed_addr constant [18 x i8] c" br label %pass\0A\00" @.str5960 = private unnamed_addr constant [7 x i8] c"tail:\0A\00" @.str5961 = private unnamed_addr constant [12 x i8] c" ret void\0A\00" @.str5962 = private unnamed_addr constant [3 x i8] c"}\0A\00" @.str5963 = private unnamed_addr constant [55 x i8] c"define internal void @lp_freport(i64 %f, i64 %kept) {\0A\00" @.str5964 = private unnamed_addr constant [8 x i8] c"entry:\0A\00" @.str5965 = private unnamed_addr constant [32 x i8] c" %md = load i64, ptr @lp_made\0A\00" @.str5966 = private unnamed_addr constant [33 x i8] c" %mm = load i64, ptr @lp_mmade\0A\00" @.str5967 = private unnamed_addr constant [28 x i8] c" %made = sub i64 %md, %mm\0A\00" @.str5968 = private unnamed_addr constant [33 x i8] c" %fr = load i64, ptr @lp_freed\0A\00" @.str5969 = private unnamed_addr constant [34 x i8] c" %mf = load i64, ptr @lp_mfreed\0A\00" @.str5970 = private unnamed_addr constant [29 x i8] c" %freed = sub i64 %fr, %mf\0A\00" @.str5971 = private unnamed_addr constant [101 x i8] c" call i32 (i32, ptr, ...) @dprintf(i32 2, ptr @.lpf_hdr, i64 %f, i64 %kept, i64 %made, i64 %freed)\0A\00" @.str5972 = private unnamed_addr constant [34 x i8] c" %nt = load i32, ptr @lp_ntouch\0A\00" @.str5973 = private unnamed_addr constant [32 x i8] c" %all = icmp ugt i32 %nt, 512\0A\00" @.str5974 = private unnamed_addr constant [34 x i8] c" %sn = load i32, ptr @lp_site_n\0A\00" @.str5975 = private unnamed_addr constant [43 x i8] c" %cnt = select i1 %all, i32 %sn, i32 %nt\0A\00" @.str5976 = private unnamed_addr constant [116 x i8] c" call void @lp_franked(ptr null, ptr @lp_site_live, ptr @lp_site_mark, ptr @.lpf_crow, i1 %all, i32 %cnt, i32 12)\0A\00" @.str5977 = private unnamed_addr constant [12 x i8] c" ret void\0A\00" @.str5978 = private unnamed_addr constant [3 x i8] c"}\0A\00" @.str5979 = private unnamed_addr constant [97 x i8] c"; R3D_ALLOC_CENSUS=, written at exit: the run's totals since play settled, and every site\0A\00" @.str5980 = private unnamed_addr constant [51 x i8] c"; that holds more than it did then, largest first\0A\00" @.str5981 = private unnamed_addr constant [29 x i8] c"define void @lp_fcensus() {\0A\00" @.str5982 = private unnamed_addr constant [8 x i8] c"entry:\0A\00" @.str5983 = private unnamed_addr constant [36 x i8] c" %path = load ptr, ptr @lp_census\0A\00" @.str5984 = private unnamed_addr constant [35 x i8] c" %none = icmp eq ptr %path, null\0A\00" @.str5985 = private unnamed_addr constant [40 x i8] c" br i1 %none, label %out, label %open\0A\00" @.str5986 = private unnamed_addr constant [7 x i8] c"open:\0A\00" @.str5987 = private unnamed_addr constant [30 x i8] c" %zn = call i64 @lp_fzone()\0A\00" @.str5988 = private unnamed_addr constant [41 x i8] c" %jn = call i64 @lp_fnat(ptr @.lpf_jb)\0A\00" @.str5989 = private unnamed_addr constant [42 x i8] c" %jpk = call i64 @lp_fnat(ptr @.lpf_jp)\0A\00" @.str5990 = private unnamed_addr constant [41 x i8] c" %vn = call i64 @lp_fnat(ptr @.lpf_vb)\0A\00" @.str5991 = private unnamed_addr constant [42 x i8] c" %vpk = call i64 @lp_fnat(ptr @.lpf_vp)\0A\00" @.str5992 = private unnamed_addr constant [49 x i8] c" %fp = call ptr @fopen(ptr %path, ptr @.lpf_w)\0A\00" @.str5993 = private unnamed_addr constant [32 x i8] c" %bad = icmp eq ptr %fp, null\0A\00" @.str5994 = private unnamed_addr constant [40 x i8] c" br i1 %bad, label %out, label %write\0A\00" @.str5995 = private unnamed_addr constant [8 x i8] c"write:\0A\00" @.str5996 = private unnamed_addr constant [26 x i8] c" store i8 0, ptr @lp_ft\0A\00" @.str5997 = private unnamed_addr constant [34 x i8] c" %j = load i64, ptr @lp_fjudged\0A\00" @.str5998 = private unnamed_addr constant [31 x i8] c" %b = load i64, ptr @lp_fbad\0A\00" @.str5999 = private unnamed_addr constant [32 x i8] c" %k = call i64 @lp_mem_kept()\0A\00" @.str6000 = private unnamed_addr constant [32 x i8] c" %md = load i64, ptr @lp_made\0A\00" @.str6001 = private unnamed_addr constant [33 x i8] c" %fr = load i64, ptr @lp_freed\0A\00" @.str6002 = private unnamed_addr constant [32 x i8] c" %ov = load i64, ptr @lp_over\0A\00" @.str6003 = private unnamed_addr constant [113 x i8] c" call i32 (ptr, ptr, ...) @fprintf(ptr %fp, ptr @.lpf_chdr, i64 %j, i64 %b, i64 %k, i64 %md, i64 %fr, i64 %ov)\0A\00" @.str6004 = private unnamed_addr constant [27 x i8] c" %jq = icmp ne i64 %j, 0\0A\00" @.str6005 = private unnamed_addr constant [32 x i8] c" %zs = load i64, ptr @lp_zset\0A\00" @.str6006 = private unnamed_addr constant [26 x i8] c" %zd = sub i64 %zn, %zs\0A\00" @.str6007 = private unnamed_addr constant [32 x i8] c" %js = load i64, ptr @lp_jset\0A\00" @.str6008 = private unnamed_addr constant [26 x i8] c" %jd = sub i64 %jn, %js\0A\00" @.str6009 = private unnamed_addr constant [32 x i8] c" %vs = load i64, ptr @lp_vset\0A\00" @.str6010 = private unnamed_addr constant [26 x i8] c" %vd = sub i64 %vn, %vs\0A\00" @.str6011 = private unnamed_addr constant [34 x i8] c" %dnw = load i64, ptr @lp_dlive\0A\00" @.str6012 = private unnamed_addr constant [35 x i8] c" %dst = load i64, ptr @lp_sdlive\0A\00" @.str6013 = private unnamed_addr constant [29 x i8] c" %dgr = sub i64 %dnw, %dst\0A\00" @.str6014 = private unnamed_addr constant [27 x i8] c" %nat0 = sub i64 %zd, %k\0A\00" @.str6015 = private unnamed_addr constant [30 x i8] c" %nat = sub i64 %nat0, %dgr\0A\00" @.str6016 = private unnamed_addr constant [29 x i8] c" %nat2 = sub i64 %nat, %jd\0A\00" @.str6017 = private unnamed_addr constant [30 x i8] c" %nat3 = sub i64 %nat2, %vd\0A\00" @.str6018 = private unnamed_addr constant [43 x i8] c" %nat1 = select i1 %jq, i64 %nat3, i64 0\0A\00" @.str6019 = private unnamed_addr constant [73 x i8] c" call i32 (ptr, ptr, ...) @fprintf(ptr %fp, ptr @.lpf_cnat, i64 %nat1)\0A\00" @.str6020 = private unnamed_addr constant [35 x i8] c" %dnow = load i64, ptr @lp_dlive\0A\00" @.str6021 = private unnamed_addr constant [36 x i8] c" %dset = load i64, ptr @lp_sdlive\0A\00" @.str6022 = private unnamed_addr constant [31 x i8] c" %ddc = sub i64 %dnow, %dset\0A\00" @.str6023 = private unnamed_addr constant [42 x i8] c" %ddc1 = select i1 %jq, i64 %ddc, i64 0\0A\00" @.str6024 = private unnamed_addr constant [74 x i8] c" call i32 (ptr, ptr, ...) @fprintf(ptr %fp, ptr @.lpf_cdecl, i64 %ddc1)\0A\00" @.str6025 = private unnamed_addr constant [34 x i8] c" %capn = load i64, ptr @lp_capn\0A\00" @.str6026 = private unnamed_addr constant [73 x i8] c" call i32 (ptr, ptr, ...) @fprintf(ptr %fp, ptr @.lpf_ccap, i64 %capn)\0A\00" @.str6027 = private unnamed_addr constant [35 x i8] c" %ah0 = load i64, ptr @lp_ar_hw0\0A\00" @.str6028 = private unnamed_addr constant [35 x i8] c" %ah1 = load i64, ptr @lp_ar_hw1\0A\00" @.str6029 = private unnamed_addr constant [81 x i8] c" call i32 (ptr, ptr, ...) @fprintf(ptr %fp, ptr @.lpf_car, i64 %ah0, i64 %ah1)\0A\00" @.str6030 = private unnamed_addr constant [40 x i8] c" %jd1 = select i1 %jq, i64 %jd, i64 0\0A\00" @.str6031 = private unnamed_addr constant [83 x i8] c" call i32 (ptr, ptr, ...) @fprintf(ptr %fp, ptr @.lpf_cjolt, i64 %jd1, i64 %jpk)\0A\00" @.str6032 = private unnamed_addr constant [40 x i8] c" %vd1 = select i1 %jq, i64 %vd, i64 0\0A\00" @.str6033 = private unnamed_addr constant [81 x i8] c" call i32 (ptr, ptr, ...) @fprintf(ptr %fp, ptr @.lpf_cvk, i64 %vd1, i64 %vpk)\0A\00" @.str6034 = private unnamed_addr constant [34 x i8] c" %sn = load i32, ptr @lp_site_n\0A\00" @.str6035 = private unnamed_addr constant [33 x i8] c" %dun = load i64, ptr @lp_dunb\0A\00" @.str6036 = private unnamed_addr constant [73 x i8] c" call i32 (ptr, ptr, ...) @fprintf(ptr %fp, ptr @.lpf_cdunb, i64 %dun)\0A\00" @.str6037 = private unnamed_addr constant [111 x i8] c" call void @lp_franked(ptr %fp, ptr @lp_site_live, ptr @lp_site_base, ptr @.lpf_crow, i1 1, i32 %sn, i32 40)\0A\00" @.str6038 = private unnamed_addr constant [114 x i8] c" call void @lp_franked(ptr %fp, ptr @lp_site_dlive, ptr @lp_site_dbase, ptr @.lpf_cdrow, i1 1, i32 %sn, i32 40)\0A\00" @.str6039 = private unnamed_addr constant [34 x i8] c" call void @lp_fowners(ptr %fp)\0A\00" @.str6040 = private unnamed_addr constant [29 x i8] c" call i32 @fclose(ptr %fp)\0A\00" @.str6041 = private unnamed_addr constant [17 x i8] c" br label %out\0A\00" @.str6042 = private unnamed_addr constant [6 x i8] c"out:\0A\00" @.str6043 = private unnamed_addr constant [12 x i8] c" ret void\0A\00" @.str6044 = private unnamed_addr constant [3 x i8] c"}\0A\00" @.str6045 = private unnamed_addr constant [44 x i8] c"define internal void @lp_fmark_touched() {\0A\00" @.str6046 = private unnamed_addr constant [8 x i8] c"entry:\0A\00" @.str6047 = private unnamed_addr constant [34 x i8] c" %nt = load i32, ptr @lp_ntouch\0A\00" @.str6048 = private unnamed_addr constant [32 x i8] c" %all = icmp ugt i32 %nt, 512\0A\00" @.str6049 = private unnamed_addr constant [41 x i8] c" br i1 %all, label %every, label %some\0A\00" @.str6050 = private unnamed_addr constant [8 x i8] c"every:\0A\00" @.str6051 = private unnamed_addr constant [29 x i8] c" call void @lp_fsnap_all()\0A\00" @.str6052 = private unnamed_addr constant [12 x i8] c" ret void\0A\00" @.str6053 = private unnamed_addr constant [7 x i8] c"some:\0A\00" @.str6054 = private unnamed_addr constant [18 x i8] c" br label %loop\0A\00" @.str6055 = private unnamed_addr constant [7 x i8] c"loop:\0A\00" @.str6056 = private unnamed_addr constant [45 x i8] c" %i = phi i32 [ 0, %some ], [ %i1, %body ]\0A\00" @.str6057 = private unnamed_addr constant [30 x i8] c" %go = icmp ult i32 %i, %nt\0A\00" @.str6058 = private unnamed_addr constant [39 x i8] c" br i1 %go, label %body, label %done\0A\00" @.str6059 = private unnamed_addr constant [7 x i8] c"body:\0A\00" @.str6060 = private unnamed_addr constant [74 x i8] c" %tp = getelementptr inbounds [512 x i32], ptr @lp_touch, i32 0, i32 %i\0A\00" @.str6061 = private unnamed_addr constant [26 x i8] c" %s = load i32, ptr %tp\0A\00" @.str6062 = private unnamed_addr constant [63 x i8] c" %sp = getelementptr inbounds i64, ptr @lp_site_live, i32 %s\0A\00" @.str6063 = private unnamed_addr constant [26 x i8] c" %v = load i64, ptr %sp\0A\00" @.str6064 = private unnamed_addr constant [63 x i8] c" %mp = getelementptr inbounds i64, ptr @lp_site_mark, i32 %s\0A\00" @.str6065 = private unnamed_addr constant [25 x i8] c" store i64 %v, ptr %mp\0A\00" @.str6066 = private unnamed_addr constant [23 x i8] c" %i1 = add i32 %i, 1\0A\00" @.str6067 = private unnamed_addr constant [18 x i8] c" br label %loop\0A\00" @.str6068 = private unnamed_addr constant [7 x i8] c"done:\0A\00" @.str6069 = private unnamed_addr constant [25 x i8] c" call void @lp_fsnap()\0A\00" @.str6070 = private unnamed_addr constant [12 x i8] c" ret void\0A\00" @.str6071 = private unnamed_addr constant [3 x i8] c"}\0A\00" @.str6072 = private unnamed_addr constant [84 x i8] c"; malloc's live bytes over every zone (0 where there is no malloc_zone_statistics)\0A\00" @.str6073 = private unnamed_addr constant [35 x i8] c"define internal i64 @lp_fzone() {\0A\00" @.str6074 = private unnamed_addr constant [8 x i8] c"entry:\0A\00" @.str6075 = private unnamed_addr constant [52 x i8] c" %has = icmp ne ptr @malloc_zone_statistics, null\0A\00" @.str6076 = private unnamed_addr constant [40 x i8] c" br i1 %has, label %read, label %none\0A\00" @.str6077 = private unnamed_addr constant [7 x i8] c"none:\0A\00" @.str6078 = private unnamed_addr constant [13 x i8] c" ret i64 0\0A\00" @.str6079 = private unnamed_addr constant [7 x i8] c"read:\0A\00" @.str6080 = private unnamed_addr constant [35 x i8] c" %st = alloca [4 x i64], align 8\0A\00" @.str6081 = private unnamed_addr constant [56 x i8] c" call void @malloc_zone_statistics(ptr null, ptr %st)\0A\00" @.str6082 = private unnamed_addr constant [55 x i8] c" %p = getelementptr [4 x i64], ptr %st, i32 0, i32 1\0A\00" @.str6083 = private unnamed_addr constant [25 x i8] c" %n = load i64, ptr %p\0A\00" @.str6084 = private unnamed_addr constant [14 x i8] c" ret i64 %n\0A\00" @.str6085 = private unnamed_addr constant [3 x i8] c"}\0A\00" @.str6086 = private unnamed_addr constant [101 x i8] c"; a counted native library's number, found by name (ludic.physics' jph_heap_*, the Vulkan runtime's\0A\00" @.str6087 = private unnamed_addr constant [102 x i8] c"; lvk_ac_*): 0 when the program does not carry it, and nothing is declared that the package declares\0A\00" @.str6088 = private unnamed_addr constant [43 x i8] c"define internal i64 @lp_fnat(ptr %name) {\0A\00" @.str6089 = private unnamed_addr constant [8 x i8] c"entry:\0A\00" @.str6090 = private unnamed_addr constant [42 x i8] c" %rtld_default = inttoptr i64 -2 to ptr\0A\00" @.str6091 = private unnamed_addr constant [54 x i8] c" %f = call ptr @dlsym(ptr %rtld_default, ptr %name)\0A\00" @.str6092 = private unnamed_addr constant [32 x i8] c" %none = icmp eq ptr %f, null\0A\00" @.str6093 = private unnamed_addr constant [41 x i8] c" br i1 %none, label %zero, label %call\0A\00" @.str6094 = private unnamed_addr constant [7 x i8] c"zero:\0A\00" @.str6095 = private unnamed_addr constant [13 x i8] c" ret i64 0\0A\00" @.str6096 = private unnamed_addr constant [7 x i8] c"call:\0A\00" @.str6097 = private unnamed_addr constant [22 x i8] c" %v = call i64 %f()\0A\00" @.str6098 = private unnamed_addr constant [14 x i8] c" ret i64 %v\0A\00" @.str6099 = private unnamed_addr constant [3 x i8] c"}\0A\00" @.str6100 = private unnamed_addr constant [98 x i8] c"; 25.5a: a list declared @max(n) grew past n, or a package's table filled (Mem.over): said under\0A\00" @.str6101 = private unnamed_addr constant [81 x i8] c"; warn, and under fail the run ends with exit 87 - silent when the fence is off\0A\00" @.str6102 = private unnamed_addr constant [59 x i8] c"define void @lp_cap_over(ptr %name, i32 %cap, i32 %len) {\0A\00" @.str6103 = private unnamed_addr constant [8 x i8] c"entry:\0A\00" @.str6104 = private unnamed_addr constant [25 x i8] c" call void @lp_finit()\0A\00" @.str6105 = private unnamed_addr constant [28 x i8] c" %m = load i8, ptr @lp_fm\0A\00" @.str6106 = private unnamed_addr constant [28 x i8] c" %off = icmp ule i8 %m, 1\0A\00" @.str6107 = private unnamed_addr constant [40 x i8] c" br i1 %off, label %out, label %count\0A\00" @.str6108 = private unnamed_addr constant [8 x i8] c"count:\0A\00" @.str6109 = private unnamed_addr constant [31 x i8] c" %c = load i64, ptr @lp_capn\0A\00" @.str6110 = private unnamed_addr constant [23 x i8] c" %c1 = add i64 %c, 1\0A\00" @.str6111 = private unnamed_addr constant [31 x i8] c" store i64 %c1, ptr @lp_capn\0A\00" @.str6112 = private unnamed_addr constant [28 x i8] c" %say = icmp uge i8 %m, 3\0A\00" @.str6113 = private unnamed_addr constant [40 x i8] c" br i1 %say, label %which, label %out\0A\00" @.str6114 = private unnamed_addr constant [8 x i8] c"which:\0A\00" @.str6115 = private unnamed_addr constant [33 x i8] c" %isfull = icmp eq i32 %cap, 0\0A\00" @.str6116 = private unnamed_addr constant [43 x i8] c" br i1 %isfull, label %full, label %over\0A\00" @.str6117 = private unnamed_addr constant [7 x i8] c"full:\0A\00" @.str6118 = private unnamed_addr constant [71 x i8] c" call i32 (i32, ptr, ...) @dprintf(i32 2, ptr @.lpf_full, ptr %name)\0A\00" @.str6119 = private unnamed_addr constant [19 x i8] c" br label %judge\0A\00" @.str6120 = private unnamed_addr constant [7 x i8] c"over:\0A\00" @.str6121 = private unnamed_addr constant [94 x i8] c" call i32 (i32, ptr, ...) @dprintf(i32 2, ptr @.lpf_capover, ptr %name, i32 %cap, i32 %len)\0A\00" @.str6122 = private unnamed_addr constant [19 x i8] c" br label %judge\0A\00" @.str6123 = private unnamed_addr constant [8 x i8] c"judge:\0A\00" @.str6124 = private unnamed_addr constant [28 x i8] c" %fail = icmp eq i8 %m, 4\0A\00" @.str6125 = private unnamed_addr constant [39 x i8] c" br i1 %fail, label %die, label %out\0A\00" @.str6126 = private unnamed_addr constant [6 x i8] c"die:\0A\00" @.str6127 = private unnamed_addr constant [63 x i8] c" call i32 (i32, ptr, ...) @dprintf(i32 2, ptr @.lpf_capfail)\0A\00" @.str6128 = private unnamed_addr constant [27 x i8] c" call void @exit(i32 87)\0A\00" @.str6129 = private unnamed_addr constant [15 x i8] c" unreachable\0A\00" @.str6130 = private unnamed_addr constant [6 x i8] c"out:\0A\00" @.str6131 = private unnamed_addr constant [12 x i8] c" ret void\0A\00" @.str6132 = private unnamed_addr constant [3 x i8] c"}\0A\00" @.str6133 = private unnamed_addr constant [98 x i8] c"; 25.5b: a leak by reachability. From every global (the states among them) each word that is the\0A\00" @.str6134 = private unnamed_addr constant [99 x i8] c"; start of a heap block (malloc_size says so) is followed, conservatively, through every block; a\0A\00" @.str6135 = private unnamed_addr constant [97 x i8] c"; tracked block nothing reaches is a leak whatever a frame's totals say. R3D_ALLOC_SCAN=\0A\00" @.str6136 = private unnamed_addr constant [89 x i8] c"; runs it at that frame's mark (when no function is running), Mem.scan() whenever asked\0A\00" @.str6137 = private unnamed_addr constant [39 x i8] c"define internal i1 @lp_vput(i64 %k) {\0A\00" @.str6138 = private unnamed_addr constant [8 x i8] c"entry:\0A\00" @.str6139 = private unnamed_addr constant [35 x i8] c" %mask = load i64, ptr @lp_vmask\0A\00" @.str6140 = private unnamed_addr constant [38 x i8] c" %tab = load ptr, ptr @lp_visit_set\0A\00" @.str6141 = private unnamed_addr constant [35 x i8] c" %h = call i64 @lp_fhash(i64 %k)\0A\00" @.str6142 = private unnamed_addr constant [19 x i8] c" br label %probe\0A\00" @.str6143 = private unnamed_addr constant [8 x i8] c"probe:\0A\00" @.str6144 = private unnamed_addr constant [47 x i8] c" %i = phi i64 [ %h, %entry ], [ %i1, %next ]\0A\00" @.str6145 = private unnamed_addr constant [27 x i8] c" %im = and i64 %i, %mask\0A\00" @.str6146 = private unnamed_addr constant [54 x i8] c" %e = getelementptr inbounds i64, ptr %tab, i64 %im\0A\00" @.str6147 = private unnamed_addr constant [26 x i8] c" %ek = load i64, ptr %e\0A\00" @.str6148 = private unnamed_addr constant [31 x i8] c" %empty = icmp eq i64 %ek, 0\0A\00" @.str6149 = private unnamed_addr constant [40 x i8] c" br i1 %empty, label %put, label %cmp\0A\00" @.str6150 = private unnamed_addr constant [6 x i8] c"cmp:\0A\00" @.str6151 = private unnamed_addr constant [31 x i8] c" %same = icmp eq i64 %ek, %k\0A\00" @.str6152 = private unnamed_addr constant [40 x i8] c" br i1 %same, label %was, label %next\0A\00" @.str6153 = private unnamed_addr constant [7 x i8] c"next:\0A\00" @.str6154 = private unnamed_addr constant [24 x i8] c" %i1 = add i64 %im, 1\0A\00" @.str6155 = private unnamed_addr constant [19 x i8] c" br label %probe\0A\00" @.str6156 = private unnamed_addr constant [6 x i8] c"put:\0A\00" @.str6157 = private unnamed_addr constant [24 x i8] c" store i64 %k, ptr %e\0A\00" @.str6158 = private unnamed_addr constant [12 x i8] c" ret i1 1\0A\00" @.str6159 = private unnamed_addr constant [6 x i8] c"was:\0A\00" @.str6160 = private unnamed_addr constant [12 x i8] c" ret i1 0\0A\00" @.str6161 = private unnamed_addr constant [3 x i8] c"}\0A\00" @.str6162 = private unnamed_addr constant [39 x i8] c"define internal i1 @lp_vhas(i64 %k) {\0A\00" @.str6163 = private unnamed_addr constant [8 x i8] c"entry:\0A\00" @.str6164 = private unnamed_addr constant [35 x i8] c" %mask = load i64, ptr @lp_vmask\0A\00" @.str6165 = private unnamed_addr constant [38 x i8] c" %tab = load ptr, ptr @lp_visit_set\0A\00" @.str6166 = private unnamed_addr constant [35 x i8] c" %h = call i64 @lp_fhash(i64 %k)\0A\00" @.str6167 = private unnamed_addr constant [19 x i8] c" br label %probe\0A\00" @.str6168 = private unnamed_addr constant [8 x i8] c"probe:\0A\00" @.str6169 = private unnamed_addr constant [47 x i8] c" %i = phi i64 [ %h, %entry ], [ %i1, %next ]\0A\00" @.str6170 = private unnamed_addr constant [27 x i8] c" %im = and i64 %i, %mask\0A\00" @.str6171 = private unnamed_addr constant [54 x i8] c" %e = getelementptr inbounds i64, ptr %tab, i64 %im\0A\00" @.str6172 = private unnamed_addr constant [26 x i8] c" %ek = load i64, ptr %e\0A\00" @.str6173 = private unnamed_addr constant [31 x i8] c" %empty = icmp eq i64 %ek, 0\0A\00" @.str6174 = private unnamed_addr constant [39 x i8] c" br i1 %empty, label %no, label %cmp\0A\00" @.str6175 = private unnamed_addr constant [6 x i8] c"cmp:\0A\00" @.str6176 = private unnamed_addr constant [31 x i8] c" %same = icmp eq i64 %ek, %k\0A\00" @.str6177 = private unnamed_addr constant [40 x i8] c" br i1 %same, label %yes, label %next\0A\00" @.str6178 = private unnamed_addr constant [7 x i8] c"next:\0A\00" @.str6179 = private unnamed_addr constant [24 x i8] c" %i1 = add i64 %im, 1\0A\00" @.str6180 = private unnamed_addr constant [19 x i8] c" br label %probe\0A\00" @.str6181 = private unnamed_addr constant [6 x i8] c"yes:\0A\00" @.str6182 = private unnamed_addr constant [12 x i8] c" ret i1 1\0A\00" @.str6183 = private unnamed_addr constant [5 x i8] c"no:\0A\00" @.str6184 = private unnamed_addr constant [12 x i8] c" ret i1 0\0A\00" @.str6185 = private unnamed_addr constant [3 x i8] c"}\0A\00" @.str6186 = private unnamed_addr constant [103 x i8] c"; a candidate is followed only if it could be a heap block's start: 16-aligned (malloc's), inside the\0A\00" @.str6187 = private unnamed_addr constant [98 x i8] c"; user address space (above the first 4 GB, below 2^47 - a word with high bits is data, and some\0A\00" @.str6188 = private unnamed_addr constant [98 x i8] c"; zones fault looking one up), and not in the frame arena; only then does malloc_size look at it\0A\00" @.str6189 = private unnamed_addr constant [42 x i8] c"define internal void @lp_visit(i64 %w) {\0A\00" @.str6190 = private unnamed_addr constant [8 x i8] c"entry:\0A\00" @.str6191 = private unnamed_addr constant [24 x i8] c" %al = and i64 %w, 15\0A\00" @.str6192 = private unnamed_addr constant [29 x i8] c" %mis = icmp ne i64 %al, 0\0A\00" @.str6193 = private unnamed_addr constant [38 x i8] c" %low = icmp ult i64 %w, 4294967296\0A\00" @.str6194 = private unnamed_addr constant [44 x i8] c" %high = icmp uge i64 %w, 140737488355328\0A\00" @.str6195 = private unnamed_addr constant [26 x i8] c" %s1 = or i1 %mis, %low\0A\00" @.str6196 = private unnamed_addr constant [26 x i8] c" %s2 = or i1 %s1, %high\0A\00" @.str6197 = private unnamed_addr constant [39 x i8] c" br i1 %s2, label %out, label %arena\0A\00" @.str6198 = private unnamed_addr constant [8 x i8] c"arena:\0A\00" @.str6199 = private unnamed_addr constant [32 x i8] c" %wp = inttoptr i64 %w to ptr\0A\00" @.str6200 = private unnamed_addr constant [41 x i8] c" %inar = call i1 @lp_in_arena(ptr %wp)\0A\00" @.str6201 = private unnamed_addr constant [40 x i8] c" br i1 %inar, label %out, label %size\0A\00" @.str6202 = private unnamed_addr constant [7 x i8] c"size:\0A\00" @.str6203 = private unnamed_addr constant [31 x i8] c" %p = inttoptr i64 %w to ptr\0A\00" @.str6204 = private unnamed_addr constant [39 x i8] c" %sz = call i64 @malloc_size(ptr %p)\0A\00" @.str6205 = private unnamed_addr constant [28 x i8] c" %nz = icmp eq i64 %sz, 0\0A\00" @.str6206 = private unnamed_addr constant [38 x i8] c" br i1 %nz, label %out, label %mark\0A\00" @.str6207 = private unnamed_addr constant [7 x i8] c"mark:\0A\00" @.str6208 = private unnamed_addr constant [35 x i8] c" %new = call i1 @lp_vput(i64 %w)\0A\00" @.str6209 = private unnamed_addr constant [40 x i8] c" br i1 %new, label %queue, label %out\0A\00" @.str6210 = private unnamed_addr constant [8 x i8] c"queue:\0A\00" @.str6211 = private unnamed_addr constant [30 x i8] c" %n = load i64, ptr @lp_wln\0A\00" @.str6212 = private unnamed_addr constant [34 x i8] c" %cap = load i64, ptr @lp_wlcap\0A\00" @.str6213 = private unnamed_addr constant [33 x i8] c" %full = icmp uge i64 %n, %cap\0A\00" @.str6214 = private unnamed_addr constant [41 x i8] c" br i1 %full, label %grow, label %push\0A\00" @.str6215 = private unnamed_addr constant [7 x i8] c"grow:\0A\00" @.str6216 = private unnamed_addr constant [26 x i8] c" %nc0 = shl i64 %cap, 1\0A\00" @.str6217 = private unnamed_addr constant [37 x i8] c" %small = icmp ult i64 %nc0, 65536\0A\00" @.str6218 = private unnamed_addr constant [47 x i8] c" %nc = select i1 %small, i64 65536, i64 %nc0\0A\00" @.str6219 = private unnamed_addr constant [31 x i8] c" %old = load ptr, ptr @lp_wl\0A\00" @.str6220 = private unnamed_addr constant [27 x i8] c" %bytes = shl i64 %nc, 3\0A\00" @.str6221 = private unnamed_addr constant [49 x i8] c" %nw = call ptr @realloc(ptr %old, i64 %bytes)\0A\00" @.str6222 = private unnamed_addr constant [29 x i8] c" store ptr %nw, ptr @lp_wl\0A\00" @.str6223 = private unnamed_addr constant [32 x i8] c" store i64 %nc, ptr @lp_wlcap\0A\00" @.str6224 = private unnamed_addr constant [18 x i8] c" br label %push\0A\00" @.str6225 = private unnamed_addr constant [7 x i8] c"push:\0A\00" @.str6226 = private unnamed_addr constant [30 x i8] c" %wl = load ptr, ptr @lp_wl\0A\00" @.str6227 = private unnamed_addr constant [55 x i8] c" %slot = getelementptr inbounds i64, ptr %wl, i64 %n\0A\00" @.str6228 = private unnamed_addr constant [27 x i8] c" store i64 %w, ptr %slot\0A\00" @.str6229 = private unnamed_addr constant [23 x i8] c" %n1 = add i64 %n, 1\0A\00" @.str6230 = private unnamed_addr constant [30 x i8] c" store i64 %n1, ptr @lp_wln\0A\00" @.str6231 = private unnamed_addr constant [17 x i8] c" br label %out\0A\00" @.str6232 = private unnamed_addr constant [6 x i8] c"out:\0A\00" @.str6233 = private unnamed_addr constant [12 x i8] c" ret void\0A\00" @.str6234 = private unnamed_addr constant [3 x i8] c"}\0A\00" @.str6235 = private unnamed_addr constant [101 x i8] c"; R3D_ALLOC_EXIT=1: the same scan as the program quits - what nothing holds any more is what leaked\0A\00" @.str6236 = private unnamed_addr constant [40 x i8] c"define internal void @lp_fexitscan() {\0A\00" @.str6237 = private unnamed_addr constant [8 x i8] c"entry:\0A\00" @.str6238 = private unnamed_addr constant [27 x i8] c" call i64 @lp_mem_scan()\0A\00" @.str6239 = private unnamed_addr constant [12 x i8] c" ret void\0A\00" @.str6240 = private unnamed_addr constant [3 x i8] c"}\0A\00" @.str6241 = private unnamed_addr constant [29 x i8] c"define i64 @lp_mem_scan() {\0A\00" @.str6242 = private unnamed_addr constant [8 x i8] c"entry:\0A\00" @.str6243 = private unnamed_addr constant [28 x i8] c" %t = load i8, ptr @lp_ft\0A\00" @.str6244 = private unnamed_addr constant [26 x i8] c" %on = icmp ne i8 %t, 0\0A\00" @.str6245 = private unnamed_addr constant [43 x i8] c" %hasms = icmp ne ptr @malloc_size, null\0A\00" @.str6246 = private unnamed_addr constant [28 x i8] c" %go = and i1 %on, %hasms\0A\00" @.str6247 = private unnamed_addr constant [39 x i8] c" br i1 %go, label %prep, label %none\0A\00" @.str6248 = private unnamed_addr constant [7 x i8] c"none:\0A\00" @.str6249 = private unnamed_addr constant [13 x i8] c" ret i64 0\0A\00" @.str6250 = private unnamed_addr constant [7 x i8] c"prep:\0A\00" @.str6251 = private unnamed_addr constant [25 x i8] c" call void @lp_flock()\0A\00" @.str6252 = private unnamed_addr constant [37 x i8] c" %vs = load ptr, ptr @lp_visit_set\0A\00" @.str6253 = private unnamed_addr constant [34 x i8] c" %vnone = icmp eq ptr %vs, null\0A\00" @.str6254 = private unnamed_addr constant [43 x i8] c" br i1 %vnone, label %make, label %clear\0A\00" @.str6255 = private unnamed_addr constant [7 x i8] c"make:\0A\00" @.str6256 = private unnamed_addr constant [45 x i8] c" %v = call ptr @calloc(i64 8388608, i64 8)\0A\00" @.str6257 = private unnamed_addr constant [35 x i8] c" store ptr %v, ptr @lp_visit_set\0A\00" @.str6258 = private unnamed_addr constant [36 x i8] c" store i64 8388607, ptr @lp_vmask\0A\00" @.str6259 = private unnamed_addr constant [19 x i8] c" br label %roots\0A\00" @.str6260 = private unnamed_addr constant [8 x i8] c"clear:\0A\00" @.str6261 = private unnamed_addr constant [50 x i8] c" call ptr @memset(ptr %vs, i32 0, i64 67108864)\0A\00" @.str6262 = private unnamed_addr constant [19 x i8] c" br label %roots\0A\00" @.str6263 = private unnamed_addr constant [8 x i8] c"roots:\0A\00" @.str6264 = private unnamed_addr constant [28 x i8] c" store i64 0, ptr @lp_wln\0A\00" @.str6265 = private unnamed_addr constant [34 x i8] c" %nr = load i32, ptr @lp_nroots\0A\00" @.str6266 = private unnamed_addr constant [16 x i8] c" br label %rl\0A\00" @.str6267 = private unnamed_addr constant [5 x i8] c"rl:\0A\00" @.str6268 = private unnamed_addr constant [46 x i8] c" %ri = phi i32 [ 0, %roots ], [ %ri1, %rb ]\0A\00" @.str6269 = private unnamed_addr constant [32 x i8] c" %rgo = icmp ult i32 %ri, %nr\0A\00" @.str6270 = private unnamed_addr constant [38 x i8] c" br i1 %rgo, label %rb, label %walk\0A\00" @.str6271 = private unnamed_addr constant [5 x i8] c"rb:\0A\00" @.str6272 = private unnamed_addr constant [60 x i8] c" %rp = getelementptr inbounds ptr, ptr @lp_roots, i32 %ri\0A\00" @.str6273 = private unnamed_addr constant [26 x i8] c" %g = load ptr, ptr %rp\0A\00" @.str6274 = private unnamed_addr constant [26 x i8] c" %gv = load i64, ptr %g\0A\00" @.str6275 = private unnamed_addr constant [32 x i8] c" call void @lp_visit(i64 %gv)\0A\00" @.str6276 = private unnamed_addr constant [25 x i8] c" %ri1 = add i32 %ri, 1\0A\00" @.str6277 = private unnamed_addr constant [16 x i8] c" br label %rl\0A\00" @.str6278 = private unnamed_addr constant [7 x i8] c"walk:\0A\00" @.str6279 = private unnamed_addr constant [30 x i8] c" %n = load i64, ptr @lp_wln\0A\00" @.str6280 = private unnamed_addr constant [29 x i8] c" %done = icmp eq i64 %n, 0\0A\00" @.str6281 = private unnamed_addr constant [41 x i8] c" br i1 %done, label %sweep, label %pop\0A\00" @.str6282 = private unnamed_addr constant [6 x i8] c"pop:\0A\00" @.str6283 = private unnamed_addr constant [23 x i8] c" %n1 = sub i64 %n, 1\0A\00" @.str6284 = private unnamed_addr constant [30 x i8] c" store i64 %n1, ptr @lp_wln\0A\00" @.str6285 = private unnamed_addr constant [30 x i8] c" %wl = load ptr, ptr @lp_wl\0A\00" @.str6286 = private unnamed_addr constant [54 x i8] c" %sp = getelementptr inbounds i64, ptr %wl, i64 %n1\0A\00" @.str6287 = private unnamed_addr constant [26 x i8] c" %b = load i64, ptr %sp\0A\00" @.str6288 = private unnamed_addr constant [32 x i8] c" %bp = inttoptr i64 %b to ptr\0A\00" @.str6289 = private unnamed_addr constant [41 x i8] c" %bsz = call i64 @malloc_size(ptr %bp)\0A\00" @.str6290 = private unnamed_addr constant [29 x i8] c" %words = lshr i64 %bsz, 3\0A\00" @.str6291 = private unnamed_addr constant [19 x i8] c" br label %wordl\0A\00" @.str6292 = private unnamed_addr constant [8 x i8] c"wordl:\0A\00" @.str6293 = private unnamed_addr constant [47 x i8] c" %wi = phi i64 [ 0, %pop ], [ %wi1, %wordb ]\0A\00" @.str6294 = private unnamed_addr constant [35 x i8] c" %wgo = icmp ult i64 %wi, %words\0A\00" @.str6295 = private unnamed_addr constant [41 x i8] c" br i1 %wgo, label %wordb, label %walk\0A\00" @.str6296 = private unnamed_addr constant [8 x i8] c"wordb:\0A\00" @.str6297 = private unnamed_addr constant [54 x i8] c" %wp = getelementptr inbounds i64, ptr %bp, i64 %wi\0A\00" @.str6298 = private unnamed_addr constant [27 x i8] c" %wv = load i64, ptr %wp\0A\00" @.str6299 = private unnamed_addr constant [32 x i8] c" call void @lp_visit(i64 %wv)\0A\00" @.str6300 = private unnamed_addr constant [25 x i8] c" %wi1 = add i64 %wi, 1\0A\00" @.str6301 = private unnamed_addr constant [19 x i8] c" br label %wordl\0A\00" @.str6302 = private unnamed_addr constant [8 x i8] c"sweep:\0A\00" @.str6303 = private unnamed_addr constant [34 x i8] c" %sn = load i32, ptr @lp_site_n\0A\00" @.str6304 = private unnamed_addr constant [31 x i8] c" %sn64 = zext i32 %sn to i64\0A\00" @.str6305 = private unnamed_addr constant [26 x i8] c" %sb = shl i64 %sn64, 3\0A\00" @.str6306 = private unnamed_addr constant [55 x i8] c" call ptr @memset(ptr @lp_site_scan, i32 0, i64 %sb)\0A\00" @.str6307 = private unnamed_addr constant [37 x i8] c" %mask = load i64, ptr @lp_tabmask\0A\00" @.str6308 = private unnamed_addr constant [27 x i8] c" %cap = add i64 %mask, 1\0A\00" @.str6309 = private unnamed_addr constant [32 x i8] c" %tab = load ptr, ptr @lp_tab\0A\00" @.str6310 = private unnamed_addr constant [16 x i8] c" br label %tl\0A\00" @.str6311 = private unnamed_addr constant [5 x i8] c"tl:\0A\00" @.str6312 = private unnamed_addr constant [49 x i8] c" %ti = phi i64 [ 0, %sweep ], [ %ti1, %tnext ]\0A\00" @.str6313 = private unnamed_addr constant [53 x i8] c" %lost = phi i64 [ 0, %sweep ], [ %lost2, %tnext ]\0A\00" @.str6314 = private unnamed_addr constant [55 x i8] c" %lostn = phi i64 [ 0, %sweep ], [ %lostn2, %tnext ]\0A\00" @.str6315 = private unnamed_addr constant [33 x i8] c" %tgo = icmp ult i64 %ti, %cap\0A\00" @.str6316 = private unnamed_addr constant [40 x i8] c" br i1 %tgo, label %tb, label %report\0A\00" @.str6317 = private unnamed_addr constant [5 x i8] c"tb:\0A\00" @.str6318 = private unnamed_addr constant [60 x i8] c" %e = getelementptr inbounds [2 x i64], ptr %tab, i64 %ti\0A\00" @.str6319 = private unnamed_addr constant [26 x i8] c" %ek = load i64, ptr %e\0A\00" @.str6320 = private unnamed_addr constant [31 x i8] c" %empty = icmp eq i64 %ek, 0\0A\00" @.str6321 = private unnamed_addr constant [43 x i8] c" br i1 %empty, label %tnext, label %tchk\0A\00" @.str6322 = private unnamed_addr constant [7 x i8] c"tchk:\0A\00" @.str6323 = private unnamed_addr constant [37 x i8] c" %seen = call i1 @lp_vhas(i64 %ek)\0A\00" @.str6324 = private unnamed_addr constant [43 x i8] c" br i1 %seen, label %tnext, label %tlost\0A\00" @.str6325 = private unnamed_addr constant [8 x i8] c"tlost:\0A\00" @.str6326 = private unnamed_addr constant [51 x i8] c" %ev = getelementptr inbounds i64, ptr %e, i64 1\0A\00" @.str6327 = private unnamed_addr constant [28 x i8] c" %val = load i64, ptr %ev\0A\00" @.str6328 = private unnamed_addr constant [36 x i8] c" %sz = and i64 %val, 549755813887\0A\00" @.str6329 = private unnamed_addr constant [29 x i8] c" %site = lshr i64 %val, 40\0A\00" @.str6330 = private unnamed_addr constant [67 x i8] c" %ssp = getelementptr inbounds i64, ptr @lp_site_scan, i64 %site\0A\00" @.str6331 = private unnamed_addr constant [28 x i8] c" %sv = load i64, ptr %ssp\0A\00" @.str6332 = private unnamed_addr constant [27 x i8] c" %sv1 = add i64 %sv, %sz\0A\00" @.str6333 = private unnamed_addr constant [28 x i8] c" store i64 %sv1, ptr %ssp\0A\00" @.str6334 = private unnamed_addr constant [19 x i8] c" br label %tnext\0A\00" @.str6335 = private unnamed_addr constant [8 x i8] c"tnext:\0A\00" @.str6336 = private unnamed_addr constant [60 x i8] c" %add = phi i64 [ 0, %tb ], [ 0, %tchk ], [ %sz, %tlost ]\0A\00" @.str6337 = private unnamed_addr constant [59 x i8] c" %addn = phi i64 [ 0, %tb ], [ 0, %tchk ], [ 1, %tlost ]\0A\00" @.str6338 = private unnamed_addr constant [32 x i8] c" %lost2 = add i64 %lost, %add\0A\00" @.str6339 = private unnamed_addr constant [35 x i8] c" %lostn2 = add i64 %lostn, %addn\0A\00" @.str6340 = private unnamed_addr constant [25 x i8] c" %ti1 = add i64 %ti, 1\0A\00" @.str6341 = private unnamed_addr constant [16 x i8] c" br label %tl\0A\00" @.str6342 = private unnamed_addr constant [9 x i8] c"report:\0A\00" @.str6343 = private unnamed_addr constant [39 x i8] c" store i64 %lost, ptr @lp_scan_bytes\0A\00" @.str6344 = private unnamed_addr constant [32 x i8] c" %f = load i64, ptr @lp_frame\0A\00" @.str6345 = private unnamed_addr constant [91 x i8] c" call i32 (i32, ptr, ...) @dprintf(i32 2, ptr @.lpf_shdr, i64 %f, i64 %lost, i64 %lostn)\0A\00" @.str6346 = private unnamed_addr constant [55 x i8] c" %top = call i64 @lp_fenv(ptr @.lpf_scantop, i64 24)\0A\00" @.str6347 = private unnamed_addr constant [34 x i8] c" %top32 = trunc i64 %top to i32\0A\00" @.str6348 = private unnamed_addr constant [70 x i8] c" call void @lp_franked_vals(ptr @lp_site_scan, i32 %sn, i32 %top32)\0A\00" @.str6349 = private unnamed_addr constant [47 x i8] c" %sfp = call ptr @getenv(ptr @.lpf_scanfile)\0A\00" @.str6350 = private unnamed_addr constant [34 x i8] c" %hasf = icmp ne ptr %sfp, null\0A\00" @.str6351 = private unnamed_addr constant [42 x i8] c" br i1 %hasf, label %tofile, label %fin\0A\00" @.str6352 = private unnamed_addr constant [9 x i8] c"tofile:\0A\00" @.str6353 = private unnamed_addr constant [48 x i8] c" %fh = call ptr @fopen(ptr %sfp, ptr @.lpf_a)\0A\00" @.str6354 = private unnamed_addr constant [32 x i8] c" %fok = icmp ne ptr %fh, null\0A\00" @.str6355 = private unnamed_addr constant [39 x i8] c" br i1 %fok, label %rows, label %fin\0A\00" @.str6356 = private unnamed_addr constant [7 x i8] c"rows:\0A\00" @.str6357 = private unnamed_addr constant [51 x i8] c" %ri2 = phi i32 [ 0, %tofile ], [ %ri3, %rnext ]\0A\00" @.str6358 = private unnamed_addr constant [34 x i8] c" %more = icmp ult i32 %ri2, %sn\0A\00" @.str6359 = private unnamed_addr constant [41 x i8] c" br i1 %more, label %row, label %close\0A\00" @.str6360 = private unnamed_addr constant [6 x i8] c"row:\0A\00" @.str6361 = private unnamed_addr constant [66 x i8] c" %rsp = getelementptr inbounds i64, ptr @lp_site_scan, i32 %ri2\0A\00" @.str6362 = private unnamed_addr constant [28 x i8] c" %rv = load i64, ptr %rsp\0A\00" @.str6363 = private unnamed_addr constant [30 x i8] c" %has = icmp sgt i64 %rv, 0\0A\00" @.str6364 = private unnamed_addr constant [40 x i8] c" br i1 %has, label %say, label %rnext\0A\00" @.str6365 = private unnamed_addr constant [6 x i8] c"say:\0A\00" @.str6366 = private unnamed_addr constant [64 x i8] c" %fnp = getelementptr inbounds ptr, ptr @lp_site_fn, i32 %ri2\0A\00" @.str6367 = private unnamed_addr constant [28 x i8] c" %fn = load ptr, ptr %fnp\0A\00" @.str6368 = private unnamed_addr constant [66 x i8] c" %flp = getelementptr inbounds ptr, ptr @lp_site_file, i32 %ri2\0A\00" @.str6369 = private unnamed_addr constant [28 x i8] c" %fl = load ptr, ptr %flp\0A\00" @.str6370 = private unnamed_addr constant [66 x i8] c" %lnp = getelementptr inbounds i32, ptr @lp_site_line, i32 %ri2\0A\00" @.str6371 = private unnamed_addr constant [28 x i8] c" %ln = load i32, ptr %lnp\0A\00" @.str6372 = private unnamed_addr constant [66 x i8] c" %kdp = getelementptr inbounds ptr, ptr @lp_site_kind, i32 %ri2\0A\00" @.str6373 = private unnamed_addr constant [28 x i8] c" %kd = load ptr, ptr %kdp\0A\00" @.str6374 = private unnamed_addr constant [108 x i8] c" call i32 (ptr, ptr, ...) @fprintf(ptr %fh, ptr @.lpf_sfrow, i64 %rv, ptr %fn, ptr %fl, i32 %ln, ptr %kd)\0A\00" @.str6375 = private unnamed_addr constant [19 x i8] c" br label %rnext\0A\00" @.str6376 = private unnamed_addr constant [8 x i8] c"rnext:\0A\00" @.str6377 = private unnamed_addr constant [26 x i8] c" %ri3 = add i32 %ri2, 1\0A\00" @.str6378 = private unnamed_addr constant [18 x i8] c" br label %rows\0A\00" @.str6379 = private unnamed_addr constant [8 x i8] c"close:\0A\00" @.str6380 = private unnamed_addr constant [29 x i8] c" call i32 @fclose(ptr %fh)\0A\00" @.str6381 = private unnamed_addr constant [17 x i8] c" br label %fin\0A\00" @.str6382 = private unnamed_addr constant [6 x i8] c"fin:\0A\00" @.str6383 = private unnamed_addr constant [27 x i8] c" call void @lp_funlock()\0A\00" @.str6384 = private unnamed_addr constant [17 x i8] c" ret i64 %lost\0A\00" @.str6385 = private unnamed_addr constant [3 x i8] c"}\0A\00" @.str6386 = private unnamed_addr constant [99 x i8] c"; 25.5c: the census by owner - what each state holds of what its sites made, and how much it grew\0A\00" @.str6387 = private unnamed_addr constant [45 x i8] c"define internal void @lp_fowners(ptr %fp) {\0A\00" @.str6388 = private unnamed_addr constant [8 x i8] c"entry:\0A\00" @.str6389 = private unnamed_addr constant [35 x i8] c" %no = load i32, ptr @lp_nowners\0A\00" @.str6390 = private unnamed_addr constant [34 x i8] c" %sn = load i32, ptr @lp_site_n\0A\00" @.str6391 = private unnamed_addr constant [16 x i8] c" br label %ol\0A\00" @.str6392 = private unnamed_addr constant [5 x i8] c"ol:\0A\00" @.str6393 = private unnamed_addr constant [47 x i8] c" %o = phi i32 [ 1, %entry ], [ %o1, %onext ]\0A\00" @.str6394 = private unnamed_addr constant [31 x i8] c" %ogo = icmp ule i32 %o, %no\0A\00" @.str6395 = private unnamed_addr constant [39 x i8] c" br i1 %ogo, label %sl0, label %done\0A\00" @.str6396 = private unnamed_addr constant [6 x i8] c"sl0:\0A\00" @.str6397 = private unnamed_addr constant [16 x i8] c" br label %sl\0A\00" @.str6398 = private unnamed_addr constant [5 x i8] c"sl:\0A\00" @.str6399 = private unnamed_addr constant [45 x i8] c" %s = phi i32 [ 0, %sl0 ], [ %s1, %snext ]\0A\00" @.str6400 = private unnamed_addr constant [51 x i8] c" %live = phi i64 [ 0, %sl0 ], [ %live2, %snext ]\0A\00" @.str6401 = private unnamed_addr constant [51 x i8] c" %grew = phi i64 [ 0, %sl0 ], [ %grew2, %snext ]\0A\00" @.str6402 = private unnamed_addr constant [31 x i8] c" %sgo = icmp ult i32 %s, %sn\0A\00" @.str6403 = private unnamed_addr constant [37 x i8] c" br i1 %sgo, label %sb, label %say\0A\00" @.str6404 = private unnamed_addr constant [5 x i8] c"sb:\0A\00" @.str6405 = private unnamed_addr constant [64 x i8] c" %op = getelementptr inbounds i32, ptr @lp_site_owner, i32 %s\0A\00" @.str6406 = private unnamed_addr constant [27 x i8] c" %ow = load i32, ptr %op\0A\00" @.str6407 = private unnamed_addr constant [31 x i8] c" %mine = icmp eq i32 %ow, %o\0A\00" @.str6408 = private unnamed_addr constant [63 x i8] c" %lp = getelementptr inbounds i64, ptr @lp_site_live, i32 %s\0A\00" @.str6409 = private unnamed_addr constant [27 x i8] c" %lv = load i64, ptr %lp\0A\00" @.str6410 = private unnamed_addr constant [63 x i8] c" %bp = getelementptr inbounds i64, ptr @lp_site_base, i32 %s\0A\00" @.str6411 = private unnamed_addr constant [27 x i8] c" %bv = load i64, ptr %bp\0A\00" @.str6412 = private unnamed_addr constant [25 x i8] c" %d = sub i64 %lv, %bv\0A\00" @.str6413 = private unnamed_addr constant [41 x i8] c" %la = select i1 %mine, i64 %lv, i64 0\0A\00" @.str6414 = private unnamed_addr constant [40 x i8] c" %da = select i1 %mine, i64 %d, i64 0\0A\00" @.str6415 = private unnamed_addr constant [31 x i8] c" %live2 = add i64 %live, %la\0A\00" @.str6416 = private unnamed_addr constant [31 x i8] c" %grew2 = add i64 %grew, %da\0A\00" @.str6417 = private unnamed_addr constant [19 x i8] c" br label %snext\0A\00" @.str6418 = private unnamed_addr constant [8 x i8] c"snext:\0A\00" @.str6419 = private unnamed_addr constant [23 x i8] c" %s1 = add i32 %s, 1\0A\00" @.str6420 = private unnamed_addr constant [16 x i8] c" br label %sl\0A\00" @.str6421 = private unnamed_addr constant [6 x i8] c"say:\0A\00" @.str6422 = private unnamed_addr constant [31 x i8] c" %any = icmp ne i64 %live, 0\0A\00" @.str6423 = private unnamed_addr constant [42 x i8] c" br i1 %any, label %print, label %onext\0A\00" @.str6424 = private unnamed_addr constant [8 x i8] c"print:\0A\00" @.str6425 = private unnamed_addr constant [23 x i8] c" %oi = sub i32 %o, 1\0A\00" @.str6426 = private unnamed_addr constant [65 x i8] c" %np = getelementptr inbounds ptr, ptr @lp_owner_name, i32 %oi\0A\00" @.str6427 = private unnamed_addr constant [27 x i8] c" %nm = load ptr, ptr %np\0A\00" @.str6428 = private unnamed_addr constant [93 x i8] c" call i32 (ptr, ptr, ...) @fprintf(ptr %fp, ptr @.lpf_cown, ptr %nm, i64 %live, i64 %grew)\0A\00" @.str6429 = private unnamed_addr constant [19 x i8] c" br label %onext\0A\00" @.str6430 = private unnamed_addr constant [8 x i8] c"onext:\0A\00" @.str6431 = private unnamed_addr constant [23 x i8] c" %o1 = add i32 %o, 1\0A\00" @.str6432 = private unnamed_addr constant [16 x i8] c" br label %ol\0A\00" @.str6433 = private unnamed_addr constant [7 x i8] c"done:\0A\00" @.str6434 = private unnamed_addr constant [12 x i8] c" ret void\0A\00" @.str6435 = private unnamed_addr constant [3 x i8] c"}\0A\00" @.str6436 = private unnamed_addr constant [81 x i8] c"; the largest `rows` of a per-site array, largest first, to stderr (the scan's)\0A\00" @.str6437 = private unnamed_addr constant [73 x i8] c"define internal void @lp_franked_vals(ptr %vals, i32 %cnt, i32 %rows) {\0A\00" @.str6438 = private unnamed_addr constant [8 x i8] c"entry:\0A\00" @.str6439 = private unnamed_addr constant [18 x i8] c" br label %pass\0A\00" @.str6440 = private unnamed_addr constant [7 x i8] c"pass:\0A\00" @.str6441 = private unnamed_addr constant [50 x i8] c" %row = phi i32 [ 0, %entry ], [ %row1, %show ]\0A\00" @.str6442 = private unnamed_addr constant [66 x i8] c" %pb = phi i64 [ 9223372036854775807, %entry ], [ %bb0, %show ]\0A\00" @.str6443 = private unnamed_addr constant [49 x i8] c" %ps = phi i32 [ -1, %entry ], [ %bs0, %show ]\0A\00" @.str6444 = private unnamed_addr constant [36 x i8] c" %more = icmp ult i32 %row, %rows\0A\00" @.str6445 = private unnamed_addr constant [41 x i8] c" br i1 %more, label %scan, label %tail\0A\00" @.str6446 = private unnamed_addr constant [7 x i8] c"scan:\0A\00" @.str6447 = private unnamed_addr constant [18 x i8] c" br label %loop\0A\00" @.str6448 = private unnamed_addr constant [7 x i8] c"loop:\0A\00" @.str6449 = private unnamed_addr constant [45 x i8] c" %i = phi i32 [ 0, %scan ], [ %i1, %body ]\0A\00" @.str6450 = private unnamed_addr constant [48 x i8] c" %bb0 = phi i64 [ 0, %scan ], [ %bb1, %body ]\0A\00" @.str6451 = private unnamed_addr constant [49 x i8] c" %bs0 = phi i32 [ -1, %scan ], [ %bs1, %body ]\0A\00" @.str6452 = private unnamed_addr constant [31 x i8] c" %go = icmp ult i32 %i, %cnt\0A\00" @.str6453 = private unnamed_addr constant [39 x i8] c" br i1 %go, label %body, label %done\0A\00" @.str6454 = private unnamed_addr constant [7 x i8] c"body:\0A\00" @.str6455 = private unnamed_addr constant [55 x i8] c" %vp = getelementptr inbounds i64, ptr %vals, i32 %i\0A\00" @.str6456 = private unnamed_addr constant [26 x i8] c" %d = load i64, ptr %vp\0A\00" @.str6457 = private unnamed_addr constant [29 x i8] c" %pos = icmp sgt i64 %d, 0\0A\00" @.str6458 = private unnamed_addr constant [30 x i8] c" %lt = icmp slt i64 %d, %pb\0A\00" @.str6459 = private unnamed_addr constant [30 x i8] c" %eqb = icmp eq i64 %d, %pb\0A\00" @.str6460 = private unnamed_addr constant [31 x i8] c" %gts = icmp sgt i32 %i, %ps\0A\00" @.str6461 = private unnamed_addr constant [28 x i8] c" %tie = and i1 %eqb, %gts\0A\00" @.str6462 = private unnamed_addr constant [28 x i8] c" %below = or i1 %lt, %tie\0A\00" @.str6463 = private unnamed_addr constant [32 x i8] c" %gtb = icmp sgt i64 %d, %bb0\0A\00" @.str6464 = private unnamed_addr constant [29 x i8] c" %c1 = and i1 %pos, %below\0A\00" @.str6465 = private unnamed_addr constant [28 x i8] c" %take = and i1 %c1, %gtb\0A\00" @.str6466 = private unnamed_addr constant [44 x i8] c" %bb1 = select i1 %take, i64 %d, i64 %bb0\0A\00" @.str6467 = private unnamed_addr constant [44 x i8] c" %bs1 = select i1 %take, i32 %i, i32 %bs0\0A\00" @.str6468 = private unnamed_addr constant [23 x i8] c" %i1 = add i32 %i, 1\0A\00" @.str6469 = private unnamed_addr constant [18 x i8] c" br label %loop\0A\00" @.str6470 = private unnamed_addr constant [7 x i8] c"done:\0A\00" @.str6471 = private unnamed_addr constant [33 x i8] c" %found = icmp sge i32 %bs0, 0\0A\00" @.str6472 = private unnamed_addr constant [42 x i8] c" br i1 %found, label %show, label %tail\0A\00" @.str6473 = private unnamed_addr constant [7 x i8] c"show:\0A\00" @.str6474 = private unnamed_addr constant [80 x i8] c" call void @lp_fsite_row(ptr null, i32 2, i64 %bb0, i32 %bs0, ptr @.lpf_crow)\0A\00" @.str6475 = private unnamed_addr constant [27 x i8] c" %row1 = add i32 %row, 1\0A\00" @.str6476 = private unnamed_addr constant [18 x i8] c" br label %pass\0A\00" @.str6477 = private unnamed_addr constant [7 x i8] c"tail:\0A\00" @.str6478 = private unnamed_addr constant [12 x i8] c" ret void\0A\00" @.str6479 = private unnamed_addr constant [3 x i8] c"}\0A\00" @.str6480 = private unnamed_addr constant [45 x i8] c"define internal void @lp_fsettle_locked() {\0A\00" @.str6481 = private unnamed_addr constant [8 x i8] c"entry:\0A\00" @.str6482 = private unnamed_addr constant [33 x i8] c" %n = load i32, ptr @lp_site_n\0A\00" @.str6483 = private unnamed_addr constant [29 x i8] c" %n64 = zext i32 %n to i64\0A\00" @.str6484 = private unnamed_addr constant [25 x i8] c" %nb = shl i64 %n64, 3\0A\00" @.str6485 = private unnamed_addr constant [67 x i8] c" call ptr @memcpy(ptr @lp_site_base, ptr @lp_site_live, i64 %nb)\0A\00" @.str6486 = private unnamed_addr constant [32 x i8] c" %lv = load i64, ptr @lp_live\0A\00" @.str6487 = private unnamed_addr constant [32 x i8] c" store i64 %lv, ptr @lp_slive\0A\00" @.str6488 = private unnamed_addr constant [34 x i8] c" %dls = load i64, ptr @lp_dlive\0A\00" @.str6489 = private unnamed_addr constant [34 x i8] c" store i64 %dls, ptr @lp_sdlive\0A\00" @.str6490 = private unnamed_addr constant [69 x i8] c" call ptr @memcpy(ptr @lp_site_dbase, ptr @lp_site_dlive, i64 %nb)\0A\00" @.str6491 = private unnamed_addr constant [67 x i8] c" call ptr @memcpy(ptr @lp_site_dhw, ptr @lp_site_dlive, i64 %nb)\0A\00" @.str6492 = private unnamed_addr constant [56 x i8] c" call ptr @memset(ptr @lp_site_drise, i32 0, i64 %nb)\0A\00" @.str6493 = private unnamed_addr constant [31 x i8] c" %pr = load i64, ptr @lp_pre\0A\00" @.str6494 = private unnamed_addr constant [31 x i8] c" store i64 %pr, ptr @lp_spre\0A\00" @.str6495 = private unnamed_addr constant [41 x i8] c" %jb = call i64 @lp_fnat(ptr @.lpf_jb)\0A\00" @.str6496 = private unnamed_addr constant [31 x i8] c" store i64 %jb, ptr @lp_jset\0A\00" @.str6497 = private unnamed_addr constant [41 x i8] c" %vb = call i64 @lp_fnat(ptr @.lpf_vb)\0A\00" @.str6498 = private unnamed_addr constant [31 x i8] c" store i64 %vb, ptr @lp_vset\0A\00" @.str6499 = private unnamed_addr constant [29 x i8] c" %z = call i64 @lp_fzone()\0A\00" @.str6500 = private unnamed_addr constant [30 x i8] c" store i64 %z, ptr @lp_zset\0A\00" @.str6501 = private unnamed_addr constant [26 x i8] c" store i8 1, ptr @lp_fj\0A\00" @.str6502 = private unnamed_addr constant [12 x i8] c" ret void\0A\00" @.str6503 = private unnamed_addr constant [3 x i8] c"}\0A\00" @.str6504 = private unnamed_addr constant [103 x i8] c";; every R3D_ALLOC_DWIN judged frames: a site whose declared bytes set a new high adds to its streak,\0A\00" @.str6505 = private unnamed_addr constant [101 x i8] c"; a flat window takes one off, a fall ends it; R3D_ALLOC_DRISE of them is \22declared but unbounded\22,\0A\00" @.str6506 = private unnamed_addr constant [95 x i8] c"; said once per site (its callers were not recorded: a declared site is not judged per frame)\0A\00" @.str6507 = private unnamed_addr constant [51 x i8] c"define internal i64 @lp_fdwindow(i64 %f, i8 %m) {\0A\00" @.str6508 = private unnamed_addr constant [8 x i8] c"entry:\0A\00" @.str6509 = private unnamed_addr constant [33 x i8] c" %n = load i32, ptr @lp_site_n\0A\00" @.str6510 = private unnamed_addr constant [35 x i8] c" %need = load i64, ptr @lp_drise\0A\00" @.str6511 = private unnamed_addr constant [32 x i8] c" %dw = load i64, ptr @lp_dwin\0A\00" @.str6512 = private unnamed_addr constant [28 x i8] c" %say = icmp uge i8 %m, 3\0A\00" @.str6513 = private unnamed_addr constant [18 x i8] c" br label %loop\0A\00" @.str6514 = private unnamed_addr constant [7 x i8] c"loop:\0A\00" @.str6515 = private unnamed_addr constant [46 x i8] c" %i = phi i32 [ 0, %entry ], [ %i1, %next ]\0A\00" @.str6516 = private unnamed_addr constant [52 x i8] c" %hits = phi i64 [ 0, %entry ], [ %hits1, %next ]\0A\00" @.str6517 = private unnamed_addr constant [29 x i8] c" %go = icmp ult i32 %i, %n\0A\00" @.str6518 = private unnamed_addr constant [39 x i8] c" br i1 %go, label %body, label %done\0A\00" @.str6519 = private unnamed_addr constant [7 x i8] c"body:\0A\00" @.str6520 = private unnamed_addr constant [64 x i8] c" %lp = getelementptr inbounds i64, ptr @lp_site_dlive, i32 %i\0A\00" @.str6521 = private unnamed_addr constant [27 x i8] c" %dl = load i64, ptr %lp\0A\00" @.str6522 = private unnamed_addr constant [62 x i8] c" %hp = getelementptr inbounds i64, ptr @lp_site_dhw, i32 %i\0A\00" @.str6523 = private unnamed_addr constant [27 x i8] c" %hw = load i64, ptr %hp\0A\00" @.str6524 = private unnamed_addr constant [64 x i8] c" %rp = getelementptr inbounds i64, ptr @lp_site_drise, i32 %i\0A\00" @.str6525 = private unnamed_addr constant [26 x i8] c" %r = load i64, ptr %rp\0A\00" @.str6526 = private unnamed_addr constant [31 x i8] c" %up = icmp sgt i64 %dl, %hw\0A\00" @.str6527 = private unnamed_addr constant [33 x i8] c" %fell = icmp slt i64 %dl, %hw\0A\00" @.str6528 = private unnamed_addr constant [30 x i8] c" %rpos = icmp sgt i64 %r, 0\0A\00" @.str6529 = private unnamed_addr constant [25 x i8] c" %rdec = sub i64 %r, 1\0A\00" @.str6530 = private unnamed_addr constant [46 x i8] c" %rflat = select i1 %rpos, i64 %rdec, i64 0\0A\00" @.str6531 = private unnamed_addr constant [24 x i8] c" %rup = add i64 %r, 1\0A\00" @.str6532 = private unnamed_addr constant [44 x i8] c" %r0 = select i1 %fell, i64 0, i64 %rflat\0A\00" @.str6533 = private unnamed_addr constant [42 x i8] c" %rn = select i1 %up, i64 %rup, i64 %r0\0A\00" @.str6534 = private unnamed_addr constant [30 x i8] c" %sent = icmp slt i64 %r, 0\0A\00" @.str6535 = private unnamed_addr constant [42 x i8] c" %rs = select i1 %sent, i64 %r, i64 %rn\0A\00" @.str6536 = private unnamed_addr constant [26 x i8] c" store i64 %rs, ptr %rp\0A\00" @.str6537 = private unnamed_addr constant [42 x i8] c" %hw1 = select i1 %up, i64 %dl, i64 %hw\0A\00" @.str6538 = private unnamed_addr constant [27 x i8] c" store i64 %hw1, ptr %hp\0A\00" @.str6539 = private unnamed_addr constant [35 x i8] c" %hit0 = icmp sge i64 %rs, %need\0A\00" @.str6540 = private unnamed_addr constant [28 x i8] c" %hit = and i1 %hit0, %up\0A\00" @.str6541 = private unnamed_addr constant [43 x i8] c" br i1 %hit, label %report, label %next0\0A\00" @.str6542 = private unnamed_addr constant [9 x i8] c"report:\0A\00" @.str6543 = private unnamed_addr constant [25 x i8] c" store i64 -1, ptr %rp\0A\00" @.str6544 = private unnamed_addr constant [32 x i8] c" %du = load i64, ptr @lp_dunb\0A\00" @.str6545 = private unnamed_addr constant [25 x i8] c" %du1 = add i64 %du, 1\0A\00" @.str6546 = private unnamed_addr constant [32 x i8] c" store i64 %du1, ptr @lp_dunb\0A\00" @.str6547 = private unnamed_addr constant [41 x i8] c" br i1 %say, label %tell, label %next0\0A\00" @.str6548 = private unnamed_addr constant [7 x i8] c"tell:\0A\00" @.str6549 = private unnamed_addr constant [88 x i8] c" call i32 (i32, ptr, ...) @dprintf(i32 2, ptr @.lpf_dunb, i64 %f, i64 %need, i64 %dw)\0A\00" @.str6550 = private unnamed_addr constant [64 x i8] c" %bp = getelementptr inbounds i64, ptr @lp_site_dbase, i32 %i\0A\00" @.str6551 = private unnamed_addr constant [27 x i8] c" %bs = load i64, ptr %bp\0A\00" @.str6552 = private unnamed_addr constant [28 x i8] c" %grew = sub i64 %dl, %bs\0A\00" @.str6553 = private unnamed_addr constant [79 x i8] c" call void @lp_fsite_row(ptr null, i32 2, i64 %grew, i32 %i, ptr @.lpf_crow)\0A\00" @.str6554 = private unnamed_addr constant [19 x i8] c" br label %next0\0A\00" @.str6555 = private unnamed_addr constant [8 x i8] c"next0:\0A\00" @.str6556 = private unnamed_addr constant [61 x i8] c" %got = phi i64 [ 0, %body ], [ 1, %report ], [ 1, %tell ]\0A\00" @.str6557 = private unnamed_addr constant [18 x i8] c" br label %next\0A\00" @.str6558 = private unnamed_addr constant [7 x i8] c"next:\0A\00" @.str6559 = private unnamed_addr constant [32 x i8] c" %hits1 = add i64 %hits, %got\0A\00" @.str6560 = private unnamed_addr constant [23 x i8] c" %i1 = add i32 %i, 1\0A\00" @.str6561 = private unnamed_addr constant [18 x i8] c" br label %loop\0A\00" @.str6562 = private unnamed_addr constant [7 x i8] c"done:\0A\00" @.str6563 = private unnamed_addr constant [17 x i8] c" ret i64 %hits\0A\00" @.str6564 = private unnamed_addr constant [3 x i8] c"}\0A\00" @.str6565 = private unnamed_addr constant [90 x i8] c"; the frame's mark. Tracking starts at the first one (R3D_ALLOC_AUTO=0: at Mem.play() or\0A\00" @.str6566 = private unnamed_addr constant [96 x i8] c"; R3D_ALLOC_PLAY=); judging starts once R3D_ALLOC_WARM frames in a row kept nothing, or\0A\00" @.str6567 = private unnamed_addr constant [76 x i8] c"; R3D_ALLOC_WARM_MAX frames after tracking (re)started, whichever is first\0A\00" @.str6568 = private unnamed_addr constant [31 x i8] c"define void @lp_mem_frame() {\0A\00" @.str6569 = private unnamed_addr constant [8 x i8] c"entry:\0A\00" @.str6570 = private unnamed_addr constant [28 x i8] c" call void @lp_ar_frame()\0A\00" @.str6571 = private unnamed_addr constant [25 x i8] c" call void @lp_finit()\0A\00" @.str6572 = private unnamed_addr constant [32 x i8] c" %f = load i64, ptr @lp_frame\0A\00" @.str6573 = private unnamed_addr constant [23 x i8] c" %f1 = add i64 %f, 1\0A\00" @.str6574 = private unnamed_addr constant [28 x i8] c" %m = load i8, ptr @lp_fm\0A\00" @.str6575 = private unnamed_addr constant [28 x i8] c" %off = icmp ule i8 %m, 1\0A\00" @.str6576 = private unnamed_addr constant [40 x i8] c" br i1 %off, label %tick, label %live\0A\00" @.str6577 = private unnamed_addr constant [7 x i8] c"live:\0A\00" @.str6578 = private unnamed_addr constant [28 x i8] c" %t = load i8, ptr @lp_ft\0A\00" @.str6579 = private unnamed_addr constant [26 x i8] c" %on = icmp ne i8 %t, 0\0A\00" @.str6580 = private unnamed_addr constant [49 x i8] c" br i1 %on, label %tracking, label %maybe_play\0A\00" @.str6581 = private unnamed_addr constant [13 x i8] c"maybe_play:\0A\00" @.str6582 = private unnamed_addr constant [32 x i8] c" %au = load i8, ptr @lp_fauto\0A\00" @.str6583 = private unnamed_addr constant [28 x i8] c" %auq = icmp ne i8 %au, 0\0A\00" @.str6584 = private unnamed_addr constant [36 x i8] c" %ap = load i64, ptr @lp_autoplay\0A\00" @.str6585 = private unnamed_addr constant [32 x i8] c" %apset = icmp sge i64 %ap, 0\0A\00" @.str6586 = private unnamed_addr constant [34 x i8] c" %apdue = icmp sge i64 %f1, %ap\0A\00" @.str6587 = private unnamed_addr constant [33 x i8] c" %apgo = and i1 %apset, %apdue\0A\00" @.str6588 = private unnamed_addr constant [27 x i8] c" %go = or i1 %auq, %apgo\0A\00" @.str6589 = private unnamed_addr constant [39 x i8] c" br i1 %go, label %play, label %tick\0A\00" @.str6590 = private unnamed_addr constant [7 x i8] c"play:\0A\00" @.str6591 = private unnamed_addr constant [28 x i8] c" call void @lp_mem_play()\0A\00" @.str6592 = private unnamed_addr constant [18 x i8] c" br label %tick\0A\00" @.str6593 = private unnamed_addr constant [11 x i8] c"tracking:\0A\00" @.str6594 = private unnamed_addr constant [25 x i8] c" call void @lp_flock()\0A\00" @.str6595 = private unnamed_addr constant [32 x i8] c" %ov = load i64, ptr @lp_over\0A\00" @.str6596 = private unnamed_addr constant [30 x i8] c" %ovq = icmp sgt i64 %ov, 0\0A\00" @.str6597 = private unnamed_addr constant [35 x i8] c" %rep = load i8, ptr @lp_overrep\0A\00" @.str6598 = private unnamed_addr constant [30 x i8] c" %repq = icmp eq i8 %rep, 0\0A\00" @.str6599 = private unnamed_addr constant [33 x i8] c" %fullnew = and i1 %ovq, %repq\0A\00" @.str6600 = private unnamed_addr constant [45 x i8] c" br i1 %fullnew, label %full, label %weigh\0A\00" @.str6601 = private unnamed_addr constant [7 x i8] c"full:\0A\00" @.str6602 = private unnamed_addr constant [32 x i8] c" %tn = load i64, ptr @lp_tabn\0A\00" @.str6603 = private unnamed_addr constant [69 x i8] c" call i32 (i32, ptr, ...) @dprintf(i32 2, ptr @.lpf_full, i64 %tn)\0A\00" @.str6604 = private unnamed_addr constant [31 x i8] c" store i8 1, ptr @lp_overrep\0A\00" @.str6605 = private unnamed_addr constant [26 x i8] c" store i8 0, ptr @lp_fj\0A\00" @.str6606 = private unnamed_addr constant [20 x i8] c" br label %unlock\0A\00" @.str6607 = private unnamed_addr constant [8 x i8] c"weigh:\0A\00" @.str6608 = private unnamed_addr constant [32 x i8] c" %lv = load i64, ptr @lp_live\0A\00" @.str6609 = private unnamed_addr constant [33 x i8] c" %ml = load i64, ptr @lp_mlive\0A\00" @.str6610 = private unnamed_addr constant [31 x i8] c" %pr = load i64, ptr @lp_pre\0A\00" @.str6611 = private unnamed_addr constant [32 x i8] c" %mp = load i64, ptr @lp_mpre\0A\00" @.str6612 = private unnamed_addr constant [25 x i8] c" %a = sub i64 %lv, %ml\0A\00" @.str6613 = private unnamed_addr constant [25 x i8] c" %b = sub i64 %pr, %mp\0A\00" @.str6614 = private unnamed_addr constant [26 x i8] c" %kept = sub i64 %a, %b\0A\00" @.str6615 = private unnamed_addr constant [32 x i8] c" %bad = icmp sgt i64 %kept, 0\0A\00" @.str6616 = private unnamed_addr constant [28 x i8] c" %j = load i8, ptr @lp_fj\0A\00" @.str6617 = private unnamed_addr constant [31 x i8] c" %judging = icmp ne i8 %j, 0\0A\00" @.str6618 = private unnamed_addr constant [48 x i8] c" br i1 %judging, label %judge, label %warming\0A\00" @.str6619 = private unnamed_addr constant [10 x i8] c"warming:\0A\00" @.str6620 = private unnamed_addr constant [32 x i8] c" %fl = load i64, ptr @lp_flat\0A\00" @.str6621 = private unnamed_addr constant [25 x i8] c" %fl1 = add i64 %fl, 1\0A\00" @.str6622 = private unnamed_addr constant [42 x i8] c" %fl2 = select i1 %bad, i64 0, i64 %fl1\0A\00" @.str6623 = private unnamed_addr constant [32 x i8] c" store i64 %fl2, ptr @lp_flat\0A\00" @.str6624 = private unnamed_addr constant [31 x i8] c" %w = load i64, ptr @lp_warm\0A\00" @.str6625 = private unnamed_addr constant [30 x i8] c" %wset = icmp sge i64 %w, 0\0A\00" @.str6626 = private unnamed_addr constant [34 x i8] c" %wdone = icmp sge i64 %fl2, %w\0A\00" @.str6627 = private unnamed_addr constant [34 x i8] c" %byflat = and i1 %wset, %wdone\0A\00" @.str6628 = private unnamed_addr constant [33 x i8] c" %pf = load i64, ptr @lp_playf\0A\00" @.str6629 = private unnamed_addr constant [29 x i8] c" %since = sub i64 %f1, %pf\0A\00" @.str6630 = private unnamed_addr constant [36 x i8] c" %wm = load i64, ptr @lp_warm_max\0A\00" @.str6631 = private unnamed_addr constant [32 x i8] c" %wmset = icmp sge i64 %wm, 0\0A\00" @.str6632 = private unnamed_addr constant [38 x i8] c" %wmdone = icmp sge i64 %since, %wm\0A\00" @.str6633 = private unnamed_addr constant [35 x i8] c" %bycap = and i1 %wmset, %wmdone\0A\00" @.str6634 = private unnamed_addr constant [35 x i8] c" %settle = or i1 %byflat, %bycap\0A\00" @.str6635 = private unnamed_addr constant [49 x i8] c" br i1 %settle, label %settle_now, label %mark\0A\00" @.str6636 = private unnamed_addr constant [13 x i8] c"settle_now:\0A\00" @.str6637 = private unnamed_addr constant [34 x i8] c" call void @lp_fsettle_locked()\0A\00" @.str6638 = private unnamed_addr constant [18 x i8] c" br label %mark\0A\00" @.str6639 = private unnamed_addr constant [8 x i8] c"judge:\0A\00" @.str6640 = private unnamed_addr constant [35 x i8] c" %jd = load i64, ptr @lp_fjudged\0A\00" @.str6641 = private unnamed_addr constant [25 x i8] c" %jd1 = add i64 %jd, 1\0A\00" @.str6642 = private unnamed_addr constant [35 x i8] c" store i64 %jd1, ptr @lp_fjudged\0A\00" @.str6643 = private unnamed_addr constant [32 x i8] c" %dw = load i64, ptr @lp_dwin\0A\00" @.str6644 = private unnamed_addr constant [31 x i8] c" %dwon = icmp sgt i64 %dw, 0\0A\00" @.str6645 = private unnamed_addr constant [42 x i8] c" %dws = select i1 %dwon, i64 %dw, i64 1\0A\00" @.str6646 = private unnamed_addr constant [30 x i8] c" %dwr = urem i64 %jd1, %dws\0A\00" @.str6647 = private unnamed_addr constant [30 x i8] c" %dwz = icmp eq i64 %dwr, 0\0A\00" @.str6648 = private unnamed_addr constant [31 x i8] c" %dwdue = and i1 %dwon, %dwz\0A\00" @.str6649 = private unnamed_addr constant [48 x i8] c" br i1 %dwdue, label %dwindow, label %verdict\0A\00" @.str6650 = private unnamed_addr constant [10 x i8] c"dwindow:\0A\00" @.str6651 = private unnamed_addr constant [47 x i8] c" %nun = call i64 @lp_fdwindow(i64 %f, i8 %m)\0A\00" @.str6652 = private unnamed_addr constant [32 x i8] c" %nunq = icmp sgt i64 %nun, 0\0A\00" @.str6653 = private unnamed_addr constant [29 x i8] c" %dfail = icmp eq i8 %m, 4\0A\00" @.str6654 = private unnamed_addr constant [32 x i8] c" %ddie = and i1 %nunq, %dfail\0A\00" @.str6655 = private unnamed_addr constant [43 x i8] c" br i1 %ddie, label %die, label %verdict\0A\00" @.str6656 = private unnamed_addr constant [10 x i8] c"verdict:\0A\00" @.str6657 = private unnamed_addr constant [45 x i8] c" br i1 %bad, label %kept_some, label %mark\0A\00" @.str6658 = private unnamed_addr constant [12 x i8] c"kept_some:\0A\00" @.str6659 = private unnamed_addr constant [33 x i8] c" %fk = load i64, ptr @lp_fkept\0A\00" @.str6660 = private unnamed_addr constant [29 x i8] c" %fk1 = add i64 %fk, %kept\0A\00" @.str6661 = private unnamed_addr constant [33 x i8] c" store i64 %fk1, ptr @lp_fkept\0A\00" @.str6662 = private unnamed_addr constant [32 x i8] c" %fb = load i64, ptr @lp_fbad\0A\00" @.str6663 = private unnamed_addr constant [25 x i8] c" %fb1 = add i64 %fb, 1\0A\00" @.str6664 = private unnamed_addr constant [32 x i8] c" store i64 %fb1, ptr @lp_fbad\0A\00" @.str6665 = private unnamed_addr constant [28 x i8] c" %say = icmp uge i8 %m, 3\0A\00" @.str6666 = private unnamed_addr constant [42 x i8] c" br i1 %say, label %say_it, label %mark\0A\00" @.str6667 = private unnamed_addr constant [9 x i8] c"say_it:\0A\00" @.str6668 = private unnamed_addr constant [44 x i8] c" call void @lp_freport(i64 %f, i64 %kept)\0A\00" @.str6669 = private unnamed_addr constant [28 x i8] c" %fail = icmp eq i8 %m, 4\0A\00" @.str6670 = private unnamed_addr constant [40 x i8] c" br i1 %fail, label %die, label %mark\0A\00" @.str6671 = private unnamed_addr constant [6 x i8] c"die:\0A\00" @.str6672 = private unnamed_addr constant [63 x i8] c" call i32 (i32, ptr, ...) @dprintf(i32 2, ptr @.lpf_failing)\0A\00" @.str6673 = private unnamed_addr constant [26 x i8] c" store i8 0, ptr @lp_ft\0A\00" @.str6674 = private unnamed_addr constant [27 x i8] c" call void @lp_funlock()\0A\00" @.str6675 = private unnamed_addr constant [27 x i8] c" call void @exit(i32 86)\0A\00" @.str6676 = private unnamed_addr constant [15 x i8] c" unreachable\0A\00" @.str6677 = private unnamed_addr constant [7 x i8] c"mark:\0A\00" @.str6678 = private unnamed_addr constant [33 x i8] c" call void @lp_fmark_touched()\0A\00" @.str6679 = private unnamed_addr constant [20 x i8] c" br label %unlock\0A\00" @.str6680 = private unnamed_addr constant [9 x i8] c"unlock:\0A\00" @.str6681 = private unnamed_addr constant [27 x i8] c" call void @lp_funlock()\0A\00" @.str6682 = private unnamed_addr constant [18 x i8] c" br label %tick\0A\00" @.str6683 = private unnamed_addr constant [7 x i8] c"tick:\0A\00" @.str6684 = private unnamed_addr constant [32 x i8] c" store i64 %f1, ptr @lp_frame\0A\00" @.str6685 = private unnamed_addr constant [35 x i8] c" %sa = load i64, ptr @lp_scan_at\0A\00" @.str6686 = private unnamed_addr constant [34 x i8] c" %sunread = icmp eq i64 %sa, -2\0A\00" @.str6687 = private unnamed_addr constant [47 x i8] c" br i1 %sunread, label %sread, label %scheck\0A\00" @.str6688 = private unnamed_addr constant [8 x i8] c"sread:\0A\00" @.str6689 = private unnamed_addr constant [51 x i8] c" %sv = call i64 @lp_fenv(ptr @.lpf_scan, i64 -1)\0A\00" @.str6690 = private unnamed_addr constant [34 x i8] c" store i64 %sv, ptr @lp_scan_at\0A\00" @.str6691 = private unnamed_addr constant [20 x i8] c" br label %scheck\0A\00" @.str6692 = private unnamed_addr constant [9 x i8] c"scheck:\0A\00" @.str6693 = private unnamed_addr constant [36 x i8] c" %sat = load i64, ptr @lp_scan_at\0A\00" @.str6694 = private unnamed_addr constant [33 x i8] c" %sdue = icmp eq i64 %sat, %f1\0A\00" @.str6695 = private unnamed_addr constant [40 x i8] c" br i1 %sdue, label %sdo, label %sout\0A\00" @.str6696 = private unnamed_addr constant [6 x i8] c"sdo:\0A\00" @.str6697 = private unnamed_addr constant [27 x i8] c" call i64 @lp_mem_scan()\0A\00" @.str6698 = private unnamed_addr constant [18 x i8] c" br label %sout\0A\00" @.str6699 = private unnamed_addr constant [7 x i8] c"sout:\0A\00" @.str6700 = private unnamed_addr constant [12 x i8] c" ret void\0A\00" @.str6701 = private unnamed_addr constant [3 x i8] c"}\0A\00" @.str6702 = private unnamed_addr constant [25 x i8] c"@lp_site = global i32 0\0A\00" @.str6703 = private unnamed_addr constant [24 x i8] c"@lp_want = global i8 0\0A\00" @.str6704 = private unnamed_addr constant [26 x i8] c"@lp_fdecl = global i32 0\0A\00" @.str6705 = private unnamed_addr constant [33 x i8] c"define ptr @lp_malloc(i64 %n) {\0A\00" @.str6706 = private unnamed_addr constant [8 x i8] c"entry:\0A\00" @.str6707 = private unnamed_addr constant [38 x i8] c" %p = tail call ptr @malloc(i64 %n)\0A\00" @.str6708 = private unnamed_addr constant [14 x i8] c" ret ptr %p\0A\00" @.str6709 = private unnamed_addr constant [3 x i8] c"}\0A\00" @.str6710 = private unnamed_addr constant [41 x i8] c"define ptr @lp_calloc(i64 %n, i64 %s) {\0A\00" @.str6711 = private unnamed_addr constant [8 x i8] c"entry:\0A\00" @.str6712 = private unnamed_addr constant [46 x i8] c" %p = tail call ptr @calloc(i64 %n, i64 %s)\0A\00" @.str6713 = private unnamed_addr constant [14 x i8] c" ret ptr %p\0A\00" @.str6714 = private unnamed_addr constant [3 x i8] c"}\0A\00" @.str6715 = private unnamed_addr constant [42 x i8] c"define ptr @lp_realloc(ptr %o, i64 %n) {\0A\00" @.str6716 = private unnamed_addr constant [8 x i8] c"entry:\0A\00" @.str6717 = private unnamed_addr constant [47 x i8] c" %p = tail call ptr @realloc(ptr %o, i64 %n)\0A\00" @.str6718 = private unnamed_addr constant [14 x i8] c" ret ptr %p\0A\00" @.str6719 = private unnamed_addr constant [3 x i8] c"}\0A\00" @.str6720 = private unnamed_addr constant [32 x i8] c"define void @lp_free(ptr %o) {\0A\00" @.str6721 = private unnamed_addr constant [8 x i8] c"entry:\0A\00" @.str6722 = private unnamed_addr constant [41 x i8] c" %ist = ptrtoint ptr @lp_istore to i64\0A\00" @.str6723 = private unnamed_addr constant [32 x i8] c" %ien = add i64 %ist, 4194304\0A\00" @.str6724 = private unnamed_addr constant [32 x i8] c" %ix = ptrtoint ptr %o to i64\0A\00" @.str6725 = private unnamed_addr constant [33 x i8] c" %ige = icmp uge i64 %ix, %ist\0A\00" @.str6726 = private unnamed_addr constant [33 x i8] c" %ilt = icmp ult i64 %ix, %ien\0A\00" @.str6727 = private unnamed_addr constant [28 x i8] c" %iin = and i1 %ige, %ilt\0A\00" @.str6728 = private unnamed_addr constant [43 x i8] c" br i1 %iin, label %istore, label %free0\0A\00" @.str6729 = private unnamed_addr constant [9 x i8] c"istore:\0A\00" @.str6730 = private unnamed_addr constant [12 x i8] c" ret void\0A\00" @.str6731 = private unnamed_addr constant [8 x i8] c"free0:\0A\00" @.str6732 = private unnamed_addr constant [32 x i8] c" tail call void @free(ptr %o)\0A\00" @.str6733 = private unnamed_addr constant [12 x i8] c" ret void\0A\00" @.str6734 = private unnamed_addr constant [3 x i8] c"}\0A\00" @.str6735 = private unnamed_addr constant [30 x i8] c"define void @lp_mem_play() {\0A\00" @.str6736 = private unnamed_addr constant [8 x i8] c"entry:\0A\00" @.str6737 = private unnamed_addr constant [12 x i8] c" ret void\0A\00" @.str6738 = private unnamed_addr constant [3 x i8] c"}\0A\00" @.str6739 = private unnamed_addr constant [33 x i8] c"define void @lp_mem_settled() {\0A\00" @.str6740 = private unnamed_addr constant [8 x i8] c"entry:\0A\00" @.str6741 = private unnamed_addr constant [12 x i8] c" ret void\0A\00" @.str6742 = private unnamed_addr constant [3 x i8] c"}\0A\00" @.str6743 = private unnamed_addr constant [31 x i8] c"define void @lp_mem_frame() {\0A\00" @.str6744 = private unnamed_addr constant [8 x i8] c"entry:\0A\00" @.str6745 = private unnamed_addr constant [12 x i8] c" ret void\0A\00" @.str6746 = private unnamed_addr constant [3 x i8] c"}\0A\00" @.str6747 = private unnamed_addr constant [29 x i8] c"define i64 @lp_mem_kept() {\0A\00" @.str6748 = private unnamed_addr constant [8 x i8] c"entry:\0A\00" @.str6749 = private unnamed_addr constant [13 x i8] c" ret i64 0\0A\00" @.str6750 = private unnamed_addr constant [3 x i8] c"}\0A\00" @.str6751 = private unnamed_addr constant [35 x i8] c"define i64 @lp_mem_bad_frames() {\0A\00" @.str6752 = private unnamed_addr constant [8 x i8] c"entry:\0A\00" @.str6753 = private unnamed_addr constant [13 x i8] c" ret i64 0\0A\00" @.str6754 = private unnamed_addr constant [3 x i8] c"}\0A\00" @.str6755 = private unnamed_addr constant [59 x i8] c"define void @lp_cap_over(ptr %name, i32 %cap, i32 %len) {\0A\00" @.str6756 = private unnamed_addr constant [8 x i8] c"entry:\0A\00" @.str6757 = private unnamed_addr constant [12 x i8] c" ret void\0A\00" @.str6758 = private unnamed_addr constant [3 x i8] c"}\0A\00" @.str6759 = private unnamed_addr constant [29 x i8] c"define i64 @lp_mem_scan() {\0A\00" @.str6760 = private unnamed_addr constant [8 x i8] c"entry:\0A\00" @.str6761 = private unnamed_addr constant [13 x i8] c" ret i64 0\0A\00" @.str6762 = private unnamed_addr constant [3 x i8] c"}\0A\00" @.str6763 = private unnamed_addr constant [49 x i8] c"@lp_itab = global [65536 x ptr] zeroinitializer\0A\00" @.str6764 = private unnamed_addr constant [27 x i8] c"@lp_icount = global i64 0\0A\00" @.str6765 = private unnamed_addr constant [61 x i8] c"@lp_istore = internal global [4194304 x i8] zeroinitializer\0A\00" @.str6766 = private unnamed_addr constant [34 x i8] c"@lp_ipos = internal global i64 0\0A\00" @.str6767 = private unnamed_addr constant [34 x i8] c"@lp_iover = internal global i8 0\0A\00" @.str6768 = private unnamed_addr constant [104 x i8] c"@.lpi_over = private unnamed_addr constant [44 x i8] c\22intern (4 MB of text, 49152 distinct texts)\5C00\22\0A\00" @.str6769 = private unnamed_addr constant [42 x i8] c"define internal void @lp_intern_over() {\0A\00" @.str6770 = private unnamed_addr constant [8 x i8] c"entry:\0A\00" @.str6771 = private unnamed_addr constant [31 x i8] c" %o = load i8, ptr @lp_iover\0A\00" @.str6772 = private unnamed_addr constant [28 x i8] c" %said = icmp ne i8 %o, 0\0A\00" @.str6773 = private unnamed_addr constant [39 x i8] c" br i1 %said, label %out, label %say\0A\00" @.str6774 = private unnamed_addr constant [6 x i8] c"say:\0A\00" @.str6775 = private unnamed_addr constant [29 x i8] c" store i8 1, ptr @lp_iover\0A\00" @.str6776 = private unnamed_addr constant [56 x i8] c" call void @lp_cap_over(ptr @.lpi_over, i32 0, i32 0)\0A\00" @.str6777 = private unnamed_addr constant [17 x i8] c" br label %out\0A\00" @.str6778 = private unnamed_addr constant [6 x i8] c"out:\0A\00" @.str6779 = private unnamed_addr constant [12 x i8] c" ret void\0A\00" @.str6780 = private unnamed_addr constant [3 x i8] c"}\0A\00" @.str6781 = private unnamed_addr constant [51 x i8] c"define internal ptr @lp_copystr(ptr %s, i64 %n) {\0A\00" @.str6782 = private unnamed_addr constant [8 x i8] c"entry:\0A\00" @.str6783 = private unnamed_addr constant [23 x i8] c" %n1 = add i64 %n, 1\0A\00" @.str6784 = private unnamed_addr constant [33 x i8] c" %pos = load i64, ptr @lp_ipos\0A\00" @.str6785 = private unnamed_addr constant [28 x i8] c" %end = add i64 %pos, %n1\0A\00" @.str6786 = private unnamed_addr constant [38 x i8] c" %fits = icmp ule i64 %end, 4194304\0A\00" @.str6787 = private unnamed_addr constant [41 x i8] c" br i1 %fits, label %bump, label %heap\0A\00" @.str6788 = private unnamed_addr constant [7 x i8] c"bump:\0A\00" @.str6789 = private unnamed_addr constant [79 x i8] c" %b = getelementptr inbounds [4194304 x i8], ptr @lp_istore, i64 0, i64 %pos\0A\00" @.str6790 = private unnamed_addr constant [32 x i8] c" store i64 %end, ptr @lp_ipos\0A\00" @.str6791 = private unnamed_addr constant [45 x i8] c" call ptr @memcpy(ptr %b, ptr %s, i64 %n1)\0A\00" @.str6792 = private unnamed_addr constant [14 x i8] c" ret ptr %b\0A\00" @.str6793 = private unnamed_addr constant [7 x i8] c"heap:\0A\00" @.str6794 = private unnamed_addr constant [31 x i8] c" call void @lp_intern_over()\0A\00" @.str6795 = private unnamed_addr constant [37 x i8] c" %p = call ptr @lp_malloc(i64 %n1)\0A\00" @.str6796 = private unnamed_addr constant [45 x i8] c" call ptr @memcpy(ptr %p, ptr %s, i64 %n1)\0A\00" @.str6797 = private unnamed_addr constant [14 x i8] c" ret ptr %p\0A\00" @.str6798 = private unnamed_addr constant [3 x i8] c"}\0A\00" @.str6799 = private unnamed_addr constant [33 x i8] c"define ptr @lp_intern(ptr %s) {\0A\00" @.str6800 = private unnamed_addr constant [8 x i8] c"entry:\0A\00" @.str6801 = private unnamed_addr constant [32 x i8] c" %null = icmp eq ptr %s, null\0A\00" @.str6802 = private unnamed_addr constant [39 x i8] c" br i1 %null, label %none, label %hl\0A\00" @.str6803 = private unnamed_addr constant [7 x i8] c"none:\0A\00" @.str6804 = private unnamed_addr constant [16 x i8] c" ret ptr null\0A\00" @.str6805 = private unnamed_addr constant [5 x i8] c"hl:\0A\00" @.str6806 = private unnamed_addr constant [44 x i8] c" %i = phi i64 [ 0, %entry ], [ %i1, %hb ]\0A\00" @.str6807 = private unnamed_addr constant [63 x i8] c" %h = phi i64 [ -3750763034362895579, %entry ], [ %h2, %hb ]\0A\00" @.str6808 = private unnamed_addr constant [42 x i8] c" %cp = getelementptr i8, ptr %s, i64 %i\0A\00" @.str6809 = private unnamed_addr constant [25 x i8] c" %c = load i8, ptr %cp\0A\00" @.str6810 = private unnamed_addr constant [27 x i8] c" %end = icmp eq i8 %c, 0\0A\00" @.str6811 = private unnamed_addr constant [39 x i8] c" br i1 %end, label %probe, label %hb\0A\00" @.str6812 = private unnamed_addr constant [5 x i8] c"hb:\0A\00" @.str6813 = private unnamed_addr constant [27 x i8] c" %cz = zext i8 %c to i64\0A\00" @.str6814 = private unnamed_addr constant [25 x i8] c" %h1 = xor i64 %h, %cz\0A\00" @.str6815 = private unnamed_addr constant [36 x i8] c" %h2 = mul i64 %h1, 1099511628211\0A\00" @.str6816 = private unnamed_addr constant [23 x i8] c" %i1 = add i64 %i, 1\0A\00" @.str6817 = private unnamed_addr constant [16 x i8] c" br label %hl\0A\00" @.str6818 = private unnamed_addr constant [8 x i8] c"probe:\0A\00" @.str6819 = private unnamed_addr constant [43 x i8] c" %k = phi i64 [ 0, %hl ], [ %k1, %next ]\0A\00" @.str6820 = private unnamed_addr constant [30 x i8] c" %far = icmp uge i64 %k, 64\0A\00" @.str6821 = private unnamed_addr constant [45 x i8] c" br i1 %far, label %copy_only, label %look\0A\00" @.str6822 = private unnamed_addr constant [7 x i8] c"look:\0A\00" @.str6823 = private unnamed_addr constant [27 x i8] c" %slot0 = add i64 %h, %k\0A\00" @.str6824 = private unnamed_addr constant [33 x i8] c" %slot = and i64 %slot0, 65535\0A\00" @.str6825 = private unnamed_addr constant [69 x i8] c" %sp = getelementptr [65536 x ptr], ptr @lp_itab, i64 0, i64 %slot\0A\00" @.str6826 = private unnamed_addr constant [26 x i8] c" %v = load ptr, ptr %sp\0A\00" @.str6827 = private unnamed_addr constant [33 x i8] c" %empty = icmp eq ptr %v, null\0A\00" @.str6828 = private unnamed_addr constant [42 x i8] c" br i1 %empty, label %store, label %cmp\0A\00" @.str6829 = private unnamed_addr constant [6 x i8] c"cmp:\0A\00" @.str6830 = private unnamed_addr constant [41 x i8] c" %r = call i32 @strcmp(ptr %v, ptr %s)\0A\00" @.str6831 = private unnamed_addr constant [29 x i8] c" %same = icmp eq i32 %r, 0\0A\00" @.str6832 = private unnamed_addr constant [42 x i8] c" br i1 %same, label %found, label %next\0A\00" @.str6833 = private unnamed_addr constant [7 x i8] c"next:\0A\00" @.str6834 = private unnamed_addr constant [23 x i8] c" %k1 = add i64 %k, 1\0A\00" @.str6835 = private unnamed_addr constant [19 x i8] c" br label %probe\0A\00" @.str6836 = private unnamed_addr constant [8 x i8] c"found:\0A\00" @.str6837 = private unnamed_addr constant [14 x i8] c" ret ptr %v\0A\00" @.str6838 = private unnamed_addr constant [8 x i8] c"store:\0A\00" @.str6839 = private unnamed_addr constant [35 x i8] c" %cnt = load i64, ptr @lp_icount\0A\00" @.str6840 = private unnamed_addr constant [36 x i8] c" %full = icmp uge i64 %cnt, 49152\0A\00" @.str6841 = private unnamed_addr constant [46 x i8] c" br i1 %full, label %copy_only, label %keep\0A\00" @.str6842 = private unnamed_addr constant [7 x i8] c"keep:\0A\00" @.str6843 = private unnamed_addr constant [46 x i8] c" %c2 = call ptr @lp_copystr(ptr %s, i64 %i)\0A\00" @.str6844 = private unnamed_addr constant [26 x i8] c" store ptr %c2, ptr %sp\0A\00" @.str6845 = private unnamed_addr constant [27 x i8] c" %cnt1 = add i64 %cnt, 1\0A\00" @.str6846 = private unnamed_addr constant [35 x i8] c" store i64 %cnt1, ptr @lp_icount\0A\00" @.str6847 = private unnamed_addr constant [15 x i8] c" ret ptr %c2\0A\00" @.str6848 = private unnamed_addr constant [12 x i8] c"copy_only:\0A\00" @.str6849 = private unnamed_addr constant [31 x i8] c" call void @lp_intern_over()\0A\00" @.str6850 = private unnamed_addr constant [46 x i8] c" %c3 = call ptr @lp_copystr(ptr %s, i64 %i)\0A\00" @.str6851 = private unnamed_addr constant [15 x i8] c" ret ptr %c3\0A\00" @.str6852 = private unnamed_addr constant [3 x i8] c"}\0A\00" @.str6853 = private unnamed_addr constant [55 x i8] c"build/cfree/selfhost.ludic:13232: index out of range: \00" @.str6854 = private unnamed_addr constant [11 x i8] c"fr_has_aok\00" @.str6855 = private unnamed_addr constant [2 x i8] c".\00" @.str6856 = private unnamed_addr constant [10 x i8] c"fr_capped\00" @.str6857 = private unnamed_addr constant [55 x i8] c"build/cfree/selfhost.ludic:13244: index out of range: \00" @.str6858 = private unnamed_addr constant [6 x i8] c"Input\00" @.str6859 = private unnamed_addr constant [12 x i8] c"FixedUpdate\00" @.str6860 = private unnamed_addr constant [7 x i8] c"Update\00" @.str6861 = private unnamed_addr constant [11 x i8] c"LateUpdate\00" @.str6862 = private unnamed_addr constant [7 x i8] c"Render\00" @.str6863 = private unnamed_addr constant [8 x i8] c"Overlay\00" @.str6864 = private unnamed_addr constant [5 x i8] c"tick\00" @.str6865 = private unnamed_addr constant [5 x i8] c"tick\00" @.str6866 = private unnamed_addr constant [2 x i8] c".\00" @.str6867 = private unnamed_addr constant [23 x i8] c"fr_is_frame_prop_field\00" @.str6868 = private unnamed_addr constant [55 x i8] c"build/cfree/selfhost.ludic:13271: index out of range: \00" @.str6869 = private unnamed_addr constant [11 x i8] c"ludic_act_\00" @.str6870 = private unnamed_addr constant [12 x i8] c"fr_alloc_ok\00" @.str6871 = private unnamed_addr constant [55 x i8] c"build/cfree/selfhost.ludic:13285: index out of range: \00" @.str6872 = private unnamed_addr constant [55 x i8] c"build/cfree/selfhost.ludic:13285: index out of range: \00" @.str6873 = private unnamed_addr constant [55 x i8] c"build/cfree/selfhost.ludic:13291: index out of range: \00" @.str6874 = private unnamed_addr constant [13 x i8] c"fr_mark_root\00" @.str6875 = private unnamed_addr constant [55 x i8] c"build/cfree/selfhost.ludic:13301: index out of range: \00" @.str6876 = private unnamed_addr constant [14 x i8] c"fr_find_roots\00" @.str6877 = private unnamed_addr constant [55 x i8] c"build/cfree/selfhost.ludic:13311: index out of range: \00" @.str6878 = private unnamed_addr constant [7 x i8] c"string\00" @.str6879 = private unnamed_addr constant [2 x i8] c"+\00" @.str6880 = private unnamed_addr constant [5 x i8] c"new:\00" @.str6881 = private unnamed_addr constant [14 x i8] c"fr_alloc_kind\00" @.str6882 = private unnamed_addr constant [5 x i8] c"list\00" @.str6883 = private unnamed_addr constant [2 x i8] c"+\00" @.str6884 = private unnamed_addr constant [5 x i8] c"text\00" @.str6885 = private unnamed_addr constant [5 x i8] c"push\00" @.str6886 = private unnamed_addr constant [55 x i8] c"build/cfree/selfhost.ludic:13331: index out of range: \00" @.str6887 = private unnamed_addr constant [5 x i8] c"grow\00" @.str6888 = private unnamed_addr constant [6 x i8] c"words\00" @.str6889 = private unnamed_addr constant [7 x i8] c"floats\00" @.str6890 = private unnamed_addr constant [8 x i8] c"doubles\00" @.str6891 = private unnamed_addr constant [7 x i8] c"buffer\00" @.str6892 = private unnamed_addr constant [6 x i8] c"bytes\00" @.str6893 = private unnamed_addr constant [7 x i8] c"fixeds\00" @.str6894 = private unnamed_addr constant [9 x i8] c"pointers\00" @.str6895 = private unnamed_addr constant [3 x i8] c"()\00" @.str6896 = private unnamed_addr constant [8 x i8] c"falloc \00" @.str6897 = private unnamed_addr constant [10 x i8] c"fr_allocs\00" @.str6898 = private unnamed_addr constant [2 x i8] c" \00" @.str6899 = private unnamed_addr constant [55 x i8] c"build/cfree/selfhost.ludic:13349: index out of range: \00" @.str6900 = private unnamed_addr constant [2 x i8] c":\00" @.str6901 = private unnamed_addr constant [2 x i8] c" \00" @.str6902 = private unnamed_addr constant [2 x i8] c"+\00" @.str6903 = private unnamed_addr constant [55 x i8] c"build/cfree/selfhost.ludic:13358: index out of range: \00" @.str6904 = private unnamed_addr constant [2 x i8] c"+\00" @.str6905 = private unnamed_addr constant [55 x i8] c"build/cfree/selfhost.ludic:13371: index out of range: \00" @.str6906 = private unnamed_addr constant [15 x i8] c"fr_allocs_kids\00" @.str6907 = private unnamed_addr constant [55 x i8] c"build/cfree/selfhost.ludic:13378: index out of range: \00" @.str6908 = private unnamed_addr constant [9 x i8] c"fr_chain\00" @.str6909 = private unnamed_addr constant [55 x i8] c"build/cfree/selfhost.ludic:13379: index out of range: \00" @.str6910 = private unnamed_addr constant [55 x i8] c"build/cfree/selfhost.ludic:13383: index out of range: \00" @.str6911 = private unnamed_addr constant [2 x i8] c">\00" @.str6912 = private unnamed_addr constant [55 x i8] c"build/cfree/selfhost.ludic:13385: index out of range: \00" @.str6913 = private unnamed_addr constant [55 x i8] c"build/cfree/selfhost.ludic:13388: index out of range: \00" @.str6914 = private unnamed_addr constant [5 x i8] c">..>\00" @.str6915 = private unnamed_addr constant [11 x i8] c"deps_frame\00" @.str6916 = private unnamed_addr constant [55 x i8] c"build/cfree/selfhost.ludic:13402: index out of range: \00" @.str6917 = private unnamed_addr constant [5 x i8] c"@On \00" @.str6918 = private unnamed_addr constant [55 x i8] c"build/cfree/selfhost.ludic:13412: index out of range: \00" @.str6919 = private unnamed_addr constant [2 x i8] c"#\00" @.str6920 = private unnamed_addr constant [55 x i8] c"build/cfree/selfhost.ludic:13419: index out of range: \00" @.str6921 = private unnamed_addr constant [55 x i8] c"build/cfree/selfhost.ludic:13419: index out of range: \00" @.str6922 = private unnamed_addr constant [55 x i8] c"build/cfree/selfhost.ludic:13419: index out of range: \00" @.str6923 = private unnamed_addr constant [55 x i8] c"build/cfree/selfhost.ludic:13424: index out of range: \00" @.str6924 = private unnamed_addr constant [55 x i8] c"build/cfree/selfhost.ludic:13426: index out of range: \00" @.str6925 = private unnamed_addr constant [55 x i8] c"build/cfree/selfhost.ludic:13429: index out of range: \00" @.str6926 = private unnamed_addr constant [55 x i8] c"build/cfree/selfhost.ludic:13430: index out of range: \00" @.str6927 = private unnamed_addr constant [55 x i8] c"build/cfree/selfhost.ludic:13430: index out of range: \00" @.str6928 = private unnamed_addr constant [55 x i8] c"build/cfree/selfhost.ludic:13431: index out of range: \00" @.str6929 = private unnamed_addr constant [55 x i8] c"build/cfree/selfhost.ludic:13432: index out of range: \00" @.str6930 = private unnamed_addr constant [55 x i8] c"build/cfree/selfhost.ludic:13441: index out of range: \00" @.str6931 = private unnamed_addr constant [55 x i8] c"build/cfree/selfhost.ludic:13442: index out of range: \00" @.str6932 = private unnamed_addr constant [14 x i8] c"frame_allocs \00" @.str6933 = private unnamed_addr constant [55 x i8] c"build/cfree/selfhost.ludic:13459: index out of range: \00" @.str6934 = private unnamed_addr constant [11 x i8] c"deps_keeps\00" @.str6935 = private unnamed_addr constant [55 x i8] c"build/cfree/selfhost.ludic:13460: index out of range: \00" @.str6936 = private unnamed_addr constant [55 x i8] c"build/cfree/selfhost.ludic:13461: index out of range: \00" @.str6937 = private unnamed_addr constant [55 x i8] c"build/cfree/selfhost.ludic:13461: index out of range: \00" @.str6938 = private unnamed_addr constant [55 x i8] c"build/cfree/selfhost.ludic:13461: index out of range: \00" @.str6939 = private unnamed_addr constant [55 x i8] c"build/cfree/selfhost.ludic:13461: index out of range: \00" @.str6940 = private unnamed_addr constant [55 x i8] c"build/cfree/selfhost.ludic:13462: index out of range: \00" @.str6941 = private unnamed_addr constant [55 x i8] c"build/cfree/selfhost.ludic:13464: index out of range: \00" @.str6942 = private unnamed_addr constant [55 x i8] c"build/cfree/selfhost.ludic:13465: index out of range: \00" @.str6943 = private unnamed_addr constant [55 x i8] c"build/cfree/selfhost.ludic:13466: index out of range: \00" @.str6944 = private unnamed_addr constant [2 x i8] c"?\00" @.str6945 = private unnamed_addr constant [2 x i8] c":\00" @.str6946 = private unnamed_addr constant [5 x i8] c"text\00" @.str6947 = private unnamed_addr constant [7 x i8] c"fkeep \00" @.str6948 = private unnamed_addr constant [2 x i8] c" \00" @.str6949 = private unnamed_addr constant [2 x i8] c":\00" @.str6950 = private unnamed_addr constant [2 x i8] c" \00" @.str6951 = private unnamed_addr constant [2 x i8] c" \00" @.str6952 = private unnamed_addr constant [38 x i8] c"frame code keeps what it makes: this \00" @.str6953 = private unnamed_addr constant [13 x i8] c" is kept at \00" @.str6954 = private unnamed_addr constant [3 x i8] c" (\00" @.str6955 = private unnamed_addr constant [72 x i8] c") - keep(...) or intern(...) to copy it on purpose, or @alloc_ok(\22why\22)\00" @.str6956 = private unnamed_addr constant [6 x i8] c"error\00" @.str6957 = private unnamed_addr constant [2 x i8] c":\00" @.str6958 = private unnamed_addr constant [10 x i8] c": error: \00" @.str6959 = private unnamed_addr constant [2 x i8] c"\0A\00" @.str6960 = private unnamed_addr constant [13 x i8] c"frame_keeps \00" @.str6961 = private unnamed_addr constant [55 x i8] c"build/cfree/selfhost.ludic:13494: index out of range: \00" @.str6962 = private unnamed_addr constant [12 x i8] c"fr_consumed\00" @.str6963 = private unnamed_addr constant [12 x i8] c"deps_births\00" @.str6964 = private unnamed_addr constant [55 x i8] c"build/cfree/selfhost.ludic:13509: index out of range: \00" @.str6965 = private unnamed_addr constant [6 x i8] c"Start\00" @.str6966 = private unnamed_addr constant [55 x i8] c"build/cfree/selfhost.ludic:13511: index out of range: \00" @.str6967 = private unnamed_addr constant [55 x i8] c"build/cfree/selfhost.ludic:13518: index out of range: \00" @.str6968 = private unnamed_addr constant [55 x i8] c"build/cfree/selfhost.ludic:13518: index out of range: \00" @.str6969 = private unnamed_addr constant [55 x i8] c"build/cfree/selfhost.ludic:13522: index out of range: \00" @.str6970 = private unnamed_addr constant [55 x i8] c"build/cfree/selfhost.ludic:13522: index out of range: \00" @.str6971 = private unnamed_addr constant [55 x i8] c"build/cfree/selfhost.ludic:13523: index out of range: \00" @.str6972 = private unnamed_addr constant [55 x i8] c"build/cfree/selfhost.ludic:13523: index out of range: \00" @.str6973 = private unnamed_addr constant [55 x i8] c"build/cfree/selfhost.ludic:13524: index out of range: \00" @.str6974 = private unnamed_addr constant [55 x i8] c"build/cfree/selfhost.ludic:13532: index out of range: \00" @.str6975 = private unnamed_addr constant [55 x i8] c"build/cfree/selfhost.ludic:13533: index out of range: \00" @.str6976 = private unnamed_addr constant [55 x i8] c"build/cfree/selfhost.ludic:13534: index out of range: \00" @.str6977 = private unnamed_addr constant [55 x i8] c"build/cfree/selfhost.ludic:13535: index out of range: \00" @.str6978 = private unnamed_addr constant [55 x i8] c"build/cfree/selfhost.ludic:13535: index out of range: \00" @.str6979 = private unnamed_addr constant [55 x i8] c"build/cfree/selfhost.ludic:13535: index out of range: \00" @.str6980 = private unnamed_addr constant [55 x i8] c"build/cfree/selfhost.ludic:13535: index out of range: \00" @.str6981 = private unnamed_addr constant [55 x i8] c"build/cfree/selfhost.ludic:13536: index out of range: \00" @.str6982 = private unnamed_addr constant [55 x i8] c"build/cfree/selfhost.ludic:13538: index out of range: \00" @.str6983 = private unnamed_addr constant [5 x i8] c"text\00" @.str6984 = private unnamed_addr constant [16 x i8] c"outside-a-frame\00" @.str6985 = private unnamed_addr constant [8 x i8] c"fbirth \00" @.str6986 = private unnamed_addr constant [2 x i8] c" \00" @.str6987 = private unnamed_addr constant [2 x i8] c":\00" @.str6988 = private unnamed_addr constant [2 x i8] c" \00" @.str6989 = private unnamed_addr constant [2 x i8] c" \00" @.str6990 = private unnamed_addr constant [13 x i8] c"birth_leaks \00" @.str6991 = private unnamed_addr constant [7 x i8] c"es_new\00" @.str6992 = private unnamed_addr constant [8 x i8] c"es_flow\00" @.str6993 = private unnamed_addr constant [9 x i8] c"es_store\00" @.str6994 = private unnamed_addr constant [55 x i8] c"build/cfree/selfhost.ludic:13623: index out of range: \00" @.str6995 = private unnamed_addr constant [10 x i8] c"es_escape\00" @.str6996 = private unnamed_addr constant [55 x i8] c"build/cfree/selfhost.ludic:13623: index out of range: \00" @.str6997 = private unnamed_addr constant [55 x i8] c"build/cfree/selfhost.ludic:13624: index out of range: \00" @.str6998 = private unnamed_addr constant [55 x i8] c"build/cfree/selfhost.ludic:13624: index out of range: \00" @.str6999 = private unnamed_addr constant [55 x i8] c"build/cfree/selfhost.ludic:13629: index out of range: \00" @.str7000 = private unnamed_addr constant [9 x i8] c"es_local\00" @.str7001 = private unnamed_addr constant [55 x i8] c"build/cfree/selfhost.ludic:13629: index out of range: \00" @.str7002 = private unnamed_addr constant [14 x i8] c"es_bind_local\00" @.str7003 = private unnamed_addr constant [4 x i8] c"int\00" @.str7004 = private unnamed_addr constant [6 x i8] c"float\00" @.str7005 = private unnamed_addr constant [5 x i8] c"long\00" @.str7006 = private unnamed_addr constant [7 x i8] c"double\00" @.str7007 = private unnamed_addr constant [6 x i8] c"fixed\00" @.str7008 = private unnamed_addr constant [5 x i8] c"bool\00" @.str7009 = private unnamed_addr constant [5 x i8] c"byte\00" @.str7010 = private unnamed_addr constant [6 x i8] c"words\00" @.str7011 = private unnamed_addr constant [4 x i8] c"int\00" @.str7012 = private unnamed_addr constant [7 x i8] c"floats\00" @.str7013 = private unnamed_addr constant [6 x i8] c"float\00" @.str7014 = private unnamed_addr constant [8 x i8] c"doubles\00" @.str7015 = private unnamed_addr constant [7 x i8] c"double\00" @.str7016 = private unnamed_addr constant [7 x i8] c"fixeds\00" @.str7017 = private unnamed_addr constant [6 x i8] c"fixed\00" @.str7018 = private unnamed_addr constant [11 x i8] c"es_elem_of\00" @.str7019 = private unnamed_addr constant [55 x i8] c"build/cfree/selfhost.ludic:13659: index out of range: \00" @.str7020 = private unnamed_addr constant [12 x i8] c"es_local_ty\00" @.str7021 = private unnamed_addr constant [55 x i8] c"build/cfree/selfhost.ludic:13659: index out of range: \00" @.str7022 = private unnamed_addr constant [4 x i8] c"int\00" @.str7023 = private unnamed_addr constant [6 x i8] c"float\00" @.str7024 = private unnamed_addr constant [5 x i8] c"bool\00" @.str7025 = private unnamed_addr constant [7 x i8] c"string\00" @.str7026 = private unnamed_addr constant [3 x i8] c"==\00" @.str7027 = private unnamed_addr constant [3 x i8] c"!=\00" @.str7028 = private unnamed_addr constant [2 x i8] c"<\00" @.str7029 = private unnamed_addr constant [2 x i8] c">\00" @.str7030 = private unnamed_addr constant [3 x i8] c"<=\00" @.str7031 = private unnamed_addr constant [3 x i8] c">=\00" @.str7032 = private unnamed_addr constant [4 x i8] c"and\00" @.str7033 = private unnamed_addr constant [3 x i8] c"or\00" @.str7034 = private unnamed_addr constant [5 x i8] c"bool\00" @.str7035 = private unnamed_addr constant [2 x i8] c"+\00" @.str7036 = private unnamed_addr constant [7 x i8] c"string\00" @.str7037 = private unnamed_addr constant [4 x i8] c"len\00" @.str7038 = private unnamed_addr constant [4 x i8] c"int\00" @.str7039 = private unnamed_addr constant [7 x i8] c"string\00" @.str7040 = private unnamed_addr constant [7 x i8] c"string\00" @.str7041 = private unnamed_addr constant [4 x i8] c"int\00" @.str7042 = private unnamed_addr constant [6 x i8] c"float\00" @.str7043 = private unnamed_addr constant [5 x i8] c"long\00" @.str7044 = private unnamed_addr constant [7 x i8] c"double\00" @.str7045 = private unnamed_addr constant [6 x i8] c"fixed\00" @.str7046 = private unnamed_addr constant [6 x i8] c"words\00" @.str7047 = private unnamed_addr constant [7 x i8] c"floats\00" @.str7048 = private unnamed_addr constant [8 x i8] c"doubles\00" @.str7049 = private unnamed_addr constant [7 x i8] c"fixeds\00" @.str7050 = private unnamed_addr constant [55 x i8] c"build/cfree/selfhost.ludic:13701: index out of range: \00" @.str7051 = private unnamed_addr constant [8 x i8] c"es_type\00" @.str7052 = private unnamed_addr constant [55 x i8] c"build/cfree/selfhost.ludic:13709: index out of range: \00" @.str7053 = private unnamed_addr constant [15 x i8] c"es_local_class\00" @.str7054 = private unnamed_addr constant [55 x i8] c"build/cfree/selfhost.ludic:13710: index out of range: \00" @.str7055 = private unnamed_addr constant [8 x i8] c"es_site\00" @.str7056 = private unnamed_addr constant [4 x i8] c"Mem\00" @.str7057 = private unnamed_addr constant [6 x i8] c"frame\00" @.str7058 = private unnamed_addr constant [7 x i8] c"es_val\00" @.str7059 = private unnamed_addr constant [55 x i8] c"build/cfree/selfhost.ludic:13754: index out of range: \00" @.str7060 = private unnamed_addr constant [55 x i8] c"build/cfree/selfhost.ludic:13754: index out of range: \00" @.str7061 = private unnamed_addr constant [55 x i8] c"build/cfree/selfhost.ludic:13756: index out of range: \00" @.str7062 = private unnamed_addr constant [2 x i8] c"+\00" @.str7063 = private unnamed_addr constant [3 x i8] c"==\00" @.str7064 = private unnamed_addr constant [3 x i8] c"!=\00" @.str7065 = private unnamed_addr constant [2 x i8] c"+\00" @.str7066 = private unnamed_addr constant [55 x i8] c"build/cfree/selfhost.ludic:13786: index out of range: \00" @.str7067 = private unnamed_addr constant [55 x i8] c"build/cfree/selfhost.ludic:13794: index out of range: \00" @.str7068 = private unnamed_addr constant [55 x i8] c"build/cfree/selfhost.ludic:13801: index out of range: \00" @.str7069 = private unnamed_addr constant [55 x i8] c"build/cfree/selfhost.ludic:13811: index out of range: \00" @.str7070 = private unnamed_addr constant [55 x i8] c"build/cfree/selfhost.ludic:13819: index out of range: \00" @.str7071 = private unnamed_addr constant [55 x i8] c"build/cfree/selfhost.ludic:13827: index out of range: \00" @.str7072 = private unnamed_addr constant [14 x i8] c"es_overridden\00" @.str7073 = private unnamed_addr constant [11 x i8] c"es_fns_for\00" @.str7074 = private unnamed_addr constant [2 x i8] c"$\00" @.str7075 = private unnamed_addr constant [55 x i8] c"build/cfree/selfhost.ludic:13842: index out of range: \00" @.str7076 = private unnamed_addr constant [5 x i8] c"quit\00" @.str7077 = private unnamed_addr constant [5 x i8] c"exit\00" @.str7078 = private unnamed_addr constant [6 x i8] c"panic\00" @.str7079 = private unnamed_addr constant [7 x i8] c"assert\00" @.str7080 = private unnamed_addr constant [7 x i8] c"expect\00" @.str7081 = private unnamed_addr constant [10 x i8] c"expect_eq\00" @.str7082 = private unnamed_addr constant [12 x i8] c"expect_near\00" @.str7083 = private unnamed_addr constant [4 x i8] c"min\00" @.str7084 = private unnamed_addr constant [4 x i8] c"max\00" @.str7085 = private unnamed_addr constant [4 x i8] c"abs\00" @.str7086 = private unnamed_addr constant [6 x i8] c"clamp\00" @.str7087 = private unnamed_addr constant [5 x i8] c"sqrt\00" @.str7088 = private unnamed_addr constant [6 x i8] c"floor\00" @.str7089 = private unnamed_addr constant [5 x i8] c"ceil\00" @.str7090 = private unnamed_addr constant [6 x i8] c"round\00" @.str7091 = private unnamed_addr constant [4 x i8] c"int\00" @.str7092 = private unnamed_addr constant [6 x i8] c"float\00" @.str7093 = private unnamed_addr constant [5 x i8] c"long\00" @.str7094 = private unnamed_addr constant [7 x i8] c"double\00" @.str7095 = private unnamed_addr constant [6 x i8] c"fixed\00" @.str7096 = private unnamed_addr constant [7 x i8] c"as_int\00" @.str7097 = private unnamed_addr constant [9 x i8] c"as_fixed\00" @.str7098 = private unnamed_addr constant [11 x i8] c"float_bits\00" @.str7099 = private unnamed_addr constant [16 x i8] c"float_from_bits\00" @.str7100 = private unnamed_addr constant [4 x i8] c"sin\00" @.str7101 = private unnamed_addr constant [4 x i8] c"cos\00" @.str7102 = private unnamed_addr constant [6 x i8] c"atan2\00" @.str7103 = private unnamed_addr constant [11 x i8] c"file_write\00" @.str7104 = private unnamed_addr constant [11 x i8] c"file_close\00" @.str7105 = private unnamed_addr constant [55 x i8] c"build/cfree/selfhost.ludic:13859: index out of range: \00" @.str7106 = private unnamed_addr constant [15 x i8] c"es_args_escape\00" @.str7107 = private unnamed_addr constant [55 x i8] c"build/cfree/selfhost.ludic:13863: index out of range: \00" @.str7108 = private unnamed_addr constant [13 x i8] c"es_args_walk\00" @.str7109 = private unnamed_addr constant [7 x i8] c"string\00" @.str7110 = private unnamed_addr constant [5 x i8] c"keep\00" @.str7111 = private unnamed_addr constant [7 x i8] c"intern\00" @.str7112 = private unnamed_addr constant [55 x i8] c"build/cfree/selfhost.ludic:13881: index out of range: \00" @.str7113 = private unnamed_addr constant [8 x i8] c"es_call\00" @.str7114 = private unnamed_addr constant [55 x i8] c"build/cfree/selfhost.ludic:13881: index out of range: \00" @.str7115 = private unnamed_addr constant [55 x i8] c"build/cfree/selfhost.ludic:13882: index out of range: \00" @.str7116 = private unnamed_addr constant [5 x i8] c"push\00" @.str7117 = private unnamed_addr constant [55 x i8] c"build/cfree/selfhost.ludic:13886: index out of range: \00" @.str7118 = private unnamed_addr constant [55 x i8] c"build/cfree/selfhost.ludic:13887: index out of range: \00" @.str7119 = private unnamed_addr constant [6 x i8] c"words\00" @.str7120 = private unnamed_addr constant [7 x i8] c"floats\00" @.str7121 = private unnamed_addr constant [8 x i8] c"doubles\00" @.str7122 = private unnamed_addr constant [7 x i8] c"buffer\00" @.str7123 = private unnamed_addr constant [6 x i8] c"bytes\00" @.str7124 = private unnamed_addr constant [7 x i8] c"fixeds\00" @.str7125 = private unnamed_addr constant [9 x i8] c"pointers\00" @.str7126 = private unnamed_addr constant [5 x i8] c"free\00" @.str7127 = private unnamed_addr constant [55 x i8] c"build/cfree/selfhost.ludic:13897: index out of range: \00" @.str7128 = private unnamed_addr constant [55 x i8] c"build/cfree/selfhost.ludic:13898: index out of range: \00" @.str7129 = private unnamed_addr constant [55 x i8] c"build/cfree/selfhost.ludic:13898: index out of range: \00" @.str7130 = private unnamed_addr constant [6 x i8] c"print\00" @.str7131 = private unnamed_addr constant [55 x i8] c"build/cfree/selfhost.ludic:13904: index out of range: \00" @.str7132 = private unnamed_addr constant [4 x i8] c"len\00" @.str7133 = private unnamed_addr constant [5 x i8] c"view\00" @.str7134 = private unnamed_addr constant [55 x i8] c"build/cfree/selfhost.ludic:13909: index out of range: \00" @.str7135 = private unnamed_addr constant [55 x i8] c"build/cfree/selfhost.ludic:13911: index out of range: \00" @.str7136 = private unnamed_addr constant [55 x i8] c"build/cfree/selfhost.ludic:13921: index out of range: \00" @.str7137 = private unnamed_addr constant [55 x i8] c"build/cfree/selfhost.ludic:13924: index out of range: \00" @.str7138 = private unnamed_addr constant [55 x i8] c"build/cfree/selfhost.ludic:13929: index out of range: \00" @.str7139 = private unnamed_addr constant [55 x i8] c"build/cfree/selfhost.ludic:13932: index out of range: \00" @.str7140 = private unnamed_addr constant [55 x i8] c"build/cfree/selfhost.ludic:13932: index out of range: \00" @.str7141 = private unnamed_addr constant [55 x i8] c"build/cfree/selfhost.ludic:13933: index out of range: \00" @.str7142 = private unnamed_addr constant [55 x i8] c"build/cfree/selfhost.ludic:13934: index out of range: \00" @.str7143 = private unnamed_addr constant [55 x i8] c"build/cfree/selfhost.ludic:13934: index out of range: \00" @.str7144 = private unnamed_addr constant [55 x i8] c"build/cfree/selfhost.ludic:13934: index out of range: \00" @.str7145 = private unnamed_addr constant [55 x i8] c"build/cfree/selfhost.ludic:13952: index out of range: \00" @.str7146 = private unnamed_addr constant [55 x i8] c"build/cfree/selfhost.ludic:13957: index out of range: \00" @.str7147 = private unnamed_addr constant [55 x i8] c"build/cfree/selfhost.ludic:13962: index out of range: \00" @.str7148 = private unnamed_addr constant [55 x i8] c"build/cfree/selfhost.ludic:13964: index out of range: \00" @.str7149 = private unnamed_addr constant [55 x i8] c"build/cfree/selfhost.ludic:13965: index out of range: \00" @.str7150 = private unnamed_addr constant [55 x i8] c"build/cfree/selfhost.ludic:13966: index out of range: \00" @.str7151 = private unnamed_addr constant [55 x i8] c"build/cfree/selfhost.ludic:13966: index out of range: \00" @.str7152 = private unnamed_addr constant [55 x i8] c"build/cfree/selfhost.ludic:13971: index out of range: \00" @.str7153 = private unnamed_addr constant [55 x i8] c"build/cfree/selfhost.ludic:13979: index out of range: \00" @.str7154 = private unnamed_addr constant [55 x i8] c"build/cfree/selfhost.ludic:13981: index out of range: \00" @.str7155 = private unnamed_addr constant [55 x i8] c"build/cfree/selfhost.ludic:14010: index out of range: \00" @.str7156 = private unnamed_addr constant [11 x i8] c"es_walk_in\00" @.str7157 = private unnamed_addr constant [55 x i8] c"build/cfree/selfhost.ludic:14027: index out of range: \00" @.str7158 = private unnamed_addr constant [55 x i8] c"build/cfree/selfhost.ludic:14033: index out of range: \00" @.str7159 = private unnamed_addr constant [4 x i8] c"int\00" @.str7160 = private unnamed_addr constant [55 x i8] c"build/cfree/selfhost.ludic:14043: index out of range: \00" @.str7161 = private unnamed_addr constant [55 x i8] c"build/cfree/selfhost.ludic:14050: index out of range: \00" @.str7162 = private unnamed_addr constant [55 x i8] c"build/cfree/selfhost.ludic:14063: index out of range: \00" @.str7163 = private unnamed_addr constant [55 x i8] c"build/cfree/selfhost.ludic:14074: index out of range: \00" @.str7164 = private unnamed_addr constant [9 x i8] c"es_solve\00" @.str7165 = private unnamed_addr constant [55 x i8] c"build/cfree/selfhost.ludic:14075: index out of range: \00" @.str7166 = private unnamed_addr constant [55 x i8] c"build/cfree/selfhost.ludic:14076: index out of range: \00" @.str7167 = private unnamed_addr constant [55 x i8] c"build/cfree/selfhost.ludic:14076: index out of range: \00" @.str7168 = private unnamed_addr constant [55 x i8] c"build/cfree/selfhost.ludic:14076: index out of range: \00" @.str7169 = private unnamed_addr constant [55 x i8] c"build/cfree/selfhost.ludic:14076: index out of range: \00" @.str7170 = private unnamed_addr constant [55 x i8] c"build/cfree/selfhost.ludic:14077: index out of range: \00" @.str7171 = private unnamed_addr constant [55 x i8] c"build/cfree/selfhost.ludic:14077: index out of range: \00" @.str7172 = private unnamed_addr constant [55 x i8] c"build/cfree/selfhost.ludic:14077: index out of range: \00" @.str7173 = private unnamed_addr constant [55 x i8] c"build/cfree/selfhost.ludic:14077: index out of range: \00" @.str7174 = private unnamed_addr constant [55 x i8] c"build/cfree/selfhost.ludic:14078: index out of range: \00" @.str7175 = private unnamed_addr constant [55 x i8] c"build/cfree/selfhost.ludic:14078: index out of range: \00" @.str7176 = private unnamed_addr constant [55 x i8] c"build/cfree/selfhost.ludic:14079: index out of range: \00" @.str7177 = private unnamed_addr constant [55 x i8] c"build/cfree/selfhost.ludic:14079: index out of range: \00" @.str7178 = private unnamed_addr constant [55 x i8] c"build/cfree/selfhost.ludic:14080: index out of range: \00" @.str7179 = private unnamed_addr constant [55 x i8] c"build/cfree/selfhost.ludic:14080: index out of range: \00" @.str7180 = private unnamed_addr constant [55 x i8] c"build/cfree/selfhost.ludic:14089: index out of range: \00" @.str7181 = private unnamed_addr constant [55 x i8] c"build/cfree/selfhost.ludic:14089: index out of range: \00" @.str7182 = private unnamed_addr constant [55 x i8] c"build/cfree/selfhost.ludic:14089: index out of range: \00" @.str7183 = private unnamed_addr constant [55 x i8] c"build/cfree/selfhost.ludic:14089: index out of range: \00" @.str7184 = private unnamed_addr constant [55 x i8] c"build/cfree/selfhost.ludic:14094: index out of range: \00" @.str7185 = private unnamed_addr constant [55 x i8] c"build/cfree/selfhost.ludic:14095: index out of range: \00" @.str7186 = private unnamed_addr constant [55 x i8] c"build/cfree/selfhost.ludic:14096: index out of range: \00" @.str7187 = private unnamed_addr constant [55 x i8] c"build/cfree/selfhost.ludic:14096: index out of range: \00" @.str7188 = private unnamed_addr constant [55 x i8] c"build/cfree/selfhost.ludic:14097: index out of range: \00" @.str7189 = private unnamed_addr constant [55 x i8] c"build/cfree/selfhost.ludic:14097: index out of range: \00" @.str7190 = private unnamed_addr constant [55 x i8] c"build/cfree/selfhost.ludic:14098: index out of range: \00" @.str7191 = private unnamed_addr constant [55 x i8] c"build/cfree/selfhost.ludic:14098: index out of range: \00" @.str7192 = private unnamed_addr constant [55 x i8] c"build/cfree/selfhost.ludic:14111: index out of range: \00" @.str7193 = private unnamed_addr constant [55 x i8] c"build/cfree/selfhost.ludic:14112: index out of range: \00" @.str7194 = private unnamed_addr constant [55 x i8] c"build/cfree/selfhost.ludic:14113: index out of range: \00" @.str7195 = private unnamed_addr constant [55 x i8] c"build/cfree/selfhost.ludic:14113: index out of range: \00" @.str7196 = private unnamed_addr constant [55 x i8] c"build/cfree/selfhost.ludic:14113: index out of range: \00" @.str7197 = private unnamed_addr constant [55 x i8] c"build/cfree/selfhost.ludic:14113: index out of range: \00" @.str7198 = private unnamed_addr constant [55 x i8] c"build/cfree/selfhost.ludic:14114: index out of range: \00" @.str7199 = private unnamed_addr constant [55 x i8] c"build/cfree/selfhost.ludic:14114: index out of range: \00" @.str7200 = private unnamed_addr constant [55 x i8] c"build/cfree/selfhost.ludic:14114: index out of range: \00" @.str7201 = private unnamed_addr constant [55 x i8] c"build/cfree/selfhost.ludic:14114: index out of range: \00" @.str7202 = private unnamed_addr constant [55 x i8] c"build/cfree/selfhost.ludic:14114: index out of range: \00" @.str7203 = private unnamed_addr constant [55 x i8] c"build/cfree/selfhost.ludic:14119: index out of range: \00" @.str7204 = private unnamed_addr constant [55 x i8] c"build/cfree/selfhost.ludic:14120: index out of range: \00" @.str7205 = private unnamed_addr constant [55 x i8] c"build/cfree/selfhost.ludic:14121: index out of range: \00" @.str7206 = private unnamed_addr constant [55 x i8] c"build/cfree/selfhost.ludic:14121: index out of range: \00" @.str7207 = private unnamed_addr constant [55 x i8] c"build/cfree/selfhost.ludic:14121: index out of range: \00" @.str7208 = private unnamed_addr constant [55 x i8] c"build/cfree/selfhost.ludic:14121: index out of range: \00" @.str7209 = private unnamed_addr constant [55 x i8] c"build/cfree/selfhost.ludic:14131: index out of range: \00" @.str7210 = private unnamed_addr constant [55 x i8] c"build/cfree/selfhost.ludic:14132: index out of range: \00" @.str7211 = private unnamed_addr constant [55 x i8] c"build/cfree/selfhost.ludic:14133: index out of range: \00" @.str7212 = private unnamed_addr constant [55 x i8] c"build/cfree/selfhost.ludic:14133: index out of range: \00" @.str7213 = private unnamed_addr constant [55 x i8] c"build/cfree/selfhost.ludic:14133: index out of range: \00" @.str7214 = private unnamed_addr constant [55 x i8] c"build/cfree/selfhost.ludic:14150: index out of range: \00" @.str7215 = private unnamed_addr constant [15 x i8] c"escape_analyse\00" @.str7216 = private unnamed_addr constant [7 x i8] c"$entry\00" @.str7217 = private unnamed_addr constant [55 x i8] c"build/cfree/selfhost.ludic:14164: index out of range: \00" @.str7218 = private unnamed_addr constant [55 x i8] c"build/cfree/selfhost.ludic:14164: index out of range: \00" @.str7219 = private unnamed_addr constant [55 x i8] c"build/cfree/selfhost.ludic:14164: index out of range: \00" @.str7220 = private unnamed_addr constant [55 x i8] c"build/cfree/selfhost.ludic:14164: index out of range: \00" @.str7221 = private unnamed_addr constant [55 x i8] c"build/cfree/selfhost.ludic:14173: index out of range: \00" @.str7222 = private unnamed_addr constant [55 x i8] c"build/cfree/selfhost.ludic:14180: index out of range: \00" @.str7223 = private unnamed_addr constant [55 x i8] c"build/cfree/selfhost.ludic:14180: index out of range: \00" @.str7224 = private unnamed_addr constant [55 x i8] c"build/cfree/selfhost.ludic:14180: index out of range: \00" @.str7225 = private unnamed_addr constant [55 x i8] c"build/cfree/selfhost.ludic:14180: index out of range: \00" @.str7226 = private unnamed_addr constant [55 x i8] c"build/cfree/selfhost.ludic:14190: index out of range: \00" @.str7227 = private unnamed_addr constant [55 x i8] c"build/cfree/selfhost.ludic:14205: index out of range: \00" @.str7228 = private unnamed_addr constant [55 x i8] c"build/cfree/selfhost.ludic:14212: index out of range: \00" @.str7229 = private unnamed_addr constant [55 x i8] c"build/cfree/selfhost.ludic:14214: index out of range: \00" @.str7230 = private unnamed_addr constant [55 x i8] c"build/cfree/selfhost.ludic:14214: index out of range: \00" @.str7231 = private unnamed_addr constant [55 x i8] c"build/cfree/selfhost.ludic:14223: index out of range: \00" @.str7232 = private unnamed_addr constant [55 x i8] c"build/cfree/selfhost.ludic:14224: index out of range: \00" @.str7233 = private unnamed_addr constant [55 x i8] c"build/cfree/selfhost.ludic:14225: index out of range: \00" @.str7234 = private unnamed_addr constant [55 x i8] c"build/cfree/selfhost.ludic:14226: index out of range: \00" @.str7235 = private unnamed_addr constant [55 x i8] c"build/cfree/selfhost.ludic:14229: index out of range: \00" @.str7236 = private unnamed_addr constant [55 x i8] c"build/cfree/selfhost.ludic:14234: index out of range: \00" @.str7237 = private unnamed_addr constant [55 x i8] c"build/cfree/selfhost.ludic:14236: index out of range: \00" @.str7238 = private unnamed_addr constant [2 x i8] c":\00" @.str7239 = private unnamed_addr constant [55 x i8] c"build/cfree/selfhost.ludic:14244: index out of range: \00" @.str7240 = private unnamed_addr constant [55 x i8] c"build/cfree/selfhost.ludic:14245: index out of range: \00" @.str7241 = private unnamed_addr constant [55 x i8] c"build/cfree/selfhost.ludic:14246: index out of range: \00" @.str7242 = private unnamed_addr constant [55 x i8] c"build/cfree/selfhost.ludic:14247: index out of range: \00" @.str7243 = private unnamed_addr constant [55 x i8] c"build/cfree/selfhost.ludic:14248: index out of range: \00" @.str7244 = private unnamed_addr constant [55 x i8] c"build/cfree/selfhost.ludic:14260: index out of range: \00" @.str7245 = private unnamed_addr constant [14 x i8] c"escape_report\00" @.str7246 = private unnamed_addr constant [5 x i8] c"kept\00" @.str7247 = private unnamed_addr constant [6 x i8] c"local\00" @.str7248 = private unnamed_addr constant [2 x i8] c"?\00" @.str7249 = private unnamed_addr constant [55 x i8] c"build/cfree/selfhost.ludic:14264: index out of range: \00" @.str7250 = private unnamed_addr constant [55 x i8] c"build/cfree/selfhost.ludic:14265: index out of range: \00" @.str7251 = private unnamed_addr constant [2 x i8] c"?\00" @.str7252 = private unnamed_addr constant [9 x i8] c"escape: \00" @.str7253 = private unnamed_addr constant [2 x i8] c" \00" @.str7254 = private unnamed_addr constant [2 x i8] c":\00" @.str7255 = private unnamed_addr constant [2 x i8] c" \00" @.str7256 = private unnamed_addr constant [2 x i8] c"\0A\00" @.str7257 = private unnamed_addr constant [18 x i8] c"escape: fn value \00" @.str7258 = private unnamed_addr constant [55 x i8] c"build/cfree/selfhost.ludic:14274: index out of range: \00" @.str7259 = private unnamed_addr constant [3 x i8] c" (\00" @.str7260 = private unnamed_addr constant [55 x i8] c"build/cfree/selfhost.ludic:14274: index out of range: \00" @.str7261 = private unnamed_addr constant [13 x i8] c" functions)\0A\00" @.str7262 = private unnamed_addr constant [9 x i8] c"escape: \00" @.str7263 = private unnamed_addr constant [9 x i8] c" local, \00" @.str7264 = private unnamed_addr constant [7 x i8] c" kept\0A\00" @.str7265 = private unnamed_addr constant [7 x i8] c"string\00" @.str7266 = private unnamed_addr constant [22 x i8] c"call i64 @strlen(ptr \00" @.str7267 = private unnamed_addr constant [10 x i8] c"emit_keep\00" @.str7268 = private unnamed_addr constant [2 x i8] c")\00" @.str7269 = private unnamed_addr constant [9 x i8] c"add i64 \00" @.str7270 = private unnamed_addr constant [4 x i8] c", 1\00" @.str7271 = private unnamed_addr constant [25 x i8] c"call ptr @lp_malloc(i64 \00" @.str7272 = private unnamed_addr constant [2 x i8] c")\00" @.str7273 = private unnamed_addr constant [24 x i8] c" call ptr @memcpy(ptr \00" @.str7274 = private unnamed_addr constant [7 x i8] c", ptr \00" @.str7275 = private unnamed_addr constant [7 x i8] c", i64 \00" @.str7276 = private unnamed_addr constant [3 x i8] c")\0A\00" @.str7277 = private unnamed_addr constant [7 x i8] c"string\00" @.str7278 = private unnamed_addr constant [8 x i8] c"%LSlice\00" @.str7279 = private unnamed_addr constant [25 x i8] c"call ptr @lp_malloc(i64 \00" @.str7280 = private unnamed_addr constant [2 x i8] c")\00" @.str7281 = private unnamed_addr constant [15 x i8] c"load ptr, ptr \00" @.str7282 = private unnamed_addr constant [15 x i8] c"load i32, ptr \00" @.str7283 = private unnamed_addr constant [10 x i8] c"zext i32 \00" @.str7284 = private unnamed_addr constant [8 x i8] c" to i64\00" @.str7285 = private unnamed_addr constant [9 x i8] c"mul i64 \00" @.str7286 = private unnamed_addr constant [3 x i8] c", \00" @.str7287 = private unnamed_addr constant [9 x i8] c"add i64 \00" @.str7288 = private unnamed_addr constant [4 x i8] c", 1\00" @.str7289 = private unnamed_addr constant [25 x i8] c"call ptr @lp_malloc(i64 \00" @.str7290 = private unnamed_addr constant [2 x i8] c")\00" @.str7291 = private unnamed_addr constant [24 x i8] c" call ptr @memcpy(ptr \00" @.str7292 = private unnamed_addr constant [7 x i8] c", ptr \00" @.str7293 = private unnamed_addr constant [7 x i8] c", i64 \00" @.str7294 = private unnamed_addr constant [3 x i8] c")\0A\00" @.str7295 = private unnamed_addr constant [13 x i8] c" store ptr \00" @.str7296 = private unnamed_addr constant [7 x i8] c", ptr \00" @.str7297 = private unnamed_addr constant [2 x i8] c"\0A\00" @.str7298 = private unnamed_addr constant [13 x i8] c" store i32 \00" @.str7299 = private unnamed_addr constant [7 x i8] c", ptr \00" @.str7300 = private unnamed_addr constant [2 x i8] c"\0A\00" @.str7301 = private unnamed_addr constant [13 x i8] c" store i32 \00" @.str7302 = private unnamed_addr constant [7 x i8] c", ptr \00" @.str7303 = private unnamed_addr constant [2 x i8] c"\0A\00" @.str7304 = private unnamed_addr constant [25 x i8] c"call ptr @lp_malloc(i64 \00" @.str7305 = private unnamed_addr constant [2 x i8] c")\00" @.str7306 = private unnamed_addr constant [24 x i8] c" call ptr @memcpy(ptr \00" @.str7307 = private unnamed_addr constant [7 x i8] c", ptr \00" @.str7308 = private unnamed_addr constant [7 x i8] c", i64 \00" @.str7309 = private unnamed_addr constant [3 x i8] c")\0A\00" @.str7310 = private unnamed_addr constant [2 x i8] c":\00" @.str7311 = private unnamed_addr constant [12 x i8] c"es_owner_at\00" @.str7312 = private unnamed_addr constant [55 x i8] c"build/cfree/selfhost.ludic:14344: index out of range: \00" @.str7313 = private unnamed_addr constant [17 x i8] c"res_kind_made_by\00" @.str7314 = private unnamed_addr constant [55 x i8] c"build/cfree/selfhost.ludic:14344: index out of range: \00" @.str7315 = private unnamed_addr constant [55 x i8] c"build/cfree/selfhost.ludic:14361: index out of range: \00" @.str7316 = private unnamed_addr constant [11 x i8] c"res_handed\00" @.str7317 = private unnamed_addr constant [55 x i8] c"build/cfree/selfhost.ludic:14374: index out of range: \00" @.str7318 = private unnamed_addr constant [55 x i8] c"build/cfree/selfhost.ludic:14381: index out of range: \00" @.str7319 = private unnamed_addr constant [55 x i8] c"build/cfree/selfhost.ludic:14381: index out of range: \00" @.str7320 = private unnamed_addr constant [55 x i8] c"build/cfree/selfhost.ludic:14386: index out of range: \00" @.str7321 = private unnamed_addr constant [7 x i8] c"rdrop \00" @.str7322 = private unnamed_addr constant [9 x i8] c"res_walk\00" @.str7323 = private unnamed_addr constant [2 x i8] c" \00" @.str7324 = private unnamed_addr constant [2 x i8] c":\00" @.str7325 = private unnamed_addr constant [2 x i8] c" \00" @.str7326 = private unnamed_addr constant [13 x i8] c" thrown-away\00" @.str7327 = private unnamed_addr constant [7 x i8] c"rdrop \00" @.str7328 = private unnamed_addr constant [2 x i8] c" \00" @.str7329 = private unnamed_addr constant [2 x i8] c":\00" @.str7330 = private unnamed_addr constant [2 x i8] c" \00" @.str7331 = private unnamed_addr constant [2 x i8] c" \00" @.str7332 = private unnamed_addr constant [17 x i8] c"-never-handed-on\00" @.str7333 = private unnamed_addr constant [55 x i8] c"build/cfree/selfhost.ludic:14413: index out of range: \00" @.str7334 = private unnamed_addr constant [55 x i8] c"build/cfree/selfhost.ludic:14422: index out of range: \00" @.str7335 = private unnamed_addr constant [15 x i8] c"deps_resources\00" @.str7336 = private unnamed_addr constant [16 x i8] c"resource_drops \00" @.str7337 = private unnamed_addr constant [55 x i8] c"build/cfree/selfhost.ludic:14432: index out of range: \00" @.str7338 = private unnamed_addr constant [15 x i8] c"res_is_release\00" @.str7339 = private unnamed_addr constant [55 x i8] c"build/cfree/selfhost.ludic:14443: index out of range: \00" @.str7340 = private unnamed_addr constant [12 x i8] c"own_collect\00" @.str7341 = private unnamed_addr constant [55 x i8] c"build/cfree/selfhost.ludic:14461: index out of range: \00" @.str7342 = private unnamed_addr constant [55 x i8] c"build/cfree/selfhost.ludic:14467: index out of range: \00" @.str7343 = private unnamed_addr constant [8 x i8] c"own_has\00" @.str7344 = private unnamed_addr constant [55 x i8] c"build/cfree/selfhost.ludic:14467: index out of range: \00" @.str7345 = private unnamed_addr constant [55 x i8] c"build/cfree/selfhost.ludic:14480: index out of range: \00" @.str7346 = private unnamed_addr constant [11 x i8] c"deps_owned\00" @.str7347 = private unnamed_addr constant [55 x i8] c"build/cfree/selfhost.ludic:14492: index out of range: \00" @.str7348 = private unnamed_addr constant [55 x i8] c"build/cfree/selfhost.ludic:14492: index out of range: \00" @.str7349 = private unnamed_addr constant [55 x i8] c"build/cfree/selfhost.ludic:14495: index out of range: \00" @.str7350 = private unnamed_addr constant [55 x i8] c"build/cfree/selfhost.ludic:14495: index out of range: \00" @.str7351 = private unnamed_addr constant [55 x i8] c"build/cfree/selfhost.ludic:14495: index out of range: \00" @.str7352 = private unnamed_addr constant [55 x i8] c"build/cfree/selfhost.ludic:14495: index out of range: \00" @.str7353 = private unnamed_addr constant [7 x i8] c"oleak \00" @.str7354 = private unnamed_addr constant [55 x i8] c"build/cfree/selfhost.ludic:14496: index out of range: \00" @.str7355 = private unnamed_addr constant [2 x i8] c".\00" @.str7356 = private unnamed_addr constant [55 x i8] c"build/cfree/selfhost.ludic:14496: index out of range: \00" @.str7357 = private unnamed_addr constant [2 x i8] c" \00" @.str7358 = private unnamed_addr constant [2 x i8] c":\00" @.str7359 = private unnamed_addr constant [55 x i8] c"build/cfree/selfhost.ludic:14496: index out of range: \00" @.str7360 = private unnamed_addr constant [2 x i8] c" \00" @.str7361 = private unnamed_addr constant [2 x i8] c" \00" @.str7362 = private unnamed_addr constant [55 x i8] c"build/cfree/selfhost.ludic:14496: index out of range: \00" @.str7363 = private unnamed_addr constant [2 x i8] c".\00" @.str7364 = private unnamed_addr constant [55 x i8] c"build/cfree/selfhost.ludic:14496: index out of range: \00" @.str7365 = private unnamed_addr constant [13 x i8] c"owned_leaks \00" @.str7366 = private unnamed_addr constant [6 x i8] c"@.str\00" @.str7367 = private unnamed_addr constant [15 x i8] c"emit_str_const\00" @.str7368 = private unnamed_addr constant [35 x i8] c" = private unnamed_addr constant [\00" @.str7369 = private unnamed_addr constant [10 x i8] c" x i8] c\22\00" @.str7370 = private unnamed_addr constant [6 x i8] c"\5C00\22\0A\00" @.str7371 = private unnamed_addr constant [2 x i8] c"-\00" @.str7372 = private unnamed_addr constant [2 x i8] c"-\00" @.str7373 = private unnamed_addr constant [12 x i8] c"global_init\00" @.str7374 = private unnamed_addr constant [4 x i8] c"ptr\00" @.str7375 = private unnamed_addr constant [5 x i8] c"null\00" @.str7376 = private unnamed_addr constant [2 x i8] c"0\00" @.str7377 = private unnamed_addr constant [2 x i8] c"-\00" @.str7378 = private unnamed_addr constant [15 x i8] c"L_init_runtime\00" @.str7379 = private unnamed_addr constant [15 x i8] c"L_init_globals\00" @.str7380 = private unnamed_addr constant [5 x i8] c"void\00" @.str7381 = private unnamed_addr constant [55 x i8] c"build/cfree/selfhost.ludic:14598: index out of range: \00" @.str7382 = private unnamed_addr constant [13 x i8] c"emit_init_fn\00" @.str7383 = private unnamed_addr constant [55 x i8] c"build/cfree/selfhost.ludic:14600: index out of range: \00" @.str7384 = private unnamed_addr constant [9 x i8] c" store \00" @.str7385 = private unnamed_addr constant [2 x i8] c" \00" @.str7386 = private unnamed_addr constant [10 x i8] c", ptr @g_\00" @.str7387 = private unnamed_addr constant [2 x i8] c"\0A\00" @.str7388 = private unnamed_addr constant [12 x i8] c" ret void\0A\00" @.str7389 = private unnamed_addr constant [14 x i8] c"define void @\00" @.str7390 = private unnamed_addr constant [13 x i8] c"() {\0Aentry:\0A\00" @.str7391 = private unnamed_addr constant [4 x i8] c"}\0A\0A\00" @.str7392 = private unnamed_addr constant [34 x i8] c"; Ludic (self-hosted) -> LLVM IR\0A\00" @.str7393 = private unnamed_addr constant [31 x i8] c"declare i32 @printf(ptr, ...)\0A\00" @.str7394 = private unnamed_addr constant [26 x i8] c"declare ptr @malloc(i64)\0A\00" @.str7395 = private unnamed_addr constant [31 x i8] c"declare ptr @calloc(i64, i64)\0A\00" @.str7396 = private unnamed_addr constant [32 x i8] c"declare ptr @realloc(ptr, i64)\0A\00" @.str7397 = private unnamed_addr constant [25 x i8] c"declare void @free(ptr)\0A\00" @.str7398 = private unnamed_addr constant [40 x i8] c"declare i64 @fread(ptr, i64, i64, ptr)\0A\00" @.str7399 = private unnamed_addr constant [41 x i8] c"declare i64 @fwrite(ptr, i64, i64, ptr)\0A\00" @.str7400 = private unnamed_addr constant [26 x i8] c"declare i32 @fclose(ptr)\0A\00" @.str7401 = private unnamed_addr constant [30 x i8] c"declare ptr @fopen(ptr, ptr)\0A\00" @.str7402 = private unnamed_addr constant [35 x i8] c"declare i32 @fseek(ptr, i64, i32)\0A\00" @.str7403 = private unnamed_addr constant [25 x i8] c"declare i64 @ftell(ptr)\0A\00" @.str7404 = private unnamed_addr constant [24 x i8] c"declare i64 @time(ptr)\0A\00" @.str7405 = private unnamed_addr constant [25 x i8] c"declare void @exit(i32)\0A\00" @.str7406 = private unnamed_addr constant [26 x i8] c"declare i32 @system(ptr)\0A\00" @.str7407 = private unnamed_addr constant [26 x i8] c"declare ptr @getenv(ptr)\0A\00" @.str7408 = private unnamed_addr constant [36 x i8] c"declare ptr @memcpy(ptr, ptr, i64)\0A\00" @.str7409 = private unnamed_addr constant [36 x i8] c"declare ptr @memset(ptr, i32, i64)\0A\00" @.str7410 = private unnamed_addr constant [37 x i8] c"declare ptr @memmove(ptr, ptr, i64)\0A\00" @.str7411 = private unnamed_addr constant [26 x i8] c"declare i64 @strlen(ptr)\0A\00" @.str7412 = private unnamed_addr constant [31 x i8] c"declare i32 @strcmp(ptr, ptr)\0A\00" @.str7413 = private unnamed_addr constant [37 x i8] c"declare i32 @strncmp(ptr, ptr, i64)\0A\00" @.str7414 = private unnamed_addr constant [31 x i8] c"declare ptr @strstr(ptr, ptr)\0A\00" @.str7415 = private unnamed_addr constant [24 x i8] c"declare i32 @atoi(ptr)\0A\00" @.str7416 = private unnamed_addr constant [24 x i8] c"declare i32 @getchar()\0A\00" @.str7417 = private unnamed_addr constant [27 x i8] c"declare i32 @putchar(i32)\0A\00" @.str7418 = private unnamed_addr constant [44 x i8] c"declare void @win_open(i32, i32, i32, ptr)\0A\00" @.str7419 = private unnamed_addr constant [25 x i8] c"declare i32 @win_poll()\0A\00" @.str7420 = private unnamed_addr constant [42 x i8] c"declare void @win_present(ptr, i32, i32)\0A\00" @.str7421 = private unnamed_addr constant [28 x i8] c"declare i32 @win_running()\0A\00" @.str7422 = private unnamed_addr constant [27 x i8] c"declare void @win_close()\0A\00" @.str7423 = private unnamed_addr constant [29 x i8] c"declare void @win_held(ptr)\0A\00" @.str7424 = private unnamed_addr constant [32 x i8] c"declare i32 @win_key_char(i32)\0A\00" @.str7425 = private unnamed_addr constant [33 x i8] c"declare i32 @win_text(ptr, i32)\0A\00" @.str7426 = private unnamed_addr constant [30 x i8] c"declare void @win_mouse(ptr)\0A\00" @.str7427 = private unnamed_addr constant [28 x i8] c"declare void @win_pad(ptr)\0A\00" @.str7428 = private unnamed_addr constant [30 x i8] c"declare void @win_touch(ptr)\0A\00" @.str7429 = private unnamed_addr constant [36 x i8] c"declare void @win_cursor_mode(i32)\0A\00" @.str7430 = private unnamed_addr constant [28 x i8] c"declare ptr @snd_load(ptr)\0A\00" @.str7431 = private unnamed_addr constant [44 x i8] c"declare void @snd_play(ptr, i32, i32, i32)\0A\00" @.str7432 = private unnamed_addr constant [29 x i8] c"declare void @snd_stop(ptr)\0A\00" @.str7433 = private unnamed_addr constant [31 x i8] c"declare i32 @snd_playing(ptr)\0A\00" @.str7434 = private unnamed_addr constant [40 x i8] c"declare void @snd_set_volume(ptr, i32)\0A\00" @.str7435 = private unnamed_addr constant [38 x i8] c"declare void @snd_set_rate(ptr, i32)\0A\00" @.str7436 = private unnamed_addr constant [37 x i8] c"declare void @snd_set_pan(ptr, i32)\0A\00" @.str7437 = private unnamed_addr constant [35 x i8] c"declare ptr @hs_req_new(ptr, ptr)\0A\00" @.str7438 = private unnamed_addr constant [44 x i8] c"declare void @hs_req_header(ptr, ptr, ptr)\0A\00" @.str7439 = private unnamed_addr constant [42 x i8] c"declare void @hs_req_body(ptr, ptr, i32)\0A\00" @.str7440 = private unnamed_addr constant [33 x i8] c"declare void @hs_send(i32, ptr)\0A\00" @.str7441 = private unnamed_addr constant [27 x i8] c"declare i32 @hs_done(i32)\0A\00" @.str7442 = private unnamed_addr constant [29 x i8] c"declare i32 @hs_status(i32)\0A\00" @.str7443 = private unnamed_addr constant [27 x i8] c"declare ptr @hs_body(i32)\0A\00" @.str7444 = private unnamed_addr constant [27 x i8] c"declare i32 @hs_blen(i32)\0A\00" @.str7445 = private unnamed_addr constant [34 x i8] c"declare ptr @hs_header(i32, ptr)\0A\00" @.str7446 = private unnamed_addr constant [28 x i8] c"declare void @hs_free(i32)\0A\00" @.str7447 = private unnamed_addr constant [34 x i8] c"@__stderrp = external global ptr\0A\00" @.str7448 = private unnamed_addr constant [34 x i8] c"@__stdoutp = external global ptr\0A\00" @.str7449 = 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" @.str7450 = 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" @.str7451 = 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" @.str7452 = private unnamed_addr constant [33 x i8] c"@L_argc = internal global i32 0\0A\00" @.str7453 = private unnamed_addr constant [36 x i8] c"@L_argv = internal global ptr null\0A\00" @.str7454 = private unnamed_addr constant [34 x i8] c"@L_clock = internal global i32 0\0A\00" @.str7455 = private unnamed_addr constant [46 x i8] c"@.gametitle = private unnamed_addr constant [\00" @.str7456 = private unnamed_addr constant [10 x i8] c" x i8] c\22\00" @.str7457 = private unnamed_addr constant [6 x i8] c"\5C00\22\0A\00" @.str7458 = private unnamed_addr constant [34 x i8] c"%LSlice = type { ptr, i32, i32 }\0A\00" @.str7459 = private unnamed_addr constant [55 x i8] c"build/cfree/selfhost.ludic:14704: index out of range: \00" @.str7460 = private unnamed_addr constant [12 x i8] c"emit_header\00" @.str7461 = private unnamed_addr constant [55 x i8] c"build/cfree/selfhost.ludic:14708: index out of range: \00" @.str7462 = private unnamed_addr constant [55 x i8] c"build/cfree/selfhost.ludic:14708: index out of range: \00" @.str7463 = private unnamed_addr constant [10 x i8] c"property \00" @.str7464 = private unnamed_addr constant [63 x i8] c" is also a property of the engine runtime; choose another name\00" @.str7465 = private unnamed_addr constant [10 x i8] c"property \00" @.str7466 = private unnamed_addr constant [19 x i8] c" is declared twice\00" @.str7467 = private unnamed_addr constant [11 x i8] c" = type { \00" @.str7468 = private unnamed_addr constant [4 x i8] c"i32\00" @.str7469 = private unnamed_addr constant [3 x i8] c", \00" @.str7470 = private unnamed_addr constant [55 x i8] c"build/cfree/selfhost.ludic:14719: index out of range: \00" @.str7471 = private unnamed_addr constant [4 x i8] c" }\0A\00" @.str7472 = private unnamed_addr constant [55 x i8] c"build/cfree/selfhost.ludic:14729: index out of range: \00" @.str7473 = private unnamed_addr constant [55 x i8] c"build/cfree/selfhost.ludic:14733: index out of range: \00" @.str7474 = private unnamed_addr constant [55 x i8] c"build/cfree/selfhost.ludic:14733: index out of range: \00" @.str7475 = private unnamed_addr constant [10 x i8] c"variable \00" @.str7476 = private unnamed_addr constant [63 x i8] c" is also a variable of the engine runtime; choose another name\00" @.str7477 = private unnamed_addr constant [10 x i8] c"variable \00" @.str7478 = private unnamed_addr constant [19 x i8] c" is declared twice\00" @.str7479 = private unnamed_addr constant [4 x i8] c"@g_\00" @.str7480 = private unnamed_addr constant [20 x i8] c" = internal global \00" @.str7481 = private unnamed_addr constant [4 x i8] c"ptr\00" @.str7482 = private unnamed_addr constant [2 x i8] c" \00" @.str7483 = private unnamed_addr constant [2 x i8] c"\0A\00" @.str7484 = private unnamed_addr constant [55 x i8] c"build/cfree/selfhost.ludic:14755: index out of range: \00" @.str7485 = private unnamed_addr constant [18 x i8] c"emit_extern_decls\00" @.str7486 = private unnamed_addr constant [9 x i8] c"declare \00" @.str7487 = private unnamed_addr constant [3 x i8] c" @\00" @.str7488 = private unnamed_addr constant [2 x i8] c"(\00" @.str7489 = private unnamed_addr constant [3 x i8] c", \00" @.str7490 = private unnamed_addr constant [55 x i8] c"build/cfree/selfhost.ludic:14761: index out of range: \00" @.str7491 = private unnamed_addr constant [3 x i8] c")\0A\00" @.str7492 = private unnamed_addr constant [41 x i8] c"define i32 @lp_str_eq(ptr %a, ptr %b) {\0A\00" @.str7493 = private unnamed_addr constant [25 x i8] c"entry:\0A br label %loop\0A\00" @.str7494 = private unnamed_addr constant [52 x i8] c"loop:\0A %i = phi i32 [ 0, %entry ], [ %i1, %cont ]\0A\00" @.str7495 = private unnamed_addr constant [51 x i8] c" %pa = getelementptr inbounds i8, ptr %a, i32 %i\0A\00" @.str7496 = private unnamed_addr constant [51 x i8] c" %pb = getelementptr inbounds i8, ptr %b, i32 %i\0A\00" @.str7497 = private unnamed_addr constant [51 x i8] c" %ca = load i8, ptr %pa\0A %cb = load i8, ptr %pb\0A\00" @.str7498 = private unnamed_addr constant [66 x i8] c" %df = icmp ne i8 %ca, %cb\0A br i1 %df, label %ret0, label %chk\0A\00" @.str7499 = 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" @.str7500 = private unnamed_addr constant [46 x i8] c"cont:\0A %i1 = add i32 %i, 1\0A br label %loop\0A\00" @.str7501 = private unnamed_addr constant [39 x i8] c"ret1:\0A ret i32 1\0Aret0:\0A ret i32 0\0A}\0A\00" @.str7502 = private unnamed_addr constant [45 x i8] c"define ptr @lp_str_concat(ptr %a, ptr %b) {\0A\00" @.str7503 = private unnamed_addr constant [23 x i8] c"entry:\0A br label %al\0A\00" @.str7504 = private unnamed_addr constant [51 x i8] c"al:\0A %ia = phi i32 [ 0, %entry ], [ %ia1, %alb ]\0A\00" @.str7505 = private unnamed_addr constant [78 x i8] c" %pa = getelementptr inbounds i8, ptr %a, i32 %ia\0A %cca = load i8, ptr %pa\0A\00" @.str7506 = private unnamed_addr constant [64 x i8] c" %za = icmp eq i8 %cca, 0\0A br i1 %za, label %bl0, label %alb\0A\00" @.str7507 = private unnamed_addr constant [45 x i8] c"alb:\0A %ia1 = add i32 %ia, 1\0A br label %al\0A\00" @.str7508 = private unnamed_addr constant [21 x i8] c"bl0:\0A br label %bl\0A\00" @.str7509 = private unnamed_addr constant [49 x i8] c"bl:\0A %ib = phi i32 [ 0, %bl0 ], [ %ib1, %blb ]\0A\00" @.str7510 = private unnamed_addr constant [78 x i8] c" %pb = getelementptr inbounds i8, ptr %b, i32 %ib\0A %ccb = load i8, ptr %pb\0A\00" @.str7511 = private unnamed_addr constant [66 x i8] c" %zb = icmp eq i8 %ccb, 0\0A br i1 %zb, label %alloc, label %blb\0A\00" @.str7512 = private unnamed_addr constant [45 x i8] c"blb:\0A %ib1 = add i32 %ib, 1\0A br label %bl\0A\00" @.str7513 = private unnamed_addr constant [58 x i8] c"alloc:\0A %sum = add i32 %ia, %ib\0A %sz = add i32 %sum, 1\0A\00" @.str7514 = private unnamed_addr constant [86 x i8] c" %sz64 = sext i32 %sz to i64\0A %out = call ptr @lp_malloc(i64 %sz64)\0A br label %c1\0A\00" @.str7515 = private unnamed_addr constant [49 x i8] c"c1:\0A %i = phi i32 [ 0, %alloc ], [ %i1, %c1b ]\0A\00" @.str7516 = private unnamed_addr constant [66 x i8] c" %d1 = icmp slt i32 %i, %ia\0A br i1 %d1, label %c1b, label %c2i\0A\00" @.str7517 = 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" @.str7518 = private unnamed_addr constant [77 x i8] c" %o1 = getelementptr inbounds i8, ptr %out, i32 %i\0A store i8 %v1, ptr %o1\0A\00" @.str7519 = private unnamed_addr constant [38 x i8] c" %i1 = add i32 %i, 1\0A br label %c1\0A\00" @.str7520 = private unnamed_addr constant [21 x i8] c"c2i:\0A br label %c2\0A\00" @.str7521 = private unnamed_addr constant [47 x i8] c"c2:\0A %j = phi i32 [ 0, %c2i ], [ %j1, %c2b ]\0A\00" @.str7522 = private unnamed_addr constant [66 x i8] c" %d2 = icmp slt i32 %j, %ib\0A br i1 %d2, label %c2b, label %fin\0A\00" @.str7523 = 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" @.str7524 = 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" @.str7525 = private unnamed_addr constant [38 x i8] c" %j1 = add i32 %j, 1\0A br label %c2\0A\00" @.str7526 = 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" @.str7527 = private unnamed_addr constant [35 x i8] c"define ptr @lp_int_str(i32 %n0) {\0A\00" @.str7528 = private unnamed_addr constant [45 x i8] c"entry:\0A %buf = call ptr @lp_malloc(i64 24)\0A\00" @.str7529 = private unnamed_addr constant [56 x i8] c" %isneg = icmp slt i32 %n0, 0\0A %neg = sub i32 0, %n0\0A\00" @.str7530 = private unnamed_addr constant [44 x i8] c" %n = select i1 %isneg, i32 %neg, i32 %n0\0A\00" @.str7531 = private unnamed_addr constant [79 x i8] c" %term = getelementptr inbounds i8, ptr %buf, i32 23\0A store i8 0, ptr %term\0A\00" @.str7532 = private unnamed_addr constant [70 x i8] c" %iszero = icmp eq i32 %n0, 0\0A br i1 %iszero, label %zc, label %dl\0A\00" @.str7533 = private unnamed_addr constant [117 x i8] c"zc:\0A store i8 48, ptr %buf\0A %z1 = getelementptr inbounds i8, ptr %buf, i32 1\0A store i8 0, ptr %z1\0A ret ptr %buf\0A\00" @.str7534 = private unnamed_addr constant [23 x i8] c"dl:\0A br label %dloop\0A\00" @.str7535 = 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" @.str7536 = private unnamed_addr constant [72 x i8] c" %done = icmp eq i32 %cur, 0\0A br i1 %done, label %sign, label %dbody\0A\00" @.str7537 = 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" @.str7538 = private unnamed_addr constant [80 x i8] c" %pp = getelementptr inbounds i8, ptr %buf, i32 %pos\0A store i8 %ch8, ptr %pp\0A\00" @.str7539 = 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" @.str7540 = private unnamed_addr constant [49 x i8] c"sign:\0A br i1 %isneg, label %addneg, label %fin\0A\00" @.str7541 = 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" @.str7542 = private unnamed_addr constant [60 x i8] c"fin:\0A %fpos = phi i32 [ %pos, %sign ], [ %posn, %addneg ]\0A\00" @.str7543 = private unnamed_addr constant [84 x i8] c" %rpos = add i32 %fpos, 1\0A %res = getelementptr inbounds i8, ptr %buf, i32 %rpos\0A\00" @.str7544 = private unnamed_addr constant [129 x i8] c" %cnt = sub i32 24, %rpos\0A %cnt64 = sext i32 %cnt to i64\0A call ptr @memmove(ptr %buf, ptr %res, i64 %cnt64)\0A ret ptr %buf\0A}\0A\00" @.str7545 = private unnamed_addr constant [36 x i8] c"define ptr @lp_long_str(i64 %n0) {\0A\00" @.str7546 = private unnamed_addr constant [45 x i8] c"entry:\0A %buf = call ptr @lp_malloc(i64 24)\0A\00" @.str7547 = private unnamed_addr constant [56 x i8] c" %isneg = icmp slt i64 %n0, 0\0A %neg = sub i64 0, %n0\0A\00" @.str7548 = private unnamed_addr constant [44 x i8] c" %n = select i1 %isneg, i64 %neg, i64 %n0\0A\00" @.str7549 = private unnamed_addr constant [79 x i8] c" %term = getelementptr inbounds i8, ptr %buf, i32 23\0A store i8 0, ptr %term\0A\00" @.str7550 = private unnamed_addr constant [70 x i8] c" %iszero = icmp eq i64 %n0, 0\0A br i1 %iszero, label %zc, label %dl\0A\00" @.str7551 = private unnamed_addr constant [117 x i8] c"zc:\0A store i8 48, ptr %buf\0A %z1 = getelementptr inbounds i8, ptr %buf, i32 1\0A store i8 0, ptr %z1\0A ret ptr %buf\0A\00" @.str7552 = private unnamed_addr constant [23 x i8] c"dl:\0A br label %dloop\0A\00" @.str7553 = 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" @.str7554 = private unnamed_addr constant [72 x i8] c" %done = icmp eq i64 %cur, 0\0A br i1 %done, label %sign, label %dbody\0A\00" @.str7555 = 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" @.str7556 = private unnamed_addr constant [80 x i8] c" %pp = getelementptr inbounds i8, ptr %buf, i32 %pos\0A store i8 %ch8, ptr %pp\0A\00" @.str7557 = 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" @.str7558 = private unnamed_addr constant [49 x i8] c"sign:\0A br i1 %isneg, label %addneg, label %fin\0A\00" @.str7559 = 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" @.str7560 = private unnamed_addr constant [60 x i8] c"fin:\0A %fpos = phi i32 [ %pos, %sign ], [ %posn, %addneg ]\0A\00" @.str7561 = private unnamed_addr constant [84 x i8] c" %rpos = add i32 %fpos, 1\0A %res = getelementptr inbounds i8, ptr %buf, i32 %rpos\0A\00" @.str7562 = private unnamed_addr constant [129 x i8] c" %cnt = sub i32 24, %rpos\0A %cnt64 = sext i32 %cnt to i64\0A call ptr @memmove(ptr %buf, ptr %res, i64 %cnt64)\0A ret ptr %buf\0A}\0A\00" @.str7563 = private unnamed_addr constant [58 x i8] c"define ptr @lp_str_slice(ptr %s, i32 %start, i32 %end) {\0A\00" @.str7564 = private unnamed_addr constant [62 x i8] c"entry:\0A %len = sub i32 %end, %start\0A %sz = add i32 %len, 1\0A\00" @.str7565 = private unnamed_addr constant [88 x i8] c" %sz64 = sext i32 %sz to i64\0A %out = call ptr @lp_malloc(i64 %sz64)\0A br label %loop\0A\00" @.str7566 = private unnamed_addr constant [52 x i8] c"loop:\0A %i = phi i32 [ 0, %entry ], [ %i1, %body ]\0A\00" @.str7567 = private unnamed_addr constant [66 x i8] c" %d = icmp slt i32 %i, %len\0A br i1 %d, label %body, label %fin\0A\00" @.str7568 = 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" @.str7569 = 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" @.str7570 = 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" @.str7571 = private unnamed_addr constant [55 x i8] c"build/cfree/selfhost.ludic:14894: index out of range: \00" @.str7572 = private unnamed_addr constant [11 x i8] c"gi_fn_seen\00" @.str7573 = private unnamed_addr constant [55 x i8] c"build/cfree/selfhost.ludic:14904: index out of range: \00" @.str7574 = private unnamed_addr constant [9 x i8] c"gi_reads\00" @.str7575 = private unnamed_addr constant [55 x i8] c"build/cfree/selfhost.ludic:14914: index out of range: \00" @.str7576 = private unnamed_addr constant [55 x i8] c"build/cfree/selfhost.ludic:14916: index out of range: \00" @.str7577 = private unnamed_addr constant [55 x i8] c"build/cfree/selfhost.ludic:14923: index out of range: \00" @.str7578 = private unnamed_addr constant [55 x i8] c"build/cfree/selfhost.ludic:14931: index out of range: \00" @.str7579 = private unnamed_addr constant [55 x i8] c"build/cfree/selfhost.ludic:14936: index out of range: \00" @.str7580 = private unnamed_addr constant [9 x i8] c"gi_visit\00" @.str7581 = private unnamed_addr constant [55 x i8] c"build/cfree/selfhost.ludic:14937: index out of range: \00" @.str7582 = private unnamed_addr constant [55 x i8] c"build/cfree/selfhost.ludic:14938: index out of range: \00" @.str7583 = private unnamed_addr constant [55 x i8] c"build/cfree/selfhost.ludic:14945: index out of range: \00" @.str7584 = private unnamed_addr constant [55 x i8] c"build/cfree/selfhost.ludic:14945: index out of range: \00" @.str7585 = private unnamed_addr constant [55 x i8] c"build/cfree/selfhost.ludic:14945: index out of range: \00" @.str7586 = private unnamed_addr constant [55 x i8] c"build/cfree/selfhost.ludic:14945: index out of range: \00" @.str7587 = private unnamed_addr constant [55 x i8] c"build/cfree/selfhost.ludic:14949: index out of range: \00" @.str7588 = private unnamed_addr constant [9 x i8] c"gi_order\00" @.str7589 = private unnamed_addr constant [55 x i8] c"build/cfree/selfhost.ludic:14959: index out of range: \00" @.str7590 = private unnamed_addr constant [55 x i8] c"build/cfree/selfhost.ludic:14970: index out of range: \00" @.str7591 = private unnamed_addr constant [7 x i8] c"state$\00" @.str7592 = private unnamed_addr constant [55 x i8] c"build/cfree/selfhost.ludic:14990: index out of range: \00" @.str7593 = private unnamed_addr constant [19 x i8] c"emit_state_getters\00" @.str7594 = private unnamed_addr constant [55 x i8] c"build/cfree/selfhost.ludic:14990: index out of range: \00" @.str7595 = private unnamed_addr constant [3 x i8] c"S_\00" @.str7596 = private unnamed_addr constant [18 x i8] c"emit_state_getter\00" @.str7597 = private unnamed_addr constant [4 x i8] c"ptr\00" @.str7598 = private unnamed_addr constant [26 x i8] c" %p0 = load ptr, ptr @g_\00" @.str7599 = private unnamed_addr constant [96 x i8] c"\0A %z0 = icmp eq ptr %p0, null\0A br i1 %z0, label %make, label %have\0Ahave:\0A ret ptr %p0\0Amake:\0A\00" @.str7600 = private unnamed_addr constant [59 x i8] c" %decl.in = atomicrmw add ptr @lp_fdecl, i32 1 monotonic\0A\00" @.str7601 = private unnamed_addr constant [13 x i8] c" store ptr \00" @.str7602 = private unnamed_addr constant [10 x i8] c", ptr @g_\00" @.str7603 = private unnamed_addr constant [2 x i8] c"\0A\00" @.str7604 = private unnamed_addr constant [60 x i8] c" %decl.out = atomicrmw sub ptr @lp_fdecl, i32 1 monotonic\0A\00" @.str7605 = private unnamed_addr constant [11 x i8] c" ret ptr \00" @.str7606 = private unnamed_addr constant [2 x i8] c"\0A\00" @.str7607 = private unnamed_addr constant [13 x i8] c"define ptr @\00" @.str7608 = private unnamed_addr constant [13 x i8] c"() {\0Aentry:\0A\00" @.str7609 = private unnamed_addr constant [26 x i8] c" br label %start\0Astart:\0A\00" @.str7610 = private unnamed_addr constant [4 x i8] c"}\0A\0A\00" @.str7611 = private unnamed_addr constant [40 x i8] c"define void @L_reset_states() {\0Aentry:\0A\00" @.str7612 = private unnamed_addr constant [55 x i8] c"build/cfree/selfhost.ludic:15027: index out of range: \00" @.str7613 = private unnamed_addr constant [17 x i8] c"emit_state_reset\00" @.str7614 = private unnamed_addr constant [26 x i8] c" store ptr null, ptr @g_\00" @.str7615 = private unnamed_addr constant [55 x i8] c"build/cfree/selfhost.ludic:15027: index out of range: \00" @.str7616 = private unnamed_addr constant [2 x i8] c"\0A\00" @.str7617 = private unnamed_addr constant [14 x i8] c" ret void\0A}\0A\00" @.str7618 = private unnamed_addr constant [13 x i8] c"call ptr @S_\00" @.str7619 = private unnamed_addr constant [16 x i8] c"lazy_state_read\00" @.str7620 = private unnamed_addr constant [3 x i8] c"()\00" @.str7621 = private unnamed_addr constant [11 x i8] c"LUDIC_DEPS\00" @.str7622 = private unnamed_addr constant [1 x i8] c"\00" @.str7623 = private unnamed_addr constant [1 x i8] c"\00" @.str7624 = private unnamed_addr constant [2 x i8] c" \00" @.str7625 = private unnamed_addr constant [10 x i8] c"deps_edge\00" @.str7626 = private unnamed_addr constant [55 x i8] c"build/cfree/selfhost.ludic:15072: index out of range: \00" @.str7627 = private unnamed_addr constant [55 x i8] c"build/cfree/selfhost.ludic:15073: index out of range: \00" @.str7628 = private unnamed_addr constant [55 x i8] c"build/cfree/selfhost.ludic:15073: index out of range: \00" @.str7629 = private unnamed_addr constant [1 x i8] c"\00" @.str7630 = private unnamed_addr constant [1 x i8] c"\00" @.str7631 = private unnamed_addr constant [7 x i8] c"write \00" @.str7632 = private unnamed_addr constant [11 x i8] c"deps_write\00" @.str7633 = private unnamed_addr constant [2 x i8] c" \00" @.str7634 = private unnamed_addr constant [2 x i8] c" \00" @.str7635 = private unnamed_addr constant [2 x i8] c" \00" @.str7636 = private unnamed_addr constant [2 x i8] c":\00" @.str7637 = private unnamed_addr constant [2 x i8] c"\0A\00" @.str7638 = private unnamed_addr constant [11 x i8] c"LUDIC_DEPS\00" @.str7639 = private unnamed_addr constant [3 x i8] c"wb\00" @.str7640 = private unnamed_addr constant [11 x i8] c"deps_flush\00" @.str7641 = private unnamed_addr constant [55 x i8] c"build/cfree/selfhost.ludic:15109: index out of range: \00" @.str7642 = private unnamed_addr constant [55 x i8] c"build/cfree/selfhost.ludic:15113: index out of range: \00" @.str7643 = private unnamed_addr constant [1 x i8] c"\00" @.str7644 = private unnamed_addr constant [55 x i8] c"build/cfree/selfhost.ludic:15119: index out of range: \00" @.str7645 = private unnamed_addr constant [1 x i8] c"\00" @.str7646 = private unnamed_addr constant [2 x i8] c"-\00" @.str7647 = private unnamed_addr constant [55 x i8] c"build/cfree/selfhost.ludic:15122: index out of range: \00" @.str7648 = private unnamed_addr constant [1 x i8] c"\00" @.str7649 = private unnamed_addr constant [2 x i8] c"-\00" @.str7650 = private unnamed_addr constant [8 x i8] c"module \00" @.str7651 = private unnamed_addr constant [2 x i8] c" \00" @.str7652 = private unnamed_addr constant [2 x i8] c" \00" @.str7653 = private unnamed_addr constant [2 x i8] c" \00" @.str7654 = private unnamed_addr constant [55 x i8] c"build/cfree/selfhost.ludic:15132: index out of range: \00" @.str7655 = private unnamed_addr constant [55 x i8] c"build/cfree/selfhost.ludic:15136: index out of range: \00" @.str7656 = private unnamed_addr constant [1 x i8] c"\00" @.str7657 = private unnamed_addr constant [8 x i8] c"module \00" @.str7658 = private unnamed_addr constant [7 x i8] c" 1 - -\00" @.str7659 = private unnamed_addr constant [6 x i8] c"edge \00" @.str7660 = private unnamed_addr constant [55 x i8] c"build/cfree/selfhost.ludic:15147: index out of range: \00" @.str7661 = private unnamed_addr constant [2 x i8] c" \00" @.str7662 = private unnamed_addr constant [55 x i8] c"build/cfree/selfhost.ludic:15147: index out of range: \00" @.str7663 = private unnamed_addr constant [2 x i8] c" \00" @.str7664 = private unnamed_addr constant [55 x i8] c"build/cfree/selfhost.ludic:15147: index out of range: \00" @.str7665 = private unnamed_addr constant [55 x i8] c"build/cfree/selfhost.ludic:15152: index out of range: \00" @.str7666 = private unnamed_addr constant [55 x i8] c"build/cfree/selfhost.ludic:15157: index out of range: \00" @.str7667 = private unnamed_addr constant [14 x i8] c"english_left \00" @.str7668 = private unnamed_addr constant [55 x i8] c"build/cfree/selfhost.ludic:15171: index out of range: \00" @.str7669 = private unnamed_addr constant [12 x i8] c"deps_widths\00" @.str7670 = private unnamed_addr constant [55 x i8] c"build/cfree/selfhost.ludic:15178: index out of range: \00" @.str7671 = private unnamed_addr constant [55 x i8] c"build/cfree/selfhost.ludic:15178: index out of range: \00" @.str7672 = private unnamed_addr constant [6 x i8] c"entry\00" @.str7673 = private unnamed_addr constant [1 x i8] c"\00" @.str7674 = private unnamed_addr constant [7 x i8] c"width \00" @.str7675 = private unnamed_addr constant [2 x i8] c" \00" @.str7676 = private unnamed_addr constant [2 x i8] c" \00" @.str7677 = private unnamed_addr constant [2 x i8] c":\00" @.str7678 = private unnamed_addr constant [2 x i8] c" \00" @.str7679 = private unnamed_addr constant [55 x i8] c"build/cfree/selfhost.ludic:15196: index out of range: \00" @.str7680 = private unnamed_addr constant [17 x i8] c"deps_body_states\00" @.str7681 = private unnamed_addr constant [55 x i8] c"build/cfree/selfhost.ludic:15196: index out of range: \00" @.str7682 = private unnamed_addr constant [6 x i8] c"state\00" @.str7683 = private unnamed_addr constant [17 x i8] c"deps_alias_reset\00" @.str7684 = private unnamed_addr constant [55 x i8] c"build/cfree/selfhost.ludic:15221: index out of range: \00" @.str7685 = private unnamed_addr constant [16 x i8] c"deps_alias_find\00" @.str7686 = private unnamed_addr constant [55 x i8] c"build/cfree/selfhost.ludic:15228: index out of range: \00" @.str7687 = private unnamed_addr constant [16 x i8] c"deps_alias_drop\00" @.str7688 = private unnamed_addr constant [1 x i8] c"\00" @.str7689 = private unnamed_addr constant [55 x i8] c"build/cfree/selfhost.ludic:15244: index out of range: \00" @.str7690 = private unnamed_addr constant [17 x i8] c"deps_state_owner\00" @.str7691 = private unnamed_addr constant [55 x i8] c"build/cfree/selfhost.ludic:15245: index out of range: \00" @.str7692 = private unnamed_addr constant [1 x i8] c"\00" @.str7693 = private unnamed_addr constant [1 x i8] c"\00" @.str7694 = private unnamed_addr constant [55 x i8] c"build/cfree/selfhost.ludic:15256: index out of range: \00" @.str7695 = private unnamed_addr constant [7 x i8] c"write \00" @.str7696 = private unnamed_addr constant [17 x i8] c"deps_state_write\00" @.str7697 = private unnamed_addr constant [2 x i8] c" \00" @.str7698 = private unnamed_addr constant [2 x i8] c" \00" @.str7699 = private unnamed_addr constant [2 x i8] c" \00" @.str7700 = private unnamed_addr constant [2 x i8] c":\00" @.str7701 = private unnamed_addr constant [15 x i8] c"deps_alias_let\00" @.str7702 = private unnamed_addr constant [55 x i8] c"build/cfree/selfhost.ludic:15285: index out of range: \00" @.str7703 = private unnamed_addr constant [55 x i8] c"build/cfree/selfhost.ludic:15286: index out of range: \00" @.str7704 = private unnamed_addr constant [1 x i8] c"\00" @.str7705 = private unnamed_addr constant [1 x i8] c"\00" @.str7706 = private unnamed_addr constant [7 x i8] c"alias \00" @.str7707 = private unnamed_addr constant [55 x i8] c"build/cfree/selfhost.ludic:15305: index out of range: \00" @.str7708 = private unnamed_addr constant [17 x i8] c"deps_alias_write\00" @.str7709 = private unnamed_addr constant [2 x i8] c" \00" @.str7710 = private unnamed_addr constant [55 x i8] c"build/cfree/selfhost.ludic:15305: index out of range: \00" @.str7711 = private unnamed_addr constant [2 x i8] c" \00" @.str7712 = private unnamed_addr constant [2 x i8] c" \00" @.str7713 = private unnamed_addr constant [2 x i8] c":\00" @.str7714 = private unnamed_addr constant [2 x i8] c" \00" @.str7715 = private unnamed_addr constant [55 x i8] c"build/cfree/selfhost.ludic:15330: index out of range: \00" @.str7716 = private unnamed_addr constant [12 x i8] c"dr_state_ix\00" @.str7717 = private unnamed_addr constant [55 x i8] c"build/cfree/selfhost.ludic:15335: index out of range: \00" @.str7718 = private unnamed_addr constant [7 x i8] c"dr_set\00" @.str7719 = private unnamed_addr constant [55 x i8] c"build/cfree/selfhost.ludic:15335: index out of range: \00" @.str7720 = private unnamed_addr constant [55 x i8] c"build/cfree/selfhost.ludic:15347: index out of range: \00" @.str7721 = private unnamed_addr constant [12 x i8] c"dr_is_local\00" @.str7722 = private unnamed_addr constant [18 x i8] c"dr_collect_locals\00" @.str7723 = private unnamed_addr constant [55 x i8] c"build/cfree/selfhost.ludic:15358: index out of range: \00" @.str7724 = private unnamed_addr constant [8 x i8] c"dr_walk\00" @.str7725 = private unnamed_addr constant [15 x i8] c"ludic_reduce__\00" @.str7726 = private unnamed_addr constant [3 x i8] c"__\00" @.str7727 = private unnamed_addr constant [55 x i8] c"build/cfree/selfhost.ludic:15376: index out of range: \00" @.str7728 = private unnamed_addr constant [55 x i8] c"build/cfree/selfhost.ludic:15386: index out of range: \00" @.str7729 = private unnamed_addr constant [5 x i8] c"@On \00" @.str7730 = private unnamed_addr constant [2 x i8] c"#\00" @.str7731 = private unnamed_addr constant [55 x i8] c"build/cfree/selfhost.ludic:15414: index out of range: \00" @.str7732 = private unnamed_addr constant [12 x i8] c"dr_holds_fn\00" @.str7733 = private unnamed_addr constant [55 x i8] c"build/cfree/selfhost.ludic:15422: index out of range: \00" @.str7734 = private unnamed_addr constant [55 x i8] c"build/cfree/selfhost.ludic:15423: index out of range: \00" @.str7735 = private unnamed_addr constant [55 x i8] c"build/cfree/selfhost.ludic:15424: index out of range: \00" @.str7736 = private unnamed_addr constant [55 x i8] c"build/cfree/selfhost.ludic:15425: index out of range: \00" @.str7737 = private unnamed_addr constant [55 x i8] c"build/cfree/selfhost.ludic:15427: index out of range: \00" @.str7738 = private unnamed_addr constant [55 x i8] c"build/cfree/selfhost.ludic:15436: index out of range: \00" @.str7739 = private unnamed_addr constant [13 x i8] c"dr_has_fnref\00" @.str7740 = private unnamed_addr constant [9 x i8] c"dr_roots\00" @.str7741 = private unnamed_addr constant [12 x i8] c"new [][]int\00" @.str7742 = private unnamed_addr constant [55 x i8] c"build/cfree/selfhost.ludic:15457: index out of range: \00" @.str7743 = private unnamed_addr constant [55 x i8] c"build/cfree/selfhost.ludic:15466: index out of range: \00" @.str7744 = private unnamed_addr constant [55 x i8] c"build/cfree/selfhost.ludic:15467: index out of range: \00" @.str7745 = private unnamed_addr constant [55 x i8] c"build/cfree/selfhost.ludic:15477: index out of range: \00" @.str7746 = private unnamed_addr constant [55 x i8] c"build/cfree/selfhost.ludic:15480: index out of range: \00" @.str7747 = private unnamed_addr constant [55 x i8] c"build/cfree/selfhost.ludic:15480: index out of range: \00" @.str7748 = private unnamed_addr constant [55 x i8] c"build/cfree/selfhost.ludic:15481: index out of range: \00" @.str7749 = private unnamed_addr constant [55 x i8] c"build/cfree/selfhost.ludic:15481: index out of range: \00" @.str7750 = private unnamed_addr constant [55 x i8] c"build/cfree/selfhost.ludic:15481: index out of range: \00" @.str7751 = private unnamed_addr constant [55 x i8] c"build/cfree/selfhost.ludic:15482: index out of range: \00" @.str7752 = private unnamed_addr constant [55 x i8] c"build/cfree/selfhost.ludic:15482: index out of range: \00" @.str7753 = private unnamed_addr constant [55 x i8] c"build/cfree/selfhost.ludic:15482: index out of range: \00" @.str7754 = private unnamed_addr constant [55 x i8] c"build/cfree/selfhost.ludic:15496: index out of range: \00" @.str7755 = private unnamed_addr constant [15 x i8] c"dr_port_member\00" @.str7756 = private unnamed_addr constant [55 x i8] c"build/cfree/selfhost.ludic:15502: index out of range: \00" @.str7757 = private unnamed_addr constant [55 x i8] c"build/cfree/selfhost.ludic:15503: index out of range: \00" @.str7758 = private unnamed_addr constant [55 x i8] c"build/cfree/selfhost.ludic:15509: index out of range: \00" @.str7759 = private unnamed_addr constant [55 x i8] c"build/cfree/selfhost.ludic:15512: index out of range: \00" @.str7760 = private unnamed_addr constant [55 x i8] c"build/cfree/selfhost.ludic:15512: index out of range: \00" @.str7761 = private unnamed_addr constant [55 x i8] c"build/cfree/selfhost.ludic:15522: index out of range: \00" @.str7762 = private unnamed_addr constant [13 x i8] c"dr_reg_local\00" @.str7763 = private unnamed_addr constant [55 x i8] c"build/cfree/selfhost.ludic:15522: index out of range: \00" @.str7764 = private unnamed_addr constant [55 x i8] c"build/cfree/selfhost.ludic:15538: index out of range: \00" @.str7765 = private unnamed_addr constant [13 x i8] c"dr_reg_field\00" @.str7766 = private unnamed_addr constant [55 x i8] c"build/cfree/selfhost.ludic:15542: index out of range: \00" @.str7767 = private unnamed_addr constant [55 x i8] c"build/cfree/selfhost.ludic:15546: index out of range: \00" @.str7768 = private unnamed_addr constant [55 x i8] c"build/cfree/selfhost.ludic:15547: index out of range: \00" @.str7769 = private unnamed_addr constant [55 x i8] c"build/cfree/selfhost.ludic:15547: index out of range: \00" @.str7770 = private unnamed_addr constant [55 x i8] c"build/cfree/selfhost.ludic:15548: index out of range: \00" @.str7771 = private unnamed_addr constant [55 x i8] c"build/cfree/selfhost.ludic:15561: index out of range: \00" @.str7772 = private unnamed_addr constant [7 x i8] c"dr_own\00" @.str7773 = private unnamed_addr constant [55 x i8] c"build/cfree/selfhost.ludic:15561: index out of range: \00" @.str7774 = private unnamed_addr constant [55 x i8] c"build/cfree/selfhost.ludic:15562: index out of range: \00" @.str7775 = private unnamed_addr constant [55 x i8] c"build/cfree/selfhost.ludic:15573: index out of range: \00" @.str7776 = private unnamed_addr constant [9 x i8] c"dr_count\00" @.str7777 = private unnamed_addr constant [55 x i8] c"build/cfree/selfhost.ludic:15587: index out of range: \00" @.str7778 = private unnamed_addr constant [8 x i8] c"dr_join\00" @.str7779 = private unnamed_addr constant [55 x i8] c"build/cfree/selfhost.ludic:15587: index out of range: \00" @.str7780 = private unnamed_addr constant [55 x i8] c"build/cfree/selfhost.ludic:15588: index out of range: \00" @.str7781 = private unnamed_addr constant [55 x i8] c"build/cfree/selfhost.ludic:15589: index out of range: \00" @.str7782 = private unnamed_addr constant [55 x i8] c"build/cfree/selfhost.ludic:15600: index out of range: \00" @.str7783 = private unnamed_addr constant [11 x i8] c"deps_reach\00" @.str7784 = private unnamed_addr constant [5 x i8] c"@On \00" @.str7785 = private unnamed_addr constant [55 x i8] c"build/cfree/selfhost.ludic:15613: index out of range: \00" @.str7786 = private unnamed_addr constant [2 x i8] c"#\00" @.str7787 = private unnamed_addr constant [55 x i8] c"build/cfree/selfhost.ludic:15618: index out of range: \00" @.str7788 = private unnamed_addr constant [55 x i8] c"build/cfree/selfhost.ludic:15628: index out of range: \00" @.str7789 = private unnamed_addr constant [14 x i8] c"drain_actions\00" @.str7790 = private unnamed_addr constant [55 x i8] c"build/cfree/selfhost.ludic:15640: index out of range: \00" @.str7791 = private unnamed_addr constant [55 x i8] c"build/cfree/selfhost.ludic:15640: index out of range: \00" @.str7792 = private unnamed_addr constant [15 x i8] c"ludic_reduce__\00" @.str7793 = private unnamed_addr constant [55 x i8] c"build/cfree/selfhost.ludic:15640: index out of range: \00" @.str7794 = private unnamed_addr constant [55 x i8] c"build/cfree/selfhost.ludic:15652: index out of range: \00" @.str7795 = private unnamed_addr constant [55 x i8] c"build/cfree/selfhost.ludic:15660: index out of range: \00" @.str7796 = private unnamed_addr constant [55 x i8] c"build/cfree/selfhost.ludic:15669: index out of range: \00" @.str7797 = private unnamed_addr constant [55 x i8] c"build/cfree/selfhost.ludic:15672: index out of range: \00" @.str7798 = private unnamed_addr constant [55 x i8] c"build/cfree/selfhost.ludic:15672: index out of range: \00" @.str7799 = private unnamed_addr constant [55 x i8] c"build/cfree/selfhost.ludic:15672: index out of range: \00" @.str7800 = private unnamed_addr constant [55 x i8] c"build/cfree/selfhost.ludic:15673: index out of range: \00" @.str7801 = private unnamed_addr constant [55 x i8] c"build/cfree/selfhost.ludic:15673: index out of range: \00" @.str7802 = private unnamed_addr constant [55 x i8] c"build/cfree/selfhost.ludic:15673: index out of range: \00" @.str7803 = private unnamed_addr constant [55 x i8] c"build/cfree/selfhost.ludic:15682: index out of range: \00" @.str7804 = private unnamed_addr constant [55 x i8] c"build/cfree/selfhost.ludic:15684: index out of range: \00" @.str7805 = private unnamed_addr constant [1 x i8] c"\00" @.str7806 = private unnamed_addr constant [2 x i8] c"0\00" @.str7807 = private unnamed_addr constant [55 x i8] c"build/cfree/selfhost.ludic:15688: index out of range: \00" @.str7808 = private unnamed_addr constant [2 x i8] c"1\00" @.str7809 = private unnamed_addr constant [7 x i8] c"reach \00" @.str7810 = private unnamed_addr constant [2 x i8] c" \00" @.str7811 = private unnamed_addr constant [2 x i8] c" \00" @.str7812 = private unnamed_addr constant [2 x i8] c":\00" @.str7813 = private unnamed_addr constant [2 x i8] c" \00" @.str7814 = private unnamed_addr constant [2 x i8] c" \00" @.str7815 = private unnamed_addr constant [2 x i8] c" \00" @.str7816 = private unnamed_addr constant [55 x i8] c"build/cfree/selfhost.ludic:15690: index out of range: \00" @.str7817 = private unnamed_addr constant [55 x i8] c"build/cfree/selfhost.ludic:15691: index out of range: \00" @.str7818 = private unnamed_addr constant [8 x i8] c"wreach \00" @.str7819 = private unnamed_addr constant [2 x i8] c" \00" @.str7820 = private unnamed_addr constant [2 x i8] c" \00" @.str7821 = private unnamed_addr constant [2 x i8] c":\00" @.str7822 = private unnamed_addr constant [2 x i8] c" \00" @.str7823 = private unnamed_addr constant [2 x i8] c" \00" @.str7824 = private unnamed_addr constant [2 x i8] c" \00" @.str7825 = private unnamed_addr constant [55 x i8] c"build/cfree/selfhost.ludic:15692: index out of range: \00" @.str7826 = private unnamed_addr constant [32 x i8] c"member access on non-aggregate \00" @.str7827 = private unnamed_addr constant [17 x i8] c"emit_member_addr\00" @.str7828 = private unnamed_addr constant [15 x i8] c"no such field \00" @.str7829 = private unnamed_addr constant [3 x i8] c" \00" @.str7830 = private unnamed_addr constant [27 x i8] c" = getelementptr inbounds \00" @.str7831 = private unnamed_addr constant [7 x i8] c", ptr \00" @.str7832 = private unnamed_addr constant [14 x i8] c", i32 0, i32 \00" @.str7833 = private unnamed_addr constant [2 x i8] c"\0A\00" @.str7834 = private unnamed_addr constant [6 x i8] c"words\00" @.str7835 = private unnamed_addr constant [33 x i8] c"getelementptr inbounds i32, ptr \00" @.str7836 = private unnamed_addr constant [16 x i8] c"emit_index_addr\00" @.str7837 = private unnamed_addr constant [7 x i8] c", i32 \00" @.str7838 = private unnamed_addr constant [4 x i8] c"int\00" @.str7839 = private unnamed_addr constant [7 x i8] c"fixeds\00" @.str7840 = private unnamed_addr constant [33 x i8] c"getelementptr inbounds i32, ptr \00" @.str7841 = private unnamed_addr constant [7 x i8] c", i32 \00" @.str7842 = private unnamed_addr constant [6 x i8] c"fixed\00" @.str7843 = private unnamed_addr constant [7 x i8] c"floats\00" @.str7844 = private unnamed_addr constant [8 x i8] c"doubles\00" @.str7845 = private unnamed_addr constant [6 x i8] c"float\00" @.str7846 = private unnamed_addr constant [8 x i8] c"doubles\00" @.str7847 = private unnamed_addr constant [7 x i8] c"double\00" @.str7848 = private unnamed_addr constant [24 x i8] c"getelementptr inbounds \00" @.str7849 = private unnamed_addr constant [7 x i8] c", ptr \00" @.str7850 = private unnamed_addr constant [7 x i8] c", i32 \00" @.str7851 = private unnamed_addr constant [9 x i8] c"pointers\00" @.str7852 = private unnamed_addr constant [33 x i8] c"getelementptr inbounds ptr, ptr \00" @.str7853 = private unnamed_addr constant [7 x i8] c", i32 \00" @.str7854 = private unnamed_addr constant [4 x i8] c"ptr\00" @.str7855 = private unnamed_addr constant [32 x i8] c"getelementptr inbounds i8, ptr \00" @.str7856 = private unnamed_addr constant [7 x i8] c", i32 \00" @.str7857 = private unnamed_addr constant [5 x i8] c"byte\00" @.str7858 = private unnamed_addr constant [3 x i8] c" \00" @.str7859 = private unnamed_addr constant [40 x i8] c" = getelementptr inbounds %LSlice, ptr \00" @.str7860 = private unnamed_addr constant [16 x i8] c", i32 0, i32 0\0A\00" @.str7861 = private unnamed_addr constant [3 x i8] c" \00" @.str7862 = private unnamed_addr constant [18 x i8] c" = load ptr, ptr \00" @.str7863 = private unnamed_addr constant [2 x i8] c"\0A\00" @.str7864 = private unnamed_addr constant [3 x i8] c" \00" @.str7865 = private unnamed_addr constant [40 x i8] c" = getelementptr inbounds %LSlice, ptr \00" @.str7866 = private unnamed_addr constant [16 x i8] c", i32 0, i32 1\0A\00" @.str7867 = private unnamed_addr constant [15 x i8] c"load i32, ptr \00" @.str7868 = private unnamed_addr constant [14 x i8] c"icmp ult i32 \00" @.str7869 = private unnamed_addr constant [3 x i8] c", \00" @.str7870 = private unnamed_addr constant [5 x i8] c"ixok\00" @.str7871 = private unnamed_addr constant [6 x i8] c"ixbad\00" @.str7872 = private unnamed_addr constant [9 x i8] c" br i1 \00" @.str7873 = private unnamed_addr constant [10 x i8] c", label %\00" @.str7874 = private unnamed_addr constant [10 x i8] c", label %\00" @.str7875 = private unnamed_addr constant [2 x i8] c"\0A\00" @.str7876 = private unnamed_addr constant [3 x i8] c":\0A\00" @.str7877 = private unnamed_addr constant [2 x i8] c":\00" @.str7878 = private unnamed_addr constant [23 x i8] c": index out of range: \00" @.str7879 = private unnamed_addr constant [41 x i8] c" call i32 (ptr, ptr, ...) @fprintf(ptr \00" @.str7880 = private unnamed_addr constant [25 x i8] c", ptr @.fmt_bounds, ptr \00" @.str7881 = private unnamed_addr constant [7 x i8] c", i32 \00" @.str7882 = private unnamed_addr constant [7 x i8] c", i32 \00" @.str7883 = private unnamed_addr constant [3 x i8] c")\0A\00" @.str7884 = private unnamed_addr constant [40 x i8] c" call void @exit(i32 1)\0A unreachable\0A\00" @.str7885 = private unnamed_addr constant [3 x i8] c":\0A\00" @.str7886 = private unnamed_addr constant [3 x i8] c" \00" @.str7887 = private unnamed_addr constant [27 x i8] c" = getelementptr inbounds \00" @.str7888 = private unnamed_addr constant [7 x i8] c", ptr \00" @.str7889 = private unnamed_addr constant [7 x i8] c", i32 \00" @.str7890 = private unnamed_addr constant [2 x i8] c"\0A\00" @.str7891 = private unnamed_addr constant [7 x i8] c"resize\00" @.str7892 = private unnamed_addr constant [10 x i8] c"file_open\00" @.str7893 = private unnamed_addr constant [10 x i8] c"file_read\00" @.str7894 = private unnamed_addr constant [11 x i8] c"file_write\00" @.str7895 = private unnamed_addr constant [10 x i8] c"file_seek\00" @.str7896 = private unnamed_addr constant [10 x i8] c"file_tell\00" @.str7897 = private unnamed_addr constant [11 x i8] c"file_close\00" @.str7898 = private unnamed_addr constant [10 x i8] c"arg_count\00" @.str7899 = private unnamed_addr constant [4 x i8] c"arg\00" @.str7900 = private unnamed_addr constant [5 x i8] c"exit\00" @.str7901 = private unnamed_addr constant [12 x i8] c"file_stderr\00" @.str7902 = private unnamed_addr constant [12 x i8] c"file_stdout\00" @.str7903 = private unnamed_addr constant [4 x i8] c"run\00" @.str7904 = private unnamed_addr constant [7 x i8] c"getenv\00" @.str7905 = private unnamed_addr constant [14 x i8] c"world_despawn\00" @.str7906 = private unnamed_addr constant [3 x i8] c" \00" @.str7907 = private unnamed_addr constant [4 x i8] c" = \00" @.str7908 = private unnamed_addr constant [2 x i8] c"\0A\00" @.str7909 = private unnamed_addr constant [28 x i8] c" store i8 0, ptr @lp_want\0A\00" @.str7910 = private unnamed_addr constant [29 x i8] c" store i32 0, ptr @lp_site\0A\00" @.str7911 = private unnamed_addr constant [55 x i8] c"build/cfree/selfhost.ludic:15818: index out of range: \00" @.str7912 = private unnamed_addr constant [9 x i8] c"arg_code\00" @.str7913 = private unnamed_addr constant [55 x i8] c"build/cfree/selfhost.ludic:15821: index out of range: \00" @.str7914 = private unnamed_addr constant [8 x i8] c"arg_buf\00" @.str7915 = private unnamed_addr constant [15 x i8] c"load ptr, ptr \00" @.str7916 = private unnamed_addr constant [7 x i8] c"resize\00" @.str7917 = private unnamed_addr constant [10 x i8] c"zext i32 \00" @.str7918 = private unnamed_addr constant [15 x i8] c"emit_intrinsic\00" @.str7919 = private unnamed_addr constant [8 x i8] c" to i64\00" @.str7920 = private unnamed_addr constant [26 x i8] c"call ptr @lp_realloc(ptr \00" @.str7921 = private unnamed_addr constant [7 x i8] c", i64 \00" @.str7922 = private unnamed_addr constant [2 x i8] c")\00" @.str7923 = private unnamed_addr constant [8 x i8] c"pointer\00" @.str7924 = private unnamed_addr constant [10 x i8] c"file_open\00" @.str7925 = private unnamed_addr constant [27 x i8] c"call ptr @lp_pak_open(ptr \00" @.str7926 = private unnamed_addr constant [7 x i8] c", ptr \00" @.str7927 = private unnamed_addr constant [2 x i8] c")\00" @.str7928 = private unnamed_addr constant [8 x i8] c"pointer\00" @.str7929 = private unnamed_addr constant [10 x i8] c"file_read\00" @.str7930 = private unnamed_addr constant [11 x i8] c"file_write\00" @.str7931 = private unnamed_addr constant [55 x i8] c"build/cfree/selfhost.ludic:15847: index out of range: \00" @.str7932 = private unnamed_addr constant [10 x i8] c"zext i32 \00" @.str7933 = private unnamed_addr constant [8 x i8] c" to i64\00" @.str7934 = private unnamed_addr constant [7 x i8] c"@fread\00" @.str7935 = private unnamed_addr constant [11 x i8] c"file_write\00" @.str7936 = private unnamed_addr constant [8 x i8] c"@fwrite\00" @.str7937 = private unnamed_addr constant [10 x i8] c"call i64 \00" @.str7938 = private unnamed_addr constant [6 x i8] c"(ptr \00" @.str7939 = private unnamed_addr constant [14 x i8] c", i64 1, i64 \00" @.str7940 = private unnamed_addr constant [7 x i8] c", ptr \00" @.str7941 = private unnamed_addr constant [2 x i8] c")\00" @.str7942 = private unnamed_addr constant [11 x i8] c"trunc i64 \00" @.str7943 = private unnamed_addr constant [8 x i8] c" to i32\00" @.str7944 = private unnamed_addr constant [4 x i8] c"int\00" @.str7945 = private unnamed_addr constant [10 x i8] c"file_seek\00" @.str7946 = private unnamed_addr constant [10 x i8] c"sext i32 \00" @.str7947 = private unnamed_addr constant [8 x i8] c" to i64\00" @.str7948 = private unnamed_addr constant [21 x i8] c"call i32 @fseek(ptr \00" @.str7949 = private unnamed_addr constant [7 x i8] c", i64 \00" @.str7950 = private unnamed_addr constant [7 x i8] c", i32 \00" @.str7951 = private unnamed_addr constant [2 x i8] c")\00" @.str7952 = private unnamed_addr constant [4 x i8] c"int\00" @.str7953 = private unnamed_addr constant [10 x i8] c"file_tell\00" @.str7954 = private unnamed_addr constant [21 x i8] c"call i64 @ftell(ptr \00" @.str7955 = private unnamed_addr constant [2 x i8] c")\00" @.str7956 = private unnamed_addr constant [11 x i8] c"trunc i64 \00" @.str7957 = private unnamed_addr constant [8 x i8] c" to i32\00" @.str7958 = private unnamed_addr constant [4 x i8] c"int\00" @.str7959 = private unnamed_addr constant [11 x i8] c"file_close\00" @.str7960 = private unnamed_addr constant [24 x i8] c" call i32 @fclose(ptr \00" @.str7961 = private unnamed_addr constant [3 x i8] c")\0A\00" @.str7962 = private unnamed_addr constant [2 x i8] c"0\00" @.str7963 = private unnamed_addr constant [5 x i8] c"void\00" @.str7964 = private unnamed_addr constant [14 x i8] c"world_despawn\00" @.str7965 = private unnamed_addr constant [35 x i8] c" call void @fn_world_despawn(i32 \00" @.str7966 = private unnamed_addr constant [3 x i8] c")\0A\00" @.str7967 = private unnamed_addr constant [2 x i8] c"0\00" @.str7968 = private unnamed_addr constant [5 x i8] c"void\00" @.str7969 = private unnamed_addr constant [10 x i8] c"arg_count\00" @.str7970 = private unnamed_addr constant [22 x i8] c"load i32, ptr @L_argc\00" @.str7971 = private unnamed_addr constant [4 x i8] c"int\00" @.str7972 = private unnamed_addr constant [4 x i8] c"arg\00" @.str7973 = private unnamed_addr constant [22 x i8] c"load ptr, ptr @L_argv\00" @.str7974 = private unnamed_addr constant [24 x i8] c"getelementptr ptr, ptr \00" @.str7975 = private unnamed_addr constant [7 x i8] c", i32 \00" @.str7976 = private unnamed_addr constant [15 x i8] c"load ptr, ptr \00" @.str7977 = private unnamed_addr constant [7 x i8] c"string\00" @.str7978 = private unnamed_addr constant [5 x i8] c"exit\00" @.str7979 = private unnamed_addr constant [23 x i8] c" call void @exit(i32 \00" @.str7980 = private unnamed_addr constant [3 x i8] c")\0A\00" @.str7981 = private unnamed_addr constant [15 x i8] c" unreachable\0A\00" @.str7982 = private unnamed_addr constant [2 x i8] c"0\00" @.str7983 = private unnamed_addr constant [5 x i8] c"void\00" @.str7984 = private unnamed_addr constant [12 x i8] c"file_stderr\00" @.str7985 = private unnamed_addr constant [8 x i8] c"pointer\00" @.str7986 = private unnamed_addr constant [12 x i8] c"file_stdout\00" @.str7987 = private unnamed_addr constant [8 x i8] c"pointer\00" @.str7988 = private unnamed_addr constant [4 x i8] c"run\00" @.str7989 = private unnamed_addr constant [22 x i8] c"call i32 @system(ptr \00" @.str7990 = private unnamed_addr constant [2 x i8] c")\00" @.str7991 = private unnamed_addr constant [4 x i8] c"int\00" @.str7992 = private unnamed_addr constant [7 x i8] c"getenv\00" @.str7993 = private unnamed_addr constant [22 x i8] c"call ptr @getenv(ptr \00" @.str7994 = private unnamed_addr constant [2 x i8] c")\00" @.str7995 = private unnamed_addr constant [7 x i8] c"string\00" @.str7996 = private unnamed_addr constant [2 x i8] c"0\00" @.str7997 = private unnamed_addr constant [5 x i8] c"void\00" @.str7998 = private unnamed_addr constant [28 x i8] c"call ptr @lp_win_stdio(i32 \00" @.str7999 = private unnamed_addr constant [14 x i8] c"stdstream_rhs\00" @.str8000 = private unnamed_addr constant [2 x i8] c")\00" @.str8001 = private unnamed_addr constant [25 x i8] c"load ptr, ptr @__stderrp\00" @.str8002 = private unnamed_addr constant [25 x i8] c"load ptr, ptr @__stdoutp\00" @.str8003 = private unnamed_addr constant [5 x i8] c"free\00" @.str8004 = private unnamed_addr constant [5 x i8] c"fill\00" @.str8005 = private unnamed_addr constant [7 x i8] c"offset\00" @.str8006 = private unnamed_addr constant [10 x i8] c"read_char\00" @.str8007 = private unnamed_addr constant [9 x i8] c"as_fixed\00" @.str8008 = private unnamed_addr constant [7 x i8] c"as_int\00" @.str8009 = private unnamed_addr constant [12 x i8] c"is_windowed\00" @.str8010 = private unnamed_addr constant [11 x i8] c"game_title\00" @.str8011 = private unnamed_addr constant [13 x i8] c"window_later\00" @.str8012 = private unnamed_addr constant [9 x i8] c"win_open\00" @.str8013 = private unnamed_addr constant [9 x i8] c"win_poll\00" @.str8014 = private unnamed_addr constant [12 x i8] c"win_present\00" @.str8015 = private unnamed_addr constant [12 x i8] c"win_running\00" @.str8016 = private unnamed_addr constant [10 x i8] c"win_close\00" @.str8017 = private unnamed_addr constant [9 x i8] c"win_held\00" @.str8018 = private unnamed_addr constant [10 x i8] c"win_mouse\00" @.str8019 = private unnamed_addr constant [9 x i8] c"win_text\00" @.str8020 = private unnamed_addr constant [13 x i8] c"win_key_char\00" @.str8021 = private unnamed_addr constant [8 x i8] c"win_pad\00" @.str8022 = private unnamed_addr constant [10 x i8] c"win_touch\00" @.str8023 = private unnamed_addr constant [16 x i8] c"win_cursor_mode\00" @.str8024 = private unnamed_addr constant [9 x i8] c"snd_load\00" @.str8025 = private unnamed_addr constant [9 x i8] c"snd_play\00" @.str8026 = private unnamed_addr constant [9 x i8] c"snd_stop\00" @.str8027 = private unnamed_addr constant [12 x i8] c"snd_playing\00" @.str8028 = private unnamed_addr constant [15 x i8] c"snd_set_volume\00" @.str8029 = private unnamed_addr constant [13 x i8] c"snd_set_rate\00" @.str8030 = private unnamed_addr constant [12 x i8] c"snd_set_pan\00" @.str8031 = private unnamed_addr constant [11 x i8] c"hs_req_new\00" @.str8032 = private unnamed_addr constant [14 x i8] c"hs_req_header\00" @.str8033 = private unnamed_addr constant [12 x i8] c"hs_req_body\00" @.str8034 = private unnamed_addr constant [8 x i8] c"hs_send\00" @.str8035 = private unnamed_addr constant [8 x i8] c"hs_done\00" @.str8036 = private unnamed_addr constant [10 x i8] c"hs_status\00" @.str8037 = private unnamed_addr constant [8 x i8] c"hs_body\00" @.str8038 = private unnamed_addr constant [8 x i8] c"hs_blen\00" @.str8039 = private unnamed_addr constant [10 x i8] c"hs_header\00" @.str8040 = private unnamed_addr constant [8 x i8] c"hs_free\00" @.str8041 = private unnamed_addr constant [5 x i8] c"free\00" @.str8042 = private unnamed_addr constant [55 x i8] c"build/cfree/selfhost.ludic:15946: index out of range: \00" @.str8043 = private unnamed_addr constant [16 x i8] c"emit_intrinsic2\00" @.str8044 = private unnamed_addr constant [15 x i8] c"load ptr, ptr \00" @.str8045 = private unnamed_addr constant [26 x i8] c" call void @lp_free(ptr \00" @.str8046 = private unnamed_addr constant [3 x i8] c")\0A\00" @.str8047 = private unnamed_addr constant [26 x i8] c" call void @lp_free(ptr \00" @.str8048 = private unnamed_addr constant [3 x i8] c")\0A\00" @.str8049 = private unnamed_addr constant [2 x i8] c"0\00" @.str8050 = private unnamed_addr constant [5 x i8] c"void\00" @.str8051 = private unnamed_addr constant [5 x i8] c"fill\00" @.str8052 = private unnamed_addr constant [55 x i8] c"build/cfree/selfhost.ludic:15956: index out of range: \00" @.str8053 = private unnamed_addr constant [10 x i8] c"zext i32 \00" @.str8054 = private unnamed_addr constant [8 x i8] c" to i64\00" @.str8055 = private unnamed_addr constant [24 x i8] c" call ptr @memset(ptr \00" @.str8056 = private unnamed_addr constant [7 x i8] c", i32 \00" @.str8057 = private unnamed_addr constant [7 x i8] c", i64 \00" @.str8058 = private unnamed_addr constant [3 x i8] c")\0A\00" @.str8059 = private unnamed_addr constant [2 x i8] c"0\00" @.str8060 = private unnamed_addr constant [5 x i8] c"void\00" @.str8061 = private unnamed_addr constant [7 x i8] c"offset\00" @.str8062 = private unnamed_addr constant [55 x i8] c"build/cfree/selfhost.ludic:15962: index out of range: \00" @.str8063 = private unnamed_addr constant [3 x i8] c" \00" @.str8064 = private unnamed_addr constant [35 x i8] c" = getelementptr inbounds i8, ptr \00" @.str8065 = private unnamed_addr constant [7 x i8] c", i32 \00" @.str8066 = private unnamed_addr constant [2 x i8] c"\0A\00" @.str8067 = private unnamed_addr constant [8 x i8] c"pointer\00" @.str8068 = private unnamed_addr constant [10 x i8] c"read_char\00" @.str8069 = private unnamed_addr constant [20 x i8] c"call i32 @getchar()\00" @.str8070 = private unnamed_addr constant [4 x i8] c"int\00" @.str8071 = private unnamed_addr constant [9 x i8] c"as_fixed\00" @.str8072 = private unnamed_addr constant [55 x i8] c"build/cfree/selfhost.ludic:15968: index out of range: \00" @.str8073 = private unnamed_addr constant [6 x i8] c"fixed\00" @.str8074 = private unnamed_addr constant [7 x i8] c"as_int\00" @.str8075 = private unnamed_addr constant [55 x i8] c"build/cfree/selfhost.ludic:15969: index out of range: \00" @.str8076 = private unnamed_addr constant [4 x i8] c"int\00" @.str8077 = private unnamed_addr constant [12 x i8] c"is_windowed\00" @.str8078 = private unnamed_addr constant [2 x i8] c"1\00" @.str8079 = private unnamed_addr constant [5 x i8] c"bool\00" @.str8080 = private unnamed_addr constant [2 x i8] c"0\00" @.str8081 = private unnamed_addr constant [5 x i8] c"bool\00" @.str8082 = private unnamed_addr constant [13 x i8] c"window_later\00" @.str8083 = private unnamed_addr constant [9 x i8] c"gvk_open\00" @.str8084 = private unnamed_addr constant [2 x i8] c"1\00" @.str8085 = private unnamed_addr constant [5 x i8] c"bool\00" @.str8086 = private unnamed_addr constant [2 x i8] c"0\00" @.str8087 = private unnamed_addr constant [5 x i8] c"bool\00" @.str8088 = private unnamed_addr constant [11 x i8] c"game_title\00" @.str8089 = private unnamed_addr constant [12 x i8] c"@.gametitle\00" @.str8090 = private unnamed_addr constant [7 x i8] c"string\00" @.str8091 = private unnamed_addr constant [9 x i8] c"win_poll\00" @.str8092 = private unnamed_addr constant [21 x i8] c"call i32 @win_poll()\00" @.str8093 = private unnamed_addr constant [4 x i8] c"int\00" @.str8094 = private unnamed_addr constant [12 x i8] c"win_running\00" @.str8095 = private unnamed_addr constant [24 x i8] c"call i32 @win_running()\00" @.str8096 = private unnamed_addr constant [5 x i8] c"bool\00" @.str8097 = private unnamed_addr constant [9 x i8] c"win_open\00" @.str8098 = private unnamed_addr constant [27 x i8] c" call void @win_open(i32 \00" @.str8099 = private unnamed_addr constant [7 x i8] c", i32 \00" @.str8100 = private unnamed_addr constant [7 x i8] c", i32 \00" @.str8101 = private unnamed_addr constant [7 x i8] c", ptr \00" @.str8102 = private unnamed_addr constant [3 x i8] c")\0A\00" @.str8103 = private unnamed_addr constant [2 x i8] c"0\00" @.str8104 = private unnamed_addr constant [5 x i8] c"void\00" @.str8105 = private unnamed_addr constant [12 x i8] c"win_present\00" @.str8106 = private unnamed_addr constant [30 x i8] c" call void @win_present(ptr \00" @.str8107 = private unnamed_addr constant [7 x i8] c", i32 \00" @.str8108 = private unnamed_addr constant [7 x i8] c", i32 \00" @.str8109 = private unnamed_addr constant [3 x i8] c")\0A\00" @.str8110 = private unnamed_addr constant [2 x i8] c"0\00" @.str8111 = private unnamed_addr constant [5 x i8] c"void\00" @.str8112 = private unnamed_addr constant [10 x i8] c"win_close\00" @.str8113 = private unnamed_addr constant [26 x i8] c" call void @win_close()\0A\00" @.str8114 = private unnamed_addr constant [2 x i8] c"0\00" @.str8115 = private unnamed_addr constant [5 x i8] c"void\00" @.str8116 = private unnamed_addr constant [9 x i8] c"win_held\00" @.str8117 = private unnamed_addr constant [27 x i8] c" call void @win_held(ptr \00" @.str8118 = private unnamed_addr constant [3 x i8] c")\0A\00" @.str8119 = private unnamed_addr constant [2 x i8] c"0\00" @.str8120 = private unnamed_addr constant [5 x i8] c"void\00" @.str8121 = private unnamed_addr constant [10 x i8] c"win_mouse\00" @.str8122 = private unnamed_addr constant [28 x i8] c" call void @win_mouse(ptr \00" @.str8123 = private unnamed_addr constant [3 x i8] c")\0A\00" @.str8124 = private unnamed_addr constant [2 x i8] c"0\00" @.str8125 = private unnamed_addr constant [5 x i8] c"void\00" @.str8126 = private unnamed_addr constant [13 x i8] c"win_key_char\00" @.str8127 = private unnamed_addr constant [28 x i8] c"call i32 @win_key_char(i32 \00" @.str8128 = private unnamed_addr constant [2 x i8] c")\00" @.str8129 = private unnamed_addr constant [4 x i8] c"int\00" @.str8130 = private unnamed_addr constant [9 x i8] c"win_text\00" @.str8131 = private unnamed_addr constant [24 x i8] c"call i32 @win_text(ptr \00" @.str8132 = private unnamed_addr constant [7 x i8] c", i32 \00" @.str8133 = private unnamed_addr constant [2 x i8] c")\00" @.str8134 = private unnamed_addr constant [4 x i8] c"int\00" @.str8135 = private unnamed_addr constant [8 x i8] c"win_pad\00" @.str8136 = private unnamed_addr constant [26 x i8] c" call void @win_pad(ptr \00" @.str8137 = private unnamed_addr constant [3 x i8] c")\0A\00" @.str8138 = private unnamed_addr constant [2 x i8] c"0\00" @.str8139 = private unnamed_addr constant [5 x i8] c"void\00" @.str8140 = private unnamed_addr constant [10 x i8] c"win_touch\00" @.str8141 = private unnamed_addr constant [28 x i8] c" call void @win_touch(ptr \00" @.str8142 = private unnamed_addr constant [3 x i8] c")\0A\00" @.str8143 = private unnamed_addr constant [2 x i8] c"0\00" @.str8144 = private unnamed_addr constant [5 x i8] c"void\00" @.str8145 = private unnamed_addr constant [16 x i8] c"win_cursor_mode\00" @.str8146 = private unnamed_addr constant [34 x i8] c" call void @win_cursor_mode(i32 \00" @.str8147 = private unnamed_addr constant [3 x i8] c")\0A\00" @.str8148 = private unnamed_addr constant [2 x i8] c"0\00" @.str8149 = private unnamed_addr constant [5 x i8] c"void\00" @.str8150 = private unnamed_addr constant [9 x i8] c"snd_load\00" @.str8151 = private unnamed_addr constant [24 x i8] c"call ptr @snd_load(ptr \00" @.str8152 = private unnamed_addr constant [2 x i8] c")\00" @.str8153 = private unnamed_addr constant [8 x i8] c"pointer\00" @.str8154 = private unnamed_addr constant [9 x i8] c"snd_play\00" @.str8155 = private unnamed_addr constant [27 x i8] c" call void @snd_play(ptr \00" @.str8156 = private unnamed_addr constant [7 x i8] c", i32 \00" @.str8157 = private unnamed_addr constant [7 x i8] c", i32 \00" @.str8158 = private unnamed_addr constant [7 x i8] c", i32 \00" @.str8159 = private unnamed_addr constant [3 x i8] c")\0A\00" @.str8160 = private unnamed_addr constant [2 x i8] c"0\00" @.str8161 = private unnamed_addr constant [5 x i8] c"void\00" @.str8162 = private unnamed_addr constant [9 x i8] c"snd_stop\00" @.str8163 = private unnamed_addr constant [27 x i8] c" call void @snd_stop(ptr \00" @.str8164 = private unnamed_addr constant [3 x i8] c")\0A\00" @.str8165 = private unnamed_addr constant [2 x i8] c"0\00" @.str8166 = private unnamed_addr constant [5 x i8] c"void\00" @.str8167 = private unnamed_addr constant [12 x i8] c"snd_playing\00" @.str8168 = private unnamed_addr constant [27 x i8] c"call i32 @snd_playing(ptr \00" @.str8169 = private unnamed_addr constant [2 x i8] c")\00" @.str8170 = private unnamed_addr constant [4 x i8] c"int\00" @.str8171 = private unnamed_addr constant [15 x i8] c"snd_set_volume\00" @.str8172 = private unnamed_addr constant [33 x i8] c" call void @snd_set_volume(ptr \00" @.str8173 = private unnamed_addr constant [7 x i8] c", i32 \00" @.str8174 = private unnamed_addr constant [3 x i8] c")\0A\00" @.str8175 = private unnamed_addr constant [2 x i8] c"0\00" @.str8176 = private unnamed_addr constant [5 x i8] c"void\00" @.str8177 = private unnamed_addr constant [13 x i8] c"snd_set_rate\00" @.str8178 = private unnamed_addr constant [31 x i8] c" call void @snd_set_rate(ptr \00" @.str8179 = private unnamed_addr constant [7 x i8] c", i32 \00" @.str8180 = private unnamed_addr constant [3 x i8] c")\0A\00" @.str8181 = private unnamed_addr constant [2 x i8] c"0\00" @.str8182 = private unnamed_addr constant [5 x i8] c"void\00" @.str8183 = private unnamed_addr constant [12 x i8] c"snd_set_pan\00" @.str8184 = private unnamed_addr constant [30 x i8] c" call void @snd_set_pan(ptr \00" @.str8185 = private unnamed_addr constant [7 x i8] c", i32 \00" @.str8186 = private unnamed_addr constant [3 x i8] c")\0A\00" @.str8187 = private unnamed_addr constant [2 x i8] c"0\00" @.str8188 = private unnamed_addr constant [5 x i8] c"void\00" @.str8189 = private unnamed_addr constant [11 x i8] c"hs_req_new\00" @.str8190 = private unnamed_addr constant [26 x i8] c"call ptr @hs_req_new(ptr \00" @.str8191 = private unnamed_addr constant [7 x i8] c", ptr \00" @.str8192 = private unnamed_addr constant [2 x i8] c")\00" @.str8193 = private unnamed_addr constant [8 x i8] c"pointer\00" @.str8194 = private unnamed_addr constant [14 x i8] c"hs_req_header\00" @.str8195 = private unnamed_addr constant [32 x i8] c" call void @hs_req_header(ptr \00" @.str8196 = private unnamed_addr constant [7 x i8] c", ptr \00" @.str8197 = private unnamed_addr constant [7 x i8] c", ptr \00" @.str8198 = private unnamed_addr constant [3 x i8] c")\0A\00" @.str8199 = private unnamed_addr constant [2 x i8] c"0\00" @.str8200 = private unnamed_addr constant [5 x i8] c"void\00" @.str8201 = private unnamed_addr constant [12 x i8] c"hs_req_body\00" @.str8202 = private unnamed_addr constant [30 x i8] c" call void @hs_req_body(ptr \00" @.str8203 = private unnamed_addr constant [7 x i8] c", ptr \00" @.str8204 = private unnamed_addr constant [7 x i8] c", i32 \00" @.str8205 = private unnamed_addr constant [3 x i8] c")\0A\00" @.str8206 = private unnamed_addr constant [2 x i8] c"0\00" @.str8207 = private unnamed_addr constant [5 x i8] c"void\00" @.str8208 = private unnamed_addr constant [8 x i8] c"hs_send\00" @.str8209 = private unnamed_addr constant [26 x i8] c" call void @hs_send(i32 \00" @.str8210 = private unnamed_addr constant [7 x i8] c", ptr \00" @.str8211 = private unnamed_addr constant [3 x i8] c")\0A\00" @.str8212 = private unnamed_addr constant [2 x i8] c"0\00" @.str8213 = private unnamed_addr constant [5 x i8] c"void\00" @.str8214 = private unnamed_addr constant [8 x i8] c"hs_done\00" @.str8215 = private unnamed_addr constant [23 x i8] c"call i32 @hs_done(i32 \00" @.str8216 = private unnamed_addr constant [2 x i8] c")\00" @.str8217 = private unnamed_addr constant [4 x i8] c"int\00" @.str8218 = private unnamed_addr constant [10 x i8] c"hs_status\00" @.str8219 = private unnamed_addr constant [25 x i8] c"call i32 @hs_status(i32 \00" @.str8220 = private unnamed_addr constant [2 x i8] c")\00" @.str8221 = private unnamed_addr constant [4 x i8] c"int\00" @.str8222 = private unnamed_addr constant [8 x i8] c"hs_body\00" @.str8223 = private unnamed_addr constant [23 x i8] c"call ptr @hs_body(i32 \00" @.str8224 = private unnamed_addr constant [2 x i8] c")\00" @.str8225 = private unnamed_addr constant [8 x i8] c"pointer\00" @.str8226 = private unnamed_addr constant [8 x i8] c"hs_blen\00" @.str8227 = private unnamed_addr constant [23 x i8] c"call i32 @hs_blen(i32 \00" @.str8228 = private unnamed_addr constant [2 x i8] c")\00" @.str8229 = private unnamed_addr constant [4 x i8] c"int\00" @.str8230 = private unnamed_addr constant [10 x i8] c"hs_header\00" @.str8231 = private unnamed_addr constant [25 x i8] c"call ptr @hs_header(i32 \00" @.str8232 = private unnamed_addr constant [7 x i8] c", ptr \00" @.str8233 = private unnamed_addr constant [2 x i8] c")\00" @.str8234 = private unnamed_addr constant [8 x i8] c"pointer\00" @.str8235 = private unnamed_addr constant [8 x i8] c"hs_free\00" @.str8236 = private unnamed_addr constant [26 x i8] c" call void @hs_free(i32 \00" @.str8237 = private unnamed_addr constant [3 x i8] c")\0A\00" @.str8238 = private unnamed_addr constant [2 x i8] c"0\00" @.str8239 = private unnamed_addr constant [5 x i8] c"void\00" @.str8240 = private unnamed_addr constant [2 x i8] c"0\00" @.str8241 = private unnamed_addr constant [5 x i8] c"void\00" @.str8242 = private unnamed_addr constant [6 x i8] c"float\00" @.str8243 = private unnamed_addr constant [7 x i8] c"double\00" @.str8244 = private unnamed_addr constant [1 x i8] c"\00" @.str8245 = private unnamed_addr constant [55 x i8] c"build/cfree/selfhost.ludic:16055: index out of range: \00" @.str8246 = private unnamed_addr constant [10 x i8] c"det_enter\00" @.str8247 = private unnamed_addr constant [1 x i8] c"\00" @.str8248 = private unnamed_addr constant [16 x i8] c"@deterministic \00" @.str8249 = private unnamed_addr constant [9 x i8] c"fp_guard\00" @.str8250 = private unnamed_addr constant [22 x i8] c" cannot compute with \00" @.str8251 = private unnamed_addr constant [56 x i8] c": floating point differs between machines \E2\80\94 use fixed\00" @.str8252 = private unnamed_addr constant [7 x i8] c"double\00" @.str8253 = private unnamed_addr constant [7 x i8] c"double\00" @.str8254 = private unnamed_addr constant [7 x i8] c"double\00" @.str8255 = private unnamed_addr constant [6 x i8] c"float\00" @.str8256 = private unnamed_addr constant [6 x i8] c"fneg \00" @.str8257 = private unnamed_addr constant [9 x i8] c"fp_const\00" @.str8258 = private unnamed_addr constant [2 x i8] c" \00" @.str8259 = private unnamed_addr constant [5 x i8] c"fadd\00" @.str8260 = private unnamed_addr constant [2 x i8] c"-\00" @.str8261 = private unnamed_addr constant [5 x i8] c"fsub\00" @.str8262 = private unnamed_addr constant [2 x i8] c"*\00" @.str8263 = private unnamed_addr constant [5 x i8] c"fmul\00" @.str8264 = private unnamed_addr constant [2 x i8] c"/\00" @.str8265 = private unnamed_addr constant [5 x i8] c"fdiv\00" @.str8266 = private unnamed_addr constant [2 x i8] c"%\00" @.str8267 = private unnamed_addr constant [5 x i8] c"frem\00" @.str8268 = private unnamed_addr constant [2 x i8] c" \00" @.str8269 = private unnamed_addr constant [2 x i8] c" \00" @.str8270 = private unnamed_addr constant [3 x i8] c", \00" @.str8271 = private unnamed_addr constant [35 x i8] c"internal: not a literal expression\00" @.str8272 = private unnamed_addr constant [4 x i8] c"0.0\00" @.str8273 = private unnamed_addr constant [4 x i8] c"ptr\00" @.str8274 = private unnamed_addr constant [5 x i8] c"null\00" @.str8275 = private unnamed_addr constant [6 x i8] c"float\00" @.str8276 = private unnamed_addr constant [7 x i8] c"double\00" @.str8277 = private unnamed_addr constant [4 x i8] c"0.0\00" @.str8278 = private unnamed_addr constant [2 x i8] c"0\00" @.str8279 = private unnamed_addr constant [3 x i8] c".0\00" @.str8280 = private unnamed_addr constant [12 x i8] c"fp_lit_code\00" @.str8281 = private unnamed_addr constant [7 x i8] c"double\00" @.str8282 = private unnamed_addr constant [16 x i8] c"fptrunc double \00" @.str8283 = private unnamed_addr constant [10 x i8] c" to float\00" @.str8284 = private unnamed_addr constant [6 x i8] c"float\00" @.str8285 = private unnamed_addr constant [7 x i8] c"double\00" @.str8286 = private unnamed_addr constant [13 x i8] c"fpext float \00" @.str8287 = private unnamed_addr constant [6 x i8] c"to_fp\00" @.str8288 = private unnamed_addr constant [11 x i8] c" to double\00" @.str8289 = private unnamed_addr constant [7 x i8] c"double\00" @.str8290 = private unnamed_addr constant [6 x i8] c"float\00" @.str8291 = private unnamed_addr constant [66 x i8] c": a double does not narrow to float implicitly \E2\80\94 write float(x)\00" @.str8292 = private unnamed_addr constant [6 x i8] c"fixed\00" @.str8293 = private unnamed_addr constant [13 x i8] c": fixed and \00" @.str8294 = private unnamed_addr constant [41 x i8] c" do not mix implicitly \E2\80\94 convert with \00" @.str8295 = private unnamed_addr constant [16 x i8] c"(x) or fixed(x)\00" @.str8296 = private unnamed_addr constant [4 x i8] c"i64\00" @.str8297 = private unnamed_addr constant [4 x i8] c"i32\00" @.str8298 = private unnamed_addr constant [6 x i8] c": an \00" @.str8299 = private unnamed_addr constant [20 x i8] c" does not become a \00" @.str8300 = private unnamed_addr constant [47 x i8] c" implicitly in a numbers float file \E2\80\94 write \00" @.str8301 = private unnamed_addr constant [4 x i8] c"(x)\00" @.str8302 = private unnamed_addr constant [4 x i8] c"i64\00" @.str8303 = private unnamed_addr constant [12 x i8] c"sitofp i64 \00" @.str8304 = private unnamed_addr constant [5 x i8] c" to \00" @.str8305 = private unnamed_addr constant [4 x i8] c"i32\00" @.str8306 = private unnamed_addr constant [12 x i8] c"sitofp i32 \00" @.str8307 = private unnamed_addr constant [5 x i8] c" to \00" @.str8308 = private unnamed_addr constant [5 x i8] c": a \00" @.str8309 = private unnamed_addr constant [17 x i8] c" is not a number\00" @.str8310 = private unnamed_addr constant [25 x i8] c"LUDIC_WARN_FLOAT_PROMOTE\00" @.str8311 = private unnamed_addr constant [1 x i8] c"\00" @.str8312 = private unnamed_addr constant [8 x i8] c"warning\00" @.str8313 = private unnamed_addr constant [12 x i8] c"a computed \00" @.str8314 = private unnamed_addr constant [16 x i8] c"fp_promote_note\00" @.str8315 = private unnamed_addr constant [17 x i8] c" is promoted to \00" @.str8316 = private unnamed_addr constant [2 x i8] c":\00" @.str8317 = private unnamed_addr constant [23 x i8] c": warning: a computed \00" @.str8318 = private unnamed_addr constant [17 x i8] c" is promoted to \00" @.str8319 = private unnamed_addr constant [2 x i8] c"\0A\00" @.str8320 = private unnamed_addr constant [2 x i8] c"<\00" @.str8321 = private unnamed_addr constant [4 x i8] c"olt\00" @.str8322 = private unnamed_addr constant [3 x i8] c"<=\00" @.str8323 = private unnamed_addr constant [4 x i8] c"ole\00" @.str8324 = private unnamed_addr constant [2 x i8] c">\00" @.str8325 = private unnamed_addr constant [4 x i8] c"ogt\00" @.str8326 = private unnamed_addr constant [3 x i8] c">=\00" @.str8327 = private unnamed_addr constant [4 x i8] c"oge\00" @.str8328 = private unnamed_addr constant [3 x i8] c"==\00" @.str8329 = private unnamed_addr constant [4 x i8] c"oeq\00" @.str8330 = private unnamed_addr constant [4 x i8] c"une\00" @.str8331 = private unnamed_addr constant [1 x i8] c"\00" @.str8332 = private unnamed_addr constant [1 x i8] c"\00" @.str8333 = private unnamed_addr constant [1 x i8] c"\00" @.str8334 = private unnamed_addr constant [6 x i8] c"fixed\00" @.str8335 = private unnamed_addr constant [6 x i8] c"fixed\00" @.str8336 = private unnamed_addr constant [1 x i8] c"\00" @.str8337 = private unnamed_addr constant [6 x i8] c"fixed\00" @.str8338 = private unnamed_addr constant [1 x i8] c"\00" @.str8339 = private unnamed_addr constant [6 x i8] c"float\00" @.str8340 = private unnamed_addr constant [18 x i8] c"the left side of \00" @.str8341 = private unnamed_addr constant [12 x i8] c"emit_fp_bin\00" @.str8342 = private unnamed_addr constant [19 x i8] c"the right side of \00" @.str8343 = private unnamed_addr constant [6 x i8] c"fcmp \00" @.str8344 = private unnamed_addr constant [2 x i8] c" \00" @.str8345 = private unnamed_addr constant [2 x i8] c" \00" @.str8346 = private unnamed_addr constant [3 x i8] c", \00" @.str8347 = private unnamed_addr constant [9 x i8] c"zext i1 \00" @.str8348 = private unnamed_addr constant [8 x i8] c" to i32\00" @.str8349 = private unnamed_addr constant [5 x i8] c"bool\00" @.str8350 = private unnamed_addr constant [1 x i8] c"\00" @.str8351 = private unnamed_addr constant [2 x i8] c"+\00" @.str8352 = private unnamed_addr constant [5 x i8] c"fadd\00" @.str8353 = private unnamed_addr constant [2 x i8] c"-\00" @.str8354 = private unnamed_addr constant [5 x i8] c"fsub\00" @.str8355 = private unnamed_addr constant [2 x i8] c"*\00" @.str8356 = private unnamed_addr constant [5 x i8] c"fmul\00" @.str8357 = private unnamed_addr constant [2 x i8] c"/\00" @.str8358 = private unnamed_addr constant [5 x i8] c"fdiv\00" @.str8359 = private unnamed_addr constant [2 x i8] c"%\00" @.str8360 = private unnamed_addr constant [5 x i8] c"frem\00" @.str8361 = private unnamed_addr constant [1 x i8] c"\00" @.str8362 = private unnamed_addr constant [10 x i8] c"operator \00" @.str8363 = private unnamed_addr constant [20 x i8] c" does not apply to \00" @.str8364 = private unnamed_addr constant [2 x i8] c" \00" @.str8365 = private unnamed_addr constant [2 x i8] c" \00" @.str8366 = private unnamed_addr constant [3 x i8] c", \00" @.str8367 = private unnamed_addr constant [7 x i8] c"double\00" @.str8368 = private unnamed_addr constant [13 x i8] c"fpext float \00" @.str8369 = private unnamed_addr constant [16 x i8] c"emit_fp_convert\00" @.str8370 = private unnamed_addr constant [11 x i8] c" to double\00" @.str8371 = private unnamed_addr constant [16 x i8] c"fptrunc double \00" @.str8372 = private unnamed_addr constant [10 x i8] c" to float\00" @.str8373 = private unnamed_addr constant [6 x i8] c"fixed\00" @.str8374 = private unnamed_addr constant [12 x i8] c"sitofp i32 \00" @.str8375 = private unnamed_addr constant [5 x i8] c" to \00" @.str8376 = private unnamed_addr constant [6 x i8] c"fdiv \00" @.str8377 = private unnamed_addr constant [2 x i8] c" \00" @.str8378 = private unnamed_addr constant [10 x i8] c", 65536.0\00" @.str8379 = private unnamed_addr constant [4 x i8] c"i32\00" @.str8380 = private unnamed_addr constant [4 x i8] c"i64\00" @.str8381 = private unnamed_addr constant [8 x i8] c"sitofp \00" @.str8382 = private unnamed_addr constant [2 x i8] c" \00" @.str8383 = private unnamed_addr constant [5 x i8] c" to \00" @.str8384 = private unnamed_addr constant [4 x i8] c"(x)\00" @.str8385 = private unnamed_addr constant [8 x i8] c"fptosi \00" @.str8386 = private unnamed_addr constant [15 x i8] c"emit_fp_to_int\00" @.str8387 = private unnamed_addr constant [2 x i8] c" \00" @.str8388 = private unnamed_addr constant [8 x i8] c" to i32\00" @.str8389 = private unnamed_addr constant [4 x i8] c"int\00" @.str8390 = private unnamed_addr constant [8 x i8] c"fptosi \00" @.str8391 = private unnamed_addr constant [16 x i8] c"emit_fp_to_long\00" @.str8392 = private unnamed_addr constant [2 x i8] c" \00" @.str8393 = private unnamed_addr constant [8 x i8] c" to i64\00" @.str8394 = private unnamed_addr constant [5 x i8] c"long\00" @.str8395 = private unnamed_addr constant [6 x i8] c"fmul \00" @.str8396 = private unnamed_addr constant [17 x i8] c"emit_fp_to_fixed\00" @.str8397 = private unnamed_addr constant [2 x i8] c" \00" @.str8398 = private unnamed_addr constant [10 x i8] c", 65536.0\00" @.str8399 = private unnamed_addr constant [8 x i8] c"fptosi \00" @.str8400 = private unnamed_addr constant [2 x i8] c" \00" @.str8401 = private unnamed_addr constant [8 x i8] c" to i32\00" @.str8402 = private unnamed_addr constant [6 x i8] c"fixed\00" @.str8403 = private unnamed_addr constant [6 x i8] c"float\00" @.str8404 = private unnamed_addr constant [14 x i8] c"float_bits(x)\00" @.str8405 = private unnamed_addr constant [15 x i8] c"bitcast float \00" @.str8406 = private unnamed_addr constant [16 x i8] c"emit_float_bits\00" @.str8407 = private unnamed_addr constant [8 x i8] c" to i32\00" @.str8408 = private unnamed_addr constant [4 x i8] c"int\00" @.str8409 = private unnamed_addr constant [13 x i8] c"bitcast i32 \00" @.str8410 = private unnamed_addr constant [21 x i8] c"emit_float_from_bits\00" @.str8411 = private unnamed_addr constant [10 x i8] c" to float\00" @.str8412 = private unnamed_addr constant [6 x i8] c"float\00" @.str8413 = private unnamed_addr constant [7 x i8] c"double\00" @.str8414 = private unnamed_addr constant [15 x i8] c"double_bits(x)\00" @.str8415 = private unnamed_addr constant [16 x i8] c"bitcast double \00" @.str8416 = private unnamed_addr constant [17 x i8] c"emit_double_bits\00" @.str8417 = private unnamed_addr constant [8 x i8] c" to i64\00" @.str8418 = private unnamed_addr constant [5 x i8] c"long\00" @.str8419 = private unnamed_addr constant [13 x i8] c"bitcast i64 \00" @.str8420 = private unnamed_addr constant [22 x i8] c"emit_double_from_bits\00" @.str8421 = private unnamed_addr constant [11 x i8] c" to double\00" @.str8422 = private unnamed_addr constant [7 x i8] c"double\00" @.str8423 = private unnamed_addr constant [2 x i8] c"0\00" @.str8424 = private unnamed_addr constant [6 x i8] c"float\00" @.str8425 = private unnamed_addr constant [13 x i8] c"fpext float \00" @.str8426 = private unnamed_addr constant [12 x i8] c"emit_fp_str\00" @.str8427 = private unnamed_addr constant [11 x i8] c" to double\00" @.str8428 = private unnamed_addr constant [2 x i8] c"1\00" @.str8429 = private unnamed_addr constant [28 x i8] c"call ptr @lp_fp_str(double \00" @.str8430 = private unnamed_addr constant [7 x i8] c", i32 \00" @.str8431 = private unnamed_addr constant [2 x i8] c")\00" @.str8432 = private unnamed_addr constant [7 x i8] c"string\00" @.str8433 = private unnamed_addr constant [43 x i8] c"declare i32 @snprintf(ptr, i64, ptr, ...)\0A\00" @.str8434 = private unnamed_addr constant [34 x i8] c"declare double @strtod(ptr, ptr)\0A\00" @.str8435 = private unnamed_addr constant [32 x i8] c"declare ptr @strpbrk(ptr, ptr)\0A\00" @.str8436 = private unnamed_addr constant [63 x i8] c"@.fmt_fpg = private unnamed_addr constant [5 x i8] c\22%.*g\5C00\22\0A\00" @.str8437 = private unnamed_addr constant [67 x i8] c"@.fp_marks = private unnamed_addr constant [8 x i8] c\22.eEnNiI\5C00\22\0A\00" @.str8438 = private unnamed_addr constant [49 x i8] c"define ptr @lp_fp_str(double %v, i32 %single) {\0A\00" @.str8439 = private unnamed_addr constant [61 x i8] c"entry:\0A %buf = call ptr @lp_malloc(i64 40)\0A br label %try\0A\00" @.str8440 = private unnamed_addr constant [52 x i8] c"try:\0A %p = phi i32 [ 6, %entry ], [ %p1, %again ]\0A\00" @.str8441 = private unnamed_addr constant [100 x i8] c" %w = call i32 (ptr, i64, ptr, ...) @snprintf(ptr %buf, i64 36, ptr @.fmt_fpg, i32 %p, double %v)\0A\00" @.str8442 = private unnamed_addr constant [48 x i8] c" %r = call double @strtod(ptr %buf, ptr null)\0A\00" @.str8443 = private unnamed_addr constant [71 x i8] c" %rf = fptrunc double %r to float\0A %vf = fptrunc double %v to float\0A\00" @.str8444 = private unnamed_addr constant [66 x i8] c" %eqf = fcmp oeq float %rf, %vf\0A %eqd = fcmp oeq double %r, %v\0A\00" @.str8445 = private unnamed_addr constant [74 x i8] c" %is1 = icmp ne i32 %single, 0\0A %eq = select i1 %is1, i1 %eqf, i1 %eqd\0A\00" @.str8446 = private unnamed_addr constant [80 x i8] c" %p1 = add i32 %p, 1\0A %last = icmp sge i32 %p, 17\0A %stop = or i1 %eq, %last\0A\00" @.str8447 = private unnamed_addr constant [42 x i8] c" br i1 %stop, label %done, label %again\0A\00" @.str8448 = private unnamed_addr constant [24 x i8] c"again:\0A br label %try\0A\00" @.str8449 = private unnamed_addr constant [96 x i8] c"done:\0A %mark = call ptr @strpbrk(ptr %buf, ptr @.fp_marks)\0A %whole = icmp eq ptr %mark, null\0A\00" @.str8450 = private unnamed_addr constant [40 x i8] c" br i1 %whole, label %dot, label %out\0A\00" @.str8451 = private unnamed_addr constant [96 x i8] c"dot:\0A %n64 = call i64 @strlen(ptr %buf)\0A %e0 = getelementptr inbounds i8, ptr %buf, i64 %n64\0A\00" @.str8452 = private unnamed_addr constant [101 x i8] c" store i8 46, ptr %e0\0A %n1 = add i64 %n64, 1\0A %e1 = getelementptr inbounds i8, ptr %buf, i64 %n1\0A\00" @.str8453 = private unnamed_addr constant [101 x i8] c" store i8 48, ptr %e1\0A %n2 = add i64 %n64, 2\0A %e2 = getelementptr inbounds i8, ptr %buf, i64 %n2\0A\00" @.str8454 = private unnamed_addr constant [39 x i8] c" store i8 0, ptr %e2\0A br label %out\0A\00" @.str8455 = private unnamed_addr constant [23 x i8] c"out:\0A ret ptr %buf\0A}\0A\00" @.str8456 = private unnamed_addr constant [2 x i8] c"4\00" @.str8457 = private unnamed_addr constant [7 x i8] c"floats\00" @.str8458 = private unnamed_addr constant [7 x i8] c"double\00" @.str8459 = private unnamed_addr constant [2 x i8] c"8\00" @.str8460 = private unnamed_addr constant [8 x i8] c"doubles\00" @.str8461 = private unnamed_addr constant [9 x i8] c"mul i32 \00" @.str8462 = private unnamed_addr constant [15 x i8] c"emit_fp_buffer\00" @.str8463 = private unnamed_addr constant [3 x i8] c", \00" @.str8464 = private unnamed_addr constant [10 x i8] c"zext i32 \00" @.str8465 = private unnamed_addr constant [8 x i8] c" to i64\00" @.str8466 = private unnamed_addr constant [25 x i8] c"call ptr @lp_malloc(i64 \00" @.str8467 = private unnamed_addr constant [2 x i8] c")\00" @.str8468 = private unnamed_addr constant [55 x i8] c"build/cfree/selfhost.ludic:16332: index out of range: \00" @.str8469 = private unnamed_addr constant [11 x i8] c"fp_declare\00" @.str8470 = private unnamed_addr constant [6 x i8] c"float\00" @.str8471 = private unnamed_addr constant [2 x i8] c"f\00" @.str8472 = private unnamed_addr constant [9 x i8] c"fp_call1\00" @.str8473 = private unnamed_addr constant [9 x i8] c"declare \00" @.str8474 = private unnamed_addr constant [3 x i8] c" @\00" @.str8475 = private unnamed_addr constant [2 x i8] c"(\00" @.str8476 = private unnamed_addr constant [3 x i8] c")\0A\00" @.str8477 = private unnamed_addr constant [6 x i8] c"call \00" @.str8478 = private unnamed_addr constant [3 x i8] c" @\00" @.str8479 = private unnamed_addr constant [2 x i8] c"(\00" @.str8480 = private unnamed_addr constant [2 x i8] c" \00" @.str8481 = private unnamed_addr constant [2 x i8] c")\00" @.str8482 = private unnamed_addr constant [6 x i8] c"float\00" @.str8483 = private unnamed_addr constant [2 x i8] c"f\00" @.str8484 = private unnamed_addr constant [9 x i8] c"fp_call2\00" @.str8485 = private unnamed_addr constant [9 x i8] c"declare \00" @.str8486 = private unnamed_addr constant [3 x i8] c" @\00" @.str8487 = private unnamed_addr constant [2 x i8] c"(\00" @.str8488 = private unnamed_addr constant [3 x i8] c", \00" @.str8489 = private unnamed_addr constant [3 x i8] c")\0A\00" @.str8490 = private unnamed_addr constant [6 x i8] c"call \00" @.str8491 = private unnamed_addr constant [3 x i8] c" @\00" @.str8492 = private unnamed_addr constant [2 x i8] c"(\00" @.str8493 = private unnamed_addr constant [2 x i8] c" \00" @.str8494 = private unnamed_addr constant [3 x i8] c", \00" @.str8495 = private unnamed_addr constant [2 x i8] c" \00" @.str8496 = private unnamed_addr constant [2 x i8] c")\00" @.str8497 = private unnamed_addr constant [4 x i8] c"f64\00" @.str8498 = private unnamed_addr constant [6 x i8] c"float\00" @.str8499 = private unnamed_addr constant [4 x i8] c"f32\00" @.str8500 = private unnamed_addr constant [9 x i8] c"declare \00" @.str8501 = private unnamed_addr constant [14 x i8] c"fp_intrinsic1\00" @.str8502 = private unnamed_addr constant [8 x i8] c" @llvm.\00" @.str8503 = private unnamed_addr constant [2 x i8] c".\00" @.str8504 = private unnamed_addr constant [2 x i8] c"(\00" @.str8505 = private unnamed_addr constant [3 x i8] c")\0A\00" @.str8506 = private unnamed_addr constant [6 x i8] c"call \00" @.str8507 = private unnamed_addr constant [8 x i8] c" @llvm.\00" @.str8508 = private unnamed_addr constant [2 x i8] c".\00" @.str8509 = private unnamed_addr constant [2 x i8] c"(\00" @.str8510 = private unnamed_addr constant [2 x i8] c" \00" @.str8511 = private unnamed_addr constant [2 x i8] c")\00" @.str8512 = private unnamed_addr constant [4 x i8] c"f64\00" @.str8513 = private unnamed_addr constant [6 x i8] c"float\00" @.str8514 = private unnamed_addr constant [4 x i8] c"f32\00" @.str8515 = private unnamed_addr constant [9 x i8] c"declare \00" @.str8516 = private unnamed_addr constant [14 x i8] c"fp_intrinsic2\00" @.str8517 = private unnamed_addr constant [8 x i8] c" @llvm.\00" @.str8518 = private unnamed_addr constant [2 x i8] c".\00" @.str8519 = private unnamed_addr constant [2 x i8] c"(\00" @.str8520 = private unnamed_addr constant [3 x i8] c", \00" @.str8521 = private unnamed_addr constant [3 x i8] c")\0A\00" @.str8522 = private unnamed_addr constant [6 x i8] c"call \00" @.str8523 = private unnamed_addr constant [8 x i8] c" @llvm.\00" @.str8524 = private unnamed_addr constant [2 x i8] c".\00" @.str8525 = private unnamed_addr constant [2 x i8] c"(\00" @.str8526 = private unnamed_addr constant [2 x i8] c" \00" @.str8527 = private unnamed_addr constant [3 x i8] c", \00" @.str8528 = private unnamed_addr constant [2 x i8] c" \00" @.str8529 = private unnamed_addr constant [2 x i8] c")\00" @.str8530 = private unnamed_addr constant [4 x i8] c"olt\00" @.str8531 = private unnamed_addr constant [4 x i8] c"max\00" @.str8532 = private unnamed_addr constant [4 x i8] c"ogt\00" @.str8533 = private unnamed_addr constant [6 x i8] c"fcmp \00" @.str8534 = private unnamed_addr constant [8 x i8] c"fp_pick\00" @.str8535 = private unnamed_addr constant [2 x i8] c" \00" @.str8536 = private unnamed_addr constant [2 x i8] c" \00" @.str8537 = private unnamed_addr constant [3 x i8] c", \00" @.str8538 = private unnamed_addr constant [11 x i8] c"select i1 \00" @.str8539 = private unnamed_addr constant [3 x i8] c", \00" @.str8540 = private unnamed_addr constant [2 x i8] c" \00" @.str8541 = private unnamed_addr constant [3 x i8] c", \00" @.str8542 = private unnamed_addr constant [2 x i8] c" \00" @.str8543 = private unnamed_addr constant [1 x i8] c"\00" @.str8544 = private unnamed_addr constant [55 x i8] c"build/cfree/selfhost.ludic:16378: index out of range: \00" @.str8545 = private unnamed_addr constant [13 x i8] c"fp_math_type\00" @.str8546 = private unnamed_addr constant [1 x i8] c"\00" @.str8547 = private unnamed_addr constant [55 x i8] c"build/cfree/selfhost.ludic:16388: index out of range: \00" @.str8548 = private unnamed_addr constant [7 x i8] c"fp_arg\00" @.str8549 = private unnamed_addr constant [6 x i8] c"Math.\00" @.str8550 = private unnamed_addr constant [6 x i8] c"Math.\00" @.str8551 = private unnamed_addr constant [13 x i8] c"emit_fp_math\00" @.str8552 = private unnamed_addr constant [4 x i8] c"abs\00" @.str8553 = private unnamed_addr constant [5 x i8] c"fabs\00" @.str8554 = private unnamed_addr constant [5 x i8] c"sqrt\00" @.str8555 = private unnamed_addr constant [5 x i8] c"sqrt\00" @.str8556 = private unnamed_addr constant [4 x i8] c"sin\00" @.str8557 = private unnamed_addr constant [4 x i8] c"sin\00" @.str8558 = private unnamed_addr constant [4 x i8] c"cos\00" @.str8559 = private unnamed_addr constant [4 x i8] c"cos\00" @.str8560 = private unnamed_addr constant [4 x i8] c"exp\00" @.str8561 = private unnamed_addr constant [4 x i8] c"exp\00" @.str8562 = private unnamed_addr constant [4 x i8] c"log\00" @.str8563 = private unnamed_addr constant [4 x i8] c"log\00" @.str8564 = private unnamed_addr constant [4 x i8] c"tan\00" @.str8565 = private unnamed_addr constant [4 x i8] c"tan\00" @.str8566 = private unnamed_addr constant [5 x i8] c"asin\00" @.str8567 = private unnamed_addr constant [5 x i8] c"asin\00" @.str8568 = private unnamed_addr constant [5 x i8] c"acos\00" @.str8569 = private unnamed_addr constant [5 x i8] c"acos\00" @.str8570 = private unnamed_addr constant [5 x i8] c"atan\00" @.str8571 = private unnamed_addr constant [5 x i8] c"atan\00" @.str8572 = private unnamed_addr constant [6 x i8] c"floor\00" @.str8573 = private unnamed_addr constant [6 x i8] c"floor\00" @.str8574 = private unnamed_addr constant [5 x i8] c"ceil\00" @.str8575 = private unnamed_addr constant [5 x i8] c"ceil\00" @.str8576 = private unnamed_addr constant [6 x i8] c"round\00" @.str8577 = private unnamed_addr constant [6 x i8] c"round\00" @.str8578 = private unnamed_addr constant [6 x i8] c"trunc\00" @.str8579 = private unnamed_addr constant [6 x i8] c"trunc\00" @.str8580 = private unnamed_addr constant [5 x i8] c"sign\00" @.str8581 = private unnamed_addr constant [10 x i8] c"fcmp ogt \00" @.str8582 = private unnamed_addr constant [2 x i8] c" \00" @.str8583 = private unnamed_addr constant [6 x i8] c", 0.0\00" @.str8584 = private unnamed_addr constant [10 x i8] c"fcmp olt \00" @.str8585 = private unnamed_addr constant [2 x i8] c" \00" @.str8586 = private unnamed_addr constant [6 x i8] c", 0.0\00" @.str8587 = private unnamed_addr constant [11 x i8] c"select i1 \00" @.str8588 = private unnamed_addr constant [16 x i8] c", i32 -1, i32 0\00" @.str8589 = private unnamed_addr constant [11 x i8] c"select i1 \00" @.str8590 = private unnamed_addr constant [14 x i8] c", i32 1, i32 \00" @.str8591 = private unnamed_addr constant [4 x i8] c"int\00" @.str8592 = private unnamed_addr constant [11 x i8] c"deg_to_rad\00" @.str8593 = private unnamed_addr constant [6 x i8] c"fdiv \00" @.str8594 = private unnamed_addr constant [2 x i8] c" \00" @.str8595 = private unnamed_addr constant [18 x i8] c"3.141592653589793\00" @.str8596 = private unnamed_addr constant [8 x i8] c", 180.0\00" @.str8597 = private unnamed_addr constant [6 x i8] c"fmul \00" @.str8598 = private unnamed_addr constant [2 x i8] c" \00" @.str8599 = private unnamed_addr constant [3 x i8] c", \00" @.str8600 = private unnamed_addr constant [11 x i8] c"rad_to_deg\00" @.str8601 = private unnamed_addr constant [6 x i8] c"fdiv \00" @.str8602 = private unnamed_addr constant [9 x i8] c" 180.0, \00" @.str8603 = private unnamed_addr constant [18 x i8] c"3.141592653589793\00" @.str8604 = private unnamed_addr constant [6 x i8] c"fmul \00" @.str8605 = private unnamed_addr constant [2 x i8] c" \00" @.str8606 = private unnamed_addr constant [3 x i8] c", \00" @.str8607 = private unnamed_addr constant [4 x i8] c"min\00" @.str8608 = private unnamed_addr constant [4 x i8] c"max\00" @.str8609 = private unnamed_addr constant [4 x i8] c"pow\00" @.str8610 = private unnamed_addr constant [4 x i8] c"pow\00" @.str8611 = private unnamed_addr constant [6 x i8] c"atan2\00" @.str8612 = private unnamed_addr constant [6 x i8] c"atan2\00" @.str8613 = private unnamed_addr constant [6 x i8] c"hypot\00" @.str8614 = private unnamed_addr constant [6 x i8] c"hypot\00" @.str8615 = private unnamed_addr constant [7 x i8] c"posmod\00" @.str8616 = private unnamed_addr constant [5 x i8] c"wrap\00" @.str8617 = private unnamed_addr constant [6 x i8] c"frem \00" @.str8618 = private unnamed_addr constant [2 x i8] c" \00" @.str8619 = private unnamed_addr constant [3 x i8] c", \00" @.str8620 = private unnamed_addr constant [6 x i8] c"fadd \00" @.str8621 = private unnamed_addr constant [2 x i8] c" \00" @.str8622 = private unnamed_addr constant [3 x i8] c", \00" @.str8623 = private unnamed_addr constant [6 x i8] c"frem \00" @.str8624 = private unnamed_addr constant [2 x i8] c" \00" @.str8625 = private unnamed_addr constant [3 x i8] c", \00" @.str8626 = private unnamed_addr constant [6 x i8] c"clamp\00" @.str8627 = private unnamed_addr constant [4 x i8] c"max\00" @.str8628 = private unnamed_addr constant [4 x i8] c"min\00" @.str8629 = private unnamed_addr constant [5 x i8] c"lerp\00" @.str8630 = private unnamed_addr constant [6 x i8] c"fsub \00" @.str8631 = private unnamed_addr constant [2 x i8] c" \00" @.str8632 = private unnamed_addr constant [3 x i8] c", \00" @.str8633 = private unnamed_addr constant [6 x i8] c"fmul \00" @.str8634 = private unnamed_addr constant [2 x i8] c" \00" @.str8635 = private unnamed_addr constant [3 x i8] c", \00" @.str8636 = private unnamed_addr constant [6 x i8] c"fadd \00" @.str8637 = private unnamed_addr constant [2 x i8] c" \00" @.str8638 = private unnamed_addr constant [3 x i8] c", \00" @.str8639 = private unnamed_addr constant [13 x i8] c"inverse_lerp\00" @.str8640 = private unnamed_addr constant [6 x i8] c"fsub \00" @.str8641 = private unnamed_addr constant [2 x i8] c" \00" @.str8642 = private unnamed_addr constant [3 x i8] c", \00" @.str8643 = private unnamed_addr constant [6 x i8] c"fsub \00" @.str8644 = private unnamed_addr constant [2 x i8] c" \00" @.str8645 = private unnamed_addr constant [3 x i8] c", \00" @.str8646 = private unnamed_addr constant [6 x i8] c"fdiv \00" @.str8647 = private unnamed_addr constant [2 x i8] c" \00" @.str8648 = private unnamed_addr constant [3 x i8] c", \00" @.str8649 = private unnamed_addr constant [6 x i8] c"remap\00" @.str8650 = private unnamed_addr constant [6 x i8] c"fsub \00" @.str8651 = private unnamed_addr constant [2 x i8] c" \00" @.str8652 = private unnamed_addr constant [3 x i8] c", \00" @.str8653 = private unnamed_addr constant [6 x i8] c"fsub \00" @.str8654 = private unnamed_addr constant [2 x i8] c" \00" @.str8655 = private unnamed_addr constant [3 x i8] c", \00" @.str8656 = private unnamed_addr constant [6 x i8] c"fdiv \00" @.str8657 = private unnamed_addr constant [2 x i8] c" \00" @.str8658 = private unnamed_addr constant [3 x i8] c", \00" @.str8659 = private unnamed_addr constant [6 x i8] c"fsub \00" @.str8660 = private unnamed_addr constant [2 x i8] c" \00" @.str8661 = private unnamed_addr constant [3 x i8] c", \00" @.str8662 = private unnamed_addr constant [6 x i8] c"fmul \00" @.str8663 = private unnamed_addr constant [2 x i8] c" \00" @.str8664 = private unnamed_addr constant [3 x i8] c", \00" @.str8665 = private unnamed_addr constant [6 x i8] c"fadd \00" @.str8666 = private unnamed_addr constant [2 x i8] c" \00" @.str8667 = private unnamed_addr constant [3 x i8] c", \00" @.str8668 = private unnamed_addr constant [11 x i8] c"smoothstep\00" @.str8669 = private unnamed_addr constant [6 x i8] c"fsub \00" @.str8670 = private unnamed_addr constant [2 x i8] c" \00" @.str8671 = private unnamed_addr constant [3 x i8] c", \00" @.str8672 = private unnamed_addr constant [6 x i8] c"fsub \00" @.str8673 = private unnamed_addr constant [2 x i8] c" \00" @.str8674 = private unnamed_addr constant [3 x i8] c", \00" @.str8675 = private unnamed_addr constant [6 x i8] c"fdiv \00" @.str8676 = private unnamed_addr constant [2 x i8] c" \00" @.str8677 = private unnamed_addr constant [3 x i8] c", \00" @.str8678 = private unnamed_addr constant [4 x i8] c"max\00" @.str8679 = private unnamed_addr constant [4 x i8] c"0.0\00" @.str8680 = private unnamed_addr constant [4 x i8] c"min\00" @.str8681 = private unnamed_addr constant [4 x i8] c"1.0\00" @.str8682 = private unnamed_addr constant [6 x i8] c"fmul \00" @.str8683 = private unnamed_addr constant [2 x i8] c" \00" @.str8684 = private unnamed_addr constant [3 x i8] c", \00" @.str8685 = private unnamed_addr constant [6 x i8] c"fmul \00" @.str8686 = private unnamed_addr constant [2 x i8] c" \00" @.str8687 = private unnamed_addr constant [6 x i8] c", 2.0\00" @.str8688 = private unnamed_addr constant [6 x i8] c"fsub \00" @.str8689 = private unnamed_addr constant [7 x i8] c" 3.0, \00" @.str8690 = private unnamed_addr constant [6 x i8] c"fmul \00" @.str8691 = private unnamed_addr constant [2 x i8] c" \00" @.str8692 = private unnamed_addr constant [3 x i8] c", \00" @.str8693 = private unnamed_addr constant [12 x i8] c"move_toward\00" @.str8694 = private unnamed_addr constant [6 x i8] c"fsub \00" @.str8695 = private unnamed_addr constant [2 x i8] c" \00" @.str8696 = private unnamed_addr constant [3 x i8] c", \00" @.str8697 = private unnamed_addr constant [5 x i8] c"fabs\00" @.str8698 = private unnamed_addr constant [10 x i8] c"fcmp ole \00" @.str8699 = private unnamed_addr constant [2 x i8] c" \00" @.str8700 = private unnamed_addr constant [3 x i8] c", \00" @.str8701 = private unnamed_addr constant [10 x i8] c"fcmp olt \00" @.str8702 = private unnamed_addr constant [2 x i8] c" \00" @.str8703 = private unnamed_addr constant [6 x i8] c", 0.0\00" @.str8704 = private unnamed_addr constant [6 x i8] c"fneg \00" @.str8705 = private unnamed_addr constant [2 x i8] c" \00" @.str8706 = private unnamed_addr constant [11 x i8] c"select i1 \00" @.str8707 = private unnamed_addr constant [3 x i8] c", \00" @.str8708 = private unnamed_addr constant [2 x i8] c" \00" @.str8709 = private unnamed_addr constant [3 x i8] c", \00" @.str8710 = private unnamed_addr constant [2 x i8] c" \00" @.str8711 = private unnamed_addr constant [6 x i8] c"fadd \00" @.str8712 = private unnamed_addr constant [2 x i8] c" \00" @.str8713 = private unnamed_addr constant [3 x i8] c", \00" @.str8714 = private unnamed_addr constant [11 x i8] c"select i1 \00" @.str8715 = private unnamed_addr constant [3 x i8] c", \00" @.str8716 = private unnamed_addr constant [2 x i8] c" \00" @.str8717 = private unnamed_addr constant [3 x i8] c", \00" @.str8718 = private unnamed_addr constant [2 x i8] c" \00" @.str8719 = private unnamed_addr constant [5 x i8] c"dist\00" @.str8720 = private unnamed_addr constant [6 x i8] c"dist2\00" @.str8721 = private unnamed_addr constant [6 x i8] c"fsub \00" @.str8722 = private unnamed_addr constant [2 x i8] c" \00" @.str8723 = private unnamed_addr constant [3 x i8] c", \00" @.str8724 = private unnamed_addr constant [6 x i8] c"fsub \00" @.str8725 = private unnamed_addr constant [2 x i8] c" \00" @.str8726 = private unnamed_addr constant [3 x i8] c", \00" @.str8727 = private unnamed_addr constant [6 x i8] c"fmul \00" @.str8728 = private unnamed_addr constant [2 x i8] c" \00" @.str8729 = private unnamed_addr constant [3 x i8] c", \00" @.str8730 = private unnamed_addr constant [6 x i8] c"fmul \00" @.str8731 = private unnamed_addr constant [2 x i8] c" \00" @.str8732 = private unnamed_addr constant [3 x i8] c", \00" @.str8733 = private unnamed_addr constant [6 x i8] c"fadd \00" @.str8734 = private unnamed_addr constant [2 x i8] c" \00" @.str8735 = private unnamed_addr constant [3 x i8] c", \00" @.str8736 = private unnamed_addr constant [6 x i8] c"dist2\00" @.str8737 = private unnamed_addr constant [5 x i8] c"sqrt\00" @.str8738 = private unnamed_addr constant [6 x i8] c"Math.\00" @.str8739 = private unnamed_addr constant [9 x i8] c" has no \00" @.str8740 = private unnamed_addr constant [6 x i8] c" form\00" @.str8741 = private unnamed_addr constant [12 x i8] c"preval_node\00" @.str8742 = private unnamed_addr constant [4 x i8] c"min\00" @.str8743 = private unnamed_addr constant [4 x i8] c"max\00" @.str8744 = private unnamed_addr constant [4 x i8] c"abs\00" @.str8745 = private unnamed_addr constant [6 x i8] c"clamp\00" @.str8746 = private unnamed_addr constant [55 x i8] c"build/cfree/selfhost.ludic:16536: index out of range: \00" @.str8747 = private unnamed_addr constant [18 x i8] c"emit_math_builtin\00" @.str8748 = private unnamed_addr constant [55 x i8] c"build/cfree/selfhost.ludic:16540: index out of range: \00" @.str8749 = private unnamed_addr constant [4 x i8] c"abs\00" @.str8750 = private unnamed_addr constant [55 x i8] c"build/cfree/selfhost.ludic:16546: index out of range: \00" @.str8751 = private unnamed_addr constant [24 x i8] c"emit_math_builtin_fixed\00" @.str8752 = private unnamed_addr constant [14 x i8] c"icmp slt i32 \00" @.str8753 = private unnamed_addr constant [4 x i8] c", 0\00" @.str8754 = private unnamed_addr constant [12 x i8] c"sub i32 0, \00" @.str8755 = private unnamed_addr constant [11 x i8] c"select i1 \00" @.str8756 = private unnamed_addr constant [7 x i8] c", i32 \00" @.str8757 = private unnamed_addr constant [7 x i8] c", i32 \00" @.str8758 = private unnamed_addr constant [4 x i8] c"min\00" @.str8759 = private unnamed_addr constant [4 x i8] c"max\00" @.str8760 = private unnamed_addr constant [55 x i8] c"build/cfree/selfhost.ludic:16552: index out of range: \00" @.str8761 = private unnamed_addr constant [55 x i8] c"build/cfree/selfhost.ludic:16552: index out of range: \00" @.str8762 = private unnamed_addr constant [4 x i8] c"slt\00" @.str8763 = private unnamed_addr constant [4 x i8] c"max\00" @.str8764 = private unnamed_addr constant [4 x i8] c"sgt\00" @.str8765 = private unnamed_addr constant [6 x i8] c"icmp \00" @.str8766 = private unnamed_addr constant [6 x i8] c" i32 \00" @.str8767 = private unnamed_addr constant [3 x i8] c", \00" @.str8768 = private unnamed_addr constant [11 x i8] c"select i1 \00" @.str8769 = private unnamed_addr constant [7 x i8] c", i32 \00" @.str8770 = private unnamed_addr constant [7 x i8] c", i32 \00" @.str8771 = private unnamed_addr constant [55 x i8] c"build/cfree/selfhost.ludic:16559: index out of range: \00" @.str8772 = private unnamed_addr constant [55 x i8] c"build/cfree/selfhost.ludic:16559: index out of range: \00" @.str8773 = private unnamed_addr constant [55 x i8] c"build/cfree/selfhost.ludic:16559: index out of range: \00" @.str8774 = private unnamed_addr constant [14 x i8] c"icmp slt i32 \00" @.str8775 = private unnamed_addr constant [3 x i8] c", \00" @.str8776 = private unnamed_addr constant [11 x i8] c"select i1 \00" @.str8777 = private unnamed_addr constant [7 x i8] c", i32 \00" @.str8778 = private unnamed_addr constant [7 x i8] c", i32 \00" @.str8779 = private unnamed_addr constant [14 x i8] c"icmp sgt i32 \00" @.str8780 = private unnamed_addr constant [3 x i8] c", \00" @.str8781 = private unnamed_addr constant [11 x i8] c"select i1 \00" @.str8782 = private unnamed_addr constant [7 x i8] c", i32 \00" @.str8783 = private unnamed_addr constant [7 x i8] c", i32 \00" @.str8784 = private unnamed_addr constant [10 x i8] c"sext i32 \00" @.str8785 = private unnamed_addr constant [12 x i8] c"fx_mul_code\00" @.str8786 = private unnamed_addr constant [8 x i8] c" to i64\00" @.str8787 = private unnamed_addr constant [10 x i8] c"sext i32 \00" @.str8788 = private unnamed_addr constant [8 x i8] c" to i64\00" @.str8789 = private unnamed_addr constant [9 x i8] c"mul i64 \00" @.str8790 = private unnamed_addr constant [3 x i8] c", \00" @.str8791 = private unnamed_addr constant [10 x i8] c"ashr i64 \00" @.str8792 = private unnamed_addr constant [5 x i8] c", 16\00" @.str8793 = private unnamed_addr constant [11 x i8] c"trunc i64 \00" @.str8794 = private unnamed_addr constant [8 x i8] c" to i32\00" @.str8795 = private unnamed_addr constant [10 x i8] c"sext i32 \00" @.str8796 = private unnamed_addr constant [12 x i8] c"fx_div_code\00" @.str8797 = private unnamed_addr constant [8 x i8] c" to i64\00" @.str8798 = private unnamed_addr constant [9 x i8] c"shl i64 \00" @.str8799 = private unnamed_addr constant [5 x i8] c", 16\00" @.str8800 = private unnamed_addr constant [10 x i8] c"sext i32 \00" @.str8801 = private unnamed_addr constant [8 x i8] c" to i64\00" @.str8802 = private unnamed_addr constant [10 x i8] c"sdiv i64 \00" @.str8803 = private unnamed_addr constant [3 x i8] c", \00" @.str8804 = private unnamed_addr constant [11 x i8] c"trunc i64 \00" @.str8805 = private unnamed_addr constant [8 x i8] c" to i32\00" @.str8806 = private unnamed_addr constant [9 x i8] c"sub i32 \00" @.str8807 = private unnamed_addr constant [13 x i8] c"fx_lerp_code\00" @.str8808 = private unnamed_addr constant [3 x i8] c", \00" @.str8809 = private unnamed_addr constant [9 x i8] c"add i32 \00" @.str8810 = private unnamed_addr constant [3 x i8] c", \00" @.str8811 = private unnamed_addr constant [9 x i8] c"sub i32 \00" @.str8812 = private unnamed_addr constant [17 x i8] c"fx_inv_lerp_code\00" @.str8813 = private unnamed_addr constant [3 x i8] c", \00" @.str8814 = private unnamed_addr constant [9 x i8] c"sub i32 \00" @.str8815 = private unnamed_addr constant [3 x i8] c", \00" @.str8816 = private unnamed_addr constant [4 x i8] c"min\00" @.str8817 = private unnamed_addr constant [4 x i8] c"max\00" @.str8818 = private unnamed_addr constant [4 x i8] c"abs\00" @.str8819 = private unnamed_addr constant [6 x i8] c"clamp\00" @.str8820 = private unnamed_addr constant [5 x i8] c"sign\00" @.str8821 = private unnamed_addr constant [6 x i8] c"floor\00" @.str8822 = private unnamed_addr constant [5 x i8] c"ceil\00" @.str8823 = private unnamed_addr constant [6 x i8] c"round\00" @.str8824 = private unnamed_addr constant [5 x i8] c"lerp\00" @.str8825 = private unnamed_addr constant [13 x i8] c"inverse_lerp\00" @.str8826 = private unnamed_addr constant [6 x i8] c"remap\00" @.str8827 = private unnamed_addr constant [5 x i8] c"sqrt\00" @.str8828 = private unnamed_addr constant [4 x i8] c"sin\00" @.str8829 = private unnamed_addr constant [4 x i8] c"cos\00" @.str8830 = private unnamed_addr constant [4 x i8] c"tan\00" @.str8831 = private unnamed_addr constant [6 x i8] c"hypot\00" @.str8832 = private unnamed_addr constant [6 x i8] c"atan2\00" @.str8833 = private unnamed_addr constant [5 x i8] c"asin\00" @.str8834 = private unnamed_addr constant [5 x i8] c"acos\00" @.str8835 = private unnamed_addr constant [11 x i8] c"deg_to_rad\00" @.str8836 = private unnamed_addr constant [11 x i8] c"rad_to_deg\00" @.str8837 = private unnamed_addr constant [7 x i8] c"posmod\00" @.str8838 = private unnamed_addr constant [5 x i8] c"wrap\00" @.str8839 = private unnamed_addr constant [10 x i8] c"ping_pong\00" @.str8840 = private unnamed_addr constant [8 x i8] c"snapped\00" @.str8841 = private unnamed_addr constant [12 x i8] c"move_toward\00" @.str8842 = private unnamed_addr constant [11 x i8] c"smoothstep\00" @.str8843 = private unnamed_addr constant [5 x i8] c"dist\00" @.str8844 = private unnamed_addr constant [6 x i8] c"dist2\00" @.str8845 = private unnamed_addr constant [4 x i8] c"exp\00" @.str8846 = private unnamed_addr constant [4 x i8] c"log\00" @.str8847 = private unnamed_addr constant [4 x i8] c"pow\00" @.str8848 = private unnamed_addr constant [55 x i8] c"build/cfree/selfhost.ludic:16618: index out of range: \00" @.str8849 = private unnamed_addr constant [14 x i8] c"math_fp_route\00" @.str8850 = private unnamed_addr constant [55 x i8] c"build/cfree/selfhost.ludic:16619: index out of range: \00" @.str8851 = private unnamed_addr constant [1 x i8] c"\00" @.str8852 = private unnamed_addr constant [55 x i8] c"build/cfree/selfhost.ludic:16622: index out of range: \00" @.str8853 = private unnamed_addr constant [55 x i8] c"build/cfree/selfhost.ludic:16628: index out of range: \00" @.str8854 = private unnamed_addr constant [13 x i8] c"emit_math_ns\00" @.str8855 = private unnamed_addr constant [55 x i8] c"build/cfree/selfhost.ludic:16632: index out of range: \00" @.str8856 = private unnamed_addr constant [4 x i8] c"min\00" @.str8857 = private unnamed_addr constant [4 x i8] c"max\00" @.str8858 = private unnamed_addr constant [4 x i8] c"abs\00" @.str8859 = private unnamed_addr constant [6 x i8] c"clamp\00" @.str8860 = private unnamed_addr constant [5 x i8] c"sign\00" @.str8861 = private unnamed_addr constant [55 x i8] c"build/cfree/selfhost.ludic:16641: index out of range: \00" @.str8862 = private unnamed_addr constant [19 x i8] c"emit_math_ns_fixed\00" @.str8863 = private unnamed_addr constant [14 x i8] c"icmp sgt i32 \00" @.str8864 = private unnamed_addr constant [4 x i8] c", 0\00" @.str8865 = private unnamed_addr constant [14 x i8] c"icmp slt i32 \00" @.str8866 = private unnamed_addr constant [4 x i8] c", 0\00" @.str8867 = private unnamed_addr constant [11 x i8] c"select i1 \00" @.str8868 = private unnamed_addr constant [16 x i8] c", i32 -1, i32 0\00" @.str8869 = private unnamed_addr constant [11 x i8] c"select i1 \00" @.str8870 = private unnamed_addr constant [14 x i8] c", i32 1, i32 \00" @.str8871 = private unnamed_addr constant [4 x i8] c"int\00" @.str8872 = private unnamed_addr constant [6 x i8] c"floor\00" @.str8873 = private unnamed_addr constant [55 x i8] c"build/cfree/selfhost.ludic:16648: index out of range: \00" @.str8874 = private unnamed_addr constant [10 x i8] c"ashr i32 \00" @.str8875 = private unnamed_addr constant [5 x i8] c", 16\00" @.str8876 = private unnamed_addr constant [4 x i8] c"int\00" @.str8877 = private unnamed_addr constant [5 x i8] c"ceil\00" @.str8878 = private unnamed_addr constant [55 x i8] c"build/cfree/selfhost.ludic:16652: index out of range: \00" @.str8879 = private unnamed_addr constant [9 x i8] c"add i32 \00" @.str8880 = private unnamed_addr constant [8 x i8] c", 65535\00" @.str8881 = private unnamed_addr constant [10 x i8] c"ashr i32 \00" @.str8882 = private unnamed_addr constant [5 x i8] c", 16\00" @.str8883 = private unnamed_addr constant [4 x i8] c"int\00" @.str8884 = private unnamed_addr constant [6 x i8] c"round\00" @.str8885 = private unnamed_addr constant [55 x i8] c"build/cfree/selfhost.ludic:16657: index out of range: \00" @.str8886 = private unnamed_addr constant [9 x i8] c"add i32 \00" @.str8887 = private unnamed_addr constant [8 x i8] c", 32768\00" @.str8888 = private unnamed_addr constant [10 x i8] c"ashr i32 \00" @.str8889 = private unnamed_addr constant [5 x i8] c", 16\00" @.str8890 = private unnamed_addr constant [4 x i8] c"int\00" @.str8891 = private unnamed_addr constant [5 x i8] c"lerp\00" @.str8892 = private unnamed_addr constant [55 x i8] c"build/cfree/selfhost.ludic:16662: index out of range: \00" @.str8893 = private unnamed_addr constant [55 x i8] c"build/cfree/selfhost.ludic:16662: index out of range: \00" @.str8894 = private unnamed_addr constant [55 x i8] c"build/cfree/selfhost.ludic:16662: index out of range: \00" @.str8895 = private unnamed_addr constant [6 x i8] c"fixed\00" @.str8896 = private unnamed_addr constant [13 x i8] c"inverse_lerp\00" @.str8897 = private unnamed_addr constant [55 x i8] c"build/cfree/selfhost.ludic:16666: index out of range: \00" @.str8898 = private unnamed_addr constant [55 x i8] c"build/cfree/selfhost.ludic:16666: index out of range: \00" @.str8899 = private unnamed_addr constant [55 x i8] c"build/cfree/selfhost.ludic:16666: index out of range: \00" @.str8900 = private unnamed_addr constant [6 x i8] c"fixed\00" @.str8901 = private unnamed_addr constant [5 x i8] c"sqrt\00" @.str8902 = private unnamed_addr constant [55 x i8] c"build/cfree/selfhost.ludic:16671: index out of range: \00" @.str8903 = private unnamed_addr constant [26 x i8] c"call i32 @lp_fx_sqrt(i32 \00" @.str8904 = private unnamed_addr constant [2 x i8] c")\00" @.str8905 = private unnamed_addr constant [6 x i8] c"fixed\00" @.str8906 = private unnamed_addr constant [4 x i8] c"sin\00" @.str8907 = private unnamed_addr constant [55 x i8] c"build/cfree/selfhost.ludic:16676: index out of range: \00" @.str8908 = private unnamed_addr constant [25 x i8] c"call i32 @lp_fx_sin(i32 \00" @.str8909 = private unnamed_addr constant [2 x i8] c")\00" @.str8910 = private unnamed_addr constant [6 x i8] c"fixed\00" @.str8911 = private unnamed_addr constant [4 x i8] c"cos\00" @.str8912 = private unnamed_addr constant [55 x i8] c"build/cfree/selfhost.ludic:16681: index out of range: \00" @.str8913 = private unnamed_addr constant [9 x i8] c"add i32 \00" @.str8914 = private unnamed_addr constant [9 x i8] c", 102944\00" @.str8915 = private unnamed_addr constant [25 x i8] c"call i32 @lp_fx_sin(i32 \00" @.str8916 = private unnamed_addr constant [2 x i8] c")\00" @.str8917 = private unnamed_addr constant [6 x i8] c"fixed\00" @.str8918 = private unnamed_addr constant [4 x i8] c"tan\00" @.str8919 = private unnamed_addr constant [55 x i8] c"build/cfree/selfhost.ludic:16687: index out of range: \00" @.str8920 = private unnamed_addr constant [25 x i8] c"call i32 @lp_fx_sin(i32 \00" @.str8921 = private unnamed_addr constant [2 x i8] c")\00" @.str8922 = private unnamed_addr constant [9 x i8] c"add i32 \00" @.str8923 = private unnamed_addr constant [9 x i8] c", 102944\00" @.str8924 = private unnamed_addr constant [25 x i8] c"call i32 @lp_fx_sin(i32 \00" @.str8925 = private unnamed_addr constant [2 x i8] c")\00" @.str8926 = private unnamed_addr constant [6 x i8] c"fixed\00" @.str8927 = private unnamed_addr constant [6 x i8] c"atan2\00" @.str8928 = private unnamed_addr constant [55 x i8] c"build/cfree/selfhost.ludic:16695: index out of range: \00" @.str8929 = private unnamed_addr constant [55 x i8] c"build/cfree/selfhost.ludic:16695: index out of range: \00" @.str8930 = private unnamed_addr constant [27 x i8] c"call i32 @lp_fx_atan2(i32 \00" @.str8931 = private unnamed_addr constant [7 x i8] c", i32 \00" @.str8932 = private unnamed_addr constant [2 x i8] c")\00" @.str8933 = private unnamed_addr constant [6 x i8] c"fixed\00" @.str8934 = private unnamed_addr constant [5 x i8] c"asin\00" @.str8935 = private unnamed_addr constant [55 x i8] c"build/cfree/selfhost.ludic:16700: index out of range: \00" @.str8936 = private unnamed_addr constant [16 x i8] c"sub i32 65536, \00" @.str8937 = private unnamed_addr constant [26 x i8] c"call i32 @lp_fx_sqrt(i32 \00" @.str8938 = private unnamed_addr constant [2 x i8] c")\00" @.str8939 = private unnamed_addr constant [27 x i8] c"call i32 @lp_fx_atan2(i32 \00" @.str8940 = private unnamed_addr constant [7 x i8] c", i32 \00" @.str8941 = private unnamed_addr constant [2 x i8] c")\00" @.str8942 = private unnamed_addr constant [6 x i8] c"fixed\00" @.str8943 = private unnamed_addr constant [5 x i8] c"acos\00" @.str8944 = private unnamed_addr constant [55 x i8] c"build/cfree/selfhost.ludic:16708: index out of range: \00" @.str8945 = private unnamed_addr constant [16 x i8] c"sub i32 65536, \00" @.str8946 = private unnamed_addr constant [26 x i8] c"call i32 @lp_fx_sqrt(i32 \00" @.str8947 = private unnamed_addr constant [2 x i8] c")\00" @.str8948 = private unnamed_addr constant [27 x i8] c"call i32 @lp_fx_atan2(i32 \00" @.str8949 = private unnamed_addr constant [7 x i8] c", i32 \00" @.str8950 = private unnamed_addr constant [2 x i8] c")\00" @.str8951 = private unnamed_addr constant [6 x i8] c"fixed\00" @.str8952 = private unnamed_addr constant [6 x i8] c"hypot\00" @.str8953 = private unnamed_addr constant [55 x i8] c"build/cfree/selfhost.ludic:16716: index out of range: \00" @.str8954 = private unnamed_addr constant [55 x i8] c"build/cfree/selfhost.ludic:16716: index out of range: \00" @.str8955 = private unnamed_addr constant [9 x i8] c"add i32 \00" @.str8956 = private unnamed_addr constant [3 x i8] c", \00" @.str8957 = private unnamed_addr constant [26 x i8] c"call i32 @lp_fx_sqrt(i32 \00" @.str8958 = private unnamed_addr constant [2 x i8] c")\00" @.str8959 = private unnamed_addr constant [6 x i8] c"fixed\00" @.str8960 = private unnamed_addr constant [6 x i8] c"dist2\00" @.str8961 = private unnamed_addr constant [55 x i8] c"build/cfree/selfhost.ludic:16722: index out of range: \00" @.str8962 = private unnamed_addr constant [55 x i8] c"build/cfree/selfhost.ludic:16722: index out of range: \00" @.str8963 = private unnamed_addr constant [55 x i8] c"build/cfree/selfhost.ludic:16723: index out of range: \00" @.str8964 = private unnamed_addr constant [55 x i8] c"build/cfree/selfhost.ludic:16723: index out of range: \00" @.str8965 = private unnamed_addr constant [9 x i8] c"sub i32 \00" @.str8966 = private unnamed_addr constant [3 x i8] c", \00" @.str8967 = private unnamed_addr constant [9 x i8] c"sub i32 \00" @.str8968 = private unnamed_addr constant [3 x i8] c", \00" @.str8969 = private unnamed_addr constant [9 x i8] c"add i32 \00" @.str8970 = private unnamed_addr constant [3 x i8] c", \00" @.str8971 = private unnamed_addr constant [6 x i8] c"fixed\00" @.str8972 = private unnamed_addr constant [5 x i8] c"dist\00" @.str8973 = private unnamed_addr constant [55 x i8] c"build/cfree/selfhost.ludic:16731: index out of range: \00" @.str8974 = private unnamed_addr constant [55 x i8] c"build/cfree/selfhost.ludic:16731: index out of range: \00" @.str8975 = private unnamed_addr constant [55 x i8] c"build/cfree/selfhost.ludic:16732: index out of range: \00" @.str8976 = private unnamed_addr constant [55 x i8] c"build/cfree/selfhost.ludic:16732: index out of range: \00" @.str8977 = private unnamed_addr constant [9 x i8] c"sub i32 \00" @.str8978 = private unnamed_addr constant [3 x i8] c", \00" @.str8979 = private unnamed_addr constant [9 x i8] c"sub i32 \00" @.str8980 = private unnamed_addr constant [3 x i8] c", \00" @.str8981 = private unnamed_addr constant [9 x i8] c"add i32 \00" @.str8982 = private unnamed_addr constant [3 x i8] c", \00" @.str8983 = private unnamed_addr constant [26 x i8] c"call i32 @lp_fx_sqrt(i32 \00" @.str8984 = private unnamed_addr constant [2 x i8] c")\00" @.str8985 = private unnamed_addr constant [6 x i8] c"fixed\00" @.str8986 = private unnamed_addr constant [4 x i8] c"exp\00" @.str8987 = private unnamed_addr constant [55 x i8] c"build/cfree/selfhost.ludic:16741: index out of range: \00" @.str8988 = private unnamed_addr constant [6 x i8] c"94548\00" @.str8989 = private unnamed_addr constant [26 x i8] c"call i32 @lp_fx_exp2(i32 \00" @.str8990 = private unnamed_addr constant [2 x i8] c")\00" @.str8991 = private unnamed_addr constant [6 x i8] c"fixed\00" @.str8992 = private unnamed_addr constant [4 x i8] c"log\00" @.str8993 = private unnamed_addr constant [55 x i8] c"build/cfree/selfhost.ludic:16747: index out of range: \00" @.str8994 = private unnamed_addr constant [26 x i8] c"call i32 @lp_fx_log2(i32 \00" @.str8995 = private unnamed_addr constant [2 x i8] c")\00" @.str8996 = private unnamed_addr constant [6 x i8] c"45426\00" @.str8997 = private unnamed_addr constant [6 x i8] c"fixed\00" @.str8998 = private unnamed_addr constant [4 x i8] c"pow\00" @.str8999 = private unnamed_addr constant [55 x i8] c"build/cfree/selfhost.ludic:16753: index out of range: \00" @.str9000 = private unnamed_addr constant [55 x i8] c"build/cfree/selfhost.ludic:16753: index out of range: \00" @.str9001 = private unnamed_addr constant [26 x i8] c"call i32 @lp_fx_log2(i32 \00" @.str9002 = private unnamed_addr constant [2 x i8] c")\00" @.str9003 = private unnamed_addr constant [26 x i8] c"call i32 @lp_fx_exp2(i32 \00" @.str9004 = private unnamed_addr constant [2 x i8] c")\00" @.str9005 = private unnamed_addr constant [6 x i8] c"fixed\00" @.str9006 = private unnamed_addr constant [11 x i8] c"deg_to_rad\00" @.str9007 = private unnamed_addr constant [55 x i8] c"build/cfree/selfhost.ludic:16759: index out of range: \00" @.str9008 = private unnamed_addr constant [5 x i8] c"1144\00" @.str9009 = private unnamed_addr constant [6 x i8] c"fixed\00" @.str9010 = private unnamed_addr constant [11 x i8] c"rad_to_deg\00" @.str9011 = private unnamed_addr constant [55 x i8] c"build/cfree/selfhost.ludic:16763: index out of range: \00" @.str9012 = private unnamed_addr constant [8 x i8] c"3754936\00" @.str9013 = private unnamed_addr constant [6 x i8] c"fixed\00" @.str9014 = private unnamed_addr constant [7 x i8] c"posmod\00" @.str9015 = private unnamed_addr constant [55 x i8] c"build/cfree/selfhost.ludic:16767: index out of range: \00" @.str9016 = private unnamed_addr constant [55 x i8] c"build/cfree/selfhost.ludic:16767: index out of range: \00" @.str9017 = private unnamed_addr constant [10 x i8] c"srem i32 \00" @.str9018 = private unnamed_addr constant [3 x i8] c", \00" @.str9019 = private unnamed_addr constant [9 x i8] c"add i32 \00" @.str9020 = private unnamed_addr constant [3 x i8] c", \00" @.str9021 = private unnamed_addr constant [10 x i8] c"srem i32 \00" @.str9022 = private unnamed_addr constant [3 x i8] c", \00" @.str9023 = private unnamed_addr constant [4 x i8] c"int\00" @.str9024 = private unnamed_addr constant [5 x i8] c"wrap\00" @.str9025 = private unnamed_addr constant [55 x i8] c"build/cfree/selfhost.ludic:16773: index out of range: \00" @.str9026 = private unnamed_addr constant [55 x i8] c"build/cfree/selfhost.ludic:16773: index out of range: \00" @.str9027 = private unnamed_addr constant [55 x i8] c"build/cfree/selfhost.ludic:16773: index out of range: \00" @.str9028 = private unnamed_addr constant [9 x i8] c"sub i32 \00" @.str9029 = private unnamed_addr constant [3 x i8] c", \00" @.str9030 = private unnamed_addr constant [9 x i8] c"sub i32 \00" @.str9031 = private unnamed_addr constant [3 x i8] c", \00" @.str9032 = private unnamed_addr constant [10 x i8] c"srem i32 \00" @.str9033 = private unnamed_addr constant [3 x i8] c", \00" @.str9034 = private unnamed_addr constant [9 x i8] c"add i32 \00" @.str9035 = private unnamed_addr constant [3 x i8] c", \00" @.str9036 = private unnamed_addr constant [10 x i8] c"srem i32 \00" @.str9037 = private unnamed_addr constant [3 x i8] c", \00" @.str9038 = private unnamed_addr constant [9 x i8] c"add i32 \00" @.str9039 = private unnamed_addr constant [3 x i8] c", \00" @.str9040 = private unnamed_addr constant [4 x i8] c"int\00" @.str9041 = private unnamed_addr constant [10 x i8] c"ping_pong\00" @.str9042 = private unnamed_addr constant [55 x i8] c"build/cfree/selfhost.ludic:16782: index out of range: \00" @.str9043 = private unnamed_addr constant [55 x i8] c"build/cfree/selfhost.ludic:16782: index out of range: \00" @.str9044 = private unnamed_addr constant [9 x i8] c"mul i32 \00" @.str9045 = private unnamed_addr constant [4 x i8] c", 2\00" @.str9046 = private unnamed_addr constant [10 x i8] c"srem i32 \00" @.str9047 = private unnamed_addr constant [3 x i8] c", \00" @.str9048 = private unnamed_addr constant [9 x i8] c"add i32 \00" @.str9049 = private unnamed_addr constant [3 x i8] c", \00" @.str9050 = private unnamed_addr constant [10 x i8] c"srem i32 \00" @.str9051 = private unnamed_addr constant [3 x i8] c", \00" @.str9052 = private unnamed_addr constant [9 x i8] c"sub i32 \00" @.str9053 = private unnamed_addr constant [3 x i8] c", \00" @.str9054 = private unnamed_addr constant [12 x i8] c"sub i32 0, \00" @.str9055 = private unnamed_addr constant [14 x i8] c"icmp slt i32 \00" @.str9056 = private unnamed_addr constant [4 x i8] c", 0\00" @.str9057 = private unnamed_addr constant [11 x i8] c"select i1 \00" @.str9058 = private unnamed_addr constant [7 x i8] c", i32 \00" @.str9059 = private unnamed_addr constant [7 x i8] c", i32 \00" @.str9060 = private unnamed_addr constant [9 x i8] c"sub i32 \00" @.str9061 = private unnamed_addr constant [3 x i8] c", \00" @.str9062 = private unnamed_addr constant [4 x i8] c"int\00" @.str9063 = private unnamed_addr constant [8 x i8] c"snapped\00" @.str9064 = private unnamed_addr constant [55 x i8] c"build/cfree/selfhost.ludic:16794: index out of range: \00" @.str9065 = private unnamed_addr constant [55 x i8] c"build/cfree/selfhost.ludic:16794: index out of range: \00" @.str9066 = private unnamed_addr constant [9 x i8] c"add i32 \00" @.str9067 = private unnamed_addr constant [8 x i8] c", 32768\00" @.str9068 = private unnamed_addr constant [10 x i8] c"ashr i32 \00" @.str9069 = private unnamed_addr constant [5 x i8] c", 16\00" @.str9070 = private unnamed_addr constant [9 x i8] c"mul i32 \00" @.str9071 = private unnamed_addr constant [3 x i8] c", \00" @.str9072 = private unnamed_addr constant [6 x i8] c"fixed\00" @.str9073 = private unnamed_addr constant [12 x i8] c"move_toward\00" @.str9074 = private unnamed_addr constant [55 x i8] c"build/cfree/selfhost.ludic:16801: index out of range: \00" @.str9075 = private unnamed_addr constant [55 x i8] c"build/cfree/selfhost.ludic:16801: index out of range: \00" @.str9076 = private unnamed_addr constant [55 x i8] c"build/cfree/selfhost.ludic:16801: index out of range: \00" @.str9077 = private unnamed_addr constant [9 x i8] c"sub i32 \00" @.str9078 = private unnamed_addr constant [3 x i8] c", \00" @.str9079 = private unnamed_addr constant [12 x i8] c"sub i32 0, \00" @.str9080 = private unnamed_addr constant [14 x i8] c"icmp slt i32 \00" @.str9081 = private unnamed_addr constant [4 x i8] c", 0\00" @.str9082 = private unnamed_addr constant [11 x i8] c"select i1 \00" @.str9083 = private unnamed_addr constant [7 x i8] c", i32 \00" @.str9084 = private unnamed_addr constant [7 x i8] c", i32 \00" @.str9085 = private unnamed_addr constant [14 x i8] c"icmp sgt i32 \00" @.str9086 = private unnamed_addr constant [4 x i8] c", 0\00" @.str9087 = private unnamed_addr constant [14 x i8] c"icmp slt i32 \00" @.str9088 = private unnamed_addr constant [4 x i8] c", 0\00" @.str9089 = private unnamed_addr constant [11 x i8] c"select i1 \00" @.str9090 = private unnamed_addr constant [16 x i8] c", i32 -1, i32 0\00" @.str9091 = private unnamed_addr constant [11 x i8] c"select i1 \00" @.str9092 = private unnamed_addr constant [14 x i8] c", i32 1, i32 \00" @.str9093 = private unnamed_addr constant [9 x i8] c"mul i32 \00" @.str9094 = private unnamed_addr constant [3 x i8] c", \00" @.str9095 = private unnamed_addr constant [9 x i8] c"add i32 \00" @.str9096 = private unnamed_addr constant [3 x i8] c", \00" @.str9097 = private unnamed_addr constant [14 x i8] c"icmp sle i32 \00" @.str9098 = private unnamed_addr constant [3 x i8] c", \00" @.str9099 = private unnamed_addr constant [11 x i8] c"select i1 \00" @.str9100 = private unnamed_addr constant [7 x i8] c", i32 \00" @.str9101 = private unnamed_addr constant [7 x i8] c", i32 \00" @.str9102 = private unnamed_addr constant [6 x i8] c"fixed\00" @.str9103 = private unnamed_addr constant [11 x i8] c"smoothstep\00" @.str9104 = private unnamed_addr constant [55 x i8] c"build/cfree/selfhost.ludic:16816: index out of range: \00" @.str9105 = private unnamed_addr constant [55 x i8] c"build/cfree/selfhost.ludic:16816: index out of range: \00" @.str9106 = private unnamed_addr constant [55 x i8] c"build/cfree/selfhost.ludic:16816: index out of range: \00" @.str9107 = private unnamed_addr constant [14 x i8] c"icmp slt i32 \00" @.str9108 = private unnamed_addr constant [4 x i8] c", 0\00" @.str9109 = private unnamed_addr constant [11 x i8] c"select i1 \00" @.str9110 = private unnamed_addr constant [14 x i8] c", i32 0, i32 \00" @.str9111 = private unnamed_addr constant [14 x i8] c"icmp sgt i32 \00" @.str9112 = private unnamed_addr constant [8 x i8] c", 65536\00" @.str9113 = private unnamed_addr constant [11 x i8] c"select i1 \00" @.str9114 = private unnamed_addr constant [18 x i8] c", i32 65536, i32 \00" @.str9115 = private unnamed_addr constant [9 x i8] c"mul i32 \00" @.str9116 = private unnamed_addr constant [4 x i8] c", 2\00" @.str9117 = private unnamed_addr constant [17 x i8] c"sub i32 196608, \00" @.str9118 = private unnamed_addr constant [6 x i8] c"fixed\00" @.str9119 = private unnamed_addr constant [55 x i8] c"build/cfree/selfhost.ludic:16828: index out of range: \00" @.str9120 = private unnamed_addr constant [55 x i8] c"build/cfree/selfhost.ludic:16829: index out of range: \00" @.str9121 = private unnamed_addr constant [55 x i8] c"build/cfree/selfhost.ludic:16829: index out of range: \00" @.str9122 = private unnamed_addr constant [55 x i8] c"build/cfree/selfhost.ludic:16830: index out of range: \00" @.str9123 = private unnamed_addr constant [55 x i8] c"build/cfree/selfhost.ludic:16830: index out of range: \00" @.str9124 = private unnamed_addr constant [6 x i8] c"fixed\00" @.str9125 = 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" @.str9126 = private unnamed_addr constant [34 x i8] c"define i32 @lp_fx_sqrt(i32 %x) {\0A\00" @.str9127 = 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" @.str9128 = private unnamed_addr constant [19 x i8] c"ret0:\0A ret i32 0\0A\00" @.str9129 = private unnamed_addr constant [58 x i8] c"go:\0A %x64 = sext i32 %x to i64\0A %n0 = shl i64 %x64, 16\0A\00" @.str9130 = private unnamed_addr constant [58 x i8] c" %np = alloca i64\0A %rp = alloca i64\0A %bp = alloca i64\0A\00" @.str9131 = 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" @.str9132 = 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" @.str9133 = 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" @.str9134 = 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" @.str9135 = 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" @.str9136 = 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" @.str9137 = 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" @.str9138 = 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" @.str9139 = 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" @.str9140 = private unnamed_addr constant [33 x i8] c"define i32 @lp_fx_sin(i32 %x) {\0A\00" @.str9141 = 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" @.str9142 = 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" @.str9143 = private unnamed_addr constant [51 x i8] c" %i1 = add i64 %i0m, 1\0A %i1m = and i64 %i1, 255\0A\00" @.str9144 = 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" @.str9145 = 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" @.str9146 = 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" @.str9147 = private unnamed_addr constant [43 x i8] c"define i32 @lp_fx_atan2(i32 %y, i32 %x) {\0A\00" @.str9148 = private unnamed_addr constant [8 x i8] c"entry:\0A\00" @.str9149 = private unnamed_addr constant [27 x i8] c" %xz = icmp eq i32 %x, 0\0A\00" @.str9150 = private unnamed_addr constant [27 x i8] c" %yz = icmp eq i32 %y, 0\0A\00" @.str9151 = private unnamed_addr constant [28 x i8] c" %both0 = and i1 %xz, %yz\0A\00" @.str9152 = private unnamed_addr constant [37 x i8] c" br i1 %both0, label %z, label %go\0A\00" @.str9153 = private unnamed_addr constant [4 x i8] c"z:\0A\00" @.str9154 = private unnamed_addr constant [13 x i8] c" ret i32 0\0A\00" @.str9155 = private unnamed_addr constant [5 x i8] c"go:\0A\00" @.str9156 = private unnamed_addr constant [30 x i8] c" %yneg = icmp slt i32 %y, 0\0A\00" @.str9157 = private unnamed_addr constant [24 x i8] c" %yng = sub i32 0, %y\0A\00" @.str9158 = private unnamed_addr constant [44 x i8] c" %ay0 = select i1 %yneg, i32 %yng, i32 %y\0A\00" @.str9159 = private unnamed_addr constant [25 x i8] c" %ay = add i32 %ay0, 1\0A\00" @.str9160 = private unnamed_addr constant [30 x i8] c" %xpos = icmp sge i32 %x, 0\0A\00" @.str9161 = private unnamed_addr constant [37 x i8] c" br i1 %xpos, label %xp, label %xn\0A\00" @.str9162 = private unnamed_addr constant [5 x i8] c"xp:\0A\00" @.str9163 = private unnamed_addr constant [25 x i8] c" %n1 = sub i32 %x, %ay\0A\00" @.str9164 = private unnamed_addr constant [25 x i8] c" %d1 = add i32 %x, %ay\0A\00" @.str9165 = private unnamed_addr constant [16 x i8] c" br label %dv\0A\00" @.str9166 = private unnamed_addr constant [5 x i8] c"xn:\0A\00" @.str9167 = private unnamed_addr constant [25 x i8] c" %n2 = add i32 %x, %ay\0A\00" @.str9168 = private unnamed_addr constant [25 x i8] c" %d2 = sub i32 %ay, %x\0A\00" @.str9169 = private unnamed_addr constant [16 x i8] c" br label %dv\0A\00" @.str9170 = private unnamed_addr constant [5 x i8] c"dv:\0A\00" @.str9171 = private unnamed_addr constant [45 x i8] c" %num = phi i32 [ %n1, %xp ], [ %n2, %xn ]\0A\00" @.str9172 = private unnamed_addr constant [45 x i8] c" %den = phi i32 [ %d1, %xp ], [ %d2, %xn ]\0A\00" @.str9173 = private unnamed_addr constant [51 x i8] c" %base = phi i32 [ 51472, %xp ], [ 154416, %xn ]\0A\00" @.str9174 = private unnamed_addr constant [31 x i8] c" %n64 = sext i32 %num to i64\0A\00" @.str9175 = private unnamed_addr constant [27 x i8] c" %nsh = shl i64 %n64, 16\0A\00" @.str9176 = private unnamed_addr constant [31 x i8] c" %d64 = sext i32 %den to i64\0A\00" @.str9177 = private unnamed_addr constant [30 x i8] c" %rdv = sdiv i64 %nsh, %d64\0A\00" @.str9178 = private unnamed_addr constant [30 x i8] c" %r = trunc i64 %rdv to i32\0A\00" @.str9179 = private unnamed_addr constant [30 x i8] c" %r64a = sext i32 %r to i64\0A\00" @.str9180 = private unnamed_addr constant [30 x i8] c" %r64b = sext i32 %r to i64\0A\00" @.str9181 = private unnamed_addr constant [30 x i8] c" %rr = mul i64 %r64a, %r64b\0A\00" @.str9182 = private unnamed_addr constant [27 x i8] c" %rrs = ashr i64 %rr, 16\0A\00" @.str9183 = private unnamed_addr constant [31 x i8] c" %r2 = trunc i64 %rrs to i32\0A\00" @.str9184 = private unnamed_addr constant [30 x i8] c" %r2e = sext i32 %r2 to i64\0A\00" @.str9185 = private unnamed_addr constant [28 x i8] c" %re = sext i32 %r to i64\0A\00" @.str9186 = private unnamed_addr constant [28 x i8] c" %r3m = mul i64 %r2e, %re\0A\00" @.str9187 = private unnamed_addr constant [28 x i8] c" %r3s = ashr i64 %r3m, 16\0A\00" @.str9188 = private unnamed_addr constant [31 x i8] c" %r3 = trunc i64 %r3s to i32\0A\00" @.str9189 = private unnamed_addr constant [30 x i8] c" %r3e = sext i32 %r3 to i64\0A\00" @.str9190 = private unnamed_addr constant [29 x i8] c" %c1 = mul i64 %r3e, 12865\0A\00" @.str9191 = private unnamed_addr constant [27 x i8] c" %c1s = ashr i64 %c1, 16\0A\00" @.str9192 = private unnamed_addr constant [31 x i8] c" %t1 = trunc i64 %c1s to i32\0A\00" @.str9193 = private unnamed_addr constant [29 x i8] c" %re2 = sext i32 %r to i64\0A\00" @.str9194 = private unnamed_addr constant [29 x i8] c" %c2 = mul i64 %re2, 64337\0A\00" @.str9195 = private unnamed_addr constant [27 x i8] c" %c2s = ashr i64 %c2, 16\0A\00" @.str9196 = private unnamed_addr constant [31 x i8] c" %t2 = trunc i64 %c2s to i32\0A\00" @.str9197 = private unnamed_addr constant [28 x i8] c" %poly = sub i32 %t1, %t2\0A\00" @.str9198 = private unnamed_addr constant [33 x i8] c" %angle = add i32 %poly, %base\0A\00" @.str9199 = private unnamed_addr constant [31 x i8] c" %angneg = sub i32 0, %angle\0A\00" @.str9200 = private unnamed_addr constant [51 x i8] c" %res = select i1 %yneg, i32 %angneg, i32 %angle\0A\00" @.str9201 = private unnamed_addr constant [16 x i8] c" ret i32 %res\0A\00" @.str9202 = private unnamed_addr constant [3 x i8] c"}\0A\00" @.str9203 = private unnamed_addr constant [34 x i8] c"define i32 @lp_fx_exp2(i32 %x) {\0A\00" @.str9204 = 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" @.str9205 = 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" @.str9206 = 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" @.str9207 = 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" @.str9208 = 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" @.str9209 = 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" @.str9210 = private unnamed_addr constant [29 x i8] c" %p = trunc i64 %p1 to i32\0A\00" @.str9211 = private unnamed_addr constant [30 x i8] c" %ipos = icmp sge i32 %i, 0\0A\00" @.str9212 = 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" @.str9213 = private unnamed_addr constant [26 x i8] c" %shl = shl i32 %p, %sa\0A\00" @.str9214 = 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" @.str9215 = private unnamed_addr constant [27 x i8] c" %shr = ashr i32 %p, %ra\0A\00" @.str9216 = private unnamed_addr constant [63 x i8] c" %res = select i1 %ipos, i32 %shl, i32 %shr\0A ret i32 %res\0A}\0A\00" @.str9217 = private unnamed_addr constant [37 x i8] c"declare i32 @llvm.ctlz.i32(i32, i1)\0A\00" @.str9218 = private unnamed_addr constant [34 x i8] c"define i32 @lp_fx_log2(i32 %x) {\0A\00" @.str9219 = 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" @.str9220 = private unnamed_addr constant [28 x i8] c"neg:\0A ret i32 -2147483648\0A\00" @.str9221 = 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" @.str9222 = private unnamed_addr constant [49 x i8] c" %e = sub i32 %pmsb, 16\0A %ef = shl i32 %e, 16\0A\00" @.str9223 = 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" @.str9224 = 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" @.str9225 = private unnamed_addr constant [55 x i8] c" %num = sub i32 %m, 65536\0A %den = add i32 %m, 65536\0A\00" @.str9226 = 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" @.str9227 = 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" @.str9228 = 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" @.str9229 = 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" @.str9230 = 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" @.str9231 = 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" @.str9232 = 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" @.str9233 = private unnamed_addr constant [45 x i8] c" %res = add i32 %ef, %l2m\0A ret i32 %res\0A}\0A\00" @.str9234 = private unnamed_addr constant [10 x i8] c"sext i32 \00" @.str9235 = private unnamed_addr constant [9 x i8] c"vec_pack\00" @.str9236 = private unnamed_addr constant [8 x i8] c" to i64\00" @.str9237 = private unnamed_addr constant [9 x i8] c"shl i64 \00" @.str9238 = private unnamed_addr constant [5 x i8] c", 32\00" @.str9239 = private unnamed_addr constant [10 x i8] c"zext i32 \00" @.str9240 = private unnamed_addr constant [8 x i8] c" to i64\00" @.str9241 = private unnamed_addr constant [8 x i8] c"or i64 \00" @.str9242 = private unnamed_addr constant [3 x i8] c", \00" @.str9243 = private unnamed_addr constant [10 x i8] c"lshr i64 \00" @.str9244 = private unnamed_addr constant [6 x i8] c"vec_x\00" @.str9245 = private unnamed_addr constant [5 x i8] c", 32\00" @.str9246 = private unnamed_addr constant [11 x i8] c"trunc i64 \00" @.str9247 = private unnamed_addr constant [8 x i8] c" to i32\00" @.str9248 = private unnamed_addr constant [11 x i8] c"trunc i64 \00" @.str9249 = private unnamed_addr constant [6 x i8] c"vec_y\00" @.str9250 = private unnamed_addr constant [8 x i8] c" to i32\00" @.str9251 = private unnamed_addr constant [5 x i8] c"make\00" @.str9252 = private unnamed_addr constant [5 x i8] c"zero\00" @.str9253 = private unnamed_addr constant [2 x i8] c"x\00" @.str9254 = private unnamed_addr constant [2 x i8] c"y\00" @.str9255 = private unnamed_addr constant [4 x i8] c"add\00" @.str9256 = private unnamed_addr constant [4 x i8] c"sub\00" @.str9257 = private unnamed_addr constant [6 x i8] c"scale\00" @.str9258 = private unnamed_addr constant [4 x i8] c"dot\00" @.str9259 = private unnamed_addr constant [7 x i8] c"length\00" @.str9260 = private unnamed_addr constant [9 x i8] c"distance\00" @.str9261 = private unnamed_addr constant [10 x i8] c"normalize\00" @.str9262 = private unnamed_addr constant [5 x i8] c"lerp\00" @.str9263 = private unnamed_addr constant [7 x i8] c"rotate\00" @.str9264 = private unnamed_addr constant [6 x i8] c"angle\00" @.str9265 = private unnamed_addr constant [11 x i8] c"from_angle\00" @.str9266 = private unnamed_addr constant [5 x i8] c"zero\00" @.str9267 = private unnamed_addr constant [2 x i8] c"0\00" @.str9268 = private unnamed_addr constant [7 x i8] c"Vector\00" @.str9269 = private unnamed_addr constant [5 x i8] c"make\00" @.str9270 = private unnamed_addr constant [55 x i8] c"build/cfree/selfhost.ludic:17004: index out of range: \00" @.str9271 = private unnamed_addr constant [15 x i8] c"emit_vector_ns\00" @.str9272 = private unnamed_addr constant [55 x i8] c"build/cfree/selfhost.ludic:17004: index out of range: \00" @.str9273 = private unnamed_addr constant [7 x i8] c"Vector\00" @.str9274 = private unnamed_addr constant [2 x i8] c"x\00" @.str9275 = private unnamed_addr constant [55 x i8] c"build/cfree/selfhost.ludic:17008: index out of range: \00" @.str9276 = private unnamed_addr constant [6 x i8] c"fixed\00" @.str9277 = private unnamed_addr constant [2 x i8] c"y\00" @.str9278 = private unnamed_addr constant [55 x i8] c"build/cfree/selfhost.ludic:17012: index out of range: \00" @.str9279 = private unnamed_addr constant [6 x i8] c"fixed\00" @.str9280 = private unnamed_addr constant [4 x i8] c"add\00" @.str9281 = private unnamed_addr constant [55 x i8] c"build/cfree/selfhost.ludic:17016: index out of range: \00" @.str9282 = private unnamed_addr constant [55 x i8] c"build/cfree/selfhost.ludic:17016: index out of range: \00" @.str9283 = private unnamed_addr constant [9 x i8] c"add i32 \00" @.str9284 = private unnamed_addr constant [3 x i8] c", \00" @.str9285 = private unnamed_addr constant [9 x i8] c"add i32 \00" @.str9286 = private unnamed_addr constant [3 x i8] c", \00" @.str9287 = private unnamed_addr constant [7 x i8] c"Vector\00" @.str9288 = private unnamed_addr constant [4 x i8] c"sub\00" @.str9289 = private unnamed_addr constant [55 x i8] c"build/cfree/selfhost.ludic:17023: index out of range: \00" @.str9290 = private unnamed_addr constant [55 x i8] c"build/cfree/selfhost.ludic:17023: index out of range: \00" @.str9291 = private unnamed_addr constant [9 x i8] c"sub i32 \00" @.str9292 = private unnamed_addr constant [3 x i8] c", \00" @.str9293 = private unnamed_addr constant [9 x i8] c"sub i32 \00" @.str9294 = private unnamed_addr constant [3 x i8] c", \00" @.str9295 = private unnamed_addr constant [7 x i8] c"Vector\00" @.str9296 = private unnamed_addr constant [6 x i8] c"scale\00" @.str9297 = private unnamed_addr constant [55 x i8] c"build/cfree/selfhost.ludic:17030: index out of range: \00" @.str9298 = private unnamed_addr constant [55 x i8] c"build/cfree/selfhost.ludic:17030: index out of range: \00" @.str9299 = private unnamed_addr constant [7 x i8] c"Vector\00" @.str9300 = private unnamed_addr constant [4 x i8] c"dot\00" @.str9301 = private unnamed_addr constant [55 x i8] c"build/cfree/selfhost.ludic:17037: index out of range: \00" @.str9302 = private unnamed_addr constant [55 x i8] c"build/cfree/selfhost.ludic:17037: index out of range: \00" @.str9303 = private unnamed_addr constant [9 x i8] c"add i32 \00" @.str9304 = private unnamed_addr constant [3 x i8] c", \00" @.str9305 = private unnamed_addr constant [6 x i8] c"fixed\00" @.str9306 = private unnamed_addr constant [7 x i8] c"length\00" @.str9307 = private unnamed_addr constant [55 x i8] c"build/cfree/selfhost.ludic:17044: index out of range: \00" @.str9308 = private unnamed_addr constant [9 x i8] c"add i32 \00" @.str9309 = private unnamed_addr constant [3 x i8] c", \00" @.str9310 = private unnamed_addr constant [26 x i8] c"call i32 @lp_fx_sqrt(i32 \00" @.str9311 = private unnamed_addr constant [2 x i8] c")\00" @.str9312 = private unnamed_addr constant [6 x i8] c"fixed\00" @.str9313 = private unnamed_addr constant [9 x i8] c"distance\00" @.str9314 = private unnamed_addr constant [55 x i8] c"build/cfree/selfhost.ludic:17052: index out of range: \00" @.str9315 = private unnamed_addr constant [55 x i8] c"build/cfree/selfhost.ludic:17052: index out of range: \00" @.str9316 = private unnamed_addr constant [9 x i8] c"sub i32 \00" @.str9317 = private unnamed_addr constant [3 x i8] c", \00" @.str9318 = private unnamed_addr constant [9 x i8] c"sub i32 \00" @.str9319 = private unnamed_addr constant [3 x i8] c", \00" @.str9320 = private unnamed_addr constant [9 x i8] c"add i32 \00" @.str9321 = private unnamed_addr constant [3 x i8] c", \00" @.str9322 = private unnamed_addr constant [26 x i8] c"call i32 @lp_fx_sqrt(i32 \00" @.str9323 = private unnamed_addr constant [2 x i8] c")\00" @.str9324 = private unnamed_addr constant [6 x i8] c"fixed\00" @.str9325 = private unnamed_addr constant [10 x i8] c"normalize\00" @.str9326 = private unnamed_addr constant [55 x i8] c"build/cfree/selfhost.ludic:17062: index out of range: \00" @.str9327 = private unnamed_addr constant [9 x i8] c"add i32 \00" @.str9328 = private unnamed_addr constant [3 x i8] c", \00" @.str9329 = private unnamed_addr constant [26 x i8] c"call i32 @lp_fx_sqrt(i32 \00" @.str9330 = private unnamed_addr constant [2 x i8] c")\00" @.str9331 = private unnamed_addr constant [13 x i8] c"icmp eq i32 \00" @.str9332 = private unnamed_addr constant [4 x i8] c", 0\00" @.str9333 = private unnamed_addr constant [11 x i8] c"select i1 \00" @.str9334 = private unnamed_addr constant [18 x i8] c", i32 65536, i32 \00" @.str9335 = private unnamed_addr constant [6 x i8] c"65536\00" @.str9336 = private unnamed_addr constant [7 x i8] c"Vector\00" @.str9337 = private unnamed_addr constant [7 x i8] c"rotate\00" @.str9338 = private unnamed_addr constant [55 x i8] c"build/cfree/selfhost.ludic:17075: index out of range: \00" @.str9339 = private unnamed_addr constant [55 x i8] c"build/cfree/selfhost.ludic:17075: index out of range: \00" @.str9340 = private unnamed_addr constant [25 x i8] c"call i32 @lp_fx_sin(i32 \00" @.str9341 = private unnamed_addr constant [2 x i8] c")\00" @.str9342 = private unnamed_addr constant [9 x i8] c"add i32 \00" @.str9343 = private unnamed_addr constant [9 x i8] c", 102944\00" @.str9344 = private unnamed_addr constant [25 x i8] c"call i32 @lp_fx_sin(i32 \00" @.str9345 = private unnamed_addr constant [2 x i8] c")\00" @.str9346 = private unnamed_addr constant [9 x i8] c"sub i32 \00" @.str9347 = private unnamed_addr constant [3 x i8] c", \00" @.str9348 = private unnamed_addr constant [9 x i8] c"add i32 \00" @.str9349 = private unnamed_addr constant [3 x i8] c", \00" @.str9350 = private unnamed_addr constant [7 x i8] c"Vector\00" @.str9351 = private unnamed_addr constant [6 x i8] c"angle\00" @.str9352 = private unnamed_addr constant [55 x i8] c"build/cfree/selfhost.ludic:17088: index out of range: \00" @.str9353 = private unnamed_addr constant [27 x i8] c"call i32 @lp_fx_atan2(i32 \00" @.str9354 = private unnamed_addr constant [7 x i8] c", i32 \00" @.str9355 = private unnamed_addr constant [2 x i8] c")\00" @.str9356 = private unnamed_addr constant [6 x i8] c"fixed\00" @.str9357 = private unnamed_addr constant [11 x i8] c"from_angle\00" @.str9358 = private unnamed_addr constant [55 x i8] c"build/cfree/selfhost.ludic:17094: index out of range: \00" @.str9359 = private unnamed_addr constant [25 x i8] c"call i32 @lp_fx_sin(i32 \00" @.str9360 = private unnamed_addr constant [2 x i8] c")\00" @.str9361 = private unnamed_addr constant [9 x i8] c"add i32 \00" @.str9362 = private unnamed_addr constant [9 x i8] c", 102944\00" @.str9363 = private unnamed_addr constant [25 x i8] c"call i32 @lp_fx_sin(i32 \00" @.str9364 = private unnamed_addr constant [2 x i8] c")\00" @.str9365 = private unnamed_addr constant [7 x i8] c"Vector\00" @.str9366 = private unnamed_addr constant [55 x i8] c"build/cfree/selfhost.ludic:17101: index out of range: \00" @.str9367 = private unnamed_addr constant [55 x i8] c"build/cfree/selfhost.ludic:17101: index out of range: \00" @.str9368 = private unnamed_addr constant [55 x i8] c"build/cfree/selfhost.ludic:17101: index out of range: \00" @.str9369 = private unnamed_addr constant [7 x i8] c"Vector\00" @.str9370 = private unnamed_addr constant [12 x i8] c"sub i32 0, \00" @.str9371 = private unnamed_addr constant [9 x i8] c"ivec_abs\00" @.str9372 = private unnamed_addr constant [14 x i8] c"icmp slt i32 \00" @.str9373 = private unnamed_addr constant [4 x i8] c", 0\00" @.str9374 = private unnamed_addr constant [11 x i8] c"select i1 \00" @.str9375 = private unnamed_addr constant [7 x i8] c", i32 \00" @.str9376 = private unnamed_addr constant [7 x i8] c", i32 \00" @.str9377 = private unnamed_addr constant [5 x i8] c"make\00" @.str9378 = private unnamed_addr constant [5 x i8] c"zero\00" @.str9379 = private unnamed_addr constant [2 x i8] c"x\00" @.str9380 = private unnamed_addr constant [2 x i8] c"y\00" @.str9381 = private unnamed_addr constant [4 x i8] c"add\00" @.str9382 = private unnamed_addr constant [4 x i8] c"sub\00" @.str9383 = private unnamed_addr constant [6 x i8] c"scale\00" @.str9384 = private unnamed_addr constant [4 x i8] c"dot\00" @.str9385 = private unnamed_addr constant [6 x i8] c"equal\00" @.str9386 = private unnamed_addr constant [10 x i8] c"manhattan\00" @.str9387 = private unnamed_addr constant [10 x i8] c"to_vector\00" @.str9388 = private unnamed_addr constant [10 x i8] c"distance2\00" @.str9389 = private unnamed_addr constant [7 x i8] c"within\00" @.str9390 = private unnamed_addr constant [8 x i8] c"heading\00" @.str9391 = private unnamed_addr constant [6 x i8] c"along\00" @.str9392 = private unnamed_addr constant [5 x i8] c"step\00" @.str9393 = private unnamed_addr constant [5 x i8] c"zero\00" @.str9394 = private unnamed_addr constant [2 x i8] c"0\00" @.str9395 = private unnamed_addr constant [6 x i8] c"IVec2\00" @.str9396 = private unnamed_addr constant [5 x i8] c"make\00" @.str9397 = private unnamed_addr constant [55 x i8] c"build/cfree/selfhost.ludic:17139: index out of range: \00" @.str9398 = private unnamed_addr constant [13 x i8] c"emit_ivec_ns\00" @.str9399 = private unnamed_addr constant [55 x i8] c"build/cfree/selfhost.ludic:17139: index out of range: \00" @.str9400 = private unnamed_addr constant [6 x i8] c"IVec2\00" @.str9401 = private unnamed_addr constant [2 x i8] c"x\00" @.str9402 = private unnamed_addr constant [55 x i8] c"build/cfree/selfhost.ludic:17143: index out of range: \00" @.str9403 = private unnamed_addr constant [4 x i8] c"int\00" @.str9404 = private unnamed_addr constant [2 x i8] c"y\00" @.str9405 = private unnamed_addr constant [55 x i8] c"build/cfree/selfhost.ludic:17147: index out of range: \00" @.str9406 = private unnamed_addr constant [4 x i8] c"int\00" @.str9407 = private unnamed_addr constant [10 x i8] c"distance2\00" @.str9408 = private unnamed_addr constant [7 x i8] c"within\00" @.str9409 = private unnamed_addr constant [55 x i8] c"build/cfree/selfhost.ludic:17151: index out of range: \00" @.str9410 = private unnamed_addr constant [55 x i8] c"build/cfree/selfhost.ludic:17151: index out of range: \00" @.str9411 = private unnamed_addr constant [9 x i8] c"sub i32 \00" @.str9412 = private unnamed_addr constant [3 x i8] c", \00" @.str9413 = private unnamed_addr constant [9 x i8] c"sub i32 \00" @.str9414 = private unnamed_addr constant [3 x i8] c", \00" @.str9415 = private unnamed_addr constant [9 x i8] c"mul i32 \00" @.str9416 = private unnamed_addr constant [3 x i8] c", \00" @.str9417 = private unnamed_addr constant [9 x i8] c"mul i32 \00" @.str9418 = private unnamed_addr constant [3 x i8] c", \00" @.str9419 = private unnamed_addr constant [9 x i8] c"add i32 \00" @.str9420 = private unnamed_addr constant [3 x i8] c", \00" @.str9421 = private unnamed_addr constant [10 x i8] c"distance2\00" @.str9422 = private unnamed_addr constant [4 x i8] c"int\00" @.str9423 = private unnamed_addr constant [55 x i8] c"build/cfree/selfhost.ludic:17158: index out of range: \00" @.str9424 = private unnamed_addr constant [9 x i8] c"mul i32 \00" @.str9425 = private unnamed_addr constant [3 x i8] c", \00" @.str9426 = private unnamed_addr constant [14 x i8] c"icmp sle i32 \00" @.str9427 = private unnamed_addr constant [3 x i8] c", \00" @.str9428 = private unnamed_addr constant [9 x i8] c"zext i1 \00" @.str9429 = private unnamed_addr constant [8 x i8] c" to i32\00" @.str9430 = private unnamed_addr constant [5 x i8] c"bool\00" @.str9431 = private unnamed_addr constant [8 x i8] c"heading\00" @.str9432 = private unnamed_addr constant [16 x i8] c"rt_ivec_heading\00" @.str9433 = private unnamed_addr constant [39 x i8] c"IVec2.heading needs the engine runtime\00" @.str9434 = private unnamed_addr constant [55 x i8] c"build/cfree/selfhost.ludic:17165: index out of range: \00" @.str9435 = private unnamed_addr constant [55 x i8] c"build/cfree/selfhost.ludic:17165: index out of range: \00" @.str9436 = private unnamed_addr constant [10 x i8] c"call i32 \00" @.str9437 = private unnamed_addr constant [16 x i8] c"rt_ivec_heading\00" @.str9438 = private unnamed_addr constant [6 x i8] c"(i64 \00" @.str9439 = private unnamed_addr constant [7 x i8] c", i64 \00" @.str9440 = private unnamed_addr constant [2 x i8] c")\00" @.str9441 = private unnamed_addr constant [4 x i8] c"int\00" @.str9442 = private unnamed_addr constant [6 x i8] c"along\00" @.str9443 = private unnamed_addr constant [14 x i8] c"rt_ivec_along\00" @.str9444 = private unnamed_addr constant [37 x i8] c"IVec2.along needs the engine runtime\00" @.str9445 = private unnamed_addr constant [55 x i8] c"build/cfree/selfhost.ludic:17170: index out of range: \00" @.str9446 = private unnamed_addr constant [55 x i8] c"build/cfree/selfhost.ludic:17170: index out of range: \00" @.str9447 = private unnamed_addr constant [55 x i8] c"build/cfree/selfhost.ludic:17170: index out of range: \00" @.str9448 = private unnamed_addr constant [10 x i8] c"call i64 \00" @.str9449 = private unnamed_addr constant [14 x i8] c"rt_ivec_along\00" @.str9450 = private unnamed_addr constant [6 x i8] c"(i64 \00" @.str9451 = private unnamed_addr constant [7 x i8] c", i32 \00" @.str9452 = private unnamed_addr constant [7 x i8] c", i32 \00" @.str9453 = private unnamed_addr constant [2 x i8] c")\00" @.str9454 = private unnamed_addr constant [6 x i8] c"IVec2\00" @.str9455 = private unnamed_addr constant [5 x i8] c"step\00" @.str9456 = private unnamed_addr constant [13 x i8] c"rt_ivec_step\00" @.str9457 = private unnamed_addr constant [36 x i8] c"IVec2.step needs the engine runtime\00" @.str9458 = private unnamed_addr constant [55 x i8] c"build/cfree/selfhost.ludic:17175: index out of range: \00" @.str9459 = private unnamed_addr constant [10 x i8] c"call i64 \00" @.str9460 = private unnamed_addr constant [13 x i8] c"rt_ivec_step\00" @.str9461 = private unnamed_addr constant [6 x i8] c"(i32 \00" @.str9462 = private unnamed_addr constant [2 x i8] c")\00" @.str9463 = private unnamed_addr constant [6 x i8] c"IVec2\00" @.str9464 = private unnamed_addr constant [4 x i8] c"add\00" @.str9465 = private unnamed_addr constant [55 x i8] c"build/cfree/selfhost.ludic:17179: index out of range: \00" @.str9466 = private unnamed_addr constant [55 x i8] c"build/cfree/selfhost.ludic:17179: index out of range: \00" @.str9467 = private unnamed_addr constant [9 x i8] c"add i32 \00" @.str9468 = private unnamed_addr constant [3 x i8] c", \00" @.str9469 = private unnamed_addr constant [9 x i8] c"add i32 \00" @.str9470 = private unnamed_addr constant [3 x i8] c", \00" @.str9471 = private unnamed_addr constant [6 x i8] c"IVec2\00" @.str9472 = private unnamed_addr constant [4 x i8] c"sub\00" @.str9473 = private unnamed_addr constant [55 x i8] c"build/cfree/selfhost.ludic:17186: index out of range: \00" @.str9474 = private unnamed_addr constant [55 x i8] c"build/cfree/selfhost.ludic:17186: index out of range: \00" @.str9475 = private unnamed_addr constant [9 x i8] c"sub i32 \00" @.str9476 = private unnamed_addr constant [3 x i8] c", \00" @.str9477 = private unnamed_addr constant [9 x i8] c"sub i32 \00" @.str9478 = private unnamed_addr constant [3 x i8] c", \00" @.str9479 = private unnamed_addr constant [6 x i8] c"IVec2\00" @.str9480 = private unnamed_addr constant [6 x i8] c"scale\00" @.str9481 = private unnamed_addr constant [55 x i8] c"build/cfree/selfhost.ludic:17193: index out of range: \00" @.str9482 = private unnamed_addr constant [55 x i8] c"build/cfree/selfhost.ludic:17193: index out of range: \00" @.str9483 = private unnamed_addr constant [9 x i8] c"mul i32 \00" @.str9484 = private unnamed_addr constant [3 x i8] c", \00" @.str9485 = private unnamed_addr constant [9 x i8] c"mul i32 \00" @.str9486 = private unnamed_addr constant [3 x i8] c", \00" @.str9487 = private unnamed_addr constant [6 x i8] c"IVec2\00" @.str9488 = private unnamed_addr constant [4 x i8] c"dot\00" @.str9489 = private unnamed_addr constant [55 x i8] c"build/cfree/selfhost.ludic:17200: index out of range: \00" @.str9490 = private unnamed_addr constant [55 x i8] c"build/cfree/selfhost.ludic:17200: index out of range: \00" @.str9491 = private unnamed_addr constant [9 x i8] c"mul i32 \00" @.str9492 = private unnamed_addr constant [3 x i8] c", \00" @.str9493 = private unnamed_addr constant [9 x i8] c"mul i32 \00" @.str9494 = private unnamed_addr constant [3 x i8] c", \00" @.str9495 = private unnamed_addr constant [9 x i8] c"add i32 \00" @.str9496 = private unnamed_addr constant [3 x i8] c", \00" @.str9497 = private unnamed_addr constant [4 x i8] c"int\00" @.str9498 = private unnamed_addr constant [6 x i8] c"equal\00" @.str9499 = private unnamed_addr constant [55 x i8] c"build/cfree/selfhost.ludic:17206: index out of range: \00" @.str9500 = private unnamed_addr constant [55 x i8] c"build/cfree/selfhost.ludic:17206: index out of range: \00" @.str9501 = private unnamed_addr constant [13 x i8] c"icmp eq i64 \00" @.str9502 = private unnamed_addr constant [3 x i8] c", \00" @.str9503 = private unnamed_addr constant [9 x i8] c"zext i1 \00" @.str9504 = private unnamed_addr constant [8 x i8] c" to i32\00" @.str9505 = private unnamed_addr constant [5 x i8] c"bool\00" @.str9506 = private unnamed_addr constant [10 x i8] c"manhattan\00" @.str9507 = private unnamed_addr constant [55 x i8] c"build/cfree/selfhost.ludic:17211: index out of range: \00" @.str9508 = private unnamed_addr constant [55 x i8] c"build/cfree/selfhost.ludic:17211: index out of range: \00" @.str9509 = private unnamed_addr constant [9 x i8] c"sub i32 \00" @.str9510 = private unnamed_addr constant [3 x i8] c", \00" @.str9511 = private unnamed_addr constant [9 x i8] c"sub i32 \00" @.str9512 = private unnamed_addr constant [3 x i8] c", \00" @.str9513 = private unnamed_addr constant [9 x i8] c"add i32 \00" @.str9514 = private unnamed_addr constant [3 x i8] c", \00" @.str9515 = private unnamed_addr constant [4 x i8] c"int\00" @.str9516 = private unnamed_addr constant [55 x i8] c"build/cfree/selfhost.ludic:17218: index out of range: \00" @.str9517 = private unnamed_addr constant [9 x i8] c"shl i32 \00" @.str9518 = private unnamed_addr constant [5 x i8] c", 16\00" @.str9519 = private unnamed_addr constant [9 x i8] c"shl i32 \00" @.str9520 = private unnamed_addr constant [5 x i8] c", 16\00" @.str9521 = private unnamed_addr constant [7 x i8] c"Vector\00" @.str9522 = private unnamed_addr constant [10 x i8] c"zext i32 \00" @.str9523 = private unnamed_addr constant [10 x i8] c"rect_pack\00" @.str9524 = private unnamed_addr constant [9 x i8] c" to i128\00" @.str9525 = private unnamed_addr constant [10 x i8] c"shl i128 \00" @.str9526 = private unnamed_addr constant [5 x i8] c", 96\00" @.str9527 = private unnamed_addr constant [10 x i8] c"zext i32 \00" @.str9528 = private unnamed_addr constant [9 x i8] c" to i128\00" @.str9529 = private unnamed_addr constant [10 x i8] c"shl i128 \00" @.str9530 = private unnamed_addr constant [5 x i8] c", 64\00" @.str9531 = private unnamed_addr constant [10 x i8] c"zext i32 \00" @.str9532 = private unnamed_addr constant [9 x i8] c" to i128\00" @.str9533 = private unnamed_addr constant [10 x i8] c"shl i128 \00" @.str9534 = private unnamed_addr constant [5 x i8] c", 32\00" @.str9535 = private unnamed_addr constant [10 x i8] c"zext i32 \00" @.str9536 = private unnamed_addr constant [9 x i8] c" to i128\00" @.str9537 = private unnamed_addr constant [9 x i8] c"or i128 \00" @.str9538 = private unnamed_addr constant [3 x i8] c", \00" @.str9539 = private unnamed_addr constant [9 x i8] c"or i128 \00" @.str9540 = private unnamed_addr constant [3 x i8] c", \00" @.str9541 = private unnamed_addr constant [9 x i8] c"or i128 \00" @.str9542 = private unnamed_addr constant [3 x i8] c", \00" @.str9543 = private unnamed_addr constant [12 x i8] c"trunc i128 \00" @.str9544 = private unnamed_addr constant [11 x i8] c"rect_field\00" @.str9545 = private unnamed_addr constant [8 x i8] c" to i32\00" @.str9546 = private unnamed_addr constant [11 x i8] c"lshr i128 \00" @.str9547 = private unnamed_addr constant [3 x i8] c", \00" @.str9548 = private unnamed_addr constant [12 x i8] c"trunc i128 \00" @.str9549 = private unnamed_addr constant [8 x i8] c" to i32\00" @.str9550 = private unnamed_addr constant [6 x i8] c"icmp \00" @.str9551 = private unnamed_addr constant [9 x i8] c"rect_cmp\00" @.str9552 = private unnamed_addr constant [6 x i8] c" i32 \00" @.str9553 = private unnamed_addr constant [3 x i8] c", \00" @.str9554 = private unnamed_addr constant [9 x i8] c"zext i1 \00" @.str9555 = private unnamed_addr constant [8 x i8] c" to i32\00" @.str9556 = private unnamed_addr constant [5 x i8] c"make\00" @.str9557 = private unnamed_addr constant [2 x i8] c"x\00" @.str9558 = private unnamed_addr constant [2 x i8] c"y\00" @.str9559 = private unnamed_addr constant [2 x i8] c"w\00" @.str9560 = private unnamed_addr constant [2 x i8] c"h\00" @.str9561 = private unnamed_addr constant [6 x i8] c"right\00" @.str9562 = private unnamed_addr constant [7 x i8] c"bottom\00" @.str9563 = private unnamed_addr constant [7 x i8] c"center\00" @.str9564 = private unnamed_addr constant [9 x i8] c"contains\00" @.str9565 = private unnamed_addr constant [11 x i8] c"intersects\00" @.str9566 = private unnamed_addr constant [5 x i8] c"make\00" @.str9567 = private unnamed_addr constant [55 x i8] c"build/cfree/selfhost.ludic:17271: index out of range: \00" @.str9568 = private unnamed_addr constant [13 x i8] c"emit_rect_ns\00" @.str9569 = private unnamed_addr constant [55 x i8] c"build/cfree/selfhost.ludic:17271: index out of range: \00" @.str9570 = private unnamed_addr constant [55 x i8] c"build/cfree/selfhost.ludic:17272: index out of range: \00" @.str9571 = private unnamed_addr constant [55 x i8] c"build/cfree/selfhost.ludic:17272: index out of range: \00" @.str9572 = private unnamed_addr constant [5 x i8] c"Rect\00" @.str9573 = private unnamed_addr constant [2 x i8] c"x\00" @.str9574 = private unnamed_addr constant [55 x i8] c"build/cfree/selfhost.ludic:17275: index out of range: \00" @.str9575 = private unnamed_addr constant [6 x i8] c"fixed\00" @.str9576 = private unnamed_addr constant [2 x i8] c"y\00" @.str9577 = private unnamed_addr constant [55 x i8] c"build/cfree/selfhost.ludic:17276: index out of range: \00" @.str9578 = private unnamed_addr constant [6 x i8] c"fixed\00" @.str9579 = private unnamed_addr constant [2 x i8] c"w\00" @.str9580 = private unnamed_addr constant [55 x i8] c"build/cfree/selfhost.ludic:17277: index out of range: \00" @.str9581 = private unnamed_addr constant [6 x i8] c"fixed\00" @.str9582 = private unnamed_addr constant [2 x i8] c"h\00" @.str9583 = private unnamed_addr constant [55 x i8] c"build/cfree/selfhost.ludic:17278: index out of range: \00" @.str9584 = private unnamed_addr constant [6 x i8] c"fixed\00" @.str9585 = private unnamed_addr constant [6 x i8] c"right\00" @.str9586 = private unnamed_addr constant [55 x i8] c"build/cfree/selfhost.ludic:17280: index out of range: \00" @.str9587 = private unnamed_addr constant [9 x i8] c"add i32 \00" @.str9588 = private unnamed_addr constant [3 x i8] c", \00" @.str9589 = private unnamed_addr constant [6 x i8] c"fixed\00" @.str9590 = private unnamed_addr constant [7 x i8] c"bottom\00" @.str9591 = private unnamed_addr constant [55 x i8] c"build/cfree/selfhost.ludic:17285: index out of range: \00" @.str9592 = private unnamed_addr constant [9 x i8] c"add i32 \00" @.str9593 = private unnamed_addr constant [3 x i8] c", \00" @.str9594 = private unnamed_addr constant [6 x i8] c"fixed\00" @.str9595 = private unnamed_addr constant [7 x i8] c"center\00" @.str9596 = private unnamed_addr constant [55 x i8] c"build/cfree/selfhost.ludic:17290: index out of range: \00" @.str9597 = private unnamed_addr constant [10 x i8] c"ashr i32 \00" @.str9598 = private unnamed_addr constant [4 x i8] c", 1\00" @.str9599 = private unnamed_addr constant [10 x i8] c"ashr i32 \00" @.str9600 = private unnamed_addr constant [4 x i8] c", 1\00" @.str9601 = private unnamed_addr constant [9 x i8] c"add i32 \00" @.str9602 = private unnamed_addr constant [3 x i8] c", \00" @.str9603 = private unnamed_addr constant [9 x i8] c"add i32 \00" @.str9604 = private unnamed_addr constant [3 x i8] c", \00" @.str9605 = private unnamed_addr constant [7 x i8] c"Vector\00" @.str9606 = private unnamed_addr constant [9 x i8] c"contains\00" @.str9607 = private unnamed_addr constant [55 x i8] c"build/cfree/selfhost.ludic:17298: index out of range: \00" @.str9608 = private unnamed_addr constant [55 x i8] c"build/cfree/selfhost.ludic:17298: index out of range: \00" @.str9609 = private unnamed_addr constant [55 x i8] c"build/cfree/selfhost.ludic:17298: index out of range: \00" @.str9610 = private unnamed_addr constant [9 x i8] c"add i32 \00" @.str9611 = private unnamed_addr constant [3 x i8] c", \00" @.str9612 = private unnamed_addr constant [9 x i8] c"add i32 \00" @.str9613 = private unnamed_addr constant [3 x i8] c", \00" @.str9614 = private unnamed_addr constant [4 x i8] c"sge\00" @.str9615 = private unnamed_addr constant [4 x i8] c"slt\00" @.str9616 = private unnamed_addr constant [4 x i8] c"sge\00" @.str9617 = private unnamed_addr constant [4 x i8] c"slt\00" @.str9618 = private unnamed_addr constant [9 x i8] c"and i32 \00" @.str9619 = private unnamed_addr constant [3 x i8] c", \00" @.str9620 = private unnamed_addr constant [9 x i8] c"and i32 \00" @.str9621 = private unnamed_addr constant [3 x i8] c", \00" @.str9622 = private unnamed_addr constant [9 x i8] c"and i32 \00" @.str9623 = private unnamed_addr constant [3 x i8] c", \00" @.str9624 = private unnamed_addr constant [5 x i8] c"bool\00" @.str9625 = private unnamed_addr constant [55 x i8] c"build/cfree/selfhost.ludic:17308: index out of range: \00" @.str9626 = private unnamed_addr constant [55 x i8] c"build/cfree/selfhost.ludic:17308: index out of range: \00" @.str9627 = private unnamed_addr constant [9 x i8] c"add i32 \00" @.str9628 = private unnamed_addr constant [3 x i8] c", \00" @.str9629 = private unnamed_addr constant [9 x i8] c"add i32 \00" @.str9630 = private unnamed_addr constant [3 x i8] c", \00" @.str9631 = private unnamed_addr constant [9 x i8] c"add i32 \00" @.str9632 = private unnamed_addr constant [3 x i8] c", \00" @.str9633 = private unnamed_addr constant [9 x i8] c"add i32 \00" @.str9634 = private unnamed_addr constant [3 x i8] c", \00" @.str9635 = private unnamed_addr constant [4 x i8] c"slt\00" @.str9636 = private unnamed_addr constant [4 x i8] c"slt\00" @.str9637 = private unnamed_addr constant [4 x i8] c"slt\00" @.str9638 = private unnamed_addr constant [4 x i8] c"slt\00" @.str9639 = private unnamed_addr constant [9 x i8] c"and i32 \00" @.str9640 = private unnamed_addr constant [3 x i8] c", \00" @.str9641 = private unnamed_addr constant [9 x i8] c"and i32 \00" @.str9642 = private unnamed_addr constant [3 x i8] c", \00" @.str9643 = private unnamed_addr constant [9 x i8] c"and i32 \00" @.str9644 = private unnamed_addr constant [3 x i8] c", \00" @.str9645 = private unnamed_addr constant [5 x i8] c"bool\00" @.str9646 = private unnamed_addr constant [7 x i8] c"length\00" @.str9647 = private unnamed_addr constant [8 x i8] c"char_at\00" @.str9648 = private unnamed_addr constant [6 x i8] c"slice\00" @.str9649 = private unnamed_addr constant [7 x i8] c"equals\00" @.str9650 = private unnamed_addr constant [7 x i8] c"concat\00" @.str9651 = private unnamed_addr constant [7 x i8] c"to_int\00" @.str9652 = private unnamed_addr constant [9 x i8] c"from_int\00" @.str9653 = private unnamed_addr constant [9 x i8] c"to_float\00" @.str9654 = private unnamed_addr constant [12 x i8] c"starts_with\00" @.str9655 = private unnamed_addr constant [10 x i8] c"ends_with\00" @.str9656 = private unnamed_addr constant [9 x i8] c"contains\00" @.str9657 = private unnamed_addr constant [9 x i8] c"index_of\00" @.str9658 = private unnamed_addr constant [6 x i8] c"upper\00" @.str9659 = private unnamed_addr constant [6 x i8] c"lower\00" @.str9660 = private unnamed_addr constant [5 x i8] c"trim\00" @.str9661 = private unnamed_addr constant [7 x i8] c"repeat\00" @.str9662 = private unnamed_addr constant [9 x i8] c"pad_left\00" @.str9663 = private unnamed_addr constant [10 x i8] c"pad_right\00" @.str9664 = private unnamed_addr constant [6 x i8] c"split\00" @.str9665 = private unnamed_addr constant [5 x i8] c"join\00" @.str9666 = private unnamed_addr constant [8 x i8] c"replace\00" @.str9667 = private unnamed_addr constant [26 x i8] c" call void @lp_free(ptr \00" @.str9668 = private unnamed_addr constant [10 x i8] c"text_gone\00" @.str9669 = private unnamed_addr constant [3 x i8] c")\0A\00" @.str9670 = private unnamed_addr constant [9 x i8] c"from_int\00" @.str9671 = private unnamed_addr constant [55 x i8] c"build/cfree/selfhost.ludic:17347: index out of range: \00" @.str9672 = private unnamed_addr constant [13 x i8] c"emit_text_ns\00" @.str9673 = private unnamed_addr constant [26 x i8] c"call ptr @lp_int_str(i32 \00" @.str9674 = private unnamed_addr constant [2 x i8] c")\00" @.str9675 = private unnamed_addr constant [7 x i8] c"string\00" @.str9676 = private unnamed_addr constant [6 x i8] c"slice\00" @.str9677 = private unnamed_addr constant [55 x i8] c"build/cfree/selfhost.ludic:17352: index out of range: \00" @.str9678 = private unnamed_addr constant [55 x i8] c"build/cfree/selfhost.ludic:17352: index out of range: \00" @.str9679 = private unnamed_addr constant [55 x i8] c"build/cfree/selfhost.ludic:17352: index out of range: \00" @.str9680 = private unnamed_addr constant [28 x i8] c"call ptr @lp_str_slice(ptr \00" @.str9681 = private unnamed_addr constant [7 x i8] c", i32 \00" @.str9682 = private unnamed_addr constant [7 x i8] c", i32 \00" @.str9683 = private unnamed_addr constant [2 x i8] c")\00" @.str9684 = private unnamed_addr constant [7 x i8] c"string\00" @.str9685 = private unnamed_addr constant [7 x i8] c"equals\00" @.str9686 = private unnamed_addr constant [55 x i8] c"build/cfree/selfhost.ludic:17359: index out of range: \00" @.str9687 = private unnamed_addr constant [55 x i8] c"build/cfree/selfhost.ludic:17359: index out of range: \00" @.str9688 = private unnamed_addr constant [3 x i8] c"==\00" @.str9689 = private unnamed_addr constant [7 x i8] c"concat\00" @.str9690 = private unnamed_addr constant [55 x i8] c"build/cfree/selfhost.ludic:17363: index out of range: \00" @.str9691 = private unnamed_addr constant [55 x i8] c"build/cfree/selfhost.ludic:17363: index out of range: \00" @.str9692 = private unnamed_addr constant [2 x i8] c"+\00" @.str9693 = private unnamed_addr constant [55 x i8] c"build/cfree/selfhost.ludic:17367: index out of range: \00" @.str9694 = private unnamed_addr constant [7 x i8] c"length\00" @.str9695 = private unnamed_addr constant [22 x i8] c"call i64 @strlen(ptr \00" @.str9696 = private unnamed_addr constant [2 x i8] c")\00" @.str9697 = private unnamed_addr constant [11 x i8] c"trunc i64 \00" @.str9698 = private unnamed_addr constant [8 x i8] c" to i32\00" @.str9699 = private unnamed_addr constant [4 x i8] c"int\00" @.str9700 = private unnamed_addr constant [8 x i8] c"char_at\00" @.str9701 = private unnamed_addr constant [55 x i8] c"build/cfree/selfhost.ludic:17374: index out of range: \00" @.str9702 = private unnamed_addr constant [32 x i8] c"getelementptr inbounds i8, ptr \00" @.str9703 = private unnamed_addr constant [7 x i8] c", i32 \00" @.str9704 = private unnamed_addr constant [14 x i8] c"load i8, ptr \00" @.str9705 = private unnamed_addr constant [9 x i8] c"zext i8 \00" @.str9706 = private unnamed_addr constant [8 x i8] c" to i32\00" @.str9707 = private unnamed_addr constant [4 x i8] c"int\00" @.str9708 = private unnamed_addr constant [9 x i8] c"to_float\00" @.str9709 = private unnamed_addr constant [34 x i8] c"declare double @strtod(ptr, ptr)\0A\00" @.str9710 = private unnamed_addr constant [25 x i8] c"call double @strtod(ptr \00" @.str9711 = private unnamed_addr constant [12 x i8] c", ptr null)\00" @.str9712 = private unnamed_addr constant [16 x i8] c"fptrunc double \00" @.str9713 = private unnamed_addr constant [10 x i8] c" to float\00" @.str9714 = private unnamed_addr constant [6 x i8] c"float\00" @.str9715 = private unnamed_addr constant [7 x i8] c"to_int\00" @.str9716 = private unnamed_addr constant [20 x i8] c"call i32 @atoi(ptr \00" @.str9717 = private unnamed_addr constant [2 x i8] c")\00" @.str9718 = private unnamed_addr constant [4 x i8] c"int\00" @.str9719 = private unnamed_addr constant [6 x i8] c"upper\00" @.str9720 = private unnamed_addr constant [6 x i8] c"lower\00" @.str9721 = private unnamed_addr constant [5 x i8] c"trim\00" @.str9722 = private unnamed_addr constant [12 x i8] c"lp_str_trim\00" @.str9723 = private unnamed_addr constant [6 x i8] c"upper\00" @.str9724 = private unnamed_addr constant [13 x i8] c"lp_str_upper\00" @.str9725 = private unnamed_addr constant [6 x i8] c"lower\00" @.str9726 = private unnamed_addr constant [13 x i8] c"lp_str_lower\00" @.str9727 = private unnamed_addr constant [11 x i8] c"call ptr @\00" @.str9728 = private unnamed_addr constant [6 x i8] c"(ptr \00" @.str9729 = private unnamed_addr constant [2 x i8] c")\00" @.str9730 = private unnamed_addr constant [7 x i8] c"string\00" @.str9731 = private unnamed_addr constant [7 x i8] c"repeat\00" @.str9732 = private unnamed_addr constant [55 x i8] c"build/cfree/selfhost.ludic:17402: index out of range: \00" @.str9733 = private unnamed_addr constant [29 x i8] c"call ptr @lp_str_repeat(ptr \00" @.str9734 = private unnamed_addr constant [7 x i8] c", i32 \00" @.str9735 = private unnamed_addr constant [2 x i8] c")\00" @.str9736 = private unnamed_addr constant [7 x i8] c"string\00" @.str9737 = private unnamed_addr constant [9 x i8] c"pad_left\00" @.str9738 = private unnamed_addr constant [10 x i8] c"pad_right\00" @.str9739 = private unnamed_addr constant [55 x i8] c"build/cfree/selfhost.ludic:17409: index out of range: \00" @.str9740 = private unnamed_addr constant [2 x i8] c"1\00" @.str9741 = private unnamed_addr constant [10 x i8] c"pad_right\00" @.str9742 = private unnamed_addr constant [2 x i8] c"0\00" @.str9743 = private unnamed_addr constant [26 x i8] c"call ptr @lp_str_pad(ptr \00" @.str9744 = private unnamed_addr constant [7 x i8] c", i32 \00" @.str9745 = private unnamed_addr constant [6 x i8] c", i1 \00" @.str9746 = private unnamed_addr constant [2 x i8] c")\00" @.str9747 = private unnamed_addr constant [7 x i8] c"string\00" @.str9748 = private unnamed_addr constant [8 x i8] c"replace\00" @.str9749 = private unnamed_addr constant [55 x i8] c"build/cfree/selfhost.ludic:17418: index out of range: \00" @.str9750 = private unnamed_addr constant [55 x i8] c"build/cfree/selfhost.ludic:17418: index out of range: \00" @.str9751 = private unnamed_addr constant [30 x i8] c"call ptr @lp_str_replace(ptr \00" @.str9752 = private unnamed_addr constant [7 x i8] c", ptr \00" @.str9753 = private unnamed_addr constant [7 x i8] c", ptr \00" @.str9754 = private unnamed_addr constant [2 x i8] c")\00" @.str9755 = private unnamed_addr constant [7 x i8] c"string\00" @.str9756 = private unnamed_addr constant [6 x i8] c"split\00" @.str9757 = private unnamed_addr constant [55 x i8] c"build/cfree/selfhost.ludic:17425: index out of range: \00" @.str9758 = private unnamed_addr constant [28 x i8] c"call ptr @lp_str_split(ptr \00" @.str9759 = private unnamed_addr constant [7 x i8] c", ptr \00" @.str9760 = private unnamed_addr constant [2 x i8] c")\00" @.str9761 = private unnamed_addr constant [9 x i8] c"[]string\00" @.str9762 = private unnamed_addr constant [5 x i8] c"join\00" @.str9763 = private unnamed_addr constant [55 x i8] c"build/cfree/selfhost.ludic:17432: index out of range: \00" @.str9764 = private unnamed_addr constant [27 x i8] c"call ptr @lp_str_join(ptr \00" @.str9765 = private unnamed_addr constant [7 x i8] c", ptr \00" @.str9766 = private unnamed_addr constant [2 x i8] c")\00" @.str9767 = private unnamed_addr constant [7 x i8] c"string\00" @.str9768 = private unnamed_addr constant [9 x i8] c"contains\00" @.str9769 = private unnamed_addr constant [9 x i8] c"index_of\00" @.str9770 = private unnamed_addr constant [55 x i8] c"build/cfree/selfhost.ludic:17438: index out of range: \00" @.str9771 = private unnamed_addr constant [22 x i8] c"call ptr @strstr(ptr \00" @.str9772 = private unnamed_addr constant [7 x i8] c", ptr \00" @.str9773 = private unnamed_addr constant [2 x i8] c")\00" @.str9774 = private unnamed_addr constant [9 x i8] c"contains\00" @.str9775 = private unnamed_addr constant [13 x i8] c"icmp ne ptr \00" @.str9776 = private unnamed_addr constant [7 x i8] c", null\00" @.str9777 = private unnamed_addr constant [9 x i8] c"zext i1 \00" @.str9778 = private unnamed_addr constant [8 x i8] c" to i32\00" @.str9779 = private unnamed_addr constant [5 x i8] c"bool\00" @.str9780 = private unnamed_addr constant [13 x i8] c"icmp eq ptr \00" @.str9781 = private unnamed_addr constant [7 x i8] c", null\00" @.str9782 = private unnamed_addr constant [14 x i8] c"ptrtoint ptr \00" @.str9783 = private unnamed_addr constant [8 x i8] c" to i64\00" @.str9784 = private unnamed_addr constant [14 x i8] c"ptrtoint ptr \00" @.str9785 = private unnamed_addr constant [8 x i8] c" to i64\00" @.str9786 = private unnamed_addr constant [9 x i8] c"sub i64 \00" @.str9787 = private unnamed_addr constant [3 x i8] c", \00" @.str9788 = private unnamed_addr constant [11 x i8] c"trunc i64 \00" @.str9789 = private unnamed_addr constant [8 x i8] c" to i32\00" @.str9790 = private unnamed_addr constant [11 x i8] c"select i1 \00" @.str9791 = private unnamed_addr constant [15 x i8] c", i32 -1, i32 \00" @.str9792 = private unnamed_addr constant [4 x i8] c"int\00" @.str9793 = private unnamed_addr constant [55 x i8] c"build/cfree/selfhost.ludic:17455: index out of range: \00" @.str9794 = private unnamed_addr constant [22 x i8] c"call i64 @strlen(ptr \00" @.str9795 = private unnamed_addr constant [2 x i8] c")\00" @.str9796 = private unnamed_addr constant [12 x i8] c"starts_with\00" @.str9797 = private unnamed_addr constant [23 x i8] c"call i32 @strncmp(ptr \00" @.str9798 = private unnamed_addr constant [7 x i8] c", ptr \00" @.str9799 = private unnamed_addr constant [7 x i8] c", i64 \00" @.str9800 = private unnamed_addr constant [2 x i8] c")\00" @.str9801 = private unnamed_addr constant [13 x i8] c"icmp eq i32 \00" @.str9802 = private unnamed_addr constant [4 x i8] c", 0\00" @.str9803 = private unnamed_addr constant [9 x i8] c"zext i1 \00" @.str9804 = private unnamed_addr constant [8 x i8] c" to i32\00" @.str9805 = private unnamed_addr constant [5 x i8] c"bool\00" @.str9806 = private unnamed_addr constant [22 x i8] c"call i64 @strlen(ptr \00" @.str9807 = private unnamed_addr constant [2 x i8] c")\00" @.str9808 = private unnamed_addr constant [9 x i8] c"sub i64 \00" @.str9809 = private unnamed_addr constant [3 x i8] c", \00" @.str9810 = private unnamed_addr constant [4 x i8] c"i32\00" @.str9811 = private unnamed_addr constant [4 x i8] c"i32\00" @.str9812 = private unnamed_addr constant [2 x i8] c"0\00" @.str9813 = private unnamed_addr constant [14 x i8] c"icmp slt i64 \00" @.str9814 = private unnamed_addr constant [4 x i8] c", 0\00" @.str9815 = private unnamed_addr constant [7 x i8] c"ew_cmp\00" @.str9816 = private unnamed_addr constant [7 x i8] c"ew_end\00" @.str9817 = private unnamed_addr constant [9 x i8] c" br i1 \00" @.str9818 = private unnamed_addr constant [10 x i8] c", label %\00" @.str9819 = private unnamed_addr constant [10 x i8] c", label %\00" @.str9820 = private unnamed_addr constant [2 x i8] c"\0A\00" @.str9821 = private unnamed_addr constant [3 x i8] c":\0A\00" @.str9822 = private unnamed_addr constant [32 x i8] c"getelementptr inbounds i8, ptr \00" @.str9823 = private unnamed_addr constant [7 x i8] c", i64 \00" @.str9824 = private unnamed_addr constant [23 x i8] c"call i32 @strncmp(ptr \00" @.str9825 = private unnamed_addr constant [7 x i8] c", ptr \00" @.str9826 = private unnamed_addr constant [7 x i8] c", i64 \00" @.str9827 = private unnamed_addr constant [2 x i8] c")\00" @.str9828 = private unnamed_addr constant [13 x i8] c"icmp eq i32 \00" @.str9829 = private unnamed_addr constant [4 x i8] c", 0\00" @.str9830 = private unnamed_addr constant [9 x i8] c"zext i1 \00" @.str9831 = private unnamed_addr constant [8 x i8] c" to i32\00" @.str9832 = private unnamed_addr constant [4 x i8] c"i32\00" @.str9833 = private unnamed_addr constant [13 x i8] c" br label %\00" @.str9834 = private unnamed_addr constant [2 x i8] c"\0A\00" @.str9835 = private unnamed_addr constant [3 x i8] c":\0A\00" @.str9836 = private unnamed_addr constant [15 x i8] c"load i32, ptr \00" @.str9837 = private unnamed_addr constant [5 x i8] c"bool\00" @.str9838 = private unnamed_addr constant [36 x i8] c"define ptr @lp_str_upper(ptr %s) {\0A\00" @.str9839 = private unnamed_addr constant [8 x i8] c"entry:\0A\00" @.str9840 = private unnamed_addr constant [33 x i8] c" %n = call i64 @strlen(ptr %s)\0A\00" @.str9841 = private unnamed_addr constant [23 x i8] c" %sz = add i64 %n, 1\0A\00" @.str9842 = private unnamed_addr constant [39 x i8] c" %out = call ptr @lp_malloc(i64 %sz)\0A\00" @.str9843 = private unnamed_addr constant [20 x i8] c" %ip = alloca i64\0A\00" @.str9844 = private unnamed_addr constant [24 x i8] c" store i64 0, ptr %ip\0A\00" @.str9845 = private unnamed_addr constant [18 x i8] c" br label %cond\0A\00" @.str9846 = private unnamed_addr constant [7 x i8] c"cond:\0A\00" @.str9847 = private unnamed_addr constant [26 x i8] c" %i = load i64, ptr %ip\0A\00" @.str9848 = private unnamed_addr constant [28 x i8] c" %d = icmp ult i64 %i, %n\0A\00" @.str9849 = private unnamed_addr constant [37 x i8] c" br i1 %d, label %body, label %fin\0A\00" @.str9850 = private unnamed_addr constant [7 x i8] c"body:\0A\00" @.str9851 = private unnamed_addr constant [42 x i8] c" %sp = getelementptr i8, ptr %s, i64 %i\0A\00" @.str9852 = private unnamed_addr constant [25 x i8] c" %c = load i8, ptr %sp\0A\00" @.str9853 = private unnamed_addr constant [28 x i8] c" %ge = icmp uge i8 %c, 97\0A\00" @.str9854 = private unnamed_addr constant [29 x i8] c" %le = icmp ule i8 %c, 122\0A\00" @.str9855 = private unnamed_addr constant [25 x i8] c" %in = and i1 %ge, %le\0A\00" @.str9856 = private unnamed_addr constant [24 x i8] c" %cc = add i8 %c, -32\0A\00" @.str9857 = private unnamed_addr constant [38 x i8] c" %oc = select i1 %in, i8 %cc, i8 %c\0A\00" @.str9858 = private unnamed_addr constant [44 x i8] c" %op = getelementptr i8, ptr %out, i64 %i\0A\00" @.str9859 = private unnamed_addr constant [25 x i8] c" store i8 %oc, ptr %op\0A\00" @.str9860 = private unnamed_addr constant [23 x i8] c" %i1 = add i64 %i, 1\0A\00" @.str9861 = private unnamed_addr constant [26 x i8] c" store i64 %i1, ptr %ip\0A\00" @.str9862 = private unnamed_addr constant [18 x i8] c" br label %cond\0A\00" @.str9863 = private unnamed_addr constant [6 x i8] c"fin:\0A\00" @.str9864 = private unnamed_addr constant [44 x i8] c" %tp = getelementptr i8, ptr %out, i64 %n\0A\00" @.str9865 = private unnamed_addr constant [23 x i8] c" store i8 0, ptr %tp\0A\00" @.str9866 = private unnamed_addr constant [16 x i8] c" ret ptr %out\0A\00" @.str9867 = private unnamed_addr constant [3 x i8] c"}\0A\00" @.str9868 = private unnamed_addr constant [36 x i8] c"define ptr @lp_str_lower(ptr %s) {\0A\00" @.str9869 = private unnamed_addr constant [8 x i8] c"entry:\0A\00" @.str9870 = private unnamed_addr constant [33 x i8] c" %n = call i64 @strlen(ptr %s)\0A\00" @.str9871 = private unnamed_addr constant [23 x i8] c" %sz = add i64 %n, 1\0A\00" @.str9872 = private unnamed_addr constant [39 x i8] c" %out = call ptr @lp_malloc(i64 %sz)\0A\00" @.str9873 = private unnamed_addr constant [20 x i8] c" %ip = alloca i64\0A\00" @.str9874 = private unnamed_addr constant [24 x i8] c" store i64 0, ptr %ip\0A\00" @.str9875 = private unnamed_addr constant [18 x i8] c" br label %cond\0A\00" @.str9876 = private unnamed_addr constant [7 x i8] c"cond:\0A\00" @.str9877 = private unnamed_addr constant [26 x i8] c" %i = load i64, ptr %ip\0A\00" @.str9878 = private unnamed_addr constant [28 x i8] c" %d = icmp ult i64 %i, %n\0A\00" @.str9879 = private unnamed_addr constant [37 x i8] c" br i1 %d, label %body, label %fin\0A\00" @.str9880 = private unnamed_addr constant [7 x i8] c"body:\0A\00" @.str9881 = private unnamed_addr constant [42 x i8] c" %sp = getelementptr i8, ptr %s, i64 %i\0A\00" @.str9882 = private unnamed_addr constant [25 x i8] c" %c = load i8, ptr %sp\0A\00" @.str9883 = private unnamed_addr constant [28 x i8] c" %ge = icmp uge i8 %c, 65\0A\00" @.str9884 = private unnamed_addr constant [28 x i8] c" %le = icmp ule i8 %c, 90\0A\00" @.str9885 = private unnamed_addr constant [25 x i8] c" %in = and i1 %ge, %le\0A\00" @.str9886 = private unnamed_addr constant [23 x i8] c" %cc = add i8 %c, 32\0A\00" @.str9887 = private unnamed_addr constant [38 x i8] c" %oc = select i1 %in, i8 %cc, i8 %c\0A\00" @.str9888 = private unnamed_addr constant [44 x i8] c" %op = getelementptr i8, ptr %out, i64 %i\0A\00" @.str9889 = private unnamed_addr constant [25 x i8] c" store i8 %oc, ptr %op\0A\00" @.str9890 = private unnamed_addr constant [23 x i8] c" %i1 = add i64 %i, 1\0A\00" @.str9891 = private unnamed_addr constant [26 x i8] c" store i64 %i1, ptr %ip\0A\00" @.str9892 = private unnamed_addr constant [18 x i8] c" br label %cond\0A\00" @.str9893 = private unnamed_addr constant [6 x i8] c"fin:\0A\00" @.str9894 = private unnamed_addr constant [44 x i8] c" %tp = getelementptr i8, ptr %out, i64 %n\0A\00" @.str9895 = private unnamed_addr constant [23 x i8] c" store i8 0, ptr %tp\0A\00" @.str9896 = private unnamed_addr constant [16 x i8] c" ret ptr %out\0A\00" @.str9897 = private unnamed_addr constant [3 x i8] c"}\0A\00" @.str9898 = private unnamed_addr constant [35 x i8] c"define ptr @lp_str_trim(ptr %s) {\0A\00" @.str9899 = private unnamed_addr constant [8 x i8] c"entry:\0A\00" @.str9900 = private unnamed_addr constant [33 x i8] c" %n = call i64 @strlen(ptr %s)\0A\00" @.str9901 = private unnamed_addr constant [20 x i8] c" %sp = alloca i64\0A\00" @.str9902 = private unnamed_addr constant [20 x i8] c" %ep = alloca i64\0A\00" @.str9903 = private unnamed_addr constant [24 x i8] c" store i64 0, ptr %sp\0A\00" @.str9904 = private unnamed_addr constant [25 x i8] c" store i64 %n, ptr %ep\0A\00" @.str9905 = private unnamed_addr constant [19 x i8] c" br label %lcond\0A\00" @.str9906 = private unnamed_addr constant [8 x i8] c"lcond:\0A\00" @.str9907 = private unnamed_addr constant [27 x i8] c" %a0 = load i64, ptr %sp\0A\00" @.str9908 = private unnamed_addr constant [27 x i8] c" %e0 = load i64, ptr %ep\0A\00" @.str9909 = private unnamed_addr constant [32 x i8] c" %lt0 = icmp ult i64 %a0, %e0\0A\00" @.str9910 = private unnamed_addr constant [41 x i8] c" br i1 %lt0, label %lchk, label %rcond\0A\00" @.str9911 = private unnamed_addr constant [7 x i8] c"lchk:\0A\00" @.str9912 = private unnamed_addr constant [43 x i8] c" %p0 = getelementptr i8, ptr %s, i64 %a0\0A\00" @.str9913 = private unnamed_addr constant [26 x i8] c" %c0 = load i8, ptr %p0\0A\00" @.str9914 = private unnamed_addr constant [36 x i8] c" %ws0 = call i1 @lp_is_ws(i8 %c0)\0A\00" @.str9915 = private unnamed_addr constant [41 x i8] c" br i1 %ws0, label %linc, label %rcond\0A\00" @.str9916 = private unnamed_addr constant [7 x i8] c"linc:\0A\00" @.str9917 = private unnamed_addr constant [24 x i8] c" %a1 = add i64 %a0, 1\0A\00" @.str9918 = private unnamed_addr constant [26 x i8] c" store i64 %a1, ptr %sp\0A\00" @.str9919 = private unnamed_addr constant [19 x i8] c" br label %lcond\0A\00" @.str9920 = private unnamed_addr constant [8 x i8] c"rcond:\0A\00" @.str9921 = private unnamed_addr constant [27 x i8] c" %a2 = load i64, ptr %sp\0A\00" @.str9922 = private unnamed_addr constant [27 x i8] c" %e2 = load i64, ptr %ep\0A\00" @.str9923 = private unnamed_addr constant [32 x i8] c" %lt2 = icmp ult i64 %a2, %e2\0A\00" @.str9924 = private unnamed_addr constant [41 x i8] c" br i1 %lt2, label %rchk, label %build\0A\00" @.str9925 = private unnamed_addr constant [7 x i8] c"rchk:\0A\00" @.str9926 = private unnamed_addr constant [25 x i8] c" %em1 = sub i64 %e2, 1\0A\00" @.str9927 = private unnamed_addr constant [44 x i8] c" %p1 = getelementptr i8, ptr %s, i64 %em1\0A\00" @.str9928 = private unnamed_addr constant [26 x i8] c" %c1 = load i8, ptr %p1\0A\00" @.str9929 = private unnamed_addr constant [36 x i8] c" %ws1 = call i1 @lp_is_ws(i8 %c1)\0A\00" @.str9930 = private unnamed_addr constant [41 x i8] c" br i1 %ws1, label %rdec, label %build\0A\00" @.str9931 = private unnamed_addr constant [7 x i8] c"rdec:\0A\00" @.str9932 = private unnamed_addr constant [27 x i8] c" store i64 %em1, ptr %ep\0A\00" @.str9933 = private unnamed_addr constant [19 x i8] c" br label %rcond\0A\00" @.str9934 = private unnamed_addr constant [8 x i8] c"build:\0A\00" @.str9935 = private unnamed_addr constant [27 x i8] c" %st = load i64, ptr %sp\0A\00" @.str9936 = private unnamed_addr constant [27 x i8] c" %en = load i64, ptr %ep\0A\00" @.str9937 = private unnamed_addr constant [27 x i8] c" %len = sub i64 %en, %st\0A\00" @.str9938 = private unnamed_addr constant [25 x i8] c" %sz = add i64 %len, 1\0A\00" @.str9939 = private unnamed_addr constant [39 x i8] c" %out = call ptr @lp_malloc(i64 %sz)\0A\00" @.str9940 = private unnamed_addr constant [44 x i8] c" %src = getelementptr i8, ptr %s, i64 %st\0A\00" @.str9941 = private unnamed_addr constant [50 x i8] c" call ptr @memcpy(ptr %out, ptr %src, i64 %len)\0A\00" @.str9942 = private unnamed_addr constant [46 x i8] c" %tp = getelementptr i8, ptr %out, i64 %len\0A\00" @.str9943 = private unnamed_addr constant [23 x i8] c" store i8 0, ptr %tp\0A\00" @.str9944 = private unnamed_addr constant [16 x i8] c" ret ptr %out\0A\00" @.str9945 = private unnamed_addr constant [3 x i8] c"}\0A\00" @.str9946 = private unnamed_addr constant [30 x i8] c"define i1 @lp_is_ws(i8 %c) {\0A\00" @.str9947 = private unnamed_addr constant [26 x i8] c" %a = icmp eq i8 %c, 32\0A\00" @.str9948 = private unnamed_addr constant [25 x i8] c" %b = icmp eq i8 %c, 9\0A\00" @.str9949 = private unnamed_addr constant [26 x i8] c" %d = icmp eq i8 %c, 10\0A\00" @.str9950 = private unnamed_addr constant [26 x i8] c" %e = icmp eq i8 %c, 13\0A\00" @.str9951 = private unnamed_addr constant [22 x i8] c" %ab = or i1 %a, %b\0A\00" @.str9952 = private unnamed_addr constant [22 x i8] c" %de = or i1 %d, %e\0A\00" @.str9953 = private unnamed_addr constant [23 x i8] c" %r = or i1 %ab, %de\0A\00" @.str9954 = private unnamed_addr constant [13 x i8] c" ret i1 %r\0A\00" @.str9955 = private unnamed_addr constant [3 x i8] c"}\0A\00" @.str9956 = private unnamed_addr constant [47 x i8] c"define ptr @lp_str_repeat(ptr %s, i32 %n32) {\0A\00" @.str9957 = private unnamed_addr constant [8 x i8] c"entry:\0A\00" @.str9958 = private unnamed_addr constant [32 x i8] c" %nneg = icmp slt i32 %n32, 0\0A\00" @.str9959 = private unnamed_addr constant [42 x i8] c" %nn = select i1 %nneg, i32 0, i32 %n32\0A\00" @.str9960 = private unnamed_addr constant [28 x i8] c" %n = zext i32 %nn to i64\0A\00" @.str9961 = private unnamed_addr constant [33 x i8] c" %L = call i64 @strlen(ptr %s)\0A\00" @.str9962 = private unnamed_addr constant [25 x i8] c" %tot = mul i64 %L, %n\0A\00" @.str9963 = private unnamed_addr constant [25 x i8] c" %sz = add i64 %tot, 1\0A\00" @.str9964 = private unnamed_addr constant [39 x i8] c" %out = call ptr @lp_malloc(i64 %sz)\0A\00" @.str9965 = private unnamed_addr constant [20 x i8] c" %ip = alloca i64\0A\00" @.str9966 = private unnamed_addr constant [24 x i8] c" store i64 0, ptr %ip\0A\00" @.str9967 = private unnamed_addr constant [18 x i8] c" br label %cond\0A\00" @.str9968 = private unnamed_addr constant [7 x i8] c"cond:\0A\00" @.str9969 = private unnamed_addr constant [26 x i8] c" %i = load i64, ptr %ip\0A\00" @.str9970 = private unnamed_addr constant [28 x i8] c" %d = icmp ult i64 %i, %n\0A\00" @.str9971 = private unnamed_addr constant [37 x i8] c" br i1 %d, label %body, label %fin\0A\00" @.str9972 = private unnamed_addr constant [7 x i8] c"body:\0A\00" @.str9973 = private unnamed_addr constant [25 x i8] c" %off = mul i64 %i, %L\0A\00" @.str9974 = private unnamed_addr constant [47 x i8] c" %dst = getelementptr i8, ptr %out, i64 %off\0A\00" @.str9975 = private unnamed_addr constant [46 x i8] c" call ptr @memcpy(ptr %dst, ptr %s, i64 %L)\0A\00" @.str9976 = private unnamed_addr constant [23 x i8] c" %i1 = add i64 %i, 1\0A\00" @.str9977 = private unnamed_addr constant [26 x i8] c" store i64 %i1, ptr %ip\0A\00" @.str9978 = private unnamed_addr constant [18 x i8] c" br label %cond\0A\00" @.str9979 = private unnamed_addr constant [6 x i8] c"fin:\0A\00" @.str9980 = private unnamed_addr constant [46 x i8] c" %tp = getelementptr i8, ptr %out, i64 %tot\0A\00" @.str9981 = private unnamed_addr constant [23 x i8] c" store i8 0, ptr %tp\0A\00" @.str9982 = private unnamed_addr constant [16 x i8] c" ret ptr %out\0A\00" @.str9983 = private unnamed_addr constant [3 x i8] c"}\0A\00" @.str9984 = private unnamed_addr constant [54 x i8] c"define ptr @lp_str_pad(ptr %s, i32 %w32, i1 %left) {\0A\00" @.str9985 = private unnamed_addr constant [8 x i8] c"entry:\0A\00" @.str9986 = private unnamed_addr constant [33 x i8] c" %L = call i64 @strlen(ptr %s)\0A\00" @.str9987 = private unnamed_addr constant [30 x i8] c" %w0 = sext i32 %w32 to i64\0A\00" @.str9988 = private unnamed_addr constant [32 x i8] c" %need = icmp ugt i64 %w0, %L\0A\00" @.str9989 = private unnamed_addr constant [39 x i8] c" br i1 %need, label %do, label %copy\0A\00" @.str9990 = private unnamed_addr constant [7 x i8] c"copy:\0A\00" @.str9991 = private unnamed_addr constant [24 x i8] c" %sz0 = add i64 %L, 1\0A\00" @.str9992 = private unnamed_addr constant [39 x i8] c" %o0 = call ptr @lp_malloc(i64 %sz0)\0A\00" @.str9993 = private unnamed_addr constant [23 x i8] c" %e0 = add i64 %L, 0\0A\00" @.str9994 = private unnamed_addr constant [45 x i8] c" call ptr @memcpy(ptr %o0, ptr %s, i64 %L)\0A\00" @.str9995 = private unnamed_addr constant [43 x i8] c" %t0 = getelementptr i8, ptr %o0, i64 %L\0A\00" @.str9996 = private unnamed_addr constant [23 x i8] c" store i8 0, ptr %t0\0A\00" @.str9997 = private unnamed_addr constant [15 x i8] c" ret ptr %o0\0A\00" @.str9998 = private unnamed_addr constant [5 x i8] c"do:\0A\00" @.str9999 = private unnamed_addr constant [26 x i8] c" %pad = sub i64 %w0, %L\0A\00" @.str10000 = private unnamed_addr constant [24 x i8] c" %sz = add i64 %w0, 1\0A\00" @.str10001 = private unnamed_addr constant [39 x i8] c" %out = call ptr @lp_malloc(i64 %sz)\0A\00" @.str10002 = private unnamed_addr constant [48 x i8] c" br i1 %left, label %padleft, label %padright\0A\00" @.str10003 = private unnamed_addr constant [10 x i8] c"padleft:\0A\00" @.str10004 = private unnamed_addr constant [52 x i8] c" call void @lp_fill_sp(ptr %out, i64 0, i64 %pad)\0A\00" @.str10005 = private unnamed_addr constant [48 x i8] c" %dstL = getelementptr i8, ptr %out, i64 %pad\0A\00" @.str10006 = private unnamed_addr constant [47 x i8] c" call ptr @memcpy(ptr %dstL, ptr %s, i64 %L)\0A\00" @.str10007 = private unnamed_addr constant [18 x i8] c" br label %term\0A\00" @.str10008 = private unnamed_addr constant [11 x i8] c"padright:\0A\00" @.str10009 = private unnamed_addr constant [46 x i8] c" call ptr @memcpy(ptr %out, ptr %s, i64 %L)\0A\00" @.str10010 = private unnamed_addr constant [53 x i8] c" call void @lp_fill_sp(ptr %out, i64 %L, i64 %pad)\0A\00" @.str10011 = private unnamed_addr constant [18 x i8] c" br label %term\0A\00" @.str10012 = private unnamed_addr constant [7 x i8] c"term:\0A\00" @.str10013 = private unnamed_addr constant [45 x i8] c" %tp = getelementptr i8, ptr %out, i64 %w0\0A\00" @.str10014 = private unnamed_addr constant [23 x i8] c" store i8 0, ptr %tp\0A\00" @.str10015 = private unnamed_addr constant [16 x i8] c" ret ptr %out\0A\00" @.str10016 = private unnamed_addr constant [3 x i8] c"}\0A\00" @.str10017 = private unnamed_addr constant [61 x i8] c"define void @lp_fill_sp(ptr %buf, i64 %start, i64 %count) {\0A\00" @.str10018 = private unnamed_addr constant [8 x i8] c"entry:\0A\00" @.str10019 = private unnamed_addr constant [20 x i8] c" %ip = alloca i64\0A\00" @.str10020 = private unnamed_addr constant [24 x i8] c" store i64 0, ptr %ip\0A\00" @.str10021 = private unnamed_addr constant [18 x i8] c" br label %cond\0A\00" @.str10022 = private unnamed_addr constant [7 x i8] c"cond:\0A\00" @.str10023 = private unnamed_addr constant [26 x i8] c" %i = load i64, ptr %ip\0A\00" @.str10024 = private unnamed_addr constant [32 x i8] c" %d = icmp ult i64 %i, %count\0A\00" @.str10025 = private unnamed_addr constant [38 x i8] c" br i1 %d, label %body, label %done\0A\00" @.str10026 = private unnamed_addr constant [7 x i8] c"body:\0A\00" @.str10027 = private unnamed_addr constant [29 x i8] c" %off = add i64 %start, %i\0A\00" @.str10028 = private unnamed_addr constant [45 x i8] c" %p = getelementptr i8, ptr %buf, i64 %off\0A\00" @.str10029 = private unnamed_addr constant [23 x i8] c" store i8 32, ptr %p\0A\00" @.str10030 = private unnamed_addr constant [23 x i8] c" %i1 = add i64 %i, 1\0A\00" @.str10031 = private unnamed_addr constant [26 x i8] c" store i64 %i1, ptr %ip\0A\00" @.str10032 = private unnamed_addr constant [18 x i8] c" br label %cond\0A\00" @.str10033 = private unnamed_addr constant [7 x i8] c"done:\0A\00" @.str10034 = private unnamed_addr constant [12 x i8] c" ret void\0A\00" @.str10035 = private unnamed_addr constant [3 x i8] c"}\0A\00" @.str10036 = private unnamed_addr constant [58 x i8] c"define ptr @lp_str_replace(ptr %s, ptr %from, ptr %to) {\0A\00" @.str10037 = private unnamed_addr constant [8 x i8] c"entry:\0A\00" @.str10038 = private unnamed_addr constant [37 x i8] c" %lf = call i64 @strlen(ptr %from)\0A\00" @.str10039 = private unnamed_addr constant [28 x i8] c" %lz = icmp eq i64 %lf, 0\0A\00" @.str10040 = private unnamed_addr constant [42 x i8] c" br i1 %lz, label %copyall, label %scan\0A\00" @.str10041 = private unnamed_addr constant [10 x i8] c"copyall:\0A\00" @.str10042 = private unnamed_addr constant [35 x i8] c" %ls0 = call i64 @strlen(ptr %s)\0A\00" @.str10043 = private unnamed_addr constant [26 x i8] c" %sz0 = add i64 %ls0, 1\0A\00" @.str10044 = private unnamed_addr constant [39 x i8] c" %o0 = call ptr @lp_malloc(i64 %sz0)\0A\00" @.str10045 = private unnamed_addr constant [47 x i8] c" call ptr @memcpy(ptr %o0, ptr %s, i64 %sz0)\0A\00" @.str10046 = private unnamed_addr constant [15 x i8] c" ret ptr %o0\0A\00" @.str10047 = private unnamed_addr constant [7 x i8] c"scan:\0A\00" @.str10048 = private unnamed_addr constant [35 x i8] c" %lt = call i64 @strlen(ptr %to)\0A\00" @.str10049 = private unnamed_addr constant [34 x i8] c" %ls = call i64 @strlen(ptr %s)\0A\00" @.str10050 = private unnamed_addr constant [22 x i8] c" %cntp = alloca i64\0A\00" @.str10051 = private unnamed_addr constant [26 x i8] c" store i64 0, ptr %cntp\0A\00" @.str10052 = private unnamed_addr constant [22 x i8] c" %curp = alloca ptr\0A\00" @.str10053 = private unnamed_addr constant [27 x i8] c" store ptr %s, ptr %curp\0A\00" @.str10054 = private unnamed_addr constant [19 x i8] c" br label %ccond\0A\00" @.str10055 = private unnamed_addr constant [8 x i8] c"ccond:\0A\00" @.str10056 = private unnamed_addr constant [30 x i8] c" %cur = load ptr, ptr %curp\0A\00" @.str10057 = private unnamed_addr constant [48 x i8] c" %hit = call ptr @strstr(ptr %cur, ptr %from)\0A\00" @.str10058 = private unnamed_addr constant [36 x i8] c" %isnull = icmp eq ptr %hit, null\0A\00" @.str10059 = private unnamed_addr constant [44 x i8] c" br i1 %isnull, label %csize, label %cinc\0A\00" @.str10060 = private unnamed_addr constant [7 x i8] c"cinc:\0A\00" @.str10061 = private unnamed_addr constant [29 x i8] c" %c0 = load i64, ptr %cntp\0A\00" @.str10062 = private unnamed_addr constant [24 x i8] c" %c1 = add i64 %c0, 1\0A\00" @.str10063 = private unnamed_addr constant [28 x i8] c" store i64 %c1, ptr %cntp\0A\00" @.str10064 = private unnamed_addr constant [46 x i8] c" %adv = getelementptr i8, ptr %hit, i64 %lf\0A\00" @.str10065 = private unnamed_addr constant [29 x i8] c" store ptr %adv, ptr %curp\0A\00" @.str10066 = private unnamed_addr constant [19 x i8] c" br label %ccond\0A\00" @.str10067 = private unnamed_addr constant [8 x i8] c"csize:\0A\00" @.str10068 = private unnamed_addr constant [30 x i8] c" %cnt = load i64, ptr %cntp\0A\00" @.str10069 = private unnamed_addr constant [29 x i8] c" %delta = sub i64 %lt, %lf\0A\00" @.str10070 = private unnamed_addr constant [32 x i8] c" %grow = mul i64 %cnt, %delta\0A\00" @.str10071 = private unnamed_addr constant [32 x i8] c" %newlen = add i64 %ls, %grow\0A\00" @.str10072 = private unnamed_addr constant [29 x i8] c" %osz = add i64 %newlen, 1\0A\00" @.str10073 = private unnamed_addr constant [40 x i8] c" %out = call ptr @lp_malloc(i64 %osz)\0A\00" @.str10074 = private unnamed_addr constant [22 x i8] c" %srcp = alloca ptr\0A\00" @.str10075 = private unnamed_addr constant [27 x i8] c" store ptr %s, ptr %srcp\0A\00" @.str10076 = private unnamed_addr constant [22 x i8] c" %dstp = alloca ptr\0A\00" @.str10077 = private unnamed_addr constant [29 x i8] c" store ptr %out, ptr %dstp\0A\00" @.str10078 = private unnamed_addr constant [19 x i8] c" br label %bcond\0A\00" @.str10079 = private unnamed_addr constant [8 x i8] c"bcond:\0A\00" @.str10080 = private unnamed_addr constant [30 x i8] c" %src = load ptr, ptr %srcp\0A\00" @.str10081 = private unnamed_addr constant [47 x i8] c" %h2 = call ptr @strstr(ptr %src, ptr %from)\0A\00" @.str10082 = private unnamed_addr constant [31 x i8] c" %n2 = icmp eq ptr %h2, null\0A\00" @.str10083 = private unnamed_addr constant [38 x i8] c" br i1 %n2, label %tail, label %seg\0A\00" @.str10084 = private unnamed_addr constant [6 x i8] c"seg:\0A\00" @.str10085 = private unnamed_addr constant [34 x i8] c" %si = ptrtoint ptr %src to i64\0A\00" @.str10086 = private unnamed_addr constant [33 x i8] c" %hi = ptrtoint ptr %h2 to i64\0A\00" @.str10087 = private unnamed_addr constant [30 x i8] c" %seglen = sub i64 %hi, %si\0A\00" @.str10088 = private unnamed_addr constant [31 x i8] c" %dst0 = load ptr, ptr %dstp\0A\00" @.str10089 = private unnamed_addr constant [54 x i8] c" call ptr @memcpy(ptr %dst0, ptr %src, i64 %seglen)\0A\00" @.str10090 = private unnamed_addr constant [52 x i8] c" %dst1 = getelementptr i8, ptr %dst0, i64 %seglen\0A\00" @.str10091 = private unnamed_addr constant [49 x i8] c" call ptr @memcpy(ptr %dst1, ptr %to, i64 %lt)\0A\00" @.str10092 = private unnamed_addr constant [48 x i8] c" %dst2 = getelementptr i8, ptr %dst1, i64 %lt\0A\00" @.str10093 = private unnamed_addr constant [30 x i8] c" store ptr %dst2, ptr %dstp\0A\00" @.str10094 = private unnamed_addr constant [46 x i8] c" %src2 = getelementptr i8, ptr %h2, i64 %lf\0A\00" @.str10095 = private unnamed_addr constant [30 x i8] c" store ptr %src2, ptr %srcp\0A\00" @.str10096 = private unnamed_addr constant [19 x i8] c" br label %bcond\0A\00" @.str10097 = private unnamed_addr constant [7 x i8] c"tail:\0A\00" @.str10098 = private unnamed_addr constant [31 x i8] c" %src3 = load ptr, ptr %srcp\0A\00" @.str10099 = private unnamed_addr constant [38 x i8] c" %rem = call i64 @strlen(ptr %src3)\0A\00" @.str10100 = private unnamed_addr constant [31 x i8] c" %dst3 = load ptr, ptr %dstp\0A\00" @.str10101 = private unnamed_addr constant [28 x i8] c" %remp1 = add i64 %rem, 1\0A\00" @.str10102 = private unnamed_addr constant [54 x i8] c" call ptr @memcpy(ptr %dst3, ptr %src3, i64 %remp1)\0A\00" @.str10103 = private unnamed_addr constant [16 x i8] c" ret ptr %out\0A\00" @.str10104 = private unnamed_addr constant [3 x i8] c"}\0A\00" @.str10105 = private unnamed_addr constant [45 x i8] c"define ptr @lp_str_join(ptr %h, ptr %sep) {\0A\00" @.str10106 = private unnamed_addr constant [8 x i8] c"entry:\0A\00" @.str10107 = private unnamed_addr constant [62 x i8] c" %lp = getelementptr inbounds %LSlice, ptr %h, i32 0, i32 1\0A\00" @.str10108 = private unnamed_addr constant [30 x i8] c" %len32 = load i32, ptr %lp\0A\00" @.str10109 = private unnamed_addr constant [33 x i8] c" %len = sext i32 %len32 to i64\0A\00" @.str10110 = private unnamed_addr constant [62 x i8] c" %dp = getelementptr inbounds %LSlice, ptr %h, i32 0, i32 0\0A\00" @.str10111 = private unnamed_addr constant [29 x i8] c" %data = load ptr, ptr %dp\0A\00" @.str10112 = private unnamed_addr constant [38 x i8] c" %lsep = call i64 @strlen(ptr %sep)\0A\00" @.str10113 = private unnamed_addr constant [22 x i8] c" %totp = alloca i64\0A\00" @.str10114 = private unnamed_addr constant [26 x i8] c" store i64 0, ptr %totp\0A\00" @.str10115 = private unnamed_addr constant [20 x i8] c" %ip = alloca i64\0A\00" @.str10116 = private unnamed_addr constant [24 x i8] c" store i64 0, ptr %ip\0A\00" @.str10117 = private unnamed_addr constant [19 x i8] c" br label %scond\0A\00" @.str10118 = private unnamed_addr constant [8 x i8] c"scond:\0A\00" @.str10119 = private unnamed_addr constant [26 x i8] c" %i = load i64, ptr %ip\0A\00" @.str10120 = private unnamed_addr constant [30 x i8] c" %d = icmp ult i64 %i, %len\0A\00" @.str10121 = private unnamed_addr constant [40 x i8] c" br i1 %d, label %sbody, label %alloc\0A\00" @.str10122 = private unnamed_addr constant [8 x i8] c"sbody:\0A\00" @.str10123 = private unnamed_addr constant [46 x i8] c" %ep = getelementptr ptr, ptr %data, i64 %i\0A\00" @.str10124 = private unnamed_addr constant [27 x i8] c" %es = load ptr, ptr %ep\0A\00" @.str10125 = private unnamed_addr constant [35 x i8] c" %el = call i64 @strlen(ptr %es)\0A\00" @.str10126 = private unnamed_addr constant [29 x i8] c" %t0 = load i64, ptr %totp\0A\00" @.str10127 = private unnamed_addr constant [26 x i8] c" %t1 = add i64 %t0, %el\0A\00" @.str10128 = private unnamed_addr constant [28 x i8] c" store i64 %t1, ptr %totp\0A\00" @.str10129 = private unnamed_addr constant [23 x i8] c" %i1 = add i64 %i, 1\0A\00" @.str10130 = private unnamed_addr constant [26 x i8] c" store i64 %i1, ptr %ip\0A\00" @.str10131 = private unnamed_addr constant [19 x i8] c" br label %scond\0A\00" @.str10132 = private unnamed_addr constant [8 x i8] c"alloc:\0A\00" @.str10133 = private unnamed_addr constant [30 x i8] c" %nz = icmp ugt i64 %len, 0\0A\00" @.str10134 = private unnamed_addr constant [26 x i8] c" %lm1 = sub i64 %len, 1\0A\00" @.str10135 = private unnamed_addr constant [31 x i8] c" %seps = mul i64 %lm1, %lsep\0A\00" @.str10136 = private unnamed_addr constant [44 x i8] c" %sepsz = select i1 %nz, i64 %seps, i64 0\0A\00" @.str10137 = private unnamed_addr constant [31 x i8] c" %tot0 = load i64, ptr %totp\0A\00" @.str10138 = private unnamed_addr constant [32 x i8] c" %tot = add i64 %tot0, %sepsz\0A\00" @.str10139 = private unnamed_addr constant [26 x i8] c" %osz = add i64 %tot, 1\0A\00" @.str10140 = private unnamed_addr constant [40 x i8] c" %out = call ptr @lp_malloc(i64 %osz)\0A\00" @.str10141 = private unnamed_addr constant [22 x i8] c" %dstp = alloca ptr\0A\00" @.str10142 = private unnamed_addr constant [29 x i8] c" store ptr %out, ptr %dstp\0A\00" @.str10143 = private unnamed_addr constant [20 x i8] c" %jp = alloca i64\0A\00" @.str10144 = private unnamed_addr constant [24 x i8] c" store i64 0, ptr %jp\0A\00" @.str10145 = private unnamed_addr constant [19 x i8] c" br label %jcond\0A\00" @.str10146 = private unnamed_addr constant [8 x i8] c"jcond:\0A\00" @.str10147 = private unnamed_addr constant [26 x i8] c" %j = load i64, ptr %jp\0A\00" @.str10148 = private unnamed_addr constant [31 x i8] c" %d2 = icmp ult i64 %j, %len\0A\00" @.str10149 = private unnamed_addr constant [40 x i8] c" br i1 %d2, label %jbody, label %jfin\0A\00" @.str10150 = private unnamed_addr constant [8 x i8] c"jbody:\0A\00" @.str10151 = private unnamed_addr constant [29 x i8] c" %jnz = icmp ugt i64 %j, 0\0A\00" @.str10152 = private unnamed_addr constant [43 x i8] c" br i1 %jnz, label %putsep, label %putel\0A\00" @.str10153 = private unnamed_addr constant [9 x i8] c"putsep:\0A\00" @.str10154 = private unnamed_addr constant [30 x i8] c" %ds0 = load ptr, ptr %dstp\0A\00" @.str10155 = private unnamed_addr constant [51 x i8] c" call ptr @memcpy(ptr %ds0, ptr %sep, i64 %lsep)\0A\00" @.str10156 = private unnamed_addr constant [48 x i8] c" %ds1 = getelementptr i8, ptr %ds0, i64 %lsep\0A\00" @.str10157 = private unnamed_addr constant [29 x i8] c" store ptr %ds1, ptr %dstp\0A\00" @.str10158 = private unnamed_addr constant [19 x i8] c" br label %putel\0A\00" @.str10159 = private unnamed_addr constant [8 x i8] c"putel:\0A\00" @.str10160 = private unnamed_addr constant [47 x i8] c" %ep2 = getelementptr ptr, ptr %data, i64 %j\0A\00" @.str10161 = private unnamed_addr constant [29 x i8] c" %es2 = load ptr, ptr %ep2\0A\00" @.str10162 = private unnamed_addr constant [37 x i8] c" %el2 = call i64 @strlen(ptr %es2)\0A\00" @.str10163 = private unnamed_addr constant [30 x i8] c" %ds2 = load ptr, ptr %dstp\0A\00" @.str10164 = private unnamed_addr constant [50 x i8] c" call ptr @memcpy(ptr %ds2, ptr %es2, i64 %el2)\0A\00" @.str10165 = private unnamed_addr constant [47 x i8] c" %ds3 = getelementptr i8, ptr %ds2, i64 %el2\0A\00" @.str10166 = private unnamed_addr constant [29 x i8] c" store ptr %ds3, ptr %dstp\0A\00" @.str10167 = private unnamed_addr constant [23 x i8] c" %j1 = add i64 %j, 1\0A\00" @.str10168 = private unnamed_addr constant [26 x i8] c" store i64 %j1, ptr %jp\0A\00" @.str10169 = private unnamed_addr constant [19 x i8] c" br label %jcond\0A\00" @.str10170 = private unnamed_addr constant [7 x i8] c"jfin:\0A\00" @.str10171 = private unnamed_addr constant [30 x i8] c" %dsf = load ptr, ptr %dstp\0A\00" @.str10172 = private unnamed_addr constant [24 x i8] c" store i8 0, ptr %dsf\0A\00" @.str10173 = private unnamed_addr constant [16 x i8] c" ret ptr %out\0A\00" @.str10174 = private unnamed_addr constant [3 x i8] c"}\0A\00" @.str10175 = private unnamed_addr constant [46 x i8] c"define ptr @lp_str_split(ptr %s, ptr %sep) {\0A\00" @.str10176 = private unnamed_addr constant [8 x i8] c"entry:\0A\00" @.str10177 = private unnamed_addr constant [38 x i8] c" %lsep = call i64 @strlen(ptr %sep)\0A\00" @.str10178 = private unnamed_addr constant [22 x i8] c" %cntp = alloca i64\0A\00" @.str10179 = private unnamed_addr constant [26 x i8] c" store i64 1, ptr %cntp\0A\00" @.str10180 = private unnamed_addr constant [22 x i8] c" %curp = alloca ptr\0A\00" @.str10181 = private unnamed_addr constant [27 x i8] c" store ptr %s, ptr %curp\0A\00" @.str10182 = private unnamed_addr constant [19 x i8] c" br label %ccond\0A\00" @.str10183 = private unnamed_addr constant [8 x i8] c"ccond:\0A\00" @.str10184 = private unnamed_addr constant [30 x i8] c" %cur = load ptr, ptr %curp\0A\00" @.str10185 = private unnamed_addr constant [47 x i8] c" %hit = call ptr @strstr(ptr %cur, ptr %sep)\0A\00" @.str10186 = private unnamed_addr constant [36 x i8] c" %isnull = icmp eq ptr %hit, null\0A\00" @.str10187 = private unnamed_addr constant [41 x i8] c" br i1 %isnull, label %mk, label %cinc\0A\00" @.str10188 = private unnamed_addr constant [7 x i8] c"cinc:\0A\00" @.str10189 = private unnamed_addr constant [29 x i8] c" %c0 = load i64, ptr %cntp\0A\00" @.str10190 = private unnamed_addr constant [24 x i8] c" %c1 = add i64 %c0, 1\0A\00" @.str10191 = private unnamed_addr constant [28 x i8] c" store i64 %c1, ptr %cntp\0A\00" @.str10192 = private unnamed_addr constant [48 x i8] c" %adv = getelementptr i8, ptr %hit, i64 %lsep\0A\00" @.str10193 = private unnamed_addr constant [29 x i8] c" store ptr %adv, ptr %curp\0A\00" @.str10194 = private unnamed_addr constant [19 x i8] c" br label %ccond\0A\00" @.str10195 = private unnamed_addr constant [5 x i8] c"mk:\0A\00" @.str10196 = private unnamed_addr constant [30 x i8] c" %cnt = load i64, ptr %cntp\0A\00" @.str10197 = private unnamed_addr constant [38 x i8] c" %hdr = call ptr @lp_malloc(i64 16)\0A\00" @.str10198 = private unnamed_addr constant [28 x i8] c" %arrsz = mul i64 %cnt, 8\0A\00" @.str10199 = private unnamed_addr constant [42 x i8] c" %arr = call ptr @lp_malloc(i64 %arrsz)\0A\00" @.str10200 = private unnamed_addr constant [64 x i8] c" %d0 = getelementptr inbounds %LSlice, ptr %hdr, i32 0, i32 0\0A\00" @.str10201 = private unnamed_addr constant [27 x i8] c" store ptr %arr, ptr %d0\0A\00" @.str10202 = private unnamed_addr constant [34 x i8] c" %cnt32 = trunc i64 %cnt to i32\0A\00" @.str10203 = private unnamed_addr constant [64 x i8] c" %d1 = getelementptr inbounds %LSlice, ptr %hdr, i32 0, i32 1\0A\00" @.str10204 = private unnamed_addr constant [29 x i8] c" store i32 %cnt32, ptr %d1\0A\00" @.str10205 = private unnamed_addr constant [64 x i8] c" %d2 = getelementptr inbounds %LSlice, ptr %hdr, i32 0, i32 2\0A\00" @.str10206 = private unnamed_addr constant [29 x i8] c" store i32 %cnt32, ptr %d2\0A\00" @.str10207 = private unnamed_addr constant [22 x i8] c" %srcp = alloca ptr\0A\00" @.str10208 = private unnamed_addr constant [27 x i8] c" store ptr %s, ptr %srcp\0A\00" @.str10209 = private unnamed_addr constant [20 x i8] c" %ip = alloca i64\0A\00" @.str10210 = private unnamed_addr constant [24 x i8] c" store i64 0, ptr %ip\0A\00" @.str10211 = private unnamed_addr constant [19 x i8] c" br label %fcond\0A\00" @.str10212 = private unnamed_addr constant [8 x i8] c"fcond:\0A\00" @.str10213 = private unnamed_addr constant [26 x i8] c" %i = load i64, ptr %ip\0A\00" @.str10214 = private unnamed_addr constant [31 x i8] c" %lt = icmp ult i64 %i, %cnt\0A\00" @.str10215 = private unnamed_addr constant [40 x i8] c" br i1 %lt, label %fbody, label %done\0A\00" @.str10216 = private unnamed_addr constant [8 x i8] c"fbody:\0A\00" @.str10217 = private unnamed_addr constant [30 x i8] c" %src = load ptr, ptr %srcp\0A\00" @.str10218 = private unnamed_addr constant [46 x i8] c" %h2 = call ptr @strstr(ptr %src, ptr %sep)\0A\00" @.str10219 = private unnamed_addr constant [31 x i8] c" %n2 = icmp eq ptr %h2, null\0A\00" @.str10220 = private unnamed_addr constant [38 x i8] c" br i1 %n2, label %last, label %mid\0A\00" @.str10221 = private unnamed_addr constant [6 x i8] c"mid:\0A\00" @.str10222 = private unnamed_addr constant [34 x i8] c" %si = ptrtoint ptr %src to i64\0A\00" @.str10223 = private unnamed_addr constant [33 x i8] c" %hi = ptrtoint ptr %h2 to i64\0A\00" @.str10224 = private unnamed_addr constant [30 x i8] c" %seglen = sub i64 %hi, %si\0A\00" @.str10225 = private unnamed_addr constant [19 x i8] c" br label %store\0A\00" @.str10226 = private unnamed_addr constant [7 x i8] c"last:\0A\00" @.str10227 = private unnamed_addr constant [37 x i8] c" %rem = call i64 @strlen(ptr %src)\0A\00" @.str10228 = private unnamed_addr constant [19 x i8] c" br label %store\0A\00" @.str10229 = private unnamed_addr constant [8 x i8] c"store:\0A\00" @.str10230 = private unnamed_addr constant [53 x i8] c" %seg = phi i64 [ %seglen, %mid ], [ %rem, %last ]\0A\00" @.str10231 = private unnamed_addr constant [26 x i8] c" %ssz = add i64 %seg, 1\0A\00" @.str10232 = private unnamed_addr constant [40 x i8] c" %sub = call ptr @lp_malloc(i64 %ssz)\0A\00" @.str10233 = private unnamed_addr constant [31 x i8] c" %src2 = load ptr, ptr %srcp\0A\00" @.str10234 = private unnamed_addr constant [51 x i8] c" call ptr @memcpy(ptr %sub, ptr %src2, i64 %seg)\0A\00" @.str10235 = private unnamed_addr constant [46 x i8] c" %tp = getelementptr i8, ptr %sub, i64 %seg\0A\00" @.str10236 = private unnamed_addr constant [23 x i8] c" store i8 0, ptr %tp\0A\00" @.str10237 = private unnamed_addr constant [47 x i8] c" %slot = getelementptr ptr, ptr %arr, i64 %i\0A\00" @.str10238 = private unnamed_addr constant [29 x i8] c" store ptr %sub, ptr %slot\0A\00" @.str10239 = private unnamed_addr constant [48 x i8] c" %adv2 = getelementptr i8, ptr %h2, i64 %lsep\0A\00" @.str10240 = private unnamed_addr constant [30 x i8] c" store ptr %adv2, ptr %srcp\0A\00" @.str10241 = private unnamed_addr constant [23 x i8] c" %i1 = add i64 %i, 1\0A\00" @.str10242 = private unnamed_addr constant [26 x i8] c" store i64 %i1, ptr %ip\0A\00" @.str10243 = private unnamed_addr constant [19 x i8] c" br label %fcond\0A\00" @.str10244 = private unnamed_addr constant [7 x i8] c"done:\0A\00" @.str10245 = private unnamed_addr constant [16 x i8] c" ret ptr %hdr\0A\00" @.str10246 = private unnamed_addr constant [3 x i8] c"}\0A\00" @.str10247 = private unnamed_addr constant [3 x i8] c"of\00" @.str10248 = private unnamed_addr constant [6 x i8] c"fnv1a\00" @.str10249 = private unnamed_addr constant [6 x i8] c"crc32\00" @.str10250 = private unnamed_addr constant [4 x i8] c"mix\00" @.str10251 = private unnamed_addr constant [8 x i8] c"combine\00" @.str10252 = private unnamed_addr constant [5 x i8] c"of64\00" @.str10253 = private unnamed_addr constant [9 x i8] c"fnv1a_64\00" @.str10254 = private unnamed_addr constant [6 x i8] c"mix64\00" @.str10255 = private unnamed_addr constant [10 x i8] c"lshr i32 \00" @.str10256 = private unnamed_addr constant [14 x i8] c"hash_mix_code\00" @.str10257 = private unnamed_addr constant [5 x i8] c", 16\00" @.str10258 = private unnamed_addr constant [9 x i8] c"xor i32 \00" @.str10259 = private unnamed_addr constant [3 x i8] c", \00" @.str10260 = private unnamed_addr constant [9 x i8] c"mul i32 \00" @.str10261 = private unnamed_addr constant [14 x i8] c", -2048144789\00" @.str10262 = private unnamed_addr constant [10 x i8] c"lshr i32 \00" @.str10263 = private unnamed_addr constant [5 x i8] c", 13\00" @.str10264 = private unnamed_addr constant [9 x i8] c"xor i32 \00" @.str10265 = private unnamed_addr constant [3 x i8] c", \00" @.str10266 = private unnamed_addr constant [9 x i8] c"mul i32 \00" @.str10267 = private unnamed_addr constant [14 x i8] c", -1028477387\00" @.str10268 = private unnamed_addr constant [10 x i8] c"lshr i32 \00" @.str10269 = private unnamed_addr constant [5 x i8] c", 16\00" @.str10270 = private unnamed_addr constant [9 x i8] c"xor i32 \00" @.str10271 = private unnamed_addr constant [3 x i8] c", \00" @.str10272 = private unnamed_addr constant [10 x i8] c"lshr i64 \00" @.str10273 = private unnamed_addr constant [16 x i8] c"hash_mix64_code\00" @.str10274 = private unnamed_addr constant [5 x i8] c", 33\00" @.str10275 = private unnamed_addr constant [9 x i8] c"xor i64 \00" @.str10276 = private unnamed_addr constant [3 x i8] c", \00" @.str10277 = private unnamed_addr constant [9 x i8] c"mul i64 \00" @.str10278 = private unnamed_addr constant [21 x i8] c", -49064778989728563\00" @.str10279 = private unnamed_addr constant [10 x i8] c"lshr i64 \00" @.str10280 = private unnamed_addr constant [5 x i8] c", 33\00" @.str10281 = private unnamed_addr constant [9 x i8] c"xor i64 \00" @.str10282 = private unnamed_addr constant [3 x i8] c", \00" @.str10283 = private unnamed_addr constant [9 x i8] c"mul i64 \00" @.str10284 = private unnamed_addr constant [23 x i8] c", -4265267296055464877\00" @.str10285 = private unnamed_addr constant [10 x i8] c"lshr i64 \00" @.str10286 = private unnamed_addr constant [5 x i8] c", 33\00" @.str10287 = private unnamed_addr constant [9 x i8] c"xor i64 \00" @.str10288 = private unnamed_addr constant [3 x i8] c", \00" @.str10289 = private unnamed_addr constant [3 x i8] c"of\00" @.str10290 = private unnamed_addr constant [6 x i8] c"fnv1a\00" @.str10291 = private unnamed_addr constant [55 x i8] c"build/cfree/selfhost.ludic:17958: index out of range: \00" @.str10292 = private unnamed_addr constant [13 x i8] c"emit_hash_ns\00" @.str10293 = private unnamed_addr constant [29 x i8] c"call i32 @lp_hash_fnv1a(ptr \00" @.str10294 = private unnamed_addr constant [2 x i8] c")\00" @.str10295 = private unnamed_addr constant [4 x i8] c"int\00" @.str10296 = private unnamed_addr constant [5 x i8] c"of64\00" @.str10297 = private unnamed_addr constant [9 x i8] c"fnv1a_64\00" @.str10298 = private unnamed_addr constant [55 x i8] c"build/cfree/selfhost.ludic:17963: index out of range: \00" @.str10299 = private unnamed_addr constant [32 x i8] c"call i64 @lp_hash_fnv1a_64(ptr \00" @.str10300 = private unnamed_addr constant [2 x i8] c")\00" @.str10301 = private unnamed_addr constant [5 x i8] c"long\00" @.str10302 = private unnamed_addr constant [6 x i8] c"mix64\00" @.str10303 = private unnamed_addr constant [55 x i8] c"build/cfree/selfhost.ludic:17967: index out of range: \00" @.str10304 = private unnamed_addr constant [5 x i8] c"long\00" @.str10305 = private unnamed_addr constant [6 x i8] c"crc32\00" @.str10306 = private unnamed_addr constant [55 x i8] c"build/cfree/selfhost.ludic:17972: index out of range: \00" @.str10307 = private unnamed_addr constant [29 x i8] c"call i32 @lp_hash_crc32(ptr \00" @.str10308 = private unnamed_addr constant [2 x i8] c")\00" @.str10309 = private unnamed_addr constant [4 x i8] c"int\00" @.str10310 = private unnamed_addr constant [4 x i8] c"mix\00" @.str10311 = private unnamed_addr constant [55 x i8] c"build/cfree/selfhost.ludic:17976: index out of range: \00" @.str10312 = private unnamed_addr constant [4 x i8] c"int\00" @.str10313 = private unnamed_addr constant [2 x i8] c"0\00" @.str10314 = private unnamed_addr constant [55 x i8] c"build/cfree/selfhost.ludic:17986: index out of range: \00" @.str10315 = private unnamed_addr constant [9 x i8] c"add i32 \00" @.str10316 = private unnamed_addr constant [14 x i8] c", -1640531527\00" @.str10317 = private unnamed_addr constant [9 x i8] c"shl i32 \00" @.str10318 = private unnamed_addr constant [4 x i8] c", 6\00" @.str10319 = private unnamed_addr constant [10 x i8] c"lshr i32 \00" @.str10320 = private unnamed_addr constant [4 x i8] c", 2\00" @.str10321 = private unnamed_addr constant [9 x i8] c"add i32 \00" @.str10322 = private unnamed_addr constant [3 x i8] c", \00" @.str10323 = private unnamed_addr constant [9 x i8] c"add i32 \00" @.str10324 = private unnamed_addr constant [3 x i8] c", \00" @.str10325 = private unnamed_addr constant [9 x i8] c"xor i32 \00" @.str10326 = private unnamed_addr constant [3 x i8] c", \00" @.str10327 = private unnamed_addr constant [4 x i8] c"int\00" @.str10328 = private unnamed_addr constant [37 x i8] c"define i32 @lp_hash_fnv1a(ptr %s) {\0A\00" @.str10329 = private unnamed_addr constant [8 x i8] c"entry:\0A\00" @.str10330 = private unnamed_addr constant [20 x i8] c" %hp = alloca i32\0A\00" @.str10331 = private unnamed_addr constant [34 x i8] c" store i32 -2128831035, ptr %hp\0A\00" @.str10332 = private unnamed_addr constant [20 x i8] c" %ip = alloca i64\0A\00" @.str10333 = private unnamed_addr constant [24 x i8] c" store i64 0, ptr %ip\0A\00" @.str10334 = private unnamed_addr constant [18 x i8] c" br label %cond\0A\00" @.str10335 = private unnamed_addr constant [7 x i8] c"cond:\0A\00" @.str10336 = private unnamed_addr constant [26 x i8] c" %i = load i64, ptr %ip\0A\00" @.str10337 = private unnamed_addr constant [41 x i8] c" %p = getelementptr i8, ptr %s, i64 %i\0A\00" @.str10338 = private unnamed_addr constant [24 x i8] c" %c = load i8, ptr %p\0A\00" @.str10339 = private unnamed_addr constant [25 x i8] c" %z = icmp eq i8 %c, 0\0A\00" @.str10340 = private unnamed_addr constant [38 x i8] c" br i1 %z, label %done, label %body\0A\00" @.str10341 = private unnamed_addr constant [7 x i8] c"body:\0A\00" @.str10342 = private unnamed_addr constant [27 x i8] c" %ce = zext i8 %c to i32\0A\00" @.str10343 = private unnamed_addr constant [26 x i8] c" %h = load i32, ptr %hp\0A\00" @.str10344 = private unnamed_addr constant [24 x i8] c" %x = xor i32 %h, %ce\0A\00" @.str10345 = private unnamed_addr constant [29 x i8] c" %m = mul i32 %x, 16777619\0A\00" @.str10346 = private unnamed_addr constant [25 x i8] c" store i32 %m, ptr %hp\0A\00" @.str10347 = private unnamed_addr constant [23 x i8] c" %i1 = add i64 %i, 1\0A\00" @.str10348 = private unnamed_addr constant [26 x i8] c" store i64 %i1, ptr %ip\0A\00" @.str10349 = private unnamed_addr constant [18 x i8] c" br label %cond\0A\00" @.str10350 = private unnamed_addr constant [7 x i8] c"done:\0A\00" @.str10351 = private unnamed_addr constant [27 x i8] c" %hr = load i32, ptr %hp\0A\00" @.str10352 = private unnamed_addr constant [15 x i8] c" ret i32 %hr\0A\00" @.str10353 = private unnamed_addr constant [3 x i8] c"}\0A\00" @.str10354 = private unnamed_addr constant [40 x i8] c"define i64 @lp_hash_fnv1a_64(ptr %s) {\0A\00" @.str10355 = private unnamed_addr constant [8 x i8] c"entry:\0A\00" @.str10356 = private unnamed_addr constant [20 x i8] c" %hp = alloca i64\0A\00" @.str10357 = private unnamed_addr constant [43 x i8] c" store i64 -3750763034362895579, ptr %hp\0A\00" @.str10358 = private unnamed_addr constant [20 x i8] c" %ip = alloca i64\0A\00" @.str10359 = private unnamed_addr constant [24 x i8] c" store i64 0, ptr %ip\0A\00" @.str10360 = private unnamed_addr constant [18 x i8] c" br label %cond\0A\00" @.str10361 = private unnamed_addr constant [7 x i8] c"cond:\0A\00" @.str10362 = private unnamed_addr constant [26 x i8] c" %i = load i64, ptr %ip\0A\00" @.str10363 = private unnamed_addr constant [41 x i8] c" %p = getelementptr i8, ptr %s, i64 %i\0A\00" @.str10364 = private unnamed_addr constant [24 x i8] c" %c = load i8, ptr %p\0A\00" @.str10365 = private unnamed_addr constant [25 x i8] c" %z = icmp eq i8 %c, 0\0A\00" @.str10366 = private unnamed_addr constant [38 x i8] c" br i1 %z, label %done, label %body\0A\00" @.str10367 = private unnamed_addr constant [7 x i8] c"body:\0A\00" @.str10368 = private unnamed_addr constant [27 x i8] c" %ce = zext i8 %c to i64\0A\00" @.str10369 = private unnamed_addr constant [26 x i8] c" %h = load i64, ptr %hp\0A\00" @.str10370 = private unnamed_addr constant [24 x i8] c" %x = xor i64 %h, %ce\0A\00" @.str10371 = private unnamed_addr constant [34 x i8] c" %m = mul i64 %x, 1099511628211\0A\00" @.str10372 = private unnamed_addr constant [25 x i8] c" store i64 %m, ptr %hp\0A\00" @.str10373 = private unnamed_addr constant [23 x i8] c" %i1 = add i64 %i, 1\0A\00" @.str10374 = private unnamed_addr constant [26 x i8] c" store i64 %i1, ptr %ip\0A\00" @.str10375 = private unnamed_addr constant [18 x i8] c" br label %cond\0A\00" @.str10376 = private unnamed_addr constant [7 x i8] c"done:\0A\00" @.str10377 = private unnamed_addr constant [27 x i8] c" %hr = load i64, ptr %hp\0A\00" @.str10378 = private unnamed_addr constant [15 x i8] c" ret i64 %hr\0A\00" @.str10379 = private unnamed_addr constant [3 x i8] c"}\0A\00" @.str10380 = private unnamed_addr constant [37 x i8] c"define i32 @lp_hash_crc32(ptr %s) {\0A\00" @.str10381 = private unnamed_addr constant [8 x i8] c"entry:\0A\00" @.str10382 = private unnamed_addr constant [20 x i8] c" %cp = alloca i32\0A\00" @.str10383 = private unnamed_addr constant [25 x i8] c" store i32 -1, ptr %cp\0A\00" @.str10384 = private unnamed_addr constant [20 x i8] c" %ip = alloca i64\0A\00" @.str10385 = private unnamed_addr constant [24 x i8] c" store i64 0, ptr %ip\0A\00" @.str10386 = private unnamed_addr constant [20 x i8] c" %kp = alloca i32\0A\00" @.str10387 = private unnamed_addr constant [18 x i8] c" br label %cond\0A\00" @.str10388 = private unnamed_addr constant [7 x i8] c"cond:\0A\00" @.str10389 = private unnamed_addr constant [26 x i8] c" %i = load i64, ptr %ip\0A\00" @.str10390 = private unnamed_addr constant [41 x i8] c" %p = getelementptr i8, ptr %s, i64 %i\0A\00" @.str10391 = private unnamed_addr constant [25 x i8] c" %ch = load i8, ptr %p\0A\00" @.str10392 = private unnamed_addr constant [26 x i8] c" %z = icmp eq i8 %ch, 0\0A\00" @.str10393 = private unnamed_addr constant [38 x i8] c" br i1 %z, label %done, label %body\0A\00" @.str10394 = private unnamed_addr constant [7 x i8] c"body:\0A\00" @.str10395 = private unnamed_addr constant [28 x i8] c" %ce = zext i8 %ch to i32\0A\00" @.str10396 = private unnamed_addr constant [27 x i8] c" %c0 = load i32, ptr %cp\0A\00" @.str10397 = private unnamed_addr constant [26 x i8] c" %cx = xor i32 %c0, %ce\0A\00" @.str10398 = private unnamed_addr constant [26 x i8] c" store i32 %cx, ptr %cp\0A\00" @.str10399 = private unnamed_addr constant [24 x i8] c" store i32 0, ptr %kp\0A\00" @.str10400 = private unnamed_addr constant [17 x i8] c" br label %bit\0A\00" @.str10401 = private unnamed_addr constant [6 x i8] c"bit:\0A\00" @.str10402 = private unnamed_addr constant [26 x i8] c" %k = load i32, ptr %kp\0A\00" @.str10403 = private unnamed_addr constant [28 x i8] c" %kd = icmp slt i32 %k, 8\0A\00" @.str10404 = private unnamed_addr constant [45 x i8] c" br i1 %kd, label %bitbody, label %bitdone\0A\00" @.str10405 = private unnamed_addr constant [10 x i8] c"bitbody:\0A\00" @.str10406 = private unnamed_addr constant [27 x i8] c" %c1 = load i32, ptr %cp\0A\00" @.str10407 = private unnamed_addr constant [24 x i8] c" %lb = and i32 %c1, 1\0A\00" @.str10408 = private unnamed_addr constant [25 x i8] c" %ls = lshr i32 %c1, 1\0A\00" @.str10409 = private unnamed_addr constant [29 x i8] c" %ism = icmp eq i32 %lb, 1\0A\00" @.str10410 = private unnamed_addr constant [47 x i8] c" %px = select i1 %ism, i32 -306674912, i32 0\0A\00" @.str10411 = private unnamed_addr constant [26 x i8] c" %c2 = xor i32 %ls, %px\0A\00" @.str10412 = private unnamed_addr constant [26 x i8] c" store i32 %c2, ptr %cp\0A\00" @.str10413 = private unnamed_addr constant [23 x i8] c" %k1 = add i32 %k, 1\0A\00" @.str10414 = private unnamed_addr constant [26 x i8] c" store i32 %k1, ptr %kp\0A\00" @.str10415 = private unnamed_addr constant [17 x i8] c" br label %bit\0A\00" @.str10416 = private unnamed_addr constant [10 x i8] c"bitdone:\0A\00" @.str10417 = private unnamed_addr constant [23 x i8] c" %i1 = add i64 %i, 1\0A\00" @.str10418 = private unnamed_addr constant [26 x i8] c" store i64 %i1, ptr %ip\0A\00" @.str10419 = private unnamed_addr constant [18 x i8] c" br label %cond\0A\00" @.str10420 = private unnamed_addr constant [7 x i8] c"done:\0A\00" @.str10421 = private unnamed_addr constant [27 x i8] c" %cf = load i32, ptr %cp\0A\00" @.str10422 = private unnamed_addr constant [24 x i8] c" %r = xor i32 %cf, -1\0A\00" @.str10423 = private unnamed_addr constant [14 x i8] c" ret i32 %r\0A\00" @.str10424 = private unnamed_addr constant [3 x i8] c"}\0A\00" @.str10425 = private unnamed_addr constant [7 x i8] c"sha256\00" @.str10426 = private unnamed_addr constant [12 x i8] c"hmac_sha256\00" @.str10427 = private unnamed_addr constant [12 x i8] c"verify_hmac\00" @.str10428 = private unnamed_addr constant [4 x i8] c"hex\00" @.str10429 = private unnamed_addr constant [9 x i8] c"ct_equal\00" @.str10430 = private unnamed_addr constant [13 x i8] c"random_bytes\00" @.str10431 = private unnamed_addr constant [11 x i8] c"random_hex\00" @.str10432 = private unnamed_addr constant [11 x i8] c"random_u32\00" @.str10433 = private unnamed_addr constant [7 x i8] c"base64\00" @.str10434 = private unnamed_addr constant [7 x i8] c"sha256\00" @.str10435 = private unnamed_addr constant [55 x i8] c"build/cfree/selfhost.ludic:18149: index out of range: \00" @.str10436 = private unnamed_addr constant [15 x i8] c"emit_crypto_ns\00" @.str10437 = private unnamed_addr constant [29 x i8] c"call ptr @lp_sha256_hex(ptr \00" @.str10438 = private unnamed_addr constant [2 x i8] c")\00" @.str10439 = private unnamed_addr constant [7 x i8] c"string\00" @.str10440 = private unnamed_addr constant [12 x i8] c"hmac_sha256\00" @.str10441 = private unnamed_addr constant [55 x i8] c"build/cfree/selfhost.ludic:18153: index out of range: \00" @.str10442 = private unnamed_addr constant [55 x i8] c"build/cfree/selfhost.ludic:18153: index out of range: \00" @.str10443 = private unnamed_addr constant [34 x i8] c"call ptr @lp_hmac_sha256_hex(ptr \00" @.str10444 = private unnamed_addr constant [7 x i8] c", ptr \00" @.str10445 = private unnamed_addr constant [2 x i8] c")\00" @.str10446 = private unnamed_addr constant [7 x i8] c"string\00" @.str10447 = private unnamed_addr constant [4 x i8] c"hex\00" @.str10448 = private unnamed_addr constant [55 x i8] c"build/cfree/selfhost.ludic:18157: index out of range: \00" @.str10449 = private unnamed_addr constant [26 x i8] c"call ptr @lp_str_hex(ptr \00" @.str10450 = private unnamed_addr constant [2 x i8] c")\00" @.str10451 = private unnamed_addr constant [7 x i8] c"string\00" @.str10452 = private unnamed_addr constant [9 x i8] c"ct_equal\00" @.str10453 = private unnamed_addr constant [55 x i8] c"build/cfree/selfhost.ludic:18161: index out of range: \00" @.str10454 = private unnamed_addr constant [55 x i8] c"build/cfree/selfhost.ludic:18161: index out of range: \00" @.str10455 = private unnamed_addr constant [27 x i8] c"call i32 @lp_ct_streq(ptr \00" @.str10456 = private unnamed_addr constant [7 x i8] c", ptr \00" @.str10457 = private unnamed_addr constant [2 x i8] c")\00" @.str10458 = private unnamed_addr constant [5 x i8] c"bool\00" @.str10459 = private unnamed_addr constant [13 x i8] c"random_bytes\00" @.str10460 = private unnamed_addr constant [11 x i8] c"random_hex\00" @.str10461 = private unnamed_addr constant [55 x i8] c"build/cfree/selfhost.ludic:18168: index out of range: \00" @.str10462 = private unnamed_addr constant [10 x i8] c"sext i32 \00" @.str10463 = private unnamed_addr constant [8 x i8] c" to i64\00" @.str10464 = private unnamed_addr constant [29 x i8] c"call ptr @lp_random_hex(i64 \00" @.str10465 = private unnamed_addr constant [2 x i8] c")\00" @.str10466 = private unnamed_addr constant [7 x i8] c"string\00" @.str10467 = private unnamed_addr constant [11 x i8] c"random_u32\00" @.str10468 = private unnamed_addr constant [26 x i8] c"call i32 @lp_random_u32()\00" @.str10469 = private unnamed_addr constant [4 x i8] c"int\00" @.str10470 = private unnamed_addr constant [7 x i8] c"base64\00" @.str10471 = private unnamed_addr constant [55 x i8] c"build/cfree/selfhost.ludic:18176: index out of range: \00" @.str10472 = private unnamed_addr constant [25 x i8] c"call ptr @lp_base64(ptr \00" @.str10473 = private unnamed_addr constant [2 x i8] c")\00" @.str10474 = private unnamed_addr constant [7 x i8] c"string\00" @.str10475 = private unnamed_addr constant [55 x i8] c"build/cfree/selfhost.ludic:18182: index out of range: \00" @.str10476 = private unnamed_addr constant [55 x i8] c"build/cfree/selfhost.ludic:18182: index out of range: \00" @.str10477 = private unnamed_addr constant [55 x i8] c"build/cfree/selfhost.ludic:18182: index out of range: \00" @.str10478 = private unnamed_addr constant [34 x i8] c"call ptr @lp_hmac_sha256_hex(ptr \00" @.str10479 = private unnamed_addr constant [7 x i8] c", ptr \00" @.str10480 = private unnamed_addr constant [2 x i8] c")\00" @.str10481 = private unnamed_addr constant [27 x i8] c"call i32 @lp_ct_streq(ptr \00" @.str10482 = private unnamed_addr constant [7 x i8] c", ptr \00" @.str10483 = private unnamed_addr constant [2 x i8] c")\00" @.str10484 = private unnamed_addr constant [5 x i8] c"bool\00" @.str10485 = 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" @.str10486 = private unnamed_addr constant [41 x i8] c"define i32 @lp_rotr32(i32 %x, i32 %n) {\0A\00" @.str10487 = 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" @.str10488 = private unnamed_addr constant [60 x i8] c"define void @lp_sha256_buf(ptr %msg, i64 %len, ptr %out) {\0A\00" @.str10489 = private unnamed_addr constant [8 x i8] c"entry:\0A\00" @.str10490 = private unnamed_addr constant [50 x i8] c" %H = alloca [8 x i32]\0A %W = alloca [64 x i32]\0A\00" @.str10491 = 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" @.str10492 = private unnamed_addr constant [39 x i8] c" %ip = alloca i64\0A %bp = alloca i64\0A\00" @.str10493 = 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" @.str10494 = private unnamed_addr constant [39 x i8] c" %buf = call ptr @lp_malloc(i64 %pl)\0A\00" @.str10495 = private unnamed_addr constant [46 x i8] c" call ptr @memset(ptr %buf, i32 0, i64 %pl)\0A\00" @.str10496 = private unnamed_addr constant [50 x i8] c" call ptr @memcpy(ptr %buf, ptr %msg, i64 %len)\0A\00" @.str10497 = private unnamed_addr constant [77 x i8] c" %pmark = getelementptr i8, ptr %buf, i64 %len\0A store i8 -128, ptr %pmark\0A\00" @.str10498 = private unnamed_addr constant [27 x i8] c" %bits = shl i64 %len, 3\0A\00" @.str10499 = private unnamed_addr constant [41 x i8] c" store i64 0, ptr %ip\0A br label %lenc\0A\00" @.str10500 = 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" @.str10501 = private unnamed_addr constant [7 x i8] c"lenb:\0A\00" @.str10502 = 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" @.str10503 = 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" @.str10504 = 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" @.str10505 = private unnamed_addr constant [8 x i8] c"hinit:\0A\00" @.str10506 = 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" @.str10507 = 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" @.str10508 = 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" @.str10509 = 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" @.str10510 = 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" @.str10511 = 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" @.str10512 = 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" @.str10513 = 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" @.str10514 = 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" @.str10515 = 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" @.str10516 = 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" @.str10517 = private unnamed_addr constant [40 x i8] c" store i64 0, ptr %ip\0A br label %w1c\0A\00" @.str10518 = 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" @.str10519 = private unnamed_addr constant [6 x i8] c"w1b:\0A\00" @.str10520 = private unnamed_addr constant [25 x i8] c" %wi4 = shl i64 %wi, 2\0A\00" @.str10521 = private unnamed_addr constant [75 x i8] c" %wp0 = getelementptr i8, ptr %base, i64 %wi4\0A %wc0 = load i8, ptr %wp0\0A\00" @.str10522 = 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" @.str10523 = 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" @.str10524 = 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" @.str10525 = 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" @.str10526 = 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" @.str10527 = 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" @.str10528 = 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" @.str10529 = 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" @.str10530 = private unnamed_addr constant [49 x i8] c"w2init:\0A store i64 16, ptr %ip\0A br label %w2c\0A\00" @.str10531 = 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" @.str10532 = private unnamed_addr constant [6 x i8] c"w2b:\0A\00" @.str10533 = 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" @.str10534 = 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" @.str10535 = private unnamed_addr constant [55 x i8] c" %x01 = xor i32 %r7, %r18\0A %s0 = xor i32 %x01, %sh3\0A\00" @.str10536 = 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" @.str10537 = 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" @.str10538 = private unnamed_addr constant [57 x i8] c" %x02 = xor i32 %r17, %r19\0A %s1 = xor i32 %x02, %sh10\0A\00" @.str10539 = 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" @.str10540 = 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" @.str10541 = 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" @.str10542 = 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" @.str10543 = 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" @.str10544 = private unnamed_addr constant [11 x i8] c"compinit:\0A\00" @.str10545 = private unnamed_addr constant [53 x i8] c" %cv0 = load i32, ptr %H0\0A store i32 %cv0, ptr %a\0A\00" @.str10546 = private unnamed_addr constant [53 x i8] c" %cv1 = load i32, ptr %H1\0A store i32 %cv1, ptr %b\0A\00" @.str10547 = private unnamed_addr constant [53 x i8] c" %cv2 = load i32, ptr %H2\0A store i32 %cv2, ptr %c\0A\00" @.str10548 = private unnamed_addr constant [53 x i8] c" %cv3 = load i32, ptr %H3\0A store i32 %cv3, ptr %d\0A\00" @.str10549 = private unnamed_addr constant [53 x i8] c" %cv4 = load i32, ptr %H4\0A store i32 %cv4, ptr %e\0A\00" @.str10550 = private unnamed_addr constant [53 x i8] c" %cv5 = load i32, ptr %H5\0A store i32 %cv5, ptr %f\0A\00" @.str10551 = private unnamed_addr constant [53 x i8] c" %cv6 = load i32, ptr %H6\0A store i32 %cv6, ptr %g\0A\00" @.str10552 = private unnamed_addr constant [53 x i8] c" %cv7 = load i32, ptr %H7\0A store i32 %cv7, ptr %h\0A\00" @.str10553 = private unnamed_addr constant [39 x i8] c" store i64 0, ptr %ip\0A br label %rc\0A\00" @.str10554 = 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" @.str10555 = private unnamed_addr constant [5 x i8] c"rb:\0A\00" @.str10556 = 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" @.str10557 = 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" @.str10558 = 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" @.str10559 = private unnamed_addr constant [55 x i8] c" %S1a = xor i32 %e6, %e11\0A %S1 = xor i32 %S1a, %e25\0A\00" @.str10560 = 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" @.str10561 = 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" @.str10562 = 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" @.str10563 = 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" @.str10564 = 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" @.str10565 = private unnamed_addr constant [56 x i8] c" %S0a = xor i32 %a2r, %a13\0A %S0 = xor i32 %S0a, %a22\0A\00" @.str10566 = 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" @.str10567 = private unnamed_addr constant [30 x i8] c" %temp2 = add i32 %S0, %maj\0A\00" @.str10568 = 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" @.str10569 = private unnamed_addr constant [57 x i8] c" %newe = add i32 %dv, %temp1\0A store i32 %newe, ptr %e\0A\00" @.str10570 = 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" @.str10571 = private unnamed_addr constant [60 x i8] c" %newa = add i32 %temp1, %temp2\0A store i32 %newa, ptr %a\0A\00" @.str10572 = 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" @.str10573 = private unnamed_addr constant [7 x i8] c"addH:\0A\00" @.str10574 = 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" @.str10575 = 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" @.str10576 = 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" @.str10577 = 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" @.str10578 = 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" @.str10579 = 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" @.str10580 = 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" @.str10581 = 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" @.str10582 = 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" @.str10583 = private unnamed_addr constant [45 x i8] c"outp:\0A store i64 0, ptr %ip\0A br label %oc\0A\00" @.str10584 = 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" @.str10585 = private unnamed_addr constant [5 x i8] c"ob:\0A\00" @.str10586 = 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" @.str10587 = 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" @.str10588 = 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" @.str10589 = 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" @.str10590 = 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" @.str10591 = 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" @.str10592 = private unnamed_addr constant [52 x i8] c"freeb:\0A call void @lp_free(ptr %buf)\0A ret void\0A}\0A\00" @.str10593 = private unnamed_addr constant [35 x i8] c"define i8 @lp_hex_digit(i32 %d) {\0A\00" @.str10594 = 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" @.str10595 = private unnamed_addr constant [46 x i8] c"define ptr @lp_hex_encode(ptr %in, i64 %n) {\0A\00" @.str10596 = private unnamed_addr constant [155 x i8] c"entry:\0A %ip = alloca i64\0A %olen = shl i64 %n, 1\0A %olen1 = add i64 %olen, 1\0A %s = call ptr @lp_malloc(i64 %olen1)\0A store i64 0, ptr %ip\0A br label %c\0A\00" @.str10597 = 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" @.str10598 = 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" @.str10599 = 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" @.str10600 = 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" @.str10601 = 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" @.str10602 = 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" @.str10603 = private unnamed_addr constant [37 x i8] c"define ptr @lp_sha256_hex(ptr %s) {\0A\00" @.str10604 = 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" @.str10605 = 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" @.str10606 = private unnamed_addr constant [34 x i8] c"define ptr @lp_str_hex(ptr %s) {\0A\00" @.str10607 = 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" @.str10608 = private unnamed_addr constant [55 x i8] c"define void @lp_xor64(ptr %dst, ptr %src, i32 %pad) {\0A\00" @.str10609 = 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" @.str10610 = 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" @.str10611 = 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" @.str10612 = private unnamed_addr constant [17 x i8] c"d:\0A ret void\0A}\0A\00" @.str10613 = private unnamed_addr constant [54 x i8] c"define ptr @lp_hmac_sha256_hex(ptr %key, ptr %msg) {\0A\00" @.str10614 = private unnamed_addr constant [8 x i8] c"entry:\0A\00" @.str10615 = 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" @.str10616 = private unnamed_addr constant [75 x i8] c" %klen = call i64 @strlen(ptr %key)\0A %mlen = call i64 @strlen(ptr %msg)\0A\00" @.str10617 = 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" @.str10618 = private unnamed_addr constant [74 x i8] c" %big = icmp ugt i64 %klen, 64\0A br i1 %big, label %hashk, label %copyk\0A\00" @.str10619 = 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" @.str10620 = 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" @.str10621 = private unnamed_addr constant [7 x i8] c"pads:\0A\00" @.str10622 = private unnamed_addr constant [73 x i8] c" %inlen = add i64 64, %mlen\0A %inbuf = call ptr @lp_malloc(i64 %inlen)\0A\00" @.str10623 = private unnamed_addr constant [53 x i8] c" call void @lp_xor64(ptr %inbuf, ptr %k0p, i32 54)\0A\00" @.str10624 = 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" @.str10625 = private unnamed_addr constant [160 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 @lp_free(ptr %inbuf)\0A\00" @.str10626 = 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" @.str10627 = 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" @.str10628 = 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" @.str10629 = 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" @.str10630 = private unnamed_addr constant [43 x i8] c"define i32 @lp_ct_streq(ptr %a, ptr %b) {\0A\00" @.str10631 = 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" @.str10632 = private unnamed_addr constant [17 x i8] c"ne:\0A ret i32 0\0A\00" @.str10633 = 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" @.str10634 = 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" @.str10635 = 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" @.str10636 = 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" @.str10637 = 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" @.str10638 = private unnamed_addr constant [66 x i8] c"@.ludic_rbmode = private unnamed_addr constant [3 x i8] c\22rb\5C00\22\0A\00" @.str10639 = private unnamed_addr constant [126 x i8] c"@.ludic_b64tab = private unnamed_addr constant [64 x i8] c\22ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/\22\0A\00" @.str10640 = private unnamed_addr constant [41 x i8] c"declare i8 @SystemFunction036(ptr, i32)\0A\00" @.str10641 = private unnamed_addr constant [50 x i8] c"define void @lp_secure_bytes(ptr %out, i64 %n) {\0A\00" @.str10642 = private unnamed_addr constant [108 x i8] c"entry:\0A call ptr @memset(ptr %out, i32 0, i64 %n)\0A %op = alloca i64\0A store i64 0, ptr %op\0A br label %c\0A\00" @.str10643 = private unnamed_addr constant [120 x i8] c"c:\0A %o = load i64, ptr %op\0A %left = sub i64 %n, %o\0A %more = icmp sgt i64 %left, 0\0A br i1 %more, label %b, label %d\0A\00" @.str10644 = private unnamed_addr constant [112 x i8] c"b:\0A %big = icmp sgt i64 %left, 65536\0A %k = select i1 %big, i64 65536, i64 %left\0A %k32 = trunc i64 %k to i32\0A\00" @.str10645 = private unnamed_addr constant [96 x i8] c" %p = getelementptr i8, ptr %out, i64 %o\0A %ok = call i8 @SystemFunction036(ptr %p, i32 %k32)\0A\00" @.str10646 = private unnamed_addr constant [63 x i8] c" %on = add i64 %o, %k\0A store i64 %on, ptr %op\0A br label %c\0A\00" @.str10647 = private unnamed_addr constant [17 x i8] c"d:\0A ret void\0A}\0A\00" @.str10648 = private unnamed_addr constant [50 x i8] c"define void @lp_secure_bytes(ptr %out, i64 %n) {\0A\00" @.str10649 = private unnamed_addr constant [52 x i8] c"entry:\0A call ptr @memset(ptr %out, i32 0, i64 %n)\0A\00" @.str10650 = private unnamed_addr constant [66 x i8] c" %fp = call ptr @fopen(ptr @.ludic_urandom, ptr @.ludic_rbmode)\0A\00" @.str10651 = private unnamed_addr constant [75 x i8] c" %isnull = icmp eq ptr %fp, null\0A br i1 %isnull, label %fail, label %ok\0A\00" @.str10652 = 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" @.str10653 = private unnamed_addr constant [20 x i8] c"fail:\0A ret void\0A}\0A\00" @.str10654 = private unnamed_addr constant [37 x i8] c"define ptr @lp_random_hex(i64 %n) {\0A\00" @.str10655 = private unnamed_addr constant [92 x i8] c"entry:\0A %buf = call ptr @lp_malloc(i64 %n)\0A call void @lp_secure_bytes(ptr %buf, i64 %n)\0A\00" @.str10656 = private unnamed_addr constant [100 x i8] c" %hex = call ptr @lp_hex_encode(ptr %buf, i64 %n)\0A call void @lp_free(ptr %buf)\0A ret ptr %hex\0A}\0A\00" @.str10657 = private unnamed_addr constant [31 x i8] c"define i32 @lp_random_u32() {\0A\00" @.str10658 = 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" @.str10659 = 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" @.str10660 = 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" @.str10661 = 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" @.str10662 = 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" @.str10663 = 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" @.str10664 = private unnamed_addr constant [33 x i8] c"define ptr @lp_base64(ptr %s) {\0A\00" @.str10665 = private unnamed_addr constant [40 x i8] c"entry:\0A %n = call i64 @strlen(ptr %s)\0A\00" @.str10666 = 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" @.str10667 = private unnamed_addr constant [96 x i8] c" %olen = mul i64 %grp, 4\0A %olen1 = add i64 %olen, 1\0A %out = call ptr @lp_malloc(i64 %olen1)\0A\00" @.str10668 = private unnamed_addr constant [139 x i8] c" %inbuf = call ptr @lp_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" @.str10669 = private unnamed_addr constant [60 x i8] c" %gp = alloca i64\0A store i64 0, ptr %gp\0A br label %cond\0A\00" @.str10670 = 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" @.str10671 = private unnamed_addr constant [30 x i8] c"body:\0A %i3 = mul i64 %gi, 3\0A\00" @.str10672 = 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" @.str10673 = 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" @.str10674 = 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" @.str10675 = private unnamed_addr constant [25 x i8] c" %e0 = lshr i32 %b0, 2\0A\00" @.str10676 = 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" @.str10677 = 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" @.str10678 = private unnamed_addr constant [25 x i8] c" %e3 = and i32 %b2, 63\0A\00" @.str10679 = private unnamed_addr constant [24 x i8] c" %o4 = mul i64 %gi, 4\0A\00" @.str10680 = 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" @.str10681 = 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" @.str10682 = 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" @.str10683 = 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" @.str10684 = 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" @.str10685 = 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" @.str10686 = 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" @.str10687 = private unnamed_addr constant [69 x i8] c" %eq = getelementptr i8, ptr %out, i64 %olen\0A store i8 0, ptr %eq\0A\00" @.str10688 = private unnamed_addr constant [41 x i8] c" br i1 %r1, label %pad1, label %maybe2\0A\00" @.str10689 = 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" @.str10690 = private unnamed_addr constant [47 x i8] c"maybe2:\0A br i1 %r2, label %pad2, label %done\0A\00" @.str10691 = 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" @.str10692 = private unnamed_addr constant [57 x i8] c"done:\0A call void @lp_free(ptr %inbuf)\0A ret ptr %out\0A}\0A\00" @.str10693 = private unnamed_addr constant [4 x i8] c"new\00" @.str10694 = private unnamed_addr constant [3 x i8] c"v4\00" @.str10695 = private unnamed_addr constant [7 x i8] c"new_v7\00" @.str10696 = private unnamed_addr constant [3 x i8] c"v7\00" @.str10697 = private unnamed_addr constant [6 x i8] c"parse\00" @.str10698 = private unnamed_addr constant [9 x i8] c"is_valid\00" @.str10699 = private unnamed_addr constant [8 x i8] c"to_text\00" @.str10700 = private unnamed_addr constant [7 x i8] c"equals\00" @.str10701 = private unnamed_addr constant [4 x i8] c"nil\00" @.str10702 = private unnamed_addr constant [4 x i8] c"new\00" @.str10703 = private unnamed_addr constant [3 x i8] c"v4\00" @.str10704 = private unnamed_addr constant [23 x i8] c"call ptr @lp_uuid_v4()\00" @.str10705 = private unnamed_addr constant [7 x i8] c"string\00" @.str10706 = private unnamed_addr constant [7 x i8] c"new_v7\00" @.str10707 = private unnamed_addr constant [3 x i8] c"v7\00" @.str10708 = private unnamed_addr constant [23 x i8] c"call ptr @lp_uuid_v7()\00" @.str10709 = private unnamed_addr constant [7 x i8] c"string\00" @.str10710 = private unnamed_addr constant [4 x i8] c"nil\00" @.str10711 = private unnamed_addr constant [24 x i8] c"call ptr @lp_uuid_nil()\00" @.str10712 = private unnamed_addr constant [7 x i8] c"string\00" @.str10713 = private unnamed_addr constant [9 x i8] c"is_valid\00" @.str10714 = private unnamed_addr constant [55 x i8] c"build/cfree/selfhost.ludic:18517: index out of range: \00" @.str10715 = private unnamed_addr constant [13 x i8] c"emit_uuid_ns\00" @.str10716 = private unnamed_addr constant [29 x i8] c"call i32 @lp_uuid_valid(ptr \00" @.str10717 = private unnamed_addr constant [2 x i8] c")\00" @.str10718 = private unnamed_addr constant [5 x i8] c"bool\00" @.str10719 = private unnamed_addr constant [8 x i8] c"to_text\00" @.str10720 = private unnamed_addr constant [55 x i8] c"build/cfree/selfhost.ludic:18521: index out of range: \00" @.str10721 = private unnamed_addr constant [7 x i8] c"string\00" @.str10722 = private unnamed_addr constant [7 x i8] c"equals\00" @.str10723 = private unnamed_addr constant [55 x i8] c"build/cfree/selfhost.ludic:18525: index out of range: \00" @.str10724 = private unnamed_addr constant [55 x i8] c"build/cfree/selfhost.ludic:18525: index out of range: \00" @.str10725 = private unnamed_addr constant [26 x i8] c"call i32 @lp_uuid_eq(ptr \00" @.str10726 = private unnamed_addr constant [7 x i8] c", ptr \00" @.str10727 = private unnamed_addr constant [2 x i8] c")\00" @.str10728 = private unnamed_addr constant [5 x i8] c"bool\00" @.str10729 = private unnamed_addr constant [55 x i8] c"build/cfree/selfhost.ludic:18531: index out of range: \00" @.str10730 = private unnamed_addr constant [29 x i8] c"call ptr @lp_uuid_parse(ptr \00" @.str10731 = private unnamed_addr constant [2 x i8] c")\00" @.str10732 = private unnamed_addr constant [7 x i8] c"string\00" @.str10733 = private unnamed_addr constant [40 x i8] c"define ptr @lp_uuid_format(ptr %b16) {\0A\00" @.str10734 = private unnamed_addr constant [96 x i8] c"entry:\0A %hex = call ptr @lp_hex_encode(ptr %b16, i64 16)\0A %out = call ptr @lp_malloc(i64 37)\0A\00" @.str10735 = private unnamed_addr constant [47 x i8] c" call ptr @memcpy(ptr %out, ptr %hex, i64 8)\0A\00" @.str10736 = private unnamed_addr constant [66 x i8] c" %o8 = getelementptr i8, ptr %out, i64 8\0A store i8 45, ptr %o8\0A\00" @.str10737 = 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" @.str10738 = private unnamed_addr constant [69 x i8] c" %o13 = getelementptr i8, ptr %out, i64 13\0A store i8 45, ptr %o13\0A\00" @.str10739 = 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" @.str10740 = private unnamed_addr constant [69 x i8] c" %o18 = getelementptr i8, ptr %out, i64 18\0A store i8 45, ptr %o18\0A\00" @.str10741 = 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" @.str10742 = private unnamed_addr constant [69 x i8] c" %o23 = getelementptr i8, ptr %out, i64 23\0A store i8 45, ptr %o23\0A\00" @.str10743 = 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" @.str10744 = private unnamed_addr constant [68 x i8] c" %o36 = getelementptr i8, ptr %out, i64 36\0A store i8 0, ptr %o36\0A\00" @.str10745 = private unnamed_addr constant [49 x i8] c" call void @lp_free(ptr %hex)\0A ret ptr %out\0A}\0A\00" @.str10746 = private unnamed_addr constant [28 x i8] c"define ptr @lp_uuid_v4() {\0A\00" @.str10747 = 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" @.str10748 = 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" @.str10749 = 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" @.str10750 = private unnamed_addr constant [57 x i8] c" %s = call ptr @lp_uuid_format(ptr %bp)\0A ret ptr %s\0A}\0A\00" @.str10751 = private unnamed_addr constant [28 x i8] c"define ptr @lp_uuid_v7() {\0A\00" @.str10752 = 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" @.str10753 = private unnamed_addr constant [58 x i8] c" %t = call i64 @time(ptr null)\0A %ms = mul i64 %t, 1000\0A\00" @.str10754 = 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" @.str10755 = 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" @.str10756 = 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" @.str10757 = 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" @.str10758 = 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" @.str10759 = 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" @.str10760 = 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" @.str10761 = 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" @.str10762 = private unnamed_addr constant [57 x i8] c" %s = call ptr @lp_uuid_format(ptr %bp)\0A ret ptr %s\0A}\0A\00" @.str10763 = private unnamed_addr constant [29 x i8] c"define ptr @lp_uuid_nil() {\0A\00" @.str10764 = private unnamed_addr constant [90 x i8] c"entry:\0A %out = call ptr @lp_malloc(i64 37)\0A call ptr @memset(ptr %out, i32 48, i64 36)\0A\00" @.str10765 = private unnamed_addr constant [66 x i8] c" %o8 = getelementptr i8, ptr %out, i64 8\0A store i8 45, ptr %o8\0A\00" @.str10766 = private unnamed_addr constant [69 x i8] c" %o13 = getelementptr i8, ptr %out, i64 13\0A store i8 45, ptr %o13\0A\00" @.str10767 = private unnamed_addr constant [69 x i8] c" %o18 = getelementptr i8, ptr %out, i64 18\0A store i8 45, ptr %o18\0A\00" @.str10768 = private unnamed_addr constant [69 x i8] c" %o23 = getelementptr i8, ptr %out, i64 23\0A store i8 45, ptr %o23\0A\00" @.str10769 = 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" @.str10770 = private unnamed_addr constant [37 x i8] c"define i32 @lp_uuid_valid(ptr %s) {\0A\00" @.str10771 = 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" @.str10772 = 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" @.str10773 = 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" @.str10774 = 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" @.str10775 = 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" @.str10776 = 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" @.str10777 = 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" @.str10778 = private unnamed_addr constant [8 x i8] c"ckhex:\0A\00" @.str10779 = 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" @.str10780 = 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" @.str10781 = 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" @.str10782 = 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" @.str10783 = 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" @.str10784 = private unnamed_addr constant [19 x i8] c"good:\0A ret i32 1\0A\00" @.str10785 = private unnamed_addr constant [20 x i8] c"bad:\0A ret i32 0\0A}\0A\00" @.str10786 = private unnamed_addr constant [42 x i8] c"define i32 @lp_uuid_eq(ptr %a, ptr %b) {\0A\00" @.str10787 = 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" @.str10788 = 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" @.str10789 = 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" @.str10790 = 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" @.str10791 = 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" @.str10792 = 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" @.str10793 = private unnamed_addr constant [71 x i8] c" %same = icmp eq i8 %cal, %cbl\0A br i1 %same, label %next, label %ne\0A\00" @.str10794 = 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" @.str10795 = private unnamed_addr constant [20 x i8] c"eqret:\0A ret i32 1\0A\00" @.str10796 = private unnamed_addr constant [19 x i8] c"ne:\0A ret i32 0\0A}\0A\00" @.str10797 = private unnamed_addr constant [37 x i8] c"define ptr @lp_uuid_parse(ptr %s) {\0A\00" @.str10798 = 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" @.str10799 = private unnamed_addr constant [102 x i8] c"dup:\0A %out = call ptr @lp_malloc(i64 37)\0A %ip = alloca i64\0A store i64 0, ptr %ip\0A br label %cond\0A\00" @.str10800 = 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" @.str10801 = 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" @.str10802 = 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" @.str10803 = private unnamed_addr constant [68 x i8] c" %op = getelementptr i8, ptr %out, i64 %i\0A store i8 %cl, ptr %op\0A\00" @.str10804 = 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" @.str10805 = 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" @.str10806 = private unnamed_addr constant [55 x i8] c"nilb:\0A %nn = call ptr @lp_uuid_nil()\0A ret ptr %nn\0A}\0A\00" @.str10807 = private unnamed_addr constant [7 x i8] c"value2\00" @.str10808 = private unnamed_addr constant [8 x i8] c"perlin2\00" @.str10809 = private unnamed_addr constant [9 x i8] c"simplex2\00" @.str10810 = private unnamed_addr constant [5 x i8] c"fbm2\00" @.str10811 = private unnamed_addr constant [10 x i8] c"cellular2\00" @.str10812 = private unnamed_addr constant [13 x i8] c"cellular2_id\00" @.str10813 = private unnamed_addr constant [5 x i8] c"unit\00" @.str10814 = private unnamed_addr constant [5 x i8] c"unit\00" @.str10815 = private unnamed_addr constant [55 x i8] c"build/cfree/selfhost.ludic:18665: index out of range: \00" @.str10816 = private unnamed_addr constant [14 x i8] c"emit_noise_ns\00" @.str10817 = private unnamed_addr constant [10 x i8] c"ashr i32 \00" @.str10818 = private unnamed_addr constant [4 x i8] c", 1\00" @.str10819 = private unnamed_addr constant [9 x i8] c"add i32 \00" @.str10820 = private unnamed_addr constant [8 x i8] c", 32768\00" @.str10821 = private unnamed_addr constant [6 x i8] c"fixed\00" @.str10822 = private unnamed_addr constant [7 x i8] c"value2\00" @.str10823 = private unnamed_addr constant [7 x i8] c"value2\00" @.str10824 = private unnamed_addr constant [55 x i8] c"build/cfree/selfhost.ludic:18672: index out of range: \00" @.str10825 = private unnamed_addr constant [55 x i8] c"build/cfree/selfhost.ludic:18672: index out of range: \00" @.str10826 = private unnamed_addr constant [55 x i8] c"build/cfree/selfhost.ludic:18672: index out of range: \00" @.str10827 = private unnamed_addr constant [31 x i8] c"call i32 @lp_noise_value2(i32 \00" @.str10828 = private unnamed_addr constant [7 x i8] c", i32 \00" @.str10829 = private unnamed_addr constant [7 x i8] c", i32 \00" @.str10830 = private unnamed_addr constant [2 x i8] c")\00" @.str10831 = private unnamed_addr constant [6 x i8] c"fixed\00" @.str10832 = private unnamed_addr constant [8 x i8] c"perlin2\00" @.str10833 = private unnamed_addr constant [8 x i8] c"perlin2\00" @.str10834 = private unnamed_addr constant [55 x i8] c"build/cfree/selfhost.ludic:18677: index out of range: \00" @.str10835 = private unnamed_addr constant [55 x i8] c"build/cfree/selfhost.ludic:18677: index out of range: \00" @.str10836 = private unnamed_addr constant [55 x i8] c"build/cfree/selfhost.ludic:18677: index out of range: \00" @.str10837 = private unnamed_addr constant [32 x i8] c"call i32 @lp_noise_perlin2(i32 \00" @.str10838 = private unnamed_addr constant [7 x i8] c", i32 \00" @.str10839 = private unnamed_addr constant [7 x i8] c", i32 \00" @.str10840 = private unnamed_addr constant [2 x i8] c")\00" @.str10841 = private unnamed_addr constant [6 x i8] c"fixed\00" @.str10842 = private unnamed_addr constant [9 x i8] c"simplex2\00" @.str10843 = private unnamed_addr constant [9 x i8] c"simplex2\00" @.str10844 = private unnamed_addr constant [55 x i8] c"build/cfree/selfhost.ludic:18682: index out of range: \00" @.str10845 = private unnamed_addr constant [55 x i8] c"build/cfree/selfhost.ludic:18682: index out of range: \00" @.str10846 = private unnamed_addr constant [55 x i8] c"build/cfree/selfhost.ludic:18682: index out of range: \00" @.str10847 = private unnamed_addr constant [33 x i8] c"call i32 @lp_noise_simplex2(i32 \00" @.str10848 = private unnamed_addr constant [7 x i8] c", i32 \00" @.str10849 = private unnamed_addr constant [7 x i8] c", i32 \00" @.str10850 = private unnamed_addr constant [2 x i8] c")\00" @.str10851 = private unnamed_addr constant [6 x i8] c"fixed\00" @.str10852 = private unnamed_addr constant [5 x i8] c"fbm2\00" @.str10853 = private unnamed_addr constant [5 x i8] c"fbm2\00" @.str10854 = private unnamed_addr constant [55 x i8] c"build/cfree/selfhost.ludic:18688: index out of range: \00" @.str10855 = private unnamed_addr constant [55 x i8] c"build/cfree/selfhost.ludic:18688: index out of range: \00" @.str10856 = private unnamed_addr constant [55 x i8] c"build/cfree/selfhost.ludic:18688: index out of range: \00" @.str10857 = private unnamed_addr constant [55 x i8] c"build/cfree/selfhost.ludic:18688: index out of range: \00" @.str10858 = private unnamed_addr constant [29 x i8] c"call i32 @lp_noise_fbm2(i32 \00" @.str10859 = private unnamed_addr constant [7 x i8] c", i32 \00" @.str10860 = private unnamed_addr constant [7 x i8] c", i32 \00" @.str10861 = private unnamed_addr constant [7 x i8] c", i32 \00" @.str10862 = private unnamed_addr constant [2 x i8] c")\00" @.str10863 = private unnamed_addr constant [6 x i8] c"fixed\00" @.str10864 = private unnamed_addr constant [10 x i8] c"cellular2\00" @.str10865 = private unnamed_addr constant [10 x i8] c"cellular2\00" @.str10866 = private unnamed_addr constant [55 x i8] c"build/cfree/selfhost.ludic:18694: index out of range: \00" @.str10867 = private unnamed_addr constant [55 x i8] c"build/cfree/selfhost.ludic:18694: index out of range: \00" @.str10868 = private unnamed_addr constant [55 x i8] c"build/cfree/selfhost.ludic:18694: index out of range: \00" @.str10869 = private unnamed_addr constant [34 x i8] c"call i32 @lp_noise_cellular2(i32 \00" @.str10870 = private unnamed_addr constant [7 x i8] c", i32 \00" @.str10871 = private unnamed_addr constant [7 x i8] c", i32 \00" @.str10872 = private unnamed_addr constant [2 x i8] c")\00" @.str10873 = private unnamed_addr constant [6 x i8] c"fixed\00" @.str10874 = private unnamed_addr constant [55 x i8] c"build/cfree/selfhost.ludic:18699: index out of range: \00" @.str10875 = private unnamed_addr constant [55 x i8] c"build/cfree/selfhost.ludic:18699: index out of range: \00" @.str10876 = private unnamed_addr constant [55 x i8] c"build/cfree/selfhost.ludic:18699: index out of range: \00" @.str10877 = private unnamed_addr constant [37 x i8] c"call i32 @lp_noise_cellular2_id(i32 \00" @.str10878 = private unnamed_addr constant [7 x i8] c", i32 \00" @.str10879 = private unnamed_addr constant [7 x i8] c", i32 \00" @.str10880 = private unnamed_addr constant [2 x i8] c")\00" @.str10881 = private unnamed_addr constant [4 x i8] c"int\00" @.str10882 = private unnamed_addr constant [42 x i8] c"define i32 @lp_nfx_mul(i32 %a, i32 %b) {\0A\00" @.str10883 = 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" @.str10884 = private unnamed_addr constant [42 x i8] c"define i32 @lp_nfx_div(i32 %a, i32 %b) {\0A\00" @.str10885 = private unnamed_addr constant [61 x i8] c" %z = icmp eq i32 %b, 0\0A br i1 %z, label %zero, label %go\0A\00" @.str10886 = private unnamed_addr constant [19 x i8] c"zero:\0A ret i32 0\0A\00" @.str10887 = 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" @.str10888 = private unnamed_addr constant [51 x i8] c"define i32 @lp_nfx_lerp(i32 %a, i32 %b, i32 %t) {\0A\00" @.str10889 = 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" @.str10890 = private unnamed_addr constant [38 x i8] c"define i32 @lp_noise_clamp(i32 %v) {\0A\00" @.str10891 = 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" @.str10892 = private unnamed_addr constant [58 x i8] c"define i32 @lp_noise_hash(i32 %seed, i32 %xi, i32 %yi) {\0A\00" @.str10893 = 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" @.str10894 = 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" @.str10895 = 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" @.str10896 = 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" @.str10897 = private unnamed_addr constant [37 x i8] c"define i32 @lp_noise_fade(i32 %t) {\0A\00" @.str10898 = 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" @.str10899 = 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" @.str10900 = 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" @.str10901 = 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" @.str10902 = private unnamed_addr constant [58 x i8] c"define i32 @lp_noise_value2(i32 %x, i32 %y, i32 %seed) {\0A\00" @.str10903 = 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" @.str10904 = 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" @.str10905 = private unnamed_addr constant [49 x i8] c" %xi1 = add i32 %xi, 1\0A %yi1 = add i32 %yi, 1\0A\00" @.str10906 = 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" @.str10907 = 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" @.str10908 = 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" @.str10909 = 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" @.str10910 = 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" @.str10911 = 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" @.str10912 = 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" @.str10913 = private unnamed_addr constant [59 x i8] c"define i32 @lp_noise_grad2(i32 %hash, i32 %dx, i32 %dy) {\0A\00" @.str10914 = 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" @.str10915 = 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" @.str10916 = 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" @.str10917 = 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" @.str10918 = private unnamed_addr constant [59 x i8] c"define i32 @lp_noise_perlin2(i32 %x, i32 %y, i32 %seed) {\0A\00" @.str10919 = 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" @.str10920 = private unnamed_addr constant [57 x i8] c" %xf1 = sub i32 %xf, 65536\0A %yf1 = sub i32 %yf, 65536\0A\00" @.str10921 = 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" @.str10922 = private unnamed_addr constant [49 x i8] c" %xi1 = add i32 %xi, 1\0A %yi1 = add i32 %yi, 1\0A\00" @.str10923 = 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" @.str10924 = 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" @.str10925 = 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" @.str10926 = 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" @.str10927 = 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" @.str10928 = 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" @.str10929 = private unnamed_addr constant [61 x i8] c"define i32 @lp_noise_scorner(i32 %hash, i32 %dx, i32 %dy) {\0A\00" @.str10930 = 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" @.str10931 = 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" @.str10932 = private unnamed_addr constant [19 x i8] c"zero:\0A ret i32 0\0A\00" @.str10933 = 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" @.str10934 = 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" @.str10935 = private unnamed_addr constant [60 x i8] c"define i32 @lp_noise_simplex2(i32 %x, i32 %y, i32 %seed) {\0A\00" @.str10936 = 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" @.str10937 = 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" @.str10938 = private unnamed_addr constant [51 x i8] c" %ij = add i32 %i, %j\0A %tt = mul i32 %ij, 13849\0A\00" @.str10939 = private unnamed_addr constant [49 x i8] c" %if0 = shl i32 %i, 16\0A %jf0 = shl i32 %j, 16\0A\00" @.str10940 = 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" @.str10941 = 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" @.str10942 = private unnamed_addr constant [51 x i8] c" %i1f = shl i32 %i1, 16\0A %j1f = shl i32 %j1, 16\0A\00" @.str10943 = 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" @.str10944 = 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" @.str10945 = 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" @.str10946 = 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" @.str10947 = 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" @.str10948 = private unnamed_addr constant [51 x i8] c" %sa = add i32 %n0, %n1\0A %sb = add i32 %sa, %n2\0A\00" @.str10949 = 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" @.str10950 = private unnamed_addr constant [66 x i8] c"define i32 @lp_noise_fbm2(i32 %x, i32 %y, i32 %seed, i32 %oct) {\0A\00" @.str10951 = 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" @.str10952 = 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" @.str10953 = 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" @.str10954 = private unnamed_addr constant [67 x i8] c"body:\0A %freq = load i32, ptr %freqp\0A %amp = load i32, ptr %ampp\0A\00" @.str10955 = 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" @.str10956 = 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" @.str10957 = 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" @.str10958 = 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" @.str10959 = 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" @.str10960 = 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" @.str10961 = 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" @.str10962 = private unnamed_addr constant [69 x i8] c"done:\0A %fsum = load i32, ptr %sump\0A %fnorm = load i32, ptr %normp\0A\00" @.str10963 = private unnamed_addr constant [65 x i8] c" %nz = icmp eq i32 %fnorm, 0\0A br i1 %nz, label %z, label %div\0A\00" @.str10964 = private unnamed_addr constant [16 x i8] c"z:\0A ret i32 0\0A\00" @.str10965 = 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" @.str10966 = 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" @.str10967 = private unnamed_addr constant [56 x i8] c"entry:\0A %xi = ashr i32 %x, 16\0A %yi = ashr i32 %y, 16\0A\00" @.str10968 = 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" @.str10969 = 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" @.str10970 = 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" @.str10971 = private unnamed_addr constant [45 x i8] c"yb:\0A store i32 -1, ptr %dxp\0A br label %xc\0A\00" @.str10972 = 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" @.str10973 = private unnamed_addr constant [55 x i8] c"xb:\0A %cx = add i32 %xi, %ox\0A %cy = add i32 %yi, %oy\0A\00" @.str10974 = private unnamed_addr constant [61 x i8] c" %h = call i32 @lp_noise_hash(i32 %seed, i32 %cx, i32 %cy)\0A\00" @.str10975 = 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" @.str10976 = 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" @.str10977 = private unnamed_addr constant [53 x i8] c" %ddx = sub i32 %pxr, %x\0A %ddy = sub i32 %pyr, %y\0A\00" @.str10978 = 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" @.str10979 = 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" @.str10980 = 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" @.str10981 = 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" @.str10982 = 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" @.str10983 = 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" @.str10984 = private unnamed_addr constant [61 x i8] c"define i32 @lp_noise_cellular2(i32 %x, i32 %y, i32 %seed) {\0A\00" @.str10985 = 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" @.str10986 = 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" @.str10987 = private unnamed_addr constant [64 x i8] c"define i32 @lp_noise_cellular2_id(i32 %x, i32 %y, i32 %seed) {\0A\00" @.str10988 = 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" @.str10989 = private unnamed_addr constant [41 x i8] c" %r = load i32, ptr %id\0A ret i32 %r\0A}\0A\00" @.str10990 = private unnamed_addr constant [7 x i8] c"Noise.\00" @.str10991 = private unnamed_addr constant [12 x i8] c"noise_arity\00" @.str10992 = private unnamed_addr constant [8 x i8] c" takes \00" @.str10993 = private unnamed_addr constant [23 x i8] c" arguments (x, y, seed\00" @.str10994 = private unnamed_addr constant [24 x i8] c"), and this call gives \00" @.str10995 = private unnamed_addr constant [10 x i8] c", octaves\00" @.str10996 = private unnamed_addr constant [1 x i8] c"\00" @.str10997 = private unnamed_addr constant [6 x i8] c"trace\00" @.str10998 = private unnamed_addr constant [6 x i8] c"debug\00" @.str10999 = private unnamed_addr constant [5 x i8] c"info\00" @.str11000 = private unnamed_addr constant [5 x i8] c"warn\00" @.str11001 = private unnamed_addr constant [6 x i8] c"error\00" @.str11002 = private unnamed_addr constant [10 x i8] c"set_level\00" @.str11003 = private unnamed_addr constant [6 x i8] c"level\00" @.str11004 = private unnamed_addr constant [4 x i8] c"ptr\00" @.str11005 = private unnamed_addr constant [7 x i8] c"string\00" @.str11006 = private unnamed_addr constant [4 x i8] c"i64\00" @.str11007 = private unnamed_addr constant [27 x i8] c"call ptr @lp_long_str(i64 \00" @.str11008 = private unnamed_addr constant [14 x i8] c"log_stringify\00" @.str11009 = private unnamed_addr constant [2 x i8] c")\00" @.str11010 = private unnamed_addr constant [7 x i8] c"string\00" @.str11011 = private unnamed_addr constant [26 x i8] c"call ptr @lp_int_str(i32 \00" @.str11012 = private unnamed_addr constant [2 x i8] c")\00" @.str11013 = private unnamed_addr constant [7 x i8] c"string\00" @.str11014 = private unnamed_addr constant [10 x i8] c"set_level\00" @.str11015 = private unnamed_addr constant [55 x i8] c"build/cfree/selfhost.ludic:18914: index out of range: \00" @.str11016 = private unnamed_addr constant [12 x i8] c"emit_log_ns\00" @.str11017 = private unnamed_addr constant [13 x i8] c" store i32 \00" @.str11018 = private unnamed_addr constant [20 x i8] c", ptr @L_log_level\0A\00" @.str11019 = private unnamed_addr constant [2 x i8] c"0\00" @.str11020 = private unnamed_addr constant [5 x i8] c"void\00" @.str11021 = private unnamed_addr constant [6 x i8] c"level\00" @.str11022 = private unnamed_addr constant [27 x i8] c"load i32, ptr @L_log_level\00" @.str11023 = private unnamed_addr constant [4 x i8] c"int\00" @.str11024 = private unnamed_addr constant [2 x i8] c"2\00" @.str11025 = private unnamed_addr constant [8 x i8] c"[INFO] \00" @.str11026 = private unnamed_addr constant [6 x i8] c"trace\00" @.str11027 = private unnamed_addr constant [2 x i8] c"0\00" @.str11028 = private unnamed_addr constant [9 x i8] c"[TRACE] \00" @.str11029 = private unnamed_addr constant [6 x i8] c"debug\00" @.str11030 = private unnamed_addr constant [2 x i8] c"1\00" @.str11031 = private unnamed_addr constant [9 x i8] c"[DEBUG] \00" @.str11032 = private unnamed_addr constant [5 x i8] c"warn\00" @.str11033 = private unnamed_addr constant [2 x i8] c"3\00" @.str11034 = private unnamed_addr constant [8 x i8] c"[WARN] \00" @.str11035 = private unnamed_addr constant [6 x i8] c"error\00" @.str11036 = private unnamed_addr constant [2 x i8] c"4\00" @.str11037 = private unnamed_addr constant [9 x i8] c"[ERROR] \00" @.str11038 = private unnamed_addr constant [27 x i8] c"load i32, ptr @L_log_level\00" @.str11039 = private unnamed_addr constant [14 x i8] c"icmp sge i32 \00" @.str11040 = private unnamed_addr constant [3 x i8] c", \00" @.str11041 = private unnamed_addr constant [6 x i8] c"logon\00" @.str11042 = private unnamed_addr constant [7 x i8] c"logend\00" @.str11043 = private unnamed_addr constant [9 x i8] c" br i1 \00" @.str11044 = private unnamed_addr constant [10 x i8] c", label %\00" @.str11045 = private unnamed_addr constant [10 x i8] c", label %\00" @.str11046 = private unnamed_addr constant [2 x i8] c"\0A\00" @.str11047 = private unnamed_addr constant [3 x i8] c":\0A\00" @.str11048 = private unnamed_addr constant [7 x i8] c"string\00" @.str11049 = private unnamed_addr constant [55 x i8] c"build/cfree/selfhost.ludic:18938: index out of range: \00" @.str11050 = private unnamed_addr constant [2 x i8] c"+\00" @.str11051 = private unnamed_addr constant [55 x i8] c"build/cfree/selfhost.ludic:18942: index out of range: \00" @.str11052 = private unnamed_addr constant [55 x i8] c"build/cfree/selfhost.ludic:18943: index out of range: \00" @.str11053 = private unnamed_addr constant [2 x i8] c"+\00" @.str11054 = private unnamed_addr constant [2 x i8] c" \00" @.str11055 = private unnamed_addr constant [7 x i8] c"string\00" @.str11056 = private unnamed_addr constant [2 x i8] c"+\00" @.str11057 = private unnamed_addr constant [2 x i8] c"+\00" @.str11058 = private unnamed_addr constant [2 x i8] c"=\00" @.str11059 = private unnamed_addr constant [7 x i8] c"string\00" @.str11060 = private unnamed_addr constant [2 x i8] c"+\00" @.str11061 = private unnamed_addr constant [30 x i8] c" call void @lp_log_emit(i32 \00" @.str11062 = private unnamed_addr constant [7 x i8] c", ptr \00" @.str11063 = private unnamed_addr constant [3 x i8] c")\0A\00" @.str11064 = private unnamed_addr constant [26 x i8] c" call void @lp_free(ptr \00" @.str11065 = private unnamed_addr constant [3 x i8] c")\0A\00" @.str11066 = private unnamed_addr constant [13 x i8] c" br label %\00" @.str11067 = private unnamed_addr constant [2 x i8] c"\0A\00" @.str11068 = private unnamed_addr constant [3 x i8] c":\0A\00" @.str11069 = private unnamed_addr constant [2 x i8] c"0\00" @.str11070 = private unnamed_addr constant [5 x i8] c"void\00" @.str11071 = private unnamed_addr constant [29 x i8] c"@L_log_level = global i32 0\0A\00" @.str11072 = private unnamed_addr constant [61 x i8] c"@.log_nl = private unnamed_addr constant [2 x i8] c\22\5C0A\5C00\22\0A\00" @.str11073 = private unnamed_addr constant [46 x i8] c"define void @lp_log_emit(i32 %lvl, ptr %s) {\0A\00" @.str11074 = 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" @.str11075 = private unnamed_addr constant [12 x i8] c"go:\0A %e = \00" @.str11076 = private unnamed_addr constant [17 x i8] c"emit_log_prelude\00" @.str11077 = private unnamed_addr constant [34 x i8] c"\0A %n = call i64 @strlen(ptr %s)\0A\00" @.str11078 = 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" @.str11079 = private unnamed_addr constant [20 x i8] c"done:\0A ret void\0A}\0A\00" @.str11080 = private unnamed_addr constant [5 x i8] c"args\00" @.str11081 = private unnamed_addr constant [10 x i8] c"arg_count\00" @.str11082 = private unnamed_addr constant [4 x i8] c"arg\00" @.str11083 = private unnamed_addr constant [4 x i8] c"env\00" @.str11084 = private unnamed_addr constant [7 x i8] c"env_or\00" @.str11085 = private unnamed_addr constant [8 x i8] c"has_env\00" @.str11086 = private unnamed_addr constant [8 x i8] c"set_env\00" @.str11087 = private unnamed_addr constant [10 x i8] c"unset_env\00" @.str11088 = private unnamed_addr constant [5 x i8] c"exit\00" @.str11089 = private unnamed_addr constant [4 x i8] c"pid\00" @.str11090 = private unnamed_addr constant [9 x i8] c"platform\00" @.str11091 = private unnamed_addr constant [5 x i8] c"arch\00" @.str11092 = private unnamed_addr constant [13 x i8] c"stdout_write\00" @.str11093 = private unnamed_addr constant [13 x i8] c"stderr_write\00" @.str11094 = private unnamed_addr constant [9 x i8] c"save_dir\00" @.str11095 = private unnamed_addr constant [11 x i8] c"config_dir\00" @.str11096 = private unnamed_addr constant [10 x i8] c"cache_dir\00" @.str11097 = private unnamed_addr constant [9 x i8] c"temp_dir\00" @.str11098 = private unnamed_addr constant [11 x i8] c"heap_bytes\00" @.str11099 = private unnamed_addr constant [12 x i8] c"heap_relief\00" @.str11100 = private unnamed_addr constant [10 x i8] c"arg_count\00" @.str11101 = private unnamed_addr constant [22 x i8] c"load i32, ptr @L_argc\00" @.str11102 = private unnamed_addr constant [4 x i8] c"int\00" @.str11103 = private unnamed_addr constant [4 x i8] c"arg\00" @.str11104 = private unnamed_addr constant [55 x i8] c"build/cfree/selfhost.ludic:19025: index out of range: \00" @.str11105 = private unnamed_addr constant [11 x i8] c"emit_os_ns\00" @.str11106 = private unnamed_addr constant [22 x i8] c"load ptr, ptr @L_argv\00" @.str11107 = private unnamed_addr constant [24 x i8] c"getelementptr ptr, ptr \00" @.str11108 = private unnamed_addr constant [7 x i8] c", i32 \00" @.str11109 = private unnamed_addr constant [15 x i8] c"load ptr, ptr \00" @.str11110 = private unnamed_addr constant [7 x i8] c"string\00" @.str11111 = private unnamed_addr constant [4 x i8] c"pid\00" @.str11112 = private unnamed_addr constant [19 x i8] c"call i32 @getpid()\00" @.str11113 = private unnamed_addr constant [4 x i8] c"int\00" @.str11114 = private unnamed_addr constant [11 x i8] c"heap_bytes\00" @.str11115 = private unnamed_addr constant [2 x i8] c"0\00" @.str11116 = private unnamed_addr constant [5 x i8] c"long\00" @.str11117 = private unnamed_addr constant [29 x i8] c"call i64 @lp_os_heap_bytes()\00" @.str11118 = private unnamed_addr constant [5 x i8] c"long\00" @.str11119 = private unnamed_addr constant [12 x i8] c"heap_relief\00" @.str11120 = private unnamed_addr constant [30 x i8] c"call i64 @lp_os_heap_relief()\00" @.str11121 = private unnamed_addr constant [5 x i8] c"long\00" @.str11122 = private unnamed_addr constant [5 x i8] c"exit\00" @.str11123 = private unnamed_addr constant [55 x i8] c"build/cfree/selfhost.ludic:19041: index out of range: \00" @.str11124 = private unnamed_addr constant [23 x i8] c" call void @exit(i32 \00" @.str11125 = private unnamed_addr constant [3 x i8] c")\0A\00" @.str11126 = private unnamed_addr constant [15 x i8] c" unreachable\0A\00" @.str11127 = private unnamed_addr constant [2 x i8] c"0\00" @.str11128 = private unnamed_addr constant [5 x i8] c"void\00" @.str11129 = private unnamed_addr constant [4 x i8] c"env\00" @.str11130 = private unnamed_addr constant [55 x i8] c"build/cfree/selfhost.ludic:19048: index out of range: \00" @.str11131 = private unnamed_addr constant [22 x i8] c"call ptr @getenv(ptr \00" @.str11132 = private unnamed_addr constant [2 x i8] c")\00" @.str11133 = private unnamed_addr constant [7 x i8] c"string\00" @.str11134 = private unnamed_addr constant [8 x i8] c"has_env\00" @.str11135 = private unnamed_addr constant [55 x i8] c"build/cfree/selfhost.ludic:19052: index out of range: \00" @.str11136 = private unnamed_addr constant [22 x i8] c"call ptr @getenv(ptr \00" @.str11137 = private unnamed_addr constant [2 x i8] c")\00" @.str11138 = private unnamed_addr constant [13 x i8] c"icmp ne ptr \00" @.str11139 = private unnamed_addr constant [7 x i8] c", null\00" @.str11140 = private unnamed_addr constant [9 x i8] c"zext i1 \00" @.str11141 = private unnamed_addr constant [8 x i8] c" to i32\00" @.str11142 = private unnamed_addr constant [5 x i8] c"bool\00" @.str11143 = private unnamed_addr constant [13 x i8] c"stdout_write\00" @.str11144 = private unnamed_addr constant [13 x i8] c"stderr_write\00" @.str11145 = private unnamed_addr constant [13 x i8] c"stderr_write\00" @.str11146 = private unnamed_addr constant [55 x i8] c"build/cfree/selfhost.ludic:19060: index out of range: \00" @.str11147 = private unnamed_addr constant [22 x i8] c"call i64 @strlen(ptr \00" @.str11148 = private unnamed_addr constant [2 x i8] c")\00" @.str11149 = private unnamed_addr constant [24 x i8] c" call i64 @fwrite(ptr \00" @.str11150 = private unnamed_addr constant [14 x i8] c", i64 1, i64 \00" @.str11151 = private unnamed_addr constant [7 x i8] c", ptr \00" @.str11152 = private unnamed_addr constant [3 x i8] c")\0A\00" @.str11153 = private unnamed_addr constant [2 x i8] c"0\00" @.str11154 = private unnamed_addr constant [5 x i8] c"void\00" @.str11155 = private unnamed_addr constant [5 x i8] c"args\00" @.str11156 = private unnamed_addr constant [23 x i8] c"call ptr @lp_os_args()\00" @.str11157 = private unnamed_addr constant [9 x i8] c"[]string\00" @.str11158 = private unnamed_addr constant [7 x i8] c"env_or\00" @.str11159 = private unnamed_addr constant [55 x i8] c"build/cfree/selfhost.ludic:19070: index out of range: \00" @.str11160 = private unnamed_addr constant [55 x i8] c"build/cfree/selfhost.ludic:19070: index out of range: \00" @.str11161 = private unnamed_addr constant [31 x i8] c"call ptr @lp_os_getenv_or(ptr \00" @.str11162 = private unnamed_addr constant [7 x i8] c", ptr \00" @.str11163 = private unnamed_addr constant [2 x i8] c")\00" @.str11164 = private unnamed_addr constant [7 x i8] c"string\00" @.str11165 = private unnamed_addr constant [8 x i8] c"set_env\00" @.str11166 = private unnamed_addr constant [55 x i8] c"build/cfree/selfhost.ludic:19074: index out of range: \00" @.str11167 = private unnamed_addr constant [55 x i8] c"build/cfree/selfhost.ludic:19074: index out of range: \00" @.str11168 = private unnamed_addr constant [22 x i8] c"call i32 @setenv(ptr \00" @.str11169 = private unnamed_addr constant [7 x i8] c", ptr \00" @.str11170 = private unnamed_addr constant [9 x i8] c", i32 1)\00" @.str11171 = private unnamed_addr constant [13 x i8] c"icmp eq i32 \00" @.str11172 = private unnamed_addr constant [4 x i8] c", 0\00" @.str11173 = private unnamed_addr constant [9 x i8] c"zext i1 \00" @.str11174 = private unnamed_addr constant [8 x i8] c" to i32\00" @.str11175 = private unnamed_addr constant [5 x i8] c"bool\00" @.str11176 = private unnamed_addr constant [10 x i8] c"unset_env\00" @.str11177 = private unnamed_addr constant [55 x i8] c"build/cfree/selfhost.ludic:19080: index out of range: \00" @.str11178 = private unnamed_addr constant [24 x i8] c"call i32 @unsetenv(ptr \00" @.str11179 = private unnamed_addr constant [2 x i8] c")\00" @.str11180 = private unnamed_addr constant [13 x i8] c"icmp eq i32 \00" @.str11181 = private unnamed_addr constant [4 x i8] c", 0\00" @.str11182 = private unnamed_addr constant [9 x i8] c"zext i1 \00" @.str11183 = private unnamed_addr constant [8 x i8] c" to i32\00" @.str11184 = private unnamed_addr constant [5 x i8] c"bool\00" @.str11185 = private unnamed_addr constant [9 x i8] c"platform\00" @.str11186 = private unnamed_addr constant [27 x i8] c"call ptr @lp_os_platform()\00" @.str11187 = private unnamed_addr constant [7 x i8] c"string\00" @.str11188 = private unnamed_addr constant [5 x i8] c"arch\00" @.str11189 = private unnamed_addr constant [23 x i8] c"call ptr @lp_os_arch()\00" @.str11190 = private unnamed_addr constant [7 x i8] c"string\00" @.str11191 = private unnamed_addr constant [9 x i8] c"save_dir\00" @.str11192 = private unnamed_addr constant [55 x i8] c"build/cfree/selfhost.ludic:19088: index out of range: \00" @.str11193 = private unnamed_addr constant [30 x i8] c"call ptr @lp_os_save_dir(ptr \00" @.str11194 = private unnamed_addr constant [2 x i8] c")\00" @.str11195 = private unnamed_addr constant [7 x i8] c"string\00" @.str11196 = private unnamed_addr constant [11 x i8] c"config_dir\00" @.str11197 = private unnamed_addr constant [55 x i8] c"build/cfree/selfhost.ludic:19092: index out of range: \00" @.str11198 = private unnamed_addr constant [32 x i8] c"call ptr @lp_os_config_dir(ptr \00" @.str11199 = private unnamed_addr constant [2 x i8] c")\00" @.str11200 = private unnamed_addr constant [7 x i8] c"string\00" @.str11201 = private unnamed_addr constant [10 x i8] c"cache_dir\00" @.str11202 = private unnamed_addr constant [55 x i8] c"build/cfree/selfhost.ludic:19096: index out of range: \00" @.str11203 = private unnamed_addr constant [31 x i8] c"call ptr @lp_os_cache_dir(ptr \00" @.str11204 = private unnamed_addr constant [2 x i8] c")\00" @.str11205 = private unnamed_addr constant [7 x i8] c"string\00" @.str11206 = private unnamed_addr constant [27 x i8] c"call ptr @lp_os_temp_dir()\00" @.str11207 = private unnamed_addr constant [7 x i8] c"string\00" @.str11208 = private unnamed_addr constant [27 x i8] c"call ptr @lp_os_temp_dir()\00" @.str11209 = private unnamed_addr constant [7 x i8] c"string\00" @.str11210 = private unnamed_addr constant [36 x i8] c"declare i32 @setenv(ptr, ptr, i32)\0A\00" @.str11211 = private unnamed_addr constant [28 x i8] c"declare i32 @unsetenv(ptr)\0A\00" @.str11212 = private unnamed_addr constant [25 x i8] c"declare i32 @uname(ptr)\0A\00" @.str11213 = private unnamed_addr constant [5 x i8] c"HOME\00" @.str11214 = private unnamed_addr constant [2 x i8] c".\00" @.str11215 = private unnamed_addr constant [30 x i8] c"/Library/Application Support/\00" @.str11216 = private unnamed_addr constant [17 x i8] c"/Library/Caches/\00" @.str11217 = private unnamed_addr constant [7 x i8] c"TMPDIR\00" @.str11218 = private unnamed_addr constant [5 x i8] c"/tmp\00" @.str11219 = private unnamed_addr constant [7 x i8] c"Darwin\00" @.str11220 = private unnamed_addr constant [14 x i8] c"XDG_DATA_HOME\00" @.str11221 = private unnamed_addr constant [16 x i8] c"XDG_CONFIG_HOME\00" @.str11222 = private unnamed_addr constant [15 x i8] c"XDG_CACHE_HOME\00" @.str11223 = private unnamed_addr constant [15 x i8] c"/.local/share/\00" @.str11224 = private unnamed_addr constant [10 x i8] c"/.config/\00" @.str11225 = private unnamed_addr constant [9 x i8] c"/.cache/\00" @.str11226 = private unnamed_addr constant [2 x i8] c"/\00" @.str11227 = private unnamed_addr constant [6 x i8] c"macos\00" @.str11228 = private unnamed_addr constant [6 x i8] c"Linux\00" @.str11229 = private unnamed_addr constant [6 x i8] c"linux\00" @.str11230 = private unnamed_addr constant [51 x i8] c"define ptr @lp_os_getenv_or(ptr %name, ptr %fb) {\0A\00" @.str11231 = 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" @.str11232 = private unnamed_addr constant [20 x i8] c"use:\0A ret ptr %fb\0A\00" @.str11233 = private unnamed_addr constant [21 x i8] c"got:\0A ret ptr %r\0A}\0A\00" @.str11234 = private unnamed_addr constant [43 x i8] c"define ptr @lp_os_join2(ptr %a, ptr %b) {\0A\00" @.str11235 = 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" @.str11236 = private unnamed_addr constant [89 x i8] c" %sum = add i64 %la, %lb\0A %tot = add i64 %sum, 1\0A %m = call ptr @lp_malloc(i64 %tot)\0A\00" @.str11237 = private unnamed_addr constant [45 x i8] c" call ptr @memcpy(ptr %m, ptr %a, i64 %la)\0A\00" @.str11238 = 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" @.str11239 = 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" @.str11240 = private unnamed_addr constant [51 x i8] c"define ptr @lp_os_join3(ptr %a, ptr %b, ptr %c) {\0A\00" @.str11241 = private unnamed_addr constant [145 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 call void @lp_free(ptr %ab)\0A ret ptr %r\0A}\0A\00" @.str11242 = private unnamed_addr constant [65 x i8] c"define ptr @lp_os_home() {\0A %r = call ptr @lp_os_getenv_or(ptr \00" @.str11243 = private unnamed_addr constant [16 x i8] c"emit_os_prelude\00" @.str11244 = private unnamed_addr constant [7 x i8] c", ptr \00" @.str11245 = private unnamed_addr constant [18 x i8] c")\0A ret ptr %r\0A}\0A\00" @.str11246 = private unnamed_addr constant [39 x i8] c"@L_os_darwin = internal global i32 -1\0A\00" @.str11247 = private unnamed_addr constant [33 x i8] c"define i32 @lp_os_is_darwin() {\0A\00" @.str11248 = 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" @.str11249 = private unnamed_addr constant [20 x i8] c"done:\0A ret i32 %c\0A\00" @.str11250 = private unnamed_addr constant [75 x i8] c"probe:\0A %buf = call ptr @lp_malloc(i64 8192)\0A call i32 @uname(ptr %buf)\0A\00" @.str11251 = private unnamed_addr constant [41 x i8] c" %cd = call i32 @strncmp(ptr %buf, ptr \00" @.str11252 = private unnamed_addr constant [38 x i8] c", i64 6)\0A %isd = icmp eq i32 %cd, 0\0A\00" @.str11253 = private unnamed_addr constant [116 x i8] c" %r = select i1 %isd, i32 1, i32 0\0A call void @lp_free(ptr %buf)\0A store i32 %r, ptr @L_os_darwin\0A ret i32 %r\0A}\0A\00" @.str11254 = private unnamed_addr constant [45 x i8] c"define ptr @lp_os_xdg(ptr %var, ptr %rel) {\0A\00" @.str11255 = 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" @.str11256 = 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" @.str11257 = private unnamed_addr constant [47 x i8] c"use:\0A %u = call ptr @lp_os_join2(ptr %v, ptr \00" @.str11258 = private unnamed_addr constant [16 x i8] c")\0A ret ptr %u\0A\00" @.str11259 = 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" @.str11260 = private unnamed_addr constant [67 x i8] c"define ptr @lp_os_known(ptr %app, ptr %mac, ptr %var, ptr %rel) {\0A\00" @.str11261 = 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" @.str11262 = 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" @.str11263 = private unnamed_addr constant [144 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 call void @lp_free(ptr %b)\0A ret ptr %r2\0A}\0A\00" @.str11264 = 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" @.str11265 = private unnamed_addr constant [7 x i8] c", ptr \00" @.str11266 = private unnamed_addr constant [7 x i8] c", ptr \00" @.str11267 = private unnamed_addr constant [18 x i8] c")\0A ret ptr %r\0A}\0A\00" @.str11268 = 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" @.str11269 = private unnamed_addr constant [7 x i8] c", ptr \00" @.str11270 = private unnamed_addr constant [7 x i8] c", ptr \00" @.str11271 = private unnamed_addr constant [18 x i8] c")\0A ret ptr %r\0A}\0A\00" @.str11272 = 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" @.str11273 = private unnamed_addr constant [7 x i8] c", ptr \00" @.str11274 = private unnamed_addr constant [7 x i8] c", ptr \00" @.str11275 = private unnamed_addr constant [18 x i8] c")\0A ret ptr %r\0A}\0A\00" @.str11276 = private unnamed_addr constant [69 x i8] c"define ptr @lp_os_temp_dir() {\0A %r = call ptr @lp_os_getenv_or(ptr \00" @.str11277 = private unnamed_addr constant [7 x i8] c", ptr \00" @.str11278 = private unnamed_addr constant [18 x i8] c")\0A ret ptr %r\0A}\0A\00" @.str11279 = private unnamed_addr constant [28 x i8] c"define ptr @lp_os_args() {\0A\00" @.str11280 = 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" @.str11281 = private unnamed_addr constant [36 x i8] c" %h = call ptr @lp_malloc(i64 16)\0A\00" @.str11282 = 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" @.str11283 = 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" @.str11284 = 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" @.str11285 = private unnamed_addr constant [16 x i8] c" ret ptr %h\0A}\0A\00" @.str11286 = private unnamed_addr constant [38 x i8] c"@L_os_uts = internal global ptr null\0A\00" @.str11287 = private unnamed_addr constant [27 x i8] c"define ptr @lp_os_uts() {\0A\00" @.str11288 = private unnamed_addr constant [110 x i8] c"entry:\0A %c = load ptr, ptr @L_os_uts\0A %have = icmp ne ptr %c, null\0A br i1 %have, label %done, label %make\0A\00" @.str11289 = private unnamed_addr constant [20 x i8] c"done:\0A ret ptr %c\0A\00" @.str11290 = private unnamed_addr constant [123 x i8] c"make:\0A %buf = call ptr @lp_malloc(i64 8192)\0A call i32 @uname(ptr %buf)\0A store ptr %buf, ptr @L_os_uts\0A ret ptr %buf\0A}\0A\00" @.str11291 = private unnamed_addr constant [32 x i8] c"define ptr @lp_os_platform() {\0A\00" @.str11292 = private unnamed_addr constant [39 x i8] c"entry:\0A %buf = call ptr @lp_os_uts()\0A\00" @.str11293 = private unnamed_addr constant [41 x i8] c" %cd = call i32 @strncmp(ptr %buf, ptr \00" @.str11294 = 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" @.str11295 = private unnamed_addr constant [16 x i8] c"mac:\0A ret ptr \00" @.str11296 = private unnamed_addr constant [2 x i8] c"\0A\00" @.str11297 = private unnamed_addr constant [47 x i8] c"chkl:\0A %cl = call i32 @strncmp(ptr %buf, ptr \00" @.str11298 = 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" @.str11299 = private unnamed_addr constant [16 x i8] c"lin:\0A ret ptr \00" @.str11300 = private unnamed_addr constant [2 x i8] c"\0A\00" @.str11301 = private unnamed_addr constant [25 x i8] c"other:\0A ret ptr %buf\0A}\0A\00" @.str11302 = private unnamed_addr constant [28 x i8] c"define ptr @lp_os_arch() {\0A\00" @.str11303 = private unnamed_addr constant [39 x i8] c"entry:\0A %buf = call ptr @lp_os_uts()\0A\00" @.str11304 = private unnamed_addr constant [60 x i8] c" %m = getelementptr i8, ptr %buf, i64 1024\0A ret ptr %m\0A}\0A\00" @.str11305 = private unnamed_addr constant [42 x i8] c"define i64 @lp_os_heap_relief() {\0Aentry:\0A\00" @.str11306 = private unnamed_addr constant [94 x i8] c" %h = call ptr @GetProcessHeap()\0A %n = call i64 @HeapCompact(ptr %h, i32 0)\0A ret i64 %n\0A}\0A\00" @.str11307 = private unnamed_addr constant [66 x i8] c"declare ptr @GetProcessHeap()\0Adeclare i64 @HeapCompact(ptr, i32)\0A\00" @.str11308 = private unnamed_addr constant [93 x i8] c" %mz = icmp ne ptr @malloc_zone_pressure_relief, null\0A br i1 %mz, label %mac, label %none\0A\00" @.str11309 = private unnamed_addr constant [81 x i8] c"mac:\0A %n = call i64 @malloc_zone_pressure_relief(ptr null, i64 0)\0A ret i64 %n\0A\00" @.str11310 = private unnamed_addr constant [21 x i8] c"none:\0A ret i64 0\0A}\0A\00" @.str11311 = private unnamed_addr constant [64 x i8] c"declare extern_weak i64 @malloc_zone_pressure_relief(ptr, i64)\0A\00" @.str11312 = private unnamed_addr constant [60 x i8] c"declare extern_weak void @malloc_zone_statistics(ptr, ptr)\0A\00" @.str11313 = private unnamed_addr constant [34 x i8] c"define i64 @lp_os_heap_bytes() {\0A\00" @.str11314 = private unnamed_addr constant [98 x i8] c"entry:\0A %has = icmp ne ptr @malloc_zone_statistics, null\0A br i1 %has, label %read, label %none\0A\00" @.str11315 = private unnamed_addr constant [19 x i8] c"none:\0A ret i64 0\0A\00" @.str11316 = private unnamed_addr constant [96 x i8] c"read:\0A %st = alloca [4 x i64], align 8\0A call void @malloc_zone_statistics(ptr null, ptr %st)\0A\00" @.str11317 = private unnamed_addr constant [94 x i8] c" %p = getelementptr [4 x i64], ptr %st, i32 0, i32 1\0A %n = load i64, ptr %p\0A ret i64 %n\0A}\0A\00" @.str11318 = private unnamed_addr constant [4 x i8] c"len\00" @.str11319 = private unnamed_addr constant [9 x i8] c"byte_len\00" @.str11320 = private unnamed_addr constant [14 x i8] c"is_valid_utf8\00" @.str11321 = private unnamed_addr constant [8 x i8] c"char_at\00" @.str11322 = private unnamed_addr constant [6 x i8] c"chars\00" @.str11323 = private unnamed_addr constant [6 x i8] c"upper\00" @.str11324 = private unnamed_addr constant [6 x i8] c"lower\00" @.str11325 = private unnamed_addr constant [9 x i8] c"truncate\00" @.str11326 = private unnamed_addr constant [13 x i8] c"grapheme_len\00" @.str11327 = private unnamed_addr constant [9 x i8] c"byte_len\00" @.str11328 = private unnamed_addr constant [55 x i8] c"build/cfree/selfhost.ludic:19305: index out of range: \00" @.str11329 = private unnamed_addr constant [16 x i8] c"emit_unicode_ns\00" @.str11330 = private unnamed_addr constant [22 x i8] c"call i64 @strlen(ptr \00" @.str11331 = private unnamed_addr constant [2 x i8] c")\00" @.str11332 = private unnamed_addr constant [11 x i8] c"trunc i64 \00" @.str11333 = private unnamed_addr constant [8 x i8] c" to i32\00" @.str11334 = private unnamed_addr constant [4 x i8] c"int\00" @.str11335 = private unnamed_addr constant [4 x i8] c"len\00" @.str11336 = private unnamed_addr constant [55 x i8] c"build/cfree/selfhost.ludic:19310: index out of range: \00" @.str11337 = private unnamed_addr constant [26 x i8] c"call i32 @lp_uni_len(ptr \00" @.str11338 = private unnamed_addr constant [2 x i8] c")\00" @.str11339 = private unnamed_addr constant [4 x i8] c"int\00" @.str11340 = private unnamed_addr constant [14 x i8] c"is_valid_utf8\00" @.str11341 = private unnamed_addr constant [55 x i8] c"build/cfree/selfhost.ludic:19314: index out of range: \00" @.str11342 = private unnamed_addr constant [28 x i8] c"call i32 @lp_uni_valid(ptr \00" @.str11343 = private unnamed_addr constant [2 x i8] c")\00" @.str11344 = private unnamed_addr constant [5 x i8] c"bool\00" @.str11345 = private unnamed_addr constant [8 x i8] c"char_at\00" @.str11346 = private unnamed_addr constant [55 x i8] c"build/cfree/selfhost.ludic:19318: index out of range: \00" @.str11347 = private unnamed_addr constant [55 x i8] c"build/cfree/selfhost.ludic:19318: index out of range: \00" @.str11348 = private unnamed_addr constant [30 x i8] c"call i32 @lp_uni_char_at(ptr \00" @.str11349 = private unnamed_addr constant [7 x i8] c", i32 \00" @.str11350 = private unnamed_addr constant [2 x i8] c")\00" @.str11351 = private unnamed_addr constant [4 x i8] c"int\00" @.str11352 = private unnamed_addr constant [6 x i8] c"chars\00" @.str11353 = private unnamed_addr constant [55 x i8] c"build/cfree/selfhost.ludic:19322: index out of range: \00" @.str11354 = private unnamed_addr constant [28 x i8] c"call ptr @lp_uni_chars(ptr \00" @.str11355 = private unnamed_addr constant [2 x i8] c")\00" @.str11356 = private unnamed_addr constant [6 x i8] c"[]int\00" @.str11357 = private unnamed_addr constant [6 x i8] c"upper\00" @.str11358 = private unnamed_addr constant [55 x i8] c"build/cfree/selfhost.ludic:19326: index out of range: \00" @.str11359 = private unnamed_addr constant [27 x i8] c"call ptr @lp_uni_case(ptr \00" @.str11360 = private unnamed_addr constant [9 x i8] c", i32 1)\00" @.str11361 = private unnamed_addr constant [7 x i8] c"string\00" @.str11362 = private unnamed_addr constant [6 x i8] c"lower\00" @.str11363 = private unnamed_addr constant [55 x i8] c"build/cfree/selfhost.ludic:19330: index out of range: \00" @.str11364 = private unnamed_addr constant [27 x i8] c"call ptr @lp_uni_case(ptr \00" @.str11365 = private unnamed_addr constant [9 x i8] c", i32 0)\00" @.str11366 = private unnamed_addr constant [7 x i8] c"string\00" @.str11367 = private unnamed_addr constant [9 x i8] c"truncate\00" @.str11368 = private unnamed_addr constant [55 x i8] c"build/cfree/selfhost.ludic:19334: index out of range: \00" @.str11369 = private unnamed_addr constant [55 x i8] c"build/cfree/selfhost.ludic:19334: index out of range: \00" @.str11370 = private unnamed_addr constant [31 x i8] c"call ptr @lp_uni_truncate(ptr \00" @.str11371 = private unnamed_addr constant [7 x i8] c", i32 \00" @.str11372 = private unnamed_addr constant [2 x i8] c")\00" @.str11373 = private unnamed_addr constant [7 x i8] c"string\00" @.str11374 = private unnamed_addr constant [55 x i8] c"build/cfree/selfhost.ludic:19338: index out of range: \00" @.str11375 = private unnamed_addr constant [35 x i8] c"call i32 @lp_uni_grapheme_len(ptr \00" @.str11376 = private unnamed_addr constant [2 x i8] c")\00" @.str11377 = private unnamed_addr constant [4 x i8] c"int\00" @.str11378 = private unnamed_addr constant [34 x i8] c"define i32 @lp_uni_len(ptr %s) {\0A\00" @.str11379 = 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" @.str11380 = 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" @.str11381 = private unnamed_addr constant [61 x i8] c" %z = icmp eq i32 %c, 0\0A br i1 %z, label %done, label %go\0A\00" @.str11382 = 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" @.str11383 = 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" @.str11384 = 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" @.str11385 = private unnamed_addr constant [47 x i8] c"done:\0A %r = load i32, ptr %np\0A ret i32 %r\0A}\0A\00" @.str11386 = private unnamed_addr constant [57 x i8] c"define i32 @lp_uni_decode(ptr %s, i32 %i, ptr %cpout) {\0A\00" @.str11387 = 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" @.str11388 = private unnamed_addr constant [69 x i8] c" %a1 = icmp ult i32 %c0, 128\0A br i1 %a1, label %one, label %multi\0A\00" @.str11389 = 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" @.str11390 = 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" @.str11391 = 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" @.str11392 = 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" @.str11393 = 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" @.str11394 = 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" @.str11395 = private unnamed_addr constant [67 x i8] c" %t1z = icmp eq i32 %t1, 0\0A br i1 %t1z, label %tbad, label %tok\0A\00" @.str11396 = 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" @.str11397 = 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" @.str11398 = 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" @.str11399 = private unnamed_addr constant [67 x i8] c" %r1z = icmp eq i32 %r1, 0\0A br i1 %r1z, label %rbad, label %rc2\0A\00" @.str11400 = 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" @.str11401 = 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" @.str11402 = private unnamed_addr constant [67 x i8] c" %r2z = icmp eq i32 %r2, 0\0A br i1 %r2z, label %rbad, label %rok\0A\00" @.str11403 = 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" @.str11404 = 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" @.str11405 = 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" @.str11406 = private unnamed_addr constant [67 x i8] c" %f1z = icmp eq i32 %f1, 0\0A br i1 %f1z, label %fbad, label %fc2\0A\00" @.str11407 = 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" @.str11408 = 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" @.str11409 = private unnamed_addr constant [67 x i8] c" %f2z = icmp eq i32 %f2, 0\0A br i1 %f2z, label %fbad, label %fc3\0A\00" @.str11410 = 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" @.str11411 = private unnamed_addr constant [67 x i8] c" %f3z = icmp eq i32 %f3, 0\0A br i1 %f3z, label %fbad, label %fok\0A\00" @.str11412 = 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" @.str11413 = 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" @.str11414 = 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" @.str11415 = private unnamed_addr constant [36 x i8] c"define i32 @lp_uni_valid(ptr %s) {\0A\00" @.str11416 = 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" @.str11417 = 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" @.str11418 = private unnamed_addr constant [60 x i8] c" %z = icmp eq i32 %c, 0\0A br i1 %z, label %good, label %g\0A\00" @.str11419 = 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" @.str11420 = 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" @.str11421 = 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" @.str11422 = 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" @.str11423 = 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" @.str11424 = private unnamed_addr constant [18 x i8] c"bad:\0A ret i32 0\0A\00" @.str11425 = 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" @.str11426 = 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" @.str11427 = 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" @.str11428 = private unnamed_addr constant [71 x i8] c" %ov2 = icmp ult i32 %cp2, 128\0A br i1 %ov2, label %bad, label %adv2\0A\00" @.str11429 = 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" @.str11430 = 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" @.str11431 = 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" @.str11432 = 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" @.str11433 = 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" @.str11434 = 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" @.str11435 = private unnamed_addr constant [59 x i8] c" %cp3p = or i32 %e3s, %e3as\0A %cp3 = or i32 %cp3p, %e3bm\0A\00" @.str11436 = private unnamed_addr constant [72 x i8] c" %ov3 = icmp ult i32 %cp3, 2048\0A br i1 %ov3, label %bad, label %do3d\0A\00" @.str11437 = 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" @.str11438 = 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" @.str11439 = 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" @.str11440 = 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" @.str11441 = 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" @.str11442 = 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" @.str11443 = 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" @.str11444 = 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" @.str11445 = 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" @.str11446 = 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" @.str11447 = private unnamed_addr constant [73 x i8] c" %ov4 = icmp ult i32 %cp4, 65536\0A br i1 %ov4, label %bad, label %do4e\0A\00" @.str11448 = 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" @.str11449 = 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" @.str11450 = private unnamed_addr constant [21 x i8] c"good:\0A ret i32 1\0A}\0A\00" @.str11451 = private unnamed_addr constant [35 x i8] c"define i32 @lp_uni_upcp(i32 %c) {\0A\00" @.str11452 = 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" @.str11453 = 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" @.str11454 = 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" @.str11455 = private unnamed_addr constant [35 x i8] c"define i32 @lp_uni_locp(i32 %c) {\0A\00" @.str11456 = 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" @.str11457 = 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" @.str11458 = 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" @.str11459 = private unnamed_addr constant [39 x i8] c"define i32 @lp_uni_cpwidth(i32 %cp) {\0A\00" @.str11460 = 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" @.str11461 = 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" @.str11462 = private unnamed_addr constant [58 x i8] c"define i32 @lp_uni_encode(ptr %dst, i32 %off, i32 %cp) {\0A\00" @.str11463 = 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" @.str11464 = 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" @.str11465 = 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" @.str11466 = 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" @.str11467 = 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" @.str11468 = 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" @.str11469 = 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" @.str11470 = 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" @.str11471 = 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" @.str11472 = 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" @.str11473 = 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" @.str11474 = 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" @.str11475 = 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" @.str11476 = 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" @.str11477 = 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" @.str11478 = 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" @.str11479 = 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" @.str11480 = private unnamed_addr constant [40 x i8] c"define i32 @lp_uni_is_extend(i32 %c) {\0A\00" @.str11481 = private unnamed_addr constant [60 x i8] c" %r1 = call i32 @lp_uni_inrange(i32 %c, i32 768, i32 879)\0A\00" @.str11482 = private unnamed_addr constant [62 x i8] c" %r2 = call i32 @lp_uni_inrange(i32 %c, i32 6832, i32 6911)\0A\00" @.str11483 = private unnamed_addr constant [62 x i8] c" %r3 = call i32 @lp_uni_inrange(i32 %c, i32 7616, i32 7679)\0A\00" @.str11484 = private unnamed_addr constant [62 x i8] c" %r4 = call i32 @lp_uni_inrange(i32 %c, i32 8400, i32 8447)\0A\00" @.str11485 = private unnamed_addr constant [64 x i8] c" %r5 = call i32 @lp_uni_inrange(i32 %c, i32 65056, i32 65071)\0A\00" @.str11486 = private unnamed_addr constant [64 x i8] c" %r6 = call i32 @lp_uni_inrange(i32 %c, i32 65024, i32 65039)\0A\00" @.str11487 = private unnamed_addr constant [66 x i8] c" %r7 = call i32 @lp_uni_inrange(i32 %c, i32 917760, i32 917999)\0A\00" @.str11488 = 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" @.str11489 = private unnamed_addr constant [56 x i8] c"define i32 @lp_uni_inrange(i32 %c, i32 %lo, i32 %hi) {\0A\00" @.str11490 = 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" @.str11491 = private unnamed_addr constant [48 x i8] c"define i32 @lp_uni_char_at(ptr %s, i32 %idx) {\0A\00" @.str11492 = 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" @.str11493 = 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" @.str11494 = private unnamed_addr constant [61 x i8] c" %z = icmp eq i32 %c, 0\0A br i1 %z, label %none, label %go\0A\00" @.str11495 = 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" @.str11496 = private unnamed_addr constant [46 x i8] c"found:\0A %v = load i32, ptr %cp\0A ret i32 %v\0A\00" @.str11497 = 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" @.str11498 = private unnamed_addr constant [22 x i8] c"none:\0A ret i32 -1\0A}\0A\00" @.str11499 = private unnamed_addr constant [36 x i8] c"define ptr @lp_uni_chars(ptr %s) {\0A\00" @.str11500 = private unnamed_addr constant [79 x i8] c"entry:\0A %n = call i32 @lp_uni_len(ptr %s)\0A %h = call ptr @lp_malloc(i64 16)\0A\00" @.str11501 = private unnamed_addr constant [96 x i8] c" %nz = zext i32 %n to i64\0A %bytes = mul i64 %nz, 4\0A %data = call ptr @lp_malloc(i64 %bytes)\0A\00" @.str11502 = 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" @.str11503 = 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" @.str11504 = 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" @.str11505 = 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" @.str11506 = 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" @.str11507 = private unnamed_addr constant [61 x i8] c" %z = icmp eq i32 %c, 0\0A br i1 %z, label %done, label %go\0A\00" @.str11508 = 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" @.str11509 = 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" @.str11510 = private unnamed_addr constant [22 x i8] c"done:\0A ret ptr %h\0A}\0A\00" @.str11511 = private unnamed_addr constant [44 x i8] c"define ptr @lp_uni_case(ptr %s, i32 %up) {\0A\00" @.str11512 = private unnamed_addr constant [131 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 @lp_malloc(i64 %cap)\0A\00" @.str11513 = 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" @.str11514 = 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" @.str11515 = private unnamed_addr constant [61 x i8] c" %z = icmp eq i32 %c, 0\0A br i1 %z, label %done, label %go\0A\00" @.str11516 = 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" @.str11517 = 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" @.str11518 = 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" @.str11519 = 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" @.str11520 = private unnamed_addr constant [47 x i8] c"define ptr @lp_uni_truncate(ptr %s, i32 %n) {\0A\00" @.str11521 = 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" @.str11522 = 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" @.str11523 = 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" @.str11524 = private unnamed_addr constant [60 x i8] c" %z = icmp eq i32 %c, 0\0A br i1 %z, label %cut, label %go\0A\00" @.str11525 = 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" @.str11526 = private unnamed_addr constant [202 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 @lp_malloc(i64 %cap)\0A %lz2 = zext i32 %len to i64\0A call ptr @memcpy(ptr %out, ptr %s, i64 %lz2)\0A\00" @.str11527 = 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" @.str11528 = private unnamed_addr constant [43 x i8] c"define i32 @lp_uni_grapheme_len(ptr %s) {\0A\00" @.str11529 = 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" @.str11530 = 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" @.str11531 = 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" @.str11532 = private unnamed_addr constant [61 x i8] c" %z = icmp eq i32 %c, 0\0A br i1 %z, label %done, label %go\0A\00" @.str11533 = 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" @.str11534 = private unnamed_addr constant [75 x i8] c" %iszwj = icmp eq i32 %v, 8205\0A br i1 %iszwj, label %zwj, label %notzwj\0A\00" @.str11535 = 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" @.str11536 = 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" @.str11537 = 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" @.str11538 = 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" @.str11539 = 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" @.str11540 = 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" @.str11541 = 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" @.str11542 = private unnamed_addr constant [48 x i8] c"joinext:\0A store i32 0, ptr %rp\0A br label %lp\0A\00" @.str11543 = 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" @.str11544 = private unnamed_addr constant [47 x i8] c"joinri:\0A store i32 0, ptr %rp\0A br label %lp\0A\00" @.str11545 = 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" @.str11546 = private unnamed_addr constant [47 x i8] c"done:\0A %r = load i32, ptr %np\0A ret i32 %r\0A}\0A\00" @.str11547 = private unnamed_addr constant [7 x i8] c"exists\00" @.str11548 = private unnamed_addr constant [7 x i8] c"is_dir\00" @.str11549 = private unnamed_addr constant [10 x i8] c"read_text\00" @.str11550 = private unnamed_addr constant [11 x i8] c"write_text\00" @.str11551 = private unnamed_addr constant [12 x i8] c"append_text\00" @.str11552 = private unnamed_addr constant [7 x i8] c"remove\00" @.str11553 = private unnamed_addr constant [5 x i8] c"size\00" @.str11554 = private unnamed_addr constant [6 x i8] c"mkdir\00" @.str11555 = private unnamed_addr constant [5 x i8] c"copy\00" @.str11556 = private unnamed_addr constant [5 x i8] c"list\00" @.str11557 = private unnamed_addr constant [6 x i8] c"mount\00" @.str11558 = private unnamed_addr constant [8 x i8] c"unmount\00" @.str11559 = private unnamed_addr constant [5 x i8] c"join\00" @.str11560 = private unnamed_addr constant [4 x i8] c"dir\00" @.str11561 = private unnamed_addr constant [5 x i8] c"base\00" @.str11562 = private unnamed_addr constant [4 x i8] c"ext\00" @.str11563 = private unnamed_addr constant [5 x i8] c"stem\00" @.str11564 = private unnamed_addr constant [10 x i8] c"normalize\00" @.str11565 = private unnamed_addr constant [3 x i8] c"of\00" @.str11566 = private unnamed_addr constant [6 x i8] c"sniff\00" @.str11567 = private unnamed_addr constant [55 x i8] c"build/cfree/selfhost.ludic:19641: index out of range: \00" @.str11568 = private unnamed_addr constant [11 x i8] c"emit_fs_ns\00" @.str11569 = private unnamed_addr constant [7 x i8] c"exists\00" @.str11570 = private unnamed_addr constant [28 x i8] c"call i32 @lp_fs_exists(ptr \00" @.str11571 = private unnamed_addr constant [2 x i8] c")\00" @.str11572 = private unnamed_addr constant [5 x i8] c"bool\00" @.str11573 = private unnamed_addr constant [6 x i8] c"mount\00" @.str11574 = private unnamed_addr constant [28 x i8] c"call i32 @lp_pak_mount(ptr \00" @.str11575 = private unnamed_addr constant [2 x i8] c")\00" @.str11576 = private unnamed_addr constant [5 x i8] c"bool\00" @.str11577 = private unnamed_addr constant [8 x i8] c"unmount\00" @.str11578 = private unnamed_addr constant [30 x i8] c"call i32 @lp_pak_unmount(ptr \00" @.str11579 = private unnamed_addr constant [2 x i8] c")\00" @.str11580 = private unnamed_addr constant [5 x i8] c"bool\00" @.str11581 = private unnamed_addr constant [7 x i8] c"is_dir\00" @.str11582 = private unnamed_addr constant [28 x i8] c"call i32 @lp_fs_is_dir(ptr \00" @.str11583 = private unnamed_addr constant [2 x i8] c")\00" @.str11584 = private unnamed_addr constant [5 x i8] c"bool\00" @.str11585 = private unnamed_addr constant [10 x i8] c"read_text\00" @.str11586 = private unnamed_addr constant [31 x i8] c"call ptr @lp_fs_read_text(ptr \00" @.str11587 = private unnamed_addr constant [2 x i8] c")\00" @.str11588 = private unnamed_addr constant [7 x i8] c"string\00" @.str11589 = private unnamed_addr constant [7 x i8] c"remove\00" @.str11590 = private unnamed_addr constant [28 x i8] c"call i32 @lp_fs_remove(ptr \00" @.str11591 = private unnamed_addr constant [2 x i8] c")\00" @.str11592 = private unnamed_addr constant [5 x i8] c"bool\00" @.str11593 = private unnamed_addr constant [5 x i8] c"size\00" @.str11594 = private unnamed_addr constant [26 x i8] c"call i32 @lp_fs_size(ptr \00" @.str11595 = private unnamed_addr constant [2 x i8] c")\00" @.str11596 = private unnamed_addr constant [4 x i8] c"int\00" @.str11597 = private unnamed_addr constant [6 x i8] c"mkdir\00" @.str11598 = private unnamed_addr constant [27 x i8] c"call i32 @lp_fs_mkdir(ptr \00" @.str11599 = private unnamed_addr constant [2 x i8] c")\00" @.str11600 = private unnamed_addr constant [5 x i8] c"bool\00" @.str11601 = private unnamed_addr constant [5 x i8] c"list\00" @.str11602 = private unnamed_addr constant [26 x i8] c"call ptr @lp_fs_list(ptr \00" @.str11603 = private unnamed_addr constant [2 x i8] c")\00" @.str11604 = private unnamed_addr constant [9 x i8] c"[]string\00" @.str11605 = private unnamed_addr constant [55 x i8] c"build/cfree/selfhost.ludic:19652: index out of range: \00" @.str11606 = private unnamed_addr constant [11 x i8] c"write_text\00" @.str11607 = private unnamed_addr constant [32 x i8] c"call i32 @lp_fs_write_text(ptr \00" @.str11608 = private unnamed_addr constant [7 x i8] c", ptr \00" @.str11609 = private unnamed_addr constant [2 x i8] c")\00" @.str11610 = private unnamed_addr constant [5 x i8] c"bool\00" @.str11611 = private unnamed_addr constant [12 x i8] c"append_text\00" @.str11612 = private unnamed_addr constant [33 x i8] c"call i32 @lp_fs_append_text(ptr \00" @.str11613 = private unnamed_addr constant [7 x i8] c", ptr \00" @.str11614 = private unnamed_addr constant [2 x i8] c")\00" @.str11615 = private unnamed_addr constant [5 x i8] c"bool\00" @.str11616 = private unnamed_addr constant [26 x i8] c"call i32 @lp_fs_copy(ptr \00" @.str11617 = private unnamed_addr constant [7 x i8] c", ptr \00" @.str11618 = private unnamed_addr constant [2 x i8] c")\00" @.str11619 = private unnamed_addr constant [5 x i8] c"bool\00" @.str11620 = private unnamed_addr constant [55 x i8] c"build/cfree/selfhost.ludic:19662: index out of range: \00" @.str11621 = private unnamed_addr constant [13 x i8] c"emit_path_ns\00" @.str11622 = private unnamed_addr constant [4 x i8] c"dir\00" @.str11623 = private unnamed_addr constant [27 x i8] c"call ptr @lp_path_dir(ptr \00" @.str11624 = private unnamed_addr constant [2 x i8] c")\00" @.str11625 = private unnamed_addr constant [7 x i8] c"string\00" @.str11626 = private unnamed_addr constant [5 x i8] c"base\00" @.str11627 = private unnamed_addr constant [28 x i8] c"call ptr @lp_path_base(ptr \00" @.str11628 = private unnamed_addr constant [2 x i8] c")\00" @.str11629 = private unnamed_addr constant [7 x i8] c"string\00" @.str11630 = private unnamed_addr constant [4 x i8] c"ext\00" @.str11631 = private unnamed_addr constant [27 x i8] c"call ptr @lp_path_ext(ptr \00" @.str11632 = private unnamed_addr constant [2 x i8] c")\00" @.str11633 = private unnamed_addr constant [7 x i8] c"string\00" @.str11634 = private unnamed_addr constant [5 x i8] c"stem\00" @.str11635 = private unnamed_addr constant [28 x i8] c"call ptr @lp_path_stem(ptr \00" @.str11636 = private unnamed_addr constant [2 x i8] c")\00" @.str11637 = private unnamed_addr constant [7 x i8] c"string\00" @.str11638 = private unnamed_addr constant [10 x i8] c"normalize\00" @.str11639 = private unnamed_addr constant [28 x i8] c"call ptr @lp_path_norm(ptr \00" @.str11640 = private unnamed_addr constant [2 x i8] c")\00" @.str11641 = private unnamed_addr constant [7 x i8] c"string\00" @.str11642 = private unnamed_addr constant [55 x i8] c"build/cfree/selfhost.ludic:19669: index out of range: \00" @.str11643 = private unnamed_addr constant [28 x i8] c"call ptr @lp_path_join(ptr \00" @.str11644 = private unnamed_addr constant [7 x i8] c", ptr \00" @.str11645 = private unnamed_addr constant [2 x i8] c")\00" @.str11646 = private unnamed_addr constant [7 x i8] c"string\00" @.str11647 = private unnamed_addr constant [55 x i8] c"build/cfree/selfhost.ludic:19675: index out of range: \00" @.str11648 = private unnamed_addr constant [13 x i8] c"emit_mime_ns\00" @.str11649 = private unnamed_addr constant [6 x i8] c"sniff\00" @.str11650 = private unnamed_addr constant [29 x i8] c"call ptr @lp_mime_sniff(ptr \00" @.str11651 = private unnamed_addr constant [2 x i8] c")\00" @.str11652 = private unnamed_addr constant [7 x i8] c"string\00" @.str11653 = private unnamed_addr constant [26 x i8] c"call ptr @lp_mime_of(ptr \00" @.str11654 = private unnamed_addr constant [2 x i8] c")\00" @.str11655 = private unnamed_addr constant [7 x i8] c"string\00" @.str11656 = private unnamed_addr constant [26 x i8] c"declare i32 @remove(ptr)\0A\00" @.str11657 = private unnamed_addr constant [31 x i8] c"declare i32 @access(ptr, i32)\0A\00" @.str11658 = private unnamed_addr constant [30 x i8] c"declare i32 @mkdir(ptr, i32)\0A\00" @.str11659 = private unnamed_addr constant [31 x i8] c"declare i32 @rename(ptr, ptr)\0A\00" @.str11660 = private unnamed_addr constant [27 x i8] c"declare ptr @opendir(ptr)\0A\00" @.str11661 = private unnamed_addr constant [27 x i8] c"declare ptr @readdir(ptr)\0A\00" @.str11662 = private unnamed_addr constant [28 x i8] c"declare i32 @closedir(ptr)\0A\00" @.str11663 = private unnamed_addr constant [41 x i8] c"define ptr @lp_fs_dup(ptr %s, i32 %n) {\0A\00" @.str11664 = private unnamed_addr constant [136 x i8] c"entry:\0A %nz = zext i32 %n to i64\0A %t = add i64 %nz, 1\0A %m = call ptr @lp_malloc(i64 %t)\0A call ptr @memcpy(ptr %m, ptr %s, i64 %nz)\0A\00" @.str11665 = 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" @.str11666 = private unnamed_addr constant [36 x i8] c"define ptr @lp_fs_strdup(ptr %s) {\0A\00" @.str11667 = 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" @.str11668 = private unnamed_addr constant [39 x i8] c"define i32 @lp_fs_lastslash(ptr %s) {\0A\00" @.str11669 = 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" @.str11670 = 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" @.str11671 = private unnamed_addr constant [61 x i8] c" %z = icmp eq i32 %c, 0\0A br i1 %z, label %done, label %go\0A\00" @.str11672 = 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" @.str11673 = private unnamed_addr constant [45 x i8] c"set:\0A store i32 %i, ptr %rp\0A br label %nx\0A\00" @.str11674 = 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" @.str11675 = private unnamed_addr constant [47 x i8] c"done:\0A %r = load i32, ptr %rp\0A ret i32 %r\0A}\0A\00" @.str11676 = private unnamed_addr constant [44 x i8] c"define ptr @lp_path_join(ptr %a, ptr %b) {\0A\00" @.str11677 = 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" @.str11678 = 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" @.str11679 = private unnamed_addr constant [60 x i8] c"retb:\0A %rb = call ptr @lp_fs_strdup(ptr %b)\0A ret ptr %rb\0A\00" @.str11680 = 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" @.str11681 = private unnamed_addr constant [63 x i8] c"retb2:\0A %rb2 = call ptr @lp_fs_strdup(ptr %b)\0A ret ptr %rb2\0A\00" @.str11682 = 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" @.str11683 = private unnamed_addr constant [60 x i8] c"reta:\0A %ra = call ptr @lp_fs_strdup(ptr %a)\0A ret ptr %ra\0A\00" @.str11684 = 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" @.str11685 = private unnamed_addr constant [192 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 @lp_malloc(i64 %totz)\0A\00" @.str11686 = 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" @.str11687 = private unnamed_addr constant [42 x i8] c" br i1 %ends, label %nosep, label %wsep\0A\00" @.str11688 = 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" @.str11689 = private unnamed_addr constant [26 x i8] c"nosep:\0A br label %after\0A\00" @.str11690 = 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" @.str11691 = 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" @.str11692 = private unnamed_addr constant [36 x i8] c"define ptr @lp_path_base(ptr %s) {\0A\00" @.str11693 = 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" @.str11694 = private unnamed_addr constant [59 x i8] c"whole:\0A %r = call ptr @lp_fs_strdup(ptr %s)\0A ret ptr %r\0A\00" @.str11695 = 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" @.str11696 = private unnamed_addr constant [35 x i8] c"define ptr @lp_path_dir(ptr %s) {\0A\00" @.str11697 = 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" @.str11698 = 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" @.str11699 = 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" @.str11700 = 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" @.str11701 = 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" @.str11702 = private unnamed_addr constant [35 x i8] c"define ptr @lp_path_ext(ptr %s) {\0A\00" @.str11703 = 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" @.str11704 = 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" @.str11705 = 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" @.str11706 = 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" @.str11707 = private unnamed_addr constant [44 x i8] c"sd:\0A store i32 %i, ptr %dp\0A br label %nx\0A\00" @.str11708 = 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" @.str11709 = 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" @.str11710 = 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" @.str11711 = 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" @.str11712 = 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" @.str11713 = 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" @.str11714 = private unnamed_addr constant [36 x i8] c"define ptr @lp_path_stem(ptr %s) {\0A\00" @.str11715 = 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" @.str11716 = 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" @.str11717 = private unnamed_addr constant [155 x i8] c" %keep = sub i32 %bl, %el\0A %r = call ptr @lp_fs_dup(ptr %base, i32 %keep)\0A call void @lp_free(ptr %base)\0A call void @lp_free(ptr %ext)\0A ret ptr %r\0A}\0A\00" @.str11718 = private unnamed_addr constant [36 x i8] c"define ptr @lp_path_norm(ptr %s) {\0A\00" @.str11719 = 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" @.str11720 = private unnamed_addr constant [41 x i8] c" %out = call ptr @lp_malloc(i64 %capz)\0A\00" @.str11721 = private unnamed_addr constant [99 x i8] c" %stz = mul i32 %cap, 4\0A %stzz = zext i32 %stz to i64\0A %segst = call ptr @lp_malloc(i64 %stzz)\0A\00" @.str11722 = 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" @.str11723 = 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" @.str11724 = private unnamed_addr constant [40 x i8] c" br i1 %abs, label %ldr, label %noldr\0A\00" @.str11725 = 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" @.str11726 = private unnamed_addr constant [47 x i8] c"noldr:\0A store i32 0, ptr %op\0A br label %seg\0A\00" @.str11727 = private unnamed_addr constant [23 x i8] c"seg:\0A br label %sksl\0A\00" @.str11728 = 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" @.str11729 = 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" @.str11730 = private unnamed_addr constant [54 x i8] c"segstart:\0A %ss = load i32, ptr %ip\0A br label %scan\0A\00" @.str11731 = 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" @.str11732 = 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" @.str11733 = 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" @.str11734 = private unnamed_addr constant [11 x i8] c"classify:\0A\00" @.str11735 = 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" @.str11736 = 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" @.str11737 = 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" @.str11738 = 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" @.str11739 = 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" @.str11740 = private unnamed_addr constant [54 x i8] c"chkrel:\0A br i1 %abs, label %contseg, label %keepseg\0A\00" @.str11741 = 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" @.str11742 = private unnamed_addr constant [63 x i8] c" %cpp = alloca i32\0A store i32 %ss, ptr %cpp\0A br label %cpy\0A\00" @.str11743 = 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" @.str11744 = 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" @.str11745 = 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" @.str11746 = 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" @.str11747 = private unnamed_addr constant [27 x i8] c"atend:\0A br label %finish\0A\00" @.str11748 = 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" @.str11749 = 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" @.str11750 = private unnamed_addr constant [52 x i8] c"trim:\0A store i32 %lasto, ptr %op\0A br label %term\0A\00" @.str11751 = private unnamed_addr constant [28 x i8] c"fdefault:\0A br label %term\0A\00" @.str11752 = 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" @.str11753 = private unnamed_addr constant [147 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 call void @lp_free(ptr %segst)\0A ret ptr %out\0A\00" @.str11754 = private unnamed_addr constant [125 x i8] c"putnul:\0A %ep = getelementptr i8, ptr %out, i32 %eo\0A store i8 0, ptr %ep\0A call void @lp_free(ptr %segst)\0A ret ptr %out\0A}\0A\00" @.str11755 = private unnamed_addr constant [36 x i8] c"define i32 @lp_fs_exists(ptr %p) {\0A\00" @.str11756 = 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" @.str11757 = private unnamed_addr constant [18 x i8] c"yes:\0A ret i32 1\0A\00" @.str11758 = 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" @.str11759 = private unnamed_addr constant [36 x i8] c"define i32 @lp_fs_is_dir(ptr %p) {\0A\00" @.str11760 = 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" @.str11761 = private unnamed_addr constant [47 x i8] c"yes:\0A call i32 @closedir(ptr %d)\0A ret i32 1\0A\00" @.str11762 = private unnamed_addr constant [19 x i8] c"no:\0A ret i32 0\0A}\0A\00" @.str11763 = private unnamed_addr constant [34 x i8] c"define i32 @lp_fs_size(ptr %p) {\0A\00" @.str11764 = 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" @.str11765 = private unnamed_addr constant [23 x i8] c"packed:\0A ret i32 %pn\0A\00" @.str11766 = 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" @.str11767 = private unnamed_addr constant [19 x i8] c"bad:\0A ret i32 -1\0A\00" @.str11768 = 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" @.str11769 = private unnamed_addr constant [50 x i8] c"define ptr @lp_fs_readall(ptr %p, ptr %lenout) {\0A\00" @.str11770 = 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" @.str11771 = private unnamed_addr constant [21 x i8] c"bad:\0A ret ptr null\0A\00" @.str11772 = 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" @.str11773 = private unnamed_addr constant [147 x i8] c" %cap = add i64 %n64, 1\0A %m = call ptr @lp_malloc(i64 %cap)\0A %rd = call i64 @fread(ptr %m, i64 1, i64 %n64, ptr %f)\0A call i32 @fclose(ptr %f)\0A\00" @.str11774 = 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" @.str11775 = private unnamed_addr constant [39 x i8] c"define ptr @lp_fs_read_text(ptr %p) {\0A\00" @.str11776 = 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" @.str11777 = private unnamed_addr constant [48 x i8] c"define i32 @lp_fs_write_text(ptr %p, ptr %s) {\0A\00" @.str11778 = 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" @.str11779 = private unnamed_addr constant [49 x i8] c"bad:\0A call void @lp_free(ptr %tmp)\0A ret i32 0\0A\00" @.str11780 = 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" @.str11781 = private unnamed_addr constant [145 x i8] c" %rr = call i32 @rename(ptr %tmp, ptr %p)\0A call void @lp_free(ptr %tmp)\0A %ok2 = icmp eq i32 %rr, 0\0A %z = zext i1 %ok2 to i32\0A ret i32 %z\0A}\0A\00" @.str11782 = private unnamed_addr constant [48 x i8] c"define ptr @lp_path_join_ext(ptr %a, ptr %b) {\0A\00" @.str11783 = private unnamed_addr constant [162 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 @lp_malloc(i64 %tot)\0A\00" @.str11784 = 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" @.str11785 = private unnamed_addr constant [49 x i8] c"define i32 @lp_fs_append_text(ptr %p, ptr %s) {\0A\00" @.str11786 = 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" @.str11787 = private unnamed_addr constant [18 x i8] c"bad:\0A ret i32 0\0A\00" @.str11788 = 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" @.str11789 = private unnamed_addr constant [36 x i8] c"define i32 @lp_fs_remove(ptr %p) {\0A\00" @.str11790 = 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" @.str11791 = private unnamed_addr constant [46 x i8] c"define i32 @lp_fs_copy(ptr %src, ptr %dst) {\0A\00" @.str11792 = 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" @.str11793 = private unnamed_addr constant [18 x i8] c"bad:\0A ret i32 0\0A\00" @.str11794 = private unnamed_addr constant [186 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 %badw\0A\00" @.str11795 = private unnamed_addr constant [81 x i8] c"badw:\0A call void @lp_free(ptr %buf)\0A call void @lp_free(ptr %tmp)\0A ret i32 0\0A\00" @.str11796 = private unnamed_addr constant [317 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 call void @lp_free(ptr %buf)\0A call void @lp_free(ptr %tmp)\0A %ok2 = icmp eq i32 %rr, 0\0A %z = zext i1 %ok2 to i32\0A ret i32 %z\0A}\0A\00" @.str11797 = private unnamed_addr constant [35 x i8] c"define i32 @lp_fs_mkdir(ptr %p) {\0A\00" @.str11798 = 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" @.str11799 = 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" @.str11800 = 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" @.str11801 = 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" @.str11802 = 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" @.str11803 = private unnamed_addr constant [127 x i8] c"fin:\0A call i32 @mkdir(ptr %dup, i32 493)\0A call void @lp_free(ptr %dup)\0A %r = call i32 @lp_fs_is_dir(ptr %p)\0A ret i32 %r\0A}\0A\00" @.str11804 = private unnamed_addr constant [37 x i8] c"define ptr @lp_fs_list(ptr %path) {\0A\00" @.str11805 = private unnamed_addr constant [226 x i8] c"entry:\0A %h = call ptr @lp_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" @.str11806 = private unnamed_addr constant [185 x i8] c" %datap = alloca ptr\0A %cntp = alloca i32\0A %capp = alloca i32\0A %init = call ptr @lp_malloc(i64 128)\0A store ptr %init, ptr %datap\0A store i32 0, ptr %cntp\0A store i32 16, ptr %capp\0A\00" @.str11807 = 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" @.str11808 = 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" @.str11809 = private unnamed_addr constant [51 x i8] c"ent:\0A %namep = getelementptr i8, ptr %de, i32 21\0A\00" @.str11810 = 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" @.str11811 = 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" @.str11812 = 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" @.str11813 = 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" @.str11814 = private unnamed_addr constant [50 x i8] c"keep:\0A %nm = call ptr @lp_fs_strdup(ptr %namep)\0A\00" @.str11815 = 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" @.str11816 = private unnamed_addr constant [235 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 @lp_realloc(ptr %old, i64 %nb)\0A store ptr %new, ptr %datap\0A br label %put\0A\00" @.str11817 = 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" @.str11818 = private unnamed_addr constant [59 x i8] c"closed:\0A call i32 @closedir(ptr %dir)\0A br label %sortit\0A\00" @.str11819 = private unnamed_addr constant [27 x i8] c"empty:\0A br label %sortit\0A\00" @.str11820 = 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" @.str11821 = 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" @.str11822 = 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" @.str11823 = 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" @.str11824 = 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" @.str11825 = 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" @.str11826 = 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" @.str11827 = 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" @.str11828 = private unnamed_addr constant [13 x i8] c"emit_fs_mime\00" @.str11829 = private unnamed_addr constant [4 x i8] c"png\00" @.str11830 = private unnamed_addr constant [10 x i8] c"image/png\00" @.str11831 = private unnamed_addr constant [4 x i8] c"jpg\00" @.str11832 = private unnamed_addr constant [11 x i8] c"image/jpeg\00" @.str11833 = private unnamed_addr constant [5 x i8] c"jpeg\00" @.str11834 = private unnamed_addr constant [11 x i8] c"image/jpeg\00" @.str11835 = private unnamed_addr constant [4 x i8] c"gif\00" @.str11836 = private unnamed_addr constant [10 x i8] c"image/gif\00" @.str11837 = private unnamed_addr constant [4 x i8] c"bmp\00" @.str11838 = private unnamed_addr constant [10 x i8] c"image/bmp\00" @.str11839 = private unnamed_addr constant [5 x i8] c"webp\00" @.str11840 = private unnamed_addr constant [11 x i8] c"image/webp\00" @.str11841 = private unnamed_addr constant [4 x i8] c"svg\00" @.str11842 = private unnamed_addr constant [14 x i8] c"image/svg+xml\00" @.str11843 = private unnamed_addr constant [4 x i8] c"txt\00" @.str11844 = private unnamed_addr constant [11 x i8] c"text/plain\00" @.str11845 = private unnamed_addr constant [3 x i8] c"md\00" @.str11846 = private unnamed_addr constant [14 x i8] c"text/markdown\00" @.str11847 = private unnamed_addr constant [4 x i8] c"csv\00" @.str11848 = private unnamed_addr constant [9 x i8] c"text/csv\00" @.str11849 = private unnamed_addr constant [5 x i8] c"html\00" @.str11850 = private unnamed_addr constant [10 x i8] c"text/html\00" @.str11851 = private unnamed_addr constant [4 x i8] c"htm\00" @.str11852 = private unnamed_addr constant [10 x i8] c"text/html\00" @.str11853 = private unnamed_addr constant [4 x i8] c"css\00" @.str11854 = private unnamed_addr constant [9 x i8] c"text/css\00" @.str11855 = private unnamed_addr constant [3 x i8] c"js\00" @.str11856 = private unnamed_addr constant [16 x i8] c"text/javascript\00" @.str11857 = private unnamed_addr constant [5 x i8] c"json\00" @.str11858 = private unnamed_addr constant [17 x i8] c"application/json\00" @.str11859 = private unnamed_addr constant [4 x i8] c"xml\00" @.str11860 = private unnamed_addr constant [16 x i8] c"application/xml\00" @.str11861 = private unnamed_addr constant [4 x i8] c"zip\00" @.str11862 = private unnamed_addr constant [16 x i8] c"application/zip\00" @.str11863 = private unnamed_addr constant [4 x i8] c"pdf\00" @.str11864 = private unnamed_addr constant [16 x i8] c"application/pdf\00" @.str11865 = private unnamed_addr constant [4 x i8] c"wav\00" @.str11866 = private unnamed_addr constant [10 x i8] c"audio/wav\00" @.str11867 = private unnamed_addr constant [4 x i8] c"ogg\00" @.str11868 = private unnamed_addr constant [10 x i8] c"audio/ogg\00" @.str11869 = private unnamed_addr constant [4 x i8] c"mp3\00" @.str11870 = private unnamed_addr constant [11 x i8] c"audio/mpeg\00" @.str11871 = private unnamed_addr constant [4 x i8] c"ttf\00" @.str11872 = private unnamed_addr constant [9 x i8] c"font/ttf\00" @.str11873 = private unnamed_addr constant [4 x i8] c"otf\00" @.str11874 = private unnamed_addr constant [9 x i8] c"font/otf\00" @.str11875 = private unnamed_addr constant [6 x i8] c"ludic\00" @.str11876 = private unnamed_addr constant [13 x i8] c"text/x-ludic\00" @.str11877 = private unnamed_addr constant [55 x i8] c"build/cfree/selfhost.ludic:19982: index out of range: \00" @.str11878 = private unnamed_addr constant [55 x i8] c"build/cfree/selfhost.ludic:19982: index out of range: \00" @.str11879 = private unnamed_addr constant [25 x i8] c"application/octet-stream\00" @.str11880 = private unnamed_addr constant [44 x i8] c"@mime_tbl = private unnamed_addr constant [\00" @.str11881 = private unnamed_addr constant [19 x i8] c" x { ptr, ptr }] [\00" @.str11882 = private unnamed_addr constant [3 x i8] c", \00" @.str11883 = private unnamed_addr constant [20 x i8] c"{ ptr, ptr } { ptr \00" @.str11884 = private unnamed_addr constant [55 x i8] c"build/cfree/selfhost.ludic:19991: index out of range: \00" @.str11885 = private unnamed_addr constant [7 x i8] c", ptr \00" @.str11886 = private unnamed_addr constant [55 x i8] c"build/cfree/selfhost.ludic:19991: index out of range: \00" @.str11887 = private unnamed_addr constant [3 x i8] c" }\00" @.str11888 = private unnamed_addr constant [3 x i8] c"]\0A\00" @.str11889 = private unnamed_addr constant [37 x i8] c"define ptr @lp_mime_of(ptr %path) {\0A\00" @.str11890 = 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" @.str11891 = private unnamed_addr constant [55 x i8] c"lp:\0A %i = load i32, ptr %ip\0A %lt = icmp slt i32 %i, \00" @.str11892 = private unnamed_addr constant [39 x i8] c"\0A br i1 %lt, label %body, label %def\0A\00" @.str11893 = private unnamed_addr constant [30 x i8] c"body:\0A %kp = getelementptr [\00" @.str11894 = 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" @.str11895 = private unnamed_addr constant [29 x i8] c"hit:\0A %vp = getelementptr [\00" @.str11896 = private unnamed_addr constant [192 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 call void @lp_free(ptr %ext)\0A call void @lp_free(ptr %lc)\0A ret ptr %r\0A\00" @.str11897 = 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" @.str11898 = private unnamed_addr constant [40 x i8] c"def:\0A %d = call ptr @lp_fs_strdup(ptr \00" @.str11899 = private unnamed_addr constant [79 x i8] c")\0A call void @lp_free(ptr %ext)\0A call void @lp_free(ptr %lc)\0A ret ptr %d\0A}\0A\00" @.str11900 = private unnamed_addr constant [34 x i8] c"define ptr @lp_mime_lc(ptr %s) {\0A\00" @.str11901 = private unnamed_addr constant [135 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 @lp_malloc(i64 %cap)\0A\00" @.str11902 = 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" @.str11903 = 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" @.str11904 = 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" @.str11905 = 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" @.str11906 = 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" @.str11907 = private unnamed_addr constant [40 x i8] c"define ptr @lp_mime_sniff(ptr %path) {\0A\00" @.str11908 = 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" @.str11909 = private unnamed_addr constant [228 x i8] c"ok:\0A %buf = call ptr @lp_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 %nomatch\0A\00" @.str11910 = 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" @.str11911 = 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" @.str11912 = private unnamed_addr constant [103 x i8] c"png:\0A %rpng = call ptr @lp_fs_strdup(ptr @fn_sig_png)\0A call void @lp_free(ptr %buf)\0A ret ptr %rpng\0A\00" @.str11913 = 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" @.str11914 = private unnamed_addr constant [103 x i8] c"jpg:\0A %rjpg = call ptr @lp_fs_strdup(ptr @fn_sig_jpg)\0A call void @lp_free(ptr %buf)\0A ret ptr %rjpg\0A\00" @.str11915 = 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" @.str11916 = private unnamed_addr constant [103 x i8] c"gif:\0A %rgif = call ptr @lp_fs_strdup(ptr @fn_sig_gif)\0A call void @lp_free(ptr %buf)\0A ret ptr %rgif\0A\00" @.str11917 = private unnamed_addr constant [233 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 %nomatch\0A\00" @.str11918 = private unnamed_addr constant [103 x i8] c"pdf:\0A %rpdf = call ptr @lp_fs_strdup(ptr @fn_sig_pdf)\0A call void @lp_free(ptr %buf)\0A ret ptr %rpdf\0A\00" @.str11919 = private unnamed_addr constant [62 x i8] c"nomatch:\0A call void @lp_free(ptr %buf)\0A br label %fallback\0A\00" @.str11920 = 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" @.str11921 = private unnamed_addr constant [62 x i8] c"@fn_str_rb = private unnamed_addr constant [3 x i8] c\22rb\5C00\22\0A\00" @.str11922 = private unnamed_addr constant [62 x i8] c"@fn_str_wb = private unnamed_addr constant [3 x i8] c\22wb\5C00\22\0A\00" @.str11923 = private unnamed_addr constant [62 x i8] c"@fn_str_ab = private unnamed_addr constant [3 x i8] c\22ab\5C00\22\0A\00" @.str11924 = private unnamed_addr constant [62 x i8] c"@fn_str_dot = private unnamed_addr constant [2 x i8] c\22.\5C00\22\0A\00" @.str11925 = private unnamed_addr constant [64 x i8] c"@fn_str_slash = private unnamed_addr constant [2 x i8] c\22/\5C00\22\0A\00" @.str11926 = private unnamed_addr constant [63 x i8] c"@fn_str_empty = private unnamed_addr constant [1 x i8] c\22\5C00\22\0A\00" @.str11927 = 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" @.str11928 = 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" @.str11929 = 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" @.str11930 = 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" @.str11931 = 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" @.str11932 = private unnamed_addr constant [34 x i8] c"declare i32 @open(ptr, i32, ...)\0A\00" @.str11933 = private unnamed_addr constant [25 x i8] c"declare i32 @close(i32)\0A\00" @.str11934 = private unnamed_addr constant [35 x i8] c"declare i64 @lseek(i32, i64, i32)\0A\00" @.str11935 = private unnamed_addr constant [49 x i8] c"declare ptr @mmap(ptr, i64, i32, i32, i32, i64)\0A\00" @.str11936 = private unnamed_addr constant [38 x i8] c"declare ptr @fmemopen(ptr, i64, ptr)\0A\00" @.str11937 = private unnamed_addr constant [31 x i8] c"declare i32 @munmap(ptr, i64)\0A\00" @.str11938 = private unnamed_addr constant [25 x i8] c"declare i32 @chdir(ptr)\0A\00" @.str11939 = private unnamed_addr constant [45 x i8] c"declare i32 @_NSGetExecutablePath(ptr, ptr)\0A\00" @.str11940 = private unnamed_addr constant [63 x i8] c"@.pak_rb = private unnamed_addr constant [3 x i8] c\22rb\5C00\22\0A\00" @.str11941 = private unnamed_addr constant [73 x i8] c"@.pak_idx = private unnamed_addr constant [12 x i8] c\22packs.index\5C00\22\0A\00" @.str11942 = private unnamed_addr constant [74 x i8] c"@.pak_res = private unnamed_addr constant [13 x i8] c\22../Resources\5C00\22\0A\00" @.str11943 = 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" @.str11944 = private unnamed_addr constant [65 x i8] c"@.pak_home = private unnamed_addr constant [5 x i8] c\22HOME\5C00\22\0A\00" @.str11945 = private unnamed_addr constant [57 x i8] c"@L_pak_base = internal global [8 x ptr] zeroinitializer\0A\00" @.str11946 = private unnamed_addr constant [37 x i8] c"@L_pak_n = internal global i32 0\0A\00" @.str11947 = private unnamed_addr constant [57 x i8] c"@L_pak_len = internal global [8 x i64] zeroinitializer\0A\00" @.str11948 = private unnamed_addr constant [57 x i8] c"@L_pak_path = internal global [8 x ptr] zeroinitializer\0A\00" @.str11949 = private unnamed_addr constant [44 x i8] c"@L_pak_splash = internal global ptr null\0A\00" @.str11950 = private unnamed_addr constant [41 x i8] c"@L_pak_splashbg = internal global i32 0\0A\00" @.str11951 = private unnamed_addr constant [42 x i8] c"declare void @splash_show(ptr, i32, i32)\0A\00" @.str11952 = private unnamed_addr constant [29 x i8] c"declare void @splash_hide()\0A\00" @.str11953 = private unnamed_addr constant [38 x i8] c"declare void @app_set_icon(ptr, i32)\0A\00" @.str11954 = private unnamed_addr constant [37 x i8] c"declare void @app_window_fixed(i32)\0A\00" @.str11955 = private unnamed_addr constant [34 x i8] c"declare i32 @win_monitor_count()\0A\00" @.str11956 = private unnamed_addr constant [42 x i8] c"declare void @app_window_to_monitor(i32)\0A\00" @.str11957 = private unnamed_addr constant [33 x i8] c"declare void @app_window_hide()\0A\00" @.str11958 = private unnamed_addr constant [33 x i8] c"declare void @app_window_show()\0A\00" @.str11959 = private unnamed_addr constant [63 x i8] c"@llvm.global_ctors = appending global [1 x { i32, ptr, ptr }] \00" @.str11960 = private unnamed_addr constant [61 x i8] c"[{ i32, ptr, ptr } { i32 101, ptr @lp_pak_boot, ptr null }]\0A\00" @.str11961 = private unnamed_addr constant [39 x i8] c"define i32 @lp_pak_mount(ptr %path) {\0A\00" @.str11962 = 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" @.str11963 = 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" @.str11964 = 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" @.str11965 = 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" @.str11966 = 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" @.str11967 = 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" @.str11968 = 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" @.str11969 = private unnamed_addr constant [96 x i8] c" %lslot = getelementptr [8 x i64], ptr @L_pak_len, i32 0, i32 %n\0A store i64 %end, ptr %lslot\0A\00" @.str11970 = private unnamed_addr constant [144 x i8] c" %pcopy = call ptr @lp_fs_strdup(ptr %path)\0A %pslot = getelementptr [8 x ptr], ptr @L_pak_path, i32 0, i32 %n\0A store ptr %pcopy, ptr %pslot\0A\00" @.str11971 = 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" @.str11972 = private unnamed_addr constant [51 x i8] c"clo:\0A %c2 = call i32 @close(i32 %fd)\0A ret i32 0\0A\00" @.str11973 = private unnamed_addr constant [19 x i8] c"no:\0A ret i32 0\0A}\0A\00" @.str11974 = private unnamed_addr constant [41 x i8] c"define i32 @lp_pak_unmount(ptr %path) {\0A\00" @.str11975 = private unnamed_addr constant [97 x i8] c"entry:\0A %n = load i32, ptr @L_pak_n\0A %ip = alloca i32\0A store i32 0, ptr %ip\0A br label %find\0A\00" @.str11976 = private unnamed_addr constant [97 x i8] c"find:\0A %i = load i32, ptr %ip\0A %end = icmp sge i32 %i, %n\0A br i1 %end, label %no, label %cmp\0A\00" @.str11977 = private unnamed_addr constant [169 x i8] c"cmp:\0A %pp = getelementptr [8 x ptr], ptr @L_pak_path, i32 0, i32 %i\0A %p = load ptr, ptr %pp\0A %isnull = icmp eq ptr %p, null\0A br i1 %isnull, label %next, label %str\0A\00" @.str11978 = private unnamed_addr constant [117 x i8] c"str:\0A %c = call i32 @strcmp(ptr %p, ptr %path)\0A %same = icmp eq i32 %c, 0\0A br i1 %same, label %drop, label %next\0A\00" @.str11979 = private unnamed_addr constant [71 x i8] c"next:\0A %i1 = add i32 %i, 1\0A store i32 %i1, ptr %ip\0A br label %find\0A\00" @.str11980 = private unnamed_addr constant [189 x i8] c"drop:\0A %bp = getelementptr [8 x ptr], ptr @L_pak_base, i32 0, i32 %i\0A %base = load ptr, ptr %bp\0A %lp = getelementptr [8 x i64], ptr @L_pak_len, i32 0, i32 %i\0A %len = load i64, ptr %lp\0A\00" @.str11981 = private unnamed_addr constant [45 x i8] c" %u = call i32 @UnmapViewOfFile(ptr %base)\0A\00" @.str11982 = private unnamed_addr constant [46 x i8] c" %u = call i32 @munmap(ptr %base, i64 %len)\0A\00" @.str11983 = private unnamed_addr constant [91 x i8] c" call void @lp_free(ptr %p)\0A %jp = alloca i32\0A store i32 %i, ptr %jp\0A br label %shift\0A\00" @.str11984 = private unnamed_addr constant [124 x i8] c"shift:\0A %j = load i32, ptr %jp\0A %j1 = add i32 %j, 1\0A %more = icmp slt i32 %j1, %n\0A br i1 %more, label %mv, label %done\0A\00" @.str11985 = private unnamed_addr constant [185 x i8] c"mv:\0A %sb = getelementptr [8 x ptr], ptr @L_pak_base, i32 0, i32 %j1\0A %vb = load ptr, ptr %sb\0A %db = getelementptr [8 x ptr], ptr @L_pak_base, i32 0, i32 %j\0A store ptr %vb, ptr %db\0A\00" @.str11986 = private unnamed_addr constant [179 x i8] c" %sl = getelementptr [8 x i64], ptr @L_pak_len, i32 0, i32 %j1\0A %vl = load i64, ptr %sl\0A %dl = getelementptr [8 x i64], ptr @L_pak_len, i32 0, i32 %j\0A store i64 %vl, ptr %dl\0A\00" @.str11987 = private unnamed_addr constant [181 x i8] c" %sp = getelementptr [8 x ptr], ptr @L_pak_path, i32 0, i32 %j1\0A %vp = load ptr, ptr %sp\0A %dp = getelementptr [8 x ptr], ptr @L_pak_path, i32 0, i32 %j\0A store ptr %vp, ptr %dp\0A\00" @.str11988 = private unnamed_addr constant [44 x i8] c" store i32 %j1, ptr %jp\0A br label %shift\0A\00" @.str11989 = private unnamed_addr constant [166 x i8] c"done:\0A %n1 = sub i32 %n, 1\0A store i32 %n1, ptr @L_pak_n\0A %last = getelementptr [8 x ptr], ptr @L_pak_path, i32 0, i32 %n1\0A store ptr null, ptr %last\0A ret i32 1\0A\00" @.str11990 = private unnamed_addr constant [19 x i8] c"no:\0A ret i32 0\0A}\0A\00" @.str11991 = private unnamed_addr constant [35 x i8] c"define ptr @lp_pak_norm(ptr %p) {\0A\00" @.str11992 = 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" @.str11993 = 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" @.str11994 = 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" @.str11995 = private unnamed_addr constant [22 x i8] c"same:\0A ret ptr %p\0A}\0A\00" @.str11996 = private unnamed_addr constant [63 x i8] c"define ptr @lp_pak_find1(ptr %base, ptr %name, ptr %outlen) {\0A\00" @.str11997 = 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" @.str11998 = 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" @.str11999 = 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" @.str12000 = 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" @.str12001 = 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" @.str12002 = private unnamed_addr constant [67 x i8] c" %iseq = icmp eq i32 %c, 0\0A br i1 %iseq, label %hit, label %cmp\0A\00" @.str12003 = 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" @.str12004 = 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" @.str12005 = 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" @.str12006 = 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" @.str12007 = 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" @.str12008 = private unnamed_addr constant [24 x i8] c"miss:\0A ret ptr null\0A}\0A\00" @.str12009 = private unnamed_addr constant [51 x i8] c"define ptr @lp_pak_find(ptr %path, ptr %outlen) {\0A\00" @.str12010 = 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" @.str12011 = 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" @.str12012 = 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" @.str12013 = 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" @.str12014 = 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" @.str12015 = private unnamed_addr constant [19 x i8] c"got:\0A ret ptr %r\0A\00" @.str12016 = 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" @.str12017 = private unnamed_addr constant [24 x i8] c"miss:\0A ret ptr null\0A}\0A\00" @.str12018 = private unnamed_addr constant [37 x i8] c"define i32 @lp_pak_has(ptr %path) {\0A\00" @.str12019 = 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" @.str12020 = 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" @.str12021 = private unnamed_addr constant [39 x i8] c"define i32 @lp_pak_bytes(ptr %path) {\0A\00" @.str12022 = 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" @.str12023 = private unnamed_addr constant [67 x i8] c" %hit = icmp ne ptr %b, null\0A br i1 %hit, label %yes, label %no\0A\00" @.str12024 = private unnamed_addr constant [44 x i8] c"yes:\0A %l = load i32, ptr %lp\0A ret i32 %l\0A\00" @.str12025 = private unnamed_addr constant [20 x i8] c"no:\0A ret i32 -1\0A}\0A\00" @.str12026 = private unnamed_addr constant [49 x i8] c"define ptr @lp_pak_open(ptr %path, ptr %mode) {\0A\00" @.str12027 = 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" @.str12028 = 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" @.str12029 = private unnamed_addr constant [72 x i8] c" %hit = icmp ne ptr %blob, null\0A br i1 %hit, label %mem, label %real\0A\00" @.str12030 = 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" @.str12031 = 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" @.str12032 = private unnamed_addr constant [39 x i8] c"define ptr @lp_pak_slurp(ptr %path) {\0A\00" @.str12033 = 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" @.str12034 = 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" @.str12035 = private unnamed_addr constant [124 x i8] c" %cap = add i64 %n64, 1\0A %buf = call ptr @lp_malloc(i64 %cap)\0A %rd = call i64 @fread(ptr %buf, i64 1, i64 %n64, ptr %f)\0A\00" @.str12036 = 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" @.str12037 = private unnamed_addr constant [22 x i8] c"no:\0A ret ptr null\0A}\0A\00" @.str12038 = private unnamed_addr constant [41 x i8] c"define i32 @lp_pak_boot_dir(ptr %dir) {\0A\00" @.str12039 = 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" @.str12040 = private unnamed_addr constant [72 x i8] c" %none = icmp eq ptr %txt, null\0A br i1 %none, label %no, label %scan\0A\00" @.str12041 = 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" @.str12042 = 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" @.str12043 = private unnamed_addr constant [71 x i8] c" %atend = icmp eq i32 %c0i, 0\0A br i1 %atend, label %fin, label %eol\0A\00" @.str12044 = private unnamed_addr constant [48 x i8] c"eol:\0A store i32 %i, ptr %jp\0A br label %escan\0A\00" @.str12045 = 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" @.str12046 = 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" @.str12047 = 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" @.str12048 = 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" @.str12049 = 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" @.str12050 = 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" @.str12051 = 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" @.str12052 = 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" @.str12053 = 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" @.str12054 = 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" @.str12055 = 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" @.str12056 = 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" @.str12057 = 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" @.str12058 = private unnamed_addr constant [47 x i8] c"fin:\0A %gf = load i32, ptr %got\0A ret i32 %gf\0A\00" @.str12059 = private unnamed_addr constant [19 x i8] c"no:\0A ret i32 0\0A}\0A\00" @.str12060 = private unnamed_addr constant [71 x i8] c"@.pak_kw_pack = private unnamed_addr constant [6 x i8] c\22pack \5C00\22\0A\00" @.str12061 = private unnamed_addr constant [71 x i8] c"@.pak_kw_home = private unnamed_addr constant [6 x i8] c\22home \5C00\22\0A\00" @.str12062 = private unnamed_addr constant [73 x i8] c"@.pak_kw_splash = private unnamed_addr constant [8 x i8] c\22splash \5C00\22\0A\00" @.str12063 = private unnamed_addr constant [75 x i8] c"@.pak_kw_spbg = private unnamed_addr constant [10 x i8] c\22splashbg \5C00\22\0A\00" @.str12064 = private unnamed_addr constant [42 x i8] c"define void @lp_pak_sethome(ptr %name) {\0A\00" @.str12065 = 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" @.str12066 = 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" @.str12067 = 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" @.str12068 = 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" @.str12069 = 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" @.str12070 = private unnamed_addr constant [19 x i8] c"out:\0A ret void\0A}\0A\00" @.str12071 = private unnamed_addr constant [70 x i8] c"@.pak_appdata = private unnamed_addr constant [8 x i8] c\22APPDATA\5C00\22\0A\00" @.str12072 = private unnamed_addr constant [30 x i8] c"define void @lp_pak_boot() {\0A\00" @.str12073 = 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" @.str12074 = 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" @.str12075 = 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" @.str12076 = 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" @.str12077 = 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" @.str12078 = private unnamed_addr constant [9 x i8] c"splash:\0A\00" @.str12079 = private unnamed_addr constant [33 x i8] c" call void @lp_pak_splash_go()\0A\00" @.str12080 = private unnamed_addr constant [17 x i8] c" br label %out\0A\00" @.str12081 = private unnamed_addr constant [19 x i8] c"out:\0A ret void\0A}\0A\00" @.str12082 = private unnamed_addr constant [35 x i8] c"define void @lp_pak_splash_go() {\0A\00" @.str12083 = 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" @.str12084 = 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" @.str12085 = private unnamed_addr constant [74 x i8] c" %miss = icmp eq ptr %blob, null\0A br i1 %miss, label %out, label %show\0A\00" @.str12086 = 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" @.str12087 = private unnamed_addr constant [72 x i8] c" call void @splash_show(ptr %blob, i32 %len, i32 %bg)\0A br label %out\0A\00" @.str12088 = private unnamed_addr constant [19 x i8] c"out:\0A ret void\0A}\0A\00" @.str12089 = private unnamed_addr constant [39 x i8] c"define void @lp_app_icon(ptr %path) {\0A\00" @.str12090 = 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" @.str12091 = 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" @.str12092 = private unnamed_addr constant [72 x i8] c" %tiny = icmp sle i64 %n64, 0\0A br i1 %tiny, label %shut, label %read\0A\00" @.str12093 = private unnamed_addr constant [105 x i8] c"read:\0A %buf = call ptr @lp_malloc(i64 %n64)\0A %rd = call i64 @fread(ptr %buf, i64 1, i64 %n64, ptr %f)\0A\00" @.str12094 = private unnamed_addr constant [64 x i8] c" %c1 = call i32 @fclose(ptr %f)\0A %n32 = trunc i64 %rd to i32\0A\00" @.str12095 = private unnamed_addr constant [89 x i8] c" call void @app_set_icon(ptr %buf, i32 %n32)\0A call void @lp_free(ptr %buf)\0A ret void\0A\00" @.str12096 = private unnamed_addr constant [51 x i8] c"shut:\0A %c2 = call i32 @fclose(ptr %f)\0A ret void\0A\00" @.str12097 = private unnamed_addr constant [19 x i8] c"out:\0A ret void\0A}\0A\00" @.str12098 = private unnamed_addr constant [35 x i8] c"declare ptr @__acrt_iob_func(i32)\0A\00" @.str12099 = private unnamed_addr constant [33 x i8] c"declare i32 @_setmode(i32, i32)\0A\00" @.str12100 = private unnamed_addr constant [37 x i8] c"declare ptr @_fsopen(ptr, ptr, i32)\0A\00" @.str12101 = private unnamed_addr constant [29 x i8] c"declare i64 @_ftelli64(ptr)\0A\00" @.str12102 = private unnamed_addr constant [39 x i8] c"declare i32 @_fseeki64(ptr, i64, i32)\0A\00" @.str12103 = private unnamed_addr constant [27 x i8] c"declare i64 @_time64(ptr)\0A\00" @.str12104 = private unnamed_addr constant [32 x i8] c"declare i32 @_access(ptr, i32)\0A\00" @.str12105 = private unnamed_addr constant [26 x i8] c"declare i32 @_mkdir(ptr)\0A\00" @.str12106 = private unnamed_addr constant [26 x i8] c"declare i32 @_chdir(ptr)\0A\00" @.str12107 = private unnamed_addr constant [24 x i8] c"declare i32 @_getpid()\0A\00" @.str12108 = private unnamed_addr constant [35 x i8] c"declare i32 @_open(ptr, i32, ...)\0A\00" @.str12109 = private unnamed_addr constant [26 x i8] c"declare i32 @_close(i32)\0A\00" @.str12110 = private unnamed_addr constant [39 x i8] c"declare i64 @_lseeki64(i32, i64, i32)\0A\00" @.str12111 = private unnamed_addr constant [34 x i8] c"declare i32 @_putenv_s(ptr, ptr)\0A\00" @.str12112 = private unnamed_addr constant [34 x i8] c"declare i64 @_get_osfhandle(i32)\0A\00" @.str12113 = private unnamed_addr constant [40 x i8] c"declare i32 @_open_osfhandle(i64, i32)\0A\00" @.str12114 = private unnamed_addr constant [32 x i8] c"declare ptr @_fdopen(i32, ptr)\0A\00" @.str12115 = private unnamed_addr constant [41 x i8] c"declare i32 @MoveFileExA(ptr, ptr, i32)\0A\00" @.str12116 = private unnamed_addr constant [31 x i8] c"declare i32 @DeleteFileA(ptr)\0A\00" @.str12117 = private unnamed_addr constant [36 x i8] c"declare i32 @RemoveDirectoryA(ptr)\0A\00" @.str12118 = private unnamed_addr constant [39 x i8] c"declare ptr @FindFirstFileA(ptr, ptr)\0A\00" @.str12119 = private unnamed_addr constant [38 x i8] c"declare i32 @FindNextFileA(ptr, ptr)\0A\00" @.str12120 = private unnamed_addr constant [29 x i8] c"declare i32 @FindClose(ptr)\0A\00" @.str12121 = private unnamed_addr constant [63 x i8] c"declare ptr @CreateFileMappingA(ptr, ptr, i32, i32, i32, ptr)\0A\00" @.str12122 = private unnamed_addr constant [53 x i8] c"declare ptr @MapViewOfFile(ptr, i32, i32, i32, i64)\0A\00" @.str12123 = private unnamed_addr constant [35 x i8] c"declare i32 @UnmapViewOfFile(ptr)\0A\00" @.str12124 = private unnamed_addr constant [31 x i8] c"declare i32 @CloseHandle(ptr)\0A\00" @.str12125 = private unnamed_addr constant [48 x i8] c"declare i32 @GetModuleFileNameA(ptr, ptr, i32)\0A\00" @.str12126 = private unnamed_addr constant [37 x i8] c"declare i32 @GetTempPathA(i32, ptr)\0A\00" @.str12127 = private unnamed_addr constant [51 x i8] c"declare i32 @GetTempFileNameA(ptr, ptr, i32, ptr)\0A\00" @.str12128 = private unnamed_addr constant [61 x i8] c"declare ptr @CreateFileA(ptr, i32, i32, ptr, i32, i32, ptr)\0A\00" @.str12129 = private unnamed_addr constant [49 x i8] c"declare i32 @WriteFile(ptr, ptr, i32, ptr, ptr)\0A\00" @.str12130 = private unnamed_addr constant [49 x i8] c"declare i32 @SetFilePointer(ptr, i32, ptr, i32)\0A\00" @.str12131 = private unnamed_addr constant [65 x i8] c"@.win_rb = private unnamed_addr constant [3 x i8] c\22rb\5C00\22\0A\00" @.str12132 = private unnamed_addr constant [66 x i8] c"@.win_lpk = private unnamed_addr constant [4 x i8] c\22lpk\5C00\22\0A\00" @.str12133 = private unnamed_addr constant [63 x i8] c"@.win_empty = private unnamed_addr constant [1 x i8] c\22\5C00\22\0A\00" @.str12134 = private unnamed_addr constant [70 x i8] c"@.win_windows = private unnamed_addr constant [8 x i8] c\22Windows\5C00\22\0A\00" @.str12135 = private unnamed_addr constant [69 x i8] c"@.win_x64 = private unnamed_addr constant [7 x i8] c\22x86_64\5C00\22\0A\00" @.str12136 = private unnamed_addr constant [48 x i8] c"define internal void @lp_win_slashes(ptr %s) {\0A\00" @.str12137 = private unnamed_addr constant [23 x i8] c"entry:\0A br label %lp\0A\00" @.str12138 = 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" @.str12139 = 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" @.str12140 = private unnamed_addr constant [43 x i8] c"fix:\0A store i8 47, ptr %p\0A br label %nx\0A\00" @.str12141 = private unnamed_addr constant [60 x i8] c"nx:\0A %p1 = getelementptr i8, ptr %p, i64 1\0A br label %lp\0A\00" @.str12142 = private unnamed_addr constant [20 x i8] c"done:\0A ret void\0A}\0A\00" @.str12143 = private unnamed_addr constant [42 x i8] c"@L_win_stdio_bin = internal global i32 0\0A\00" @.str12144 = private unnamed_addr constant [46 x i8] c"define internal ptr @lp_win_stdio(i32 %fd) {\0A\00" @.str12145 = 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" @.str12146 = 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" @.str12147 = 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" @.str12148 = private unnamed_addr constant [46 x i8] c"define internal ptr @fopen(ptr %p, ptr %m) {\0A\00" @.str12149 = 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" @.str12150 = 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" @.str12151 = 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" @.str12152 = 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" @.str12153 = 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" @.str12154 = 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" @.str12155 = 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" @.str12156 = 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" @.str12157 = 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" @.str12158 = private unnamed_addr constant [39 x i8] c"define internal i32 @remove(ptr %p) {\0A\00" @.str12159 = 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" @.str12160 = 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" @.str12161 = private unnamed_addr constant [18 x i8] c"yes:\0A ret i32 0\0A\00" @.str12162 = private unnamed_addr constant [20 x i8] c"no:\0A ret i32 -1\0A}\0A\00" @.str12163 = 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" @.str12164 = 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" @.str12165 = 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" @.str12166 = 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" @.str12167 = 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" @.str12168 = private unnamed_addr constant [43 x i8] c"define internal ptr @opendir(ptr %path) {\0A\00" @.str12169 = private unnamed_addr constant [153 x i8] c"entry:\0A %l = call i64 @strlen(ptr %path)\0A %cap = add i64 %l, 3\0A %pat = call ptr @lp_malloc(i64 %cap)\0A call ptr @memcpy(ptr %pat, ptr %path, i64 %l)\0A\00" @.str12170 = 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" @.str12171 = private unnamed_addr constant [160 x i8] c" %d = call ptr @lp_malloc(i64 368)\0A %fd = getelementptr i8, ptr %d, i64 16\0A %h = call ptr @FindFirstFileA(ptr %pat, ptr %fd)\0A call void @lp_free(ptr %pat)\0A\00" @.str12172 = 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" @.str12173 = private unnamed_addr constant [49 x i8] c"no:\0A call void @lp_free(ptr %d)\0A ret ptr null\0A\00" @.str12174 = 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" @.str12175 = private unnamed_addr constant [40 x i8] c"define internal ptr @readdir(ptr %d) {\0A\00" @.str12176 = 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" @.str12177 = private unnamed_addr constant [47 x i8] c"take:\0A store i32 0, ptr %fl\0A br label %give\0A\00" @.str12178 = 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" @.str12179 = private unnamed_addr constant [62 x i8] c"give:\0A %de = getelementptr i8, ptr %d, i64 39\0A ret ptr %de\0A\00" @.str12180 = private unnamed_addr constant [23 x i8] c"end:\0A ret ptr null\0A}\0A\00" @.str12181 = private unnamed_addr constant [150 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 @lp_free(ptr %d)\0A ret i32 0\0A}\0A\00" @.str12182 = 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" @.str12183 = 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" @.str12184 = private unnamed_addr constant [66 x i8] c" %nm = icmp eq ptr %m, null\0A br i1 %nm, label %bad, label %map\0A\00" @.str12185 = 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" @.str12186 = private unnamed_addr constant [18 x i8] c"ok:\0A ret ptr %v\0A\00" @.str12187 = private unnamed_addr constant [43 x i8] c"bad:\0A ret ptr inttoptr (i64 -1 to ptr)\0A}\0A\00" @.str12188 = private unnamed_addr constant [64 x i8] c"define internal ptr @fmemopen(ptr %buf, i64 %len, ptr %mode) {\0A\00" @.str12189 = 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" @.str12190 = 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" @.str12191 = 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" @.str12192 = 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" @.str12193 = 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" @.str12194 = 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" @.str12195 = private unnamed_addr constant [60 x i8] c"shut:\0A %c = call i32 @CloseHandle(ptr %h)\0A br label %bad\0A\00" @.str12196 = private unnamed_addr constant [23 x i8] c"bad:\0A ret ptr null\0A}\0A\00" @.str12197 = private unnamed_addr constant [65 x i8] c"define internal i32 @_NSGetExecutablePath(ptr %buf, ptr %szp) {\0A\00" @.str12198 = 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" @.str12199 = private unnamed_addr constant [56 x i8] c"fix:\0A call void @lp_win_slashes(ptr %buf)\0A ret i32 0\0A\00" @.str12200 = private unnamed_addr constant [22 x i8] c"fail:\0A ret i32 -1\0A}\0A\00" @.str12201 = 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" @.str12202 = 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" @.str12203 = 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" @.str12204 = 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" @.str12205 = 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" @.str12206 = private unnamed_addr constant [40 x i8] c"define internal i32 @uname(ptr %buf) {\0A\00" @.str12207 = 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" @.str12208 = private unnamed_addr constant [12 x i8] c"USERPROFILE\00" @.str12209 = private unnamed_addr constant [8 x i8] c"APPDATA\00" @.str12210 = private unnamed_addr constant [13 x i8] c"LOCALAPPDATA\00" @.str12211 = private unnamed_addr constant [5 x i8] c"TEMP\00" @.str12212 = private unnamed_addr constant [1 x i8] c"\00" @.str12213 = private unnamed_addr constant [8 x i8] c"windows\00" @.str12214 = private unnamed_addr constant [7 x i8] c"x86_64\00" @.str12215 = private unnamed_addr constant [65 x i8] c"define ptr @lp_os_home() {\0A %r = call ptr @lp_os_getenv_or(ptr \00" @.str12216 = private unnamed_addr constant [18 x i8] c"emit_os_win_known\00" @.str12217 = private unnamed_addr constant [7 x i8] c", ptr \00" @.str12218 = private unnamed_addr constant [18 x i8] c")\0A ret ptr %r\0A}\0A\00" @.str12219 = private unnamed_addr constant [50 x i8] c"define ptr @lp_os_winknown(ptr %var, ptr %app) {\0A\00" @.str12220 = 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" @.str12221 = private unnamed_addr constant [54 x i8] c"home:\0A %h = call ptr @lp_os_home()\0A br label %join\0A\00" @.str12222 = private unnamed_addr constant [23 x i8] c"use:\0A br label %join\0A\00" @.str12223 = 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" @.str12224 = 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" @.str12225 = 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" @.str12226 = private unnamed_addr constant [28 x i8] c", ptr %app)\0A ret ptr %r\0A}\0A\00" @.str12227 = 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" @.str12228 = private unnamed_addr constant [28 x i8] c", ptr %app)\0A ret ptr %r\0A}\0A\00" @.str12229 = 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" @.str12230 = private unnamed_addr constant [28 x i8] c", ptr %app)\0A ret ptr %r\0A}\0A\00" @.str12231 = private unnamed_addr constant [69 x i8] c"define ptr @lp_os_temp_dir() {\0A %t = call ptr @lp_os_getenv_or(ptr \00" @.str12232 = private unnamed_addr constant [7 x i8] c", ptr \00" @.str12233 = private unnamed_addr constant [44 x i8] c")\0A %r = call ptr @lp_os_join2(ptr %t, ptr \00" @.str12234 = private unnamed_addr constant [54 x i8] c")\0A call void @lp_win_slashes(ptr %r)\0A ret ptr %r\0A}\0A\00" @.str12235 = private unnamed_addr constant [42 x i8] c"define ptr @lp_os_platform() {\0A ret ptr \00" @.str12236 = private unnamed_addr constant [4 x i8] c"\0A}\0A\00" @.str12237 = private unnamed_addr constant [38 x i8] c"define ptr @lp_os_arch() {\0A ret ptr \00" @.str12238 = private unnamed_addr constant [4 x i8] c"\0A}\0A\00" @.str12239 = private unnamed_addr constant [28 x i8] c"define ptr @lp_os_args() {\0A\00" @.str12240 = 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" @.str12241 = private unnamed_addr constant [36 x i8] c" %h = call ptr @lp_malloc(i64 16)\0A\00" @.str12242 = 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" @.str12243 = 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" @.str12244 = 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" @.str12245 = private unnamed_addr constant [16 x i8] c" ret ptr %h\0A}\0A\00" @.str12246 = private unnamed_addr constant [15 x i8] c"load ptr, ptr \00" @.str12247 = private unnamed_addr constant [15 x i8] c"list_elem_addr\00" @.str12248 = private unnamed_addr constant [24 x i8] c"getelementptr inbounds \00" @.str12249 = private unnamed_addr constant [7 x i8] c", ptr \00" @.str12250 = private unnamed_addr constant [7 x i8] c", i32 \00" @.str12251 = private unnamed_addr constant [4 x i8] c"len\00" @.str12252 = private unnamed_addr constant [5 x i8] c"push\00" @.str12253 = private unnamed_addr constant [6 x i8] c"clear\00" @.str12254 = private unnamed_addr constant [7 x i8] c"sample\00" @.str12255 = private unnamed_addr constant [6 x i8] c"first\00" @.str12256 = private unnamed_addr constant [5 x i8] c"last\00" @.str12257 = private unnamed_addr constant [4 x i8] c"pop\00" @.str12258 = private unnamed_addr constant [5 x i8] c"swap\00" @.str12259 = private unnamed_addr constant [9 x i8] c"contains\00" @.str12260 = private unnamed_addr constant [9 x i8] c"index_of\00" @.str12261 = private unnamed_addr constant [8 x i8] c"reverse\00" @.str12262 = private unnamed_addr constant [7 x i8] c"insert\00" @.str12263 = private unnamed_addr constant [10 x i8] c"remove_at\00" @.str12264 = private unnamed_addr constant [7 x i8] c"remove\00" @.str12265 = private unnamed_addr constant [5 x i8] c"sort\00" @.str12266 = private unnamed_addr constant [8 x i8] c"sort_by\00" @.str12267 = private unnamed_addr constant [13 x i8] c"sort_desc_by\00" @.str12268 = private unnamed_addr constant [10 x i8] c"sort_with\00" @.str12269 = private unnamed_addr constant [15 x i8] c"load i32, ptr \00" @.str12270 = private unnamed_addr constant [18 x i8] c"list_grow_if_full\00" @.str12271 = private unnamed_addr constant [15 x i8] c"load i32, ptr \00" @.str12272 = private unnamed_addr constant [14 x i8] c"icmp sge i32 \00" @.str12273 = private unnamed_addr constant [3 x i8] c", \00" @.str12274 = private unnamed_addr constant [3 x i8] c"ig\00" @.str12275 = private unnamed_addr constant [4 x i8] c"igd\00" @.str12276 = private unnamed_addr constant [9 x i8] c" br i1 \00" @.str12277 = private unnamed_addr constant [10 x i8] c", label %\00" @.str12278 = private unnamed_addr constant [10 x i8] c", label %\00" @.str12279 = private unnamed_addr constant [2 x i8] c"\0A\00" @.str12280 = private unnamed_addr constant [3 x i8] c":\0A\00" @.str12281 = private unnamed_addr constant [9 x i8] c"mul i32 \00" @.str12282 = private unnamed_addr constant [4 x i8] c", 2\00" @.str12283 = private unnamed_addr constant [13 x i8] c"icmp eq i32 \00" @.str12284 = private unnamed_addr constant [4 x i8] c", 0\00" @.str12285 = private unnamed_addr constant [11 x i8] c"select i1 \00" @.str12286 = private unnamed_addr constant [14 x i8] c", i32 8, i32 \00" @.str12287 = private unnamed_addr constant [10 x i8] c"zext i32 \00" @.str12288 = private unnamed_addr constant [8 x i8] c" to i64\00" @.str12289 = private unnamed_addr constant [9 x i8] c"mul i64 \00" @.str12290 = private unnamed_addr constant [3 x i8] c", \00" @.str12291 = private unnamed_addr constant [15 x i8] c"load ptr, ptr \00" @.str12292 = private unnamed_addr constant [26 x i8] c"call ptr @lp_realloc(ptr \00" @.str12293 = private unnamed_addr constant [7 x i8] c", i64 \00" @.str12294 = private unnamed_addr constant [2 x i8] c")\00" @.str12295 = private unnamed_addr constant [13 x i8] c" store ptr \00" @.str12296 = private unnamed_addr constant [7 x i8] c", ptr \00" @.str12297 = private unnamed_addr constant [2 x i8] c"\0A\00" @.str12298 = private unnamed_addr constant [13 x i8] c" store i32 \00" @.str12299 = private unnamed_addr constant [7 x i8] c", ptr \00" @.str12300 = private unnamed_addr constant [2 x i8] c"\0A\00" @.str12301 = private unnamed_addr constant [13 x i8] c" br label %\00" @.str12302 = private unnamed_addr constant [2 x i8] c"\0A\00" @.str12303 = private unnamed_addr constant [3 x i8] c":\0A\00" @.str12304 = private unnamed_addr constant [24 x i8] c"getelementptr inbounds \00" @.str12305 = private unnamed_addr constant [7 x i8] c"gep_at\00" @.str12306 = private unnamed_addr constant [7 x i8] c", ptr \00" @.str12307 = private unnamed_addr constant [7 x i8] c", i32 \00" @.str12308 = private unnamed_addr constant [10 x i8] c"icmp slt \00" @.str12309 = private unnamed_addr constant [15 x i8] c"emit_takeright\00" @.str12310 = private unnamed_addr constant [2 x i8] c" \00" @.str12311 = private unnamed_addr constant [3 x i8] c", \00" @.str12312 = private unnamed_addr constant [10 x i8] c"call i32 \00" @.str12313 = private unnamed_addr constant [2 x i8] c"(\00" @.str12314 = private unnamed_addr constant [2 x i8] c" \00" @.str12315 = private unnamed_addr constant [3 x i8] c", \00" @.str12316 = private unnamed_addr constant [2 x i8] c" \00" @.str12317 = private unnamed_addr constant [2 x i8] c")\00" @.str12318 = private unnamed_addr constant [14 x i8] c"icmp sgt i32 \00" @.str12319 = private unnamed_addr constant [4 x i8] c", 0\00" @.str12320 = private unnamed_addr constant [6 x i8] c"call \00" @.str12321 = private unnamed_addr constant [2 x i8] c" \00" @.str12322 = private unnamed_addr constant [2 x i8] c"(\00" @.str12323 = private unnamed_addr constant [2 x i8] c" \00" @.str12324 = private unnamed_addr constant [2 x i8] c")\00" @.str12325 = private unnamed_addr constant [6 x i8] c"call \00" @.str12326 = private unnamed_addr constant [2 x i8] c" \00" @.str12327 = private unnamed_addr constant [2 x i8] c"(\00" @.str12328 = private unnamed_addr constant [2 x i8] c" \00" @.str12329 = private unnamed_addr constant [2 x i8] c")\00" @.str12330 = private unnamed_addr constant [10 x i8] c"icmp slt \00" @.str12331 = private unnamed_addr constant [2 x i8] c" \00" @.str12332 = private unnamed_addr constant [3 x i8] c", \00" @.str12333 = private unnamed_addr constant [10 x i8] c"icmp sgt \00" @.str12334 = private unnamed_addr constant [2 x i8] c" \00" @.str12335 = private unnamed_addr constant [3 x i8] c", \00" @.str12336 = private unnamed_addr constant [15 x i8] c"load ptr, ptr \00" @.str12337 = private unnamed_addr constant [16 x i8] c"emit_merge_sort\00" @.str12338 = private unnamed_addr constant [15 x i8] c"load i32, ptr \00" @.str12339 = private unnamed_addr constant [10 x i8] c"zext i32 \00" @.str12340 = private unnamed_addr constant [8 x i8] c" to i64\00" @.str12341 = private unnamed_addr constant [9 x i8] c"mul i64 \00" @.str12342 = private unnamed_addr constant [3 x i8] c", \00" @.str12343 = private unnamed_addr constant [25 x i8] c"call ptr @lp_malloc(i64 \00" @.str12344 = private unnamed_addr constant [2 x i8] c")\00" @.str12345 = private unnamed_addr constant [4 x i8] c"i32\00" @.str12346 = private unnamed_addr constant [4 x i8] c"i32\00" @.str12347 = private unnamed_addr constant [2 x i8] c"1\00" @.str12348 = private unnamed_addr constant [6 x i8] c"ms_wc\00" @.str12349 = private unnamed_addr constant [6 x i8] c"ms_wb\00" @.str12350 = private unnamed_addr constant [6 x i8] c"ms_we\00" @.str12351 = private unnamed_addr constant [13 x i8] c" br label %\00" @.str12352 = private unnamed_addr constant [2 x i8] c"\0A\00" @.str12353 = private unnamed_addr constant [3 x i8] c":\0A\00" @.str12354 = private unnamed_addr constant [15 x i8] c"load i32, ptr \00" @.str12355 = private unnamed_addr constant [14 x i8] c"icmp slt i32 \00" @.str12356 = private unnamed_addr constant [3 x i8] c", \00" @.str12357 = private unnamed_addr constant [9 x i8] c" br i1 \00" @.str12358 = private unnamed_addr constant [10 x i8] c", label %\00" @.str12359 = private unnamed_addr constant [10 x i8] c", label %\00" @.str12360 = private unnamed_addr constant [2 x i8] c"\0A\00" @.str12361 = private unnamed_addr constant [3 x i8] c":\0A\00" @.str12362 = private unnamed_addr constant [9 x i8] c"mul i32 \00" @.str12363 = private unnamed_addr constant [4 x i8] c", 2\00" @.str12364 = private unnamed_addr constant [4 x i8] c"i32\00" @.str12365 = private unnamed_addr constant [4 x i8] c"i32\00" @.str12366 = private unnamed_addr constant [2 x i8] c"0\00" @.str12367 = private unnamed_addr constant [6 x i8] c"ms_ic\00" @.str12368 = private unnamed_addr constant [6 x i8] c"ms_ib\00" @.str12369 = private unnamed_addr constant [6 x i8] c"ms_ie\00" @.str12370 = private unnamed_addr constant [13 x i8] c" br label %\00" @.str12371 = private unnamed_addr constant [2 x i8] c"\0A\00" @.str12372 = private unnamed_addr constant [3 x i8] c":\0A\00" @.str12373 = private unnamed_addr constant [15 x i8] c"load i32, ptr \00" @.str12374 = private unnamed_addr constant [14 x i8] c"icmp slt i32 \00" @.str12375 = private unnamed_addr constant [3 x i8] c", \00" @.str12376 = private unnamed_addr constant [9 x i8] c" br i1 \00" @.str12377 = private unnamed_addr constant [10 x i8] c", label %\00" @.str12378 = private unnamed_addr constant [10 x i8] c", label %\00" @.str12379 = private unnamed_addr constant [2 x i8] c"\0A\00" @.str12380 = private unnamed_addr constant [3 x i8] c":\0A\00" @.str12381 = private unnamed_addr constant [9 x i8] c"add i32 \00" @.str12382 = private unnamed_addr constant [3 x i8] c", \00" @.str12383 = private unnamed_addr constant [14 x i8] c"icmp slt i32 \00" @.str12384 = private unnamed_addr constant [3 x i8] c", \00" @.str12385 = private unnamed_addr constant [11 x i8] c"select i1 \00" @.str12386 = private unnamed_addr constant [7 x i8] c", i32 \00" @.str12387 = private unnamed_addr constant [7 x i8] c", i32 \00" @.str12388 = private unnamed_addr constant [9 x i8] c"add i32 \00" @.str12389 = private unnamed_addr constant [3 x i8] c", \00" @.str12390 = private unnamed_addr constant [14 x i8] c"icmp slt i32 \00" @.str12391 = private unnamed_addr constant [3 x i8] c", \00" @.str12392 = private unnamed_addr constant [11 x i8] c"select i1 \00" @.str12393 = private unnamed_addr constant [7 x i8] c", i32 \00" @.str12394 = private unnamed_addr constant [7 x i8] c", i32 \00" @.str12395 = private unnamed_addr constant [4 x i8] c"i32\00" @.str12396 = private unnamed_addr constant [4 x i8] c"i32\00" @.str12397 = private unnamed_addr constant [4 x i8] c"i32\00" @.str12398 = private unnamed_addr constant [4 x i8] c"i32\00" @.str12399 = private unnamed_addr constant [4 x i8] c"i32\00" @.str12400 = private unnamed_addr constant [4 x i8] c"i32\00" @.str12401 = private unnamed_addr constant [6 x i8] c"ms_mc\00" @.str12402 = private unnamed_addr constant [6 x i8] c"ms_mb\00" @.str12403 = private unnamed_addr constant [8 x i8] c"ms_mend\00" @.str12404 = private unnamed_addr constant [13 x i8] c" br label %\00" @.str12405 = private unnamed_addr constant [2 x i8] c"\0A\00" @.str12406 = private unnamed_addr constant [3 x i8] c":\0A\00" @.str12407 = private unnamed_addr constant [15 x i8] c"load i32, ptr \00" @.str12408 = private unnamed_addr constant [15 x i8] c"load i32, ptr \00" @.str12409 = private unnamed_addr constant [14 x i8] c"icmp slt i32 \00" @.str12410 = private unnamed_addr constant [3 x i8] c", \00" @.str12411 = private unnamed_addr constant [14 x i8] c"icmp slt i32 \00" @.str12412 = private unnamed_addr constant [3 x i8] c", \00" @.str12413 = private unnamed_addr constant [8 x i8] c"and i1 \00" @.str12414 = private unnamed_addr constant [3 x i8] c", \00" @.str12415 = private unnamed_addr constant [9 x i8] c" br i1 \00" @.str12416 = private unnamed_addr constant [10 x i8] c", label %\00" @.str12417 = private unnamed_addr constant [10 x i8] c", label %\00" @.str12418 = private unnamed_addr constant [2 x i8] c"\0A\00" @.str12419 = private unnamed_addr constant [3 x i8] c":\0A\00" @.str12420 = private unnamed_addr constant [6 x i8] c"load \00" @.str12421 = private unnamed_addr constant [7 x i8] c", ptr \00" @.str12422 = private unnamed_addr constant [6 x i8] c"load \00" @.str12423 = private unnamed_addr constant [7 x i8] c", ptr \00" @.str12424 = private unnamed_addr constant [15 x i8] c"load i32, ptr \00" @.str12425 = private unnamed_addr constant [9 x i8] c"ms_takeR\00" @.str12426 = private unnamed_addr constant [9 x i8] c"ms_takeL\00" @.str12427 = private unnamed_addr constant [9 x i8] c"ms_takeD\00" @.str12428 = private unnamed_addr constant [9 x i8] c" br i1 \00" @.str12429 = private unnamed_addr constant [10 x i8] c", label %\00" @.str12430 = private unnamed_addr constant [10 x i8] c", label %\00" @.str12431 = private unnamed_addr constant [2 x i8] c"\0A\00" @.str12432 = private unnamed_addr constant [3 x i8] c":\0A\00" @.str12433 = private unnamed_addr constant [9 x i8] c" store \00" @.str12434 = private unnamed_addr constant [2 x i8] c" \00" @.str12435 = private unnamed_addr constant [7 x i8] c", ptr \00" @.str12436 = private unnamed_addr constant [2 x i8] c"\0A\00" @.str12437 = private unnamed_addr constant [9 x i8] c"add i32 \00" @.str12438 = private unnamed_addr constant [4 x i8] c", 1\00" @.str12439 = private unnamed_addr constant [4 x i8] c"i32\00" @.str12440 = private unnamed_addr constant [13 x i8] c" br label %\00" @.str12441 = private unnamed_addr constant [2 x i8] c"\0A\00" @.str12442 = private unnamed_addr constant [3 x i8] c":\0A\00" @.str12443 = private unnamed_addr constant [9 x i8] c" store \00" @.str12444 = private unnamed_addr constant [2 x i8] c" \00" @.str12445 = private unnamed_addr constant [7 x i8] c", ptr \00" @.str12446 = private unnamed_addr constant [2 x i8] c"\0A\00" @.str12447 = private unnamed_addr constant [9 x i8] c"add i32 \00" @.str12448 = private unnamed_addr constant [4 x i8] c", 1\00" @.str12449 = private unnamed_addr constant [4 x i8] c"i32\00" @.str12450 = private unnamed_addr constant [13 x i8] c" br label %\00" @.str12451 = private unnamed_addr constant [2 x i8] c"\0A\00" @.str12452 = private unnamed_addr constant [3 x i8] c":\0A\00" @.str12453 = private unnamed_addr constant [9 x i8] c"add i32 \00" @.str12454 = private unnamed_addr constant [4 x i8] c", 1\00" @.str12455 = private unnamed_addr constant [4 x i8] c"i32\00" @.str12456 = private unnamed_addr constant [13 x i8] c" br label %\00" @.str12457 = private unnamed_addr constant [2 x i8] c"\0A\00" @.str12458 = private unnamed_addr constant [3 x i8] c":\0A\00" @.str12459 = private unnamed_addr constant [7 x i8] c"ms_dac\00" @.str12460 = private unnamed_addr constant [7 x i8] c"ms_dab\00" @.str12461 = private unnamed_addr constant [7 x i8] c"ms_dae\00" @.str12462 = private unnamed_addr constant [13 x i8] c" br label %\00" @.str12463 = private unnamed_addr constant [2 x i8] c"\0A\00" @.str12464 = private unnamed_addr constant [3 x i8] c":\0A\00" @.str12465 = private unnamed_addr constant [15 x i8] c"load i32, ptr \00" @.str12466 = private unnamed_addr constant [14 x i8] c"icmp slt i32 \00" @.str12467 = private unnamed_addr constant [3 x i8] c", \00" @.str12468 = private unnamed_addr constant [9 x i8] c" br i1 \00" @.str12469 = private unnamed_addr constant [10 x i8] c", label %\00" @.str12470 = private unnamed_addr constant [10 x i8] c", label %\00" @.str12471 = private unnamed_addr constant [2 x i8] c"\0A\00" @.str12472 = private unnamed_addr constant [3 x i8] c":\0A\00" @.str12473 = private unnamed_addr constant [6 x i8] c"load \00" @.str12474 = private unnamed_addr constant [7 x i8] c", ptr \00" @.str12475 = private unnamed_addr constant [15 x i8] c"load i32, ptr \00" @.str12476 = private unnamed_addr constant [9 x i8] c" store \00" @.str12477 = private unnamed_addr constant [2 x i8] c" \00" @.str12478 = private unnamed_addr constant [7 x i8] c", ptr \00" @.str12479 = private unnamed_addr constant [2 x i8] c"\0A\00" @.str12480 = private unnamed_addr constant [9 x i8] c"add i32 \00" @.str12481 = private unnamed_addr constant [4 x i8] c", 1\00" @.str12482 = private unnamed_addr constant [4 x i8] c"i32\00" @.str12483 = private unnamed_addr constant [9 x i8] c"add i32 \00" @.str12484 = private unnamed_addr constant [4 x i8] c", 1\00" @.str12485 = private unnamed_addr constant [4 x i8] c"i32\00" @.str12486 = private unnamed_addr constant [13 x i8] c" br label %\00" @.str12487 = private unnamed_addr constant [2 x i8] c"\0A\00" @.str12488 = private unnamed_addr constant [3 x i8] c":\0A\00" @.str12489 = private unnamed_addr constant [7 x i8] c"ms_dbc\00" @.str12490 = private unnamed_addr constant [7 x i8] c"ms_dbb\00" @.str12491 = private unnamed_addr constant [7 x i8] c"ms_dbe\00" @.str12492 = private unnamed_addr constant [13 x i8] c" br label %\00" @.str12493 = private unnamed_addr constant [2 x i8] c"\0A\00" @.str12494 = private unnamed_addr constant [3 x i8] c":\0A\00" @.str12495 = private unnamed_addr constant [15 x i8] c"load i32, ptr \00" @.str12496 = private unnamed_addr constant [14 x i8] c"icmp slt i32 \00" @.str12497 = private unnamed_addr constant [3 x i8] c", \00" @.str12498 = private unnamed_addr constant [9 x i8] c" br i1 \00" @.str12499 = private unnamed_addr constant [10 x i8] c", label %\00" @.str12500 = private unnamed_addr constant [10 x i8] c", label %\00" @.str12501 = private unnamed_addr constant [2 x i8] c"\0A\00" @.str12502 = private unnamed_addr constant [3 x i8] c":\0A\00" @.str12503 = private unnamed_addr constant [6 x i8] c"load \00" @.str12504 = private unnamed_addr constant [7 x i8] c", ptr \00" @.str12505 = private unnamed_addr constant [15 x i8] c"load i32, ptr \00" @.str12506 = private unnamed_addr constant [9 x i8] c" store \00" @.str12507 = private unnamed_addr constant [2 x i8] c" \00" @.str12508 = private unnamed_addr constant [7 x i8] c", ptr \00" @.str12509 = private unnamed_addr constant [2 x i8] c"\0A\00" @.str12510 = private unnamed_addr constant [9 x i8] c"add i32 \00" @.str12511 = private unnamed_addr constant [4 x i8] c", 1\00" @.str12512 = private unnamed_addr constant [4 x i8] c"i32\00" @.str12513 = private unnamed_addr constant [9 x i8] c"add i32 \00" @.str12514 = private unnamed_addr constant [4 x i8] c", 1\00" @.str12515 = private unnamed_addr constant [4 x i8] c"i32\00" @.str12516 = private unnamed_addr constant [13 x i8] c" br label %\00" @.str12517 = private unnamed_addr constant [2 x i8] c"\0A\00" @.str12518 = private unnamed_addr constant [3 x i8] c":\0A\00" @.str12519 = private unnamed_addr constant [4 x i8] c"i32\00" @.str12520 = private unnamed_addr constant [4 x i8] c"i32\00" @.str12521 = private unnamed_addr constant [7 x i8] c"ms_cbc\00" @.str12522 = private unnamed_addr constant [7 x i8] c"ms_cbb\00" @.str12523 = private unnamed_addr constant [7 x i8] c"ms_cbe\00" @.str12524 = private unnamed_addr constant [13 x i8] c" br label %\00" @.str12525 = private unnamed_addr constant [2 x i8] c"\0A\00" @.str12526 = private unnamed_addr constant [3 x i8] c":\0A\00" @.str12527 = private unnamed_addr constant [15 x i8] c"load i32, ptr \00" @.str12528 = private unnamed_addr constant [14 x i8] c"icmp slt i32 \00" @.str12529 = private unnamed_addr constant [3 x i8] c", \00" @.str12530 = private unnamed_addr constant [9 x i8] c" br i1 \00" @.str12531 = private unnamed_addr constant [10 x i8] c", label %\00" @.str12532 = private unnamed_addr constant [10 x i8] c", label %\00" @.str12533 = private unnamed_addr constant [2 x i8] c"\0A\00" @.str12534 = private unnamed_addr constant [3 x i8] c":\0A\00" @.str12535 = private unnamed_addr constant [6 x i8] c"load \00" @.str12536 = private unnamed_addr constant [7 x i8] c", ptr \00" @.str12537 = private unnamed_addr constant [9 x i8] c" store \00" @.str12538 = private unnamed_addr constant [2 x i8] c" \00" @.str12539 = private unnamed_addr constant [7 x i8] c", ptr \00" @.str12540 = private unnamed_addr constant [2 x i8] c"\0A\00" @.str12541 = private unnamed_addr constant [9 x i8] c"add i32 \00" @.str12542 = private unnamed_addr constant [4 x i8] c", 1\00" @.str12543 = private unnamed_addr constant [4 x i8] c"i32\00" @.str12544 = private unnamed_addr constant [13 x i8] c" br label %\00" @.str12545 = private unnamed_addr constant [2 x i8] c"\0A\00" @.str12546 = private unnamed_addr constant [3 x i8] c":\0A\00" @.str12547 = private unnamed_addr constant [9 x i8] c"add i32 \00" @.str12548 = private unnamed_addr constant [3 x i8] c", \00" @.str12549 = private unnamed_addr constant [4 x i8] c"i32\00" @.str12550 = private unnamed_addr constant [13 x i8] c" br label %\00" @.str12551 = private unnamed_addr constant [2 x i8] c"\0A\00" @.str12552 = private unnamed_addr constant [3 x i8] c":\0A\00" @.str12553 = private unnamed_addr constant [4 x i8] c"i32\00" @.str12554 = private unnamed_addr constant [13 x i8] c" br label %\00" @.str12555 = private unnamed_addr constant [2 x i8] c"\0A\00" @.str12556 = private unnamed_addr constant [3 x i8] c":\0A\00" @.str12557 = private unnamed_addr constant [26 x i8] c" call void @lp_free(ptr \00" @.str12558 = private unnamed_addr constant [3 x i8] c")\0A\00" @.str12559 = private unnamed_addr constant [6 x i8] c"List.\00" @.str12560 = private unnamed_addr constant [12 x i8] c"sort_fn_arg\00" @.str12561 = private unnamed_addr constant [25 x i8] c" needs (slice, function)\00" @.str12562 = private unnamed_addr constant [55 x i8] c"build/cfree/selfhost.ludic:20895: index out of range: \00" @.str12563 = private unnamed_addr constant [6 x i8] c"List.\00" @.str12564 = private unnamed_addr constant [46 x i8] c": the second argument must be a function name\00" @.str12565 = private unnamed_addr constant [55 x i8] c"build/cfree/selfhost.ludic:20896: index out of range: \00" @.str12566 = private unnamed_addr constant [6 x i8] c"List.\00" @.str12567 = private unnamed_addr constant [22 x i8] c": no function named '\00" @.str12568 = private unnamed_addr constant [2 x i8] c"'\00" @.str12569 = private unnamed_addr constant [4 x i8] c"len\00" @.str12570 = private unnamed_addr constant [5 x i8] c"push\00" @.str12571 = private unnamed_addr constant [7 x i8] c"sample\00" @.str12572 = private unnamed_addr constant [55 x i8] c"build/cfree/selfhost.ludic:20905: index out of range: \00" @.str12573 = private unnamed_addr constant [13 x i8] c"emit_list_ns\00" @.str12574 = private unnamed_addr constant [55 x i8] c"build/cfree/selfhost.ludic:20906: index out of range: \00" @.str12575 = private unnamed_addr constant [15 x i8] c"rt_list_sample\00" @.str12576 = private unnamed_addr constant [68 x i8] c"List.sample needs the engine runtime (a game, or import ludic.core)\00" @.str12577 = private unnamed_addr constant [10 x i8] c"call ptr \00" @.str12578 = private unnamed_addr constant [15 x i8] c"rt_list_sample\00" @.str12579 = private unnamed_addr constant [6 x i8] c"(ptr \00" @.str12580 = private unnamed_addr constant [7 x i8] c", i32 \00" @.str12581 = private unnamed_addr constant [2 x i8] c")\00" @.str12582 = private unnamed_addr constant [6 x i8] c"[]int\00" @.str12583 = private unnamed_addr constant [55 x i8] c"build/cfree/selfhost.ludic:20910: index out of range: \00" @.str12584 = private unnamed_addr constant [6 x i8] c"List.\00" @.str12585 = private unnamed_addr constant [15 x i8] c" needs a slice\00" @.str12586 = private unnamed_addr constant [6 x i8] c"clear\00" @.str12587 = private unnamed_addr constant [20 x i8] c" store i32 0, ptr \00" @.str12588 = private unnamed_addr constant [2 x i8] c"\0A\00" @.str12589 = private unnamed_addr constant [2 x i8] c"0\00" @.str12590 = private unnamed_addr constant [5 x i8] c"void\00" @.str12591 = private unnamed_addr constant [6 x i8] c"first\00" @.str12592 = private unnamed_addr constant [2 x i8] c"0\00" @.str12593 = private unnamed_addr constant [6 x i8] c"load \00" @.str12594 = private unnamed_addr constant [7 x i8] c", ptr \00" @.str12595 = private unnamed_addr constant [5 x i8] c"last\00" @.str12596 = private unnamed_addr constant [15 x i8] c"load i32, ptr \00" @.str12597 = private unnamed_addr constant [9 x i8] c"sub i32 \00" @.str12598 = private unnamed_addr constant [4 x i8] c", 1\00" @.str12599 = private unnamed_addr constant [6 x i8] c"load \00" @.str12600 = private unnamed_addr constant [7 x i8] c", ptr \00" @.str12601 = private unnamed_addr constant [4 x i8] c"pop\00" @.str12602 = private unnamed_addr constant [15 x i8] c"load i32, ptr \00" @.str12603 = private unnamed_addr constant [9 x i8] c"sub i32 \00" @.str12604 = private unnamed_addr constant [4 x i8] c", 1\00" @.str12605 = private unnamed_addr constant [6 x i8] c"load \00" @.str12606 = private unnamed_addr constant [7 x i8] c", ptr \00" @.str12607 = private unnamed_addr constant [13 x i8] c" store i32 \00" @.str12608 = private unnamed_addr constant [7 x i8] c", ptr \00" @.str12609 = private unnamed_addr constant [2 x i8] c"\0A\00" @.str12610 = private unnamed_addr constant [5 x i8] c"swap\00" @.str12611 = private unnamed_addr constant [55 x i8] c"build/cfree/selfhost.ludic:20940: index out of range: \00" @.str12612 = private unnamed_addr constant [55 x i8] c"build/cfree/selfhost.ludic:20940: index out of range: \00" @.str12613 = private unnamed_addr constant [6 x i8] c"load \00" @.str12614 = private unnamed_addr constant [7 x i8] c", ptr \00" @.str12615 = private unnamed_addr constant [6 x i8] c"load \00" @.str12616 = private unnamed_addr constant [7 x i8] c", ptr \00" @.str12617 = private unnamed_addr constant [9 x i8] c" store \00" @.str12618 = private unnamed_addr constant [2 x i8] c" \00" @.str12619 = private unnamed_addr constant [7 x i8] c", ptr \00" @.str12620 = private unnamed_addr constant [2 x i8] c"\0A\00" @.str12621 = private unnamed_addr constant [9 x i8] c" store \00" @.str12622 = private unnamed_addr constant [2 x i8] c" \00" @.str12623 = private unnamed_addr constant [7 x i8] c", ptr \00" @.str12624 = private unnamed_addr constant [2 x i8] c"\0A\00" @.str12625 = private unnamed_addr constant [2 x i8] c"0\00" @.str12626 = private unnamed_addr constant [5 x i8] c"void\00" @.str12627 = private unnamed_addr constant [9 x i8] c"contains\00" @.str12628 = private unnamed_addr constant [9 x i8] c"index_of\00" @.str12629 = private unnamed_addr constant [55 x i8] c"build/cfree/selfhost.ludic:20950: index out of range: \00" @.str12630 = private unnamed_addr constant [15 x i8] c"load i32, ptr \00" @.str12631 = private unnamed_addr constant [4 x i8] c"i32\00" @.str12632 = private unnamed_addr constant [4 x i8] c"i32\00" @.str12633 = private unnamed_addr constant [3 x i8] c"-1\00" @.str12634 = private unnamed_addr constant [4 x i8] c"i32\00" @.str12635 = private unnamed_addr constant [4 x i8] c"i32\00" @.str12636 = private unnamed_addr constant [2 x i8] c"0\00" @.str12637 = private unnamed_addr constant [8 x i8] c"lc_cond\00" @.str12638 = private unnamed_addr constant [8 x i8] c"lc_body\00" @.str12639 = private unnamed_addr constant [7 x i8] c"lc_hit\00" @.str12640 = private unnamed_addr constant [8 x i8] c"lc_next\00" @.str12641 = private unnamed_addr constant [7 x i8] c"lc_end\00" @.str12642 = private unnamed_addr constant [13 x i8] c" br label %\00" @.str12643 = private unnamed_addr constant [2 x i8] c"\0A\00" @.str12644 = private unnamed_addr constant [3 x i8] c":\0A\00" @.str12645 = private unnamed_addr constant [15 x i8] c"load i32, ptr \00" @.str12646 = private unnamed_addr constant [14 x i8] c"icmp slt i32 \00" @.str12647 = private unnamed_addr constant [3 x i8] c", \00" @.str12648 = private unnamed_addr constant [9 x i8] c" br i1 \00" @.str12649 = private unnamed_addr constant [10 x i8] c", label %\00" @.str12650 = private unnamed_addr constant [10 x i8] c", label %\00" @.str12651 = private unnamed_addr constant [2 x i8] c"\0A\00" @.str12652 = private unnamed_addr constant [3 x i8] c":\0A\00" @.str12653 = private unnamed_addr constant [6 x i8] c"load \00" @.str12654 = private unnamed_addr constant [7 x i8] c", ptr \00" @.str12655 = private unnamed_addr constant [9 x i8] c"icmp eq \00" @.str12656 = private unnamed_addr constant [2 x i8] c" \00" @.str12657 = private unnamed_addr constant [3 x i8] c", \00" @.str12658 = private unnamed_addr constant [9 x i8] c" br i1 \00" @.str12659 = private unnamed_addr constant [10 x i8] c", label %\00" @.str12660 = private unnamed_addr constant [10 x i8] c", label %\00" @.str12661 = private unnamed_addr constant [2 x i8] c"\0A\00" @.str12662 = private unnamed_addr constant [3 x i8] c":\0A\00" @.str12663 = private unnamed_addr constant [4 x i8] c"i32\00" @.str12664 = private unnamed_addr constant [13 x i8] c" br label %\00" @.str12665 = private unnamed_addr constant [2 x i8] c"\0A\00" @.str12666 = private unnamed_addr constant [3 x i8] c":\0A\00" @.str12667 = private unnamed_addr constant [9 x i8] c"add i32 \00" @.str12668 = private unnamed_addr constant [4 x i8] c", 1\00" @.str12669 = private unnamed_addr constant [4 x i8] c"i32\00" @.str12670 = private unnamed_addr constant [13 x i8] c" br label %\00" @.str12671 = private unnamed_addr constant [2 x i8] c"\0A\00" @.str12672 = private unnamed_addr constant [3 x i8] c":\0A\00" @.str12673 = private unnamed_addr constant [15 x i8] c"load i32, ptr \00" @.str12674 = private unnamed_addr constant [9 x i8] c"index_of\00" @.str12675 = private unnamed_addr constant [4 x i8] c"int\00" @.str12676 = private unnamed_addr constant [14 x i8] c"icmp sge i32 \00" @.str12677 = private unnamed_addr constant [4 x i8] c", 0\00" @.str12678 = private unnamed_addr constant [9 x i8] c"zext i1 \00" @.str12679 = private unnamed_addr constant [8 x i8] c" to i32\00" @.str12680 = private unnamed_addr constant [5 x i8] c"bool\00" @.str12681 = private unnamed_addr constant [7 x i8] c"insert\00" @.str12682 = private unnamed_addr constant [55 x i8] c"build/cfree/selfhost.ludic:20982: index out of range: \00" @.str12683 = private unnamed_addr constant [55 x i8] c"build/cfree/selfhost.ludic:20982: index out of range: \00" @.str12684 = private unnamed_addr constant [15 x i8] c"load i32, ptr \00" @.str12685 = private unnamed_addr constant [4 x i8] c"i32\00" @.str12686 = private unnamed_addr constant [4 x i8] c"i32\00" @.str12687 = private unnamed_addr constant [5 x i8] c"li_c\00" @.str12688 = private unnamed_addr constant [5 x i8] c"li_b\00" @.str12689 = private unnamed_addr constant [5 x i8] c"li_e\00" @.str12690 = private unnamed_addr constant [13 x i8] c" br label %\00" @.str12691 = private unnamed_addr constant [2 x i8] c"\0A\00" @.str12692 = private unnamed_addr constant [3 x i8] c":\0A\00" @.str12693 = private unnamed_addr constant [15 x i8] c"load i32, ptr \00" @.str12694 = private unnamed_addr constant [14 x i8] c"icmp sgt i32 \00" @.str12695 = private unnamed_addr constant [3 x i8] c", \00" @.str12696 = private unnamed_addr constant [9 x i8] c" br i1 \00" @.str12697 = private unnamed_addr constant [10 x i8] c", label %\00" @.str12698 = private unnamed_addr constant [10 x i8] c", label %\00" @.str12699 = private unnamed_addr constant [2 x i8] c"\0A\00" @.str12700 = private unnamed_addr constant [3 x i8] c":\0A\00" @.str12701 = private unnamed_addr constant [9 x i8] c"sub i32 \00" @.str12702 = private unnamed_addr constant [4 x i8] c", 1\00" @.str12703 = private unnamed_addr constant [6 x i8] c"load \00" @.str12704 = private unnamed_addr constant [7 x i8] c", ptr \00" @.str12705 = private unnamed_addr constant [9 x i8] c" store \00" @.str12706 = private unnamed_addr constant [2 x i8] c" \00" @.str12707 = private unnamed_addr constant [7 x i8] c", ptr \00" @.str12708 = private unnamed_addr constant [2 x i8] c"\0A\00" @.str12709 = private unnamed_addr constant [4 x i8] c"i32\00" @.str12710 = private unnamed_addr constant [13 x i8] c" br label %\00" @.str12711 = private unnamed_addr constant [2 x i8] c"\0A\00" @.str12712 = private unnamed_addr constant [3 x i8] c":\0A\00" @.str12713 = private unnamed_addr constant [9 x i8] c" store \00" @.str12714 = private unnamed_addr constant [2 x i8] c" \00" @.str12715 = private unnamed_addr constant [7 x i8] c", ptr \00" @.str12716 = private unnamed_addr constant [2 x i8] c"\0A\00" @.str12717 = private unnamed_addr constant [9 x i8] c"add i32 \00" @.str12718 = private unnamed_addr constant [4 x i8] c", 1\00" @.str12719 = private unnamed_addr constant [13 x i8] c" store i32 \00" @.str12720 = private unnamed_addr constant [7 x i8] c", ptr \00" @.str12721 = private unnamed_addr constant [2 x i8] c"\0A\00" @.str12722 = private unnamed_addr constant [2 x i8] c"0\00" @.str12723 = private unnamed_addr constant [5 x i8] c"void\00" @.str12724 = private unnamed_addr constant [10 x i8] c"remove_at\00" @.str12725 = private unnamed_addr constant [55 x i8] c"build/cfree/selfhost.ludic:21008: index out of range: \00" @.str12726 = private unnamed_addr constant [15 x i8] c"load i32, ptr \00" @.str12727 = private unnamed_addr constant [9 x i8] c"sub i32 \00" @.str12728 = private unnamed_addr constant [4 x i8] c", 1\00" @.str12729 = private unnamed_addr constant [4 x i8] c"i32\00" @.str12730 = private unnamed_addr constant [4 x i8] c"i32\00" @.str12731 = private unnamed_addr constant [5 x i8] c"lr_c\00" @.str12732 = private unnamed_addr constant [5 x i8] c"lr_b\00" @.str12733 = private unnamed_addr constant [5 x i8] c"lr_e\00" @.str12734 = private unnamed_addr constant [13 x i8] c" br label %\00" @.str12735 = private unnamed_addr constant [2 x i8] c"\0A\00" @.str12736 = private unnamed_addr constant [3 x i8] c":\0A\00" @.str12737 = private unnamed_addr constant [15 x i8] c"load i32, ptr \00" @.str12738 = private unnamed_addr constant [14 x i8] c"icmp slt i32 \00" @.str12739 = private unnamed_addr constant [3 x i8] c", \00" @.str12740 = private unnamed_addr constant [9 x i8] c" br i1 \00" @.str12741 = private unnamed_addr constant [10 x i8] c", label %\00" @.str12742 = private unnamed_addr constant [10 x i8] c", label %\00" @.str12743 = private unnamed_addr constant [2 x i8] c"\0A\00" @.str12744 = private unnamed_addr constant [3 x i8] c":\0A\00" @.str12745 = private unnamed_addr constant [9 x i8] c"add i32 \00" @.str12746 = private unnamed_addr constant [4 x i8] c", 1\00" @.str12747 = private unnamed_addr constant [6 x i8] c"load \00" @.str12748 = private unnamed_addr constant [7 x i8] c", ptr \00" @.str12749 = private unnamed_addr constant [9 x i8] c" store \00" @.str12750 = private unnamed_addr constant [2 x i8] c" \00" @.str12751 = private unnamed_addr constant [7 x i8] c", ptr \00" @.str12752 = private unnamed_addr constant [2 x i8] c"\0A\00" @.str12753 = private unnamed_addr constant [4 x i8] c"i32\00" @.str12754 = private unnamed_addr constant [13 x i8] c" br label %\00" @.str12755 = private unnamed_addr constant [2 x i8] c"\0A\00" @.str12756 = private unnamed_addr constant [3 x i8] c":\0A\00" @.str12757 = private unnamed_addr constant [13 x i8] c" store i32 \00" @.str12758 = private unnamed_addr constant [7 x i8] c", ptr \00" @.str12759 = private unnamed_addr constant [2 x i8] c"\0A\00" @.str12760 = private unnamed_addr constant [2 x i8] c"0\00" @.str12761 = private unnamed_addr constant [5 x i8] c"void\00" @.str12762 = private unnamed_addr constant [7 x i8] c"remove\00" @.str12763 = private unnamed_addr constant [55 x i8] c"build/cfree/selfhost.ludic:21031: index out of range: \00" @.str12764 = private unnamed_addr constant [15 x i8] c"load i32, ptr \00" @.str12765 = private unnamed_addr constant [4 x i8] c"i32\00" @.str12766 = private unnamed_addr constant [4 x i8] c"i32\00" @.str12767 = private unnamed_addr constant [3 x i8] c"-1\00" @.str12768 = private unnamed_addr constant [4 x i8] c"i32\00" @.str12769 = private unnamed_addr constant [4 x i8] c"i32\00" @.str12770 = private unnamed_addr constant [2 x i8] c"0\00" @.str12771 = private unnamed_addr constant [5 x i8] c"lv_c\00" @.str12772 = private unnamed_addr constant [5 x i8] c"lv_b\00" @.str12773 = private unnamed_addr constant [5 x i8] c"lv_h\00" @.str12774 = private unnamed_addr constant [5 x i8] c"lv_n\00" @.str12775 = private unnamed_addr constant [5 x i8] c"lv_e\00" @.str12776 = private unnamed_addr constant [13 x i8] c" br label %\00" @.str12777 = private unnamed_addr constant [2 x i8] c"\0A\00" @.str12778 = private unnamed_addr constant [3 x i8] c":\0A\00" @.str12779 = private unnamed_addr constant [15 x i8] c"load i32, ptr \00" @.str12780 = private unnamed_addr constant [14 x i8] c"icmp slt i32 \00" @.str12781 = private unnamed_addr constant [3 x i8] c", \00" @.str12782 = private unnamed_addr constant [15 x i8] c"load i32, ptr \00" @.str12783 = private unnamed_addr constant [14 x i8] c"icmp slt i32 \00" @.str12784 = private unnamed_addr constant [4 x i8] c", 0\00" @.str12785 = private unnamed_addr constant [8 x i8] c"and i1 \00" @.str12786 = private unnamed_addr constant [3 x i8] c", \00" @.str12787 = private unnamed_addr constant [9 x i8] c" br i1 \00" @.str12788 = private unnamed_addr constant [10 x i8] c", label %\00" @.str12789 = private unnamed_addr constant [10 x i8] c", label %\00" @.str12790 = private unnamed_addr constant [2 x i8] c"\0A\00" @.str12791 = private unnamed_addr constant [3 x i8] c":\0A\00" @.str12792 = private unnamed_addr constant [6 x i8] c"load \00" @.str12793 = private unnamed_addr constant [7 x i8] c", ptr \00" @.str12794 = private unnamed_addr constant [9 x i8] c"icmp eq \00" @.str12795 = private unnamed_addr constant [2 x i8] c" \00" @.str12796 = private unnamed_addr constant [3 x i8] c", \00" @.str12797 = private unnamed_addr constant [9 x i8] c" br i1 \00" @.str12798 = private unnamed_addr constant [10 x i8] c", label %\00" @.str12799 = private unnamed_addr constant [10 x i8] c", label %\00" @.str12800 = private unnamed_addr constant [2 x i8] c"\0A\00" @.str12801 = private unnamed_addr constant [3 x i8] c":\0A\00" @.str12802 = private unnamed_addr constant [4 x i8] c"i32\00" @.str12803 = private unnamed_addr constant [13 x i8] c" br label %\00" @.str12804 = private unnamed_addr constant [2 x i8] c"\0A\00" @.str12805 = private unnamed_addr constant [3 x i8] c":\0A\00" @.str12806 = private unnamed_addr constant [9 x i8] c"add i32 \00" @.str12807 = private unnamed_addr constant [4 x i8] c", 1\00" @.str12808 = private unnamed_addr constant [4 x i8] c"i32\00" @.str12809 = private unnamed_addr constant [13 x i8] c" br label %\00" @.str12810 = private unnamed_addr constant [2 x i8] c"\0A\00" @.str12811 = private unnamed_addr constant [3 x i8] c":\0A\00" @.str12812 = private unnamed_addr constant [15 x i8] c"load i32, ptr \00" @.str12813 = private unnamed_addr constant [14 x i8] c"icmp sge i32 \00" @.str12814 = private unnamed_addr constant [4 x i8] c", 0\00" @.str12815 = private unnamed_addr constant [6 x i8] c"lv_do\00" @.str12816 = private unnamed_addr constant [7 x i8] c"lv_end\00" @.str12817 = private unnamed_addr constant [9 x i8] c" br i1 \00" @.str12818 = private unnamed_addr constant [10 x i8] c", label %\00" @.str12819 = private unnamed_addr constant [10 x i8] c", label %\00" @.str12820 = private unnamed_addr constant [2 x i8] c"\0A\00" @.str12821 = private unnamed_addr constant [3 x i8] c":\0A\00" @.str12822 = private unnamed_addr constant [9 x i8] c"sub i32 \00" @.str12823 = private unnamed_addr constant [4 x i8] c", 1\00" @.str12824 = private unnamed_addr constant [4 x i8] c"i32\00" @.str12825 = private unnamed_addr constant [4 x i8] c"i32\00" @.str12826 = private unnamed_addr constant [6 x i8] c"lv_dc\00" @.str12827 = private unnamed_addr constant [6 x i8] c"lv_db\00" @.str12828 = private unnamed_addr constant [6 x i8] c"lv_de\00" @.str12829 = private unnamed_addr constant [13 x i8] c" br label %\00" @.str12830 = private unnamed_addr constant [2 x i8] c"\0A\00" @.str12831 = private unnamed_addr constant [3 x i8] c":\0A\00" @.str12832 = private unnamed_addr constant [15 x i8] c"load i32, ptr \00" @.str12833 = private unnamed_addr constant [14 x i8] c"icmp slt i32 \00" @.str12834 = private unnamed_addr constant [3 x i8] c", \00" @.str12835 = private unnamed_addr constant [9 x i8] c" br i1 \00" @.str12836 = private unnamed_addr constant [10 x i8] c", label %\00" @.str12837 = private unnamed_addr constant [10 x i8] c", label %\00" @.str12838 = private unnamed_addr constant [2 x i8] c"\0A\00" @.str12839 = private unnamed_addr constant [3 x i8] c":\0A\00" @.str12840 = private unnamed_addr constant [9 x i8] c"add i32 \00" @.str12841 = private unnamed_addr constant [4 x i8] c", 1\00" @.str12842 = private unnamed_addr constant [6 x i8] c"load \00" @.str12843 = private unnamed_addr constant [7 x i8] c", ptr \00" @.str12844 = private unnamed_addr constant [9 x i8] c" store \00" @.str12845 = private unnamed_addr constant [2 x i8] c" \00" @.str12846 = private unnamed_addr constant [7 x i8] c", ptr \00" @.str12847 = private unnamed_addr constant [2 x i8] c"\0A\00" @.str12848 = private unnamed_addr constant [4 x i8] c"i32\00" @.str12849 = private unnamed_addr constant [13 x i8] c" br label %\00" @.str12850 = private unnamed_addr constant [2 x i8] c"\0A\00" @.str12851 = private unnamed_addr constant [3 x i8] c":\0A\00" @.str12852 = private unnamed_addr constant [13 x i8] c" store i32 \00" @.str12853 = private unnamed_addr constant [7 x i8] c", ptr \00" @.str12854 = private unnamed_addr constant [2 x i8] c"\0A\00" @.str12855 = private unnamed_addr constant [13 x i8] c" br label %\00" @.str12856 = private unnamed_addr constant [2 x i8] c"\0A\00" @.str12857 = private unnamed_addr constant [3 x i8] c":\0A\00" @.str12858 = private unnamed_addr constant [2 x i8] c"0\00" @.str12859 = private unnamed_addr constant [5 x i8] c"void\00" @.str12860 = private unnamed_addr constant [5 x i8] c"sort\00" @.str12861 = private unnamed_addr constant [15 x i8] c"load i32, ptr \00" @.str12862 = private unnamed_addr constant [14 x i8] c"icmp slt i32 \00" @.str12863 = private unnamed_addr constant [5 x i8] c", 32\00" @.str12864 = private unnamed_addr constant [9 x i8] c"sort_ins\00" @.str12865 = private unnamed_addr constant [9 x i8] c"sort_mrg\00" @.str12866 = private unnamed_addr constant [9 x i8] c"sort_end\00" @.str12867 = private unnamed_addr constant [9 x i8] c" br i1 \00" @.str12868 = private unnamed_addr constant [10 x i8] c", label %\00" @.str12869 = private unnamed_addr constant [10 x i8] c", label %\00" @.str12870 = private unnamed_addr constant [2 x i8] c"\0A\00" @.str12871 = private unnamed_addr constant [3 x i8] c":\0A\00" @.str12872 = private unnamed_addr constant [15 x i8] c"load i32, ptr \00" @.str12873 = private unnamed_addr constant [4 x i8] c"i32\00" @.str12874 = private unnamed_addr constant [4 x i8] c"i32\00" @.str12875 = private unnamed_addr constant [2 x i8] c"1\00" @.str12876 = private unnamed_addr constant [6 x i8] c"ls_oc\00" @.str12877 = private unnamed_addr constant [6 x i8] c"ls_ob\00" @.str12878 = private unnamed_addr constant [6 x i8] c"ls_oe\00" @.str12879 = private unnamed_addr constant [13 x i8] c" br label %\00" @.str12880 = private unnamed_addr constant [2 x i8] c"\0A\00" @.str12881 = private unnamed_addr constant [3 x i8] c":\0A\00" @.str12882 = private unnamed_addr constant [15 x i8] c"load i32, ptr \00" @.str12883 = private unnamed_addr constant [14 x i8] c"icmp slt i32 \00" @.str12884 = private unnamed_addr constant [3 x i8] c", \00" @.str12885 = private unnamed_addr constant [9 x i8] c" br i1 \00" @.str12886 = private unnamed_addr constant [10 x i8] c", label %\00" @.str12887 = private unnamed_addr constant [10 x i8] c", label %\00" @.str12888 = private unnamed_addr constant [2 x i8] c"\0A\00" @.str12889 = private unnamed_addr constant [3 x i8] c":\0A\00" @.str12890 = private unnamed_addr constant [6 x i8] c"load \00" @.str12891 = private unnamed_addr constant [7 x i8] c", ptr \00" @.str12892 = private unnamed_addr constant [4 x i8] c"i32\00" @.str12893 = private unnamed_addr constant [9 x i8] c"sub i32 \00" @.str12894 = private unnamed_addr constant [4 x i8] c", 1\00" @.str12895 = private unnamed_addr constant [4 x i8] c"i32\00" @.str12896 = private unnamed_addr constant [6 x i8] c"ls_ic\00" @.str12897 = private unnamed_addr constant [6 x i8] c"ls_ib\00" @.str12898 = private unnamed_addr constant [6 x i8] c"ls_ie\00" @.str12899 = private unnamed_addr constant [13 x i8] c" br label %\00" @.str12900 = private unnamed_addr constant [2 x i8] c"\0A\00" @.str12901 = private unnamed_addr constant [3 x i8] c":\0A\00" @.str12902 = private unnamed_addr constant [15 x i8] c"load i32, ptr \00" @.str12903 = private unnamed_addr constant [14 x i8] c"icmp sge i32 \00" @.str12904 = private unnamed_addr constant [4 x i8] c", 0\00" @.str12905 = private unnamed_addr constant [6 x i8] c"load \00" @.str12906 = private unnamed_addr constant [7 x i8] c", ptr \00" @.str12907 = private unnamed_addr constant [10 x i8] c"icmp sgt \00" @.str12908 = private unnamed_addr constant [2 x i8] c" \00" @.str12909 = private unnamed_addr constant [3 x i8] c", \00" @.str12910 = private unnamed_addr constant [8 x i8] c"and i1 \00" @.str12911 = private unnamed_addr constant [3 x i8] c", \00" @.str12912 = private unnamed_addr constant [9 x i8] c" br i1 \00" @.str12913 = private unnamed_addr constant [10 x i8] c", label %\00" @.str12914 = private unnamed_addr constant [10 x i8] c", label %\00" @.str12915 = private unnamed_addr constant [2 x i8] c"\0A\00" @.str12916 = private unnamed_addr constant [3 x i8] c":\0A\00" @.str12917 = private unnamed_addr constant [9 x i8] c"add i32 \00" @.str12918 = private unnamed_addr constant [4 x i8] c", 1\00" @.str12919 = private unnamed_addr constant [9 x i8] c" store \00" @.str12920 = private unnamed_addr constant [2 x i8] c" \00" @.str12921 = private unnamed_addr constant [7 x i8] c", ptr \00" @.str12922 = private unnamed_addr constant [2 x i8] c"\0A\00" @.str12923 = private unnamed_addr constant [9 x i8] c"sub i32 \00" @.str12924 = private unnamed_addr constant [4 x i8] c", 1\00" @.str12925 = private unnamed_addr constant [4 x i8] c"i32\00" @.str12926 = private unnamed_addr constant [13 x i8] c" br label %\00" @.str12927 = private unnamed_addr constant [2 x i8] c"\0A\00" @.str12928 = private unnamed_addr constant [3 x i8] c":\0A\00" @.str12929 = private unnamed_addr constant [15 x i8] c"load i32, ptr \00" @.str12930 = private unnamed_addr constant [9 x i8] c"add i32 \00" @.str12931 = private unnamed_addr constant [4 x i8] c", 1\00" @.str12932 = private unnamed_addr constant [9 x i8] c" store \00" @.str12933 = private unnamed_addr constant [2 x i8] c" \00" @.str12934 = private unnamed_addr constant [7 x i8] c", ptr \00" @.str12935 = private unnamed_addr constant [2 x i8] c"\0A\00" @.str12936 = private unnamed_addr constant [9 x i8] c"add i32 \00" @.str12937 = private unnamed_addr constant [4 x i8] c", 1\00" @.str12938 = private unnamed_addr constant [4 x i8] c"i32\00" @.str12939 = private unnamed_addr constant [13 x i8] c" br label %\00" @.str12940 = private unnamed_addr constant [2 x i8] c"\0A\00" @.str12941 = private unnamed_addr constant [3 x i8] c":\0A\00" @.str12942 = private unnamed_addr constant [13 x i8] c" br label %\00" @.str12943 = private unnamed_addr constant [2 x i8] c"\0A\00" @.str12944 = private unnamed_addr constant [3 x i8] c":\0A\00" @.str12945 = private unnamed_addr constant [1 x i8] c"\00" @.str12946 = private unnamed_addr constant [1 x i8] c"\00" @.str12947 = private unnamed_addr constant [13 x i8] c" br label %\00" @.str12948 = private unnamed_addr constant [2 x i8] c"\0A\00" @.str12949 = private unnamed_addr constant [3 x i8] c":\0A\00" @.str12950 = private unnamed_addr constant [2 x i8] c"0\00" @.str12951 = private unnamed_addr constant [5 x i8] c"void\00" @.str12952 = private unnamed_addr constant [10 x i8] c"sort_with\00" @.str12953 = private unnamed_addr constant [18 x i8] c"List.sort_with: '\00" @.str12954 = private unnamed_addr constant [26 x i8] c"' must take two arguments\00" @.str12955 = private unnamed_addr constant [4 x i8] c"i32\00" @.str12956 = private unnamed_addr constant [2 x i8] c"0\00" @.str12957 = private unnamed_addr constant [5 x i8] c"void\00" @.str12958 = private unnamed_addr constant [8 x i8] c"sort_by\00" @.str12959 = private unnamed_addr constant [13 x i8] c"sort_desc_by\00" @.str12960 = private unnamed_addr constant [6 x i8] c"List.\00" @.str12961 = private unnamed_addr constant [8 x i8] c": key '\00" @.str12962 = private unnamed_addr constant [25 x i8] c"' must take one argument\00" @.str12963 = private unnamed_addr constant [4 x i8] c"ptr\00" @.str12964 = private unnamed_addr constant [5 x i8] c"void\00" @.str12965 = private unnamed_addr constant [6 x i8] c"List.\00" @.str12966 = private unnamed_addr constant [8 x i8] c": key '\00" @.str12967 = private unnamed_addr constant [23 x i8] c"' must return a number\00" @.str12968 = private unnamed_addr constant [13 x i8] c"sort_desc_by\00" @.str12969 = private unnamed_addr constant [2 x i8] c"0\00" @.str12970 = private unnamed_addr constant [5 x i8] c"void\00" @.str12971 = private unnamed_addr constant [15 x i8] c"load i32, ptr \00" @.str12972 = private unnamed_addr constant [4 x i8] c"i32\00" @.str12973 = private unnamed_addr constant [4 x i8] c"i32\00" @.str12974 = private unnamed_addr constant [2 x i8] c"0\00" @.str12975 = private unnamed_addr constant [4 x i8] c"i32\00" @.str12976 = private unnamed_addr constant [9 x i8] c"sub i32 \00" @.str12977 = private unnamed_addr constant [4 x i8] c", 1\00" @.str12978 = private unnamed_addr constant [4 x i8] c"i32\00" @.str12979 = private unnamed_addr constant [8 x i8] c"lr_cond\00" @.str12980 = private unnamed_addr constant [8 x i8] c"lr_body\00" @.str12981 = private unnamed_addr constant [7 x i8] c"lr_end\00" @.str12982 = private unnamed_addr constant [13 x i8] c" br label %\00" @.str12983 = private unnamed_addr constant [2 x i8] c"\0A\00" @.str12984 = private unnamed_addr constant [3 x i8] c":\0A\00" @.str12985 = private unnamed_addr constant [15 x i8] c"load i32, ptr \00" @.str12986 = private unnamed_addr constant [15 x i8] c"load i32, ptr \00" @.str12987 = private unnamed_addr constant [14 x i8] c"icmp slt i32 \00" @.str12988 = private unnamed_addr constant [3 x i8] c", \00" @.str12989 = private unnamed_addr constant [9 x i8] c" br i1 \00" @.str12990 = private unnamed_addr constant [10 x i8] c", label %\00" @.str12991 = private unnamed_addr constant [10 x i8] c", label %\00" @.str12992 = private unnamed_addr constant [2 x i8] c"\0A\00" @.str12993 = private unnamed_addr constant [3 x i8] c":\0A\00" @.str12994 = private unnamed_addr constant [6 x i8] c"load \00" @.str12995 = private unnamed_addr constant [7 x i8] c", ptr \00" @.str12996 = private unnamed_addr constant [6 x i8] c"load \00" @.str12997 = private unnamed_addr constant [7 x i8] c", ptr \00" @.str12998 = private unnamed_addr constant [9 x i8] c" store \00" @.str12999 = private unnamed_addr constant [2 x i8] c" \00" @.str13000 = private unnamed_addr constant [7 x i8] c", ptr \00" @.str13001 = private unnamed_addr constant [2 x i8] c"\0A\00" @.str13002 = private unnamed_addr constant [9 x i8] c" store \00" @.str13003 = private unnamed_addr constant [2 x i8] c" \00" @.str13004 = private unnamed_addr constant [7 x i8] c", ptr \00" @.str13005 = private unnamed_addr constant [2 x i8] c"\0A\00" @.str13006 = private unnamed_addr constant [9 x i8] c"add i32 \00" @.str13007 = private unnamed_addr constant [4 x i8] c", 1\00" @.str13008 = private unnamed_addr constant [4 x i8] c"i32\00" @.str13009 = private unnamed_addr constant [9 x i8] c"sub i32 \00" @.str13010 = private unnamed_addr constant [4 x i8] c", 1\00" @.str13011 = private unnamed_addr constant [4 x i8] c"i32\00" @.str13012 = private unnamed_addr constant [13 x i8] c" br label %\00" @.str13013 = private unnamed_addr constant [2 x i8] c"\0A\00" @.str13014 = private unnamed_addr constant [3 x i8] c":\0A\00" @.str13015 = private unnamed_addr constant [2 x i8] c"0\00" @.str13016 = private unnamed_addr constant [5 x i8] c"void\00" @.str13017 = private unnamed_addr constant [3 x i8] c"in\00" @.str13018 = private unnamed_addr constant [4 x i8] c"out\00" @.str13019 = private unnamed_addr constant [7 x i8] c"in_out\00" @.str13020 = private unnamed_addr constant [5 x i8] c"back\00" @.str13021 = private unnamed_addr constant [7 x i8] c"bounce\00" @.str13022 = private unnamed_addr constant [8 x i8] c"elastic\00" @.str13023 = private unnamed_addr constant [7 x i8] c"495616\00" @.str13024 = private unnamed_addr constant [9 x i8] c"sub i32 \00" @.str13025 = private unnamed_addr constant [17 x i8] c"ease_bounce_code\00" @.str13026 = private unnamed_addr constant [8 x i8] c", 35747\00" @.str13027 = private unnamed_addr constant [9 x i8] c"add i32 \00" @.str13028 = private unnamed_addr constant [8 x i8] c", 49152\00" @.str13029 = private unnamed_addr constant [9 x i8] c"sub i32 \00" @.str13030 = private unnamed_addr constant [8 x i8] c", 53620\00" @.str13031 = private unnamed_addr constant [9 x i8] c"add i32 \00" @.str13032 = private unnamed_addr constant [8 x i8] c", 61440\00" @.str13033 = private unnamed_addr constant [9 x i8] c"sub i32 \00" @.str13034 = private unnamed_addr constant [8 x i8] c", 62557\00" @.str13035 = private unnamed_addr constant [9 x i8] c"add i32 \00" @.str13036 = private unnamed_addr constant [8 x i8] c", 64512\00" @.str13037 = private unnamed_addr constant [14 x i8] c"icmp slt i32 \00" @.str13038 = private unnamed_addr constant [8 x i8] c", 59578\00" @.str13039 = private unnamed_addr constant [11 x i8] c"select i1 \00" @.str13040 = private unnamed_addr constant [7 x i8] c", i32 \00" @.str13041 = private unnamed_addr constant [7 x i8] c", i32 \00" @.str13042 = private unnamed_addr constant [14 x i8] c"icmp slt i32 \00" @.str13043 = private unnamed_addr constant [8 x i8] c", 47663\00" @.str13044 = private unnamed_addr constant [11 x i8] c"select i1 \00" @.str13045 = private unnamed_addr constant [7 x i8] c", i32 \00" @.str13046 = private unnamed_addr constant [7 x i8] c", i32 \00" @.str13047 = private unnamed_addr constant [14 x i8] c"icmp slt i32 \00" @.str13048 = private unnamed_addr constant [8 x i8] c", 23831\00" @.str13049 = private unnamed_addr constant [11 x i8] c"select i1 \00" @.str13050 = private unnamed_addr constant [7 x i8] c", i32 \00" @.str13051 = private unnamed_addr constant [7 x i8] c", i32 \00" @.str13052 = private unnamed_addr constant [17 x i8] c"sub i32 131072, \00" @.str13053 = private unnamed_addr constant [10 x i8] c"ease_eval\00" @.str13054 = private unnamed_addr constant [9 x i8] c"mul i32 \00" @.str13055 = private unnamed_addr constant [4 x i8] c", 3\00" @.str13056 = private unnamed_addr constant [9 x i8] c"mul i32 \00" @.str13057 = private unnamed_addr constant [4 x i8] c", 2\00" @.str13058 = private unnamed_addr constant [9 x i8] c"sub i32 \00" @.str13059 = private unnamed_addr constant [3 x i8] c", \00" @.str13060 = private unnamed_addr constant [7 x i8] c"177051\00" @.str13061 = private unnamed_addr constant [7 x i8] c"111515\00" @.str13062 = private unnamed_addr constant [9 x i8] c"sub i32 \00" @.str13063 = private unnamed_addr constant [3 x i8] c", \00" @.str13064 = private unnamed_addr constant [9 x i8] c"mul i32 \00" @.str13065 = private unnamed_addr constant [5 x i8] c", 10\00" @.str13066 = private unnamed_addr constant [12 x i8] c"sub i32 0, \00" @.str13067 = private unnamed_addr constant [26 x i8] c"call i32 @lp_fx_exp2(i32 \00" @.str13068 = private unnamed_addr constant [2 x i8] c")\00" @.str13069 = private unnamed_addr constant [9 x i8] c"sub i32 \00" @.str13070 = private unnamed_addr constant [8 x i8] c", 49152\00" @.str13071 = private unnamed_addr constant [7 x i8] c"137258\00" @.str13072 = private unnamed_addr constant [25 x i8] c"call i32 @lp_fx_sin(i32 \00" @.str13073 = private unnamed_addr constant [2 x i8] c")\00" @.str13074 = private unnamed_addr constant [9 x i8] c"add i32 \00" @.str13075 = private unnamed_addr constant [8 x i8] c", 65536\00" @.str13076 = private unnamed_addr constant [55 x i8] c"build/cfree/selfhost.ludic:21266: index out of range: \00" @.str13077 = private unnamed_addr constant [13 x i8] c"emit_ease_ns\00" @.str13078 = private unnamed_addr constant [3 x i8] c"in\00" @.str13079 = private unnamed_addr constant [6 x i8] c"fixed\00" @.str13080 = private unnamed_addr constant [4 x i8] c"out\00" @.str13081 = private unnamed_addr constant [6 x i8] c"fixed\00" @.str13082 = private unnamed_addr constant [7 x i8] c"in_out\00" @.str13083 = private unnamed_addr constant [6 x i8] c"fixed\00" @.str13084 = private unnamed_addr constant [5 x i8] c"back\00" @.str13085 = private unnamed_addr constant [6 x i8] c"fixed\00" @.str13086 = private unnamed_addr constant [8 x i8] c"elastic\00" @.str13087 = private unnamed_addr constant [6 x i8] c"fixed\00" @.str13088 = private unnamed_addr constant [6 x i8] c"fixed\00" @.str13089 = private unnamed_addr constant [6 x i8] c"frame\00" @.str13090 = private unnamed_addr constant [5 x i8] c"once\00" @.str13091 = private unnamed_addr constant [9 x i8] c"pingpong\00" @.str13092 = private unnamed_addr constant [9 x i8] c"finished\00" @.str13093 = private unnamed_addr constant [9 x i8] c"duration\00" @.str13094 = private unnamed_addr constant [7 x i8] c"cell_x\00" @.str13095 = private unnamed_addr constant [7 x i8] c"cell_y\00" @.str13096 = private unnamed_addr constant [10 x i8] c"sext i32 \00" @.str13097 = private unnamed_addr constant [13 x i8] c"anim_elapsed\00" @.str13098 = private unnamed_addr constant [8 x i8] c" to i64\00" @.str13099 = private unnamed_addr constant [10 x i8] c"sext i32 \00" @.str13100 = private unnamed_addr constant [8 x i8] c" to i64\00" @.str13101 = private unnamed_addr constant [9 x i8] c"mul i64 \00" @.str13102 = private unnamed_addr constant [3 x i8] c", \00" @.str13103 = private unnamed_addr constant [10 x i8] c"ashr i64 \00" @.str13104 = private unnamed_addr constant [5 x i8] c", 16\00" @.str13105 = private unnamed_addr constant [11 x i8] c"trunc i64 \00" @.str13106 = private unnamed_addr constant [8 x i8] c" to i32\00" @.str13107 = private unnamed_addr constant [14 x i8] c"icmp slt i32 \00" @.str13108 = private unnamed_addr constant [14 x i8] c"anim_atleast1\00" @.str13109 = private unnamed_addr constant [4 x i8] c", 1\00" @.str13110 = private unnamed_addr constant [11 x i8] c"select i1 \00" @.str13111 = private unnamed_addr constant [14 x i8] c", i32 1, i32 \00" @.str13112 = private unnamed_addr constant [6 x i8] c"frame\00" @.str13113 = private unnamed_addr constant [55 x i8] c"build/cfree/selfhost.ludic:21315: index out of range: \00" @.str13114 = private unnamed_addr constant [13 x i8] c"emit_anim_ns\00" @.str13115 = private unnamed_addr constant [55 x i8] c"build/cfree/selfhost.ludic:21315: index out of range: \00" @.str13116 = private unnamed_addr constant [55 x i8] c"build/cfree/selfhost.ludic:21315: index out of range: \00" @.str13117 = private unnamed_addr constant [10 x i8] c"srem i32 \00" @.str13118 = private unnamed_addr constant [3 x i8] c", \00" @.str13119 = private unnamed_addr constant [4 x i8] c"int\00" @.str13120 = private unnamed_addr constant [5 x i8] c"once\00" @.str13121 = private unnamed_addr constant [55 x i8] c"build/cfree/selfhost.ludic:21321: index out of range: \00" @.str13122 = private unnamed_addr constant [55 x i8] c"build/cfree/selfhost.ludic:21321: index out of range: \00" @.str13123 = private unnamed_addr constant [55 x i8] c"build/cfree/selfhost.ludic:21321: index out of range: \00" @.str13124 = private unnamed_addr constant [9 x i8] c"sub i32 \00" @.str13125 = private unnamed_addr constant [4 x i8] c", 1\00" @.str13126 = private unnamed_addr constant [14 x i8] c"icmp slt i32 \00" @.str13127 = private unnamed_addr constant [3 x i8] c", \00" @.str13128 = private unnamed_addr constant [11 x i8] c"select i1 \00" @.str13129 = private unnamed_addr constant [7 x i8] c", i32 \00" @.str13130 = private unnamed_addr constant [7 x i8] c", i32 \00" @.str13131 = private unnamed_addr constant [4 x i8] c"int\00" @.str13132 = private unnamed_addr constant [9 x i8] c"pingpong\00" @.str13133 = private unnamed_addr constant [55 x i8] c"build/cfree/selfhost.ludic:21328: index out of range: \00" @.str13134 = private unnamed_addr constant [55 x i8] c"build/cfree/selfhost.ludic:21328: index out of range: \00" @.str13135 = private unnamed_addr constant [55 x i8] c"build/cfree/selfhost.ludic:21328: index out of range: \00" @.str13136 = private unnamed_addr constant [9 x i8] c"mul i32 \00" @.str13137 = private unnamed_addr constant [4 x i8] c", 2\00" @.str13138 = private unnamed_addr constant [9 x i8] c"sub i32 \00" @.str13139 = private unnamed_addr constant [4 x i8] c", 2\00" @.str13140 = private unnamed_addr constant [10 x i8] c"srem i32 \00" @.str13141 = private unnamed_addr constant [3 x i8] c", \00" @.str13142 = private unnamed_addr constant [9 x i8] c"sub i32 \00" @.str13143 = private unnamed_addr constant [3 x i8] c", \00" @.str13144 = private unnamed_addr constant [14 x i8] c"icmp slt i32 \00" @.str13145 = private unnamed_addr constant [3 x i8] c", \00" @.str13146 = private unnamed_addr constant [11 x i8] c"select i1 \00" @.str13147 = private unnamed_addr constant [7 x i8] c", i32 \00" @.str13148 = private unnamed_addr constant [7 x i8] c", i32 \00" @.str13149 = private unnamed_addr constant [4 x i8] c"int\00" @.str13150 = private unnamed_addr constant [9 x i8] c"finished\00" @.str13151 = private unnamed_addr constant [55 x i8] c"build/cfree/selfhost.ludic:21339: index out of range: \00" @.str13152 = private unnamed_addr constant [55 x i8] c"build/cfree/selfhost.ludic:21339: index out of range: \00" @.str13153 = private unnamed_addr constant [55 x i8] c"build/cfree/selfhost.ludic:21339: index out of range: \00" @.str13154 = private unnamed_addr constant [14 x i8] c"icmp sge i32 \00" @.str13155 = private unnamed_addr constant [3 x i8] c", \00" @.str13156 = private unnamed_addr constant [9 x i8] c"zext i1 \00" @.str13157 = private unnamed_addr constant [8 x i8] c" to i32\00" @.str13158 = private unnamed_addr constant [5 x i8] c"bool\00" @.str13159 = private unnamed_addr constant [9 x i8] c"duration\00" @.str13160 = private unnamed_addr constant [55 x i8] c"build/cfree/selfhost.ludic:21345: index out of range: \00" @.str13161 = private unnamed_addr constant [55 x i8] c"build/cfree/selfhost.ludic:21345: index out of range: \00" @.str13162 = private unnamed_addr constant [9 x i8] c"shl i32 \00" @.str13163 = private unnamed_addr constant [5 x i8] c", 16\00" @.str13164 = private unnamed_addr constant [10 x i8] c"sdiv i32 \00" @.str13165 = private unnamed_addr constant [3 x i8] c", \00" @.str13166 = private unnamed_addr constant [6 x i8] c"fixed\00" @.str13167 = private unnamed_addr constant [7 x i8] c"cell_x\00" @.str13168 = private unnamed_addr constant [55 x i8] c"build/cfree/selfhost.ludic:21351: index out of range: \00" @.str13169 = private unnamed_addr constant [55 x i8] c"build/cfree/selfhost.ludic:21351: index out of range: \00" @.str13170 = private unnamed_addr constant [55 x i8] c"build/cfree/selfhost.ludic:21351: index out of range: \00" @.str13171 = private unnamed_addr constant [10 x i8] c"srem i32 \00" @.str13172 = private unnamed_addr constant [3 x i8] c", \00" @.str13173 = private unnamed_addr constant [9 x i8] c"mul i32 \00" @.str13174 = private unnamed_addr constant [3 x i8] c", \00" @.str13175 = private unnamed_addr constant [4 x i8] c"int\00" @.str13176 = private unnamed_addr constant [55 x i8] c"build/cfree/selfhost.ludic:21357: index out of range: \00" @.str13177 = private unnamed_addr constant [55 x i8] c"build/cfree/selfhost.ludic:21357: index out of range: \00" @.str13178 = private unnamed_addr constant [55 x i8] c"build/cfree/selfhost.ludic:21357: index out of range: \00" @.str13179 = private unnamed_addr constant [10 x i8] c"sdiv i32 \00" @.str13180 = private unnamed_addr constant [3 x i8] c", \00" @.str13181 = private unnamed_addr constant [9 x i8] c"mul i32 \00" @.str13182 = private unnamed_addr constant [3 x i8] c", \00" @.str13183 = private unnamed_addr constant [4 x i8] c"int\00" @.str13184 = private unnamed_addr constant [9 x i8] c"progress\00" @.str13185 = private unnamed_addr constant [5 x i8] c"loop\00" @.str13186 = private unnamed_addr constant [5 x i8] c"yoyo\00" @.str13187 = private unnamed_addr constant [5 x i8] c"done\00" @.str13188 = private unnamed_addr constant [5 x i8] c"ease\00" @.str13189 = private unnamed_addr constant [7 x i8] c"number\00" @.str13190 = private unnamed_addr constant [6 x i8] c"round\00" @.str13191 = private unnamed_addr constant [6 x i8] c"point\00" @.str13192 = private unnamed_addr constant [5 x i8] c"tint\00" @.str13193 = private unnamed_addr constant [14 x i8] c"icmp sgt i32 \00" @.str13194 = private unnamed_addr constant [10 x i8] c"tween_den\00" @.str13195 = private unnamed_addr constant [4 x i8] c", 0\00" @.str13196 = private unnamed_addr constant [11 x i8] c"select i1 \00" @.str13197 = private unnamed_addr constant [7 x i8] c", i32 \00" @.str13198 = private unnamed_addr constant [12 x i8] c", i32 65536\00" @.str13199 = private unnamed_addr constant [9 x i8] c"progress\00" @.str13200 = private unnamed_addr constant [55 x i8] c"build/cfree/selfhost.ludic:21384: index out of range: \00" @.str13201 = private unnamed_addr constant [14 x i8] c"emit_tween_ns\00" @.str13202 = private unnamed_addr constant [55 x i8] c"build/cfree/selfhost.ludic:21384: index out of range: \00" @.str13203 = private unnamed_addr constant [14 x i8] c"icmp sgt i32 \00" @.str13204 = private unnamed_addr constant [4 x i8] c", 0\00" @.str13205 = private unnamed_addr constant [11 x i8] c"select i1 \00" @.str13206 = private unnamed_addr constant [7 x i8] c", i32 \00" @.str13207 = private unnamed_addr constant [12 x i8] c", i32 65536\00" @.str13208 = private unnamed_addr constant [14 x i8] c"icmp slt i32 \00" @.str13209 = private unnamed_addr constant [4 x i8] c", 0\00" @.str13210 = private unnamed_addr constant [11 x i8] c"select i1 \00" @.str13211 = private unnamed_addr constant [14 x i8] c", i32 0, i32 \00" @.str13212 = private unnamed_addr constant [14 x i8] c"icmp sgt i32 \00" @.str13213 = private unnamed_addr constant [8 x i8] c", 65536\00" @.str13214 = private unnamed_addr constant [11 x i8] c"select i1 \00" @.str13215 = private unnamed_addr constant [18 x i8] c", i32 65536, i32 \00" @.str13216 = private unnamed_addr constant [11 x i8] c"select i1 \00" @.str13217 = private unnamed_addr constant [7 x i8] c", i32 \00" @.str13218 = private unnamed_addr constant [12 x i8] c", i32 65536\00" @.str13219 = private unnamed_addr constant [6 x i8] c"fixed\00" @.str13220 = private unnamed_addr constant [5 x i8] c"loop\00" @.str13221 = private unnamed_addr constant [55 x i8] c"build/cfree/selfhost.ludic:21395: index out of range: \00" @.str13222 = private unnamed_addr constant [55 x i8] c"build/cfree/selfhost.ludic:21395: index out of range: \00" @.str13223 = private unnamed_addr constant [9 x i8] c"and i32 \00" @.str13224 = private unnamed_addr constant [8 x i8] c", 65535\00" @.str13225 = private unnamed_addr constant [6 x i8] c"fixed\00" @.str13226 = private unnamed_addr constant [5 x i8] c"yoyo\00" @.str13227 = private unnamed_addr constant [55 x i8] c"build/cfree/selfhost.ludic:21401: index out of range: \00" @.str13228 = private unnamed_addr constant [55 x i8] c"build/cfree/selfhost.ludic:21401: index out of range: \00" @.str13229 = private unnamed_addr constant [10 x i8] c"srem i32 \00" @.str13230 = private unnamed_addr constant [9 x i8] c", 131072\00" @.str13231 = private unnamed_addr constant [17 x i8] c"sub i32 131072, \00" @.str13232 = private unnamed_addr constant [14 x i8] c"icmp sle i32 \00" @.str13233 = private unnamed_addr constant [8 x i8] c", 65536\00" @.str13234 = private unnamed_addr constant [11 x i8] c"select i1 \00" @.str13235 = private unnamed_addr constant [7 x i8] c", i32 \00" @.str13236 = private unnamed_addr constant [7 x i8] c", i32 \00" @.str13237 = private unnamed_addr constant [6 x i8] c"fixed\00" @.str13238 = private unnamed_addr constant [5 x i8] c"done\00" @.str13239 = private unnamed_addr constant [55 x i8] c"build/cfree/selfhost.ludic:21413: index out of range: \00" @.str13240 = private unnamed_addr constant [10 x i8] c"call i32 \00" @.str13241 = private unnamed_addr constant [11 x i8] c"tween_done\00" @.str13242 = private unnamed_addr constant [6 x i8] c"(i32 \00" @.str13243 = private unnamed_addr constant [2 x i8] c")\00" @.str13244 = private unnamed_addr constant [5 x i8] c"bool\00" @.str13245 = private unnamed_addr constant [55 x i8] c"build/cfree/selfhost.ludic:21416: index out of range: \00" @.str13246 = private unnamed_addr constant [55 x i8] c"build/cfree/selfhost.ludic:21416: index out of range: \00" @.str13247 = private unnamed_addr constant [14 x i8] c"icmp sge i32 \00" @.str13248 = private unnamed_addr constant [3 x i8] c", \00" @.str13249 = private unnamed_addr constant [9 x i8] c"zext i1 \00" @.str13250 = private unnamed_addr constant [8 x i8] c" to i32\00" @.str13251 = private unnamed_addr constant [5 x i8] c"bool\00" @.str13252 = private unnamed_addr constant [5 x i8] c"ease\00" @.str13253 = private unnamed_addr constant [55 x i8] c"build/cfree/selfhost.ludic:21421: index out of range: \00" @.str13254 = private unnamed_addr constant [55 x i8] c"build/cfree/selfhost.ludic:21422: index out of range: \00" @.str13255 = private unnamed_addr constant [55 x i8] c"Tween.ease: the easing mode must be a literal int 0..6\00" @.str13256 = private unnamed_addr constant [6 x i8] c"fixed\00" @.str13257 = private unnamed_addr constant [7 x i8] c"number\00" @.str13258 = private unnamed_addr constant [55 x i8] c"build/cfree/selfhost.ludic:21427: index out of range: \00" @.str13259 = private unnamed_addr constant [55 x i8] c"build/cfree/selfhost.ludic:21427: index out of range: \00" @.str13260 = private unnamed_addr constant [55 x i8] c"build/cfree/selfhost.ludic:21427: index out of range: \00" @.str13261 = private unnamed_addr constant [6 x i8] c"fixed\00" @.str13262 = private unnamed_addr constant [6 x i8] c"round\00" @.str13263 = private unnamed_addr constant [55 x i8] c"build/cfree/selfhost.ludic:21431: index out of range: \00" @.str13264 = private unnamed_addr constant [55 x i8] c"build/cfree/selfhost.ludic:21431: index out of range: \00" @.str13265 = private unnamed_addr constant [55 x i8] c"build/cfree/selfhost.ludic:21431: index out of range: \00" @.str13266 = private unnamed_addr constant [9 x i8] c"sub i32 \00" @.str13267 = private unnamed_addr constant [3 x i8] c", \00" @.str13268 = private unnamed_addr constant [10 x i8] c"sext i32 \00" @.str13269 = private unnamed_addr constant [8 x i8] c" to i64\00" @.str13270 = private unnamed_addr constant [10 x i8] c"sext i32 \00" @.str13271 = private unnamed_addr constant [8 x i8] c" to i64\00" @.str13272 = private unnamed_addr constant [9 x i8] c"mul i64 \00" @.str13273 = private unnamed_addr constant [3 x i8] c", \00" @.str13274 = private unnamed_addr constant [9 x i8] c"add i64 \00" @.str13275 = private unnamed_addr constant [8 x i8] c", 32768\00" @.str13276 = private unnamed_addr constant [10 x i8] c"ashr i64 \00" @.str13277 = private unnamed_addr constant [5 x i8] c", 16\00" @.str13278 = private unnamed_addr constant [11 x i8] c"trunc i64 \00" @.str13279 = private unnamed_addr constant [8 x i8] c" to i32\00" @.str13280 = private unnamed_addr constant [9 x i8] c"add i32 \00" @.str13281 = private unnamed_addr constant [3 x i8] c", \00" @.str13282 = private unnamed_addr constant [4 x i8] c"int\00" @.str13283 = private unnamed_addr constant [6 x i8] c"point\00" @.str13284 = private unnamed_addr constant [55 x i8] c"build/cfree/selfhost.ludic:21442: index out of range: \00" @.str13285 = private unnamed_addr constant [55 x i8] c"build/cfree/selfhost.ludic:21442: index out of range: \00" @.str13286 = private unnamed_addr constant [55 x i8] c"build/cfree/selfhost.ludic:21442: index out of range: \00" @.str13287 = private unnamed_addr constant [7 x i8] c"Vector\00" @.str13288 = private unnamed_addr constant [55 x i8] c"build/cfree/selfhost.ludic:21449: index out of range: \00" @.str13289 = private unnamed_addr constant [55 x i8] c"build/cfree/selfhost.ludic:21449: index out of range: \00" @.str13290 = private unnamed_addr constant [55 x i8] c"build/cfree/selfhost.ludic:21449: index out of range: \00" @.str13291 = private unnamed_addr constant [3 x i8] c"16\00" @.str13292 = private unnamed_addr constant [3 x i8] c"16\00" @.str13293 = private unnamed_addr constant [2 x i8] c"8\00" @.str13294 = private unnamed_addr constant [2 x i8] c"8\00" @.str13295 = private unnamed_addr constant [2 x i8] c"0\00" @.str13296 = private unnamed_addr constant [2 x i8] c"0\00" @.str13297 = private unnamed_addr constant [4 x i8] c"int\00" @.str13298 = private unnamed_addr constant [6 x i8] c"rects\00" @.str13299 = private unnamed_addr constant [11 x i8] c"point_rect\00" @.str13300 = private unnamed_addr constant [8 x i8] c"circles\00" @.str13301 = private unnamed_addr constant [12 x i8] c"rect_circle\00" @.str13302 = private unnamed_addr constant [10 x i8] c"sext i32 \00" @.str13303 = private unnamed_addr constant [12 x i8] c"coll_sq_sum\00" @.str13304 = private unnamed_addr constant [8 x i8] c" to i64\00" @.str13305 = private unnamed_addr constant [10 x i8] c"sext i32 \00" @.str13306 = private unnamed_addr constant [8 x i8] c" to i64\00" @.str13307 = private unnamed_addr constant [9 x i8] c"mul i64 \00" @.str13308 = private unnamed_addr constant [3 x i8] c", \00" @.str13309 = private unnamed_addr constant [9 x i8] c"mul i64 \00" @.str13310 = private unnamed_addr constant [3 x i8] c", \00" @.str13311 = private unnamed_addr constant [9 x i8] c"add i64 \00" @.str13312 = private unnamed_addr constant [3 x i8] c", \00" @.str13313 = private unnamed_addr constant [14 x i8] c"icmp slt i32 \00" @.str13314 = private unnamed_addr constant [11 x i8] c"coll_clamp\00" @.str13315 = private unnamed_addr constant [3 x i8] c", \00" @.str13316 = private unnamed_addr constant [11 x i8] c"select i1 \00" @.str13317 = private unnamed_addr constant [7 x i8] c", i32 \00" @.str13318 = private unnamed_addr constant [7 x i8] c", i32 \00" @.str13319 = private unnamed_addr constant [14 x i8] c"icmp sgt i32 \00" @.str13320 = private unnamed_addr constant [3 x i8] c", \00" @.str13321 = private unnamed_addr constant [11 x i8] c"select i1 \00" @.str13322 = private unnamed_addr constant [7 x i8] c", i32 \00" @.str13323 = private unnamed_addr constant [7 x i8] c", i32 \00" @.str13324 = private unnamed_addr constant [6 x i8] c"rects\00" @.str13325 = private unnamed_addr constant [55 x i8] c"build/cfree/selfhost.ludic:21486: index out of range: \00" @.str13326 = private unnamed_addr constant [16 x i8] c"emit_collide_ns\00" @.str13327 = private unnamed_addr constant [55 x i8] c"build/cfree/selfhost.ludic:21486: index out of range: \00" @.str13328 = private unnamed_addr constant [55 x i8] c"build/cfree/selfhost.ludic:21486: index out of range: \00" @.str13329 = private unnamed_addr constant [55 x i8] c"build/cfree/selfhost.ludic:21486: index out of range: \00" @.str13330 = private unnamed_addr constant [55 x i8] c"build/cfree/selfhost.ludic:21487: index out of range: \00" @.str13331 = private unnamed_addr constant [55 x i8] c"build/cfree/selfhost.ludic:21487: index out of range: \00" @.str13332 = private unnamed_addr constant [55 x i8] c"build/cfree/selfhost.ludic:21487: index out of range: \00" @.str13333 = private unnamed_addr constant [55 x i8] c"build/cfree/selfhost.ludic:21487: index out of range: \00" @.str13334 = private unnamed_addr constant [9 x i8] c"add i32 \00" @.str13335 = private unnamed_addr constant [3 x i8] c", \00" @.str13336 = private unnamed_addr constant [9 x i8] c"add i32 \00" @.str13337 = private unnamed_addr constant [3 x i8] c", \00" @.str13338 = private unnamed_addr constant [9 x i8] c"add i32 \00" @.str13339 = private unnamed_addr constant [3 x i8] c", \00" @.str13340 = private unnamed_addr constant [9 x i8] c"add i32 \00" @.str13341 = private unnamed_addr constant [3 x i8] c", \00" @.str13342 = private unnamed_addr constant [14 x i8] c"icmp slt i32 \00" @.str13343 = private unnamed_addr constant [3 x i8] c", \00" @.str13344 = private unnamed_addr constant [14 x i8] c"icmp slt i32 \00" @.str13345 = private unnamed_addr constant [3 x i8] c", \00" @.str13346 = private unnamed_addr constant [14 x i8] c"icmp slt i32 \00" @.str13347 = private unnamed_addr constant [3 x i8] c", \00" @.str13348 = private unnamed_addr constant [14 x i8] c"icmp slt i32 \00" @.str13349 = private unnamed_addr constant [3 x i8] c", \00" @.str13350 = private unnamed_addr constant [8 x i8] c"and i1 \00" @.str13351 = private unnamed_addr constant [3 x i8] c", \00" @.str13352 = private unnamed_addr constant [8 x i8] c"and i1 \00" @.str13353 = private unnamed_addr constant [3 x i8] c", \00" @.str13354 = private unnamed_addr constant [8 x i8] c"and i1 \00" @.str13355 = private unnamed_addr constant [3 x i8] c", \00" @.str13356 = private unnamed_addr constant [9 x i8] c"zext i1 \00" @.str13357 = private unnamed_addr constant [8 x i8] c" to i32\00" @.str13358 = private unnamed_addr constant [5 x i8] c"bool\00" @.str13359 = private unnamed_addr constant [11 x i8] c"point_rect\00" @.str13360 = private unnamed_addr constant [55 x i8] c"build/cfree/selfhost.ludic:21502: index out of range: \00" @.str13361 = private unnamed_addr constant [55 x i8] c"build/cfree/selfhost.ludic:21502: index out of range: \00" @.str13362 = private unnamed_addr constant [55 x i8] c"build/cfree/selfhost.ludic:21503: index out of range: \00" @.str13363 = private unnamed_addr constant [55 x i8] c"build/cfree/selfhost.ludic:21503: index out of range: \00" @.str13364 = private unnamed_addr constant [55 x i8] c"build/cfree/selfhost.ludic:21503: index out of range: \00" @.str13365 = private unnamed_addr constant [55 x i8] c"build/cfree/selfhost.ludic:21503: index out of range: \00" @.str13366 = private unnamed_addr constant [9 x i8] c"add i32 \00" @.str13367 = private unnamed_addr constant [3 x i8] c", \00" @.str13368 = private unnamed_addr constant [9 x i8] c"add i32 \00" @.str13369 = private unnamed_addr constant [3 x i8] c", \00" @.str13370 = private unnamed_addr constant [14 x i8] c"icmp sge i32 \00" @.str13371 = private unnamed_addr constant [3 x i8] c", \00" @.str13372 = private unnamed_addr constant [14 x i8] c"icmp slt i32 \00" @.str13373 = private unnamed_addr constant [3 x i8] c", \00" @.str13374 = private unnamed_addr constant [14 x i8] c"icmp sge i32 \00" @.str13375 = private unnamed_addr constant [3 x i8] c", \00" @.str13376 = private unnamed_addr constant [14 x i8] c"icmp slt i32 \00" @.str13377 = private unnamed_addr constant [3 x i8] c", \00" @.str13378 = private unnamed_addr constant [8 x i8] c"and i1 \00" @.str13379 = private unnamed_addr constant [3 x i8] c", \00" @.str13380 = private unnamed_addr constant [8 x i8] c"and i1 \00" @.str13381 = private unnamed_addr constant [3 x i8] c", \00" @.str13382 = private unnamed_addr constant [8 x i8] c"and i1 \00" @.str13383 = private unnamed_addr constant [3 x i8] c", \00" @.str13384 = private unnamed_addr constant [9 x i8] c"zext i1 \00" @.str13385 = private unnamed_addr constant [8 x i8] c" to i32\00" @.str13386 = private unnamed_addr constant [5 x i8] c"bool\00" @.str13387 = private unnamed_addr constant [8 x i8] c"circles\00" @.str13388 = private unnamed_addr constant [55 x i8] c"build/cfree/selfhost.ludic:21516: index out of range: \00" @.str13389 = private unnamed_addr constant [55 x i8] c"build/cfree/selfhost.ludic:21516: index out of range: \00" @.str13390 = private unnamed_addr constant [55 x i8] c"build/cfree/selfhost.ludic:21516: index out of range: \00" @.str13391 = private unnamed_addr constant [55 x i8] c"build/cfree/selfhost.ludic:21517: index out of range: \00" @.str13392 = private unnamed_addr constant [55 x i8] c"build/cfree/selfhost.ludic:21517: index out of range: \00" @.str13393 = private unnamed_addr constant [55 x i8] c"build/cfree/selfhost.ludic:21517: index out of range: \00" @.str13394 = private unnamed_addr constant [9 x i8] c"sub i32 \00" @.str13395 = private unnamed_addr constant [3 x i8] c", \00" @.str13396 = private unnamed_addr constant [9 x i8] c"sub i32 \00" @.str13397 = private unnamed_addr constant [3 x i8] c", \00" @.str13398 = private unnamed_addr constant [9 x i8] c"add i32 \00" @.str13399 = private unnamed_addr constant [3 x i8] c", \00" @.str13400 = private unnamed_addr constant [10 x i8] c"sext i32 \00" @.str13401 = private unnamed_addr constant [8 x i8] c" to i64\00" @.str13402 = private unnamed_addr constant [9 x i8] c"mul i64 \00" @.str13403 = private unnamed_addr constant [3 x i8] c", \00" @.str13404 = private unnamed_addr constant [14 x i8] c"icmp sle i64 \00" @.str13405 = private unnamed_addr constant [3 x i8] c", \00" @.str13406 = private unnamed_addr constant [9 x i8] c"zext i1 \00" @.str13407 = private unnamed_addr constant [8 x i8] c" to i32\00" @.str13408 = private unnamed_addr constant [5 x i8] c"bool\00" @.str13409 = private unnamed_addr constant [55 x i8] c"build/cfree/selfhost.ludic:21528: index out of range: \00" @.str13410 = private unnamed_addr constant [55 x i8] c"build/cfree/selfhost.ludic:21528: index out of range: \00" @.str13411 = private unnamed_addr constant [55 x i8] c"build/cfree/selfhost.ludic:21528: index out of range: \00" @.str13412 = private unnamed_addr constant [55 x i8] c"build/cfree/selfhost.ludic:21528: index out of range: \00" @.str13413 = private unnamed_addr constant [55 x i8] c"build/cfree/selfhost.ludic:21529: index out of range: \00" @.str13414 = private unnamed_addr constant [55 x i8] c"build/cfree/selfhost.ludic:21529: index out of range: \00" @.str13415 = private unnamed_addr constant [55 x i8] c"build/cfree/selfhost.ludic:21529: index out of range: \00" @.str13416 = private unnamed_addr constant [9 x i8] c"add i32 \00" @.str13417 = private unnamed_addr constant [3 x i8] c", \00" @.str13418 = private unnamed_addr constant [9 x i8] c"add i32 \00" @.str13419 = private unnamed_addr constant [3 x i8] c", \00" @.str13420 = private unnamed_addr constant [9 x i8] c"sub i32 \00" @.str13421 = private unnamed_addr constant [3 x i8] c", \00" @.str13422 = private unnamed_addr constant [9 x i8] c"sub i32 \00" @.str13423 = private unnamed_addr constant [3 x i8] c", \00" @.str13424 = private unnamed_addr constant [10 x i8] c"sext i32 \00" @.str13425 = private unnamed_addr constant [8 x i8] c" to i64\00" @.str13426 = private unnamed_addr constant [9 x i8] c"mul i64 \00" @.str13427 = private unnamed_addr constant [3 x i8] c", \00" @.str13428 = private unnamed_addr constant [14 x i8] c"icmp sle i64 \00" @.str13429 = private unnamed_addr constant [3 x i8] c", \00" @.str13430 = private unnamed_addr constant [9 x i8] c"zext i1 \00" @.str13431 = private unnamed_addr constant [8 x i8] c" to i32\00" @.str13432 = private unnamed_addr constant [5 x i8] c"bool\00" @.str13433 = private unnamed_addr constant [6 x i8] c"bytes\00" @.str13434 = private unnamed_addr constant [6 x i8] c"words\00" @.str13435 = private unnamed_addr constant [5 x i8] c"copy\00" @.str13436 = private unnamed_addr constant [5 x i8] c"fill\00" @.str13437 = private unnamed_addr constant [5 x i8] c"peek\00" @.str13438 = private unnamed_addr constant [5 x i8] c"poke\00" @.str13439 = private unnamed_addr constant [6 x i8] c"bytes\00" @.str13440 = private unnamed_addr constant [55 x i8] c"build/cfree/selfhost.ludic:21556: index out of range: \00" @.str13441 = private unnamed_addr constant [12 x i8] c"emit_mem_ns\00" @.str13442 = private unnamed_addr constant [10 x i8] c"zext i32 \00" @.str13443 = private unnamed_addr constant [8 x i8] c" to i64\00" @.str13444 = private unnamed_addr constant [25 x i8] c"call ptr @lp_malloc(i64 \00" @.str13445 = private unnamed_addr constant [2 x i8] c")\00" @.str13446 = private unnamed_addr constant [8 x i8] c"pointer\00" @.str13447 = private unnamed_addr constant [6 x i8] c"words\00" @.str13448 = private unnamed_addr constant [55 x i8] c"build/cfree/selfhost.ludic:21561: index out of range: \00" @.str13449 = private unnamed_addr constant [9 x i8] c"mul i32 \00" @.str13450 = private unnamed_addr constant [4 x i8] c", 4\00" @.str13451 = private unnamed_addr constant [10 x i8] c"zext i32 \00" @.str13452 = private unnamed_addr constant [8 x i8] c" to i64\00" @.str13453 = private unnamed_addr constant [4 x i8] c"int\00" @.str13454 = private unnamed_addr constant [5 x i8] c"copy\00" @.str13455 = private unnamed_addr constant [55 x i8] c"build/cfree/selfhost.ludic:21567: index out of range: \00" @.str13456 = private unnamed_addr constant [55 x i8] c"build/cfree/selfhost.ludic:21567: index out of range: \00" @.str13457 = private unnamed_addr constant [55 x i8] c"build/cfree/selfhost.ludic:21567: index out of range: \00" @.str13458 = private unnamed_addr constant [10 x i8] c"zext i32 \00" @.str13459 = private unnamed_addr constant [8 x i8] c" to i64\00" @.str13460 = private unnamed_addr constant [24 x i8] c" call ptr @memcpy(ptr \00" @.str13461 = private unnamed_addr constant [7 x i8] c", ptr \00" @.str13462 = private unnamed_addr constant [7 x i8] c", i64 \00" @.str13463 = private unnamed_addr constant [3 x i8] c")\0A\00" @.str13464 = private unnamed_addr constant [2 x i8] c"0\00" @.str13465 = private unnamed_addr constant [5 x i8] c"void\00" @.str13466 = private unnamed_addr constant [5 x i8] c"fill\00" @.str13467 = private unnamed_addr constant [55 x i8] c"build/cfree/selfhost.ludic:21573: index out of range: \00" @.str13468 = private unnamed_addr constant [55 x i8] c"build/cfree/selfhost.ludic:21573: index out of range: \00" @.str13469 = private unnamed_addr constant [55 x i8] c"build/cfree/selfhost.ludic:21573: index out of range: \00" @.str13470 = private unnamed_addr constant [10 x i8] c"zext i32 \00" @.str13471 = private unnamed_addr constant [8 x i8] c" to i64\00" @.str13472 = private unnamed_addr constant [24 x i8] c" call ptr @memset(ptr \00" @.str13473 = private unnamed_addr constant [7 x i8] c", i32 \00" @.str13474 = private unnamed_addr constant [7 x i8] c", i64 \00" @.str13475 = private unnamed_addr constant [3 x i8] c")\0A\00" @.str13476 = private unnamed_addr constant [2 x i8] c"0\00" @.str13477 = private unnamed_addr constant [5 x i8] c"void\00" @.str13478 = private unnamed_addr constant [5 x i8] c"peek\00" @.str13479 = private unnamed_addr constant [55 x i8] c"build/cfree/selfhost.ludic:21579: index out of range: \00" @.str13480 = private unnamed_addr constant [55 x i8] c"build/cfree/selfhost.ludic:21579: index out of range: \00" @.str13481 = private unnamed_addr constant [32 x i8] c"getelementptr inbounds i8, ptr \00" @.str13482 = private unnamed_addr constant [7 x i8] c", i32 \00" @.str13483 = private unnamed_addr constant [14 x i8] c"load i8, ptr \00" @.str13484 = private unnamed_addr constant [9 x i8] c"zext i8 \00" @.str13485 = private unnamed_addr constant [8 x i8] c" to i32\00" @.str13486 = private unnamed_addr constant [4 x i8] c"int\00" @.str13487 = private unnamed_addr constant [55 x i8] c"build/cfree/selfhost.ludic:21585: index out of range: \00" @.str13488 = private unnamed_addr constant [55 x i8] c"build/cfree/selfhost.ludic:21585: index out of range: \00" @.str13489 = private unnamed_addr constant [55 x i8] c"build/cfree/selfhost.ludic:21585: index out of range: \00" @.str13490 = private unnamed_addr constant [32 x i8] c"getelementptr inbounds i8, ptr \00" @.str13491 = private unnamed_addr constant [7 x i8] c", i32 \00" @.str13492 = private unnamed_addr constant [11 x i8] c"trunc i32 \00" @.str13493 = private unnamed_addr constant [7 x i8] c" to i8\00" @.str13494 = private unnamed_addr constant [12 x i8] c" store i8 \00" @.str13495 = private unnamed_addr constant [7 x i8] c", ptr \00" @.str13496 = private unnamed_addr constant [2 x i8] c"\0A\00" @.str13497 = private unnamed_addr constant [2 x i8] c"0\00" @.str13498 = private unnamed_addr constant [5 x i8] c"void\00" @.str13499 = private unnamed_addr constant [6 x i8] c"frame\00" @.str13500 = private unnamed_addr constant [6 x i8] c"delta\00" @.str13501 = private unnamed_addr constant [8 x i8] c"elapsed\00" @.str13502 = private unnamed_addr constant [4 x i8] c"now\00" @.str13503 = private unnamed_addr constant [6 x i8] c"since\00" @.str13504 = private unnamed_addr constant [6 x i8] c"frame\00" @.str13505 = private unnamed_addr constant [23 x i8] c"load i32, ptr @L_frame\00" @.str13506 = private unnamed_addr constant [4 x i8] c"int\00" @.str13507 = private unnamed_addr constant [6 x i8] c"delta\00" @.str13508 = private unnamed_addr constant [5 x i8] c"1092\00" @.str13509 = private unnamed_addr constant [6 x i8] c"fixed\00" @.str13510 = private unnamed_addr constant [8 x i8] c"elapsed\00" @.str13511 = private unnamed_addr constant [23 x i8] c"load i32, ptr @L_frame\00" @.str13512 = private unnamed_addr constant [9 x i8] c"mul i32 \00" @.str13513 = private unnamed_addr constant [13 x i8] c"emit_time_ns\00" @.str13514 = private unnamed_addr constant [7 x i8] c", 1092\00" @.str13515 = private unnamed_addr constant [6 x i8] c"fixed\00" @.str13516 = private unnamed_addr constant [6 x i8] c"since\00" @.str13517 = private unnamed_addr constant [55 x i8] c"build/cfree/selfhost.ludic:21615: index out of range: \00" @.str13518 = private unnamed_addr constant [25 x i8] c"call i64 @time(ptr null)\00" @.str13519 = private unnamed_addr constant [11 x i8] c"trunc i64 \00" @.str13520 = private unnamed_addr constant [8 x i8] c" to i32\00" @.str13521 = private unnamed_addr constant [9 x i8] c"sub i32 \00" @.str13522 = private unnamed_addr constant [3 x i8] c", \00" @.str13523 = private unnamed_addr constant [4 x i8] c"int\00" @.str13524 = private unnamed_addr constant [25 x i8] c"call i64 @time(ptr null)\00" @.str13525 = private unnamed_addr constant [11 x i8] c"trunc i64 \00" @.str13526 = private unnamed_addr constant [8 x i8] c" to i32\00" @.str13527 = private unnamed_addr constant [4 x i8] c"int\00" @.str13528 = private unnamed_addr constant [8 x i8] c"seconds\00" @.str13529 = private unnamed_addr constant [8 x i8] c"minutes\00" @.str13530 = private unnamed_addr constant [6 x i8] c"hours\00" @.str13531 = private unnamed_addr constant [5 x i8] c"days\00" @.str13532 = private unnamed_addr constant [11 x i8] c"as_seconds\00" @.str13533 = private unnamed_addr constant [11 x i8] c"as_minutes\00" @.str13534 = private unnamed_addr constant [9 x i8] c"as_hours\00" @.str13535 = private unnamed_addr constant [8 x i8] c"as_days\00" @.str13536 = private unnamed_addr constant [55 x i8] c"build/cfree/selfhost.ludic:21650: index out of range: \00" @.str13537 = private unnamed_addr constant [17 x i8] c"emit_duration_ns\00" @.str13538 = private unnamed_addr constant [8 x i8] c"seconds\00" @.str13539 = private unnamed_addr constant [4 x i8] c"int\00" @.str13540 = private unnamed_addr constant [8 x i8] c"minutes\00" @.str13541 = private unnamed_addr constant [9 x i8] c"mul i32 \00" @.str13542 = private unnamed_addr constant [5 x i8] c", 60\00" @.str13543 = private unnamed_addr constant [4 x i8] c"int\00" @.str13544 = private unnamed_addr constant [6 x i8] c"hours\00" @.str13545 = private unnamed_addr constant [9 x i8] c"mul i32 \00" @.str13546 = private unnamed_addr constant [7 x i8] c", 3600\00" @.str13547 = private unnamed_addr constant [4 x i8] c"int\00" @.str13548 = private unnamed_addr constant [5 x i8] c"days\00" @.str13549 = private unnamed_addr constant [9 x i8] c"mul i32 \00" @.str13550 = private unnamed_addr constant [8 x i8] c", 86400\00" @.str13551 = private unnamed_addr constant [4 x i8] c"int\00" @.str13552 = private unnamed_addr constant [11 x i8] c"as_seconds\00" @.str13553 = private unnamed_addr constant [4 x i8] c"int\00" @.str13554 = private unnamed_addr constant [11 x i8] c"as_minutes\00" @.str13555 = private unnamed_addr constant [10 x i8] c"sdiv i32 \00" @.str13556 = private unnamed_addr constant [5 x i8] c", 60\00" @.str13557 = private unnamed_addr constant [4 x i8] c"int\00" @.str13558 = private unnamed_addr constant [9 x i8] c"as_hours\00" @.str13559 = private unnamed_addr constant [10 x i8] c"sdiv i32 \00" @.str13560 = private unnamed_addr constant [7 x i8] c", 3600\00" @.str13561 = private unnamed_addr constant [4 x i8] c"int\00" @.str13562 = private unnamed_addr constant [10 x i8] c"sdiv i32 \00" @.str13563 = private unnamed_addr constant [8 x i8] c", 86400\00" @.str13564 = private unnamed_addr constant [4 x i8] c"int\00" @.str13565 = private unnamed_addr constant [4 x i8] c"i32\00" @.str13566 = private unnamed_addr constant [4 x i8] c"i32\00" @.str13567 = private unnamed_addr constant [4 x i8] c"i32\00" @.str13568 = private unnamed_addr constant [37 x i8] c" call void @lp_civil_from_days(i32 \00" @.str13569 = private unnamed_addr constant [15 x i8] c"date_component\00" @.str13570 = private unnamed_addr constant [7 x i8] c", ptr \00" @.str13571 = private unnamed_addr constant [7 x i8] c", ptr \00" @.str13572 = private unnamed_addr constant [7 x i8] c", ptr \00" @.str13573 = private unnamed_addr constant [3 x i8] c")\0A\00" @.str13574 = private unnamed_addr constant [15 x i8] c"load i32, ptr \00" @.str13575 = private unnamed_addr constant [4 x i8] c"new\00" @.str13576 = private unnamed_addr constant [5 x i8] c"year\00" @.str13577 = private unnamed_addr constant [6 x i8] c"month\00" @.str13578 = private unnamed_addr constant [4 x i8] c"day\00" @.str13579 = private unnamed_addr constant [8 x i8] c"weekday\00" @.str13580 = private unnamed_addr constant [8 x i8] c"is_leap\00" @.str13581 = private unnamed_addr constant [14 x i8] c"days_in_month\00" @.str13582 = private unnamed_addr constant [9 x i8] c"to_epoch\00" @.str13583 = private unnamed_addr constant [9 x i8] c"add_days\00" @.str13584 = private unnamed_addr constant [10 x i8] c"diff_days\00" @.str13585 = private unnamed_addr constant [4 x i8] c"new\00" @.str13586 = private unnamed_addr constant [55 x i8] c"build/cfree/selfhost.ludic:21687: index out of range: \00" @.str13587 = private unnamed_addr constant [13 x i8] c"emit_date_ns\00" @.str13588 = private unnamed_addr constant [55 x i8] c"build/cfree/selfhost.ludic:21687: index out of range: \00" @.str13589 = private unnamed_addr constant [55 x i8] c"build/cfree/selfhost.ludic:21687: index out of range: \00" @.str13590 = private unnamed_addr constant [34 x i8] c"call i32 @lp_days_from_civil(i32 \00" @.str13591 = private unnamed_addr constant [7 x i8] c", i32 \00" @.str13592 = private unnamed_addr constant [7 x i8] c", i32 \00" @.str13593 = private unnamed_addr constant [2 x i8] c")\00" @.str13594 = private unnamed_addr constant [4 x i8] c"int\00" @.str13595 = private unnamed_addr constant [5 x i8] c"year\00" @.str13596 = private unnamed_addr constant [55 x i8] c"build/cfree/selfhost.ludic:21690: index out of range: \00" @.str13597 = private unnamed_addr constant [4 x i8] c"int\00" @.str13598 = private unnamed_addr constant [6 x i8] c"month\00" @.str13599 = private unnamed_addr constant [55 x i8] c"build/cfree/selfhost.ludic:21691: index out of range: \00" @.str13600 = private unnamed_addr constant [4 x i8] c"int\00" @.str13601 = private unnamed_addr constant [4 x i8] c"day\00" @.str13602 = private unnamed_addr constant [55 x i8] c"build/cfree/selfhost.ludic:21692: index out of range: \00" @.str13603 = private unnamed_addr constant [4 x i8] c"int\00" @.str13604 = private unnamed_addr constant [8 x i8] c"weekday\00" @.str13605 = private unnamed_addr constant [55 x i8] c"build/cfree/selfhost.ludic:21694: index out of range: \00" @.str13606 = private unnamed_addr constant [9 x i8] c"add i32 \00" @.str13607 = private unnamed_addr constant [4 x i8] c", 4\00" @.str13608 = private unnamed_addr constant [10 x i8] c"srem i32 \00" @.str13609 = private unnamed_addr constant [4 x i8] c", 7\00" @.str13610 = private unnamed_addr constant [9 x i8] c"add i32 \00" @.str13611 = private unnamed_addr constant [4 x i8] c", 7\00" @.str13612 = private unnamed_addr constant [10 x i8] c"srem i32 \00" @.str13613 = private unnamed_addr constant [4 x i8] c", 7\00" @.str13614 = private unnamed_addr constant [4 x i8] c"int\00" @.str13615 = private unnamed_addr constant [8 x i8] c"is_leap\00" @.str13616 = private unnamed_addr constant [55 x i8] c"build/cfree/selfhost.ludic:21701: index out of range: \00" @.str13617 = private unnamed_addr constant [10 x i8] c"srem i32 \00" @.str13618 = private unnamed_addr constant [4 x i8] c", 4\00" @.str13619 = private unnamed_addr constant [13 x i8] c"icmp eq i32 \00" @.str13620 = private unnamed_addr constant [4 x i8] c", 0\00" @.str13621 = private unnamed_addr constant [10 x i8] c"srem i32 \00" @.str13622 = private unnamed_addr constant [6 x i8] c", 100\00" @.str13623 = private unnamed_addr constant [13 x i8] c"icmp ne i32 \00" @.str13624 = private unnamed_addr constant [4 x i8] c", 0\00" @.str13625 = private unnamed_addr constant [10 x i8] c"srem i32 \00" @.str13626 = private unnamed_addr constant [6 x i8] c", 400\00" @.str13627 = private unnamed_addr constant [13 x i8] c"icmp eq i32 \00" @.str13628 = private unnamed_addr constant [4 x i8] c", 0\00" @.str13629 = private unnamed_addr constant [8 x i8] c"and i1 \00" @.str13630 = private unnamed_addr constant [3 x i8] c", \00" @.str13631 = private unnamed_addr constant [7 x i8] c"or i1 \00" @.str13632 = private unnamed_addr constant [3 x i8] c", \00" @.str13633 = private unnamed_addr constant [9 x i8] c"zext i1 \00" @.str13634 = private unnamed_addr constant [8 x i8] c" to i32\00" @.str13635 = private unnamed_addr constant [5 x i8] c"bool\00" @.str13636 = private unnamed_addr constant [14 x i8] c"days_in_month\00" @.str13637 = private unnamed_addr constant [55 x i8] c"build/cfree/selfhost.ludic:21711: index out of range: \00" @.str13638 = private unnamed_addr constant [55 x i8] c"build/cfree/selfhost.ludic:21711: index out of range: \00" @.str13639 = private unnamed_addr constant [34 x i8] c"call i32 @lp_days_from_civil(i32 \00" @.str13640 = private unnamed_addr constant [7 x i8] c", i32 \00" @.str13641 = private unnamed_addr constant [9 x i8] c", i32 1)\00" @.str13642 = private unnamed_addr constant [13 x i8] c"icmp eq i32 \00" @.str13643 = private unnamed_addr constant [5 x i8] c", 12\00" @.str13644 = private unnamed_addr constant [9 x i8] c"add i32 \00" @.str13645 = private unnamed_addr constant [4 x i8] c", 1\00" @.str13646 = private unnamed_addr constant [11 x i8] c"select i1 \00" @.str13647 = private unnamed_addr constant [7 x i8] c", i32 \00" @.str13648 = private unnamed_addr constant [7 x i8] c", i32 \00" @.str13649 = private unnamed_addr constant [9 x i8] c"add i32 \00" @.str13650 = private unnamed_addr constant [4 x i8] c", 1\00" @.str13651 = private unnamed_addr constant [11 x i8] c"select i1 \00" @.str13652 = private unnamed_addr constant [14 x i8] c", i32 1, i32 \00" @.str13653 = private unnamed_addr constant [34 x i8] c"call i32 @lp_days_from_civil(i32 \00" @.str13654 = private unnamed_addr constant [7 x i8] c", i32 \00" @.str13655 = private unnamed_addr constant [9 x i8] c", i32 1)\00" @.str13656 = private unnamed_addr constant [9 x i8] c"sub i32 \00" @.str13657 = private unnamed_addr constant [3 x i8] c", \00" @.str13658 = private unnamed_addr constant [4 x i8] c"int\00" @.str13659 = private unnamed_addr constant [9 x i8] c"to_epoch\00" @.str13660 = private unnamed_addr constant [55 x i8] c"build/cfree/selfhost.ludic:21722: index out of range: \00" @.str13661 = private unnamed_addr constant [9 x i8] c"mul i32 \00" @.str13662 = private unnamed_addr constant [8 x i8] c", 86400\00" @.str13663 = private unnamed_addr constant [4 x i8] c"int\00" @.str13664 = private unnamed_addr constant [9 x i8] c"add_days\00" @.str13665 = private unnamed_addr constant [55 x i8] c"build/cfree/selfhost.ludic:21726: index out of range: \00" @.str13666 = private unnamed_addr constant [55 x i8] c"build/cfree/selfhost.ludic:21726: index out of range: \00" @.str13667 = private unnamed_addr constant [9 x i8] c"add i32 \00" @.str13668 = private unnamed_addr constant [3 x i8] c", \00" @.str13669 = private unnamed_addr constant [4 x i8] c"int\00" @.str13670 = private unnamed_addr constant [55 x i8] c"build/cfree/selfhost.ludic:21730: index out of range: \00" @.str13671 = private unnamed_addr constant [55 x i8] c"build/cfree/selfhost.ludic:21730: index out of range: \00" @.str13672 = private unnamed_addr constant [9 x i8] c"sub i32 \00" @.str13673 = private unnamed_addr constant [3 x i8] c", \00" @.str13674 = private unnamed_addr constant [4 x i8] c"int\00" @.str13675 = private unnamed_addr constant [10 x i8] c"srem i32 \00" @.str13676 = private unnamed_addr constant [12 x i8] c"dt_secofday\00" @.str13677 = private unnamed_addr constant [8 x i8] c", 86400\00" @.str13678 = private unnamed_addr constant [9 x i8] c"add i32 \00" @.str13679 = private unnamed_addr constant [8 x i8] c", 86400\00" @.str13680 = private unnamed_addr constant [10 x i8] c"srem i32 \00" @.str13681 = private unnamed_addr constant [8 x i8] c", 86400\00" @.str13682 = private unnamed_addr constant [9 x i8] c"sub i32 \00" @.str13683 = private unnamed_addr constant [12 x i8] c"dt_epochday\00" @.str13684 = private unnamed_addr constant [3 x i8] c", \00" @.str13685 = private unnamed_addr constant [10 x i8] c"sdiv i32 \00" @.str13686 = private unnamed_addr constant [8 x i8] c", 86400\00" @.str13687 = private unnamed_addr constant [5 x i8] c"from\00" @.str13688 = private unnamed_addr constant [5 x i8] c"date\00" @.str13689 = private unnamed_addr constant [4 x i8] c"add\00" @.str13690 = private unnamed_addr constant [5 x i8] c"year\00" @.str13691 = private unnamed_addr constant [6 x i8] c"month\00" @.str13692 = private unnamed_addr constant [4 x i8] c"day\00" @.str13693 = private unnamed_addr constant [8 x i8] c"weekday\00" @.str13694 = private unnamed_addr constant [5 x i8] c"hour\00" @.str13695 = private unnamed_addr constant [7 x i8] c"minute\00" @.str13696 = private unnamed_addr constant [7 x i8] c"second\00" @.str13697 = private unnamed_addr constant [7 x i8] c"format\00" @.str13698 = private unnamed_addr constant [6 x i8] c"parse\00" @.str13699 = private unnamed_addr constant [55 x i8] c"build/cfree/selfhost.ludic:21774: index out of range: \00" @.str13700 = private unnamed_addr constant [21 x i8] c"emit_datetime_format\00" @.str13701 = private unnamed_addr constant [47 x i8] c"DateTime.format needs a string-literal pattern\00" @.str13702 = private unnamed_addr constant [55 x i8] c"build/cfree/selfhost.ludic:21775: index out of range: \00" @.str13703 = private unnamed_addr constant [55 x i8] c"build/cfree/selfhost.ludic:21776: index out of range: \00" @.str13704 = private unnamed_addr constant [4 x i8] c"i32\00" @.str13705 = private unnamed_addr constant [4 x i8] c"i32\00" @.str13706 = private unnamed_addr constant [4 x i8] c"i32\00" @.str13707 = private unnamed_addr constant [37 x i8] c" call void @lp_civil_from_days(i32 \00" @.str13708 = private unnamed_addr constant [7 x i8] c", ptr \00" @.str13709 = private unnamed_addr constant [7 x i8] c", ptr \00" @.str13710 = private unnamed_addr constant [7 x i8] c", ptr \00" @.str13711 = private unnamed_addr constant [3 x i8] c")\0A\00" @.str13712 = private unnamed_addr constant [15 x i8] c"load i32, ptr \00" @.str13713 = private unnamed_addr constant [15 x i8] c"load i32, ptr \00" @.str13714 = private unnamed_addr constant [15 x i8] c"load i32, ptr \00" @.str13715 = private unnamed_addr constant [10 x i8] c"sdiv i32 \00" @.str13716 = private unnamed_addr constant [7 x i8] c", 3600\00" @.str13717 = private unnamed_addr constant [10 x i8] c"srem i32 \00" @.str13718 = private unnamed_addr constant [7 x i8] c", 3600\00" @.str13719 = private unnamed_addr constant [10 x i8] c"sdiv i32 \00" @.str13720 = private unnamed_addr constant [5 x i8] c", 60\00" @.str13721 = private unnamed_addr constant [10 x i8] c"srem i32 \00" @.str13722 = private unnamed_addr constant [5 x i8] c", 60\00" @.str13723 = private unnamed_addr constant [10 x i8] c"srem i32 \00" @.str13724 = private unnamed_addr constant [6 x i8] c", 100\00" @.str13725 = private unnamed_addr constant [1 x i8] c"\00" @.str13726 = private unnamed_addr constant [7 x i8] c"string\00" @.str13727 = private unnamed_addr constant [5 x i8] c"YYYY\00" @.str13728 = private unnamed_addr constant [3 x i8] c"YY\00" @.str13729 = private unnamed_addr constant [3 x i8] c"MM\00" @.str13730 = private unnamed_addr constant [3 x i8] c"DD\00" @.str13731 = private unnamed_addr constant [3 x i8] c"HH\00" @.str13732 = private unnamed_addr constant [3 x i8] c"mm\00" @.str13733 = private unnamed_addr constant [3 x i8] c"ss\00" @.str13734 = private unnamed_addr constant [2 x i8] c"+\00" @.str13735 = private unnamed_addr constant [7 x i8] c"string\00" @.str13736 = private unnamed_addr constant [26 x i8] c"call ptr @lp_dt_pad0(i32 \00" @.str13737 = private unnamed_addr constant [7 x i8] c", i32 \00" @.str13738 = private unnamed_addr constant [2 x i8] c")\00" @.str13739 = private unnamed_addr constant [7 x i8] c"string\00" @.str13740 = private unnamed_addr constant [2 x i8] c"+\00" @.str13741 = private unnamed_addr constant [2 x i8] c"+\00" @.str13742 = private unnamed_addr constant [7 x i8] c"string\00" @.str13743 = private unnamed_addr constant [55 x i8] c"build/cfree/selfhost.ludic:21826: index out of range: \00" @.str13744 = private unnamed_addr constant [20 x i8] c"emit_datetime_parse\00" @.str13745 = private unnamed_addr constant [46 x i8] c"DateTime.parse needs a string-literal pattern\00" @.str13746 = private unnamed_addr constant [55 x i8] c"build/cfree/selfhost.ludic:21827: index out of range: \00" @.str13747 = private unnamed_addr constant [55 x i8] c"build/cfree/selfhost.ludic:21828: index out of range: \00" @.str13748 = private unnamed_addr constant [4 x i8] c"i32\00" @.str13749 = private unnamed_addr constant [4 x i8] c"i32\00" @.str13750 = private unnamed_addr constant [2 x i8] c"0\00" @.str13751 = private unnamed_addr constant [4 x i8] c"i32\00" @.str13752 = private unnamed_addr constant [4 x i8] c"i32\00" @.str13753 = private unnamed_addr constant [5 x i8] c"1970\00" @.str13754 = private unnamed_addr constant [4 x i8] c"i32\00" @.str13755 = private unnamed_addr constant [4 x i8] c"i32\00" @.str13756 = private unnamed_addr constant [2 x i8] c"1\00" @.str13757 = private unnamed_addr constant [4 x i8] c"i32\00" @.str13758 = private unnamed_addr constant [4 x i8] c"i32\00" @.str13759 = private unnamed_addr constant [2 x i8] c"1\00" @.str13760 = private unnamed_addr constant [4 x i8] c"i32\00" @.str13761 = private unnamed_addr constant [4 x i8] c"i32\00" @.str13762 = private unnamed_addr constant [2 x i8] c"0\00" @.str13763 = private unnamed_addr constant [4 x i8] c"i32\00" @.str13764 = private unnamed_addr constant [4 x i8] c"i32\00" @.str13765 = private unnamed_addr constant [2 x i8] c"0\00" @.str13766 = private unnamed_addr constant [4 x i8] c"i32\00" @.str13767 = private unnamed_addr constant [4 x i8] c"i32\00" @.str13768 = private unnamed_addr constant [2 x i8] c"0\00" @.str13769 = private unnamed_addr constant [5 x i8] c"YYYY\00" @.str13770 = private unnamed_addr constant [3 x i8] c"MM\00" @.str13771 = private unnamed_addr constant [3 x i8] c"DD\00" @.str13772 = private unnamed_addr constant [3 x i8] c"HH\00" @.str13773 = private unnamed_addr constant [3 x i8] c"mm\00" @.str13774 = private unnamed_addr constant [3 x i8] c"ss\00" @.str13775 = private unnamed_addr constant [24 x i8] c"call i32 @lp_dt_rd(ptr \00" @.str13776 = private unnamed_addr constant [7 x i8] c", i32 \00" @.str13777 = private unnamed_addr constant [7 x i8] c", i32 \00" @.str13778 = private unnamed_addr constant [7 x i8] c", ptr \00" @.str13779 = private unnamed_addr constant [2 x i8] c")\00" @.str13780 = private unnamed_addr constant [4 x i8] c"i32\00" @.str13781 = private unnamed_addr constant [15 x i8] c"load i32, ptr \00" @.str13782 = private unnamed_addr constant [15 x i8] c"load i32, ptr \00" @.str13783 = private unnamed_addr constant [15 x i8] c"load i32, ptr \00" @.str13784 = private unnamed_addr constant [15 x i8] c"load i32, ptr \00" @.str13785 = private unnamed_addr constant [15 x i8] c"load i32, ptr \00" @.str13786 = private unnamed_addr constant [15 x i8] c"load i32, ptr \00" @.str13787 = private unnamed_addr constant [34 x i8] c"call i32 @lp_days_from_civil(i32 \00" @.str13788 = private unnamed_addr constant [7 x i8] c", i32 \00" @.str13789 = private unnamed_addr constant [7 x i8] c", i32 \00" @.str13790 = private unnamed_addr constant [2 x i8] c")\00" @.str13791 = private unnamed_addr constant [9 x i8] c"mul i32 \00" @.str13792 = private unnamed_addr constant [8 x i8] c", 86400\00" @.str13793 = private unnamed_addr constant [9 x i8] c"mul i32 \00" @.str13794 = private unnamed_addr constant [7 x i8] c", 3600\00" @.str13795 = private unnamed_addr constant [9 x i8] c"mul i32 \00" @.str13796 = private unnamed_addr constant [5 x i8] c", 60\00" @.str13797 = private unnamed_addr constant [9 x i8] c"add i32 \00" @.str13798 = private unnamed_addr constant [3 x i8] c", \00" @.str13799 = private unnamed_addr constant [9 x i8] c"add i32 \00" @.str13800 = private unnamed_addr constant [3 x i8] c", \00" @.str13801 = private unnamed_addr constant [9 x i8] c"add i32 \00" @.str13802 = private unnamed_addr constant [3 x i8] c", \00" @.str13803 = private unnamed_addr constant [15 x i8] c"load i32, ptr \00" @.str13804 = private unnamed_addr constant [13 x i8] c"icmp ne i32 \00" @.str13805 = private unnamed_addr constant [4 x i8] c", 0\00" @.str13806 = private unnamed_addr constant [11 x i8] c"select i1 \00" @.str13807 = private unnamed_addr constant [15 x i8] c", i32 -1, i32 \00" @.str13808 = private unnamed_addr constant [4 x i8] c"int\00" @.str13809 = private unnamed_addr constant [7 x i8] c"format\00" @.str13810 = private unnamed_addr constant [6 x i8] c"parse\00" @.str13811 = private unnamed_addr constant [5 x i8] c"from\00" @.str13812 = private unnamed_addr constant [55 x i8] c"build/cfree/selfhost.ludic:21880: index out of range: \00" @.str13813 = private unnamed_addr constant [17 x i8] c"emit_datetime_ns\00" @.str13814 = private unnamed_addr constant [55 x i8] c"build/cfree/selfhost.ludic:21880: index out of range: \00" @.str13815 = private unnamed_addr constant [55 x i8] c"build/cfree/selfhost.ludic:21880: index out of range: \00" @.str13816 = private unnamed_addr constant [55 x i8] c"build/cfree/selfhost.ludic:21881: index out of range: \00" @.str13817 = private unnamed_addr constant [55 x i8] c"build/cfree/selfhost.ludic:21881: index out of range: \00" @.str13818 = private unnamed_addr constant [55 x i8] c"build/cfree/selfhost.ludic:21881: index out of range: \00" @.str13819 = private unnamed_addr constant [34 x i8] c"call i32 @lp_days_from_civil(i32 \00" @.str13820 = private unnamed_addr constant [7 x i8] c", i32 \00" @.str13821 = private unnamed_addr constant [7 x i8] c", i32 \00" @.str13822 = private unnamed_addr constant [2 x i8] c")\00" @.str13823 = private unnamed_addr constant [9 x i8] c"mul i32 \00" @.str13824 = private unnamed_addr constant [8 x i8] c", 86400\00" @.str13825 = private unnamed_addr constant [9 x i8] c"mul i32 \00" @.str13826 = private unnamed_addr constant [7 x i8] c", 3600\00" @.str13827 = private unnamed_addr constant [9 x i8] c"mul i32 \00" @.str13828 = private unnamed_addr constant [5 x i8] c", 60\00" @.str13829 = private unnamed_addr constant [9 x i8] c"add i32 \00" @.str13830 = private unnamed_addr constant [3 x i8] c", \00" @.str13831 = private unnamed_addr constant [9 x i8] c"add i32 \00" @.str13832 = private unnamed_addr constant [3 x i8] c", \00" @.str13833 = private unnamed_addr constant [9 x i8] c"add i32 \00" @.str13834 = private unnamed_addr constant [3 x i8] c", \00" @.str13835 = private unnamed_addr constant [4 x i8] c"int\00" @.str13836 = private unnamed_addr constant [5 x i8] c"date\00" @.str13837 = private unnamed_addr constant [55 x i8] c"build/cfree/selfhost.ludic:21891: index out of range: \00" @.str13838 = private unnamed_addr constant [4 x i8] c"int\00" @.str13839 = private unnamed_addr constant [4 x i8] c"add\00" @.str13840 = private unnamed_addr constant [55 x i8] c"build/cfree/selfhost.ludic:21895: index out of range: \00" @.str13841 = private unnamed_addr constant [55 x i8] c"build/cfree/selfhost.ludic:21895: index out of range: \00" @.str13842 = private unnamed_addr constant [9 x i8] c"add i32 \00" @.str13843 = private unnamed_addr constant [3 x i8] c", \00" @.str13844 = private unnamed_addr constant [4 x i8] c"int\00" @.str13845 = private unnamed_addr constant [5 x i8] c"year\00" @.str13846 = private unnamed_addr constant [55 x i8] c"build/cfree/selfhost.ludic:21898: index out of range: \00" @.str13847 = private unnamed_addr constant [4 x i8] c"int\00" @.str13848 = private unnamed_addr constant [6 x i8] c"month\00" @.str13849 = private unnamed_addr constant [55 x i8] c"build/cfree/selfhost.ludic:21899: index out of range: \00" @.str13850 = private unnamed_addr constant [4 x i8] c"int\00" @.str13851 = private unnamed_addr constant [4 x i8] c"day\00" @.str13852 = private unnamed_addr constant [55 x i8] c"build/cfree/selfhost.ludic:21900: index out of range: \00" @.str13853 = private unnamed_addr constant [4 x i8] c"int\00" @.str13854 = private unnamed_addr constant [8 x i8] c"weekday\00" @.str13855 = private unnamed_addr constant [55 x i8] c"build/cfree/selfhost.ludic:21902: index out of range: \00" @.str13856 = private unnamed_addr constant [9 x i8] c"add i32 \00" @.str13857 = private unnamed_addr constant [4 x i8] c", 4\00" @.str13858 = private unnamed_addr constant [10 x i8] c"srem i32 \00" @.str13859 = private unnamed_addr constant [4 x i8] c", 7\00" @.str13860 = private unnamed_addr constant [9 x i8] c"add i32 \00" @.str13861 = private unnamed_addr constant [4 x i8] c", 7\00" @.str13862 = private unnamed_addr constant [10 x i8] c"srem i32 \00" @.str13863 = private unnamed_addr constant [4 x i8] c", 7\00" @.str13864 = private unnamed_addr constant [4 x i8] c"int\00" @.str13865 = private unnamed_addr constant [5 x i8] c"hour\00" @.str13866 = private unnamed_addr constant [55 x i8] c"build/cfree/selfhost.ludic:21910: index out of range: \00" @.str13867 = private unnamed_addr constant [10 x i8] c"sdiv i32 \00" @.str13868 = private unnamed_addr constant [7 x i8] c", 3600\00" @.str13869 = private unnamed_addr constant [4 x i8] c"int\00" @.str13870 = private unnamed_addr constant [7 x i8] c"minute\00" @.str13871 = private unnamed_addr constant [55 x i8] c"build/cfree/selfhost.ludic:21915: index out of range: \00" @.str13872 = private unnamed_addr constant [10 x i8] c"srem i32 \00" @.str13873 = private unnamed_addr constant [7 x i8] c", 3600\00" @.str13874 = private unnamed_addr constant [10 x i8] c"sdiv i32 \00" @.str13875 = private unnamed_addr constant [5 x i8] c", 60\00" @.str13876 = private unnamed_addr constant [4 x i8] c"int\00" @.str13877 = private unnamed_addr constant [55 x i8] c"build/cfree/selfhost.ludic:21921: index out of range: \00" @.str13878 = private unnamed_addr constant [10 x i8] c"srem i32 \00" @.str13879 = private unnamed_addr constant [5 x i8] c", 60\00" @.str13880 = private unnamed_addr constant [4 x i8] c"int\00" @.str13881 = private unnamed_addr constant [59 x i8] c"define i32 @lp_days_from_civil(i32 %y0, i32 %m, i32 %d) {\0A\00" @.str13882 = private unnamed_addr constant [30 x i8] c" %mle2 = icmp sle i32 %m, 2\0A\00" @.str13883 = private unnamed_addr constant [41 x i8] c" %ysub = select i1 %mle2, i32 1, i32 0\0A\00" @.str13884 = private unnamed_addr constant [27 x i8] c" %y = sub i32 %y0, %ysub\0A\00" @.str13885 = private unnamed_addr constant [30 x i8] c" %yneg = icmp slt i32 %y, 0\0A\00" @.str13886 = private unnamed_addr constant [28 x i8] c" %ym399 = sub i32 %y, 399\0A\00" @.str13887 = private unnamed_addr constant [47 x i8] c" %enum = select i1 %yneg, i32 %ym399, i32 %y\0A\00" @.str13888 = private unnamed_addr constant [30 x i8] c" %era = sdiv i32 %enum, 400\0A\00" @.str13889 = private unnamed_addr constant [31 x i8] c" %era400 = mul i32 %era, 400\0A\00" @.str13890 = private unnamed_addr constant [30 x i8] c" %yoe = sub i32 %y, %era400\0A\00" @.str13891 = private unnamed_addr constant [30 x i8] c" %mgt2 = icmp sgt i32 %m, 2\0A\00" @.str13892 = private unnamed_addr constant [44 x i8] c" %mshift = select i1 %mgt2, i32 -3, i32 9\0A\00" @.str13893 = private unnamed_addr constant [29 x i8] c" %mm = add i32 %m, %mshift\0A\00" @.str13894 = private unnamed_addr constant [28 x i8] c" %t153 = mul i32 153, %mm\0A\00" @.str13895 = private unnamed_addr constant [29 x i8] c" %t153b = add i32 %t153, 2\0A\00" @.str13896 = private unnamed_addr constant [30 x i8] c" %doy0 = sdiv i32 %t153b, 5\0A\00" @.str13897 = private unnamed_addr constant [29 x i8] c" %doy1 = add i32 %doy0, %d\0A\00" @.str13898 = private unnamed_addr constant [27 x i8] c" %doy = sub i32 %doy1, 1\0A\00" @.str13899 = private unnamed_addr constant [31 x i8] c" %yoe365 = mul i32 %yoe, 365\0A\00" @.str13900 = private unnamed_addr constant [28 x i8] c" %yoe4 = sdiv i32 %yoe, 4\0A\00" @.str13901 = private unnamed_addr constant [32 x i8] c" %yoe100 = sdiv i32 %yoe, 100\0A\00" @.str13902 = private unnamed_addr constant [34 x i8] c" %doe0 = add i32 %yoe365, %yoe4\0A\00" @.str13903 = private unnamed_addr constant [34 x i8] c" %doe1 = sub i32 %doe0, %yoe100\0A\00" @.str13904 = private unnamed_addr constant [30 x i8] c" %doe = add i32 %doe1, %doy\0A\00" @.str13905 = private unnamed_addr constant [35 x i8] c" %e146097 = mul i32 %era, 146097\0A\00" @.str13906 = private unnamed_addr constant [32 x i8] c" %r0 = add i32 %e146097, %doe\0A\00" @.str13907 = private unnamed_addr constant [28 x i8] c" %r = sub i32 %r0, 719468\0A\00" @.str13908 = private unnamed_addr constant [14 x i8] c" ret i32 %r\0A\00" @.str13909 = private unnamed_addr constant [3 x i8] c"}\0A\00" @.str13910 = private unnamed_addr constant [71 x i8] c"define void @lp_civil_from_days(i32 %z0, ptr %yp, ptr %mp, ptr %dp) {\0A\00" @.str13911 = private unnamed_addr constant [28 x i8] c" %z = add i32 %z0, 719468\0A\00" @.str13912 = private unnamed_addr constant [30 x i8] c" %zneg = icmp slt i32 %z, 0\0A\00" @.str13913 = private unnamed_addr constant [28 x i8] c" %zm = sub i32 %z, 146096\0A\00" @.str13914 = private unnamed_addr constant [44 x i8] c" %enum = select i1 %zneg, i32 %zm, i32 %z\0A\00" @.str13915 = private unnamed_addr constant [33 x i8] c" %era = sdiv i32 %enum, 146097\0A\00" @.str13916 = private unnamed_addr constant [37 x i8] c" %era146097 = mul i32 %era, 146097\0A\00" @.str13917 = private unnamed_addr constant [33 x i8] c" %doe = sub i32 %z, %era146097\0A\00" @.str13918 = private unnamed_addr constant [32 x i8] c" %d1460 = sdiv i32 %doe, 1460\0A\00" @.str13919 = private unnamed_addr constant [34 x i8] c" %d36524 = sdiv i32 %doe, 36524\0A\00" @.str13920 = private unnamed_addr constant [36 x i8] c" %d146096 = sdiv i32 %doe, 146096\0A\00" @.str13921 = private unnamed_addr constant [30 x i8] c" %ya = sub i32 %doe, %d1460\0A\00" @.str13922 = private unnamed_addr constant [30 x i8] c" %yb = add i32 %ya, %d36524\0A\00" @.str13923 = private unnamed_addr constant [31 x i8] c" %yc = sub i32 %yb, %d146096\0A\00" @.str13924 = private unnamed_addr constant [28 x i8] c" %yoe = sdiv i32 %yc, 365\0A\00" @.str13925 = private unnamed_addr constant [31 x i8] c" %era400 = mul i32 %era, 400\0A\00" @.str13926 = private unnamed_addr constant [31 x i8] c" %yy = add i32 %yoe, %era400\0A\00" @.str13927 = private unnamed_addr constant [31 x i8] c" %yoe365 = mul i32 %yoe, 365\0A\00" @.str13928 = private unnamed_addr constant [28 x i8] c" %yoe4 = sdiv i32 %yoe, 4\0A\00" @.str13929 = private unnamed_addr constant [32 x i8] c" %yoe100 = sdiv i32 %yoe, 100\0A\00" @.str13930 = private unnamed_addr constant [34 x i8] c" %sub0 = add i32 %yoe365, %yoe4\0A\00" @.str13931 = private unnamed_addr constant [34 x i8] c" %sub1 = sub i32 %sub0, %yoe100\0A\00" @.str13932 = private unnamed_addr constant [30 x i8] c" %doy = sub i32 %doe, %sub1\0A\00" @.str13933 = private unnamed_addr constant [30 x i8] c" %fivedoy = mul i32 5, %doy\0A\00" @.str13934 = private unnamed_addr constant [35 x i8] c" %fivedoy2 = add i32 %fivedoy, 2\0A\00" @.str13935 = private unnamed_addr constant [34 x i8] c" %mpv = sdiv i32 %fivedoy2, 153\0A\00" @.str13936 = private unnamed_addr constant [29 x i8] c" %m153 = mul i32 153, %mpv\0A\00" @.str13937 = private unnamed_addr constant [29 x i8] c" %m153b = add i32 %m153, 2\0A\00" @.str13938 = private unnamed_addr constant [31 x i8] c" %m153c = sdiv i32 %m153b, 5\0A\00" @.str13939 = private unnamed_addr constant [31 x i8] c" %dd0 = sub i32 %doy, %m153c\0A\00" @.str13940 = private unnamed_addr constant [25 x i8] c" %dd = add i32 %dd0, 1\0A\00" @.str13941 = private unnamed_addr constant [35 x i8] c" %mplt10 = icmp slt i32 %mpv, 10\0A\00" @.str13942 = private unnamed_addr constant [29 x i8] c" %mplus3 = add i32 %mpv, 3\0A\00" @.str13943 = private unnamed_addr constant [30 x i8] c" %mminus9 = sub i32 %mpv, 9\0A\00" @.str13944 = private unnamed_addr constant [56 x i8] c" %mfin = select i1 %mplt10, i32 %mplus3, i32 %mminus9\0A\00" @.str13945 = private unnamed_addr constant [34 x i8] c" %mmle2 = icmp sle i32 %mfin, 2\0A\00" @.str13946 = private unnamed_addr constant [42 x i8] c" %yinc = select i1 %mmle2, i32 1, i32 0\0A\00" @.str13947 = private unnamed_addr constant [30 x i8] c" %yfin = add i32 %yy, %yinc\0A\00" @.str13948 = private unnamed_addr constant [28 x i8] c" store i32 %yfin, ptr %yp\0A\00" @.str13949 = private unnamed_addr constant [28 x i8] c" store i32 %mfin, ptr %mp\0A\00" @.str13950 = private unnamed_addr constant [26 x i8] c" store i32 %dd, ptr %dp\0A\00" @.str13951 = private unnamed_addr constant [12 x i8] c" ret void\0A\00" @.str13952 = private unnamed_addr constant [3 x i8] c"}\0A\00" @.str13953 = private unnamed_addr constant [42 x i8] c"define ptr @lp_dt_pad0(i32 %v, i32 %w) {\0A\00" @.str13954 = private unnamed_addr constant [28 x i8] c" %we = zext i32 %w to i64\0A\00" @.str13955 = private unnamed_addr constant [24 x i8] c" %sz = add i64 %we, 1\0A\00" @.str13956 = private unnamed_addr constant [39 x i8] c" %buf = call ptr @lp_malloc(i64 %sz)\0A\00" @.str13957 = private unnamed_addr constant [46 x i8] c" %endp = getelementptr i8, ptr %buf, i32 %w\0A\00" @.str13958 = private unnamed_addr constant [25 x i8] c" store i8 0, ptr %endp\0A\00" @.str13959 = private unnamed_addr constant [39 x i8] c" %kp = alloca i32\0A %vp = alloca i32\0A\00" @.str13960 = 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" @.str13961 = private unnamed_addr constant [18 x i8] c" br label %loop\0A\00" @.str13962 = 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" @.str13963 = 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" @.str13964 = private unnamed_addr constant [69 x i8] c" %cp = getelementptr i8, ptr %buf, i32 %k\0A store i8 %ch8, ptr %cp\0A\00" @.str13965 = 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" @.str13966 = private unnamed_addr constant [24 x i8] c"done:\0A ret ptr %buf\0A}\0A\00" @.str13967 = private unnamed_addr constant [62 x i8] c"define i32 @lp_dt_rd(ptr %s, i32 %off, i32 %w, ptr %failp) {\0A\00" @.str13968 = 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" @.str13969 = private unnamed_addr constant [18 x i8] c" br label %loop\0A\00" @.str13970 = 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" @.str13971 = 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" @.str13972 = private unnamed_addr constant [70 x i8] c" %zero = icmp eq i32 %c, 0\0A br i1 %zero, label %stop, label %digit\0A\00" @.str13973 = private unnamed_addr constant [50 x i8] c"stop:\0A store i32 1, ptr %failp\0A br label %done\0A\00" @.str13974 = 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" @.str13975 = private unnamed_addr constant [50 x i8] c"fail:\0A store i32 1, ptr %failp\0A br label %next\0A\00" @.str13976 = 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" @.str13977 = 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" @.str13978 = private unnamed_addr constant [49 x i8] c"done:\0A %r = load i32, ptr %accp\0A ret i32 %r\0A}\0A\00" @.str13979 = private unnamed_addr constant [4 x i8] c"now\00" @.str13980 = private unnamed_addr constant [4 x i8] c"set\00" @.str13981 = private unnamed_addr constant [8 x i8] c"advance\00" @.str13982 = private unnamed_addr constant [6 x i8] c"reset\00" @.str13983 = private unnamed_addr constant [4 x i8] c"now\00" @.str13984 = private unnamed_addr constant [23 x i8] c"load i32, ptr @L_clock\00" @.str13985 = private unnamed_addr constant [4 x i8] c"int\00" @.str13986 = private unnamed_addr constant [6 x i8] c"reset\00" @.str13987 = private unnamed_addr constant [29 x i8] c" store i32 0, ptr @L_clock\0A\00" @.str13988 = private unnamed_addr constant [2 x i8] c"0\00" @.str13989 = private unnamed_addr constant [5 x i8] c"void\00" @.str13990 = private unnamed_addr constant [4 x i8] c"set\00" @.str13991 = private unnamed_addr constant [55 x i8] c"build/cfree/selfhost.ludic:22058: index out of range: \00" @.str13992 = private unnamed_addr constant [14 x i8] c"emit_clock_ns\00" @.str13993 = private unnamed_addr constant [13 x i8] c" store i32 \00" @.str13994 = private unnamed_addr constant [16 x i8] c", ptr @L_clock\0A\00" @.str13995 = private unnamed_addr constant [2 x i8] c"0\00" @.str13996 = private unnamed_addr constant [5 x i8] c"void\00" @.str13997 = private unnamed_addr constant [55 x i8] c"build/cfree/selfhost.ludic:22063: index out of range: \00" @.str13998 = private unnamed_addr constant [23 x i8] c"load i32, ptr @L_clock\00" @.str13999 = private unnamed_addr constant [9 x i8] c"add i32 \00" @.str14000 = private unnamed_addr constant [3 x i8] c", \00" @.str14001 = private unnamed_addr constant [13 x i8] c" store i32 \00" @.str14002 = private unnamed_addr constant [16 x i8] c", ptr @L_clock\0A\00" @.str14003 = private unnamed_addr constant [2 x i8] c"0\00" @.str14004 = private unnamed_addr constant [5 x i8] c"void\00" @.str14005 = private unnamed_addr constant [4 x i8] c"rgb\00" @.str14006 = private unnamed_addr constant [5 x i8] c"rgba\00" @.str14007 = private unnamed_addr constant [5 x i8] c"lerp\00" @.str14008 = private unnamed_addr constant [7 x i8] c"darken\00" @.str14009 = private unnamed_addr constant [8 x i8] c"lighten\00" @.str14010 = private unnamed_addr constant [11 x i8] c"with_alpha\00" @.str14011 = private unnamed_addr constant [10 x i8] c"lshr i32 \00" @.str14012 = private unnamed_addr constant [9 x i8] c"color_ch\00" @.str14013 = private unnamed_addr constant [3 x i8] c", \00" @.str14014 = private unnamed_addr constant [9 x i8] c"and i32 \00" @.str14015 = private unnamed_addr constant [6 x i8] c", 255\00" @.str14016 = private unnamed_addr constant [9 x i8] c"shl i32 \00" @.str14017 = private unnamed_addr constant [11 x i8] c"color_pack\00" @.str14018 = private unnamed_addr constant [5 x i8] c", 16\00" @.str14019 = private unnamed_addr constant [9 x i8] c"shl i32 \00" @.str14020 = private unnamed_addr constant [4 x i8] c", 8\00" @.str14021 = private unnamed_addr constant [8 x i8] c"or i32 \00" @.str14022 = private unnamed_addr constant [3 x i8] c", \00" @.str14023 = private unnamed_addr constant [8 x i8] c"or i32 \00" @.str14024 = private unnamed_addr constant [3 x i8] c", \00" @.str14025 = private unnamed_addr constant [9 x i8] c"sub i32 \00" @.str14026 = private unnamed_addr constant [14 x i8] c"color_lerp_ch\00" @.str14027 = private unnamed_addr constant [3 x i8] c", \00" @.str14028 = private unnamed_addr constant [9 x i8] c"mul i32 \00" @.str14029 = private unnamed_addr constant [3 x i8] c", \00" @.str14030 = private unnamed_addr constant [10 x i8] c"ashr i32 \00" @.str14031 = private unnamed_addr constant [5 x i8] c", 16\00" @.str14032 = private unnamed_addr constant [9 x i8] c"add i32 \00" @.str14033 = private unnamed_addr constant [3 x i8] c", \00" @.str14034 = private unnamed_addr constant [4 x i8] c"rgb\00" @.str14035 = private unnamed_addr constant [55 x i8] c"build/cfree/selfhost.ludic:22105: index out of range: \00" @.str14036 = private unnamed_addr constant [16 x i8] c"emit_colorfn_ns\00" @.str14037 = private unnamed_addr constant [55 x i8] c"build/cfree/selfhost.ludic:22105: index out of range: \00" @.str14038 = private unnamed_addr constant [55 x i8] c"build/cfree/selfhost.ludic:22105: index out of range: \00" @.str14039 = private unnamed_addr constant [4 x i8] c"int\00" @.str14040 = private unnamed_addr constant [5 x i8] c"rgba\00" @.str14041 = private unnamed_addr constant [55 x i8] c"build/cfree/selfhost.ludic:22109: index out of range: \00" @.str14042 = private unnamed_addr constant [55 x i8] c"build/cfree/selfhost.ludic:22109: index out of range: \00" @.str14043 = private unnamed_addr constant [55 x i8] c"build/cfree/selfhost.ludic:22109: index out of range: \00" @.str14044 = private unnamed_addr constant [55 x i8] c"build/cfree/selfhost.ludic:22109: index out of range: \00" @.str14045 = private unnamed_addr constant [9 x i8] c"shl i32 \00" @.str14046 = private unnamed_addr constant [5 x i8] c", 24\00" @.str14047 = private unnamed_addr constant [8 x i8] c"or i32 \00" @.str14048 = private unnamed_addr constant [3 x i8] c", \00" @.str14049 = private unnamed_addr constant [4 x i8] c"int\00" @.str14050 = private unnamed_addr constant [11 x i8] c"with_alpha\00" @.str14051 = private unnamed_addr constant [55 x i8] c"build/cfree/selfhost.ludic:22115: index out of range: \00" @.str14052 = private unnamed_addr constant [55 x i8] c"build/cfree/selfhost.ludic:22115: index out of range: \00" @.str14053 = private unnamed_addr constant [9 x i8] c"and i32 \00" @.str14054 = private unnamed_addr constant [11 x i8] c", 16777215\00" @.str14055 = private unnamed_addr constant [9 x i8] c"shl i32 \00" @.str14056 = private unnamed_addr constant [5 x i8] c", 24\00" @.str14057 = private unnamed_addr constant [8 x i8] c"or i32 \00" @.str14058 = private unnamed_addr constant [3 x i8] c", \00" @.str14059 = private unnamed_addr constant [4 x i8] c"int\00" @.str14060 = private unnamed_addr constant [5 x i8] c"lerp\00" @.str14061 = private unnamed_addr constant [55 x i8] c"build/cfree/selfhost.ludic:22121: index out of range: \00" @.str14062 = private unnamed_addr constant [55 x i8] c"build/cfree/selfhost.ludic:22121: index out of range: \00" @.str14063 = private unnamed_addr constant [55 x i8] c"build/cfree/selfhost.ludic:22121: index out of range: \00" @.str14064 = private unnamed_addr constant [3 x i8] c"16\00" @.str14065 = private unnamed_addr constant [3 x i8] c"16\00" @.str14066 = private unnamed_addr constant [2 x i8] c"8\00" @.str14067 = private unnamed_addr constant [2 x i8] c"8\00" @.str14068 = private unnamed_addr constant [2 x i8] c"0\00" @.str14069 = private unnamed_addr constant [2 x i8] c"0\00" @.str14070 = private unnamed_addr constant [4 x i8] c"int\00" @.str14071 = private unnamed_addr constant [7 x i8] c"darken\00" @.str14072 = private unnamed_addr constant [55 x i8] c"build/cfree/selfhost.ludic:22128: index out of range: \00" @.str14073 = private unnamed_addr constant [55 x i8] c"build/cfree/selfhost.ludic:22128: index out of range: \00" @.str14074 = private unnamed_addr constant [16 x i8] c"sub i32 65536, \00" @.str14075 = private unnamed_addr constant [3 x i8] c"16\00" @.str14076 = private unnamed_addr constant [2 x i8] c"8\00" @.str14077 = private unnamed_addr constant [2 x i8] c"0\00" @.str14078 = private unnamed_addr constant [9 x i8] c"mul i32 \00" @.str14079 = private unnamed_addr constant [3 x i8] c", \00" @.str14080 = private unnamed_addr constant [10 x i8] c"ashr i32 \00" @.str14081 = private unnamed_addr constant [5 x i8] c", 16\00" @.str14082 = private unnamed_addr constant [9 x i8] c"mul i32 \00" @.str14083 = private unnamed_addr constant [3 x i8] c", \00" @.str14084 = private unnamed_addr constant [10 x i8] c"ashr i32 \00" @.str14085 = private unnamed_addr constant [5 x i8] c", 16\00" @.str14086 = private unnamed_addr constant [9 x i8] c"mul i32 \00" @.str14087 = private unnamed_addr constant [3 x i8] c", \00" @.str14088 = private unnamed_addr constant [10 x i8] c"ashr i32 \00" @.str14089 = private unnamed_addr constant [5 x i8] c", 16\00" @.str14090 = private unnamed_addr constant [4 x i8] c"int\00" @.str14091 = private unnamed_addr constant [55 x i8] c"build/cfree/selfhost.ludic:22137: index out of range: \00" @.str14092 = private unnamed_addr constant [55 x i8] c"build/cfree/selfhost.ludic:22137: index out of range: \00" @.str14093 = private unnamed_addr constant [3 x i8] c"16\00" @.str14094 = private unnamed_addr constant [2 x i8] c"8\00" @.str14095 = private unnamed_addr constant [2 x i8] c"0\00" @.str14096 = private unnamed_addr constant [14 x i8] c"sub i32 255, \00" @.str14097 = private unnamed_addr constant [9 x i8] c"mul i32 \00" @.str14098 = private unnamed_addr constant [3 x i8] c", \00" @.str14099 = private unnamed_addr constant [10 x i8] c"ashr i32 \00" @.str14100 = private unnamed_addr constant [5 x i8] c", 16\00" @.str14101 = private unnamed_addr constant [9 x i8] c"add i32 \00" @.str14102 = private unnamed_addr constant [3 x i8] c", \00" @.str14103 = private unnamed_addr constant [14 x i8] c"sub i32 255, \00" @.str14104 = private unnamed_addr constant [9 x i8] c"mul i32 \00" @.str14105 = private unnamed_addr constant [3 x i8] c", \00" @.str14106 = private unnamed_addr constant [10 x i8] c"ashr i32 \00" @.str14107 = private unnamed_addr constant [5 x i8] c", 16\00" @.str14108 = private unnamed_addr constant [9 x i8] c"add i32 \00" @.str14109 = private unnamed_addr constant [3 x i8] c", \00" @.str14110 = private unnamed_addr constant [14 x i8] c"sub i32 255, \00" @.str14111 = private unnamed_addr constant [9 x i8] c"mul i32 \00" @.str14112 = private unnamed_addr constant [3 x i8] c", \00" @.str14113 = private unnamed_addr constant [10 x i8] c"ashr i32 \00" @.str14114 = private unnamed_addr constant [5 x i8] c", 16\00" @.str14115 = private unnamed_addr constant [9 x i8] c"add i32 \00" @.str14116 = private unnamed_addr constant [3 x i8] c", \00" @.str14117 = private unnamed_addr constant [4 x i8] c"int\00" @.str14118 = private unnamed_addr constant [6 x i8] c"White\00" @.str14119 = private unnamed_addr constant [5 x i8] c"Snow\00" @.str14120 = private unnamed_addr constant [6 x i8] c"Ivory\00" @.str14121 = private unnamed_addr constant [14 x i8] c"EggShellWhite\00" @.str14122 = private unnamed_addr constant [12 x i8] c"FloralWhite\00" @.str14123 = private unnamed_addr constant [9 x i8] c"SeaShell\00" @.str14124 = private unnamed_addr constant [6 x i8] c"Linen\00" @.str14125 = private unnamed_addr constant [13 x i8] c"AntiqueWhite\00" @.str14126 = private unnamed_addr constant [8 x i8] c"OldLace\00" @.str14127 = private unnamed_addr constant [6 x i8] c"Beige\00" @.str14128 = private unnamed_addr constant [6 x i8] c"Cream\00" @.str14129 = private unnamed_addr constant [9 x i8] c"Honeydew\00" @.str14130 = private unnamed_addr constant [10 x i8] c"MintCream\00" @.str14131 = private unnamed_addr constant [6 x i8] c"Azure\00" @.str14132 = private unnamed_addr constant [10 x i8] c"AliceBlue\00" @.str14133 = private unnamed_addr constant [11 x i8] c"GhostWhite\00" @.str14134 = private unnamed_addr constant [11 x i8] c"WhiteSmoke\00" @.str14135 = private unnamed_addr constant [9 x i8] c"Lavender\00" @.str14136 = private unnamed_addr constant [5 x i8] c"Bone\00" @.str14137 = private unnamed_addr constant [10 x i8] c"Parchment\00" @.str14138 = private unnamed_addr constant [10 x i8] c"Gainsboro\00" @.str14139 = private unnamed_addr constant [10 x i8] c"LightGray\00" @.str14140 = private unnamed_addr constant [7 x i8] c"Silver\00" @.str14141 = private unnamed_addr constant [4 x i8] c"Ash\00" @.str14142 = private unnamed_addr constant [9 x i8] c"DarkGray\00" @.str14143 = private unnamed_addr constant [5 x i8] c"Gray\00" @.str14144 = private unnamed_addr constant [8 x i8] c"DimGray\00" @.str14145 = private unnamed_addr constant [7 x i8] c"Nickel\00" @.str14146 = private unnamed_addr constant [6 x i8] c"Slate\00" @.str14147 = private unnamed_addr constant [10 x i8] c"SlateGray\00" @.str14148 = private unnamed_addr constant [15 x i8] c"LightSlateGray\00" @.str14149 = private unnamed_addr constant [9 x i8] c"Gunmetal\00" @.str14150 = private unnamed_addr constant [9 x i8] c"Charcoal\00" @.str14151 = private unnamed_addr constant [9 x i8] c"Graphite\00" @.str14152 = private unnamed_addr constant [5 x i8] c"Onyx\00" @.str14153 = private unnamed_addr constant [4 x i8] c"Jet\00" @.str14154 = private unnamed_addr constant [6 x i8] c"Black\00" @.str14155 = private unnamed_addr constant [11 x i8] c"EerieBlack\00" @.str14156 = private unnamed_addr constant [12 x i8] c"RaisinBlack\00" @.str14157 = private unnamed_addr constant [6 x i8] c"Ebony\00" @.str14158 = private unnamed_addr constant [4 x i8] c"Red\00" @.str14159 = private unnamed_addr constant [8 x i8] c"Crimson\00" @.str14160 = private unnamed_addr constant [8 x i8] c"Scarlet\00" @.str14161 = private unnamed_addr constant [10 x i8] c"Vermilion\00" @.str14162 = private unnamed_addr constant [10 x i8] c"FireBrick\00" @.str14163 = private unnamed_addr constant [9 x i8] c"Cinnabar\00" @.str14164 = private unnamed_addr constant [8 x i8] c"DarkRed\00" @.str14165 = private unnamed_addr constant [7 x i8] c"Maroon\00" @.str14166 = private unnamed_addr constant [5 x i8] c"Ruby\00" @.str14167 = private unnamed_addr constant [9 x i8] c"Cardinal\00" @.str14168 = private unnamed_addr constant [10 x i8] c"IndianRed\00" @.str14169 = private unnamed_addr constant [5 x i8] c"Rust\00" @.str14170 = private unnamed_addr constant [8 x i8] c"Sangria\00" @.str14171 = private unnamed_addr constant [8 x i8] c"Redwood\00" @.str14172 = private unnamed_addr constant [7 x i8] c"Cerise\00" @.str14173 = private unnamed_addr constant [9 x i8] c"Amaranth\00" @.str14174 = private unnamed_addr constant [8 x i8] c"Carmine\00" @.str14175 = private unnamed_addr constant [9 x i8] c"Chestnut\00" @.str14176 = private unnamed_addr constant [6 x i8] c"Brick\00" @.str14177 = private unnamed_addr constant [11 x i8] c"TerraCotta\00" @.str14178 = private unnamed_addr constant [5 x i8] c"Pink\00" @.str14179 = private unnamed_addr constant [10 x i8] c"LightPink\00" @.str14180 = private unnamed_addr constant [8 x i8] c"HotPink\00" @.str14181 = private unnamed_addr constant [9 x i8] c"DeepPink\00" @.str14182 = private unnamed_addr constant [14 x i8] c"PaleVioletRed\00" @.str14183 = private unnamed_addr constant [5 x i8] c"Rose\00" @.str14184 = private unnamed_addr constant [6 x i8] c"Blush\00" @.str14185 = private unnamed_addr constant [7 x i8] c"Salmon\00" @.str14186 = private unnamed_addr constant [12 x i8] c"LightSalmon\00" @.str14187 = private unnamed_addr constant [11 x i8] c"DarkSalmon\00" @.str14188 = private unnamed_addr constant [6 x i8] c"Coral\00" @.str14189 = private unnamed_addr constant [11 x i8] c"Watermelon\00" @.str14190 = private unnamed_addr constant [9 x i8] c"Flamingo\00" @.str14191 = private unnamed_addr constant [10 x i8] c"Bubblegum\00" @.str14192 = private unnamed_addr constant [8 x i8] c"Fuchsia\00" @.str14193 = private unnamed_addr constant [8 x i8] c"Magenta\00" @.str14194 = private unnamed_addr constant [6 x i8] c"Mauve\00" @.str14195 = private unnamed_addr constant [5 x i8] c"Puce\00" @.str14196 = private unnamed_addr constant [8 x i8] c"Thistle\00" @.str14197 = private unnamed_addr constant [7 x i8] c"Orchid\00" @.str14198 = private unnamed_addr constant [7 x i8] c"Orange\00" @.str14199 = private unnamed_addr constant [11 x i8] c"DarkOrange\00" @.str14200 = private unnamed_addr constant [10 x i8] c"Tangerine\00" @.str14201 = private unnamed_addr constant [8 x i8] c"Pumpkin\00" @.str14202 = private unnamed_addr constant [8 x i8] c"Apricot\00" @.str14203 = private unnamed_addr constant [6 x i8] c"Peach\00" @.str14204 = private unnamed_addr constant [11 x i8] c"Cantaloupe\00" @.str14205 = private unnamed_addr constant [6 x i8] c"Amber\00" @.str14206 = private unnamed_addr constant [7 x i8] c"Bronze\00" @.str14207 = private unnamed_addr constant [7 x i8] c"Copper\00" @.str14208 = private unnamed_addr constant [9 x i8] c"Marigold\00" @.str14209 = private unnamed_addr constant [7 x i8] c"Carrot\00" @.str14210 = private unnamed_addr constant [10 x i8] c"Persimmon\00" @.str14211 = private unnamed_addr constant [7 x i8] c"Papaya\00" @.str14212 = private unnamed_addr constant [7 x i8] c"Sunset\00" @.str14213 = private unnamed_addr constant [7 x i8] c"Yellow\00" @.str14214 = private unnamed_addr constant [12 x i8] c"LightYellow\00" @.str14215 = private unnamed_addr constant [5 x i8] c"Gold\00" @.str14216 = private unnamed_addr constant [10 x i8] c"Goldenrod\00" @.str14217 = private unnamed_addr constant [6 x i8] c"Lemon\00" @.str14218 = private unnamed_addr constant [7 x i8] c"Canary\00" @.str14219 = private unnamed_addr constant [8 x i8] c"Mustard\00" @.str14220 = private unnamed_addr constant [5 x i8] c"Flax\00" @.str14221 = private unnamed_addr constant [6 x i8] c"Wheat\00" @.str14222 = private unnamed_addr constant [5 x i8] c"Corn\00" @.str14223 = private unnamed_addr constant [10 x i8] c"Dandelion\00" @.str14224 = private unnamed_addr constant [8 x i8] c"Saffron\00" @.str14225 = private unnamed_addr constant [6 x i8] c"Khaki\00" @.str14226 = private unnamed_addr constant [10 x i8] c"DarkKhaki\00" @.str14227 = private unnamed_addr constant [6 x i8] c"Straw\00" @.str14228 = private unnamed_addr constant [6 x i8] c"Brown\00" @.str14229 = private unnamed_addr constant [12 x i8] c"SaddleBrown\00" @.str14230 = private unnamed_addr constant [7 x i8] c"Sienna\00" @.str14231 = private unnamed_addr constant [10 x i8] c"Chocolate\00" @.str14232 = private unnamed_addr constant [5 x i8] c"Peru\00" @.str14233 = private unnamed_addr constant [4 x i8] c"Tan\00" @.str14234 = private unnamed_addr constant [10 x i8] c"BurlyWood\00" @.str14235 = private unnamed_addr constant [5 x i8] c"Sand\00" @.str14236 = private unnamed_addr constant [7 x i8] c"Coffee\00" @.str14237 = private unnamed_addr constant [9 x i8] c"Espresso\00" @.str14238 = private unnamed_addr constant [9 x i8] c"Mahogany\00" @.str14239 = private unnamed_addr constant [7 x i8] c"Walnut\00" @.str14240 = private unnamed_addr constant [6 x i8] c"Umber\00" @.str14241 = private unnamed_addr constant [6 x i8] c"Sepia\00" @.str14242 = private unnamed_addr constant [6 x i8] c"Taupe\00" @.str14243 = private unnamed_addr constant [5 x i8] c"Fawn\00" @.str14244 = private unnamed_addr constant [8 x i8] c"Caramel\00" @.str14245 = private unnamed_addr constant [6 x i8] c"Cocoa\00" @.str14246 = private unnamed_addr constant [6 x i8] c"Hazel\00" @.str14247 = private unnamed_addr constant [6 x i8] c"Wenge\00" @.str14248 = private unnamed_addr constant [6 x i8] c"Green\00" @.str14249 = private unnamed_addr constant [5 x i8] c"Lime\00" @.str14250 = private unnamed_addr constant [10 x i8] c"LimeGreen\00" @.str14251 = private unnamed_addr constant [10 x i8] c"LawnGreen\00" @.str14252 = private unnamed_addr constant [11 x i8] c"Chartreuse\00" @.str14253 = private unnamed_addr constant [12 x i8] c"GreenYellow\00" @.str14254 = private unnamed_addr constant [12 x i8] c"SpringGreen\00" @.str14255 = private unnamed_addr constant [10 x i8] c"MintGreen\00" @.str14256 = private unnamed_addr constant [9 x i8] c"SeaGreen\00" @.str14257 = private unnamed_addr constant [15 x i8] c"MediumSeaGreen\00" @.str14258 = private unnamed_addr constant [12 x i8] c"ForestGreen\00" @.str14259 = private unnamed_addr constant [10 x i8] c"DarkGreen\00" @.str14260 = private unnamed_addr constant [10 x i8] c"OliveDrab\00" @.str14261 = private unnamed_addr constant [6 x i8] c"Olive\00" @.str14262 = private unnamed_addr constant [5 x i8] c"Moss\00" @.str14263 = private unnamed_addr constant [5 x i8] c"Fern\00" @.str14264 = private unnamed_addr constant [8 x i8] c"Emerald\00" @.str14265 = private unnamed_addr constant [5 x i8] c"Jade\00" @.str14266 = private unnamed_addr constant [10 x i8] c"Malachite\00" @.str14267 = private unnamed_addr constant [9 x i8] c"Shamrock\00" @.str14268 = private unnamed_addr constant [10 x i8] c"Pistachio\00" @.str14269 = private unnamed_addr constant [8 x i8] c"Avocado\00" @.str14270 = private unnamed_addr constant [5 x i8] c"Pine\00" @.str14271 = private unnamed_addr constant [5 x i8] c"Sage\00" @.str14272 = private unnamed_addr constant [6 x i8] c"Kelly\00" @.str14273 = private unnamed_addr constant [7 x i8] c"Hunter\00" @.str14274 = private unnamed_addr constant [6 x i8] c"Basil\00" @.str14275 = private unnamed_addr constant [7 x i8] c"Clover\00" @.str14276 = private unnamed_addr constant [8 x i8] c"Juniper\00" @.str14277 = private unnamed_addr constant [5 x i8] c"Neon\00" @.str14278 = private unnamed_addr constant [5 x i8] c"Cyan\00" @.str14279 = private unnamed_addr constant [5 x i8] c"Aqua\00" @.str14280 = private unnamed_addr constant [10 x i8] c"LightCyan\00" @.str14281 = private unnamed_addr constant [14 x i8] c"PaleTurquoise\00" @.str14282 = private unnamed_addr constant [11 x i8] c"Aquamarine\00" @.str14283 = private unnamed_addr constant [10 x i8] c"Turquoise\00" @.str14284 = private unnamed_addr constant [16 x i8] c"MediumTurquoise\00" @.str14285 = private unnamed_addr constant [14 x i8] c"DarkTurquoise\00" @.str14286 = private unnamed_addr constant [5 x i8] c"Teal\00" @.str14287 = private unnamed_addr constant [9 x i8] c"DarkCyan\00" @.str14288 = private unnamed_addr constant [10 x i8] c"CadetBlue\00" @.str14289 = private unnamed_addr constant [7 x i8] c"Lagoon\00" @.str14290 = private unnamed_addr constant [8 x i8] c"Seafoam\00" @.str14291 = private unnamed_addr constant [9 x i8] c"Cerulean\00" @.str14292 = private unnamed_addr constant [13 x i8] c"SkyBlueLight\00" @.str14293 = private unnamed_addr constant [6 x i8] c"Robin\00" @.str14294 = private unnamed_addr constant [10 x i8] c"Verdigris\00" @.str14295 = private unnamed_addr constant [8 x i8] c"Celadon\00" @.str14296 = private unnamed_addr constant [5 x i8] c"Blue\00" @.str14297 = private unnamed_addr constant [10 x i8] c"LightBlue\00" @.str14298 = private unnamed_addr constant [11 x i8] c"PowderBlue\00" @.str14299 = private unnamed_addr constant [8 x i8] c"SkyBlue\00" @.str14300 = private unnamed_addr constant [13 x i8] c"LightSkyBlue\00" @.str14301 = private unnamed_addr constant [12 x i8] c"DeepSkyBlue\00" @.str14302 = private unnamed_addr constant [11 x i8] c"DodgerBlue\00" @.str14303 = private unnamed_addr constant [15 x i8] c"CornflowerBlue\00" @.str14304 = private unnamed_addr constant [10 x i8] c"SteelBlue\00" @.str14305 = private unnamed_addr constant [10 x i8] c"RoyalBlue\00" @.str14306 = private unnamed_addr constant [11 x i8] c"MediumBlue\00" @.str14307 = private unnamed_addr constant [9 x i8] c"DarkBlue\00" @.str14308 = private unnamed_addr constant [5 x i8] c"Navy\00" @.str14309 = private unnamed_addr constant [13 x i8] c"MidnightBlue\00" @.str14310 = private unnamed_addr constant [7 x i8] c"Cobalt\00" @.str14311 = private unnamed_addr constant [9 x i8] c"Sapphire\00" @.str14312 = private unnamed_addr constant [6 x i8] c"Denim\00" @.str14313 = private unnamed_addr constant [7 x i8] c"Indigo\00" @.str14314 = private unnamed_addr constant [9 x i8] c"Prussian\00" @.str14315 = private unnamed_addr constant [12 x i8] c"Ultramarine\00" @.str14316 = private unnamed_addr constant [11 x i8] c"Periwinkle\00" @.str14317 = private unnamed_addr constant [5 x i8] c"Iris\00" @.str14318 = private unnamed_addr constant [9 x i8] c"Glaucous\00" @.str14319 = private unnamed_addr constant [7 x i8] c"Zaffre\00" @.str14320 = private unnamed_addr constant [6 x i8] c"Berry\00" @.str14321 = private unnamed_addr constant [7 x i8] c"Purple\00" @.str14322 = private unnamed_addr constant [7 x i8] c"Violet\00" @.str14323 = private unnamed_addr constant [11 x i8] c"DarkViolet\00" @.str14324 = private unnamed_addr constant [11 x i8] c"BlueViolet\00" @.str14325 = private unnamed_addr constant [13 x i8] c"MediumPurple\00" @.str14326 = private unnamed_addr constant [9 x i8] c"Amethyst\00" @.str14327 = private unnamed_addr constant [5 x i8] c"Plum\00" @.str14328 = private unnamed_addr constant [9 x i8] c"Eggplant\00" @.str14329 = private unnamed_addr constant [6 x i8] c"Grape\00" @.str14330 = private unnamed_addr constant [5 x i8] c"Wine\00" @.str14331 = private unnamed_addr constant [9 x i8] c"Mulberry\00" @.str14332 = private unnamed_addr constant [6 x i8] c"Lilac\00" @.str14333 = private unnamed_addr constant [9 x i8] c"Wisteria\00" @.str14334 = private unnamed_addr constant [11 x i8] c"Heliotrope\00" @.str14335 = private unnamed_addr constant [10 x i8] c"Byzantium\00" @.str14336 = private unnamed_addr constant [7 x i8] c"Tyrian\00" @.str14337 = private unnamed_addr constant [14 x i8] c"RebeccaPurple\00" @.str14338 = private unnamed_addr constant [8 x i8] c"Orchid2\00" @.str14339 = private unnamed_addr constant [6 x i8] c"Space\00" @.str14340 = private unnamed_addr constant [6 x i8] c"Enter\00" @.str14341 = private unnamed_addr constant [7 x i8] c"Return\00" @.str14342 = private unnamed_addr constant [7 x i8] c"Escape\00" @.str14343 = private unnamed_addr constant [4 x i8] c"Esc\00" @.str14344 = private unnamed_addr constant [6 x i8] c"Shift\00" @.str14345 = private unnamed_addr constant [4 x i8] c"Tab\00" @.str14346 = private unnamed_addr constant [10 x i8] c"Backspace\00" @.str14347 = private unnamed_addr constant [3 x i8] c"Up\00" @.str14348 = private unnamed_addr constant [5 x i8] c"Down\00" @.str14349 = private unnamed_addr constant [5 x i8] c"Left\00" @.str14350 = private unnamed_addr constant [6 x i8] c"Right\00" @.str14351 = private unnamed_addr constant [3 x i8] c"F1\00" @.str14352 = private unnamed_addr constant [3 x i8] c"F2\00" @.str14353 = private unnamed_addr constant [3 x i8] c"F3\00" @.str14354 = private unnamed_addr constant [3 x i8] c"F4\00" @.str14355 = private unnamed_addr constant [3 x i8] c"F5\00" @.str14356 = private unnamed_addr constant [3 x i8] c"F6\00" @.str14357 = private unnamed_addr constant [3 x i8] c"F7\00" @.str14358 = private unnamed_addr constant [3 x i8] c"F8\00" @.str14359 = private unnamed_addr constant [3 x i8] c"F9\00" @.str14360 = private unnamed_addr constant [4 x i8] c"F10\00" @.str14361 = private unnamed_addr constant [4 x i8] c"F11\00" @.str14362 = private unnamed_addr constant [4 x i8] c"F12\00" @.str14363 = private unnamed_addr constant [5 x i8] c"Home\00" @.str14364 = private unnamed_addr constant [4 x i8] c"End\00" @.str14365 = private unnamed_addr constant [7 x i8] c"PageUp\00" @.str14366 = private unnamed_addr constant [9 x i8] c"PageDown\00" @.str14367 = private unnamed_addr constant [7 x i8] c"Insert\00" @.str14368 = private unnamed_addr constant [7 x i8] c"Delete\00" @.str14369 = private unnamed_addr constant [9 x i8] c"CapsLock\00" @.str14370 = private unnamed_addr constant [8 x i8] c"Numpad0\00" @.str14371 = private unnamed_addr constant [8 x i8] c"Numpad1\00" @.str14372 = private unnamed_addr constant [8 x i8] c"Numpad2\00" @.str14373 = private unnamed_addr constant [8 x i8] c"Numpad3\00" @.str14374 = private unnamed_addr constant [8 x i8] c"Numpad4\00" @.str14375 = private unnamed_addr constant [8 x i8] c"Numpad5\00" @.str14376 = private unnamed_addr constant [8 x i8] c"Numpad6\00" @.str14377 = private unnamed_addr constant [8 x i8] c"Numpad7\00" @.str14378 = private unnamed_addr constant [8 x i8] c"Numpad8\00" @.str14379 = private unnamed_addr constant [8 x i8] c"Numpad9\00" @.str14380 = private unnamed_addr constant [15 x i8] c"NumpadMultiply\00" @.str14381 = private unnamed_addr constant [10 x i8] c"NumpadAdd\00" @.str14382 = private unnamed_addr constant [15 x i8] c"NumpadSubtract\00" @.str14383 = private unnamed_addr constant [14 x i8] c"NumpadDecimal\00" @.str14384 = private unnamed_addr constant [13 x i8] c"NumpadDivide\00" @.str14385 = private unnamed_addr constant [7 x i8] c"Digit0\00" @.str14386 = private unnamed_addr constant [7 x i8] c"Digit1\00" @.str14387 = private unnamed_addr constant [7 x i8] c"Digit2\00" @.str14388 = private unnamed_addr constant [7 x i8] c"Digit3\00" @.str14389 = private unnamed_addr constant [7 x i8] c"Digit4\00" @.str14390 = private unnamed_addr constant [7 x i8] c"Digit5\00" @.str14391 = private unnamed_addr constant [7 x i8] c"Digit6\00" @.str14392 = private unnamed_addr constant [7 x i8] c"Digit7\00" @.str14393 = private unnamed_addr constant [7 x i8] c"Digit8\00" @.str14394 = private unnamed_addr constant [7 x i8] c"Digit9\00" @.str14395 = private unnamed_addr constant [15 x i8] c"getelementptr \00" @.str14396 = private unnamed_addr constant [12 x i8] c"emit_sizeof\00" @.str14397 = private unnamed_addr constant [18 x i8] c", ptr null, i32 1\00" @.str14398 = private unnamed_addr constant [14 x i8] c"ptrtoint ptr \00" @.str14399 = private unnamed_addr constant [8 x i8] c" to i64\00" @.str14400 = private unnamed_addr constant [55 x i8] c"build/cfree/selfhost.ludic:22472: index out of range: \00" @.str14401 = private unnamed_addr constant [10 x i8] c"rec_field\00" @.str14402 = private unnamed_addr constant [42 x i8] c" is a port: it is filled once with 'bind \00" @.str14403 = private unnamed_addr constant [16 x i8] c"emit_new_struct\00" @.str14404 = private unnamed_addr constant [63 x i8] c" { ... }' where the program is put together, not made with new\00" @.str14405 = private unnamed_addr constant [21 x i8] c"unknown record type \00" @.str14406 = private unnamed_addr constant [8 x i8] c" in new\00" @.str14407 = private unnamed_addr constant [1 x i8] c"\00" @.str14408 = private unnamed_addr constant [5 x i8] c"new \00" @.str14409 = private unnamed_addr constant [25 x i8] c"call ptr @lp_malloc(i64 \00" @.str14410 = private unnamed_addr constant [2 x i8] c")\00" @.str14411 = private unnamed_addr constant [55 x i8] c"build/cfree/selfhost.ludic:22494: index out of range: \00" @.str14412 = private unnamed_addr constant [3 x i8] c" \00" @.str14413 = private unnamed_addr constant [27 x i8] c" = getelementptr inbounds \00" @.str14414 = private unnamed_addr constant [7 x i8] c", ptr \00" @.str14415 = private unnamed_addr constant [14 x i8] c", i32 0, i32 \00" @.str14416 = private unnamed_addr constant [2 x i8] c"\0A\00" @.str14417 = private unnamed_addr constant [9 x i8] c" store \00" @.str14418 = private unnamed_addr constant [2 x i8] c" \00" @.str14419 = private unnamed_addr constant [7 x i8] c", ptr \00" @.str14420 = private unnamed_addr constant [2 x i8] c"\0A\00" @.str14421 = private unnamed_addr constant [8 x i8] c"%LSlice\00" @.str14422 = private unnamed_addr constant [5 x i8] c"new \00" @.str14423 = private unnamed_addr constant [15 x i8] c"emit_new_slice\00" @.str14424 = private unnamed_addr constant [25 x i8] c"call ptr @lp_malloc(i64 \00" @.str14425 = private unnamed_addr constant [2 x i8] c")\00" @.str14426 = private unnamed_addr constant [3 x i8] c" \00" @.str14427 = private unnamed_addr constant [40 x i8] c" = getelementptr inbounds %LSlice, ptr \00" @.str14428 = private unnamed_addr constant [16 x i8] c", i32 0, i32 0\0A\00" @.str14429 = private unnamed_addr constant [23 x i8] c" store ptr null, ptr \00" @.str14430 = private unnamed_addr constant [2 x i8] c"\0A\00" @.str14431 = private unnamed_addr constant [3 x i8] c" \00" @.str14432 = private unnamed_addr constant [40 x i8] c" = getelementptr inbounds %LSlice, ptr \00" @.str14433 = private unnamed_addr constant [16 x i8] c", i32 0, i32 1\0A\00" @.str14434 = private unnamed_addr constant [20 x i8] c" store i32 0, ptr \00" @.str14435 = private unnamed_addr constant [2 x i8] c"\0A\00" @.str14436 = private unnamed_addr constant [3 x i8] c" \00" @.str14437 = private unnamed_addr constant [40 x i8] c" = getelementptr inbounds %LSlice, ptr \00" @.str14438 = private unnamed_addr constant [16 x i8] c", i32 0, i32 2\0A\00" @.str14439 = private unnamed_addr constant [20 x i8] c" store i32 0, ptr \00" @.str14440 = private unnamed_addr constant [2 x i8] c"\0A\00" @.str14441 = private unnamed_addr constant [3 x i8] c"[]\00" @.str14442 = private unnamed_addr constant [17 x i8] c"emit_sized_slice\00" @.str14443 = private unnamed_addr constant [10 x i8] c"zext i32 \00" @.str14444 = private unnamed_addr constant [8 x i8] c" to i64\00" @.str14445 = private unnamed_addr constant [25 x i8] c"call ptr @lp_calloc(i64 \00" @.str14446 = private unnamed_addr constant [7 x i8] c", i64 \00" @.str14447 = private unnamed_addr constant [2 x i8] c")\00" @.str14448 = private unnamed_addr constant [13 x i8] c" store ptr \00" @.str14449 = private unnamed_addr constant [7 x i8] c", ptr \00" @.str14450 = private unnamed_addr constant [2 x i8] c"\0A\00" @.str14451 = private unnamed_addr constant [13 x i8] c" store i32 \00" @.str14452 = private unnamed_addr constant [7 x i8] c", ptr \00" @.str14453 = private unnamed_addr constant [2 x i8] c"\0A\00" @.str14454 = private unnamed_addr constant [13 x i8] c" store i32 \00" @.str14455 = private unnamed_addr constant [7 x i8] c", ptr \00" @.str14456 = private unnamed_addr constant [2 x i8] c"\0A\00" @.str14457 = private unnamed_addr constant [55 x i8] c"build/cfree/selfhost.ludic:22539: index out of range: \00" @.str14458 = private unnamed_addr constant [10 x i8] c"emit_view\00" @.str14459 = private unnamed_addr constant [33 x i8] c"view takes a slice, and this is \00" @.str14460 = private unnamed_addr constant [55 x i8] c"build/cfree/selfhost.ludic:22541: index out of range: \00" @.str14461 = private unnamed_addr constant [55 x i8] c"build/cfree/selfhost.ludic:22542: index out of range: \00" @.str14462 = private unnamed_addr constant [15 x i8] c"load i32, ptr \00" @.str14463 = private unnamed_addr constant [9 x i8] c"add i32 \00" @.str14464 = private unnamed_addr constant [3 x i8] c", \00" @.str14465 = private unnamed_addr constant [14 x i8] c"icmp ule i32 \00" @.str14466 = private unnamed_addr constant [3 x i8] c", \00" @.str14467 = private unnamed_addr constant [14 x i8] c"icmp sge i32 \00" @.str14468 = private unnamed_addr constant [4 x i8] c", 0\00" @.str14469 = private unnamed_addr constant [14 x i8] c"icmp sge i32 \00" @.str14470 = private unnamed_addr constant [4 x i8] c", 0\00" @.str14471 = private unnamed_addr constant [8 x i8] c"and i1 \00" @.str14472 = private unnamed_addr constant [3 x i8] c", \00" @.str14473 = private unnamed_addr constant [8 x i8] c"and i1 \00" @.str14474 = private unnamed_addr constant [3 x i8] c", \00" @.str14475 = private unnamed_addr constant [5 x i8] c"vwok\00" @.str14476 = private unnamed_addr constant [6 x i8] c"vwbad\00" @.str14477 = private unnamed_addr constant [9 x i8] c" br i1 \00" @.str14478 = private unnamed_addr constant [10 x i8] c", label %\00" @.str14479 = private unnamed_addr constant [10 x i8] c", label %\00" @.str14480 = private unnamed_addr constant [2 x i8] c"\0A\00" @.str14481 = private unnamed_addr constant [3 x i8] c":\0A\00" @.str14482 = private unnamed_addr constant [2 x i8] c":\00" @.str14483 = private unnamed_addr constant [27 x i8] c": view past the end: from \00" @.str14484 = private unnamed_addr constant [41 x i8] c" call i32 (ptr, ptr, ...) @fprintf(ptr \00" @.str14485 = private unnamed_addr constant [25 x i8] c", ptr @.fmt_bounds, ptr \00" @.str14486 = private unnamed_addr constant [7 x i8] c", i32 \00" @.str14487 = private unnamed_addr constant [7 x i8] c", i32 \00" @.str14488 = private unnamed_addr constant [3 x i8] c")\0A\00" @.str14489 = private unnamed_addr constant [40 x i8] c" call void @exit(i32 1)\0A unreachable\0A\00" @.str14490 = private unnamed_addr constant [3 x i8] c":\0A\00" @.str14491 = private unnamed_addr constant [15 x i8] c"load ptr, ptr \00" @.str14492 = private unnamed_addr constant [24 x i8] c"getelementptr inbounds \00" @.str14493 = private unnamed_addr constant [7 x i8] c", ptr \00" @.str14494 = private unnamed_addr constant [7 x i8] c", i32 \00" @.str14495 = private unnamed_addr constant [13 x i8] c" store ptr \00" @.str14496 = private unnamed_addr constant [7 x i8] c", ptr \00" @.str14497 = private unnamed_addr constant [2 x i8] c"\0A\00" @.str14498 = private unnamed_addr constant [13 x i8] c" store i32 \00" @.str14499 = private unnamed_addr constant [7 x i8] c", ptr \00" @.str14500 = private unnamed_addr constant [2 x i8] c"\0A\00" @.str14501 = private unnamed_addr constant [13 x i8] c" store i32 \00" @.str14502 = private unnamed_addr constant [7 x i8] c", ptr \00" @.str14503 = private unnamed_addr constant [2 x i8] c"\0A\00" @.str14504 = private unnamed_addr constant [15 x i8] c"load ptr, ptr \00" @.str14505 = private unnamed_addr constant [9 x i8] c"raw_expr\00" @.str14506 = private unnamed_addr constant [8 x i8] c"pointer\00" @.str14507 = private unnamed_addr constant [3 x i8] c" \00" @.str14508 = private unnamed_addr constant [40 x i8] c" = getelementptr inbounds %LSlice, ptr \00" @.str14509 = private unnamed_addr constant [14 x i8] c", i32 0, i32 \00" @.str14510 = private unnamed_addr constant [2 x i8] c"\0A\00" @.str14511 = private unnamed_addr constant [55 x i8] c"build/cfree/selfhost.ludic:22583: index out of range: \00" @.str14512 = private unnamed_addr constant [9 x i8] c"emit_len\00" @.str14513 = private unnamed_addr constant [15 x i8] c"load i32, ptr \00" @.str14514 = private unnamed_addr constant [4 x i8] c"int\00" @.str14515 = private unnamed_addr constant [22 x i8] c"call i64 @strlen(ptr \00" @.str14516 = private unnamed_addr constant [2 x i8] c")\00" @.str14517 = private unnamed_addr constant [11 x i8] c"trunc i64 \00" @.str14518 = private unnamed_addr constant [8 x i8] c" to i32\00" @.str14519 = private unnamed_addr constant [4 x i8] c"int\00" @.str14520 = private unnamed_addr constant [55 x i8] c"build/cfree/selfhost.ludic:22593: index out of range: \00" @.str14521 = private unnamed_addr constant [10 x i8] c"emit_push\00" @.str14522 = private unnamed_addr constant [55 x i8] c"build/cfree/selfhost.ludic:22594: index out of range: \00" @.str14523 = private unnamed_addr constant [55 x i8] c"build/cfree/selfhost.ludic:22595: index out of range: \00" @.str14524 = private unnamed_addr constant [2 x i8] c"0\00" @.str14525 = private unnamed_addr constant [5 x i8] c"void\00" @.str14526 = private unnamed_addr constant [67 x i8] c"an empty list literal has no element type: write `new []T` instead\00" @.str14527 = private unnamed_addr constant [55 x i8] c"build/cfree/selfhost.ludic:22606: index out of range: \00" @.str14528 = private unnamed_addr constant [10 x i8] c"emit_list\00" @.str14529 = private unnamed_addr constant [3 x i8] c"[]\00" @.str14530 = private unnamed_addr constant [55 x i8] c"build/cfree/selfhost.ludic:22613: index out of range: \00" @.str14531 = private unnamed_addr constant [34 x i8] c"list literal mixes element types \00" @.str14532 = private unnamed_addr constant [6 x i8] c" and \00" @.str14533 = private unnamed_addr constant [15 x i8] c"load i32, ptr \00" @.str14534 = private unnamed_addr constant [15 x i8] c"emit_push_into\00" @.str14535 = private unnamed_addr constant [15 x i8] c"load i32, ptr \00" @.str14536 = private unnamed_addr constant [14 x i8] c"icmp sge i32 \00" @.str14537 = private unnamed_addr constant [3 x i8] c", \00" @.str14538 = private unnamed_addr constant [5 x i8] c"grow\00" @.str14539 = private unnamed_addr constant [4 x i8] c"put\00" @.str14540 = private unnamed_addr constant [9 x i8] c" br i1 \00" @.str14541 = private unnamed_addr constant [10 x i8] c", label %\00" @.str14542 = private unnamed_addr constant [10 x i8] c", label %\00" @.str14543 = private unnamed_addr constant [2 x i8] c"\0A\00" @.str14544 = private unnamed_addr constant [3 x i8] c":\0A\00" @.str14545 = private unnamed_addr constant [14 x i8] c"icmp sge i32 \00" @.str14546 = private unnamed_addr constant [3 x i8] c", \00" @.str14547 = private unnamed_addr constant [8 x i8] c"capover\00" @.str14548 = private unnamed_addr constant [6 x i8] c"capok\00" @.str14549 = private unnamed_addr constant [9 x i8] c" br i1 \00" @.str14550 = private unnamed_addr constant [10 x i8] c", label %\00" @.str14551 = private unnamed_addr constant [10 x i8] c", label %\00" @.str14552 = private unnamed_addr constant [2 x i8] c"\0A\00" @.str14553 = private unnamed_addr constant [3 x i8] c":\0A\00" @.str14554 = private unnamed_addr constant [30 x i8] c" call void @lp_cap_over(ptr \00" @.str14555 = private unnamed_addr constant [7 x i8] c", i32 \00" @.str14556 = private unnamed_addr constant [7 x i8] c", i32 \00" @.str14557 = private unnamed_addr constant [3 x i8] c")\0A\00" @.str14558 = private unnamed_addr constant [13 x i8] c" br label %\00" @.str14559 = private unnamed_addr constant [2 x i8] c"\0A\00" @.str14560 = private unnamed_addr constant [3 x i8] c":\0A\00" @.str14561 = private unnamed_addr constant [9 x i8] c"mul i32 \00" @.str14562 = private unnamed_addr constant [4 x i8] c", 2\00" @.str14563 = private unnamed_addr constant [13 x i8] c"icmp eq i32 \00" @.str14564 = private unnamed_addr constant [4 x i8] c", 0\00" @.str14565 = private unnamed_addr constant [11 x i8] c"select i1 \00" @.str14566 = private unnamed_addr constant [14 x i8] c", i32 8, i32 \00" @.str14567 = private unnamed_addr constant [10 x i8] c"zext i32 \00" @.str14568 = private unnamed_addr constant [8 x i8] c" to i64\00" @.str14569 = private unnamed_addr constant [9 x i8] c"mul i64 \00" @.str14570 = private unnamed_addr constant [3 x i8] c", \00" @.str14571 = private unnamed_addr constant [15 x i8] c"load ptr, ptr \00" @.str14572 = private unnamed_addr constant [26 x i8] c"call ptr @lp_realloc(ptr \00" @.str14573 = private unnamed_addr constant [7 x i8] c", i64 \00" @.str14574 = private unnamed_addr constant [2 x i8] c")\00" @.str14575 = private unnamed_addr constant [13 x i8] c" store ptr \00" @.str14576 = private unnamed_addr constant [7 x i8] c", ptr \00" @.str14577 = private unnamed_addr constant [2 x i8] c"\0A\00" @.str14578 = private unnamed_addr constant [13 x i8] c" store i32 \00" @.str14579 = private unnamed_addr constant [7 x i8] c", ptr \00" @.str14580 = private unnamed_addr constant [2 x i8] c"\0A\00" @.str14581 = private unnamed_addr constant [13 x i8] c" br label %\00" @.str14582 = private unnamed_addr constant [2 x i8] c"\0A\00" @.str14583 = private unnamed_addr constant [3 x i8] c":\0A\00" @.str14584 = private unnamed_addr constant [15 x i8] c"load ptr, ptr \00" @.str14585 = private unnamed_addr constant [3 x i8] c" \00" @.str14586 = private unnamed_addr constant [27 x i8] c" = getelementptr inbounds \00" @.str14587 = private unnamed_addr constant [7 x i8] c", ptr \00" @.str14588 = private unnamed_addr constant [7 x i8] c", i32 \00" @.str14589 = private unnamed_addr constant [2 x i8] c"\0A\00" @.str14590 = private unnamed_addr constant [9 x i8] c" store \00" @.str14591 = private unnamed_addr constant [2 x i8] c" \00" @.str14592 = private unnamed_addr constant [7 x i8] c", ptr \00" @.str14593 = private unnamed_addr constant [2 x i8] c"\0A\00" @.str14594 = private unnamed_addr constant [9 x i8] c"add i32 \00" @.str14595 = private unnamed_addr constant [4 x i8] c", 1\00" @.str14596 = private unnamed_addr constant [13 x i8] c" store i32 \00" @.str14597 = private unnamed_addr constant [7 x i8] c", ptr \00" @.str14598 = private unnamed_addr constant [2 x i8] c"\0A\00" @.str14599 = private unnamed_addr constant [55 x i8] c"build/cfree/selfhost.ludic:22681: index out of range: \00" @.str14600 = private unnamed_addr constant [14 x i8] c"emit_try_body\00" @.str14601 = private unnamed_addr constant [13 x i8] c" store i32 \00" @.str14602 = private unnamed_addr constant [4 x i8] c"int\00" @.str14603 = private unnamed_addr constant [7 x i8] c", ptr \00" @.str14604 = private unnamed_addr constant [2 x i8] c"\0A\00" @.str14605 = private unnamed_addr constant [7 x i8] c"result\00" @.str14606 = private unnamed_addr constant [33 x i8] c"try expects a result value (got \00" @.str14607 = private unnamed_addr constant [9 x i8] c"emit_try\00" @.str14608 = private unnamed_addr constant [12 x i8] c") \E2\80\94 line \00" @.str14609 = private unnamed_addr constant [4 x i8] c"i32\00" @.str14610 = private unnamed_addr constant [20 x i8] c" store i32 0, ptr \00" @.str14611 = private unnamed_addr constant [2 x i8] c"\0A\00" @.str14612 = private unnamed_addr constant [37 x i8] c"getelementptr inbounds %Result, ptr \00" @.str14613 = private unnamed_addr constant [15 x i8] c", i32 0, i32 0\00" @.str14614 = private unnamed_addr constant [15 x i8] c"load i32, ptr \00" @.str14615 = private unnamed_addr constant [13 x i8] c"icmp ne i32 \00" @.str14616 = private unnamed_addr constant [4 x i8] c", 0\00" @.str14617 = private unnamed_addr constant [6 x i8] c"tryok\00" @.str14618 = private unnamed_addr constant [8 x i8] c"tryelse\00" @.str14619 = private unnamed_addr constant [7 x i8] c"tryend\00" @.str14620 = private unnamed_addr constant [9 x i8] c" br i1 \00" @.str14621 = private unnamed_addr constant [10 x i8] c", label %\00" @.str14622 = private unnamed_addr constant [10 x i8] c", label %\00" @.str14623 = private unnamed_addr constant [2 x i8] c"\0A\00" @.str14624 = private unnamed_addr constant [3 x i8] c":\0A\00" @.str14625 = private unnamed_addr constant [37 x i8] c"getelementptr inbounds %Result, ptr \00" @.str14626 = private unnamed_addr constant [15 x i8] c", i32 0, i32 1\00" @.str14627 = private unnamed_addr constant [15 x i8] c"load i32, ptr \00" @.str14628 = private unnamed_addr constant [13 x i8] c" store i32 \00" @.str14629 = private unnamed_addr constant [7 x i8] c", ptr \00" @.str14630 = private unnamed_addr constant [2 x i8] c"\0A\00" @.str14631 = private unnamed_addr constant [13 x i8] c" br label %\00" @.str14632 = private unnamed_addr constant [2 x i8] c"\0A\00" @.str14633 = private unnamed_addr constant [3 x i8] c":\0A\00" @.str14634 = private unnamed_addr constant [37 x i8] c"getelementptr inbounds %Result, ptr \00" @.str14635 = private unnamed_addr constant [15 x i8] c", i32 0, i32 2\00" @.str14636 = private unnamed_addr constant [15 x i8] c"load ptr, ptr \00" @.str14637 = private unnamed_addr constant [4 x i8] c"ptr\00" @.str14638 = private unnamed_addr constant [13 x i8] c" store ptr \00" @.str14639 = private unnamed_addr constant [7 x i8] c", ptr \00" @.str14640 = private unnamed_addr constant [2 x i8] c"\0A\00" @.str14641 = private unnamed_addr constant [6 x i8] c"error\00" @.str14642 = private unnamed_addr constant [7 x i8] c"string\00" @.str14643 = private unnamed_addr constant [13 x i8] c" br label %\00" @.str14644 = private unnamed_addr constant [2 x i8] c"\0A\00" @.str14645 = private unnamed_addr constant [3 x i8] c":\0A\00" @.str14646 = private unnamed_addr constant [15 x i8] c"load i32, ptr \00" @.str14647 = private unnamed_addr constant [4 x i8] c"int\00" @.str14648 = private unnamed_addr constant [6 x i8] c"load \00" @.str14649 = private unnamed_addr constant [13 x i8] c"emit_load_at\00" @.str14650 = private unnamed_addr constant [7 x i8] c", ptr \00" @.str14651 = private unnamed_addr constant [4 x i8] c"i32\00" @.str14652 = private unnamed_addr constant [13 x i8] c"icmp ne i32 \00" @.str14653 = private unnamed_addr constant [11 x i8] c"emit_logic\00" @.str14654 = private unnamed_addr constant [4 x i8] c", 0\00" @.str14655 = private unnamed_addr constant [9 x i8] c"zext i1 \00" @.str14656 = private unnamed_addr constant [8 x i8] c" to i32\00" @.str14657 = private unnamed_addr constant [13 x i8] c" store i32 \00" @.str14658 = private unnamed_addr constant [7 x i8] c", ptr \00" @.str14659 = private unnamed_addr constant [2 x i8] c"\0A\00" @.str14660 = private unnamed_addr constant [3 x i8] c"sc\00" @.str14661 = private unnamed_addr constant [6 x i8] c"scend\00" @.str14662 = private unnamed_addr constant [4 x i8] c"and\00" @.str14663 = private unnamed_addr constant [9 x i8] c" br i1 \00" @.str14664 = private unnamed_addr constant [10 x i8] c", label %\00" @.str14665 = private unnamed_addr constant [10 x i8] c", label %\00" @.str14666 = private unnamed_addr constant [2 x i8] c"\0A\00" @.str14667 = private unnamed_addr constant [9 x i8] c" br i1 \00" @.str14668 = private unnamed_addr constant [10 x i8] c", label %\00" @.str14669 = private unnamed_addr constant [10 x i8] c", label %\00" @.str14670 = private unnamed_addr constant [2 x i8] c"\0A\00" @.str14671 = private unnamed_addr constant [3 x i8] c":\0A\00" @.str14672 = private unnamed_addr constant [13 x i8] c"icmp ne i32 \00" @.str14673 = private unnamed_addr constant [4 x i8] c", 0\00" @.str14674 = private unnamed_addr constant [9 x i8] c"zext i1 \00" @.str14675 = private unnamed_addr constant [8 x i8] c" to i32\00" @.str14676 = private unnamed_addr constant [13 x i8] c" store i32 \00" @.str14677 = private unnamed_addr constant [7 x i8] c", ptr \00" @.str14678 = private unnamed_addr constant [2 x i8] c"\0A\00" @.str14679 = private unnamed_addr constant [13 x i8] c" br label %\00" @.str14680 = private unnamed_addr constant [2 x i8] c"\0A\00" @.str14681 = private unnamed_addr constant [3 x i8] c":\0A\00" @.str14682 = private unnamed_addr constant [15 x i8] c"load i32, ptr \00" @.str14683 = private unnamed_addr constant [5 x i8] c"bool\00" @.str14684 = private unnamed_addr constant [2 x i8] c"<\00" @.str14685 = private unnamed_addr constant [4 x i8] c"slt\00" @.str14686 = private unnamed_addr constant [3 x i8] c"<=\00" @.str14687 = private unnamed_addr constant [4 x i8] c"sle\00" @.str14688 = private unnamed_addr constant [2 x i8] c">\00" @.str14689 = private unnamed_addr constant [4 x i8] c"sgt\00" @.str14690 = private unnamed_addr constant [3 x i8] c">=\00" @.str14691 = private unnamed_addr constant [4 x i8] c"sge\00" @.str14692 = private unnamed_addr constant [3 x i8] c"==\00" @.str14693 = private unnamed_addr constant [3 x i8] c"eq\00" @.str14694 = private unnamed_addr constant [3 x i8] c"ne\00" @.str14695 = private unnamed_addr constant [2 x i8] c"<\00" @.str14696 = private unnamed_addr constant [3 x i8] c"<=\00" @.str14697 = private unnamed_addr constant [2 x i8] c">\00" @.str14698 = private unnamed_addr constant [3 x i8] c">=\00" @.str14699 = private unnamed_addr constant [3 x i8] c"==\00" @.str14700 = private unnamed_addr constant [3 x i8] c"!=\00" @.str14701 = private unnamed_addr constant [2 x i8] c"+\00" @.str14702 = private unnamed_addr constant [4 x i8] c"add\00" @.str14703 = private unnamed_addr constant [2 x i8] c"-\00" @.str14704 = private unnamed_addr constant [4 x i8] c"sub\00" @.str14705 = private unnamed_addr constant [2 x i8] c"*\00" @.str14706 = private unnamed_addr constant [4 x i8] c"mul\00" @.str14707 = private unnamed_addr constant [2 x i8] c"/\00" @.str14708 = private unnamed_addr constant [5 x i8] c"sdiv\00" @.str14709 = private unnamed_addr constant [2 x i8] c"&\00" @.str14710 = private unnamed_addr constant [4 x i8] c"and\00" @.str14711 = private unnamed_addr constant [2 x i8] c"|\00" @.str14712 = private unnamed_addr constant [3 x i8] c"or\00" @.str14713 = private unnamed_addr constant [2 x i8] c"^\00" @.str14714 = private unnamed_addr constant [4 x i8] c"xor\00" @.str14715 = private unnamed_addr constant [3 x i8] c"<<\00" @.str14716 = private unnamed_addr constant [4 x i8] c"shl\00" @.str14717 = private unnamed_addr constant [3 x i8] c">>\00" @.str14718 = private unnamed_addr constant [5 x i8] c"lshr\00" @.str14719 = private unnamed_addr constant [5 x i8] c"srem\00" @.str14720 = private unnamed_addr constant [6 x i8] c"fixed\00" @.str14721 = private unnamed_addr constant [9 x i8] c"shl i32 \00" @.str14722 = private unnamed_addr constant [9 x i8] c"to_fixed\00" @.str14723 = private unnamed_addr constant [5 x i8] c", 16\00" @.str14724 = private unnamed_addr constant [3 x i8] c"a \00" @.str14725 = private unnamed_addr constant [12 x i8] c"coerce_code\00" @.str14726 = private unnamed_addr constant [6 x i8] c" slot\00" @.str14727 = private unnamed_addr constant [3 x i8] c"a \00" @.str14728 = private unnamed_addr constant [11 x i8] c" is not a \00" @.str14729 = private unnamed_addr constant [6 x i8] c"fixed\00" @.str14730 = private unnamed_addr constant [1 x i8] c"\00" @.str14731 = private unnamed_addr constant [4 x i8] c"ptr\00" @.str14732 = private unnamed_addr constant [3 x i8] c"a \00" @.str14733 = private unnamed_addr constant [22 x i8] c" does not convert to \00" @.str14734 = private unnamed_addr constant [41 x i8] c" implicitly \E2\80\94 write int(x) or fixed(x)\00" @.str14735 = private unnamed_addr constant [4 x i8] c"i64\00" @.str14736 = private unnamed_addr constant [4 x i8] c"i32\00" @.str14737 = private unnamed_addr constant [10 x i8] c"sext i32 \00" @.str14738 = private unnamed_addr constant [8 x i8] c" to i64\00" @.str14739 = private unnamed_addr constant [4 x i8] c"i32\00" @.str14740 = private unnamed_addr constant [4 x i8] c"i64\00" @.str14741 = private unnamed_addr constant [11 x i8] c"trunc i64 \00" @.str14742 = private unnamed_addr constant [8 x i8] c" to i32\00" @.str14743 = private unnamed_addr constant [4 x i8] c"i64\00" @.str14744 = private unnamed_addr constant [10 x i8] c"sext i32 \00" @.str14745 = private unnamed_addr constant [8 x i8] c"to_long\00" @.str14746 = private unnamed_addr constant [8 x i8] c" to i64\00" @.str14747 = private unnamed_addr constant [2 x i8] c"+\00" @.str14748 = private unnamed_addr constant [29 x i8] c"call ptr @lp_str_concat(ptr \00" @.str14749 = private unnamed_addr constant [12 x i8] c"emit_str_op\00" @.str14750 = private unnamed_addr constant [7 x i8] c", ptr \00" @.str14751 = private unnamed_addr constant [2 x i8] c")\00" @.str14752 = private unnamed_addr constant [7 x i8] c"string\00" @.str14753 = private unnamed_addr constant [26 x i8] c" call void @lp_free(ptr \00" @.str14754 = private unnamed_addr constant [3 x i8] c")\0A\00" @.str14755 = private unnamed_addr constant [26 x i8] c" call void @lp_free(ptr \00" @.str14756 = private unnamed_addr constant [3 x i8] c")\0A\00" @.str14757 = private unnamed_addr constant [25 x i8] c"call i32 @lp_str_eq(ptr \00" @.str14758 = private unnamed_addr constant [7 x i8] c", ptr \00" @.str14759 = private unnamed_addr constant [2 x i8] c")\00" @.str14760 = private unnamed_addr constant [26 x i8] c" call void @lp_free(ptr \00" @.str14761 = private unnamed_addr constant [3 x i8] c")\0A\00" @.str14762 = private unnamed_addr constant [26 x i8] c" call void @lp_free(ptr \00" @.str14763 = private unnamed_addr constant [3 x i8] c")\0A\00" @.str14764 = private unnamed_addr constant [3 x i8] c"!=\00" @.str14765 = private unnamed_addr constant [13 x i8] c"icmp eq i32 \00" @.str14766 = private unnamed_addr constant [4 x i8] c", 0\00" @.str14767 = private unnamed_addr constant [9 x i8] c"zext i1 \00" @.str14768 = private unnamed_addr constant [8 x i8] c" to i32\00" @.str14769 = private unnamed_addr constant [5 x i8] c"bool\00" @.str14770 = private unnamed_addr constant [5 x i8] c"bool\00" @.str14771 = private unnamed_addr constant [6 x i8] c"fixed\00" @.str14772 = private unnamed_addr constant [5 x i8] c"long\00" @.str14773 = private unnamed_addr constant [4 x i8] c"int\00" @.str14774 = private unnamed_addr constant [4 x i8] c"and\00" @.str14775 = private unnamed_addr constant [3 x i8] c"or\00" @.str14776 = private unnamed_addr constant [7 x i8] c"string\00" @.str14777 = private unnamed_addr constant [8 x i8] c"pointer\00" @.str14778 = private unnamed_addr constant [4 x i8] c"ptr\00" @.str14779 = private unnamed_addr constant [4 x i8] c"Key\00" @.str14780 = private unnamed_addr constant [4 x i8] c"ptr\00" @.str14781 = private unnamed_addr constant [4 x i8] c"ptr\00" @.str14782 = private unnamed_addr constant [2 x i8] c"+\00" @.str14783 = private unnamed_addr constant [2 x i8] c"+\00" @.str14784 = private unnamed_addr constant [3 x i8] c"==\00" @.str14785 = private unnamed_addr constant [3 x i8] c"!=\00" @.str14786 = private unnamed_addr constant [7 x i8] c"string\00" @.str14787 = private unnamed_addr constant [4 x i8] c"ptr\00" @.str14788 = private unnamed_addr constant [7 x i8] c"string\00" @.str14789 = private unnamed_addr constant [4 x i8] c"ptr\00" @.str14790 = private unnamed_addr constant [16 x i8] c"cannot compare \00" @.str14791 = private unnamed_addr constant [14 x i8] c"emit_bin_vals\00" @.str14792 = private unnamed_addr constant [7 x i8] c" with \00" @.str14793 = private unnamed_addr constant [8 x i8] c" using \00" @.str14794 = private unnamed_addr constant [59 x i8] c": strings compare by content, other references by identity\00" @.str14795 = private unnamed_addr constant [6 x i8] c"fixed\00" @.str14796 = private unnamed_addr constant [6 x i8] c"fixed\00" @.str14797 = private unnamed_addr constant [4 x i8] c"i64\00" @.str14798 = private unnamed_addr constant [4 x i8] c"i64\00" @.str14799 = private unnamed_addr constant [4 x i8] c"i32\00" @.str14800 = private unnamed_addr constant [4 x i8] c"i64\00" @.str14801 = private unnamed_addr constant [4 x i8] c"ptr\00" @.str14802 = private unnamed_addr constant [4 x i8] c"ptr\00" @.str14803 = private unnamed_addr constant [4 x i8] c"ptr\00" @.str14804 = private unnamed_addr constant [6 x i8] c"icmp \00" @.str14805 = private unnamed_addr constant [2 x i8] c" \00" @.str14806 = private unnamed_addr constant [2 x i8] c" \00" @.str14807 = private unnamed_addr constant [3 x i8] c", \00" @.str14808 = private unnamed_addr constant [9 x i8] c"zext i1 \00" @.str14809 = private unnamed_addr constant [8 x i8] c" to i32\00" @.str14810 = private unnamed_addr constant [5 x i8] c"bool\00" @.str14811 = private unnamed_addr constant [6 x i8] c" i64 \00" @.str14812 = private unnamed_addr constant [3 x i8] c", \00" @.str14813 = private unnamed_addr constant [5 x i8] c"long\00" @.str14814 = private unnamed_addr constant [2 x i8] c"*\00" @.str14815 = private unnamed_addr constant [10 x i8] c"sext i32 \00" @.str14816 = private unnamed_addr constant [8 x i8] c" to i64\00" @.str14817 = private unnamed_addr constant [10 x i8] c"sext i32 \00" @.str14818 = private unnamed_addr constant [8 x i8] c" to i64\00" @.str14819 = private unnamed_addr constant [9 x i8] c"mul i64 \00" @.str14820 = private unnamed_addr constant [3 x i8] c", \00" @.str14821 = private unnamed_addr constant [10 x i8] c"ashr i64 \00" @.str14822 = private unnamed_addr constant [5 x i8] c", 16\00" @.str14823 = private unnamed_addr constant [11 x i8] c"trunc i64 \00" @.str14824 = private unnamed_addr constant [8 x i8] c" to i32\00" @.str14825 = private unnamed_addr constant [6 x i8] c"fixed\00" @.str14826 = private unnamed_addr constant [2 x i8] c"/\00" @.str14827 = private unnamed_addr constant [10 x i8] c"sext i32 \00" @.str14828 = private unnamed_addr constant [8 x i8] c" to i64\00" @.str14829 = private unnamed_addr constant [9 x i8] c"shl i64 \00" @.str14830 = private unnamed_addr constant [5 x i8] c", 16\00" @.str14831 = private unnamed_addr constant [10 x i8] c"sext i32 \00" @.str14832 = private unnamed_addr constant [8 x i8] c" to i64\00" @.str14833 = private unnamed_addr constant [10 x i8] c"sdiv i64 \00" @.str14834 = private unnamed_addr constant [3 x i8] c", \00" @.str14835 = private unnamed_addr constant [11 x i8] c"trunc i64 \00" @.str14836 = private unnamed_addr constant [8 x i8] c" to i32\00" @.str14837 = private unnamed_addr constant [6 x i8] c"fixed\00" @.str14838 = private unnamed_addr constant [6 x i8] c" i32 \00" @.str14839 = private unnamed_addr constant [3 x i8] c", \00" @.str14840 = private unnamed_addr constant [6 x i8] c"fixed\00" @.str14841 = private unnamed_addr constant [6 x i8] c" i32 \00" @.str14842 = private unnamed_addr constant [3 x i8] c", \00" @.str14843 = private unnamed_addr constant [4 x i8] c"int\00" @.str14844 = private unnamed_addr constant [55 x i8] c"build/cfree/selfhost.ludic:22918: index out of range: \00" @.str14845 = private unnamed_addr constant [15 x i8] c"args_are_named\00" @.str14846 = private unnamed_addr constant [55 x i8] c"build/cfree/selfhost.ludic:22925: index out of range: \00" @.str14847 = private unnamed_addr constant [14 x i8] c"reorder_named\00" @.str14848 = private unnamed_addr constant [59 x i8] c"named and positional arguments cannot be mixed in one call\00" @.str14849 = private unnamed_addr constant [26 x i8] c"wrong number of arguments\00" @.str14850 = private unnamed_addr constant [55 x i8] c"build/cfree/selfhost.ludic:22934: index out of range: \00" @.str14851 = private unnamed_addr constant [55 x i8] c"build/cfree/selfhost.ludic:22934: index out of range: \00" @.str14852 = private unnamed_addr constant [55 x i8] c"build/cfree/selfhost.ludic:22934: index out of range: \00" @.str14853 = private unnamed_addr constant [19 x i8] c"no argument named \00" @.str14854 = private unnamed_addr constant [55 x i8] c"build/cfree/selfhost.ludic:22935: index out of range: \00" @.str14855 = private unnamed_addr constant [13 x i8] c"param_labels\00" @.str14856 = private unnamed_addr constant [55 x i8] c"build/cfree/selfhost.ludic:22945: index out of range: \00" @.str14857 = private unnamed_addr constant [55 x i8] c"build/cfree/selfhost.ludic:22945: index out of range: \00" @.str14858 = private unnamed_addr constant [12 x i8] c"param_types\00" @.str14859 = private unnamed_addr constant [55 x i8] c"build/cfree/selfhost.ludic:22952: index out of range: \00" @.str14860 = private unnamed_addr constant [55 x i8] c"build/cfree/selfhost.ludic:22952: index out of range: \00" @.str14861 = private unnamed_addr constant [5 x i8] c"exok\00" @.str14862 = private unnamed_addr constant [6 x i8] c"exbad\00" @.str14863 = private unnamed_addr constant [9 x i8] c" br i1 \00" @.str14864 = private unnamed_addr constant [17 x i8] c"emit_expect_fail\00" @.str14865 = private unnamed_addr constant [10 x i8] c", label %\00" @.str14866 = private unnamed_addr constant [10 x i8] c", label %\00" @.str14867 = private unnamed_addr constant [2 x i8] c"\0A\00" @.str14868 = private unnamed_addr constant [3 x i8] c":\0A\00" @.str14869 = private unnamed_addr constant [33 x i8] c" store i32 1, ptr @L_test_fail\0A\00" @.str14870 = private unnamed_addr constant [1 x i8] c"\00" @.str14871 = private unnamed_addr constant [51 x i8] c" call i32 (ptr, ...) @printf(ptr @.fmt_line, ptr \00" @.str14872 = private unnamed_addr constant [3 x i8] c")\0A\00" @.str14873 = private unnamed_addr constant [53 x i8] c" call i32 (ptr, ...) @printf(ptr @.fmt_expect, ptr \00" @.str14874 = private unnamed_addr constant [7 x i8] c", i32 \00" @.str14875 = private unnamed_addr constant [7 x i8] c", i32 \00" @.str14876 = private unnamed_addr constant [3 x i8] c")\0A\00" @.str14877 = private unnamed_addr constant [13 x i8] c" br label %\00" @.str14878 = private unnamed_addr constant [2 x i8] c"\0A\00" @.str14879 = private unnamed_addr constant [3 x i8] c":\0A\00" @.str14880 = private unnamed_addr constant [6 x i8] c"float\00" @.str14881 = private unnamed_addr constant [7 x i8] c"double\00" @.str14882 = private unnamed_addr constant [7 x i8] c"double\00" @.str14883 = private unnamed_addr constant [7 x i8] c"double\00" @.str14884 = private unnamed_addr constant [7 x i8] c"double\00" @.str14885 = private unnamed_addr constant [7 x i8] c"double\00" @.str14886 = private unnamed_addr constant [7 x i8] c"expect\00" @.str14887 = private unnamed_addr constant [7 x i8] c"expect\00" @.str14888 = private unnamed_addr constant [1 x i8] c"\00" @.str14889 = private unnamed_addr constant [10 x i8] c"expect_eq\00" @.str14890 = private unnamed_addr constant [10 x i8] c"fcmp oeq \00" @.str14891 = private unnamed_addr constant [15 x i8] c"emit_expect_fp\00" @.str14892 = private unnamed_addr constant [2 x i8] c" \00" @.str14893 = private unnamed_addr constant [3 x i8] c", \00" @.str14894 = private unnamed_addr constant [12 x i8] c"expect_near\00" @.str14895 = private unnamed_addr constant [12 x i8] c"expect_near\00" @.str14896 = private unnamed_addr constant [6 x i8] c"fsub \00" @.str14897 = private unnamed_addr constant [2 x i8] c" \00" @.str14898 = private unnamed_addr constant [3 x i8] c", \00" @.str14899 = private unnamed_addr constant [6 x i8] c"fneg \00" @.str14900 = private unnamed_addr constant [2 x i8] c" \00" @.str14901 = private unnamed_addr constant [10 x i8] c"fcmp olt \00" @.str14902 = private unnamed_addr constant [2 x i8] c" \00" @.str14903 = private unnamed_addr constant [6 x i8] c", 0.0\00" @.str14904 = private unnamed_addr constant [11 x i8] c"select i1 \00" @.str14905 = private unnamed_addr constant [3 x i8] c", \00" @.str14906 = private unnamed_addr constant [2 x i8] c" \00" @.str14907 = private unnamed_addr constant [3 x i8] c", \00" @.str14908 = private unnamed_addr constant [2 x i8] c" \00" @.str14909 = private unnamed_addr constant [10 x i8] c"fcmp ole \00" @.str14910 = private unnamed_addr constant [2 x i8] c" \00" @.str14911 = private unnamed_addr constant [3 x i8] c", \00" @.str14912 = private unnamed_addr constant [3 x i8] c": \00" @.str14913 = private unnamed_addr constant [8 x i8] c" failed\00" @.str14914 = private unnamed_addr constant [6 x i8] c"float\00" @.str14915 = private unnamed_addr constant [13 x i8] c"fpext float \00" @.str14916 = private unnamed_addr constant [11 x i8] c" to double\00" @.str14917 = private unnamed_addr constant [13 x i8] c"fpext float \00" @.str14918 = private unnamed_addr constant [11 x i8] c" to double\00" @.str14919 = private unnamed_addr constant [5 x i8] c"exok\00" @.str14920 = private unnamed_addr constant [6 x i8] c"exbad\00" @.str14921 = private unnamed_addr constant [9 x i8] c" br i1 \00" @.str14922 = private unnamed_addr constant [10 x i8] c", label %\00" @.str14923 = private unnamed_addr constant [10 x i8] c", label %\00" @.str14924 = private unnamed_addr constant [2 x i8] c"\0A\00" @.str14925 = private unnamed_addr constant [3 x i8] c":\0A\00" @.str14926 = private unnamed_addr constant [33 x i8] c" store i32 1, ptr @L_test_fail\0A\00" @.str14927 = private unnamed_addr constant [56 x i8] c" call i32 (ptr, ...) @printf(ptr @.fmt_expect_fp, ptr \00" @.str14928 = private unnamed_addr constant [10 x i8] c", double \00" @.str14929 = private unnamed_addr constant [10 x i8] c", double \00" @.str14930 = private unnamed_addr constant [3 x i8] c")\0A\00" @.str14931 = private unnamed_addr constant [13 x i8] c" br label %\00" @.str14932 = private unnamed_addr constant [2 x i8] c"\0A\00" @.str14933 = private unnamed_addr constant [3 x i8] c":\0A\00" @.str14934 = private unnamed_addr constant [2 x i8] c"0\00" @.str14935 = private unnamed_addr constant [5 x i8] c"void\00" @.str14936 = private unnamed_addr constant [13 x i8] c"icmp eq ptr \00" @.str14937 = private unnamed_addr constant [16 x i8] c"emit_expect_str\00" @.str14938 = private unnamed_addr constant [7 x i8] c", null\00" @.str14939 = private unnamed_addr constant [13 x i8] c"icmp eq ptr \00" @.str14940 = private unnamed_addr constant [7 x i8] c", null\00" @.str14941 = private unnamed_addr constant [7 x i8] c"or i1 \00" @.str14942 = private unnamed_addr constant [3 x i8] c", \00" @.str14943 = private unnamed_addr constant [13 x i8] c"icmp eq ptr \00" @.str14944 = private unnamed_addr constant [3 x i8] c", \00" @.str14945 = private unnamed_addr constant [1 x i8] c"\00" @.str14946 = private unnamed_addr constant [11 x i8] c"select i1 \00" @.str14947 = private unnamed_addr constant [7 x i8] c", ptr \00" @.str14948 = private unnamed_addr constant [7 x i8] c", ptr \00" @.str14949 = private unnamed_addr constant [11 x i8] c"select i1 \00" @.str14950 = private unnamed_addr constant [7 x i8] c", ptr \00" @.str14951 = private unnamed_addr constant [7 x i8] c", ptr \00" @.str14952 = private unnamed_addr constant [22 x i8] c"call i32 @strcmp(ptr \00" @.str14953 = private unnamed_addr constant [7 x i8] c", ptr \00" @.str14954 = private unnamed_addr constant [2 x i8] c")\00" @.str14955 = private unnamed_addr constant [13 x i8] c"icmp eq i32 \00" @.str14956 = private unnamed_addr constant [4 x i8] c", 0\00" @.str14957 = private unnamed_addr constant [11 x i8] c"select i1 \00" @.str14958 = private unnamed_addr constant [6 x i8] c", i1 \00" @.str14959 = private unnamed_addr constant [6 x i8] c", i1 \00" @.str14960 = private unnamed_addr constant [19 x i8] c": expect_eq failed\00" @.str14961 = private unnamed_addr constant [7 x i8] c"\00" @.str14962 = private unnamed_addr constant [5 x i8] c"exok\00" @.str14963 = private unnamed_addr constant [6 x i8] c"exbad\00" @.str14964 = private unnamed_addr constant [9 x i8] c" br i1 \00" @.str14965 = private unnamed_addr constant [10 x i8] c", label %\00" @.str14966 = private unnamed_addr constant [10 x i8] c", label %\00" @.str14967 = private unnamed_addr constant [2 x i8] c"\0A\00" @.str14968 = private unnamed_addr constant [3 x i8] c":\0A\00" @.str14969 = private unnamed_addr constant [33 x i8] c" store i32 1, ptr @L_test_fail\0A\00" @.str14970 = private unnamed_addr constant [11 x i8] c"select i1 \00" @.str14971 = private unnamed_addr constant [7 x i8] c", ptr \00" @.str14972 = private unnamed_addr constant [7 x i8] c", ptr \00" @.str14973 = private unnamed_addr constant [11 x i8] c"select i1 \00" @.str14974 = private unnamed_addr constant [7 x i8] c", ptr \00" @.str14975 = private unnamed_addr constant [7 x i8] c", ptr \00" @.str14976 = private unnamed_addr constant [57 x i8] c" call i32 (ptr, ...) @printf(ptr @.fmt_expect_str, ptr \00" @.str14977 = private unnamed_addr constant [7 x i8] c", ptr \00" @.str14978 = private unnamed_addr constant [7 x i8] c", ptr \00" @.str14979 = private unnamed_addr constant [3 x i8] c")\0A\00" @.str14980 = private unnamed_addr constant [13 x i8] c" br label %\00" @.str14981 = private unnamed_addr constant [2 x i8] c"\0A\00" @.str14982 = private unnamed_addr constant [3 x i8] c":\0A\00" @.str14983 = private unnamed_addr constant [2 x i8] c"0\00" @.str14984 = private unnamed_addr constant [5 x i8] c"void\00" @.str14985 = private unnamed_addr constant [2 x i8] c":\00" @.str14986 = private unnamed_addr constant [13 x i8] c"expect_where\00" @.str14987 = private unnamed_addr constant [2 x i8] c":\00" @.str14988 = private unnamed_addr constant [9 x i8] c"ns_lower\00" @.str14989 = private unnamed_addr constant [12 x i8] c"despawn_all\00" @.str14990 = private unnamed_addr constant [32 x i8] c".despawn_all takes no arguments\00" @.str14991 = private unnamed_addr constant [22 x i8] c"emit_component_access\00" @.str14992 = private unnamed_addr constant [7 x i8] c"__each\00" @.str14993 = private unnamed_addr constant [5 x i8] c"self\00" @.str14994 = private unnamed_addr constant [2 x i8] c"0\00" @.str14995 = private unnamed_addr constant [5 x i8] c"void\00" @.str14996 = private unnamed_addr constant [6 x i8] c"count\00" @.str14997 = private unnamed_addr constant [26 x i8] c".count takes no arguments\00" @.str14998 = private unnamed_addr constant [4 x i8] c"i32\00" @.str14999 = private unnamed_addr constant [4 x i8] c"i32\00" @.str15000 = private unnamed_addr constant [2 x i8] c"0\00" @.str15001 = private unnamed_addr constant [4 x i8] c"i32\00" @.str15002 = private unnamed_addr constant [4 x i8] c"i32\00" @.str15003 = private unnamed_addr constant [2 x i8] c"0\00" @.str15004 = private unnamed_addr constant [3 x i8] c"cc\00" @.str15005 = private unnamed_addr constant [3 x i8] c"cb\00" @.str15006 = private unnamed_addr constant [3 x i8] c"cn\00" @.str15007 = private unnamed_addr constant [3 x i8] c"ce\00" @.str15008 = private unnamed_addr constant [13 x i8] c" br label %\00" @.str15009 = private unnamed_addr constant [2 x i8] c"\0A\00" @.str15010 = private unnamed_addr constant [3 x i8] c":\0A\00" @.str15011 = private unnamed_addr constant [15 x i8] c"load i32, ptr \00" @.str15012 = private unnamed_addr constant [22 x i8] c"load i32, ptr @L_entc\00" @.str15013 = private unnamed_addr constant [14 x i8] c"icmp slt i32 \00" @.str15014 = private unnamed_addr constant [3 x i8] c", \00" @.str15015 = private unnamed_addr constant [9 x i8] c" br i1 \00" @.str15016 = private unnamed_addr constant [10 x i8] c", label %\00" @.str15017 = private unnamed_addr constant [10 x i8] c", label %\00" @.str15018 = private unnamed_addr constant [2 x i8] c"\0A\00" @.str15019 = private unnamed_addr constant [3 x i8] c":\0A\00" @.str15020 = private unnamed_addr constant [8 x i8] c"L_alive\00" @.str15021 = private unnamed_addr constant [33 x i8] c"getelementptr inbounds i32, ptr \00" @.str15022 = private unnamed_addr constant [7 x i8] c", i32 \00" @.str15023 = private unnamed_addr constant [15 x i8] c"load i32, ptr \00" @.str15024 = private unnamed_addr constant [3 x i8] c"H_\00" @.str15025 = private unnamed_addr constant [32 x i8] c"getelementptr inbounds i8, ptr \00" @.str15026 = private unnamed_addr constant [7 x i8] c", i32 \00" @.str15027 = private unnamed_addr constant [14 x i8] c"load i8, ptr \00" @.str15028 = private unnamed_addr constant [9 x i8] c"zext i8 \00" @.str15029 = private unnamed_addr constant [8 x i8] c" to i32\00" @.str15030 = private unnamed_addr constant [9 x i8] c"and i32 \00" @.str15031 = private unnamed_addr constant [3 x i8] c", \00" @.str15032 = private unnamed_addr constant [15 x i8] c"load i32, ptr \00" @.str15033 = private unnamed_addr constant [9 x i8] c"add i32 \00" @.str15034 = private unnamed_addr constant [3 x i8] c", \00" @.str15035 = private unnamed_addr constant [4 x i8] c"i32\00" @.str15036 = private unnamed_addr constant [13 x i8] c" br label %\00" @.str15037 = private unnamed_addr constant [2 x i8] c"\0A\00" @.str15038 = private unnamed_addr constant [3 x i8] c":\0A\00" @.str15039 = private unnamed_addr constant [9 x i8] c"add i32 \00" @.str15040 = private unnamed_addr constant [4 x i8] c", 1\00" @.str15041 = private unnamed_addr constant [4 x i8] c"i32\00" @.str15042 = private unnamed_addr constant [13 x i8] c" br label %\00" @.str15043 = private unnamed_addr constant [2 x i8] c"\0A\00" @.str15044 = private unnamed_addr constant [3 x i8] c":\0A\00" @.str15045 = private unnamed_addr constant [15 x i8] c"load i32, ptr \00" @.str15046 = private unnamed_addr constant [4 x i8] c"int\00" @.str15047 = private unnamed_addr constant [2 x i8] c".\00" @.str15048 = private unnamed_addr constant [32 x i8] c" takes one argument: the entity\00" @.str15049 = private unnamed_addr constant [55 x i8] c"build/cfree/selfhost.ludic:23112: index out of range: \00" @.str15050 = private unnamed_addr constant [3 x i8] c"of\00" @.str15051 = private unnamed_addr constant [3 x i8] c"S_\00" @.str15052 = private unnamed_addr constant [29 x i8] c"getelementptr inbounds %Cmp_\00" @.str15053 = private unnamed_addr constant [7 x i8] c", ptr \00" @.str15054 = private unnamed_addr constant [7 x i8] c", i32 \00" @.str15055 = private unnamed_addr constant [21 x i8] c"load i32, ptr @L_cap\00" @.str15056 = private unnamed_addr constant [14 x i8] c"icmp ult i32 \00" @.str15057 = private unnamed_addr constant [3 x i8] c", \00" @.str15058 = private unnamed_addr constant [11 x i8] c"select i1 \00" @.str15059 = private unnamed_addr constant [7 x i8] c", i32 \00" @.str15060 = private unnamed_addr constant [8 x i8] c", i32 0\00" @.str15061 = private unnamed_addr constant [8 x i8] c"L_alive\00" @.str15062 = private unnamed_addr constant [33 x i8] c"getelementptr inbounds i32, ptr \00" @.str15063 = private unnamed_addr constant [7 x i8] c", i32 \00" @.str15064 = private unnamed_addr constant [15 x i8] c"load i32, ptr \00" @.str15065 = private unnamed_addr constant [13 x i8] c"icmp ne i32 \00" @.str15066 = private unnamed_addr constant [4 x i8] c", 0\00" @.str15067 = private unnamed_addr constant [3 x i8] c"H_\00" @.str15068 = private unnamed_addr constant [32 x i8] c"getelementptr inbounds i8, ptr \00" @.str15069 = private unnamed_addr constant [7 x i8] c", i32 \00" @.str15070 = private unnamed_addr constant [14 x i8] c"load i8, ptr \00" @.str15071 = private unnamed_addr constant [12 x i8] c"icmp ne i8 \00" @.str15072 = private unnamed_addr constant [4 x i8] c", 0\00" @.str15073 = private unnamed_addr constant [8 x i8] c"and i1 \00" @.str15074 = private unnamed_addr constant [3 x i8] c", \00" @.str15075 = private unnamed_addr constant [8 x i8] c"and i1 \00" @.str15076 = private unnamed_addr constant [3 x i8] c", \00" @.str15077 = private unnamed_addr constant [9 x i8] c"zext i1 \00" @.str15078 = private unnamed_addr constant [8 x i8] c" to i32\00" @.str15079 = private unnamed_addr constant [5 x i8] c"bool\00" @.str15080 = private unnamed_addr constant [55 x i8] c"build/cfree/selfhost.ludic:23138: index out of range: \00" @.str15081 = private unnamed_addr constant [18 x i8] c"first_arg_is_text\00" @.str15082 = private unnamed_addr constant [5 x i8] c"name\00" @.str15083 = private unnamed_addr constant [7 x i8] c"string\00" @.str15084 = private unnamed_addr constant [1 x i8] c"\00" @.str15085 = private unnamed_addr constant [17 x i8] c"unknown builtin \00" @.str15086 = private unnamed_addr constant [19 x i8] c"emit_alias_or_fail\00" @.str15087 = private unnamed_addr constant [2 x i8] c".\00" @.str15088 = private unnamed_addr constant [3 x i8] c"of\00" @.str15089 = private unnamed_addr constant [4 x i8] c"has\00" @.str15090 = private unnamed_addr constant [6 x i8] c"count\00" @.str15091 = private unnamed_addr constant [12 x i8] c"despawn_all\00" @.str15092 = private unnamed_addr constant [2 x i8] c"_\00" @.str15093 = private unnamed_addr constant [13 x i8] c"emit_ns_call\00" @.str15094 = private unnamed_addr constant [5 x i8] c"Math\00" @.str15095 = private unnamed_addr constant [5 x i8] c"Math\00" @.str15096 = private unnamed_addr constant [5 x i8] c"Text\00" @.str15097 = private unnamed_addr constant [5 x i8] c"Text\00" @.str15098 = private unnamed_addr constant [5 x i8] c"List\00" @.str15099 = private unnamed_addr constant [5 x i8] c"List\00" @.str15100 = private unnamed_addr constant [5 x i8] c"Ease\00" @.str15101 = private unnamed_addr constant [5 x i8] c"Ease\00" @.str15102 = private unnamed_addr constant [5 x i8] c"Anim\00" @.str15103 = private unnamed_addr constant [6 x i8] c"Tween\00" @.str15104 = private unnamed_addr constant [10 x i8] c"Collision\00" @.str15105 = private unnamed_addr constant [10 x i8] c"Collision\00" @.str15106 = private unnamed_addr constant [7 x i8] c"Memory\00" @.str15107 = private unnamed_addr constant [7 x i8] c"Memory\00" @.str15108 = private unnamed_addr constant [6 x i8] c"Color\00" @.str15109 = private unnamed_addr constant [6 x i8] c"Color\00" @.str15110 = private unnamed_addr constant [5 x i8] c"Time\00" @.str15111 = private unnamed_addr constant [5 x i8] c"Time\00" @.str15112 = private unnamed_addr constant [5 x i8] c"Hash\00" @.str15113 = private unnamed_addr constant [5 x i8] c"Hash\00" @.str15114 = private unnamed_addr constant [7 x i8] c"Crypto\00" @.str15115 = private unnamed_addr constant [7 x i8] c"Crypto\00" @.str15116 = private unnamed_addr constant [5 x i8] c"Uuid\00" @.str15117 = private unnamed_addr constant [5 x i8] c"Uuid\00" @.str15118 = private unnamed_addr constant [6 x i8] c"Noise\00" @.str15119 = private unnamed_addr constant [6 x i8] c"Noise\00" @.str15120 = private unnamed_addr constant [4 x i8] c"Log\00" @.str15121 = private unnamed_addr constant [4 x i8] c"Log\00" @.str15122 = private unnamed_addr constant [4 x i8] c"Mem\00" @.str15123 = private unnamed_addr constant [4 x i8] c"Mem\00" @.str15124 = private unnamed_addr constant [3 x i8] c"Os\00" @.str15125 = private unnamed_addr constant [3 x i8] c"Os\00" @.str15126 = private unnamed_addr constant [8 x i8] c"Unicode\00" @.str15127 = private unnamed_addr constant [8 x i8] c"Unicode\00" @.str15128 = private unnamed_addr constant [3 x i8] c"Fs\00" @.str15129 = private unnamed_addr constant [3 x i8] c"Fs\00" @.str15130 = private unnamed_addr constant [5 x i8] c"Path\00" @.str15131 = private unnamed_addr constant [5 x i8] c"Path\00" @.str15132 = private unnamed_addr constant [6 x i8] c"Build\00" @.str15133 = private unnamed_addr constant [6 x i8] c"Build\00" @.str15134 = private unnamed_addr constant [5 x i8] c"Mime\00" @.str15135 = private unnamed_addr constant [5 x i8] c"Mime\00" @.str15136 = private unnamed_addr constant [7 x i8] c"Vector\00" @.str15137 = private unnamed_addr constant [7 x i8] c"Vector\00" @.str15138 = private unnamed_addr constant [6 x i8] c"IVec2\00" @.str15139 = private unnamed_addr constant [6 x i8] c"IVec2\00" @.str15140 = private unnamed_addr constant [5 x i8] c"Rect\00" @.str15141 = private unnamed_addr constant [5 x i8] c"Rect\00" @.str15142 = private unnamed_addr constant [9 x i8] c"Duration\00" @.str15143 = private unnamed_addr constant [9 x i8] c"Duration\00" @.str15144 = private unnamed_addr constant [5 x i8] c"Date\00" @.str15145 = private unnamed_addr constant [5 x i8] c"Date\00" @.str15146 = private unnamed_addr constant [9 x i8] c"DateTime\00" @.str15147 = private unnamed_addr constant [9 x i8] c"DateTime\00" @.str15148 = private unnamed_addr constant [6 x i8] c"Clock\00" @.str15149 = private unnamed_addr constant [6 x i8] c"Clock\00" @.str15150 = private unnamed_addr constant [4 x i8] c"App\00" @.str15151 = private unnamed_addr constant [12 x i8] c"splash_hide\00" @.str15152 = private unnamed_addr constant [28 x i8] c" call void @splash_hide()\0A\00" @.str15153 = private unnamed_addr constant [2 x i8] c"0\00" @.str15154 = private unnamed_addr constant [5 x i8] c"void\00" @.str15155 = private unnamed_addr constant [9 x i8] c"set_icon\00" @.str15156 = private unnamed_addr constant [30 x i8] c" call void @lp_app_icon(ptr \00" @.str15157 = private unnamed_addr constant [3 x i8] c")\0A\00" @.str15158 = private unnamed_addr constant [2 x i8] c"0\00" @.str15159 = private unnamed_addr constant [5 x i8] c"void\00" @.str15160 = private unnamed_addr constant [14 x i8] c"monitor_count\00" @.str15161 = private unnamed_addr constant [30 x i8] c"call i32 @win_monitor_count()\00" @.str15162 = private unnamed_addr constant [4 x i8] c"int\00" @.str15163 = private unnamed_addr constant [2 x i8] c"1\00" @.str15164 = private unnamed_addr constant [4 x i8] c"int\00" @.str15165 = private unnamed_addr constant [18 x i8] c"window_to_monitor\00" @.str15166 = private unnamed_addr constant [40 x i8] c" call void @app_window_to_monitor(i32 \00" @.str15167 = private unnamed_addr constant [3 x i8] c")\0A\00" @.str15168 = private unnamed_addr constant [2 x i8] c"0\00" @.str15169 = private unnamed_addr constant [5 x i8] c"void\00" @.str15170 = private unnamed_addr constant [13 x i8] c"window_fixed\00" @.str15171 = private unnamed_addr constant [35 x i8] c" call void @app_window_fixed(i32 \00" @.str15172 = private unnamed_addr constant [3 x i8] c")\0A\00" @.str15173 = private unnamed_addr constant [2 x i8] c"0\00" @.str15174 = private unnamed_addr constant [5 x i8] c"void\00" @.str15175 = private unnamed_addr constant [12 x i8] c"window_hide\00" @.str15176 = private unnamed_addr constant [12 x i8] c"window_show\00" @.str15177 = private unnamed_addr constant [18 x i8] c" call void @app_\00" @.str15178 = private unnamed_addr constant [4 x i8] c"()\0A\00" @.str15179 = private unnamed_addr constant [2 x i8] c"0\00" @.str15180 = private unnamed_addr constant [5 x i8] c"void\00" @.str15181 = private unnamed_addr constant [4 x i8] c"App\00" @.str15182 = private unnamed_addr constant [5 x i8] c"Pool\00" @.str15183 = private unnamed_addr constant [9 x i8] c"capacity\00" @.str15184 = private unnamed_addr constant [21 x i8] c"load i32, ptr @L_cap\00" @.str15185 = private unnamed_addr constant [4 x i8] c"int\00" @.str15186 = private unnamed_addr constant [9 x i8] c"reserved\00" @.str15187 = private unnamed_addr constant [22 x i8] c"load i32, ptr @L_entc\00" @.str15188 = private unnamed_addr constant [4 x i8] c"int\00" @.str15189 = private unnamed_addr constant [5 x i8] c"free\00" @.str15190 = private unnamed_addr constant [23 x i8] c"load i32, ptr @L_freen\00" @.str15191 = private unnamed_addr constant [4 x i8] c"int\00" @.str15192 = private unnamed_addr constant [5 x i8] c"live\00" @.str15193 = private unnamed_addr constant [22 x i8] c"load i32, ptr @L_entc\00" @.str15194 = private unnamed_addr constant [23 x i8] c"load i32, ptr @L_freen\00" @.str15195 = private unnamed_addr constant [9 x i8] c"sub i32 \00" @.str15196 = private unnamed_addr constant [3 x i8] c", \00" @.str15197 = private unnamed_addr constant [4 x i8] c"int\00" @.str15198 = private unnamed_addr constant [5 x i8] c"Pool\00" @.str15199 = private unnamed_addr constant [7 x i8] c"Prefab\00" @.str15200 = private unnamed_addr constant [9 x i8] c"spawn_at\00" @.str15201 = private unnamed_addr constant [48 x i8] c"Prefab.spawn_at: the program declares no prefab\00" @.str15202 = private unnamed_addr constant [9 x i8] c"Position\00" @.str15203 = private unnamed_addr constant [42 x i8] c"Prefab.spawn_at needs a Position property\00" @.str15204 = private unnamed_addr constant [5 x i8] c"name\00" @.str15205 = private unnamed_addr constant [3 x i8] c"at\00" @.str15206 = private unnamed_addr constant [55 x i8] c"build/cfree/selfhost.ludic:23381: index out of range: \00" @.str15207 = private unnamed_addr constant [55 x i8] c"build/cfree/selfhost.ludic:23382: index out of range: \00" @.str15208 = private unnamed_addr constant [30 x i8] c"call i32 @L_spawn_prefab(ptr \00" @.str15209 = private unnamed_addr constant [2 x i8] c")\00" @.str15210 = private unnamed_addr constant [11 x i8] c"S_Position\00" @.str15211 = private unnamed_addr constant [43 x i8] c"getelementptr inbounds %Cmp_Position, ptr \00" @.str15212 = private unnamed_addr constant [7 x i8] c", i32 \00" @.str15213 = private unnamed_addr constant [43 x i8] c"getelementptr inbounds %Cmp_Position, ptr \00" @.str15214 = private unnamed_addr constant [14 x i8] c", i32 0, i32 \00" @.str15215 = private unnamed_addr constant [2 x i8] c"x\00" @.str15216 = private unnamed_addr constant [43 x i8] c"getelementptr inbounds %Cmp_Position, ptr \00" @.str15217 = private unnamed_addr constant [14 x i8] c", i32 0, i32 \00" @.str15218 = private unnamed_addr constant [2 x i8] c"y\00" @.str15219 = private unnamed_addr constant [13 x i8] c" store i32 \00" @.str15220 = private unnamed_addr constant [7 x i8] c", ptr \00" @.str15221 = private unnamed_addr constant [2 x i8] c"\0A\00" @.str15222 = private unnamed_addr constant [13 x i8] c" store i32 \00" @.str15223 = private unnamed_addr constant [7 x i8] c", ptr \00" @.str15224 = private unnamed_addr constant [2 x i8] c"\0A\00" @.str15225 = private unnamed_addr constant [7 x i8] c"entity\00" @.str15226 = private unnamed_addr constant [6 x i8] c"spawn\00" @.str15227 = private unnamed_addr constant [45 x i8] c"Prefab.spawn: the program declares no prefab\00" @.str15228 = private unnamed_addr constant [5 x i8] c"name\00" @.str15229 = private unnamed_addr constant [51 x i8] c"Prefab.spawn takes one argument: the prefab's name\00" @.str15230 = private unnamed_addr constant [55 x i8] c"build/cfree/selfhost.ludic:23400: index out of range: \00" @.str15231 = private unnamed_addr constant [30 x i8] c"call i32 @L_spawn_prefab(ptr \00" @.str15232 = private unnamed_addr constant [2 x i8] c")\00" @.str15233 = private unnamed_addr constant [7 x i8] c"entity\00" @.str15234 = private unnamed_addr constant [7 x i8] c"Prefab\00" @.str15235 = private unnamed_addr constant [6 x i8] c"Audio\00" @.str15236 = private unnamed_addr constant [5 x i8] c"play\00" @.str15237 = private unnamed_addr constant [17 x i8] c"audio_play_named\00" @.str15238 = private unnamed_addr constant [5 x i8] c"name\00" @.str15239 = private unnamed_addr constant [11 x i8] c"audio_play\00" @.str15240 = private unnamed_addr constant [3 x i8] c"id\00" @.str15241 = private unnamed_addr constant [11 x i8] c"play_music\00" @.str15242 = private unnamed_addr constant [23 x i8] c"audio_play_music_named\00" @.str15243 = private unnamed_addr constant [5 x i8] c"name\00" @.str15244 = private unnamed_addr constant [17 x i8] c"audio_play_music\00" @.str15245 = private unnamed_addr constant [3 x i8] c"id\00" @.str15246 = private unnamed_addr constant [4 x i8] c"Job\00" @.str15247 = private unnamed_addr constant [13 x i8] c"parallel_for\00" @.str15248 = private unnamed_addr constant [17 x i8] c"job_parallel_for\00" @.str15249 = private unnamed_addr constant [6 x i8] c"count\00" @.str15250 = private unnamed_addr constant [5 x i8] c"work\00" @.str15251 = private unnamed_addr constant [4 x i8] c"ctx\00" @.str15252 = private unnamed_addr constant [55 x i8] c"build/cfree/selfhost.ludic:23446: index out of range: \00" @.str15253 = private unnamed_addr constant [5 x i8] c"Anim\00" @.str15254 = private unnamed_addr constant [5 x i8] c"clip\00" @.str15255 = private unnamed_addr constant [10 x i8] c"anim_clip\00" @.str15256 = private unnamed_addr constant [5 x i8] c"name\00" @.str15257 = private unnamed_addr constant [7 x i8] c"frames\00" @.str15258 = private unnamed_addr constant [4 x i8] c"fps\00" @.str15259 = private unnamed_addr constant [5 x i8] c"mode\00" @.str15260 = private unnamed_addr constant [9 x i8] c"on_frame\00" @.str15261 = private unnamed_addr constant [14 x i8] c"anim_on_frame\00" @.str15262 = private unnamed_addr constant [7 x i8] c"entity\00" @.str15263 = private unnamed_addr constant [6 x i8] c"frame\00" @.str15264 = private unnamed_addr constant [6 x i8] c"fired\00" @.str15265 = private unnamed_addr constant [11 x i8] c"anim_fired\00" @.str15266 = private unnamed_addr constant [7 x i8] c"entity\00" @.str15267 = private unnamed_addr constant [5 x i8] c"play\00" @.str15268 = private unnamed_addr constant [16 x i8] c"anim_play_named\00" @.str15269 = private unnamed_addr constant [7 x i8] c"entity\00" @.str15270 = private unnamed_addr constant [5 x i8] c"clip\00" @.str15271 = private unnamed_addr constant [10 x i8] c"anim_play\00" @.str15272 = private unnamed_addr constant [7 x i8] c"entity\00" @.str15273 = private unnamed_addr constant [4 x i8] c"fps\00" @.str15274 = private unnamed_addr constant [7 x i8] c"frames\00" @.str15275 = private unnamed_addr constant [5 x i8] c"mode\00" @.str15276 = private unnamed_addr constant [3 x i8] c"Vk\00" @.str15277 = private unnamed_addr constant [4 x i8] c"vk_\00" @.str15278 = private unnamed_addr constant [55 x i8] c"build/cfree/selfhost.ludic:23512: index out of range: \00" @.str15279 = private unnamed_addr constant [3 x i8] c"Gl\00" @.str15280 = private unnamed_addr constant [4 x i8] c"gl_\00" @.str15281 = private unnamed_addr constant [55 x i8] c"build/cfree/selfhost.ludic:23526: index out of range: \00" @.str15282 = private unnamed_addr constant [2 x i8] c"_\00" @.str15283 = private unnamed_addr constant [2 x i8] c".\00" @.str15284 = private unnamed_addr constant [27 x i8] c" is internal to namespace \00" @.str15285 = private unnamed_addr constant [55 x i8] c"build/cfree/selfhost.ludic:23540: index out of range: \00" @.str15286 = private unnamed_addr constant [17 x i8] c"unknown builtin \00" @.str15287 = private unnamed_addr constant [2 x i8] c".\00" @.str15288 = private unnamed_addr constant [55 x i8] c"build/cfree/selfhost.ludic:23556: index out of range: \00" @.str15289 = private unnamed_addr constant [17 x i8] c"emit_variant_new\00" @.str15290 = private unnamed_addr constant [14 x i8] c"enum variant \00" @.str15291 = private unnamed_addr constant [8 x i8] c" takes \00" @.str15292 = private unnamed_addr constant [18 x i8] c" payload(s), got \00" @.str15293 = private unnamed_addr constant [25 x i8] c"call ptr @lp_malloc(i64 \00" @.str15294 = private unnamed_addr constant [2 x i8] c")\00" @.str15295 = private unnamed_addr constant [13 x i8] c" store i32 \00" @.str15296 = private unnamed_addr constant [7 x i8] c", ptr \00" @.str15297 = private unnamed_addr constant [2 x i8] c"\0A\00" @.str15298 = private unnamed_addr constant [55 x i8] c"build/cfree/selfhost.ludic:23563: index out of range: \00" @.str15299 = private unnamed_addr constant [55 x i8] c"build/cfree/selfhost.ludic:23564: index out of range: \00" @.str15300 = private unnamed_addr constant [3 x i8] c" \00" @.str15301 = private unnamed_addr constant [35 x i8] c" = getelementptr inbounds i8, ptr \00" @.str15302 = private unnamed_addr constant [7 x i8] c", i32 \00" @.str15303 = private unnamed_addr constant [2 x i8] c"\0A\00" @.str15304 = private unnamed_addr constant [9 x i8] c" store \00" @.str15305 = private unnamed_addr constant [2 x i8] c" \00" @.str15306 = private unnamed_addr constant [7 x i8] c", ptr \00" @.str15307 = private unnamed_addr constant [2 x i8] c"\0A\00" @.str15308 = private unnamed_addr constant [30 x i8] c"call target is not a function\00" @.str15309 = private unnamed_addr constant [5 x i8] c"self\00" @.str15310 = private unnamed_addr constant [2 x i8] c"0\00" @.str15311 = private unnamed_addr constant [7 x i8] c"entity\00" @.str15312 = private unnamed_addr constant [15 x i8] c"load i32, ptr \00" @.str15313 = private unnamed_addr constant [55 x i8] c"build/cfree/selfhost.ludic:23584: index out of range: \00" @.str15314 = private unnamed_addr constant [10 x i8] c"emit_call\00" @.str15315 = private unnamed_addr constant [7 x i8] c"entity\00" @.str15316 = private unnamed_addr constant [4 x i8] c"key\00" @.str15317 = private unnamed_addr constant [21 x i8] c"load i32, ptr @L_key\00" @.str15318 = private unnamed_addr constant [4 x i8] c"int\00" @.str15319 = private unnamed_addr constant [5 x i8] c"save\00" @.str15320 = private unnamed_addr constant [23 x i8] c" call void @L_save()\0A\00" @.str15321 = private unnamed_addr constant [2 x i8] c"0\00" @.str15322 = private unnamed_addr constant [5 x i8] c"void\00" @.str15323 = private unnamed_addr constant [9 x i8] c"ui_build\00" @.str15324 = private unnamed_addr constant [25 x i8] c" call void @ui_build()\0A\00" @.str15325 = private unnamed_addr constant [2 x i8] c"0\00" @.str15326 = private unnamed_addr constant [5 x i8] c"void\00" @.str15327 = private unnamed_addr constant [5 x i8] c"load\00" @.str15328 = private unnamed_addr constant [19 x i8] c"call i32 @L_load()\00" @.str15329 = private unnamed_addr constant [5 x i8] c"bool\00" @.str15330 = private unnamed_addr constant [11 x i8] c"world_size\00" @.str15331 = private unnamed_addr constant [25 x i8] c"call i32 @L_world_size()\00" @.str15332 = private unnamed_addr constant [4 x i8] c"int\00" @.str15333 = private unnamed_addr constant [11 x i8] c"world_save\00" @.str15334 = private unnamed_addr constant [55 x i8] c"build/cfree/selfhost.ludic:23591: index out of range: \00" @.str15335 = private unnamed_addr constant [28 x i8] c"call i32 @L_world_save(ptr \00" @.str15336 = private unnamed_addr constant [2 x i8] c")\00" @.str15337 = private unnamed_addr constant [4 x i8] c"int\00" @.str15338 = private unnamed_addr constant [11 x i8] c"world_load\00" @.str15339 = private unnamed_addr constant [55 x i8] c"build/cfree/selfhost.ludic:23595: index out of range: \00" @.str15340 = private unnamed_addr constant [55 x i8] c"build/cfree/selfhost.ludic:23596: index out of range: \00" @.str15341 = private unnamed_addr constant [31 x i8] c" call void @L_world_load(ptr \00" @.str15342 = private unnamed_addr constant [7 x i8] c", i32 \00" @.str15343 = private unnamed_addr constant [3 x i8] c")\0A\00" @.str15344 = private unnamed_addr constant [2 x i8] c"0\00" @.str15345 = private unnamed_addr constant [5 x i8] c"void\00" @.str15346 = private unnamed_addr constant [5 x i8] c"quit\00" @.str15347 = private unnamed_addr constant [31 x i8] c" store i32 0, ptr @L_running\0A\00" @.str15348 = private unnamed_addr constant [2 x i8] c"0\00" @.str15349 = private unnamed_addr constant [5 x i8] c"void\00" @.str15350 = private unnamed_addr constant [10 x i8] c"serialize\00" @.str15351 = private unnamed_addr constant [55 x i8] c"build/cfree/selfhost.ludic:23607: index out of range: \00" @.str15352 = private unnamed_addr constant [55 x i8] c"build/cfree/selfhost.ludic:23607: index out of range: \00" @.str15353 = private unnamed_addr constant [31 x i8] c"call i32 @ludic_serialize(i32 \00" @.str15354 = private unnamed_addr constant [7 x i8] c", ptr \00" @.str15355 = private unnamed_addr constant [2 x i8] c")\00" @.str15356 = private unnamed_addr constant [4 x i8] c"int\00" @.str15357 = private unnamed_addr constant [6 x i8] c"apply\00" @.str15358 = private unnamed_addr constant [55 x i8] c"build/cfree/selfhost.ludic:23611: index out of range: \00" @.str15359 = private unnamed_addr constant [55 x i8] c"build/cfree/selfhost.ludic:23611: index out of range: \00" @.str15360 = private unnamed_addr constant [55 x i8] c"build/cfree/selfhost.ludic:23611: index out of range: \00" @.str15361 = private unnamed_addr constant [30 x i8] c" call void @ludic_apply(i32 \00" @.str15362 = private unnamed_addr constant [7 x i8] c", ptr \00" @.str15363 = private unnamed_addr constant [7 x i8] c", i32 \00" @.str15364 = private unnamed_addr constant [3 x i8] c")\0A\00" @.str15365 = private unnamed_addr constant [2 x i8] c"0\00" @.str15366 = private unnamed_addr constant [5 x i8] c"void\00" @.str15367 = private unnamed_addr constant [10 x i8] c"sync_size\00" @.str15368 = private unnamed_addr constant [55 x i8] c"build/cfree/selfhost.ludic:23616: index out of range: \00" @.str15369 = private unnamed_addr constant [31 x i8] c"call i32 @ludic_sync_size(i32 \00" @.str15370 = private unnamed_addr constant [2 x i8] c")\00" @.str15371 = private unnamed_addr constant [4 x i8] c"int\00" @.str15372 = private unnamed_addr constant [6 x i8] c"owner\00" @.str15373 = private unnamed_addr constant [55 x i8] c"build/cfree/selfhost.ludic:23620: index out of range: \00" @.str15374 = private unnamed_addr constant [23 x i8] c"call i32 @L_owner(i32 \00" @.str15375 = private unnamed_addr constant [2 x i8] c")\00" @.str15376 = private unnamed_addr constant [4 x i8] c"int\00" @.str15377 = private unnamed_addr constant [10 x i8] c"set_owner\00" @.str15378 = private unnamed_addr constant [55 x i8] c"build/cfree/selfhost.ludic:23624: index out of range: \00" @.str15379 = private unnamed_addr constant [55 x i8] c"build/cfree/selfhost.ludic:23624: index out of range: \00" @.str15380 = private unnamed_addr constant [30 x i8] c" call void @L_set_owner(i32 \00" @.str15381 = private unnamed_addr constant [7 x i8] c", i32 \00" @.str15382 = private unnamed_addr constant [3 x i8] c")\0A\00" @.str15383 = private unnamed_addr constant [2 x i8] c"0\00" @.str15384 = private unnamed_addr constant [5 x i8] c"void\00" @.str15385 = private unnamed_addr constant [9 x i8] c"is_owner\00" @.str15386 = private unnamed_addr constant [55 x i8] c"build/cfree/selfhost.ludic:23629: index out of range: \00" @.str15387 = private unnamed_addr constant [26 x i8] c"call i32 @L_is_owner(i32 \00" @.str15388 = private unnamed_addr constant [2 x i8] c")\00" @.str15389 = private unnamed_addr constant [5 x i8] c"bool\00" @.str15390 = private unnamed_addr constant [10 x i8] c"is_server\00" @.str15391 = private unnamed_addr constant [22 x i8] c"load i32, ptr @L_role\00" @.str15392 = private unnamed_addr constant [13 x i8] c"icmp eq i32 \00" @.str15393 = private unnamed_addr constant [4 x i8] c", 1\00" @.str15394 = private unnamed_addr constant [9 x i8] c"zext i1 \00" @.str15395 = private unnamed_addr constant [8 x i8] c" to i32\00" @.str15396 = private unnamed_addr constant [5 x i8] c"bool\00" @.str15397 = private unnamed_addr constant [9 x i8] c"local_id\00" @.str15398 = private unnamed_addr constant [25 x i8] c"load i32, ptr @L_localid\00" @.str15399 = private unnamed_addr constant [4 x i8] c"int\00" @.str15400 = private unnamed_addr constant [9 x i8] c"net_pump\00" @.str15401 = private unnamed_addr constant [27 x i8] c" call void @L_net_pump()\0A\00" @.str15402 = private unnamed_addr constant [2 x i8] c"0\00" @.str15403 = private unnamed_addr constant [5 x i8] c"void\00" @.str15404 = private unnamed_addr constant [11 x i8] c"tick_fixed\00" @.str15405 = private unnamed_addr constant [29 x i8] c" call void @L_tick_fixed()\0A\00" @.str15406 = private unnamed_addr constant [2 x i8] c"0\00" @.str15407 = private unnamed_addr constant [5 x i8] c"void\00" @.str15408 = private unnamed_addr constant [12 x i8] c"tick_render\00" @.str15409 = private unnamed_addr constant [30 x i8] c" call void @L_tick_render()\0A\00" @.str15410 = private unnamed_addr constant [2 x i8] c"0\00" @.str15411 = private unnamed_addr constant [5 x i8] c"void\00" @.str15412 = private unnamed_addr constant [9 x i8] c"set_role\00" @.str15413 = private unnamed_addr constant [55 x i8] c"build/cfree/selfhost.ludic:23642: index out of range: \00" @.str15414 = private unnamed_addr constant [13 x i8] c" store i32 \00" @.str15415 = private unnamed_addr constant [15 x i8] c", ptr @L_role\0A\00" @.str15416 = private unnamed_addr constant [2 x i8] c"0\00" @.str15417 = private unnamed_addr constant [5 x i8] c"void\00" @.str15418 = private unnamed_addr constant [13 x i8] c"set_local_id\00" @.str15419 = private unnamed_addr constant [55 x i8] c"build/cfree/selfhost.ludic:23645: index out of range: \00" @.str15420 = private unnamed_addr constant [13 x i8] c" store i32 \00" @.str15421 = private unnamed_addr constant [18 x i8] c", ptr @L_localid\0A\00" @.str15422 = private unnamed_addr constant [2 x i8] c"0\00" @.str15423 = private unnamed_addr constant [5 x i8] c"void\00" @.str15424 = private unnamed_addr constant [9 x i8] c"net_send\00" @.str15425 = private unnamed_addr constant [9 x i8] c"net_send\00" @.str15426 = private unnamed_addr constant [55 x i8] c"build/cfree/selfhost.ludic:23652: index out of range: \00" @.str15427 = private unnamed_addr constant [55 x i8] c"build/cfree/selfhost.ludic:23652: index out of range: \00" @.str15428 = private unnamed_addr constant [55 x i8] c"build/cfree/selfhost.ludic:23652: index out of range: \00" @.str15429 = private unnamed_addr constant [29 x i8] c" call void @L_net_send(i32 \00" @.str15430 = private unnamed_addr constant [7 x i8] c", ptr \00" @.str15431 = private unnamed_addr constant [7 x i8] c", i32 \00" @.str15432 = private unnamed_addr constant [3 x i8] c")\0A\00" @.str15433 = private unnamed_addr constant [2 x i8] c"0\00" @.str15434 = private unnamed_addr constant [5 x i8] c"void\00" @.str15435 = private unnamed_addr constant [9 x i8] c"net_poll\00" @.str15436 = private unnamed_addr constant [9 x i8] c"net_poll\00" @.str15437 = private unnamed_addr constant [55 x i8] c"build/cfree/selfhost.ludic:23658: index out of range: \00" @.str15438 = private unnamed_addr constant [55 x i8] c"build/cfree/selfhost.ludic:23658: index out of range: \00" @.str15439 = private unnamed_addr constant [26 x i8] c"call i32 @L_net_poll(ptr \00" @.str15440 = private unnamed_addr constant [7 x i8] c", i32 \00" @.str15441 = private unnamed_addr constant [2 x i8] c")\00" @.str15442 = private unnamed_addr constant [4 x i8] c"int\00" @.str15443 = private unnamed_addr constant [4 x i8] c"len\00" @.str15444 = private unnamed_addr constant [5 x i8] c"push\00" @.str15445 = private unnamed_addr constant [5 x i8] c"keep\00" @.str15446 = private unnamed_addr constant [55 x i8] c"build/cfree/selfhost.ludic:23663: index out of range: \00" @.str15447 = private unnamed_addr constant [7 x i8] c"intern\00" @.str15448 = private unnamed_addr constant [55 x i8] c"build/cfree/selfhost.ludic:23665: index out of range: \00" @.str15449 = private unnamed_addr constant [25 x i8] c"call ptr @lp_intern(ptr \00" @.str15450 = private unnamed_addr constant [2 x i8] c")\00" @.str15451 = private unnamed_addr constant [7 x i8] c"string\00" @.str15452 = private unnamed_addr constant [7 x i8] c"string\00" @.str15453 = private unnamed_addr constant [55 x i8] c"build/cfree/selfhost.ludic:23669: index out of range: \00" @.str15454 = private unnamed_addr constant [4 x i8] c"ptr\00" @.str15455 = private unnamed_addr constant [2 x i8] c"+\00" @.str15456 = private unnamed_addr constant [4 x i8] c"ptr\00" @.str15457 = private unnamed_addr constant [4 x i8] c"i64\00" @.str15458 = private unnamed_addr constant [27 x i8] c"call ptr @lp_long_str(i64 \00" @.str15459 = private unnamed_addr constant [2 x i8] c")\00" @.str15460 = private unnamed_addr constant [7 x i8] c"string\00" @.str15461 = private unnamed_addr constant [26 x i8] c"call ptr @lp_int_str(i32 \00" @.str15462 = private unnamed_addr constant [2 x i8] c")\00" @.str15463 = private unnamed_addr constant [7 x i8] c"string\00" @.str15464 = private unnamed_addr constant [6 x i8] c"print\00" @.str15465 = private unnamed_addr constant [55 x i8] c"build/cfree/selfhost.ludic:23680: index out of range: \00" @.str15466 = private unnamed_addr constant [4 x i8] c"ptr\00" @.str15467 = private unnamed_addr constant [51 x i8] c" call i32 (ptr, ...) @printf(ptr @.fmt_line, ptr \00" @.str15468 = private unnamed_addr constant [3 x i8] c")\0A\00" @.str15469 = private unnamed_addr constant [4 x i8] c"i64\00" @.str15470 = private unnamed_addr constant [51 x i8] c" call i32 (ptr, ...) @printf(ptr @.fmt_long, i64 \00" @.str15471 = private unnamed_addr constant [3 x i8] c")\0A\00" @.str15472 = private unnamed_addr constant [50 x i8] c" call i32 (ptr, ...) @printf(ptr @.fmt_int, i32 \00" @.str15473 = private unnamed_addr constant [3 x i8] c")\0A\00" @.str15474 = private unnamed_addr constant [26 x i8] c" call void @lp_free(ptr \00" @.str15475 = private unnamed_addr constant [3 x i8] c")\0A\00" @.str15476 = private unnamed_addr constant [2 x i8] c"0\00" @.str15477 = private unnamed_addr constant [5 x i8] c"void\00" @.str15478 = private unnamed_addr constant [6 x i8] c"bytes\00" @.str15479 = private unnamed_addr constant [55 x i8] c"build/cfree/selfhost.ludic:23689: index out of range: \00" @.str15480 = private unnamed_addr constant [10 x i8] c"zext i32 \00" @.str15481 = private unnamed_addr constant [8 x i8] c" to i64\00" @.str15482 = private unnamed_addr constant [25 x i8] c"call ptr @lp_malloc(i64 \00" @.str15483 = private unnamed_addr constant [2 x i8] c")\00" @.str15484 = private unnamed_addr constant [8 x i8] c"pointer\00" @.str15485 = private unnamed_addr constant [6 x i8] c"words\00" @.str15486 = private unnamed_addr constant [4 x i8] c"int\00" @.str15487 = private unnamed_addr constant [55 x i8] c"build/cfree/selfhost.ludic:23693: index out of range: \00" @.str15488 = private unnamed_addr constant [7 x i8] c"buffer\00" @.str15489 = private unnamed_addr constant [5 x i8] c"byte\00" @.str15490 = private unnamed_addr constant [55 x i8] c"build/cfree/selfhost.ludic:23694: index out of range: \00" @.str15491 = private unnamed_addr constant [7 x i8] c"fixeds\00" @.str15492 = private unnamed_addr constant [6 x i8] c"fixed\00" @.str15493 = private unnamed_addr constant [55 x i8] c"build/cfree/selfhost.ludic:23695: index out of range: \00" @.str15494 = private unnamed_addr constant [9 x i8] c"pointers\00" @.str15495 = private unnamed_addr constant [8 x i8] c"pointer\00" @.str15496 = private unnamed_addr constant [55 x i8] c"build/cfree/selfhost.ludic:23696: index out of range: \00" @.str15497 = private unnamed_addr constant [5 x i8] c"view\00" @.str15498 = private unnamed_addr constant [8 x i8] c"data_of\00" @.str15499 = private unnamed_addr constant [55 x i8] c"build/cfree/selfhost.ludic:23702: index out of range: \00" @.str15500 = private unnamed_addr constant [15 x i8] c"load ptr, ptr \00" @.str15501 = private unnamed_addr constant [8 x i8] c"pointer\00" @.str15502 = private unnamed_addr constant [6 x i8] c"fixed\00" @.str15503 = private unnamed_addr constant [55 x i8] c"build/cfree/selfhost.ludic:23706: index out of range: \00" @.str15504 = private unnamed_addr constant [6 x i8] c"fixed\00" @.str15505 = private unnamed_addr constant [9 x i8] c"shl i32 \00" @.str15506 = private unnamed_addr constant [5 x i8] c", 16\00" @.str15507 = private unnamed_addr constant [6 x i8] c"fixed\00" @.str15508 = private unnamed_addr constant [6 x i8] c"float\00" @.str15509 = private unnamed_addr constant [7 x i8] c"double\00" @.str15510 = private unnamed_addr constant [55 x i8] c"build/cfree/selfhost.ludic:23713: index out of range: \00" @.str15511 = private unnamed_addr constant [4 x i8] c"int\00" @.str15512 = private unnamed_addr constant [55 x i8] c"build/cfree/selfhost.ludic:23716: index out of range: \00" @.str15513 = private unnamed_addr constant [6 x i8] c"fixed\00" @.str15514 = private unnamed_addr constant [10 x i8] c"ashr i32 \00" @.str15515 = private unnamed_addr constant [5 x i8] c", 16\00" @.str15516 = private unnamed_addr constant [4 x i8] c"int\00" @.str15517 = private unnamed_addr constant [4 x i8] c"i64\00" @.str15518 = private unnamed_addr constant [11 x i8] c"trunc i64 \00" @.str15519 = private unnamed_addr constant [8 x i8] c" to i32\00" @.str15520 = private unnamed_addr constant [4 x i8] c"int\00" @.str15521 = private unnamed_addr constant [4 x i8] c"int\00" @.str15522 = private unnamed_addr constant [5 x i8] c"long\00" @.str15523 = private unnamed_addr constant [55 x i8] c"build/cfree/selfhost.ludic:23723: index out of range: \00" @.str15524 = private unnamed_addr constant [5 x i8] c"long\00" @.str15525 = private unnamed_addr constant [11 x i8] c"float_bits\00" @.str15526 = private unnamed_addr constant [55 x i8] c"build/cfree/selfhost.ludic:23727: index out of range: \00" @.str15527 = private unnamed_addr constant [16 x i8] c"float_from_bits\00" @.str15528 = private unnamed_addr constant [55 x i8] c"build/cfree/selfhost.ludic:23728: index out of range: \00" @.str15529 = private unnamed_addr constant [12 x i8] c"double_bits\00" @.str15530 = private unnamed_addr constant [55 x i8] c"build/cfree/selfhost.ludic:23729: index out of range: \00" @.str15531 = private unnamed_addr constant [17 x i8] c"double_from_bits\00" @.str15532 = private unnamed_addr constant [55 x i8] c"build/cfree/selfhost.ludic:23730: index out of range: \00" @.str15533 = private unnamed_addr constant [7 x i8] c"floats\00" @.str15534 = private unnamed_addr constant [8 x i8] c"doubles\00" @.str15535 = private unnamed_addr constant [6 x i8] c"float\00" @.str15536 = private unnamed_addr constant [8 x i8] c"doubles\00" @.str15537 = private unnamed_addr constant [7 x i8] c"double\00" @.str15538 = private unnamed_addr constant [55 x i8] c"build/cfree/selfhost.ludic:23734: index out of range: \00" @.str15539 = private unnamed_addr constant [6 x i8] c"floor\00" @.str15540 = private unnamed_addr constant [55 x i8] c"build/cfree/selfhost.ludic:23736: index out of range: \00" @.str15541 = private unnamed_addr constant [10 x i8] c"ashr i32 \00" @.str15542 = private unnamed_addr constant [5 x i8] c", 16\00" @.str15543 = private unnamed_addr constant [4 x i8] c"int\00" @.str15544 = private unnamed_addr constant [7 x i8] c"expect\00" @.str15545 = private unnamed_addr constant [55 x i8] c"build/cfree/selfhost.ludic:23744: index out of range: \00" @.str15546 = private unnamed_addr constant [13 x i8] c"icmp ne i32 \00" @.str15547 = private unnamed_addr constant [4 x i8] c", 0\00" @.str15548 = private unnamed_addr constant [16 x i8] c": expect failed\00" @.str15549 = private unnamed_addr constant [1 x i8] c"\00" @.str15550 = private unnamed_addr constant [1 x i8] c"\00" @.str15551 = private unnamed_addr constant [2 x i8] c"0\00" @.str15552 = private unnamed_addr constant [5 x i8] c"void\00" @.str15553 = private unnamed_addr constant [10 x i8] c"expect_eq\00" @.str15554 = private unnamed_addr constant [55 x i8] c"build/cfree/selfhost.ludic:23752: index out of range: \00" @.str15555 = private unnamed_addr constant [55 x i8] c"build/cfree/selfhost.ludic:23752: index out of range: \00" @.str15556 = private unnamed_addr constant [7 x i8] c"string\00" @.str15557 = private unnamed_addr constant [7 x i8] c"string\00" @.str15558 = private unnamed_addr constant [13 x i8] c"icmp eq i32 \00" @.str15559 = private unnamed_addr constant [3 x i8] c", \00" @.str15560 = private unnamed_addr constant [19 x i8] c": expect_eq failed\00" @.str15561 = private unnamed_addr constant [2 x i8] c"0\00" @.str15562 = private unnamed_addr constant [5 x i8] c"void\00" @.str15563 = private unnamed_addr constant [12 x i8] c"expect_near\00" @.str15564 = private unnamed_addr constant [55 x i8] c"build/cfree/selfhost.ludic:23762: index out of range: \00" @.str15565 = private unnamed_addr constant [55 x i8] c"build/cfree/selfhost.ludic:23762: index out of range: \00" @.str15566 = private unnamed_addr constant [55 x i8] c"build/cfree/selfhost.ludic:23762: index out of range: \00" @.str15567 = private unnamed_addr constant [9 x i8] c"sub i32 \00" @.str15568 = private unnamed_addr constant [3 x i8] c", \00" @.str15569 = private unnamed_addr constant [12 x i8] c"sub i32 0, \00" @.str15570 = private unnamed_addr constant [14 x i8] c"icmp slt i32 \00" @.str15571 = private unnamed_addr constant [4 x i8] c", 0\00" @.str15572 = private unnamed_addr constant [11 x i8] c"select i1 \00" @.str15573 = private unnamed_addr constant [7 x i8] c", i32 \00" @.str15574 = private unnamed_addr constant [7 x i8] c", i32 \00" @.str15575 = private unnamed_addr constant [14 x i8] c"icmp sle i32 \00" @.str15576 = private unnamed_addr constant [3 x i8] c", \00" @.str15577 = private unnamed_addr constant [21 x i8] c": expect_near failed\00" @.str15578 = private unnamed_addr constant [2 x i8] c"0\00" @.str15579 = private unnamed_addr constant [5 x i8] c"void\00" @.str15580 = private unnamed_addr constant [6 x i8] c"panic\00" @.str15581 = private unnamed_addr constant [55 x i8] c"build/cfree/selfhost.ludic:23781: index out of range: \00" @.str15582 = private unnamed_addr constant [2 x i8] c":\00" @.str15583 = private unnamed_addr constant [10 x i8] c": panic: \00" @.str15584 = private unnamed_addr constant [41 x i8] c" call i32 (ptr, ptr, ...) @fprintf(ptr \00" @.str15585 = private unnamed_addr constant [24 x i8] c", ptr @.fmt_panic, ptr \00" @.str15586 = private unnamed_addr constant [7 x i8] c", ptr \00" @.str15587 = private unnamed_addr constant [3 x i8] c")\0A\00" @.str15588 = private unnamed_addr constant [40 x i8] c" call void @exit(i32 1)\0A unreachable\0A\00" @.str15589 = private unnamed_addr constant [2 x i8] c"0\00" @.str15590 = private unnamed_addr constant [5 x i8] c"void\00" @.str15591 = private unnamed_addr constant [7 x i8] c"assert\00" @.str15592 = private unnamed_addr constant [55 x i8] c"build/cfree/selfhost.ludic:23791: index out of range: \00" @.str15593 = private unnamed_addr constant [13 x i8] c"icmp ne i32 \00" @.str15594 = private unnamed_addr constant [4 x i8] c", 0\00" @.str15595 = private unnamed_addr constant [5 x i8] c"asok\00" @.str15596 = private unnamed_addr constant [6 x i8] c"asbad\00" @.str15597 = private unnamed_addr constant [9 x i8] c" br i1 \00" @.str15598 = private unnamed_addr constant [10 x i8] c", label %\00" @.str15599 = private unnamed_addr constant [10 x i8] c", label %\00" @.str15600 = private unnamed_addr constant [2 x i8] c"\0A\00" @.str15601 = private unnamed_addr constant [3 x i8] c":\0A\00" @.str15602 = private unnamed_addr constant [55 x i8] c"build/cfree/selfhost.ludic:23796: index out of range: \00" @.str15603 = private unnamed_addr constant [2 x i8] c":\00" @.str15604 = private unnamed_addr constant [21 x i8] c": assertion failed: \00" @.str15605 = private unnamed_addr constant [41 x i8] c" call i32 (ptr, ptr, ...) @fprintf(ptr \00" @.str15606 = private unnamed_addr constant [24 x i8] c", ptr @.fmt_panic, ptr \00" @.str15607 = private unnamed_addr constant [7 x i8] c", ptr \00" @.str15608 = private unnamed_addr constant [3 x i8] c")\0A\00" @.str15609 = private unnamed_addr constant [40 x i8] c" call void @exit(i32 1)\0A unreachable\0A\00" @.str15610 = private unnamed_addr constant [3 x i8] c":\0A\00" @.str15611 = private unnamed_addr constant [2 x i8] c"0\00" @.str15612 = private unnamed_addr constant [5 x i8] c"void\00" @.str15613 = private unnamed_addr constant [3 x i8] c"ok\00" @.str15614 = private unnamed_addr constant [3 x i8] c"ok\00" @.str15615 = private unnamed_addr constant [55 x i8] c"build/cfree/selfhost.ludic:23812: index out of range: \00" @.str15616 = private unnamed_addr constant [28 x i8] c"call ptr @lp_malloc(i64 16)\00" @.str15617 = private unnamed_addr constant [37 x i8] c"getelementptr inbounds %Result, ptr \00" @.str15618 = private unnamed_addr constant [15 x i8] c", i32 0, i32 0\00" @.str15619 = private unnamed_addr constant [20 x i8] c" store i32 1, ptr \00" @.str15620 = private unnamed_addr constant [2 x i8] c"\0A\00" @.str15621 = private unnamed_addr constant [37 x i8] c"getelementptr inbounds %Result, ptr \00" @.str15622 = private unnamed_addr constant [15 x i8] c", i32 0, i32 1\00" @.str15623 = private unnamed_addr constant [13 x i8] c" store i32 \00" @.str15624 = private unnamed_addr constant [4 x i8] c"int\00" @.str15625 = private unnamed_addr constant [7 x i8] c", ptr \00" @.str15626 = private unnamed_addr constant [2 x i8] c"\0A\00" @.str15627 = private unnamed_addr constant [37 x i8] c"getelementptr inbounds %Result, ptr \00" @.str15628 = private unnamed_addr constant [15 x i8] c", i32 0, i32 2\00" @.str15629 = private unnamed_addr constant [23 x i8] c" store ptr null, ptr \00" @.str15630 = private unnamed_addr constant [2 x i8] c"\0A\00" @.str15631 = private unnamed_addr constant [7 x i8] c"result\00" @.str15632 = private unnamed_addr constant [4 x i8] c"err\00" @.str15633 = private unnamed_addr constant [4 x i8] c"err\00" @.str15634 = private unnamed_addr constant [55 x i8] c"build/cfree/selfhost.ludic:23824: index out of range: \00" @.str15635 = private unnamed_addr constant [28 x i8] c"call ptr @lp_malloc(i64 16)\00" @.str15636 = private unnamed_addr constant [37 x i8] c"getelementptr inbounds %Result, ptr \00" @.str15637 = private unnamed_addr constant [15 x i8] c", i32 0, i32 0\00" @.str15638 = private unnamed_addr constant [20 x i8] c" store i32 0, ptr \00" @.str15639 = private unnamed_addr constant [2 x i8] c"\0A\00" @.str15640 = private unnamed_addr constant [37 x i8] c"getelementptr inbounds %Result, ptr \00" @.str15641 = private unnamed_addr constant [15 x i8] c", i32 0, i32 1\00" @.str15642 = private unnamed_addr constant [20 x i8] c" store i32 0, ptr \00" @.str15643 = private unnamed_addr constant [2 x i8] c"\0A\00" @.str15644 = private unnamed_addr constant [37 x i8] c"getelementptr inbounds %Result, ptr \00" @.str15645 = private unnamed_addr constant [15 x i8] c", i32 0, i32 2\00" @.str15646 = private unnamed_addr constant [13 x i8] c" store ptr \00" @.str15647 = private unnamed_addr constant [7 x i8] c", ptr \00" @.str15648 = private unnamed_addr constant [2 x i8] c"\0A\00" @.str15649 = private unnamed_addr constant [7 x i8] c"result\00" @.str15650 = private unnamed_addr constant [6 x i8] c"is_ok\00" @.str15651 = private unnamed_addr constant [6 x i8] c"is_ok\00" @.str15652 = private unnamed_addr constant [55 x i8] c"build/cfree/selfhost.ludic:23835: index out of range: \00" @.str15653 = private unnamed_addr constant [37 x i8] c"getelementptr inbounds %Result, ptr \00" @.str15654 = private unnamed_addr constant [15 x i8] c", i32 0, i32 0\00" @.str15655 = private unnamed_addr constant [15 x i8] c"load i32, ptr \00" @.str15656 = private unnamed_addr constant [13 x i8] c"icmp ne i32 \00" @.str15657 = private unnamed_addr constant [4 x i8] c", 0\00" @.str15658 = private unnamed_addr constant [9 x i8] c"zext i1 \00" @.str15659 = private unnamed_addr constant [8 x i8] c" to i32\00" @.str15660 = private unnamed_addr constant [5 x i8] c"bool\00" @.str15661 = private unnamed_addr constant [7 x i8] c"is_err\00" @.str15662 = private unnamed_addr constant [7 x i8] c"is_err\00" @.str15663 = private unnamed_addr constant [55 x i8] c"build/cfree/selfhost.ludic:23842: index out of range: \00" @.str15664 = private unnamed_addr constant [37 x i8] c"getelementptr inbounds %Result, ptr \00" @.str15665 = private unnamed_addr constant [15 x i8] c", i32 0, i32 0\00" @.str15666 = private unnamed_addr constant [15 x i8] c"load i32, ptr \00" @.str15667 = private unnamed_addr constant [13 x i8] c"icmp eq i32 \00" @.str15668 = private unnamed_addr constant [4 x i8] c", 0\00" @.str15669 = private unnamed_addr constant [9 x i8] c"zext i1 \00" @.str15670 = private unnamed_addr constant [8 x i8] c" to i32\00" @.str15671 = private unnamed_addr constant [5 x i8] c"bool\00" @.str15672 = private unnamed_addr constant [5 x i8] c"some\00" @.str15673 = private unnamed_addr constant [5 x i8] c"some\00" @.str15674 = private unnamed_addr constant [55 x i8] c"build/cfree/selfhost.ludic:23856: index out of range: \00" @.str15675 = private unnamed_addr constant [27 x i8] c"call ptr @lp_malloc(i64 8)\00" @.str15676 = private unnamed_addr constant [37 x i8] c"getelementptr inbounds %Option, ptr \00" @.str15677 = private unnamed_addr constant [15 x i8] c", i32 0, i32 0\00" @.str15678 = private unnamed_addr constant [20 x i8] c" store i32 1, ptr \00" @.str15679 = private unnamed_addr constant [2 x i8] c"\0A\00" @.str15680 = private unnamed_addr constant [37 x i8] c"getelementptr inbounds %Option, ptr \00" @.str15681 = private unnamed_addr constant [15 x i8] c", i32 0, i32 1\00" @.str15682 = private unnamed_addr constant [13 x i8] c" store i32 \00" @.str15683 = private unnamed_addr constant [4 x i8] c"int\00" @.str15684 = private unnamed_addr constant [7 x i8] c", ptr \00" @.str15685 = private unnamed_addr constant [2 x i8] c"\0A\00" @.str15686 = private unnamed_addr constant [7 x i8] c"option\00" @.str15687 = private unnamed_addr constant [5 x i8] c"none\00" @.str15688 = private unnamed_addr constant [5 x i8] c"none\00" @.str15689 = private unnamed_addr constant [27 x i8] c"call ptr @lp_malloc(i64 8)\00" @.str15690 = private unnamed_addr constant [37 x i8] c"getelementptr inbounds %Option, ptr \00" @.str15691 = private unnamed_addr constant [15 x i8] c", i32 0, i32 0\00" @.str15692 = private unnamed_addr constant [20 x i8] c" store i32 0, ptr \00" @.str15693 = private unnamed_addr constant [2 x i8] c"\0A\00" @.str15694 = private unnamed_addr constant [37 x i8] c"getelementptr inbounds %Option, ptr \00" @.str15695 = private unnamed_addr constant [15 x i8] c", i32 0, i32 1\00" @.str15696 = private unnamed_addr constant [20 x i8] c" store i32 0, ptr \00" @.str15697 = private unnamed_addr constant [2 x i8] c"\0A\00" @.str15698 = private unnamed_addr constant [7 x i8] c"option\00" @.str15699 = private unnamed_addr constant [8 x i8] c"is_some\00" @.str15700 = private unnamed_addr constant [8 x i8] c"is_some\00" @.str15701 = private unnamed_addr constant [55 x i8] c"build/cfree/selfhost.ludic:23874: index out of range: \00" @.str15702 = private unnamed_addr constant [37 x i8] c"getelementptr inbounds %Option, ptr \00" @.str15703 = private unnamed_addr constant [15 x i8] c", i32 0, i32 0\00" @.str15704 = private unnamed_addr constant [15 x i8] c"load i32, ptr \00" @.str15705 = private unnamed_addr constant [13 x i8] c"icmp ne i32 \00" @.str15706 = private unnamed_addr constant [4 x i8] c", 0\00" @.str15707 = private unnamed_addr constant [9 x i8] c"zext i1 \00" @.str15708 = private unnamed_addr constant [8 x i8] c" to i32\00" @.str15709 = private unnamed_addr constant [5 x i8] c"bool\00" @.str15710 = private unnamed_addr constant [8 x i8] c"is_none\00" @.str15711 = private unnamed_addr constant [8 x i8] c"is_none\00" @.str15712 = private unnamed_addr constant [55 x i8] c"build/cfree/selfhost.ludic:23881: index out of range: \00" @.str15713 = private unnamed_addr constant [37 x i8] c"getelementptr inbounds %Option, ptr \00" @.str15714 = private unnamed_addr constant [15 x i8] c", i32 0, i32 0\00" @.str15715 = private unnamed_addr constant [15 x i8] c"load i32, ptr \00" @.str15716 = private unnamed_addr constant [13 x i8] c"icmp eq i32 \00" @.str15717 = private unnamed_addr constant [4 x i8] c", 0\00" @.str15718 = private unnamed_addr constant [9 x i8] c"zext i1 \00" @.str15719 = private unnamed_addr constant [8 x i8] c" to i32\00" @.str15720 = private unnamed_addr constant [5 x i8] c"bool\00" @.str15721 = private unnamed_addr constant [10 x i8] c"unwrap_or\00" @.str15722 = private unnamed_addr constant [10 x i8] c"unwrap_or\00" @.str15723 = private unnamed_addr constant [55 x i8] c"build/cfree/selfhost.ludic:23888: index out of range: \00" @.str15724 = private unnamed_addr constant [55 x i8] c"build/cfree/selfhost.ludic:23889: index out of range: \00" @.str15725 = private unnamed_addr constant [37 x i8] c"getelementptr inbounds %Option, ptr \00" @.str15726 = private unnamed_addr constant [15 x i8] c", i32 0, i32 0\00" @.str15727 = private unnamed_addr constant [15 x i8] c"load i32, ptr \00" @.str15728 = private unnamed_addr constant [37 x i8] c"getelementptr inbounds %Option, ptr \00" @.str15729 = private unnamed_addr constant [15 x i8] c", i32 0, i32 1\00" @.str15730 = private unnamed_addr constant [15 x i8] c"load i32, ptr \00" @.str15731 = private unnamed_addr constant [13 x i8] c"icmp ne i32 \00" @.str15732 = private unnamed_addr constant [4 x i8] c", 0\00" @.str15733 = private unnamed_addr constant [11 x i8] c"select i1 \00" @.str15734 = private unnamed_addr constant [7 x i8] c", i32 \00" @.str15735 = private unnamed_addr constant [7 x i8] c", i32 \00" @.str15736 = private unnamed_addr constant [4 x i8] c"int\00" @.str15737 = private unnamed_addr constant [4 x i8] c"int\00" @.str15738 = private unnamed_addr constant [14 x i8] c"world_prop_id\00" @.str15739 = private unnamed_addr constant [55 x i8] c"build/cfree/selfhost.ludic:23900: index out of range: \00" @.str15740 = private unnamed_addr constant [29 x i8] c"call i32 @ludic_prop_id(ptr \00" @.str15741 = private unnamed_addr constant [2 x i8] c")\00" @.str15742 = private unnamed_addr constant [4 x i8] c"int\00" @.str15743 = private unnamed_addr constant [15 x i8] c"world_field_id\00" @.str15744 = private unnamed_addr constant [55 x i8] c"build/cfree/selfhost.ludic:23901: index out of range: \00" @.str15745 = private unnamed_addr constant [55 x i8] c"build/cfree/selfhost.ludic:23901: index out of range: \00" @.str15746 = private unnamed_addr constant [30 x i8] c"call i32 @ludic_field_id(i32 \00" @.str15747 = private unnamed_addr constant [7 x i8] c", ptr \00" @.str15748 = private unnamed_addr constant [2 x i8] c")\00" @.str15749 = private unnamed_addr constant [4 x i8] c"int\00" @.str15750 = private unnamed_addr constant [10 x i8] c"world_get\00" @.str15751 = private unnamed_addr constant [55 x i8] c"build/cfree/selfhost.ludic:23903: index out of range: \00" @.str15752 = private unnamed_addr constant [55 x i8] c"build/cfree/selfhost.ludic:23903: index out of range: \00" @.str15753 = private unnamed_addr constant [55 x i8] c"build/cfree/selfhost.ludic:23903: index out of range: \00" @.str15754 = private unnamed_addr constant [25 x i8] c"call i64 @ludic_get(i32 \00" @.str15755 = private unnamed_addr constant [7 x i8] c", i32 \00" @.str15756 = private unnamed_addr constant [7 x i8] c", i32 \00" @.str15757 = private unnamed_addr constant [2 x i8] c")\00" @.str15758 = private unnamed_addr constant [11 x i8] c"trunc i64 \00" @.str15759 = private unnamed_addr constant [8 x i8] c" to i32\00" @.str15760 = private unnamed_addr constant [4 x i8] c"int\00" @.str15761 = private unnamed_addr constant [10 x i8] c"world_set\00" @.str15762 = private unnamed_addr constant [55 x i8] c"build/cfree/selfhost.ludic:23908: index out of range: \00" @.str15763 = private unnamed_addr constant [55 x i8] c"build/cfree/selfhost.ludic:23908: index out of range: \00" @.str15764 = private unnamed_addr constant [55 x i8] c"build/cfree/selfhost.ludic:23908: index out of range: \00" @.str15765 = private unnamed_addr constant [55 x i8] c"build/cfree/selfhost.ludic:23908: index out of range: \00" @.str15766 = private unnamed_addr constant [10 x i8] c"sext i32 \00" @.str15767 = private unnamed_addr constant [8 x i8] c" to i64\00" @.str15768 = private unnamed_addr constant [28 x i8] c" call void @ludic_set(i32 \00" @.str15769 = private unnamed_addr constant [7 x i8] c", i32 \00" @.str15770 = private unnamed_addr constant [7 x i8] c", i32 \00" @.str15771 = private unnamed_addr constant [7 x i8] c", i64 \00" @.str15772 = private unnamed_addr constant [3 x i8] c")\0A\00" @.str15773 = private unnamed_addr constant [2 x i8] c"0\00" @.str15774 = private unnamed_addr constant [5 x i8] c"void\00" @.str15775 = private unnamed_addr constant [10 x i8] c"world_has\00" @.str15776 = private unnamed_addr constant [55 x i8] c"build/cfree/selfhost.ludic:23913: index out of range: \00" @.str15777 = private unnamed_addr constant [55 x i8] c"build/cfree/selfhost.ludic:23913: index out of range: \00" @.str15778 = private unnamed_addr constant [25 x i8] c"call i32 @ludic_has(i32 \00" @.str15779 = private unnamed_addr constant [7 x i8] c", i32 \00" @.str15780 = private unnamed_addr constant [2 x i8] c")\00" @.str15781 = private unnamed_addr constant [4 x i8] c"int\00" @.str15782 = private unnamed_addr constant [12 x i8] c"world_count\00" @.str15783 = private unnamed_addr constant [31 x i8] c"call i32 @ludic_entity_count()\00" @.str15784 = private unnamed_addr constant [4 x i8] c"int\00" @.str15785 = private unnamed_addr constant [11 x i8] c"world_kind\00" @.str15786 = private unnamed_addr constant [55 x i8] c"build/cfree/selfhost.ludic:23915: index out of range: \00" @.str15787 = private unnamed_addr constant [26 x i8] c"call i32 @ludic_kind(i32 \00" @.str15788 = private unnamed_addr constant [2 x i8] c")\00" @.str15789 = private unnamed_addr constant [4 x i8] c"int\00" @.str15790 = private unnamed_addr constant [15 x i8] c"world_model_id\00" @.str15791 = private unnamed_addr constant [55 x i8] c"build/cfree/selfhost.ludic:23916: index out of range: \00" @.str15792 = private unnamed_addr constant [30 x i8] c"call i32 @ludic_model_id(ptr \00" @.str15793 = private unnamed_addr constant [2 x i8] c")\00" @.str15794 = private unnamed_addr constant [4 x i8] c"int\00" @.str15795 = private unnamed_addr constant [17 x i8] c"world_query_next\00" @.str15796 = private unnamed_addr constant [55 x i8] c"build/cfree/selfhost.ludic:23917: index out of range: \00" @.str15797 = private unnamed_addr constant [55 x i8] c"build/cfree/selfhost.ludic:23917: index out of range: \00" @.str15798 = private unnamed_addr constant [32 x i8] c"call i32 @ludic_query_next(i32 \00" @.str15799 = private unnamed_addr constant [7 x i8] c", i32 \00" @.str15800 = private unnamed_addr constant [2 x i8] c")\00" @.str15801 = private unnamed_addr constant [4 x i8] c"int\00" @.str15802 = private unnamed_addr constant [20 x i8] c"world_register_prop\00" @.str15803 = private unnamed_addr constant [55 x i8] c"build/cfree/selfhost.ludic:23918: index out of range: \00" @.str15804 = private unnamed_addr constant [55 x i8] c"build/cfree/selfhost.ludic:23918: index out of range: \00" @.str15805 = private unnamed_addr constant [35 x i8] c"call i32 @ludic_register_prop(ptr \00" @.str15806 = private unnamed_addr constant [7 x i8] c", i32 \00" @.str15807 = private unnamed_addr constant [2 x i8] c")\00" @.str15808 = private unnamed_addr constant [4 x i8] c"int\00" @.str15809 = private unnamed_addr constant [17 x i8] c"world_attach_dyn\00" @.str15810 = private unnamed_addr constant [55 x i8] c"build/cfree/selfhost.ludic:23919: index out of range: \00" @.str15811 = private unnamed_addr constant [55 x i8] c"build/cfree/selfhost.ludic:23919: index out of range: \00" @.str15812 = private unnamed_addr constant [35 x i8] c" call void @ludic_attach_dyn(i32 \00" @.str15813 = private unnamed_addr constant [7 x i8] c", i32 \00" @.str15814 = private unnamed_addr constant [3 x i8] c")\0A\00" @.str15815 = private unnamed_addr constant [2 x i8] c"0\00" @.str15816 = private unnamed_addr constant [5 x i8] c"void\00" @.str15817 = private unnamed_addr constant [17 x i8] c"world_detach_dyn\00" @.str15818 = private unnamed_addr constant [55 x i8] c"build/cfree/selfhost.ludic:23920: index out of range: \00" @.str15819 = private unnamed_addr constant [55 x i8] c"build/cfree/selfhost.ludic:23920: index out of range: \00" @.str15820 = private unnamed_addr constant [35 x i8] c" call void @ludic_detach_dyn(i32 \00" @.str15821 = private unnamed_addr constant [7 x i8] c", i32 \00" @.str15822 = private unnamed_addr constant [3 x i8] c")\0A\00" @.str15823 = private unnamed_addr constant [2 x i8] c"0\00" @.str15824 = private unnamed_addr constant [5 x i8] c"void\00" @.str15825 = private unnamed_addr constant [12 x i8] c"world_spawn\00" @.str15826 = private unnamed_addr constant [55 x i8] c"build/cfree/selfhost.ludic:23921: index out of range: \00" @.str15827 = private unnamed_addr constant [27 x i8] c"call i32 @ludic_spawn(i32 \00" @.str15828 = private unnamed_addr constant [2 x i8] c")\00" @.str15829 = private unnamed_addr constant [4 x i8] c"int\00" @.str15830 = private unnamed_addr constant [17 x i8] c"world_prop_count\00" @.str15831 = private unnamed_addr constant [29 x i8] c"call i32 @ludic_prop_count()\00" @.str15832 = private unnamed_addr constant [4 x i8] c"int\00" @.str15833 = private unnamed_addr constant [16 x i8] c"world_prop_name\00" @.str15834 = private unnamed_addr constant [55 x i8] c"build/cfree/selfhost.ludic:23924: index out of range: \00" @.str15835 = private unnamed_addr constant [31 x i8] c"call ptr @ludic_prop_name(i32 \00" @.str15836 = private unnamed_addr constant [2 x i8] c")\00" @.str15837 = private unnamed_addr constant [7 x i8] c"string\00" @.str15838 = private unnamed_addr constant [18 x i8] c"world_field_count\00" @.str15839 = private unnamed_addr constant [55 x i8] c"build/cfree/selfhost.ludic:23925: index out of range: \00" @.str15840 = private unnamed_addr constant [33 x i8] c"call i32 @ludic_field_count(i32 \00" @.str15841 = private unnamed_addr constant [2 x i8] c")\00" @.str15842 = private unnamed_addr constant [4 x i8] c"int\00" @.str15843 = private unnamed_addr constant [17 x i8] c"world_field_name\00" @.str15844 = private unnamed_addr constant [55 x i8] c"build/cfree/selfhost.ludic:23926: index out of range: \00" @.str15845 = private unnamed_addr constant [55 x i8] c"build/cfree/selfhost.ludic:23926: index out of range: \00" @.str15846 = private unnamed_addr constant [32 x i8] c"call ptr @ludic_field_name(i32 \00" @.str15847 = private unnamed_addr constant [7 x i8] c", i32 \00" @.str15848 = private unnamed_addr constant [2 x i8] c")\00" @.str15849 = private unnamed_addr constant [7 x i8] c"string\00" @.str15850 = private unnamed_addr constant [17 x i8] c"world_field_type\00" @.str15851 = private unnamed_addr constant [55 x i8] c"build/cfree/selfhost.ludic:23927: index out of range: \00" @.str15852 = private unnamed_addr constant [55 x i8] c"build/cfree/selfhost.ludic:23927: index out of range: \00" @.str15853 = private unnamed_addr constant [32 x i8] c"call ptr @ludic_field_type(i32 \00" @.str15854 = private unnamed_addr constant [7 x i8] c", i32 \00" @.str15855 = private unnamed_addr constant [2 x i8] c")\00" @.str15856 = private unnamed_addr constant [7 x i8] c"string\00" @.str15857 = private unnamed_addr constant [55 x i8] c"build/cfree/selfhost.ludic:23943: index out of range: \00" @.str15858 = private unnamed_addr constant [15 x i8] c"load ptr, ptr \00" @.str15859 = private unnamed_addr constant [8 x i8] c"pointer\00" @.str15860 = private unnamed_addr constant [55 x i8] c"build/cfree/selfhost.ludic:23947: index out of range: \00" @.str15861 = private unnamed_addr constant [8 x i8] c"pointer\00" @.str15862 = private unnamed_addr constant [3 x i8] c" \00" @.str15863 = private unnamed_addr constant [2 x i8] c"0\00" @.str15864 = private unnamed_addr constant [5 x i8] c"void\00" @.str15865 = private unnamed_addr constant [4 x i8] c" = \00" @.str15866 = private unnamed_addr constant [6 x i8] c"call \00" @.str15867 = private unnamed_addr constant [3 x i8] c" @\00" @.str15868 = private unnamed_addr constant [2 x i8] c"(\00" @.str15869 = private unnamed_addr constant [3 x i8] c", \00" @.str15870 = private unnamed_addr constant [55 x i8] c"build/cfree/selfhost.ludic:23961: index out of range: \00" @.str15871 = private unnamed_addr constant [2 x i8] c" \00" @.str15872 = private unnamed_addr constant [55 x i8] c"build/cfree/selfhost.ludic:23961: index out of range: \00" @.str15873 = private unnamed_addr constant [3 x i8] c")\0A\00" @.str15874 = private unnamed_addr constant [4 x i8] c"rt_\00" @.str15875 = private unnamed_addr constant [18 x i8] c"unknown function \00" @.str15876 = private unnamed_addr constant [55 x i8] c"build/cfree/selfhost.ludic:23995: index out of range: \00" @.str15877 = private unnamed_addr constant [55 x i8] c"build/cfree/selfhost.ludic:23997: index out of range: \00" @.str15878 = private unnamed_addr constant [3 x i8] c" \00" @.str15879 = private unnamed_addr constant [2 x i8] c"0\00" @.str15880 = private unnamed_addr constant [5 x i8] c"void\00" @.str15881 = private unnamed_addr constant [4 x i8] c" = \00" @.str15882 = private unnamed_addr constant [6 x i8] c"call \00" @.str15883 = private unnamed_addr constant [6 x i8] c" @fn_\00" @.str15884 = private unnamed_addr constant [2 x i8] c"(\00" @.str15885 = private unnamed_addr constant [3 x i8] c", \00" @.str15886 = private unnamed_addr constant [55 x i8] c"build/cfree/selfhost.ludic:24008: index out of range: \00" @.str15887 = private unnamed_addr constant [2 x i8] c" \00" @.str15888 = private unnamed_addr constant [55 x i8] c"build/cfree/selfhost.ludic:24008: index out of range: \00" @.str15889 = private unnamed_addr constant [3 x i8] c")\0A\00" @.str15890 = private unnamed_addr constant [2 x i8] c"0\00" @.str15891 = private unnamed_addr constant [4 x i8] c"int\00" @.str15892 = private unnamed_addr constant [2 x i8] c"0\00" @.str15893 = private unnamed_addr constant [4 x i8] c"int\00" @.str15894 = private unnamed_addr constant [5 x i8] c"long\00" @.str15895 = private unnamed_addr constant [4 x i8] c"int\00" @.str15896 = private unnamed_addr constant [6 x i8] c"float\00" @.str15897 = private unnamed_addr constant [6 x i8] c"float\00" @.str15898 = private unnamed_addr constant [6 x i8] c"fixed\00" @.str15899 = private unnamed_addr constant [55 x i8] c"build/cfree/selfhost.ludic:24038: index out of range: \00" @.str15900 = private unnamed_addr constant [14 x i8] c"emit_expr_raw\00" @.str15901 = private unnamed_addr constant [5 x i8] c"bool\00" @.str15902 = private unnamed_addr constant [5 x i8] c"null\00" @.str15903 = private unnamed_addr constant [8 x i8] c"pointer\00" @.str15904 = private unnamed_addr constant [7 x i8] c"entity\00" @.str15905 = private unnamed_addr constant [28 x i8] c"call ptr @lp_str_slice(ptr \00" @.str15906 = private unnamed_addr constant [7 x i8] c", i32 \00" @.str15907 = private unnamed_addr constant [7 x i8] c", i32 \00" @.str15908 = private unnamed_addr constant [2 x i8] c")\00" @.str15909 = private unnamed_addr constant [7 x i8] c"string\00" @.str15910 = private unnamed_addr constant [4 x i8] c"Key\00" @.str15911 = private unnamed_addr constant [7 x i8] c"string\00" @.str15912 = private unnamed_addr constant [55 x i8] c"build/cfree/selfhost.ludic:24064: index out of range: \00" @.str15913 = private unnamed_addr constant [55 x i8] c"build/cfree/selfhost.ludic:24064: index out of range: \00" @.str15914 = private unnamed_addr constant [7 x i8] c"const \00" @.str15915 = private unnamed_addr constant [6 x i8] c"load \00" @.str15916 = private unnamed_addr constant [10 x i8] c", ptr @g_\00" @.str15917 = private unnamed_addr constant [4 x i8] c"int\00" @.str15918 = private unnamed_addr constant [20 x i8] c"unknown identifier \00" @.str15919 = private unnamed_addr constant [6 x i8] c"Color\00" @.str15920 = private unnamed_addr constant [21 x i8] c"unknown color Color.\00" @.str15921 = private unnamed_addr constant [4 x i8] c"int\00" @.str15922 = private unnamed_addr constant [4 x i8] c"Key\00" @.str15923 = private unnamed_addr constant [17 x i8] c"unknown key Key.\00" @.str15924 = private unnamed_addr constant [4 x i8] c"int\00" @.str15925 = private unnamed_addr constant [4 x i8] c"int\00" @.str15926 = private unnamed_addr constant [6 x i8] c"IVec2\00" @.str15927 = private unnamed_addr constant [2 x i8] c"x\00" @.str15928 = private unnamed_addr constant [2 x i8] c"y\00" @.str15929 = private unnamed_addr constant [2 x i8] c"x\00" @.str15930 = private unnamed_addr constant [4 x i8] c"int\00" @.str15931 = private unnamed_addr constant [4 x i8] c"int\00" @.str15932 = private unnamed_addr constant [5 x i8] c"byte\00" @.str15933 = private unnamed_addr constant [14 x i8] c"load i8, ptr \00" @.str15934 = private unnamed_addr constant [9 x i8] c"zext i8 \00" @.str15935 = private unnamed_addr constant [8 x i8] c" to i32\00" @.str15936 = private unnamed_addr constant [4 x i8] c"int\00" @.str15937 = private unnamed_addr constant [2 x i8] c"-\00" @.str15938 = private unnamed_addr constant [6 x i8] c"fneg \00" @.str15939 = private unnamed_addr constant [2 x i8] c" \00" @.str15940 = private unnamed_addr constant [10 x i8] c"operator \00" @.str15941 = private unnamed_addr constant [20 x i8] c" does not apply to \00" @.str15942 = private unnamed_addr constant [2 x i8] c"-\00" @.str15943 = private unnamed_addr constant [12 x i8] c"sub i32 0, \00" @.str15944 = private unnamed_addr constant [6 x i8] c"fixed\00" @.str15945 = private unnamed_addr constant [4 x i8] c"i64\00" @.str15946 = private unnamed_addr constant [2 x i8] c"-\00" @.str15947 = private unnamed_addr constant [12 x i8] c"sub i64 0, \00" @.str15948 = private unnamed_addr constant [5 x i8] c"long\00" @.str15949 = private unnamed_addr constant [2 x i8] c"~\00" @.str15950 = private unnamed_addr constant [9 x i8] c"xor i64 \00" @.str15951 = private unnamed_addr constant [5 x i8] c", -1\00" @.str15952 = private unnamed_addr constant [5 x i8] c"long\00" @.str15953 = private unnamed_addr constant [2 x i8] c"-\00" @.str15954 = private unnamed_addr constant [12 x i8] c"sub i32 0, \00" @.str15955 = private unnamed_addr constant [2 x i8] c"~\00" @.str15956 = private unnamed_addr constant [9 x i8] c"xor i32 \00" @.str15957 = private unnamed_addr constant [5 x i8] c", -1\00" @.str15958 = private unnamed_addr constant [13 x i8] c"icmp eq i32 \00" @.str15959 = private unnamed_addr constant [4 x i8] c", 0\00" @.str15960 = private unnamed_addr constant [9 x i8] c"zext i1 \00" @.str15961 = private unnamed_addr constant [8 x i8] c" to i32\00" @.str15962 = private unnamed_addr constant [5 x i8] c"bool\00" @.str15963 = private unnamed_addr constant [35 x i8] c"cannot emit expression (node kind \00" @.str15964 = private unnamed_addr constant [2 x i8] c")\00" @.str15965 = private unnamed_addr constant [2 x i8] c"0\00" @.str15966 = private unnamed_addr constant [4 x i8] c"int\00" @.str15967 = private unnamed_addr constant [4 x i8] c"fn(\00" @.str15968 = private unnamed_addr constant [2 x i8] c",\00" @.str15969 = private unnamed_addr constant [10 x i8] c"fn_sig_of\00" @.str15970 = private unnamed_addr constant [55 x i8] c"build/cfree/selfhost.ludic:24176: index out of range: \00" @.str15971 = private unnamed_addr constant [5 x i8] c"void\00" @.str15972 = private unnamed_addr constant [4 x i8] c")->\00" @.str15973 = private unnamed_addr constant [13 x i8] c"fn_ty_params\00" @.str15974 = private unnamed_addr constant [10 x i8] c"fn_ty_ret\00" @.str15975 = private unnamed_addr constant [5 x i8] c"void\00" @.str15976 = private unnamed_addr constant [4 x i8] c"fn \00" @.str15977 = private unnamed_addr constant [11 x i8] c"emit_fnref\00" @.str15978 = private unnamed_addr constant [22 x i8] c": no function called \00" @.str15979 = private unnamed_addr constant [5 x i8] c"@fn_\00" @.str15980 = private unnamed_addr constant [55 x i8] c"build/cfree/selfhost.ludic:24233: index out of range: \00" @.str15981 = private unnamed_addr constant [11 x i8] c"state_lead\00" @.str15982 = private unnamed_addr constant [55 x i8] c"build/cfree/selfhost.ludic:24233: index out of range: \00" @.str15983 = private unnamed_addr constant [5 x i8] c"@fn_\00" @.str15984 = private unnamed_addr constant [15 x i8] c"emit_inj_thunk\00" @.str15985 = private unnamed_addr constant [5 x i8] c"$inj\00" @.str15986 = private unnamed_addr constant [55 x i8] c"build/cfree/selfhost.ludic:24244: index out of range: \00" @.str15987 = private unnamed_addr constant [5 x i8] c"void\00" @.str15988 = private unnamed_addr constant [1 x i8] c"\00" @.str15989 = private unnamed_addr constant [1 x i8] c"\00" @.str15990 = private unnamed_addr constant [1 x i8] c"\00" @.str15991 = private unnamed_addr constant [55 x i8] c"build/cfree/selfhost.ludic:24256: index out of range: \00" @.str15992 = private unnamed_addr constant [5 x i8] c" %s\00" @.str15993 = private unnamed_addr constant [22 x i8] c" = call ptr @S_state$\00" @.str15994 = private unnamed_addr constant [4 x i8] c"()\0A\00" @.str15995 = private unnamed_addr constant [5 x i8] c" %s\00" @.str15996 = private unnamed_addr constant [27 x i8] c" = load ptr, ptr @g_state$\00" @.str15997 = private unnamed_addr constant [2 x i8] c"\0A\00" @.str15998 = private unnamed_addr constant [3 x i8] c", \00" @.str15999 = private unnamed_addr constant [7 x i8] c"ptr %s\00" @.str16000 = private unnamed_addr constant [3 x i8] c", \00" @.str16001 = private unnamed_addr constant [4 x i8] c" %p\00" @.str16002 = private unnamed_addr constant [3 x i8] c", \00" @.str16003 = private unnamed_addr constant [4 x i8] c" %p\00" @.str16004 = private unnamed_addr constant [8 x i8] c" call \00" @.str16005 = private unnamed_addr constant [6 x i8] c" @fn_\00" @.str16006 = private unnamed_addr constant [2 x i8] c"(\00" @.str16007 = private unnamed_addr constant [14 x i8] c")\0A ret void\0A\00" @.str16008 = private unnamed_addr constant [5 x i8] c"void\00" @.str16009 = private unnamed_addr constant [13 x i8] c" %r = call \00" @.str16010 = private unnamed_addr constant [6 x i8] c" @fn_\00" @.str16011 = private unnamed_addr constant [2 x i8] c"(\00" @.str16012 = private unnamed_addr constant [9 x i8] c")\0A ret \00" @.str16013 = private unnamed_addr constant [5 x i8] c" %r\0A\00" @.str16014 = private unnamed_addr constant [8 x i8] c"define \00" @.str16015 = private unnamed_addr constant [2 x i8] c" \00" @.str16016 = private unnamed_addr constant [2 x i8] c"(\00" @.str16017 = private unnamed_addr constant [12 x i8] c") {\0Aentry:\0A\00" @.str16018 = private unnamed_addr constant [4 x i8] c"}\0A\0A\00" @.str16019 = private unnamed_addr constant [5 x i8] c"@fn_\00" @.str16020 = private unnamed_addr constant [7 x i8] c"fn_sym\00" @.str16021 = private unnamed_addr constant [3 x i8] c"a \00" @.str16022 = private unnamed_addr constant [19 x i8] c"emit_indirect_call\00" @.str16023 = private unnamed_addr constant [8 x i8] c" takes \00" @.str16024 = private unnamed_addr constant [35 x i8] c" argument(s), and this call gives \00" @.str16025 = private unnamed_addr constant [55 x i8] c"build/cfree/selfhost.ludic:24289: index out of range: \00" @.str16026 = private unnamed_addr constant [55 x i8] c"build/cfree/selfhost.ludic:24290: index out of range: \00" @.str16027 = private unnamed_addr constant [3 x i8] c" \00" @.str16028 = private unnamed_addr constant [2 x i8] c"0\00" @.str16029 = private unnamed_addr constant [5 x i8] c"void\00" @.str16030 = private unnamed_addr constant [4 x i8] c" = \00" @.str16031 = private unnamed_addr constant [6 x i8] c"call \00" @.str16032 = private unnamed_addr constant [2 x i8] c" \00" @.str16033 = private unnamed_addr constant [2 x i8] c"(\00" @.str16034 = private unnamed_addr constant [3 x i8] c", \00" @.str16035 = private unnamed_addr constant [55 x i8] c"build/cfree/selfhost.ludic:24305: index out of range: \00" @.str16036 = private unnamed_addr constant [2 x i8] c" \00" @.str16037 = private unnamed_addr constant [55 x i8] c"build/cfree/selfhost.ludic:24305: index out of range: \00" @.str16038 = private unnamed_addr constant [3 x i8] c")\0A\00" @.str16039 = private unnamed_addr constant [55 x i8] c"build/cfree/selfhost.ludic:24317: index out of range: \00" @.str16040 = private unnamed_addr constant [13 x i8] c"callee_value\00" @.str16041 = private unnamed_addr constant [3 x i8] c"a \00" @.str16042 = private unnamed_addr constant [40 x i8] c" is not a function and cannot be called\00" @.str16043 = private unnamed_addr constant [5 x i8] c"void\00" @.str16044 = private unnamed_addr constant [55 x i8] c"build/cfree/selfhost.ludic:24344: index out of range: \00" @.str16045 = private unnamed_addr constant [17 x i8] c"check_worker_ref\00" @.str16046 = private unnamed_addr constant [4 x i8] c"i32\00" @.str16047 = private unnamed_addr constant [55 x i8] c"build/cfree/selfhost.ludic:24344: index out of range: \00" @.str16048 = private unnamed_addr constant [4 x i8] c"ptr\00" @.str16049 = private unnamed_addr constant [4 x i8] c"fn \00" @.str16050 = private unnamed_addr constant [69 x i8] c": a worker function takes (i: int, ctx: pointer) and returns nothing\00" @.str16051 = private unnamed_addr constant [55 x i8] c"build/cfree/selfhost.ludic:24349: index out of range: \00" @.str16052 = private unnamed_addr constant [4 x i8] c"fn \00" @.str16053 = private unnamed_addr constant [55 x i8] c": a worker runs on every core at once, so it may read \00" @.str16054 = private unnamed_addr constant [21 x i8] c" but not change it (\00" @.str16055 = private unnamed_addr constant [7 x i8] c": mut \00" @.str16056 = private unnamed_addr constant [58 x i8] c"); write results into ctx, shared counts through Sync.add\00" @.str16057 = private unnamed_addr constant [17 x i8] c"LUDIC_VIS_REPORT\00" @.str16058 = private unnamed_addr constant [10 x i8] c"vis_plain\00" @.str16059 = private unnamed_addr constant [8 x i8] c"vis_say\00" @.str16060 = private unnamed_addr constant [7 x i8] c"state$\00" @.str16061 = private unnamed_addr constant [15 x i8] c"ludic_reduce__\00" @.str16062 = private unnamed_addr constant [1 x i8] c"\00" @.str16063 = private unnamed_addr constant [7 x i8] c"uses: \00" @.str16064 = private unnamed_addr constant [10 x i8] c"vis_check\00" @.str16065 = private unnamed_addr constant [2 x i8] c":\00" @.str16066 = private unnamed_addr constant [3 x i8] c": \00" @.str16067 = private unnamed_addr constant [2 x i8] c".\00" @.str16068 = private unnamed_addr constant [12 x i8] c" used from \00" @.str16069 = private unnamed_addr constant [10 x i8] c" (module \00" @.str16070 = private unnamed_addr constant [3 x i8] c")\0A\00" @.str16071 = private unnamed_addr constant [7 x i8] c" uses \00" @.str16072 = private unnamed_addr constant [2 x i8] c".\00" @.str16073 = private unnamed_addr constant [3 x i8] c" (\00" @.str16074 = private unnamed_addr constant [2 x i8] c":\00" @.str16075 = private unnamed_addr constant [14 x i8] c"): add 'uses \00" @.str16076 = private unnamed_addr constant [6 x i8] c"' to \00" @.str16077 = private unnamed_addr constant [42 x i8] c"'s module line, or take it through a port\00" @.str16078 = private unnamed_addr constant [6 x i8] c"error\00" @.str16079 = private unnamed_addr constant [1 x i8] c"\00" @.str16080 = private unnamed_addr constant [6 x i8] c"vis: \00" @.str16081 = private unnamed_addr constant [2 x i8] c":\00" @.str16082 = private unnamed_addr constant [3 x i8] c": \00" @.str16083 = private unnamed_addr constant [2 x i8] c".\00" @.str16084 = private unnamed_addr constant [12 x i8] c" used from \00" @.str16085 = private unnamed_addr constant [2 x i8] c"\0A\00" @.str16086 = private unnamed_addr constant [23 x i8] c" is private to module \00" @.str16087 = private unnamed_addr constant [42 x i8] c"; mark it 'export' where it is declared (\00" @.str16088 = private unnamed_addr constant [2 x i8] c")\00" @.str16089 = private unnamed_addr constant [6 x i8] c"error\00" @.str16090 = private unnamed_addr constant [3 x i8] c"wb\00" @.str16091 = private unnamed_addr constant [13 x i8] c"schema_write\00" @.str16092 = private unnamed_addr constant [37 x i8] c"{\0A \22schema_version\22: 1,\0A \22entry\22: \00" @.str16093 = private unnamed_addr constant [17 x i8] c",\0A \22records\22: [\00" @.str16094 = private unnamed_addr constant [24 x i8] c"\0A ],\0A \22registries\22: [\00" @.str16095 = private unnamed_addr constant [20 x i8] c"\0A ],\0A \22consts\22: [\00" @.str16096 = private unnamed_addr constant [23 x i8] c"\0A ],\0A \22functions\22: [\00" @.str16097 = private unnamed_addr constant [24 x i8] c"\0A ],\0A \22components\22: [\00" @.str16098 = private unnamed_addr constant [21 x i8] c"\0A ],\0A \22natives\22: [\00" @.str16099 = private unnamed_addr constant [19 x i8] c"\0A ],\0A \22units\22: [\00" @.str16100 = private unnamed_addr constant [14 x i8] c"],\0A \22lang\22: \00" @.str16101 = private unnamed_addr constant [4 x i8] c"\0A}\0A\00" @.str16102 = private unnamed_addr constant [1 x i8] c"\00" @.str16103 = private unnamed_addr constant [55 x i8] c"build/cfree/selfhost.ludic:24497: index out of range: \00" @.str16104 = private unnamed_addr constant [8 x i8] c"sc_name\00" @.str16105 = private unnamed_addr constant [55 x i8] c"build/cfree/selfhost.ludic:24497: index out of range: \00" @.str16106 = private unnamed_addr constant [55 x i8] c"build/cfree/selfhost.ludic:24502: index out of range: \00" @.str16107 = private unnamed_addr constant [55 x i8] c"build/cfree/selfhost.ludic:24502: index out of range: \00" @.str16108 = private unnamed_addr constant [5 x i8] c"void\00" @.str16109 = private unnamed_addr constant [1 x i8] c"\00" @.str16110 = private unnamed_addr constant [6 x i8] c"sc_ty\00" @.str16111 = private unnamed_addr constant [55 x i8] c"build/cfree/selfhost.ludic:24527: index out of range: \00" @.str16112 = private unnamed_addr constant [11 x i8] c"sc_ty_word\00" @.str16113 = private unnamed_addr constant [55 x i8] c"build/cfree/selfhost.ludic:24528: index out of range: \00" @.str16114 = private unnamed_addr constant [2 x i8] c"<\00" @.str16115 = private unnamed_addr constant [3 x i8] c", \00" @.str16116 = private unnamed_addr constant [55 x i8] c"build/cfree/selfhost.ludic:24532: index out of range: \00" @.str16117 = private unnamed_addr constant [2 x i8] c">\00" @.str16118 = private unnamed_addr constant [8 x i8] c"sc_text\00" @.str16119 = private unnamed_addr constant [7 x i8] c"sc_doc\00" @.str16120 = private unnamed_addr constant [1 x i8] c"\00" @.str16121 = private unnamed_addr constant [55 x i8] c"build/cfree/selfhost.ludic:24577: index out of range: \00" @.str16122 = private unnamed_addr constant [2 x i8] c"\0A\00" @.str16123 = private unnamed_addr constant [11 x i8] c"sc_comment\00" @.str16124 = private unnamed_addr constant [5 x i8] c"null\00" @.str16125 = private unnamed_addr constant [5 x i8] c"true\00" @.str16126 = private unnamed_addr constant [6 x i8] c"false\00" @.str16127 = private unnamed_addr constant [2 x i8] c"[\00" @.str16128 = private unnamed_addr constant [55 x i8] c"build/cfree/selfhost.ludic:24625: index out of range: \00" @.str16129 = private unnamed_addr constant [9 x i8] c"sc_attrs\00" @.str16130 = private unnamed_addr constant [55 x i8] c"build/cfree/selfhost.ludic:24626: index out of range: \00" @.str16131 = private unnamed_addr constant [55 x i8] c"build/cfree/selfhost.ludic:24626: index out of range: \00" @.str16132 = private unnamed_addr constant [55 x i8] c"build/cfree/selfhost.ludic:24627: index out of range: \00" @.str16133 = private unnamed_addr constant [3 x i8] c", \00" @.str16134 = private unnamed_addr constant [10 x i8] c"{\22name\22: \00" @.str16135 = private unnamed_addr constant [55 x i8] c"build/cfree/selfhost.ludic:24629: index out of range: \00" @.str16136 = private unnamed_addr constant [11 x i8] c", \22args\22: \00" @.str16137 = private unnamed_addr constant [55 x i8] c"build/cfree/selfhost.ludic:24631: index out of range: \00" @.str16138 = private unnamed_addr constant [55 x i8] c"build/cfree/selfhost.ludic:24632: index out of range: \00" @.str16139 = private unnamed_addr constant [21 x i8] c", \22unresolved\22: true\00" @.str16140 = private unnamed_addr constant [55 x i8] c"build/cfree/selfhost.ludic:24633: index out of range: \00" @.str16141 = private unnamed_addr constant [6 x i8] c"Asset\00" @.str16142 = private unnamed_addr constant [55 x i8] c"build/cfree/selfhost.ludic:24633: index out of range: \00" @.str16143 = private unnamed_addr constant [17 x i8] c", \22scope\22: \22map\22\00" @.str16144 = private unnamed_addr constant [55 x i8] c"build/cfree/selfhost.ludic:24634: index out of range: \00" @.str16145 = private unnamed_addr constant [4 x i8] c"Ref\00" @.str16146 = private unnamed_addr constant [55 x i8] c"build/cfree/selfhost.ludic:24634: index out of range: \00" @.str16147 = private unnamed_addr constant [55 x i8] c"build/cfree/selfhost.ludic:24634: index out of range: \00" @.str16148 = private unnamed_addr constant [17 x i8] c", \22scope\22: \22map\22\00" @.str16149 = private unnamed_addr constant [2 x i8] c"}\00" @.str16150 = private unnamed_addr constant [2 x i8] c"]\00" @.str16151 = private unnamed_addr constant [9 x i8] c"\22file\22: \00" @.str16152 = private unnamed_addr constant [11 x i8] c", \22line\22: \00" @.str16153 = private unnamed_addr constant [10 x i8] c", \22col\22: \00" @.str16154 = private unnamed_addr constant [2 x i8] c",\00" @.str16155 = private unnamed_addr constant [2 x i8] c"\0A\00" @.str16156 = private unnamed_addr constant [8 x i8] c"sc_sort\00" @.str16157 = private unnamed_addr constant [55 x i8] c"build/cfree/selfhost.ludic:24673: index out of range: \00" @.str16158 = private unnamed_addr constant [9 x i8] c"sc_msort\00" @.str16159 = private unnamed_addr constant [55 x i8] c"build/cfree/selfhost.ludic:24673: index out of range: \00" @.str16160 = private unnamed_addr constant [55 x i8] c"build/cfree/selfhost.ludic:24673: index out of range: \00" @.str16161 = private unnamed_addr constant [55 x i8] c"build/cfree/selfhost.ludic:24673: index out of range: \00" @.str16162 = private unnamed_addr constant [55 x i8] c"build/cfree/selfhost.ludic:24674: index out of range: \00" @.str16163 = private unnamed_addr constant [55 x i8] c"build/cfree/selfhost.ludic:24674: index out of range: \00" @.str16164 = private unnamed_addr constant [55 x i8] c"build/cfree/selfhost.ludic:24677: index out of range: \00" @.str16165 = private unnamed_addr constant [55 x i8] c"build/cfree/selfhost.ludic:24677: index out of range: \00" @.str16166 = private unnamed_addr constant [55 x i8] c"build/cfree/selfhost.ludic:24684: index out of range: \00" @.str16167 = private unnamed_addr constant [55 x i8] c"build/cfree/selfhost.ludic:24684: index out of range: \00" @.str16168 = private unnamed_addr constant [1 x i8] c"\00" @.str16169 = private unnamed_addr constant [2 x i8] c"\09\00" @.str16170 = private unnamed_addr constant [7 x i8] c"sc_key\00" @.str16171 = private unnamed_addr constant [2 x i8] c"\09\00" @.str16172 = private unnamed_addr constant [11 x i8] c"sc_records\00" @.str16173 = private unnamed_addr constant [55 x i8] c"build/cfree/selfhost.ludic:24707: index out of range: \00" @.str16174 = private unnamed_addr constant [55 x i8] c"build/cfree/selfhost.ludic:24717: index out of range: \00" @.str16175 = private unnamed_addr constant [55 x i8] c"build/cfree/selfhost.ludic:24728: index out of range: \00" @.str16176 = private unnamed_addr constant [55 x i8] c"build/cfree/selfhost.ludic:24728: index out of range: \00" @.str16177 = private unnamed_addr constant [5 x i8] c" \00" @.str16178 = private unnamed_addr constant [9 x i8] c"property\00" @.str16179 = private unnamed_addr constant [6 x i8] c"event\00" @.str16180 = private unnamed_addr constant [6 x i8] c"state\00" @.str16181 = private unnamed_addr constant [10 x i8] c"{\22name\22: \00" @.str16182 = private unnamed_addr constant [11 x i8] c", \22kind\22: \00" @.str16183 = private unnamed_addr constant [13 x i8] c", \22module\22: \00" @.str16184 = private unnamed_addr constant [15 x i8] c", \22exported\22: \00" @.str16185 = private unnamed_addr constant [3 x i8] c", \00" @.str16186 = private unnamed_addr constant [18 x i8] c", \22type_params\22: \00" @.str16187 = private unnamed_addr constant [5 x i8] c"null\00" @.str16188 = private unnamed_addr constant [15 x i8] c",\0A \22doc\22: \00" @.str16189 = private unnamed_addr constant [19 x i8] c",\0A \22fields\22: [\00" @.str16190 = private unnamed_addr constant [55 x i8] c"build/cfree/selfhost.ludic:24754: index out of range: \00" @.str16191 = private unnamed_addr constant [10 x i8] c"sc_record\00" @.str16192 = private unnamed_addr constant [7 x i8] c"\0A \00" @.str16193 = private unnamed_addr constant [3 x i8] c"]}\00" @.str16194 = private unnamed_addr constant [7 x i8] c" \00" @.str16195 = private unnamed_addr constant [10 x i8] c"{\22name\22: \00" @.str16196 = private unnamed_addr constant [11 x i8] c", \22type\22: \00" @.str16197 = private unnamed_addr constant [14 x i8] c", \22default\22: \00" @.str16198 = private unnamed_addr constant [3 x i8] c", \00" @.str16199 = private unnamed_addr constant [17 x i8] c", \22attributes\22: \00" @.str16200 = private unnamed_addr constant [10 x i8] c", \22doc\22: \00" @.str16201 = private unnamed_addr constant [2 x i8] c"}\00" @.str16202 = private unnamed_addr constant [14 x i8] c"sc_registries\00" @.str16203 = private unnamed_addr constant [55 x i8] c"build/cfree/selfhost.ludic:24787: index out of range: \00" @.str16204 = private unnamed_addr constant [55 x i8] c"build/cfree/selfhost.ludic:24790: index out of range: \00" @.str16205 = private unnamed_addr constant [1 x i8] c"\00" @.str16206 = private unnamed_addr constant [55 x i8] c"build/cfree/selfhost.ludic:24799: index out of range: \00" @.str16207 = private unnamed_addr constant [55 x i8] c"build/cfree/selfhost.ludic:24804: index out of range: \00" @.str16208 = private unnamed_addr constant [12 x i8] c"sc_registry\00" @.str16209 = private unnamed_addr constant [5 x i8] c" \00" @.str16210 = private unnamed_addr constant [10 x i8] c"{\22name\22: \00" @.str16211 = private unnamed_addr constant [55 x i8] c"build/cfree/selfhost.ludic:24807: index out of range: \00" @.str16212 = private unnamed_addr constant [13 x i8] c", \22record\22: \00" @.str16213 = private unnamed_addr constant [55 x i8] c"build/cfree/selfhost.ludic:24809: index out of range: \00" @.str16214 = private unnamed_addr constant [13 x i8] c", \22prefix\22: \00" @.str16215 = private unnamed_addr constant [5 x i8] c"null\00" @.str16216 = private unnamed_addr constant [55 x i8] c"build/cfree/selfhost.ludic:24811: index out of range: \00" @.str16217 = private unnamed_addr constant [13 x i8] c", \22source\22: \00" @.str16218 = private unnamed_addr constant [55 x i8] c"build/cfree/selfhost.ludic:24813: index out of range: \00" @.str16219 = private unnamed_addr constant [11 x i8] c", \22open\22: \00" @.str16220 = private unnamed_addr constant [55 x i8] c"build/cfree/selfhost.ludic:24815: index out of range: \00" @.str16221 = private unnamed_addr constant [15 x i8] c", \22exported\22: \00" @.str16222 = private unnamed_addr constant [13 x i8] c", \22module\22: \00" @.str16223 = private unnamed_addr constant [28 x i8] c", \22scope\22: \22map\22, \22chunk\22: \00" @.str16224 = private unnamed_addr constant [55 x i8] c"build/cfree/selfhost.ludic:24822: index out of range: \00" @.str16225 = private unnamed_addr constant [55 x i8] c"build/cfree/selfhost.ludic:24822: index out of range: \00" @.str16226 = private unnamed_addr constant [5 x i8] c"null\00" @.str16227 = private unnamed_addr constant [11 x i8] c", \22maps\22: \00" @.str16228 = private unnamed_addr constant [33 x i8] c", \22scope\22: \22game\22, \22chunk\22: null\00" @.str16229 = private unnamed_addr constant [8 x i8] c",\0A \00" @.str16230 = private unnamed_addr constant [17 x i8] c", \22attributes\22: \00" @.str16231 = private unnamed_addr constant [55 x i8] c"build/cfree/selfhost.ludic:24831: index out of range: \00" @.str16232 = private unnamed_addr constant [10 x i8] c", \22doc\22: \00" @.str16233 = private unnamed_addr constant [17 x i8] c",\0A \22count\22: \00" @.str16234 = private unnamed_addr constant [25 x i8] c",\0A \22contributors\22: [\00" @.str16235 = private unnamed_addr constant [21 x i8] c"],\0A \22entries\22: [\00" @.str16236 = private unnamed_addr constant [55 x i8] c"build/cfree/selfhost.ludic:24842: index out of range: \00" @.str16237 = private unnamed_addr constant [7 x i8] c"\0A \00" @.str16238 = private unnamed_addr constant [3 x i8] c"]}\00" @.str16239 = private unnamed_addr constant [55 x i8] c"build/cfree/selfhost.ludic:24850: index out of range: \00" @.str16240 = private unnamed_addr constant [14 x i8] c"sc_contrib_id\00" @.str16241 = private unnamed_addr constant [5 x i8] c"def\0A\00" @.str16242 = private unnamed_addr constant [55 x i8] c"build/cfree/selfhost.ludic:24850: index out of range: \00" @.str16243 = private unnamed_addr constant [55 x i8] c"build/cfree/selfhost.ludic:24851: index out of range: \00" @.str16244 = private unnamed_addr constant [2 x i8] c"\0A\00" @.str16245 = private unnamed_addr constant [55 x i8] c"build/cfree/selfhost.ludic:24851: index out of range: \00" @.str16246 = private unnamed_addr constant [16 x i8] c"sc_contributors\00" @.str16247 = private unnamed_addr constant [55 x i8] c"build/cfree/selfhost.ludic:24858: index out of range: \00" @.str16248 = private unnamed_addr constant [55 x i8] c"build/cfree/selfhost.ludic:24863: index out of range: \00" @.str16249 = private unnamed_addr constant [2 x i8] c",\00" @.str16250 = private unnamed_addr constant [18 x i8] c"\0A {\22kind\22: \00" @.str16251 = private unnamed_addr constant [55 x i8] c"build/cfree/selfhost.ludic:24870: index out of range: \00" @.str16252 = private unnamed_addr constant [4 x i8] c"def\00" @.str16253 = private unnamed_addr constant [55 x i8] c"build/cfree/selfhost.ludic:24873: index out of range: \00" @.str16254 = private unnamed_addr constant [9 x i8] c"resource\00" @.str16255 = private unnamed_addr constant [11 x i8] c", \22file\22: \00" @.str16256 = private unnamed_addr constant [10 x i8] c", \22via\22: \00" @.str16257 = private unnamed_addr constant [55 x i8] c"build/cfree/selfhost.ludic:24880: index out of range: \00" @.str16258 = private unnamed_addr constant [13 x i8] c", \22module\22: \00" @.str16259 = private unnamed_addr constant [55 x i8] c"build/cfree/selfhost.ludic:24882: index out of range: \00" @.str16260 = private unnamed_addr constant [12 x i8] c", \22keys\22: [\00" @.str16261 = private unnamed_addr constant [55 x i8] c"build/cfree/selfhost.ludic:24887: index out of range: \00" @.str16262 = private unnamed_addr constant [3 x i8] c", \00" @.str16263 = private unnamed_addr constant [55 x i8] c"build/cfree/selfhost.ludic:24890: index out of range: \00" @.str16264 = private unnamed_addr constant [3 x i8] c"]}\00" @.str16265 = private unnamed_addr constant [7 x i8] c"\0A \00" @.str16266 = private unnamed_addr constant [55 x i8] c"build/cfree/selfhost.ludic:24902: index out of range: \00" @.str16267 = private unnamed_addr constant [9 x i8] c"sc_entry\00" @.str16268 = private unnamed_addr constant [8 x i8] c" \00" @.str16269 = private unnamed_addr constant [9 x i8] c"{\22key\22: \00" @.str16270 = private unnamed_addr constant [55 x i8] c"build/cfree/selfhost.ludic:24905: index out of range: \00" @.str16271 = private unnamed_addr constant [15 x i8] c", \22constant\22: \00" @.str16272 = private unnamed_addr constant [55 x i8] c"build/cfree/selfhost.ludic:24907: index out of range: \00" @.str16273 = private unnamed_addr constant [2 x i8] c"_\00" @.str16274 = private unnamed_addr constant [55 x i8] c"build/cfree/selfhost.ludic:24907: index out of range: \00" @.str16275 = private unnamed_addr constant [12 x i8] c", \22index\22: \00" @.str16276 = private unnamed_addr constant [3 x i8] c", \00" @.str16277 = private unnamed_addr constant [55 x i8] c"build/cfree/selfhost.ludic:24911: index out of range: \00" @.str16278 = private unnamed_addr constant [55 x i8] c"build/cfree/selfhost.ludic:24911: index out of range: \00" @.str16279 = private unnamed_addr constant [14 x i8] c", \22fields\22: [\00" @.str16280 = private unnamed_addr constant [55 x i8] c"build/cfree/selfhost.ludic:24916: index out of range: \00" @.str16281 = private unnamed_addr constant [2 x i8] c",\00" @.str16282 = private unnamed_addr constant [20 x i8] c"\0A {\22name\22: \00" @.str16283 = private unnamed_addr constant [12 x i8] c", \22value\22: \00" @.str16284 = private unnamed_addr constant [3 x i8] c", \00" @.str16285 = private unnamed_addr constant [2 x i8] c"}\00" @.str16286 = private unnamed_addr constant [9 x i8] c"\0A \00" @.str16287 = private unnamed_addr constant [3 x i8] c"]}\00" @.str16288 = private unnamed_addr constant [10 x i8] c"sc_consts\00" @.str16289 = private unnamed_addr constant [55 x i8] c"build/cfree/selfhost.ludic:24940: index out of range: \00" @.str16290 = private unnamed_addr constant [1 x i8] c"\00" @.str16291 = private unnamed_addr constant [55 x i8] c"build/cfree/selfhost.ludic:24948: index out of range: \00" @.str16292 = private unnamed_addr constant [55 x i8] c"build/cfree/selfhost.ludic:24948: index out of range: \00" @.str16293 = private unnamed_addr constant [5 x i8] c" \00" @.str16294 = private unnamed_addr constant [10 x i8] c"{\22name\22: \00" @.str16295 = private unnamed_addr constant [11 x i8] c", \22type\22: \00" @.str16296 = private unnamed_addr constant [12 x i8] c", \22value\22: \00" @.str16297 = private unnamed_addr constant [13 x i8] c", \22module\22: \00" @.str16298 = private unnamed_addr constant [15 x i8] c", \22exported\22: \00" @.str16299 = private unnamed_addr constant [3 x i8] c", \00" @.str16300 = private unnamed_addr constant [10 x i8] c", \22doc\22: \00" @.str16301 = private unnamed_addr constant [2 x i8] c"}\00" @.str16302 = private unnamed_addr constant [55 x i8] c"build/cfree/selfhost.ludic:24977: index out of range: \00" @.str16303 = private unnamed_addr constant [14 x i8] c"sc_generic_fn\00" @.str16304 = private unnamed_addr constant [13 x i8] c"sc_functions\00" @.str16305 = private unnamed_addr constant [55 x i8] c"build/cfree/selfhost.ludic:24986: index out of range: \00" @.str16306 = private unnamed_addr constant [55 x i8] c"build/cfree/selfhost.ludic:24986: index out of range: \00" @.str16307 = private unnamed_addr constant [55 x i8] c"build/cfree/selfhost.ludic:24986: index out of range: \00" @.str16308 = private unnamed_addr constant [55 x i8] c"build/cfree/selfhost.ludic:24986: index out of range: \00" @.str16309 = private unnamed_addr constant [55 x i8] c"build/cfree/selfhost.ludic:24993: index out of range: \00" @.str16310 = private unnamed_addr constant [1 x i8] c"\00" @.str16311 = private unnamed_addr constant [55 x i8] c"build/cfree/selfhost.ludic:25003: index out of range: \00" @.str16312 = private unnamed_addr constant [55 x i8] c"build/cfree/selfhost.ludic:25003: index out of range: \00" @.str16313 = private unnamed_addr constant [1 x i8] c"\00" @.str16314 = private unnamed_addr constant [1 x i8] c"\00" @.str16315 = private unnamed_addr constant [1 x i8] c"\00" @.str16316 = private unnamed_addr constant [1 x i8] c"\00" @.str16317 = private unnamed_addr constant [55 x i8] c"build/cfree/selfhost.ludic:25015: index out of range: \00" @.str16318 = private unnamed_addr constant [12 x i8] c"sc_function\00" @.str16319 = private unnamed_addr constant [1 x i8] c"\00" @.str16320 = private unnamed_addr constant [5 x i8] c"mut \00" @.str16321 = private unnamed_addr constant [3 x i8] c", \00" @.str16322 = private unnamed_addr constant [3 x i8] c": \00" @.str16323 = private unnamed_addr constant [3 x i8] c", \00" @.str16324 = private unnamed_addr constant [2 x i8] c",\00" @.str16325 = private unnamed_addr constant [3 x i8] c", \00" @.str16326 = private unnamed_addr constant [5 x i8] c" \00" @.str16327 = private unnamed_addr constant [10 x i8] c"{\22name\22: \00" @.str16328 = private unnamed_addr constant [13 x i8] c", \22module\22: \00" @.str16329 = private unnamed_addr constant [15 x i8] c", \22exported\22: \00" @.str16330 = private unnamed_addr constant [3 x i8] c", \00" @.str16331 = private unnamed_addr constant [14 x i8] c", \22returns\22: \00" @.str16332 = private unnamed_addr constant [14 x i8] c", \22fn_type\22: \00" @.str16333 = private unnamed_addr constant [4 x i8] c"fn(\00" @.str16334 = private unnamed_addr constant [4 x i8] c")->\00" @.str16335 = private unnamed_addr constant [14 x i8] c", \22params\22: [\00" @.str16336 = private unnamed_addr constant [2 x i8] c"]\00" @.str16337 = private unnamed_addr constant [16 x i8] c", \22signature\22: \00" @.str16338 = private unnamed_addr constant [10 x i8] c"function \00" @.str16339 = private unnamed_addr constant [2 x i8] c"(\00" @.str16340 = private unnamed_addr constant [6 x i8] c") -> \00" @.str16341 = private unnamed_addr constant [14 x i8] c", \22states\22: [\00" @.str16342 = private unnamed_addr constant [11 x i8] c"], \22doc\22: \00" @.str16343 = private unnamed_addr constant [2 x i8] c"}\00" @.str16344 = private unnamed_addr constant [3 x i8] c", \00" @.str16345 = private unnamed_addr constant [55 x i8] c"build/cfree/selfhost.ludic:25066: index out of range: \00" @.str16346 = private unnamed_addr constant [9 x i8] c"sc_units\00" @.str16347 = private unnamed_addr constant [16 x i8] c"sc_natives_find\00" @.str16348 = private unnamed_addr constant [55 x i8] c"build/cfree/selfhost.ludic:25099: index out of range: \00" @.str16349 = private unnamed_addr constant [55 x i8] c"build/cfree/selfhost.ludic:25111: index out of range: \00" @.str16350 = private unnamed_addr constant [11 x i8] c"sc_nt_walk\00" @.str16351 = private unnamed_addr constant [10 x i8] c"ui_native\00" @.str16352 = private unnamed_addr constant [16 x i8] c"ui_native_input\00" @.str16353 = private unnamed_addr constant [55 x i8] c"build/cfree/selfhost.ludic:25127: index out of range: \00" @.str16354 = private unnamed_addr constant [11 x i8] c"sc_nt_call\00" @.str16355 = private unnamed_addr constant [55 x i8] c"build/cfree/selfhost.ludic:25128: index out of range: \00" @.str16356 = private unnamed_addr constant [4 x i8] c"tag\00" @.str16357 = private unnamed_addr constant [55 x i8] c"build/cfree/selfhost.ludic:25136: index out of range: \00" @.str16358 = private unnamed_addr constant [55 x i8] c"build/cfree/selfhost.ludic:25140: index out of range: \00" @.str16359 = private unnamed_addr constant [55 x i8] c"build/cfree/selfhost.ludic:25141: index out of range: \00" @.str16360 = private unnamed_addr constant [55 x i8] c"build/cfree/selfhost.ludic:25141: index out of range: \00" @.str16361 = private unnamed_addr constant [55 x i8] c"build/cfree/selfhost.ludic:25145: index out of range: \00" @.str16362 = private unnamed_addr constant [11 x i8] c"sc_natives\00" @.str16363 = private unnamed_addr constant [55 x i8] c"build/cfree/selfhost.ludic:25157: index out of range: \00" @.str16364 = private unnamed_addr constant [55 x i8] c"build/cfree/selfhost.ludic:25159: index out of range: \00" @.str16365 = private unnamed_addr constant [2 x i8] c"\09\00" @.str16366 = private unnamed_addr constant [55 x i8] c"build/cfree/selfhost.ludic:25159: index out of range: \00" @.str16367 = private unnamed_addr constant [55 x i8] c"build/cfree/selfhost.ludic:25165: index out of range: \00" @.str16368 = private unnamed_addr constant [55 x i8] c"build/cfree/selfhost.ludic:25166: index out of range: \00" @.str16369 = private unnamed_addr constant [5 x i8] c" \00" @.str16370 = private unnamed_addr constant [9 x i8] c"{\22tag\22: \00" @.str16371 = private unnamed_addr constant [55 x i8] c"build/cfree/selfhost.ludic:25169: index out of range: \00" @.str16372 = private unnamed_addr constant [10 x i8] c", \22via\22: \00" @.str16373 = private unnamed_addr constant [55 x i8] c"build/cfree/selfhost.ludic:25171: index out of range: \00" @.str16374 = private unnamed_addr constant [14 x i8] c", \22handler\22: \00" @.str16375 = private unnamed_addr constant [55 x i8] c"build/cfree/selfhost.ludic:25173: index out of range: \00" @.str16376 = private unnamed_addr constant [13 x i8] c", \22module\22: \00" @.str16377 = private unnamed_addr constant [3 x i8] c", \00" @.str16378 = private unnamed_addr constant [2 x i8] c"}\00" @.str16379 = private unnamed_addr constant [14 x i8] c"sc_components\00" @.str16380 = private unnamed_addr constant [55 x i8] c"build/cfree/selfhost.ludic:25189: index out of range: \00" @.str16381 = private unnamed_addr constant [55 x i8] c"build/cfree/selfhost.ludic:25191: index out of range: \00" @.str16382 = private unnamed_addr constant [55 x i8] c"build/cfree/selfhost.ludic:25191: index out of range: \00" @.str16383 = private unnamed_addr constant [55 x i8] c"build/cfree/selfhost.ludic:25191: index out of range: \00" @.str16384 = private unnamed_addr constant [55 x i8] c"build/cfree/selfhost.ludic:25191: index out of range: \00" @.str16385 = private unnamed_addr constant [1 x i8] c"\00" @.str16386 = private unnamed_addr constant [55 x i8] c"build/cfree/selfhost.ludic:25200: index out of range: \00" @.str16387 = private unnamed_addr constant [55 x i8] c"build/cfree/selfhost.ludic:25205: index out of range: \00" @.str16388 = private unnamed_addr constant [13 x i8] c"sc_component\00" @.str16389 = private unnamed_addr constant [5 x i8] c" \00" @.str16390 = private unnamed_addr constant [10 x i8] c"{\22name\22: \00" @.str16391 = private unnamed_addr constant [55 x i8] c"build/cfree/selfhost.ludic:25208: index out of range: \00" @.str16392 = private unnamed_addr constant [13 x i8] c", \22module\22: \00" @.str16393 = private unnamed_addr constant [15 x i8] c", \22exported\22: \00" @.str16394 = private unnamed_addr constant [55 x i8] c"build/cfree/selfhost.ludic:25212: index out of range: \00" @.str16395 = private unnamed_addr constant [3 x i8] c", \00" @.str16396 = private unnamed_addr constant [55 x i8] c"build/cfree/selfhost.ludic:25214: index out of range: \00" @.str16397 = private unnamed_addr constant [55 x i8] c"build/cfree/selfhost.ludic:25214: index out of range: \00" @.str16398 = private unnamed_addr constant [55 x i8] c"build/cfree/selfhost.ludic:25214: index out of range: \00" @.str16399 = private unnamed_addr constant [55 x i8] c"build/cfree/selfhost.ludic:25214: index out of range: \00" @.str16400 = private unnamed_addr constant [15 x i8] c",\0A \22xml\22: \00" @.str16401 = private unnamed_addr constant [55 x i8] c"build/cfree/selfhost.ludic:25216: index out of range: \00" @.str16402 = private unnamed_addr constant [10 x i8] c", \22lss\22: \00" @.str16403 = private unnamed_addr constant [55 x i8] c"build/cfree/selfhost.ludic:25218: index out of range: \00" @.str16404 = private unnamed_addr constant [15 x i8] c",\0A \22doc\22: \00" @.str16405 = private unnamed_addr constant [55 x i8] c"build/cfree/selfhost.ludic:25222: index out of range: \00" @.str16406 = private unnamed_addr constant [55 x i8] c"build/cfree/selfhost.ludic:25222: index out of range: \00" @.str16407 = private unnamed_addr constant [18 x i8] c",\0A \22props\22: [\00" @.str16408 = private unnamed_addr constant [19 x i8] c"],\0A \22state\22: [\00" @.str16409 = private unnamed_addr constant [25 x i8] c"],\0A \22states_read\22: [\00" @.str16410 = private unnamed_addr constant [55 x i8] c"build/cfree/selfhost.ludic:25229: index out of range: \00" @.str16411 = private unnamed_addr constant [3 x i8] c", \00" @.str16412 = private unnamed_addr constant [55 x i8] c"build/cfree/selfhost.ludic:25231: index out of range: \00" @.str16413 = private unnamed_addr constant [55 x i8] c"build/cfree/selfhost.ludic:25231: index out of range: \00" @.str16414 = private unnamed_addr constant [21 x i8] c"],\0A \22derived\22: [\00" @.str16415 = private unnamed_addr constant [55 x i8] c"build/cfree/selfhost.ludic:25236: index out of range: \00" @.str16416 = private unnamed_addr constant [8 x i8] c" \00" @.str16417 = private unnamed_addr constant [10 x i8] c"{\22name\22: \00" @.str16418 = private unnamed_addr constant [55 x i8] c"build/cfree/selfhost.ludic:25239: index out of range: \00" @.str16419 = private unnamed_addr constant [55 x i8] c"build/cfree/selfhost.ludic:25239: index out of range: \00" @.str16420 = private unnamed_addr constant [11 x i8] c", \22type\22: \00" @.str16421 = private unnamed_addr constant [55 x i8] c"build/cfree/selfhost.ludic:25241: index out of range: \00" @.str16422 = private unnamed_addr constant [55 x i8] c"build/cfree/selfhost.ludic:25241: index out of range: \00" @.str16423 = private unnamed_addr constant [11 x i8] c", \22line\22: \00" @.str16424 = private unnamed_addr constant [55 x i8] c"build/cfree/selfhost.ludic:25243: index out of range: \00" @.str16425 = private unnamed_addr constant [55 x i8] c"build/cfree/selfhost.ludic:25243: index out of range: \00" @.str16426 = private unnamed_addr constant [2 x i8] c"}\00" @.str16427 = private unnamed_addr constant [55 x i8] c"build/cfree/selfhost.ludic:25247: index out of range: \00" @.str16428 = private unnamed_addr constant [7 x i8] c"\0A \00" @.str16429 = private unnamed_addr constant [23 x i8] c"],\0A \22functions\22: [\00" @.str16430 = private unnamed_addr constant [20 x i8] c"],\0A \22events\22: [\00" @.str16431 = private unnamed_addr constant [21 x i8] c"],\0A \22natives\22: [\00" @.str16432 = private unnamed_addr constant [3 x i8] c"]}\00" @.str16433 = private unnamed_addr constant [55 x i8] c"build/cfree/selfhost.ludic:25258: index out of range: \00" @.str16434 = private unnamed_addr constant [12 x i8] c"sc_cm_keeps\00" @.str16435 = private unnamed_addr constant [55 x i8] c"build/cfree/selfhost.ludic:25261: index out of range: \00" @.str16436 = private unnamed_addr constant [55 x i8] c"build/cfree/selfhost.ludic:25262: index out of range: \00" @.str16437 = private unnamed_addr constant [55 x i8] c"build/cfree/selfhost.ludic:25262: index out of range: \00" @.str16438 = private unnamed_addr constant [8 x i8] c" \00" @.str16439 = private unnamed_addr constant [10 x i8] c"{\22name\22: \00" @.str16440 = private unnamed_addr constant [55 x i8] c"build/cfree/selfhost.ludic:25266: index out of range: \00" @.str16441 = private unnamed_addr constant [55 x i8] c"build/cfree/selfhost.ludic:25266: index out of range: \00" @.str16442 = private unnamed_addr constant [11 x i8] c", \22type\22: \00" @.str16443 = private unnamed_addr constant [55 x i8] c"build/cfree/selfhost.ludic:25268: index out of range: \00" @.str16444 = private unnamed_addr constant [55 x i8] c"build/cfree/selfhost.ludic:25268: index out of range: \00" @.str16445 = private unnamed_addr constant [14 x i8] c", \22default\22: \00" @.str16446 = private unnamed_addr constant [55 x i8] c"build/cfree/selfhost.ludic:25270: index out of range: \00" @.str16447 = private unnamed_addr constant [55 x i8] c"build/cfree/selfhost.ludic:25270: index out of range: \00" @.str16448 = private unnamed_addr constant [55 x i8] c"build/cfree/selfhost.ludic:25270: index out of range: \00" @.str16449 = private unnamed_addr constant [55 x i8] c"build/cfree/selfhost.ludic:25270: index out of range: \00" @.str16450 = private unnamed_addr constant [3 x i8] c", \00" @.str16451 = private unnamed_addr constant [55 x i8] c"build/cfree/selfhost.ludic:25272: index out of range: \00" @.str16452 = private unnamed_addr constant [55 x i8] c"build/cfree/selfhost.ludic:25272: index out of range: \00" @.str16453 = private unnamed_addr constant [55 x i8] c"build/cfree/selfhost.ludic:25272: index out of range: \00" @.str16454 = private unnamed_addr constant [55 x i8] c"build/cfree/selfhost.ludic:25272: index out of range: \00" @.str16455 = private unnamed_addr constant [19 x i8] c", \22attributes\22: []\00" @.str16456 = private unnamed_addr constant [10 x i8] c", \22doc\22: \00" @.str16457 = private unnamed_addr constant [55 x i8] c"build/cfree/selfhost.ludic:25275: index out of range: \00" @.str16458 = private unnamed_addr constant [55 x i8] c"build/cfree/selfhost.ludic:25275: index out of range: \00" @.str16459 = private unnamed_addr constant [2 x i8] c"}\00" @.str16460 = private unnamed_addr constant [7 x i8] c"\0A \00" @.str16461 = private unnamed_addr constant [55 x i8] c"build/cfree/selfhost.ludic:25288: index out of range: \00" @.str16462 = private unnamed_addr constant [12 x i8] c"sc_cm_calls\00" @.str16463 = private unnamed_addr constant [55 x i8] c"build/cfree/selfhost.ludic:25289: index out of range: \00" @.str16464 = private unnamed_addr constant [55 x i8] c"build/cfree/selfhost.ludic:25289: index out of range: \00" @.str16465 = private unnamed_addr constant [55 x i8] c"build/cfree/selfhost.ludic:25290: index out of range: \00" @.str16466 = private unnamed_addr constant [55 x i8] c"build/cfree/selfhost.ludic:25290: index out of range: \00" @.str16467 = private unnamed_addr constant [8 x i8] c" \00" @.str16468 = private unnamed_addr constant [10 x i8] c"{\22name\22: \00" @.str16469 = private unnamed_addr constant [55 x i8] c"build/cfree/selfhost.ludic:25293: index out of range: \00" @.str16470 = private unnamed_addr constant [55 x i8] c"build/cfree/selfhost.ludic:25293: index out of range: \00" @.str16471 = private unnamed_addr constant [14 x i8] c", \22params\22: [\00" @.str16472 = private unnamed_addr constant [55 x i8] c"build/cfree/selfhost.ludic:25298: index out of range: \00" @.str16473 = private unnamed_addr constant [5 x i8] c"self\00" @.str16474 = private unnamed_addr constant [3 x i8] c", \00" @.str16475 = private unnamed_addr constant [2 x i8] c"[\00" @.str16476 = private unnamed_addr constant [3 x i8] c", \00" @.str16477 = private unnamed_addr constant [2 x i8] c"]\00" @.str16478 = private unnamed_addr constant [2 x i8] c"]\00" @.str16479 = private unnamed_addr constant [13 x i8] c", \22result\22: \00" @.str16480 = private unnamed_addr constant [11 x i8] c", \22line\22: \00" @.str16481 = private unnamed_addr constant [2 x i8] c"}\00" @.str16482 = private unnamed_addr constant [7 x i8] c"\0A \00" @.str16483 = private unnamed_addr constant [55 x i8] c"build/cfree/selfhost.ludic:25326: index out of range: \00" @.str16484 = private unnamed_addr constant [14 x i8] c"sc_cm_natives\00" @.str16485 = private unnamed_addr constant [55 x i8] c"build/cfree/selfhost.ludic:25331: index out of range: \00" @.str16486 = private unnamed_addr constant [55 x i8] c"build/cfree/selfhost.ludic:25335: index out of range: \00" @.str16487 = private unnamed_addr constant [3 x i8] c", \00" @.str16488 = private unnamed_addr constant [55 x i8] c"build/cfree/selfhost.ludic:25348: index out of range: \00" @.str16489 = private unnamed_addr constant [55 x i8] c"build/cfree/selfhost.ludic:25348: index out of range: \00" @.str16490 = private unnamed_addr constant [12 x i8] c"sc_xml_uses\00" @.str16491 = private unnamed_addr constant [12 x i8] c"schema_hash\00" @.str16492 = private unnamed_addr constant [2 x i8] c"0\00" @.str16493 = private unnamed_addr constant [5 x i8] c"long\00" @.str16494 = private unnamed_addr constant [10 x i8] c"zext i32 \00" @.str16495 = private unnamed_addr constant [14 x i8] c"emit_build_ns\00" @.str16496 = private unnamed_addr constant [8 x i8] c" to i64\00" @.str16497 = private unnamed_addr constant [10 x i8] c"zext i32 \00" @.str16498 = private unnamed_addr constant [8 x i8] c" to i64\00" @.str16499 = private unnamed_addr constant [9 x i8] c"shl i64 \00" @.str16500 = private unnamed_addr constant [5 x i8] c", 32\00" @.str16501 = private unnamed_addr constant [8 x i8] c"or i64 \00" @.str16502 = private unnamed_addr constant [3 x i8] c", \00" @.str16503 = private unnamed_addr constant [5 x i8] c"long\00" @.str16504 = private unnamed_addr constant [5 x i8] c"null\00" @.str16505 = private unnamed_addr constant [14 x i8] c"{\0A \22dir\22: \00" @.str16506 = private unnamed_addr constant [17 x i8] c",\0A \22source\22: \00" @.str16507 = private unnamed_addr constant [15 x i8] c",\0A \22file\22: \00" @.str16508 = private unnamed_addr constant [5 x i8] c"null\00" @.str16509 = private unnamed_addr constant [16 x i8] c",\0A \22keys\22: [\00" @.str16510 = private unnamed_addr constant [24 x i8] c"\0A ],\0A \22unused\22: [\00" @.str16511 = private unnamed_addr constant [24 x i8] c"],\0A \22undescribed\22: [\00" @.str16512 = private unnamed_addr constant [18 x i8] c"],\0A \22split\22: [\00" @.str16513 = private unnamed_addr constant [27 x i8] c"\0A ],\0A \22languages\22: {\00" @.str16514 = private unnamed_addr constant [11 x i8] c"\0A }\0A }\00" @.str16515 = private unnamed_addr constant [13 x i8] c"sc_lang_keys\00" @.str16516 = private unnamed_addr constant [55 x i8] c"build/cfree/selfhost.ludic:25458: index out of range: \00" @.str16517 = private unnamed_addr constant [2 x i8] c"\09\00" @.str16518 = private unnamed_addr constant [55 x i8] c"build/cfree/selfhost.ludic:25458: index out of range: \00" @.str16519 = private unnamed_addr constant [2 x i8] c"\09\00" @.str16520 = private unnamed_addr constant [55 x i8] c"build/cfree/selfhost.ludic:25458: index out of range: \00" @.str16521 = private unnamed_addr constant [2 x i8] c"\09\00" @.str16522 = private unnamed_addr constant [55 x i8] c"build/cfree/selfhost.ludic:25458: index out of range: \00" @.str16523 = private unnamed_addr constant [55 x i8] c"build/cfree/selfhost.ludic:25465: index out of range: \00" @.str16524 = private unnamed_addr constant [55 x i8] c"build/cfree/selfhost.ludic:25465: index out of range: \00" @.str16525 = private unnamed_addr constant [55 x i8] c"build/cfree/selfhost.ludic:25467: index out of range: \00" @.str16526 = private unnamed_addr constant [55 x i8] c"build/cfree/selfhost.ludic:25467: index out of range: \00" @.str16527 = private unnamed_addr constant [7 x i8] c" \00" @.str16528 = private unnamed_addr constant [9 x i8] c"{\22key\22: \00" @.str16529 = private unnamed_addr constant [11 x i8] c", \22kind\22: \00" @.str16530 = private unnamed_addr constant [55 x i8] c"build/cfree/selfhost.ludic:25474: index out of range: \00" @.str16531 = private unnamed_addr constant [55 x i8] c"build/cfree/selfhost.ludic:25474: index out of range: \00" @.str16532 = private unnamed_addr constant [13 x i8] c", \22kinds\22: [\00" @.str16533 = private unnamed_addr constant [55 x i8] c"build/cfree/selfhost.ludic:25482: index out of range: \00" @.str16534 = private unnamed_addr constant [55 x i8] c"build/cfree/selfhost.ludic:25482: index out of range: \00" @.str16535 = private unnamed_addr constant [3 x i8] c", \00" @.str16536 = private unnamed_addr constant [14 x i8] c"], \22sites\22: [\00" @.str16537 = private unnamed_addr constant [55 x i8] c"build/cfree/selfhost.ludic:25495: index out of range: \00" @.str16538 = private unnamed_addr constant [3 x i8] c", \00" @.str16539 = private unnamed_addr constant [55 x i8] c"build/cfree/selfhost.ludic:25497: index out of range: \00" @.str16540 = private unnamed_addr constant [2 x i8] c":\00" @.str16541 = private unnamed_addr constant [55 x i8] c"build/cfree/selfhost.ludic:25497: index out of range: \00" @.str16542 = private unnamed_addr constant [2 x i8] c":\00" @.str16543 = private unnamed_addr constant [55 x i8] c"build/cfree/selfhost.ludic:25497: index out of range: \00" @.str16544 = private unnamed_addr constant [2 x i8] c"]\00" @.str16545 = private unnamed_addr constant [16 x i8] c", \22in_source\22: \00" @.str16546 = private unnamed_addr constant [14 x i8] c", \22english\22: \00" @.str16547 = private unnamed_addr constant [55 x i8] c"build/cfree/selfhost.ludic:25505: index out of range: \00" @.str16548 = private unnamed_addr constant [5 x i8] c"null\00" @.str16549 = private unnamed_addr constant [13 x i8] c", \22plural\22: \00" @.str16550 = private unnamed_addr constant [55 x i8] c"build/cfree/selfhost.ludic:25507: index out of range: \00" @.str16551 = private unnamed_addr constant [18 x i8] c", \22description\22: \00" @.str16552 = private unnamed_addr constant [55 x i8] c"build/cfree/selfhost.ludic:25509: index out of range: \00" @.str16553 = private unnamed_addr constant [5 x i8] c"null\00" @.str16554 = private unnamed_addr constant [2 x i8] c"}\00" @.str16555 = private unnamed_addr constant [12 x i8] c"sc_lang_ids\00" @.str16556 = private unnamed_addr constant [55 x i8] c"build/cfree/selfhost.ludic:25520: index out of range: \00" @.str16557 = private unnamed_addr constant [55 x i8] c"build/cfree/selfhost.ludic:25521: index out of range: \00" @.str16558 = private unnamed_addr constant [3 x i8] c", \00" @.str16559 = private unnamed_addr constant [55 x i8] c"build/cfree/selfhost.ludic:25529: index out of range: \00" @.str16560 = private unnamed_addr constant [55 x i8] c"build/cfree/selfhost.ludic:25529: index out of range: \00" @.str16561 = private unnamed_addr constant [14 x i8] c"sc_lang_split\00" @.str16562 = private unnamed_addr constant [55 x i8] c"build/cfree/selfhost.ludic:25539: index out of range: \00" @.str16563 = private unnamed_addr constant [2 x i8] c"\09\00" @.str16564 = private unnamed_addr constant [55 x i8] c"build/cfree/selfhost.ludic:25539: index out of range: \00" @.str16565 = private unnamed_addr constant [55 x i8] c"build/cfree/selfhost.ludic:25547: index out of range: \00" @.str16566 = private unnamed_addr constant [55 x i8] c"build/cfree/selfhost.ludic:25547: index out of range: \00" @.str16567 = private unnamed_addr constant [55 x i8] c"build/cfree/selfhost.ludic:25547: index out of range: \00" @.str16568 = private unnamed_addr constant [55 x i8] c"build/cfree/selfhost.ludic:25547: index out of range: \00" @.str16569 = private unnamed_addr constant [55 x i8] c"build/cfree/selfhost.ludic:25548: index out of range: \00" @.str16570 = private unnamed_addr constant [55 x i8] c"build/cfree/selfhost.ludic:25548: index out of range: \00" @.str16571 = private unnamed_addr constant [7 x i8] c" \00" @.str16572 = private unnamed_addr constant [13 x i8] c"{\22english\22: \00" @.str16573 = private unnamed_addr constant [55 x i8] c"build/cfree/selfhost.ludic:25552: index out of range: \00" @.str16574 = private unnamed_addr constant [55 x i8] c"build/cfree/selfhost.ludic:25552: index out of range: \00" @.str16575 = private unnamed_addr constant [12 x i8] c", \22keys\22: [\00" @.str16576 = private unnamed_addr constant [3 x i8] c", \00" @.str16577 = private unnamed_addr constant [55 x i8] c"build/cfree/selfhost.ludic:25557: index out of range: \00" @.str16578 = private unnamed_addr constant [55 x i8] c"build/cfree/selfhost.ludic:25557: index out of range: \00" @.str16579 = private unnamed_addr constant [3 x i8] c"]}\00" @.str16580 = private unnamed_addr constant [55 x i8] c"build/cfree/selfhost.ludic:25571: index out of range: \00" @.str16581 = private unnamed_addr constant [15 x i8] c"sc_lang_others\00" @.str16582 = private unnamed_addr constant [4 x i8] c".po\00" @.str16583 = private unnamed_addr constant [2 x i8] c"/\00" @.str16584 = private unnamed_addr constant [7 x i8] c" \00" @.str16585 = private unnamed_addr constant [12 x i8] c": {\22file\22: \00" @.str16586 = private unnamed_addr constant [15 x i8] c", \22missing\22: [\00" @.str16587 = private unnamed_addr constant [14 x i8] c"], \22fuzzy\22: [\00" @.str16588 = private unnamed_addr constant [14 x i8] c"], \22extra\22: [\00" @.str16589 = private unnamed_addr constant [3 x i8] c"]}\00" @.str16590 = private unnamed_addr constant [13 x i8] c"sc_lang_diff\00" @.str16591 = private unnamed_addr constant [55 x i8] c"build/cfree/selfhost.ludic:25599: index out of range: \00" @.str16592 = private unnamed_addr constant [55 x i8] c"build/cfree/selfhost.ludic:25600: index out of range: \00" @.str16593 = private unnamed_addr constant [55 x i8] c"build/cfree/selfhost.ludic:25600: index out of range: \00" @.str16594 = private unnamed_addr constant [55 x i8] c"build/cfree/selfhost.ludic:25606: index out of range: \00" @.str16595 = private unnamed_addr constant [55 x i8] c"build/cfree/selfhost.ludic:25606: index out of range: \00" @.str16596 = private unnamed_addr constant [55 x i8] c"build/cfree/selfhost.ludic:25612: index out of range: \00" @.str16597 = private unnamed_addr constant [55 x i8] c"build/cfree/selfhost.ludic:25612: index out of range: \00" @.str16598 = private unnamed_addr constant [3 x i8] c", \00" @.str16599 = private unnamed_addr constant [55 x i8] c"build/cfree/selfhost.ludic:25626: index out of range: \00" @.str16600 = private unnamed_addr constant [55 x i8] c"build/cfree/selfhost.ludic:25626: index out of range: \00" @.str16601 = private unnamed_addr constant [10 x i8] c"ck_set_ro\00" @.str16602 = private unnamed_addr constant [55 x i8] c"build/cfree/selfhost.ludic:25657: index out of range: \00" @.str16603 = private unnamed_addr constant [55 x i8] c"build/cfree/selfhost.ludic:25657: index out of range: \00" @.str16604 = private unnamed_addr constant [55 x i8] c"build/cfree/selfhost.ludic:25658: index out of range: \00" @.str16605 = private unnamed_addr constant [55 x i8] c"build/cfree/selfhost.ludic:25659: index out of range: \00" @.str16606 = private unnamed_addr constant [55 x i8] c"build/cfree/selfhost.ludic:25660: index out of range: \00" @.str16607 = private unnamed_addr constant [55 x i8] c"build/cfree/selfhost.ludic:25661: index out of range: \00" @.str16608 = private unnamed_addr constant [55 x i8] c"build/cfree/selfhost.ludic:25661: index out of range: \00" @.str16609 = private unnamed_addr constant [55 x i8] c"build/cfree/selfhost.ludic:25661: index out of range: \00" @.str16610 = private unnamed_addr constant [55 x i8] c"build/cfree/selfhost.ludic:25662: index out of range: \00" @.str16611 = private unnamed_addr constant [55 x i8] c"build/cfree/selfhost.ludic:25662: index out of range: \00" @.str16612 = private unnamed_addr constant [55 x i8] c"build/cfree/selfhost.ludic:25667: index out of range: \00" @.str16613 = private unnamed_addr constant [11 x i8] c"ck_ro_like\00" @.str16614 = private unnamed_addr constant [55 x i8] c"build/cfree/selfhost.ludic:25668: index out of range: \00" @.str16615 = private unnamed_addr constant [55 x i8] c"build/cfree/selfhost.ludic:25668: index out of range: \00" @.str16616 = private unnamed_addr constant [2 x i8] c"?\00" @.str16617 = private unnamed_addr constant [4 x i8] c"int\00" @.str16618 = private unnamed_addr constant [6 x i8] c"float\00" @.str16619 = private unnamed_addr constant [6 x i8] c"fixed\00" @.str16620 = private unnamed_addr constant [5 x i8] c"long\00" @.str16621 = private unnamed_addr constant [5 x i8] c"bool\00" @.str16622 = private unnamed_addr constant [7 x i8] c"string\00" @.str16623 = private unnamed_addr constant [5 x i8] c"byte\00" @.str16624 = private unnamed_addr constant [8 x i8] c"pointer\00" @.str16625 = private unnamed_addr constant [55 x i8] c"build/cfree/selfhost.ludic:25687: index out of range: \00" @.str16626 = private unnamed_addr constant [12 x i8] c"ck_let_from\00" @.str16627 = private unnamed_addr constant [55 x i8] c"build/cfree/selfhost.ludic:25687: index out of range: \00" @.str16628 = private unnamed_addr constant [55 x i8] c"build/cfree/selfhost.ludic:25688: index out of range: \00" @.str16629 = private unnamed_addr constant [55 x i8] c"build/cfree/selfhost.ludic:25688: index out of range: \00" @.str16630 = private unnamed_addr constant [55 x i8] c"build/cfree/selfhost.ludic:25694: index out of range: \00" @.str16631 = private unnamed_addr constant [55 x i8] c"build/cfree/selfhost.ludic:25698: index out of range: \00" @.str16632 = private unnamed_addr constant [9 x i8] c"ck_is_ro\00" @.str16633 = private unnamed_addr constant [55 x i8] c"build/cfree/selfhost.ludic:25720: index out of range: \00" @.str16634 = private unnamed_addr constant [15 x i8] c"ck_write_check\00" @.str16635 = private unnamed_addr constant [55 x i8] c"build/cfree/selfhost.ludic:25721: index out of range: \00" @.str16636 = private unnamed_addr constant [55 x i8] c"build/cfree/selfhost.ludic:25722: index out of range: \00" @.str16637 = private unnamed_addr constant [55 x i8] c"build/cfree/selfhost.ludic:25722: index out of range: \00" @.str16638 = private unnamed_addr constant [55 x i8] c"build/cfree/selfhost.ludic:25723: index out of range: \00" @.str16639 = private unnamed_addr constant [55 x i8] c"build/cfree/selfhost.ludic:25724: index out of range: \00" @.str16640 = private unnamed_addr constant [6 x i8] c"state\00" @.str16641 = private unnamed_addr constant [3 x i8] c": \00" @.str16642 = private unnamed_addr constant [16 x i8] c" holds part of \00" @.str16643 = private unnamed_addr constant [55 x i8] c", which is module-level and immutable all the way down\00" @.str16644 = private unnamed_addr constant [55 x i8] c"build/cfree/selfhost.ludic:25728: index out of range: \00" @.str16645 = private unnamed_addr constant [55 x i8] c"build/cfree/selfhost.ludic:25729: index out of range: \00" @.str16646 = private unnamed_addr constant [55 x i8] c"build/cfree/selfhost.ludic:25732: index out of range: \00" @.str16647 = private unnamed_addr constant [55 x i8] c"build/cfree/selfhost.ludic:25732: index out of range: \00" @.str16648 = private unnamed_addr constant [55 x i8] c"build/cfree/selfhost.ludic:25732: index out of range: \00" @.str16649 = private unnamed_addr constant [6 x i8] c"state\00" @.str16650 = private unnamed_addr constant [3 x i8] c": \00" @.str16651 = private unnamed_addr constant [28 x i8] c" holds part of a read-only \00" @.str16652 = private unnamed_addr constant [55 x i8] c"build/cfree/selfhost.ludic:25733: index out of range: \00" @.str16653 = private unnamed_addr constant [25 x i8] c"; take the state as mut \00" @.str16654 = private unnamed_addr constant [55 x i8] c"build/cfree/selfhost.ludic:25733: index out of range: \00" @.str16655 = private unnamed_addr constant [14 x i8] c" to change it\00" @.str16656 = private unnamed_addr constant [6 x i8] c"state\00" @.str16657 = private unnamed_addr constant [3 x i8] c": \00" @.str16658 = private unnamed_addr constant [21 x i8] c" is read-only here (\00" @.str16659 = private unnamed_addr constant [3 x i8] c": \00" @.str16660 = private unnamed_addr constant [55 x i8] c"build/cfree/selfhost.ludic:25737: index out of range: \00" @.str16661 = private unnamed_addr constant [15 x i8] c"); take it as \00" @.str16662 = private unnamed_addr constant [7 x i8] c": mut \00" @.str16663 = private unnamed_addr constant [55 x i8] c"build/cfree/selfhost.ludic:25737: index out of range: \00" @.str16664 = private unnamed_addr constant [14 x i8] c" to change it\00" @.str16665 = private unnamed_addr constant [11 x i8] c"the state \00" @.str16666 = private unnamed_addr constant [6 x i8] c"state\00" @.str16667 = private unnamed_addr constant [3 x i8] c": \00" @.str16668 = private unnamed_addr constant [109 x i8] c" is module-level and immutable all the way down; changing data belongs in a state, passed as a mut parameter\00" @.str16669 = private unnamed_addr constant [6 x i8] c"state\00" @.str16670 = private unnamed_addr constant [7 x i8] c": mut \00" @.str16671 = private unnamed_addr constant [14 x i8] c"ck_bind_param\00" @.str16672 = private unnamed_addr constant [38 x i8] c" - mut is for a state parameter, and \00" @.str16673 = private unnamed_addr constant [16 x i8] c" is not a state\00" @.str16674 = private unnamed_addr constant [55 x i8] c"build/cfree/selfhost.ludic:25763: index out of range: \00" @.str16675 = private unnamed_addr constant [14 x i8] c"ck_state_args\00" @.str16676 = private unnamed_addr constant [55 x i8] c"build/cfree/selfhost.ludic:25766: index out of range: \00" @.str16677 = private unnamed_addr constant [6 x i8] c"state\00" @.str16678 = private unnamed_addr constant [10 x i8] c" changes \00" @.str16679 = private unnamed_addr constant [3 x i8] c" (\00" @.str16680 = private unnamed_addr constant [7 x i8] c": mut \00" @.str16681 = private unnamed_addr constant [8 x i8] c"), and \00" @.str16682 = private unnamed_addr constant [19 x i8] c" is read-only here\00" @.str16683 = private unnamed_addr constant [55 x i8] c"build/cfree/selfhost.ludic:25784: index out of range: \00" @.str16684 = private unnamed_addr constant [17 x i8] c"ck_extern_writes\00" @.str16685 = private unnamed_addr constant [55 x i8] c"build/cfree/selfhost.ludic:25789: index out of range: \00" @.str16686 = private unnamed_addr constant [55 x i8] c"build/cfree/selfhost.ludic:25789: index out of range: \00" @.str16687 = private unnamed_addr constant [12 x i8] c"ck_tab_init\00" @.str16688 = private unnamed_addr constant [55 x i8] c"build/cfree/selfhost.ludic:25831: index out of range: \00" @.str16689 = private unnamed_addr constant [11 x i8] c"ck_tab_put\00" @.str16690 = private unnamed_addr constant [55 x i8] c"build/cfree/selfhost.ludic:25832: index out of range: \00" @.str16691 = private unnamed_addr constant [55 x i8] c"build/cfree/selfhost.ludic:25835: index out of range: \00" @.str16692 = private unnamed_addr constant [55 x i8] c"build/cfree/selfhost.ludic:25836: index out of range: \00" @.str16693 = private unnamed_addr constant [55 x i8] c"build/cfree/selfhost.ludic:25841: index out of range: \00" @.str16694 = private unnamed_addr constant [11 x i8] c"ck_tab_get\00" @.str16695 = private unnamed_addr constant [55 x i8] c"build/cfree/selfhost.ludic:25842: index out of range: \00" @.str16696 = private unnamed_addr constant [55 x i8] c"build/cfree/selfhost.ludic:25842: index out of range: \00" @.str16697 = private unnamed_addr constant [55 x i8] c"build/cfree/selfhost.ludic:25855: index out of range: \00" @.str16698 = private unnamed_addr constant [9 x i8] c"ck_index\00" @.str16699 = private unnamed_addr constant [2 x i8] c"?\00" @.str16700 = private unnamed_addr constant [4 x i8] c"Key\00" @.str16701 = private unnamed_addr constant [4 x i8] c"int\00" @.str16702 = private unnamed_addr constant [5 x i8] c"long\00" @.str16703 = private unnamed_addr constant [5 x i8] c"byte\00" @.str16704 = private unnamed_addr constant [4 x i8] c"i64\00" @.str16705 = private unnamed_addr constant [3 x i8] c"u8\00" @.str16706 = private unnamed_addr constant [4 x i8] c"an \00" @.str16707 = private unnamed_addr constant [5 x i8] c"ck_a\00" @.str16708 = private unnamed_addr constant [3 x i8] c"a \00" @.str16709 = private unnamed_addr constant [6 x i8] c"float\00" @.str16710 = private unnamed_addr constant [7 x i8] c"double\00" @.str16711 = private unnamed_addr constant [6 x i8] c"fixed\00" @.str16712 = private unnamed_addr constant [5 x i8] c"bool\00" @.str16713 = private unnamed_addr constant [5 x i8] c"void\00" @.str16714 = private unnamed_addr constant [5 x i8] c"null\00" @.str16715 = private unnamed_addr constant [2 x i8] c"-\00" @.str16716 = private unnamed_addr constant [7 x i8] c"number\00" @.str16717 = private unnamed_addr constant [7 x i8] c"string\00" @.str16718 = private unnamed_addr constant [7 x i8] c"string\00" @.str16719 = private unnamed_addr constant [4 x i8] c"key\00" @.str16720 = private unnamed_addr constant [5 x i8] c"bool\00" @.str16721 = private unnamed_addr constant [5 x i8] c"bool\00" @.str16722 = private unnamed_addr constant [10 x i8] c"reference\00" @.str16723 = private unnamed_addr constant [5 x i8] c"void\00" @.str16724 = private unnamed_addr constant [5 x i8] c"null\00" @.str16725 = private unnamed_addr constant [5 x i8] c"null\00" @.str16726 = private unnamed_addr constant [5 x i8] c"bool\00" @.str16727 = private unnamed_addr constant [5 x i8] c"bool\00" @.str16728 = private unnamed_addr constant [5 x i8] c"bool\00" @.str16729 = private unnamed_addr constant [6 x i8] c"fixed\00" @.str16730 = private unnamed_addr constant [6 x i8] c"fixed\00" @.str16731 = private unnamed_addr constant [10 x i8] c"narrowing\00" @.str16732 = private unnamed_addr constant [5 x i8] c"kind\00" @.str16733 = private unnamed_addr constant [6 x i8] c"fixed\00" @.str16734 = private unnamed_addr constant [6 x i8] c"fixed\00" @.str16735 = private unnamed_addr constant [5 x i8] c"kind\00" @.str16736 = private unnamed_addr constant [6 x i8] c"fixed\00" @.str16737 = private unnamed_addr constant [6 x i8] c"fixed\00" @.str16738 = private unnamed_addr constant [5 x i8] c"kind\00" @.str16739 = private unnamed_addr constant [5 x i8] c"kind\00" @.str16740 = private unnamed_addr constant [6 x i8] c"bytes\00" @.str16741 = private unnamed_addr constant [14 x i8] c"slice-pointer\00" @.str16742 = private unnamed_addr constant [6 x i8] c"bytes\00" @.str16743 = private unnamed_addr constant [14 x i8] c"pointer-slice\00" @.str16744 = private unnamed_addr constant [8 x i8] c"pointer\00" @.str16745 = private unnamed_addr constant [14 x i8] c"slice-pointer\00" @.str16746 = private unnamed_addr constant [8 x i8] c"pointer\00" @.str16747 = private unnamed_addr constant [14 x i8] c"pointer-slice\00" @.str16748 = private unnamed_addr constant [8 x i8] c"pointer\00" @.str16749 = private unnamed_addr constant [8 x i8] c"pointer\00" @.str16750 = private unnamed_addr constant [4 x i8] c"key\00" @.str16751 = private unnamed_addr constant [7 x i8] c"string\00" @.str16752 = private unnamed_addr constant [5 x i8] c"kind\00" @.str16753 = private unnamed_addr constant [7 x i8] c"record\00" @.str16754 = private unnamed_addr constant [7 x i8] c"string\00" @.str16755 = private unnamed_addr constant [5 x i8] c"kind\00" @.str16756 = private unnamed_addr constant [10 x i8] c"[]pointer\00" @.str16757 = private unnamed_addr constant [10 x i8] c"[]pointer\00" @.str16758 = private unnamed_addr constant [6 x i8] c"slice\00" @.str16759 = private unnamed_addr constant [3 x i8] c"fn\00" @.str16760 = private unnamed_addr constant [7 x i8] c"string\00" @.str16761 = private unnamed_addr constant [5 x i8] c"kind\00" @.str16762 = private unnamed_addr constant [5 x i8] c"null\00" @.str16763 = private unnamed_addr constant [2 x i8] c"?\00" @.str16764 = private unnamed_addr constant [55 x i8] c"build/cfree/selfhost.ludic:25993: index out of range: \00" @.str16765 = private unnamed_addr constant [8 x i8] c"ck_bind\00" @.str16766 = private unnamed_addr constant [55 x i8] c"build/cfree/selfhost.ludic:25994: index out of range: \00" @.str16767 = private unnamed_addr constant [55 x i8] c"build/cfree/selfhost.ludic:26007: index out of range: \00" @.str16768 = private unnamed_addr constant [9 x i8] c"ck_local\00" @.str16769 = private unnamed_addr constant [19 x i8] c"LUDIC_CHECK_REPORT\00" @.str16770 = private unnamed_addr constant [1 x i8] c"\00" @.str16771 = private unnamed_addr constant [6 x i8] c"error\00" @.str16772 = private unnamed_addr constant [2 x i8] c":\00" @.str16773 = private unnamed_addr constant [7 x i8] c"ck_err\00" @.str16774 = private unnamed_addr constant [10 x i8] c": error: \00" @.str16775 = private unnamed_addr constant [2 x i8] c"\0A\00" @.str16776 = private unnamed_addr constant [7 x i8] c"check[\00" @.str16777 = private unnamed_addr constant [4 x i8] c"]: \00" @.str16778 = private unnamed_addr constant [2 x i8] c":\00" @.str16779 = private unnamed_addr constant [3 x i8] c": \00" @.str16780 = private unnamed_addr constant [2 x i8] c"\0A\00" @.str16781 = private unnamed_addr constant [4 x i8] c"int\00" @.str16782 = private unnamed_addr constant [5 x i8] c"byte\00" @.str16783 = private unnamed_addr constant [6 x i8] c"fixed\00" @.str16784 = private unnamed_addr constant [8 x i8] c"literal\00" @.str16785 = private unnamed_addr constant [8 x i8] c" wants \00" @.str16786 = private unnamed_addr constant [8 x i8] c"ck_give\00" @.str16787 = private unnamed_addr constant [6 x i8] c" and \00" @.str16788 = private unnamed_addr constant [32 x i8] c" does not fit one; it is a long\00" @.str16789 = private unnamed_addr constant [14 x i8] c"slice-pointer\00" @.str16790 = private unnamed_addr constant [30 x i8] c" wants a pointer and this is \00" @.str16791 = private unnamed_addr constant [55 x i8] c": take the slice itself, or data_of(xs) in unsafe code\00" @.str16792 = private unnamed_addr constant [14 x i8] c"pointer-slice\00" @.str16793 = private unnamed_addr constant [8 x i8] c" wants \00" @.str16794 = private unnamed_addr constant [93 x i8] c" and this is a pointer: a slice is made with words(n), floats(n) or new, not from an address\00" @.str16795 = private unnamed_addr constant [4 x i8] c"key\00" @.str16796 = private unnamed_addr constant [26 x i8] c" wants a Key and this is \00" @.str16797 = private unnamed_addr constant [60 x i8] c": a key is written k\22module.purpose\22 (kn\22...\22 for a plural)\00" @.str16798 = private unnamed_addr constant [4 x i8] c"key\00" @.str16799 = private unnamed_addr constant [8 x i8] c" wants \00" @.str16800 = private unnamed_addr constant [76 x i8] c" and this is a Key: text is made from a key (tr(key)), never the key itself\00" @.str16801 = private unnamed_addr constant [8 x i8] c" wants \00" @.str16802 = private unnamed_addr constant [14 x i8] c" and this is \00" @.str16803 = private unnamed_addr constant [55 x i8] c"build/cfree/selfhost.ludic:26072: index out of range: \00" @.str16804 = private unnamed_addr constant [9 x i8] c"ck_field\00" @.str16805 = private unnamed_addr constant [55 x i8] c"build/cfree/selfhost.ludic:26072: index out of range: \00" @.str16806 = private unnamed_addr constant [55 x i8] c"build/cfree/selfhost.ludic:26085: index out of range: \00" @.str16807 = private unnamed_addr constant [8 x i8] c"ck_walk\00" @.str16808 = private unnamed_addr constant [2 x i8] c"?\00" @.str16809 = private unnamed_addr constant [5 x i8] c"long\00" @.str16810 = private unnamed_addr constant [4 x i8] c"int\00" @.str16811 = private unnamed_addr constant [6 x i8] c"float\00" @.str16812 = private unnamed_addr constant [6 x i8] c"fixed\00" @.str16813 = private unnamed_addr constant [4 x i8] c"Key\00" @.str16814 = private unnamed_addr constant [7 x i8] c"string\00" @.str16815 = private unnamed_addr constant [7 x i8] c"string\00" @.str16816 = private unnamed_addr constant [5 x i8] c"bool\00" @.str16817 = private unnamed_addr constant [5 x i8] c"null\00" @.str16818 = private unnamed_addr constant [6 x i8] c"fnref\00" @.str16819 = private unnamed_addr constant [4 x i8] c"fn \00" @.str16820 = private unnamed_addr constant [8 x i8] c"ck_expr\00" @.str16821 = private unnamed_addr constant [22 x i8] c": no function called \00" @.str16822 = private unnamed_addr constant [2 x i8] c"?\00" @.str16823 = private unnamed_addr constant [2 x i8] c"?\00" @.str16824 = private unnamed_addr constant [2 x i8] c"?\00" @.str16825 = private unnamed_addr constant [55 x i8] c"build/cfree/selfhost.ludic:26143: index out of range: \00" @.str16826 = private unnamed_addr constant [6 x i8] c"ck_id\00" @.str16827 = private unnamed_addr constant [55 x i8] c"build/cfree/selfhost.ludic:26144: index out of range: \00" @.str16828 = private unnamed_addr constant [2 x i8] c"?\00" @.str16829 = private unnamed_addr constant [5 x i8] c"port\00" @.str16830 = private unnamed_addr constant [42 x i8] c" is a port: it is filled once with 'bind \00" @.str16831 = private unnamed_addr constant [7 x i8] c"ck_new\00" @.str16832 = private unnamed_addr constant [63 x i8] c" { ... }' where the program is put together, not made with new\00" @.str16833 = private unnamed_addr constant [55 x i8] c"build/cfree/selfhost.ludic:26180: index out of range: \00" @.str16834 = private unnamed_addr constant [7 x i8] c"field \00" @.str16835 = private unnamed_addr constant [5 x i8] c" of \00" @.str16836 = private unnamed_addr constant [6 x i8] c"field\00" @.str16837 = private unnamed_addr constant [15 x i8] c" has no field \00" @.str16838 = private unnamed_addr constant [2 x i8] c"?\00" @.str16839 = private unnamed_addr constant [55 x i8] c"build/cfree/selfhost.ludic:26198: index out of range: \00" @.str16840 = private unnamed_addr constant [8 x i8] c"ck_list\00" @.str16841 = private unnamed_addr constant [55 x i8] c"build/cfree/selfhost.ludic:26198: index out of range: \00" @.str16842 = private unnamed_addr constant [55 x i8] c"build/cfree/selfhost.ludic:26199: index out of range: \00" @.str16843 = private unnamed_addr constant [55 x i8] c"build/cfree/selfhost.ludic:26202: index out of range: \00" @.str16844 = private unnamed_addr constant [19 x i8] c"an element of a []\00" @.str16845 = private unnamed_addr constant [5 x i8] c"null\00" @.str16846 = private unnamed_addr constant [2 x i8] c"?\00" @.str16847 = private unnamed_addr constant [3 x i8] c"[]\00" @.str16848 = private unnamed_addr constant [4 x i8] c"not\00" @.str16849 = private unnamed_addr constant [2 x i8] c"!\00" @.str16850 = private unnamed_addr constant [5 x i8] c"bool\00" @.str16851 = private unnamed_addr constant [2 x i8] c"-\00" @.str16852 = private unnamed_addr constant [5 x i8] c"bool\00" @.str16853 = private unnamed_addr constant [5 x i8] c"bool\00" @.str16854 = private unnamed_addr constant [12 x i8] c"- on a bool\00" @.str16855 = private unnamed_addr constant [2 x i8] c"?\00" @.str16856 = private unnamed_addr constant [2 x i8] c"?\00" @.str16857 = private unnamed_addr constant [2 x i8] c"?\00" @.str16858 = private unnamed_addr constant [10 x i8] c"indexing \00" @.str16859 = private unnamed_addr constant [12 x i8] c"ck_index_of\00" @.str16860 = private unnamed_addr constant [6 x i8] c"index\00" @.str16861 = private unnamed_addr constant [35 x i8] c"an index wants an int and this is \00" @.str16862 = private unnamed_addr constant [2 x i8] c"?\00" @.str16863 = private unnamed_addr constant [7 x i8] c"string\00" @.str16864 = private unnamed_addr constant [6 x i8] c"words\00" @.str16865 = private unnamed_addr constant [4 x i8] c"int\00" @.str16866 = private unnamed_addr constant [7 x i8] c"floats\00" @.str16867 = private unnamed_addr constant [6 x i8] c"float\00" @.str16868 = private unnamed_addr constant [8 x i8] c"doubles\00" @.str16869 = private unnamed_addr constant [7 x i8] c"double\00" @.str16870 = private unnamed_addr constant [7 x i8] c"fixeds\00" @.str16871 = private unnamed_addr constant [6 x i8] c"fixed\00" @.str16872 = private unnamed_addr constant [9 x i8] c"pointers\00" @.str16873 = private unnamed_addr constant [8 x i8] c"pointer\00" @.str16874 = private unnamed_addr constant [2 x i8] c"?\00" @.str16875 = private unnamed_addr constant [5 x i8] c"bool\00" @.str16876 = private unnamed_addr constant [5 x i8] c"cond\00" @.str16877 = private unnamed_addr constant [38 x i8] c"a condition wants a bool and this is \00" @.str16878 = private unnamed_addr constant [8 x i8] c"ck_cond\00" @.str16879 = private unnamed_addr constant [4 x i8] c"and\00" @.str16880 = private unnamed_addr constant [3 x i8] c"or\00" @.str16881 = private unnamed_addr constant [3 x i8] c"&&\00" @.str16882 = private unnamed_addr constant [3 x i8] c"||\00" @.str16883 = private unnamed_addr constant [5 x i8] c"bool\00" @.str16884 = private unnamed_addr constant [3 x i8] c"==\00" @.str16885 = private unnamed_addr constant [3 x i8] c"!=\00" @.str16886 = private unnamed_addr constant [2 x i8] c"<\00" @.str16887 = private unnamed_addr constant [2 x i8] c">\00" @.str16888 = private unnamed_addr constant [3 x i8] c"<=\00" @.str16889 = private unnamed_addr constant [3 x i8] c">=\00" @.str16890 = private unnamed_addr constant [5 x i8] c"bool\00" @.str16891 = private unnamed_addr constant [2 x i8] c"+\00" @.str16892 = private unnamed_addr constant [2 x i8] c"-\00" @.str16893 = private unnamed_addr constant [2 x i8] c"*\00" @.str16894 = private unnamed_addr constant [2 x i8] c"/\00" @.str16895 = private unnamed_addr constant [2 x i8] c"%\00" @.str16896 = private unnamed_addr constant [2 x i8] c"&\00" @.str16897 = private unnamed_addr constant [2 x i8] c"|\00" @.str16898 = private unnamed_addr constant [2 x i8] c"^\00" @.str16899 = private unnamed_addr constant [3 x i8] c"<<\00" @.str16900 = private unnamed_addr constant [3 x i8] c">>\00" @.str16901 = private unnamed_addr constant [5 x i8] c"long\00" @.str16902 = private unnamed_addr constant [5 x i8] c"long\00" @.str16903 = private unnamed_addr constant [5 x i8] c"long\00" @.str16904 = private unnamed_addr constant [4 x i8] c"int\00" @.str16905 = private unnamed_addr constant [2 x i8] c"?\00" @.str16906 = private unnamed_addr constant [5 x i8] c"null\00" @.str16907 = private unnamed_addr constant [5 x i8] c"null\00" @.str16908 = private unnamed_addr constant [8 x i8] c"pointer\00" @.str16909 = private unnamed_addr constant [7 x i8] c"string\00" @.str16910 = private unnamed_addr constant [8 x i8] c"pointer\00" @.str16911 = private unnamed_addr constant [7 x i8] c"string\00" @.str16912 = private unnamed_addr constant [8 x i8] c"pointer\00" @.str16913 = private unnamed_addr constant [4 x i8] c"key\00" @.str16914 = private unnamed_addr constant [8 x i8] c"pointer\00" @.str16915 = private unnamed_addr constant [4 x i8] c"key\00" @.str16916 = private unnamed_addr constant [8 x i8] c"compare\00" @.str16917 = private unnamed_addr constant [10 x i8] c" between \00" @.str16918 = private unnamed_addr constant [11 x i8] c"ck_compare\00" @.str16919 = private unnamed_addr constant [6 x i8] c" and \00" @.str16920 = private unnamed_addr constant [8 x i8] c"compare\00" @.str16921 = private unnamed_addr constant [10 x i8] c" between \00" @.str16922 = private unnamed_addr constant [6 x i8] c" and \00" @.str16923 = private unnamed_addr constant [19 x i8] c" can never be true\00" @.str16924 = private unnamed_addr constant [6 x i8] c"fixed\00" @.str16925 = private unnamed_addr constant [6 x i8] c"fixed\00" @.str16926 = private unnamed_addr constant [22 x i8] c" between a fixed and \00" @.str16927 = private unnamed_addr constant [6 x i8] c"fixed\00" @.str16928 = private unnamed_addr constant [6 x i8] c"fixed\00" @.str16929 = private unnamed_addr constant [10 x i8] c" between \00" @.str16930 = private unnamed_addr constant [13 x i8] c" and a fixed\00" @.str16931 = private unnamed_addr constant [7 x i8] c"string\00" @.str16932 = private unnamed_addr constant [8 x i8] c"pointer\00" @.str16933 = private unnamed_addr constant [4 x i8] c"key\00" @.str16934 = private unnamed_addr constant [74 x i8] c" on a Key: a key names a text, it is not one - make the text with tr(key)\00" @.str16935 = private unnamed_addr constant [9 x i8] c"ck_arith\00" @.str16936 = private unnamed_addr constant [2 x i8] c"?\00" @.str16937 = private unnamed_addr constant [7 x i8] c"string\00" @.str16938 = private unnamed_addr constant [2 x i8] c"+\00" @.str16939 = private unnamed_addr constant [7 x i8] c"string\00" @.str16940 = private unnamed_addr constant [5 x i8] c"text\00" @.str16941 = private unnamed_addr constant [5 x i8] c" of \00" @.str16942 = private unnamed_addr constant [6 x i8] c" and \00" @.str16943 = private unnamed_addr constant [54 x i8] c": text joins text only - write string(x) for a number\00" @.str16944 = private unnamed_addr constant [2 x i8] c"?\00" @.str16945 = private unnamed_addr constant [2 x i8] c"?\00" @.str16946 = private unnamed_addr constant [5 x i8] c"bool\00" @.str16947 = private unnamed_addr constant [5 x i8] c"bool\00" @.str16948 = private unnamed_addr constant [5 x i8] c"bool\00" @.str16949 = private unnamed_addr constant [11 x i8] c" on a bool\00" @.str16950 = private unnamed_addr constant [2 x i8] c"?\00" @.str16951 = private unnamed_addr constant [5 x i8] c"kind\00" @.str16952 = private unnamed_addr constant [5 x i8] c" of \00" @.str16953 = private unnamed_addr constant [6 x i8] c" and \00" @.str16954 = private unnamed_addr constant [2 x i8] c"?\00" @.str16955 = private unnamed_addr constant [6 x i8] c"fixed\00" @.str16956 = private unnamed_addr constant [6 x i8] c"fixed\00" @.str16957 = private unnamed_addr constant [6 x i8] c"fixed\00" @.str16958 = private unnamed_addr constant [17 x i8] c" of a fixed and \00" @.str16959 = private unnamed_addr constant [14 x i8] c"ck_num_result\00" @.str16960 = private unnamed_addr constant [40 x i8] c": convert one with float(x) or fixed(x)\00" @.str16961 = private unnamed_addr constant [2 x i8] c"?\00" @.str16962 = private unnamed_addr constant [6 x i8] c"fixed\00" @.str16963 = private unnamed_addr constant [6 x i8] c"fixed\00" @.str16964 = private unnamed_addr constant [6 x i8] c"fixed\00" @.str16965 = private unnamed_addr constant [5 x i8] c" of \00" @.str16966 = private unnamed_addr constant [52 x i8] c" and a fixed: convert one with float(x) or fixed(x)\00" @.str16967 = private unnamed_addr constant [2 x i8] c"?\00" @.str16968 = private unnamed_addr constant [7 x i8] c"double\00" @.str16969 = private unnamed_addr constant [7 x i8] c"double\00" @.str16970 = private unnamed_addr constant [7 x i8] c"double\00" @.str16971 = private unnamed_addr constant [6 x i8] c"fixed\00" @.str16972 = private unnamed_addr constant [6 x i8] c"fixed\00" @.str16973 = private unnamed_addr constant [6 x i8] c"fixed\00" @.str16974 = private unnamed_addr constant [5 x i8] c"long\00" @.str16975 = private unnamed_addr constant [5 x i8] c"long\00" @.str16976 = private unnamed_addr constant [5 x i8] c"long\00" @.str16977 = private unnamed_addr constant [4 x i8] c"int\00" @.str16978 = private unnamed_addr constant [55 x i8] c"build/cfree/selfhost.ludic:26346: index out of range: \00" @.str16979 = private unnamed_addr constant [10 x i8] c"ck_params\00" @.str16980 = private unnamed_addr constant [55 x i8] c"build/cfree/selfhost.ludic:26347: index out of range: \00" @.str16981 = private unnamed_addr constant [55 x i8] c"build/cfree/selfhost.ludic:26348: index out of range: \00" @.str16982 = private unnamed_addr constant [11 x i8] c"ck_call_fn\00" @.str16983 = private unnamed_addr constant [5 x i8] c"void\00" @.str16984 = private unnamed_addr constant [55 x i8] c"build/cfree/selfhost.ludic:26369: index out of range: \00" @.str16985 = private unnamed_addr constant [14 x i8] c"ck_call_alias\00" @.str16986 = private unnamed_addr constant [5 x i8] c"void\00" @.str16987 = private unnamed_addr constant [12 x i8] c"ck_call_sig\00" @.str16988 = private unnamed_addr constant [55 x i8] c"build/cfree/selfhost.ludic:26385: index out of range: \00" @.str16989 = private unnamed_addr constant [12 x i8] c"ck_label_at\00" @.str16990 = private unnamed_addr constant [55 x i8] c"build/cfree/selfhost.ludic:26392: index out of range: \00" @.str16991 = private unnamed_addr constant [8 x i8] c"ck_args\00" @.str16992 = private unnamed_addr constant [55 x i8] c"build/cfree/selfhost.ludic:26395: index out of range: \00" @.str16993 = private unnamed_addr constant [55 x i8] c"build/cfree/selfhost.ludic:26398: index out of range: \00" @.str16994 = private unnamed_addr constant [10 x i8] c"argument \00" @.str16995 = private unnamed_addr constant [5 x i8] c" of \00" @.str16996 = private unnamed_addr constant [6 x i8] c"arity\00" @.str16997 = private unnamed_addr constant [19 x i8] c" has no parameter \00" @.str16998 = private unnamed_addr constant [55 x i8] c"build/cfree/selfhost.ludic:26404: index out of range: \00" @.str16999 = private unnamed_addr constant [6 x i8] c"arity\00" @.str17000 = private unnamed_addr constant [14 x i8] c"this call to \00" @.str17001 = private unnamed_addr constant [13 x i8] c" leaves out \00" @.str17002 = private unnamed_addr constant [55 x i8] c"build/cfree/selfhost.ludic:26404: index out of range: \00" @.str17003 = private unnamed_addr constant [23 x i8] c", which has no default\00" @.str17004 = private unnamed_addr constant [6 x i8] c"arity\00" @.str17005 = private unnamed_addr constant [14 x i8] c"this call to \00" @.str17006 = private unnamed_addr constant [13 x i8] c" leaves out \00" @.str17007 = private unnamed_addr constant [55 x i8] c"build/cfree/selfhost.ludic:26409: index out of range: \00" @.str17008 = private unnamed_addr constant [23 x i8] c", which has no default\00" @.str17009 = private unnamed_addr constant [6 x i8] c"arity\00" @.str17010 = private unnamed_addr constant [8 x i8] c" takes \00" @.str17011 = private unnamed_addr constant [34 x i8] c" argument(s) and this call gives \00" @.str17012 = private unnamed_addr constant [55 x i8] c"build/cfree/selfhost.ludic:26413: index out of range: \00" @.str17013 = private unnamed_addr constant [55 x i8] c"build/cfree/selfhost.ludic:26414: index out of range: \00" @.str17014 = private unnamed_addr constant [55 x i8] c"build/cfree/selfhost.ludic:26415: index out of range: \00" @.str17015 = private unnamed_addr constant [55 x i8] c"build/cfree/selfhost.ludic:26415: index out of range: \00" @.str17016 = private unnamed_addr constant [10 x i8] c"argument \00" @.str17017 = private unnamed_addr constant [5 x i8] c" of \00" @.str17018 = private unnamed_addr constant [55 x i8] c"build/cfree/selfhost.ludic:26422: index out of range: \00" @.str17019 = private unnamed_addr constant [13 x i8] c"ck_named_has\00" @.str17020 = private unnamed_addr constant [55 x i8] c"build/cfree/selfhost.ludic:26430: index out of range: \00" @.str17021 = private unnamed_addr constant [13 x i8] c"ck_walk_args\00" @.str17022 = private unnamed_addr constant [5 x i8] c"keep\00" @.str17023 = private unnamed_addr constant [55 x i8] c"build/cfree/selfhost.ludic:26436: index out of range: \00" @.str17024 = private unnamed_addr constant [11 x i8] c"ck_builtin\00" @.str17025 = private unnamed_addr constant [7 x i8] c"intern\00" @.str17026 = private unnamed_addr constant [7 x i8] c"string\00" @.str17027 = private unnamed_addr constant [7 x i8] c"string\00" @.str17028 = private unnamed_addr constant [7 x i8] c"string\00" @.str17029 = private unnamed_addr constant [4 x i8] c"int\00" @.str17030 = private unnamed_addr constant [6 x i8] c"float\00" @.str17031 = private unnamed_addr constant [6 x i8] c"fixed\00" @.str17032 = private unnamed_addr constant [5 x i8] c"long\00" @.str17033 = private unnamed_addr constant [7 x i8] c"double\00" @.str17034 = private unnamed_addr constant [7 x i8] c"as_int\00" @.str17035 = private unnamed_addr constant [9 x i8] c"as_fixed\00" @.str17036 = private unnamed_addr constant [4 x i8] c"len\00" @.str17037 = private unnamed_addr constant [11 x i8] c"float_bits\00" @.str17038 = private unnamed_addr constant [4 x i8] c"int\00" @.str17039 = private unnamed_addr constant [5 x i8] c"view\00" @.str17040 = private unnamed_addr constant [55 x i8] c"build/cfree/selfhost.ludic:26455: index out of range: \00" @.str17041 = private unnamed_addr constant [4 x i8] c"int\00" @.str17042 = private unnamed_addr constant [55 x i8] c"build/cfree/selfhost.ludic:26456: index out of range: \00" @.str17043 = private unnamed_addr constant [55 x i8] c"build/cfree/selfhost.ludic:26456: index out of range: \00" @.str17044 = private unnamed_addr constant [20 x i8] c"the start of a view\00" @.str17045 = private unnamed_addr constant [4 x i8] c"int\00" @.str17046 = private unnamed_addr constant [55 x i8] c"build/cfree/selfhost.ludic:26457: index out of range: \00" @.str17047 = private unnamed_addr constant [55 x i8] c"build/cfree/selfhost.ludic:26457: index out of range: \00" @.str17048 = private unnamed_addr constant [21 x i8] c"the length of a view\00" @.str17049 = private unnamed_addr constant [5 x i8] c"kind\00" @.str17050 = private unnamed_addr constant [33 x i8] c"view takes a slice, and this is \00" @.str17051 = private unnamed_addr constant [6 x i8] c"bytes\00" @.str17052 = private unnamed_addr constant [7 x i8] c"offset\00" @.str17053 = private unnamed_addr constant [8 x i8] c"pointer\00" @.str17054 = private unnamed_addr constant [8 x i8] c"data_of\00" @.str17055 = private unnamed_addr constant [8 x i8] c"pointer\00" @.str17056 = private unnamed_addr constant [6 x i8] c"words\00" @.str17057 = private unnamed_addr constant [6 x i8] c"[]int\00" @.str17058 = private unnamed_addr constant [7 x i8] c"buffer\00" @.str17059 = private unnamed_addr constant [7 x i8] c"[]byte\00" @.str17060 = private unnamed_addr constant [7 x i8] c"fixeds\00" @.str17061 = private unnamed_addr constant [9 x i8] c"pointers\00" @.str17062 = private unnamed_addr constant [3 x i8] c"[]\00" @.str17063 = private unnamed_addr constant [7 x i8] c"floats\00" @.str17064 = private unnamed_addr constant [8 x i8] c"doubles\00" @.str17065 = private unnamed_addr constant [3 x i8] c"[]\00" @.str17066 = private unnamed_addr constant [16 x i8] c"float_from_bits\00" @.str17067 = private unnamed_addr constant [6 x i8] c"float\00" @.str17068 = private unnamed_addr constant [6 x i8] c"print\00" @.str17069 = private unnamed_addr constant [5 x i8] c"void\00" @.str17070 = private unnamed_addr constant [5 x i8] c"push\00" @.str17071 = private unnamed_addr constant [55 x i8] c"build/cfree/selfhost.ludic:26494: index out of range: \00" @.str17072 = private unnamed_addr constant [5 x i8] c"push\00" @.str17073 = private unnamed_addr constant [55 x i8] c"build/cfree/selfhost.ludic:26495: index out of range: \00" @.str17074 = private unnamed_addr constant [55 x i8] c"build/cfree/selfhost.ludic:26496: index out of range: \00" @.str17075 = private unnamed_addr constant [55 x i8] c"build/cfree/selfhost.ludic:26497: index out of range: \00" @.str17076 = private unnamed_addr constant [11 x i8] c"push onto \00" @.str17077 = private unnamed_addr constant [5 x i8] c"void\00" @.str17078 = private unnamed_addr constant [55 x i8] c"build/cfree/selfhost.ludic:26507: index out of range: \00" @.str17079 = private unnamed_addr constant [16 x i8] c"ck_alias_shadow\00" @.str17080 = private unnamed_addr constant [16 x i8] c"runtime/native/\00" @.str17081 = private unnamed_addr constant [16 x i8] c"runtime/native/\00" @.str17082 = private unnamed_addr constant [55 x i8] c"build/cfree/selfhost.ludic:26511: index out of range: \00" @.str17083 = private unnamed_addr constant [7 x i8] c"shadow\00" @.str17084 = private unnamed_addr constant [18 x i8] c" is the engine's \00" @.str17085 = private unnamed_addr constant [55 x i8] c"build/cfree/selfhost.ludic:26515: index out of range: \00" @.str17086 = private unnamed_addr constant [2 x i8] c".\00" @.str17087 = private unnamed_addr constant [55 x i8] c"build/cfree/selfhost.ludic:26515: index out of range: \00" @.str17088 = private unnamed_addr constant [29 x i8] c", which this program calls (\00" @.str17089 = private unnamed_addr constant [2 x i8] c":\00" @.str17090 = private unnamed_addr constant [78 x i8] c"), and every such call would reach this function instead; choose another name\00" @.str17091 = private unnamed_addr constant [7 x i8] c"Memory\00" @.str17092 = private unnamed_addr constant [8 x i8] c"Memory.\00" @.str17093 = private unnamed_addr constant [8 x i8] c"ck_call\00" @.str17094 = private unnamed_addr constant [5 x i8] c"Math\00" @.str17095 = private unnamed_addr constant [55 x i8] c"build/cfree/selfhost.ludic:26528: index out of range: \00" @.str17096 = private unnamed_addr constant [55 x i8] c"build/cfree/selfhost.ludic:26531: index out of range: \00" @.str17097 = private unnamed_addr constant [2 x i8] c".\00" @.str17098 = private unnamed_addr constant [15 x i8] c", a C function\00" @.str17099 = private unnamed_addr constant [55 x i8] c"build/cfree/selfhost.ludic:26535: index out of range: \00" @.str17100 = private unnamed_addr constant [55 x i8] c"build/cfree/selfhost.ludic:26535: index out of range: \00" @.str17101 = private unnamed_addr constant [55 x i8] c"build/cfree/selfhost.ludic:26536: index out of range: \00" @.str17102 = private unnamed_addr constant [2 x i8] c".\00" @.str17103 = private unnamed_addr constant [2 x i8] c"?\00" @.str17104 = private unnamed_addr constant [2 x i8] c"_\00" @.str17105 = private unnamed_addr constant [2 x i8] c"?\00" @.str17106 = private unnamed_addr constant [2 x i8] c"?\00" @.str17107 = private unnamed_addr constant [2 x i8] c"?\00" @.str17108 = private unnamed_addr constant [55 x i8] c"build/cfree/selfhost.ludic:26567: index out of range: \00" @.str17109 = private unnamed_addr constant [14 x i8] c"ck_call_named\00" @.str17110 = private unnamed_addr constant [55 x i8] c"build/cfree/selfhost.ludic:26567: index out of range: \00" @.str17111 = private unnamed_addr constant [2 x i8] c"?\00" @.str17112 = private unnamed_addr constant [3 x i8] c"()\00" @.str17113 = private unnamed_addr constant [16 x i8] c"the C function \00" @.str17114 = private unnamed_addr constant [2 x i8] c"?\00" @.str17115 = private unnamed_addr constant [55 x i8] c"build/cfree/selfhost.ludic:26607: index out of range: \00" @.str17116 = private unnamed_addr constant [8 x i8] c"ck_math\00" @.str17117 = private unnamed_addr constant [2 x i8] c"?\00" @.str17118 = private unnamed_addr constant [55 x i8] c"build/cfree/selfhost.ludic:26614: index out of range: \00" @.str17119 = private unnamed_addr constant [55 x i8] c"build/cfree/selfhost.ludic:26617: index out of range: \00" @.str17120 = private unnamed_addr constant [2 x i8] c"?\00" @.str17121 = private unnamed_addr constant [55 x i8] c"build/cfree/selfhost.ludic:26618: index out of range: \00" @.str17122 = private unnamed_addr constant [5 x i8] c"sign\00" @.str17123 = private unnamed_addr constant [4 x i8] c"int\00" @.str17124 = private unnamed_addr constant [55 x i8] c"build/cfree/selfhost.ludic:26620: index out of range: \00" @.str17125 = private unnamed_addr constant [55 x i8] c"build/cfree/selfhost.ludic:26623: index out of range: \00" @.str17126 = private unnamed_addr constant [7 x i8] c"double\00" @.str17127 = private unnamed_addr constant [7 x i8] c"double\00" @.str17128 = private unnamed_addr constant [55 x i8] c"build/cfree/selfhost.ludic:26631: index out of range: \00" @.str17129 = private unnamed_addr constant [55 x i8] c"build/cfree/selfhost.ludic:26631: index out of range: \00" @.str17130 = private unnamed_addr constant [2 x i8] c"?\00" @.str17131 = private unnamed_addr constant [4 x i8] c"min\00" @.str17132 = private unnamed_addr constant [4 x i8] c"max\00" @.str17133 = private unnamed_addr constant [4 x i8] c"abs\00" @.str17134 = private unnamed_addr constant [6 x i8] c"clamp\00" @.str17135 = private unnamed_addr constant [55 x i8] c"build/cfree/selfhost.ludic:26634: index out of range: \00" @.str17136 = private unnamed_addr constant [5 x i8] c"sign\00" @.str17137 = private unnamed_addr constant [6 x i8] c"floor\00" @.str17138 = private unnamed_addr constant [5 x i8] c"ceil\00" @.str17139 = private unnamed_addr constant [6 x i8] c"round\00" @.str17140 = private unnamed_addr constant [4 x i8] c"int\00" @.str17141 = private unnamed_addr constant [7 x i8] c"posmod\00" @.str17142 = private unnamed_addr constant [5 x i8] c"wrap\00" @.str17143 = private unnamed_addr constant [10 x i8] c"ping_pong\00" @.str17144 = private unnamed_addr constant [4 x i8] c"int\00" @.str17145 = private unnamed_addr constant [6 x i8] c"fixed\00" @.str17146 = private unnamed_addr constant [55 x i8] c"build/cfree/selfhost.ludic:26646: index out of range: \00" @.str17147 = private unnamed_addr constant [8 x i8] c"ck_emit\00" @.str17148 = private unnamed_addr constant [7 x i8] c"field \00" @.str17149 = private unnamed_addr constant [5 x i8] c" of \00" @.str17150 = private unnamed_addr constant [55 x i8] c"build/cfree/selfhost.ludic:26660: index out of range: \00" @.str17151 = private unnamed_addr constant [8 x i8] c"ck_hole\00" @.str17152 = private unnamed_addr constant [4 x i8] c"key\00" @.str17153 = private unnamed_addr constant [55 x i8] c"build/cfree/selfhost.ludic:26661: index out of range: \00" @.str17154 = private unnamed_addr constant [202 x i8] c"a Key in a template's {hole}: a key names a text, it is not one - translate it with trf(k\22...\22, ...) (tr(key) for no values), or say string(key) outside the template if the marked name is really wanted\00" @.str17155 = private unnamed_addr constant [7 x i8] c"string\00" @.str17156 = private unnamed_addr constant [55 x i8] c"build/cfree/selfhost.ludic:26679: index out of range: \00" @.str17157 = private unnamed_addr constant [9 x i8] c"ck_block\00" @.str17158 = private unnamed_addr constant [2 x i8] c"?\00" @.str17159 = private unnamed_addr constant [6 x i8] c"state\00" @.str17160 = private unnamed_addr constant [6 x i8] c"state\00" @.str17161 = private unnamed_addr constant [34 x i8] c"an entry point takes states, and \00" @.str17162 = private unnamed_addr constant [7 x i8] c"ck_let\00" @.str17163 = private unnamed_addr constant [3 x i8] c": \00" @.str17164 = private unnamed_addr constant [12 x i8] c" is not one\00" @.str17165 = private unnamed_addr constant [16 x i8] c"this assignment\00" @.str17166 = private unnamed_addr constant [2 x i8] c"=\00" @.str17167 = private unnamed_addr constant [16 x i8] c"this assignment\00" @.str17168 = private unnamed_addr constant [7 x i8] c"field \00" @.str17169 = private unnamed_addr constant [10 x i8] c"ck_assign\00" @.str17170 = private unnamed_addr constant [2 x i8] c"=\00" @.str17171 = private unnamed_addr constant [55 x i8] c"build/cfree/selfhost.ludic:26730: index out of range: \00" @.str17172 = private unnamed_addr constant [9 x i8] c"ck_match\00" @.str17173 = private unnamed_addr constant [55 x i8] c"build/cfree/selfhost.ludic:26734: index out of range: \00" @.str17174 = private unnamed_addr constant [55 x i8] c"build/cfree/selfhost.ludic:26739: index out of range: \00" @.str17175 = private unnamed_addr constant [55 x i8] c"build/cfree/selfhost.ludic:26739: index out of range: \00" @.str17176 = private unnamed_addr constant [2 x i8] c"?\00" @.str17177 = private unnamed_addr constant [4 x i8] c"int\00" @.str17178 = private unnamed_addr constant [5 x i8] c"void\00" @.str17179 = private unnamed_addr constant [11 x i8] c"the result\00" @.str17180 = private unnamed_addr constant [19 x i8] c"a machine's become\00" @.str17181 = private unnamed_addr constant [2 x i8] c"?\00" @.str17182 = private unnamed_addr constant [55 x i8] c"build/cfree/selfhost.ludic:26807: index out of range: \00" @.str17183 = private unnamed_addr constant [8 x i8] c"ck_stmt\00" @.str17184 = private unnamed_addr constant [55 x i8] c"build/cfree/selfhost.ludic:26808: index out of range: \00" @.str17185 = private unnamed_addr constant [55 x i8] c"build/cfree/selfhost.ludic:26811: index out of range: \00" @.str17186 = private unnamed_addr constant [55 x i8] c"build/cfree/selfhost.ludic:26825: index out of range: \00" @.str17187 = private unnamed_addr constant [15 x i8] c"ck_param_twice\00" @.str17188 = private unnamed_addr constant [55 x i8] c"build/cfree/selfhost.ludic:26825: index out of range: \00" @.str17189 = private unnamed_addr constant [55 x i8] c"build/cfree/selfhost.ludic:26825: index out of range: \00" @.str17190 = private unnamed_addr constant [6 x i8] c"arity\00" @.str17191 = private unnamed_addr constant [55 x i8] c"build/cfree/selfhost.ludic:26826: index out of range: \00" @.str17192 = private unnamed_addr constant [23 x i8] c" names two parameters \00" @.str17193 = private unnamed_addr constant [55 x i8] c"build/cfree/selfhost.ludic:26826: index out of range: \00" @.str17194 = private unnamed_addr constant [55 x i8] c"build/cfree/selfhost.ludic:26837: index out of range: \00" @.str17195 = private unnamed_addr constant [11 x i8] c"ck_fn_body\00" @.str17196 = private unnamed_addr constant [55 x i8] c"build/cfree/selfhost.ludic:26839: index out of range: \00" @.str17197 = private unnamed_addr constant [5 x i8] c"void\00" @.str17198 = private unnamed_addr constant [5 x i8] c"void\00" @.str17199 = private unnamed_addr constant [55 x i8] c"build/cfree/selfhost.ludic:26863: index out of range: \00" @.str17200 = private unnamed_addr constant [12 x i8] c"ck_listener\00" @.str17201 = private unnamed_addr constant [55 x i8] c"build/cfree/selfhost.ludic:26863: index out of range: \00" @.str17202 = private unnamed_addr constant [5 x i8] c"void\00" @.str17203 = private unnamed_addr constant [55 x i8] c"build/cfree/selfhost.ludic:26878: index out of range: \00" @.str17204 = private unnamed_addr constant [19 x i8] c"ck_runtime_shadows\00" @.str17205 = private unnamed_addr constant [7 x i8] c"shadow\00" @.str17206 = private unnamed_addr constant [102 x i8] c" is a built-in of the compiler, and a call to it would never reach this function; choose another name\00" @.str17207 = private unnamed_addr constant [55 x i8] c"build/cfree/selfhost.ludic:26884: index out of range: \00" @.str17208 = private unnamed_addr constant [7 x i8] c"shadow\00" @.str17209 = private unnamed_addr constant [44 x i8] c" is also a function of the engine runtime (\00" @.str17210 = private unnamed_addr constant [23 x i8] c"); choose another name\00" @.str17211 = private unnamed_addr constant [1 x i8] c"\00" @.str17212 = private unnamed_addr constant [55 x i8] c"build/cfree/selfhost.ludic:26894: index out of range: \00" @.str17213 = private unnamed_addr constant [1 x i8] c"\00" @.str17214 = private unnamed_addr constant [7 x i8] c"shadow\00" @.str17215 = private unnamed_addr constant [19 x i8] c" is the runtime's \00" @.str17216 = private unnamed_addr constant [3 x i8] c" (\00" @.str17217 = private unnamed_addr constant [33 x i8] c"); choose another name for this \00" @.str17218 = private unnamed_addr constant [5 x i8] c"enum\00" @.str17219 = private unnamed_addr constant [6 x i8] c"state\00" @.str17220 = private unnamed_addr constant [9 x i8] c"property\00" @.str17221 = private unnamed_addr constant [7 x i8] c"record\00" @.str17222 = private unnamed_addr constant [6 x i8] c"event\00" @.str17223 = private unnamed_addr constant [1 x i8] c"\00" @.str17224 = private unnamed_addr constant [55 x i8] c"build/cfree/selfhost.ludic:26915: index out of range: \00" @.str17225 = private unnamed_addr constant [9 x i8] c"ck_hooks\00" @.str17226 = private unnamed_addr constant [55 x i8] c"build/cfree/selfhost.ludic:26916: index out of range: \00" @.str17227 = private unnamed_addr constant [55 x i8] c"build/cfree/selfhost.ludic:26932: index out of range: \00" @.str17228 = private unnamed_addr constant [10 x i8] c"ck_widget\00" @.str17229 = private unnamed_addr constant [55 x i8] c"build/cfree/selfhost.ludic:26937: index out of range: \00" @.str17230 = private unnamed_addr constant [55 x i8] c"build/cfree/selfhost.ludic:26949: index out of range: \00" @.str17231 = private unnamed_addr constant [14 x i8] c"check_program\00" @.str17232 = private unnamed_addr constant [55 x i8] c"build/cfree/selfhost.ludic:26977: index out of range: \00" @.str17233 = private unnamed_addr constant [55 x i8] c"build/cfree/selfhost.ludic:26989: index out of range: \00" @.str17234 = private unnamed_addr constant [55 x i8] c"build/cfree/selfhost.ludic:26990: index out of range: \00" @.str17235 = private unnamed_addr constant [55 x i8] c"build/cfree/selfhost.ludic:26997: index out of range: \00" @.str17236 = private unnamed_addr constant [55 x i8] c"build/cfree/selfhost.ludic:26998: index out of range: \00" @.str17237 = private unnamed_addr constant [16 x i8] c" type error(s)\0A\00" @.str17238 = private unnamed_addr constant [55 x i8] c"build/cfree/selfhost.ludic:27029: index out of range: \00" @.str17239 = private unnamed_addr constant [13 x i8] c"gen_template\00" @.str17240 = private unnamed_addr constant [55 x i8] c"build/cfree/selfhost.ludic:27029: index out of range: \00" @.str17241 = private unnamed_addr constant [12 x i8] c"gen_collect\00" @.str17242 = private unnamed_addr constant [55 x i8] c"build/cfree/selfhost.ludic:27040: index out of range: \00" @.str17243 = private unnamed_addr constant [55 x i8] c"build/cfree/selfhost.ludic:27055: index out of range: \00" @.str17244 = private unnamed_addr constant [10 x i8] c"gen_index\00" @.str17245 = private unnamed_addr constant [55 x i8] c"build/cfree/selfhost.ludic:27064: index out of range: \00" @.str17246 = private unnamed_addr constant [10 x i8] c"gen_subst\00" @.str17247 = private unnamed_addr constant [3 x i8] c"[]\00" @.str17248 = private unnamed_addr constant [4 x i8] c"fn(\00" @.str17249 = private unnamed_addr constant [2 x i8] c",\00" @.str17250 = private unnamed_addr constant [55 x i8] c"build/cfree/selfhost.ludic:27072: index out of range: \00" @.str17251 = private unnamed_addr constant [4 x i8] c")->\00" @.str17252 = private unnamed_addr constant [55 x i8] c"build/cfree/selfhost.ludic:27078: index out of range: \00" @.str17253 = private unnamed_addr constant [55 x i8] c"build/cfree/selfhost.ludic:27079: index out of range: \00" @.str17254 = private unnamed_addr constant [55 x i8] c"build/cfree/selfhost.ludic:27083: index out of range: \00" @.str17255 = private unnamed_addr constant [55 x i8] c"build/cfree/selfhost.ludic:27086: index out of range: \00" @.str17256 = private unnamed_addr constant [10 x i8] c"gen_clone\00" @.str17257 = private unnamed_addr constant [55 x i8] c"build/cfree/selfhost.ludic:27110: index out of range: \00" @.str17258 = private unnamed_addr constant [55 x i8] c"build/cfree/selfhost.ludic:27118: index out of range: \00" @.str17259 = private unnamed_addr constant [11 x i8] c"gen_record\00" @.str17260 = private unnamed_addr constant [55 x i8] c"build/cfree/selfhost.ludic:27119: index out of range: \00" @.str17261 = private unnamed_addr constant [55 x i8] c"build/cfree/selfhost.ludic:27121: index out of range: \00" @.str17262 = private unnamed_addr constant [55 x i8] c"build/cfree/selfhost.ludic:27125: index out of range: \00" @.str17263 = private unnamed_addr constant [55 x i8] c"build/cfree/selfhost.ludic:27126: index out of range: \00" @.str17264 = private unnamed_addr constant [8 x i8] c"generic\00" @.str17265 = private unnamed_addr constant [8 x i8] c" takes \00" @.str17266 = private unnamed_addr constant [23 x i8] c" type argument(s) and \00" @.str17267 = private unnamed_addr constant [8 x i8] c" gives \00" @.str17268 = private unnamed_addr constant [5 x i8] c"null\00" @.str17269 = private unnamed_addr constant [55 x i8] c"build/cfree/selfhost.ludic:27141: index out of range: \00" @.str17270 = private unnamed_addr constant [10 x i8] c"gen_unify\00" @.str17271 = private unnamed_addr constant [55 x i8] c"build/cfree/selfhost.ludic:27141: index out of range: \00" @.str17272 = private unnamed_addr constant [55 x i8] c"build/cfree/selfhost.ludic:27153: index out of range: \00" @.str17273 = private unnamed_addr constant [55 x i8] c"build/cfree/selfhost.ludic:27153: index out of range: \00" @.str17274 = private unnamed_addr constant [55 x i8] c"build/cfree/selfhost.ludic:27161: index out of range: \00" @.str17275 = private unnamed_addr constant [55 x i8] c"build/cfree/selfhost.ludic:27161: index out of range: \00" @.str17276 = private unnamed_addr constant [55 x i8] c"build/cfree/selfhost.ludic:27162: index out of range: \00" @.str17277 = private unnamed_addr constant [55 x i8] c"build/cfree/selfhost.ludic:27163: index out of range: \00" @.str17278 = private unnamed_addr constant [55 x i8] c"build/cfree/selfhost.ludic:27166: index out of range: \00" @.str17279 = private unnamed_addr constant [55 x i8] c"build/cfree/selfhost.ludic:27166: index out of range: \00" @.str17280 = private unnamed_addr constant [2 x i8] c"?\00" @.str17281 = private unnamed_addr constant [3 x i8] c"[]\00" @.str17282 = private unnamed_addr constant [9 x i8] c"gen_show\00" @.str17283 = private unnamed_addr constant [55 x i8] c"build/cfree/selfhost.ludic:27177: index out of range: \00" @.str17284 = private unnamed_addr constant [55 x i8] c"build/cfree/selfhost.ludic:27178: index out of range: \00" @.str17285 = private unnamed_addr constant [2 x i8] c"<\00" @.str17286 = private unnamed_addr constant [3 x i8] c", \00" @.str17287 = private unnamed_addr constant [55 x i8] c"build/cfree/selfhost.ludic:27182: index out of range: \00" @.str17288 = private unnamed_addr constant [2 x i8] c">\00" @.str17289 = private unnamed_addr constant [2 x i8] c"$\00" @.str17290 = private unnamed_addr constant [18 x i8] c"gen_instance_name\00" @.str17291 = private unnamed_addr constant [55 x i8] c"build/cfree/selfhost.ludic:27197: index out of range: \00" @.str17292 = private unnamed_addr constant [16 x i8] c"gen_fn_instance\00" @.str17293 = private unnamed_addr constant [14 x i8] c"gen_arg_nodes\00" @.str17294 = private unnamed_addr constant [55 x i8] c"build/cfree/selfhost.ludic:27223: index out of range: \00" @.str17295 = private unnamed_addr constant [55 x i8] c"build/cfree/selfhost.ludic:27226: index out of range: \00" @.str17296 = private unnamed_addr constant [55 x i8] c"build/cfree/selfhost.ludic:27228: index out of range: \00" @.str17297 = private unnamed_addr constant [9 x i8] c"gen_call\00" @.str17298 = private unnamed_addr constant [6 x i8] c"arity\00" @.str17299 = private unnamed_addr constant [8 x i8] c" takes \00" @.str17300 = private unnamed_addr constant [34 x i8] c" argument(s) and this call gives \00" @.str17301 = private unnamed_addr constant [2 x i8] c"?\00" @.str17302 = private unnamed_addr constant [55 x i8] c"build/cfree/selfhost.ludic:27254: index out of range: \00" @.str17303 = private unnamed_addr constant [55 x i8] c"build/cfree/selfhost.ludic:27254: index out of range: \00" @.str17304 = private unnamed_addr constant [55 x i8] c"build/cfree/selfhost.ludic:27256: index out of range: \00" @.str17305 = private unnamed_addr constant [55 x i8] c"build/cfree/selfhost.ludic:27256: index out of range: \00" @.str17306 = private unnamed_addr constant [55 x i8] c"build/cfree/selfhost.ludic:27256: index out of range: \00" @.str17307 = private unnamed_addr constant [55 x i8] c"build/cfree/selfhost.ludic:27262: index out of range: \00" @.str17308 = private unnamed_addr constant [55 x i8] c"build/cfree/selfhost.ludic:27262: index out of range: \00" @.str17309 = private unnamed_addr constant [55 x i8] c"build/cfree/selfhost.ludic:27262: index out of range: \00" @.str17310 = private unnamed_addr constant [55 x i8] c"build/cfree/selfhost.ludic:27262: index out of range: \00" @.str17311 = private unnamed_addr constant [55 x i8] c"build/cfree/selfhost.ludic:27267: index out of range: \00" @.str17312 = private unnamed_addr constant [8 x i8] c"generic\00" @.str17313 = private unnamed_addr constant [18 x i8] c"cannot tell what \00" @.str17314 = private unnamed_addr constant [55 x i8] c"build/cfree/selfhost.ludic:27268: index out of range: \00" @.str17315 = private unnamed_addr constant [21 x i8] c" is in this call to \00" @.str17316 = private unnamed_addr constant [88 x i8] c": pass it an argument that says, or write the call where its result has a declared type\00" @.str17317 = private unnamed_addr constant [2 x i8] c"?\00" @.str17318 = private unnamed_addr constant [55 x i8] c"build/cfree/selfhost.ludic:27280: index out of range: \00" @.str17319 = private unnamed_addr constant [55 x i8] c"build/cfree/selfhost.ludic:27280: index out of range: \00" @.str17320 = private unnamed_addr constant [55 x i8] c"build/cfree/selfhost.ludic:27280: index out of range: \00" @.str17321 = private unnamed_addr constant [55 x i8] c"build/cfree/selfhost.ludic:27280: index out of range: \00" @.str17322 = private unnamed_addr constant [10 x i8] c"argument \00" @.str17323 = private unnamed_addr constant [5 x i8] c" of \00" @.str17324 = private unnamed_addr constant [55 x i8] c"build/cfree/selfhost.ludic:27291: index out of range: \00" @.str17325 = private unnamed_addr constant [11 x i8] c"gen_finish\00" @.str17326 = private unnamed_addr constant [55 x i8] c"build/cfree/selfhost.ludic:27296: index out of range: \00" @.str17327 = private unnamed_addr constant [55 x i8] c"build/cfree/selfhost.ludic:27296: index out of range: \00" @.str17328 = private unnamed_addr constant [55 x i8] c"build/cfree/selfhost.ludic:27296: index out of range: \00" @.str17329 = private unnamed_addr constant [55 x i8] c"build/cfree/selfhost.ludic:27306: index out of range: \00" @.str17330 = private unnamed_addr constant [55 x i8] c"build/cfree/selfhost.ludic:27310: index out of range: \00" @.str17331 = private unnamed_addr constant [55 x i8] c"build/cfree/selfhost.ludic:27316: index out of range: \00" @.str17332 = private unnamed_addr constant [55 x i8] c"build/cfree/selfhost.ludic:27339: index out of range: \00" @.str17333 = private unnamed_addr constant [12 x i8] c"ck_ty_index\00" @.str17334 = private unnamed_addr constant [14 x i8] c"ck_ty_unknown\00" @.str17335 = private unnamed_addr constant [11 x i8] c"ck_ty_args\00" @.str17336 = private unnamed_addr constant [7 x i8] c"Vector\00" @.str17337 = private unnamed_addr constant [6 x i8] c"IVec2\00" @.str17338 = private unnamed_addr constant [5 x i8] c"Rect\00" @.str17339 = private unnamed_addr constant [4 x i8] c"Key\00" @.str17340 = private unnamed_addr constant [55 x i8] c"build/cfree/selfhost.ludic:27393: index out of range: \00" @.str17341 = private unnamed_addr constant [12 x i8] c"ck_ty_known\00" @.str17342 = private unnamed_addr constant [5 x i8] c"type\00" @.str17343 = private unnamed_addr constant [20 x i8] c": there is no type \00" @.str17344 = private unnamed_addr constant [10 x i8] c"ck_ty_say\00" @.str17345 = private unnamed_addr constant [55 x i8] c"build/cfree/selfhost.ludic:27408: index out of range: \00" @.str17346 = private unnamed_addr constant [11 x i8] c"ck_tynames\00" @.str17347 = private unnamed_addr constant [55 x i8] c"build/cfree/selfhost.ludic:27412: index out of range: \00" @.str17348 = private unnamed_addr constant [14 x i8] c"'s parameter \00" @.str17349 = private unnamed_addr constant [10 x i8] c"'s result\00" @.str17350 = private unnamed_addr constant [55 x i8] c"build/cfree/selfhost.ludic:27421: index out of range: \00" @.str17351 = private unnamed_addr constant [2 x i8] c".\00" @.str17352 = private unnamed_addr constant [8 x i8] c"pointer\00" @.str17353 = private unnamed_addr constant [6 x i8] c"bytes\00" @.str17354 = private unnamed_addr constant [6 x i8] c"bytes\00" @.str17355 = private unnamed_addr constant [8 x i8] c"data_of\00" @.str17356 = private unnamed_addr constant [5 x i8] c"free\00" @.str17357 = private unnamed_addr constant [7 x i8] c"resize\00" @.str17358 = private unnamed_addr constant [10 x i8] c"file_read\00" @.str17359 = private unnamed_addr constant [11 x i8] c"file_write\00" @.str17360 = private unnamed_addr constant [7 x i8] c"unsafe\00" @.str17361 = private unnamed_addr constant [83 x i8] c" is raw memory: it belongs inside unsafe { }, and a game reaches it through an API\00" @.str17362 = private unnamed_addr constant [7 x i8] c"ck_raw\00" @.str17363 = private unnamed_addr constant [13 x i8] c"unsafe-block\00" @.str17364 = private unnamed_addr constant [95 x i8] c"unsafe is for the runtime and packages; this file may use it only when the build says --unsafe\00" @.str17365 = private unnamed_addr constant [55 x i8] c"build/cfree/selfhost.ludic:27471: index out of range: \00" @.str17366 = private unnamed_addr constant [11 x i8] c"emit_block\00" @.str17367 = private unnamed_addr constant [9 x i8] c" store \00" @.str17368 = private unnamed_addr constant [2 x i8] c" \00" @.str17369 = private unnamed_addr constant [7 x i8] c", ptr \00" @.str17370 = private unnamed_addr constant [2 x i8] c"\0A\00" @.str17371 = private unnamed_addr constant [12 x i8] c"compound_op\00" @.str17372 = private unnamed_addr constant [2 x i8] c"0\00" @.str17373 = private unnamed_addr constant [4 x i8] c"int\00" @.str17374 = private unnamed_addr constant [55 x i8] c"build/cfree/selfhost.ludic:27497: index out of range: \00" @.str17375 = private unnamed_addr constant [12 x i8] c"emit_assign\00" @.str17376 = private unnamed_addr constant [29 x i8] c"cannot assign to immutable '\00" @.str17377 = private unnamed_addr constant [41 x i8] c"' (declared with let; use var) \E2\80\94 line \00" @.str17378 = private unnamed_addr constant [55 x i8] c"build/cfree/selfhost.ludic:27499: index out of range: \00" @.str17379 = private unnamed_addr constant [55 x i8] c"build/cfree/selfhost.ludic:27499: index out of range: \00" @.str17380 = private unnamed_addr constant [19 x i8] c"assign to unknown \00" @.str17381 = private unnamed_addr constant [4 x i8] c"@g_\00" @.str17382 = private unnamed_addr constant [22 x i8] c"bad assignment target\00" @.str17383 = private unnamed_addr constant [2 x i8] c"=\00" @.str17384 = private unnamed_addr constant [6 x i8] c"load \00" @.str17385 = private unnamed_addr constant [7 x i8] c", ptr \00" @.str17386 = private unnamed_addr constant [3 x i8] c"i8\00" @.str17387 = private unnamed_addr constant [11 x i8] c"trunc i32 \00" @.str17388 = private unnamed_addr constant [7 x i8] c" to i8\00" @.str17389 = private unnamed_addr constant [13 x i8] c"icmp ne i32 \00" @.str17390 = private unnamed_addr constant [8 x i8] c"emit_if\00" @.str17391 = private unnamed_addr constant [4 x i8] c", 0\00" @.str17392 = private unnamed_addr constant [5 x i8] c"then\00" @.str17393 = private unnamed_addr constant [5 x i8] c"else\00" @.str17394 = private unnamed_addr constant [6 x i8] c"ifend\00" @.str17395 = private unnamed_addr constant [9 x i8] c" br i1 \00" @.str17396 = private unnamed_addr constant [10 x i8] c", label %\00" @.str17397 = private unnamed_addr constant [10 x i8] c", label %\00" @.str17398 = private unnamed_addr constant [2 x i8] c"\0A\00" @.str17399 = private unnamed_addr constant [9 x i8] c" br i1 \00" @.str17400 = private unnamed_addr constant [10 x i8] c", label %\00" @.str17401 = private unnamed_addr constant [10 x i8] c", label %\00" @.str17402 = private unnamed_addr constant [2 x i8] c"\0A\00" @.str17403 = private unnamed_addr constant [3 x i8] c":\0A\00" @.str17404 = private unnamed_addr constant [13 x i8] c" br label %\00" @.str17405 = private unnamed_addr constant [2 x i8] c"\0A\00" @.str17406 = private unnamed_addr constant [3 x i8] c":\0A\00" @.str17407 = private unnamed_addr constant [13 x i8] c" br label %\00" @.str17408 = private unnamed_addr constant [2 x i8] c"\0A\00" @.str17409 = private unnamed_addr constant [3 x i8] c":\0A\00" @.str17410 = private unnamed_addr constant [6 x i8] c"wcond\00" @.str17411 = private unnamed_addr constant [6 x i8] c"wbody\00" @.str17412 = private unnamed_addr constant [5 x i8] c"wend\00" @.str17413 = private unnamed_addr constant [13 x i8] c" br label %\00" @.str17414 = private unnamed_addr constant [2 x i8] c"\0A\00" @.str17415 = private unnamed_addr constant [3 x i8] c":\0A\00" @.str17416 = private unnamed_addr constant [13 x i8] c"icmp ne i32 \00" @.str17417 = private unnamed_addr constant [11 x i8] c"emit_while\00" @.str17418 = private unnamed_addr constant [4 x i8] c", 0\00" @.str17419 = private unnamed_addr constant [9 x i8] c" br i1 \00" @.str17420 = private unnamed_addr constant [10 x i8] c", label %\00" @.str17421 = private unnamed_addr constant [10 x i8] c", label %\00" @.str17422 = private unnamed_addr constant [2 x i8] c"\0A\00" @.str17423 = private unnamed_addr constant [3 x i8] c":\0A\00" @.str17424 = private unnamed_addr constant [13 x i8] c" br label %\00" @.str17425 = private unnamed_addr constant [2 x i8] c"\0A\00" @.str17426 = private unnamed_addr constant [3 x i8] c":\0A\00" @.str17427 = private unnamed_addr constant [4 x i8] c"i32\00" @.str17428 = private unnamed_addr constant [4 x i8] c"i32\00" @.str17429 = private unnamed_addr constant [4 x i8] c"int\00" @.str17430 = private unnamed_addr constant [6 x i8] c"fcond\00" @.str17431 = private unnamed_addr constant [6 x i8] c"fbody\00" @.str17432 = private unnamed_addr constant [6 x i8] c"fcont\00" @.str17433 = private unnamed_addr constant [5 x i8] c"fend\00" @.str17434 = private unnamed_addr constant [13 x i8] c" br label %\00" @.str17435 = private unnamed_addr constant [2 x i8] c"\0A\00" @.str17436 = private unnamed_addr constant [3 x i8] c":\0A\00" @.str17437 = private unnamed_addr constant [15 x i8] c"load i32, ptr \00" @.str17438 = private unnamed_addr constant [9 x i8] c"emit_for\00" @.str17439 = private unnamed_addr constant [14 x i8] c"icmp slt i32 \00" @.str17440 = private unnamed_addr constant [3 x i8] c", \00" @.str17441 = private unnamed_addr constant [9 x i8] c" br i1 \00" @.str17442 = private unnamed_addr constant [10 x i8] c", label %\00" @.str17443 = private unnamed_addr constant [10 x i8] c", label %\00" @.str17444 = private unnamed_addr constant [2 x i8] c"\0A\00" @.str17445 = private unnamed_addr constant [3 x i8] c":\0A\00" @.str17446 = private unnamed_addr constant [13 x i8] c" br label %\00" @.str17447 = private unnamed_addr constant [2 x i8] c"\0A\00" @.str17448 = private unnamed_addr constant [3 x i8] c":\0A\00" @.str17449 = private unnamed_addr constant [15 x i8] c"load i32, ptr \00" @.str17450 = private unnamed_addr constant [9 x i8] c"add i32 \00" @.str17451 = private unnamed_addr constant [4 x i8] c", 1\00" @.str17452 = private unnamed_addr constant [4 x i8] c"i32\00" @.str17453 = private unnamed_addr constant [13 x i8] c" br label %\00" @.str17454 = private unnamed_addr constant [2 x i8] c"\0A\00" @.str17455 = private unnamed_addr constant [3 x i8] c":\0A\00" @.str17456 = private unnamed_addr constant [5 x i8] c"void\00" @.str17457 = private unnamed_addr constant [54 x i8] c"a function that returns nothing cannot return a value\00" @.str17458 = private unnamed_addr constant [8 x i8] c"%retval\00" @.str17459 = private unnamed_addr constant [13 x i8] c" br label %\00" @.str17460 = private unnamed_addr constant [12 x i8] c"emit_return\00" @.str17461 = private unnamed_addr constant [2 x i8] c"\0A\00" @.str17462 = private unnamed_addr constant [55 x i8] c"build/cfree/selfhost.ludic:27607: index out of range: \00" @.str17463 = private unnamed_addr constant [11 x i8] c"block_ends\00" @.str17464 = private unnamed_addr constant [55 x i8] c"build/cfree/selfhost.ludic:27624: index out of range: \00" @.str17465 = private unnamed_addr constant [10 x i8] c"stmt_ends\00" @.str17466 = private unnamed_addr constant [55 x i8] c"build/cfree/selfhost.ludic:27636: index out of range: \00" @.str17467 = private unnamed_addr constant [15 x i8] c"arm_is_default\00" @.str17468 = private unnamed_addr constant [55 x i8] c"build/cfree/selfhost.ludic:27636: index out of range: \00" @.str17469 = private unnamed_addr constant [2 x i8] c"_\00" @.str17470 = private unnamed_addr constant [55 x i8] c"build/cfree/selfhost.ludic:27646: index out of range: \00" @.str17471 = private unnamed_addr constant [18 x i8] c"emit_bind_payload\00" @.str17472 = private unnamed_addr constant [8 x i8] c"match: \00" @.str17473 = private unnamed_addr constant [8 x i8] c" binds \00" @.str17474 = private unnamed_addr constant [22 x i8] c" name(s) but carries \00" @.str17475 = private unnamed_addr constant [55 x i8] c"build/cfree/selfhost.ludic:27652: index out of range: \00" @.str17476 = private unnamed_addr constant [8 x i8] c"match: \00" @.str17477 = private unnamed_addr constant [10 x i8] c" payload \00" @.str17478 = private unnamed_addr constant [24 x i8] c" must be a binding name\00" @.str17479 = private unnamed_addr constant [55 x i8] c"build/cfree/selfhost.ludic:27653: index out of range: \00" @.str17480 = private unnamed_addr constant [3 x i8] c" \00" @.str17481 = private unnamed_addr constant [35 x i8] c" = getelementptr inbounds i8, ptr \00" @.str17482 = private unnamed_addr constant [7 x i8] c", i32 \00" @.str17483 = private unnamed_addr constant [2 x i8] c"\0A\00" @.str17484 = private unnamed_addr constant [6 x i8] c"load \00" @.str17485 = private unnamed_addr constant [7 x i8] c", ptr \00" @.str17486 = private unnamed_addr constant [55 x i8] c"build/cfree/selfhost.ludic:27659: index out of range: \00" @.str17487 = private unnamed_addr constant [15 x i8] c"load i32, ptr \00" @.str17488 = private unnamed_addr constant [18 x i8] c"emit_match_tagged\00" @.str17489 = private unnamed_addr constant [5 x i8] c"mend\00" @.str17490 = private unnamed_addr constant [55 x i8] c"build/cfree/selfhost.ludic:27675: index out of range: \00" @.str17491 = private unnamed_addr constant [2 x i8] c"0\00" @.str17492 = private unnamed_addr constant [55 x i8] c"build/cfree/selfhost.ludic:27683: index out of range: \00" @.str17493 = private unnamed_addr constant [8 x i8] c"match: \00" @.str17494 = private unnamed_addr constant [27 x i8] c" is not a variant of enum \00" @.str17495 = private unnamed_addr constant [13 x i8] c"icmp eq i32 \00" @.str17496 = private unnamed_addr constant [3 x i8] c", \00" @.str17497 = private unnamed_addr constant [7 x i8] c"or i1 \00" @.str17498 = private unnamed_addr constant [3 x i8] c", \00" @.str17499 = private unnamed_addr constant [6 x i8] c"mbody\00" @.str17500 = private unnamed_addr constant [5 x i8] c"marm\00" @.str17501 = private unnamed_addr constant [9 x i8] c" br i1 \00" @.str17502 = private unnamed_addr constant [10 x i8] c", label %\00" @.str17503 = private unnamed_addr constant [10 x i8] c", label %\00" @.str17504 = private unnamed_addr constant [2 x i8] c"\0A\00" @.str17505 = private unnamed_addr constant [3 x i8] c":\0A\00" @.str17506 = private unnamed_addr constant [13 x i8] c" br label %\00" @.str17507 = private unnamed_addr constant [2 x i8] c"\0A\00" @.str17508 = private unnamed_addr constant [3 x i8] c":\0A\00" @.str17509 = private unnamed_addr constant [10 x i8] c"match on \00" @.str17510 = private unnamed_addr constant [29 x i8] c" is not exhaustive: variant \00" @.str17511 = private unnamed_addr constant [55 x i8] c"build/cfree/selfhost.ludic:27711: index out of range: \00" @.str17512 = private unnamed_addr constant [34 x i8] c" is unhandled (add it or a _ arm)\00" @.str17513 = private unnamed_addr constant [13 x i8] c" br label %\00" @.str17514 = private unnamed_addr constant [2 x i8] c"\0A\00" @.str17515 = private unnamed_addr constant [3 x i8] c":\0A\00" @.str17516 = private unnamed_addr constant [5 x i8] c"mend\00" @.str17517 = private unnamed_addr constant [55 x i8] c"build/cfree/selfhost.ludic:27728: index out of range: \00" @.str17518 = private unnamed_addr constant [11 x i8] c"emit_match\00" @.str17519 = private unnamed_addr constant [2 x i8] c"0\00" @.str17520 = private unnamed_addr constant [55 x i8] c"build/cfree/selfhost.ludic:27735: index out of range: \00" @.str17521 = private unnamed_addr constant [13 x i8] c"icmp eq i32 \00" @.str17522 = private unnamed_addr constant [3 x i8] c", \00" @.str17523 = private unnamed_addr constant [7 x i8] c"or i1 \00" @.str17524 = private unnamed_addr constant [3 x i8] c", \00" @.str17525 = private unnamed_addr constant [6 x i8] c"mbody\00" @.str17526 = private unnamed_addr constant [5 x i8] c"marm\00" @.str17527 = private unnamed_addr constant [9 x i8] c" br i1 \00" @.str17528 = private unnamed_addr constant [10 x i8] c", label %\00" @.str17529 = private unnamed_addr constant [10 x i8] c", label %\00" @.str17530 = private unnamed_addr constant [2 x i8] c"\0A\00" @.str17531 = private unnamed_addr constant [3 x i8] c":\0A\00" @.str17532 = private unnamed_addr constant [13 x i8] c" br label %\00" @.str17533 = private unnamed_addr constant [2 x i8] c"\0A\00" @.str17534 = private unnamed_addr constant [3 x i8] c":\0A\00" @.str17535 = private unnamed_addr constant [13 x i8] c" br label %\00" @.str17536 = private unnamed_addr constant [2 x i8] c"\0A\00" @.str17537 = private unnamed_addr constant [3 x i8] c":\0A\00" @.str17538 = private unnamed_addr constant [21 x i8] c"emit: unknown event \00" @.str17539 = private unnamed_addr constant [10 x i8] c"emit_emit\00" @.str17540 = private unnamed_addr constant [55 x i8] c"build/cfree/selfhost.ludic:27767: index out of range: \00" @.str17541 = private unnamed_addr constant [55 x i8] c"build/cfree/selfhost.ludic:27770: index out of range: \00" @.str17542 = private unnamed_addr constant [55 x i8] c"build/cfree/selfhost.ludic:27770: index out of range: \00" @.str17543 = private unnamed_addr constant [2 x i8] c"0\00" @.str17544 = private unnamed_addr constant [4 x i8] c"ptr\00" @.str17545 = private unnamed_addr constant [5 x i8] c"null\00" @.str17546 = private unnamed_addr constant [3 x i8] c" \00" @.str17547 = private unnamed_addr constant [53 x i8] c" = getelementptr inbounds i8, ptr @L_sendbuf, i32 0\0A\00" @.str17548 = private unnamed_addr constant [13 x i8] c" store i32 \00" @.str17549 = private unnamed_addr constant [7 x i8] c", ptr \00" @.str17550 = private unnamed_addr constant [2 x i8] c"\0A\00" @.str17551 = private unnamed_addr constant [3 x i8] c" \00" @.str17552 = private unnamed_addr constant [51 x i8] c" = getelementptr inbounds i8, ptr @L_sendbuf, i32 \00" @.str17553 = private unnamed_addr constant [2 x i8] c"\0A\00" @.str17554 = private unnamed_addr constant [9 x i8] c" store \00" @.str17555 = private unnamed_addr constant [55 x i8] c"build/cfree/selfhost.ludic:27789: index out of range: \00" @.str17556 = private unnamed_addr constant [2 x i8] c" \00" @.str17557 = private unnamed_addr constant [55 x i8] c"build/cfree/selfhost.ludic:27789: index out of range: \00" @.str17558 = private unnamed_addr constant [7 x i8] c", ptr \00" @.str17559 = private unnamed_addr constant [2 x i8] c"\0A\00" @.str17560 = private unnamed_addr constant [55 x i8] c"build/cfree/selfhost.ludic:27790: index out of range: \00" @.str17561 = private unnamed_addr constant [2 x i8] c"0\00" @.str17562 = private unnamed_addr constant [10 x i8] c"toclients\00" @.str17563 = private unnamed_addr constant [3 x i8] c"-1\00" @.str17564 = private unnamed_addr constant [9 x i8] c"net_send\00" @.str17565 = private unnamed_addr constant [14 x i8] c" call void @\00" @.str17566 = private unnamed_addr constant [6 x i8] c"(i32 \00" @.str17567 = private unnamed_addr constant [23 x i8] c", ptr @L_sendbuf, i32 \00" @.str17568 = private unnamed_addr constant [3 x i8] c")\0A\00" @.str17569 = private unnamed_addr constant [2 x i8] c"0\00" @.str17570 = private unnamed_addr constant [4 x i8] c"int\00" @.str17571 = private unnamed_addr constant [3 x i8] c", \00" @.str17572 = private unnamed_addr constant [55 x i8] c"build/cfree/selfhost.ludic:27805: index out of range: \00" @.str17573 = private unnamed_addr constant [2 x i8] c" \00" @.str17574 = private unnamed_addr constant [55 x i8] c"build/cfree/selfhost.ludic:27805: index out of range: \00" @.str17575 = private unnamed_addr constant [3 x i8] c" \00" @.str17576 = private unnamed_addr constant [17 x i8] c" = call i32 @ev_\00" @.str17577 = private unnamed_addr constant [2 x i8] c"(\00" @.str17578 = private unnamed_addr constant [3 x i8] c")\0A\00" @.str17579 = private unnamed_addr constant [4 x i8] c"int\00" @.str17580 = private unnamed_addr constant [17 x i8] c" call void @ev_\00" @.str17581 = private unnamed_addr constant [2 x i8] c"(\00" @.str17582 = private unnamed_addr constant [3 x i8] c")\0A\00" @.str17583 = private unnamed_addr constant [2 x i8] c"0\00" @.str17584 = private unnamed_addr constant [4 x i8] c"int\00" @.str17585 = private unnamed_addr constant [10 x i8] c" %decl.s\00" @.str17586 = private unnamed_addr constant [49 x i8] c" = atomicrmw add ptr @lp_fdecl, i32 1 monotonic\0A\00" @.str17587 = private unnamed_addr constant [10 x i8] c" %decl.e\00" @.str17588 = private unnamed_addr constant [49 x i8] c" = atomicrmw sub ptr @lp_fdecl, i32 1 monotonic\0A\00" @.str17589 = private unnamed_addr constant [13 x i8] c" br label %\00" @.str17590 = private unnamed_addr constant [55 x i8] c"build/cfree/selfhost.ludic:27858: index out of range: \00" @.str17591 = private unnamed_addr constant [15 x i8] c"emit_stmt_body\00" @.str17592 = private unnamed_addr constant [2 x i8] c"\0A\00" @.str17593 = private unnamed_addr constant [13 x i8] c" br label %\00" @.str17594 = private unnamed_addr constant [55 x i8] c"build/cfree/selfhost.ludic:27859: index out of range: \00" @.str17595 = private unnamed_addr constant [2 x i8] c"\0A\00" @.str17596 = private unnamed_addr constant [44 x i8] c"cancel outside a cancellable event listener\00" @.str17597 = private unnamed_addr constant [20 x i8] c" store i32 1, ptr \00" @.str17598 = private unnamed_addr constant [2 x i8] c"\0A\00" @.str17599 = private unnamed_addr constant [22 x i8] c"cannot emit statement\00" @.str17600 = private unnamed_addr constant [55 x i8] c"build/cfree/selfhost.ludic:27880: index out of range: \00" @.str17601 = private unnamed_addr constant [10 x i8] c"loop_push\00" @.str17602 = private unnamed_addr constant [55 x i8] c"build/cfree/selfhost.ludic:27880: index out of range: \00" @.str17603 = private unnamed_addr constant [55 x i8] c"build/cfree/selfhost.ludic:27898: index out of range: \00" @.str17604 = private unnamed_addr constant [12 x i8] c"has_systems\00" @.str17605 = private unnamed_addr constant [55 x i8] c"build/cfree/selfhost.ludic:27907: index out of range: \00" @.str17606 = private unnamed_addr constant [11 x i8] c"has_models\00" @.str17607 = private unnamed_addr constant [55 x i8] c"build/cfree/selfhost.ludic:27921: index out of range: \00" @.str17608 = private unnamed_addr constant [20 x i8] c"uses_engine_systems\00" @.str17609 = private unnamed_addr constant [9 x i8] c"Occluder\00" @.str17610 = private unnamed_addr constant [55 x i8] c"build/cfree/selfhost.ludic:27930: index out of range: \00" @.str17611 = private unnamed_addr constant [10 x i8] c"has_entry\00" @.str17612 = private unnamed_addr constant [36 x i8] c"@L_running = internal global i32 1\0A\00" @.str17613 = private unnamed_addr constant [32 x i8] c"@L_key = internal global i32 0\0A\00" @.str17614 = private unnamed_addr constant [34 x i8] c"@L_frame = internal global i32 0\0A\00" @.str17615 = private unnamed_addr constant [34 x i8] c"@L_scene = internal global i32 0\0A\00" @.str17616 = private unnamed_addr constant [33 x i8] c"@L_entc = internal global i32 0\0A\00" @.str17617 = private unnamed_addr constant [32 x i8] c"@L_cap = internal global i32 0\0A\00" @.str17618 = private unnamed_addr constant [36 x i8] c"@L_snapcap = internal global i32 0\0A\00" @.str17619 = private unnamed_addr constant [37 x i8] c"@L_alive = internal global ptr null\0A\00" @.str17620 = private unnamed_addr constant [36 x i8] c"@L_kind = internal global ptr null\0A\00" @.str17621 = private unnamed_addr constant [40 x i8] c"@L_freelist = internal global ptr null\0A\00" @.str17622 = private unnamed_addr constant [34 x i8] c"@L_freen = internal global i32 0\0A\00" @.str17623 = private unnamed_addr constant [33 x i8] c"@L_role = internal global i32 1\0A\00" @.str17624 = private unnamed_addr constant [36 x i8] c"@L_localid = internal global i32 0\0A\00" @.str17625 = private unnamed_addr constant [41 x i8] c"@L_owner_arr = internal global ptr null\0A\00" @.str17626 = private unnamed_addr constant [55 x i8] c"build/cfree/selfhost.ludic:27965: index out of range: \00" @.str17627 = private unnamed_addr constant [17 x i8] c"emit_ecs_storage\00" @.str17628 = private unnamed_addr constant [4 x i8] c"@S_\00" @.str17629 = private unnamed_addr constant [29 x i8] c" = internal global ptr null\0A\00" @.str17630 = private unnamed_addr constant [4 x i8] c"@H_\00" @.str17631 = private unnamed_addr constant [29 x i8] c" = internal global ptr null\0A\00" @.str17632 = private unnamed_addr constant [5 x i8] c"@ME_\00" @.str17633 = private unnamed_addr constant [26 x i8] c" = internal global i32 1\0A\00" @.str17634 = private unnamed_addr constant [5 x i8] c"@HE_\00" @.str17635 = private unnamed_addr constant [26 x i8] c" = internal global i32 1\0A\00" @.str17636 = private unnamed_addr constant [5 x i8] c"@LE_\00" @.str17637 = private unnamed_addr constant [55 x i8] c"build/cfree/selfhost.ludic:27980: index out of range: \00" @.str17638 = private unnamed_addr constant [26 x i8] c" = internal global i32 1\0A\00" @.str17639 = private unnamed_addr constant [39 x i8] c"define void @L_reset(i32 %e) {\0Aentry:\0A\00" @.str17640 = private unnamed_addr constant [55 x i8] c"build/cfree/selfhost.ludic:27990: index out of range: \00" @.str17641 = private unnamed_addr constant [19 x i8] c"emit_ecs_allocator\00" @.str17642 = private unnamed_addr constant [3 x i8] c"%h\00" @.str17643 = private unnamed_addr constant [3 x i8] c"H_\00" @.str17644 = private unnamed_addr constant [55 x i8] c"build/cfree/selfhost.ludic:27992: index out of range: \00" @.str17645 = private unnamed_addr constant [3 x i8] c" \00" @.str17646 = private unnamed_addr constant [35 x i8] c" = getelementptr inbounds i8, ptr \00" @.str17647 = private unnamed_addr constant [10 x i8] c", i32 %e\0A\00" @.str17648 = private unnamed_addr constant [19 x i8] c" store i8 0, ptr \00" @.str17649 = private unnamed_addr constant [2 x i8] c"\0A\00" @.str17650 = private unnamed_addr constant [7 x i8] c"L_kind\00" @.str17651 = private unnamed_addr constant [40 x i8] c" %k = getelementptr inbounds i32, ptr \00" @.str17652 = private unnamed_addr constant [10 x i8] c", i32 %e\0A\00" @.str17653 = private unnamed_addr constant [23 x i8] c" store i32 0, ptr %k\0A\00" @.str17654 = private unnamed_addr constant [12 x i8] c"L_owner_arr\00" @.str17655 = private unnamed_addr constant [41 x i8] c" %ow = getelementptr inbounds i32, ptr \00" @.str17656 = private unnamed_addr constant [10 x i8] c", i32 %e\0A\00" @.str17657 = private unnamed_addr constant [25 x i8] c" store i32 -1, ptr %ow\0A\00" @.str17658 = private unnamed_addr constant [15 x i8] c" ret void\0A}\0A\0A\00" @.str17659 = private unnamed_addr constant [32 x i8] c"define i32 @L_alloc() {\0Aentry:\0A\00" @.str17660 = private unnamed_addr constant [32 x i8] c" %fn = load i32, ptr @L_freen\0A\00" @.str17661 = private unnamed_addr constant [30 x i8] c" %has = icmp sgt i32 %fn, 0\0A\00" @.str17662 = private unnamed_addr constant [42 x i8] c" br i1 %has, label %reuse, label %fresh\0A\00" @.str17663 = private unnamed_addr constant [8 x i8] c"reuse:\0A\00" @.str17664 = private unnamed_addr constant [25 x i8] c" %fn1 = sub i32 %fn, 1\0A\00" @.str17665 = private unnamed_addr constant [32 x i8] c" store i32 %fn1, ptr @L_freen\0A\00" @.str17666 = private unnamed_addr constant [11 x i8] c"L_freelist\00" @.str17667 = private unnamed_addr constant [41 x i8] c" %fp = getelementptr inbounds i32, ptr \00" @.str17668 = private unnamed_addr constant [12 x i8] c", i32 %fn1\0A\00" @.str17669 = private unnamed_addr constant [27 x i8] c" %re = load i32, ptr %fp\0A\00" @.str17670 = private unnamed_addr constant [18 x i8] c" br label %done\0A\00" @.str17671 = private unnamed_addr constant [8 x i8] c"fresh:\0A\00" @.str17672 = private unnamed_addr constant [31 x i8] c" %ec = load i32, ptr @L_entc\0A\00" @.str17673 = private unnamed_addr constant [25 x i8] c" %ec1 = add i32 %ec, 1\0A\00" @.str17674 = private unnamed_addr constant [31 x i8] c" call void @L_grow(i32 %ec1)\0A\00" @.str17675 = private unnamed_addr constant [31 x i8] c" store i32 %ec1, ptr @L_entc\0A\00" @.str17676 = private unnamed_addr constant [18 x i8] c" br label %done\0A\00" @.str17677 = private unnamed_addr constant [7 x i8] c"done:\0A\00" @.str17678 = private unnamed_addr constant [49 x i8] c" %e = phi i32 [ %re, %reuse ], [ %ec, %fresh ]\0A\00" @.str17679 = private unnamed_addr constant [30 x i8] c" call void @L_reset(i32 %e)\0A\00" @.str17680 = private unnamed_addr constant [8 x i8] c"L_alive\00" @.str17681 = private unnamed_addr constant [41 x i8] c" %ap = getelementptr inbounds i32, ptr \00" @.str17682 = private unnamed_addr constant [10 x i8] c", i32 %e\0A\00" @.str17683 = private unnamed_addr constant [24 x i8] c" store i32 1, ptr %ap\0A\00" @.str17684 = private unnamed_addr constant [17 x i8] c" ret i32 %e\0A}\0A\0A\00" @.str17685 = private unnamed_addr constant [45 x i8] c"define void @L_free_entity(i32 %e) {\0Aentry:\0A\00" @.str17686 = private unnamed_addr constant [8 x i8] c"L_alive\00" @.str17687 = private unnamed_addr constant [41 x i8] c" %ap = getelementptr inbounds i32, ptr \00" @.str17688 = private unnamed_addr constant [10 x i8] c", i32 %e\0A\00" @.str17689 = private unnamed_addr constant [24 x i8] c" store i32 0, ptr %ap\0A\00" @.str17690 = private unnamed_addr constant [30 x i8] c" call void @L_reset(i32 %e)\0A\00" @.str17691 = private unnamed_addr constant [32 x i8] c" %fn = load i32, ptr @L_freen\0A\00" @.str17692 = private unnamed_addr constant [11 x i8] c"L_freelist\00" @.str17693 = private unnamed_addr constant [41 x i8] c" %fp = getelementptr inbounds i32, ptr \00" @.str17694 = private unnamed_addr constant [11 x i8] c", i32 %fn\0A\00" @.str17695 = private unnamed_addr constant [25 x i8] c" store i32 %e, ptr %fp\0A\00" @.str17696 = private unnamed_addr constant [25 x i8] c" %fn1 = add i32 %fn, 1\0A\00" @.str17697 = private unnamed_addr constant [32 x i8] c" store i32 %fn1, ptr @L_freen\0A\00" @.str17698 = private unnamed_addr constant [15 x i8] c" ret void\0A}\0A\0A\00" @.str17699 = private unnamed_addr constant [6 x i8] c"%ecsb\00" @.str17700 = private unnamed_addr constant [9 x i8] c"ecs_base\00" @.str17701 = private unnamed_addr constant [3 x i8] c" \00" @.str17702 = private unnamed_addr constant [19 x i8] c" = load ptr, ptr @\00" @.str17703 = private unnamed_addr constant [2 x i8] c"\0A\00" @.str17704 = private unnamed_addr constant [71 x i8] c"define void @L_grow(i32 %need) {\0Aentry:\0A %cap = load i32, ptr @L_cap\0A\00" @.str17705 = private unnamed_addr constant [78 x i8] c" %ok = icmp sle i32 %need, %cap\0A br i1 %ok, label %done, label %grow\0Agrow:\0A\00" @.str17706 = private unnamed_addr constant [59 x i8] c" %c0 = icmp eq i32 %cap, 0\0A %start = select i1 %c0, i32 \00" @.str17707 = private unnamed_addr constant [14 x i8] c"emit_ecs_grow\00" @.str17708 = private unnamed_addr constant [28 x i8] c", i32 %cap\0A br label %dbl\0A\00" @.str17709 = private unnamed_addr constant [93 x i8] c"dbl:\0A %nc = phi i32 [ %start, %grow ], [ %nc2, %dbl2 ]\0A %enough = icmp sge i32 %nc, %need\0A\00" @.str17710 = private unnamed_addr constant [90 x i8] c" br i1 %enough, label %apply, label %dbl2\0Adbl2:\0A %nc2 = mul i32 %nc, 2\0A br label %dbl\0A\00" @.str17711 = private unnamed_addr constant [70 x i8] c"apply:\0A %cap64 = sext i32 %cap to i64\0A %nc64 = sext i32 %nc to i64\0A\00" @.str17712 = private unnamed_addr constant [8 x i8] c"L_alive\00" @.str17713 = private unnamed_addr constant [2 x i8] c"4\00" @.str17714 = private unnamed_addr constant [7 x i8] c"L_kind\00" @.str17715 = private unnamed_addr constant [2 x i8] c"4\00" @.str17716 = private unnamed_addr constant [11 x i8] c"L_freelist\00" @.str17717 = private unnamed_addr constant [2 x i8] c"4\00" @.str17718 = private unnamed_addr constant [12 x i8] c"L_owner_arr\00" @.str17719 = private unnamed_addr constant [2 x i8] c"4\00" @.str17720 = private unnamed_addr constant [55 x i8] c"build/cfree/selfhost.ludic:28073: index out of range: \00" @.str17721 = private unnamed_addr constant [4 x i8] c"%gs\00" @.str17722 = private unnamed_addr constant [3 x i8] c" \00" @.str17723 = private unnamed_addr constant [37 x i8] c" = ptrtoint ptr getelementptr (%Cmp_\00" @.str17724 = private unnamed_addr constant [55 x i8] c"build/cfree/selfhost.ludic:28075: index out of range: \00" @.str17725 = private unnamed_addr constant [27 x i8] c", ptr null, i32 1) to i64\0A\00" @.str17726 = private unnamed_addr constant [3 x i8] c"S_\00" @.str17727 = private unnamed_addr constant [55 x i8] c"build/cfree/selfhost.ludic:28076: index out of range: \00" @.str17728 = private unnamed_addr constant [3 x i8] c"H_\00" @.str17729 = private unnamed_addr constant [55 x i8] c"build/cfree/selfhost.ludic:28077: index out of range: \00" @.str17730 = private unnamed_addr constant [2 x i8] c"1\00" @.str17731 = private unnamed_addr constant [71 x i8] c"fin:\0A store i32 %nc, ptr @L_cap\0A br label %done\0Adone:\0A ret void\0A}\0A\0A\00" @.str17732 = private unnamed_addr constant [6 x i8] c" %gp\00" @.str17733 = private unnamed_addr constant [16 x i8] c"emit_grow_store\00" @.str17734 = private unnamed_addr constant [19 x i8] c" = load ptr, ptr @\00" @.str17735 = private unnamed_addr constant [7 x i8] c"\0A %gb\00" @.str17736 = private unnamed_addr constant [19 x i8] c" = mul i64 %nc64, \00" @.str17737 = private unnamed_addr constant [7 x i8] c"\0A %gr\00" @.str17738 = private unnamed_addr constant [15 x i8] c" = add i64 %gb\00" @.str17739 = private unnamed_addr constant [5 x i8] c", 8\0A\00" @.str17740 = private unnamed_addr constant [15 x i8] c"ecs store grow\00" @.str17741 = private unnamed_addr constant [6 x i8] c" %gn\00" @.str17742 = private unnamed_addr constant [32 x i8] c" = call ptr @lp_realloc(ptr %gp\00" @.str17743 = private unnamed_addr constant [10 x i8] c", i64 %gr\00" @.str17744 = private unnamed_addr constant [36 x i8] c")\0A store i32 0, ptr @lp_site\0A %go\00" @.str17745 = private unnamed_addr constant [20 x i8] c" = mul i64 %cap64, \00" @.str17746 = private unnamed_addr constant [2 x i8] c"\0A\00" @.str17747 = private unnamed_addr constant [6 x i8] c" %gt\00" @.str17748 = private unnamed_addr constant [29 x i8] c" = getelementptr i8, ptr %gn\00" @.str17749 = private unnamed_addr constant [10 x i8] c", i64 %go\00" @.str17750 = private unnamed_addr constant [7 x i8] c"\0A %gz\00" @.str17751 = private unnamed_addr constant [15 x i8] c" = sub i64 %gr\00" @.str17752 = private unnamed_addr constant [6 x i8] c", %go\00" @.str17753 = private unnamed_addr constant [2 x i8] c"\0A\00" @.str17754 = private unnamed_addr constant [6 x i8] c" %gm\00" @.str17755 = private unnamed_addr constant [28 x i8] c" = call ptr @memset(ptr %gt\00" @.str17756 = private unnamed_addr constant [17 x i8] c", i32 0, i64 %gz\00" @.str17757 = private unnamed_addr constant [18 x i8] c")\0A store ptr %gn\00" @.str17758 = private unnamed_addr constant [8 x i8] c", ptr @\00" @.str17759 = private unnamed_addr constant [2 x i8] c"\0A\00" @.str17760 = private unnamed_addr constant [105 x i8] c" br label %dynh\0Adynh:\0A %di = phi i32 [ 0, %apply ], [ %di1, %dynb ]\0A %dcn = load i32, ptr @dyn_count\0A\00" @.str17761 = private unnamed_addr constant [81 x i8] c" %dmore = icmp slt i32 %di, %dcn\0A br i1 %dmore, label %dynb, label %fin\0Adynb:\0A\00" @.str17762 = private unnamed_addr constant [99 x i8] c" %dfp = getelementptr inbounds [32 x i32], ptr @dynF, i32 0, i32 %di\0A %dnf = load i32, ptr %dfp\0A\00" @.str17763 = private unnamed_addr constant [59 x i8] c" %dnf4 = mul i32 %dnf, 4\0A %desz = sext i32 %dnf4 to i64\0A\00" @.str17764 = private unnamed_addr constant [5 x i8] c"dynS\00" @.str17765 = private unnamed_addr constant [6 x i8] c"%desz\00" @.str17766 = private unnamed_addr constant [2 x i8] c"s\00" @.str17767 = private unnamed_addr constant [5 x i8] c"dynH\00" @.str17768 = private unnamed_addr constant [2 x i8] c"1\00" @.str17769 = private unnamed_addr constant [2 x i8] c"h\00" @.str17770 = private unnamed_addr constant [42 x i8] c" %di1 = add i32 %di, 1\0A br label %dynh\0A\00" @.str17771 = private unnamed_addr constant [5 x i8] c" %d\00" @.str17772 = private unnamed_addr constant [15 x i8] c"emit_grow_slot\00" @.str17773 = private unnamed_addr constant [45 x i8] c"p = getelementptr inbounds [32 x ptr], ptr @\00" @.str17774 = private unnamed_addr constant [22 x i8] c", i32 0, i32 %di\0A %d\00" @.str17775 = private unnamed_addr constant [21 x i8] c"o = load ptr, ptr %d\00" @.str17776 = private unnamed_addr constant [3 x i8] c"p\0A\00" @.str17777 = private unnamed_addr constant [19 x i8] c"ecs mod store grow\00" @.str17778 = private unnamed_addr constant [5 x i8] c" %d\00" @.str17779 = private unnamed_addr constant [20 x i8] c"b = mul i64 %nc64, \00" @.str17780 = private unnamed_addr constant [6 x i8] c"\0A %d\00" @.str17781 = private unnamed_addr constant [15 x i8] c"r = add i64 %d\00" @.str17782 = private unnamed_addr constant [10 x i8] c"b, 8\0A %d\00" @.str17783 = private unnamed_addr constant [32 x i8] c"n = call ptr @lp_realloc(ptr %d\00" @.str17784 = private unnamed_addr constant [10 x i8] c"o, i64 %d\00" @.str17785 = private unnamed_addr constant [32 x i8] c"r)\0A store i32 0, ptr @lp_site\0A\00" @.str17786 = private unnamed_addr constant [5 x i8] c" %d\00" @.str17787 = private unnamed_addr constant [21 x i8] c"f = mul i64 %cap64, \00" @.str17788 = private unnamed_addr constant [6 x i8] c"\0A %d\00" @.str17789 = private unnamed_addr constant [29 x i8] c"t = getelementptr i8, ptr %d\00" @.str17790 = private unnamed_addr constant [10 x i8] c"n, i64 %d\00" @.str17791 = private unnamed_addr constant [7 x i8] c"f\0A %d\00" @.str17792 = private unnamed_addr constant [15 x i8] c"z = sub i64 %d\00" @.str17793 = private unnamed_addr constant [6 x i8] c"r, %d\00" @.str17794 = private unnamed_addr constant [3 x i8] c"f\0A\00" @.str17795 = private unnamed_addr constant [5 x i8] c" %d\00" @.str17796 = private unnamed_addr constant [28 x i8] c"m = call ptr @memset(ptr %d\00" @.str17797 = private unnamed_addr constant [17 x i8] c"t, i32 0, i64 %d\00" @.str17798 = private unnamed_addr constant [18 x i8] c"z)\0A store ptr %d\00" @.str17799 = private unnamed_addr constant [10 x i8] c"n, ptr %d\00" @.str17800 = private unnamed_addr constant [3 x i8] c"p\0A\00" @.str17801 = private unnamed_addr constant [55 x i8] c"build/cfree/selfhost.ludic:28122: index out of range: \00" @.str17802 = private unnamed_addr constant [13 x i8] c"find_arch_id\00" @.str17803 = private unnamed_addr constant [55 x i8] c"build/cfree/selfhost.ludic:28122: index out of range: \00" @.str17804 = private unnamed_addr constant [4 x i8] c"i32\00" @.str17805 = private unnamed_addr constant [4 x i8] c"i32\00" @.str17806 = private unnamed_addr constant [2 x i8] c"0\00" @.str17807 = private unnamed_addr constant [55 x i8] c"build/cfree/selfhost.ludic:28130: index out of range: \00" @.str17808 = private unnamed_addr constant [11 x i8] c"emit_query\00" @.str17809 = private unnamed_addr constant [6 x i8] c"qcond\00" @.str17810 = private unnamed_addr constant [6 x i8] c"qbody\00" @.str17811 = private unnamed_addr constant [6 x i8] c"qnext\00" @.str17812 = private unnamed_addr constant [5 x i8] c"qend\00" @.str17813 = private unnamed_addr constant [13 x i8] c" br label %\00" @.str17814 = private unnamed_addr constant [2 x i8] c"\0A\00" @.str17815 = private unnamed_addr constant [3 x i8] c":\0A\00" @.str17816 = private unnamed_addr constant [15 x i8] c"load i32, ptr \00" @.str17817 = private unnamed_addr constant [22 x i8] c"load i32, ptr @L_entc\00" @.str17818 = private unnamed_addr constant [14 x i8] c"icmp slt i32 \00" @.str17819 = private unnamed_addr constant [3 x i8] c", \00" @.str17820 = private unnamed_addr constant [9 x i8] c" br i1 \00" @.str17821 = private unnamed_addr constant [10 x i8] c", label %\00" @.str17822 = private unnamed_addr constant [10 x i8] c", label %\00" @.str17823 = private unnamed_addr constant [2 x i8] c"\0A\00" @.str17824 = private unnamed_addr constant [3 x i8] c":\0A\00" @.str17825 = private unnamed_addr constant [15 x i8] c"load i32, ptr \00" @.str17826 = private unnamed_addr constant [8 x i8] c"L_alive\00" @.str17827 = private unnamed_addr constant [3 x i8] c" \00" @.str17828 = private unnamed_addr constant [36 x i8] c" = getelementptr inbounds i32, ptr \00" @.str17829 = private unnamed_addr constant [7 x i8] c", i32 \00" @.str17830 = private unnamed_addr constant [2 x i8] c"\0A\00" @.str17831 = private unnamed_addr constant [15 x i8] c"load i32, ptr \00" @.str17832 = private unnamed_addr constant [13 x i8] c"icmp ne i32 \00" @.str17833 = private unnamed_addr constant [4 x i8] c", 0\00" @.str17834 = private unnamed_addr constant [3 x i8] c"qa\00" @.str17835 = private unnamed_addr constant [9 x i8] c" br i1 \00" @.str17836 = private unnamed_addr constant [10 x i8] c", label %\00" @.str17837 = private unnamed_addr constant [10 x i8] c", label %\00" @.str17838 = private unnamed_addr constant [2 x i8] c"\0A\00" @.str17839 = private unnamed_addr constant [3 x i8] c":\0A\00" @.str17840 = private unnamed_addr constant [55 x i8] c"build/cfree/selfhost.ludic:28155: index out of range: \00" @.str17841 = private unnamed_addr constant [2 x i8] c"0\00" @.str17842 = private unnamed_addr constant [7 x i8] c"L_kind\00" @.str17843 = private unnamed_addr constant [3 x i8] c" \00" @.str17844 = private unnamed_addr constant [36 x i8] c" = getelementptr inbounds i32, ptr \00" @.str17845 = private unnamed_addr constant [7 x i8] c", i32 \00" @.str17846 = private unnamed_addr constant [2 x i8] c"\0A\00" @.str17847 = private unnamed_addr constant [15 x i8] c"load i32, ptr \00" @.str17848 = private unnamed_addr constant [13 x i8] c"icmp eq i32 \00" @.str17849 = private unnamed_addr constant [3 x i8] c", \00" @.str17850 = private unnamed_addr constant [19 x i8] c"load i32, ptr @ME_\00" @.str17851 = private unnamed_addr constant [13 x i8] c"icmp ne i32 \00" @.str17852 = private unnamed_addr constant [4 x i8] c", 0\00" @.str17853 = private unnamed_addr constant [8 x i8] c"and i1 \00" @.str17854 = private unnamed_addr constant [3 x i8] c", \00" @.str17855 = private unnamed_addr constant [3 x i8] c"H_\00" @.str17856 = private unnamed_addr constant [3 x i8] c" \00" @.str17857 = private unnamed_addr constant [35 x i8] c" = getelementptr inbounds i8, ptr \00" @.str17858 = private unnamed_addr constant [7 x i8] c", i32 \00" @.str17859 = private unnamed_addr constant [2 x i8] c"\0A\00" @.str17860 = private unnamed_addr constant [14 x i8] c"load i8, ptr \00" @.str17861 = private unnamed_addr constant [12 x i8] c"icmp ne i8 \00" @.str17862 = private unnamed_addr constant [4 x i8] c", 0\00" @.str17863 = private unnamed_addr constant [3 x i8] c"qt\00" @.str17864 = private unnamed_addr constant [9 x i8] c" br i1 \00" @.str17865 = private unnamed_addr constant [10 x i8] c", label %\00" @.str17866 = private unnamed_addr constant [10 x i8] c", label %\00" @.str17867 = private unnamed_addr constant [2 x i8] c"\0A\00" @.str17868 = private unnamed_addr constant [3 x i8] c":\0A\00" @.str17869 = private unnamed_addr constant [55 x i8] c"build/cfree/selfhost.ludic:28183: index out of range: \00" @.str17870 = private unnamed_addr constant [3 x i8] c"S_\00" @.str17871 = private unnamed_addr constant [3 x i8] c" \00" @.str17872 = private unnamed_addr constant [32 x i8] c" = getelementptr inbounds %Cmp_\00" @.str17873 = private unnamed_addr constant [7 x i8] c", ptr \00" @.str17874 = private unnamed_addr constant [7 x i8] c", i32 \00" @.str17875 = private unnamed_addr constant [2 x i8] c"\0A\00" @.str17876 = private unnamed_addr constant [4 x i8] c"ptr\00" @.str17877 = private unnamed_addr constant [13 x i8] c" store ptr \00" @.str17878 = private unnamed_addr constant [7 x i8] c", ptr \00" @.str17879 = private unnamed_addr constant [2 x i8] c"\0A\00" @.str17880 = private unnamed_addr constant [55 x i8] c"build/cfree/selfhost.ludic:28191: index out of range: \00" @.str17881 = private unnamed_addr constant [13 x i8] c"icmp ne i32 \00" @.str17882 = private unnamed_addr constant [4 x i8] c", 0\00" @.str17883 = private unnamed_addr constant [3 x i8] c"qw\00" @.str17884 = private unnamed_addr constant [9 x i8] c" br i1 \00" @.str17885 = private unnamed_addr constant [10 x i8] c", label %\00" @.str17886 = private unnamed_addr constant [10 x i8] c", label %\00" @.str17887 = private unnamed_addr constant [2 x i8] c"\0A\00" @.str17888 = private unnamed_addr constant [3 x i8] c":\0A\00" @.str17889 = private unnamed_addr constant [13 x i8] c" br label %\00" @.str17890 = private unnamed_addr constant [2 x i8] c"\0A\00" @.str17891 = private unnamed_addr constant [3 x i8] c":\0A\00" @.str17892 = private unnamed_addr constant [15 x i8] c"load i32, ptr \00" @.str17893 = private unnamed_addr constant [9 x i8] c"add i32 \00" @.str17894 = private unnamed_addr constant [4 x i8] c", 1\00" @.str17895 = private unnamed_addr constant [4 x i8] c"i32\00" @.str17896 = private unnamed_addr constant [13 x i8] c" br label %\00" @.str17897 = private unnamed_addr constant [2 x i8] c"\0A\00" @.str17898 = private unnamed_addr constant [3 x i8] c":\0A\00" @.str17899 = private unnamed_addr constant [4 x i8] c"i32\00" @.str17900 = private unnamed_addr constant [13 x i8] c" store i32 \00" @.str17901 = private unnamed_addr constant [7 x i8] c", ptr \00" @.str17902 = private unnamed_addr constant [2 x i8] c"\0A\00" @.str17903 = private unnamed_addr constant [55 x i8] c"build/cfree/selfhost.ludic:28229: index out of range: \00" @.str17904 = private unnamed_addr constant [20 x i8] c"emit_hook_with_self\00" @.str17905 = private unnamed_addr constant [25 x i8] c"spawn: unknown property \00" @.str17906 = private unnamed_addr constant [20 x i8] c"emit_init_component\00" @.str17907 = private unnamed_addr constant [3 x i8] c"H_\00" @.str17908 = private unnamed_addr constant [3 x i8] c" \00" @.str17909 = private unnamed_addr constant [35 x i8] c" = getelementptr inbounds i8, ptr \00" @.str17910 = private unnamed_addr constant [7 x i8] c", i32 \00" @.str17911 = private unnamed_addr constant [2 x i8] c"\0A\00" @.str17912 = private unnamed_addr constant [19 x i8] c" store i8 1, ptr \00" @.str17913 = private unnamed_addr constant [2 x i8] c"\0A\00" @.str17914 = private unnamed_addr constant [3 x i8] c"S_\00" @.str17915 = private unnamed_addr constant [3 x i8] c" \00" @.str17916 = private unnamed_addr constant [32 x i8] c" = getelementptr inbounds %Cmp_\00" @.str17917 = private unnamed_addr constant [7 x i8] c", ptr \00" @.str17918 = private unnamed_addr constant [7 x i8] c", i32 \00" @.str17919 = private unnamed_addr constant [2 x i8] c"\0A\00" @.str17920 = private unnamed_addr constant [55 x i8] c"build/cfree/selfhost.ludic:28248: index out of range: \00" @.str17921 = private unnamed_addr constant [3 x i8] c" \00" @.str17922 = private unnamed_addr constant [32 x i8] c" = getelementptr inbounds %Cmp_\00" @.str17923 = private unnamed_addr constant [7 x i8] c", ptr \00" @.str17924 = private unnamed_addr constant [14 x i8] c", i32 0, i32 \00" @.str17925 = private unnamed_addr constant [2 x i8] c"\0A\00" @.str17926 = private unnamed_addr constant [9 x i8] c" store \00" @.str17927 = private unnamed_addr constant [2 x i8] c" \00" @.str17928 = private unnamed_addr constant [7 x i8] c", ptr \00" @.str17929 = private unnamed_addr constant [2 x i8] c"\0A\00" @.str17930 = private unnamed_addr constant [55 x i8] c"build/cfree/selfhost.ludic:28261: index out of range: \00" @.str17931 = private unnamed_addr constant [3 x i8] c" \00" @.str17932 = private unnamed_addr constant [32 x i8] c" = getelementptr inbounds %Cmp_\00" @.str17933 = private unnamed_addr constant [7 x i8] c", ptr \00" @.str17934 = private unnamed_addr constant [14 x i8] c", i32 0, i32 \00" @.str17935 = private unnamed_addr constant [2 x i8] c"\0A\00" @.str17936 = private unnamed_addr constant [9 x i8] c" store \00" @.str17937 = private unnamed_addr constant [2 x i8] c" \00" @.str17938 = private unnamed_addr constant [7 x i8] c", ptr \00" @.str17939 = private unnamed_addr constant [2 x i8] c"\0A\00" @.str17940 = private unnamed_addr constant [4 x i8] c"ptr\00" @.str17941 = private unnamed_addr constant [13 x i8] c" store ptr \00" @.str17942 = private unnamed_addr constant [7 x i8] c", ptr \00" @.str17943 = private unnamed_addr constant [2 x i8] c"\0A\00" @.str17944 = private unnamed_addr constant [6 x i8] c"prop_\00" @.str17945 = private unnamed_addr constant [8 x i8] c"_attach\00" @.str17946 = private unnamed_addr constant [17 x i8] c" call void @ev_\00" @.str17947 = private unnamed_addr constant [6 x i8] c"(i32 \00" @.str17948 = private unnamed_addr constant [3 x i8] c")\0A\00" @.str17949 = private unnamed_addr constant [55 x i8] c"build/cfree/selfhost.ludic:28295: index out of range: \00" @.str17950 = private unnamed_addr constant [16 x i8] c"emit_bind_props\00" @.str17951 = private unnamed_addr constant [3 x i8] c"S_\00" @.str17952 = private unnamed_addr constant [3 x i8] c" \00" @.str17953 = private unnamed_addr constant [32 x i8] c" = getelementptr inbounds %Cmp_\00" @.str17954 = private unnamed_addr constant [7 x i8] c", ptr \00" @.str17955 = private unnamed_addr constant [7 x i8] c", i32 \00" @.str17956 = private unnamed_addr constant [2 x i8] c"\0A\00" @.str17957 = private unnamed_addr constant [4 x i8] c"ptr\00" @.str17958 = private unnamed_addr constant [13 x i8] c" store ptr \00" @.str17959 = private unnamed_addr constant [7 x i8] c", ptr \00" @.str17960 = private unnamed_addr constant [2 x i8] c"\0A\00" @.str17961 = private unnamed_addr constant [55 x i8] c"build/cfree/selfhost.ludic:28310: index out of range: \00" @.str17962 = private unnamed_addr constant [13 x i8] c"spawn_record\00" @.str17963 = private unnamed_addr constant [55 x i8] c"build/cfree/selfhost.ludic:28310: index out of range: \00" @.str17964 = private unnamed_addr constant [55 x i8] c"build/cfree/selfhost.ludic:28319: index out of range: \00" @.str17965 = private unnamed_addr constant [14 x i8] c"merge_records\00" @.str17966 = private unnamed_addr constant [55 x i8] c"build/cfree/selfhost.ludic:28321: index out of range: \00" @.str17967 = private unnamed_addr constant [8 x i8] c"prefab \00" @.str17968 = private unnamed_addr constant [12 x i8] c"spawn_model\00" @.str17969 = private unnamed_addr constant [45 x i8] c": the chain of prefabs never reaches a model\00" @.str17970 = private unnamed_addr constant [26 x i8] c"call i32 @thr_is_worker()\00" @.str17971 = private unnamed_addr constant [13 x i8] c"icmp ne i32 \00" @.str17972 = private unnamed_addr constant [18 x i8] c"emit_worker_guard\00" @.str17973 = private unnamed_addr constant [4 x i8] c", 0\00" @.str17974 = private unnamed_addr constant [5 x i8] c"wgok\00" @.str17975 = private unnamed_addr constant [6 x i8] c"wgbad\00" @.str17976 = private unnamed_addr constant [9 x i8] c" br i1 \00" @.str17977 = private unnamed_addr constant [10 x i8] c", label %\00" @.str17978 = private unnamed_addr constant [10 x i8] c", label %\00" @.str17979 = private unnamed_addr constant [2 x i8] c"\0A\00" @.str17980 = private unnamed_addr constant [3 x i8] c":\0A\00" @.str17981 = private unnamed_addr constant [2 x i8] c":\00" @.str17982 = private unnamed_addr constant [10 x i8] c": panic: \00" @.str17983 = private unnamed_addr constant [73 x i8] c" on a Job.parallel_for worker thread (workers must not change the world)\00" @.str17984 = private unnamed_addr constant [41 x i8] c" call i32 (ptr, ptr, ...) @fprintf(ptr \00" @.str17985 = private unnamed_addr constant [24 x i8] c", ptr @.fmt_panic, ptr \00" @.str17986 = private unnamed_addr constant [7 x i8] c", ptr \00" @.str17987 = private unnamed_addr constant [3 x i8] c")\0A\00" @.str17988 = private unnamed_addr constant [40 x i8] c" call void @exit(i32 1)\0A unreachable\0A\00" @.str17989 = private unnamed_addr constant [3 x i8] c":\0A\00" @.str17990 = private unnamed_addr constant [6 x i8] c"spawn\00" @.str17991 = private unnamed_addr constant [20 x i8] c"call i32 @L_alloc()\00" @.str17992 = private unnamed_addr constant [8 x i8] c"prefab \00" @.str17993 = private unnamed_addr constant [11 x i8] c"emit_spawn\00" @.str17994 = private unnamed_addr constant [17 x i8] c": unknown model \00" @.str17995 = private unnamed_addr constant [7 x i8] c"L_kind\00" @.str17996 = private unnamed_addr constant [3 x i8] c" \00" @.str17997 = private unnamed_addr constant [36 x i8] c" = getelementptr inbounds i32, ptr \00" @.str17998 = private unnamed_addr constant [7 x i8] c", i32 \00" @.str17999 = private unnamed_addr constant [2 x i8] c"\0A\00" @.str18000 = private unnamed_addr constant [13 x i8] c" store i32 \00" @.str18001 = private unnamed_addr constant [7 x i8] c", ptr \00" @.str18002 = private unnamed_addr constant [2 x i8] c"\0A\00" @.str18003 = private unnamed_addr constant [55 x i8] c"build/cfree/selfhost.ludic:28379: index out of range: \00" @.str18004 = private unnamed_addr constant [7 x i8] c"model_\00" @.str18005 = private unnamed_addr constant [7 x i8] c"_spawn\00" @.str18006 = private unnamed_addr constant [17 x i8] c" call void @ev_\00" @.str18007 = private unnamed_addr constant [6 x i8] c"(i32 \00" @.str18008 = private unnamed_addr constant [3 x i8] c")\0A\00" @.str18009 = private unnamed_addr constant [55 x i8] c"build/cfree/selfhost.ludic:28396: index out of range: \00" @.str18010 = private unnamed_addr constant [55 x i8] c"build/cfree/selfhost.ludic:28396: index out of range: \00" @.str18011 = private unnamed_addr constant [8 x i8] c"despawn\00" @.str18012 = private unnamed_addr constant [7 x i8] c"L_kind\00" @.str18013 = private unnamed_addr constant [3 x i8] c" \00" @.str18014 = private unnamed_addr constant [36 x i8] c" = getelementptr inbounds i32, ptr \00" @.str18015 = private unnamed_addr constant [7 x i8] c", i32 \00" @.str18016 = private unnamed_addr constant [2 x i8] c"\0A\00" @.str18017 = private unnamed_addr constant [15 x i8] c"load i32, ptr \00" @.str18018 = private unnamed_addr constant [13 x i8] c"emit_despawn\00" @.str18019 = private unnamed_addr constant [55 x i8] c"build/cfree/selfhost.ludic:28412: index out of range: \00" @.str18020 = private unnamed_addr constant [13 x i8] c"icmp eq i32 \00" @.str18021 = private unnamed_addr constant [3 x i8] c", \00" @.str18022 = private unnamed_addr constant [3 x i8] c"dh\00" @.str18023 = private unnamed_addr constant [4 x i8] c"dhn\00" @.str18024 = private unnamed_addr constant [9 x i8] c" br i1 \00" @.str18025 = private unnamed_addr constant [10 x i8] c", label %\00" @.str18026 = private unnamed_addr constant [10 x i8] c", label %\00" @.str18027 = private unnamed_addr constant [2 x i8] c"\0A\00" @.str18028 = private unnamed_addr constant [27 x i8] c":\0A call void @on_despawn_\00" @.str18029 = private unnamed_addr constant [6 x i8] c"(i32 \00" @.str18030 = private unnamed_addr constant [10 x i8] c", i32 0)\0A\00" @.str18031 = private unnamed_addr constant [7 x i8] c"model_\00" @.str18032 = private unnamed_addr constant [9 x i8] c"_despawn\00" @.str18033 = private unnamed_addr constant [17 x i8] c" call void @ev_\00" @.str18034 = private unnamed_addr constant [6 x i8] c"(i32 \00" @.str18035 = private unnamed_addr constant [10 x i8] c", i32 0)\0A\00" @.str18036 = private unnamed_addr constant [13 x i8] c" br label %\00" @.str18037 = private unnamed_addr constant [2 x i8] c"\0A\00" @.str18038 = private unnamed_addr constant [3 x i8] c":\0A\00" @.str18039 = private unnamed_addr constant [37 x i8] c" call void @ludic_sweep_entity(i32 \00" @.str18040 = private unnamed_addr constant [3 x i8] c")\0A\00" @.str18041 = private unnamed_addr constant [32 x i8] c" call void @L_free_entity(i32 \00" @.str18042 = private unnamed_addr constant [3 x i8] c")\0A\00" @.str18043 = private unnamed_addr constant [3 x i8] c"H_\00" @.str18044 = private unnamed_addr constant [12 x i8] c"emit_attach\00" @.str18045 = private unnamed_addr constant [3 x i8] c" \00" @.str18046 = private unnamed_addr constant [35 x i8] c" = getelementptr inbounds i8, ptr \00" @.str18047 = private unnamed_addr constant [7 x i8] c", i32 \00" @.str18048 = private unnamed_addr constant [2 x i8] c"\0A\00" @.str18049 = private unnamed_addr constant [14 x i8] c"load i8, ptr \00" @.str18050 = private unnamed_addr constant [12 x i8] c"icmp eq i8 \00" @.str18051 = private unnamed_addr constant [4 x i8] c", 0\00" @.str18052 = private unnamed_addr constant [7 x i8] c"attach\00" @.str18053 = private unnamed_addr constant [8 x i8] c"attdone\00" @.str18054 = private unnamed_addr constant [9 x i8] c" br i1 \00" @.str18055 = private unnamed_addr constant [10 x i8] c", label %\00" @.str18056 = private unnamed_addr constant [10 x i8] c", label %\00" @.str18057 = private unnamed_addr constant [2 x i8] c"\0A\00" @.str18058 = private unnamed_addr constant [3 x i8] c":\0A\00" @.str18059 = private unnamed_addr constant [13 x i8] c" br label %\00" @.str18060 = private unnamed_addr constant [2 x i8] c"\0A\00" @.str18061 = private unnamed_addr constant [3 x i8] c":\0A\00" @.str18062 = private unnamed_addr constant [3 x i8] c"H_\00" @.str18063 = private unnamed_addr constant [12 x i8] c"emit_detach\00" @.str18064 = private unnamed_addr constant [3 x i8] c" \00" @.str18065 = private unnamed_addr constant [35 x i8] c" = getelementptr inbounds i8, ptr \00" @.str18066 = private unnamed_addr constant [7 x i8] c", i32 \00" @.str18067 = private unnamed_addr constant [2 x i8] c"\0A\00" @.str18068 = private unnamed_addr constant [14 x i8] c"load i8, ptr \00" @.str18069 = private unnamed_addr constant [12 x i8] c"icmp ne i8 \00" @.str18070 = private unnamed_addr constant [4 x i8] c", 0\00" @.str18071 = private unnamed_addr constant [7 x i8] c"detach\00" @.str18072 = private unnamed_addr constant [8 x i8] c"detdone\00" @.str18073 = private unnamed_addr constant [9 x i8] c" br i1 \00" @.str18074 = private unnamed_addr constant [10 x i8] c", label %\00" @.str18075 = private unnamed_addr constant [10 x i8] c", label %\00" @.str18076 = private unnamed_addr constant [2 x i8] c"\0A\00" @.str18077 = private unnamed_addr constant [3 x i8] c":\0A\00" @.str18078 = private unnamed_addr constant [19 x i8] c" store i8 0, ptr \00" @.str18079 = private unnamed_addr constant [2 x i8] c"\0A\00" @.str18080 = private unnamed_addr constant [3 x i8] c"S_\00" @.str18081 = private unnamed_addr constant [3 x i8] c" \00" @.str18082 = private unnamed_addr constant [32 x i8] c" = getelementptr inbounds %Cmp_\00" @.str18083 = private unnamed_addr constant [7 x i8] c", ptr \00" @.str18084 = private unnamed_addr constant [7 x i8] c", i32 \00" @.str18085 = private unnamed_addr constant [2 x i8] c"\0A\00" @.str18086 = private unnamed_addr constant [4 x i8] c"ptr\00" @.str18087 = private unnamed_addr constant [13 x i8] c" store ptr \00" @.str18088 = private unnamed_addr constant [7 x i8] c", ptr \00" @.str18089 = private unnamed_addr constant [2 x i8] c"\0A\00" @.str18090 = private unnamed_addr constant [6 x i8] c"prop_\00" @.str18091 = private unnamed_addr constant [8 x i8] c"_detach\00" @.str18092 = private unnamed_addr constant [17 x i8] c" call void @ev_\00" @.str18093 = private unnamed_addr constant [6 x i8] c"(i32 \00" @.str18094 = private unnamed_addr constant [3 x i8] c")\0A\00" @.str18095 = private unnamed_addr constant [13 x i8] c" br label %\00" @.str18096 = private unnamed_addr constant [2 x i8] c"\0A\00" @.str18097 = private unnamed_addr constant [3 x i8] c":\0A\00" @.str18098 = private unnamed_addr constant [55 x i8] c"build/cfree/selfhost.ludic:28483: index out of range: \00" @.str18099 = private unnamed_addr constant [9 x i8] c"find_sys\00" @.str18100 = private unnamed_addr constant [2 x i8] c"0\00" @.str18101 = private unnamed_addr constant [2 x i8] c"1\00" @.str18102 = private unnamed_addr constant [7 x i8] c"system\00" @.str18103 = private unnamed_addr constant [6 x i8] c"layer\00" @.str18104 = private unnamed_addr constant [13 x i8] c" store i32 \00" @.str18105 = private unnamed_addr constant [11 x i8] c", ptr @LE_\00" @.str18106 = private unnamed_addr constant [2 x i8] c"\0A\00" @.str18107 = private unnamed_addr constant [7 x i8] c"layer_\00" @.str18108 = private unnamed_addr constant [12 x i8] c"emit_toggle\00" @.str18109 = private unnamed_addr constant [6 x i8] c"_hide\00" @.str18110 = private unnamed_addr constant [7 x i8] c"layer_\00" @.str18111 = private unnamed_addr constant [6 x i8] c"_show\00" @.str18112 = private unnamed_addr constant [17 x i8] c" call void @ev_\00" @.str18113 = private unnamed_addr constant [4 x i8] c"()\0A\00" @.str18114 = private unnamed_addr constant [3 x i8] c"H_\00" @.str18115 = private unnamed_addr constant [3 x i8] c" \00" @.str18116 = private unnamed_addr constant [35 x i8] c" = getelementptr inbounds i8, ptr \00" @.str18117 = private unnamed_addr constant [7 x i8] c", i32 \00" @.str18118 = private unnamed_addr constant [2 x i8] c"\0A\00" @.str18119 = private unnamed_addr constant [12 x i8] c" store i8 \00" @.str18120 = private unnamed_addr constant [7 x i8] c", ptr \00" @.str18121 = private unnamed_addr constant [2 x i8] c"\0A\00" @.str18122 = private unnamed_addr constant [3 x i8] c"S_\00" @.str18123 = private unnamed_addr constant [3 x i8] c" \00" @.str18124 = private unnamed_addr constant [32 x i8] c" = getelementptr inbounds %Cmp_\00" @.str18125 = private unnamed_addr constant [7 x i8] c", ptr \00" @.str18126 = private unnamed_addr constant [7 x i8] c", i32 \00" @.str18127 = private unnamed_addr constant [2 x i8] c"\0A\00" @.str18128 = private unnamed_addr constant [4 x i8] c"ptr\00" @.str18129 = private unnamed_addr constant [13 x i8] c" store ptr \00" @.str18130 = private unnamed_addr constant [7 x i8] c", ptr \00" @.str18131 = private unnamed_addr constant [2 x i8] c"\0A\00" @.str18132 = private unnamed_addr constant [6 x i8] c"prop_\00" @.str18133 = private unnamed_addr constant [9 x i8] c"_disable\00" @.str18134 = private unnamed_addr constant [6 x i8] c"prop_\00" @.str18135 = private unnamed_addr constant [8 x i8] c"_enable\00" @.str18136 = private unnamed_addr constant [17 x i8] c" call void @ev_\00" @.str18137 = private unnamed_addr constant [6 x i8] c"(i32 \00" @.str18138 = private unnamed_addr constant [3 x i8] c")\0A\00" @.str18139 = private unnamed_addr constant [5 x i8] c"@HE_\00" @.str18140 = private unnamed_addr constant [5 x i8] c"@ME_\00" @.str18141 = private unnamed_addr constant [5 x i8] c"@HE_\00" @.str18142 = private unnamed_addr constant [2 x i8] c"_\00" @.str18143 = private unnamed_addr constant [13 x i8] c" store i32 \00" @.str18144 = private unnamed_addr constant [7 x i8] c", ptr \00" @.str18145 = private unnamed_addr constant [2 x i8] c"\0A\00" @.str18146 = private unnamed_addr constant [5 x i8] c"void\00" @.str18147 = private unnamed_addr constant [17 x i8] c" br label %ret\0A\00" @.str18148 = private unnamed_addr constant [17 x i8] c"ret:\0A ret void\0A\00" @.str18149 = private unnamed_addr constant [18 x i8] c"define void @sys_\00" @.str18150 = private unnamed_addr constant [13 x i8] c"() {\0Aentry:\0A\00" @.str18151 = private unnamed_addr constant [4 x i8] c"}\0A\0A\00" @.str18152 = private unnamed_addr constant [1 x i8] c"\00" @.str18153 = private unnamed_addr constant [19 x i8] c"load i32, ptr @HE_\00" @.str18154 = private unnamed_addr constant [14 x i8] c"emit_call_one\00" @.str18155 = private unnamed_addr constant [13 x i8] c"icmp ne i32 \00" @.str18156 = private unnamed_addr constant [4 x i8] c", 0\00" @.str18157 = private unnamed_addr constant [19 x i8] c"load i32, ptr @LE_\00" @.str18158 = private unnamed_addr constant [13 x i8] c"icmp ne i32 \00" @.str18159 = private unnamed_addr constant [4 x i8] c", 0\00" @.str18160 = private unnamed_addr constant [8 x i8] c"and i1 \00" @.str18161 = private unnamed_addr constant [3 x i8] c", \00" @.str18162 = private unnamed_addr constant [22 x i8] c"load i32, ptr @L_role\00" @.str18163 = private unnamed_addr constant [13 x i8] c"icmp eq i32 \00" @.str18164 = private unnamed_addr constant [4 x i8] c", 1\00" @.str18165 = private unnamed_addr constant [8 x i8] c"and i1 \00" @.str18166 = private unnamed_addr constant [3 x i8] c", \00" @.str18167 = private unnamed_addr constant [5 x i8] c"hrun\00" @.str18168 = private unnamed_addr constant [6 x i8] c"hskip\00" @.str18169 = private unnamed_addr constant [9 x i8] c" br i1 \00" @.str18170 = private unnamed_addr constant [10 x i8] c", label %\00" @.str18171 = private unnamed_addr constant [10 x i8] c", label %\00" @.str18172 = private unnamed_addr constant [2 x i8] c"\0A\00" @.str18173 = private unnamed_addr constant [20 x i8] c":\0A call void @sys_\00" @.str18174 = private unnamed_addr constant [4 x i8] c"()\0A\00" @.str18175 = private unnamed_addr constant [13 x i8] c" br label %\00" @.str18176 = private unnamed_addr constant [2 x i8] c"\0A\00" @.str18177 = private unnamed_addr constant [3 x i8] c":\0A\00" @.str18178 = private unnamed_addr constant [13 x i8] c" call void \00" @.str18179 = private unnamed_addr constant [23 x i8] c"emit_one_engine_system\00" @.str18180 = private unnamed_addr constant [4 x i8] c"()\0A\00" @.str18181 = private unnamed_addr constant [55 x i8] c"build/cfree/selfhost.ludic:28599: index out of range: \00" @.str18182 = private unnamed_addr constant [30 x i8] c"emit_engine_systems_for_phase\00" @.str18183 = private unnamed_addr constant [55 x i8] c"build/cfree/selfhost.ludic:28599: index out of range: \00" @.str18184 = private unnamed_addr constant [55 x i8] c"build/cfree/selfhost.ludic:28599: index out of range: \00" @.str18185 = private unnamed_addr constant [7 x i8] c"Update\00" @.str18186 = private unnamed_addr constant [11 x i8] c"esys_tween\00" @.str18187 = private unnamed_addr constant [13 x i8] c" call void \00" @.str18188 = private unnamed_addr constant [11 x i8] c"esys_tween\00" @.str18189 = private unnamed_addr constant [4 x i8] c"()\0A\00" @.str18190 = private unnamed_addr constant [29 x i8] c" call void @L_countdowns()\0A\00" @.str18191 = private unnamed_addr constant [8 x i8] c"fx_tick\00" @.str18192 = private unnamed_addr constant [13 x i8] c" call void \00" @.str18193 = private unnamed_addr constant [8 x i8] c"fx_tick\00" @.str18194 = private unnamed_addr constant [4 x i8] c"()\0A\00" @.str18195 = private unnamed_addr constant [7 x i8] c"Render\00" @.str18196 = private unnamed_addr constant [8 x i8] c"fx_draw\00" @.str18197 = private unnamed_addr constant [13 x i8] c" call void \00" @.str18198 = private unnamed_addr constant [8 x i8] c"fx_draw\00" @.str18199 = private unnamed_addr constant [4 x i8] c"()\0A\00" @.str18200 = private unnamed_addr constant [38 x i8] c"define void @L_countdowns() {\0Aentry:\0A\00" @.str18201 = private unnamed_addr constant [53 x i8] c" %n = load i32, ptr @L_entc\0A br label %loop\0Aloop:\0A\00" @.str18202 = private unnamed_addr constant [46 x i8] c" %i = phi i32 [ 0, %entry ], [ %i1, %next ]\0A\00" @.str18203 = 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" @.str18204 = private unnamed_addr constant [8 x i8] c"L_alive\00" @.str18205 = private unnamed_addr constant [41 x i8] c" %ap = getelementptr inbounds i32, ptr \00" @.str18206 = private unnamed_addr constant [10 x i8] c", i32 %i\0A\00" @.str18207 = 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" @.str18208 = private unnamed_addr constant [55 x i8] c"build/cfree/selfhost.ludic:28629: index out of range: \00" @.str18209 = private unnamed_addr constant [22 x i8] c"emit_countdown_system\00" @.str18210 = private unnamed_addr constant [55 x i8] c"build/cfree/selfhost.ludic:28633: index out of range: \00" @.str18211 = private unnamed_addr constant [10 x i8] c"countdown\00" @.str18212 = private unnamed_addr constant [2 x i8] c"c\00" @.str18213 = private unnamed_addr constant [3 x i8] c":\0A\00" @.str18214 = private unnamed_addr constant [3 x i8] c"H_\00" @.str18215 = private unnamed_addr constant [5 x i8] c" %h\00" @.str18216 = private unnamed_addr constant [35 x i8] c" = getelementptr inbounds i8, ptr \00" @.str18217 = private unnamed_addr constant [10 x i8] c", i32 %i\0A\00" @.str18218 = private unnamed_addr constant [6 x i8] c" %hv\00" @.str18219 = private unnamed_addr constant [19 x i8] c" = load i8, ptr %h\00" @.str18220 = private unnamed_addr constant [2 x i8] c"\0A\00" @.str18221 = private unnamed_addr constant [7 x i8] c" %has\00" @.str18222 = private unnamed_addr constant [18 x i8] c" = icmp ne i8 %hv\00" @.str18223 = private unnamed_addr constant [5 x i8] c", 0\0A\00" @.str18224 = private unnamed_addr constant [13 x i8] c" br i1 %has\00" @.str18225 = private unnamed_addr constant [11 x i8] c", label %t\00" @.str18226 = private unnamed_addr constant [11 x i8] c", label %c\00" @.str18227 = private unnamed_addr constant [2 x i8] c"\0A\00" @.str18228 = private unnamed_addr constant [2 x i8] c"t\00" @.str18229 = private unnamed_addr constant [3 x i8] c":\0A\00" @.str18230 = private unnamed_addr constant [3 x i8] c"S_\00" @.str18231 = private unnamed_addr constant [5 x i8] c" %s\00" @.str18232 = private unnamed_addr constant [32 x i8] c" = getelementptr inbounds %Cmp_\00" @.str18233 = private unnamed_addr constant [7 x i8] c", ptr \00" @.str18234 = private unnamed_addr constant [10 x i8] c", i32 %i\0A\00" @.str18235 = private unnamed_addr constant [55 x i8] c"build/cfree/selfhost.ludic:28647: index out of range: \00" @.str18236 = private unnamed_addr constant [10 x i8] c"countdown\00" @.str18237 = private unnamed_addr constant [2 x i8] c"_\00" @.str18238 = private unnamed_addr constant [6 x i8] c" %fa\00" @.str18239 = private unnamed_addr constant [32 x i8] c" = getelementptr inbounds %Cmp_\00" @.str18240 = private unnamed_addr constant [9 x i8] c", ptr %s\00" @.str18241 = private unnamed_addr constant [14 x i8] c", i32 0, i32 \00" @.str18242 = private unnamed_addr constant [2 x i8] c"\0A\00" @.str18243 = private unnamed_addr constant [6 x i8] c" %fv\00" @.str18244 = private unnamed_addr constant [21 x i8] c" = load i32, ptr %fa\00" @.str18245 = private unnamed_addr constant [2 x i8] c"\0A\00" @.str18246 = private unnamed_addr constant [6 x i8] c" %fp\00" @.str18247 = private unnamed_addr constant [20 x i8] c" = icmp sgt i32 %fv\00" @.str18248 = private unnamed_addr constant [5 x i8] c", 0\0A\00" @.str18249 = private unnamed_addr constant [6 x i8] c" %fd\00" @.str18250 = private unnamed_addr constant [15 x i8] c" = sub i32 %fv\00" @.str18251 = private unnamed_addr constant [5 x i8] c", 1\0A\00" @.str18252 = private unnamed_addr constant [6 x i8] c" %fn\00" @.str18253 = private unnamed_addr constant [17 x i8] c" = select i1 %fp\00" @.str18254 = private unnamed_addr constant [10 x i8] c", i32 %fd\00" @.str18255 = private unnamed_addr constant [10 x i8] c", i32 %fv\00" @.str18256 = private unnamed_addr constant [2 x i8] c"\0A\00" @.str18257 = private unnamed_addr constant [16 x i8] c" store i32 %fn\00" @.str18258 = private unnamed_addr constant [10 x i8] c", ptr %fa\00" @.str18259 = private unnamed_addr constant [2 x i8] c"\0A\00" @.str18260 = private unnamed_addr constant [14 x i8] c" br label %c\00" @.str18261 = private unnamed_addr constant [2 x i8] c"\0A\00" @.str18262 = private unnamed_addr constant [2 x i8] c"c\00" @.str18263 = private unnamed_addr constant [20 x i8] c":\0A br label %next\0A\00" @.str18264 = 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" @.str18265 = private unnamed_addr constant [4 x i8] c"int\00" @.str18266 = private unnamed_addr constant [11 x i8] c" ret i32 \00" @.str18267 = private unnamed_addr constant [2 x i8] c"\0A\00" @.str18268 = private unnamed_addr constant [22 x i8] c"define i32 @L_prefab_\00" @.str18269 = private unnamed_addr constant [13 x i8] c"() {\0Aentry:\0A\00" @.str18270 = private unnamed_addr constant [4 x i8] c"}\0A\0A\00" @.str18271 = private unnamed_addr constant [55 x i8] c"build/cfree/selfhost.ludic:28689: index out of range: \00" @.str18272 = private unnamed_addr constant [16 x i8] c"emit_prefab_fns\00" @.str18273 = private unnamed_addr constant [55 x i8] c"build/cfree/selfhost.ludic:28689: index out of range: \00" @.str18274 = private unnamed_addr constant [55 x i8] c"build/cfree/selfhost.ludic:28698: index out of range: \00" @.str18275 = private unnamed_addr constant [36 x i8] c"call i32 @lp_str_eq(ptr %name, ptr \00" @.str18276 = private unnamed_addr constant [2 x i8] c")\00" @.str18277 = private unnamed_addr constant [13 x i8] c"icmp ne i32 \00" @.str18278 = private unnamed_addr constant [4 x i8] c", 0\00" @.str18279 = private unnamed_addr constant [3 x i8] c"pf\00" @.str18280 = private unnamed_addr constant [4 x i8] c"pfn\00" @.str18281 = private unnamed_addr constant [9 x i8] c" br i1 \00" @.str18282 = private unnamed_addr constant [10 x i8] c", label %\00" @.str18283 = private unnamed_addr constant [10 x i8] c", label %\00" @.str18284 = private unnamed_addr constant [2 x i8] c"\0A\00" @.str18285 = private unnamed_addr constant [3 x i8] c":\0A\00" @.str18286 = private unnamed_addr constant [20 x i8] c"call i32 @L_prefab_\00" @.str18287 = private unnamed_addr constant [3 x i8] c"()\00" @.str18288 = private unnamed_addr constant [11 x i8] c" ret i32 \00" @.str18289 = private unnamed_addr constant [2 x i8] c"\0A\00" @.str18290 = private unnamed_addr constant [3 x i8] c":\0A\00" @.str18291 = private unnamed_addr constant [14 x i8] c" ret i32 -1\0A\00" @.str18292 = private unnamed_addr constant [48 x i8] c"define i32 @L_spawn_prefab(ptr %name) {\0Aentry:\0A\00" @.str18293 = private unnamed_addr constant [4 x i8] c"}\0A\0A\00" @.str18294 = private unnamed_addr constant [6 x i8] c"Input\00" @.str18295 = private unnamed_addr constant [12 x i8] c"FixedUpdate\00" @.str18296 = private unnamed_addr constant [7 x i8] c"Update\00" @.str18297 = private unnamed_addr constant [11 x i8] c"LateUpdate\00" @.str18298 = private unnamed_addr constant [7 x i8] c"Render\00" @.str18299 = private unnamed_addr constant [6 x i8] c"Start\00" @.str18300 = private unnamed_addr constant [7 x i8] c"OnQuit\00" @.str18301 = private unnamed_addr constant [8 x i8] c"Overlay\00" @.str18302 = private unnamed_addr constant [16 x i8] c"unknown phase '\00" @.str18303 = private unnamed_addr constant [9 x i8] c"phase_id\00" @.str18304 = private unnamed_addr constant [2 x i8] c"'\00" @.str18305 = private unnamed_addr constant [6 x i8] c"Start\00" @.str18306 = private unnamed_addr constant [6 x i8] c"Input\00" @.str18307 = private unnamed_addr constant [12 x i8] c"FixedUpdate\00" @.str18308 = private unnamed_addr constant [7 x i8] c"Update\00" @.str18309 = private unnamed_addr constant [11 x i8] c"LateUpdate\00" @.str18310 = private unnamed_addr constant [7 x i8] c"Render\00" @.str18311 = private unnamed_addr constant [8 x i8] c"Overlay\00" @.str18312 = private unnamed_addr constant [44 x i8] c"declare i32 @ludic_register_prop(ptr, i32)\0A\00" @.str18313 = private unnamed_addr constant [46 x i8] c"declare i32 @ludic_register_system(ptr, i32)\0A\00" @.str18314 = private unnamed_addr constant [39 x i8] c"declare i64 @ludic_get(i32, i32, i32)\0A\00" @.str18315 = private unnamed_addr constant [45 x i8] c"declare void @ludic_set(i32, i32, i32, i64)\0A\00" @.str18316 = private unnamed_addr constant [34 x i8] c"declare i32 @ludic_has(i32, i32)\0A\00" @.str18317 = private unnamed_addr constant [42 x i8] c"declare void @ludic_attach_dyn(i32, i32)\0A\00" @.str18318 = private unnamed_addr constant [42 x i8] c"declare void @ludic_detach_dyn(i32, i32)\0A\00" @.str18319 = private unnamed_addr constant [33 x i8] c"declare i32 @ludic_prop_id(ptr)\0A\00" @.str18320 = private unnamed_addr constant [39 x i8] c"declare i32 @ludic_field_id(i32, ptr)\0A\00" @.str18321 = private unnamed_addr constant [35 x i8] c"declare i32 @ludic_entity_count()\0A\00" @.str18322 = private unnamed_addr constant [30 x i8] c"declare i32 @ludic_kind(i32)\0A\00" @.str18323 = private unnamed_addr constant [34 x i8] c"declare i32 @ludic_model_id(ptr)\0A\00" @.str18324 = private unnamed_addr constant [31 x i8] c"declare i32 @ludic_spawn(i32)\0A\00" @.str18325 = private unnamed_addr constant [41 x i8] c"declare i32 @ludic_query_next(i32, i32)\0A\00" @.str18326 = private unnamed_addr constant [33 x i8] c"declare i32 @ludic_prop_count()\0A\00" @.str18327 = private unnamed_addr constant [35 x i8] c"declare ptr @ludic_prop_name(i32)\0A\00" @.str18328 = private unnamed_addr constant [37 x i8] c"declare i32 @ludic_field_count(i32)\0A\00" @.str18329 = private unnamed_addr constant [41 x i8] c"declare ptr @ludic_field_name(i32, i32)\0A\00" @.str18330 = private unnamed_addr constant [41 x i8] c"declare ptr @ludic_field_type(i32, i32)\0A\00" @.str18331 = private unnamed_addr constant [42 x i8] c"define void @__ludic_mod_init() {\0Aentry:\0A\00" @.str18332 = private unnamed_addr constant [12 x i8] c"module_init\00" @.str18333 = private unnamed_addr constant [31 x i8] c" call void @fn_module_init()\0A\00" @.str18334 = private unnamed_addr constant [43 x i8] c" call i32 @ludic_register_system(ptr @fn_\00" @.str18335 = private unnamed_addr constant [55 x i8] c"build/cfree/selfhost.ludic:28791: index out of range: \00" @.str18336 = private unnamed_addr constant [17 x i8] c"emit_module_glue\00" @.str18337 = private unnamed_addr constant [7 x i8] c", i32 \00" @.str18338 = private unnamed_addr constant [55 x i8] c"build/cfree/selfhost.ludic:28791: index out of range: \00" @.str18339 = private unnamed_addr constant [3 x i8] c")\0A\00" @.str18340 = private unnamed_addr constant [15 x i8] c" ret void\0A}\0A\0A\00" @.str18341 = 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" @.str18342 = private unnamed_addr constant [22 x i8] c"@sysreg_fn = global [\00" @.str18343 = private unnamed_addr constant [25 x i8] c" x ptr] zeroinitializer\0A\00" @.str18344 = private unnamed_addr constant [25 x i8] c"@sysreg_phase = global [\00" @.str18345 = private unnamed_addr constant [25 x i8] c" x i32] zeroinitializer\0A\00" @.str18346 = private unnamed_addr constant [30 x i8] c"@sysreg_count = global i32 0\0A\00" @.str18347 = private unnamed_addr constant [65 x i8] c"define i32 @ludic_register_system(ptr %fn, i32 %phase) {\0Aentry:\0A\00" @.str18348 = private unnamed_addr constant [36 x i8] c" %n = load i32, ptr @sysreg_count\0A\00" @.str18349 = private unnamed_addr constant [26 x i8] c" %ok = icmp slt i32 %n, \00" @.str18350 = private unnamed_addr constant [2 x i8] c"\0A\00" @.str18351 = private unnamed_addr constant [38 x i8] c" br i1 %ok, label %add, label %drop\0A\00" @.str18352 = private unnamed_addr constant [6 x i8] c"add:\0A\00" @.str18353 = private unnamed_addr constant [33 x i8] c" %fp = getelementptr inbounds [\00" @.str18354 = private unnamed_addr constant [40 x i8] c" x ptr], ptr @sysreg_fn, i32 0, i32 %n\0A\00" @.str18355 = private unnamed_addr constant [26 x i8] c" store ptr %fn, ptr %fp\0A\00" @.str18356 = private unnamed_addr constant [33 x i8] c" %pp = getelementptr inbounds [\00" @.str18357 = private unnamed_addr constant [43 x i8] c" x i32], ptr @sysreg_phase, i32 0, i32 %n\0A\00" @.str18358 = private unnamed_addr constant [29 x i8] c" store i32 %phase, ptr %pp\0A\00" @.str18359 = 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" @.str18360 = private unnamed_addr constant [23 x i8] c"drop:\0A ret i32 -1\0A}\0A\0A\00" @.str18361 = private unnamed_addr constant [4 x i8] c"dsp\00" @.str18362 = private unnamed_addr constant [4 x i8] c"dsh\00" @.str18363 = private unnamed_addr constant [4 x i8] c"dsb\00" @.str18364 = private unnamed_addr constant [5 x i8] c"dsdo\00" @.str18365 = private unnamed_addr constant [4 x i8] c"dsc\00" @.str18366 = private unnamed_addr constant [4 x i8] c"dsn\00" @.str18367 = private unnamed_addr constant [13 x i8] c" br label %\00" @.str18368 = private unnamed_addr constant [2 x i8] c"\0A\00" @.str18369 = private unnamed_addr constant [15 x i8] c":\0A br label %\00" @.str18370 = private unnamed_addr constant [2 x i8] c"\0A\00" @.str18371 = private unnamed_addr constant [3 x i8] c":\0A\00" @.str18372 = private unnamed_addr constant [3 x i8] c" \00" @.str18373 = private unnamed_addr constant [18 x i8] c" = phi i32 [ 0, %\00" @.str18374 = private unnamed_addr constant [7 x i8] c" ], [ \00" @.str18375 = private unnamed_addr constant [4 x i8] c", %\00" @.str18376 = private unnamed_addr constant [4 x i8] c" ]\0A\00" @.str18377 = private unnamed_addr constant [28 x i8] c"load i32, ptr @sysreg_count\00" @.str18378 = private unnamed_addr constant [14 x i8] c"icmp slt i32 \00" @.str18379 = private unnamed_addr constant [27 x i8] c"emit_dyn_systems_for_phase\00" @.str18380 = private unnamed_addr constant [3 x i8] c", \00" @.str18381 = private unnamed_addr constant [9 x i8] c" br i1 \00" @.str18382 = private unnamed_addr constant [10 x i8] c", label %\00" @.str18383 = private unnamed_addr constant [10 x i8] c", label %\00" @.str18384 = private unnamed_addr constant [2 x i8] c"\0A\00" @.str18385 = private unnamed_addr constant [3 x i8] c":\0A\00" @.str18386 = private unnamed_addr constant [3 x i8] c" \00" @.str18387 = private unnamed_addr constant [28 x i8] c" = getelementptr inbounds [\00" @.str18388 = private unnamed_addr constant [40 x i8] c" x i32], ptr @sysreg_phase, i32 0, i32 \00" @.str18389 = private unnamed_addr constant [2 x i8] c"\0A\00" @.str18390 = private unnamed_addr constant [15 x i8] c"load i32, ptr \00" @.str18391 = private unnamed_addr constant [13 x i8] c"icmp eq i32 \00" @.str18392 = private unnamed_addr constant [3 x i8] c", \00" @.str18393 = private unnamed_addr constant [9 x i8] c" br i1 \00" @.str18394 = private unnamed_addr constant [10 x i8] c", label %\00" @.str18395 = private unnamed_addr constant [10 x i8] c", label %\00" @.str18396 = private unnamed_addr constant [2 x i8] c"\0A\00" @.str18397 = private unnamed_addr constant [3 x i8] c":\0A\00" @.str18398 = private unnamed_addr constant [3 x i8] c" \00" @.str18399 = private unnamed_addr constant [28 x i8] c" = getelementptr inbounds [\00" @.str18400 = private unnamed_addr constant [37 x i8] c" x ptr], ptr @sysreg_fn, i32 0, i32 \00" @.str18401 = private unnamed_addr constant [2 x i8] c"\0A\00" @.str18402 = private unnamed_addr constant [15 x i8] c"load ptr, ptr \00" @.str18403 = private unnamed_addr constant [13 x i8] c" call void \00" @.str18404 = private unnamed_addr constant [4 x i8] c"()\0A\00" @.str18405 = private unnamed_addr constant [13 x i8] c" br label %\00" @.str18406 = private unnamed_addr constant [2 x i8] c"\0A\00" @.str18407 = private unnamed_addr constant [5 x i8] c":\0A \00" @.str18408 = private unnamed_addr constant [12 x i8] c" = add i32 \00" @.str18409 = private unnamed_addr constant [17 x i8] c", 1\0A br label %\00" @.str18410 = private unnamed_addr constant [2 x i8] c"\0A\00" @.str18411 = private unnamed_addr constant [3 x i8] c":\0A\00" @.str18412 = private unnamed_addr constant [55 x i8] c"build/cfree/selfhost.ludic:28851: index out of range: \00" @.str18413 = private unnamed_addr constant [21 x i8] c"emit_calls_for_phase\00" @.str18414 = private unnamed_addr constant [55 x i8] c"build/cfree/selfhost.ludic:28858: index out of range: \00" @.str18415 = private unnamed_addr constant [23 x i8] c"load i32, ptr @L_scene\00" @.str18416 = private unnamed_addr constant [55 x i8] c"build/cfree/selfhost.ludic:28863: index out of range: \00" @.str18417 = private unnamed_addr constant [13 x i8] c"icmp eq i32 \00" @.str18418 = private unnamed_addr constant [3 x i8] c", \00" @.str18419 = private unnamed_addr constant [6 x i8] c"scrun\00" @.str18420 = private unnamed_addr constant [7 x i8] c"scskip\00" @.str18421 = private unnamed_addr constant [9 x i8] c" br i1 \00" @.str18422 = private unnamed_addr constant [10 x i8] c", label %\00" @.str18423 = private unnamed_addr constant [10 x i8] c", label %\00" @.str18424 = private unnamed_addr constant [2 x i8] c"\0A\00" @.str18425 = private unnamed_addr constant [3 x i8] c":\0A\00" @.str18426 = private unnamed_addr constant [13 x i8] c" br label %\00" @.str18427 = private unnamed_addr constant [2 x i8] c"\0A\00" @.str18428 = private unnamed_addr constant [3 x i8] c":\0A\00" @.str18429 = private unnamed_addr constant [8 x i8] c"Overlay\00" @.str18430 = private unnamed_addr constant [13 x i8] c" call void \00" @.str18431 = private unnamed_addr constant [14 x i8] c"drain_actions\00" @.str18432 = private unnamed_addr constant [4 x i8] c"()\0A\00" @.str18433 = private unnamed_addr constant [55 x i8] c"build/cfree/selfhost.ludic:28885: index out of range: \00" @.str18434 = private unnamed_addr constant [23 x i8] c"emit_scene_menu_render\00" @.str18435 = private unnamed_addr constant [23 x i8] c"load i32, ptr @L_scene\00" @.str18436 = private unnamed_addr constant [55 x i8] c"build/cfree/selfhost.ludic:28890: index out of range: \00" @.str18437 = private unnamed_addr constant [13 x i8] c"icmp eq i32 \00" @.str18438 = private unnamed_addr constant [3 x i8] c", \00" @.str18439 = private unnamed_addr constant [5 x i8] c"mrun\00" @.str18440 = private unnamed_addr constant [6 x i8] c"mskip\00" @.str18441 = private unnamed_addr constant [9 x i8] c" br i1 \00" @.str18442 = private unnamed_addr constant [10 x i8] c", label %\00" @.str18443 = private unnamed_addr constant [10 x i8] c", label %\00" @.str18444 = private unnamed_addr constant [2 x i8] c"\0A\00" @.str18445 = private unnamed_addr constant [15 x i8] c":\0A call void \00" @.str18446 = private unnamed_addr constant [13 x i8] c"rt_ui_render\00" @.str18447 = private unnamed_addr constant [4 x i8] c"()\0A\00" @.str18448 = private unnamed_addr constant [13 x i8] c" br label %\00" @.str18449 = private unnamed_addr constant [2 x i8] c"\0A\00" @.str18450 = private unnamed_addr constant [3 x i8] c":\0A\00" @.str18451 = private unnamed_addr constant [7 x i8] c"scene \00" @.str18452 = private unnamed_addr constant [14 x i8] c"emit_scene_fn\00" @.str18453 = private unnamed_addr constant [5 x i8] c"void\00" @.str18454 = private unnamed_addr constant [6 x i8] c"enter\00" @.str18455 = private unnamed_addr constant [18 x i8] c"input_cursor_mode\00" @.str18456 = private unnamed_addr constant [13 x i8] c" call void \00" @.str18457 = private unnamed_addr constant [18 x i8] c"input_cursor_mode\00" @.str18458 = private unnamed_addr constant [9 x i8] c"(i32 0)\0A\00" @.str18459 = private unnamed_addr constant [13 x i8] c" call void \00" @.str18460 = private unnamed_addr constant [11 x i8] c"rt_ui_open\00" @.str18461 = private unnamed_addr constant [6 x i8] c"(i32 \00" @.str18462 = private unnamed_addr constant [4 x i8] c"UI_\00" @.str18463 = private unnamed_addr constant [3 x i8] c")\0A\00" @.str18464 = private unnamed_addr constant [5 x i8] c"exit\00" @.str18465 = private unnamed_addr constant [13 x i8] c" call void \00" @.str18466 = private unnamed_addr constant [12 x i8] c"rt_ui_close\00" @.str18467 = private unnamed_addr constant [4 x i8] c"()\0A\00" @.str18468 = private unnamed_addr constant [7 x i8] c"scene_\00" @.str18469 = private unnamed_addr constant [2 x i8] c"_\00" @.str18470 = private unnamed_addr constant [17 x i8] c" call void @ev_\00" @.str18471 = private unnamed_addr constant [4 x i8] c"()\0A\00" @.str18472 = private unnamed_addr constant [17 x i8] c" br label %ret\0A\00" @.str18473 = private unnamed_addr constant [17 x i8] c"ret:\0A ret void\0A\00" @.str18474 = private unnamed_addr constant [20 x i8] c"define void @scene_\00" @.str18475 = private unnamed_addr constant [2 x i8] c"_\00" @.str18476 = private unnamed_addr constant [13 x i8] c"() {\0Aentry:\0A\00" @.str18477 = private unnamed_addr constant [4 x i8] c"}\0A\0A\00" @.str18478 = private unnamed_addr constant [55 x i8] c"build/cfree/selfhost.ludic:28935: index out of range: \00" @.str18479 = private unnamed_addr constant [17 x i8] c"emit_scene_hooks\00" @.str18480 = private unnamed_addr constant [6 x i8] c"enter\00" @.str18481 = private unnamed_addr constant [5 x i8] c"exit\00" @.str18482 = private unnamed_addr constant [39 x i8] c"define void @L_scene_leave() {\0Aentry:\0A\00" @.str18483 = private unnamed_addr constant [31 x i8] c" %s = load i32, ptr @L_scene\0A\00" @.str18484 = private unnamed_addr constant [55 x i8] c"build/cfree/selfhost.ludic:28953: index out of range: \00" @.str18485 = private unnamed_addr constant [20 x i8] c"emit_scene_leave_fn\00" @.str18486 = private unnamed_addr constant [6 x i8] c" %is\00" @.str18487 = private unnamed_addr constant [20 x i8] c" = icmp eq i32 %s, \00" @.str18488 = private unnamed_addr constant [2 x i8] c"\0A\00" @.str18489 = private unnamed_addr constant [12 x i8] c" br i1 %is\00" @.str18490 = private unnamed_addr constant [15 x i8] c", label %leave\00" @.str18491 = private unnamed_addr constant [14 x i8] c", label %next\00" @.str18492 = private unnamed_addr constant [2 x i8] c"\0A\00" @.str18493 = private unnamed_addr constant [6 x i8] c"leave\00" @.str18494 = private unnamed_addr constant [27 x i8] c":\0A call void @scene_exit_\00" @.str18495 = private unnamed_addr constant [15 x i8] c"()\0A ret void\0A\00" @.str18496 = private unnamed_addr constant [5 x i8] c"next\00" @.str18497 = private unnamed_addr constant [3 x i8] c":\0A\00" @.str18498 = private unnamed_addr constant [15 x i8] c" ret void\0A}\0A\0A\00" @.str18499 = private unnamed_addr constant [55 x i8] c"build/cfree/selfhost.ludic:28971: index out of range: \00" @.str18500 = private unnamed_addr constant [19 x i8] c"emit_despawn_hooks\00" @.str18501 = private unnamed_addr constant [5 x i8] c"void\00" @.str18502 = private unnamed_addr constant [4 x i8] c"i32\00" @.str18503 = private unnamed_addr constant [26 x i8] c" store i32 %reason, ptr \00" @.str18504 = private unnamed_addr constant [2 x i8] c"\0A\00" @.str18505 = private unnamed_addr constant [4 x i8] c"int\00" @.str18506 = private unnamed_addr constant [3 x i8] c"%e\00" @.str18507 = private unnamed_addr constant [17 x i8] c" br label %ret\0A\00" @.str18508 = private unnamed_addr constant [17 x i8] c"ret:\0A ret void\0A\00" @.str18509 = private unnamed_addr constant [25 x i8] c"define void @on_despawn_\00" @.str18510 = private unnamed_addr constant [32 x i8] c"(i32 %e, i32 %reason) {\0Aentry:\0A\00" @.str18511 = private unnamed_addr constant [4 x i8] c"}\0A\0A\00" @.str18512 = private unnamed_addr constant [48 x i8] c"define void @fn_world_despawn(i32 %e) {\0Aentry:\0A\00" @.str18513 = private unnamed_addr constant [7 x i8] c"L_kind\00" @.str18514 = private unnamed_addr constant [41 x i8] c" %kp = getelementptr inbounds i32, ptr \00" @.str18515 = private unnamed_addr constant [10 x i8] c", i32 %e\0A\00" @.str18516 = private unnamed_addr constant [26 x i8] c" %k = load i32, ptr %kp\0A\00" @.str18517 = private unnamed_addr constant [55 x i8] c"build/cfree/selfhost.ludic:29013: index out of range: \00" @.str18518 = private unnamed_addr constant [22 x i8] c"emit_world_despawn_fn\00" @.str18519 = private unnamed_addr constant [5 x i8] c" %c\00" @.str18520 = private unnamed_addr constant [20 x i8] c" = icmp eq i32 %k, \00" @.str18521 = private unnamed_addr constant [2 x i8] c"\0A\00" @.str18522 = private unnamed_addr constant [11 x i8] c" br i1 %c\00" @.str18523 = private unnamed_addr constant [13 x i8] c", label %hit\00" @.str18524 = private unnamed_addr constant [14 x i8] c", label %next\00" @.str18525 = private unnamed_addr constant [2 x i8] c"\0A\00" @.str18526 = private unnamed_addr constant [4 x i8] c"hit\00" @.str18527 = private unnamed_addr constant [27 x i8] c":\0A call void @on_despawn_\00" @.str18528 = private unnamed_addr constant [17 x i8] c"(i32 %e, i32 0)\0A\00" @.str18529 = private unnamed_addr constant [7 x i8] c"model_\00" @.str18530 = private unnamed_addr constant [9 x i8] c"_despawn\00" @.str18531 = private unnamed_addr constant [17 x i8] c" call void @ev_\00" @.str18532 = private unnamed_addr constant [17 x i8] c"(i32 %e, i32 0)\0A\00" @.str18533 = private unnamed_addr constant [17 x i8] c" br label %next\00" @.str18534 = private unnamed_addr constant [2 x i8] c"\0A\00" @.str18535 = private unnamed_addr constant [5 x i8] c"next\00" @.str18536 = private unnamed_addr constant [3 x i8] c":\0A\00" @.str18537 = private unnamed_addr constant [41 x i8] c" call void @ludic_sweep_entity(i32 %e)\0A\00" @.str18538 = private unnamed_addr constant [36 x i8] c" call void @L_free_entity(i32 %e)\0A\00" @.str18539 = private unnamed_addr constant [15 x i8] c" ret void\0A}\0A\0A\00" @.str18540 = private unnamed_addr constant [67 x i8] c"define void @L_despawn_all(i32 %reason) {\0Aentry:\0A br label %loop\0A\00" @.str18541 = private unnamed_addr constant [52 x i8] c"loop:\0A %i = phi i32 [ 0, %entry ], [ %i1, %cont ]\0A\00" @.str18542 = private unnamed_addr constant [58 x i8] c" %n = load i32, ptr @L_entc\0A %go = icmp slt i32 %i, %n\0A\00" @.str18543 = private unnamed_addr constant [38 x i8] c" br i1 %go, label %body, label %fin\0A\00" @.str18544 = private unnamed_addr constant [7 x i8] c"body:\0A\00" @.str18545 = private unnamed_addr constant [8 x i8] c"L_alive\00" @.str18546 = private unnamed_addr constant [41 x i8] c" %ap = getelementptr inbounds i32, ptr \00" @.str18547 = private unnamed_addr constant [10 x i8] c", i32 %i\0A\00" @.str18548 = private unnamed_addr constant [55 x i8] c" %al = load i32, ptr %ap\0A %isa = icmp ne i32 %al, 0\0A\00" @.str18549 = private unnamed_addr constant [38 x i8] c" br i1 %isa, label %do, label %cont\0A\00" @.str18550 = private unnamed_addr constant [5 x i8] c"do:\0A\00" @.str18551 = private unnamed_addr constant [7 x i8] c"L_kind\00" @.str18552 = private unnamed_addr constant [41 x i8] c" %kp = getelementptr inbounds i32, ptr \00" @.str18553 = private unnamed_addr constant [10 x i8] c", i32 %i\0A\00" @.str18554 = private unnamed_addr constant [26 x i8] c" %k = load i32, ptr %kp\0A\00" @.str18555 = private unnamed_addr constant [55 x i8] c"build/cfree/selfhost.ludic:29054: index out of range: \00" @.str18556 = private unnamed_addr constant [20 x i8] c"emit_despawn_all_fn\00" @.str18557 = private unnamed_addr constant [5 x i8] c" %c\00" @.str18558 = private unnamed_addr constant [20 x i8] c" = icmp eq i32 %k, \00" @.str18559 = private unnamed_addr constant [2 x i8] c"\0A\00" @.str18560 = private unnamed_addr constant [11 x i8] c" br i1 %c\00" @.str18561 = private unnamed_addr constant [13 x i8] c", label %hit\00" @.str18562 = private unnamed_addr constant [14 x i8] c", label %next\00" @.str18563 = private unnamed_addr constant [2 x i8] c"\0A\00" @.str18564 = private unnamed_addr constant [4 x i8] c"hit\00" @.str18565 = private unnamed_addr constant [27 x i8] c":\0A call void @on_despawn_\00" @.str18566 = private unnamed_addr constant [23 x i8] c"(i32 %i, i32 %reason)\0A\00" @.str18567 = private unnamed_addr constant [7 x i8] c"model_\00" @.str18568 = private unnamed_addr constant [9 x i8] c"_despawn\00" @.str18569 = private unnamed_addr constant [17 x i8] c" call void @ev_\00" @.str18570 = private unnamed_addr constant [23 x i8] c"(i32 %i, i32 %reason)\0A\00" @.str18571 = private unnamed_addr constant [17 x i8] c" br label %next\00" @.str18572 = private unnamed_addr constant [2 x i8] c"\0A\00" @.str18573 = private unnamed_addr constant [5 x i8] c"next\00" @.str18574 = private unnamed_addr constant [3 x i8] c":\0A\00" @.str18575 = private unnamed_addr constant [18 x i8] c" br label %cont\0A\00" @.str18576 = private unnamed_addr constant [46 x i8] c"cont:\0A %i1 = add i32 %i, 1\0A br label %loop\0A\00" @.str18577 = private unnamed_addr constant [20 x i8] c"fin:\0A ret void\0A}\0A\0A\00" @.str18578 = private unnamed_addr constant [26 x i8] c"@ev_depth = global i32 0\0A\00" @.str18579 = private unnamed_addr constant [55 x i8] c"build/cfree/selfhost.ludic:29096: index out of range: \00" @.str18580 = private unnamed_addr constant [15 x i8] c"emit_event_fns\00" @.str18581 = private unnamed_addr constant [5 x i8] c"%Ev_\00" @.str18582 = private unnamed_addr constant [11 x i8] c" = type { \00" @.str18583 = private unnamed_addr constant [3 x i8] c", \00" @.str18584 = private unnamed_addr constant [55 x i8] c"build/cfree/selfhost.ludic:29107: index out of range: \00" @.str18585 = private unnamed_addr constant [3 x i8] c", \00" @.str18586 = private unnamed_addr constant [4 x i8] c"i32\00" @.str18587 = private unnamed_addr constant [4 x i8] c" }\0A\00" @.str18588 = private unnamed_addr constant [6 x i8] c"@evL_\00" @.str18589 = private unnamed_addr constant [12 x i8] c" = global [\00" @.str18590 = private unnamed_addr constant [25 x i8] c" x ptr] zeroinitializer\0A\00" @.str18591 = private unnamed_addr constant [6 x i8] c"@evN_\00" @.str18592 = private unnamed_addr constant [17 x i8] c" = global i32 0\0A\00" @.str18593 = private unnamed_addr constant [6 x i8] c"@evO_\00" @.str18594 = private unnamed_addr constant [12 x i8] c" = global [\00" @.str18595 = private unnamed_addr constant [25 x i8] c" x i32] zeroinitializer\0A\00" @.str18596 = private unnamed_addr constant [22 x i8] c"define i32 @ludic_on_\00" @.str18597 = private unnamed_addr constant [20 x i8] c"(ptr %cb) {\0Aentry:\0A\00" @.str18598 = private unnamed_addr constant [27 x i8] c" %n = load i32, ptr @evN_\00" @.str18599 = private unnamed_addr constant [2 x i8] c"\0A\00" @.str18600 = private unnamed_addr constant [28 x i8] c" %full = icmp slt i32 %n, \00" @.str18601 = private unnamed_addr constant [2 x i8] c"\0A\00" @.str18602 = private unnamed_addr constant [40 x i8] c" br i1 %full, label %add, label %drop\0A\00" @.str18603 = private unnamed_addr constant [40 x i8] c"add:\0A %slot = getelementptr inbounds [\00" @.str18604 = private unnamed_addr constant [19 x i8] c" x ptr], ptr @evL_\00" @.str18605 = private unnamed_addr constant [17 x i8] c", i32 0, i32 %n\0A\00" @.str18606 = private unnamed_addr constant [28 x i8] c" store ptr %cb, ptr %slot\0A\00" @.str18607 = private unnamed_addr constant [36 x i8] c" %oslot = getelementptr inbounds [\00" @.str18608 = private unnamed_addr constant [19 x i8] c" x i32], ptr @evO_\00" @.str18609 = private unnamed_addr constant [17 x i8] c", i32 0, i32 %n\0A\00" @.str18610 = private unnamed_addr constant [28 x i8] c" store i32 -1, ptr %oslot\0A\00" @.str18611 = private unnamed_addr constant [49 x i8] c" %n1 = add i32 %n, 1\0A store i32 %n1, ptr @evN_\00" @.str18612 = private unnamed_addr constant [15 x i8] c"\0A ret i32 %n\0A\00" @.str18613 = private unnamed_addr constant [23 x i8] c"drop:\0A ret i32 -1\0A}\0A\0A\00" @.str18614 = private unnamed_addr constant [29 x i8] c"define i32 @ludic_on_entity_\00" @.str18615 = private unnamed_addr constant [32 x i8] c"(i32 %owner, ptr %cb) {\0Aentry:\0A\00" @.str18616 = private unnamed_addr constant [27 x i8] c" %n = load i32, ptr @evN_\00" @.str18617 = private unnamed_addr constant [2 x i8] c"\0A\00" @.str18618 = private unnamed_addr constant [28 x i8] c" %full = icmp slt i32 %n, \00" @.str18619 = private unnamed_addr constant [2 x i8] c"\0A\00" @.str18620 = private unnamed_addr constant [40 x i8] c" br i1 %full, label %add, label %drop\0A\00" @.str18621 = private unnamed_addr constant [40 x i8] c"add:\0A %slot = getelementptr inbounds [\00" @.str18622 = private unnamed_addr constant [19 x i8] c" x ptr], ptr @evL_\00" @.str18623 = private unnamed_addr constant [17 x i8] c", i32 0, i32 %n\0A\00" @.str18624 = private unnamed_addr constant [28 x i8] c" store ptr %cb, ptr %slot\0A\00" @.str18625 = private unnamed_addr constant [36 x i8] c" %oslot = getelementptr inbounds [\00" @.str18626 = private unnamed_addr constant [19 x i8] c" x i32], ptr @evO_\00" @.str18627 = private unnamed_addr constant [17 x i8] c", i32 0, i32 %n\0A\00" @.str18628 = private unnamed_addr constant [32 x i8] c" store i32 %owner, ptr %oslot\0A\00" @.str18629 = private unnamed_addr constant [49 x i8] c" %n1 = add i32 %n, 1\0A store i32 %n1, ptr @evN_\00" @.str18630 = private unnamed_addr constant [15 x i8] c"\0A ret i32 %n\0A\00" @.str18631 = private unnamed_addr constant [23 x i8] c"drop:\0A ret i32 -1\0A}\0A\0A\00" @.str18632 = private unnamed_addr constant [24 x i8] c"define void @ludic_off_\00" @.str18633 = private unnamed_addr constant [21 x i8] c"(i32 %tok) {\0Aentry:\0A\00" @.str18634 = private unnamed_addr constant [27 x i8] c" %n = load i32, ptr @evN_\00" @.str18635 = private unnamed_addr constant [2 x i8] c"\0A\00" @.str18636 = 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" @.str18637 = private unnamed_addr constant [37 x i8] c" br i1 %ok, label %do, label %skip\0A\00" @.str18638 = private unnamed_addr constant [5 x i8] c"do:\0A\00" @.str18639 = private unnamed_addr constant [35 x i8] c" %slot = getelementptr inbounds [\00" @.str18640 = private unnamed_addr constant [19 x i8] c" x ptr], ptr @evL_\00" @.str18641 = private unnamed_addr constant [19 x i8] c", i32 0, i32 %tok\0A\00" @.str18642 = private unnamed_addr constant [46 x i8] c" store ptr null, ptr %slot\0A br label %skip\0A\00" @.str18643 = private unnamed_addr constant [21 x i8] c"skip:\0A ret void\0A}\0A\0A\00" @.str18644 = private unnamed_addr constant [5 x i8] c"void\00" @.str18645 = private unnamed_addr constant [34 x i8] c" %evd = load i32, ptr @ev_depth\0A\00" @.str18646 = private unnamed_addr constant [32 x i8] c" %evover = icmp sge i32 %evd, \00" @.str18647 = private unnamed_addr constant [2 x i8] c"\0A\00" @.str18648 = private unnamed_addr constant [44 x i8] c" br i1 %evover, label %evcap, label %evgo\0A\00" @.str18649 = private unnamed_addr constant [8 x i8] c"evcap:\0A\00" @.str18650 = private unnamed_addr constant [13 x i8] c" ret i32 0\0A\00" @.str18651 = private unnamed_addr constant [12 x i8] c" ret void\0A\00" @.str18652 = private unnamed_addr constant [7 x i8] c"evgo:\0A\00" @.str18653 = private unnamed_addr constant [60 x i8] c" %evd1 = add i32 %evd, 1\0A store i32 %evd1, ptr @ev_depth\0A\00" @.str18654 = private unnamed_addr constant [5 x i8] c"%Ev_\00" @.str18655 = private unnamed_addr constant [55 x i8] c"build/cfree/selfhost.ludic:29174: index out of range: \00" @.str18656 = private unnamed_addr constant [3 x i8] c" \00" @.str18657 = private unnamed_addr constant [31 x i8] c" = getelementptr inbounds %Ev_\00" @.str18658 = private unnamed_addr constant [7 x i8] c", ptr \00" @.str18659 = private unnamed_addr constant [14 x i8] c", i32 0, i32 \00" @.str18660 = private unnamed_addr constant [2 x i8] c"\0A\00" @.str18661 = private unnamed_addr constant [9 x i8] c" store \00" @.str18662 = private unnamed_addr constant [4 x i8] c" %p\00" @.str18663 = private unnamed_addr constant [7 x i8] c", ptr \00" @.str18664 = private unnamed_addr constant [2 x i8] c"\0A\00" @.str18665 = private unnamed_addr constant [9 x i8] c" store \00" @.str18666 = private unnamed_addr constant [4 x i8] c" %p\00" @.str18667 = private unnamed_addr constant [7 x i8] c", ptr \00" @.str18668 = private unnamed_addr constant [2 x i8] c"\0A\00" @.str18669 = private unnamed_addr constant [3 x i8] c" \00" @.str18670 = private unnamed_addr constant [31 x i8] c" = getelementptr inbounds %Ev_\00" @.str18671 = private unnamed_addr constant [7 x i8] c", ptr \00" @.str18672 = private unnamed_addr constant [14 x i8] c", i32 0, i32 \00" @.str18673 = private unnamed_addr constant [2 x i8] c"\0A\00" @.str18674 = private unnamed_addr constant [20 x i8] c" store i32 0, ptr \00" @.str18675 = private unnamed_addr constant [2 x i8] c"\0A\00" @.str18676 = private unnamed_addr constant [55 x i8] c"build/cfree/selfhost.ludic:29193: index out of range: \00" @.str18677 = private unnamed_addr constant [7 x i8] c"evnext\00" @.str18678 = private unnamed_addr constant [55 x i8] c"build/cfree/selfhost.ludic:29199: index out of range: \00" @.str18679 = private unnamed_addr constant [5 x i8] c"@On(\00" @.str18680 = private unnamed_addr constant [2 x i8] c")\00" @.str18681 = private unnamed_addr constant [55 x i8] c"build/cfree/selfhost.ludic:29202: index out of range: \00" @.str18682 = private unnamed_addr constant [4 x i8] c"ret\00" @.str18683 = private unnamed_addr constant [13 x i8] c" br label %\00" @.str18684 = private unnamed_addr constant [2 x i8] c"\0A\00" @.str18685 = private unnamed_addr constant [3 x i8] c":\0A\00" @.str18686 = private unnamed_addr constant [4 x i8] c"i32\00" @.str18687 = private unnamed_addr constant [20 x i8] c" store i32 0, ptr \00" @.str18688 = private unnamed_addr constant [2 x i8] c"\0A\00" @.str18689 = private unnamed_addr constant [4 x i8] c"evl\00" @.str18690 = private unnamed_addr constant [4 x i8] c"evb\00" @.str18691 = private unnamed_addr constant [4 x i8] c"evd\00" @.str18692 = private unnamed_addr constant [13 x i8] c" br label %\00" @.str18693 = private unnamed_addr constant [2 x i8] c"\0A\00" @.str18694 = private unnamed_addr constant [3 x i8] c":\0A\00" @.str18695 = private unnamed_addr constant [15 x i8] c"load i32, ptr \00" @.str18696 = private unnamed_addr constant [20 x i8] c"load i32, ptr @evN_\00" @.str18697 = private unnamed_addr constant [14 x i8] c"icmp slt i32 \00" @.str18698 = private unnamed_addr constant [3 x i8] c", \00" @.str18699 = private unnamed_addr constant [9 x i8] c" br i1 \00" @.str18700 = private unnamed_addr constant [10 x i8] c", label %\00" @.str18701 = private unnamed_addr constant [10 x i8] c", label %\00" @.str18702 = private unnamed_addr constant [2 x i8] c"\0A\00" @.str18703 = private unnamed_addr constant [3 x i8] c":\0A\00" @.str18704 = private unnamed_addr constant [3 x i8] c" \00" @.str18705 = private unnamed_addr constant [28 x i8] c" = getelementptr inbounds [\00" @.str18706 = private unnamed_addr constant [19 x i8] c" x ptr], ptr @evL_\00" @.str18707 = private unnamed_addr constant [14 x i8] c", i32 0, i32 \00" @.str18708 = private unnamed_addr constant [2 x i8] c"\0A\00" @.str18709 = private unnamed_addr constant [15 x i8] c"load ptr, ptr \00" @.str18710 = private unnamed_addr constant [13 x i8] c"icmp eq ptr \00" @.str18711 = private unnamed_addr constant [7 x i8] c", null\00" @.str18712 = private unnamed_addr constant [5 x i8] c"evdo\00" @.str18713 = private unnamed_addr constant [5 x i8] c"evsk\00" @.str18714 = private unnamed_addr constant [9 x i8] c" br i1 \00" @.str18715 = private unnamed_addr constant [10 x i8] c", label %\00" @.str18716 = private unnamed_addr constant [10 x i8] c", label %\00" @.str18717 = private unnamed_addr constant [2 x i8] c"\0A\00" @.str18718 = private unnamed_addr constant [3 x i8] c":\0A\00" @.str18719 = private unnamed_addr constant [13 x i8] c" call void \00" @.str18720 = private unnamed_addr constant [6 x i8] c"(ptr \00" @.str18721 = private unnamed_addr constant [3 x i8] c")\0A\00" @.str18722 = private unnamed_addr constant [13 x i8] c" br label %\00" @.str18723 = private unnamed_addr constant [2 x i8] c"\0A\00" @.str18724 = private unnamed_addr constant [3 x i8] c":\0A\00" @.str18725 = private unnamed_addr constant [9 x i8] c"add i32 \00" @.str18726 = private unnamed_addr constant [4 x i8] c", 1\00" @.str18727 = private unnamed_addr constant [13 x i8] c" store i32 \00" @.str18728 = private unnamed_addr constant [7 x i8] c", ptr \00" @.str18729 = private unnamed_addr constant [2 x i8] c"\0A\00" @.str18730 = private unnamed_addr constant [13 x i8] c" br label %\00" @.str18731 = private unnamed_addr constant [2 x i8] c"\0A\00" @.str18732 = private unnamed_addr constant [3 x i8] c":\0A\00" @.str18733 = private unnamed_addr constant [17 x i8] c" br label %ret\0A\00" @.str18734 = private unnamed_addr constant [6 x i8] c"ret:\0A\00" @.str18735 = 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" @.str18736 = private unnamed_addr constant [15 x i8] c"load i32, ptr \00" @.str18737 = private unnamed_addr constant [11 x i8] c" ret i32 \00" @.str18738 = private unnamed_addr constant [2 x i8] c"\0A\00" @.str18739 = private unnamed_addr constant [12 x i8] c" ret void\0A\00" @.str18740 = private unnamed_addr constant [5 x i8] c"void\00" @.str18741 = private unnamed_addr constant [4 x i8] c"i32\00" @.str18742 = private unnamed_addr constant [8 x i8] c"define \00" @.str18743 = private unnamed_addr constant [6 x i8] c" @ev_\00" @.str18744 = private unnamed_addr constant [2 x i8] c"(\00" @.str18745 = private unnamed_addr constant [3 x i8] c", \00" @.str18746 = private unnamed_addr constant [55 x i8] c"build/cfree/selfhost.ludic:29249: index out of range: \00" @.str18747 = private unnamed_addr constant [4 x i8] c" %p\00" @.str18748 = private unnamed_addr constant [12 x i8] c") {\0Aentry:\0A\00" @.str18749 = private unnamed_addr constant [4 x i8] c"}\0A\0A\00" @.str18750 = 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" @.str18751 = private unnamed_addr constant [55 x i8] c"build/cfree/selfhost.ludic:29266: index out of range: \00" @.str18752 = private unnamed_addr constant [3 x i8] c"sw\00" @.str18753 = private unnamed_addr constant [3 x i8] c":\0A\00" @.str18754 = private unnamed_addr constant [7 x i8] c" %swi\00" @.str18755 = private unnamed_addr constant [22 x i8] c" = load i32, ptr %ci\0A\00" @.str18756 = private unnamed_addr constant [7 x i8] c" %swn\00" @.str18757 = private unnamed_addr constant [23 x i8] c" = load i32, ptr @evN_\00" @.str18758 = private unnamed_addr constant [2 x i8] c"\0A\00" @.str18759 = private unnamed_addr constant [7 x i8] c" %swg\00" @.str18760 = private unnamed_addr constant [21 x i8] c" = icmp slt i32 %swi\00" @.str18761 = private unnamed_addr constant [7 x i8] c", %swn\00" @.str18762 = private unnamed_addr constant [2 x i8] c"\0A\00" @.str18763 = private unnamed_addr constant [13 x i8] c" br i1 %swg\00" @.str18764 = private unnamed_addr constant [13 x i8] c", label %swb\00" @.str18765 = private unnamed_addr constant [13 x i8] c", label %swd\00" @.str18766 = private unnamed_addr constant [2 x i8] c"\0A\00" @.str18767 = private unnamed_addr constant [4 x i8] c"swb\00" @.str18768 = private unnamed_addr constant [3 x i8] c":\0A\00" @.str18769 = private unnamed_addr constant [8 x i8] c" %swop\00" @.str18770 = private unnamed_addr constant [28 x i8] c" = getelementptr inbounds [\00" @.str18771 = private unnamed_addr constant [19 x i8] c" x i32], ptr @evO_\00" @.str18772 = private unnamed_addr constant [18 x i8] c", i32 0, i32 %swi\00" @.str18773 = private unnamed_addr constant [2 x i8] c"\0A\00" @.str18774 = private unnamed_addr constant [8 x i8] c" %swov\00" @.str18775 = private unnamed_addr constant [23 x i8] c" = load i32, ptr %swop\00" @.str18776 = private unnamed_addr constant [2 x i8] c"\0A\00" @.str18777 = private unnamed_addr constant [7 x i8] c" %swm\00" @.str18778 = private unnamed_addr constant [21 x i8] c" = icmp eq i32 %swov\00" @.str18779 = private unnamed_addr constant [10 x i8] c", %owner\0A\00" @.str18780 = private unnamed_addr constant [13 x i8] c" br i1 %swm\00" @.str18781 = private unnamed_addr constant [13 x i8] c", label %swh\00" @.str18782 = private unnamed_addr constant [13 x i8] c", label %swx\00" @.str18783 = private unnamed_addr constant [2 x i8] c"\0A\00" @.str18784 = private unnamed_addr constant [4 x i8] c"swh\00" @.str18785 = private unnamed_addr constant [3 x i8] c":\0A\00" @.str18786 = private unnamed_addr constant [8 x i8] c" %swlp\00" @.str18787 = private unnamed_addr constant [28 x i8] c" = getelementptr inbounds [\00" @.str18788 = private unnamed_addr constant [19 x i8] c" x ptr], ptr @evL_\00" @.str18789 = private unnamed_addr constant [18 x i8] c", i32 0, i32 %swi\00" @.str18790 = private unnamed_addr constant [2 x i8] c"\0A\00" @.str18791 = private unnamed_addr constant [28 x i8] c" store ptr null, ptr %swlp\00" @.str18792 = private unnamed_addr constant [17 x i8] c"\0A br label %swx\00" @.str18793 = private unnamed_addr constant [2 x i8] c"\0A\00" @.str18794 = private unnamed_addr constant [4 x i8] c"swx\00" @.str18795 = private unnamed_addr constant [3 x i8] c":\0A\00" @.str18796 = private unnamed_addr constant [9 x i8] c" %swinc\00" @.str18797 = private unnamed_addr constant [16 x i8] c" = add i32 %swi\00" @.str18798 = private unnamed_addr constant [23 x i8] c", 1\0A store i32 %swinc\00" @.str18799 = private unnamed_addr constant [25 x i8] c", ptr %ci\0A br label %sw\00" @.str18800 = private unnamed_addr constant [2 x i8] c"\0A\00" @.str18801 = private unnamed_addr constant [4 x i8] c"swd\00" @.str18802 = private unnamed_addr constant [26 x i8] c":\0A store i32 0, ptr %ci\0A\00" @.str18803 = private unnamed_addr constant [15 x i8] c" br label %sw\00" @.str18804 = private unnamed_addr constant [2 x i8] c"\0A\00" @.str18805 = private unnamed_addr constant [12 x i8] c" ret void\0A\00" @.str18806 = private unnamed_addr constant [4 x i8] c"}\0A\0A\00" @.str18807 = private unnamed_addr constant [55 x i8] c"build/cfree/selfhost.ludic:29315: index out of range: \00" @.str18808 = private unnamed_addr constant [17 x i8] c"emit_world_table\00" @.str18809 = private unnamed_addr constant [27 x i8] c"@dyn_count = global i32 0\0A\00" @.str18810 = private unnamed_addr constant [43 x i8] c"@dynS = global [32 x ptr] zeroinitializer\0A\00" @.str18811 = private unnamed_addr constant [43 x i8] c"@dynH = global [32 x ptr] zeroinitializer\0A\00" @.str18812 = private unnamed_addr constant [43 x i8] c"@dynF = global [32 x i32] zeroinitializer\0A\00" @.str18813 = private unnamed_addr constant [46 x i8] c"@dynName = global [32 x ptr] zeroinitializer\0A\00" @.str18814 = private unnamed_addr constant [47 x i8] c"define i32 @ludic_prop_id(ptr %name) {\0Aentry:\0A\00" @.str18815 = private unnamed_addr constant [55 x i8] c"build/cfree/selfhost.ludic:29328: index out of range: \00" @.str18816 = private unnamed_addr constant [55 x i8] c"build/cfree/selfhost.ludic:29329: index out of range: \00" @.str18817 = private unnamed_addr constant [5 x i8] c" %c\00" @.str18818 = private unnamed_addr constant [36 x i8] c" = call i32 @strcmp(ptr %name, ptr \00" @.str18819 = private unnamed_addr constant [3 x i8] c")\0A\00" @.str18820 = private unnamed_addr constant [5 x i8] c" %e\00" @.str18821 = private unnamed_addr constant [18 x i8] c" = icmp eq i32 %c\00" @.str18822 = private unnamed_addr constant [5 x i8] c", 0\0A\00" @.str18823 = private unnamed_addr constant [11 x i8] c" br i1 %e\00" @.str18824 = private unnamed_addr constant [11 x i8] c", label %h\00" @.str18825 = private unnamed_addr constant [11 x i8] c", label %n\00" @.str18826 = private unnamed_addr constant [2 x i8] c"\0A\00" @.str18827 = private unnamed_addr constant [2 x i8] c"h\00" @.str18828 = private unnamed_addr constant [13 x i8] c":\0A ret i32 \00" @.str18829 = private unnamed_addr constant [2 x i8] c"\0A\00" @.str18830 = private unnamed_addr constant [2 x i8] c"n\00" @.str18831 = private unnamed_addr constant [3 x i8] c":\0A\00" @.str18832 = private unnamed_addr constant [61 x i8] c" %dpi = alloca i32\0A store i32 0, ptr %dpi\0A br label %dpl\0A\00" @.str18833 = 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" @.str18834 = 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" @.str18835 = private unnamed_addr constant [31 x i8] c"dphit:\0A %drid = add i32 %di, \00" @.str18836 = private unnamed_addr constant [18 x i8] c"\0A ret i32 %drid\0A\00" @.str18837 = 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" @.str18838 = private unnamed_addr constant [25 x i8] c"dpnone:\0A ret i32 -1\0A}\0A\0A\00" @.str18839 = private unnamed_addr constant [56 x i8] c"define i32 @ludic_field_id(i32 %p, ptr %name) {\0Aentry:\0A\00" @.str18840 = private unnamed_addr constant [55 x i8] c"build/cfree/selfhost.ludic:29351: index out of range: \00" @.str18841 = private unnamed_addr constant [55 x i8] c"build/cfree/selfhost.ludic:29352: index out of range: \00" @.str18842 = private unnamed_addr constant [6 x i8] c" %pm\00" @.str18843 = private unnamed_addr constant [20 x i8] c" = icmp eq i32 %p, \00" @.str18844 = private unnamed_addr constant [2 x i8] c"\0A\00" @.str18845 = private unnamed_addr constant [12 x i8] c" br i1 %pm\00" @.str18846 = private unnamed_addr constant [12 x i8] c", label %pk\00" @.str18847 = private unnamed_addr constant [12 x i8] c", label %pn\00" @.str18848 = private unnamed_addr constant [2 x i8] c"\0A\00" @.str18849 = private unnamed_addr constant [3 x i8] c"pk\00" @.str18850 = private unnamed_addr constant [3 x i8] c":\0A\00" @.str18851 = private unnamed_addr constant [55 x i8] c"build/cfree/selfhost.ludic:29358: index out of range: \00" @.str18852 = private unnamed_addr constant [2 x i8] c"_\00" @.str18853 = private unnamed_addr constant [6 x i8] c" %fc\00" @.str18854 = private unnamed_addr constant [36 x i8] c" = call i32 @strcmp(ptr %name, ptr \00" @.str18855 = private unnamed_addr constant [3 x i8] c")\0A\00" @.str18856 = private unnamed_addr constant [6 x i8] c" %fe\00" @.str18857 = private unnamed_addr constant [19 x i8] c" = icmp eq i32 %fc\00" @.str18858 = private unnamed_addr constant [5 x i8] c", 0\0A\00" @.str18859 = private unnamed_addr constant [12 x i8] c" br i1 %fe\00" @.str18860 = private unnamed_addr constant [12 x i8] c", label %fh\00" @.str18861 = private unnamed_addr constant [12 x i8] c", label %fn\00" @.str18862 = private unnamed_addr constant [2 x i8] c"\0A\00" @.str18863 = private unnamed_addr constant [3 x i8] c"fh\00" @.str18864 = private unnamed_addr constant [13 x i8] c":\0A ret i32 \00" @.str18865 = private unnamed_addr constant [2 x i8] c"\0A\00" @.str18866 = private unnamed_addr constant [3 x i8] c"fn\00" @.str18867 = private unnamed_addr constant [3 x i8] c":\0A\00" @.str18868 = private unnamed_addr constant [14 x i8] c" ret i32 -1\0A\00" @.str18869 = private unnamed_addr constant [3 x i8] c"pn\00" @.str18870 = private unnamed_addr constant [3 x i8] c":\0A\00" @.str18871 = private unnamed_addr constant [17 x i8] c" ret i32 -1\0A}\0A\0A\00" @.str18872 = private unnamed_addr constant [56 x i8] c"define i64 @ludic_get(i32 %e, i32 %p, i32 %f) {\0Aentry:\0A\00" @.str18873 = private unnamed_addr constant [55 x i8] c"build/cfree/selfhost.ludic:29383: index out of range: \00" @.str18874 = private unnamed_addr constant [55 x i8] c"build/cfree/selfhost.ludic:29384: index out of range: \00" @.str18875 = private unnamed_addr constant [5 x i8] c" %m\00" @.str18876 = private unnamed_addr constant [20 x i8] c" = icmp eq i32 %p, \00" @.str18877 = private unnamed_addr constant [2 x i8] c"\0A\00" @.str18878 = private unnamed_addr constant [11 x i8] c" br i1 %m\00" @.str18879 = private unnamed_addr constant [11 x i8] c", label %g\00" @.str18880 = private unnamed_addr constant [12 x i8] c", label %gn\00" @.str18881 = private unnamed_addr constant [2 x i8] c"\0A\00" @.str18882 = private unnamed_addr constant [2 x i8] c"g\00" @.str18883 = private unnamed_addr constant [3 x i8] c":\0A\00" @.str18884 = private unnamed_addr constant [3 x i8] c"S_\00" @.str18885 = private unnamed_addr constant [5 x i8] c" %s\00" @.str18886 = private unnamed_addr constant [32 x i8] c" = getelementptr inbounds %Cmp_\00" @.str18887 = private unnamed_addr constant [7 x i8] c", ptr \00" @.str18888 = private unnamed_addr constant [10 x i8] c", i32 %e\0A\00" @.str18889 = private unnamed_addr constant [55 x i8] c"build/cfree/selfhost.ludic:29392: index out of range: \00" @.str18890 = private unnamed_addr constant [2 x i8] c"_\00" @.str18891 = private unnamed_addr constant [6 x i8] c" %gm\00" @.str18892 = private unnamed_addr constant [20 x i8] c" = icmp eq i32 %f, \00" @.str18893 = private unnamed_addr constant [2 x i8] c"\0A\00" @.str18894 = private unnamed_addr constant [12 x i8] c" br i1 %gm\00" @.str18895 = private unnamed_addr constant [12 x i8] c", label %gf\00" @.str18896 = private unnamed_addr constant [12 x i8] c", label %gk\00" @.str18897 = private unnamed_addr constant [2 x i8] c"\0A\00" @.str18898 = private unnamed_addr constant [3 x i8] c"gf\00" @.str18899 = private unnamed_addr constant [3 x i8] c":\0A\00" @.str18900 = private unnamed_addr constant [6 x i8] c" %ga\00" @.str18901 = private unnamed_addr constant [32 x i8] c" = getelementptr inbounds %Cmp_\00" @.str18902 = private unnamed_addr constant [9 x i8] c", ptr %s\00" @.str18903 = private unnamed_addr constant [14 x i8] c", i32 0, i32 \00" @.str18904 = private unnamed_addr constant [2 x i8] c"\0A\00" @.str18905 = private unnamed_addr constant [4 x i8] c"ptr\00" @.str18906 = private unnamed_addr constant [6 x i8] c" %gl\00" @.str18907 = private unnamed_addr constant [21 x i8] c" = load ptr, ptr %ga\00" @.str18908 = private unnamed_addr constant [2 x i8] c"\0A\00" @.str18909 = private unnamed_addr constant [6 x i8] c" %gr\00" @.str18910 = private unnamed_addr constant [20 x i8] c" = ptrtoint ptr %gl\00" @.str18911 = private unnamed_addr constant [22 x i8] c" to i64\0A ret i64 %gr\00" @.str18912 = private unnamed_addr constant [2 x i8] c"\0A\00" @.str18913 = private unnamed_addr constant [3 x i8] c"i8\00" @.str18914 = private unnamed_addr constant [6 x i8] c" %gl\00" @.str18915 = private unnamed_addr constant [20 x i8] c" = load i8, ptr %ga\00" @.str18916 = private unnamed_addr constant [2 x i8] c"\0A\00" @.str18917 = private unnamed_addr constant [6 x i8] c" %gr\00" @.str18918 = private unnamed_addr constant [15 x i8] c" = zext i8 %gl\00" @.str18919 = private unnamed_addr constant [22 x i8] c" to i64\0A ret i64 %gr\00" @.str18920 = private unnamed_addr constant [2 x i8] c"\0A\00" @.str18921 = private unnamed_addr constant [6 x i8] c" %gl\00" @.str18922 = private unnamed_addr constant [21 x i8] c" = load i32, ptr %ga\00" @.str18923 = private unnamed_addr constant [2 x i8] c"\0A\00" @.str18924 = private unnamed_addr constant [6 x i8] c" %gr\00" @.str18925 = private unnamed_addr constant [16 x i8] c" = sext i32 %gl\00" @.str18926 = private unnamed_addr constant [22 x i8] c" to i64\0A ret i64 %gr\00" @.str18927 = private unnamed_addr constant [2 x i8] c"\0A\00" @.str18928 = private unnamed_addr constant [3 x i8] c"gk\00" @.str18929 = private unnamed_addr constant [3 x i8] c":\0A\00" @.str18930 = private unnamed_addr constant [13 x i8] c" ret i64 0\0A\00" @.str18931 = private unnamed_addr constant [3 x i8] c"gn\00" @.str18932 = private unnamed_addr constant [3 x i8] c":\0A\00" @.str18933 = private unnamed_addr constant [23 x i8] c" %gdyn = sub i32 %p, \00" @.str18934 = private unnamed_addr constant [2 x i8] c"\0A\00" @.str18935 = 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" @.str18936 = 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" @.str18937 = 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" @.str18938 = 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" @.str18939 = private unnamed_addr constant [24 x i8] c"gdnone:\0A ret i64 0\0A}\0A\0A\00" @.str18940 = private unnamed_addr constant [67 x i8] c"define void @ludic_set(i32 %e, i32 %p, i32 %f, i64 %val) {\0Aentry:\0A\00" @.str18941 = private unnamed_addr constant [55 x i8] c"build/cfree/selfhost.ludic:29427: index out of range: \00" @.str18942 = private unnamed_addr constant [55 x i8] c"build/cfree/selfhost.ludic:29428: index out of range: \00" @.str18943 = private unnamed_addr constant [5 x i8] c" %m\00" @.str18944 = private unnamed_addr constant [20 x i8] c" = icmp eq i32 %p, \00" @.str18945 = private unnamed_addr constant [2 x i8] c"\0A\00" @.str18946 = private unnamed_addr constant [11 x i8] c" br i1 %m\00" @.str18947 = private unnamed_addr constant [11 x i8] c", label %g\00" @.str18948 = private unnamed_addr constant [12 x i8] c", label %gn\00" @.str18949 = private unnamed_addr constant [2 x i8] c"\0A\00" @.str18950 = private unnamed_addr constant [2 x i8] c"g\00" @.str18951 = private unnamed_addr constant [3 x i8] c":\0A\00" @.str18952 = private unnamed_addr constant [3 x i8] c"S_\00" @.str18953 = private unnamed_addr constant [5 x i8] c" %s\00" @.str18954 = private unnamed_addr constant [32 x i8] c" = getelementptr inbounds %Cmp_\00" @.str18955 = private unnamed_addr constant [7 x i8] c", ptr \00" @.str18956 = private unnamed_addr constant [10 x i8] c", i32 %e\0A\00" @.str18957 = private unnamed_addr constant [55 x i8] c"build/cfree/selfhost.ludic:29436: index out of range: \00" @.str18958 = private unnamed_addr constant [2 x i8] c"_\00" @.str18959 = private unnamed_addr constant [6 x i8] c" %sm\00" @.str18960 = private unnamed_addr constant [20 x i8] c" = icmp eq i32 %f, \00" @.str18961 = private unnamed_addr constant [2 x i8] c"\0A\00" @.str18962 = private unnamed_addr constant [12 x i8] c" br i1 %sm\00" @.str18963 = private unnamed_addr constant [12 x i8] c", label %sf\00" @.str18964 = private unnamed_addr constant [12 x i8] c", label %sk\00" @.str18965 = private unnamed_addr constant [2 x i8] c"\0A\00" @.str18966 = private unnamed_addr constant [3 x i8] c"sf\00" @.str18967 = private unnamed_addr constant [3 x i8] c":\0A\00" @.str18968 = private unnamed_addr constant [6 x i8] c" %sa\00" @.str18969 = private unnamed_addr constant [32 x i8] c" = getelementptr inbounds %Cmp_\00" @.str18970 = private unnamed_addr constant [9 x i8] c", ptr %s\00" @.str18971 = private unnamed_addr constant [14 x i8] c", i32 0, i32 \00" @.str18972 = private unnamed_addr constant [2 x i8] c"\0A\00" @.str18973 = private unnamed_addr constant [4 x i8] c"ptr\00" @.str18974 = private unnamed_addr constant [6 x i8] c" %sp\00" @.str18975 = private unnamed_addr constant [29 x i8] c" = inttoptr i64 %val to ptr\0A\00" @.str18976 = private unnamed_addr constant [16 x i8] c" store ptr %sp\00" @.str18977 = private unnamed_addr constant [10 x i8] c", ptr %sa\00" @.str18978 = private unnamed_addr constant [13 x i8] c"\0A ret void\0A\00" @.str18979 = private unnamed_addr constant [3 x i8] c"i8\00" @.str18980 = private unnamed_addr constant [6 x i8] c" %sb\00" @.str18981 = private unnamed_addr constant [25 x i8] c" = trunc i64 %val to i8\0A\00" @.str18982 = private unnamed_addr constant [15 x i8] c" store i8 %sb\00" @.str18983 = private unnamed_addr constant [10 x i8] c", ptr %sa\00" @.str18984 = private unnamed_addr constant [13 x i8] c"\0A ret void\0A\00" @.str18985 = private unnamed_addr constant [6 x i8] c" %sw\00" @.str18986 = private unnamed_addr constant [26 x i8] c" = trunc i64 %val to i32\0A\00" @.str18987 = private unnamed_addr constant [16 x i8] c" store i32 %sw\00" @.str18988 = private unnamed_addr constant [10 x i8] c", ptr %sa\00" @.str18989 = private unnamed_addr constant [13 x i8] c"\0A ret void\0A\00" @.str18990 = private unnamed_addr constant [3 x i8] c"sk\00" @.str18991 = private unnamed_addr constant [3 x i8] c":\0A\00" @.str18992 = private unnamed_addr constant [12 x i8] c" ret void\0A\00" @.str18993 = private unnamed_addr constant [3 x i8] c"gn\00" @.str18994 = private unnamed_addr constant [3 x i8] c":\0A\00" @.str18995 = private unnamed_addr constant [23 x i8] c" %sdyn = sub i32 %p, \00" @.str18996 = private unnamed_addr constant [2 x i8] c"\0A\00" @.str18997 = 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" @.str18998 = 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" @.str18999 = 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" @.str19000 = 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" @.str19001 = private unnamed_addr constant [23 x i8] c"sdnone:\0A ret void\0A}\0A\0A\00" @.str19002 = private unnamed_addr constant [48 x i8] c"define i32 @ludic_has(i32 %e, i32 %p) {\0Aentry:\0A\00" @.str19003 = private unnamed_addr constant [55 x i8] c"build/cfree/selfhost.ludic:29471: index out of range: \00" @.str19004 = private unnamed_addr constant [55 x i8] c"build/cfree/selfhost.ludic:29472: index out of range: \00" @.str19005 = private unnamed_addr constant [5 x i8] c" %m\00" @.str19006 = private unnamed_addr constant [20 x i8] c" = icmp eq i32 %p, \00" @.str19007 = private unnamed_addr constant [2 x i8] c"\0A\00" @.str19008 = private unnamed_addr constant [11 x i8] c" br i1 %m\00" @.str19009 = private unnamed_addr constant [11 x i8] c", label %g\00" @.str19010 = private unnamed_addr constant [12 x i8] c", label %gn\00" @.str19011 = private unnamed_addr constant [2 x i8] c"\0A\00" @.str19012 = private unnamed_addr constant [2 x i8] c"g\00" @.str19013 = private unnamed_addr constant [3 x i8] c":\0A\00" @.str19014 = private unnamed_addr constant [3 x i8] c"H_\00" @.str19015 = private unnamed_addr constant [6 x i8] c" %hp\00" @.str19016 = private unnamed_addr constant [35 x i8] c" = getelementptr inbounds i8, ptr \00" @.str19017 = private unnamed_addr constant [10 x i8] c", i32 %e\0A\00" @.str19018 = private unnamed_addr constant [6 x i8] c" %hv\00" @.str19019 = private unnamed_addr constant [20 x i8] c" = load i8, ptr %hp\00" @.str19020 = private unnamed_addr constant [2 x i8] c"\0A\00" @.str19021 = private unnamed_addr constant [6 x i8] c" %hr\00" @.str19022 = private unnamed_addr constant [15 x i8] c" = zext i8 %hv\00" @.str19023 = private unnamed_addr constant [22 x i8] c" to i32\0A ret i32 %hr\00" @.str19024 = private unnamed_addr constant [2 x i8] c"\0A\00" @.str19025 = private unnamed_addr constant [3 x i8] c"gn\00" @.str19026 = private unnamed_addr constant [3 x i8] c":\0A\00" @.str19027 = private unnamed_addr constant [23 x i8] c" %hdyn = sub i32 %p, \00" @.str19028 = private unnamed_addr constant [2 x i8] c"\0A\00" @.str19029 = 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" @.str19030 = 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" @.str19031 = private unnamed_addr constant [24 x i8] c"hdnone:\0A ret i32 0\0A}\0A\0A\00" @.str19032 = private unnamed_addr constant [67 x i8] c"define i32 @ludic_register_prop(ptr %name, i32 %nfields) {\0Aentry:\0A\00" @.str19033 = 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" @.str19034 = private unnamed_addr constant [122 x i8] c"do:\0A %rcap = load i32, ptr @L_cap\0A %nf4 = mul i32 %nfields, 4\0A %sz = mul i32 %nf4, %rcap\0A %szl = sext i32 %sz to i64\0A\00" @.str19035 = private unnamed_addr constant [14 x i8] c"ecs mod store\00" @.str19036 = private unnamed_addr constant [86 x i8] c" %buf = call ptr @lp_malloc(i64 %szl)\0A call ptr @memset(ptr %buf, i32 0, i64 %szl)\0A\00" @.str19037 = 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" @.str19038 = private unnamed_addr constant [14 x i8] c"ecs mod flags\00" @.str19039 = private unnamed_addr constant [150 x i8] c" %hcap = sext i32 %rcap to i64\0A %hbuf = call ptr @lp_malloc(i64 %hcap)\0A store i32 0, ptr @lp_site\0A call ptr @memset(ptr %hbuf, i32 0, i64 %hcap)\0A\00" @.str19040 = 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" @.str19041 = 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" @.str19042 = 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" @.str19043 = private unnamed_addr constant [22 x i8] c" %id = add i32 %dc, \00" @.str19044 = 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" @.str19045 = private unnamed_addr constant [22 x i8] c"rej:\0A ret i32 -1\0A}\0A\0A\00" @.str19046 = private unnamed_addr constant [56 x i8] c"define void @ludic_attach_dyn(i32 %e, i32 %p) {\0Aentry:\0A\00" @.str19047 = private unnamed_addr constant [22 x i8] c" %dyn = sub i32 %p, \00" @.str19048 = 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" @.str19049 = private unnamed_addr constant [56 x i8] c"define void @ludic_detach_dyn(i32 %e, i32 %p) {\0Aentry:\0A\00" @.str19050 = private unnamed_addr constant [22 x i8] c" %dyn = sub i32 %p, \00" @.str19051 = 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" @.str19052 = 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" @.str19053 = private unnamed_addr constant [41 x i8] c"define i32 @ludic_kind(i32 %e) {\0Aentry:\0A\00" @.str19054 = private unnamed_addr constant [7 x i8] c"L_kind\00" @.str19055 = private unnamed_addr constant [41 x i8] c" %kp = getelementptr inbounds i32, ptr \00" @.str19056 = private unnamed_addr constant [10 x i8] c", i32 %e\0A\00" @.str19057 = private unnamed_addr constant [42 x i8] c" %k = load i32, ptr %kp\0A ret i32 %k\0A}\0A\0A\00" @.str19058 = private unnamed_addr constant [48 x i8] c"define i32 @ludic_model_id(ptr %name) {\0Aentry:\0A\00" @.str19059 = private unnamed_addr constant [55 x i8] c"build/cfree/selfhost.ludic:29525: index out of range: \00" @.str19060 = private unnamed_addr constant [55 x i8] c"build/cfree/selfhost.ludic:29526: index out of range: \00" @.str19061 = private unnamed_addr constant [7 x i8] c" %mdc\00" @.str19062 = private unnamed_addr constant [36 x i8] c" = call i32 @strcmp(ptr %name, ptr \00" @.str19063 = private unnamed_addr constant [3 x i8] c")\0A\00" @.str19064 = private unnamed_addr constant [7 x i8] c" %mde\00" @.str19065 = private unnamed_addr constant [20 x i8] c" = icmp eq i32 %mdc\00" @.str19066 = private unnamed_addr constant [5 x i8] c", 0\0A\00" @.str19067 = private unnamed_addr constant [13 x i8] c" br i1 %mde\00" @.str19068 = private unnamed_addr constant [13 x i8] c", label %mdh\00" @.str19069 = private unnamed_addr constant [13 x i8] c", label %mdn\00" @.str19070 = private unnamed_addr constant [2 x i8] c"\0A\00" @.str19071 = private unnamed_addr constant [4 x i8] c"mdh\00" @.str19072 = private unnamed_addr constant [13 x i8] c":\0A ret i32 \00" @.str19073 = private unnamed_addr constant [55 x i8] c"build/cfree/selfhost.ludic:29530: index out of range: \00" @.str19074 = private unnamed_addr constant [2 x i8] c"\0A\00" @.str19075 = private unnamed_addr constant [4 x i8] c"mdn\00" @.str19076 = private unnamed_addr constant [3 x i8] c":\0A\00" @.str19077 = private unnamed_addr constant [17 x i8] c" ret i32 -1\0A}\0A\0A\00" @.str19078 = private unnamed_addr constant [55 x i8] c"build/cfree/selfhost.ludic:29544: index out of range: \00" @.str19079 = private unnamed_addr constant [55 x i8] c"build/cfree/selfhost.ludic:29545: index out of range: \00" @.str19080 = private unnamed_addr constant [4 x i8] c"int\00" @.str19081 = private unnamed_addr constant [11 x i8] c" ret i32 \00" @.str19082 = private unnamed_addr constant [2 x i8] c"\0A\00" @.str19083 = private unnamed_addr constant [25 x i8] c"define i32 @ludic_spawn_\00" @.str19084 = private unnamed_addr constant [13 x i8] c"() {\0Aentry:\0A\00" @.str19085 = private unnamed_addr constant [4 x i8] c"}\0A\0A\00" @.str19086 = private unnamed_addr constant [42 x i8] c"define i32 @ludic_spawn(i32 %m) {\0Aentry:\0A\00" @.str19087 = private unnamed_addr constant [55 x i8] c"build/cfree/selfhost.ludic:29566: index out of range: \00" @.str19088 = private unnamed_addr constant [55 x i8] c"build/cfree/selfhost.ludic:29567: index out of range: \00" @.str19089 = private unnamed_addr constant [6 x i8] c" %sm\00" @.str19090 = private unnamed_addr constant [20 x i8] c" = icmp eq i32 %m, \00" @.str19091 = private unnamed_addr constant [2 x i8] c"\0A\00" @.str19092 = private unnamed_addr constant [12 x i8] c" br i1 %sm\00" @.str19093 = private unnamed_addr constant [12 x i8] c", label %sh\00" @.str19094 = private unnamed_addr constant [12 x i8] c", label %sn\00" @.str19095 = private unnamed_addr constant [2 x i8] c"\0A\00" @.str19096 = private unnamed_addr constant [3 x i8] c"sh\00" @.str19097 = private unnamed_addr constant [8 x i8] c":\0A %sr\00" @.str19098 = private unnamed_addr constant [26 x i8] c" = call i32 @ludic_spawn_\00" @.str19099 = private unnamed_addr constant [17 x i8] c"()\0A ret i32 %sr\00" @.str19100 = private unnamed_addr constant [2 x i8] c"\0A\00" @.str19101 = private unnamed_addr constant [3 x i8] c"sn\00" @.str19102 = private unnamed_addr constant [3 x i8] c":\0A\00" @.str19103 = private unnamed_addr constant [17 x i8] c" ret i32 -1\0A}\0A\0A\00" @.str19104 = private unnamed_addr constant [58 x i8] c"define i32 @ludic_query_next(i32 %p, i32 %from) {\0Aentry:\0A\00" @.str19105 = private unnamed_addr constant [47 x i8] c" %n = load i32, ptr @L_entc\0A br label %loop\0A\00" @.str19106 = private unnamed_addr constant [56 x i8] c"loop:\0A %e = phi i32 [ %from, %entry ], [ %e1, %cont ]\0A\00" @.str19107 = private unnamed_addr constant [67 x i8] c" %go = icmp slt i32 %e, %n\0A br i1 %go, label %body, label %none\0A\00" @.str19108 = private unnamed_addr constant [7 x i8] c"body:\0A\00" @.str19109 = private unnamed_addr constant [8 x i8] c"L_alive\00" @.str19110 = private unnamed_addr constant [41 x i8] c" %ap = getelementptr inbounds i32, ptr \00" @.str19111 = private unnamed_addr constant [10 x i8] c", i32 %e\0A\00" @.str19112 = 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" @.str19113 = 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" @.str19114 = private unnamed_addr constant [20 x i8] c"hitb:\0A ret i32 %e\0A\00" @.str19115 = private unnamed_addr constant [46 x i8] c"cont:\0A %e1 = add i32 %e, 1\0A br label %loop\0A\00" @.str19116 = private unnamed_addr constant [23 x i8] c"none:\0A ret i32 -1\0A}\0A\0A\00" @.str19117 = private unnamed_addr constant [1 x i8] c"\00" @.str19118 = private unnamed_addr constant [4 x i8] c"int\00" @.str19119 = private unnamed_addr constant [55 x i8] c"build/cfree/selfhost.ludic:29609: index out of range: \00" @.str19120 = private unnamed_addr constant [24 x i8] c"emit_world_reflect_enum\00" @.str19121 = private unnamed_addr constant [41 x i8] c"define i32 @ludic_prop_count() {\0Aentry:\0A\00" @.str19122 = private unnamed_addr constant [52 x i8] c" %d = load i32, ptr @dyn_count\0A %n = add i32 %d, \00" @.str19123 = private unnamed_addr constant [18 x i8] c"\0A ret i32 %n\0A}\0A\0A\00" @.str19124 = private unnamed_addr constant [46 x i8] c"define ptr @ludic_prop_name(i32 %i) {\0Aentry:\0A\00" @.str19125 = private unnamed_addr constant [55 x i8] c"build/cfree/selfhost.ludic:29620: index out of range: \00" @.str19126 = private unnamed_addr constant [55 x i8] c"build/cfree/selfhost.ludic:29621: index out of range: \00" @.str19127 = private unnamed_addr constant [6 x i8] c" %pe\00" @.str19128 = private unnamed_addr constant [20 x i8] c" = icmp eq i32 %i, \00" @.str19129 = private unnamed_addr constant [2 x i8] c"\0A\00" @.str19130 = private unnamed_addr constant [12 x i8] c" br i1 %pe\00" @.str19131 = private unnamed_addr constant [12 x i8] c", label %ph\00" @.str19132 = private unnamed_addr constant [12 x i8] c", label %pn\00" @.str19133 = private unnamed_addr constant [2 x i8] c"\0A\00" @.str19134 = private unnamed_addr constant [3 x i8] c"ph\00" @.str19135 = private unnamed_addr constant [13 x i8] c":\0A ret ptr \00" @.str19136 = private unnamed_addr constant [2 x i8] c"\0A\00" @.str19137 = private unnamed_addr constant [3 x i8] c"pn\00" @.str19138 = private unnamed_addr constant [3 x i8] c":\0A\00" @.str19139 = private unnamed_addr constant [22 x i8] c" %dyn = sub i32 %i, \00" @.str19140 = private unnamed_addr constant [35 x i8] c"\0A %dc = load i32, ptr @dyn_count\0A\00" @.str19141 = private unnamed_addr constant [70 x i8] c" %ib = icmp uge i32 %dyn, %dc\0A br i1 %ib, label %pbad, label %pdyn\0A\00" @.str19142 = 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" @.str19143 = private unnamed_addr constant [17 x i8] c"pbad:\0A ret ptr \00" @.str19144 = private unnamed_addr constant [5 x i8] c"\0A}\0A\0A\00" @.str19145 = private unnamed_addr constant [48 x i8] c"define i32 @ludic_field_count(i32 %p) {\0Aentry:\0A\00" @.str19146 = private unnamed_addr constant [55 x i8] c"build/cfree/selfhost.ludic:29639: index out of range: \00" @.str19147 = private unnamed_addr constant [55 x i8] c"build/cfree/selfhost.ludic:29640: index out of range: \00" @.str19148 = private unnamed_addr constant [7 x i8] c" %fce\00" @.str19149 = private unnamed_addr constant [20 x i8] c" = icmp eq i32 %p, \00" @.str19150 = private unnamed_addr constant [2 x i8] c"\0A\00" @.str19151 = private unnamed_addr constant [13 x i8] c" br i1 %fce\00" @.str19152 = private unnamed_addr constant [13 x i8] c", label %fch\00" @.str19153 = private unnamed_addr constant [13 x i8] c", label %fcn\00" @.str19154 = private unnamed_addr constant [2 x i8] c"\0A\00" @.str19155 = private unnamed_addr constant [4 x i8] c"fch\00" @.str19156 = private unnamed_addr constant [13 x i8] c":\0A ret i32 \00" @.str19157 = private unnamed_addr constant [2 x i8] c"\0A\00" @.str19158 = private unnamed_addr constant [4 x i8] c"fcn\00" @.str19159 = private unnamed_addr constant [3 x i8] c":\0A\00" @.str19160 = private unnamed_addr constant [22 x i8] c" %dyn = sub i32 %p, \00" @.str19161 = private unnamed_addr constant [35 x i8] c"\0A %dc = load i32, ptr @dyn_count\0A\00" @.str19162 = private unnamed_addr constant [72 x i8] c" %ib = icmp uge i32 %dyn, %dc\0A br i1 %ib, label %fcbad, label %fcdyn\0A\00" @.str19163 = 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" @.str19164 = private unnamed_addr constant [23 x i8] c"fcbad:\0A ret i32 0\0A}\0A\0A\00" @.str19165 = private unnamed_addr constant [55 x i8] c"define ptr @ludic_field_name(i32 %p, i32 %f) {\0Aentry:\0A\00" @.str19166 = private unnamed_addr constant [55 x i8] c"build/cfree/selfhost.ludic:29658: index out of range: \00" @.str19167 = private unnamed_addr constant [55 x i8] c"build/cfree/selfhost.ludic:29659: index out of range: \00" @.str19168 = private unnamed_addr constant [7 x i8] c" %fne\00" @.str19169 = private unnamed_addr constant [20 x i8] c" = icmp eq i32 %p, \00" @.str19170 = private unnamed_addr constant [2 x i8] c"\0A\00" @.str19171 = private unnamed_addr constant [13 x i8] c" br i1 %fne\00" @.str19172 = private unnamed_addr constant [13 x i8] c", label %fnk\00" @.str19173 = private unnamed_addr constant [13 x i8] c", label %fnn\00" @.str19174 = private unnamed_addr constant [2 x i8] c"\0A\00" @.str19175 = private unnamed_addr constant [4 x i8] c"fnk\00" @.str19176 = private unnamed_addr constant [3 x i8] c":\0A\00" @.str19177 = private unnamed_addr constant [55 x i8] c"build/cfree/selfhost.ludic:29665: index out of range: \00" @.str19178 = private unnamed_addr constant [2 x i8] c"_\00" @.str19179 = private unnamed_addr constant [8 x i8] c" %fnfe\00" @.str19180 = private unnamed_addr constant [20 x i8] c" = icmp eq i32 %f, \00" @.str19181 = private unnamed_addr constant [2 x i8] c"\0A\00" @.str19182 = private unnamed_addr constant [14 x i8] c" br i1 %fnfe\00" @.str19183 = private unnamed_addr constant [14 x i8] c", label %fnfh\00" @.str19184 = private unnamed_addr constant [14 x i8] c", label %fnfn\00" @.str19185 = private unnamed_addr constant [2 x i8] c"\0A\00" @.str19186 = private unnamed_addr constant [5 x i8] c"fnfh\00" @.str19187 = private unnamed_addr constant [13 x i8] c":\0A ret ptr \00" @.str19188 = private unnamed_addr constant [2 x i8] c"\0A\00" @.str19189 = private unnamed_addr constant [5 x i8] c"fnfn\00" @.str19190 = private unnamed_addr constant [3 x i8] c":\0A\00" @.str19191 = private unnamed_addr constant [11 x i8] c" ret ptr \00" @.str19192 = private unnamed_addr constant [2 x i8] c"\0A\00" @.str19193 = private unnamed_addr constant [4 x i8] c"fnn\00" @.str19194 = private unnamed_addr constant [3 x i8] c":\0A\00" @.str19195 = private unnamed_addr constant [11 x i8] c" ret ptr \00" @.str19196 = private unnamed_addr constant [5 x i8] c"\0A}\0A\0A\00" @.str19197 = private unnamed_addr constant [55 x i8] c"define ptr @ludic_field_type(i32 %p, i32 %f) {\0Aentry:\0A\00" @.str19198 = private unnamed_addr constant [55 x i8] c"build/cfree/selfhost.ludic:29684: index out of range: \00" @.str19199 = private unnamed_addr constant [55 x i8] c"build/cfree/selfhost.ludic:29685: index out of range: \00" @.str19200 = private unnamed_addr constant [7 x i8] c" %fte\00" @.str19201 = private unnamed_addr constant [20 x i8] c" = icmp eq i32 %p, \00" @.str19202 = private unnamed_addr constant [2 x i8] c"\0A\00" @.str19203 = private unnamed_addr constant [13 x i8] c" br i1 %fte\00" @.str19204 = private unnamed_addr constant [13 x i8] c", label %ftk\00" @.str19205 = private unnamed_addr constant [13 x i8] c", label %ftn\00" @.str19206 = private unnamed_addr constant [2 x i8] c"\0A\00" @.str19207 = private unnamed_addr constant [4 x i8] c"ftk\00" @.str19208 = private unnamed_addr constant [3 x i8] c":\0A\00" @.str19209 = private unnamed_addr constant [55 x i8] c"build/cfree/selfhost.ludic:29691: index out of range: \00" @.str19210 = private unnamed_addr constant [2 x i8] c"_\00" @.str19211 = private unnamed_addr constant [8 x i8] c" %ftfe\00" @.str19212 = private unnamed_addr constant [20 x i8] c" = icmp eq i32 %f, \00" @.str19213 = private unnamed_addr constant [2 x i8] c"\0A\00" @.str19214 = private unnamed_addr constant [14 x i8] c" br i1 %ftfe\00" @.str19215 = private unnamed_addr constant [14 x i8] c", label %ftfh\00" @.str19216 = private unnamed_addr constant [14 x i8] c", label %ftfn\00" @.str19217 = private unnamed_addr constant [2 x i8] c"\0A\00" @.str19218 = private unnamed_addr constant [5 x i8] c"ftfh\00" @.str19219 = private unnamed_addr constant [13 x i8] c":\0A ret ptr \00" @.str19220 = private unnamed_addr constant [2 x i8] c"\0A\00" @.str19221 = private unnamed_addr constant [5 x i8] c"ftfn\00" @.str19222 = private unnamed_addr constant [3 x i8] c":\0A\00" @.str19223 = private unnamed_addr constant [11 x i8] c" ret ptr \00" @.str19224 = private unnamed_addr constant [2 x i8] c"\0A\00" @.str19225 = private unnamed_addr constant [4 x i8] c"ftn\00" @.str19226 = private unnamed_addr constant [3 x i8] c":\0A\00" @.str19227 = private unnamed_addr constant [11 x i8] c" ret ptr \00" @.str19228 = private unnamed_addr constant [5 x i8] c"\0A}\0A\0A\00" @.str19229 = private unnamed_addr constant [38 x i8] c"define void @L_tick_fixed() {\0Aentry:\0A\00" @.str19230 = private unnamed_addr constant [6 x i8] c"Input\00" @.str19231 = private unnamed_addr constant [12 x i8] c"FixedUpdate\00" @.str19232 = private unnamed_addr constant [7 x i8] c"Update\00" @.str19233 = private unnamed_addr constant [11 x i8] c"LateUpdate\00" @.str19234 = private unnamed_addr constant [15 x i8] c" ret void\0A}\0A\0A\00" @.str19235 = private unnamed_addr constant [39 x i8] c"define void @L_tick_render() {\0Aentry:\0A\00" @.str19236 = private unnamed_addr constant [7 x i8] c"Render\00" @.str19237 = private unnamed_addr constant [8 x i8] c"Overlay\00" @.str19238 = private unnamed_addr constant [15 x i8] c" ret void\0A}\0A\0A\00" @.str19239 = private unnamed_addr constant [55 x i8] c"build/cfree/selfhost.ludic:29731: index out of range: \00" @.str19240 = private unnamed_addr constant [15 x i8] c"emit_game_defs\00" @.str19241 = private unnamed_addr constant [55 x i8] c"build/cfree/selfhost.ludic:29731: index out of range: \00" @.str19242 = private unnamed_addr constant [49 x i8] c"define i32 @main(i32 %argc, ptr %argv) {\0Aentry:\0A\00" @.str19243 = private unnamed_addr constant [32 x i8] c" store i32 %argc, ptr @L_argc\0A\00" @.str19244 = private unnamed_addr constant [32 x i8] c" store ptr %argv, ptr @L_argv\0A\00" @.str19245 = private unnamed_addr constant [31 x i8] c" call void @L_init_runtime()\0A\00" @.str19246 = private unnamed_addr constant [28 x i8] c" call void @L_grow(i32 1)\0A\00" @.str19247 = private unnamed_addr constant [8 x i8] c"rt_init\00" @.str19248 = private unnamed_addr constant [13 x i8] c" call void \00" @.str19249 = private unnamed_addr constant [8 x i8] c"rt_init\00" @.str19250 = private unnamed_addr constant [15 x i8] c"emit_game_main\00" @.str19251 = private unnamed_addr constant [4 x i8] c"()\0A\00" @.str19252 = private unnamed_addr constant [31 x i8] c" call void @L_init_globals()\0A\00" @.str19253 = private unnamed_addr constant [6 x i8] c"Start\00" @.str19254 = private unnamed_addr constant [13 x i8] c" store i32 \00" @.str19255 = private unnamed_addr constant [16 x i8] c", ptr @L_scene\0A\00" @.str19256 = private unnamed_addr constant [55 x i8] c"build/cfree/selfhost.ludic:29755: index out of range: \00" @.str19257 = private unnamed_addr constant [26 x i8] c" call void @scene_enter_\00" @.str19258 = private unnamed_addr constant [55 x i8] c"build/cfree/selfhost.ludic:29755: index out of range: \00" @.str19259 = private unnamed_addr constant [4 x i8] c"()\0A\00" @.str19260 = private unnamed_addr constant [14 x i8] c"program_start\00" @.str19261 = private unnamed_addr constant [33 x i8] c" call void @ev_program_start()\0A\00" @.str19262 = private unnamed_addr constant [18 x i8] c" br label %loop\0A\00" @.str19263 = private unnamed_addr constant [7 x i8] c"loop:\0A\00" @.str19264 = private unnamed_addr constant [25 x i8] c"load i32, ptr @L_running\00" @.str19265 = private unnamed_addr constant [13 x i8] c"icmp ne i32 \00" @.str19266 = private unnamed_addr constant [4 x i8] c", 0\00" @.str19267 = private unnamed_addr constant [11 x i8] c"rt_running\00" @.str19268 = private unnamed_addr constant [10 x i8] c"call i32 \00" @.str19269 = private unnamed_addr constant [11 x i8] c"rt_running\00" @.str19270 = private unnamed_addr constant [3 x i8] c"()\00" @.str19271 = private unnamed_addr constant [13 x i8] c"icmp ne i32 \00" @.str19272 = private unnamed_addr constant [4 x i8] c", 0\00" @.str19273 = private unnamed_addr constant [8 x i8] c"and i1 \00" @.str19274 = private unnamed_addr constant [3 x i8] c", \00" @.str19275 = private unnamed_addr constant [9 x i8] c" br i1 \00" @.str19276 = private unnamed_addr constant [28 x i8] c", label %body, label %done\0A\00" @.str19277 = private unnamed_addr constant [9 x i8] c" br i1 \00" @.str19278 = private unnamed_addr constant [28 x i8] c", label %body, label %done\0A\00" @.str19279 = private unnamed_addr constant [7 x i8] c"body:\0A\00" @.str19280 = private unnamed_addr constant [12 x i8] c"input_drive\00" @.str19281 = private unnamed_addr constant [10 x i8] c"call i32 \00" @.str19282 = private unnamed_addr constant [12 x i8] c"input_drive\00" @.str19283 = private unnamed_addr constant [3 x i8] c"()\00" @.str19284 = private unnamed_addr constant [13 x i8] c" store i32 \00" @.str19285 = private unnamed_addr constant [14 x i8] c", ptr @L_key\0A\00" @.str19286 = private unnamed_addr constant [8 x i8] c"rt_poll\00" @.str19287 = private unnamed_addr constant [10 x i8] c"call i32 \00" @.str19288 = private unnamed_addr constant [8 x i8] c"rt_poll\00" @.str19289 = private unnamed_addr constant [3 x i8] c"()\00" @.str19290 = private unnamed_addr constant [13 x i8] c" store i32 \00" @.str19291 = private unnamed_addr constant [14 x i8] c", ptr @L_key\0A\00" @.str19292 = private unnamed_addr constant [11 x i8] c"rt_ui_tick\00" @.str19293 = private unnamed_addr constant [21 x i8] c"load i32, ptr @L_key\00" @.str19294 = private unnamed_addr constant [13 x i8] c" call void \00" @.str19295 = private unnamed_addr constant [11 x i8] c"rt_ui_tick\00" @.str19296 = private unnamed_addr constant [6 x i8] c"(i32 \00" @.str19297 = private unnamed_addr constant [3 x i8] c")\0A\00" @.str19298 = private unnamed_addr constant [6 x i8] c"Input\00" @.str19299 = private unnamed_addr constant [12 x i8] c"FixedUpdate\00" @.str19300 = private unnamed_addr constant [7 x i8] c"Update\00" @.str19301 = private unnamed_addr constant [11 x i8] c"LateUpdate\00" @.str19302 = private unnamed_addr constant [9 x i8] c"rt_clear\00" @.str19303 = private unnamed_addr constant [13 x i8] c" call void \00" @.str19304 = private unnamed_addr constant [9 x i8] c"rt_clear\00" @.str19305 = private unnamed_addr constant [6 x i8] c"(i32 \00" @.str19306 = private unnamed_addr constant [3 x i8] c")\0A\00" @.str19307 = private unnamed_addr constant [7 x i8] c"Render\00" @.str19308 = private unnamed_addr constant [8 x i8] c"Overlay\00" @.str19309 = private unnamed_addr constant [11 x i8] c"rt_present\00" @.str19310 = private unnamed_addr constant [13 x i8] c" call void \00" @.str19311 = private unnamed_addr constant [11 x i8] c"rt_present\00" @.str19312 = private unnamed_addr constant [4 x i8] c"()\0A\00" @.str19313 = private unnamed_addr constant [29 x i8] c" call void @lp_mem_frame()\0A\00" @.str19314 = private unnamed_addr constant [23 x i8] c"load i32, ptr @L_frame\00" @.str19315 = private unnamed_addr constant [9 x i8] c"add i32 \00" @.str19316 = private unnamed_addr constant [4 x i8] c", 1\00" @.str19317 = private unnamed_addr constant [13 x i8] c" store i32 \00" @.str19318 = private unnamed_addr constant [16 x i8] c", ptr @L_frame\0A\00" @.str19319 = private unnamed_addr constant [18 x i8] c" br label %loop\0A\00" @.str19320 = private unnamed_addr constant [7 x i8] c"done:\0A\00" @.str19321 = private unnamed_addr constant [35 x i8] c" call void @L_despawn_all(i32 2)\0A\00" @.str19322 = private unnamed_addr constant [7 x i8] c"OnQuit\00" @.str19323 = private unnamed_addr constant [13 x i8] c"program_quit\00" @.str19324 = private unnamed_addr constant [32 x i8] c" call void @ev_program_quit()\0A\00" @.str19325 = private unnamed_addr constant [12 x i8] c"rt_shutdown\00" @.str19326 = private unnamed_addr constant [13 x i8] c" call void \00" @.str19327 = private unnamed_addr constant [12 x i8] c"rt_shutdown\00" @.str19328 = private unnamed_addr constant [4 x i8] c"()\0A\00" @.str19329 = private unnamed_addr constant [15 x i8] c" ret i32 0\0A}\0A\00" @.str19330 = private unnamed_addr constant [55 x i8] c"build/cfree/selfhost.ludic:29851: index out of range: \00" @.str19331 = private unnamed_addr constant [13 x i8] c"machine_addr\00" @.str19332 = private unnamed_addr constant [55 x i8] c"build/cfree/selfhost.ludic:29852: index out of range: \00" @.str19333 = private unnamed_addr constant [4 x i8] c"@g_\00" @.str19334 = private unnamed_addr constant [15 x i8] c"machine state \00" @.str19335 = private unnamed_addr constant [20 x i8] c"machine_state_value\00" @.str19336 = private unnamed_addr constant [27 x i8] c" is not a variant of enum \00" @.str19337 = private unnamed_addr constant [1 x i8] c"\00" @.str19338 = private unnamed_addr constant [15 x i8] c"load i32, ptr \00" @.str19339 = private unnamed_addr constant [13 x i8] c"emit_machine\00" @.str19340 = private unnamed_addr constant [10 x i8] c"call i32 \00" @.str19341 = private unnamed_addr constant [7 x i8] c"rt_reg\00" @.str19342 = private unnamed_addr constant [6 x i8] c"(i32 \00" @.str19343 = private unnamed_addr constant [2 x i8] c")\00" @.str19344 = private unnamed_addr constant [55 x i8] c"build/cfree/selfhost.ludic:29887: index out of range: \00" @.str19345 = private unnamed_addr constant [6 x i8] c"smend\00" @.str19346 = private unnamed_addr constant [55 x i8] c"build/cfree/selfhost.ludic:29892: index out of range: \00" @.str19347 = private unnamed_addr constant [13 x i8] c"icmp eq i32 \00" @.str19348 = private unnamed_addr constant [3 x i8] c", \00" @.str19349 = private unnamed_addr constant [6 x i8] c"sbody\00" @.str19350 = private unnamed_addr constant [5 x i8] c"sarm\00" @.str19351 = private unnamed_addr constant [9 x i8] c" br i1 \00" @.str19352 = private unnamed_addr constant [10 x i8] c", label %\00" @.str19353 = private unnamed_addr constant [10 x i8] c", label %\00" @.str19354 = private unnamed_addr constant [2 x i8] c"\0A\00" @.str19355 = private unnamed_addr constant [3 x i8] c":\0A\00" @.str19356 = private unnamed_addr constant [13 x i8] c" br label %\00" @.str19357 = private unnamed_addr constant [2 x i8] c"\0A\00" @.str19358 = private unnamed_addr constant [3 x i8] c":\0A\00" @.str19359 = private unnamed_addr constant [13 x i8] c" br label %\00" @.str19360 = private unnamed_addr constant [2 x i8] c"\0A\00" @.str19361 = private unnamed_addr constant [3 x i8] c":\0A\00" @.str19362 = private unnamed_addr constant [55 x i8] c"build/cfree/selfhost.ludic:29914: index out of range: \00" @.str19363 = private unnamed_addr constant [12 x i8] c"emit_become\00" @.str19364 = private unnamed_addr constant [55 x i8] c"build/cfree/selfhost.ludic:29917: index out of range: \00" @.str19365 = private unnamed_addr constant [55 x i8] c"build/cfree/selfhost.ludic:29917: index out of range: \00" @.str19366 = private unnamed_addr constant [13 x i8] c" store i32 \00" @.str19367 = private unnamed_addr constant [7 x i8] c", ptr \00" @.str19368 = private unnamed_addr constant [2 x i8] c"\0A\00" @.str19369 = private unnamed_addr constant [13 x i8] c" call void \00" @.str19370 = private unnamed_addr constant [11 x i8] c"rt_set_reg\00" @.str19371 = private unnamed_addr constant [6 x i8] c"(i32 \00" @.str19372 = private unnamed_addr constant [7 x i8] c", i32 \00" @.str19373 = private unnamed_addr constant [3 x i8] c")\0A\00" @.str19374 = private unnamed_addr constant [27 x i8] c"become: no state or scene \00" @.str19375 = private unnamed_addr constant [25 x i8] c" call void @scene_exit_\00" @.str19376 = private unnamed_addr constant [4 x i8] c"()\0A\00" @.str19377 = private unnamed_addr constant [30 x i8] c" call void @L_scene_leave()\0A\00" @.str19378 = private unnamed_addr constant [13 x i8] c" store i32 \00" @.str19379 = private unnamed_addr constant [16 x i8] c", ptr @L_scene\0A\00" @.str19380 = private unnamed_addr constant [26 x i8] c" call void @scene_enter_\00" @.str19381 = private unnamed_addr constant [4 x i8] c"()\0A\00" @.str19382 = private unnamed_addr constant [5 x i8] c"file\00" @.str19383 = private unnamed_addr constant [4 x i8] c"%io\00" @.str19384 = private unnamed_addr constant [8 x i8] c"emit_io\00" @.str19385 = private unnamed_addr constant [3 x i8] c" \00" @.str19386 = private unnamed_addr constant [14 x i8] c" = call i64 @\00" @.str19387 = private unnamed_addr constant [6 x i8] c"(ptr \00" @.str19388 = private unnamed_addr constant [14 x i8] c", i64 1, i64 \00" @.str19389 = private unnamed_addr constant [11 x i8] c", ptr %f)\0A\00" @.str19390 = private unnamed_addr constant [5 x i8] c"size\00" @.str19391 = private unnamed_addr constant [6 x i8] c"%ioff\00" @.str19392 = private unnamed_addr constant [3 x i8] c" \00" @.str19393 = private unnamed_addr constant [12 x i8] c" = add i64 \00" @.str19394 = private unnamed_addr constant [3 x i8] c", \00" @.str19395 = private unnamed_addr constant [2 x i8] c"\0A\00" @.str19396 = private unnamed_addr constant [5 x i8] c"%ioa\00" @.str19397 = private unnamed_addr constant [3 x i8] c" \00" @.str19398 = private unnamed_addr constant [45 x i8] c" = getelementptr inbounds i8, ptr %buf, i64 \00" @.str19399 = private unnamed_addr constant [2 x i8] c"\0A\00" @.str19400 = private unnamed_addr constant [5 x i8] c"save\00" @.str19401 = private unnamed_addr constant [24 x i8] c" call ptr @memcpy(ptr \00" @.str19402 = private unnamed_addr constant [7 x i8] c", ptr \00" @.str19403 = private unnamed_addr constant [7 x i8] c", i64 \00" @.str19404 = private unnamed_addr constant [3 x i8] c")\0A\00" @.str19405 = private unnamed_addr constant [24 x i8] c" call ptr @memcpy(ptr \00" @.str19406 = private unnamed_addr constant [7 x i8] c", ptr \00" @.str19407 = private unnamed_addr constant [7 x i8] c", i64 \00" @.str19408 = private unnamed_addr constant [3 x i8] c")\0A\00" @.str19409 = private unnamed_addr constant [6 x i8] c"%ioff\00" @.str19410 = private unnamed_addr constant [3 x i8] c" \00" @.str19411 = private unnamed_addr constant [12 x i8] c" = add i64 \00" @.str19412 = private unnamed_addr constant [3 x i8] c", \00" @.str19413 = private unnamed_addr constant [2 x i8] c"\0A\00" @.str19414 = private unnamed_addr constant [2 x i8] c"0\00" @.str19415 = private unnamed_addr constant [6 x i8] c"fread\00" @.str19416 = private unnamed_addr constant [5 x i8] c"load\00" @.str19417 = private unnamed_addr constant [70 x i8] c" %sncap0 = load i32, ptr @L_cap\0A store i32 %sncap0, ptr @L_snapcap\0A\00" @.str19418 = private unnamed_addr constant [11 x i8] c"@L_snapcap\00" @.str19419 = private unnamed_addr constant [2 x i8] c"4\00" @.str19420 = private unnamed_addr constant [37 x i8] c" %sncap = load i32, ptr @L_snapcap\0A\00" @.str19421 = private unnamed_addr constant [33 x i8] c" call void @L_grow(i32 %sncap)\0A\00" @.str19422 = private unnamed_addr constant [37 x i8] c" %sncap64 = sext i32 %sncap to i64\0A\00" @.str19423 = private unnamed_addr constant [8 x i8] c"@L_entc\00" @.str19424 = private unnamed_addr constant [2 x i8] c"4\00" @.str19425 = private unnamed_addr constant [9 x i8] c"@L_freen\00" @.str19426 = private unnamed_addr constant [2 x i8] c"4\00" @.str19427 = private unnamed_addr constant [33 x i8] c" %nalive = mul i64 %sncap64, 4\0A\00" @.str19428 = private unnamed_addr constant [8 x i8] c"L_alive\00" @.str19429 = private unnamed_addr constant [8 x i8] c"%nalive\00" @.str19430 = private unnamed_addr constant [11 x i8] c"L_freelist\00" @.str19431 = private unnamed_addr constant [8 x i8] c"%nalive\00" @.str19432 = private unnamed_addr constant [7 x i8] c"L_kind\00" @.str19433 = private unnamed_addr constant [8 x i8] c"%nalive\00" @.str19434 = private unnamed_addr constant [12 x i8] c"L_owner_arr\00" @.str19435 = private unnamed_addr constant [8 x i8] c"%nalive\00" @.str19436 = private unnamed_addr constant [55 x i8] c"build/cfree/selfhost.ludic:30006: index out of range: \00" @.str19437 = private unnamed_addr constant [21 x i8] c"emit_snapshot_blocks\00" @.str19438 = private unnamed_addr constant [4 x i8] c"@g_\00" @.str19439 = private unnamed_addr constant [55 x i8] c"build/cfree/selfhost.ludic:30006: index out of range: \00" @.str19440 = private unnamed_addr constant [2 x i8] c"4\00" @.str19441 = private unnamed_addr constant [55 x i8] c"build/cfree/selfhost.ludic:30010: index out of range: \00" @.str19442 = private unnamed_addr constant [55 x i8] c"build/cfree/selfhost.ludic:30011: index out of range: \00" @.str19443 = private unnamed_addr constant [7 x i8] c"%csz1_\00" @.str19444 = private unnamed_addr constant [5 x i8] c"%csz\00" @.str19445 = private unnamed_addr constant [3 x i8] c" \00" @.str19446 = private unnamed_addr constant [37 x i8] c" = ptrtoint ptr getelementptr (%Cmp_\00" @.str19447 = private unnamed_addr constant [27 x i8] c", ptr null, i32 1) to i64\0A\00" @.str19448 = private unnamed_addr constant [3 x i8] c" \00" @.str19449 = private unnamed_addr constant [22 x i8] c" = mul i64 %sncap64, \00" @.str19450 = private unnamed_addr constant [2 x i8] c"\0A\00" @.str19451 = private unnamed_addr constant [3 x i8] c"S_\00" @.str19452 = private unnamed_addr constant [3 x i8] c"H_\00" @.str19453 = private unnamed_addr constant [9 x i8] c"%sncap64\00" @.str19454 = private unnamed_addr constant [5 x i8] c"%snb\00" @.str19455 = private unnamed_addr constant [10 x i8] c"snap_base\00" @.str19456 = private unnamed_addr constant [3 x i8] c" \00" @.str19457 = private unnamed_addr constant [19 x i8] c" = load ptr, ptr @\00" @.str19458 = private unnamed_addr constant [2 x i8] c"\0A\00" @.str19459 = private unnamed_addr constant [5 x i8] c"file\00" @.str19460 = private unnamed_addr constant [70 x i8] c"@.sav_path = private unnamed_addr constant [10 x i8] c\22ludic.sav\5C00\22\0A\00" @.str19461 = private unnamed_addr constant [60 x i8] c"@.sav_wb = private unnamed_addr constant [3 x i8] c\22wb\5C00\22\0A\00" @.str19462 = private unnamed_addr constant [60 x i8] c"@.sav_rb = private unnamed_addr constant [3 x i8] c\22rb\5C00\22\0A\00" @.str19463 = private unnamed_addr constant [14 x i8] c"rt_save_state\00" @.str19464 = private unnamed_addr constant [14 x i8] c"rt_load_state\00" @.str19465 = private unnamed_addr constant [32 x i8] c"define void @L_save() {\0Aentry:\0A\00" @.str19466 = private unnamed_addr constant [54 x i8] c" %f = call ptr @fopen(ptr @.sav_path, ptr @.sav_wb)\0A\00" @.str19467 = private unnamed_addr constant [31 x i8] c" %bad = icmp eq ptr %f, null\0A\00" @.str19468 = private unnamed_addr constant [41 x i8] c" br i1 %bad, label %out, label %go\0Ago:\0A\00" @.str19469 = private unnamed_addr constant [7 x i8] c"fwrite\00" @.str19470 = private unnamed_addr constant [13 x i8] c" call void \00" @.str19471 = private unnamed_addr constant [14 x i8] c"rt_save_state\00" @.str19472 = private unnamed_addr constant [14 x i8] c"emit_snapshot\00" @.str19473 = private unnamed_addr constant [10 x i8] c"(ptr %f)\0A\00" @.str19474 = 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" @.str19475 = private unnamed_addr constant [31 x i8] c"define i32 @L_load() {\0Aentry:\0A\00" @.str19476 = private unnamed_addr constant [54 x i8] c" %f = call ptr @fopen(ptr @.sav_path, ptr @.sav_rb)\0A\00" @.str19477 = private unnamed_addr constant [31 x i8] c" %bad = icmp eq ptr %f, null\0A\00" @.str19478 = private unnamed_addr constant [60 x i8] c" br i1 %bad, label %miss, label %go\0Amiss:\0A ret i32 0\0Ago:\0A\00" @.str19479 = private unnamed_addr constant [6 x i8] c"fread\00" @.str19480 = private unnamed_addr constant [13 x i8] c" call void \00" @.str19481 = private unnamed_addr constant [14 x i8] c"rt_load_state\00" @.str19482 = private unnamed_addr constant [10 x i8] c"(ptr %f)\0A\00" @.str19483 = private unnamed_addr constant [48 x i8] c" %c = call i32 @fclose(ptr %f)\0A ret i32 1\0A}\0A\0A\00" @.str19484 = private unnamed_addr constant [45 x i8] c"define i32 @L_world_save(ptr %buf) {\0Aentry:\0A\00" @.str19485 = private unnamed_addr constant [5 x i8] c"save\00" @.str19486 = private unnamed_addr constant [1 x i8] c"\00" @.str19487 = private unnamed_addr constant [5 x i8] c"%wsn\00" @.str19488 = private unnamed_addr constant [3 x i8] c" \00" @.str19489 = private unnamed_addr constant [14 x i8] c" = trunc i64 \00" @.str19490 = private unnamed_addr constant [9 x i8] c" to i32\0A\00" @.str19491 = private unnamed_addr constant [11 x i8] c" ret i32 \00" @.str19492 = private unnamed_addr constant [5 x i8] c"\0A}\0A\0A\00" @.str19493 = private unnamed_addr constant [56 x i8] c"define void @L_world_load(ptr %buf, i32 %len) {\0Aentry:\0A\00" @.str19494 = private unnamed_addr constant [5 x i8] c"load\00" @.str19495 = private unnamed_addr constant [1 x i8] c"\00" @.str19496 = private unnamed_addr constant [15 x i8] c" ret void\0A}\0A\0A\00" @.str19497 = private unnamed_addr constant [37 x i8] c"define i32 @L_world_size() {\0Aentry:\0A\00" @.str19498 = private unnamed_addr constant [5 x i8] c"size\00" @.str19499 = private unnamed_addr constant [1 x i8] c"\00" @.str19500 = private unnamed_addr constant [5 x i8] c"%wzn\00" @.str19501 = private unnamed_addr constant [3 x i8] c" \00" @.str19502 = private unnamed_addr constant [14 x i8] c" = trunc i64 \00" @.str19503 = private unnamed_addr constant [9 x i8] c" to i32\0A\00" @.str19504 = private unnamed_addr constant [11 x i8] c" ret i32 \00" @.str19505 = private unnamed_addr constant [5 x i8] c"\0A}\0A\0A\00" @.str19506 = private unnamed_addr constant [5 x i8] c"file\00" @.str19507 = private unnamed_addr constant [3 x i8] c"i8\00" @.str19508 = private unnamed_addr constant [3 x i8] c"i8\00" @.str19509 = private unnamed_addr constant [2 x i8] c"1\00" @.str19510 = private unnamed_addr constant [2 x i8] c"4\00" @.str19511 = private unnamed_addr constant [55 x i8] c"build/cfree/selfhost.ludic:30113: index out of range: \00" @.str19512 = private unnamed_addr constant [16 x i8] c"net_model_bytes\00" @.str19513 = private unnamed_addr constant [55 x i8] c"build/cfree/selfhost.ludic:30114: index out of range: \00" @.str19514 = private unnamed_addr constant [55 x i8] c"build/cfree/selfhost.ludic:30117: index out of range: \00" @.str19515 = private unnamed_addr constant [55 x i8] c"build/cfree/selfhost.ludic:30117: index out of range: \00" @.str19516 = private unnamed_addr constant [55 x i8] c"build/cfree/selfhost.ludic:30129: index out of range: \00" @.str19517 = private unnamed_addr constant [13 x i8] c"net_has_sync\00" @.str19518 = private unnamed_addr constant [55 x i8] c"build/cfree/selfhost.ludic:30129: index out of range: \00" @.str19519 = private unnamed_addr constant [55 x i8] c"build/cfree/selfhost.ludic:30136: index out of range: \00" @.str19520 = private unnamed_addr constant [14 x i8] c"net_has_owned\00" @.str19521 = private unnamed_addr constant [55 x i8] c"build/cfree/selfhost.ludic:30136: index out of range: \00" @.str19522 = private unnamed_addr constant [55 x i8] c"build/cfree/selfhost.ludic:30144: index out of range: \00" @.str19523 = private unnamed_addr constant [13 x i8] c"net_has_role\00" @.str19524 = private unnamed_addr constant [55 x i8] c"build/cfree/selfhost.ludic:30144: index out of range: \00" @.str19525 = private unnamed_addr constant [9 x i8] c"net_warn\00" @.str19526 = private unnamed_addr constant [24 x i8] c"ludicc(self): warning: \00" @.str19527 = private unnamed_addr constant [2 x i8] c"\0A\00" @.str19528 = private unnamed_addr constant [55 x i8] c"build/cfree/selfhost.ludic:30166: index out of range: \00" @.str19529 = private unnamed_addr constant [10 x i8] c"net_check\00" @.str19530 = private unnamed_addr constant [55 x i8] c"build/cfree/selfhost.ludic:30167: index out of range: \00" @.str19531 = private unnamed_addr constant [55 x i8] c"build/cfree/selfhost.ludic:30170: index out of range: \00" @.str19532 = private unnamed_addr constant [55 x i8] c"build/cfree/selfhost.ludic:30171: index out of range: \00" @.str19533 = private unnamed_addr constant [55 x i8] c"build/cfree/selfhost.ludic:30177: index out of range: \00" @.str19534 = private unnamed_addr constant [55 x i8] c"build/cfree/selfhost.ludic:30179: index out of range: \00" @.str19535 = private unnamed_addr constant [4 x i8] c"ptr\00" @.str19536 = private unnamed_addr constant [13 x i8] c"@Sync field \00" @.str19537 = private unnamed_addr constant [2 x i8] c".\00" @.str19538 = private unnamed_addr constant [55 x i8] c"build/cfree/selfhost.ludic:30179: index out of range: \00" @.str19539 = private unnamed_addr constant [68 x i8] c" is not a POD scalar (networked fields must be int/bool/fixed/byte)\00" @.str19540 = private unnamed_addr constant [7 x i8] c"model \00" @.str19541 = private unnamed_addr constant [9 x i8] c" @Syncs \00" @.str19542 = private unnamed_addr constant [51 x i8] c" but it has no @Sync fields \E2\80\94 nothing replicates\00" @.str19543 = private unnamed_addr constant [25 x i8] c"define i32 @L_serialize_\00" @.str19544 = private unnamed_addr constant [29 x i8] c"(i32 %e, ptr %buf) {\0Aentry:\0A\00" @.str19545 = private unnamed_addr constant [55 x i8] c"build/cfree/selfhost.ludic:30203: index out of range: \00" @.str19546 = private unnamed_addr constant [19 x i8] c"emit_net_serialize\00" @.str19547 = private unnamed_addr constant [55 x i8] c"build/cfree/selfhost.ludic:30204: index out of range: \00" @.str19548 = private unnamed_addr constant [3 x i8] c"S_\00" @.str19549 = private unnamed_addr constant [3 x i8] c" \00" @.str19550 = private unnamed_addr constant [32 x i8] c" = getelementptr inbounds %Cmp_\00" @.str19551 = private unnamed_addr constant [7 x i8] c", ptr \00" @.str19552 = private unnamed_addr constant [10 x i8] c", i32 %e\0A\00" @.str19553 = private unnamed_addr constant [55 x i8] c"build/cfree/selfhost.ludic:30211: index out of range: \00" @.str19554 = private unnamed_addr constant [55 x i8] c"build/cfree/selfhost.ludic:30212: index out of range: \00" @.str19555 = private unnamed_addr constant [3 x i8] c" \00" @.str19556 = private unnamed_addr constant [32 x i8] c" = getelementptr inbounds %Cmp_\00" @.str19557 = private unnamed_addr constant [7 x i8] c", ptr \00" @.str19558 = private unnamed_addr constant [14 x i8] c", i32 0, i32 \00" @.str19559 = private unnamed_addr constant [2 x i8] c"\0A\00" @.str19560 = private unnamed_addr constant [3 x i8] c" \00" @.str19561 = private unnamed_addr constant [45 x i8] c" = getelementptr inbounds i8, ptr %buf, i32 \00" @.str19562 = private unnamed_addr constant [2 x i8] c"\0A\00" @.str19563 = private unnamed_addr constant [24 x i8] c" call ptr @memcpy(ptr \00" @.str19564 = private unnamed_addr constant [7 x i8] c", ptr \00" @.str19565 = private unnamed_addr constant [7 x i8] c", i64 \00" @.str19566 = private unnamed_addr constant [3 x i8] c")\0A\00" @.str19567 = private unnamed_addr constant [55 x i8] c"build/cfree/selfhost.ludic:30216: index out of range: \00" @.str19568 = private unnamed_addr constant [11 x i8] c" ret i32 \00" @.str19569 = private unnamed_addr constant [5 x i8] c"\0A}\0A\0A\00" @.str19570 = private unnamed_addr constant [22 x i8] c"define void @L_apply_\00" @.str19571 = private unnamed_addr constant [39 x i8] c"(i32 %e, ptr %buf, i32 %len) {\0Aentry:\0A\00" @.str19572 = private unnamed_addr constant [55 x i8] c"build/cfree/selfhost.ludic:30237: index out of range: \00" @.str19573 = private unnamed_addr constant [15 x i8] c"emit_net_apply\00" @.str19574 = private unnamed_addr constant [55 x i8] c"build/cfree/selfhost.ludic:30238: index out of range: \00" @.str19575 = private unnamed_addr constant [3 x i8] c"S_\00" @.str19576 = private unnamed_addr constant [3 x i8] c" \00" @.str19577 = private unnamed_addr constant [32 x i8] c" = getelementptr inbounds %Cmp_\00" @.str19578 = private unnamed_addr constant [7 x i8] c", ptr \00" @.str19579 = private unnamed_addr constant [10 x i8] c", i32 %e\0A\00" @.str19580 = private unnamed_addr constant [55 x i8] c"build/cfree/selfhost.ludic:30245: index out of range: \00" @.str19581 = private unnamed_addr constant [55 x i8] c"build/cfree/selfhost.ludic:30246: index out of range: \00" @.str19582 = private unnamed_addr constant [3 x i8] c" \00" @.str19583 = private unnamed_addr constant [32 x i8] c" = getelementptr inbounds %Cmp_\00" @.str19584 = private unnamed_addr constant [7 x i8] c", ptr \00" @.str19585 = private unnamed_addr constant [14 x i8] c", i32 0, i32 \00" @.str19586 = private unnamed_addr constant [2 x i8] c"\0A\00" @.str19587 = private unnamed_addr constant [3 x i8] c" \00" @.str19588 = private unnamed_addr constant [45 x i8] c" = getelementptr inbounds i8, ptr %buf, i32 \00" @.str19589 = private unnamed_addr constant [2 x i8] c"\0A\00" @.str19590 = private unnamed_addr constant [24 x i8] c" call ptr @memcpy(ptr \00" @.str19591 = private unnamed_addr constant [7 x i8] c", ptr \00" @.str19592 = private unnamed_addr constant [7 x i8] c", i64 \00" @.str19593 = private unnamed_addr constant [3 x i8] c")\0A\00" @.str19594 = private unnamed_addr constant [55 x i8] c"build/cfree/selfhost.ludic:30250: index out of range: \00" @.str19595 = private unnamed_addr constant [15 x i8] c" ret void\0A}\0A\0A\00" @.str19596 = private unnamed_addr constant [56 x i8] c"define i32 @ludic_serialize(i32 %e, ptr %buf) {\0Aentry:\0A\00" @.str19597 = private unnamed_addr constant [7 x i8] c"L_kind\00" @.str19598 = private unnamed_addr constant [41 x i8] c" %kp = getelementptr inbounds i32, ptr \00" @.str19599 = private unnamed_addr constant [35 x i8] c", i32 %e\0A %k = load i32, ptr %kp\0A\00" @.str19600 = private unnamed_addr constant [55 x i8] c"build/cfree/selfhost.ludic:30274: index out of range: \00" @.str19601 = private unnamed_addr constant [18 x i8] c"emit_net_dispatch\00" @.str19602 = private unnamed_addr constant [55 x i8] c"build/cfree/selfhost.ludic:30274: index out of range: \00" @.str19603 = private unnamed_addr constant [55 x i8] c"build/cfree/selfhost.ludic:30275: index out of range: \00" @.str19604 = private unnamed_addr constant [5 x i8] c" %c\00" @.str19605 = private unnamed_addr constant [20 x i8] c" = icmp eq i32 %k, \00" @.str19606 = private unnamed_addr constant [2 x i8] c"\0A\00" @.str19607 = private unnamed_addr constant [11 x i8] c" br i1 %c\00" @.str19608 = private unnamed_addr constant [11 x i8] c", label %h\00" @.str19609 = private unnamed_addr constant [11 x i8] c", label %n\00" @.str19610 = private unnamed_addr constant [2 x i8] c"\0A\00" @.str19611 = private unnamed_addr constant [2 x i8] c"h\00" @.str19612 = private unnamed_addr constant [7 x i8] c":\0A %r\00" @.str19613 = private unnamed_addr constant [26 x i8] c" = call i32 @L_serialize_\00" @.str19614 = private unnamed_addr constant [32 x i8] c"(i32 %e, ptr %buf)\0A ret i32 %r\00" @.str19615 = private unnamed_addr constant [2 x i8] c"\0A\00" @.str19616 = private unnamed_addr constant [2 x i8] c"n\00" @.str19617 = private unnamed_addr constant [3 x i8] c":\0A\00" @.str19618 = private unnamed_addr constant [16 x i8] c" ret i32 0\0A}\0A\0A\00" @.str19619 = private unnamed_addr constant [63 x i8] c"define void @ludic_apply(i32 %e, ptr %buf, i32 %len) {\0Aentry:\0A\00" @.str19620 = private unnamed_addr constant [7 x i8] c"L_kind\00" @.str19621 = private unnamed_addr constant [41 x i8] c" %kp = getelementptr inbounds i32, ptr \00" @.str19622 = private unnamed_addr constant [35 x i8] c", i32 %e\0A %k = load i32, ptr %kp\0A\00" @.str19623 = private unnamed_addr constant [55 x i8] c"build/cfree/selfhost.ludic:30291: index out of range: \00" @.str19624 = private unnamed_addr constant [55 x i8] c"build/cfree/selfhost.ludic:30291: index out of range: \00" @.str19625 = private unnamed_addr constant [55 x i8] c"build/cfree/selfhost.ludic:30292: index out of range: \00" @.str19626 = private unnamed_addr constant [5 x i8] c" %c\00" @.str19627 = private unnamed_addr constant [20 x i8] c" = icmp eq i32 %k, \00" @.str19628 = private unnamed_addr constant [2 x i8] c"\0A\00" @.str19629 = private unnamed_addr constant [11 x i8] c" br i1 %c\00" @.str19630 = private unnamed_addr constant [11 x i8] c", label %h\00" @.str19631 = private unnamed_addr constant [11 x i8] c", label %n\00" @.str19632 = private unnamed_addr constant [2 x i8] c"\0A\00" @.str19633 = private unnamed_addr constant [2 x i8] c"h\00" @.str19634 = private unnamed_addr constant [24 x i8] c":\0A call void @L_apply_\00" @.str19635 = private unnamed_addr constant [41 x i8] c"(i32 %e, ptr %buf, i32 %len)\0A ret void\0A\00" @.str19636 = private unnamed_addr constant [2 x i8] c"n\00" @.str19637 = private unnamed_addr constant [3 x i8] c":\0A\00" @.str19638 = private unnamed_addr constant [15 x i8] c" ret void\0A}\0A\0A\00" @.str19639 = private unnamed_addr constant [46 x i8] c"define i32 @ludic_sync_size(i32 %e) {\0Aentry:\0A\00" @.str19640 = private unnamed_addr constant [7 x i8] c"L_kind\00" @.str19641 = private unnamed_addr constant [41 x i8] c" %kp = getelementptr inbounds i32, ptr \00" @.str19642 = private unnamed_addr constant [35 x i8] c", i32 %e\0A %k = load i32, ptr %kp\0A\00" @.str19643 = private unnamed_addr constant [55 x i8] c"build/cfree/selfhost.ludic:30310: index out of range: \00" @.str19644 = private unnamed_addr constant [55 x i8] c"build/cfree/selfhost.ludic:30310: index out of range: \00" @.str19645 = private unnamed_addr constant [55 x i8] c"build/cfree/selfhost.ludic:30311: index out of range: \00" @.str19646 = private unnamed_addr constant [5 x i8] c" %c\00" @.str19647 = private unnamed_addr constant [20 x i8] c" = icmp eq i32 %k, \00" @.str19648 = private unnamed_addr constant [2 x i8] c"\0A\00" @.str19649 = private unnamed_addr constant [11 x i8] c" br i1 %c\00" @.str19650 = private unnamed_addr constant [11 x i8] c", label %h\00" @.str19651 = private unnamed_addr constant [11 x i8] c", label %n\00" @.str19652 = private unnamed_addr constant [2 x i8] c"\0A\00" @.str19653 = private unnamed_addr constant [2 x i8] c"h\00" @.str19654 = private unnamed_addr constant [13 x i8] c":\0A ret i32 \00" @.str19655 = private unnamed_addr constant [55 x i8] c"build/cfree/selfhost.ludic:30314: index out of range: \00" @.str19656 = private unnamed_addr constant [2 x i8] c"\0A\00" @.str19657 = private unnamed_addr constant [2 x i8] c"n\00" @.str19658 = private unnamed_addr constant [3 x i8] c":\0A\00" @.str19659 = private unnamed_addr constant [16 x i8] c" ret i32 0\0A}\0A\0A\00" @.str19660 = private unnamed_addr constant [38 x i8] c"define i32 @L_owner(i32 %e) {\0Aentry:\0A\00" @.str19661 = private unnamed_addr constant [12 x i8] c"L_owner_arr\00" @.str19662 = private unnamed_addr constant [40 x i8] c" %p = getelementptr inbounds i32, ptr \00" @.str19663 = private unnamed_addr constant [50 x i8] c", i32 %e\0A %v = load i32, ptr %p\0A ret i32 %v\0A}\0A\0A\00" @.str19664 = private unnamed_addr constant [52 x i8] c"define void @L_set_owner(i32 %e, i32 %id) {\0Aentry:\0A\00" @.str19665 = private unnamed_addr constant [12 x i8] c"L_owner_arr\00" @.str19666 = private unnamed_addr constant [40 x i8] c" %p = getelementptr inbounds i32, ptr \00" @.str19667 = private unnamed_addr constant [48 x i8] c", i32 %e\0A store i32 %id, ptr %p\0A ret void\0A}\0A\0A\00" @.str19668 = private unnamed_addr constant [41 x i8] c"define i32 @L_is_owner(i32 %e) {\0Aentry:\0A\00" @.str19669 = private unnamed_addr constant [12 x i8] c"L_owner_arr\00" @.str19670 = private unnamed_addr constant [40 x i8] c" %p = getelementptr inbounds i32, ptr \00" @.str19671 = private unnamed_addr constant [34 x i8] c", i32 %e\0A %o = load i32, ptr %p\0A\00" @.str19672 = 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" @.str19673 = private unnamed_addr constant [62 x i8] c"@L_netq = internal global [64 x [2048 x i8]] zeroinitializer\0A\00" @.str19674 = private unnamed_addr constant [56 x i8] c"@L_netlen = internal global [64 x i32] zeroinitializer\0A\00" @.str19675 = private unnamed_addr constant [36 x i8] c"@L_nethead = internal global i32 0\0A\00" @.str19676 = private unnamed_addr constant [36 x i8] c"@L_nettail = internal global i32 0\0A\00" @.str19677 = private unnamed_addr constant [65 x i8] c"define void @L_net_send(i32 %peer, ptr %buf, i32 %len) {\0Aentry:\0A\00" @.str19678 = 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" @.str19679 = 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" @.str19680 = private unnamed_addr constant [65 x i8] c" %t = load i32, ptr @L_nettail\0A %h = load i32, ptr @L_nethead\0A\00" @.str19681 = 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" @.str19682 = private unnamed_addr constant [39 x i8] c" br i1 %full, label %drop, label %go\0A\00" @.str19683 = private unnamed_addr constant [5 x i8] c"go:\0A\00" @.str19684 = 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" @.str19685 = 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" @.str19686 = 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" @.str19687 = private unnamed_addr constant [50 x i8] c" store i32 %tn, ptr @L_nettail\0A br label %drop\0A\00" @.str19688 = private unnamed_addr constant [21 x i8] c"drop:\0A ret void\0A}\0A\0A\00" @.str19689 = private unnamed_addr constant [53 x i8] c"define i32 @L_net_poll(ptr %buf, i32 %cap) {\0Aentry:\0A\00" @.str19690 = 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" @.str19691 = private unnamed_addr constant [40 x i8] c" br i1 %empty, label %none, label %go\0A\00" @.str19692 = private unnamed_addr constant [5 x i8] c"go:\0A\00" @.str19693 = 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" @.str19694 = 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" @.str19695 = 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" @.str19696 = 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" @.str19697 = 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" @.str19698 = private unnamed_addr constant [22 x i8] c"none:\0A ret i32 0\0A}\0A\0A\00" @.str19699 = private unnamed_addr constant [55 x i8] c"build/cfree/selfhost.ludic:30390: index out of range: \00" @.str19700 = private unnamed_addr constant [15 x i8] c"net_has_remote\00" @.str19701 = private unnamed_addr constant [55 x i8] c"build/cfree/selfhost.ludic:30396: index out of range: \00" @.str19702 = private unnamed_addr constant [13 x i8] c"net_event_id\00" @.str19703 = private unnamed_addr constant [9 x i8] c"net_send\00" @.str19704 = private unnamed_addr constant [11 x i8] c"L_net_send\00" @.str19705 = private unnamed_addr constant [9 x i8] c"net_poll\00" @.str19706 = private unnamed_addr constant [11 x i8] c"L_net_poll\00" @.str19707 = private unnamed_addr constant [58 x i8] c"@L_recvbuf = internal global [2048 x i8] zeroinitializer\0A\00" @.str19708 = private unnamed_addr constant [9 x i8] c"net_poll\00" @.str19709 = private unnamed_addr constant [53 x i8] c"define void @L_net_pump() {\0Aentry:\0A br label %loop\0A\00" @.str19710 = private unnamed_addr constant [24 x i8] c"loop:\0A %n = call i32 @\00" @.str19711 = private unnamed_addr constant [28 x i8] c"(ptr @L_recvbuf, i32 2048)\0A\00" @.str19712 = private unnamed_addr constant [68 x i8] c" %done = icmp eq i32 %n, 0\0A br i1 %done, label %fin, label %body\0A\00" @.str19713 = private unnamed_addr constant [41 x i8] c"body:\0A %eid = load i32, ptr @L_recvbuf\0A\00" @.str19714 = private unnamed_addr constant [55 x i8] c"build/cfree/selfhost.ludic:30415: index out of range: \00" @.str19715 = private unnamed_addr constant [14 x i8] c"emit_net_pump\00" @.str19716 = private unnamed_addr constant [5 x i8] c" %c\00" @.str19717 = private unnamed_addr constant [22 x i8] c" = icmp eq i32 %eid, \00" @.str19718 = private unnamed_addr constant [2 x i8] c"\0A\00" @.str19719 = private unnamed_addr constant [11 x i8] c" br i1 %c\00" @.str19720 = private unnamed_addr constant [11 x i8] c", label %h\00" @.str19721 = private unnamed_addr constant [11 x i8] c", label %x\00" @.str19722 = private unnamed_addr constant [2 x i8] c"\0A\00" @.str19723 = private unnamed_addr constant [2 x i8] c"h\00" @.str19724 = private unnamed_addr constant [3 x i8] c":\0A\00" @.str19725 = private unnamed_addr constant [55 x i8] c"build/cfree/selfhost.ludic:30426: index out of range: \00" @.str19726 = private unnamed_addr constant [2 x i8] c"_\00" @.str19727 = private unnamed_addr constant [6 x i8] c" %fa\00" @.str19728 = private unnamed_addr constant [51 x i8] c" = getelementptr inbounds i8, ptr @L_recvbuf, i32 \00" @.str19729 = private unnamed_addr constant [2 x i8] c"\0A\00" @.str19730 = private unnamed_addr constant [6 x i8] c" %fv\00" @.str19731 = private unnamed_addr constant [9 x i8] c" = load \00" @.str19732 = private unnamed_addr constant [10 x i8] c", ptr %fa\00" @.str19733 = private unnamed_addr constant [2 x i8] c"\0A\00" @.str19734 = private unnamed_addr constant [3 x i8] c", \00" @.str19735 = private unnamed_addr constant [5 x i8] c" %fv\00" @.str19736 = private unnamed_addr constant [55 x i8] c"build/cfree/selfhost.ludic:30432: index out of range: \00" @.str19737 = private unnamed_addr constant [17 x i8] c" call void @ev_\00" @.str19738 = private unnamed_addr constant [2 x i8] c"(\00" @.str19739 = private unnamed_addr constant [3 x i8] c")\0A\00" @.str19740 = private unnamed_addr constant [18 x i8] c" br label %loop\0A\00" @.str19741 = private unnamed_addr constant [2 x i8] c"x\00" @.str19742 = private unnamed_addr constant [3 x i8] c":\0A\00" @.str19743 = private unnamed_addr constant [18 x i8] c" br label %loop\0A\00" @.str19744 = private unnamed_addr constant [20 x i8] c"fin:\0A ret void\0A}\0A\0A\00" @.str19745 = private unnamed_addr constant [55 x i8] c"build/cfree/selfhost.ludic:30451: index out of range: \00" @.str19746 = private unnamed_addr constant [9 x i8] c"emit_net\00" @.str19747 = private unnamed_addr constant [55 x i8] c"build/cfree/selfhost.ludic:30451: index out of range: \00" @.str19748 = private unnamed_addr constant [55 x i8] c"build/cfree/selfhost.ludic:30452: index out of range: \00" @.str19749 = private unnamed_addr constant [55 x i8] c"build/cfree/selfhost.ludic:30453: index out of range: \00" @.str19750 = private unnamed_addr constant [58 x i8] c"@L_sendbuf = internal global [2048 x i8] zeroinitializer\0A\00" @.str19751 = private unnamed_addr constant [6 x i8] c"panel\00" @.str19752 = private unnamed_addr constant [4 x i8] c"col\00" @.str19753 = private unnamed_addr constant [4 x i8] c"row\00" @.str19754 = private unnamed_addr constant [6 x i8] c"label\00" @.str19755 = private unnamed_addr constant [7 x i8] c"button\00" @.str19756 = private unnamed_addr constant [6 x i8] c"image\00" @.str19757 = private unnamed_addr constant [7 x i8] c"spacer\00" @.str19758 = private unnamed_addr constant [55 x i8] c"build/cfree/selfhost.ludic:30484: index out of range: \00" @.str19759 = private unnamed_addr constant [8 x i8] c"ui_prop\00" @.str19760 = private unnamed_addr constant [55 x i8] c"build/cfree/selfhost.ludic:30484: index out of range: \00" @.str19761 = private unnamed_addr constant [55 x i8] c"build/cfree/selfhost.ludic:30490: index out of range: \00" @.str19762 = private unnamed_addr constant [24 x i8] c"ui_props_with_inherited\00" @.str19763 = private unnamed_addr constant [55 x i8] c"build/cfree/selfhost.ludic:30493: index out of range: \00" @.str19764 = private unnamed_addr constant [5 x i8] c"font\00" @.str19765 = private unnamed_addr constant [5 x i8] c"size\00" @.str19766 = private unnamed_addr constant [3 x i8] c"fg\00" @.str19767 = private unnamed_addr constant [6 x i8] c"align\00" @.str19768 = private unnamed_addr constant [55 x i8] c"build/cfree/selfhost.ludic:30498: index out of range: \00" @.str19769 = private unnamed_addr constant [55 x i8] c"build/cfree/selfhost.ludic:30499: index out of range: \00" @.str19770 = private unnamed_addr constant [55 x i8] c"build/cfree/selfhost.ludic:30501: index out of range: \00" @.str19771 = private unnamed_addr constant [55 x i8] c"build/cfree/selfhost.ludic:30501: index out of range: \00" @.str19772 = private unnamed_addr constant [55 x i8] c"build/cfree/selfhost.ludic:30502: index out of range: \00" @.str19773 = private unnamed_addr constant [55 x i8] c"build/cfree/selfhost.ludic:30503: index out of range: \00" @.str19774 = private unnamed_addr constant [11 x i8] c"ui_flatten\00" @.str19775 = private unnamed_addr constant [55 x i8] c"build/cfree/selfhost.ludic:30514: index out of range: \00" @.str19776 = private unnamed_addr constant [15 x i8] c"ui_flatten_all\00" @.str19777 = private unnamed_addr constant [55 x i8] c"build/cfree/selfhost.ludic:30520: index out of range: \00" @.str19778 = private unnamed_addr constant [55 x i8] c"build/cfree/selfhost.ludic:30520: index out of range: \00" @.str19779 = private unnamed_addr constant [55 x i8] c"build/cfree/selfhost.ludic:30520: index out of range: \00" @.str19780 = private unnamed_addr constant [55 x i8] c"build/cfree/selfhost.ludic:30526: index out of range: \00" @.str19781 = private unnamed_addr constant [7 x i8] c"has_ui\00" @.str19782 = private unnamed_addr constant [55 x i8] c"build/cfree/selfhost.ludic:30526: index out of range: \00" @.str19783 = private unnamed_addr constant [12 x i8] c"ui_index_of\00" @.str19784 = private unnamed_addr constant [55 x i8] c"build/cfree/selfhost.ludic:30537: index out of range: \00" @.str19785 = private unnamed_addr constant [55 x i8] c"build/cfree/selfhost.ludic:30537: index out of range: \00" @.str19786 = private unnamed_addr constant [55 x i8] c"build/cfree/selfhost.ludic:30537: index out of range: \00" @.str19787 = private unnamed_addr constant [55 x i8] c"build/cfree/selfhost.ludic:30537: index out of range: \00" @.str19788 = private unnamed_addr constant [55 x i8] c"build/cfree/selfhost.ludic:30542: index out of range: \00" @.str19789 = private unnamed_addr constant [3 x i8] c"id\00" @.str19790 = private unnamed_addr constant [13 x i8] c" call void \00" @.str19791 = private unnamed_addr constant [10 x i8] c"rt_ui_set\00" @.str19792 = private unnamed_addr constant [10 x i8] c"ll_ui_set\00" @.str19793 = private unnamed_addr constant [6 x i8] c"(i32 \00" @.str19794 = private unnamed_addr constant [7 x i8] c", i32 \00" @.str19795 = private unnamed_addr constant [7 x i8] c", i32 \00" @.str19796 = private unnamed_addr constant [3 x i8] c")\0A\00" @.str19797 = private unnamed_addr constant [2 x i8] c"w\00" @.str19798 = private unnamed_addr constant [2 x i8] c"h\00" @.str19799 = private unnamed_addr constant [2 x i8] c"x\00" @.str19800 = private unnamed_addr constant [2 x i8] c"y\00" @.str19801 = private unnamed_addr constant [4 x i8] c"pad\00" @.str19802 = private unnamed_addr constant [4 x i8] c"gap\00" @.str19803 = private unnamed_addr constant [3 x i8] c"bg\00" @.str19804 = private unnamed_addr constant [3 x i8] c"fg\00" @.str19805 = private unnamed_addr constant [7 x i8] c"border\00" @.str19806 = private unnamed_addr constant [5 x i8] c"grow\00" @.str19807 = private unnamed_addr constant [5 x i8] c"font\00" @.str19808 = private unnamed_addr constant [5 x i8] c"size\00" @.str19809 = private unnamed_addr constant [6 x i8] c"inset\00" @.str19810 = private unnamed_addr constant [6 x i8] c"focus\00" @.str19811 = private unnamed_addr constant [13 x i8] c" call void \00" @.str19812 = private unnamed_addr constant [12 x i8] c"rt_ui_reset\00" @.str19813 = private unnamed_addr constant [14 x i8] c"emit_ui_build\00" @.str19814 = private unnamed_addr constant [6 x i8] c"(i32 \00" @.str19815 = private unnamed_addr constant [3 x i8] c")\0A\00" @.str19816 = private unnamed_addr constant [55 x i8] c"build/cfree/selfhost.ludic:30573: index out of range: \00" @.str19817 = private unnamed_addr constant [55 x i8] c"build/cfree/selfhost.ludic:30576: index out of range: \00" @.str19818 = private unnamed_addr constant [2 x i8] c"1\00" @.str19819 = private unnamed_addr constant [55 x i8] c"build/cfree/selfhost.ludic:30581: index out of range: \00" @.str19820 = private unnamed_addr constant [3 x i8] c"id\00" @.str19821 = private unnamed_addr constant [5 x i8] c"goto\00" @.str19822 = private unnamed_addr constant [5 x i8] c"text\00" @.str19823 = private unnamed_addr constant [13 x i8] c" call void \00" @.str19824 = private unnamed_addr constant [18 x i8] c"rt_ui_static_text\00" @.str19825 = private unnamed_addr constant [6 x i8] c"(i32 \00" @.str19826 = private unnamed_addr constant [7 x i8] c", ptr \00" @.str19827 = private unnamed_addr constant [3 x i8] c")\0A\00" @.str19828 = private unnamed_addr constant [5 x i8] c"skin\00" @.str19829 = private unnamed_addr constant [6 x i8] c"image\00" @.str19830 = private unnamed_addr constant [10 x i8] c"call i32 \00" @.str19831 = private unnamed_addr constant [14 x i8] c"rt_image_load\00" @.str19832 = private unnamed_addr constant [6 x i8] c"(ptr \00" @.str19833 = private unnamed_addr constant [2 x i8] c")\00" @.str19834 = private unnamed_addr constant [5 x i8] c"skin\00" @.str19835 = private unnamed_addr constant [6 x i8] c"align\00" @.str19836 = private unnamed_addr constant [7 x i8] c"center\00" @.str19837 = private unnamed_addr constant [4 x i8] c"end\00" @.str19838 = private unnamed_addr constant [2 x i8] c"1\00" @.str19839 = private unnamed_addr constant [34 x i8] c"define void @ui_build() {\0Aentry:\0A\00" @.str19840 = private unnamed_addr constant [15 x i8] c" ret void\0A}\0A\0A\00" @.str19841 = private unnamed_addr constant [3 x i8] c", \00" @.str19842 = private unnamed_addr constant [55 x i8] c"build/cfree/selfhost.ludic:30625: index out of range: \00" @.str19843 = private unnamed_addr constant [16 x i8] c"emit_params_sig\00" @.str19844 = private unnamed_addr constant [7 x i8] c" %arg_\00" @.str19845 = private unnamed_addr constant [55 x i8] c"build/cfree/selfhost.ludic:30625: index out of range: \00" @.str19846 = private unnamed_addr constant [5 x i8] c"void\00" @.str19847 = private unnamed_addr constant [20 x i8] c" %retval = alloca \00" @.str19848 = private unnamed_addr constant [2 x i8] c"\0A\00" @.str19849 = private unnamed_addr constant [55 x i8] c"build/cfree/selfhost.ludic:30645: index out of range: \00" @.str19850 = private unnamed_addr constant [8 x i8] c"emit_fn\00" @.str19851 = private unnamed_addr constant [9 x i8] c" store \00" @.str19852 = private unnamed_addr constant [7 x i8] c" %arg_\00" @.str19853 = private unnamed_addr constant [7 x i8] c", ptr \00" @.str19854 = private unnamed_addr constant [2 x i8] c"\0A\00" @.str19855 = private unnamed_addr constant [59 x i8] c" %decl.in = atomicrmw add ptr @lp_fdecl, i32 1 monotonic\0A\00" @.str19856 = private unnamed_addr constant [40 x i8] c" %decl.keep = load i32, ptr @lp_fdecl\0A\00" @.str19857 = private unnamed_addr constant [5 x i8] c"void\00" @.str19858 = private unnamed_addr constant [11 x i8] c"function '\00" @.str19859 = private unnamed_addr constant [41 x i8] c"' can reach its end without returning a \00" @.str19860 = private unnamed_addr constant [17 x i8] c" br label %ret\0A\00" @.str19861 = private unnamed_addr constant [6 x i8] c"ret:\0A\00" @.str19862 = private unnamed_addr constant [39 x i8] c" store i32 %decl.keep, ptr @lp_fdecl\0A\00" @.str19863 = private unnamed_addr constant [60 x i8] c" %decl.out = atomicrmw sub ptr @lp_fdecl, i32 1 monotonic\0A\00" @.str19864 = private unnamed_addr constant [5 x i8] c"void\00" @.str19865 = private unnamed_addr constant [12 x i8] c" ret void\0A\00" @.str19866 = private unnamed_addr constant [6 x i8] c"load \00" @.str19867 = private unnamed_addr constant [14 x i8] c", ptr %retval\00" @.str19868 = private unnamed_addr constant [7 x i8] c" ret \00" @.str19869 = private unnamed_addr constant [2 x i8] c" \00" @.str19870 = private unnamed_addr constant [2 x i8] c"\0A\00" @.str19871 = private unnamed_addr constant [8 x i8] c"define \00" @.str19872 = private unnamed_addr constant [6 x i8] c" @fn_\00" @.str19873 = private unnamed_addr constant [2 x i8] c"(\00" @.str19874 = private unnamed_addr constant [12 x i8] c") {\0Aentry:\0A\00" @.str19875 = private unnamed_addr constant [4 x i8] c"}\0A\0A\00" @.str19876 = private unnamed_addr constant [1 x i8] c"\00" @.str19877 = private unnamed_addr constant [6 x i8] c"entry\00" @.str19878 = private unnamed_addr constant [4 x i8] c"int\00" @.str19879 = private unnamed_addr constant [24 x i8] c" %retval = alloca i32\0A\00" @.str19880 = private unnamed_addr constant [32 x i8] c" store i32 %argc, ptr @L_argc\0A\00" @.str19881 = private unnamed_addr constant [32 x i8] c" store ptr %argv, ptr @L_argv\0A\00" @.str19882 = private unnamed_addr constant [28 x i8] c" store i32 0, ptr %retval\0A\00" @.str19883 = private unnamed_addr constant [31 x i8] c" call void @L_init_runtime()\0A\00" @.str19884 = private unnamed_addr constant [28 x i8] c" call void @L_grow(i32 1)\0A\00" @.str19885 = private unnamed_addr constant [8 x i8] c"rt_init\00" @.str19886 = private unnamed_addr constant [13 x i8] c" call void \00" @.str19887 = private unnamed_addr constant [8 x i8] c"rt_init\00" @.str19888 = private unnamed_addr constant [10 x i8] c"emit_main\00" @.str19889 = private unnamed_addr constant [4 x i8] c"()\0A\00" @.str19890 = private unnamed_addr constant [31 x i8] c" call void @L_init_globals()\0A\00" @.str19891 = private unnamed_addr constant [17 x i8] c" br label %ret\0A\00" @.str19892 = private unnamed_addr constant [6 x i8] c"ret:\0A\00" @.str19893 = private unnamed_addr constant [22 x i8] c"load i32, ptr %retval\00" @.str19894 = private unnamed_addr constant [11 x i8] c" ret i32 \00" @.str19895 = private unnamed_addr constant [2 x i8] c"\0A\00" @.str19896 = private unnamed_addr constant [49 x i8] c"define i32 @main(i32 %argc, ptr %argv) {\0Aentry:\0A\00" @.str19897 = private unnamed_addr constant [3 x i8] c"}\0A\00" @.str19898 = private unnamed_addr constant [6 x i8] c"test \00" @.str19899 = private unnamed_addr constant [13 x i8] c"emit_test_fn\00" @.str19900 = private unnamed_addr constant [5 x i8] c"void\00" @.str19901 = private unnamed_addr constant [17 x i8] c" br label %ret\0A\00" @.str19902 = private unnamed_addr constant [17 x i8] c"ret:\0A ret void\0A\00" @.str19903 = private unnamed_addr constant [23 x i8] c"define void @fn__test_\00" @.str19904 = private unnamed_addr constant [13 x i8] c"() {\0Aentry:\0A\00" @.str19905 = private unnamed_addr constant [4 x i8] c"}\0A\0A\00" @.str19906 = private unnamed_addr constant [38 x i8] c"@L_test_fail = internal global i32 0\0A\00" @.str19907 = 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" @.str19908 = private unnamed_addr constant [91 x i8] c"@.fmt_test_none = private unnamed_addr constant [20 x i8] c\22no test named \5C22%s\5C22\5C0A\5C00\22\0A\00" @.str19909 = private unnamed_addr constant [55 x i8] c"build/cfree/selfhost.ludic:30736: index out of range: \00" @.str19910 = private unnamed_addr constant [17 x i8] c"emit_test_runner\00" @.str19911 = 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" @.str19912 = private unnamed_addr constant [102 x i8] c"@.fmt_expect_str = private unnamed_addr constant [26 x i8] c\22%s (got \5C22%s\5C22, want \5C22%s\5C22)\5C0A\5C00\22\0A\00" @.str19913 = private unnamed_addr constant [89 x i8] c"@.fmt_expect_fp = private unnamed_addr constant [22 x i8] c\22%s (got %g, want %g)\5C0A\5C00\22\0A\00" @.str19914 = private unnamed_addr constant [49 x i8] c"define i32 @main(i32 %argc, ptr %argv) {\0Aentry:\0A\00" @.str19915 = private unnamed_addr constant [32 x i8] c" store i32 %argc, ptr @L_argc\0A\00" @.str19916 = private unnamed_addr constant [32 x i8] c" store ptr %argv, ptr @L_argv\0A\00" @.str19917 = private unnamed_addr constant [51 x i8] c" %failed = alloca i32\0A store i32 0, ptr %failed\0A\00" @.str19918 = private unnamed_addr constant [45 x i8] c" %ran = alloca i32\0A store i32 0, ptr %ran\0A\00" @.str19919 = private unnamed_addr constant [54 x i8] c" %filter = alloca ptr\0A store ptr null, ptr %filter\0A\00" @.str19920 = private unnamed_addr constant [6 x i8] c"tfilt\00" @.str19921 = private unnamed_addr constant [7 x i8] c"tbegin\00" @.str19922 = private unnamed_addr constant [22 x i8] c"icmp sgt i32 %argc, 1\00" @.str19923 = private unnamed_addr constant [9 x i8] c" br i1 \00" @.str19924 = private unnamed_addr constant [10 x i8] c", label %\00" @.str19925 = private unnamed_addr constant [10 x i8] c", label %\00" @.str19926 = private unnamed_addr constant [2 x i8] c"\0A\00" @.str19927 = private unnamed_addr constant [3 x i8] c":\0A\00" @.str19928 = private unnamed_addr constant [36 x i8] c"getelementptr ptr, ptr %argv, i64 1\00" @.str19929 = private unnamed_addr constant [15 x i8] c"load ptr, ptr \00" @.str19930 = private unnamed_addr constant [13 x i8] c" store ptr \00" @.str19931 = private unnamed_addr constant [15 x i8] c", ptr %filter\0A\00" @.str19932 = private unnamed_addr constant [13 x i8] c" br label %\00" @.str19933 = private unnamed_addr constant [2 x i8] c"\0A\00" @.str19934 = private unnamed_addr constant [3 x i8] c":\0A\00" @.str19935 = private unnamed_addr constant [6 x i8] c"tlist\00" @.str19936 = private unnamed_addr constant [6 x i8] c"trun0\00" @.str19937 = private unnamed_addr constant [22 x i8] c"load ptr, ptr %filter\00" @.str19938 = private unnamed_addr constant [13 x i8] c"icmp ne ptr \00" @.str19939 = private unnamed_addr constant [7 x i8] c", null\00" @.str19940 = private unnamed_addr constant [6 x i8] c"tlcmp\00" @.str19941 = private unnamed_addr constant [9 x i8] c" br i1 \00" @.str19942 = private unnamed_addr constant [10 x i8] c", label %\00" @.str19943 = private unnamed_addr constant [10 x i8] c", label %\00" @.str19944 = private unnamed_addr constant [2 x i8] c"\0A\00" @.str19945 = private unnamed_addr constant [3 x i8] c":\0A\00" @.str19946 = private unnamed_addr constant [7 x i8] c"--list\00" @.str19947 = private unnamed_addr constant [22 x i8] c"call i32 @strcmp(ptr \00" @.str19948 = private unnamed_addr constant [7 x i8] c", ptr \00" @.str19949 = private unnamed_addr constant [2 x i8] c")\00" @.str19950 = private unnamed_addr constant [13 x i8] c"icmp eq i32 \00" @.str19951 = private unnamed_addr constant [4 x i8] c", 0\00" @.str19952 = private unnamed_addr constant [9 x i8] c" br i1 \00" @.str19953 = private unnamed_addr constant [10 x i8] c", label %\00" @.str19954 = private unnamed_addr constant [10 x i8] c", label %\00" @.str19955 = private unnamed_addr constant [2 x i8] c"\0A\00" @.str19956 = private unnamed_addr constant [3 x i8] c":\0A\00" @.str19957 = private unnamed_addr constant [55 x i8] c"build/cfree/selfhost.ludic:30772: index out of range: \00" @.str19958 = private unnamed_addr constant [51 x i8] c" call i32 (ptr, ...) @printf(ptr @.fmt_line, ptr \00" @.str19959 = private unnamed_addr constant [3 x i8] c")\0A\00" @.str19960 = private unnamed_addr constant [13 x i8] c" ret i32 0\0A\00" @.str19961 = private unnamed_addr constant [3 x i8] c":\0A\00" @.str19962 = private unnamed_addr constant [31 x i8] c" call void @L_init_runtime()\0A\00" @.str19963 = private unnamed_addr constant [28 x i8] c" call void @L_grow(i32 1)\0A\00" @.str19964 = private unnamed_addr constant [24 x i8] c" call void @rt_init()\0A\00" @.str19965 = private unnamed_addr constant [31 x i8] c" call void @L_init_globals()\0A\00" @.str19966 = private unnamed_addr constant [8 x i8] c"ok - \00" @.str19967 = private unnamed_addr constant [55 x i8] c"build/cfree/selfhost.ludic:30784: index out of range: \00" @.str19968 = private unnamed_addr constant [8 x i8] c"FAIL - \00" @.str19969 = private unnamed_addr constant [55 x i8] c"build/cfree/selfhost.ludic:30785: index out of range: \00" @.str19970 = private unnamed_addr constant [55 x i8] c"build/cfree/selfhost.ludic:30786: index out of range: \00" @.str19971 = private unnamed_addr constant [5 x i8] c"tcmp\00" @.str19972 = private unnamed_addr constant [5 x i8] c"trun\00" @.str19973 = private unnamed_addr constant [6 x i8] c"tskip\00" @.str19974 = private unnamed_addr constant [22 x i8] c"load ptr, ptr %filter\00" @.str19975 = private unnamed_addr constant [13 x i8] c"icmp eq ptr \00" @.str19976 = private unnamed_addr constant [7 x i8] c", null\00" @.str19977 = private unnamed_addr constant [9 x i8] c" br i1 \00" @.str19978 = private unnamed_addr constant [10 x i8] c", label %\00" @.str19979 = private unnamed_addr constant [10 x i8] c", label %\00" @.str19980 = private unnamed_addr constant [2 x i8] c"\0A\00" @.str19981 = private unnamed_addr constant [3 x i8] c":\0A\00" @.str19982 = private unnamed_addr constant [22 x i8] c"call i32 @strcmp(ptr \00" @.str19983 = private unnamed_addr constant [7 x i8] c", ptr \00" @.str19984 = private unnamed_addr constant [2 x i8] c")\00" @.str19985 = private unnamed_addr constant [13 x i8] c"icmp eq i32 \00" @.str19986 = private unnamed_addr constant [4 x i8] c", 0\00" @.str19987 = private unnamed_addr constant [9 x i8] c" br i1 \00" @.str19988 = private unnamed_addr constant [10 x i8] c", label %\00" @.str19989 = private unnamed_addr constant [10 x i8] c", label %\00" @.str19990 = private unnamed_addr constant [2 x i8] c"\0A\00" @.str19991 = private unnamed_addr constant [3 x i8] c":\0A\00" @.str19992 = private unnamed_addr constant [19 x i8] c"load i32, ptr %ran\00" @.str19993 = private unnamed_addr constant [9 x i8] c"add i32 \00" @.str19994 = private unnamed_addr constant [4 x i8] c", 1\00" @.str19995 = private unnamed_addr constant [13 x i8] c" store i32 \00" @.str19996 = private unnamed_addr constant [12 x i8] c", ptr %ran\0A\00" @.str19997 = private unnamed_addr constant [33 x i8] c" store i32 0, ptr @L_test_fail\0A\00" @.str19998 = private unnamed_addr constant [31 x i8] c" call void @L_init_globals()\0A\00" @.str19999 = private unnamed_addr constant [31 x i8] c" call void @L_reset_states()\0A\00" @.str20000 = private unnamed_addr constant [23 x i8] c" call void @fn__test_\00" @.str20001 = private unnamed_addr constant [4 x i8] c"()\0A\00" @.str20002 = private unnamed_addr constant [27 x i8] c"load i32, ptr @L_test_fail\00" @.str20003 = private unnamed_addr constant [13 x i8] c"icmp ne i32 \00" @.str20004 = private unnamed_addr constant [4 x i8] c", 0\00" @.str20005 = private unnamed_addr constant [6 x i8] c"tpass\00" @.str20006 = private unnamed_addr constant [6 x i8] c"tfail\00" @.str20007 = private unnamed_addr constant [6 x i8] c"tdone\00" @.str20008 = private unnamed_addr constant [9 x i8] c" br i1 \00" @.str20009 = private unnamed_addr constant [10 x i8] c", label %\00" @.str20010 = private unnamed_addr constant [10 x i8] c", label %\00" @.str20011 = private unnamed_addr constant [2 x i8] c"\0A\00" @.str20012 = private unnamed_addr constant [3 x i8] c":\0A\00" @.str20013 = private unnamed_addr constant [51 x i8] c" call i32 (ptr, ...) @printf(ptr @.fmt_line, ptr \00" @.str20014 = private unnamed_addr constant [3 x i8] c")\0A\00" @.str20015 = private unnamed_addr constant [13 x i8] c" br label %\00" @.str20016 = private unnamed_addr constant [2 x i8] c"\0A\00" @.str20017 = private unnamed_addr constant [3 x i8] c":\0A\00" @.str20018 = private unnamed_addr constant [22 x i8] c"load i32, ptr %failed\00" @.str20019 = private unnamed_addr constant [9 x i8] c"add i32 \00" @.str20020 = private unnamed_addr constant [4 x i8] c", 1\00" @.str20021 = private unnamed_addr constant [13 x i8] c" store i32 \00" @.str20022 = private unnamed_addr constant [15 x i8] c", ptr %failed\0A\00" @.str20023 = private unnamed_addr constant [51 x i8] c" call i32 (ptr, ...) @printf(ptr @.fmt_line, ptr \00" @.str20024 = private unnamed_addr constant [3 x i8] c")\0A\00" @.str20025 = private unnamed_addr constant [13 x i8] c" br label %\00" @.str20026 = private unnamed_addr constant [2 x i8] c"\0A\00" @.str20027 = private unnamed_addr constant [3 x i8] c":\0A\00" @.str20028 = private unnamed_addr constant [13 x i8] c" br label %\00" @.str20029 = private unnamed_addr constant [2 x i8] c"\0A\00" @.str20030 = private unnamed_addr constant [3 x i8] c":\0A\00" @.str20031 = private unnamed_addr constant [6 x i8] c"tnone\00" @.str20032 = private unnamed_addr constant [5 x i8] c"tsum\00" @.str20033 = private unnamed_addr constant [19 x i8] c"load i32, ptr %ran\00" @.str20034 = private unnamed_addr constant [22 x i8] c"load ptr, ptr %filter\00" @.str20035 = private unnamed_addr constant [13 x i8] c"icmp ne ptr \00" @.str20036 = private unnamed_addr constant [7 x i8] c", null\00" @.str20037 = private unnamed_addr constant [13 x i8] c"icmp eq i32 \00" @.str20038 = private unnamed_addr constant [4 x i8] c", 0\00" @.str20039 = private unnamed_addr constant [8 x i8] c"and i1 \00" @.str20040 = private unnamed_addr constant [3 x i8] c", \00" @.str20041 = private unnamed_addr constant [9 x i8] c" br i1 \00" @.str20042 = private unnamed_addr constant [10 x i8] c", label %\00" @.str20043 = private unnamed_addr constant [10 x i8] c", label %\00" @.str20044 = private unnamed_addr constant [2 x i8] c"\0A\00" @.str20045 = private unnamed_addr constant [3 x i8] c":\0A\00" @.str20046 = private unnamed_addr constant [56 x i8] c" call i32 (ptr, ...) @printf(ptr @.fmt_test_none, ptr \00" @.str20047 = private unnamed_addr constant [3 x i8] c")\0A\00" @.str20048 = private unnamed_addr constant [13 x i8] c" ret i32 1\0A\00" @.str20049 = private unnamed_addr constant [3 x i8] c":\0A\00" @.str20050 = private unnamed_addr constant [22 x i8] c"load i32, ptr %failed\00" @.str20051 = private unnamed_addr constant [9 x i8] c"sub i32 \00" @.str20052 = private unnamed_addr constant [3 x i8] c", \00" @.str20053 = private unnamed_addr constant [55 x i8] c" call i32 (ptr, ...) @printf(ptr @.fmt_test_sum, i32 \00" @.str20054 = private unnamed_addr constant [7 x i8] c", i32 \00" @.str20055 = private unnamed_addr constant [3 x i8] c")\0A\00" @.str20056 = private unnamed_addr constant [13 x i8] c"icmp eq i32 \00" @.str20057 = private unnamed_addr constant [4 x i8] c", 0\00" @.str20058 = private unnamed_addr constant [11 x i8] c"select i1 \00" @.str20059 = private unnamed_addr constant [15 x i8] c", i32 0, i32 1\00" @.str20060 = private unnamed_addr constant [11 x i8] c" ret i32 \00" @.str20061 = private unnamed_addr constant [4 x i8] c"\0A}\0A\00" @.str20062 = private unnamed_addr constant [20 x i8] c"check_duplicate_fns\00" @.str20063 = private unnamed_addr constant [55 x i8] c"build/cfree/selfhost.ludic:30852: index out of range: \00" @.str20064 = private unnamed_addr constant [11 x i8] c"function '\00" @.str20065 = private unnamed_addr constant [30 x i8] c"' is defined twice (first in \00" @.str20066 = private unnamed_addr constant [2 x i8] c":\00" @.str20067 = private unnamed_addr constant [2 x i8] c")\00" @.str20068 = private unnamed_addr constant [1 x i8] c"\00" @.str20069 = private unnamed_addr constant [1 x i8] c"\00" @.str20070 = private unnamed_addr constant [1 x i8] c"\00" @.str20071 = private unnamed_addr constant [1 x i8] c"\00" @.str20072 = private unnamed_addr constant [1 x i8] c"\00" @.str20073 = private unnamed_addr constant [1 x i8] c"\00" @.str20074 = private unnamed_addr constant [3 x i8] c": \00" @.str20075 = private unnamed_addr constant [10 x i8] c"dup_whose\00" @.str20076 = private unnamed_addr constant [126 x i8] c" exports it, and exported names are one namespace - rename this one, or declare it without export inside a module of your own\00" @.str20077 = private unnamed_addr constant [22 x i8] c"check_duplicate_decls\00" @.str20078 = private unnamed_addr constant [55 x i8] c"build/cfree/selfhost.ludic:30889: index out of range: \00" @.str20079 = private unnamed_addr constant [2 x i8] c":\00" @.str20080 = private unnamed_addr constant [2 x i8] c"'\00" @.str20081 = private unnamed_addr constant [30 x i8] c"' is defined twice (first in \00" @.str20082 = private unnamed_addr constant [2 x i8] c":\00" @.str20083 = private unnamed_addr constant [2 x i8] c")\00" @.str20084 = private unnamed_addr constant [13 x i8] c"emit_program\00" @.str20085 = private unnamed_addr constant [10 x i8] c"new []Val\00" @.str20086 = private unnamed_addr constant [55 x i8] c"build/cfree/selfhost.ludic:30937: index out of range: \00" @.str20087 = private unnamed_addr constant [55 x i8] c"build/cfree/selfhost.ludic:30939: index out of range: \00" @.str20088 = private unnamed_addr constant [55 x i8] c"build/cfree/selfhost.ludic:30957: index out of range: \00" @.str20089 = private unnamed_addr constant [55 x i8] c"build/cfree/selfhost.ludic:30957: index out of range: \00" @.str20090 = private unnamed_addr constant [55 x i8] c"build/cfree/selfhost.ludic:30962: index out of range: \00" @.str20091 = private unnamed_addr constant [55 x i8] c"build/cfree/selfhost.ludic:30962: index out of range: \00" @.str20092 = private unnamed_addr constant [36 x i8] c"@L_running = internal global i32 1\0A\00" @.str20093 = private unnamed_addr constant [23 x i8] c"declare i32 @getpid()\0A\00" @.str20094 = private unnamed_addr constant [37 x i8] c"declare i32 @fprintf(ptr, ptr, ...)\0A\00" @.str20095 = 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" @.str20096 = private unnamed_addr constant [37 x i8] c"declare i32 @fprintf(ptr, ptr, ...)\0A\00" @.str20097 = private unnamed_addr constant [78 x i8] c"@.fmt_bounds = private unnamed_addr constant [14 x i8] c\22%s%d, len %d\5C0A\5C00\22\0A\00" @.str20098 = private unnamed_addr constant [34 x i8] c"%Result = type { i32, i32, ptr }\0A\00" @.str20099 = private unnamed_addr constant [29 x i8] c"%Option = type { i32, i32 }\0A\00" @.str20100 = private unnamed_addr constant [33 x i8] c"@L_cov_lines = internal global [\00" @.str20101 = private unnamed_addr constant [10 x i8] c" x i32] [\00" @.str20102 = private unnamed_addr constant [3 x i8] c", \00" @.str20103 = private unnamed_addr constant [5 x i8] c"i32 \00" @.str20104 = private unnamed_addr constant [55 x i8] c"build/cfree/selfhost.ludic:31020: index out of range: \00" @.str20105 = private unnamed_addr constant [17 x i8] c"emit_cov_runtime\00" @.str20106 = private unnamed_addr constant [3 x i8] c"]\0A\00" @.str20107 = private unnamed_addr constant [32 x i8] c"@L_cov_hits = internal global [\00" @.str20108 = private unnamed_addr constant [25 x i8] c" x i32] zeroinitializer\0A\00" @.str20109 = private unnamed_addr constant [32 x i8] c"@L_cov_n = internal global i32 \00" @.str20110 = private unnamed_addr constant [2 x i8] c"\0A\00" @.str20111 = private unnamed_addr constant [15 x i8] c"LUDIC_COVERAGE\00" @.str20112 = private unnamed_addr constant [10 x i8] c"ludic.cov\00" @.str20113 = private unnamed_addr constant [2 x i8] c"w\00" @.str20114 = 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" @.str20115 = 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" @.str20116 = private unnamed_addr constant [37 x i8] c"declare i32 @fprintf(ptr, ptr, ...)\0A\00" @.str20117 = private unnamed_addr constant [26 x i8] c"declare i32 @atexit(ptr)\0A\00" @.str20118 = private unnamed_addr constant [34 x i8] c"define void @cov_dump() {\0Aentry:\0A\00" @.str20119 = private unnamed_addr constant [31 x i8] c" %env = call ptr @getenv(ptr \00" @.str20120 = private unnamed_addr constant [3 x i8] c")\0A\00" @.str20121 = private unnamed_addr constant [35 x i8] c" %noenv = icmp eq ptr %env, null\0A\00" @.str20122 = private unnamed_addr constant [33 x i8] c" %path = select i1 %noenv, ptr \00" @.str20123 = private unnamed_addr constant [12 x i8] c", ptr %env\0A\00" @.str20124 = private unnamed_addr constant [39 x i8] c" %f = call ptr @fopen(ptr %path, ptr \00" @.str20125 = private unnamed_addr constant [3 x i8] c")\0A\00" @.str20126 = private unnamed_addr constant [31 x i8] c" %bad = icmp eq ptr %f, null\0A\00" @.str20127 = private unnamed_addr constant [41 x i8] c" br i1 %bad, label %done, label %write\0A\00" @.str20128 = private unnamed_addr constant [8 x i8] c"write:\0A\00" @.str20129 = private unnamed_addr constant [68 x i8] c" call i32 (ptr, ptr, ...) @fprintf(ptr %f, ptr @.cov_filefmt, ptr \00" @.str20130 = private unnamed_addr constant [3 x i8] c")\0A\00" @.str20131 = private unnamed_addr constant [18 x i8] c" br label %loop\0A\00" @.str20132 = private unnamed_addr constant [7 x i8] c"loop:\0A\00" @.str20133 = private unnamed_addr constant [46 x i8] c" %i = phi i32 [ 0, %write ], [ %i1, %body ]\0A\00" @.str20134 = private unnamed_addr constant [26 x i8] c" %go = icmp slt i32 %i, \00" @.str20135 = private unnamed_addr constant [2 x i8] c"\0A\00" @.str20136 = private unnamed_addr constant [40 x i8] c" br i1 %go, label %body, label %close\0A\00" @.str20137 = private unnamed_addr constant [7 x i8] c"body:\0A\00" @.str20138 = private unnamed_addr constant [33 x i8] c" %lp = getelementptr inbounds [\00" @.str20139 = private unnamed_addr constant [42 x i8] c" x i32], ptr @L_cov_lines, i32 0, i32 %i\0A\00" @.str20140 = private unnamed_addr constant [27 x i8] c" %lv = load i32, ptr %lp\0A\00" @.str20141 = private unnamed_addr constant [33 x i8] c" %hp = getelementptr inbounds [\00" @.str20142 = private unnamed_addr constant [41 x i8] c" x i32], ptr @L_cov_hits, i32 0, i32 %i\0A\00" @.str20143 = private unnamed_addr constant [27 x i8] c" %hv = load i32, ptr %hp\0A\00" @.str20144 = private unnamed_addr constant [81 x i8] c" call i32 (ptr, ptr, ...) @fprintf(ptr %f, ptr @.cov_rowfmt, i32 %lv, i32 %hv)\0A\00" @.str20145 = private unnamed_addr constant [23 x i8] c" %i1 = add i32 %i, 1\0A\00" @.str20146 = private unnamed_addr constant [18 x i8] c" br label %loop\0A\00" @.str20147 = private unnamed_addr constant [8 x i8] c"close:\0A\00" @.str20148 = private unnamed_addr constant [34 x i8] c" %rc = call i32 @fclose(ptr %f)\0A\00" @.str20149 = private unnamed_addr constant [18 x i8] c" br label %done\0A\00" @.str20150 = private unnamed_addr constant [21 x i8] c"done:\0A ret void\0A}\0A\0A\00" @.str20151 = private unnamed_addr constant [34 x i8] c"define void @cov_init() {\0Aentry:\0A\00" @.str20152 = private unnamed_addr constant [40 x i8] c" %r = call i32 @atexit(ptr @cov_dump)\0A\00" @.str20153 = private unnamed_addr constant [15 x i8] c" ret void\0A}\0A\0A\00" @.str20154 = 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" @.str20155 = private unnamed_addr constant [9 x i8] c"ir_flush\00" @.str20156 = private unnamed_addr constant [3 x i8] c"wb\00" @.str20157 = private unnamed_addr constant [3 x i8] c"rb\00" @.str20158 = private unnamed_addr constant [12 x i8] c"split_there\00" @.str20159 = private unnamed_addr constant [12 x i8] c"LUDIC_SPLIT\00" @.str20160 = private unnamed_addr constant [2 x i8] c"1\00" @.str20161 = private unnamed_addr constant [2 x i8] c"0\00" @.str20162 = private unnamed_addr constant [11 x i8] c"LUDIC_LLVM\00" @.str20163 = private unnamed_addr constant [27 x i8] c"/opt/homebrew/opt/llvm/bin\00" @.str20164 = private unnamed_addr constant [12 x i8] c"/llvm-split\00" @.str20165 = private unnamed_addr constant [10 x i8] c"split_dir\00" @.str20166 = private unnamed_addr constant [7 x i8] c"/clang\00" @.str20167 = private unnamed_addr constant [11 x i8] c"LUDIC_JOBS\00" @.str20168 = private unnamed_addr constant [7 x i8] c".cores\00" @.str20169 = private unnamed_addr constant [11 x i8] c"split_jobs\00" @.str20170 = private unnamed_addr constant [83 x i8] c"awk '/Pages free/{f=$3} /Pages inactive/{i=$3} END{print int((f+i)*p/1073741824)}'\00" @.str20171 = private unnamed_addr constant [39 x i8] c"echo $(sysctl -n hw.ncpu) $(vm_stat | \00" @.str20172 = private unnamed_addr constant [33 x i8] c" p=$(sysctl -n hw.pagesize)) > \22\00" @.str20173 = private unnamed_addr constant [14 x i8] c"\22 2>/dev/null\00" @.str20174 = private unnamed_addr constant [3 x i8] c"rb\00" @.str20175 = private unnamed_addr constant [2 x i8] c"\22\00" @.str20176 = private unnamed_addr constant [2 x i8] c"\22\00" @.str20177 = private unnamed_addr constant [6 x i8] c".part\00" @.str20178 = private unnamed_addr constant [14 x i8] c"split_compile\00" @.str20179 = private unnamed_addr constant [2 x i8] c"\22\00" @.str20180 = private unnamed_addr constant [17 x i8] c"/llvm-split\22 -j \00" @.str20181 = private unnamed_addr constant [6 x i8] c" -o \22\00" @.str20182 = private unnamed_addr constant [4 x i8] c"\22 \22\00" @.str20183 = private unnamed_addr constant [2 x i8] c"\22\00" @.str20184 = private unnamed_addr constant [1 x i8] c"\00" @.str20185 = private unnamed_addr constant [2 x i8] c"\22\00" @.str20186 = private unnamed_addr constant [17 x i8] c"/clang\22 -x ir -O\00" @.str20187 = private unnamed_addr constant [74 x i8] c" -mmacosx-version-min=11.0 -Wno-override-module -Wno-missing-sysroot -c \22\00" @.str20188 = private unnamed_addr constant [7 x i8] c"\22 -o \22\00" @.str20189 = private unnamed_addr constant [7 x i8] c".o\22 & \00" @.str20190 = private unnamed_addr constant [13 x i8] c"/bin/sh -c '\00" @.str20191 = private unnamed_addr constant [6 x i8] c"wait'\00" @.str20192 = private unnamed_addr constant [1 x i8] c"\00" @.str20193 = private unnamed_addr constant [2 x i8] c"\22\00" @.str20194 = private unnamed_addr constant [2 x i8] c"\22\00" @.str20195 = private unnamed_addr constant [3 x i8] c".o\00" @.str20196 = private unnamed_addr constant [3 x i8] c" \22\00" @.str20197 = private unnamed_addr constant [4 x i8] c".o\22\00" @.str20198 = private unnamed_addr constant [8 x i8] c"rm -f \22\00" @.str20199 = private unnamed_addr constant [12 x i8] c"split_clean\00" @.str20200 = private unnamed_addr constant [10 x i8] c"\22.part*.o\00" @.str20201 = private unnamed_addr constant [10 x i8] c"base_name\00" @.str20202 = private unnamed_addr constant [12 x i8] c"strip_ludic\00" @.str20203 = private unnamed_addr constant [7 x i8] c".ludic\00" @.str20204 = private unnamed_addr constant [2 x i8] c"/\00" @.str20205 = private unnamed_addr constant [13 x i8] c"ensure_slash\00" @.str20206 = private unnamed_addr constant [1 x i8] c"\00" @.str20207 = private unnamed_addr constant [6 x i8] c"error\00" @.str20208 = private unnamed_addr constant [4 x i8] c"die\00" @.str20209 = private unnamed_addr constant [6 x i8] c"chomp\00" @.str20210 = private unnamed_addr constant [8 x i8] c"has_sub\00" @.str20211 = private unnamed_addr constant [9 x i8] c"win_path\00" @.str20212 = private unnamed_addr constant [15 x i8] c"if not exist \22\00" @.str20213 = private unnamed_addr constant [9 x i8] c"make_dir\00" @.str20214 = private unnamed_addr constant [10 x i8] c"\22 mkdir \22\00" @.str20215 = private unnamed_addr constant [2 x i8] c"\22\00" @.str20216 = private unnamed_addr constant [10 x i8] c"mkdir -p \00" @.str20217 = private unnamed_addr constant [12 x i8] c"del /f /q \22\00" @.str20218 = private unnamed_addr constant [12 x i8] c"remove_file\00" @.str20219 = private unnamed_addr constant [8 x i8] c"\22 2>nul\00" @.str20220 = private unnamed_addr constant [7 x i8] c"rm -f \00" @.str20221 = private unnamed_addr constant [9 x i8] c"LUDIC_CC\00" @.str20222 = private unnamed_addr constant [36 x i8] c"C:/Program Files/LLVM/bin/clang.exe\00" @.str20223 = private unnamed_addr constant [3 x i8] c"rb\00" @.str20224 = private unnamed_addr constant [8 x i8] c"find_cc\00" @.str20225 = private unnamed_addr constant [2 x i8] c"\22\00" @.str20226 = private unnamed_addr constant [2 x i8] c"\22\00" @.str20227 = private unnamed_addr constant [6 x i8] c"clang\00" @.str20228 = private unnamed_addr constant [8 x i8] c"VERSION\00" @.str20229 = private unnamed_addr constant [24 x i8] c"ludic (version unknown)\00" @.str20230 = private unnamed_addr constant [7 x i8] c"ludic \00" @.str20231 = private unnamed_addr constant [13 x i8] c"show_version\00" @.str20232 = private unnamed_addr constant [15 x i8] c"L_init_globals\00" @.str20233 = private unnamed_addr constant [1 x i8] c"\00" @.str20234 = private unnamed_addr constant [1 x i8] c"\00" @.str20235 = private unnamed_addr constant [2 x i8] c",\00" @.str20236 = private unnamed_addr constant [1 x i8] c"\00" @.str20237 = private unnamed_addr constant [2 x i8] c",\00" @.str20238 = private unnamed_addr constant [12 x i8] c"assets/maps\00" @.str20239 = private unnamed_addr constant [1 x i8] c"\00" @.str20240 = private unnamed_addr constant [1 x i8] c"\00" @.str20241 = private unnamed_addr constant [13 x i8] c"new [][]Node\00" @.str20242 = private unnamed_addr constant [13 x i8] c"new [][]bool\00" @.str20243 = private unnamed_addr constant [3 x i8] c"en\00" @.str20244 = private unnamed_addr constant [1 x i8] c"\00" @.str20245 = private unnamed_addr constant [1 x i8] c"\00" @.str20246 = private unnamed_addr constant [1 x i8] c"\00" @.str20247 = private unnamed_addr constant [1 x i8] c"\00" @.str20248 = private unnamed_addr constant [2 x i8] c"?\00" @.str20249 = private unnamed_addr constant [4 x i8] c"ret\00" @.str20250 = private unnamed_addr constant [2 x i8] c"?\00" @.str20251 = private unnamed_addr constant [1 x i8] c"\00" @.str20252 = private unnamed_addr constant [5 x i8] c"void\00" @.str20253 = private unnamed_addr constant [6 x i8] c"entry\00" @.str20254 = private unnamed_addr constant [10 x i8] c"--version\00" @.str20255 = private unnamed_addr constant [11 x i8] c"--windowed\00" @.str20256 = private unnamed_addr constant [11 x i8] c"--headless\00" @.str20257 = private unnamed_addr constant [12 x i8] c"--emit-llvm\00" @.str20258 = private unnamed_addr constant [9 x i8] c"--unsafe\00" @.str20259 = private unnamed_addr constant [14 x i8] c"--emit-module\00" @.str20260 = private unnamed_addr constant [6 x i8] c"--fmt\00" @.str20261 = private unnamed_addr constant [13 x i8] c"--save-temps\00" @.str20262 = private unnamed_addr constant [6 x i8] c"--run\00" @.str20263 = private unnamed_addr constant [8 x i8] c"--check\00" @.str20264 = private unnamed_addr constant [10 x i8] c"--no-maps\00" @.str20265 = private unnamed_addr constant [10 x i8] c"--release\00" @.str20266 = private unnamed_addr constant [19 x i8] c"--diagnostics=json\00" @.str20267 = private unnamed_addr constant [19 x i8] c"--diagnostics=text\00" @.str20268 = private unnamed_addr constant [14 x i8] c"--emit-schema\00" @.str20269 = private unnamed_addr constant [10 x i8] c"--globals\00" @.str20270 = private unnamed_addr constant [16 x i8] c"--migrate-state\00" @.str20271 = private unnamed_addr constant [16 x i8] c"--migrate-prune\00" @.str20272 = private unnamed_addr constant [18 x i8] c"--migrate-tighten\00" @.str20273 = private unnamed_addr constant [18 x i8] c"--migrate-runtime\00" @.str20274 = private unnamed_addr constant [11 x i8] c"--coverage\00" @.str20275 = private unnamed_addr constant [9 x i8] c"--target\00" @.str20276 = private unnamed_addr constant [6 x i8] c"--gui\00" @.str20277 = private unnamed_addr constant [8 x i8] c"--title\00" @.str20278 = private unnamed_addr constant [14 x i8] c"--natives-out\00" @.str20279 = private unnamed_addr constant [7 x i8] c"--link\00" @.str20280 = private unnamed_addr constant [3 x i8] c"-o\00" @.str20281 = private unnamed_addr constant [16 x i8] c"--escape-report\00" @.str20282 = private unnamed_addr constant [31 x i8] c"ludicc: ignoring unknown flag \00" @.str20283 = private unnamed_addr constant [2 x i8] c"\0A\00" @.str20284 = private unnamed_addr constant [108 x i8] c"usage: ludicc [-o out] [--windowed|--headless] [--target triple] [--emit-llvm] [--save-temps]\0A\00" @.str20285 = private unnamed_addr constant [8 x i8] c"windows\00" @.str20286 = private unnamed_addr constant [27 x i8] c"ludicc: cannot open input\0A\00" @.str20287 = private unnamed_addr constant [11 x i8] c"LUDIC_DEPS\00" @.str20288 = private unnamed_addr constant [1 x i8] c"\00" @.str20289 = private unnamed_addr constant [1 x i8] c"\00" @.str20290 = private unnamed_addr constant [10 x i8] c"/dev/null\00" @.str20291 = private unnamed_addr constant [3 x i8] c"wb\00" @.str20292 = private unnamed_addr constant [22 x i8] c"ludicc: cannot write \00" @.str20293 = private unnamed_addr constant [2 x i8] c"\0A\00" @.str20294 = private unnamed_addr constant [5 x i8] c"TEMP\00" @.str20295 = private unnamed_addr constant [2 x i8] c".\00" @.str20296 = private unnamed_addr constant [12 x i8] c"/ludic-run-\00" @.str20297 = private unnamed_addr constant [16 x i8] c"/tmp/ludic-run-\00" @.str20298 = private unnamed_addr constant [5 x i8] c".exe\00" @.str20299 = private unnamed_addr constant [5 x i8] c".exe\00" @.str20300 = private unnamed_addr constant [4 x i8] c".ll\00" @.str20301 = private unnamed_addr constant [25 x i8] c"ludicc: cannot write IR\0A\00" @.str20302 = private unnamed_addr constant [10 x i8] c"LUDIC_OPT\00" @.str20303 = private unnamed_addr constant [2 x i8] c"2\00" @.str20304 = private unnamed_addr constant [4 x i8] c" -O\00" @.str20305 = private unnamed_addr constant [23 x i8] c" -Wno-override-module \00" @.str20306 = private unnamed_addr constant [4 x i8] c" -O\00" @.str20307 = private unnamed_addr constant [22 x i8] c" -Wno-override-module\00" @.str20308 = private unnamed_addr constant [24 x i8] c"runtime/native/win32.ll\00" @.str20309 = private unnamed_addr constant [2 x i8] c" \00" @.str20310 = private unnamed_addr constant [63 x i8] c" -luser32 -lgdi32 -lxinput -lole32 -Wl,/ignore:importeddllmain\00" @.str20311 = private unnamed_addr constant [28 x i8] c"runtime/native/audio_win.ll\00" @.str20312 = private unnamed_addr constant [2 x i8] c" \00" @.str20313 = private unnamed_addr constant [19 x i8] c" -lxaudio2 -lole32\00" @.str20314 = private unnamed_addr constant [24 x i8] c"runtime/native/cocoa.ll\00" @.str20315 = private unnamed_addr constant [2 x i8] c" \00" @.str20316 = private unnamed_addr constant [79 x i8] c" -framework Cocoa -Wl,-needed_framework,GameController -Wl,-rpath,@loader_path\00" @.str20317 = private unnamed_addr constant [24 x i8] c"runtime/native/audio.ll\00" @.str20318 = private unnamed_addr constant [2 x i8] c" \00" @.str20319 = private unnamed_addr constant [36 x i8] c" -Wl,-needed_framework,AVFoundation\00" @.str20320 = private unnamed_addr constant [2 x i8] c" \00" @.str20321 = private unnamed_addr constant [30 x i8] c"runtime/native/threads_win.ll\00" @.str20322 = private unnamed_addr constant [2 x i8] c" \00" @.str20323 = private unnamed_addr constant [26 x i8] c"runtime/native/threads.ll\00" @.str20324 = private unnamed_addr constant [2 x i8] c" \00" @.str20325 = private unnamed_addr constant [26 x i8] c"runtime/native/udp_win.ll\00" @.str20326 = private unnamed_addr constant [10 x i8] c" -lws2_32\00" @.str20327 = private unnamed_addr constant [2 x i8] c" \00" @.str20328 = private unnamed_addr constant [22 x i8] c"runtime/native/udp.ll\00" @.str20329 = private unnamed_addr constant [12 x i8] c" -ladvapi32\00" @.str20330 = private unnamed_addr constant [2 x i8] c" \00" @.str20331 = private unnamed_addr constant [30 x i8] c"runtime/native/process_win.ll\00" @.str20332 = private unnamed_addr constant [2 x i8] c" \00" @.str20333 = private unnamed_addr constant [26 x i8] c"runtime/native/process.ll\00" @.str20334 = private unnamed_addr constant [27 x i8] c"runtime/native/http_win.ll\00" @.str20335 = private unnamed_addr constant [2 x i8] c" \00" @.str20336 = private unnamed_addr constant [11 x i8] c" -lwinhttp\00" @.str20337 = private unnamed_addr constant [23 x i8] c"runtime/native/http.ll\00" @.str20338 = private unnamed_addr constant [2 x i8] c" \00" @.str20339 = private unnamed_addr constant [34 x i8] c" -Wl,-needed_framework,Foundation\00" @.str20340 = private unnamed_addr constant [25 x i8] c"runtime/native/gl_win.ll\00" @.str20341 = private unnamed_addr constant [32 x i8] c"runtime/native/gl_thunks_win.ll\00" @.str20342 = private unnamed_addr constant [31 x i8] c"runtime/native/gl_win_nowin.ll\00" @.str20343 = private unnamed_addr constant [27 x i8] c"runtime/native/win32_gl.ll\00" @.str20344 = private unnamed_addr constant [2 x i8] c" \00" @.str20345 = private unnamed_addr constant [2 x i8] c" \00" @.str20346 = private unnamed_addr constant [2 x i8] c" \00" @.str20347 = private unnamed_addr constant [29 x i8] c" -luser32 -lgdi32 -lopengl32\00" @.str20348 = private unnamed_addr constant [21 x i8] c"runtime/native/gl.ll\00" @.str20349 = private unnamed_addr constant [28 x i8] c"runtime/native/gl_thunks.ll\00" @.str20350 = private unnamed_addr constant [2 x i8] c" \00" @.str20351 = private unnamed_addr constant [2 x i8] c" \00" @.str20352 = private unnamed_addr constant [19 x i8] c" -framework OpenGL\00" @.str20353 = private unnamed_addr constant [28 x i8] c"runtime/native/vk_thunks.ll\00" @.str20354 = private unnamed_addr constant [25 x i8] c"runtime/native/vk_mac.ll\00" @.str20355 = private unnamed_addr constant [25 x i8] c"runtime/native/vk_win.ll\00" @.str20356 = private unnamed_addr constant [2 x i8] c" \00" @.str20357 = private unnamed_addr constant [2 x i8] c" \00" @.str20358 = private unnamed_addr constant [34 x i8] c" -Wl,-needed_framework,QuartzCore\00" @.str20359 = private unnamed_addr constant [50 x i8] c" -Wl,/subsystem:windows -Wl,/entry:mainCRTStartup\00" @.str20360 = private unnamed_addr constant [3 x i8] c" \22\00" @.str20361 = private unnamed_addr constant [55 x i8] c"build/cfree/selfhost.ludic:31588: index out of range: \00" @.str20362 = private unnamed_addr constant [2 x i8] c"\22\00" @.str20363 = private unnamed_addr constant [5 x i8] c" -o \00" @.str20364 = private unnamed_addr constant [2 x i8] c"\22\00" @.str20365 = private unnamed_addr constant [2 x i8] c"\22\00" @.str20366 = private unnamed_addr constant [21 x i8] c"ludicc: link failed\0A\00" @.str20367 = private unnamed_addr constant [1 x i8] c"\00" @.str20368 = private unnamed_addr constant [55 x i8] c"build/cfree/selfhost.ludic:31603: index out of range: \00" @.str20369 = private unnamed_addr constant [2 x i8] c"\0A\00" @.str20370 = private unnamed_addr constant [3 x i8] c"wb\00" @.str20371 = private unnamed_addr constant [2 x i8] c"\22\00" @.str20372 = 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 @lp_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 @lp_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: store i8 48, ptr %buf %z1 = getelementptr inbounds i8, ptr %buf, i32 1 store i8 0, ptr %z1 ret ptr %buf 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 %cnt = sub i32 24, %rpos %cnt64 = sext i32 %cnt to i64 call ptr @memmove(ptr %buf, ptr %res, i64 %cnt64) ret ptr %buf } define ptr @lp_long_str(i64 %n0) { entry: %buf = call ptr @lp_malloc(i64 24) %isneg = icmp slt i64 %n0, 0 %neg = sub i64 0, %n0 %n = select i1 %isneg, i64 %neg, i64 %n0 %term = getelementptr inbounds i8, ptr %buf, i32 23 store i8 0, ptr %term %iszero = icmp eq i64 %n0, 0 br i1 %iszero, label %zc, label %dl zc: store i8 48, ptr %buf %z1 = getelementptr inbounds i8, ptr %buf, i32 1 store i8 0, ptr %z1 ret ptr %buf dl: br label %dloop dloop: %pos = phi i32 [ 22, %dl ], [ %pos2, %dbody ] %cur = phi i64 [ %n, %dl ], [ %cur2, %dbody ] %done = icmp eq i64 %cur, 0 br i1 %done, label %sign, label %dbody dbody: %d = urem i64 %cur, 10 %d32 = trunc i64 %d to i32 %ch = add i32 %d32, 48 %ch8 = trunc i32 %ch to i8 %pp = getelementptr inbounds i8, ptr %buf, i32 %pos store i8 %ch8, ptr %pp %cur2 = udiv i64 %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 %cnt = sub i32 24, %rpos %cnt64 = sext i32 %cnt to i64 call ptr @memmove(ptr %buf, ptr %res, i64 %cnt64) ret ptr %buf } 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 @lp_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 @lp_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 @lp_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) call void @lp_free(ptr %base) call void @lp_free(ptr %ext) 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 @lp_malloc(i64 %capz) %stz = mul i32 %cap, 4 %stzz = zext i32 %stz to i64 %segst = call ptr @lp_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 call void @lp_free(ptr %segst) ret ptr %out putnul: %ep = getelementptr i8, ptr %out, i32 %eo store i8 0, ptr %ep call void @lp_free(ptr %segst) 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 @lp_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: call void @lp_free(ptr %tmp) 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) call void @lp_free(ptr %tmp) %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 @lp_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 %badw badw: call void @lp_free(ptr %buf) call void @lp_free(ptr %tmp) ret i32 0 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) call void @lp_free(ptr %buf) call void @lp_free(ptr %tmp) %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) call void @lp_free(ptr %dup) %r = call i32 @lp_fs_is_dir(ptr %p) ret i32 %r } define ptr @lp_fs_list(ptr %path) { entry: %h = call ptr @lp_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 @lp_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 @lp_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 } @.str20373 = private unnamed_addr constant [4 x i8] c"png\00" @.str20374 = private unnamed_addr constant [10 x i8] c"image/png\00" @.str20375 = private unnamed_addr constant [4 x i8] c"jpg\00" @.str20376 = private unnamed_addr constant [11 x i8] c"image/jpeg\00" @.str20377 = private unnamed_addr constant [5 x i8] c"jpeg\00" @.str20378 = private unnamed_addr constant [11 x i8] c"image/jpeg\00" @.str20379 = private unnamed_addr constant [4 x i8] c"gif\00" @.str20380 = private unnamed_addr constant [10 x i8] c"image/gif\00" @.str20381 = private unnamed_addr constant [4 x i8] c"bmp\00" @.str20382 = private unnamed_addr constant [10 x i8] c"image/bmp\00" @.str20383 = private unnamed_addr constant [5 x i8] c"webp\00" @.str20384 = private unnamed_addr constant [11 x i8] c"image/webp\00" @.str20385 = private unnamed_addr constant [4 x i8] c"svg\00" @.str20386 = private unnamed_addr constant [14 x i8] c"image/svg+xml\00" @.str20387 = private unnamed_addr constant [4 x i8] c"txt\00" @.str20388 = private unnamed_addr constant [11 x i8] c"text/plain\00" @.str20389 = private unnamed_addr constant [3 x i8] c"md\00" @.str20390 = private unnamed_addr constant [14 x i8] c"text/markdown\00" @.str20391 = private unnamed_addr constant [4 x i8] c"csv\00" @.str20392 = private unnamed_addr constant [9 x i8] c"text/csv\00" @.str20393 = private unnamed_addr constant [5 x i8] c"html\00" @.str20394 = private unnamed_addr constant [10 x i8] c"text/html\00" @.str20395 = private unnamed_addr constant [4 x i8] c"htm\00" @.str20396 = private unnamed_addr constant [10 x i8] c"text/html\00" @.str20397 = private unnamed_addr constant [4 x i8] c"css\00" @.str20398 = private unnamed_addr constant [9 x i8] c"text/css\00" @.str20399 = private unnamed_addr constant [3 x i8] c"js\00" @.str20400 = private unnamed_addr constant [16 x i8] c"text/javascript\00" @.str20401 = private unnamed_addr constant [5 x i8] c"json\00" @.str20402 = private unnamed_addr constant [17 x i8] c"application/json\00" @.str20403 = private unnamed_addr constant [4 x i8] c"xml\00" @.str20404 = private unnamed_addr constant [16 x i8] c"application/xml\00" @.str20405 = private unnamed_addr constant [4 x i8] c"zip\00" @.str20406 = private unnamed_addr constant [16 x i8] c"application/zip\00" @.str20407 = private unnamed_addr constant [4 x i8] c"pdf\00" @.str20408 = private unnamed_addr constant [16 x i8] c"application/pdf\00" @.str20409 = private unnamed_addr constant [4 x i8] c"wav\00" @.str20410 = private unnamed_addr constant [10 x i8] c"audio/wav\00" @.str20411 = private unnamed_addr constant [4 x i8] c"ogg\00" @.str20412 = private unnamed_addr constant [10 x i8] c"audio/ogg\00" @.str20413 = private unnamed_addr constant [4 x i8] c"mp3\00" @.str20414 = private unnamed_addr constant [11 x i8] c"audio/mpeg\00" @.str20415 = private unnamed_addr constant [4 x i8] c"ttf\00" @.str20416 = private unnamed_addr constant [9 x i8] c"font/ttf\00" @.str20417 = private unnamed_addr constant [4 x i8] c"otf\00" @.str20418 = private unnamed_addr constant [9 x i8] c"font/otf\00" @.str20419 = private unnamed_addr constant [6 x i8] c"ludic\00" @.str20420 = private unnamed_addr constant [13 x i8] c"text/x-ludic\00" @.str20421 = 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 @.str20373, ptr @.str20374 }, { ptr, ptr } { ptr @.str20375, ptr @.str20376 }, { ptr, ptr } { ptr @.str20377, ptr @.str20378 }, { ptr, ptr } { ptr @.str20379, ptr @.str20380 }, { ptr, ptr } { ptr @.str20381, ptr @.str20382 }, { ptr, ptr } { ptr @.str20383, ptr @.str20384 }, { ptr, ptr } { ptr @.str20385, ptr @.str20386 }, { ptr, ptr } { ptr @.str20387, ptr @.str20388 }, { ptr, ptr } { ptr @.str20389, ptr @.str20390 }, { ptr, ptr } { ptr @.str20391, ptr @.str20392 }, { ptr, ptr } { ptr @.str20393, ptr @.str20394 }, { ptr, ptr } { ptr @.str20395, ptr @.str20396 }, { ptr, ptr } { ptr @.str20397, ptr @.str20398 }, { ptr, ptr } { ptr @.str20399, ptr @.str20400 }, { ptr, ptr } { ptr @.str20401, ptr @.str20402 }, { ptr, ptr } { ptr @.str20403, ptr @.str20404 }, { ptr, ptr } { ptr @.str20405, ptr @.str20406 }, { ptr, ptr } { ptr @.str20407, ptr @.str20408 }, { ptr, ptr } { ptr @.str20409, ptr @.str20410 }, { ptr, ptr } { ptr @.str20411, ptr @.str20412 }, { ptr, ptr } { ptr @.str20413, ptr @.str20414 }, { ptr, ptr } { ptr @.str20415, ptr @.str20416 }, { ptr, ptr } { ptr @.str20417, ptr @.str20418 }, { ptr, ptr } { ptr @.str20419, ptr @.str20420 }] 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) call void @lp_free(ptr %ext) call void @lp_free(ptr %lc) 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 @.str20421) call void @lp_free(ptr %ext) call void @lp_free(ptr %lc) 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 @lp_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 @lp_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 %nomatch 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) call void @lp_free(ptr %buf) 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) call void @lp_free(ptr %buf) 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) call void @lp_free(ptr %buf) 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 %nomatch pdf: %rpdf = call ptr @lp_fs_strdup(ptr @fn_sig_pdf) call void @lp_free(ptr %buf) ret ptr %rpdf nomatch: call void @lp_free(ptr %buf) br label %fallback 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_len = internal global [8 x i64] zeroinitializer @L_pak_path = internal global [8 x ptr] zeroinitializer @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 %lslot = getelementptr [8 x i64], ptr @L_pak_len, i32 0, i32 %n store i64 %end, ptr %lslot %pcopy = call ptr @lp_fs_strdup(ptr %path) %pslot = getelementptr [8 x ptr], ptr @L_pak_path, i32 0, i32 %n store ptr %pcopy, ptr %pslot %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 i32 @lp_pak_unmount(ptr %path) { entry: %n = load i32, ptr @L_pak_n %ip = alloca i32 store i32 0, ptr %ip br label %find find: %i = load i32, ptr %ip %end = icmp sge i32 %i, %n br i1 %end, label %no, label %cmp cmp: %pp = getelementptr [8 x ptr], ptr @L_pak_path, i32 0, i32 %i %p = load ptr, ptr %pp %isnull = icmp eq ptr %p, null br i1 %isnull, label %next, label %str str: %c = call i32 @strcmp(ptr %p, ptr %path) %same = icmp eq i32 %c, 0 br i1 %same, label %drop, label %next next: %i1 = add i32 %i, 1 store i32 %i1, ptr %ip br label %find drop: %bp = getelementptr [8 x ptr], ptr @L_pak_base, i32 0, i32 %i %base = load ptr, ptr %bp %lp = getelementptr [8 x i64], ptr @L_pak_len, i32 0, i32 %i %len = load i64, ptr %lp %u = call i32 @UnmapViewOfFile(ptr %base) call void @lp_free(ptr %p) %jp = alloca i32 store i32 %i, ptr %jp br label %shift shift: %j = load i32, ptr %jp %j1 = add i32 %j, 1 %more = icmp slt i32 %j1, %n br i1 %more, label %mv, label %done mv: %sb = getelementptr [8 x ptr], ptr @L_pak_base, i32 0, i32 %j1 %vb = load ptr, ptr %sb %db = getelementptr [8 x ptr], ptr @L_pak_base, i32 0, i32 %j store ptr %vb, ptr %db %sl = getelementptr [8 x i64], ptr @L_pak_len, i32 0, i32 %j1 %vl = load i64, ptr %sl %dl = getelementptr [8 x i64], ptr @L_pak_len, i32 0, i32 %j store i64 %vl, ptr %dl %sp = getelementptr [8 x ptr], ptr @L_pak_path, i32 0, i32 %j1 %vp = load ptr, ptr %sp %dp = getelementptr [8 x ptr], ptr @L_pak_path, i32 0, i32 %j store ptr %vp, ptr %dp store i32 %j1, ptr %jp br label %shift done: %n1 = sub i32 %n, 1 store i32 %n1, ptr @L_pak_n %last = getelementptr [8 x ptr], ptr @L_pak_path, i32 0, i32 %n1 store ptr null, ptr %last ret i32 1 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 @lp_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 }] declare i32 @fprintf(ptr, ptr, ...) @.fmt_bounds = private unnamed_addr constant [14 x i8] c"%s%d, len %d\0A\00" @lp_itab = global [65536 x ptr] zeroinitializer @lp_icount = global i64 0 @lp_istore = internal global [4194304 x i8] zeroinitializer @lp_ipos = internal global i64 0 @lp_iover = internal global i8 0 @.lpi_over = private unnamed_addr constant [44 x i8] c"intern (4 MB of text, 49152 distinct texts)\00" define internal void @lp_intern_over() { entry: %o = load i8, ptr @lp_iover %said = icmp ne i8 %o, 0 br i1 %said, label %out, label %say say: store i8 1, ptr @lp_iover call void @lp_cap_over(ptr @.lpi_over, i32 0, i32 0) br label %out out: ret void } define internal ptr @lp_copystr(ptr %s, i64 %n) { entry: %n1 = add i64 %n, 1 %pos = load i64, ptr @lp_ipos %end = add i64 %pos, %n1 %fits = icmp ule i64 %end, 4194304 br i1 %fits, label %bump, label %heap bump: %b = getelementptr inbounds [4194304 x i8], ptr @lp_istore, i64 0, i64 %pos store i64 %end, ptr @lp_ipos call ptr @memcpy(ptr %b, ptr %s, i64 %n1) ret ptr %b heap: call void @lp_intern_over() %p = call ptr @lp_malloc(i64 %n1) call ptr @memcpy(ptr %p, ptr %s, i64 %n1) ret ptr %p } define ptr @lp_intern(ptr %s) { entry: %null = icmp eq ptr %s, null br i1 %null, label %none, label %hl none: ret ptr null hl: %i = phi i64 [ 0, %entry ], [ %i1, %hb ] %h = phi i64 [ -3750763034362895579, %entry ], [ %h2, %hb ] %cp = getelementptr i8, ptr %s, i64 %i %c = load i8, ptr %cp %end = icmp eq i8 %c, 0 br i1 %end, label %probe, label %hb hb: %cz = zext i8 %c to i64 %h1 = xor i64 %h, %cz %h2 = mul i64 %h1, 1099511628211 %i1 = add i64 %i, 1 br label %hl probe: %k = phi i64 [ 0, %hl ], [ %k1, %next ] %far = icmp uge i64 %k, 64 br i1 %far, label %copy_only, label %look look: %slot0 = add i64 %h, %k %slot = and i64 %slot0, 65535 %sp = getelementptr [65536 x ptr], ptr @lp_itab, i64 0, i64 %slot %v = load ptr, ptr %sp %empty = icmp eq ptr %v, null br i1 %empty, label %store, label %cmp cmp: %r = call i32 @strcmp(ptr %v, ptr %s) %same = icmp eq i32 %r, 0 br i1 %same, label %found, label %next next: %k1 = add i64 %k, 1 br label %probe found: ret ptr %v store: %cnt = load i64, ptr @lp_icount %full = icmp uge i64 %cnt, 49152 br i1 %full, label %copy_only, label %keep keep: %c2 = call ptr @lp_copystr(ptr %s, i64 %i) store ptr %c2, ptr %sp %cnt1 = add i64 %cnt, 1 store i64 %cnt1, ptr @lp_icount ret ptr %c2 copy_only: call void @lp_intern_over() %c3 = call ptr @lp_copystr(ptr %s, i64 %i) ret ptr %c3 } @lp_site = global i32 0 @lp_want = global i8 0 @lp_fdecl = global i32 0 define ptr @lp_malloc(i64 %n) { entry: %p = tail call ptr @malloc(i64 %n) ret ptr %p } define ptr @lp_calloc(i64 %n, i64 %s) { entry: %p = tail call ptr @calloc(i64 %n, i64 %s) ret ptr %p } define ptr @lp_realloc(ptr %o, i64 %n) { entry: %p = tail call ptr @realloc(ptr %o, i64 %n) ret ptr %p } define void @lp_free(ptr %o) { entry: %ist = ptrtoint ptr @lp_istore to i64 %ien = add i64 %ist, 4194304 %ix = ptrtoint ptr %o to i64 %ige = icmp uge i64 %ix, %ist %ilt = icmp ult i64 %ix, %ien %iin = and i1 %ige, %ilt br i1 %iin, label %istore, label %free0 istore: ret void free0: tail call void @free(ptr %o) ret void } define void @lp_mem_play() { entry: ret void } define void @lp_mem_settled() { entry: ret void } define void @lp_mem_frame() { entry: ret void } define i64 @lp_mem_kept() { entry: ret i64 0 } define i64 @lp_mem_bad_frames() { entry: ret i64 0 } define void @lp_cap_over(ptr %name, i32 %cap, i32 %len) { entry: ret void } define i64 @lp_mem_scan() { entry: ret i64 0 } 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 %t18 = alloca i32 %t20 = alloca i32 %t23 = alloca ptr %t24 = alloca i32 %t31 = alloca i32 %t49 = alloca i32 %t58 = alloca ptr %t59 = alloca i32 %t65 = 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 store i32 1, ptr @lp_site %t6 = call ptr @lp_malloc(i64 %t5) store i32 0, ptr @lp_site 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: %t15 = load i32, ptr %t0 %t16 = icmp slt i32 %t15, 0 %t17 = zext i1 %t16 to i32 store i32 %t17, ptr %t18 %t19 = load i32, ptr %t0 store i32 %t19, ptr %t20 %t21 = zext i32 24 to i64 store i32 2, ptr @lp_site %t22 = call ptr @lp_malloc(i64 %t21) store i32 0, ptr @lp_site store ptr %t22, ptr %t23 store i32 0, ptr %t24 br label %wcond3 wcond3: %t25 = load i32, ptr %t20 %t26 = icmp ne i32 %t25, 0 %t27 = zext i1 %t26 to i32 %t28 = icmp ne i32 %t27, 0 br i1 %t28, label %wbody4, label %wend5 wbody4: %t29 = load i32, ptr %t20 %t30 = srem i32 %t29, 10 store i32 %t30, ptr %t31 %t32 = load i32, ptr %t31 %t33 = icmp slt i32 %t32, 0 %t34 = zext i1 %t33 to i32 %t35 = icmp ne i32 %t34, 0 br i1 %t35, label %then6, label %ifend8 then6: %t36 = load i32, ptr %t31 %t37 = sub i32 0, %t36 store i32 %t37, ptr %t31 br label %ifend8 ifend8: %t38 = load ptr, ptr %t23 %t39 = load i32, ptr %t24 %t40 = getelementptr inbounds i8, ptr %t38, i32 %t39 %t41 = load i32, ptr %t31 %t42 = add i32 48, %t41 %t43 = trunc i32 %t42 to i8 store i8 %t43, ptr %t40 %t44 = load i32, ptr %t20 %t45 = sdiv i32 %t44, 10 store i32 %t45, ptr %t20 %t46 = load i32, ptr %t24 %t47 = add i32 %t46, 1 store i32 %t47, ptr %t24 br label %wcond3 wend5: %t48 = load i32, ptr %t24 store i32 %t48, ptr %t49 %t50 = load i32, ptr %t18 %t51 = icmp ne i32 %t50, 0 br i1 %t51, label %then9, label %ifend11 then9: %t52 = load i32, ptr %t49 %t53 = add i32 %t52, 1 store i32 %t53, ptr %t49 br label %ifend11 ifend11: %t54 = load i32, ptr %t49 %t55 = add i32 %t54, 1 %t56 = zext i32 %t55 to i64 store i32 3, ptr @lp_site %t57 = call ptr @lp_malloc(i64 %t56) store i32 0, ptr @lp_site store ptr %t57, ptr %t58 store i32 0, ptr %t59 %t60 = load i32, ptr %t18 %t61 = icmp ne i32 %t60, 0 br i1 %t61, label %then12, label %ifend14 then12: %t62 = load ptr, ptr %t58 %t63 = getelementptr inbounds i8, ptr %t62, i32 0 %t64 = trunc i32 45 to i8 store i8 %t64, ptr %t63 store i32 1, ptr %t59 br label %ifend14 ifend14: store i32 0, ptr %t65 br label %wcond15 wcond15: %t66 = load i32, ptr %t65 %t67 = load i32, ptr %t24 %t68 = icmp slt i32 %t66, %t67 %t69 = zext i1 %t68 to i32 %t70 = icmp ne i32 %t69, 0 br i1 %t70, label %wbody16, label %wend17 wbody16: %t71 = load ptr, ptr %t58 %t72 = load i32, ptr %t59 %t73 = load i32, ptr %t65 %t74 = add i32 %t72, %t73 %t75 = getelementptr inbounds i8, ptr %t71, i32 %t74 %t76 = load ptr, ptr %t23 %t77 = load i32, ptr %t24 %t78 = sub i32 %t77, 1 %t79 = load i32, ptr %t65 %t80 = sub i32 %t78, %t79 %t81 = getelementptr inbounds i8, ptr %t76, i32 %t80 %t82 = load i8, ptr %t81 %t83 = zext i8 %t82 to i32 %t84 = trunc i32 %t83 to i8 store i8 %t84, ptr %t75 %t85 = load i32, ptr %t65 %t86 = add i32 %t85, 1 store i32 %t86, ptr %t65 br label %wcond15 wend17: %t87 = load ptr, ptr %t58 %t88 = load i32, ptr %t49 %t89 = getelementptr inbounds i8, ptr %t87, i32 %t88 %t90 = trunc i32 0 to i8 store i8 %t90, ptr %t89 %t91 = load ptr, ptr %t58 store ptr %t91, ptr %retval br label %ret ret: %t92 = load ptr, ptr %retval ret ptr %t92 } 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 store i32 4, ptr @lp_site %t2 = call ptr @lp_malloc(i64 %t1) store i32 0, ptr @lp_site %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 store i32 5, ptr @lp_site %t15 = call ptr @lp_malloc(i64 %t14) store i32 0, ptr @lp_site 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 store i32 6, ptr @lp_site %t39 = call ptr @lp_realloc(ptr %t34, i64 %t38) store i32 0, ptr @lp_site 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 store i32 7, ptr @lp_site %t2 = call ptr @lp_pak_open(ptr %t1, ptr @.str7) store i32 0, ptr @lp_site 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 store i32 8, ptr @lp_site %t21 = call ptr @lp_malloc(i64 %t20) store i32 0, ptr @lp_site 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 %t34 = alloca ptr %t49 = alloca i32 store i32 %arg_kind, ptr %t0 %t1 = getelementptr %Cmp_Node, ptr null, i32 1 %t2 = ptrtoint ptr %t1 to i64 store i32 9, ptr @lp_site %t3 = call ptr @lp_malloc(i64 %t2) store i32 0, ptr @lp_site %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 %t14 = getelementptr inbounds %Cmp_Node, ptr %t3, i32 0, i32 10 store i32 0, ptr %t14 %t15 = getelementptr inbounds %Cmp_Node, ptr %t3, i32 0, i32 11 store ptr null, ptr %t15 %t16 = getelementptr inbounds %Cmp_Node, ptr %t3, i32 0, i32 12 store i32 0, ptr %t16 %t17 = getelementptr inbounds %Cmp_Node, ptr %t3, i32 0, i32 13 %t18 = sub i32 0, 1 store i32 %t18, ptr %t17 %t19 = getelementptr inbounds %Cmp_Node, ptr %t3, i32 0, i32 14 %t20 = sub i32 0, 1 store i32 %t20, ptr %t19 %t21 = getelementptr inbounds %Cmp_Node, ptr %t3, i32 0, i32 15 %t22 = sub i32 0, 1 store i32 %t22, ptr %t21 %t23 = getelementptr inbounds %Cmp_Node, ptr %t3, i32 0, i32 16 %t24 = sub i32 0, 1 store i32 %t24, ptr %t23 %t25 = getelementptr inbounds %Cmp_Node, ptr %t3, i32 0, i32 17 %t26 = sub i32 0, 1 store i32 %t26, ptr %t25 %t27 = getelementptr inbounds %Cmp_Node, ptr %t3, i32 0, i32 18 store i32 0, ptr %t27 %t28 = getelementptr inbounds %Cmp_Node, ptr %t3, i32 0, i32 19 %t29 = sub i32 0, 1 store i32 %t29, ptr %t28 %t30 = getelementptr inbounds %Cmp_Node, ptr %t3, i32 0, i32 20 %t31 = sub i32 0, 1 store i32 %t31, ptr %t30 %t32 = getelementptr inbounds %Cmp_Node, ptr %t3, i32 0, i32 21 %t33 = sub i32 0, 1 store i32 %t33, ptr %t32 store ptr %t3, ptr %t34 %t35 = load ptr, ptr %t34 %t36 = getelementptr inbounds %Cmp_Node, ptr %t35, i32 0, i32 0 %t37 = load i32, ptr %t0 store i32 %t37, ptr %t36 %t38 = load ptr, ptr %t34 %t39 = getelementptr inbounds %Cmp_Node, ptr %t38, i32 0, i32 7 %t40 = getelementptr %LSlice, ptr null, i32 1 %t41 = ptrtoint ptr %t40 to i64 store i32 10, ptr @lp_site %t42 = call ptr @lp_malloc(i64 %t41) store i32 0, ptr @lp_site %t43 = getelementptr inbounds %LSlice, ptr %t42, i32 0, i32 0 store ptr null, ptr %t43 %t44 = getelementptr inbounds %LSlice, ptr %t42, i32 0, i32 1 store i32 0, ptr %t44 %t45 = getelementptr inbounds %LSlice, ptr %t42, i32 0, i32 2 store i32 0, ptr %t45 store ptr %t42, ptr %t39 %t46 = load ptr, ptr %t34 %t47 = getelementptr inbounds %Cmp_Node, ptr %t46, i32 0, i32 9 %t48 = load ptr, ptr @g_g_parse_file store ptr %t48, ptr %t47 %t50 = load i32, ptr @g_g_parsing %t51 = icmp ne i32 %t50, 0 %t52 = zext i1 %t51 to i32 store i32 %t52, ptr %t49 br i1 %t51, label %sc0, label %scend1 sc0: %t53 = load i32, ptr @g_pi %t54 = load ptr, ptr @g_toks %t55 = getelementptr inbounds %LSlice, ptr %t54, i32 0, i32 1 %t56 = load i32, ptr %t55 %t57 = icmp slt i32 %t53, %t56 %t58 = zext i1 %t57 to i32 %t59 = icmp ne i32 %t58, 0 %t60 = zext i1 %t59 to i32 store i32 %t60, ptr %t49 br label %scend1 scend1: %t61 = load i32, ptr %t49 %t62 = icmp ne i32 %t61, 0 br i1 %t62, label %then2, label %ifend4 then2: %t63 = load ptr, ptr %t34 %t64 = getelementptr inbounds %Cmp_Node, ptr %t63, i32 0, i32 8 %t65 = load ptr, ptr @g_toks %t66 = load i32, ptr @g_pi %t67 = getelementptr inbounds %LSlice, ptr %t65, i32 0, i32 0 %t68 = load ptr, ptr %t67 %t69 = getelementptr inbounds %LSlice, ptr %t65, i32 0, i32 1 %t70 = load i32, ptr %t69 %t71 = icmp ult i32 %t66, %t70 br i1 %t71, label %ixok5, label %ixbad6 ixbad6: store i32 11, ptr @lp_site %t72 = call ptr @lp_win_stdio(i32 2) store i32 0, ptr @lp_site call i32 (ptr, ptr, ...) @fprintf(ptr %t72, ptr @.fmt_bounds, ptr @.str13, i32 %t66, i32 %t70) call void @exit(i32 1) unreachable ixok5: %t73 = getelementptr inbounds ptr, ptr %t68, i32 %t66 %t74 = load ptr, ptr %t73 %t75 = getelementptr inbounds %Cmp_Tok, ptr %t74, i32 0, i32 3 %t76 = load i32, ptr %t75 store i32 %t76, ptr %t64 %t77 = load ptr, ptr %t34 %t78 = getelementptr inbounds %Cmp_Node, ptr %t77, i32 0, i32 18 %t79 = load ptr, ptr @g_toks %t80 = load i32, ptr @g_pi %t81 = getelementptr inbounds %LSlice, ptr %t79, i32 0, i32 0 %t82 = load ptr, ptr %t81 %t83 = getelementptr inbounds %LSlice, ptr %t79, i32 0, i32 1 %t84 = load i32, ptr %t83 %t85 = icmp ult i32 %t80, %t84 br i1 %t85, label %ixok7, label %ixbad8 ixbad8: store i32 12, ptr @lp_site %t86 = call ptr @lp_win_stdio(i32 2) store i32 0, ptr @lp_site call i32 (ptr, ptr, ...) @fprintf(ptr %t86, ptr @.fmt_bounds, ptr @.str15, i32 %t80, i32 %t84) call void @exit(i32 1) unreachable ixok7: %t87 = getelementptr inbounds ptr, ptr %t82, i32 %t80 %t88 = load ptr, ptr %t87 %t89 = getelementptr inbounds %Cmp_Tok, ptr %t88, i32 0, i32 6 %t90 = load i32, ptr %t89 store i32 %t90, ptr %t78 %t91 = load ptr, ptr %t34 %t92 = getelementptr inbounds %Cmp_Node, ptr %t91, i32 0, i32 13 %t93 = load ptr, ptr @g_toks %t94 = load i32, ptr @g_pi %t95 = getelementptr inbounds %LSlice, ptr %t93, i32 0, i32 0 %t96 = load ptr, ptr %t95 %t97 = getelementptr inbounds %LSlice, ptr %t93, i32 0, i32 1 %t98 = load i32, ptr %t97 %t99 = icmp ult i32 %t94, %t98 br i1 %t99, label %ixok9, label %ixbad10 ixbad10: store i32 13, ptr @lp_site %t100 = call ptr @lp_win_stdio(i32 2) store i32 0, ptr @lp_site call i32 (ptr, ptr, ...) @fprintf(ptr %t100, ptr @.fmt_bounds, ptr @.str16, i32 %t94, i32 %t98) call void @exit(i32 1) unreachable ixok9: %t101 = getelementptr inbounds ptr, ptr %t96, i32 %t94 %t102 = load ptr, ptr %t101 %t103 = getelementptr inbounds %Cmp_Tok, ptr %t102, i32 0, i32 4 %t104 = load i32, ptr %t103 store i32 %t104, ptr %t92 %t105 = load i32, ptr @g_g_gen_nodes %t106 = icmp ne i32 %t105, 0 br i1 %t106, label %then11, label %ifend13 then11: %t107 = load ptr, ptr %t34 %t108 = getelementptr inbounds %Cmp_Node, ptr %t107, i32 0, i32 13 %t109 = sub i32 0, 1 store i32 %t109, ptr %t108 br label %ifend13 ifend13: br label %ifend4 ifend4: %t110 = load ptr, ptr %t34 store ptr %t110, ptr %retval br label %ret ret: %t111 = load ptr, ptr %retval ret ptr %t111 } 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 %t20 = 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 store i32 14, ptr @lp_site %t6 = call ptr @lp_malloc(i64 %t5) store i32 0, ptr @lp_site %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 %t11 = getelementptr inbounds %Cmp_Tok, ptr %t6, i32 0, i32 4 %t12 = sub i32 0, 1 store i32 %t12, ptr %t11 %t13 = getelementptr inbounds %Cmp_Tok, ptr %t6, i32 0, i32 5 %t14 = sub i32 0, 1 store i32 %t14, ptr %t13 %t15 = getelementptr inbounds %Cmp_Tok, ptr %t6, i32 0, i32 6 store i32 0, ptr %t15 %t16 = getelementptr inbounds %Cmp_Tok, ptr %t6, i32 0, i32 7 %t17 = sub i32 0, 1 store i32 %t17, ptr %t16 %t18 = getelementptr inbounds %Cmp_Tok, ptr %t6, i32 0, i32 8 %t19 = sub i32 0, 1 store i32 %t19, ptr %t18 store ptr %t6, ptr %t20 %t21 = load ptr, ptr %t20 %t22 = getelementptr inbounds %Cmp_Tok, ptr %t21, i32 0, i32 0 %t23 = load i32, ptr %t0 store i32 %t23, ptr %t22 %t24 = load ptr, ptr %t20 %t25 = getelementptr inbounds %Cmp_Tok, ptr %t24, i32 0, i32 1 %t26 = load ptr, ptr %t1 store ptr %t26, ptr %t25 %t27 = load ptr, ptr %t20 %t28 = getelementptr inbounds %Cmp_Tok, ptr %t27, i32 0, i32 2 %t29 = load i32, ptr %t2 store i32 %t29, ptr %t28 %t30 = load ptr, ptr %t20 %t31 = getelementptr inbounds %Cmp_Tok, ptr %t30, i32 0, i32 3 %t32 = load i32, ptr %t3 store i32 %t32, ptr %t31 %t33 = load i32, ptr @g_g_lex_base %t34 = icmp sge i32 %t33, 0 %t35 = zext i1 %t34 to i32 %t36 = icmp ne i32 %t35, 0 br i1 %t36, label %then0, label %ifend2 then0: %t37 = load ptr, ptr %t20 %t38 = getelementptr inbounds %Cmp_Tok, ptr %t37, i32 0, i32 4 %t39 = load i32, ptr @g_g_lex_base %t40 = load i32, ptr @g_lx_start %t41 = add i32 %t39, %t40 store i32 %t41, ptr %t38 br label %ifend2 ifend2: %t42 = load ptr, ptr %t20 %t43 = getelementptr inbounds %Cmp_Tok, ptr %t42, i32 0, i32 7 %t44 = load i32, ptr @g_lx_start store i32 %t44, ptr %t43 %t45 = load ptr, ptr %t20 %t46 = getelementptr inbounds %Cmp_Tok, ptr %t45, i32 0, i32 6 %t47 = load i32, ptr @g_lx_start %t48 = load i32, ptr @g_lx_line0 %t49 = sub i32 %t47, %t48 %t50 = add i32 %t49, 1 store i32 %t50, ptr %t46 %t51 = load ptr, ptr @g_toks %t52 = load ptr, ptr %t20 %t53 = getelementptr inbounds %LSlice, ptr %t51, i32 0, i32 1 %t54 = getelementptr inbounds %LSlice, ptr %t51, i32 0, i32 2 %t55 = getelementptr inbounds %LSlice, ptr %t51, i32 0, i32 0 %t56 = load i32, ptr %t53 %t57 = load i32, ptr %t54 %t58 = icmp sge i32 %t56, %t57 br i1 %t58, label %grow3, label %put4 grow3: %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 store i32 15, ptr @lp_site %t67 = call ptr @lp_realloc(ptr %t66, i64 %t65) store i32 0, ptr @lp_site store ptr %t67, ptr %t55 store i32 %t61, ptr %t54 br label %put4 put4: %t68 = load ptr, ptr %t55 %t69 = getelementptr inbounds ptr, ptr %t68, i32 %t56 store ptr %t52, ptr %t69 %t70 = add i32 %t56, 1 store i32 %t70, ptr %t53 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 store i32 16, ptr @lp_site %t3 = call ptr @lp_malloc(i64 %t2) store i32 0, ptr @lp_site 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 store i32 17, ptr @lp_site %t14 = call ptr @lp_str_concat(ptr @.str20, ptr %t13) store i32 0, ptr @lp_site store i32 18, ptr @lp_site %t15 = call ptr @lp_str_concat(ptr %t14, ptr @.str22) store i32 0, ptr @lp_site call void @lp_free(ptr %t14) %t16 = load i32, ptr %t1 store i32 19, ptr @lp_site %t17 = call ptr @lp_int_str(i32 %t16) store i32 0, ptr @lp_site store i32 20, ptr @lp_site %t18 = call ptr @lp_str_concat(ptr %t15, ptr %t17) store i32 0, ptr @lp_site call void @lp_free(ptr %t15) call void @lp_free(ptr %t17) store i32 21, ptr @lp_site %t19 = call ptr @lp_str_concat(ptr %t18, ptr @.str24) store i32 0, ptr @lp_site call void @lp_free(ptr %t18) call void @fn_lex_fail(i32 %t12, ptr %t19) br label %ret ret: ret void } define i32 @fn_tmpl_end(ptr %arg_s, i32 %arg_i0, i32 %arg_n) { entry: %retval = alloca i32 %t0 = alloca ptr %t1 = alloca i32 %t2 = alloca i32 %t5 = alloca i32 %t6 = alloca i32 %t34 = alloca i32 %t35 = alloca i32 store ptr %arg_s, ptr %t0 store i32 %arg_i0, ptr %t1 store i32 %arg_n, ptr %t2 %t3 = load i32, ptr %t1 %t4 = add i32 %t3, 1 store i32 %t4, ptr %t5 br label %wcond0 wcond0: %t7 = load i32, ptr %t5 %t8 = load i32, ptr %t2 %t9 = icmp slt i32 %t7, %t8 %t10 = zext i1 %t9 to i32 %t11 = icmp ne i32 %t10, 0 %t12 = zext i1 %t11 to i32 store i32 %t12, ptr %t6 br i1 %t11, label %sc3, label %scend4 sc3: %t13 = load ptr, ptr %t0 %t14 = load i32, ptr %t5 %t15 = getelementptr inbounds i8, ptr %t13, i32 %t14 %t16 = load i8, ptr %t15 %t17 = zext i8 %t16 to i32 %t18 = icmp ne i32 %t17, 96 %t19 = zext i1 %t18 to i32 %t20 = icmp ne i32 %t19, 0 %t21 = zext i1 %t20 to i32 store i32 %t21, ptr %t6 br label %scend4 scend4: %t22 = load i32, ptr %t6 %t23 = icmp ne i32 %t22, 0 br i1 %t23, label %wbody1, label %wend2 wbody1: %t24 = load ptr, ptr %t0 %t25 = load i32, ptr %t5 %t26 = getelementptr inbounds i8, ptr %t24, i32 %t25 %t27 = load i8, ptr %t26 %t28 = zext i8 %t27 to i32 %t29 = icmp eq i32 %t28, 92 %t30 = zext i1 %t29 to i32 %t31 = icmp ne i32 %t30, 0 br i1 %t31, label %then5, label %ifend7 then5: %t32 = load i32, ptr %t5 %t33 = add i32 %t32, 2 store i32 %t33, ptr %t5 br label %wcond0 ifend7: %t36 = load ptr, ptr %t0 %t37 = load i32, ptr %t5 %t38 = getelementptr inbounds i8, ptr %t36, i32 %t37 %t39 = load i8, ptr %t38 %t40 = zext i8 %t39 to i32 %t41 = icmp eq i32 %t40, 123 %t42 = zext i1 %t41 to i32 %t43 = icmp ne i32 %t42, 0 %t44 = zext i1 %t43 to i32 store i32 %t44, ptr %t35 br i1 %t43, label %sc8, label %scend9 sc8: %t45 = load i32, ptr %t5 %t46 = add i32 %t45, 1 %t47 = load i32, ptr %t2 %t48 = icmp slt i32 %t46, %t47 %t49 = zext i1 %t48 to i32 %t50 = icmp ne i32 %t49, 0 %t51 = zext i1 %t50 to i32 store i32 %t51, ptr %t35 br label %scend9 scend9: %t52 = load i32, ptr %t35 %t53 = icmp ne i32 %t52, 0 %t54 = zext i1 %t53 to i32 store i32 %t54, ptr %t34 br i1 %t53, label %sc10, label %scend11 sc10: %t55 = load ptr, ptr %t0 %t56 = load i32, ptr %t5 %t57 = add i32 %t56, 1 %t58 = getelementptr inbounds i8, ptr %t55, i32 %t57 %t59 = load i8, ptr %t58 %t60 = zext i8 %t59 to i32 %t61 = icmp eq i32 %t60, 123 %t62 = zext i1 %t61 to i32 %t63 = icmp ne i32 %t62, 0 %t64 = zext i1 %t63 to i32 store i32 %t64, ptr %t34 br label %scend11 scend11: %t65 = load i32, ptr %t34 %t66 = icmp ne i32 %t65, 0 br i1 %t66, label %then12, label %ifend14 then12: %t67 = load i32, ptr %t5 %t68 = add i32 %t67, 2 store i32 %t68, ptr %t5 br label %wcond0 ifend14: %t69 = load ptr, ptr %t0 %t70 = load i32, ptr %t5 %t71 = getelementptr inbounds i8, ptr %t69, i32 %t70 %t72 = load i8, ptr %t71 %t73 = zext i8 %t72 to i32 %t74 = icmp eq i32 %t73, 123 %t75 = zext i1 %t74 to i32 %t76 = icmp ne i32 %t75, 0 br i1 %t76, label %then15, label %ifend17 then15: %t77 = load ptr, ptr %t0 %t78 = load i32, ptr %t5 %t79 = add i32 %t78, 1 %t80 = load i32, ptr %t2 %t81 = call i32 @fn_hole_end(ptr %t77, i32 %t79, i32 %t80) store i32 %t81, ptr %t5 br label %ifend17 ifend17: %t82 = load i32, ptr %t5 %t83 = add i32 %t82, 1 store i32 %t83, ptr %t5 br label %wcond0 wend2: %t84 = load i32, ptr %t5 store i32 %t84, ptr %retval br label %ret ret: %t85 = load i32, ptr %retval ret i32 %t85 } define i32 @fn_hole_end(ptr %arg_s, i32 %arg_i0, i32 %arg_n) { entry: %retval = alloca i32 %t0 = alloca ptr %t1 = alloca i32 %t2 = alloca i32 %t4 = alloca i32 %t5 = alloca i32 %t16 = alloca i32 %t17 = alloca i32 %t32 = alloca i32 store ptr %arg_s, ptr %t0 store i32 %arg_i0, ptr %t1 store i32 %arg_n, ptr %t2 %t3 = load i32, ptr %t1 store i32 %t3, ptr %t4 store i32 1, ptr %t5 br label %wcond0 wcond0: %t6 = load i32, ptr %t4 %t7 = load i32, ptr %t2 %t8 = icmp slt i32 %t6, %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 = load i32, ptr %t4 %t13 = getelementptr inbounds i8, ptr %t11, i32 %t12 %t14 = load i8, ptr %t13 %t15 = zext i8 %t14 to i32 store i32 %t15, ptr %t16 %t18 = load i32, ptr %t16 %t19 = icmp eq i32 %t18, 34 %t20 = zext i1 %t19 to i32 %t21 = icmp ne i32 %t20, 0 %t22 = zext i1 %t21 to i32 store i32 %t22, ptr %t17 br i1 %t21, label %scend4, label %sc3 sc3: %t23 = load i32, ptr %t16 %t24 = icmp eq i32 %t23, 39 %t25 = zext i1 %t24 to i32 %t26 = icmp ne i32 %t25, 0 %t27 = zext i1 %t26 to i32 store i32 %t27, ptr %t17 br label %scend4 scend4: %t28 = load i32, ptr %t17 %t29 = icmp ne i32 %t28, 0 br i1 %t29, label %then5, label %else6 then5: %t30 = load i32, ptr %t4 %t31 = add i32 %t30, 1 store i32 %t31, ptr %t4 br label %wcond8 wcond8: %t33 = load i32, ptr %t4 %t34 = load i32, ptr %t2 %t35 = icmp slt i32 %t33, %t34 %t36 = zext i1 %t35 to i32 %t37 = icmp ne i32 %t36, 0 %t38 = zext i1 %t37 to i32 store i32 %t38, ptr %t32 br i1 %t37, label %sc11, label %scend12 sc11: %t39 = load ptr, ptr %t0 %t40 = load i32, ptr %t4 %t41 = getelementptr inbounds i8, ptr %t39, i32 %t40 %t42 = load i8, ptr %t41 %t43 = zext i8 %t42 to i32 %t44 = load i32, ptr %t16 %t45 = icmp ne i32 %t43, %t44 %t46 = zext i1 %t45 to i32 %t47 = icmp ne i32 %t46, 0 %t48 = zext i1 %t47 to i32 store i32 %t48, ptr %t32 br label %scend12 scend12: %t49 = load i32, ptr %t32 %t50 = icmp ne i32 %t49, 0 br i1 %t50, label %wbody9, label %wend10 wbody9: %t51 = load ptr, ptr %t0 %t52 = load i32, ptr %t4 %t53 = getelementptr inbounds i8, ptr %t51, i32 %t52 %t54 = load i8, ptr %t53 %t55 = zext i8 %t54 to i32 %t56 = icmp eq i32 %t55, 92 %t57 = zext i1 %t56 to i32 %t58 = icmp ne i32 %t57, 0 br i1 %t58, label %then13, label %ifend15 then13: %t59 = load i32, ptr %t4 %t60 = add i32 %t59, 1 store i32 %t60, ptr %t4 br label %ifend15 ifend15: %t61 = load i32, ptr %t4 %t62 = add i32 %t61, 1 store i32 %t62, ptr %t4 br label %wcond8 wend10: br label %ifend7 else6: %t63 = load i32, ptr %t16 %t64 = icmp eq i32 %t63, 96 %t65 = zext i1 %t64 to i32 %t66 = icmp ne i32 %t65, 0 br i1 %t66, label %then16, label %else17 then16: %t67 = load ptr, ptr %t0 %t68 = load i32, ptr %t4 %t69 = load i32, ptr %t2 %t70 = call i32 @fn_tmpl_end(ptr %t67, i32 %t68, i32 %t69) store i32 %t70, ptr %t4 br label %ifend18 else17: %t71 = load i32, ptr %t16 %t72 = icmp eq i32 %t71, 123 %t73 = zext i1 %t72 to i32 %t74 = icmp ne i32 %t73, 0 br i1 %t74, label %then19, label %else20 then19: %t75 = load i32, ptr %t5 %t76 = add i32 %t75, 1 store i32 %t76, ptr %t5 br label %ifend21 else20: %t77 = load i32, ptr %t16 %t78 = icmp eq i32 %t77, 125 %t79 = zext i1 %t78 to i32 %t80 = icmp ne i32 %t79, 0 br i1 %t80, label %then22, label %ifend24 then22: %t81 = load i32, ptr %t5 %t82 = sub i32 %t81, 1 store i32 %t82, ptr %t5 %t83 = load i32, ptr %t5 %t84 = icmp eq i32 %t83, 0 %t85 = zext i1 %t84 to i32 %t86 = icmp ne i32 %t85, 0 br i1 %t86, label %then25, label %ifend27 then25: %t87 = load i32, ptr %t4 store i32 %t87, ptr %retval br label %ret ifend27: br label %ifend24 ifend24: br label %ifend21 ifend21: br label %ifend18 ifend18: br label %ifend7 ifend7: %t88 = load i32, ptr %t4 %t89 = add i32 %t88, 1 store i32 %t89, ptr %t4 br label %wcond0 wend2: %t90 = load i32, ptr %t2 store i32 %t90, ptr %retval br label %ret ret: %t91 = load i32, ptr %retval ret i32 %t91 } define void @fn_lex_fail(i32 %arg_line, ptr %arg_msg) { entry: %t0 = alloca i32 %t1 = alloca ptr %t20 = alloca ptr store i32 %arg_line, ptr %t0 store ptr %arg_msg, ptr %t1 %t2 = load i32, ptr @g_g_diag_json %t3 = icmp ne i32 %t2, 0 br i1 %t3, label %then0, label %ifend2 then0: %t4 = load ptr, ptr @g_g_parse_file %t5 = load i32, ptr %t0 %t6 = load i32, ptr @g_lx_start %t7 = load i32, ptr @g_lx_line0 %t8 = sub i32 %t6, %t7 %t9 = add i32 %t8, 1 %t10 = load ptr, ptr %t1 call void @fn_diag_add(ptr %t4, i32 %t5, i32 %t9, ptr @.str25, ptr %t10) call void @fn_diag_exit(i32 1) br label %ifend2 ifend2: %t11 = load ptr, ptr @g_g_parse_file store i32 22, ptr @lp_site %t12 = call ptr @lp_str_concat(ptr %t11, ptr @.str26) store i32 0, ptr @lp_site %t13 = load i32, ptr %t0 store i32 23, ptr @lp_site %t14 = call ptr @lp_int_str(i32 %t13) store i32 0, ptr @lp_site store i32 24, ptr @lp_site %t15 = call ptr @lp_str_concat(ptr %t12, ptr %t14) store i32 0, ptr @lp_site call void @lp_free(ptr %t12) call void @lp_free(ptr %t14) store i32 25, ptr @lp_site %t16 = call ptr @lp_str_concat(ptr %t15, ptr @.str28) store i32 0, ptr @lp_site call void @lp_free(ptr %t15) %t17 = load ptr, ptr %t1 store i32 26, ptr @lp_site %t18 = call ptr @lp_str_concat(ptr %t16, ptr %t17) store i32 0, ptr @lp_site call void @lp_free(ptr %t16) store i32 27, ptr @lp_site %t19 = call ptr @lp_str_concat(ptr %t18, ptr @.str29) store i32 0, ptr @lp_site call void @lp_free(ptr %t18) store ptr %t19, ptr %t20 store i32 28, ptr @lp_site %t21 = call ptr @lp_win_stdio(i32 2) store i32 0, ptr @lp_site %t22 = load ptr, ptr %t20 %t23 = load ptr, ptr %t20 %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 call void @exit(i32 1) unreachable ret: ret void } define void @fn_lex(ptr %arg_src) { entry: %t0 = alloca ptr %t2 = alloca i32 store ptr %arg_src, ptr %t0 %t1 = load i32, ptr @g_g_lex_base store i32 %t1, ptr %t2 store i32 0, ptr @g_g_lex_base %t3 = load ptr, ptr %t0 call void @fn_lex_at(ptr %t3, i32 1) %t4 = load i32, ptr %t2 store i32 %t4, ptr @g_g_lex_base 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 %t15 = alloca i32 %t73 = alloca i32 %t84 = alloca i32 %t85 = alloca i32 %t112 = alloca i32 %t139 = alloca i32 %t143 = alloca ptr %t144 = alloca i32 %t145 = alloca i32 %t215 = alloca i32 %t219 = alloca ptr %t220 = alloca i32 %t255 = alloca i32 %t296 = alloca i32 %t314 = alloca i32 %t315 = alloca i64 %t317 = alloca i32 %t330 = alloca i32 %t331 = alloca i32 %t337 = alloca i32 %t352 = alloca i32 %t377 = alloca i32 %t394 = alloca ptr %t404 = alloca i32 %t405 = alloca i64 %t408 = alloca i32 %t409 = alloca i32 %t448 = alloca i32 %t449 = alloca i32 %t481 = alloca i32 %t482 = alloca i32 %t483 = alloca i32 %t527 = alloca i32 %t534 = alloca ptr %t549 = alloca i32 %t550 = alloca i32 %t572 = alloca i32 %t573 = alloca i32 %t574 = alloca i32 %t593 = alloca i32 %t594 = alloca i32 %t608 = alloca i32 %t609 = alloca i32 %t646 = alloca ptr %t647 = alloca i32 %t648 = alloca i32 %t649 = alloca i32 %t715 = alloca i32 %t924 = 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 store i32 29, ptr @lp_site %t4 = call ptr @lp_malloc(i64 %t3) store i32 0, ptr @lp_site %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 @g_lx_line0 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 store i32 0, ptr %t15 br label %wcond0 wcond0: %t16 = load i32, ptr %t8 %t17 = load i32, ptr %t14 %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 @g_toks %t22 = getelementptr inbounds %LSlice, ptr %t21, i32 0, i32 1 %t23 = load i32, ptr %t22 %t24 = load i32, ptr %t15 %t25 = icmp sgt i32 %t23, %t24 %t26 = zext i1 %t25 to i32 %t27 = icmp ne i32 %t26, 0 br i1 %t27, label %then3, label %ifend5 then3: %t28 = load i32, ptr @g_g_lex_base %t29 = icmp sge i32 %t28, 0 %t30 = zext i1 %t29 to i32 %t31 = icmp ne i32 %t30, 0 br i1 %t31, label %then6, label %ifend8 then6: %t32 = load ptr, ptr @g_toks %t33 = load ptr, ptr @g_toks %t34 = getelementptr inbounds %LSlice, ptr %t33, i32 0, i32 1 %t35 = load i32, ptr %t34 %t36 = sub i32 %t35, 1 %t37 = getelementptr inbounds %LSlice, ptr %t32, i32 0, i32 0 %t38 = load ptr, ptr %t37 %t39 = getelementptr inbounds %LSlice, ptr %t32, i32 0, i32 1 %t40 = load i32, ptr %t39 %t41 = icmp ult i32 %t36, %t40 br i1 %t41, label %ixok9, label %ixbad10 ixbad10: store i32 30, ptr @lp_site %t42 = call ptr @lp_win_stdio(i32 2) store i32 0, ptr @lp_site call i32 (ptr, ptr, ...) @fprintf(ptr %t42, ptr @.fmt_bounds, ptr @.str32, i32 %t36, i32 %t40) call void @exit(i32 1) unreachable ixok9: %t43 = getelementptr inbounds ptr, ptr %t38, i32 %t36 %t44 = load ptr, ptr %t43 %t45 = getelementptr inbounds %Cmp_Tok, ptr %t44, i32 0, i32 5 %t46 = load i32, ptr @g_g_lex_base %t47 = load i32, ptr %t8 %t48 = add i32 %t46, %t47 store i32 %t48, ptr %t45 br label %ifend8 ifend8: %t49 = load ptr, ptr @g_toks %t50 = load ptr, ptr @g_toks %t51 = getelementptr inbounds %LSlice, ptr %t50, i32 0, i32 1 %t52 = load i32, ptr %t51 %t53 = sub i32 %t52, 1 %t54 = getelementptr inbounds %LSlice, ptr %t49, i32 0, i32 0 %t55 = load ptr, ptr %t54 %t56 = getelementptr inbounds %LSlice, ptr %t49, i32 0, i32 1 %t57 = load i32, ptr %t56 %t58 = icmp ult i32 %t53, %t57 br i1 %t58, label %ixok11, label %ixbad12 ixbad12: store i32 31, ptr @lp_site %t59 = call ptr @lp_win_stdio(i32 2) store i32 0, ptr @lp_site call i32 (ptr, ptr, ...) @fprintf(ptr %t59, ptr @.fmt_bounds, ptr @.str33, i32 %t53, i32 %t57) call void @exit(i32 1) unreachable ixok11: %t60 = getelementptr inbounds ptr, ptr %t55, i32 %t53 %t61 = load ptr, ptr %t60 %t62 = getelementptr inbounds %Cmp_Tok, ptr %t61, i32 0, i32 8 %t63 = load i32, ptr %t8 store i32 %t63, ptr %t62 %t64 = load ptr, ptr @g_toks %t65 = getelementptr inbounds %LSlice, ptr %t64, i32 0, i32 1 %t66 = load i32, ptr %t65 store i32 %t66, ptr %t15 br label %ifend5 ifend5: %t67 = load i32, ptr %t8 store i32 %t67, ptr @g_lx_start %t68 = load ptr, ptr %t0 %t69 = load i32, ptr %t8 %t70 = getelementptr inbounds i8, ptr %t68, i32 %t69 %t71 = load i8, ptr %t70 %t72 = zext i8 %t71 to i32 store i32 %t72, ptr %t73 %t74 = load i32, ptr %t73 %t75 = icmp eq i32 %t74, 10 %t76 = zext i1 %t75 to i32 %t77 = icmp ne i32 %t76, 0 br i1 %t77, label %then13, label %ifend15 then13: %t78 = load i32, ptr %t10 call void @fn_tok_push(i32 4, ptr null, i32 0, i32 %t78) %t79 = load i32, ptr %t10 %t80 = add i32 %t79, 1 store i32 %t80, ptr %t10 %t81 = load i32, ptr %t8 %t82 = add i32 %t81, 1 store i32 %t82, ptr %t8 %t83 = load i32, ptr %t8 store i32 %t83, ptr @g_lx_line0 br label %wcond0 ifend15: %t86 = load i32, ptr %t73 %t87 = icmp eq i32 %t86, 32 %t88 = zext i1 %t87 to i32 %t89 = icmp ne i32 %t88, 0 %t90 = zext i1 %t89 to i32 store i32 %t90, ptr %t85 br i1 %t89, label %scend17, label %sc16 sc16: %t91 = load i32, ptr %t73 %t92 = icmp eq i32 %t91, 9 %t93 = zext i1 %t92 to i32 %t94 = icmp ne i32 %t93, 0 %t95 = zext i1 %t94 to i32 store i32 %t95, ptr %t85 br label %scend17 scend17: %t96 = load i32, ptr %t85 %t97 = icmp ne i32 %t96, 0 %t98 = zext i1 %t97 to i32 store i32 %t98, ptr %t84 br i1 %t97, label %scend19, label %sc18 sc18: %t99 = load i32, ptr %t73 %t100 = icmp eq i32 %t99, 13 %t101 = zext i1 %t100 to i32 %t102 = icmp ne i32 %t101, 0 %t103 = zext i1 %t102 to i32 store i32 %t103, ptr %t84 br label %scend19 scend19: %t104 = load i32, ptr %t84 %t105 = icmp ne i32 %t104, 0 br i1 %t105, label %then20, label %ifend22 then20: %t106 = load i32, ptr %t8 %t107 = add i32 %t106, 1 store i32 %t107, ptr %t8 br label %wcond0 ifend22: %t108 = load i32, ptr %t73 %t109 = icmp eq i32 %t108, 35 %t110 = zext i1 %t109 to i32 %t111 = icmp ne i32 %t110, 0 br i1 %t111, label %then23, label %ifend25 then23: br label %wcond26 wcond26: %t113 = load i32, ptr %t8 %t114 = load i32, ptr %t14 %t115 = icmp slt i32 %t113, %t114 %t116 = zext i1 %t115 to i32 %t117 = icmp ne i32 %t116, 0 %t118 = zext i1 %t117 to i32 store i32 %t118, ptr %t112 br i1 %t117, label %sc29, label %scend30 sc29: %t119 = load ptr, ptr %t0 %t120 = load i32, ptr %t8 %t121 = getelementptr inbounds i8, ptr %t119, i32 %t120 %t122 = load i8, ptr %t121 %t123 = zext i8 %t122 to i32 %t124 = icmp ne i32 %t123, 10 %t125 = zext i1 %t124 to i32 %t126 = icmp ne i32 %t125, 0 %t127 = zext i1 %t126 to i32 store i32 %t127, ptr %t112 br label %scend30 scend30: %t128 = load i32, ptr %t112 %t129 = icmp ne i32 %t128, 0 br i1 %t129, label %wbody27, label %wend28 wbody27: %t130 = load i32, ptr %t8 %t131 = add i32 %t130, 1 store i32 %t131, ptr %t8 br label %wcond26 wend28: br label %wcond0 ifend25: %t132 = load i32, ptr %t73 %t133 = icmp eq i32 %t132, 34 %t134 = zext i1 %t133 to i32 %t135 = icmp ne i32 %t134, 0 br i1 %t135, label %then31, label %ifend33 then31: %t136 = load i32, ptr %t8 %t137 = add i32 %t136, 1 store i32 %t137, ptr %t8 %t138 = load i32, ptr %t8 store i32 %t138, ptr %t139 %t140 = load i32, ptr %t14 %t141 = zext i32 %t140 to i64 store i32 32, ptr @lp_site %t142 = call ptr @lp_malloc(i64 %t141) store i32 0, ptr @lp_site store ptr %t142, ptr %t143 store i32 0, ptr %t144 br label %wcond34 wcond34: %t146 = load i32, ptr %t8 %t147 = load i32, ptr %t14 %t148 = icmp slt i32 %t146, %t147 %t149 = zext i1 %t148 to i32 %t150 = icmp ne i32 %t149, 0 %t151 = zext i1 %t150 to i32 store i32 %t151, ptr %t145 br i1 %t150, label %sc37, label %scend38 sc37: %t152 = load ptr, ptr %t0 %t153 = load i32, ptr %t8 %t154 = getelementptr inbounds i8, ptr %t152, i32 %t153 %t155 = load i8, ptr %t154 %t156 = zext i8 %t155 to i32 %t157 = icmp ne i32 %t156, 34 %t158 = zext i1 %t157 to i32 %t159 = icmp ne i32 %t158, 0 %t160 = zext i1 %t159 to i32 store i32 %t160, ptr %t145 br label %scend38 scend38: %t161 = load i32, ptr %t145 %t162 = icmp ne i32 %t161, 0 br i1 %t162, label %wbody35, label %wend36 wbody35: %t163 = load ptr, ptr %t0 %t164 = load i32, ptr %t8 %t165 = getelementptr inbounds i8, ptr %t163, i32 %t164 %t166 = load i8, ptr %t165 %t167 = zext i8 %t166 to i32 %t168 = icmp eq i32 %t167, 92 %t169 = zext i1 %t168 to i32 %t170 = icmp ne i32 %t169, 0 br i1 %t170, label %then39, label %else40 then39: %t171 = load ptr, ptr %t143 %t172 = load i32, ptr %t144 %t173 = getelementptr inbounds i8, ptr %t171, i32 %t172 %t174 = load ptr, ptr %t0 %t175 = load i32, ptr %t8 %t176 = add i32 %t175, 1 %t177 = getelementptr inbounds i8, ptr %t174, i32 %t176 %t178 = load i8, ptr %t177 %t179 = zext i8 %t178 to i32 %t180 = call i32 @fn_unescape(i32 %t179) %t181 = trunc i32 %t180 to i8 store i8 %t181, ptr %t173 %t182 = load i32, ptr %t144 %t183 = add i32 %t182, 1 store i32 %t183, ptr %t144 %t184 = load i32, ptr %t8 %t185 = add i32 %t184, 2 store i32 %t185, ptr %t8 br label %ifend41 else40: %t186 = load ptr, ptr %t143 %t187 = load i32, ptr %t144 %t188 = getelementptr inbounds i8, ptr %t186, i32 %t187 %t189 = load ptr, ptr %t0 %t190 = load i32, ptr %t8 %t191 = getelementptr inbounds i8, ptr %t189, i32 %t190 %t192 = load i8, ptr %t191 %t193 = zext i8 %t192 to i32 %t194 = trunc i32 %t193 to i8 store i8 %t194, ptr %t188 %t195 = load i32, ptr %t144 %t196 = add i32 %t195, 1 store i32 %t196, ptr %t144 %t197 = load i32, ptr %t8 %t198 = add i32 %t197, 1 store i32 %t198, ptr %t8 br label %ifend41 ifend41: br label %wcond34 wend36: %t199 = load i32, ptr %t8 %t200 = add i32 %t199, 1 store i32 %t200, ptr %t8 %t201 = load ptr, ptr %t143 %t202 = load i32, ptr %t144 %t203 = getelementptr inbounds i8, ptr %t201, i32 %t202 %t204 = trunc i32 0 to i8 store i8 %t204, ptr %t203 %t205 = load ptr, ptr %t143 %t206 = load i32, ptr %t10 call void @fn_tok_push(i32 2, ptr %t205, i32 0, i32 %t206) br label %wcond0 ifend33: %t207 = load i32, ptr %t73 %t208 = icmp eq i32 %t207, 96 %t209 = zext i1 %t208 to i32 %t210 = icmp ne i32 %t209, 0 br i1 %t210, label %then42, label %ifend44 then42: %t211 = load ptr, ptr %t0 %t212 = load i32, ptr %t8 %t213 = load i32, ptr %t14 %t214 = call i32 @fn_tmpl_end(ptr %t211, i32 %t212, i32 %t213) store i32 %t214, ptr %t215 %t216 = load i32, ptr %t14 %t217 = zext i32 %t216 to i64 store i32 33, ptr @lp_site %t218 = call ptr @lp_malloc(i64 %t217) store i32 0, ptr @lp_site store ptr %t218, ptr %t219 store i32 0, ptr %t220 %t221 = load i32, ptr %t8 %t222 = add i32 %t221, 1 store i32 %t222, ptr %t8 br label %wcond45 wcond45: %t223 = load i32, ptr %t8 %t224 = load i32, ptr %t215 %t225 = icmp slt i32 %t223, %t224 %t226 = zext i1 %t225 to i32 %t227 = icmp ne i32 %t226, 0 br i1 %t227, label %wbody46, label %wend47 wbody46: %t228 = load ptr, ptr %t219 %t229 = load i32, ptr %t220 %t230 = getelementptr inbounds i8, ptr %t228, i32 %t229 %t231 = load ptr, ptr %t0 %t232 = load i32, ptr %t8 %t233 = getelementptr inbounds i8, ptr %t231, i32 %t232 %t234 = load i8, ptr %t233 %t235 = zext i8 %t234 to i32 %t236 = trunc i32 %t235 to i8 store i8 %t236, ptr %t230 %t237 = load i32, ptr %t220 %t238 = add i32 %t237, 1 store i32 %t238, ptr %t220 %t239 = load i32, ptr %t8 %t240 = add i32 %t239, 1 store i32 %t240, ptr %t8 br label %wcond45 wend47: %t241 = load i32, ptr %t215 %t242 = add i32 %t241, 1 store i32 %t242, ptr %t8 %t243 = load ptr, ptr %t219 %t244 = load i32, ptr %t220 %t245 = getelementptr inbounds i8, ptr %t243, i32 %t244 %t246 = trunc i32 0 to i8 store i8 %t246, ptr %t245 %t247 = load ptr, ptr %t219 %t248 = load i32, ptr %t10 call void @fn_tok_push(i32 7, ptr %t247, i32 0, i32 %t248) br label %wcond0 ifend44: %t249 = load i32, ptr %t73 %t250 = icmp eq i32 %t249, 39 %t251 = zext i1 %t250 to i32 %t252 = icmp ne i32 %t251, 0 br i1 %t252, label %then48, label %ifend50 then48: %t253 = load i32, ptr %t8 %t254 = add i32 %t253, 1 store i32 %t254, ptr %t8 store i32 0, ptr %t255 %t256 = load ptr, ptr %t0 %t257 = load i32, ptr %t8 %t258 = getelementptr inbounds i8, ptr %t256, i32 %t257 %t259 = load i8, ptr %t258 %t260 = zext i8 %t259 to i32 %t261 = icmp eq i32 %t260, 92 %t262 = zext i1 %t261 to i32 %t263 = icmp ne i32 %t262, 0 br i1 %t263, label %then51, label %else52 then51: %t264 = load ptr, ptr %t0 %t265 = load i32, ptr %t8 %t266 = add i32 %t265, 1 %t267 = getelementptr inbounds i8, ptr %t264, i32 %t266 %t268 = load i8, ptr %t267 %t269 = zext i8 %t268 to i32 %t270 = call i32 @fn_unescape(i32 %t269) store i32 %t270, ptr %t255 %t271 = load i32, ptr %t8 %t272 = add i32 %t271, 2 store i32 %t272, ptr %t8 br label %ifend53 else52: %t273 = load ptr, ptr %t0 %t274 = load i32, ptr %t8 %t275 = getelementptr inbounds i8, ptr %t273, i32 %t274 %t276 = load i8, ptr %t275 %t277 = zext i8 %t276 to i32 store i32 %t277, ptr %t255 %t278 = load i32, ptr %t8 %t279 = add i32 %t278, 1 store i32 %t279, ptr %t8 br label %ifend53 ifend53: %t280 = load ptr, ptr %t0 %t281 = load i32, ptr %t8 %t282 = getelementptr inbounds i8, ptr %t280, i32 %t281 %t283 = load i8, ptr %t282 %t284 = zext i8 %t283 to i32 %t285 = icmp ne i32 %t284, 39 %t286 = zext i1 %t285 to i32 %t287 = icmp ne i32 %t286, 0 br i1 %t287, label %then54, label %ifend56 then54: %t288 = load i32, ptr %t10 call void @fn_lex_fail(i32 %t288, ptr @.str34) br label %ifend56 ifend56: %t289 = load i32, ptr %t8 %t290 = add i32 %t289, 1 store i32 %t290, ptr %t8 %t291 = load i32, ptr %t255 %t292 = load i32, ptr %t10 call void @fn_tok_push(i32 1, ptr null, i32 %t291, i32 %t292) br label %wcond0 ifend50: %t293 = load i32, ptr %t73 %t294 = call i32 @fn_char_is_digit(i32 %t293) %t295 = icmp ne i32 %t294, 0 br i1 %t295, label %then57, label %ifend59 then57: %t297 = load i32, ptr %t73 %t298 = icmp eq i32 %t297, 48 %t299 = zext i1 %t298 to i32 %t300 = icmp ne i32 %t299, 0 %t301 = zext i1 %t300 to i32 store i32 %t301, ptr %t296 br i1 %t300, label %sc60, label %scend61 sc60: %t302 = load ptr, ptr %t0 %t303 = load i32, ptr %t8 %t304 = add i32 %t303, 1 %t305 = getelementptr inbounds i8, ptr %t302, i32 %t304 %t306 = load i8, ptr %t305 %t307 = zext i8 %t306 to i32 %t308 = icmp eq i32 %t307, 120 %t309 = zext i1 %t308 to i32 %t310 = icmp ne i32 %t309, 0 %t311 = zext i1 %t310 to i32 store i32 %t311, ptr %t296 br label %scend61 scend61: %t312 = load i32, ptr %t296 %t313 = icmp ne i32 %t312, 0 br i1 %t313, label %then62, label %ifend64 then62: store i32 0, ptr %t314 %t316 = sext i32 0 to i64 store i64 %t316, ptr %t315 store i32 0, ptr %t317 %t318 = load i32, ptr %t8 %t319 = add i32 %t318, 2 store i32 %t319, ptr %t8 br label %wcond65 wcond65: %t320 = load i32, ptr %t8 %t321 = load i32, ptr %t14 %t322 = icmp slt i32 %t320, %t321 %t323 = zext i1 %t322 to i32 %t324 = icmp ne i32 %t323, 0 br i1 %t324, label %wbody66, label %wend67 wbody66: %t325 = load ptr, ptr %t0 %t326 = load i32, ptr %t8 %t327 = getelementptr inbounds i8, ptr %t325, i32 %t326 %t328 = load i8, ptr %t327 %t329 = zext i8 %t328 to i32 store i32 %t329, ptr %t330 store i32 0, ptr %t331 %t332 = load i32, ptr %t330 %t333 = call i32 @fn_char_is_digit(i32 %t332) %t334 = icmp ne i32 %t333, 0 br i1 %t334, label %then68, label %else69 then68: %t335 = load i32, ptr %t330 %t336 = sub i32 %t335, 48 store i32 %t336, ptr %t331 br label %ifend70 else69: %t338 = load i32, ptr %t330 %t339 = icmp sge i32 %t338, 97 %t340 = zext i1 %t339 to i32 %t341 = icmp ne i32 %t340, 0 %t342 = zext i1 %t341 to i32 store i32 %t342, ptr %t337 br i1 %t341, label %sc71, label %scend72 sc71: %t343 = load i32, ptr %t330 %t344 = icmp sle i32 %t343, 102 %t345 = zext i1 %t344 to i32 %t346 = icmp ne i32 %t345, 0 %t347 = zext i1 %t346 to i32 store i32 %t347, ptr %t337 br label %scend72 scend72: %t348 = load i32, ptr %t337 %t349 = icmp ne i32 %t348, 0 br i1 %t349, label %then73, label %else74 then73: %t350 = load i32, ptr %t330 %t351 = sub i32 %t350, 87 store i32 %t351, ptr %t331 br label %ifend75 else74: %t353 = load i32, ptr %t330 %t354 = icmp sge i32 %t353, 65 %t355 = zext i1 %t354 to i32 %t356 = icmp ne i32 %t355, 0 %t357 = zext i1 %t356 to i32 store i32 %t357, ptr %t352 br i1 %t356, label %sc76, label %scend77 sc76: %t358 = load i32, ptr %t330 %t359 = icmp sle i32 %t358, 70 %t360 = zext i1 %t359 to i32 %t361 = icmp ne i32 %t360, 0 %t362 = zext i1 %t361 to i32 store i32 %t362, ptr %t352 br label %scend77 scend77: %t363 = load i32, ptr %t352 %t364 = icmp ne i32 %t363, 0 br i1 %t364, label %then78, label %else79 then78: %t365 = load i32, ptr %t330 %t366 = sub i32 %t365, 55 store i32 %t366, ptr %t331 br label %ifend80 else79: br label %wend67 ifend80: br label %ifend75 ifend75: br label %ifend70 ifend70: %t367 = load i32, ptr %t314 %t368 = mul i32 %t367, 16 %t369 = load i32, ptr %t331 %t370 = add i32 %t368, %t369 store i32 %t370, ptr %t314 %t371 = load i64, ptr %t315 %t372 = sext i32 16 to i64 %t373 = mul i64 %t371, %t372 %t374 = load i32, ptr %t331 %t375 = sext i32 %t374 to i64 %t376 = add i64 %t373, %t375 store i64 %t376, ptr %t315 %t378 = load i32, ptr %t317 %t379 = icmp sgt i32 %t378, 0 %t380 = zext i1 %t379 to i32 %t381 = icmp ne i32 %t380, 0 %t382 = zext i1 %t381 to i32 store i32 %t382, ptr %t377 br i1 %t381, label %scend82, label %sc81 sc81: %t383 = load i32, ptr %t331 %t384 = icmp sgt i32 %t383, 0 %t385 = zext i1 %t384 to i32 %t386 = icmp ne i32 %t385, 0 %t387 = zext i1 %t386 to i32 store i32 %t387, ptr %t377 br label %scend82 scend82: %t388 = load i32, ptr %t377 %t389 = icmp ne i32 %t388, 0 br i1 %t389, label %then83, label %ifend85 then83: %t390 = load i32, ptr %t317 %t391 = add i32 %t390, 1 store i32 %t391, ptr %t317 br label %ifend85 ifend85: %t392 = load i32, ptr %t8 %t393 = add i32 %t392, 1 store i32 %t393, ptr %t8 br label %wcond65 wend67: store ptr null, ptr %t394 %t395 = load i32, ptr %t317 %t396 = icmp sgt i32 %t395, 8 %t397 = zext i1 %t396 to i32 %t398 = icmp ne i32 %t397, 0 br i1 %t398, label %then86, label %ifend88 then86: %t399 = load i64, ptr %t315 store i32 34, ptr @lp_site %t400 = call ptr @lp_long_str(i64 %t399) store i32 0, ptr @lp_site store ptr %t400, ptr %t394 br label %ifend88 ifend88: %t401 = load ptr, ptr %t394 %t402 = load i32, ptr %t314 %t403 = load i32, ptr %t10 call void @fn_tok_push(i32 1, ptr %t401, i32 %t402, i32 %t403) br label %wcond0 ifend64: store i32 0, ptr %t404 %t406 = sext i32 0 to i64 store i64 %t406, ptr %t405 %t407 = load i32, ptr %t8 store i32 %t407, ptr %t408 br label %wcond89 wcond89: %t410 = load i32, ptr %t8 %t411 = load i32, ptr %t14 %t412 = icmp slt i32 %t410, %t411 %t413 = zext i1 %t412 to i32 %t414 = icmp ne i32 %t413, 0 %t415 = zext i1 %t414 to i32 store i32 %t415, ptr %t409 br i1 %t414, label %sc92, label %scend93 sc92: %t416 = load ptr, ptr %t0 %t417 = load i32, ptr %t8 %t418 = getelementptr inbounds i8, ptr %t416, i32 %t417 %t419 = load i8, ptr %t418 %t420 = zext i8 %t419 to i32 %t421 = call i32 @fn_char_is_digit(i32 %t420) %t422 = icmp ne i32 %t421, 0 %t423 = zext i1 %t422 to i32 store i32 %t423, ptr %t409 br label %scend93 scend93: %t424 = load i32, ptr %t409 %t425 = icmp ne i32 %t424, 0 br i1 %t425, label %wbody90, label %wend91 wbody90: %t426 = load i32, ptr %t404 %t427 = mul i32 %t426, 10 %t428 = load ptr, ptr %t0 %t429 = load i32, ptr %t8 %t430 = getelementptr inbounds i8, ptr %t428, i32 %t429 %t431 = load i8, ptr %t430 %t432 = zext i8 %t431 to i32 %t433 = sub i32 %t432, 48 %t434 = add i32 %t427, %t433 store i32 %t434, ptr %t404 %t435 = load i64, ptr %t405 %t436 = sext i32 10 to i64 %t437 = mul i64 %t435, %t436 %t438 = load ptr, ptr %t0 %t439 = load i32, ptr %t8 %t440 = getelementptr inbounds i8, ptr %t438, i32 %t439 %t441 = load i8, ptr %t440 %t442 = zext i8 %t441 to i32 %t443 = sub i32 %t442, 48 %t444 = sext i32 %t443 to i64 %t445 = add i64 %t437, %t444 store i64 %t445, ptr %t405 %t446 = load i32, ptr %t8 %t447 = add i32 %t446, 1 store i32 %t447, ptr %t8 br label %wcond89 wend91: %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 %sc94, label %scend95 sc94: %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 = icmp eq i32 %t460, 46 %t462 = zext i1 %t461 to i32 %t463 = icmp ne i32 %t462, 0 %t464 = zext i1 %t463 to i32 store i32 %t464, ptr %t449 br label %scend95 scend95: %t465 = load i32, ptr %t449 %t466 = icmp ne i32 %t465, 0 %t467 = zext i1 %t466 to i32 store i32 %t467, ptr %t448 br i1 %t466, label %sc96, label %scend97 sc96: %t468 = load ptr, ptr %t0 %t469 = load i32, ptr %t8 %t470 = add i32 %t469, 1 %t471 = getelementptr inbounds i8, ptr %t468, i32 %t470 %t472 = load i8, ptr %t471 %t473 = zext i8 %t472 to i32 %t474 = call i32 @fn_char_is_digit(i32 %t473) %t475 = icmp ne i32 %t474, 0 %t476 = zext i1 %t475 to i32 store i32 %t476, ptr %t448 br label %scend97 scend97: %t477 = load i32, ptr %t448 %t478 = icmp ne i32 %t477, 0 br i1 %t478, label %then98, label %ifend100 then98: %t479 = load i32, ptr %t8 %t480 = add i32 %t479, 1 store i32 %t480, ptr %t8 store i32 0, ptr %t481 store i32 1, ptr %t482 br label %wcond101 wcond101: %t484 = load i32, ptr %t8 %t485 = load i32, ptr %t14 %t486 = icmp slt i32 %t484, %t485 %t487 = zext i1 %t486 to i32 %t488 = icmp ne i32 %t487, 0 %t489 = zext i1 %t488 to i32 store i32 %t489, ptr %t483 br i1 %t488, label %sc104, label %scend105 sc104: %t490 = load ptr, ptr %t0 %t491 = load i32, ptr %t8 %t492 = getelementptr inbounds i8, ptr %t490, i32 %t491 %t493 = load i8, ptr %t492 %t494 = zext i8 %t493 to i32 %t495 = call i32 @fn_char_is_digit(i32 %t494) %t496 = icmp ne i32 %t495, 0 %t497 = zext i1 %t496 to i32 store i32 %t497, ptr %t483 br label %scend105 scend105: %t498 = load i32, ptr %t483 %t499 = icmp ne i32 %t498, 0 br i1 %t499, label %wbody102, label %wend103 wbody102: %t500 = load i32, ptr %t482 %t501 = icmp slt i32 %t500, 10000 %t502 = zext i1 %t501 to i32 %t503 = icmp ne i32 %t502, 0 br i1 %t503, label %then106, label %ifend108 then106: %t504 = load i32, ptr %t481 %t505 = mul i32 %t504, 10 %t506 = load ptr, ptr %t0 %t507 = load i32, ptr %t8 %t508 = getelementptr inbounds i8, ptr %t506, i32 %t507 %t509 = load i8, ptr %t508 %t510 = zext i8 %t509 to i32 %t511 = sub i32 %t510, 48 %t512 = add i32 %t505, %t511 store i32 %t512, ptr %t481 %t513 = load i32, ptr %t482 %t514 = mul i32 %t513, 10 store i32 %t514, ptr %t482 br label %ifend108 ifend108: %t515 = load i32, ptr %t8 %t516 = add i32 %t515, 1 store i32 %t516, ptr %t8 br label %wcond101 wend103: %t517 = load i32, ptr %t404 %t518 = shl i32 %t517, 16 %t519 = load i32, ptr %t481 %t520 = shl i32 %t519, 16 %t521 = load i32, ptr %t482 %t522 = lshr i32 %t521, 1 %t523 = add i32 %t520, %t522 %t524 = load i32, ptr %t482 %t525 = sdiv i32 %t523, %t524 %t526 = add i32 %t518, %t525 store i32 %t526, ptr %t527 %t528 = load ptr, ptr %t0 %t529 = load i32, ptr %t408 %t530 = load i32, ptr %t8 store i32 35, ptr @lp_site %t531 = call ptr @lp_str_slice(ptr %t528, i32 %t529, i32 %t530) store i32 0, ptr @lp_site %t532 = load i32, ptr %t527 %t533 = load i32, ptr %t10 call void @fn_tok_push(i32 6, ptr %t531, i32 %t532, i32 %t533) br label %wcond0 ifend100: store ptr null, ptr %t534 %t535 = load i64, ptr %t405 %t536 = sext i32 2147483647 to i64 %t537 = icmp sgt i64 %t535, %t536 %t538 = zext i1 %t537 to i32 %t539 = icmp ne i32 %t538, 0 br i1 %t539, label %then109, label %ifend111 then109: %t540 = load i64, ptr %t405 store i32 36, ptr @lp_site %t541 = call ptr @lp_long_str(i64 %t540) store i32 0, ptr @lp_site store ptr %t541, ptr %t534 br label %ifend111 ifend111: %t542 = load ptr, ptr %t534 %t543 = load i32, ptr %t404 %t544 = load i32, ptr %t10 call void @fn_tok_push(i32 1, ptr %t542, i32 %t543, i32 %t544) br label %wcond0 ifend59: %t545 = load i32, ptr %t73 %t546 = call i32 @fn_char_is_alpha(i32 %t545) %t547 = icmp ne i32 %t546, 0 br i1 %t547, label %then112, label %ifend114 then112: %t548 = load i32, ptr %t8 store i32 %t548, ptr %t549 br label %wcond115 wcond115: %t551 = load i32, ptr %t8 %t552 = load i32, ptr %t14 %t553 = icmp slt i32 %t551, %t552 %t554 = zext i1 %t553 to i32 %t555 = icmp ne i32 %t554, 0 %t556 = zext i1 %t555 to i32 store i32 %t556, ptr %t550 br i1 %t555, label %sc118, label %scend119 sc118: %t557 = load ptr, ptr %t0 %t558 = load i32, ptr %t8 %t559 = getelementptr inbounds i8, ptr %t557, i32 %t558 %t560 = load i8, ptr %t559 %t561 = zext i8 %t560 to i32 %t562 = call i32 @fn_char_is_alnum(i32 %t561) %t563 = icmp ne i32 %t562, 0 %t564 = zext i1 %t563 to i32 store i32 %t564, ptr %t550 br label %scend119 scend119: %t565 = load i32, ptr %t550 %t566 = icmp ne i32 %t565, 0 br i1 %t566, label %wbody116, label %wend117 wbody116: %t567 = load i32, ptr %t8 %t568 = add i32 %t567, 1 store i32 %t568, ptr %t8 br label %wcond115 wend117: %t569 = load i32, ptr %t8 %t570 = load i32, ptr %t549 %t571 = sub i32 %t569, %t570 store i32 %t571, ptr %t572 %t575 = load i32, ptr %t8 %t576 = load i32, ptr %t14 %t577 = icmp slt i32 %t575, %t576 %t578 = zext i1 %t577 to i32 %t579 = icmp ne i32 %t578, 0 %t580 = zext i1 %t579 to i32 store i32 %t580, ptr %t574 br i1 %t579, label %sc120, label %scend121 sc120: %t581 = load ptr, ptr %t0 %t582 = load i32, ptr %t8 %t583 = getelementptr inbounds i8, ptr %t581, i32 %t582 %t584 = load i8, ptr %t583 %t585 = zext i8 %t584 to i32 %t586 = icmp eq i32 %t585, 34 %t587 = zext i1 %t586 to i32 %t588 = icmp ne i32 %t587, 0 %t589 = zext i1 %t588 to i32 store i32 %t589, ptr %t574 br label %scend121 scend121: %t590 = load i32, ptr %t574 %t591 = icmp ne i32 %t590, 0 %t592 = zext i1 %t591 to i32 store i32 %t592, ptr %t573 br i1 %t591, label %sc122, label %scend123 sc122: %t595 = load i32, ptr %t572 %t596 = icmp eq i32 %t595, 1 %t597 = zext i1 %t596 to i32 %t598 = icmp ne i32 %t597, 0 %t599 = zext i1 %t598 to i32 store i32 %t599, ptr %t594 br i1 %t598, label %sc124, label %scend125 sc124: %t600 = load i32, ptr %t73 %t601 = icmp eq i32 %t600, 107 %t602 = zext i1 %t601 to i32 %t603 = icmp ne i32 %t602, 0 %t604 = zext i1 %t603 to i32 store i32 %t604, ptr %t594 br label %scend125 scend125: %t605 = load i32, ptr %t594 %t606 = icmp ne i32 %t605, 0 %t607 = zext i1 %t606 to i32 store i32 %t607, ptr %t593 br i1 %t606, label %scend127, label %sc126 sc126: %t610 = load i32, ptr %t572 %t611 = icmp eq i32 %t610, 2 %t612 = zext i1 %t611 to i32 %t613 = icmp ne i32 %t612, 0 %t614 = zext i1 %t613 to i32 store i32 %t614, ptr %t609 br i1 %t613, label %sc128, label %scend129 sc128: %t615 = load i32, ptr %t73 %t616 = icmp eq i32 %t615, 107 %t617 = zext i1 %t616 to i32 %t618 = icmp ne i32 %t617, 0 %t619 = zext i1 %t618 to i32 store i32 %t619, ptr %t609 br label %scend129 scend129: %t620 = load i32, ptr %t609 %t621 = icmp ne i32 %t620, 0 %t622 = zext i1 %t621 to i32 store i32 %t622, ptr %t608 br i1 %t621, label %sc130, label %scend131 sc130: %t623 = load ptr, ptr %t0 %t624 = load i32, ptr %t549 %t625 = add i32 %t624, 1 %t626 = getelementptr inbounds i8, ptr %t623, i32 %t625 %t627 = load i8, ptr %t626 %t628 = zext i8 %t627 to i32 %t629 = icmp eq i32 %t628, 110 %t630 = zext i1 %t629 to i32 %t631 = icmp ne i32 %t630, 0 %t632 = zext i1 %t631 to i32 store i32 %t632, ptr %t608 br label %scend131 scend131: %t633 = load i32, ptr %t608 %t634 = icmp ne i32 %t633, 0 %t635 = zext i1 %t634 to i32 store i32 %t635, ptr %t593 br label %scend127 scend127: %t636 = load i32, ptr %t593 %t637 = icmp ne i32 %t636, 0 %t638 = zext i1 %t637 to i32 store i32 %t638, ptr %t573 br label %scend123 scend123: %t639 = load i32, ptr %t573 %t640 = icmp ne i32 %t639, 0 br i1 %t640, label %then132, label %ifend134 then132: %t641 = load i32, ptr %t8 %t642 = add i32 %t641, 1 store i32 %t642, ptr %t8 %t643 = load i32, ptr %t14 %t644 = zext i32 %t643 to i64 store i32 37, ptr @lp_site %t645 = call ptr @lp_malloc(i64 %t644) store i32 0, ptr @lp_site store ptr %t645, ptr %t646 store i32 0, ptr %t647 br label %wcond135 wcond135: %t650 = load i32, ptr %t8 %t651 = load i32, ptr %t14 %t652 = icmp slt i32 %t650, %t651 %t653 = zext i1 %t652 to i32 %t654 = icmp ne i32 %t653, 0 %t655 = zext i1 %t654 to i32 store i32 %t655, ptr %t649 br i1 %t654, label %sc138, label %scend139 sc138: %t656 = load ptr, ptr %t0 %t657 = load i32, ptr %t8 %t658 = getelementptr inbounds i8, ptr %t656, i32 %t657 %t659 = load i8, ptr %t658 %t660 = zext i8 %t659 to i32 %t661 = icmp ne i32 %t660, 34 %t662 = zext i1 %t661 to i32 %t663 = icmp ne i32 %t662, 0 %t664 = zext i1 %t663 to i32 store i32 %t664, ptr %t649 br label %scend139 scend139: %t665 = load i32, ptr %t649 %t666 = icmp ne i32 %t665, 0 %t667 = zext i1 %t666 to i32 store i32 %t667, ptr %t648 br i1 %t666, label %sc140, label %scend141 sc140: %t668 = load ptr, ptr %t0 %t669 = load i32, ptr %t8 %t670 = getelementptr inbounds i8, ptr %t668, i32 %t669 %t671 = load i8, ptr %t670 %t672 = zext i8 %t671 to i32 %t673 = icmp ne i32 %t672, 10 %t674 = zext i1 %t673 to i32 %t675 = icmp ne i32 %t674, 0 %t676 = zext i1 %t675 to i32 store i32 %t676, ptr %t648 br label %scend141 scend141: %t677 = load i32, ptr %t648 %t678 = icmp ne i32 %t677, 0 br i1 %t678, label %wbody136, label %wend137 wbody136: %t679 = load ptr, ptr %t0 %t680 = load i32, ptr %t8 %t681 = getelementptr inbounds i8, ptr %t679, i32 %t680 %t682 = load i8, ptr %t681 %t683 = zext i8 %t682 to i32 %t684 = icmp eq i32 %t683, 92 %t685 = zext i1 %t684 to i32 %t686 = icmp ne i32 %t685, 0 br i1 %t686, label %then142, label %else143 then142: %t687 = load ptr, ptr %t646 %t688 = load i32, ptr %t647 %t689 = getelementptr inbounds i8, ptr %t687, i32 %t688 %t690 = load ptr, ptr %t0 %t691 = load i32, ptr %t8 %t692 = add i32 %t691, 1 %t693 = getelementptr inbounds i8, ptr %t690, i32 %t692 %t694 = load i8, ptr %t693 %t695 = zext i8 %t694 to i32 %t696 = call i32 @fn_unescape(i32 %t695) %t697 = trunc i32 %t696 to i8 store i8 %t697, ptr %t689 %t698 = load i32, ptr %t647 %t699 = add i32 %t698, 1 store i32 %t699, ptr %t647 %t700 = load i32, ptr %t8 %t701 = add i32 %t700, 2 store i32 %t701, ptr %t8 br label %ifend144 else143: %t702 = load ptr, ptr %t646 %t703 = load i32, ptr %t647 %t704 = getelementptr inbounds i8, ptr %t702, i32 %t703 %t705 = load ptr, ptr %t0 %t706 = load i32, ptr %t8 %t707 = getelementptr inbounds i8, ptr %t705, i32 %t706 %t708 = load i8, ptr %t707 %t709 = zext i8 %t708 to i32 %t710 = trunc i32 %t709 to i8 store i8 %t710, ptr %t704 %t711 = load i32, ptr %t647 %t712 = add i32 %t711, 1 store i32 %t712, ptr %t647 %t713 = load i32, ptr %t8 %t714 = add i32 %t713, 1 store i32 %t714, ptr %t8 br label %ifend144 ifend144: br label %wcond135 wend137: %t716 = load i32, ptr %t8 %t717 = load i32, ptr %t14 %t718 = icmp sge i32 %t716, %t717 %t719 = zext i1 %t718 to i32 %t720 = icmp ne i32 %t719, 0 %t721 = zext i1 %t720 to i32 store i32 %t721, ptr %t715 br i1 %t720, label %scend146, label %sc145 sc145: %t722 = load ptr, ptr %t0 %t723 = load i32, ptr %t8 %t724 = getelementptr inbounds i8, ptr %t722, i32 %t723 %t725 = load i8, ptr %t724 %t726 = zext i8 %t725 to i32 %t727 = icmp ne i32 %t726, 34 %t728 = zext i1 %t727 to i32 %t729 = icmp ne i32 %t728, 0 %t730 = zext i1 %t729 to i32 store i32 %t730, ptr %t715 br label %scend146 scend146: %t731 = load i32, ptr %t715 %t732 = icmp ne i32 %t731, 0 br i1 %t732, label %then147, label %ifend149 then147: %t733 = load i32, ptr %t10 call void @fn_lex_fail(i32 %t733, ptr @.str36) br label %ifend149 ifend149: %t734 = load i32, ptr %t8 %t735 = add i32 %t734, 1 store i32 %t735, ptr %t8 %t736 = load ptr, ptr %t646 %t737 = load i32, ptr %t647 %t738 = getelementptr inbounds i8, ptr %t736, i32 %t737 %t739 = trunc i32 0 to i8 store i8 %t739, ptr %t738 %t740 = load ptr, ptr %t646 %t741 = load i32, ptr %t572 %t742 = load i32, ptr %t10 call void @fn_tok_push(i32 8, ptr %t740, i32 %t741, i32 %t742) br label %wcond0 ifend134: %t743 = load ptr, ptr %t0 %t744 = load i32, ptr %t549 %t745 = load i32, ptr %t8 store i32 38, ptr @lp_site %t746 = call ptr @lp_str_slice(ptr %t743, i32 %t744, i32 %t745) store i32 0, ptr @lp_site %t747 = load i32, ptr %t10 call void @fn_tok_push(i32 0, ptr %t746, i32 0, i32 %t747) br label %wcond0 ifend114: %t748 = load i32, ptr %t73 %t749 = icmp eq i32 %t748, 59 %t750 = zext i1 %t749 to i32 %t751 = icmp ne i32 %t750, 0 br i1 %t751, label %then150, label %ifend152 then150: %t752 = load i32, ptr %t10 call void @fn_tok_push(i32 4, ptr null, i32 0, i32 %t752) %t753 = load i32, ptr %t8 %t754 = add i32 %t753, 1 store i32 %t754, ptr %t8 br label %wcond0 ifend152: %t755 = load ptr, ptr %t0 %t756 = load i32, ptr %t8 %t757 = call i32 @fn_two_at(ptr %t755, i32 %t756, i32 45, i32 62) %t758 = icmp ne i32 %t757, 0 br i1 %t758, label %then153, label %ifend155 then153: %t759 = load ptr, ptr %t0 %t760 = load i32, ptr %t8 %t761 = load i32, ptr %t8 %t762 = add i32 %t761, 2 store i32 39, ptr @lp_site %t763 = call ptr @lp_str_slice(ptr %t759, i32 %t760, i32 %t762) store i32 0, ptr @lp_site %t764 = load i32, ptr %t10 call void @fn_tok_push(i32 3, ptr %t763, i32 0, i32 %t764) %t765 = load i32, ptr %t8 %t766 = add i32 %t765, 2 store i32 %t766, ptr %t8 br label %wcond0 ifend155: %t767 = load ptr, ptr %t0 %t768 = load i32, ptr %t8 %t769 = call i32 @fn_two_at(ptr %t767, i32 %t768, i32 61, i32 62) %t770 = icmp ne i32 %t769, 0 br i1 %t770, label %then156, label %ifend158 then156: %t771 = load ptr, ptr %t0 %t772 = load i32, ptr %t8 %t773 = load i32, ptr %t8 %t774 = add i32 %t773, 2 store i32 40, ptr @lp_site %t775 = call ptr @lp_str_slice(ptr %t771, i32 %t772, i32 %t774) store i32 0, ptr @lp_site %t776 = load i32, ptr %t10 call void @fn_tok_push(i32 3, ptr %t775, i32 0, i32 %t776) %t777 = load i32, ptr %t8 %t778 = add i32 %t777, 2 store i32 %t778, ptr %t8 br label %wcond0 ifend158: %t779 = load ptr, ptr %t0 %t780 = load i32, ptr %t8 %t781 = call i32 @fn_two_at(ptr %t779, i32 %t780, i32 61, i32 61) %t782 = icmp ne i32 %t781, 0 br i1 %t782, label %then159, label %ifend161 then159: %t783 = load ptr, ptr %t0 %t784 = load i32, ptr %t8 %t785 = load i32, ptr %t8 %t786 = add i32 %t785, 2 store i32 41, ptr @lp_site %t787 = call ptr @lp_str_slice(ptr %t783, i32 %t784, i32 %t786) store i32 0, ptr @lp_site %t788 = load i32, ptr %t10 call void @fn_tok_push(i32 3, ptr %t787, i32 0, i32 %t788) %t789 = load i32, ptr %t8 %t790 = add i32 %t789, 2 store i32 %t790, ptr %t8 br label %wcond0 ifend161: %t791 = load ptr, ptr %t0 %t792 = load i32, ptr %t8 %t793 = call i32 @fn_two_at(ptr %t791, i32 %t792, i32 33, i32 61) %t794 = icmp ne i32 %t793, 0 br i1 %t794, label %then162, label %ifend164 then162: %t795 = load ptr, ptr %t0 %t796 = load i32, ptr %t8 %t797 = load i32, ptr %t8 %t798 = add i32 %t797, 2 store i32 42, ptr @lp_site %t799 = call ptr @lp_str_slice(ptr %t795, i32 %t796, i32 %t798) store i32 0, ptr @lp_site %t800 = load i32, ptr %t10 call void @fn_tok_push(i32 3, ptr %t799, i32 0, i32 %t800) %t801 = load i32, ptr %t8 %t802 = add i32 %t801, 2 store i32 %t802, ptr %t8 br label %wcond0 ifend164: %t803 = load ptr, ptr %t0 %t804 = load i32, ptr %t8 %t805 = call i32 @fn_two_at(ptr %t803, i32 %t804, i32 60, i32 61) %t806 = icmp ne i32 %t805, 0 br i1 %t806, label %then165, label %ifend167 then165: %t807 = load ptr, ptr %t0 %t808 = load i32, ptr %t8 %t809 = load i32, ptr %t8 %t810 = add i32 %t809, 2 store i32 43, ptr @lp_site %t811 = call ptr @lp_str_slice(ptr %t807, i32 %t808, i32 %t810) store i32 0, ptr @lp_site %t812 = load i32, ptr %t10 call void @fn_tok_push(i32 3, ptr %t811, i32 0, i32 %t812) %t813 = load i32, ptr %t8 %t814 = add i32 %t813, 2 store i32 %t814, ptr %t8 br label %wcond0 ifend167: %t815 = load ptr, ptr %t0 %t816 = load i32, ptr %t8 %t817 = call i32 @fn_two_at(ptr %t815, i32 %t816, i32 62, i32 61) %t818 = icmp ne i32 %t817, 0 br i1 %t818, label %then168, label %ifend170 then168: %t819 = load ptr, ptr %t0 %t820 = load i32, ptr %t8 %t821 = load i32, ptr %t8 %t822 = add i32 %t821, 2 store i32 44, ptr @lp_site %t823 = call ptr @lp_str_slice(ptr %t819, i32 %t820, i32 %t822) store i32 0, ptr @lp_site %t824 = load i32, ptr %t10 call void @fn_tok_push(i32 3, ptr %t823, i32 0, i32 %t824) %t825 = load i32, ptr %t8 %t826 = add i32 %t825, 2 store i32 %t826, ptr %t8 br label %wcond0 ifend170: %t827 = load ptr, ptr %t0 %t828 = load i32, ptr %t8 %t829 = call i32 @fn_two_at(ptr %t827, i32 %t828, i32 43, i32 61) %t830 = icmp ne i32 %t829, 0 br i1 %t830, label %then171, label %ifend173 then171: %t831 = load ptr, ptr %t0 %t832 = load i32, ptr %t8 %t833 = load i32, ptr %t8 %t834 = add i32 %t833, 2 store i32 45, ptr @lp_site %t835 = call ptr @lp_str_slice(ptr %t831, i32 %t832, i32 %t834) store i32 0, ptr @lp_site %t836 = load i32, ptr %t10 call void @fn_tok_push(i32 3, ptr %t835, i32 0, i32 %t836) %t837 = load i32, ptr %t8 %t838 = add i32 %t837, 2 store i32 %t838, ptr %t8 br label %wcond0 ifend173: %t839 = load ptr, ptr %t0 %t840 = load i32, ptr %t8 %t841 = call i32 @fn_two_at(ptr %t839, i32 %t840, i32 45, i32 61) %t842 = icmp ne i32 %t841, 0 br i1 %t842, label %then174, label %ifend176 then174: %t843 = load ptr, ptr %t0 %t844 = load i32, ptr %t8 %t845 = load i32, ptr %t8 %t846 = add i32 %t845, 2 store i32 46, ptr @lp_site %t847 = call ptr @lp_str_slice(ptr %t843, i32 %t844, i32 %t846) store i32 0, ptr @lp_site %t848 = load i32, ptr %t10 call void @fn_tok_push(i32 3, ptr %t847, i32 0, i32 %t848) %t849 = load i32, ptr %t8 %t850 = add i32 %t849, 2 store i32 %t850, ptr %t8 br label %wcond0 ifend176: %t851 = load ptr, ptr %t0 %t852 = load i32, ptr %t8 %t853 = call i32 @fn_two_at(ptr %t851, i32 %t852, i32 42, i32 61) %t854 = icmp ne i32 %t853, 0 br i1 %t854, label %then177, label %ifend179 then177: %t855 = load ptr, ptr %t0 %t856 = load i32, ptr %t8 %t857 = load i32, ptr %t8 %t858 = add i32 %t857, 2 store i32 47, ptr @lp_site %t859 = call ptr @lp_str_slice(ptr %t855, i32 %t856, i32 %t858) store i32 0, ptr @lp_site %t860 = load i32, ptr %t10 call void @fn_tok_push(i32 3, ptr %t859, i32 0, i32 %t860) %t861 = load i32, ptr %t8 %t862 = add i32 %t861, 2 store i32 %t862, ptr %t8 br label %wcond0 ifend179: %t863 = load ptr, ptr %t0 %t864 = load i32, ptr %t8 %t865 = call i32 @fn_two_at(ptr %t863, i32 %t864, i32 47, i32 61) %t866 = icmp ne i32 %t865, 0 br i1 %t866, label %then180, label %ifend182 then180: %t867 = load ptr, ptr %t0 %t868 = load i32, ptr %t8 %t869 = load i32, ptr %t8 %t870 = add i32 %t869, 2 store i32 48, ptr @lp_site %t871 = call ptr @lp_str_slice(ptr %t867, i32 %t868, i32 %t870) store i32 0, ptr @lp_site %t872 = load i32, ptr %t10 call void @fn_tok_push(i32 3, ptr %t871, i32 0, i32 %t872) %t873 = load i32, ptr %t8 %t874 = add i32 %t873, 2 store i32 %t874, ptr %t8 br label %wcond0 ifend182: %t875 = load ptr, ptr %t0 %t876 = load i32, ptr %t8 %t877 = call i32 @fn_two_at(ptr %t875, i32 %t876, i32 46, i32 46) %t878 = icmp ne i32 %t877, 0 br i1 %t878, label %then183, label %ifend185 then183: %t879 = load ptr, ptr %t0 %t880 = load i32, ptr %t8 %t881 = load i32, ptr %t8 %t882 = add i32 %t881, 2 store i32 49, ptr @lp_site %t883 = call ptr @lp_str_slice(ptr %t879, i32 %t880, i32 %t882) store i32 0, ptr @lp_site %t884 = load i32, ptr %t10 call void @fn_tok_push(i32 3, ptr %t883, i32 0, i32 %t884) %t885 = load i32, ptr %t8 %t886 = add i32 %t885, 2 store i32 %t886, ptr %t8 br label %wcond0 ifend185: %t887 = load ptr, ptr %t0 %t888 = load i32, ptr %t8 %t889 = call i32 @fn_two_at(ptr %t887, i32 %t888, i32 60, i32 60) %t890 = icmp ne i32 %t889, 0 br i1 %t890, label %then186, label %ifend188 then186: %t891 = load ptr, ptr %t0 %t892 = load i32, ptr %t8 %t893 = load i32, ptr %t8 %t894 = add i32 %t893, 2 store i32 50, ptr @lp_site %t895 = call ptr @lp_str_slice(ptr %t891, i32 %t892, i32 %t894) store i32 0, ptr @lp_site %t896 = load i32, ptr %t10 call void @fn_tok_push(i32 3, ptr %t895, i32 0, i32 %t896) %t897 = load i32, ptr %t8 %t898 = add i32 %t897, 2 store i32 %t898, ptr %t8 br label %wcond0 ifend188: %t899 = load ptr, ptr %t0 %t900 = load i32, ptr %t8 %t901 = call i32 @fn_two_at(ptr %t899, i32 %t900, i32 62, i32 62) %t902 = icmp ne i32 %t901, 0 br i1 %t902, label %then189, label %ifend191 then189: %t903 = load ptr, ptr %t0 %t904 = load i32, ptr %t8 %t905 = load i32, ptr %t8 %t906 = add i32 %t905, 2 store i32 51, ptr @lp_site %t907 = call ptr @lp_str_slice(ptr %t903, i32 %t904, i32 %t906) store i32 0, ptr @lp_site %t908 = load i32, ptr %t10 call void @fn_tok_push(i32 3, ptr %t907, i32 0, i32 %t908) %t909 = load i32, ptr %t8 %t910 = add i32 %t909, 2 store i32 %t910, ptr %t8 br label %wcond0 ifend191: %t911 = load i32, ptr %t73 %t912 = call i32 @fn_is_op1(i32 %t911) %t913 = icmp ne i32 %t912, 0 br i1 %t913, label %then192, label %ifend194 then192: %t914 = load ptr, ptr %t0 %t915 = load i32, ptr %t8 %t916 = load i32, ptr %t8 %t917 = add i32 %t916, 1 store i32 52, ptr @lp_site %t918 = call ptr @lp_str_slice(ptr %t914, i32 %t915, i32 %t917) store i32 0, ptr @lp_site %t919 = load i32, ptr %t10 call void @fn_tok_push(i32 3, ptr %t918, i32 0, i32 %t919) %t920 = load i32, ptr %t8 %t921 = add i32 %t920, 1 store i32 %t921, ptr %t8 br label %wcond0 ifend194: %t922 = load i32, ptr %t10 %t923 = load i32, ptr %t73 call void @fn_lex_error(i32 %t922, i32 %t923) br label %wcond0 wend2: %t925 = load ptr, ptr @g_toks %t926 = getelementptr inbounds %LSlice, ptr %t925, i32 0, i32 1 %t927 = load i32, ptr %t926 %t928 = load i32, ptr %t15 %t929 = icmp sgt i32 %t927, %t928 %t930 = zext i1 %t929 to i32 %t931 = icmp ne i32 %t930, 0 %t932 = zext i1 %t931 to i32 store i32 %t932, ptr %t924 br i1 %t931, label %sc195, label %scend196 sc195: %t933 = load i32, ptr @g_g_lex_base %t934 = icmp sge i32 %t933, 0 %t935 = zext i1 %t934 to i32 %t936 = icmp ne i32 %t935, 0 %t937 = zext i1 %t936 to i32 store i32 %t937, ptr %t924 br label %scend196 scend196: %t938 = load i32, ptr %t924 %t939 = icmp ne i32 %t938, 0 br i1 %t939, label %then197, label %ifend199 then197: %t940 = load ptr, ptr @g_toks %t941 = load ptr, ptr @g_toks %t942 = getelementptr inbounds %LSlice, ptr %t941, i32 0, i32 1 %t943 = load i32, ptr %t942 %t944 = sub i32 %t943, 1 %t945 = getelementptr inbounds %LSlice, ptr %t940, i32 0, i32 0 %t946 = load ptr, ptr %t945 %t947 = getelementptr inbounds %LSlice, ptr %t940, i32 0, i32 1 %t948 = load i32, ptr %t947 %t949 = icmp ult i32 %t944, %t948 br i1 %t949, label %ixok200, label %ixbad201 ixbad201: store i32 53, ptr @lp_site %t950 = call ptr @lp_win_stdio(i32 2) store i32 0, ptr @lp_site call i32 (ptr, ptr, ...) @fprintf(ptr %t950, ptr @.fmt_bounds, ptr @.str37, i32 %t944, i32 %t948) call void @exit(i32 1) unreachable ixok200: %t951 = getelementptr inbounds ptr, ptr %t946, i32 %t944 %t952 = load ptr, ptr %t951 %t953 = getelementptr inbounds %Cmp_Tok, ptr %t952, i32 0, i32 5 %t954 = load i32, ptr @g_g_lex_base %t955 = load i32, ptr %t8 %t956 = add i32 %t954, %t955 store i32 %t956, ptr %t953 br label %ifend199 ifend199: %t957 = load ptr, ptr @g_toks %t958 = getelementptr inbounds %LSlice, ptr %t957, i32 0, i32 1 %t959 = load i32, ptr %t958 %t960 = load i32, ptr %t15 %t961 = icmp sgt i32 %t959, %t960 %t962 = zext i1 %t961 to i32 %t963 = icmp ne i32 %t962, 0 br i1 %t963, label %then202, label %ifend204 then202: %t964 = load ptr, ptr @g_toks %t965 = load ptr, ptr @g_toks %t966 = getelementptr inbounds %LSlice, ptr %t965, i32 0, i32 1 %t967 = load i32, ptr %t966 %t968 = sub i32 %t967, 1 %t969 = getelementptr inbounds %LSlice, ptr %t964, i32 0, i32 0 %t970 = load ptr, ptr %t969 %t971 = getelementptr inbounds %LSlice, ptr %t964, i32 0, i32 1 %t972 = load i32, ptr %t971 %t973 = icmp ult i32 %t968, %t972 br i1 %t973, label %ixok205, label %ixbad206 ixbad206: store i32 54, ptr @lp_site %t974 = call ptr @lp_win_stdio(i32 2) store i32 0, ptr @lp_site call i32 (ptr, ptr, ...) @fprintf(ptr %t974, ptr @.fmt_bounds, ptr @.str38, i32 %t968, i32 %t972) call void @exit(i32 1) unreachable ixok205: %t975 = getelementptr inbounds ptr, ptr %t970, i32 %t968 %t976 = load ptr, ptr %t975 %t977 = getelementptr inbounds %Cmp_Tok, ptr %t976, i32 0, i32 8 %t978 = load i32, ptr %t8 store i32 %t978, ptr %t977 br label %ifend204 ifend204: %t979 = load i32, ptr %t8 store i32 %t979, ptr @g_lx_start %t980 = load i32, ptr %t10 call void @fn_tok_push(i32 5, ptr null, i32 0, i32 %t980) br label %ret ret: ret void } define void @fn_diag_add(ptr %arg_file, i32 %arg_line, i32 %arg_col, ptr %arg_sev, ptr %arg_msg) { entry: %t0 = alloca ptr %t1 = alloca i32 %t2 = alloca i32 %t3 = alloca ptr %t4 = alloca ptr %t6 = alloca ptr %t13 = alloca ptr %t14 = alloca i32 %t22 = alloca i32 %t23 = alloca i32 %t24 = alloca i32 %t25 = alloca i32 store ptr %arg_file, ptr %t0 store i32 %arg_line, ptr %t1 store i32 %arg_col, ptr %t2 store ptr %arg_sev, ptr %t3 store ptr %arg_msg, ptr %t4 %t5 = load ptr, ptr %t0 store ptr %t5, ptr %t6 %t7 = load ptr, ptr %t6 %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: store ptr @.str39, ptr %t6 br label %ifend2 ifend2: %t11 = load ptr, ptr %t4 %t12 = call ptr @fn_diag_trim(ptr %t11) store ptr %t12, ptr %t13 store i32 0, ptr %t14 br label %wcond3 wcond3: %t15 = load i32, ptr %t14 %t16 = load ptr, ptr @g_g_dg_file %t17 = getelementptr inbounds %LSlice, ptr %t16, i32 0, i32 1 %t18 = load i32, ptr %t17 %t19 = icmp slt i32 %t15, %t18 %t20 = zext i1 %t19 to i32 %t21 = icmp ne i32 %t20, 0 br i1 %t21, label %wbody4, label %wend5 wbody4: %t26 = load ptr, ptr @g_g_dg_line %t27 = load i32, ptr %t14 %t28 = getelementptr inbounds %LSlice, ptr %t26, i32 0, i32 0 %t29 = load ptr, ptr %t28 %t30 = getelementptr inbounds %LSlice, ptr %t26, i32 0, i32 1 %t31 = load i32, ptr %t30 %t32 = icmp ult i32 %t27, %t31 br i1 %t32, label %ixok6, label %ixbad7 ixbad7: store i32 55, ptr @lp_site %t33 = call ptr @lp_win_stdio(i32 2) store i32 0, ptr @lp_site call i32 (ptr, ptr, ...) @fprintf(ptr %t33, ptr @.fmt_bounds, ptr @.str40, i32 %t27, i32 %t31) call void @exit(i32 1) unreachable ixok6: %t34 = getelementptr inbounds i32, ptr %t29, i32 %t27 %t35 = load i32, ptr %t34 %t36 = load i32, ptr %t1 %t37 = icmp eq i32 %t35, %t36 %t38 = zext i1 %t37 to i32 %t39 = icmp ne i32 %t38, 0 %t40 = zext i1 %t39 to i32 store i32 %t40, ptr %t25 br i1 %t39, label %sc8, label %scend9 sc8: %t41 = load ptr, ptr @g_g_dg_col %t42 = load i32, ptr %t14 %t43 = getelementptr inbounds %LSlice, ptr %t41, i32 0, i32 0 %t44 = load ptr, ptr %t43 %t45 = getelementptr inbounds %LSlice, ptr %t41, i32 0, i32 1 %t46 = load i32, ptr %t45 %t47 = icmp ult i32 %t42, %t46 br i1 %t47, label %ixok10, label %ixbad11 ixbad11: store i32 56, ptr @lp_site %t48 = call ptr @lp_win_stdio(i32 2) store i32 0, ptr @lp_site call i32 (ptr, ptr, ...) @fprintf(ptr %t48, ptr @.fmt_bounds, ptr @.str42, i32 %t42, i32 %t46) call void @exit(i32 1) unreachable ixok10: %t49 = getelementptr inbounds i32, ptr %t44, i32 %t42 %t50 = load i32, ptr %t49 %t51 = load i32, ptr %t2 %t52 = icmp eq i32 %t50, %t51 %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 %t58 = zext i1 %t57 to i32 store i32 %t58, ptr %t24 br i1 %t57, label %sc12, label %scend13 sc12: %t59 = load ptr, ptr @g_g_dg_msg %t60 = load i32, ptr %t14 %t61 = getelementptr inbounds %LSlice, ptr %t59, i32 0, i32 0 %t62 = load ptr, ptr %t61 %t63 = getelementptr inbounds %LSlice, ptr %t59, i32 0, i32 1 %t64 = load i32, ptr %t63 %t65 = icmp ult i32 %t60, %t64 br i1 %t65, label %ixok14, label %ixbad15 ixbad15: store i32 57, ptr @lp_site %t66 = call ptr @lp_win_stdio(i32 2) store i32 0, ptr @lp_site call i32 (ptr, ptr, ...) @fprintf(ptr %t66, ptr @.fmt_bounds, ptr @.str43, i32 %t60, i32 %t64) call void @exit(i32 1) unreachable ixok14: %t67 = getelementptr inbounds ptr, ptr %t62, i32 %t60 %t68 = load ptr, ptr %t67 %t69 = load ptr, ptr %t13 %t70 = call i32 @lp_str_eq(ptr %t68, ptr %t69) %t71 = icmp ne i32 %t70, 0 %t72 = zext i1 %t71 to i32 store i32 %t72, ptr %t24 br label %scend13 scend13: %t73 = load i32, ptr %t24 %t74 = icmp ne i32 %t73, 0 %t75 = zext i1 %t74 to i32 store i32 %t75, ptr %t23 br i1 %t74, label %sc16, label %scend17 sc16: %t76 = load ptr, ptr @g_g_dg_file %t77 = load i32, ptr %t14 %t78 = getelementptr inbounds %LSlice, ptr %t76, i32 0, i32 0 %t79 = load ptr, ptr %t78 %t80 = getelementptr inbounds %LSlice, ptr %t76, i32 0, i32 1 %t81 = load i32, ptr %t80 %t82 = icmp ult i32 %t77, %t81 br i1 %t82, label %ixok18, label %ixbad19 ixbad19: store i32 58, ptr @lp_site %t83 = call ptr @lp_win_stdio(i32 2) store i32 0, ptr @lp_site call i32 (ptr, ptr, ...) @fprintf(ptr %t83, ptr @.fmt_bounds, ptr @.str44, i32 %t77, i32 %t81) call void @exit(i32 1) unreachable ixok18: %t84 = getelementptr inbounds ptr, ptr %t79, i32 %t77 %t85 = load ptr, ptr %t84 %t86 = load ptr, ptr %t6 %t87 = call i32 @lp_str_eq(ptr %t85, ptr %t86) %t88 = icmp ne i32 %t87, 0 %t89 = zext i1 %t88 to i32 store i32 %t89, ptr %t23 br label %scend17 scend17: %t90 = load i32, ptr %t23 %t91 = icmp ne i32 %t90, 0 %t92 = zext i1 %t91 to i32 store i32 %t92, ptr %t22 br i1 %t91, label %sc20, label %scend21 sc20: %t93 = load ptr, ptr @g_g_dg_sev %t94 = load i32, ptr %t14 %t95 = getelementptr inbounds %LSlice, ptr %t93, i32 0, i32 0 %t96 = load ptr, ptr %t95 %t97 = getelementptr inbounds %LSlice, ptr %t93, i32 0, i32 1 %t98 = load i32, ptr %t97 %t99 = icmp ult i32 %t94, %t98 br i1 %t99, label %ixok22, label %ixbad23 ixbad23: store i32 59, ptr @lp_site %t100 = call ptr @lp_win_stdio(i32 2) store i32 0, ptr @lp_site call i32 (ptr, ptr, ...) @fprintf(ptr %t100, ptr @.fmt_bounds, ptr @.str45, i32 %t94, i32 %t98) call void @exit(i32 1) unreachable ixok22: %t101 = getelementptr inbounds ptr, ptr %t96, i32 %t94 %t102 = load ptr, ptr %t101 %t103 = load ptr, ptr %t3 %t104 = call i32 @lp_str_eq(ptr %t102, ptr %t103) %t105 = icmp ne i32 %t104, 0 %t106 = zext i1 %t105 to i32 store i32 %t106, ptr %t22 br label %scend21 scend21: %t107 = load i32, ptr %t22 %t108 = icmp ne i32 %t107, 0 br i1 %t108, label %then24, label %ifend26 then24: br label %ret ifend26: %t109 = load i32, ptr %t14 %t110 = add i32 %t109, 1 store i32 %t110, ptr %t14 br label %wcond3 wend5: %t111 = load ptr, ptr @g_g_dg_file %t112 = load ptr, ptr %t6 %t113 = getelementptr inbounds %LSlice, ptr %t111, i32 0, i32 1 %t114 = getelementptr inbounds %LSlice, ptr %t111, i32 0, i32 2 %t115 = getelementptr inbounds %LSlice, ptr %t111, i32 0, i32 0 %t116 = load i32, ptr %t113 %t117 = load i32, ptr %t114 %t118 = icmp sge i32 %t116, %t117 br i1 %t118, label %grow27, label %put28 grow27: %t119 = mul i32 %t117, 2 %t120 = icmp eq i32 %t117, 0 %t121 = select i1 %t120, i32 8, i32 %t119 %t122 = getelementptr ptr, ptr null, i32 1 %t123 = ptrtoint ptr %t122 to i64 %t124 = zext i32 %t121 to i64 %t125 = mul i64 %t124, %t123 %t126 = load ptr, ptr %t115 store i32 60, ptr @lp_site %t127 = call ptr @lp_realloc(ptr %t126, i64 %t125) store i32 0, ptr @lp_site store ptr %t127, ptr %t115 store i32 %t121, ptr %t114 br label %put28 put28: %t128 = load ptr, ptr %t115 %t129 = getelementptr inbounds ptr, ptr %t128, i32 %t116 store ptr %t112, ptr %t129 %t130 = add i32 %t116, 1 store i32 %t130, ptr %t113 %t131 = load ptr, ptr @g_g_dg_line %t132 = load i32, ptr %t1 %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 %grow29, label %put30 grow29: %t139 = mul i32 %t137, 2 %t140 = icmp eq i32 %t137, 0 %t141 = select i1 %t140, i32 8, i32 %t139 %t142 = getelementptr i32, 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 store i32 61, ptr @lp_site %t147 = call ptr @lp_realloc(ptr %t146, i64 %t145) store i32 0, ptr @lp_site store ptr %t147, ptr %t135 store i32 %t141, ptr %t134 br label %put30 put30: %t148 = load ptr, ptr %t135 %t149 = getelementptr inbounds i32, ptr %t148, i32 %t136 store i32 %t132, ptr %t149 %t150 = add i32 %t136, 1 store i32 %t150, ptr %t133 %t151 = load ptr, ptr @g_g_dg_col %t152 = load i32, ptr %t2 %t153 = getelementptr inbounds %LSlice, ptr %t151, i32 0, i32 1 %t154 = getelementptr inbounds %LSlice, ptr %t151, i32 0, i32 2 %t155 = getelementptr inbounds %LSlice, ptr %t151, i32 0, i32 0 %t156 = load i32, ptr %t153 %t157 = load i32, ptr %t154 %t158 = icmp sge i32 %t156, %t157 br i1 %t158, label %grow31, label %put32 grow31: %t159 = mul i32 %t157, 2 %t160 = icmp eq i32 %t157, 0 %t161 = select i1 %t160, i32 8, i32 %t159 %t162 = getelementptr i32, 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 store i32 62, ptr @lp_site %t167 = call ptr @lp_realloc(ptr %t166, i64 %t165) store i32 0, ptr @lp_site store ptr %t167, ptr %t155 store i32 %t161, ptr %t154 br label %put32 put32: %t168 = load ptr, ptr %t155 %t169 = getelementptr inbounds i32, ptr %t168, i32 %t156 store i32 %t152, ptr %t169 %t170 = add i32 %t156, 1 store i32 %t170, ptr %t153 %t171 = load ptr, ptr @g_g_dg_sev %t172 = load ptr, ptr %t3 %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 %grow33, label %put34 grow33: %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 store i32 63, ptr @lp_site %t187 = call ptr @lp_realloc(ptr %t186, i64 %t185) store i32 0, ptr @lp_site store ptr %t187, ptr %t175 store i32 %t181, ptr %t174 br label %put34 put34: %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 = load ptr, ptr @g_g_dg_msg %t192 = load ptr, ptr %t13 %t193 = getelementptr inbounds %LSlice, ptr %t191, i32 0, i32 1 %t194 = getelementptr inbounds %LSlice, ptr %t191, i32 0, i32 2 %t195 = getelementptr inbounds %LSlice, ptr %t191, i32 0, i32 0 %t196 = load i32, ptr %t193 %t197 = load i32, ptr %t194 %t198 = icmp sge i32 %t196, %t197 br i1 %t198, label %grow35, label %put36 grow35: %t199 = mul i32 %t197, 2 %t200 = icmp eq i32 %t197, 0 %t201 = select i1 %t200, i32 8, i32 %t199 %t202 = getelementptr ptr, ptr null, i32 1 %t203 = ptrtoint ptr %t202 to i64 %t204 = zext i32 %t201 to i64 %t205 = mul i64 %t204, %t203 %t206 = load ptr, ptr %t195 store i32 64, ptr @lp_site %t207 = call ptr @lp_realloc(ptr %t206, i64 %t205) store i32 0, ptr @lp_site store ptr %t207, ptr %t195 store i32 %t201, ptr %t194 br label %put36 put36: %t208 = load ptr, ptr %t195 %t209 = getelementptr inbounds ptr, ptr %t208, i32 %t196 store ptr %t192, ptr %t209 %t210 = add i32 %t196, 1 store i32 %t210, ptr %t193 %t211 = load ptr, ptr %t3 %t212 = call i32 @lp_str_eq(ptr %t211, ptr @.str46) %t213 = icmp ne i32 %t212, 0 br i1 %t213, label %then37, label %ifend39 then37: %t214 = load i32, ptr @g_g_dg_errors %t215 = add i32 %t214, 1 store i32 %t215, ptr @g_g_dg_errors br label %ifend39 ifend39: br label %ret ret: ret void } define ptr @fn_diag_trim(ptr %arg_m) { entry: %retval = alloca ptr %t0 = alloca ptr %t4 = alloca i32 %t5 = alloca i32 %t11 = alloca i32 store ptr %arg_m, 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: %t12 = load ptr, ptr %t0 %t13 = load i32, ptr %t4 %t14 = sub i32 %t13, 1 %t15 = getelementptr inbounds i8, ptr %t12, i32 %t14 %t16 = load i8, ptr %t15 %t17 = zext i8 %t16 to i32 %t18 = icmp eq i32 %t17, 10 %t19 = zext i1 %t18 to i32 %t20 = icmp ne i32 %t19, 0 %t21 = zext i1 %t20 to i32 store i32 %t21, ptr %t11 br i1 %t20, label %scend6, label %sc5 sc5: %t22 = load ptr, ptr %t0 %t23 = load i32, ptr %t4 %t24 = sub i32 %t23, 1 %t25 = getelementptr inbounds i8, ptr %t22, i32 %t24 %t26 = load i8, ptr %t25 %t27 = zext i8 %t26 to i32 %t28 = icmp eq i32 %t27, 13 %t29 = zext i1 %t28 to i32 %t30 = icmp ne i32 %t29, 0 %t31 = zext i1 %t30 to i32 store i32 %t31, ptr %t11 br label %scend6 scend6: %t32 = load i32, ptr %t11 %t33 = icmp ne i32 %t32, 0 %t34 = zext i1 %t33 to i32 store i32 %t34, ptr %t5 br label %scend4 scend4: %t35 = load i32, ptr %t5 %t36 = icmp ne i32 %t35, 0 br i1 %t36, label %wbody1, label %wend2 wbody1: %t37 = load i32, ptr %t4 %t38 = sub i32 %t37, 1 store i32 %t38, ptr %t4 br label %wcond0 wend2: %t39 = load ptr, ptr %t0 %t40 = load i32, ptr %t4 store i32 65, ptr @lp_site %t41 = call ptr @lp_str_slice(ptr %t39, i32 0, i32 %t40) store i32 0, ptr @lp_site store ptr %t41, ptr %retval br label %ret ret: %t42 = load ptr, ptr %retval ret ptr %t42 } define void @fn_jq_put(ptr %arg_b, ptr %arg_s) { entry: %t0 = alloca ptr %t1 = alloca ptr %t7 = alloca i32 %t21 = alloca i32 %t47 = alloca i32 store ptr %arg_b, ptr %t0 store ptr %arg_s, ptr %t1 %t2 = load ptr, ptr %t0 call void @fn_buf_putc(ptr %t2, i32 34) %t3 = load ptr, ptr %t1 %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: store i32 0, ptr %t7 br label %wcond3 wcond3: %t8 = load ptr, ptr %t1 %t9 = load i32, ptr %t7 %t10 = getelementptr inbounds i8, ptr %t8, i32 %t9 %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 %wbody4, label %wend5 wbody4: %t16 = load ptr, ptr %t1 %t17 = load i32, ptr %t7 %t18 = getelementptr inbounds i8, ptr %t16, i32 %t17 %t19 = load i8, ptr %t18 %t20 = zext i8 %t19 to i32 store i32 %t20, ptr %t21 %t22 = load i32, ptr %t21 %t23 = icmp eq i32 %t22, 34 %t24 = zext i1 %t23 to i32 %t25 = icmp ne i32 %t24, 0 br i1 %t25, label %then6, label %else7 then6: %t26 = load ptr, ptr %t0 call void @fn_buf_puts(ptr %t26, ptr @.str48) br label %ifend8 else7: %t27 = load i32, ptr %t21 %t28 = icmp eq i32 %t27, 92 %t29 = zext i1 %t28 to i32 %t30 = icmp ne i32 %t29, 0 br i1 %t30, label %then9, label %else10 then9: %t31 = load ptr, ptr %t0 call void @fn_buf_puts(ptr %t31, ptr @.str49) br label %ifend11 else10: %t32 = load i32, ptr %t21 %t33 = icmp eq i32 %t32, 10 %t34 = zext i1 %t33 to i32 %t35 = icmp ne i32 %t34, 0 br i1 %t35, label %then12, label %else13 then12: %t36 = load ptr, ptr %t0 call void @fn_buf_puts(ptr %t36, ptr @.str50) br label %ifend14 else13: %t37 = load i32, ptr %t21 %t38 = icmp eq i32 %t37, 9 %t39 = zext i1 %t38 to i32 %t40 = icmp ne i32 %t39, 0 br i1 %t40, label %then15, label %else16 then15: %t41 = load ptr, ptr %t0 call void @fn_buf_puts(ptr %t41, ptr @.str51) br label %ifend17 else16: %t42 = load i32, ptr %t21 %t43 = icmp eq i32 %t42, 13 %t44 = zext i1 %t43 to i32 %t45 = icmp ne i32 %t44, 0 br i1 %t45, label %then18, label %else19 then18: %t46 = load ptr, ptr %t0 call void @fn_buf_puts(ptr %t46, ptr @.str52) br label %ifend20 else19: %t48 = load i32, ptr %t21 %t49 = icmp sge i32 %t48, 0 %t50 = zext i1 %t49 to i32 %t51 = icmp ne i32 %t50, 0 %t52 = zext i1 %t51 to i32 store i32 %t52, ptr %t47 br i1 %t51, label %sc21, label %scend22 sc21: %t53 = load i32, ptr %t21 %t54 = icmp slt i32 %t53, 32 %t55 = zext i1 %t54 to i32 %t56 = icmp ne i32 %t55, 0 %t57 = zext i1 %t56 to i32 store i32 %t57, ptr %t47 br label %scend22 scend22: %t58 = load i32, ptr %t47 %t59 = icmp ne i32 %t58, 0 br i1 %t59, label %then23, label %else24 then23: %t60 = load ptr, ptr %t0 call void @fn_buf_puts(ptr %t60, ptr @.str53) %t61 = load ptr, ptr %t0 %t62 = load i32, ptr %t21 %t63 = lshr i32 %t62, 4 %t64 = call i32 @fn_jq_hex(i32 %t63) call void @fn_buf_putc(ptr %t61, i32 %t64) %t65 = load ptr, ptr %t0 %t66 = load i32, ptr %t21 %t67 = and i32 %t66, 15 %t68 = call i32 @fn_jq_hex(i32 %t67) call void @fn_buf_putc(ptr %t65, i32 %t68) br label %ifend25 else24: %t69 = load ptr, ptr %t0 %t70 = load i32, ptr %t21 call void @fn_buf_putc(ptr %t69, i32 %t70) br label %ifend25 ifend25: br label %ifend20 ifend20: br label %ifend17 ifend17: br label %ifend14 ifend14: br label %ifend11 ifend11: br label %ifend8 ifend8: %t71 = load i32, ptr %t7 %t72 = add i32 %t71, 1 store i32 %t72, ptr %t7 br label %wcond3 wend5: br label %ifend2 ifend2: %t73 = load ptr, ptr %t0 call void @fn_buf_putc(ptr %t73, i32 34) br label %ret ret: ret void } define i32 @fn_jq_hex(i32 %arg_d) { entry: %retval = alloca i32 %t0 = alloca i32 store i32 %arg_d, 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 87, %t7 store i32 %t8, ptr %retval br label %ret ret: %t9 = load i32, ptr %retval ret i32 %t9 } define void @fn_diag_flush() { entry: %t1 = alloca ptr %t3 = alloca i32 %t88 = alloca ptr %t0 = call ptr @fn_buf_new() store ptr %t0, ptr %t1 %t2 = load ptr, ptr %t1 call void @fn_buf_puts(ptr %t2, ptr @.str54) store i32 0, ptr %t3 br label %wcond0 wcond0: %t4 = load i32, ptr %t3 %t5 = load ptr, ptr @g_g_dg_file %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 i32, ptr %t3 %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: %t15 = load ptr, ptr %t1 call void @fn_buf_puts(ptr %t15, ptr @.str55) br label %ifend5 ifend5: %t16 = load ptr, ptr %t1 call void @fn_buf_puts(ptr %t16, ptr @.str56) %t17 = load ptr, ptr %t1 %t18 = load ptr, ptr @g_g_dg_file %t19 = load i32, ptr %t3 %t20 = getelementptr inbounds %LSlice, ptr %t18, i32 0, i32 0 %t21 = load ptr, ptr %t20 %t22 = getelementptr inbounds %LSlice, ptr %t18, i32 0, i32 1 %t23 = load i32, ptr %t22 %t24 = icmp ult i32 %t19, %t23 br i1 %t24, label %ixok6, label %ixbad7 ixbad7: store i32 66, ptr @lp_site %t25 = call ptr @lp_win_stdio(i32 2) store i32 0, ptr @lp_site call i32 (ptr, ptr, ...) @fprintf(ptr %t25, ptr @.fmt_bounds, ptr @.str57, i32 %t19, i32 %t23) call void @exit(i32 1) unreachable ixok6: %t26 = getelementptr inbounds ptr, ptr %t21, i32 %t19 %t27 = load ptr, ptr %t26 call void @fn_jq_put(ptr %t17, ptr %t27) %t28 = load ptr, ptr %t1 call void @fn_buf_puts(ptr %t28, ptr @.str59) %t29 = load ptr, ptr %t1 %t30 = load ptr, ptr @g_g_dg_line %t31 = load i32, ptr %t3 %t32 = getelementptr inbounds %LSlice, ptr %t30, i32 0, i32 0 %t33 = load ptr, ptr %t32 %t34 = getelementptr inbounds %LSlice, ptr %t30, i32 0, i32 1 %t35 = load i32, ptr %t34 %t36 = icmp ult i32 %t31, %t35 br i1 %t36, label %ixok8, label %ixbad9 ixbad9: store i32 67, ptr @lp_site %t37 = call ptr @lp_win_stdio(i32 2) store i32 0, ptr @lp_site call i32 (ptr, ptr, ...) @fprintf(ptr %t37, ptr @.fmt_bounds, ptr @.str60, i32 %t31, i32 %t35) call void @exit(i32 1) unreachable ixok8: %t38 = getelementptr inbounds i32, ptr %t33, i32 %t31 %t39 = load i32, ptr %t38 call void @fn_buf_puti(ptr %t29, i32 %t39) %t40 = load ptr, ptr %t1 call void @fn_buf_puts(ptr %t40, ptr @.str61) %t41 = load ptr, ptr %t1 %t42 = load ptr, ptr @g_g_dg_col %t43 = load i32, ptr %t3 %t44 = getelementptr inbounds %LSlice, ptr %t42, i32 0, i32 0 %t45 = load ptr, ptr %t44 %t46 = getelementptr inbounds %LSlice, ptr %t42, i32 0, i32 1 %t47 = load i32, ptr %t46 %t48 = icmp ult i32 %t43, %t47 br i1 %t48, label %ixok10, label %ixbad11 ixbad11: store i32 68, ptr @lp_site %t49 = call ptr @lp_win_stdio(i32 2) store i32 0, ptr @lp_site call i32 (ptr, ptr, ...) @fprintf(ptr %t49, ptr @.fmt_bounds, ptr @.str62, i32 %t43, i32 %t47) call void @exit(i32 1) unreachable ixok10: %t50 = getelementptr inbounds i32, ptr %t45, i32 %t43 %t51 = load i32, ptr %t50 call void @fn_buf_puti(ptr %t41, i32 %t51) %t52 = load ptr, ptr %t1 call void @fn_buf_puts(ptr %t52, ptr @.str63) %t53 = load ptr, ptr %t1 %t54 = load ptr, ptr @g_g_dg_sev %t55 = load i32, ptr %t3 %t56 = getelementptr inbounds %LSlice, ptr %t54, i32 0, i32 0 %t57 = load ptr, ptr %t56 %t58 = getelementptr inbounds %LSlice, ptr %t54, i32 0, i32 1 %t59 = load i32, ptr %t58 %t60 = icmp ult i32 %t55, %t59 br i1 %t60, label %ixok12, label %ixbad13 ixbad13: store i32 69, ptr @lp_site %t61 = call ptr @lp_win_stdio(i32 2) store i32 0, ptr @lp_site call i32 (ptr, ptr, ...) @fprintf(ptr %t61, ptr @.fmt_bounds, ptr @.str64, i32 %t55, i32 %t59) call void @exit(i32 1) unreachable ixok12: %t62 = getelementptr inbounds ptr, ptr %t57, i32 %t55 %t63 = load ptr, ptr %t62 call void @fn_jq_put(ptr %t53, ptr %t63) %t64 = load ptr, ptr %t1 call void @fn_buf_puts(ptr %t64, ptr @.str65) %t65 = load ptr, ptr %t1 %t66 = load ptr, ptr @g_g_dg_msg %t67 = load i32, ptr %t3 %t68 = getelementptr inbounds %LSlice, ptr %t66, i32 0, i32 0 %t69 = load ptr, ptr %t68 %t70 = getelementptr inbounds %LSlice, ptr %t66, i32 0, i32 1 %t71 = load i32, ptr %t70 %t72 = icmp ult i32 %t67, %t71 br i1 %t72, label %ixok14, label %ixbad15 ixbad15: store i32 70, ptr @lp_site %t73 = call ptr @lp_win_stdio(i32 2) store i32 0, ptr @lp_site call i32 (ptr, ptr, ...) @fprintf(ptr %t73, ptr @.fmt_bounds, ptr @.str66, i32 %t67, i32 %t71) call void @exit(i32 1) unreachable ixok14: %t74 = getelementptr inbounds ptr, ptr %t69, i32 %t67 %t75 = load ptr, ptr %t74 call void @fn_jq_put(ptr %t65, ptr %t75) %t76 = load ptr, ptr %t1 call void @fn_buf_puts(ptr %t76, ptr @.str67) %t77 = load i32, ptr %t3 %t78 = add i32 %t77, 1 store i32 %t78, ptr %t3 br label %wcond0 wend2: %t79 = load ptr, ptr @g_g_dg_file %t80 = getelementptr inbounds %LSlice, ptr %t79, i32 0, i32 1 %t81 = load i32, ptr %t80 %t82 = icmp sgt i32 %t81, 0 %t83 = zext i1 %t82 to i32 %t84 = icmp ne i32 %t83, 0 br i1 %t84, label %then16, label %ifend18 then16: %t85 = load ptr, ptr %t1 call void @fn_buf_puts(ptr %t85, ptr @.str68) br label %ifend18 ifend18: %t86 = load ptr, ptr %t1 call void @fn_buf_puts(ptr %t86, ptr @.str69) store i32 71, ptr @lp_site %t87 = call ptr @lp_win_stdio(i32 1) store i32 0, ptr @lp_site store ptr %t87, ptr %t88 %t89 = load ptr, ptr %t88 %t90 = load ptr, ptr %t1 %t91 = call ptr @fn_buf_str(ptr %t90) %t92 = load ptr, ptr %t1 %t93 = getelementptr inbounds %Cmp_Buf, ptr %t92, i32 0, i32 1 %t94 = load i32, ptr %t93 %t95 = zext i32 %t94 to i64 %t96 = call i64 @fwrite(ptr %t91, i64 1, i64 %t95, ptr %t89) %t97 = trunc i64 %t96 to i32 br label %ret ret: ret void } define void @fn_diag_exit(i32 %arg_code) { entry: %t0 = alloca i32 store i32 %arg_code, ptr %t0 %t1 = load i32, ptr @g_g_diag_json %t2 = icmp ne i32 %t1, 0 br i1 %t2, label %then0, label %ifend2 then0: call void @fn_diag_flush() br label %ifend2 ifend2: %t3 = load i32, ptr %t0 call void @exit(i32 %t3) unreachable ret: ret void } define i32 @fn_unsafe_trusted(ptr %arg_f) { entry: %retval = alloca i32 %t0 = alloca ptr store ptr %arg_f, ptr %t0 %t1 = load i32, ptr @g_g_unsafe_all %t2 = icmp ne i32 %t1, 0 br i1 %t2, label %then0, label %ifend2 then0: store i32 1, ptr %retval br label %ret ifend2: %t3 = load ptr, ptr @g_g_fm_trusted %t4 = load ptr, ptr %t0 %t5 = call ptr @fn_fm_get(ptr %t3, ptr %t4) %t6 = call i32 @lp_str_eq(ptr %t5, ptr @.str70) %t7 = icmp eq i32 %t6, 0 %t8 = zext i1 %t7 to i32 store i32 %t8, ptr %retval br label %ret ret: %t9 = load i32, ptr %retval ret i32 %t9 } define ptr @fn_fm_new() { entry: %retval = alloca ptr %t5 = alloca ptr %t22 = alloca i32 %t0 = getelementptr %Cmp_FileMap, ptr null, i32 1 %t1 = ptrtoint ptr %t0 to i64 store i32 72, ptr @lp_site %t2 = call ptr @lp_malloc(i64 %t1) store i32 0, ptr @lp_site %t3 = getelementptr inbounds %Cmp_FileMap, ptr %t2, i32 0, i32 0 store ptr null, ptr %t3 %t4 = getelementptr inbounds %Cmp_FileMap, ptr %t2, i32 0, i32 1 store ptr null, ptr %t4 store ptr %t2, ptr %t5 %t6 = load ptr, ptr %t5 %t7 = getelementptr inbounds %Cmp_FileMap, ptr %t6, i32 0, i32 0 %t8 = getelementptr %LSlice, ptr null, i32 1 %t9 = ptrtoint ptr %t8 to i64 store i32 73, ptr @lp_site %t10 = call ptr @lp_malloc(i64 %t9) store i32 0, ptr @lp_site %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 %t7 %t14 = load ptr, ptr %t5 %t15 = getelementptr inbounds %Cmp_FileMap, ptr %t14, i32 0, i32 1 %t16 = getelementptr %LSlice, ptr null, i32 1 %t17 = ptrtoint ptr %t16 to i64 store i32 74, ptr @lp_site %t18 = call ptr @lp_malloc(i64 %t17) store i32 0, ptr @lp_site %t19 = getelementptr inbounds %LSlice, ptr %t18, i32 0, i32 0 store ptr null, ptr %t19 %t20 = getelementptr inbounds %LSlice, ptr %t18, i32 0, i32 1 store i32 0, ptr %t20 %t21 = getelementptr inbounds %LSlice, ptr %t18, i32 0, i32 2 store i32 0, ptr %t21 store ptr %t18, ptr %t15 store i32 0, ptr %t22 br label %wcond0 wcond0: %t23 = load i32, ptr %t22 %t24 = icmp slt i32 %t23, 16384 %t25 = zext i1 %t24 to i32 %t26 = icmp ne i32 %t25, 0 br i1 %t26, label %wbody1, label %wend2 wbody1: %t27 = load ptr, ptr %t5 %t28 = getelementptr inbounds %Cmp_FileMap, ptr %t27, i32 0, i32 0 %t29 = load ptr, ptr %t28 %t30 = getelementptr inbounds %LSlice, ptr %t29, i32 0, i32 1 %t31 = getelementptr inbounds %LSlice, ptr %t29, i32 0, i32 2 %t32 = getelementptr inbounds %LSlice, ptr %t29, i32 0, i32 0 %t33 = load i32, ptr %t30 %t34 = load i32, ptr %t31 %t35 = icmp sge i32 %t33, %t34 br i1 %t35, label %grow3, label %put4 grow3: %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 store i32 75, ptr @lp_site %t44 = call ptr @lp_realloc(ptr %t43, i64 %t42) store i32 0, ptr @lp_site store ptr %t44, ptr %t32 store i32 %t38, ptr %t31 br label %put4 put4: %t45 = load ptr, ptr %t32 %t46 = getelementptr inbounds ptr, ptr %t45, i32 %t33 store ptr null, ptr %t46 %t47 = add i32 %t33, 1 store i32 %t47, ptr %t30 %t48 = load ptr, ptr %t5 %t49 = getelementptr inbounds %Cmp_FileMap, ptr %t48, i32 0, i32 1 %t50 = load ptr, ptr %t49 %t51 = getelementptr inbounds %LSlice, ptr %t50, i32 0, i32 1 %t52 = getelementptr inbounds %LSlice, ptr %t50, i32 0, i32 2 %t53 = getelementptr inbounds %LSlice, ptr %t50, i32 0, i32 0 %t54 = load i32, ptr %t51 %t55 = load i32, ptr %t52 %t56 = icmp sge i32 %t54, %t55 br i1 %t56, label %grow5, label %put6 grow5: %t57 = mul i32 %t55, 2 %t58 = icmp eq i32 %t55, 0 %t59 = select i1 %t58, i32 8, i32 %t57 %t60 = getelementptr ptr, ptr null, i32 1 %t61 = ptrtoint ptr %t60 to i64 %t62 = zext i32 %t59 to i64 %t63 = mul i64 %t62, %t61 %t64 = load ptr, ptr %t53 store i32 76, ptr @lp_site %t65 = call ptr @lp_realloc(ptr %t64, i64 %t63) store i32 0, ptr @lp_site store ptr %t65, ptr %t53 store i32 %t59, ptr %t52 br label %put6 put6: %t66 = load ptr, ptr %t53 %t67 = getelementptr inbounds ptr, ptr %t66, i32 %t54 store ptr null, ptr %t67 %t68 = add i32 %t54, 1 store i32 %t68, ptr %t51 %t69 = load i32, ptr %t22 %t70 = add i32 %t69, 1 store i32 %t70, ptr %t22 br label %wcond0 wend2: %t71 = load ptr, ptr %t5 store ptr %t71, ptr %retval br label %ret ret: %t72 = load ptr, ptr %retval ret ptr %t72 } define i32 @fn_fm_slot(ptr %arg_m, ptr %arg_f) { entry: %retval = alloca i32 %t0 = alloca ptr %t1 = alloca ptr %t2 = alloca i32 %t3 = alloca i32 %t7 = alloca i32 %t26 = alloca i32 store ptr %arg_m, ptr %t0 store ptr %arg_f, ptr %t1 store i32 5381, ptr %t2 store i32 0, ptr %t3 %t4 = load ptr, ptr %t1 %t5 = call i64 @strlen(ptr %t4) %t6 = trunc i64 %t5 to i32 store i32 %t6, ptr %t7 br label %wcond0 wcond0: %t8 = load i32, ptr %t3 %t9 = load i32, ptr %t7 %t10 = icmp slt i32 %t8, %t9 %t11 = zext i1 %t10 to i32 %t12 = icmp ne i32 %t11, 0 br i1 %t12, label %wbody1, label %wend2 wbody1: %t13 = load i32, ptr %t2 %t14 = mul i32 %t13, 33 %t15 = load ptr, ptr %t1 %t16 = load i32, ptr %t3 %t17 = getelementptr inbounds i8, ptr %t15, i32 %t16 %t18 = load i8, ptr %t17 %t19 = zext i8 %t18 to i32 %t20 = add i32 %t14, %t19 %t21 = srem i32 %t20, 1000003 store i32 %t21, ptr %t2 %t22 = load i32, ptr %t3 %t23 = add i32 %t22, 1 store i32 %t23, ptr %t3 br label %wcond0 wend2: %t24 = load i32, ptr %t2 %t25 = srem i32 %t24, 16384 store i32 %t25, ptr %t2 br label %wcond3 wcond3: %t27 = load ptr, ptr %t0 %t28 = getelementptr inbounds %Cmp_FileMap, ptr %t27, i32 0, i32 0 %t29 = load ptr, ptr %t28 %t30 = load i32, ptr %t2 %t31 = getelementptr inbounds %LSlice, ptr %t29, i32 0, i32 0 %t32 = load ptr, ptr %t31 %t33 = getelementptr inbounds %LSlice, ptr %t29, i32 0, i32 1 %t34 = load i32, ptr %t33 %t35 = icmp ult i32 %t30, %t34 br i1 %t35, label %ixok6, label %ixbad7 ixbad7: store i32 77, ptr @lp_site %t36 = call ptr @lp_win_stdio(i32 2) store i32 0, ptr @lp_site call i32 (ptr, ptr, ...) @fprintf(ptr %t36, ptr @.fmt_bounds, ptr @.str74, i32 %t30, i32 %t34) call void @exit(i32 1) unreachable ixok6: %t37 = getelementptr inbounds ptr, ptr %t32, i32 %t30 %t38 = load ptr, ptr %t37 %t39 = icmp ne ptr %t38, null %t40 = zext i1 %t39 to i32 %t41 = icmp ne i32 %t40, 0 %t42 = zext i1 %t41 to i32 store i32 %t42, ptr %t26 br i1 %t41, label %sc8, label %scend9 sc8: %t43 = load ptr, ptr %t0 %t44 = getelementptr inbounds %Cmp_FileMap, ptr %t43, i32 0, i32 0 %t45 = load ptr, ptr %t44 %t46 = load i32, ptr %t2 %t47 = getelementptr inbounds %LSlice, ptr %t45, i32 0, i32 0 %t48 = load ptr, ptr %t47 %t49 = getelementptr inbounds %LSlice, ptr %t45, i32 0, i32 1 %t50 = load i32, ptr %t49 %t51 = icmp ult i32 %t46, %t50 br i1 %t51, label %ixok10, label %ixbad11 ixbad11: store i32 78, ptr @lp_site %t52 = call ptr @lp_win_stdio(i32 2) store i32 0, ptr @lp_site call i32 (ptr, ptr, ...) @fprintf(ptr %t52, ptr @.fmt_bounds, ptr @.str76, i32 %t46, i32 %t50) call void @exit(i32 1) unreachable ixok10: %t53 = getelementptr inbounds ptr, ptr %t48, i32 %t46 %t54 = load ptr, ptr %t53 %t55 = load ptr, ptr %t1 %t56 = call i32 @lp_str_eq(ptr %t54, ptr %t55) %t57 = icmp eq i32 %t56, 0 %t58 = zext i1 %t57 to i32 %t59 = icmp ne i32 %t58, 0 %t60 = zext i1 %t59 to i32 store i32 %t60, ptr %t26 br label %scend9 scend9: %t61 = load i32, ptr %t26 %t62 = icmp ne i32 %t61, 0 br i1 %t62, label %wbody4, label %wend5 wbody4: %t63 = load i32, ptr %t2 %t64 = add i32 %t63, 1 %t65 = srem i32 %t64, 16384 store i32 %t65, ptr %t2 br label %wcond3 wend5: %t66 = load i32, ptr %t2 store i32 %t66, ptr %retval br label %ret ret: %t67 = load i32, ptr %retval ret i32 %t67 } define void @fn_fm_put(ptr %arg_m, ptr %arg_f, ptr %arg_v) { entry: %t0 = alloca ptr %t1 = alloca ptr %t2 = alloca ptr %t10 = alloca i32 store ptr %arg_m, ptr %t0 store ptr %arg_f, ptr %t1 store ptr %arg_v, ptr %t2 %t3 = load ptr, ptr %t1 %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: %t7 = load ptr, ptr %t0 %t8 = load ptr, ptr %t1 %t9 = call i32 @fn_fm_slot(ptr %t7, ptr %t8) store i32 %t9, ptr %t10 %t11 = load ptr, ptr %t0 %t12 = getelementptr inbounds %Cmp_FileMap, ptr %t11, i32 0, i32 0 %t13 = load ptr, ptr %t12 %t14 = load i32, ptr %t10 %t15 = getelementptr inbounds %LSlice, ptr %t13, i32 0, i32 0 %t16 = load ptr, ptr %t15 %t17 = getelementptr inbounds %LSlice, ptr %t13, i32 0, i32 1 %t18 = load i32, ptr %t17 %t19 = icmp ult i32 %t14, %t18 br i1 %t19, label %ixok3, label %ixbad4 ixbad4: store i32 79, ptr @lp_site %t20 = call ptr @lp_win_stdio(i32 2) store i32 0, ptr @lp_site call i32 (ptr, ptr, ...) @fprintf(ptr %t20, ptr @.fmt_bounds, ptr @.str77, i32 %t14, i32 %t18) call void @exit(i32 1) unreachable ixok3: %t21 = getelementptr inbounds ptr, ptr %t16, i32 %t14 %t22 = load ptr, ptr %t1 store ptr %t22, ptr %t21 %t23 = load ptr, ptr %t0 %t24 = getelementptr inbounds %Cmp_FileMap, ptr %t23, i32 0, i32 1 %t25 = load ptr, ptr %t24 %t26 = load i32, ptr %t10 %t27 = getelementptr inbounds %LSlice, ptr %t25, i32 0, i32 0 %t28 = load ptr, ptr %t27 %t29 = getelementptr inbounds %LSlice, ptr %t25, i32 0, i32 1 %t30 = load i32, ptr %t29 %t31 = icmp ult i32 %t26, %t30 br i1 %t31, label %ixok5, label %ixbad6 ixbad6: store i32 80, ptr @lp_site %t32 = call ptr @lp_win_stdio(i32 2) store i32 0, ptr @lp_site call i32 (ptr, ptr, ...) @fprintf(ptr %t32, ptr @.fmt_bounds, ptr @.str79, i32 %t26, i32 %t30) call void @exit(i32 1) unreachable ixok5: %t33 = getelementptr inbounds ptr, ptr %t28, i32 %t26 %t34 = load ptr, ptr %t2 store ptr %t34, ptr %t33 br label %ret ret: ret void } define ptr @fn_fm_get(ptr %arg_m, ptr %arg_f) { entry: %retval = alloca ptr %t0 = alloca ptr %t1 = alloca ptr %t9 = alloca i32 store ptr %arg_m, ptr %t0 store ptr %arg_f, 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 ptr @.str80, ptr %retval br label %ret ifend2: %t6 = load ptr, ptr %t0 %t7 = load ptr, ptr %t1 %t8 = call i32 @fn_fm_slot(ptr %t6, ptr %t7) store i32 %t8, ptr %t9 %t10 = load ptr, ptr %t0 %t11 = getelementptr inbounds %Cmp_FileMap, ptr %t10, i32 0, i32 0 %t12 = load ptr, ptr %t11 %t13 = load i32, ptr %t9 %t14 = getelementptr inbounds %LSlice, ptr %t12, i32 0, i32 0 %t15 = load ptr, ptr %t14 %t16 = getelementptr inbounds %LSlice, ptr %t12, i32 0, i32 1 %t17 = load i32, ptr %t16 %t18 = icmp ult i32 %t13, %t17 br i1 %t18, label %ixok3, label %ixbad4 ixbad4: store i32 81, ptr @lp_site %t19 = call ptr @lp_win_stdio(i32 2) store i32 0, ptr @lp_site call i32 (ptr, ptr, ...) @fprintf(ptr %t19, ptr @.fmt_bounds, ptr @.str81, i32 %t13, i32 %t17) call void @exit(i32 1) unreachable ixok3: %t20 = getelementptr inbounds ptr, ptr %t15, i32 %t13 %t21 = load ptr, ptr %t20 %t22 = icmp eq ptr %t21, null %t23 = zext i1 %t22 to i32 %t24 = icmp ne i32 %t23, 0 br i1 %t24, label %then5, label %ifend7 then5: store ptr @.str83, ptr %retval br label %ret ifend7: %t25 = load ptr, ptr %t0 %t26 = getelementptr inbounds %Cmp_FileMap, ptr %t25, i32 0, i32 1 %t27 = load ptr, ptr %t26 %t28 = load i32, ptr %t9 %t29 = getelementptr inbounds %LSlice, ptr %t27, i32 0, i32 0 %t30 = load ptr, ptr %t29 %t31 = getelementptr inbounds %LSlice, ptr %t27, i32 0, i32 1 %t32 = load i32, ptr %t31 %t33 = icmp ult i32 %t28, %t32 br i1 %t33, label %ixok8, label %ixbad9 ixbad9: store i32 82, ptr @lp_site %t34 = call ptr @lp_win_stdio(i32 2) store i32 0, ptr @lp_site call i32 (ptr, ptr, ...) @fprintf(ptr %t34, ptr @.fmt_bounds, ptr @.str84, i32 %t28, i32 %t32) call void @exit(i32 1) unreachable ixok8: %t35 = getelementptr inbounds ptr, ptr %t30, i32 %t28 %t36 = load ptr, ptr %t35 store ptr %t36, ptr %retval br label %ret ret: %t37 = load ptr, ptr %retval ret ptr %t37 } define void @fn_trust_file(ptr %arg_f) { entry: %t0 = alloca ptr store ptr %arg_f, ptr %t0 %t1 = load ptr, ptr @g_g_trusted_files %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 store i32 83, ptr @lp_site %t17 = call ptr @lp_realloc(ptr %t16, i64 %t15) store i32 0, ptr @lp_site store ptr %t17, ptr %t5 store i32 %t11, ptr %t4 br label %put1 put1: %t18 = load ptr, ptr %t5 %t19 = getelementptr inbounds ptr, ptr %t18, i32 %t6 store ptr %t2, ptr %t19 %t20 = add i32 %t6, 1 store i32 %t20, ptr %t3 %t21 = load ptr, ptr @g_g_fm_trusted %t22 = load ptr, ptr %t0 call void @fn_fm_put(ptr %t21, ptr %t22, ptr @.str86) br label %ret ret: ret void } define ptr @fn_module_of(ptr %arg_f) { entry: %retval = alloca ptr %t0 = alloca ptr store ptr %arg_f, ptr %t0 %t1 = load ptr, ptr @g_g_fm_mod %t2 = load ptr, ptr %t0 %t3 = call ptr @fn_fm_get(ptr %t1, ptr %t2) store ptr %t3, ptr %retval br label %ret ret: %t4 = load ptr, ptr %retval ret ptr %t4 } define void @fn_module_set(ptr %arg_f, ptr %arg_name) { entry: %t0 = alloca ptr %t1 = alloca ptr store ptr %arg_f, ptr %t0 store ptr %arg_name, ptr %t1 %t2 = load ptr, ptr @g_g_mod_file %t3 = load ptr, ptr %t0 %t4 = getelementptr inbounds %LSlice, ptr %t2, i32 0, i32 1 %t5 = getelementptr inbounds %LSlice, ptr %t2, i32 0, i32 2 %t6 = getelementptr inbounds %LSlice, ptr %t2, i32 0, i32 0 %t7 = load i32, ptr %t4 %t8 = load i32, ptr %t5 %t9 = icmp sge i32 %t7, %t8 br i1 %t9, label %grow0, label %put1 grow0: %t10 = mul i32 %t8, 2 %t11 = icmp eq i32 %t8, 0 %t12 = select i1 %t11, i32 8, i32 %t10 %t13 = getelementptr ptr, ptr null, i32 1 %t14 = ptrtoint ptr %t13 to i64 %t15 = zext i32 %t12 to i64 %t16 = mul i64 %t15, %t14 %t17 = load ptr, ptr %t6 store i32 84, ptr @lp_site %t18 = call ptr @lp_realloc(ptr %t17, i64 %t16) store i32 0, ptr @lp_site store ptr %t18, ptr %t6 store i32 %t12, ptr %t5 br label %put1 put1: %t19 = load ptr, ptr %t6 %t20 = getelementptr inbounds ptr, ptr %t19, i32 %t7 store ptr %t3, ptr %t20 %t21 = add i32 %t7, 1 store i32 %t21, ptr %t4 %t22 = load ptr, ptr @g_g_mod_name %t23 = load ptr, ptr %t1 %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 %grow2, label %put3 grow2: %t30 = mul i32 %t28, 2 %t31 = icmp eq i32 %t28, 0 %t32 = select i1 %t31, i32 8, i32 %t30 %t33 = getelementptr ptr, 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 store i32 85, ptr @lp_site %t38 = call ptr @lp_realloc(ptr %t37, i64 %t36) store i32 0, ptr @lp_site store ptr %t38, ptr %t26 store i32 %t32, ptr %t25 br label %put3 put3: %t39 = load ptr, ptr %t26 %t40 = getelementptr inbounds ptr, ptr %t39, i32 %t27 store ptr %t23, ptr %t40 %t41 = add i32 %t27, 1 store i32 %t41, ptr %t24 %t42 = load ptr, ptr @g_g_fm_mod %t43 = load ptr, ptr %t0 %t44 = load ptr, ptr %t1 call void @fn_fm_put(ptr %t42, ptr %t43, ptr %t44) br label %ret ret: ret void } define i32 @fn_is_float_file(ptr %arg_f) { entry: %retval = alloca i32 %t0 = alloca ptr store ptr %arg_f, 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: store i32 0, ptr %retval br label %ret ifend2: %t5 = load ptr, ptr @g_g_fm_float %t6 = load ptr, ptr %t0 %t7 = call ptr @fn_fm_get(ptr %t5, ptr %t6) %t8 = call i32 @lp_str_eq(ptr %t7, ptr @.str88) %t9 = icmp eq i32 %t8, 0 %t10 = zext i1 %t9 to i32 store i32 %t10, ptr %retval br label %ret ret: %t11 = load i32, ptr %retval ret i32 %t11 } define void @fn_float_file_add(ptr %arg_f) { entry: %t0 = alloca ptr store ptr %arg_f, ptr %t0 %t1 = load ptr, ptr @g_g_float_files %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 store i32 86, ptr @lp_site %t17 = call ptr @lp_realloc(ptr %t16, i64 %t15) store i32 0, ptr @lp_site store ptr %t17, ptr %t5 store i32 %t11, ptr %t4 br label %put1 put1: %t18 = load ptr, ptr %t5 %t19 = getelementptr inbounds ptr, ptr %t18, i32 %t6 store ptr %t2, ptr %t19 %t20 = add i32 %t6, 1 store i32 %t20, ptr %t3 %t21 = load ptr, ptr @g_g_fm_float %t22 = load ptr, ptr %t0 call void @fn_fm_put(ptr %t21, ptr %t22, ptr @.str90) br label %ret ret: ret void } define ptr @fn_cur() { entry: %retval = alloca ptr %t0 = load ptr, ptr @g_toks %t1 = load i32, ptr @g_pi %t2 = getelementptr inbounds %LSlice, ptr %t0, i32 0, i32 0 %t3 = load ptr, ptr %t2 %t4 = getelementptr inbounds %LSlice, ptr %t0, i32 0, i32 1 %t5 = load i32, ptr %t4 %t6 = icmp ult i32 %t1, %t5 br i1 %t6, label %ixok0, label %ixbad1 ixbad1: store i32 87, ptr @lp_site %t7 = call ptr @lp_win_stdio(i32 2) store i32 0, ptr @lp_site call i32 (ptr, ptr, ...) @fprintf(ptr %t7, ptr @.fmt_bounds, ptr @.str91, i32 %t1, i32 %t5) call void @exit(i32 1) unreachable ixok0: %t8 = getelementptr inbounds ptr, ptr %t3, i32 %t1 %t9 = load ptr, ptr %t8 store ptr %t9, ptr %retval br label %ret ret: %t10 = load ptr, ptr %retval ret ptr %t10 } 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 = load i32, ptr @g_pi %t3 = load i32, ptr %t0 %t4 = add i32 %t2, %t3 %t5 = getelementptr inbounds %LSlice, ptr %t1, i32 0, i32 0 %t6 = load ptr, ptr %t5 %t7 = getelementptr inbounds %LSlice, ptr %t1, i32 0, i32 1 %t8 = load i32, ptr %t7 %t9 = icmp ult i32 %t4, %t8 br i1 %t9, label %ixok0, label %ixbad1 ixbad1: store i32 88, ptr @lp_site %t10 = call ptr @lp_win_stdio(i32 2) store i32 0, ptr @lp_site call i32 (ptr, ptr, ...) @fprintf(ptr %t10, ptr @.fmt_bounds, ptr @.str93, i32 %t4, i32 %t8) call void @exit(i32 1) unreachable ixok0: %t11 = getelementptr inbounds ptr, ptr %t6, i32 %t4 %t12 = load ptr, ptr %t11 store ptr %t12, ptr %retval br label %ret ret: %t13 = load ptr, ptr %retval ret ptr %t13 } define i32 @fn_is_op(ptr %arg_v) { entry: %retval = alloca i32 %t0 = alloca ptr %t11 = alloca ptr %t12 = alloca i32 store ptr %arg_v, ptr %t0 %t1 = load ptr, ptr @g_toks %t2 = load i32, ptr @g_pi %t3 = getelementptr inbounds %LSlice, ptr %t1, i32 0, i32 0 %t4 = load ptr, ptr %t3 %t5 = getelementptr inbounds %LSlice, ptr %t1, i32 0, i32 1 %t6 = load i32, ptr %t5 %t7 = icmp ult i32 %t2, %t6 br i1 %t7, label %ixok0, label %ixbad1 ixbad1: store i32 89, ptr @lp_site %t8 = call ptr @lp_win_stdio(i32 2) store i32 0, ptr @lp_site call i32 (ptr, ptr, ...) @fprintf(ptr %t8, ptr @.fmt_bounds, ptr @.str95, i32 %t2, i32 %t6) call void @exit(i32 1) unreachable ixok0: %t9 = getelementptr inbounds ptr, ptr %t4, i32 %t2 %t10 = load ptr, ptr %t9 store ptr %t10, ptr %t11 %t13 = load ptr, ptr %t11 %t14 = getelementptr inbounds %Cmp_Tok, ptr %t13, i32 0, i32 0 %t15 = load i32, ptr %t14 %t16 = icmp eq i32 %t15, 3 %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 %sc2, label %scend3 sc2: %t20 = load ptr, ptr %t11 %t21 = getelementptr inbounds %Cmp_Tok, ptr %t20, i32 0, i32 1 %t22 = load ptr, ptr %t21 %t23 = load ptr, ptr %t0 %t24 = call i32 @lp_str_eq(ptr %t22, ptr %t23) %t25 = icmp ne i32 %t24, 0 %t26 = zext i1 %t25 to i32 store i32 %t26, ptr %t12 br label %scend3 scend3: %t27 = load i32, ptr %t12 store i32 %t27, ptr %retval br label %ret ret: %t28 = load i32, ptr %retval ret i32 %t28 } define i32 @fn_is_id(ptr %arg_v) { entry: %retval = alloca i32 %t0 = alloca ptr %t11 = alloca ptr %t12 = alloca i32 store ptr %arg_v, ptr %t0 %t1 = load ptr, ptr @g_toks %t2 = load i32, ptr @g_pi %t3 = getelementptr inbounds %LSlice, ptr %t1, i32 0, i32 0 %t4 = load ptr, ptr %t3 %t5 = getelementptr inbounds %LSlice, ptr %t1, i32 0, i32 1 %t6 = load i32, ptr %t5 %t7 = icmp ult i32 %t2, %t6 br i1 %t7, label %ixok0, label %ixbad1 ixbad1: store i32 90, ptr @lp_site %t8 = call ptr @lp_win_stdio(i32 2) store i32 0, ptr @lp_site call i32 (ptr, ptr, ...) @fprintf(ptr %t8, ptr @.fmt_bounds, ptr @.str97, i32 %t2, i32 %t6) call void @exit(i32 1) unreachable ixok0: %t9 = getelementptr inbounds ptr, ptr %t4, i32 %t2 %t10 = load ptr, ptr %t9 store ptr %t10, ptr %t11 %t13 = load ptr, ptr %t11 %t14 = getelementptr inbounds %Cmp_Tok, ptr %t13, i32 0, i32 0 %t15 = load i32, ptr %t14 %t16 = icmp eq i32 %t15, 0 %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 %sc2, label %scend3 sc2: %t20 = load ptr, ptr %t11 %t21 = getelementptr inbounds %Cmp_Tok, ptr %t20, i32 0, i32 1 %t22 = load ptr, ptr %t21 %t23 = load ptr, ptr %t0 %t24 = call i32 @lp_str_eq(ptr %t22, ptr %t23) %t25 = icmp ne i32 %t24, 0 %t26 = zext i1 %t25 to i32 store i32 %t26, ptr %t12 br label %scend3 scend3: %t27 = load i32, ptr %t12 store i32 %t27, ptr %retval br label %ret ret: %t28 = load i32, ptr %retval ret i32 %t28 } 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 %t5 = alloca i32 %t59 = 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 store i32 0, ptr %t5 %t6 = load i32, ptr @g_g_parsing %t7 = icmp ne i32 %t6, 0 br i1 %t7, label %then0, label %ifend2 then0: %t8 = load ptr, ptr @g_g_parse_file store ptr %t8, ptr %t2 store i32 0, ptr %t4 %t9 = load i32, ptr @g_pi %t10 = load ptr, ptr @g_toks %t11 = getelementptr inbounds %LSlice, ptr %t10, i32 0, i32 1 %t12 = load i32, ptr %t11 %t13 = icmp slt i32 %t9, %t12 %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_toks %t17 = load i32, ptr @g_pi %t18 = getelementptr inbounds %LSlice, ptr %t16, i32 0, i32 0 %t19 = load ptr, ptr %t18 %t20 = getelementptr inbounds %LSlice, ptr %t16, i32 0, i32 1 %t21 = load i32, ptr %t20 %t22 = icmp ult i32 %t17, %t21 br i1 %t22, label %ixok6, label %ixbad7 ixbad7: store i32 91, ptr @lp_site %t23 = call ptr @lp_win_stdio(i32 2) store i32 0, ptr @lp_site call i32 (ptr, ptr, ...) @fprintf(ptr %t23, ptr @.fmt_bounds, ptr @.str99, i32 %t17, i32 %t21) call void @exit(i32 1) unreachable ixok6: %t24 = getelementptr inbounds ptr, ptr %t19, i32 %t17 %t25 = load ptr, ptr %t24 %t26 = getelementptr inbounds %Cmp_Tok, ptr %t25, i32 0, i32 3 %t27 = load i32, ptr %t26 store i32 %t27, ptr %t4 %t28 = load ptr, ptr @g_toks %t29 = load i32, ptr @g_pi %t30 = getelementptr inbounds %LSlice, ptr %t28, i32 0, i32 0 %t31 = load ptr, ptr %t30 %t32 = getelementptr inbounds %LSlice, ptr %t28, i32 0, i32 1 %t33 = load i32, ptr %t32 %t34 = icmp ult i32 %t29, %t33 br i1 %t34, label %ixok8, label %ixbad9 ixbad9: store i32 92, ptr @lp_site %t35 = call ptr @lp_win_stdio(i32 2) store i32 0, ptr @lp_site call i32 (ptr, ptr, ...) @fprintf(ptr %t35, ptr @.fmt_bounds, ptr @.str101, i32 %t29, i32 %t33) call void @exit(i32 1) unreachable ixok8: %t36 = getelementptr inbounds ptr, ptr %t31, i32 %t29 %t37 = load ptr, ptr %t36 %t38 = getelementptr inbounds %Cmp_Tok, ptr %t37, i32 0, i32 6 %t39 = load i32, ptr %t38 store i32 %t39, ptr %t5 br label %ifend5 ifend5: br label %ifend2 ifend2: %t40 = load ptr, ptr %t2 %t41 = icmp eq ptr %t40, null %t42 = zext i1 %t41 to i32 %t43 = icmp ne i32 %t42, 0 br i1 %t43, label %then10, label %ifend12 then10: store ptr @.str102, ptr %t2 br label %ifend12 ifend12: %t44 = load i32, ptr @g_g_diag_json %t45 = icmp ne i32 %t44, 0 br i1 %t45, label %then13, label %ifend15 then13: %t46 = load ptr, ptr %t2 %t47 = load i32, ptr %t4 %t48 = load i32, ptr %t5 %t49 = load ptr, ptr %t0 call void @fn_diag_add(ptr %t46, i32 %t47, i32 %t48, ptr @.str103, ptr %t49) call void @fn_diag_exit(i32 1) br label %ifend15 ifend15: %t50 = load ptr, ptr %t2 store i32 93, ptr @lp_site %t51 = call ptr @lp_str_concat(ptr %t50, ptr @.str104) store i32 0, ptr @lp_site %t52 = load i32, ptr %t4 store i32 94, ptr @lp_site %t53 = call ptr @lp_int_str(i32 %t52) store i32 0, ptr @lp_site store i32 95, ptr @lp_site %t54 = call ptr @lp_str_concat(ptr %t51, ptr %t53) store i32 0, ptr @lp_site call void @lp_free(ptr %t51) call void @lp_free(ptr %t53) store i32 96, ptr @lp_site %t55 = call ptr @lp_str_concat(ptr %t54, ptr @.str105) store i32 0, ptr @lp_site call void @lp_free(ptr %t54) %t56 = load ptr, ptr %t0 store i32 97, ptr @lp_site %t57 = call ptr @lp_str_concat(ptr %t55, ptr %t56) store i32 0, ptr @lp_site call void @lp_free(ptr %t55) store i32 98, ptr @lp_site %t58 = call ptr @lp_str_concat(ptr %t57, ptr @.str106) store i32 0, ptr @lp_site call void @lp_free(ptr %t57) store ptr %t58, ptr %t59 store i32 99, ptr @lp_site %t60 = call ptr @lp_win_stdio(i32 2) store i32 0, ptr @lp_site %t61 = load ptr, ptr %t59 %t62 = load ptr, ptr %t59 %t63 = call i64 @strlen(ptr %t62) %t64 = trunc i64 %t63 to i32 %t65 = zext i32 %t64 to i64 %t66 = call i64 @fwrite(ptr %t61, i64 1, i64 %t65, ptr %t60) %t67 = trunc i64 %t66 to i32 call void @exit(i32 1) unreachable ret: ret void } define void @fn_perr_at(ptr %arg_file, i32 %arg_line, i32 %arg_col, ptr %arg_msg) { entry: %t0 = alloca ptr %t1 = alloca i32 %t2 = alloca i32 %t3 = alloca ptr %t5 = alloca ptr %t25 = alloca ptr store ptr %arg_file, ptr %t0 store i32 %arg_line, ptr %t1 store i32 %arg_col, ptr %t2 store ptr %arg_msg, ptr %t3 %t4 = load ptr, ptr %t0 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: store ptr @.str107, ptr %t5 br label %ifend2 ifend2: %t10 = load i32, ptr @g_g_diag_json %t11 = icmp ne i32 %t10, 0 br i1 %t11, label %then3, label %else4 then3: %t12 = load ptr, ptr %t5 %t13 = load i32, ptr %t1 %t14 = load i32, ptr %t2 %t15 = load ptr, ptr %t3 call void @fn_diag_add(ptr %t12, i32 %t13, i32 %t14, ptr @.str108, ptr %t15) br label %ifend5 else4: %t16 = load ptr, ptr %t5 store i32 100, ptr @lp_site %t17 = call ptr @lp_str_concat(ptr %t16, ptr @.str109) store i32 0, ptr @lp_site %t18 = load i32, ptr %t1 %t19 = call ptr @fn_itoa(i32 %t18) store i32 101, ptr @lp_site %t20 = call ptr @lp_str_concat(ptr %t17, ptr %t19) store i32 0, ptr @lp_site call void @lp_free(ptr %t17) store i32 102, ptr @lp_site %t21 = call ptr @lp_str_concat(ptr %t20, ptr @.str111) store i32 0, ptr @lp_site call void @lp_free(ptr %t20) %t22 = load ptr, ptr %t3 store i32 103, ptr @lp_site %t23 = call ptr @lp_str_concat(ptr %t21, ptr %t22) store i32 0, ptr @lp_site call void @lp_free(ptr %t21) store i32 104, ptr @lp_site %t24 = call ptr @lp_str_concat(ptr %t23, ptr @.str112) store i32 0, ptr @lp_site call void @lp_free(ptr %t23) store ptr %t24, ptr %t25 store i32 105, ptr @lp_site %t26 = call ptr @lp_win_stdio(i32 2) store i32 0, ptr @lp_site %t27 = load ptr, ptr %t25 %t28 = load ptr, ptr %t25 %t29 = call i64 @strlen(ptr %t28) %t30 = trunc i64 %t29 to i32 %t31 = zext i32 %t30 to i64 %t32 = call i64 @fwrite(ptr %t27, i64 1, i64 %t31, ptr %t26) %t33 = trunc i64 %t32 to i32 %t34 = load i32, ptr @g_g_dg_errors %t35 = add i32 %t34, 1 store i32 %t35, ptr @g_g_dg_errors br label %ifend5 ifend5: br label %ret ret: ret void } define void @fn_pwarn_at(ptr %arg_file, i32 %arg_line, i32 %arg_col, ptr %arg_msg) { entry: %t0 = alloca ptr %t1 = alloca i32 %t2 = alloca i32 %t3 = alloca ptr %t5 = alloca ptr %t25 = alloca ptr store ptr %arg_file, ptr %t0 store i32 %arg_line, ptr %t1 store i32 %arg_col, ptr %t2 store ptr %arg_msg, ptr %t3 %t4 = load ptr, ptr %t0 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: store ptr @.str113, ptr %t5 br label %ifend2 ifend2: %t10 = load i32, ptr @g_g_diag_json %t11 = icmp ne i32 %t10, 0 br i1 %t11, label %then3, label %else4 then3: %t12 = load ptr, ptr %t5 %t13 = load i32, ptr %t1 %t14 = load i32, ptr %t2 %t15 = load ptr, ptr %t3 call void @fn_diag_add(ptr %t12, i32 %t13, i32 %t14, ptr @.str114, ptr %t15) br label %ifend5 else4: %t16 = load ptr, ptr %t5 store i32 106, ptr @lp_site %t17 = call ptr @lp_str_concat(ptr %t16, ptr @.str115) store i32 0, ptr @lp_site %t18 = load i32, ptr %t1 %t19 = call ptr @fn_itoa(i32 %t18) store i32 107, ptr @lp_site %t20 = call ptr @lp_str_concat(ptr %t17, ptr %t19) store i32 0, ptr @lp_site call void @lp_free(ptr %t17) store i32 108, ptr @lp_site %t21 = call ptr @lp_str_concat(ptr %t20, ptr @.str117) store i32 0, ptr @lp_site call void @lp_free(ptr %t20) %t22 = load ptr, ptr %t3 store i32 109, ptr @lp_site %t23 = call ptr @lp_str_concat(ptr %t21, ptr %t22) store i32 0, ptr @lp_site call void @lp_free(ptr %t21) store i32 110, ptr @lp_site %t24 = call ptr @lp_str_concat(ptr %t23, ptr @.str118) store i32 0, ptr @lp_site call void @lp_free(ptr %t23) store ptr %t24, ptr %t25 store i32 111, ptr @lp_site %t26 = call ptr @lp_win_stdio(i32 2) store i32 0, ptr @lp_site %t27 = load ptr, ptr %t25 %t28 = load ptr, ptr %t25 %t29 = call i64 @strlen(ptr %t28) %t30 = trunc i64 %t29 to i32 %t31 = zext i32 %t30 to i64 %t32 = call i64 @fwrite(ptr %t27, i64 1, i64 %t31, ptr %t26) %t33 = trunc i64 %t32 to i32 br label %ifend5 ifend5: br label %ret ret: ret void } define void @fn_diag_stop_if_errors() { entry: %t0 = load i32, ptr @g_g_dg_errors %t1 = icmp sgt 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_diag_exit(i32 1) br label %ifend2 ifend2: br label %ret ret: ret void } define ptr @fn_tok_desc() { entry: %retval = alloca ptr %t10 = alloca ptr %t23 = alloca i32 %t0 = load ptr, ptr @g_toks %t1 = load i32, ptr @g_pi %t2 = getelementptr inbounds %LSlice, ptr %t0, i32 0, i32 0 %t3 = load ptr, ptr %t2 %t4 = getelementptr inbounds %LSlice, ptr %t0, i32 0, i32 1 %t5 = load i32, ptr %t4 %t6 = icmp ult i32 %t1, %t5 br i1 %t6, label %ixok0, label %ixbad1 ixbad1: store i32 112, ptr @lp_site %t7 = call ptr @lp_win_stdio(i32 2) store i32 0, ptr @lp_site call i32 (ptr, ptr, ...) @fprintf(ptr %t7, ptr @.fmt_bounds, ptr @.str119, i32 %t1, i32 %t5) call void @exit(i32 1) unreachable ixok0: %t8 = getelementptr inbounds ptr, ptr %t3, i32 %t1 %t9 = load ptr, ptr %t8 store ptr %t9, ptr %t10 %t11 = load ptr, ptr %t10 %t12 = getelementptr inbounds %Cmp_Tok, ptr %t11, i32 0, i32 0 %t13 = load i32, ptr %t12 %t14 = icmp eq i32 %t13, 5 %t15 = zext i1 %t14 to i32 %t16 = icmp ne i32 %t15, 0 br i1 %t16, label %then2, label %ifend4 then2: store ptr @.str121, ptr %retval br label %ret ifend4: %t17 = load ptr, ptr %t10 %t18 = getelementptr inbounds %Cmp_Tok, 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 br i1 %t22, label %then5, label %ifend7 then5: store ptr @.str122, ptr %retval br label %ret ifend7: %t24 = load ptr, ptr %t10 %t25 = getelementptr inbounds %Cmp_Tok, ptr %t24, i32 0, i32 0 %t26 = load i32, ptr %t25 %t27 = icmp eq i32 %t26, 1 %t28 = zext i1 %t27 to i32 %t29 = icmp ne i32 %t28, 0 %t30 = zext i1 %t29 to i32 store i32 %t30, ptr %t23 br i1 %t29, label %scend9, label %sc8 sc8: %t31 = load ptr, ptr %t10 %t32 = getelementptr inbounds %Cmp_Tok, ptr %t31, i32 0, i32 0 %t33 = load i32, ptr %t32 %t34 = icmp eq i32 %t33, 6 %t35 = zext i1 %t34 to i32 %t36 = icmp ne i32 %t35, 0 %t37 = zext i1 %t36 to i32 store i32 %t37, ptr %t23 br label %scend9 scend9: %t38 = load i32, ptr %t23 %t39 = icmp ne i32 %t38, 0 br i1 %t39, label %then10, label %ifend12 then10: %t40 = load ptr, ptr %t10 %t41 = getelementptr inbounds %Cmp_Tok, ptr %t40, i32 0, i32 2 %t42 = load i32, ptr %t41 %t43 = call ptr @fn_itoa(i32 %t42) store i32 113, ptr @lp_site %t44 = call ptr @lp_str_concat(ptr @.str123, ptr %t43) store i32 0, ptr @lp_site store ptr %t44, ptr %retval br label %ret ifend12: %t45 = load ptr, ptr %t10 %t46 = getelementptr inbounds %Cmp_Tok, ptr %t45, i32 0, i32 0 %t47 = load i32, ptr %t46 %t48 = icmp eq i32 %t47, 2 %t49 = zext i1 %t48 to i32 %t50 = icmp ne i32 %t49, 0 br i1 %t50, label %then13, label %ifend15 then13: %t51 = load ptr, ptr %t10 %t52 = getelementptr inbounds %Cmp_Tok, ptr %t51, i32 0, i32 1 %t53 = load ptr, ptr %t52 store i32 114, ptr @lp_site %t54 = call ptr @lp_str_concat(ptr @.str124, ptr %t53) store i32 0, ptr @lp_site store i32 115, ptr @lp_site %t55 = call ptr @lp_str_concat(ptr %t54, ptr @.str125) store i32 0, ptr @lp_site call void @lp_free(ptr %t54) store ptr %t55, ptr %retval br label %ret ifend15: %t56 = load ptr, ptr %t10 %t57 = getelementptr inbounds %Cmp_Tok, ptr %t56, i32 0, i32 1 %t58 = load ptr, ptr %t57 store i32 116, ptr @lp_site %t59 = call ptr @lp_str_concat(ptr @.str126, ptr %t58) store i32 0, ptr @lp_site store i32 117, ptr @lp_site %t60 = call ptr @lp_str_concat(ptr %t59, ptr @.str127) store i32 0, ptr @lp_site call void @lp_free(ptr %t59) store ptr %t60, ptr %retval br label %ret ret: %t61 = load ptr, ptr %retval ret ptr %t61 } 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 store i32 118, ptr @lp_site %t7 = call ptr @lp_str_concat(ptr @.str128, ptr %t6) store i32 0, ptr @lp_site store i32 119, ptr @lp_site %t8 = call ptr @lp_str_concat(ptr %t7, ptr @.str130) store i32 0, ptr @lp_site call void @lp_free(ptr %t7) %t9 = call ptr @fn_tok_desc() store i32 120, ptr @lp_site %t10 = call ptr @lp_str_concat(ptr %t8, ptr %t9) store i32 0, ptr @lp_site call void @lp_free(ptr %t8) 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 %t10 = alloca ptr %t0 = load ptr, ptr @g_toks %t1 = load i32, ptr @g_pi %t2 = getelementptr inbounds %LSlice, ptr %t0, i32 0, i32 0 %t3 = load ptr, ptr %t2 %t4 = getelementptr inbounds %LSlice, ptr %t0, i32 0, i32 1 %t5 = load i32, ptr %t4 %t6 = icmp ult i32 %t1, %t5 br i1 %t6, label %ixok0, label %ixbad1 ixbad1: store i32 121, ptr @lp_site %t7 = call ptr @lp_win_stdio(i32 2) store i32 0, ptr @lp_site call i32 (ptr, ptr, ...) @fprintf(ptr %t7, ptr @.fmt_bounds, ptr @.str131, i32 %t1, i32 %t5) call void @exit(i32 1) unreachable ixok0: %t8 = getelementptr inbounds ptr, ptr %t3, i32 %t1 %t9 = load ptr, ptr %t8 store ptr %t9, ptr %t10 %t11 = load ptr, ptr %t10 %t12 = getelementptr inbounds %Cmp_Tok, ptr %t11, i32 0, i32 0 %t13 = load i32, ptr %t12 %t14 = icmp ne i32 %t13, 0 %t15 = zext i1 %t14 to i32 %t16 = icmp ne i32 %t15, 0 br i1 %t16, label %then2, label %ifend4 then2: %t17 = call ptr @fn_tok_desc() store i32 122, ptr @lp_site %t18 = call ptr @lp_str_concat(ptr @.str133, ptr %t17) store i32 0, ptr @lp_site call void @fn_perr(ptr %t18) br label %ifend4 ifend4: %t19 = load i32, ptr @g_pi %t20 = add i32 %t19, 1 store i32 %t20, ptr @g_pi %t21 = load ptr, ptr %t10 %t22 = getelementptr inbounds %Cmp_Tok, ptr %t21, i32 0, i32 1 %t23 = load ptr, ptr %t22 store ptr %t23, ptr %retval br label %ret ret: %t24 = load ptr, ptr %retval ret ptr %t24 } define void @fn_skipnl() { entry: br label %wcond0 wcond0: %t0 = load ptr, ptr @g_toks %t1 = load i32, ptr @g_pi %t2 = getelementptr inbounds %LSlice, ptr %t0, i32 0, i32 0 %t3 = load ptr, ptr %t2 %t4 = getelementptr inbounds %LSlice, ptr %t0, i32 0, i32 1 %t5 = load i32, ptr %t4 %t6 = icmp ult i32 %t1, %t5 br i1 %t6, label %ixok3, label %ixbad4 ixbad4: store i32 123, ptr @lp_site %t7 = call ptr @lp_win_stdio(i32 2) store i32 0, ptr @lp_site call i32 (ptr, ptr, ...) @fprintf(ptr %t7, ptr @.fmt_bounds, ptr @.str134, i32 %t1, i32 %t5) call void @exit(i32 1) unreachable ixok3: %t8 = getelementptr inbounds ptr, ptr %t3, i32 %t1 %t9 = load ptr, ptr %t8 %t10 = getelementptr inbounds %Cmp_Tok, ptr %t9, i32 0, i32 0 %t11 = load i32, ptr %t10 %t12 = icmp eq i32 %t11, 4 %t13 = zext i1 %t12 to i32 %t14 = icmp ne i32 %t13, 0 br i1 %t14, label %wbody1, label %wend2 wbody1: %t15 = load i32, ptr @g_pi %t16 = add i32 %t15, 1 store i32 %t16, ptr @g_pi br label %wcond0 wend2: br label %ret ret: ret void } define ptr @fn_buffer_slice_ty(ptr %arg_t) { entry: %retval = alloca ptr %t0 = alloca ptr store ptr %arg_t, ptr %t0 %t1 = load ptr, ptr %t0 %t2 = call i32 @lp_str_eq(ptr %t1, ptr @.str136) %t3 = icmp ne i32 %t2, 0 br i1 %t3, label %then0, label %ifend2 then0: store ptr @.str137, ptr %retval br label %ret ifend2: %t4 = load ptr, ptr %t0 %t5 = call i32 @lp_str_eq(ptr %t4, ptr @.str138) %t6 = icmp ne i32 %t5, 0 br i1 %t6, label %then3, label %ifend5 then3: store ptr @.str139, ptr %retval br label %ret ifend5: %t7 = load ptr, ptr %t0 %t8 = call i32 @lp_str_eq(ptr %t7, ptr @.str140) %t9 = icmp ne i32 %t8, 0 br i1 %t9, label %then6, label %ifend8 then6: store ptr @.str141, ptr %retval br label %ret ifend8: %t10 = load ptr, ptr %t0 %t11 = call i32 @lp_str_eq(ptr %t10, ptr @.str142) %t12 = icmp ne i32 %t11, 0 br i1 %t12, label %then9, label %ifend11 then9: store ptr @.str143, ptr %retval br label %ret ifend11: %t13 = load ptr, ptr %t0 %t14 = call i32 @lp_str_eq(ptr %t13, ptr @.str144) %t15 = icmp ne i32 %t14, 0 br i1 %t15, label %then12, label %ifend14 then12: store ptr @.str145, ptr %retval br label %ret ifend14: %t16 = load ptr, ptr %t0 store ptr %t16, ptr %retval br label %ret ret: %t17 = load ptr, ptr %retval ret ptr %t17 } define ptr @fn_ptype() { entry: %retval = alloca ptr %t0 = alloca i32 %t36 = alloca ptr %t37 = alloca i32 %t55 = alloca ptr %t70 = alloca ptr %t77 = alloca ptr %t84 = alloca i32 %t112 = alloca ptr %t1 = load ptr, ptr @g_toks %t2 = load i32, ptr @g_pi %t3 = getelementptr inbounds %LSlice, ptr %t1, i32 0, i32 0 %t4 = load ptr, ptr %t3 %t5 = getelementptr inbounds %LSlice, ptr %t1, i32 0, i32 1 %t6 = load i32, ptr %t5 %t7 = icmp ult i32 %t2, %t6 br i1 %t7, label %ixok0, label %ixbad1 ixbad1: store i32 124, ptr @lp_site %t8 = call ptr @lp_win_stdio(i32 2) store i32 0, ptr @lp_site call i32 (ptr, ptr, ...) @fprintf(ptr %t8, ptr @.fmt_bounds, ptr @.str146, i32 %t2, i32 %t6) call void @exit(i32 1) unreachable ixok0: %t9 = getelementptr inbounds ptr, ptr %t4, i32 %t2 %t10 = load ptr, ptr %t9 %t11 = getelementptr inbounds %Cmp_Tok, ptr %t10, i32 0, i32 1 %t12 = load ptr, ptr %t11 %t13 = call i32 @lp_str_eq(ptr %t12, ptr @.str148) %t14 = icmp ne i32 %t13, 0 %t15 = zext i1 %t14 to i32 store i32 %t15, ptr %t0 br i1 %t14, label %sc2, label %scend3 sc2: %t16 = load ptr, ptr @g_toks %t17 = load i32, ptr @g_pi %t18 = add i32 %t17, 1 %t19 = getelementptr inbounds %LSlice, ptr %t16, i32 0, i32 0 %t20 = load ptr, ptr %t19 %t21 = getelementptr inbounds %LSlice, ptr %t16, i32 0, i32 1 %t22 = load i32, ptr %t21 %t23 = icmp ult i32 %t18, %t22 br i1 %t23, label %ixok4, label %ixbad5 ixbad5: store i32 125, ptr @lp_site %t24 = call ptr @lp_win_stdio(i32 2) store i32 0, ptr @lp_site call i32 (ptr, ptr, ...) @fprintf(ptr %t24, ptr @.fmt_bounds, ptr @.str149, i32 %t18, i32 %t22) call void @exit(i32 1) unreachable ixok4: %t25 = getelementptr inbounds ptr, ptr %t20, i32 %t18 %t26 = load ptr, ptr %t25 %t27 = getelementptr inbounds %Cmp_Tok, ptr %t26, i32 0, i32 1 %t28 = load ptr, ptr %t27 %t29 = call i32 @lp_str_eq(ptr %t28, ptr @.str150) %t30 = icmp ne i32 %t29, 0 %t31 = zext i1 %t30 to i32 store i32 %t31, ptr %t0 br label %scend3 scend3: %t32 = load i32, ptr %t0 %t33 = icmp ne i32 %t32, 0 br i1 %t33, label %then6, label %ifend8 then6: %t34 = load i32, ptr @g_pi %t35 = add i32 %t34, 1 store i32 %t35, ptr @g_pi call void @fn_eat_op(ptr @.str151) store ptr @.str152, ptr %t36 store i32 1, ptr %t37 br label %wcond9 wcond9: %t38 = call i32 @fn_is_op(ptr @.str153) %t39 = icmp eq i32 %t38, 0 %t40 = zext i1 %t39 to i32 %t41 = icmp ne i32 %t40, 0 br i1 %t41, label %wbody10, label %wend11 wbody10: %t42 = load i32, ptr %t37 %t43 = icmp eq i32 %t42, 0 %t44 = zext i1 %t43 to i32 %t45 = icmp ne i32 %t44, 0 br i1 %t45, label %then12, label %ifend14 then12: %t46 = load ptr, ptr %t36 store i32 126, ptr @lp_site %t47 = call ptr @lp_str_concat(ptr %t46, ptr @.str154) store i32 0, ptr @lp_site store ptr %t47, ptr %t36 br label %ifend14 ifend14: %t48 = load ptr, ptr %t36 %t49 = call ptr @fn_ptype() store i32 127, ptr @lp_site %t50 = call ptr @lp_str_concat(ptr %t48, ptr %t49) store i32 0, ptr @lp_site store ptr %t50, ptr %t36 store i32 0, ptr %t37 %t51 = call i32 @fn_is_op(ptr @.str155) %t52 = icmp ne i32 %t51, 0 br i1 %t52, label %then15, label %ifend17 then15: %t53 = load i32, ptr @g_pi %t54 = add i32 %t53, 1 store i32 %t54, ptr @g_pi br label %ifend17 ifend17: br label %wcond9 wend11: call void @fn_eat_op(ptr @.str156) store ptr @.str157, ptr %t55 %t56 = call i32 @fn_is_op(ptr @.str158) %t57 = icmp ne i32 %t56, 0 br i1 %t57, label %then18, label %ifend20 then18: %t58 = load i32, ptr @g_pi %t59 = add i32 %t58, 1 store i32 %t59, ptr @g_pi %t60 = call ptr @fn_ptype() store ptr %t60, ptr %t55 br label %ifend20 ifend20: %t61 = load ptr, ptr %t36 store i32 128, ptr @lp_site %t62 = call ptr @lp_str_concat(ptr %t61, ptr @.str159) store i32 0, ptr @lp_site %t63 = load ptr, ptr %t55 store i32 129, ptr @lp_site %t64 = call ptr @lp_str_concat(ptr %t62, ptr %t63) store i32 0, ptr @lp_site call void @lp_free(ptr %t62) store ptr %t64, ptr %retval br label %ret ifend8: %t65 = call i32 @fn_is_op(ptr @.str160) %t66 = icmp ne i32 %t65, 0 br i1 %t66, label %then21, label %ifend23 then21: %t67 = load i32, ptr @g_pi %t68 = add i32 %t67, 1 store i32 %t68, ptr @g_pi call void @fn_eat_op(ptr @.str161) %t69 = call ptr @fn_ptype() store ptr %t69, ptr %t70 %t71 = load ptr, ptr %t70 %t72 = call i64 @strlen(ptr %t71) %t73 = trunc i64 %t72 to i32 %t74 = add i32 %t73, 3 %t75 = zext i32 %t74 to i64 store i32 130, ptr @lp_site %t76 = call ptr @lp_malloc(i64 %t75) store i32 0, ptr @lp_site store ptr %t76, ptr %t77 %t78 = load ptr, ptr %t77 %t79 = getelementptr inbounds i8, ptr %t78, i32 0 %t80 = trunc i32 91 to i8 store i8 %t80, ptr %t79 %t81 = load ptr, ptr %t77 %t82 = getelementptr inbounds i8, ptr %t81, i32 1 %t83 = trunc i32 93 to i8 store i8 %t83, ptr %t82 store i32 0, ptr %t84 br label %wcond24 wcond24: %t85 = load ptr, ptr %t70 %t86 = load i32, ptr %t84 %t87 = getelementptr inbounds i8, ptr %t85, i32 %t86 %t88 = load i8, ptr %t87 %t89 = zext i8 %t88 to i32 %t90 = icmp ne i32 %t89, 0 %t91 = zext i1 %t90 to i32 %t92 = icmp ne i32 %t91, 0 br i1 %t92, label %wbody25, label %wend26 wbody25: %t93 = load ptr, ptr %t77 %t94 = load i32, ptr %t84 %t95 = add i32 2, %t94 %t96 = getelementptr inbounds i8, ptr %t93, i32 %t95 %t97 = load ptr, ptr %t70 %t98 = load i32, ptr %t84 %t99 = getelementptr inbounds i8, ptr %t97, i32 %t98 %t100 = load i8, ptr %t99 %t101 = zext i8 %t100 to i32 %t102 = trunc i32 %t101 to i8 store i8 %t102, ptr %t96 %t103 = load i32, ptr %t84 %t104 = add i32 %t103, 1 store i32 %t104, ptr %t84 br label %wcond24 wend26: %t105 = load ptr, ptr %t77 %t106 = load i32, ptr %t84 %t107 = add i32 2, %t106 %t108 = getelementptr inbounds i8, ptr %t105, i32 %t107 %t109 = trunc i32 0 to i8 store i8 %t109, ptr %t108 %t110 = load ptr, ptr %t77 store ptr %t110, ptr %retval br label %ret ifend23: %t111 = call ptr @fn_eat_id() store ptr %t111, ptr %t112 %t113 = call i32 @fn_is_op(ptr @.str162) %t114 = icmp ne i32 %t113, 0 br i1 %t114, label %then27, label %ifend29 then27: %t115 = load ptr, ptr %t112 %t116 = call ptr @fn_gen_type_args(ptr %t115) store ptr %t116, ptr %retval br label %ret ifend29: %t117 = load ptr, ptr %t112 %t118 = call ptr @fn_buffer_slice_ty(ptr %t117) store ptr %t118, ptr %retval br label %ret ret: %t119 = load ptr, ptr %retval ret ptr %t119 } 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 %t15 = alloca ptr %t27 = alloca ptr %t28 = alloca i32 %t29 = alloca i32 %t56 = alloca ptr store ptr %arg_call, ptr %t0 call void @fn_eat_op(ptr @.str163) call void @fn_skipnl() br label %wcond0 wcond0: %t1 = call i32 @fn_is_op(ptr @.str164) %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 = load i32, ptr @g_pi %t7 = getelementptr inbounds %LSlice, ptr %t5, i32 0, i32 0 %t8 = load ptr, ptr %t7 %t9 = getelementptr inbounds %LSlice, ptr %t5, i32 0, i32 1 %t10 = load i32, ptr %t9 %t11 = icmp ult i32 %t6, %t10 br i1 %t11, label %ixok3, label %ixbad4 ixbad4: store i32 131, ptr @lp_site %t12 = call ptr @lp_win_stdio(i32 2) store i32 0, ptr @lp_site call i32 (ptr, ptr, ...) @fprintf(ptr %t12, ptr @.fmt_bounds, ptr @.str165, i32 %t6, i32 %t10) call void @exit(i32 1) unreachable ixok3: %t13 = getelementptr inbounds ptr, ptr %t8, i32 %t6 %t14 = load ptr, ptr %t13 store ptr %t14, ptr %t15 %t16 = load ptr, ptr @g_toks %t17 = load i32, ptr @g_pi %t18 = add i32 %t17, 1 %t19 = getelementptr inbounds %LSlice, ptr %t16, i32 0, i32 0 %t20 = load ptr, ptr %t19 %t21 = getelementptr inbounds %LSlice, ptr %t16, i32 0, i32 1 %t22 = load i32, ptr %t21 %t23 = icmp ult i32 %t18, %t22 br i1 %t23, label %ixok5, label %ixbad6 ixbad6: store i32 132, ptr @lp_site %t24 = call ptr @lp_win_stdio(i32 2) store i32 0, ptr @lp_site call i32 (ptr, ptr, ...) @fprintf(ptr %t24, ptr @.fmt_bounds, ptr @.str167, i32 %t18, i32 %t22) call void @exit(i32 1) unreachable ixok5: %t25 = getelementptr inbounds ptr, ptr %t20, i32 %t18 %t26 = load ptr, ptr %t25 store ptr %t26, ptr %t27 %t30 = load ptr, ptr %t15 %t31 = getelementptr inbounds %Cmp_Tok, ptr %t30, i32 0, i32 0 %t32 = load i32, ptr %t31 %t33 = icmp eq i32 %t32, 0 %t34 = zext i1 %t33 to i32 %t35 = icmp ne i32 %t34, 0 %t36 = zext i1 %t35 to i32 store i32 %t36, ptr %t29 br i1 %t35, label %sc7, label %scend8 sc7: %t37 = load ptr, ptr %t27 %t38 = getelementptr inbounds %Cmp_Tok, ptr %t37, i32 0, i32 0 %t39 = load i32, ptr %t38 %t40 = icmp eq i32 %t39, 3 %t41 = zext i1 %t40 to i32 %t42 = icmp ne i32 %t41, 0 %t43 = zext i1 %t42 to i32 store i32 %t43, ptr %t29 br label %scend8 scend8: %t44 = load i32, ptr %t29 %t45 = icmp ne i32 %t44, 0 %t46 = zext i1 %t45 to i32 store i32 %t46, ptr %t28 br i1 %t45, label %sc9, label %scend10 sc9: %t47 = load ptr, ptr %t27 %t48 = getelementptr inbounds %Cmp_Tok, ptr %t47, i32 0, i32 1 %t49 = load ptr, ptr %t48 %t50 = call i32 @lp_str_eq(ptr %t49, ptr @.str168) %t51 = icmp ne i32 %t50, 0 %t52 = zext i1 %t51 to i32 store i32 %t52, ptr %t28 br label %scend10 scend10: %t53 = load i32, ptr %t28 %t54 = icmp ne i32 %t53, 0 br i1 %t54, label %then11, label %else12 then11: %t55 = call ptr @fn_node(i32 42) store ptr %t55, ptr %t56 %t57 = load ptr, ptr %t56 %t58 = getelementptr inbounds %Cmp_Node, ptr %t57, i32 0, i32 1 %t59 = call ptr @fn_eat_id() store ptr %t59, ptr %t58 call void @fn_eat_op(ptr @.str169) call void @fn_skipnl() %t60 = load ptr, ptr %t56 %t61 = getelementptr inbounds %Cmp_Node, ptr %t60, i32 0, i32 4 %t62 = call ptr @fn_expr() store ptr %t62, ptr %t61 %t63 = load ptr, ptr %t0 %t64 = getelementptr inbounds %Cmp_Node, ptr %t63, i32 0, i32 7 %t65 = load ptr, ptr %t64 %t66 = load ptr, ptr %t56 %t67 = getelementptr inbounds %LSlice, ptr %t65, i32 0, i32 1 %t68 = getelementptr inbounds %LSlice, ptr %t65, i32 0, i32 2 %t69 = getelementptr inbounds %LSlice, ptr %t65, i32 0, i32 0 %t70 = load i32, ptr %t67 %t71 = load i32, ptr %t68 %t72 = icmp sge i32 %t70, %t71 br i1 %t72, label %grow14, label %put15 grow14: %t73 = mul i32 %t71, 2 %t74 = icmp eq i32 %t71, 0 %t75 = select i1 %t74, i32 8, i32 %t73 %t76 = getelementptr ptr, ptr null, i32 1 %t77 = ptrtoint ptr %t76 to i64 %t78 = zext i32 %t75 to i64 %t79 = mul i64 %t78, %t77 %t80 = load ptr, ptr %t69 store i32 133, ptr @lp_site %t81 = call ptr @lp_realloc(ptr %t80, i64 %t79) store i32 0, ptr @lp_site store ptr %t81, ptr %t69 store i32 %t75, ptr %t68 br label %put15 put15: %t82 = load ptr, ptr %t69 %t83 = getelementptr inbounds ptr, ptr %t82, i32 %t70 store ptr %t66, ptr %t83 %t84 = add i32 %t70, 1 store i32 %t84, ptr %t67 br label %ifend13 else12: %t85 = load ptr, ptr %t0 %t86 = getelementptr inbounds %Cmp_Node, ptr %t85, i32 0, i32 7 %t87 = load ptr, ptr %t86 %t88 = call ptr @fn_expr() %t89 = getelementptr inbounds %LSlice, ptr %t87, i32 0, i32 1 %t90 = getelementptr inbounds %LSlice, ptr %t87, i32 0, i32 2 %t91 = getelementptr inbounds %LSlice, ptr %t87, i32 0, i32 0 %t92 = load i32, ptr %t89 %t93 = load i32, ptr %t90 %t94 = icmp sge i32 %t92, %t93 br i1 %t94, label %grow16, label %put17 grow16: %t95 = mul i32 %t93, 2 %t96 = icmp eq i32 %t93, 0 %t97 = select i1 %t96, i32 8, i32 %t95 %t98 = getelementptr ptr, ptr null, i32 1 %t99 = ptrtoint ptr %t98 to i64 %t100 = zext i32 %t97 to i64 %t101 = mul i64 %t100, %t99 %t102 = load ptr, ptr %t91 store i32 134, ptr @lp_site %t103 = call ptr @lp_realloc(ptr %t102, i64 %t101) store i32 0, ptr @lp_site store ptr %t103, ptr %t91 store i32 %t97, ptr %t90 br label %put17 put17: %t104 = load ptr, ptr %t91 %t105 = getelementptr inbounds ptr, ptr %t104, i32 %t92 store ptr %t88, ptr %t105 %t106 = add i32 %t92, 1 store i32 %t106, ptr %t89 br label %ifend13 ifend13: call void @fn_skipnl() %t107 = call i32 @fn_is_op(ptr @.str170) %t108 = icmp ne i32 %t107, 0 br i1 %t108, label %then18, label %ifend20 then18: %t109 = load i32, ptr @g_pi %t110 = add i32 %t109, 1 store i32 %t110, ptr @g_pi call void @fn_skipnl() br label %ifend20 ifend20: br label %wcond0 wend2: call void @fn_eat_op(ptr @.str171) 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 store i32 135, ptr @lp_site %t9 = call ptr @lp_str_slice(ptr %t6, i32 0, i32 %t8) store i32 0, ptr @lp_site 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 @.str173, 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 @.str174, ptr %t6 %t7 = load ptr, ptr %t4 %t8 = getelementptr inbounds %Cmp_Node, ptr %t7, i32 0, i32 12 store i32 92, ptr %t8 %t9 = load ptr, ptr %t2 %t10 = getelementptr inbounds %Cmp_Node, ptr %t9, i32 0, i32 4 %t11 = load ptr, ptr %t4 store ptr %t11, ptr %t10 %t12 = load ptr, ptr %t2 %t13 = getelementptr inbounds %Cmp_Node, ptr %t12, i32 0, i32 7 %t14 = load ptr, ptr %t13 %t15 = load ptr, ptr %t0 %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 store i32 136, ptr @lp_site %t30 = call ptr @lp_realloc(ptr %t29, i64 %t28) store i32 0, ptr @lp_site 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 %t34 = load ptr, ptr %t2 store ptr %t34, ptr %retval br label %ret ret: %t35 = load ptr, ptr %retval ret ptr %t35 } define ptr @fn_parse_hole(ptr %arg_inner) { entry: %retval = alloca ptr %t0 = alloca ptr %t2 = alloca ptr %t4 = alloca i32 %t6 = alloca i32 %t12 = 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 i32, ptr @g_g_lex_base store i32 %t5, ptr %t6 %t7 = load i32, ptr @g_g_hole_base store i32 %t7, ptr @g_g_lex_base %t8 = load ptr, ptr %t0 %t9 = load i32, ptr @g_g_interp_line call void @fn_lex_at(ptr %t8, i32 %t9) store i32 0, ptr @g_pi call void @fn_skipnl() %t10 = load i32, ptr %t6 store i32 %t10, ptr @g_g_lex_base %t11 = call ptr @fn_expr() store ptr %t11, ptr %t12 %t13 = load ptr, ptr %t2 store ptr %t13, ptr @g_toks %t14 = load i32, ptr %t4 store i32 %t14, ptr @g_pi %t15 = load ptr, ptr %t12 store ptr %t15, ptr %retval br label %ret ret: %t16 = load ptr, ptr %retval ret ptr %t16 } define ptr @fn_parse_interp(ptr %arg_raw) { entry: %retval = alloca ptr %t0 = alloca ptr %t2 = alloca i32 %t6 = alloca i32 %t7 = alloca ptr %t12 = alloca ptr %t13 = alloca i32 %t14 = alloca i32 %t25 = alloca i32 %t59 = alloca i32 %t83 = alloca i32 %t137 = alloca i32 store ptr %arg_raw, ptr %t0 %t1 = load i32, ptr @g_g_interp_pos store i32 %t1, ptr %t2 %t3 = load ptr, ptr %t0 %t4 = call i64 @strlen(ptr %t3) %t5 = trunc i64 %t4 to i32 store i32 %t5, ptr %t6 store ptr null, ptr %t7 %t8 = load i32, ptr %t6 %t9 = add i32 %t8, 1 %t10 = zext i32 %t9 to i64 store i32 137, ptr @lp_site %t11 = call ptr @lp_malloc(i64 %t10) store i32 0, ptr @lp_site store ptr %t11, ptr %t12 store i32 0, ptr %t13 store i32 0, ptr %t14 br label %wcond0 wcond0: %t15 = load i32, ptr %t14 %t16 = load i32, ptr %t6 %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 %t14 %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, 123 %t28 = zext i1 %t27 to i32 %t29 = icmp ne i32 %t28, 0 br i1 %t29, label %then3, label %else4 then3: %t30 = load ptr, ptr %t0 %t31 = load i32, ptr %t14 %t32 = add i32 %t31, 1 %t33 = getelementptr inbounds i8, ptr %t30, i32 %t32 %t34 = load i8, ptr %t33 %t35 = zext i8 %t34 to i32 %t36 = icmp eq i32 %t35, 123 %t37 = zext i1 %t36 to i32 %t38 = icmp ne i32 %t37, 0 br i1 %t38, label %then6, label %ifend8 then6: %t39 = load ptr, ptr %t12 %t40 = load i32, ptr %t13 %t41 = getelementptr inbounds i8, ptr %t39, i32 %t40 %t42 = trunc i32 123 to i8 store i8 %t42, ptr %t41 %t43 = load i32, ptr %t13 %t44 = add i32 %t43, 1 store i32 %t44, ptr %t13 %t45 = load i32, ptr %t14 %t46 = add i32 %t45, 2 store i32 %t46, ptr %t14 br label %wcond0 ifend8: %t47 = load i32, ptr %t13 %t48 = icmp sgt i32 %t47, 0 %t49 = zext i1 %t48 to i32 %t50 = icmp ne i32 %t49, 0 br i1 %t50, label %then9, label %ifend11 then9: %t51 = load ptr, ptr %t7 %t52 = load ptr, ptr %t12 %t53 = load i32, ptr %t13 %t54 = call ptr @fn_interp_lit(ptr %t52, i32 %t53) %t55 = call ptr @fn_interp_add(ptr %t51, ptr %t54) store ptr %t55, ptr %t7 store i32 0, ptr %t13 br label %ifend11 ifend11: %t56 = load i32, ptr %t14 %t57 = add i32 %t56, 1 store i32 %t57, ptr %t14 %t58 = load i32, ptr %t14 store i32 %t58, ptr %t59 %t60 = load ptr, ptr %t0 %t61 = load i32, ptr %t14 %t62 = load i32, ptr %t6 %t63 = call i32 @fn_hole_end(ptr %t60, i32 %t61, i32 %t62) store i32 %t63, ptr %t14 %t64 = sub i32 0, 1 store i32 %t64, ptr @g_g_hole_base %t65 = load i32, ptr %t2 %t66 = icmp sge i32 %t65, 0 %t67 = zext i1 %t66 to i32 %t68 = icmp ne i32 %t67, 0 br i1 %t68, label %then12, label %ifend14 then12: %t69 = load i32, ptr %t2 %t70 = add i32 %t69, 1 %t71 = load i32, ptr %t59 %t72 = add i32 %t70, %t71 store i32 %t72, ptr @g_g_hole_base br label %ifend14 ifend14: %t73 = load ptr, ptr %t7 %t74 = load ptr, ptr %t0 %t75 = load i32, ptr %t59 %t76 = load i32, ptr %t14 store i32 138, ptr @lp_site %t77 = call ptr @lp_str_slice(ptr %t74, i32 %t75, i32 %t76) store i32 0, ptr @lp_site %t78 = call ptr @fn_parse_hole(ptr %t77) %t79 = call ptr @fn_interp_str(ptr %t78) %t80 = call ptr @fn_interp_add(ptr %t73, ptr %t79) store ptr %t80, ptr %t7 %t81 = load i32, ptr %t14 %t82 = add i32 %t81, 1 store i32 %t82, ptr %t14 br label %ifend5 else4: %t84 = load i32, ptr %t25 %t85 = icmp eq i32 %t84, 125 %t86 = zext i1 %t85 to i32 %t87 = icmp ne i32 %t86, 0 %t88 = zext i1 %t87 to i32 store i32 %t88, ptr %t83 br i1 %t87, label %sc15, label %scend16 sc15: %t89 = load ptr, ptr %t0 %t90 = load i32, ptr %t14 %t91 = add i32 %t90, 1 %t92 = getelementptr inbounds i8, ptr %t89, i32 %t91 %t93 = load i8, ptr %t92 %t94 = zext i8 %t93 to i32 %t95 = icmp eq i32 %t94, 125 %t96 = zext i1 %t95 to i32 %t97 = icmp ne i32 %t96, 0 %t98 = zext i1 %t97 to i32 store i32 %t98, ptr %t83 br label %scend16 scend16: %t99 = load i32, ptr %t83 %t100 = icmp ne i32 %t99, 0 br i1 %t100, label %then17, label %ifend19 then17: %t101 = load ptr, ptr %t12 %t102 = load i32, ptr %t13 %t103 = getelementptr inbounds i8, ptr %t101, i32 %t102 %t104 = trunc i32 125 to i8 store i8 %t104, ptr %t103 %t105 = load i32, ptr %t13 %t106 = add i32 %t105, 1 store i32 %t106, ptr %t13 %t107 = load i32, ptr %t14 %t108 = add i32 %t107, 2 store i32 %t108, ptr %t14 br label %wcond0 ifend19: %t109 = load i32, ptr %t25 %t110 = icmp eq i32 %t109, 92 %t111 = zext i1 %t110 to i32 %t112 = icmp ne i32 %t111, 0 br i1 %t112, label %then20, label %ifend22 then20: %t113 = load ptr, ptr %t12 %t114 = load i32, ptr %t13 %t115 = getelementptr inbounds i8, ptr %t113, i32 %t114 %t116 = load ptr, ptr %t0 %t117 = load i32, ptr %t14 %t118 = add i32 %t117, 1 %t119 = getelementptr inbounds i8, ptr %t116, i32 %t118 %t120 = load i8, ptr %t119 %t121 = zext i8 %t120 to i32 %t122 = call i32 @fn_unescape(i32 %t121) %t123 = trunc i32 %t122 to i8 store i8 %t123, ptr %t115 %t124 = load i32, ptr %t13 %t125 = add i32 %t124, 1 store i32 %t125, ptr %t13 %t126 = load i32, ptr %t14 %t127 = add i32 %t126, 2 store i32 %t127, ptr %t14 br label %wcond0 ifend22: %t128 = load ptr, ptr %t12 %t129 = load i32, ptr %t13 %t130 = getelementptr inbounds i8, ptr %t128, i32 %t129 %t131 = load i32, ptr %t25 %t132 = trunc i32 %t131 to i8 store i8 %t132, ptr %t130 %t133 = load i32, ptr %t13 %t134 = add i32 %t133, 1 store i32 %t134, ptr %t13 %t135 = load i32, ptr %t14 %t136 = add i32 %t135, 1 store i32 %t136, ptr %t14 br label %ifend5 ifend5: br label %wcond0 wend2: %t138 = load i32, ptr %t13 %t139 = icmp sgt i32 %t138, 0 %t140 = zext i1 %t139 to i32 %t141 = icmp ne i32 %t140, 0 %t142 = zext i1 %t141 to i32 store i32 %t142, ptr %t137 br i1 %t141, label %scend24, label %sc23 sc23: %t143 = load ptr, ptr %t7 %t144 = icmp eq ptr %t143, null %t145 = zext i1 %t144 to i32 %t146 = icmp ne i32 %t145, 0 %t147 = zext i1 %t146 to i32 store i32 %t147, ptr %t137 br label %scend24 scend24: %t148 = load i32, ptr %t137 %t149 = icmp ne i32 %t148, 0 br i1 %t149, label %then25, label %ifend27 then25: %t150 = load ptr, ptr %t7 %t151 = load ptr, ptr %t12 %t152 = load i32, ptr %t13 %t153 = call ptr @fn_interp_lit(ptr %t151, i32 %t152) %t154 = call ptr @fn_interp_add(ptr %t150, ptr %t153) store ptr %t154, ptr %t7 br label %ifend27 ifend27: %t155 = load ptr, ptr %t7 %t156 = getelementptr inbounds %Cmp_Node, ptr %t155, i32 0, i32 0 %t157 = load i32, ptr %t156 %t158 = icmp eq i32 %t157, 34 %t159 = zext i1 %t158 to i32 %t160 = icmp ne i32 %t159, 0 br i1 %t160, label %then28, label %ifend30 then28: %t161 = load ptr, ptr %t7 %t162 = getelementptr inbounds %Cmp_Node, ptr %t161, i32 0, i32 4 %t163 = load ptr, ptr %t162 %t164 = getelementptr inbounds %Cmp_Node, ptr %t163, i32 0, i32 12 store i32 91, ptr %t164 br label %ifend30 ifend30: %t165 = load ptr, ptr %t7 store ptr %t165, ptr %retval br label %ret ret: %t166 = load ptr, ptr %retval ret ptr %t166 } 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 @.str177) call void @fn_skipnl() br label %wcond0 wcond0: %t9 = call i32 @fn_is_op(ptr @.str178) %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 @.str179) %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 store i32 139, ptr @lp_site %t39 = call ptr @lp_realloc(ptr %t38, i64 %t37) store i32 0, ptr @lp_site 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 @.str181) %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 @.str182) %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 = load i32, ptr @g_pi %t6 = getelementptr inbounds %LSlice, ptr %t4, i32 0, i32 0 %t7 = load ptr, ptr %t6 %t8 = getelementptr inbounds %LSlice, ptr %t4, i32 0, i32 1 %t9 = load i32, ptr %t8 %t10 = icmp ult i32 %t5, %t9 br i1 %t10, label %ixok0, label %ixbad1 ixbad1: store i32 140, ptr @lp_site %t11 = call ptr @lp_win_stdio(i32 2) store i32 0, ptr @lp_site call i32 (ptr, ptr, ...) @fprintf(ptr %t11, ptr @.fmt_bounds, ptr @.str183, i32 %t5, i32 %t9) call void @exit(i32 1) unreachable ixok0: %t12 = getelementptr inbounds ptr, ptr %t7, i32 %t5 %t13 = load ptr, ptr %t12 %t14 = getelementptr inbounds %Cmp_Tok, ptr %t13, i32 0, i32 3 %t15 = load i32, ptr %t14 store i32 %t15, ptr %t3 call void @fn_eat_op(ptr @.str185) call void @fn_skipnl() br label %wcond2 wcond2: %t16 = call i32 @fn_is_op(ptr @.str186) %t17 = icmp eq i32 %t16, 0 %t18 = zext i1 %t17 to i32 %t19 = icmp ne i32 %t18, 0 br i1 %t19, label %wbody3, label %wend4 wbody3: %t20 = load ptr, ptr %t1 %t21 = getelementptr inbounds %Cmp_Node, ptr %t20, i32 0, i32 7 %t22 = load ptr, ptr %t21 %t23 = call ptr @fn_expr() %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 %grow5, label %put6 grow5: %t30 = mul i32 %t28, 2 %t31 = icmp eq i32 %t28, 0 %t32 = select i1 %t31, i32 8, i32 %t30 %t33 = getelementptr ptr, 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 store i32 141, ptr @lp_site %t38 = call ptr @lp_realloc(ptr %t37, i64 %t36) store i32 0, ptr @lp_site store ptr %t38, ptr %t26 store i32 %t32, ptr %t25 br label %put6 put6: %t39 = load ptr, ptr %t26 %t40 = getelementptr inbounds ptr, ptr %t39, i32 %t27 store ptr %t23, ptr %t40 %t41 = add i32 %t27, 1 store i32 %t41, ptr %t24 call void @fn_skipnl() %t42 = call i32 @fn_is_op(ptr @.str187) %t43 = icmp ne i32 %t42, 0 br i1 %t43, label %then7, label %ifend9 then7: %t44 = load i32, ptr @g_pi %t45 = add i32 %t44, 1 store i32 %t45, ptr @g_pi call void @fn_skipnl() br label %ifend9 ifend9: br label %wcond2 wend4: call void @fn_eat_op(ptr @.str188) %t46 = load ptr, ptr %t1 store ptr %t46, ptr %retval br label %ret ret: %t47 = load ptr, ptr %retval ret ptr %t47 } define ptr @fn_p_primary() { entry: %retval = alloca ptr %t10 = alloca ptr %t32 = alloca i32 %t33 = alloca i32 %t77 = alloca ptr %t98 = alloca ptr %t119 = alloca ptr %t150 = alloca ptr %t162 = alloca ptr %t184 = alloca ptr %t200 = alloca i32 %t201 = alloca i32 %t202 = alloca i32 %t203 = alloca i32 %t204 = alloca i32 %t205 = alloca i32 %t206 = alloca i32 %t363 = alloca ptr %t381 = alloca ptr %t406 = alloca ptr %t420 = alloca ptr %t422 = alloca i32 %t0 = load ptr, ptr @g_toks %t1 = load i32, ptr @g_pi %t2 = getelementptr inbounds %LSlice, ptr %t0, i32 0, i32 0 %t3 = load ptr, ptr %t2 %t4 = getelementptr inbounds %LSlice, ptr %t0, i32 0, i32 1 %t5 = load i32, ptr %t4 %t6 = icmp ult i32 %t1, %t5 br i1 %t6, label %ixok0, label %ixbad1 ixbad1: store i32 142, ptr @lp_site %t7 = call ptr @lp_win_stdio(i32 2) store i32 0, ptr @lp_site call i32 (ptr, ptr, ...) @fprintf(ptr %t7, ptr @.fmt_bounds, ptr @.str189, i32 %t1, i32 %t5) call void @exit(i32 1) unreachable ixok0: %t8 = getelementptr inbounds ptr, ptr %t3, i32 %t1 %t9 = load ptr, ptr %t8 store ptr %t9, ptr %t10 %t11 = load ptr, ptr %t10 %t12 = getelementptr inbounds %Cmp_Tok, ptr %t11, i32 0, i32 0 %t13 = load i32, ptr %t12 %t14 = icmp eq i32 %t13, 7 %t15 = zext i1 %t14 to i32 %t16 = icmp ne i32 %t15, 0 br i1 %t16, label %then2, label %ifend4 then2: %t17 = load i32, ptr @g_pi %t18 = add i32 %t17, 1 store i32 %t18, ptr @g_pi %t19 = load ptr, ptr %t10 %t20 = getelementptr inbounds %Cmp_Tok, ptr %t19, i32 0, i32 3 %t21 = load i32, ptr %t20 store i32 %t21, ptr @g_g_interp_line %t22 = load ptr, ptr %t10 %t23 = getelementptr inbounds %Cmp_Tok, ptr %t22, i32 0, i32 4 %t24 = load i32, ptr %t23 store i32 %t24, ptr @g_g_interp_pos %t25 = load ptr, ptr %t10 %t26 = getelementptr inbounds %Cmp_Tok, ptr %t25, i32 0, i32 1 %t27 = load ptr, ptr %t26 %t28 = call ptr @fn_parse_interp(ptr %t27) store ptr %t28, ptr %retval br label %ret ifend4: %t29 = call i32 @fn_is_op(ptr @.str191) %t30 = icmp ne i32 %t29, 0 br i1 %t30, label %then5, label %ifend7 then5: %t31 = call ptr @fn_parse_list() store ptr %t31, ptr %retval br label %ret ifend7: %t34 = load ptr, ptr %t10 %t35 = getelementptr inbounds %Cmp_Tok, ptr %t34, i32 0, i32 0 %t36 = load i32, ptr %t35 %t37 = icmp eq i32 %t36, 0 %t38 = zext i1 %t37 to i32 %t39 = icmp ne i32 %t38, 0 %t40 = zext i1 %t39 to i32 store i32 %t40, ptr %t33 br i1 %t39, label %sc8, label %scend9 sc8: %t41 = load ptr, ptr %t10 %t42 = getelementptr inbounds %Cmp_Tok, ptr %t41, i32 0, i32 1 %t43 = load ptr, ptr %t42 %t44 = call i32 @lp_str_eq(ptr %t43, ptr @.str192) %t45 = icmp ne i32 %t44, 0 %t46 = zext i1 %t45 to i32 store i32 %t46, ptr %t33 br label %scend9 scend9: %t47 = load i32, ptr %t33 %t48 = icmp ne i32 %t47, 0 %t49 = zext i1 %t48 to i32 store i32 %t49, ptr %t32 br i1 %t48, label %sc10, label %scend11 sc10: %t50 = load ptr, ptr @g_toks %t51 = load i32, ptr @g_pi %t52 = add i32 %t51, 1 %t53 = getelementptr inbounds %LSlice, ptr %t50, i32 0, i32 0 %t54 = load ptr, ptr %t53 %t55 = getelementptr inbounds %LSlice, ptr %t50, i32 0, i32 1 %t56 = load i32, ptr %t55 %t57 = icmp ult i32 %t52, %t56 br i1 %t57, label %ixok12, label %ixbad13 ixbad13: store i32 143, ptr @lp_site %t58 = call ptr @lp_win_stdio(i32 2) store i32 0, ptr @lp_site call i32 (ptr, ptr, ...) @fprintf(ptr %t58, ptr @.fmt_bounds, ptr @.str193, i32 %t52, i32 %t56) call void @exit(i32 1) unreachable ixok12: %t59 = getelementptr inbounds ptr, ptr %t54, i32 %t52 %t60 = load ptr, ptr %t59 %t61 = getelementptr inbounds %Cmp_Tok, ptr %t60, i32 0, i32 0 %t62 = load i32, ptr %t61 %t63 = icmp eq i32 %t62, 0 %t64 = zext i1 %t63 to i32 %t65 = icmp ne i32 %t64, 0 %t66 = zext i1 %t65 to i32 store i32 %t66, ptr %t32 br label %scend11 scend11: %t67 = load i32, ptr %t32 %t68 = icmp ne i32 %t67, 0 br i1 %t68, label %then14, label %ifend16 then14: %t69 = call ptr @fn_parse_emit() store ptr %t69, ptr %retval br label %ret ifend16: %t70 = load ptr, ptr %t10 %t71 = getelementptr inbounds %Cmp_Tok, ptr %t70, i32 0, i32 0 %t72 = load i32, ptr %t71 %t73 = icmp eq i32 %t72, 1 %t74 = zext i1 %t73 to i32 %t75 = icmp ne i32 %t74, 0 br i1 %t75, label %then17, label %ifend19 then17: %t76 = call ptr @fn_node(i32 30) store ptr %t76, ptr %t77 %t78 = load ptr, ptr %t77 %t79 = getelementptr inbounds %Cmp_Node, ptr %t78, i32 0, i32 2 %t80 = load ptr, ptr %t10 %t81 = getelementptr inbounds %Cmp_Tok, ptr %t80, i32 0, i32 2 %t82 = load i32, ptr %t81 store i32 %t82, ptr %t79 %t83 = load ptr, ptr %t77 %t84 = getelementptr inbounds %Cmp_Node, ptr %t83, i32 0, i32 1 %t85 = load ptr, ptr %t10 %t86 = getelementptr inbounds %Cmp_Tok, ptr %t85, i32 0, i32 1 %t87 = load ptr, ptr %t86 store ptr %t87, ptr %t84 %t88 = load i32, ptr @g_pi %t89 = add i32 %t88, 1 store i32 %t89, ptr @g_pi %t90 = load ptr, ptr %t77 store ptr %t90, ptr %retval br label %ret ifend19: %t91 = load ptr, ptr %t10 %t92 = getelementptr inbounds %Cmp_Tok, ptr %t91, i32 0, i32 0 %t93 = load i32, ptr %t92 %t94 = icmp eq i32 %t93, 6 %t95 = zext i1 %t94 to i32 %t96 = icmp ne i32 %t95, 0 br i1 %t96, label %then20, label %ifend22 then20: %t97 = call ptr @fn_node(i32 40) store ptr %t97, ptr %t98 %t99 = load ptr, ptr %t98 %t100 = getelementptr inbounds %Cmp_Node, ptr %t99, i32 0, i32 2 %t101 = load ptr, ptr %t10 %t102 = getelementptr inbounds %Cmp_Tok, ptr %t101, i32 0, i32 2 %t103 = load i32, ptr %t102 store i32 %t103, ptr %t100 %t104 = load ptr, ptr %t98 %t105 = getelementptr inbounds %Cmp_Node, ptr %t104, i32 0, i32 1 %t106 = load ptr, ptr %t10 %t107 = getelementptr inbounds %Cmp_Tok, ptr %t106, i32 0, i32 1 %t108 = load ptr, ptr %t107 store ptr %t108, ptr %t105 %t109 = load i32, ptr @g_pi %t110 = add i32 %t109, 1 store i32 %t110, ptr @g_pi %t111 = load ptr, ptr %t98 store ptr %t111, ptr %retval br label %ret ifend22: %t112 = load ptr, ptr %t10 %t113 = getelementptr inbounds %Cmp_Tok, ptr %t112, i32 0, i32 0 %t114 = load i32, ptr %t113 %t115 = icmp eq i32 %t114, 2 %t116 = zext i1 %t115 to i32 %t117 = icmp ne i32 %t116, 0 br i1 %t117, label %then23, label %ifend25 then23: %t118 = call ptr @fn_node(i32 31) store ptr %t118, ptr %t119 %t120 = load ptr, ptr %t119 %t121 = getelementptr inbounds %Cmp_Node, ptr %t120, i32 0, i32 1 %t122 = load ptr, ptr %t10 %t123 = getelementptr inbounds %Cmp_Tok, ptr %t122, i32 0, i32 1 %t124 = load ptr, ptr %t123 store ptr %t124, ptr %t121 %t125 = load i32, ptr @g_pi %t126 = add i32 %t125, 1 store i32 %t126, ptr @g_pi %t127 = load ptr, ptr %t119 store ptr %t127, ptr %retval br label %ret ifend25: %t128 = load ptr, ptr %t10 %t129 = getelementptr inbounds %Cmp_Tok, ptr %t128, i32 0, i32 0 %t130 = load i32, ptr %t129 %t131 = icmp eq i32 %t130, 8 %t132 = zext i1 %t131 to i32 %t133 = icmp ne i32 %t132, 0 br i1 %t133, label %then26, label %ifend28 then26: %t134 = load i32, ptr @g_pi %t135 = add i32 %t134, 1 store i32 %t135, ptr @g_pi %t136 = load ptr, ptr %t10 %t137 = call ptr @fn_key_lit_node(ptr %t136) store ptr %t137, ptr %retval br label %ret ifend28: %t138 = load ptr, ptr %t10 %t139 = getelementptr inbounds %Cmp_Tok, ptr %t138, i32 0, i32 0 %t140 = load i32, ptr %t139 %t141 = icmp eq i32 %t140, 0 %t142 = zext i1 %t141 to i32 %t143 = icmp ne i32 %t142, 0 br i1 %t143, label %then29, label %ifend31 then29: %t144 = load ptr, ptr %t10 %t145 = getelementptr inbounds %Cmp_Tok, ptr %t144, i32 0, i32 1 %t146 = load ptr, ptr %t145 %t147 = call i32 @lp_str_eq(ptr %t146, ptr @.str194) %t148 = icmp ne i32 %t147, 0 br i1 %t148, label %then32, label %ifend34 then32: %t149 = call ptr @fn_node(i32 32) store ptr %t149, ptr %t150 %t151 = load ptr, ptr %t150 %t152 = getelementptr inbounds %Cmp_Node, ptr %t151, i32 0, i32 2 store i32 1, ptr %t152 %t153 = load i32, ptr @g_pi %t154 = add i32 %t153, 1 store i32 %t154, ptr @g_pi %t155 = load ptr, ptr %t150 store ptr %t155, ptr %retval br label %ret ifend34: %t156 = load ptr, ptr %t10 %t157 = getelementptr inbounds %Cmp_Tok, ptr %t156, i32 0, i32 1 %t158 = load ptr, ptr %t157 %t159 = call i32 @lp_str_eq(ptr %t158, ptr @.str195) %t160 = icmp ne i32 %t159, 0 br i1 %t160, label %then35, label %ifend37 then35: %t161 = call ptr @fn_node(i32 32) store ptr %t161, ptr %t162 %t163 = load ptr, ptr %t162 %t164 = getelementptr inbounds %Cmp_Node, ptr %t163, i32 0, i32 2 store i32 0, ptr %t164 %t165 = load i32, ptr @g_pi %t166 = add i32 %t165, 1 store i32 %t166, ptr @g_pi %t167 = load ptr, ptr %t162 store ptr %t167, ptr %retval br label %ret ifend37: %t168 = load ptr, ptr %t10 %t169 = getelementptr inbounds %Cmp_Tok, ptr %t168, i32 0, i32 1 %t170 = load ptr, ptr %t169 %t171 = call i32 @lp_str_eq(ptr %t170, ptr @.str196) %t172 = icmp ne i32 %t171, 0 br i1 %t172, label %then38, label %ifend40 then38: %t173 = load i32, ptr @g_pi %t174 = add i32 %t173, 1 store i32 %t174, ptr @g_pi %t175 = call ptr @fn_node(i32 43) store ptr %t175, ptr %retval br label %ret ifend40: %t176 = load ptr, ptr %t10 %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 @.str197) %t180 = icmp ne i32 %t179, 0 br i1 %t180, label %then41, label %ifend43 then41: %t181 = load i32, ptr @g_pi %t182 = add i32 %t181, 1 store i32 %t182, ptr @g_pi %t183 = call ptr @fn_node(i32 39) store ptr %t183, ptr %t184 %t185 = load ptr, ptr %t184 %t186 = getelementptr inbounds %Cmp_Node, ptr %t185, i32 0, i32 1 %t187 = call ptr @fn_ptype() store ptr %t187, ptr %t186 %t188 = call i32 @fn_is_op(ptr @.str198) %t189 = icmp ne i32 %t188, 0 br i1 %t189, label %then44, label %ifend46 then44: %t190 = load ptr, ptr %t184 %t191 = getelementptr inbounds %Cmp_Node, ptr %t190, i32 0, i32 4 %t192 = call ptr @fn_record() store ptr %t192, ptr %t191 br label %ifend46 ifend46: %t193 = load ptr, ptr %t184 store ptr %t193, ptr %retval br label %ret ifend43: %t194 = load ptr, ptr %t10 %t195 = getelementptr inbounds %Cmp_Tok, ptr %t194, i32 0, i32 1 %t196 = load ptr, ptr %t195 %t197 = call i32 @lp_str_eq(ptr %t196, ptr @.str199) %t198 = icmp ne i32 %t197, 0 br i1 %t198, label %then47, label %ifend49 then47: %t199 = call ptr @fn_parse_spawn() store ptr %t199, ptr %retval br label %ret ifend49: %t207 = load ptr, ptr %t10 %t208 = getelementptr inbounds %Cmp_Tok, ptr %t207, i32 0, i32 1 %t209 = load ptr, ptr %t208 %t210 = call i32 @lp_str_eq(ptr %t209, ptr @.str200) %t211 = icmp ne i32 %t210, 0 %t212 = zext i1 %t211 to i32 store i32 %t212, ptr %t206 br i1 %t211, label %sc50, label %scend51 sc50: %t213 = load ptr, ptr @g_toks %t214 = load i32, ptr @g_pi %t215 = add i32 %t214, 1 %t216 = getelementptr inbounds %LSlice, ptr %t213, i32 0, i32 0 %t217 = load ptr, ptr %t216 %t218 = getelementptr inbounds %LSlice, ptr %t213, i32 0, i32 1 %t219 = load i32, ptr %t218 %t220 = icmp ult i32 %t215, %t219 br i1 %t220, label %ixok52, label %ixbad53 ixbad53: store i32 144, ptr @lp_site %t221 = call ptr @lp_win_stdio(i32 2) store i32 0, ptr @lp_site call i32 (ptr, ptr, ...) @fprintf(ptr %t221, ptr @.fmt_bounds, ptr @.str201, i32 %t215, i32 %t219) call void @exit(i32 1) unreachable ixok52: %t222 = getelementptr inbounds ptr, ptr %t217, i32 %t215 %t223 = load ptr, ptr %t222 %t224 = getelementptr inbounds %Cmp_Tok, ptr %t223, i32 0, i32 0 %t225 = load i32, ptr %t224 %t226 = icmp eq i32 %t225, 0 %t227 = zext i1 %t226 to i32 %t228 = icmp ne i32 %t227, 0 %t229 = zext i1 %t228 to i32 store i32 %t229, ptr %t206 br label %scend51 scend51: %t230 = load i32, ptr %t206 %t231 = icmp ne i32 %t230, 0 %t232 = zext i1 %t231 to i32 store i32 %t232, ptr %t205 br i1 %t231, label %sc54, label %scend55 sc54: %t233 = load ptr, ptr @g_toks %t234 = load i32, ptr @g_pi %t235 = add i32 %t234, 1 %t236 = getelementptr inbounds %LSlice, ptr %t233, i32 0, i32 0 %t237 = load ptr, ptr %t236 %t238 = getelementptr inbounds %LSlice, ptr %t233, i32 0, i32 1 %t239 = load i32, ptr %t238 %t240 = icmp ult i32 %t235, %t239 br i1 %t240, label %ixok56, label %ixbad57 ixbad57: store i32 145, ptr @lp_site %t241 = call ptr @lp_win_stdio(i32 2) store i32 0, ptr @lp_site call i32 (ptr, ptr, ...) @fprintf(ptr %t241, ptr @.fmt_bounds, ptr @.str202, i32 %t235, i32 %t239) call void @exit(i32 1) unreachable ixok56: %t242 = getelementptr inbounds ptr, ptr %t237, i32 %t235 %t243 = load ptr, ptr %t242 %t244 = getelementptr inbounds %Cmp_Tok, ptr %t243, i32 0, i32 3 %t245 = load i32, ptr %t244 %t246 = load ptr, ptr %t10 %t247 = getelementptr inbounds %Cmp_Tok, ptr %t246, i32 0, i32 3 %t248 = load i32, ptr %t247 %t249 = icmp eq i32 %t245, %t248 %t250 = zext i1 %t249 to i32 %t251 = icmp ne i32 %t250, 0 %t252 = zext i1 %t251 to i32 store i32 %t252, ptr %t205 br label %scend55 scend55: %t253 = load i32, ptr %t205 %t254 = icmp ne i32 %t253, 0 %t255 = zext i1 %t254 to i32 store i32 %t255, ptr %t204 br i1 %t254, label %sc58, label %scend59 sc58: %t256 = load ptr, ptr @g_toks %t257 = load i32, ptr @g_pi %t258 = add i32 %t257, 1 %t259 = getelementptr inbounds %LSlice, ptr %t256, i32 0, i32 0 %t260 = load ptr, ptr %t259 %t261 = getelementptr inbounds %LSlice, ptr %t256, i32 0, i32 1 %t262 = load i32, ptr %t261 %t263 = icmp ult i32 %t258, %t262 br i1 %t263, label %ixok60, label %ixbad61 ixbad61: store i32 146, ptr @lp_site %t264 = call ptr @lp_win_stdio(i32 2) store i32 0, ptr @lp_site call i32 (ptr, ptr, ...) @fprintf(ptr %t264, ptr @.fmt_bounds, ptr @.str203, i32 %t258, i32 %t262) call void @exit(i32 1) unreachable ixok60: %t265 = getelementptr inbounds ptr, ptr %t260, i32 %t258 %t266 = load ptr, ptr %t265 %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 @.str204) %t270 = icmp eq i32 %t269, 0 %t271 = zext i1 %t270 to i32 %t272 = icmp ne i32 %t271, 0 %t273 = zext i1 %t272 to i32 store i32 %t273, ptr %t204 br label %scend59 scend59: %t274 = load i32, ptr %t204 %t275 = icmp ne i32 %t274, 0 %t276 = zext i1 %t275 to i32 store i32 %t276, ptr %t203 br i1 %t275, label %sc62, label %scend63 sc62: %t277 = load ptr, ptr @g_toks %t278 = load i32, ptr @g_pi %t279 = add i32 %t278, 1 %t280 = getelementptr inbounds %LSlice, ptr %t277, i32 0, i32 0 %t281 = load ptr, ptr %t280 %t282 = getelementptr inbounds %LSlice, ptr %t277, i32 0, i32 1 %t283 = load i32, ptr %t282 %t284 = icmp ult i32 %t279, %t283 br i1 %t284, label %ixok64, label %ixbad65 ixbad65: store i32 147, ptr @lp_site %t285 = call ptr @lp_win_stdio(i32 2) store i32 0, ptr @lp_site call i32 (ptr, ptr, ...) @fprintf(ptr %t285, ptr @.fmt_bounds, ptr @.str205, i32 %t279, i32 %t283) call void @exit(i32 1) unreachable ixok64: %t286 = getelementptr inbounds ptr, ptr %t281, i32 %t279 %t287 = load ptr, ptr %t286 %t288 = getelementptr inbounds %Cmp_Tok, ptr %t287, i32 0, i32 1 %t289 = load ptr, ptr %t288 %t290 = call i32 @lp_str_eq(ptr %t289, ptr @.str206) %t291 = icmp eq i32 %t290, 0 %t292 = zext i1 %t291 to i32 %t293 = icmp ne i32 %t292, 0 %t294 = zext i1 %t293 to i32 store i32 %t294, ptr %t203 br label %scend63 scend63: %t295 = load i32, ptr %t203 %t296 = icmp ne i32 %t295, 0 %t297 = zext i1 %t296 to i32 store i32 %t297, ptr %t202 br i1 %t296, label %sc66, label %scend67 sc66: %t298 = load ptr, ptr @g_toks %t299 = load i32, ptr @g_pi %t300 = add i32 %t299, 1 %t301 = getelementptr inbounds %LSlice, ptr %t298, i32 0, i32 0 %t302 = load ptr, ptr %t301 %t303 = getelementptr inbounds %LSlice, ptr %t298, i32 0, i32 1 %t304 = load i32, ptr %t303 %t305 = icmp ult i32 %t300, %t304 br i1 %t305, label %ixok68, label %ixbad69 ixbad69: store i32 148, ptr @lp_site %t306 = call ptr @lp_win_stdio(i32 2) store i32 0, ptr @lp_site call i32 (ptr, ptr, ...) @fprintf(ptr %t306, ptr @.fmt_bounds, ptr @.str207, i32 %t300, i32 %t304) call void @exit(i32 1) unreachable ixok68: %t307 = getelementptr inbounds ptr, ptr %t302, i32 %t300 %t308 = load ptr, ptr %t307 %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 @.str208) %t312 = icmp eq i32 %t311, 0 %t313 = zext i1 %t312 to i32 %t314 = icmp ne i32 %t313, 0 %t315 = zext i1 %t314 to i32 store i32 %t315, ptr %t202 br label %scend67 scend67: %t316 = load i32, ptr %t202 %t317 = icmp ne i32 %t316, 0 %t318 = zext i1 %t317 to i32 store i32 %t318, ptr %t201 br i1 %t317, label %sc70, label %scend71 sc70: %t319 = load ptr, ptr @g_toks %t320 = load i32, ptr @g_pi %t321 = add i32 %t320, 1 %t322 = getelementptr inbounds %LSlice, ptr %t319, i32 0, i32 0 %t323 = load ptr, ptr %t322 %t324 = getelementptr inbounds %LSlice, ptr %t319, i32 0, i32 1 %t325 = load i32, ptr %t324 %t326 = icmp ult i32 %t321, %t325 br i1 %t326, label %ixok72, label %ixbad73 ixbad73: store i32 149, ptr @lp_site %t327 = call ptr @lp_win_stdio(i32 2) store i32 0, ptr @lp_site call i32 (ptr, ptr, ...) @fprintf(ptr %t327, ptr @.fmt_bounds, ptr @.str209, i32 %t321, i32 %t325) call void @exit(i32 1) unreachable ixok72: %t328 = getelementptr inbounds ptr, ptr %t323, i32 %t321 %t329 = load ptr, ptr %t328 %t330 = getelementptr inbounds %Cmp_Tok, ptr %t329, i32 0, i32 1 %t331 = load ptr, ptr %t330 %t332 = call i32 @lp_str_eq(ptr %t331, ptr @.str210) %t333 = icmp eq i32 %t332, 0 %t334 = zext i1 %t333 to i32 %t335 = icmp ne i32 %t334, 0 %t336 = zext i1 %t335 to i32 store i32 %t336, ptr %t201 br label %scend71 scend71: %t337 = load i32, ptr %t201 %t338 = icmp ne i32 %t337, 0 %t339 = zext i1 %t338 to i32 store i32 %t339, ptr %t200 br i1 %t338, label %sc74, label %scend75 sc74: %t340 = load ptr, ptr @g_toks %t341 = load i32, ptr @g_pi %t342 = add i32 %t341, 1 %t343 = getelementptr inbounds %LSlice, ptr %t340, i32 0, i32 0 %t344 = load ptr, ptr %t343 %t345 = getelementptr inbounds %LSlice, ptr %t340, i32 0, i32 1 %t346 = load i32, ptr %t345 %t347 = icmp ult i32 %t342, %t346 br i1 %t347, label %ixok76, label %ixbad77 ixbad77: store i32 150, ptr @lp_site %t348 = call ptr @lp_win_stdio(i32 2) store i32 0, ptr @lp_site call i32 (ptr, ptr, ...) @fprintf(ptr %t348, ptr @.fmt_bounds, ptr @.str211, i32 %t342, i32 %t346) call void @exit(i32 1) unreachable ixok76: %t349 = getelementptr inbounds ptr, ptr %t344, i32 %t342 %t350 = load ptr, ptr %t349 %t351 = getelementptr inbounds %Cmp_Tok, ptr %t350, i32 0, i32 1 %t352 = load ptr, ptr %t351 %t353 = call i32 @lp_str_eq(ptr %t352, ptr @.str212) %t354 = icmp eq i32 %t353, 0 %t355 = zext i1 %t354 to i32 %t356 = icmp ne i32 %t355, 0 %t357 = zext i1 %t356 to i32 store i32 %t357, ptr %t200 br label %scend75 scend75: %t358 = load i32, ptr %t200 %t359 = icmp ne i32 %t358, 0 br i1 %t359, label %then78, label %ifend80 then78: %t360 = load i32, ptr @g_pi %t361 = add i32 %t360, 1 store i32 %t361, ptr @g_pi %t362 = call ptr @fn_node(i32 55) store ptr %t362, ptr %t363 %t364 = load ptr, ptr %t363 %t365 = getelementptr inbounds %Cmp_Node, ptr %t364, i32 0, i32 8 %t366 = load ptr, ptr %t10 %t367 = getelementptr inbounds %Cmp_Tok, ptr %t366, i32 0, i32 3 %t368 = load i32, ptr %t367 store i32 %t368, ptr %t365 %t369 = load ptr, ptr %t363 %t370 = getelementptr inbounds %Cmp_Node, ptr %t369, i32 0, i32 1 %t371 = call ptr @fn_eat_id() store ptr %t371, ptr %t370 %t372 = load ptr, ptr %t363 store ptr %t372, ptr %retval br label %ret ifend80: %t373 = load ptr, ptr %t10 %t374 = getelementptr inbounds %Cmp_Tok, ptr %t373, i32 0, i32 1 %t375 = load ptr, ptr %t374 %t376 = call i32 @lp_str_eq(ptr %t375, ptr @.str213) %t377 = icmp ne i32 %t376, 0 br i1 %t377, label %then81, label %ifend83 then81: %t378 = load i32, ptr @g_pi %t379 = add i32 %t378, 1 store i32 %t379, ptr @g_pi %t380 = call ptr @fn_node(i32 52) store ptr %t380, ptr %t381 %t382 = load ptr, ptr %t381 %t383 = getelementptr inbounds %Cmp_Node, ptr %t382, i32 0, i32 8 %t384 = load ptr, ptr %t10 %t385 = getelementptr inbounds %Cmp_Tok, ptr %t384, i32 0, i32 3 %t386 = load i32, ptr %t385 store i32 %t386, ptr %t383 %t387 = load ptr, ptr %t381 %t388 = getelementptr inbounds %Cmp_Node, ptr %t387, i32 0, i32 4 %t389 = call ptr @fn_expr() store ptr %t389, ptr %t388 call void @fn_skipnl() %t390 = call i32 @fn_is_id(ptr @.str214) %t391 = icmp eq i32 %t390, 0 %t392 = zext i1 %t391 to i32 %t393 = icmp ne i32 %t392, 0 br i1 %t393, label %then84, label %ifend86 then84: call void @fn_perr(ptr @.str215) br label %ifend86 ifend86: %t394 = load i32, ptr @g_pi %t395 = add i32 %t394, 1 store i32 %t395, ptr @g_pi call void @fn_skipnl() %t396 = load ptr, ptr %t381 %t397 = getelementptr inbounds %Cmp_Node, ptr %t396, i32 0, i32 5 %t398 = call ptr @fn_block() store ptr %t398, ptr %t397 %t399 = load ptr, ptr %t381 store ptr %t399, ptr %retval br label %ret ifend83: %t400 = load ptr, ptr %t10 %t401 = getelementptr inbounds %Cmp_Tok, ptr %t400, i32 0, i32 1 %t402 = load ptr, ptr %t401 %t403 = call i32 @lp_str_eq(ptr %t402, ptr @.str216) %t404 = icmp ne i32 %t403, 0 br i1 %t404, label %then87, label %ifend89 then87: store i32 1, ptr @g_g_uses_bytes br label %ifend89 ifend89: %t405 = call ptr @fn_node(i32 33) store ptr %t405, ptr %t406 %t407 = load ptr, ptr %t406 %t408 = getelementptr inbounds %Cmp_Node, ptr %t407, i32 0, i32 1 %t409 = load ptr, ptr %t10 %t410 = getelementptr inbounds %Cmp_Tok, ptr %t409, i32 0, i32 1 %t411 = load ptr, ptr %t410 store ptr %t411, ptr %t408 %t412 = load i32, ptr @g_pi %t413 = add i32 %t412, 1 store i32 %t413, ptr @g_pi %t414 = load ptr, ptr %t406 store ptr %t414, ptr %retval br label %ret ifend31: %t415 = call i32 @fn_is_op(ptr @.str217) %t416 = icmp ne i32 %t415, 0 br i1 %t416, label %then90, label %ifend92 then90: %t417 = load i32, ptr @g_pi %t418 = add i32 %t417, 1 store i32 %t418, ptr @g_pi call void @fn_skipnl() %t419 = call ptr @fn_expr() store ptr %t419, ptr %t420 call void @fn_skipnl() call void @fn_eat_op(ptr @.str218) %t421 = load ptr, ptr %t420 store ptr %t421, ptr %retval br label %ret ifend92: %t423 = load i32, ptr @g_g_res_mode %t424 = icmp ne i32 %t423, 0 %t425 = zext i1 %t424 to i32 store i32 %t425, ptr %t422 br i1 %t424, label %sc93, label %scend94 sc93: %t426 = call i32 @fn_is_op(ptr @.str219) %t427 = icmp ne i32 %t426, 0 %t428 = zext i1 %t427 to i32 store i32 %t428, ptr %t422 br label %scend94 scend94: %t429 = load i32, ptr %t422 %t430 = icmp ne i32 %t429, 0 br i1 %t430, label %then95, label %ifend97 then95: %t431 = call ptr @fn_record() store ptr %t431, ptr %retval br label %ret ifend97: call void @fn_perr(ptr @.str220) %t432 = call ptr @fn_node(i32 30) store ptr %t432, ptr %retval br label %ret ret: %t433 = load ptr, ptr %retval ret ptr %t433 } define ptr @fn_p_postfix() { entry: %retval = alloca ptr %t1 = alloca ptr %t8 = alloca ptr %t16 = alloca i32 %t36 = alloca i32 %t56 = alloca i32 %t57 = alloca i32 %t78 = alloca i32 %t96 = alloca i32 %t97 = alloca i32 %t126 = alloca i32 %t136 = alloca i32 %t158 = alloca i32 %t168 = alloca i32 %t190 = alloca i32 %t200 = alloca i32 %t201 = alloca i32 %t234 = alloca i32 %t244 = alloca i32 %t245 = alloca i32 %t278 = alloca i32 %t298 = alloca i32 %t318 = alloca i32 %t338 = alloca i32 %t348 = alloca i32 %t370 = alloca i32 %t390 = alloca i32 %t410 = alloca i32 %t430 = alloca i32 %t431 = alloca i32 %t452 = alloca i32 %t453 = alloca i32 %t454 = alloca i32 %t455 = alloca i32 %t456 = alloca i32 %t457 = alloca i32 %t458 = alloca i32 %t459 = alloca i32 %t540 = alloca i32 %t560 = alloca i32 %t561 = alloca i32 %t582 = alloca i32 %t600 = alloca i32 %t601 = alloca i32 %t622 = alloca i32 %t623 = alloca i32 %t624 = alloca i32 %t625 = alloca i32 %t626 = alloca i32 %t627 = alloca i32 %t628 = alloca i32 %t629 = alloca i32 %t630 = alloca i32 %t631 = alloca i32 %t632 = alloca i32 %t740 = alloca i32 %t741 = alloca i32 %t762 = alloca i32 %t763 = alloca i32 %t764 = alloca i32 %t765 = alloca i32 %t766 = alloca i32 %t767 = alloca i32 %t768 = alloca i32 %t769 = alloca i32 %t770 = alloca i32 %t771 = alloca i32 %t772 = alloca i32 %t773 = alloca i32 %t774 = alloca i32 %t775 = alloca i32 %t776 = alloca i32 %t777 = alloca i32 %t778 = alloca i32 %t779 = alloca i32 %t780 = alloca i32 %t781 = alloca i32 %t782 = alloca i32 %t783 = alloca i32 %t784 = alloca i32 %t785 = alloca i32 %t786 = alloca i32 %t787 = alloca i32 %t1030 = alloca i32 %t1031 = alloca i32 %t1052 = alloca i32 %t1053 = alloca i32 %t1054 = alloca i32 %t1090 = alloca i32 %t1091 = alloca i32 %t1120 = alloca i32 %t1140 = alloca i32 %t1160 = alloca i32 %t1180 = alloca i32 %t1200 = alloca i32 %t1220 = alloca i32 %t1240 = alloca i32 %t1241 = alloca i32 %t1262 = alloca i32 %t1263 = alloca i32 %t1264 = alloca i32 %t1265 = alloca i32 %t1266 = alloca i32 %t1320 = alloca i32 %t1345 = alloca ptr %t1351 = alloca ptr %t1363 = alloca ptr %t1374 = alloca ptr %t1394 = alloca i32 %t1438 = alloca i32 %t1448 = 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 @.str221) %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 @.str222) %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: %t46 = load ptr, ptr %t1 %t47 = getelementptr inbounds %Cmp_Node, ptr %t46, i32 0, i32 4 %t48 = load ptr, ptr %t47 %t49 = getelementptr inbounds %Cmp_Node, ptr %t48, i32 0, i32 1 %t50 = load ptr, ptr %t49 %t51 = call i32 @lp_str_eq(ptr %t50, ptr @.str223) %t52 = icmp ne i32 %t51, 0 %t53 = zext i1 %t52 to i32 store i32 %t53, ptr %t36 br label %scend12 scend12: %t54 = load i32, ptr %t36 %t55 = icmp ne i32 %t54, 0 br i1 %t55, label %then13, label %ifend15 then13: store i32 1, ptr @g_g_uses_rng br label %ifend15 ifend15: %t58 = load ptr, ptr %t1 %t59 = getelementptr inbounds %Cmp_Node, ptr %t58, i32 0, i32 4 %t60 = load ptr, ptr %t59 %t61 = getelementptr inbounds %Cmp_Node, ptr %t60, i32 0, i32 0 %t62 = load i32, ptr %t61 %t63 = icmp eq i32 %t62, 33 %t64 = zext i1 %t63 to i32 %t65 = icmp ne i32 %t64, 0 %t66 = zext i1 %t65 to i32 store i32 %t66, ptr %t57 br i1 %t65, label %sc16, label %scend17 sc16: %t67 = load ptr, ptr %t1 %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 %t72 = call i32 @lp_str_eq(ptr %t71, ptr @.str224) %t73 = icmp ne i32 %t72, 0 %t74 = zext i1 %t73 to i32 store i32 %t74, ptr %t57 br label %scend17 scend17: %t75 = load i32, ptr %t57 %t76 = icmp ne i32 %t75, 0 %t77 = zext i1 %t76 to i32 store i32 %t77, ptr %t56 br i1 %t76, label %sc18, label %scend19 sc18: %t79 = load ptr, ptr %t1 %t80 = getelementptr inbounds %Cmp_Node, ptr %t79, i32 0, i32 1 %t81 = load ptr, ptr %t80 %t82 = call i32 @lp_str_eq(ptr %t81, ptr @.str225) %t83 = icmp ne i32 %t82, 0 %t84 = zext i1 %t83 to i32 store i32 %t84, ptr %t78 br i1 %t83, label %scend21, label %sc20 sc20: %t85 = load ptr, ptr %t1 %t86 = getelementptr inbounds %Cmp_Node, ptr %t85, i32 0, i32 1 %t87 = load ptr, ptr %t86 %t88 = call i32 @lp_str_eq(ptr %t87, ptr @.str226) %t89 = icmp ne i32 %t88, 0 %t90 = zext i1 %t89 to i32 store i32 %t90, ptr %t78 br label %scend21 scend21: %t91 = load i32, ptr %t78 %t92 = icmp ne i32 %t91, 0 %t93 = zext i1 %t92 to i32 store i32 %t93, ptr %t56 br label %scend19 scend19: %t94 = load i32, ptr %t56 %t95 = icmp ne i32 %t94, 0 br i1 %t95, label %then22, label %ifend24 then22: store i32 1, ptr @g_g_uses_bytes br label %ifend24 ifend24: %t98 = load ptr, ptr %t1 %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 0 %t102 = load i32, ptr %t101 %t103 = icmp eq i32 %t102, 33 %t104 = zext i1 %t103 to i32 %t105 = icmp ne i32 %t104, 0 %t106 = zext i1 %t105 to i32 store i32 %t106, ptr %t97 br i1 %t105, label %sc25, label %scend26 sc25: %t107 = load ptr, ptr %t1 %t108 = getelementptr inbounds %Cmp_Node, ptr %t107, i32 0, i32 4 %t109 = load ptr, ptr %t108 %t110 = getelementptr inbounds %Cmp_Node, ptr %t109, i32 0, i32 1 %t111 = load ptr, ptr %t110 %t112 = call i32 @lp_str_eq(ptr %t111, ptr @.str227) %t113 = icmp ne i32 %t112, 0 %t114 = zext i1 %t113 to i32 store i32 %t114, ptr %t97 br label %scend26 scend26: %t115 = load i32, ptr %t97 %t116 = icmp ne i32 %t115, 0 %t117 = zext i1 %t116 to i32 store i32 %t117, ptr %t96 br i1 %t116, label %sc27, label %scend28 sc27: %t118 = load ptr, ptr %t1 %t119 = getelementptr inbounds %Cmp_Node, ptr %t118, i32 0, i32 1 %t120 = load ptr, ptr %t119 %t121 = call i32 @lp_str_eq(ptr %t120, ptr @.str228) %t122 = icmp ne i32 %t121, 0 %t123 = zext i1 %t122 to i32 store i32 %t123, ptr %t96 br label %scend28 scend28: %t124 = load i32, ptr %t96 %t125 = icmp ne i32 %t124, 0 br i1 %t125, label %then29, label %ifend31 then29: store i32 1, ptr @g_g_uses_schema_hash br label %ifend31 ifend31: %t127 = load ptr, ptr %t1 %t128 = getelementptr inbounds %Cmp_Node, ptr %t127, i32 0, i32 4 %t129 = load ptr, ptr %t128 %t130 = getelementptr inbounds %Cmp_Node, ptr %t129, i32 0, i32 0 %t131 = load i32, ptr %t130 %t132 = icmp eq i32 %t131, 33 %t133 = zext i1 %t132 to i32 %t134 = icmp ne i32 %t133, 0 %t135 = zext i1 %t134 to i32 store i32 %t135, ptr %t126 br i1 %t134, label %sc32, label %scend33 sc32: %t137 = load ptr, ptr %t1 %t138 = getelementptr inbounds %Cmp_Node, ptr %t137, i32 0, i32 4 %t139 = load ptr, ptr %t138 %t140 = getelementptr inbounds %Cmp_Node, ptr %t139, i32 0, i32 1 %t141 = load ptr, ptr %t140 %t142 = call i32 @lp_str_eq(ptr %t141, ptr @.str229) %t143 = icmp ne i32 %t142, 0 %t144 = zext i1 %t143 to i32 store i32 %t144, ptr %t136 br i1 %t143, label %scend35, label %sc34 sc34: %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 1 %t149 = load ptr, ptr %t148 %t150 = call i32 @lp_str_eq(ptr %t149, ptr @.str230) %t151 = icmp ne i32 %t150, 0 %t152 = zext i1 %t151 to i32 store i32 %t152, ptr %t136 br label %scend35 scend35: %t153 = load i32, ptr %t136 %t154 = icmp ne i32 %t153, 0 %t155 = zext i1 %t154 to i32 store i32 %t155, ptr %t126 br label %scend33 scend33: %t156 = load i32, ptr %t126 %t157 = icmp ne i32 %t156, 0 br i1 %t157, label %then36, label %ifend38 then36: store i32 1, ptr @g_g_uses_bignum br label %ifend38 ifend38: %t159 = load ptr, ptr %t1 %t160 = getelementptr inbounds %Cmp_Node, ptr %t159, i32 0, i32 4 %t161 = load ptr, ptr %t160 %t162 = getelementptr inbounds %Cmp_Node, ptr %t161, i32 0, i32 0 %t163 = load i32, ptr %t162 %t164 = icmp eq i32 %t163, 33 %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: %t169 = load ptr, ptr %t1 %t170 = getelementptr inbounds %Cmp_Node, ptr %t169, i32 0, i32 4 %t171 = load ptr, ptr %t170 %t172 = getelementptr inbounds %Cmp_Node, ptr %t171, i32 0, i32 1 %t173 = load ptr, ptr %t172 %t174 = call i32 @lp_str_eq(ptr %t173, ptr @.str231) %t175 = icmp ne i32 %t174, 0 %t176 = zext i1 %t175 to i32 store i32 %t176, ptr %t168 br i1 %t175, label %scend42, label %sc41 sc41: %t177 = load ptr, ptr %t1 %t178 = getelementptr inbounds %Cmp_Node, ptr %t177, i32 0, i32 4 %t179 = load ptr, ptr %t178 %t180 = getelementptr inbounds %Cmp_Node, ptr %t179, i32 0, i32 1 %t181 = load ptr, ptr %t180 %t182 = call i32 @lp_str_eq(ptr %t181, ptr @.str232) %t183 = icmp ne i32 %t182, 0 %t184 = zext i1 %t183 to i32 store i32 %t184, ptr %t168 br label %scend42 scend42: %t185 = load i32, ptr %t168 %t186 = icmp ne i32 %t185, 0 %t187 = zext i1 %t186 to i32 store i32 %t187, ptr %t158 br label %scend40 scend40: %t188 = load i32, ptr %t158 %t189 = icmp ne i32 %t188, 0 br i1 %t189, label %then43, label %ifend45 then43: store i32 1, ptr @g_g_uses_dict br label %ifend45 ifend45: %t191 = load ptr, ptr %t1 %t192 = getelementptr inbounds %Cmp_Node, ptr %t191, i32 0, i32 4 %t193 = load ptr, ptr %t192 %t194 = getelementptr inbounds %Cmp_Node, ptr %t193, i32 0, i32 0 %t195 = load i32, ptr %t194 %t196 = icmp eq i32 %t195, 33 %t197 = zext i1 %t196 to i32 %t198 = icmp ne i32 %t197, 0 %t199 = zext i1 %t198 to i32 store i32 %t199, ptr %t190 br i1 %t198, label %sc46, label %scend47 sc46: %t202 = load ptr, ptr %t1 %t203 = getelementptr inbounds %Cmp_Node, ptr %t202, i32 0, i32 4 %t204 = load ptr, ptr %t203 %t205 = getelementptr inbounds %Cmp_Node, ptr %t204, i32 0, i32 1 %t206 = load ptr, ptr %t205 %t207 = call i32 @lp_str_eq(ptr %t206, ptr @.str233) %t208 = icmp ne i32 %t207, 0 %t209 = zext i1 %t208 to i32 store i32 %t209, ptr %t201 br i1 %t208, label %scend49, label %sc48 sc48: %t210 = load ptr, ptr %t1 %t211 = getelementptr inbounds %Cmp_Node, ptr %t210, i32 0, i32 4 %t212 = load ptr, ptr %t211 %t213 = getelementptr inbounds %Cmp_Node, ptr %t212, i32 0, i32 1 %t214 = load ptr, ptr %t213 %t215 = call i32 @lp_str_eq(ptr %t214, ptr @.str234) %t216 = icmp ne i32 %t215, 0 %t217 = zext i1 %t216 to i32 store i32 %t217, ptr %t201 br label %scend49 scend49: %t218 = load i32, ptr %t201 %t219 = icmp ne i32 %t218, 0 %t220 = zext i1 %t219 to i32 store i32 %t220, ptr %t200 br i1 %t219, label %scend51, label %sc50 sc50: %t221 = load ptr, ptr %t1 %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 @.str235) %t227 = icmp ne i32 %t226, 0 %t228 = zext i1 %t227 to i32 store i32 %t228, ptr %t200 br label %scend51 scend51: %t229 = load i32, ptr %t200 %t230 = icmp ne i32 %t229, 0 %t231 = zext i1 %t230 to i32 store i32 %t231, ptr %t190 br label %scend47 scend47: %t232 = load i32, ptr %t190 %t233 = icmp ne i32 %t232, 0 br i1 %t233, label %then52, label %ifend54 then52: store i32 1, ptr @g_g_uses_numeric br label %ifend54 ifend54: %t235 = load ptr, ptr %t1 %t236 = getelementptr inbounds %Cmp_Node, ptr %t235, i32 0, i32 4 %t237 = load ptr, ptr %t236 %t238 = getelementptr inbounds %Cmp_Node, ptr %t237, i32 0, i32 0 %t239 = load i32, ptr %t238 %t240 = icmp eq i32 %t239, 33 %t241 = zext i1 %t240 to i32 %t242 = icmp ne i32 %t241, 0 %t243 = zext i1 %t242 to i32 store i32 %t243, ptr %t234 br i1 %t242, label %sc55, label %scend56 sc55: %t246 = load ptr, ptr %t1 %t247 = getelementptr inbounds %Cmp_Node, ptr %t246, i32 0, i32 4 %t248 = load ptr, ptr %t247 %t249 = getelementptr inbounds %Cmp_Node, ptr %t248, i32 0, i32 1 %t250 = load ptr, ptr %t249 %t251 = call i32 @lp_str_eq(ptr %t250, ptr @.str236) %t252 = icmp ne i32 %t251, 0 %t253 = zext i1 %t252 to i32 store i32 %t253, ptr %t245 br i1 %t252, label %scend58, label %sc57 sc57: %t254 = load ptr, ptr %t1 %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 1 %t258 = load ptr, ptr %t257 %t259 = call i32 @lp_str_eq(ptr %t258, ptr @.str237) %t260 = icmp ne i32 %t259, 0 %t261 = zext i1 %t260 to i32 store i32 %t261, ptr %t245 br label %scend58 scend58: %t262 = load i32, ptr %t245 %t263 = icmp ne i32 %t262, 0 %t264 = zext i1 %t263 to i32 store i32 %t264, ptr %t244 br i1 %t263, label %scend60, label %sc59 sc59: %t265 = load ptr, ptr %t1 %t266 = getelementptr inbounds %Cmp_Node, ptr %t265, i32 0, i32 4 %t267 = load ptr, ptr %t266 %t268 = getelementptr inbounds %Cmp_Node, ptr %t267, i32 0, i32 1 %t269 = load ptr, ptr %t268 %t270 = call i32 @lp_str_eq(ptr %t269, ptr @.str238) %t271 = icmp ne i32 %t270, 0 %t272 = zext i1 %t271 to i32 store i32 %t272, ptr %t244 br label %scend60 scend60: %t273 = load i32, ptr %t244 %t274 = icmp ne i32 %t273, 0 %t275 = zext i1 %t274 to i32 store i32 %t275, ptr %t234 br label %scend56 scend56: %t276 = load i32, ptr %t234 %t277 = icmp ne i32 %t276, 0 br i1 %t277, label %then61, label %ifend63 then61: store i32 1, ptr @g_g_uses_jobs br label %ifend63 ifend63: %t279 = load ptr, ptr %t1 %t280 = getelementptr inbounds %Cmp_Node, ptr %t279, i32 0, i32 4 %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, 33 %t285 = zext i1 %t284 to i32 %t286 = icmp ne i32 %t285, 0 %t287 = zext i1 %t286 to i32 store i32 %t287, ptr %t278 br i1 %t286, label %sc64, label %scend65 sc64: %t288 = load ptr, ptr %t1 %t289 = getelementptr inbounds %Cmp_Node, ptr %t288, i32 0, i32 4 %t290 = load ptr, ptr %t289 %t291 = getelementptr inbounds %Cmp_Node, ptr %t290, i32 0, i32 1 %t292 = load ptr, ptr %t291 %t293 = call i32 @lp_str_eq(ptr %t292, ptr @.str239) %t294 = icmp ne i32 %t293, 0 %t295 = zext i1 %t294 to i32 store i32 %t295, ptr %t278 br label %scend65 scend65: %t296 = load i32, ptr %t278 %t297 = icmp ne i32 %t296, 0 br i1 %t297, label %then66, label %ifend68 then66: store i32 1, ptr @g_g_uses_query br label %ifend68 ifend68: %t299 = load ptr, ptr %t1 %t300 = getelementptr inbounds %Cmp_Node, ptr %t299, i32 0, i32 4 %t301 = load ptr, ptr %t300 %t302 = getelementptr inbounds %Cmp_Node, ptr %t301, i32 0, i32 0 %t303 = load i32, ptr %t302 %t304 = icmp eq i32 %t303, 33 %t305 = zext i1 %t304 to i32 %t306 = icmp ne i32 %t305, 0 %t307 = zext i1 %t306 to i32 store i32 %t307, ptr %t298 br i1 %t306, label %sc69, label %scend70 sc69: %t308 = load ptr, ptr %t1 %t309 = getelementptr inbounds %Cmp_Node, ptr %t308, i32 0, i32 4 %t310 = load ptr, ptr %t309 %t311 = getelementptr inbounds %Cmp_Node, ptr %t310, i32 0, i32 1 %t312 = load ptr, ptr %t311 %t313 = call i32 @lp_str_eq(ptr %t312, ptr @.str240) %t314 = icmp ne i32 %t313, 0 %t315 = zext i1 %t314 to i32 store i32 %t315, ptr %t298 br label %scend70 scend70: %t316 = load i32, ptr %t298 %t317 = icmp ne i32 %t316, 0 br i1 %t317, label %then71, label %ifend73 then71: store i32 1, ptr @g_g_uses_reflect br label %ifend73 ifend73: %t319 = load ptr, ptr %t1 %t320 = getelementptr inbounds %Cmp_Node, ptr %t319, i32 0, i32 4 %t321 = load ptr, ptr %t320 %t322 = getelementptr inbounds %Cmp_Node, ptr %t321, i32 0, i32 0 %t323 = load i32, ptr %t322 %t324 = icmp eq i32 %t323, 33 %t325 = zext i1 %t324 to i32 %t326 = icmp ne i32 %t325, 0 %t327 = zext i1 %t326 to i32 store i32 %t327, ptr %t318 br i1 %t326, label %sc74, label %scend75 sc74: %t328 = load ptr, ptr %t1 %t329 = getelementptr inbounds %Cmp_Node, ptr %t328, i32 0, i32 4 %t330 = load ptr, ptr %t329 %t331 = getelementptr inbounds %Cmp_Node, ptr %t330, i32 0, i32 1 %t332 = load ptr, ptr %t331 %t333 = call i32 @lp_str_eq(ptr %t332, ptr @.str241) %t334 = icmp ne i32 %t333, 0 %t335 = zext i1 %t334 to i32 store i32 %t335, ptr %t318 br label %scend75 scend75: %t336 = load i32, ptr %t318 %t337 = icmp ne i32 %t336, 0 br i1 %t337, label %then76, label %ifend78 then76: store i32 1, ptr @g_g_uses_light br label %ifend78 ifend78: %t339 = load ptr, ptr %t1 %t340 = getelementptr inbounds %Cmp_Node, ptr %t339, i32 0, i32 4 %t341 = load ptr, ptr %t340 %t342 = getelementptr inbounds %Cmp_Node, ptr %t341, i32 0, i32 0 %t343 = load i32, ptr %t342 %t344 = icmp eq i32 %t343, 33 %t345 = zext i1 %t344 to i32 %t346 = icmp ne i32 %t345, 0 %t347 = zext i1 %t346 to i32 store i32 %t347, ptr %t338 br i1 %t346, label %sc79, label %scend80 sc79: %t349 = load ptr, ptr %t1 %t350 = getelementptr inbounds %Cmp_Node, ptr %t349, i32 0, i32 4 %t351 = load ptr, ptr %t350 %t352 = getelementptr inbounds %Cmp_Node, ptr %t351, i32 0, i32 1 %t353 = load ptr, ptr %t352 %t354 = call i32 @lp_str_eq(ptr %t353, ptr @.str242) %t355 = icmp ne i32 %t354, 0 %t356 = zext i1 %t355 to i32 store i32 %t356, ptr %t348 br i1 %t355, label %scend82, label %sc81 sc81: %t357 = load ptr, ptr %t1 %t358 = getelementptr inbounds %Cmp_Node, ptr %t357, i32 0, i32 4 %t359 = load ptr, ptr %t358 %t360 = getelementptr inbounds %Cmp_Node, ptr %t359, i32 0, i32 1 %t361 = load ptr, ptr %t360 %t362 = call i32 @lp_str_eq(ptr %t361, ptr @.str243) %t363 = icmp ne i32 %t362, 0 %t364 = zext i1 %t363 to i32 store i32 %t364, ptr %t348 br label %scend82 scend82: %t365 = load i32, ptr %t348 %t366 = icmp ne i32 %t365, 0 %t367 = zext i1 %t366 to i32 store i32 %t367, ptr %t338 br label %scend80 scend80: %t368 = load i32, ptr %t338 %t369 = icmp ne i32 %t368, 0 br i1 %t369, label %then83, label %ifend85 then83: store i32 1, ptr @g_g_uses_value br label %ifend85 ifend85: %t371 = load ptr, ptr %t1 %t372 = getelementptr inbounds %Cmp_Node, ptr %t371, i32 0, i32 4 %t373 = load ptr, ptr %t372 %t374 = getelementptr inbounds %Cmp_Node, ptr %t373, i32 0, i32 0 %t375 = load i32, ptr %t374 %t376 = icmp eq i32 %t375, 33 %t377 = zext i1 %t376 to i32 %t378 = icmp ne i32 %t377, 0 %t379 = zext i1 %t378 to i32 store i32 %t379, ptr %t370 br i1 %t378, label %sc86, label %scend87 sc86: %t380 = load ptr, ptr %t1 %t381 = getelementptr inbounds %Cmp_Node, ptr %t380, i32 0, i32 4 %t382 = load ptr, ptr %t381 %t383 = getelementptr inbounds %Cmp_Node, ptr %t382, i32 0, i32 1 %t384 = load ptr, ptr %t383 %t385 = call i32 @lp_str_eq(ptr %t384, ptr @.str244) %t386 = icmp ne i32 %t385, 0 %t387 = zext i1 %t386 to i32 store i32 %t387, ptr %t370 br label %scend87 scend87: %t388 = load i32, ptr %t370 %t389 = icmp ne i32 %t388, 0 br i1 %t389, label %then88, label %ifend90 then88: store i32 1, ptr @g_g_uses_xml br label %ifend90 ifend90: %t391 = load ptr, ptr %t1 %t392 = getelementptr inbounds %Cmp_Node, ptr %t391, i32 0, i32 4 %t393 = load ptr, ptr %t392 %t394 = getelementptr inbounds %Cmp_Node, ptr %t393, i32 0, i32 0 %t395 = load i32, ptr %t394 %t396 = icmp eq i32 %t395, 33 %t397 = zext i1 %t396 to i32 %t398 = icmp ne i32 %t397, 0 %t399 = zext i1 %t398 to i32 store i32 %t399, ptr %t390 br i1 %t398, label %sc91, label %scend92 sc91: %t400 = load ptr, ptr %t1 %t401 = getelementptr inbounds %Cmp_Node, ptr %t400, i32 0, i32 4 %t402 = load ptr, ptr %t401 %t403 = getelementptr inbounds %Cmp_Node, ptr %t402, i32 0, i32 1 %t404 = load ptr, ptr %t403 %t405 = call i32 @lp_str_eq(ptr %t404, ptr @.str245) %t406 = icmp ne i32 %t405, 0 %t407 = zext i1 %t406 to i32 store i32 %t407, ptr %t390 br label %scend92 scend92: %t408 = load i32, ptr %t390 %t409 = icmp ne i32 %t408, 0 br i1 %t409, label %then93, label %ifend95 then93: store i32 1, ptr @g_g_uses_base64 br label %ifend95 ifend95: %t411 = load ptr, ptr %t1 %t412 = getelementptr inbounds %Cmp_Node, ptr %t411, i32 0, i32 4 %t413 = load ptr, ptr %t412 %t414 = getelementptr inbounds %Cmp_Node, ptr %t413, i32 0, i32 0 %t415 = load i32, ptr %t414 %t416 = icmp eq i32 %t415, 33 %t417 = zext i1 %t416 to i32 %t418 = icmp ne i32 %t417, 0 %t419 = zext i1 %t418 to i32 store i32 %t419, ptr %t410 br i1 %t418, label %sc96, label %scend97 sc96: %t420 = load ptr, ptr %t1 %t421 = getelementptr inbounds %Cmp_Node, ptr %t420, i32 0, i32 4 %t422 = load ptr, ptr %t421 %t423 = getelementptr inbounds %Cmp_Node, ptr %t422, i32 0, i32 1 %t424 = load ptr, ptr %t423 %t425 = call i32 @lp_str_eq(ptr %t424, ptr @.str246) %t426 = icmp ne i32 %t425, 0 %t427 = zext i1 %t426 to i32 store i32 %t427, ptr %t410 br label %scend97 scend97: %t428 = load i32, ptr %t410 %t429 = icmp ne i32 %t428, 0 br i1 %t429, label %then98, label %ifend100 then98: store i32 1, ptr @g_g_uses_tiled br label %ifend100 ifend100: %t432 = load ptr, ptr %t1 %t433 = getelementptr inbounds %Cmp_Node, ptr %t432, i32 0, i32 4 %t434 = load ptr, ptr %t433 %t435 = getelementptr inbounds %Cmp_Node, ptr %t434, i32 0, i32 0 %t436 = load i32, ptr %t435 %t437 = icmp eq i32 %t436, 33 %t438 = zext i1 %t437 to i32 %t439 = icmp ne i32 %t438, 0 %t440 = zext i1 %t439 to i32 store i32 %t440, ptr %t431 br i1 %t439, label %sc101, label %scend102 sc101: %t441 = load ptr, ptr %t1 %t442 = getelementptr inbounds %Cmp_Node, ptr %t441, i32 0, i32 4 %t443 = load ptr, ptr %t442 %t444 = getelementptr inbounds %Cmp_Node, ptr %t443, i32 0, i32 1 %t445 = load ptr, ptr %t444 %t446 = call i32 @lp_str_eq(ptr %t445, ptr @.str247) %t447 = icmp ne i32 %t446, 0 %t448 = zext i1 %t447 to i32 store i32 %t448, ptr %t431 br label %scend102 scend102: %t449 = load i32, ptr %t431 %t450 = icmp ne i32 %t449, 0 %t451 = zext i1 %t450 to i32 store i32 %t451, ptr %t430 br i1 %t450, label %sc103, label %scend104 sc103: %t460 = load ptr, ptr %t1 %t461 = getelementptr inbounds %Cmp_Node, ptr %t460, i32 0, i32 1 %t462 = load ptr, ptr %t461 %t463 = call i32 @lp_str_eq(ptr %t462, ptr @.str248) %t464 = icmp ne i32 %t463, 0 %t465 = zext i1 %t464 to i32 store i32 %t465, ptr %t459 br i1 %t464, label %scend106, label %sc105 sc105: %t466 = load ptr, ptr %t1 %t467 = getelementptr inbounds %Cmp_Node, ptr %t466, i32 0, i32 1 %t468 = load ptr, ptr %t467 %t469 = call i32 @lp_str_eq(ptr %t468, ptr @.str249) %t470 = icmp ne i32 %t469, 0 %t471 = zext i1 %t470 to i32 store i32 %t471, ptr %t459 br label %scend106 scend106: %t472 = load i32, ptr %t459 %t473 = icmp ne i32 %t472, 0 %t474 = zext i1 %t473 to i32 store i32 %t474, ptr %t458 br i1 %t473, label %scend108, label %sc107 sc107: %t475 = load ptr, ptr %t1 %t476 = getelementptr inbounds %Cmp_Node, ptr %t475, i32 0, i32 1 %t477 = load ptr, ptr %t476 %t478 = call i32 @lp_str_eq(ptr %t477, ptr @.str250) %t479 = icmp ne i32 %t478, 0 %t480 = zext i1 %t479 to i32 store i32 %t480, ptr %t458 br label %scend108 scend108: %t481 = load i32, ptr %t458 %t482 = icmp ne i32 %t481, 0 %t483 = zext i1 %t482 to i32 store i32 %t483, ptr %t457 br i1 %t482, label %scend110, label %sc109 sc109: %t484 = load ptr, ptr %t1 %t485 = getelementptr inbounds %Cmp_Node, ptr %t484, i32 0, i32 1 %t486 = load ptr, ptr %t485 %t487 = call i32 @lp_str_eq(ptr %t486, ptr @.str251) %t488 = icmp ne i32 %t487, 0 %t489 = zext i1 %t488 to i32 store i32 %t489, ptr %t457 br label %scend110 scend110: %t490 = load i32, ptr %t457 %t491 = icmp ne i32 %t490, 0 %t492 = zext i1 %t491 to i32 store i32 %t492, ptr %t456 br i1 %t491, label %scend112, label %sc111 sc111: %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 @.str252) %t497 = icmp ne i32 %t496, 0 %t498 = zext i1 %t497 to i32 store i32 %t498, ptr %t456 br label %scend112 scend112: %t499 = load i32, ptr %t456 %t500 = icmp ne i32 %t499, 0 %t501 = zext i1 %t500 to i32 store i32 %t501, ptr %t455 br i1 %t500, label %scend114, label %sc113 sc113: %t502 = load ptr, ptr %t1 %t503 = getelementptr inbounds %Cmp_Node, ptr %t502, i32 0, i32 1 %t504 = load ptr, ptr %t503 %t505 = call i32 @lp_str_eq(ptr %t504, ptr @.str253) %t506 = icmp ne i32 %t505, 0 %t507 = zext i1 %t506 to i32 store i32 %t507, ptr %t455 br label %scend114 scend114: %t508 = load i32, ptr %t455 %t509 = icmp ne i32 %t508, 0 %t510 = zext i1 %t509 to i32 store i32 %t510, ptr %t454 br i1 %t509, label %scend116, label %sc115 sc115: %t511 = load ptr, ptr %t1 %t512 = getelementptr inbounds %Cmp_Node, ptr %t511, i32 0, i32 1 %t513 = load ptr, ptr %t512 %t514 = call i32 @lp_str_eq(ptr %t513, ptr @.str254) %t515 = icmp ne i32 %t514, 0 %t516 = zext i1 %t515 to i32 store i32 %t516, ptr %t454 br label %scend116 scend116: %t517 = load i32, ptr %t454 %t518 = icmp ne i32 %t517, 0 %t519 = zext i1 %t518 to i32 store i32 %t519, ptr %t453 br i1 %t518, label %scend118, label %sc117 sc117: %t520 = load ptr, ptr %t1 %t521 = getelementptr inbounds %Cmp_Node, ptr %t520, i32 0, i32 1 %t522 = load ptr, ptr %t521 %t523 = call i32 @lp_str_eq(ptr %t522, ptr @.str255) %t524 = icmp ne i32 %t523, 0 %t525 = zext i1 %t524 to i32 store i32 %t525, ptr %t453 br label %scend118 scend118: %t526 = load i32, ptr %t453 %t527 = icmp ne i32 %t526, 0 %t528 = zext i1 %t527 to i32 store i32 %t528, ptr %t452 br i1 %t527, label %scend120, label %sc119 sc119: %t529 = load ptr, ptr %t1 %t530 = getelementptr inbounds %Cmp_Node, ptr %t529, i32 0, i32 1 %t531 = load ptr, ptr %t530 %t532 = call i32 @lp_str_eq(ptr %t531, ptr @.str256) %t533 = icmp ne i32 %t532, 0 %t534 = zext i1 %t533 to i32 store i32 %t534, ptr %t452 br label %scend120 scend120: %t535 = load i32, ptr %t452 %t536 = icmp ne i32 %t535, 0 %t537 = zext i1 %t536 to i32 store i32 %t537, ptr %t430 br label %scend104 scend104: %t538 = load i32, ptr %t430 %t539 = icmp ne i32 %t538, 0 br i1 %t539, label %then121, label %ifend123 then121: store i32 1, ptr @g_g_uses_atlas br label %ifend123 ifend123: %t541 = load ptr, ptr %t1 %t542 = getelementptr inbounds %Cmp_Node, ptr %t541, i32 0, i32 4 %t543 = load ptr, ptr %t542 %t544 = getelementptr inbounds %Cmp_Node, ptr %t543, i32 0, i32 0 %t545 = load i32, ptr %t544 %t546 = icmp eq i32 %t545, 33 %t547 = zext i1 %t546 to i32 %t548 = icmp ne i32 %t547, 0 %t549 = zext i1 %t548 to i32 store i32 %t549, ptr %t540 br i1 %t548, label %sc124, label %scend125 sc124: %t550 = load ptr, ptr %t1 %t551 = getelementptr inbounds %Cmp_Node, ptr %t550, i32 0, i32 4 %t552 = load ptr, ptr %t551 %t553 = getelementptr inbounds %Cmp_Node, ptr %t552, i32 0, i32 1 %t554 = load ptr, ptr %t553 %t555 = call i32 @lp_str_eq(ptr %t554, ptr @.str257) %t556 = icmp ne i32 %t555, 0 %t557 = zext i1 %t556 to i32 store i32 %t557, ptr %t540 br label %scend125 scend125: %t558 = load i32, ptr %t540 %t559 = icmp ne i32 %t558, 0 br i1 %t559, label %then126, label %ifend128 then126: store i32 1, ptr @g_g_uses_atlas br label %ifend128 ifend128: %t562 = load ptr, ptr %t1 %t563 = getelementptr inbounds %Cmp_Node, ptr %t562, i32 0, i32 4 %t564 = load ptr, ptr %t563 %t565 = getelementptr inbounds %Cmp_Node, ptr %t564, i32 0, i32 0 %t566 = load i32, ptr %t565 %t567 = icmp eq i32 %t566, 33 %t568 = zext i1 %t567 to i32 %t569 = icmp ne i32 %t568, 0 %t570 = zext i1 %t569 to i32 store i32 %t570, ptr %t561 br i1 %t569, label %sc129, label %scend130 sc129: %t571 = load ptr, ptr %t1 %t572 = getelementptr inbounds %Cmp_Node, ptr %t571, i32 0, i32 4 %t573 = load ptr, ptr %t572 %t574 = getelementptr inbounds %Cmp_Node, ptr %t573, i32 0, i32 1 %t575 = load ptr, ptr %t574 %t576 = call i32 @lp_str_eq(ptr %t575, ptr @.str258) %t577 = icmp ne i32 %t576, 0 %t578 = zext i1 %t577 to i32 store i32 %t578, ptr %t561 br label %scend130 scend130: %t579 = load i32, ptr %t561 %t580 = icmp ne i32 %t579, 0 %t581 = zext i1 %t580 to i32 store i32 %t581, ptr %t560 br i1 %t580, label %sc131, label %scend132 sc131: %t583 = load ptr, ptr %t1 %t584 = getelementptr inbounds %Cmp_Node, ptr %t583, i32 0, i32 1 %t585 = load ptr, ptr %t584 %t586 = call i32 @lp_str_eq(ptr %t585, ptr @.str259) %t587 = icmp ne i32 %t586, 0 %t588 = zext i1 %t587 to i32 store i32 %t588, ptr %t582 br i1 %t587, label %scend134, label %sc133 sc133: %t589 = load ptr, ptr %t1 %t590 = getelementptr inbounds %Cmp_Node, ptr %t589, i32 0, i32 1 %t591 = load ptr, ptr %t590 %t592 = call i32 @lp_str_eq(ptr %t591, ptr @.str260) %t593 = icmp ne i32 %t592, 0 %t594 = zext i1 %t593 to i32 store i32 %t594, ptr %t582 br label %scend134 scend134: %t595 = load i32, ptr %t582 %t596 = icmp ne i32 %t595, 0 %t597 = zext i1 %t596 to i32 store i32 %t597, ptr %t560 br label %scend132 scend132: %t598 = load i32, ptr %t560 %t599 = icmp ne i32 %t598, 0 br i1 %t599, label %then135, label %ifend137 then135: store i32 1, ptr @g_g_uses_value store i32 1, ptr @g_g_uses_reflect_io br label %ifend137 ifend137: %t602 = load ptr, ptr %t1 %t603 = getelementptr inbounds %Cmp_Node, ptr %t602, i32 0, i32 4 %t604 = load ptr, ptr %t603 %t605 = getelementptr inbounds %Cmp_Node, ptr %t604, i32 0, i32 0 %t606 = load i32, ptr %t605 %t607 = icmp eq i32 %t606, 33 %t608 = zext i1 %t607 to i32 %t609 = icmp ne i32 %t608, 0 %t610 = zext i1 %t609 to i32 store i32 %t610, ptr %t601 br i1 %t609, label %sc138, label %scend139 sc138: %t611 = load ptr, ptr %t1 %t612 = getelementptr inbounds %Cmp_Node, ptr %t611, i32 0, i32 4 %t613 = load ptr, ptr %t612 %t614 = getelementptr inbounds %Cmp_Node, ptr %t613, i32 0, i32 1 %t615 = load ptr, ptr %t614 %t616 = call i32 @lp_str_eq(ptr %t615, ptr @.str261) %t617 = icmp ne i32 %t616, 0 %t618 = zext i1 %t617 to i32 store i32 %t618, ptr %t601 br label %scend139 scend139: %t619 = load i32, ptr %t601 %t620 = icmp ne i32 %t619, 0 %t621 = zext i1 %t620 to i32 store i32 %t621, ptr %t600 br i1 %t620, label %sc140, label %scend141 sc140: %t633 = load ptr, ptr %t1 %t634 = getelementptr inbounds %Cmp_Node, ptr %t633, i32 0, i32 1 %t635 = load ptr, ptr %t634 %t636 = call i32 @lp_str_eq(ptr %t635, ptr @.str262) %t637 = icmp ne i32 %t636, 0 %t638 = zext i1 %t637 to i32 store i32 %t638, ptr %t632 br i1 %t637, label %scend143, label %sc142 sc142: %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 @.str263) %t643 = icmp ne i32 %t642, 0 %t644 = zext i1 %t643 to i32 store i32 %t644, ptr %t632 br label %scend143 scend143: %t645 = load i32, ptr %t632 %t646 = icmp ne i32 %t645, 0 %t647 = zext i1 %t646 to i32 store i32 %t647, ptr %t631 br i1 %t646, label %scend145, label %sc144 sc144: %t648 = load ptr, ptr %t1 %t649 = getelementptr inbounds %Cmp_Node, ptr %t648, i32 0, i32 1 %t650 = load ptr, ptr %t649 %t651 = call i32 @lp_str_eq(ptr %t650, ptr @.str264) %t652 = icmp ne i32 %t651, 0 %t653 = zext i1 %t652 to i32 store i32 %t653, ptr %t631 br label %scend145 scend145: %t654 = load i32, ptr %t631 %t655 = icmp ne i32 %t654, 0 %t656 = zext i1 %t655 to i32 store i32 %t656, ptr %t630 br i1 %t655, label %scend147, label %sc146 sc146: %t657 = load ptr, ptr %t1 %t658 = getelementptr inbounds %Cmp_Node, ptr %t657, i32 0, i32 1 %t659 = load ptr, ptr %t658 %t660 = call i32 @lp_str_eq(ptr %t659, ptr @.str265) %t661 = icmp ne i32 %t660, 0 %t662 = zext i1 %t661 to i32 store i32 %t662, ptr %t630 br label %scend147 scend147: %t663 = load i32, ptr %t630 %t664 = icmp ne i32 %t663, 0 %t665 = zext i1 %t664 to i32 store i32 %t665, ptr %t629 br i1 %t664, label %scend149, label %sc148 sc148: %t666 = load ptr, ptr %t1 %t667 = getelementptr inbounds %Cmp_Node, ptr %t666, i32 0, i32 1 %t668 = load ptr, ptr %t667 %t669 = call i32 @lp_str_eq(ptr %t668, ptr @.str266) %t670 = icmp ne i32 %t669, 0 %t671 = zext i1 %t670 to i32 store i32 %t671, ptr %t629 br label %scend149 scend149: %t672 = load i32, ptr %t629 %t673 = icmp ne i32 %t672, 0 %t674 = zext i1 %t673 to i32 store i32 %t674, ptr %t628 br i1 %t673, label %scend151, label %sc150 sc150: %t675 = load ptr, ptr %t1 %t676 = getelementptr inbounds %Cmp_Node, ptr %t675, i32 0, i32 1 %t677 = load ptr, ptr %t676 %t678 = call i32 @lp_str_eq(ptr %t677, ptr @.str267) %t679 = icmp ne i32 %t678, 0 %t680 = zext i1 %t679 to i32 store i32 %t680, ptr %t628 br label %scend151 scend151: %t681 = load i32, ptr %t628 %t682 = icmp ne i32 %t681, 0 %t683 = zext i1 %t682 to i32 store i32 %t683, ptr %t627 br i1 %t682, label %scend153, label %sc152 sc152: %t684 = load ptr, ptr %t1 %t685 = getelementptr inbounds %Cmp_Node, ptr %t684, i32 0, i32 1 %t686 = load ptr, ptr %t685 %t687 = call i32 @lp_str_eq(ptr %t686, ptr @.str268) %t688 = icmp ne i32 %t687, 0 %t689 = zext i1 %t688 to i32 store i32 %t689, ptr %t627 br label %scend153 scend153: %t690 = load i32, ptr %t627 %t691 = icmp ne i32 %t690, 0 %t692 = zext i1 %t691 to i32 store i32 %t692, ptr %t626 br i1 %t691, label %scend155, label %sc154 sc154: %t693 = load ptr, ptr %t1 %t694 = getelementptr inbounds %Cmp_Node, ptr %t693, i32 0, i32 1 %t695 = load ptr, ptr %t694 %t696 = call i32 @lp_str_eq(ptr %t695, ptr @.str269) %t697 = icmp ne i32 %t696, 0 %t698 = zext i1 %t697 to i32 store i32 %t698, ptr %t626 br label %scend155 scend155: %t699 = load i32, ptr %t626 %t700 = icmp ne i32 %t699, 0 %t701 = zext i1 %t700 to i32 store i32 %t701, ptr %t625 br i1 %t700, label %scend157, label %sc156 sc156: %t702 = load ptr, ptr %t1 %t703 = getelementptr inbounds %Cmp_Node, ptr %t702, i32 0, i32 1 %t704 = load ptr, ptr %t703 %t705 = call i32 @lp_str_eq(ptr %t704, ptr @.str270) %t706 = icmp ne i32 %t705, 0 %t707 = zext i1 %t706 to i32 store i32 %t707, ptr %t625 br label %scend157 scend157: %t708 = load i32, ptr %t625 %t709 = icmp ne i32 %t708, 0 %t710 = zext i1 %t709 to i32 store i32 %t710, ptr %t624 br i1 %t709, label %scend159, label %sc158 sc158: %t711 = load ptr, ptr %t1 %t712 = getelementptr inbounds %Cmp_Node, ptr %t711, i32 0, i32 1 %t713 = load ptr, ptr %t712 %t714 = call i32 @lp_str_eq(ptr %t713, ptr @.str271) %t715 = icmp ne i32 %t714, 0 %t716 = zext i1 %t715 to i32 store i32 %t716, ptr %t624 br label %scend159 scend159: %t717 = load i32, ptr %t624 %t718 = icmp ne i32 %t717, 0 %t719 = zext i1 %t718 to i32 store i32 %t719, ptr %t623 br i1 %t718, label %scend161, label %sc160 sc160: %t720 = load ptr, ptr %t1 %t721 = getelementptr inbounds %Cmp_Node, ptr %t720, i32 0, i32 1 %t722 = load ptr, ptr %t721 %t723 = call i32 @lp_str_eq(ptr %t722, ptr @.str272) %t724 = icmp ne i32 %t723, 0 %t725 = zext i1 %t724 to i32 store i32 %t725, ptr %t623 br label %scend161 scend161: %t726 = load i32, ptr %t623 %t727 = icmp ne i32 %t726, 0 %t728 = zext i1 %t727 to i32 store i32 %t728, ptr %t622 br i1 %t727, label %scend163, label %sc162 sc162: %t729 = load ptr, ptr %t1 %t730 = getelementptr inbounds %Cmp_Node, ptr %t729, i32 0, i32 1 %t731 = load ptr, ptr %t730 %t732 = call i32 @lp_str_eq(ptr %t731, ptr @.str273) %t733 = icmp ne i32 %t732, 0 %t734 = zext i1 %t733 to i32 store i32 %t734, ptr %t622 br label %scend163 scend163: %t735 = load i32, ptr %t622 %t736 = icmp ne i32 %t735, 0 %t737 = zext i1 %t736 to i32 store i32 %t737, ptr %t600 br label %scend141 scend141: %t738 = load i32, ptr %t600 %t739 = icmp ne i32 %t738, 0 br i1 %t739, label %then164, label %ifend166 then164: store i32 1, ptr @g_g_uses_input br label %ifend166 ifend166: %t742 = load ptr, ptr %t1 %t743 = getelementptr inbounds %Cmp_Node, ptr %t742, i32 0, i32 4 %t744 = load ptr, ptr %t743 %t745 = getelementptr inbounds %Cmp_Node, ptr %t744, i32 0, i32 0 %t746 = load i32, ptr %t745 %t747 = icmp eq i32 %t746, 33 %t748 = zext i1 %t747 to i32 %t749 = icmp ne i32 %t748, 0 %t750 = zext i1 %t749 to i32 store i32 %t750, ptr %t741 br i1 %t749, label %sc167, label %scend168 sc167: %t751 = load ptr, ptr %t1 %t752 = getelementptr inbounds %Cmp_Node, ptr %t751, i32 0, i32 4 %t753 = load ptr, ptr %t752 %t754 = getelementptr inbounds %Cmp_Node, ptr %t753, i32 0, i32 1 %t755 = load ptr, ptr %t754 %t756 = call i32 @lp_str_eq(ptr %t755, ptr @.str274) %t757 = icmp ne i32 %t756, 0 %t758 = zext i1 %t757 to i32 store i32 %t758, ptr %t741 br label %scend168 scend168: %t759 = load i32, ptr %t741 %t760 = icmp ne i32 %t759, 0 %t761 = zext i1 %t760 to i32 store i32 %t761, ptr %t740 br i1 %t760, label %sc169, label %scend170 sc169: %t788 = load ptr, ptr %t1 %t789 = getelementptr inbounds %Cmp_Node, ptr %t788, i32 0, i32 1 %t790 = load ptr, ptr %t789 %t791 = call i32 @lp_str_eq(ptr %t790, ptr @.str275) %t792 = icmp ne i32 %t791, 0 %t793 = zext i1 %t792 to i32 store i32 %t793, ptr %t787 br i1 %t792, label %scend172, label %sc171 sc171: %t794 = load ptr, ptr %t1 %t795 = getelementptr inbounds %Cmp_Node, ptr %t794, i32 0, i32 1 %t796 = load ptr, ptr %t795 %t797 = call i32 @lp_str_eq(ptr %t796, ptr @.str276) %t798 = icmp ne i32 %t797, 0 %t799 = zext i1 %t798 to i32 store i32 %t799, ptr %t787 br label %scend172 scend172: %t800 = load i32, ptr %t787 %t801 = icmp ne i32 %t800, 0 %t802 = zext i1 %t801 to i32 store i32 %t802, ptr %t786 br i1 %t801, label %scend174, label %sc173 sc173: %t803 = load ptr, ptr %t1 %t804 = getelementptr inbounds %Cmp_Node, ptr %t803, i32 0, i32 1 %t805 = load ptr, ptr %t804 %t806 = call i32 @lp_str_eq(ptr %t805, ptr @.str277) %t807 = icmp ne i32 %t806, 0 %t808 = zext i1 %t807 to i32 store i32 %t808, ptr %t786 br label %scend174 scend174: %t809 = load i32, ptr %t786 %t810 = icmp ne i32 %t809, 0 %t811 = zext i1 %t810 to i32 store i32 %t811, ptr %t785 br i1 %t810, label %scend176, label %sc175 sc175: %t812 = load ptr, ptr %t1 %t813 = getelementptr inbounds %Cmp_Node, ptr %t812, i32 0, i32 1 %t814 = load ptr, ptr %t813 %t815 = call i32 @lp_str_eq(ptr %t814, ptr @.str278) %t816 = icmp ne i32 %t815, 0 %t817 = zext i1 %t816 to i32 store i32 %t817, ptr %t785 br label %scend176 scend176: %t818 = load i32, ptr %t785 %t819 = icmp ne i32 %t818, 0 %t820 = zext i1 %t819 to i32 store i32 %t820, ptr %t784 br i1 %t819, label %scend178, label %sc177 sc177: %t821 = load ptr, ptr %t1 %t822 = getelementptr inbounds %Cmp_Node, ptr %t821, i32 0, i32 1 %t823 = load ptr, ptr %t822 %t824 = call i32 @lp_str_eq(ptr %t823, ptr @.str279) %t825 = icmp ne i32 %t824, 0 %t826 = zext i1 %t825 to i32 store i32 %t826, ptr %t784 br label %scend178 scend178: %t827 = load i32, ptr %t784 %t828 = icmp ne i32 %t827, 0 %t829 = zext i1 %t828 to i32 store i32 %t829, ptr %t783 br i1 %t828, label %scend180, label %sc179 sc179: %t830 = load ptr, ptr %t1 %t831 = getelementptr inbounds %Cmp_Node, ptr %t830, i32 0, i32 1 %t832 = load ptr, ptr %t831 %t833 = call i32 @lp_str_eq(ptr %t832, ptr @.str280) %t834 = icmp ne i32 %t833, 0 %t835 = zext i1 %t834 to i32 store i32 %t835, ptr %t783 br label %scend180 scend180: %t836 = load i32, ptr %t783 %t837 = icmp ne i32 %t836, 0 %t838 = zext i1 %t837 to i32 store i32 %t838, ptr %t782 br i1 %t837, label %scend182, label %sc181 sc181: %t839 = load ptr, ptr %t1 %t840 = getelementptr inbounds %Cmp_Node, ptr %t839, i32 0, i32 1 %t841 = load ptr, ptr %t840 %t842 = call i32 @lp_str_eq(ptr %t841, ptr @.str281) %t843 = icmp ne i32 %t842, 0 %t844 = zext i1 %t843 to i32 store i32 %t844, ptr %t782 br label %scend182 scend182: %t845 = load i32, ptr %t782 %t846 = icmp ne i32 %t845, 0 %t847 = zext i1 %t846 to i32 store i32 %t847, ptr %t781 br i1 %t846, label %scend184, label %sc183 sc183: %t848 = load ptr, ptr %t1 %t849 = getelementptr inbounds %Cmp_Node, ptr %t848, i32 0, i32 1 %t850 = load ptr, ptr %t849 %t851 = call i32 @lp_str_eq(ptr %t850, ptr @.str282) %t852 = icmp ne i32 %t851, 0 %t853 = zext i1 %t852 to i32 store i32 %t853, ptr %t781 br label %scend184 scend184: %t854 = load i32, ptr %t781 %t855 = icmp ne i32 %t854, 0 %t856 = zext i1 %t855 to i32 store i32 %t856, ptr %t780 br i1 %t855, label %scend186, label %sc185 sc185: %t857 = load ptr, ptr %t1 %t858 = getelementptr inbounds %Cmp_Node, ptr %t857, i32 0, i32 1 %t859 = load ptr, ptr %t858 %t860 = call i32 @lp_str_eq(ptr %t859, ptr @.str283) %t861 = icmp ne i32 %t860, 0 %t862 = zext i1 %t861 to i32 store i32 %t862, ptr %t780 br label %scend186 scend186: %t863 = load i32, ptr %t780 %t864 = icmp ne i32 %t863, 0 %t865 = zext i1 %t864 to i32 store i32 %t865, ptr %t779 br i1 %t864, label %scend188, label %sc187 sc187: %t866 = load ptr, ptr %t1 %t867 = getelementptr inbounds %Cmp_Node, ptr %t866, i32 0, i32 1 %t868 = load ptr, ptr %t867 %t869 = call i32 @lp_str_eq(ptr %t868, ptr @.str284) %t870 = icmp ne i32 %t869, 0 %t871 = zext i1 %t870 to i32 store i32 %t871, ptr %t779 br label %scend188 scend188: %t872 = load i32, ptr %t779 %t873 = icmp ne i32 %t872, 0 %t874 = zext i1 %t873 to i32 store i32 %t874, ptr %t778 br i1 %t873, label %scend190, label %sc189 sc189: %t875 = load ptr, ptr %t1 %t876 = getelementptr inbounds %Cmp_Node, ptr %t875, i32 0, i32 1 %t877 = load ptr, ptr %t876 %t878 = call i32 @lp_str_eq(ptr %t877, ptr @.str285) %t879 = icmp ne i32 %t878, 0 %t880 = zext i1 %t879 to i32 store i32 %t880, ptr %t778 br label %scend190 scend190: %t881 = load i32, ptr %t778 %t882 = icmp ne i32 %t881, 0 %t883 = zext i1 %t882 to i32 store i32 %t883, ptr %t777 br i1 %t882, label %scend192, label %sc191 sc191: %t884 = load ptr, ptr %t1 %t885 = getelementptr inbounds %Cmp_Node, ptr %t884, i32 0, i32 1 %t886 = load ptr, ptr %t885 %t887 = call i32 @lp_str_eq(ptr %t886, ptr @.str286) %t888 = icmp ne i32 %t887, 0 %t889 = zext i1 %t888 to i32 store i32 %t889, ptr %t777 br label %scend192 scend192: %t890 = load i32, ptr %t777 %t891 = icmp ne i32 %t890, 0 %t892 = zext i1 %t891 to i32 store i32 %t892, ptr %t776 br i1 %t891, label %scend194, label %sc193 sc193: %t893 = load ptr, ptr %t1 %t894 = getelementptr inbounds %Cmp_Node, ptr %t893, i32 0, i32 1 %t895 = load ptr, ptr %t894 %t896 = call i32 @lp_str_eq(ptr %t895, ptr @.str287) %t897 = icmp ne i32 %t896, 0 %t898 = zext i1 %t897 to i32 store i32 %t898, ptr %t776 br label %scend194 scend194: %t899 = load i32, ptr %t776 %t900 = icmp ne i32 %t899, 0 %t901 = zext i1 %t900 to i32 store i32 %t901, ptr %t775 br i1 %t900, label %scend196, label %sc195 sc195: %t902 = load ptr, ptr %t1 %t903 = getelementptr inbounds %Cmp_Node, ptr %t902, i32 0, i32 1 %t904 = load ptr, ptr %t903 %t905 = call i32 @lp_str_eq(ptr %t904, ptr @.str288) %t906 = icmp ne i32 %t905, 0 %t907 = zext i1 %t906 to i32 store i32 %t907, ptr %t775 br label %scend196 scend196: %t908 = load i32, ptr %t775 %t909 = icmp ne i32 %t908, 0 %t910 = zext i1 %t909 to i32 store i32 %t910, ptr %t774 br i1 %t909, label %scend198, label %sc197 sc197: %t911 = load ptr, ptr %t1 %t912 = getelementptr inbounds %Cmp_Node, ptr %t911, i32 0, i32 1 %t913 = load ptr, ptr %t912 %t914 = call i32 @lp_str_eq(ptr %t913, ptr @.str289) %t915 = icmp ne i32 %t914, 0 %t916 = zext i1 %t915 to i32 store i32 %t916, ptr %t774 br label %scend198 scend198: %t917 = load i32, ptr %t774 %t918 = icmp ne i32 %t917, 0 %t919 = zext i1 %t918 to i32 store i32 %t919, ptr %t773 br i1 %t918, label %scend200, label %sc199 sc199: %t920 = load ptr, ptr %t1 %t921 = getelementptr inbounds %Cmp_Node, ptr %t920, i32 0, i32 1 %t922 = load ptr, ptr %t921 %t923 = call i32 @lp_str_eq(ptr %t922, ptr @.str290) %t924 = icmp ne i32 %t923, 0 %t925 = zext i1 %t924 to i32 store i32 %t925, ptr %t773 br label %scend200 scend200: %t926 = load i32, ptr %t773 %t927 = icmp ne i32 %t926, 0 %t928 = zext i1 %t927 to i32 store i32 %t928, ptr %t772 br i1 %t927, label %scend202, label %sc201 sc201: %t929 = load ptr, ptr %t1 %t930 = getelementptr inbounds %Cmp_Node, ptr %t929, i32 0, i32 1 %t931 = load ptr, ptr %t930 %t932 = call i32 @lp_str_eq(ptr %t931, ptr @.str291) %t933 = icmp ne i32 %t932, 0 %t934 = zext i1 %t933 to i32 store i32 %t934, ptr %t772 br label %scend202 scend202: %t935 = load i32, ptr %t772 %t936 = icmp ne i32 %t935, 0 %t937 = zext i1 %t936 to i32 store i32 %t937, ptr %t771 br i1 %t936, label %scend204, label %sc203 sc203: %t938 = load ptr, ptr %t1 %t939 = getelementptr inbounds %Cmp_Node, ptr %t938, i32 0, i32 1 %t940 = load ptr, ptr %t939 %t941 = call i32 @lp_str_eq(ptr %t940, ptr @.str292) %t942 = icmp ne i32 %t941, 0 %t943 = zext i1 %t942 to i32 store i32 %t943, ptr %t771 br label %scend204 scend204: %t944 = load i32, ptr %t771 %t945 = icmp ne i32 %t944, 0 %t946 = zext i1 %t945 to i32 store i32 %t946, ptr %t770 br i1 %t945, label %scend206, label %sc205 sc205: %t947 = load ptr, ptr %t1 %t948 = getelementptr inbounds %Cmp_Node, ptr %t947, i32 0, i32 1 %t949 = load ptr, ptr %t948 %t950 = call i32 @lp_str_eq(ptr %t949, ptr @.str293) %t951 = icmp ne i32 %t950, 0 %t952 = zext i1 %t951 to i32 store i32 %t952, ptr %t770 br label %scend206 scend206: %t953 = load i32, ptr %t770 %t954 = icmp ne i32 %t953, 0 %t955 = zext i1 %t954 to i32 store i32 %t955, ptr %t769 br i1 %t954, label %scend208, label %sc207 sc207: %t956 = load ptr, ptr %t1 %t957 = getelementptr inbounds %Cmp_Node, ptr %t956, i32 0, i32 1 %t958 = load ptr, ptr %t957 %t959 = call i32 @lp_str_eq(ptr %t958, ptr @.str294) %t960 = icmp ne i32 %t959, 0 %t961 = zext i1 %t960 to i32 store i32 %t961, ptr %t769 br label %scend208 scend208: %t962 = load i32, ptr %t769 %t963 = icmp ne i32 %t962, 0 %t964 = zext i1 %t963 to i32 store i32 %t964, ptr %t768 br i1 %t963, label %scend210, label %sc209 sc209: %t965 = load ptr, ptr %t1 %t966 = getelementptr inbounds %Cmp_Node, ptr %t965, i32 0, i32 1 %t967 = load ptr, ptr %t966 %t968 = call i32 @lp_str_eq(ptr %t967, ptr @.str295) %t969 = icmp ne i32 %t968, 0 %t970 = zext i1 %t969 to i32 store i32 %t970, ptr %t768 br label %scend210 scend210: %t971 = load i32, ptr %t768 %t972 = icmp ne i32 %t971, 0 %t973 = zext i1 %t972 to i32 store i32 %t973, ptr %t767 br i1 %t972, label %scend212, label %sc211 sc211: %t974 = load ptr, ptr %t1 %t975 = getelementptr inbounds %Cmp_Node, ptr %t974, i32 0, i32 1 %t976 = load ptr, ptr %t975 %t977 = call i32 @lp_str_eq(ptr %t976, ptr @.str296) %t978 = icmp ne i32 %t977, 0 %t979 = zext i1 %t978 to i32 store i32 %t979, ptr %t767 br label %scend212 scend212: %t980 = load i32, ptr %t767 %t981 = icmp ne i32 %t980, 0 %t982 = zext i1 %t981 to i32 store i32 %t982, ptr %t766 br i1 %t981, label %scend214, label %sc213 sc213: %t983 = load ptr, ptr %t1 %t984 = getelementptr inbounds %Cmp_Node, ptr %t983, i32 0, i32 1 %t985 = load ptr, ptr %t984 %t986 = call i32 @lp_str_eq(ptr %t985, ptr @.str297) %t987 = icmp ne i32 %t986, 0 %t988 = zext i1 %t987 to i32 store i32 %t988, ptr %t766 br label %scend214 scend214: %t989 = load i32, ptr %t766 %t990 = icmp ne i32 %t989, 0 %t991 = zext i1 %t990 to i32 store i32 %t991, ptr %t765 br i1 %t990, label %scend216, label %sc215 sc215: %t992 = load ptr, ptr %t1 %t993 = getelementptr inbounds %Cmp_Node, ptr %t992, i32 0, i32 1 %t994 = load ptr, ptr %t993 %t995 = call i32 @lp_str_eq(ptr %t994, ptr @.str298) %t996 = icmp ne i32 %t995, 0 %t997 = zext i1 %t996 to i32 store i32 %t997, ptr %t765 br label %scend216 scend216: %t998 = load i32, ptr %t765 %t999 = icmp ne i32 %t998, 0 %t1000 = zext i1 %t999 to i32 store i32 %t1000, ptr %t764 br i1 %t999, label %scend218, label %sc217 sc217: %t1001 = load ptr, ptr %t1 %t1002 = getelementptr inbounds %Cmp_Node, ptr %t1001, i32 0, i32 1 %t1003 = load ptr, ptr %t1002 %t1004 = call i32 @lp_str_eq(ptr %t1003, ptr @.str299) %t1005 = icmp ne i32 %t1004, 0 %t1006 = zext i1 %t1005 to i32 store i32 %t1006, ptr %t764 br label %scend218 scend218: %t1007 = load i32, ptr %t764 %t1008 = icmp ne i32 %t1007, 0 %t1009 = zext i1 %t1008 to i32 store i32 %t1009, ptr %t763 br i1 %t1008, label %scend220, label %sc219 sc219: %t1010 = load ptr, ptr %t1 %t1011 = getelementptr inbounds %Cmp_Node, ptr %t1010, i32 0, i32 1 %t1012 = load ptr, ptr %t1011 %t1013 = call i32 @lp_str_eq(ptr %t1012, ptr @.str300) %t1014 = icmp ne i32 %t1013, 0 %t1015 = zext i1 %t1014 to i32 store i32 %t1015, ptr %t763 br label %scend220 scend220: %t1016 = load i32, ptr %t763 %t1017 = icmp ne i32 %t1016, 0 %t1018 = zext i1 %t1017 to i32 store i32 %t1018, ptr %t762 br i1 %t1017, label %scend222, label %sc221 sc221: %t1019 = load ptr, ptr %t1 %t1020 = getelementptr inbounds %Cmp_Node, ptr %t1019, i32 0, i32 1 %t1021 = load ptr, ptr %t1020 %t1022 = call i32 @lp_str_eq(ptr %t1021, ptr @.str301) %t1023 = icmp ne i32 %t1022, 0 %t1024 = zext i1 %t1023 to i32 store i32 %t1024, ptr %t762 br label %scend222 scend222: %t1025 = load i32, ptr %t762 %t1026 = icmp ne i32 %t1025, 0 %t1027 = zext i1 %t1026 to i32 store i32 %t1027, ptr %t740 br label %scend170 scend170: %t1028 = load i32, ptr %t740 %t1029 = icmp ne i32 %t1028, 0 br i1 %t1029, label %then223, label %ifend225 then223: store i32 1, ptr @g_g_uses_input br label %ifend225 ifend225: %t1032 = load ptr, ptr %t1 %t1033 = getelementptr inbounds %Cmp_Node, ptr %t1032, i32 0, i32 4 %t1034 = load ptr, ptr %t1033 %t1035 = getelementptr inbounds %Cmp_Node, ptr %t1034, i32 0, i32 0 %t1036 = load i32, ptr %t1035 %t1037 = icmp eq i32 %t1036, 33 %t1038 = zext i1 %t1037 to i32 %t1039 = icmp ne i32 %t1038, 0 %t1040 = zext i1 %t1039 to i32 store i32 %t1040, ptr %t1031 br i1 %t1039, label %sc226, label %scend227 sc226: %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 1 %t1045 = load ptr, ptr %t1044 %t1046 = call i32 @lp_str_eq(ptr %t1045, ptr @.str302) %t1047 = icmp ne i32 %t1046, 0 %t1048 = zext i1 %t1047 to i32 store i32 %t1048, ptr %t1031 br label %scend227 scend227: %t1049 = load i32, ptr %t1031 %t1050 = icmp ne i32 %t1049, 0 %t1051 = zext i1 %t1050 to i32 store i32 %t1051, ptr %t1030 br i1 %t1050, label %sc228, label %scend229 sc228: %t1055 = load ptr, ptr %t1 %t1056 = getelementptr inbounds %Cmp_Node, ptr %t1055, i32 0, i32 1 %t1057 = load ptr, ptr %t1056 %t1058 = call i32 @lp_str_eq(ptr %t1057, ptr @.str303) %t1059 = icmp ne i32 %t1058, 0 %t1060 = zext i1 %t1059 to i32 store i32 %t1060, ptr %t1054 br i1 %t1059, label %scend231, label %sc230 sc230: %t1061 = load ptr, ptr %t1 %t1062 = getelementptr inbounds %Cmp_Node, ptr %t1061, i32 0, i32 1 %t1063 = load ptr, ptr %t1062 %t1064 = call i32 @lp_str_eq(ptr %t1063, ptr @.str304) %t1065 = icmp ne i32 %t1064, 0 %t1066 = zext i1 %t1065 to i32 store i32 %t1066, ptr %t1054 br label %scend231 scend231: %t1067 = load i32, ptr %t1054 %t1068 = icmp ne i32 %t1067, 0 %t1069 = zext i1 %t1068 to i32 store i32 %t1069, ptr %t1053 br i1 %t1068, label %scend233, label %sc232 sc232: %t1070 = load ptr, ptr %t1 %t1071 = getelementptr inbounds %Cmp_Node, ptr %t1070, i32 0, i32 1 %t1072 = load ptr, ptr %t1071 %t1073 = call i32 @lp_str_eq(ptr %t1072, ptr @.str305) %t1074 = icmp ne i32 %t1073, 0 %t1075 = zext i1 %t1074 to i32 store i32 %t1075, ptr %t1053 br label %scend233 scend233: %t1076 = load i32, ptr %t1053 %t1077 = icmp ne i32 %t1076, 0 %t1078 = zext i1 %t1077 to i32 store i32 %t1078, ptr %t1052 br i1 %t1077, label %scend235, label %sc234 sc234: %t1079 = load ptr, ptr %t1 %t1080 = getelementptr inbounds %Cmp_Node, ptr %t1079, i32 0, i32 1 %t1081 = load ptr, ptr %t1080 %t1082 = call i32 @lp_str_eq(ptr %t1081, ptr @.str306) %t1083 = icmp ne i32 %t1082, 0 %t1084 = zext i1 %t1083 to i32 store i32 %t1084, ptr %t1052 br label %scend235 scend235: %t1085 = load i32, ptr %t1052 %t1086 = icmp ne i32 %t1085, 0 %t1087 = zext i1 %t1086 to i32 store i32 %t1087, ptr %t1030 br label %scend229 scend229: %t1088 = load i32, ptr %t1030 %t1089 = icmp ne i32 %t1088, 0 br i1 %t1089, label %then236, label %ifend238 then236: store i32 1, ptr @g_g_uses_anim_rt br label %ifend238 ifend238: %t1092 = load ptr, ptr %t1 %t1093 = getelementptr inbounds %Cmp_Node, ptr %t1092, i32 0, i32 4 %t1094 = load ptr, ptr %t1093 %t1095 = getelementptr inbounds %Cmp_Node, ptr %t1094, i32 0, i32 0 %t1096 = load i32, ptr %t1095 %t1097 = icmp eq i32 %t1096, 33 %t1098 = zext i1 %t1097 to i32 %t1099 = icmp ne i32 %t1098, 0 %t1100 = zext i1 %t1099 to i32 store i32 %t1100, ptr %t1091 br i1 %t1099, label %sc239, label %scend240 sc239: %t1101 = load ptr, ptr %t1 %t1102 = getelementptr inbounds %Cmp_Node, ptr %t1101, i32 0, i32 4 %t1103 = load ptr, ptr %t1102 %t1104 = getelementptr inbounds %Cmp_Node, ptr %t1103, i32 0, i32 1 %t1105 = load ptr, ptr %t1104 %t1106 = call i32 @lp_str_eq(ptr %t1105, ptr @.str307) %t1107 = icmp ne i32 %t1106, 0 %t1108 = zext i1 %t1107 to i32 store i32 %t1108, ptr %t1091 br label %scend240 scend240: %t1109 = load i32, ptr %t1091 %t1110 = icmp ne i32 %t1109, 0 %t1111 = zext i1 %t1110 to i32 store i32 %t1111, ptr %t1090 br i1 %t1110, label %sc241, label %scend242 sc241: %t1112 = load ptr, ptr %t1 %t1113 = getelementptr inbounds %Cmp_Node, ptr %t1112, i32 0, i32 1 %t1114 = load ptr, ptr %t1113 %t1115 = call i32 @lp_str_eq(ptr %t1114, ptr @.str308) %t1116 = icmp ne i32 %t1115, 0 %t1117 = zext i1 %t1116 to i32 store i32 %t1117, ptr %t1090 br label %scend242 scend242: %t1118 = load i32, ptr %t1090 %t1119 = icmp ne i32 %t1118, 0 br i1 %t1119, label %then243, label %ifend245 then243: store i32 1, ptr @g_g_uses_anim_rt br label %ifend245 ifend245: %t1121 = load ptr, ptr %t1 %t1122 = getelementptr inbounds %Cmp_Node, ptr %t1121, i32 0, i32 4 %t1123 = load ptr, ptr %t1122 %t1124 = getelementptr inbounds %Cmp_Node, ptr %t1123, i32 0, i32 0 %t1125 = load i32, ptr %t1124 %t1126 = icmp eq i32 %t1125, 33 %t1127 = zext i1 %t1126 to i32 %t1128 = icmp ne i32 %t1127, 0 %t1129 = zext i1 %t1128 to i32 store i32 %t1129, ptr %t1120 br i1 %t1128, label %sc246, label %scend247 sc246: %t1130 = load ptr, ptr %t1 %t1131 = getelementptr inbounds %Cmp_Node, ptr %t1130, i32 0, i32 4 %t1132 = load ptr, ptr %t1131 %t1133 = getelementptr inbounds %Cmp_Node, ptr %t1132, i32 0, i32 1 %t1134 = load ptr, ptr %t1133 %t1135 = call i32 @lp_str_eq(ptr %t1134, ptr @.str309) %t1136 = icmp ne i32 %t1135, 0 %t1137 = zext i1 %t1136 to i32 store i32 %t1137, ptr %t1120 br label %scend247 scend247: %t1138 = load i32, ptr %t1120 %t1139 = icmp ne i32 %t1138, 0 br i1 %t1139, label %then248, label %ifend250 then248: store i32 1, ptr @g_g_uses_audio br label %ifend250 ifend250: %t1141 = load ptr, ptr %t1 %t1142 = getelementptr inbounds %Cmp_Node, ptr %t1141, i32 0, i32 4 %t1143 = load ptr, ptr %t1142 %t1144 = getelementptr inbounds %Cmp_Node, ptr %t1143, i32 0, i32 0 %t1145 = load i32, ptr %t1144 %t1146 = icmp eq i32 %t1145, 33 %t1147 = zext i1 %t1146 to i32 %t1148 = icmp ne i32 %t1147, 0 %t1149 = zext i1 %t1148 to i32 store i32 %t1149, ptr %t1140 br i1 %t1148, label %sc251, label %scend252 sc251: %t1150 = load ptr, ptr %t1 %t1151 = getelementptr inbounds %Cmp_Node, ptr %t1150, i32 0, i32 4 %t1152 = load ptr, ptr %t1151 %t1153 = getelementptr inbounds %Cmp_Node, ptr %t1152, i32 0, i32 1 %t1154 = load ptr, ptr %t1153 %t1155 = call i32 @lp_str_eq(ptr %t1154, ptr @.str310) %t1156 = icmp ne i32 %t1155, 0 %t1157 = zext i1 %t1156 to i32 store i32 %t1157, ptr %t1140 br label %scend252 scend252: %t1158 = load i32, ptr %t1140 %t1159 = icmp ne i32 %t1158, 0 br i1 %t1159, label %then253, label %ifend255 then253: store i32 1, ptr @g_g_uses_http br label %ifend255 ifend255: %t1161 = load ptr, ptr %t1 %t1162 = getelementptr inbounds %Cmp_Node, ptr %t1161, i32 0, i32 4 %t1163 = load ptr, ptr %t1162 %t1164 = getelementptr inbounds %Cmp_Node, ptr %t1163, i32 0, i32 0 %t1165 = load i32, ptr %t1164 %t1166 = icmp eq i32 %t1165, 33 %t1167 = zext i1 %t1166 to i32 %t1168 = icmp ne i32 %t1167, 0 %t1169 = zext i1 %t1168 to i32 store i32 %t1169, ptr %t1160 br i1 %t1168, label %sc256, label %scend257 sc256: %t1170 = load ptr, ptr %t1 %t1171 = getelementptr inbounds %Cmp_Node, ptr %t1170, i32 0, i32 4 %t1172 = load ptr, ptr %t1171 %t1173 = getelementptr inbounds %Cmp_Node, ptr %t1172, i32 0, i32 1 %t1174 = load ptr, ptr %t1173 %t1175 = call i32 @lp_str_eq(ptr %t1174, ptr @.str311) %t1176 = icmp ne i32 %t1175, 0 %t1177 = zext i1 %t1176 to i32 store i32 %t1177, ptr %t1160 br label %scend257 scend257: %t1178 = load i32, ptr %t1160 %t1179 = icmp ne i32 %t1178, 0 br i1 %t1179, label %then258, label %ifend260 then258: store i32 1, ptr @g_g_uses_udp br label %ifend260 ifend260: %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 %sc261, label %scend262 sc261: %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 @.str312) %t1196 = icmp ne i32 %t1195, 0 %t1197 = zext i1 %t1196 to i32 store i32 %t1197, ptr %t1180 br label %scend262 scend262: %t1198 = load i32, ptr %t1180 %t1199 = icmp ne i32 %t1198, 0 br i1 %t1199, label %then263, label %ifend265 then263: store i32 1, ptr @g_g_uses_process br label %ifend265 ifend265: %t1201 = load ptr, ptr %t1 %t1202 = getelementptr inbounds %Cmp_Node, ptr %t1201, i32 0, i32 4 %t1203 = load ptr, ptr %t1202 %t1204 = getelementptr inbounds %Cmp_Node, ptr %t1203, i32 0, i32 0 %t1205 = load i32, ptr %t1204 %t1206 = icmp eq i32 %t1205, 33 %t1207 = zext i1 %t1206 to i32 %t1208 = icmp ne i32 %t1207, 0 %t1209 = zext i1 %t1208 to i32 store i32 %t1209, ptr %t1200 br i1 %t1208, label %sc266, label %scend267 sc266: %t1210 = load ptr, ptr %t1 %t1211 = getelementptr inbounds %Cmp_Node, ptr %t1210, i32 0, i32 4 %t1212 = load ptr, ptr %t1211 %t1213 = getelementptr inbounds %Cmp_Node, ptr %t1212, i32 0, i32 1 %t1214 = load ptr, ptr %t1213 %t1215 = call i32 @lp_str_eq(ptr %t1214, ptr @.str313) %t1216 = icmp ne i32 %t1215, 0 %t1217 = zext i1 %t1216 to i32 store i32 %t1217, ptr %t1200 br label %scend267 scend267: %t1218 = load i32, ptr %t1200 %t1219 = icmp ne i32 %t1218, 0 br i1 %t1219, label %then268, label %ifend270 then268: store i32 1, ptr @g_g_uses_gl br label %ifend270 ifend270: %t1221 = load ptr, ptr %t1 %t1222 = getelementptr inbounds %Cmp_Node, ptr %t1221, i32 0, i32 4 %t1223 = load ptr, ptr %t1222 %t1224 = getelementptr inbounds %Cmp_Node, ptr %t1223, i32 0, i32 0 %t1225 = load i32, ptr %t1224 %t1226 = icmp eq i32 %t1225, 33 %t1227 = zext i1 %t1226 to i32 %t1228 = icmp ne i32 %t1227, 0 %t1229 = zext i1 %t1228 to i32 store i32 %t1229, ptr %t1220 br i1 %t1228, label %sc271, label %scend272 sc271: %t1230 = load ptr, ptr %t1 %t1231 = getelementptr inbounds %Cmp_Node, ptr %t1230, i32 0, i32 4 %t1232 = load ptr, ptr %t1231 %t1233 = getelementptr inbounds %Cmp_Node, ptr %t1232, i32 0, i32 1 %t1234 = load ptr, ptr %t1233 %t1235 = call i32 @lp_str_eq(ptr %t1234, ptr @.str314) %t1236 = icmp ne i32 %t1235, 0 %t1237 = zext i1 %t1236 to i32 store i32 %t1237, ptr %t1220 br label %scend272 scend272: %t1238 = load i32, ptr %t1220 %t1239 = icmp ne i32 %t1238, 0 br i1 %t1239, label %then273, label %ifend275 then273: store i32 1, ptr @g_g_uses_vk br label %ifend275 ifend275: %t1242 = load ptr, ptr %t1 %t1243 = getelementptr inbounds %Cmp_Node, ptr %t1242, i32 0, i32 4 %t1244 = load ptr, ptr %t1243 %t1245 = getelementptr inbounds %Cmp_Node, ptr %t1244, i32 0, i32 0 %t1246 = load i32, ptr %t1245 %t1247 = icmp eq i32 %t1246, 33 %t1248 = zext i1 %t1247 to i32 %t1249 = icmp ne i32 %t1248, 0 %t1250 = zext i1 %t1249 to i32 store i32 %t1250, ptr %t1241 br i1 %t1249, label %sc276, label %scend277 sc276: %t1251 = load ptr, ptr %t1 %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 1 %t1255 = load ptr, ptr %t1254 %t1256 = call i32 @lp_str_eq(ptr %t1255, ptr @.str315) %t1257 = icmp ne i32 %t1256, 0 %t1258 = zext i1 %t1257 to i32 store i32 %t1258, ptr %t1241 br label %scend277 scend277: %t1259 = load i32, ptr %t1241 %t1260 = icmp ne i32 %t1259, 0 %t1261 = zext i1 %t1260 to i32 store i32 %t1261, ptr %t1240 br i1 %t1260, label %sc278, label %scend279 sc278: %t1267 = load ptr, ptr %t1 %t1268 = getelementptr inbounds %Cmp_Node, ptr %t1267, i32 0, i32 1 %t1269 = load ptr, ptr %t1268 %t1270 = call i32 @lp_str_eq(ptr %t1269, ptr @.str316) %t1271 = icmp ne i32 %t1270, 0 %t1272 = zext i1 %t1271 to i32 store i32 %t1272, ptr %t1266 br i1 %t1271, label %scend281, label %sc280 sc280: %t1273 = load ptr, ptr %t1 %t1274 = getelementptr inbounds %Cmp_Node, ptr %t1273, i32 0, i32 1 %t1275 = load ptr, ptr %t1274 %t1276 = call i32 @lp_str_eq(ptr %t1275, ptr @.str317) %t1277 = icmp ne i32 %t1276, 0 %t1278 = zext i1 %t1277 to i32 store i32 %t1278, ptr %t1266 br label %scend281 scend281: %t1279 = load i32, ptr %t1266 %t1280 = icmp ne i32 %t1279, 0 %t1281 = zext i1 %t1280 to i32 store i32 %t1281, ptr %t1265 br i1 %t1280, label %scend283, label %sc282 sc282: %t1282 = load ptr, ptr %t1 %t1283 = getelementptr inbounds %Cmp_Node, ptr %t1282, i32 0, i32 1 %t1284 = load ptr, ptr %t1283 %t1285 = call i32 @lp_str_eq(ptr %t1284, ptr @.str318) %t1286 = icmp ne i32 %t1285, 0 %t1287 = zext i1 %t1286 to i32 store i32 %t1287, ptr %t1265 br label %scend283 scend283: %t1288 = load i32, ptr %t1265 %t1289 = icmp ne i32 %t1288, 0 %t1290 = zext i1 %t1289 to i32 store i32 %t1290, ptr %t1264 br i1 %t1289, label %scend285, label %sc284 sc284: %t1291 = load ptr, ptr %t1 %t1292 = getelementptr inbounds %Cmp_Node, ptr %t1291, i32 0, i32 1 %t1293 = load ptr, ptr %t1292 %t1294 = call i32 @lp_str_eq(ptr %t1293, ptr @.str319) %t1295 = icmp ne i32 %t1294, 0 %t1296 = zext i1 %t1295 to i32 store i32 %t1296, ptr %t1264 br label %scend285 scend285: %t1297 = load i32, ptr %t1264 %t1298 = icmp ne i32 %t1297, 0 %t1299 = zext i1 %t1298 to i32 store i32 %t1299, ptr %t1263 br i1 %t1298, label %scend287, label %sc286 sc286: %t1300 = load ptr, ptr %t1 %t1301 = getelementptr inbounds %Cmp_Node, ptr %t1300, i32 0, i32 1 %t1302 = load ptr, ptr %t1301 %t1303 = call i32 @lp_str_eq(ptr %t1302, ptr @.str320) %t1304 = icmp ne i32 %t1303, 0 %t1305 = zext i1 %t1304 to i32 store i32 %t1305, ptr %t1263 br label %scend287 scend287: %t1306 = load i32, ptr %t1263 %t1307 = icmp ne i32 %t1306, 0 %t1308 = zext i1 %t1307 to i32 store i32 %t1308, ptr %t1262 br i1 %t1307, label %scend289, label %sc288 sc288: %t1309 = load ptr, ptr %t1 %t1310 = getelementptr inbounds %Cmp_Node, ptr %t1309, i32 0, i32 1 %t1311 = load ptr, ptr %t1310 %t1312 = call i32 @lp_str_eq(ptr %t1311, ptr @.str321) %t1313 = icmp ne i32 %t1312, 0 %t1314 = zext i1 %t1313 to i32 store i32 %t1314, ptr %t1262 br label %scend289 scend289: %t1315 = load i32, ptr %t1262 %t1316 = icmp ne i32 %t1315, 0 %t1317 = zext i1 %t1316 to i32 store i32 %t1317, ptr %t1240 br label %scend279 scend279: %t1318 = load i32, ptr %t1240 %t1319 = icmp ne i32 %t1318, 0 br i1 %t1319, label %then290, label %ifend292 then290: store i32 1, ptr @g_g_uses_tween_rt br label %ifend292 ifend292: %t1321 = load ptr, ptr %t1 %t1322 = getelementptr inbounds %Cmp_Node, ptr %t1321, i32 0, i32 4 %t1323 = load ptr, ptr %t1322 %t1324 = getelementptr inbounds %Cmp_Node, ptr %t1323, i32 0, i32 0 %t1325 = load i32, ptr %t1324 %t1326 = icmp eq i32 %t1325, 33 %t1327 = zext i1 %t1326 to i32 %t1328 = icmp ne i32 %t1327, 0 %t1329 = zext i1 %t1328 to i32 store i32 %t1329, ptr %t1320 br i1 %t1328, label %sc293, label %scend294 sc293: %t1330 = load ptr, ptr %t1 %t1331 = getelementptr inbounds %Cmp_Node, ptr %t1330, i32 0, i32 4 %t1332 = load ptr, ptr %t1331 %t1333 = getelementptr inbounds %Cmp_Node, ptr %t1332, i32 0, i32 1 %t1334 = load ptr, ptr %t1333 %t1335 = call i32 @lp_str_eq(ptr %t1334, ptr @.str322) %t1336 = icmp ne i32 %t1335, 0 %t1337 = zext i1 %t1336 to i32 store i32 %t1337, ptr %t1320 br label %scend294 scend294: %t1338 = load i32, ptr %t1320 %t1339 = icmp ne i32 %t1338, 0 br i1 %t1339, label %then295, label %ifend297 then295: store i32 1, ptr @g_g_uses_fx br label %ifend297 ifend297: br label %ifend5 else4: %t1340 = call i32 @fn_is_op(ptr @.str323) %t1341 = icmp ne i32 %t1340, 0 br i1 %t1341, label %then298, label %else299 then298: %t1342 = load i32, ptr @g_pi %t1343 = add i32 %t1342, 1 store i32 %t1343, ptr @g_pi %t1344 = call ptr @fn_expr() store ptr %t1344, ptr %t1345 %t1346 = call i32 @fn_is_op(ptr @.str324) %t1347 = icmp ne i32 %t1346, 0 br i1 %t1347, label %then301, label %else302 then301: %t1348 = load i32, ptr @g_pi %t1349 = add i32 %t1348, 1 store i32 %t1349, ptr @g_pi %t1350 = call ptr @fn_node(i32 44) store ptr %t1350, ptr %t1351 %t1352 = load ptr, ptr %t1351 %t1353 = getelementptr inbounds %Cmp_Node, ptr %t1352, i32 0, i32 4 %t1354 = load ptr, ptr %t1 store ptr %t1354, ptr %t1353 %t1355 = load ptr, ptr %t1351 %t1356 = getelementptr inbounds %Cmp_Node, ptr %t1355, i32 0, i32 5 %t1357 = load ptr, ptr %t1345 store ptr %t1357, ptr %t1356 %t1358 = load ptr, ptr %t1351 %t1359 = getelementptr inbounds %Cmp_Node, ptr %t1358, i32 0, i32 6 %t1360 = call ptr @fn_expr() store ptr %t1360, ptr %t1359 call void @fn_eat_op(ptr @.str325) %t1361 = load ptr, ptr %t1351 store ptr %t1361, ptr %t1 br label %ifend303 else302: %t1362 = call ptr @fn_node(i32 36) store ptr %t1362, ptr %t1363 %t1364 = load ptr, ptr %t1363 %t1365 = getelementptr inbounds %Cmp_Node, ptr %t1364, i32 0, i32 4 %t1366 = load ptr, ptr %t1 store ptr %t1366, ptr %t1365 %t1367 = load ptr, ptr %t1363 %t1368 = getelementptr inbounds %Cmp_Node, ptr %t1367, i32 0, i32 5 %t1369 = load ptr, ptr %t1345 store ptr %t1369, ptr %t1368 call void @fn_eat_op(ptr @.str326) %t1370 = load ptr, ptr %t1363 store ptr %t1370, ptr %t1 br label %ifend303 ifend303: br label %ifend300 else299: %t1371 = call i32 @fn_is_op(ptr @.str327) %t1372 = icmp ne i32 %t1371, 0 br i1 %t1372, label %then304, label %else305 then304: %t1373 = call ptr @fn_node(i32 34) store ptr %t1373, ptr %t1374 %t1375 = load ptr, ptr %t1374 %t1376 = getelementptr inbounds %Cmp_Node, ptr %t1375, i32 0, i32 4 %t1377 = load ptr, ptr %t1 store ptr %t1377, ptr %t1376 %t1378 = load ptr, ptr %t1374 %t1379 = getelementptr inbounds %Cmp_Node, ptr %t1378, i32 0, i32 8 %t1380 = load ptr, ptr @g_toks %t1381 = load i32, ptr @g_pi %t1382 = getelementptr inbounds %LSlice, ptr %t1380, i32 0, i32 0 %t1383 = load ptr, ptr %t1382 %t1384 = getelementptr inbounds %LSlice, ptr %t1380, i32 0, i32 1 %t1385 = load i32, ptr %t1384 %t1386 = icmp ult i32 %t1381, %t1385 br i1 %t1386, label %ixok307, label %ixbad308 ixbad308: store i32 151, ptr @lp_site %t1387 = call ptr @lp_win_stdio(i32 2) store i32 0, ptr @lp_site call i32 (ptr, ptr, ...) @fprintf(ptr %t1387, ptr @.fmt_bounds, ptr @.str328, i32 %t1381, i32 %t1385) call void @exit(i32 1) unreachable ixok307: %t1388 = getelementptr inbounds ptr, ptr %t1383, i32 %t1381 %t1389 = load ptr, ptr %t1388 %t1390 = getelementptr inbounds %Cmp_Tok, ptr %t1389, i32 0, i32 3 %t1391 = load i32, ptr %t1390 store i32 %t1391, ptr %t1379 %t1392 = load ptr, ptr %t1374 call void @fn_args_call(ptr %t1392) %t1393 = load ptr, ptr %t1374 store ptr %t1393, ptr %t1 %t1395 = load ptr, ptr %t1374 %t1396 = getelementptr inbounds %Cmp_Node, ptr %t1395, i32 0, i32 4 %t1397 = load ptr, ptr %t1396 %t1398 = getelementptr inbounds %Cmp_Node, ptr %t1397, i32 0, i32 0 %t1399 = load i32, ptr %t1398 %t1400 = icmp eq i32 %t1399, 33 %t1401 = zext i1 %t1400 to i32 %t1402 = icmp ne i32 %t1401, 0 %t1403 = zext i1 %t1402 to i32 store i32 %t1403, ptr %t1394 br i1 %t1402, label %sc309, label %scend310 sc309: %t1404 = load ptr, ptr %t1374 %t1405 = getelementptr inbounds %Cmp_Node, ptr %t1404, i32 0, i32 4 %t1406 = load ptr, ptr %t1405 %t1407 = getelementptr inbounds %Cmp_Node, ptr %t1406, i32 0, i32 1 %t1408 = load ptr, ptr %t1407 %t1409 = call i32 @fn_rt_wanted_name(ptr %t1408) %t1410 = icmp ne i32 %t1409, 0 %t1411 = zext i1 %t1410 to i32 store i32 %t1411, ptr %t1394 br label %scend310 scend310: %t1412 = load i32, ptr %t1394 %t1413 = icmp ne i32 %t1412, 0 br i1 %t1413, label %then311, label %ifend313 then311: %t1414 = load ptr, ptr @g_g_rt_wants %t1415 = load ptr, ptr %t1374 %t1416 = getelementptr inbounds %Cmp_Node, ptr %t1415, i32 0, i32 4 %t1417 = load ptr, ptr %t1416 %t1418 = getelementptr inbounds %Cmp_Node, ptr %t1417, i32 0, i32 1 %t1419 = load ptr, ptr %t1418 %t1420 = getelementptr inbounds %LSlice, ptr %t1414, i32 0, i32 1 %t1421 = getelementptr inbounds %LSlice, ptr %t1414, i32 0, i32 2 %t1422 = getelementptr inbounds %LSlice, ptr %t1414, i32 0, i32 0 %t1423 = load i32, ptr %t1420 %t1424 = load i32, ptr %t1421 %t1425 = icmp sge i32 %t1423, %t1424 br i1 %t1425, label %grow314, label %put315 grow314: %t1426 = mul i32 %t1424, 2 %t1427 = icmp eq i32 %t1424, 0 %t1428 = select i1 %t1427, i32 8, i32 %t1426 %t1429 = getelementptr ptr, ptr null, i32 1 %t1430 = ptrtoint ptr %t1429 to i64 %t1431 = zext i32 %t1428 to i64 %t1432 = mul i64 %t1431, %t1430 %t1433 = load ptr, ptr %t1422 store i32 152, ptr @lp_site %t1434 = call ptr @lp_realloc(ptr %t1433, i64 %t1432) store i32 0, ptr @lp_site store ptr %t1434, ptr %t1422 store i32 %t1428, ptr %t1421 br label %put315 put315: %t1435 = load ptr, ptr %t1422 %t1436 = getelementptr inbounds ptr, ptr %t1435, i32 %t1423 store ptr %t1419, ptr %t1436 %t1437 = add i32 %t1423, 1 store i32 %t1437, ptr %t1420 br label %ifend313 ifend313: %t1439 = load ptr, ptr %t1374 %t1440 = getelementptr inbounds %Cmp_Node, ptr %t1439, i32 0, i32 4 %t1441 = load ptr, ptr %t1440 %t1442 = getelementptr inbounds %Cmp_Node, ptr %t1441, i32 0, i32 0 %t1443 = load i32, ptr %t1442 %t1444 = icmp eq i32 %t1443, 33 %t1445 = zext i1 %t1444 to i32 %t1446 = icmp ne i32 %t1445, 0 %t1447 = zext i1 %t1446 to i32 store i32 %t1447, ptr %t1438 br i1 %t1446, label %sc316, label %scend317 sc316: %t1449 = load ptr, ptr %t1374 %t1450 = getelementptr inbounds %Cmp_Node, ptr %t1449, i32 0, i32 4 %t1451 = load ptr, ptr %t1450 %t1452 = getelementptr inbounds %Cmp_Node, ptr %t1451, i32 0, i32 1 %t1453 = load ptr, ptr %t1452 %t1454 = call i32 @lp_str_eq(ptr %t1453, ptr @.str330) %t1455 = icmp ne i32 %t1454, 0 %t1456 = zext i1 %t1455 to i32 store i32 %t1456, ptr %t1448 br i1 %t1455, label %scend319, label %sc318 sc318: %t1457 = load ptr, ptr %t1374 %t1458 = getelementptr inbounds %Cmp_Node, ptr %t1457, i32 0, i32 4 %t1459 = load ptr, ptr %t1458 %t1460 = getelementptr inbounds %Cmp_Node, ptr %t1459, i32 0, i32 1 %t1461 = load ptr, ptr %t1460 %t1462 = call i32 @lp_str_eq(ptr %t1461, ptr @.str331) %t1463 = icmp ne i32 %t1462, 0 %t1464 = zext i1 %t1463 to i32 store i32 %t1464, ptr %t1448 br label %scend319 scend319: %t1465 = load i32, ptr %t1448 %t1466 = icmp ne i32 %t1465, 0 %t1467 = zext i1 %t1466 to i32 store i32 %t1467, ptr %t1438 br label %scend317 scend317: %t1468 = load i32, ptr %t1438 %t1469 = icmp ne i32 %t1468, 0 br i1 %t1469, label %then320, label %ifend322 then320: %t1470 = load ptr, ptr %t1374 %t1471 = getelementptr inbounds %Cmp_Node, ptr %t1470, i32 0, i32 4 %t1472 = load ptr, ptr %t1471 %t1473 = getelementptr inbounds %Cmp_Node, ptr %t1472, i32 0, i32 1 %t1474 = load ptr, ptr %t1473 call void @fn_warn_draw_sprite(ptr %t1474) br label %ifend322 ifend322: br label %ifend306 else305: br label %wend2 ifend306: br label %ifend300 ifend300: br label %ifend5 ifend5: br label %wcond0 wend2: %t1475 = load ptr, ptr %t1 store ptr %t1475, ptr %retval br label %ret ret: %t1476 = load ptr, ptr %retval ret ptr %t1476 } 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 @.str332) %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 @.str333, 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 @.str334) %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 @.str335, 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 @.str336) %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 @.str337, 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 %t51 = alloca ptr %t0 = call ptr @fn_p_unary() store ptr %t0, ptr %t1 br label %wcond0 wcond0: %t7 = call i32 @fn_is_op(ptr @.str338) %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 @.str339) %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 @.str340) %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 @.str341) %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 @.str342) %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 @.str343) %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 = load i32, ptr @g_pi %t41 = getelementptr inbounds %LSlice, ptr %t39, i32 0, i32 0 %t42 = load ptr, ptr %t41 %t43 = getelementptr inbounds %LSlice, ptr %t39, i32 0, i32 1 %t44 = load i32, ptr %t43 %t45 = icmp ult i32 %t40, %t44 br i1 %t45, label %ixok13, label %ixbad14 ixbad14: store i32 153, ptr @lp_site %t46 = call ptr @lp_win_stdio(i32 2) store i32 0, ptr @lp_site call i32 (ptr, ptr, ...) @fprintf(ptr %t46, ptr @.fmt_bounds, ptr @.str344, i32 %t40, i32 %t44) call void @exit(i32 1) unreachable ixok13: %t47 = getelementptr inbounds ptr, ptr %t42, i32 %t40 %t48 = load ptr, ptr %t47 %t49 = getelementptr inbounds %Cmp_Tok, ptr %t48, i32 0, i32 1 %t50 = load ptr, ptr %t49 store ptr %t50, ptr %t51 %t52 = load i32, ptr @g_pi %t53 = add i32 %t52, 1 store i32 %t53, ptr @g_pi %t54 = load ptr, ptr %t51 %t55 = load ptr, ptr %t1 %t56 = call ptr @fn_p_unary() %t57 = call ptr @fn_mkbin(ptr %t54, ptr %t55, ptr %t56) store ptr %t57, ptr %t1 br label %wcond0 wend2: %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_p_add() { entry: %retval = alloca ptr %t1 = alloca ptr %t2 = alloca i32 %t3 = alloca i32 %t4 = alloca i32 %t37 = alloca ptr %t0 = call ptr @fn_p_mul() store ptr %t0, ptr %t1 br label %wcond0 wcond0: %t5 = call i32 @fn_is_op(ptr @.str346) %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 @.str347) %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 @.str348) %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 @.str349) %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 = load i32, ptr @g_pi %t27 = getelementptr inbounds %LSlice, ptr %t25, i32 0, i32 0 %t28 = load ptr, ptr %t27 %t29 = getelementptr inbounds %LSlice, ptr %t25, i32 0, i32 1 %t30 = load i32, ptr %t29 %t31 = icmp ult i32 %t26, %t30 br i1 %t31, label %ixok9, label %ixbad10 ixbad10: store i32 154, ptr @lp_site %t32 = call ptr @lp_win_stdio(i32 2) store i32 0, ptr @lp_site call i32 (ptr, ptr, ...) @fprintf(ptr %t32, ptr @.fmt_bounds, ptr @.str350, i32 %t26, i32 %t30) call void @exit(i32 1) unreachable ixok9: %t33 = getelementptr inbounds ptr, ptr %t28, i32 %t26 %t34 = load ptr, ptr %t33 %t35 = getelementptr inbounds %Cmp_Tok, ptr %t34, i32 0, i32 1 %t36 = load ptr, ptr %t35 store ptr %t36, ptr %t37 %t38 = load i32, ptr @g_pi %t39 = add i32 %t38, 1 store i32 %t39, ptr @g_pi %t40 = load ptr, ptr %t37 %t41 = load ptr, ptr %t1 %t42 = call ptr @fn_p_mul() %t43 = call ptr @fn_mkbin(ptr %t40, ptr %t41, ptr %t42) store ptr %t43, ptr %t1 br label %wcond0 wend2: %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_p_cmp() { entry: %retval = alloca ptr %t1 = alloca ptr %t2 = alloca i32 %t3 = alloca i32 %t4 = alloca i32 %t5 = alloca i32 %t6 = alloca i32 %t51 = alloca ptr %t0 = call ptr @fn_p_add() store ptr %t0, ptr %t1 br label %wcond0 wcond0: %t7 = call i32 @fn_is_op(ptr @.str352) %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 @.str353) %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 @.str354) %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 @.str355) %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 @.str356) %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 @.str357) %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 = load i32, ptr @g_pi %t41 = getelementptr inbounds %LSlice, ptr %t39, i32 0, i32 0 %t42 = load ptr, ptr %t41 %t43 = getelementptr inbounds %LSlice, ptr %t39, i32 0, i32 1 %t44 = load i32, ptr %t43 %t45 = icmp ult i32 %t40, %t44 br i1 %t45, label %ixok13, label %ixbad14 ixbad14: store i32 155, ptr @lp_site %t46 = call ptr @lp_win_stdio(i32 2) store i32 0, ptr @lp_site call i32 (ptr, ptr, ...) @fprintf(ptr %t46, ptr @.fmt_bounds, ptr @.str358, i32 %t40, i32 %t44) call void @exit(i32 1) unreachable ixok13: %t47 = getelementptr inbounds ptr, ptr %t42, i32 %t40 %t48 = load ptr, ptr %t47 %t49 = getelementptr inbounds %Cmp_Tok, ptr %t48, i32 0, i32 1 %t50 = load ptr, ptr %t49 store ptr %t50, ptr %t51 %t52 = load i32, ptr @g_pi %t53 = add i32 %t52, 1 store i32 %t53, ptr @g_pi %t54 = load ptr, ptr %t51 %t55 = load ptr, ptr %t1 %t56 = call ptr @fn_p_add() %t57 = call ptr @fn_mkbin(ptr %t54, ptr %t55, ptr %t56) store ptr %t57, ptr %t1 br label %wcond0 wend2: %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_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 @.str360) %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 @.str361, 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 @.str362) %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 @.str363, 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 %t11 = alloca i32 call void @fn_eat_op(ptr @.str364) %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 @.str365) %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 @.str366) %t10 = load i32, ptr @g_pi store i32 %t10, ptr %t11 %t12 = load ptr, ptr %t6 %t13 = getelementptr inbounds %Cmp_Node, ptr %t12, i32 0, i32 4 %t14 = call ptr @fn_expr() store ptr %t14, ptr %t13 %t15 = load ptr, ptr %t6 %t16 = getelementptr inbounds %Cmp_Node, ptr %t15, i32 0, i32 20 %t17 = load ptr, ptr @g_toks %t18 = load i32, ptr %t11 %t19 = getelementptr inbounds %LSlice, ptr %t17, i32 0, i32 0 %t20 = load ptr, ptr %t19 %t21 = getelementptr inbounds %LSlice, ptr %t17, i32 0, i32 1 %t22 = load i32, ptr %t21 %t23 = icmp ult i32 %t18, %t22 br i1 %t23, label %ixok6, label %ixbad7 ixbad7: store i32 156, ptr @lp_site %t24 = call ptr @lp_win_stdio(i32 2) store i32 0, ptr @lp_site call i32 (ptr, ptr, ...) @fprintf(ptr %t24, ptr @.fmt_bounds, ptr @.str367, i32 %t18, i32 %t22) call void @exit(i32 1) unreachable ixok6: %t25 = getelementptr inbounds ptr, ptr %t20, i32 %t18 %t26 = load ptr, ptr %t25 %t27 = getelementptr inbounds %Cmp_Tok, ptr %t26, i32 0, i32 7 %t28 = load i32, ptr %t27 store i32 %t28, ptr %t16 %t29 = load ptr, ptr %t6 %t30 = getelementptr inbounds %Cmp_Node, ptr %t29, i32 0, i32 21 %t31 = load ptr, ptr @g_toks %t32 = load i32, ptr @g_pi %t33 = sub i32 %t32, 1 %t34 = getelementptr inbounds %LSlice, ptr %t31, i32 0, i32 0 %t35 = load ptr, ptr %t34 %t36 = getelementptr inbounds %LSlice, ptr %t31, i32 0, i32 1 %t37 = load i32, ptr %t36 %t38 = icmp ult i32 %t33, %t37 br i1 %t38, label %ixok8, label %ixbad9 ixbad9: store i32 157, ptr @lp_site %t39 = call ptr @lp_win_stdio(i32 2) store i32 0, ptr @lp_site call i32 (ptr, ptr, ...) @fprintf(ptr %t39, ptr @.fmt_bounds, ptr @.str369, i32 %t33, i32 %t37) call void @exit(i32 1) unreachable ixok8: %t40 = getelementptr inbounds ptr, ptr %t35, i32 %t33 %t41 = load ptr, ptr %t40 %t42 = getelementptr inbounds %Cmp_Tok, ptr %t41, i32 0, i32 8 %t43 = load i32, ptr %t42 store i32 %t43, ptr %t30 %t44 = load ptr, ptr %t1 %t45 = getelementptr inbounds %Cmp_Node, ptr %t44, i32 0, i32 7 %t46 = load ptr, ptr %t45 %t47 = load ptr, ptr %t6 %t48 = getelementptr inbounds %LSlice, ptr %t46, i32 0, i32 1 %t49 = getelementptr inbounds %LSlice, ptr %t46, i32 0, i32 2 %t50 = getelementptr inbounds %LSlice, ptr %t46, i32 0, i32 0 %t51 = load i32, ptr %t48 %t52 = load i32, ptr %t49 %t53 = icmp sge i32 %t51, %t52 br i1 %t53, label %grow10, label %put11 grow10: %t54 = mul i32 %t52, 2 %t55 = icmp eq i32 %t52, 0 %t56 = select i1 %t55, i32 8, i32 %t54 %t57 = getelementptr ptr, ptr null, i32 1 %t58 = ptrtoint ptr %t57 to i64 %t59 = zext i32 %t56 to i64 %t60 = mul i64 %t59, %t58 %t61 = load ptr, ptr %t50 store i32 158, ptr @lp_site %t62 = call ptr @lp_realloc(ptr %t61, i64 %t60) store i32 0, ptr @lp_site store ptr %t62, ptr %t50 store i32 %t56, ptr %t49 br label %put11 put11: %t63 = load ptr, ptr %t50 %t64 = getelementptr inbounds ptr, ptr %t63, i32 %t51 store ptr %t47, ptr %t64 %t65 = add i32 %t51, 1 store i32 %t65, ptr %t48 %t66 = call i32 @fn_is_op(ptr @.str370) %t67 = icmp ne i32 %t66, 0 br i1 %t67, label %then12, label %ifend14 then12: %t68 = load i32, ptr @g_pi %t69 = add i32 %t68, 1 store i32 %t69, ptr @g_pi br label %ifend14 ifend14: br label %wcond0 wend2: call void @fn_eat_op(ptr @.str371) %t70 = load ptr, ptr %t1 store ptr %t70, ptr %retval br label %ret ret: %t71 = load ptr, ptr %retval ret ptr %t71 } define ptr @fn_block() { entry: %retval = alloca ptr %t1 = alloca ptr %t41 = alloca i32 call void @fn_skipnl() call void @fn_eat_op(ptr @.str372) %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 @.str373) %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 store i32 159, ptr @lp_site %t23 = call ptr @lp_realloc(ptr %t22, i64 %t21) store i32 0, ptr @lp_site 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 = load i32, ptr @g_pi %t29 = getelementptr inbounds %LSlice, ptr %t27, i32 0, i32 0 %t30 = load ptr, ptr %t29 %t31 = getelementptr inbounds %LSlice, ptr %t27, i32 0, i32 1 %t32 = load i32, ptr %t31 %t33 = icmp ult i32 %t28, %t32 br i1 %t33, label %ixok8, label %ixbad9 ixbad9: store i32 160, ptr @lp_site %t34 = call ptr @lp_win_stdio(i32 2) store i32 0, ptr @lp_site call i32 (ptr, ptr, ...) @fprintf(ptr %t34, ptr @.fmt_bounds, ptr @.str375, i32 %t28, i32 %t32) call void @exit(i32 1) unreachable ixok8: %t35 = getelementptr inbounds ptr, ptr %t30, i32 %t28 %t36 = load ptr, ptr %t35 %t37 = getelementptr inbounds %Cmp_Tok, ptr %t36, i32 0, i32 0 %t38 = load i32, ptr %t37 %t39 = icmp eq i32 %t38, 4 %t40 = zext i1 %t39 to i32 store i32 %t40, ptr %t41 %t42 = call i32 @fn_is_op(ptr @.str376) %t43 = icmp ne i32 %t42, 0 br i1 %t43, label %then10, label %ifend12 then10: store i32 1, ptr %t41 br label %ifend12 ifend12: %t44 = load i32, ptr %t41 %t45 = icmp eq i32 %t44, 0 %t46 = zext i1 %t45 to i32 %t47 = icmp ne i32 %t46, 0 br i1 %t47, label %then13, label %ifend15 then13: call void @fn_perr(ptr @.str377) br label %ifend15 ifend15: br label %wcond0 wend2: call void @fn_eat_op(ptr @.str378) %t48 = load ptr, ptr %t1 store ptr %t48, ptr %retval br label %ret ret: %t49 = load ptr, ptr %retval ret ptr %t49 } define ptr @fn_stmt() { entry: %retval = alloca ptr %t0 = alloca i32 %t1 = alloca i32 %t26 = alloca ptr %t27 = alloca i32 %t58 = alloca i32 %t60 = alloca ptr store i32 0, ptr %t0 %t2 = call i32 @fn_is_op(ptr @.str379) %t3 = icmp ne i32 %t2, 0 %t4 = zext i1 %t3 to i32 store i32 %t4, ptr %t1 br i1 %t3, label %sc0, label %scend1 sc0: %t5 = load ptr, ptr @g_toks %t6 = load i32, ptr @g_pi %t7 = add i32 %t6, 1 %t8 = getelementptr inbounds %LSlice, ptr %t5, i32 0, i32 0 %t9 = load ptr, ptr %t8 %t10 = getelementptr inbounds %LSlice, ptr %t5, i32 0, i32 1 %t11 = load i32, ptr %t10 %t12 = icmp ult i32 %t7, %t11 br i1 %t12, label %ixok2, label %ixbad3 ixbad3: store i32 161, ptr @lp_site %t13 = call ptr @lp_win_stdio(i32 2) store i32 0, ptr @lp_site call i32 (ptr, ptr, ...) @fprintf(ptr %t13, ptr @.fmt_bounds, ptr @.str380, i32 %t7, i32 %t11) call void @exit(i32 1) unreachable ixok2: %t14 = getelementptr inbounds ptr, ptr %t9, i32 %t7 %t15 = load ptr, ptr %t14 %t16 = getelementptr inbounds %Cmp_Tok, ptr %t15, i32 0, i32 1 %t17 = load ptr, ptr %t16 %t18 = call i32 @lp_str_eq(ptr %t17, ptr @.str382) %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 %then4, label %ifend6 then4: %t23 = load i32, ptr @g_pi %t24 = add i32 %t23, 2 store i32 %t24, ptr @g_pi call void @fn_eat_op(ptr @.str383) %t25 = call ptr @fn_expr() store ptr %t25, ptr %t26 %t28 = load ptr, ptr %t26 %t29 = getelementptr inbounds %Cmp_Node, ptr %t28, i32 0, i32 0 %t30 = load i32, ptr %t29 %t31 = icmp ne i32 %t30, 31 %t32 = zext i1 %t31 to i32 %t33 = icmp ne i32 %t32, 0 %t34 = zext i1 %t33 to i32 store i32 %t34, ptr %t27 br i1 %t33, label %scend8, label %sc7 sc7: %t35 = load ptr, ptr %t26 %t36 = getelementptr inbounds %Cmp_Node, ptr %t35, i32 0, i32 1 %t37 = load ptr, ptr %t36 %t38 = call i64 @strlen(ptr %t37) %t39 = trunc i64 %t38 to i32 %t40 = icmp eq i32 %t39, 0 %t41 = zext i1 %t40 to i32 %t42 = icmp ne i32 %t41, 0 %t43 = zext i1 %t42 to i32 store i32 %t43, ptr %t27 br label %scend8 scend8: %t44 = load i32, ptr %t27 %t45 = icmp ne i32 %t44, 0 br i1 %t45, label %then9, label %ifend11 then9: call void @fn_perr(ptr @.str384) br label %ifend11 ifend11: call void @fn_eat_op(ptr @.str385) call void @fn_skipnl() store i32 1, ptr %t0 br label %ifend6 ifend6: %t46 = load ptr, ptr @g_toks %t47 = load i32, ptr @g_pi %t48 = getelementptr inbounds %LSlice, ptr %t46, i32 0, i32 0 %t49 = load ptr, ptr %t48 %t50 = getelementptr inbounds %LSlice, ptr %t46, i32 0, i32 1 %t51 = load i32, ptr %t50 %t52 = icmp ult i32 %t47, %t51 br i1 %t52, label %ixok12, label %ixbad13 ixbad13: store i32 162, ptr @lp_site %t53 = call ptr @lp_win_stdio(i32 2) store i32 0, ptr @lp_site call i32 (ptr, ptr, ...) @fprintf(ptr %t53, ptr @.fmt_bounds, ptr @.str386, i32 %t47, i32 %t51) call void @exit(i32 1) unreachable ixok12: %t54 = getelementptr inbounds ptr, ptr %t49, i32 %t47 %t55 = load ptr, ptr %t54 %t56 = getelementptr inbounds %Cmp_Tok, ptr %t55, i32 0, i32 3 %t57 = load i32, ptr %t56 store i32 %t57, ptr %t58 %t59 = call ptr @fn_stmt_body() store ptr %t59, ptr %t60 %t61 = load ptr, ptr %t60 %t62 = getelementptr inbounds %Cmp_Node, ptr %t61, i32 0, i32 8 %t63 = load i32, ptr %t62 %t64 = icmp eq i32 %t63, 0 %t65 = zext i1 %t64 to i32 %t66 = icmp ne i32 %t65, 0 br i1 %t66, label %then14, label %ifend16 then14: %t67 = load ptr, ptr %t60 %t68 = getelementptr inbounds %Cmp_Node, ptr %t67, i32 0, i32 8 %t69 = load i32, ptr %t58 store i32 %t69, ptr %t68 br label %ifend16 ifend16: %t70 = load i32, ptr %t0 %t71 = icmp ne i32 %t70, 0 br i1 %t71, label %then17, label %ifend19 then17: %t72 = load ptr, ptr %t60 %t73 = getelementptr inbounds %Cmp_Node, ptr %t72, i32 0, i32 12 store i32 78, ptr %t73 store i32 1, ptr @g_g_aok_seen br label %ifend19 ifend19: %t74 = load ptr, ptr %t60 store ptr %t74, ptr %retval br label %ret ret: %t75 = load ptr, ptr %retval ret ptr %t75 } define ptr @fn_stmt_body() { entry: %retval = alloca ptr %t10 = alloca ptr %t17 = alloca i32 %t32 = alloca i32 %t41 = alloca ptr %t85 = alloca ptr %t86 = alloca i32 %t122 = alloca ptr %t130 = alloca i32 %t153 = alloca ptr %t172 = alloca ptr %t177 = alloca ptr %t194 = alloca i32 %t229 = alloca ptr %t233 = alloca i32 %t238 = alloca ptr %t240 = alloca ptr %t282 = alloca i32 %t317 = alloca ptr %t330 = alloca ptr %t335 = alloca i32 %t350 = alloca i32 %t359 = alloca ptr %t431 = alloca ptr %t458 = alloca ptr %t472 = alloca i32 %t498 = alloca ptr %t537 = alloca ptr %t545 = alloca ptr %t579 = alloca ptr %t629 = alloca ptr %t630 = alloca i32 %t631 = alloca i32 %t632 = alloca i32 %t633 = alloca i32 %t661 = alloca ptr %t700 = alloca ptr %t0 = load ptr, ptr @g_toks %t1 = load i32, ptr @g_pi %t2 = getelementptr inbounds %LSlice, ptr %t0, i32 0, i32 0 %t3 = load ptr, ptr %t2 %t4 = getelementptr inbounds %LSlice, ptr %t0, i32 0, i32 1 %t5 = load i32, ptr %t4 %t6 = icmp ult i32 %t1, %t5 br i1 %t6, label %ixok0, label %ixbad1 ixbad1: store i32 163, ptr @lp_site %t7 = call ptr @lp_win_stdio(i32 2) store i32 0, ptr @lp_site call i32 (ptr, ptr, ...) @fprintf(ptr %t7, ptr @.fmt_bounds, ptr @.str387, i32 %t1, i32 %t5) call void @exit(i32 1) unreachable ixok0: %t8 = getelementptr inbounds ptr, ptr %t3, i32 %t1 %t9 = load ptr, ptr %t8 store ptr %t9, ptr %t10 %t11 = load ptr, ptr %t10 %t12 = getelementptr inbounds %Cmp_Tok, ptr %t11, i32 0, i32 0 %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 %then2, label %ifend4 then2: %t18 = load ptr, ptr %t10 %t19 = getelementptr inbounds %Cmp_Tok, ptr %t18, i32 0, i32 1 %t20 = load ptr, ptr %t19 %t21 = call i32 @lp_str_eq(ptr %t20, ptr @.str389) %t22 = icmp ne i32 %t21, 0 %t23 = zext i1 %t22 to i32 store i32 %t23, ptr %t17 br i1 %t22, label %scend6, label %sc5 sc5: %t24 = load ptr, ptr %t10 %t25 = getelementptr inbounds %Cmp_Tok, ptr %t24, i32 0, i32 1 %t26 = load ptr, ptr %t25 %t27 = call i32 @lp_str_eq(ptr %t26, ptr @.str390) %t28 = icmp ne i32 %t27, 0 %t29 = zext i1 %t28 to i32 store i32 %t29, ptr %t17 br label %scend6 scend6: %t30 = load i32, ptr %t17 %t31 = icmp ne i32 %t30, 0 br i1 %t31, label %then7, label %ifend9 then7: store i32 0, ptr %t32 %t33 = load ptr, ptr %t10 %t34 = getelementptr inbounds %Cmp_Tok, ptr %t33, i32 0, i32 1 %t35 = load ptr, ptr %t34 %t36 = call i32 @lp_str_eq(ptr %t35, ptr @.str391) %t37 = icmp ne i32 %t36, 0 br i1 %t37, label %then10, label %ifend12 then10: store i32 1, ptr %t32 br label %ifend12 ifend12: %t38 = load i32, ptr @g_pi %t39 = add i32 %t38, 1 store i32 %t39, ptr @g_pi %t40 = call ptr @fn_node(i32 10) store ptr %t40, ptr %t41 %t42 = load ptr, ptr %t41 %t43 = getelementptr inbounds %Cmp_Node, ptr %t42, i32 0, i32 2 %t44 = load i32, ptr %t32 store i32 %t44, ptr %t43 %t45 = load ptr, ptr %t41 %t46 = getelementptr inbounds %Cmp_Node, ptr %t45, i32 0, i32 8 %t47 = load ptr, ptr @g_toks %t48 = load i32, ptr @g_pi %t49 = getelementptr inbounds %LSlice, ptr %t47, i32 0, i32 0 %t50 = load ptr, ptr %t49 %t51 = getelementptr inbounds %LSlice, ptr %t47, i32 0, i32 1 %t52 = load i32, ptr %t51 %t53 = icmp ult i32 %t48, %t52 br i1 %t53, label %ixok13, label %ixbad14 ixbad14: store i32 164, ptr @lp_site %t54 = call ptr @lp_win_stdio(i32 2) store i32 0, ptr @lp_site call i32 (ptr, ptr, ...) @fprintf(ptr %t54, ptr @.fmt_bounds, ptr @.str392, i32 %t48, i32 %t52) call void @exit(i32 1) unreachable ixok13: %t55 = getelementptr inbounds ptr, ptr %t50, i32 %t48 %t56 = load ptr, ptr %t55 %t57 = getelementptr inbounds %Cmp_Tok, ptr %t56, i32 0, i32 3 %t58 = load i32, ptr %t57 store i32 %t58, ptr %t46 %t59 = load ptr, ptr %t41 %t60 = getelementptr inbounds %Cmp_Node, ptr %t59, i32 0, i32 1 %t61 = call ptr @fn_eat_id() store ptr %t61, ptr %t60 %t62 = call i32 @fn_is_op(ptr @.str393) %t63 = icmp ne i32 %t62, 0 br i1 %t63, label %then15, label %ifend17 then15: %t64 = load i32, ptr @g_pi %t65 = add i32 %t64, 1 store i32 %t65, ptr @g_pi %t66 = load ptr, ptr %t41 %t67 = getelementptr inbounds %Cmp_Node, ptr %t66, i32 0, i32 3 %t68 = call ptr @fn_ptype() store ptr %t68, ptr %t67 br label %ifend17 ifend17: %t69 = call i32 @fn_is_op(ptr @.str394) %t70 = icmp ne i32 %t69, 0 br i1 %t70, label %then18, label %ifend20 then18: %t71 = load i32, ptr @g_pi %t72 = add i32 %t71, 1 store i32 %t72, ptr @g_pi %t73 = load ptr, ptr %t41 %t74 = getelementptr inbounds %Cmp_Node, ptr %t73, i32 0, i32 4 %t75 = call ptr @fn_expr() store ptr %t75, ptr %t74 br label %ifend20 ifend20: %t76 = load ptr, ptr %t41 store ptr %t76, ptr %retval br label %ret ifend9: %t77 = load ptr, ptr %t10 %t78 = getelementptr inbounds %Cmp_Tok, ptr %t77, i32 0, i32 1 %t79 = load ptr, ptr %t78 %t80 = call i32 @lp_str_eq(ptr %t79, ptr @.str395) %t81 = icmp ne i32 %t80, 0 br i1 %t81, label %then21, label %ifend23 then21: %t82 = load i32, ptr @g_pi %t83 = add i32 %t82, 1 store i32 %t83, ptr @g_pi %t84 = call ptr @fn_node(i32 15) store ptr %t84, ptr %t85 %t87 = load ptr, ptr @g_toks %t88 = load i32, ptr @g_pi %t89 = getelementptr inbounds %LSlice, ptr %t87, i32 0, i32 0 %t90 = load ptr, ptr %t89 %t91 = getelementptr inbounds %LSlice, ptr %t87, i32 0, i32 1 %t92 = load i32, ptr %t91 %t93 = icmp ult i32 %t88, %t92 br i1 %t93, label %ixok24, label %ixbad25 ixbad25: store i32 165, ptr @lp_site %t94 = call ptr @lp_win_stdio(i32 2) store i32 0, ptr @lp_site call i32 (ptr, ptr, ...) @fprintf(ptr %t94, ptr @.fmt_bounds, ptr @.str396, i32 %t88, i32 %t92) call void @exit(i32 1) unreachable ixok24: %t95 = getelementptr inbounds ptr, ptr %t90, i32 %t88 %t96 = load ptr, ptr %t95 %t97 = getelementptr inbounds %Cmp_Tok, ptr %t96, i32 0, i32 0 %t98 = load i32, ptr %t97 %t99 = icmp ne i32 %t98, 4 %t100 = zext i1 %t99 to i32 %t101 = icmp ne i32 %t100, 0 %t102 = zext i1 %t101 to i32 store i32 %t102, ptr %t86 br i1 %t101, label %sc26, label %scend27 sc26: %t103 = call i32 @fn_is_op(ptr @.str397) %t104 = icmp eq i32 %t103, 0 %t105 = zext i1 %t104 to i32 %t106 = icmp ne i32 %t105, 0 %t107 = zext i1 %t106 to i32 store i32 %t107, ptr %t86 br label %scend27 scend27: %t108 = load i32, ptr %t86 %t109 = icmp ne i32 %t108, 0 br i1 %t109, label %then28, label %ifend30 then28: %t110 = load ptr, ptr %t85 %t111 = getelementptr inbounds %Cmp_Node, ptr %t110, i32 0, i32 4 %t112 = call ptr @fn_expr() store ptr %t112, ptr %t111 br label %ifend30 ifend30: %t113 = load ptr, ptr %t85 store ptr %t113, ptr %retval br label %ret ifend23: %t114 = load ptr, ptr %t10 %t115 = getelementptr inbounds %Cmp_Tok, ptr %t114, i32 0, i32 1 %t116 = load ptr, ptr %t115 %t117 = call i32 @lp_str_eq(ptr %t116, ptr @.str398) %t118 = icmp ne i32 %t117, 0 br i1 %t118, label %then31, label %ifend33 then31: %t119 = load i32, ptr @g_pi %t120 = add i32 %t119, 1 store i32 %t120, ptr @g_pi %t121 = call ptr @fn_node(i32 12) store ptr %t121, ptr %t122 %t123 = load ptr, ptr %t122 %t124 = getelementptr inbounds %Cmp_Node, ptr %t123, i32 0, i32 4 %t125 = call ptr @fn_expr() store ptr %t125, ptr %t124 %t126 = load ptr, ptr %t122 %t127 = getelementptr inbounds %Cmp_Node, ptr %t126, i32 0, i32 5 %t128 = call ptr @fn_block() store ptr %t128, ptr %t127 %t129 = load i32, ptr @g_pi store i32 %t129, ptr %t130 call void @fn_skipnl() %t131 = call i32 @fn_is_id(ptr @.str399) %t132 = icmp ne i32 %t131, 0 br i1 %t132, label %then34, label %else35 then34: %t133 = load i32, ptr @g_pi %t134 = add i32 %t133, 1 store i32 %t134, ptr @g_pi call void @fn_skipnl() %t135 = call i32 @fn_is_id(ptr @.str400) %t136 = icmp ne i32 %t135, 0 br i1 %t136, label %then37, label %else38 then37: %t137 = load ptr, ptr %t122 %t138 = getelementptr inbounds %Cmp_Node, ptr %t137, i32 0, i32 6 %t139 = call ptr @fn_stmt() store ptr %t139, ptr %t138 br label %ifend39 else38: %t140 = load ptr, ptr %t122 %t141 = getelementptr inbounds %Cmp_Node, ptr %t140, i32 0, i32 6 %t142 = call ptr @fn_block() store ptr %t142, ptr %t141 br label %ifend39 ifend39: br label %ifend36 else35: %t143 = load i32, ptr %t130 store i32 %t143, ptr @g_pi br label %ifend36 ifend36: %t144 = load ptr, ptr %t122 store ptr %t144, ptr %retval br label %ret ifend33: %t145 = load ptr, ptr %t10 %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 @.str401) %t149 = icmp ne i32 %t148, 0 br i1 %t149, label %then40, label %ifend42 then40: %t150 = load i32, ptr @g_pi %t151 = add i32 %t150, 1 store i32 %t151, ptr @g_pi %t152 = call ptr @fn_node(i32 13) store ptr %t152, ptr %t153 %t154 = load ptr, ptr %t153 %t155 = getelementptr inbounds %Cmp_Node, ptr %t154, i32 0, i32 4 %t156 = call ptr @fn_expr() store ptr %t156, ptr %t155 %t157 = load ptr, ptr %t153 %t158 = getelementptr inbounds %Cmp_Node, ptr %t157, i32 0, i32 5 %t159 = call ptr @fn_block() store ptr %t159, ptr %t158 %t160 = load ptr, ptr %t153 store ptr %t160, ptr %retval br label %ret ifend42: %t161 = load ptr, ptr %t10 %t162 = getelementptr inbounds %Cmp_Tok, ptr %t161, i32 0, i32 1 %t163 = load ptr, ptr %t162 %t164 = call i32 @lp_str_eq(ptr %t163, ptr @.str402) %t165 = icmp ne i32 %t164, 0 br i1 %t165, label %then43, label %ifend45 then43: %t166 = load i32, ptr @g_pi %t167 = add i32 %t166, 1 store i32 %t167, ptr @g_pi %t168 = call i32 @fn_is_op(ptr @.str403) %t169 = icmp ne i32 %t168, 0 br i1 %t169, label %then46, label %ifend48 then46: %t170 = call ptr @fn_parse_query_for() store ptr %t170, ptr %retval br label %ret ifend48: %t171 = call ptr @fn_node(i32 14) store ptr %t171, ptr %t172 %t173 = load ptr, ptr %t172 %t174 = getelementptr inbounds %Cmp_Node, ptr %t173, i32 0, i32 1 %t175 = call ptr @fn_eat_id() store ptr %t175, ptr %t174 %t176 = call ptr @fn_eat_id() store ptr %t176, ptr %t177 %t178 = load ptr, ptr %t172 %t179 = getelementptr inbounds %Cmp_Node, ptr %t178, i32 0, i32 4 %t180 = call ptr @fn_expr() store ptr %t180, ptr %t179 call void @fn_eat_op(ptr @.str404) %t181 = load ptr, ptr %t172 %t182 = getelementptr inbounds %Cmp_Node, ptr %t181, i32 0, i32 5 %t183 = call ptr @fn_expr() store ptr %t183, ptr %t182 %t184 = load ptr, ptr %t172 %t185 = getelementptr inbounds %Cmp_Node, ptr %t184, i32 0, i32 6 %t186 = call ptr @fn_block() store ptr %t186, ptr %t185 %t187 = load ptr, ptr %t172 store ptr %t187, ptr %retval br label %ret ifend45: %t188 = load ptr, ptr %t10 %t189 = getelementptr inbounds %Cmp_Tok, ptr %t188, i32 0, i32 1 %t190 = load ptr, ptr %t189 %t191 = call i32 @lp_str_eq(ptr %t190, ptr @.str405) %t192 = icmp ne i32 %t191, 0 br i1 %t192, label %then49, label %ifend51 then49: %t193 = call ptr @fn_parse_spawn() store ptr %t193, ptr %retval br label %ret ifend51: %t195 = load ptr, ptr %t10 %t196 = getelementptr inbounds %Cmp_Tok, ptr %t195, i32 0, i32 1 %t197 = load ptr, ptr %t196 %t198 = call i32 @lp_str_eq(ptr %t197, ptr @.str406) %t199 = icmp ne i32 %t198, 0 %t200 = zext i1 %t199 to i32 store i32 %t200, ptr %t194 br i1 %t199, label %sc52, label %scend53 sc52: %t201 = load ptr, ptr @g_toks %t202 = load i32, ptr @g_pi %t203 = add i32 %t202, 1 %t204 = getelementptr inbounds %LSlice, ptr %t201, i32 0, i32 0 %t205 = load ptr, ptr %t204 %t206 = getelementptr inbounds %LSlice, ptr %t201, i32 0, i32 1 %t207 = load i32, ptr %t206 %t208 = icmp ult i32 %t203, %t207 br i1 %t208, label %ixok54, label %ixbad55 ixbad55: store i32 166, ptr @lp_site %t209 = call ptr @lp_win_stdio(i32 2) store i32 0, ptr @lp_site call i32 (ptr, ptr, ...) @fprintf(ptr %t209, ptr @.fmt_bounds, ptr @.str407, i32 %t203, i32 %t207) call void @exit(i32 1) unreachable ixok54: %t210 = getelementptr inbounds ptr, ptr %t205, i32 %t203 %t211 = load ptr, ptr %t210 %t212 = getelementptr inbounds %Cmp_Tok, ptr %t211, i32 0, i32 0 %t213 = load i32, ptr %t212 %t214 = icmp eq i32 %t213, 0 %t215 = zext i1 %t214 to i32 %t216 = icmp ne i32 %t215, 0 %t217 = zext i1 %t216 to i32 store i32 %t217, ptr %t194 br label %scend53 scend53: %t218 = load i32, ptr %t194 %t219 = icmp ne i32 %t218, 0 br i1 %t219, label %then56, label %ifend58 then56: %t220 = call ptr @fn_parse_dispatch() store ptr %t220, ptr %retval br label %ret ifend58: %t221 = load ptr, ptr %t10 %t222 = getelementptr inbounds %Cmp_Tok, ptr %t221, i32 0, i32 1 %t223 = load ptr, ptr %t222 %t224 = call i32 @lp_str_eq(ptr %t223, ptr @.str408) %t225 = icmp ne i32 %t224, 0 br i1 %t225, label %then59, label %ifend61 then59: %t226 = load i32, ptr @g_pi %t227 = add i32 %t226, 1 store i32 %t227, ptr @g_pi %t228 = call ptr @fn_node(i32 24) store ptr %t228, ptr %t229 %t230 = load ptr, ptr %t229 %t231 = getelementptr inbounds %Cmp_Node, ptr %t230, i32 0, i32 4 %t232 = call ptr @fn_expr() store ptr %t232, ptr %t231 call void @fn_skipnl() call void @fn_eat_op(ptr @.str409) store i32 0, ptr %t233 br label %wcond62 wcond62: %t234 = icmp ne i32 1, 0 br i1 %t234, label %wbody63, label %wend64 wbody63: call void @fn_skipnl() %t235 = call i32 @fn_is_op(ptr @.str410) %t236 = icmp ne i32 %t235, 0 br i1 %t236, label %then65, label %ifend67 then65: br label %wend64 ifend67: %t237 = call ptr @fn_eat_id() store ptr %t237, ptr %t238 %t239 = call ptr @fn_node(i32 25) store ptr %t239, ptr %t240 %t241 = load ptr, ptr %t240 %t242 = getelementptr inbounds %Cmp_Node, ptr %t241, i32 0, i32 1 %t243 = call ptr @fn_eat_id() store ptr %t243, ptr %t242 %t244 = call i32 @fn_is_op(ptr @.str411) %t245 = icmp ne i32 %t244, 0 br i1 %t245, label %then68, label %ifend70 then68: %t246 = load i32, ptr @g_pi %t247 = add i32 %t246, 1 store i32 %t247, ptr @g_pi %t248 = load ptr, ptr %t240 %t249 = getelementptr inbounds %Cmp_Node, ptr %t248, i32 0, i32 5 %t250 = call ptr @fn_expr() store ptr %t250, ptr %t249 br label %ifend70 ifend70: %t251 = load ptr, ptr %t240 %t252 = getelementptr inbounds %Cmp_Node, ptr %t251, i32 0, i32 2 %t253 = load i32, ptr %t233 store i32 %t253, ptr %t252 call void @fn_skipnl() %t254 = load ptr, ptr %t240 %t255 = getelementptr inbounds %Cmp_Node, ptr %t254, i32 0, i32 4 %t256 = call ptr @fn_block() store ptr %t256, ptr %t255 %t257 = load ptr, ptr %t229 %t258 = getelementptr inbounds %Cmp_Node, ptr %t257, i32 0, i32 7 %t259 = load ptr, ptr %t258 %t260 = load ptr, ptr %t240 %t261 = getelementptr inbounds %LSlice, ptr %t259, i32 0, i32 1 %t262 = getelementptr inbounds %LSlice, ptr %t259, i32 0, i32 2 %t263 = getelementptr inbounds %LSlice, ptr %t259, i32 0, i32 0 %t264 = load i32, ptr %t261 %t265 = load i32, ptr %t262 %t266 = icmp sge i32 %t264, %t265 br i1 %t266, label %grow71, label %put72 grow71: %t267 = mul i32 %t265, 2 %t268 = icmp eq i32 %t265, 0 %t269 = select i1 %t268, i32 8, i32 %t267 %t270 = getelementptr ptr, ptr null, i32 1 %t271 = ptrtoint ptr %t270 to i64 %t272 = zext i32 %t269 to i64 %t273 = mul i64 %t272, %t271 %t274 = load ptr, ptr %t263 store i32 167, ptr @lp_site %t275 = call ptr @lp_realloc(ptr %t274, i64 %t273) store i32 0, ptr @lp_site store ptr %t275, ptr %t263 store i32 %t269, ptr %t262 br label %put72 put72: %t276 = load ptr, ptr %t263 %t277 = getelementptr inbounds ptr, ptr %t276, i32 %t264 store ptr %t260, ptr %t277 %t278 = add i32 %t264, 1 store i32 %t278, ptr %t261 %t279 = load i32, ptr %t233 %t280 = add i32 %t279, 1 store i32 %t280, ptr %t233 br label %wcond62 wend64: call void @fn_eat_op(ptr @.str412) %t281 = load ptr, ptr %t229 store ptr %t281, ptr %retval br label %ret ifend61: %t283 = load ptr, ptr %t10 %t284 = getelementptr inbounds %Cmp_Tok, ptr %t283, i32 0, i32 1 %t285 = load ptr, ptr %t284 %t286 = call i32 @lp_str_eq(ptr %t285, ptr @.str413) %t287 = icmp ne i32 %t286, 0 %t288 = zext i1 %t287 to i32 store i32 %t288, ptr %t282 br i1 %t287, label %sc73, label %scend74 sc73: %t289 = load ptr, ptr @g_toks %t290 = load i32, ptr @g_pi %t291 = add i32 %t290, 1 %t292 = getelementptr inbounds %LSlice, ptr %t289, i32 0, i32 0 %t293 = load ptr, ptr %t292 %t294 = getelementptr inbounds %LSlice, ptr %t289, i32 0, i32 1 %t295 = load i32, ptr %t294 %t296 = icmp ult i32 %t291, %t295 br i1 %t296, label %ixok75, label %ixbad76 ixbad76: store i32 168, ptr @lp_site %t297 = call ptr @lp_win_stdio(i32 2) store i32 0, ptr @lp_site call i32 (ptr, ptr, ...) @fprintf(ptr %t297, ptr @.fmt_bounds, ptr @.str414, i32 %t291, i32 %t295) call void @exit(i32 1) unreachable ixok75: %t298 = getelementptr inbounds ptr, ptr %t293, i32 %t291 %t299 = load ptr, ptr %t298 %t300 = getelementptr inbounds %Cmp_Tok, ptr %t299, i32 0, i32 0 %t301 = load i32, ptr %t300 %t302 = icmp eq i32 %t301, 0 %t303 = zext i1 %t302 to i32 %t304 = icmp ne i32 %t303, 0 %t305 = zext i1 %t304 to i32 store i32 %t305, ptr %t282 br label %scend74 scend74: %t306 = load i32, ptr %t282 %t307 = icmp ne i32 %t306, 0 br i1 %t307, label %then77, label %ifend79 then77: %t308 = call ptr @fn_parse_emit() store ptr %t308, ptr %retval br label %ret ifend79: %t309 = load ptr, ptr %t10 %t310 = getelementptr inbounds %Cmp_Tok, ptr %t309, i32 0, i32 1 %t311 = load ptr, ptr %t310 %t312 = call i32 @lp_str_eq(ptr %t311, ptr @.str415) %t313 = icmp ne i32 %t312, 0 br i1 %t313, label %then80, label %ifend82 then80: %t314 = load i32, ptr @g_pi %t315 = add i32 %t314, 1 store i32 %t315, ptr @g_pi %t316 = call ptr @fn_node(i32 26) store ptr %t316, ptr %t317 %t318 = load ptr, ptr %t317 %t319 = getelementptr inbounds %Cmp_Node, ptr %t318, i32 0, i32 1 %t320 = call ptr @fn_eat_id() store ptr %t320, ptr %t319 %t321 = load ptr, ptr %t317 store ptr %t321, ptr %retval br label %ret ifend82: %t322 = load ptr, ptr %t10 %t323 = getelementptr inbounds %Cmp_Tok, ptr %t322, i32 0, i32 1 %t324 = load ptr, ptr %t323 %t325 = call i32 @lp_str_eq(ptr %t324, ptr @.str416) %t326 = icmp ne i32 %t325, 0 br i1 %t326, label %then83, label %ifend85 then83: %t327 = load i32, ptr @g_pi %t328 = add i32 %t327, 1 store i32 %t328, ptr @g_pi %t329 = call ptr @fn_node(i32 23) store ptr %t329, ptr %t330 %t331 = load ptr, ptr %t330 %t332 = getelementptr inbounds %Cmp_Node, ptr %t331, i32 0, i32 4 %t333 = call ptr @fn_expr() store ptr %t333, ptr %t332 %t334 = load ptr, ptr %t330 store ptr %t334, ptr %retval br label %ret ifend85: %t336 = load ptr, ptr %t10 %t337 = getelementptr inbounds %Cmp_Tok, ptr %t336, i32 0, i32 1 %t338 = load ptr, ptr %t337 %t339 = call i32 @lp_str_eq(ptr %t338, ptr @.str417) %t340 = icmp ne i32 %t339, 0 %t341 = zext i1 %t340 to i32 store i32 %t341, ptr %t335 br i1 %t340, label %scend87, label %sc86 sc86: %t342 = load ptr, ptr %t10 %t343 = getelementptr inbounds %Cmp_Tok, ptr %t342, i32 0, i32 1 %t344 = load ptr, ptr %t343 %t345 = call i32 @lp_str_eq(ptr %t344, ptr @.str418) %t346 = icmp ne i32 %t345, 0 %t347 = zext i1 %t346 to i32 store i32 %t347, ptr %t335 br label %scend87 scend87: %t348 = load i32, ptr %t335 %t349 = icmp ne i32 %t348, 0 br i1 %t349, label %then88, label %ifend90 then88: store i32 0, ptr %t350 %t351 = load ptr, ptr %t10 %t352 = getelementptr inbounds %Cmp_Tok, ptr %t351, i32 0, i32 1 %t353 = load ptr, ptr %t352 %t354 = call i32 @lp_str_eq(ptr %t353, ptr @.str419) %t355 = icmp ne i32 %t354, 0 br i1 %t355, label %then91, label %ifend93 then91: store i32 1, ptr %t350 br label %ifend93 ifend93: %t356 = load i32, ptr @g_pi %t357 = add i32 %t356, 1 store i32 %t357, ptr @g_pi %t358 = call ptr @fn_node(i32 28) store ptr %t358, ptr %t359 %t360 = load ptr, ptr %t359 %t361 = getelementptr inbounds %Cmp_Node, ptr %t360, i32 0, i32 2 %t362 = load i32, ptr %t350 store i32 %t362, ptr %t361 %t363 = call i32 @fn_is_id(ptr @.str420) %t364 = icmp ne i32 %t363, 0 br i1 %t364, label %then94, label %ifend96 then94: %t365 = load i32, ptr @g_pi %t366 = add i32 %t365, 1 store i32 %t366, ptr @g_pi %t367 = load ptr, ptr %t359 %t368 = getelementptr inbounds %Cmp_Node, ptr %t367, i32 0, i32 3 store ptr @.str421, ptr %t368 %t369 = load ptr, ptr %t359 %t370 = getelementptr inbounds %Cmp_Node, ptr %t369, i32 0, i32 1 %t371 = call ptr @fn_eat_id() store ptr %t371, ptr %t370 %t372 = load ptr, ptr %t359 %t373 = getelementptr inbounds %Cmp_Node, ptr %t372, i32 0, i32 1 %t374 = load ptr, ptr %t373 call void @fn_note_toggled_layer(ptr %t374) %t375 = load ptr, ptr %t359 store ptr %t375, ptr %retval br label %ret ifend96: %t376 = call i32 @fn_is_id(ptr @.str422) %t377 = icmp ne i32 %t376, 0 br i1 %t377, label %then97, label %ifend99 then97: %t378 = load i32, ptr @g_pi %t379 = add i32 %t378, 1 store i32 %t379, ptr @g_pi %t380 = load ptr, ptr %t359 %t381 = getelementptr inbounds %Cmp_Node, ptr %t380, i32 0, i32 3 store ptr @.str423, ptr %t381 %t382 = load ptr, ptr %t359 %t383 = getelementptr inbounds %Cmp_Node, ptr %t382, i32 0, i32 1 %t384 = call ptr @fn_eat_id() store ptr %t384, ptr %t383 %t385 = load i32, ptr %t350 %t386 = icmp eq i32 %t385, 0 %t387 = zext i1 %t386 to i32 %t388 = icmp ne i32 %t387, 0 br i1 %t388, label %then100, label %ifend102 then100: %t389 = load ptr, ptr @g_g_disabled_sys %t390 = load ptr, ptr %t359 %t391 = getelementptr inbounds %Cmp_Node, ptr %t390, i32 0, i32 1 %t392 = load ptr, ptr %t391 %t393 = getelementptr inbounds %LSlice, ptr %t389, i32 0, i32 1 %t394 = getelementptr inbounds %LSlice, ptr %t389, i32 0, i32 2 %t395 = getelementptr inbounds %LSlice, ptr %t389, i32 0, i32 0 %t396 = load i32, ptr %t393 %t397 = load i32, ptr %t394 %t398 = icmp sge i32 %t396, %t397 br i1 %t398, label %grow103, label %put104 grow103: %t399 = mul i32 %t397, 2 %t400 = icmp eq i32 %t397, 0 %t401 = select i1 %t400, i32 8, i32 %t399 %t402 = getelementptr ptr, ptr null, i32 1 %t403 = ptrtoint ptr %t402 to i64 %t404 = zext i32 %t401 to i64 %t405 = mul i64 %t404, %t403 %t406 = load ptr, ptr %t395 store i32 169, ptr @lp_site %t407 = call ptr @lp_realloc(ptr %t406, i64 %t405) store i32 0, ptr @lp_site store ptr %t407, ptr %t395 store i32 %t401, ptr %t394 br label %put104 put104: %t408 = load ptr, ptr %t395 %t409 = getelementptr inbounds ptr, ptr %t408, i32 %t396 store ptr %t392, ptr %t409 %t410 = add i32 %t396, 1 store i32 %t410, ptr %t393 br label %ifend102 ifend102: %t411 = load ptr, ptr %t359 store ptr %t411, ptr %retval br label %ret ifend99: %t412 = load ptr, ptr %t359 %t413 = getelementptr inbounds %Cmp_Node, ptr %t412, i32 0, i32 1 %t414 = call ptr @fn_eat_id() store ptr %t414, ptr %t413 %t415 = call i32 @fn_is_id(ptr @.str424) %t416 = icmp ne i32 %t415, 0 br i1 %t416, label %then105, label %ifend107 then105: %t417 = load i32, ptr @g_pi %t418 = add i32 %t417, 1 store i32 %t418, ptr @g_pi %t419 = load ptr, ptr %t359 %t420 = getelementptr inbounds %Cmp_Node, ptr %t419, i32 0, i32 4 %t421 = call ptr @fn_expr() store ptr %t421, ptr %t420 br label %ifend107 ifend107: %t422 = load ptr, ptr %t359 store ptr %t422, ptr %retval br label %ret ifend90: %t423 = load ptr, ptr %t10 %t424 = getelementptr inbounds %Cmp_Tok, ptr %t423, i32 0, i32 1 %t425 = load ptr, ptr %t424 %t426 = call i32 @lp_str_eq(ptr %t425, ptr @.str425) %t427 = icmp ne i32 %t426, 0 br i1 %t427, label %then108, label %ifend110 then108: %t428 = load i32, ptr @g_pi %t429 = add i32 %t428, 1 store i32 %t429, ptr @g_pi %t430 = call ptr @fn_node(i32 46) store ptr %t430, ptr %t431 %t432 = load ptr, ptr %t431 %t433 = getelementptr inbounds %Cmp_Node, ptr %t432, i32 0, i32 1 %t434 = call ptr @fn_eat_id() store ptr %t434, ptr %t433 %t435 = call i32 @fn_is_id(ptr @.str426) %t436 = icmp eq i32 %t435, 0 %t437 = zext i1 %t436 to i32 %t438 = icmp ne i32 %t437, 0 br i1 %t438, label %then111, label %ifend113 then111: call void @fn_perr(ptr @.str427) br label %ifend113 ifend113: %t439 = load i32, ptr @g_pi %t440 = add i32 %t439, 1 store i32 %t440, ptr @g_pi %t441 = load ptr, ptr %t431 %t442 = getelementptr inbounds %Cmp_Node, ptr %t441, i32 0, i32 4 %t443 = call ptr @fn_expr() store ptr %t443, ptr %t442 %t444 = call i32 @fn_is_op(ptr @.str428) %t445 = icmp ne i32 %t444, 0 br i1 %t445, label %then114, label %ifend116 then114: %t446 = load ptr, ptr %t431 %t447 = getelementptr inbounds %Cmp_Node, ptr %t446, i32 0, i32 5 %t448 = call ptr @fn_record() store ptr %t448, ptr %t447 br label %ifend116 ifend116: %t449 = load ptr, ptr %t431 store ptr %t449, ptr %retval br label %ret ifend110: %t450 = load ptr, ptr %t10 %t451 = getelementptr inbounds %Cmp_Tok, ptr %t450, i32 0, i32 1 %t452 = load ptr, ptr %t451 %t453 = call i32 @lp_str_eq(ptr %t452, ptr @.str429) %t454 = icmp ne i32 %t453, 0 br i1 %t454, label %then117, label %ifend119 then117: %t455 = load i32, ptr @g_pi %t456 = add i32 %t455, 1 store i32 %t456, ptr @g_pi %t457 = call ptr @fn_node(i32 47) store ptr %t457, ptr %t458 %t459 = load ptr, ptr %t458 %t460 = getelementptr inbounds %Cmp_Node, ptr %t459, i32 0, i32 1 %t461 = call ptr @fn_eat_id() store ptr %t461, ptr %t460 %t462 = call i32 @fn_is_id(ptr @.str430) %t463 = icmp eq i32 %t462, 0 %t464 = zext i1 %t463 to i32 %t465 = icmp ne i32 %t464, 0 br i1 %t465, label %then120, label %ifend122 then120: call void @fn_perr(ptr @.str431) br label %ifend122 ifend122: %t466 = load i32, ptr @g_pi %t467 = add i32 %t466, 1 store i32 %t467, ptr @g_pi %t468 = load ptr, ptr %t458 %t469 = getelementptr inbounds %Cmp_Node, ptr %t468, i32 0, i32 4 %t470 = call ptr @fn_expr() store ptr %t470, ptr %t469 %t471 = load ptr, ptr %t458 store ptr %t471, ptr %retval br label %ret ifend119: %t473 = load ptr, ptr %t10 %t474 = getelementptr inbounds %Cmp_Tok, ptr %t473, i32 0, i32 1 %t475 = load ptr, ptr %t474 %t476 = call i32 @lp_str_eq(ptr %t475, ptr @.str432) %t477 = icmp ne i32 %t476, 0 %t478 = zext i1 %t477 to i32 store i32 %t478, ptr %t472 br i1 %t477, label %sc123, label %scend124 sc123: %t479 = load ptr, ptr @g_toks %t480 = load i32, ptr @g_pi %t481 = add i32 %t480, 1 %t482 = getelementptr inbounds %LSlice, ptr %t479, i32 0, i32 0 %t483 = load ptr, ptr %t482 %t484 = getelementptr inbounds %LSlice, ptr %t479, i32 0, i32 1 %t485 = load i32, ptr %t484 %t486 = icmp ult i32 %t481, %t485 br i1 %t486, label %ixok125, label %ixbad126 ixbad126: store i32 170, ptr @lp_site %t487 = call ptr @lp_win_stdio(i32 2) store i32 0, ptr @lp_site call i32 (ptr, ptr, ...) @fprintf(ptr %t487, ptr @.fmt_bounds, ptr @.str433, i32 %t481, i32 %t485) call void @exit(i32 1) unreachable ixok125: %t488 = getelementptr inbounds ptr, ptr %t483, i32 %t481 %t489 = load ptr, ptr %t488 %t490 = getelementptr inbounds %Cmp_Tok, ptr %t489, i32 0, i32 1 %t491 = load ptr, ptr %t490 %t492 = call i32 @lp_str_eq(ptr %t491, ptr @.str434) %t493 = icmp ne i32 %t492, 0 %t494 = zext i1 %t493 to i32 store i32 %t494, ptr %t472 br label %scend124 scend124: %t495 = load i32, ptr %t472 %t496 = icmp ne i32 %t495, 0 br i1 %t496, label %then127, label %ifend129 then127: %t497 = call ptr @fn_node(i32 56) store ptr %t497, ptr %t498 %t499 = load i32, ptr @g_pi %t500 = add i32 %t499, 1 store i32 %t500, ptr @g_pi %t501 = load ptr, ptr %t498 %t502 = getelementptr inbounds %Cmp_Node, ptr %t501, i32 0, i32 4 %t503 = call ptr @fn_block() store ptr %t503, ptr %t502 %t504 = load ptr, ptr %t498 store ptr %t504, ptr %retval br label %ret ifend129: %t505 = load ptr, ptr %t10 %t506 = getelementptr inbounds %Cmp_Tok, ptr %t505, i32 0, i32 1 %t507 = load ptr, ptr %t506 %t508 = call i32 @lp_str_eq(ptr %t507, ptr @.str435) %t509 = icmp ne i32 %t508, 0 br i1 %t509, label %then130, label %ifend132 then130: %t510 = load i32, ptr @g_pi %t511 = add i32 %t510, 1 store i32 %t511, ptr @g_pi %t512 = call ptr @fn_node(i32 17) store ptr %t512, ptr %retval br label %ret ifend132: %t513 = load ptr, ptr %t10 %t514 = getelementptr inbounds %Cmp_Tok, ptr %t513, i32 0, i32 1 %t515 = load ptr, ptr %t514 %t516 = call i32 @lp_str_eq(ptr %t515, ptr @.str436) %t517 = icmp ne i32 %t516, 0 br i1 %t517, label %then133, label %ifend135 then133: %t518 = load i32, ptr @g_pi %t519 = add i32 %t518, 1 store i32 %t519, ptr @g_pi %t520 = call ptr @fn_node(i32 18) store ptr %t520, ptr %retval br label %ret ifend135: %t521 = load ptr, ptr %t10 %t522 = getelementptr inbounds %Cmp_Tok, ptr %t521, i32 0, i32 1 %t523 = load ptr, ptr %t522 %t524 = call i32 @lp_str_eq(ptr %t523, ptr @.str437) %t525 = icmp ne i32 %t524, 0 br i1 %t525, label %then136, label %ifend138 then136: %t526 = load i32, ptr @g_pi %t527 = add i32 %t526, 1 store i32 %t527, ptr @g_pi %t528 = call ptr @fn_node(i32 50) store ptr %t528, ptr %retval br label %ret ifend138: %t529 = load ptr, ptr %t10 %t530 = getelementptr inbounds %Cmp_Tok, ptr %t529, i32 0, i32 1 %t531 = load ptr, ptr %t530 %t532 = call i32 @lp_str_eq(ptr %t531, ptr @.str438) %t533 = icmp ne i32 %t532, 0 br i1 %t533, label %then139, label %ifend141 then139: %t534 = load i32, ptr @g_pi %t535 = add i32 %t534, 1 store i32 %t535, ptr @g_pi %t536 = call ptr @fn_node(i32 19) store ptr %t536, ptr %t537 %t538 = load ptr, ptr %t537 %t539 = getelementptr inbounds %Cmp_Node, ptr %t538, i32 0, i32 4 %t540 = call ptr @fn_expr() store ptr %t540, ptr %t539 call void @fn_skipnl() call void @fn_eat_op(ptr @.str439) br label %wcond142 wcond142: %t541 = icmp ne i32 1, 0 br i1 %t541, label %wbody143, label %wend144 wbody143: call void @fn_skipnl() %t542 = call i32 @fn_is_op(ptr @.str440) %t543 = icmp ne i32 %t542, 0 br i1 %t543, label %then145, label %ifend147 then145: br label %wend144 ifend147: %t544 = call ptr @fn_node(i32 20) store ptr %t544, ptr %t545 br label %wcond148 wcond148: %t546 = icmp ne i32 1, 0 br i1 %t546, label %wbody149, label %wend150 wbody149: %t547 = load ptr, ptr %t545 %t548 = getelementptr inbounds %Cmp_Node, ptr %t547, i32 0, i32 7 %t549 = load ptr, ptr %t548 %t550 = call ptr @fn_expr() %t551 = getelementptr inbounds %LSlice, ptr %t549, i32 0, i32 1 %t552 = getelementptr inbounds %LSlice, ptr %t549, i32 0, i32 2 %t553 = getelementptr inbounds %LSlice, ptr %t549, i32 0, i32 0 %t554 = load i32, ptr %t551 %t555 = load i32, ptr %t552 %t556 = icmp sge i32 %t554, %t555 br i1 %t556, label %grow151, label %put152 grow151: %t557 = mul i32 %t555, 2 %t558 = icmp eq i32 %t555, 0 %t559 = select i1 %t558, i32 8, i32 %t557 %t560 = getelementptr ptr, ptr null, i32 1 %t561 = ptrtoint ptr %t560 to i64 %t562 = zext i32 %t559 to i64 %t563 = mul i64 %t562, %t561 %t564 = load ptr, ptr %t553 store i32 171, ptr @lp_site %t565 = call ptr @lp_realloc(ptr %t564, i64 %t563) store i32 0, ptr @lp_site store ptr %t565, ptr %t553 store i32 %t559, ptr %t552 br label %put152 put152: %t566 = load ptr, ptr %t553 %t567 = getelementptr inbounds ptr, ptr %t566, i32 %t554 store ptr %t550, ptr %t567 %t568 = add i32 %t554, 1 store i32 %t568, ptr %t551 %t569 = call i32 @fn_is_op(ptr @.str441) %t570 = icmp ne i32 %t569, 0 br i1 %t570, label %then153, label %ifend155 then153: %t571 = load i32, ptr @g_pi %t572 = add i32 %t571, 1 store i32 %t572, ptr @g_pi call void @fn_skipnl() br label %wcond148 ifend155: br label %wend150 wend150: call void @fn_eat_op(ptr @.str442) call void @fn_skipnl() %t573 = call i32 @fn_is_op(ptr @.str443) %t574 = icmp ne i32 %t573, 0 br i1 %t574, label %then156, label %else157 then156: %t575 = load ptr, ptr %t545 %t576 = getelementptr inbounds %Cmp_Node, ptr %t575, i32 0, i32 4 %t577 = call ptr @fn_block() store ptr %t577, ptr %t576 br label %ifend158 else157: %t578 = call ptr @fn_node(i32 7) store ptr %t578, ptr %t579 %t580 = load ptr, ptr %t579 %t581 = getelementptr inbounds %Cmp_Node, ptr %t580, i32 0, i32 7 %t582 = load ptr, ptr %t581 %t583 = call ptr @fn_stmt() %t584 = getelementptr inbounds %LSlice, ptr %t582, i32 0, i32 1 %t585 = getelementptr inbounds %LSlice, ptr %t582, i32 0, i32 2 %t586 = getelementptr inbounds %LSlice, ptr %t582, i32 0, i32 0 %t587 = load i32, ptr %t584 %t588 = load i32, ptr %t585 %t589 = icmp sge i32 %t587, %t588 br i1 %t589, label %grow159, label %put160 grow159: %t590 = mul i32 %t588, 2 %t591 = icmp eq i32 %t588, 0 %t592 = select i1 %t591, i32 8, i32 %t590 %t593 = getelementptr ptr, ptr null, i32 1 %t594 = ptrtoint ptr %t593 to i64 %t595 = zext i32 %t592 to i64 %t596 = mul i64 %t595, %t594 %t597 = load ptr, ptr %t586 store i32 172, ptr @lp_site %t598 = call ptr @lp_realloc(ptr %t597, i64 %t596) store i32 0, ptr @lp_site store ptr %t598, ptr %t586 store i32 %t592, ptr %t585 br label %put160 put160: %t599 = load ptr, ptr %t586 %t600 = getelementptr inbounds ptr, ptr %t599, i32 %t587 store ptr %t583, ptr %t600 %t601 = add i32 %t587, 1 store i32 %t601, ptr %t584 %t602 = load ptr, ptr %t545 %t603 = getelementptr inbounds %Cmp_Node, ptr %t602, i32 0, i32 4 %t604 = load ptr, ptr %t579 store ptr %t604, ptr %t603 br label %ifend158 ifend158: %t605 = load ptr, ptr %t537 %t606 = getelementptr inbounds %Cmp_Node, ptr %t605, i32 0, i32 7 %t607 = load ptr, ptr %t606 %t608 = load ptr, ptr %t545 %t609 = getelementptr inbounds %LSlice, ptr %t607, i32 0, i32 1 %t610 = getelementptr inbounds %LSlice, ptr %t607, i32 0, i32 2 %t611 = getelementptr inbounds %LSlice, ptr %t607, i32 0, i32 0 %t612 = load i32, ptr %t609 %t613 = load i32, ptr %t610 %t614 = icmp sge i32 %t612, %t613 br i1 %t614, label %grow161, label %put162 grow161: %t615 = mul i32 %t613, 2 %t616 = icmp eq i32 %t613, 0 %t617 = select i1 %t616, i32 8, i32 %t615 %t618 = getelementptr ptr, ptr null, i32 1 %t619 = ptrtoint ptr %t618 to i64 %t620 = zext i32 %t617 to i64 %t621 = mul i64 %t620, %t619 %t622 = load ptr, ptr %t611 store i32 173, ptr @lp_site %t623 = call ptr @lp_realloc(ptr %t622, i64 %t621) store i32 0, ptr @lp_site store ptr %t623, ptr %t611 store i32 %t617, ptr %t610 br label %put162 put162: %t624 = load ptr, ptr %t611 %t625 = getelementptr inbounds ptr, ptr %t624, i32 %t612 store ptr %t608, ptr %t625 %t626 = add i32 %t612, 1 store i32 %t626, ptr %t609 br label %wcond142 wend144: call void @fn_eat_op(ptr @.str444) %t627 = load ptr, ptr %t537 store ptr %t627, ptr %retval br label %ret ifend141: br label %ifend4 ifend4: %t628 = call ptr @fn_expr() store ptr %t628, ptr %t629 %t634 = call i32 @fn_is_op(ptr @.str445) %t635 = icmp ne i32 %t634, 0 %t636 = zext i1 %t635 to i32 store i32 %t636, ptr %t633 br i1 %t635, label %scend164, label %sc163 sc163: %t637 = call i32 @fn_is_op(ptr @.str446) %t638 = icmp ne i32 %t637, 0 %t639 = zext i1 %t638 to i32 store i32 %t639, ptr %t633 br label %scend164 scend164: %t640 = load i32, ptr %t633 %t641 = icmp ne i32 %t640, 0 %t642 = zext i1 %t641 to i32 store i32 %t642, ptr %t632 br i1 %t641, label %scend166, label %sc165 sc165: %t643 = call i32 @fn_is_op(ptr @.str447) %t644 = icmp ne i32 %t643, 0 %t645 = zext i1 %t644 to i32 store i32 %t645, ptr %t632 br label %scend166 scend166: %t646 = load i32, ptr %t632 %t647 = icmp ne i32 %t646, 0 %t648 = zext i1 %t647 to i32 store i32 %t648, ptr %t631 br i1 %t647, label %scend168, label %sc167 sc167: %t649 = call i32 @fn_is_op(ptr @.str448) %t650 = icmp ne i32 %t649, 0 %t651 = zext i1 %t650 to i32 store i32 %t651, ptr %t631 br label %scend168 scend168: %t652 = load i32, ptr %t631 %t653 = icmp ne i32 %t652, 0 %t654 = zext i1 %t653 to i32 store i32 %t654, ptr %t630 br i1 %t653, label %scend170, label %sc169 sc169: %t655 = call i32 @fn_is_op(ptr @.str449) %t656 = icmp ne i32 %t655, 0 %t657 = zext i1 %t656 to i32 store i32 %t657, ptr %t630 br label %scend170 scend170: %t658 = load i32, ptr %t630 %t659 = icmp ne i32 %t658, 0 br i1 %t659, label %then171, label %ifend173 then171: %t660 = call ptr @fn_node(i32 11) store ptr %t660, ptr %t661 %t662 = load ptr, ptr %t661 %t663 = getelementptr inbounds %Cmp_Node, ptr %t662, i32 0, i32 8 %t664 = load ptr, ptr @g_toks %t665 = load i32, ptr @g_pi %t666 = getelementptr inbounds %LSlice, ptr %t664, i32 0, i32 0 %t667 = load ptr, ptr %t666 %t668 = getelementptr inbounds %LSlice, ptr %t664, i32 0, i32 1 %t669 = load i32, ptr %t668 %t670 = icmp ult i32 %t665, %t669 br i1 %t670, label %ixok174, label %ixbad175 ixbad175: store i32 174, ptr @lp_site %t671 = call ptr @lp_win_stdio(i32 2) store i32 0, ptr @lp_site call i32 (ptr, ptr, ...) @fprintf(ptr %t671, ptr @.fmt_bounds, ptr @.str450, i32 %t665, i32 %t669) call void @exit(i32 1) unreachable ixok174: %t672 = getelementptr inbounds ptr, ptr %t667, i32 %t665 %t673 = load ptr, ptr %t672 %t674 = getelementptr inbounds %Cmp_Tok, ptr %t673, i32 0, i32 3 %t675 = load i32, ptr %t674 store i32 %t675, ptr %t663 %t676 = load ptr, ptr %t661 %t677 = getelementptr inbounds %Cmp_Node, ptr %t676, i32 0, i32 1 %t678 = load ptr, ptr @g_toks %t679 = load i32, ptr @g_pi %t680 = getelementptr inbounds %LSlice, ptr %t678, i32 0, i32 0 %t681 = load ptr, ptr %t680 %t682 = getelementptr inbounds %LSlice, ptr %t678, i32 0, i32 1 %t683 = load i32, ptr %t682 %t684 = icmp ult i32 %t679, %t683 br i1 %t684, label %ixok176, label %ixbad177 ixbad177: store i32 175, ptr @lp_site %t685 = call ptr @lp_win_stdio(i32 2) store i32 0, ptr @lp_site call i32 (ptr, ptr, ...) @fprintf(ptr %t685, ptr @.fmt_bounds, ptr @.str451, i32 %t679, i32 %t683) call void @exit(i32 1) unreachable ixok176: %t686 = getelementptr inbounds ptr, ptr %t681, i32 %t679 %t687 = load ptr, ptr %t686 %t688 = getelementptr inbounds %Cmp_Tok, ptr %t687, i32 0, i32 1 %t689 = load ptr, ptr %t688 store ptr %t689, ptr %t677 %t690 = load i32, ptr @g_pi %t691 = add i32 %t690, 1 store i32 %t691, ptr @g_pi %t692 = load ptr, ptr %t661 %t693 = getelementptr inbounds %Cmp_Node, ptr %t692, i32 0, i32 4 %t694 = load ptr, ptr %t629 store ptr %t694, ptr %t693 %t695 = load ptr, ptr %t661 %t696 = getelementptr inbounds %Cmp_Node, ptr %t695, i32 0, i32 5 %t697 = call ptr @fn_expr() store ptr %t697, ptr %t696 %t698 = load ptr, ptr %t661 store ptr %t698, ptr %retval br label %ret ifend173: %t699 = call ptr @fn_node(i32 16) store ptr %t699, ptr %t700 %t701 = load ptr, ptr %t700 %t702 = getelementptr inbounds %Cmp_Node, ptr %t701, i32 0, i32 4 %t703 = load ptr, ptr %t629 store ptr %t703, ptr %t702 %t704 = load ptr, ptr %t700 store ptr %t704, ptr %retval br label %ret ret: %t705 = load ptr, ptr %retval ret ptr %t705 } 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 @.str452) %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 @.str453) %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 %t18 = getelementptr inbounds %Cmp_Node, ptr %t17, i32 0, i32 14 %t19 = load ptr, ptr @g_toks %t20 = load i32, ptr @g_pi %t21 = sub i32 %t20, 1 %t22 = getelementptr inbounds %LSlice, ptr %t19, i32 0, i32 0 %t23 = load ptr, ptr %t22 %t24 = getelementptr inbounds %LSlice, ptr %t19, i32 0, i32 1 %t25 = load i32, ptr %t24 %t26 = icmp ult i32 %t21, %t25 br i1 %t26, label %ixok3, label %ixbad4 ixbad4: store i32 176, ptr @lp_site %t27 = call ptr @lp_win_stdio(i32 2) store i32 0, ptr @lp_site call i32 (ptr, ptr, ...) @fprintf(ptr %t27, ptr @.fmt_bounds, ptr @.str454, i32 %t21, i32 %t25) call void @exit(i32 1) unreachable ixok3: %t28 = getelementptr inbounds ptr, ptr %t23, i32 %t21 %t29 = load ptr, ptr %t28 %t30 = getelementptr inbounds %Cmp_Tok, ptr %t29, i32 0, i32 5 %t31 = load i32, ptr %t30 store i32 %t31, ptr %t18 %t32 = load ptr, ptr %t3 store ptr %t32, ptr %retval br label %ret ret: %t33 = load ptr, ptr %retval ret ptr %t33 } define ptr @fn_parse_const() { entry: %retval = alloca ptr %t3 = alloca ptr %t11 = 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 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 @.str456) %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 @.str457) %t10 = load i32, ptr @g_pi store i32 %t10, ptr %t11 %t12 = load ptr, ptr %t3 %t13 = getelementptr inbounds %Cmp_Node, ptr %t12, i32 0, i32 4 %t14 = call ptr @fn_expr() store ptr %t14, ptr %t13 %t15 = load ptr, ptr %t3 %t16 = getelementptr inbounds %Cmp_Node, ptr %t15, i32 0, i32 20 %t17 = load ptr, ptr @g_toks %t18 = load i32, ptr %t11 %t19 = getelementptr inbounds %LSlice, ptr %t17, i32 0, i32 0 %t20 = load ptr, ptr %t19 %t21 = getelementptr inbounds %LSlice, ptr %t17, i32 0, i32 1 %t22 = load i32, ptr %t21 %t23 = icmp ult i32 %t18, %t22 br i1 %t23, label %ixok0, label %ixbad1 ixbad1: store i32 177, ptr @lp_site %t24 = call ptr @lp_win_stdio(i32 2) store i32 0, ptr @lp_site call i32 (ptr, ptr, ...) @fprintf(ptr %t24, ptr @.fmt_bounds, ptr @.str458, i32 %t18, i32 %t22) call void @exit(i32 1) unreachable ixok0: %t25 = getelementptr inbounds ptr, ptr %t20, i32 %t18 %t26 = load ptr, ptr %t25 %t27 = getelementptr inbounds %Cmp_Tok, ptr %t26, i32 0, i32 7 %t28 = load i32, ptr %t27 store i32 %t28, ptr %t16 %t29 = load ptr, ptr %t3 %t30 = getelementptr inbounds %Cmp_Node, ptr %t29, i32 0, i32 21 %t31 = load ptr, ptr @g_toks %t32 = load i32, ptr @g_pi %t33 = sub i32 %t32, 1 %t34 = getelementptr inbounds %LSlice, ptr %t31, i32 0, i32 0 %t35 = load ptr, ptr %t34 %t36 = getelementptr inbounds %LSlice, ptr %t31, i32 0, i32 1 %t37 = load i32, ptr %t36 %t38 = icmp ult i32 %t33, %t37 br i1 %t38, label %ixok2, label %ixbad3 ixbad3: store i32 178, ptr @lp_site %t39 = call ptr @lp_win_stdio(i32 2) store i32 0, ptr @lp_site call i32 (ptr, ptr, ...) @fprintf(ptr %t39, ptr @.fmt_bounds, ptr @.str460, i32 %t33, i32 %t37) call void @exit(i32 1) unreachable ixok2: %t40 = getelementptr inbounds ptr, ptr %t35, i32 %t33 %t41 = load ptr, ptr %t40 %t42 = getelementptr inbounds %Cmp_Tok, ptr %t41, i32 0, i32 8 %t43 = load i32, ptr %t42 store i32 %t43, ptr %t30 %t44 = load ptr, ptr %t3 store ptr %t44, ptr %retval br label %ret ret: %t45 = load ptr, ptr %retval ret ptr %t45 } 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 @.str461) %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 @.str462) %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 @.str463) %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 @.str464) %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 @.str465) %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 @.str466) %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 @.str467) %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 @.str468) %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 @.str469) %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 @.str470) %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 @.str471) %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 @.str472) %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 @.str473) %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 @.str474) %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 @.str475) %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 @.str476) %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 @.str477) %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 @.str478) %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 @.str479) %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 @.str480) %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 @.str481) %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 @.str482) %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 @.str483) %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 @.str484) %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 @.str485) %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 @.str486) %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 @.str487) %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 @.str488) %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 @.str489) %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 @.str490) %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 @.str491) %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 @.str492) %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 @.str493) %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 @.str494) %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 @.str495) %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 @.str496) %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 @.str497) %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 @.str498) %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 %t44 = 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 %t7 = call i32 @fn_is_op(ptr @.str499) %t8 = icmp ne i32 %t7, 0 br i1 %t8, label %then0, label %ifend2 then0: %t9 = load ptr, ptr %t3 %t10 = getelementptr inbounds %Cmp_Node, ptr %t9, i32 0, i32 11 %t11 = call ptr @fn_gen_params() store ptr %t11, ptr %t10 br label %ifend2 ifend2: %t12 = load ptr, ptr %t3 %t13 = getelementptr inbounds %Cmp_Node, ptr %t12, i32 0, i32 11 %t14 = load ptr, ptr %t13 call void @fn_gen_enter(ptr %t14) %t15 = load ptr, ptr %t3 %t16 = getelementptr inbounds %Cmp_Node, ptr %t15, i32 0, i32 14 %t17 = load ptr, ptr @g_toks %t18 = load i32, ptr @g_pi %t19 = getelementptr inbounds %LSlice, ptr %t17, i32 0, i32 0 %t20 = load ptr, ptr %t19 %t21 = getelementptr inbounds %LSlice, ptr %t17, i32 0, i32 1 %t22 = load i32, ptr %t21 %t23 = icmp ult i32 %t18, %t22 br i1 %t23, label %ixok3, label %ixbad4 ixbad4: store i32 179, ptr @lp_site %t24 = call ptr @lp_win_stdio(i32 2) store i32 0, ptr @lp_site call i32 (ptr, ptr, ...) @fprintf(ptr %t24, ptr @.fmt_bounds, ptr @.str500, i32 %t18, i32 %t22) call void @exit(i32 1) unreachable ixok3: %t25 = getelementptr inbounds ptr, ptr %t20, i32 %t18 %t26 = load ptr, ptr %t25 %t27 = getelementptr inbounds %Cmp_Tok, ptr %t26, i32 0, i32 4 %t28 = load i32, ptr %t27 store i32 %t28, ptr %t16 call void @fn_eat_op(ptr @.str502) %t29 = load ptr, ptr %t3 %t30 = getelementptr inbounds %Cmp_Node, ptr %t29, i32 0, i32 1 %t31 = load ptr, ptr %t30 %t32 = call i32 @fn_is_reserved_word(ptr %t31) %t33 = icmp ne i32 %t32, 0 br i1 %t33, label %then5, label %ifend7 then5: %t34 = load ptr, ptr %t3 %t35 = getelementptr inbounds %Cmp_Node, ptr %t34, i32 0, i32 1 %t36 = load ptr, ptr %t35 store i32 180, ptr @lp_site %t37 = call ptr @lp_str_concat(ptr @.str503, ptr %t36) store i32 0, ptr @lp_site store i32 181, ptr @lp_site %t38 = call ptr @lp_str_concat(ptr %t37, ptr @.str504) store i32 0, ptr @lp_site call void @lp_free(ptr %t37) call void @fn_perr(ptr %t38) br label %ifend7 ifend7: br label %wcond8 wcond8: %t39 = call i32 @fn_is_op(ptr @.str505) %t40 = icmp eq i32 %t39, 0 %t41 = zext i1 %t40 to i32 %t42 = icmp ne i32 %t41, 0 br i1 %t42, label %wbody9, label %wend10 wbody9: %t43 = call ptr @fn_node(i32 5) store ptr %t43, ptr %t44 %t45 = load ptr, ptr %t44 %t46 = getelementptr inbounds %Cmp_Node, ptr %t45, i32 0, i32 1 %t47 = call ptr @fn_eat_id() store ptr %t47, ptr %t46 call void @fn_eat_op(ptr @.str506) %t48 = load ptr, ptr %t44 call void @fn_parse_param_mut(ptr %t48) %t49 = load ptr, ptr %t44 %t50 = getelementptr inbounds %Cmp_Node, ptr %t49, i32 0, i32 3 %t51 = call ptr @fn_ptype() store ptr %t51, ptr %t50 %t52 = call i32 @fn_is_op(ptr @.str507) %t53 = icmp ne i32 %t52, 0 br i1 %t53, label %then11, label %ifend13 then11: %t54 = load i32, ptr @g_pi %t55 = add i32 %t54, 1 store i32 %t55, ptr @g_pi %t56 = load ptr, ptr %t44 %t57 = getelementptr inbounds %Cmp_Node, ptr %t56, i32 0, i32 4 %t58 = call ptr @fn_expr() store ptr %t58, ptr %t57 br label %ifend13 ifend13: %t59 = load ptr, ptr %t3 %t60 = getelementptr inbounds %Cmp_Node, ptr %t59, i32 0, i32 7 %t61 = load ptr, ptr %t60 %t62 = load ptr, ptr %t44 %t63 = getelementptr inbounds %LSlice, ptr %t61, i32 0, i32 1 %t64 = getelementptr inbounds %LSlice, ptr %t61, i32 0, i32 2 %t65 = getelementptr inbounds %LSlice, ptr %t61, i32 0, i32 0 %t66 = load i32, ptr %t63 %t67 = load i32, ptr %t64 %t68 = icmp sge i32 %t66, %t67 br i1 %t68, label %grow14, label %put15 grow14: %t69 = mul i32 %t67, 2 %t70 = icmp eq i32 %t67, 0 %t71 = select i1 %t70, i32 8, i32 %t69 %t72 = getelementptr ptr, ptr null, i32 1 %t73 = ptrtoint ptr %t72 to i64 %t74 = zext i32 %t71 to i64 %t75 = mul i64 %t74, %t73 %t76 = load ptr, ptr %t65 store i32 182, ptr @lp_site %t77 = call ptr @lp_realloc(ptr %t76, i64 %t75) store i32 0, ptr @lp_site store ptr %t77, ptr %t65 store i32 %t71, ptr %t64 br label %put15 put15: %t78 = load ptr, ptr %t65 %t79 = getelementptr inbounds ptr, ptr %t78, i32 %t66 store ptr %t62, ptr %t79 %t80 = add i32 %t66, 1 store i32 %t80, ptr %t63 %t81 = call i32 @fn_is_op(ptr @.str508) %t82 = icmp ne i32 %t81, 0 br i1 %t82, label %then16, label %ifend18 then16: %t83 = load i32, ptr @g_pi %t84 = add i32 %t83, 1 store i32 %t84, ptr @g_pi br label %ifend18 ifend18: br label %wcond8 wend10: call void @fn_eat_op(ptr @.str509) %t85 = load ptr, ptr %t3 %t86 = getelementptr inbounds %Cmp_Node, ptr %t85, i32 0, i32 3 store ptr @.str510, ptr %t86 %t87 = call i32 @fn_is_op(ptr @.str511) %t88 = icmp ne i32 %t87, 0 br i1 %t88, label %then19, label %ifend21 then19: %t89 = load i32, ptr @g_pi %t90 = add i32 %t89, 1 store i32 %t90, ptr @g_pi %t91 = load ptr, ptr %t3 %t92 = getelementptr inbounds %Cmp_Node, ptr %t91, i32 0, i32 3 %t93 = call ptr @fn_ptype() store ptr %t93, ptr %t92 br label %ifend21 ifend21: %t94 = load ptr, ptr %t3 %t95 = getelementptr inbounds %Cmp_Node, ptr %t94, i32 0, i32 4 %t96 = call ptr @fn_block() store ptr %t96, ptr %t95 call void @fn_gen_enter(ptr null) %t97 = load ptr, ptr %t3 store ptr %t97, ptr %retval br label %ret ret: %t98 = load ptr, ptr %retval ret ptr %t98 } define ptr @fn_parse_main() { entry: %retval = alloca ptr %t3 = alloca ptr %t5 = 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 = call ptr @fn_parse_entry_params() store ptr %t4, ptr %t5 %t6 = load ptr, ptr %t3 %t7 = getelementptr inbounds %Cmp_Node, ptr %t6, i32 0, i32 4 %t8 = call ptr @fn_block() store ptr %t8, ptr %t7 %t9 = load ptr, ptr %t3 %t10 = getelementptr inbounds %Cmp_Node, ptr %t9, i32 0, i32 4 %t11 = load ptr, ptr %t10 %t12 = load ptr, ptr %t5 call void @fn_entry_bind(ptr %t11, ptr %t12) %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_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 = load i32, ptr %t2 %t12 = getelementptr inbounds %LSlice, ptr %t10, i32 0, i32 0 %t13 = load ptr, ptr %t12 %t14 = getelementptr inbounds %LSlice, ptr %t10, i32 0, i32 1 %t15 = load i32, ptr %t14 %t16 = icmp ult i32 %t11, %t15 br i1 %t16, label %ixok3, label %ixbad4 ixbad4: store i32 183, ptr @lp_site %t17 = call ptr @lp_win_stdio(i32 2) store i32 0, ptr @lp_site call i32 (ptr, ptr, ...) @fprintf(ptr %t17, ptr @.fmt_bounds, ptr @.str512, i32 %t11, i32 %t15) call void @exit(i32 1) unreachable ixok3: %t18 = getelementptr inbounds ptr, ptr %t13, i32 %t11 %t19 = load ptr, ptr %t18 %t20 = load ptr, ptr %t1 %t21 = call i32 @lp_str_eq(ptr %t19, ptr %t20) %t22 = icmp ne i32 %t21, 0 br i1 %t22, label %then5, label %ifend7 then5: store i32 1, ptr %retval br label %ret ifend7: %t23 = load i32, ptr %t2 %t24 = add i32 %t23, 1 store i32 %t24, ptr %t2 br label %wcond0 wend2: store i32 0, ptr %retval br label %ret ret: %t25 = load i32, ptr %retval ret i32 %t25 } 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 store i32 184, ptr @lp_site %t55 = call ptr @lp_str_concat(ptr %t49, ptr %t54) store i32 0, ptr @lp_site 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 = load i32, ptr %t71 %t85 = getelementptr inbounds %LSlice, ptr %t83, i32 0, i32 0 %t86 = load ptr, ptr %t85 %t87 = getelementptr inbounds %LSlice, ptr %t83, i32 0, i32 1 %t88 = load i32, ptr %t87 %t89 = icmp ult i32 %t84, %t88 br i1 %t89, label %ixok16, label %ixbad17 ixbad17: store i32 185, ptr @lp_site %t90 = call ptr @lp_win_stdio(i32 2) store i32 0, ptr @lp_site call i32 (ptr, ptr, ...) @fprintf(ptr %t90, ptr @.fmt_bounds, ptr @.str515, i32 %t84, i32 %t88) call void @exit(i32 1) unreachable ixok16: %t91 = getelementptr inbounds ptr, ptr %t86, i32 %t84 %t92 = load ptr, ptr %t91 %t93 = load ptr, ptr %t1 %t94 = load ptr, ptr %t2 call void @fn_ns_rewrite_calls(ptr %t92, ptr %t93, ptr %t94) %t95 = load i32, ptr %t71 %t96 = add i32 %t95, 1 store i32 %t96, 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 %t47 = alloca ptr %t113 = alloca ptr %t114 = 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 @.str516) call void @fn_skipnl() %t4 = getelementptr %LSlice, ptr null, i32 1 %t5 = ptrtoint ptr %t4 to i64 store i32 186, ptr @lp_site %t6 = call ptr @lp_malloc(i64 %t5) store i32 0, ptr @lp_site %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 store i32 187, ptr @lp_site %t13 = call ptr @lp_malloc(i64 %t12) store i32 0, ptr @lp_site %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 store i32 188, ptr @lp_site %t20 = call ptr @lp_malloc(i64 %t19) store i32 0, ptr @lp_site %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 @.str519) %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 @.str520) %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 @.str521) %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 @.str522) %t39 = icmp ne i32 %t38, 0 br i1 %t39, label %then9, label %ifend11 then9: %t40 = load ptr, ptr %t3 %t41 = load i32, ptr %t29 call void @fn_ns_parse_alias(ptr %t40, i32 %t41) call void @fn_skipnl() br label %wcond0 ifend11: %t42 = call i32 @fn_is_id(ptr @.str523) %t43 = icmp eq i32 %t42, 0 %t44 = zext i1 %t43 to i32 %t45 = icmp ne i32 %t44, 0 br i1 %t45, label %then12, label %ifend14 then12: call void @fn_perr(ptr @.str524) br label %ifend14 ifend14: %t46 = call ptr @fn_parse_fn() store ptr %t46, ptr %t47 %t48 = load ptr, ptr %t10 %t49 = load ptr, ptr %t47 %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 %grow15, label %put16 grow15: %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 store i32 189, ptr @lp_site %t64 = call ptr @lp_realloc(ptr %t63, i64 %t62) store i32 0, ptr @lp_site store ptr %t64, ptr %t52 store i32 %t58, ptr %t51 br label %put16 put16: %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 %t68 = load ptr, ptr %t17 %t69 = load ptr, ptr %t47 %t70 = getelementptr inbounds %Cmp_Node, ptr %t69, i32 0, i32 1 %t71 = load ptr, ptr %t70 %t72 = getelementptr inbounds %LSlice, ptr %t68, i32 0, i32 1 %t73 = getelementptr inbounds %LSlice, ptr %t68, i32 0, i32 2 %t74 = getelementptr inbounds %LSlice, ptr %t68, i32 0, i32 0 %t75 = load i32, ptr %t72 %t76 = load i32, ptr %t73 %t77 = icmp sge i32 %t75, %t76 br i1 %t77, label %grow17, label %put18 grow17: %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 store i32 190, ptr @lp_site %t86 = call ptr @lp_realloc(ptr %t85, i64 %t84) store i32 0, ptr @lp_site store ptr %t86, ptr %t74 store i32 %t80, ptr %t73 br label %put18 put18: %t87 = load ptr, ptr %t74 %t88 = getelementptr inbounds ptr, ptr %t87, i32 %t75 store ptr %t71, ptr %t88 %t89 = add i32 %t75, 1 store i32 %t89, ptr %t72 %t90 = load ptr, ptr %t24 %t91 = load i32, ptr %t29 %t92 = getelementptr inbounds %LSlice, ptr %t90, i32 0, i32 1 %t93 = getelementptr inbounds %LSlice, ptr %t90, i32 0, i32 2 %t94 = getelementptr inbounds %LSlice, ptr %t90, i32 0, i32 0 %t95 = load i32, ptr %t92 %t96 = load i32, ptr %t93 %t97 = icmp sge i32 %t95, %t96 br i1 %t97, label %grow19, label %put20 grow19: %t98 = mul i32 %t96, 2 %t99 = icmp eq i32 %t96, 0 %t100 = select i1 %t99, i32 8, i32 %t98 %t101 = getelementptr i32, ptr null, i32 1 %t102 = ptrtoint ptr %t101 to i64 %t103 = zext i32 %t100 to i64 %t104 = mul i64 %t103, %t102 %t105 = load ptr, ptr %t94 store i32 191, ptr @lp_site %t106 = call ptr @lp_realloc(ptr %t105, i64 %t104) store i32 0, ptr @lp_site store ptr %t106, ptr %t94 store i32 %t100, ptr %t93 br label %put20 put20: %t107 = load ptr, ptr %t94 %t108 = getelementptr inbounds i32, ptr %t107, i32 %t95 store i32 %t91, ptr %t108 %t109 = add i32 %t95, 1 store i32 %t109, ptr %t92 call void @fn_skipnl() br label %wcond0 wend2: call void @fn_eat_op(ptr @.str525) %t110 = load ptr, ptr %t3 %t111 = call ptr @fn_ns_lower(ptr %t110) store i32 192, ptr @lp_site %t112 = call ptr @lp_str_concat(ptr %t111, ptr @.str526) store i32 0, ptr @lp_site store ptr %t112, ptr %t113 store i32 0, ptr %t114 br label %wcond21 wcond21: %t115 = load i32, ptr %t114 %t116 = load ptr, ptr %t10 %t117 = getelementptr inbounds %LSlice, ptr %t116, i32 0, i32 1 %t118 = load i32, ptr %t117 %t119 = icmp slt i32 %t115, %t118 %t120 = zext i1 %t119 to i32 %t121 = icmp ne i32 %t120, 0 br i1 %t121, label %wbody22, label %wend23 wbody22: %t122 = load ptr, ptr %t10 %t123 = load i32, ptr %t114 %t124 = getelementptr inbounds %LSlice, ptr %t122, i32 0, i32 0 %t125 = load ptr, ptr %t124 %t126 = getelementptr inbounds %LSlice, ptr %t122, i32 0, i32 1 %t127 = load i32, ptr %t126 %t128 = icmp ult i32 %t123, %t127 br i1 %t128, label %ixok24, label %ixbad25 ixbad25: store i32 193, ptr @lp_site %t129 = call ptr @lp_win_stdio(i32 2) store i32 0, ptr @lp_site call i32 (ptr, ptr, ...) @fprintf(ptr %t129, ptr @.fmt_bounds, ptr @.str527, i32 %t123, i32 %t127) call void @exit(i32 1) unreachable ixok24: %t130 = getelementptr inbounds ptr, ptr %t125, i32 %t123 %t131 = load ptr, ptr %t130 %t132 = getelementptr inbounds %Cmp_Node, ptr %t131, i32 0, i32 1 %t133 = load ptr, ptr %t113 %t134 = load ptr, ptr %t17 %t135 = load i32, ptr %t114 %t136 = getelementptr inbounds %LSlice, ptr %t134, i32 0, i32 0 %t137 = load ptr, ptr %t136 %t138 = getelementptr inbounds %LSlice, ptr %t134, i32 0, i32 1 %t139 = load i32, ptr %t138 %t140 = icmp ult i32 %t135, %t139 br i1 %t140, label %ixok26, label %ixbad27 ixbad27: store i32 194, ptr @lp_site %t141 = call ptr @lp_win_stdio(i32 2) store i32 0, ptr @lp_site call i32 (ptr, ptr, ...) @fprintf(ptr %t141, ptr @.fmt_bounds, ptr @.str528, i32 %t135, i32 %t139) call void @exit(i32 1) unreachable ixok26: %t142 = getelementptr inbounds ptr, ptr %t137, i32 %t135 %t143 = load ptr, ptr %t142 store i32 195, ptr @lp_site %t144 = call ptr @lp_str_concat(ptr %t133, ptr %t143) store i32 0, ptr @lp_site store ptr %t144, ptr %t132 %t145 = load i32, ptr %t114 %t146 = add i32 %t145, 1 store i32 %t146, ptr %t114 br label %wcond21 wend23: store i32 0, ptr %t114 br label %wcond28 wcond28: %t147 = load i32, ptr %t114 %t148 = load ptr, ptr %t10 %t149 = getelementptr inbounds %LSlice, ptr %t148, i32 0, i32 1 %t150 = load i32, ptr %t149 %t151 = icmp slt i32 %t147, %t150 %t152 = zext i1 %t151 to i32 %t153 = icmp ne i32 %t152, 0 br i1 %t153, label %wbody29, label %wend30 wbody29: %t154 = load ptr, ptr %t10 %t155 = load i32, ptr %t114 %t156 = getelementptr inbounds %LSlice, ptr %t154, i32 0, i32 0 %t157 = load ptr, ptr %t156 %t158 = getelementptr inbounds %LSlice, ptr %t154, i32 0, i32 1 %t159 = load i32, ptr %t158 %t160 = icmp ult i32 %t155, %t159 br i1 %t160, label %ixok31, label %ixbad32 ixbad32: store i32 196, ptr @lp_site %t161 = call ptr @lp_win_stdio(i32 2) store i32 0, ptr @lp_site call i32 (ptr, ptr, ...) @fprintf(ptr %t161, ptr @.fmt_bounds, ptr @.str529, i32 %t155, i32 %t159) call void @exit(i32 1) unreachable ixok31: %t162 = getelementptr inbounds ptr, ptr %t157, i32 %t155 %t163 = load ptr, ptr %t162 %t164 = getelementptr inbounds %Cmp_Node, ptr %t163, i32 0, i32 4 %t165 = load ptr, ptr %t164 %t166 = load ptr, ptr %t17 %t167 = load ptr, ptr %t113 call void @fn_ns_rewrite_calls(ptr %t165, ptr %t166, ptr %t167) %t168 = load i32, ptr %t114 %t169 = add i32 %t168, 1 store i32 %t169, ptr %t114 br label %wcond28 wend30: %t170 = load ptr, ptr %t3 call void @fn_register_namespace(ptr %t170) %t171 = load ptr, ptr @g_g_ns_blocks %t172 = load ptr, ptr %t3 %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 %grow33, label %put34 grow33: %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 store i32 197, ptr @lp_site %t187 = call ptr @lp_realloc(ptr %t186, i64 %t185) store i32 0, ptr @lp_site store ptr %t187, ptr %t175 store i32 %t181, ptr %t174 br label %put34 put34: %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 store i32 0, ptr %t114 br label %wcond35 wcond35: %t191 = load i32, ptr %t114 %t192 = load ptr, ptr %t10 %t193 = getelementptr inbounds %LSlice, ptr %t192, i32 0, i32 1 %t194 = load i32, ptr %t193 %t195 = icmp slt i32 %t191, %t194 %t196 = zext i1 %t195 to i32 %t197 = icmp ne i32 %t196, 0 br i1 %t197, label %wbody36, label %wend37 wbody36: %t198 = load ptr, ptr %t24 %t199 = load i32, ptr %t114 %t200 = getelementptr inbounds %LSlice, ptr %t198, i32 0, i32 0 %t201 = load ptr, ptr %t200 %t202 = getelementptr inbounds %LSlice, ptr %t198, i32 0, i32 1 %t203 = load i32, ptr %t202 %t204 = icmp ult i32 %t199, %t203 br i1 %t204, label %ixok38, label %ixbad39 ixbad39: store i32 198, ptr @lp_site %t205 = call ptr @lp_win_stdio(i32 2) store i32 0, ptr @lp_site call i32 (ptr, ptr, ...) @fprintf(ptr %t205, ptr @.fmt_bounds, ptr @.str530, i32 %t199, i32 %t203) call void @exit(i32 1) unreachable ixok38: %t206 = getelementptr inbounds i32, ptr %t201, i32 %t199 %t207 = load i32, ptr %t206 %t208 = icmp eq i32 %t207, 1 %t209 = zext i1 %t208 to i32 %t210 = icmp ne i32 %t209, 0 br i1 %t210, label %then40, label %ifend42 then40: %t211 = load ptr, ptr @g_g_ns_exports %t212 = load ptr, ptr %t10 %t213 = load i32, ptr %t114 %t214 = getelementptr inbounds %LSlice, ptr %t212, i32 0, i32 0 %t215 = load ptr, ptr %t214 %t216 = getelementptr inbounds %LSlice, ptr %t212, i32 0, i32 1 %t217 = load i32, ptr %t216 %t218 = icmp ult i32 %t213, %t217 br i1 %t218, label %ixok43, label %ixbad44 ixbad44: store i32 199, ptr @lp_site %t219 = call ptr @lp_win_stdio(i32 2) store i32 0, ptr @lp_site call i32 (ptr, ptr, ...) @fprintf(ptr %t219, ptr @.fmt_bounds, ptr @.str531, i32 %t213, i32 %t217) call void @exit(i32 1) unreachable ixok43: %t220 = getelementptr inbounds ptr, ptr %t215, i32 %t213 %t221 = load ptr, ptr %t220 %t222 = getelementptr inbounds %Cmp_Node, ptr %t221, i32 0, i32 1 %t223 = load ptr, ptr %t222 %t224 = getelementptr inbounds %LSlice, ptr %t211, i32 0, i32 1 %t225 = getelementptr inbounds %LSlice, ptr %t211, i32 0, i32 2 %t226 = getelementptr inbounds %LSlice, ptr %t211, i32 0, i32 0 %t227 = load i32, ptr %t224 %t228 = load i32, ptr %t225 %t229 = icmp sge i32 %t227, %t228 br i1 %t229, label %grow45, label %put46 grow45: %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 store i32 200, ptr @lp_site %t238 = call ptr @lp_realloc(ptr %t237, i64 %t236) store i32 0, ptr @lp_site store ptr %t238, ptr %t226 store i32 %t232, ptr %t225 br label %put46 put46: %t239 = load ptr, ptr %t226 %t240 = getelementptr inbounds ptr, ptr %t239, i32 %t227 store ptr %t223, ptr %t240 %t241 = add i32 %t227, 1 store i32 %t241, ptr %t224 br label %ifend42 ifend42: %t242 = load ptr, ptr @g_prog %t243 = load ptr, ptr %t10 %t244 = load i32, ptr %t114 %t245 = getelementptr inbounds %LSlice, ptr %t243, i32 0, i32 0 %t246 = load ptr, ptr %t245 %t247 = getelementptr inbounds %LSlice, ptr %t243, i32 0, i32 1 %t248 = load i32, ptr %t247 %t249 = icmp ult i32 %t244, %t248 br i1 %t249, label %ixok47, label %ixbad48 ixbad48: store i32 201, ptr @lp_site %t250 = call ptr @lp_win_stdio(i32 2) store i32 0, ptr @lp_site call i32 (ptr, ptr, ...) @fprintf(ptr %t250, ptr @.fmt_bounds, ptr @.str532, i32 %t244, i32 %t248) call void @exit(i32 1) unreachable ixok47: %t251 = getelementptr inbounds ptr, ptr %t246, i32 %t244 %t252 = load ptr, ptr %t251 %t253 = getelementptr inbounds %LSlice, ptr %t242, i32 0, i32 1 %t254 = getelementptr inbounds %LSlice, ptr %t242, i32 0, i32 2 %t255 = getelementptr inbounds %LSlice, ptr %t242, i32 0, i32 0 %t256 = load i32, ptr %t253 %t257 = load i32, ptr %t254 %t258 = icmp sge i32 %t256, %t257 br i1 %t258, label %grow49, label %put50 grow49: %t259 = mul i32 %t257, 2 %t260 = icmp eq i32 %t257, 0 %t261 = select i1 %t260, i32 8, i32 %t259 %t262 = getelementptr ptr, ptr null, i32 1 %t263 = ptrtoint ptr %t262 to i64 %t264 = zext i32 %t261 to i64 %t265 = mul i64 %t264, %t263 %t266 = load ptr, ptr %t255 store i32 202, ptr @lp_site %t267 = call ptr @lp_realloc(ptr %t266, i64 %t265) store i32 0, ptr @lp_site store ptr %t267, ptr %t255 store i32 %t261, ptr %t254 br label %put50 put50: %t268 = load ptr, ptr %t255 %t269 = getelementptr inbounds ptr, ptr %t268, i32 %t256 store ptr %t252, ptr %t269 %t270 = add i32 %t256, 1 store i32 %t270, ptr %t253 %t271 = load i32, ptr %t114 %t272 = add i32 %t271, 1 store i32 %t272, ptr %t114 br label %wcond35 wend37: br label %ret ret: ret void } define i32 @fn_host_is_windows() { entry: %retval = alloca i32 %t1 = alloca ptr %t0 = call ptr @getenv(ptr @.str533) 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 @.str534) 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 store i32 203, ptr @lp_site %t8 = call ptr @lp_malloc(i64 %t7) store i32 0, ptr @lp_site 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 @.str536, ptr %retval br label %ret ifend8: %t26 = load ptr, ptr %t0 %t27 = load i32, ptr %t2 %t28 = add i32 %t27, 1 store i32 204, ptr @lp_site %t29 = call ptr @lp_str_slice(ptr %t26, i32 0, i32 %t28) store i32 0, ptr @lp_site 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 store i32 205, ptr @lp_site %t26 = call ptr @lp_str_concat(ptr %t24, ptr %t25) store i32 0, ptr @lp_site 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 @.str539) 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 @.str540, 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 store i32 206, ptr @lp_site %t48 = call ptr @lp_str_slice(ptr %t40, i32 %t44, i32 %t47) store i32 0, ptr @lp_site %t49 = call i32 @lp_str_eq(ptr %t48, ptr @.str542) call void @lp_free(ptr %t48) %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 store i32 207, ptr @lp_site %t59 = call ptr @lp_str_slice(ptr %t54, i32 0, i32 %t58) store i32 0, ptr @lp_site 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 @.str543) 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 @.str544, 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 store i32 208, ptr @lp_site %t50 = call ptr @lp_str_slice(ptr %t47, i32 %t48, i32 %t49) store i32 0, ptr @lp_site %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 store i32 209, ptr @lp_site %t56 = call ptr @lp_str_concat(ptr %t54, ptr %t55) store i32 0, ptr @lp_site store i32 210, ptr @lp_site %t57 = call ptr @lp_pak_open(ptr %t56, ptr @.str546) store i32 0, ptr @lp_site 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 store i32 211, ptr @lp_site %t69 = call ptr @lp_str_concat(ptr %t67, ptr %t68) store i32 0, ptr @lp_site store i32 212, ptr @lp_site %t70 = call ptr @lp_str_concat(ptr %t69, ptr @.str547) store i32 0, ptr @lp_site call void @lp_free(ptr %t69) store i32 213, ptr @lp_site %t71 = call ptr @lp_pak_open(ptr %t70, ptr @.str548) store i32 0, ptr @lp_site 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 @.str549, 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 store i32 214, ptr @lp_site %t4 = call ptr @lp_str_concat(ptr @.str550, ptr %t3) store i32 0, ptr @lp_site store i32 215, ptr @lp_site %t5 = call ptr @lp_str_concat(ptr %t4, ptr @.str552) store i32 0, ptr @lp_site call void @lp_free(ptr %t4) store ptr %t5, ptr %t6 store i32 216, ptr @lp_site %t7 = call ptr @lp_win_stdio(i32 2) store i32 0, ptr @lp_site %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 = load i32, ptr %t1 %t11 = getelementptr inbounds %LSlice, ptr %t9, i32 0, i32 0 %t12 = load ptr, ptr %t11 %t13 = getelementptr inbounds %LSlice, ptr %t9, i32 0, i32 1 %t14 = load i32, ptr %t13 %t15 = icmp ult i32 %t10, %t14 br i1 %t15, label %ixok3, label %ixbad4 ixbad4: store i32 217, ptr @lp_site %t16 = call ptr @lp_win_stdio(i32 2) store i32 0, ptr @lp_site call i32 (ptr, ptr, ...) @fprintf(ptr %t16, ptr @.fmt_bounds, ptr @.str553, i32 %t10, i32 %t14) call void @exit(i32 1) unreachable ixok3: %t17 = getelementptr inbounds ptr, ptr %t12, i32 %t10 %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 br i1 %t21, label %then5, label %ifend7 then5: store i32 1, ptr %retval br label %ret ifend7: %t22 = load i32, ptr %t1 %t23 = add i32 %t22, 1 store i32 %t23, ptr %t1 br label %wcond0 wend2: store i32 0, ptr %retval br label %ret ret: %t24 = load i32, ptr %retval ret i32 %t24 } 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 = load i32, ptr %t1 %t11 = getelementptr inbounds %LSlice, ptr %t9, i32 0, i32 0 %t12 = load ptr, ptr %t11 %t13 = getelementptr inbounds %LSlice, ptr %t9, i32 0, i32 1 %t14 = load i32, ptr %t13 %t15 = icmp ult i32 %t10, %t14 br i1 %t15, label %ixok3, label %ixbad4 ixbad4: store i32 218, ptr @lp_site %t16 = call ptr @lp_win_stdio(i32 2) store i32 0, ptr @lp_site call i32 (ptr, ptr, ...) @fprintf(ptr %t16, ptr @.fmt_bounds, ptr @.str555, i32 %t10, i32 %t14) call void @exit(i32 1) unreachable ixok3: %t17 = getelementptr inbounds ptr, ptr %t12, i32 %t10 %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 br i1 %t21, label %then5, label %ifend7 then5: store i32 1, ptr %retval br label %ret ifend7: %t22 = load i32, ptr %t1 %t23 = add i32 %t22, 1 store i32 %t23, ptr %t1 br label %wcond0 wend2: store i32 0, ptr %retval br label %ret ret: %t24 = load i32, ptr %retval ret i32 %t24 } 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 = load i32, ptr %t1 %t11 = getelementptr inbounds %LSlice, ptr %t9, i32 0, i32 0 %t12 = load ptr, ptr %t11 %t13 = getelementptr inbounds %LSlice, ptr %t9, i32 0, i32 1 %t14 = load i32, ptr %t13 %t15 = icmp ult i32 %t10, %t14 br i1 %t15, label %ixok3, label %ixbad4 ixbad4: store i32 219, ptr @lp_site %t16 = call ptr @lp_win_stdio(i32 2) store i32 0, ptr @lp_site call i32 (ptr, ptr, ...) @fprintf(ptr %t16, ptr @.fmt_bounds, ptr @.str557, i32 %t10, i32 %t14) call void @exit(i32 1) unreachable ixok3: %t17 = getelementptr inbounds ptr, ptr %t12, i32 %t10 %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 br i1 %t21, label %then5, label %ifend7 then5: store i32 1, ptr %retval br label %ret ifend7: %t22 = load i32, ptr %t1 %t23 = add i32 %t22, 1 store i32 %t23, ptr %t1 br label %wcond0 wend2: store i32 0, ptr %retval br label %ret ret: %t24 = load i32, ptr %retval ret i32 %t24 } 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 = load i32, ptr %t1 %t11 = getelementptr inbounds %LSlice, ptr %t9, i32 0, i32 0 %t12 = load ptr, ptr %t11 %t13 = getelementptr inbounds %LSlice, ptr %t9, i32 0, i32 1 %t14 = load i32, ptr %t13 %t15 = icmp ult i32 %t10, %t14 br i1 %t15, label %ixok3, label %ixbad4 ixbad4: store i32 220, ptr @lp_site %t16 = call ptr @lp_win_stdio(i32 2) store i32 0, ptr @lp_site call i32 (ptr, ptr, ...) @fprintf(ptr %t16, ptr @.fmt_bounds, ptr @.str559, i32 %t10, i32 %t14) call void @exit(i32 1) unreachable ixok3: %t17 = getelementptr inbounds ptr, ptr %t12, i32 %t10 %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 br i1 %t21, label %then5, label %ifend7 then5: br label %ret ifend7: %t22 = load i32, ptr %t1 %t23 = add i32 %t22, 1 store i32 %t23, ptr %t1 br label %wcond0 wend2: %t24 = load ptr, ptr @g_g_namespaces %t25 = load ptr, ptr %t0 %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 %grow8, label %put9 grow8: %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 store i32 221, ptr @lp_site %t40 = call ptr @lp_realloc(ptr %t39, i64 %t38) store i32 0, ptr @lp_site store ptr %t40, ptr %t28 store i32 %t34, ptr %t27 br label %put9 put9: %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_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 = load i32, ptr %t1 %t11 = getelementptr inbounds %LSlice, ptr %t9, i32 0, i32 0 %t12 = load ptr, ptr %t11 %t13 = getelementptr inbounds %LSlice, ptr %t9, i32 0, i32 1 %t14 = load i32, ptr %t13 %t15 = icmp ult i32 %t10, %t14 br i1 %t15, label %ixok3, label %ixbad4 ixbad4: store i32 222, ptr @lp_site %t16 = call ptr @lp_win_stdio(i32 2) store i32 0, ptr @lp_site call i32 (ptr, ptr, ...) @fprintf(ptr %t16, ptr @.fmt_bounds, ptr @.str561, i32 %t10, i32 %t14) call void @exit(i32 1) unreachable ixok3: %t17 = getelementptr inbounds ptr, ptr %t12, i32 %t10 %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 br i1 %t21, label %then5, label %ifend7 then5: store i32 1, ptr %retval br label %ret ifend7: %t22 = load i32, ptr %t1 %t23 = add i32 %t22, 1 store i32 %t23, ptr %t1 br label %wcond0 wend2: store i32 0, ptr %retval br label %ret ret: %t24 = load i32, ptr %retval ret i32 %t24 } 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 = load i32, ptr %t1 %t11 = getelementptr inbounds %LSlice, ptr %t9, i32 0, i32 0 %t12 = load ptr, ptr %t11 %t13 = getelementptr inbounds %LSlice, ptr %t9, i32 0, i32 1 %t14 = load i32, ptr %t13 %t15 = icmp ult i32 %t10, %t14 br i1 %t15, label %ixok3, label %ixbad4 ixbad4: store i32 223, ptr @lp_site %t16 = call ptr @lp_win_stdio(i32 2) store i32 0, ptr @lp_site call i32 (ptr, ptr, ...) @fprintf(ptr %t16, ptr @.fmt_bounds, ptr @.str563, i32 %t10, i32 %t14) call void @exit(i32 1) unreachable ixok3: %t17 = getelementptr inbounds ptr, ptr %t12, i32 %t10 %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 br i1 %t21, label %then5, label %ifend7 then5: store i32 1, ptr %retval br label %ret ifend7: %t22 = load i32, ptr %t1 %t23 = add i32 %t22, 1 store i32 %t23, ptr %t1 br label %wcond0 wend2: store i32 0, ptr %retval br label %ret ret: %t24 = load i32, ptr %retval ret i32 %t24 } define void @fn_parse_one_decl() { entry: %t0 = alloca i32 %t1 = alloca ptr %t2 = alloca ptr %t3 = alloca ptr %t4 = alloca ptr %t5 = alloca ptr %t6 = alloca ptr %t7 = alloca ptr %t8 = alloca ptr %t9 = alloca ptr %t10 = alloca i32 %t11 = alloca ptr %t12 = alloca i32 %t13 = alloca i32 %t14 = alloca ptr %t15 = alloca ptr %t16 = alloca ptr %t17 = alloca ptr %t18 = alloca ptr %t19 = alloca ptr %t20 = alloca i32 %t26 = alloca ptr %t115 = alloca i32 %t141 = alloca ptr %t142 = alloca i32 %t161 = alloca i32 %t173 = alloca ptr %t185 = alloca i32 %t201 = alloca i32 %t223 = alloca i32 %t246 = alloca i32 %t274 = alloca i32 %t278 = alloca i32 %t282 = alloca i32 %t284 = alloca i32 %t347 = alloca i32 %t391 = alloca ptr %t401 = alloca ptr %t430 = alloca ptr %t442 = alloca ptr %t445 = alloca i32 %t493 = alloca ptr %t545 = alloca ptr %t714 = alloca ptr %t784 = alloca i32 %t785 = alloca i32 %t827 = alloca i32 %t828 = alloca i32 %t870 = alloca i32 %t906 = alloca i32 %t907 = alloca i32 %t949 = alloca i32 %t950 = alloca i32 %t993 = alloca i32 %t994 = alloca i32 %t1018 = alloca i32 %t1056 = alloca i32 %t1057 = alloca i32 %t1081 = alloca i32 %t1119 = alloca i32 %t1120 = alloca i32 %t1162 = alloca i32 %t1163 = alloca i32 %t1205 = alloca i32 %t1206 = alloca i32 %t1274 = alloca i32 %t1275 = alloca i32 %t1318 = alloca ptr %t1374 = alloca i32 %t1375 = alloca i32 %t1402 = alloca ptr call void @fn_at_decl_reset() store i32 0, ptr %t0 store ptr null, ptr %t1 store ptr null, ptr %t2 store ptr null, ptr %t3 store ptr null, ptr %t4 store ptr null, ptr %t5 store ptr null, ptr %t6 store ptr null, ptr %t7 store ptr null, ptr %t8 store ptr null, ptr %t9 store i32 0, ptr %t10 store ptr null, ptr %t11 store i32 0, ptr %t12 store i32 0, ptr %t13 store ptr null, ptr %t14 store ptr null, ptr %t15 store ptr null, ptr %t16 store ptr null, ptr %t17 store ptr null, ptr %t18 store ptr null, ptr %t19 store i32 0, ptr %t20 br label %wcond0 wcond0: %t21 = call i32 @fn_is_op(ptr @.str565) %t22 = icmp ne i32 %t21, 0 br i1 %t22, label %wbody1, label %wend2 wbody1: %t23 = load i32, ptr @g_pi %t24 = add i32 %t23, 1 store i32 %t24, ptr @g_pi %t25 = call ptr @fn_eat_id() store ptr %t25, ptr %t26 %t27 = load ptr, ptr %t26 %t28 = call i32 @lp_str_eq(ptr %t27, ptr @.str566) %t29 = icmp ne i32 %t28, 0 br i1 %t29, label %then3, label %else4 then3: store i32 1, ptr %t0 br label %ifend5 else4: %t30 = load ptr, ptr %t26 %t31 = call i32 @lp_str_eq(ptr %t30, ptr @.str567) %t32 = icmp ne i32 %t31, 0 br i1 %t32, label %then6, label %else7 then6: store i32 1, ptr %t10 br label %ifend8 else7: %t33 = load ptr, ptr %t26 %t34 = call i32 @lp_str_eq(ptr %t33, ptr @.str568) %t35 = icmp ne i32 %t34, 0 br i1 %t35, label %then9, label %else10 then9: call void @fn_eat_op(ptr @.str569) %t36 = call ptr @fn_eat_id() store ptr %t36, ptr %t9 call void @fn_eat_op(ptr @.str570) br label %ifend11 else10: %t37 = load ptr, ptr %t26 %t38 = call i32 @lp_str_eq(ptr %t37, ptr @.str571) %t39 = icmp ne i32 %t38, 0 br i1 %t39, label %then12, label %else13 then12: %t40 = call ptr @fn_parse_queries_anno() store ptr %t40, ptr %t1 br label %ifend14 else13: %t41 = load ptr, ptr %t26 %t42 = call i32 @lp_str_eq(ptr %t41, ptr @.str572) %t43 = icmp ne i32 %t42, 0 br i1 %t43, label %then15, label %else16 then15: call void @fn_eat_op(ptr @.str573) %t44 = call ptr @fn_eat_id() store ptr %t44, ptr %t2 call void @fn_eat_op(ptr @.str574) br label %ifend17 else16: %t45 = load ptr, ptr %t26 %t46 = call i32 @lp_str_eq(ptr %t45, ptr @.str575) %t47 = icmp ne i32 %t46, 0 br i1 %t47, label %then18, label %else19 then18: call void @fn_eat_op(ptr @.str576) %t48 = call ptr @fn_eat_id() store ptr %t48, ptr %t3 %t49 = call i32 @fn_is_op(ptr @.str577) %t50 = icmp ne i32 %t49, 0 br i1 %t50, label %then21, label %ifend23 then21: %t51 = load i32, ptr @g_pi %t52 = add i32 %t51, 1 store i32 %t52, ptr @g_pi %t53 = call ptr @fn_eat_id() call void @fn_eat_op(ptr @.str578) %t54 = call ptr @fn_eat_id() store ptr %t54, ptr %t4 br label %ifend23 ifend23: call void @fn_eat_op(ptr @.str579) br label %ifend20 else19: %t55 = load ptr, ptr %t26 %t56 = call i32 @lp_str_eq(ptr %t55, ptr @.str580) %t57 = icmp ne i32 %t56, 0 br i1 %t57, label %then24, label %else25 then24: call void @fn_eat_op(ptr @.str581) %t58 = call ptr @fn_eat_id() store ptr %t58, ptr %t5 call void @fn_eat_op(ptr @.str582) br label %ifend26 else25: %t59 = load ptr, ptr %t26 %t60 = call i32 @lp_str_eq(ptr %t59, ptr @.str583) %t61 = icmp ne i32 %t60, 0 br i1 %t61, label %then27, label %else28 then27: call void @fn_eat_op(ptr @.str584) %t62 = call ptr @fn_eat_id() store ptr %t62, ptr %t6 call void @fn_eat_op(ptr @.str585) br label %ifend29 else28: %t63 = load ptr, ptr %t26 %t64 = call i32 @lp_str_eq(ptr %t63, ptr @.str586) %t65 = icmp ne i32 %t64, 0 br i1 %t65, label %then30, label %else31 then30: call void @fn_eat_op(ptr @.str587) %t66 = call ptr @fn_eat_id() store ptr %t66, ptr %t7 call void @fn_eat_op(ptr @.str588) br label %ifend32 else31: %t67 = load ptr, ptr %t26 %t68 = call i32 @lp_str_eq(ptr %t67, ptr @.str589) %t69 = icmp ne i32 %t68, 0 br i1 %t69, label %then33, label %else34 then33: call void @fn_eat_op(ptr @.str590) %t70 = call ptr @fn_eat_id() store ptr %t70, ptr %t8 call void @fn_eat_op(ptr @.str591) br label %ifend35 else34: %t71 = load ptr, ptr %t26 %t72 = call i32 @lp_str_eq(ptr %t71, ptr @.str592) %t73 = icmp ne i32 %t72, 0 br i1 %t73, label %then36, label %else37 then36: store ptr @.str593, ptr %t11 br label %ifend38 else37: %t74 = load ptr, ptr %t26 %t75 = call i32 @lp_str_eq(ptr %t74, ptr @.str594) %t76 = icmp ne i32 %t75, 0 br i1 %t76, label %then39, label %else40 then39: store ptr @.str595, ptr %t11 br label %ifend41 else40: %t77 = load ptr, ptr %t26 %t78 = call i32 @lp_str_eq(ptr %t77, ptr @.str596) %t79 = icmp ne i32 %t78, 0 br i1 %t79, label %then42, label %else43 then42: store i32 1, ptr %t12 br label %ifend44 else43: %t80 = load ptr, ptr %t26 %t81 = call i32 @lp_str_eq(ptr %t80, ptr @.str597) %t82 = icmp ne i32 %t81, 0 br i1 %t82, label %then45, label %else46 then45: store i32 1, ptr %t13 br label %ifend47 else46: %t83 = load ptr, ptr %t26 %t84 = call i32 @lp_str_eq(ptr %t83, ptr @.str598) %t85 = icmp ne i32 %t84, 0 br i1 %t85, label %then48, label %else49 then48: store ptr @.str599, ptr %t14 br label %ifend50 else49: %t86 = load ptr, ptr %t26 %t87 = call i32 @lp_str_eq(ptr %t86, ptr @.str600) %t88 = icmp ne i32 %t87, 0 br i1 %t88, label %then51, label %else52 then51: store ptr @.str601, ptr %t14 br label %ifend53 else52: %t89 = load ptr, ptr %t26 %t90 = call i32 @lp_str_eq(ptr %t89, ptr @.str602) %t91 = icmp ne i32 %t90, 0 br i1 %t91, label %then54, label %else55 then54: store ptr @.str603, ptr %t15 br label %ifend56 else55: %t92 = load ptr, ptr %t26 %t93 = call i32 @lp_str_eq(ptr %t92, ptr @.str604) %t94 = icmp ne i32 %t93, 0 br i1 %t94, label %then57, label %else58 then57: store ptr @.str605, ptr %t15 br label %ifend59 else58: %t95 = load ptr, ptr %t26 %t96 = call i32 @lp_str_eq(ptr %t95, ptr @.str606) %t97 = icmp ne i32 %t96, 0 br i1 %t97, label %then60, label %else61 then60: store ptr @.str607, ptr %t16 %t98 = call i32 @fn_is_op(ptr @.str608) %t99 = icmp ne i32 %t98, 0 br i1 %t99, label %then63, label %ifend65 then63: %t100 = load i32, ptr @g_pi %t101 = add i32 %t100, 1 store i32 %t101, ptr @g_pi %t102 = call ptr @fn_eat_id() store ptr %t102, ptr %t16 call void @fn_eat_op(ptr @.str609) br label %ifend65 ifend65: br label %ifend62 else61: %t103 = load ptr, ptr %t26 %t104 = call i32 @lp_str_eq(ptr %t103, ptr @.str610) %t105 = icmp ne i32 %t104, 0 br i1 %t105, label %then66, label %else67 then66: call void @fn_eat_op(ptr @.str611) %t106 = call ptr @fn_eat_id() store ptr %t106, ptr %t17 call void @fn_eat_op(ptr @.str612) %t107 = call ptr @fn_eat_id() store ptr %t107, ptr %t18 call void @fn_eat_op(ptr @.str613) br label %ifend68 else67: %t108 = load ptr, ptr %t26 %t109 = call i32 @lp_str_eq(ptr %t108, ptr @.str614) %t110 = icmp ne i32 %t109, 0 br i1 %t110, label %then69, label %else70 then69: call void @fn_eat_op(ptr @.str615) %t111 = call ptr @fn_eat_id() store ptr %t111, ptr %t19 call void @fn_eat_op(ptr @.str616) br label %ifend71 else70: %t112 = load ptr, ptr %t26 %t113 = call i32 @lp_str_eq(ptr %t112, ptr @.str617) %t114 = icmp ne i32 %t113, 0 br i1 %t114, label %then72, label %else73 then72: store i32 1, ptr %t20 br label %ifend74 else73: %t116 = load ptr, ptr %t26 %t117 = call i32 @lp_str_eq(ptr %t116, ptr @.str618) %t118 = icmp ne i32 %t117, 0 %t119 = zext i1 %t118 to i32 store i32 %t119, ptr %t115 br i1 %t118, label %scend76, label %sc75 sc75: %t120 = load ptr, ptr %t26 %t121 = call i32 @lp_str_eq(ptr %t120, ptr @.str619) %t122 = icmp ne i32 %t121, 0 %t123 = zext i1 %t122 to i32 store i32 %t123, ptr %t115 br label %scend76 scend76: %t124 = load i32, ptr %t115 %t125 = icmp ne i32 %t124, 0 br i1 %t125, label %then77, label %else78 then77: %t126 = load ptr, ptr %t26 call void @fn_at_decl(ptr %t126) br label %ifend79 else78: %t127 = load ptr, ptr %t26 %t128 = call i32 @lp_str_eq(ptr %t127, ptr @.str620) %t129 = icmp ne i32 %t128, 0 br i1 %t129, label %then80, label %else81 then80: %t130 = load ptr, ptr %t26 call void @fn_at_decl(ptr %t130) store i32 1, ptr @g_g_pm_pending br label %ifend82 else81: %t131 = load ptr, ptr %t26 %t132 = call i32 @lp_str_eq(ptr %t131, ptr @.str621) %t133 = icmp ne i32 %t132, 0 br i1 %t133, label %then83, label %else84 then83: call void @fn_pm_parse_chunked() br label %ifend85 else84: %t134 = load ptr, ptr %t26 %t135 = call i32 @lp_str_eq(ptr %t134, ptr @.str622) %t136 = icmp ne i32 %t135, 0 br i1 %t136, label %then86, label %else87 then86: call void @fn_i18n_parse_textkey() br label %ifend88 else87: %t137 = load ptr, ptr %t26 %t138 = call i32 @lp_str_eq(ptr %t137, ptr @.str623) %t139 = icmp ne i32 %t138, 0 br i1 %t139, label %then89, label %else90 then89: call void @fn_eat_op(ptr @.str624) %t140 = call ptr @fn_expr() store ptr %t140, ptr %t141 %t143 = load ptr, ptr %t141 %t144 = getelementptr inbounds %Cmp_Node, ptr %t143, i32 0, i32 0 %t145 = load i32, ptr %t144 %t146 = icmp ne i32 %t145, 31 %t147 = zext i1 %t146 to i32 %t148 = icmp ne i32 %t147, 0 %t149 = zext i1 %t148 to i32 store i32 %t149, ptr %t142 br i1 %t148, label %scend93, label %sc92 sc92: %t150 = load ptr, ptr %t141 %t151 = getelementptr inbounds %Cmp_Node, ptr %t150, i32 0, i32 1 %t152 = load ptr, ptr %t151 %t153 = call i64 @strlen(ptr %t152) %t154 = trunc i64 %t153 to i32 %t155 = icmp eq i32 %t154, 0 %t156 = zext i1 %t155 to i32 %t157 = icmp ne i32 %t156, 0 %t158 = zext i1 %t157 to i32 store i32 %t158, ptr %t142 br label %scend93 scend93: %t159 = load i32, ptr %t142 %t160 = icmp ne i32 %t159, 0 br i1 %t160, label %then94, label %ifend96 then94: call void @fn_perr(ptr @.str625) br label %ifend96 ifend96: call void @fn_eat_op(ptr @.str626) store i32 1, ptr @g_g_aok_pending br label %ifend91 else90: %t162 = load ptr, ptr %t26 %t163 = call i32 @lp_str_eq(ptr %t162, ptr @.str627) %t164 = icmp ne i32 %t163, 0 %t165 = zext i1 %t164 to i32 store i32 %t165, ptr %t161 br i1 %t164, label %scend98, label %sc97 sc97: %t166 = load ptr, ptr %t26 %t167 = call i32 @lp_str_eq(ptr %t166, ptr @.str628) %t168 = icmp ne i32 %t167, 0 %t169 = zext i1 %t168 to i32 store i32 %t169, ptr %t161 br label %scend98 scend98: %t170 = load i32, ptr %t161 %t171 = icmp ne i32 %t170, 0 br i1 %t171, label %then99, label %else100 then99: call void @fn_eat_op(ptr @.str629) %t172 = call ptr @fn_eat_id() store ptr %t172, ptr %t173 call void @fn_eat_op(ptr @.str630) %t174 = load ptr, ptr %t26 %t175 = call i32 @lp_str_eq(ptr %t174, ptr @.str631) %t176 = icmp ne i32 %t175, 0 br i1 %t176, label %then102, label %else103 then102: %t177 = load ptr, ptr %t173 store ptr %t177, ptr @g_g_res_pending_make br label %ifend104 else103: %t178 = load ptr, ptr %t173 store ptr %t178, ptr @g_g_res_pending_free br label %ifend104 ifend104: br label %ifend101 else100: %t179 = load ptr, ptr %t26 %t180 = call i32 @lp_str_eq(ptr %t179, ptr @.str632) %t181 = icmp ne i32 %t180, 0 br i1 %t181, label %then105, label %else106 then105: call void @fn_eat_op(ptr @.str633) %t182 = call ptr @fn_expr() store ptr %t182, ptr @g_g_clear_color store i32 1, ptr @g_g_has_clear_color call void @fn_eat_op(ptr @.str634) br label %ifend107 else106: %t183 = call i32 @fn_is_op(ptr @.str635) %t184 = icmp ne i32 %t183, 0 br i1 %t184, label %then108, label %ifend110 then108: store i32 0, ptr %t185 br label %wcond111 wcond111: %t186 = icmp ne i32 1, 0 br i1 %t186, label %wbody112, label %wend113 wbody112: %t187 = call i32 @fn_is_op(ptr @.str636) %t188 = icmp ne i32 %t187, 0 br i1 %t188, label %then114, label %ifend116 then114: %t189 = load i32, ptr %t185 %t190 = add i32 %t189, 1 store i32 %t190, ptr %t185 br label %ifend116 ifend116: %t191 = call i32 @fn_is_op(ptr @.str637) %t192 = icmp ne i32 %t191, 0 br i1 %t192, label %then117, label %ifend119 then117: %t193 = load i32, ptr %t185 %t194 = sub i32 %t193, 1 store i32 %t194, ptr %t185 br label %ifend119 ifend119: %t195 = load i32, ptr @g_pi %t196 = add i32 %t195, 1 store i32 %t196, ptr @g_pi %t197 = load i32, ptr %t185 %t198 = icmp eq i32 %t197, 0 %t199 = zext i1 %t198 to i32 %t200 = icmp ne i32 %t199, 0 br i1 %t200, label %then120, label %ifend122 then120: br label %wend113 ifend122: br label %wcond111 wend113: br label %ifend110 ifend110: br label %ifend107 ifend107: br label %ifend101 ifend101: br label %ifend91 ifend91: br label %ifend88 ifend88: br label %ifend85 ifend85: br label %ifend82 ifend82: br label %ifend79 ifend79: 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: %t202 = call i32 @fn_is_id(ptr @.str638) %t203 = icmp ne i32 %t202, 0 %t204 = zext i1 %t203 to i32 store i32 %t204, ptr %t201 br i1 %t203, label %sc123, label %scend124 sc123: %t205 = load ptr, ptr @g_toks %t206 = load i32, ptr @g_pi %t207 = add i32 %t206, 1 %t208 = getelementptr inbounds %LSlice, ptr %t205, i32 0, i32 0 %t209 = load ptr, ptr %t208 %t210 = getelementptr inbounds %LSlice, ptr %t205, i32 0, i32 1 %t211 = load i32, ptr %t210 %t212 = icmp ult i32 %t207, %t211 br i1 %t212, label %ixok125, label %ixbad126 ixbad126: store i32 224, ptr @lp_site %t213 = call ptr @lp_win_stdio(i32 2) store i32 0, ptr @lp_site call i32 (ptr, ptr, ...) @fprintf(ptr %t213, ptr @.fmt_bounds, ptr @.str639, i32 %t207, i32 %t211) call void @exit(i32 1) unreachable ixok125: %t214 = getelementptr inbounds ptr, ptr %t209, i32 %t207 %t215 = load ptr, ptr %t214 %t216 = getelementptr inbounds %Cmp_Tok, ptr %t215, i32 0, i32 1 %t217 = load ptr, ptr %t216 %t218 = call i32 @lp_str_eq(ptr %t217, ptr @.str641) %t219 = icmp ne i32 %t218, 0 %t220 = zext i1 %t219 to i32 store i32 %t220, ptr %t201 br label %scend124 scend124: %t221 = load i32, ptr %t201 %t222 = icmp ne i32 %t221, 0 br i1 %t222, label %then127, label %ifend129 then127: call void @fn_mod_parse_friend() br label %ret ifend129: %t224 = call i32 @fn_is_id(ptr @.str642) %t225 = icmp ne i32 %t224, 0 %t226 = zext i1 %t225 to i32 store i32 %t226, ptr %t223 br i1 %t225, label %sc130, label %scend131 sc130: %t227 = load ptr, ptr @g_toks %t228 = load i32, ptr @g_pi %t229 = add i32 %t228, 1 %t230 = getelementptr inbounds %LSlice, ptr %t227, i32 0, i32 0 %t231 = load ptr, ptr %t230 %t232 = getelementptr inbounds %LSlice, ptr %t227, i32 0, i32 1 %t233 = load i32, ptr %t232 %t234 = icmp ult i32 %t229, %t233 br i1 %t234, label %ixok132, label %ixbad133 ixbad133: store i32 225, ptr @lp_site %t235 = call ptr @lp_win_stdio(i32 2) store i32 0, ptr @lp_site call i32 (ptr, ptr, ...) @fprintf(ptr %t235, ptr @.fmt_bounds, ptr @.str643, i32 %t229, i32 %t233) call void @exit(i32 1) unreachable ixok132: %t236 = getelementptr inbounds ptr, ptr %t231, i32 %t229 %t237 = load ptr, ptr %t236 %t238 = getelementptr inbounds %Cmp_Tok, ptr %t237, i32 0, i32 0 %t239 = load i32, ptr %t238 %t240 = icmp eq i32 %t239, 0 %t241 = zext i1 %t240 to i32 %t242 = icmp ne i32 %t241, 0 %t243 = zext i1 %t242 to i32 store i32 %t243, ptr %t223 br label %scend131 scend131: %t244 = load i32, ptr %t223 %t245 = icmp ne i32 %t244, 0 br i1 %t245, label %then134, label %ifend136 then134: call void @fn_mod_parse_line() br label %ret ifend136: %t247 = call i32 @fn_is_id(ptr @.str644) %t248 = icmp ne i32 %t247, 0 %t249 = zext i1 %t248 to i32 store i32 %t249, ptr %t246 br i1 %t248, label %sc137, label %scend138 sc137: %t250 = load ptr, ptr @g_toks %t251 = load i32, ptr @g_pi %t252 = add i32 %t251, 1 %t253 = getelementptr inbounds %LSlice, ptr %t250, i32 0, i32 0 %t254 = load ptr, ptr %t253 %t255 = getelementptr inbounds %LSlice, ptr %t250, i32 0, i32 1 %t256 = load i32, ptr %t255 %t257 = icmp ult i32 %t252, %t256 br i1 %t257, label %ixok139, label %ixbad140 ixbad140: store i32 226, ptr @lp_site %t258 = call ptr @lp_win_stdio(i32 2) store i32 0, ptr @lp_site call i32 (ptr, ptr, ...) @fprintf(ptr %t258, ptr @.fmt_bounds, ptr @.str645, i32 %t252, i32 %t256) call void @exit(i32 1) unreachable ixok139: %t259 = getelementptr inbounds ptr, ptr %t254, i32 %t252 %t260 = load ptr, ptr %t259 %t261 = getelementptr inbounds %Cmp_Tok, ptr %t260, i32 0, i32 0 %t262 = load i32, ptr %t261 %t263 = icmp eq i32 %t262, 0 %t264 = zext i1 %t263 to i32 %t265 = icmp ne i32 %t264, 0 %t266 = zext i1 %t265 to i32 store i32 %t266, ptr %t246 br label %scend138 scend138: %t267 = load i32, ptr %t246 %t268 = icmp ne i32 %t267, 0 br i1 %t268, label %then141, label %ifend143 then141: %t269 = load i32, ptr @g_pi %t270 = add i32 %t269, 1 store i32 %t270, ptr @g_pi store i32 1, ptr @g_g_at_keep %t271 = load ptr, ptr @g_prog %t272 = getelementptr inbounds %LSlice, ptr %t271, i32 0, i32 1 %t273 = load i32, ptr %t272 store i32 %t273, ptr %t274 %t275 = load ptr, ptr @g_g_events %t276 = getelementptr inbounds %LSlice, ptr %t275, i32 0, i32 1 %t277 = load i32, ptr %t276 store i32 %t277, ptr %t278 %t279 = load ptr, ptr @g_g_rg_var %t280 = getelementptr inbounds %LSlice, ptr %t279, i32 0, i32 1 %t281 = load i32, ptr %t280 store i32 %t281, ptr %t282 call void @fn_parse_one_decl() %t283 = load i32, ptr %t274 store i32 %t283, ptr %t284 br label %wcond144 wcond144: %t285 = load i32, ptr %t284 %t286 = load ptr, ptr @g_prog %t287 = getelementptr inbounds %LSlice, ptr %t286, i32 0, i32 1 %t288 = load i32, ptr %t287 %t289 = icmp slt i32 %t285, %t288 %t290 = zext i1 %t289 to i32 %t291 = icmp ne i32 %t290, 0 br i1 %t291, label %wbody145, label %wend146 wbody145: %t292 = load ptr, ptr @g_prog %t293 = load i32, ptr %t284 %t294 = getelementptr inbounds %LSlice, ptr %t292, i32 0, i32 0 %t295 = load ptr, ptr %t294 %t296 = getelementptr inbounds %LSlice, ptr %t292, i32 0, i32 1 %t297 = load i32, ptr %t296 %t298 = icmp ult i32 %t293, %t297 br i1 %t298, label %ixok147, label %ixbad148 ixbad148: store i32 227, ptr @lp_site %t299 = call ptr @lp_win_stdio(i32 2) store i32 0, ptr @lp_site call i32 (ptr, ptr, ...) @fprintf(ptr %t299, ptr @.fmt_bounds, ptr @.str646, i32 %t293, i32 %t297) call void @exit(i32 1) unreachable ixok147: %t300 = getelementptr inbounds ptr, ptr %t295, i32 %t293 %t301 = load ptr, ptr %t300 %t302 = getelementptr inbounds %Cmp_Node, ptr %t301, i32 0, i32 10 store i32 1, ptr %t302 %t303 = load i32, ptr %t284 %t304 = add i32 %t303, 1 store i32 %t304, ptr %t284 br label %wcond144 wend146: %t305 = load i32, ptr %t282 store i32 %t305, ptr %t284 br label %wcond149 wcond149: %t306 = load i32, ptr %t284 %t307 = load ptr, ptr @g_g_rg_var %t308 = getelementptr inbounds %LSlice, ptr %t307, i32 0, i32 1 %t309 = load i32, ptr %t308 %t310 = icmp slt i32 %t306, %t309 %t311 = zext i1 %t310 to i32 %t312 = icmp ne i32 %t311, 0 br i1 %t312, label %wbody150, label %wend151 wbody150: %t313 = load ptr, ptr @g_g_rg_var %t314 = load i32, ptr %t284 %t315 = getelementptr inbounds %LSlice, ptr %t313, i32 0, i32 0 %t316 = load ptr, ptr %t315 %t317 = getelementptr inbounds %LSlice, ptr %t313, i32 0, i32 1 %t318 = load i32, ptr %t317 %t319 = icmp ult i32 %t314, %t318 br i1 %t319, label %ixok152, label %ixbad153 ixbad153: store i32 228, ptr @lp_site %t320 = call ptr @lp_win_stdio(i32 2) store i32 0, ptr @lp_site call i32 (ptr, ptr, ...) @fprintf(ptr %t320, ptr @.fmt_bounds, ptr @.str647, i32 %t314, i32 %t318) call void @exit(i32 1) unreachable ixok152: %t321 = getelementptr inbounds ptr, ptr %t316, i32 %t314 %t322 = load ptr, ptr %t321 %t323 = getelementptr inbounds %Cmp_Node, ptr %t322, i32 0, i32 10 store i32 1, ptr %t323 %t324 = load i32, ptr %t284 %t325 = add i32 %t324, 1 store i32 %t325, ptr %t284 br label %wcond149 wend151: %t326 = load i32, ptr %t278 store i32 %t326, ptr %t284 br label %wcond154 wcond154: %t327 = load i32, ptr %t284 %t328 = load ptr, ptr @g_g_events %t329 = getelementptr inbounds %LSlice, ptr %t328, i32 0, i32 1 %t330 = load i32, ptr %t329 %t331 = icmp slt i32 %t327, %t330 %t332 = zext i1 %t331 to i32 %t333 = icmp ne i32 %t332, 0 br i1 %t333, label %wbody155, label %wend156 wbody155: %t334 = load ptr, ptr @g_g_events %t335 = load i32, ptr %t284 %t336 = getelementptr inbounds %LSlice, ptr %t334, i32 0, i32 0 %t337 = load ptr, ptr %t336 %t338 = getelementptr inbounds %LSlice, ptr %t334, i32 0, i32 1 %t339 = load i32, ptr %t338 %t340 = icmp ult i32 %t335, %t339 br i1 %t340, label %ixok157, label %ixbad158 ixbad158: store i32 229, ptr @lp_site %t341 = call ptr @lp_win_stdio(i32 2) store i32 0, ptr @lp_site call i32 (ptr, ptr, ...) @fprintf(ptr %t341, ptr @.fmt_bounds, ptr @.str648, i32 %t335, i32 %t339) call void @exit(i32 1) unreachable ixok157: %t342 = getelementptr inbounds ptr, ptr %t337, i32 %t335 %t343 = load ptr, ptr %t342 %t344 = getelementptr inbounds %Cmp_Node, ptr %t343, i32 0, i32 10 store i32 1, ptr %t344 %t345 = load i32, ptr %t284 %t346 = add i32 %t345, 1 store i32 %t346, ptr %t284 br label %wcond154 wend156: br label %ret ifend143: %t348 = call i32 @fn_is_id(ptr @.str649) %t349 = icmp ne i32 %t348, 0 %t350 = zext i1 %t349 to i32 store i32 %t350, ptr %t347 br i1 %t349, label %sc159, label %scend160 sc159: %t351 = load ptr, ptr @g_toks %t352 = load i32, ptr @g_pi %t353 = add i32 %t352, 1 %t354 = getelementptr inbounds %LSlice, ptr %t351, i32 0, i32 0 %t355 = load ptr, ptr %t354 %t356 = getelementptr inbounds %LSlice, ptr %t351, i32 0, i32 1 %t357 = load i32, ptr %t356 %t358 = icmp ult i32 %t353, %t357 br i1 %t358, label %ixok161, label %ixbad162 ixbad162: store i32 230, ptr @lp_site %t359 = call ptr @lp_win_stdio(i32 2) store i32 0, ptr @lp_site call i32 (ptr, ptr, ...) @fprintf(ptr %t359, ptr @.fmt_bounds, ptr @.str650, i32 %t353, i32 %t357) call void @exit(i32 1) unreachable ixok161: %t360 = getelementptr inbounds ptr, ptr %t355, i32 %t353 %t361 = load ptr, ptr %t360 %t362 = getelementptr inbounds %Cmp_Tok, ptr %t361, i32 0, i32 1 %t363 = load ptr, ptr %t362 %t364 = call i32 @lp_str_eq(ptr %t363, ptr @.str651) %t365 = icmp ne i32 %t364, 0 %t366 = zext i1 %t365 to i32 store i32 %t366, ptr %t347 br label %scend160 scend160: %t367 = load i32, ptr %t347 %t368 = icmp ne i32 %t367, 0 br i1 %t368, label %then163, label %ifend165 then163: %t369 = load i32, ptr @g_pi %t370 = add i32 %t369, 2 store i32 %t370, ptr @g_pi %t371 = load ptr, ptr @g_g_parse_file %t372 = call i32 @fn_is_float_file(ptr %t371) %t373 = icmp eq i32 %t372, 0 %t374 = zext i1 %t373 to i32 %t375 = icmp ne i32 %t374, 0 br i1 %t375, label %then166, label %ifend168 then166: %t376 = load ptr, ptr @g_g_parse_file call void @fn_float_file_add(ptr %t376) br label %ifend168 ifend168: br label %ret ifend165: %t377 = call i32 @fn_is_id(ptr @.str652) %t378 = icmp ne i32 %t377, 0 br i1 %t378, label %then169, label %ifend171 then169: %t379 = load i32, ptr @g_pi %t380 = add i32 %t379, 1 store i32 %t380, ptr @g_pi %t381 = load ptr, ptr @g_toks %t382 = load i32, ptr @g_pi %t383 = getelementptr inbounds %LSlice, ptr %t381, i32 0, i32 0 %t384 = load ptr, ptr %t383 %t385 = getelementptr inbounds %LSlice, ptr %t381, i32 0, i32 1 %t386 = load i32, ptr %t385 %t387 = icmp ult i32 %t382, %t386 br i1 %t387, label %ixok172, label %ixbad173 ixbad173: store i32 231, ptr @lp_site %t388 = call ptr @lp_win_stdio(i32 2) store i32 0, ptr @lp_site call i32 (ptr, ptr, ...) @fprintf(ptr %t388, ptr @.fmt_bounds, ptr @.str653, i32 %t382, i32 %t386) call void @exit(i32 1) unreachable ixok172: %t389 = getelementptr inbounds ptr, ptr %t384, i32 %t382 %t390 = load ptr, ptr %t389 store ptr %t390, ptr %t391 %t392 = load ptr, ptr %t391 %t393 = getelementptr inbounds %Cmp_Tok, ptr %t392, i32 0, i32 0 %t394 = load i32, ptr %t393 %t395 = icmp ne i32 %t394, 2 %t396 = zext i1 %t395 to i32 %t397 = icmp ne i32 %t396, 0 br i1 %t397, label %then174, label %ifend176 then174: call void @fn_perr(ptr @.str654) br label %ifend176 ifend176: %t398 = load ptr, ptr %t391 %t399 = getelementptr inbounds %Cmp_Tok, ptr %t398, i32 0, i32 1 %t400 = load ptr, ptr %t399 store ptr %t400, ptr %t401 %t402 = load i32, ptr @g_pi %t403 = add i32 %t402, 1 store i32 %t403, ptr @g_pi %t404 = load ptr, ptr %t401 call void @fn_do_import(ptr %t404) br label %ret ifend171: %t405 = call i32 @fn_is_id(ptr @.str655) %t406 = icmp ne i32 %t405, 0 br i1 %t406, label %then177, label %ifend179 then177: %t407 = load ptr, ptr @g_prog %t408 = call ptr @fn_parse_enum() %t409 = getelementptr inbounds %LSlice, ptr %t407, i32 0, i32 1 %t410 = getelementptr inbounds %LSlice, ptr %t407, i32 0, i32 2 %t411 = getelementptr inbounds %LSlice, ptr %t407, i32 0, i32 0 %t412 = load i32, ptr %t409 %t413 = load i32, ptr %t410 %t414 = icmp sge i32 %t412, %t413 br i1 %t414, label %grow180, label %put181 grow180: %t415 = mul i32 %t413, 2 %t416 = icmp eq i32 %t413, 0 %t417 = select i1 %t416, i32 8, i32 %t415 %t418 = getelementptr ptr, ptr null, i32 1 %t419 = ptrtoint ptr %t418 to i64 %t420 = zext i32 %t417 to i64 %t421 = mul i64 %t420, %t419 %t422 = load ptr, ptr %t411 store i32 232, ptr @lp_site %t423 = call ptr @lp_realloc(ptr %t422, i64 %t421) store i32 0, ptr @lp_site store ptr %t423, ptr %t411 store i32 %t417, ptr %t410 br label %put181 put181: %t424 = load ptr, ptr %t411 %t425 = getelementptr inbounds ptr, ptr %t424, i32 %t412 store ptr %t408, ptr %t425 %t426 = add i32 %t412, 1 store i32 %t426, ptr %t409 br label %ret ifend179: %t427 = call i32 @fn_is_id(ptr @.str656) %t428 = icmp ne i32 %t427, 0 br i1 %t428, label %then182, label %ifend184 then182: %t429 = call ptr @fn_parse_event() store ptr %t429, ptr %t430 %t431 = load ptr, ptr %t15 %t432 = icmp ne ptr %t431, null %t433 = zext i1 %t432 to i32 %t434 = icmp ne i32 %t433, 0 br i1 %t434, label %then185, label %ifend187 then185: %t435 = load ptr, ptr %t430 %t436 = getelementptr inbounds %Cmp_Node, ptr %t435, i32 0, i32 3 %t437 = load ptr, ptr %t15 store ptr %t437, ptr %t436 br label %ifend187 ifend187: %t438 = load ptr, ptr %t430 call void @fn_register_event(ptr %t438) br label %ret ifend184: %t439 = call i32 @fn_is_id(ptr @.str657) %t440 = icmp ne i32 %t439, 0 br i1 %t440, label %then188, label %ifend190 then188: %t441 = call ptr @fn_parse_component() store ptr %t441, ptr %t442 %t443 = load i32, ptr %t12 %t444 = icmp ne i32 %t443, 0 br i1 %t444, label %then191, label %ifend193 then191: store i32 0, ptr %t445 br label %wcond194 wcond194: %t446 = load i32, ptr %t445 %t447 = load ptr, ptr %t442 %t448 = getelementptr inbounds %Cmp_Node, ptr %t447, i32 0, i32 7 %t449 = load ptr, ptr %t448 %t450 = getelementptr inbounds %LSlice, ptr %t449, i32 0, i32 1 %t451 = load i32, ptr %t450 %t452 = icmp slt i32 %t446, %t451 %t453 = zext i1 %t452 to i32 %t454 = icmp ne i32 %t453, 0 br i1 %t454, label %wbody195, label %wend196 wbody195: %t455 = load ptr, ptr %t442 %t456 = getelementptr inbounds %Cmp_Node, ptr %t455, i32 0, i32 7 %t457 = load ptr, ptr %t456 %t458 = load i32, ptr %t445 %t459 = getelementptr inbounds %LSlice, ptr %t457, i32 0, i32 0 %t460 = load ptr, ptr %t459 %t461 = getelementptr inbounds %LSlice, ptr %t457, i32 0, i32 1 %t462 = load i32, ptr %t461 %t463 = icmp ult i32 %t458, %t462 br i1 %t463, label %ixok197, label %ixbad198 ixbad198: store i32 233, ptr @lp_site %t464 = call ptr @lp_win_stdio(i32 2) store i32 0, ptr @lp_site call i32 (ptr, ptr, ...) @fprintf(ptr %t464, ptr @.fmt_bounds, ptr @.str658, i32 %t458, i32 %t462) call void @exit(i32 1) unreachable ixok197: %t465 = getelementptr inbounds ptr, ptr %t460, i32 %t458 %t466 = load ptr, ptr %t465 %t467 = getelementptr inbounds %Cmp_Node, ptr %t466, i32 0, i32 2 store i32 1, ptr %t467 %t468 = load i32, ptr %t445 %t469 = add i32 %t468, 1 store i32 %t469, ptr %t445 br label %wcond194 wend196: br label %ifend193 ifend193: %t470 = load ptr, ptr @g_prog %t471 = load ptr, ptr %t442 %t472 = getelementptr inbounds %LSlice, ptr %t470, i32 0, i32 1 %t473 = getelementptr inbounds %LSlice, ptr %t470, i32 0, i32 2 %t474 = getelementptr inbounds %LSlice, ptr %t470, i32 0, i32 0 %t475 = load i32, ptr %t472 %t476 = load i32, ptr %t473 %t477 = icmp sge i32 %t475, %t476 br i1 %t477, label %grow199, label %put200 grow199: %t478 = mul i32 %t476, 2 %t479 = icmp eq i32 %t476, 0 %t480 = select i1 %t479, i32 8, i32 %t478 %t481 = getelementptr ptr, ptr null, i32 1 %t482 = ptrtoint ptr %t481 to i64 %t483 = zext i32 %t480 to i64 %t484 = mul i64 %t483, %t482 %t485 = load ptr, ptr %t474 store i32 234, ptr @lp_site %t486 = call ptr @lp_realloc(ptr %t485, i64 %t484) store i32 0, ptr @lp_site store ptr %t486, ptr %t474 store i32 %t480, ptr %t473 br label %put200 put200: %t487 = load ptr, ptr %t474 %t488 = getelementptr inbounds ptr, ptr %t487, i32 %t475 store ptr %t471, ptr %t488 %t489 = add i32 %t475, 1 store i32 %t489, ptr %t472 br label %ret ifend190: %t490 = call i32 @fn_is_id(ptr @.str659) %t491 = icmp ne i32 %t490, 0 br i1 %t491, label %then201, label %ifend203 then201: %t492 = call ptr @fn_parse_archetype() store ptr %t492, ptr %t493 %t494 = load i32, ptr %t13 %t495 = icmp ne i32 %t494, 0 br i1 %t495, label %then204, label %ifend206 then204: %t496 = load ptr, ptr %t493 %t497 = getelementptr inbounds %Cmp_Node, ptr %t496, i32 0, i32 2 store i32 1, ptr %t497 br label %ifend206 ifend206: %t498 = load ptr, ptr @g_prog %t499 = load ptr, ptr %t493 %t500 = getelementptr inbounds %LSlice, ptr %t498, i32 0, i32 1 %t501 = getelementptr inbounds %LSlice, ptr %t498, i32 0, i32 2 %t502 = getelementptr inbounds %LSlice, ptr %t498, i32 0, i32 0 %t503 = load i32, ptr %t500 %t504 = load i32, ptr %t501 %t505 = icmp sge i32 %t503, %t504 br i1 %t505, label %grow207, label %put208 grow207: %t506 = mul i32 %t504, 2 %t507 = icmp eq i32 %t504, 0 %t508 = select i1 %t507, i32 8, i32 %t506 %t509 = getelementptr ptr, ptr null, i32 1 %t510 = ptrtoint ptr %t509 to i64 %t511 = zext i32 %t508 to i64 %t512 = mul i64 %t511, %t510 %t513 = load ptr, ptr %t502 store i32 235, ptr @lp_site %t514 = call ptr @lp_realloc(ptr %t513, i64 %t512) store i32 0, ptr @lp_site store ptr %t514, ptr %t502 store i32 %t508, ptr %t501 br label %put208 put208: %t515 = load ptr, ptr %t502 %t516 = getelementptr inbounds ptr, ptr %t515, i32 %t503 store ptr %t499, ptr %t516 %t517 = add i32 %t503, 1 store i32 %t517, ptr %t500 br label %ret ifend203: %t518 = call i32 @fn_is_id(ptr @.str660) %t519 = icmp ne i32 %t518, 0 br i1 %t519, label %then209, label %ifend211 then209: call void @fn_parse_scene() br label %ret ifend211: %t520 = call i32 @fn_is_id(ptr @.str661) %t521 = icmp ne i32 %t520, 0 br i1 %t521, label %then212, label %ifend214 then212: %t522 = load ptr, ptr @g_prog %t523 = call ptr @fn_parse_prefab() %t524 = getelementptr inbounds %LSlice, ptr %t522, i32 0, i32 1 %t525 = getelementptr inbounds %LSlice, ptr %t522, i32 0, i32 2 %t526 = getelementptr inbounds %LSlice, ptr %t522, i32 0, i32 0 %t527 = load i32, ptr %t524 %t528 = load i32, ptr %t525 %t529 = icmp sge i32 %t527, %t528 br i1 %t529, label %grow215, label %put216 grow215: %t530 = mul i32 %t528, 2 %t531 = icmp eq i32 %t528, 0 %t532 = select i1 %t531, i32 8, i32 %t530 %t533 = getelementptr ptr, ptr null, i32 1 %t534 = ptrtoint ptr %t533 to i64 %t535 = zext i32 %t532 to i64 %t536 = mul i64 %t535, %t534 %t537 = load ptr, ptr %t526 store i32 236, ptr @lp_site %t538 = call ptr @lp_realloc(ptr %t537, i64 %t536) store i32 0, ptr @lp_site store ptr %t538, ptr %t526 store i32 %t532, ptr %t525 br label %put216 put216: %t539 = load ptr, ptr %t526 %t540 = getelementptr inbounds ptr, ptr %t539, i32 %t527 store ptr %t523, ptr %t540 %t541 = add i32 %t527, 1 store i32 %t541, ptr %t524 br label %ret ifend214: %t542 = call i32 @fn_is_id(ptr @.str662) %t543 = icmp ne i32 %t542, 0 br i1 %t543, label %then217, label %ifend219 then217: %t544 = call ptr @fn_parse_system() store ptr %t544, ptr %t545 %t546 = load i32, ptr %t20 %t547 = icmp ne i32 %t546, 0 br i1 %t547, label %then220, label %ifend222 then220: %t548 = load ptr, ptr @g_g_det_names %t549 = load ptr, ptr %t545 %t550 = getelementptr inbounds %Cmp_Node, ptr %t549, i32 0, i32 1 %t551 = load ptr, ptr %t550 %t552 = getelementptr inbounds %LSlice, ptr %t548, i32 0, i32 1 %t553 = getelementptr inbounds %LSlice, ptr %t548, i32 0, i32 2 %t554 = getelementptr inbounds %LSlice, ptr %t548, i32 0, i32 0 %t555 = load i32, ptr %t552 %t556 = load i32, ptr %t553 %t557 = icmp sge i32 %t555, %t556 br i1 %t557, label %grow223, label %put224 grow223: %t558 = mul i32 %t556, 2 %t559 = icmp eq i32 %t556, 0 %t560 = select i1 %t559, i32 8, i32 %t558 %t561 = getelementptr ptr, ptr null, i32 1 %t562 = ptrtoint ptr %t561 to i64 %t563 = zext i32 %t560 to i64 %t564 = mul i64 %t563, %t562 %t565 = load ptr, ptr %t554 store i32 237, ptr @lp_site %t566 = call ptr @lp_realloc(ptr %t565, i64 %t564) store i32 0, ptr @lp_site store ptr %t566, ptr %t554 store i32 %t560, ptr %t553 br label %put224 put224: %t567 = load ptr, ptr %t554 %t568 = getelementptr inbounds ptr, ptr %t567, i32 %t555 store ptr %t551, ptr %t568 %t569 = add i32 %t555, 1 store i32 %t569, ptr %t552 br label %ifend222 ifend222: %t570 = load i32, ptr @g_g_aok_pending %t571 = icmp ne i32 %t570, 0 br i1 %t571, label %then225, label %ifend227 then225: %t572 = load ptr, ptr @g_g_alloc_ok_names %t573 = load ptr, ptr %t545 %t574 = getelementptr inbounds %Cmp_Node, ptr %t573, i32 0, i32 1 %t575 = load ptr, ptr %t574 %t576 = getelementptr inbounds %LSlice, ptr %t572, i32 0, i32 1 %t577 = getelementptr inbounds %LSlice, ptr %t572, i32 0, i32 2 %t578 = getelementptr inbounds %LSlice, ptr %t572, i32 0, i32 0 %t579 = load i32, ptr %t576 %t580 = load i32, ptr %t577 %t581 = icmp sge i32 %t579, %t580 br i1 %t581, label %grow228, label %put229 grow228: %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 store i32 238, ptr @lp_site %t590 = call ptr @lp_realloc(ptr %t589, i64 %t588) store i32 0, ptr @lp_site store ptr %t590, ptr %t578 store i32 %t584, ptr %t577 br label %put229 put229: %t591 = load ptr, ptr %t578 %t592 = getelementptr inbounds ptr, ptr %t591, i32 %t579 store ptr %t575, ptr %t592 %t593 = add i32 %t579, 1 store i32 %t593, ptr %t576 store i32 0, ptr @g_g_aok_pending br label %ifend227 ifend227: %t594 = load ptr, ptr %t14 %t595 = icmp ne ptr %t594, null %t596 = zext i1 %t595 to i32 %t597 = icmp ne i32 %t596, 0 br i1 %t597, label %then230, label %ifend232 then230: %t598 = load ptr, ptr %t14 %t599 = call i32 @lp_str_eq(ptr %t598, ptr @.str663) %t600 = icmp ne i32 %t599, 0 br i1 %t600, label %then233, label %else234 then233: %t601 = load ptr, ptr %t545 %t602 = getelementptr inbounds %Cmp_Node, ptr %t601, i32 0, i32 2 store i32 1, ptr %t602 br label %ifend235 else234: %t603 = load ptr, ptr %t545 %t604 = getelementptr inbounds %Cmp_Node, ptr %t603, i32 0, i32 2 store i32 2, ptr %t604 br label %ifend235 ifend235: br label %ifend232 ifend232: %t605 = load ptr, ptr %t9 %t606 = icmp ne ptr %t605, null %t607 = zext i1 %t606 to i32 %t608 = icmp ne i32 %t607, 0 br i1 %t608, label %then236, label %ifend238 then236: %t609 = load ptr, ptr %t9 %t610 = load ptr, ptr %t545 %t611 = getelementptr inbounds %Cmp_Node, ptr %t610, i32 0, i32 4 %t612 = load ptr, ptr %t611 call void @fn_register_onlisten(ptr %t609, ptr %t612) br label %ret ifend238: %t613 = load ptr, ptr %t2 %t614 = icmp ne ptr %t613, null %t615 = zext i1 %t614 to i32 %t616 = icmp ne i32 %t615, 0 br i1 %t616, label %then239, label %ifend241 then239: %t617 = load ptr, ptr %t2 %t618 = load ptr, ptr %t545 %t619 = getelementptr inbounds %Cmp_Node, ptr %t618, i32 0, i32 4 %t620 = load ptr, ptr %t619 call void @fn_register_onspawn(ptr %t617, ptr %t620) %t621 = load i32, ptr %t10 %t622 = icmp ne i32 %t621, 0 br i1 %t622, label %then242, label %ifend244 then242: %t623 = load ptr, ptr %t2 store i32 239, ptr @lp_site %t624 = call ptr @lp_str_concat(ptr @.str664, ptr %t623) store i32 0, ptr @lp_site store i32 240, ptr @lp_site %t625 = call ptr @lp_str_concat(ptr %t624, ptr @.str665) store i32 0, ptr @lp_site call void @lp_free(ptr %t624) call void @fn_ensure_event(ptr %t625, i32 0) br label %ifend244 ifend244: br label %ret ifend241: %t626 = load ptr, ptr %t3 %t627 = icmp ne ptr %t626, null %t628 = zext i1 %t627 to i32 %t629 = icmp ne i32 %t628, 0 br i1 %t629, label %then245, label %ifend247 then245: %t630 = load ptr, ptr %t3 %t631 = load ptr, ptr %t545 %t632 = getelementptr inbounds %Cmp_Node, ptr %t631, i32 0, i32 4 %t633 = load ptr, ptr %t632 %t634 = load ptr, ptr %t4 call void @fn_register_ondespawn(ptr %t630, ptr %t633, ptr %t634) %t635 = load i32, ptr %t10 %t636 = icmp ne i32 %t635, 0 br i1 %t636, label %then248, label %ifend250 then248: %t637 = load ptr, ptr %t3 store i32 241, ptr @lp_site %t638 = call ptr @lp_str_concat(ptr @.str666, ptr %t637) store i32 0, ptr @lp_site store i32 242, ptr @lp_site %t639 = call ptr @lp_str_concat(ptr %t638, ptr @.str667) store i32 0, ptr @lp_site call void @lp_free(ptr %t638) call void @fn_ensure_event(ptr %t639, i32 1) br label %ifend250 ifend250: br label %ret ifend247: %t640 = load ptr, ptr %t5 %t641 = icmp ne ptr %t640, null %t642 = zext i1 %t641 to i32 %t643 = icmp ne i32 %t642, 0 br i1 %t643, label %then251, label %ifend253 then251: %t644 = load ptr, ptr %t5 %t645 = load ptr, ptr %t545 %t646 = getelementptr inbounds %Cmp_Node, ptr %t645, i32 0, i32 4 %t647 = load ptr, ptr %t646 call void @fn_register_onattach(ptr %t644, ptr %t647) %t648 = load i32, ptr %t10 %t649 = icmp ne i32 %t648, 0 br i1 %t649, label %then254, label %ifend256 then254: %t650 = load ptr, ptr %t5 store i32 243, ptr @lp_site %t651 = call ptr @lp_str_concat(ptr @.str668, ptr %t650) store i32 0, ptr @lp_site store i32 244, ptr @lp_site %t652 = call ptr @lp_str_concat(ptr %t651, ptr @.str669) store i32 0, ptr @lp_site call void @lp_free(ptr %t651) call void @fn_ensure_event(ptr %t652, i32 0) br label %ifend256 ifend256: br label %ret ifend253: %t653 = load ptr, ptr %t6 %t654 = icmp ne ptr %t653, null %t655 = zext i1 %t654 to i32 %t656 = icmp ne i32 %t655, 0 br i1 %t656, label %then257, label %ifend259 then257: %t657 = load ptr, ptr %t6 %t658 = load ptr, ptr %t545 %t659 = getelementptr inbounds %Cmp_Node, ptr %t658, i32 0, i32 4 %t660 = load ptr, ptr %t659 call void @fn_register_ondetach(ptr %t657, ptr %t660) %t661 = load i32, ptr %t10 %t662 = icmp ne i32 %t661, 0 br i1 %t662, label %then260, label %ifend262 then260: %t663 = load ptr, ptr %t6 store i32 245, ptr @lp_site %t664 = call ptr @lp_str_concat(ptr @.str670, ptr %t663) store i32 0, ptr @lp_site store i32 246, ptr @lp_site %t665 = call ptr @lp_str_concat(ptr %t664, ptr @.str671) store i32 0, ptr @lp_site call void @lp_free(ptr %t664) call void @fn_ensure_event(ptr %t665, i32 0) br label %ifend262 ifend262: br label %ret ifend259: %t666 = load ptr, ptr %t7 %t667 = icmp ne ptr %t666, null %t668 = zext i1 %t667 to i32 %t669 = icmp ne i32 %t668, 0 br i1 %t669, label %then263, label %ifend265 then263: %t670 = load ptr, ptr %t7 %t671 = load ptr, ptr %t545 %t672 = getelementptr inbounds %Cmp_Node, ptr %t671, i32 0, i32 4 %t673 = load ptr, ptr %t672 call void @fn_register_onenable(ptr %t670, ptr %t673) %t674 = load i32, ptr %t10 %t675 = icmp ne i32 %t674, 0 br i1 %t675, label %then266, label %ifend268 then266: %t676 = load ptr, ptr %t7 store i32 247, ptr @lp_site %t677 = call ptr @lp_str_concat(ptr @.str672, ptr %t676) store i32 0, ptr @lp_site store i32 248, ptr @lp_site %t678 = call ptr @lp_str_concat(ptr %t677, ptr @.str673) store i32 0, ptr @lp_site call void @lp_free(ptr %t677) call void @fn_ensure_event(ptr %t678, i32 0) br label %ifend268 ifend268: br label %ret ifend265: %t679 = load ptr, ptr %t8 %t680 = icmp ne ptr %t679, null %t681 = zext i1 %t680 to i32 %t682 = icmp ne i32 %t681, 0 br i1 %t682, label %then269, label %ifend271 then269: %t683 = load ptr, ptr %t8 %t684 = load ptr, ptr %t545 %t685 = getelementptr inbounds %Cmp_Node, ptr %t684, i32 0, i32 4 %t686 = load ptr, ptr %t685 call void @fn_register_ondisable(ptr %t683, ptr %t686) %t687 = load i32, ptr %t10 %t688 = icmp ne i32 %t687, 0 br i1 %t688, label %then272, label %ifend274 then272: %t689 = load ptr, ptr %t8 store i32 249, ptr @lp_site %t690 = call ptr @lp_str_concat(ptr @.str674, ptr %t689) store i32 0, ptr @lp_site store i32 250, ptr @lp_site %t691 = call ptr @lp_str_concat(ptr %t690, ptr @.str675) store i32 0, ptr @lp_site call void @lp_free(ptr %t690) call void @fn_ensure_event(ptr %t691, i32 0) br label %ifend274 ifend274: br label %ret ifend271: %t692 = load ptr, ptr %t11 %t693 = icmp ne ptr %t692, null %t694 = zext i1 %t693 to i32 %t695 = icmp ne i32 %t694, 0 br i1 %t695, label %then275, label %ifend277 then275: %t696 = load ptr, ptr %t545 %t697 = getelementptr inbounds %Cmp_Node, ptr %t696, i32 0, i32 3 %t698 = load ptr, ptr %t11 store ptr %t698, ptr %t697 %t699 = load i32, ptr %t10 %t700 = icmp ne i32 %t699, 0 br i1 %t700, label %then278, label %ifend280 then278: %t701 = load ptr, ptr %t11 %t702 = call i32 @lp_str_eq(ptr %t701, ptr @.str676) %t703 = icmp ne i32 %t702, 0 br i1 %t703, label %then281, label %else282 then281: call void @fn_ensure_event_empty(ptr @.str677) br label %ifend283 else282: call void @fn_ensure_event_empty(ptr @.str678) br label %ifend283 ifend283: br label %ifend280 ifend280: br label %ifend277 ifend277: %t704 = load ptr, ptr %t1 %t705 = icmp ne ptr %t704, null %t706 = zext i1 %t705 to i32 %t707 = icmp ne i32 %t706, 0 br i1 %t707, label %then284, label %ifend286 then284: %t708 = load ptr, ptr %t1 %t709 = getelementptr inbounds %Cmp_Node, ptr %t708, i32 0, i32 4 %t710 = load ptr, ptr %t545 %t711 = getelementptr inbounds %Cmp_Node, ptr %t710, i32 0, i32 4 %t712 = load ptr, ptr %t711 store ptr %t712, ptr %t709 %t713 = call ptr @fn_node(i32 7) store ptr %t713, ptr %t714 %t715 = load ptr, ptr %t714 %t716 = getelementptr inbounds %Cmp_Node, ptr %t715, i32 0, i32 7 %t717 = load ptr, ptr %t716 %t718 = load ptr, ptr %t1 %t719 = getelementptr inbounds %LSlice, ptr %t717, i32 0, i32 1 %t720 = getelementptr inbounds %LSlice, ptr %t717, i32 0, i32 2 %t721 = getelementptr inbounds %LSlice, ptr %t717, i32 0, i32 0 %t722 = load i32, ptr %t719 %t723 = load i32, ptr %t720 %t724 = icmp sge i32 %t722, %t723 br i1 %t724, label %grow287, label %put288 grow287: %t725 = mul i32 %t723, 2 %t726 = icmp eq i32 %t723, 0 %t727 = select i1 %t726, i32 8, i32 %t725 %t728 = getelementptr ptr, ptr null, i32 1 %t729 = ptrtoint ptr %t728 to i64 %t730 = zext i32 %t727 to i64 %t731 = mul i64 %t730, %t729 %t732 = load ptr, ptr %t721 store i32 251, ptr @lp_site %t733 = call ptr @lp_realloc(ptr %t732, i64 %t731) store i32 0, ptr @lp_site store ptr %t733, ptr %t721 store i32 %t727, ptr %t720 br label %put288 put288: %t734 = load ptr, ptr %t721 %t735 = getelementptr inbounds ptr, ptr %t734, i32 %t722 store ptr %t718, ptr %t735 %t736 = add i32 %t722, 1 store i32 %t736, ptr %t719 %t737 = load ptr, ptr %t545 %t738 = getelementptr inbounds %Cmp_Node, ptr %t737, i32 0, i32 4 %t739 = load ptr, ptr %t714 store ptr %t739, ptr %t738 br label %ifend286 ifend286: %t740 = load ptr, ptr @g_prog %t741 = load ptr, ptr %t545 %t742 = getelementptr inbounds %LSlice, ptr %t740, i32 0, i32 1 %t743 = getelementptr inbounds %LSlice, ptr %t740, i32 0, i32 2 %t744 = getelementptr inbounds %LSlice, ptr %t740, i32 0, i32 0 %t745 = load i32, ptr %t742 %t746 = load i32, ptr %t743 %t747 = icmp sge i32 %t745, %t746 br i1 %t747, label %grow289, label %put290 grow289: %t748 = mul i32 %t746, 2 %t749 = icmp eq i32 %t746, 0 %t750 = select i1 %t749, i32 8, i32 %t748 %t751 = getelementptr ptr, ptr null, i32 1 %t752 = ptrtoint ptr %t751 to i64 %t753 = zext i32 %t750 to i64 %t754 = mul i64 %t753, %t752 %t755 = load ptr, ptr %t744 store i32 252, ptr @lp_site %t756 = call ptr @lp_realloc(ptr %t755, i64 %t754) store i32 0, ptr @lp_site store ptr %t756, ptr %t744 store i32 %t750, ptr %t743 br label %put290 put290: %t757 = load ptr, ptr %t744 %t758 = getelementptr inbounds ptr, ptr %t757, i32 %t745 store ptr %t741, ptr %t758 %t759 = add i32 %t745, 1 store i32 %t759, ptr %t742 br label %ret ifend219: %t760 = call i32 @fn_is_id(ptr @.str679) %t761 = icmp ne i32 %t760, 0 br i1 %t761, label %then291, label %ifend293 then291: %t762 = load ptr, ptr @g_prog %t763 = call ptr @fn_parse_ui() %t764 = getelementptr inbounds %LSlice, ptr %t762, i32 0, i32 1 %t765 = getelementptr inbounds %LSlice, ptr %t762, i32 0, i32 2 %t766 = getelementptr inbounds %LSlice, ptr %t762, i32 0, i32 0 %t767 = load i32, ptr %t764 %t768 = load i32, ptr %t765 %t769 = icmp sge i32 %t767, %t768 br i1 %t769, label %grow294, label %put295 grow294: %t770 = mul i32 %t768, 2 %t771 = icmp eq i32 %t768, 0 %t772 = select i1 %t771, i32 8, i32 %t770 %t773 = getelementptr ptr, ptr null, i32 1 %t774 = ptrtoint ptr %t773 to i64 %t775 = zext i32 %t772 to i64 %t776 = mul i64 %t775, %t774 %t777 = load ptr, ptr %t766 store i32 253, ptr @lp_site %t778 = call ptr @lp_realloc(ptr %t777, i64 %t776) store i32 0, ptr @lp_site store ptr %t778, ptr %t766 store i32 %t772, ptr %t765 br label %put295 put295: %t779 = load ptr, ptr %t766 %t780 = getelementptr inbounds ptr, ptr %t779, i32 %t767 store ptr %t763, ptr %t780 %t781 = add i32 %t767, 1 store i32 %t781, ptr %t764 br label %ret ifend293: %t782 = call i32 @fn_is_id(ptr @.str680) %t783 = icmp ne i32 %t782, 0 br i1 %t783, label %then296, label %ifend298 then296: call void @fn_parse_namespace() br label %ret ifend298: %t786 = call i32 @fn_is_id(ptr @.str681) %t787 = icmp ne i32 %t786, 0 %t788 = zext i1 %t787 to i32 store i32 %t788, ptr %t785 br i1 %t787, label %sc299, label %scend300 sc299: %t789 = load ptr, ptr @g_toks %t790 = load i32, ptr @g_pi %t791 = add i32 %t790, 1 %t792 = getelementptr inbounds %LSlice, ptr %t789, i32 0, i32 0 %t793 = load ptr, ptr %t792 %t794 = getelementptr inbounds %LSlice, ptr %t789, i32 0, i32 1 %t795 = load i32, ptr %t794 %t796 = icmp ult i32 %t791, %t795 br i1 %t796, label %ixok301, label %ixbad302 ixbad302: store i32 254, ptr @lp_site %t797 = call ptr @lp_win_stdio(i32 2) store i32 0, ptr @lp_site call i32 (ptr, ptr, ...) @fprintf(ptr %t797, ptr @.fmt_bounds, ptr @.str682, i32 %t791, i32 %t795) call void @exit(i32 1) unreachable ixok301: %t798 = getelementptr inbounds ptr, ptr %t793, i32 %t791 %t799 = load ptr, ptr %t798 %t800 = getelementptr inbounds %Cmp_Tok, ptr %t799, i32 0, i32 0 %t801 = load i32, ptr %t800 %t802 = icmp eq i32 %t801, 0 %t803 = zext i1 %t802 to i32 %t804 = icmp ne i32 %t803, 0 %t805 = zext i1 %t804 to i32 store i32 %t805, ptr %t785 br label %scend300 scend300: %t806 = load i32, ptr %t785 %t807 = icmp ne i32 %t806, 0 %t808 = zext i1 %t807 to i32 store i32 %t808, ptr %t784 br i1 %t807, label %sc303, label %scend304 sc303: %t809 = load ptr, ptr @g_toks %t810 = load i32, ptr @g_pi %t811 = add i32 %t810, 2 %t812 = getelementptr inbounds %LSlice, ptr %t809, i32 0, i32 0 %t813 = load ptr, ptr %t812 %t814 = getelementptr inbounds %LSlice, ptr %t809, i32 0, i32 1 %t815 = load i32, ptr %t814 %t816 = icmp ult i32 %t811, %t815 br i1 %t816, label %ixok305, label %ixbad306 ixbad306: store i32 255, ptr @lp_site %t817 = call ptr @lp_win_stdio(i32 2) store i32 0, ptr @lp_site call i32 (ptr, ptr, ...) @fprintf(ptr %t817, ptr @.fmt_bounds, ptr @.str683, i32 %t811, i32 %t815) call void @exit(i32 1) unreachable ixok305: %t818 = getelementptr inbounds ptr, ptr %t813, i32 %t811 %t819 = load ptr, ptr %t818 %t820 = getelementptr inbounds %Cmp_Tok, ptr %t819, i32 0, i32 1 %t821 = load ptr, ptr %t820 %t822 = call i32 @lp_str_eq(ptr %t821, ptr @.str684) %t823 = icmp ne i32 %t822, 0 %t824 = zext i1 %t823 to i32 store i32 %t824, ptr %t784 br label %scend304 scend304: %t825 = load i32, ptr %t784 %t826 = icmp ne i32 %t825, 0 br i1 %t826, label %then307, label %ifend309 then307: call void @fn_parse_port() br label %ret ifend309: %t829 = call i32 @fn_is_id(ptr @.str685) %t830 = icmp ne i32 %t829, 0 %t831 = zext i1 %t830 to i32 store i32 %t831, ptr %t828 br i1 %t830, label %sc310, label %scend311 sc310: %t832 = load ptr, ptr @g_toks %t833 = load i32, ptr @g_pi %t834 = add i32 %t833, 1 %t835 = getelementptr inbounds %LSlice, ptr %t832, i32 0, i32 0 %t836 = load ptr, ptr %t835 %t837 = getelementptr inbounds %LSlice, ptr %t832, i32 0, i32 1 %t838 = load i32, ptr %t837 %t839 = icmp ult i32 %t834, %t838 br i1 %t839, label %ixok312, label %ixbad313 ixbad313: store i32 256, ptr @lp_site %t840 = call ptr @lp_win_stdio(i32 2) store i32 0, ptr @lp_site call i32 (ptr, ptr, ...) @fprintf(ptr %t840, ptr @.fmt_bounds, ptr @.str686, i32 %t834, i32 %t838) call void @exit(i32 1) unreachable ixok312: %t841 = getelementptr inbounds ptr, ptr %t836, i32 %t834 %t842 = load ptr, ptr %t841 %t843 = getelementptr inbounds %Cmp_Tok, ptr %t842, i32 0, i32 0 %t844 = load i32, ptr %t843 %t845 = icmp eq i32 %t844, 0 %t846 = zext i1 %t845 to i32 %t847 = icmp ne i32 %t846, 0 %t848 = zext i1 %t847 to i32 store i32 %t848, ptr %t828 br label %scend311 scend311: %t849 = load i32, ptr %t828 %t850 = icmp ne i32 %t849, 0 %t851 = zext i1 %t850 to i32 store i32 %t851, ptr %t827 br i1 %t850, label %sc314, label %scend315 sc314: %t852 = load ptr, ptr @g_toks %t853 = load i32, ptr @g_pi %t854 = add i32 %t853, 2 %t855 = getelementptr inbounds %LSlice, ptr %t852, i32 0, i32 0 %t856 = load ptr, ptr %t855 %t857 = getelementptr inbounds %LSlice, ptr %t852, i32 0, i32 1 %t858 = load i32, ptr %t857 %t859 = icmp ult i32 %t854, %t858 br i1 %t859, label %ixok316, label %ixbad317 ixbad317: store i32 257, ptr @lp_site %t860 = call ptr @lp_win_stdio(i32 2) store i32 0, ptr @lp_site call i32 (ptr, ptr, ...) @fprintf(ptr %t860, ptr @.fmt_bounds, ptr @.str687, i32 %t854, i32 %t858) call void @exit(i32 1) unreachable ixok316: %t861 = getelementptr inbounds ptr, ptr %t856, i32 %t854 %t862 = load ptr, ptr %t861 %t863 = getelementptr inbounds %Cmp_Tok, ptr %t862, i32 0, i32 1 %t864 = load ptr, ptr %t863 %t865 = call i32 @lp_str_eq(ptr %t864, ptr @.str688) %t866 = icmp ne i32 %t865, 0 %t867 = zext i1 %t866 to i32 store i32 %t867, ptr %t827 br label %scend315 scend315: %t868 = load i32, ptr %t827 %t869 = icmp ne i32 %t868, 0 br i1 %t869, label %then318, label %ifend320 then318: call void @fn_parse_bind() br label %ret ifend320: %t871 = call i32 @fn_is_id(ptr @.str689) %t872 = icmp ne i32 %t871, 0 %t873 = zext i1 %t872 to i32 store i32 %t873, ptr %t870 br i1 %t872, label %sc321, label %scend322 sc321: %t874 = load ptr, ptr @g_toks %t875 = load i32, ptr @g_pi %t876 = add i32 %t875, 1 %t877 = getelementptr inbounds %LSlice, ptr %t874, i32 0, i32 0 %t878 = load ptr, ptr %t877 %t879 = getelementptr inbounds %LSlice, ptr %t874, i32 0, i32 1 %t880 = load i32, ptr %t879 %t881 = icmp ult i32 %t876, %t880 br i1 %t881, label %ixok323, label %ixbad324 ixbad324: store i32 258, ptr @lp_site %t882 = call ptr @lp_win_stdio(i32 2) store i32 0, ptr @lp_site call i32 (ptr, ptr, ...) @fprintf(ptr %t882, ptr @.fmt_bounds, ptr @.str690, i32 %t876, i32 %t880) call void @exit(i32 1) unreachable ixok323: %t883 = getelementptr inbounds ptr, ptr %t878, i32 %t876 %t884 = load ptr, ptr %t883 %t885 = getelementptr inbounds %Cmp_Tok, ptr %t884, i32 0, i32 1 %t886 = load ptr, ptr %t885 %t887 = call i32 @lp_str_eq(ptr %t886, ptr @.str691) %t888 = icmp ne i32 %t887, 0 %t889 = zext i1 %t888 to i32 store i32 %t889, ptr %t870 br label %scend322 scend322: %t890 = load i32, ptr %t870 %t891 = icmp ne i32 %t890, 0 br i1 %t891, label %then325, label %ifend327 then325: %t892 = load i32, ptr @g_pi %t893 = add i32 %t892, 1 store i32 %t893, ptr @g_pi call void @fn_parse_registry() %t894 = load ptr, ptr @g_g_rg_open %t895 = load ptr, ptr @g_g_rg_open %t896 = getelementptr inbounds %LSlice, ptr %t895, i32 0, i32 1 %t897 = load i32, ptr %t896 %t898 = sub i32 %t897, 1 %t899 = getelementptr inbounds %LSlice, ptr %t894, i32 0, i32 0 %t900 = load ptr, ptr %t899 %t901 = getelementptr inbounds %LSlice, ptr %t894, i32 0, i32 1 %t902 = load i32, ptr %t901 %t903 = icmp ult i32 %t898, %t902 br i1 %t903, label %ixok328, label %ixbad329 ixbad329: store i32 259, ptr @lp_site %t904 = call ptr @lp_win_stdio(i32 2) store i32 0, ptr @lp_site call i32 (ptr, ptr, ...) @fprintf(ptr %t904, ptr @.fmt_bounds, ptr @.str692, i32 %t898, i32 %t902) call void @exit(i32 1) unreachable ixok328: %t905 = getelementptr inbounds i32, ptr %t900, i32 %t898 store i32 1, ptr %t905 br label %ret ifend327: %t908 = call i32 @fn_is_id(ptr @.str693) %t909 = icmp ne i32 %t908, 0 %t910 = zext i1 %t909 to i32 store i32 %t910, ptr %t907 br i1 %t909, label %sc330, label %scend331 sc330: %t911 = load ptr, ptr @g_toks %t912 = load i32, ptr @g_pi %t913 = add i32 %t912, 1 %t914 = getelementptr inbounds %LSlice, ptr %t911, i32 0, i32 0 %t915 = load ptr, ptr %t914 %t916 = getelementptr inbounds %LSlice, ptr %t911, i32 0, i32 1 %t917 = load i32, ptr %t916 %t918 = icmp ult i32 %t913, %t917 br i1 %t918, label %ixok332, label %ixbad333 ixbad333: store i32 260, ptr @lp_site %t919 = call ptr @lp_win_stdio(i32 2) store i32 0, ptr @lp_site call i32 (ptr, ptr, ...) @fprintf(ptr %t919, ptr @.fmt_bounds, ptr @.str694, i32 %t913, i32 %t917) call void @exit(i32 1) unreachable ixok332: %t920 = getelementptr inbounds ptr, ptr %t915, i32 %t913 %t921 = load ptr, ptr %t920 %t922 = getelementptr inbounds %Cmp_Tok, ptr %t921, i32 0, i32 0 %t923 = load i32, ptr %t922 %t924 = icmp eq i32 %t923, 0 %t925 = zext i1 %t924 to i32 %t926 = icmp ne i32 %t925, 0 %t927 = zext i1 %t926 to i32 store i32 %t927, ptr %t907 br label %scend331 scend331: %t928 = load i32, ptr %t907 %t929 = icmp ne i32 %t928, 0 %t930 = zext i1 %t929 to i32 store i32 %t930, ptr %t906 br i1 %t929, label %sc334, label %scend335 sc334: %t931 = load ptr, ptr @g_toks %t932 = load i32, ptr @g_pi %t933 = add i32 %t932, 2 %t934 = getelementptr inbounds %LSlice, ptr %t931, i32 0, i32 0 %t935 = load ptr, ptr %t934 %t936 = getelementptr inbounds %LSlice, ptr %t931, i32 0, i32 1 %t937 = load i32, ptr %t936 %t938 = icmp ult i32 %t933, %t937 br i1 %t938, label %ixok336, label %ixbad337 ixbad337: store i32 261, ptr @lp_site %t939 = call ptr @lp_win_stdio(i32 2) store i32 0, ptr @lp_site call i32 (ptr, ptr, ...) @fprintf(ptr %t939, ptr @.fmt_bounds, ptr @.str695, i32 %t933, i32 %t937) call void @exit(i32 1) unreachable ixok336: %t940 = getelementptr inbounds ptr, ptr %t935, i32 %t933 %t941 = load ptr, ptr %t940 %t942 = getelementptr inbounds %Cmp_Tok, ptr %t941, i32 0, i32 1 %t943 = load ptr, ptr %t942 %t944 = call i32 @lp_str_eq(ptr %t943, ptr @.str696) %t945 = icmp ne i32 %t944, 0 %t946 = zext i1 %t945 to i32 store i32 %t946, ptr %t906 br label %scend335 scend335: %t947 = load i32, ptr %t906 %t948 = icmp ne i32 %t947, 0 br i1 %t948, label %then338, label %ifend340 then338: call void @fn_parse_registry() br label %ret ifend340: %t951 = call i32 @fn_is_id(ptr @.str697) %t952 = icmp ne i32 %t951, 0 %t953 = zext i1 %t952 to i32 store i32 %t953, ptr %t950 br i1 %t952, label %sc341, label %scend342 sc341: %t954 = load ptr, ptr @g_toks %t955 = load i32, ptr @g_pi %t956 = add i32 %t955, 1 %t957 = getelementptr inbounds %LSlice, ptr %t954, i32 0, i32 0 %t958 = load ptr, ptr %t957 %t959 = getelementptr inbounds %LSlice, ptr %t954, i32 0, i32 1 %t960 = load i32, ptr %t959 %t961 = icmp ult i32 %t956, %t960 br i1 %t961, label %ixok343, label %ixbad344 ixbad344: store i32 262, ptr @lp_site %t962 = call ptr @lp_win_stdio(i32 2) store i32 0, ptr @lp_site call i32 (ptr, ptr, ...) @fprintf(ptr %t962, ptr @.fmt_bounds, ptr @.str698, i32 %t956, i32 %t960) call void @exit(i32 1) unreachable ixok343: %t963 = getelementptr inbounds ptr, ptr %t958, i32 %t956 %t964 = load ptr, ptr %t963 %t965 = getelementptr inbounds %Cmp_Tok, ptr %t964, i32 0, i32 0 %t966 = load i32, ptr %t965 %t967 = icmp eq i32 %t966, 0 %t968 = zext i1 %t967 to i32 %t969 = icmp ne i32 %t968, 0 %t970 = zext i1 %t969 to i32 store i32 %t970, ptr %t950 br label %scend342 scend342: %t971 = load i32, ptr %t950 %t972 = icmp ne i32 %t971, 0 %t973 = zext i1 %t972 to i32 store i32 %t973, ptr %t949 br i1 %t972, label %sc345, label %scend346 sc345: %t974 = load ptr, ptr @g_toks %t975 = load i32, ptr @g_pi %t976 = add i32 %t975, 2 %t977 = getelementptr inbounds %LSlice, ptr %t974, i32 0, i32 0 %t978 = load ptr, ptr %t977 %t979 = getelementptr inbounds %LSlice, ptr %t974, i32 0, i32 1 %t980 = load i32, ptr %t979 %t981 = icmp ult i32 %t976, %t980 br i1 %t981, label %ixok347, label %ixbad348 ixbad348: store i32 263, ptr @lp_site %t982 = call ptr @lp_win_stdio(i32 2) store i32 0, ptr @lp_site call i32 (ptr, ptr, ...) @fprintf(ptr %t982, ptr @.fmt_bounds, ptr @.str699, i32 %t976, i32 %t980) call void @exit(i32 1) unreachable ixok347: %t983 = getelementptr inbounds ptr, ptr %t978, i32 %t976 %t984 = load ptr, ptr %t983 %t985 = getelementptr inbounds %Cmp_Tok, ptr %t984, i32 0, i32 0 %t986 = load i32, ptr %t985 %t987 = icmp eq i32 %t986, 0 %t988 = zext i1 %t987 to i32 %t989 = icmp ne i32 %t988, 0 %t990 = zext i1 %t989 to i32 store i32 %t990, ptr %t949 br label %scend346 scend346: %t991 = load i32, ptr %t949 %t992 = icmp ne i32 %t991, 0 br i1 %t992, label %then349, label %ifend351 then349: call void @fn_parse_def() br label %ret ifend351: %t995 = call i32 @fn_is_id(ptr @.str700) %t996 = icmp ne i32 %t995, 0 %t997 = zext i1 %t996 to i32 store i32 %t997, ptr %t994 br i1 %t996, label %sc352, label %scend353 sc352: %t998 = load ptr, ptr @g_toks %t999 = load i32, ptr @g_pi %t1000 = add i32 %t999, 1 %t1001 = getelementptr inbounds %LSlice, ptr %t998, i32 0, i32 0 %t1002 = load ptr, ptr %t1001 %t1003 = getelementptr inbounds %LSlice, ptr %t998, i32 0, i32 1 %t1004 = load i32, ptr %t1003 %t1005 = icmp ult i32 %t1000, %t1004 br i1 %t1005, label %ixok354, label %ixbad355 ixbad355: store i32 264, ptr @lp_site %t1006 = call ptr @lp_win_stdio(i32 2) store i32 0, ptr @lp_site call i32 (ptr, ptr, ...) @fprintf(ptr %t1006, ptr @.fmt_bounds, ptr @.str701, i32 %t1000, i32 %t1004) call void @exit(i32 1) unreachable ixok354: %t1007 = getelementptr inbounds ptr, ptr %t1002, i32 %t1000 %t1008 = load ptr, ptr %t1007 %t1009 = getelementptr inbounds %Cmp_Tok, ptr %t1008, i32 0, i32 0 %t1010 = load i32, ptr %t1009 %t1011 = icmp eq i32 %t1010, 0 %t1012 = zext i1 %t1011 to i32 %t1013 = icmp ne i32 %t1012, 0 %t1014 = zext i1 %t1013 to i32 store i32 %t1014, ptr %t994 br label %scend353 scend353: %t1015 = load i32, ptr %t994 %t1016 = icmp ne i32 %t1015, 0 %t1017 = zext i1 %t1016 to i32 store i32 %t1017, ptr %t993 br i1 %t1016, label %sc356, label %scend357 sc356: %t1019 = load ptr, ptr @g_toks %t1020 = load i32, ptr @g_pi %t1021 = add i32 %t1020, 2 %t1022 = getelementptr inbounds %LSlice, ptr %t1019, i32 0, i32 0 %t1023 = load ptr, ptr %t1022 %t1024 = getelementptr inbounds %LSlice, ptr %t1019, i32 0, i32 1 %t1025 = load i32, ptr %t1024 %t1026 = icmp ult i32 %t1021, %t1025 br i1 %t1026, label %ixok358, label %ixbad359 ixbad359: store i32 265, ptr @lp_site %t1027 = call ptr @lp_win_stdio(i32 2) store i32 0, ptr @lp_site call i32 (ptr, ptr, ...) @fprintf(ptr %t1027, ptr @.fmt_bounds, ptr @.str702, i32 %t1021, i32 %t1025) call void @exit(i32 1) unreachable ixok358: %t1028 = getelementptr inbounds ptr, ptr %t1023, i32 %t1021 %t1029 = load ptr, ptr %t1028 %t1030 = getelementptr inbounds %Cmp_Tok, ptr %t1029, i32 0, i32 1 %t1031 = load ptr, ptr %t1030 %t1032 = call i32 @lp_str_eq(ptr %t1031, ptr @.str703) %t1033 = icmp ne i32 %t1032, 0 %t1034 = zext i1 %t1033 to i32 store i32 %t1034, ptr %t1018 br i1 %t1033, label %scend361, label %sc360 sc360: %t1035 = load ptr, ptr @g_toks %t1036 = load i32, ptr @g_pi %t1037 = add i32 %t1036, 2 %t1038 = getelementptr inbounds %LSlice, ptr %t1035, i32 0, i32 0 %t1039 = load ptr, ptr %t1038 %t1040 = getelementptr inbounds %LSlice, ptr %t1035, i32 0, i32 1 %t1041 = load i32, ptr %t1040 %t1042 = icmp ult i32 %t1037, %t1041 br i1 %t1042, label %ixok362, label %ixbad363 ixbad363: store i32 266, ptr @lp_site %t1043 = call ptr @lp_win_stdio(i32 2) store i32 0, ptr @lp_site call i32 (ptr, ptr, ...) @fprintf(ptr %t1043, ptr @.fmt_bounds, ptr @.str704, i32 %t1037, i32 %t1041) call void @exit(i32 1) unreachable ixok362: %t1044 = getelementptr inbounds ptr, ptr %t1039, i32 %t1037 %t1045 = load ptr, ptr %t1044 %t1046 = getelementptr inbounds %Cmp_Tok, ptr %t1045, i32 0, i32 1 %t1047 = load ptr, ptr %t1046 %t1048 = call i32 @lp_str_eq(ptr %t1047, ptr @.str705) %t1049 = icmp ne i32 %t1048, 0 %t1050 = zext i1 %t1049 to i32 store i32 %t1050, ptr %t1018 br label %scend361 scend361: %t1051 = load i32, ptr %t1018 %t1052 = icmp ne i32 %t1051, 0 %t1053 = zext i1 %t1052 to i32 store i32 %t1053, ptr %t993 br label %scend357 scend357: %t1054 = load i32, ptr %t993 %t1055 = icmp ne i32 %t1054, 0 br i1 %t1055, label %then364, label %ifend366 then364: call void @fn_parse_view() br label %ret ifend366: %t1058 = call i32 @fn_is_id(ptr @.str706) %t1059 = icmp ne i32 %t1058, 0 %t1060 = zext i1 %t1059 to i32 store i32 %t1060, ptr %t1057 br i1 %t1059, label %sc367, label %scend368 sc367: %t1061 = load ptr, ptr @g_toks %t1062 = load i32, ptr @g_pi %t1063 = add i32 %t1062, 1 %t1064 = getelementptr inbounds %LSlice, ptr %t1061, i32 0, i32 0 %t1065 = load ptr, ptr %t1064 %t1066 = getelementptr inbounds %LSlice, ptr %t1061, i32 0, i32 1 %t1067 = load i32, ptr %t1066 %t1068 = icmp ult i32 %t1063, %t1067 br i1 %t1068, label %ixok369, label %ixbad370 ixbad370: store i32 267, ptr @lp_site %t1069 = call ptr @lp_win_stdio(i32 2) store i32 0, ptr @lp_site call i32 (ptr, ptr, ...) @fprintf(ptr %t1069, ptr @.fmt_bounds, ptr @.str707, i32 %t1063, i32 %t1067) call void @exit(i32 1) unreachable ixok369: %t1070 = getelementptr inbounds ptr, ptr %t1065, i32 %t1063 %t1071 = load ptr, ptr %t1070 %t1072 = getelementptr inbounds %Cmp_Tok, ptr %t1071, i32 0, i32 0 %t1073 = load i32, ptr %t1072 %t1074 = icmp eq i32 %t1073, 0 %t1075 = zext i1 %t1074 to i32 %t1076 = icmp ne i32 %t1075, 0 %t1077 = zext i1 %t1076 to i32 store i32 %t1077, ptr %t1057 br label %scend368 scend368: %t1078 = load i32, ptr %t1057 %t1079 = icmp ne i32 %t1078, 0 %t1080 = zext i1 %t1079 to i32 store i32 %t1080, ptr %t1056 br i1 %t1079, label %sc371, label %scend372 sc371: %t1082 = load ptr, ptr @g_toks %t1083 = load i32, ptr @g_pi %t1084 = add i32 %t1083, 2 %t1085 = getelementptr inbounds %LSlice, ptr %t1082, i32 0, i32 0 %t1086 = load ptr, ptr %t1085 %t1087 = getelementptr inbounds %LSlice, ptr %t1082, i32 0, i32 1 %t1088 = load i32, ptr %t1087 %t1089 = icmp ult i32 %t1084, %t1088 br i1 %t1089, label %ixok373, label %ixbad374 ixbad374: store i32 268, ptr @lp_site %t1090 = call ptr @lp_win_stdio(i32 2) store i32 0, ptr @lp_site call i32 (ptr, ptr, ...) @fprintf(ptr %t1090, ptr @.fmt_bounds, ptr @.str708, i32 %t1084, i32 %t1088) call void @exit(i32 1) unreachable ixok373: %t1091 = getelementptr inbounds ptr, ptr %t1086, i32 %t1084 %t1092 = load ptr, ptr %t1091 %t1093 = getelementptr inbounds %Cmp_Tok, ptr %t1092, i32 0, i32 1 %t1094 = load ptr, ptr %t1093 %t1095 = call i32 @lp_str_eq(ptr %t1094, ptr @.str709) %t1096 = icmp ne i32 %t1095, 0 %t1097 = zext i1 %t1096 to i32 store i32 %t1097, ptr %t1081 br i1 %t1096, label %scend376, label %sc375 sc375: %t1098 = load ptr, ptr @g_toks %t1099 = load i32, ptr @g_pi %t1100 = add i32 %t1099, 2 %t1101 = getelementptr inbounds %LSlice, ptr %t1098, i32 0, i32 0 %t1102 = load ptr, ptr %t1101 %t1103 = getelementptr inbounds %LSlice, ptr %t1098, i32 0, i32 1 %t1104 = load i32, ptr %t1103 %t1105 = icmp ult i32 %t1100, %t1104 br i1 %t1105, label %ixok377, label %ixbad378 ixbad378: store i32 269, ptr @lp_site %t1106 = call ptr @lp_win_stdio(i32 2) store i32 0, ptr @lp_site call i32 (ptr, ptr, ...) @fprintf(ptr %t1106, ptr @.fmt_bounds, ptr @.str710, i32 %t1100, i32 %t1104) call void @exit(i32 1) unreachable ixok377: %t1107 = getelementptr inbounds ptr, ptr %t1102, i32 %t1100 %t1108 = load ptr, ptr %t1107 %t1109 = getelementptr inbounds %Cmp_Tok, ptr %t1108, i32 0, i32 1 %t1110 = load ptr, ptr %t1109 %t1111 = call i32 @lp_str_eq(ptr %t1110, ptr @.str711) %t1112 = icmp ne i32 %t1111, 0 %t1113 = zext i1 %t1112 to i32 store i32 %t1113, ptr %t1081 br label %scend376 scend376: %t1114 = load i32, ptr %t1081 %t1115 = icmp ne i32 %t1114, 0 %t1116 = zext i1 %t1115 to i32 store i32 %t1116, ptr %t1056 br label %scend372 scend372: %t1117 = load i32, ptr %t1056 %t1118 = icmp ne i32 %t1117, 0 br i1 %t1118, label %then379, label %ifend381 then379: call void @fn_parse_ui_component() br label %ret ifend381: %t1121 = call i32 @fn_is_id(ptr @.str712) %t1122 = icmp ne i32 %t1121, 0 %t1123 = zext i1 %t1122 to i32 store i32 %t1123, ptr %t1120 br i1 %t1122, label %sc382, label %scend383 sc382: %t1124 = load ptr, ptr @g_toks %t1125 = load i32, ptr @g_pi %t1126 = add i32 %t1125, 1 %t1127 = getelementptr inbounds %LSlice, ptr %t1124, i32 0, i32 0 %t1128 = load ptr, ptr %t1127 %t1129 = getelementptr inbounds %LSlice, ptr %t1124, i32 0, i32 1 %t1130 = load i32, ptr %t1129 %t1131 = icmp ult i32 %t1126, %t1130 br i1 %t1131, label %ixok384, label %ixbad385 ixbad385: store i32 270, ptr @lp_site %t1132 = call ptr @lp_win_stdio(i32 2) store i32 0, ptr @lp_site call i32 (ptr, ptr, ...) @fprintf(ptr %t1132, ptr @.fmt_bounds, ptr @.str713, i32 %t1126, i32 %t1130) call void @exit(i32 1) unreachable ixok384: %t1133 = getelementptr inbounds ptr, ptr %t1128, i32 %t1126 %t1134 = load ptr, ptr %t1133 %t1135 = getelementptr inbounds %Cmp_Tok, ptr %t1134, i32 0, i32 0 %t1136 = load i32, ptr %t1135 %t1137 = icmp eq i32 %t1136, 0 %t1138 = zext i1 %t1137 to i32 %t1139 = icmp ne i32 %t1138, 0 %t1140 = zext i1 %t1139 to i32 store i32 %t1140, ptr %t1120 br label %scend383 scend383: %t1141 = load i32, ptr %t1120 %t1142 = icmp ne i32 %t1141, 0 %t1143 = zext i1 %t1142 to i32 store i32 %t1143, ptr %t1119 br i1 %t1142, label %sc386, label %scend387 sc386: %t1144 = load ptr, ptr @g_toks %t1145 = load i32, ptr @g_pi %t1146 = add i32 %t1145, 2 %t1147 = getelementptr inbounds %LSlice, ptr %t1144, i32 0, i32 0 %t1148 = load ptr, ptr %t1147 %t1149 = getelementptr inbounds %LSlice, ptr %t1144, i32 0, i32 1 %t1150 = load i32, ptr %t1149 %t1151 = icmp ult i32 %t1146, %t1150 br i1 %t1151, label %ixok388, label %ixbad389 ixbad389: store i32 271, ptr @lp_site %t1152 = call ptr @lp_win_stdio(i32 2) store i32 0, ptr @lp_site call i32 (ptr, ptr, ...) @fprintf(ptr %t1152, ptr @.fmt_bounds, ptr @.str714, i32 %t1146, i32 %t1150) call void @exit(i32 1) unreachable ixok388: %t1153 = getelementptr inbounds ptr, ptr %t1148, i32 %t1146 %t1154 = load ptr, ptr %t1153 %t1155 = getelementptr inbounds %Cmp_Tok, ptr %t1154, i32 0, i32 1 %t1156 = load ptr, ptr %t1155 %t1157 = call i32 @lp_str_eq(ptr %t1156, ptr @.str715) %t1158 = icmp ne i32 %t1157, 0 %t1159 = zext i1 %t1158 to i32 store i32 %t1159, ptr %t1119 br label %scend387 scend387: %t1160 = load i32, ptr %t1119 %t1161 = icmp ne i32 %t1160, 0 br i1 %t1161, label %then390, label %ifend392 then390: call void @fn_parse_state() br label %ret ifend392: %t1164 = call i32 @fn_is_id(ptr @.str716) %t1165 = icmp ne i32 %t1164, 0 %t1166 = zext i1 %t1165 to i32 store i32 %t1166, ptr %t1163 br i1 %t1165, label %sc393, label %scend394 sc393: %t1167 = load ptr, ptr @g_toks %t1168 = load i32, ptr @g_pi %t1169 = add i32 %t1168, 1 %t1170 = getelementptr inbounds %LSlice, ptr %t1167, i32 0, i32 0 %t1171 = load ptr, ptr %t1170 %t1172 = getelementptr inbounds %LSlice, ptr %t1167, i32 0, i32 1 %t1173 = load i32, ptr %t1172 %t1174 = icmp ult i32 %t1169, %t1173 br i1 %t1174, label %ixok395, label %ixbad396 ixbad396: store i32 272, ptr @lp_site %t1175 = call ptr @lp_win_stdio(i32 2) store i32 0, ptr @lp_site call i32 (ptr, ptr, ...) @fprintf(ptr %t1175, ptr @.fmt_bounds, ptr @.str717, i32 %t1169, i32 %t1173) call void @exit(i32 1) unreachable ixok395: %t1176 = getelementptr inbounds ptr, ptr %t1171, i32 %t1169 %t1177 = load ptr, ptr %t1176 %t1178 = getelementptr inbounds %Cmp_Tok, ptr %t1177, i32 0, i32 0 %t1179 = load i32, ptr %t1178 %t1180 = icmp eq i32 %t1179, 0 %t1181 = zext i1 %t1180 to i32 %t1182 = icmp ne i32 %t1181, 0 %t1183 = zext i1 %t1182 to i32 store i32 %t1183, ptr %t1163 br label %scend394 scend394: %t1184 = load i32, ptr %t1163 %t1185 = icmp ne i32 %t1184, 0 %t1186 = zext i1 %t1185 to i32 store i32 %t1186, ptr %t1162 br i1 %t1185, label %sc397, label %scend398 sc397: %t1187 = load ptr, ptr @g_toks %t1188 = load i32, ptr @g_pi %t1189 = add i32 %t1188, 2 %t1190 = getelementptr inbounds %LSlice, ptr %t1187, i32 0, i32 0 %t1191 = load ptr, ptr %t1190 %t1192 = getelementptr inbounds %LSlice, ptr %t1187, i32 0, i32 1 %t1193 = load i32, ptr %t1192 %t1194 = icmp ult i32 %t1189, %t1193 br i1 %t1194, label %ixok399, label %ixbad400 ixbad400: store i32 273, ptr @lp_site %t1195 = call ptr @lp_win_stdio(i32 2) store i32 0, ptr @lp_site call i32 (ptr, ptr, ...) @fprintf(ptr %t1195, ptr @.fmt_bounds, ptr @.str718, i32 %t1189, i32 %t1193) call void @exit(i32 1) unreachable ixok399: %t1196 = getelementptr inbounds ptr, ptr %t1191, i32 %t1189 %t1197 = load ptr, ptr %t1196 %t1198 = getelementptr inbounds %Cmp_Tok, ptr %t1197, i32 0, i32 1 %t1199 = load ptr, ptr %t1198 %t1200 = call i32 @lp_str_eq(ptr %t1199, ptr @.str719) %t1201 = icmp ne i32 %t1200, 0 %t1202 = zext i1 %t1201 to i32 store i32 %t1202, ptr %t1162 br label %scend398 scend398: %t1203 = load i32, ptr %t1162 %t1204 = icmp ne i32 %t1203, 0 br i1 %t1204, label %then401, label %ifend403 then401: call void @fn_parse_action() br label %ret ifend403: %t1207 = call i32 @fn_is_id(ptr @.str720) %t1208 = icmp ne i32 %t1207, 0 %t1209 = zext i1 %t1208 to i32 store i32 %t1209, ptr %t1206 br i1 %t1208, label %sc404, label %scend405 sc404: %t1210 = load ptr, ptr @g_toks %t1211 = load i32, ptr @g_pi %t1212 = add i32 %t1211, 1 %t1213 = getelementptr inbounds %LSlice, ptr %t1210, i32 0, i32 0 %t1214 = load ptr, ptr %t1213 %t1215 = getelementptr inbounds %LSlice, ptr %t1210, i32 0, i32 1 %t1216 = load i32, ptr %t1215 %t1217 = icmp ult i32 %t1212, %t1216 br i1 %t1217, label %ixok406, label %ixbad407 ixbad407: store i32 274, ptr @lp_site %t1218 = call ptr @lp_win_stdio(i32 2) store i32 0, ptr @lp_site call i32 (ptr, ptr, ...) @fprintf(ptr %t1218, ptr @.fmt_bounds, ptr @.str721, i32 %t1212, i32 %t1216) call void @exit(i32 1) unreachable ixok406: %t1219 = getelementptr inbounds ptr, ptr %t1214, i32 %t1212 %t1220 = load ptr, ptr %t1219 %t1221 = getelementptr inbounds %Cmp_Tok, ptr %t1220, i32 0, i32 0 %t1222 = load i32, ptr %t1221 %t1223 = icmp eq i32 %t1222, 0 %t1224 = zext i1 %t1223 to i32 %t1225 = icmp ne i32 %t1224, 0 %t1226 = zext i1 %t1225 to i32 store i32 %t1226, ptr %t1206 br label %scend405 scend405: %t1227 = load i32, ptr %t1206 %t1228 = icmp ne i32 %t1227, 0 %t1229 = zext i1 %t1228 to i32 store i32 %t1229, ptr %t1205 br i1 %t1228, label %sc408, label %scend409 sc408: %t1230 = load ptr, ptr @g_toks %t1231 = load i32, ptr @g_pi %t1232 = add i32 %t1231, 2 %t1233 = getelementptr inbounds %LSlice, ptr %t1230, i32 0, i32 0 %t1234 = load ptr, ptr %t1233 %t1235 = getelementptr inbounds %LSlice, ptr %t1230, i32 0, i32 1 %t1236 = load i32, ptr %t1235 %t1237 = icmp ult i32 %t1232, %t1236 br i1 %t1237, label %ixok410, label %ixbad411 ixbad411: store i32 275, ptr @lp_site %t1238 = call ptr @lp_win_stdio(i32 2) store i32 0, ptr @lp_site call i32 (ptr, ptr, ...) @fprintf(ptr %t1238, ptr @.fmt_bounds, ptr @.str722, i32 %t1232, i32 %t1236) call void @exit(i32 1) unreachable ixok410: %t1239 = getelementptr inbounds ptr, ptr %t1234, i32 %t1232 %t1240 = load ptr, ptr %t1239 %t1241 = getelementptr inbounds %Cmp_Tok, ptr %t1240, i32 0, i32 1 %t1242 = load ptr, ptr %t1241 %t1243 = call i32 @lp_str_eq(ptr %t1242, ptr @.str723) %t1244 = icmp ne i32 %t1243, 0 %t1245 = zext i1 %t1244 to i32 store i32 %t1245, ptr %t1205 br label %scend409 scend409: %t1246 = load i32, ptr %t1205 %t1247 = icmp ne i32 %t1246, 0 br i1 %t1247, label %then412, label %ifend414 then412: call void @fn_parse_reducer() br label %ret ifend414: %t1248 = call i32 @fn_is_id(ptr @.str724) %t1249 = icmp ne i32 %t1248, 0 br i1 %t1249, label %then415, label %ifend417 then415: %t1250 = load i32, ptr @g_g_allow_globals %t1251 = icmp eq i32 %t1250, 0 %t1252 = zext i1 %t1251 to i32 %t1253 = icmp ne i32 %t1252, 0 br i1 %t1253, label %then418, label %ifend420 then418: call void @fn_perr(ptr @.str725) br label %ifend420 ifend420: %t1254 = load ptr, ptr @g_prog %t1255 = call ptr @fn_parse_var() %t1256 = getelementptr inbounds %LSlice, ptr %t1254, i32 0, i32 1 %t1257 = getelementptr inbounds %LSlice, ptr %t1254, i32 0, i32 2 %t1258 = getelementptr inbounds %LSlice, ptr %t1254, i32 0, i32 0 %t1259 = load i32, ptr %t1256 %t1260 = load i32, ptr %t1257 %t1261 = icmp sge i32 %t1259, %t1260 br i1 %t1261, label %grow421, label %put422 grow421: %t1262 = mul i32 %t1260, 2 %t1263 = icmp eq i32 %t1260, 0 %t1264 = select i1 %t1263, i32 8, i32 %t1262 %t1265 = getelementptr ptr, ptr null, i32 1 %t1266 = ptrtoint ptr %t1265 to i64 %t1267 = zext i32 %t1264 to i64 %t1268 = mul i64 %t1267, %t1266 %t1269 = load ptr, ptr %t1258 store i32 276, ptr @lp_site %t1270 = call ptr @lp_realloc(ptr %t1269, i64 %t1268) store i32 0, ptr @lp_site store ptr %t1270, ptr %t1258 store i32 %t1264, ptr %t1257 br label %put422 put422: %t1271 = load ptr, ptr %t1258 %t1272 = getelementptr inbounds ptr, ptr %t1271, i32 %t1259 store ptr %t1255, ptr %t1272 %t1273 = add i32 %t1259, 1 store i32 %t1273, ptr %t1256 br label %ret ifend417: %t1276 = call i32 @fn_is_id(ptr @.str726) %t1277 = icmp ne i32 %t1276, 0 %t1278 = zext i1 %t1277 to i32 store i32 %t1278, ptr %t1275 br i1 %t1277, label %sc423, label %scend424 sc423: %t1279 = load ptr, ptr @g_toks %t1280 = load i32, ptr @g_pi %t1281 = add i32 %t1280, 1 %t1282 = getelementptr inbounds %LSlice, ptr %t1279, i32 0, i32 0 %t1283 = load ptr, ptr %t1282 %t1284 = getelementptr inbounds %LSlice, ptr %t1279, i32 0, i32 1 %t1285 = load i32, ptr %t1284 %t1286 = icmp ult i32 %t1281, %t1285 br i1 %t1286, label %ixok425, label %ixbad426 ixbad426: store i32 277, ptr @lp_site %t1287 = call ptr @lp_win_stdio(i32 2) store i32 0, ptr @lp_site call i32 (ptr, ptr, ...) @fprintf(ptr %t1287, ptr @.fmt_bounds, ptr @.str727, i32 %t1281, i32 %t1285) call void @exit(i32 1) unreachable ixok425: %t1288 = getelementptr inbounds ptr, ptr %t1283, i32 %t1281 %t1289 = load ptr, ptr %t1288 %t1290 = getelementptr inbounds %Cmp_Tok, ptr %t1289, i32 0, i32 0 %t1291 = load i32, ptr %t1290 %t1292 = icmp eq i32 %t1291, 0 %t1293 = zext i1 %t1292 to i32 %t1294 = icmp ne i32 %t1293, 0 %t1295 = zext i1 %t1294 to i32 store i32 %t1295, ptr %t1275 br label %scend424 scend424: %t1296 = load i32, ptr %t1275 %t1297 = icmp ne i32 %t1296, 0 %t1298 = zext i1 %t1297 to i32 store i32 %t1298, ptr %t1274 br i1 %t1297, label %sc427, label %scend428 sc427: %t1299 = load ptr, ptr @g_toks %t1300 = load i32, ptr @g_pi %t1301 = add i32 %t1300, 2 %t1302 = getelementptr inbounds %LSlice, ptr %t1299, i32 0, i32 0 %t1303 = load ptr, ptr %t1302 %t1304 = getelementptr inbounds %LSlice, ptr %t1299, i32 0, i32 1 %t1305 = load i32, ptr %t1304 %t1306 = icmp ult i32 %t1301, %t1305 br i1 %t1306, label %ixok429, label %ixbad430 ixbad430: store i32 278, ptr @lp_site %t1307 = call ptr @lp_win_stdio(i32 2) store i32 0, ptr @lp_site call i32 (ptr, ptr, ...) @fprintf(ptr %t1307, ptr @.fmt_bounds, ptr @.str728, i32 %t1301, i32 %t1305) call void @exit(i32 1) unreachable ixok429: %t1308 = getelementptr inbounds ptr, ptr %t1303, i32 %t1301 %t1309 = load ptr, ptr %t1308 %t1310 = getelementptr inbounds %Cmp_Tok, ptr %t1309, i32 0, i32 1 %t1311 = load ptr, ptr %t1310 %t1312 = call i32 @lp_str_eq(ptr %t1311, ptr @.str729) %t1313 = icmp ne i32 %t1312, 0 %t1314 = zext i1 %t1313 to i32 store i32 %t1314, ptr %t1274 br label %scend428 scend428: %t1315 = load i32, ptr %t1274 %t1316 = icmp ne i32 %t1315, 0 br i1 %t1316, label %then431, label %ifend433 then431: %t1317 = call ptr @fn_parse_var() store ptr %t1317, ptr %t1318 %t1319 = load ptr, ptr %t1318 %t1320 = getelementptr inbounds %Cmp_Node, ptr %t1319, i32 0, i32 12 store i32 1, ptr %t1320 %t1321 = load ptr, ptr %t1318 %t1322 = getelementptr inbounds %Cmp_Node, ptr %t1321, i32 0, i32 4 %t1323 = load ptr, ptr %t1322 %t1324 = icmp eq ptr %t1323, null %t1325 = zext i1 %t1324 to i32 %t1326 = icmp ne i32 %t1325, 0 br i1 %t1326, label %then434, label %ifend436 then434: %t1327 = load ptr, ptr %t1318 %t1328 = getelementptr inbounds %Cmp_Node, ptr %t1327, i32 0, i32 1 %t1329 = load ptr, ptr %t1328 store i32 279, ptr @lp_site %t1330 = call ptr @lp_str_concat(ptr @.str730, ptr %t1329) store i32 0, ptr @lp_site store i32 280, ptr @lp_site %t1331 = call ptr @lp_str_concat(ptr %t1330, ptr @.str731) store i32 0, ptr @lp_site call void @lp_free(ptr %t1330) call void @fn_perr(ptr %t1331) br label %ifend436 ifend436: %t1332 = load ptr, ptr @g_prog %t1333 = load ptr, ptr %t1318 %t1334 = getelementptr inbounds %LSlice, ptr %t1332, i32 0, i32 1 %t1335 = getelementptr inbounds %LSlice, ptr %t1332, i32 0, i32 2 %t1336 = getelementptr inbounds %LSlice, ptr %t1332, i32 0, i32 0 %t1337 = load i32, ptr %t1334 %t1338 = load i32, ptr %t1335 %t1339 = icmp sge i32 %t1337, %t1338 br i1 %t1339, label %grow437, label %put438 grow437: %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 store i32 281, ptr @lp_site %t1348 = call ptr @lp_realloc(ptr %t1347, i64 %t1346) store i32 0, ptr @lp_site store ptr %t1348, ptr %t1336 store i32 %t1342, ptr %t1335 br label %put438 put438: %t1349 = load ptr, ptr %t1336 %t1350 = getelementptr inbounds ptr, ptr %t1349, i32 %t1337 store ptr %t1333, ptr %t1350 %t1351 = add i32 %t1337, 1 store i32 %t1351, ptr %t1334 br label %ret ifend433: %t1352 = call i32 @fn_is_id(ptr @.str732) %t1353 = icmp ne i32 %t1352, 0 br i1 %t1353, label %then439, label %ifend441 then439: %t1354 = load ptr, ptr @g_prog %t1355 = call ptr @fn_parse_const() %t1356 = getelementptr inbounds %LSlice, ptr %t1354, i32 0, i32 1 %t1357 = getelementptr inbounds %LSlice, ptr %t1354, i32 0, i32 2 %t1358 = getelementptr inbounds %LSlice, ptr %t1354, i32 0, i32 0 %t1359 = load i32, ptr %t1356 %t1360 = load i32, ptr %t1357 %t1361 = icmp sge i32 %t1359, %t1360 br i1 %t1361, label %grow442, label %put443 grow442: %t1362 = mul i32 %t1360, 2 %t1363 = icmp eq i32 %t1360, 0 %t1364 = select i1 %t1363, i32 8, i32 %t1362 %t1365 = getelementptr ptr, ptr null, i32 1 %t1366 = ptrtoint ptr %t1365 to i64 %t1367 = zext i32 %t1364 to i64 %t1368 = mul i64 %t1367, %t1366 %t1369 = load ptr, ptr %t1358 store i32 282, ptr @lp_site %t1370 = call ptr @lp_realloc(ptr %t1369, i64 %t1368) store i32 0, ptr @lp_site store ptr %t1370, ptr %t1358 store i32 %t1364, ptr %t1357 br label %put443 put443: %t1371 = load ptr, ptr %t1358 %t1372 = getelementptr inbounds ptr, ptr %t1371, i32 %t1359 store ptr %t1355, ptr %t1372 %t1373 = add i32 %t1359, 1 store i32 %t1373, ptr %t1356 br label %ret ifend441: store i32 0, ptr %t1374 %t1376 = call i32 @fn_is_id(ptr @.str733) %t1377 = icmp ne i32 %t1376, 0 %t1378 = zext i1 %t1377 to i32 store i32 %t1378, ptr %t1375 br i1 %t1377, label %sc444, label %scend445 sc444: %t1379 = load ptr, ptr @g_toks %t1380 = load i32, ptr @g_pi %t1381 = add i32 %t1380, 1 %t1382 = getelementptr inbounds %LSlice, ptr %t1379, i32 0, i32 0 %t1383 = load ptr, ptr %t1382 %t1384 = getelementptr inbounds %LSlice, ptr %t1379, i32 0, i32 1 %t1385 = load i32, ptr %t1384 %t1386 = icmp ult i32 %t1381, %t1385 br i1 %t1386, label %ixok446, label %ixbad447 ixbad447: store i32 283, ptr @lp_site %t1387 = call ptr @lp_win_stdio(i32 2) store i32 0, ptr @lp_site call i32 (ptr, ptr, ...) @fprintf(ptr %t1387, ptr @.fmt_bounds, ptr @.str734, i32 %t1381, i32 %t1385) call void @exit(i32 1) unreachable ixok446: %t1388 = getelementptr inbounds ptr, ptr %t1383, i32 %t1381 %t1389 = load ptr, ptr %t1388 %t1390 = getelementptr inbounds %Cmp_Tok, ptr %t1389, i32 0, i32 1 %t1391 = load ptr, ptr %t1390 %t1392 = call i32 @lp_str_eq(ptr %t1391, ptr @.str735) %t1393 = icmp ne i32 %t1392, 0 %t1394 = zext i1 %t1393 to i32 store i32 %t1394, ptr %t1375 br label %scend445 scend445: %t1395 = load i32, ptr %t1375 %t1396 = icmp ne i32 %t1395, 0 br i1 %t1396, label %then448, label %ifend450 then448: %t1397 = load i32, ptr @g_pi %t1398 = add i32 %t1397, 1 store i32 %t1398, ptr @g_pi store i32 1, ptr %t1374 br label %ifend450 ifend450: %t1399 = call i32 @fn_is_id(ptr @.str736) %t1400 = icmp ne i32 %t1399, 0 br i1 %t1400, label %then451, label %ifend453 then451: %t1401 = call ptr @fn_parse_fn() store ptr %t1401, ptr %t1402 %t1403 = load i32, ptr %t1374 %t1404 = icmp ne i32 %t1403, 0 br i1 %t1404, label %then454, label %ifend456 then454: %t1405 = load ptr, ptr %t1402 %t1406 = getelementptr inbounds %Cmp_Node, ptr %t1405, i32 0, i32 12 store i32 1, ptr %t1406 br label %ifend456 ifend456: %t1407 = load i32, ptr %t20 %t1408 = icmp ne i32 %t1407, 0 br i1 %t1408, label %then457, label %ifend459 then457: %t1409 = load ptr, ptr @g_g_det_names %t1410 = load ptr, ptr %t1402 %t1411 = getelementptr inbounds %Cmp_Node, ptr %t1410, i32 0, i32 1 %t1412 = load ptr, ptr %t1411 %t1413 = getelementptr inbounds %LSlice, ptr %t1409, i32 0, i32 1 %t1414 = getelementptr inbounds %LSlice, ptr %t1409, i32 0, i32 2 %t1415 = getelementptr inbounds %LSlice, ptr %t1409, i32 0, i32 0 %t1416 = load i32, ptr %t1413 %t1417 = load i32, ptr %t1414 %t1418 = icmp sge i32 %t1416, %t1417 br i1 %t1418, label %grow460, label %put461 grow460: %t1419 = mul i32 %t1417, 2 %t1420 = icmp eq i32 %t1417, 0 %t1421 = select i1 %t1420, i32 8, i32 %t1419 %t1422 = getelementptr ptr, ptr null, i32 1 %t1423 = ptrtoint ptr %t1422 to i64 %t1424 = zext i32 %t1421 to i64 %t1425 = mul i64 %t1424, %t1423 %t1426 = load ptr, ptr %t1415 store i32 284, ptr @lp_site %t1427 = call ptr @lp_realloc(ptr %t1426, i64 %t1425) store i32 0, ptr @lp_site store ptr %t1427, ptr %t1415 store i32 %t1421, ptr %t1414 br label %put461 put461: %t1428 = load ptr, ptr %t1415 %t1429 = getelementptr inbounds ptr, ptr %t1428, i32 %t1416 store ptr %t1412, ptr %t1429 %t1430 = add i32 %t1416, 1 store i32 %t1430, ptr %t1413 br label %ifend459 ifend459: %t1431 = load i32, ptr @g_g_aok_pending %t1432 = icmp ne i32 %t1431, 0 br i1 %t1432, label %then462, label %ifend464 then462: %t1433 = load ptr, ptr @g_g_alloc_ok_names %t1434 = load ptr, ptr %t1402 %t1435 = getelementptr inbounds %Cmp_Node, ptr %t1434, i32 0, i32 1 %t1436 = load ptr, ptr %t1435 %t1437 = getelementptr inbounds %LSlice, ptr %t1433, i32 0, i32 1 %t1438 = getelementptr inbounds %LSlice, ptr %t1433, i32 0, i32 2 %t1439 = getelementptr inbounds %LSlice, ptr %t1433, i32 0, i32 0 %t1440 = load i32, ptr %t1437 %t1441 = load i32, ptr %t1438 %t1442 = icmp sge i32 %t1440, %t1441 br i1 %t1442, label %grow465, label %put466 grow465: %t1443 = mul i32 %t1441, 2 %t1444 = icmp eq i32 %t1441, 0 %t1445 = select i1 %t1444, i32 8, i32 %t1443 %t1446 = getelementptr ptr, ptr null, i32 1 %t1447 = ptrtoint ptr %t1446 to i64 %t1448 = zext i32 %t1445 to i64 %t1449 = mul i64 %t1448, %t1447 %t1450 = load ptr, ptr %t1439 store i32 285, ptr @lp_site %t1451 = call ptr @lp_realloc(ptr %t1450, i64 %t1449) store i32 0, ptr @lp_site store ptr %t1451, ptr %t1439 store i32 %t1445, ptr %t1438 br label %put466 put466: %t1452 = load ptr, ptr %t1439 %t1453 = getelementptr inbounds ptr, ptr %t1452, i32 %t1440 store ptr %t1436, ptr %t1453 %t1454 = add i32 %t1440, 1 store i32 %t1454, ptr %t1437 store i32 0, ptr @g_g_aok_pending br label %ifend464 ifend464: %t1455 = load ptr, ptr @g_g_res_pending_make %t1456 = icmp ne ptr %t1455, null %t1457 = zext i1 %t1456 to i32 %t1458 = icmp ne i32 %t1457, 0 br i1 %t1458, label %then467, label %ifend469 then467: %t1459 = load ptr, ptr @g_g_res_make_fn %t1460 = load ptr, ptr %t1402 %t1461 = getelementptr inbounds %Cmp_Node, ptr %t1460, i32 0, i32 1 %t1462 = load ptr, ptr %t1461 %t1463 = getelementptr inbounds %LSlice, ptr %t1459, i32 0, i32 1 %t1464 = getelementptr inbounds %LSlice, ptr %t1459, i32 0, i32 2 %t1465 = getelementptr inbounds %LSlice, ptr %t1459, i32 0, i32 0 %t1466 = load i32, ptr %t1463 %t1467 = load i32, ptr %t1464 %t1468 = icmp sge i32 %t1466, %t1467 br i1 %t1468, label %grow470, label %put471 grow470: %t1469 = mul i32 %t1467, 2 %t1470 = icmp eq i32 %t1467, 0 %t1471 = select i1 %t1470, i32 8, i32 %t1469 %t1472 = getelementptr ptr, ptr null, i32 1 %t1473 = ptrtoint ptr %t1472 to i64 %t1474 = zext i32 %t1471 to i64 %t1475 = mul i64 %t1474, %t1473 %t1476 = load ptr, ptr %t1465 store i32 286, ptr @lp_site %t1477 = call ptr @lp_realloc(ptr %t1476, i64 %t1475) store i32 0, ptr @lp_site store ptr %t1477, ptr %t1465 store i32 %t1471, ptr %t1464 br label %put471 put471: %t1478 = load ptr, ptr %t1465 %t1479 = getelementptr inbounds ptr, ptr %t1478, i32 %t1466 store ptr %t1462, ptr %t1479 %t1480 = add i32 %t1466, 1 store i32 %t1480, ptr %t1463 %t1481 = load ptr, ptr @g_g_res_make_kind %t1482 = load ptr, ptr @g_g_res_pending_make %t1483 = getelementptr inbounds %LSlice, ptr %t1481, i32 0, i32 1 %t1484 = getelementptr inbounds %LSlice, ptr %t1481, i32 0, i32 2 %t1485 = getelementptr inbounds %LSlice, ptr %t1481, i32 0, i32 0 %t1486 = load i32, ptr %t1483 %t1487 = load i32, ptr %t1484 %t1488 = icmp sge i32 %t1486, %t1487 br i1 %t1488, label %grow472, label %put473 grow472: %t1489 = mul i32 %t1487, 2 %t1490 = icmp eq i32 %t1487, 0 %t1491 = select i1 %t1490, i32 8, i32 %t1489 %t1492 = getelementptr ptr, ptr null, i32 1 %t1493 = ptrtoint ptr %t1492 to i64 %t1494 = zext i32 %t1491 to i64 %t1495 = mul i64 %t1494, %t1493 %t1496 = load ptr, ptr %t1485 store i32 287, ptr @lp_site %t1497 = call ptr @lp_realloc(ptr %t1496, i64 %t1495) store i32 0, ptr @lp_site store ptr %t1497, ptr %t1485 store i32 %t1491, ptr %t1484 br label %put473 put473: %t1498 = load ptr, ptr %t1485 %t1499 = getelementptr inbounds ptr, ptr %t1498, i32 %t1486 store ptr %t1482, ptr %t1499 %t1500 = add i32 %t1486, 1 store i32 %t1500, ptr %t1483 store ptr null, ptr @g_g_res_pending_make br label %ifend469 ifend469: %t1501 = load ptr, ptr @g_g_res_pending_free %t1502 = icmp ne ptr %t1501, null %t1503 = zext i1 %t1502 to i32 %t1504 = icmp ne i32 %t1503, 0 br i1 %t1504, label %then474, label %ifend476 then474: %t1505 = load ptr, ptr @g_g_res_free_fn %t1506 = load ptr, ptr %t1402 %t1507 = getelementptr inbounds %Cmp_Node, ptr %t1506, i32 0, i32 1 %t1508 = load ptr, ptr %t1507 %t1509 = getelementptr inbounds %LSlice, ptr %t1505, i32 0, i32 1 %t1510 = getelementptr inbounds %LSlice, ptr %t1505, i32 0, i32 2 %t1511 = getelementptr inbounds %LSlice, ptr %t1505, i32 0, i32 0 %t1512 = load i32, ptr %t1509 %t1513 = load i32, ptr %t1510 %t1514 = icmp sge i32 %t1512, %t1513 br i1 %t1514, label %grow477, label %put478 grow477: %t1515 = mul i32 %t1513, 2 %t1516 = icmp eq i32 %t1513, 0 %t1517 = select i1 %t1516, i32 8, i32 %t1515 %t1518 = getelementptr ptr, ptr null, i32 1 %t1519 = ptrtoint ptr %t1518 to i64 %t1520 = zext i32 %t1517 to i64 %t1521 = mul i64 %t1520, %t1519 %t1522 = load ptr, ptr %t1511 store i32 288, ptr @lp_site %t1523 = call ptr @lp_realloc(ptr %t1522, i64 %t1521) store i32 0, ptr @lp_site store ptr %t1523, ptr %t1511 store i32 %t1517, ptr %t1510 br label %put478 put478: %t1524 = load ptr, ptr %t1511 %t1525 = getelementptr inbounds ptr, ptr %t1524, i32 %t1512 store ptr %t1508, ptr %t1525 %t1526 = add i32 %t1512, 1 store i32 %t1526, ptr %t1509 %t1527 = load ptr, ptr @g_g_res_free_kind %t1528 = load ptr, ptr @g_g_res_pending_free %t1529 = getelementptr inbounds %LSlice, ptr %t1527, i32 0, i32 1 %t1530 = getelementptr inbounds %LSlice, ptr %t1527, i32 0, i32 2 %t1531 = getelementptr inbounds %LSlice, ptr %t1527, i32 0, i32 0 %t1532 = load i32, ptr %t1529 %t1533 = load i32, ptr %t1530 %t1534 = icmp sge i32 %t1532, %t1533 br i1 %t1534, label %grow479, label %put480 grow479: %t1535 = mul i32 %t1533, 2 %t1536 = icmp eq i32 %t1533, 0 %t1537 = select i1 %t1536, i32 8, i32 %t1535 %t1538 = getelementptr ptr, ptr null, i32 1 %t1539 = ptrtoint ptr %t1538 to i64 %t1540 = zext i32 %t1537 to i64 %t1541 = mul i64 %t1540, %t1539 %t1542 = load ptr, ptr %t1531 store i32 289, ptr @lp_site %t1543 = call ptr @lp_realloc(ptr %t1542, i64 %t1541) store i32 0, ptr @lp_site store ptr %t1543, ptr %t1531 store i32 %t1537, ptr %t1530 br label %put480 put480: %t1544 = load ptr, ptr %t1531 %t1545 = getelementptr inbounds ptr, ptr %t1544, i32 %t1532 store ptr %t1528, ptr %t1545 %t1546 = add i32 %t1532, 1 store i32 %t1546, ptr %t1529 store ptr null, ptr @g_g_res_pending_free br label %ifend476 ifend476: %t1547 = load i32, ptr %t0 %t1548 = icmp ne i32 %t1547, 0 br i1 %t1548, label %then481, label %ifend483 then481: %t1549 = load ptr, ptr %t1402 %t1550 = getelementptr inbounds %Cmp_Node, ptr %t1549, i32 0, i32 2 store i32 1, ptr %t1550 br label %ifend483 ifend483: %t1551 = load ptr, ptr %t16 %t1552 = icmp ne ptr %t1551, null %t1553 = zext i1 %t1552 to i32 %t1554 = icmp ne i32 %t1553, 0 br i1 %t1554, label %then484, label %ifend486 then484: %t1555 = load ptr, ptr @g_g_mod_sys_fn %t1556 = load ptr, ptr %t1402 %t1557 = getelementptr inbounds %Cmp_Node, ptr %t1556, i32 0, i32 1 %t1558 = load ptr, ptr %t1557 %t1559 = getelementptr inbounds %LSlice, ptr %t1555, i32 0, i32 1 %t1560 = getelementptr inbounds %LSlice, ptr %t1555, i32 0, i32 2 %t1561 = getelementptr inbounds %LSlice, ptr %t1555, i32 0, i32 0 %t1562 = load i32, ptr %t1559 %t1563 = load i32, ptr %t1560 %t1564 = icmp sge i32 %t1562, %t1563 br i1 %t1564, label %grow487, label %put488 grow487: %t1565 = mul i32 %t1563, 2 %t1566 = icmp eq i32 %t1563, 0 %t1567 = select i1 %t1566, i32 8, i32 %t1565 %t1568 = getelementptr ptr, ptr null, i32 1 %t1569 = ptrtoint ptr %t1568 to i64 %t1570 = zext i32 %t1567 to i64 %t1571 = mul i64 %t1570, %t1569 %t1572 = load ptr, ptr %t1561 store i32 290, ptr @lp_site %t1573 = call ptr @lp_realloc(ptr %t1572, i64 %t1571) store i32 0, ptr @lp_site store ptr %t1573, ptr %t1561 store i32 %t1567, ptr %t1560 br label %put488 put488: %t1574 = load ptr, ptr %t1561 %t1575 = getelementptr inbounds ptr, ptr %t1574, i32 %t1562 store ptr %t1558, ptr %t1575 %t1576 = add i32 %t1562, 1 store i32 %t1576, ptr %t1559 %t1577 = load ptr, ptr @g_g_mod_sys_phase %t1578 = load ptr, ptr %t16 %t1579 = getelementptr inbounds %LSlice, ptr %t1577, i32 0, i32 1 %t1580 = getelementptr inbounds %LSlice, ptr %t1577, i32 0, i32 2 %t1581 = getelementptr inbounds %LSlice, ptr %t1577, i32 0, i32 0 %t1582 = load i32, ptr %t1579 %t1583 = load i32, ptr %t1580 %t1584 = icmp sge i32 %t1582, %t1583 br i1 %t1584, label %grow489, label %put490 grow489: %t1585 = mul i32 %t1583, 2 %t1586 = icmp eq i32 %t1583, 0 %t1587 = select i1 %t1586, i32 8, i32 %t1585 %t1588 = getelementptr ptr, ptr null, i32 1 %t1589 = ptrtoint ptr %t1588 to i64 %t1590 = zext i32 %t1587 to i64 %t1591 = mul i64 %t1590, %t1589 %t1592 = load ptr, ptr %t1581 store i32 291, ptr @lp_site %t1593 = call ptr @lp_realloc(ptr %t1592, i64 %t1591) store i32 0, ptr @lp_site store ptr %t1593, ptr %t1581 store i32 %t1587, ptr %t1580 br label %put490 put490: %t1594 = load ptr, ptr %t1581 %t1595 = getelementptr inbounds ptr, ptr %t1594, i32 %t1582 store ptr %t1578, ptr %t1595 %t1596 = add i32 %t1582, 1 store i32 %t1596, ptr %t1579 br label %ifend486 ifend486: %t1597 = load ptr, ptr %t17 %t1598 = icmp ne ptr %t1597, null %t1599 = zext i1 %t1598 to i32 %t1600 = icmp ne i32 %t1599, 0 br i1 %t1600, label %then491, label %ifend493 then491: %t1601 = load ptr, ptr @g_g_esys_comp %t1602 = load ptr, ptr %t17 %t1603 = getelementptr inbounds %LSlice, ptr %t1601, i32 0, i32 1 %t1604 = getelementptr inbounds %LSlice, ptr %t1601, i32 0, i32 2 %t1605 = getelementptr inbounds %LSlice, ptr %t1601, i32 0, i32 0 %t1606 = load i32, ptr %t1603 %t1607 = load i32, ptr %t1604 %t1608 = icmp sge i32 %t1606, %t1607 br i1 %t1608, label %grow494, label %put495 grow494: %t1609 = mul i32 %t1607, 2 %t1610 = icmp eq i32 %t1607, 0 %t1611 = select i1 %t1610, i32 8, i32 %t1609 %t1612 = getelementptr ptr, ptr null, i32 1 %t1613 = ptrtoint ptr %t1612 to i64 %t1614 = zext i32 %t1611 to i64 %t1615 = mul i64 %t1614, %t1613 %t1616 = load ptr, ptr %t1605 store i32 292, ptr @lp_site %t1617 = call ptr @lp_realloc(ptr %t1616, i64 %t1615) store i32 0, ptr @lp_site store ptr %t1617, ptr %t1605 store i32 %t1611, ptr %t1604 br label %put495 put495: %t1618 = load ptr, ptr %t1605 %t1619 = getelementptr inbounds ptr, ptr %t1618, i32 %t1606 store ptr %t1602, ptr %t1619 %t1620 = add i32 %t1606, 1 store i32 %t1620, ptr %t1603 %t1621 = load ptr, ptr @g_g_esys_fn %t1622 = load ptr, ptr %t1402 %t1623 = getelementptr inbounds %Cmp_Node, ptr %t1622, i32 0, i32 1 %t1624 = load ptr, ptr %t1623 %t1625 = getelementptr inbounds %LSlice, ptr %t1621, i32 0, i32 1 %t1626 = getelementptr inbounds %LSlice, ptr %t1621, i32 0, i32 2 %t1627 = getelementptr inbounds %LSlice, ptr %t1621, i32 0, i32 0 %t1628 = load i32, ptr %t1625 %t1629 = load i32, ptr %t1626 %t1630 = icmp sge i32 %t1628, %t1629 br i1 %t1630, label %grow496, label %put497 grow496: %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 store i32 293, ptr @lp_site %t1639 = call ptr @lp_realloc(ptr %t1638, i64 %t1637) store i32 0, ptr @lp_site store ptr %t1639, ptr %t1627 store i32 %t1633, ptr %t1626 br label %put497 put497: %t1640 = load ptr, ptr %t1627 %t1641 = getelementptr inbounds ptr, ptr %t1640, i32 %t1628 store ptr %t1624, ptr %t1641 %t1642 = add i32 %t1628, 1 store i32 %t1642, ptr %t1625 %t1643 = load ptr, ptr @g_g_esys_phase %t1644 = load ptr, ptr %t18 %t1645 = getelementptr inbounds %LSlice, ptr %t1643, i32 0, i32 1 %t1646 = getelementptr inbounds %LSlice, ptr %t1643, i32 0, i32 2 %t1647 = getelementptr inbounds %LSlice, ptr %t1643, i32 0, i32 0 %t1648 = load i32, ptr %t1645 %t1649 = load i32, ptr %t1646 %t1650 = icmp sge i32 %t1648, %t1649 br i1 %t1650, label %grow498, label %put499 grow498: %t1651 = mul i32 %t1649, 2 %t1652 = icmp eq i32 %t1649, 0 %t1653 = select i1 %t1652, i32 8, i32 %t1651 %t1654 = getelementptr ptr, ptr null, i32 1 %t1655 = ptrtoint ptr %t1654 to i64 %t1656 = zext i32 %t1653 to i64 %t1657 = mul i64 %t1656, %t1655 %t1658 = load ptr, ptr %t1647 store i32 294, ptr @lp_site %t1659 = call ptr @lp_realloc(ptr %t1658, i64 %t1657) store i32 0, ptr @lp_site store ptr %t1659, ptr %t1647 store i32 %t1653, ptr %t1646 br label %put499 put499: %t1660 = load ptr, ptr %t1647 %t1661 = getelementptr inbounds ptr, ptr %t1660, i32 %t1648 store ptr %t1644, ptr %t1661 %t1662 = add i32 %t1648, 1 store i32 %t1662, ptr %t1645 br label %ifend493 ifend493: %t1663 = load ptr, ptr %t19 %t1664 = icmp ne ptr %t1663, null %t1665 = zext i1 %t1664 to i32 %t1666 = icmp ne i32 %t1665, 0 br i1 %t1666, label %then500, label %ifend502 then500: %t1667 = load ptr, ptr %t19 call void @fn_register_namespace(ptr %t1667) br label %ifend502 ifend502: %t1668 = load ptr, ptr @g_prog %t1669 = load ptr, ptr %t1402 %t1670 = getelementptr inbounds %LSlice, ptr %t1668, i32 0, i32 1 %t1671 = getelementptr inbounds %LSlice, ptr %t1668, i32 0, i32 2 %t1672 = getelementptr inbounds %LSlice, ptr %t1668, i32 0, i32 0 %t1673 = load i32, ptr %t1670 %t1674 = load i32, ptr %t1671 %t1675 = icmp sge i32 %t1673, %t1674 br i1 %t1675, label %grow503, label %put504 grow503: %t1676 = mul i32 %t1674, 2 %t1677 = icmp eq i32 %t1674, 0 %t1678 = select i1 %t1677, i32 8, i32 %t1676 %t1679 = getelementptr ptr, ptr null, i32 1 %t1680 = ptrtoint ptr %t1679 to i64 %t1681 = zext i32 %t1678 to i64 %t1682 = mul i64 %t1681, %t1680 %t1683 = load ptr, ptr %t1672 store i32 295, ptr @lp_site %t1684 = call ptr @lp_realloc(ptr %t1683, i64 %t1682) store i32 0, ptr @lp_site store ptr %t1684, ptr %t1672 store i32 %t1678, ptr %t1671 br label %put504 put504: %t1685 = load ptr, ptr %t1672 %t1686 = getelementptr inbounds ptr, ptr %t1685, i32 %t1673 store ptr %t1669, ptr %t1686 %t1687 = add i32 %t1673, 1 store i32 %t1687, ptr %t1670 br label %ret ifend453: %t1688 = call i32 @fn_is_id(ptr @.str737) %t1689 = icmp ne i32 %t1688, 0 br i1 %t1689, label %then505, label %ifend507 then505: %t1690 = load ptr, ptr @g_prog %t1691 = call ptr @fn_parse_extern() %t1692 = getelementptr inbounds %LSlice, ptr %t1690, i32 0, i32 1 %t1693 = getelementptr inbounds %LSlice, ptr %t1690, i32 0, i32 2 %t1694 = getelementptr inbounds %LSlice, ptr %t1690, i32 0, i32 0 %t1695 = load i32, ptr %t1692 %t1696 = load i32, ptr %t1693 %t1697 = icmp sge i32 %t1695, %t1696 br i1 %t1697, label %grow508, label %put509 grow508: %t1698 = mul i32 %t1696, 2 %t1699 = icmp eq i32 %t1696, 0 %t1700 = select i1 %t1699, i32 8, i32 %t1698 %t1701 = getelementptr ptr, ptr null, i32 1 %t1702 = ptrtoint ptr %t1701 to i64 %t1703 = zext i32 %t1700 to i64 %t1704 = mul i64 %t1703, %t1702 %t1705 = load ptr, ptr %t1694 store i32 296, ptr @lp_site %t1706 = call ptr @lp_realloc(ptr %t1705, i64 %t1704) store i32 0, ptr @lp_site store ptr %t1706, ptr %t1694 store i32 %t1700, ptr %t1693 br label %put509 put509: %t1707 = load ptr, ptr %t1694 %t1708 = getelementptr inbounds ptr, ptr %t1707, i32 %t1695 store ptr %t1691, ptr %t1708 %t1709 = add i32 %t1695, 1 store i32 %t1709, ptr %t1692 br label %ret ifend507: %t1710 = call i32 @fn_is_id(ptr @.str738) %t1711 = icmp ne i32 %t1710, 0 br i1 %t1711, label %then510, label %ifend512 then510: %t1712 = load ptr, ptr @g_prog %t1713 = call ptr @fn_parse_main() %t1714 = getelementptr inbounds %LSlice, ptr %t1712, i32 0, i32 1 %t1715 = getelementptr inbounds %LSlice, ptr %t1712, i32 0, i32 2 %t1716 = getelementptr inbounds %LSlice, ptr %t1712, i32 0, i32 0 %t1717 = load i32, ptr %t1714 %t1718 = load i32, ptr %t1715 %t1719 = icmp sge i32 %t1717, %t1718 br i1 %t1719, label %grow513, label %put514 grow513: %t1720 = mul i32 %t1718, 2 %t1721 = icmp eq i32 %t1718, 0 %t1722 = select i1 %t1721, i32 8, i32 %t1720 %t1723 = getelementptr ptr, ptr null, i32 1 %t1724 = ptrtoint ptr %t1723 to i64 %t1725 = zext i32 %t1722 to i64 %t1726 = mul i64 %t1725, %t1724 %t1727 = load ptr, ptr %t1716 store i32 297, ptr @lp_site %t1728 = call ptr @lp_realloc(ptr %t1727, i64 %t1726) store i32 0, ptr @lp_site store ptr %t1728, ptr %t1716 store i32 %t1722, ptr %t1715 br label %put514 put514: %t1729 = load ptr, ptr %t1716 %t1730 = getelementptr inbounds ptr, ptr %t1729, i32 %t1717 store ptr %t1713, ptr %t1730 %t1731 = add i32 %t1717, 1 store i32 %t1731, ptr %t1714 br label %ret ifend512: %t1732 = call i32 @fn_is_id(ptr @.str739) %t1733 = icmp ne i32 %t1732, 0 br i1 %t1733, label %then515, label %ifend517 then515: %t1734 = load ptr, ptr @g_g_tests %t1735 = call ptr @fn_parse_test() %t1736 = getelementptr inbounds %LSlice, ptr %t1734, i32 0, i32 1 %t1737 = getelementptr inbounds %LSlice, ptr %t1734, i32 0, i32 2 %t1738 = getelementptr inbounds %LSlice, ptr %t1734, i32 0, i32 0 %t1739 = load i32, ptr %t1736 %t1740 = load i32, ptr %t1737 %t1741 = icmp sge i32 %t1739, %t1740 br i1 %t1741, label %grow518, label %put519 grow518: %t1742 = mul i32 %t1740, 2 %t1743 = icmp eq i32 %t1740, 0 %t1744 = select i1 %t1743, i32 8, i32 %t1742 %t1745 = getelementptr ptr, ptr null, i32 1 %t1746 = ptrtoint ptr %t1745 to i64 %t1747 = zext i32 %t1744 to i64 %t1748 = mul i64 %t1747, %t1746 %t1749 = load ptr, ptr %t1738 store i32 298, ptr @lp_site %t1750 = call ptr @lp_realloc(ptr %t1749, i64 %t1748) store i32 0, ptr @lp_site store ptr %t1750, ptr %t1738 store i32 %t1744, ptr %t1737 br label %put519 put519: %t1751 = load ptr, ptr %t1738 %t1752 = getelementptr inbounds ptr, ptr %t1751, i32 %t1739 store ptr %t1735, ptr %t1752 %t1753 = add i32 %t1739, 1 store i32 %t1753, ptr %t1736 br label %ret ifend517: %t1754 = call ptr @fn_tok_desc() store i32 299, ptr @lp_site %t1755 = call ptr @lp_str_concat(ptr @.str740, ptr %t1754) store i32 0, ptr @lp_site call void @fn_perr(ptr %t1755) br label %ret ret: ret void } define ptr @fn_parse_test() { entry: %retval = alloca ptr %t12 = alloca i32 %t31 = alloca ptr %t66 = alloca ptr %t0 = load ptr, ptr @g_toks %t1 = load i32, ptr @g_pi %t2 = getelementptr inbounds %LSlice, ptr %t0, i32 0, i32 0 %t3 = load ptr, ptr %t2 %t4 = getelementptr inbounds %LSlice, ptr %t0, i32 0, i32 1 %t5 = load i32, ptr %t4 %t6 = icmp ult i32 %t1, %t5 br i1 %t6, label %ixok0, label %ixbad1 ixbad1: store i32 300, ptr @lp_site %t7 = call ptr @lp_win_stdio(i32 2) store i32 0, ptr @lp_site call i32 (ptr, ptr, ...) @fprintf(ptr %t7, ptr @.fmt_bounds, ptr @.str741, i32 %t1, i32 %t5) call void @exit(i32 1) unreachable ixok0: %t8 = getelementptr inbounds ptr, ptr %t3, i32 %t1 %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 %t12 %t13 = load i32, ptr @g_pi %t14 = add i32 %t13, 1 store i32 %t14, ptr @g_pi %t15 = load ptr, ptr @g_toks %t16 = load i32, ptr @g_pi %t17 = getelementptr inbounds %LSlice, ptr %t15, i32 0, i32 0 %t18 = load ptr, ptr %t17 %t19 = getelementptr inbounds %LSlice, ptr %t15, i32 0, i32 1 %t20 = load i32, ptr %t19 %t21 = icmp ult i32 %t16, %t20 br i1 %t21, label %ixok2, label %ixbad3 ixbad3: store i32 301, ptr @lp_site %t22 = call ptr @lp_win_stdio(i32 2) store i32 0, ptr @lp_site call i32 (ptr, ptr, ...) @fprintf(ptr %t22, ptr @.fmt_bounds, ptr @.str743, i32 %t16, i32 %t20) call void @exit(i32 1) unreachable ixok2: %t23 = getelementptr inbounds ptr, ptr %t18, i32 %t16 %t24 = load ptr, ptr %t23 %t25 = getelementptr inbounds %Cmp_Tok, ptr %t24, i32 0, i32 0 %t26 = load i32, ptr %t25 %t27 = icmp ne i32 %t26, 2 %t28 = zext i1 %t27 to i32 %t29 = icmp ne i32 %t28, 0 br i1 %t29, label %then4, label %ifend6 then4: call void @fn_perr(ptr @.str744) br label %ifend6 ifend6: %t30 = call ptr @fn_node(i32 51) 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 @g_toks %t35 = load i32, ptr @g_pi %t36 = getelementptr inbounds %LSlice, ptr %t34, i32 0, i32 0 %t37 = load ptr, ptr %t36 %t38 = getelementptr inbounds %LSlice, ptr %t34, i32 0, i32 1 %t39 = load i32, ptr %t38 %t40 = icmp ult i32 %t35, %t39 br i1 %t40, label %ixok7, label %ixbad8 ixbad8: store i32 302, ptr @lp_site %t41 = call ptr @lp_win_stdio(i32 2) store i32 0, ptr @lp_site call i32 (ptr, ptr, ...) @fprintf(ptr %t41, ptr @.fmt_bounds, ptr @.str745, i32 %t35, i32 %t39) call void @exit(i32 1) unreachable ixok7: %t42 = getelementptr inbounds ptr, ptr %t37, i32 %t35 %t43 = load ptr, ptr %t42 %t44 = getelementptr inbounds %Cmp_Tok, ptr %t43, i32 0, i32 1 %t45 = load ptr, ptr %t44 store ptr %t45, ptr %t33 %t46 = load ptr, ptr %t31 %t47 = getelementptr inbounds %Cmp_Node, ptr %t46, i32 0, i32 8 %t48 = load i32, ptr %t12 store i32 %t48, ptr %t47 %t49 = load ptr, ptr %t31 %t50 = getelementptr inbounds %Cmp_Node, ptr %t49, i32 0, i32 14 %t51 = load ptr, ptr @g_toks %t52 = load i32, ptr @g_pi %t53 = getelementptr inbounds %LSlice, ptr %t51, i32 0, i32 0 %t54 = load ptr, ptr %t53 %t55 = getelementptr inbounds %LSlice, ptr %t51, i32 0, i32 1 %t56 = load i32, ptr %t55 %t57 = icmp ult i32 %t52, %t56 br i1 %t57, label %ixok9, label %ixbad10 ixbad10: store i32 303, ptr @lp_site %t58 = call ptr @lp_win_stdio(i32 2) store i32 0, ptr @lp_site call i32 (ptr, ptr, ...) @fprintf(ptr %t58, ptr @.fmt_bounds, ptr @.str746, i32 %t52, i32 %t56) call void @exit(i32 1) unreachable ixok9: %t59 = getelementptr inbounds ptr, ptr %t54, i32 %t52 %t60 = load ptr, ptr %t59 %t61 = getelementptr inbounds %Cmp_Tok, ptr %t60, i32 0, i32 5 %t62 = load i32, ptr %t61 store i32 %t62, ptr %t50 %t63 = load i32, ptr @g_pi %t64 = add i32 %t63, 1 store i32 %t64, ptr @g_pi %t65 = call ptr @fn_parse_entry_params() store ptr %t65, ptr %t66 %t67 = load ptr, ptr %t31 %t68 = getelementptr inbounds %Cmp_Node, ptr %t67, i32 0, i32 4 %t69 = call ptr @fn_block() store ptr %t69, ptr %t68 %t70 = load ptr, ptr %t31 %t71 = getelementptr inbounds %Cmp_Node, ptr %t70, i32 0, i32 4 %t72 = load ptr, ptr %t71 %t73 = load ptr, ptr %t66 call void @fn_entry_bind(ptr %t72, ptr %t73) %t74 = load ptr, ptr %t31 store ptr %t74, ptr %retval br label %ret ret: %t75 = load ptr, ptr %retval ret ptr %t75 } 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 @.str747) 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 %t74 = alloca ptr %t123 = alloca ptr %t127 = alloca i32 %t128 = 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 store i32 304, ptr @lp_site %t6 = call ptr @lp_str_slice(ptr %t1, i32 0, i32 %t5) store i32 0, ptr @lp_site 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) store i32 305, ptr @lp_site %t11 = call ptr @lp_fs_list(ptr %t10) store i32 0, ptr @lp_site 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 store i32 306, ptr @lp_site %t18 = call ptr @lp_str_concat(ptr @.str750, ptr %t17) store i32 0, ptr @lp_site 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 = load i32, ptr %t31 %t41 = getelementptr inbounds %LSlice, ptr %t39, i32 0, i32 0 %t42 = load ptr, ptr %t41 %t43 = getelementptr inbounds %LSlice, ptr %t39, i32 0, i32 1 %t44 = load i32, ptr %t43 %t45 = icmp ult i32 %t40, %t44 br i1 %t45, label %ixok9, label %ixbad10 ixbad10: store i32 307, ptr @lp_site %t46 = call ptr @lp_win_stdio(i32 2) store i32 0, ptr @lp_site call i32 (ptr, ptr, ...) @fprintf(ptr %t46, ptr @.fmt_bounds, ptr @.str751, i32 %t40, i32 %t44) call void @exit(i32 1) unreachable ixok9: %t47 = getelementptr inbounds ptr, ptr %t42, i32 %t40 %t48 = load ptr, ptr %t47 %t49 = load ptr, ptr %t12 %t50 = load i32, ptr %t28 %t51 = getelementptr inbounds %LSlice, ptr %t49, i32 0, i32 0 %t52 = load ptr, ptr %t51 %t53 = getelementptr inbounds %LSlice, ptr %t49, i32 0, i32 1 %t54 = load i32, ptr %t53 %t55 = icmp ult i32 %t50, %t54 br i1 %t55, label %ixok11, label %ixbad12 ixbad12: store i32 308, ptr @lp_site %t56 = call ptr @lp_win_stdio(i32 2) store i32 0, ptr @lp_site call i32 (ptr, ptr, ...) @fprintf(ptr %t56, ptr @.fmt_bounds, ptr @.str752, i32 %t50, i32 %t54) call void @exit(i32 1) unreachable ixok11: %t57 = getelementptr inbounds ptr, ptr %t52, i32 %t50 %t58 = load ptr, ptr %t57 %t59 = call i32 @fn_str_less(ptr %t48, ptr %t58) %t60 = icmp ne i32 %t59, 0 br i1 %t60, label %then13, label %ifend15 then13: %t61 = load i32, ptr %t31 store i32 %t61, ptr %t28 br label %ifend15 ifend15: %t62 = load i32, ptr %t31 %t63 = add i32 %t62, 1 store i32 %t63, ptr %t31 br label %wcond6 wend8: %t64 = load ptr, ptr %t12 %t65 = load i32, ptr %t19 %t66 = getelementptr inbounds %LSlice, ptr %t64, i32 0, i32 0 %t67 = load ptr, ptr %t66 %t68 = getelementptr inbounds %LSlice, ptr %t64, i32 0, i32 1 %t69 = load i32, ptr %t68 %t70 = icmp ult i32 %t65, %t69 br i1 %t70, label %ixok16, label %ixbad17 ixbad17: store i32 309, ptr @lp_site %t71 = call ptr @lp_win_stdio(i32 2) store i32 0, ptr @lp_site call i32 (ptr, ptr, ...) @fprintf(ptr %t71, ptr @.fmt_bounds, ptr @.str753, i32 %t65, i32 %t69) call void @exit(i32 1) unreachable ixok16: %t72 = getelementptr inbounds ptr, ptr %t67, i32 %t65 %t73 = load ptr, ptr %t72 store ptr %t73, ptr %t74 %t75 = load ptr, ptr %t12 %t76 = load i32, ptr %t19 %t77 = getelementptr inbounds %LSlice, ptr %t75, i32 0, i32 0 %t78 = load ptr, ptr %t77 %t79 = getelementptr inbounds %LSlice, ptr %t75, i32 0, i32 1 %t80 = load i32, ptr %t79 %t81 = icmp ult i32 %t76, %t80 br i1 %t81, label %ixok18, label %ixbad19 ixbad19: store i32 310, ptr @lp_site %t82 = call ptr @lp_win_stdio(i32 2) store i32 0, ptr @lp_site call i32 (ptr, ptr, ...) @fprintf(ptr %t82, ptr @.fmt_bounds, ptr @.str754, i32 %t76, i32 %t80) call void @exit(i32 1) unreachable ixok18: %t83 = getelementptr inbounds ptr, ptr %t78, i32 %t76 %t84 = load ptr, ptr %t12 %t85 = load i32, ptr %t28 %t86 = getelementptr inbounds %LSlice, ptr %t84, i32 0, i32 0 %t87 = load ptr, ptr %t86 %t88 = getelementptr inbounds %LSlice, ptr %t84, i32 0, i32 1 %t89 = load i32, ptr %t88 %t90 = icmp ult i32 %t85, %t89 br i1 %t90, label %ixok20, label %ixbad21 ixbad21: store i32 311, ptr @lp_site %t91 = call ptr @lp_win_stdio(i32 2) store i32 0, ptr @lp_site call i32 (ptr, ptr, ...) @fprintf(ptr %t91, ptr @.fmt_bounds, ptr @.str755, i32 %t85, i32 %t89) call void @exit(i32 1) unreachable ixok20: %t92 = getelementptr inbounds ptr, ptr %t87, i32 %t85 %t93 = load ptr, ptr %t92 store ptr %t93, ptr %t83 %t94 = load ptr, ptr %t12 %t95 = load i32, ptr %t28 %t96 = getelementptr inbounds %LSlice, ptr %t94, i32 0, i32 0 %t97 = load ptr, ptr %t96 %t98 = getelementptr inbounds %LSlice, ptr %t94, i32 0, i32 1 %t99 = load i32, ptr %t98 %t100 = icmp ult i32 %t95, %t99 br i1 %t100, label %ixok22, label %ixbad23 ixbad23: store i32 312, ptr @lp_site %t101 = call ptr @lp_win_stdio(i32 2) store i32 0, ptr @lp_site call i32 (ptr, ptr, ...) @fprintf(ptr %t101, ptr @.fmt_bounds, ptr @.str756, i32 %t95, i32 %t99) call void @exit(i32 1) unreachable ixok22: %t102 = getelementptr inbounds ptr, ptr %t97, i32 %t95 %t103 = load ptr, ptr %t74 store ptr %t103, ptr %t102 %t104 = load i32, ptr %t19 %t105 = add i32 %t104, 1 store i32 %t105, ptr %t19 br label %wcond3 wend5: store i32 0, ptr %t19 br label %wcond24 wcond24: %t106 = load i32, ptr %t19 %t107 = load ptr, ptr %t12 %t108 = getelementptr inbounds %LSlice, ptr %t107, i32 0, i32 1 %t109 = load i32, ptr %t108 %t110 = icmp slt i32 %t106, %t109 %t111 = zext i1 %t110 to i32 %t112 = icmp ne i32 %t111, 0 br i1 %t112, label %wbody25, label %wend26 wbody25: %t113 = load ptr, ptr %t12 %t114 = load i32, ptr %t19 %t115 = getelementptr inbounds %LSlice, ptr %t113, i32 0, i32 0 %t116 = load ptr, ptr %t115 %t117 = getelementptr inbounds %LSlice, ptr %t113, i32 0, i32 1 %t118 = load i32, ptr %t117 %t119 = icmp ult i32 %t114, %t118 br i1 %t119, label %ixok27, label %ixbad28 ixbad28: store i32 313, ptr @lp_site %t120 = call ptr @lp_win_stdio(i32 2) store i32 0, ptr @lp_site call i32 (ptr, ptr, ...) @fprintf(ptr %t120, ptr @.fmt_bounds, ptr @.str757, i32 %t114, i32 %t118) call void @exit(i32 1) unreachable ixok27: %t121 = getelementptr inbounds ptr, ptr %t116, i32 %t114 %t122 = load ptr, ptr %t121 store ptr %t122, ptr %t123 %t124 = load ptr, ptr %t123 %t125 = call i64 @strlen(ptr %t124) %t126 = trunc i64 %t125 to i32 store i32 %t126, ptr %t127 %t129 = load i32, ptr %t127 %t130 = icmp sgt i32 %t129, 6 %t131 = zext i1 %t130 to i32 %t132 = icmp ne i32 %t131, 0 %t133 = zext i1 %t132 to i32 store i32 %t133, ptr %t128 br i1 %t132, label %sc29, label %scend30 sc29: %t134 = load ptr, ptr %t123 %t135 = load i32, ptr %t127 %t136 = sub i32 %t135, 6 %t137 = load i32, ptr %t127 store i32 314, ptr @lp_site %t138 = call ptr @lp_str_slice(ptr %t134, i32 %t136, i32 %t137) store i32 0, ptr @lp_site %t139 = call i32 @lp_str_eq(ptr %t138, ptr @.str758) call void @lp_free(ptr %t138) %t140 = icmp ne i32 %t139, 0 %t141 = zext i1 %t140 to i32 store i32 %t141, ptr %t128 br label %scend30 scend30: %t142 = load i32, ptr %t128 %t143 = icmp ne i32 %t142, 0 br i1 %t143, label %then31, label %ifend33 then31: %t144 = load ptr, ptr %t7 store i32 315, ptr @lp_site %t145 = call ptr @lp_str_concat(ptr %t144, ptr @.str759) store i32 0, ptr @lp_site %t146 = load ptr, ptr %t123 store i32 316, ptr @lp_site %t147 = call ptr @lp_str_concat(ptr %t145, ptr %t146) store i32 0, ptr @lp_site call void @lp_free(ptr %t145) call void @fn_do_import(ptr %t147) br label %ifend33 ifend33: %t148 = load i32, ptr %t19 %t149 = add i32 %t148, 1 store i32 %t149, ptr %t19 br label %wcond24 wend26: br label %ret ret: ret void } define ptr @fn_barrel_of(ptr %arg_rel) { entry: %retval = alloca ptr %t0 = alloca ptr %t4 = alloca i32 %t5 = alloca i32 store ptr %arg_rel, ptr %t0 %t1 = load ptr, ptr %t0 %t2 = call i64 @strlen(ptr %t1) %t3 = trunc i64 %t2 to i32 store i32 %t3, ptr %t4 %t6 = load i32, ptr %t4 %t7 = icmp sgt i32 %t6, 6 %t8 = zext i1 %t7 to i32 %t9 = icmp ne i32 %t8, 0 %t10 = zext i1 %t9 to i32 store i32 %t10, ptr %t5 br i1 %t9, label %sc0, label %scend1 sc0: %t11 = load ptr, ptr %t0 %t12 = load i32, ptr %t4 %t13 = sub i32 %t12, 6 %t14 = load i32, ptr %t4 store i32 317, ptr @lp_site %t15 = call ptr @lp_str_slice(ptr %t11, i32 %t13, i32 %t14) store i32 0, ptr @lp_site %t16 = call i32 @lp_str_eq(ptr %t15, ptr @.str761) call void @lp_free(ptr %t15) %t17 = icmp ne i32 %t16, 0 %t18 = zext i1 %t17 to i32 store i32 %t18, ptr %t5 br label %scend1 scend1: %t19 = load i32, ptr %t5 %t20 = icmp ne i32 %t19, 0 br i1 %t20, label %then2, label %ifend4 then2: store ptr @.str762, ptr %retval br label %ret ifend4: %t21 = load ptr, ptr %t0 %t22 = load i32, ptr %t4 %t23 = sub i32 %t22, 1 %t24 = getelementptr inbounds i8, ptr %t21, i32 %t23 %t25 = load i8, ptr %t24 %t26 = zext i8 %t25 to i32 %t27 = icmp eq i32 %t26, 47 %t28 = zext i1 %t27 to i32 %t29 = icmp ne i32 %t28, 0 br i1 %t29, label %then5, label %ifend7 then5: %t30 = load ptr, ptr %t0 store i32 318, ptr @lp_site %t31 = call ptr @lp_str_concat(ptr %t30, ptr @.str763) store i32 0, ptr @lp_site store ptr %t31, ptr %retval br label %ret ifend7: %t32 = load ptr, ptr %t0 store i32 319, ptr @lp_site %t33 = call ptr @lp_str_concat(ptr %t32, ptr @.str764) store i32 0, ptr @lp_site store ptr %t33, ptr %retval br label %ret ret: %t34 = load ptr, ptr %retval ret ptr %t34 } define void @fn_do_import(ptr %arg_rel) { entry: %t0 = alloca ptr %t1 = alloca i32 %t26 = alloca ptr %t32 = alloca i32 %t59 = alloca ptr %t62 = alloca ptr %t63 = alloca i32 %t64 = alloca i32 %t90 = alloca ptr %t93 = alloca ptr %t100 = alloca i32 %t120 = alloca ptr %t123 = alloca ptr %t130 = alloca i32 %t150 = alloca ptr %t153 = alloca ptr %t186 = alloca i32 %t187 = alloca i32 %t215 = alloca i32 %t216 = alloca i32 %t217 = alloca i32 %t230 = alloca i32 %t244 = alloca i32 %t245 = alloca i32 %t270 = alloca i32 %t287 = alloca i32 %t288 = alloca i32 %t312 = alloca i32 %t313 = alloca i32 %t344 = alloca ptr %t348 = alloca i32 %t349 = alloca i32 %t373 = alloca ptr %t375 = alloca i32 %t377 = alloca ptr %t379 = alloca ptr %t381 = 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 store i32 320, ptr @lp_site %t17 = call ptr @lp_str_slice(ptr %t9, i32 %t13, i32 %t16) store i32 0, ptr @lp_site %t18 = call i32 @lp_str_eq(ptr %t17, ptr @.str766) call void @lp_free(ptr %t17) %t19 = icmp ne i32 %t18, 0 %t20 = zext i1 %t19 to i32 store i32 %t20, ptr %t1 br label %scend1 scend1: %t21 = load i32, ptr %t1 %t22 = icmp ne i32 %t21, 0 br i1 %t22, label %then2, label %ifend4 then2: %t23 = load ptr, ptr %t0 call void @fn_do_import_dir(ptr %t23) br label %ret ifend4: %t24 = load ptr, ptr %t0 %t25 = call ptr @fn_barrel_of(ptr %t24) store ptr %t25, ptr %t26 %t27 = load ptr, ptr %t26 %t28 = call i32 @lp_str_eq(ptr %t27, ptr @.str767) %t29 = icmp eq i32 %t28, 0 %t30 = zext i1 %t29 to i32 %t31 = icmp ne i32 %t30, 0 br i1 %t31, label %then5, label %ifend7 then5: %t33 = load ptr, ptr @g_cur_dir %t34 = load ptr, ptr %t26 %t35 = call ptr @fn_join_path(ptr %t33, ptr %t34) %t36 = call ptr @fn_read_file(ptr %t35) %t37 = icmp eq ptr %t36, null %t38 = zext i1 %t37 to i32 %t39 = icmp ne i32 %t38, 0 %t40 = zext i1 %t39 to i32 store i32 %t40, ptr %t32 br i1 %t39, label %sc8, label %scend9 sc8: %t41 = load ptr, ptr @g_cur_dir %t42 = load ptr, ptr %t0 %t43 = call ptr @fn_join_path(ptr %t41, ptr %t42) %t44 = call i32 @lp_fs_is_dir(ptr %t43) %t45 = icmp ne i32 %t44, 0 %t46 = zext i1 %t45 to i32 store i32 %t46, ptr %t32 br label %scend9 scend9: %t47 = load i32, ptr %t32 %t48 = icmp ne i32 %t47, 0 br i1 %t48, label %then10, label %ifend12 then10: %t49 = load ptr, ptr %t0 store i32 321, ptr @lp_site %t50 = call ptr @lp_str_concat(ptr @.str768, ptr %t49) store i32 0, ptr @lp_site store i32 322, ptr @lp_site %t51 = call ptr @lp_str_concat(ptr %t50, ptr @.str769) store i32 0, ptr @lp_site call void @lp_free(ptr %t50) %t52 = load ptr, ptr %t26 store i32 323, ptr @lp_site %t53 = call ptr @lp_str_concat(ptr %t51, ptr %t52) store i32 0, ptr @lp_site call void @lp_free(ptr %t51) store i32 324, ptr @lp_site %t54 = call ptr @lp_str_concat(ptr %t53, ptr @.str770) store i32 0, ptr @lp_site call void @lp_free(ptr %t53) call void @fn_perr(ptr %t54) br label %ifend12 ifend12: %t55 = load ptr, ptr %t26 call void @fn_do_import(ptr %t55) br label %ret ifend7: %t56 = load ptr, ptr @g_cur_dir %t57 = load ptr, ptr %t0 %t58 = call ptr @fn_join_path(ptr %t56, ptr %t57) store ptr %t58, ptr %t59 %t60 = load ptr, ptr %t59 %t61 = call ptr @fn_read_file(ptr %t60) store ptr %t61, ptr %t62 %t65 = load ptr, ptr %t62 %t66 = icmp eq ptr %t65, null %t67 = zext i1 %t66 to i32 %t68 = icmp ne i32 %t67, 0 %t69 = zext i1 %t68 to i32 store i32 %t69, ptr %t64 br i1 %t68, label %sc13, label %scend14 sc13: %t70 = load ptr, ptr %t0 %t71 = getelementptr inbounds i8, ptr %t70, i32 0 %t72 = load i8, ptr %t71 %t73 = zext i8 %t72 to i32 %t74 = icmp ne i32 %t73, 47 %t75 = zext i1 %t74 to i32 %t76 = icmp ne i32 %t75, 0 %t77 = zext i1 %t76 to i32 store i32 %t77, ptr %t64 br label %scend14 scend14: %t78 = load i32, ptr %t64 %t79 = icmp ne i32 %t78, 0 %t80 = zext i1 %t79 to i32 store i32 %t80, ptr %t63 br i1 %t79, label %sc15, label %scend16 sc15: %t81 = load ptr, ptr %t0 %t82 = call i32 @fn_is_runtime_path(ptr %t81) %t83 = icmp ne i32 %t82, 0 %t84 = zext i1 %t83 to i32 store i32 %t84, ptr %t63 br label %scend16 scend16: %t85 = load i32, ptr %t63 %t86 = icmp ne i32 %t85, 0 br i1 %t86, label %then17, label %ifend19 then17: %t87 = call ptr @fn_ludic_home() %t88 = load ptr, ptr %t0 store i32 325, ptr @lp_site %t89 = call ptr @lp_str_concat(ptr %t87, ptr %t88) store i32 0, ptr @lp_site store ptr %t89, ptr %t90 %t91 = load ptr, ptr %t90 %t92 = call ptr @fn_read_file(ptr %t91) store ptr %t92, ptr %t93 %t94 = load ptr, ptr %t93 %t95 = icmp ne ptr %t94, null %t96 = zext i1 %t95 to i32 %t97 = icmp ne i32 %t96, 0 br i1 %t97, label %then20, label %ifend22 then20: %t98 = load ptr, ptr %t90 store ptr %t98, ptr %t59 %t99 = load ptr, ptr %t93 store ptr %t99, ptr %t62 br label %ifend22 ifend22: br label %ifend19 ifend19: %t101 = load ptr, ptr %t62 %t102 = icmp eq ptr %t101, null %t103 = zext i1 %t102 to i32 %t104 = icmp ne i32 %t103, 0 %t105 = zext i1 %t104 to i32 store i32 %t105, ptr %t100 br i1 %t104, label %sc23, label %scend24 sc23: %t106 = load ptr, ptr %t0 %t107 = getelementptr inbounds i8, ptr %t106, i32 0 %t108 = load i8, ptr %t107 %t109 = zext i8 %t108 to i32 %t110 = icmp ne i32 %t109, 47 %t111 = zext i1 %t110 to i32 %t112 = icmp ne i32 %t111, 0 %t113 = zext i1 %t112 to i32 store i32 %t113, ptr %t100 br label %scend24 scend24: %t114 = load i32, ptr %t100 %t115 = icmp ne i32 %t114, 0 br i1 %t115, label %then25, label %ifend27 then25: %t116 = call ptr @fn_getenv_or(ptr @.str771, ptr @.str772) %t117 = call ptr @fn_ensure_slash(ptr %t116) %t118 = load ptr, ptr %t0 store i32 326, ptr @lp_site %t119 = call ptr @lp_str_concat(ptr %t117, ptr %t118) store i32 0, ptr @lp_site store ptr %t119, ptr %t120 %t121 = load ptr, ptr %t120 %t122 = call ptr @fn_read_file(ptr %t121) store ptr %t122, ptr %t123 %t124 = load ptr, ptr %t123 %t125 = icmp ne ptr %t124, null %t126 = zext i1 %t125 to i32 %t127 = icmp ne i32 %t126, 0 br i1 %t127, label %then28, label %ifend30 then28: %t128 = load ptr, ptr %t120 store ptr %t128, ptr %t59 %t129 = load ptr, ptr %t123 store ptr %t129, ptr %t62 br label %ifend30 ifend30: br label %ifend27 ifend27: %t131 = load ptr, ptr %t62 %t132 = icmp eq ptr %t131, null %t133 = zext i1 %t132 to i32 %t134 = icmp ne i32 %t133, 0 %t135 = zext i1 %t134 to i32 store i32 %t135, ptr %t130 br i1 %t134, label %sc31, label %scend32 sc31: %t136 = load ptr, ptr %t0 %t137 = getelementptr inbounds i8, ptr %t136, i32 0 %t138 = load i8, ptr %t137 %t139 = zext i8 %t138 to i32 %t140 = icmp ne i32 %t139, 47 %t141 = zext i1 %t140 to i32 %t142 = icmp ne i32 %t141, 0 %t143 = zext i1 %t142 to i32 store i32 %t143, ptr %t130 br label %scend32 scend32: %t144 = load i32, ptr %t130 %t145 = icmp ne i32 %t144, 0 br i1 %t145, label %then33, label %ifend35 then33: %t146 = call ptr @fn_ludic_home() store i32 327, ptr @lp_site %t147 = call ptr @lp_str_concat(ptr %t146, ptr @.str773) store i32 0, ptr @lp_site %t148 = load ptr, ptr %t0 store i32 328, ptr @lp_site %t149 = call ptr @lp_str_concat(ptr %t147, ptr %t148) store i32 0, ptr @lp_site call void @lp_free(ptr %t147) store ptr %t149, ptr %t150 %t151 = load ptr, ptr %t150 %t152 = call ptr @fn_read_file(ptr %t151) store ptr %t152, ptr %t153 %t154 = load ptr, ptr %t153 %t155 = icmp ne ptr %t154, null %t156 = zext i1 %t155 to i32 %t157 = icmp ne i32 %t156, 0 br i1 %t157, label %then36, label %ifend38 then36: %t158 = load ptr, ptr %t150 store ptr %t158, ptr %t59 %t159 = load ptr, ptr %t153 store ptr %t159, ptr %t62 br label %ifend38 ifend38: br label %ifend35 ifend35: %t160 = load ptr, ptr %t59 %t161 = call i32 @fn_already_loaded(ptr %t160) %t162 = icmp ne i32 %t161, 0 br i1 %t162, label %then39, label %ifend41 then39: br label %ret ifend41: %t163 = load ptr, ptr @g_loaded_paths %t164 = load ptr, ptr %t59 %t165 = getelementptr inbounds %LSlice, ptr %t163, i32 0, i32 1 %t166 = getelementptr inbounds %LSlice, ptr %t163, i32 0, i32 2 %t167 = getelementptr inbounds %LSlice, ptr %t163, i32 0, i32 0 %t168 = load i32, ptr %t165 %t169 = load i32, ptr %t166 %t170 = icmp sge i32 %t168, %t169 br i1 %t170, label %grow42, label %put43 grow42: %t171 = mul i32 %t169, 2 %t172 = icmp eq i32 %t169, 0 %t173 = select i1 %t172, i32 8, i32 %t171 %t174 = getelementptr ptr, ptr null, i32 1 %t175 = ptrtoint ptr %t174 to i64 %t176 = zext i32 %t173 to i64 %t177 = mul i64 %t176, %t175 %t178 = load ptr, ptr %t167 store i32 329, ptr @lp_site %t179 = call ptr @lp_realloc(ptr %t178, i64 %t177) store i32 0, ptr @lp_site store ptr %t179, ptr %t167 store i32 %t173, ptr %t166 br label %put43 put43: %t180 = load ptr, ptr %t167 %t181 = getelementptr inbounds ptr, ptr %t180, i32 %t168 store ptr %t164, ptr %t181 %t182 = add i32 %t168, 1 store i32 %t182, ptr %t165 %t183 = load ptr, ptr @g_g_fm_src %t184 = load ptr, ptr %t59 %t185 = load ptr, ptr %t62 call void @fn_fm_put(ptr %t183, ptr %t184, ptr %t185) %t188 = load ptr, ptr @g_g_parse_file %t189 = call i32 @fn_is_float_file(ptr %t188) %t190 = icmp ne i32 %t189, 0 %t191 = zext i1 %t190 to i32 store i32 %t191, ptr %t187 br i1 %t190, label %sc44, label %scend45 sc44: %t192 = load ptr, ptr %t0 %t193 = call i32 @fn_is_runtime_path(ptr %t192) %t194 = icmp eq i32 %t193, 0 %t195 = zext i1 %t194 to i32 %t196 = icmp ne i32 %t195, 0 %t197 = zext i1 %t196 to i32 store i32 %t197, ptr %t187 br label %scend45 scend45: %t198 = load i32, ptr %t187 %t199 = icmp ne i32 %t198, 0 %t200 = zext i1 %t199 to i32 store i32 %t200, ptr %t186 br i1 %t199, label %sc46, label %scend47 sc46: %t201 = load ptr, ptr %t59 %t202 = call i32 @fn_is_float_file(ptr %t201) %t203 = icmp eq i32 %t202, 0 %t204 = zext i1 %t203 to i32 %t205 = icmp ne i32 %t204, 0 %t206 = zext i1 %t205 to i32 store i32 %t206, ptr %t186 br label %scend47 scend47: %t207 = load i32, ptr %t186 %t208 = icmp ne i32 %t207, 0 br i1 %t208, label %then48, label %ifend50 then48: %t209 = load ptr, ptr %t59 call void @fn_float_file_add(ptr %t209) br label %ifend50 ifend50: %t210 = load ptr, ptr %t59 %t211 = load ptr, ptr @g_cur_dir %t212 = load ptr, ptr %t0 %t213 = call ptr @fn_join_path(ptr %t211, ptr %t212) %t214 = call i32 @lp_str_eq(ptr %t210, ptr %t213) store i32 %t214, ptr %t215 %t218 = load ptr, ptr %t0 %t219 = call i32 @fn_is_runtime_path(ptr %t218) %t220 = icmp ne i32 %t219, 0 %t221 = zext i1 %t220 to i32 store i32 %t221, ptr %t217 br i1 %t220, label %scend52, label %sc51 sc51: %t222 = load i32, ptr %t215 %t223 = icmp eq i32 %t222, 0 %t224 = zext i1 %t223 to i32 %t225 = icmp ne i32 %t224, 0 %t226 = zext i1 %t225 to i32 store i32 %t226, ptr %t217 br label %scend52 scend52: %t227 = load i32, ptr %t217 %t228 = icmp ne i32 %t227, 0 %t229 = zext i1 %t228 to i32 store i32 %t229, ptr %t216 br i1 %t228, label %scend54, label %sc53 sc53: %t231 = load i32, ptr %t215 %t232 = icmp ne i32 %t231, 0 %t233 = zext i1 %t232 to i32 store i32 %t233, ptr %t230 br i1 %t232, label %sc55, label %scend56 sc55: %t234 = load ptr, ptr @g_g_parse_file %t235 = call i32 @fn_unsafe_trusted(ptr %t234) %t236 = icmp ne i32 %t235, 0 %t237 = zext i1 %t236 to i32 store i32 %t237, ptr %t230 br label %scend56 scend56: %t238 = load i32, ptr %t230 %t239 = icmp ne i32 %t238, 0 %t240 = zext i1 %t239 to i32 store i32 %t240, ptr %t216 br label %scend54 scend54: %t241 = load i32, ptr %t216 %t242 = icmp ne i32 %t241, 0 br i1 %t242, label %then57, label %ifend59 then57: %t243 = load ptr, ptr %t59 call void @fn_trust_file(ptr %t243) br label %ifend59 ifend59: %t246 = load i32, ptr %t215 %t247 = icmp ne i32 %t246, 0 %t248 = zext i1 %t247 to i32 store i32 %t248, ptr %t245 br i1 %t247, label %sc60, label %scend61 sc60: %t249 = load ptr, ptr %t0 %t250 = call i32 @fn_is_runtime_path(ptr %t249) %t251 = icmp eq i32 %t250, 0 %t252 = zext i1 %t251 to i32 %t253 = icmp ne i32 %t252, 0 %t254 = zext i1 %t253 to i32 store i32 %t254, ptr %t245 br label %scend61 scend61: %t255 = load i32, ptr %t245 %t256 = icmp ne i32 %t255, 0 %t257 = zext i1 %t256 to i32 store i32 %t257, ptr %t244 br i1 %t256, label %sc62, label %scend63 sc62: %t258 = load ptr, ptr @g_g_parse_file %t259 = call ptr @fn_module_of(ptr %t258) %t260 = call i32 @lp_str_eq(ptr %t259, ptr @.str774) %t261 = icmp eq i32 %t260, 0 %t262 = zext i1 %t261 to i32 %t263 = icmp ne i32 %t262, 0 %t264 = zext i1 %t263 to i32 store i32 %t264, ptr %t244 br label %scend63 scend63: %t265 = load i32, ptr %t244 %t266 = icmp ne i32 %t265, 0 br i1 %t266, label %then64, label %ifend66 then64: %t267 = load ptr, ptr %t59 %t268 = load ptr, ptr @g_g_parse_file %t269 = call ptr @fn_module_of(ptr %t268) call void @fn_module_set(ptr %t267, ptr %t269) br label %ifend66 ifend66: %t271 = load i32, ptr %t215 %t272 = icmp eq i32 %t271, 0 %t273 = zext i1 %t272 to i32 %t274 = icmp ne i32 %t273, 0 %t275 = zext i1 %t274 to i32 store i32 %t275, ptr %t270 br i1 %t274, label %sc67, label %scend68 sc67: %t276 = load ptr, ptr %t0 %t277 = call i32 @fn_is_runtime_path(ptr %t276) %t278 = icmp eq i32 %t277, 0 %t279 = zext i1 %t278 to i32 %t280 = icmp ne i32 %t279, 0 %t281 = zext i1 %t280 to i32 store i32 %t281, ptr %t270 br label %scend68 scend68: %t282 = load i32, ptr %t270 %t283 = icmp ne i32 %t282, 0 br i1 %t283, label %then69, label %ifend71 then69: %t284 = load ptr, ptr %t59 %t285 = load ptr, ptr %t0 %t286 = call ptr @fn_pkg_name_of(ptr %t285) call void @fn_pkg_file_set(ptr %t284, ptr %t286) br label %ifend71 ifend71: %t289 = load i32, ptr %t215 %t290 = icmp eq i32 %t289, 0 %t291 = zext i1 %t290 to i32 %t292 = icmp ne i32 %t291, 0 %t293 = zext i1 %t292 to i32 store i32 %t293, ptr %t288 br i1 %t292, label %sc72, label %scend73 sc72: %t294 = load ptr, ptr %t0 %t295 = call i32 @fn_is_runtime_path(ptr %t294) %t296 = icmp eq i32 %t295, 0 %t297 = zext i1 %t296 to i32 %t298 = icmp ne i32 %t297, 0 %t299 = zext i1 %t298 to i32 store i32 %t299, ptr %t288 br label %scend73 scend73: %t300 = load i32, ptr %t288 %t301 = icmp ne i32 %t300, 0 %t302 = zext i1 %t301 to i32 store i32 %t302, ptr %t287 br i1 %t301, label %sc74, label %scend75 sc74: %t303 = load ptr, ptr %t62 %t304 = icmp ne ptr %t303, null %t305 = zext i1 %t304 to i32 %t306 = icmp ne i32 %t305, 0 %t307 = zext i1 %t306 to i32 store i32 %t307, ptr %t287 br label %scend75 scend75: %t308 = load i32, ptr %t287 %t309 = icmp ne i32 %t308, 0 br i1 %t309, label %then76, label %ifend78 then76: %t310 = load ptr, ptr %t59 %t311 = load ptr, ptr %t0 call void @fn_native_note_pkg(ptr %t310, ptr %t311) br label %ifend78 ifend78: %t314 = load i32, ptr %t215 %t315 = icmp ne i32 %t314, 0 %t316 = zext i1 %t315 to i32 store i32 %t316, ptr %t313 br i1 %t315, label %sc79, label %scend80 sc79: %t317 = load ptr, ptr %t0 %t318 = call i32 @fn_is_runtime_path(ptr %t317) %t319 = icmp eq i32 %t318, 0 %t320 = zext i1 %t319 to i32 %t321 = icmp ne i32 %t320, 0 %t322 = zext i1 %t321 to i32 store i32 %t322, ptr %t313 br label %scend80 scend80: %t323 = load i32, ptr %t313 %t324 = icmp ne i32 %t323, 0 %t325 = zext i1 %t324 to i32 store i32 %t325, ptr %t312 br i1 %t324, label %sc81, label %scend82 sc81: %t326 = load ptr, ptr @g_g_parse_file %t327 = call ptr @fn_pkg_of_file(ptr %t326) %t328 = call i32 @lp_str_eq(ptr %t327, ptr @.str775) %t329 = icmp eq i32 %t328, 0 %t330 = zext i1 %t329 to i32 %t331 = icmp ne i32 %t330, 0 %t332 = zext i1 %t331 to i32 store i32 %t332, ptr %t312 br label %scend82 scend82: %t333 = load i32, ptr %t312 %t334 = icmp ne i32 %t333, 0 br i1 %t334, label %then83, label %ifend85 then83: %t335 = load ptr, ptr %t59 %t336 = load ptr, ptr @g_g_parse_file %t337 = call ptr @fn_pkg_of_file(ptr %t336) call void @fn_pkg_file_set(ptr %t335, ptr %t337) br label %ifend85 ifend85: %t338 = load ptr, ptr %t62 %t339 = icmp eq ptr %t338, null %t340 = zext i1 %t339 to i32 %t341 = icmp ne i32 %t340, 0 br i1 %t341, label %then86, label %ifend88 then86: %t342 = load ptr, ptr %t59 store i32 330, ptr @lp_site %t343 = call ptr @lp_str_concat(ptr @.str776, ptr %t342) store i32 0, ptr @lp_site call void @fn_perr(ptr %t343) br label %ifend88 ifend88: store ptr @.str777, ptr %t344 %t345 = load ptr, ptr %t59 %t346 = call i64 @strlen(ptr %t345) %t347 = trunc i64 %t346 to i32 store i32 %t347, ptr %t348 %t350 = load i32, ptr %t348 %t351 = load ptr, ptr %t344 %t352 = call i64 @strlen(ptr %t351) %t353 = trunc i64 %t352 to i32 %t354 = icmp sge i32 %t350, %t353 %t355 = zext i1 %t354 to i32 %t356 = icmp ne i32 %t355, 0 %t357 = zext i1 %t356 to i32 store i32 %t357, ptr %t349 br i1 %t356, label %sc89, label %scend90 sc89: %t358 = load ptr, ptr %t59 %t359 = load i32, ptr %t348 %t360 = load ptr, ptr %t344 %t361 = call i64 @strlen(ptr %t360) %t362 = trunc i64 %t361 to i32 %t363 = sub i32 %t359, %t362 %t364 = load i32, ptr %t348 store i32 331, ptr @lp_site %t365 = call ptr @lp_str_slice(ptr %t358, i32 %t363, i32 %t364) store i32 0, ptr @lp_site %t366 = load ptr, ptr %t344 %t367 = call i32 @lp_str_eq(ptr %t365, ptr %t366) call void @lp_free(ptr %t365) %t368 = icmp ne i32 %t367, 0 %t369 = zext i1 %t368 to i32 store i32 %t369, ptr %t349 br label %scend90 scend90: %t370 = load i32, ptr %t349 %t371 = icmp ne i32 %t370, 0 br i1 %t371, label %then91, label %ifend93 then91: store i32 1, ptr @g_g_uses_audio br label %ifend93 ifend93: %t372 = load ptr, ptr @g_toks store ptr %t372, ptr %t373 %t374 = load i32, ptr @g_pi store i32 %t374, ptr %t375 %t376 = load ptr, ptr @g_cur_dir store ptr %t376, ptr %t377 %t378 = load ptr, ptr @g_g_parse_file store ptr %t378, ptr %t379 %t380 = load i32, ptr @g_g_parsing store i32 %t380, ptr %t381 %t382 = load ptr, ptr %t59 %t383 = call ptr @fn_dir_of(ptr %t382) store ptr %t383, ptr @g_cur_dir %t384 = load ptr, ptr %t59 store ptr %t384, ptr @g_g_parse_file store i32 1, ptr @g_g_parsing %t385 = load ptr, ptr %t62 call void @fn_lex(ptr %t385) store i32 0, ptr @g_pi call void @fn_skipnl() br label %wcond94 wcond94: %t386 = load ptr, ptr @g_toks %t387 = load i32, ptr @g_pi %t388 = getelementptr inbounds %LSlice, ptr %t386, i32 0, i32 0 %t389 = load ptr, ptr %t388 %t390 = getelementptr inbounds %LSlice, ptr %t386, i32 0, i32 1 %t391 = load i32, ptr %t390 %t392 = icmp ult i32 %t387, %t391 br i1 %t392, label %ixok97, label %ixbad98 ixbad98: store i32 332, ptr @lp_site %t393 = call ptr @lp_win_stdio(i32 2) store i32 0, ptr @lp_site call i32 (ptr, ptr, ...) @fprintf(ptr %t393, ptr @.fmt_bounds, ptr @.str778, i32 %t387, i32 %t391) call void @exit(i32 1) unreachable ixok97: %t394 = getelementptr inbounds ptr, ptr %t389, i32 %t387 %t395 = load ptr, ptr %t394 %t396 = getelementptr inbounds %Cmp_Tok, ptr %t395, i32 0, i32 0 %t397 = load i32, ptr %t396 %t398 = icmp ne i32 %t397, 5 %t399 = zext i1 %t398 to i32 %t400 = icmp ne i32 %t399, 0 br i1 %t400, label %wbody95, label %wend96 wbody95: call void @fn_parse_one_decl() call void @fn_skipnl() br label %wcond94 wend96: %t401 = load ptr, ptr %t373 store ptr %t401, ptr @g_toks %t402 = load i32, ptr %t375 store i32 %t402, ptr @g_pi %t403 = load ptr, ptr %t377 store ptr %t403, ptr @g_cur_dir %t404 = load ptr, ptr %t379 store ptr %t404, ptr @g_g_parse_file %t405 = load i32, ptr %t381 store i32 %t405, ptr @g_g_parsing br label %ret ret: ret void } define i32 @fn_rt_wanted_name(ptr %arg_n) { entry: %retval = alloca i32 %t0 = alloca ptr %t4 = alloca i32 %t5 = alloca i32 store ptr %arg_n, ptr %t0 %t1 = load ptr, ptr %t0 %t2 = call i32 @lp_str_eq(ptr %t1, ptr @.str779) %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 @fn_str_starts(ptr %t6, ptr @.str780) %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 @fn_str_starts(ptr %t10, ptr @.str781) %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 @fn_str_starts(ptr %t17, ptr @.str782) %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 store i32 %t21, ptr %retval br label %ret ret: %t22 = load i32, ptr %retval ret i32 %t22 } define i32 @fn_rt_wants_unmet(ptr %arg_prefix) { entry: %retval = alloca i32 %t0 = alloca ptr %t1 = alloca i32 %t19 = alloca ptr %t20 = alloca i32 %t21 = alloca i32 store ptr %arg_prefix, ptr %t0 store i32 0, ptr %t1 br label %wcond0 wcond0: %t2 = load i32, ptr %t1 %t3 = load ptr, ptr @g_g_rt_wants %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_rt_wants %t10 = load i32, ptr %t1 %t11 = getelementptr inbounds %LSlice, ptr %t9, i32 0, i32 0 %t12 = load ptr, ptr %t11 %t13 = getelementptr inbounds %LSlice, ptr %t9, i32 0, i32 1 %t14 = load i32, ptr %t13 %t15 = icmp ult i32 %t10, %t14 br i1 %t15, label %ixok3, label %ixbad4 ixbad4: store i32 333, ptr @lp_site %t16 = call ptr @lp_win_stdio(i32 2) store i32 0, ptr @lp_site call i32 (ptr, ptr, ...) @fprintf(ptr %t16, ptr @.fmt_bounds, ptr @.str783, i32 %t10, i32 %t14) call void @exit(i32 1) unreachable ixok3: %t17 = getelementptr inbounds ptr, ptr %t12, i32 %t10 %t18 = load ptr, ptr %t17 store ptr %t18, ptr %t19 %t22 = load ptr, ptr %t19 %t23 = load ptr, ptr %t0 %t24 = call i32 @fn_str_starts(ptr %t22, ptr %t23) %t25 = icmp ne i32 %t24, 0 %t26 = zext i1 %t25 to i32 store i32 %t26, ptr %t21 br i1 %t25, label %sc5, label %scend6 sc5: %t27 = load ptr, ptr %t19 %t28 = call ptr @fn_find_fn(ptr %t27) %t29 = icmp eq ptr %t28, null %t30 = zext i1 %t29 to i32 %t31 = icmp ne i32 %t30, 0 %t32 = zext i1 %t31 to i32 store i32 %t32, ptr %t21 br label %scend6 scend6: %t33 = load i32, ptr %t21 %t34 = icmp ne i32 %t33, 0 %t35 = zext i1 %t34 to i32 store i32 %t35, ptr %t20 br i1 %t34, label %sc7, label %scend8 sc7: %t36 = load ptr, ptr %t19 %t37 = call ptr @fn_find_global(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 %t20 br label %scend8 scend8: %t42 = load i32, ptr %t20 %t43 = icmp ne i32 %t42, 0 br i1 %t43, label %then9, label %ifend11 then9: store i32 1, ptr %retval br label %ret ifend11: %t44 = load i32, ptr %t1 %t45 = add i32 %t44, 1 store i32 %t45, ptr %t1 br label %wcond0 wend2: store i32 0, ptr %retval br label %ret ret: %t46 = load i32, ptr %retval ret i32 %t46 } define void @fn_maybe_splice_runtime() { entry: %t1 = alloca ptr %t5 = alloca i32 %t11 = alloca i32 %t12 = alloca i32 %t55 = alloca i32 %t121 = alloca i32 %t150 = alloca i32 %t0 = load ptr, ptr @g_cur_dir store ptr %t0, ptr %t1 store ptr @.str785, ptr @g_cur_dir call void @fn_do_import(ptr @.str786) %t2 = load i32, ptr @g_g_uses_bytes %t3 = icmp ne i32 %t2, 0 br i1 %t3, label %then0, label %ifend2 then0: call void @fn_do_import(ptr @.str787) br label %ifend2 ifend2: %t4 = load ptr, ptr %t1 store ptr %t4, ptr @g_cur_dir %t6 = call i32 @fn_has_ecs() %t7 = icmp eq 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 i32, ptr @g_g_uses_rng %t14 = icmp ne i32 %t13, 0 %t15 = zext i1 %t14 to i32 store i32 %t15, ptr %t12 br i1 %t14, label %scend6, label %sc5 sc5: %t16 = call i32 @fn_rt_wants_unmet(ptr @.str788) %t17 = icmp ne i32 %t16, 0 %t18 = zext i1 %t17 to i32 store i32 %t18, ptr %t12 br label %scend6 scend6: %t19 = load i32, ptr %t12 %t20 = icmp ne i32 %t19, 0 %t21 = zext i1 %t20 to i32 store i32 %t21, ptr %t11 br i1 %t20, label %scend8, label %sc7 sc7: %t22 = call i32 @fn_rt_wants_unmet(ptr @.str789) %t23 = icmp ne i32 %t22, 0 %t24 = zext i1 %t23 to i32 store i32 %t24, ptr %t11 br label %scend8 scend8: %t25 = load i32, ptr %t11 %t26 = icmp ne i32 %t25, 0 %t27 = zext i1 %t26 to i32 store i32 %t27, ptr %t5 br label %scend4 scend4: %t28 = load i32, ptr %t5 %t29 = icmp ne i32 %t28, 0 br i1 %t29, label %then9, label %ifend11 then9: store ptr @.str790, ptr @g_cur_dir call void @fn_do_import(ptr @.str791) %t30 = load ptr, ptr %t1 store ptr %t30, ptr @g_cur_dir br label %ifend11 ifend11: %t31 = call i32 @fn_has_ecs() %t32 = icmp ne i32 %t31, 0 br i1 %t32, label %then12, label %ifend14 then12: store ptr @.str792, ptr @g_cur_dir call void @fn_do_import(ptr @.str793) %t33 = load ptr, ptr %t1 store ptr %t33, ptr @g_cur_dir br label %ifend14 ifend14: %t34 = load i32, ptr @g_g_uses_regex %t35 = icmp ne i32 %t34, 0 br i1 %t35, label %then15, label %ifend17 then15: store ptr @.str794, ptr @g_cur_dir call void @fn_do_import(ptr @.str795) call void @fn_do_import(ptr @.str796) %t36 = load ptr, ptr %t1 store ptr %t36, ptr @g_cur_dir br label %ifend17 ifend17: %t37 = load i32, ptr @g_g_uses_bignum %t38 = icmp ne i32 %t37, 0 br i1 %t38, label %then18, label %ifend20 then18: store ptr @.str797, ptr @g_cur_dir call void @fn_do_import(ptr @.str798) %t39 = load ptr, ptr %t1 store ptr %t39, ptr @g_cur_dir br label %ifend20 ifend20: %t40 = load i32, ptr @g_g_uses_dict %t41 = icmp ne i32 %t40, 0 br i1 %t41, label %then21, label %ifend23 then21: store ptr @.str799, ptr @g_cur_dir call void @fn_do_import(ptr @.str800) %t42 = load ptr, ptr %t1 store ptr %t42, ptr @g_cur_dir br label %ifend23 ifend23: %t43 = load i32, ptr @g_g_uses_numeric %t44 = icmp ne i32 %t43, 0 br i1 %t44, label %then24, label %ifend26 then24: store ptr @.str801, ptr @g_cur_dir call void @fn_do_import(ptr @.str802) %t45 = load ptr, ptr %t1 store ptr %t45, ptr @g_cur_dir br label %ifend26 ifend26: %t46 = load i32, ptr @g_g_uses_jobs %t47 = icmp ne i32 %t46, 0 br i1 %t47, label %then27, label %ifend29 then27: store ptr @.str803, ptr @g_cur_dir call void @fn_do_import(ptr @.str804) %t48 = load ptr, ptr %t1 store ptr %t48, ptr @g_cur_dir br label %ifend29 ifend29: %t49 = load i32, ptr @g_g_uses_query %t50 = icmp ne i32 %t49, 0 br i1 %t50, label %then30, label %ifend32 then30: store ptr @.str805, ptr @g_cur_dir call void @fn_do_import(ptr @.str806) %t51 = load ptr, ptr %t1 store ptr %t51, ptr @g_cur_dir br label %ifend32 ifend32: %t52 = load i32, ptr @g_g_uses_light %t53 = icmp ne i32 %t52, 0 br i1 %t53, label %then33, label %ifend35 then33: store ptr @.str807, ptr @g_cur_dir call void @fn_do_import(ptr @.str808) %t54 = load ptr, ptr %t1 store ptr %t54, ptr @g_cur_dir br label %ifend35 ifend35: %t56 = call i32 @fn_rt_wants_unmet(ptr @.str809) %t57 = icmp ne i32 %t56, 0 %t58 = zext i1 %t57 to i32 store i32 %t58, ptr %t55 br i1 %t57, label %scend37, label %sc36 sc36: %t59 = call i32 @fn_rt_wants_unmet(ptr @.str810) %t60 = icmp ne i32 %t59, 0 %t61 = zext i1 %t60 to i32 store i32 %t61, ptr %t55 br label %scend37 scend37: %t62 = load i32, ptr %t55 %t63 = icmp ne i32 %t62, 0 br i1 %t63, label %then38, label %ifend40 then38: store i32 1, ptr @g_g_uses_value br label %ifend40 ifend40: %t64 = load i32, ptr @g_g_uses_value %t65 = icmp ne i32 %t64, 0 br i1 %t65, label %then41, label %ifend43 then41: store ptr @.str811, ptr @g_cur_dir call void @fn_do_import(ptr @.str812) %t66 = load ptr, ptr %t1 store ptr %t66, ptr @g_cur_dir br label %ifend43 ifend43: %t67 = load i32, ptr @g_g_uses_xml %t68 = icmp ne i32 %t67, 0 br i1 %t68, label %then44, label %ifend46 then44: store ptr @.str813, ptr @g_cur_dir call void @fn_do_import(ptr @.str814) %t69 = load ptr, ptr %t1 store ptr %t69, ptr @g_cur_dir br label %ifend46 ifend46: %t70 = load i32, ptr @g_g_uses_atlas %t71 = icmp ne i32 %t70, 0 br i1 %t71, label %then47, label %ifend49 then47: store ptr @.str815, ptr @g_cur_dir call void @fn_do_import(ptr @.str816) call void @fn_do_import(ptr @.str817) call void @fn_do_import(ptr @.str818) %t72 = load ptr, ptr %t1 store ptr %t72, ptr @g_cur_dir br label %ifend49 ifend49: %t73 = load i32, ptr @g_g_uses_fx %t74 = icmp ne i32 %t73, 0 br i1 %t74, label %then50, label %ifend52 then50: store ptr @.str819, ptr @g_cur_dir call void @fn_do_import(ptr @.str820) call void @fn_do_import(ptr @.str821) %t75 = load ptr, ptr %t1 store ptr %t75, ptr @g_cur_dir br label %ifend52 ifend52: %t76 = load i32, ptr @g_g_uses_base64 %t77 = icmp ne i32 %t76, 0 br i1 %t77, label %then53, label %ifend55 then53: store ptr @.str822, ptr @g_cur_dir call void @fn_do_import(ptr @.str823) call void @fn_do_import(ptr @.str824) call void @fn_do_import(ptr @.str825) %t78 = load ptr, ptr %t1 store ptr %t78, ptr @g_cur_dir br label %ifend55 ifend55: %t79 = load i32, ptr @g_g_uses_tiled %t80 = icmp ne i32 %t79, 0 br i1 %t80, label %then56, label %ifend58 then56: store ptr @.str826, ptr @g_cur_dir call void @fn_do_import(ptr @.str827) call void @fn_do_import(ptr @.str828) call void @fn_do_import(ptr @.str829) call void @fn_do_import(ptr @.str830) call void @fn_do_import(ptr @.str831) call void @fn_do_import(ptr @.str832) call void @fn_do_import(ptr @.str833) %t81 = call i32 @fn_has_ecs() %t82 = icmp ne i32 %t81, 0 br i1 %t82, label %then59, label %ifend61 then59: call void @fn_do_import(ptr @.str834) br label %ifend61 ifend61: %t83 = load ptr, ptr %t1 store ptr %t83, ptr @g_cur_dir br label %ifend58 ifend58: %t84 = load i32, ptr @g_g_uses_reflect_io %t85 = icmp ne i32 %t84, 0 br i1 %t85, label %then62, label %ifend64 then62: store ptr @.str835, ptr @g_cur_dir call void @fn_do_import(ptr @.str836) %t86 = load ptr, ptr %t1 store ptr %t86, ptr @g_cur_dir br label %ifend64 ifend64: %t87 = load i32, ptr @g_g_uses_input %t88 = icmp ne i32 %t87, 0 br i1 %t88, label %then65, label %ifend67 then65: store ptr @.str837, ptr @g_cur_dir call void @fn_do_import(ptr @.str838) call void @fn_do_import(ptr @.str839) %t89 = load ptr, ptr %t1 store ptr %t89, ptr @g_cur_dir br label %ifend67 ifend67: %t90 = load i32, ptr @g_g_uses_tween_rt %t91 = icmp ne i32 %t90, 0 br i1 %t91, label %then68, label %ifend70 then68: store ptr @.str840, ptr @g_cur_dir call void @fn_do_import(ptr @.str841) call void @fn_do_import(ptr @.str842) %t92 = load ptr, ptr %t1 store ptr %t92, ptr @g_cur_dir br label %ifend70 ifend70: %t93 = load i32, ptr @g_g_uses_audio %t94 = icmp ne i32 %t93, 0 br i1 %t94, label %then71, label %ifend73 then71: store ptr @.str843, ptr @g_cur_dir call void @fn_do_import(ptr @.str844) %t95 = load ptr, ptr %t1 store ptr %t95, ptr @g_cur_dir br label %ifend73 ifend73: %t96 = load i32, ptr @g_g_uses_http %t97 = icmp ne i32 %t96, 0 br i1 %t97, label %then74, label %ifend76 then74: store ptr @.str845, ptr @g_cur_dir call void @fn_do_import(ptr @.str846) %t98 = load ptr, ptr %t1 store ptr %t98, ptr @g_cur_dir br label %ifend76 ifend76: %t99 = load i32, ptr @g_g_uses_udp %t100 = icmp ne i32 %t99, 0 br i1 %t100, label %then77, label %ifend79 then77: store ptr @.str847, ptr @g_cur_dir call void @fn_do_import(ptr @.str848) %t101 = load ptr, ptr %t1 store ptr %t101, ptr @g_cur_dir br label %ifend79 ifend79: %t102 = load i32, ptr @g_g_pm_any %t103 = icmp ne i32 %t102, 0 br i1 %t103, label %then80, label %ifend82 then80: store ptr @.str849, ptr @g_cur_dir call void @fn_do_import(ptr @.str850) %t104 = load ptr, ptr %t1 store ptr %t104, ptr @g_cur_dir br label %ifend82 ifend82: %t105 = load i32, ptr @g_g_uses_process %t106 = icmp ne i32 %t105, 0 br i1 %t106, label %then83, label %ifend85 then83: store ptr @.str851, ptr @g_cur_dir call void @fn_do_import(ptr @.str852) %t107 = load ptr, ptr %t1 store ptr %t107, ptr @g_cur_dir br label %ifend85 ifend85: %t108 = load i32, ptr @g_g_uses_vk %t109 = icmp ne i32 %t108, 0 br i1 %t109, label %then86, label %ifend88 then86: store i32 1, ptr @g_g_uses_gl br label %ifend88 ifend88: %t110 = load i32, ptr @g_g_uses_gl %t111 = icmp ne i32 %t110, 0 br i1 %t111, label %then89, label %ifend91 then89: store ptr @.str853, ptr @g_cur_dir call void @fn_do_import(ptr @.str854) %t112 = load ptr, ptr %t1 store ptr %t112, ptr @g_cur_dir br label %ifend91 ifend91: %t113 = load i32, ptr @g_g_uses_vk %t114 = icmp ne i32 %t113, 0 br i1 %t114, label %then92, label %ifend94 then92: store ptr @.str855, ptr @g_cur_dir call void @fn_do_import(ptr @.str856) %t115 = load ptr, ptr %t1 store ptr %t115, ptr @g_cur_dir br label %ifend94 ifend94: %t116 = load i32, ptr @g_g_uses_anim_rt %t117 = icmp ne i32 %t116, 0 br i1 %t117, label %then95, label %ifend97 then95: store i32 1, ptr @g_g_uses_esys store ptr @.str857, ptr @g_cur_dir call void @fn_do_import(ptr @.str858) call void @fn_do_import(ptr @.str859) %t118 = load ptr, ptr %t1 store ptr %t118, ptr @g_cur_dir br label %ifend97 ifend97: %t119 = call i32 @fn_uses_engine_systems() %t120 = icmp ne i32 %t119, 0 br i1 %t120, label %then98, label %ifend100 then98: store i32 1, ptr @g_g_uses_esys store ptr @.str860, ptr @g_cur_dir %t122 = call ptr @fn_find_comp(ptr @.str861) %t123 = icmp ne ptr %t122, null %t124 = zext i1 %t123 to i32 %t125 = icmp ne i32 %t124, 0 %t126 = zext i1 %t125 to i32 store i32 %t126, ptr %t121 br i1 %t125, label %scend102, label %sc101 sc101: %t127 = call ptr @fn_find_comp(ptr @.str862) %t128 = icmp ne ptr %t127, null %t129 = zext i1 %t128 to i32 %t130 = icmp ne i32 %t129, 0 %t131 = zext i1 %t130 to i32 store i32 %t131, ptr %t121 br label %scend102 scend102: %t132 = load i32, ptr %t121 %t133 = icmp ne i32 %t132, 0 br i1 %t133, label %then103, label %ifend105 then103: call void @fn_do_import(ptr @.str863) br label %ifend105 ifend105: %t134 = call ptr @fn_find_comp(ptr @.str864) %t135 = icmp ne ptr %t134, null %t136 = zext i1 %t135 to i32 %t137 = icmp ne i32 %t136, 0 br i1 %t137, label %then106, label %ifend108 then106: call void @fn_do_import(ptr @.str865) call void @fn_do_import(ptr @.str866) br label %ifend108 ifend108: %t138 = call ptr @fn_find_comp(ptr @.str867) %t139 = icmp ne ptr %t138, null %t140 = zext i1 %t139 to i32 %t141 = icmp ne i32 %t140, 0 br i1 %t141, label %then109, label %ifend111 then109: call void @fn_do_import(ptr @.str868) call void @fn_do_import(ptr @.str869) br label %ifend111 ifend111: %t142 = call ptr @fn_find_comp(ptr @.str870) %t143 = icmp ne ptr %t142, null %t144 = zext i1 %t143 to i32 %t145 = icmp ne i32 %t144, 0 br i1 %t145, label %then112, label %ifend114 then112: call void @fn_do_import(ptr @.str871) call void @fn_do_import(ptr @.str872) br label %ifend114 ifend114: %t146 = call ptr @fn_find_comp(ptr @.str873) %t147 = icmp ne ptr %t146, null %t148 = zext i1 %t147 to i32 %t149 = icmp ne i32 %t148, 0 br i1 %t149, label %then115, label %ifend117 then115: call void @fn_do_import(ptr @.str874) br label %ifend117 ifend117: %t151 = call ptr @fn_find_comp(ptr @.str875) %t152 = icmp ne ptr %t151, null %t153 = zext i1 %t152 to i32 %t154 = icmp ne i32 %t153, 0 %t155 = zext i1 %t154 to i32 store i32 %t155, ptr %t150 br i1 %t154, label %scend119, label %sc118 sc118: %t156 = call ptr @fn_find_comp(ptr @.str876) %t157 = icmp ne ptr %t156, null %t158 = zext i1 %t157 to i32 %t159 = icmp ne i32 %t158, 0 %t160 = zext i1 %t159 to i32 store i32 %t160, ptr %t150 br label %scend119 scend119: %t161 = load i32, ptr %t150 %t162 = icmp ne i32 %t161, 0 br i1 %t162, label %then120, label %ifend122 then120: call void @fn_do_import(ptr @.str877) call void @fn_do_import(ptr @.str878) store i32 1, ptr @g_g_uses_light br label %ifend122 ifend122: %t163 = load ptr, ptr %t1 store ptr %t163, ptr @g_cur_dir br label %ifend100 ifend100: br label %ret ret: ret void } define void @fn_parse_program() { entry: %t557 = alloca ptr %t561 = alloca ptr %t570 = alloca ptr %t573 = alloca i32 %t0 = getelementptr %LSlice, ptr null, i32 1 %t1 = ptrtoint ptr %t0 to i64 store i32 334, ptr @lp_site %t2 = call ptr @lp_malloc(i64 %t1) store i32 0, ptr @lp_site %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 store i32 335, ptr @lp_site %t8 = call ptr @lp_malloc(i64 %t7) store i32 0, ptr @lp_site %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 store i32 336, ptr @lp_site %t14 = call ptr @lp_malloc(i64 %t13) store i32 0, ptr @lp_site %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 store i32 337, ptr @lp_site %t20 = call ptr @lp_malloc(i64 %t19) store i32 0, ptr @lp_site %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 store i32 338, ptr @lp_site %t26 = call ptr @lp_malloc(i64 %t25) store i32 0, ptr @lp_site %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 store i32 339, ptr @lp_site %t32 = call ptr @lp_malloc(i64 %t31) store i32 0, ptr @lp_site %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 store i32 340, ptr @lp_site %t38 = call ptr @lp_malloc(i64 %t37) store i32 0, ptr @lp_site %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 store i32 341, ptr @lp_site %t44 = call ptr @lp_malloc(i64 %t43) store i32 0, ptr @lp_site %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 store i32 342, ptr @lp_site %t50 = call ptr @lp_malloc(i64 %t49) store i32 0, ptr @lp_site %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 store i32 343, ptr @lp_site %t56 = call ptr @lp_malloc(i64 %t55) store i32 0, ptr @lp_site %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 store i32 344, ptr @lp_site %t62 = call ptr @lp_malloc(i64 %t61) store i32 0, ptr @lp_site %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 store i32 345, ptr @lp_site %t68 = call ptr @lp_malloc(i64 %t67) store i32 0, ptr @lp_site %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_rng %t72 = getelementptr %LSlice, ptr null, i32 1 %t73 = ptrtoint ptr %t72 to i64 store i32 346, ptr @lp_site %t74 = call ptr @lp_malloc(i64 %t73) store i32 0, ptr @lp_site %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_rt_wants 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 %t78 = getelementptr %LSlice, ptr null, i32 1 %t79 = ptrtoint ptr %t78 to i64 store i32 347, ptr @lp_site %t80 = call ptr @lp_malloc(i64 %t79) store i32 0, ptr @lp_site %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_tests %t84 = getelementptr %LSlice, ptr null, i32 1 %t85 = ptrtoint ptr %t84 to i64 store i32 348, ptr @lp_site %t86 = call ptr @lp_malloc(i64 %t85) store i32 0, ptr @lp_site %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_fn %t90 = getelementptr %LSlice, ptr null, i32 1 %t91 = ptrtoint ptr %t90 to i64 store i32 349, ptr @lp_site %t92 = call ptr @lp_malloc(i64 %t91) store i32 0, ptr @lp_site %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_mod_sys_phase %t96 = getelementptr %LSlice, ptr null, i32 1 %t97 = ptrtoint ptr %t96 to i64 store i32 350, ptr @lp_site %t98 = call ptr @lp_malloc(i64 %t97) store i32 0, ptr @lp_site %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_comp %t102 = getelementptr %LSlice, ptr null, i32 1 %t103 = ptrtoint ptr %t102 to i64 store i32 351, ptr @lp_site %t104 = call ptr @lp_malloc(i64 %t103) store i32 0, ptr @lp_site %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_fn %t108 = getelementptr %LSlice, ptr null, i32 1 %t109 = ptrtoint ptr %t108 to i64 store i32 352, ptr @lp_site %t110 = call ptr @lp_malloc(i64 %t109) store i32 0, ptr @lp_site %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_esys_phase %t114 = getelementptr %LSlice, ptr null, i32 1 %t115 = ptrtoint ptr %t114 to i64 store i32 353, ptr @lp_site %t116 = call ptr @lp_malloc(i64 %t115) store i32 0, ptr @lp_site %t117 = getelementptr inbounds %LSlice, ptr %t116, i32 0, i32 0 store ptr null, ptr %t117 %t118 = getelementptr inbounds %LSlice, ptr %t116, i32 0, i32 1 store i32 0, ptr %t118 %t119 = getelementptr inbounds %LSlice, ptr %t116, i32 0, i32 2 store i32 0, ptr %t119 store ptr %t116, ptr @g_g_disabled_sys %t120 = load ptr, ptr @g_g_esys_comp %t121 = getelementptr inbounds %LSlice, ptr %t120, i32 0, i32 1 %t122 = getelementptr inbounds %LSlice, ptr %t120, i32 0, i32 2 %t123 = getelementptr inbounds %LSlice, ptr %t120, i32 0, i32 0 %t124 = load i32, ptr %t121 %t125 = load i32, ptr %t122 %t126 = icmp sge i32 %t124, %t125 br i1 %t126, label %grow0, label %put1 grow0: %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 store i32 354, ptr @lp_site %t135 = call ptr @lp_realloc(ptr %t134, i64 %t133) store i32 0, ptr @lp_site store ptr %t135, ptr %t123 store i32 %t129, ptr %t122 br label %put1 put1: %t136 = load ptr, ptr %t123 %t137 = getelementptr inbounds ptr, ptr %t136, i32 %t124 store ptr @.str880, ptr %t137 %t138 = add i32 %t124, 1 store i32 %t138, ptr %t121 %t139 = load ptr, ptr @g_g_esys_fn %t140 = getelementptr inbounds %LSlice, ptr %t139, i32 0, i32 1 %t141 = getelementptr inbounds %LSlice, ptr %t139, i32 0, i32 2 %t142 = getelementptr inbounds %LSlice, ptr %t139, i32 0, i32 0 %t143 = load i32, ptr %t140 %t144 = load i32, ptr %t141 %t145 = icmp sge i32 %t143, %t144 br i1 %t145, label %grow2, label %put3 grow2: %t146 = mul i32 %t144, 2 %t147 = icmp eq i32 %t144, 0 %t148 = select i1 %t147, i32 8, i32 %t146 %t149 = getelementptr ptr, ptr null, i32 1 %t150 = ptrtoint ptr %t149 to i64 %t151 = zext i32 %t148 to i64 %t152 = mul i64 %t151, %t150 %t153 = load ptr, ptr %t142 store i32 355, ptr @lp_site %t154 = call ptr @lp_realloc(ptr %t153, i64 %t152) store i32 0, ptr @lp_site store ptr %t154, ptr %t142 store i32 %t148, ptr %t141 br label %put3 put3: %t155 = load ptr, ptr %t142 %t156 = getelementptr inbounds ptr, ptr %t155, i32 %t143 store ptr @.str881, ptr %t156 %t157 = add i32 %t143, 1 store i32 %t157, ptr %t140 %t158 = load ptr, ptr @g_g_esys_phase %t159 = getelementptr inbounds %LSlice, ptr %t158, i32 0, i32 1 %t160 = getelementptr inbounds %LSlice, ptr %t158, i32 0, i32 2 %t161 = getelementptr inbounds %LSlice, ptr %t158, i32 0, i32 0 %t162 = load i32, ptr %t159 %t163 = load i32, ptr %t160 %t164 = icmp sge i32 %t162, %t163 br i1 %t164, label %grow4, label %put5 grow4: %t165 = mul i32 %t163, 2 %t166 = icmp eq i32 %t163, 0 %t167 = select i1 %t166, i32 8, i32 %t165 %t168 = getelementptr ptr, ptr null, i32 1 %t169 = ptrtoint ptr %t168 to i64 %t170 = zext i32 %t167 to i64 %t171 = mul i64 %t170, %t169 %t172 = load ptr, ptr %t161 store i32 356, ptr @lp_site %t173 = call ptr @lp_realloc(ptr %t172, i64 %t171) store i32 0, ptr @lp_site store ptr %t173, ptr %t161 store i32 %t167, ptr %t160 br label %put5 put5: %t174 = load ptr, ptr %t161 %t175 = getelementptr inbounds ptr, ptr %t174, i32 %t162 store ptr @.str882, ptr %t175 %t176 = add i32 %t162, 1 store i32 %t176, ptr %t159 %t177 = load ptr, ptr @g_g_esys_comp %t178 = getelementptr inbounds %LSlice, ptr %t177, i32 0, i32 1 %t179 = getelementptr inbounds %LSlice, ptr %t177, i32 0, i32 2 %t180 = getelementptr inbounds %LSlice, ptr %t177, i32 0, i32 0 %t181 = load i32, ptr %t178 %t182 = load i32, ptr %t179 %t183 = icmp sge i32 %t181, %t182 br i1 %t183, label %grow6, label %put7 grow6: %t184 = mul i32 %t182, 2 %t185 = icmp eq i32 %t182, 0 %t186 = select i1 %t185, i32 8, i32 %t184 %t187 = getelementptr ptr, ptr null, i32 1 %t188 = ptrtoint ptr %t187 to i64 %t189 = zext i32 %t186 to i64 %t190 = mul i64 %t189, %t188 %t191 = load ptr, ptr %t180 store i32 357, ptr @lp_site %t192 = call ptr @lp_realloc(ptr %t191, i64 %t190) store i32 0, ptr @lp_site store ptr %t192, ptr %t180 store i32 %t186, ptr %t179 br label %put7 put7: %t193 = load ptr, ptr %t180 %t194 = getelementptr inbounds ptr, ptr %t193, i32 %t181 store ptr @.str883, ptr %t194 %t195 = add i32 %t181, 1 store i32 %t195, ptr %t178 %t196 = load ptr, ptr @g_g_esys_fn %t197 = getelementptr inbounds %LSlice, ptr %t196, i32 0, i32 1 %t198 = getelementptr inbounds %LSlice, ptr %t196, i32 0, i32 2 %t199 = getelementptr inbounds %LSlice, ptr %t196, i32 0, i32 0 %t200 = load i32, ptr %t197 %t201 = load i32, ptr %t198 %t202 = icmp sge i32 %t200, %t201 br i1 %t202, label %grow8, label %put9 grow8: %t203 = mul i32 %t201, 2 %t204 = icmp eq i32 %t201, 0 %t205 = select i1 %t204, i32 8, i32 %t203 %t206 = getelementptr ptr, ptr null, i32 1 %t207 = ptrtoint ptr %t206 to i64 %t208 = zext i32 %t205 to i64 %t209 = mul i64 %t208, %t207 %t210 = load ptr, ptr %t199 store i32 358, ptr @lp_site %t211 = call ptr @lp_realloc(ptr %t210, i64 %t209) store i32 0, ptr @lp_site store ptr %t211, ptr %t199 store i32 %t205, ptr %t198 br label %put9 put9: %t212 = load ptr, ptr %t199 %t213 = getelementptr inbounds ptr, ptr %t212, i32 %t200 store ptr @.str884, ptr %t213 %t214 = add i32 %t200, 1 store i32 %t214, ptr %t197 %t215 = load ptr, ptr @g_g_esys_phase %t216 = getelementptr inbounds %LSlice, ptr %t215, i32 0, i32 1 %t217 = getelementptr inbounds %LSlice, ptr %t215, i32 0, i32 2 %t218 = getelementptr inbounds %LSlice, ptr %t215, i32 0, i32 0 %t219 = load i32, ptr %t216 %t220 = load i32, ptr %t217 %t221 = icmp sge i32 %t219, %t220 br i1 %t221, label %grow10, label %put11 grow10: %t222 = mul i32 %t220, 2 %t223 = icmp eq i32 %t220, 0 %t224 = select i1 %t223, i32 8, i32 %t222 %t225 = getelementptr ptr, ptr null, i32 1 %t226 = ptrtoint ptr %t225 to i64 %t227 = zext i32 %t224 to i64 %t228 = mul i64 %t227, %t226 %t229 = load ptr, ptr %t218 store i32 359, ptr @lp_site %t230 = call ptr @lp_realloc(ptr %t229, i64 %t228) store i32 0, ptr @lp_site store ptr %t230, ptr %t218 store i32 %t224, ptr %t217 br label %put11 put11: %t231 = load ptr, ptr %t218 %t232 = getelementptr inbounds ptr, ptr %t231, i32 %t219 store ptr @.str885, ptr %t232 %t233 = add i32 %t219, 1 store i32 %t233, ptr %t216 %t234 = load ptr, ptr @g_g_esys_comp %t235 = getelementptr inbounds %LSlice, ptr %t234, i32 0, i32 1 %t236 = getelementptr inbounds %LSlice, ptr %t234, i32 0, i32 2 %t237 = getelementptr inbounds %LSlice, ptr %t234, i32 0, i32 0 %t238 = load i32, ptr %t235 %t239 = load i32, ptr %t236 %t240 = icmp sge i32 %t238, %t239 br i1 %t240, label %grow12, label %put13 grow12: %t241 = mul i32 %t239, 2 %t242 = icmp eq i32 %t239, 0 %t243 = select i1 %t242, i32 8, i32 %t241 %t244 = getelementptr ptr, ptr null, i32 1 %t245 = ptrtoint ptr %t244 to i64 %t246 = zext i32 %t243 to i64 %t247 = mul i64 %t246, %t245 %t248 = load ptr, ptr %t237 store i32 360, ptr @lp_site %t249 = call ptr @lp_realloc(ptr %t248, i64 %t247) store i32 0, ptr @lp_site store ptr %t249, ptr %t237 store i32 %t243, ptr %t236 br label %put13 put13: %t250 = load ptr, ptr %t237 %t251 = getelementptr inbounds ptr, ptr %t250, i32 %t238 store ptr @.str886, ptr %t251 %t252 = add i32 %t238, 1 store i32 %t252, ptr %t235 %t253 = load ptr, ptr @g_g_esys_fn %t254 = getelementptr inbounds %LSlice, ptr %t253, i32 0, i32 1 %t255 = getelementptr inbounds %LSlice, ptr %t253, i32 0, i32 2 %t256 = getelementptr inbounds %LSlice, ptr %t253, i32 0, i32 0 %t257 = load i32, ptr %t254 %t258 = load i32, ptr %t255 %t259 = icmp sge i32 %t257, %t258 br i1 %t259, label %grow14, label %put15 grow14: %t260 = mul i32 %t258, 2 %t261 = icmp eq i32 %t258, 0 %t262 = select i1 %t261, i32 8, i32 %t260 %t263 = getelementptr ptr, ptr null, i32 1 %t264 = ptrtoint ptr %t263 to i64 %t265 = zext i32 %t262 to i64 %t266 = mul i64 %t265, %t264 %t267 = load ptr, ptr %t256 store i32 361, ptr @lp_site %t268 = call ptr @lp_realloc(ptr %t267, i64 %t266) store i32 0, ptr @lp_site store ptr %t268, ptr %t256 store i32 %t262, ptr %t255 br label %put15 put15: %t269 = load ptr, ptr %t256 %t270 = getelementptr inbounds ptr, ptr %t269, i32 %t257 store ptr @.str887, ptr %t270 %t271 = add i32 %t257, 1 store i32 %t271, ptr %t254 %t272 = load ptr, ptr @g_g_esys_phase %t273 = getelementptr inbounds %LSlice, ptr %t272, i32 0, i32 1 %t274 = getelementptr inbounds %LSlice, ptr %t272, i32 0, i32 2 %t275 = getelementptr inbounds %LSlice, ptr %t272, i32 0, i32 0 %t276 = load i32, ptr %t273 %t277 = load i32, ptr %t274 %t278 = icmp sge i32 %t276, %t277 br i1 %t278, label %grow16, label %put17 grow16: %t279 = mul i32 %t277, 2 %t280 = icmp eq i32 %t277, 0 %t281 = select i1 %t280, i32 8, i32 %t279 %t282 = getelementptr ptr, ptr null, i32 1 %t283 = ptrtoint ptr %t282 to i64 %t284 = zext i32 %t281 to i64 %t285 = mul i64 %t284, %t283 %t286 = load ptr, ptr %t275 store i32 362, ptr @lp_site %t287 = call ptr @lp_realloc(ptr %t286, i64 %t285) store i32 0, ptr @lp_site store ptr %t287, ptr %t275 store i32 %t281, ptr %t274 br label %put17 put17: %t288 = load ptr, ptr %t275 %t289 = getelementptr inbounds ptr, ptr %t288, i32 %t276 store ptr @.str888, ptr %t289 %t290 = add i32 %t276, 1 store i32 %t290, ptr %t273 %t291 = load ptr, ptr @g_g_esys_comp %t292 = getelementptr inbounds %LSlice, ptr %t291, i32 0, i32 1 %t293 = getelementptr inbounds %LSlice, ptr %t291, i32 0, i32 2 %t294 = getelementptr inbounds %LSlice, ptr %t291, i32 0, i32 0 %t295 = load i32, ptr %t292 %t296 = load i32, ptr %t293 %t297 = icmp sge i32 %t295, %t296 br i1 %t297, label %grow18, label %put19 grow18: %t298 = mul i32 %t296, 2 %t299 = icmp eq i32 %t296, 0 %t300 = select i1 %t299, i32 8, i32 %t298 %t301 = getelementptr ptr, ptr null, i32 1 %t302 = ptrtoint ptr %t301 to i64 %t303 = zext i32 %t300 to i64 %t304 = mul i64 %t303, %t302 %t305 = load ptr, ptr %t294 store i32 363, ptr @lp_site %t306 = call ptr @lp_realloc(ptr %t305, i64 %t304) store i32 0, ptr @lp_site store ptr %t306, ptr %t294 store i32 %t300, ptr %t293 br label %put19 put19: %t307 = load ptr, ptr %t294 %t308 = getelementptr inbounds ptr, ptr %t307, i32 %t295 store ptr @.str889, ptr %t308 %t309 = add i32 %t295, 1 store i32 %t309, ptr %t292 %t310 = load ptr, ptr @g_g_esys_fn %t311 = getelementptr inbounds %LSlice, ptr %t310, i32 0, i32 1 %t312 = getelementptr inbounds %LSlice, ptr %t310, i32 0, i32 2 %t313 = getelementptr inbounds %LSlice, ptr %t310, i32 0, i32 0 %t314 = load i32, ptr %t311 %t315 = load i32, ptr %t312 %t316 = icmp sge i32 %t314, %t315 br i1 %t316, label %grow20, label %put21 grow20: %t317 = mul i32 %t315, 2 %t318 = icmp eq i32 %t315, 0 %t319 = select i1 %t318, i32 8, i32 %t317 %t320 = getelementptr ptr, ptr null, i32 1 %t321 = ptrtoint ptr %t320 to i64 %t322 = zext i32 %t319 to i64 %t323 = mul i64 %t322, %t321 %t324 = load ptr, ptr %t313 store i32 364, ptr @lp_site %t325 = call ptr @lp_realloc(ptr %t324, i64 %t323) store i32 0, ptr @lp_site store ptr %t325, ptr %t313 store i32 %t319, ptr %t312 br label %put21 put21: %t326 = load ptr, ptr %t313 %t327 = getelementptr inbounds ptr, ptr %t326, i32 %t314 store ptr @.str890, ptr %t327 %t328 = add i32 %t314, 1 store i32 %t328, ptr %t311 %t329 = load ptr, ptr @g_g_esys_phase %t330 = getelementptr inbounds %LSlice, ptr %t329, i32 0, i32 1 %t331 = getelementptr inbounds %LSlice, ptr %t329, i32 0, i32 2 %t332 = getelementptr inbounds %LSlice, ptr %t329, i32 0, i32 0 %t333 = load i32, ptr %t330 %t334 = load i32, ptr %t331 %t335 = icmp sge i32 %t333, %t334 br i1 %t335, label %grow22, label %put23 grow22: %t336 = mul i32 %t334, 2 %t337 = icmp eq i32 %t334, 0 %t338 = select i1 %t337, i32 8, i32 %t336 %t339 = getelementptr ptr, ptr null, i32 1 %t340 = ptrtoint ptr %t339 to i64 %t341 = zext i32 %t338 to i64 %t342 = mul i64 %t341, %t340 %t343 = load ptr, ptr %t332 store i32 365, ptr @lp_site %t344 = call ptr @lp_realloc(ptr %t343, i64 %t342) store i32 0, ptr @lp_site store ptr %t344, ptr %t332 store i32 %t338, ptr %t331 br label %put23 put23: %t345 = load ptr, ptr %t332 %t346 = getelementptr inbounds ptr, ptr %t345, i32 %t333 store ptr @.str891, ptr %t346 %t347 = add i32 %t333, 1 store i32 %t347, ptr %t330 %t348 = load ptr, ptr @g_g_esys_comp %t349 = getelementptr inbounds %LSlice, ptr %t348, i32 0, i32 1 %t350 = getelementptr inbounds %LSlice, ptr %t348, i32 0, i32 2 %t351 = getelementptr inbounds %LSlice, ptr %t348, i32 0, i32 0 %t352 = load i32, ptr %t349 %t353 = load i32, ptr %t350 %t354 = icmp sge i32 %t352, %t353 br i1 %t354, label %grow24, label %put25 grow24: %t355 = mul i32 %t353, 2 %t356 = icmp eq i32 %t353, 0 %t357 = select i1 %t356, i32 8, i32 %t355 %t358 = getelementptr ptr, ptr null, i32 1 %t359 = ptrtoint ptr %t358 to i64 %t360 = zext i32 %t357 to i64 %t361 = mul i64 %t360, %t359 %t362 = load ptr, ptr %t351 store i32 366, ptr @lp_site %t363 = call ptr @lp_realloc(ptr %t362, i64 %t361) store i32 0, ptr @lp_site store ptr %t363, ptr %t351 store i32 %t357, ptr %t350 br label %put25 put25: %t364 = load ptr, ptr %t351 %t365 = getelementptr inbounds ptr, ptr %t364, i32 %t352 store ptr @.str892, ptr %t365 %t366 = add i32 %t352, 1 store i32 %t366, ptr %t349 %t367 = load ptr, ptr @g_g_esys_fn %t368 = getelementptr inbounds %LSlice, ptr %t367, i32 0, i32 1 %t369 = getelementptr inbounds %LSlice, ptr %t367, i32 0, i32 2 %t370 = getelementptr inbounds %LSlice, ptr %t367, i32 0, i32 0 %t371 = load i32, ptr %t368 %t372 = load i32, ptr %t369 %t373 = icmp sge i32 %t371, %t372 br i1 %t373, label %grow26, label %put27 grow26: %t374 = mul i32 %t372, 2 %t375 = icmp eq i32 %t372, 0 %t376 = select i1 %t375, i32 8, i32 %t374 %t377 = getelementptr ptr, ptr null, i32 1 %t378 = ptrtoint ptr %t377 to i64 %t379 = zext i32 %t376 to i64 %t380 = mul i64 %t379, %t378 %t381 = load ptr, ptr %t370 store i32 367, ptr @lp_site %t382 = call ptr @lp_realloc(ptr %t381, i64 %t380) store i32 0, ptr @lp_site store ptr %t382, ptr %t370 store i32 %t376, ptr %t369 br label %put27 put27: %t383 = load ptr, ptr %t370 %t384 = getelementptr inbounds ptr, ptr %t383, i32 %t371 store ptr @.str893, ptr %t384 %t385 = add i32 %t371, 1 store i32 %t385, ptr %t368 %t386 = load ptr, ptr @g_g_esys_phase %t387 = getelementptr inbounds %LSlice, ptr %t386, i32 0, i32 1 %t388 = getelementptr inbounds %LSlice, ptr %t386, i32 0, i32 2 %t389 = getelementptr inbounds %LSlice, ptr %t386, i32 0, i32 0 %t390 = load i32, ptr %t387 %t391 = load i32, ptr %t388 %t392 = icmp sge i32 %t390, %t391 br i1 %t392, label %grow28, label %put29 grow28: %t393 = mul i32 %t391, 2 %t394 = icmp eq i32 %t391, 0 %t395 = select i1 %t394, i32 8, i32 %t393 %t396 = getelementptr ptr, ptr null, i32 1 %t397 = ptrtoint ptr %t396 to i64 %t398 = zext i32 %t395 to i64 %t399 = mul i64 %t398, %t397 %t400 = load ptr, ptr %t389 store i32 368, ptr @lp_site %t401 = call ptr @lp_realloc(ptr %t400, i64 %t399) store i32 0, ptr @lp_site store ptr %t401, ptr %t389 store i32 %t395, ptr %t388 br label %put29 put29: %t402 = load ptr, ptr %t389 %t403 = getelementptr inbounds ptr, ptr %t402, i32 %t390 store ptr @.str894, ptr %t403 %t404 = add i32 %t390, 1 store i32 %t404, ptr %t387 %t405 = load ptr, ptr @g_g_esys_comp %t406 = getelementptr inbounds %LSlice, ptr %t405, i32 0, i32 1 %t407 = getelementptr inbounds %LSlice, ptr %t405, i32 0, i32 2 %t408 = getelementptr inbounds %LSlice, ptr %t405, i32 0, i32 0 %t409 = load i32, ptr %t406 %t410 = load i32, ptr %t407 %t411 = icmp sge i32 %t409, %t410 br i1 %t411, label %grow30, label %put31 grow30: %t412 = mul i32 %t410, 2 %t413 = icmp eq i32 %t410, 0 %t414 = select i1 %t413, i32 8, i32 %t412 %t415 = getelementptr ptr, ptr null, i32 1 %t416 = ptrtoint ptr %t415 to i64 %t417 = zext i32 %t414 to i64 %t418 = mul i64 %t417, %t416 %t419 = load ptr, ptr %t408 store i32 369, ptr @lp_site %t420 = call ptr @lp_realloc(ptr %t419, i64 %t418) store i32 0, ptr @lp_site store ptr %t420, ptr %t408 store i32 %t414, ptr %t407 br label %put31 put31: %t421 = load ptr, ptr %t408 %t422 = getelementptr inbounds ptr, ptr %t421, i32 %t409 store ptr @.str895, ptr %t422 %t423 = add i32 %t409, 1 store i32 %t423, ptr %t406 %t424 = load ptr, ptr @g_g_esys_fn %t425 = getelementptr inbounds %LSlice, ptr %t424, i32 0, i32 1 %t426 = getelementptr inbounds %LSlice, ptr %t424, i32 0, i32 2 %t427 = getelementptr inbounds %LSlice, ptr %t424, i32 0, i32 0 %t428 = load i32, ptr %t425 %t429 = load i32, ptr %t426 %t430 = icmp sge i32 %t428, %t429 br i1 %t430, label %grow32, label %put33 grow32: %t431 = mul i32 %t429, 2 %t432 = icmp eq i32 %t429, 0 %t433 = select i1 %t432, i32 8, i32 %t431 %t434 = getelementptr ptr, ptr null, i32 1 %t435 = ptrtoint ptr %t434 to i64 %t436 = zext i32 %t433 to i64 %t437 = mul i64 %t436, %t435 %t438 = load ptr, ptr %t427 store i32 370, ptr @lp_site %t439 = call ptr @lp_realloc(ptr %t438, i64 %t437) store i32 0, ptr @lp_site store ptr %t439, ptr %t427 store i32 %t433, ptr %t426 br label %put33 put33: %t440 = load ptr, ptr %t427 %t441 = getelementptr inbounds ptr, ptr %t440, i32 %t428 store ptr @.str896, ptr %t441 %t442 = add i32 %t428, 1 store i32 %t442, ptr %t425 %t443 = load ptr, ptr @g_g_esys_phase %t444 = getelementptr inbounds %LSlice, ptr %t443, i32 0, i32 1 %t445 = getelementptr inbounds %LSlice, ptr %t443, i32 0, i32 2 %t446 = getelementptr inbounds %LSlice, ptr %t443, i32 0, i32 0 %t447 = load i32, ptr %t444 %t448 = load i32, ptr %t445 %t449 = icmp sge i32 %t447, %t448 br i1 %t449, label %grow34, label %put35 grow34: %t450 = mul i32 %t448, 2 %t451 = icmp eq i32 %t448, 0 %t452 = select i1 %t451, i32 8, i32 %t450 %t453 = getelementptr ptr, ptr null, i32 1 %t454 = ptrtoint ptr %t453 to i64 %t455 = zext i32 %t452 to i64 %t456 = mul i64 %t455, %t454 %t457 = load ptr, ptr %t446 store i32 371, ptr @lp_site %t458 = call ptr @lp_realloc(ptr %t457, i64 %t456) store i32 0, ptr @lp_site store ptr %t458, ptr %t446 store i32 %t452, ptr %t445 br label %put35 put35: %t459 = load ptr, ptr %t446 %t460 = getelementptr inbounds ptr, ptr %t459, i32 %t447 store ptr @.str897, ptr %t460 %t461 = add i32 %t447, 1 store i32 %t461, ptr %t444 %t462 = load ptr, ptr @g_g_esys_comp %t463 = getelementptr inbounds %LSlice, ptr %t462, i32 0, i32 1 %t464 = getelementptr inbounds %LSlice, ptr %t462, i32 0, i32 2 %t465 = getelementptr inbounds %LSlice, ptr %t462, i32 0, i32 0 %t466 = load i32, ptr %t463 %t467 = load i32, ptr %t464 %t468 = icmp sge i32 %t466, %t467 br i1 %t468, label %grow36, label %put37 grow36: %t469 = mul i32 %t467, 2 %t470 = icmp eq i32 %t467, 0 %t471 = select i1 %t470, i32 8, i32 %t469 %t472 = getelementptr ptr, ptr null, i32 1 %t473 = ptrtoint ptr %t472 to i64 %t474 = zext i32 %t471 to i64 %t475 = mul i64 %t474, %t473 %t476 = load ptr, ptr %t465 store i32 372, ptr @lp_site %t477 = call ptr @lp_realloc(ptr %t476, i64 %t475) store i32 0, ptr @lp_site store ptr %t477, ptr %t465 store i32 %t471, ptr %t464 br label %put37 put37: %t478 = load ptr, ptr %t465 %t479 = getelementptr inbounds ptr, ptr %t478, i32 %t466 store ptr @.str898, ptr %t479 %t480 = add i32 %t466, 1 store i32 %t480, ptr %t463 %t481 = load ptr, ptr @g_g_esys_fn %t482 = getelementptr inbounds %LSlice, ptr %t481, i32 0, i32 1 %t483 = getelementptr inbounds %LSlice, ptr %t481, i32 0, i32 2 %t484 = getelementptr inbounds %LSlice, ptr %t481, i32 0, i32 0 %t485 = load i32, ptr %t482 %t486 = load i32, ptr %t483 %t487 = icmp sge i32 %t485, %t486 br i1 %t487, label %grow38, label %put39 grow38: %t488 = mul i32 %t486, 2 %t489 = icmp eq i32 %t486, 0 %t490 = select i1 %t489, i32 8, i32 %t488 %t491 = getelementptr ptr, ptr null, i32 1 %t492 = ptrtoint ptr %t491 to i64 %t493 = zext i32 %t490 to i64 %t494 = mul i64 %t493, %t492 %t495 = load ptr, ptr %t484 store i32 373, ptr @lp_site %t496 = call ptr @lp_realloc(ptr %t495, i64 %t494) store i32 0, ptr @lp_site store ptr %t496, ptr %t484 store i32 %t490, ptr %t483 br label %put39 put39: %t497 = load ptr, ptr %t484 %t498 = getelementptr inbounds ptr, ptr %t497, i32 %t485 store ptr @.str899, ptr %t498 %t499 = add i32 %t485, 1 store i32 %t499, ptr %t482 %t500 = load ptr, ptr @g_g_esys_phase %t501 = getelementptr inbounds %LSlice, ptr %t500, i32 0, i32 1 %t502 = getelementptr inbounds %LSlice, ptr %t500, i32 0, i32 2 %t503 = getelementptr inbounds %LSlice, ptr %t500, i32 0, i32 0 %t504 = load i32, ptr %t501 %t505 = load i32, ptr %t502 %t506 = icmp sge i32 %t504, %t505 br i1 %t506, label %grow40, label %put41 grow40: %t507 = mul i32 %t505, 2 %t508 = icmp eq i32 %t505, 0 %t509 = select i1 %t508, i32 8, i32 %t507 %t510 = getelementptr ptr, ptr null, i32 1 %t511 = ptrtoint ptr %t510 to i64 %t512 = zext i32 %t509 to i64 %t513 = mul i64 %t512, %t511 %t514 = load ptr, ptr %t503 store i32 374, ptr @lp_site %t515 = call ptr @lp_realloc(ptr %t514, i64 %t513) store i32 0, ptr @lp_site store ptr %t515, ptr %t503 store i32 %t509, ptr %t502 br label %put41 put41: %t516 = load ptr, ptr %t503 %t517 = getelementptr inbounds ptr, ptr %t516, i32 %t504 store ptr @.str900, ptr %t517 %t518 = add i32 %t504, 1 store i32 %t518, ptr %t501 %t519 = getelementptr %LSlice, ptr null, i32 1 %t520 = ptrtoint ptr %t519 to i64 store i32 375, ptr @lp_site %t521 = call ptr @lp_malloc(i64 %t520) store i32 0, ptr @lp_site %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_namespaces %t525 = getelementptr %LSlice, ptr null, i32 1 %t526 = ptrtoint ptr %t525 to i64 store i32 376, ptr @lp_site %t527 = call ptr @lp_malloc(i64 %t526) store i32 0, ptr @lp_site %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_blocks %t531 = getelementptr %LSlice, ptr null, i32 1 %t532 = ptrtoint ptr %t531 to i64 store i32 377, ptr @lp_site %t533 = call ptr @lp_malloc(i64 %t532) store i32 0, ptr @lp_site %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_g_ns_exports %t537 = getelementptr %LSlice, ptr null, i32 1 %t538 = ptrtoint ptr %t537 to i64 store i32 378, ptr @lp_site %t539 = call ptr @lp_malloc(i64 %t538) store i32 0, ptr @lp_site %t540 = getelementptr inbounds %LSlice, ptr %t539, i32 0, i32 0 store ptr null, ptr %t540 %t541 = getelementptr inbounds %LSlice, ptr %t539, i32 0, i32 1 store i32 0, ptr %t541 %t542 = getelementptr inbounds %LSlice, ptr %t539, i32 0, i32 2 store i32 0, ptr %t542 store ptr %t539, ptr @g_loaded_paths call void @fn_skipnl() store ptr @.str901, ptr @g_g_game_name br label %wcond42 wcond42: %t543 = call i32 @fn_is_id(ptr @.str902) %t544 = icmp ne i32 %t543, 0 br i1 %t544, label %wbody43, label %wend44 wbody43: %t545 = load i32, ptr @g_pi %t546 = add i32 %t545, 1 store i32 %t546, ptr @g_pi %t547 = load ptr, ptr @g_toks %t548 = load i32, ptr @g_pi %t549 = getelementptr inbounds %LSlice, ptr %t547, i32 0, i32 0 %t550 = load ptr, ptr %t549 %t551 = getelementptr inbounds %LSlice, ptr %t547, i32 0, i32 1 %t552 = load i32, ptr %t551 %t553 = icmp ult i32 %t548, %t552 br i1 %t553, label %ixok45, label %ixbad46 ixbad46: store i32 379, ptr @lp_site %t554 = call ptr @lp_win_stdio(i32 2) store i32 0, ptr @lp_site call i32 (ptr, ptr, ...) @fprintf(ptr %t554, ptr @.fmt_bounds, ptr @.str903, i32 %t548, i32 %t552) call void @exit(i32 1) unreachable ixok45: %t555 = getelementptr inbounds ptr, ptr %t550, i32 %t548 %t556 = load ptr, ptr %t555 store ptr %t556, ptr %t557 %t558 = load ptr, ptr %t557 %t559 = getelementptr inbounds %Cmp_Tok, ptr %t558, i32 0, i32 1 %t560 = load ptr, ptr %t559 store ptr %t560, ptr %t561 %t562 = load i32, ptr @g_pi %t563 = add i32 %t562, 1 store i32 %t563, ptr @g_pi %t564 = load ptr, ptr %t561 call void @fn_do_import(ptr %t564) call void @fn_skipnl() br label %wcond42 wend44: br label %wcond47 wcond47: %t565 = call i32 @fn_is_op(ptr @.str904) %t566 = icmp ne i32 %t565, 0 br i1 %t566, label %wbody48, label %wend49 wbody48: %t567 = load i32, ptr @g_pi %t568 = add i32 %t567, 1 store i32 %t568, ptr @g_pi %t569 = call ptr @fn_eat_id() store ptr %t569, ptr %t570 %t571 = call i32 @fn_is_op(ptr @.str905) %t572 = icmp ne i32 %t571, 0 br i1 %t572, label %then50, label %ifend52 then50: store i32 0, ptr %t573 br label %wcond53 wcond53: %t574 = icmp ne i32 1, 0 br i1 %t574, label %wbody54, label %wend55 wbody54: %t575 = call i32 @fn_is_op(ptr @.str906) %t576 = icmp ne i32 %t575, 0 br i1 %t576, label %then56, label %ifend58 then56: %t577 = load i32, ptr %t573 %t578 = add i32 %t577, 1 store i32 %t578, ptr %t573 br label %ifend58 ifend58: %t579 = call i32 @fn_is_op(ptr @.str907) %t580 = icmp ne i32 %t579, 0 br i1 %t580, label %then59, label %ifend61 then59: %t581 = load i32, ptr %t573 %t582 = sub i32 %t581, 1 store i32 %t582, ptr %t573 br label %ifend61 ifend61: %t583 = load i32, ptr @g_pi %t584 = add i32 %t583, 1 store i32 %t584, ptr @g_pi %t585 = load i32, ptr %t573 %t586 = icmp eq i32 %t585, 0 %t587 = zext i1 %t586 to i32 %t588 = icmp ne i32 %t587, 0 br i1 %t588, label %then62, label %ifend64 then62: br label %wend55 ifend64: br label %wcond53 wend55: br label %ifend52 ifend52: call void @fn_skipnl() br label %wcond47 wend49: %t589 = call i32 @fn_is_id(ptr @.str908) %t590 = icmp ne i32 %t589, 0 br i1 %t590, label %then65, label %ifend67 then65: %t591 = load i32, ptr @g_pi %t592 = add i32 %t591, 1 store i32 %t592, ptr @g_pi %t593 = call ptr @fn_eat_id() store ptr %t593, ptr @g_g_game_name call void @fn_skipnl() call void @fn_eat_op(ptr @.str909) br label %ifend67 ifend67: br label %wcond68 wcond68: %t594 = icmp ne i32 1, 0 br i1 %t594, label %wbody69, label %wend70 wbody69: call void @fn_skipnl() %t595 = load ptr, ptr @g_toks %t596 = load i32, ptr @g_pi %t597 = getelementptr inbounds %LSlice, ptr %t595, i32 0, i32 0 %t598 = load ptr, ptr %t597 %t599 = getelementptr inbounds %LSlice, ptr %t595, i32 0, i32 1 %t600 = load i32, ptr %t599 %t601 = icmp ult i32 %t596, %t600 br i1 %t601, label %ixok71, label %ixbad72 ixbad72: store i32 380, ptr @lp_site %t602 = call ptr @lp_win_stdio(i32 2) store i32 0, ptr @lp_site call i32 (ptr, ptr, ...) @fprintf(ptr %t602, ptr @.fmt_bounds, ptr @.str910, i32 %t596, i32 %t600) call void @exit(i32 1) unreachable ixok71: %t603 = getelementptr inbounds ptr, ptr %t598, i32 %t596 %t604 = load ptr, ptr %t603 %t605 = getelementptr inbounds %Cmp_Tok, ptr %t604, i32 0, i32 0 %t606 = load i32, ptr %t605 %t607 = icmp eq i32 %t606, 5 %t608 = zext i1 %t607 to i32 %t609 = icmp ne i32 %t608, 0 br i1 %t609, label %then73, label %ifend75 then73: br label %wend70 ifend75: %t610 = call i32 @fn_is_op(ptr @.str911) %t611 = icmp ne i32 %t610, 0 br i1 %t611, label %then76, label %ifend78 then76: br label %wend70 ifend78: call void @fn_parse_one_decl() br label %wcond68 wend70: store i32 1, ptr @g_g_gen_nodes call void @fn_modules_finish() call void @fn_registries_finish() call void @fn_at_check_refs() call void @fn_ports_finish() call void @fn_views_finish() call void @fn_components_finish() call void @fn_ui_blocks_states() call void @fn_actions_finish() store i32 0, ptr @g_g_gen_nodes br label %ret ret: ret void } define ptr @fn_parse_component() { entry: %retval = alloca ptr %t3 = alloca ptr %t18 = alloca i32 %t19 = alloca i32 %t20 = alloca i32 %t21 = alloca i32 %t23 = alloca i32 %t29 = alloca ptr %t30 = alloca i32 %t31 = alloca i32 %t81 = alloca ptr %t82 = alloca i32 %t127 = alloca i32 %t144 = alloca ptr %t307 = 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 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 %t7 = call i32 @fn_is_op(ptr @.str912) %t8 = icmp ne i32 %t7, 0 br i1 %t8, label %then0, label %ifend2 then0: %t9 = load ptr, ptr %t3 %t10 = getelementptr inbounds %Cmp_Node, ptr %t9, i32 0, i32 11 %t11 = call ptr @fn_gen_params() store ptr %t11, ptr %t10 br label %ifend2 ifend2: %t12 = load ptr, ptr %t3 %t13 = getelementptr inbounds %Cmp_Node, ptr %t12, i32 0, i32 11 %t14 = load ptr, ptr %t13 call void @fn_gen_enter(ptr %t14) call void @fn_skipnl() call void @fn_eat_op(ptr @.str913) br label %wcond3 wcond3: %t15 = icmp ne i32 1, 0 br i1 %t15, label %wbody4, label %wend5 wbody4: call void @fn_skipnl() %t16 = call i32 @fn_is_op(ptr @.str914) %t17 = icmp ne i32 %t16, 0 br i1 %t17, label %then6, label %ifend8 then6: br label %wend5 ifend8: store i32 0, ptr %t18 store i32 0, ptr %t19 store i32 0, ptr %t20 store i32 0, ptr %t21 %t22 = sub i32 0, 1 store i32 %t22, ptr %t23 br label %wcond9 wcond9: %t24 = call i32 @fn_is_op(ptr @.str915) %t25 = icmp ne i32 %t24, 0 br i1 %t25, label %wbody10, label %wend11 wbody10: %t26 = load i32, ptr @g_pi %t27 = add i32 %t26, 1 store i32 %t27, ptr @g_pi %t28 = call ptr @fn_eat_id() store ptr %t28, ptr %t29 %t32 = load ptr, ptr %t29 %t33 = call i32 @lp_str_eq(ptr %t32, ptr @.str916) %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 %t29 %t37 = call i32 @lp_str_eq(ptr %t36, ptr @.str917) %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 %t42 = zext i1 %t41 to i32 store i32 %t42, ptr %t30 br i1 %t41, label %scend15, label %sc14 sc14: %t43 = load ptr, ptr %t29 %t44 = call i32 @lp_str_eq(ptr %t43, ptr @.str918) %t45 = icmp ne i32 %t44, 0 %t46 = zext i1 %t45 to i32 store i32 %t46, ptr %t30 br label %scend15 scend15: %t47 = load i32, ptr %t30 %t48 = icmp ne i32 %t47, 0 br i1 %t48, label %then16, label %else17 then16: %t49 = load ptr, ptr %t29 %t50 = call i32 @lp_str_eq(ptr %t49, ptr @.str919) %t51 = icmp ne i32 %t50, 0 br i1 %t51, label %then19, label %else20 then19: store i32 1, ptr %t18 br label %ifend21 else20: %t52 = load ptr, ptr %t29 %t53 = call i32 @lp_str_eq(ptr %t52, ptr @.str920) %t54 = icmp ne i32 %t53, 0 br i1 %t54, label %then22, label %else23 then22: store i32 1, ptr %t19 br label %ifend24 else23: store i32 1, ptr %t20 br label %ifend24 ifend24: br label %ifend21 ifend21: %t55 = load i32, ptr %t23 %t56 = icmp slt i32 %t55, 0 %t57 = zext i1 %t56 to i32 %t58 = icmp ne i32 %t57, 0 br i1 %t58, label %then25, label %ifend27 then25: %t59 = call i32 @fn_at_group() store i32 %t59, ptr %t23 br label %ifend27 ifend27: %t60 = load i32, ptr %t23 %t61 = load ptr, ptr %t29 call void @fn_at_push(i32 %t60, ptr %t61, ptr @.str921, ptr null, i32 0) br label %ifend18 else17: %t62 = load ptr, ptr %t29 %t63 = call i32 @lp_str_eq(ptr %t62, ptr @.str922) %t64 = icmp ne i32 %t63, 0 br i1 %t64, label %then28, label %else29 then28: call void @fn_eat_op(ptr @.str923) %t65 = call ptr @fn_eat_id() store ptr %t65, ptr @g_g_own_pending call void @fn_eat_op(ptr @.str924) %t66 = load i32, ptr %t23 %t67 = icmp slt i32 %t66, 0 %t68 = zext i1 %t67 to i32 %t69 = icmp ne i32 %t68, 0 br i1 %t69, label %then31, label %ifend33 then31: %t70 = call i32 @fn_at_group() store i32 %t70, ptr %t23 br label %ifend33 ifend33: %t71 = load i32, ptr %t23 %t72 = load ptr, ptr %t29 %t73 = load ptr, ptr @g_g_own_pending store i32 381, ptr @lp_site %t74 = call ptr @lp_str_concat(ptr @.str925, ptr %t73) store i32 0, ptr @lp_site store i32 382, ptr @lp_site %t75 = call ptr @lp_str_concat(ptr %t74, ptr @.str927) store i32 0, ptr @lp_site call void @lp_free(ptr %t74) %t76 = load ptr, ptr @g_g_own_pending call void @fn_at_push(i32 %t71, ptr %t72, ptr %t75, ptr %t76, i32 1) br label %ifend30 else29: %t77 = load ptr, ptr %t29 %t78 = call i32 @lp_str_eq(ptr %t77, ptr @.str928) %t79 = icmp ne i32 %t78, 0 br i1 %t79, label %then34, label %else35 then34: call void @fn_eat_op(ptr @.str929) %t80 = call ptr @fn_expr() store ptr %t80, ptr %t81 %t83 = load ptr, ptr %t81 %t84 = getelementptr inbounds %Cmp_Node, ptr %t83, i32 0, i32 0 %t85 = load i32, ptr %t84 %t86 = icmp ne i32 %t85, 30 %t87 = zext i1 %t86 to i32 %t88 = icmp ne i32 %t87, 0 %t89 = zext i1 %t88 to i32 store i32 %t89, ptr %t82 br i1 %t88, label %scend38, label %sc37 sc37: %t90 = load ptr, ptr %t81 %t91 = getelementptr inbounds %Cmp_Node, ptr %t90, i32 0, i32 2 %t92 = load i32, ptr %t91 %t93 = icmp sle i32 %t92, 0 %t94 = zext i1 %t93 to i32 %t95 = icmp ne i32 %t94, 0 %t96 = zext i1 %t95 to i32 store i32 %t96, ptr %t82 br label %scend38 scend38: %t97 = load i32, ptr %t82 %t98 = icmp ne i32 %t97, 0 br i1 %t98, label %then39, label %ifend41 then39: call void @fn_perr(ptr @.str930) br label %ifend41 ifend41: %t99 = load ptr, ptr %t81 %t100 = getelementptr inbounds %Cmp_Node, ptr %t99, i32 0, i32 2 %t101 = load i32, ptr %t100 store i32 %t101, ptr %t21 call void @fn_eat_op(ptr @.str931) %t102 = load i32, ptr %t23 %t103 = icmp slt i32 %t102, 0 %t104 = zext i1 %t103 to i32 %t105 = icmp ne i32 %t104, 0 br i1 %t105, label %then42, label %ifend44 then42: %t106 = call i32 @fn_at_group() store i32 %t106, ptr %t23 br label %ifend44 ifend44: %t107 = load i32, ptr %t23 %t108 = load ptr, ptr %t29 %t109 = load i32, ptr %t21 %t110 = call ptr @fn_itoa(i32 %t109) store i32 383, ptr @lp_site %t111 = call ptr @lp_str_concat(ptr @.str932, ptr %t110) store i32 0, ptr @lp_site store i32 384, ptr @lp_site %t112 = call ptr @lp_str_concat(ptr %t111, ptr @.str933) store i32 0, ptr @lp_site call void @lp_free(ptr %t111) %t113 = load i32, ptr %t21 %t114 = call ptr @fn_itoa(i32 %t113) call void @fn_at_push(i32 %t107, ptr %t108, ptr %t112, ptr %t114, i32 1) br label %ifend36 else35: %t115 = load ptr, ptr %t29 %t116 = call i32 @fn_at_field_known(ptr %t115) %t117 = icmp ne i32 %t116, 0 br i1 %t117, label %then45, label %else46 then45: %t118 = load i32, ptr %t23 %t119 = icmp slt i32 %t118, 0 %t120 = zext i1 %t119 to i32 %t121 = icmp ne i32 %t120, 0 br i1 %t121, label %then48, label %ifend50 then48: %t122 = call i32 @fn_at_group() store i32 %t122, ptr %t23 br label %ifend50 ifend50: %t123 = load i32, ptr %t23 %t124 = load ptr, ptr %t29 call void @fn_at_field(i32 %t123, ptr %t124) br label %ifend47 else46: %t125 = call i32 @fn_is_op(ptr @.str934) %t126 = icmp ne i32 %t125, 0 br i1 %t126, label %then51, label %ifend53 then51: store i32 0, ptr %t127 br label %wcond54 wcond54: %t128 = icmp ne i32 1, 0 br i1 %t128, label %wbody55, label %wend56 wbody55: %t129 = call i32 @fn_is_op(ptr @.str935) %t130 = icmp ne i32 %t129, 0 br i1 %t130, label %then57, label %ifend59 then57: %t131 = load i32, ptr %t127 %t132 = add i32 %t131, 1 store i32 %t132, ptr %t127 br label %ifend59 ifend59: %t133 = call i32 @fn_is_op(ptr @.str936) %t134 = icmp ne i32 %t133, 0 br i1 %t134, label %then60, label %ifend62 then60: %t135 = load i32, ptr %t127 %t136 = sub i32 %t135, 1 store i32 %t136, ptr %t127 br label %ifend62 ifend62: %t137 = load i32, ptr @g_pi %t138 = add i32 %t137, 1 store i32 %t138, ptr @g_pi %t139 = load i32, ptr %t127 %t140 = icmp eq i32 %t139, 0 %t141 = zext i1 %t140 to i32 %t142 = icmp ne i32 %t141, 0 br i1 %t142, label %then63, label %ifend65 then63: br label %wend56 ifend65: br label %wcond54 wend56: br label %ifend53 ifend53: br label %ifend47 ifend47: br label %ifend36 ifend36: br label %ifend30 ifend30: br label %ifend18 ifend18: call void @fn_skipnl() br label %wcond9 wend11: %t143 = call ptr @fn_node(i32 1) store ptr %t143, ptr %t144 %t145 = load ptr, ptr %t144 %t146 = getelementptr inbounds %Cmp_Node, ptr %t145, i32 0, i32 1 %t147 = call ptr @fn_eat_id() store ptr %t147, ptr %t146 call void @fn_eat_op(ptr @.str937) %t148 = load ptr, ptr %t144 %t149 = getelementptr inbounds %Cmp_Node, ptr %t148, i32 0, i32 3 %t150 = call ptr @fn_ptype() store ptr %t150, ptr %t149 %t151 = load ptr, ptr %t144 %t152 = getelementptr inbounds %Cmp_Node, ptr %t151, i32 0, i32 19 %t153 = load i32, ptr %t23 store i32 %t153, ptr %t152 %t154 = load i32, ptr %t20 %t155 = icmp ne i32 %t154, 0 br i1 %t155, label %then66, label %ifend68 then66: %t156 = load ptr, ptr @g_g_frame_fields %t157 = load ptr, ptr %t3 %t158 = getelementptr inbounds %Cmp_Node, ptr %t157, i32 0, i32 1 %t159 = load ptr, ptr %t158 store i32 385, ptr @lp_site %t160 = call ptr @lp_str_concat(ptr %t159, ptr @.str938) store i32 0, ptr @lp_site %t161 = load ptr, ptr %t144 %t162 = getelementptr inbounds %Cmp_Node, ptr %t161, i32 0, i32 1 %t163 = load ptr, ptr %t162 store i32 386, ptr @lp_site %t164 = call ptr @lp_str_concat(ptr %t160, ptr %t163) store i32 0, ptr @lp_site call void @lp_free(ptr %t160) %t165 = getelementptr inbounds %LSlice, ptr %t156, i32 0, i32 1 %t166 = getelementptr inbounds %LSlice, ptr %t156, i32 0, i32 2 %t167 = getelementptr inbounds %LSlice, ptr %t156, i32 0, i32 0 %t168 = load i32, ptr %t165 %t169 = load i32, ptr %t166 %t170 = icmp sge i32 %t168, %t169 br i1 %t170, label %grow69, label %put70 grow69: %t171 = mul i32 %t169, 2 %t172 = icmp eq i32 %t169, 0 %t173 = select i1 %t172, i32 8, i32 %t171 %t174 = getelementptr ptr, ptr null, i32 1 %t175 = ptrtoint ptr %t174 to i64 %t176 = zext i32 %t173 to i64 %t177 = mul i64 %t176, %t175 %t178 = load ptr, ptr %t167 store i32 387, ptr @lp_site %t179 = call ptr @lp_realloc(ptr %t178, i64 %t177) store i32 0, ptr @lp_site store ptr %t179, ptr %t167 store i32 %t173, ptr %t166 br label %put70 put70: %t180 = load ptr, ptr %t167 %t181 = getelementptr inbounds ptr, ptr %t180, i32 %t168 store ptr %t164, ptr %t181 %t182 = add i32 %t168, 1 store i32 %t182, ptr %t165 br label %ifend68 ifend68: %t183 = load i32, ptr %t21 %t184 = icmp sgt i32 %t183, 0 %t185 = zext i1 %t184 to i32 %t186 = icmp ne i32 %t185, 0 br i1 %t186, label %then71, label %ifend73 then71: %t187 = load ptr, ptr @g_g_cap_keys %t188 = load ptr, ptr %t3 %t189 = getelementptr inbounds %Cmp_Node, ptr %t188, i32 0, i32 1 %t190 = load ptr, ptr %t189 store i32 388, ptr @lp_site %t191 = call ptr @lp_str_concat(ptr %t190, ptr @.str939) store i32 0, ptr @lp_site %t192 = load ptr, ptr %t144 %t193 = getelementptr inbounds %Cmp_Node, ptr %t192, i32 0, i32 1 %t194 = load ptr, ptr %t193 store i32 389, ptr @lp_site %t195 = call ptr @lp_str_concat(ptr %t191, ptr %t194) store i32 0, ptr @lp_site call void @lp_free(ptr %t191) %t196 = getelementptr inbounds %LSlice, ptr %t187, i32 0, i32 1 %t197 = getelementptr inbounds %LSlice, ptr %t187, i32 0, i32 2 %t198 = getelementptr inbounds %LSlice, ptr %t187, i32 0, i32 0 %t199 = load i32, ptr %t196 %t200 = load i32, ptr %t197 %t201 = icmp sge i32 %t199, %t200 br i1 %t201, label %grow74, label %put75 grow74: %t202 = mul i32 %t200, 2 %t203 = icmp eq i32 %t200, 0 %t204 = select i1 %t203, i32 8, i32 %t202 %t205 = getelementptr ptr, ptr null, i32 1 %t206 = ptrtoint ptr %t205 to i64 %t207 = zext i32 %t204 to i64 %t208 = mul i64 %t207, %t206 %t209 = load ptr, ptr %t198 store i32 390, ptr @lp_site %t210 = call ptr @lp_realloc(ptr %t209, i64 %t208) store i32 0, ptr @lp_site store ptr %t210, ptr %t198 store i32 %t204, ptr %t197 br label %put75 put75: %t211 = load ptr, ptr %t198 %t212 = getelementptr inbounds ptr, ptr %t211, i32 %t199 store ptr %t195, ptr %t212 %t213 = add i32 %t199, 1 store i32 %t213, ptr %t196 %t214 = load ptr, ptr @g_g_cap_vals %t215 = load i32, ptr %t21 %t216 = getelementptr inbounds %LSlice, ptr %t214, i32 0, i32 1 %t217 = getelementptr inbounds %LSlice, ptr %t214, i32 0, i32 2 %t218 = getelementptr inbounds %LSlice, ptr %t214, i32 0, i32 0 %t219 = load i32, ptr %t216 %t220 = load i32, ptr %t217 %t221 = icmp sge i32 %t219, %t220 br i1 %t221, label %grow76, label %put77 grow76: %t222 = mul i32 %t220, 2 %t223 = icmp eq i32 %t220, 0 %t224 = select i1 %t223, i32 8, i32 %t222 %t225 = getelementptr i32, ptr null, i32 1 %t226 = ptrtoint ptr %t225 to i64 %t227 = zext i32 %t224 to i64 %t228 = mul i64 %t227, %t226 %t229 = load ptr, ptr %t218 store i32 391, ptr @lp_site %t230 = call ptr @lp_realloc(ptr %t229, i64 %t228) store i32 0, ptr @lp_site store ptr %t230, ptr %t218 store i32 %t224, ptr %t217 br label %put77 put77: %t231 = load ptr, ptr %t218 %t232 = getelementptr inbounds i32, ptr %t231, i32 %t219 store i32 %t215, ptr %t232 %t233 = add i32 %t219, 1 store i32 %t233, ptr %t216 br label %ifend73 ifend73: %t234 = load ptr, ptr @g_g_own_pending %t235 = icmp ne ptr %t234, null %t236 = zext i1 %t235 to i32 %t237 = icmp ne i32 %t236, 0 br i1 %t237, label %then78, label %ifend80 then78: %t238 = load ptr, ptr @g_g_own_type %t239 = load ptr, ptr %t3 %t240 = getelementptr inbounds %Cmp_Node, ptr %t239, i32 0, i32 1 %t241 = load ptr, ptr %t240 %t242 = getelementptr inbounds %LSlice, ptr %t238, i32 0, i32 1 %t243 = getelementptr inbounds %LSlice, ptr %t238, i32 0, i32 2 %t244 = getelementptr inbounds %LSlice, ptr %t238, i32 0, i32 0 %t245 = load i32, ptr %t242 %t246 = load i32, ptr %t243 %t247 = icmp sge i32 %t245, %t246 br i1 %t247, label %grow81, label %put82 grow81: %t248 = mul i32 %t246, 2 %t249 = icmp eq i32 %t246, 0 %t250 = select i1 %t249, i32 8, i32 %t248 %t251 = getelementptr ptr, ptr null, i32 1 %t252 = ptrtoint ptr %t251 to i64 %t253 = zext i32 %t250 to i64 %t254 = mul i64 %t253, %t252 %t255 = load ptr, ptr %t244 store i32 392, ptr @lp_site %t256 = call ptr @lp_realloc(ptr %t255, i64 %t254) store i32 0, ptr @lp_site store ptr %t256, ptr %t244 store i32 %t250, ptr %t243 br label %put82 put82: %t257 = load ptr, ptr %t244 %t258 = getelementptr inbounds ptr, ptr %t257, i32 %t245 store ptr %t241, ptr %t258 %t259 = add i32 %t245, 1 store i32 %t259, ptr %t242 %t260 = load ptr, ptr @g_g_own_field %t261 = load ptr, ptr %t144 %t262 = getelementptr inbounds %Cmp_Node, ptr %t261, i32 0, i32 1 %t263 = load ptr, ptr %t262 %t264 = getelementptr inbounds %LSlice, ptr %t260, i32 0, i32 1 %t265 = getelementptr inbounds %LSlice, ptr %t260, i32 0, i32 2 %t266 = getelementptr inbounds %LSlice, ptr %t260, i32 0, i32 0 %t267 = load i32, ptr %t264 %t268 = load i32, ptr %t265 %t269 = icmp sge i32 %t267, %t268 br i1 %t269, label %grow83, label %put84 grow83: %t270 = mul i32 %t268, 2 %t271 = icmp eq i32 %t268, 0 %t272 = select i1 %t271, i32 8, i32 %t270 %t273 = getelementptr ptr, ptr null, i32 1 %t274 = ptrtoint ptr %t273 to i64 %t275 = zext i32 %t272 to i64 %t276 = mul i64 %t275, %t274 %t277 = load ptr, ptr %t266 store i32 393, ptr @lp_site %t278 = call ptr @lp_realloc(ptr %t277, i64 %t276) store i32 0, ptr @lp_site store ptr %t278, ptr %t266 store i32 %t272, ptr %t265 br label %put84 put84: %t279 = load ptr, ptr %t266 %t280 = getelementptr inbounds ptr, ptr %t279, i32 %t267 store ptr %t263, ptr %t280 %t281 = add i32 %t267, 1 store i32 %t281, ptr %t264 %t282 = load ptr, ptr @g_g_own_kind %t283 = load ptr, ptr @g_g_own_pending %t284 = getelementptr inbounds %LSlice, ptr %t282, i32 0, i32 1 %t285 = getelementptr inbounds %LSlice, ptr %t282, i32 0, i32 2 %t286 = getelementptr inbounds %LSlice, ptr %t282, i32 0, i32 0 %t287 = load i32, ptr %t284 %t288 = load i32, ptr %t285 %t289 = icmp sge i32 %t287, %t288 br i1 %t289, label %grow85, label %put86 grow85: %t290 = mul i32 %t288, 2 %t291 = icmp eq i32 %t288, 0 %t292 = select i1 %t291, i32 8, i32 %t290 %t293 = getelementptr ptr, ptr null, i32 1 %t294 = ptrtoint ptr %t293 to i64 %t295 = zext i32 %t292 to i64 %t296 = mul i64 %t295, %t294 %t297 = load ptr, ptr %t286 store i32 394, ptr @lp_site %t298 = call ptr @lp_realloc(ptr %t297, i64 %t296) store i32 0, ptr @lp_site store ptr %t298, ptr %t286 store i32 %t292, ptr %t285 br label %put86 put86: %t299 = load ptr, ptr %t286 %t300 = getelementptr inbounds ptr, ptr %t299, i32 %t287 store ptr %t283, ptr %t300 %t301 = add i32 %t287, 1 store i32 %t301, ptr %t284 store ptr null, ptr @g_g_own_pending br label %ifend80 ifend80: %t302 = call i32 @fn_is_op(ptr @.str940) %t303 = icmp ne i32 %t302, 0 br i1 %t303, label %then87, label %ifend89 then87: %t304 = load i32, ptr @g_pi %t305 = add i32 %t304, 1 store i32 %t305, ptr @g_pi %t306 = load i32, ptr @g_pi store i32 %t306, ptr %t307 %t308 = load ptr, ptr %t144 %t309 = getelementptr inbounds %Cmp_Node, ptr %t308, i32 0, i32 4 %t310 = call ptr @fn_expr() store ptr %t310, ptr %t309 %t311 = load ptr, ptr %t144 %t312 = getelementptr inbounds %Cmp_Node, ptr %t311, i32 0, i32 20 %t313 = load ptr, ptr @g_toks %t314 = load i32, ptr %t307 %t315 = getelementptr inbounds %LSlice, ptr %t313, i32 0, i32 0 %t316 = load ptr, ptr %t315 %t317 = getelementptr inbounds %LSlice, ptr %t313, i32 0, i32 1 %t318 = load i32, ptr %t317 %t319 = icmp ult i32 %t314, %t318 br i1 %t319, label %ixok90, label %ixbad91 ixbad91: store i32 395, ptr @lp_site %t320 = call ptr @lp_win_stdio(i32 2) store i32 0, ptr @lp_site call i32 (ptr, ptr, ...) @fprintf(ptr %t320, ptr @.fmt_bounds, ptr @.str941, i32 %t314, i32 %t318) call void @exit(i32 1) unreachable ixok90: %t321 = getelementptr inbounds ptr, ptr %t316, i32 %t314 %t322 = load ptr, ptr %t321 %t323 = getelementptr inbounds %Cmp_Tok, ptr %t322, i32 0, i32 7 %t324 = load i32, ptr %t323 store i32 %t324, ptr %t312 %t325 = load ptr, ptr %t144 %t326 = getelementptr inbounds %Cmp_Node, ptr %t325, i32 0, i32 21 %t327 = load ptr, ptr @g_toks %t328 = load i32, ptr @g_pi %t329 = sub i32 %t328, 1 %t330 = getelementptr inbounds %LSlice, ptr %t327, i32 0, i32 0 %t331 = load ptr, ptr %t330 %t332 = getelementptr inbounds %LSlice, ptr %t327, i32 0, i32 1 %t333 = load i32, ptr %t332 %t334 = icmp ult i32 %t329, %t333 br i1 %t334, label %ixok92, label %ixbad93 ixbad93: store i32 396, ptr @lp_site %t335 = call ptr @lp_win_stdio(i32 2) store i32 0, ptr @lp_site call i32 (ptr, ptr, ...) @fprintf(ptr %t335, ptr @.fmt_bounds, ptr @.str942, i32 %t329, i32 %t333) call void @exit(i32 1) unreachable ixok92: %t336 = getelementptr inbounds ptr, ptr %t331, i32 %t329 %t337 = load ptr, ptr %t336 %t338 = getelementptr inbounds %Cmp_Tok, ptr %t337, i32 0, i32 8 %t339 = load i32, ptr %t338 store i32 %t339, ptr %t326 br label %ifend89 ifend89: %t340 = load i32, ptr %t19 %t341 = icmp ne i32 %t340, 0 br i1 %t341, label %then94, label %ifend96 then94: %t342 = load ptr, ptr %t144 %t343 = getelementptr inbounds %Cmp_Node, ptr %t342, i32 0, i32 2 store i32 1, ptr %t343 br label %ifend96 ifend96: %t344 = load i32, ptr %t18 %t345 = icmp ne i32 %t344, 0 br i1 %t345, label %then97, label %else98 then97: %t346 = load ptr, ptr %t3 %t347 = getelementptr inbounds %Cmp_Node, ptr %t346, i32 0, i32 1 %t348 = load ptr, ptr %t347 %t349 = load ptr, ptr %t144 %t350 = getelementptr inbounds %Cmp_Node, ptr %t349, i32 0, i32 1 %t351 = load ptr, ptr %t350 %t352 = load ptr, ptr %t144 %t353 = getelementptr inbounds %Cmp_Node, ptr %t352, i32 0, i32 3 %t354 = load ptr, ptr %t353 %t355 = load ptr, ptr %t144 %t356 = getelementptr inbounds %Cmp_Node, ptr %t355, i32 0, i32 4 %t357 = load ptr, ptr %t356 call void @fn_register_computed(ptr %t348, ptr %t351, ptr %t354, ptr %t357) br label %ifend99 else98: %t358 = load ptr, ptr %t3 %t359 = getelementptr inbounds %Cmp_Node, ptr %t358, i32 0, i32 7 %t360 = load ptr, ptr %t359 %t361 = load ptr, ptr %t144 %t362 = getelementptr inbounds %LSlice, ptr %t360, i32 0, i32 1 %t363 = getelementptr inbounds %LSlice, ptr %t360, i32 0, i32 2 %t364 = getelementptr inbounds %LSlice, ptr %t360, i32 0, i32 0 %t365 = load i32, ptr %t362 %t366 = load i32, ptr %t363 %t367 = icmp sge i32 %t365, %t366 br i1 %t367, label %grow100, label %put101 grow100: %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 store i32 397, ptr @lp_site %t376 = call ptr @lp_realloc(ptr %t375, i64 %t374) store i32 0, ptr @lp_site store ptr %t376, ptr %t364 store i32 %t370, ptr %t363 br label %put101 put101: %t377 = load ptr, ptr %t364 %t378 = getelementptr inbounds ptr, ptr %t377, i32 %t365 store ptr %t361, ptr %t378 %t379 = add i32 %t365, 1 store i32 %t379, ptr %t362 br label %ifend99 ifend99: %t380 = call i32 @fn_is_op(ptr @.str943) %t381 = icmp ne i32 %t380, 0 br i1 %t381, label %then102, label %ifend104 then102: %t382 = load i32, ptr @g_pi %t383 = add i32 %t382, 1 store i32 %t383, ptr @g_pi br label %ifend104 ifend104: br label %wcond3 wend5: call void @fn_eat_op(ptr @.str944) call void @fn_gen_enter(ptr null) %t384 = load ptr, ptr %t3 store ptr %t384, ptr %retval br label %ret ret: %t385 = load ptr, ptr %retval ret ptr %t385 } define ptr @fn_parse_event() { entry: %retval = alloca ptr %t3 = alloca ptr %t17 = alloca ptr %t29 = 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 48) store ptr %t2, ptr %t3 %t4 = call i32 @fn_is_id(ptr @.str945) %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 @.str946) 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 @.str947) %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 @.str948) %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 @.str949) %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 i32, ptr @g_pi store i32 %t28, ptr %t29 %t30 = load ptr, ptr %t17 %t31 = getelementptr inbounds %Cmp_Node, ptr %t30, i32 0, i32 4 %t32 = call ptr @fn_expr() store ptr %t32, ptr %t31 %t33 = load ptr, ptr %t17 %t34 = getelementptr inbounds %Cmp_Node, ptr %t33, i32 0, i32 20 %t35 = load ptr, ptr @g_toks %t36 = load i32, ptr %t29 %t37 = getelementptr inbounds %LSlice, ptr %t35, i32 0, i32 0 %t38 = load ptr, ptr %t37 %t39 = getelementptr inbounds %LSlice, ptr %t35, i32 0, i32 1 %t40 = load i32, ptr %t39 %t41 = icmp ult i32 %t36, %t40 br i1 %t41, label %ixok12, label %ixbad13 ixbad13: store i32 398, ptr @lp_site %t42 = call ptr @lp_win_stdio(i32 2) store i32 0, ptr @lp_site call i32 (ptr, ptr, ...) @fprintf(ptr %t42, ptr @.fmt_bounds, ptr @.str950, i32 %t36, i32 %t40) call void @exit(i32 1) unreachable ixok12: %t43 = getelementptr inbounds ptr, ptr %t38, i32 %t36 %t44 = load ptr, ptr %t43 %t45 = getelementptr inbounds %Cmp_Tok, ptr %t44, i32 0, i32 7 %t46 = load i32, ptr %t45 store i32 %t46, ptr %t34 %t47 = load ptr, ptr %t17 %t48 = getelementptr inbounds %Cmp_Node, ptr %t47, i32 0, i32 21 %t49 = load ptr, ptr @g_toks %t50 = load i32, ptr @g_pi %t51 = sub i32 %t50, 1 %t52 = getelementptr inbounds %LSlice, ptr %t49, i32 0, i32 0 %t53 = load ptr, ptr %t52 %t54 = getelementptr inbounds %LSlice, ptr %t49, i32 0, i32 1 %t55 = load i32, ptr %t54 %t56 = icmp ult i32 %t51, %t55 br i1 %t56, label %ixok14, label %ixbad15 ixbad15: store i32 399, ptr @lp_site %t57 = call ptr @lp_win_stdio(i32 2) store i32 0, ptr @lp_site call i32 (ptr, ptr, ...) @fprintf(ptr %t57, ptr @.fmt_bounds, ptr @.str952, i32 %t51, i32 %t55) call void @exit(i32 1) unreachable ixok14: %t58 = getelementptr inbounds ptr, ptr %t53, i32 %t51 %t59 = load ptr, ptr %t58 %t60 = getelementptr inbounds %Cmp_Tok, ptr %t59, i32 0, i32 8 %t61 = load i32, ptr %t60 store i32 %t61, ptr %t48 br label %ifend11 ifend11: %t62 = load ptr, ptr %t3 %t63 = getelementptr inbounds %Cmp_Node, ptr %t62, i32 0, i32 7 %t64 = load ptr, ptr %t63 %t65 = load ptr, ptr %t17 %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 %grow16, label %put17 grow16: %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 store i32 400, ptr @lp_site %t80 = call ptr @lp_realloc(ptr %t79, i64 %t78) store i32 0, ptr @lp_site store ptr %t80, ptr %t68 store i32 %t74, ptr %t67 br label %put17 put17: %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 %t84 = call i32 @fn_is_op(ptr @.str953) %t85 = icmp ne i32 %t84, 0 br i1 %t85, label %then18, label %ifend20 then18: %t86 = load i32, ptr @g_pi %t87 = add i32 %t86, 1 store i32 %t87, ptr @g_pi br label %ifend20 ifend20: br label %wcond3 wend5: call void @fn_eat_op(ptr @.str954) %t88 = load ptr, ptr %t3 store ptr %t88, ptr %retval br label %ret ret: %t89 = load ptr, ptr %retval ret ptr %t89 } define ptr @fn_parse_system() { entry: %retval = alloca ptr %t3 = alloca ptr %t25 = alloca ptr %t32 = alloca ptr %t35 = 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 @.str955, ptr %t8 %t9 = load ptr, ptr %t3 %t10 = getelementptr inbounds %Cmp_Node, ptr %t9, i32 0, i32 14 %t11 = load ptr, ptr @g_toks %t12 = load i32, ptr @g_pi %t13 = sub i32 %t12, 1 %t14 = getelementptr inbounds %LSlice, ptr %t11, i32 0, i32 0 %t15 = load ptr, ptr %t14 %t16 = getelementptr inbounds %LSlice, ptr %t11, i32 0, i32 1 %t17 = load i32, ptr %t16 %t18 = icmp ult i32 %t13, %t17 br i1 %t18, label %ixok0, label %ixbad1 ixbad1: store i32 401, ptr @lp_site %t19 = call ptr @lp_win_stdio(i32 2) store i32 0, ptr @lp_site call i32 (ptr, ptr, ...) @fprintf(ptr %t19, ptr @.fmt_bounds, ptr @.str956, i32 %t13, i32 %t17) call void @exit(i32 1) unreachable ixok0: %t20 = getelementptr inbounds ptr, ptr %t15, i32 %t13 %t21 = load ptr, ptr %t20 %t22 = getelementptr inbounds %Cmp_Tok, ptr %t21, i32 0, i32 5 %t23 = load i32, ptr %t22 store i32 %t23, ptr %t10 %t24 = call ptr @fn_parse_entry_params() store ptr %t24, ptr %t25 br label %wcond2 wcond2: %t26 = icmp ne i32 1, 0 br i1 %t26, label %wbody3, label %wend4 wbody3: call void @fn_skipnl() %t27 = call i32 @fn_is_op(ptr @.str958) %t28 = icmp ne i32 %t27, 0 br i1 %t28, label %then5, label %ifend7 then5: %t29 = load i32, ptr @g_pi %t30 = add i32 %t29, 1 store i32 %t30, ptr @g_pi %t31 = call ptr @fn_eat_id() store ptr %t31, ptr %t32 %t33 = call i32 @fn_is_op(ptr @.str959) %t34 = icmp ne i32 %t33, 0 br i1 %t34, label %then8, label %ifend10 then8: store i32 0, ptr %t35 br label %wcond11 wcond11: %t36 = icmp ne i32 1, 0 br i1 %t36, label %wbody12, label %wend13 wbody12: %t37 = call i32 @fn_is_op(ptr @.str960) %t38 = icmp ne i32 %t37, 0 br i1 %t38, label %then14, label %ifend16 then14: %t39 = load i32, ptr %t35 %t40 = add i32 %t39, 1 store i32 %t40, ptr %t35 br label %ifend16 ifend16: %t41 = call i32 @fn_is_op(ptr @.str961) %t42 = icmp ne i32 %t41, 0 br i1 %t42, label %then17, label %ifend19 then17: %t43 = load i32, ptr %t35 %t44 = sub i32 %t43, 1 store i32 %t44, ptr %t35 br label %ifend19 ifend19: %t45 = load i32, ptr @g_pi %t46 = add i32 %t45, 1 store i32 %t46, ptr @g_pi %t47 = load i32, ptr %t35 %t48 = icmp eq i32 %t47, 0 %t49 = zext i1 %t48 to i32 %t50 = icmp ne i32 %t49, 0 br i1 %t50, label %then20, label %ifend22 then20: br label %wend13 ifend22: br label %wcond11 wend13: br label %ifend10 ifend10: br label %wcond2 ifend7: %t51 = call i32 @fn_is_id(ptr @.str962) %t52 = icmp ne i32 %t51, 0 br i1 %t52, label %then23, label %ifend25 then23: %t53 = load i32, ptr @g_pi %t54 = add i32 %t53, 1 store i32 %t54, ptr @g_pi %t55 = load ptr, ptr %t3 %t56 = getelementptr inbounds %Cmp_Node, ptr %t55, i32 0, i32 3 %t57 = call ptr @fn_eat_id() store ptr %t57, ptr %t56 %t58 = load ptr, ptr %t3 %t59 = getelementptr inbounds %Cmp_Node, ptr %t58, i32 0, i32 3 %t60 = load ptr, ptr %t59 %t61 = call i32 @fn_is_phase_name(ptr %t60) %t62 = icmp eq i32 %t61, 0 %t63 = zext i1 %t62 to i32 %t64 = icmp ne i32 %t63, 0 br i1 %t64, label %then26, label %ifend28 then26: %t65 = load ptr, ptr %t3 %t66 = getelementptr inbounds %Cmp_Node, ptr %t65, i32 0, i32 3 %t67 = load ptr, ptr %t66 store i32 402, ptr @lp_site %t68 = call ptr @lp_str_concat(ptr @.str963, ptr %t67) store i32 0, ptr @lp_site store i32 403, ptr @lp_site %t69 = call ptr @lp_str_concat(ptr %t68, ptr @.str964) store i32 0, ptr @lp_site call void @lp_free(ptr %t68) call void @fn_perr(ptr %t69) br label %ifend28 ifend28: br label %wcond2 ifend25: br label %wend4 wend4: call void @fn_skipnl() %t70 = load ptr, ptr %t3 %t71 = getelementptr inbounds %Cmp_Node, ptr %t70, i32 0, i32 4 %t72 = call ptr @fn_block() store ptr %t72, ptr %t71 %t73 = load ptr, ptr %t3 %t74 = getelementptr inbounds %Cmp_Node, ptr %t73, i32 0, i32 4 %t75 = load ptr, ptr %t74 %t76 = getelementptr inbounds %Cmp_Node, ptr %t75, i32 0, i32 14 %t77 = load ptr, ptr %t3 %t78 = getelementptr inbounds %Cmp_Node, ptr %t77, i32 0, i32 14 %t79 = load i32, ptr %t78 store i32 %t79, ptr %t76 %t80 = load ptr, ptr %t3 %t81 = getelementptr inbounds %Cmp_Node, ptr %t80, i32 0, i32 4 %t82 = load ptr, ptr %t81 %t83 = load ptr, ptr %t25 call void @fn_entry_bind(ptr %t82, ptr %t83) %t84 = load ptr, ptr %t3 store ptr %t84, ptr %retval br label %ret ret: %t85 = load ptr, ptr %retval ret ptr %t85 } 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 @.str965) %t0 = call ptr @fn_node(i32 7) store ptr %t0, ptr %t1 br label %wcond0 wcond0: %t2 = call i32 @fn_is_op(ptr @.str966) %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 @.str967) %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 store i32 404, ptr @lp_site %t35 = call ptr @lp_realloc(ptr %t34, i64 %t33) store i32 0, ptr @lp_site 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 @.str969) 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 store i32 405, ptr @lp_site %t64 = call ptr @lp_realloc(ptr %t63, i64 %t62) store i32 0, ptr @lp_site 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 @.str970) %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 @.str971) %t72 = call i32 @fn_is_id(ptr @.str972) %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 @.str973) br label %wcond0 wcond0: %t2 = call i32 @fn_is_op(ptr @.str974) %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 store i32 406, ptr @lp_site %t29 = call ptr @lp_realloc(ptr %t28, i64 %t27) store i32 0, ptr @lp_site 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 @.str976) %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 @.str977) %t37 = call ptr @fn_eat_id() store ptr %t37, ptr %t38 %t39 = call i32 @fn_is_id(ptr @.str978) %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 @.str979) 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 @.str980, 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 @.str981) %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 @.str982) %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 @.str983) %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 @.str984) %t13 = load ptr, ptr %t12 %t14 = call i32 @lp_str_eq(ptr %t13, ptr @.str985) %t15 = icmp ne i32 %t14, 0 br i1 %t15, label %then6, label %else7 then6: call void @fn_eat_op(ptr @.str986) call void @fn_skipnl() br label %wcond9 wcond9: %t16 = call i32 @fn_is_op(ptr @.str987) %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 store i32 407, ptr @lp_site %t45 = call ptr @lp_realloc(ptr %t44, i64 %t43) store i32 0, ptr @lp_site 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 store i32 408, ptr @lp_site %t74 = call ptr @lp_realloc(ptr %t73, i64 %t72) store i32 0, ptr @lp_site 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 @.str989) %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 @.str990) %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 @.str991) %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 @.str992) br label %ifend8 else7: %t98 = load ptr, ptr %t12 %t99 = call i32 @lp_str_eq(ptr %t98, ptr @.str993) %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 store i32 409, ptr @lp_site %t128 = call ptr @lp_realloc(ptr %t127, i64 %t126) store i32 0, ptr @lp_site 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 @.str994) %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 @.str995) %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 @.str996) %t7 = load ptr, ptr %t3 call void @fn_parse_component_records(ptr %t7) call void @fn_eat_op(ptr @.str997) %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 @.str998) %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 store i32 410, ptr @lp_site %t30 = call ptr @lp_realloc(ptr %t29, i64 %t28) store i32 0, ptr @lp_site 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 @.str1000) %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 @.str1001) %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 @.str1002) %t10 = load ptr, ptr %t3 call void @fn_parse_component_records(ptr %t10) call void @fn_eat_op(ptr @.str1003) %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 %t117 = alloca i32 %t119 = alloca ptr %t120 = alloca ptr %t149 = alloca ptr %t161 = alloca ptr %t168 = alloca ptr %t174 = alloca ptr %t187 = alloca ptr %t198 = 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 @.str1004) %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 @.str1005) %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 @.str1006) %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 @.str1007) %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 @.str1008) %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 @.str1009) %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 @.str1010) %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 @.str1011) %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 @.str1012) %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 @.str1013) 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 @.str1014) %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 @.str1015) %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 @.str1016) 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 store i32 411, ptr @lp_site %t88 = call ptr @lp_str_concat(ptr @.str1017, ptr %t87) store i32 0, ptr @lp_site store i32 412, ptr @lp_site %t89 = call ptr @lp_str_concat(ptr %t88, ptr @.str1019) store i32 0, ptr @lp_site call void @lp_free(ptr %t88) 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 store i32 413, ptr @lp_site %t93 = call ptr @lp_str_concat(ptr @.str1020, ptr %t92) store i32 0, ptr @lp_site store i32 414, ptr @lp_site %t94 = call ptr @lp_str_concat(ptr %t93, ptr @.str1021) store i32 0, ptr @lp_site call void @lp_free(ptr %t93) call void @fn_ensure_event_empty(ptr %t94) br label %ifend31 ifend31: call void @fn_skipnl() call void @fn_eat_op(ptr @.str1022) 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 @.str1023) %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 @.str1024) %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 %t104 = load ptr, ptr @g_toks %t105 = load i32, ptr @g_pi %t106 = sub i32 %t105, 1 %t107 = getelementptr inbounds %LSlice, ptr %t104, i32 0, i32 0 %t108 = load ptr, ptr %t107 %t109 = getelementptr inbounds %LSlice, ptr %t104, i32 0, i32 1 %t110 = load i32, ptr %t109 %t111 = icmp ult i32 %t106, %t110 br i1 %t111, label %ixok41, label %ixbad42 ixbad42: store i32 415, ptr @lp_site %t112 = call ptr @lp_win_stdio(i32 2) store i32 0, ptr @lp_site call i32 (ptr, ptr, ...) @fprintf(ptr %t112, ptr @.fmt_bounds, ptr @.str1025, i32 %t106, i32 %t110) call void @exit(i32 1) unreachable ixok41: %t113 = getelementptr inbounds ptr, ptr %t108, i32 %t106 %t114 = load ptr, ptr %t113 %t115 = getelementptr inbounds %Cmp_Tok, ptr %t114, i32 0, i32 5 %t116 = load i32, ptr %t115 store i32 %t116, ptr %t117 %t118 = call ptr @fn_parse_entry_params() store ptr %t118, ptr %t119 call void @fn_skipnl() store ptr null, ptr %t120 %t121 = load ptr, ptr %t103 %t122 = call i32 @lp_str_eq(ptr %t121, ptr @.str1026) %t123 = icmp ne i32 %t122, 0 br i1 %t123, label %then43, label %else44 then43: %t124 = load ptr, ptr %t3 %t125 = getelementptr inbounds %Cmp_Node, ptr %t124, i32 0, i32 4 %t126 = call ptr @fn_block() store ptr %t126, ptr %t125 %t127 = load ptr, ptr %t3 %t128 = getelementptr inbounds %Cmp_Node, ptr %t127, i32 0, i32 4 %t129 = load ptr, ptr %t128 store ptr %t129, ptr %t120 br label %ifend45 else44: %t130 = load ptr, ptr %t103 %t131 = call i32 @lp_str_eq(ptr %t130, ptr @.str1027) %t132 = icmp ne i32 %t131, 0 br i1 %t132, label %then46, label %else47 then46: %t133 = load ptr, ptr %t3 %t134 = getelementptr inbounds %Cmp_Node, ptr %t133, i32 0, i32 5 %t135 = call ptr @fn_block() store ptr %t135, ptr %t134 %t136 = load ptr, ptr %t3 %t137 = getelementptr inbounds %Cmp_Node, ptr %t136, i32 0, i32 5 %t138 = load ptr, ptr %t137 store ptr %t138, ptr %t120 br label %ifend48 else47: call void @fn_perr(ptr @.str1028) br label %ifend48 ifend48: br label %ifend45 ifend45: %t139 = load ptr, ptr %t120 %t140 = getelementptr inbounds %Cmp_Node, ptr %t139, i32 0, i32 14 %t141 = load i32, ptr %t117 store i32 %t141, ptr %t140 %t142 = load ptr, ptr %t120 %t143 = load ptr, ptr %t119 call void @fn_entry_bind(ptr %t142, ptr %t143) br label %wcond32 ifend40: %t144 = call i32 @fn_is_id(ptr @.str1029) %t145 = icmp ne i32 %t144, 0 br i1 %t145, label %then49, label %ifend51 then49: %t146 = load i32, ptr @g_pi %t147 = add i32 %t146, 1 store i32 %t147, ptr @g_pi %t148 = call ptr @fn_eat_id() store ptr %t148, ptr %t149 %t150 = call i32 @fn_is_id(ptr @.str1030) %t151 = icmp ne i32 %t150, 0 br i1 %t151, label %then52, label %ifend54 then52: %t152 = load i32, ptr @g_pi %t153 = add i32 %t152, 1 store i32 %t153, ptr @g_pi %t154 = load ptr, ptr %t149 store i32 416, ptr @lp_site %t155 = call ptr @lp_str_concat(ptr @.str1031, ptr %t154) store i32 0, ptr @lp_site store i32 417, ptr @lp_site %t156 = call ptr @lp_str_concat(ptr %t155, ptr @.str1032) store i32 0, ptr @lp_site call void @lp_free(ptr %t155) call void @fn_ensure_event_empty(ptr %t156) %t157 = load ptr, ptr %t149 store i32 418, ptr @lp_site %t158 = call ptr @lp_str_concat(ptr @.str1033, ptr %t157) store i32 0, ptr @lp_site store i32 419, ptr @lp_site %t159 = call ptr @lp_str_concat(ptr %t158, ptr @.str1034) store i32 0, ptr @lp_site call void @lp_free(ptr %t158) call void @fn_ensure_event_empty(ptr %t159) br label %ifend54 ifend54: call void @fn_skipnl() call void @fn_eat_op(ptr @.str1035) %t160 = call ptr @fn_node(i32 33) store ptr %t160, ptr %t161 %t162 = load ptr, ptr %t161 %t163 = getelementptr inbounds %Cmp_Node, ptr %t162, i32 0, i32 1 %t164 = load ptr, ptr %t149 store ptr %t164, ptr %t163 br label %wcond55 wcond55: %t165 = icmp ne i32 1, 0 br i1 %t165, label %wbody56, label %wend57 wbody56: call void @fn_skipnl() %t166 = call i32 @fn_is_op(ptr @.str1036) %t167 = icmp ne i32 %t166, 0 br i1 %t167, label %then58, label %ifend60 then58: br label %wend57 ifend60: store ptr null, ptr %t168 br label %wcond61 wcond61: %t169 = call i32 @fn_is_op(ptr @.str1037) %t170 = icmp ne i32 %t169, 0 br i1 %t170, label %wbody62, label %wend63 wbody62: %t171 = load i32, ptr @g_pi %t172 = add i32 %t171, 1 store i32 %t172, ptr @g_pi %t173 = call ptr @fn_eat_id() store ptr %t173, ptr %t174 %t175 = load ptr, ptr %t174 %t176 = call i32 @lp_str_eq(ptr %t175, ptr @.str1038) %t177 = icmp ne i32 %t176, 0 br i1 %t177, label %then64, label %else65 then64: %t178 = call ptr @fn_parse_queries_anno() store ptr %t178, ptr %t168 br label %ifend66 else65: %t179 = load ptr, ptr %t174 store i32 420, ptr @lp_site %t180 = call ptr @lp_str_concat(ptr @.str1039, ptr %t179) store i32 0, ptr @lp_site store i32 421, ptr @lp_site %t181 = call ptr @lp_str_concat(ptr %t180, ptr @.str1040) store i32 0, ptr @lp_site call void @lp_free(ptr %t180) call void @fn_perr(ptr %t181) br label %ifend66 ifend66: call void @fn_skipnl() br label %wcond61 wend63: %t182 = call i32 @fn_is_id(ptr @.str1041) %t183 = icmp eq i32 %t182, 0 %t184 = zext i1 %t183 to i32 %t185 = icmp ne i32 %t184, 0 br i1 %t185, label %then67, label %ifend69 then67: call void @fn_perr(ptr @.str1042) br label %ifend69 ifend69: %t186 = call ptr @fn_parse_system() store ptr %t186, ptr %t187 %t188 = load ptr, ptr %t168 %t189 = icmp ne ptr %t188, null %t190 = zext i1 %t189 to i32 %t191 = icmp ne i32 %t190, 0 br i1 %t191, label %then70, label %ifend72 then70: %t192 = load ptr, ptr %t168 %t193 = getelementptr inbounds %Cmp_Node, ptr %t192, i32 0, i32 4 %t194 = load ptr, ptr %t187 %t195 = getelementptr inbounds %Cmp_Node, ptr %t194, i32 0, i32 4 %t196 = load ptr, ptr %t195 store ptr %t196, ptr %t193 %t197 = call ptr @fn_node(i32 7) store ptr %t197, ptr %t198 %t199 = load ptr, ptr %t198 %t200 = getelementptr inbounds %Cmp_Node, ptr %t199, i32 0, i32 7 %t201 = load ptr, ptr %t200 %t202 = load ptr, ptr %t168 %t203 = getelementptr inbounds %LSlice, ptr %t201, i32 0, i32 1 %t204 = getelementptr inbounds %LSlice, ptr %t201, i32 0, i32 2 %t205 = getelementptr inbounds %LSlice, ptr %t201, i32 0, i32 0 %t206 = load i32, ptr %t203 %t207 = load i32, ptr %t204 %t208 = icmp sge i32 %t206, %t207 br i1 %t208, label %grow73, label %put74 grow73: %t209 = mul i32 %t207, 2 %t210 = icmp eq i32 %t207, 0 %t211 = select i1 %t210, i32 8, i32 %t209 %t212 = getelementptr ptr, ptr null, i32 1 %t213 = ptrtoint ptr %t212 to i64 %t214 = zext i32 %t211 to i64 %t215 = mul i64 %t214, %t213 %t216 = load ptr, ptr %t205 store i32 422, ptr @lp_site %t217 = call ptr @lp_realloc(ptr %t216, i64 %t215) store i32 0, ptr @lp_site store ptr %t217, ptr %t205 store i32 %t211, ptr %t204 br label %put74 put74: %t218 = load ptr, ptr %t205 %t219 = getelementptr inbounds ptr, ptr %t218, i32 %t206 store ptr %t202, ptr %t219 %t220 = add i32 %t206, 1 store i32 %t220, ptr %t203 %t221 = load ptr, ptr %t187 %t222 = getelementptr inbounds %Cmp_Node, ptr %t221, i32 0, i32 4 %t223 = load ptr, ptr %t198 store ptr %t223, ptr %t222 br label %ifend72 ifend72: %t224 = load ptr, ptr %t187 %t225 = getelementptr inbounds %Cmp_Node, ptr %t224, i32 0, i32 1 %t226 = load ptr, ptr %t3 %t227 = getelementptr inbounds %Cmp_Node, ptr %t226, i32 0, i32 1 %t228 = load ptr, ptr %t227 store i32 423, ptr @lp_site %t229 = call ptr @lp_str_concat(ptr %t228, ptr @.str1043) store i32 0, ptr @lp_site %t230 = load ptr, ptr %t187 %t231 = getelementptr inbounds %Cmp_Node, ptr %t230, i32 0, i32 1 %t232 = load ptr, ptr %t231 store i32 424, ptr @lp_site %t233 = call ptr @lp_str_concat(ptr %t229, ptr %t232) store i32 0, ptr @lp_site call void @lp_free(ptr %t229) store ptr %t233, ptr %t225 %t234 = load ptr, ptr %t187 %t235 = getelementptr inbounds %Cmp_Node, ptr %t234, i32 0, i32 6 %t236 = load ptr, ptr %t3 store ptr %t236, ptr %t235 %t237 = load ptr, ptr %t187 %t238 = getelementptr inbounds %Cmp_Node, ptr %t237, i32 0, i32 5 %t239 = load ptr, ptr %t161 store ptr %t239, ptr %t238 %t240 = load ptr, ptr @g_prog %t241 = load ptr, ptr %t187 %t242 = getelementptr inbounds %LSlice, ptr %t240, i32 0, i32 1 %t243 = getelementptr inbounds %LSlice, ptr %t240, i32 0, i32 2 %t244 = getelementptr inbounds %LSlice, ptr %t240, i32 0, i32 0 %t245 = load i32, ptr %t242 %t246 = load i32, ptr %t243 %t247 = icmp sge i32 %t245, %t246 br i1 %t247, label %grow75, label %put76 grow75: %t248 = mul i32 %t246, 2 %t249 = icmp eq i32 %t246, 0 %t250 = select i1 %t249, i32 8, i32 %t248 %t251 = getelementptr ptr, ptr null, i32 1 %t252 = ptrtoint ptr %t251 to i64 %t253 = zext i32 %t250 to i64 %t254 = mul i64 %t253, %t252 %t255 = load ptr, ptr %t244 store i32 425, ptr @lp_site %t256 = call ptr @lp_realloc(ptr %t255, i64 %t254) store i32 0, ptr @lp_site store ptr %t256, ptr %t244 store i32 %t250, ptr %t243 br label %put76 put76: %t257 = load ptr, ptr %t244 %t258 = getelementptr inbounds ptr, ptr %t257, i32 %t245 store ptr %t241, ptr %t258 %t259 = add i32 %t245, 1 store i32 %t259, ptr %t242 call void @fn_skipnl() br label %wcond55 wend57: call void @fn_eat_op(ptr @.str1044) br label %wcond32 ifend51: call void @fn_perr(ptr @.str1045) br label %wcond32 wend34: call void @fn_eat_op(ptr @.str1046) %t260 = load ptr, ptr %t11 %t261 = icmp ne ptr %t260, null %t262 = zext i1 %t261 to i32 %t263 = icmp ne i32 %t262, 0 br i1 %t263, label %then77, label %ifend79 then77: %t264 = load ptr, ptr %t3 %t265 = load ptr, ptr %t11 %t266 = load ptr, ptr %t12 call void @fn_scene_add_timer(ptr %t264, ptr %t265, ptr %t266) br label %ifend79 ifend79: %t267 = load ptr, ptr %t13 %t268 = icmp ne ptr %t267, null %t269 = zext i1 %t268 to i32 %t270 = icmp ne i32 %t269, 0 br i1 %t270, label %then80, label %ifend82 then80: %t271 = load ptr, ptr %t3 %t272 = load ptr, ptr %t13 call void @fn_scene_add_loader(ptr %t271, ptr %t272) br label %ifend82 ifend82: %t273 = load ptr, ptr @g_g_scenes %t274 = load ptr, ptr %t3 %t275 = getelementptr inbounds %LSlice, ptr %t273, i32 0, i32 1 %t276 = getelementptr inbounds %LSlice, ptr %t273, i32 0, i32 2 %t277 = getelementptr inbounds %LSlice, ptr %t273, i32 0, i32 0 %t278 = load i32, ptr %t275 %t279 = load i32, ptr %t276 %t280 = icmp sge i32 %t278, %t279 br i1 %t280, label %grow83, label %put84 grow83: %t281 = mul i32 %t279, 2 %t282 = icmp eq i32 %t279, 0 %t283 = select i1 %t282, i32 8, i32 %t281 %t284 = getelementptr ptr, ptr null, i32 1 %t285 = ptrtoint ptr %t284 to i64 %t286 = zext i32 %t283 to i64 %t287 = mul i64 %t286, %t285 %t288 = load ptr, ptr %t277 store i32 426, ptr @lp_site %t289 = call ptr @lp_realloc(ptr %t288, i64 %t287) store i32 0, ptr @lp_site store ptr %t289, ptr %t277 store i32 %t283, ptr %t276 br label %put84 put84: %t290 = load ptr, ptr %t277 %t291 = getelementptr inbounds ptr, ptr %t290, i32 %t278 store ptr %t274, ptr %t291 %t292 = add i32 %t278, 1 store i32 %t292, ptr %t275 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 store i32 427, ptr @lp_site %t9 = call ptr @lp_str_concat(ptr %t8, ptr @.str1047) store i32 0, ptr @lp_site store ptr %t9, ptr %t5 %t10 = load ptr, ptr %t3 %t11 = getelementptr inbounds %Cmp_Node, ptr %t10, i32 0, i32 3 store ptr @.str1049, 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 @.str1050, 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 @.str1051, 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 store i32 428, ptr @lp_site %t57 = call ptr @lp_realloc(ptr %t56, i64 %t55) store i32 0, ptr @lp_site 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 store i32 429, ptr @lp_site %t82 = call ptr @lp_realloc(ptr %t81, i64 %t80) store i32 0, ptr @lp_site 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 @.str1052, 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 @.str1053, 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 store i32 430, ptr @lp_site %t135 = call ptr @lp_realloc(ptr %t134, i64 %t133) store i32 0, ptr @lp_site 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 store i32 431, ptr @lp_site %t157 = call ptr @lp_realloc(ptr %t156, i64 %t155) store i32 0, ptr @lp_site 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 store i32 432, ptr @lp_site %t180 = call ptr @lp_realloc(ptr %t179, i64 %t178) store i32 0, ptr @lp_site 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 store i32 433, ptr @lp_site %t191 = call ptr @lp_str_concat(ptr %t190, ptr @.str1054) store i32 0, ptr @lp_site store ptr %t191, ptr %t187 %t192 = load ptr, ptr %t185 %t193 = getelementptr inbounds %Cmp_Node, ptr %t192, i32 0, i32 3 store ptr @.str1055, 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 @.str1056, 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 store i32 434, ptr @lp_site %t231 = call ptr @lp_realloc(ptr %t230, i64 %t229) store i32 0, ptr @lp_site 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 store i32 435, ptr @lp_site %t254 = call ptr @lp_realloc(ptr %t253, i64 %t252) store i32 0, ptr @lp_site 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 %t49 = alloca ptr %t53 = alloca ptr %t69 = alloca ptr %t90 = alloca i32 %t143 = alloca ptr %t156 = alloca ptr %t158 = alloca ptr %t162 = alloca ptr %t170 = alloca ptr %t199 = alloca ptr %t203 = alloca ptr %t211 = alloca ptr %t218 = alloca ptr %t226 = 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 store i32 436, ptr @lp_site %t6 = call ptr @lp_str_concat(ptr @.str1057, ptr %t5) store i32 0, ptr @lp_site store i32 437, ptr @lp_site %t7 = call ptr @lp_str_concat(ptr %t6, ptr @.str1059) store i32 0, ptr @lp_site call void @lp_free(ptr %t6) 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 @.str1060, ptr %t15 %t16 = load ptr, ptr %t10 %t17 = getelementptr inbounds %Cmp_Node, ptr %t16, i32 0, i32 13 %t18 = sub i32 0, 1 store i32 %t18, ptr %t17 %t19 = load ptr, ptr @g_prog %t20 = load ptr, ptr %t10 %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 %grow0, label %put1 grow0: %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 store i32 438, ptr @lp_site %t35 = call ptr @lp_realloc(ptr %t34, i64 %t33) store i32 0, ptr @lp_site store ptr %t35, ptr %t23 store i32 %t29, ptr %t22 br label %put1 put1: %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 %t39 = load ptr, ptr %t0 %t40 = getelementptr inbounds %Cmp_Node, ptr %t39, i32 0, i32 4 %t41 = load ptr, ptr %t40 %t42 = icmp eq ptr %t41, null %t43 = zext i1 %t42 to i32 %t44 = icmp ne i32 %t43, 0 br i1 %t44, label %then2, label %ifend4 then2: %t45 = load ptr, ptr %t0 %t46 = getelementptr inbounds %Cmp_Node, ptr %t45, i32 0, i32 4 %t47 = call ptr @fn_node(i32 7) store ptr %t47, ptr %t46 br label %ifend4 ifend4: %t48 = call ptr @fn_node(i32 11) store ptr %t48, ptr %t49 %t50 = load ptr, ptr %t49 %t51 = getelementptr inbounds %Cmp_Node, ptr %t50, i32 0, i32 1 store ptr @.str1061, ptr %t51 %t52 = call ptr @fn_node(i32 33) store ptr %t52, ptr %t53 %t54 = load ptr, ptr %t53 %t55 = getelementptr inbounds %Cmp_Node, ptr %t54, i32 0, i32 1 %t56 = load ptr, ptr %t8 store ptr %t56, ptr %t55 %t57 = load ptr, ptr %t49 %t58 = getelementptr inbounds %Cmp_Node, ptr %t57, i32 0, i32 4 %t59 = load ptr, ptr %t53 store ptr %t59, ptr %t58 %t60 = load ptr, ptr %t49 %t61 = getelementptr inbounds %Cmp_Node, ptr %t60, i32 0, i32 5 %t62 = load ptr, ptr %t1 store ptr %t62, ptr %t61 %t63 = getelementptr %LSlice, ptr null, i32 1 %t64 = ptrtoint ptr %t63 to i64 store i32 439, ptr @lp_site %t65 = call ptr @lp_malloc(i64 %t64) store i32 0, ptr @lp_site %t66 = getelementptr inbounds %LSlice, ptr %t65, i32 0, i32 0 store ptr null, ptr %t66 %t67 = getelementptr inbounds %LSlice, ptr %t65, i32 0, i32 1 store i32 0, ptr %t67 %t68 = getelementptr inbounds %LSlice, ptr %t65, i32 0, i32 2 store i32 0, ptr %t68 store ptr %t65, ptr %t69 %t70 = load ptr, ptr %t69 %t71 = load ptr, ptr %t49 %t72 = getelementptr inbounds %LSlice, ptr %t70, i32 0, i32 1 %t73 = getelementptr inbounds %LSlice, ptr %t70, i32 0, i32 2 %t74 = getelementptr inbounds %LSlice, ptr %t70, i32 0, i32 0 %t75 = load i32, ptr %t72 %t76 = load i32, ptr %t73 %t77 = icmp sge i32 %t75, %t76 br i1 %t77, label %grow5, label %put6 grow5: %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 store i32 440, ptr @lp_site %t86 = call ptr @lp_realloc(ptr %t85, i64 %t84) store i32 0, ptr @lp_site store ptr %t86, ptr %t74 store i32 %t80, ptr %t73 br label %put6 put6: %t87 = load ptr, ptr %t74 %t88 = getelementptr inbounds ptr, ptr %t87, i32 %t75 store ptr %t71, ptr %t88 %t89 = add i32 %t75, 1 store i32 %t89, ptr %t72 store i32 0, ptr %t90 br label %wcond7 wcond7: %t91 = load i32, ptr %t90 %t92 = load ptr, ptr %t0 %t93 = getelementptr inbounds %Cmp_Node, ptr %t92, i32 0, i32 4 %t94 = load ptr, ptr %t93 %t95 = getelementptr inbounds %Cmp_Node, ptr %t94, i32 0, i32 7 %t96 = load ptr, ptr %t95 %t97 = getelementptr inbounds %LSlice, ptr %t96, i32 0, i32 1 %t98 = load i32, ptr %t97 %t99 = icmp slt i32 %t91, %t98 %t100 = zext i1 %t99 to i32 %t101 = icmp ne i32 %t100, 0 br i1 %t101, label %wbody8, label %wend9 wbody8: %t102 = load ptr, ptr %t69 %t103 = load ptr, ptr %t0 %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 i32, ptr %t90 %t109 = getelementptr inbounds %LSlice, ptr %t107, i32 0, i32 0 %t110 = load ptr, ptr %t109 %t111 = getelementptr inbounds %LSlice, ptr %t107, i32 0, i32 1 %t112 = load i32, ptr %t111 %t113 = icmp ult i32 %t108, %t112 br i1 %t113, label %ixok10, label %ixbad11 ixbad11: store i32 441, ptr @lp_site %t114 = call ptr @lp_win_stdio(i32 2) store i32 0, ptr @lp_site call i32 (ptr, ptr, ...) @fprintf(ptr %t114, ptr @.fmt_bounds, ptr @.str1062, i32 %t108, i32 %t112) call void @exit(i32 1) unreachable ixok10: %t115 = getelementptr inbounds ptr, ptr %t110, i32 %t108 %t116 = load ptr, ptr %t115 %t117 = getelementptr inbounds %LSlice, ptr %t102, i32 0, i32 1 %t118 = getelementptr inbounds %LSlice, ptr %t102, i32 0, i32 2 %t119 = getelementptr inbounds %LSlice, ptr %t102, i32 0, i32 0 %t120 = load i32, ptr %t117 %t121 = load i32, ptr %t118 %t122 = icmp sge i32 %t120, %t121 br i1 %t122, label %grow12, label %put13 grow12: %t123 = mul i32 %t121, 2 %t124 = icmp eq i32 %t121, 0 %t125 = select i1 %t124, i32 8, i32 %t123 %t126 = getelementptr ptr, ptr null, i32 1 %t127 = ptrtoint ptr %t126 to i64 %t128 = zext i32 %t125 to i64 %t129 = mul i64 %t128, %t127 %t130 = load ptr, ptr %t119 store i32 442, ptr @lp_site %t131 = call ptr @lp_realloc(ptr %t130, i64 %t129) store i32 0, ptr @lp_site store ptr %t131, ptr %t119 store i32 %t125, ptr %t118 br label %put13 put13: %t132 = load ptr, ptr %t119 %t133 = getelementptr inbounds ptr, ptr %t132, i32 %t120 store ptr %t116, ptr %t133 %t134 = add i32 %t120, 1 store i32 %t134, ptr %t117 %t135 = load i32, ptr %t90 %t136 = add i32 %t135, 1 store i32 %t136, ptr %t90 br label %wcond7 wend9: %t137 = load ptr, ptr %t0 %t138 = getelementptr inbounds %Cmp_Node, ptr %t137, i32 0, i32 4 %t139 = load ptr, ptr %t138 %t140 = getelementptr inbounds %Cmp_Node, ptr %t139, i32 0, i32 7 %t141 = load ptr, ptr %t69 store ptr %t141, ptr %t140 %t142 = call ptr @fn_node(i32 9) store ptr %t142, ptr %t143 %t144 = load ptr, ptr %t143 %t145 = getelementptr inbounds %Cmp_Node, ptr %t144, i32 0, i32 1 %t146 = load ptr, ptr %t0 %t147 = getelementptr inbounds %Cmp_Node, ptr %t146, i32 0, i32 1 %t148 = load ptr, ptr %t147 store i32 443, ptr @lp_site %t149 = call ptr @lp_str_concat(ptr %t148, ptr @.str1063) store i32 0, ptr @lp_site store ptr %t149, ptr %t145 %t150 = load ptr, ptr %t143 %t151 = getelementptr inbounds %Cmp_Node, ptr %t150, i32 0, i32 3 store ptr @.str1064, ptr %t151 %t152 = load ptr, ptr %t143 %t153 = getelementptr inbounds %Cmp_Node, ptr %t152, i32 0, i32 6 %t154 = load ptr, ptr %t0 store ptr %t154, ptr %t153 %t155 = call ptr @fn_node(i32 7) store ptr %t155, ptr %t156 %t157 = call ptr @fn_node(i32 11) store ptr %t157, ptr %t158 %t159 = load ptr, ptr %t158 %t160 = getelementptr inbounds %Cmp_Node, ptr %t159, i32 0, i32 1 store ptr @.str1065, ptr %t160 %t161 = call ptr @fn_node(i32 33) store ptr %t161, ptr %t162 %t163 = load ptr, ptr %t162 %t164 = getelementptr inbounds %Cmp_Node, ptr %t163, i32 0, i32 1 %t165 = load ptr, ptr %t8 store ptr %t165, ptr %t164 %t166 = load ptr, ptr %t158 %t167 = getelementptr inbounds %Cmp_Node, ptr %t166, i32 0, i32 4 %t168 = load ptr, ptr %t162 store ptr %t168, ptr %t167 %t169 = call ptr @fn_node(i32 30) store ptr %t169, ptr %t170 %t171 = load ptr, ptr %t170 %t172 = getelementptr inbounds %Cmp_Node, ptr %t171, i32 0, i32 2 store i32 1, ptr %t172 %t173 = load ptr, ptr %t158 %t174 = getelementptr inbounds %Cmp_Node, ptr %t173, i32 0, i32 5 %t175 = load ptr, ptr %t170 store ptr %t175, ptr %t174 %t176 = load ptr, ptr %t156 %t177 = getelementptr inbounds %Cmp_Node, ptr %t176, i32 0, i32 7 %t178 = load ptr, ptr %t177 %t179 = load ptr, ptr %t158 %t180 = getelementptr inbounds %LSlice, ptr %t178, i32 0, i32 1 %t181 = getelementptr inbounds %LSlice, ptr %t178, i32 0, i32 2 %t182 = getelementptr inbounds %LSlice, ptr %t178, i32 0, i32 0 %t183 = load i32, ptr %t180 %t184 = load i32, ptr %t181 %t185 = icmp sge i32 %t183, %t184 br i1 %t185, label %grow14, label %put15 grow14: %t186 = mul i32 %t184, 2 %t187 = icmp eq i32 %t184, 0 %t188 = select i1 %t187, i32 8, i32 %t186 %t189 = getelementptr ptr, ptr null, i32 1 %t190 = ptrtoint ptr %t189 to i64 %t191 = zext i32 %t188 to i64 %t192 = mul i64 %t191, %t190 %t193 = load ptr, ptr %t182 store i32 444, ptr @lp_site %t194 = call ptr @lp_realloc(ptr %t193, i64 %t192) store i32 0, ptr @lp_site store ptr %t194, ptr %t182 store i32 %t188, ptr %t181 br label %put15 put15: %t195 = load ptr, ptr %t182 %t196 = getelementptr inbounds ptr, ptr %t195, i32 %t183 store ptr %t179, ptr %t196 %t197 = add i32 %t183, 1 store i32 %t197, ptr %t180 %t198 = call ptr @fn_node(i32 37) store ptr %t198, ptr %t199 %t200 = load ptr, ptr %t199 %t201 = getelementptr inbounds %Cmp_Node, ptr %t200, i32 0, i32 1 store ptr @.str1066, ptr %t201 %t202 = call ptr @fn_node(i32 33) store ptr %t202, ptr %t203 %t204 = load ptr, ptr %t203 %t205 = getelementptr inbounds %Cmp_Node, ptr %t204, i32 0, i32 1 %t206 = load ptr, ptr %t8 store ptr %t206, ptr %t205 %t207 = load ptr, ptr %t199 %t208 = getelementptr inbounds %Cmp_Node, ptr %t207, i32 0, i32 4 %t209 = load ptr, ptr %t203 store ptr %t209, ptr %t208 %t210 = call ptr @fn_node(i32 30) store ptr %t210, ptr %t211 %t212 = load ptr, ptr %t211 %t213 = getelementptr inbounds %Cmp_Node, ptr %t212, i32 0, i32 2 store i32 0, ptr %t213 %t214 = load ptr, ptr %t199 %t215 = getelementptr inbounds %Cmp_Node, ptr %t214, i32 0, i32 5 %t216 = load ptr, ptr %t211 store ptr %t216, ptr %t215 %t217 = call ptr @fn_node(i32 12) store ptr %t217, ptr %t218 %t219 = load ptr, ptr %t218 %t220 = getelementptr inbounds %Cmp_Node, ptr %t219, i32 0, i32 4 %t221 = load ptr, ptr %t199 store ptr %t221, ptr %t220 %t222 = load ptr, ptr %t218 %t223 = getelementptr inbounds %Cmp_Node, ptr %t222, i32 0, i32 5 %t224 = call ptr @fn_node(i32 7) store ptr %t224, ptr %t223 %t225 = call ptr @fn_node(i32 26) store ptr %t225, ptr %t226 %t227 = load ptr, ptr %t226 %t228 = getelementptr inbounds %Cmp_Node, ptr %t227, i32 0, i32 1 %t229 = load ptr, ptr %t2 store ptr %t229, ptr %t228 %t230 = load ptr, ptr %t218 %t231 = getelementptr inbounds %Cmp_Node, ptr %t230, i32 0, i32 5 %t232 = load ptr, ptr %t231 %t233 = getelementptr inbounds %Cmp_Node, ptr %t232, i32 0, i32 7 %t234 = load ptr, ptr %t233 %t235 = load ptr, ptr %t226 %t236 = getelementptr inbounds %LSlice, ptr %t234, i32 0, i32 1 %t237 = getelementptr inbounds %LSlice, ptr %t234, i32 0, i32 2 %t238 = getelementptr inbounds %LSlice, ptr %t234, i32 0, i32 0 %t239 = load i32, ptr %t236 %t240 = load i32, ptr %t237 %t241 = icmp sge i32 %t239, %t240 br i1 %t241, label %grow16, label %put17 grow16: %t242 = mul i32 %t240, 2 %t243 = icmp eq i32 %t240, 0 %t244 = select i1 %t243, i32 8, i32 %t242 %t245 = getelementptr ptr, ptr null, i32 1 %t246 = ptrtoint ptr %t245 to i64 %t247 = zext i32 %t244 to i64 %t248 = mul i64 %t247, %t246 %t249 = load ptr, ptr %t238 store i32 445, ptr @lp_site %t250 = call ptr @lp_realloc(ptr %t249, i64 %t248) store i32 0, ptr @lp_site store ptr %t250, ptr %t238 store i32 %t244, ptr %t237 br label %put17 put17: %t251 = load ptr, ptr %t238 %t252 = getelementptr inbounds ptr, ptr %t251, i32 %t239 store ptr %t235, ptr %t252 %t253 = add i32 %t239, 1 store i32 %t253, ptr %t236 %t254 = load ptr, ptr %t156 %t255 = getelementptr inbounds %Cmp_Node, ptr %t254, i32 0, i32 7 %t256 = load ptr, ptr %t255 %t257 = load ptr, ptr %t218 %t258 = getelementptr inbounds %LSlice, ptr %t256, i32 0, i32 1 %t259 = getelementptr inbounds %LSlice, ptr %t256, i32 0, i32 2 %t260 = getelementptr inbounds %LSlice, ptr %t256, i32 0, i32 0 %t261 = load i32, ptr %t258 %t262 = load i32, ptr %t259 %t263 = icmp sge i32 %t261, %t262 br i1 %t263, label %grow18, label %put19 grow18: %t264 = mul i32 %t262, 2 %t265 = icmp eq i32 %t262, 0 %t266 = select i1 %t265, i32 8, i32 %t264 %t267 = getelementptr ptr, ptr null, i32 1 %t268 = ptrtoint ptr %t267 to i64 %t269 = zext i32 %t266 to i64 %t270 = mul i64 %t269, %t268 %t271 = load ptr, ptr %t260 store i32 446, ptr @lp_site %t272 = call ptr @lp_realloc(ptr %t271, i64 %t270) store i32 0, ptr @lp_site store ptr %t272, ptr %t260 store i32 %t266, ptr %t259 br label %put19 put19: %t273 = load ptr, ptr %t260 %t274 = getelementptr inbounds ptr, ptr %t273, i32 %t261 store ptr %t257, ptr %t274 %t275 = add i32 %t261, 1 store i32 %t275, ptr %t258 %t276 = load ptr, ptr %t143 %t277 = getelementptr inbounds %Cmp_Node, ptr %t276, i32 0, i32 4 %t278 = load ptr, ptr %t156 store ptr %t278, ptr %t277 %t279 = load ptr, ptr @g_prog %t280 = load ptr, ptr %t143 %t281 = getelementptr inbounds %LSlice, ptr %t279, i32 0, i32 1 %t282 = getelementptr inbounds %LSlice, ptr %t279, i32 0, i32 2 %t283 = getelementptr inbounds %LSlice, ptr %t279, i32 0, i32 0 %t284 = load i32, ptr %t281 %t285 = load i32, ptr %t282 %t286 = icmp sge i32 %t284, %t285 br i1 %t286, label %grow20, label %put21 grow20: %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 store i32 447, ptr @lp_site %t295 = call ptr @lp_realloc(ptr %t294, i64 %t293) store i32 0, ptr @lp_site store ptr %t295, ptr %t283 store i32 %t289, ptr %t282 br label %put21 put21: %t296 = load ptr, ptr %t283 %t297 = getelementptr inbounds ptr, ptr %t296, i32 %t284 store ptr %t280, ptr %t297 %t298 = add i32 %t284, 1 store i32 %t298, ptr %t281 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 = load i32, ptr %t0 %t11 = getelementptr inbounds %LSlice, ptr %t9, i32 0, i32 0 %t12 = load ptr, ptr %t11 %t13 = getelementptr inbounds %LSlice, ptr %t9, i32 0, i32 1 %t14 = load i32, ptr %t13 %t15 = icmp ult i32 %t10, %t14 br i1 %t15, label %ixok3, label %ixbad4 ixbad4: store i32 448, ptr @lp_site %t16 = call ptr @lp_win_stdio(i32 2) store i32 0, ptr @lp_site call i32 (ptr, ptr, ...) @fprintf(ptr %t16, ptr @.fmt_bounds, ptr @.str1067, i32 %t10, i32 %t14) call void @exit(i32 1) unreachable ixok3: %t17 = getelementptr inbounds ptr, ptr %t12, i32 %t10 %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, 12 %t22 = zext i1 %t21 to i32 %t23 = icmp ne i32 %t22, 0 %t24 = zext i1 %t23 to i32 store i32 %t24, ptr %t8 br i1 %t23, label %sc5, label %scend6 sc5: %t25 = load ptr, ptr @g_prog %t26 = load i32, ptr %t0 %t27 = getelementptr inbounds %LSlice, ptr %t25, i32 0, i32 0 %t28 = load ptr, ptr %t27 %t29 = getelementptr inbounds %LSlice, ptr %t25, i32 0, i32 1 %t30 = load i32, ptr %t29 %t31 = icmp ult i32 %t26, %t30 br i1 %t31, label %ixok7, label %ixbad8 ixbad8: store i32 449, ptr @lp_site %t32 = call ptr @lp_win_stdio(i32 2) store i32 0, ptr @lp_site call i32 (ptr, ptr, ...) @fprintf(ptr %t32, ptr @.fmt_bounds, ptr @.str1069, i32 %t26, i32 %t30) call void @exit(i32 1) unreachable ixok7: %t33 = getelementptr inbounds ptr, ptr %t28, i32 %t26 %t34 = load ptr, ptr %t33 %t35 = getelementptr inbounds %Cmp_Node, ptr %t34, i32 0, i32 2 %t36 = load i32, ptr %t35 %t37 = icmp eq i32 %t36, 1 %t38 = zext i1 %t37 to i32 %t39 = icmp ne i32 %t38, 0 %t40 = zext i1 %t39 to i32 store i32 %t40, ptr %t8 br label %scend6 scend6: %t41 = load i32, ptr %t8 %t42 = icmp ne i32 %t41, 0 br i1 %t42, label %then9, label %ifend11 then9: %t43 = load ptr, ptr @g_prog %t44 = load i32, ptr %t0 %t45 = getelementptr inbounds %LSlice, ptr %t43, i32 0, i32 0 %t46 = load ptr, ptr %t45 %t47 = getelementptr inbounds %LSlice, ptr %t43, i32 0, i32 1 %t48 = load i32, ptr %t47 %t49 = icmp ult i32 %t44, %t48 br i1 %t49, label %ixok12, label %ixbad13 ixbad13: store i32 450, ptr @lp_site %t50 = call ptr @lp_win_stdio(i32 2) store i32 0, ptr @lp_site call i32 (ptr, ptr, ...) @fprintf(ptr %t50, ptr @.fmt_bounds, ptr @.str1070, i32 %t44, i32 %t48) call void @exit(i32 1) unreachable ixok12: %t51 = getelementptr inbounds ptr, ptr %t46, i32 %t44 %t52 = load ptr, ptr %t51 %t53 = getelementptr inbounds %Cmp_Node, ptr %t52, i32 0, i32 4 %t54 = load ptr, ptr %t53 call void @fn_ui_gotos_in(ptr %t54) br label %ifend11 ifend11: %t55 = load i32, ptr %t0 %t56 = add i32 %t55, 1 store i32 %t56, 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 %t29 = alloca ptr %t30 = alloca i32 %t53 = alloca i32 %t78 = alloca i32 %t92 = alloca ptr %t94 = alloca ptr %t98 = alloca ptr %t105 = alloca ptr %t114 = alloca ptr %t122 = alloca ptr %t173 = 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 = load i32, ptr %t3 %t21 = getelementptr inbounds %LSlice, ptr %t19, i32 0, i32 0 %t22 = load ptr, ptr %t21 %t23 = getelementptr inbounds %LSlice, ptr %t19, i32 0, i32 1 %t24 = load i32, ptr %t23 %t25 = icmp ult i32 %t20, %t24 br i1 %t25, label %ixok3, label %ixbad4 ixbad4: store i32 451, ptr @lp_site %t26 = call ptr @lp_win_stdio(i32 2) store i32 0, ptr @lp_site call i32 (ptr, ptr, ...) @fprintf(ptr %t26, ptr @.fmt_bounds, ptr @.str1071, i32 %t20, i32 %t24) call void @exit(i32 1) unreachable ixok3: %t27 = getelementptr inbounds ptr, ptr %t22, i32 %t20 %t28 = load ptr, ptr %t27 store ptr %t28, ptr %t29 %t31 = load ptr, ptr %t29 %t32 = getelementptr inbounds %Cmp_Node, ptr %t31, i32 0, i32 1 %t33 = load ptr, ptr %t32 %t34 = call i32 @lp_str_eq(ptr %t33, ptr @.str1073) %t35 = icmp ne i32 %t34, 0 %t36 = zext i1 %t35 to i32 store i32 %t36, ptr %t30 br i1 %t35, label %sc5, label %scend6 sc5: %t37 = load ptr, ptr %t29 %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 %t30 br label %scend6 scend6: %t46 = load i32, ptr %t30 %t47 = icmp ne i32 %t46, 0 br i1 %t47, label %then7, label %ifend9 then7: %t48 = load ptr, ptr %t29 %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 store ptr %t52, ptr %t1 br label %ifend9 ifend9: %t54 = load ptr, ptr %t29 %t55 = getelementptr inbounds %Cmp_Node, ptr %t54, i32 0, i32 1 %t56 = load ptr, ptr %t55 %t57 = call i32 @lp_str_eq(ptr %t56, ptr @.str1074) %t58 = icmp ne i32 %t57, 0 %t59 = zext i1 %t58 to i32 store i32 %t59, ptr %t53 br i1 %t58, label %sc10, label %scend11 sc10: %t60 = load ptr, ptr %t29 %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 0 %t64 = load i32, ptr %t63 %t65 = icmp eq i32 %t64, 33 %t66 = zext i1 %t65 to i32 %t67 = icmp ne i32 %t66, 0 %t68 = zext i1 %t67 to i32 store i32 %t68, ptr %t53 br label %scend11 scend11: %t69 = load i32, ptr %t53 %t70 = icmp ne i32 %t69, 0 br i1 %t70, label %then12, label %ifend14 then12: %t71 = load ptr, ptr %t29 %t72 = getelementptr inbounds %Cmp_Node, ptr %t71, i32 0, i32 4 %t73 = load ptr, ptr %t72 %t74 = getelementptr inbounds %Cmp_Node, ptr %t73, i32 0, i32 1 %t75 = load ptr, ptr %t74 store ptr %t75, ptr %t2 br label %ifend14 ifend14: %t76 = load i32, ptr %t3 %t77 = add i32 %t76, 1 store i32 %t77, ptr %t3 br label %wcond0 wend2: %t79 = load ptr, ptr %t1 %t80 = icmp ne ptr %t79, null %t81 = zext i1 %t80 to i32 %t82 = icmp ne i32 %t81, 0 %t83 = zext i1 %t82 to i32 store i32 %t83, ptr %t78 br i1 %t82, label %sc15, label %scend16 sc15: %t84 = load ptr, ptr %t2 %t85 = icmp ne ptr %t84, null %t86 = zext i1 %t85 to i32 %t87 = icmp ne i32 %t86, 0 %t88 = zext i1 %t87 to i32 store i32 %t88, ptr %t78 br label %scend16 scend16: %t89 = load i32, ptr %t78 %t90 = icmp ne i32 %t89, 0 br i1 %t90, label %then17, label %ifend19 then17: %t91 = call ptr @fn_node(i32 7) store ptr %t91, ptr %t92 %t93 = call ptr @fn_node(i32 37) store ptr %t93, ptr %t94 %t95 = load ptr, ptr %t94 %t96 = getelementptr inbounds %Cmp_Node, ptr %t95, i32 0, i32 1 store ptr @.str1075, ptr %t96 %t97 = call ptr @fn_node(i32 33) store ptr %t97, ptr %t98 %t99 = load ptr, ptr %t98 %t100 = getelementptr inbounds %Cmp_Node, ptr %t99, i32 0, i32 1 store ptr @.str1076, ptr %t100 %t101 = load ptr, ptr %t94 %t102 = getelementptr inbounds %Cmp_Node, ptr %t101, i32 0, i32 4 %t103 = load ptr, ptr %t98 store ptr %t103, ptr %t102 %t104 = call ptr @fn_node(i32 33) store ptr %t104, ptr %t105 %t106 = load ptr, ptr %t105 %t107 = getelementptr inbounds %Cmp_Node, ptr %t106, i32 0, i32 1 %t108 = load ptr, ptr %t1 store i32 452, ptr @lp_site %t109 = call ptr @lp_str_concat(ptr @.str1077, ptr %t108) store i32 0, ptr @lp_site store ptr %t109, ptr %t107 %t110 = load ptr, ptr %t94 %t111 = getelementptr inbounds %Cmp_Node, ptr %t110, i32 0, i32 5 %t112 = load ptr, ptr %t105 store ptr %t112, ptr %t111 %t113 = call ptr @fn_node(i32 12) store ptr %t113, ptr %t114 %t115 = load ptr, ptr %t114 %t116 = getelementptr inbounds %Cmp_Node, ptr %t115, i32 0, i32 4 %t117 = load ptr, ptr %t94 store ptr %t117, ptr %t116 %t118 = load ptr, ptr %t114 %t119 = getelementptr inbounds %Cmp_Node, ptr %t118, i32 0, i32 5 %t120 = call ptr @fn_node(i32 7) store ptr %t120, ptr %t119 %t121 = call ptr @fn_node(i32 26) store ptr %t121, ptr %t122 %t123 = load ptr, ptr %t122 %t124 = getelementptr inbounds %Cmp_Node, ptr %t123, i32 0, i32 1 %t125 = load ptr, ptr %t2 store ptr %t125, ptr %t124 %t126 = load ptr, ptr %t114 %t127 = getelementptr inbounds %Cmp_Node, ptr %t126, i32 0, i32 5 %t128 = load ptr, ptr %t127 %t129 = getelementptr inbounds %Cmp_Node, ptr %t128, i32 0, i32 7 %t130 = load ptr, ptr %t129 %t131 = load ptr, ptr %t122 %t132 = getelementptr inbounds %LSlice, ptr %t130, i32 0, i32 1 %t133 = getelementptr inbounds %LSlice, ptr %t130, i32 0, i32 2 %t134 = getelementptr inbounds %LSlice, ptr %t130, i32 0, i32 0 %t135 = load i32, ptr %t132 %t136 = load i32, ptr %t133 %t137 = icmp sge i32 %t135, %t136 br i1 %t137, label %grow20, label %put21 grow20: %t138 = mul i32 %t136, 2 %t139 = icmp eq i32 %t136, 0 %t140 = select i1 %t139, i32 8, i32 %t138 %t141 = getelementptr ptr, ptr null, i32 1 %t142 = ptrtoint ptr %t141 to i64 %t143 = zext i32 %t140 to i64 %t144 = mul i64 %t143, %t142 %t145 = load ptr, ptr %t134 store i32 453, ptr @lp_site %t146 = call ptr @lp_realloc(ptr %t145, i64 %t144) store i32 0, ptr @lp_site store ptr %t146, ptr %t134 store i32 %t140, ptr %t133 br label %put21 put21: %t147 = load ptr, ptr %t134 %t148 = getelementptr inbounds ptr, ptr %t147, i32 %t135 store ptr %t131, ptr %t148 %t149 = add i32 %t135, 1 store i32 %t149, ptr %t132 %t150 = load ptr, ptr %t92 %t151 = getelementptr inbounds %Cmp_Node, ptr %t150, i32 0, i32 7 %t152 = load ptr, ptr %t151 %t153 = load ptr, ptr %t114 %t154 = getelementptr inbounds %LSlice, ptr %t152, i32 0, i32 1 %t155 = getelementptr inbounds %LSlice, ptr %t152, i32 0, i32 2 %t156 = getelementptr inbounds %LSlice, ptr %t152, i32 0, i32 0 %t157 = load i32, ptr %t154 %t158 = load i32, ptr %t155 %t159 = icmp sge i32 %t157, %t158 br i1 %t159, label %grow22, label %put23 grow22: %t160 = mul i32 %t158, 2 %t161 = icmp eq i32 %t158, 0 %t162 = select i1 %t161, i32 8, i32 %t160 %t163 = getelementptr ptr, ptr null, i32 1 %t164 = ptrtoint ptr %t163 to i64 %t165 = zext i32 %t162 to i64 %t166 = mul i64 %t165, %t164 %t167 = load ptr, ptr %t156 store i32 454, ptr @lp_site %t168 = call ptr @lp_realloc(ptr %t167, i64 %t166) store i32 0, ptr @lp_site store ptr %t168, ptr %t156 store i32 %t162, ptr %t155 br label %put23 put23: %t169 = load ptr, ptr %t156 %t170 = getelementptr inbounds ptr, ptr %t169, i32 %t157 store ptr %t153, ptr %t170 %t171 = add i32 %t157, 1 store i32 %t171, ptr %t154 %t172 = load ptr, ptr %t92 call void @fn_register_onlisten(ptr @.str1078, ptr %t172) br label %ifend19 ifend19: store i32 0, ptr %t173 br label %wcond24 wcond24: %t174 = load i32, ptr %t173 %t175 = load ptr, ptr %t0 %t176 = getelementptr inbounds %Cmp_Node, ptr %t175, i32 0, i32 7 %t177 = load ptr, ptr %t176 %t178 = getelementptr inbounds %LSlice, ptr %t177, i32 0, i32 1 %t179 = load i32, ptr %t178 %t180 = icmp slt i32 %t174, %t179 %t181 = zext i1 %t180 to i32 %t182 = icmp ne i32 %t181, 0 br i1 %t182, label %wbody25, label %wend26 wbody25: %t183 = load ptr, ptr %t0 %t184 = getelementptr inbounds %Cmp_Node, ptr %t183, i32 0, i32 7 %t185 = load ptr, ptr %t184 %t186 = load i32, ptr %t173 %t187 = getelementptr inbounds %LSlice, ptr %t185, i32 0, i32 0 %t188 = load ptr, ptr %t187 %t189 = getelementptr inbounds %LSlice, ptr %t185, i32 0, i32 1 %t190 = load i32, ptr %t189 %t191 = icmp ult i32 %t186, %t190 br i1 %t191, label %ixok27, label %ixbad28 ixbad28: store i32 455, ptr @lp_site %t192 = call ptr @lp_win_stdio(i32 2) store i32 0, ptr @lp_site call i32 (ptr, ptr, ...) @fprintf(ptr %t192, ptr @.fmt_bounds, ptr @.str1079, i32 %t186, i32 %t190) call void @exit(i32 1) unreachable ixok27: %t193 = getelementptr inbounds ptr, ptr %t188, i32 %t186 %t194 = load ptr, ptr %t193 call void @fn_ui_gotos_in(ptr %t194) %t195 = load i32, ptr %t173 %t196 = add i32 %t195, 1 store i32 %t196, ptr %t173 br label %wcond24 wend26: 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 @.str1080) 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 @.str1081) %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 @.str1082) %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 @.str1083) %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 store i32 456, ptr @lp_site %t46 = call ptr @lp_realloc(ptr %t45, i64 %t44) store i32 0, ptr @lp_site 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 @.str1085) %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 @.str1086) 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 store i32 457, ptr @lp_site %t72 = call ptr @lp_realloc(ptr %t71, i64 %t70) store i32 0, ptr @lp_site 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 @.str1087) %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 @.str1088) %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 @.str1089) 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 @.str1090) %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 @.str1091) %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 @.str1092) %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 store i32 458, ptr @lp_site %t44 = call ptr @lp_realloc(ptr %t43, i64 %t42) store i32 0, ptr @lp_site 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 @.str1094) %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 @.str1095) %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 %t66 = 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 @.str1096) br label %wcond0 wcond0: %t9 = call i32 @fn_is_op(ptr @.str1097) %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 @.str1098) %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 store i32 459, ptr @lp_site %t39 = call ptr @lp_realloc(ptr %t38, i64 %t37) store i32 0, ptr @lp_site 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 @.str1100) %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 @.str1101) %t47 = load ptr, ptr %t5 %t48 = getelementptr inbounds %Cmp_Node, ptr %t47, i32 0, i32 3 store ptr @.str1102, ptr %t48 %t49 = call i32 @fn_is_op(ptr @.str1103) %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 @.str1104) %t56 = load ptr, ptr @g_toks %t57 = load i32, ptr @g_pi %t58 = getelementptr inbounds %LSlice, ptr %t56, i32 0, i32 0 %t59 = load ptr, ptr %t58 %t60 = getelementptr inbounds %LSlice, ptr %t56, i32 0, i32 1 %t61 = load i32, ptr %t60 %t62 = icmp ult i32 %t57, %t61 br i1 %t62, label %ixok11, label %ixbad12 ixbad12: store i32 460, ptr @lp_site %t63 = call ptr @lp_win_stdio(i32 2) store i32 0, ptr @lp_site call i32 (ptr, ptr, ...) @fprintf(ptr %t63, ptr @.fmt_bounds, ptr @.str1105, i32 %t57, i32 %t61) call void @exit(i32 1) unreachable ixok11: %t64 = getelementptr inbounds ptr, ptr %t59, i32 %t57 %t65 = load ptr, ptr %t64 store ptr %t65, ptr %t66 %t67 = load ptr, ptr %t5 %t68 = getelementptr inbounds %Cmp_Node, ptr %t67, i32 0, i32 4 %t69 = call ptr @fn_node(i32 31) store ptr %t69, ptr %t68 %t70 = load ptr, ptr %t5 %t71 = getelementptr inbounds %Cmp_Node, ptr %t70, i32 0, i32 4 %t72 = load ptr, ptr %t71 %t73 = getelementptr inbounds %Cmp_Node, ptr %t72, i32 0, i32 1 %t74 = load ptr, ptr %t66 %t75 = getelementptr inbounds %Cmp_Tok, ptr %t74, i32 0, i32 1 %t76 = load ptr, ptr %t75 store ptr %t76, ptr %t73 %t77 = load i32, ptr @g_pi %t78 = add i32 %t77, 1 store i32 %t78, ptr @g_pi %t79 = load ptr, ptr %t5 store ptr %t79, ptr %retval br label %ret ret: %t80 = load ptr, ptr %retval ret ptr %t80 } define ptr @fn_parse_widget() { entry: %retval = alloca ptr %t1 = alloca ptr %t8 = alloca i32 %t9 = alloca i32 %t65 = 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 = load i32, ptr @g_pi %t12 = getelementptr inbounds %LSlice, ptr %t10, i32 0, i32 0 %t13 = load ptr, ptr %t12 %t14 = getelementptr inbounds %LSlice, ptr %t10, i32 0, i32 1 %t15 = load i32, ptr %t14 %t16 = icmp ult i32 %t11, %t15 br i1 %t16, label %ixok3, label %ixbad4 ixbad4: store i32 461, ptr @lp_site %t17 = call ptr @lp_win_stdio(i32 2) store i32 0, ptr @lp_site call i32 (ptr, ptr, ...) @fprintf(ptr %t17, ptr @.fmt_bounds, ptr @.str1106, i32 %t11, i32 %t15) call void @exit(i32 1) unreachable ixok3: %t18 = getelementptr inbounds ptr, ptr %t13, i32 %t11 %t19 = load ptr, ptr %t18 %t20 = getelementptr inbounds %Cmp_Tok, ptr %t19, i32 0, i32 0 %t21 = load i32, ptr %t20 %t22 = icmp eq i32 %t21, 0 %t23 = zext i1 %t22 to i32 %t24 = icmp ne i32 %t23, 0 %t25 = zext i1 %t24 to i32 store i32 %t25, ptr %t9 br i1 %t24, label %sc5, label %scend6 sc5: %t26 = load ptr, ptr @g_toks %t27 = load i32, ptr @g_pi %t28 = add i32 %t27, 1 %t29 = getelementptr inbounds %LSlice, ptr %t26, i32 0, i32 0 %t30 = load ptr, ptr %t29 %t31 = getelementptr inbounds %LSlice, ptr %t26, i32 0, i32 1 %t32 = load i32, ptr %t31 %t33 = icmp ult i32 %t28, %t32 br i1 %t33, label %ixok7, label %ixbad8 ixbad8: store i32 462, ptr @lp_site %t34 = call ptr @lp_win_stdio(i32 2) store i32 0, ptr @lp_site call i32 (ptr, ptr, ...) @fprintf(ptr %t34, ptr @.fmt_bounds, ptr @.str1108, i32 %t28, i32 %t32) call void @exit(i32 1) unreachable ixok7: %t35 = getelementptr inbounds ptr, ptr %t30, i32 %t28 %t36 = load ptr, ptr %t35 %t37 = getelementptr inbounds %Cmp_Tok, ptr %t36, i32 0, i32 0 %t38 = load i32, ptr %t37 %t39 = icmp eq i32 %t38, 3 %t40 = zext i1 %t39 to i32 %t41 = icmp ne i32 %t40, 0 %t42 = zext i1 %t41 to i32 store i32 %t42, ptr %t9 br label %scend6 scend6: %t43 = load i32, ptr %t9 %t44 = icmp ne i32 %t43, 0 %t45 = zext i1 %t44 to i32 store i32 %t45, ptr %t8 br i1 %t44, label %sc9, label %scend10 sc9: %t46 = load ptr, ptr @g_toks %t47 = load i32, ptr @g_pi %t48 = add i32 %t47, 1 %t49 = getelementptr inbounds %LSlice, ptr %t46, i32 0, i32 0 %t50 = load ptr, ptr %t49 %t51 = getelementptr inbounds %LSlice, ptr %t46, i32 0, i32 1 %t52 = load i32, ptr %t51 %t53 = icmp ult i32 %t48, %t52 br i1 %t53, label %ixok11, label %ixbad12 ixbad12: store i32 463, ptr @lp_site %t54 = call ptr @lp_win_stdio(i32 2) store i32 0, ptr @lp_site call i32 (ptr, ptr, ...) @fprintf(ptr %t54, ptr @.fmt_bounds, ptr @.str1109, i32 %t48, i32 %t52) call void @exit(i32 1) unreachable ixok11: %t55 = getelementptr inbounds ptr, ptr %t50, i32 %t48 %t56 = load ptr, ptr %t55 %t57 = getelementptr inbounds %Cmp_Tok, ptr %t56, i32 0, i32 1 %t58 = load ptr, ptr %t57 %t59 = call i32 @lp_str_eq(ptr %t58, ptr @.str1110) %t60 = icmp ne i32 %t59, 0 %t61 = zext i1 %t60 to i32 store i32 %t61, ptr %t8 br label %scend10 scend10: %t62 = load i32, ptr %t8 %t63 = icmp ne i32 %t62, 0 br i1 %t63, label %wbody1, label %wend2 wbody1: %t64 = call ptr @fn_node(i32 42) store ptr %t64, ptr %t65 %t66 = load ptr, ptr %t65 %t67 = getelementptr inbounds %Cmp_Node, ptr %t66, i32 0, i32 1 %t68 = call ptr @fn_eat_id() store ptr %t68, ptr %t67 call void @fn_eat_op(ptr @.str1111) %t69 = load ptr, ptr %t65 %t70 = getelementptr inbounds %Cmp_Node, ptr %t69, i32 0, i32 4 %t71 = call ptr @fn_expr() store ptr %t71, ptr %t70 %t72 = load ptr, ptr %t1 %t73 = getelementptr inbounds %Cmp_Node, ptr %t72, i32 0, i32 5 %t74 = load ptr, ptr %t73 %t75 = getelementptr inbounds %Cmp_Node, ptr %t74, i32 0, i32 7 %t76 = load ptr, ptr %t75 %t77 = load ptr, ptr %t65 %t78 = getelementptr inbounds %LSlice, ptr %t76, i32 0, i32 1 %t79 = getelementptr inbounds %LSlice, ptr %t76, i32 0, i32 2 %t80 = getelementptr inbounds %LSlice, ptr %t76, i32 0, i32 0 %t81 = load i32, ptr %t78 %t82 = load i32, ptr %t79 %t83 = icmp sge i32 %t81, %t82 br i1 %t83, label %grow13, label %put14 grow13: %t84 = mul i32 %t82, 2 %t85 = icmp eq i32 %t82, 0 %t86 = select i1 %t85, i32 8, i32 %t84 %t87 = getelementptr ptr, ptr null, i32 1 %t88 = ptrtoint ptr %t87 to i64 %t89 = zext i32 %t86 to i64 %t90 = mul i64 %t89, %t88 %t91 = load ptr, ptr %t80 store i32 464, ptr @lp_site %t92 = call ptr @lp_realloc(ptr %t91, i64 %t90) store i32 0, ptr @lp_site store ptr %t92, ptr %t80 store i32 %t86, ptr %t79 br label %put14 put14: %t93 = load ptr, ptr %t80 %t94 = getelementptr inbounds ptr, ptr %t93, i32 %t81 store ptr %t77, ptr %t94 %t95 = add i32 %t81, 1 store i32 %t95, ptr %t78 br label %wcond0 wend2: call void @fn_skipnl() %t96 = call i32 @fn_is_op(ptr @.str1112) %t97 = icmp ne i32 %t96, 0 br i1 %t97, label %then15, label %ifend17 then15: %t98 = load i32, ptr @g_pi %t99 = add i32 %t98, 1 store i32 %t99, ptr @g_pi br label %wcond18 wcond18: %t100 = icmp ne i32 1, 0 br i1 %t100, label %wbody19, label %wend20 wbody19: call void @fn_skipnl() %t101 = call i32 @fn_is_op(ptr @.str1113) %t102 = icmp ne i32 %t101, 0 br i1 %t102, label %then21, label %ifend23 then21: br label %wend20 ifend23: %t103 = load ptr, ptr %t1 %t104 = getelementptr inbounds %Cmp_Node, ptr %t103, i32 0, i32 7 %t105 = load ptr, ptr %t104 %t106 = call ptr @fn_parse_widget() %t107 = getelementptr inbounds %LSlice, ptr %t105, i32 0, i32 1 %t108 = getelementptr inbounds %LSlice, ptr %t105, i32 0, i32 2 %t109 = getelementptr inbounds %LSlice, ptr %t105, i32 0, i32 0 %t110 = load i32, ptr %t107 %t111 = load i32, ptr %t108 %t112 = icmp sge i32 %t110, %t111 br i1 %t112, label %grow24, label %put25 grow24: %t113 = mul i32 %t111, 2 %t114 = icmp eq i32 %t111, 0 %t115 = select i1 %t114, i32 8, i32 %t113 %t116 = getelementptr ptr, ptr null, i32 1 %t117 = ptrtoint ptr %t116 to i64 %t118 = zext i32 %t115 to i64 %t119 = mul i64 %t118, %t117 %t120 = load ptr, ptr %t109 store i32 465, ptr @lp_site %t121 = call ptr @lp_realloc(ptr %t120, i64 %t119) store i32 0, ptr @lp_site store ptr %t121, ptr %t109 store i32 %t115, ptr %t108 br label %put25 put25: %t122 = load ptr, ptr %t109 %t123 = getelementptr inbounds ptr, ptr %t122, i32 %t110 store ptr %t106, ptr %t123 %t124 = add i32 %t110, 1 store i32 %t124, ptr %t107 br label %wcond18 wend20: call void @fn_eat_op(ptr @.str1114) br label %ifend17 ifend17: %t125 = load ptr, ptr %t1 store ptr %t125, ptr %retval br label %ret ret: %t126 = load ptr, ptr %retval ret ptr %t126 } 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 @.str1115) 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 @.str1116) %t12 = load ptr, ptr %t3 store ptr %t12, ptr %retval br label %ret ret: %t13 = load ptr, ptr %retval ret ptr %t13 } define void @fn_gen_enter(ptr %arg_tps) { entry: %t0 = alloca ptr store ptr %arg_tps, ptr %t0 %t1 = load ptr, ptr %t0 store ptr %t1, ptr @g_g_gen_tps br label %ret ret: ret void } define ptr @fn_gen_params() { entry: %retval = alloca ptr %t0 = alloca ptr call void @fn_eat_op(ptr @.str1117) store ptr @.str1118, ptr %t0 br label %wcond0 wcond0: %t1 = call i32 @fn_is_op(ptr @.str1119) %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 %t0 %t6 = call i64 @strlen(ptr %t5) %t7 = trunc i64 %t6 to i32 %t8 = icmp sgt i32 %t7, 0 %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 i32 466, ptr @lp_site %t12 = call ptr @lp_str_concat(ptr %t11, ptr @.str1120) store i32 0, ptr @lp_site store ptr %t12, ptr %t0 br label %ifend5 ifend5: %t13 = load ptr, ptr %t0 %t14 = call ptr @fn_eat_id() store i32 467, ptr @lp_site %t15 = call ptr @lp_str_concat(ptr %t13, ptr %t14) store i32 0, ptr @lp_site store ptr %t15, ptr %t0 %t16 = call i32 @fn_is_op(ptr @.str1122) %t17 = icmp ne i32 %t16, 0 br i1 %t17, label %then6, label %ifend8 then6: %t18 = load i32, ptr @g_pi %t19 = add i32 %t18, 1 store i32 %t19, ptr @g_pi br label %ifend8 ifend8: br label %wcond0 wend2: call void @fn_eat_op(ptr @.str1123) %t20 = load ptr, ptr %t0 store ptr %t20, ptr %retval br label %ret ret: %t21 = load ptr, ptr %retval ret ptr %t21 } define i32 @fn_gen_name_ch(i32 %arg_c) { entry: %retval = alloca i32 %t0 = alloca i32 %t1 = alloca i32 %t14 = alloca i32 %t27 = alloca i32 %t40 = alloca i32 store i32 %arg_c, ptr %t0 %t2 = load i32, ptr %t0 %t3 = icmp sge i32 %t2, 97 %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, 122 %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, 65 %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, 90 %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: %t28 = load i32, ptr %t0 %t29 = icmp sge i32 %t28, 48 %t30 = zext i1 %t29 to i32 %t31 = icmp ne i32 %t30, 0 %t32 = zext i1 %t31 to i32 store i32 %t32, ptr %t27 br i1 %t31, label %sc10, label %scend11 sc10: %t33 = load i32, ptr %t0 %t34 = icmp sle i32 %t33, 57 %t35 = zext i1 %t34 to i32 %t36 = icmp ne i32 %t35, 0 %t37 = zext i1 %t36 to i32 store i32 %t37, ptr %t27 br label %scend11 scend11: %t38 = load i32, ptr %t27 %t39 = icmp ne i32 %t38, 0 br i1 %t39, label %then12, label %ifend14 then12: store i32 1, ptr %retval br label %ret ifend14: %t41 = load i32, ptr %t0 %t42 = icmp eq i32 %t41, 95 %t43 = zext i1 %t42 to i32 %t44 = icmp ne i32 %t43, 0 %t45 = zext i1 %t44 to i32 store i32 %t45, ptr %t40 br i1 %t44, label %scend16, label %sc15 sc15: %t46 = load i32, ptr %t0 %t47 = icmp eq i32 %t46, 36 %t48 = zext i1 %t47 to i32 %t49 = icmp ne i32 %t48, 0 %t50 = zext i1 %t49 to i32 store i32 %t50, ptr %t40 br label %scend16 scend16: %t51 = load i32, ptr %t40 store i32 %t51, ptr %retval br label %ret ret: %t52 = load i32, ptr %retval ret i32 %t52 } define ptr @fn_gen_mangle(ptr %arg_t) { entry: %retval = alloca ptr %t0 = alloca ptr %t1 = alloca ptr %t2 = alloca i32 %t6 = alloca i32 %t12 = alloca i32 %t13 = alloca i32 store ptr %arg_t, ptr %t0 store ptr @.str1124, ptr %t1 store i32 0, ptr %t2 %t3 = load ptr, ptr %t0 %t4 = call i64 @strlen(ptr %t3) %t5 = trunc i64 %t4 to i32 store i32 %t5, ptr %t6 br label %wcond0 wcond0: %t7 = load i32, ptr %t2 %t8 = load i32, ptr %t6 %t9 = icmp slt i32 %t7, %t8 %t10 = zext i1 %t9 to i32 %t11 = icmp ne i32 %t10, 0 br i1 %t11, label %wbody1, label %wend2 wbody1: %t14 = load ptr, ptr %t0 %t15 = load i32, ptr %t2 %t16 = getelementptr inbounds i8, ptr %t14, i32 %t15 %t17 = load i8, ptr %t16 %t18 = zext i8 %t17 to i32 %t19 = icmp eq i32 %t18, 91 %t20 = zext i1 %t19 to i32 %t21 = icmp ne i32 %t20, 0 %t22 = zext i1 %t21 to i32 store i32 %t22, ptr %t13 br i1 %t21, label %sc3, label %scend4 sc3: %t23 = load i32, ptr %t2 %t24 = add i32 %t23, 1 %t25 = load i32, ptr %t6 %t26 = icmp slt 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 %t13 br label %scend4 scend4: %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 %sc5, label %scend6 sc5: %t33 = load ptr, ptr %t0 %t34 = load i32, ptr %t2 %t35 = add i32 %t34, 1 %t36 = getelementptr inbounds i8, ptr %t33, i32 %t35 %t37 = load i8, ptr %t36 %t38 = zext i8 %t37 to i32 %t39 = icmp eq i32 %t38, 93 %t40 = zext i1 %t39 to i32 %t41 = icmp ne i32 %t40, 0 %t42 = zext i1 %t41 to i32 store i32 %t42, ptr %t12 br label %scend6 scend6: %t43 = load i32, ptr %t12 %t44 = icmp ne i32 %t43, 0 br i1 %t44, label %then7, label %ifend9 then7: %t45 = load ptr, ptr %t1 store i32 468, ptr @lp_site %t46 = call ptr @lp_str_concat(ptr %t45, ptr @.str1125) store i32 0, ptr @lp_site store ptr %t46, ptr %t1 %t47 = load i32, ptr %t2 %t48 = add i32 %t47, 2 store i32 %t48, ptr %t2 br label %wcond0 ifend9: %t49 = load ptr, ptr %t0 %t50 = load i32, ptr %t2 %t51 = getelementptr inbounds i8, ptr %t49, i32 %t50 %t52 = load i8, ptr %t51 %t53 = zext i8 %t52 to i32 %t54 = call i32 @fn_gen_name_ch(i32 %t53) %t55 = icmp ne i32 %t54, 0 br i1 %t55, label %then10, label %else11 then10: %t56 = load ptr, ptr %t1 %t57 = load ptr, ptr %t0 %t58 = load i32, ptr %t2 %t59 = load i32, ptr %t2 %t60 = add i32 %t59, 1 store i32 469, ptr @lp_site %t61 = call ptr @lp_str_slice(ptr %t57, i32 %t58, i32 %t60) store i32 0, ptr @lp_site store i32 470, ptr @lp_site %t62 = call ptr @lp_str_concat(ptr %t56, ptr %t61) store i32 0, ptr @lp_site call void @lp_free(ptr %t61) store ptr %t62, ptr %t1 br label %ifend12 else11: %t63 = load ptr, ptr %t1 store i32 471, ptr @lp_site %t64 = call ptr @lp_str_concat(ptr %t63, ptr @.str1127) store i32 0, ptr @lp_site store ptr %t64, ptr %t1 br label %ifend12 ifend12: %t65 = load i32, ptr %t2 %t66 = add i32 %t65, 1 store i32 %t66, ptr %t2 br label %wcond0 wend2: %t67 = load ptr, ptr %t1 store ptr %t67, ptr %retval br label %ret ret: %t68 = load ptr, ptr %retval ret ptr %t68 } define ptr @fn_gen_split(ptr %arg_s) { entry: %retval = alloca ptr %t0 = alloca ptr %t7 = alloca ptr %t8 = alloca i32 %t9 = alloca i32 %t13 = alloca i32 %t19 = alloca i32 store ptr %arg_s, ptr %t0 %t1 = getelementptr %LSlice, ptr null, i32 1 %t2 = ptrtoint ptr %t1 to i64 store i32 472, ptr @lp_site %t3 = call ptr @lp_malloc(i64 %t2) store i32 0, ptr @lp_site %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 store i32 0, ptr %t9 %t10 = load ptr, ptr %t0 %t11 = call i64 @strlen(ptr %t10) %t12 = trunc i64 %t11 to i32 store i32 %t12, ptr %t13 br label %wcond0 wcond0: %t14 = load i32, ptr %t9 %t15 = load i32, ptr %t13 %t16 = icmp sle i32 %t14, %t15 %t17 = zext i1 %t16 to i32 %t18 = icmp ne i32 %t17, 0 br i1 %t18, label %wbody1, label %wend2 wbody1: %t20 = load i32, ptr %t9 %t21 = load i32, ptr %t13 %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 %t19 br i1 %t24, label %scend4, label %sc3 sc3: %t26 = load ptr, ptr %t0 %t27 = load i32, ptr %t9 %t28 = getelementptr inbounds i8, ptr %t26, i32 %t27 %t29 = load i8, ptr %t28 %t30 = zext i8 %t29 to i32 %t31 = icmp eq i32 %t30, 124 %t32 = zext i1 %t31 to i32 %t33 = icmp ne i32 %t32, 0 %t34 = zext i1 %t33 to i32 store i32 %t34, ptr %t19 br label %scend4 scend4: %t35 = load i32, ptr %t19 %t36 = icmp ne i32 %t35, 0 br i1 %t36, label %then5, label %ifend7 then5: %t37 = load ptr, ptr %t7 %t38 = load ptr, ptr %t0 %t39 = load i32, ptr %t8 %t40 = load i32, ptr %t9 store i32 473, ptr @lp_site %t41 = call ptr @lp_str_slice(ptr %t38, i32 %t39, i32 %t40) store i32 0, ptr @lp_site %t42 = getelementptr inbounds %LSlice, ptr %t37, i32 0, i32 1 %t43 = getelementptr inbounds %LSlice, ptr %t37, i32 0, i32 2 %t44 = getelementptr inbounds %LSlice, ptr %t37, i32 0, i32 0 %t45 = load i32, ptr %t42 %t46 = load i32, ptr %t43 %t47 = icmp sge i32 %t45, %t46 br i1 %t47, label %grow8, label %put9 grow8: %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 store i32 474, ptr @lp_site %t56 = call ptr @lp_realloc(ptr %t55, i64 %t54) store i32 0, ptr @lp_site store ptr %t56, ptr %t44 store i32 %t50, ptr %t43 br label %put9 put9: %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 = load i32, ptr %t9 %t61 = add i32 %t60, 1 store i32 %t61, ptr %t8 br label %ifend7 ifend7: %t62 = load i32, ptr %t9 %t63 = add i32 %t62, 1 store i32 %t63, ptr %t9 br label %wcond0 wend2: %t64 = load ptr, ptr %t7 store ptr %t64, ptr %retval br label %ret ret: %t65 = load ptr, ptr %retval ret ptr %t65 } define i32 @fn_gen_is_param(ptr %arg_name, ptr %arg_tps) { entry: %retval = alloca i32 %t0 = alloca ptr %t1 = alloca ptr %t8 = alloca ptr %t9 = alloca i32 store ptr %arg_name, ptr %t0 store ptr %arg_tps, 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 ptr @fn_gen_split(ptr %t6) store ptr %t7, ptr %t8 store i32 0, ptr %t9 br label %wcond3 wcond3: %t10 = load i32, ptr %t9 %t11 = load ptr, ptr %t8 %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 %t8 %t18 = load i32, ptr %t9 %t19 = getelementptr inbounds %LSlice, ptr %t17, i32 0, i32 0 %t20 = load ptr, ptr %t19 %t21 = getelementptr inbounds %LSlice, ptr %t17, i32 0, i32 1 %t22 = load i32, ptr %t21 %t23 = icmp ult i32 %t18, %t22 br i1 %t23, label %ixok6, label %ixbad7 ixbad7: store i32 475, ptr @lp_site %t24 = call ptr @lp_win_stdio(i32 2) store i32 0, ptr @lp_site call i32 (ptr, ptr, ...) @fprintf(ptr %t24, ptr @.fmt_bounds, ptr @.str1129, i32 %t18, i32 %t22) call void @exit(i32 1) unreachable ixok6: %t25 = getelementptr inbounds ptr, ptr %t20, i32 %t18 %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 br i1 %t29, label %then8, label %ifend10 then8: store i32 1, ptr %retval br label %ret ifend10: %t30 = load i32, ptr %t9 %t31 = add i32 %t30, 1 store i32 %t31, ptr %t9 br label %wcond3 wend5: store i32 0, ptr %retval br label %ret ret: %t32 = load i32, ptr %retval ret i32 %t32 } define i32 @fn_gen_mentions(ptr %arg_t, ptr %arg_tps) { entry: %retval = alloca i32 %t0 = alloca ptr %t1 = alloca ptr %t6 = alloca i32 %t7 = alloca i32 %t11 = alloca i32 %t17 = alloca i32 %t24 = alloca i32 %t49 = alloca i32 store ptr %arg_t, ptr %t0 store ptr %arg_tps, 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: store i32 0, ptr %t6 store i32 0, ptr %t7 %t8 = load ptr, ptr %t0 %t9 = call i64 @strlen(ptr %t8) %t10 = trunc i64 %t9 to i32 store i32 %t10, ptr %t11 br label %wcond3 wcond3: %t12 = load i32, ptr %t7 %t13 = load i32, ptr %t11 %t14 = icmp sle i32 %t12, %t13 %t15 = zext i1 %t14 to i32 %t16 = icmp ne i32 %t15, 0 br i1 %t16, label %wbody4, label %wend5 wbody4: %t18 = load i32, ptr %t7 %t19 = load i32, ptr %t11 %t20 = icmp eq i32 %t18, %t19 %t21 = zext i1 %t20 to i32 %t22 = icmp ne i32 %t21, 0 %t23 = zext i1 %t22 to i32 store i32 %t23, ptr %t17 br i1 %t22, label %scend7, label %sc6 sc6: %t25 = load ptr, ptr %t0 %t26 = load i32, ptr %t7 %t27 = getelementptr inbounds i8, ptr %t25, i32 %t26 %t28 = load i8, ptr %t27 %t29 = zext i8 %t28 to i32 %t30 = call i32 @fn_gen_name_ch(i32 %t29) %t31 = icmp ne i32 %t30, 0 %t32 = zext i1 %t31 to i32 store i32 %t32, ptr %t24 br i1 %t31, label %sc8, label %scend9 sc8: %t33 = load ptr, ptr %t0 %t34 = load i32, ptr %t7 %t35 = getelementptr inbounds i8, ptr %t33, i32 %t34 %t36 = load i8, ptr %t35 %t37 = zext i8 %t36 to i32 %t38 = icmp ne i32 %t37, 36 %t39 = zext i1 %t38 to i32 %t40 = icmp ne i32 %t39, 0 %t41 = zext i1 %t40 to i32 store i32 %t41, ptr %t24 br label %scend9 scend9: %t42 = load i32, ptr %t24 %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 %t17 br label %scend7 scend7: %t47 = load i32, ptr %t17 %t48 = icmp ne i32 %t47, 0 br i1 %t48, label %then10, label %ifend12 then10: %t50 = load i32, ptr %t7 %t51 = load i32, ptr %t6 %t52 = icmp sgt i32 %t50, %t51 %t53 = zext i1 %t52 to i32 %t54 = icmp ne i32 %t53, 0 %t55 = zext i1 %t54 to i32 store i32 %t55, ptr %t49 br i1 %t54, label %sc13, label %scend14 sc13: %t56 = load ptr, ptr %t0 %t57 = load i32, ptr %t6 %t58 = load i32, ptr %t7 store i32 476, ptr @lp_site %t59 = call ptr @lp_str_slice(ptr %t56, i32 %t57, i32 %t58) store i32 0, ptr @lp_site %t60 = load ptr, ptr %t1 %t61 = call i32 @fn_gen_is_param(ptr %t59, ptr %t60) %t62 = icmp ne i32 %t61, 0 %t63 = zext i1 %t62 to i32 store i32 %t63, ptr %t49 br label %scend14 scend14: %t64 = load i32, ptr %t49 %t65 = icmp ne i32 %t64, 0 br i1 %t65, label %then15, label %ifend17 then15: store i32 1, ptr %retval br label %ret ifend17: %t66 = load i32, ptr %t7 %t67 = add i32 %t66, 1 store i32 %t67, ptr %t6 br label %ifend12 ifend12: %t68 = load i32, ptr %t7 %t69 = add i32 %t68, 1 store i32 %t69, ptr %t7 br label %wcond3 wend5: store i32 0, ptr %retval br label %ret ret: %t70 = load i32, ptr %retval ret i32 %t70 } define i32 @fn_gen_find(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_gi_name %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_gi_name %t10 = load i32, ptr %t1 %t11 = getelementptr inbounds %LSlice, ptr %t9, i32 0, i32 0 %t12 = load ptr, ptr %t11 %t13 = getelementptr inbounds %LSlice, ptr %t9, i32 0, i32 1 %t14 = load i32, ptr %t13 %t15 = icmp ult i32 %t10, %t14 br i1 %t15, label %ixok3, label %ixbad4 ixbad4: store i32 477, ptr @lp_site %t16 = call ptr @lp_win_stdio(i32 2) store i32 0, ptr @lp_site call i32 (ptr, ptr, ...) @fprintf(ptr %t16, ptr @.fmt_bounds, ptr @.str1132, i32 %t10, i32 %t14) call void @exit(i32 1) unreachable ixok3: %t17 = getelementptr inbounds ptr, ptr %t12, i32 %t10 %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 br i1 %t21, label %then5, label %ifend7 then5: %t22 = load i32, ptr %t1 store i32 %t22, ptr %retval br label %ret ifend7: %t23 = load i32, ptr %t1 %t24 = add i32 %t23, 1 store i32 %t24, ptr %t1 br label %wcond0 wend2: %t25 = sub i32 0, 1 store i32 %t25, ptr %retval br label %ret ret: %t26 = load i32, ptr %retval ret i32 %t26 } define ptr @fn_gen_instance(ptr %arg_gen, ptr %arg_args) { entry: %retval = alloca ptr %t0 = alloca ptr %t1 = alloca ptr %t2 = alloca ptr %t4 = alloca ptr %t5 = alloca i32 %t6 = alloca i32 %t59 = alloca i32 %t208 = alloca i32 %t209 = alloca i32 store ptr %arg_gen, ptr %t0 store ptr %arg_args, ptr %t1 %t3 = load ptr, ptr %t0 store ptr %t3, ptr %t2 store ptr @.str1134, ptr %t4 store i32 0, ptr %t5 store i32 0, ptr %t6 br label %wcond0 wcond0: %t7 = load i32, ptr %t6 %t8 = load ptr, ptr %t1 %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 %t2 store i32 478, ptr @lp_site %t15 = call ptr @lp_str_concat(ptr %t14, ptr @.str1135) store i32 0, ptr @lp_site %t16 = load ptr, ptr %t1 %t17 = load i32, ptr %t6 %t18 = getelementptr inbounds %LSlice, ptr %t16, i32 0, i32 0 %t19 = load ptr, ptr %t18 %t20 = getelementptr inbounds %LSlice, ptr %t16, i32 0, i32 1 %t21 = load i32, ptr %t20 %t22 = icmp ult i32 %t17, %t21 br i1 %t22, label %ixok3, label %ixbad4 ixbad4: store i32 479, ptr @lp_site %t23 = call ptr @lp_win_stdio(i32 2) store i32 0, ptr @lp_site call i32 (ptr, ptr, ...) @fprintf(ptr %t23, ptr @.fmt_bounds, ptr @.str1137, i32 %t17, i32 %t21) call void @exit(i32 1) unreachable ixok3: %t24 = getelementptr inbounds ptr, ptr %t19, i32 %t17 %t25 = load ptr, ptr %t24 %t26 = call ptr @fn_gen_mangle(ptr %t25) store i32 480, ptr @lp_site %t27 = call ptr @lp_str_concat(ptr %t15, ptr %t26) store i32 0, ptr @lp_site call void @lp_free(ptr %t15) store ptr %t27, ptr %t2 %t28 = load i32, ptr %t6 %t29 = icmp sgt i32 %t28, 0 %t30 = zext i1 %t29 to i32 %t31 = icmp ne i32 %t30, 0 br i1 %t31, label %then5, label %ifend7 then5: %t32 = load ptr, ptr %t4 store i32 481, ptr @lp_site %t33 = call ptr @lp_str_concat(ptr %t32, ptr @.str1138) store i32 0, ptr @lp_site store ptr %t33, ptr %t4 br label %ifend7 ifend7: %t34 = load ptr, ptr %t4 %t35 = load ptr, ptr %t1 %t36 = load i32, ptr %t6 %t37 = getelementptr inbounds %LSlice, ptr %t35, i32 0, i32 0 %t38 = load ptr, ptr %t37 %t39 = getelementptr inbounds %LSlice, ptr %t35, i32 0, i32 1 %t40 = load i32, ptr %t39 %t41 = icmp ult i32 %t36, %t40 br i1 %t41, label %ixok8, label %ixbad9 ixbad9: store i32 482, ptr @lp_site %t42 = call ptr @lp_win_stdio(i32 2) store i32 0, ptr @lp_site call i32 (ptr, ptr, ...) @fprintf(ptr %t42, ptr @.fmt_bounds, ptr @.str1139, i32 %t36, i32 %t40) call void @exit(i32 1) unreachable ixok8: %t43 = getelementptr inbounds ptr, ptr %t38, i32 %t36 %t44 = load ptr, ptr %t43 store i32 483, ptr @lp_site %t45 = call ptr @lp_str_concat(ptr %t34, ptr %t44) store i32 0, ptr @lp_site store ptr %t45, ptr %t4 %t46 = load ptr, ptr %t1 %t47 = load i32, ptr %t6 %t48 = getelementptr inbounds %LSlice, ptr %t46, i32 0, i32 0 %t49 = load ptr, ptr %t48 %t50 = getelementptr inbounds %LSlice, ptr %t46, i32 0, i32 1 %t51 = load i32, ptr %t50 %t52 = icmp ult i32 %t47, %t51 br i1 %t52, label %ixok10, label %ixbad11 ixbad11: store i32 484, ptr @lp_site %t53 = call ptr @lp_win_stdio(i32 2) store i32 0, ptr @lp_site call i32 (ptr, ptr, ...) @fprintf(ptr %t53, ptr @.fmt_bounds, ptr @.str1140, i32 %t47, i32 %t51) call void @exit(i32 1) unreachable ixok10: %t54 = getelementptr inbounds ptr, ptr %t49, i32 %t47 %t55 = load ptr, ptr %t54 %t56 = load ptr, ptr @g_g_gen_tps %t57 = call i32 @fn_gen_mentions(ptr %t55, ptr %t56) %t58 = icmp ne i32 %t57, 0 br i1 %t58, label %then12, label %ifend14 then12: store i32 1, ptr %t5 br label %ifend14 ifend14: %t60 = load ptr, ptr %t1 %t61 = load i32, ptr %t6 %t62 = getelementptr inbounds %LSlice, ptr %t60, i32 0, i32 0 %t63 = load ptr, ptr %t62 %t64 = getelementptr inbounds %LSlice, ptr %t60, i32 0, i32 1 %t65 = load i32, ptr %t64 %t66 = icmp ult i32 %t61, %t65 br i1 %t66, label %ixok15, label %ixbad16 ixbad16: store i32 485, ptr @lp_site %t67 = call ptr @lp_win_stdio(i32 2) store i32 0, ptr @lp_site call i32 (ptr, ptr, ...) @fprintf(ptr %t67, ptr @.fmt_bounds, ptr @.str1141, i32 %t61, i32 %t65) call void @exit(i32 1) unreachable ixok15: %t68 = getelementptr inbounds ptr, ptr %t63, i32 %t61 %t69 = load ptr, ptr %t68 %t70 = call i32 @fn_gen_find(ptr %t69) %t71 = icmp sge i32 %t70, 0 %t72 = zext i1 %t71 to i32 %t73 = icmp ne i32 %t72, 0 %t74 = zext i1 %t73 to i32 store i32 %t74, ptr %t59 br i1 %t73, label %sc17, label %scend18 sc17: %t75 = load ptr, ptr @g_g_gi_open %t76 = load ptr, ptr %t1 %t77 = load i32, ptr %t6 %t78 = getelementptr inbounds %LSlice, ptr %t76, i32 0, i32 0 %t79 = load ptr, ptr %t78 %t80 = getelementptr inbounds %LSlice, ptr %t76, i32 0, i32 1 %t81 = load i32, ptr %t80 %t82 = icmp ult i32 %t77, %t81 br i1 %t82, label %ixok19, label %ixbad20 ixbad20: store i32 486, ptr @lp_site %t83 = call ptr @lp_win_stdio(i32 2) store i32 0, ptr @lp_site call i32 (ptr, ptr, ...) @fprintf(ptr %t83, ptr @.fmt_bounds, ptr @.str1142, i32 %t77, i32 %t81) call void @exit(i32 1) unreachable ixok19: %t84 = getelementptr inbounds ptr, ptr %t79, i32 %t77 %t85 = load ptr, ptr %t84 %t86 = call i32 @fn_gen_find(ptr %t85) %t87 = getelementptr inbounds %LSlice, ptr %t75, i32 0, i32 0 %t88 = load ptr, ptr %t87 %t89 = getelementptr inbounds %LSlice, ptr %t75, i32 0, i32 1 %t90 = load i32, ptr %t89 %t91 = icmp ult i32 %t86, %t90 br i1 %t91, label %ixok21, label %ixbad22 ixbad22: store i32 487, ptr @lp_site %t92 = call ptr @lp_win_stdio(i32 2) store i32 0, ptr @lp_site call i32 (ptr, ptr, ...) @fprintf(ptr %t92, ptr @.fmt_bounds, ptr @.str1143, i32 %t86, i32 %t90) call void @exit(i32 1) unreachable ixok21: %t93 = getelementptr inbounds i32, ptr %t88, i32 %t86 %t94 = load i32, ptr %t93 %t95 = icmp eq i32 %t94, 1 %t96 = zext i1 %t95 to i32 %t97 = icmp ne i32 %t96, 0 %t98 = zext i1 %t97 to i32 store i32 %t98, ptr %t59 br label %scend18 scend18: %t99 = load i32, ptr %t59 %t100 = icmp ne i32 %t99, 0 br i1 %t100, label %then23, label %ifend25 then23: store i32 1, ptr %t5 br label %ifend25 ifend25: %t101 = load i32, ptr %t6 %t102 = add i32 %t101, 1 store i32 %t102, ptr %t6 br label %wcond0 wend2: %t103 = load ptr, ptr %t2 %t104 = call i32 @fn_gen_find(ptr %t103) %t105 = icmp slt i32 %t104, 0 %t106 = zext i1 %t105 to i32 %t107 = icmp ne i32 %t106, 0 br i1 %t107, label %then26, label %ifend28 then26: %t108 = load ptr, ptr @g_g_gi_name %t109 = load ptr, ptr %t2 %t110 = getelementptr inbounds %LSlice, ptr %t108, i32 0, i32 1 %t111 = getelementptr inbounds %LSlice, ptr %t108, i32 0, i32 2 %t112 = getelementptr inbounds %LSlice, ptr %t108, i32 0, i32 0 %t113 = load i32, ptr %t110 %t114 = load i32, ptr %t111 %t115 = icmp sge i32 %t113, %t114 br i1 %t115, label %grow29, label %put30 grow29: %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 store i32 488, ptr @lp_site %t124 = call ptr @lp_realloc(ptr %t123, i64 %t122) store i32 0, ptr @lp_site store ptr %t124, ptr %t112 store i32 %t118, ptr %t111 br label %put30 put30: %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 ptr, ptr @g_g_gi_gen %t129 = load ptr, ptr %t0 %t130 = getelementptr inbounds %LSlice, ptr %t128, i32 0, i32 1 %t131 = getelementptr inbounds %LSlice, ptr %t128, i32 0, i32 2 %t132 = getelementptr inbounds %LSlice, ptr %t128, i32 0, i32 0 %t133 = load i32, ptr %t130 %t134 = load i32, ptr %t131 %t135 = icmp sge i32 %t133, %t134 br i1 %t135, label %grow31, label %put32 grow31: %t136 = mul i32 %t134, 2 %t137 = icmp eq i32 %t134, 0 %t138 = select i1 %t137, i32 8, i32 %t136 %t139 = getelementptr ptr, ptr null, i32 1 %t140 = ptrtoint ptr %t139 to i64 %t141 = zext i32 %t138 to i64 %t142 = mul i64 %t141, %t140 %t143 = load ptr, ptr %t132 store i32 489, ptr @lp_site %t144 = call ptr @lp_realloc(ptr %t143, i64 %t142) store i32 0, ptr @lp_site store ptr %t144, ptr %t132 store i32 %t138, ptr %t131 br label %put32 put32: %t145 = load ptr, ptr %t132 %t146 = getelementptr inbounds ptr, ptr %t145, i32 %t133 store ptr %t129, ptr %t146 %t147 = add i32 %t133, 1 store i32 %t147, ptr %t130 %t148 = load ptr, ptr @g_g_gi_args %t149 = load ptr, ptr %t4 %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 %grow33, label %put34 grow33: %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 store i32 490, ptr @lp_site %t164 = call ptr @lp_realloc(ptr %t163, i64 %t162) store i32 0, ptr @lp_site store ptr %t164, ptr %t152 store i32 %t158, ptr %t151 br label %put34 put34: %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 @g_g_gi_open %t169 = load i32, ptr %t5 %t170 = getelementptr inbounds %LSlice, ptr %t168, i32 0, i32 1 %t171 = getelementptr inbounds %LSlice, ptr %t168, i32 0, i32 2 %t172 = getelementptr inbounds %LSlice, ptr %t168, i32 0, i32 0 %t173 = load i32, ptr %t170 %t174 = load i32, ptr %t171 %t175 = icmp sge i32 %t173, %t174 br i1 %t175, label %grow35, label %put36 grow35: %t176 = mul i32 %t174, 2 %t177 = icmp eq i32 %t174, 0 %t178 = select i1 %t177, i32 8, i32 %t176 %t179 = getelementptr i32, ptr null, i32 1 %t180 = ptrtoint ptr %t179 to i64 %t181 = zext i32 %t178 to i64 %t182 = mul i64 %t181, %t180 %t183 = load ptr, ptr %t172 store i32 491, ptr @lp_site %t184 = call ptr @lp_realloc(ptr %t183, i64 %t182) store i32 0, ptr @lp_site store ptr %t184, ptr %t172 store i32 %t178, ptr %t171 br label %put36 put36: %t185 = load ptr, ptr %t172 %t186 = getelementptr inbounds i32, ptr %t185, i32 %t173 store i32 %t169, ptr %t186 %t187 = add i32 %t173, 1 store i32 %t187, ptr %t170 %t188 = load ptr, ptr @g_g_gi_file %t189 = load ptr, ptr @g_g_parse_file %t190 = getelementptr inbounds %LSlice, ptr %t188, i32 0, i32 1 %t191 = getelementptr inbounds %LSlice, ptr %t188, i32 0, i32 2 %t192 = getelementptr inbounds %LSlice, ptr %t188, i32 0, i32 0 %t193 = load i32, ptr %t190 %t194 = load i32, ptr %t191 %t195 = icmp sge i32 %t193, %t194 br i1 %t195, label %grow37, label %put38 grow37: %t196 = mul i32 %t194, 2 %t197 = icmp eq i32 %t194, 0 %t198 = select i1 %t197, i32 8, i32 %t196 %t199 = getelementptr ptr, ptr null, i32 1 %t200 = ptrtoint ptr %t199 to i64 %t201 = zext i32 %t198 to i64 %t202 = mul i64 %t201, %t200 %t203 = load ptr, ptr %t192 store i32 492, ptr @lp_site %t204 = call ptr @lp_realloc(ptr %t203, i64 %t202) store i32 0, ptr @lp_site store ptr %t204, ptr %t192 store i32 %t198, ptr %t191 br label %put38 put38: %t205 = load ptr, ptr %t192 %t206 = getelementptr inbounds ptr, ptr %t205, i32 %t193 store ptr %t189, ptr %t206 %t207 = add i32 %t193, 1 store i32 %t207, ptr %t190 store i32 0, ptr %t208 %t210 = load i32, ptr @g_g_parsing %t211 = icmp ne i32 %t210, 0 %t212 = zext i1 %t211 to i32 store i32 %t212, ptr %t209 br i1 %t211, label %sc39, label %scend40 sc39: %t213 = load i32, ptr @g_pi %t214 = load ptr, ptr @g_toks %t215 = getelementptr inbounds %LSlice, ptr %t214, i32 0, i32 1 %t216 = load i32, ptr %t215 %t217 = icmp slt i32 %t213, %t216 %t218 = zext i1 %t217 to i32 %t219 = icmp ne i32 %t218, 0 %t220 = zext i1 %t219 to i32 store i32 %t220, ptr %t209 br label %scend40 scend40: %t221 = load i32, ptr %t209 %t222 = icmp ne i32 %t221, 0 br i1 %t222, label %then41, label %ifend43 then41: %t223 = load ptr, ptr @g_toks %t224 = load i32, ptr @g_pi %t225 = getelementptr inbounds %LSlice, ptr %t223, i32 0, i32 0 %t226 = load ptr, ptr %t225 %t227 = getelementptr inbounds %LSlice, ptr %t223, i32 0, i32 1 %t228 = load i32, ptr %t227 %t229 = icmp ult i32 %t224, %t228 br i1 %t229, label %ixok44, label %ixbad45 ixbad45: store i32 493, ptr @lp_site %t230 = call ptr @lp_win_stdio(i32 2) store i32 0, ptr @lp_site call i32 (ptr, ptr, ...) @fprintf(ptr %t230, ptr @.fmt_bounds, ptr @.str1144, i32 %t224, i32 %t228) call void @exit(i32 1) unreachable ixok44: %t231 = getelementptr inbounds ptr, ptr %t226, i32 %t224 %t232 = load ptr, ptr %t231 %t233 = getelementptr inbounds %Cmp_Tok, ptr %t232, i32 0, i32 3 %t234 = load i32, ptr %t233 store i32 %t234, ptr %t208 br label %ifend43 ifend43: %t235 = load ptr, ptr @g_g_gi_line %t236 = load i32, ptr %t208 %t237 = getelementptr inbounds %LSlice, ptr %t235, i32 0, i32 1 %t238 = getelementptr inbounds %LSlice, ptr %t235, i32 0, i32 2 %t239 = getelementptr inbounds %LSlice, ptr %t235, i32 0, i32 0 %t240 = load i32, ptr %t237 %t241 = load i32, ptr %t238 %t242 = icmp sge i32 %t240, %t241 br i1 %t242, label %grow46, label %put47 grow46: %t243 = mul i32 %t241, 2 %t244 = icmp eq i32 %t241, 0 %t245 = select i1 %t244, i32 8, i32 %t243 %t246 = getelementptr i32, ptr null, i32 1 %t247 = ptrtoint ptr %t246 to i64 %t248 = zext i32 %t245 to i64 %t249 = mul i64 %t248, %t247 %t250 = load ptr, ptr %t239 store i32 494, ptr @lp_site %t251 = call ptr @lp_realloc(ptr %t250, i64 %t249) store i32 0, ptr @lp_site store ptr %t251, ptr %t239 store i32 %t245, ptr %t238 br label %put47 put47: %t252 = load ptr, ptr %t239 %t253 = getelementptr inbounds i32, ptr %t252, i32 %t240 store i32 %t236, ptr %t253 %t254 = add i32 %t240, 1 store i32 %t254, ptr %t237 br label %ifend28 ifend28: %t255 = load ptr, ptr %t2 store ptr %t255, ptr %retval br label %ret ret: %t256 = load ptr, ptr %retval ret ptr %t256 } define ptr @fn_gen_type_args(ptr %arg_gen) { entry: %retval = alloca ptr %t0 = alloca ptr %t7 = alloca ptr store ptr %arg_gen, ptr %t0 call void @fn_eat_op(ptr @.str1145) %t1 = getelementptr %LSlice, ptr null, i32 1 %t2 = ptrtoint ptr %t1 to i64 store i32 495, ptr @lp_site %t3 = call ptr @lp_malloc(i64 %t2) store i32 0, ptr @lp_site %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 br label %wcond0 wcond0: %t8 = icmp ne i32 1, 0 br i1 %t8, label %wbody1, label %wend2 wbody1: %t9 = call i32 @fn_is_op(ptr @.str1147) %t10 = icmp ne i32 %t9, 0 br i1 %t10, label %then3, label %ifend5 then3: %t11 = load ptr, ptr @g_toks %t12 = load i32, ptr @g_pi %t13 = getelementptr inbounds %LSlice, ptr %t11, i32 0, i32 0 %t14 = load ptr, ptr %t13 %t15 = getelementptr inbounds %LSlice, ptr %t11, i32 0, i32 1 %t16 = load i32, ptr %t15 %t17 = icmp ult i32 %t12, %t16 br i1 %t17, label %ixok6, label %ixbad7 ixbad7: store i32 496, ptr @lp_site %t18 = call ptr @lp_win_stdio(i32 2) store i32 0, ptr @lp_site call i32 (ptr, ptr, ...) @fprintf(ptr %t18, ptr @.fmt_bounds, ptr @.str1148, i32 %t12, i32 %t16) call void @exit(i32 1) unreachable ixok6: %t19 = getelementptr inbounds ptr, ptr %t14, i32 %t12 %t20 = load ptr, ptr %t19 %t21 = getelementptr inbounds %Cmp_Tok, ptr %t20, i32 0, i32 1 store ptr @.str1149, ptr %t21 br label %wend2 ifend5: %t22 = call i32 @fn_is_op(ptr @.str1150) %t23 = icmp ne i32 %t22, 0 br i1 %t23, label %then8, label %ifend10 then8: %t24 = load i32, ptr @g_pi %t25 = add i32 %t24, 1 store i32 %t25, ptr @g_pi br label %wend2 ifend10: %t26 = load ptr, ptr %t7 %t27 = call ptr @fn_ptype() %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 %grow11, label %put12 grow11: %t34 = mul i32 %t32, 2 %t35 = icmp eq i32 %t32, 0 %t36 = select i1 %t35, i32 8, i32 %t34 %t37 = getelementptr ptr, 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 store i32 497, ptr @lp_site %t42 = call ptr @lp_realloc(ptr %t41, i64 %t40) store i32 0, ptr @lp_site store ptr %t42, ptr %t30 store i32 %t36, ptr %t29 br label %put12 put12: %t43 = load ptr, ptr %t30 %t44 = getelementptr inbounds ptr, ptr %t43, i32 %t31 store ptr %t27, ptr %t44 %t45 = add i32 %t31, 1 store i32 %t45, ptr %t28 %t46 = call i32 @fn_is_op(ptr @.str1151) %t47 = icmp ne i32 %t46, 0 br i1 %t47, label %then13, label %ifend15 then13: %t48 = load i32, ptr @g_pi %t49 = add i32 %t48, 1 store i32 %t49, ptr @g_pi br label %ifend15 ifend15: br label %wcond0 wend2: %t50 = load ptr, ptr %t0 %t51 = load ptr, ptr %t7 %t52 = call ptr @fn_gen_instance(ptr %t50, ptr %t51) store ptr %t52, ptr %retval br label %ret ret: %t53 = load ptr, ptr %retval ret ptr %t53 } define void @fn_ns_parse_alias(ptr %arg_nsname, i32 %arg_is_exp) { entry: %t0 = alloca ptr %t1 = alloca i32 %t5 = alloca ptr %t6 = alloca ptr %t31 = alloca ptr store ptr %arg_nsname, ptr %t0 store i32 %arg_is_exp, ptr %t1 %t2 = load i32, ptr @g_pi %t3 = add i32 %t2, 1 store i32 %t3, ptr @g_pi %t4 = call ptr @fn_eat_id() store ptr %t4, ptr %t5 store ptr null, ptr %t6 %t7 = call i32 @fn_is_op(ptr @.str1152) %t8 = icmp ne i32 %t7, 0 br i1 %t8, label %then0, label %ifend2 then0: %t9 = load i32, ptr @g_pi %t10 = add i32 %t9, 1 store i32 %t10, ptr @g_pi store ptr @.str1153, ptr %t6 br label %wcond3 wcond3: %t11 = call i32 @fn_is_op(ptr @.str1154) %t12 = icmp eq i32 %t11, 0 %t13 = zext i1 %t12 to i32 %t14 = icmp ne i32 %t13, 0 br i1 %t14, label %wbody4, label %wend5 wbody4: %t15 = load ptr, ptr %t6 %t16 = call i64 @strlen(ptr %t15) %t17 = trunc i64 %t16 to i32 %t18 = icmp sgt i32 %t17, 0 %t19 = zext i1 %t18 to i32 %t20 = icmp ne i32 %t19, 0 br i1 %t20, label %then6, label %ifend8 then6: %t21 = load ptr, ptr %t6 store i32 498, ptr @lp_site %t22 = call ptr @lp_str_concat(ptr %t21, ptr @.str1155) store i32 0, ptr @lp_site store ptr %t22, ptr %t6 br label %ifend8 ifend8: %t23 = load ptr, ptr %t6 %t24 = call ptr @fn_eat_id() store i32 499, ptr @lp_site %t25 = call ptr @lp_str_concat(ptr %t23, ptr %t24) store i32 0, ptr @lp_site store ptr %t25, ptr %t6 %t26 = call i32 @fn_is_op(ptr @.str1157) %t27 = icmp ne i32 %t26, 0 br i1 %t27, label %then9, label %ifend11 then9: %t28 = load i32, ptr @g_pi %t29 = add i32 %t28, 1 store i32 %t29, ptr @g_pi br label %ifend11 ifend11: br label %wcond3 wend5: call void @fn_eat_op(ptr @.str1158) br label %ifend2 ifend2: call void @fn_eat_op(ptr @.str1159) %t30 = call ptr @fn_eat_id() store ptr %t30, ptr %t31 %t32 = load ptr, ptr %t0 call void @fn_register_namespace(ptr %t32) %t33 = load i32, ptr %t1 %t34 = icmp eq i32 %t33, 0 %t35 = zext i1 %t34 to i32 %t36 = icmp ne i32 %t35, 0 br i1 %t36, label %then12, label %ifend14 then12: br label %ret ifend14: %t37 = load ptr, ptr %t0 %t38 = load ptr, ptr %t5 %t39 = call i32 @fn_ns_alias_find(ptr %t37, ptr %t38) %t40 = icmp sge i32 %t39, 0 %t41 = zext i1 %t40 to i32 %t42 = icmp ne i32 %t41, 0 br i1 %t42, label %then15, label %ifend17 then15: %t43 = load ptr, ptr %t0 store i32 500, ptr @lp_site %t44 = call ptr @lp_str_concat(ptr %t43, ptr @.str1160) store i32 0, ptr @lp_site %t45 = load ptr, ptr %t5 store i32 501, ptr @lp_site %t46 = call ptr @lp_str_concat(ptr %t44, ptr %t45) store i32 0, ptr @lp_site call void @lp_free(ptr %t44) store i32 502, ptr @lp_site %t47 = call ptr @lp_str_concat(ptr %t46, ptr @.str1161) store i32 0, ptr @lp_site call void @lp_free(ptr %t46) call void @fn_perr(ptr %t47) br label %ifend17 ifend17: %t48 = load ptr, ptr @g_g_al_ns %t49 = load ptr, ptr %t0 %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 %grow18, label %put19 grow18: %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 store i32 503, ptr @lp_site %t64 = call ptr @lp_realloc(ptr %t63, i64 %t62) store i32 0, ptr @lp_site store ptr %t64, ptr %t52 store i32 %t58, ptr %t51 br label %put19 put19: %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 %t68 = load ptr, ptr @g_g_al_meth %t69 = load ptr, ptr %t5 %t70 = getelementptr inbounds %LSlice, ptr %t68, i32 0, i32 1 %t71 = getelementptr inbounds %LSlice, ptr %t68, i32 0, i32 2 %t72 = getelementptr inbounds %LSlice, ptr %t68, i32 0, i32 0 %t73 = load i32, ptr %t70 %t74 = load i32, ptr %t71 %t75 = icmp sge i32 %t73, %t74 br i1 %t75, label %grow20, label %put21 grow20: %t76 = mul i32 %t74, 2 %t77 = icmp eq i32 %t74, 0 %t78 = select i1 %t77, i32 8, i32 %t76 %t79 = getelementptr ptr, ptr null, i32 1 %t80 = ptrtoint ptr %t79 to i64 %t81 = zext i32 %t78 to i64 %t82 = mul i64 %t81, %t80 %t83 = load ptr, ptr %t72 store i32 504, ptr @lp_site %t84 = call ptr @lp_realloc(ptr %t83, i64 %t82) store i32 0, ptr @lp_site store ptr %t84, ptr %t72 store i32 %t78, ptr %t71 br label %put21 put21: %t85 = load ptr, ptr %t72 %t86 = getelementptr inbounds ptr, ptr %t85, i32 %t73 store ptr %t69, ptr %t86 %t87 = add i32 %t73, 1 store i32 %t87, ptr %t70 %t88 = load ptr, ptr @g_g_al_target %t89 = load ptr, ptr %t31 %t90 = getelementptr inbounds %LSlice, ptr %t88, i32 0, i32 1 %t91 = getelementptr inbounds %LSlice, ptr %t88, i32 0, i32 2 %t92 = getelementptr inbounds %LSlice, ptr %t88, i32 0, i32 0 %t93 = load i32, ptr %t90 %t94 = load i32, ptr %t91 %t95 = icmp sge i32 %t93, %t94 br i1 %t95, label %grow22, label %put23 grow22: %t96 = mul i32 %t94, 2 %t97 = icmp eq i32 %t94, 0 %t98 = select i1 %t97, i32 8, i32 %t96 %t99 = getelementptr ptr, ptr null, i32 1 %t100 = ptrtoint ptr %t99 to i64 %t101 = zext i32 %t98 to i64 %t102 = mul i64 %t101, %t100 %t103 = load ptr, ptr %t92 store i32 505, ptr @lp_site %t104 = call ptr @lp_realloc(ptr %t103, i64 %t102) store i32 0, ptr @lp_site store ptr %t104, ptr %t92 store i32 %t98, ptr %t91 br label %put23 put23: %t105 = load ptr, ptr %t92 %t106 = getelementptr inbounds ptr, ptr %t105, i32 %t93 store ptr %t89, ptr %t106 %t107 = add i32 %t93, 1 store i32 %t107, ptr %t90 %t108 = load ptr, ptr @g_g_al_labels %t109 = load ptr, ptr %t6 %t110 = getelementptr inbounds %LSlice, ptr %t108, i32 0, i32 1 %t111 = getelementptr inbounds %LSlice, ptr %t108, i32 0, i32 2 %t112 = getelementptr inbounds %LSlice, ptr %t108, i32 0, i32 0 %t113 = load i32, ptr %t110 %t114 = load i32, ptr %t111 %t115 = icmp sge i32 %t113, %t114 br i1 %t115, label %grow24, label %put25 grow24: %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 store i32 506, ptr @lp_site %t124 = call ptr @lp_realloc(ptr %t123, i64 %t122) store i32 0, ptr @lp_site store ptr %t124, ptr %t112 store i32 %t118, ptr %t111 br label %put25 put25: %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 ptr, ptr @g_g_al_file %t129 = load ptr, ptr @g_g_parse_file %t130 = getelementptr inbounds %LSlice, ptr %t128, i32 0, i32 1 %t131 = getelementptr inbounds %LSlice, ptr %t128, i32 0, i32 2 %t132 = getelementptr inbounds %LSlice, ptr %t128, i32 0, i32 0 %t133 = load i32, ptr %t130 %t134 = load i32, ptr %t131 %t135 = icmp sge i32 %t133, %t134 br i1 %t135, label %grow26, label %put27 grow26: %t136 = mul i32 %t134, 2 %t137 = icmp eq i32 %t134, 0 %t138 = select i1 %t137, i32 8, i32 %t136 %t139 = getelementptr ptr, ptr null, i32 1 %t140 = ptrtoint ptr %t139 to i64 %t141 = zext i32 %t138 to i64 %t142 = mul i64 %t141, %t140 %t143 = load ptr, ptr %t132 store i32 507, ptr @lp_site %t144 = call ptr @lp_realloc(ptr %t143, i64 %t142) store i32 0, ptr @lp_site store ptr %t144, ptr %t132 store i32 %t138, ptr %t131 br label %put27 put27: %t145 = load ptr, ptr %t132 %t146 = getelementptr inbounds ptr, ptr %t145, i32 %t133 store ptr %t129, ptr %t146 %t147 = add i32 %t133, 1 store i32 %t147, ptr %t130 br label %ret ret: ret void } define i32 @fn_ns_alias_find(ptr %arg_ns, ptr %arg_meth) { entry: %retval = alloca i32 %t0 = alloca ptr %t1 = alloca ptr %t2 = alloca i32 %t10 = alloca i32 store ptr %arg_ns, ptr %t0 store ptr %arg_meth, ptr %t1 store i32 0, ptr %t2 br label %wcond0 wcond0: %t3 = load i32, ptr %t2 %t4 = load ptr, ptr @g_g_al_ns %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: %t11 = load ptr, ptr @g_g_al_meth %t12 = load i32, ptr %t2 %t13 = getelementptr inbounds %LSlice, ptr %t11, i32 0, i32 0 %t14 = load ptr, ptr %t13 %t15 = getelementptr inbounds %LSlice, ptr %t11, i32 0, i32 1 %t16 = load i32, ptr %t15 %t17 = icmp ult i32 %t12, %t16 br i1 %t17, label %ixok3, label %ixbad4 ixbad4: store i32 508, ptr @lp_site %t18 = call ptr @lp_win_stdio(i32 2) store i32 0, ptr @lp_site call i32 (ptr, ptr, ...) @fprintf(ptr %t18, ptr @.fmt_bounds, ptr @.str1162, i32 %t12, i32 %t16) call void @exit(i32 1) unreachable ixok3: %t19 = getelementptr inbounds ptr, ptr %t14, i32 %t12 %t20 = load ptr, ptr %t19 %t21 = load ptr, ptr %t1 %t22 = call i32 @lp_str_eq(ptr %t20, ptr %t21) %t23 = icmp ne i32 %t22, 0 %t24 = zext i1 %t23 to i32 store i32 %t24, ptr %t10 br i1 %t23, label %sc5, label %scend6 sc5: %t25 = load ptr, ptr @g_g_al_ns %t26 = load i32, ptr %t2 %t27 = getelementptr inbounds %LSlice, ptr %t25, i32 0, i32 0 %t28 = load ptr, ptr %t27 %t29 = getelementptr inbounds %LSlice, ptr %t25, i32 0, i32 1 %t30 = load i32, ptr %t29 %t31 = icmp ult i32 %t26, %t30 br i1 %t31, label %ixok7, label %ixbad8 ixbad8: store i32 509, ptr @lp_site %t32 = call ptr @lp_win_stdio(i32 2) store i32 0, ptr @lp_site call i32 (ptr, ptr, ...) @fprintf(ptr %t32, ptr @.fmt_bounds, ptr @.str1164, i32 %t26, i32 %t30) call void @exit(i32 1) unreachable ixok7: %t33 = getelementptr inbounds ptr, ptr %t28, i32 %t26 %t34 = load ptr, ptr %t33 %t35 = load ptr, ptr %t0 %t36 = call i32 @lp_str_eq(ptr %t34, ptr %t35) %t37 = icmp ne i32 %t36, 0 %t38 = zext i1 %t37 to i32 store i32 %t38, ptr %t10 br label %scend6 scend6: %t39 = load i32, ptr %t10 %t40 = icmp ne i32 %t39, 0 br i1 %t40, label %then9, label %ifend11 then9: %t41 = load i32, ptr %t2 store i32 %t41, ptr %retval br label %ret ifend11: %t42 = load i32, ptr %t2 %t43 = add i32 %t42, 1 store i32 %t43, ptr %t2 br label %wcond0 wend2: %t44 = sub i32 0, 1 store i32 %t44, ptr %retval br label %ret ret: %t45 = load i32, ptr %retval ret i32 %t45 } define ptr @fn_ns_alias_labels(i32 %arg_i) { entry: %retval = alloca ptr %t0 = alloca i32 %t7 = alloca ptr %t18 = alloca ptr %t34 = alloca ptr %t68 = alloca ptr %t73 = alloca i32 %t74 = alloca i32 %t75 = alloca i32 %t161 = alloca i32 %t162 = alloca i32 %t166 = alloca i32 %t172 = alloca i32 store i32 %arg_i, ptr %t0 %t1 = getelementptr %LSlice, ptr null, i32 1 %t2 = ptrtoint ptr %t1 to i64 store i32 510, ptr @lp_site %t3 = call ptr @lp_malloc(i64 %t2) store i32 0, ptr @lp_site %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 %t8 = load ptr, ptr @g_g_al_labels %t9 = load i32, ptr %t0 %t10 = getelementptr inbounds %LSlice, ptr %t8, i32 0, i32 0 %t11 = load ptr, ptr %t10 %t12 = getelementptr inbounds %LSlice, ptr %t8, i32 0, i32 1 %t13 = load i32, ptr %t12 %t14 = icmp ult i32 %t9, %t13 br i1 %t14, label %ixok0, label %ixbad1 ixbad1: store i32 511, ptr @lp_site %t15 = call ptr @lp_win_stdio(i32 2) store i32 0, ptr @lp_site call i32 (ptr, ptr, ...) @fprintf(ptr %t15, ptr @.fmt_bounds, ptr @.str1166, i32 %t9, i32 %t13) call void @exit(i32 1) unreachable ixok0: %t16 = getelementptr inbounds ptr, ptr %t11, i32 %t9 %t17 = load ptr, ptr %t16 store ptr %t17, ptr %t18 %t19 = load ptr, ptr %t18 %t20 = icmp eq ptr %t19, null %t21 = zext i1 %t20 to i32 %t22 = icmp ne i32 %t21, 0 br i1 %t22, label %then2, label %ifend4 then2: %t23 = load ptr, ptr @g_g_al_target %t24 = load i32, ptr %t0 %t25 = getelementptr inbounds %LSlice, ptr %t23, i32 0, i32 0 %t26 = load ptr, ptr %t25 %t27 = getelementptr inbounds %LSlice, ptr %t23, i32 0, i32 1 %t28 = load i32, ptr %t27 %t29 = icmp ult i32 %t24, %t28 br i1 %t29, label %ixok5, label %ixbad6 ixbad6: store i32 512, ptr @lp_site %t30 = call ptr @lp_win_stdio(i32 2) store i32 0, ptr @lp_site call i32 (ptr, ptr, ...) @fprintf(ptr %t30, ptr @.fmt_bounds, ptr @.str1167, i32 %t24, i32 %t28) call void @exit(i32 1) unreachable ixok5: %t31 = getelementptr inbounds ptr, ptr %t26, i32 %t24 %t32 = load ptr, ptr %t31 %t33 = call ptr @fn_find_fn(ptr %t32) store ptr %t33, ptr %t34 %t35 = load ptr, ptr %t34 %t36 = icmp eq ptr %t35, null %t37 = zext i1 %t36 to i32 %t38 = icmp ne i32 %t37, 0 br i1 %t38, label %then7, label %ifend9 then7: %t39 = load ptr, ptr @g_g_al_target %t40 = load i32, ptr %t0 %t41 = getelementptr inbounds %LSlice, ptr %t39, i32 0, i32 0 %t42 = load ptr, ptr %t41 %t43 = getelementptr inbounds %LSlice, ptr %t39, i32 0, i32 1 %t44 = load i32, ptr %t43 %t45 = icmp ult i32 %t40, %t44 br i1 %t45, label %ixok10, label %ixbad11 ixbad11: store i32 513, ptr @lp_site %t46 = call ptr @lp_win_stdio(i32 2) store i32 0, ptr @lp_site call i32 (ptr, ptr, ...) @fprintf(ptr %t46, ptr @.fmt_bounds, ptr @.str1168, i32 %t40, i32 %t44) call void @exit(i32 1) unreachable ixok10: %t47 = getelementptr inbounds ptr, ptr %t42, i32 %t40 %t48 = load ptr, ptr %t47 %t49 = call ptr @fn_find_extern(ptr %t48) store ptr %t49, ptr %t34 br label %ifend9 ifend9: %t50 = load ptr, ptr %t34 %t51 = icmp ne ptr %t50, null %t52 = zext i1 %t51 to i32 %t53 = icmp ne i32 %t52, 0 br i1 %t53, label %then12, label %ifend14 then12: %t54 = load ptr, ptr %t34 %t55 = call ptr @fn_param_labels(ptr %t54) store ptr %t55, ptr %retval br label %ret ifend14: %t56 = load ptr, ptr %t7 store ptr %t56, ptr %retval br label %ret ifend4: %t57 = load ptr, ptr @g_g_al_target %t58 = load i32, ptr %t0 %t59 = getelementptr inbounds %LSlice, ptr %t57, i32 0, i32 0 %t60 = load ptr, ptr %t59 %t61 = getelementptr inbounds %LSlice, ptr %t57, i32 0, i32 1 %t62 = load i32, ptr %t61 %t63 = icmp ult i32 %t58, %t62 br i1 %t63, label %ixok15, label %ixbad16 ixbad16: store i32 514, ptr @lp_site %t64 = call ptr @lp_win_stdio(i32 2) store i32 0, ptr @lp_site call i32 (ptr, ptr, ...) @fprintf(ptr %t64, ptr @.fmt_bounds, ptr @.str1169, i32 %t58, i32 %t62) call void @exit(i32 1) unreachable ixok15: %t65 = getelementptr inbounds ptr, ptr %t60, i32 %t58 %t66 = load ptr, ptr %t65 %t67 = call ptr @fn_find_fn(ptr %t66) store ptr %t67, ptr %t68 %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 %then17, label %ifend19 then17: store i32 0, ptr %t73 br label %wcond20 wcond20: %t76 = load i32, ptr %t73 %t77 = load ptr, ptr %t68 %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 1 %t81 = load i32, ptr %t80 %t82 = icmp slt i32 %t76, %t81 %t83 = zext i1 %t82 to i32 %t84 = icmp ne i32 %t83, 0 %t85 = zext i1 %t84 to i32 store i32 %t85, ptr %t75 br i1 %t84, label %sc23, label %scend24 sc23: %t86 = load ptr, ptr %t68 %t87 = getelementptr inbounds %Cmp_Node, ptr %t86, i32 0, i32 7 %t88 = load ptr, ptr %t87 %t89 = load i32, ptr %t73 %t90 = getelementptr inbounds %LSlice, ptr %t88, i32 0, i32 0 %t91 = load ptr, ptr %t90 %t92 = getelementptr inbounds %LSlice, ptr %t88, i32 0, i32 1 %t93 = load i32, ptr %t92 %t94 = icmp ult i32 %t89, %t93 br i1 %t94, label %ixok25, label %ixbad26 ixbad26: store i32 515, ptr @lp_site %t95 = call ptr @lp_win_stdio(i32 2) store i32 0, ptr @lp_site call i32 (ptr, ptr, ...) @fprintf(ptr %t95, ptr @.fmt_bounds, ptr @.str1170, i32 %t89, i32 %t93) call void @exit(i32 1) unreachable ixok25: %t96 = getelementptr inbounds ptr, ptr %t91, i32 %t89 %t97 = load ptr, ptr %t96 %t98 = getelementptr inbounds %Cmp_Node, ptr %t97, i32 0, i32 0 %t99 = load i32, ptr %t98 %t100 = icmp eq i32 %t99, 5 %t101 = zext i1 %t100 to i32 %t102 = icmp ne i32 %t101, 0 %t103 = zext i1 %t102 to i32 store i32 %t103, ptr %t75 br label %scend24 scend24: %t104 = load i32, ptr %t75 %t105 = icmp ne i32 %t104, 0 %t106 = zext i1 %t105 to i32 store i32 %t106, ptr %t74 br i1 %t105, label %sc27, label %scend28 sc27: %t107 = load ptr, ptr %t68 %t108 = getelementptr inbounds %Cmp_Node, ptr %t107, i32 0, i32 7 %t109 = load ptr, ptr %t108 %t110 = load i32, ptr %t73 %t111 = getelementptr inbounds %LSlice, ptr %t109, i32 0, i32 0 %t112 = load ptr, ptr %t111 %t113 = getelementptr inbounds %LSlice, ptr %t109, i32 0, i32 1 %t114 = load i32, ptr %t113 %t115 = icmp ult i32 %t110, %t114 br i1 %t115, label %ixok29, label %ixbad30 ixbad30: store i32 516, ptr @lp_site %t116 = call ptr @lp_win_stdio(i32 2) store i32 0, ptr @lp_site call i32 (ptr, ptr, ...) @fprintf(ptr %t116, ptr @.fmt_bounds, ptr @.str1171, i32 %t110, i32 %t114) call void @exit(i32 1) unreachable ixok29: %t117 = getelementptr inbounds ptr, ptr %t112, i32 %t110 %t118 = load ptr, ptr %t117 %t119 = getelementptr inbounds %Cmp_Node, ptr %t118, i32 0, i32 3 %t120 = load ptr, ptr %t119 %t121 = call i32 @fn_is_state_ty(ptr %t120) %t122 = icmp ne i32 %t121, 0 %t123 = zext i1 %t122 to i32 store i32 %t123, ptr %t74 br label %scend28 scend28: %t124 = load i32, ptr %t74 %t125 = icmp ne i32 %t124, 0 br i1 %t125, label %wbody21, label %wend22 wbody21: %t126 = load ptr, ptr %t7 %t127 = load ptr, ptr %t68 %t128 = getelementptr inbounds %Cmp_Node, ptr %t127, i32 0, i32 7 %t129 = load ptr, ptr %t128 %t130 = load i32, ptr %t73 %t131 = getelementptr inbounds %LSlice, ptr %t129, i32 0, i32 0 %t132 = load ptr, ptr %t131 %t133 = getelementptr inbounds %LSlice, ptr %t129, i32 0, i32 1 %t134 = load i32, ptr %t133 %t135 = icmp ult i32 %t130, %t134 br i1 %t135, label %ixok31, label %ixbad32 ixbad32: store i32 517, ptr @lp_site %t136 = call ptr @lp_win_stdio(i32 2) store i32 0, ptr @lp_site call i32 (ptr, ptr, ...) @fprintf(ptr %t136, ptr @.fmt_bounds, ptr @.str1172, i32 %t130, i32 %t134) call void @exit(i32 1) unreachable ixok31: %t137 = getelementptr inbounds ptr, ptr %t132, i32 %t130 %t138 = load ptr, ptr %t137 %t139 = getelementptr inbounds %Cmp_Node, ptr %t138, i32 0, i32 1 %t140 = load ptr, ptr %t139 %t141 = getelementptr inbounds %LSlice, ptr %t126, i32 0, i32 1 %t142 = getelementptr inbounds %LSlice, ptr %t126, i32 0, i32 2 %t143 = getelementptr inbounds %LSlice, ptr %t126, i32 0, i32 0 %t144 = load i32, ptr %t141 %t145 = load i32, ptr %t142 %t146 = icmp sge i32 %t144, %t145 br i1 %t146, label %grow33, label %put34 grow33: %t147 = mul i32 %t145, 2 %t148 = icmp eq i32 %t145, 0 %t149 = select i1 %t148, i32 8, i32 %t147 %t150 = getelementptr ptr, ptr null, i32 1 %t151 = ptrtoint ptr %t150 to i64 %t152 = zext i32 %t149 to i64 %t153 = mul i64 %t152, %t151 %t154 = load ptr, ptr %t143 store i32 518, ptr @lp_site %t155 = call ptr @lp_realloc(ptr %t154, i64 %t153) store i32 0, ptr @lp_site store ptr %t155, ptr %t143 store i32 %t149, ptr %t142 br label %put34 put34: %t156 = load ptr, ptr %t143 %t157 = getelementptr inbounds ptr, ptr %t156, i32 %t144 store ptr %t140, ptr %t157 %t158 = add i32 %t144, 1 store i32 %t158, ptr %t141 %t159 = load i32, ptr %t73 %t160 = add i32 %t159, 1 store i32 %t160, ptr %t73 br label %wcond20 wend22: br label %ifend19 ifend19: store i32 0, ptr %t161 store i32 0, ptr %t162 %t163 = load ptr, ptr %t18 %t164 = call i64 @strlen(ptr %t163) %t165 = trunc i64 %t164 to i32 store i32 %t165, ptr %t166 br label %wcond35 wcond35: %t167 = load i32, ptr %t162 %t168 = load i32, ptr %t166 %t169 = icmp sle i32 %t167, %t168 %t170 = zext i1 %t169 to i32 %t171 = icmp ne i32 %t170, 0 br i1 %t171, label %wbody36, label %wend37 wbody36: %t173 = load i32, ptr %t162 %t174 = load i32, ptr %t166 %t175 = icmp eq i32 %t173, %t174 %t176 = zext i1 %t175 to i32 %t177 = icmp ne i32 %t176, 0 %t178 = zext i1 %t177 to i32 store i32 %t178, ptr %t172 br i1 %t177, label %scend39, label %sc38 sc38: %t179 = load ptr, ptr %t18 %t180 = load i32, ptr %t162 %t181 = getelementptr inbounds i8, ptr %t179, i32 %t180 %t182 = load i8, ptr %t181 %t183 = zext i8 %t182 to i32 %t184 = icmp eq i32 %t183, 124 %t185 = zext i1 %t184 to i32 %t186 = icmp ne i32 %t185, 0 %t187 = zext i1 %t186 to i32 store i32 %t187, ptr %t172 br label %scend39 scend39: %t188 = load i32, ptr %t172 %t189 = icmp ne i32 %t188, 0 br i1 %t189, label %then40, label %ifend42 then40: %t190 = load i32, ptr %t162 %t191 = load i32, ptr %t161 %t192 = icmp sgt i32 %t190, %t191 %t193 = zext i1 %t192 to i32 %t194 = icmp ne i32 %t193, 0 br i1 %t194, label %then43, label %ifend45 then43: %t195 = load ptr, ptr %t7 %t196 = load ptr, ptr %t18 %t197 = load i32, ptr %t161 %t198 = load i32, ptr %t162 store i32 519, ptr @lp_site %t199 = call ptr @lp_str_slice(ptr %t196, i32 %t197, i32 %t198) store i32 0, ptr @lp_site %t200 = getelementptr inbounds %LSlice, ptr %t195, i32 0, i32 1 %t201 = getelementptr inbounds %LSlice, ptr %t195, i32 0, i32 2 %t202 = getelementptr inbounds %LSlice, ptr %t195, i32 0, i32 0 %t203 = load i32, ptr %t200 %t204 = load i32, ptr %t201 %t205 = icmp sge i32 %t203, %t204 br i1 %t205, label %grow46, label %put47 grow46: %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 store i32 520, ptr @lp_site %t214 = call ptr @lp_realloc(ptr %t213, i64 %t212) store i32 0, ptr @lp_site store ptr %t214, ptr %t202 store i32 %t208, ptr %t201 br label %put47 put47: %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 %ifend45 ifend45: %t218 = load i32, ptr %t162 %t219 = add i32 %t218, 1 store i32 %t219, ptr %t161 br label %ifend42 ifend42: %t220 = load i32, ptr %t162 %t221 = add i32 %t220, 1 store i32 %t221, ptr %t162 br label %wcond35 wend37: %t222 = load ptr, ptr %t7 store ptr %t222, ptr %retval br label %ret ret: %t223 = load ptr, ptr %retval ret ptr %t223 } define ptr @fn_emit_alias_call(i32 %arg_i, ptr %arg_e) { entry: %retval = alloca ptr %t0 = alloca i32 %t1 = alloca ptr %t21 = alloca ptr store i32 %arg_i, ptr %t0 store ptr %arg_e, ptr %t1 %t2 = load ptr, ptr %t1 %t3 = load ptr, ptr @g_g_al_target %t4 = load i32, ptr %t0 %t5 = getelementptr inbounds %LSlice, ptr %t3, i32 0, i32 0 %t6 = load ptr, ptr %t5 %t7 = getelementptr inbounds %LSlice, ptr %t3, i32 0, i32 1 %t8 = load i32, ptr %t7 %t9 = icmp ult i32 %t4, %t8 br i1 %t9, label %ixok0, label %ixbad1 ixbad1: store i32 521, ptr @lp_site %t10 = call ptr @lp_win_stdio(i32 2) store i32 0, ptr @lp_site call i32 (ptr, ptr, ...) @fprintf(ptr %t10, ptr @.fmt_bounds, ptr @.str1173, i32 %t4, i32 %t8) call void @exit(i32 1) unreachable ixok0: %t11 = getelementptr inbounds ptr, ptr %t6, i32 %t4 %t12 = load ptr, ptr %t11 %t13 = call ptr @fn_find_fn(ptr %t12) call void @fn_state_inject(ptr %t2, ptr %t13) %t14 = load ptr, ptr %t1 %t15 = load i32, ptr %t0 %t16 = call ptr @fn_ns_alias_labels(i32 %t15) call void @fn_call_mixed_to_named(ptr %t14, ptr %t16) %t17 = load ptr, ptr %t1 %t18 = load i32, ptr %t0 %t19 = call ptr @fn_ns_alias_labels(i32 %t18) call void @fn_reorder_named(ptr %t17, ptr %t19) %t20 = call ptr @fn_node(i32 33) store ptr %t20, ptr %t21 %t22 = load ptr, ptr %t21 %t23 = getelementptr inbounds %Cmp_Node, ptr %t22, i32 0, i32 1 %t24 = load ptr, ptr @g_g_al_target %t25 = load i32, ptr %t0 %t26 = getelementptr inbounds %LSlice, ptr %t24, i32 0, i32 0 %t27 = load ptr, ptr %t26 %t28 = getelementptr inbounds %LSlice, ptr %t24, i32 0, i32 1 %t29 = load i32, ptr %t28 %t30 = icmp ult i32 %t25, %t29 br i1 %t30, label %ixok2, label %ixbad3 ixbad3: store i32 522, ptr @lp_site %t31 = call ptr @lp_win_stdio(i32 2) store i32 0, ptr @lp_site call i32 (ptr, ptr, ...) @fprintf(ptr %t31, ptr @.fmt_bounds, ptr @.str1175, i32 %t25, i32 %t29) call void @exit(i32 1) unreachable ixok2: %t32 = getelementptr inbounds ptr, ptr %t27, i32 %t25 %t33 = load ptr, ptr %t32 store ptr %t33, ptr %t23 %t34 = load ptr, ptr %t21 %t35 = getelementptr inbounds %Cmp_Node, ptr %t34, i32 0, i32 9 %t36 = load ptr, ptr %t1 %t37 = getelementptr inbounds %Cmp_Node, ptr %t36, i32 0, i32 9 %t38 = load ptr, ptr %t37 store ptr %t38, ptr %t35 %t39 = load ptr, ptr %t21 %t40 = getelementptr inbounds %Cmp_Node, ptr %t39, i32 0, i32 8 %t41 = load ptr, ptr %t1 %t42 = getelementptr inbounds %Cmp_Node, ptr %t41, i32 0, i32 8 %t43 = load i32, ptr %t42 store i32 %t43, ptr %t40 %t44 = load ptr, ptr %t1 %t45 = getelementptr inbounds %Cmp_Node, ptr %t44, i32 0, i32 4 %t46 = load ptr, ptr %t21 store ptr %t46, ptr %t45 %t47 = load ptr, ptr %t1 %t48 = call ptr @fn_emit_call(ptr %t47) store ptr %t48, ptr %retval br label %ret ret: %t49 = load ptr, ptr %retval ret ptr %t49 } define i32 @fn_mod_list_has(ptr %arg_list, ptr %arg_name) { entry: %retval = alloca i32 %t0 = alloca ptr %t1 = alloca ptr store ptr %arg_list, ptr %t0 store ptr %arg_name, ptr %t1 %t2 = load ptr, ptr %t0 %t3 = load ptr, ptr %t1 store i32 523, ptr @lp_site %t4 = call ptr @lp_str_concat(ptr @.str1176, ptr %t3) store i32 0, ptr @lp_site store i32 524, ptr @lp_site %t5 = call ptr @lp_str_concat(ptr %t4, ptr @.str1178) store i32 0, ptr @lp_site call void @lp_free(ptr %t4) %t6 = call i32 @fn_has_sub(ptr %t2, ptr %t5) store i32 %t6, ptr %retval br label %ret ret: %t7 = load i32, ptr %retval ret i32 %t7 } define i32 @fn_mod_find_uses(ptr %arg_m) { entry: %retval = alloca i32 %t0 = alloca ptr %t1 = alloca i32 store ptr %arg_m, ptr %t0 store i32 0, ptr %t1 br label %wcond0 wcond0: %t2 = load i32, ptr %t1 %t3 = load ptr, ptr @g_g_mu_mod %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_mu_mod %t10 = load i32, ptr %t1 %t11 = getelementptr inbounds %LSlice, ptr %t9, i32 0, i32 0 %t12 = load ptr, ptr %t11 %t13 = getelementptr inbounds %LSlice, ptr %t9, i32 0, i32 1 %t14 = load i32, ptr %t13 %t15 = icmp ult i32 %t10, %t14 br i1 %t15, label %ixok3, label %ixbad4 ixbad4: store i32 525, ptr @lp_site %t16 = call ptr @lp_win_stdio(i32 2) store i32 0, ptr @lp_site call i32 (ptr, ptr, ...) @fprintf(ptr %t16, ptr @.fmt_bounds, ptr @.str1179, i32 %t10, i32 %t14) call void @exit(i32 1) unreachable ixok3: %t17 = getelementptr inbounds ptr, ptr %t12, i32 %t10 %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 br i1 %t21, label %then5, label %ifend7 then5: %t22 = load i32, ptr %t1 store i32 %t22, ptr %retval br label %ret ifend7: %t23 = load i32, ptr %t1 %t24 = add i32 %t23, 1 store i32 %t24, ptr %t1 br label %wcond0 wend2: %t25 = sub i32 0, 1 store i32 %t25, ptr %retval br label %ret ret: %t26 = load i32, ptr %retval ret i32 %t26 } define ptr @fn_mod_parse_names() { entry: %retval = alloca ptr %t0 = alloca ptr store ptr @.str1181, ptr %t0 %t1 = load ptr, ptr %t0 %t2 = call ptr @fn_eat_id() store i32 526, ptr @lp_site %t3 = call ptr @lp_str_concat(ptr %t1, ptr %t2) store i32 0, ptr @lp_site store i32 527, ptr @lp_site %t4 = call ptr @lp_str_concat(ptr %t3, ptr @.str1183) store i32 0, ptr @lp_site call void @lp_free(ptr %t3) store ptr %t4, ptr %t0 br label %wcond0 wcond0: %t5 = call i32 @fn_is_op(ptr @.str1184) %t6 = icmp ne i32 %t5, 0 br i1 %t6, label %wbody1, label %wend2 wbody1: %t7 = load i32, ptr @g_pi %t8 = add i32 %t7, 1 store i32 %t8, ptr @g_pi %t9 = load ptr, ptr %t0 %t10 = call ptr @fn_eat_id() store i32 528, ptr @lp_site %t11 = call ptr @lp_str_concat(ptr %t9, ptr %t10) store i32 0, ptr @lp_site store i32 529, ptr @lp_site %t12 = call ptr @lp_str_concat(ptr %t11, ptr @.str1185) store i32 0, ptr @lp_site call void @lp_free(ptr %t11) store ptr %t12, ptr %t0 br label %wcond0 wend2: %t13 = load ptr, ptr %t0 store ptr %t13, ptr %retval br label %ret ret: %t14 = load ptr, ptr %retval ret ptr %t14 } define ptr @fn_mod_layer(ptr %arg_m) { entry: %retval = alloca ptr %t0 = alloca ptr %t1 = alloca i32 store ptr %arg_m, ptr %t0 store i32 0, ptr %t1 br label %wcond0 wcond0: %t2 = load i32, ptr %t1 %t3 = load ptr, ptr @g_g_ly_mod %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_ly_mod %t10 = load i32, ptr %t1 %t11 = getelementptr inbounds %LSlice, ptr %t9, i32 0, i32 0 %t12 = load ptr, ptr %t11 %t13 = getelementptr inbounds %LSlice, ptr %t9, i32 0, i32 1 %t14 = load i32, ptr %t13 %t15 = icmp ult i32 %t10, %t14 br i1 %t15, label %ixok3, label %ixbad4 ixbad4: store i32 530, ptr @lp_site %t16 = call ptr @lp_win_stdio(i32 2) store i32 0, ptr @lp_site call i32 (ptr, ptr, ...) @fprintf(ptr %t16, ptr @.fmt_bounds, ptr @.str1186, i32 %t10, i32 %t14) call void @exit(i32 1) unreachable ixok3: %t17 = getelementptr inbounds ptr, ptr %t12, i32 %t10 %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 br i1 %t21, label %then5, label %ifend7 then5: %t22 = load ptr, ptr @g_g_ly_name %t23 = load i32, ptr %t1 %t24 = getelementptr inbounds %LSlice, ptr %t22, i32 0, i32 0 %t25 = load ptr, ptr %t24 %t26 = getelementptr inbounds %LSlice, ptr %t22, i32 0, i32 1 %t27 = load i32, ptr %t26 %t28 = icmp ult i32 %t23, %t27 br i1 %t28, label %ixok8, label %ixbad9 ixbad9: store i32 531, ptr @lp_site %t29 = call ptr @lp_win_stdio(i32 2) store i32 0, ptr @lp_site call i32 (ptr, ptr, ...) @fprintf(ptr %t29, ptr @.fmt_bounds, ptr @.str1188, i32 %t23, i32 %t27) call void @exit(i32 1) unreachable ixok8: %t30 = getelementptr inbounds ptr, ptr %t25, i32 %t23 %t31 = load ptr, ptr %t30 store ptr %t31, ptr %retval br label %ret ifend7: %t32 = load i32, ptr %t1 %t33 = add i32 %t32, 1 store i32 %t33, ptr %t1 br label %wcond0 wend2: store ptr @.str1189, ptr %retval br label %ret ret: %t34 = load ptr, ptr %retval ret ptr %t34 } define void @fn_mod_set_layer(ptr %arg_m, ptr %arg_layer) { entry: %t0 = alloca ptr %t1 = alloca ptr %t4 = alloca ptr store ptr %arg_m, ptr %t0 store ptr %arg_layer, ptr %t1 %t2 = load ptr, ptr %t0 %t3 = call ptr @fn_mod_layer(ptr %t2) store ptr %t3, ptr %t4 %t5 = load ptr, ptr %t4 %t6 = load ptr, ptr %t1 %t7 = call i32 @lp_str_eq(ptr %t5, ptr %t6) %t8 = icmp ne i32 %t7, 0 br i1 %t8, label %then0, label %ifend2 then0: br label %ret ifend2: %t9 = load ptr, ptr %t4 %t10 = call i32 @lp_str_eq(ptr %t9, ptr @.str1190) %t11 = icmp eq i32 %t10, 0 %t12 = zext i1 %t11 to i32 %t13 = icmp ne i32 %t12, 0 br i1 %t13, label %then3, label %ifend5 then3: %t14 = load ptr, ptr %t0 store i32 532, ptr @lp_site %t15 = call ptr @lp_str_concat(ptr @.str1191, ptr %t14) store i32 0, ptr @lp_site store i32 533, ptr @lp_site %t16 = call ptr @lp_str_concat(ptr %t15, ptr @.str1193) store i32 0, ptr @lp_site call void @lp_free(ptr %t15) %t17 = load ptr, ptr %t4 store i32 534, ptr @lp_site %t18 = call ptr @lp_str_concat(ptr %t16, ptr %t17) store i32 0, ptr @lp_site call void @lp_free(ptr %t16) store i32 535, ptr @lp_site %t19 = call ptr @lp_str_concat(ptr %t18, ptr @.str1194) store i32 0, ptr @lp_site call void @lp_free(ptr %t18) %t20 = load ptr, ptr %t1 store i32 536, ptr @lp_site %t21 = call ptr @lp_str_concat(ptr %t19, ptr %t20) store i32 0, ptr @lp_site call void @lp_free(ptr %t19) call void @fn_perr(ptr %t21) br label %ifend5 ifend5: %t22 = load ptr, ptr @g_g_ly_mod %t23 = load ptr, 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 ptr, 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 store i32 537, ptr @lp_site %t38 = call ptr @lp_realloc(ptr %t37, i64 %t36) store i32 0, ptr @lp_site store ptr %t38, ptr %t26 store i32 %t32, ptr %t25 br label %put7 put7: %t39 = load ptr, ptr %t26 %t40 = getelementptr inbounds ptr, ptr %t39, i32 %t27 store ptr %t23, ptr %t40 %t41 = add i32 %t27, 1 store i32 %t41, ptr %t24 %t42 = load ptr, ptr @g_g_ly_name %t43 = load ptr, ptr %t1 %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 %grow8, label %put9 grow8: %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 store i32 538, ptr @lp_site %t58 = call ptr @lp_realloc(ptr %t57, i64 %t56) store i32 0, ptr @lp_site store ptr %t58, ptr %t46 store i32 %t52, ptr %t45 br label %put9 put9: %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 %ret ret: ret void } define void @fn_mod_parse_line() { entry: %t3 = alloca ptr %t6 = alloca i32 %t7 = alloca i32 %t33 = alloca i32 %t58 = alloca i32 %t59 = alloca ptr %t82 = 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 %t4 = load ptr, ptr @g_g_parse_file %t5 = load ptr, ptr %t3 call void @fn_module_set(ptr %t4, ptr %t5) store i32 0, ptr %t6 %t8 = call i32 @fn_is_id(ptr @.str1195) %t9 = icmp ne i32 %t8, 0 %t10 = zext i1 %t9 to i32 store i32 %t10, ptr %t7 br i1 %t9, label %sc0, label %scend1 sc0: %t11 = load ptr, ptr @g_toks %t12 = load i32, ptr @g_pi %t13 = add i32 %t12, 1 %t14 = getelementptr inbounds %LSlice, ptr %t11, i32 0, i32 0 %t15 = load ptr, ptr %t14 %t16 = getelementptr inbounds %LSlice, ptr %t11, i32 0, i32 1 %t17 = load i32, ptr %t16 %t18 = icmp ult i32 %t13, %t17 br i1 %t18, label %ixok2, label %ixbad3 ixbad3: store i32 539, ptr @lp_site %t19 = call ptr @lp_win_stdio(i32 2) store i32 0, ptr @lp_site call i32 (ptr, ptr, ...) @fprintf(ptr %t19, ptr @.fmt_bounds, ptr @.str1196, i32 %t13, i32 %t17) call void @exit(i32 1) unreachable ixok2: %t20 = getelementptr inbounds ptr, ptr %t15, i32 %t13 %t21 = load ptr, ptr %t20 %t22 = getelementptr inbounds %Cmp_Tok, ptr %t21, i32 0, i32 1 %t23 = load ptr, ptr %t22 %t24 = call i32 @lp_str_eq(ptr %t23, ptr @.str1198) %t25 = icmp ne i32 %t24, 0 %t26 = zext i1 %t25 to i32 store i32 %t26, ptr %t7 br label %scend1 scend1: %t27 = load i32, ptr %t7 %t28 = icmp ne i32 %t27, 0 br i1 %t28, label %then4, label %ifend6 then4: %t29 = load i32, ptr @g_pi %t30 = add i32 %t29, 2 store i32 %t30, ptr @g_pi %t31 = load ptr, ptr %t3 %t32 = call ptr @fn_eat_id() call void @fn_mod_set_layer(ptr %t31, ptr %t32) store i32 1, ptr %t6 br label %ifend6 ifend6: %t34 = call i32 @fn_is_id(ptr @.str1199) %t35 = icmp eq i32 %t34, 0 %t36 = zext i1 %t35 to i32 %t37 = icmp ne i32 %t36, 0 %t38 = zext i1 %t37 to i32 store i32 %t38, ptr %t33 br i1 %t37, label %sc7, label %scend8 sc7: %t39 = load i32, ptr %t6 %t40 = icmp eq i32 %t39, 0 %t41 = zext i1 %t40 to i32 %t42 = icmp ne i32 %t41, 0 %t43 = zext i1 %t42 to i32 store i32 %t43, ptr %t33 br label %scend8 scend8: %t44 = load i32, ptr %t33 %t45 = icmp ne i32 %t44, 0 br i1 %t45, label %then9, label %ifend11 then9: br label %ret ifend11: %t46 = load ptr, ptr @g_toks %t47 = load i32, ptr @g_pi %t48 = getelementptr inbounds %LSlice, ptr %t46, i32 0, i32 0 %t49 = load ptr, ptr %t48 %t50 = getelementptr inbounds %LSlice, ptr %t46, i32 0, i32 1 %t51 = load i32, ptr %t50 %t52 = icmp ult i32 %t47, %t51 br i1 %t52, label %ixok12, label %ixbad13 ixbad13: store i32 540, ptr @lp_site %t53 = call ptr @lp_win_stdio(i32 2) store i32 0, ptr @lp_site call i32 (ptr, ptr, ...) @fprintf(ptr %t53, ptr @.fmt_bounds, ptr @.str1200, i32 %t47, i32 %t51) call void @exit(i32 1) unreachable ixok12: %t54 = getelementptr inbounds ptr, ptr %t49, i32 %t47 %t55 = load ptr, ptr %t54 %t56 = getelementptr inbounds %Cmp_Tok, ptr %t55, i32 0, i32 3 %t57 = load i32, ptr %t56 store i32 %t57, ptr %t58 store ptr @.str1201, ptr %t59 %t60 = call i32 @fn_is_id(ptr @.str1202) %t61 = icmp ne i32 %t60, 0 br i1 %t61, label %then14, label %ifend16 then14: %t62 = load i32, ptr @g_pi %t63 = add i32 %t62, 1 store i32 %t63, ptr @g_pi %t64 = load ptr, ptr @g_toks %t65 = load i32, ptr @g_pi %t66 = getelementptr inbounds %LSlice, ptr %t64, i32 0, i32 0 %t67 = load ptr, ptr %t66 %t68 = getelementptr inbounds %LSlice, ptr %t64, i32 0, i32 1 %t69 = load i32, ptr %t68 %t70 = icmp ult i32 %t65, %t69 br i1 %t70, label %ixok17, label %ixbad18 ixbad18: store i32 541, ptr @lp_site %t71 = call ptr @lp_win_stdio(i32 2) store i32 0, ptr @lp_site call i32 (ptr, ptr, ...) @fprintf(ptr %t71, ptr @.fmt_bounds, ptr @.str1203, i32 %t65, i32 %t69) call void @exit(i32 1) unreachable ixok17: %t72 = getelementptr inbounds ptr, ptr %t67, i32 %t65 %t73 = load ptr, ptr %t72 %t74 = getelementptr inbounds %Cmp_Tok, ptr %t73, i32 0, i32 0 %t75 = load i32, ptr %t74 %t76 = icmp eq i32 %t75, 0 %t77 = zext i1 %t76 to i32 %t78 = icmp ne i32 %t77, 0 br i1 %t78, label %then19, label %ifend21 then19: %t79 = call ptr @fn_mod_parse_names() store ptr %t79, ptr %t59 br label %ifend21 ifend21: br label %ifend16 ifend16: %t80 = load ptr, ptr %t3 %t81 = call i32 @fn_mod_find_uses(ptr %t80) store i32 %t81, ptr %t82 %t83 = load i32, ptr %t82 %t84 = icmp sge i32 %t83, 0 %t85 = zext i1 %t84 to i32 %t86 = icmp ne i32 %t85, 0 br i1 %t86, label %then22, label %ifend24 then22: %t87 = load ptr, ptr @g_g_mu_list %t88 = load i32, ptr %t82 %t89 = getelementptr inbounds %LSlice, ptr %t87, i32 0, i32 0 %t90 = load ptr, ptr %t89 %t91 = getelementptr inbounds %LSlice, ptr %t87, i32 0, i32 1 %t92 = load i32, ptr %t91 %t93 = icmp ult i32 %t88, %t92 br i1 %t93, label %ixok25, label %ixbad26 ixbad26: store i32 542, ptr @lp_site %t94 = call ptr @lp_win_stdio(i32 2) store i32 0, ptr @lp_site call i32 (ptr, ptr, ...) @fprintf(ptr %t94, ptr @.fmt_bounds, ptr @.str1204, i32 %t88, i32 %t92) call void @exit(i32 1) unreachable ixok25: %t95 = getelementptr inbounds ptr, ptr %t90, i32 %t88 %t96 = load ptr, ptr @g_g_mu_list %t97 = load i32, ptr %t82 %t98 = getelementptr inbounds %LSlice, ptr %t96, i32 0, i32 0 %t99 = load ptr, ptr %t98 %t100 = getelementptr inbounds %LSlice, ptr %t96, i32 0, i32 1 %t101 = load i32, ptr %t100 %t102 = icmp ult i32 %t97, %t101 br i1 %t102, label %ixok27, label %ixbad28 ixbad28: store i32 543, ptr @lp_site %t103 = call ptr @lp_win_stdio(i32 2) store i32 0, ptr @lp_site call i32 (ptr, ptr, ...) @fprintf(ptr %t103, ptr @.fmt_bounds, ptr @.str1205, i32 %t97, i32 %t101) call void @exit(i32 1) unreachable ixok27: %t104 = getelementptr inbounds ptr, ptr %t99, i32 %t97 %t105 = load ptr, ptr %t104 %t106 = load ptr, ptr %t59 store i32 544, ptr @lp_site %t107 = call ptr @lp_str_concat(ptr %t105, ptr %t106) store i32 0, ptr @lp_site store ptr %t107, ptr %t95 br label %ret ifend24: %t108 = load ptr, ptr @g_g_mu_mod %t109 = load ptr, ptr %t3 %t110 = getelementptr inbounds %LSlice, ptr %t108, i32 0, i32 1 %t111 = getelementptr inbounds %LSlice, ptr %t108, i32 0, i32 2 %t112 = getelementptr inbounds %LSlice, ptr %t108, i32 0, i32 0 %t113 = load i32, ptr %t110 %t114 = load i32, ptr %t111 %t115 = icmp sge i32 %t113, %t114 br i1 %t115, label %grow29, label %put30 grow29: %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 store i32 545, ptr @lp_site %t124 = call ptr @lp_realloc(ptr %t123, i64 %t122) store i32 0, ptr @lp_site store ptr %t124, ptr %t112 store i32 %t118, ptr %t111 br label %put30 put30: %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 ptr, ptr @g_g_mu_list %t129 = load ptr, ptr %t59 %t130 = getelementptr inbounds %LSlice, ptr %t128, i32 0, i32 1 %t131 = getelementptr inbounds %LSlice, ptr %t128, i32 0, i32 2 %t132 = getelementptr inbounds %LSlice, ptr %t128, i32 0, i32 0 %t133 = load i32, ptr %t130 %t134 = load i32, ptr %t131 %t135 = icmp sge i32 %t133, %t134 br i1 %t135, label %grow31, label %put32 grow31: %t136 = mul i32 %t134, 2 %t137 = icmp eq i32 %t134, 0 %t138 = select i1 %t137, i32 8, i32 %t136 %t139 = getelementptr ptr, ptr null, i32 1 %t140 = ptrtoint ptr %t139 to i64 %t141 = zext i32 %t138 to i64 %t142 = mul i64 %t141, %t140 %t143 = load ptr, ptr %t132 store i32 546, ptr @lp_site %t144 = call ptr @lp_realloc(ptr %t143, i64 %t142) store i32 0, ptr @lp_site store ptr %t144, ptr %t132 store i32 %t138, ptr %t131 br label %put32 put32: %t145 = load ptr, ptr %t132 %t146 = getelementptr inbounds ptr, ptr %t145, i32 %t133 store ptr %t129, ptr %t146 %t147 = add i32 %t133, 1 store i32 %t147, ptr %t130 %t148 = load ptr, ptr @g_g_mu_file %t149 = load ptr, ptr @g_g_parse_file %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 %grow33, label %put34 grow33: %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 store i32 547, ptr @lp_site %t164 = call ptr @lp_realloc(ptr %t163, i64 %t162) store i32 0, ptr @lp_site store ptr %t164, ptr %t152 store i32 %t158, ptr %t151 br label %put34 put34: %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 @g_g_mu_line %t169 = load i32, ptr %t58 %t170 = getelementptr inbounds %LSlice, ptr %t168, i32 0, i32 1 %t171 = getelementptr inbounds %LSlice, ptr %t168, i32 0, i32 2 %t172 = getelementptr inbounds %LSlice, ptr %t168, i32 0, i32 0 %t173 = load i32, ptr %t170 %t174 = load i32, ptr %t171 %t175 = icmp sge i32 %t173, %t174 br i1 %t175, label %grow35, label %put36 grow35: %t176 = mul i32 %t174, 2 %t177 = icmp eq i32 %t174, 0 %t178 = select i1 %t177, i32 8, i32 %t176 %t179 = getelementptr i32, ptr null, i32 1 %t180 = ptrtoint ptr %t179 to i64 %t181 = zext i32 %t178 to i64 %t182 = mul i64 %t181, %t180 %t183 = load ptr, ptr %t172 store i32 548, ptr @lp_site %t184 = call ptr @lp_realloc(ptr %t183, i64 %t182) store i32 0, ptr @lp_site store ptr %t184, ptr %t172 store i32 %t178, ptr %t171 br label %put36 put36: %t185 = load ptr, ptr %t172 %t186 = getelementptr inbounds i32, ptr %t185, i32 %t173 store i32 %t169, ptr %t186 %t187 = add i32 %t173, 1 store i32 %t187, ptr %t170 br label %ret ret: ret void } define void @fn_mod_parse_friend() { entry: %t3 = alloca ptr %t6 = alloca ptr %t0 = load i32, ptr @g_pi %t1 = add i32 %t0, 2 store i32 %t1, ptr @g_pi %t2 = call ptr @fn_eat_id() store ptr %t2, ptr %t3 %t4 = load ptr, ptr @g_g_parse_file %t5 = load ptr, ptr %t3 call void @fn_module_set(ptr %t4, ptr %t5) store ptr @.str1206, ptr %t6 %t7 = call i32 @fn_is_id(ptr @.str1207) %t8 = icmp ne i32 %t7, 0 br i1 %t8, label %then0, label %ifend2 then0: %t9 = load i32, ptr @g_pi %t10 = add i32 %t9, 1 store i32 %t10, ptr @g_pi %t11 = call ptr @fn_mod_parse_names() store ptr %t11, ptr %t6 br label %ifend2 ifend2: %t12 = load ptr, ptr @g_g_mod_friends %t13 = load ptr, ptr %t3 %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 %grow3, label %put4 grow3: %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 store i32 549, ptr @lp_site %t28 = call ptr @lp_realloc(ptr %t27, i64 %t26) store i32 0, ptr @lp_site store ptr %t28, ptr %t16 store i32 %t22, ptr %t15 br label %put4 put4: %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 @g_g_fr_scope %t33 = load ptr, ptr %t6 %t34 = getelementptr inbounds %LSlice, ptr %t32, i32 0, i32 1 %t35 = getelementptr inbounds %LSlice, ptr %t32, i32 0, i32 2 %t36 = getelementptr inbounds %LSlice, ptr %t32, i32 0, i32 0 %t37 = load i32, ptr %t34 %t38 = load i32, ptr %t35 %t39 = icmp sge i32 %t37, %t38 br i1 %t39, label %grow5, label %put6 grow5: %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 store i32 550, ptr @lp_site %t48 = call ptr @lp_realloc(ptr %t47, i64 %t46) store i32 0, ptr @lp_site store ptr %t48, ptr %t36 store i32 %t42, ptr %t35 br label %put6 put6: %t49 = load ptr, ptr %t36 %t50 = getelementptr inbounds ptr, ptr %t49, i32 %t37 store ptr %t33, ptr %t50 %t51 = add i32 %t37, 1 store i32 %t51, ptr %t34 br label %ret ret: ret void } define i32 @fn_module_friend_of(ptr %arg_from, ptr %arg_to) { entry: %retval = alloca i32 %t0 = alloca ptr %t1 = alloca ptr %t2 = alloca i32 %t23 = alloca i32 store ptr %arg_from, ptr %t0 store ptr %arg_to, ptr %t1 store i32 0, ptr %t2 br label %wcond0 wcond0: %t3 = load i32, ptr %t2 %t4 = load ptr, ptr @g_g_mod_friends %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_g_mod_friends %t11 = load i32, ptr %t2 %t12 = getelementptr inbounds %LSlice, ptr %t10, i32 0, i32 0 %t13 = load ptr, ptr %t12 %t14 = getelementptr inbounds %LSlice, ptr %t10, i32 0, i32 1 %t15 = load i32, ptr %t14 %t16 = icmp ult i32 %t11, %t15 br i1 %t16, label %ixok3, label %ixbad4 ixbad4: store i32 551, ptr @lp_site %t17 = call ptr @lp_win_stdio(i32 2) store i32 0, ptr @lp_site call i32 (ptr, ptr, ...) @fprintf(ptr %t17, ptr @.fmt_bounds, ptr @.str1209, i32 %t11, i32 %t15) call void @exit(i32 1) unreachable ixok3: %t18 = getelementptr inbounds ptr, ptr %t13, i32 %t11 %t19 = load ptr, ptr %t18 %t20 = load ptr, ptr %t0 %t21 = call i32 @lp_str_eq(ptr %t19, ptr %t20) %t22 = icmp ne i32 %t21, 0 br i1 %t22, label %then5, label %ifend7 then5: %t24 = load ptr, ptr @g_g_fr_scope %t25 = load i32, ptr %t2 %t26 = getelementptr inbounds %LSlice, ptr %t24, i32 0, i32 0 %t27 = load ptr, ptr %t26 %t28 = getelementptr inbounds %LSlice, ptr %t24, i32 0, i32 1 %t29 = load i32, ptr %t28 %t30 = icmp ult i32 %t25, %t29 br i1 %t30, label %ixok8, label %ixbad9 ixbad9: store i32 552, ptr @lp_site %t31 = call ptr @lp_win_stdio(i32 2) store i32 0, ptr @lp_site call i32 (ptr, ptr, ...) @fprintf(ptr %t31, ptr @.fmt_bounds, ptr @.str1211, i32 %t25, i32 %t29) call void @exit(i32 1) unreachable ixok8: %t32 = getelementptr inbounds ptr, ptr %t27, i32 %t25 %t33 = load ptr, ptr %t32 %t34 = call i32 @lp_str_eq(ptr %t33, ptr @.str1212) %t35 = icmp ne i32 %t34, 0 %t36 = zext i1 %t35 to i32 store i32 %t36, ptr %t23 br i1 %t35, label %scend11, label %sc10 sc10: %t37 = load ptr, ptr @g_g_fr_scope %t38 = load i32, ptr %t2 %t39 = getelementptr inbounds %LSlice, ptr %t37, i32 0, i32 0 %t40 = load ptr, ptr %t39 %t41 = getelementptr inbounds %LSlice, ptr %t37, i32 0, i32 1 %t42 = load i32, ptr %t41 %t43 = icmp ult i32 %t38, %t42 br i1 %t43, label %ixok12, label %ixbad13 ixbad13: store i32 553, ptr @lp_site %t44 = call ptr @lp_win_stdio(i32 2) store i32 0, ptr @lp_site call i32 (ptr, ptr, ...) @fprintf(ptr %t44, ptr @.fmt_bounds, ptr @.str1213, i32 %t38, i32 %t42) call void @exit(i32 1) unreachable ixok12: %t45 = getelementptr inbounds ptr, ptr %t40, i32 %t38 %t46 = load ptr, ptr %t45 %t47 = load ptr, ptr %t1 %t48 = call i32 @fn_mod_list_has(ptr %t46, ptr %t47) %t49 = icmp ne i32 %t48, 0 %t50 = zext i1 %t49 to i32 store i32 %t50, ptr %t23 br label %scend11 scend11: %t51 = load i32, ptr %t23 %t52 = icmp ne i32 %t51, 0 br i1 %t52, label %then14, label %ifend16 then14: store i32 1, ptr %retval br label %ret ifend16: br label %ifend7 ifend7: %t53 = load i32, ptr %t2 %t54 = add i32 %t53, 1 store i32 %t54, ptr %t2 br label %wcond0 wend2: store i32 0, ptr %retval br label %ret ret: %t55 = load i32, ptr %retval ret i32 %t55 } define ptr @fn_pkg_name_of(ptr %arg_rel) { entry: %retval = alloca ptr %t0 = alloca ptr %t1 = alloca i32 %t2 = alloca i32 %t27 = alloca ptr %t28 = alloca ptr %t29 = alloca i32 %t42 = alloca i32 %t43 = alloca i32 store ptr %arg_rel, ptr %t0 store i32 0, ptr %t1 br label %wcond0 wcond0: %t3 = load i32, ptr %t1 %t4 = load ptr, ptr %t0 %t5 = call i64 @strlen(ptr %t4) %t6 = trunc i64 %t5 to i32 %t7 = icmp slt i32 %t3, %t6 %t8 = zext i1 %t7 to i32 %t9 = icmp ne i32 %t8, 0 %t10 = zext i1 %t9 to i32 store i32 %t10, ptr %t2 br i1 %t9, label %sc3, label %scend4 sc3: %t11 = load ptr, ptr %t0 %t12 = load i32, ptr %t1 %t13 = getelementptr inbounds i8, ptr %t11, i32 %t12 %t14 = load i8, ptr %t13 %t15 = zext i8 %t14 to i32 %t16 = icmp ne i32 %t15, 47 %t17 = zext i1 %t16 to i32 %t18 = icmp ne i32 %t17, 0 %t19 = zext i1 %t18 to i32 store i32 %t19, ptr %t2 br label %scend4 scend4: %t20 = load i32, ptr %t2 %t21 = icmp ne i32 %t20, 0 br i1 %t21, label %wbody1, label %wend2 wbody1: %t22 = load i32, ptr %t1 %t23 = add i32 %t22, 1 store i32 %t23, ptr %t1 br label %wcond0 wend2: %t24 = load ptr, ptr %t0 %t25 = load i32, ptr %t1 store i32 554, ptr @lp_site %t26 = call ptr @lp_str_slice(ptr %t24, i32 0, i32 %t25) store i32 0, ptr @lp_site store ptr %t26, ptr %t27 store ptr @.str1215, ptr %t28 store i32 0, ptr %t29 br label %wcond5 wcond5: %t30 = load i32, ptr %t29 %t31 = load ptr, ptr %t27 %t32 = call i64 @strlen(ptr %t31) %t33 = trunc i64 %t32 to i32 %t34 = icmp slt i32 %t30, %t33 %t35 = zext i1 %t34 to i32 %t36 = icmp ne i32 %t35, 0 br i1 %t36, label %wbody6, label %wend7 wbody6: %t37 = load ptr, ptr %t27 %t38 = load i32, ptr %t29 %t39 = getelementptr inbounds i8, ptr %t37, i32 %t38 %t40 = load i8, ptr %t39 %t41 = zext i8 %t40 to i32 store i32 %t41, ptr %t42 %t44 = load i32, ptr %t42 %t45 = icmp eq i32 %t44, 46 %t46 = zext i1 %t45 to i32 %t47 = icmp ne i32 %t46, 0 %t48 = zext i1 %t47 to i32 store i32 %t48, ptr %t43 br i1 %t47, label %scend9, label %sc8 sc8: %t49 = load i32, ptr %t42 %t50 = icmp eq i32 %t49, 45 %t51 = zext i1 %t50 to i32 %t52 = icmp ne i32 %t51, 0 %t53 = zext i1 %t52 to i32 store i32 %t53, ptr %t43 br label %scend9 scend9: %t54 = load i32, ptr %t43 %t55 = icmp ne i32 %t54, 0 br i1 %t55, label %then10, label %else11 then10: %t56 = load ptr, ptr %t28 store i32 555, ptr @lp_site %t57 = call ptr @lp_str_concat(ptr %t56, ptr @.str1216) store i32 0, ptr @lp_site store ptr %t57, ptr %t28 br label %ifend12 else11: %t58 = load ptr, ptr %t28 %t59 = load ptr, ptr %t27 %t60 = load i32, ptr %t29 %t61 = load i32, ptr %t29 %t62 = add i32 %t61, 1 store i32 556, ptr @lp_site %t63 = call ptr @lp_str_slice(ptr %t59, i32 %t60, i32 %t62) store i32 0, ptr @lp_site store i32 557, ptr @lp_site %t64 = call ptr @lp_str_concat(ptr %t58, ptr %t63) store i32 0, ptr @lp_site call void @lp_free(ptr %t63) store ptr %t64, ptr %t28 br label %ifend12 ifend12: %t65 = load i32, ptr %t29 %t66 = add i32 %t65, 1 store i32 %t66, ptr %t29 br label %wcond5 wend7: %t67 = load ptr, ptr %t28 store ptr %t67, ptr %retval br label %ret ret: %t68 = load ptr, ptr %retval ret ptr %t68 } define void @fn_pkg_file_set(ptr %arg_f, ptr %arg_name) { entry: %t0 = alloca ptr %t1 = alloca ptr store ptr %arg_f, ptr %t0 store ptr %arg_name, ptr %t1 %t2 = load ptr, ptr @g_g_pk_file %t3 = load ptr, ptr %t0 %t4 = getelementptr inbounds %LSlice, ptr %t2, i32 0, i32 1 %t5 = getelementptr inbounds %LSlice, ptr %t2, i32 0, i32 2 %t6 = getelementptr inbounds %LSlice, ptr %t2, i32 0, i32 0 %t7 = load i32, ptr %t4 %t8 = load i32, ptr %t5 %t9 = icmp sge i32 %t7, %t8 br i1 %t9, label %grow0, label %put1 grow0: %t10 = mul i32 %t8, 2 %t11 = icmp eq i32 %t8, 0 %t12 = select i1 %t11, i32 8, i32 %t10 %t13 = getelementptr ptr, ptr null, i32 1 %t14 = ptrtoint ptr %t13 to i64 %t15 = zext i32 %t12 to i64 %t16 = mul i64 %t15, %t14 %t17 = load ptr, ptr %t6 store i32 558, ptr @lp_site %t18 = call ptr @lp_realloc(ptr %t17, i64 %t16) store i32 0, ptr @lp_site store ptr %t18, ptr %t6 store i32 %t12, ptr %t5 br label %put1 put1: %t19 = load ptr, ptr %t6 %t20 = getelementptr inbounds ptr, ptr %t19, i32 %t7 store ptr %t3, ptr %t20 %t21 = add i32 %t7, 1 store i32 %t21, ptr %t4 %t22 = load ptr, ptr @g_g_pk_name %t23 = load ptr, ptr %t1 %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 %grow2, label %put3 grow2: %t30 = mul i32 %t28, 2 %t31 = icmp eq i32 %t28, 0 %t32 = select i1 %t31, i32 8, i32 %t30 %t33 = getelementptr ptr, 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 store i32 559, ptr @lp_site %t38 = call ptr @lp_realloc(ptr %t37, i64 %t36) store i32 0, ptr @lp_site store ptr %t38, ptr %t26 store i32 %t32, ptr %t25 br label %put3 put3: %t39 = load ptr, ptr %t26 %t40 = getelementptr inbounds ptr, ptr %t39, i32 %t27 store ptr %t23, ptr %t40 %t41 = add i32 %t27, 1 store i32 %t41, ptr %t24 %t42 = load ptr, ptr @g_g_fm_pkg %t43 = load ptr, ptr %t0 %t44 = load ptr, ptr %t1 call void @fn_fm_put(ptr %t42, ptr %t43, ptr %t44) br label %ret ret: ret void } define ptr @fn_pkg_of_file(ptr %arg_f) { entry: %retval = alloca ptr %t0 = alloca ptr store ptr %arg_f, ptr %t0 %t1 = load ptr, ptr @g_g_fm_pkg %t2 = load ptr, ptr %t0 %t3 = call ptr @fn_fm_get(ptr %t1, ptr %t2) store ptr %t3, ptr %retval br label %ret ret: %t4 = load ptr, ptr %retval ret ptr %t4 } define ptr @fn_module_for_uses(ptr %arg_f) { entry: %retval = alloca ptr %t0 = alloca ptr %t3 = alloca ptr store ptr %arg_f, ptr %t0 %t1 = load ptr, ptr %t0 %t2 = call ptr @fn_module_of(ptr %t1) store ptr %t2, ptr %t3 %t4 = load ptr, ptr %t3 %t5 = call i32 @lp_str_eq(ptr %t4, ptr @.str1218) %t6 = icmp eq i32 %t5, 0 %t7 = zext i1 %t6 to i32 %t8 = icmp ne i32 %t7, 0 br i1 %t8, label %then0, label %ifend2 then0: %t9 = load ptr, ptr %t3 store ptr %t9, ptr %retval br label %ret ifend2: %t10 = load ptr, ptr %t0 %t11 = call ptr @fn_pkg_of_file(ptr %t10) store ptr %t11, ptr %retval br label %ret ret: %t12 = load ptr, ptr %retval ret ptr %t12 } define i32 @fn_module_may_use(ptr %arg_from, ptr %arg_to) { entry: %retval = alloca i32 %t0 = alloca ptr %t1 = alloca ptr %t2 = alloca i32 %t3 = alloca i32 %t24 = alloca i32 %t29 = alloca i32 store ptr %arg_from, ptr %t0 store ptr %arg_to, ptr %t1 %t4 = load ptr, ptr %t0 %t5 = call i32 @lp_str_eq(ptr %t4, ptr @.str1219) %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 %t1 %t9 = call i32 @lp_str_eq(ptr %t8, ptr @.str1220) %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 = load ptr, ptr %t1 %t17 = call i32 @lp_str_eq(ptr %t15, ptr %t16) %t18 = icmp ne i32 %t17, 0 %t19 = zext i1 %t18 to i32 store i32 %t19, ptr %t2 br label %scend3 scend3: %t20 = load i32, ptr %t2 %t21 = icmp ne i32 %t20, 0 br i1 %t21, label %then4, label %ifend6 then4: store i32 1, ptr %retval br label %ret ifend6: %t22 = load ptr, ptr %t0 %t23 = call i32 @fn_mod_find_uses(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 %then7, label %ifend9 then7: store i32 1, ptr %retval br label %ret ifend9: %t30 = load ptr, ptr %t0 %t31 = call ptr @fn_mod_layer(ptr %t30) %t32 = call i32 @lp_str_eq(ptr %t31, ptr @.str1221) %t33 = icmp eq i32 %t32, 0 %t34 = zext i1 %t33 to i32 %t35 = icmp ne i32 %t34, 0 %t36 = zext i1 %t35 to i32 store i32 %t36, ptr %t29 br i1 %t35, label %sc10, label %scend11 sc10: %t37 = load ptr, ptr %t0 %t38 = call ptr @fn_mod_layer(ptr %t37) %t39 = load ptr, ptr %t1 %t40 = call ptr @fn_mod_layer(ptr %t39) %t41 = call i32 @lp_str_eq(ptr %t38, ptr %t40) %t42 = icmp ne i32 %t41, 0 %t43 = zext i1 %t42 to i32 store i32 %t43, ptr %t29 br label %scend11 scend11: %t44 = load i32, ptr %t29 %t45 = icmp ne i32 %t44, 0 br i1 %t45, label %then12, label %ifend14 then12: store i32 1, ptr %retval br label %ret ifend14: %t46 = load ptr, ptr @g_g_mu_list %t47 = load i32, ptr %t24 %t48 = getelementptr inbounds %LSlice, ptr %t46, i32 0, i32 0 %t49 = load ptr, ptr %t48 %t50 = getelementptr inbounds %LSlice, ptr %t46, i32 0, i32 1 %t51 = load i32, ptr %t50 %t52 = icmp ult i32 %t47, %t51 br i1 %t52, label %ixok15, label %ixbad16 ixbad16: store i32 560, ptr @lp_site %t53 = call ptr @lp_win_stdio(i32 2) store i32 0, ptr @lp_site call i32 (ptr, ptr, ...) @fprintf(ptr %t53, ptr @.fmt_bounds, ptr @.str1222, i32 %t47, i32 %t51) call void @exit(i32 1) unreachable ixok15: %t54 = getelementptr inbounds ptr, ptr %t49, i32 %t47 %t55 = load ptr, ptr %t54 %t56 = load ptr, ptr %t1 %t57 = call i32 @fn_mod_list_has(ptr %t55, ptr %t56) store i32 %t57, ptr %retval br label %ret ret: %t58 = load i32, ptr %retval ret i32 %t58 } define ptr @fn_mod_names(ptr %arg_list) { entry: %retval = alloca ptr %t0 = alloca ptr %t7 = alloca ptr %t8 = alloca i32 %t9 = alloca i32 store ptr %arg_list, ptr %t0 %t1 = getelementptr %LSlice, ptr null, i32 1 %t2 = ptrtoint ptr %t1 to i64 store i32 561, ptr @lp_site %t3 = call ptr @lp_malloc(i64 %t2) store i32 0, ptr @lp_site %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 1, ptr %t8 store i32 1, ptr %t9 br label %wcond0 wcond0: %t10 = load i32, ptr %t9 %t11 = load ptr, ptr %t0 %t12 = call i64 @strlen(ptr %t11) %t13 = trunc i64 %t12 to i32 %t14 = icmp slt i32 %t10, %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 = load i32, ptr %t9 %t19 = getelementptr inbounds i8, ptr %t17, i32 %t18 %t20 = load i8, ptr %t19 %t21 = zext i8 %t20 to i32 %t22 = icmp eq i32 %t21, 44 %t23 = zext i1 %t22 to i32 %t24 = icmp ne i32 %t23, 0 br i1 %t24, label %then3, label %ifend5 then3: %t25 = load i32, ptr %t9 %t26 = load i32, ptr %t8 %t27 = icmp sgt i32 %t25, %t26 %t28 = zext i1 %t27 to i32 %t29 = icmp ne i32 %t28, 0 br i1 %t29, label %then6, label %ifend8 then6: %t30 = load ptr, ptr %t7 %t31 = load ptr, ptr %t0 %t32 = load i32, ptr %t8 %t33 = load i32, ptr %t9 store i32 562, ptr @lp_site %t34 = call ptr @lp_str_slice(ptr %t31, i32 %t32, i32 %t33) store i32 0, ptr @lp_site %t35 = getelementptr inbounds %LSlice, ptr %t30, i32 0, i32 1 %t36 = getelementptr inbounds %LSlice, ptr %t30, i32 0, i32 2 %t37 = getelementptr inbounds %LSlice, ptr %t30, 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 store i32 563, ptr @lp_site %t49 = call ptr @lp_realloc(ptr %t48, i64 %t47) store i32 0, ptr @lp_site 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 br label %ifend8 ifend8: %t53 = load i32, ptr %t9 %t54 = add i32 %t53, 1 store i32 %t54, ptr %t8 br label %ifend5 ifend5: %t55 = load i32, ptr %t9 %t56 = add i32 %t55, 1 store i32 %t56, ptr %t9 br label %wcond0 wend2: %t57 = load ptr, ptr %t7 store ptr %t57, ptr %retval br label %ret ret: %t58 = load ptr, ptr %retval ret ptr %t58 } define ptr @fn_mod_node(ptr %arg_m) { entry: %retval = alloca ptr %t0 = alloca ptr %t3 = alloca ptr store ptr %arg_m, ptr %t0 %t1 = load ptr, ptr %t0 %t2 = call ptr @fn_mod_layer(ptr %t1) store ptr %t2, ptr %t3 %t4 = load ptr, ptr %t3 %t5 = call i32 @lp_str_eq(ptr %t4, ptr @.str1225) %t6 = icmp ne i32 %t5, 0 br i1 %t6, label %then0, label %ifend2 then0: %t7 = load ptr, ptr %t0 store ptr %t7, ptr %retval br label %ret ifend2: %t8 = load ptr, ptr %t3 store i32 564, ptr @lp_site %t9 = call ptr @lp_str_concat(ptr @.str1226, ptr %t8) store i32 0, ptr @lp_site store ptr %t9, ptr %retval br label %ret ret: %t10 = load ptr, ptr %retval ret ptr %t10 } define ptr @fn_mod_node_edges(ptr %arg_nd) { entry: %retval = alloca ptr %t0 = alloca ptr %t1 = alloca ptr %t2 = alloca i32 %t35 = alloca ptr %t36 = alloca i32 %t55 = alloca ptr %t56 = alloca i32 store ptr %arg_nd, ptr %t0 store ptr @.str1228, ptr %t1 store i32 0, ptr %t2 br label %wcond0 wcond0: %t3 = load i32, ptr %t2 %t4 = load ptr, ptr @g_g_mu_mod %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_g_mu_mod %t11 = load i32, ptr %t2 %t12 = getelementptr inbounds %LSlice, ptr %t10, i32 0, i32 0 %t13 = load ptr, ptr %t12 %t14 = getelementptr inbounds %LSlice, ptr %t10, i32 0, i32 1 %t15 = load i32, ptr %t14 %t16 = icmp ult i32 %t11, %t15 br i1 %t16, label %ixok3, label %ixbad4 ixbad4: store i32 565, ptr @lp_site %t17 = call ptr @lp_win_stdio(i32 2) store i32 0, ptr @lp_site call i32 (ptr, ptr, ...) @fprintf(ptr %t17, ptr @.fmt_bounds, ptr @.str1229, i32 %t11, i32 %t15) call void @exit(i32 1) unreachable ixok3: %t18 = getelementptr inbounds ptr, ptr %t13, i32 %t11 %t19 = load ptr, ptr %t18 %t20 = call ptr @fn_mod_node(ptr %t19) %t21 = load ptr, ptr %t0 %t22 = call i32 @lp_str_eq(ptr %t20, ptr %t21) %t23 = icmp ne i32 %t22, 0 br i1 %t23, label %then5, label %ifend7 then5: %t24 = load ptr, ptr @g_g_mu_list %t25 = load i32, ptr %t2 %t26 = getelementptr inbounds %LSlice, ptr %t24, i32 0, i32 0 %t27 = load ptr, ptr %t26 %t28 = getelementptr inbounds %LSlice, ptr %t24, i32 0, i32 1 %t29 = load i32, ptr %t28 %t30 = icmp ult i32 %t25, %t29 br i1 %t30, label %ixok8, label %ixbad9 ixbad9: store i32 566, ptr @lp_site %t31 = call ptr @lp_win_stdio(i32 2) store i32 0, ptr @lp_site call i32 (ptr, ptr, ...) @fprintf(ptr %t31, ptr @.fmt_bounds, ptr @.str1231, i32 %t25, i32 %t29) call void @exit(i32 1) unreachable ixok8: %t32 = getelementptr inbounds ptr, ptr %t27, i32 %t25 %t33 = load ptr, ptr %t32 %t34 = call ptr @fn_mod_names(ptr %t33) store ptr %t34, ptr %t35 store i32 0, ptr %t36 br label %wcond10 wcond10: %t37 = load i32, ptr %t36 %t38 = load ptr, ptr %t35 %t39 = getelementptr inbounds %LSlice, ptr %t38, i32 0, i32 1 %t40 = load i32, ptr %t39 %t41 = icmp slt i32 %t37, %t40 %t42 = zext i1 %t41 to i32 %t43 = icmp ne i32 %t42, 0 br i1 %t43, label %wbody11, label %wend12 wbody11: %t44 = load ptr, ptr %t35 %t45 = load i32, ptr %t36 %t46 = getelementptr inbounds %LSlice, ptr %t44, i32 0, i32 0 %t47 = load ptr, ptr %t46 %t48 = getelementptr inbounds %LSlice, ptr %t44, i32 0, i32 1 %t49 = load i32, ptr %t48 %t50 = icmp ult i32 %t45, %t49 br i1 %t50, label %ixok13, label %ixbad14 ixbad14: store i32 567, ptr @lp_site %t51 = call ptr @lp_win_stdio(i32 2) store i32 0, ptr @lp_site call i32 (ptr, ptr, ...) @fprintf(ptr %t51, ptr @.fmt_bounds, ptr @.str1232, i32 %t45, i32 %t49) call void @exit(i32 1) unreachable ixok13: %t52 = getelementptr inbounds ptr, ptr %t47, i32 %t45 %t53 = load ptr, ptr %t52 %t54 = call ptr @fn_mod_node(ptr %t53) store ptr %t54, ptr %t55 %t57 = load ptr, ptr %t55 %t58 = load ptr, ptr %t0 %t59 = call i32 @lp_str_eq(ptr %t57, ptr %t58) %t60 = icmp eq i32 %t59, 0 %t61 = zext i1 %t60 to i32 %t62 = icmp ne i32 %t61, 0 %t63 = zext i1 %t62 to i32 store i32 %t63, ptr %t56 br i1 %t62, label %sc15, label %scend16 sc15: %t64 = load ptr, ptr %t1 %t65 = load ptr, ptr %t55 store i32 568, ptr @lp_site %t66 = call ptr @lp_str_concat(ptr @.str1233, ptr %t65) store i32 0, ptr @lp_site store i32 569, ptr @lp_site %t67 = call ptr @lp_str_concat(ptr %t66, ptr @.str1234) store i32 0, ptr @lp_site call void @lp_free(ptr %t66) %t68 = call i32 @fn_has_sub(ptr %t64, ptr %t67) %t69 = icmp eq i32 %t68, 0 %t70 = zext i1 %t69 to i32 %t71 = icmp ne i32 %t70, 0 %t72 = zext i1 %t71 to i32 store i32 %t72, ptr %t56 br label %scend16 scend16: %t73 = load i32, ptr %t56 %t74 = icmp ne i32 %t73, 0 br i1 %t74, label %then17, label %ifend19 then17: %t75 = load ptr, ptr %t1 %t76 = load ptr, ptr %t55 store i32 570, ptr @lp_site %t77 = call ptr @lp_str_concat(ptr %t75, ptr %t76) store i32 0, ptr @lp_site store i32 571, ptr @lp_site %t78 = call ptr @lp_str_concat(ptr %t77, ptr @.str1235) store i32 0, ptr @lp_site call void @lp_free(ptr %t77) store ptr %t78, ptr %t1 br label %ifend19 ifend19: %t79 = load i32, ptr %t36 %t80 = add i32 %t79, 1 store i32 %t80, ptr %t36 br label %wcond10 wend12: br label %ifend7 ifend7: %t81 = load i32, ptr %t2 %t82 = add i32 %t81, 1 store i32 %t82, ptr %t2 br label %wcond0 wend2: %t83 = load ptr, ptr %t1 store ptr %t83, ptr %retval br label %ret ret: %t84 = load ptr, ptr %retval ret ptr %t84 } define void @fn_mod_walk(ptr %arg_m, ptr %arg_path, ptr %arg_first) { entry: %t0 = alloca ptr %t1 = alloca ptr %t2 = alloca ptr %t12 = alloca i32 %t46 = alloca ptr %t52 = alloca ptr %t53 = alloca i32 store ptr %arg_m, ptr %t0 store ptr %arg_path, ptr %t1 store ptr %arg_first, ptr %t2 %t3 = load ptr, ptr %t1 store i32 572, ptr @lp_site %t4 = call ptr @lp_str_concat(ptr @.str1236, ptr %t3) store i32 0, ptr @lp_site %t5 = load ptr, ptr %t0 store i32 573, ptr @lp_site %t6 = call ptr @lp_str_concat(ptr @.str1238, ptr %t5) store i32 0, ptr @lp_site store i32 574, ptr @lp_site %t7 = call ptr @lp_str_concat(ptr %t6, ptr @.str1239) store i32 0, ptr @lp_site call void @lp_free(ptr %t6) %t8 = call i32 @fn_has_sub(ptr %t4, ptr %t7) %t9 = icmp ne i32 %t8, 0 br i1 %t9, label %then0, label %ifend2 then0: %t10 = load ptr, ptr %t2 %t11 = call i32 @fn_mod_find_uses(ptr %t10) store i32 %t11, ptr %t12 %t13 = load ptr, ptr @g_g_mu_file %t14 = load i32, ptr %t12 %t15 = getelementptr inbounds %LSlice, ptr %t13, i32 0, i32 0 %t16 = load ptr, ptr %t15 %t17 = getelementptr inbounds %LSlice, ptr %t13, i32 0, i32 1 %t18 = load i32, ptr %t17 %t19 = icmp ult i32 %t14, %t18 br i1 %t19, label %ixok3, label %ixbad4 ixbad4: store i32 575, ptr @lp_site %t20 = call ptr @lp_win_stdio(i32 2) store i32 0, ptr @lp_site call i32 (ptr, ptr, ...) @fprintf(ptr %t20, ptr @.fmt_bounds, ptr @.str1240, i32 %t14, i32 %t18) call void @exit(i32 1) unreachable ixok3: %t21 = getelementptr inbounds ptr, ptr %t16, i32 %t14 %t22 = load ptr, ptr %t21 store ptr %t22, ptr @g_g_err_file %t23 = load ptr, ptr @g_g_mu_line %t24 = load i32, ptr %t12 %t25 = getelementptr inbounds %LSlice, ptr %t23, i32 0, i32 0 %t26 = load ptr, ptr %t25 %t27 = getelementptr inbounds %LSlice, ptr %t23, i32 0, i32 1 %t28 = load i32, ptr %t27 %t29 = icmp ult i32 %t24, %t28 br i1 %t29, label %ixok5, label %ixbad6 ixbad6: store i32 576, ptr @lp_site %t30 = call ptr @lp_win_stdio(i32 2) store i32 0, ptr @lp_site call i32 (ptr, ptr, ...) @fprintf(ptr %t30, ptr @.fmt_bounds, ptr @.str1241, i32 %t24, i32 %t28) call void @exit(i32 1) unreachable ixok5: %t31 = getelementptr inbounds i32, ptr %t26, i32 %t24 %t32 = load i32, ptr %t31 store i32 %t32, ptr @g_g_err_line %t33 = load ptr, ptr %t1 store i32 577, ptr @lp_site %t34 = call ptr @lp_str_concat(ptr @.str1242, ptr %t33) store i32 0, ptr @lp_site %t35 = load ptr, ptr %t0 store i32 578, ptr @lp_site %t36 = call ptr @lp_str_concat(ptr %t34, ptr %t35) store i32 0, ptr @lp_site call void @lp_free(ptr %t34) store i32 579, ptr @lp_site %t37 = call ptr @lp_str_concat(ptr %t36, ptr @.str1243) store i32 0, ptr @lp_site call void @lp_free(ptr %t36) call void @fn_perr(ptr %t37) br label %ifend2 ifend2: %t38 = load ptr, ptr @g_g_mu_done %t39 = load ptr, ptr %t0 store i32 580, ptr @lp_site %t40 = call ptr @lp_str_concat(ptr @.str1244, ptr %t39) store i32 0, ptr @lp_site store i32 581, ptr @lp_site %t41 = call ptr @lp_str_concat(ptr %t40, ptr @.str1245) store i32 0, ptr @lp_site call void @lp_free(ptr %t40) %t42 = call i32 @fn_has_sub(ptr %t38, ptr %t41) %t43 = icmp ne i32 %t42, 0 br i1 %t43, label %then7, label %ifend9 then7: br label %ret ifend9: %t44 = load ptr, ptr %t0 %t45 = call ptr @fn_mod_node_edges(ptr %t44) store ptr %t45, ptr %t46 %t47 = load ptr, ptr %t46 %t48 = call i32 @lp_str_eq(ptr %t47, ptr @.str1246) %t49 = icmp ne i32 %t48, 0 br i1 %t49, label %then10, label %ifend12 then10: br label %ret ifend12: %t50 = load ptr, ptr %t46 %t51 = call ptr @fn_mod_names(ptr %t50) store ptr %t51, ptr %t52 store i32 0, ptr %t53 br label %wcond13 wcond13: %t54 = load i32, ptr %t53 %t55 = load ptr, ptr %t52 %t56 = getelementptr inbounds %LSlice, ptr %t55, i32 0, i32 1 %t57 = load i32, ptr %t56 %t58 = icmp slt i32 %t54, %t57 %t59 = zext i1 %t58 to i32 %t60 = icmp ne i32 %t59, 0 br i1 %t60, label %wbody14, label %wend15 wbody14: %t61 = load ptr, ptr %t52 %t62 = load i32, ptr %t53 %t63 = getelementptr inbounds %LSlice, ptr %t61, i32 0, i32 0 %t64 = load ptr, ptr %t63 %t65 = getelementptr inbounds %LSlice, ptr %t61, i32 0, i32 1 %t66 = load i32, ptr %t65 %t67 = icmp ult i32 %t62, %t66 br i1 %t67, label %ixok16, label %ixbad17 ixbad17: store i32 582, ptr @lp_site %t68 = call ptr @lp_win_stdio(i32 2) store i32 0, ptr @lp_site call i32 (ptr, ptr, ...) @fprintf(ptr %t68, ptr @.fmt_bounds, ptr @.str1247, i32 %t62, i32 %t66) call void @exit(i32 1) unreachable ixok16: %t69 = getelementptr inbounds ptr, ptr %t64, i32 %t62 %t70 = load ptr, ptr %t69 %t71 = load ptr, ptr %t1 %t72 = load ptr, ptr %t0 store i32 583, ptr @lp_site %t73 = call ptr @lp_str_concat(ptr %t71, ptr %t72) store i32 0, ptr @lp_site store i32 584, ptr @lp_site %t74 = call ptr @lp_str_concat(ptr %t73, ptr @.str1248) store i32 0, ptr @lp_site call void @lp_free(ptr %t73) %t75 = load ptr, ptr %t2 call void @fn_mod_walk(ptr %t70, ptr %t74, ptr %t75) %t76 = load i32, ptr %t53 %t77 = add i32 %t76, 1 store i32 %t77, ptr %t53 br label %wcond13 wend15: %t78 = load ptr, ptr @g_g_mu_done %t79 = load ptr, ptr %t0 store i32 585, ptr @lp_site %t80 = call ptr @lp_str_concat(ptr %t78, ptr %t79) store i32 0, ptr @lp_site store i32 586, ptr @lp_site %t81 = call ptr @lp_str_concat(ptr %t80, ptr @.str1249) store i32 0, ptr @lp_site call void @lp_free(ptr %t80) store ptr %t81, ptr @g_g_mu_done br label %ret ret: ret void } define void @fn_modules_finish() { entry: %t1 = alloca i32 %t2 = alloca i32 %t0 = load i32, ptr @g_g_parsing store i32 %t0, ptr %t1 store i32 0, ptr @g_g_parsing store i32 0, ptr %t2 br label %wcond0 wcond0: %t3 = load i32, ptr %t2 %t4 = load ptr, ptr @g_g_mu_mod %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_g_mu_mod %t11 = load i32, ptr %t2 %t12 = getelementptr inbounds %LSlice, ptr %t10, i32 0, i32 0 %t13 = load ptr, ptr %t12 %t14 = getelementptr inbounds %LSlice, ptr %t10, i32 0, i32 1 %t15 = load i32, ptr %t14 %t16 = icmp ult i32 %t11, %t15 br i1 %t16, label %ixok3, label %ixbad4 ixbad4: store i32 587, ptr @lp_site %t17 = call ptr @lp_win_stdio(i32 2) store i32 0, ptr @lp_site call i32 (ptr, ptr, ...) @fprintf(ptr %t17, ptr @.fmt_bounds, ptr @.str1250, i32 %t11, i32 %t15) call void @exit(i32 1) unreachable ixok3: %t18 = getelementptr inbounds ptr, ptr %t13, i32 %t11 %t19 = load ptr, ptr %t18 %t20 = call ptr @fn_mod_node(ptr %t19) %t21 = load ptr, ptr @g_g_mu_mod %t22 = load i32, ptr %t2 %t23 = getelementptr inbounds %LSlice, ptr %t21, i32 0, i32 0 %t24 = load ptr, ptr %t23 %t25 = getelementptr inbounds %LSlice, ptr %t21, i32 0, i32 1 %t26 = load i32, ptr %t25 %t27 = icmp ult i32 %t22, %t26 br i1 %t27, label %ixok5, label %ixbad6 ixbad6: store i32 588, ptr @lp_site %t28 = call ptr @lp_win_stdio(i32 2) store i32 0, ptr @lp_site call i32 (ptr, ptr, ...) @fprintf(ptr %t28, ptr @.fmt_bounds, ptr @.str1253, i32 %t22, i32 %t26) call void @exit(i32 1) unreachable ixok5: %t29 = getelementptr inbounds ptr, ptr %t24, i32 %t22 %t30 = load ptr, ptr %t29 call void @fn_mod_walk(ptr %t20, ptr @.str1252, ptr %t30) %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 @g_g_parsing br label %ret ret: ret void } define ptr @fn_native_target() { entry: %retval = alloca ptr %t1 = alloca ptr %t0 = call ptr @getenv(ptr @.str1254) 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 = load i32, ptr @g_g_target_win %t8 = icmp ne i32 %t7, 0 br i1 %t8, label %then3, label %ifend5 then3: store ptr @.str1255, ptr %retval br label %ret ifend5: %t9 = call i32 @lp_fs_is_dir(ptr @.str1256) %t10 = icmp ne i32 %t9, 0 br i1 %t10, label %then6, label %ifend8 then6: store ptr @.str1257, ptr %retval br label %ret ifend8: store ptr @.str1258, ptr %retval br label %ret ret: %t11 = load ptr, ptr %retval ret ptr %t11 } define ptr @fn_native_words(ptr %arg_line) { entry: %retval = alloca ptr %t0 = alloca ptr %t7 = alloca ptr %t11 = alloca i32 %t12 = alloca i32 %t18 = alloca i32 %t25 = alloca i32 %t51 = alloca i32 %t80 = alloca i32 %t82 = alloca i32 %t128 = alloca i32 %t129 = alloca i32 %t130 = alloca i32 store ptr %arg_line, ptr %t0 %t1 = getelementptr %LSlice, ptr null, i32 1 %t2 = ptrtoint ptr %t1 to i64 store i32 589, ptr @lp_site %t3 = call ptr @lp_malloc(i64 %t2) store i32 0, ptr @lp_site %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 %t8 = load ptr, ptr %t0 %t9 = call i64 @strlen(ptr %t8) %t10 = trunc i64 %t9 to i32 store i32 %t10, ptr %t11 store i32 0, ptr %t12 br label %wcond0 wcond0: %t13 = load i32, ptr %t12 %t14 = load i32, ptr %t11 %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: br label %wcond3 wcond3: %t19 = load i32, ptr %t12 %t20 = load i32, ptr %t11 %t21 = icmp slt i32 %t19, %t20 %t22 = zext i1 %t21 to i32 %t23 = icmp ne i32 %t22, 0 %t24 = zext i1 %t23 to i32 store i32 %t24, ptr %t18 br i1 %t23, label %sc6, label %scend7 sc6: %t26 = load ptr, ptr %t0 %t27 = load i32, ptr %t12 %t28 = getelementptr inbounds i8, ptr %t26, i32 %t27 %t29 = load i8, ptr %t28 %t30 = zext i8 %t29 to i32 %t31 = icmp eq i32 %t30, 32 %t32 = zext i1 %t31 to i32 %t33 = icmp ne i32 %t32, 0 %t34 = zext i1 %t33 to i32 store i32 %t34, ptr %t25 br i1 %t33, label %scend9, label %sc8 sc8: %t35 = load ptr, ptr %t0 %t36 = load i32, ptr %t12 %t37 = getelementptr inbounds i8, ptr %t35, i32 %t36 %t38 = load i8, ptr %t37 %t39 = zext i8 %t38 to i32 %t40 = icmp eq i32 %t39, 9 %t41 = zext i1 %t40 to i32 %t42 = icmp ne i32 %t41, 0 %t43 = zext i1 %t42 to i32 store i32 %t43, ptr %t25 br label %scend9 scend9: %t44 = load i32, ptr %t25 %t45 = icmp ne i32 %t44, 0 %t46 = zext i1 %t45 to i32 store i32 %t46, ptr %t18 br label %scend7 scend7: %t47 = load i32, ptr %t18 %t48 = icmp ne i32 %t47, 0 br i1 %t48, label %wbody4, label %wend5 wbody4: %t49 = load i32, ptr %t12 %t50 = add i32 %t49, 1 store i32 %t50, ptr %t12 br label %wcond3 wend5: %t52 = load i32, ptr %t12 %t53 = load i32, ptr %t11 %t54 = icmp sge i32 %t52, %t53 %t55 = zext i1 %t54 to i32 %t56 = icmp ne i32 %t55, 0 %t57 = zext i1 %t56 to i32 store i32 %t57, ptr %t51 br i1 %t56, label %scend11, label %sc10 sc10: %t58 = load ptr, ptr %t0 %t59 = load i32, ptr %t12 %t60 = getelementptr inbounds i8, ptr %t58, i32 %t59 %t61 = load i8, ptr %t60 %t62 = zext i8 %t61 to i32 %t63 = icmp eq i32 %t62, 35 %t64 = zext i1 %t63 to i32 %t65 = icmp ne i32 %t64, 0 %t66 = zext i1 %t65 to i32 store i32 %t66, ptr %t51 br label %scend11 scend11: %t67 = load i32, ptr %t51 %t68 = icmp ne i32 %t67, 0 br i1 %t68, label %then12, label %ifend14 then12: %t69 = load ptr, ptr %t7 store ptr %t69, ptr %retval br label %ret ifend14: %t70 = load ptr, ptr %t0 %t71 = load i32, ptr %t12 %t72 = getelementptr inbounds i8, ptr %t70, i32 %t71 %t73 = load i8, ptr %t72 %t74 = zext i8 %t73 to i32 %t75 = icmp eq i32 %t74, 34 %t76 = zext i1 %t75 to i32 %t77 = icmp ne i32 %t76, 0 br i1 %t77, label %then15, label %else16 then15: %t78 = load i32, ptr %t12 %t79 = add i32 %t78, 1 store i32 %t79, ptr %t80 %t81 = load i32, ptr %t80 store i32 %t81, ptr %t12 br label %wcond18 wcond18: %t83 = load i32, ptr %t12 %t84 = load i32, ptr %t11 %t85 = icmp slt i32 %t83, %t84 %t86 = zext i1 %t85 to i32 %t87 = icmp ne i32 %t86, 0 %t88 = zext i1 %t87 to i32 store i32 %t88, ptr %t82 br i1 %t87, label %sc21, label %scend22 sc21: %t89 = load ptr, ptr %t0 %t90 = load i32, ptr %t12 %t91 = getelementptr inbounds i8, ptr %t89, i32 %t90 %t92 = load i8, ptr %t91 %t93 = zext i8 %t92 to i32 %t94 = icmp ne i32 %t93, 34 %t95 = zext i1 %t94 to i32 %t96 = icmp ne i32 %t95, 0 %t97 = zext i1 %t96 to i32 store i32 %t97, ptr %t82 br label %scend22 scend22: %t98 = load i32, ptr %t82 %t99 = icmp ne i32 %t98, 0 br i1 %t99, label %wbody19, label %wend20 wbody19: %t100 = load i32, ptr %t12 %t101 = add i32 %t100, 1 store i32 %t101, ptr %t12 br label %wcond18 wend20: %t102 = load ptr, ptr %t7 %t103 = load ptr, ptr %t0 %t104 = load i32, ptr %t80 %t105 = load i32, ptr %t12 store i32 590, ptr @lp_site %t106 = call ptr @lp_str_slice(ptr %t103, i32 %t104, i32 %t105) store i32 0, ptr @lp_site %t107 = getelementptr inbounds %LSlice, ptr %t102, i32 0, i32 1 %t108 = getelementptr inbounds %LSlice, ptr %t102, i32 0, i32 2 %t109 = getelementptr inbounds %LSlice, ptr %t102, i32 0, i32 0 %t110 = load i32, ptr %t107 %t111 = load i32, ptr %t108 %t112 = icmp sge i32 %t110, %t111 br i1 %t112, label %grow23, label %put24 grow23: %t113 = mul i32 %t111, 2 %t114 = icmp eq i32 %t111, 0 %t115 = select i1 %t114, i32 8, i32 %t113 %t116 = getelementptr ptr, ptr null, i32 1 %t117 = ptrtoint ptr %t116 to i64 %t118 = zext i32 %t115 to i64 %t119 = mul i64 %t118, %t117 %t120 = load ptr, ptr %t109 store i32 591, ptr @lp_site %t121 = call ptr @lp_realloc(ptr %t120, i64 %t119) store i32 0, ptr @lp_site store ptr %t121, ptr %t109 store i32 %t115, ptr %t108 br label %put24 put24: %t122 = load ptr, ptr %t109 %t123 = getelementptr inbounds ptr, ptr %t122, i32 %t110 store ptr %t106, ptr %t123 %t124 = add i32 %t110, 1 store i32 %t124, ptr %t107 %t125 = load i32, ptr %t12 %t126 = add i32 %t125, 1 store i32 %t126, ptr %t12 br label %ifend17 else16: %t127 = load i32, ptr %t12 store i32 %t127, ptr %t128 br label %wcond25 wcond25: %t131 = load i32, ptr %t12 %t132 = load i32, ptr %t11 %t133 = icmp slt i32 %t131, %t132 %t134 = zext i1 %t133 to i32 %t135 = icmp ne i32 %t134, 0 %t136 = zext i1 %t135 to i32 store i32 %t136, ptr %t130 br i1 %t135, label %sc28, label %scend29 sc28: %t137 = load ptr, ptr %t0 %t138 = load i32, ptr %t12 %t139 = getelementptr inbounds i8, ptr %t137, i32 %t138 %t140 = load i8, ptr %t139 %t141 = zext i8 %t140 to i32 %t142 = icmp ne i32 %t141, 32 %t143 = zext i1 %t142 to i32 %t144 = icmp ne i32 %t143, 0 %t145 = zext i1 %t144 to i32 store i32 %t145, ptr %t130 br label %scend29 scend29: %t146 = load i32, ptr %t130 %t147 = icmp ne i32 %t146, 0 %t148 = zext i1 %t147 to i32 store i32 %t148, ptr %t129 br i1 %t147, label %sc30, label %scend31 sc30: %t149 = load ptr, ptr %t0 %t150 = load i32, ptr %t12 %t151 = getelementptr inbounds i8, ptr %t149, i32 %t150 %t152 = load i8, ptr %t151 %t153 = zext i8 %t152 to i32 %t154 = icmp ne i32 %t153, 9 %t155 = zext i1 %t154 to i32 %t156 = icmp ne i32 %t155, 0 %t157 = zext i1 %t156 to i32 store i32 %t157, ptr %t129 br label %scend31 scend31: %t158 = load i32, ptr %t129 %t159 = icmp ne i32 %t158, 0 br i1 %t159, label %wbody26, label %wend27 wbody26: %t160 = load i32, ptr %t12 %t161 = add i32 %t160, 1 store i32 %t161, ptr %t12 br label %wcond25 wend27: %t162 = load ptr, ptr %t7 %t163 = load ptr, ptr %t0 %t164 = load i32, ptr %t128 %t165 = load i32, ptr %t12 store i32 592, ptr @lp_site %t166 = call ptr @lp_str_slice(ptr %t163, i32 %t164, i32 %t165) store i32 0, ptr @lp_site %t167 = getelementptr inbounds %LSlice, ptr %t162, i32 0, i32 1 %t168 = getelementptr inbounds %LSlice, ptr %t162, i32 0, i32 2 %t169 = getelementptr inbounds %LSlice, ptr %t162, i32 0, i32 0 %t170 = load i32, ptr %t167 %t171 = load i32, ptr %t168 %t172 = icmp sge i32 %t170, %t171 br i1 %t172, label %grow32, label %put33 grow32: %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 store i32 593, ptr @lp_site %t181 = call ptr @lp_realloc(ptr %t180, i64 %t179) store i32 0, ptr @lp_site store ptr %t181, ptr %t169 store i32 %t175, ptr %t168 br label %put33 put33: %t182 = load ptr, ptr %t169 %t183 = getelementptr inbounds ptr, ptr %t182, i32 %t170 store ptr %t166, ptr %t183 %t184 = add i32 %t170, 1 store i32 %t184, ptr %t167 br label %ifend17 ifend17: br label %wcond0 wend2: %t185 = load ptr, ptr %t7 store ptr %t185, ptr %retval br label %ret ret: %t186 = load ptr, ptr %retval ret ptr %t186 } define i32 @fn_native_have(ptr %arg_xs, ptr %arg_s) { entry: %retval = alloca i32 %t0 = alloca ptr %t1 = alloca ptr %t2 = alloca i32 store ptr %arg_xs, 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 = load i32, ptr %t2 %t12 = getelementptr inbounds %LSlice, ptr %t10, i32 0, i32 0 %t13 = load ptr, ptr %t12 %t14 = getelementptr inbounds %LSlice, ptr %t10, i32 0, i32 1 %t15 = load i32, ptr %t14 %t16 = icmp ult i32 %t11, %t15 br i1 %t16, label %ixok3, label %ixbad4 ixbad4: store i32 594, ptr @lp_site %t17 = call ptr @lp_win_stdio(i32 2) store i32 0, ptr @lp_site call i32 (ptr, ptr, ...) @fprintf(ptr %t17, ptr @.fmt_bounds, ptr @.str1260, i32 %t11, i32 %t15) call void @exit(i32 1) unreachable ixok3: %t18 = getelementptr inbounds ptr, ptr %t13, i32 %t11 %t19 = load ptr, ptr %t18 %t20 = load ptr, ptr %t1 %t21 = call i32 @lp_str_eq(ptr %t19, ptr %t20) %t22 = icmp ne i32 %t21, 0 br i1 %t22, label %then5, label %ifend7 then5: store i32 1, ptr %retval br label %ret ifend7: %t23 = load i32, ptr %t2 %t24 = add i32 %t23, 1 store i32 %t24, ptr %t2 br label %wcond0 wend2: store i32 0, ptr %retval br label %ret ret: %t25 = load i32, ptr %retval ret i32 %t25 } define void @fn_native_note_pkg(ptr %arg_full, ptr %arg_rel) { entry: %t0 = alloca ptr %t1 = alloca ptr %t2 = alloca i32 %t3 = alloca i32 %t37 = alloca ptr %t65 = alloca ptr %t71 = alloca ptr %t72 = alloca i32 %t76 = alloca i32 %t83 = alloca i32 %t84 = alloca i32 %t105 = alloca i32 %t106 = alloca i32 %t132 = alloca ptr %t133 = alloca i32 %t134 = alloca i32 %t183 = alloca ptr store ptr %arg_full, ptr %t0 store ptr %arg_rel, ptr %t1 store i32 0, ptr %t2 br label %wcond0 wcond0: %t4 = load i32, ptr %t2 %t5 = load ptr, ptr %t1 %t6 = call i64 @strlen(ptr %t5) %t7 = trunc i64 %t6 to i32 %t8 = icmp slt i32 %t4, %t7 %t9 = zext i1 %t8 to i32 %t10 = icmp ne i32 %t9, 0 %t11 = zext i1 %t10 to i32 store i32 %t11, ptr %t3 br i1 %t10, label %sc3, label %scend4 sc3: %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 %t17 = icmp ne i32 %t16, 47 %t18 = zext i1 %t17 to i32 %t19 = icmp ne i32 %t18, 0 %t20 = zext i1 %t19 to i32 store i32 %t20, ptr %t3 br label %scend4 scend4: %t21 = load i32, ptr %t3 %t22 = icmp ne i32 %t21, 0 br i1 %t22, label %wbody1, label %wend2 wbody1: %t23 = load i32, ptr %t2 %t24 = add i32 %t23, 1 store i32 %t24, ptr %t2 br label %wcond0 wend2: %t25 = load ptr, ptr %t0 %t26 = load ptr, ptr %t0 %t27 = call i64 @strlen(ptr %t26) %t28 = trunc i64 %t27 to i32 %t29 = load ptr, ptr %t1 %t30 = call i64 @strlen(ptr %t29) %t31 = trunc i64 %t30 to i32 %t32 = sub i32 %t28, %t31 %t33 = load i32, ptr %t2 %t34 = add i32 %t32, %t33 store i32 595, ptr @lp_site %t35 = call ptr @lp_str_slice(ptr %t25, i32 0, i32 %t34) store i32 0, ptr @lp_site store i32 596, ptr @lp_site %t36 = call ptr @lp_str_concat(ptr %t35, ptr @.str1263) store i32 0, ptr @lp_site call void @lp_free(ptr %t35) store ptr %t36, ptr %t37 %t38 = load ptr, ptr @g_g_native_pkgs %t39 = load ptr, ptr %t37 %t40 = call i32 @fn_native_have(ptr %t38, ptr %t39) %t41 = icmp ne i32 %t40, 0 br i1 %t41, label %then5, label %ifend7 then5: br label %ret ifend7: %t42 = load ptr, ptr @g_g_native_pkgs %t43 = load ptr, ptr %t37 %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 %grow8, label %put9 grow8: %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 store i32 597, ptr @lp_site %t58 = call ptr @lp_realloc(ptr %t57, i64 %t56) store i32 0, ptr @lp_site store ptr %t58, ptr %t46 store i32 %t52, ptr %t45 br label %put9 put9: %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 %t62 = load ptr, ptr %t37 store i32 598, ptr @lp_site %t63 = call ptr @lp_str_concat(ptr %t62, ptr @.str1264) store i32 0, ptr @lp_site %t64 = call ptr @fn_read_file(ptr %t63) store ptr %t64, ptr %t65 %t66 = load ptr, ptr %t65 %t67 = icmp eq ptr %t66, null %t68 = zext i1 %t67 to i32 %t69 = icmp ne i32 %t68, 0 br i1 %t69, label %then10, label %ifend12 then10: br label %ret ifend12: %t70 = call ptr @fn_native_target() store ptr %t70, ptr %t71 store i32 0, ptr %t72 %t73 = load ptr, ptr %t65 %t74 = call i64 @strlen(ptr %t73) %t75 = trunc i64 %t74 to i32 store i32 %t75, ptr %t76 br label %wcond13 wcond13: %t77 = load i32, ptr %t72 %t78 = load i32, ptr %t76 %t79 = icmp slt i32 %t77, %t78 %t80 = zext i1 %t79 to i32 %t81 = icmp ne i32 %t80, 0 br i1 %t81, label %wbody14, label %wend15 wbody14: %t82 = load i32, ptr %t72 store i32 %t82, ptr %t83 br label %wcond16 wcond16: %t85 = load i32, ptr %t83 %t86 = load i32, ptr %t76 %t87 = icmp slt i32 %t85, %t86 %t88 = zext i1 %t87 to i32 %t89 = icmp ne i32 %t88, 0 %t90 = zext i1 %t89 to i32 store i32 %t90, ptr %t84 br i1 %t89, label %sc19, label %scend20 sc19: %t91 = load ptr, ptr %t65 %t92 = load i32, ptr %t83 %t93 = getelementptr inbounds i8, ptr %t91, i32 %t92 %t94 = load i8, ptr %t93 %t95 = zext i8 %t94 to i32 %t96 = icmp ne i32 %t95, 10 %t97 = zext i1 %t96 to i32 %t98 = icmp ne i32 %t97, 0 %t99 = zext i1 %t98 to i32 store i32 %t99, ptr %t84 br label %scend20 scend20: %t100 = load i32, ptr %t84 %t101 = icmp ne i32 %t100, 0 br i1 %t101, label %wbody17, label %wend18 wbody17: %t102 = load i32, ptr %t83 %t103 = add i32 %t102, 1 store i32 %t103, ptr %t83 br label %wcond16 wend18: %t104 = load i32, ptr %t83 store i32 %t104, ptr %t105 %t107 = load i32, ptr %t105 %t108 = load i32, ptr %t72 %t109 = icmp sgt i32 %t107, %t108 %t110 = zext i1 %t109 to i32 %t111 = icmp ne i32 %t110, 0 %t112 = zext i1 %t111 to i32 store i32 %t112, ptr %t106 br i1 %t111, label %sc21, label %scend22 sc21: %t113 = load ptr, ptr %t65 %t114 = load i32, ptr %t105 %t115 = sub i32 %t114, 1 %t116 = getelementptr inbounds i8, ptr %t113, i32 %t115 %t117 = load i8, ptr %t116 %t118 = zext i8 %t117 to i32 %t119 = icmp eq i32 %t118, 13 %t120 = zext i1 %t119 to i32 %t121 = icmp ne i32 %t120, 0 %t122 = zext i1 %t121 to i32 store i32 %t122, ptr %t106 br label %scend22 scend22: %t123 = load i32, ptr %t106 %t124 = icmp ne i32 %t123, 0 br i1 %t124, label %then23, label %ifend25 then23: %t125 = load i32, ptr %t105 %t126 = sub i32 %t125, 1 store i32 %t126, ptr %t105 br label %ifend25 ifend25: %t127 = load ptr, ptr %t65 %t128 = load i32, ptr %t72 %t129 = load i32, ptr %t105 store i32 599, ptr @lp_site %t130 = call ptr @lp_str_slice(ptr %t127, i32 %t128, i32 %t129) store i32 0, ptr @lp_site %t131 = call ptr @fn_native_words(ptr %t130) store ptr %t131, ptr %t132 %t135 = load ptr, ptr %t132 %t136 = getelementptr inbounds %LSlice, ptr %t135, i32 0, i32 1 %t137 = load i32, ptr %t136 %t138 = icmp eq i32 %t137, 3 %t139 = zext i1 %t138 to i32 %t140 = icmp ne i32 %t139, 0 %t141 = zext i1 %t140 to i32 store i32 %t141, ptr %t134 br i1 %t140, label %sc26, label %scend27 sc26: %t142 = load ptr, ptr %t132 %t143 = getelementptr inbounds %LSlice, ptr %t142, i32 0, i32 0 %t144 = load ptr, ptr %t143 %t145 = getelementptr inbounds %LSlice, ptr %t142, i32 0, i32 1 %t146 = load i32, ptr %t145 %t147 = icmp ult i32 0, %t146 br i1 %t147, label %ixok28, label %ixbad29 ixbad29: store i32 600, ptr @lp_site %t148 = call ptr @lp_win_stdio(i32 2) store i32 0, ptr @lp_site call i32 (ptr, ptr, ...) @fprintf(ptr %t148, ptr @.fmt_bounds, ptr @.str1265, i32 0, i32 %t146) call void @exit(i32 1) unreachable ixok28: %t149 = getelementptr inbounds ptr, ptr %t144, i32 0 %t150 = load ptr, ptr %t149 %t151 = call i32 @lp_str_eq(ptr %t150, ptr @.str1266) %t152 = icmp ne i32 %t151, 0 %t153 = zext i1 %t152 to i32 store i32 %t153, ptr %t134 br label %scend27 scend27: %t154 = load i32, ptr %t134 %t155 = icmp ne i32 %t154, 0 %t156 = zext i1 %t155 to i32 store i32 %t156, ptr %t133 br i1 %t155, label %sc30, label %scend31 sc30: %t157 = load ptr, ptr %t132 %t158 = getelementptr inbounds %LSlice, ptr %t157, i32 0, i32 0 %t159 = load ptr, ptr %t158 %t160 = getelementptr inbounds %LSlice, ptr %t157, i32 0, i32 1 %t161 = load i32, ptr %t160 %t162 = icmp ult i32 1, %t161 br i1 %t162, label %ixok32, label %ixbad33 ixbad33: store i32 601, ptr @lp_site %t163 = call ptr @lp_win_stdio(i32 2) store i32 0, ptr @lp_site call i32 (ptr, ptr, ...) @fprintf(ptr %t163, ptr @.fmt_bounds, ptr @.str1267, i32 1, i32 %t161) call void @exit(i32 1) unreachable ixok32: %t164 = getelementptr inbounds ptr, ptr %t159, i32 1 %t165 = load ptr, ptr %t164 %t166 = load ptr, ptr %t71 %t167 = call i32 @lp_str_eq(ptr %t165, ptr %t166) %t168 = icmp ne i32 %t167, 0 %t169 = zext i1 %t168 to i32 store i32 %t169, ptr %t133 br label %scend31 scend31: %t170 = load i32, ptr %t133 %t171 = icmp ne i32 %t170, 0 br i1 %t171, label %then34, label %ifend36 then34: %t172 = load ptr, ptr %t37 %t173 = load ptr, ptr %t132 %t174 = getelementptr inbounds %LSlice, ptr %t173, i32 0, i32 0 %t175 = load ptr, ptr %t174 %t176 = getelementptr inbounds %LSlice, ptr %t173, i32 0, i32 1 %t177 = load i32, ptr %t176 %t178 = icmp ult i32 2, %t177 br i1 %t178, label %ixok37, label %ixbad38 ixbad38: store i32 602, ptr @lp_site %t179 = call ptr @lp_win_stdio(i32 2) store i32 0, ptr @lp_site call i32 (ptr, ptr, ...) @fprintf(ptr %t179, ptr @.fmt_bounds, ptr @.str1268, i32 2, i32 %t177) call void @exit(i32 1) unreachable ixok37: %t180 = getelementptr inbounds ptr, ptr %t175, i32 2 %t181 = load ptr, ptr %t180 store i32 603, ptr @lp_site %t182 = call ptr @lp_str_concat(ptr %t172, ptr %t181) store i32 0, ptr @lp_site store ptr %t182, ptr %t183 %t184 = load ptr, ptr @g_g_native_libs %t185 = load ptr, ptr %t183 %t186 = call i32 @fn_native_have(ptr %t184, ptr %t185) %t187 = icmp eq i32 %t186, 0 %t188 = zext i1 %t187 to i32 %t189 = icmp ne i32 %t188, 0 br i1 %t189, label %then39, label %ifend41 then39: %t190 = load ptr, ptr @g_g_native_libs %t191 = load ptr, ptr %t183 %t192 = getelementptr inbounds %LSlice, ptr %t190, i32 0, i32 1 %t193 = getelementptr inbounds %LSlice, ptr %t190, i32 0, i32 2 %t194 = getelementptr inbounds %LSlice, ptr %t190, i32 0, i32 0 %t195 = load i32, ptr %t192 %t196 = load i32, ptr %t193 %t197 = icmp sge i32 %t195, %t196 br i1 %t197, label %grow42, label %put43 grow42: %t198 = mul i32 %t196, 2 %t199 = icmp eq i32 %t196, 0 %t200 = select i1 %t199, i32 8, i32 %t198 %t201 = getelementptr ptr, ptr null, i32 1 %t202 = ptrtoint ptr %t201 to i64 %t203 = zext i32 %t200 to i64 %t204 = mul i64 %t203, %t202 %t205 = load ptr, ptr %t194 store i32 604, ptr @lp_site %t206 = call ptr @lp_realloc(ptr %t205, i64 %t204) store i32 0, ptr @lp_site store ptr %t206, ptr %t194 store i32 %t200, ptr %t193 br label %put43 put43: %t207 = load ptr, ptr %t194 %t208 = getelementptr inbounds ptr, ptr %t207, i32 %t195 store ptr %t191, ptr %t208 %t209 = add i32 %t195, 1 store i32 %t209, ptr %t192 br label %ifend41 ifend41: br label %ifend36 ifend36: %t210 = load i32, ptr %t83 %t211 = add i32 %t210, 1 store i32 %t211, ptr %t72 br label %wcond13 wend15: br label %ret ret: ret void } define ptr @fn_native_ir_lines() { entry: %retval = alloca ptr %t0 = alloca ptr %t1 = alloca i32 store ptr @.str1269, ptr %t0 store i32 0, ptr %t1 br label %wcond0 wcond0: %t2 = load i32, ptr %t1 %t3 = load ptr, ptr @g_g_native_libs %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 %t0 %t10 = load ptr, ptr @g_g_native_libs %t11 = load i32, ptr %t1 %t12 = getelementptr inbounds %LSlice, ptr %t10, i32 0, i32 0 %t13 = load ptr, ptr %t12 %t14 = getelementptr inbounds %LSlice, ptr %t10, i32 0, i32 1 %t15 = load i32, ptr %t14 %t16 = icmp ult i32 %t11, %t15 br i1 %t16, label %ixok3, label %ixbad4 ixbad4: store i32 605, ptr @lp_site %t17 = call ptr @lp_win_stdio(i32 2) store i32 0, ptr @lp_site call i32 (ptr, ptr, ...) @fprintf(ptr %t17, ptr @.fmt_bounds, ptr @.str1271, i32 %t11, i32 %t15) call void @exit(i32 1) unreachable ixok3: %t18 = getelementptr inbounds ptr, ptr %t13, i32 %t11 %t19 = load ptr, ptr %t18 store i32 606, ptr @lp_site %t20 = call ptr @lp_str_concat(ptr @.str1270, ptr %t19) store i32 0, ptr @lp_site store i32 607, ptr @lp_site %t21 = call ptr @lp_str_concat(ptr %t20, ptr @.str1273) store i32 0, ptr @lp_site call void @lp_free(ptr %t20) store i32 608, ptr @lp_site %t22 = call ptr @lp_str_concat(ptr %t9, ptr %t21) store i32 0, ptr @lp_site call void @lp_free(ptr %t21) store ptr %t22, ptr %t0 %t23 = load i32, ptr %t1 %t24 = add i32 %t23, 1 store i32 %t24, ptr %t1 br label %wcond0 wend2: %t25 = load ptr, ptr %t0 store ptr %t25, ptr %retval br label %ret ret: %t26 = load ptr, ptr %retval ret ptr %t26 } define ptr @fn_native_link_args(ptr %arg_out) { entry: %retval = alloca ptr %t0 = alloca ptr %t1 = alloca ptr %t2 = alloca i32 %t20 = alloca ptr %t23 = alloca ptr %t29 = alloca i32 %t40 = alloca ptr store ptr %arg_out, ptr %t0 store ptr @.str1274, ptr %t1 store i32 0, ptr %t2 br label %wcond0 wcond0: %t3 = load i32, ptr %t2 %t4 = load ptr, ptr @g_g_native_libs %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_g_native_libs %t11 = load i32, ptr %t2 %t12 = getelementptr inbounds %LSlice, ptr %t10, i32 0, i32 0 %t13 = load ptr, ptr %t12 %t14 = getelementptr inbounds %LSlice, ptr %t10, i32 0, i32 1 %t15 = load i32, ptr %t14 %t16 = icmp ult i32 %t11, %t15 br i1 %t16, label %ixok3, label %ixbad4 ixbad4: store i32 609, ptr @lp_site %t17 = call ptr @lp_win_stdio(i32 2) store i32 0, ptr @lp_site call i32 (ptr, ptr, ...) @fprintf(ptr %t17, ptr @.fmt_bounds, ptr @.str1275, i32 %t11, i32 %t15) call void @exit(i32 1) unreachable ixok3: %t18 = getelementptr inbounds ptr, ptr %t13, i32 %t11 %t19 = load ptr, ptr %t18 store ptr %t19, ptr %t20 %t21 = load ptr, ptr %t20 %t22 = call ptr @fn_dir_of(ptr %t21) store ptr %t22, ptr %t23 %t24 = load i32, ptr @g_g_target_win %t25 = icmp ne i32 %t24, 0 br i1 %t25, label %then5, label %else6 then5: %t26 = load ptr, ptr %t20 %t27 = call i64 @strlen(ptr %t26) %t28 = trunc i64 %t27 to i32 store i32 %t28, ptr %t29 %t30 = load ptr, ptr %t1 %t31 = load ptr, ptr %t20 %t32 = load i32, ptr %t29 %t33 = sub i32 %t32, 4 store i32 610, ptr @lp_site %t34 = call ptr @lp_str_slice(ptr %t31, i32 0, i32 %t33) store i32 0, ptr @lp_site store i32 611, ptr @lp_site %t35 = call ptr @lp_str_concat(ptr @.str1277, ptr %t34) store i32 0, ptr @lp_site call void @lp_free(ptr %t34) store i32 612, ptr @lp_site %t36 = call ptr @lp_str_concat(ptr %t35, ptr @.str1278) store i32 0, ptr @lp_site call void @lp_free(ptr %t35) store i32 613, ptr @lp_site %t37 = call ptr @lp_str_concat(ptr %t30, ptr %t36) store i32 0, ptr @lp_site call void @lp_free(ptr %t36) store ptr %t37, ptr %t1 %t38 = load ptr, ptr %t0 %t39 = call ptr @fn_dir_of(ptr %t38) store ptr %t39, ptr %t40 %t41 = load ptr, ptr %t40 %t42 = call i64 @strlen(ptr %t41) %t43 = trunc i64 %t42 to i32 %t44 = icmp eq i32 %t43, 0 %t45 = zext i1 %t44 to i32 %t46 = icmp ne i32 %t45, 0 br i1 %t46, label %then8, label %ifend10 then8: store ptr @.str1279, ptr %t40 br label %ifend10 ifend10: %t47 = load ptr, ptr %t20 %t48 = call ptr @fn_win_path(ptr %t47) store i32 614, ptr @lp_site %t49 = call ptr @lp_str_concat(ptr @.str1280, ptr %t48) store i32 0, ptr @lp_site store i32 615, ptr @lp_site %t50 = call ptr @lp_str_concat(ptr %t49, ptr @.str1281) store i32 0, ptr @lp_site call void @lp_free(ptr %t49) %t51 = load ptr, ptr %t40 %t52 = call ptr @fn_win_path(ptr %t51) store i32 616, ptr @lp_site %t53 = call ptr @lp_str_concat(ptr %t50, ptr %t52) store i32 0, ptr @lp_site call void @lp_free(ptr %t50) store i32 617, ptr @lp_site %t54 = call ptr @lp_str_concat(ptr %t53, ptr @.str1282) store i32 0, ptr @lp_site call void @lp_free(ptr %t53) %t55 = call i32 @system(ptr %t54) br label %ifend7 else6: %t56 = load ptr, ptr %t1 %t57 = load ptr, ptr %t20 store i32 618, ptr @lp_site %t58 = call ptr @lp_str_concat(ptr @.str1283, ptr %t57) store i32 0, ptr @lp_site store i32 619, ptr @lp_site %t59 = call ptr @lp_str_concat(ptr %t58, ptr @.str1284) store i32 0, ptr @lp_site call void @lp_free(ptr %t58) %t60 = load ptr, ptr %t23 store i32 620, ptr @lp_site %t61 = call ptr @lp_str_concat(ptr %t59, ptr %t60) store i32 0, ptr @lp_site call void @lp_free(ptr %t59) store i32 621, ptr @lp_site %t62 = call ptr @lp_str_concat(ptr %t61, ptr @.str1285) store i32 0, ptr @lp_site call void @lp_free(ptr %t61) store i32 622, ptr @lp_site %t63 = call ptr @lp_str_concat(ptr %t56, ptr %t62) store i32 0, ptr @lp_site call void @lp_free(ptr %t62) store ptr %t63, ptr %t1 br label %ifend7 ifend7: %t64 = load i32, ptr %t2 %t65 = add i32 %t64, 1 store i32 %t65, ptr %t2 br label %wcond0 wend2: %t66 = load ptr, ptr %t1 store ptr %t66, ptr %retval br label %ret ret: %t67 = load ptr, ptr %retval ret ptr %t67 } define void @fn_parse_port() { entry: %t1 = alloca ptr %t5 = alloca ptr %t31 = alloca ptr %t0 = call ptr @fn_parse_component() store ptr %t0, ptr %t1 %t2 = load ptr, ptr %t1 %t3 = getelementptr inbounds %Cmp_Node, ptr %t2, i32 0, i32 1 %t4 = load ptr, ptr %t3 store ptr %t4, ptr %t5 %t6 = load ptr, ptr %t1 %t7 = getelementptr inbounds %Cmp_Node, ptr %t6, i32 0, i32 1 %t8 = load ptr, ptr %t5 store i32 623, ptr @lp_site %t9 = call ptr @lp_str_concat(ptr %t8, ptr @.str1286) store i32 0, ptr @lp_site store ptr %t9, ptr %t7 %t10 = load ptr, ptr @g_prog %t11 = load ptr, ptr %t1 %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 store i32 624, ptr @lp_site %t26 = call ptr @lp_realloc(ptr %t25, i64 %t24) store i32 0, ptr @lp_site 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 %t30 = call ptr @fn_node(i32 2) 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 %t5 store ptr %t34, ptr %t33 %t35 = load ptr, ptr %t31 %t36 = getelementptr inbounds %Cmp_Node, ptr %t35, i32 0, i32 3 %t37 = load ptr, ptr %t1 %t38 = getelementptr inbounds %Cmp_Node, ptr %t37, i32 0, i32 1 %t39 = load ptr, ptr %t38 store ptr %t39, ptr %t36 %t40 = load ptr, ptr %t31 %t41 = getelementptr inbounds %Cmp_Node, ptr %t40, i32 0, i32 8 %t42 = load ptr, ptr %t1 %t43 = getelementptr inbounds %Cmp_Node, ptr %t42, i32 0, i32 8 %t44 = load i32, ptr %t43 store i32 %t44, ptr %t41 %t45 = load ptr, ptr @g_prog %t46 = load ptr, ptr %t31 %t47 = getelementptr inbounds %LSlice, ptr %t45, i32 0, i32 1 %t48 = getelementptr inbounds %LSlice, ptr %t45, i32 0, i32 2 %t49 = getelementptr inbounds %LSlice, ptr %t45, i32 0, i32 0 %t50 = load i32, ptr %t47 %t51 = load i32, ptr %t48 %t52 = icmp sge i32 %t50, %t51 br i1 %t52, label %grow2, label %put3 grow2: %t53 = mul i32 %t51, 2 %t54 = icmp eq i32 %t51, 0 %t55 = select i1 %t54, i32 8, i32 %t53 %t56 = getelementptr ptr, ptr null, i32 1 %t57 = ptrtoint ptr %t56 to i64 %t58 = zext i32 %t55 to i64 %t59 = mul i64 %t58, %t57 %t60 = load ptr, ptr %t49 store i32 625, ptr @lp_site %t61 = call ptr @lp_realloc(ptr %t60, i64 %t59) store i32 0, ptr @lp_site store ptr %t61, ptr %t49 store i32 %t55, ptr %t48 br label %put3 put3: %t62 = load ptr, ptr %t49 %t63 = getelementptr inbounds ptr, ptr %t62, i32 %t50 store ptr %t46, ptr %t63 %t64 = add i32 %t50, 1 store i32 %t64, ptr %t47 %t65 = load ptr, ptr @g_g_pt_name %t66 = load ptr, ptr %t5 %t67 = getelementptr inbounds %LSlice, ptr %t65, i32 0, i32 1 %t68 = getelementptr inbounds %LSlice, ptr %t65, i32 0, i32 2 %t69 = getelementptr inbounds %LSlice, ptr %t65, i32 0, i32 0 %t70 = load i32, ptr %t67 %t71 = load i32, ptr %t68 %t72 = icmp sge i32 %t70, %t71 br i1 %t72, label %grow4, label %put5 grow4: %t73 = mul i32 %t71, 2 %t74 = icmp eq i32 %t71, 0 %t75 = select i1 %t74, i32 8, i32 %t73 %t76 = getelementptr ptr, ptr null, i32 1 %t77 = ptrtoint ptr %t76 to i64 %t78 = zext i32 %t75 to i64 %t79 = mul i64 %t78, %t77 %t80 = load ptr, ptr %t69 store i32 626, ptr @lp_site %t81 = call ptr @lp_realloc(ptr %t80, i64 %t79) store i32 0, ptr @lp_site store ptr %t81, ptr %t69 store i32 %t75, ptr %t68 br label %put5 put5: %t82 = load ptr, ptr %t69 %t83 = getelementptr inbounds ptr, ptr %t82, i32 %t70 store ptr %t66, ptr %t83 %t84 = add i32 %t70, 1 store i32 %t84, ptr %t67 %t85 = load ptr, ptr @g_g_pt_comp %t86 = load ptr, ptr %t1 %t87 = getelementptr inbounds %LSlice, ptr %t85, i32 0, i32 1 %t88 = getelementptr inbounds %LSlice, ptr %t85, i32 0, i32 2 %t89 = getelementptr inbounds %LSlice, ptr %t85, i32 0, i32 0 %t90 = load i32, ptr %t87 %t91 = load i32, ptr %t88 %t92 = icmp sge i32 %t90, %t91 br i1 %t92, label %grow6, label %put7 grow6: %t93 = mul i32 %t91, 2 %t94 = icmp eq i32 %t91, 0 %t95 = select i1 %t94, i32 8, i32 %t93 %t96 = getelementptr ptr, ptr null, i32 1 %t97 = ptrtoint ptr %t96 to i64 %t98 = zext i32 %t95 to i64 %t99 = mul i64 %t98, %t97 %t100 = load ptr, ptr %t89 store i32 627, ptr @lp_site %t101 = call ptr @lp_realloc(ptr %t100, i64 %t99) store i32 0, ptr @lp_site store ptr %t101, ptr %t89 store i32 %t95, ptr %t88 br label %put7 put7: %t102 = load ptr, ptr %t89 %t103 = getelementptr inbounds ptr, ptr %t102, i32 %t90 store ptr %t86, ptr %t103 %t104 = add i32 %t90, 1 store i32 %t104, ptr %t87 %t105 = load ptr, ptr @g_g_pt_var %t106 = load ptr, ptr %t31 %t107 = getelementptr inbounds %LSlice, ptr %t105, i32 0, i32 1 %t108 = getelementptr inbounds %LSlice, ptr %t105, i32 0, i32 2 %t109 = getelementptr inbounds %LSlice, ptr %t105, i32 0, i32 0 %t110 = load i32, ptr %t107 %t111 = load i32, ptr %t108 %t112 = icmp sge i32 %t110, %t111 br i1 %t112, label %grow8, label %put9 grow8: %t113 = mul i32 %t111, 2 %t114 = icmp eq i32 %t111, 0 %t115 = select i1 %t114, i32 8, i32 %t113 %t116 = getelementptr ptr, ptr null, i32 1 %t117 = ptrtoint ptr %t116 to i64 %t118 = zext i32 %t115 to i64 %t119 = mul i64 %t118, %t117 %t120 = load ptr, ptr %t109 store i32 628, ptr @lp_site %t121 = call ptr @lp_realloc(ptr %t120, i64 %t119) store i32 0, ptr @lp_site store ptr %t121, ptr %t109 store i32 %t115, ptr %t108 br label %put9 put9: %t122 = load ptr, ptr %t109 %t123 = getelementptr inbounds ptr, ptr %t122, i32 %t110 store ptr %t106, ptr %t123 %t124 = add i32 %t110, 1 store i32 %t124, ptr %t107 %t125 = load ptr, ptr @g_g_pt_bind %t126 = getelementptr inbounds %LSlice, ptr %t125, i32 0, i32 1 %t127 = getelementptr inbounds %LSlice, ptr %t125, i32 0, i32 2 %t128 = getelementptr inbounds %LSlice, ptr %t125, i32 0, i32 0 %t129 = load i32, ptr %t126 %t130 = load i32, ptr %t127 %t131 = icmp sge i32 %t129, %t130 br i1 %t131, label %grow10, label %put11 grow10: %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 store i32 629, ptr @lp_site %t140 = call ptr @lp_realloc(ptr %t139, i64 %t138) store i32 0, ptr @lp_site store ptr %t140, ptr %t128 store i32 %t134, ptr %t127 br label %put11 put11: %t141 = load ptr, ptr %t128 %t142 = getelementptr inbounds ptr, ptr %t141, i32 %t129 store ptr null, ptr %t142 %t143 = add i32 %t129, 1 store i32 %t143, ptr %t126 br label %ret ret: ret void } define void @fn_parse_bind() { entry: %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_skipnl() %t7 = load ptr, ptr %t3 %t8 = getelementptr inbounds %Cmp_Node, ptr %t7, i32 0, i32 4 %t9 = call ptr @fn_record() store ptr %t9, ptr %t8 %t10 = load ptr, ptr @g_g_bd %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 store i32 630, ptr @lp_site %t26 = call ptr @lp_realloc(ptr %t25, i64 %t24) store i32 0, ptr @lp_site 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 i32 @fn_port_find(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_pt_name %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_pt_name %t10 = load i32, ptr %t1 %t11 = getelementptr inbounds %LSlice, ptr %t9, i32 0, i32 0 %t12 = load ptr, ptr %t11 %t13 = getelementptr inbounds %LSlice, ptr %t9, i32 0, i32 1 %t14 = load i32, ptr %t13 %t15 = icmp ult i32 %t10, %t14 br i1 %t15, label %ixok3, label %ixbad4 ixbad4: store i32 631, ptr @lp_site %t16 = call ptr @lp_win_stdio(i32 2) store i32 0, ptr @lp_site call i32 (ptr, ptr, ...) @fprintf(ptr %t16, ptr @.fmt_bounds, ptr @.str1289, i32 %t10, i32 %t14) call void @exit(i32 1) unreachable ixok3: %t17 = getelementptr inbounds ptr, ptr %t12, i32 %t10 %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 br i1 %t21, label %then5, label %ifend7 then5: %t22 = load i32, ptr %t1 store i32 %t22, ptr %retval br label %ret ifend7: %t23 = load i32, ptr %t1 %t24 = add i32 %t23, 1 store i32 %t24, ptr %t1 br label %wcond0 wend2: %t25 = sub i32 0, 1 store i32 %t25, ptr %retval br label %ret ret: %t26 = load i32, ptr %retval ret i32 %t26 } define i32 @fn_is_port_var(ptr %arg_d) { entry: %retval = alloca i32 %t0 = alloca ptr %t11 = alloca i32 store ptr %arg_d, 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 ne i32 %t3, 2 %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 1 %t9 = load ptr, ptr %t8 %t10 = call i32 @fn_port_find(ptr %t9) store i32 %t10, ptr %t11 %t12 = load i32, ptr %t11 %t13 = icmp slt i32 %t12, 0 %t14 = zext i1 %t13 to i32 %t15 = icmp ne i32 %t14, 0 br i1 %t15, label %then3, label %ifend5 then3: store i32 0, ptr %retval br label %ret ifend5: %t16 = load ptr, ptr %t0 %t17 = getelementptr inbounds %Cmp_Node, ptr %t16, i32 0, i32 3 %t18 = load ptr, ptr %t17 %t19 = load ptr, ptr @g_g_pt_comp %t20 = load i32, ptr %t11 %t21 = getelementptr inbounds %LSlice, ptr %t19, i32 0, i32 0 %t22 = load ptr, ptr %t21 %t23 = getelementptr inbounds %LSlice, ptr %t19, i32 0, i32 1 %t24 = load i32, ptr %t23 %t25 = icmp ult i32 %t20, %t24 br i1 %t25, label %ixok6, label %ixbad7 ixbad7: store i32 632, ptr @lp_site %t26 = call ptr @lp_win_stdio(i32 2) store i32 0, ptr @lp_site call i32 (ptr, ptr, ...) @fprintf(ptr %t26, ptr @.fmt_bounds, ptr @.str1291, i32 %t20, i32 %t24) call void @exit(i32 1) unreachable ixok6: %t27 = getelementptr inbounds ptr, ptr %t22, i32 %t20 %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 %t18, ptr %t30) store i32 %t31, ptr %retval br label %ret ret: %t32 = load i32, ptr %retval ret i32 %t32 } define void @fn_port_check_bound(ptr %arg_d) { entry: %t0 = alloca ptr store ptr %arg_d, ptr %t0 %t1 = load ptr, ptr %t0 %t2 = call i32 @fn_is_port_var(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 = load ptr, ptr @g_g_pt_bind %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_port_find(ptr %t9) %t11 = getelementptr inbounds %LSlice, ptr %t6, i32 0, i32 0 %t12 = load ptr, ptr %t11 %t13 = getelementptr inbounds %LSlice, ptr %t6, i32 0, i32 1 %t14 = load i32, ptr %t13 %t15 = icmp ult i32 %t10, %t14 br i1 %t15, label %ixok3, label %ixbad4 ixbad4: store i32 633, ptr @lp_site %t16 = call ptr @lp_win_stdio(i32 2) store i32 0, ptr @lp_site call i32 (ptr, ptr, ...) @fprintf(ptr %t16, ptr @.fmt_bounds, ptr @.str1293, i32 %t10, i32 %t14) call void @exit(i32 1) unreachable ixok3: %t17 = getelementptr inbounds ptr, ptr %t12, i32 %t10 %t18 = load ptr, ptr %t17 %t19 = icmp ne ptr %t18, null %t20 = zext i1 %t19 to i32 %t21 = icmp ne i32 %t20, 0 br i1 %t21, label %then5, label %ifend7 then5: br label %ret ifend7: %t22 = load ptr, ptr %t0 %t23 = getelementptr inbounds %Cmp_Node, ptr %t22, i32 0, i32 1 %t24 = load ptr, ptr %t23 store i32 634, ptr @lp_site %t25 = call ptr @lp_str_concat(ptr @.str1295, ptr %t24) store i32 0, ptr @lp_site store i32 635, ptr @lp_site %t26 = call ptr @lp_str_concat(ptr %t25, ptr @.str1296) store i32 0, ptr @lp_site call void @lp_free(ptr %t25) %t27 = load ptr, ptr %t0 %t28 = getelementptr inbounds %Cmp_Node, ptr %t27, i32 0, i32 1 %t29 = load ptr, ptr %t28 store i32 636, ptr @lp_site %t30 = call ptr @lp_str_concat(ptr %t26, ptr %t29) store i32 0, ptr @lp_site call void @lp_free(ptr %t26) store i32 637, ptr @lp_site %t31 = call ptr @lp_str_concat(ptr %t30, ptr @.str1297) store i32 0, ptr @lp_site call void @lp_free(ptr %t30) call void @fn_perr(ptr %t31) br label %ret ret: ret void } define void @fn_port_err(ptr %arg_b, ptr %arg_msg) { entry: %t0 = alloca ptr %t1 = alloca ptr store ptr %arg_b, ptr %t0 store ptr %arg_msg, ptr %t1 %t2 = load ptr, ptr %t0 %t3 = getelementptr inbounds %Cmp_Node, ptr %t2, i32 0, i32 9 %t4 = load ptr, ptr %t3 store ptr %t4, ptr @g_g_err_file %t5 = load ptr, ptr %t0 %t6 = getelementptr inbounds %Cmp_Node, ptr %t5, i32 0, i32 8 %t7 = load i32, ptr %t6 store i32 %t7, ptr @g_g_err_line %t8 = load ptr, ptr %t1 call void @fn_perr(ptr %t8) br label %ret ret: ret void } define void @fn_port_bind_one(ptr %arg_b) { entry: %t0 = alloca ptr %t5 = alloca i32 %t30 = alloca ptr %t72 = alloca ptr %t76 = alloca ptr %t77 = alloca i32 %t138 = alloca i32 %t226 = alloca ptr %t227 = alloca i32 %t256 = alloca i32 %t257 = alloca i32 %t258 = alloca i32 %t259 = alloca i32 %t339 = alloca ptr %t367 = alloca ptr %t368 = alloca i32 %t387 = alloca ptr %t399 = alloca ptr store ptr %arg_b, 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 i32 @fn_port_find(ptr %t3) store i32 %t4, ptr %t5 %t6 = load i32, ptr %t5 %t7 = icmp slt i32 %t6, 0 %t8 = zext i1 %t7 to i32 %t9 = icmp ne i32 %t8, 0 br i1 %t9, label %then0, label %ifend2 then0: %t10 = load ptr, ptr %t0 %t11 = load ptr, ptr %t0 %t12 = getelementptr inbounds %Cmp_Node, ptr %t11, i32 0, i32 1 %t13 = load ptr, ptr %t12 store i32 638, ptr @lp_site %t14 = call ptr @lp_str_concat(ptr @.str1298, ptr %t13) store i32 0, ptr @lp_site store i32 639, ptr @lp_site %t15 = call ptr @lp_str_concat(ptr %t14, ptr @.str1300) store i32 0, ptr @lp_site call void @lp_free(ptr %t14) %t16 = load ptr, ptr %t0 %t17 = getelementptr inbounds %Cmp_Node, ptr %t16, i32 0, i32 1 %t18 = load ptr, ptr %t17 store i32 640, ptr @lp_site %t19 = call ptr @lp_str_concat(ptr %t15, ptr %t18) store i32 0, ptr @lp_site call void @lp_free(ptr %t15) call void @fn_port_err(ptr %t10, ptr %t19) br label %ifend2 ifend2: %t20 = load ptr, ptr @g_g_pt_bind %t21 = load i32, ptr %t5 %t22 = getelementptr inbounds %LSlice, ptr %t20, i32 0, i32 0 %t23 = load ptr, ptr %t22 %t24 = getelementptr inbounds %LSlice, ptr %t20, i32 0, i32 1 %t25 = load i32, ptr %t24 %t26 = icmp ult i32 %t21, %t25 br i1 %t26, label %ixok3, label %ixbad4 ixbad4: store i32 641, ptr @lp_site %t27 = call ptr @lp_win_stdio(i32 2) store i32 0, ptr @lp_site call i32 (ptr, ptr, ...) @fprintf(ptr %t27, ptr @.fmt_bounds, ptr @.str1301, i32 %t21, i32 %t25) call void @exit(i32 1) unreachable ixok3: %t28 = getelementptr inbounds ptr, ptr %t23, i32 %t21 %t29 = load ptr, ptr %t28 store ptr %t29, ptr %t30 %t31 = load ptr, ptr %t30 %t32 = icmp ne ptr %t31, null %t33 = zext i1 %t32 to i32 %t34 = icmp ne i32 %t33, 0 br i1 %t34, label %then5, label %ifend7 then5: %t35 = load ptr, ptr %t0 %t36 = load ptr, ptr %t0 %t37 = getelementptr inbounds %Cmp_Node, ptr %t36, i32 0, i32 1 %t38 = load ptr, ptr %t37 store i32 642, ptr @lp_site %t39 = call ptr @lp_str_concat(ptr @.str1302, ptr %t38) store i32 0, ptr @lp_site store i32 643, ptr @lp_site %t40 = call ptr @lp_str_concat(ptr %t39, ptr @.str1303) store i32 0, ptr @lp_site call void @lp_free(ptr %t39) %t41 = load ptr, ptr %t30 %t42 = getelementptr inbounds %Cmp_Node, ptr %t41, i32 0, i32 9 %t43 = load ptr, ptr %t42 store i32 644, ptr @lp_site %t44 = call ptr @lp_str_concat(ptr %t40, ptr %t43) store i32 0, ptr @lp_site call void @lp_free(ptr %t40) store i32 645, ptr @lp_site %t45 = call ptr @lp_str_concat(ptr %t44, ptr @.str1304) store i32 0, ptr @lp_site call void @lp_free(ptr %t44) %t46 = load ptr, ptr %t30 %t47 = getelementptr inbounds %Cmp_Node, ptr %t46, i32 0, i32 8 %t48 = load i32, ptr %t47 %t49 = call ptr @fn_itoa(i32 %t48) store i32 646, ptr @lp_site %t50 = call ptr @lp_str_concat(ptr %t45, ptr %t49) store i32 0, ptr @lp_site call void @lp_free(ptr %t45) store i32 647, ptr @lp_site %t51 = call ptr @lp_str_concat(ptr %t50, ptr @.str1305) store i32 0, ptr @lp_site call void @lp_free(ptr %t50) call void @fn_port_err(ptr %t35, ptr %t51) br label %ifend7 ifend7: %t52 = load ptr, ptr @g_g_pt_bind %t53 = load i32, ptr %t5 %t54 = getelementptr inbounds %LSlice, ptr %t52, i32 0, i32 0 %t55 = load ptr, ptr %t54 %t56 = getelementptr inbounds %LSlice, ptr %t52, i32 0, i32 1 %t57 = load i32, ptr %t56 %t58 = icmp ult i32 %t53, %t57 br i1 %t58, label %ixok8, label %ixbad9 ixbad9: store i32 648, ptr @lp_site %t59 = call ptr @lp_win_stdio(i32 2) store i32 0, ptr @lp_site call i32 (ptr, ptr, ...) @fprintf(ptr %t59, ptr @.fmt_bounds, ptr @.str1306, i32 %t53, i32 %t57) call void @exit(i32 1) unreachable ixok8: %t60 = getelementptr inbounds ptr, ptr %t55, i32 %t53 %t61 = load ptr, ptr %t0 store ptr %t61, ptr %t60 %t62 = load ptr, ptr @g_g_pt_comp %t63 = load i32, ptr %t5 %t64 = getelementptr inbounds %LSlice, ptr %t62, i32 0, i32 0 %t65 = load ptr, ptr %t64 %t66 = getelementptr inbounds %LSlice, ptr %t62, i32 0, i32 1 %t67 = load i32, ptr %t66 %t68 = icmp ult i32 %t63, %t67 br i1 %t68, label %ixok10, label %ixbad11 ixbad11: store i32 649, ptr @lp_site %t69 = call ptr @lp_win_stdio(i32 2) store i32 0, ptr @lp_site call i32 (ptr, ptr, ...) @fprintf(ptr %t69, ptr @.fmt_bounds, ptr @.str1307, i32 %t63, i32 %t67) call void @exit(i32 1) unreachable ixok10: %t70 = getelementptr inbounds ptr, ptr %t65, i32 %t63 %t71 = load ptr, ptr %t70 store ptr %t71, ptr %t72 %t73 = load ptr, ptr %t0 %t74 = getelementptr inbounds %Cmp_Node, ptr %t73, i32 0, i32 4 %t75 = load ptr, ptr %t74 store ptr %t75, ptr %t76 store i32 0, ptr %t77 br label %wcond12 wcond12: %t78 = load i32, ptr %t77 %t79 = load ptr, ptr %t76 %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 1 %t83 = load i32, ptr %t82 %t84 = icmp slt i32 %t78, %t83 %t85 = zext i1 %t84 to i32 %t86 = icmp ne i32 %t85, 0 br i1 %t86, label %wbody13, label %wend14 wbody13: %t87 = load ptr, ptr %t72 %t88 = load ptr, ptr %t76 %t89 = getelementptr inbounds %Cmp_Node, ptr %t88, i32 0, i32 7 %t90 = load ptr, ptr %t89 %t91 = load i32, ptr %t77 %t92 = getelementptr inbounds %LSlice, ptr %t90, i32 0, i32 0 %t93 = load ptr, ptr %t92 %t94 = getelementptr inbounds %LSlice, ptr %t90, i32 0, i32 1 %t95 = load i32, ptr %t94 %t96 = icmp ult i32 %t91, %t95 br i1 %t96, label %ixok15, label %ixbad16 ixbad16: store i32 650, ptr @lp_site %t97 = call ptr @lp_win_stdio(i32 2) store i32 0, ptr @lp_site call i32 (ptr, ptr, ...) @fprintf(ptr %t97, ptr @.fmt_bounds, ptr @.str1308, i32 %t91, i32 %t95) call void @exit(i32 1) unreachable ixok15: %t98 = getelementptr inbounds ptr, ptr %t93, i32 %t91 %t99 = load ptr, ptr %t98 %t100 = getelementptr inbounds %Cmp_Node, ptr %t99, i32 0, i32 1 %t101 = load ptr, ptr %t100 %t102 = call i32 @fn_field_index(ptr %t87, ptr %t101) %t103 = icmp slt i32 %t102, 0 %t104 = zext i1 %t103 to i32 %t105 = icmp ne i32 %t104, 0 br i1 %t105, label %then17, label %ifend19 then17: %t106 = load ptr, ptr %t0 %t107 = load ptr, ptr %t0 %t108 = getelementptr inbounds %Cmp_Node, ptr %t107, i32 0, i32 1 %t109 = load ptr, ptr %t108 store i32 651, ptr @lp_site %t110 = call ptr @lp_str_concat(ptr @.str1309, ptr %t109) store i32 0, ptr @lp_site store i32 652, ptr @lp_site %t111 = call ptr @lp_str_concat(ptr %t110, ptr @.str1310) store i32 0, ptr @lp_site call void @lp_free(ptr %t110) %t112 = load ptr, ptr %t76 %t113 = getelementptr inbounds %Cmp_Node, ptr %t112, i32 0, i32 7 %t114 = load ptr, ptr %t113 %t115 = load i32, ptr %t77 %t116 = getelementptr inbounds %LSlice, ptr %t114, i32 0, i32 0 %t117 = load ptr, ptr %t116 %t118 = getelementptr inbounds %LSlice, ptr %t114, i32 0, i32 1 %t119 = load i32, ptr %t118 %t120 = icmp ult i32 %t115, %t119 br i1 %t120, label %ixok20, label %ixbad21 ixbad21: store i32 653, ptr @lp_site %t121 = call ptr @lp_win_stdio(i32 2) store i32 0, ptr @lp_site call i32 (ptr, ptr, ...) @fprintf(ptr %t121, ptr @.fmt_bounds, ptr @.str1311, i32 %t115, i32 %t119) call void @exit(i32 1) unreachable ixok20: %t122 = getelementptr inbounds ptr, ptr %t117, i32 %t115 %t123 = load ptr, ptr %t122 %t124 = getelementptr inbounds %Cmp_Node, ptr %t123, i32 0, i32 1 %t125 = load ptr, ptr %t124 store i32 654, ptr @lp_site %t126 = call ptr @lp_str_concat(ptr %t111, ptr %t125) store i32 0, ptr @lp_site call void @lp_free(ptr %t111) call void @fn_port_err(ptr %t106, ptr %t126) br label %ifend19 ifend19: %t127 = load i32, ptr %t77 %t128 = add i32 %t127, 1 store i32 %t128, ptr %t77 br label %wcond12 wend14: store i32 0, ptr %t77 br label %wcond22 wcond22: %t129 = load i32, ptr %t77 %t130 = load ptr, ptr %t72 %t131 = getelementptr inbounds %Cmp_Node, ptr %t130, i32 0, i32 7 %t132 = load ptr, ptr %t131 %t133 = getelementptr inbounds %LSlice, ptr %t132, i32 0, i32 1 %t134 = load i32, ptr %t133 %t135 = icmp slt i32 %t129, %t134 %t136 = zext i1 %t135 to i32 %t137 = icmp ne i32 %t136, 0 br i1 %t137, label %wbody23, label %wend24 wbody23: %t139 = load ptr, ptr %t72 %t140 = getelementptr inbounds %Cmp_Node, ptr %t139, i32 0, i32 7 %t141 = load ptr, ptr %t140 %t142 = load i32, ptr %t77 %t143 = getelementptr inbounds %LSlice, ptr %t141, i32 0, i32 0 %t144 = load ptr, ptr %t143 %t145 = getelementptr inbounds %LSlice, ptr %t141, i32 0, i32 1 %t146 = load i32, ptr %t145 %t147 = icmp ult i32 %t142, %t146 br i1 %t147, label %ixok25, label %ixbad26 ixbad26: store i32 655, ptr @lp_site %t148 = call ptr @lp_win_stdio(i32 2) store i32 0, ptr @lp_site call i32 (ptr, ptr, ...) @fprintf(ptr %t148, ptr @.fmt_bounds, ptr @.str1312, i32 %t142, i32 %t146) call void @exit(i32 1) unreachable ixok25: %t149 = getelementptr inbounds ptr, ptr %t144, i32 %t142 %t150 = load ptr, ptr %t149 %t151 = getelementptr inbounds %Cmp_Node, ptr %t150, i32 0, i32 4 %t152 = load ptr, ptr %t151 %t153 = icmp eq ptr %t152, null %t154 = zext i1 %t153 to i32 %t155 = icmp ne i32 %t154, 0 %t156 = zext i1 %t155 to i32 store i32 %t156, ptr %t138 br i1 %t155, label %sc27, label %scend28 sc27: %t157 = load ptr, ptr %t76 %t158 = load ptr, ptr %t72 %t159 = getelementptr inbounds %Cmp_Node, ptr %t158, i32 0, i32 7 %t160 = load ptr, ptr %t159 %t161 = load i32, ptr %t77 %t162 = getelementptr inbounds %LSlice, ptr %t160, i32 0, i32 0 %t163 = load ptr, ptr %t162 %t164 = getelementptr inbounds %LSlice, ptr %t160, i32 0, i32 1 %t165 = load i32, ptr %t164 %t166 = icmp ult i32 %t161, %t165 br i1 %t166, label %ixok29, label %ixbad30 ixbad30: store i32 656, ptr @lp_site %t167 = call ptr @lp_win_stdio(i32 2) store i32 0, ptr @lp_site call i32 (ptr, ptr, ...) @fprintf(ptr %t167, ptr @.fmt_bounds, ptr @.str1313, i32 %t161, i32 %t165) call void @exit(i32 1) unreachable ixok29: %t168 = getelementptr inbounds ptr, ptr %t163, i32 %t161 %t169 = load ptr, ptr %t168 %t170 = getelementptr inbounds %Cmp_Node, ptr %t169, i32 0, i32 1 %t171 = load ptr, ptr %t170 %t172 = call i32 @fn_reg_rec_has(ptr %t157, ptr %t171) %t173 = icmp eq i32 %t172, 0 %t174 = zext i1 %t173 to i32 %t175 = icmp ne i32 %t174, 0 %t176 = zext i1 %t175 to i32 store i32 %t176, ptr %t138 br label %scend28 scend28: %t177 = load i32, ptr %t138 %t178 = icmp ne i32 %t177, 0 br i1 %t178, label %then31, label %ifend33 then31: %t179 = load ptr, ptr %t0 %t180 = load ptr, ptr %t0 %t181 = getelementptr inbounds %Cmp_Node, ptr %t180, i32 0, i32 1 %t182 = load ptr, ptr %t181 store i32 657, ptr @lp_site %t183 = call ptr @lp_str_concat(ptr @.str1314, ptr %t182) store i32 0, ptr @lp_site store i32 658, ptr @lp_site %t184 = call ptr @lp_str_concat(ptr %t183, ptr @.str1315) store i32 0, ptr @lp_site call void @lp_free(ptr %t183) %t185 = load ptr, ptr %t72 %t186 = getelementptr inbounds %Cmp_Node, ptr %t185, i32 0, i32 7 %t187 = load ptr, ptr %t186 %t188 = load i32, ptr %t77 %t189 = getelementptr inbounds %LSlice, ptr %t187, i32 0, i32 0 %t190 = load ptr, ptr %t189 %t191 = getelementptr inbounds %LSlice, ptr %t187, i32 0, i32 1 %t192 = load i32, ptr %t191 %t193 = icmp ult i32 %t188, %t192 br i1 %t193, label %ixok34, label %ixbad35 ixbad35: store i32 659, ptr @lp_site %t194 = call ptr @lp_win_stdio(i32 2) store i32 0, ptr @lp_site call i32 (ptr, ptr, ...) @fprintf(ptr %t194, ptr @.fmt_bounds, ptr @.str1316, i32 %t188, i32 %t192) call void @exit(i32 1) unreachable ixok34: %t195 = getelementptr inbounds ptr, ptr %t190, i32 %t188 %t196 = load ptr, ptr %t195 %t197 = getelementptr inbounds %Cmp_Node, ptr %t196, i32 0, i32 1 %t198 = load ptr, ptr %t197 store i32 660, ptr @lp_site %t199 = call ptr @lp_str_concat(ptr %t184, ptr %t198) store i32 0, ptr @lp_site call void @lp_free(ptr %t184) store i32 661, ptr @lp_site %t200 = call ptr @lp_str_concat(ptr %t199, ptr @.str1317) store i32 0, ptr @lp_site call void @lp_free(ptr %t199) call void @fn_port_err(ptr %t179, ptr %t200) br label %ifend33 ifend33: %t201 = load i32, ptr %t77 %t202 = add i32 %t201, 1 store i32 %t202, ptr %t77 br label %wcond22 wend24: store i32 0, ptr %t77 br label %wcond36 wcond36: %t203 = load i32, ptr %t77 %t204 = load ptr, ptr %t76 %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 1 %t208 = load i32, ptr %t207 %t209 = icmp slt i32 %t203, %t208 %t210 = zext i1 %t209 to i32 %t211 = icmp ne i32 %t210, 0 br i1 %t211, label %wbody37, label %wend38 wbody37: %t212 = load ptr, ptr %t76 %t213 = getelementptr inbounds %Cmp_Node, ptr %t212, i32 0, i32 7 %t214 = load ptr, ptr %t213 %t215 = load i32, ptr %t77 %t216 = getelementptr inbounds %LSlice, ptr %t214, i32 0, i32 0 %t217 = load ptr, ptr %t216 %t218 = getelementptr inbounds %LSlice, ptr %t214, i32 0, i32 1 %t219 = load i32, ptr %t218 %t220 = icmp ult i32 %t215, %t219 br i1 %t220, label %ixok39, label %ixbad40 ixbad40: store i32 662, ptr @lp_site %t221 = call ptr @lp_win_stdio(i32 2) store i32 0, ptr @lp_site call i32 (ptr, ptr, ...) @fprintf(ptr %t221, ptr @.fmt_bounds, ptr @.str1318, i32 %t215, i32 %t219) call void @exit(i32 1) unreachable ixok39: %t222 = getelementptr inbounds ptr, ptr %t217, i32 %t215 %t223 = load ptr, ptr %t222 %t224 = getelementptr inbounds %Cmp_Node, ptr %t223, i32 0, i32 4 %t225 = load ptr, ptr %t224 store ptr %t225, ptr %t226 %t228 = load ptr, ptr %t226 %t229 = icmp ne ptr %t228, null %t230 = zext i1 %t229 to i32 %t231 = icmp ne i32 %t230, 0 %t232 = zext i1 %t231 to i32 store i32 %t232, ptr %t227 br i1 %t231, label %sc41, label %scend42 sc41: %t233 = load ptr, ptr %t226 %t234 = getelementptr inbounds %Cmp_Node, ptr %t233, i32 0, i32 0 %t235 = load i32, ptr %t234 %t236 = icmp eq i32 %t235, 33 %t237 = zext i1 %t236 to i32 %t238 = icmp ne i32 %t237, 0 %t239 = zext i1 %t238 to i32 store i32 %t239, ptr %t227 br label %scend42 scend42: %t240 = load i32, ptr %t227 %t241 = icmp ne i32 %t240, 0 br i1 %t241, label %then43, label %ifend45 then43: %t242 = load ptr, ptr %t0 %t243 = load ptr, ptr %t72 %t244 = load ptr, ptr %t76 %t245 = getelementptr inbounds %Cmp_Node, ptr %t244, i32 0, i32 7 %t246 = load ptr, ptr %t245 %t247 = load i32, ptr %t77 %t248 = getelementptr inbounds %LSlice, ptr %t246, i32 0, i32 0 %t249 = load ptr, ptr %t248 %t250 = getelementptr inbounds %LSlice, ptr %t246, i32 0, i32 1 %t251 = load i32, ptr %t250 %t252 = icmp ult i32 %t247, %t251 br i1 %t252, label %ixok46, label %ixbad47 ixbad47: store i32 663, ptr @lp_site %t253 = call ptr @lp_win_stdio(i32 2) store i32 0, ptr @lp_site call i32 (ptr, ptr, ...) @fprintf(ptr %t253, ptr @.fmt_bounds, ptr @.str1319, i32 %t247, i32 %t251) call void @exit(i32 1) unreachable ixok46: %t254 = getelementptr inbounds ptr, ptr %t249, i32 %t247 %t255 = load ptr, ptr %t254 call void @fn_port_bind_var(ptr %t242, ptr %t243, ptr %t255) br label %ifend45 ifend45: %t260 = load ptr, ptr %t226 %t261 = icmp ne ptr %t260, null %t262 = zext i1 %t261 to i32 %t263 = icmp ne i32 %t262, 0 %t264 = zext i1 %t263 to i32 store i32 %t264, ptr %t259 br i1 %t263, label %sc48, label %scend49 sc48: %t265 = load ptr, ptr %t226 %t266 = getelementptr inbounds %Cmp_Node, ptr %t265, i32 0, i32 0 %t267 = load i32, ptr %t266 %t268 = icmp eq i32 %t267, 35 %t269 = zext i1 %t268 to i32 %t270 = icmp ne i32 %t269, 0 %t271 = zext i1 %t270 to i32 store i32 %t271, ptr %t259 br label %scend49 scend49: %t272 = load i32, ptr %t259 %t273 = icmp ne i32 %t272, 0 %t274 = zext i1 %t273 to i32 store i32 %t274, ptr %t258 br i1 %t273, label %sc50, label %scend51 sc50: %t275 = load ptr, ptr %t226 %t276 = getelementptr inbounds %Cmp_Node, ptr %t275, i32 0, i32 4 %t277 = load ptr, ptr %t276 %t278 = icmp ne ptr %t277, null %t279 = zext i1 %t278 to i32 %t280 = icmp ne i32 %t279, 0 %t281 = zext i1 %t280 to i32 store i32 %t281, ptr %t258 br label %scend51 scend51: %t282 = load i32, ptr %t258 %t283 = icmp ne i32 %t282, 0 %t284 = zext i1 %t283 to i32 store i32 %t284, ptr %t257 br i1 %t283, label %sc52, label %scend53 sc52: %t285 = load ptr, ptr %t226 %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 0 %t289 = load i32, ptr %t288 %t290 = icmp eq i32 %t289, 33 %t291 = zext i1 %t290 to i32 %t292 = icmp ne i32 %t291, 0 %t293 = zext i1 %t292 to i32 store i32 %t293, ptr %t257 br label %scend53 scend53: %t294 = load i32, ptr %t257 %t295 = icmp ne i32 %t294, 0 %t296 = zext i1 %t295 to i32 store i32 %t296, ptr %t256 br i1 %t295, label %sc54, label %scend55 sc54: %t297 = load ptr, ptr %t226 %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 i32 @fn_is_state_ty(ptr %t301) %t303 = icmp ne i32 %t302, 0 %t304 = zext i1 %t303 to i32 store i32 %t304, ptr %t256 br label %scend55 scend55: %t305 = load i32, ptr %t256 %t306 = icmp ne i32 %t305, 0 br i1 %t306, label %then56, label %ifend58 then56: %t307 = load ptr, ptr %t0 %t308 = load ptr, ptr %t72 %t309 = load ptr, ptr %t76 %t310 = getelementptr inbounds %Cmp_Node, ptr %t309, i32 0, i32 7 %t311 = load ptr, ptr %t310 %t312 = load i32, ptr %t77 %t313 = getelementptr inbounds %LSlice, ptr %t311, i32 0, i32 0 %t314 = load ptr, ptr %t313 %t315 = getelementptr inbounds %LSlice, ptr %t311, i32 0, i32 1 %t316 = load i32, ptr %t315 %t317 = icmp ult i32 %t312, %t316 br i1 %t317, label %ixok59, label %ixbad60 ixbad60: store i32 664, ptr @lp_site %t318 = call ptr @lp_win_stdio(i32 2) store i32 0, ptr @lp_site call i32 (ptr, ptr, ...) @fprintf(ptr %t318, ptr @.fmt_bounds, ptr @.str1320, i32 %t312, i32 %t316) call void @exit(i32 1) unreachable ixok59: %t319 = getelementptr inbounds ptr, ptr %t314, i32 %t312 %t320 = load ptr, ptr %t319 call void @fn_port_bind_var(ptr %t307, ptr %t308, ptr %t320) br label %ifend58 ifend58: %t321 = load i32, ptr %t77 %t322 = add i32 %t321, 1 store i32 %t322, ptr %t77 br label %wcond36 wend38: %t323 = load ptr, ptr %t0 %t324 = getelementptr inbounds %Cmp_Node, ptr %t323, i32 0, i32 9 %t325 = load ptr, ptr %t324 store ptr %t325, ptr @g_g_err_file %t326 = load ptr, ptr %t0 %t327 = getelementptr inbounds %Cmp_Node, ptr %t326, i32 0, i32 8 %t328 = load i32, ptr %t327 store i32 %t328, ptr @g_g_err_line %t329 = load ptr, ptr @g_g_pt_var %t330 = load i32, ptr %t5 %t331 = getelementptr inbounds %LSlice, ptr %t329, i32 0, i32 0 %t332 = load ptr, ptr %t331 %t333 = getelementptr inbounds %LSlice, ptr %t329, i32 0, i32 1 %t334 = load i32, ptr %t333 %t335 = icmp ult i32 %t330, %t334 br i1 %t335, label %ixok61, label %ixbad62 ixbad62: store i32 665, ptr @lp_site %t336 = call ptr @lp_win_stdio(i32 2) store i32 0, ptr @lp_site call i32 (ptr, ptr, ...) @fprintf(ptr %t336, ptr @.fmt_bounds, ptr @.str1321, i32 %t330, i32 %t334) call void @exit(i32 1) unreachable ixok61: %t337 = getelementptr inbounds ptr, ptr %t332, i32 %t330 %t338 = load ptr, ptr %t337 store ptr %t338, ptr %t339 %t340 = load ptr, ptr %t339 %t341 = load ptr, ptr %t0 %t342 = getelementptr inbounds %Cmp_Node, ptr %t341, i32 0, i32 1 %t343 = load ptr, ptr %t342 call void @fn_vis_check(ptr %t340, ptr %t343) store i32 0, ptr %t77 br label %wcond63 wcond63: %t344 = load i32, ptr %t77 %t345 = load ptr, ptr %t76 %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 1 %t349 = load i32, ptr %t348 %t350 = icmp slt i32 %t344, %t349 %t351 = zext i1 %t350 to i32 %t352 = icmp ne i32 %t351, 0 br i1 %t352, label %wbody64, label %wend65 wbody64: %t353 = load ptr, ptr %t76 %t354 = getelementptr inbounds %Cmp_Node, ptr %t353, i32 0, i32 7 %t355 = load ptr, ptr %t354 %t356 = load i32, ptr %t77 %t357 = getelementptr inbounds %LSlice, ptr %t355, i32 0, i32 0 %t358 = load ptr, ptr %t357 %t359 = getelementptr inbounds %LSlice, ptr %t355, i32 0, i32 1 %t360 = load i32, ptr %t359 %t361 = icmp ult i32 %t356, %t360 br i1 %t361, label %ixok66, label %ixbad67 ixbad67: store i32 666, ptr @lp_site %t362 = call ptr @lp_win_stdio(i32 2) store i32 0, ptr @lp_site call i32 (ptr, ptr, ...) @fprintf(ptr %t362, ptr @.fmt_bounds, ptr @.str1322, i32 %t356, i32 %t360) call void @exit(i32 1) unreachable ixok66: %t363 = getelementptr inbounds ptr, ptr %t358, i32 %t356 %t364 = load ptr, ptr %t363 %t365 = getelementptr inbounds %Cmp_Node, ptr %t364, i32 0, i32 4 %t366 = load ptr, ptr %t365 store ptr %t366, ptr %t367 %t369 = load ptr, ptr %t367 %t370 = icmp ne ptr %t369, null %t371 = zext i1 %t370 to i32 %t372 = icmp ne i32 %t371, 0 %t373 = zext i1 %t372 to i32 store i32 %t373, ptr %t368 br i1 %t372, label %sc68, label %scend69 sc68: %t374 = load ptr, ptr %t367 %t375 = getelementptr inbounds %Cmp_Node, ptr %t374, i32 0, i32 0 %t376 = load i32, ptr %t375 %t377 = icmp eq i32 %t376, 55 %t378 = zext i1 %t377 to i32 %t379 = icmp ne i32 %t378, 0 %t380 = zext i1 %t379 to i32 store i32 %t380, ptr %t368 br label %scend69 scend69: %t381 = load i32, ptr %t368 %t382 = icmp ne i32 %t381, 0 br i1 %t382, label %then70, label %ifend72 then70: %t383 = load ptr, ptr %t367 %t384 = getelementptr inbounds %Cmp_Node, ptr %t383, i32 0, i32 1 %t385 = load ptr, ptr %t384 %t386 = call ptr @fn_find_fn(ptr %t385) store ptr %t386, ptr %t387 %t388 = load ptr, ptr %t387 %t389 = icmp ne ptr %t388, null %t390 = zext i1 %t389 to i32 %t391 = icmp ne i32 %t390, 0 br i1 %t391, label %then73, label %ifend75 then73: %t392 = load ptr, ptr %t387 %t393 = load ptr, ptr %t367 %t394 = getelementptr inbounds %Cmp_Node, ptr %t393, i32 0, i32 1 %t395 = load ptr, ptr %t394 call void @fn_vis_check(ptr %t392, ptr %t395) br label %ifend75 ifend75: br label %ifend72 ifend72: %t396 = load i32, ptr %t77 %t397 = add i32 %t396, 1 store i32 %t397, ptr %t77 br label %wcond63 wend65: %t398 = call ptr @fn_node(i32 39) store ptr %t398, ptr %t399 %t400 = load ptr, ptr %t399 %t401 = getelementptr inbounds %Cmp_Node, ptr %t400, i32 0, i32 1 %t402 = load ptr, ptr %t72 %t403 = getelementptr inbounds %Cmp_Node, ptr %t402, i32 0, i32 1 %t404 = load ptr, ptr %t403 store ptr %t404, ptr %t401 %t405 = load ptr, ptr %t399 %t406 = getelementptr inbounds %Cmp_Node, ptr %t405, i32 0, i32 4 %t407 = load ptr, ptr %t76 store ptr %t407, ptr %t406 %t408 = load ptr, ptr %t399 %t409 = getelementptr inbounds %Cmp_Node, ptr %t408, i32 0, i32 9 %t410 = load ptr, ptr %t0 %t411 = getelementptr inbounds %Cmp_Node, ptr %t410, i32 0, i32 9 %t412 = load ptr, ptr %t411 store ptr %t412, ptr %t409 %t413 = load ptr, ptr %t399 %t414 = getelementptr inbounds %Cmp_Node, ptr %t413, i32 0, i32 8 %t415 = load ptr, ptr %t0 %t416 = getelementptr inbounds %Cmp_Node, ptr %t415, i32 0, i32 8 %t417 = load i32, ptr %t416 store i32 %t417, ptr %t414 %t418 = load ptr, ptr %t339 %t419 = getelementptr inbounds %Cmp_Node, ptr %t418, i32 0, i32 4 %t420 = load ptr, ptr %t399 store ptr %t420, ptr %t419 br label %ret ret: ret void } define void @fn_port_defaults_only(i32 %arg_k) { entry: %t0 = alloca i32 %t11 = alloca ptr %t12 = alloca i32 %t51 = alloca ptr %t53 = alloca ptr store i32 %arg_k, ptr %t0 %t1 = load ptr, ptr @g_g_pt_comp %t2 = load i32, ptr %t0 %t3 = getelementptr inbounds %LSlice, ptr %t1, i32 0, i32 0 %t4 = load ptr, ptr %t3 %t5 = getelementptr inbounds %LSlice, ptr %t1, i32 0, i32 1 %t6 = load i32, ptr %t5 %t7 = icmp ult i32 %t2, %t6 br i1 %t7, label %ixok0, label %ixbad1 ixbad1: store i32 667, ptr @lp_site %t8 = call ptr @lp_win_stdio(i32 2) store i32 0, ptr @lp_site call i32 (ptr, ptr, ...) @fprintf(ptr %t8, ptr @.fmt_bounds, ptr @.str1323, i32 %t2, i32 %t6) call void @exit(i32 1) unreachable ixok0: %t9 = getelementptr inbounds ptr, ptr %t4, i32 %t2 %t10 = load ptr, ptr %t9 store ptr %t10, ptr %t11 store i32 0, ptr %t12 br label %wcond2 wcond2: %t13 = load i32, ptr %t12 %t14 = load ptr, ptr %t11 %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 1 %t18 = load i32, ptr %t17 %t19 = icmp slt i32 %t13, %t18 %t20 = zext i1 %t19 to i32 %t21 = icmp ne i32 %t20, 0 br i1 %t21, label %wbody3, label %wend4 wbody3: %t22 = load ptr, ptr %t11 %t23 = getelementptr inbounds %Cmp_Node, ptr %t22, i32 0, i32 7 %t24 = load ptr, ptr %t23 %t25 = load i32, ptr %t12 %t26 = getelementptr inbounds %LSlice, ptr %t24, i32 0, i32 0 %t27 = load ptr, ptr %t26 %t28 = getelementptr inbounds %LSlice, ptr %t24, i32 0, i32 1 %t29 = load i32, ptr %t28 %t30 = icmp ult i32 %t25, %t29 br i1 %t30, label %ixok5, label %ixbad6 ixbad6: store i32 668, ptr @lp_site %t31 = call ptr @lp_win_stdio(i32 2) store i32 0, ptr @lp_site call i32 (ptr, ptr, ...) @fprintf(ptr %t31, ptr @.fmt_bounds, ptr @.str1325, i32 %t25, i32 %t29) call void @exit(i32 1) unreachable ixok5: %t32 = getelementptr inbounds ptr, ptr %t27, i32 %t25 %t33 = load ptr, ptr %t32 %t34 = getelementptr inbounds %Cmp_Node, ptr %t33, i32 0, i32 4 %t35 = load ptr, ptr %t34 %t36 = icmp eq ptr %t35, null %t37 = zext i1 %t36 to i32 %t38 = icmp ne i32 %t37, 0 br i1 %t38, label %then7, label %ifend9 then7: br label %ret ifend9: %t39 = load i32, ptr %t12 %t40 = add i32 %t39, 1 store i32 %t40, ptr %t12 br label %wcond2 wend4: %t41 = load ptr, ptr @g_g_pt_var %t42 = load i32, ptr %t0 %t43 = getelementptr inbounds %LSlice, ptr %t41, i32 0, i32 0 %t44 = load ptr, ptr %t43 %t45 = getelementptr inbounds %LSlice, ptr %t41, i32 0, i32 1 %t46 = load i32, ptr %t45 %t47 = icmp ult i32 %t42, %t46 br i1 %t47, label %ixok10, label %ixbad11 ixbad11: store i32 669, ptr @lp_site %t48 = call ptr @lp_win_stdio(i32 2) store i32 0, ptr @lp_site call i32 (ptr, ptr, ...) @fprintf(ptr %t48, ptr @.fmt_bounds, ptr @.str1326, i32 %t42, i32 %t46) call void @exit(i32 1) unreachable ixok10: %t49 = getelementptr inbounds ptr, ptr %t44, i32 %t42 %t50 = load ptr, ptr %t49 store ptr %t50, ptr %t51 %t52 = call ptr @fn_node(i32 39) store ptr %t52, ptr %t53 %t54 = load ptr, ptr %t53 %t55 = getelementptr inbounds %Cmp_Node, ptr %t54, i32 0, i32 1 %t56 = load ptr, ptr %t11 %t57 = getelementptr inbounds %Cmp_Node, ptr %t56, i32 0, i32 1 %t58 = load ptr, ptr %t57 store ptr %t58, ptr %t55 %t59 = load ptr, ptr %t53 %t60 = getelementptr inbounds %Cmp_Node, ptr %t59, i32 0, i32 9 %t61 = load ptr, ptr %t51 %t62 = getelementptr inbounds %Cmp_Node, ptr %t61, i32 0, i32 9 %t63 = load ptr, ptr %t62 store ptr %t63, ptr %t60 %t64 = load ptr, ptr %t53 %t65 = getelementptr inbounds %Cmp_Node, ptr %t64, i32 0, i32 8 %t66 = load ptr, ptr %t51 %t67 = getelementptr inbounds %Cmp_Node, ptr %t66, i32 0, i32 8 %t68 = load i32, ptr %t67 store i32 %t68, ptr %t65 %t69 = load ptr, ptr %t51 %t70 = getelementptr inbounds %Cmp_Node, ptr %t69, i32 0, i32 4 %t71 = load ptr, ptr %t53 store ptr %t71, ptr %t70 %t72 = load ptr, ptr @g_g_pt_bind %t73 = load i32, ptr %t0 %t74 = getelementptr inbounds %LSlice, ptr %t72, i32 0, i32 0 %t75 = load ptr, ptr %t74 %t76 = getelementptr inbounds %LSlice, ptr %t72, i32 0, i32 1 %t77 = load i32, ptr %t76 %t78 = icmp ult i32 %t73, %t77 br i1 %t78, label %ixok12, label %ixbad13 ixbad13: store i32 670, ptr @lp_site %t79 = call ptr @lp_win_stdio(i32 2) store i32 0, ptr @lp_site call i32 (ptr, ptr, ...) @fprintf(ptr %t79, ptr @.fmt_bounds, ptr @.str1327, i32 %t73, i32 %t77) call void @exit(i32 1) unreachable ixok12: %t80 = getelementptr inbounds ptr, ptr %t75, i32 %t73 %t81 = load ptr, ptr %t53 store ptr %t81, ptr %t80 br label %ret ret: ret void } define void @fn_port_bind_var(ptr %arg_b, ptr %arg_c, ptr %arg_fi) { entry: %t0 = alloca ptr %t1 = alloca ptr %t2 = alloca ptr %t4 = alloca ptr %t5 = alloca ptr %t33 = alloca ptr %t60 = alloca ptr %t64 = alloca i32 %t65 = alloca i32 %t97 = alloca ptr %t107 = alloca ptr %t117 = alloca ptr %t135 = alloca ptr %t137 = alloca i32 %t139 = alloca ptr %t141 = alloca i32 %t154 = alloca ptr store ptr %arg_b, ptr %t0 store ptr %arg_c, ptr %t1 store ptr %arg_fi, ptr %t2 %t3 = load ptr, ptr %t2 call void @fn_mg_bind_var(ptr %t3) store ptr null, ptr %t4 store ptr null, ptr %t5 %t6 = load ptr, ptr %t2 %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 0 %t10 = load i32, ptr %t9 %t11 = icmp eq i32 %t10, 35 %t12 = zext i1 %t11 to i32 %t13 = icmp ne i32 %t12, 0 br i1 %t13, label %then0, label %else1 then0: %t14 = load ptr, ptr %t2 %t15 = getelementptr inbounds %Cmp_Node, ptr %t14, i32 0, i32 4 %t16 = load ptr, ptr %t15 %t17 = getelementptr inbounds %Cmp_Node, ptr %t16, i32 0, i32 4 %t18 = load ptr, ptr %t17 %t19 = getelementptr inbounds %Cmp_Node, ptr %t18, i32 0, i32 1 %t20 = load ptr, ptr %t19 store ptr %t20, ptr %t4 %t21 = load ptr, ptr %t2 %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 store ptr %t25, ptr %t5 br label %ifend2 else1: %t26 = load ptr, ptr %t2 %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 store ptr %t30, ptr %t5 %t31 = load ptr, ptr %t5 %t32 = call ptr @fn_find_global(ptr %t31) store ptr %t32, ptr %t33 %t34 = load ptr, ptr %t33 %t35 = icmp eq ptr %t34, null %t36 = zext i1 %t35 to i32 %t37 = icmp ne i32 %t36, 0 br i1 %t37, label %then3, label %ifend5 then3: %t38 = load ptr, ptr %t0 %t39 = load ptr, ptr %t0 %t40 = getelementptr inbounds %Cmp_Node, ptr %t39, i32 0, i32 1 %t41 = load ptr, ptr %t40 store i32 671, ptr @lp_site %t42 = call ptr @lp_str_concat(ptr @.str1328, ptr %t41) store i32 0, ptr @lp_site store i32 672, ptr @lp_site %t43 = call ptr @lp_str_concat(ptr %t42, ptr @.str1330) store i32 0, ptr @lp_site call void @lp_free(ptr %t42) %t44 = load ptr, ptr %t2 %t45 = getelementptr inbounds %Cmp_Node, ptr %t44, i32 0, i32 1 %t46 = load ptr, ptr %t45 store i32 673, ptr @lp_site %t47 = call ptr @lp_str_concat(ptr %t43, ptr %t46) store i32 0, ptr @lp_site call void @lp_free(ptr %t43) store i32 674, ptr @lp_site %t48 = call ptr @lp_str_concat(ptr %t47, ptr @.str1331) store i32 0, ptr @lp_site call void @lp_free(ptr %t47) %t49 = load ptr, ptr %t5 store i32 675, ptr @lp_site %t50 = call ptr @lp_str_concat(ptr %t48, ptr %t49) store i32 0, ptr @lp_site call void @lp_free(ptr %t48) store i32 676, ptr @lp_site %t51 = call ptr @lp_str_concat(ptr %t50, ptr @.str1332) store i32 0, ptr @lp_site call void @lp_free(ptr %t50) %t52 = load ptr, ptr %t5 store i32 677, ptr @lp_site %t53 = call ptr @lp_str_concat(ptr %t51, ptr %t52) store i32 0, ptr @lp_site call void @lp_free(ptr %t51) store i32 678, ptr @lp_site %t54 = call ptr @lp_str_concat(ptr %t53, ptr @.str1333) store i32 0, ptr @lp_site call void @lp_free(ptr %t53) call void @fn_port_err(ptr %t38, ptr %t54) br label %ifend5 ifend5: br label %ifend2 ifend2: %t55 = load ptr, ptr %t1 %t56 = load ptr, ptr %t2 %t57 = getelementptr inbounds %Cmp_Node, ptr %t56, i32 0, i32 1 %t58 = load ptr, ptr %t57 %t59 = call ptr @fn_field_type(ptr %t55, ptr %t58) store ptr %t59, ptr %t60 %t61 = load ptr, ptr %t60 %t62 = call i64 @strlen(ptr %t61) %t63 = trunc i64 %t62 to i32 store i32 %t63, ptr %t64 %t66 = load i32, ptr %t64 %t67 = icmp slt i32 %t66, 7 %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 %scend7, label %sc6 sc6: %t71 = load ptr, ptr %t60 store i32 679, ptr @lp_site %t72 = call ptr @lp_str_slice(ptr %t71, i32 0, i32 6) store i32 0, ptr @lp_site %t73 = call i32 @lp_str_eq(ptr %t72, ptr @.str1334) call void @lp_free(ptr %t72) %t74 = icmp eq i32 %t73, 0 %t75 = zext i1 %t74 to i32 %t76 = icmp ne i32 %t75, 0 %t77 = zext i1 %t76 to i32 store i32 %t77, ptr %t65 br label %scend7 scend7: %t78 = load i32, ptr %t65 %t79 = icmp ne i32 %t78, 0 br i1 %t79, label %then8, label %ifend10 then8: %t80 = load ptr, ptr %t0 %t81 = load ptr, ptr %t0 %t82 = getelementptr inbounds %Cmp_Node, ptr %t81, i32 0, i32 1 %t83 = load ptr, ptr %t82 store i32 680, ptr @lp_site %t84 = call ptr @lp_str_concat(ptr @.str1335, ptr %t83) store i32 0, ptr @lp_site store i32 681, ptr @lp_site %t85 = call ptr @lp_str_concat(ptr %t84, ptr @.str1336) store i32 0, ptr @lp_site call void @lp_free(ptr %t84) %t86 = load ptr, ptr %t2 %t87 = getelementptr inbounds %Cmp_Node, ptr %t86, i32 0, i32 1 %t88 = load ptr, ptr %t87 store i32 682, ptr @lp_site %t89 = call ptr @lp_str_concat(ptr %t85, ptr %t88) store i32 0, ptr @lp_site call void @lp_free(ptr %t85) store i32 683, ptr @lp_site %t90 = call ptr @lp_str_concat(ptr %t89, ptr @.str1337) store i32 0, ptr @lp_site call void @lp_free(ptr %t89) %t91 = load ptr, ptr %t60 store i32 684, ptr @lp_site %t92 = call ptr @lp_str_concat(ptr %t90, ptr %t91) store i32 0, ptr @lp_site call void @lp_free(ptr %t90) store i32 685, ptr @lp_site %t93 = call ptr @lp_str_concat(ptr %t92, ptr @.str1338) store i32 0, ptr @lp_site call void @lp_free(ptr %t92) call void @fn_port_err(ptr %t80, ptr %t93) br label %ifend10 ifend10: %t94 = load ptr, ptr %t60 %t95 = load i32, ptr %t64 store i32 686, ptr @lp_site %t96 = call ptr @lp_str_slice(ptr %t94, i32 6, i32 %t95) store i32 0, ptr @lp_site store ptr %t96, ptr %t97 %t98 = load ptr, ptr %t0 %t99 = getelementptr inbounds %Cmp_Node, ptr %t98, i32 0, i32 1 %t100 = load ptr, ptr %t99 store i32 687, ptr @lp_site %t101 = call ptr @lp_str_concat(ptr @.str1339, ptr %t100) store i32 0, ptr @lp_site store i32 688, ptr @lp_site %t102 = call ptr @lp_str_concat(ptr %t101, ptr @.str1340) store i32 0, ptr @lp_site call void @lp_free(ptr %t101) %t103 = load ptr, ptr %t2 %t104 = getelementptr inbounds %Cmp_Node, ptr %t103, i32 0, i32 1 %t105 = load ptr, ptr %t104 store i32 689, ptr @lp_site %t106 = call ptr @lp_str_concat(ptr %t102, ptr %t105) store i32 0, ptr @lp_site call void @lp_free(ptr %t102) store ptr %t106, ptr %t107 %t108 = load ptr, ptr %t107 store i32 690, ptr @lp_site %t109 = call ptr @lp_str_concat(ptr @.str1341, ptr %t108) store i32 0, ptr @lp_site store i32 691, ptr @lp_site %t110 = call ptr @lp_str_concat(ptr %t109, ptr @.str1342) store i32 0, ptr @lp_site call void @lp_free(ptr %t109) %t111 = load ptr, ptr %t97 store i32 692, ptr @lp_site %t112 = call ptr @lp_str_concat(ptr %t110, ptr %t111) store i32 0, ptr @lp_site call void @lp_free(ptr %t110) store i32 693, ptr @lp_site %t113 = call ptr @lp_str_concat(ptr %t112, ptr @.str1343) store i32 0, ptr @lp_site call void @lp_free(ptr %t112) %t114 = load ptr, ptr %t5 store i32 694, ptr @lp_site %t115 = call ptr @lp_str_concat(ptr %t113, ptr %t114) store i32 0, ptr @lp_site call void @lp_free(ptr %t113) store i32 695, ptr @lp_site %t116 = call ptr @lp_str_concat(ptr %t115, ptr @.str1344) store i32 0, ptr @lp_site call void @lp_free(ptr %t115) store ptr %t116, ptr %t117 %t118 = load ptr, ptr %t4 %t119 = icmp ne ptr %t118, null %t120 = zext i1 %t119 to i32 %t121 = icmp ne i32 %t120, 0 br i1 %t121, label %then11, label %ifend13 then11: %t122 = load ptr, ptr %t107 store i32 696, ptr @lp_site %t123 = call ptr @lp_str_concat(ptr @.str1345, ptr %t122) store i32 0, ptr @lp_site store i32 697, ptr @lp_site %t124 = call ptr @lp_str_concat(ptr %t123, ptr @.str1346) store i32 0, ptr @lp_site call void @lp_free(ptr %t123) %t125 = load ptr, ptr %t4 store i32 698, ptr @lp_site %t126 = call ptr @lp_str_concat(ptr %t124, ptr %t125) store i32 0, ptr @lp_site call void @lp_free(ptr %t124) store i32 699, ptr @lp_site %t127 = call ptr @lp_str_concat(ptr %t126, ptr @.str1347) store i32 0, ptr @lp_site call void @lp_free(ptr %t126) %t128 = load ptr, ptr %t97 store i32 700, ptr @lp_site %t129 = call ptr @lp_str_concat(ptr %t127, ptr %t128) store i32 0, ptr @lp_site call void @lp_free(ptr %t127) store i32 701, ptr @lp_site %t130 = call ptr @lp_str_concat(ptr %t129, ptr @.str1348) store i32 0, ptr @lp_site call void @lp_free(ptr %t129) %t131 = load ptr, ptr %t5 store i32 702, ptr @lp_site %t132 = call ptr @lp_str_concat(ptr %t130, ptr %t131) store i32 0, ptr @lp_site call void @lp_free(ptr %t130) store i32 703, ptr @lp_site %t133 = call ptr @lp_str_concat(ptr %t132, ptr @.str1349) store i32 0, ptr @lp_site call void @lp_free(ptr %t132) store ptr %t133, ptr %t117 br label %ifend13 ifend13: %t134 = load ptr, ptr @g_toks store ptr %t134, ptr %t135 %t136 = load i32, ptr @g_pi store i32 %t136, ptr %t137 %t138 = load ptr, ptr @g_g_parse_file store ptr %t138, ptr %t139 %t140 = load i32, ptr @g_g_parsing store i32 %t140, ptr %t141 %t142 = load ptr, ptr %t0 %t143 = getelementptr inbounds %Cmp_Node, ptr %t142, i32 0, i32 9 %t144 = load ptr, ptr %t143 store ptr %t144, ptr @g_g_parse_file store i32 1, ptr @g_g_parsing %t145 = load ptr, ptr %t117 %t146 = load ptr, ptr %t0 %t147 = getelementptr inbounds %Cmp_Node, ptr %t146, i32 0, i32 8 %t148 = load i32, ptr %t147 call void @fn_lex_at(ptr %t145, i32 %t148) store i32 0, ptr @g_pi call void @fn_skipnl() call void @fn_parse_one_decl() %t149 = load ptr, ptr %t135 store ptr %t149, ptr @g_toks %t150 = load i32, ptr %t137 store i32 %t150, ptr @g_pi %t151 = load ptr, ptr %t139 store ptr %t151, ptr @g_g_parse_file %t152 = load i32, ptr %t141 store i32 %t152, ptr @g_g_parsing %t153 = call ptr @fn_node(i32 55) store ptr %t153, ptr %t154 %t155 = load ptr, ptr %t154 %t156 = getelementptr inbounds %Cmp_Node, ptr %t155, i32 0, i32 1 %t157 = load ptr, ptr %t107 store ptr %t157, ptr %t156 %t158 = load ptr, ptr %t154 %t159 = getelementptr inbounds %Cmp_Node, ptr %t158, i32 0, i32 9 %t160 = load ptr, ptr %t0 %t161 = getelementptr inbounds %Cmp_Node, ptr %t160, i32 0, i32 9 %t162 = load ptr, ptr %t161 store ptr %t162, ptr %t159 %t163 = load ptr, ptr %t154 %t164 = getelementptr inbounds %Cmp_Node, ptr %t163, i32 0, i32 8 %t165 = load ptr, ptr %t0 %t166 = getelementptr inbounds %Cmp_Node, ptr %t165, i32 0, i32 8 %t167 = load i32, ptr %t166 store i32 %t167, ptr %t164 %t168 = load ptr, ptr %t2 %t169 = getelementptr inbounds %Cmp_Node, ptr %t168, i32 0, i32 4 %t170 = load ptr, ptr %t154 store ptr %t170, ptr %t169 br label %ret ret: ret void } define void @fn_ports_finish() { entry: %t1 = alloca i32 %t2 = alloca i32 %t0 = load i32, ptr @g_g_parsing store i32 %t0, ptr %t1 store i32 0, ptr @g_g_parsing store i32 0, ptr %t2 br label %wcond0 wcond0: %t3 = load i32, ptr %t2 %t4 = load ptr, ptr @g_g_bd %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_g_bd %t11 = load i32, ptr %t2 %t12 = getelementptr inbounds %LSlice, ptr %t10, i32 0, i32 0 %t13 = load ptr, ptr %t12 %t14 = getelementptr inbounds %LSlice, ptr %t10, i32 0, i32 1 %t15 = load i32, ptr %t14 %t16 = icmp ult i32 %t11, %t15 br i1 %t16, label %ixok3, label %ixbad4 ixbad4: store i32 704, ptr @lp_site %t17 = call ptr @lp_win_stdio(i32 2) store i32 0, ptr @lp_site call i32 (ptr, ptr, ...) @fprintf(ptr %t17, ptr @.fmt_bounds, ptr @.str1350, i32 %t11, i32 %t15) call void @exit(i32 1) unreachable ixok3: %t18 = getelementptr inbounds ptr, ptr %t13, i32 %t11 %t19 = load ptr, ptr %t18 call void @fn_port_bind_one(ptr %t19) %t20 = load i32, ptr %t2 %t21 = add i32 %t20, 1 store i32 %t21, ptr %t2 br label %wcond0 wend2: store i32 0, ptr %t2 br label %wcond5 wcond5: %t22 = load i32, ptr %t2 %t23 = load ptr, ptr @g_g_pt_name %t24 = getelementptr inbounds %LSlice, ptr %t23, i32 0, i32 1 %t25 = load i32, ptr %t24 %t26 = icmp slt i32 %t22, %t25 %t27 = zext i1 %t26 to i32 %t28 = icmp ne i32 %t27, 0 br i1 %t28, label %wbody6, label %wend7 wbody6: %t29 = load ptr, ptr @g_g_pt_bind %t30 = load i32, ptr %t2 %t31 = getelementptr inbounds %LSlice, ptr %t29, i32 0, i32 0 %t32 = load ptr, ptr %t31 %t33 = getelementptr inbounds %LSlice, ptr %t29, i32 0, i32 1 %t34 = load i32, ptr %t33 %t35 = icmp ult i32 %t30, %t34 br i1 %t35, label %ixok8, label %ixbad9 ixbad9: store i32 705, ptr @lp_site %t36 = call ptr @lp_win_stdio(i32 2) store i32 0, ptr @lp_site call i32 (ptr, ptr, ...) @fprintf(ptr %t36, ptr @.fmt_bounds, ptr @.str1352, i32 %t30, i32 %t34) call void @exit(i32 1) unreachable ixok8: %t37 = getelementptr inbounds ptr, ptr %t32, i32 %t30 %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 %then10, label %ifend12 then10: %t42 = load i32, ptr %t2 call void @fn_port_defaults_only(i32 %t42) br label %ifend12 ifend12: %t43 = load i32, ptr %t2 %t44 = add i32 %t43, 1 store i32 %t44, ptr %t2 br label %wcond5 wend7: %t45 = load i32, ptr %t1 store i32 %t45, ptr @g_g_parsing br label %ret ret: ret void } define i32 @fn_priv_group(i32 %arg_k) { entry: %retval = alloca i32 %t0 = alloca i32 %t5 = alloca i32 store i32 %arg_k, ptr %t0 %t1 = load i32, ptr %t0 %t2 = icmp eq i32 %t1, 4 %t3 = zext i1 %t2 to i32 %t4 = icmp ne i32 %t3, 0 br i1 %t4, label %then0, label %ifend2 then0: store i32 2, ptr %retval br label %ret ifend2: %t6 = load i32, ptr %t0 %t7 = icmp eq i32 %t6, 2 %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 %scend4, label %sc3 sc3: %t11 = load i32, ptr %t0 %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 %t5 br label %scend4 scend4: %t16 = load i32, ptr %t5 %t17 = icmp ne i32 %t16, 0 br i1 %t17, label %then5, label %ifend7 then5: store i32 1, ptr %retval br label %ret ifend7: store i32 0, ptr %retval br label %ret ret: %t18 = load i32, ptr %retval ret i32 %t18 } define i32 @fn_priv_less(ptr %arg_a, ptr %arg_b) { entry: %retval = alloca i32 %t0 = alloca ptr %t1 = alloca ptr store ptr %arg_a, ptr %t0 store ptr %arg_b, ptr %t1 %t2 = load ptr, ptr %t0 %t3 = getelementptr inbounds %Cmp_Node, ptr %t2, i32 0, i32 1 %t4 = load ptr, ptr %t3 %t5 = load ptr, ptr %t1 %t6 = getelementptr inbounds %Cmp_Node, ptr %t5, i32 0, i32 1 %t7 = load ptr, ptr %t6 %t8 = call i32 @fn_reg_str_less(ptr %t4, ptr %t7) store i32 %t8, ptr %retval br label %ret ret: %t9 = load i32, ptr %retval ret i32 %t9 } define void @fn_priv_sort(ptr %arg_xs, i32 %arg_lo, i32 %arg_hi, ptr %arg_tmp) { entry: %t0 = alloca ptr %t1 = alloca i32 %t2 = alloca i32 %t3 = alloca ptr %t14 = alloca i32 %t24 = alloca i32 %t26 = alloca i32 %t28 = alloca i32 %t34 = alloca i32 %t41 = alloca i32 store ptr %arg_xs, ptr %t0 store i32 %arg_lo, ptr %t1 store i32 %arg_hi, ptr %t2 store ptr %arg_tmp, ptr %t3 %t4 = load i32, ptr %t2 %t5 = load i32, ptr %t1 %t6 = sub i32 %t4, %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: br label %ret ifend2: %t10 = load i32, ptr %t1 %t11 = load i32, ptr %t2 %t12 = add i32 %t10, %t11 %t13 = sdiv i32 %t12, 2 store i32 %t13, ptr %t14 %t15 = load ptr, ptr %t0 %t16 = load i32, ptr %t1 %t17 = load i32, ptr %t14 %t18 = load ptr, ptr %t3 call void @fn_priv_sort(ptr %t15, i32 %t16, i32 %t17, ptr %t18) %t19 = load ptr, ptr %t0 %t20 = load i32, ptr %t14 %t21 = load i32, ptr %t2 %t22 = load ptr, ptr %t3 call void @fn_priv_sort(ptr %t19, i32 %t20, i32 %t21, ptr %t22) %t23 = load i32, ptr %t1 store i32 %t23, ptr %t24 %t25 = load i32, ptr %t14 store i32 %t25, ptr %t26 %t27 = load i32, ptr %t1 store i32 %t27, ptr %t28 br label %wcond3 wcond3: %t29 = load i32, ptr %t28 %t30 = load i32, ptr %t2 %t31 = icmp slt i32 %t29, %t30 %t32 = zext i1 %t31 to i32 %t33 = icmp ne i32 %t32, 0 br i1 %t33, label %wbody4, label %wend5 wbody4: %t35 = load i32, ptr %t26 %t36 = load i32, ptr %t2 %t37 = icmp sge i32 %t35, %t36 %t38 = zext i1 %t37 to i32 %t39 = icmp ne i32 %t38, 0 %t40 = zext i1 %t39 to i32 store i32 %t40, ptr %t34 br i1 %t39, label %scend7, label %sc6 sc6: %t42 = load i32, ptr %t24 %t43 = load i32, ptr %t14 %t44 = icmp slt i32 %t42, %t43 %t45 = zext i1 %t44 to i32 %t46 = icmp ne i32 %t45, 0 %t47 = zext i1 %t46 to i32 store i32 %t47, ptr %t41 br i1 %t46, label %sc8, label %scend9 sc8: %t48 = load ptr, ptr @g_prog %t49 = load ptr, ptr %t0 %t50 = load i32, ptr %t26 %t51 = getelementptr inbounds %LSlice, ptr %t49, i32 0, i32 0 %t52 = load ptr, ptr %t51 %t53 = getelementptr inbounds %LSlice, ptr %t49, i32 0, i32 1 %t54 = load i32, ptr %t53 %t55 = icmp ult i32 %t50, %t54 br i1 %t55, label %ixok10, label %ixbad11 ixbad11: store i32 706, ptr @lp_site %t56 = call ptr @lp_win_stdio(i32 2) store i32 0, ptr @lp_site call i32 (ptr, ptr, ...) @fprintf(ptr %t56, ptr @.fmt_bounds, ptr @.str1353, i32 %t50, i32 %t54) call void @exit(i32 1) unreachable ixok10: %t57 = getelementptr inbounds i32, ptr %t52, i32 %t50 %t58 = load i32, ptr %t57 %t59 = getelementptr inbounds %LSlice, ptr %t48, i32 0, i32 0 %t60 = load ptr, ptr %t59 %t61 = getelementptr inbounds %LSlice, ptr %t48, i32 0, i32 1 %t62 = load i32, ptr %t61 %t63 = icmp ult i32 %t58, %t62 br i1 %t63, label %ixok12, label %ixbad13 ixbad13: store i32 707, ptr @lp_site %t64 = call ptr @lp_win_stdio(i32 2) store i32 0, ptr @lp_site call i32 (ptr, ptr, ...) @fprintf(ptr %t64, ptr @.fmt_bounds, ptr @.str1355, i32 %t58, i32 %t62) call void @exit(i32 1) unreachable ixok12: %t65 = getelementptr inbounds ptr, ptr %t60, i32 %t58 %t66 = load ptr, ptr %t65 %t67 = load ptr, ptr @g_prog %t68 = load ptr, ptr %t0 %t69 = load i32, ptr %t24 %t70 = getelementptr inbounds %LSlice, ptr %t68, i32 0, i32 0 %t71 = load ptr, ptr %t70 %t72 = getelementptr inbounds %LSlice, ptr %t68, i32 0, i32 1 %t73 = load i32, ptr %t72 %t74 = icmp ult i32 %t69, %t73 br i1 %t74, label %ixok14, label %ixbad15 ixbad15: store i32 708, ptr @lp_site %t75 = call ptr @lp_win_stdio(i32 2) store i32 0, ptr @lp_site call i32 (ptr, ptr, ...) @fprintf(ptr %t75, ptr @.fmt_bounds, ptr @.str1356, i32 %t69, i32 %t73) call void @exit(i32 1) unreachable ixok14: %t76 = getelementptr inbounds i32, ptr %t71, i32 %t69 %t77 = load i32, ptr %t76 %t78 = getelementptr inbounds %LSlice, ptr %t67, i32 0, i32 0 %t79 = load ptr, ptr %t78 %t80 = getelementptr inbounds %LSlice, ptr %t67, i32 0, i32 1 %t81 = load i32, ptr %t80 %t82 = icmp ult i32 %t77, %t81 br i1 %t82, label %ixok16, label %ixbad17 ixbad17: store i32 709, ptr @lp_site %t83 = call ptr @lp_win_stdio(i32 2) store i32 0, ptr @lp_site call i32 (ptr, ptr, ...) @fprintf(ptr %t83, ptr @.fmt_bounds, ptr @.str1357, i32 %t77, i32 %t81) call void @exit(i32 1) unreachable ixok16: %t84 = getelementptr inbounds ptr, ptr %t79, i32 %t77 %t85 = load ptr, ptr %t84 %t86 = call i32 @fn_priv_less(ptr %t66, ptr %t85) %t87 = icmp eq i32 %t86, 0 %t88 = zext i1 %t87 to i32 %t89 = icmp ne i32 %t88, 0 %t90 = zext i1 %t89 to i32 store i32 %t90, ptr %t41 br label %scend9 scend9: %t91 = load i32, ptr %t41 %t92 = icmp ne i32 %t91, 0 %t93 = zext i1 %t92 to i32 store i32 %t93, ptr %t34 br label %scend7 scend7: %t94 = load i32, ptr %t34 %t95 = icmp ne i32 %t94, 0 br i1 %t95, label %then18, label %else19 then18: %t96 = load ptr, ptr %t3 %t97 = load i32, ptr %t28 %t98 = getelementptr inbounds %LSlice, ptr %t96, i32 0, i32 0 %t99 = load ptr, ptr %t98 %t100 = getelementptr inbounds %LSlice, ptr %t96, i32 0, i32 1 %t101 = load i32, ptr %t100 %t102 = icmp ult i32 %t97, %t101 br i1 %t102, label %ixok21, label %ixbad22 ixbad22: store i32 710, ptr @lp_site %t103 = call ptr @lp_win_stdio(i32 2) store i32 0, ptr @lp_site call i32 (ptr, ptr, ...) @fprintf(ptr %t103, ptr @.fmt_bounds, ptr @.str1358, i32 %t97, i32 %t101) call void @exit(i32 1) unreachable ixok21: %t104 = getelementptr inbounds i32, ptr %t99, i32 %t97 %t105 = load ptr, ptr %t0 %t106 = load i32, ptr %t24 %t107 = getelementptr inbounds %LSlice, ptr %t105, i32 0, i32 0 %t108 = load ptr, ptr %t107 %t109 = getelementptr inbounds %LSlice, ptr %t105, i32 0, i32 1 %t110 = load i32, ptr %t109 %t111 = icmp ult i32 %t106, %t110 br i1 %t111, label %ixok23, label %ixbad24 ixbad24: store i32 711, ptr @lp_site %t112 = call ptr @lp_win_stdio(i32 2) store i32 0, ptr @lp_site call i32 (ptr, ptr, ...) @fprintf(ptr %t112, ptr @.fmt_bounds, ptr @.str1359, i32 %t106, i32 %t110) call void @exit(i32 1) unreachable ixok23: %t113 = getelementptr inbounds i32, ptr %t108, i32 %t106 %t114 = load i32, ptr %t113 store i32 %t114, ptr %t104 %t115 = load i32, ptr %t24 %t116 = add i32 %t115, 1 store i32 %t116, ptr %t24 br label %ifend20 else19: %t117 = load ptr, ptr %t3 %t118 = load i32, ptr %t28 %t119 = getelementptr inbounds %LSlice, ptr %t117, i32 0, i32 0 %t120 = load ptr, ptr %t119 %t121 = getelementptr inbounds %LSlice, ptr %t117, i32 0, i32 1 %t122 = load i32, ptr %t121 %t123 = icmp ult i32 %t118, %t122 br i1 %t123, label %ixok25, label %ixbad26 ixbad26: store i32 712, ptr @lp_site %t124 = call ptr @lp_win_stdio(i32 2) store i32 0, ptr @lp_site call i32 (ptr, ptr, ...) @fprintf(ptr %t124, ptr @.fmt_bounds, ptr @.str1360, i32 %t118, i32 %t122) call void @exit(i32 1) unreachable ixok25: %t125 = getelementptr inbounds i32, ptr %t120, i32 %t118 %t126 = load ptr, ptr %t0 %t127 = load i32, ptr %t26 %t128 = getelementptr inbounds %LSlice, ptr %t126, i32 0, i32 0 %t129 = load ptr, ptr %t128 %t130 = getelementptr inbounds %LSlice, ptr %t126, i32 0, i32 1 %t131 = load i32, ptr %t130 %t132 = icmp ult i32 %t127, %t131 br i1 %t132, label %ixok27, label %ixbad28 ixbad28: store i32 713, ptr @lp_site %t133 = call ptr @lp_win_stdio(i32 2) store i32 0, ptr @lp_site call i32 (ptr, ptr, ...) @fprintf(ptr %t133, ptr @.fmt_bounds, ptr @.str1361, i32 %t127, i32 %t131) call void @exit(i32 1) unreachable ixok27: %t134 = getelementptr inbounds i32, ptr %t129, i32 %t127 %t135 = load i32, ptr %t134 store i32 %t135, ptr %t125 %t136 = load i32, ptr %t26 %t137 = add i32 %t136, 1 store i32 %t137, ptr %t26 br label %ifend20 ifend20: %t138 = load i32, ptr %t28 %t139 = add i32 %t138, 1 store i32 %t139, ptr %t28 br label %wcond3 wend5: %t140 = load i32, ptr %t1 store i32 %t140, ptr %t28 br label %wcond29 wcond29: %t141 = load i32, ptr %t28 %t142 = load i32, ptr %t2 %t143 = icmp slt i32 %t141, %t142 %t144 = zext i1 %t143 to i32 %t145 = icmp ne i32 %t144, 0 br i1 %t145, label %wbody30, label %wend31 wbody30: %t146 = load ptr, ptr %t0 %t147 = load i32, ptr %t28 %t148 = getelementptr inbounds %LSlice, ptr %t146, i32 0, i32 0 %t149 = load ptr, ptr %t148 %t150 = getelementptr inbounds %LSlice, ptr %t146, i32 0, i32 1 %t151 = load i32, ptr %t150 %t152 = icmp ult i32 %t147, %t151 br i1 %t152, label %ixok32, label %ixbad33 ixbad33: store i32 714, ptr @lp_site %t153 = call ptr @lp_win_stdio(i32 2) store i32 0, ptr @lp_site call i32 (ptr, ptr, ...) @fprintf(ptr %t153, ptr @.fmt_bounds, ptr @.str1362, i32 %t147, i32 %t151) call void @exit(i32 1) unreachable ixok32: %t154 = getelementptr inbounds i32, ptr %t149, i32 %t147 %t155 = load ptr, ptr %t3 %t156 = load i32, ptr %t28 %t157 = getelementptr inbounds %LSlice, ptr %t155, i32 0, i32 0 %t158 = load ptr, ptr %t157 %t159 = getelementptr inbounds %LSlice, ptr %t155, i32 0, i32 1 %t160 = load i32, ptr %t159 %t161 = icmp ult i32 %t156, %t160 br i1 %t161, label %ixok34, label %ixbad35 ixbad35: store i32 715, ptr @lp_site %t162 = call ptr @lp_win_stdio(i32 2) store i32 0, ptr @lp_site call i32 (ptr, ptr, ...) @fprintf(ptr %t162, ptr @.fmt_bounds, ptr @.str1363, i32 %t156, i32 %t160) call void @exit(i32 1) unreachable ixok34: %t163 = getelementptr inbounds i32, ptr %t158, i32 %t156 %t164 = load i32, ptr %t163 store i32 %t164, ptr %t154 %t165 = load i32, ptr %t28 %t166 = add i32 %t165, 1 store i32 %t166, ptr %t28 br label %wcond29 wend31: br label %ret ret: ret void } define ptr @fn_priv_mod(i32 %arg_i) { entry: %retval = alloca ptr %t0 = alloca i32 store i32 %arg_i, ptr %t0 %t1 = load i32, ptr %t0 %t2 = load i32, ptr @g_g_prog_user_end %t3 = icmp sge i32 %t1, %t2 %t4 = zext i1 %t3 to i32 %t5 = icmp ne i32 %t4, 0 br i1 %t5, label %then0, label %ifend2 then0: store ptr @.str1364, ptr %retval br label %ret ifend2: %t6 = load ptr, ptr @g_prog %t7 = load i32, ptr %t0 %t8 = getelementptr inbounds %LSlice, ptr %t6, i32 0, i32 0 %t9 = load ptr, ptr %t8 %t10 = getelementptr inbounds %LSlice, ptr %t6, i32 0, i32 1 %t11 = load i32, ptr %t10 %t12 = icmp ult i32 %t7, %t11 br i1 %t12, label %ixok3, label %ixbad4 ixbad4: store i32 716, ptr @lp_site %t13 = call ptr @lp_win_stdio(i32 2) store i32 0, ptr @lp_site call i32 (ptr, ptr, ...) @fprintf(ptr %t13, ptr @.fmt_bounds, ptr @.str1365, i32 %t7, i32 %t11) call void @exit(i32 1) unreachable ixok3: %t14 = getelementptr inbounds ptr, ptr %t9, i32 %t7 %t15 = load ptr, ptr %t14 %t16 = getelementptr inbounds %Cmp_Node, ptr %t15, i32 0, i32 9 %t17 = load ptr, ptr %t16 %t18 = call ptr @fn_module_of(ptr %t17) store ptr %t18, ptr %retval br label %ret ret: %t19 = load ptr, ptr %retval ret ptr %t19 } define void @fn_priv_run(ptr %arg_xs, i32 %arg_a, i32 %arg_b) { entry: %t0 = alloca ptr %t1 = alloca i32 %t2 = alloca i32 %t4 = alloca i32 %t20 = alloca i32 %t31 = alloca ptr %t34 = alloca ptr %t35 = alloca i32 %t36 = alloca i32 %t61 = alloca i32 %t63 = alloca i32 %t69 = alloca i32 %t166 = alloca i32 store ptr %arg_xs, ptr %t0 store i32 %arg_a, ptr %t1 store i32 %arg_b, ptr %t2 %t3 = load i32, ptr %t1 store i32 %t3, ptr %t4 br label %wcond0 wcond0: %t5 = load i32, ptr %t4 %t6 = load i32, ptr %t2 %t7 = icmp slt i32 %t5, %t6 %t8 = zext i1 %t7 to i32 %t9 = icmp ne i32 %t8, 0 br i1 %t9, label %wbody1, label %wend2 wbody1: %t10 = load ptr, ptr %t0 %t11 = load i32, ptr %t4 %t12 = getelementptr inbounds %LSlice, ptr %t10, i32 0, i32 0 %t13 = load ptr, ptr %t12 %t14 = getelementptr inbounds %LSlice, ptr %t10, i32 0, i32 1 %t15 = load i32, ptr %t14 %t16 = icmp ult i32 %t11, %t15 br i1 %t16, label %ixok3, label %ixbad4 ixbad4: store i32 717, ptr @lp_site %t17 = call ptr @lp_win_stdio(i32 2) store i32 0, ptr @lp_site call i32 (ptr, ptr, ...) @fprintf(ptr %t17, ptr @.fmt_bounds, ptr @.str1367, i32 %t11, i32 %t15) call void @exit(i32 1) unreachable ixok3: %t18 = getelementptr inbounds i32, ptr %t13, i32 %t11 %t19 = load i32, ptr %t18 store i32 %t19, ptr %t20 %t21 = load ptr, ptr @g_prog %t22 = load i32, ptr %t20 %t23 = getelementptr inbounds %LSlice, ptr %t21, i32 0, i32 0 %t24 = load ptr, ptr %t23 %t25 = getelementptr inbounds %LSlice, ptr %t21, i32 0, i32 1 %t26 = load i32, ptr %t25 %t27 = icmp ult i32 %t22, %t26 br i1 %t27, label %ixok5, label %ixbad6 ixbad6: store i32 718, ptr @lp_site %t28 = call ptr @lp_win_stdio(i32 2) store i32 0, ptr @lp_site call i32 (ptr, ptr, ...) @fprintf(ptr %t28, ptr @.fmt_bounds, ptr @.str1369, i32 %t22, i32 %t26) call void @exit(i32 1) unreachable ixok5: %t29 = getelementptr inbounds ptr, ptr %t24, i32 %t22 %t30 = load ptr, ptr %t29 store ptr %t30, ptr %t31 %t32 = load i32, ptr %t20 %t33 = call ptr @fn_priv_mod(i32 %t32) store ptr %t33, ptr %t34 %t37 = load i32, ptr %t20 %t38 = load i32, ptr @g_g_prog_user_end %t39 = icmp slt i32 %t37, %t38 %t40 = zext i1 %t39 to i32 %t41 = icmp ne i32 %t40, 0 %t42 = zext i1 %t41 to i32 store i32 %t42, ptr %t36 br i1 %t41, label %sc7, label %scend8 sc7: %t43 = load ptr, ptr %t31 %t44 = getelementptr inbounds %Cmp_Node, ptr %t43, i32 0, i32 10 %t45 = load i32, ptr %t44 %t46 = icmp ne i32 %t45, 1 %t47 = zext i1 %t46 to i32 %t48 = icmp ne i32 %t47, 0 %t49 = zext i1 %t48 to i32 store i32 %t49, ptr %t36 br label %scend8 scend8: %t50 = load i32, ptr %t36 %t51 = icmp ne i32 %t50, 0 %t52 = zext i1 %t51 to i32 store i32 %t52, ptr %t35 br i1 %t51, label %sc9, label %scend10 sc9: %t53 = load ptr, ptr %t34 %t54 = call i32 @lp_str_eq(ptr %t53, ptr @.str1370) %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 %t35 br label %scend10 scend10: %t59 = load i32, ptr %t35 %t60 = icmp ne i32 %t59, 0 br i1 %t60, label %then11, label %ifend13 then11: store i32 0, ptr %t61 %t62 = load i32, ptr %t1 store i32 %t62, ptr %t63 br label %wcond14 wcond14: %t64 = load i32, ptr %t63 %t65 = load i32, ptr %t2 %t66 = icmp slt i32 %t64, %t65 %t67 = zext i1 %t66 to i32 %t68 = icmp ne i32 %t67, 0 br i1 %t68, label %wbody15, label %wend16 wbody15: %t70 = load i32, ptr %t63 %t71 = load i32, ptr %t4 %t72 = icmp ne i32 %t70, %t71 %t73 = zext i1 %t72 to i32 %t74 = icmp ne i32 %t73, 0 %t75 = zext i1 %t74 to i32 store i32 %t75, ptr %t69 br i1 %t74, label %sc17, label %scend18 sc17: %t76 = load ptr, ptr %t0 %t77 = load i32, ptr %t63 %t78 = getelementptr inbounds %LSlice, ptr %t76, i32 0, i32 0 %t79 = load ptr, ptr %t78 %t80 = getelementptr inbounds %LSlice, ptr %t76, i32 0, i32 1 %t81 = load i32, ptr %t80 %t82 = icmp ult i32 %t77, %t81 br i1 %t82, label %ixok19, label %ixbad20 ixbad20: store i32 719, ptr @lp_site %t83 = call ptr @lp_win_stdio(i32 2) store i32 0, ptr @lp_site call i32 (ptr, ptr, ...) @fprintf(ptr %t83, ptr @.fmt_bounds, ptr @.str1371, i32 %t77, i32 %t81) call void @exit(i32 1) unreachable ixok19: %t84 = getelementptr inbounds i32, ptr %t79, i32 %t77 %t85 = load i32, ptr %t84 %t86 = call ptr @fn_priv_mod(i32 %t85) %t87 = load ptr, ptr %t34 %t88 = call i32 @lp_str_eq(ptr %t86, ptr %t87) %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 %scend18 scend18: %t93 = load i32, ptr %t69 %t94 = icmp ne i32 %t93, 0 br i1 %t94, label %then21, label %ifend23 then21: store i32 1, ptr %t61 br label %ifend23 ifend23: %t95 = load i32, ptr %t63 %t96 = add i32 %t95, 1 store i32 %t96, ptr %t63 br label %wcond14 wend16: %t97 = load i32, ptr %t61 %t98 = icmp ne i32 %t97, 0 br i1 %t98, label %then24, label %ifend26 then24: %t99 = load ptr, ptr @g_g_rn_mod %t100 = load ptr, ptr %t34 %t101 = getelementptr inbounds %LSlice, ptr %t99, i32 0, i32 1 %t102 = getelementptr inbounds %LSlice, ptr %t99, i32 0, i32 2 %t103 = getelementptr inbounds %LSlice, ptr %t99, i32 0, i32 0 %t104 = load i32, ptr %t101 %t105 = load i32, ptr %t102 %t106 = icmp sge i32 %t104, %t105 br i1 %t106, label %grow27, label %put28 grow27: %t107 = mul i32 %t105, 2 %t108 = icmp eq i32 %t105, 0 %t109 = select i1 %t108, i32 8, i32 %t107 %t110 = getelementptr ptr, ptr null, i32 1 %t111 = ptrtoint ptr %t110 to i64 %t112 = zext i32 %t109 to i64 %t113 = mul i64 %t112, %t111 %t114 = load ptr, ptr %t103 store i32 720, ptr @lp_site %t115 = call ptr @lp_realloc(ptr %t114, i64 %t113) store i32 0, ptr @lp_site store ptr %t115, ptr %t103 store i32 %t109, ptr %t102 br label %put28 put28: %t116 = load ptr, ptr %t103 %t117 = getelementptr inbounds ptr, ptr %t116, i32 %t104 store ptr %t100, ptr %t117 %t118 = add i32 %t104, 1 store i32 %t118, ptr %t101 %t119 = load ptr, ptr @g_g_rn_old %t120 = load ptr, ptr %t31 %t121 = getelementptr inbounds %Cmp_Node, ptr %t120, i32 0, i32 1 %t122 = load ptr, ptr %t121 %t123 = getelementptr inbounds %LSlice, ptr %t119, i32 0, i32 1 %t124 = getelementptr inbounds %LSlice, ptr %t119, i32 0, i32 2 %t125 = getelementptr inbounds %LSlice, ptr %t119, i32 0, i32 0 %t126 = load i32, ptr %t123 %t127 = load i32, ptr %t124 %t128 = icmp sge i32 %t126, %t127 br i1 %t128, label %grow29, label %put30 grow29: %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 store i32 721, ptr @lp_site %t137 = call ptr @lp_realloc(ptr %t136, i64 %t135) store i32 0, ptr @lp_site store ptr %t137, ptr %t125 store i32 %t131, ptr %t124 br label %put30 put30: %t138 = load ptr, ptr %t125 %t139 = getelementptr inbounds ptr, ptr %t138, i32 %t126 store ptr %t122, ptr %t139 %t140 = add i32 %t126, 1 store i32 %t140, ptr %t123 %t141 = load ptr, ptr @g_g_rn_new %t142 = load ptr, ptr %t31 %t143 = getelementptr inbounds %Cmp_Node, ptr %t142, i32 0, i32 1 %t144 = load ptr, ptr %t143 store i32 722, ptr @lp_site %t145 = call ptr @lp_str_concat(ptr %t144, ptr @.str1372) store i32 0, ptr @lp_site %t146 = load ptr, ptr %t34 store i32 723, ptr @lp_site %t147 = call ptr @lp_str_concat(ptr %t145, ptr %t146) store i32 0, ptr @lp_site call void @lp_free(ptr %t145) %t148 = getelementptr inbounds %LSlice, ptr %t141, i32 0, i32 1 %t149 = getelementptr inbounds %LSlice, ptr %t141, i32 0, i32 2 %t150 = getelementptr inbounds %LSlice, ptr %t141, i32 0, i32 0 %t151 = load i32, ptr %t148 %t152 = load i32, ptr %t149 %t153 = icmp sge i32 %t151, %t152 br i1 %t153, label %grow31, label %put32 grow31: %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 store i32 724, ptr @lp_site %t162 = call ptr @lp_realloc(ptr %t161, i64 %t160) store i32 0, ptr @lp_site store ptr %t162, ptr %t150 store i32 %t156, ptr %t149 br label %put32 put32: %t163 = load ptr, ptr %t150 %t164 = getelementptr inbounds ptr, ptr %t163, i32 %t151 store ptr %t147, ptr %t164 %t165 = add i32 %t151, 1 store i32 %t165, ptr %t148 store i32 0, ptr %t166 %t167 = load ptr, ptr %t31 %t168 = getelementptr inbounds %Cmp_Node, ptr %t167, i32 0, i32 0 %t169 = load i32, ptr %t168 %t170 = icmp eq i32 %t169, 4 %t171 = zext i1 %t170 to i32 %t172 = icmp ne i32 %t171, 0 br i1 %t172, label %then33, label %ifend35 then33: store i32 1, ptr %t166 br label %ifend35 ifend35: %t173 = load ptr, ptr @g_g_rn_fn %t174 = load i32, ptr %t166 %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 %grow36, label %put37 grow36: %t181 = mul i32 %t179, 2 %t182 = icmp eq i32 %t179, 0 %t183 = select i1 %t182, i32 8, i32 %t181 %t184 = getelementptr i32, 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 store i32 725, ptr @lp_site %t189 = call ptr @lp_realloc(ptr %t188, i64 %t187) store i32 0, ptr @lp_site store ptr %t189, ptr %t177 store i32 %t183, ptr %t176 br label %put37 put37: %t190 = load ptr, ptr %t177 %t191 = getelementptr inbounds i32, ptr %t190, i32 %t178 store i32 %t174, ptr %t191 %t192 = add i32 %t178, 1 store i32 %t192, ptr %t175 br label %ifend26 ifend26: br label %ifend13 ifend13: %t193 = load i32, ptr %t4 %t194 = add i32 %t193, 1 store i32 %t194, ptr %t4 br label %wcond0 wend2: br label %ret ret: ret void } define void @fn_privates_rename() { entry: %t6 = alloca ptr %t13 = alloca ptr %t14 = alloca i32 %t22 = alloca i32 %t104 = alloca i32 %t114 = alloca i32 %t134 = alloca ptr %t135 = alloca i32 %t181 = alloca i32 %t192 = alloca ptr %t194 = alloca i32 %t0 = getelementptr %LSlice, ptr null, i32 1 %t1 = ptrtoint ptr %t0 to i64 store i32 726, ptr @lp_site %t2 = call ptr @lp_malloc(i64 %t1) store i32 0, ptr @lp_site %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 store i32 727, ptr @lp_site %t9 = call ptr @lp_malloc(i64 %t8) store i32 0, ptr @lp_site %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 store i32 0, ptr %t14 br label %wcond0 wcond0: %t15 = load i32, ptr %t14 %t16 = load ptr, ptr @g_prog %t17 = getelementptr inbounds %LSlice, ptr %t16, i32 0, i32 1 %t18 = load i32, ptr %t17 %t19 = icmp slt i32 %t15, %t18 %t20 = zext i1 %t19 to i32 %t21 = icmp ne i32 %t20, 0 br i1 %t21, label %wbody1, label %wend2 wbody1: %t23 = load ptr, ptr @g_prog %t24 = load i32, ptr %t14 %t25 = getelementptr inbounds %LSlice, ptr %t23, i32 0, i32 0 %t26 = load ptr, ptr %t25 %t27 = getelementptr inbounds %LSlice, ptr %t23, i32 0, i32 1 %t28 = load i32, ptr %t27 %t29 = icmp ult i32 %t24, %t28 br i1 %t29, label %ixok3, label %ixbad4 ixbad4: store i32 728, ptr @lp_site %t30 = call ptr @lp_win_stdio(i32 2) store i32 0, ptr @lp_site call i32 (ptr, ptr, ...) @fprintf(ptr %t30, ptr @.fmt_bounds, ptr @.str1374, i32 %t24, i32 %t28) call void @exit(i32 1) unreachable ixok3: %t31 = getelementptr inbounds ptr, ptr %t26, i32 %t24 %t32 = load ptr, ptr %t31 %t33 = getelementptr inbounds %Cmp_Node, ptr %t32, i32 0, i32 0 %t34 = load i32, ptr %t33 %t35 = call i32 @fn_priv_group(i32 %t34) %t36 = icmp sgt i32 %t35, 0 %t37 = zext i1 %t36 to i32 %t38 = icmp ne i32 %t37, 0 %t39 = zext i1 %t38 to i32 store i32 %t39, ptr %t22 br i1 %t38, label %sc5, label %scend6 sc5: %t40 = load ptr, ptr @g_prog %t41 = load i32, ptr %t14 %t42 = getelementptr inbounds %LSlice, ptr %t40, i32 0, i32 0 %t43 = load ptr, ptr %t42 %t44 = getelementptr inbounds %LSlice, ptr %t40, i32 0, i32 1 %t45 = load i32, ptr %t44 %t46 = icmp ult i32 %t41, %t45 br i1 %t46, label %ixok7, label %ixbad8 ixbad8: store i32 729, ptr @lp_site %t47 = call ptr @lp_win_stdio(i32 2) store i32 0, ptr @lp_site call i32 (ptr, ptr, ...) @fprintf(ptr %t47, ptr @.fmt_bounds, ptr @.str1375, i32 %t41, i32 %t45) call void @exit(i32 1) unreachable ixok7: %t48 = getelementptr inbounds ptr, ptr %t43, i32 %t41 %t49 = load ptr, ptr %t48 %t50 = getelementptr inbounds %Cmp_Node, ptr %t49, i32 0, i32 1 %t51 = load ptr, ptr %t50 %t52 = icmp ne ptr %t51, null %t53 = zext i1 %t52 to i32 %t54 = icmp ne i32 %t53, 0 %t55 = zext i1 %t54 to i32 store i32 %t55, ptr %t22 br label %scend6 scend6: %t56 = load i32, ptr %t22 %t57 = icmp ne i32 %t56, 0 br i1 %t57, label %then9, label %ifend11 then9: %t58 = load ptr, ptr %t6 %t59 = load i32, ptr %t14 %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 %grow12, label %put13 grow12: %t66 = mul i32 %t64, 2 %t67 = icmp eq i32 %t64, 0 %t68 = select i1 %t67, i32 8, i32 %t66 %t69 = getelementptr i32, 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 store i32 730, ptr @lp_site %t74 = call ptr @lp_realloc(ptr %t73, i64 %t72) store i32 0, ptr @lp_site store ptr %t74, ptr %t62 store i32 %t68, ptr %t61 br label %put13 put13: %t75 = load ptr, ptr %t62 %t76 = getelementptr inbounds i32, ptr %t75, i32 %t63 store i32 %t59, ptr %t76 %t77 = add i32 %t63, 1 store i32 %t77, ptr %t60 %t78 = load ptr, ptr %t13 %t79 = getelementptr inbounds %LSlice, ptr %t78, i32 0, i32 1 %t80 = getelementptr inbounds %LSlice, ptr %t78, i32 0, i32 2 %t81 = getelementptr inbounds %LSlice, ptr %t78, i32 0, i32 0 %t82 = load i32, ptr %t79 %t83 = load i32, ptr %t80 %t84 = icmp sge i32 %t82, %t83 br i1 %t84, label %grow14, label %put15 grow14: %t85 = mul i32 %t83, 2 %t86 = icmp eq i32 %t83, 0 %t87 = select i1 %t86, i32 8, i32 %t85 %t88 = getelementptr i32, ptr null, i32 1 %t89 = ptrtoint ptr %t88 to i64 %t90 = zext i32 %t87 to i64 %t91 = mul i64 %t90, %t89 %t92 = load ptr, ptr %t81 store i32 731, ptr @lp_site %t93 = call ptr @lp_realloc(ptr %t92, i64 %t91) store i32 0, ptr @lp_site store ptr %t93, ptr %t81 store i32 %t87, ptr %t80 br label %put15 put15: %t94 = load ptr, ptr %t81 %t95 = getelementptr inbounds i32, ptr %t94, i32 %t82 store i32 0, ptr %t95 %t96 = add i32 %t82, 1 store i32 %t96, ptr %t79 br label %ifend11 ifend11: %t97 = load i32, ptr %t14 %t98 = add i32 %t97, 1 store i32 %t98, ptr %t14 br label %wcond0 wend2: %t99 = load ptr, ptr %t6 %t100 = load ptr, ptr %t6 %t101 = getelementptr inbounds %LSlice, ptr %t100, i32 0, i32 1 %t102 = load i32, ptr %t101 %t103 = load ptr, ptr %t13 call void @fn_priv_sort(ptr %t99, i32 0, i32 %t102, ptr %t103) store i32 0, ptr %t104 br label %wcond16 wcond16: %t105 = load i32, ptr %t104 %t106 = load ptr, ptr %t6 %t107 = getelementptr inbounds %LSlice, ptr %t106, i32 0, i32 1 %t108 = load i32, ptr %t107 %t109 = icmp slt i32 %t105, %t108 %t110 = zext i1 %t109 to i32 %t111 = icmp ne i32 %t110, 0 br i1 %t111, label %wbody17, label %wend18 wbody17: %t112 = load i32, ptr %t104 %t113 = add i32 %t112, 1 store i32 %t113, ptr %t114 %t115 = load ptr, ptr @g_prog %t116 = load ptr, ptr %t6 %t117 = load i32, ptr %t104 %t118 = getelementptr inbounds %LSlice, ptr %t116, i32 0, i32 0 %t119 = load ptr, ptr %t118 %t120 = getelementptr inbounds %LSlice, ptr %t116, i32 0, i32 1 %t121 = load i32, ptr %t120 %t122 = icmp ult i32 %t117, %t121 br i1 %t122, label %ixok19, label %ixbad20 ixbad20: store i32 732, ptr @lp_site %t123 = call ptr @lp_win_stdio(i32 2) store i32 0, ptr @lp_site call i32 (ptr, ptr, ...) @fprintf(ptr %t123, ptr @.fmt_bounds, ptr @.str1376, i32 %t117, i32 %t121) call void @exit(i32 1) unreachable ixok19: %t124 = getelementptr inbounds i32, ptr %t119, i32 %t117 %t125 = load i32, ptr %t124 %t126 = getelementptr inbounds %LSlice, ptr %t115, i32 0, i32 0 %t127 = load ptr, ptr %t126 %t128 = getelementptr inbounds %LSlice, ptr %t115, i32 0, i32 1 %t129 = load i32, ptr %t128 %t130 = icmp ult i32 %t125, %t129 br i1 %t130, label %ixok21, label %ixbad22 ixbad22: store i32 733, ptr @lp_site %t131 = call ptr @lp_win_stdio(i32 2) store i32 0, ptr @lp_site call i32 (ptr, ptr, ...) @fprintf(ptr %t131, ptr @.fmt_bounds, ptr @.str1377, i32 %t125, i32 %t129) call void @exit(i32 1) unreachable ixok21: %t132 = getelementptr inbounds ptr, ptr %t127, i32 %t125 %t133 = load ptr, ptr %t132 store ptr %t133, ptr %t134 br label %wcond23 wcond23: %t136 = load i32, ptr %t114 %t137 = load ptr, ptr %t6 %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 %t143 = zext i1 %t142 to i32 store i32 %t143, ptr %t135 br i1 %t142, label %sc26, label %scend27 sc26: %t144 = load ptr, ptr @g_prog %t145 = load ptr, ptr %t6 %t146 = load i32, ptr %t114 %t147 = getelementptr inbounds %LSlice, ptr %t145, i32 0, i32 0 %t148 = load ptr, ptr %t147 %t149 = getelementptr inbounds %LSlice, ptr %t145, i32 0, i32 1 %t150 = load i32, ptr %t149 %t151 = icmp ult i32 %t146, %t150 br i1 %t151, label %ixok28, label %ixbad29 ixbad29: store i32 734, ptr @lp_site %t152 = call ptr @lp_win_stdio(i32 2) store i32 0, ptr @lp_site call i32 (ptr, ptr, ...) @fprintf(ptr %t152, ptr @.fmt_bounds, ptr @.str1378, i32 %t146, i32 %t150) call void @exit(i32 1) unreachable ixok28: %t153 = getelementptr inbounds i32, ptr %t148, i32 %t146 %t154 = load i32, ptr %t153 %t155 = getelementptr inbounds %LSlice, ptr %t144, i32 0, i32 0 %t156 = load ptr, ptr %t155 %t157 = getelementptr inbounds %LSlice, ptr %t144, i32 0, i32 1 %t158 = load i32, ptr %t157 %t159 = icmp ult i32 %t154, %t158 br i1 %t159, label %ixok30, label %ixbad31 ixbad31: store i32 735, ptr @lp_site %t160 = call ptr @lp_win_stdio(i32 2) store i32 0, ptr @lp_site call i32 (ptr, ptr, ...) @fprintf(ptr %t160, ptr @.fmt_bounds, ptr @.str1379, i32 %t154, i32 %t158) call void @exit(i32 1) unreachable ixok30: %t161 = getelementptr inbounds ptr, ptr %t156, i32 %t154 %t162 = load ptr, ptr %t161 %t163 = getelementptr inbounds %Cmp_Node, ptr %t162, i32 0, i32 1 %t164 = load ptr, ptr %t163 %t165 = load ptr, ptr %t134 %t166 = getelementptr inbounds %Cmp_Node, ptr %t165, i32 0, i32 1 %t167 = load ptr, ptr %t166 %t168 = call i32 @lp_str_eq(ptr %t164, ptr %t167) %t169 = icmp ne i32 %t168, 0 %t170 = zext i1 %t169 to i32 store i32 %t170, ptr %t135 br label %scend27 scend27: %t171 = load i32, ptr %t135 %t172 = icmp ne i32 %t171, 0 br i1 %t172, label %wbody24, label %wend25 wbody24: %t173 = load i32, ptr %t114 %t174 = add i32 %t173, 1 store i32 %t174, ptr %t114 br label %wcond23 wend25: %t175 = load i32, ptr %t114 %t176 = load i32, ptr %t104 %t177 = sub i32 %t175, %t176 %t178 = icmp sgt i32 %t177, 1 %t179 = zext i1 %t178 to i32 %t180 = icmp ne i32 %t179, 0 br i1 %t180, label %then32, label %ifend34 then32: store i32 1, ptr %t181 br label %wcond35 wcond35: %t182 = load i32, ptr %t181 %t183 = icmp sle i32 %t182, 2 %t184 = zext i1 %t183 to i32 %t185 = icmp ne i32 %t184, 0 br i1 %t185, label %wbody36, label %wend37 wbody36: %t186 = getelementptr %LSlice, ptr null, i32 1 %t187 = ptrtoint ptr %t186 to i64 store i32 736, ptr @lp_site %t188 = call ptr @lp_malloc(i64 %t187) store i32 0, ptr @lp_site %t189 = getelementptr inbounds %LSlice, ptr %t188, i32 0, i32 0 store ptr null, ptr %t189 %t190 = getelementptr inbounds %LSlice, ptr %t188, i32 0, i32 1 store i32 0, ptr %t190 %t191 = getelementptr inbounds %LSlice, ptr %t188, i32 0, i32 2 store i32 0, ptr %t191 store ptr %t188, ptr %t192 %t193 = load i32, ptr %t104 store i32 %t193, ptr %t194 br label %wcond38 wcond38: %t195 = load i32, ptr %t194 %t196 = load i32, ptr %t114 %t197 = icmp slt i32 %t195, %t196 %t198 = zext i1 %t197 to i32 %t199 = icmp ne i32 %t198, 0 br i1 %t199, label %wbody39, label %wend40 wbody39: %t200 = load ptr, ptr @g_prog %t201 = load ptr, ptr %t6 %t202 = load i32, ptr %t194 %t203 = getelementptr inbounds %LSlice, ptr %t201, i32 0, i32 0 %t204 = load ptr, ptr %t203 %t205 = getelementptr inbounds %LSlice, ptr %t201, i32 0, i32 1 %t206 = load i32, ptr %t205 %t207 = icmp ult i32 %t202, %t206 br i1 %t207, label %ixok41, label %ixbad42 ixbad42: store i32 737, ptr @lp_site %t208 = call ptr @lp_win_stdio(i32 2) store i32 0, ptr @lp_site call i32 (ptr, ptr, ...) @fprintf(ptr %t208, ptr @.fmt_bounds, ptr @.str1380, i32 %t202, i32 %t206) call void @exit(i32 1) unreachable ixok41: %t209 = getelementptr inbounds i32, ptr %t204, i32 %t202 %t210 = load i32, ptr %t209 %t211 = getelementptr inbounds %LSlice, ptr %t200, i32 0, i32 0 %t212 = load ptr, ptr %t211 %t213 = getelementptr inbounds %LSlice, ptr %t200, i32 0, i32 1 %t214 = load i32, ptr %t213 %t215 = icmp ult i32 %t210, %t214 br i1 %t215, label %ixok43, label %ixbad44 ixbad44: store i32 738, ptr @lp_site %t216 = call ptr @lp_win_stdio(i32 2) store i32 0, ptr @lp_site call i32 (ptr, ptr, ...) @fprintf(ptr %t216, ptr @.fmt_bounds, ptr @.str1381, i32 %t210, i32 %t214) call void @exit(i32 1) unreachable ixok43: %t217 = getelementptr inbounds ptr, ptr %t212, i32 %t210 %t218 = load ptr, ptr %t217 %t219 = getelementptr inbounds %Cmp_Node, ptr %t218, i32 0, i32 0 %t220 = load i32, ptr %t219 %t221 = call i32 @fn_priv_group(i32 %t220) %t222 = load i32, ptr %t181 %t223 = icmp eq i32 %t221, %t222 %t224 = zext i1 %t223 to i32 %t225 = icmp ne i32 %t224, 0 br i1 %t225, label %then45, label %ifend47 then45: %t226 = load ptr, ptr %t192 %t227 = load ptr, ptr %t6 %t228 = load i32, ptr %t194 %t229 = getelementptr inbounds %LSlice, ptr %t227, i32 0, i32 0 %t230 = load ptr, ptr %t229 %t231 = getelementptr inbounds %LSlice, ptr %t227, i32 0, i32 1 %t232 = load i32, ptr %t231 %t233 = icmp ult i32 %t228, %t232 br i1 %t233, label %ixok48, label %ixbad49 ixbad49: store i32 739, ptr @lp_site %t234 = call ptr @lp_win_stdio(i32 2) store i32 0, ptr @lp_site call i32 (ptr, ptr, ...) @fprintf(ptr %t234, ptr @.fmt_bounds, ptr @.str1382, i32 %t228, i32 %t232) call void @exit(i32 1) unreachable ixok48: %t235 = getelementptr inbounds i32, ptr %t230, i32 %t228 %t236 = load i32, ptr %t235 %t237 = getelementptr inbounds %LSlice, ptr %t226, i32 0, i32 1 %t238 = getelementptr inbounds %LSlice, ptr %t226, i32 0, i32 2 %t239 = getelementptr inbounds %LSlice, ptr %t226, i32 0, i32 0 %t240 = load i32, ptr %t237 %t241 = load i32, ptr %t238 %t242 = icmp sge i32 %t240, %t241 br i1 %t242, label %grow50, label %put51 grow50: %t243 = mul i32 %t241, 2 %t244 = icmp eq i32 %t241, 0 %t245 = select i1 %t244, i32 8, i32 %t243 %t246 = getelementptr i32, ptr null, i32 1 %t247 = ptrtoint ptr %t246 to i64 %t248 = zext i32 %t245 to i64 %t249 = mul i64 %t248, %t247 %t250 = load ptr, ptr %t239 store i32 740, ptr @lp_site %t251 = call ptr @lp_realloc(ptr %t250, i64 %t249) store i32 0, ptr @lp_site store ptr %t251, ptr %t239 store i32 %t245, ptr %t238 br label %put51 put51: %t252 = load ptr, ptr %t239 %t253 = getelementptr inbounds i32, ptr %t252, i32 %t240 store i32 %t236, ptr %t253 %t254 = add i32 %t240, 1 store i32 %t254, ptr %t237 br label %ifend47 ifend47: %t255 = load i32, ptr %t194 %t256 = add i32 %t255, 1 store i32 %t256, ptr %t194 br label %wcond38 wend40: %t257 = load ptr, ptr %t192 %t258 = getelementptr inbounds %LSlice, ptr %t257, i32 0, i32 1 %t259 = load i32, ptr %t258 %t260 = icmp sgt i32 %t259, 1 %t261 = zext i1 %t260 to i32 %t262 = icmp ne i32 %t261, 0 br i1 %t262, label %then52, label %ifend54 then52: %t263 = load ptr, ptr %t192 %t264 = load ptr, ptr %t192 %t265 = getelementptr inbounds %LSlice, ptr %t264, i32 0, i32 1 %t266 = load i32, ptr %t265 call void @fn_priv_run(ptr %t263, i32 0, i32 %t266) br label %ifend54 ifend54: %t267 = load i32, ptr %t181 %t268 = add i32 %t267, 1 store i32 %t268, ptr %t181 br label %wcond35 wend37: br label %ifend34 ifend34: %t269 = load i32, ptr %t114 store i32 %t269, ptr %t104 br label %wcond16 wend18: %t270 = load ptr, ptr @g_g_rn_old %t271 = getelementptr inbounds %LSlice, ptr %t270, i32 0, i32 1 %t272 = load i32, ptr %t271 %t273 = icmp sgt i32 %t272, 0 %t274 = zext i1 %t273 to i32 %t275 = icmp ne i32 %t274, 0 br i1 %t275, label %then55, label %ifend57 then55: call void @fn_priv_apply() br label %ifend57 ifend57: call void @fn_privates_types() br label %ret ret: ret void } define ptr @fn_priv_find(ptr %arg_s, ptr %arg_f, i32 %arg_want_fn) { entry: %retval = alloca ptr %t0 = alloca ptr %t1 = alloca ptr %t2 = alloca i32 %t3 = alloca i32 %t11 = alloca i32 %t43 = alloca i32 store ptr %arg_s, ptr %t0 store ptr %arg_f, ptr %t1 store i32 %arg_want_fn, ptr %t2 store i32 0, ptr %t3 br label %wcond0 wcond0: %t4 = load i32, ptr %t3 %t5 = load ptr, ptr @g_g_rn_old %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: %t12 = load ptr, ptr @g_g_rn_old %t13 = load i32, ptr %t3 %t14 = getelementptr inbounds %LSlice, ptr %t12, i32 0, i32 0 %t15 = load ptr, ptr %t14 %t16 = getelementptr inbounds %LSlice, ptr %t12, i32 0, i32 1 %t17 = load i32, ptr %t16 %t18 = icmp ult i32 %t13, %t17 br i1 %t18, label %ixok3, label %ixbad4 ixbad4: store i32 741, ptr @lp_site %t19 = call ptr @lp_win_stdio(i32 2) store i32 0, ptr @lp_site call i32 (ptr, ptr, ...) @fprintf(ptr %t19, ptr @.fmt_bounds, ptr @.str1383, i32 %t13, i32 %t17) call void @exit(i32 1) unreachable ixok3: %t20 = getelementptr inbounds ptr, ptr %t15, i32 %t13 %t21 = load ptr, ptr %t20 %t22 = load ptr, ptr %t0 %t23 = call i32 @lp_str_eq(ptr %t21, ptr %t22) %t24 = icmp ne i32 %t23, 0 %t25 = zext i1 %t24 to i32 store i32 %t25, ptr %t11 br i1 %t24, label %sc5, label %scend6 sc5: %t26 = load ptr, ptr @g_g_rn_fn %t27 = load i32, ptr %t3 %t28 = getelementptr inbounds %LSlice, ptr %t26, i32 0, i32 0 %t29 = load ptr, ptr %t28 %t30 = getelementptr inbounds %LSlice, ptr %t26, i32 0, i32 1 %t31 = load i32, ptr %t30 %t32 = icmp ult i32 %t27, %t31 br i1 %t32, label %ixok7, label %ixbad8 ixbad8: store i32 742, ptr @lp_site %t33 = call ptr @lp_win_stdio(i32 2) store i32 0, ptr @lp_site call i32 (ptr, ptr, ...) @fprintf(ptr %t33, ptr @.fmt_bounds, ptr @.str1385, i32 %t27, i32 %t31) call void @exit(i32 1) unreachable ixok7: %t34 = getelementptr inbounds i32, ptr %t29, i32 %t27 %t35 = load i32, ptr %t34 %t36 = load i32, ptr %t2 %t37 = icmp eq i32 %t35, %t36 %t38 = zext i1 %t37 to i32 %t39 = icmp ne i32 %t38, 0 %t40 = zext i1 %t39 to i32 store i32 %t40, ptr %t11 br label %scend6 scend6: %t41 = load i32, ptr %t11 %t42 = icmp ne i32 %t41, 0 br i1 %t42, label %then9, label %ifend11 then9: %t44 = load ptr, ptr %t1 %t45 = icmp ne ptr %t44, null %t46 = zext i1 %t45 to i32 %t47 = icmp ne i32 %t46, 0 %t48 = zext i1 %t47 to i32 store i32 %t48, ptr %t43 br i1 %t47, label %sc12, label %scend13 sc12: %t49 = load ptr, ptr %t1 %t50 = call ptr @fn_module_of(ptr %t49) %t51 = load ptr, ptr @g_g_rn_mod %t52 = load i32, ptr %t3 %t53 = getelementptr inbounds %LSlice, ptr %t51, i32 0, i32 0 %t54 = load ptr, ptr %t53 %t55 = getelementptr inbounds %LSlice, ptr %t51, i32 0, i32 1 %t56 = load i32, ptr %t55 %t57 = icmp ult i32 %t52, %t56 br i1 %t57, label %ixok14, label %ixbad15 ixbad15: store i32 743, ptr @lp_site %t58 = call ptr @lp_win_stdio(i32 2) store i32 0, ptr @lp_site call i32 (ptr, ptr, ...) @fprintf(ptr %t58, ptr @.fmt_bounds, ptr @.str1386, i32 %t52, i32 %t56) call void @exit(i32 1) unreachable ixok14: %t59 = getelementptr inbounds ptr, ptr %t54, i32 %t52 %t60 = load ptr, ptr %t59 %t61 = call i32 @lp_str_eq(ptr %t50, ptr %t60) %t62 = icmp ne i32 %t61, 0 %t63 = zext i1 %t62 to i32 store i32 %t63, ptr %t43 br label %scend13 scend13: %t64 = load i32, ptr %t43 %t65 = icmp ne i32 %t64, 0 br i1 %t65, label %then16, label %ifend18 then16: %t66 = load ptr, ptr @g_g_rn_new %t67 = load i32, ptr %t3 %t68 = getelementptr inbounds %LSlice, ptr %t66, i32 0, i32 0 %t69 = load ptr, ptr %t68 %t70 = getelementptr inbounds %LSlice, ptr %t66, i32 0, i32 1 %t71 = load i32, ptr %t70 %t72 = icmp ult i32 %t67, %t71 br i1 %t72, label %ixok19, label %ixbad20 ixbad20: store i32 744, ptr @lp_site %t73 = call ptr @lp_win_stdio(i32 2) store i32 0, ptr @lp_site call i32 (ptr, ptr, ...) @fprintf(ptr %t73, ptr @.fmt_bounds, ptr @.str1387, i32 %t67, i32 %t71) call void @exit(i32 1) unreachable ixok19: %t74 = getelementptr inbounds ptr, ptr %t69, i32 %t67 %t75 = load ptr, ptr %t74 store ptr %t75, ptr %retval br label %ret ifend18: br label %ifend11 ifend11: %t76 = load i32, ptr %t3 %t77 = add i32 %t76, 1 store i32 %t77, ptr %t3 br label %wcond0 wend2: store ptr null, ptr %retval br label %ret ret: %t78 = load ptr, ptr %retval ret ptr %t78 } define i32 @fn_priv_known(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 i32, ptr %t1 %t3 = load ptr, ptr @g_g_rn_old %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_rn_old %t10 = load i32, ptr %t1 %t11 = getelementptr inbounds %LSlice, ptr %t9, i32 0, i32 0 %t12 = load ptr, ptr %t11 %t13 = getelementptr inbounds %LSlice, ptr %t9, i32 0, i32 1 %t14 = load i32, ptr %t13 %t15 = icmp ult i32 %t10, %t14 br i1 %t15, label %ixok3, label %ixbad4 ixbad4: store i32 745, ptr @lp_site %t16 = call ptr @lp_win_stdio(i32 2) store i32 0, ptr @lp_site call i32 (ptr, ptr, ...) @fprintf(ptr %t16, ptr @.fmt_bounds, ptr @.str1388, i32 %t10, i32 %t14) call void @exit(i32 1) unreachable ixok3: %t17 = getelementptr inbounds ptr, ptr %t12, i32 %t10 %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 br i1 %t21, label %then5, label %ifend7 then5: store i32 1, ptr %retval br label %ret ifend7: %t22 = load i32, ptr %t1 %t23 = add i32 %t22, 1 store i32 %t23, ptr %t1 br label %wcond0 wend2: store i32 0, ptr %retval br label %ret ret: %t24 = load i32, ptr %retval ret i32 %t24 } define i32 @fn_priv_shadowed(ptr %arg_sc, ptr %arg_s) { entry: %retval = alloca i32 %t0 = alloca ptr %t1 = alloca ptr store ptr %arg_sc, ptr %t0 store ptr %arg_s, ptr %t1 %t2 = load ptr, ptr %t0 %t3 = load ptr, ptr %t1 store i32 746, ptr @lp_site %t4 = call ptr @lp_str_concat(ptr @.str1390, ptr %t3) store i32 0, ptr @lp_site store i32 747, ptr @lp_site %t5 = call ptr @lp_str_concat(ptr %t4, ptr @.str1392) store i32 0, ptr @lp_site call void @lp_free(ptr %t4) %t6 = call i32 @fn_has_sub(ptr %t2, ptr %t5) store i32 %t6, ptr %retval br label %ret ret: %t7 = load i32, ptr %retval ret i32 %t7 } define void @fn_priv_ref(ptr %arg_n, ptr %arg_sc, i32 %arg_want_fn) { entry: %t0 = alloca ptr %t1 = alloca ptr %t2 = alloca i32 %t3 = alloca i32 %t21 = alloca i32 %t44 = alloca ptr store ptr %arg_n, ptr %t0 store ptr %arg_sc, ptr %t1 store i32 %arg_want_fn, ptr %t2 %t4 = load ptr, ptr %t0 %t5 = getelementptr inbounds %Cmp_Node, ptr %t4, i32 0, i32 1 %t6 = load ptr, ptr %t5 %t7 = icmp eq ptr %t6, null %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 %scend1, label %sc0 sc0: %t11 = load ptr, ptr %t0 %t12 = getelementptr inbounds %Cmp_Node, ptr %t11, i32 0, i32 1 %t13 = load ptr, ptr %t12 %t14 = call i32 @fn_priv_known(ptr %t13) %t15 = icmp eq i32 %t14, 0 %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 br i1 %t20, label %then2, label %ifend4 then2: br label %ret ifend4: %t22 = load i32, ptr %t2 %t23 = icmp eq i32 %t22, 0 %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 %sc5, label %scend6 sc5: %t27 = load ptr, ptr %t1 %t28 = load ptr, ptr %t0 %t29 = getelementptr inbounds %Cmp_Node, ptr %t28, i32 0, i32 1 %t30 = load ptr, ptr %t29 %t31 = call i32 @fn_priv_shadowed(ptr %t27, ptr %t30) %t32 = icmp ne i32 %t31, 0 %t33 = zext i1 %t32 to i32 store i32 %t33, ptr %t21 br label %scend6 scend6: %t34 = load i32, ptr %t21 %t35 = icmp ne i32 %t34, 0 br i1 %t35, label %then7, label %ifend9 then7: br label %ret ifend9: %t36 = load ptr, ptr %t0 %t37 = getelementptr inbounds %Cmp_Node, ptr %t36, i32 0, i32 1 %t38 = load ptr, ptr %t37 %t39 = load ptr, ptr %t0 %t40 = getelementptr inbounds %Cmp_Node, ptr %t39, i32 0, i32 9 %t41 = load ptr, ptr %t40 %t42 = load i32, ptr %t2 %t43 = call ptr @fn_priv_find(ptr %t38, ptr %t41, i32 %t42) store ptr %t43, ptr %t44 %t45 = load ptr, ptr %t44 %t46 = icmp ne ptr %t45, null %t47 = zext i1 %t46 to i32 %t48 = icmp ne i32 %t47, 0 br i1 %t48, label %then10, label %ifend12 then10: %t49 = load ptr, ptr %t0 %t50 = getelementptr inbounds %Cmp_Node, ptr %t49, i32 0, i32 1 %t51 = load ptr, ptr %t44 store ptr %t51, ptr %t50 br label %ifend12 ifend12: br label %ret ret: ret void } define void @fn_priv_walk(ptr %arg_n, ptr %arg_sc) { entry: %t0 = alloca ptr %t1 = alloca ptr %t28 = alloca i32 %t64 = alloca ptr %t65 = alloca i32 %t158 = alloca ptr %t159 = alloca i32 store ptr %arg_n, ptr %t0 store ptr %arg_sc, 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: 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, 55 %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 = load ptr, ptr %t1 call void @fn_priv_ref(ptr %t12, ptr %t13, i32 1) br label %ret ifend5: %t14 = load ptr, ptr %t0 %t15 = getelementptr inbounds %Cmp_Node, ptr %t14, i32 0, i32 0 %t16 = load i32, ptr %t15 %t17 = icmp eq i32 %t16, 33 %t18 = zext i1 %t17 to i32 %t19 = icmp ne i32 %t18, 0 br i1 %t19, label %then6, label %ifend8 then6: %t20 = load ptr, ptr %t0 %t21 = load ptr, ptr %t1 call void @fn_priv_ref(ptr %t20, ptr %t21, i32 0) br label %ret ifend8: %t22 = load ptr, ptr %t0 %t23 = getelementptr inbounds %Cmp_Node, ptr %t22, i32 0, i32 0 %t24 = load i32, ptr %t23 %t25 = icmp eq i32 %t24, 34 %t26 = zext i1 %t25 to i32 %t27 = icmp ne i32 %t26, 0 br i1 %t27, label %then9, label %ifend11 then9: %t29 = load ptr, ptr %t0 %t30 = getelementptr inbounds %Cmp_Node, ptr %t29, i32 0, i32 4 %t31 = load ptr, ptr %t30 %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 %t28 br i1 %t34, label %sc12, label %scend13 sc12: %t36 = load ptr, ptr %t0 %t37 = getelementptr inbounds %Cmp_Node, ptr %t36, i32 0, i32 4 %t38 = load ptr, ptr %t37 %t39 = getelementptr inbounds %Cmp_Node, ptr %t38, i32 0, i32 0 %t40 = load i32, ptr %t39 %t41 = icmp eq i32 %t40, 33 %t42 = zext i1 %t41 to i32 %t43 = icmp ne i32 %t42, 0 %t44 = zext i1 %t43 to i32 store i32 %t44, ptr %t28 br label %scend13 scend13: %t45 = load i32, ptr %t28 %t46 = icmp ne i32 %t45, 0 br i1 %t46, label %then14, label %else15 then14: %t47 = load ptr, ptr %t0 %t48 = getelementptr inbounds %Cmp_Node, ptr %t47, i32 0, i32 4 %t49 = load ptr, ptr %t48 %t50 = load ptr, ptr %t1 call void @fn_priv_ref(ptr %t49, ptr %t50, i32 1) br label %ifend16 else15: %t51 = load ptr, ptr %t0 %t52 = getelementptr inbounds %Cmp_Node, ptr %t51, i32 0, i32 4 %t53 = load ptr, ptr %t52 %t54 = load ptr, ptr %t1 call void @fn_priv_walk(ptr %t53, ptr %t54) br label %ifend16 ifend16: %t55 = load ptr, ptr %t0 %t56 = load ptr, ptr %t1 call void @fn_priv_kids(ptr %t55, ptr %t56) br label %ret ifend11: %t57 = load ptr, ptr %t0 %t58 = getelementptr inbounds %Cmp_Node, ptr %t57, i32 0, i32 0 %t59 = load i32, ptr %t58 %t60 = icmp eq i32 %t59, 7 %t61 = zext i1 %t60 to i32 %t62 = icmp ne i32 %t61, 0 br i1 %t62, label %then17, label %ifend19 then17: %t63 = load ptr, ptr %t1 store ptr %t63, ptr %t64 store i32 0, ptr %t65 br label %wcond20 wcond20: %t66 = load i32, ptr %t65 %t67 = load ptr, ptr %t0 %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 1 %t71 = load i32, ptr %t70 %t72 = icmp slt i32 %t66, %t71 %t73 = zext i1 %t72 to i32 %t74 = icmp ne i32 %t73, 0 br i1 %t74, label %wbody21, label %wend22 wbody21: %t75 = load ptr, ptr %t0 %t76 = getelementptr inbounds %Cmp_Node, ptr %t75, i32 0, i32 7 %t77 = load ptr, ptr %t76 %t78 = load i32, ptr %t65 %t79 = getelementptr inbounds %LSlice, ptr %t77, i32 0, i32 0 %t80 = load ptr, ptr %t79 %t81 = getelementptr inbounds %LSlice, ptr %t77, i32 0, i32 1 %t82 = load i32, ptr %t81 %t83 = icmp ult i32 %t78, %t82 br i1 %t83, label %ixok23, label %ixbad24 ixbad24: store i32 748, ptr @lp_site %t84 = call ptr @lp_win_stdio(i32 2) store i32 0, ptr @lp_site call i32 (ptr, ptr, ...) @fprintf(ptr %t84, ptr @.fmt_bounds, ptr @.str1393, i32 %t78, i32 %t82) call void @exit(i32 1) unreachable ixok23: %t85 = getelementptr inbounds ptr, ptr %t80, i32 %t78 %t86 = load ptr, ptr %t85 %t87 = load ptr, ptr %t64 call void @fn_priv_walk(ptr %t86, ptr %t87) %t88 = load ptr, ptr %t0 %t89 = getelementptr inbounds %Cmp_Node, ptr %t88, i32 0, i32 7 %t90 = load ptr, ptr %t89 %t91 = load i32, ptr %t65 %t92 = getelementptr inbounds %LSlice, ptr %t90, i32 0, i32 0 %t93 = load ptr, ptr %t92 %t94 = getelementptr inbounds %LSlice, ptr %t90, i32 0, i32 1 %t95 = load i32, ptr %t94 %t96 = icmp ult i32 %t91, %t95 br i1 %t96, label %ixok25, label %ixbad26 ixbad26: store i32 749, ptr @lp_site %t97 = call ptr @lp_win_stdio(i32 2) store i32 0, ptr @lp_site call i32 (ptr, ptr, ...) @fprintf(ptr %t97, ptr @.fmt_bounds, ptr @.str1395, i32 %t91, i32 %t95) call void @exit(i32 1) unreachable ixok25: %t98 = getelementptr inbounds ptr, ptr %t93, i32 %t91 %t99 = load ptr, ptr %t98 %t100 = getelementptr inbounds %Cmp_Node, ptr %t99, i32 0, i32 0 %t101 = load i32, ptr %t100 %t102 = icmp eq i32 %t101, 10 %t103 = zext i1 %t102 to i32 %t104 = icmp ne i32 %t103, 0 br i1 %t104, label %then27, label %ifend29 then27: %t105 = load ptr, ptr %t64 %t106 = load ptr, ptr %t0 %t107 = getelementptr inbounds %Cmp_Node, ptr %t106, i32 0, i32 7 %t108 = load ptr, ptr %t107 %t109 = load i32, ptr %t65 %t110 = getelementptr inbounds %LSlice, ptr %t108, i32 0, i32 0 %t111 = load ptr, ptr %t110 %t112 = getelementptr inbounds %LSlice, ptr %t108, i32 0, i32 1 %t113 = load i32, ptr %t112 %t114 = icmp ult i32 %t109, %t113 br i1 %t114, label %ixok30, label %ixbad31 ixbad31: store i32 750, ptr @lp_site %t115 = call ptr @lp_win_stdio(i32 2) store i32 0, ptr @lp_site call i32 (ptr, ptr, ...) @fprintf(ptr %t115, ptr @.fmt_bounds, ptr @.str1396, i32 %t109, i32 %t113) call void @exit(i32 1) unreachable ixok30: %t116 = getelementptr inbounds ptr, ptr %t111, i32 %t109 %t117 = load ptr, ptr %t116 %t118 = getelementptr inbounds %Cmp_Node, ptr %t117, i32 0, i32 1 %t119 = load ptr, ptr %t118 store i32 751, ptr @lp_site %t120 = call ptr @lp_str_concat(ptr %t105, ptr %t119) store i32 0, ptr @lp_site store i32 752, ptr @lp_site %t121 = call ptr @lp_str_concat(ptr %t120, ptr @.str1397) store i32 0, ptr @lp_site call void @lp_free(ptr %t120) store ptr %t121, ptr %t64 br label %ifend29 ifend29: %t122 = load i32, ptr %t65 %t123 = add i32 %t122, 1 store i32 %t123, ptr %t65 br label %wcond20 wend22: %t124 = load ptr, ptr %t0 %t125 = getelementptr inbounds %Cmp_Node, ptr %t124, i32 0, i32 4 %t126 = load ptr, ptr %t125 %t127 = load ptr, ptr %t64 call void @fn_priv_walk(ptr %t126, ptr %t127) br label %ret ifend19: %t128 = load ptr, ptr %t0 %t129 = getelementptr inbounds %Cmp_Node, ptr %t128, i32 0, i32 0 %t130 = load i32, ptr %t129 %t131 = icmp eq i32 %t130, 14 %t132 = zext i1 %t131 to i32 %t133 = icmp ne i32 %t132, 0 br i1 %t133, label %then32, label %ifend34 then32: %t134 = load ptr, ptr %t0 %t135 = getelementptr inbounds %Cmp_Node, ptr %t134, i32 0, i32 4 %t136 = load ptr, ptr %t135 %t137 = load ptr, ptr %t1 call void @fn_priv_walk(ptr %t136, ptr %t137) %t138 = load ptr, ptr %t0 %t139 = getelementptr inbounds %Cmp_Node, ptr %t138, i32 0, i32 5 %t140 = load ptr, ptr %t139 %t141 = load ptr, ptr %t1 call void @fn_priv_walk(ptr %t140, ptr %t141) %t142 = load ptr, ptr %t0 %t143 = getelementptr inbounds %Cmp_Node, ptr %t142, i32 0, i32 6 %t144 = load ptr, ptr %t143 %t145 = load ptr, ptr %t1 %t146 = load ptr, ptr %t0 %t147 = getelementptr inbounds %Cmp_Node, ptr %t146, i32 0, i32 1 %t148 = load ptr, ptr %t147 store i32 753, ptr @lp_site %t149 = call ptr @lp_str_concat(ptr %t145, ptr %t148) store i32 0, ptr @lp_site store i32 754, ptr @lp_site %t150 = call ptr @lp_str_concat(ptr %t149, ptr @.str1398) store i32 0, ptr @lp_site call void @lp_free(ptr %t149) call void @fn_priv_walk(ptr %t144, ptr %t150) br label %ret ifend34: %t151 = load ptr, ptr %t0 %t152 = getelementptr inbounds %Cmp_Node, ptr %t151, i32 0, i32 0 %t153 = load i32, ptr %t152 %t154 = icmp eq i32 %t153, 4 %t155 = zext i1 %t154 to i32 %t156 = icmp ne i32 %t155, 0 br i1 %t156, label %then35, label %ifend37 then35: %t157 = load ptr, ptr %t1 store ptr %t157, ptr %t158 store i32 0, ptr %t159 br label %wcond38 wcond38: %t160 = load i32, ptr %t159 %t161 = load ptr, ptr %t0 %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 1 %t165 = load i32, ptr %t164 %t166 = icmp slt i32 %t160, %t165 %t167 = zext i1 %t166 to i32 %t168 = icmp ne i32 %t167, 0 br i1 %t168, label %wbody39, label %wend40 wbody39: %t169 = load ptr, ptr %t0 %t170 = getelementptr inbounds %Cmp_Node, ptr %t169, i32 0, i32 7 %t171 = load ptr, ptr %t170 %t172 = load i32, ptr %t159 %t173 = getelementptr inbounds %LSlice, ptr %t171, i32 0, i32 0 %t174 = load ptr, ptr %t173 %t175 = getelementptr inbounds %LSlice, ptr %t171, i32 0, i32 1 %t176 = load i32, ptr %t175 %t177 = icmp ult i32 %t172, %t176 br i1 %t177, label %ixok41, label %ixbad42 ixbad42: store i32 755, ptr @lp_site %t178 = call ptr @lp_win_stdio(i32 2) store i32 0, ptr @lp_site call i32 (ptr, ptr, ...) @fprintf(ptr %t178, ptr @.fmt_bounds, ptr @.str1399, i32 %t172, i32 %t176) call void @exit(i32 1) unreachable ixok41: %t179 = getelementptr inbounds ptr, ptr %t174, i32 %t172 %t180 = load ptr, ptr %t179 %t181 = getelementptr inbounds %Cmp_Node, ptr %t180, i32 0, i32 4 %t182 = load ptr, ptr %t181 %t183 = load ptr, ptr %t1 call void @fn_priv_walk(ptr %t182, ptr %t183) %t184 = load ptr, ptr %t0 %t185 = getelementptr inbounds %Cmp_Node, ptr %t184, i32 0, i32 7 %t186 = load ptr, ptr %t185 %t187 = load i32, ptr %t159 %t188 = getelementptr inbounds %LSlice, ptr %t186, i32 0, i32 0 %t189 = load ptr, ptr %t188 %t190 = getelementptr inbounds %LSlice, ptr %t186, i32 0, i32 1 %t191 = load i32, ptr %t190 %t192 = icmp ult i32 %t187, %t191 br i1 %t192, label %ixok43, label %ixbad44 ixbad44: store i32 756, ptr @lp_site %t193 = call ptr @lp_win_stdio(i32 2) store i32 0, ptr @lp_site call i32 (ptr, ptr, ...) @fprintf(ptr %t193, ptr @.fmt_bounds, ptr @.str1400, i32 %t187, i32 %t191) call void @exit(i32 1) unreachable ixok43: %t194 = getelementptr inbounds ptr, ptr %t189, i32 %t187 %t195 = load ptr, ptr %t194 %t196 = getelementptr inbounds %Cmp_Node, ptr %t195, i32 0, i32 0 %t197 = load i32, ptr %t196 %t198 = icmp eq i32 %t197, 5 %t199 = zext i1 %t198 to i32 %t200 = icmp ne i32 %t199, 0 br i1 %t200, label %then45, label %ifend47 then45: %t201 = load ptr, ptr %t158 %t202 = load ptr, ptr %t0 %t203 = getelementptr inbounds %Cmp_Node, ptr %t202, i32 0, i32 7 %t204 = load ptr, ptr %t203 %t205 = load i32, ptr %t159 %t206 = getelementptr inbounds %LSlice, ptr %t204, i32 0, i32 0 %t207 = load ptr, ptr %t206 %t208 = getelementptr inbounds %LSlice, ptr %t204, i32 0, i32 1 %t209 = load i32, ptr %t208 %t210 = icmp ult i32 %t205, %t209 br i1 %t210, label %ixok48, label %ixbad49 ixbad49: store i32 757, ptr @lp_site %t211 = call ptr @lp_win_stdio(i32 2) store i32 0, ptr @lp_site call i32 (ptr, ptr, ...) @fprintf(ptr %t211, ptr @.fmt_bounds, ptr @.str1401, i32 %t205, i32 %t209) call void @exit(i32 1) unreachable ixok48: %t212 = getelementptr inbounds ptr, ptr %t207, i32 %t205 %t213 = load ptr, ptr %t212 %t214 = getelementptr inbounds %Cmp_Node, ptr %t213, i32 0, i32 1 %t215 = load ptr, ptr %t214 store i32 758, ptr @lp_site %t216 = call ptr @lp_str_concat(ptr %t201, ptr %t215) store i32 0, ptr @lp_site store i32 759, ptr @lp_site %t217 = call ptr @lp_str_concat(ptr %t216, ptr @.str1402) store i32 0, ptr @lp_site call void @lp_free(ptr %t216) store ptr %t217, ptr %t158 br label %ifend47 ifend47: %t218 = load i32, ptr %t159 %t219 = add i32 %t218, 1 store i32 %t219, ptr %t159 br label %wcond38 wend40: %t220 = load ptr, ptr %t0 %t221 = getelementptr inbounds %Cmp_Node, ptr %t220, i32 0, i32 4 %t222 = load ptr, ptr %t221 %t223 = load ptr, ptr %t158 call void @fn_priv_walk(ptr %t222, ptr %t223) br label %ret ifend37: %t224 = load ptr, ptr %t0 %t225 = getelementptr inbounds %Cmp_Node, ptr %t224, i32 0, i32 4 %t226 = load ptr, ptr %t225 %t227 = load ptr, ptr %t1 call void @fn_priv_walk(ptr %t226, ptr %t227) %t228 = load ptr, ptr %t0 %t229 = getelementptr inbounds %Cmp_Node, ptr %t228, i32 0, i32 5 %t230 = load ptr, ptr %t229 %t231 = load ptr, ptr %t1 call void @fn_priv_walk(ptr %t230, ptr %t231) %t232 = load ptr, ptr %t0 %t233 = getelementptr inbounds %Cmp_Node, ptr %t232, i32 0, i32 6 %t234 = load ptr, ptr %t233 %t235 = load ptr, ptr %t1 call void @fn_priv_walk(ptr %t234, ptr %t235) %t236 = load ptr, ptr %t0 %t237 = load ptr, ptr %t1 call void @fn_priv_kids(ptr %t236, ptr %t237) br label %ret ret: ret void } define void @fn_priv_kids(ptr %arg_n, ptr %arg_sc) { entry: %t0 = alloca ptr %t1 = alloca ptr %t8 = alloca i32 store ptr %arg_n, ptr %t0 store ptr %arg_sc, ptr %t1 %t2 = load ptr, ptr %t0 %t3 = getelementptr inbounds %Cmp_Node, ptr %t2, i32 0, i32 7 %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: br label %ret ifend2: store i32 0, ptr %t8 br label %wcond3 wcond3: %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 %wbody4, label %wend5 wbody4: %t18 = load ptr, ptr %t0 %t19 = getelementptr inbounds %Cmp_Node, ptr %t18, i32 0, i32 7 %t20 = load ptr, ptr %t19 %t21 = load i32, ptr %t8 %t22 = getelementptr inbounds %LSlice, ptr %t20, i32 0, i32 0 %t23 = load ptr, ptr %t22 %t24 = getelementptr inbounds %LSlice, ptr %t20, i32 0, i32 1 %t25 = load i32, ptr %t24 %t26 = icmp ult i32 %t21, %t25 br i1 %t26, label %ixok6, label %ixbad7 ixbad7: store i32 760, ptr @lp_site %t27 = call ptr @lp_win_stdio(i32 2) store i32 0, ptr @lp_site call i32 (ptr, ptr, ...) @fprintf(ptr %t27, ptr @.fmt_bounds, ptr @.str1403, i32 %t21, i32 %t25) call void @exit(i32 1) unreachable ixok6: %t28 = getelementptr inbounds ptr, ptr %t23, i32 %t21 %t29 = load ptr, ptr %t28 %t30 = load ptr, ptr %t1 call void @fn_priv_walk(ptr %t29, ptr %t30) %t31 = load i32, ptr %t8 %t32 = add i32 %t31, 1 store i32 %t32, ptr %t8 br label %wcond3 wend5: br label %ret ret: ret void } define void @fn_priv_walk_all(ptr %arg_xs) { entry: %t0 = alloca ptr %t5 = alloca i32 store ptr %arg_xs, 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: br label %ret ifend2: store i32 0, ptr %t5 br label %wcond3 wcond3: %t6 = load i32, ptr %t5 %t7 = load ptr, ptr %t0 %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 %wbody4, label %wend5 wbody4: %t13 = load ptr, ptr %t0 %t14 = load i32, ptr %t5 %t15 = getelementptr inbounds %LSlice, ptr %t13, i32 0, i32 0 %t16 = load ptr, ptr %t15 %t17 = getelementptr inbounds %LSlice, ptr %t13, i32 0, i32 1 %t18 = load i32, ptr %t17 %t19 = icmp ult i32 %t14, %t18 br i1 %t19, label %ixok6, label %ixbad7 ixbad7: store i32 761, ptr @lp_site %t20 = call ptr @lp_win_stdio(i32 2) store i32 0, ptr @lp_site call i32 (ptr, ptr, ...) @fprintf(ptr %t20, ptr @.fmt_bounds, ptr @.str1405, i32 %t14, i32 %t18) call void @exit(i32 1) unreachable ixok6: %t21 = getelementptr inbounds ptr, ptr %t16, i32 %t14 %t22 = load ptr, ptr %t21 call void @fn_priv_walk(ptr %t22, ptr @.str1407) %t23 = load i32, ptr %t5 %t24 = add i32 %t23, 1 store i32 %t24, ptr %t5 br label %wcond3 wend5: br label %ret ret: ret void } define void @fn_priv_apply() { entry: %t0 = alloca i32 %t1 = alloca i32 %t28 = alloca ptr %t33 = alloca i32 %t34 = alloca i32 %t35 = alloca i32 %t36 = alloca i32 %t70 = alloca i32 %t83 = alloca ptr %t93 = alloca i32 %t161 = alloca ptr store i32 0, ptr %t0 br label %wcond0 wcond0: %t2 = load i32, ptr %t0 %t3 = load i32, ptr @g_g_prog_user_end %t4 = icmp slt i32 %t2, %t3 %t5 = zext i1 %t4 to i32 %t6 = icmp ne i32 %t5, 0 %t7 = zext i1 %t6 to i32 store i32 %t7, ptr %t1 br i1 %t6, label %sc3, label %scend4 sc3: %t8 = load i32, ptr %t0 %t9 = load ptr, ptr @g_prog %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 %t15 = zext i1 %t14 to i32 store i32 %t15, ptr %t1 br label %scend4 scend4: %t16 = load i32, ptr %t1 %t17 = icmp ne i32 %t16, 0 br i1 %t17, label %wbody1, label %wend2 wbody1: %t18 = load ptr, ptr @g_prog %t19 = load i32, ptr %t0 %t20 = getelementptr inbounds %LSlice, ptr %t18, i32 0, i32 0 %t21 = load ptr, ptr %t20 %t22 = getelementptr inbounds %LSlice, ptr %t18, i32 0, i32 1 %t23 = load i32, ptr %t22 %t24 = icmp ult i32 %t19, %t23 br i1 %t24, label %ixok5, label %ixbad6 ixbad6: store i32 762, ptr @lp_site %t25 = call ptr @lp_win_stdio(i32 2) store i32 0, ptr @lp_site call i32 (ptr, ptr, ...) @fprintf(ptr %t25, ptr @.fmt_bounds, ptr @.str1408, i32 %t19, i32 %t23) call void @exit(i32 1) unreachable ixok5: %t26 = getelementptr inbounds ptr, ptr %t21, i32 %t19 %t27 = load ptr, ptr %t26 store ptr %t27, ptr %t28 %t29 = load ptr, ptr %t28 %t30 = getelementptr inbounds %Cmp_Node, ptr %t29, i32 0, i32 0 %t31 = load i32, ptr %t30 %t32 = call i32 @fn_priv_group(i32 %t31) store i32 %t32, ptr %t33 %t37 = load i32, ptr %t33 %t38 = icmp sgt i32 %t37, 0 %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 %sc7, label %scend8 sc7: %t42 = load ptr, ptr %t28 %t43 = getelementptr inbounds %Cmp_Node, ptr %t42, i32 0, i32 10 %t44 = load i32, ptr %t43 %t45 = icmp ne i32 %t44, 1 %t46 = zext i1 %t45 to i32 %t47 = icmp ne i32 %t46, 0 %t48 = zext i1 %t47 to i32 store i32 %t48, ptr %t36 br label %scend8 scend8: %t49 = load i32, ptr %t36 %t50 = icmp ne i32 %t49, 0 %t51 = zext i1 %t50 to i32 store i32 %t51, ptr %t35 br i1 %t50, label %sc9, label %scend10 sc9: %t52 = load ptr, ptr %t28 %t53 = getelementptr inbounds %Cmp_Node, ptr %t52, i32 0, i32 1 %t54 = load ptr, ptr %t53 %t55 = icmp ne ptr %t54, null %t56 = zext i1 %t55 to i32 %t57 = icmp ne i32 %t56, 0 %t58 = zext i1 %t57 to i32 store i32 %t58, ptr %t35 br label %scend10 scend10: %t59 = load i32, ptr %t35 %t60 = icmp ne i32 %t59, 0 %t61 = zext i1 %t60 to i32 store i32 %t61, ptr %t34 br i1 %t60, label %sc11, label %scend12 sc11: %t62 = load ptr, ptr %t28 %t63 = getelementptr inbounds %Cmp_Node, ptr %t62, i32 0, i32 1 %t64 = load ptr, ptr %t63 %t65 = call i32 @fn_priv_known(ptr %t64) %t66 = icmp ne i32 %t65, 0 %t67 = zext i1 %t66 to i32 store i32 %t67, ptr %t34 br label %scend12 scend12: %t68 = load i32, ptr %t34 %t69 = icmp ne i32 %t68, 0 br i1 %t69, label %then13, label %ifend15 then13: store i32 0, ptr %t70 %t71 = load i32, ptr %t33 %t72 = icmp eq i32 %t71, 2 %t73 = zext i1 %t72 to i32 %t74 = icmp ne i32 %t73, 0 br i1 %t74, label %then16, label %ifend18 then16: store i32 1, ptr %t70 br label %ifend18 ifend18: %t75 = load ptr, ptr %t28 %t76 = getelementptr inbounds %Cmp_Node, ptr %t75, i32 0, i32 1 %t77 = load ptr, ptr %t76 %t78 = load ptr, ptr %t28 %t79 = getelementptr inbounds %Cmp_Node, ptr %t78, i32 0, i32 9 %t80 = load ptr, ptr %t79 %t81 = load i32, ptr %t70 %t82 = call ptr @fn_priv_find(ptr %t77, ptr %t80, i32 %t81) 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 %then19, label %ifend21 then19: %t88 = load ptr, ptr %t28 %t89 = getelementptr inbounds %Cmp_Node, ptr %t88, i32 0, i32 1 %t90 = load ptr, ptr %t83 store ptr %t90, ptr %t89 br label %ifend21 ifend21: br label %ifend15 ifend15: %t91 = load i32, ptr %t0 %t92 = add i32 %t91, 1 store i32 %t92, ptr %t0 br label %wcond0 wend2: store i32 0, ptr %t0 br label %wcond22 wcond22: %t94 = load i32, ptr %t0 %t95 = load i32, ptr @g_g_prog_user_end %t96 = icmp slt i32 %t94, %t95 %t97 = zext i1 %t96 to i32 %t98 = icmp ne i32 %t97, 0 %t99 = zext i1 %t98 to i32 store i32 %t99, ptr %t93 br i1 %t98, label %sc25, label %scend26 sc25: %t100 = load i32, ptr %t0 %t101 = load ptr, ptr @g_prog %t102 = getelementptr inbounds %LSlice, ptr %t101, i32 0, i32 1 %t103 = load i32, ptr %t102 %t104 = icmp slt i32 %t100, %t103 %t105 = zext i1 %t104 to i32 %t106 = icmp ne i32 %t105, 0 %t107 = zext i1 %t106 to i32 store i32 %t107, ptr %t93 br label %scend26 scend26: %t108 = load i32, ptr %t93 %t109 = icmp ne i32 %t108, 0 br i1 %t109, label %wbody23, label %wend24 wbody23: %t110 = load ptr, ptr @g_prog %t111 = load i32, ptr %t0 %t112 = getelementptr inbounds %LSlice, ptr %t110, i32 0, i32 0 %t113 = load ptr, ptr %t112 %t114 = getelementptr inbounds %LSlice, ptr %t110, i32 0, i32 1 %t115 = load i32, ptr %t114 %t116 = icmp ult i32 %t111, %t115 br i1 %t116, label %ixok27, label %ixbad28 ixbad28: store i32 763, ptr @lp_site %t117 = call ptr @lp_win_stdio(i32 2) store i32 0, ptr @lp_site call i32 (ptr, ptr, ...) @fprintf(ptr %t117, ptr @.fmt_bounds, ptr @.str1410, i32 %t111, i32 %t115) call void @exit(i32 1) unreachable ixok27: %t118 = getelementptr inbounds ptr, ptr %t113, i32 %t111 %t119 = load ptr, ptr %t118 call void @fn_priv_walk(ptr %t119, ptr @.str1411) %t120 = load i32, ptr %t0 %t121 = add i32 %t120, 1 store i32 %t121, ptr %t0 br label %wcond22 wend24: %t122 = load ptr, ptr @g_g_tests call void @fn_priv_walk_all(ptr %t122) %t123 = load ptr, ptr @g_g_onlisten call void @fn_priv_walk_all(ptr %t123) %t124 = load ptr, ptr @g_g_onspawn call void @fn_priv_walk_all(ptr %t124) %t125 = load ptr, ptr @g_g_ondespawn call void @fn_priv_walk_all(ptr %t125) %t126 = load ptr, ptr @g_g_onattach call void @fn_priv_walk_all(ptr %t126) %t127 = load ptr, ptr @g_g_ondetach call void @fn_priv_walk_all(ptr %t127) %t128 = load ptr, ptr @g_g_onenable call void @fn_priv_walk_all(ptr %t128) %t129 = load ptr, ptr @g_g_ondisable call void @fn_priv_walk_all(ptr %t129) %t130 = load ptr, ptr @g_g_computed call void @fn_priv_walk_all(ptr %t130) %t131 = load ptr, ptr @g_g_scenes call void @fn_priv_walk_all(ptr %t131) %t132 = load ptr, ptr @g_g_events call void @fn_priv_walk_all(ptr %t132) store i32 0, ptr %t0 br label %wcond29 wcond29: %t133 = load i32, ptr %t0 %t134 = load ptr, ptr @g_g_al_target %t135 = getelementptr inbounds %LSlice, ptr %t134, i32 0, i32 1 %t136 = load i32, ptr %t135 %t137 = icmp slt i32 %t133, %t136 %t138 = zext i1 %t137 to i32 %t139 = icmp ne i32 %t138, 0 br i1 %t139, label %wbody30, label %wend31 wbody30: %t140 = load ptr, ptr @g_g_al_target %t141 = load i32, ptr %t0 %t142 = getelementptr inbounds %LSlice, ptr %t140, i32 0, i32 0 %t143 = load ptr, ptr %t142 %t144 = getelementptr inbounds %LSlice, ptr %t140, i32 0, i32 1 %t145 = load i32, ptr %t144 %t146 = icmp ult i32 %t141, %t145 br i1 %t146, label %ixok32, label %ixbad33 ixbad33: store i32 764, ptr @lp_site %t147 = call ptr @lp_win_stdio(i32 2) store i32 0, ptr @lp_site call i32 (ptr, ptr, ...) @fprintf(ptr %t147, ptr @.fmt_bounds, ptr @.str1412, i32 %t141, i32 %t145) call void @exit(i32 1) unreachable ixok32: %t148 = getelementptr inbounds ptr, ptr %t143, i32 %t141 %t149 = load ptr, ptr %t148 %t150 = load ptr, ptr @g_g_al_file %t151 = load i32, ptr %t0 %t152 = getelementptr inbounds %LSlice, ptr %t150, i32 0, i32 0 %t153 = load ptr, ptr %t152 %t154 = getelementptr inbounds %LSlice, ptr %t150, i32 0, i32 1 %t155 = load i32, ptr %t154 %t156 = icmp ult i32 %t151, %t155 br i1 %t156, label %ixok34, label %ixbad35 ixbad35: store i32 765, ptr @lp_site %t157 = call ptr @lp_win_stdio(i32 2) store i32 0, ptr @lp_site call i32 (ptr, ptr, ...) @fprintf(ptr %t157, ptr @.fmt_bounds, ptr @.str1413, i32 %t151, i32 %t155) call void @exit(i32 1) unreachable ixok34: %t158 = getelementptr inbounds ptr, ptr %t153, i32 %t151 %t159 = load ptr, ptr %t158 %t160 = call ptr @fn_priv_find(ptr %t149, ptr %t159, i32 1) store ptr %t160, ptr %t161 %t162 = load ptr, ptr %t161 %t163 = icmp ne ptr %t162, null %t164 = zext i1 %t163 to i32 %t165 = icmp ne i32 %t164, 0 br i1 %t165, label %then36, label %ifend38 then36: %t166 = load ptr, ptr @g_g_al_target %t167 = load i32, ptr %t0 %t168 = getelementptr inbounds %LSlice, ptr %t166, i32 0, i32 0 %t169 = load ptr, ptr %t168 %t170 = getelementptr inbounds %LSlice, ptr %t166, i32 0, i32 1 %t171 = load i32, ptr %t170 %t172 = icmp ult i32 %t167, %t171 br i1 %t172, label %ixok39, label %ixbad40 ixbad40: store i32 766, ptr @lp_site %t173 = call ptr @lp_win_stdio(i32 2) store i32 0, ptr @lp_site call i32 (ptr, ptr, ...) @fprintf(ptr %t173, ptr @.fmt_bounds, ptr @.str1414, i32 %t167, i32 %t171) call void @exit(i32 1) unreachable ixok39: %t174 = getelementptr inbounds ptr, ptr %t169, i32 %t167 %t175 = load ptr, ptr %t161 store ptr %t175, ptr %t174 br label %ifend38 ifend38: %t176 = load i32, ptr %t0 %t177 = add i32 %t176, 1 store i32 %t177, ptr %t0 br label %wcond29 wend31: br label %ret ret: ret void } define i32 @fn_pt_in(ptr %arg_xs, ptr %arg_s) { entry: %retval = alloca i32 %t0 = alloca ptr %t1 = alloca ptr %t6 = alloca i32 store ptr %arg_xs, ptr %t0 store ptr %arg_s, 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 i32 0, 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 %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 %wbody4, label %wend5 wbody4: %t14 = load ptr, ptr %t0 %t15 = load i32, ptr %t6 %t16 = getelementptr inbounds %LSlice, ptr %t14, i32 0, i32 0 %t17 = load ptr, ptr %t16 %t18 = getelementptr inbounds %LSlice, ptr %t14, i32 0, i32 1 %t19 = load i32, ptr %t18 %t20 = icmp ult i32 %t15, %t19 br i1 %t20, label %ixok6, label %ixbad7 ixbad7: store i32 767, ptr @lp_site %t21 = call ptr @lp_win_stdio(i32 2) store i32 0, ptr @lp_site call i32 (ptr, ptr, ...) @fprintf(ptr %t21, ptr @.fmt_bounds, ptr @.str1415, i32 %t15, i32 %t19) call void @exit(i32 1) unreachable ixok6: %t22 = getelementptr inbounds ptr, ptr %t17, i32 %t15 %t23 = load ptr, ptr %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 %then8, label %ifend10 then8: store i32 1, ptr %retval br label %ret ifend10: %t27 = load i32, ptr %t6 %t28 = add i32 %t27, 1 store i32 %t28, ptr %t6 br label %wcond3 wend5: store i32 0, ptr %retval br label %ret ret: %t29 = load i32, ptr %retval ret i32 %t29 } define i32 @fn_pt_pinned(ptr %arg_d) { entry: %retval = alloca i32 %t0 = alloca ptr %t7 = alloca i32 %t24 = alloca i32 %t32 = alloca i32 %t91 = alloca ptr %t98 = alloca i32 store ptr %arg_d, ptr %t0 %t1 = load ptr, ptr %t0 %t2 = getelementptr inbounds %Cmp_Node, ptr %t1, i32 0, i32 11 %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: store i32 1, ptr %retval br label %ret ifend2: %t8 = load ptr, ptr @g_g_cm_name %t9 = load ptr, ptr %t0 %t10 = getelementptr inbounds %Cmp_Node, ptr %t9, i32 0, i32 1 %t11 = load ptr, ptr %t10 %t12 = call i32 @fn_pt_in(ptr %t8, ptr %t11) %t13 = icmp ne i32 %t12, 0 %t14 = zext i1 %t13 to i32 store i32 %t14, ptr %t7 br i1 %t13, label %scend4, label %sc3 sc3: %t15 = load ptr, ptr @g_g_vw_name %t16 = load ptr, ptr %t0 %t17 = getelementptr inbounds %Cmp_Node, ptr %t16, i32 0, i32 1 %t18 = load ptr, ptr %t17 %t19 = call i32 @fn_pt_in(ptr %t15, ptr %t18) %t20 = icmp ne i32 %t19, 0 %t21 = zext i1 %t20 to i32 store i32 %t21, ptr %t7 br label %scend4 scend4: %t22 = load i32, ptr %t7 %t23 = icmp ne i32 %t22, 0 br i1 %t23, label %then5, label %ifend7 then5: store i32 1, ptr %retval br label %ret ifend7: store i32 0, ptr %t24 br label %wcond8 wcond8: %t25 = load i32, ptr %t24 %t26 = load ptr, ptr @g_g_gi_args %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 %wbody9, label %wend10 wbody9: %t33 = load ptr, ptr @g_g_gi_args %t34 = load i32, ptr %t24 %t35 = getelementptr inbounds %LSlice, ptr %t33, i32 0, i32 0 %t36 = load ptr, ptr %t35 %t37 = getelementptr inbounds %LSlice, ptr %t33, i32 0, i32 1 %t38 = load i32, ptr %t37 %t39 = icmp ult i32 %t34, %t38 br i1 %t39, label %ixok11, label %ixbad12 ixbad12: store i32 768, ptr @lp_site %t40 = call ptr @lp_win_stdio(i32 2) store i32 0, ptr @lp_site call i32 (ptr, ptr, ...) @fprintf(ptr %t40, ptr @.fmt_bounds, ptr @.str1418, i32 %t34, i32 %t38) call void @exit(i32 1) unreachable ixok11: %t41 = getelementptr inbounds ptr, ptr %t36, i32 %t34 %t42 = load ptr, ptr %t41 store i32 769, ptr @lp_site %t43 = call ptr @lp_str_concat(ptr @.str1417, ptr %t42) store i32 0, ptr @lp_site store i32 770, ptr @lp_site %t44 = call ptr @lp_str_concat(ptr %t43, ptr @.str1420) store i32 0, ptr @lp_site call void @lp_free(ptr %t43) %t45 = load ptr, ptr %t0 %t46 = getelementptr inbounds %Cmp_Node, ptr %t45, i32 0, i32 1 %t47 = load ptr, ptr %t46 store i32 771, ptr @lp_site %t48 = call ptr @lp_str_concat(ptr @.str1421, ptr %t47) store i32 0, ptr @lp_site store i32 772, ptr @lp_site %t49 = call ptr @lp_str_concat(ptr %t48, ptr @.str1422) store i32 0, ptr @lp_site call void @lp_free(ptr %t48) %t50 = call i32 @fn_has_sub(ptr %t44, ptr %t49) %t51 = icmp ne i32 %t50, 0 %t52 = zext i1 %t51 to i32 store i32 %t52, ptr %t32 br i1 %t51, label %scend14, label %sc13 sc13: %t53 = load ptr, ptr @g_g_gi_args %t54 = load i32, ptr %t24 %t55 = getelementptr inbounds %LSlice, ptr %t53, i32 0, i32 0 %t56 = load ptr, ptr %t55 %t57 = getelementptr inbounds %LSlice, ptr %t53, i32 0, i32 1 %t58 = load i32, ptr %t57 %t59 = icmp ult i32 %t54, %t58 br i1 %t59, label %ixok15, label %ixbad16 ixbad16: store i32 773, ptr @lp_site %t60 = call ptr @lp_win_stdio(i32 2) store i32 0, ptr @lp_site call i32 (ptr, ptr, ...) @fprintf(ptr %t60, ptr @.fmt_bounds, ptr @.str1423, i32 %t54, i32 %t58) call void @exit(i32 1) unreachable ixok15: %t61 = getelementptr inbounds ptr, ptr %t56, i32 %t54 %t62 = load ptr, ptr %t61 %t63 = load ptr, ptr %t0 %t64 = getelementptr inbounds %Cmp_Node, ptr %t63, i32 0, i32 1 %t65 = load ptr, ptr %t64 store i32 774, ptr @lp_site %t66 = call ptr @lp_str_concat(ptr @.str1424, ptr %t65) store i32 0, ptr @lp_site %t67 = call i32 @fn_has_sub(ptr %t62, ptr %t66) %t68 = icmp ne i32 %t67, 0 %t69 = zext i1 %t68 to i32 store i32 %t69, ptr %t32 br label %scend14 scend14: %t70 = load i32, ptr %t32 %t71 = icmp ne i32 %t70, 0 br i1 %t71, label %then17, label %ifend19 then17: store i32 1, ptr %retval br label %ret ifend19: %t72 = load i32, ptr %t24 %t73 = add i32 %t72, 1 store i32 %t73, ptr %t24 br label %wcond8 wend10: store i32 0, ptr %t24 br label %wcond20 wcond20: %t74 = load i32, ptr %t24 %t75 = load ptr, ptr @g_prog %t76 = getelementptr inbounds %LSlice, ptr %t75, i32 0, i32 1 %t77 = load i32, ptr %t76 %t78 = icmp slt i32 %t74, %t77 %t79 = zext i1 %t78 to i32 %t80 = icmp ne i32 %t79, 0 br i1 %t80, label %wbody21, label %wend22 wbody21: %t81 = load ptr, ptr @g_prog %t82 = load i32, ptr %t24 %t83 = getelementptr inbounds %LSlice, ptr %t81, i32 0, i32 0 %t84 = load ptr, ptr %t83 %t85 = getelementptr inbounds %LSlice, ptr %t81, i32 0, i32 1 %t86 = load i32, ptr %t85 %t87 = icmp ult i32 %t82, %t86 br i1 %t87, label %ixok23, label %ixbad24 ixbad24: store i32 775, ptr @lp_site %t88 = call ptr @lp_win_stdio(i32 2) store i32 0, ptr @lp_site call i32 (ptr, ptr, ...) @fprintf(ptr %t88, ptr @.fmt_bounds, ptr @.str1425, i32 %t82, i32 %t86) call void @exit(i32 1) unreachable ixok23: %t89 = getelementptr inbounds ptr, ptr %t84, i32 %t82 %t90 = load ptr, ptr %t89 store ptr %t90, ptr %t91 %t92 = load ptr, ptr %t91 %t93 = getelementptr inbounds %Cmp_Node, ptr %t92, i32 0, i32 0 %t94 = load i32, ptr %t93 %t95 = icmp eq i32 %t94, 10 %t96 = zext i1 %t95 to i32 %t97 = icmp ne i32 %t96, 0 br i1 %t97, label %then25, label %ifend27 then25: store i32 0, ptr %t98 br label %wcond28 wcond28: %t99 = load i32, ptr %t98 %t100 = load ptr, ptr %t91 %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 1 %t104 = load i32, ptr %t103 %t105 = icmp slt i32 %t99, %t104 %t106 = zext i1 %t105 to i32 %t107 = icmp ne i32 %t106, 0 br i1 %t107, label %wbody29, label %wend30 wbody29: %t108 = load ptr, ptr %t91 %t109 = getelementptr inbounds %Cmp_Node, ptr %t108, i32 0, i32 7 %t110 = load ptr, ptr %t109 %t111 = load i32, ptr %t98 %t112 = getelementptr inbounds %LSlice, ptr %t110, i32 0, i32 0 %t113 = load ptr, ptr %t112 %t114 = getelementptr inbounds %LSlice, ptr %t110, i32 0, i32 1 %t115 = load i32, ptr %t114 %t116 = icmp ult i32 %t111, %t115 br i1 %t116, label %ixok31, label %ixbad32 ixbad32: store i32 776, ptr @lp_site %t117 = call ptr @lp_win_stdio(i32 2) store i32 0, ptr @lp_site call i32 (ptr, ptr, ...) @fprintf(ptr %t117, ptr @.fmt_bounds, ptr @.str1426, i32 %t111, i32 %t115) call void @exit(i32 1) unreachable ixok31: %t118 = getelementptr inbounds ptr, ptr %t113, i32 %t111 %t119 = load ptr, ptr %t118 %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 1 %t124 = load ptr, ptr %t123 %t125 = call i32 @lp_str_eq(ptr %t121, ptr %t124) %t126 = icmp ne i32 %t125, 0 br i1 %t126, label %then33, label %ifend35 then33: store i32 1, ptr %retval br label %ret ifend35: %t127 = load i32, ptr %t98 %t128 = add i32 %t127, 1 store i32 %t128, ptr %t98 br label %wcond28 wend30: br label %ifend27 ifend27: %t129 = load i32, ptr %t24 %t130 = add i32 %t129, 1 store i32 %t130, ptr %t24 br label %wcond20 wend22: store i32 0, ptr %retval br label %ret ret: %t131 = load i32, ptr %retval ret i32 %t131 } define i32 @fn_pt_is_record(i32 %arg_k) { entry: %retval = alloca i32 %t0 = alloca i32 %t1 = alloca i32 store i32 %arg_k, ptr %t0 %t2 = load i32, ptr %t0 %t3 = icmp eq i32 %t2, 8 %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, 0 %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 void @fn_pt_records() { entry: %t0 = alloca i32 %t1 = alloca i32 %t28 = alloca ptr %t33 = alloca ptr %t34 = alloca i32 %t35 = alloca i32 %t36 = alloca i32 %t71 = alloca i32 %t72 = alloca i32 %t73 = alloca i32 %t99 = alloca ptr %t100 = alloca i32 %t101 = alloca i32 %t102 = alloca i32 %t142 = alloca i32 store i32 0, ptr %t0 br label %wcond0 wcond0: %t2 = load i32, ptr %t0 %t3 = load i32, ptr @g_g_prog_user_end %t4 = icmp slt i32 %t2, %t3 %t5 = zext i1 %t4 to i32 %t6 = icmp ne i32 %t5, 0 %t7 = zext i1 %t6 to i32 store i32 %t7, ptr %t1 br i1 %t6, label %sc3, label %scend4 sc3: %t8 = load i32, ptr %t0 %t9 = load ptr, ptr @g_prog %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 %t15 = zext i1 %t14 to i32 store i32 %t15, ptr %t1 br label %scend4 scend4: %t16 = load i32, ptr %t1 %t17 = icmp ne i32 %t16, 0 br i1 %t17, label %wbody1, label %wend2 wbody1: %t18 = load ptr, ptr @g_prog %t19 = load i32, ptr %t0 %t20 = getelementptr inbounds %LSlice, ptr %t18, i32 0, i32 0 %t21 = load ptr, ptr %t20 %t22 = getelementptr inbounds %LSlice, ptr %t18, i32 0, i32 1 %t23 = load i32, ptr %t22 %t24 = icmp ult i32 %t19, %t23 br i1 %t24, label %ixok5, label %ixbad6 ixbad6: store i32 777, ptr @lp_site %t25 = call ptr @lp_win_stdio(i32 2) store i32 0, ptr @lp_site call i32 (ptr, ptr, ...) @fprintf(ptr %t25, ptr @.fmt_bounds, ptr @.str1427, i32 %t19, i32 %t23) call void @exit(i32 1) unreachable ixok5: %t26 = getelementptr inbounds ptr, ptr %t21, i32 %t19 %t27 = load ptr, ptr %t26 store ptr %t27, ptr %t28 %t29 = load ptr, ptr %t28 %t30 = getelementptr inbounds %Cmp_Node, ptr %t29, i32 0, i32 9 %t31 = load ptr, ptr %t30 %t32 = call ptr @fn_module_of(ptr %t31) store ptr %t32, ptr %t33 %t37 = load ptr, ptr %t28 %t38 = getelementptr inbounds %Cmp_Node, ptr %t37, i32 0, i32 0 %t39 = load i32, ptr %t38 %t40 = call i32 @fn_pt_is_record(i32 %t39) %t41 = icmp ne i32 %t40, 0 %t42 = zext i1 %t41 to i32 store i32 %t42, ptr %t36 br i1 %t41, label %sc7, label %scend8 sc7: %t43 = load ptr, ptr %t28 %t44 = getelementptr inbounds %Cmp_Node, ptr %t43, i32 0, i32 10 %t45 = load i32, ptr %t44 %t46 = icmp ne i32 %t45, 1 %t47 = zext i1 %t46 to i32 %t48 = icmp ne i32 %t47, 0 %t49 = zext i1 %t48 to i32 store i32 %t49, ptr %t36 br label %scend8 scend8: %t50 = load i32, ptr %t36 %t51 = icmp ne i32 %t50, 0 %t52 = zext i1 %t51 to i32 store i32 %t52, ptr %t35 br i1 %t51, label %sc9, label %scend10 sc9: %t53 = load ptr, ptr %t33 %t54 = call i32 @lp_str_eq(ptr %t53, ptr @.str1429) %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 %t35 br label %scend10 scend10: %t59 = load i32, ptr %t35 %t60 = icmp ne i32 %t59, 0 %t61 = zext i1 %t60 to i32 store i32 %t61, ptr %t34 br i1 %t60, label %sc11, label %scend12 sc11: %t62 = load ptr, ptr %t28 %t63 = getelementptr inbounds %Cmp_Node, ptr %t62, i32 0, i32 1 %t64 = load ptr, ptr %t63 %t65 = icmp ne ptr %t64, null %t66 = zext i1 %t65 to i32 %t67 = icmp ne i32 %t66, 0 %t68 = zext i1 %t67 to i32 store i32 %t68, ptr %t34 br label %scend12 scend12: %t69 = load i32, ptr %t34 %t70 = icmp ne i32 %t69, 0 br i1 %t70, label %then13, label %ifend15 then13: store i32 0, ptr %t71 store i32 0, ptr %t72 br label %wcond16 wcond16: %t74 = load i32, ptr %t72 %t75 = load ptr, ptr @g_prog %t76 = getelementptr inbounds %LSlice, ptr %t75, i32 0, i32 1 %t77 = load i32, ptr %t76 %t78 = icmp slt i32 %t74, %t77 %t79 = zext i1 %t78 to i32 %t80 = icmp ne i32 %t79, 0 %t81 = zext i1 %t80 to i32 store i32 %t81, ptr %t73 br i1 %t80, label %sc19, label %scend20 sc19: %t82 = load i32, ptr %t71 %t83 = icmp eq i32 %t82, 0 %t84 = zext i1 %t83 to i32 %t85 = icmp ne i32 %t84, 0 %t86 = zext i1 %t85 to i32 store i32 %t86, ptr %t73 br label %scend20 scend20: %t87 = load i32, ptr %t73 %t88 = icmp ne i32 %t87, 0 br i1 %t88, label %wbody17, label %wend18 wbody17: %t89 = load ptr, ptr @g_prog %t90 = load i32, ptr %t72 %t91 = getelementptr inbounds %LSlice, ptr %t89, i32 0, i32 0 %t92 = load ptr, ptr %t91 %t93 = getelementptr inbounds %LSlice, ptr %t89, i32 0, i32 1 %t94 = load i32, ptr %t93 %t95 = icmp ult i32 %t90, %t94 br i1 %t95, label %ixok21, label %ixbad22 ixbad22: store i32 778, ptr @lp_site %t96 = call ptr @lp_win_stdio(i32 2) store i32 0, ptr @lp_site call i32 (ptr, ptr, ...) @fprintf(ptr %t96, ptr @.fmt_bounds, ptr @.str1430, i32 %t90, i32 %t94) call void @exit(i32 1) unreachable ixok21: %t97 = getelementptr inbounds ptr, ptr %t92, i32 %t90 %t98 = load ptr, ptr %t97 store ptr %t98, ptr %t99 %t103 = load i32, ptr %t72 %t104 = load i32, ptr %t0 %t105 = icmp ne i32 %t103, %t104 %t106 = zext i1 %t105 to i32 %t107 = icmp ne i32 %t106, 0 %t108 = zext i1 %t107 to i32 store i32 %t108, ptr %t102 br i1 %t107, label %sc23, label %scend24 sc23: %t109 = load ptr, ptr %t99 %t110 = getelementptr inbounds %Cmp_Node, ptr %t109, i32 0, i32 0 %t111 = load i32, ptr %t110 %t112 = call i32 @fn_pt_is_record(i32 %t111) %t113 = icmp ne i32 %t112, 0 %t114 = zext i1 %t113 to i32 store i32 %t114, ptr %t102 br label %scend24 scend24: %t115 = load i32, ptr %t102 %t116 = icmp ne i32 %t115, 0 %t117 = zext i1 %t116 to i32 store i32 %t117, ptr %t101 br i1 %t116, label %sc25, label %scend26 sc25: %t118 = load ptr, ptr %t99 %t119 = getelementptr inbounds %Cmp_Node, ptr %t118, i32 0, i32 1 %t120 = load ptr, ptr %t119 %t121 = load ptr, ptr %t28 %t122 = getelementptr inbounds %Cmp_Node, ptr %t121, i32 0, i32 1 %t123 = load ptr, ptr %t122 %t124 = call i32 @lp_str_eq(ptr %t120, ptr %t123) %t125 = icmp ne i32 %t124, 0 %t126 = zext i1 %t125 to i32 store i32 %t126, ptr %t101 br label %scend26 scend26: %t127 = load i32, ptr %t101 %t128 = icmp ne i32 %t127, 0 %t129 = zext i1 %t128 to i32 store i32 %t129, ptr %t100 br i1 %t128, label %sc27, label %scend28 sc27: %t130 = load i32, ptr %t72 %t131 = call ptr @fn_priv_mod(i32 %t130) %t132 = load ptr, ptr %t33 %t133 = call i32 @lp_str_eq(ptr %t131, ptr %t132) %t134 = icmp eq i32 %t133, 0 %t135 = zext i1 %t134 to i32 %t136 = icmp ne i32 %t135, 0 %t137 = zext i1 %t136 to i32 store i32 %t137, ptr %t100 br label %scend28 scend28: %t138 = load i32, ptr %t100 %t139 = icmp ne i32 %t138, 0 br i1 %t139, label %then29, label %ifend31 then29: store i32 1, ptr %t71 br label %ifend31 ifend31: %t140 = load i32, ptr %t72 %t141 = add i32 %t140, 1 store i32 %t141, ptr %t72 br label %wcond16 wend18: %t143 = load i32, ptr %t71 %t144 = icmp ne i32 %t143, 0 %t145 = zext i1 %t144 to i32 store i32 %t145, ptr %t142 br i1 %t144, label %sc32, label %scend33 sc32: %t146 = load ptr, ptr %t28 %t147 = call i32 @fn_pt_pinned(ptr %t146) %t148 = icmp eq i32 %t147, 0 %t149 = zext i1 %t148 to i32 %t150 = icmp ne i32 %t149, 0 %t151 = zext i1 %t150 to i32 store i32 %t151, ptr %t142 br label %scend33 scend33: %t152 = load i32, ptr %t142 %t153 = icmp ne i32 %t152, 0 br i1 %t153, label %then34, label %ifend36 then34: %t154 = load ptr, ptr @g_g_rt_mod %t155 = load ptr, ptr %t33 %t156 = getelementptr inbounds %LSlice, ptr %t154, i32 0, i32 1 %t157 = getelementptr inbounds %LSlice, ptr %t154, i32 0, i32 2 %t158 = getelementptr inbounds %LSlice, ptr %t154, i32 0, i32 0 %t159 = load i32, ptr %t156 %t160 = load i32, ptr %t157 %t161 = icmp sge i32 %t159, %t160 br i1 %t161, label %grow37, label %put38 grow37: %t162 = mul i32 %t160, 2 %t163 = icmp eq i32 %t160, 0 %t164 = select i1 %t163, i32 8, i32 %t162 %t165 = getelementptr ptr, ptr null, i32 1 %t166 = ptrtoint ptr %t165 to i64 %t167 = zext i32 %t164 to i64 %t168 = mul i64 %t167, %t166 %t169 = load ptr, ptr %t158 store i32 779, ptr @lp_site %t170 = call ptr @lp_realloc(ptr %t169, i64 %t168) store i32 0, ptr @lp_site store ptr %t170, ptr %t158 store i32 %t164, ptr %t157 br label %put38 put38: %t171 = load ptr, ptr %t158 %t172 = getelementptr inbounds ptr, ptr %t171, i32 %t159 store ptr %t155, ptr %t172 %t173 = add i32 %t159, 1 store i32 %t173, ptr %t156 %t174 = load ptr, ptr @g_g_rt_old %t175 = load ptr, ptr %t28 %t176 = getelementptr inbounds %Cmp_Node, ptr %t175, i32 0, i32 1 %t177 = load ptr, ptr %t176 %t178 = getelementptr inbounds %LSlice, ptr %t174, i32 0, i32 1 %t179 = getelementptr inbounds %LSlice, ptr %t174, i32 0, i32 2 %t180 = getelementptr inbounds %LSlice, ptr %t174, i32 0, i32 0 %t181 = load i32, ptr %t178 %t182 = load i32, ptr %t179 %t183 = icmp sge i32 %t181, %t182 br i1 %t183, label %grow39, label %put40 grow39: %t184 = mul i32 %t182, 2 %t185 = icmp eq i32 %t182, 0 %t186 = select i1 %t185, i32 8, i32 %t184 %t187 = getelementptr ptr, ptr null, i32 1 %t188 = ptrtoint ptr %t187 to i64 %t189 = zext i32 %t186 to i64 %t190 = mul i64 %t189, %t188 %t191 = load ptr, ptr %t180 store i32 780, ptr @lp_site %t192 = call ptr @lp_realloc(ptr %t191, i64 %t190) store i32 0, ptr @lp_site store ptr %t192, ptr %t180 store i32 %t186, ptr %t179 br label %put40 put40: %t193 = load ptr, ptr %t180 %t194 = getelementptr inbounds ptr, ptr %t193, i32 %t181 store ptr %t177, ptr %t194 %t195 = add i32 %t181, 1 store i32 %t195, ptr %t178 %t196 = load ptr, ptr @g_g_rt_new %t197 = load ptr, ptr %t28 %t198 = getelementptr inbounds %Cmp_Node, ptr %t197, i32 0, i32 1 %t199 = load ptr, ptr %t198 store i32 781, ptr @lp_site %t200 = call ptr @lp_str_concat(ptr %t199, ptr @.str1431) store i32 0, ptr @lp_site %t201 = load ptr, ptr %t33 store i32 782, ptr @lp_site %t202 = call ptr @lp_str_concat(ptr %t200, ptr %t201) store i32 0, ptr @lp_site call void @lp_free(ptr %t200) %t203 = getelementptr inbounds %LSlice, ptr %t196, i32 0, i32 1 %t204 = getelementptr inbounds %LSlice, ptr %t196, i32 0, i32 2 %t205 = getelementptr inbounds %LSlice, ptr %t196, i32 0, i32 0 %t206 = load i32, ptr %t203 %t207 = load i32, ptr %t204 %t208 = icmp sge i32 %t206, %t207 br i1 %t208, label %grow41, label %put42 grow41: %t209 = mul i32 %t207, 2 %t210 = icmp eq i32 %t207, 0 %t211 = select i1 %t210, i32 8, i32 %t209 %t212 = getelementptr ptr, ptr null, i32 1 %t213 = ptrtoint ptr %t212 to i64 %t214 = zext i32 %t211 to i64 %t215 = mul i64 %t214, %t213 %t216 = load ptr, ptr %t205 store i32 783, ptr @lp_site %t217 = call ptr @lp_realloc(ptr %t216, i64 %t215) store i32 0, ptr @lp_site store ptr %t217, ptr %t205 store i32 %t211, ptr %t204 br label %put42 put42: %t218 = load ptr, ptr %t205 %t219 = getelementptr inbounds ptr, ptr %t218, i32 %t206 store ptr %t202, ptr %t219 %t220 = add i32 %t206, 1 store i32 %t220, ptr %t203 br label %ifend36 ifend36: br label %ifend15 ifend15: %t221 = load i32, ptr %t0 %t222 = add i32 %t221, 1 store i32 %t222, ptr %t0 br label %wcond0 wend2: br label %ret ret: ret void } define void @fn_pt_events() { entry: %t0 = alloca i32 %t18 = alloca ptr %t19 = alloca ptr %t30 = alloca i32 %t46 = alloca i32 %t47 = alloca i32 %t65 = alloca ptr %t66 = alloca ptr %t77 = alloca i32 %t78 = 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 = load i32, ptr %t0 %t10 = getelementptr inbounds %LSlice, ptr %t8, i32 0, i32 0 %t11 = load ptr, ptr %t10 %t12 = getelementptr inbounds %LSlice, ptr %t8, i32 0, i32 1 %t13 = load i32, ptr %t12 %t14 = icmp ult i32 %t9, %t13 br i1 %t14, label %ixok3, label %ixbad4 ixbad4: store i32 784, ptr @lp_site %t15 = call ptr @lp_win_stdio(i32 2) store i32 0, ptr @lp_site call i32 (ptr, ptr, ...) @fprintf(ptr %t15, ptr @.fmt_bounds, ptr @.str1432, i32 %t9, i32 %t13) call void @exit(i32 1) unreachable ixok3: %t16 = getelementptr inbounds ptr, ptr %t11, i32 %t9 %t17 = load ptr, ptr %t16 store ptr %t17, ptr %t18 store ptr @.str1434, ptr %t19 %t20 = load ptr, ptr %t18 %t21 = getelementptr inbounds %Cmp_Node, ptr %t20, i32 0, i32 9 %t22 = load ptr, ptr %t21 %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: %t26 = load ptr, ptr %t18 %t27 = getelementptr inbounds %Cmp_Node, ptr %t26, i32 0, i32 9 %t28 = load ptr, ptr %t27 %t29 = call ptr @fn_module_of(ptr %t28) store ptr %t29, ptr %t19 br label %ifend7 ifend7: %t31 = load ptr, ptr %t18 %t32 = getelementptr inbounds %Cmp_Node, ptr %t31, i32 0, i32 10 %t33 = load i32, ptr %t32 %t34 = icmp ne i32 %t33, 1 %t35 = zext i1 %t34 to i32 %t36 = icmp ne i32 %t35, 0 %t37 = zext i1 %t36 to i32 store i32 %t37, ptr %t30 br i1 %t36, label %sc8, label %scend9 sc8: %t38 = load ptr, ptr %t19 %t39 = call i32 @lp_str_eq(ptr %t38, ptr @.str1435) %t40 = icmp eq i32 %t39, 0 %t41 = zext i1 %t40 to i32 %t42 = icmp ne i32 %t41, 0 %t43 = zext i1 %t42 to i32 store i32 %t43, ptr %t30 br label %scend9 scend9: %t44 = load i32, ptr %t30 %t45 = icmp ne i32 %t44, 0 br i1 %t45, label %then10, label %ifend12 then10: store i32 0, ptr %t46 store i32 0, ptr %t47 br label %wcond13 wcond13: %t48 = load i32, ptr %t47 %t49 = load ptr, ptr @g_g_events %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 %wbody14, label %wend15 wbody14: %t55 = load ptr, ptr @g_g_events %t56 = load i32, ptr %t47 %t57 = getelementptr inbounds %LSlice, ptr %t55, i32 0, i32 0 %t58 = load ptr, ptr %t57 %t59 = getelementptr inbounds %LSlice, ptr %t55, i32 0, i32 1 %t60 = load i32, ptr %t59 %t61 = icmp ult i32 %t56, %t60 br i1 %t61, label %ixok16, label %ixbad17 ixbad17: store i32 785, ptr @lp_site %t62 = call ptr @lp_win_stdio(i32 2) store i32 0, ptr @lp_site call i32 (ptr, ptr, ...) @fprintf(ptr %t62, ptr @.fmt_bounds, ptr @.str1436, i32 %t56, i32 %t60) call void @exit(i32 1) unreachable ixok16: %t63 = getelementptr inbounds ptr, ptr %t58, i32 %t56 %t64 = load ptr, ptr %t63 store ptr %t64, ptr %t65 store ptr @.str1437, ptr %t66 %t67 = load ptr, ptr %t65 %t68 = getelementptr inbounds %Cmp_Node, ptr %t67, i32 0, i32 9 %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 %then18, label %ifend20 then18: %t73 = load ptr, ptr %t65 %t74 = getelementptr inbounds %Cmp_Node, ptr %t73, i32 0, i32 9 %t75 = load ptr, ptr %t74 %t76 = call ptr @fn_module_of(ptr %t75) store ptr %t76, ptr %t66 br label %ifend20 ifend20: %t79 = load i32, ptr %t47 %t80 = load i32, ptr %t0 %t81 = icmp ne i32 %t79, %t80 %t82 = zext i1 %t81 to i32 %t83 = icmp ne i32 %t82, 0 %t84 = zext i1 %t83 to i32 store i32 %t84, ptr %t78 br i1 %t83, label %sc21, label %scend22 sc21: %t85 = load ptr, ptr %t65 %t86 = getelementptr inbounds %Cmp_Node, ptr %t85, i32 0, i32 1 %t87 = load ptr, ptr %t86 %t88 = load ptr, ptr %t18 %t89 = getelementptr inbounds %Cmp_Node, ptr %t88, i32 0, i32 1 %t90 = load ptr, ptr %t89 %t91 = call i32 @lp_str_eq(ptr %t87, ptr %t90) %t92 = icmp ne i32 %t91, 0 %t93 = zext i1 %t92 to i32 store i32 %t93, ptr %t78 br label %scend22 scend22: %t94 = load i32, ptr %t78 %t95 = icmp ne i32 %t94, 0 %t96 = zext i1 %t95 to i32 store i32 %t96, ptr %t77 br i1 %t95, label %sc23, label %scend24 sc23: %t97 = load ptr, ptr %t66 %t98 = load ptr, ptr %t19 %t99 = call i32 @lp_str_eq(ptr %t97, ptr %t98) %t100 = icmp eq i32 %t99, 0 %t101 = zext i1 %t100 to i32 %t102 = icmp ne i32 %t101, 0 %t103 = zext i1 %t102 to i32 store i32 %t103, ptr %t77 br label %scend24 scend24: %t104 = load i32, ptr %t77 %t105 = icmp ne i32 %t104, 0 br i1 %t105, label %then25, label %ifend27 then25: store i32 1, ptr %t46 br label %ifend27 ifend27: %t106 = load i32, ptr %t47 %t107 = add i32 %t106, 1 store i32 %t107, ptr %t47 br label %wcond13 wend15: %t108 = load i32, ptr %t46 %t109 = icmp ne i32 %t108, 0 br i1 %t109, label %then28, label %ifend30 then28: %t110 = load ptr, ptr @g_g_re_mod %t111 = load ptr, ptr %t19 %t112 = getelementptr inbounds %LSlice, ptr %t110, i32 0, i32 1 %t113 = getelementptr inbounds %LSlice, ptr %t110, i32 0, i32 2 %t114 = getelementptr inbounds %LSlice, ptr %t110, i32 0, i32 0 %t115 = load i32, ptr %t112 %t116 = load i32, ptr %t113 %t117 = icmp sge i32 %t115, %t116 br i1 %t117, label %grow31, label %put32 grow31: %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 store i32 786, ptr @lp_site %t126 = call ptr @lp_realloc(ptr %t125, i64 %t124) store i32 0, ptr @lp_site store ptr %t126, ptr %t114 store i32 %t120, ptr %t113 br label %put32 put32: %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 ptr, ptr @g_g_re_old %t131 = load ptr, ptr %t18 %t132 = getelementptr inbounds %Cmp_Node, ptr %t131, i32 0, i32 1 %t133 = load ptr, ptr %t132 %t134 = getelementptr inbounds %LSlice, ptr %t130, i32 0, i32 1 %t135 = getelementptr inbounds %LSlice, ptr %t130, i32 0, i32 2 %t136 = getelementptr inbounds %LSlice, ptr %t130, i32 0, i32 0 %t137 = load i32, ptr %t134 %t138 = load i32, ptr %t135 %t139 = icmp sge i32 %t137, %t138 br i1 %t139, label %grow33, label %put34 grow33: %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 store i32 787, ptr @lp_site %t148 = call ptr @lp_realloc(ptr %t147, i64 %t146) store i32 0, ptr @lp_site store ptr %t148, ptr %t136 store i32 %t142, ptr %t135 br label %put34 put34: %t149 = load ptr, ptr %t136 %t150 = getelementptr inbounds ptr, ptr %t149, i32 %t137 store ptr %t133, ptr %t150 %t151 = add i32 %t137, 1 store i32 %t151, ptr %t134 %t152 = load ptr, ptr @g_g_re_new %t153 = load ptr, ptr %t18 %t154 = getelementptr inbounds %Cmp_Node, ptr %t153, i32 0, i32 1 %t155 = load ptr, ptr %t154 store i32 788, ptr @lp_site %t156 = call ptr @lp_str_concat(ptr %t155, ptr @.str1438) store i32 0, ptr @lp_site %t157 = load ptr, ptr %t19 store i32 789, ptr @lp_site %t158 = call ptr @lp_str_concat(ptr %t156, ptr %t157) store i32 0, ptr @lp_site call void @lp_free(ptr %t156) %t159 = getelementptr inbounds %LSlice, ptr %t152, i32 0, i32 1 %t160 = getelementptr inbounds %LSlice, ptr %t152, i32 0, i32 2 %t161 = getelementptr inbounds %LSlice, ptr %t152, i32 0, i32 0 %t162 = load i32, ptr %t159 %t163 = load i32, ptr %t160 %t164 = icmp sge i32 %t162, %t163 br i1 %t164, label %grow35, label %put36 grow35: %t165 = mul i32 %t163, 2 %t166 = icmp eq i32 %t163, 0 %t167 = select i1 %t166, i32 8, i32 %t165 %t168 = getelementptr ptr, ptr null, i32 1 %t169 = ptrtoint ptr %t168 to i64 %t170 = zext i32 %t167 to i64 %t171 = mul i64 %t170, %t169 %t172 = load ptr, ptr %t161 store i32 790, ptr @lp_site %t173 = call ptr @lp_realloc(ptr %t172, i64 %t171) store i32 0, ptr @lp_site store ptr %t173, ptr %t161 store i32 %t167, ptr %t160 br label %put36 put36: %t174 = load ptr, ptr %t161 %t175 = getelementptr inbounds ptr, ptr %t174, i32 %t162 store ptr %t158, ptr %t175 %t176 = add i32 %t162, 1 store i32 %t176, ptr %t159 br label %ifend30 ifend30: br label %ifend12 ifend12: %t177 = load i32, ptr %t0 %t178 = add i32 %t177, 1 store i32 %t178, ptr %t0 br label %wcond0 wend2: br label %ret ret: ret void } define i32 @fn_pt_id_ch(i32 %arg_c) { entry: %retval = alloca i32 %t0 = alloca i32 %t1 = alloca i32 %t2 = alloca i32 %t3 = alloca i32 %t4 = alloca i32 %t18 = alloca i32 %t35 = alloca i32 store i32 %arg_c, ptr %t0 %t5 = load i32, ptr %t0 %t6 = icmp sge i32 %t5, 97 %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 %sc0, label %scend1 sc0: %t10 = load i32, ptr %t0 %t11 = icmp sle i32 %t10, 122 %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: %t19 = load i32, ptr %t0 %t20 = icmp sge i32 %t19, 65 %t21 = zext i1 %t20 to i32 %t22 = icmp ne i32 %t21, 0 %t23 = zext i1 %t22 to i32 store i32 %t23, ptr %t18 br i1 %t22, label %sc4, label %scend5 sc4: %t24 = load i32, ptr %t0 %t25 = icmp sle i32 %t24, 90 %t26 = zext i1 %t25 to i32 %t27 = icmp ne i32 %t26, 0 %t28 = zext i1 %t27 to i32 store i32 %t28, ptr %t18 br label %scend5 scend5: %t29 = load i32, ptr %t18 %t30 = icmp ne i32 %t29, 0 %t31 = zext i1 %t30 to i32 store i32 %t31, ptr %t3 br label %scend3 scend3: %t32 = load i32, ptr %t3 %t33 = icmp ne i32 %t32, 0 %t34 = zext i1 %t33 to i32 store i32 %t34, ptr %t2 br i1 %t33, label %scend7, label %sc6 sc6: %t36 = load i32, ptr %t0 %t37 = icmp sge i32 %t36, 48 %t38 = zext i1 %t37 to i32 %t39 = icmp ne i32 %t38, 0 %t40 = zext i1 %t39 to i32 store i32 %t40, ptr %t35 br i1 %t39, label %sc8, label %scend9 sc8: %t41 = load i32, ptr %t0 %t42 = icmp sle i32 %t41, 57 %t43 = zext i1 %t42 to i32 %t44 = icmp ne i32 %t43, 0 %t45 = zext i1 %t44 to i32 store i32 %t45, ptr %t35 br label %scend9 scend9: %t46 = load i32, ptr %t35 %t47 = icmp ne i32 %t46, 0 %t48 = zext i1 %t47 to i32 store i32 %t48, ptr %t2 br label %scend7 scend7: %t49 = load i32, ptr %t2 %t50 = icmp ne i32 %t49, 0 %t51 = zext i1 %t50 to i32 store i32 %t51, ptr %t1 br i1 %t50, label %scend11, label %sc10 sc10: %t52 = load i32, ptr %t0 %t53 = icmp eq i32 %t52, 95 %t54 = zext i1 %t53 to i32 %t55 = icmp ne i32 %t54, 0 %t56 = zext i1 %t55 to i32 store i32 %t56, ptr %t1 br label %scend11 scend11: %t57 = load i32, ptr %t1 store i32 %t57, ptr %retval br label %ret ret: %t58 = load i32, ptr %retval ret i32 %t58 } define ptr @fn_pt_rewrite(ptr %arg_t, ptr %arg_old, ptr %arg_nw) { entry: %retval = alloca ptr %t0 = alloca ptr %t1 = alloca ptr %t2 = alloca ptr %t10 = alloca ptr %t11 = alloca i32 %t12 = alloca i32 %t16 = alloca i32 %t22 = alloca i32 %t41 = alloca i32 store ptr %arg_t, ptr %t0 store ptr %arg_old, ptr %t1 store ptr %arg_nw, ptr %t2 %t3 = load ptr, ptr %t0 %t4 = load ptr, ptr %t1 %t5 = call i32 @fn_has_sub(ptr %t3, 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: store ptr @.str1439, ptr %t10 store i32 0, ptr %t11 store i32 0, ptr %t12 %t13 = load ptr, ptr %t0 %t14 = call i64 @strlen(ptr %t13) %t15 = trunc i64 %t14 to i32 store i32 %t15, ptr %t16 br label %wcond3 wcond3: %t17 = load i32, ptr %t12 %t18 = load i32, ptr %t16 %t19 = icmp sle i32 %t17, %t18 %t20 = zext i1 %t19 to i32 %t21 = icmp ne i32 %t20, 0 br i1 %t21, label %wbody4, label %wend5 wbody4: %t23 = load i32, ptr %t12 %t24 = load i32, ptr %t16 %t25 = icmp eq i32 %t23, %t24 %t26 = zext i1 %t25 to i32 %t27 = icmp ne i32 %t26, 0 %t28 = zext i1 %t27 to i32 store i32 %t28, ptr %t22 br i1 %t27, label %scend7, label %sc6 sc6: %t29 = load ptr, ptr %t0 %t30 = load i32, ptr %t12 %t31 = getelementptr inbounds i8, ptr %t29, i32 %t30 %t32 = load i8, ptr %t31 %t33 = zext i8 %t32 to i32 %t34 = call i32 @fn_pt_id_ch(i32 %t33) %t35 = icmp eq i32 %t34, 0 %t36 = zext i1 %t35 to i32 %t37 = icmp ne i32 %t36, 0 %t38 = zext i1 %t37 to i32 store i32 %t38, ptr %t22 br label %scend7 scend7: %t39 = load i32, ptr %t22 %t40 = icmp ne i32 %t39, 0 br i1 %t40, label %then8, label %ifend10 then8: %t42 = load i32, ptr %t12 %t43 = load i32, ptr %t11 %t44 = icmp sgt i32 %t42, %t43 %t45 = zext i1 %t44 to i32 %t46 = icmp ne i32 %t45, 0 %t47 = zext i1 %t46 to i32 store i32 %t47, ptr %t41 br i1 %t46, label %sc11, label %scend12 sc11: %t48 = load ptr, ptr %t0 %t49 = load i32, ptr %t11 %t50 = load i32, ptr %t12 store i32 791, ptr @lp_site %t51 = call ptr @lp_str_slice(ptr %t48, i32 %t49, i32 %t50) store i32 0, ptr @lp_site %t52 = load ptr, ptr %t1 %t53 = call i32 @lp_str_eq(ptr %t51, ptr %t52) call void @lp_free(ptr %t51) %t54 = icmp ne i32 %t53, 0 %t55 = zext i1 %t54 to i32 store i32 %t55, ptr %t41 br label %scend12 scend12: %t56 = load i32, ptr %t41 %t57 = icmp ne i32 %t56, 0 br i1 %t57, label %then13, label %else14 then13: %t58 = load ptr, ptr %t10 %t59 = load ptr, ptr %t2 store i32 792, ptr @lp_site %t60 = call ptr @lp_str_concat(ptr %t58, ptr %t59) store i32 0, ptr @lp_site store ptr %t60, ptr %t10 br label %ifend15 else14: %t61 = load ptr, ptr %t10 %t62 = load ptr, ptr %t0 %t63 = load i32, ptr %t11 %t64 = load i32, ptr %t12 store i32 793, ptr @lp_site %t65 = call ptr @lp_str_slice(ptr %t62, i32 %t63, i32 %t64) store i32 0, ptr @lp_site store i32 794, ptr @lp_site %t66 = call ptr @lp_str_concat(ptr %t61, ptr %t65) store i32 0, ptr @lp_site call void @lp_free(ptr %t65) store ptr %t66, ptr %t10 br label %ifend15 ifend15: %t67 = load i32, ptr %t12 %t68 = load i32, ptr %t16 %t69 = icmp slt i32 %t67, %t68 %t70 = zext i1 %t69 to i32 %t71 = icmp ne i32 %t70, 0 br i1 %t71, label %then16, label %ifend18 then16: %t72 = load ptr, ptr %t10 %t73 = load ptr, ptr %t0 %t74 = load i32, ptr %t12 %t75 = load i32, ptr %t12 %t76 = add i32 %t75, 1 store i32 795, ptr @lp_site %t77 = call ptr @lp_str_slice(ptr %t73, i32 %t74, i32 %t76) store i32 0, ptr @lp_site store i32 796, ptr @lp_site %t78 = call ptr @lp_str_concat(ptr %t72, ptr %t77) store i32 0, ptr @lp_site call void @lp_free(ptr %t77) store ptr %t78, ptr %t10 br label %ifend18 ifend18: %t79 = load i32, ptr %t12 %t80 = add i32 %t79, 1 store i32 %t80, ptr %t11 br label %ifend10 ifend10: %t81 = load i32, ptr %t12 %t82 = add i32 %t81, 1 store i32 %t82, ptr %t12 br label %wcond3 wend5: %t83 = load ptr, ptr %t10 store ptr %t83, ptr %retval br label %ret ret: %t84 = load ptr, ptr %retval ret ptr %t84 } define ptr @fn_pt_ty(ptr %arg_t, ptr %arg_f) { entry: %retval = alloca ptr %t0 = alloca ptr %t1 = alloca ptr %t2 = alloca i32 %t17 = alloca ptr %t18 = alloca ptr %t19 = alloca i32 store ptr %arg_t, ptr %t0 store ptr %arg_f, ptr %t1 %t3 = load ptr, ptr %t0 %t4 = icmp eq ptr %t3, null %t5 = zext i1 %t4 to i32 %t6 = icmp ne i32 %t5, 0 %t7 = zext i1 %t6 to i32 store i32 %t7, ptr %t2 br i1 %t6, label %scend1, label %sc0 sc0: %t8 = load ptr, ptr %t1 %t9 = icmp eq ptr %t8, null %t10 = zext i1 %t9 to i32 %t11 = icmp ne i32 %t10, 0 %t12 = zext i1 %t11 to i32 store i32 %t12, ptr %t2 br label %scend1 scend1: %t13 = load i32, ptr %t2 %t14 = icmp ne i32 %t13, 0 br i1 %t14, label %then2, label %ifend4 then2: %t15 = load ptr, ptr %t0 store ptr %t15, ptr %retval br label %ret ifend4: %t16 = load ptr, ptr %t0 store ptr %t16, ptr %t17 store ptr null, ptr %t18 store i32 0, ptr %t19 br label %wcond5 wcond5: %t20 = load i32, ptr %t19 %t21 = load ptr, ptr @g_g_rt_old %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 %wbody6, label %wend7 wbody6: %t27 = load ptr, ptr %t17 %t28 = load ptr, ptr @g_g_rt_old %t29 = load i32, ptr %t19 %t30 = getelementptr inbounds %LSlice, ptr %t28, i32 0, i32 0 %t31 = load ptr, ptr %t30 %t32 = getelementptr inbounds %LSlice, ptr %t28, i32 0, i32 1 %t33 = load i32, ptr %t32 %t34 = icmp ult i32 %t29, %t33 br i1 %t34, label %ixok8, label %ixbad9 ixbad9: store i32 797, ptr @lp_site %t35 = call ptr @lp_win_stdio(i32 2) store i32 0, ptr @lp_site call i32 (ptr, ptr, ...) @fprintf(ptr %t35, ptr @.fmt_bounds, ptr @.str1441, i32 %t29, i32 %t33) call void @exit(i32 1) unreachable ixok8: %t36 = getelementptr inbounds ptr, ptr %t31, i32 %t29 %t37 = load ptr, ptr %t36 %t38 = call i32 @fn_has_sub(ptr %t27, ptr %t37) %t39 = icmp ne i32 %t38, 0 br i1 %t39, label %then10, label %ifend12 then10: %t40 = load ptr, ptr %t18 %t41 = icmp eq ptr %t40, null %t42 = zext i1 %t41 to i32 %t43 = icmp ne i32 %t42, 0 br i1 %t43, label %then13, label %ifend15 then13: %t44 = load ptr, ptr %t1 %t45 = call ptr @fn_module_of(ptr %t44) store ptr %t45, ptr %t18 br label %ifend15 ifend15: %t46 = load ptr, ptr %t18 %t47 = load ptr, ptr @g_g_rt_mod %t48 = load i32, ptr %t19 %t49 = getelementptr inbounds %LSlice, ptr %t47, i32 0, i32 0 %t50 = load ptr, ptr %t49 %t51 = getelementptr inbounds %LSlice, ptr %t47, i32 0, i32 1 %t52 = load i32, ptr %t51 %t53 = icmp ult i32 %t48, %t52 br i1 %t53, label %ixok16, label %ixbad17 ixbad17: store i32 798, ptr @lp_site %t54 = call ptr @lp_win_stdio(i32 2) store i32 0, ptr @lp_site call i32 (ptr, ptr, ...) @fprintf(ptr %t54, ptr @.fmt_bounds, ptr @.str1443, i32 %t48, i32 %t52) call void @exit(i32 1) unreachable ixok16: %t55 = getelementptr inbounds ptr, ptr %t50, i32 %t48 %t56 = load ptr, ptr %t55 %t57 = call i32 @lp_str_eq(ptr %t46, ptr %t56) %t58 = icmp ne i32 %t57, 0 br i1 %t58, label %then18, label %ifend20 then18: %t59 = load ptr, ptr %t17 %t60 = load ptr, ptr @g_g_rt_old %t61 = load i32, ptr %t19 %t62 = getelementptr inbounds %LSlice, ptr %t60, i32 0, i32 0 %t63 = load ptr, ptr %t62 %t64 = getelementptr inbounds %LSlice, ptr %t60, i32 0, i32 1 %t65 = load i32, ptr %t64 %t66 = icmp ult i32 %t61, %t65 br i1 %t66, label %ixok21, label %ixbad22 ixbad22: store i32 799, ptr @lp_site %t67 = call ptr @lp_win_stdio(i32 2) store i32 0, ptr @lp_site call i32 (ptr, ptr, ...) @fprintf(ptr %t67, ptr @.fmt_bounds, ptr @.str1444, i32 %t61, i32 %t65) call void @exit(i32 1) unreachable ixok21: %t68 = getelementptr inbounds ptr, ptr %t63, i32 %t61 %t69 = load ptr, ptr %t68 %t70 = load ptr, ptr @g_g_rt_new %t71 = load i32, ptr %t19 %t72 = getelementptr inbounds %LSlice, ptr %t70, i32 0, i32 0 %t73 = load ptr, ptr %t72 %t74 = getelementptr inbounds %LSlice, ptr %t70, i32 0, i32 1 %t75 = load i32, ptr %t74 %t76 = icmp ult i32 %t71, %t75 br i1 %t76, label %ixok23, label %ixbad24 ixbad24: store i32 800, ptr @lp_site %t77 = call ptr @lp_win_stdio(i32 2) store i32 0, ptr @lp_site call i32 (ptr, ptr, ...) @fprintf(ptr %t77, ptr @.fmt_bounds, ptr @.str1445, i32 %t71, i32 %t75) call void @exit(i32 1) unreachable ixok23: %t78 = getelementptr inbounds ptr, ptr %t73, i32 %t71 %t79 = load ptr, ptr %t78 %t80 = call ptr @fn_pt_rewrite(ptr %t59, ptr %t69, ptr %t79) store ptr %t80, ptr %t17 br label %ifend20 ifend20: br label %ifend12 ifend12: %t81 = load i32, ptr %t19 %t82 = add i32 %t81, 1 store i32 %t82, ptr %t19 br label %wcond5 wend7: %t83 = load ptr, ptr %t17 store ptr %t83, ptr %retval br label %ret ret: %t84 = load ptr, ptr %retval ret ptr %t84 } define ptr @fn_pt_event(ptr %arg_s, ptr %arg_f) { entry: %retval = alloca ptr %t0 = alloca ptr %t1 = alloca ptr %t2 = alloca i32 %t16 = alloca i32 %t24 = alloca i32 store ptr %arg_s, ptr %t0 store ptr %arg_f, ptr %t1 %t3 = load ptr, ptr %t0 %t4 = icmp eq ptr %t3, null %t5 = zext i1 %t4 to i32 %t6 = icmp ne i32 %t5, 0 %t7 = zext i1 %t6 to i32 store i32 %t7, ptr %t2 br i1 %t6, label %scend1, label %sc0 sc0: %t8 = load ptr, ptr %t1 %t9 = icmp eq ptr %t8, null %t10 = zext i1 %t9 to i32 %t11 = icmp ne i32 %t10, 0 %t12 = zext i1 %t11 to i32 store i32 %t12, ptr %t2 br label %scend1 scend1: %t13 = load i32, ptr %t2 %t14 = icmp ne i32 %t13, 0 br i1 %t14, label %then2, label %ifend4 then2: %t15 = load ptr, ptr %t0 store ptr %t15, ptr %retval br label %ret ifend4: store i32 0, ptr %t16 br label %wcond5 wcond5: %t17 = load i32, ptr %t16 %t18 = load ptr, ptr @g_g_re_old %t19 = getelementptr inbounds %LSlice, ptr %t18, i32 0, i32 1 %t20 = load i32, ptr %t19 %t21 = icmp slt i32 %t17, %t20 %t22 = zext i1 %t21 to i32 %t23 = icmp ne i32 %t22, 0 br i1 %t23, label %wbody6, label %wend7 wbody6: %t25 = load ptr, ptr @g_g_re_old %t26 = load i32, ptr %t16 %t27 = getelementptr inbounds %LSlice, ptr %t25, i32 0, i32 0 %t28 = load ptr, ptr %t27 %t29 = getelementptr inbounds %LSlice, ptr %t25, i32 0, i32 1 %t30 = load i32, ptr %t29 %t31 = icmp ult i32 %t26, %t30 br i1 %t31, label %ixok8, label %ixbad9 ixbad9: store i32 801, ptr @lp_site %t32 = call ptr @lp_win_stdio(i32 2) store i32 0, ptr @lp_site call i32 (ptr, ptr, ...) @fprintf(ptr %t32, ptr @.fmt_bounds, ptr @.str1446, i32 %t26, i32 %t30) call void @exit(i32 1) unreachable ixok8: %t33 = getelementptr inbounds ptr, ptr %t28, i32 %t26 %t34 = load ptr, ptr %t33 %t35 = load ptr, ptr %t0 %t36 = call i32 @lp_str_eq(ptr %t34, ptr %t35) %t37 = icmp ne i32 %t36, 0 %t38 = zext i1 %t37 to i32 store i32 %t38, ptr %t24 br i1 %t37, label %sc10, label %scend11 sc10: %t39 = load ptr, ptr %t1 %t40 = call ptr @fn_module_of(ptr %t39) %t41 = load ptr, ptr @g_g_re_mod %t42 = load i32, ptr %t16 %t43 = getelementptr inbounds %LSlice, ptr %t41, i32 0, i32 0 %t44 = load ptr, ptr %t43 %t45 = getelementptr inbounds %LSlice, ptr %t41, i32 0, i32 1 %t46 = load i32, ptr %t45 %t47 = icmp ult i32 %t42, %t46 br i1 %t47, label %ixok12, label %ixbad13 ixbad13: store i32 802, ptr @lp_site %t48 = call ptr @lp_win_stdio(i32 2) store i32 0, ptr @lp_site call i32 (ptr, ptr, ...) @fprintf(ptr %t48, ptr @.fmt_bounds, ptr @.str1448, i32 %t42, i32 %t46) call void @exit(i32 1) unreachable ixok12: %t49 = getelementptr inbounds ptr, ptr %t44, i32 %t42 %t50 = load ptr, ptr %t49 %t51 = call i32 @lp_str_eq(ptr %t40, ptr %t50) %t52 = icmp ne i32 %t51, 0 %t53 = zext i1 %t52 to i32 store i32 %t53, ptr %t24 br label %scend11 scend11: %t54 = load i32, ptr %t24 %t55 = icmp ne i32 %t54, 0 br i1 %t55, label %then14, label %ifend16 then14: %t56 = load ptr, ptr @g_g_re_new %t57 = load i32, ptr %t16 %t58 = getelementptr inbounds %LSlice, ptr %t56, i32 0, i32 0 %t59 = load ptr, ptr %t58 %t60 = getelementptr inbounds %LSlice, ptr %t56, i32 0, i32 1 %t61 = load i32, ptr %t60 %t62 = icmp ult i32 %t57, %t61 br i1 %t62, label %ixok17, label %ixbad18 ixbad18: store i32 803, ptr @lp_site %t63 = call ptr @lp_win_stdio(i32 2) store i32 0, ptr @lp_site call i32 (ptr, ptr, ...) @fprintf(ptr %t63, ptr @.fmt_bounds, ptr @.str1449, i32 %t57, i32 %t61) call void @exit(i32 1) unreachable ixok17: %t64 = getelementptr inbounds ptr, ptr %t59, i32 %t57 %t65 = load ptr, ptr %t64 store ptr %t65, ptr %retval br label %ret ifend16: %t66 = load i32, ptr %t16 %t67 = add i32 %t66, 1 store i32 %t67, ptr %t16 br label %wcond5 wend7: %t68 = load ptr, ptr %t0 store ptr %t68, ptr %retval br label %ret ret: %t69 = load ptr, ptr %retval ret ptr %t69 } define void @fn_pt_walk(ptr %arg_n) { entry: %t0 = alloca ptr %t5 = alloca i32 %t31 = alloca i32 %t32 = alloca i32 %t68 = alloca i32 %t109 = alloca i32 store ptr %arg_n, 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: br label %ret ifend2: %t6 = load ptr, ptr %t0 %t7 = getelementptr inbounds %Cmp_Node, ptr %t6, i32 0, i32 3 %t8 = load ptr, ptr %t7 %t9 = icmp ne ptr %t8, null %t10 = zext i1 %t9 to i32 %t11 = icmp ne i32 %t10, 0 %t12 = zext i1 %t11 to i32 store i32 %t12, ptr %t5 br i1 %t11, label %sc3, label %scend4 sc3: %t13 = load ptr, ptr @g_g_rt_old %t14 = getelementptr inbounds %LSlice, ptr %t13, i32 0, i32 1 %t15 = load i32, ptr %t14 %t16 = icmp sgt i32 %t15, 0 %t17 = zext i1 %t16 to i32 %t18 = icmp ne i32 %t17, 0 %t19 = zext i1 %t18 to i32 store i32 %t19, ptr %t5 br label %scend4 scend4: %t20 = load i32, ptr %t5 %t21 = icmp ne i32 %t20, 0 br i1 %t21, label %then5, label %ifend7 then5: %t22 = load ptr, ptr %t0 %t23 = getelementptr inbounds %Cmp_Node, ptr %t22, i32 0, i32 3 %t24 = load ptr, ptr %t0 %t25 = getelementptr inbounds %Cmp_Node, ptr %t24, i32 0, i32 3 %t26 = load ptr, ptr %t25 %t27 = load ptr, ptr %t0 %t28 = getelementptr inbounds %Cmp_Node, ptr %t27, i32 0, i32 9 %t29 = load ptr, ptr %t28 %t30 = call ptr @fn_pt_ty(ptr %t26, ptr %t29) store ptr %t30, ptr %t23 br label %ifend7 ifend7: %t33 = load ptr, ptr %t0 %t34 = getelementptr inbounds %Cmp_Node, ptr %t33, i32 0, i32 0 %t35 = load i32, ptr %t34 %t36 = icmp eq i32 %t35, 39 %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 %sc8, label %scend9 sc8: %t40 = load ptr, ptr %t0 %t41 = getelementptr inbounds %Cmp_Node, ptr %t40, i32 0, i32 1 %t42 = load ptr, ptr %t41 %t43 = icmp ne ptr %t42, null %t44 = zext i1 %t43 to i32 %t45 = icmp ne i32 %t44, 0 %t46 = zext i1 %t45 to i32 store i32 %t46, ptr %t32 br label %scend9 scend9: %t47 = load i32, ptr %t32 %t48 = icmp ne i32 %t47, 0 %t49 = zext i1 %t48 to i32 store i32 %t49, ptr %t31 br i1 %t48, label %sc10, label %scend11 sc10: %t50 = load ptr, ptr @g_g_rt_old %t51 = getelementptr inbounds %LSlice, ptr %t50, i32 0, i32 1 %t52 = load i32, ptr %t51 %t53 = icmp sgt i32 %t52, 0 %t54 = zext i1 %t53 to i32 %t55 = icmp ne i32 %t54, 0 %t56 = zext i1 %t55 to i32 store i32 %t56, ptr %t31 br label %scend11 scend11: %t57 = load i32, ptr %t31 %t58 = icmp ne i32 %t57, 0 br i1 %t58, label %then12, label %ifend14 then12: %t59 = load ptr, ptr %t0 %t60 = getelementptr inbounds %Cmp_Node, ptr %t59, i32 0, i32 1 %t61 = load ptr, ptr %t0 %t62 = getelementptr inbounds %Cmp_Node, ptr %t61, i32 0, i32 1 %t63 = load ptr, ptr %t62 %t64 = load ptr, ptr %t0 %t65 = getelementptr inbounds %Cmp_Node, ptr %t64, i32 0, i32 9 %t66 = load ptr, ptr %t65 %t67 = call ptr @fn_pt_ty(ptr %t63, ptr %t66) store ptr %t67, ptr %t60 br label %ifend14 ifend14: %t69 = load ptr, ptr %t0 %t70 = getelementptr inbounds %Cmp_Node, ptr %t69, i32 0, i32 0 %t71 = load i32, ptr %t70 %t72 = icmp eq i32 %t71, 49 %t73 = zext i1 %t72 to i32 %t74 = icmp ne i32 %t73, 0 %t75 = zext i1 %t74 to i32 store i32 %t75, ptr %t68 br i1 %t74, label %sc15, label %scend16 sc15: %t76 = load ptr, ptr @g_g_re_old %t77 = getelementptr inbounds %LSlice, ptr %t76, i32 0, i32 1 %t78 = load i32, ptr %t77 %t79 = icmp sgt i32 %t78, 0 %t80 = zext i1 %t79 to i32 %t81 = icmp ne i32 %t80, 0 %t82 = zext i1 %t81 to i32 store i32 %t82, ptr %t68 br label %scend16 scend16: %t83 = load i32, ptr %t68 %t84 = icmp ne i32 %t83, 0 br i1 %t84, label %then17, label %ifend19 then17: %t85 = load ptr, ptr %t0 %t86 = getelementptr inbounds %Cmp_Node, ptr %t85, i32 0, i32 1 %t87 = load ptr, ptr %t0 %t88 = getelementptr inbounds %Cmp_Node, ptr %t87, i32 0, i32 1 %t89 = load ptr, ptr %t88 %t90 = load ptr, ptr %t0 %t91 = getelementptr inbounds %Cmp_Node, ptr %t90, i32 0, i32 9 %t92 = load ptr, ptr %t91 %t93 = call ptr @fn_pt_event(ptr %t89, ptr %t92) store ptr %t93, ptr %t86 br label %ifend19 ifend19: %t94 = load ptr, ptr %t0 %t95 = getelementptr inbounds %Cmp_Node, ptr %t94, i32 0, i32 4 %t96 = load ptr, ptr %t95 call void @fn_pt_walk(ptr %t96) %t97 = load ptr, ptr %t0 %t98 = getelementptr inbounds %Cmp_Node, ptr %t97, i32 0, i32 5 %t99 = load ptr, ptr %t98 call void @fn_pt_walk(ptr %t99) %t100 = load ptr, ptr %t0 %t101 = getelementptr inbounds %Cmp_Node, ptr %t100, i32 0, i32 6 %t102 = load ptr, ptr %t101 call void @fn_pt_walk(ptr %t102) %t103 = load ptr, ptr %t0 %t104 = getelementptr inbounds %Cmp_Node, ptr %t103, i32 0, i32 7 %t105 = load ptr, ptr %t104 %t106 = icmp ne ptr %t105, null %t107 = zext i1 %t106 to i32 %t108 = icmp ne i32 %t107, 0 br i1 %t108, label %then20, label %ifend22 then20: store i32 0, ptr %t109 br label %wcond23 wcond23: %t110 = load i32, ptr %t109 %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 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 %wbody24, label %wend25 wbody24: %t119 = load ptr, ptr %t0 %t120 = getelementptr inbounds %Cmp_Node, ptr %t119, i32 0, i32 7 %t121 = load ptr, ptr %t120 %t122 = load i32, ptr %t109 %t123 = getelementptr inbounds %LSlice, ptr %t121, i32 0, i32 0 %t124 = load ptr, ptr %t123 %t125 = getelementptr inbounds %LSlice, ptr %t121, i32 0, i32 1 %t126 = load i32, ptr %t125 %t127 = icmp ult i32 %t122, %t126 br i1 %t127, label %ixok26, label %ixbad27 ixbad27: store i32 804, ptr @lp_site %t128 = call ptr @lp_win_stdio(i32 2) store i32 0, ptr @lp_site call i32 (ptr, ptr, ...) @fprintf(ptr %t128, ptr @.fmt_bounds, ptr @.str1450, i32 %t122, i32 %t126) call void @exit(i32 1) unreachable ixok26: %t129 = getelementptr inbounds ptr, ptr %t124, i32 %t122 %t130 = load ptr, ptr %t129 call void @fn_pt_walk(ptr %t130) %t131 = load i32, ptr %t109 %t132 = add i32 %t131, 1 store i32 %t132, ptr %t109 br label %wcond23 wend25: br label %ifend22 ifend22: br label %ret ret: ret void } define void @fn_pt_walk_all(ptr %arg_xs) { entry: %t0 = alloca ptr %t5 = alloca i32 store ptr %arg_xs, 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: br label %ret ifend2: store i32 0, ptr %t5 br label %wcond3 wcond3: %t6 = load i32, ptr %t5 %t7 = load ptr, ptr %t0 %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 %wbody4, label %wend5 wbody4: %t13 = load ptr, ptr %t0 %t14 = load i32, ptr %t5 %t15 = getelementptr inbounds %LSlice, ptr %t13, i32 0, i32 0 %t16 = load ptr, ptr %t15 %t17 = getelementptr inbounds %LSlice, ptr %t13, i32 0, i32 1 %t18 = load i32, ptr %t17 %t19 = icmp ult i32 %t14, %t18 br i1 %t19, label %ixok6, label %ixbad7 ixbad7: store i32 805, ptr @lp_site %t20 = call ptr @lp_win_stdio(i32 2) store i32 0, ptr @lp_site call i32 (ptr, ptr, ...) @fprintf(ptr %t20, ptr @.fmt_bounds, ptr @.str1452, i32 %t14, i32 %t18) call void @exit(i32 1) unreachable ixok6: %t21 = getelementptr inbounds ptr, ptr %t16, i32 %t14 %t22 = load ptr, ptr %t21 call void @fn_pt_walk(ptr %t22) %t23 = load i32, ptr %t5 %t24 = add i32 %t23, 1 store i32 %t24, ptr %t5 br label %wcond3 wend5: br label %ret ret: ret void } define void @fn_pt_apply() { entry: %t0 = alloca i32 %t1 = alloca i32 %t28 = alloca ptr %t29 = alloca i32 %t30 = alloca i32 %t56 = alloca i32 %t64 = alloca i32 %t136 = alloca ptr %t154 = alloca i32 store i32 0, ptr %t0 br label %wcond0 wcond0: %t2 = load i32, ptr %t0 %t3 = load i32, ptr @g_g_prog_user_end %t4 = icmp slt i32 %t2, %t3 %t5 = zext i1 %t4 to i32 %t6 = icmp ne i32 %t5, 0 %t7 = zext i1 %t6 to i32 store i32 %t7, ptr %t1 br i1 %t6, label %sc3, label %scend4 sc3: %t8 = load i32, ptr %t0 %t9 = load ptr, ptr @g_prog %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 %t15 = zext i1 %t14 to i32 store i32 %t15, ptr %t1 br label %scend4 scend4: %t16 = load i32, ptr %t1 %t17 = icmp ne i32 %t16, 0 br i1 %t17, label %wbody1, label %wend2 wbody1: %t18 = load ptr, ptr @g_prog %t19 = load i32, ptr %t0 %t20 = getelementptr inbounds %LSlice, ptr %t18, i32 0, i32 0 %t21 = load ptr, ptr %t20 %t22 = getelementptr inbounds %LSlice, ptr %t18, i32 0, i32 1 %t23 = load i32, ptr %t22 %t24 = icmp ult i32 %t19, %t23 br i1 %t24, label %ixok5, label %ixbad6 ixbad6: store i32 806, ptr @lp_site %t25 = call ptr @lp_win_stdio(i32 2) store i32 0, ptr @lp_site call i32 (ptr, ptr, ...) @fprintf(ptr %t25, ptr @.fmt_bounds, ptr @.str1454, i32 %t19, i32 %t23) call void @exit(i32 1) unreachable ixok5: %t26 = getelementptr inbounds ptr, ptr %t21, i32 %t19 %t27 = load ptr, ptr %t26 store ptr %t27, ptr %t28 %t31 = load ptr, ptr %t28 %t32 = getelementptr inbounds %Cmp_Node, ptr %t31, i32 0, i32 0 %t33 = load i32, ptr %t32 %t34 = call i32 @fn_pt_is_record(i32 %t33) %t35 = icmp ne i32 %t34, 0 %t36 = zext i1 %t35 to i32 store i32 %t36, ptr %t30 br i1 %t35, label %sc7, label %scend8 sc7: %t37 = load ptr, ptr %t28 %t38 = getelementptr inbounds %Cmp_Node, ptr %t37, i32 0, i32 10 %t39 = load i32, ptr %t38 %t40 = icmp ne i32 %t39, 1 %t41 = zext i1 %t40 to i32 %t42 = icmp ne i32 %t41, 0 %t43 = zext i1 %t42 to i32 store i32 %t43, ptr %t30 br label %scend8 scend8: %t44 = load i32, ptr %t30 %t45 = icmp ne i32 %t44, 0 %t46 = zext i1 %t45 to i32 store i32 %t46, ptr %t29 br i1 %t45, label %sc9, label %scend10 sc9: %t47 = load ptr, ptr %t28 %t48 = getelementptr inbounds %Cmp_Node, ptr %t47, i32 0, i32 1 %t49 = load ptr, ptr %t48 %t50 = icmp ne ptr %t49, null %t51 = zext i1 %t50 to i32 %t52 = icmp ne i32 %t51, 0 %t53 = zext i1 %t52 to i32 store i32 %t53, ptr %t29 br label %scend10 scend10: %t54 = load i32, ptr %t29 %t55 = icmp ne i32 %t54, 0 br i1 %t55, label %then11, label %ifend13 then11: store i32 0, ptr %t56 br label %wcond14 wcond14: %t57 = load i32, ptr %t56 %t58 = load ptr, ptr @g_g_rt_old %t59 = getelementptr inbounds %LSlice, ptr %t58, i32 0, i32 1 %t60 = load i32, ptr %t59 %t61 = icmp slt i32 %t57, %t60 %t62 = zext i1 %t61 to i32 %t63 = icmp ne i32 %t62, 0 br i1 %t63, label %wbody15, label %wend16 wbody15: %t65 = load ptr, ptr @g_g_rt_old %t66 = load i32, ptr %t56 %t67 = getelementptr inbounds %LSlice, ptr %t65, i32 0, i32 0 %t68 = load ptr, ptr %t67 %t69 = getelementptr inbounds %LSlice, ptr %t65, i32 0, i32 1 %t70 = load i32, ptr %t69 %t71 = icmp ult i32 %t66, %t70 br i1 %t71, label %ixok17, label %ixbad18 ixbad18: store i32 807, ptr @lp_site %t72 = call ptr @lp_win_stdio(i32 2) store i32 0, ptr @lp_site call i32 (ptr, ptr, ...) @fprintf(ptr %t72, ptr @.fmt_bounds, ptr @.str1456, i32 %t66, i32 %t70) call void @exit(i32 1) unreachable ixok17: %t73 = getelementptr inbounds ptr, ptr %t68, i32 %t66 %t74 = load ptr, ptr %t73 %t75 = load ptr, ptr %t28 %t76 = getelementptr inbounds %Cmp_Node, ptr %t75, i32 0, i32 1 %t77 = load ptr, ptr %t76 %t78 = call i32 @lp_str_eq(ptr %t74, ptr %t77) %t79 = icmp ne i32 %t78, 0 %t80 = zext i1 %t79 to i32 store i32 %t80, ptr %t64 br i1 %t79, label %sc19, label %scend20 sc19: %t81 = load ptr, ptr %t28 %t82 = getelementptr inbounds %Cmp_Node, ptr %t81, i32 0, i32 9 %t83 = load ptr, ptr %t82 %t84 = call ptr @fn_module_of(ptr %t83) %t85 = load ptr, ptr @g_g_rt_mod %t86 = load i32, ptr %t56 %t87 = getelementptr inbounds %LSlice, ptr %t85, i32 0, i32 0 %t88 = load ptr, ptr %t87 %t89 = getelementptr inbounds %LSlice, ptr %t85, i32 0, i32 1 %t90 = load i32, ptr %t89 %t91 = icmp ult i32 %t86, %t90 br i1 %t91, label %ixok21, label %ixbad22 ixbad22: store i32 808, ptr @lp_site %t92 = call ptr @lp_win_stdio(i32 2) store i32 0, ptr @lp_site call i32 (ptr, ptr, ...) @fprintf(ptr %t92, ptr @.fmt_bounds, ptr @.str1457, i32 %t86, i32 %t90) call void @exit(i32 1) unreachable ixok21: %t93 = getelementptr inbounds ptr, ptr %t88, i32 %t86 %t94 = load ptr, ptr %t93 %t95 = call i32 @lp_str_eq(ptr %t84, ptr %t94) %t96 = icmp ne i32 %t95, 0 %t97 = zext i1 %t96 to i32 store i32 %t97, ptr %t64 br label %scend20 scend20: %t98 = load i32, ptr %t64 %t99 = icmp ne i32 %t98, 0 br i1 %t99, label %then23, label %ifend25 then23: %t100 = load ptr, ptr %t28 %t101 = getelementptr inbounds %Cmp_Node, ptr %t100, i32 0, i32 1 %t102 = load ptr, ptr @g_g_rt_new %t103 = load i32, ptr %t56 %t104 = getelementptr inbounds %LSlice, ptr %t102, i32 0, i32 0 %t105 = load ptr, ptr %t104 %t106 = getelementptr inbounds %LSlice, ptr %t102, i32 0, i32 1 %t107 = load i32, ptr %t106 %t108 = icmp ult i32 %t103, %t107 br i1 %t108, label %ixok26, label %ixbad27 ixbad27: store i32 809, ptr @lp_site %t109 = call ptr @lp_win_stdio(i32 2) store i32 0, ptr @lp_site call i32 (ptr, ptr, ...) @fprintf(ptr %t109, ptr @.fmt_bounds, ptr @.str1458, i32 %t103, i32 %t107) call void @exit(i32 1) unreachable ixok26: %t110 = getelementptr inbounds ptr, ptr %t105, i32 %t103 %t111 = load ptr, ptr %t110 store ptr %t111, ptr %t101 %t112 = load ptr, ptr @g_g_rt_old %t113 = getelementptr inbounds %LSlice, ptr %t112, i32 0, i32 1 %t114 = load i32, ptr %t113 store i32 %t114, ptr %t56 br label %ifend25 ifend25: %t115 = load i32, ptr %t56 %t116 = add i32 %t115, 1 store i32 %t116, ptr %t56 br label %wcond14 wend16: br label %ifend13 ifend13: %t117 = load i32, ptr %t0 %t118 = add i32 %t117, 1 store i32 %t118, ptr %t0 br label %wcond0 wend2: store i32 0, ptr %t0 br label %wcond28 wcond28: %t119 = load i32, ptr %t0 %t120 = load ptr, ptr @g_g_events %t121 = getelementptr inbounds %LSlice, ptr %t120, i32 0, i32 1 %t122 = load i32, ptr %t121 %t123 = icmp slt i32 %t119, %t122 %t124 = zext i1 %t123 to i32 %t125 = icmp ne i32 %t124, 0 br i1 %t125, label %wbody29, label %wend30 wbody29: %t126 = load ptr, ptr @g_g_events %t127 = load i32, ptr %t0 %t128 = getelementptr inbounds %LSlice, ptr %t126, i32 0, i32 0 %t129 = load ptr, ptr %t128 %t130 = getelementptr inbounds %LSlice, ptr %t126, i32 0, i32 1 %t131 = load i32, ptr %t130 %t132 = icmp ult i32 %t127, %t131 br i1 %t132, label %ixok31, label %ixbad32 ixbad32: store i32 810, ptr @lp_site %t133 = call ptr @lp_win_stdio(i32 2) store i32 0, ptr @lp_site call i32 (ptr, ptr, ...) @fprintf(ptr %t133, ptr @.fmt_bounds, ptr @.str1459, i32 %t127, i32 %t131) call void @exit(i32 1) unreachable ixok31: %t134 = getelementptr inbounds ptr, ptr %t129, i32 %t127 %t135 = load ptr, ptr %t134 store ptr %t135, ptr %t136 %t137 = load ptr, ptr %t136 %t138 = getelementptr inbounds %Cmp_Node, ptr %t137, i32 0, i32 10 %t139 = load i32, ptr %t138 %t140 = icmp ne i32 %t139, 1 %t141 = zext i1 %t140 to i32 %t142 = icmp ne i32 %t141, 0 br i1 %t142, label %then33, label %ifend35 then33: %t143 = load ptr, ptr %t136 %t144 = getelementptr inbounds %Cmp_Node, ptr %t143, i32 0, i32 1 %t145 = load ptr, ptr %t136 %t146 = getelementptr inbounds %Cmp_Node, ptr %t145, i32 0, i32 1 %t147 = load ptr, ptr %t146 %t148 = load ptr, ptr %t136 %t149 = getelementptr inbounds %Cmp_Node, ptr %t148, i32 0, i32 9 %t150 = load ptr, ptr %t149 %t151 = call ptr @fn_pt_event(ptr %t147, ptr %t150) store ptr %t151, ptr %t144 br label %ifend35 ifend35: %t152 = load i32, ptr %t0 %t153 = add i32 %t152, 1 store i32 %t153, ptr %t0 br label %wcond28 wend30: store i32 0, ptr %t0 br label %wcond36 wcond36: %t155 = load i32, ptr %t0 %t156 = load i32, ptr @g_g_prog_user_end %t157 = icmp slt i32 %t155, %t156 %t158 = zext i1 %t157 to i32 %t159 = icmp ne i32 %t158, 0 %t160 = zext i1 %t159 to i32 store i32 %t160, ptr %t154 br i1 %t159, label %sc39, label %scend40 sc39: %t161 = load i32, ptr %t0 %t162 = load ptr, ptr @g_prog %t163 = getelementptr inbounds %LSlice, ptr %t162, i32 0, i32 1 %t164 = load i32, ptr %t163 %t165 = icmp slt i32 %t161, %t164 %t166 = zext i1 %t165 to i32 %t167 = icmp ne i32 %t166, 0 %t168 = zext i1 %t167 to i32 store i32 %t168, ptr %t154 br label %scend40 scend40: %t169 = load i32, ptr %t154 %t170 = icmp ne i32 %t169, 0 br i1 %t170, label %wbody37, label %wend38 wbody37: %t171 = load ptr, ptr @g_prog %t172 = load i32, ptr %t0 %t173 = getelementptr inbounds %LSlice, ptr %t171, i32 0, i32 0 %t174 = load ptr, ptr %t173 %t175 = getelementptr inbounds %LSlice, ptr %t171, i32 0, i32 1 %t176 = load i32, ptr %t175 %t177 = icmp ult i32 %t172, %t176 br i1 %t177, label %ixok41, label %ixbad42 ixbad42: store i32 811, ptr @lp_site %t178 = call ptr @lp_win_stdio(i32 2) store i32 0, ptr @lp_site call i32 (ptr, ptr, ...) @fprintf(ptr %t178, ptr @.fmt_bounds, ptr @.str1460, i32 %t172, i32 %t176) call void @exit(i32 1) unreachable ixok41: %t179 = getelementptr inbounds ptr, ptr %t174, i32 %t172 %t180 = load ptr, ptr %t179 call void @fn_pt_walk(ptr %t180) %t181 = load i32, ptr %t0 %t182 = add i32 %t181, 1 store i32 %t182, ptr %t0 br label %wcond36 wend38: %t183 = load ptr, ptr @g_g_tests call void @fn_pt_walk_all(ptr %t183) %t184 = load ptr, ptr @g_g_onlisten call void @fn_pt_walk_all(ptr %t184) %t185 = load ptr, ptr @g_g_onspawn call void @fn_pt_walk_all(ptr %t185) %t186 = load ptr, ptr @g_g_ondespawn call void @fn_pt_walk_all(ptr %t186) %t187 = load ptr, ptr @g_g_onattach call void @fn_pt_walk_all(ptr %t187) %t188 = load ptr, ptr @g_g_ondetach call void @fn_pt_walk_all(ptr %t188) %t189 = load ptr, ptr @g_g_onenable call void @fn_pt_walk_all(ptr %t189) %t190 = load ptr, ptr @g_g_ondisable call void @fn_pt_walk_all(ptr %t190) %t191 = load ptr, ptr @g_g_computed call void @fn_pt_walk_all(ptr %t191) %t192 = load ptr, ptr @g_g_scenes call void @fn_pt_walk_all(ptr %t192) %t193 = load ptr, ptr @g_g_events call void @fn_pt_walk_all(ptr %t193) store i32 0, ptr %t0 br label %wcond43 wcond43: %t194 = load i32, ptr %t0 %t195 = load ptr, ptr @g_g_onlisten %t196 = getelementptr inbounds %LSlice, ptr %t195, i32 0, i32 1 %t197 = load i32, ptr %t196 %t198 = icmp slt i32 %t194, %t197 %t199 = zext i1 %t198 to i32 %t200 = icmp ne i32 %t199, 0 br i1 %t200, label %wbody44, label %wend45 wbody44: %t201 = load ptr, ptr @g_g_onlisten %t202 = load i32, ptr %t0 %t203 = getelementptr inbounds %LSlice, ptr %t201, i32 0, i32 0 %t204 = load ptr, ptr %t203 %t205 = getelementptr inbounds %LSlice, ptr %t201, i32 0, i32 1 %t206 = load i32, ptr %t205 %t207 = icmp ult i32 %t202, %t206 br i1 %t207, label %ixok46, label %ixbad47 ixbad47: store i32 812, ptr @lp_site %t208 = call ptr @lp_win_stdio(i32 2) store i32 0, ptr @lp_site call i32 (ptr, ptr, ...) @fprintf(ptr %t208, ptr @.fmt_bounds, ptr @.str1461, i32 %t202, i32 %t206) call void @exit(i32 1) unreachable ixok46: %t209 = getelementptr inbounds ptr, ptr %t204, i32 %t202 %t210 = load ptr, ptr %t209 %t211 = getelementptr inbounds %Cmp_Node, ptr %t210, i32 0, i32 1 %t212 = load ptr, ptr @g_g_onlisten %t213 = load i32, ptr %t0 %t214 = getelementptr inbounds %LSlice, ptr %t212, i32 0, i32 0 %t215 = load ptr, ptr %t214 %t216 = getelementptr inbounds %LSlice, ptr %t212, i32 0, i32 1 %t217 = load i32, ptr %t216 %t218 = icmp ult i32 %t213, %t217 br i1 %t218, label %ixok48, label %ixbad49 ixbad49: store i32 813, ptr @lp_site %t219 = call ptr @lp_win_stdio(i32 2) store i32 0, ptr @lp_site call i32 (ptr, ptr, ...) @fprintf(ptr %t219, ptr @.fmt_bounds, ptr @.str1462, i32 %t213, i32 %t217) call void @exit(i32 1) unreachable ixok48: %t220 = getelementptr inbounds ptr, ptr %t215, i32 %t213 %t221 = load ptr, ptr %t220 %t222 = getelementptr inbounds %Cmp_Node, ptr %t221, i32 0, i32 1 %t223 = load ptr, ptr %t222 %t224 = load ptr, ptr @g_g_onlisten %t225 = load i32, ptr %t0 %t226 = getelementptr inbounds %LSlice, ptr %t224, i32 0, i32 0 %t227 = load ptr, ptr %t226 %t228 = getelementptr inbounds %LSlice, ptr %t224, i32 0, i32 1 %t229 = load i32, ptr %t228 %t230 = icmp ult i32 %t225, %t229 br i1 %t230, label %ixok50, label %ixbad51 ixbad51: store i32 814, ptr @lp_site %t231 = call ptr @lp_win_stdio(i32 2) store i32 0, ptr @lp_site call i32 (ptr, ptr, ...) @fprintf(ptr %t231, ptr @.fmt_bounds, ptr @.str1463, i32 %t225, i32 %t229) call void @exit(i32 1) unreachable ixok50: %t232 = getelementptr inbounds ptr, ptr %t227, i32 %t225 %t233 = load ptr, ptr %t232 %t234 = getelementptr inbounds %Cmp_Node, ptr %t233, i32 0, i32 9 %t235 = load ptr, ptr %t234 %t236 = call ptr @fn_pt_event(ptr %t223, ptr %t235) store ptr %t236, ptr %t211 %t237 = load i32, ptr %t0 %t238 = add i32 %t237, 1 store i32 %t238, ptr %t0 br label %wcond43 wend45: br label %ret ret: ret void } define void @fn_pt_events_twice() { entry: %t0 = alloca i32 %t10 = alloca i32 %t18 = 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 i32, ptr %t0 %t9 = add i32 %t8, 1 store i32 %t9, ptr %t10 br label %wcond3 wcond3: %t11 = load i32, ptr %t10 %t12 = load ptr, ptr @g_g_events %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: %t19 = load ptr, ptr @g_g_events %t20 = load i32, ptr %t10 %t21 = getelementptr inbounds %LSlice, ptr %t19, i32 0, i32 0 %t22 = load ptr, ptr %t21 %t23 = getelementptr inbounds %LSlice, ptr %t19, i32 0, i32 1 %t24 = load i32, ptr %t23 %t25 = icmp ult i32 %t20, %t24 br i1 %t25, label %ixok6, label %ixbad7 ixbad7: store i32 815, ptr @lp_site %t26 = call ptr @lp_win_stdio(i32 2) store i32 0, ptr @lp_site call i32 (ptr, ptr, ...) @fprintf(ptr %t26, ptr @.fmt_bounds, ptr @.str1464, i32 %t20, i32 %t24) call void @exit(i32 1) unreachable ixok6: %t27 = getelementptr inbounds ptr, ptr %t22, i32 %t20 %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 @g_g_events %t32 = load i32, ptr %t0 %t33 = getelementptr inbounds %LSlice, ptr %t31, i32 0, i32 0 %t34 = load ptr, ptr %t33 %t35 = getelementptr inbounds %LSlice, ptr %t31, i32 0, i32 1 %t36 = load i32, ptr %t35 %t37 = icmp ult i32 %t32, %t36 br i1 %t37, label %ixok8, label %ixbad9 ixbad9: store i32 816, ptr @lp_site %t38 = call ptr @lp_win_stdio(i32 2) store i32 0, ptr @lp_site call i32 (ptr, ptr, ...) @fprintf(ptr %t38, ptr @.fmt_bounds, ptr @.str1466, i32 %t32, i32 %t36) call void @exit(i32 1) unreachable ixok8: %t39 = getelementptr inbounds ptr, ptr %t34, i32 %t32 %t40 = load ptr, ptr %t39 %t41 = getelementptr inbounds %Cmp_Node, ptr %t40, i32 0, i32 1 %t42 = load ptr, ptr %t41 %t43 = call i32 @lp_str_eq(ptr %t30, ptr %t42) %t44 = icmp ne i32 %t43, 0 %t45 = zext i1 %t44 to i32 store i32 %t45, ptr %t18 br i1 %t44, label %sc10, label %scend11 sc10: %t46 = load ptr, ptr @g_g_events %t47 = load i32, ptr %t10 %t48 = getelementptr inbounds %LSlice, ptr %t46, i32 0, i32 0 %t49 = load ptr, ptr %t48 %t50 = getelementptr inbounds %LSlice, ptr %t46, i32 0, i32 1 %t51 = load i32, ptr %t50 %t52 = icmp ult i32 %t47, %t51 br i1 %t52, label %ixok12, label %ixbad13 ixbad13: store i32 817, ptr @lp_site %t53 = call ptr @lp_win_stdio(i32 2) store i32 0, ptr @lp_site call i32 (ptr, ptr, ...) @fprintf(ptr %t53, ptr @.fmt_bounds, ptr @.str1467, i32 %t47, i32 %t51) call void @exit(i32 1) unreachable ixok12: %t54 = getelementptr inbounds ptr, ptr %t49, i32 %t47 %t55 = load ptr, ptr %t54 %t56 = getelementptr inbounds %Cmp_Node, ptr %t55, i32 0, i32 9 %t57 = load ptr, ptr %t56 %t58 = icmp ne ptr %t57, null %t59 = zext i1 %t58 to i32 %t60 = icmp ne i32 %t59, 0 %t61 = zext i1 %t60 to i32 store i32 %t61, ptr %t18 br label %scend11 scend11: %t62 = load i32, ptr %t18 %t63 = icmp ne i32 %t62, 0 br i1 %t63, label %then14, label %ifend16 then14: %t64 = load ptr, ptr @g_g_events %t65 = load i32, ptr %t10 %t66 = getelementptr inbounds %LSlice, ptr %t64, i32 0, i32 0 %t67 = load ptr, ptr %t66 %t68 = getelementptr inbounds %LSlice, ptr %t64, i32 0, i32 1 %t69 = load i32, ptr %t68 %t70 = icmp ult i32 %t65, %t69 br i1 %t70, label %ixok17, label %ixbad18 ixbad18: store i32 818, ptr @lp_site %t71 = call ptr @lp_win_stdio(i32 2) store i32 0, ptr @lp_site call i32 (ptr, ptr, ...) @fprintf(ptr %t71, ptr @.fmt_bounds, ptr @.str1468, i32 %t65, i32 %t69) call void @exit(i32 1) unreachable ixok17: %t72 = getelementptr inbounds ptr, ptr %t67, i32 %t65 %t73 = load ptr, ptr %t72 %t74 = getelementptr inbounds %Cmp_Node, ptr %t73, i32 0, i32 9 %t75 = load ptr, ptr %t74 store ptr %t75, ptr @g_g_err_file %t76 = load ptr, ptr @g_g_events %t77 = load i32, ptr %t10 %t78 = getelementptr inbounds %LSlice, ptr %t76, i32 0, i32 0 %t79 = load ptr, ptr %t78 %t80 = getelementptr inbounds %LSlice, ptr %t76, i32 0, i32 1 %t81 = load i32, ptr %t80 %t82 = icmp ult i32 %t77, %t81 br i1 %t82, label %ixok19, label %ixbad20 ixbad20: store i32 819, ptr @lp_site %t83 = call ptr @lp_win_stdio(i32 2) store i32 0, ptr @lp_site call i32 (ptr, ptr, ...) @fprintf(ptr %t83, ptr @.fmt_bounds, ptr @.str1469, i32 %t77, i32 %t81) call void @exit(i32 1) unreachable ixok19: %t84 = getelementptr inbounds ptr, ptr %t79, i32 %t77 %t85 = load ptr, ptr %t84 %t86 = getelementptr inbounds %Cmp_Node, ptr %t85, i32 0, i32 8 %t87 = load i32, ptr %t86 store i32 %t87, ptr @g_g_err_line %t88 = load ptr, ptr @g_g_events %t89 = load i32, ptr %t0 %t90 = getelementptr inbounds %LSlice, ptr %t88, i32 0, i32 0 %t91 = load ptr, ptr %t90 %t92 = getelementptr inbounds %LSlice, ptr %t88, i32 0, i32 1 %t93 = load i32, ptr %t92 %t94 = icmp ult i32 %t89, %t93 br i1 %t94, label %ixok21, label %ixbad22 ixbad22: store i32 820, ptr @lp_site %t95 = call ptr @lp_win_stdio(i32 2) store i32 0, ptr @lp_site call i32 (ptr, ptr, ...) @fprintf(ptr %t95, ptr @.fmt_bounds, ptr @.str1471, i32 %t89, i32 %t93) call void @exit(i32 1) unreachable ixok21: %t96 = getelementptr inbounds ptr, ptr %t91, i32 %t89 %t97 = load ptr, ptr %t96 %t98 = getelementptr inbounds %Cmp_Node, ptr %t97, i32 0, i32 1 %t99 = load ptr, ptr %t98 store i32 821, ptr @lp_site %t100 = call ptr @lp_str_concat(ptr @.str1470, ptr %t99) store i32 0, ptr @lp_site store i32 822, ptr @lp_site %t101 = call ptr @lp_str_concat(ptr %t100, ptr @.str1472) store i32 0, ptr @lp_site call void @lp_free(ptr %t100) %t102 = load ptr, ptr @g_g_events %t103 = load i32, ptr %t0 %t104 = getelementptr inbounds %LSlice, ptr %t102, i32 0, i32 0 %t105 = load ptr, ptr %t104 %t106 = getelementptr inbounds %LSlice, ptr %t102, i32 0, i32 1 %t107 = load i32, ptr %t106 %t108 = icmp ult i32 %t103, %t107 br i1 %t108, label %ixok23, label %ixbad24 ixbad24: store i32 823, ptr @lp_site %t109 = call ptr @lp_win_stdio(i32 2) store i32 0, ptr @lp_site call i32 (ptr, ptr, ...) @fprintf(ptr %t109, ptr @.fmt_bounds, ptr @.str1473, i32 %t103, i32 %t107) call void @exit(i32 1) unreachable ixok23: %t110 = getelementptr inbounds ptr, ptr %t105, i32 %t103 %t111 = load ptr, ptr %t110 %t112 = getelementptr inbounds %Cmp_Node, ptr %t111, i32 0, i32 9 %t113 = load ptr, ptr %t112 store i32 824, ptr @lp_site %t114 = call ptr @lp_str_concat(ptr %t101, ptr %t113) store i32 0, ptr @lp_site call void @lp_free(ptr %t101) store i32 825, ptr @lp_site %t115 = call ptr @lp_str_concat(ptr %t114, ptr @.str1474) store i32 0, ptr @lp_site call void @lp_free(ptr %t114) %t116 = load ptr, ptr @g_g_events %t117 = load i32, ptr %t0 %t118 = getelementptr inbounds %LSlice, ptr %t116, i32 0, i32 0 %t119 = load ptr, ptr %t118 %t120 = getelementptr inbounds %LSlice, ptr %t116, i32 0, i32 1 %t121 = load i32, ptr %t120 %t122 = icmp ult i32 %t117, %t121 br i1 %t122, label %ixok25, label %ixbad26 ixbad26: store i32 826, ptr @lp_site %t123 = call ptr @lp_win_stdio(i32 2) store i32 0, ptr @lp_site call i32 (ptr, ptr, ...) @fprintf(ptr %t123, ptr @.fmt_bounds, ptr @.str1475, i32 %t117, i32 %t121) call void @exit(i32 1) unreachable ixok25: %t124 = getelementptr inbounds ptr, ptr %t119, i32 %t117 %t125 = load ptr, ptr %t124 %t126 = getelementptr inbounds %Cmp_Node, ptr %t125, i32 0, i32 8 %t127 = load i32, ptr %t126 %t128 = call ptr @fn_itoa(i32 %t127) store i32 827, ptr @lp_site %t129 = call ptr @lp_str_concat(ptr %t115, ptr %t128) store i32 0, ptr @lp_site call void @lp_free(ptr %t115) store i32 828, ptr @lp_site %t130 = call ptr @lp_str_concat(ptr %t129, ptr @.str1476) store i32 0, ptr @lp_site call void @lp_free(ptr %t129) call void @fn_perr(ptr %t130) br label %ifend16 ifend16: %t131 = load i32, ptr %t10 %t132 = add i32 %t131, 1 store i32 %t132, ptr %t10 br label %wcond3 wend5: %t133 = load i32, ptr %t0 %t134 = add i32 %t133, 1 store i32 %t134, ptr %t0 br label %wcond0 wend2: br label %ret ret: ret void } define void @fn_privates_types() { entry: %t0 = alloca i32 call void @fn_pt_records() call void @fn_pt_events() %t1 = load ptr, ptr @g_g_rt_old %t2 = getelementptr inbounds %LSlice, ptr %t1, i32 0, i32 1 %t3 = load i32, ptr %t2 %t4 = icmp sgt i32 %t3, 0 %t5 = zext i1 %t4 to i32 %t6 = icmp ne i32 %t5, 0 %t7 = zext i1 %t6 to i32 store i32 %t7, ptr %t0 br i1 %t6, label %scend1, label %sc0 sc0: %t8 = load ptr, ptr @g_g_re_old %t9 = getelementptr inbounds %LSlice, ptr %t8, i32 0, i32 1 %t10 = load i32, ptr %t9 %t11 = icmp sgt i32 %t10, 0 %t12 = zext i1 %t11 to i32 %t13 = icmp ne i32 %t12, 0 %t14 = zext i1 %t13 to i32 store i32 %t14, ptr %t0 br label %scend1 scend1: %t15 = load i32, ptr %t0 %t16 = icmp ne i32 %t15, 0 br i1 %t16, label %then2, label %ifend4 then2: call void @fn_pt_apply() br label %ifend4 ifend4: call void @fn_pt_events_twice() br label %ret ret: ret void } define i32 @fn_is_runtime_file(ptr %arg_f) { entry: %retval = alloca i32 %t0 = alloca ptr %t1 = alloca i32 store ptr %arg_f, ptr %t0 %t2 = load ptr, ptr %t0 %t3 = icmp ne ptr %t2, null %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 ptr, ptr %t0 %t8 = call i32 @fn_has_sub(ptr %t7, ptr @.str1477) %t9 = icmp ne i32 %t8, 0 %t10 = zext i1 %t9 to i32 store i32 %t10, ptr %t1 br label %scend1 scend1: %t11 = load i32, ptr %t1 store i32 %t11, ptr %retval br label %ret ret: %t12 = load i32, ptr %retval ret i32 %t12 } define void @fn_state_inject_runtime(ptr %arg_e, ptr %arg_f) { entry: %t0 = alloca ptr %t1 = alloca ptr %t2 = alloca i32 %t3 = alloca i32 %t4 = alloca i32 store ptr %arg_e, ptr %t0 store ptr %arg_f, ptr %t1 %t5 = load ptr, ptr %t0 %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 %t4 br i1 %t8, label %sc0, label %scend1 sc0: %t10 = load ptr, ptr %t1 %t11 = icmp ne ptr %t10, null %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 %sc2, label %scend3 sc2: %t18 = load ptr, ptr %t1 %t19 = getelementptr inbounds %Cmp_Node, ptr %t18, i32 0, i32 9 %t20 = load ptr, ptr %t19 %t21 = call i32 @fn_is_runtime_file(ptr %t20) %t22 = icmp ne i32 %t21, 0 %t23 = zext i1 %t22 to i32 store i32 %t23, ptr %t3 br label %scend3 scend3: %t24 = load i32, ptr %t3 %t25 = icmp ne i32 %t24, 0 %t26 = zext i1 %t25 to i32 store i32 %t26, ptr %t2 br i1 %t25, label %sc4, label %scend5 sc4: %t27 = load ptr, ptr %t0 %t28 = getelementptr inbounds %Cmp_Node, ptr %t27, i32 0, i32 9 %t29 = load ptr, ptr %t28 %t30 = call i32 @fn_is_runtime_file(ptr %t29) %t31 = icmp eq i32 %t30, 0 %t32 = zext i1 %t31 to i32 %t33 = icmp ne i32 %t32, 0 %t34 = zext i1 %t33 to i32 store i32 %t34, ptr %t2 br label %scend5 scend5: %t35 = load i32, ptr %t2 %t36 = icmp ne i32 %t35, 0 br i1 %t36, label %then6, label %ifend8 then6: %t37 = load ptr, ptr %t0 %t38 = load ptr, ptr %t1 call void @fn_state_inject(ptr %t37, ptr %t38) br label %ifend8 ifend8: br label %ret ret: ret void } define void @fn_state_inject_generated(ptr %arg_e, ptr %arg_f) { entry: %t0 = alloca ptr %t1 = alloca ptr %t2 = alloca i32 store ptr %arg_e, ptr %t0 store ptr %arg_f, ptr %t1 %t3 = load ptr, ptr %t0 %t4 = icmp ne ptr %t3, null %t5 = zext i1 %t4 to i32 %t6 = icmp ne i32 %t5, 0 %t7 = zext i1 %t6 to i32 store i32 %t7, ptr %t2 br i1 %t6, label %sc0, label %scend1 sc0: %t8 = load ptr, ptr %t0 %t9 = getelementptr inbounds %Cmp_Node, ptr %t8, i32 0, i32 13 %t10 = load i32, ptr %t9 %t11 = icmp slt i32 %t10, 0 %t12 = zext i1 %t11 to i32 %t13 = icmp ne i32 %t12, 0 %t14 = zext i1 %t13 to i32 store i32 %t14, ptr %t2 br label %scend1 scend1: %t15 = load i32, ptr %t2 %t16 = icmp ne i32 %t15, 0 br i1 %t16, label %then2, label %ifend4 then2: %t17 = load ptr, ptr %t0 %t18 = load ptr, ptr %t1 call void @fn_state_inject(ptr %t17, ptr %t18) br label %ifend4 ifend4: br label %ret ret: ret void } define void @fn_state_params_onto(ptr %arg_f, ptr %arg_ps) { entry: %t0 = alloca ptr %t1 = alloca ptr %t14 = alloca ptr %t15 = alloca i32 %t24 = alloca ptr store ptr %arg_f, ptr %t0 store ptr %arg_ps, ptr %t1 %t2 = load ptr, ptr %t1 %t3 = getelementptr inbounds %LSlice, ptr %t2, i32 0, i32 1 %t4 = load i32, ptr %t3 %t5 = icmp eq i32 %t4, 0 %t6 = zext i1 %t5 to i32 %t7 = icmp ne i32 %t6, 0 br i1 %t7, label %then0, label %ifend2 then0: br label %ret ifend2: %t8 = getelementptr %LSlice, ptr null, i32 1 %t9 = ptrtoint ptr %t8 to i64 store i32 829, ptr @lp_site %t10 = call ptr @lp_malloc(i64 %t9) store i32 0, ptr @lp_site %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 %wcond3 wcond3: %t16 = load i32, ptr %t15 %t17 = load ptr, ptr %t1 %t18 = getelementptr inbounds %LSlice, ptr %t17, i32 0, i32 1 %t19 = load i32, ptr %t18 %t20 = icmp slt i32 %t16, %t19 %t21 = zext i1 %t20 to i32 %t22 = icmp ne i32 %t21, 0 br i1 %t22, label %wbody4, label %wend5 wbody4: %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 1 %t27 = load ptr, ptr %t1 %t28 = load i32, ptr %t15 %t29 = getelementptr inbounds %LSlice, ptr %t27, i32 0, i32 0 %t30 = load ptr, ptr %t29 %t31 = getelementptr inbounds %LSlice, ptr %t27, i32 0, i32 1 %t32 = load i32, ptr %t31 %t33 = icmp ult i32 %t28, %t32 br i1 %t33, label %ixok6, label %ixbad7 ixbad7: store i32 830, ptr @lp_site %t34 = call ptr @lp_win_stdio(i32 2) store i32 0, ptr @lp_site call i32 (ptr, ptr, ...) @fprintf(ptr %t34, ptr @.fmt_bounds, ptr @.str1479, i32 %t28, i32 %t32) call void @exit(i32 1) unreachable ixok6: %t35 = getelementptr inbounds ptr, ptr %t30, i32 %t28 %t36 = load ptr, ptr %t35 %t37 = getelementptr inbounds %Cmp_Node, ptr %t36, i32 0, i32 1 %t38 = load ptr, ptr %t37 store ptr %t38, ptr %t26 %t39 = load ptr, ptr %t24 %t40 = getelementptr inbounds %Cmp_Node, ptr %t39, i32 0, i32 3 %t41 = load ptr, ptr %t1 %t42 = load i32, ptr %t15 %t43 = getelementptr inbounds %LSlice, ptr %t41, i32 0, i32 0 %t44 = load ptr, ptr %t43 %t45 = getelementptr inbounds %LSlice, ptr %t41, i32 0, i32 1 %t46 = load i32, ptr %t45 %t47 = icmp ult i32 %t42, %t46 br i1 %t47, label %ixok8, label %ixbad9 ixbad9: store i32 831, ptr @lp_site %t48 = call ptr @lp_win_stdio(i32 2) store i32 0, ptr @lp_site call i32 (ptr, ptr, ...) @fprintf(ptr %t48, ptr @.fmt_bounds, ptr @.str1480, i32 %t42, i32 %t46) call void @exit(i32 1) unreachable ixok8: %t49 = getelementptr inbounds ptr, ptr %t44, i32 %t42 %t50 = load ptr, ptr %t49 %t51 = getelementptr inbounds %Cmp_Node, ptr %t50, i32 0, i32 3 %t52 = load ptr, ptr %t51 store ptr %t52, ptr %t40 %t53 = load ptr, ptr %t24 %t54 = getelementptr inbounds %Cmp_Node, ptr %t53, i32 0, i32 12 %t55 = load ptr, ptr %t1 %t56 = load i32, ptr %t15 %t57 = getelementptr inbounds %LSlice, ptr %t55, i32 0, i32 0 %t58 = load ptr, ptr %t57 %t59 = getelementptr inbounds %LSlice, ptr %t55, i32 0, i32 1 %t60 = load i32, ptr %t59 %t61 = icmp ult i32 %t56, %t60 br i1 %t61, label %ixok10, label %ixbad11 ixbad11: store i32 832, ptr @lp_site %t62 = call ptr @lp_win_stdio(i32 2) store i32 0, ptr @lp_site call i32 (ptr, ptr, ...) @fprintf(ptr %t62, ptr @.fmt_bounds, ptr @.str1481, i32 %t56, i32 %t60) call void @exit(i32 1) unreachable ixok10: %t63 = getelementptr inbounds ptr, ptr %t58, i32 %t56 %t64 = load ptr, ptr %t63 %t65 = getelementptr inbounds %Cmp_Node, ptr %t64, i32 0, i32 12 %t66 = load i32, ptr %t65 store i32 %t66, ptr %t54 %t67 = load ptr, ptr %t24 %t68 = getelementptr inbounds %Cmp_Node, ptr %t67, i32 0, i32 9 %t69 = load ptr, ptr %t1 %t70 = load i32, ptr %t15 %t71 = getelementptr inbounds %LSlice, ptr %t69, i32 0, i32 0 %t72 = load ptr, ptr %t71 %t73 = getelementptr inbounds %LSlice, ptr %t69, i32 0, i32 1 %t74 = load i32, ptr %t73 %t75 = icmp ult i32 %t70, %t74 br i1 %t75, label %ixok12, label %ixbad13 ixbad13: store i32 833, ptr @lp_site %t76 = call ptr @lp_win_stdio(i32 2) store i32 0, ptr @lp_site call i32 (ptr, ptr, ...) @fprintf(ptr %t76, ptr @.fmt_bounds, ptr @.str1482, i32 %t70, i32 %t74) call void @exit(i32 1) unreachable ixok12: %t77 = getelementptr inbounds ptr, ptr %t72, i32 %t70 %t78 = load ptr, ptr %t77 %t79 = getelementptr inbounds %Cmp_Node, ptr %t78, i32 0, i32 9 %t80 = load ptr, ptr %t79 store ptr %t80, ptr %t68 %t81 = load ptr, ptr %t24 %t82 = getelementptr inbounds %Cmp_Node, ptr %t81, i32 0, i32 8 %t83 = load ptr, ptr %t1 %t84 = load i32, ptr %t15 %t85 = getelementptr inbounds %LSlice, ptr %t83, i32 0, i32 0 %t86 = load ptr, ptr %t85 %t87 = getelementptr inbounds %LSlice, ptr %t83, i32 0, i32 1 %t88 = load i32, ptr %t87 %t89 = icmp ult i32 %t84, %t88 br i1 %t89, label %ixok14, label %ixbad15 ixbad15: store i32 834, ptr @lp_site %t90 = call ptr @lp_win_stdio(i32 2) store i32 0, ptr @lp_site call i32 (ptr, ptr, ...) @fprintf(ptr %t90, ptr @.fmt_bounds, ptr @.str1483, i32 %t84, i32 %t88) call void @exit(i32 1) unreachable ixok14: %t91 = getelementptr inbounds ptr, ptr %t86, i32 %t84 %t92 = load ptr, ptr %t91 %t93 = getelementptr inbounds %Cmp_Node, ptr %t92, i32 0, i32 8 %t94 = load i32, ptr %t93 store i32 %t94, ptr %t82 %t95 = load ptr, ptr %t14 %t96 = load ptr, ptr %t24 %t97 = getelementptr inbounds %LSlice, ptr %t95, i32 0, i32 1 %t98 = getelementptr inbounds %LSlice, ptr %t95, i32 0, i32 2 %t99 = getelementptr inbounds %LSlice, ptr %t95, i32 0, i32 0 %t100 = load i32, ptr %t97 %t101 = load i32, ptr %t98 %t102 = icmp sge i32 %t100, %t101 br i1 %t102, label %grow16, label %put17 grow16: %t103 = mul i32 %t101, 2 %t104 = icmp eq i32 %t101, 0 %t105 = select i1 %t104, i32 8, i32 %t103 %t106 = getelementptr ptr, ptr null, i32 1 %t107 = ptrtoint ptr %t106 to i64 %t108 = zext i32 %t105 to i64 %t109 = mul i64 %t108, %t107 %t110 = load ptr, ptr %t99 store i32 835, ptr @lp_site %t111 = call ptr @lp_realloc(ptr %t110, i64 %t109) store i32 0, ptr @lp_site store ptr %t111, ptr %t99 store i32 %t105, ptr %t98 br label %put17 put17: %t112 = load ptr, ptr %t99 %t113 = getelementptr inbounds ptr, ptr %t112, i32 %t100 store ptr %t96, ptr %t113 %t114 = add i32 %t100, 1 store i32 %t114, ptr %t97 %t115 = load i32, ptr %t15 %t116 = add i32 %t115, 1 store i32 %t116, ptr %t15 br label %wcond3 wend5: store i32 0, ptr %t15 br label %wcond18 wcond18: %t117 = load i32, ptr %t15 %t118 = load ptr, ptr %t0 %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 1 %t122 = load i32, ptr %t121 %t123 = icmp slt i32 %t117, %t122 %t124 = zext i1 %t123 to i32 %t125 = icmp ne i32 %t124, 0 br i1 %t125, label %wbody19, label %wend20 wbody19: %t126 = load ptr, ptr %t14 %t127 = load ptr, ptr %t0 %t128 = getelementptr inbounds %Cmp_Node, ptr %t127, i32 0, i32 7 %t129 = load ptr, ptr %t128 %t130 = load i32, ptr %t15 %t131 = getelementptr inbounds %LSlice, ptr %t129, i32 0, i32 0 %t132 = load ptr, ptr %t131 %t133 = getelementptr inbounds %LSlice, ptr %t129, i32 0, i32 1 %t134 = load i32, ptr %t133 %t135 = icmp ult i32 %t130, %t134 br i1 %t135, label %ixok21, label %ixbad22 ixbad22: store i32 836, ptr @lp_site %t136 = call ptr @lp_win_stdio(i32 2) store i32 0, ptr @lp_site call i32 (ptr, ptr, ...) @fprintf(ptr %t136, ptr @.fmt_bounds, ptr @.str1484, i32 %t130, i32 %t134) call void @exit(i32 1) unreachable ixok21: %t137 = getelementptr inbounds ptr, ptr %t132, i32 %t130 %t138 = load ptr, ptr %t137 %t139 = getelementptr inbounds %LSlice, ptr %t126, i32 0, i32 1 %t140 = getelementptr inbounds %LSlice, ptr %t126, i32 0, i32 2 %t141 = getelementptr inbounds %LSlice, ptr %t126, i32 0, i32 0 %t142 = load i32, ptr %t139 %t143 = load i32, ptr %t140 %t144 = icmp sge i32 %t142, %t143 br i1 %t144, label %grow23, label %put24 grow23: %t145 = mul i32 %t143, 2 %t146 = icmp eq i32 %t143, 0 %t147 = select i1 %t146, i32 8, i32 %t145 %t148 = getelementptr ptr, ptr null, i32 1 %t149 = ptrtoint ptr %t148 to i64 %t150 = zext i32 %t147 to i64 %t151 = mul i64 %t150, %t149 %t152 = load ptr, ptr %t141 store i32 837, ptr @lp_site %t153 = call ptr @lp_realloc(ptr %t152, i64 %t151) store i32 0, ptr @lp_site store ptr %t153, ptr %t141 store i32 %t147, ptr %t140 br label %put24 put24: %t154 = load ptr, ptr %t141 %t155 = getelementptr inbounds ptr, ptr %t154, i32 %t142 store ptr %t138, ptr %t155 %t156 = add i32 %t142, 1 store i32 %t156, ptr %t139 %t157 = load i32, ptr %t15 %t158 = add i32 %t157, 1 store i32 %t158, ptr %t15 br label %wcond18 wend20: %t159 = load ptr, ptr %t0 %t160 = getelementptr inbounds %Cmp_Node, ptr %t159, i32 0, i32 7 %t161 = load ptr, ptr %t14 store ptr %t161, ptr %t160 br label %ret ret: ret void } define ptr @fn_state_global(ptr %arg_name) { entry: %retval = alloca ptr %t0 = alloca ptr store ptr %arg_name, ptr %t0 %t1 = load ptr, ptr %t0 store i32 838, ptr @lp_site %t2 = call ptr @lp_str_concat(ptr @.str1485, ptr %t1) store i32 0, ptr @lp_site store ptr %t2, ptr %retval br label %ret ret: %t3 = load ptr, ptr %retval ret ptr %t3 } define i32 @fn_is_state_ty(ptr %arg_t) { entry: %retval = alloca i32 %t0 = alloca ptr %t5 = alloca i32 store ptr %arg_t, 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: store i32 0, ptr %retval br label %ret ifend2: store i32 0, ptr %t5 br label %wcond3 wcond3: %t6 = load i32, ptr %t5 %t7 = load ptr, ptr @g_g_state_names %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 %wbody4, label %wend5 wbody4: %t13 = load ptr, ptr @g_g_state_names %t14 = load i32, ptr %t5 %t15 = getelementptr inbounds %LSlice, ptr %t13, i32 0, i32 0 %t16 = load ptr, ptr %t15 %t17 = getelementptr inbounds %LSlice, ptr %t13, i32 0, i32 1 %t18 = load i32, ptr %t17 %t19 = icmp ult i32 %t14, %t18 br i1 %t19, label %ixok6, label %ixbad7 ixbad7: store i32 839, ptr @lp_site %t20 = call ptr @lp_win_stdio(i32 2) store i32 0, ptr @lp_site call i32 (ptr, ptr, ...) @fprintf(ptr %t20, ptr @.fmt_bounds, ptr @.str1487, i32 %t14, i32 %t18) call void @exit(i32 1) unreachable ixok6: %t21 = getelementptr inbounds ptr, ptr %t16, i32 %t14 %t22 = load ptr, ptr %t21 %t23 = load ptr, ptr %t0 %t24 = call i32 @lp_str_eq(ptr %t22, ptr %t23) %t25 = icmp ne i32 %t24, 0 br i1 %t25, label %then8, label %ifend10 then8: store i32 1, ptr %retval br label %ret ifend10: %t26 = load i32, ptr %t5 %t27 = add i32 %t26, 1 store i32 %t27, ptr %t5 br label %wcond3 wend5: store i32 0, ptr %retval br label %ret ret: %t28 = load i32, ptr %retval ret i32 %t28 } define void @fn_parse_state() { entry: %t1 = alloca ptr %t47 = alloca ptr %t67 = alloca ptr %t0 = call ptr @fn_parse_component() store ptr %t0, ptr %t1 %t2 = load ptr, ptr %t1 %t3 = getelementptr inbounds %Cmp_Node, ptr %t2, i32 0, i32 12 store i32 2, ptr %t3 %t4 = load ptr, ptr @g_prog %t5 = load ptr, ptr %t1 %t6 = getelementptr inbounds %LSlice, ptr %t4, i32 0, i32 1 %t7 = getelementptr inbounds %LSlice, ptr %t4, i32 0, i32 2 %t8 = getelementptr inbounds %LSlice, ptr %t4, i32 0, i32 0 %t9 = load i32, ptr %t6 %t10 = load i32, ptr %t7 %t11 = icmp sge i32 %t9, %t10 br i1 %t11, label %grow0, label %put1 grow0: %t12 = mul i32 %t10, 2 %t13 = icmp eq i32 %t10, 0 %t14 = select i1 %t13, i32 8, i32 %t12 %t15 = getelementptr ptr, ptr null, i32 1 %t16 = ptrtoint ptr %t15 to i64 %t17 = zext i32 %t14 to i64 %t18 = mul i64 %t17, %t16 %t19 = load ptr, ptr %t8 store i32 840, ptr @lp_site %t20 = call ptr @lp_realloc(ptr %t19, i64 %t18) store i32 0, ptr @lp_site store ptr %t20, ptr %t8 store i32 %t14, ptr %t7 br label %put1 put1: %t21 = load ptr, ptr %t8 %t22 = getelementptr inbounds ptr, ptr %t21, i32 %t9 store ptr %t5, ptr %t22 %t23 = add i32 %t9, 1 store i32 %t23, ptr %t6 %t24 = load ptr, ptr @g_g_state_names %t25 = load ptr, ptr %t1 %t26 = getelementptr inbounds %Cmp_Node, ptr %t25, i32 0, i32 1 %t27 = load ptr, ptr %t26 %t28 = getelementptr inbounds %LSlice, ptr %t24, i32 0, i32 1 %t29 = getelementptr inbounds %LSlice, ptr %t24, i32 0, i32 2 %t30 = getelementptr inbounds %LSlice, ptr %t24, 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 ptr, 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 store i32 841, ptr @lp_site %t42 = call ptr @lp_realloc(ptr %t41, i64 %t40) store i32 0, ptr @lp_site store ptr %t42, ptr %t30 store i32 %t36, ptr %t29 br label %put3 put3: %t43 = load ptr, ptr %t30 %t44 = getelementptr inbounds ptr, ptr %t43, i32 %t31 store ptr %t27, ptr %t44 %t45 = add i32 %t31, 1 store i32 %t45, ptr %t28 %t46 = call ptr @fn_node(i32 2) store ptr %t46, ptr %t47 %t48 = load ptr, ptr %t47 %t49 = getelementptr inbounds %Cmp_Node, ptr %t48, i32 0, i32 1 %t50 = load ptr, ptr %t1 %t51 = getelementptr inbounds %Cmp_Node, ptr %t50, i32 0, i32 1 %t52 = load ptr, ptr %t51 %t53 = call ptr @fn_state_global(ptr %t52) store ptr %t53, ptr %t49 %t54 = load ptr, ptr %t47 %t55 = getelementptr inbounds %Cmp_Node, ptr %t54, i32 0, i32 3 %t56 = load ptr, ptr %t1 %t57 = getelementptr inbounds %Cmp_Node, ptr %t56, i32 0, i32 1 %t58 = load ptr, ptr %t57 store ptr %t58, ptr %t55 %t59 = load ptr, ptr %t47 %t60 = getelementptr inbounds %Cmp_Node, ptr %t59, i32 0, i32 8 %t61 = load ptr, ptr %t1 %t62 = getelementptr inbounds %Cmp_Node, ptr %t61, i32 0, i32 8 %t63 = load i32, ptr %t62 store i32 %t63, ptr %t60 %t64 = load ptr, ptr %t47 %t65 = getelementptr inbounds %Cmp_Node, ptr %t64, i32 0, i32 12 store i32 1, ptr %t65 %t66 = call ptr @fn_node(i32 39) store ptr %t66, ptr %t67 %t68 = load ptr, ptr %t67 %t69 = getelementptr inbounds %Cmp_Node, ptr %t68, i32 0, i32 1 %t70 = load ptr, ptr %t1 %t71 = getelementptr inbounds %Cmp_Node, ptr %t70, i32 0, i32 1 %t72 = load ptr, ptr %t71 store ptr %t72, ptr %t69 %t73 = load ptr, ptr %t67 %t74 = getelementptr inbounds %Cmp_Node, ptr %t73, i32 0, i32 9 %t75 = load ptr, ptr %t1 %t76 = getelementptr inbounds %Cmp_Node, ptr %t75, i32 0, i32 9 %t77 = load ptr, ptr %t76 store ptr %t77, ptr %t74 %t78 = load ptr, ptr %t67 %t79 = getelementptr inbounds %Cmp_Node, ptr %t78, i32 0, i32 8 %t80 = load ptr, ptr %t1 %t81 = getelementptr inbounds %Cmp_Node, ptr %t80, i32 0, i32 8 %t82 = load i32, ptr %t81 store i32 %t82, ptr %t79 %t83 = load ptr, ptr %t47 %t84 = getelementptr inbounds %Cmp_Node, ptr %t83, i32 0, i32 4 %t85 = load ptr, ptr %t67 store ptr %t85, ptr %t84 %t86 = load ptr, ptr @g_prog %t87 = load ptr, ptr %t47 %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 %grow4, label %put5 grow4: %t94 = mul i32 %t92, 2 %t95 = icmp eq i32 %t92, 0 %t96 = select i1 %t95, i32 8, i32 %t94 %t97 = getelementptr ptr, 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 store i32 842, ptr @lp_site %t102 = call ptr @lp_realloc(ptr %t101, i64 %t100) store i32 0, ptr @lp_site store ptr %t102, ptr %t90 store i32 %t96, ptr %t89 br label %put5 put5: %t103 = load ptr, ptr %t90 %t104 = getelementptr inbounds ptr, ptr %t103, i32 %t91 store ptr %t87, ptr %t104 %t105 = add i32 %t91, 1 store i32 %t105, ptr %t88 br label %ret ret: ret void } define void @fn_parse_param_mut(ptr %arg_p) { entry: %t0 = alloca ptr %t15 = alloca i32 store ptr %arg_p, ptr %t0 %t1 = load ptr, ptr %t0 %t2 = getelementptr inbounds %Cmp_Node, ptr %t1, i32 0, i32 14 %t3 = load ptr, ptr @g_toks %t4 = load i32, ptr @g_pi %t5 = getelementptr inbounds %LSlice, ptr %t3, i32 0, i32 0 %t6 = load ptr, ptr %t5 %t7 = getelementptr inbounds %LSlice, ptr %t3, i32 0, i32 1 %t8 = load i32, ptr %t7 %t9 = icmp ult i32 %t4, %t8 br i1 %t9, label %ixok0, label %ixbad1 ixbad1: store i32 843, ptr @lp_site %t10 = call ptr @lp_win_stdio(i32 2) store i32 0, ptr @lp_site call i32 (ptr, ptr, ...) @fprintf(ptr %t10, ptr @.fmt_bounds, ptr @.str1490, i32 %t4, i32 %t8) call void @exit(i32 1) unreachable ixok0: %t11 = getelementptr inbounds ptr, ptr %t6, i32 %t4 %t12 = load ptr, ptr %t11 %t13 = getelementptr inbounds %Cmp_Tok, ptr %t12, i32 0, i32 4 %t14 = load i32, ptr %t13 store i32 %t14, ptr %t2 %t16 = call i32 @fn_is_id(ptr @.str1492) %t17 = icmp ne i32 %t16, 0 %t18 = zext i1 %t17 to i32 store i32 %t18, ptr %t15 br i1 %t17, label %sc2, label %scend3 sc2: %t19 = load ptr, ptr @g_toks %t20 = load i32, ptr @g_pi %t21 = add i32 %t20, 1 %t22 = getelementptr inbounds %LSlice, ptr %t19, i32 0, i32 0 %t23 = load ptr, ptr %t22 %t24 = getelementptr inbounds %LSlice, ptr %t19, i32 0, i32 1 %t25 = load i32, ptr %t24 %t26 = icmp ult i32 %t21, %t25 br i1 %t26, label %ixok4, label %ixbad5 ixbad5: store i32 844, ptr @lp_site %t27 = call ptr @lp_win_stdio(i32 2) store i32 0, ptr @lp_site call i32 (ptr, ptr, ...) @fprintf(ptr %t27, ptr @.fmt_bounds, ptr @.str1493, i32 %t21, i32 %t25) call void @exit(i32 1) unreachable ixok4: %t28 = getelementptr inbounds ptr, ptr %t23, i32 %t21 %t29 = load ptr, ptr %t28 %t30 = getelementptr inbounds %Cmp_Tok, ptr %t29, i32 0, i32 0 %t31 = load i32, ptr %t30 %t32 = icmp eq i32 %t31, 0 %t33 = zext i1 %t32 to i32 %t34 = icmp ne i32 %t33, 0 %t35 = zext i1 %t34 to i32 store i32 %t35, ptr %t15 br label %scend3 scend3: %t36 = load i32, ptr %t15 %t37 = icmp ne i32 %t36, 0 br i1 %t37, label %then6, label %ifend8 then6: %t38 = load i32, ptr @g_pi %t39 = add i32 %t38, 1 store i32 %t39, ptr @g_pi %t40 = load ptr, ptr %t0 %t41 = getelementptr inbounds %Cmp_Node, ptr %t40, i32 0, i32 12 store i32 1, ptr %t41 br label %ifend8 ifend8: br label %ret ret: ret void } define ptr @fn_parse_entry_params() { entry: %retval = alloca ptr %t6 = alloca ptr %t19 = alloca ptr %t0 = getelementptr %LSlice, ptr null, i32 1 %t1 = ptrtoint ptr %t0 to i64 store i32 845, ptr @lp_site %t2 = call ptr @lp_malloc(i64 %t1) store i32 0, ptr @lp_site %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 = call i32 @fn_is_op(ptr @.str1495) %t8 = icmp eq i32 %t7, 0 %t9 = zext i1 %t8 to i32 %t10 = icmp ne i32 %t9, 0 br i1 %t10, label %then0, label %ifend2 then0: %t11 = load ptr, ptr %t6 store ptr %t11, ptr %retval br label %ret ifend2: %t12 = load i32, ptr @g_pi %t13 = add i32 %t12, 1 store i32 %t13, ptr @g_pi br label %wcond3 wcond3: %t14 = call i32 @fn_is_op(ptr @.str1496) %t15 = icmp eq i32 %t14, 0 %t16 = zext i1 %t15 to i32 %t17 = icmp ne i32 %t16, 0 br i1 %t17, label %wbody4, label %wend5 wbody4: call void @fn_skipnl() %t18 = call ptr @fn_node(i32 5) store ptr %t18, ptr %t19 %t20 = load ptr, ptr %t19 %t21 = getelementptr inbounds %Cmp_Node, ptr %t20, i32 0, i32 1 %t22 = call ptr @fn_eat_id() store ptr %t22, ptr %t21 call void @fn_eat_op(ptr @.str1497) %t23 = load ptr, ptr %t19 call void @fn_parse_param_mut(ptr %t23) %t24 = load ptr, ptr %t19 %t25 = getelementptr inbounds %Cmp_Node, ptr %t24, i32 0, i32 3 %t26 = call ptr @fn_ptype() store ptr %t26, ptr %t25 %t27 = load ptr, ptr %t6 %t28 = load ptr, ptr %t19 %t29 = getelementptr inbounds %LSlice, ptr %t27, i32 0, i32 1 %t30 = getelementptr inbounds %LSlice, ptr %t27, i32 0, i32 2 %t31 = getelementptr inbounds %LSlice, ptr %t27, i32 0, i32 0 %t32 = load i32, ptr %t29 %t33 = load i32, ptr %t30 %t34 = icmp sge i32 %t32, %t33 br i1 %t34, label %grow6, label %put7 grow6: %t35 = mul i32 %t33, 2 %t36 = icmp eq i32 %t33, 0 %t37 = select i1 %t36, i32 8, i32 %t35 %t38 = getelementptr ptr, ptr null, i32 1 %t39 = ptrtoint ptr %t38 to i64 %t40 = zext i32 %t37 to i64 %t41 = mul i64 %t40, %t39 %t42 = load ptr, ptr %t31 store i32 846, ptr @lp_site %t43 = call ptr @lp_realloc(ptr %t42, i64 %t41) store i32 0, ptr @lp_site store ptr %t43, ptr %t31 store i32 %t37, ptr %t30 br label %put7 put7: %t44 = load ptr, ptr %t31 %t45 = getelementptr inbounds ptr, ptr %t44, i32 %t32 store ptr %t28, ptr %t45 %t46 = add i32 %t32, 1 store i32 %t46, ptr %t29 call void @fn_skipnl() %t47 = call i32 @fn_is_op(ptr @.str1498) %t48 = icmp ne i32 %t47, 0 br i1 %t48, label %then8, label %ifend10 then8: %t49 = load i32, ptr @g_pi %t50 = add i32 %t49, 1 store i32 %t50, ptr @g_pi br label %ifend10 ifend10: br label %wcond3 wend5: call void @fn_eat_op(ptr @.str1499) %t51 = load ptr, ptr %t6 store ptr %t51, ptr %retval br label %ret ret: %t52 = load ptr, ptr %retval ret ptr %t52 } define void @fn_state_inject(ptr %arg_e, ptr %arg_f) { entry: %t0 = alloca ptr %t1 = alloca ptr %t2 = alloca i32 %t15 = alloca i32 %t16 = alloca i32 %t17 = alloca i32 %t44 = alloca i32 %t76 = alloca i32 %t96 = alloca i32 %t131 = alloca ptr %t138 = alloca ptr %t169 = alloca ptr store ptr %arg_e, ptr %t0 store ptr %arg_f, ptr %t1 %t3 = load ptr, ptr %t1 %t4 = icmp eq ptr %t3, null %t5 = zext i1 %t4 to i32 %t6 = icmp ne i32 %t5, 0 %t7 = zext i1 %t6 to i32 store i32 %t7, ptr %t2 br i1 %t6, label %scend1, label %sc0 sc0: %t8 = load ptr, ptr %t0 %t9 = icmp eq ptr %t8, null %t10 = zext i1 %t9 to i32 %t11 = icmp ne i32 %t10, 0 %t12 = zext i1 %t11 to i32 store i32 %t12, ptr %t2 br label %scend1 scend1: %t13 = load i32, ptr %t2 %t14 = icmp ne i32 %t13, 0 br i1 %t14, label %then2, label %ifend4 then2: br label %ret ifend4: store i32 0, ptr %t15 store i32 0, ptr %t16 store i32 0, ptr %t17 br label %wcond5 wcond5: %t18 = load i32, ptr %t17 %t19 = load ptr, ptr %t1 %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 %t18, %t23 %t25 = zext i1 %t24 to i32 %t26 = icmp ne i32 %t25, 0 br i1 %t26, label %wbody6, label %wend7 wbody6: %t27 = load ptr, ptr %t1 %t28 = getelementptr inbounds %Cmp_Node, ptr %t27, i32 0, i32 7 %t29 = load ptr, ptr %t28 %t30 = load i32, ptr %t17 %t31 = getelementptr inbounds %LSlice, ptr %t29, i32 0, i32 0 %t32 = load ptr, ptr %t31 %t33 = getelementptr inbounds %LSlice, ptr %t29, i32 0, i32 1 %t34 = load i32, ptr %t33 %t35 = icmp ult i32 %t30, %t34 br i1 %t35, label %ixok8, label %ixbad9 ixbad9: store i32 847, ptr @lp_site %t36 = call ptr @lp_win_stdio(i32 2) store i32 0, ptr @lp_site call i32 (ptr, ptr, ...) @fprintf(ptr %t36, ptr @.fmt_bounds, ptr @.str1500, i32 %t30, i32 %t34) call void @exit(i32 1) unreachable ixok8: %t37 = getelementptr inbounds ptr, ptr %t32, i32 %t30 %t38 = load ptr, ptr %t37 %t39 = getelementptr inbounds %Cmp_Node, ptr %t38, i32 0, i32 0 %t40 = load i32, ptr %t39 %t41 = icmp eq i32 %t40, 5 %t42 = zext i1 %t41 to i32 %t43 = icmp ne i32 %t42, 0 br i1 %t43, label %then10, label %ifend12 then10: %t45 = load i32, ptr %t16 %t46 = load i32, ptr %t15 %t47 = icmp eq i32 %t45, %t46 %t48 = zext i1 %t47 to i32 %t49 = icmp ne i32 %t48, 0 %t50 = zext i1 %t49 to i32 store i32 %t50, ptr %t44 br i1 %t49, label %sc13, label %scend14 sc13: %t51 = load ptr, ptr %t1 %t52 = getelementptr inbounds %Cmp_Node, ptr %t51, i32 0, i32 7 %t53 = load ptr, ptr %t52 %t54 = load i32, ptr %t17 %t55 = getelementptr inbounds %LSlice, ptr %t53, i32 0, i32 0 %t56 = load ptr, ptr %t55 %t57 = getelementptr inbounds %LSlice, ptr %t53, i32 0, i32 1 %t58 = load i32, ptr %t57 %t59 = icmp ult i32 %t54, %t58 br i1 %t59, label %ixok15, label %ixbad16 ixbad16: store i32 848, ptr @lp_site %t60 = call ptr @lp_win_stdio(i32 2) store i32 0, ptr @lp_site call i32 (ptr, ptr, ...) @fprintf(ptr %t60, ptr @.fmt_bounds, ptr @.str1502, i32 %t54, i32 %t58) call void @exit(i32 1) unreachable ixok15: %t61 = getelementptr inbounds ptr, ptr %t56, i32 %t54 %t62 = load ptr, ptr %t61 %t63 = getelementptr inbounds %Cmp_Node, ptr %t62, i32 0, i32 3 %t64 = load ptr, ptr %t63 %t65 = call i32 @fn_is_state_ty(ptr %t64) %t66 = icmp ne i32 %t65, 0 %t67 = zext i1 %t66 to i32 store i32 %t67, ptr %t44 br label %scend14 scend14: %t68 = load i32, ptr %t44 %t69 = icmp ne i32 %t68, 0 br i1 %t69, label %then17, label %ifend19 then17: %t70 = load i32, ptr %t15 %t71 = add i32 %t70, 1 store i32 %t71, ptr %t15 br label %ifend19 ifend19: %t72 = load i32, ptr %t16 %t73 = add i32 %t72, 1 store i32 %t73, ptr %t16 br label %ifend12 ifend12: %t74 = load i32, ptr %t17 %t75 = add i32 %t74, 1 store i32 %t75, ptr %t17 br label %wcond5 wend7: %t77 = load i32, ptr %t15 %t78 = icmp eq i32 %t77, 0 %t79 = zext i1 %t78 to i32 %t80 = icmp ne i32 %t79, 0 %t81 = zext i1 %t80 to i32 store i32 %t81, ptr %t76 br i1 %t80, label %scend21, label %sc20 sc20: %t82 = load ptr, ptr %t0 %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 = load i32, ptr %t15 %t88 = add i32 %t86, %t87 %t89 = load i32, ptr %t16 %t90 = icmp sgt i32 %t88, %t89 %t91 = zext i1 %t90 to i32 %t92 = icmp ne i32 %t91, 0 %t93 = zext i1 %t92 to i32 store i32 %t93, ptr %t76 br label %scend21 scend21: %t94 = load i32, ptr %t76 %t95 = icmp ne i32 %t94, 0 br i1 %t95, label %then22, label %ifend24 then22: br label %ret ifend24: store i32 0, ptr %t96 store i32 0, ptr %t17 br label %wcond25 wcond25: %t97 = load i32, ptr %t17 %t98 = load ptr, ptr %t0 %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 %wbody26, label %wend27 wbody26: %t106 = load ptr, ptr %t0 %t107 = getelementptr inbounds %Cmp_Node, ptr %t106, i32 0, i32 7 %t108 = load ptr, ptr %t107 %t109 = load i32, ptr %t17 %t110 = getelementptr inbounds %LSlice, ptr %t108, i32 0, i32 0 %t111 = load ptr, ptr %t110 %t112 = getelementptr inbounds %LSlice, ptr %t108, i32 0, i32 1 %t113 = load i32, ptr %t112 %t114 = icmp ult i32 %t109, %t113 br i1 %t114, label %ixok28, label %ixbad29 ixbad29: store i32 849, ptr @lp_site %t115 = call ptr @lp_win_stdio(i32 2) store i32 0, ptr @lp_site call i32 (ptr, ptr, ...) @fprintf(ptr %t115, ptr @.fmt_bounds, ptr @.str1503, i32 %t109, i32 %t113) call void @exit(i32 1) unreachable ixok28: %t116 = getelementptr inbounds ptr, ptr %t111, i32 %t109 %t117 = load ptr, ptr %t116 %t118 = getelementptr inbounds %Cmp_Node, ptr %t117, i32 0, i32 0 %t119 = load i32, ptr %t118 %t120 = icmp eq i32 %t119, 42 %t121 = zext i1 %t120 to i32 %t122 = icmp ne i32 %t121, 0 br i1 %t122, label %then30, label %ifend32 then30: store i32 1, ptr %t96 br label %ifend32 ifend32: %t123 = load i32, ptr %t17 %t124 = add i32 %t123, 1 store i32 %t124, ptr %t17 br label %wcond25 wend27: %t125 = getelementptr %LSlice, ptr null, i32 1 %t126 = ptrtoint ptr %t125 to i64 store i32 850, ptr @lp_site %t127 = call ptr @lp_malloc(i64 %t126) store i32 0, ptr @lp_site %t128 = getelementptr inbounds %LSlice, ptr %t127, i32 0, i32 0 store ptr null, ptr %t128 %t129 = getelementptr inbounds %LSlice, ptr %t127, i32 0, i32 1 store i32 0, ptr %t129 %t130 = getelementptr inbounds %LSlice, ptr %t127, i32 0, i32 2 store i32 0, ptr %t130 store ptr %t127, ptr %t131 store i32 0, ptr %t17 br label %wcond33 wcond33: %t132 = load i32, ptr %t17 %t133 = load i32, ptr %t15 %t134 = icmp slt i32 %t132, %t133 %t135 = zext i1 %t134 to i32 %t136 = icmp ne i32 %t135, 0 br i1 %t136, label %wbody34, label %wend35 wbody34: %t137 = call ptr @fn_node(i32 33) store ptr %t137, ptr %t138 %t139 = load ptr, ptr %t138 %t140 = getelementptr inbounds %Cmp_Node, ptr %t139, i32 0, i32 1 %t141 = load ptr, ptr %t1 %t142 = getelementptr inbounds %Cmp_Node, ptr %t141, i32 0, i32 7 %t143 = load ptr, ptr %t142 %t144 = load i32, ptr %t17 %t145 = getelementptr inbounds %LSlice, ptr %t143, i32 0, i32 0 %t146 = load ptr, ptr %t145 %t147 = getelementptr inbounds %LSlice, ptr %t143, i32 0, i32 1 %t148 = load i32, ptr %t147 %t149 = icmp ult i32 %t144, %t148 br i1 %t149, label %ixok36, label %ixbad37 ixbad37: store i32 851, ptr @lp_site %t150 = call ptr @lp_win_stdio(i32 2) store i32 0, ptr @lp_site call i32 (ptr, ptr, ...) @fprintf(ptr %t150, ptr @.fmt_bounds, ptr @.str1504, i32 %t144, i32 %t148) call void @exit(i32 1) unreachable ixok36: %t151 = getelementptr inbounds ptr, ptr %t146, i32 %t144 %t152 = load ptr, ptr %t151 %t153 = getelementptr inbounds %Cmp_Node, ptr %t152, i32 0, i32 3 %t154 = load ptr, ptr %t153 %t155 = call ptr @fn_state_global(ptr %t154) store ptr %t155, ptr %t140 %t156 = load ptr, ptr %t138 %t157 = getelementptr inbounds %Cmp_Node, ptr %t156, i32 0, i32 9 %t158 = load ptr, ptr %t0 %t159 = getelementptr inbounds %Cmp_Node, ptr %t158, i32 0, i32 9 %t160 = load ptr, ptr %t159 store ptr %t160, ptr %t157 %t161 = load ptr, ptr %t138 %t162 = getelementptr inbounds %Cmp_Node, ptr %t161, i32 0, i32 8 %t163 = load ptr, ptr %t0 %t164 = getelementptr inbounds %Cmp_Node, ptr %t163, i32 0, i32 8 %t165 = load i32, ptr %t164 store i32 %t165, ptr %t162 %t166 = load i32, ptr %t96 %t167 = icmp ne i32 %t166, 0 br i1 %t167, label %then38, label %else39 then38: %t168 = call ptr @fn_node(i32 42) store ptr %t168, ptr %t169 %t170 = load ptr, ptr %t169 %t171 = getelementptr inbounds %Cmp_Node, ptr %t170, i32 0, i32 1 %t172 = load ptr, ptr %t1 %t173 = getelementptr inbounds %Cmp_Node, ptr %t172, i32 0, i32 7 %t174 = load ptr, ptr %t173 %t175 = load i32, ptr %t17 %t176 = getelementptr inbounds %LSlice, ptr %t174, i32 0, i32 0 %t177 = load ptr, ptr %t176 %t178 = getelementptr inbounds %LSlice, ptr %t174, i32 0, i32 1 %t179 = load i32, ptr %t178 %t180 = icmp ult i32 %t175, %t179 br i1 %t180, label %ixok41, label %ixbad42 ixbad42: store i32 852, ptr @lp_site %t181 = call ptr @lp_win_stdio(i32 2) store i32 0, ptr @lp_site call i32 (ptr, ptr, ...) @fprintf(ptr %t181, ptr @.fmt_bounds, ptr @.str1505, i32 %t175, i32 %t179) call void @exit(i32 1) unreachable ixok41: %t182 = getelementptr inbounds ptr, ptr %t177, i32 %t175 %t183 = load ptr, ptr %t182 %t184 = getelementptr inbounds %Cmp_Node, ptr %t183, i32 0, i32 1 %t185 = load ptr, ptr %t184 store ptr %t185, ptr %t171 %t186 = load ptr, ptr %t169 %t187 = getelementptr inbounds %Cmp_Node, ptr %t186, i32 0, i32 4 %t188 = load ptr, ptr %t138 store ptr %t188, ptr %t187 %t189 = load ptr, ptr %t131 %t190 = load ptr, ptr %t169 %t191 = getelementptr inbounds %LSlice, ptr %t189, i32 0, i32 1 %t192 = getelementptr inbounds %LSlice, ptr %t189, i32 0, i32 2 %t193 = getelementptr inbounds %LSlice, ptr %t189, i32 0, i32 0 %t194 = load i32, ptr %t191 %t195 = load i32, ptr %t192 %t196 = icmp sge i32 %t194, %t195 br i1 %t196, label %grow43, label %put44 grow43: %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 store i32 853, ptr @lp_site %t205 = call ptr @lp_realloc(ptr %t204, i64 %t203) store i32 0, ptr @lp_site store ptr %t205, ptr %t193 store i32 %t199, ptr %t192 br label %put44 put44: %t206 = load ptr, ptr %t193 %t207 = getelementptr inbounds ptr, ptr %t206, i32 %t194 store ptr %t190, ptr %t207 %t208 = add i32 %t194, 1 store i32 %t208, ptr %t191 br label %ifend40 else39: %t209 = load ptr, ptr %t131 %t210 = load ptr, ptr %t138 %t211 = getelementptr inbounds %LSlice, ptr %t209, i32 0, i32 1 %t212 = getelementptr inbounds %LSlice, ptr %t209, i32 0, i32 2 %t213 = getelementptr inbounds %LSlice, ptr %t209, i32 0, i32 0 %t214 = load i32, ptr %t211 %t215 = load i32, ptr %t212 %t216 = icmp sge i32 %t214, %t215 br i1 %t216, label %grow45, label %put46 grow45: %t217 = mul i32 %t215, 2 %t218 = icmp eq i32 %t215, 0 %t219 = select i1 %t218, i32 8, i32 %t217 %t220 = getelementptr ptr, ptr null, i32 1 %t221 = ptrtoint ptr %t220 to i64 %t222 = zext i32 %t219 to i64 %t223 = mul i64 %t222, %t221 %t224 = load ptr, ptr %t213 store i32 854, ptr @lp_site %t225 = call ptr @lp_realloc(ptr %t224, i64 %t223) store i32 0, ptr @lp_site store ptr %t225, ptr %t213 store i32 %t219, ptr %t212 br label %put46 put46: %t226 = load ptr, ptr %t213 %t227 = getelementptr inbounds ptr, ptr %t226, i32 %t214 store ptr %t210, ptr %t227 %t228 = add i32 %t214, 1 store i32 %t228, ptr %t211 br label %ifend40 ifend40: %t229 = load i32, ptr %t17 %t230 = add i32 %t229, 1 store i32 %t230, ptr %t17 br label %wcond33 wend35: store i32 0, ptr %t17 br label %wcond47 wcond47: %t231 = load i32, ptr %t17 %t232 = load ptr, ptr %t0 %t233 = getelementptr inbounds %Cmp_Node, ptr %t232, i32 0, i32 7 %t234 = load ptr, ptr %t233 %t235 = getelementptr inbounds %LSlice, ptr %t234, i32 0, i32 1 %t236 = load i32, ptr %t235 %t237 = icmp slt i32 %t231, %t236 %t238 = zext i1 %t237 to i32 %t239 = icmp ne i32 %t238, 0 br i1 %t239, label %wbody48, label %wend49 wbody48: %t240 = load ptr, ptr %t131 %t241 = load ptr, ptr %t0 %t242 = getelementptr inbounds %Cmp_Node, ptr %t241, i32 0, i32 7 %t243 = load ptr, ptr %t242 %t244 = load i32, ptr %t17 %t245 = getelementptr inbounds %LSlice, ptr %t243, i32 0, i32 0 %t246 = load ptr, ptr %t245 %t247 = getelementptr inbounds %LSlice, ptr %t243, i32 0, i32 1 %t248 = load i32, ptr %t247 %t249 = icmp ult i32 %t244, %t248 br i1 %t249, label %ixok50, label %ixbad51 ixbad51: store i32 855, ptr @lp_site %t250 = call ptr @lp_win_stdio(i32 2) store i32 0, ptr @lp_site call i32 (ptr, ptr, ...) @fprintf(ptr %t250, ptr @.fmt_bounds, ptr @.str1506, i32 %t244, i32 %t248) call void @exit(i32 1) unreachable ixok50: %t251 = getelementptr inbounds ptr, ptr %t246, i32 %t244 %t252 = load ptr, ptr %t251 %t253 = getelementptr inbounds %LSlice, ptr %t240, i32 0, i32 1 %t254 = getelementptr inbounds %LSlice, ptr %t240, i32 0, i32 2 %t255 = getelementptr inbounds %LSlice, ptr %t240, i32 0, i32 0 %t256 = load i32, ptr %t253 %t257 = load i32, ptr %t254 %t258 = icmp sge i32 %t256, %t257 br i1 %t258, label %grow52, label %put53 grow52: %t259 = mul i32 %t257, 2 %t260 = icmp eq i32 %t257, 0 %t261 = select i1 %t260, i32 8, i32 %t259 %t262 = getelementptr ptr, ptr null, i32 1 %t263 = ptrtoint ptr %t262 to i64 %t264 = zext i32 %t261 to i64 %t265 = mul i64 %t264, %t263 %t266 = load ptr, ptr %t255 store i32 856, ptr @lp_site %t267 = call ptr @lp_realloc(ptr %t266, i64 %t265) store i32 0, ptr @lp_site store ptr %t267, ptr %t255 store i32 %t261, ptr %t254 br label %put53 put53: %t268 = load ptr, ptr %t255 %t269 = getelementptr inbounds ptr, ptr %t268, i32 %t256 store ptr %t252, ptr %t269 %t270 = add i32 %t256, 1 store i32 %t270, ptr %t253 %t271 = load i32, ptr %t17 %t272 = add i32 %t271, 1 store i32 %t272, ptr %t17 br label %wcond47 wend49: %t273 = load ptr, ptr %t0 %t274 = getelementptr inbounds %Cmp_Node, ptr %t273, i32 0, i32 7 %t275 = load ptr, ptr %t131 store ptr %t275, ptr %t274 br label %ret ret: ret void } define void @fn_ui_state_refs(ptr %arg_n) { entry: %t0 = alloca ptr %t5 = alloca i32 %t6 = alloca i32 %t7 = alloca i32 %t66 = alloca i32 store ptr %arg_n, 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: br label %ret ifend2: %t8 = load ptr, ptr %t0 %t9 = getelementptr inbounds %Cmp_Node, ptr %t8, i32 0, i32 0 %t10 = load i32, ptr %t9 %t11 = icmp eq i32 %t10, 35 %t12 = zext i1 %t11 to i32 %t13 = icmp ne i32 %t12, 0 %t14 = zext i1 %t13 to i32 store i32 %t14, ptr %t7 br i1 %t13, label %sc3, label %scend4 sc3: %t15 = load ptr, ptr %t0 %t16 = getelementptr inbounds %Cmp_Node, ptr %t15, i32 0, i32 4 %t17 = load ptr, ptr %t16 %t18 = icmp ne ptr %t17, null %t19 = zext i1 %t18 to i32 %t20 = icmp ne i32 %t19, 0 %t21 = zext i1 %t20 to i32 store i32 %t21, ptr %t7 br label %scend4 scend4: %t22 = load i32, ptr %t7 %t23 = icmp ne i32 %t22, 0 %t24 = zext i1 %t23 to i32 store i32 %t24, ptr %t6 br i1 %t23, label %sc5, label %scend6 sc5: %t25 = load ptr, ptr %t0 %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 0 %t29 = load i32, ptr %t28 %t30 = icmp eq i32 %t29, 33 %t31 = zext i1 %t30 to i32 %t32 = icmp ne i32 %t31, 0 %t33 = zext i1 %t32 to i32 store i32 %t33, ptr %t6 br label %scend6 scend6: %t34 = load i32, ptr %t6 %t35 = icmp ne i32 %t34, 0 %t36 = zext i1 %t35 to i32 store i32 %t36, ptr %t5 br i1 %t35, label %sc7, label %scend8 sc7: %t37 = load ptr, ptr %t0 %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 1 %t41 = load ptr, ptr %t40 %t42 = call i32 @fn_is_state_ty(ptr %t41) %t43 = icmp ne i32 %t42, 0 %t44 = zext i1 %t43 to i32 store i32 %t44, ptr %t5 br label %scend8 scend8: %t45 = load i32, ptr %t5 %t46 = icmp ne i32 %t45, 0 br i1 %t46, label %then9, label %ifend11 then9: %t47 = load ptr, ptr %t0 %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 %t0 %t52 = getelementptr inbounds %Cmp_Node, ptr %t51, i32 0, i32 4 %t53 = load ptr, ptr %t52 %t54 = getelementptr inbounds %Cmp_Node, ptr %t53, i32 0, i32 1 %t55 = load ptr, ptr %t54 %t56 = call ptr @fn_state_global(ptr %t55) store ptr %t56, ptr %t50 br label %ifend11 ifend11: %t57 = load ptr, ptr %t0 %t58 = getelementptr inbounds %Cmp_Node, ptr %t57, i32 0, i32 4 %t59 = load ptr, ptr %t58 call void @fn_ui_state_refs(ptr %t59) %t60 = load ptr, ptr %t0 %t61 = getelementptr inbounds %Cmp_Node, ptr %t60, i32 0, i32 5 %t62 = load ptr, ptr %t61 call void @fn_ui_state_refs(ptr %t62) %t63 = load ptr, ptr %t0 %t64 = getelementptr inbounds %Cmp_Node, ptr %t63, i32 0, i32 6 %t65 = load ptr, ptr %t64 call void @fn_ui_state_refs(ptr %t65) store i32 0, ptr %t66 br label %wcond12 wcond12: %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 %wbody13, label %wend14 wbody13: %t76 = load ptr, ptr %t0 %t77 = getelementptr inbounds %Cmp_Node, ptr %t76, i32 0, i32 7 %t78 = load ptr, ptr %t77 %t79 = load i32, ptr %t66 %t80 = getelementptr inbounds %LSlice, ptr %t78, i32 0, i32 0 %t81 = load ptr, ptr %t80 %t82 = getelementptr inbounds %LSlice, ptr %t78, i32 0, i32 1 %t83 = load i32, ptr %t82 %t84 = icmp ult i32 %t79, %t83 br i1 %t84, label %ixok15, label %ixbad16 ixbad16: store i32 857, ptr @lp_site %t85 = call ptr @lp_win_stdio(i32 2) store i32 0, ptr @lp_site call i32 (ptr, ptr, ...) @fprintf(ptr %t85, ptr @.fmt_bounds, ptr @.str1507, i32 %t79, i32 %t83) call void @exit(i32 1) unreachable ixok15: %t86 = getelementptr inbounds ptr, ptr %t81, i32 %t79 %t87 = load ptr, ptr %t86 call void @fn_ui_state_refs(ptr %t87) %t88 = load i32, ptr %t66 %t89 = add i32 %t88, 1 store i32 %t89, ptr %t66 br label %wcond12 wend14: br label %ret ret: ret void } define void @fn_ui_blocks_states() { 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 = load i32, ptr %t0 %t11 = getelementptr inbounds %LSlice, ptr %t9, i32 0, i32 0 %t12 = load ptr, ptr %t11 %t13 = getelementptr inbounds %LSlice, ptr %t9, i32 0, i32 1 %t14 = load i32, ptr %t13 %t15 = icmp ult i32 %t10, %t14 br i1 %t15, label %ixok3, label %ixbad4 ixbad4: store i32 858, ptr @lp_site %t16 = call ptr @lp_win_stdio(i32 2) store i32 0, ptr @lp_site call i32 (ptr, ptr, ...) @fprintf(ptr %t16, ptr @.fmt_bounds, ptr @.str1509, i32 %t10, i32 %t14) call void @exit(i32 1) unreachable ixok3: %t17 = getelementptr inbounds ptr, ptr %t12, i32 %t10 %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, 12 %t22 = zext i1 %t21 to i32 %t23 = icmp ne i32 %t22, 0 %t24 = zext i1 %t23 to i32 store i32 %t24, ptr %t8 br i1 %t23, label %sc5, label %scend6 sc5: %t25 = load ptr, ptr @g_prog %t26 = load i32, ptr %t0 %t27 = getelementptr inbounds %LSlice, ptr %t25, i32 0, i32 0 %t28 = load ptr, ptr %t27 %t29 = getelementptr inbounds %LSlice, ptr %t25, i32 0, i32 1 %t30 = load i32, ptr %t29 %t31 = icmp ult i32 %t26, %t30 br i1 %t31, label %ixok7, label %ixbad8 ixbad8: store i32 859, ptr @lp_site %t32 = call ptr @lp_win_stdio(i32 2) store i32 0, ptr @lp_site call i32 (ptr, ptr, ...) @fprintf(ptr %t32, ptr @.fmt_bounds, ptr @.str1511, i32 %t26, i32 %t30) call void @exit(i32 1) unreachable ixok7: %t33 = getelementptr inbounds ptr, ptr %t28, i32 %t26 %t34 = load ptr, ptr %t33 %t35 = getelementptr inbounds %Cmp_Node, ptr %t34, i32 0, i32 2 %t36 = load i32, ptr %t35 %t37 = icmp eq i32 %t36, 1 %t38 = zext i1 %t37 to i32 %t39 = icmp ne i32 %t38, 0 %t40 = zext i1 %t39 to i32 store i32 %t40, ptr %t8 br label %scend6 scend6: %t41 = load i32, ptr %t8 %t42 = icmp ne i32 %t41, 0 br i1 %t42, label %then9, label %ifend11 then9: %t43 = load ptr, ptr @g_prog %t44 = load i32, ptr %t0 %t45 = getelementptr inbounds %LSlice, ptr %t43, i32 0, i32 0 %t46 = load ptr, ptr %t45 %t47 = getelementptr inbounds %LSlice, ptr %t43, i32 0, i32 1 %t48 = load i32, ptr %t47 %t49 = icmp ult i32 %t44, %t48 br i1 %t49, label %ixok12, label %ixbad13 ixbad13: store i32 860, ptr @lp_site %t50 = call ptr @lp_win_stdio(i32 2) store i32 0, ptr @lp_site call i32 (ptr, ptr, ...) @fprintf(ptr %t50, ptr @.fmt_bounds, ptr @.str1512, i32 %t44, i32 %t48) call void @exit(i32 1) unreachable ixok12: %t51 = getelementptr inbounds ptr, ptr %t46, i32 %t44 %t52 = load ptr, ptr %t51 %t53 = getelementptr inbounds %Cmp_Node, ptr %t52, i32 0, i32 4 %t54 = load ptr, ptr %t53 call void @fn_ui_state_refs(ptr %t54) br label %ifend11 ifend11: %t55 = load i32, ptr %t0 %t56 = add i32 %t55, 1 store i32 %t56, ptr %t0 br label %wcond0 wend2: br label %ret ret: ret void } define void @fn_entry_bind(ptr %arg_body, ptr %arg_ps) { entry: %t0 = alloca ptr %t1 = alloca ptr %t2 = alloca i32 %t23 = alloca ptr %t24 = alloca i32 %t42 = alloca ptr %t44 = alloca ptr %t85 = alloca ptr %t127 = alloca i32 store ptr %arg_body, ptr %t0 store ptr %arg_ps, ptr %t1 %t3 = load ptr, ptr %t1 %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 %t9 = zext i1 %t8 to i32 store i32 %t9, ptr %t2 br i1 %t8, label %scend1, label %sc0 sc0: %t10 = load ptr, ptr %t0 %t11 = icmp eq ptr %t10, null %t12 = zext i1 %t11 to i32 %t13 = icmp ne i32 %t12, 0 %t14 = zext i1 %t13 to i32 store i32 %t14, ptr %t2 br label %scend1 scend1: %t15 = load i32, ptr %t2 %t16 = icmp ne i32 %t15, 0 br i1 %t16, label %then2, label %ifend4 then2: br label %ret ifend4: %t17 = getelementptr %LSlice, ptr null, i32 1 %t18 = ptrtoint ptr %t17 to i64 store i32 861, ptr @lp_site %t19 = call ptr @lp_malloc(i64 %t18) store i32 0, ptr @lp_site %t20 = getelementptr inbounds %LSlice, ptr %t19, i32 0, i32 0 store ptr null, ptr %t20 %t21 = getelementptr inbounds %LSlice, ptr %t19, i32 0, i32 1 store i32 0, ptr %t21 %t22 = getelementptr inbounds %LSlice, ptr %t19, i32 0, i32 2 store i32 0, ptr %t22 store ptr %t19, ptr %t23 store i32 0, ptr %t24 br label %wcond5 wcond5: %t25 = load i32, ptr %t24 %t26 = load ptr, ptr %t1 %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 %wbody6, label %wend7 wbody6: %t32 = load ptr, ptr %t1 %t33 = load i32, ptr %t24 %t34 = getelementptr inbounds %LSlice, ptr %t32, i32 0, i32 0 %t35 = load ptr, ptr %t34 %t36 = getelementptr inbounds %LSlice, ptr %t32, i32 0, i32 1 %t37 = load i32, ptr %t36 %t38 = icmp ult i32 %t33, %t37 br i1 %t38, label %ixok8, label %ixbad9 ixbad9: store i32 862, ptr @lp_site %t39 = call ptr @lp_win_stdio(i32 2) store i32 0, ptr @lp_site call i32 (ptr, ptr, ...) @fprintf(ptr %t39, ptr @.fmt_bounds, ptr @.str1514, i32 %t33, i32 %t37) call void @exit(i32 1) unreachable ixok8: %t40 = getelementptr inbounds ptr, ptr %t35, i32 %t33 %t41 = load ptr, ptr %t40 store ptr %t41, ptr %t42 %t43 = call ptr @fn_node(i32 10) store ptr %t43, ptr %t44 %t45 = load ptr, ptr %t44 %t46 = getelementptr inbounds %Cmp_Node, ptr %t45, i32 0, i32 1 %t47 = load ptr, ptr %t42 %t48 = getelementptr inbounds %Cmp_Node, ptr %t47, i32 0, i32 1 %t49 = load ptr, ptr %t48 store ptr %t49, ptr %t46 %t50 = load ptr, ptr %t44 %t51 = getelementptr inbounds %Cmp_Node, ptr %t50, i32 0, i32 3 %t52 = load ptr, ptr %t42 %t53 = getelementptr inbounds %Cmp_Node, ptr %t52, i32 0, i32 3 %t54 = load ptr, ptr %t53 store ptr %t54, ptr %t51 %t55 = load ptr, ptr %t44 %t56 = getelementptr inbounds %Cmp_Node, ptr %t55, i32 0, i32 9 %t57 = load ptr, ptr %t42 %t58 = getelementptr inbounds %Cmp_Node, ptr %t57, i32 0, i32 9 %t59 = load ptr, ptr %t58 store ptr %t59, ptr %t56 %t60 = load ptr, ptr %t44 %t61 = getelementptr inbounds %Cmp_Node, ptr %t60, i32 0, i32 8 %t62 = load ptr, ptr %t42 %t63 = getelementptr inbounds %Cmp_Node, ptr %t62, i32 0, i32 8 %t64 = load i32, ptr %t63 store i32 %t64, ptr %t61 %t65 = load ptr, ptr %t44 %t66 = getelementptr inbounds %Cmp_Node, ptr %t65, i32 0, i32 2 store i32 0, ptr %t66 %t67 = load ptr, ptr %t44 %t68 = getelementptr inbounds %Cmp_Node, ptr %t67, i32 0, i32 12 %t69 = load ptr, ptr %t42 %t70 = getelementptr inbounds %Cmp_Node, ptr %t69, i32 0, i32 12 %t71 = load i32, ptr %t70 store i32 %t71, ptr %t68 %t72 = load ptr, ptr %t44 %t73 = getelementptr inbounds %Cmp_Node, ptr %t72, i32 0, i32 11 store ptr @.str1515, ptr %t73 %t74 = load ptr, ptr %t44 %t75 = getelementptr inbounds %Cmp_Node, ptr %t74, i32 0, i32 14 %t76 = load ptr, ptr %t42 %t77 = getelementptr inbounds %Cmp_Node, ptr %t76, i32 0, i32 14 %t78 = load i32, ptr %t77 store i32 %t78, ptr %t75 %t79 = load ptr, ptr %t44 %t80 = getelementptr inbounds %Cmp_Node, ptr %t79, i32 0, i32 13 %t81 = load ptr, ptr %t42 %t82 = getelementptr inbounds %Cmp_Node, ptr %t81, i32 0, i32 13 %t83 = load i32, ptr %t82 store i32 %t83, ptr %t80 %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 %t42 %t89 = getelementptr inbounds %Cmp_Node, ptr %t88, i32 0, i32 3 %t90 = load ptr, ptr %t89 %t91 = call ptr @fn_state_global(ptr %t90) store ptr %t91, ptr %t87 %t92 = load ptr, ptr %t85 %t93 = getelementptr inbounds %Cmp_Node, ptr %t92, i32 0, i32 9 %t94 = load ptr, ptr %t42 %t95 = getelementptr inbounds %Cmp_Node, ptr %t94, i32 0, i32 9 %t96 = load ptr, ptr %t95 store ptr %t96, ptr %t93 %t97 = load ptr, ptr %t85 %t98 = getelementptr inbounds %Cmp_Node, ptr %t97, i32 0, i32 8 %t99 = load ptr, ptr %t42 %t100 = getelementptr inbounds %Cmp_Node, ptr %t99, i32 0, i32 8 %t101 = load i32, ptr %t100 store i32 %t101, ptr %t98 %t102 = load ptr, ptr %t44 %t103 = getelementptr inbounds %Cmp_Node, ptr %t102, i32 0, i32 4 %t104 = load ptr, ptr %t85 store ptr %t104, ptr %t103 %t105 = load ptr, ptr %t23 %t106 = load ptr, ptr %t44 %t107 = getelementptr inbounds %LSlice, ptr %t105, i32 0, i32 1 %t108 = getelementptr inbounds %LSlice, ptr %t105, i32 0, i32 2 %t109 = getelementptr inbounds %LSlice, ptr %t105, i32 0, i32 0 %t110 = load i32, ptr %t107 %t111 = load i32, ptr %t108 %t112 = icmp sge i32 %t110, %t111 br i1 %t112, label %grow10, label %put11 grow10: %t113 = mul i32 %t111, 2 %t114 = icmp eq i32 %t111, 0 %t115 = select i1 %t114, i32 8, i32 %t113 %t116 = getelementptr ptr, ptr null, i32 1 %t117 = ptrtoint ptr %t116 to i64 %t118 = zext i32 %t115 to i64 %t119 = mul i64 %t118, %t117 %t120 = load ptr, ptr %t109 store i32 863, ptr @lp_site %t121 = call ptr @lp_realloc(ptr %t120, i64 %t119) store i32 0, ptr @lp_site store ptr %t121, ptr %t109 store i32 %t115, ptr %t108 br label %put11 put11: %t122 = load ptr, ptr %t109 %t123 = getelementptr inbounds ptr, ptr %t122, i32 %t110 store ptr %t106, ptr %t123 %t124 = add i32 %t110, 1 store i32 %t124, ptr %t107 %t125 = load i32, ptr %t24 %t126 = add i32 %t125, 1 store i32 %t126, ptr %t24 br label %wcond5 wend7: store i32 0, ptr %t127 br label %wcond12 wcond12: %t128 = load i32, ptr %t127 %t129 = load ptr, ptr %t0 %t130 = getelementptr inbounds %Cmp_Node, ptr %t129, i32 0, i32 7 %t131 = load ptr, ptr %t130 %t132 = getelementptr inbounds %LSlice, ptr %t131, i32 0, i32 1 %t133 = load i32, ptr %t132 %t134 = icmp slt i32 %t128, %t133 %t135 = zext i1 %t134 to i32 %t136 = icmp ne i32 %t135, 0 br i1 %t136, label %wbody13, label %wend14 wbody13: %t137 = load ptr, ptr %t23 %t138 = load ptr, ptr %t0 %t139 = getelementptr inbounds %Cmp_Node, ptr %t138, i32 0, i32 7 %t140 = load ptr, ptr %t139 %t141 = load i32, ptr %t127 %t142 = getelementptr inbounds %LSlice, ptr %t140, i32 0, i32 0 %t143 = load ptr, ptr %t142 %t144 = getelementptr inbounds %LSlice, ptr %t140, i32 0, i32 1 %t145 = load i32, ptr %t144 %t146 = icmp ult i32 %t141, %t145 br i1 %t146, label %ixok15, label %ixbad16 ixbad16: store i32 864, ptr @lp_site %t147 = call ptr @lp_win_stdio(i32 2) store i32 0, ptr @lp_site call i32 (ptr, ptr, ...) @fprintf(ptr %t147, ptr @.fmt_bounds, ptr @.str1516, i32 %t141, i32 %t145) call void @exit(i32 1) unreachable ixok15: %t148 = getelementptr inbounds ptr, ptr %t143, i32 %t141 %t149 = load ptr, ptr %t148 %t150 = getelementptr inbounds %LSlice, ptr %t137, i32 0, i32 1 %t151 = getelementptr inbounds %LSlice, ptr %t137, i32 0, i32 2 %t152 = getelementptr inbounds %LSlice, ptr %t137, i32 0, i32 0 %t153 = load i32, ptr %t150 %t154 = load i32, ptr %t151 %t155 = icmp sge i32 %t153, %t154 br i1 %t155, label %grow17, label %put18 grow17: %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 store i32 865, ptr @lp_site %t164 = call ptr @lp_realloc(ptr %t163, i64 %t162) store i32 0, ptr @lp_site store ptr %t164, ptr %t152 store i32 %t158, ptr %t151 br label %put18 put18: %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 i32, ptr %t127 %t169 = add i32 %t168, 1 store i32 %t169, ptr %t127 br label %wcond12 wend14: %t170 = load ptr, ptr %t0 %t171 = getelementptr inbounds %Cmp_Node, ptr %t170, i32 0, i32 7 %t172 = load ptr, ptr %t23 store ptr %t172, ptr %t171 br label %ret ret: ret void } define void @fn_parse_action() { entry: %t1 = alloca ptr %t0 = call ptr @fn_parse_component() store ptr %t0, ptr %t1 %t2 = load ptr, ptr %t1 %t3 = getelementptr inbounds %Cmp_Node, ptr %t2, i32 0, i32 12 store i32 3, ptr %t3 %t4 = load ptr, ptr %t1 %t5 = getelementptr inbounds %Cmp_Node, ptr %t4, i32 0, i32 10 store i32 1, ptr %t5 %t6 = load ptr, ptr @g_prog %t7 = load ptr, ptr %t1 %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 store i32 866, ptr @lp_site %t22 = call ptr @lp_realloc(ptr %t21, i64 %t20) store i32 0, ptr @lp_site 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_g_act_names %t27 = load ptr, ptr %t1 %t28 = getelementptr inbounds %Cmp_Node, ptr %t27, i32 0, i32 1 %t29 = load ptr, ptr %t28 %t30 = getelementptr inbounds %LSlice, ptr %t26, i32 0, i32 1 %t31 = getelementptr inbounds %LSlice, ptr %t26, i32 0, i32 2 %t32 = getelementptr inbounds %LSlice, ptr %t26, i32 0, i32 0 %t33 = load i32, ptr %t30 %t34 = load i32, ptr %t31 %t35 = icmp sge i32 %t33, %t34 br i1 %t35, label %grow2, label %put3 grow2: %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 store i32 867, ptr @lp_site %t44 = call ptr @lp_realloc(ptr %t43, i64 %t42) store i32 0, ptr @lp_site store ptr %t44, ptr %t32 store i32 %t38, ptr %t31 br label %put3 put3: %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 = load ptr, ptr @g_g_act_nodes %t49 = load ptr, ptr %t1 %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 %grow4, label %put5 grow4: %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 store i32 868, ptr @lp_site %t64 = call ptr @lp_realloc(ptr %t63, i64 %t62) store i32 0, ptr @lp_site store ptr %t64, ptr %t52 store i32 %t58, ptr %t51 br label %put5 put5: %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 %ret ret: ret void } define void @fn_parse_reducer() { entry: %t13 = alloca ptr %t14 = alloca i32 %t15 = alloca i32 %t86 = alloca ptr %t101 = alloca ptr %t0 = load ptr, ptr @g_toks %t1 = load i32, ptr @g_pi %t2 = add i32 %t1, 1 %t3 = getelementptr inbounds %LSlice, ptr %t0, i32 0, i32 0 %t4 = load ptr, ptr %t3 %t5 = getelementptr inbounds %LSlice, ptr %t0, i32 0, i32 1 %t6 = load i32, ptr %t5 %t7 = icmp ult i32 %t2, %t6 br i1 %t7, label %ixok0, label %ixbad1 ixbad1: store i32 869, ptr @lp_site %t8 = call ptr @lp_win_stdio(i32 2) store i32 0, ptr @lp_site call i32 (ptr, ptr, ...) @fprintf(ptr %t8, ptr @.fmt_bounds, ptr @.str1518, i32 %t2, i32 %t6) call void @exit(i32 1) unreachable ixok0: %t9 = getelementptr inbounds ptr, ptr %t4, i32 %t2 %t10 = load ptr, ptr %t9 %t11 = getelementptr inbounds %Cmp_Tok, ptr %t10, i32 0, i32 1 %t12 = load ptr, ptr %t11 store ptr %t12, ptr %t13 %t16 = load ptr, ptr @g_toks %t17 = load i32, ptr @g_pi %t18 = add i32 %t17, 1 %t19 = getelementptr inbounds %LSlice, ptr %t16, i32 0, i32 0 %t20 = load ptr, ptr %t19 %t21 = getelementptr inbounds %LSlice, ptr %t16, i32 0, i32 1 %t22 = load i32, ptr %t21 %t23 = icmp ult i32 %t18, %t22 br i1 %t23, label %ixok2, label %ixbad3 ixbad3: store i32 870, ptr @lp_site %t24 = call ptr @lp_win_stdio(i32 2) store i32 0, ptr @lp_site call i32 (ptr, ptr, ...) @fprintf(ptr %t24, ptr @.fmt_bounds, ptr @.str1520, i32 %t18, i32 %t22) call void @exit(i32 1) unreachable ixok2: %t25 = getelementptr inbounds ptr, ptr %t20, i32 %t18 %t26 = load ptr, ptr %t25 %t27 = getelementptr inbounds %Cmp_Tok, ptr %t26, i32 0, i32 0 %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 %t15 br i1 %t31, label %scend5, label %sc4 sc4: %t33 = load ptr, ptr @g_toks %t34 = load i32, ptr @g_pi %t35 = add i32 %t34, 2 %t36 = getelementptr inbounds %LSlice, ptr %t33, i32 0, i32 0 %t37 = load ptr, ptr %t36 %t38 = getelementptr inbounds %LSlice, ptr %t33, i32 0, i32 1 %t39 = load i32, ptr %t38 %t40 = icmp ult i32 %t35, %t39 br i1 %t40, label %ixok6, label %ixbad7 ixbad7: store i32 871, ptr @lp_site %t41 = call ptr @lp_win_stdio(i32 2) store i32 0, ptr @lp_site call i32 (ptr, ptr, ...) @fprintf(ptr %t41, ptr @.fmt_bounds, ptr @.str1521, i32 %t35, i32 %t39) call void @exit(i32 1) unreachable ixok6: %t42 = getelementptr inbounds ptr, ptr %t37, i32 %t35 %t43 = load ptr, ptr %t42 %t44 = getelementptr inbounds %Cmp_Tok, ptr %t43, i32 0, i32 1 %t45 = load ptr, ptr %t44 %t46 = call i32 @lp_str_eq(ptr %t45, ptr @.str1522) %t47 = icmp eq i32 %t46, 0 %t48 = zext i1 %t47 to i32 %t49 = icmp ne i32 %t48, 0 %t50 = zext i1 %t49 to i32 store i32 %t50, ptr %t15 br label %scend5 scend5: %t51 = load i32, ptr %t15 %t52 = icmp ne i32 %t51, 0 %t53 = zext i1 %t52 to i32 store i32 %t53, ptr %t14 br i1 %t52, label %scend9, label %sc8 sc8: %t54 = load ptr, ptr @g_toks %t55 = load i32, ptr @g_pi %t56 = add i32 %t55, 3 %t57 = getelementptr inbounds %LSlice, ptr %t54, i32 0, i32 0 %t58 = load ptr, ptr %t57 %t59 = getelementptr inbounds %LSlice, ptr %t54, i32 0, i32 1 %t60 = load i32, ptr %t59 %t61 = icmp ult i32 %t56, %t60 br i1 %t61, label %ixok10, label %ixbad11 ixbad11: store i32 872, ptr @lp_site %t62 = call ptr @lp_win_stdio(i32 2) store i32 0, ptr @lp_site call i32 (ptr, ptr, ...) @fprintf(ptr %t62, ptr @.fmt_bounds, ptr @.str1523, i32 %t56, i32 %t60) call void @exit(i32 1) unreachable ixok10: %t63 = getelementptr inbounds ptr, ptr %t58, i32 %t56 %t64 = load ptr, ptr %t63 %t65 = getelementptr inbounds %Cmp_Tok, ptr %t64, i32 0, i32 0 %t66 = load i32, ptr %t65 %t67 = icmp ne 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 %t14 br label %scend9 scend9: %t71 = load i32, ptr %t14 %t72 = icmp ne i32 %t71, 0 br i1 %t72, label %then12, label %ifend14 then12: call void @fn_perr(ptr @.str1524) br label %ifend14 ifend14: %t73 = load ptr, ptr @g_toks %t74 = load i32, ptr @g_pi %t75 = add i32 %t74, 3 %t76 = getelementptr inbounds %LSlice, ptr %t73, i32 0, i32 0 %t77 = load ptr, ptr %t76 %t78 = getelementptr inbounds %LSlice, ptr %t73, i32 0, i32 1 %t79 = load i32, ptr %t78 %t80 = icmp ult i32 %t75, %t79 br i1 %t80, label %ixok15, label %ixbad16 ixbad16: store i32 873, ptr @lp_site %t81 = call ptr @lp_win_stdio(i32 2) store i32 0, ptr @lp_site call i32 (ptr, ptr, ...) @fprintf(ptr %t81, ptr @.fmt_bounds, ptr @.str1525, i32 %t75, i32 %t79) call void @exit(i32 1) unreachable ixok15: %t82 = getelementptr inbounds ptr, ptr %t77, i32 %t75 %t83 = load ptr, ptr %t82 %t84 = getelementptr inbounds %Cmp_Tok, ptr %t83, i32 0, i32 1 %t85 = load ptr, ptr %t84 store ptr %t85, ptr %t86 %t87 = load i32, ptr @g_pi %t88 = add i32 %t87, 2 store i32 %t88, ptr @g_pi %t89 = load ptr, ptr @g_toks %t90 = load i32, ptr @g_pi %t91 = getelementptr inbounds %LSlice, ptr %t89, i32 0, i32 0 %t92 = load ptr, ptr %t91 %t93 = getelementptr inbounds %LSlice, ptr %t89, i32 0, i32 1 %t94 = load i32, ptr %t93 %t95 = icmp ult i32 %t90, %t94 br i1 %t95, label %ixok17, label %ixbad18 ixbad18: store i32 874, ptr @lp_site %t96 = call ptr @lp_win_stdio(i32 2) store i32 0, ptr @lp_site call i32 (ptr, ptr, ...) @fprintf(ptr %t96, ptr @.fmt_bounds, ptr @.str1526, i32 %t90, i32 %t94) call void @exit(i32 1) unreachable ixok17: %t97 = getelementptr inbounds ptr, ptr %t92, i32 %t90 %t98 = load ptr, ptr %t97 %t99 = getelementptr inbounds %Cmp_Tok, ptr %t98, i32 0, i32 1 store ptr @.str1527, ptr %t99 %t100 = call ptr @fn_parse_fn() 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 %t86 store i32 875, ptr @lp_site %t105 = call ptr @lp_str_concat(ptr @.str1528, ptr %t104) store i32 0, ptr @lp_site store i32 876, ptr @lp_site %t106 = call ptr @lp_str_concat(ptr %t105, ptr @.str1529) store i32 0, ptr @lp_site call void @lp_free(ptr %t105) %t107 = load ptr, ptr %t13 store i32 877, ptr @lp_site %t108 = call ptr @lp_str_concat(ptr %t106, ptr %t107) store i32 0, ptr @lp_site call void @lp_free(ptr %t106) store ptr %t108, ptr %t103 %t109 = load ptr, ptr %t101 %t110 = getelementptr inbounds %Cmp_Node, ptr %t109, i32 0, i32 10 store i32 1, ptr %t110 %t111 = load ptr, ptr @g_g_red_nodes %t112 = load ptr, ptr %t101 %t113 = getelementptr inbounds %LSlice, ptr %t111, i32 0, i32 1 %t114 = getelementptr inbounds %LSlice, ptr %t111, i32 0, i32 2 %t115 = getelementptr inbounds %LSlice, ptr %t111, i32 0, i32 0 %t116 = load i32, ptr %t113 %t117 = load i32, ptr %t114 %t118 = icmp sge i32 %t116, %t117 br i1 %t118, label %grow19, label %put20 grow19: %t119 = mul i32 %t117, 2 %t120 = icmp eq i32 %t117, 0 %t121 = select i1 %t120, i32 8, i32 %t119 %t122 = getelementptr ptr, ptr null, i32 1 %t123 = ptrtoint ptr %t122 to i64 %t124 = zext i32 %t121 to i64 %t125 = mul i64 %t124, %t123 %t126 = load ptr, ptr %t115 store i32 878, ptr @lp_site %t127 = call ptr @lp_realloc(ptr %t126, i64 %t125) store i32 0, ptr @lp_site store ptr %t127, ptr %t115 store i32 %t121, ptr %t114 br label %put20 put20: %t128 = load ptr, ptr %t115 %t129 = getelementptr inbounds ptr, ptr %t128, i32 %t116 store ptr %t112, ptr %t129 %t130 = add i32 %t116, 1 store i32 %t130, ptr %t113 %t131 = load ptr, ptr @g_g_red_state %t132 = load ptr, ptr %t13 %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 %grow21, label %put22 grow21: %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 store i32 879, ptr @lp_site %t147 = call ptr @lp_realloc(ptr %t146, i64 %t145) store i32 0, ptr @lp_site store ptr %t147, ptr %t135 store i32 %t141, ptr %t134 br label %put22 put22: %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 @g_g_red_action %t152 = load ptr, ptr %t86 %t153 = getelementptr inbounds %LSlice, ptr %t151, i32 0, i32 1 %t154 = getelementptr inbounds %LSlice, ptr %t151, i32 0, i32 2 %t155 = getelementptr inbounds %LSlice, ptr %t151, i32 0, i32 0 %t156 = load i32, ptr %t153 %t157 = load i32, ptr %t154 %t158 = icmp sge i32 %t156, %t157 br i1 %t158, label %grow23, label %put24 grow23: %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 store i32 880, ptr @lp_site %t167 = call ptr @lp_realloc(ptr %t166, i64 %t165) store i32 0, ptr @lp_site store ptr %t167, ptr %t155 store i32 %t161, ptr %t154 br label %put24 put24: %t168 = load ptr, ptr %t155 %t169 = getelementptr inbounds ptr, ptr %t168, i32 %t156 store ptr %t152, ptr %t169 %t170 = add i32 %t156, 1 store i32 %t170, ptr %t153 %t171 = load ptr, ptr @g_prog %t172 = load ptr, ptr %t101 %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 %grow25, label %put26 grow25: %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 store i32 881, ptr @lp_site %t187 = call ptr @lp_realloc(ptr %t186, i64 %t185) store i32 0, ptr @lp_site store ptr %t187, ptr %t175 store i32 %t181, ptr %t174 br label %put26 put26: %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 br label %ret ret: ret void } define ptr @fn_parse_dispatch() { entry: %retval = alloca ptr %t10 = alloca ptr %t14 = alloca ptr %t16 = alloca ptr %t26 = alloca ptr %t28 = alloca ptr %t46 = alloca ptr %t48 = alloca ptr %t61 = alloca ptr %t170 = alloca ptr %t0 = load ptr, ptr @g_toks %t1 = load i32, ptr @g_pi %t2 = getelementptr inbounds %LSlice, ptr %t0, i32 0, i32 0 %t3 = load ptr, ptr %t2 %t4 = getelementptr inbounds %LSlice, ptr %t0, i32 0, i32 1 %t5 = load i32, ptr %t4 %t6 = icmp ult i32 %t1, %t5 br i1 %t6, label %ixok0, label %ixbad1 ixbad1: store i32 882, ptr @lp_site %t7 = call ptr @lp_win_stdio(i32 2) store i32 0, ptr @lp_site call i32 (ptr, ptr, ...) @fprintf(ptr %t7, ptr @.fmt_bounds, ptr @.str1530, i32 %t1, i32 %t5) call void @exit(i32 1) unreachable ixok0: %t8 = getelementptr inbounds ptr, ptr %t3, i32 %t1 %t9 = load ptr, ptr %t8 store ptr %t9, ptr %t10 %t11 = load i32, ptr @g_pi %t12 = add i32 %t11, 1 store i32 %t12, ptr @g_pi %t13 = call ptr @fn_eat_id() store ptr %t13, ptr %t14 %t15 = call ptr @fn_node(i32 39) store ptr %t15, ptr %t16 %t17 = load ptr, ptr %t16 %t18 = getelementptr inbounds %Cmp_Node, ptr %t17, i32 0, i32 1 %t19 = load ptr, ptr %t14 store ptr %t19, ptr %t18 %t20 = call i32 @fn_is_op(ptr @.str1532) %t21 = icmp ne i32 %t20, 0 br i1 %t21, label %then2, label %ifend4 then2: %t22 = load ptr, ptr %t16 %t23 = getelementptr inbounds %Cmp_Node, ptr %t22, i32 0, i32 4 %t24 = call ptr @fn_record() store ptr %t24, ptr %t23 br label %ifend4 ifend4: %t25 = call ptr @fn_node(i32 34) store ptr %t25, ptr %t26 %t27 = call ptr @fn_node(i32 33) store ptr %t27, ptr %t28 %t29 = load ptr, ptr %t28 %t30 = getelementptr inbounds %Cmp_Node, ptr %t29, i32 0, i32 1 %t31 = load ptr, ptr %t14 store i32 883, ptr @lp_site %t32 = call ptr @lp_str_concat(ptr @.str1533, ptr %t31) store i32 0, ptr @lp_site store ptr %t32, ptr %t30 %t33 = load ptr, ptr %t28 %t34 = getelementptr inbounds %Cmp_Node, ptr %t33, i32 0, i32 13 %t35 = sub i32 0, 1 store i32 %t35, ptr %t34 %t36 = load ptr, ptr %t26 %t37 = getelementptr inbounds %Cmp_Node, ptr %t36, i32 0, i32 4 %t38 = load ptr, ptr %t28 store ptr %t38, ptr %t37 %t39 = load ptr, ptr %t26 %t40 = getelementptr inbounds %Cmp_Node, ptr %t39, i32 0, i32 13 %t41 = sub i32 0, 1 store i32 %t41, ptr %t40 %t42 = load ptr, ptr %t16 %t43 = getelementptr inbounds %Cmp_Node, ptr %t42, i32 0, i32 5 %t44 = load ptr, ptr %t26 store ptr %t44, ptr %t43 %t45 = call ptr @fn_node(i32 34) store ptr %t45, ptr %t46 %t47 = call ptr @fn_node(i32 33) store ptr %t47, ptr %t48 %t49 = load ptr, ptr %t48 %t50 = getelementptr inbounds %Cmp_Node, ptr %t49, i32 0, i32 1 store ptr @.str1534, ptr %t50 %t51 = load ptr, ptr %t48 %t52 = getelementptr inbounds %Cmp_Node, ptr %t51, i32 0, i32 13 %t53 = sub i32 0, 1 store i32 %t53, ptr %t52 %t54 = load ptr, ptr %t46 %t55 = getelementptr inbounds %Cmp_Node, ptr %t54, i32 0, i32 4 %t56 = load ptr, ptr %t48 store ptr %t56, ptr %t55 %t57 = load ptr, ptr %t46 %t58 = getelementptr inbounds %Cmp_Node, ptr %t57, i32 0, i32 13 %t59 = sub i32 0, 1 store i32 %t59, ptr %t58 %t60 = call ptr @fn_node(i32 30) store ptr %t60, ptr %t61 %t62 = load ptr, ptr %t61 %t63 = getelementptr inbounds %Cmp_Node, ptr %t62, i32 0, i32 13 %t64 = sub i32 0, 1 store i32 %t64, ptr %t63 %t65 = load ptr, ptr %t46 %t66 = getelementptr inbounds %Cmp_Node, ptr %t65, i32 0, i32 7 %t67 = load ptr, ptr %t66 %t68 = load ptr, ptr %t61 %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 store i32 884, ptr @lp_site %t83 = call ptr @lp_realloc(ptr %t82, i64 %t81) store i32 0, ptr @lp_site 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 %t87 = load ptr, ptr %t46 %t88 = getelementptr inbounds %Cmp_Node, ptr %t87, i32 0, i32 7 %t89 = load ptr, ptr %t88 %t90 = load ptr, ptr %t16 %t91 = getelementptr inbounds %LSlice, ptr %t89, i32 0, i32 1 %t92 = getelementptr inbounds %LSlice, ptr %t89, i32 0, i32 2 %t93 = getelementptr inbounds %LSlice, ptr %t89, i32 0, i32 0 %t94 = load i32, ptr %t91 %t95 = load i32, ptr %t92 %t96 = icmp sge i32 %t94, %t95 br i1 %t96, label %grow7, label %put8 grow7: %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 store i32 885, ptr @lp_site %t105 = call ptr @lp_realloc(ptr %t104, i64 %t103) store i32 0, ptr @lp_site store ptr %t105, ptr %t93 store i32 %t99, ptr %t92 br label %put8 put8: %t106 = load ptr, ptr %t93 %t107 = getelementptr inbounds ptr, ptr %t106, i32 %t94 store ptr %t90, ptr %t107 %t108 = add i32 %t94, 1 store i32 %t108, ptr %t91 %t109 = load ptr, ptr @g_g_dsp_ids %t110 = load ptr, ptr %t61 %t111 = getelementptr inbounds %LSlice, ptr %t109, i32 0, i32 1 %t112 = getelementptr inbounds %LSlice, ptr %t109, i32 0, i32 2 %t113 = getelementptr inbounds %LSlice, ptr %t109, i32 0, i32 0 %t114 = load i32, ptr %t111 %t115 = load i32, ptr %t112 %t116 = icmp sge i32 %t114, %t115 br i1 %t116, label %grow9, label %put10 grow9: %t117 = mul i32 %t115, 2 %t118 = icmp eq i32 %t115, 0 %t119 = select i1 %t118, i32 8, i32 %t117 %t120 = getelementptr ptr, ptr null, i32 1 %t121 = ptrtoint ptr %t120 to i64 %t122 = zext i32 %t119 to i64 %t123 = mul i64 %t122, %t121 %t124 = load ptr, ptr %t113 store i32 886, ptr @lp_site %t125 = call ptr @lp_realloc(ptr %t124, i64 %t123) store i32 0, ptr @lp_site store ptr %t125, ptr %t113 store i32 %t119, ptr %t112 br label %put10 put10: %t126 = load ptr, ptr %t113 %t127 = getelementptr inbounds ptr, ptr %t126, i32 %t114 store ptr %t110, ptr %t127 %t128 = add i32 %t114, 1 store i32 %t128, ptr %t111 %t129 = load ptr, ptr @g_g_dsp_names %t130 = load ptr, ptr %t14 %t131 = getelementptr inbounds %LSlice, ptr %t129, i32 0, i32 1 %t132 = getelementptr inbounds %LSlice, ptr %t129, i32 0, i32 2 %t133 = getelementptr inbounds %LSlice, ptr %t129, i32 0, i32 0 %t134 = load i32, ptr %t131 %t135 = load i32, ptr %t132 %t136 = icmp sge i32 %t134, %t135 br i1 %t136, label %grow11, label %put12 grow11: %t137 = mul i32 %t135, 2 %t138 = icmp eq i32 %t135, 0 %t139 = select i1 %t138, i32 8, i32 %t137 %t140 = getelementptr ptr, ptr null, i32 1 %t141 = ptrtoint ptr %t140 to i64 %t142 = zext i32 %t139 to i64 %t143 = mul i64 %t142, %t141 %t144 = load ptr, ptr %t133 store i32 887, ptr @lp_site %t145 = call ptr @lp_realloc(ptr %t144, i64 %t143) store i32 0, ptr @lp_site store ptr %t145, ptr %t133 store i32 %t139, ptr %t132 br label %put12 put12: %t146 = load ptr, ptr %t133 %t147 = getelementptr inbounds ptr, ptr %t146, i32 %t134 store ptr %t130, ptr %t147 %t148 = add i32 %t134, 1 store i32 %t148, ptr %t131 %t149 = load ptr, ptr @g_g_dsp_at %t150 = load ptr, ptr %t16 %t151 = getelementptr inbounds %LSlice, ptr %t149, i32 0, i32 1 %t152 = getelementptr inbounds %LSlice, ptr %t149, i32 0, i32 2 %t153 = getelementptr inbounds %LSlice, ptr %t149, i32 0, i32 0 %t154 = load i32, ptr %t151 %t155 = load i32, ptr %t152 %t156 = icmp sge i32 %t154, %t155 br i1 %t156, label %grow13, label %put14 grow13: %t157 = mul i32 %t155, 2 %t158 = icmp eq i32 %t155, 0 %t159 = select i1 %t158, i32 8, i32 %t157 %t160 = getelementptr ptr, ptr null, i32 1 %t161 = ptrtoint ptr %t160 to i64 %t162 = zext i32 %t159 to i64 %t163 = mul i64 %t162, %t161 %t164 = load ptr, ptr %t153 store i32 888, ptr @lp_site %t165 = call ptr @lp_realloc(ptr %t164, i64 %t163) store i32 0, ptr @lp_site store ptr %t165, ptr %t153 store i32 %t159, ptr %t152 br label %put14 put14: %t166 = load ptr, ptr %t153 %t167 = getelementptr inbounds ptr, ptr %t166, i32 %t154 store ptr %t150, ptr %t167 %t168 = add i32 %t154, 1 store i32 %t168, ptr %t151 %t169 = call ptr @fn_node(i32 16) store ptr %t169, ptr %t170 %t171 = load ptr, ptr %t170 %t172 = getelementptr inbounds %Cmp_Node, ptr %t171, i32 0, i32 4 %t173 = load ptr, ptr %t46 store ptr %t173, ptr %t172 %t174 = load ptr, ptr %t170 %t175 = getelementptr inbounds %Cmp_Node, ptr %t174, i32 0, i32 8 %t176 = load ptr, ptr %t10 %t177 = getelementptr inbounds %Cmp_Tok, ptr %t176, i32 0, i32 3 %t178 = load i32, ptr %t177 store i32 %t178, ptr %t175 %t179 = load ptr, ptr %t170 store ptr %t179, ptr %retval br label %ret ret: %t180 = load ptr, ptr %retval ret ptr %t180 } define i32 @fn_act_index(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_act_names %t4 = getelementptr inbounds %LSlice, ptr %t3, i32 0, i32 1 %t5 = load i32, ptr %t4 %t6 = icmp slt i32 %t2, %t5 %t7 = zext i1 %t6 to i32 %t8 = icmp ne i32 %t7, 0 br i1 %t8, label %wbody1, label %wend2 wbody1: %t9 = load ptr, ptr @g_g_act_names %t10 = load i32, ptr %t1 %t11 = getelementptr inbounds %LSlice, ptr %t9, i32 0, i32 0 %t12 = load ptr, ptr %t11 %t13 = getelementptr inbounds %LSlice, ptr %t9, i32 0, i32 1 %t14 = load i32, ptr %t13 %t15 = icmp ult i32 %t10, %t14 br i1 %t15, label %ixok3, label %ixbad4 ixbad4: store i32 889, ptr @lp_site %t16 = call ptr @lp_win_stdio(i32 2) store i32 0, ptr @lp_site call i32 (ptr, ptr, ...) @fprintf(ptr %t16, ptr @.fmt_bounds, ptr @.str1535, i32 %t10, i32 %t14) call void @exit(i32 1) unreachable ixok3: %t17 = getelementptr inbounds ptr, ptr %t12, i32 %t10 %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 br i1 %t21, label %then5, label %ifend7 then5: %t22 = load i32, ptr %t1 store i32 %t22, ptr %retval br label %ret ifend7: %t23 = load i32, ptr %t1 %t24 = add i32 %t23, 1 store i32 %t24, ptr %t1 br label %wcond0 wend2: %t25 = sub i32 0, 1 store i32 %t25, ptr %retval br label %ret ret: %t26 = load i32, ptr %retval ret i32 %t26 } define void @fn_act_err(ptr %arg_n, ptr %arg_msg) { entry: %t0 = alloca ptr %t1 = alloca ptr store ptr %arg_n, ptr %t0 store ptr %arg_msg, ptr %t1 %t2 = load ptr, ptr %t0 %t3 = getelementptr inbounds %Cmp_Node, ptr %t2, i32 0, i32 9 %t4 = load ptr, ptr %t3 store ptr %t4, ptr @g_g_err_file %t5 = load ptr, ptr %t0 %t6 = getelementptr inbounds %Cmp_Node, ptr %t5, i32 0, i32 8 %t7 = load i32, ptr %t6 store i32 %t7, ptr @g_g_err_line store i32 0, ptr @g_g_parsing %t8 = load ptr, ptr %t1 call void @fn_perr(ptr %t8) br label %ret ret: ret void } define void @fn_actions_finish() { entry: %t0 = alloca i32 %t29 = alloca i32 %t95 = alloca ptr %t101 = alloca i32 store i32 0, ptr %t0 br label %wcond0 wcond0: %t1 = load i32, ptr %t0 %t2 = load ptr, ptr @g_g_red_nodes %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 i32, ptr %t0 call void @fn_red_check(i32 %t8) %t9 = load i32, ptr %t0 %t10 = add i32 %t9, 1 store i32 %t10, ptr %t0 br label %wcond0 wend2: store i32 0, ptr %t0 br label %wcond3 wcond3: %t11 = load i32, ptr %t0 %t12 = load ptr, ptr @g_g_dsp_ids %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_dsp_names %t19 = load i32, ptr %t0 %t20 = getelementptr inbounds %LSlice, ptr %t18, i32 0, i32 0 %t21 = load ptr, ptr %t20 %t22 = getelementptr inbounds %LSlice, ptr %t18, i32 0, i32 1 %t23 = load i32, ptr %t22 %t24 = icmp ult i32 %t19, %t23 br i1 %t24, label %ixok6, label %ixbad7 ixbad7: store i32 890, ptr @lp_site %t25 = call ptr @lp_win_stdio(i32 2) store i32 0, ptr @lp_site call i32 (ptr, ptr, ...) @fprintf(ptr %t25, ptr @.fmt_bounds, ptr @.str1537, i32 %t19, i32 %t23) call void @exit(i32 1) unreachable ixok6: %t26 = getelementptr inbounds ptr, ptr %t21, i32 %t19 %t27 = load ptr, ptr %t26 %t28 = call i32 @fn_act_index(ptr %t27) store i32 %t28, ptr %t29 %t30 = load i32, ptr %t29 %t31 = icmp slt i32 %t30, 0 %t32 = zext i1 %t31 to i32 %t33 = icmp ne i32 %t32, 0 br i1 %t33, label %then8, label %ifend10 then8: %t34 = load ptr, ptr @g_g_dsp_at %t35 = load i32, ptr %t0 %t36 = getelementptr inbounds %LSlice, ptr %t34, i32 0, i32 0 %t37 = load ptr, ptr %t36 %t38 = getelementptr inbounds %LSlice, ptr %t34, i32 0, i32 1 %t39 = load i32, ptr %t38 %t40 = icmp ult i32 %t35, %t39 br i1 %t40, label %ixok11, label %ixbad12 ixbad12: store i32 891, ptr @lp_site %t41 = call ptr @lp_win_stdio(i32 2) store i32 0, ptr @lp_site call i32 (ptr, ptr, ...) @fprintf(ptr %t41, ptr @.fmt_bounds, ptr @.str1539, i32 %t35, i32 %t39) call void @exit(i32 1) unreachable ixok11: %t42 = getelementptr inbounds ptr, ptr %t37, i32 %t35 %t43 = load ptr, ptr %t42 %t44 = load ptr, ptr @g_g_dsp_names %t45 = load i32, ptr %t0 %t46 = getelementptr inbounds %LSlice, ptr %t44, i32 0, i32 0 %t47 = load ptr, ptr %t46 %t48 = getelementptr inbounds %LSlice, ptr %t44, i32 0, i32 1 %t49 = load i32, ptr %t48 %t50 = icmp ult i32 %t45, %t49 br i1 %t50, label %ixok13, label %ixbad14 ixbad14: store i32 892, ptr @lp_site %t51 = call ptr @lp_win_stdio(i32 2) store i32 0, ptr @lp_site call i32 (ptr, ptr, ...) @fprintf(ptr %t51, ptr @.fmt_bounds, ptr @.str1541, i32 %t45, i32 %t49) call void @exit(i32 1) unreachable ixok13: %t52 = getelementptr inbounds ptr, ptr %t47, i32 %t45 %t53 = load ptr, ptr %t52 store i32 893, ptr @lp_site %t54 = call ptr @lp_str_concat(ptr @.str1540, ptr %t53) store i32 0, ptr @lp_site store i32 894, ptr @lp_site %t55 = call ptr @lp_str_concat(ptr %t54, ptr @.str1542) store i32 0, ptr @lp_site call void @lp_free(ptr %t54) %t56 = load ptr, ptr @g_g_dsp_names %t57 = load i32, ptr %t0 %t58 = getelementptr inbounds %LSlice, ptr %t56, i32 0, i32 0 %t59 = load ptr, ptr %t58 %t60 = getelementptr inbounds %LSlice, ptr %t56, i32 0, i32 1 %t61 = load i32, ptr %t60 %t62 = icmp ult i32 %t57, %t61 br i1 %t62, label %ixok15, label %ixbad16 ixbad16: store i32 895, ptr @lp_site %t63 = call ptr @lp_win_stdio(i32 2) store i32 0, ptr @lp_site call i32 (ptr, ptr, ...) @fprintf(ptr %t63, ptr @.fmt_bounds, ptr @.str1543, i32 %t57, i32 %t61) call void @exit(i32 1) unreachable ixok15: %t64 = getelementptr inbounds ptr, ptr %t59, i32 %t57 %t65 = load ptr, ptr %t64 store i32 896, ptr @lp_site %t66 = call ptr @lp_str_concat(ptr %t55, ptr %t65) store i32 0, ptr @lp_site call void @lp_free(ptr %t55) store i32 897, ptr @lp_site %t67 = call ptr @lp_str_concat(ptr %t66, ptr @.str1544) store i32 0, ptr @lp_site call void @lp_free(ptr %t66) %t68 = load ptr, ptr @g_g_dsp_names %t69 = load i32, ptr %t0 %t70 = getelementptr inbounds %LSlice, ptr %t68, i32 0, i32 0 %t71 = load ptr, ptr %t70 %t72 = getelementptr inbounds %LSlice, ptr %t68, i32 0, i32 1 %t73 = load i32, ptr %t72 %t74 = icmp ult i32 %t69, %t73 br i1 %t74, label %ixok17, label %ixbad18 ixbad18: store i32 898, ptr @lp_site %t75 = call ptr @lp_win_stdio(i32 2) store i32 0, ptr @lp_site call i32 (ptr, ptr, ...) @fprintf(ptr %t75, ptr @.fmt_bounds, ptr @.str1545, i32 %t69, i32 %t73) call void @exit(i32 1) unreachable ixok17: %t76 = getelementptr inbounds ptr, ptr %t71, i32 %t69 %t77 = load ptr, ptr %t76 store i32 899, ptr @lp_site %t78 = call ptr @lp_str_concat(ptr %t67, ptr %t77) store i32 0, ptr @lp_site call void @lp_free(ptr %t67) store i32 900, ptr @lp_site %t79 = call ptr @lp_str_concat(ptr %t78, ptr @.str1546) store i32 0, ptr @lp_site call void @lp_free(ptr %t78) call void @fn_act_err(ptr %t43, ptr %t79) br label %ifend10 ifend10: %t80 = load ptr, ptr @g_g_dsp_ids %t81 = load i32, ptr %t0 %t82 = getelementptr inbounds %LSlice, ptr %t80, i32 0, i32 0 %t83 = load ptr, ptr %t82 %t84 = getelementptr inbounds %LSlice, ptr %t80, i32 0, i32 1 %t85 = load i32, ptr %t84 %t86 = icmp ult i32 %t81, %t85 br i1 %t86, label %ixok19, label %ixbad20 ixbad20: store i32 901, ptr @lp_site %t87 = call ptr @lp_win_stdio(i32 2) store i32 0, ptr @lp_site call i32 (ptr, ptr, ...) @fprintf(ptr %t87, ptr @.fmt_bounds, ptr @.str1547, i32 %t81, i32 %t85) call void @exit(i32 1) unreachable ixok19: %t88 = getelementptr inbounds ptr, ptr %t83, i32 %t81 %t89 = load ptr, ptr %t88 %t90 = getelementptr inbounds %Cmp_Node, ptr %t89, i32 0, i32 2 %t91 = load i32, ptr %t29 store i32 %t91, ptr %t90 %t92 = load i32, ptr %t0 %t93 = add i32 %t92, 1 store i32 %t93, ptr %t0 br label %wcond3 wend5: %t94 = load ptr, ptr @g_g_parse_file store ptr %t94, ptr %t95 %t96 = load ptr, ptr @g_g_act_main %t97 = icmp ne ptr %t96, null %t98 = zext i1 %t97 to i32 %t99 = icmp ne i32 %t98, 0 br i1 %t99, label %then21, label %ifend23 then21: %t100 = load ptr, ptr @g_g_act_main store ptr %t100, ptr %t95 br label %ifend23 ifend23: store i32 1, ptr %t101 %t102 = load ptr, ptr @g_g_act_names %t103 = getelementptr inbounds %LSlice, ptr %t102, i32 0, i32 1 %t104 = load i32, ptr %t103 %t105 = icmp eq i32 %t104, 0 %t106 = zext i1 %t105 to i32 %t107 = icmp ne i32 %t106, 0 br i1 %t107, label %then24, label %ifend26 then24: %t108 = load ptr, ptr %t95 %t109 = load i32, ptr %t101 call void @fn_vw_parse(ptr @.str1548, ptr %t108, i32 %t109, i32 1) br label %ret ifend26: %t110 = call ptr @fn_act_src() %t111 = load ptr, ptr %t95 %t112 = load i32, ptr %t101 call void @fn_vw_parse(ptr %t110, ptr %t111, i32 %t112, i32 1) br label %ret ret: ret void } define void @fn_red_check(i32 %arg_i) { entry: %t0 = alloca i32 %t11 = alloca ptr %t22 = alloca ptr %t33 = alloca ptr %t73 = alloca ptr %t74 = alloca i32 %t152 = alloca ptr %t217 = alloca i32 %t218 = alloca i32 %t286 = alloca i32 %t292 = alloca i32 store i32 %arg_i, ptr %t0 %t1 = load ptr, ptr @g_g_red_nodes %t2 = load i32, ptr %t0 %t3 = getelementptr inbounds %LSlice, ptr %t1, i32 0, i32 0 %t4 = load ptr, ptr %t3 %t5 = getelementptr inbounds %LSlice, ptr %t1, i32 0, i32 1 %t6 = load i32, ptr %t5 %t7 = icmp ult i32 %t2, %t6 br i1 %t7, label %ixok0, label %ixbad1 ixbad1: store i32 902, ptr @lp_site %t8 = call ptr @lp_win_stdio(i32 2) store i32 0, ptr @lp_site call i32 (ptr, ptr, ...) @fprintf(ptr %t8, ptr @.fmt_bounds, ptr @.str1549, i32 %t2, i32 %t6) call void @exit(i32 1) unreachable ixok0: %t9 = getelementptr inbounds ptr, ptr %t4, i32 %t2 %t10 = load ptr, ptr %t9 store ptr %t10, ptr %t11 %t12 = load ptr, ptr @g_g_red_state %t13 = load i32, ptr %t0 %t14 = getelementptr inbounds %LSlice, ptr %t12, i32 0, i32 0 %t15 = load ptr, ptr %t14 %t16 = getelementptr inbounds %LSlice, ptr %t12, i32 0, i32 1 %t17 = load i32, ptr %t16 %t18 = icmp ult i32 %t13, %t17 br i1 %t18, label %ixok2, label %ixbad3 ixbad3: store i32 903, ptr @lp_site %t19 = call ptr @lp_win_stdio(i32 2) store i32 0, ptr @lp_site call i32 (ptr, ptr, ...) @fprintf(ptr %t19, ptr @.fmt_bounds, ptr @.str1551, i32 %t13, i32 %t17) call void @exit(i32 1) unreachable ixok2: %t20 = getelementptr inbounds ptr, ptr %t15, i32 %t13 %t21 = load ptr, ptr %t20 store ptr %t21, ptr %t22 %t23 = load ptr, ptr @g_g_red_action %t24 = load i32, ptr %t0 %t25 = getelementptr inbounds %LSlice, ptr %t23, i32 0, i32 0 %t26 = load ptr, ptr %t25 %t27 = getelementptr inbounds %LSlice, ptr %t23, i32 0, i32 1 %t28 = load i32, ptr %t27 %t29 = icmp ult i32 %t24, %t28 br i1 %t29, label %ixok4, label %ixbad5 ixbad5: store i32 904, ptr @lp_site %t30 = call ptr @lp_win_stdio(i32 2) store i32 0, ptr @lp_site call i32 (ptr, ptr, ...) @fprintf(ptr %t30, ptr @.fmt_bounds, ptr @.str1552, i32 %t24, i32 %t28) call void @exit(i32 1) unreachable ixok4: %t31 = getelementptr inbounds ptr, ptr %t26, i32 %t24 %t32 = load ptr, ptr %t31 store ptr %t32, ptr %t33 %t34 = load ptr, ptr %t33 %t35 = call i32 @fn_act_index(ptr %t34) %t36 = icmp slt i32 %t35, 0 %t37 = zext i1 %t36 to i32 %t38 = icmp ne i32 %t37, 0 br i1 %t38, label %then6, label %ifend8 then6: %t39 = load ptr, ptr %t11 %t40 = load ptr, ptr %t22 store i32 905, ptr @lp_site %t41 = call ptr @lp_str_concat(ptr @.str1553, ptr %t40) store i32 0, ptr @lp_site store i32 906, ptr @lp_site %t42 = call ptr @lp_str_concat(ptr %t41, ptr @.str1554) store i32 0, ptr @lp_site call void @lp_free(ptr %t41) %t43 = load ptr, ptr %t33 store i32 907, ptr @lp_site %t44 = call ptr @lp_str_concat(ptr %t42, ptr %t43) store i32 0, ptr @lp_site call void @lp_free(ptr %t42) store i32 908, ptr @lp_site %t45 = call ptr @lp_str_concat(ptr %t44, ptr @.str1555) store i32 0, ptr @lp_site call void @lp_free(ptr %t44) %t46 = load ptr, ptr %t33 store i32 909, ptr @lp_site %t47 = call ptr @lp_str_concat(ptr %t45, ptr %t46) store i32 0, ptr @lp_site call void @lp_free(ptr %t45) store i32 910, ptr @lp_site %t48 = call ptr @lp_str_concat(ptr %t47, ptr @.str1556) store i32 0, ptr @lp_site call void @lp_free(ptr %t47) %t49 = load ptr, ptr %t33 store i32 911, ptr @lp_site %t50 = call ptr @lp_str_concat(ptr %t48, ptr %t49) store i32 0, ptr @lp_site call void @lp_free(ptr %t48) store i32 912, ptr @lp_site %t51 = call ptr @lp_str_concat(ptr %t50, ptr @.str1557) store i32 0, ptr @lp_site call void @lp_free(ptr %t50) call void @fn_act_err(ptr %t39, ptr %t51) br label %ifend8 ifend8: %t52 = load ptr, ptr %t22 %t53 = call i32 @fn_is_state_ty(ptr %t52) %t54 = icmp eq i32 %t53, 0 %t55 = zext i1 %t54 to i32 %t56 = icmp ne i32 %t55, 0 br i1 %t56, label %then9, label %ifend11 then9: %t57 = load ptr, ptr %t11 %t58 = load ptr, ptr %t22 store i32 913, ptr @lp_site %t59 = call ptr @lp_str_concat(ptr @.str1558, ptr %t58) store i32 0, ptr @lp_site store i32 914, ptr @lp_site %t60 = call ptr @lp_str_concat(ptr %t59, ptr @.str1559) store i32 0, ptr @lp_site call void @lp_free(ptr %t59) %t61 = load ptr, ptr %t33 store i32 915, ptr @lp_site %t62 = call ptr @lp_str_concat(ptr %t60, ptr %t61) store i32 0, ptr @lp_site call void @lp_free(ptr %t60) store i32 916, ptr @lp_site %t63 = call ptr @lp_str_concat(ptr %t62, ptr @.str1560) store i32 0, ptr @lp_site call void @lp_free(ptr %t62) %t64 = load ptr, ptr %t22 store i32 917, ptr @lp_site %t65 = call ptr @lp_str_concat(ptr %t63, ptr %t64) store i32 0, ptr @lp_site call void @lp_free(ptr %t63) store i32 918, ptr @lp_site %t66 = call ptr @lp_str_concat(ptr %t65, ptr @.str1561) store i32 0, ptr @lp_site call void @lp_free(ptr %t65) call void @fn_act_err(ptr %t57, ptr %t66) br label %ifend11 ifend11: %t67 = getelementptr %LSlice, ptr null, i32 1 %t68 = ptrtoint ptr %t67 to i64 store i32 919, ptr @lp_site %t69 = call ptr @lp_malloc(i64 %t68) store i32 0, ptr @lp_site %t70 = getelementptr inbounds %LSlice, ptr %t69, i32 0, i32 0 store ptr null, ptr %t70 %t71 = getelementptr inbounds %LSlice, ptr %t69, i32 0, i32 1 store i32 0, ptr %t71 %t72 = getelementptr inbounds %LSlice, ptr %t69, i32 0, i32 2 store i32 0, ptr %t72 store ptr %t69, ptr %t73 store i32 0, ptr %t74 br label %wcond12 wcond12: %t75 = load i32, ptr %t74 %t76 = load ptr, ptr %t11 %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 1 %t80 = load i32, ptr %t79 %t81 = icmp slt i32 %t75, %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 %t11 %t85 = getelementptr inbounds %Cmp_Node, ptr %t84, i32 0, i32 7 %t86 = load ptr, ptr %t85 %t87 = load i32, ptr %t74 %t88 = getelementptr inbounds %LSlice, ptr %t86, i32 0, i32 0 %t89 = load ptr, ptr %t88 %t90 = getelementptr inbounds %LSlice, ptr %t86, i32 0, i32 1 %t91 = load i32, ptr %t90 %t92 = icmp ult i32 %t87, %t91 br i1 %t92, label %ixok15, label %ixbad16 ixbad16: store i32 920, ptr @lp_site %t93 = call ptr @lp_win_stdio(i32 2) store i32 0, ptr @lp_site call i32 (ptr, ptr, ...) @fprintf(ptr %t93, ptr @.fmt_bounds, ptr @.str1562, i32 %t87, i32 %t91) call void @exit(i32 1) unreachable ixok15: %t94 = getelementptr inbounds ptr, ptr %t89, i32 %t87 %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, 5 %t99 = zext i1 %t98 to i32 %t100 = icmp ne i32 %t99, 0 br i1 %t100, label %then17, label %ifend19 then17: %t101 = load ptr, ptr %t73 %t102 = load ptr, ptr %t11 %t103 = getelementptr inbounds %Cmp_Node, ptr %t102, i32 0, i32 7 %t104 = load ptr, ptr %t103 %t105 = load i32, ptr %t74 %t106 = getelementptr inbounds %LSlice, ptr %t104, i32 0, i32 0 %t107 = load ptr, ptr %t106 %t108 = getelementptr inbounds %LSlice, ptr %t104, i32 0, i32 1 %t109 = load i32, ptr %t108 %t110 = icmp ult i32 %t105, %t109 br i1 %t110, label %ixok20, label %ixbad21 ixbad21: store i32 921, ptr @lp_site %t111 = call ptr @lp_win_stdio(i32 2) store i32 0, ptr @lp_site call i32 (ptr, ptr, ...) @fprintf(ptr %t111, ptr @.fmt_bounds, ptr @.str1563, i32 %t105, i32 %t109) call void @exit(i32 1) unreachable ixok20: %t112 = getelementptr inbounds ptr, ptr %t107, i32 %t105 %t113 = load ptr, ptr %t112 %t114 = getelementptr inbounds %LSlice, ptr %t101, i32 0, i32 1 %t115 = getelementptr inbounds %LSlice, ptr %t101, i32 0, i32 2 %t116 = getelementptr inbounds %LSlice, ptr %t101, i32 0, i32 0 %t117 = load i32, ptr %t114 %t118 = load i32, ptr %t115 %t119 = icmp sge i32 %t117, %t118 br i1 %t119, label %grow22, label %put23 grow22: %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 store i32 922, ptr @lp_site %t128 = call ptr @lp_realloc(ptr %t127, i64 %t126) store i32 0, ptr @lp_site store ptr %t128, ptr %t116 store i32 %t122, ptr %t115 br label %put23 put23: %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 %ifend19 ifend19: %t132 = load i32, ptr %t74 %t133 = add i32 %t132, 1 store i32 %t133, ptr %t74 br label %wcond12 wend14: store i32 1, ptr %t74 br label %wcond24 wcond24: %t134 = load i32, ptr %t74 %t135 = load ptr, ptr %t73 %t136 = getelementptr inbounds %LSlice, ptr %t135, i32 0, i32 1 %t137 = load i32, ptr %t136 %t138 = sub i32 %t137, 1 %t139 = icmp slt i32 %t134, %t138 %t140 = zext i1 %t139 to i32 %t141 = icmp ne i32 %t140, 0 br i1 %t141, label %wbody25, label %wend26 wbody25: %t142 = load ptr, ptr %t73 %t143 = load i32, ptr %t74 %t144 = getelementptr inbounds %LSlice, ptr %t142, i32 0, i32 0 %t145 = load ptr, ptr %t144 %t146 = getelementptr inbounds %LSlice, ptr %t142, i32 0, i32 1 %t147 = load i32, ptr %t146 %t148 = icmp ult i32 %t143, %t147 br i1 %t148, label %ixok27, label %ixbad28 ixbad28: store i32 923, ptr @lp_site %t149 = call ptr @lp_win_stdio(i32 2) store i32 0, ptr @lp_site call i32 (ptr, ptr, ...) @fprintf(ptr %t149, ptr @.fmt_bounds, ptr @.str1564, i32 %t143, i32 %t147) call void @exit(i32 1) unreachable ixok27: %t150 = getelementptr inbounds ptr, ptr %t145, i32 %t143 %t151 = load ptr, ptr %t150 store ptr %t151, ptr %t152 %t153 = load ptr, ptr %t152 %t154 = getelementptr inbounds %Cmp_Node, ptr %t153, i32 0, i32 3 %t155 = load ptr, ptr %t154 %t156 = call i32 @fn_is_state_ty(ptr %t155) %t157 = icmp eq i32 %t156, 0 %t158 = zext i1 %t157 to i32 %t159 = icmp ne i32 %t158, 0 br i1 %t159, label %then29, label %ifend31 then29: %t160 = load ptr, ptr %t11 %t161 = load ptr, ptr %t22 store i32 924, ptr @lp_site %t162 = call ptr @lp_str_concat(ptr @.str1565, ptr %t161) store i32 0, ptr @lp_site store i32 925, ptr @lp_site %t163 = call ptr @lp_str_concat(ptr %t162, ptr @.str1566) store i32 0, ptr @lp_site call void @lp_free(ptr %t162) %t164 = load ptr, ptr %t33 store i32 926, ptr @lp_site %t165 = call ptr @lp_str_concat(ptr %t163, ptr %t164) store i32 0, ptr @lp_site call void @lp_free(ptr %t163) store i32 927, ptr @lp_site %t166 = call ptr @lp_str_concat(ptr %t165, ptr @.str1567) store i32 0, ptr @lp_site call void @lp_free(ptr %t165) %t167 = load ptr, ptr %t152 %t168 = getelementptr inbounds %Cmp_Node, ptr %t167, i32 0, i32 1 %t169 = load ptr, ptr %t168 store i32 928, ptr @lp_site %t170 = call ptr @lp_str_concat(ptr %t166, ptr %t169) store i32 0, ptr @lp_site call void @lp_free(ptr %t166) store i32 929, ptr @lp_site %t171 = call ptr @lp_str_concat(ptr %t170, ptr @.str1568) store i32 0, ptr @lp_site call void @lp_free(ptr %t170) %t172 = load ptr, ptr %t152 %t173 = getelementptr inbounds %Cmp_Node, ptr %t172, i32 0, i32 3 %t174 = load ptr, ptr %t173 store i32 930, ptr @lp_site %t175 = call ptr @lp_str_concat(ptr %t171, ptr %t174) store i32 0, ptr @lp_site call void @lp_free(ptr %t171) store i32 931, ptr @lp_site %t176 = call ptr @lp_str_concat(ptr %t175, ptr @.str1569) store i32 0, ptr @lp_site call void @lp_free(ptr %t175) call void @fn_act_err(ptr %t160, ptr %t176) br label %ifend31 ifend31: %t177 = load ptr, ptr %t152 %t178 = getelementptr inbounds %Cmp_Node, ptr %t177, i32 0, i32 12 %t179 = load i32, ptr %t178 %t180 = icmp eq i32 %t179, 1 %t181 = zext i1 %t180 to i32 %t182 = icmp ne i32 %t181, 0 br i1 %t182, label %then32, label %ifend34 then32: %t183 = load ptr, ptr %t11 %t184 = load ptr, ptr %t22 store i32 932, ptr @lp_site %t185 = call ptr @lp_str_concat(ptr @.str1570, ptr %t184) store i32 0, ptr @lp_site store i32 933, ptr @lp_site %t186 = call ptr @lp_str_concat(ptr %t185, ptr @.str1571) store i32 0, ptr @lp_site call void @lp_free(ptr %t185) %t187 = load ptr, ptr %t33 store i32 934, ptr @lp_site %t188 = call ptr @lp_str_concat(ptr %t186, ptr %t187) store i32 0, ptr @lp_site call void @lp_free(ptr %t186) store i32 935, ptr @lp_site %t189 = call ptr @lp_str_concat(ptr %t188, ptr @.str1572) store i32 0, ptr @lp_site call void @lp_free(ptr %t188) %t190 = load ptr, ptr %t152 %t191 = getelementptr inbounds %Cmp_Node, ptr %t190, i32 0, i32 1 %t192 = load ptr, ptr %t191 store i32 936, ptr @lp_site %t193 = call ptr @lp_str_concat(ptr %t189, ptr %t192) store i32 0, ptr @lp_site call void @lp_free(ptr %t189) store i32 937, ptr @lp_site %t194 = call ptr @lp_str_concat(ptr %t193, ptr @.str1573) store i32 0, ptr @lp_site call void @lp_free(ptr %t193) %t195 = load ptr, ptr %t152 %t196 = getelementptr inbounds %Cmp_Node, ptr %t195, i32 0, i32 3 %t197 = load ptr, ptr %t196 store i32 938, ptr @lp_site %t198 = call ptr @lp_str_concat(ptr %t194, ptr %t197) store i32 0, ptr @lp_site call void @lp_free(ptr %t194) store i32 939, ptr @lp_site %t199 = call ptr @lp_str_concat(ptr %t198, ptr @.str1574) store i32 0, ptr @lp_site call void @lp_free(ptr %t198) %t200 = load ptr, ptr %t152 %t201 = getelementptr inbounds %Cmp_Node, ptr %t200, i32 0, i32 1 %t202 = load ptr, ptr %t201 store i32 940, ptr @lp_site %t203 = call ptr @lp_str_concat(ptr %t199, ptr %t202) store i32 0, ptr @lp_site call void @lp_free(ptr %t199) store i32 941, ptr @lp_site %t204 = call ptr @lp_str_concat(ptr %t203, ptr @.str1575) store i32 0, ptr @lp_site call void @lp_free(ptr %t203) %t205 = load ptr, ptr %t152 %t206 = getelementptr inbounds %Cmp_Node, ptr %t205, i32 0, i32 3 %t207 = load ptr, ptr %t206 store i32 942, ptr @lp_site %t208 = call ptr @lp_str_concat(ptr %t204, ptr %t207) store i32 0, ptr @lp_site call void @lp_free(ptr %t204) store i32 943, ptr @lp_site %t209 = call ptr @lp_str_concat(ptr %t208, ptr @.str1576) store i32 0, ptr @lp_site call void @lp_free(ptr %t208) %t210 = load ptr, ptr %t152 %t211 = getelementptr inbounds %Cmp_Node, ptr %t210, i32 0, i32 3 %t212 = load ptr, ptr %t211 store i32 944, ptr @lp_site %t213 = call ptr @lp_str_concat(ptr %t209, ptr %t212) store i32 0, ptr @lp_site call void @lp_free(ptr %t209) store i32 945, ptr @lp_site %t214 = call ptr @lp_str_concat(ptr %t213, ptr @.str1577) store i32 0, ptr @lp_site call void @lp_free(ptr %t213) call void @fn_act_err(ptr %t183, ptr %t214) br label %ifend34 ifend34: %t215 = load i32, ptr %t74 %t216 = add i32 %t215, 1 store i32 %t216, ptr %t74 br label %wcond24 wend26: %t219 = load ptr, ptr %t73 %t220 = getelementptr inbounds %LSlice, ptr %t219, i32 0, i32 1 %t221 = load i32, ptr %t220 %t222 = icmp slt i32 %t221, 2 %t223 = zext i1 %t222 to i32 %t224 = icmp ne i32 %t223, 0 %t225 = zext i1 %t224 to i32 store i32 %t225, ptr %t218 br i1 %t224, label %scend36, label %sc35 sc35: %t226 = load ptr, ptr %t73 %t227 = getelementptr inbounds %LSlice, ptr %t226, i32 0, i32 0 %t228 = load ptr, ptr %t227 %t229 = getelementptr inbounds %LSlice, ptr %t226, i32 0, i32 1 %t230 = load i32, ptr %t229 %t231 = icmp ult i32 0, %t230 br i1 %t231, label %ixok37, label %ixbad38 ixbad38: store i32 946, ptr @lp_site %t232 = call ptr @lp_win_stdio(i32 2) store i32 0, ptr @lp_site call i32 (ptr, ptr, ...) @fprintf(ptr %t232, ptr @.fmt_bounds, ptr @.str1578, i32 0, i32 %t230) call void @exit(i32 1) unreachable ixok37: %t233 = getelementptr inbounds ptr, ptr %t228, i32 0 %t234 = load ptr, ptr %t233 %t235 = getelementptr inbounds %Cmp_Node, ptr %t234, i32 0, i32 3 %t236 = load ptr, ptr %t235 %t237 = load ptr, ptr %t22 %t238 = call i32 @lp_str_eq(ptr %t236, ptr %t237) %t239 = icmp eq i32 %t238, 0 %t240 = zext i1 %t239 to i32 %t241 = icmp ne i32 %t240, 0 %t242 = zext i1 %t241 to i32 store i32 %t242, ptr %t218 br label %scend36 scend36: %t243 = load i32, ptr %t218 %t244 = icmp ne i32 %t243, 0 %t245 = zext i1 %t244 to i32 store i32 %t245, ptr %t217 br i1 %t244, label %scend40, label %sc39 sc39: %t246 = load ptr, ptr %t73 %t247 = load ptr, ptr %t73 %t248 = getelementptr inbounds %LSlice, ptr %t247, i32 0, i32 1 %t249 = load i32, ptr %t248 %t250 = sub i32 %t249, 1 %t251 = getelementptr inbounds %LSlice, ptr %t246, i32 0, i32 0 %t252 = load ptr, ptr %t251 %t253 = getelementptr inbounds %LSlice, ptr %t246, i32 0, i32 1 %t254 = load i32, ptr %t253 %t255 = icmp ult i32 %t250, %t254 br i1 %t255, label %ixok41, label %ixbad42 ixbad42: store i32 947, ptr @lp_site %t256 = call ptr @lp_win_stdio(i32 2) store i32 0, ptr @lp_site call i32 (ptr, ptr, ...) @fprintf(ptr %t256, ptr @.fmt_bounds, ptr @.str1579, i32 %t250, i32 %t254) call void @exit(i32 1) unreachable ixok41: %t257 = getelementptr inbounds ptr, ptr %t252, i32 %t250 %t258 = load ptr, ptr %t257 %t259 = getelementptr inbounds %Cmp_Node, ptr %t258, i32 0, i32 3 %t260 = load ptr, ptr %t259 %t261 = load ptr, ptr %t33 %t262 = call i32 @lp_str_eq(ptr %t260, ptr %t261) %t263 = icmp eq i32 %t262, 0 %t264 = zext i1 %t263 to i32 %t265 = icmp ne i32 %t264, 0 %t266 = zext i1 %t265 to i32 store i32 %t266, ptr %t217 br label %scend40 scend40: %t267 = load i32, ptr %t217 %t268 = icmp ne i32 %t267, 0 br i1 %t268, label %then43, label %ifend45 then43: %t269 = load ptr, ptr %t11 %t270 = load ptr, ptr %t22 store i32 948, ptr @lp_site %t271 = call ptr @lp_str_concat(ptr @.str1580, ptr %t270) store i32 0, ptr @lp_site store i32 949, ptr @lp_site %t272 = call ptr @lp_str_concat(ptr %t271, ptr @.str1581) store i32 0, ptr @lp_site call void @lp_free(ptr %t271) %t273 = load ptr, ptr %t33 store i32 950, ptr @lp_site %t274 = call ptr @lp_str_concat(ptr %t272, ptr %t273) store i32 0, ptr @lp_site call void @lp_free(ptr %t272) store i32 951, ptr @lp_site %t275 = call ptr @lp_str_concat(ptr %t274, ptr @.str1582) store i32 0, ptr @lp_site call void @lp_free(ptr %t274) %t276 = load ptr, ptr %t22 %t277 = call ptr @fn_reg_lower(ptr %t276) store i32 952, ptr @lp_site %t278 = call ptr @lp_str_concat(ptr %t275, ptr %t277) store i32 0, ptr @lp_site call void @lp_free(ptr %t275) store i32 953, ptr @lp_site %t279 = call ptr @lp_str_concat(ptr %t278, ptr @.str1583) store i32 0, ptr @lp_site call void @lp_free(ptr %t278) %t280 = load ptr, ptr %t22 store i32 954, ptr @lp_site %t281 = call ptr @lp_str_concat(ptr %t279, ptr %t280) store i32 0, ptr @lp_site call void @lp_free(ptr %t279) store i32 955, ptr @lp_site %t282 = call ptr @lp_str_concat(ptr %t281, ptr @.str1584) store i32 0, ptr @lp_site call void @lp_free(ptr %t281) %t283 = load ptr, ptr %t33 store i32 956, ptr @lp_site %t284 = call ptr @lp_str_concat(ptr %t282, ptr %t283) store i32 0, ptr @lp_site call void @lp_free(ptr %t282) store i32 957, ptr @lp_site %t285 = call ptr @lp_str_concat(ptr %t284, ptr @.str1585) store i32 0, ptr @lp_site call void @lp_free(ptr %t284) call void @fn_act_err(ptr %t269, ptr %t285) br label %ifend45 ifend45: store i32 0, ptr %t286 br label %wcond46 wcond46: %t287 = load i32, ptr %t286 %t288 = load i32, ptr %t0 %t289 = icmp slt i32 %t287, %t288 %t290 = zext i1 %t289 to i32 %t291 = icmp ne i32 %t290, 0 br i1 %t291, label %wbody47, label %wend48 wbody47: %t293 = load ptr, ptr @g_g_red_state %t294 = load i32, ptr %t286 %t295 = getelementptr inbounds %LSlice, ptr %t293, i32 0, i32 0 %t296 = load ptr, ptr %t295 %t297 = getelementptr inbounds %LSlice, ptr %t293, i32 0, i32 1 %t298 = load i32, ptr %t297 %t299 = icmp ult i32 %t294, %t298 br i1 %t299, label %ixok49, label %ixbad50 ixbad50: store i32 958, ptr @lp_site %t300 = call ptr @lp_win_stdio(i32 2) store i32 0, ptr @lp_site call i32 (ptr, ptr, ...) @fprintf(ptr %t300, ptr @.fmt_bounds, ptr @.str1586, i32 %t294, i32 %t298) call void @exit(i32 1) unreachable ixok49: %t301 = getelementptr inbounds ptr, ptr %t296, i32 %t294 %t302 = load ptr, ptr %t301 %t303 = load ptr, ptr %t22 %t304 = call i32 @lp_str_eq(ptr %t302, ptr %t303) %t305 = icmp ne i32 %t304, 0 %t306 = zext i1 %t305 to i32 store i32 %t306, ptr %t292 br i1 %t305, label %sc51, label %scend52 sc51: %t307 = load ptr, ptr @g_g_red_action %t308 = load i32, ptr %t286 %t309 = getelementptr inbounds %LSlice, ptr %t307, i32 0, i32 0 %t310 = load ptr, ptr %t309 %t311 = getelementptr inbounds %LSlice, ptr %t307, i32 0, i32 1 %t312 = load i32, ptr %t311 %t313 = icmp ult i32 %t308, %t312 br i1 %t313, label %ixok53, label %ixbad54 ixbad54: store i32 959, ptr @lp_site %t314 = call ptr @lp_win_stdio(i32 2) store i32 0, ptr @lp_site call i32 (ptr, ptr, ...) @fprintf(ptr %t314, ptr @.fmt_bounds, ptr @.str1587, i32 %t308, i32 %t312) call void @exit(i32 1) unreachable ixok53: %t315 = getelementptr inbounds ptr, ptr %t310, i32 %t308 %t316 = load ptr, ptr %t315 %t317 = load ptr, ptr %t33 %t318 = call i32 @lp_str_eq(ptr %t316, ptr %t317) %t319 = icmp ne i32 %t318, 0 %t320 = zext i1 %t319 to i32 store i32 %t320, ptr %t292 br label %scend52 scend52: %t321 = load i32, ptr %t292 %t322 = icmp ne i32 %t321, 0 br i1 %t322, label %then55, label %ifend57 then55: %t323 = load ptr, ptr %t11 %t324 = load ptr, ptr %t22 store i32 960, ptr @lp_site %t325 = call ptr @lp_str_concat(ptr @.str1588, ptr %t324) store i32 0, ptr @lp_site store i32 961, ptr @lp_site %t326 = call ptr @lp_str_concat(ptr %t325, ptr @.str1589) store i32 0, ptr @lp_site call void @lp_free(ptr %t325) %t327 = load ptr, ptr %t33 store i32 962, ptr @lp_site %t328 = call ptr @lp_str_concat(ptr %t326, ptr %t327) store i32 0, ptr @lp_site call void @lp_free(ptr %t326) store i32 963, ptr @lp_site %t329 = call ptr @lp_str_concat(ptr %t328, ptr @.str1590) store i32 0, ptr @lp_site call void @lp_free(ptr %t328) %t330 = load ptr, ptr @g_g_red_nodes %t331 = load i32, ptr %t286 %t332 = getelementptr inbounds %LSlice, ptr %t330, i32 0, i32 0 %t333 = load ptr, ptr %t332 %t334 = getelementptr inbounds %LSlice, ptr %t330, i32 0, i32 1 %t335 = load i32, ptr %t334 %t336 = icmp ult i32 %t331, %t335 br i1 %t336, label %ixok58, label %ixbad59 ixbad59: store i32 964, ptr @lp_site %t337 = call ptr @lp_win_stdio(i32 2) store i32 0, ptr @lp_site call i32 (ptr, ptr, ...) @fprintf(ptr %t337, ptr @.fmt_bounds, ptr @.str1591, i32 %t331, i32 %t335) call void @exit(i32 1) unreachable ixok58: %t338 = getelementptr inbounds ptr, ptr %t333, i32 %t331 %t339 = load ptr, ptr %t338 %t340 = getelementptr inbounds %Cmp_Node, ptr %t339, i32 0, i32 9 %t341 = load ptr, ptr %t340 store i32 965, ptr @lp_site %t342 = call ptr @lp_str_concat(ptr %t329, ptr %t341) store i32 0, ptr @lp_site call void @lp_free(ptr %t329) store i32 966, ptr @lp_site %t343 = call ptr @lp_str_concat(ptr %t342, ptr @.str1592) store i32 0, ptr @lp_site call void @lp_free(ptr %t342) %t344 = load ptr, ptr @g_g_red_nodes %t345 = load i32, ptr %t286 %t346 = getelementptr inbounds %LSlice, ptr %t344, i32 0, i32 0 %t347 = load ptr, ptr %t346 %t348 = getelementptr inbounds %LSlice, ptr %t344, i32 0, i32 1 %t349 = load i32, ptr %t348 %t350 = icmp ult i32 %t345, %t349 br i1 %t350, label %ixok60, label %ixbad61 ixbad61: store i32 967, ptr @lp_site %t351 = call ptr @lp_win_stdio(i32 2) store i32 0, ptr @lp_site call i32 (ptr, ptr, ...) @fprintf(ptr %t351, ptr @.fmt_bounds, ptr @.str1593, i32 %t345, i32 %t349) call void @exit(i32 1) unreachable ixok60: %t352 = getelementptr inbounds ptr, ptr %t347, i32 %t345 %t353 = load ptr, ptr %t352 %t354 = getelementptr inbounds %Cmp_Node, ptr %t353, i32 0, i32 8 %t355 = load i32, ptr %t354 %t356 = call ptr @fn_itoa(i32 %t355) store i32 968, ptr @lp_site %t357 = call ptr @lp_str_concat(ptr %t343, ptr %t356) store i32 0, ptr @lp_site call void @lp_free(ptr %t343) store i32 969, ptr @lp_site %t358 = call ptr @lp_str_concat(ptr %t357, ptr @.str1594) store i32 0, ptr @lp_site call void @lp_free(ptr %t357) call void @fn_act_err(ptr %t323, ptr %t358) br label %ifend57 ifend57: %t359 = load i32, ptr %t286 %t360 = add i32 %t359, 1 store i32 %t360, ptr %t286 br label %wcond46 wend48: br label %ret ret: ret void } define ptr @fn_act_src() { entry: %retval = alloca ptr %t0 = alloca ptr %t1 = alloca i32 %t81 = alloca ptr %t94 = alloca i32 store ptr @.str1595, ptr %t0 store i32 0, ptr %t1 br label %wcond0 wcond0: %t2 = load i32, ptr %t1 %t3 = load ptr, ptr @g_g_act_names %t4 = getelementptr inbounds %LSlice, ptr %t3, i32 0, i32 1 %t5 = load i32, ptr %t4 %t6 = icmp slt i32 %t2, %t5 %t7 = zext i1 %t6 to i32 %t8 = icmp ne i32 %t7, 0 br i1 %t8, label %wbody1, label %wend2 wbody1: %t9 = load ptr, ptr %t0 %t10 = load i32, ptr %t1 %t11 = call ptr @fn_itoa(i32 %t10) store i32 970, ptr @lp_site %t12 = call ptr @lp_str_concat(ptr @.str1596, ptr %t11) store i32 0, ptr @lp_site store i32 971, ptr @lp_site %t13 = call ptr @lp_str_concat(ptr %t12, ptr @.str1598) store i32 0, ptr @lp_site call void @lp_free(ptr %t12) %t14 = load ptr, ptr @g_g_act_names %t15 = load i32, ptr %t1 %t16 = getelementptr inbounds %LSlice, ptr %t14, i32 0, i32 0 %t17 = load ptr, ptr %t16 %t18 = getelementptr inbounds %LSlice, ptr %t14, i32 0, i32 1 %t19 = load i32, ptr %t18 %t20 = icmp ult i32 %t15, %t19 br i1 %t20, label %ixok3, label %ixbad4 ixbad4: store i32 972, ptr @lp_site %t21 = call ptr @lp_win_stdio(i32 2) store i32 0, ptr @lp_site call i32 (ptr, ptr, ...) @fprintf(ptr %t21, ptr @.fmt_bounds, ptr @.str1599, i32 %t15, i32 %t19) call void @exit(i32 1) unreachable ixok3: %t22 = getelementptr inbounds ptr, ptr %t17, i32 %t15 %t23 = load ptr, ptr %t22 store i32 973, ptr @lp_site %t24 = call ptr @lp_str_concat(ptr %t13, ptr %t23) store i32 0, ptr @lp_site call void @lp_free(ptr %t13) store i32 974, ptr @lp_site %t25 = call ptr @lp_str_concat(ptr %t24, ptr @.str1600) store i32 0, ptr @lp_site call void @lp_free(ptr %t24) %t26 = load ptr, ptr @g_g_act_names %t27 = load i32, ptr %t1 %t28 = getelementptr inbounds %LSlice, ptr %t26, i32 0, i32 0 %t29 = load ptr, ptr %t28 %t30 = getelementptr inbounds %LSlice, ptr %t26, i32 0, i32 1 %t31 = load i32, ptr %t30 %t32 = icmp ult i32 %t27, %t31 br i1 %t32, label %ixok5, label %ixbad6 ixbad6: store i32 975, ptr @lp_site %t33 = call ptr @lp_win_stdio(i32 2) store i32 0, ptr @lp_site call i32 (ptr, ptr, ...) @fprintf(ptr %t33, ptr @.fmt_bounds, ptr @.str1601, i32 %t27, i32 %t31) call void @exit(i32 1) unreachable ixok5: %t34 = getelementptr inbounds ptr, ptr %t29, i32 %t27 %t35 = load ptr, ptr %t34 store i32 976, ptr @lp_site %t36 = call ptr @lp_str_concat(ptr %t25, ptr %t35) store i32 0, ptr @lp_site call void @lp_free(ptr %t25) store i32 977, ptr @lp_site %t37 = call ptr @lp_str_concat(ptr %t36, ptr @.str1602) store i32 0, ptr @lp_site call void @lp_free(ptr %t36) %t38 = load i32, ptr %t1 %t39 = call ptr @fn_itoa(i32 %t38) store i32 978, ptr @lp_site %t40 = call ptr @lp_str_concat(ptr %t37, ptr %t39) store i32 0, ptr @lp_site call void @lp_free(ptr %t37) store i32 979, ptr @lp_site %t41 = call ptr @lp_str_concat(ptr %t40, ptr @.str1603) store i32 0, ptr @lp_site call void @lp_free(ptr %t40) store i32 980, ptr @lp_site %t42 = call ptr @lp_str_concat(ptr %t9, ptr %t41) store i32 0, ptr @lp_site call void @lp_free(ptr %t41) store ptr %t42, ptr %t0 %t43 = load i32, ptr %t1 %t44 = add i32 %t43, 1 store i32 %t44, ptr %t1 br label %wcond0 wend2: %t45 = load ptr, ptr %t0 store i32 981, ptr @lp_site %t46 = call ptr @lp_str_concat(ptr %t45, ptr @.str1604) store i32 0, ptr @lp_site store ptr %t46, ptr %t0 %t47 = load ptr, ptr %t0 %t48 = call ptr @fn_act_new_src() store i32 982, ptr @lp_site %t49 = call ptr @lp_str_concat(ptr %t47, ptr %t48) store i32 0, ptr @lp_site store ptr %t49, ptr %t0 %t50 = load ptr, ptr %t0 store i32 983, ptr @lp_site %t51 = call ptr @lp_str_concat(ptr %t50, ptr @.str1605) store i32 0, ptr @lp_site store ptr %t51, ptr %t0 %t52 = load ptr, ptr %t0 store i32 984, ptr @lp_site %t53 = call ptr @lp_str_concat(ptr %t52, ptr @.str1606) store i32 0, ptr @lp_site store ptr %t53, ptr %t0 %t54 = load ptr, ptr %t0 store i32 985, ptr @lp_site %t55 = call ptr @lp_str_concat(ptr %t54, ptr @.str1607) store i32 0, ptr @lp_site store ptr %t55, ptr %t0 %t56 = load ptr, ptr %t0 %t57 = call ptr @fn_itoa(i32 64) store i32 986, ptr @lp_site %t58 = call ptr @lp_str_concat(ptr @.str1608, ptr %t57) store i32 0, ptr @lp_site store i32 987, ptr @lp_site %t59 = call ptr @lp_str_concat(ptr %t58, ptr @.str1609) store i32 0, ptr @lp_site call void @lp_free(ptr %t58) store i32 988, ptr @lp_site %t60 = call ptr @lp_str_concat(ptr %t56, ptr %t59) store i32 0, ptr @lp_site call void @lp_free(ptr %t59) store ptr %t60, ptr %t0 %t61 = load ptr, ptr %t0 store i32 989, ptr @lp_site %t62 = call ptr @lp_str_concat(ptr %t61, ptr @.str1610) store i32 0, ptr @lp_site store ptr %t62, ptr %t0 store i32 0, ptr %t1 br label %wcond7 wcond7: %t63 = load i32, ptr %t1 %t64 = load ptr, ptr @g_g_act_names %t65 = getelementptr inbounds %LSlice, ptr %t64, i32 0, i32 1 %t66 = load i32, ptr %t65 %t67 = icmp slt i32 %t63, %t66 %t68 = zext i1 %t67 to i32 %t69 = icmp ne i32 %t68, 0 br i1 %t69, label %wbody8, label %wend9 wbody8: %t70 = load ptr, ptr @g_g_act_names %t71 = load i32, ptr %t1 %t72 = getelementptr inbounds %LSlice, ptr %t70, i32 0, i32 0 %t73 = load ptr, ptr %t72 %t74 = getelementptr inbounds %LSlice, ptr %t70, i32 0, i32 1 %t75 = load i32, ptr %t74 %t76 = icmp ult i32 %t71, %t75 br i1 %t76, label %ixok10, label %ixbad11 ixbad11: store i32 990, ptr @lp_site %t77 = call ptr @lp_win_stdio(i32 2) store i32 0, ptr @lp_site call i32 (ptr, ptr, ...) @fprintf(ptr %t77, ptr @.fmt_bounds, ptr @.str1611, i32 %t71, i32 %t75) call void @exit(i32 1) unreachable ixok10: %t78 = getelementptr inbounds ptr, ptr %t73, i32 %t71 %t79 = load ptr, ptr %t78 %t80 = call ptr @fn_red_sorted(ptr %t79) store ptr %t80, ptr %t81 %t82 = load ptr, ptr %t81 %t83 = getelementptr inbounds %LSlice, ptr %t82, i32 0, i32 1 %t84 = load i32, ptr %t83 %t85 = icmp sgt i32 %t84, 0 %t86 = zext i1 %t85 to i32 %t87 = icmp ne i32 %t86, 0 br i1 %t87, label %then12, label %ifend14 then12: %t88 = load ptr, ptr %t0 %t89 = load i32, ptr %t1 %t90 = call ptr @fn_itoa(i32 %t89) store i32 991, ptr @lp_site %t91 = call ptr @lp_str_concat(ptr @.str1612, ptr %t90) store i32 0, ptr @lp_site store i32 992, ptr @lp_site %t92 = call ptr @lp_str_concat(ptr %t91, ptr @.str1613) store i32 0, ptr @lp_site call void @lp_free(ptr %t91) store i32 993, ptr @lp_site %t93 = call ptr @lp_str_concat(ptr %t88, ptr %t92) store i32 0, ptr @lp_site call void @lp_free(ptr %t92) store ptr %t93, ptr %t0 store i32 0, ptr %t94 br label %wcond15 wcond15: %t95 = load i32, ptr %t94 %t96 = load ptr, ptr %t81 %t97 = getelementptr inbounds %LSlice, ptr %t96, i32 0, i32 1 %t98 = load i32, ptr %t97 %t99 = icmp slt i32 %t95, %t98 %t100 = zext i1 %t99 to i32 %t101 = icmp ne i32 %t100, 0 br i1 %t101, label %wbody16, label %wend17 wbody16: %t102 = load ptr, ptr %t0 %t103 = load ptr, ptr @g_g_red_nodes %t104 = load ptr, ptr %t81 %t105 = load i32, ptr %t94 %t106 = getelementptr inbounds %LSlice, ptr %t104, i32 0, i32 0 %t107 = load ptr, ptr %t106 %t108 = getelementptr inbounds %LSlice, ptr %t104, i32 0, i32 1 %t109 = load i32, ptr %t108 %t110 = icmp ult i32 %t105, %t109 br i1 %t110, label %ixok18, label %ixbad19 ixbad19: store i32 994, ptr @lp_site %t111 = call ptr @lp_win_stdio(i32 2) store i32 0, ptr @lp_site call i32 (ptr, ptr, ...) @fprintf(ptr %t111, ptr @.fmt_bounds, ptr @.str1615, i32 %t105, i32 %t109) call void @exit(i32 1) unreachable ixok18: %t112 = getelementptr inbounds i32, ptr %t107, i32 %t105 %t113 = load i32, ptr %t112 %t114 = getelementptr inbounds %LSlice, ptr %t103, i32 0, i32 0 %t115 = load ptr, ptr %t114 %t116 = getelementptr inbounds %LSlice, ptr %t103, i32 0, i32 1 %t117 = load i32, ptr %t116 %t118 = icmp ult i32 %t113, %t117 br i1 %t118, label %ixok20, label %ixbad21 ixbad21: store i32 995, ptr @lp_site %t119 = call ptr @lp_win_stdio(i32 2) store i32 0, ptr @lp_site call i32 (ptr, ptr, ...) @fprintf(ptr %t119, ptr @.fmt_bounds, ptr @.str1616, i32 %t113, i32 %t117) call void @exit(i32 1) unreachable ixok20: %t120 = getelementptr inbounds ptr, ptr %t115, i32 %t113 %t121 = load ptr, ptr %t120 %t122 = getelementptr inbounds %Cmp_Node, ptr %t121, i32 0, i32 1 %t123 = load ptr, ptr %t122 store i32 996, ptr @lp_site %t124 = call ptr @lp_str_concat(ptr @.str1614, ptr %t123) store i32 0, ptr @lp_site store i32 997, ptr @lp_site %t125 = call ptr @lp_str_concat(ptr %t124, ptr @.str1617) store i32 0, ptr @lp_site call void @lp_free(ptr %t124) store i32 998, ptr @lp_site %t126 = call ptr @lp_str_concat(ptr %t102, ptr %t125) store i32 0, ptr @lp_site call void @lp_free(ptr %t125) store ptr %t126, ptr %t0 %t127 = load i32, ptr %t94 %t128 = add i32 %t127, 1 store i32 %t128, ptr %t94 br label %wcond15 wend17: %t129 = load ptr, ptr %t0 store i32 999, ptr @lp_site %t130 = call ptr @lp_str_concat(ptr %t129, ptr @.str1618) store i32 0, ptr @lp_site store ptr %t130, ptr %t0 br label %ifend14 ifend14: %t131 = load i32, ptr %t1 %t132 = add i32 %t131, 1 store i32 %t132, ptr %t1 br label %wcond7 wend9: %t133 = load ptr, ptr %t0 store i32 1000, ptr @lp_site %t134 = call ptr @lp_str_concat(ptr %t133, ptr @.str1619) store i32 0, ptr @lp_site store ptr %t134, ptr %t0 store i32 0, ptr %t1 br label %wcond22 wcond22: %t135 = load i32, ptr %t1 %t136 = load ptr, ptr @g_g_act_names %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 %wbody23, label %wend24 wbody23: %t142 = load ptr, ptr %t0 %t143 = load i32, ptr %t1 %t144 = call ptr @fn_itoa(i32 %t143) store i32 1001, ptr @lp_site %t145 = call ptr @lp_str_concat(ptr @.str1620, ptr %t144) store i32 0, ptr @lp_site store i32 1002, ptr @lp_site %t146 = call ptr @lp_str_concat(ptr %t145, ptr @.str1621) store i32 0, ptr @lp_site call void @lp_free(ptr %t145) store i32 1003, ptr @lp_site %t147 = call ptr @lp_str_concat(ptr %t142, ptr %t146) store i32 0, ptr @lp_site call void @lp_free(ptr %t146) store ptr %t147, ptr %t0 %t148 = load i32, ptr %t1 %t149 = add i32 %t148, 1 store i32 %t149, ptr %t1 br label %wcond22 wend24: %t150 = load ptr, ptr %t0 store i32 1004, ptr @lp_site %t151 = call ptr @lp_str_concat(ptr %t150, ptr @.str1622) store i32 0, ptr @lp_site store ptr %t151, ptr %t0 %t152 = load ptr, ptr %t0 store i32 1005, ptr @lp_site %t153 = call ptr @lp_str_concat(ptr %t152, ptr @.str1623) store i32 0, ptr @lp_site store ptr %t153, ptr %t0 store i32 0, ptr %t1 br label %wcond25 wcond25: %t154 = load i32, ptr %t1 %t155 = load ptr, ptr @g_g_act_names %t156 = getelementptr inbounds %LSlice, ptr %t155, i32 0, i32 1 %t157 = load i32, ptr %t156 %t158 = icmp slt i32 %t154, %t157 %t159 = zext i1 %t158 to i32 %t160 = icmp ne i32 %t159, 0 br i1 %t160, label %wbody26, label %wend27 wbody26: %t161 = load ptr, ptr %t0 %t162 = load i32, ptr %t1 %t163 = call ptr @fn_itoa(i32 %t162) store i32 1006, ptr @lp_site %t164 = call ptr @lp_str_concat(ptr @.str1624, ptr %t163) store i32 0, ptr @lp_site store i32 1007, ptr @lp_site %t165 = call ptr @lp_str_concat(ptr %t164, ptr @.str1625) store i32 0, ptr @lp_site call void @lp_free(ptr %t164) %t166 = load ptr, ptr @g_g_act_names %t167 = load i32, ptr %t1 %t168 = getelementptr inbounds %LSlice, ptr %t166, i32 0, i32 0 %t169 = load ptr, ptr %t168 %t170 = getelementptr inbounds %LSlice, ptr %t166, i32 0, i32 1 %t171 = load i32, ptr %t170 %t172 = icmp ult i32 %t167, %t171 br i1 %t172, label %ixok28, label %ixbad29 ixbad29: store i32 1008, ptr @lp_site %t173 = call ptr @lp_win_stdio(i32 2) store i32 0, ptr @lp_site call i32 (ptr, ptr, ...) @fprintf(ptr %t173, ptr @.fmt_bounds, ptr @.str1626, i32 %t167, i32 %t171) call void @exit(i32 1) unreachable ixok28: %t174 = getelementptr inbounds ptr, ptr %t169, i32 %t167 %t175 = load ptr, ptr %t174 store i32 1009, ptr @lp_site %t176 = call ptr @lp_str_concat(ptr %t165, ptr %t175) store i32 0, ptr @lp_site call void @lp_free(ptr %t165) store i32 1010, ptr @lp_site %t177 = call ptr @lp_str_concat(ptr %t176, ptr @.str1627) store i32 0, ptr @lp_site call void @lp_free(ptr %t176) store i32 1011, ptr @lp_site %t178 = call ptr @lp_str_concat(ptr %t161, ptr %t177) store i32 0, ptr @lp_site call void @lp_free(ptr %t177) store ptr %t178, ptr %t0 %t179 = load i32, ptr %t1 %t180 = add i32 %t179, 1 store i32 %t180, ptr %t1 br label %wcond25 wend27: %t181 = load ptr, ptr %t0 store i32 1012, ptr @lp_site %t182 = call ptr @lp_str_concat(ptr %t181, ptr @.str1628) store i32 0, ptr @lp_site %t183 = call ptr @fn_itoa(i32 64) store i32 1013, ptr @lp_site %t184 = call ptr @lp_str_concat(ptr %t182, ptr %t183) store i32 0, ptr @lp_site call void @lp_free(ptr %t182) store i32 1014, ptr @lp_site %t185 = call ptr @lp_str_concat(ptr %t184, ptr @.str1629) store i32 0, ptr @lp_site call void @lp_free(ptr %t184) store ptr %t185, ptr %t0 %t186 = load ptr, ptr %t0 store ptr %t186, ptr %retval br label %ret ret: %t187 = load ptr, ptr %retval ret ptr %t187 } define ptr @fn_act_new_src() { entry: %retval = alloca ptr %t0 = alloca ptr %t1 = alloca i32 %t19 = alloca ptr %t22 = alloca ptr store ptr @.str1630, ptr %t0 store i32 0, ptr %t1 br label %wcond0 wcond0: %t2 = load i32, ptr %t1 %t3 = load ptr, ptr @g_g_act_names %t4 = getelementptr inbounds %LSlice, ptr %t3, i32 0, i32 1 %t5 = load i32, ptr %t4 %t6 = icmp slt i32 %t2, %t5 %t7 = zext i1 %t6 to i32 %t8 = icmp ne i32 %t7, 0 br i1 %t8, label %wbody1, label %wend2 wbody1: %t9 = load ptr, ptr @g_g_act_names %t10 = load i32, ptr %t1 %t11 = getelementptr inbounds %LSlice, ptr %t9, i32 0, i32 0 %t12 = load ptr, ptr %t11 %t13 = getelementptr inbounds %LSlice, ptr %t9, i32 0, i32 1 %t14 = load i32, ptr %t13 %t15 = icmp ult i32 %t10, %t14 br i1 %t15, label %ixok3, label %ixbad4 ixbad4: store i32 1015, ptr @lp_site %t16 = call ptr @lp_win_stdio(i32 2) store i32 0, ptr @lp_site call i32 (ptr, ptr, ...) @fprintf(ptr %t16, ptr @.fmt_bounds, ptr @.str1631, i32 %t10, i32 %t14) call void @exit(i32 1) unreachable ixok3: %t17 = getelementptr inbounds ptr, ptr %t12, i32 %t10 %t18 = load ptr, ptr %t17 store ptr %t18, ptr %t19 %t20 = load i32, ptr %t1 %t21 = call ptr @fn_itoa(i32 %t20) store ptr %t21, ptr %t22 %t23 = load ptr, ptr %t0 %t24 = load ptr, ptr %t19 store i32 1016, ptr @lp_site %t25 = call ptr @lp_str_concat(ptr @.str1633, ptr %t24) store i32 0, ptr @lp_site store i32 1017, ptr @lp_site %t26 = call ptr @lp_str_concat(ptr %t25, ptr @.str1634) store i32 0, ptr @lp_site call void @lp_free(ptr %t25) %t27 = load ptr, ptr %t19 store i32 1018, ptr @lp_site %t28 = call ptr @lp_str_concat(ptr %t26, ptr %t27) store i32 0, ptr @lp_site call void @lp_free(ptr %t26) store i32 1019, ptr @lp_site %t29 = call ptr @lp_str_concat(ptr %t28, ptr @.str1635) store i32 0, ptr @lp_site call void @lp_free(ptr %t28) %t30 = load ptr, ptr %t22 store i32 1020, ptr @lp_site %t31 = call ptr @lp_str_concat(ptr %t29, ptr %t30) store i32 0, ptr @lp_site call void @lp_free(ptr %t29) store i32 1021, ptr @lp_site %t32 = call ptr @lp_str_concat(ptr %t31, ptr @.str1636) store i32 0, ptr @lp_site call void @lp_free(ptr %t31) %t33 = load ptr, ptr %t22 store i32 1022, ptr @lp_site %t34 = call ptr @lp_str_concat(ptr %t32, ptr %t33) store i32 0, ptr @lp_site call void @lp_free(ptr %t32) store i32 1023, ptr @lp_site %t35 = call ptr @lp_str_concat(ptr %t34, ptr @.str1637) store i32 0, ptr @lp_site call void @lp_free(ptr %t34) %t36 = load ptr, ptr %t22 store i32 1024, ptr @lp_site %t37 = call ptr @lp_str_concat(ptr %t35, ptr %t36) store i32 0, ptr @lp_site call void @lp_free(ptr %t35) store i32 1025, ptr @lp_site %t38 = call ptr @lp_str_concat(ptr %t37, ptr @.str1638) store i32 0, ptr @lp_site call void @lp_free(ptr %t37) %t39 = load ptr, ptr %t19 store i32 1026, ptr @lp_site %t40 = call ptr @lp_str_concat(ptr %t38, ptr %t39) store i32 0, ptr @lp_site call void @lp_free(ptr %t38) store i32 1027, ptr @lp_site %t41 = call ptr @lp_str_concat(ptr %t40, ptr @.str1639) store i32 0, ptr @lp_site call void @lp_free(ptr %t40) %t42 = load ptr, ptr %t22 store i32 1028, ptr @lp_site %t43 = call ptr @lp_str_concat(ptr %t41, ptr %t42) store i32 0, ptr @lp_site call void @lp_free(ptr %t41) store i32 1029, ptr @lp_site %t44 = call ptr @lp_str_concat(ptr %t43, ptr @.str1640) store i32 0, ptr @lp_site call void @lp_free(ptr %t43) %t45 = load ptr, ptr %t22 store i32 1030, ptr @lp_site %t46 = call ptr @lp_str_concat(ptr %t44, ptr %t45) store i32 0, ptr @lp_site call void @lp_free(ptr %t44) store i32 1031, ptr @lp_site %t47 = call ptr @lp_str_concat(ptr %t46, ptr @.str1641) store i32 0, ptr @lp_site call void @lp_free(ptr %t46) %t48 = load ptr, ptr %t22 store i32 1032, ptr @lp_site %t49 = call ptr @lp_str_concat(ptr %t47, ptr %t48) store i32 0, ptr @lp_site call void @lp_free(ptr %t47) store i32 1033, ptr @lp_site %t50 = call ptr @lp_str_concat(ptr %t49, ptr @.str1642) store i32 0, ptr @lp_site call void @lp_free(ptr %t49) store i32 1034, ptr @lp_site %t51 = call ptr @lp_str_concat(ptr %t23, ptr %t50) store i32 0, ptr @lp_site call void @lp_free(ptr %t50) store ptr %t51, ptr %t0 %t52 = load i32, ptr %t1 %t53 = add i32 %t52, 1 store i32 %t53, ptr %t1 br label %wcond0 wend2: %t54 = load ptr, ptr %t0 store ptr %t54, ptr %retval br label %ret ret: %t55 = load ptr, ptr %retval ret ptr %t55 } define ptr @fn_red_sorted(ptr %arg_act) { entry: %retval = alloca ptr %t0 = alloca ptr %t7 = alloca ptr %t8 = alloca i32 %t51 = alloca i32 %t69 = alloca i32 %t72 = alloca i32 %t73 = alloca i32 store ptr %arg_act, ptr %t0 %t1 = getelementptr %LSlice, ptr null, i32 1 %t2 = ptrtoint ptr %t1 to i64 store i32 1035, ptr @lp_site %t3 = call ptr @lp_malloc(i64 %t2) store i32 0, ptr @lp_site %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 @g_g_red_nodes %t11 = getelementptr inbounds %LSlice, ptr %t10, i32 0, i32 1 %t12 = load i32, ptr %t11 %t13 = icmp slt i32 %t9, %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 @g_g_red_action %t17 = load i32, ptr %t8 %t18 = getelementptr inbounds %LSlice, ptr %t16, i32 0, i32 0 %t19 = load ptr, ptr %t18 %t20 = getelementptr inbounds %LSlice, ptr %t16, i32 0, i32 1 %t21 = load i32, ptr %t20 %t22 = icmp ult i32 %t17, %t21 br i1 %t22, label %ixok3, label %ixbad4 ixbad4: store i32 1036, ptr @lp_site %t23 = call ptr @lp_win_stdio(i32 2) store i32 0, ptr @lp_site call i32 (ptr, ptr, ...) @fprintf(ptr %t23, ptr @.fmt_bounds, ptr @.str1644, i32 %t17, i32 %t21) call void @exit(i32 1) unreachable ixok3: %t24 = getelementptr inbounds ptr, ptr %t19, i32 %t17 %t25 = load ptr, ptr %t24 %t26 = load ptr, ptr %t0 %t27 = call i32 @lp_str_eq(ptr %t25, ptr %t26) %t28 = icmp ne i32 %t27, 0 br i1 %t28, label %then5, label %ifend7 then5: %t29 = load ptr, ptr %t7 %t30 = load i32, ptr %t8 %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 %grow8, label %put9 grow8: %t37 = mul i32 %t35, 2 %t38 = icmp eq i32 %t35, 0 %t39 = select i1 %t38, i32 8, i32 %t37 %t40 = getelementptr i32, 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 store i32 1037, ptr @lp_site %t45 = call ptr @lp_realloc(ptr %t44, i64 %t43) store i32 0, ptr @lp_site store ptr %t45, ptr %t33 store i32 %t39, ptr %t32 br label %put9 put9: %t46 = load ptr, ptr %t33 %t47 = getelementptr inbounds i32, ptr %t46, i32 %t34 store i32 %t30, ptr %t47 %t48 = add i32 %t34, 1 store i32 %t48, ptr %t31 br label %ifend7 ifend7: %t49 = load i32, ptr %t8 %t50 = add i32 %t49, 1 store i32 %t50, ptr %t8 br label %wcond0 wend2: store i32 1, ptr %t51 br label %wcond10 wcond10: %t52 = load i32, ptr %t51 %t53 = load ptr, ptr %t7 %t54 = getelementptr inbounds %LSlice, ptr %t53, i32 0, i32 1 %t55 = load i32, ptr %t54 %t56 = icmp slt i32 %t52, %t55 %t57 = zext i1 %t56 to i32 %t58 = icmp ne i32 %t57, 0 br i1 %t58, label %wbody11, label %wend12 wbody11: %t59 = load ptr, ptr %t7 %t60 = load i32, ptr %t51 %t61 = getelementptr inbounds %LSlice, ptr %t59, i32 0, i32 0 %t62 = load ptr, ptr %t61 %t63 = getelementptr inbounds %LSlice, ptr %t59, i32 0, i32 1 %t64 = load i32, ptr %t63 %t65 = icmp ult i32 %t60, %t64 br i1 %t65, label %ixok13, label %ixbad14 ixbad14: store i32 1038, ptr @lp_site %t66 = call ptr @lp_win_stdio(i32 2) store i32 0, ptr @lp_site call i32 (ptr, ptr, ...) @fprintf(ptr %t66, ptr @.fmt_bounds, ptr @.str1645, i32 %t60, i32 %t64) call void @exit(i32 1) unreachable ixok13: %t67 = getelementptr inbounds i32, ptr %t62, i32 %t60 %t68 = load i32, ptr %t67 store i32 %t68, ptr %t69 %t70 = load i32, ptr %t51 %t71 = sub i32 %t70, 1 store i32 %t71, ptr %t72 br label %wcond15 wcond15: %t74 = load i32, ptr %t72 %t75 = icmp sge i32 %t74, 0 %t76 = zext i1 %t75 to i32 %t77 = icmp ne i32 %t76, 0 %t78 = zext i1 %t77 to i32 store i32 %t78, ptr %t73 br i1 %t77, label %sc18, label %scend19 sc18: %t79 = load ptr, ptr @g_g_red_state %t80 = load i32, ptr %t69 %t81 = getelementptr inbounds %LSlice, ptr %t79, i32 0, i32 0 %t82 = load ptr, ptr %t81 %t83 = getelementptr inbounds %LSlice, ptr %t79, i32 0, i32 1 %t84 = load i32, ptr %t83 %t85 = icmp ult i32 %t80, %t84 br i1 %t85, label %ixok20, label %ixbad21 ixbad21: store i32 1039, ptr @lp_site %t86 = call ptr @lp_win_stdio(i32 2) store i32 0, ptr @lp_site call i32 (ptr, ptr, ...) @fprintf(ptr %t86, ptr @.fmt_bounds, ptr @.str1646, i32 %t80, i32 %t84) call void @exit(i32 1) unreachable ixok20: %t87 = getelementptr inbounds ptr, ptr %t82, i32 %t80 %t88 = load ptr, ptr %t87 %t89 = load ptr, ptr @g_g_red_state %t90 = load ptr, ptr %t7 %t91 = load i32, ptr %t72 %t92 = getelementptr inbounds %LSlice, ptr %t90, i32 0, i32 0 %t93 = load ptr, ptr %t92 %t94 = getelementptr inbounds %LSlice, ptr %t90, i32 0, i32 1 %t95 = load i32, ptr %t94 %t96 = icmp ult i32 %t91, %t95 br i1 %t96, label %ixok22, label %ixbad23 ixbad23: store i32 1040, ptr @lp_site %t97 = call ptr @lp_win_stdio(i32 2) store i32 0, ptr @lp_site call i32 (ptr, ptr, ...) @fprintf(ptr %t97, ptr @.fmt_bounds, ptr @.str1647, i32 %t91, i32 %t95) call void @exit(i32 1) unreachable ixok22: %t98 = getelementptr inbounds i32, ptr %t93, i32 %t91 %t99 = load i32, ptr %t98 %t100 = getelementptr inbounds %LSlice, ptr %t89, i32 0, i32 0 %t101 = load ptr, ptr %t100 %t102 = getelementptr inbounds %LSlice, ptr %t89, i32 0, i32 1 %t103 = load i32, ptr %t102 %t104 = icmp ult i32 %t99, %t103 br i1 %t104, label %ixok24, label %ixbad25 ixbad25: store i32 1041, ptr @lp_site %t105 = call ptr @lp_win_stdio(i32 2) store i32 0, ptr @lp_site call i32 (ptr, ptr, ...) @fprintf(ptr %t105, ptr @.fmt_bounds, ptr @.str1648, i32 %t99, i32 %t103) call void @exit(i32 1) unreachable ixok24: %t106 = getelementptr inbounds ptr, ptr %t101, i32 %t99 %t107 = load ptr, ptr %t106 %t108 = call i32 @fn_reg_str_less(ptr %t88, ptr %t107) %t109 = icmp ne i32 %t108, 0 %t110 = zext i1 %t109 to i32 store i32 %t110, ptr %t73 br label %scend19 scend19: %t111 = load i32, ptr %t73 %t112 = icmp ne i32 %t111, 0 br i1 %t112, label %wbody16, label %wend17 wbody16: %t113 = load ptr, ptr %t7 %t114 = load i32, ptr %t72 %t115 = add i32 %t114, 1 %t116 = getelementptr inbounds %LSlice, ptr %t113, i32 0, i32 0 %t117 = load ptr, ptr %t116 %t118 = getelementptr inbounds %LSlice, ptr %t113, i32 0, i32 1 %t119 = load i32, ptr %t118 %t120 = icmp ult i32 %t115, %t119 br i1 %t120, label %ixok26, label %ixbad27 ixbad27: store i32 1042, ptr @lp_site %t121 = call ptr @lp_win_stdio(i32 2) store i32 0, ptr @lp_site call i32 (ptr, ptr, ...) @fprintf(ptr %t121, ptr @.fmt_bounds, ptr @.str1649, i32 %t115, i32 %t119) call void @exit(i32 1) unreachable ixok26: %t122 = getelementptr inbounds i32, ptr %t117, i32 %t115 %t123 = load ptr, ptr %t7 %t124 = load i32, ptr %t72 %t125 = getelementptr inbounds %LSlice, ptr %t123, i32 0, i32 0 %t126 = load ptr, ptr %t125 %t127 = getelementptr inbounds %LSlice, ptr %t123, i32 0, i32 1 %t128 = load i32, ptr %t127 %t129 = icmp ult i32 %t124, %t128 br i1 %t129, label %ixok28, label %ixbad29 ixbad29: store i32 1043, ptr @lp_site %t130 = call ptr @lp_win_stdio(i32 2) store i32 0, ptr @lp_site call i32 (ptr, ptr, ...) @fprintf(ptr %t130, ptr @.fmt_bounds, ptr @.str1650, i32 %t124, i32 %t128) call void @exit(i32 1) unreachable ixok28: %t131 = getelementptr inbounds i32, ptr %t126, i32 %t124 %t132 = load i32, ptr %t131 store i32 %t132, ptr %t122 %t133 = load i32, ptr %t72 %t134 = sub i32 %t133, 1 store i32 %t134, ptr %t72 br label %wcond15 wend17: %t135 = load ptr, ptr %t7 %t136 = load i32, ptr %t72 %t137 = add i32 %t136, 1 %t138 = getelementptr inbounds %LSlice, ptr %t135, i32 0, i32 0 %t139 = load ptr, ptr %t138 %t140 = getelementptr inbounds %LSlice, ptr %t135, i32 0, i32 1 %t141 = load i32, ptr %t140 %t142 = icmp ult i32 %t137, %t141 br i1 %t142, label %ixok30, label %ixbad31 ixbad31: store i32 1044, ptr @lp_site %t143 = call ptr @lp_win_stdio(i32 2) store i32 0, ptr @lp_site call i32 (ptr, ptr, ...) @fprintf(ptr %t143, ptr @.fmt_bounds, ptr @.str1651, i32 %t137, i32 %t141) call void @exit(i32 1) unreachable ixok30: %t144 = getelementptr inbounds i32, ptr %t139, i32 %t137 %t145 = load i32, ptr %t69 store i32 %t145, ptr %t144 %t146 = load i32, ptr %t51 %t147 = add i32 %t146, 1 store i32 %t147, ptr %t51 br label %wcond10 wend12: %t148 = load ptr, ptr %t7 store ptr %t148, ptr %retval br label %ret ret: %t149 = load ptr, ptr %retval ret ptr %t149 } define i32 @fn_is_action_builtin(ptr %arg_name) { entry: %retval = alloca i32 %t0 = alloca ptr %t1 = alloca i32 %t2 = alloca i32 store ptr %arg_name, ptr %t0 %t3 = load ptr, ptr %t0 %t4 = call i32 @lp_str_eq(ptr %t3, ptr @.str1652) %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 @.str1653) %t9 = icmp ne i32 %t8, 0 %t10 = zext i1 %t9 to i32 store i32 %t10, ptr %t2 br label %scend1 scend1: %t11 = load i32, ptr %t2 %t12 = icmp ne i32 %t11, 0 %t13 = zext i1 %t12 to i32 store i32 %t13, ptr %t1 br i1 %t12, label %scend3, label %sc2 sc2: %t14 = load ptr, ptr %t0 %t15 = call i32 @fn_str_starts(ptr %t14, ptr @.str1654) %t16 = icmp ne i32 %t15, 0 %t17 = zext i1 %t16 to i32 store i32 %t17, ptr %t1 br label %scend3 scend3: %t18 = load i32, ptr %t1 store i32 %t18, ptr %retval br label %ret ret: %t19 = load i32, ptr %retval ret i32 %t19 } define ptr @fn_mg_camel(ptr %arg_s) { entry: %retval = alloca ptr %t0 = alloca ptr %t1 = alloca ptr %t2 = alloca i32 %t3 = alloca i32 %t16 = alloca i32 %t17 = alloca i32 %t18 = alloca i32 %t44 = alloca ptr %t45 = alloca i32 %t46 = alloca i32 store ptr %arg_s, ptr %t0 store ptr @.str1655, ptr %t1 store i32 1, ptr %t2 store i32 0, ptr %t3 br label %wcond0 wcond0: %t4 = load i32, ptr %t3 %t5 = load ptr, ptr %t0 %t6 = call i64 @strlen(ptr %t5) %t7 = trunc i64 %t6 to i32 %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 %t0 %t12 = load i32, ptr %t3 %t13 = getelementptr inbounds i8, ptr %t11, i32 %t12 %t14 = load i8, ptr %t13 %t15 = zext i8 %t14 to i32 store i32 %t15, ptr %t16 %t19 = load i32, ptr %t16 %t20 = icmp eq i32 %t19, 95 %t21 = zext i1 %t20 to i32 %t22 = icmp ne i32 %t21, 0 %t23 = zext i1 %t22 to i32 store i32 %t23, ptr %t18 br i1 %t22, label %scend4, label %sc3 sc3: %t24 = load i32, ptr %t16 %t25 = icmp eq i32 %t24, 46 %t26 = zext i1 %t25 to i32 %t27 = icmp ne i32 %t26, 0 %t28 = zext i1 %t27 to i32 store i32 %t28, ptr %t18 br label %scend4 scend4: %t29 = load i32, ptr %t18 %t30 = icmp ne i32 %t29, 0 %t31 = zext i1 %t30 to i32 store i32 %t31, ptr %t17 br i1 %t30, label %scend6, label %sc5 sc5: %t32 = load i32, ptr %t16 %t33 = icmp eq i32 %t32, 45 %t34 = zext i1 %t33 to i32 %t35 = icmp ne i32 %t34, 0 %t36 = zext i1 %t35 to i32 store i32 %t36, ptr %t17 br label %scend6 scend6: %t37 = load i32, ptr %t17 %t38 = icmp ne i32 %t37, 0 br i1 %t38, label %then7, label %else8 then7: store i32 1, ptr %t2 br label %ifend9 else8: %t39 = load ptr, ptr %t0 %t40 = load i32, ptr %t3 %t41 = load i32, ptr %t3 %t42 = add i32 %t41, 1 store i32 1045, ptr @lp_site %t43 = call ptr @lp_str_slice(ptr %t39, i32 %t40, i32 %t42) store i32 0, ptr @lp_site store ptr %t43, ptr %t44 %t47 = load i32, ptr %t2 %t48 = icmp ne i32 %t47, 0 %t49 = zext i1 %t48 to i32 store i32 %t49, ptr %t46 br i1 %t48, label %sc10, label %scend11 sc10: %t50 = load i32, ptr %t16 %t51 = icmp sge i32 %t50, 97 %t52 = zext i1 %t51 to i32 %t53 = icmp ne i32 %t52, 0 %t54 = zext i1 %t53 to i32 store i32 %t54, ptr %t46 br label %scend11 scend11: %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 %sc12, label %scend13 sc12: %t58 = load i32, ptr %t16 %t59 = icmp sle i32 %t58, 122 %t60 = zext i1 %t59 to i32 %t61 = icmp ne i32 %t60, 0 %t62 = zext i1 %t61 to i32 store i32 %t62, ptr %t45 br label %scend13 scend13: %t63 = load i32, ptr %t45 %t64 = icmp ne i32 %t63, 0 br i1 %t64, label %then14, label %ifend16 then14: %t65 = load ptr, ptr %t44 %t66 = call ptr @fn_reg_upper(ptr %t65) store ptr %t66, ptr %t44 br label %ifend16 ifend16: %t67 = load ptr, ptr %t1 %t68 = load ptr, ptr %t44 store i32 1046, ptr @lp_site %t69 = call ptr @lp_str_concat(ptr %t67, ptr %t68) store i32 0, ptr @lp_site store ptr %t69, ptr %t1 store i32 0, ptr %t2 br label %ifend9 ifend9: %t70 = load i32, ptr %t3 %t71 = add i32 %t70, 1 store i32 %t71, ptr %t3 br label %wcond0 wend2: %t72 = load ptr, ptr %t1 store ptr %t72, ptr %retval br label %ret ret: %t73 = load ptr, ptr %retval ret ptr %t73 } define ptr @fn_mg_param_for(ptr %arg_name) { entry: %retval = alloca ptr %t0 = alloca ptr %t2 = alloca ptr %t6 = alloca i32 %t7 = alloca i32 %t27 = alloca ptr %t28 = alloca i32 %t41 = alloca i32 %t42 = alloca i32 store ptr %arg_name, ptr %t0 %t1 = load ptr, ptr %t0 store ptr %t1, ptr %t2 %t3 = load ptr, ptr %t0 %t4 = call i64 @strlen(ptr %t3) %t5 = trunc i64 %t4 to i32 store i32 %t5, ptr %t6 %t8 = load i32, ptr %t6 %t9 = icmp sgt i32 %t8, 5 %t10 = zext i1 %t9 to i32 %t11 = icmp ne i32 %t10, 0 %t12 = zext i1 %t11 to i32 store i32 %t12, ptr %t7 br i1 %t11, label %sc0, label %scend1 sc0: %t13 = load ptr, ptr %t0 %t14 = load i32, ptr %t6 %t15 = sub i32 %t14, 5 %t16 = load i32, ptr %t6 store i32 1047, ptr @lp_site %t17 = call ptr @lp_str_slice(ptr %t13, i32 %t15, i32 %t16) store i32 0, ptr @lp_site %t18 = call i32 @lp_str_eq(ptr %t17, ptr @.str1658) call void @lp_free(ptr %t17) %t19 = icmp ne i32 %t18, 0 %t20 = zext i1 %t19 to i32 store i32 %t20, ptr %t7 br label %scend1 scend1: %t21 = load i32, ptr %t7 %t22 = icmp ne i32 %t21, 0 br i1 %t22, label %then2, label %ifend4 then2: %t23 = load ptr, ptr %t0 %t24 = load i32, ptr %t6 %t25 = sub i32 %t24, 5 store i32 1048, ptr @lp_site %t26 = call ptr @lp_str_slice(ptr %t23, i32 0, i32 %t25) store i32 0, ptr @lp_site store ptr %t26, ptr %t2 br label %ifend4 ifend4: store ptr @.str1659, ptr %t27 store i32 0, ptr %t28 br label %wcond5 wcond5: %t29 = load i32, ptr %t28 %t30 = load ptr, ptr %t2 %t31 = call i64 @strlen(ptr %t30) %t32 = trunc i64 %t31 to i32 %t33 = icmp slt i32 %t29, %t32 %t34 = zext i1 %t33 to i32 %t35 = icmp ne i32 %t34, 0 br i1 %t35, label %wbody6, label %wend7 wbody6: %t36 = load ptr, ptr %t2 %t37 = load i32, ptr %t28 %t38 = getelementptr inbounds i8, ptr %t36, i32 %t37 %t39 = load i8, ptr %t38 %t40 = zext i8 %t39 to i32 store i32 %t40, ptr %t41 %t43 = load i32, ptr %t41 %t44 = icmp sge i32 %t43, 65 %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 %sc8, label %scend9 sc8: %t48 = load i32, ptr %t41 %t49 = icmp sle i32 %t48, 90 %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 %scend9 scend9: %t53 = load i32, ptr %t42 %t54 = icmp ne i32 %t53, 0 br i1 %t54, label %then10, label %else11 then10: %t55 = load i32, ptr %t28 %t56 = icmp sgt i32 %t55, 0 %t57 = zext i1 %t56 to i32 %t58 = icmp ne i32 %t57, 0 br i1 %t58, label %then13, label %ifend15 then13: %t59 = load ptr, ptr %t27 store i32 1049, ptr @lp_site %t60 = call ptr @lp_str_concat(ptr %t59, ptr @.str1660) store i32 0, ptr @lp_site store ptr %t60, ptr %t27 br label %ifend15 ifend15: %t61 = load ptr, ptr %t27 %t62 = load ptr, ptr %t2 %t63 = load i32, ptr %t28 %t64 = load i32, ptr %t28 %t65 = add i32 %t64, 1 store i32 1050, ptr @lp_site %t66 = call ptr @lp_str_slice(ptr %t62, i32 %t63, i32 %t65) store i32 0, ptr @lp_site %t67 = call ptr @fn_reg_lower(ptr %t66) store i32 1051, ptr @lp_site %t68 = call ptr @lp_str_concat(ptr %t61, ptr %t67) store i32 0, ptr @lp_site store ptr %t68, ptr %t27 br label %ifend12 else11: %t69 = load ptr, ptr %t27 %t70 = load ptr, ptr %t2 %t71 = load i32, ptr %t28 %t72 = load i32, ptr %t28 %t73 = add i32 %t72, 1 store i32 1052, ptr @lp_site %t74 = call ptr @lp_str_slice(ptr %t70, i32 %t71, i32 %t73) store i32 0, ptr @lp_site store i32 1053, ptr @lp_site %t75 = call ptr @lp_str_concat(ptr %t69, ptr %t74) store i32 0, ptr @lp_site call void @lp_free(ptr %t74) store ptr %t75, ptr %t27 br label %ifend12 ifend12: %t76 = load i32, ptr %t28 %t77 = add i32 %t76, 1 store i32 %t77, ptr %t28 br label %wcond5 wend7: %t78 = load ptr, ptr %t27 store i32 1054, ptr @lp_site %t79 = call ptr @lp_str_concat(ptr %t78, ptr @.str1661) store i32 0, ptr @lp_site store ptr %t79, ptr %retval br label %ret ret: %t80 = load ptr, ptr %retval ret ptr %t80 } define ptr @fn_mg_short(ptr %arg_m) { entry: %retval = alloca ptr %t0 = alloca ptr %t1 = alloca i32 store ptr %arg_m, ptr %t0 %t2 = load ptr, ptr %t0 %t3 = call i64 @strlen(ptr %t2) %t4 = trunc i64 %t3 to i32 %t5 = icmp sgt i32 %t4, 6 %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 store i32 1055, ptr @lp_site %t10 = call ptr @lp_str_slice(ptr %t9, i32 0, i32 6) store i32 0, ptr @lp_site %t11 = call i32 @lp_str_eq(ptr %t10, ptr @.str1663) call void @lp_free(ptr %t10) %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 = load ptr, ptr %t0 %t18 = call i64 @strlen(ptr %t17) %t19 = trunc i64 %t18 to i32 store i32 1056, ptr @lp_site %t20 = call ptr @lp_str_slice(ptr %t16, i32 6, i32 %t19) store i32 0, ptr @lp_site store ptr %t20, ptr %retval br label %ret ifend4: %t21 = load ptr, ptr %t0 store ptr %t21, ptr %retval br label %ret ret: %t22 = load ptr, ptr %retval ret ptr %t22 } define i32 @fn_mg_state_of_file(ptr %arg_f) { entry: %retval = alloca i32 %t0 = alloca ptr %t5 = alloca ptr %t6 = alloca i32 %t31 = alloca i32 %t70 = alloca ptr %t80 = alloca ptr %t81 = alloca i32 %t104 = alloca i32 %t105 = alloca i32 %t106 = alloca i32 %t158 = alloca ptr %t168 = alloca ptr %t169 = alloca i32 store ptr %arg_f, ptr %t0 %t1 = load ptr, ptr %t0 %t2 = call i32 @fn_is_runtime_file(ptr %t1) %t3 = icmp ne i32 %t2, 0 br i1 %t3, label %then0, label %ifend2 then0: %t4 = load ptr, ptr %t0 store ptr %t4, ptr %t5 store i32 0, ptr %t6 br label %wcond3 wcond3: %t7 = load i32, ptr %t6 %t8 = load ptr, ptr %t0 %t9 = call i64 @strlen(ptr %t8) %t10 = trunc i64 %t9 to i32 %t11 = icmp slt i32 %t7, %t10 %t12 = zext i1 %t11 to i32 %t13 = icmp ne i32 %t12, 0 br i1 %t13, label %wbody4, label %wend5 wbody4: %t14 = load ptr, ptr %t0 %t15 = load i32, ptr %t6 %t16 = getelementptr inbounds i8, ptr %t14, i32 %t15 %t17 = load i8, ptr %t16 %t18 = zext i8 %t17 to i32 %t19 = icmp eq i32 %t18, 47 %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 = load i32, ptr %t6 %t24 = add i32 %t23, 1 %t25 = load ptr, ptr %t0 %t26 = call i64 @strlen(ptr %t25) %t27 = trunc i64 %t26 to i32 store i32 1057, ptr @lp_site %t28 = call ptr @lp_str_slice(ptr %t22, i32 %t24, i32 %t27) store i32 0, ptr @lp_site store ptr %t28, ptr %t5 br label %ifend8 ifend8: %t29 = load i32, ptr %t6 %t30 = add i32 %t29, 1 store i32 %t30, ptr %t6 br label %wcond3 wend5: %t32 = load ptr, ptr %t5 %t33 = call i64 @strlen(ptr %t32) %t34 = trunc i64 %t33 to i32 %t35 = icmp sgt i32 %t34, 6 %t36 = zext i1 %t35 to i32 %t37 = icmp ne i32 %t36, 0 %t38 = zext i1 %t37 to i32 store i32 %t38, ptr %t31 br i1 %t37, label %sc9, label %scend10 sc9: %t39 = load ptr, ptr %t5 %t40 = load ptr, ptr %t5 %t41 = call i64 @strlen(ptr %t40) %t42 = trunc i64 %t41 to i32 %t43 = sub i32 %t42, 6 %t44 = load ptr, ptr %t5 %t45 = call i64 @strlen(ptr %t44) %t46 = trunc i64 %t45 to i32 store i32 1058, ptr @lp_site %t47 = call ptr @lp_str_slice(ptr %t39, i32 %t43, i32 %t46) store i32 0, ptr @lp_site %t48 = call i32 @lp_str_eq(ptr %t47, ptr @.str1665) call void @lp_free(ptr %t47) %t49 = icmp ne i32 %t48, 0 %t50 = zext i1 %t49 to i32 store i32 %t50, ptr %t31 br label %scend10 scend10: %t51 = load i32, ptr %t31 %t52 = icmp ne i32 %t51, 0 br i1 %t52, label %then11, label %ifend13 then11: %t53 = load ptr, ptr %t5 %t54 = load ptr, ptr %t5 %t55 = call i64 @strlen(ptr %t54) %t56 = trunc i64 %t55 to i32 %t57 = sub i32 %t56, 6 store i32 1059, ptr @lp_site %t58 = call ptr @lp_str_slice(ptr %t53, i32 0, i32 %t57) store i32 0, ptr @lp_site store ptr %t58, ptr %t5 br label %ifend13 ifend13: %t59 = load ptr, ptr %t0 store i32 1060, ptr @lp_site %t60 = call ptr @lp_str_concat(ptr @.str1666, ptr %t59) store i32 0, ptr @lp_site %t61 = load ptr, ptr %t5 store i32 1061, ptr @lp_site %t62 = call ptr @lp_str_concat(ptr @.str1667, ptr %t61) store i32 0, ptr @lp_site %t63 = call i32 @fn_mg_state_of_mod(ptr %t60, ptr %t62) store i32 %t63, ptr %retval br label %ret ifend2: %t64 = load ptr, ptr %t0 %t65 = load ptr, ptr @g_g_mg_entry %t66 = call i32 @lp_str_eq(ptr %t64, ptr %t65) %t67 = icmp ne i32 %t66, 0 br i1 %t67, label %then14, label %ifend16 then14: %t68 = load ptr, ptr @g_g_game_name %t69 = call ptr @fn_mg_param_for(ptr %t68) store ptr %t69, ptr %t70 %t71 = load ptr, ptr %t70 %t72 = load ptr, ptr %t70 %t73 = call i64 @strlen(ptr %t72) %t74 = trunc i64 %t73 to i32 %t75 = sub i32 %t74, 3 store i32 1062, ptr @lp_site %t76 = call ptr @lp_str_slice(ptr %t71, i32 0, i32 %t75) store i32 0, ptr @lp_site %t77 = call i32 @fn_mg_state_of_mod(ptr @.str1668, ptr %t76) store i32 %t77, ptr %retval br label %ret ifend16: %t78 = load ptr, ptr %t0 %t79 = call ptr @fn_module_for_uses(ptr %t78) store ptr %t79, ptr %t80 store i32 0, ptr %t81 br label %wcond17 wcond17: %t82 = load i32, ptr %t81 %t83 = load ptr, ptr @g_g_mod_friends %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 %wbody18, label %wend19 wbody18: %t89 = load ptr, ptr @g_g_mod_friends %t90 = load i32, ptr %t81 %t91 = getelementptr inbounds %LSlice, ptr %t89, i32 0, i32 0 %t92 = load ptr, ptr %t91 %t93 = getelementptr inbounds %LSlice, ptr %t89, i32 0, i32 1 %t94 = load i32, ptr %t93 %t95 = icmp ult i32 %t90, %t94 br i1 %t95, label %ixok20, label %ixbad21 ixbad21: store i32 1063, ptr @lp_site %t96 = call ptr @lp_win_stdio(i32 2) store i32 0, ptr @lp_site call i32 (ptr, ptr, ...) @fprintf(ptr %t96, ptr @.fmt_bounds, ptr @.str1669, i32 %t90, i32 %t94) call void @exit(i32 1) unreachable ixok20: %t97 = getelementptr inbounds ptr, ptr %t92, i32 %t90 %t98 = load ptr, ptr %t97 %t99 = load ptr, ptr %t80 %t100 = call i32 @lp_str_eq(ptr %t98, ptr %t99) %t101 = icmp ne i32 %t100, 0 br i1 %t101, label %then22, label %ifend24 then22: store ptr @.str1670, ptr %t80 br label %ifend24 ifend24: %t102 = load i32, ptr %t81 %t103 = add i32 %t102, 1 store i32 %t103, ptr %t81 br label %wcond17 wend19: %t107 = load ptr, ptr %t80 %t108 = call i32 @lp_str_eq(ptr %t107, ptr @.str1671) %t109 = icmp eq i32 %t108, 0 %t110 = zext i1 %t109 to i32 %t111 = icmp ne i32 %t110, 0 %t112 = zext i1 %t111 to i32 store i32 %t112, ptr %t106 br i1 %t111, label %sc25, label %scend26 sc25: %t113 = load ptr, ptr %t0 %t114 = call ptr @fn_module_of(ptr %t113) %t115 = call i32 @lp_str_eq(ptr %t114, ptr @.str1672) %t116 = icmp eq i32 %t115, 0 %t117 = zext i1 %t116 to i32 %t118 = icmp ne i32 %t117, 0 %t119 = zext i1 %t118 to i32 store i32 %t119, ptr %t106 br label %scend26 scend26: %t120 = load i32, ptr %t106 %t121 = icmp ne i32 %t120, 0 %t122 = zext i1 %t121 to i32 store i32 %t122, ptr %t105 br i1 %t121, label %sc27, label %scend28 sc27: %t123 = load ptr, ptr %t0 %t124 = call ptr @fn_pkg_of_file(ptr %t123) %t125 = call i32 @lp_str_eq(ptr %t124, ptr @.str1673) %t126 = icmp ne i32 %t125, 0 %t127 = zext i1 %t126 to i32 store i32 %t127, ptr %t105 br label %scend28 scend28: %t128 = load i32, ptr %t105 %t129 = icmp ne i32 %t128, 0 %t130 = zext i1 %t129 to i32 store i32 %t130, ptr %t104 br i1 %t129, label %sc29, label %scend30 sc29: %t131 = load ptr, ptr %t80 %t132 = call ptr @fn_mg_short(ptr %t131) %t133 = call i32 @fn_mg_pkg_named(ptr %t132) %t134 = icmp ne i32 %t133, 0 %t135 = zext i1 %t134 to i32 store i32 %t135, ptr %t104 br label %scend30 scend30: %t136 = load i32, ptr %t104 %t137 = icmp ne i32 %t136, 0 br i1 %t137, label %then31, label %ifend33 then31: %t138 = load ptr, ptr %t80 %t139 = load ptr, ptr %t80 %t140 = call ptr @fn_mg_short(ptr %t139) store i32 1064, ptr @lp_site %t141 = call ptr @lp_str_concat(ptr %t140, ptr @.str1674) store i32 0, ptr @lp_site %t142 = call i32 @fn_mg_state_of_mod(ptr %t138, ptr %t141) store i32 %t142, ptr %retval br label %ret ifend33: %t143 = load ptr, ptr %t80 %t144 = call i32 @lp_str_eq(ptr %t143, ptr @.str1675) %t145 = icmp eq i32 %t144, 0 %t146 = zext i1 %t145 to i32 %t147 = icmp ne i32 %t146, 0 br i1 %t147, label %then34, label %ifend36 then34: %t148 = load ptr, ptr %t80 %t149 = load ptr, ptr %t80 %t150 = call ptr @fn_mg_short(ptr %t149) %t151 = call i32 @fn_mg_state_of_mod(ptr %t148, ptr %t150) store i32 %t151, ptr %retval br label %ret ifend36: %t152 = load ptr, ptr %t0 %t153 = load ptr, ptr @g_g_mg_entry %t154 = call i32 @lp_str_eq(ptr %t152, ptr %t153) %t155 = icmp ne i32 %t154, 0 br i1 %t155, label %then37, label %ifend39 then37: %t156 = load ptr, ptr @g_g_game_name %t157 = call ptr @fn_mg_param_for(ptr %t156) store ptr %t157, ptr %t158 %t159 = load ptr, ptr %t158 %t160 = load ptr, ptr %t158 %t161 = call i64 @strlen(ptr %t160) %t162 = trunc i64 %t161 to i32 %t163 = sub i32 %t162, 3 store i32 1065, ptr @lp_site %t164 = call ptr @lp_str_slice(ptr %t159, i32 0, i32 %t163) store i32 0, ptr @lp_site %t165 = call i32 @fn_mg_state_of_mod(ptr @.str1676, ptr %t164) store i32 %t165, ptr %retval br label %ret ifend39: %t166 = load ptr, ptr %t0 %t167 = call ptr @fn_dir_of(ptr %t166) store ptr %t167, ptr %t168 br label %wcond40 wcond40: %t170 = load ptr, ptr %t168 %t171 = call i64 @strlen(ptr %t170) %t172 = trunc i64 %t171 to i32 %t173 = icmp sgt i32 %t172, 1 %t174 = zext i1 %t173 to i32 %t175 = icmp ne i32 %t174, 0 %t176 = zext i1 %t175 to i32 store i32 %t176, ptr %t169 br i1 %t175, label %sc43, label %scend44 sc43: %t177 = load ptr, ptr %t168 %t178 = load ptr, ptr %t168 %t179 = call i64 @strlen(ptr %t178) %t180 = trunc i64 %t179 to i32 %t181 = sub i32 %t180, 1 %t182 = getelementptr inbounds i8, ptr %t177, i32 %t181 %t183 = load i8, ptr %t182 %t184 = zext i8 %t183 to i32 %t185 = icmp eq i32 %t184, 47 %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 %wbody41, label %wend42 wbody41: %t191 = load ptr, ptr %t168 %t192 = load ptr, ptr %t168 %t193 = call i64 @strlen(ptr %t192) %t194 = trunc i64 %t193 to i32 %t195 = sub i32 %t194, 1 store i32 1066, ptr @lp_site %t196 = call ptr @lp_str_slice(ptr %t191, i32 0, i32 %t195) store i32 0, ptr @lp_site store ptr %t196, ptr %t168 br label %wcond40 wend42: %t197 = load ptr, ptr %t168 store i32 1067, ptr @lp_site %t198 = call ptr @lp_str_concat(ptr @.str1677, ptr %t197) store i32 0, ptr @lp_site %t199 = load ptr, ptr %t168 %t200 = call ptr @fn_mg_dir_name(ptr %t199) %t201 = call i32 @fn_mg_state_of_mod(ptr %t198, ptr %t200) store i32 %t201, ptr %retval br label %ret ret: %t202 = load i32, ptr %retval ret i32 %t202 } define ptr @fn_mg_dir_name(ptr %arg_d) { entry: %retval = alloca ptr %t0 = alloca ptr %t2 = alloca i32 %t3 = alloca i32 %t23 = alloca ptr %t37 = alloca i32 %t38 = alloca i32 %t39 = alloca i32 %t80 = alloca i32 %t100 = alloca ptr %t113 = alloca i32 %t114 = alloca i32 %t115 = alloca i32 store ptr %arg_d, ptr %t0 %t1 = sub i32 0, 1 store i32 %t1, ptr %t2 store i32 0, ptr %t3 br label %wcond0 wcond0: %t4 = load i32, ptr %t3 %t5 = add i32 %t4, 9 %t6 = load ptr, ptr %t0 %t7 = call i64 @strlen(ptr %t6) %t8 = trunc i64 %t7 to i32 %t9 = icmp sle 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 %t0 %t13 = load i32, ptr %t3 %t14 = load i32, ptr %t3 %t15 = add i32 %t14, 9 store i32 1068, ptr @lp_site %t16 = call ptr @lp_str_slice(ptr %t12, i32 %t13, i32 %t15) store i32 0, ptr @lp_site %t17 = call i32 @lp_str_eq(ptr %t16, ptr @.str1679) call void @lp_free(ptr %t16) %t18 = icmp ne i32 %t17, 0 br i1 %t18, label %then3, label %ifend5 then3: %t19 = load i32, ptr %t3 %t20 = add i32 %t19, 9 store i32 %t20, ptr %t2 br label %ifend5 ifend5: %t21 = load i32, ptr %t3 %t22 = add i32 %t21, 1 store i32 %t22, ptr %t3 br label %wcond0 wend2: store ptr @.str1680, ptr %t23 %t24 = load i32, ptr %t2 %t25 = icmp sge i32 %t24, 0 %t26 = zext i1 %t25 to i32 %t27 = icmp ne i32 %t26, 0 br i1 %t27, label %then6, label %else7 then6: %t28 = load ptr, ptr %t0 %t29 = load i32, ptr %t2 %t30 = load ptr, ptr %t0 %t31 = call i64 @strlen(ptr %t30) %t32 = trunc i64 %t31 to i32 store i32 1069, ptr @lp_site %t33 = call ptr @lp_str_slice(ptr %t28, i32 %t29, i32 %t32) store i32 0, ptr @lp_site store ptr %t33, ptr %t23 br label %ifend8 else7: %t34 = load ptr, ptr %t0 %t35 = call i64 @strlen(ptr %t34) %t36 = trunc i64 %t35 to i32 store i32 %t36, ptr %t37 store i32 0, ptr %t38 br label %wcond9 wcond9: %t40 = load i32, ptr %t37 %t41 = icmp sgt i32 %t40, 0 %t42 = zext i1 %t41 to i32 %t43 = icmp ne i32 %t42, 0 %t44 = zext i1 %t43 to i32 store i32 %t44, ptr %t39 br i1 %t43, label %sc12, label %scend13 sc12: %t45 = load i32, ptr %t38 %t46 = icmp slt i32 %t45, 2 %t47 = zext i1 %t46 to i32 %t48 = icmp ne i32 %t47, 0 %t49 = zext i1 %t48 to i32 store i32 %t49, ptr %t39 br label %scend13 scend13: %t50 = load i32, ptr %t39 %t51 = icmp ne i32 %t50, 0 br i1 %t51, label %wbody10, label %wend11 wbody10: %t52 = load i32, ptr %t37 %t53 = sub i32 %t52, 1 store i32 %t53, ptr %t37 %t54 = load ptr, ptr %t0 %t55 = load i32, ptr %t37 %t56 = getelementptr inbounds i8, ptr %t54, i32 %t55 %t57 = load i8, ptr %t56 %t58 = zext i8 %t57 to i32 %t59 = icmp eq i32 %t58, 47 %t60 = zext i1 %t59 to i32 %t61 = icmp ne i32 %t60, 0 br i1 %t61, label %then14, label %ifend16 then14: %t62 = load i32, ptr %t38 %t63 = add i32 %t62, 1 store i32 %t63, ptr %t38 br label %ifend16 ifend16: br label %wcond9 wend11: %t64 = load ptr, ptr %t0 %t65 = load i32, ptr %t37 %t66 = getelementptr inbounds i8, ptr %t64, i32 %t65 %t67 = load i8, ptr %t66 %t68 = zext i8 %t67 to i32 %t69 = icmp eq i32 %t68, 47 %t70 = zext i1 %t69 to i32 %t71 = icmp ne i32 %t70, 0 br i1 %t71, label %then17, label %ifend19 then17: %t72 = load i32, ptr %t37 %t73 = add i32 %t72, 1 store i32 %t73, ptr %t37 br label %ifend19 ifend19: %t74 = load ptr, ptr %t0 %t75 = load i32, ptr %t37 %t76 = load ptr, ptr %t0 %t77 = call i64 @strlen(ptr %t76) %t78 = trunc i64 %t77 to i32 store i32 1070, ptr @lp_site %t79 = call ptr @lp_str_slice(ptr %t74, i32 %t75, i32 %t78) store i32 0, ptr @lp_site store ptr %t79, ptr %t23 br label %ifend8 ifend8: %t81 = load ptr, ptr %t23 %t82 = call i64 @strlen(ptr %t81) %t83 = trunc i64 %t82 to i32 %t84 = icmp sgt i32 %t83, 6 %t85 = zext i1 %t84 to i32 %t86 = icmp ne i32 %t85, 0 %t87 = zext i1 %t86 to i32 store i32 %t87, ptr %t80 br i1 %t86, label %sc20, label %scend21 sc20: %t88 = load ptr, ptr %t23 store i32 1071, ptr @lp_site %t89 = call ptr @lp_str_slice(ptr %t88, i32 0, i32 6) store i32 0, ptr @lp_site %t90 = call i32 @lp_str_eq(ptr %t89, ptr @.str1681) call void @lp_free(ptr %t89) %t91 = icmp ne i32 %t90, 0 %t92 = zext i1 %t91 to i32 store i32 %t92, ptr %t80 br label %scend21 scend21: %t93 = load i32, ptr %t80 %t94 = icmp ne i32 %t93, 0 br i1 %t94, label %then22, label %ifend24 then22: %t95 = load ptr, ptr %t23 %t96 = load ptr, ptr %t23 %t97 = call i64 @strlen(ptr %t96) %t98 = trunc i64 %t97 to i32 store i32 1072, ptr @lp_site %t99 = call ptr @lp_str_slice(ptr %t95, i32 6, i32 %t98) store i32 0, ptr @lp_site store ptr %t99, ptr %t23 br label %ifend24 ifend24: store ptr @.str1682, ptr %t100 store i32 0, ptr %t3 br label %wcond25 wcond25: %t101 = load i32, ptr %t3 %t102 = load ptr, ptr %t23 %t103 = call i64 @strlen(ptr %t102) %t104 = trunc i64 %t103 to i32 %t105 = icmp slt i32 %t101, %t104 %t106 = zext i1 %t105 to i32 %t107 = icmp ne i32 %t106, 0 br i1 %t107, label %wbody26, label %wend27 wbody26: %t108 = load ptr, ptr %t23 %t109 = load i32, ptr %t3 %t110 = getelementptr inbounds i8, ptr %t108, i32 %t109 %t111 = load i8, ptr %t110 %t112 = zext i8 %t111 to i32 store i32 %t112, ptr %t113 %t116 = load i32, ptr %t113 %t117 = icmp eq i32 %t116, 47 %t118 = zext i1 %t117 to i32 %t119 = icmp ne i32 %t118, 0 %t120 = zext i1 %t119 to i32 store i32 %t120, ptr %t115 br i1 %t119, label %scend29, label %sc28 sc28: %t121 = load i32, ptr %t113 %t122 = icmp eq i32 %t121, 46 %t123 = zext i1 %t122 to i32 %t124 = icmp ne i32 %t123, 0 %t125 = zext i1 %t124 to i32 store i32 %t125, ptr %t115 br label %scend29 scend29: %t126 = load i32, ptr %t115 %t127 = icmp ne i32 %t126, 0 %t128 = zext i1 %t127 to i32 store i32 %t128, ptr %t114 br i1 %t127, label %scend31, label %sc30 sc30: %t129 = load i32, ptr %t113 %t130 = icmp eq i32 %t129, 45 %t131 = zext i1 %t130 to i32 %t132 = icmp ne i32 %t131, 0 %t133 = zext i1 %t132 to i32 store i32 %t133, ptr %t114 br label %scend31 scend31: %t134 = load i32, ptr %t114 %t135 = icmp ne i32 %t134, 0 br i1 %t135, label %then32, label %else33 then32: %t136 = load ptr, ptr %t100 store i32 1073, ptr @lp_site %t137 = call ptr @lp_str_concat(ptr %t136, ptr @.str1683) store i32 0, ptr @lp_site store ptr %t137, ptr %t100 br label %ifend34 else33: %t138 = load ptr, ptr %t100 %t139 = load ptr, ptr %t23 %t140 = load i32, ptr %t3 %t141 = load i32, ptr %t3 %t142 = add i32 %t141, 1 store i32 1074, ptr @lp_site %t143 = call ptr @lp_str_slice(ptr %t139, i32 %t140, i32 %t142) store i32 0, ptr @lp_site store i32 1075, ptr @lp_site %t144 = call ptr @lp_str_concat(ptr %t138, ptr %t143) store i32 0, ptr @lp_site call void @lp_free(ptr %t143) store ptr %t144, ptr %t100 br label %ifend34 ifend34: %t145 = load i32, ptr %t3 %t146 = add i32 %t145, 1 store i32 %t146, ptr %t3 br label %wcond25 wend27: %t147 = load ptr, ptr %t100 store ptr %t147, ptr %retval br label %ret ret: %t148 = load ptr, ptr %retval ret ptr %t148 } define i32 @fn_mg_state_of_mod(ptr %arg_m, ptr %arg_base) { entry: %retval = alloca i32 %t0 = alloca ptr %t1 = alloca ptr %t2 = alloca i32 %t29 = alloca ptr store ptr %arg_m, ptr %t0 store ptr %arg_base, ptr %t1 store i32 0, ptr %t2 br label %wcond0 wcond0: %t3 = load i32, ptr %t2 %t4 = load ptr, ptr @g_g_ms_mod %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_g_ms_mod %t11 = load i32, ptr %t2 %t12 = getelementptr inbounds %LSlice, ptr %t10, i32 0, i32 0 %t13 = load ptr, ptr %t12 %t14 = getelementptr inbounds %LSlice, ptr %t10, i32 0, i32 1 %t15 = load i32, ptr %t14 %t16 = icmp ult i32 %t11, %t15 br i1 %t16, label %ixok3, label %ixbad4 ixbad4: store i32 1076, ptr @lp_site %t17 = call ptr @lp_win_stdio(i32 2) store i32 0, ptr @lp_site call i32 (ptr, ptr, ...) @fprintf(ptr %t17, ptr @.fmt_bounds, ptr @.str1684, i32 %t11, i32 %t15) call void @exit(i32 1) unreachable ixok3: %t18 = getelementptr inbounds ptr, ptr %t13, i32 %t11 %t19 = load ptr, ptr %t18 %t20 = load ptr, ptr %t0 %t21 = call i32 @lp_str_eq(ptr %t19, ptr %t20) %t22 = icmp ne i32 %t21, 0 br i1 %t22, label %then5, label %ifend7 then5: %t23 = load i32, ptr %t2 store i32 %t23, ptr %retval br label %ret ifend7: %t24 = load i32, ptr %t2 %t25 = add i32 %t24, 1 store i32 %t25, ptr %t2 br label %wcond0 wend2: %t26 = load ptr, ptr %t1 %t27 = call ptr @fn_mg_camel(ptr %t26) store i32 1077, ptr @lp_site %t28 = call ptr @lp_str_concat(ptr %t27, ptr @.str1686) store i32 0, ptr @lp_site store ptr %t28, ptr %t29 store i32 0, ptr %t2 br label %wcond8 wcond8: %t30 = load i32, ptr %t2 %t31 = load ptr, ptr @g_g_ms_name %t32 = getelementptr inbounds %LSlice, ptr %t31, i32 0, i32 1 %t33 = load i32, ptr %t32 %t34 = icmp slt i32 %t30, %t33 %t35 = zext i1 %t34 to i32 %t36 = icmp ne i32 %t35, 0 br i1 %t36, label %wbody9, label %wend10 wbody9: %t37 = load ptr, ptr @g_g_ms_name %t38 = load i32, ptr %t2 %t39 = getelementptr inbounds %LSlice, ptr %t37, i32 0, i32 0 %t40 = load ptr, ptr %t39 %t41 = getelementptr inbounds %LSlice, ptr %t37, i32 0, i32 1 %t42 = load i32, ptr %t41 %t43 = icmp ult i32 %t38, %t42 br i1 %t43, label %ixok11, label %ixbad12 ixbad12: store i32 1078, ptr @lp_site %t44 = call ptr @lp_win_stdio(i32 2) store i32 0, ptr @lp_site call i32 (ptr, ptr, ...) @fprintf(ptr %t44, ptr @.fmt_bounds, ptr @.str1687, i32 %t38, i32 %t42) call void @exit(i32 1) unreachable ixok11: %t45 = getelementptr inbounds ptr, ptr %t40, i32 %t38 %t46 = load ptr, ptr %t45 %t47 = load ptr, ptr %t29 %t48 = call i32 @lp_str_eq(ptr %t46, ptr %t47) %t49 = icmp ne i32 %t48, 0 br i1 %t49, label %then13, label %ifend15 then13: %t50 = load ptr, ptr @g_g_ms_mod %t51 = load i32, ptr %t2 %t52 = getelementptr inbounds %LSlice, ptr %t50, i32 0, i32 0 %t53 = load ptr, ptr %t52 %t54 = getelementptr inbounds %LSlice, ptr %t50, i32 0, i32 1 %t55 = load i32, ptr %t54 %t56 = icmp ult i32 %t51, %t55 br i1 %t56, label %ixok16, label %ixbad17 ixbad17: store i32 1079, ptr @lp_site %t57 = call ptr @lp_win_stdio(i32 2) store i32 0, ptr @lp_site call i32 (ptr, ptr, ...) @fprintf(ptr %t57, ptr @.fmt_bounds, ptr @.str1688, i32 %t51, i32 %t55) call void @exit(i32 1) unreachable ixok16: %t58 = getelementptr inbounds ptr, ptr %t53, i32 %t51 %t59 = load ptr, ptr %t0 store ptr %t59, ptr %t58 %t60 = load i32, ptr %t2 store i32 %t60, ptr %retval br label %ret ifend15: %t61 = load i32, ptr %t2 %t62 = add i32 %t61, 1 store i32 %t62, ptr %t2 br label %wcond8 wend10: %t63 = load ptr, ptr @g_g_ms_mod %t64 = load ptr, ptr %t0 %t65 = getelementptr inbounds %LSlice, ptr %t63, i32 0, i32 1 %t66 = getelementptr inbounds %LSlice, ptr %t63, i32 0, i32 2 %t67 = getelementptr inbounds %LSlice, ptr %t63, i32 0, i32 0 %t68 = load i32, ptr %t65 %t69 = load i32, ptr %t66 %t70 = icmp sge i32 %t68, %t69 br i1 %t70, label %grow18, label %put19 grow18: %t71 = mul i32 %t69, 2 %t72 = icmp eq i32 %t69, 0 %t73 = select i1 %t72, i32 8, i32 %t71 %t74 = getelementptr ptr, ptr null, i32 1 %t75 = ptrtoint ptr %t74 to i64 %t76 = zext i32 %t73 to i64 %t77 = mul i64 %t76, %t75 %t78 = load ptr, ptr %t67 store i32 1080, ptr @lp_site %t79 = call ptr @lp_realloc(ptr %t78, i64 %t77) store i32 0, ptr @lp_site store ptr %t79, ptr %t67 store i32 %t73, ptr %t66 br label %put19 put19: %t80 = load ptr, ptr %t67 %t81 = getelementptr inbounds ptr, ptr %t80, i32 %t68 store ptr %t64, ptr %t81 %t82 = add i32 %t68, 1 store i32 %t82, ptr %t65 %t83 = load ptr, ptr @g_g_ms_name %t84 = load ptr, ptr %t29 %t85 = getelementptr inbounds %LSlice, ptr %t83, i32 0, i32 1 %t86 = getelementptr inbounds %LSlice, ptr %t83, i32 0, i32 2 %t87 = getelementptr inbounds %LSlice, ptr %t83, i32 0, i32 0 %t88 = load i32, ptr %t85 %t89 = load i32, ptr %t86 %t90 = icmp sge i32 %t88, %t89 br i1 %t90, label %grow20, label %put21 grow20: %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 store i32 1081, ptr @lp_site %t99 = call ptr @lp_realloc(ptr %t98, i64 %t97) store i32 0, ptr @lp_site store ptr %t99, ptr %t87 store i32 %t93, ptr %t86 br label %put21 put21: %t100 = load ptr, ptr %t87 %t101 = getelementptr inbounds ptr, ptr %t100, i32 %t88 store ptr %t84, ptr %t101 %t102 = add i32 %t88, 1 store i32 %t102, ptr %t85 %t103 = load ptr, ptr @g_g_ms_param %t104 = load ptr, ptr %t1 store i32 1082, ptr @lp_site %t105 = call ptr @lp_str_concat(ptr %t104, ptr @.str1689) store i32 0, ptr @lp_site %t106 = getelementptr inbounds %LSlice, ptr %t103, i32 0, i32 1 %t107 = getelementptr inbounds %LSlice, ptr %t103, i32 0, i32 2 %t108 = getelementptr inbounds %LSlice, ptr %t103, i32 0, i32 0 %t109 = load i32, ptr %t106 %t110 = load i32, ptr %t107 %t111 = icmp sge i32 %t109, %t110 br i1 %t111, label %grow22, label %put23 grow22: %t112 = mul i32 %t110, 2 %t113 = icmp eq i32 %t110, 0 %t114 = select i1 %t113, i32 8, i32 %t112 %t115 = getelementptr ptr, ptr null, i32 1 %t116 = ptrtoint ptr %t115 to i64 %t117 = zext i32 %t114 to i64 %t118 = mul i64 %t117, %t116 %t119 = load ptr, ptr %t108 store i32 1083, ptr @lp_site %t120 = call ptr @lp_realloc(ptr %t119, i64 %t118) store i32 0, ptr @lp_site store ptr %t120, ptr %t108 store i32 %t114, ptr %t107 br label %put23 put23: %t121 = load ptr, ptr %t108 %t122 = getelementptr inbounds ptr, ptr %t121, i32 %t109 store ptr %t105, ptr %t122 %t123 = add i32 %t109, 1 store i32 %t123, ptr %t106 %t124 = load ptr, ptr @g_g_ms_export %t125 = getelementptr inbounds %LSlice, ptr %t124, i32 0, i32 1 %t126 = getelementptr inbounds %LSlice, ptr %t124, i32 0, i32 2 %t127 = getelementptr inbounds %LSlice, ptr %t124, i32 0, i32 0 %t128 = load i32, ptr %t125 %t129 = load i32, ptr %t126 %t130 = icmp sge i32 %t128, %t129 br i1 %t130, label %grow24, label %put25 grow24: %t131 = mul i32 %t129, 2 %t132 = icmp eq i32 %t129, 0 %t133 = select i1 %t132, i32 8, i32 %t131 %t134 = getelementptr i32, ptr null, i32 1 %t135 = ptrtoint ptr %t134 to i64 %t136 = zext i32 %t133 to i64 %t137 = mul i64 %t136, %t135 %t138 = load ptr, ptr %t127 store i32 1084, ptr @lp_site %t139 = call ptr @lp_realloc(ptr %t138, i64 %t137) store i32 0, ptr @lp_site store ptr %t139, ptr %t127 store i32 %t133, ptr %t126 br label %put25 put25: %t140 = load ptr, ptr %t127 %t141 = getelementptr inbounds i32, ptr %t140, i32 %t128 store i32 0, ptr %t141 %t142 = add i32 %t128, 1 store i32 %t142, ptr %t125 %t143 = load ptr, ptr @g_g_ms_mod %t144 = getelementptr inbounds %LSlice, ptr %t143, i32 0, i32 1 %t145 = load i32, ptr %t144 %t146 = sub i32 %t145, 1 store i32 %t146, ptr %retval br label %ret ret: %t147 = load i32, ptr %retval ret i32 %t147 } define ptr @fn_mg_state_key(i32 %arg_s) { entry: %retval = alloca ptr %t0 = alloca i32 %t11 = alloca ptr %t17 = alloca i32 %t37 = alloca i32 store i32 %arg_s, ptr %t0 %t1 = load ptr, ptr @g_g_ms_mod %t2 = load i32, ptr %t0 %t3 = getelementptr inbounds %LSlice, ptr %t1, i32 0, i32 0 %t4 = load ptr, ptr %t3 %t5 = getelementptr inbounds %LSlice, ptr %t1, i32 0, i32 1 %t6 = load i32, ptr %t5 %t7 = icmp ult i32 %t2, %t6 br i1 %t7, label %ixok0, label %ixbad1 ixbad1: store i32 1085, ptr @lp_site %t8 = call ptr @lp_win_stdio(i32 2) store i32 0, ptr @lp_site call i32 (ptr, ptr, ...) @fprintf(ptr %t8, ptr @.fmt_bounds, ptr @.str1690, i32 %t2, i32 %t6) call void @exit(i32 1) unreachable ixok0: %t9 = getelementptr inbounds ptr, ptr %t4, i32 %t2 %t10 = load ptr, ptr %t9 store ptr %t10, ptr %t11 %t12 = load ptr, ptr %t11 %t13 = call i32 @lp_str_eq(ptr %t12, ptr @.str1692) %t14 = icmp ne i32 %t13, 0 br i1 %t14, label %then2, label %ifend4 then2: %t15 = load ptr, ptr @g_g_mg_entry store i32 1086, ptr @lp_site %t16 = call ptr @lp_str_concat(ptr @.str1693, ptr %t15) store i32 0, ptr @lp_site store ptr %t16, ptr %retval br label %ret ifend4: %t18 = load ptr, ptr %t11 %t19 = getelementptr inbounds i8, ptr %t18, i32 0 %t20 = load i8, ptr %t19 %t21 = zext i8 %t20 to i32 %t22 = icmp eq i32 %t21, 64 %t23 = zext i1 %t22 to i32 %t24 = icmp ne i32 %t23, 0 %t25 = zext i1 %t24 to i32 store i32 %t25, ptr %t17 br i1 %t24, label %scend6, label %sc5 sc5: %t26 = load ptr, ptr %t11 %t27 = getelementptr inbounds i8, ptr %t26, i32 0 %t28 = load i8, ptr %t27 %t29 = zext i8 %t28 to i32 %t30 = icmp eq i32 %t29, 61 %t31 = zext i1 %t30 to i32 %t32 = icmp ne i32 %t31, 0 %t33 = zext i1 %t32 to i32 store i32 %t33, ptr %t17 br label %scend6 scend6: %t34 = load i32, ptr %t17 %t35 = icmp ne i32 %t34, 0 br i1 %t35, label %then7, label %ifend9 then7: %t36 = load ptr, ptr %t11 store ptr %t36, ptr %retval br label %ret ifend9: store i32 0, ptr %t37 br label %wcond10 wcond10: %t38 = load i32, ptr %t37 %t39 = load ptr, ptr @g_g_mod_file %t40 = getelementptr inbounds %LSlice, ptr %t39, i32 0, i32 1 %t41 = load i32, ptr %t40 %t42 = icmp slt i32 %t38, %t41 %t43 = zext i1 %t42 to i32 %t44 = icmp ne i32 %t43, 0 br i1 %t44, label %wbody11, label %wend12 wbody11: %t45 = load ptr, ptr @g_g_mod_name %t46 = load i32, ptr %t37 %t47 = getelementptr inbounds %LSlice, ptr %t45, i32 0, i32 0 %t48 = load ptr, ptr %t47 %t49 = getelementptr inbounds %LSlice, ptr %t45, i32 0, i32 1 %t50 = load i32, ptr %t49 %t51 = icmp ult i32 %t46, %t50 br i1 %t51, label %ixok13, label %ixbad14 ixbad14: store i32 1087, ptr @lp_site %t52 = call ptr @lp_win_stdio(i32 2) store i32 0, ptr @lp_site call i32 (ptr, ptr, ...) @fprintf(ptr %t52, ptr @.fmt_bounds, ptr @.str1694, i32 %t46, i32 %t50) call void @exit(i32 1) unreachable ixok13: %t53 = getelementptr inbounds ptr, ptr %t48, i32 %t46 %t54 = load ptr, ptr %t53 %t55 = load ptr, ptr %t11 %t56 = call i32 @lp_str_eq(ptr %t54, ptr %t55) %t57 = icmp ne i32 %t56, 0 br i1 %t57, label %then15, label %ifend17 then15: %t58 = load ptr, ptr %t11 store i32 1088, ptr @lp_site %t59 = call ptr @lp_str_concat(ptr @.str1695, ptr %t58) store i32 0, ptr @lp_site store i32 1089, ptr @lp_site %t60 = call ptr @lp_str_concat(ptr %t59, ptr @.str1696) store i32 0, ptr @lp_site call void @lp_free(ptr %t59) %t61 = load ptr, ptr @g_g_mod_file %t62 = load i32, ptr %t37 %t63 = getelementptr inbounds %LSlice, ptr %t61, i32 0, i32 0 %t64 = load ptr, ptr %t63 %t65 = getelementptr inbounds %LSlice, ptr %t61, i32 0, i32 1 %t66 = load i32, ptr %t65 %t67 = icmp ult i32 %t62, %t66 br i1 %t67, label %ixok18, label %ixbad19 ixbad19: store i32 1090, ptr @lp_site %t68 = call ptr @lp_win_stdio(i32 2) store i32 0, ptr @lp_site call i32 (ptr, ptr, ...) @fprintf(ptr %t68, ptr @.fmt_bounds, ptr @.str1697, i32 %t62, i32 %t66) call void @exit(i32 1) unreachable ixok18: %t69 = getelementptr inbounds ptr, ptr %t64, i32 %t62 %t70 = load ptr, ptr %t69 %t71 = call ptr @fn_dir_of(ptr %t70) store i32 1091, ptr @lp_site %t72 = call ptr @lp_str_concat(ptr %t60, ptr %t71) store i32 0, ptr @lp_site call void @lp_free(ptr %t60) store ptr %t72, ptr %retval br label %ret ifend17: %t73 = load i32, ptr %t37 %t74 = add i32 %t73, 1 store i32 %t74, ptr %t37 br label %wcond10 wend12: %t75 = load ptr, ptr %t11 store i32 1092, ptr @lp_site %t76 = call ptr @lp_str_concat(ptr @.str1698, ptr %t75) store i32 0, ptr @lp_site store ptr %t76, ptr %retval br label %ret ret: %t77 = load ptr, ptr %retval ret ptr %t77 } define i32 @fn_mg_pkg_named(ptr %arg_short) { entry: %retval = alloca i32 %t0 = alloca ptr %t12 = alloca ptr store ptr %arg_short, ptr %t0 %t1 = call ptr @fn_ludic_home() store i32 1093, ptr @lp_site %t2 = call ptr @lp_str_concat(ptr %t1, ptr @.str1699) store i32 0, ptr @lp_site %t3 = load ptr, ptr %t0 store i32 1094, ptr @lp_site %t4 = call ptr @lp_str_concat(ptr %t2, ptr %t3) store i32 0, ptr @lp_site call void @lp_free(ptr %t2) store i32 1095, ptr @lp_site %t5 = call ptr @lp_str_concat(ptr %t4, ptr @.str1701) store i32 0, ptr @lp_site call void @lp_free(ptr %t4) %t6 = call ptr @fn_read_file(ptr %t5) %t7 = icmp ne ptr %t6, null %t8 = zext i1 %t7 to i32 %t9 = icmp ne i32 %t8, 0 br i1 %t9, label %then0, label %ifend2 then0: store i32 1, ptr %retval br label %ret ifend2: %t10 = call ptr @fn_getenv_or(ptr @.str1702, ptr @.str1703) %t11 = call ptr @fn_ensure_slash(ptr %t10) store ptr %t11, ptr %t12 %t13 = load ptr, ptr %t12 store i32 1096, ptr @lp_site %t14 = call ptr @lp_str_concat(ptr %t13, ptr @.str1704) store i32 0, ptr @lp_site %t15 = load ptr, ptr %t0 store i32 1097, ptr @lp_site %t16 = call ptr @lp_str_concat(ptr %t14, ptr %t15) store i32 0, ptr @lp_site call void @lp_free(ptr %t14) store i32 1098, ptr @lp_site %t17 = call ptr @lp_str_concat(ptr %t16, ptr @.str1705) store i32 0, ptr @lp_site call void @lp_free(ptr %t16) %t18 = call ptr @fn_read_file(ptr %t17) %t19 = icmp ne ptr %t18, null %t20 = zext i1 %t19 to i32 store i32 %t20, ptr %retval br label %ret ret: %t21 = load i32, ptr %retval ret i32 %t21 } define ptr @fn_mg_state_decl(ptr %arg_name) { entry: %retval = alloca ptr %t0 = alloca ptr %t1 = alloca i32 %t9 = alloca i32 %t10 = 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: %t11 = load ptr, ptr @g_prog %t12 = load i32, ptr %t1 %t13 = getelementptr inbounds %LSlice, ptr %t11, i32 0, i32 0 %t14 = load ptr, ptr %t13 %t15 = getelementptr inbounds %LSlice, ptr %t11, i32 0, i32 1 %t16 = load i32, ptr %t15 %t17 = icmp ult i32 %t12, %t16 br i1 %t17, label %ixok3, label %ixbad4 ixbad4: store i32 1099, ptr @lp_site %t18 = call ptr @lp_win_stdio(i32 2) store i32 0, ptr @lp_site call i32 (ptr, ptr, ...) @fprintf(ptr %t18, ptr @.fmt_bounds, ptr @.str1706, i32 %t12, i32 %t16) call void @exit(i32 1) unreachable ixok3: %t19 = getelementptr inbounds ptr, ptr %t14, i32 %t12 %t20 = load ptr, ptr %t19 %t21 = getelementptr inbounds %Cmp_Node, ptr %t20, i32 0, i32 0 %t22 = load i32, ptr %t21 %t23 = icmp eq i32 %t22, 8 %t24 = zext i1 %t23 to i32 %t25 = icmp ne i32 %t24, 0 %t26 = zext i1 %t25 to i32 store i32 %t26, ptr %t10 br i1 %t25, label %sc5, label %scend6 sc5: %t27 = load ptr, ptr @g_prog %t28 = load i32, ptr %t1 %t29 = getelementptr inbounds %LSlice, ptr %t27, i32 0, i32 0 %t30 = load ptr, ptr %t29 %t31 = getelementptr inbounds %LSlice, ptr %t27, i32 0, i32 1 %t32 = load i32, ptr %t31 %t33 = icmp ult i32 %t28, %t32 br i1 %t33, label %ixok7, label %ixbad8 ixbad8: store i32 1100, ptr @lp_site %t34 = call ptr @lp_win_stdio(i32 2) store i32 0, ptr @lp_site call i32 (ptr, ptr, ...) @fprintf(ptr %t34, ptr @.fmt_bounds, ptr @.str1708, i32 %t28, i32 %t32) call void @exit(i32 1) unreachable ixok7: %t35 = getelementptr inbounds ptr, ptr %t30, i32 %t28 %t36 = load ptr, ptr %t35 %t37 = getelementptr inbounds %Cmp_Node, ptr %t36, i32 0, i32 12 %t38 = load i32, ptr %t37 %t39 = icmp eq i32 %t38, 2 %t40 = zext i1 %t39 to i32 %t41 = icmp ne i32 %t40, 0 %t42 = zext i1 %t41 to i32 store i32 %t42, ptr %t10 br label %scend6 scend6: %t43 = load i32, ptr %t10 %t44 = icmp ne i32 %t43, 0 %t45 = zext i1 %t44 to i32 store i32 %t45, ptr %t9 br i1 %t44, label %sc9, label %scend10 sc9: %t46 = load ptr, ptr @g_prog %t47 = load i32, ptr %t1 %t48 = getelementptr inbounds %LSlice, ptr %t46, i32 0, i32 0 %t49 = load ptr, ptr %t48 %t50 = getelementptr inbounds %LSlice, ptr %t46, i32 0, i32 1 %t51 = load i32, ptr %t50 %t52 = icmp ult i32 %t47, %t51 br i1 %t52, label %ixok11, label %ixbad12 ixbad12: store i32 1101, ptr @lp_site %t53 = call ptr @lp_win_stdio(i32 2) store i32 0, ptr @lp_site call i32 (ptr, ptr, ...) @fprintf(ptr %t53, ptr @.fmt_bounds, ptr @.str1709, i32 %t47, i32 %t51) call void @exit(i32 1) unreachable ixok11: %t54 = getelementptr inbounds ptr, ptr %t49, i32 %t47 %t55 = load ptr, ptr %t54 %t56 = getelementptr inbounds %Cmp_Node, ptr %t55, i32 0, i32 1 %t57 = load ptr, ptr %t56 %t58 = load ptr, ptr %t0 %t59 = call i32 @lp_str_eq(ptr %t57, ptr %t58) %t60 = icmp ne i32 %t59, 0 %t61 = zext i1 %t60 to i32 store i32 %t61, ptr %t9 br label %scend10 scend10: %t62 = load i32, ptr %t9 %t63 = icmp ne i32 %t62, 0 br i1 %t63, label %then13, label %ifend15 then13: %t64 = load ptr, ptr @g_prog %t65 = load i32, ptr %t1 %t66 = getelementptr inbounds %LSlice, ptr %t64, i32 0, i32 0 %t67 = load ptr, ptr %t66 %t68 = getelementptr inbounds %LSlice, ptr %t64, i32 0, i32 1 %t69 = load i32, ptr %t68 %t70 = icmp ult i32 %t65, %t69 br i1 %t70, label %ixok16, label %ixbad17 ixbad17: store i32 1102, ptr @lp_site %t71 = call ptr @lp_win_stdio(i32 2) store i32 0, ptr @lp_site call i32 (ptr, ptr, ...) @fprintf(ptr %t71, ptr @.fmt_bounds, ptr @.str1710, i32 %t65, i32 %t69) call void @exit(i32 1) unreachable ixok16: %t72 = getelementptr inbounds ptr, ptr %t67, i32 %t65 %t73 = load ptr, ptr %t72 store ptr %t73, ptr %retval br label %ret ifend15: %t74 = load i32, ptr %t1 %t75 = add i32 %t74, 1 store i32 %t75, ptr %t1 br label %wcond0 wend2: store ptr null, ptr %retval br label %ret ret: %t76 = load ptr, ptr %retval ret ptr %t76 } define ptr @fn_mg_src_name(ptr %arg_s) { entry: %retval = alloca ptr %t0 = alloca ptr %t1 = alloca i32 store ptr %arg_s, ptr %t0 store i32 0, ptr %t1 br label %wcond0 wcond0: %t2 = load i32, ptr %t1 %t3 = load ptr, ptr %t0 %t4 = call i64 @strlen(ptr %t3) %t5 = trunc i64 %t4 to i32 %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 %t0 %t10 = load i32, ptr %t1 %t11 = getelementptr inbounds i8, ptr %t9, i32 %t10 %t12 = load i8, ptr %t11 %t13 = zext i8 %t12 to i32 %t14 = icmp eq i32 %t13, 36 %t15 = zext i1 %t14 to i32 %t16 = icmp ne i32 %t15, 0 br i1 %t16, label %then3, label %ifend5 then3: %t17 = load ptr, ptr %t0 %t18 = load i32, ptr %t1 store i32 1103, ptr @lp_site %t19 = call ptr @lp_str_slice(ptr %t17, i32 0, i32 %t18) store i32 0, ptr @lp_site store ptr %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 %t0 store ptr %t22, ptr %retval br label %ret ret: %t23 = load ptr, ptr %retval ret ptr %t23 } define i32 @fn_mg_is_target(ptr %arg_v) { entry: %retval = alloca i32 %t0 = alloca ptr %t1 = alloca i32 %t2 = alloca i32 %t3 = alloca i32 %t40 = alloca i32 %t55 = alloca i32 store ptr %arg_v, ptr %t0 %t4 = load ptr, ptr %t0 %t5 = getelementptr inbounds %Cmp_Node, ptr %t4, i32 0, i32 0 %t6 = load i32, ptr %t5 %t7 = icmp ne i32 %t6, 2 %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 %scend1, label %sc0 sc0: %t11 = load ptr, ptr %t0 %t12 = getelementptr inbounds %Cmp_Node, ptr %t11, i32 0, i32 12 %t13 = load i32, ptr %t12 %t14 = icmp ne i32 %t13, 0 %t15 = zext i1 %t14 to i32 %t16 = icmp ne i32 %t15, 0 %t17 = zext i1 %t16 to i32 store i32 %t17, ptr %t3 br label %scend1 scend1: %t18 = load i32, ptr %t3 %t19 = icmp ne i32 %t18, 0 %t20 = zext i1 %t19 to i32 store i32 %t20, ptr %t2 br i1 %t19, label %scend3, label %sc2 sc2: %t21 = load ptr, ptr %t0 %t22 = getelementptr inbounds %Cmp_Node, ptr %t21, i32 0, i32 9 %t23 = load ptr, ptr %t22 %t24 = icmp eq ptr %t23, null %t25 = zext i1 %t24 to i32 %t26 = icmp ne i32 %t25, 0 %t27 = zext i1 %t26 to i32 store i32 %t27, ptr %t2 br label %scend3 scend3: %t28 = load i32, ptr %t2 %t29 = icmp ne i32 %t28, 0 %t30 = zext i1 %t29 to i32 store i32 %t30, ptr %t1 br i1 %t29, label %scend5, label %sc4 sc4: %t31 = load ptr, ptr %t0 %t32 = getelementptr inbounds %Cmp_Node, ptr %t31, i32 0, i32 13 %t33 = load i32, ptr %t32 %t34 = icmp slt i32 %t33, 0 %t35 = zext i1 %t34 to i32 %t36 = icmp ne i32 %t35, 0 %t37 = zext i1 %t36 to i32 store i32 %t37, ptr %t1 br label %scend5 scend5: %t38 = load i32, ptr %t1 %t39 = icmp ne i32 %t38, 0 br i1 %t39, label %then6, label %ifend8 then6: store i32 0, ptr %retval br label %ret ifend8: %t41 = load ptr, ptr %t0 %t42 = getelementptr inbounds %Cmp_Node, ptr %t41, i32 0, i32 1 %t43 = load ptr, ptr %t42 %t44 = call i32 @fn_reg_find(ptr %t43) %t45 = icmp sge i32 %t44, 0 %t46 = zext i1 %t45 to i32 %t47 = icmp ne i32 %t46, 0 %t48 = zext i1 %t47 to i32 store i32 %t48, ptr %t40 br i1 %t47, label %scend10, label %sc9 sc9: %t49 = load ptr, ptr %t0 %t50 = call i32 @fn_is_port_var(ptr %t49) %t51 = icmp ne i32 %t50, 0 %t52 = zext i1 %t51 to i32 store i32 %t52, ptr %t40 br label %scend10 scend10: %t53 = load i32, ptr %t40 %t54 = icmp ne i32 %t53, 0 br i1 %t54, label %then11, label %ifend13 then11: store i32 0, ptr %retval br label %ret ifend13: %t56 = load i32, ptr @g_g_mg_runtime %t57 = icmp eq i32 %t56, 0 %t58 = zext i1 %t57 to i32 %t59 = icmp ne i32 %t58, 0 %t60 = zext i1 %t59 to i32 store i32 %t60, ptr %t55 br i1 %t59, label %sc14, label %scend15 sc14: %t61 = load ptr, ptr %t0 %t62 = getelementptr inbounds %Cmp_Node, ptr %t61, i32 0, i32 9 %t63 = load ptr, ptr %t62 %t64 = call i32 @fn_has_sub(ptr %t63, ptr @.str1712) %t65 = icmp ne i32 %t64, 0 %t66 = zext i1 %t65 to i32 store i32 %t66, ptr %t55 br label %scend15 scend15: %t67 = load i32, ptr %t55 %t68 = icmp ne i32 %t67, 0 br i1 %t68, label %then16, label %ifend18 then16: store i32 0, ptr %retval br label %ret ifend18: store i32 1, ptr %retval br label %ret ret: %t69 = load i32, ptr %retval ret i32 %t69 } define ptr @fn_mg_field_var(ptr %arg_name) { entry: %retval = alloca ptr %t0 = alloca ptr %t5 = alloca i32 %t38 = alloca ptr %t39 = alloca i32 %t57 = alloca ptr %t58 = alloca i32 %t59 = alloca i32 %t93 = alloca ptr %t94 = alloca i32 store ptr %arg_name, ptr %t0 %t1 = load i32, ptr @g_g_migrate %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: store ptr null, ptr %retval br label %ret ifend2: store i32 0, ptr %t5 br label %wcond3 wcond3: %t6 = load i32, ptr %t5 %t7 = load ptr, ptr @g_g_mg_fv_name %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 %wbody4, label %wend5 wbody4: %t13 = load ptr, ptr @g_g_mg_fv_name %t14 = load i32, ptr %t5 %t15 = getelementptr inbounds %LSlice, ptr %t13, i32 0, i32 0 %t16 = load ptr, ptr %t15 %t17 = getelementptr inbounds %LSlice, ptr %t13, i32 0, i32 1 %t18 = load i32, ptr %t17 %t19 = icmp ult i32 %t14, %t18 br i1 %t19, label %ixok6, label %ixbad7 ixbad7: store i32 1104, ptr @lp_site %t20 = call ptr @lp_win_stdio(i32 2) store i32 0, ptr @lp_site call i32 (ptr, ptr, ...) @fprintf(ptr %t20, ptr @.fmt_bounds, ptr @.str1713, i32 %t14, i32 %t18) call void @exit(i32 1) unreachable ixok6: %t21 = getelementptr inbounds ptr, ptr %t16, i32 %t14 %t22 = load ptr, ptr %t21 %t23 = load ptr, ptr %t0 %t24 = call i32 @lp_str_eq(ptr %t22, ptr %t23) %t25 = icmp ne i32 %t24, 0 br i1 %t25, label %then8, label %ifend10 then8: %t26 = load ptr, ptr @g_g_mg_fv_node %t27 = load i32, ptr %t5 %t28 = getelementptr inbounds %LSlice, ptr %t26, i32 0, i32 0 %t29 = load ptr, ptr %t28 %t30 = getelementptr inbounds %LSlice, ptr %t26, i32 0, i32 1 %t31 = load i32, ptr %t30 %t32 = icmp ult i32 %t27, %t31 br i1 %t32, label %ixok11, label %ixbad12 ixbad12: store i32 1105, ptr @lp_site %t33 = call ptr @lp_win_stdio(i32 2) store i32 0, ptr @lp_site call i32 (ptr, ptr, ...) @fprintf(ptr %t33, ptr @.fmt_bounds, ptr @.str1715, i32 %t27, i32 %t31) call void @exit(i32 1) unreachable ixok11: %t34 = getelementptr inbounds ptr, ptr %t29, i32 %t27 %t35 = load ptr, ptr %t34 store ptr %t35, ptr %retval br label %ret ifend10: %t36 = load i32, ptr %t5 %t37 = add i32 %t36, 1 store i32 %t37, ptr %t5 br label %wcond3 wend5: store ptr null, ptr %t38 store i32 0, ptr %t39 store i32 0, ptr %t5 br label %wcond13 wcond13: %t40 = load i32, ptr %t5 %t41 = load ptr, ptr @g_prog %t42 = getelementptr inbounds %LSlice, ptr %t41, i32 0, i32 1 %t43 = load i32, ptr %t42 %t44 = icmp slt i32 %t40, %t43 %t45 = zext i1 %t44 to i32 %t46 = icmp ne i32 %t45, 0 br i1 %t46, label %wbody14, label %wend15 wbody14: %t47 = load ptr, ptr @g_prog %t48 = load i32, ptr %t5 %t49 = getelementptr inbounds %LSlice, ptr %t47, i32 0, i32 0 %t50 = load ptr, ptr %t49 %t51 = getelementptr inbounds %LSlice, ptr %t47, i32 0, i32 1 %t52 = load i32, ptr %t51 %t53 = icmp ult i32 %t48, %t52 br i1 %t53, label %ixok16, label %ixbad17 ixbad17: store i32 1106, ptr @lp_site %t54 = call ptr @lp_win_stdio(i32 2) store i32 0, ptr @lp_site call i32 (ptr, ptr, ...) @fprintf(ptr %t54, ptr @.fmt_bounds, ptr @.str1716, i32 %t48, i32 %t52) call void @exit(i32 1) unreachable ixok16: %t55 = getelementptr inbounds ptr, ptr %t50, i32 %t48 %t56 = load ptr, ptr %t55 store ptr %t56, ptr %t57 %t60 = load ptr, ptr %t57 %t61 = getelementptr inbounds %Cmp_Node, ptr %t60, i32 0, i32 0 %t62 = load i32, ptr %t61 %t63 = icmp eq i32 %t62, 8 %t64 = zext i1 %t63 to i32 %t65 = icmp ne i32 %t64, 0 %t66 = zext i1 %t65 to i32 store i32 %t66, ptr %t59 br i1 %t65, label %sc18, label %scend19 sc18: %t67 = load ptr, ptr %t57 %t68 = getelementptr inbounds %Cmp_Node, ptr %t67, i32 0, i32 12 %t69 = load i32, ptr %t68 %t70 = icmp eq i32 %t69, 2 %t71 = zext i1 %t70 to i32 %t72 = icmp ne i32 %t71, 0 %t73 = zext i1 %t72 to i32 store i32 %t73, ptr %t59 br label %scend19 scend19: %t74 = load i32, ptr %t59 %t75 = icmp ne i32 %t74, 0 %t76 = zext i1 %t75 to i32 store i32 %t76, ptr %t58 br i1 %t75, label %sc20, label %scend21 sc20: %t77 = load ptr, ptr %t57 %t78 = load ptr, ptr %t0 %t79 = call i32 @fn_field_index(ptr %t77, ptr %t78) %t80 = icmp sge i32 %t79, 0 %t81 = zext i1 %t80 to i32 %t82 = icmp ne i32 %t81, 0 %t83 = zext i1 %t82 to i32 store i32 %t83, ptr %t58 br label %scend21 scend21: %t84 = load i32, ptr %t58 %t85 = icmp ne i32 %t84, 0 br i1 %t85, label %then22, label %ifend24 then22: %t86 = load ptr, ptr %t38 %t87 = icmp ne ptr %t86, null %t88 = zext i1 %t87 to i32 %t89 = icmp ne i32 %t88, 0 br i1 %t89, label %then25, label %ifend27 then25: store i32 1, ptr %t39 br label %ifend27 ifend27: %t90 = load ptr, ptr %t57 store ptr %t90, ptr %t38 br label %ifend24 ifend24: %t91 = load i32, ptr %t5 %t92 = add i32 %t91, 1 store i32 %t92, ptr %t5 br label %wcond13 wend15: store ptr null, ptr %t93 %t95 = load ptr, ptr %t38 %t96 = icmp ne ptr %t95, null %t97 = zext i1 %t96 to i32 %t98 = icmp ne i32 %t97, 0 %t99 = zext i1 %t98 to i32 store i32 %t99, ptr %t94 br i1 %t98, label %sc28, label %scend29 sc28: %t100 = load i32, ptr %t39 %t101 = icmp eq i32 %t100, 0 %t102 = zext i1 %t101 to i32 %t103 = icmp ne i32 %t102, 0 %t104 = zext i1 %t103 to i32 store i32 %t104, ptr %t94 br label %scend29 scend29: %t105 = load i32, ptr %t94 %t106 = icmp ne i32 %t105, 0 br i1 %t106, label %then30, label %ifend32 then30: %t107 = call ptr @fn_node(i32 2) store ptr %t107, ptr %t93 %t108 = load ptr, ptr %t93 %t109 = getelementptr inbounds %Cmp_Node, ptr %t108, i32 0, i32 1 %t110 = load ptr, ptr %t0 store ptr %t110, ptr %t109 %t111 = load ptr, ptr %t93 %t112 = getelementptr inbounds %Cmp_Node, ptr %t111, i32 0, i32 3 %t113 = load ptr, ptr %t38 %t114 = load ptr, ptr %t0 %t115 = call ptr @fn_field_type(ptr %t113, ptr %t114) store ptr %t115, ptr %t112 %t116 = load ptr, ptr %t93 %t117 = getelementptr inbounds %Cmp_Node, ptr %t116, i32 0, i32 9 %t118 = load ptr, ptr %t38 %t119 = getelementptr inbounds %Cmp_Node, ptr %t118, i32 0, i32 9 %t120 = load ptr, ptr %t119 store ptr %t120, ptr %t117 %t121 = load ptr, ptr %t93 %t122 = getelementptr inbounds %Cmp_Node, ptr %t121, i32 0, i32 8 %t123 = load ptr, ptr %t38 %t124 = getelementptr inbounds %Cmp_Node, ptr %t123, i32 0, i32 8 %t125 = load i32, ptr %t124 store i32 %t125, ptr %t122 %t126 = load ptr, ptr %t93 %t127 = getelementptr inbounds %Cmp_Node, ptr %t126, i32 0, i32 13 %t128 = sub i32 0, 1 store i32 %t128, ptr %t127 %t129 = load ptr, ptr @g_g_mg_vars %t130 = load ptr, ptr %t93 %t131 = getelementptr inbounds %LSlice, ptr %t129, i32 0, i32 1 %t132 = getelementptr inbounds %LSlice, ptr %t129, i32 0, i32 2 %t133 = getelementptr inbounds %LSlice, ptr %t129, i32 0, i32 0 %t134 = load i32, ptr %t131 %t135 = load i32, ptr %t132 %t136 = icmp sge i32 %t134, %t135 br i1 %t136, label %grow33, label %put34 grow33: %t137 = mul i32 %t135, 2 %t138 = icmp eq i32 %t135, 0 %t139 = select i1 %t138, i32 8, i32 %t137 %t140 = getelementptr ptr, ptr null, i32 1 %t141 = ptrtoint ptr %t140 to i64 %t142 = zext i32 %t139 to i64 %t143 = mul i64 %t142, %t141 %t144 = load ptr, ptr %t133 store i32 1107, ptr @lp_site %t145 = call ptr @lp_realloc(ptr %t144, i64 %t143) store i32 0, ptr @lp_site store ptr %t145, ptr %t133 store i32 %t139, ptr %t132 br label %put34 put34: %t146 = load ptr, ptr %t133 %t147 = getelementptr inbounds ptr, ptr %t146, i32 %t134 store ptr %t130, ptr %t147 %t148 = add i32 %t134, 1 store i32 %t148, ptr %t131 %t149 = load ptr, ptr @g_g_mg_vstate %t150 = load ptr, ptr %t38 %t151 = getelementptr inbounds %Cmp_Node, ptr %t150, i32 0, i32 1 %t152 = load ptr, ptr %t151 %t153 = call i32 @fn_mg_state_named(ptr %t152) %t154 = getelementptr inbounds %LSlice, ptr %t149, i32 0, i32 1 %t155 = getelementptr inbounds %LSlice, ptr %t149, i32 0, i32 2 %t156 = getelementptr inbounds %LSlice, ptr %t149, i32 0, i32 0 %t157 = load i32, ptr %t154 %t158 = load i32, ptr %t155 %t159 = icmp sge i32 %t157, %t158 br i1 %t159, label %grow35, label %put36 grow35: %t160 = mul i32 %t158, 2 %t161 = icmp eq i32 %t158, 0 %t162 = select i1 %t161, i32 8, i32 %t160 %t163 = getelementptr i32, ptr null, i32 1 %t164 = ptrtoint ptr %t163 to i64 %t165 = zext i32 %t162 to i64 %t166 = mul i64 %t165, %t164 %t167 = load ptr, ptr %t156 store i32 1108, ptr @lp_site %t168 = call ptr @lp_realloc(ptr %t167, i64 %t166) store i32 0, ptr @lp_site store ptr %t168, ptr %t156 store i32 %t162, ptr %t155 br label %put36 put36: %t169 = load ptr, ptr %t156 %t170 = getelementptr inbounds i32, ptr %t169, i32 %t157 store i32 %t153, ptr %t170 %t171 = add i32 %t157, 1 store i32 %t171, ptr %t154 %t172 = load ptr, ptr @g_g_mg_written %t173 = getelementptr inbounds %LSlice, ptr %t172, i32 0, i32 1 %t174 = getelementptr inbounds %LSlice, ptr %t172, i32 0, i32 2 %t175 = getelementptr inbounds %LSlice, ptr %t172, i32 0, i32 0 %t176 = load i32, ptr %t173 %t177 = load i32, ptr %t174 %t178 = icmp sge i32 %t176, %t177 br i1 %t178, label %grow37, label %put38 grow37: %t179 = mul i32 %t177, 2 %t180 = icmp eq i32 %t177, 0 %t181 = select i1 %t180, i32 8, i32 %t179 %t182 = getelementptr i32, 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 store i32 1109, ptr @lp_site %t187 = call ptr @lp_realloc(ptr %t186, i64 %t185) store i32 0, ptr @lp_site store ptr %t187, ptr %t175 store i32 %t181, ptr %t174 br label %put38 put38: %t188 = load ptr, ptr %t175 %t189 = getelementptr inbounds i32, ptr %t188, i32 %t176 store i32 0, ptr %t189 %t190 = add i32 %t176, 1 store i32 %t190, ptr %t173 %t191 = load ptr, ptr @g_g_mg_let %t192 = getelementptr inbounds %LSlice, ptr %t191, i32 0, i32 1 %t193 = getelementptr inbounds %LSlice, ptr %t191, i32 0, i32 2 %t194 = getelementptr inbounds %LSlice, ptr %t191, i32 0, i32 0 %t195 = load i32, ptr %t192 %t196 = load i32, ptr %t193 %t197 = icmp sge i32 %t195, %t196 br i1 %t197, label %grow39, label %put40 grow39: %t198 = mul i32 %t196, 2 %t199 = icmp eq i32 %t196, 0 %t200 = select i1 %t199, i32 8, i32 %t198 %t201 = getelementptr i32, ptr null, i32 1 %t202 = ptrtoint ptr %t201 to i64 %t203 = zext i32 %t200 to i64 %t204 = mul i64 %t203, %t202 %t205 = load ptr, ptr %t194 store i32 1110, ptr @lp_site %t206 = call ptr @lp_realloc(ptr %t205, i64 %t204) store i32 0, ptr @lp_site store ptr %t206, ptr %t194 store i32 %t200, ptr %t193 br label %put40 put40: %t207 = load ptr, ptr %t194 %t208 = getelementptr inbounds i32, ptr %t207, i32 %t195 store i32 2, ptr %t208 %t209 = add i32 %t195, 1 store i32 %t209, ptr %t192 %t210 = load ptr, ptr %t93 %t211 = getelementptr inbounds %Cmp_Node, ptr %t210, i32 0, i32 15 %t212 = load ptr, ptr @g_g_mg_vars %t213 = getelementptr inbounds %LSlice, ptr %t212, i32 0, i32 1 %t214 = load i32, ptr %t213 %t215 = sub i32 %t214, 1 store i32 %t215, ptr %t211 br label %ifend32 ifend32: %t216 = load ptr, ptr @g_g_mg_fv_name %t217 = load ptr, ptr %t0 %t218 = getelementptr inbounds %LSlice, ptr %t216, i32 0, i32 1 %t219 = getelementptr inbounds %LSlice, ptr %t216, i32 0, i32 2 %t220 = getelementptr inbounds %LSlice, ptr %t216, i32 0, i32 0 %t221 = load i32, ptr %t218 %t222 = load i32, ptr %t219 %t223 = icmp sge i32 %t221, %t222 br i1 %t223, label %grow41, label %put42 grow41: %t224 = mul i32 %t222, 2 %t225 = icmp eq i32 %t222, 0 %t226 = select i1 %t225, i32 8, i32 %t224 %t227 = getelementptr ptr, ptr null, i32 1 %t228 = ptrtoint ptr %t227 to i64 %t229 = zext i32 %t226 to i64 %t230 = mul i64 %t229, %t228 %t231 = load ptr, ptr %t220 store i32 1111, ptr @lp_site %t232 = call ptr @lp_realloc(ptr %t231, i64 %t230) store i32 0, ptr @lp_site store ptr %t232, ptr %t220 store i32 %t226, ptr %t219 br label %put42 put42: %t233 = load ptr, ptr %t220 %t234 = getelementptr inbounds ptr, ptr %t233, i32 %t221 store ptr %t217, ptr %t234 %t235 = add i32 %t221, 1 store i32 %t235, ptr %t218 %t236 = load ptr, ptr @g_g_mg_fv_node %t237 = load ptr, ptr %t93 %t238 = getelementptr inbounds %LSlice, ptr %t236, i32 0, i32 1 %t239 = getelementptr inbounds %LSlice, ptr %t236, i32 0, i32 2 %t240 = getelementptr inbounds %LSlice, ptr %t236, i32 0, i32 0 %t241 = load i32, ptr %t238 %t242 = load i32, ptr %t239 %t243 = icmp sge i32 %t241, %t242 br i1 %t243, label %grow43, label %put44 grow43: %t244 = mul i32 %t242, 2 %t245 = icmp eq i32 %t242, 0 %t246 = select i1 %t245, i32 8, i32 %t244 %t247 = getelementptr ptr, ptr null, i32 1 %t248 = ptrtoint ptr %t247 to i64 %t249 = zext i32 %t246 to i64 %t250 = mul i64 %t249, %t248 %t251 = load ptr, ptr %t240 store i32 1112, ptr @lp_site %t252 = call ptr @lp_realloc(ptr %t251, i64 %t250) store i32 0, ptr @lp_site store ptr %t252, ptr %t240 store i32 %t246, ptr %t239 br label %put44 put44: %t253 = load ptr, ptr %t240 %t254 = getelementptr inbounds ptr, ptr %t253, i32 %t241 store ptr %t237, ptr %t254 %t255 = add i32 %t241, 1 store i32 %t255, ptr %t238 %t256 = load ptr, ptr %t93 store ptr %t256, ptr %retval br label %ret ret: %t257 = load ptr, ptr %retval ret ptr %t257 } define void @fn_mg_collect() { entry: %t1 = alloca i32 %t7 = alloca i32 %t8 = alloca i32 %t35 = alloca ptr %t36 = alloca i32 %t54 = alloca i32 %t0 = load i32, ptr @g_g_prog_user_end store i32 %t0, ptr %t1 %t2 = load i32, ptr @g_g_mg_runtime %t3 = icmp ne i32 %t2, 0 br i1 %t3, label %then0, label %ifend2 then0: %t4 = load ptr, ptr @g_prog %t5 = getelementptr inbounds %LSlice, ptr %t4, i32 0, i32 1 %t6 = load i32, ptr %t5 store i32 %t6, ptr %t1 br label %ifend2 ifend2: store i32 0, ptr %t7 br label %wcond3 wcond3: %t9 = load i32, ptr %t7 %t10 = load i32, ptr %t1 %t11 = icmp slt 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 %t8 br i1 %t13, label %sc6, label %scend7 sc6: %t15 = load i32, ptr %t7 %t16 = load ptr, ptr @g_prog %t17 = getelementptr inbounds %LSlice, ptr %t16, i32 0, i32 1 %t18 = load i32, ptr %t17 %t19 = icmp slt i32 %t15, %t18 %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 %scend7 scend7: %t23 = load i32, ptr %t8 %t24 = icmp ne i32 %t23, 0 br i1 %t24, label %wbody4, label %wend5 wbody4: %t25 = load ptr, ptr @g_prog %t26 = load i32, ptr %t7 %t27 = getelementptr inbounds %LSlice, ptr %t25, i32 0, i32 0 %t28 = load ptr, ptr %t27 %t29 = getelementptr inbounds %LSlice, ptr %t25, i32 0, i32 1 %t30 = load i32, ptr %t29 %t31 = icmp ult i32 %t26, %t30 br i1 %t31, label %ixok8, label %ixbad9 ixbad9: store i32 1113, ptr @lp_site %t32 = call ptr @lp_win_stdio(i32 2) store i32 0, ptr @lp_site call i32 (ptr, ptr, ...) @fprintf(ptr %t32, ptr @.fmt_bounds, ptr @.str1717, i32 %t26, i32 %t30) call void @exit(i32 1) unreachable ixok8: %t33 = getelementptr inbounds ptr, ptr %t28, i32 %t26 %t34 = load ptr, ptr %t33 store ptr %t34, ptr %t35 %t37 = load ptr, ptr %t35 %t38 = getelementptr inbounds %Cmp_Node, ptr %t37, i32 0, i32 0 %t39 = load i32, ptr %t38 %t40 = icmp eq i32 %t39, 2 %t41 = zext i1 %t40 to i32 %t42 = icmp ne i32 %t41, 0 %t43 = zext i1 %t42 to i32 store i32 %t43, ptr %t36 br i1 %t42, label %sc10, label %scend11 sc10: %t44 = load ptr, ptr %t35 %t45 = call i32 @fn_mg_is_target(ptr %t44) %t46 = icmp ne i32 %t45, 0 %t47 = zext i1 %t46 to i32 store i32 %t47, ptr %t36 br label %scend11 scend11: %t48 = load i32, ptr %t36 %t49 = icmp ne i32 %t48, 0 br i1 %t49, label %then12, label %ifend14 then12: %t50 = load ptr, ptr %t35 %t51 = getelementptr inbounds %Cmp_Node, ptr %t50, i32 0, i32 9 %t52 = load ptr, ptr %t51 %t53 = call i32 @fn_mg_state_of_file(ptr %t52) store i32 %t53, ptr %t54 %t55 = load ptr, ptr @g_g_mg_vars %t56 = load ptr, ptr %t35 %t57 = getelementptr inbounds %LSlice, ptr %t55, i32 0, i32 1 %t58 = getelementptr inbounds %LSlice, ptr %t55, i32 0, i32 2 %t59 = getelementptr inbounds %LSlice, ptr %t55, i32 0, i32 0 %t60 = load i32, ptr %t57 %t61 = load i32, ptr %t58 %t62 = icmp sge i32 %t60, %t61 br i1 %t62, label %grow15, label %put16 grow15: %t63 = mul i32 %t61, 2 %t64 = icmp eq i32 %t61, 0 %t65 = select i1 %t64, i32 8, i32 %t63 %t66 = getelementptr ptr, 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 store i32 1114, ptr @lp_site %t71 = call ptr @lp_realloc(ptr %t70, i64 %t69) store i32 0, ptr @lp_site store ptr %t71, ptr %t59 store i32 %t65, ptr %t58 br label %put16 put16: %t72 = load ptr, ptr %t59 %t73 = getelementptr inbounds ptr, ptr %t72, i32 %t60 store ptr %t56, ptr %t73 %t74 = add i32 %t60, 1 store i32 %t74, ptr %t57 %t75 = load ptr, ptr @g_g_mg_vstate %t76 = load i32, ptr %t54 %t77 = getelementptr inbounds %LSlice, ptr %t75, i32 0, i32 1 %t78 = getelementptr inbounds %LSlice, ptr %t75, i32 0, i32 2 %t79 = getelementptr inbounds %LSlice, ptr %t75, i32 0, i32 0 %t80 = load i32, ptr %t77 %t81 = load i32, ptr %t78 %t82 = icmp sge i32 %t80, %t81 br i1 %t82, label %grow17, label %put18 grow17: %t83 = mul i32 %t81, 2 %t84 = icmp eq i32 %t81, 0 %t85 = select i1 %t84, i32 8, i32 %t83 %t86 = getelementptr i32, ptr null, i32 1 %t87 = ptrtoint ptr %t86 to i64 %t88 = zext i32 %t85 to i64 %t89 = mul i64 %t88, %t87 %t90 = load ptr, ptr %t79 store i32 1115, ptr @lp_site %t91 = call ptr @lp_realloc(ptr %t90, i64 %t89) store i32 0, ptr @lp_site store ptr %t91, ptr %t79 store i32 %t85, ptr %t78 br label %put18 put18: %t92 = load ptr, ptr %t79 %t93 = getelementptr inbounds i32, ptr %t92, i32 %t80 store i32 %t76, ptr %t93 %t94 = add i32 %t80, 1 store i32 %t94, ptr %t77 %t95 = load ptr, ptr @g_g_mg_written %t96 = getelementptr inbounds %LSlice, ptr %t95, i32 0, i32 1 %t97 = getelementptr inbounds %LSlice, ptr %t95, i32 0, i32 2 %t98 = getelementptr inbounds %LSlice, ptr %t95, i32 0, i32 0 %t99 = load i32, ptr %t96 %t100 = load i32, ptr %t97 %t101 = icmp sge i32 %t99, %t100 br i1 %t101, label %grow19, label %put20 grow19: %t102 = mul i32 %t100, 2 %t103 = icmp eq i32 %t100, 0 %t104 = select i1 %t103, i32 8, i32 %t102 %t105 = getelementptr i32, ptr null, i32 1 %t106 = ptrtoint ptr %t105 to i64 %t107 = zext i32 %t104 to i64 %t108 = mul i64 %t107, %t106 %t109 = load ptr, ptr %t98 store i32 1116, ptr @lp_site %t110 = call ptr @lp_realloc(ptr %t109, i64 %t108) store i32 0, ptr @lp_site store ptr %t110, ptr %t98 store i32 %t104, ptr %t97 br label %put20 put20: %t111 = load ptr, ptr %t98 %t112 = getelementptr inbounds i32, ptr %t111, i32 %t99 store i32 0, ptr %t112 %t113 = add i32 %t99, 1 store i32 %t113, ptr %t96 %t114 = load ptr, ptr @g_g_mg_let %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 %grow21, label %put22 grow21: %t121 = mul i32 %t119, 2 %t122 = icmp eq i32 %t119, 0 %t123 = select i1 %t122, i32 8, i32 %t121 %t124 = getelementptr i32, 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 store i32 1117, ptr @lp_site %t129 = call ptr @lp_realloc(ptr %t128, i64 %t127) store i32 0, ptr @lp_site store ptr %t129, ptr %t117 store i32 %t123, ptr %t116 br label %put22 put22: %t130 = load ptr, ptr %t117 %t131 = getelementptr inbounds i32, ptr %t130, i32 %t118 store i32 0, ptr %t131 %t132 = add i32 %t118, 1 store i32 %t132, ptr %t115 %t133 = load ptr, ptr %t35 %t134 = getelementptr inbounds %Cmp_Node, ptr %t133, i32 0, i32 15 %t135 = load ptr, ptr @g_g_mg_vars %t136 = getelementptr inbounds %LSlice, ptr %t135, i32 0, i32 1 %t137 = load i32, ptr %t136 %t138 = sub i32 %t137, 1 store i32 %t138, ptr %t134 %t139 = load ptr, ptr %t35 %t140 = getelementptr inbounds %Cmp_Node, ptr %t139, i32 0, i32 10 %t141 = load i32, ptr %t140 %t142 = icmp eq i32 %t141, 1 %t143 = zext i1 %t142 to i32 %t144 = icmp ne i32 %t143, 0 br i1 %t144, label %then23, label %ifend25 then23: %t145 = load ptr, ptr @g_g_ms_export %t146 = load i32, ptr %t54 %t147 = getelementptr inbounds %LSlice, ptr %t145, i32 0, i32 0 %t148 = load ptr, ptr %t147 %t149 = getelementptr inbounds %LSlice, ptr %t145, i32 0, i32 1 %t150 = load i32, ptr %t149 %t151 = icmp ult i32 %t146, %t150 br i1 %t151, label %ixok26, label %ixbad27 ixbad27: store i32 1118, ptr @lp_site %t152 = call ptr @lp_win_stdio(i32 2) store i32 0, ptr @lp_site call i32 (ptr, ptr, ...) @fprintf(ptr %t152, ptr @.fmt_bounds, ptr @.str1719, i32 %t146, i32 %t150) call void @exit(i32 1) unreachable ixok26: %t153 = getelementptr inbounds i32, ptr %t148, i32 %t146 store i32 1, ptr %t153 br label %ifend25 ifend25: br label %ifend14 ifend14: %t154 = load i32, ptr %t7 %t155 = add i32 %t154, 1 store i32 %t155, ptr %t7 br label %wcond3 wend5: br label %ret ret: ret void } define i32 @fn_mg_unit(ptr %arg_n, i32 %arg_kind) { entry: %retval = alloca i32 %t0 = alloca ptr %t1 = alloca i32 %t2 = alloca i32 %t106 = alloca i32 %t119 = alloca i32 %t120 = alloca i32 %t121 = alloca i32 %t187 = alloca i32 store ptr %arg_n, ptr %t0 store i32 %arg_kind, ptr %t1 %t3 = load ptr, ptr %t0 %t4 = getelementptr inbounds %Cmp_Node, ptr %t3, i32 0, i32 15 %t5 = load i32, ptr %t4 %t6 = icmp sge i32 %t5, 0 %t7 = zext i1 %t6 to i32 %t8 = icmp ne i32 %t7, 0 %t9 = zext i1 %t8 to i32 store i32 %t9, ptr %t2 br i1 %t8, label %sc0, label %scend1 sc0: %t10 = load ptr, ptr %t0 %t11 = getelementptr inbounds %Cmp_Node, ptr %t10, i32 0, i32 0 %t12 = load i32, ptr %t11 %t13 = icmp ne i32 %t12, 2 %t14 = zext i1 %t13 to i32 %t15 = icmp ne i32 %t14, 0 %t16 = zext i1 %t15 to i32 store i32 %t16, ptr %t2 br label %scend1 scend1: %t17 = load i32, ptr %t2 %t18 = icmp ne i32 %t17, 0 br i1 %t18, label %then2, label %ifend4 then2: %t19 = load ptr, ptr %t0 %t20 = getelementptr inbounds %Cmp_Node, ptr %t19, i32 0, i32 15 %t21 = load i32, ptr %t20 store i32 %t21, ptr %retval br label %ret ifend4: %t22 = load ptr, ptr @g_g_mu_node %t23 = load ptr, 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 %grow5, label %put6 grow5: %t30 = mul i32 %t28, 2 %t31 = icmp eq i32 %t28, 0 %t32 = select i1 %t31, i32 8, i32 %t30 %t33 = getelementptr ptr, 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 store i32 1119, ptr @lp_site %t38 = call ptr @lp_realloc(ptr %t37, i64 %t36) store i32 0, ptr @lp_site store ptr %t38, ptr %t26 store i32 %t32, ptr %t25 br label %put6 put6: %t39 = load ptr, ptr %t26 %t40 = getelementptr inbounds ptr, ptr %t39, i32 %t27 store ptr %t23, ptr %t40 %t41 = add i32 %t27, 1 store i32 %t41, ptr %t24 %t42 = load ptr, ptr @g_g_mu_kind %t43 = load i32, ptr %t1 %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 %grow7, label %put8 grow7: %t50 = mul i32 %t48, 2 %t51 = icmp eq i32 %t48, 0 %t52 = select i1 %t51, i32 8, i32 %t50 %t53 = getelementptr i32, 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 store i32 1120, ptr @lp_site %t58 = call ptr @lp_realloc(ptr %t57, i64 %t56) store i32 0, ptr @lp_site store ptr %t58, ptr %t46 store i32 %t52, ptr %t45 br label %put8 put8: %t59 = load ptr, ptr %t46 %t60 = getelementptr inbounds i32, ptr %t59, i32 %t47 store i32 %t43, ptr %t60 %t61 = add i32 %t47, 1 store i32 %t61, ptr %t44 %t62 = load ptr, ptr @g_g_mu_need %t63 = getelementptr inbounds %LSlice, ptr %t62, i32 0, i32 1 %t64 = getelementptr inbounds %LSlice, ptr %t62, i32 0, i32 2 %t65 = getelementptr inbounds %LSlice, ptr %t62, i32 0, i32 0 %t66 = load i32, ptr %t63 %t67 = load i32, ptr %t64 %t68 = icmp sge i32 %t66, %t67 br i1 %t68, label %grow9, label %put10 grow9: %t69 = mul i32 %t67, 2 %t70 = icmp eq i32 %t67, 0 %t71 = select i1 %t70, i32 8, i32 %t69 %t72 = getelementptr ptr, ptr null, i32 1 %t73 = ptrtoint ptr %t72 to i64 %t74 = zext i32 %t71 to i64 %t75 = mul i64 %t74, %t73 %t76 = load ptr, ptr %t65 store i32 1121, ptr @lp_site %t77 = call ptr @lp_realloc(ptr %t76, i64 %t75) store i32 0, ptr @lp_site store ptr %t77, ptr %t65 store i32 %t71, ptr %t64 br label %put10 put10: %t78 = load ptr, ptr %t65 %t79 = getelementptr inbounds ptr, ptr %t78, i32 %t66 store ptr @.str1721, ptr %t79 %t80 = add i32 %t66, 1 store i32 %t80, ptr %t63 %t81 = load ptr, ptr @g_g_mu_mut %t82 = getelementptr inbounds %LSlice, ptr %t81, i32 0, i32 1 %t83 = getelementptr inbounds %LSlice, ptr %t81, i32 0, i32 2 %t84 = getelementptr inbounds %LSlice, ptr %t81, i32 0, i32 0 %t85 = load i32, ptr %t82 %t86 = load i32, ptr %t83 %t87 = icmp sge i32 %t85, %t86 br i1 %t87, label %grow11, label %put12 grow11: %t88 = mul i32 %t86, 2 %t89 = icmp eq i32 %t86, 0 %t90 = select i1 %t89, i32 8, i32 %t88 %t91 = getelementptr ptr, ptr null, i32 1 %t92 = ptrtoint ptr %t91 to i64 %t93 = zext i32 %t90 to i64 %t94 = mul i64 %t93, %t92 %t95 = load ptr, ptr %t84 store i32 1122, ptr @lp_site %t96 = call ptr @lp_realloc(ptr %t95, i64 %t94) store i32 0, ptr @lp_site store ptr %t96, ptr %t84 store i32 %t90, ptr %t83 br label %put12 put12: %t97 = load ptr, ptr %t84 %t98 = getelementptr inbounds ptr, ptr %t97, i32 %t85 store ptr @.str1722, ptr %t98 %t99 = add i32 %t85, 1 store i32 %t99, ptr %t82 %t100 = load ptr, ptr %t0 %t101 = getelementptr inbounds %Cmp_Node, ptr %t100, i32 0, i32 15 %t102 = load ptr, ptr @g_g_mu_node %t103 = getelementptr inbounds %LSlice, ptr %t102, i32 0, i32 1 %t104 = load i32, ptr %t103 %t105 = sub i32 %t104, 1 store i32 %t105, ptr %t101 %t107 = load i32, ptr %t1 %t108 = icmp eq i32 %t107, 0 %t109 = zext i1 %t108 to i32 %t110 = icmp ne i32 %t109, 0 %t111 = zext i1 %t110 to i32 store i32 %t111, ptr %t106 br i1 %t110, label %sc13, label %scend14 sc13: %t112 = load i32, ptr @g_g_mg_prune %t113 = icmp eq i32 %t112, 0 %t114 = zext i1 %t113 to i32 %t115 = icmp ne i32 %t114, 0 %t116 = zext i1 %t115 to i32 store i32 %t116, ptr %t106 br label %scend14 scend14: %t117 = load i32, ptr %t106 %t118 = icmp ne i32 %t117, 0 br i1 %t118, label %then15, label %ifend17 then15: store i32 0, ptr %t119 br label %wcond18 wcond18: %t122 = load i32, ptr %t119 %t123 = load ptr, ptr %t0 %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 1 %t127 = load i32, ptr %t126 %t128 = icmp slt i32 %t122, %t127 %t129 = zext i1 %t128 to i32 %t130 = icmp ne i32 %t129, 0 %t131 = zext i1 %t130 to i32 store i32 %t131, ptr %t121 br i1 %t130, label %sc21, label %scend22 sc21: %t132 = load ptr, ptr %t0 %t133 = getelementptr inbounds %Cmp_Node, ptr %t132, i32 0, i32 7 %t134 = load ptr, ptr %t133 %t135 = load i32, ptr %t119 %t136 = getelementptr inbounds %LSlice, ptr %t134, i32 0, i32 0 %t137 = load ptr, ptr %t136 %t138 = getelementptr inbounds %LSlice, ptr %t134, i32 0, i32 1 %t139 = load i32, ptr %t138 %t140 = icmp ult i32 %t135, %t139 br i1 %t140, label %ixok23, label %ixbad24 ixbad24: store i32 1123, ptr @lp_site %t141 = call ptr @lp_win_stdio(i32 2) store i32 0, ptr @lp_site call i32 (ptr, ptr, ...) @fprintf(ptr %t141, ptr @.fmt_bounds, ptr @.str1723, i32 %t135, i32 %t139) call void @exit(i32 1) unreachable ixok23: %t142 = getelementptr inbounds ptr, ptr %t137, i32 %t135 %t143 = load ptr, ptr %t142 %t144 = getelementptr inbounds %Cmp_Node, ptr %t143, i32 0, i32 0 %t145 = load i32, ptr %t144 %t146 = icmp eq i32 %t145, 5 %t147 = zext i1 %t146 to i32 %t148 = icmp ne i32 %t147, 0 %t149 = zext i1 %t148 to i32 store i32 %t149, ptr %t121 br label %scend22 scend22: %t150 = load i32, ptr %t121 %t151 = icmp ne i32 %t150, 0 %t152 = zext i1 %t151 to i32 store i32 %t152, ptr %t120 br i1 %t151, label %sc25, label %scend26 sc25: %t153 = load ptr, ptr %t0 %t154 = getelementptr inbounds %Cmp_Node, ptr %t153, i32 0, i32 7 %t155 = load ptr, ptr %t154 %t156 = load i32, ptr %t119 %t157 = getelementptr inbounds %LSlice, ptr %t155, i32 0, i32 0 %t158 = load ptr, ptr %t157 %t159 = getelementptr inbounds %LSlice, ptr %t155, i32 0, i32 1 %t160 = load i32, ptr %t159 %t161 = icmp ult i32 %t156, %t160 br i1 %t161, label %ixok27, label %ixbad28 ixbad28: store i32 1124, ptr @lp_site %t162 = call ptr @lp_win_stdio(i32 2) store i32 0, ptr @lp_site call i32 (ptr, ptr, ...) @fprintf(ptr %t162, ptr @.fmt_bounds, ptr @.str1724, i32 %t156, i32 %t160) call void @exit(i32 1) unreachable ixok27: %t163 = getelementptr inbounds ptr, ptr %t158, i32 %t156 %t164 = load ptr, ptr %t163 %t165 = getelementptr inbounds %Cmp_Node, ptr %t164, i32 0, i32 3 %t166 = load ptr, ptr %t165 %t167 = call i32 @fn_is_state_ty(ptr %t166) %t168 = icmp ne i32 %t167, 0 %t169 = zext i1 %t168 to i32 store i32 %t169, ptr %t120 br label %scend26 scend26: %t170 = load i32, ptr %t120 %t171 = icmp ne i32 %t170, 0 br i1 %t171, label %wbody19, label %wend20 wbody19: %t172 = load ptr, ptr %t0 %t173 = getelementptr inbounds %Cmp_Node, ptr %t172, i32 0, i32 7 %t174 = load ptr, ptr %t173 %t175 = load i32, ptr %t119 %t176 = getelementptr inbounds %LSlice, ptr %t174, i32 0, i32 0 %t177 = load ptr, ptr %t176 %t178 = getelementptr inbounds %LSlice, ptr %t174, i32 0, i32 1 %t179 = load i32, ptr %t178 %t180 = icmp ult i32 %t175, %t179 br i1 %t180, label %ixok29, label %ixbad30 ixbad30: store i32 1125, ptr @lp_site %t181 = call ptr @lp_win_stdio(i32 2) store i32 0, ptr @lp_site call i32 (ptr, ptr, ...) @fprintf(ptr %t181, ptr @.fmt_bounds, ptr @.str1725, i32 %t175, i32 %t179) call void @exit(i32 1) unreachable ixok29: %t182 = getelementptr inbounds ptr, ptr %t177, i32 %t175 %t183 = load ptr, ptr %t182 %t184 = getelementptr inbounds %Cmp_Node, ptr %t183, i32 0, i32 3 %t185 = load ptr, ptr %t184 %t186 = call i32 @fn_mg_state_named(ptr %t185) store i32 %t186, ptr %t187 %t188 = load i32, ptr %t187 %t189 = icmp sge i32 %t188, 0 %t190 = zext i1 %t189 to i32 %t191 = icmp ne i32 %t190, 0 br i1 %t191, label %then31, label %ifend33 then31: %t192 = load ptr, ptr %t0 %t193 = getelementptr inbounds %Cmp_Node, ptr %t192, i32 0, i32 15 %t194 = load i32, ptr %t193 %t195 = load i32, ptr %t187 %t196 = load ptr, ptr %t0 %t197 = getelementptr inbounds %Cmp_Node, ptr %t196, i32 0, i32 7 %t198 = load ptr, ptr %t197 %t199 = load i32, ptr %t119 %t200 = getelementptr inbounds %LSlice, ptr %t198, i32 0, i32 0 %t201 = load ptr, ptr %t200 %t202 = getelementptr inbounds %LSlice, ptr %t198, i32 0, i32 1 %t203 = load i32, ptr %t202 %t204 = icmp ult i32 %t199, %t203 br i1 %t204, label %ixok34, label %ixbad35 ixbad35: store i32 1126, ptr @lp_site %t205 = call ptr @lp_win_stdio(i32 2) store i32 0, ptr @lp_site call i32 (ptr, ptr, ...) @fprintf(ptr %t205, ptr @.fmt_bounds, ptr @.str1726, i32 %t199, i32 %t203) call void @exit(i32 1) unreachable ixok34: %t206 = getelementptr inbounds ptr, ptr %t201, i32 %t199 %t207 = load ptr, ptr %t206 %t208 = getelementptr inbounds %Cmp_Node, ptr %t207, i32 0, i32 12 %t209 = load i32, ptr %t208 %t210 = icmp eq i32 %t209, 1 %t211 = zext i1 %t210 to i32 %t212 = call i32 @fn_mg_need(i32 %t194, i32 %t195, i32 %t211) br label %ifend33 ifend33: %t213 = load i32, ptr %t119 %t214 = add i32 %t213, 1 store i32 %t214, ptr %t119 br label %wcond18 wend20: br label %ifend17 ifend17: %t215 = load ptr, ptr %t0 %t216 = getelementptr inbounds %Cmp_Node, ptr %t215, i32 0, i32 15 %t217 = load i32, ptr %t216 store i32 %t217, ptr %retval br label %ret ret: %t218 = load i32, ptr %retval ret i32 %t218 } define i32 @fn_mg_state_named(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_ms_name %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_ms_name %t10 = load i32, ptr %t1 %t11 = getelementptr inbounds %LSlice, ptr %t9, i32 0, i32 0 %t12 = load ptr, ptr %t11 %t13 = getelementptr inbounds %LSlice, ptr %t9, i32 0, i32 1 %t14 = load i32, ptr %t13 %t15 = icmp ult i32 %t10, %t14 br i1 %t15, label %ixok3, label %ixbad4 ixbad4: store i32 1127, ptr @lp_site %t16 = call ptr @lp_win_stdio(i32 2) store i32 0, ptr @lp_site call i32 (ptr, ptr, ...) @fprintf(ptr %t16, ptr @.fmt_bounds, ptr @.str1727, i32 %t10, i32 %t14) call void @exit(i32 1) unreachable ixok3: %t17 = getelementptr inbounds ptr, ptr %t12, i32 %t10 %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 br i1 %t21, label %then5, label %ifend7 then5: %t22 = load i32, ptr %t1 store i32 %t22, ptr %retval br label %ret ifend7: %t23 = load i32, ptr %t1 %t24 = add i32 %t23, 1 store i32 %t24, ptr %t1 br label %wcond0 wend2: %t25 = load ptr, ptr @g_g_ms_mod %t26 = load ptr, ptr %t0 store i32 1128, ptr @lp_site %t27 = call ptr @lp_str_concat(ptr @.str1729, ptr %t26) store i32 0, ptr @lp_site %t28 = getelementptr inbounds %LSlice, ptr %t25, i32 0, i32 1 %t29 = getelementptr inbounds %LSlice, ptr %t25, i32 0, i32 2 %t30 = getelementptr inbounds %LSlice, ptr %t25, i32 0, i32 0 %t31 = load i32, ptr %t28 %t32 = load i32, ptr %t29 %t33 = icmp sge i32 %t31, %t32 br i1 %t33, label %grow8, label %put9 grow8: %t34 = mul i32 %t32, 2 %t35 = icmp eq i32 %t32, 0 %t36 = select i1 %t35, i32 8, i32 %t34 %t37 = getelementptr ptr, 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 store i32 1129, ptr @lp_site %t42 = call ptr @lp_realloc(ptr %t41, i64 %t40) store i32 0, ptr @lp_site store ptr %t42, ptr %t30 store i32 %t36, ptr %t29 br label %put9 put9: %t43 = load ptr, ptr %t30 %t44 = getelementptr inbounds ptr, ptr %t43, i32 %t31 store ptr %t27, ptr %t44 %t45 = add i32 %t31, 1 store i32 %t45, ptr %t28 %t46 = load ptr, ptr @g_g_ms_name %t47 = load ptr, ptr %t0 %t48 = getelementptr inbounds %LSlice, ptr %t46, i32 0, i32 1 %t49 = getelementptr inbounds %LSlice, ptr %t46, i32 0, i32 2 %t50 = getelementptr inbounds %LSlice, ptr %t46, i32 0, i32 0 %t51 = load i32, ptr %t48 %t52 = load i32, ptr %t49 %t53 = icmp sge i32 %t51, %t52 br i1 %t53, label %grow10, label %put11 grow10: %t54 = mul i32 %t52, 2 %t55 = icmp eq i32 %t52, 0 %t56 = select i1 %t55, i32 8, i32 %t54 %t57 = getelementptr ptr, ptr null, i32 1 %t58 = ptrtoint ptr %t57 to i64 %t59 = zext i32 %t56 to i64 %t60 = mul i64 %t59, %t58 %t61 = load ptr, ptr %t50 store i32 1130, ptr @lp_site %t62 = call ptr @lp_realloc(ptr %t61, i64 %t60) store i32 0, ptr @lp_site store ptr %t62, ptr %t50 store i32 %t56, ptr %t49 br label %put11 put11: %t63 = load ptr, ptr %t50 %t64 = getelementptr inbounds ptr, ptr %t63, i32 %t51 store ptr %t47, ptr %t64 %t65 = add i32 %t51, 1 store i32 %t65, ptr %t48 %t66 = load ptr, ptr @g_g_ms_param %t67 = load ptr, ptr %t0 %t68 = call ptr @fn_mg_param_for(ptr %t67) %t69 = getelementptr inbounds %LSlice, ptr %t66, i32 0, i32 1 %t70 = getelementptr inbounds %LSlice, ptr %t66, i32 0, i32 2 %t71 = getelementptr inbounds %LSlice, ptr %t66, i32 0, i32 0 %t72 = load i32, ptr %t69 %t73 = load i32, ptr %t70 %t74 = icmp sge i32 %t72, %t73 br i1 %t74, label %grow12, label %put13 grow12: %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 store i32 1131, ptr @lp_site %t83 = call ptr @lp_realloc(ptr %t82, i64 %t81) store i32 0, ptr @lp_site store ptr %t83, ptr %t71 store i32 %t77, ptr %t70 br label %put13 put13: %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 %t87 = load ptr, ptr @g_g_ms_export %t88 = getelementptr inbounds %LSlice, ptr %t87, i32 0, i32 1 %t89 = getelementptr inbounds %LSlice, ptr %t87, i32 0, i32 2 %t90 = getelementptr inbounds %LSlice, ptr %t87, i32 0, i32 0 %t91 = load i32, ptr %t88 %t92 = load i32, ptr %t89 %t93 = icmp sge i32 %t91, %t92 br i1 %t93, label %grow14, label %put15 grow14: %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 store i32 1132, ptr @lp_site %t102 = call ptr @lp_realloc(ptr %t101, i64 %t100) store i32 0, ptr @lp_site store ptr %t102, ptr %t90 store i32 %t96, ptr %t89 br label %put15 put15: %t103 = load ptr, ptr %t90 %t104 = getelementptr inbounds i32, ptr %t103, i32 %t91 store i32 0, ptr %t104 %t105 = add i32 %t91, 1 store i32 %t105, ptr %t88 %t106 = load ptr, ptr @g_g_ms_mod %t107 = getelementptr inbounds %LSlice, ptr %t106, i32 0, i32 1 %t108 = load i32, ptr %t107 %t109 = sub i32 %t108, 1 store i32 %t109, ptr %retval br label %ret ret: %t110 = load i32, ptr %retval ret i32 %t110 } define i32 @fn_mg_need(i32 %arg_u, i32 %arg_s, i32 %arg_m) { entry: %retval = alloca i32 %t0 = alloca i32 %t1 = alloca i32 %t2 = alloca i32 %t3 = alloca i32 %t8 = alloca ptr %t47 = alloca i32 store i32 %arg_u, ptr %t0 store i32 %arg_s, ptr %t1 store i32 %arg_m, ptr %t2 store i32 0, ptr %t3 %t4 = load i32, ptr %t1 %t5 = call ptr @fn_itoa(i32 %t4) store i32 1133, ptr @lp_site %t6 = call ptr @lp_str_concat(ptr @.str1730, ptr %t5) store i32 0, ptr @lp_site store i32 1134, ptr @lp_site %t7 = call ptr @lp_str_concat(ptr %t6, ptr @.str1732) store i32 0, ptr @lp_site call void @lp_free(ptr %t6) store ptr %t7, ptr %t8 %t9 = load ptr, ptr @g_g_mu_need %t10 = load i32, ptr %t0 %t11 = getelementptr inbounds %LSlice, ptr %t9, i32 0, i32 0 %t12 = load ptr, ptr %t11 %t13 = getelementptr inbounds %LSlice, ptr %t9, i32 0, i32 1 %t14 = load i32, ptr %t13 %t15 = icmp ult i32 %t10, %t14 br i1 %t15, label %ixok0, label %ixbad1 ixbad1: store i32 1135, ptr @lp_site %t16 = call ptr @lp_win_stdio(i32 2) store i32 0, ptr @lp_site call i32 (ptr, ptr, ...) @fprintf(ptr %t16, ptr @.fmt_bounds, ptr @.str1733, i32 %t10, i32 %t14) call void @exit(i32 1) unreachable ixok0: %t17 = getelementptr inbounds ptr, ptr %t12, i32 %t10 %t18 = load ptr, ptr %t17 %t19 = load ptr, ptr %t8 %t20 = call i32 @fn_has_sub(ptr %t18, ptr %t19) %t21 = icmp eq i32 %t20, 0 %t22 = zext i1 %t21 to i32 %t23 = icmp ne i32 %t22, 0 br i1 %t23, label %then2, label %ifend4 then2: %t24 = load ptr, ptr @g_g_mu_need %t25 = load i32, ptr %t0 %t26 = getelementptr inbounds %LSlice, ptr %t24, i32 0, i32 0 %t27 = load ptr, ptr %t26 %t28 = getelementptr inbounds %LSlice, ptr %t24, i32 0, i32 1 %t29 = load i32, ptr %t28 %t30 = icmp ult i32 %t25, %t29 br i1 %t30, label %ixok5, label %ixbad6 ixbad6: store i32 1136, ptr @lp_site %t31 = call ptr @lp_win_stdio(i32 2) store i32 0, ptr @lp_site call i32 (ptr, ptr, ...) @fprintf(ptr %t31, ptr @.fmt_bounds, ptr @.str1734, i32 %t25, i32 %t29) call void @exit(i32 1) unreachable ixok5: %t32 = getelementptr inbounds ptr, ptr %t27, i32 %t25 %t33 = load ptr, ptr @g_g_mu_need %t34 = load i32, ptr %t0 %t35 = getelementptr inbounds %LSlice, ptr %t33, i32 0, i32 0 %t36 = load ptr, ptr %t35 %t37 = getelementptr inbounds %LSlice, ptr %t33, i32 0, i32 1 %t38 = load i32, ptr %t37 %t39 = icmp ult i32 %t34, %t38 br i1 %t39, label %ixok7, label %ixbad8 ixbad8: store i32 1137, ptr @lp_site %t40 = call ptr @lp_win_stdio(i32 2) store i32 0, ptr @lp_site call i32 (ptr, ptr, ...) @fprintf(ptr %t40, ptr @.fmt_bounds, ptr @.str1735, i32 %t34, i32 %t38) call void @exit(i32 1) unreachable ixok7: %t41 = getelementptr inbounds ptr, ptr %t36, i32 %t34 %t42 = load ptr, ptr %t41 %t43 = load i32, ptr %t1 %t44 = call ptr @fn_itoa(i32 %t43) store i32 1138, ptr @lp_site %t45 = call ptr @lp_str_concat(ptr %t42, ptr %t44) store i32 0, ptr @lp_site store i32 1139, ptr @lp_site %t46 = call ptr @lp_str_concat(ptr %t45, ptr @.str1736) store i32 0, ptr @lp_site call void @lp_free(ptr %t45) store ptr %t46, ptr %t32 store i32 1, ptr %t3 br label %ifend4 ifend4: %t48 = load i32, ptr %t2 %t49 = icmp ne i32 %t48, 0 %t50 = zext i1 %t49 to i32 store i32 %t50, ptr %t47 br i1 %t49, label %sc9, label %scend10 sc9: %t51 = load ptr, ptr @g_g_mu_mut %t52 = load i32, ptr %t0 %t53 = getelementptr inbounds %LSlice, ptr %t51, i32 0, i32 0 %t54 = load ptr, ptr %t53 %t55 = getelementptr inbounds %LSlice, ptr %t51, i32 0, i32 1 %t56 = load i32, ptr %t55 %t57 = icmp ult i32 %t52, %t56 br i1 %t57, label %ixok11, label %ixbad12 ixbad12: store i32 1140, ptr @lp_site %t58 = call ptr @lp_win_stdio(i32 2) store i32 0, ptr @lp_site call i32 (ptr, ptr, ...) @fprintf(ptr %t58, ptr @.fmt_bounds, ptr @.str1737, i32 %t52, i32 %t56) call void @exit(i32 1) unreachable ixok11: %t59 = getelementptr inbounds ptr, ptr %t54, i32 %t52 %t60 = load ptr, ptr %t59 %t61 = load ptr, ptr %t8 %t62 = call i32 @fn_has_sub(ptr %t60, ptr %t61) %t63 = icmp eq i32 %t62, 0 %t64 = zext i1 %t63 to i32 %t65 = icmp ne i32 %t64, 0 %t66 = zext i1 %t65 to i32 store i32 %t66, ptr %t47 br label %scend10 scend10: %t67 = load i32, ptr %t47 %t68 = icmp ne i32 %t67, 0 br i1 %t68, label %then13, label %ifend15 then13: %t69 = load ptr, ptr @g_g_mu_mut %t70 = load i32, ptr %t0 %t71 = getelementptr inbounds %LSlice, ptr %t69, i32 0, i32 0 %t72 = load ptr, ptr %t71 %t73 = getelementptr inbounds %LSlice, ptr %t69, i32 0, i32 1 %t74 = load i32, ptr %t73 %t75 = icmp ult i32 %t70, %t74 br i1 %t75, label %ixok16, label %ixbad17 ixbad17: store i32 1141, ptr @lp_site %t76 = call ptr @lp_win_stdio(i32 2) store i32 0, ptr @lp_site call i32 (ptr, ptr, ...) @fprintf(ptr %t76, ptr @.fmt_bounds, ptr @.str1738, i32 %t70, i32 %t74) call void @exit(i32 1) unreachable ixok16: %t77 = getelementptr inbounds ptr, ptr %t72, i32 %t70 %t78 = load ptr, ptr @g_g_mu_mut %t79 = load i32, ptr %t0 %t80 = getelementptr inbounds %LSlice, ptr %t78, i32 0, i32 0 %t81 = load ptr, ptr %t80 %t82 = getelementptr inbounds %LSlice, ptr %t78, i32 0, i32 1 %t83 = load i32, ptr %t82 %t84 = icmp ult i32 %t79, %t83 br i1 %t84, label %ixok18, label %ixbad19 ixbad19: store i32 1142, ptr @lp_site %t85 = call ptr @lp_win_stdio(i32 2) store i32 0, ptr @lp_site call i32 (ptr, ptr, ...) @fprintf(ptr %t85, ptr @.fmt_bounds, ptr @.str1739, i32 %t79, i32 %t83) call void @exit(i32 1) unreachable ixok18: %t86 = getelementptr inbounds ptr, ptr %t81, i32 %t79 %t87 = load ptr, ptr %t86 %t88 = load i32, ptr %t1 %t89 = call ptr @fn_itoa(i32 %t88) store i32 1143, ptr @lp_site %t90 = call ptr @lp_str_concat(ptr %t87, ptr %t89) store i32 0, ptr @lp_site store i32 1144, ptr @lp_site %t91 = call ptr @lp_str_concat(ptr %t90, ptr @.str1740) store i32 0, ptr @lp_site call void @lp_free(ptr %t90) store ptr %t91, ptr %t77 store i32 1, ptr %t3 br label %ifend15 ifend15: %t92 = load i32, ptr %t3 store i32 %t92, ptr %retval br label %ret ret: %t93 = load i32, ptr %retval ret i32 %t93 } define void @fn_mg_enter(ptr %arg_n, i32 %arg_kind) { entry: %t0 = alloca ptr %t1 = alloca i32 store ptr %arg_n, ptr %t0 store i32 %arg_kind, ptr %t1 %t2 = load i32, ptr @g_g_migrate %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 = load ptr, ptr %t0 %t7 = load i32, ptr %t1 %t8 = call i32 @fn_mg_unit(ptr %t6, i32 %t7) store i32 %t8, ptr @g_g_mg_cur br label %ret ret: ret void } define void @fn_mg_leave() { entry: %t0 = sub i32 0, 1 store i32 %t0, ptr @g_g_mg_cur br label %ret ret: ret void } define void @fn_mg_ref(ptr %arg_e, ptr %arg_g) { entry: %t0 = alloca ptr %t1 = alloca ptr %t2 = alloca i32 %t3 = alloca i32 %t4 = alloca i32 store ptr %arg_e, ptr %t0 store ptr %arg_g, ptr %t1 %t5 = load i32, ptr @g_g_migrate %t6 = icmp eq i32 %t5, 0 %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 ptr, ptr %t1 %t11 = icmp eq ptr %t10, null %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 ptr, ptr %t1 %t19 = getelementptr inbounds %Cmp_Node, ptr %t18, i32 0, i32 0 %t20 = load i32, ptr %t19 %t21 = icmp ne i32 %t20, 2 %t22 = zext i1 %t21 to i32 %t23 = icmp ne i32 %t22, 0 %t24 = zext i1 %t23 to i32 store i32 %t24, ptr %t3 br label %scend3 scend3: %t25 = load i32, ptr %t3 %t26 = icmp ne i32 %t25, 0 %t27 = zext i1 %t26 to i32 store i32 %t27, ptr %t2 br i1 %t26, label %scend5, label %sc4 sc4: %t28 = load ptr, ptr %t1 %t29 = getelementptr inbounds %Cmp_Node, ptr %t28, i32 0, i32 15 %t30 = load i32, ptr %t29 %t31 = icmp slt i32 %t30, 0 %t32 = zext i1 %t31 to i32 %t33 = icmp ne i32 %t32, 0 %t34 = zext i1 %t33 to i32 store i32 %t34, ptr %t2 br label %scend5 scend5: %t35 = load i32, ptr %t2 %t36 = icmp ne i32 %t35, 0 br i1 %t36, label %then6, label %ifend8 then6: br label %ret ifend8: %t37 = load ptr, ptr @g_g_mr_node %t38 = load ptr, ptr %t0 %t39 = getelementptr inbounds %LSlice, ptr %t37, i32 0, i32 1 %t40 = getelementptr inbounds %LSlice, ptr %t37, i32 0, i32 2 %t41 = getelementptr inbounds %LSlice, ptr %t37, i32 0, i32 0 %t42 = load i32, ptr %t39 %t43 = load i32, ptr %t40 %t44 = icmp sge i32 %t42, %t43 br i1 %t44, label %grow9, label %put10 grow9: %t45 = mul i32 %t43, 2 %t46 = icmp eq i32 %t43, 0 %t47 = select i1 %t46, i32 8, i32 %t45 %t48 = getelementptr ptr, ptr null, i32 1 %t49 = ptrtoint ptr %t48 to i64 %t50 = zext i32 %t47 to i64 %t51 = mul i64 %t50, %t49 %t52 = load ptr, ptr %t41 store i32 1145, ptr @lp_site %t53 = call ptr @lp_realloc(ptr %t52, i64 %t51) store i32 0, ptr @lp_site store ptr %t53, ptr %t41 store i32 %t47, ptr %t40 br label %put10 put10: %t54 = load ptr, ptr %t41 %t55 = getelementptr inbounds ptr, ptr %t54, i32 %t42 store ptr %t38, ptr %t55 %t56 = add i32 %t42, 1 store i32 %t56, ptr %t39 %t57 = load ptr, ptr @g_g_mr_var %t58 = load ptr, ptr %t1 %t59 = getelementptr inbounds %Cmp_Node, ptr %t58, i32 0, i32 15 %t60 = load i32, ptr %t59 %t61 = getelementptr inbounds %LSlice, ptr %t57, i32 0, i32 1 %t62 = getelementptr inbounds %LSlice, ptr %t57, i32 0, i32 2 %t63 = getelementptr inbounds %LSlice, ptr %t57, i32 0, i32 0 %t64 = load i32, ptr %t61 %t65 = load i32, ptr %t62 %t66 = icmp sge i32 %t64, %t65 br i1 %t66, label %grow11, label %put12 grow11: %t67 = mul i32 %t65, 2 %t68 = icmp eq i32 %t65, 0 %t69 = select i1 %t68, i32 8, i32 %t67 %t70 = getelementptr i32, 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 store i32 1146, ptr @lp_site %t75 = call ptr @lp_realloc(ptr %t74, i64 %t73) store i32 0, ptr @lp_site store ptr %t75, ptr %t63 store i32 %t69, ptr %t62 br label %put12 put12: %t76 = load ptr, ptr %t63 %t77 = getelementptr inbounds i32, ptr %t76, i32 %t64 store i32 %t60, ptr %t77 %t78 = add i32 %t64, 1 store i32 %t78, ptr %t61 %t79 = load ptr, ptr @g_g_mr_unit %t80 = load i32, ptr @g_g_mg_cur %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 %grow13, label %put14 grow13: %t87 = mul i32 %t85, 2 %t88 = icmp eq i32 %t85, 0 %t89 = select i1 %t88, i32 8, i32 %t87 %t90 = getelementptr i32, 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 store i32 1147, ptr @lp_site %t95 = call ptr @lp_realloc(ptr %t94, i64 %t93) store i32 0, ptr @lp_site store ptr %t95, ptr %t83 store i32 %t89, ptr %t82 br label %put14 put14: %t96 = load ptr, ptr %t83 %t97 = getelementptr inbounds i32, ptr %t96, i32 %t84 store i32 %t80, ptr %t97 %t98 = add i32 %t84, 1 store i32 %t98, ptr %t81 %t99 = load i32, ptr @g_g_mg_cur %t100 = sub i32 0, 3 %t101 = icmp eq i32 %t99, %t100 %t102 = zext i1 %t101 to i32 %t103 = icmp ne i32 %t102, 0 br i1 %t103, label %then15, label %else16 then15: %t104 = load ptr, ptr @g_g_mr_ui %t105 = getelementptr inbounds %LSlice, ptr %t104, i32 0, i32 1 %t106 = getelementptr inbounds %LSlice, ptr %t104, i32 0, i32 2 %t107 = getelementptr inbounds %LSlice, ptr %t104, i32 0, i32 0 %t108 = load i32, ptr %t105 %t109 = load i32, ptr %t106 %t110 = icmp sge i32 %t108, %t109 br i1 %t110, label %grow18, label %put19 grow18: %t111 = mul i32 %t109, 2 %t112 = icmp eq i32 %t109, 0 %t113 = select i1 %t112, i32 8, i32 %t111 %t114 = getelementptr i32, ptr null, i32 1 %t115 = ptrtoint ptr %t114 to i64 %t116 = zext i32 %t113 to i64 %t117 = mul i64 %t116, %t115 %t118 = load ptr, ptr %t107 store i32 1148, ptr @lp_site %t119 = call ptr @lp_realloc(ptr %t118, i64 %t117) store i32 0, ptr @lp_site store ptr %t119, ptr %t107 store i32 %t113, ptr %t106 br label %put19 put19: %t120 = load ptr, ptr %t107 %t121 = getelementptr inbounds i32, ptr %t120, i32 %t108 store i32 1, ptr %t121 %t122 = add i32 %t108, 1 store i32 %t122, ptr %t105 br label %ifend17 else16: %t123 = load ptr, ptr @g_g_mr_ui %t124 = getelementptr inbounds %LSlice, ptr %t123, i32 0, i32 1 %t125 = getelementptr inbounds %LSlice, ptr %t123, i32 0, i32 2 %t126 = getelementptr inbounds %LSlice, ptr %t123, i32 0, i32 0 %t127 = load i32, ptr %t124 %t128 = load i32, ptr %t125 %t129 = icmp sge i32 %t127, %t128 br i1 %t129, label %grow20, label %put21 grow20: %t130 = mul i32 %t128, 2 %t131 = icmp eq i32 %t128, 0 %t132 = select i1 %t131, i32 8, i32 %t130 %t133 = getelementptr i32, ptr null, i32 1 %t134 = ptrtoint ptr %t133 to i64 %t135 = zext i32 %t132 to i64 %t136 = mul i64 %t135, %t134 %t137 = load ptr, ptr %t126 store i32 1149, ptr @lp_site %t138 = call ptr @lp_realloc(ptr %t137, i64 %t136) store i32 0, ptr @lp_site store ptr %t138, ptr %t126 store i32 %t132, ptr %t125 br label %put21 put21: %t139 = load ptr, ptr %t126 %t140 = getelementptr inbounds i32, ptr %t139, i32 %t127 store i32 0, ptr %t140 %t141 = add i32 %t127, 1 store i32 %t141, ptr %t124 br label %ifend17 ifend17: br label %ret ret: ret void } define void @fn_mg_write(ptr %arg_t, ptr %arg_g) { entry: %t0 = alloca ptr %t1 = alloca ptr %t2 = alloca i32 %t3 = alloca i32 %t4 = alloca i32 %t48 = alloca i32 %t49 = alloca i32 store ptr %arg_t, ptr %t0 store ptr %arg_g, ptr %t1 %t5 = load i32, ptr @g_g_migrate %t6 = icmp eq i32 %t5, 0 %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 ptr, ptr %t1 %t11 = icmp eq ptr %t10, null %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 ptr, ptr %t1 %t19 = getelementptr inbounds %Cmp_Node, ptr %t18, i32 0, i32 0 %t20 = load i32, ptr %t19 %t21 = icmp ne i32 %t20, 2 %t22 = zext i1 %t21 to i32 %t23 = icmp ne i32 %t22, 0 %t24 = zext i1 %t23 to i32 store i32 %t24, ptr %t3 br label %scend3 scend3: %t25 = load i32, ptr %t3 %t26 = icmp ne i32 %t25, 0 %t27 = zext i1 %t26 to i32 store i32 %t27, ptr %t2 br i1 %t26, label %scend5, label %sc4 sc4: %t28 = load ptr, ptr %t1 %t29 = getelementptr inbounds %Cmp_Node, ptr %t28, i32 0, i32 15 %t30 = load i32, ptr %t29 %t31 = icmp slt i32 %t30, 0 %t32 = zext i1 %t31 to i32 %t33 = icmp ne i32 %t32, 0 %t34 = zext i1 %t33 to i32 store i32 %t34, ptr %t2 br label %scend5 scend5: %t35 = load i32, ptr %t2 %t36 = icmp ne i32 %t35, 0 br i1 %t36, label %then6, label %ifend8 then6: br label %ret ifend8: %t37 = load ptr, ptr @g_g_mg_written %t38 = load ptr, ptr %t1 %t39 = getelementptr inbounds %Cmp_Node, ptr %t38, i32 0, i32 15 %t40 = load i32, ptr %t39 %t41 = getelementptr inbounds %LSlice, ptr %t37, i32 0, i32 0 %t42 = load ptr, ptr %t41 %t43 = getelementptr inbounds %LSlice, ptr %t37, i32 0, i32 1 %t44 = load i32, ptr %t43 %t45 = icmp ult i32 %t40, %t44 br i1 %t45, label %ixok9, label %ixbad10 ixbad10: store i32 1150, ptr @lp_site %t46 = call ptr @lp_win_stdio(i32 2) store i32 0, ptr @lp_site call i32 (ptr, ptr, ...) @fprintf(ptr %t46, ptr @.fmt_bounds, ptr @.str1742, i32 %t40, i32 %t44) call void @exit(i32 1) unreachable ixok9: %t47 = getelementptr inbounds i32, ptr %t42, i32 %t40 store i32 1, ptr %t47 %t50 = load ptr, ptr %t1 %t51 = getelementptr inbounds %Cmp_Node, ptr %t50, i32 0, i32 9 %t52 = load ptr, ptr %t51 %t53 = call i32 @fn_is_runtime_file(ptr %t52) %t54 = icmp ne i32 %t53, 0 %t55 = zext i1 %t54 to i32 store i32 %t55, ptr %t49 br i1 %t54, label %sc11, label %scend12 sc11: %t56 = load ptr, ptr %t0 %t57 = icmp ne ptr %t56, null %t58 = zext i1 %t57 to i32 %t59 = icmp ne i32 %t58, 0 %t60 = zext i1 %t59 to i32 store i32 %t60, ptr %t49 br label %scend12 scend12: %t61 = load i32, ptr %t49 %t62 = icmp ne i32 %t61, 0 %t63 = zext i1 %t62 to i32 store i32 %t63, ptr %t48 br i1 %t62, label %sc13, label %scend14 sc13: %t64 = load ptr, ptr %t0 %t65 = getelementptr inbounds %Cmp_Node, ptr %t64, i32 0, i32 9 %t66 = load ptr, ptr %t65 %t67 = call i32 @fn_is_runtime_file(ptr %t66) %t68 = icmp eq i32 %t67, 0 %t69 = zext i1 %t68 to i32 %t70 = icmp ne i32 %t69, 0 %t71 = zext i1 %t70 to i32 store i32 %t71, ptr %t48 br label %scend14 scend14: %t72 = load i32, ptr %t48 %t73 = icmp ne i32 %t72, 0 br i1 %t73, label %then15, label %ifend17 then15: %t74 = load ptr, ptr %t0 %t75 = load ptr, ptr %t1 %t76 = getelementptr inbounds %Cmp_Node, ptr %t75, i32 0, i32 1 %t77 = load ptr, ptr %t76 %t78 = call ptr @fn_mg_src_name(ptr %t77) store i32 1151, ptr @lp_site %t79 = call ptr @lp_str_concat(ptr %t78, ptr @.str1744) store i32 0, ptr @lp_site call void @fn_mg_say(ptr %t74, ptr %t79) br label %ret ifend17: %t80 = load i32, ptr @g_g_mg_cur %t81 = icmp sge i32 %t80, 0 %t82 = zext i1 %t81 to i32 %t83 = icmp ne i32 %t82, 0 br i1 %t83, label %then18, label %ifend20 then18: %t84 = load i32, ptr @g_g_mg_cur %t85 = load ptr, ptr @g_g_mg_vstate %t86 = load ptr, ptr %t1 %t87 = getelementptr inbounds %Cmp_Node, ptr %t86, i32 0, i32 15 %t88 = load i32, ptr %t87 %t89 = getelementptr inbounds %LSlice, ptr %t85, i32 0, i32 0 %t90 = load ptr, ptr %t89 %t91 = getelementptr inbounds %LSlice, ptr %t85, i32 0, i32 1 %t92 = load i32, ptr %t91 %t93 = icmp ult i32 %t88, %t92 br i1 %t93, label %ixok21, label %ixbad22 ixbad22: store i32 1152, ptr @lp_site %t94 = call ptr @lp_win_stdio(i32 2) store i32 0, ptr @lp_site call i32 (ptr, ptr, ...) @fprintf(ptr %t94, ptr @.fmt_bounds, ptr @.str1745, i32 %t88, i32 %t92) call void @exit(i32 1) unreachable ixok21: %t95 = getelementptr inbounds i32, ptr %t90, i32 %t88 %t96 = load i32, ptr %t95 %t97 = call i32 @fn_mg_need(i32 %t84, i32 %t96, i32 1) br label %ifend20 ifend20: br label %ret ret: ret void } define void @fn_mg_decide_lets() { entry: %t0 = alloca i32 %t18 = alloca ptr %t19 = alloca i32 %t20 = alloca i32 %t21 = alloca i32 %t22 = alloca i32 %t93 = alloca i32 %t101 = alloca i32 store i32 0, ptr %t0 br label %wcond0 wcond0: %t1 = load i32, ptr %t0 %t2 = load ptr, ptr @g_g_mg_vars %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_mg_vars %t9 = load i32, ptr %t0 %t10 = getelementptr inbounds %LSlice, ptr %t8, i32 0, i32 0 %t11 = load ptr, ptr %t10 %t12 = getelementptr inbounds %LSlice, ptr %t8, i32 0, i32 1 %t13 = load i32, ptr %t12 %t14 = icmp ult i32 %t9, %t13 br i1 %t14, label %ixok3, label %ixbad4 ixbad4: store i32 1153, ptr @lp_site %t15 = call ptr @lp_win_stdio(i32 2) store i32 0, ptr @lp_site call i32 (ptr, ptr, ...) @fprintf(ptr %t15, ptr @.fmt_bounds, ptr @.str1746, i32 %t9, i32 %t13) call void @exit(i32 1) unreachable ixok3: %t16 = getelementptr inbounds ptr, ptr %t11, i32 %t9 %t17 = load ptr, ptr %t16 store ptr %t17, ptr %t18 %t23 = load ptr, ptr @g_g_mg_let %t24 = load i32, ptr %t0 %t25 = getelementptr inbounds %LSlice, ptr %t23, i32 0, i32 0 %t26 = load ptr, ptr %t25 %t27 = getelementptr inbounds %LSlice, ptr %t23, i32 0, i32 1 %t28 = load i32, ptr %t27 %t29 = icmp ult i32 %t24, %t28 br i1 %t29, label %ixok5, label %ixbad6 ixbad6: store i32 1154, ptr @lp_site %t30 = call ptr @lp_win_stdio(i32 2) store i32 0, ptr @lp_site call i32 (ptr, ptr, ...) @fprintf(ptr %t30, ptr @.fmt_bounds, ptr @.str1748, i32 %t24, i32 %t28) call void @exit(i32 1) unreachable ixok5: %t31 = getelementptr inbounds i32, ptr %t26, i32 %t24 %t32 = load i32, ptr %t31 %t33 = icmp eq i32 %t32, 0 %t34 = zext i1 %t33 to i32 %t35 = icmp ne i32 %t34, 0 %t36 = zext i1 %t35 to i32 store i32 %t36, ptr %t22 br i1 %t35, label %sc7, label %scend8 sc7: %t37 = load ptr, ptr @g_g_mg_written %t38 = load i32, ptr %t0 %t39 = getelementptr inbounds %LSlice, ptr %t37, i32 0, i32 0 %t40 = load ptr, ptr %t39 %t41 = getelementptr inbounds %LSlice, ptr %t37, i32 0, i32 1 %t42 = load i32, ptr %t41 %t43 = icmp ult i32 %t38, %t42 br i1 %t43, label %ixok9, label %ixbad10 ixbad10: store i32 1155, ptr @lp_site %t44 = call ptr @lp_win_stdio(i32 2) store i32 0, ptr @lp_site call i32 (ptr, ptr, ...) @fprintf(ptr %t44, ptr @.fmt_bounds, ptr @.str1749, i32 %t38, i32 %t42) call void @exit(i32 1) unreachable ixok9: %t45 = getelementptr inbounds i32, ptr %t40, i32 %t38 %t46 = load i32, ptr %t45 %t47 = icmp eq i32 %t46, 0 %t48 = zext i1 %t47 to i32 %t49 = icmp ne i32 %t48, 0 %t50 = zext i1 %t49 to i32 store i32 %t50, ptr %t22 br label %scend8 scend8: %t51 = load i32, ptr %t22 %t52 = icmp ne i32 %t51, 0 %t53 = zext i1 %t52 to i32 store i32 %t53, ptr %t21 br i1 %t52, label %sc11, label %scend12 sc11: %t54 = load ptr, ptr %t18 %t55 = getelementptr inbounds %Cmp_Node, ptr %t54, i32 0, i32 3 %t56 = load ptr, ptr %t55 %t57 = call i32 @fn_mg_value_ty(ptr %t56) %t58 = icmp ne i32 %t57, 0 %t59 = zext i1 %t58 to i32 store i32 %t59, ptr %t21 br label %scend12 scend12: %t60 = load i32, ptr %t21 %t61 = icmp ne i32 %t60, 0 %t62 = zext i1 %t61 to i32 store i32 %t62, ptr %t20 br i1 %t61, label %sc13, label %scend14 sc13: %t63 = load ptr, ptr %t18 %t64 = getelementptr inbounds %Cmp_Node, ptr %t63, i32 0, i32 1 %t65 = load ptr, ptr %t64 %t66 = call i32 @fn_mg_bound_var(ptr %t65) %t67 = icmp eq 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 %t20 br label %scend14 scend14: %t71 = load i32, ptr %t20 %t72 = icmp ne i32 %t71, 0 %t73 = zext i1 %t72 to i32 store i32 %t73, ptr %t19 br i1 %t72, label %sc15, label %scend16 sc15: %t74 = load ptr, ptr %t18 %t75 = call i32 @fn_mg_knob(ptr %t74) %t76 = icmp eq i32 %t75, 0 %t77 = zext i1 %t76 to i32 %t78 = icmp ne i32 %t77, 0 %t79 = zext i1 %t78 to i32 store i32 %t79, ptr %t19 br label %scend16 scend16: %t80 = load i32, ptr %t19 %t81 = icmp ne i32 %t80, 0 br i1 %t81, label %then17, label %ifend19 then17: %t82 = load ptr, ptr @g_g_mg_let %t83 = load i32, ptr %t0 %t84 = getelementptr inbounds %LSlice, ptr %t82, i32 0, i32 0 %t85 = load ptr, ptr %t84 %t86 = getelementptr inbounds %LSlice, ptr %t82, i32 0, i32 1 %t87 = load i32, ptr %t86 %t88 = icmp ult i32 %t83, %t87 br i1 %t88, label %ixok20, label %ixbad21 ixbad21: store i32 1156, ptr @lp_site %t89 = call ptr @lp_win_stdio(i32 2) store i32 0, ptr @lp_site call i32 (ptr, ptr, ...) @fprintf(ptr %t89, ptr @.fmt_bounds, ptr @.str1750, i32 %t83, i32 %t87) call void @exit(i32 1) unreachable ixok20: %t90 = getelementptr inbounds i32, ptr %t85, i32 %t83 store i32 1, ptr %t90 br label %ifend19 ifend19: %t91 = load i32, ptr %t0 %t92 = add i32 %t91, 1 store i32 %t92, ptr %t0 br label %wcond0 wend2: store i32 0, ptr %t93 br label %wcond22 wcond22: %t94 = load i32, ptr %t93 %t95 = load ptr, ptr @g_g_mr_node %t96 = getelementptr inbounds %LSlice, ptr %t95, i32 0, i32 1 %t97 = load i32, ptr %t96 %t98 = icmp slt i32 %t94, %t97 %t99 = zext i1 %t98 to i32 %t100 = icmp ne i32 %t99, 0 br i1 %t100, label %wbody23, label %wend24 wbody23: %t102 = load ptr, ptr @g_g_mr_node %t103 = load i32, ptr %t93 %t104 = getelementptr inbounds %LSlice, ptr %t102, i32 0, i32 0 %t105 = load ptr, ptr %t104 %t106 = getelementptr inbounds %LSlice, ptr %t102, i32 0, i32 1 %t107 = load i32, ptr %t106 %t108 = icmp ult i32 %t103, %t107 br i1 %t108, label %ixok25, label %ixbad26 ixbad26: store i32 1157, ptr @lp_site %t109 = call ptr @lp_win_stdio(i32 2) store i32 0, ptr @lp_site call i32 (ptr, ptr, ...) @fprintf(ptr %t109, ptr @.fmt_bounds, ptr @.str1751, i32 %t103, i32 %t107) call void @exit(i32 1) unreachable ixok25: %t110 = getelementptr inbounds ptr, ptr %t105, i32 %t103 %t111 = load ptr, ptr %t110 %t112 = getelementptr inbounds %Cmp_Node, ptr %t111, i32 0, i32 13 %t113 = load i32, ptr %t112 %t114 = icmp slt i32 %t113, 0 %t115 = zext i1 %t114 to i32 %t116 = icmp ne i32 %t115, 0 %t117 = zext i1 %t116 to i32 store i32 %t117, ptr %t101 br i1 %t116, label %sc27, label %scend28 sc27: %t118 = load ptr, ptr @g_g_mg_let %t119 = load ptr, ptr @g_g_mr_var %t120 = load i32, ptr %t93 %t121 = getelementptr inbounds %LSlice, ptr %t119, i32 0, i32 0 %t122 = load ptr, ptr %t121 %t123 = getelementptr inbounds %LSlice, ptr %t119, i32 0, i32 1 %t124 = load i32, ptr %t123 %t125 = icmp ult i32 %t120, %t124 br i1 %t125, label %ixok29, label %ixbad30 ixbad30: store i32 1158, ptr @lp_site %t126 = call ptr @lp_win_stdio(i32 2) store i32 0, ptr @lp_site call i32 (ptr, ptr, ...) @fprintf(ptr %t126, ptr @.fmt_bounds, ptr @.str1752, i32 %t120, i32 %t124) call void @exit(i32 1) unreachable ixok29: %t127 = getelementptr inbounds i32, ptr %t122, i32 %t120 %t128 = load i32, ptr %t127 %t129 = getelementptr inbounds %LSlice, ptr %t118, i32 0, i32 0 %t130 = load ptr, ptr %t129 %t131 = getelementptr inbounds %LSlice, ptr %t118, i32 0, i32 1 %t132 = load i32, ptr %t131 %t133 = icmp ult i32 %t128, %t132 br i1 %t133, label %ixok31, label %ixbad32 ixbad32: store i32 1159, ptr @lp_site %t134 = call ptr @lp_win_stdio(i32 2) store i32 0, ptr @lp_site call i32 (ptr, ptr, ...) @fprintf(ptr %t134, ptr @.fmt_bounds, ptr @.str1753, i32 %t128, i32 %t132) call void @exit(i32 1) unreachable ixok31: %t135 = getelementptr inbounds i32, ptr %t130, i32 %t128 %t136 = load i32, ptr %t135 %t137 = icmp eq i32 %t136, 1 %t138 = zext i1 %t137 to i32 %t139 = icmp ne i32 %t138, 0 %t140 = zext i1 %t139 to i32 store i32 %t140, ptr %t101 br label %scend28 scend28: %t141 = load i32, ptr %t101 %t142 = icmp ne i32 %t141, 0 br i1 %t142, label %then33, label %ifend35 then33: %t143 = load ptr, ptr @g_g_mg_let %t144 = load ptr, ptr @g_g_mr_var %t145 = load i32, ptr %t93 %t146 = getelementptr inbounds %LSlice, ptr %t144, i32 0, i32 0 %t147 = load ptr, ptr %t146 %t148 = getelementptr inbounds %LSlice, ptr %t144, i32 0, i32 1 %t149 = load i32, ptr %t148 %t150 = icmp ult i32 %t145, %t149 br i1 %t150, label %ixok36, label %ixbad37 ixbad37: store i32 1160, ptr @lp_site %t151 = call ptr @lp_win_stdio(i32 2) store i32 0, ptr @lp_site call i32 (ptr, ptr, ...) @fprintf(ptr %t151, ptr @.fmt_bounds, ptr @.str1754, i32 %t145, i32 %t149) call void @exit(i32 1) unreachable ixok36: %t152 = getelementptr inbounds i32, ptr %t147, i32 %t145 %t153 = load i32, ptr %t152 %t154 = getelementptr inbounds %LSlice, ptr %t143, i32 0, i32 0 %t155 = load ptr, ptr %t154 %t156 = getelementptr inbounds %LSlice, ptr %t143, i32 0, i32 1 %t157 = load i32, ptr %t156 %t158 = icmp ult i32 %t153, %t157 br i1 %t158, label %ixok38, label %ixbad39 ixbad39: store i32 1161, ptr @lp_site %t159 = call ptr @lp_win_stdio(i32 2) store i32 0, ptr @lp_site call i32 (ptr, ptr, ...) @fprintf(ptr %t159, ptr @.fmt_bounds, ptr @.str1755, i32 %t153, i32 %t157) call void @exit(i32 1) unreachable ixok38: %t160 = getelementptr inbounds i32, ptr %t155, i32 %t153 store i32 0, ptr %t160 br label %ifend35 ifend35: %t161 = load i32, ptr %t93 %t162 = add i32 %t161, 1 store i32 %t162, ptr %t93 br label %wcond22 wend24: br label %ret ret: ret void } define i32 @fn_mg_knob(ptr %arg_v) { entry: %retval = alloca i32 %t0 = alloca ptr %t5 = alloca ptr %t6 = alloca i32 %t7 = alloca i32 %t8 = alloca i32 %t37 = alloca i32 store ptr %arg_v, ptr %t0 %t1 = load ptr, ptr %t0 %t2 = getelementptr inbounds %Cmp_Node, ptr %t1, i32 0, i32 9 %t3 = load ptr, ptr %t2 %t4 = call ptr @fn_mg_norm(ptr %t3) store ptr %t4, ptr %t5 %t9 = load ptr, ptr %t0 %t10 = getelementptr inbounds %Cmp_Node, ptr %t9, i32 0, i32 9 %t11 = load ptr, ptr %t10 %t12 = call ptr @fn_pkg_of_file(ptr %t11) %t13 = call i32 @lp_str_eq(ptr %t12, ptr @.str1756) %t14 = icmp eq i32 %t13, 0 %t15 = zext i1 %t14 to i32 %t16 = icmp ne i32 %t15, 0 %t17 = zext i1 %t16 to i32 store i32 %t17, ptr %t8 br i1 %t16, label %scend1, label %sc0 sc0: %t18 = load ptr, ptr %t5 %t19 = call i32 @fn_s_has_prefix(ptr %t18, ptr @.str1757) %t20 = icmp ne i32 %t19, 0 %t21 = zext i1 %t20 to i32 store i32 %t21, ptr %t8 br label %scend1 scend1: %t22 = load i32, ptr %t8 %t23 = icmp ne i32 %t22, 0 %t24 = zext i1 %t23 to i32 store i32 %t24, ptr %t7 br i1 %t23, label %scend3, label %sc2 sc2: %t25 = load ptr, ptr %t5 %t26 = call i32 @fn_has_sub(ptr %t25, ptr @.str1758) %t27 = icmp ne i32 %t26, 0 %t28 = zext i1 %t27 to i32 store i32 %t28, ptr %t7 br label %scend3 scend3: %t29 = load i32, ptr %t7 %t30 = icmp ne i32 %t29, 0 %t31 = zext i1 %t30 to i32 store i32 %t31, ptr %t6 br i1 %t30, label %scend5, label %sc4 sc4: %t32 = load ptr, ptr %t5 %t33 = call i32 @fn_has_sub(ptr %t32, ptr @.str1759) %t34 = icmp ne i32 %t33, 0 %t35 = zext i1 %t34 to i32 store i32 %t35, ptr %t6 br label %scend5 scend5: %t36 = load i32, ptr %t6 store i32 %t36, ptr %t37 %t38 = load i32, ptr %t37 %t39 = icmp eq i32 %t38, 0 %t40 = zext i1 %t39 to i32 %t41 = icmp ne i32 %t40, 0 br i1 %t41, label %then6, label %ifend8 then6: store i32 0, ptr %retval br label %ret ifend8: %t42 = load ptr, ptr %t0 %t43 = getelementptr inbounds %Cmp_Node, ptr %t42, i32 0, i32 9 %t44 = load ptr, ptr %t43 %t45 = call ptr @fn_module_of(ptr %t44) %t46 = call i32 @lp_str_eq(ptr %t45, ptr @.str1760) %t47 = icmp ne i32 %t46, 0 br i1 %t47, label %then9, label %ifend11 then9: store i32 1, ptr %retval br label %ret ifend11: %t48 = load ptr, ptr %t0 %t49 = getelementptr inbounds %Cmp_Node, ptr %t48, i32 0, i32 10 %t50 = load i32, ptr %t49 %t51 = icmp eq i32 %t50, 1 %t52 = zext i1 %t51 to i32 store i32 %t52, ptr %retval br label %ret ret: %t53 = load i32, ptr %retval ret i32 %t53 } define i32 @fn_s_has_prefix(ptr %arg_s, ptr %arg_p) { entry: %retval = alloca i32 %t0 = alloca ptr %t1 = alloca ptr %t2 = alloca i32 store ptr %arg_s, ptr %t0 store ptr %arg_p, ptr %t1 %t3 = load ptr, ptr %t0 %t4 = call i64 @strlen(ptr %t3) %t5 = trunc i64 %t4 to i32 %t6 = load ptr, ptr %t1 %t7 = call i64 @strlen(ptr %t6) %t8 = trunc i64 %t7 to i32 %t9 = icmp sge i32 %t5, %t8 %t10 = zext i1 %t9 to i32 %t11 = icmp ne i32 %t10, 0 %t12 = zext i1 %t11 to i32 store i32 %t12, ptr %t2 br i1 %t11, label %sc0, label %scend1 sc0: %t13 = load ptr, ptr %t0 %t14 = load ptr, ptr %t1 %t15 = call i64 @strlen(ptr %t14) %t16 = trunc i64 %t15 to i32 store i32 1162, ptr @lp_site %t17 = call ptr @lp_str_slice(ptr %t13, i32 0, i32 %t16) store i32 0, ptr @lp_site %t18 = load ptr, ptr %t1 %t19 = call i32 @lp_str_eq(ptr %t17, ptr %t18) call void @lp_free(ptr %t17) %t20 = icmp ne i32 %t19, 0 %t21 = zext i1 %t20 to i32 store i32 %t21, ptr %t2 br label %scend1 scend1: %t22 = load i32, ptr %t2 store i32 %t22, ptr %retval br label %ret ret: %t23 = load i32, ptr %retval ret i32 %t23 } define ptr @fn_mg_runtime_reader(ptr %arg_name) { entry: %retval = alloca ptr %t0 = alloca ptr %t1 = alloca i32 %t19 = alloca ptr %t20 = alloca i32 %t21 = alloca i32 %t22 = alloca i32 %t23 = alloca i32 %t85 = alloca i32 %t86 = alloca i32 %t96 = alloca i32 %t155 = alloca ptr %t156 = alloca i32 %t157 = alloca i32 %t158 = alloca i32 %t159 = alloca i32 %t160 = alloca i32 %t218 = alloca i32 %t219 = alloca i32 %t220 = 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 = load i32, ptr %t1 %t11 = getelementptr inbounds %LSlice, ptr %t9, i32 0, i32 0 %t12 = load ptr, ptr %t11 %t13 = getelementptr inbounds %LSlice, ptr %t9, i32 0, i32 1 %t14 = load i32, ptr %t13 %t15 = icmp ult i32 %t10, %t14 br i1 %t15, label %ixok3, label %ixbad4 ixbad4: store i32 1163, ptr @lp_site %t16 = call ptr @lp_win_stdio(i32 2) store i32 0, ptr @lp_site call i32 (ptr, ptr, ...) @fprintf(ptr %t16, ptr @.fmt_bounds, ptr @.str1762, i32 %t10, i32 %t14) call void @exit(i32 1) unreachable ixok3: %t17 = getelementptr inbounds ptr, ptr %t12, i32 %t10 %t18 = load ptr, ptr %t17 store ptr %t18, ptr %t19 %t24 = load ptr, ptr %t19 %t25 = getelementptr inbounds %Cmp_Node, ptr %t24, i32 0, i32 0 %t26 = load i32, ptr %t25 %t27 = icmp eq i32 %t26, 4 %t28 = zext i1 %t27 to i32 %t29 = icmp ne i32 %t28, 0 %t30 = zext i1 %t29 to i32 store i32 %t30, ptr %t23 br i1 %t29, label %sc5, label %scend6 sc5: %t31 = load ptr, ptr %t19 %t32 = getelementptr inbounds %Cmp_Node, ptr %t31, i32 0, i32 9 %t33 = load ptr, ptr %t32 %t34 = call i32 @fn_is_runtime_file(ptr %t33) %t35 = icmp ne i32 %t34, 0 %t36 = zext i1 %t35 to i32 store i32 %t36, ptr %t23 br label %scend6 scend6: %t37 = load i32, ptr %t23 %t38 = icmp ne i32 %t37, 0 %t39 = zext i1 %t38 to i32 store i32 %t39, ptr %t22 br i1 %t38, label %sc7, label %scend8 sc7: %t40 = load ptr, ptr %t19 %t41 = getelementptr inbounds %Cmp_Node, ptr %t40, i32 0, i32 4 %t42 = load ptr, ptr %t41 %t43 = icmp ne ptr %t42, null %t44 = zext i1 %t43 to i32 %t45 = icmp ne i32 %t44, 0 %t46 = zext i1 %t45 to i32 store i32 %t46, ptr %t22 br label %scend8 scend8: %t47 = load i32, ptr %t22 %t48 = icmp ne i32 %t47, 0 %t49 = zext i1 %t48 to i32 store i32 %t49, ptr %t21 br i1 %t48, label %sc9, label %scend10 sc9: %t50 = load ptr, ptr %t19 %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 eq i32 %t56, 1 %t58 = zext i1 %t57 to i32 %t59 = icmp ne i32 %t58, 0 %t60 = zext i1 %t59 to i32 store i32 %t60, ptr %t21 br label %scend10 scend10: %t61 = load i32, ptr %t21 %t62 = icmp ne i32 %t61, 0 %t63 = zext i1 %t62 to i32 store i32 %t63, ptr %t20 br i1 %t62, label %sc11, label %scend12 sc11: %t64 = load ptr, ptr %t19 %t65 = getelementptr inbounds %Cmp_Node, ptr %t64, i32 0, i32 4 %t66 = load ptr, ptr %t65 %t67 = getelementptr inbounds %Cmp_Node, ptr %t66, i32 0, i32 7 %t68 = load ptr, ptr %t67 %t69 = getelementptr inbounds %LSlice, ptr %t68, i32 0, i32 0 %t70 = load ptr, ptr %t69 %t71 = getelementptr inbounds %LSlice, ptr %t68, i32 0, i32 1 %t72 = load i32, ptr %t71 %t73 = icmp ult i32 0, %t72 br i1 %t73, label %ixok13, label %ixbad14 ixbad14: store i32 1164, ptr @lp_site %t74 = call ptr @lp_win_stdio(i32 2) store i32 0, ptr @lp_site call i32 (ptr, ptr, ...) @fprintf(ptr %t74, ptr @.fmt_bounds, ptr @.str1764, i32 0, i32 %t72) call void @exit(i32 1) unreachable ixok13: %t75 = getelementptr inbounds ptr, ptr %t70, i32 0 %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, 15 %t80 = zext i1 %t79 to i32 %t81 = icmp ne i32 %t80, 0 %t82 = zext i1 %t81 to i32 store i32 %t82, ptr %t20 br label %scend12 scend12: %t83 = load i32, ptr %t20 %t84 = icmp ne i32 %t83, 0 br i1 %t84, label %then15, label %ifend17 then15: store i32 0, ptr %t85 store i32 0, ptr %t86 br label %wcond18 wcond18: %t87 = load i32, ptr %t86 %t88 = load ptr, ptr %t19 %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 %wbody19, label %wend20 wbody19: %t97 = load ptr, ptr %t19 %t98 = getelementptr inbounds %Cmp_Node, ptr %t97, i32 0, i32 7 %t99 = load ptr, ptr %t98 %t100 = load i32, ptr %t86 %t101 = getelementptr inbounds %LSlice, ptr %t99, i32 0, i32 0 %t102 = load ptr, ptr %t101 %t103 = getelementptr inbounds %LSlice, ptr %t99, i32 0, i32 1 %t104 = load i32, ptr %t103 %t105 = icmp ult i32 %t100, %t104 br i1 %t105, label %ixok21, label %ixbad22 ixbad22: store i32 1165, ptr @lp_site %t106 = call ptr @lp_win_stdio(i32 2) store i32 0, ptr @lp_site call i32 (ptr, ptr, ...) @fprintf(ptr %t106, ptr @.fmt_bounds, ptr @.str1765, i32 %t100, i32 %t104) call void @exit(i32 1) unreachable ixok21: %t107 = getelementptr inbounds ptr, ptr %t102, i32 %t100 %t108 = load ptr, ptr %t107 %t109 = getelementptr inbounds %Cmp_Node, ptr %t108, i32 0, i32 0 %t110 = load i32, ptr %t109 %t111 = icmp eq i32 %t110, 5 %t112 = zext i1 %t111 to i32 %t113 = icmp ne i32 %t112, 0 %t114 = zext i1 %t113 to i32 store i32 %t114, ptr %t96 br i1 %t113, label %sc23, label %scend24 sc23: %t115 = load ptr, ptr %t19 %t116 = getelementptr inbounds %Cmp_Node, ptr %t115, i32 0, i32 7 %t117 = load ptr, ptr %t116 %t118 = load i32, ptr %t86 %t119 = getelementptr inbounds %LSlice, ptr %t117, i32 0, i32 0 %t120 = load ptr, ptr %t119 %t121 = getelementptr inbounds %LSlice, ptr %t117, i32 0, i32 1 %t122 = load i32, ptr %t121 %t123 = icmp ult i32 %t118, %t122 br i1 %t123, label %ixok25, label %ixbad26 ixbad26: store i32 1166, ptr @lp_site %t124 = call ptr @lp_win_stdio(i32 2) store i32 0, ptr @lp_site call i32 (ptr, ptr, ...) @fprintf(ptr %t124, ptr @.fmt_bounds, ptr @.str1766, i32 %t118, i32 %t122) call void @exit(i32 1) unreachable ixok25: %t125 = getelementptr inbounds ptr, ptr %t120, i32 %t118 %t126 = load ptr, ptr %t125 %t127 = getelementptr inbounds %Cmp_Node, ptr %t126, i32 0, i32 3 %t128 = load ptr, ptr %t127 %t129 = call i32 @fn_is_state_ty(ptr %t128) %t130 = icmp eq i32 %t129, 0 %t131 = zext i1 %t130 to i32 %t132 = icmp ne i32 %t131, 0 %t133 = zext i1 %t132 to i32 store i32 %t133, ptr %t96 br label %scend24 scend24: %t134 = load i32, ptr %t96 %t135 = icmp ne i32 %t134, 0 br i1 %t135, label %then27, label %ifend29 then27: %t136 = load i32, ptr %t85 %t137 = add i32 %t136, 1 store i32 %t137, ptr %t85 br label %ifend29 ifend29: %t138 = load i32, ptr %t86 %t139 = add i32 %t138, 1 store i32 %t139, ptr %t86 br label %wcond18 wend20: %t140 = load ptr, ptr %t19 %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 7 %t144 = load ptr, ptr %t143 %t145 = getelementptr inbounds %LSlice, ptr %t144, i32 0, i32 0 %t146 = load ptr, ptr %t145 %t147 = getelementptr inbounds %LSlice, ptr %t144, i32 0, i32 1 %t148 = load i32, ptr %t147 %t149 = icmp ult i32 0, %t148 br i1 %t149, label %ixok30, label %ixbad31 ixbad31: store i32 1167, ptr @lp_site %t150 = call ptr @lp_win_stdio(i32 2) store i32 0, ptr @lp_site call i32 (ptr, ptr, ...) @fprintf(ptr %t150, ptr @.fmt_bounds, ptr @.str1767, i32 0, i32 %t148) call void @exit(i32 1) unreachable ixok30: %t151 = getelementptr inbounds ptr, ptr %t146, i32 0 %t152 = load ptr, ptr %t151 %t153 = getelementptr inbounds %Cmp_Node, ptr %t152, i32 0, i32 4 %t154 = load ptr, ptr %t153 store ptr %t154, ptr %t155 %t161 = load i32, ptr %t85 %t162 = icmp eq i32 %t161, 0 %t163 = zext i1 %t162 to i32 %t164 = icmp ne i32 %t163, 0 %t165 = zext i1 %t164 to i32 store i32 %t165, ptr %t160 br i1 %t164, label %sc32, label %scend33 sc32: %t166 = load ptr, ptr %t155 %t167 = icmp ne ptr %t166, null %t168 = zext i1 %t167 to i32 %t169 = icmp ne i32 %t168, 0 %t170 = zext i1 %t169 to i32 store i32 %t170, ptr %t160 br label %scend33 scend33: %t171 = load i32, ptr %t160 %t172 = icmp ne i32 %t171, 0 %t173 = zext i1 %t172 to i32 store i32 %t173, ptr %t159 br i1 %t172, label %sc34, label %scend35 sc34: %t174 = load ptr, ptr %t155 %t175 = getelementptr inbounds %Cmp_Node, ptr %t174, i32 0, i32 0 %t176 = load i32, ptr %t175 %t177 = icmp eq i32 %t176, 35 %t178 = zext i1 %t177 to i32 %t179 = icmp ne i32 %t178, 0 %t180 = zext i1 %t179 to i32 store i32 %t180, ptr %t159 br label %scend35 scend35: %t181 = load i32, ptr %t159 %t182 = icmp ne i32 %t181, 0 %t183 = zext i1 %t182 to i32 store i32 %t183, ptr %t158 br i1 %t182, label %sc36, label %scend37 sc36: %t184 = load ptr, ptr %t155 %t185 = getelementptr inbounds %Cmp_Node, ptr %t184, i32 0, i32 4 %t186 = load ptr, ptr %t185 %t187 = icmp ne ptr %t186, null %t188 = zext i1 %t187 to i32 %t189 = icmp ne i32 %t188, 0 %t190 = zext i1 %t189 to i32 store i32 %t190, ptr %t158 br label %scend37 scend37: %t191 = load i32, ptr %t158 %t192 = icmp ne i32 %t191, 0 %t193 = zext i1 %t192 to i32 store i32 %t193, ptr %t157 br i1 %t192, label %sc38, label %scend39 sc38: %t194 = load ptr, ptr %t155 %t195 = getelementptr inbounds %Cmp_Node, ptr %t194, i32 0, i32 4 %t196 = load ptr, ptr %t195 %t197 = getelementptr inbounds %Cmp_Node, ptr %t196, i32 0, i32 0 %t198 = load i32, ptr %t197 %t199 = icmp eq i32 %t198, 33 %t200 = zext i1 %t199 to i32 %t201 = icmp ne i32 %t200, 0 %t202 = zext i1 %t201 to i32 store i32 %t202, ptr %t157 br label %scend39 scend39: %t203 = load i32, ptr %t157 %t204 = icmp ne i32 %t203, 0 %t205 = zext i1 %t204 to i32 store i32 %t205, ptr %t156 br i1 %t204, label %sc40, label %scend41 sc40: %t206 = load ptr, ptr %t155 %t207 = getelementptr inbounds %Cmp_Node, ptr %t206, i32 0, i32 1 %t208 = load ptr, ptr %t207 %t209 = load ptr, ptr %t0 %t210 = call i32 @lp_str_eq(ptr %t208, ptr %t209) %t211 = icmp ne i32 %t210, 0 %t212 = zext i1 %t211 to i32 store i32 %t212, ptr %t156 br label %scend41 scend41: %t213 = load i32, ptr %t156 %t214 = icmp ne i32 %t213, 0 br i1 %t214, label %then42, label %ifend44 then42: %t215 = load ptr, ptr %t19 %t216 = getelementptr inbounds %Cmp_Node, ptr %t215, i32 0, i32 1 %t217 = load ptr, ptr %t216 store ptr %t217, ptr %retval br label %ret ifend44: %t221 = load i32, ptr %t85 %t222 = icmp eq i32 %t221, 0 %t223 = zext i1 %t222 to i32 %t224 = icmp ne i32 %t223, 0 %t225 = zext i1 %t224 to i32 store i32 %t225, ptr %t220 br i1 %t224, label %sc45, label %scend46 sc45: %t226 = load ptr, ptr %t155 %t227 = icmp ne ptr %t226, null %t228 = zext i1 %t227 to i32 %t229 = icmp ne i32 %t228, 0 %t230 = zext i1 %t229 to i32 store i32 %t230, ptr %t220 br label %scend46 scend46: %t231 = load i32, ptr %t220 %t232 = icmp ne i32 %t231, 0 %t233 = zext i1 %t232 to i32 store i32 %t233, ptr %t219 br i1 %t232, label %sc47, label %scend48 sc47: %t234 = load ptr, ptr %t155 %t235 = getelementptr inbounds %Cmp_Node, ptr %t234, i32 0, i32 0 %t236 = load i32, ptr %t235 %t237 = icmp eq i32 %t236, 33 %t238 = zext i1 %t237 to i32 %t239 = icmp ne i32 %t238, 0 %t240 = zext i1 %t239 to i32 store i32 %t240, ptr %t219 br label %scend48 scend48: %t241 = load i32, ptr %t219 %t242 = icmp ne i32 %t241, 0 %t243 = zext i1 %t242 to i32 store i32 %t243, ptr %t218 br i1 %t242, label %sc49, label %scend50 sc49: %t244 = load ptr, ptr %t155 %t245 = getelementptr inbounds %Cmp_Node, ptr %t244, i32 0, i32 1 %t246 = load ptr, ptr %t245 %t247 = call ptr @fn_mg_src_name(ptr %t246) %t248 = load ptr, ptr %t0 %t249 = call i32 @lp_str_eq(ptr %t247, ptr %t248) %t250 = icmp ne i32 %t249, 0 %t251 = zext i1 %t250 to i32 store i32 %t251, ptr %t218 br label %scend50 scend50: %t252 = load i32, ptr %t218 %t253 = icmp ne i32 %t252, 0 br i1 %t253, label %then51, label %ifend53 then51: %t254 = load ptr, ptr %t19 %t255 = getelementptr inbounds %Cmp_Node, ptr %t254, i32 0, i32 1 %t256 = load ptr, ptr %t255 store ptr %t256, ptr %retval br label %ret ifend53: br label %ifend17 ifend17: %t257 = load i32, ptr %t1 %t258 = add i32 %t257, 1 store i32 %t258, ptr %t1 br label %wcond0 wend2: store ptr null, ptr %retval br label %ret ret: %t259 = load ptr, ptr %retval ret ptr %t259 } define i32 @fn_mg_value_ty(ptr %arg_t) { entry: %retval = alloca i32 %t0 = alloca ptr %t5 = alloca i32 %t6 = alloca i32 %t7 = alloca i32 %t8 = alloca i32 %t9 = alloca i32 %t10 = alloca i32 store ptr %arg_t, 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: store i32 0, ptr %retval br label %ret ifend2: %t11 = load ptr, ptr %t0 %t12 = call i32 @lp_str_eq(ptr %t11, ptr @.str1768) %t13 = icmp ne i32 %t12, 0 %t14 = zext i1 %t13 to i32 store i32 %t14, ptr %t10 br i1 %t13, label %scend4, label %sc3 sc3: %t15 = load ptr, ptr %t0 %t16 = call i32 @lp_str_eq(ptr %t15, ptr @.str1769) %t17 = icmp ne i32 %t16, 0 %t18 = zext i1 %t17 to i32 store i32 %t18, ptr %t10 br label %scend4 scend4: %t19 = load i32, ptr %t10 %t20 = icmp ne i32 %t19, 0 %t21 = zext i1 %t20 to i32 store i32 %t21, ptr %t9 br i1 %t20, label %scend6, label %sc5 sc5: %t22 = load ptr, ptr %t0 %t23 = call i32 @lp_str_eq(ptr %t22, ptr @.str1770) %t24 = icmp ne i32 %t23, 0 %t25 = zext i1 %t24 to i32 store i32 %t25, ptr %t9 br label %scend6 scend6: %t26 = load i32, ptr %t9 %t27 = icmp ne i32 %t26, 0 %t28 = zext i1 %t27 to i32 store i32 %t28, ptr %t8 br i1 %t27, label %scend8, label %sc7 sc7: %t29 = load ptr, ptr %t0 %t30 = call i32 @lp_str_eq(ptr %t29, ptr @.str1771) %t31 = icmp ne i32 %t30, 0 %t32 = zext i1 %t31 to i32 store i32 %t32, ptr %t8 br label %scend8 scend8: %t33 = load i32, ptr %t8 %t34 = icmp ne i32 %t33, 0 %t35 = zext i1 %t34 to i32 store i32 %t35, ptr %t7 br i1 %t34, label %scend10, label %sc9 sc9: %t36 = load ptr, ptr %t0 %t37 = call i32 @lp_str_eq(ptr %t36, ptr @.str1772) %t38 = icmp ne i32 %t37, 0 %t39 = zext i1 %t38 to i32 store i32 %t39, ptr %t7 br label %scend10 scend10: %t40 = load i32, ptr %t7 %t41 = icmp ne i32 %t40, 0 %t42 = zext i1 %t41 to i32 store i32 %t42, ptr %t6 br i1 %t41, label %scend12, label %sc11 sc11: %t43 = load ptr, ptr %t0 %t44 = call i32 @lp_str_eq(ptr %t43, ptr @.str1773) %t45 = icmp ne i32 %t44, 0 %t46 = zext i1 %t45 to i32 store i32 %t46, ptr %t6 br label %scend12 scend12: %t47 = load i32, ptr %t6 %t48 = icmp ne i32 %t47, 0 %t49 = zext i1 %t48 to i32 store i32 %t49, ptr %t5 br i1 %t48, label %scend14, label %sc13 sc13: %t50 = load ptr, ptr %t0 %t51 = call i32 @lp_str_eq(ptr %t50, ptr @.str1774) %t52 = icmp ne i32 %t51, 0 %t53 = zext i1 %t52 to i32 store i32 %t53, ptr %t5 br label %scend14 scend14: %t54 = load i32, ptr %t5 %t55 = icmp ne i32 %t54, 0 br i1 %t55, label %then15, label %ifend17 then15: store i32 1, ptr %retval br label %ret ifend17: %t56 = load ptr, ptr %t0 %t57 = call ptr @fn_find_enum(ptr %t56) %t58 = icmp ne ptr %t57, null %t59 = zext i1 %t58 to i32 store i32 %t59, ptr %retval br label %ret ret: %t60 = load i32, ptr %retval ret i32 %t60 } define void @fn_mg_read_needs() { entry: %t0 = alloca i32 %t18 = alloca i32 %t29 = alloca ptr %t40 = alloca i32 %t51 = alloca ptr %t52 = alloca i32 %t74 = alloca ptr %t75 = alloca i32 %t76 = alloca i32 %t143 = alloca i32 %t189 = alloca i32 store i32 0, ptr %t0 br label %wcond0 wcond0: %t1 = load i32, ptr %t0 %t2 = load ptr, ptr @g_g_mr_node %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_mr_var %t9 = load i32, ptr %t0 %t10 = getelementptr inbounds %LSlice, ptr %t8, i32 0, i32 0 %t11 = load ptr, ptr %t10 %t12 = getelementptr inbounds %LSlice, ptr %t8, i32 0, i32 1 %t13 = load i32, ptr %t12 %t14 = icmp ult i32 %t9, %t13 br i1 %t14, label %ixok3, label %ixbad4 ixbad4: store i32 1168, ptr @lp_site %t15 = call ptr @lp_win_stdio(i32 2) store i32 0, ptr @lp_site call i32 (ptr, ptr, ...) @fprintf(ptr %t15, ptr @.fmt_bounds, ptr @.str1775, i32 %t9, i32 %t13) call void @exit(i32 1) unreachable ixok3: %t16 = getelementptr inbounds i32, ptr %t11, i32 %t9 %t17 = load i32, ptr %t16 store i32 %t17, ptr %t18 %t19 = load ptr, ptr @g_g_mr_node %t20 = load i32, ptr %t0 %t21 = getelementptr inbounds %LSlice, ptr %t19, i32 0, i32 0 %t22 = load ptr, ptr %t21 %t23 = getelementptr inbounds %LSlice, ptr %t19, i32 0, i32 1 %t24 = load i32, ptr %t23 %t25 = icmp ult i32 %t20, %t24 br i1 %t25, label %ixok5, label %ixbad6 ixbad6: store i32 1169, ptr @lp_site %t26 = call ptr @lp_win_stdio(i32 2) store i32 0, ptr @lp_site call i32 (ptr, ptr, ...) @fprintf(ptr %t26, ptr @.fmt_bounds, ptr @.str1777, i32 %t20, i32 %t24) call void @exit(i32 1) unreachable ixok5: %t27 = getelementptr inbounds ptr, ptr %t22, i32 %t20 %t28 = load ptr, ptr %t27 store ptr %t28, ptr %t29 %t30 = load ptr, ptr @g_g_mr_unit %t31 = load i32, ptr %t0 %t32 = getelementptr inbounds %LSlice, ptr %t30, i32 0, i32 0 %t33 = load ptr, ptr %t32 %t34 = getelementptr inbounds %LSlice, ptr %t30, i32 0, i32 1 %t35 = load i32, ptr %t34 %t36 = icmp ult i32 %t31, %t35 br i1 %t36, label %ixok7, label %ixbad8 ixbad8: store i32 1170, ptr @lp_site %t37 = call ptr @lp_win_stdio(i32 2) store i32 0, ptr @lp_site call i32 (ptr, ptr, ...) @fprintf(ptr %t37, ptr @.fmt_bounds, ptr @.str1778, i32 %t31, i32 %t35) call void @exit(i32 1) unreachable ixok7: %t38 = getelementptr inbounds i32, ptr %t33, i32 %t31 %t39 = load i32, ptr %t38 store i32 %t39, ptr %t40 %t41 = load ptr, ptr @g_g_mg_vars %t42 = load i32, ptr %t18 %t43 = getelementptr inbounds %LSlice, ptr %t41, i32 0, i32 0 %t44 = load ptr, ptr %t43 %t45 = getelementptr inbounds %LSlice, ptr %t41, i32 0, i32 1 %t46 = load i32, ptr %t45 %t47 = icmp ult i32 %t42, %t46 br i1 %t47, label %ixok9, label %ixbad10 ixbad10: store i32 1171, ptr @lp_site %t48 = call ptr @lp_win_stdio(i32 2) store i32 0, ptr @lp_site call i32 (ptr, ptr, ...) @fprintf(ptr %t48, ptr @.fmt_bounds, ptr @.str1779, i32 %t42, i32 %t46) call void @exit(i32 1) unreachable ixok9: %t49 = getelementptr inbounds ptr, ptr %t44, i32 %t42 %t50 = load ptr, ptr %t49 store ptr %t50, ptr %t51 %t53 = load ptr, ptr %t51 %t54 = getelementptr inbounds %Cmp_Node, ptr %t53, i32 0, i32 9 %t55 = load ptr, ptr %t54 %t56 = call i32 @fn_is_runtime_file(ptr %t55) %t57 = icmp ne i32 %t56, 0 %t58 = zext i1 %t57 to i32 store i32 %t58, ptr %t52 br i1 %t57, label %sc11, label %scend12 sc11: %t59 = load ptr, ptr %t29 %t60 = getelementptr inbounds %Cmp_Node, ptr %t59, i32 0, i32 9 %t61 = load ptr, ptr %t60 %t62 = call i32 @fn_is_runtime_file(ptr %t61) %t63 = icmp eq i32 %t62, 0 %t64 = zext i1 %t63 to i32 %t65 = icmp ne i32 %t64, 0 %t66 = zext i1 %t65 to i32 store i32 %t66, ptr %t52 br label %scend12 scend12: %t67 = load i32, ptr %t52 %t68 = icmp ne i32 %t67, 0 br i1 %t68, label %then13, label %else14 then13: %t69 = load ptr, ptr %t51 %t70 = getelementptr inbounds %Cmp_Node, ptr %t69, i32 0, i32 1 %t71 = load ptr, ptr %t70 %t72 = call ptr @fn_mg_src_name(ptr %t71) %t73 = call ptr @fn_mg_runtime_reader(ptr %t72) store ptr %t73, ptr %t74 %t77 = load ptr, ptr %t74 %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 %t76 br i1 %t80, label %sc16, label %scend17 sc16: %t82 = load ptr, ptr %t29 %t83 = getelementptr inbounds %Cmp_Node, ptr %t82, i32 0, i32 13 %t84 = load i32, ptr %t83 %t85 = icmp sge i32 %t84, 0 %t86 = zext i1 %t85 to i32 %t87 = icmp ne i32 %t86, 0 %t88 = zext i1 %t87 to i32 store i32 %t88, ptr %t76 br label %scend17 scend17: %t89 = load i32, ptr %t76 %t90 = icmp ne i32 %t89, 0 %t91 = zext i1 %t90 to i32 store i32 %t91, ptr %t75 br i1 %t90, label %sc18, label %scend19 sc18: %t92 = load ptr, ptr %t29 %t93 = getelementptr inbounds %Cmp_Node, ptr %t92, i32 0, i32 9 %t94 = load ptr, ptr %t93 %t95 = icmp ne ptr %t94, null %t96 = zext i1 %t95 to i32 %t97 = icmp ne i32 %t96, 0 %t98 = zext i1 %t97 to i32 store i32 %t98, ptr %t75 br label %scend19 scend19: %t99 = load i32, ptr %t75 %t100 = icmp ne i32 %t99, 0 br i1 %t100, label %then20, label %else21 then20: %t101 = load ptr, ptr %t29 %t102 = getelementptr inbounds %Cmp_Node, ptr %t101, i32 0, i32 9 %t103 = load ptr, ptr %t102 store i32 1172, ptr @lp_site %t104 = call ptr @lp_str_concat(ptr @.str1780, ptr %t103) store i32 0, ptr @lp_site store i32 1173, ptr @lp_site %t105 = call ptr @lp_str_concat(ptr %t104, ptr @.str1781) store i32 0, ptr @lp_site call void @lp_free(ptr %t104) %t106 = load ptr, ptr %t29 %t107 = getelementptr inbounds %Cmp_Node, ptr %t106, i32 0, i32 13 %t108 = load i32, ptr %t107 %t109 = call ptr @fn_itoa(i32 %t108) store i32 1174, ptr @lp_site %t110 = call ptr @lp_str_concat(ptr %t105, ptr %t109) store i32 0, ptr @lp_site call void @lp_free(ptr %t105) store i32 1175, ptr @lp_site %t111 = call ptr @lp_str_concat(ptr %t110, ptr @.str1782) store i32 0, ptr @lp_site call void @lp_free(ptr %t110) %t112 = load ptr, ptr %t51 %t113 = getelementptr inbounds %Cmp_Node, ptr %t112, i32 0, i32 1 %t114 = load ptr, ptr %t113 %t115 = call ptr @fn_mg_src_name(ptr %t114) %t116 = call i64 @strlen(ptr %t115) %t117 = trunc i64 %t116 to i32 %t118 = call ptr @fn_itoa(i32 %t117) store i32 1176, ptr @lp_site %t119 = call ptr @lp_str_concat(ptr %t111, ptr %t118) store i32 0, ptr @lp_site call void @lp_free(ptr %t111) store i32 1177, ptr @lp_site %t120 = call ptr @lp_str_concat(ptr %t119, ptr @.str1783) store i32 0, ptr @lp_site call void @lp_free(ptr %t119) %t121 = load ptr, ptr %t74 store i32 1178, ptr @lp_site %t122 = call ptr @lp_str_concat(ptr %t121, ptr @.str1784) store i32 0, ptr @lp_site %t123 = call ptr @fn_mg_esc(ptr %t122) store i32 1179, ptr @lp_site %t124 = call ptr @lp_str_concat(ptr %t120, ptr %t123) store i32 0, ptr @lp_site call void @lp_free(ptr %t120) call void @fn_mg_emit(ptr %t124, ptr @.str1785) br label %ifend22 else21: %t125 = load ptr, ptr %t29 %t126 = load ptr, ptr %t51 %t127 = getelementptr inbounds %Cmp_Node, ptr %t126, i32 0, i32 1 %t128 = load ptr, ptr %t127 %t129 = call ptr @fn_mg_src_name(ptr %t128) store i32 1180, ptr @lp_site %t130 = call ptr @lp_str_concat(ptr %t129, ptr @.str1786) store i32 0, ptr @lp_site call void @fn_mg_say(ptr %t125, ptr %t130) br label %ifend22 ifend22: %t131 = load ptr, ptr @g_g_mr_var %t132 = load i32, ptr %t0 %t133 = getelementptr inbounds %LSlice, ptr %t131, i32 0, i32 0 %t134 = load ptr, ptr %t133 %t135 = getelementptr inbounds %LSlice, ptr %t131, i32 0, i32 1 %t136 = load i32, ptr %t135 %t137 = icmp ult i32 %t132, %t136 br i1 %t137, label %ixok23, label %ixbad24 ixbad24: store i32 1181, ptr @lp_site %t138 = call ptr @lp_win_stdio(i32 2) store i32 0, ptr @lp_site call i32 (ptr, ptr, ...) @fprintf(ptr %t138, ptr @.fmt_bounds, ptr @.str1787, i32 %t132, i32 %t136) call void @exit(i32 1) unreachable ixok23: %t139 = getelementptr inbounds i32, ptr %t134, i32 %t132 %t140 = sub i32 0, 1 %t141 = load i32, ptr %t18 %t142 = sub i32 %t140, %t141 store i32 %t142, ptr %t139 br label %ifend15 else14: %t144 = load ptr, ptr @g_g_mg_let %t145 = load i32, ptr %t18 %t146 = getelementptr inbounds %LSlice, ptr %t144, i32 0, i32 0 %t147 = load ptr, ptr %t146 %t148 = getelementptr inbounds %LSlice, ptr %t144, i32 0, i32 1 %t149 = load i32, ptr %t148 %t150 = icmp ult i32 %t145, %t149 br i1 %t150, label %ixok25, label %ixbad26 ixbad26: store i32 1182, ptr @lp_site %t151 = call ptr @lp_win_stdio(i32 2) store i32 0, ptr @lp_site call i32 (ptr, ptr, ...) @fprintf(ptr %t151, ptr @.fmt_bounds, ptr @.str1788, i32 %t145, i32 %t149) call void @exit(i32 1) unreachable ixok25: %t152 = getelementptr inbounds i32, ptr %t147, i32 %t145 %t153 = load i32, ptr %t152 %t154 = icmp eq i32 %t153, 1 %t155 = zext i1 %t154 to i32 %t156 = icmp eq i32 %t155, 0 %t157 = zext i1 %t156 to i32 %t158 = icmp ne i32 %t157, 0 %t159 = zext i1 %t158 to i32 store i32 %t159, ptr %t143 br i1 %t158, label %sc27, label %scend28 sc27: %t160 = load i32, ptr %t40 %t161 = sub i32 0, 3 %t162 = icmp ne i32 %t160, %t161 %t163 = zext i1 %t162 to i32 %t164 = icmp ne i32 %t163, 0 %t165 = zext i1 %t164 to i32 store i32 %t165, ptr %t143 br label %scend28 scend28: %t166 = load i32, ptr %t143 %t167 = icmp ne i32 %t166, 0 br i1 %t167, label %then29, label %ifend31 then29: %t168 = load i32, ptr %t40 %t169 = icmp sge i32 %t168, 0 %t170 = zext i1 %t169 to i32 %t171 = icmp ne i32 %t170, 0 br i1 %t171, label %then32, label %else33 then32: %t172 = load i32, ptr %t40 %t173 = load ptr, ptr @g_g_mg_vstate %t174 = load i32, ptr %t18 %t175 = getelementptr inbounds %LSlice, ptr %t173, i32 0, i32 0 %t176 = load ptr, ptr %t175 %t177 = getelementptr inbounds %LSlice, ptr %t173, i32 0, i32 1 %t178 = load i32, ptr %t177 %t179 = icmp ult i32 %t174, %t178 br i1 %t179, label %ixok35, label %ixbad36 ixbad36: store i32 1183, ptr @lp_site %t180 = call ptr @lp_win_stdio(i32 2) store i32 0, ptr @lp_site call i32 (ptr, ptr, ...) @fprintf(ptr %t180, ptr @.fmt_bounds, ptr @.str1789, i32 %t174, i32 %t178) call void @exit(i32 1) unreachable ixok35: %t181 = getelementptr inbounds i32, ptr %t176, i32 %t174 %t182 = load i32, ptr %t181 %t183 = call i32 @fn_mg_need(i32 %t172, i32 %t182, i32 0) br label %ifend34 else33: %t184 = load ptr, ptr %t29 %t185 = load ptr, ptr %t51 %t186 = getelementptr inbounds %Cmp_Node, ptr %t185, i32 0, i32 1 %t187 = load ptr, ptr %t186 store i32 1184, ptr @lp_site %t188 = call ptr @lp_str_concat(ptr %t187, ptr @.str1790) store i32 0, ptr @lp_site call void @fn_mg_say(ptr %t184, ptr %t188) br label %ifend34 ifend34: %t190 = load ptr, ptr %t29 %t191 = getelementptr inbounds %Cmp_Node, ptr %t190, i32 0, i32 13 %t192 = load i32, ptr %t191 %t193 = icmp slt i32 %t192, 0 %t194 = zext i1 %t193 to i32 %t195 = icmp ne i32 %t194, 0 %t196 = zext i1 %t195 to i32 store i32 %t196, ptr %t189 br i1 %t195, label %sc37, label %scend38 sc37: %t197 = load ptr, ptr %t51 %t198 = getelementptr inbounds %Cmp_Node, ptr %t197, i32 0, i32 1 %t199 = load ptr, ptr %t198 %t200 = call i32 @fn_mg_bound_var(ptr %t199) %t201 = icmp eq i32 %t200, 0 %t202 = zext i1 %t201 to i32 %t203 = icmp ne i32 %t202, 0 %t204 = zext i1 %t203 to i32 store i32 %t204, ptr %t189 br label %scend38 scend38: %t205 = load i32, ptr %t189 %t206 = icmp ne i32 %t205, 0 br i1 %t206, label %then39, label %ifend41 then39: %t207 = load ptr, ptr %t29 %t208 = load ptr, ptr %t51 %t209 = getelementptr inbounds %Cmp_Node, ptr %t208, i32 0, i32 1 %t210 = load ptr, ptr %t209 store i32 1185, ptr @lp_site %t211 = call ptr @lp_str_concat(ptr @.str1791, ptr %t210) store i32 0, ptr @lp_site store i32 1186, ptr @lp_site %t212 = call ptr @lp_str_concat(ptr %t211, ptr @.str1792) store i32 0, ptr @lp_site call void @lp_free(ptr %t211) call void @fn_mg_say(ptr %t207, ptr %t212) br label %ifend41 ifend41: br label %ifend31 ifend31: br label %ifend15 ifend15: %t213 = load i32, ptr %t0 %t214 = add i32 %t213, 1 store i32 %t214, ptr %t0 br label %wcond0 wend2: br label %ret ret: ret void } define void @fn_mg_call(ptr %arg_e, ptr %arg_f) { entry: %t0 = alloca ptr %t1 = alloca ptr %t2 = alloca i32 %t3 = alloca i32 %t30 = alloca i32 %t119 = alloca i32 %t120 = alloca i32 %t163 = alloca i32 %t164 = alloca i32 store ptr %arg_e, ptr %t0 store ptr %arg_f, ptr %t1 %t4 = load i32, ptr @g_g_migrate %t5 = icmp eq i32 %t4, 0 %t6 = zext i1 %t5 to i32 %t7 = icmp ne i32 %t6, 0 %t8 = zext i1 %t7 to i32 store i32 %t8, ptr %t3 br i1 %t7, label %scend1, label %sc0 sc0: %t9 = load ptr, ptr %t1 %t10 = icmp eq ptr %t9, null %t11 = zext i1 %t10 to i32 %t12 = icmp ne i32 %t11, 0 %t13 = zext i1 %t12 to i32 store i32 %t13, ptr %t3 br label %scend1 scend1: %t14 = load i32, ptr %t3 %t15 = icmp ne i32 %t14, 0 %t16 = zext i1 %t15 to i32 store i32 %t16, ptr %t2 br i1 %t15, label %scend3, label %sc2 sc2: %t17 = load i32, ptr @g_g_mg_cur %t18 = icmp slt 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 %t2 br label %scend3 scend3: %t22 = load i32, ptr %t2 %t23 = icmp ne i32 %t22, 0 br i1 %t23, label %then4, label %ifend6 then4: br label %ret ifend6: %t24 = load ptr, ptr %t0 %t25 = getelementptr inbounds %Cmp_Node, ptr %t24, i32 0, i32 13 %t26 = load i32, ptr %t25 %t27 = icmp slt i32 %t26, 0 %t28 = zext i1 %t27 to i32 %t29 = icmp ne i32 %t28, 0 br i1 %t29, label %then7, label %ifend9 then7: br label %ret ifend9: %t31 = load ptr, ptr %t1 %t32 = getelementptr inbounds %Cmp_Node, ptr %t31, i32 0, i32 9 %t33 = load ptr, ptr %t32 %t34 = call i32 @fn_is_runtime_file(ptr %t33) %t35 = icmp ne i32 %t34, 0 %t36 = zext i1 %t35 to i32 store i32 %t36, ptr %t30 br i1 %t35, label %sc10, label %scend11 sc10: %t37 = load ptr, ptr %t0 %t38 = getelementptr inbounds %Cmp_Node, ptr %t37, i32 0, i32 9 %t39 = load ptr, ptr %t38 %t40 = call i32 @fn_is_runtime_file(ptr %t39) %t41 = icmp eq i32 %t40, 0 %t42 = zext i1 %t41 to i32 %t43 = icmp ne i32 %t42, 0 %t44 = zext i1 %t43 to i32 store i32 %t44, ptr %t30 br label %scend11 scend11: %t45 = load i32, ptr %t30 %t46 = icmp ne i32 %t45, 0 br i1 %t46, label %then12, label %ifend14 then12: br label %ret ifend14: %t47 = load ptr, ptr %t1 %t48 = getelementptr inbounds %Cmp_Node, ptr %t47, i32 0, i32 1 %t49 = load ptr, ptr %t48 %t50 = call i32 @fn_is_action_builtin(ptr %t49) %t51 = icmp ne i32 %t50, 0 br i1 %t51, label %then15, label %ifend17 then15: br label %ret ifend17: %t52 = load ptr, ptr @g_g_mc_call %t53 = load ptr, ptr %t0 %t54 = getelementptr inbounds %LSlice, ptr %t52, i32 0, i32 1 %t55 = getelementptr inbounds %LSlice, ptr %t52, i32 0, i32 2 %t56 = getelementptr inbounds %LSlice, ptr %t52, i32 0, i32 0 %t57 = load i32, ptr %t54 %t58 = load i32, ptr %t55 %t59 = icmp sge i32 %t57, %t58 br i1 %t59, label %grow18, label %put19 grow18: %t60 = mul i32 %t58, 2 %t61 = icmp eq i32 %t58, 0 %t62 = select i1 %t61, i32 8, i32 %t60 %t63 = getelementptr ptr, ptr null, i32 1 %t64 = ptrtoint ptr %t63 to i64 %t65 = zext i32 %t62 to i64 %t66 = mul i64 %t65, %t64 %t67 = load ptr, ptr %t56 store i32 1187, ptr @lp_site %t68 = call ptr @lp_realloc(ptr %t67, i64 %t66) store i32 0, ptr @lp_site store ptr %t68, ptr %t56 store i32 %t62, ptr %t55 br label %put19 put19: %t69 = load ptr, ptr %t56 %t70 = getelementptr inbounds ptr, ptr %t69, i32 %t57 store ptr %t53, ptr %t70 %t71 = add i32 %t57, 1 store i32 %t71, ptr %t54 %t72 = load ptr, ptr @g_g_mc_unit %t73 = load i32, ptr @g_g_mg_cur %t74 = getelementptr inbounds %LSlice, ptr %t72, i32 0, i32 1 %t75 = getelementptr inbounds %LSlice, ptr %t72, i32 0, i32 2 %t76 = getelementptr inbounds %LSlice, ptr %t72, i32 0, i32 0 %t77 = load i32, ptr %t74 %t78 = load i32, ptr %t75 %t79 = icmp sge i32 %t77, %t78 br i1 %t79, label %grow20, label %put21 grow20: %t80 = mul i32 %t78, 2 %t81 = icmp eq i32 %t78, 0 %t82 = select i1 %t81, i32 8, i32 %t80 %t83 = getelementptr i32, ptr null, i32 1 %t84 = ptrtoint ptr %t83 to i64 %t85 = zext i32 %t82 to i64 %t86 = mul i64 %t85, %t84 %t87 = load ptr, ptr %t76 store i32 1188, ptr @lp_site %t88 = call ptr @lp_realloc(ptr %t87, i64 %t86) store i32 0, ptr @lp_site store ptr %t88, ptr %t76 store i32 %t82, ptr %t75 br label %put21 put21: %t89 = load ptr, ptr %t76 %t90 = getelementptr inbounds i32, ptr %t89, i32 %t77 store i32 %t73, ptr %t90 %t91 = add i32 %t77, 1 store i32 %t91, ptr %t74 %t92 = load ptr, ptr @g_g_mc_callee %t93 = load ptr, ptr %t1 %t94 = call i32 @fn_mg_unit(ptr %t93, i32 0) %t95 = getelementptr inbounds %LSlice, ptr %t92, i32 0, i32 1 %t96 = getelementptr inbounds %LSlice, ptr %t92, i32 0, i32 2 %t97 = getelementptr inbounds %LSlice, ptr %t92, i32 0, i32 0 %t98 = load i32, ptr %t95 %t99 = load i32, ptr %t96 %t100 = icmp sge i32 %t98, %t99 br i1 %t100, label %grow22, label %put23 grow22: %t101 = mul i32 %t99, 2 %t102 = icmp eq i32 %t99, 0 %t103 = select i1 %t102, i32 8, i32 %t101 %t104 = getelementptr i32, 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 store i32 1189, ptr @lp_site %t109 = call ptr @lp_realloc(ptr %t108, i64 %t107) store i32 0, ptr @lp_site store ptr %t109, ptr %t97 store i32 %t103, ptr %t96 br label %put23 put23: %t110 = load ptr, ptr %t97 %t111 = getelementptr inbounds i32, ptr %t110, i32 %t98 store i32 %t94, ptr %t111 %t112 = add i32 %t98, 1 store i32 %t112, ptr %t95 %t113 = load ptr, ptr %t0 %t114 = load ptr, ptr %t1 %t115 = load ptr, ptr @g_g_mc_call %t116 = getelementptr inbounds %LSlice, ptr %t115, i32 0, i32 1 %t117 = load i32, ptr %t116 %t118 = sub i32 %t117, 1 call void @fn_mg_state_args(ptr %t113, ptr %t114, i32 %t118) store i32 0, ptr %t119 %t121 = load ptr, ptr %t0 %t122 = getelementptr inbounds %Cmp_Node, ptr %t121, i32 0, i32 7 %t123 = load ptr, ptr %t122 %t124 = getelementptr inbounds %LSlice, ptr %t123, i32 0, i32 1 %t125 = load i32, ptr %t124 %t126 = icmp sgt i32 %t125, 0 %t127 = zext i1 %t126 to i32 %t128 = icmp ne i32 %t127, 0 %t129 = zext i1 %t128 to i32 store i32 %t129, ptr %t120 br i1 %t128, label %sc24, label %scend25 sc24: %t130 = load ptr, ptr %t0 %t131 = getelementptr inbounds %Cmp_Node, ptr %t130, i32 0, i32 7 %t132 = load ptr, ptr %t131 %t133 = getelementptr inbounds %LSlice, ptr %t132, i32 0, i32 0 %t134 = load ptr, ptr %t133 %t135 = getelementptr inbounds %LSlice, ptr %t132, i32 0, i32 1 %t136 = load i32, ptr %t135 %t137 = icmp ult i32 0, %t136 br i1 %t137, label %ixok26, label %ixbad27 ixbad27: store i32 1190, ptr @lp_site %t138 = call ptr @lp_win_stdio(i32 2) store i32 0, ptr @lp_site call i32 (ptr, ptr, ...) @fprintf(ptr %t138, ptr @.fmt_bounds, ptr @.str1794, i32 0, i32 %t136) call void @exit(i32 1) unreachable ixok26: %t139 = getelementptr inbounds ptr, ptr %t134, i32 0 %t140 = load ptr, ptr %t139 %t141 = getelementptr inbounds %Cmp_Node, ptr %t140, i32 0, i32 0 %t142 = load i32, ptr %t141 %t143 = icmp eq i32 %t142, 33 %t144 = zext i1 %t143 to i32 %t145 = icmp ne i32 %t144, 0 %t146 = zext i1 %t145 to i32 store i32 %t146, ptr %t120 br label %scend25 scend25: %t147 = load i32, ptr %t120 %t148 = icmp ne i32 %t147, 0 br i1 %t148, label %then28, label %ifend30 then28: %t149 = load ptr, ptr %t0 %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 %LSlice, ptr %t151, i32 0, i32 1 %t155 = load i32, ptr %t154 %t156 = icmp ult i32 0, %t155 br i1 %t156, label %ixok31, label %ixbad32 ixbad32: store i32 1191, ptr @lp_site %t157 = call ptr @lp_win_stdio(i32 2) store i32 0, ptr @lp_site call i32 (ptr, ptr, ...) @fprintf(ptr %t157, ptr @.fmt_bounds, ptr @.str1795, i32 0, i32 %t155) call void @exit(i32 1) unreachable ixok31: %t158 = getelementptr inbounds ptr, ptr %t153, i32 0 %t159 = load ptr, ptr %t158 %t160 = getelementptr inbounds %Cmp_Node, ptr %t159, i32 0, i32 1 %t161 = load ptr, ptr %t160 %t162 = call i32 @fn_ck_local(ptr %t161) store i32 %t162, ptr %t163 %t165 = load i32, ptr %t163 %t166 = icmp sge i32 %t165, 0 %t167 = zext i1 %t166 to i32 %t168 = icmp ne i32 %t167, 0 %t169 = zext i1 %t168 to i32 store i32 %t169, ptr %t164 br i1 %t168, label %sc33, label %scend34 sc33: %t170 = load ptr, ptr @g_ck_tys %t171 = load i32, ptr %t163 %t172 = getelementptr inbounds %LSlice, ptr %t170, i32 0, i32 0 %t173 = load ptr, ptr %t172 %t174 = getelementptr inbounds %LSlice, ptr %t170, i32 0, i32 1 %t175 = load i32, ptr %t174 %t176 = icmp ult i32 %t171, %t175 br i1 %t176, label %ixok35, label %ixbad36 ixbad36: store i32 1192, ptr @lp_site %t177 = call ptr @lp_win_stdio(i32 2) store i32 0, ptr @lp_site call i32 (ptr, ptr, ...) @fprintf(ptr %t177, ptr @.fmt_bounds, ptr @.str1796, i32 %t171, i32 %t175) call void @exit(i32 1) unreachable ixok35: %t178 = getelementptr inbounds ptr, ptr %t173, i32 %t171 %t179 = load ptr, ptr %t178 %t180 = call i32 @fn_is_state_ty(ptr %t179) %t181 = icmp ne i32 %t180, 0 %t182 = zext i1 %t181 to i32 store i32 %t182, ptr %t164 br label %scend34 scend34: %t183 = load i32, ptr %t164 %t184 = icmp ne i32 %t183, 0 br i1 %t184, label %then37, label %ifend39 then37: store i32 1, ptr %t119 br label %ifend39 ifend39: br label %ifend30 ifend30: %t185 = load ptr, ptr @g_g_mc_passed %t186 = load i32, ptr %t119 %t187 = getelementptr inbounds %LSlice, ptr %t185, i32 0, i32 1 %t188 = getelementptr inbounds %LSlice, ptr %t185, i32 0, i32 2 %t189 = getelementptr inbounds %LSlice, ptr %t185, i32 0, i32 0 %t190 = load i32, ptr %t187 %t191 = load i32, ptr %t188 %t192 = icmp sge i32 %t190, %t191 br i1 %t192, label %grow40, label %put41 grow40: %t193 = mul i32 %t191, 2 %t194 = icmp eq i32 %t191, 0 %t195 = select i1 %t194, i32 8, i32 %t193 %t196 = getelementptr i32, ptr null, i32 1 %t197 = ptrtoint ptr %t196 to i64 %t198 = zext i32 %t195 to i64 %t199 = mul i64 %t198, %t197 %t200 = load ptr, ptr %t189 store i32 1193, ptr @lp_site %t201 = call ptr @lp_realloc(ptr %t200, i64 %t199) store i32 0, ptr @lp_site store ptr %t201, ptr %t189 store i32 %t195, ptr %t188 br label %put41 put41: %t202 = load ptr, ptr %t189 %t203 = getelementptr inbounds i32, ptr %t202, i32 %t190 store i32 %t186, ptr %t203 %t204 = add i32 %t190, 1 store i32 %t204, ptr %t187 br label %ret ret: ret void } define void @fn_mg_state_args(ptr %arg_e, ptr %arg_f, i32 %arg_c) { entry: %t0 = alloca ptr %t1 = alloca ptr %t2 = alloca i32 %t3 = alloca i32 %t4 = alloca i32 %t42 = alloca i32 %t49 = alloca ptr %t50 = alloca i32 %t72 = alloca ptr %t73 = alloca i32 %t84 = alloca i32 %t85 = alloca i32 %t118 = alloca i32 %t119 = alloca i32 %t134 = alloca i32 %t236 = alloca i32 %t269 = alloca i32 store ptr %arg_e, ptr %t0 store ptr %arg_f, ptr %t1 store i32 %arg_c, ptr %t2 store i32 0, ptr %t3 store i32 0, ptr %t4 br label %wcond0 wcond0: %t5 = load i32, ptr %t4 %t6 = load ptr, ptr %t1 %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 %t1 %t15 = getelementptr inbounds %Cmp_Node, ptr %t14, i32 0, i32 7 %t16 = load ptr, ptr %t15 %t17 = load i32, ptr %t4 %t18 = getelementptr inbounds %LSlice, ptr %t16, i32 0, i32 0 %t19 = load ptr, ptr %t18 %t20 = getelementptr inbounds %LSlice, ptr %t16, i32 0, i32 1 %t21 = load i32, ptr %t20 %t22 = icmp ult i32 %t17, %t21 br i1 %t22, label %ixok3, label %ixbad4 ixbad4: store i32 1194, ptr @lp_site %t23 = call ptr @lp_win_stdio(i32 2) store i32 0, ptr @lp_site call i32 (ptr, ptr, ...) @fprintf(ptr %t23, ptr @.fmt_bounds, ptr @.str1797, i32 %t17, i32 %t21) call void @exit(i32 1) unreachable ixok3: %t24 = getelementptr inbounds ptr, ptr %t19, i32 %t17 %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 %then5, label %ifend7 then5: %t31 = load i32, ptr %t3 %t32 = add i32 %t31, 1 store i32 %t32, ptr %t3 br label %ifend7 ifend7: %t33 = load i32, ptr %t4 %t34 = add i32 %t33, 1 store i32 %t34, ptr %t4 br label %wcond0 wend2: %t35 = load ptr, ptr %t0 %t36 = getelementptr inbounds %Cmp_Node, ptr %t35, i32 0, i32 7 %t37 = load ptr, ptr %t36 %t38 = getelementptr inbounds %LSlice, ptr %t37, i32 0, i32 1 %t39 = load i32, ptr %t38 %t40 = load i32, ptr %t3 %t41 = sub i32 %t39, %t40 store i32 %t41, ptr %t42 %t43 = getelementptr %LSlice, ptr null, i32 1 %t44 = ptrtoint ptr %t43 to i64 store i32 1195, ptr @lp_site %t45 = call ptr @lp_malloc(i64 %t44) store i32 0, ptr @lp_site %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 %wcond8 wcond8: %t51 = load i32, ptr %t50 %t52 = load ptr, ptr %t0 %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 %t51, %t56 %t58 = zext i1 %t57 to i32 %t59 = icmp ne i32 %t58, 0 br i1 %t59, label %wbody9, label %wend10 wbody9: %t60 = load ptr, ptr %t0 %t61 = getelementptr inbounds %Cmp_Node, ptr %t60, i32 0, i32 7 %t62 = load ptr, ptr %t61 %t63 = load i32, ptr %t50 %t64 = getelementptr inbounds %LSlice, ptr %t62, i32 0, i32 0 %t65 = load ptr, ptr %t64 %t66 = getelementptr inbounds %LSlice, ptr %t62, i32 0, i32 1 %t67 = load i32, ptr %t66 %t68 = icmp ult i32 %t63, %t67 br i1 %t68, label %ixok11, label %ixbad12 ixbad12: store i32 1196, ptr @lp_site %t69 = call ptr @lp_win_stdio(i32 2) store i32 0, ptr @lp_site call i32 (ptr, ptr, ...) @fprintf(ptr %t69, ptr @.fmt_bounds, ptr @.str1799, i32 %t63, i32 %t67) call void @exit(i32 1) unreachable ixok11: %t70 = getelementptr inbounds ptr, ptr %t65, i32 %t63 %t71 = load ptr, ptr %t70 store ptr %t71, ptr %t72 store i32 0, ptr %t73 %t74 = load ptr, ptr %t72 %t75 = getelementptr inbounds %Cmp_Node, ptr %t74, i32 0, i32 0 %t76 = load i32, ptr %t75 %t77 = icmp eq i32 %t76, 33 %t78 = zext i1 %t77 to i32 %t79 = icmp ne i32 %t78, 0 br i1 %t79, label %then13, label %ifend15 then13: %t80 = load ptr, ptr %t72 %t81 = getelementptr inbounds %Cmp_Node, ptr %t80, i32 0, i32 1 %t82 = load ptr, ptr %t81 %t83 = call i32 @fn_ck_local(ptr %t82) store i32 %t83, ptr %t84 %t86 = load i32, ptr %t84 %t87 = icmp sge i32 %t86, 0 %t88 = zext i1 %t87 to i32 %t89 = icmp ne i32 %t88, 0 %t90 = zext i1 %t89 to i32 store i32 %t90, ptr %t85 br i1 %t89, label %sc16, label %scend17 sc16: %t91 = load ptr, ptr @g_ck_tys %t92 = load i32, ptr %t84 %t93 = getelementptr inbounds %LSlice, ptr %t91, i32 0, i32 0 %t94 = load ptr, ptr %t93 %t95 = getelementptr inbounds %LSlice, ptr %t91, i32 0, i32 1 %t96 = load i32, ptr %t95 %t97 = icmp ult i32 %t92, %t96 br i1 %t97, label %ixok18, label %ixbad19 ixbad19: store i32 1197, ptr @lp_site %t98 = call ptr @lp_win_stdio(i32 2) store i32 0, ptr @lp_site call i32 (ptr, ptr, ...) @fprintf(ptr %t98, ptr @.fmt_bounds, ptr @.str1800, i32 %t92, i32 %t96) call void @exit(i32 1) unreachable ixok18: %t99 = getelementptr inbounds ptr, ptr %t94, i32 %t92 %t100 = load ptr, ptr %t99 %t101 = call i32 @fn_is_state_ty(ptr %t100) %t102 = icmp ne i32 %t101, 0 %t103 = zext i1 %t102 to i32 store i32 %t103, ptr %t85 br label %scend17 scend17: %t104 = load i32, ptr %t85 %t105 = icmp ne i32 %t104, 0 br i1 %t105, label %then20, label %ifend22 then20: %t106 = load ptr, ptr %t1 %t107 = load ptr, ptr @g_ck_tys %t108 = load i32, ptr %t84 %t109 = getelementptr inbounds %LSlice, ptr %t107, i32 0, i32 0 %t110 = load ptr, ptr %t109 %t111 = getelementptr inbounds %LSlice, ptr %t107, i32 0, i32 1 %t112 = load i32, ptr %t111 %t113 = icmp ult i32 %t108, %t112 br i1 %t113, label %ixok23, label %ixbad24 ixbad24: store i32 1198, ptr @lp_site %t114 = call ptr @lp_win_stdio(i32 2) store i32 0, ptr @lp_site call i32 (ptr, ptr, ...) @fprintf(ptr %t114, ptr @.fmt_bounds, ptr @.str1801, i32 %t108, i32 %t112) call void @exit(i32 1) unreachable ixok23: %t115 = getelementptr inbounds ptr, ptr %t110, i32 %t108 %t116 = load ptr, ptr %t115 %t117 = call i32 @fn_mg_declared_ty(ptr %t106, ptr %t116) store i32 %t117, ptr %t118 %t120 = load i32, ptr %t118 %t121 = icmp eq i32 %t120, 0 %t122 = zext i1 %t121 to i32 %t123 = icmp ne i32 %t122, 0 %t124 = zext i1 %t123 to i32 store i32 %t124, ptr %t119 br i1 %t123, label %sc25, label %scend26 sc25: %t125 = load i32, ptr %t42 %t126 = icmp sgt i32 %t125, 0 %t127 = zext i1 %t126 to i32 %t128 = icmp ne i32 %t127, 0 %t129 = zext i1 %t128 to i32 store i32 %t129, ptr %t119 br label %scend26 scend26: %t130 = load i32, ptr %t119 %t131 = icmp ne i32 %t130, 0 br i1 %t131, label %then27, label %ifend29 then27: store i32 1, ptr %t73 %t132 = load i32, ptr %t42 %t133 = sub i32 %t132, 1 store i32 %t133, ptr %t42 br label %ifend29 ifend29: %t135 = load i32, ptr %t118 %t136 = icmp ne i32 %t135, 0 %t137 = zext i1 %t136 to i32 store i32 %t137, ptr %t134 br i1 %t136, label %scend31, label %sc30 sc30: %t138 = load i32, ptr %t73 %t139 = icmp ne i32 %t138, 0 %t140 = zext i1 %t139 to i32 store i32 %t140, ptr %t134 br label %scend31 scend31: %t141 = load i32, ptr %t134 %t142 = icmp ne i32 %t141, 0 br i1 %t142, label %then32, label %ifend34 then32: %t143 = load ptr, ptr %t72 %t144 = getelementptr inbounds %Cmp_Node, ptr %t143, i32 0, i32 15 %t145 = sub i32 0, 2 store i32 %t145, ptr %t144 %t146 = load ptr, ptr @g_g_ma_node %t147 = load ptr, ptr %t72 %t148 = getelementptr inbounds %LSlice, ptr %t146, i32 0, i32 1 %t149 = getelementptr inbounds %LSlice, ptr %t146, i32 0, i32 2 %t150 = getelementptr inbounds %LSlice, ptr %t146, i32 0, i32 0 %t151 = load i32, ptr %t148 %t152 = load i32, ptr %t149 %t153 = icmp sge i32 %t151, %t152 br i1 %t153, label %grow35, label %put36 grow35: %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 store i32 1199, ptr @lp_site %t162 = call ptr @lp_realloc(ptr %t161, i64 %t160) store i32 0, ptr @lp_site store ptr %t162, ptr %t150 store i32 %t156, ptr %t149 br label %put36 put36: %t163 = load ptr, ptr %t150 %t164 = getelementptr inbounds ptr, ptr %t163, i32 %t151 store ptr %t147, ptr %t164 %t165 = add i32 %t151, 1 store i32 %t165, ptr %t148 %t166 = load ptr, ptr @g_g_ma_call %t167 = load i32, ptr %t2 %t168 = getelementptr inbounds %LSlice, ptr %t166, i32 0, i32 1 %t169 = getelementptr inbounds %LSlice, ptr %t166, i32 0, i32 2 %t170 = getelementptr inbounds %LSlice, ptr %t166, i32 0, i32 0 %t171 = load i32, ptr %t168 %t172 = load i32, ptr %t169 %t173 = icmp sge i32 %t171, %t172 br i1 %t173, label %grow37, label %put38 grow37: %t174 = mul i32 %t172, 2 %t175 = icmp eq i32 %t172, 0 %t176 = select i1 %t175, i32 8, i32 %t174 %t177 = getelementptr i32, ptr null, i32 1 %t178 = ptrtoint ptr %t177 to i64 %t179 = zext i32 %t176 to i64 %t180 = mul i64 %t179, %t178 %t181 = load ptr, ptr %t170 store i32 1200, ptr @lp_site %t182 = call ptr @lp_realloc(ptr %t181, i64 %t180) store i32 0, ptr @lp_site store ptr %t182, ptr %t170 store i32 %t176, ptr %t169 br label %put38 put38: %t183 = load ptr, ptr %t170 %t184 = getelementptr inbounds i32, ptr %t183, i32 %t171 store i32 %t167, ptr %t184 %t185 = add i32 %t171, 1 store i32 %t185, ptr %t168 %t186 = load ptr, ptr @g_g_ma_state %t187 = load ptr, ptr @g_ck_tys %t188 = load i32, ptr %t84 %t189 = getelementptr inbounds %LSlice, ptr %t187, i32 0, i32 0 %t190 = load ptr, ptr %t189 %t191 = getelementptr inbounds %LSlice, ptr %t187, i32 0, i32 1 %t192 = load i32, ptr %t191 %t193 = icmp ult i32 %t188, %t192 br i1 %t193, label %ixok39, label %ixbad40 ixbad40: store i32 1201, ptr @lp_site %t194 = call ptr @lp_win_stdio(i32 2) store i32 0, ptr @lp_site call i32 (ptr, ptr, ...) @fprintf(ptr %t194, ptr @.fmt_bounds, ptr @.str1802, i32 %t188, i32 %t192) call void @exit(i32 1) unreachable ixok39: %t195 = getelementptr inbounds ptr, ptr %t190, i32 %t188 %t196 = load ptr, ptr %t195 %t197 = call i32 @fn_mg_state_named(ptr %t196) %t198 = getelementptr inbounds %LSlice, ptr %t186, i32 0, i32 1 %t199 = getelementptr inbounds %LSlice, ptr %t186, i32 0, i32 2 %t200 = getelementptr inbounds %LSlice, ptr %t186, i32 0, i32 0 %t201 = load i32, ptr %t198 %t202 = load i32, ptr %t199 %t203 = icmp sge i32 %t201, %t202 br i1 %t203, label %grow41, label %put42 grow41: %t204 = mul i32 %t202, 2 %t205 = icmp eq i32 %t202, 0 %t206 = select i1 %t205, i32 8, i32 %t204 %t207 = getelementptr i32, ptr null, i32 1 %t208 = ptrtoint ptr %t207 to i64 %t209 = zext i32 %t206 to i64 %t210 = mul i64 %t209, %t208 %t211 = load ptr, ptr %t200 store i32 1202, ptr @lp_site %t212 = call ptr @lp_realloc(ptr %t211, i64 %t210) store i32 0, ptr @lp_site store ptr %t212, ptr %t200 store i32 %t206, ptr %t199 br label %put42 put42: %t213 = load ptr, ptr %t200 %t214 = getelementptr inbounds i32, ptr %t213, i32 %t201 store i32 %t197, ptr %t214 %t215 = add i32 %t201, 1 store i32 %t215, ptr %t198 %t216 = load ptr, ptr @g_g_ma_excess %t217 = load i32, ptr %t73 %t218 = getelementptr inbounds %LSlice, ptr %t216, i32 0, i32 1 %t219 = getelementptr inbounds %LSlice, ptr %t216, i32 0, i32 2 %t220 = getelementptr inbounds %LSlice, ptr %t216, i32 0, i32 0 %t221 = load i32, ptr %t218 %t222 = load i32, ptr %t219 %t223 = icmp sge i32 %t221, %t222 br i1 %t223, label %grow43, label %put44 grow43: %t224 = mul i32 %t222, 2 %t225 = icmp eq i32 %t222, 0 %t226 = select i1 %t225, i32 8, i32 %t224 %t227 = getelementptr i32, ptr null, i32 1 %t228 = ptrtoint ptr %t227 to i64 %t229 = zext i32 %t226 to i64 %t230 = mul i64 %t229, %t228 %t231 = load ptr, ptr %t220 store i32 1203, ptr @lp_site %t232 = call ptr @lp_realloc(ptr %t231, i64 %t230) store i32 0, ptr @lp_site store ptr %t232, ptr %t220 store i32 %t226, ptr %t219 br label %put44 put44: %t233 = load ptr, ptr %t220 %t234 = getelementptr inbounds i32, ptr %t233, i32 %t221 store i32 %t217, ptr %t234 %t235 = add i32 %t221, 1 store i32 %t235, ptr %t218 br label %ifend34 ifend34: br label %ifend22 ifend22: br label %ifend15 ifend15: %t237 = load i32, ptr %t73 %t238 = icmp ne i32 %t237, 0 %t239 = zext i1 %t238 to i32 store i32 %t239, ptr %t236 br i1 %t238, label %sc45, label %scend46 sc45: %t240 = load i32, ptr @g_g_mg_prune %t241 = icmp ne i32 %t240, 0 %t242 = zext i1 %t241 to i32 store i32 %t242, ptr %t236 br label %scend46 scend46: %t243 = load i32, ptr %t236 %t244 = icmp eq i32 %t243, 0 %t245 = zext i1 %t244 to i32 %t246 = icmp ne i32 %t245, 0 br i1 %t246, label %then47, label %ifend49 then47: %t247 = load ptr, ptr %t49 %t248 = load ptr, ptr %t72 %t249 = getelementptr inbounds %LSlice, ptr %t247, i32 0, i32 1 %t250 = getelementptr inbounds %LSlice, ptr %t247, i32 0, i32 2 %t251 = getelementptr inbounds %LSlice, ptr %t247, i32 0, i32 0 %t252 = load i32, ptr %t249 %t253 = load i32, ptr %t250 %t254 = icmp sge i32 %t252, %t253 br i1 %t254, label %grow50, label %put51 grow50: %t255 = mul i32 %t253, 2 %t256 = icmp eq i32 %t253, 0 %t257 = select i1 %t256, i32 8, i32 %t255 %t258 = getelementptr ptr, ptr null, i32 1 %t259 = ptrtoint ptr %t258 to i64 %t260 = zext i32 %t257 to i64 %t261 = mul i64 %t260, %t259 %t262 = load ptr, ptr %t251 store i32 1204, ptr @lp_site %t263 = call ptr @lp_realloc(ptr %t262, i64 %t261) store i32 0, ptr @lp_site store ptr %t263, ptr %t251 store i32 %t257, ptr %t250 br label %put51 put51: %t264 = load ptr, ptr %t251 %t265 = getelementptr inbounds ptr, ptr %t264, i32 %t252 store ptr %t248, ptr %t265 %t266 = add i32 %t252, 1 store i32 %t266, ptr %t249 br label %ifend49 ifend49: %t267 = load i32, ptr %t50 %t268 = add i32 %t267, 1 store i32 %t268, ptr %t50 br label %wcond8 wend10: %t270 = load i32, ptr @g_g_mg_prune %t271 = icmp ne i32 %t270, 0 %t272 = zext i1 %t271 to i32 store i32 %t272, ptr %t269 br i1 %t271, label %sc52, label %scend53 sc52: %t273 = load ptr, ptr %t49 %t274 = getelementptr inbounds %LSlice, ptr %t273, i32 0, i32 1 %t275 = load i32, ptr %t274 %t276 = load ptr, ptr %t0 %t277 = getelementptr inbounds %Cmp_Node, ptr %t276, i32 0, i32 7 %t278 = load ptr, ptr %t277 %t279 = getelementptr inbounds %LSlice, ptr %t278, i32 0, i32 1 %t280 = load i32, ptr %t279 %t281 = icmp slt i32 %t275, %t280 %t282 = zext i1 %t281 to i32 %t283 = icmp ne i32 %t282, 0 %t284 = zext i1 %t283 to i32 store i32 %t284, ptr %t269 br label %scend53 scend53: %t285 = load i32, ptr %t269 %t286 = icmp ne i32 %t285, 0 br i1 %t286, label %then54, label %ifend56 then54: %t287 = load ptr, ptr %t0 %t288 = getelementptr inbounds %Cmp_Node, ptr %t287, i32 0, i32 7 %t289 = load ptr, ptr %t49 store ptr %t289, ptr %t288 br label %ifend56 ifend56: br label %ret ret: ret void } define i32 @fn_mg_declared_ty(ptr %arg_f, ptr %arg_ty) { entry: %retval = alloca i32 %t0 = alloca ptr %t1 = alloca ptr %t2 = alloca i32 %t12 = alloca i32 store ptr %arg_f, ptr %t0 store ptr %arg_ty, 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: %t13 = load ptr, ptr %t0 %t14 = getelementptr inbounds %Cmp_Node, ptr %t13, i32 0, i32 7 %t15 = load ptr, ptr %t14 %t16 = load i32, ptr %t2 %t17 = getelementptr inbounds %LSlice, ptr %t15, i32 0, i32 0 %t18 = load ptr, ptr %t17 %t19 = getelementptr inbounds %LSlice, ptr %t15, i32 0, i32 1 %t20 = load i32, ptr %t19 %t21 = icmp ult i32 %t16, %t20 br i1 %t21, label %ixok3, label %ixbad4 ixbad4: store i32 1205, ptr @lp_site %t22 = call ptr @lp_win_stdio(i32 2) store i32 0, ptr @lp_site call i32 (ptr, ptr, ...) @fprintf(ptr %t22, ptr @.fmt_bounds, ptr @.str1803, i32 %t16, i32 %t20) call void @exit(i32 1) unreachable ixok3: %t23 = getelementptr inbounds ptr, ptr %t18, i32 %t16 %t24 = load ptr, ptr %t23 %t25 = getelementptr inbounds %Cmp_Node, ptr %t24, i32 0, i32 0 %t26 = load i32, ptr %t25 %t27 = icmp eq i32 %t26, 5 %t28 = zext i1 %t27 to i32 %t29 = icmp ne i32 %t28, 0 %t30 = zext i1 %t29 to i32 store i32 %t30, ptr %t12 br i1 %t29, label %sc5, label %scend6 sc5: %t31 = load ptr, ptr %t0 %t32 = getelementptr inbounds %Cmp_Node, ptr %t31, i32 0, i32 7 %t33 = load ptr, ptr %t32 %t34 = load i32, ptr %t2 %t35 = getelementptr inbounds %LSlice, ptr %t33, i32 0, i32 0 %t36 = load ptr, ptr %t35 %t37 = getelementptr inbounds %LSlice, ptr %t33, i32 0, i32 1 %t38 = load i32, ptr %t37 %t39 = icmp ult i32 %t34, %t38 br i1 %t39, label %ixok7, label %ixbad8 ixbad8: store i32 1206, ptr @lp_site %t40 = call ptr @lp_win_stdio(i32 2) store i32 0, ptr @lp_site call i32 (ptr, ptr, ...) @fprintf(ptr %t40, ptr @.fmt_bounds, ptr @.str1805, i32 %t34, i32 %t38) call void @exit(i32 1) unreachable ixok7: %t41 = getelementptr inbounds ptr, ptr %t36, i32 %t34 %t42 = load ptr, ptr %t41 %t43 = getelementptr inbounds %Cmp_Node, ptr %t42, i32 0, i32 3 %t44 = load ptr, ptr %t43 %t45 = load ptr, ptr %t1 %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 %t12 br label %scend6 scend6: %t49 = load i32, ptr %t12 %t50 = icmp ne i32 %t49, 0 br i1 %t50, label %then9, label %ifend11 then9: store i32 1, ptr %retval br label %ret ifend11: %t51 = load i32, ptr %t2 %t52 = add i32 %t51, 1 store i32 %t52, ptr %t2 br label %wcond0 wend2: store i32 0, ptr %retval br label %ret ret: %t53 = load i32, ptr %retval ret i32 %t53 } define void @fn_mg_local_use(ptr %arg_e, ptr %arg_ty) { entry: %t0 = alloca ptr %t1 = alloca ptr %t2 = alloca i32 %t3 = alloca i32 %t4 = alloca i32 %t5 = alloca i32 store ptr %arg_e, ptr %t0 store ptr %arg_ty, ptr %t1 %t6 = load i32, ptr @g_g_migrate %t7 = icmp eq 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 %scend1, label %sc0 sc0: %t11 = load i32, ptr @g_g_mg_prune %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 %t5 br label %scend1 scend1: %t16 = load i32, ptr %t5 %t17 = icmp ne i32 %t16, 0 %t18 = zext i1 %t17 to i32 store i32 %t18, ptr %t4 br i1 %t17, label %scend3, label %sc2 sc2: %t19 = load i32, ptr @g_g_mg_cur %t20 = icmp slt i32 %t19, 0 %t21 = zext i1 %t20 to i32 %t22 = icmp ne i32 %t21, 0 %t23 = zext i1 %t22 to i32 store i32 %t23, ptr %t4 br label %scend3 scend3: %t24 = load i32, ptr %t4 %t25 = icmp ne i32 %t24, 0 %t26 = zext i1 %t25 to i32 store i32 %t26, ptr %t3 br i1 %t25, label %scend5, label %sc4 sc4: %t27 = load ptr, ptr %t0 %t28 = getelementptr inbounds %Cmp_Node, ptr %t27, i32 0, i32 15 %t29 = load i32, ptr %t28 %t30 = sub i32 0, 2 %t31 = icmp eq i32 %t29, %t30 %t32 = zext i1 %t31 to i32 %t33 = icmp ne i32 %t32, 0 %t34 = zext i1 %t33 to i32 store i32 %t34, ptr %t3 br label %scend5 scend5: %t35 = load i32, ptr %t3 %t36 = icmp ne i32 %t35, 0 %t37 = zext i1 %t36 to i32 store i32 %t37, ptr %t2 br i1 %t36, label %scend7, label %sc6 sc6: %t38 = load ptr, ptr %t0 %t39 = getelementptr inbounds %Cmp_Node, ptr %t38, i32 0, i32 13 %t40 = load i32, ptr %t39 %t41 = icmp slt i32 %t40, 0 %t42 = zext i1 %t41 to i32 %t43 = icmp ne i32 %t42, 0 %t44 = zext i1 %t43 to i32 store i32 %t44, ptr %t2 br label %scend7 scend7: %t45 = load i32, ptr %t2 %t46 = icmp ne i32 %t45, 0 br i1 %t46, label %then8, label %ifend10 then8: br label %ret ifend10: %t47 = load ptr, ptr %t1 %t48 = call i32 @fn_is_state_ty(ptr %t47) %t49 = icmp eq i32 %t48, 0 %t50 = zext i1 %t49 to i32 %t51 = icmp ne i32 %t50, 0 br i1 %t51, label %then11, label %ifend13 then11: br label %ret ifend13: %t52 = load i32, ptr @g_g_mg_cur %t53 = load ptr, ptr %t1 %t54 = call i32 @fn_mg_state_named(ptr %t53) %t55 = call i32 @fn_mg_need(i32 %t52, i32 %t54, i32 0) br label %ret ret: ret void } define void @fn_mg_local_write(ptr %arg_ty) { entry: %t0 = alloca ptr %t1 = alloca i32 %t2 = alloca i32 %t3 = alloca i32 store ptr %arg_ty, ptr %t0 %t4 = load i32, ptr @g_g_migrate %t5 = icmp eq i32 %t4, 0 %t6 = zext i1 %t5 to i32 %t7 = icmp ne i32 %t6, 0 %t8 = zext i1 %t7 to i32 store i32 %t8, ptr %t3 br i1 %t7, label %scend1, label %sc0 sc0: %t9 = load i32, ptr @g_g_mg_prune %t10 = icmp eq i32 %t9, 0 %t11 = zext i1 %t10 to i32 %t12 = icmp ne i32 %t11, 0 %t13 = zext i1 %t12 to i32 store i32 %t13, ptr %t3 br label %scend1 scend1: %t14 = load i32, ptr %t3 %t15 = icmp ne i32 %t14, 0 %t16 = zext i1 %t15 to i32 store i32 %t16, ptr %t2 br i1 %t15, label %scend3, label %sc2 sc2: %t17 = load i32, ptr @g_g_mg_cur %t18 = icmp slt 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 %t2 br label %scend3 scend3: %t22 = load i32, ptr %t2 %t23 = icmp ne i32 %t22, 0 %t24 = zext i1 %t23 to i32 store i32 %t24, ptr %t1 br i1 %t23, label %scend5, label %sc4 sc4: %t25 = load ptr, ptr %t0 %t26 = icmp eq ptr %t25, null %t27 = zext i1 %t26 to i32 %t28 = icmp ne i32 %t27, 0 %t29 = zext i1 %t28 to i32 store i32 %t29, ptr %t1 br label %scend5 scend5: %t30 = load i32, ptr %t1 %t31 = icmp ne i32 %t30, 0 br i1 %t31, label %then6, label %ifend8 then6: br label %ret ifend8: %t32 = load ptr, ptr %t0 %t33 = call i32 @fn_is_state_ty(ptr %t32) %t34 = icmp eq i32 %t33, 0 %t35 = zext i1 %t34 to i32 %t36 = icmp ne i32 %t35, 0 br i1 %t36, label %then9, label %ifend11 then9: br label %ret ifend11: %t37 = load i32, ptr @g_g_mg_cur %t38 = load ptr, ptr %t0 %t39 = call i32 @fn_mg_state_named(ptr %t38) %t40 = call i32 @fn_mg_need(i32 %t37, i32 %t39, i32 1) br label %ret ret: ret void } define void @fn_mg_say(ptr %arg_n, ptr %arg_what) { entry: %t0 = alloca ptr %t1 = alloca ptr %t2 = alloca ptr %t3 = alloca i32 store ptr %arg_n, ptr %t0 store ptr %arg_what, ptr %t1 store ptr @.str1806, ptr %t2 %t4 = load ptr, ptr %t0 %t5 = icmp ne ptr %t4, null %t6 = zext i1 %t5 to i32 %t7 = icmp ne i32 %t6, 0 %t8 = zext i1 %t7 to i32 store i32 %t8, ptr %t3 br i1 %t7, label %sc0, label %scend1 sc0: %t9 = load ptr, ptr %t0 %t10 = getelementptr inbounds %Cmp_Node, ptr %t9, i32 0, i32 9 %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 %t3 br label %scend1 scend1: %t16 = load i32, ptr %t3 %t17 = icmp ne i32 %t16, 0 br i1 %t17, label %then2, label %ifend4 then2: %t18 = load ptr, ptr %t0 %t19 = getelementptr inbounds %Cmp_Node, ptr %t18, i32 0, i32 9 %t20 = load ptr, ptr %t19 store i32 1207, ptr @lp_site %t21 = call ptr @lp_str_concat(ptr %t20, ptr @.str1807) store i32 0, ptr @lp_site %t22 = load ptr, ptr %t0 %t23 = getelementptr inbounds %Cmp_Node, ptr %t22, i32 0, i32 8 %t24 = load i32, ptr %t23 %t25 = call ptr @fn_itoa(i32 %t24) store i32 1208, ptr @lp_site %t26 = call ptr @lp_str_concat(ptr %t21, ptr %t25) store i32 0, ptr @lp_site call void @lp_free(ptr %t21) store ptr %t26, ptr %t2 br label %ifend4 ifend4: %t27 = load ptr, ptr @g_g_mg_report %t28 = load ptr, ptr %t2 store i32 1209, ptr @lp_site %t29 = call ptr @lp_str_concat(ptr @.str1809, ptr %t28) store i32 0, ptr @lp_site store i32 1210, ptr @lp_site %t30 = call ptr @lp_str_concat(ptr %t29, ptr @.str1810) store i32 0, ptr @lp_site call void @lp_free(ptr %t29) %t31 = load ptr, ptr %t1 store i32 1211, ptr @lp_site %t32 = call ptr @lp_str_concat(ptr %t30, ptr %t31) store i32 0, ptr @lp_site call void @lp_free(ptr %t30) %t33 = getelementptr inbounds %LSlice, ptr %t27, i32 0, i32 1 %t34 = getelementptr inbounds %LSlice, ptr %t27, i32 0, i32 2 %t35 = getelementptr inbounds %LSlice, ptr %t27, i32 0, i32 0 %t36 = load i32, ptr %t33 %t37 = load i32, ptr %t34 %t38 = icmp sge i32 %t36, %t37 br i1 %t38, label %grow5, label %put6 grow5: %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 store i32 1212, ptr @lp_site %t47 = call ptr @lp_realloc(ptr %t46, i64 %t45) store i32 0, ptr @lp_site store ptr %t47, ptr %t35 store i32 %t41, ptr %t34 br label %put6 put6: %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 br label %ret ret: ret void } define void @fn_mg_fixpoint() { entry: %t0 = alloca i32 %t3 = alloca i32 %t21 = alloca i32 %t32 = alloca i32 %t44 = alloca ptr %t45 = alloca i32 %t63 = alloca i32 store i32 1, ptr %t0 br label %wcond0 wcond0: %t1 = load i32, ptr %t0 %t2 = icmp ne i32 %t1, 0 br i1 %t2, label %wbody1, label %wend2 wbody1: store i32 0, ptr %t0 store i32 0, ptr %t3 br label %wcond3 wcond3: %t4 = load i32, ptr %t3 %t5 = load ptr, ptr @g_g_mc_call %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 %wbody4, label %wend5 wbody4: %t11 = load ptr, ptr @g_g_mc_unit %t12 = load i32, ptr %t3 %t13 = getelementptr inbounds %LSlice, ptr %t11, i32 0, i32 0 %t14 = load ptr, ptr %t13 %t15 = getelementptr inbounds %LSlice, ptr %t11, i32 0, i32 1 %t16 = load i32, ptr %t15 %t17 = icmp ult i32 %t12, %t16 br i1 %t17, label %ixok6, label %ixbad7 ixbad7: store i32 1213, ptr @lp_site %t18 = call ptr @lp_win_stdio(i32 2) store i32 0, ptr @lp_site call i32 (ptr, ptr, ...) @fprintf(ptr %t18, ptr @.fmt_bounds, ptr @.str1811, i32 %t12, i32 %t16) call void @exit(i32 1) unreachable ixok6: %t19 = getelementptr inbounds i32, ptr %t14, i32 %t12 %t20 = load i32, ptr %t19 store i32 %t20, ptr %t21 %t22 = load ptr, ptr @g_g_mc_callee %t23 = load i32, ptr %t3 %t24 = getelementptr inbounds %LSlice, ptr %t22, i32 0, i32 0 %t25 = load ptr, ptr %t24 %t26 = getelementptr inbounds %LSlice, ptr %t22, i32 0, i32 1 %t27 = load i32, ptr %t26 %t28 = icmp ult i32 %t23, %t27 br i1 %t28, label %ixok8, label %ixbad9 ixbad9: store i32 1214, ptr @lp_site %t29 = call ptr @lp_win_stdio(i32 2) store i32 0, ptr @lp_site call i32 (ptr, ptr, ...) @fprintf(ptr %t29, ptr @.fmt_bounds, ptr @.str1813, i32 %t23, i32 %t27) call void @exit(i32 1) unreachable ixok8: %t30 = getelementptr inbounds i32, ptr %t25, i32 %t23 %t31 = load i32, ptr %t30 store i32 %t31, ptr %t32 %t33 = load ptr, ptr @g_g_mu_need %t34 = load i32, ptr %t32 %t35 = getelementptr inbounds %LSlice, ptr %t33, i32 0, i32 0 %t36 = load ptr, ptr %t35 %t37 = getelementptr inbounds %LSlice, ptr %t33, i32 0, i32 1 %t38 = load i32, ptr %t37 %t39 = icmp ult i32 %t34, %t38 br i1 %t39, label %ixok10, label %ixbad11 ixbad11: store i32 1215, ptr @lp_site %t40 = call ptr @lp_win_stdio(i32 2) store i32 0, ptr @lp_site call i32 (ptr, ptr, ...) @fprintf(ptr %t40, ptr @.fmt_bounds, ptr @.str1814, i32 %t34, i32 %t38) call void @exit(i32 1) unreachable ixok10: %t41 = getelementptr inbounds ptr, ptr %t36, i32 %t34 %t42 = load ptr, ptr %t41 %t43 = call ptr @fn_mg_list(ptr %t42) store ptr %t43, ptr %t44 store i32 0, ptr %t45 br label %wcond12 wcond12: %t46 = load i32, ptr %t45 %t47 = load ptr, ptr %t44 %t48 = getelementptr inbounds %LSlice, ptr %t47, i32 0, i32 1 %t49 = load i32, ptr %t48 %t50 = icmp slt i32 %t46, %t49 %t51 = zext i1 %t50 to i32 %t52 = icmp ne i32 %t51, 0 br i1 %t52, label %wbody13, label %wend14 wbody13: %t53 = load ptr, ptr %t44 %t54 = load i32, ptr %t45 %t55 = getelementptr inbounds %LSlice, ptr %t53, i32 0, i32 0 %t56 = load ptr, ptr %t55 %t57 = getelementptr inbounds %LSlice, ptr %t53, i32 0, i32 1 %t58 = load i32, ptr %t57 %t59 = icmp ult i32 %t54, %t58 br i1 %t59, label %ixok15, label %ixbad16 ixbad16: store i32 1216, ptr @lp_site %t60 = call ptr @lp_win_stdio(i32 2) store i32 0, ptr @lp_site call i32 (ptr, ptr, ...) @fprintf(ptr %t60, ptr @.fmt_bounds, ptr @.str1815, i32 %t54, i32 %t58) call void @exit(i32 1) unreachable ixok15: %t61 = getelementptr inbounds i32, ptr %t56, i32 %t54 %t62 = load i32, ptr %t61 store i32 %t62, ptr %t63 %t64 = load i32, ptr %t21 %t65 = load i32, ptr %t63 %t66 = load ptr, ptr @g_g_mu_mut %t67 = load i32, ptr %t32 %t68 = getelementptr inbounds %LSlice, ptr %t66, i32 0, i32 0 %t69 = load ptr, ptr %t68 %t70 = getelementptr inbounds %LSlice, ptr %t66, i32 0, i32 1 %t71 = load i32, ptr %t70 %t72 = icmp ult i32 %t67, %t71 br i1 %t72, label %ixok17, label %ixbad18 ixbad18: store i32 1217, ptr @lp_site %t73 = call ptr @lp_win_stdio(i32 2) store i32 0, ptr @lp_site call i32 (ptr, ptr, ...) @fprintf(ptr %t73, ptr @.fmt_bounds, ptr @.str1816, i32 %t67, i32 %t71) call void @exit(i32 1) unreachable ixok17: %t74 = getelementptr inbounds ptr, ptr %t69, i32 %t67 %t75 = load ptr, ptr %t74 %t76 = load i32, ptr %t63 %t77 = call ptr @fn_itoa(i32 %t76) store i32 1218, ptr @lp_site %t78 = call ptr @lp_str_concat(ptr @.str1817, ptr %t77) store i32 0, ptr @lp_site store i32 1219, ptr @lp_site %t79 = call ptr @lp_str_concat(ptr %t78, ptr @.str1818) store i32 0, ptr @lp_site call void @lp_free(ptr %t78) %t80 = call i32 @fn_has_sub(ptr %t75, ptr %t79) %t81 = call i32 @fn_mg_need(i32 %t64, i32 %t65, i32 %t80) %t82 = icmp ne i32 %t81, 0 br i1 %t82, label %then19, label %ifend21 then19: store i32 1, ptr %t0 br label %ifend21 ifend21: %t83 = load i32, ptr %t45 %t84 = add i32 %t83, 1 store i32 %t84, ptr %t45 br label %wcond12 wend14: %t85 = load i32, ptr %t3 %t86 = add i32 %t85, 1 store i32 %t86, ptr %t3 br label %wcond3 wend5: br label %wcond0 wend2: br label %ret ret: ret void } define ptr @fn_mg_list(ptr %arg_set) { entry: %retval = alloca ptr %t0 = alloca ptr %t7 = alloca ptr %t8 = alloca i32 %t9 = alloca i32 %t10 = alloca i32 %t23 = alloca i32 %t57 = alloca i32 %t75 = alloca i32 %t78 = alloca i32 %t79 = alloca i32 store ptr %arg_set, ptr %t0 %t1 = getelementptr %LSlice, ptr null, i32 1 %t2 = ptrtoint ptr %t1 to i64 store i32 1220, ptr @lp_site %t3 = call ptr @lp_malloc(i64 %t2) store i32 0, ptr @lp_site %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 store i32 0, ptr %t9 store i32 1, ptr %t10 br label %wcond0 wcond0: %t11 = load i32, ptr %t10 %t12 = load ptr, ptr %t0 %t13 = call i64 @strlen(ptr %t12) %t14 = trunc i64 %t13 to i32 %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 %t0 %t19 = load i32, ptr %t10 %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, 44 %t26 = zext i1 %t25 to i32 %t27 = icmp ne i32 %t26, 0 br i1 %t27, label %then3, label %else4 then3: %t28 = load i32, ptr %t9 %t29 = icmp ne i32 %t28, 0 br i1 %t29, label %then6, label %ifend8 then6: %t30 = load ptr, ptr %t7 %t31 = load i32, ptr %t8 %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 %grow9, label %put10 grow9: %t38 = mul i32 %t36, 2 %t39 = icmp eq i32 %t36, 0 %t40 = select i1 %t39, i32 8, i32 %t38 %t41 = getelementptr i32, 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 store i32 1221, ptr @lp_site %t46 = call ptr @lp_realloc(ptr %t45, i64 %t44) store i32 0, ptr @lp_site store ptr %t46, ptr %t34 store i32 %t40, ptr %t33 br label %put10 put10: %t47 = load ptr, ptr %t34 %t48 = getelementptr inbounds i32, ptr %t47, i32 %t35 store i32 %t31, ptr %t48 %t49 = add i32 %t35, 1 store i32 %t49, ptr %t32 br label %ifend8 ifend8: store i32 0, ptr %t8 store i32 0, ptr %t9 br label %ifend5 else4: %t50 = load i32, ptr %t8 %t51 = mul i32 %t50, 10 %t52 = load i32, ptr %t23 %t53 = sub i32 %t52, 48 %t54 = add i32 %t51, %t53 store i32 %t54, ptr %t8 store i32 1, ptr %t9 br label %ifend5 ifend5: %t55 = load i32, ptr %t10 %t56 = add i32 %t55, 1 store i32 %t56, ptr %t10 br label %wcond0 wend2: store i32 1, ptr %t57 br label %wcond11 wcond11: %t58 = load i32, ptr %t57 %t59 = load ptr, ptr %t7 %t60 = getelementptr inbounds %LSlice, ptr %t59, i32 0, i32 1 %t61 = load i32, ptr %t60 %t62 = icmp slt i32 %t58, %t61 %t63 = zext i1 %t62 to i32 %t64 = icmp ne i32 %t63, 0 br i1 %t64, label %wbody12, label %wend13 wbody12: %t65 = load ptr, ptr %t7 %t66 = load i32, ptr %t57 %t67 = getelementptr inbounds %LSlice, ptr %t65, i32 0, i32 0 %t68 = load ptr, ptr %t67 %t69 = getelementptr inbounds %LSlice, ptr %t65, i32 0, i32 1 %t70 = load i32, ptr %t69 %t71 = icmp ult i32 %t66, %t70 br i1 %t71, label %ixok14, label %ixbad15 ixbad15: store i32 1222, ptr @lp_site %t72 = call ptr @lp_win_stdio(i32 2) store i32 0, ptr @lp_site call i32 (ptr, ptr, ...) @fprintf(ptr %t72, ptr @.fmt_bounds, ptr @.str1820, i32 %t66, i32 %t70) call void @exit(i32 1) unreachable ixok14: %t73 = getelementptr inbounds i32, ptr %t68, i32 %t66 %t74 = load i32, ptr %t73 store i32 %t74, ptr %t75 %t76 = load i32, ptr %t57 %t77 = sub i32 %t76, 1 store i32 %t77, ptr %t78 br label %wcond16 wcond16: %t80 = load i32, ptr %t78 %t81 = icmp sge i32 %t80, 0 %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 %sc19, label %scend20 sc19: %t85 = load ptr, ptr @g_g_ms_name %t86 = load i32, ptr %t75 %t87 = getelementptr inbounds %LSlice, ptr %t85, i32 0, i32 0 %t88 = load ptr, ptr %t87 %t89 = getelementptr inbounds %LSlice, ptr %t85, i32 0, i32 1 %t90 = load i32, ptr %t89 %t91 = icmp ult i32 %t86, %t90 br i1 %t91, label %ixok21, label %ixbad22 ixbad22: store i32 1223, ptr @lp_site %t92 = call ptr @lp_win_stdio(i32 2) store i32 0, ptr @lp_site call i32 (ptr, ptr, ...) @fprintf(ptr %t92, ptr @.fmt_bounds, ptr @.str1821, i32 %t86, i32 %t90) call void @exit(i32 1) unreachable ixok21: %t93 = getelementptr inbounds ptr, ptr %t88, i32 %t86 %t94 = load ptr, ptr %t93 %t95 = load ptr, ptr @g_g_ms_name %t96 = load ptr, ptr %t7 %t97 = load i32, ptr %t78 %t98 = getelementptr inbounds %LSlice, ptr %t96, i32 0, i32 0 %t99 = load ptr, ptr %t98 %t100 = getelementptr inbounds %LSlice, ptr %t96, i32 0, i32 1 %t101 = load i32, ptr %t100 %t102 = icmp ult i32 %t97, %t101 br i1 %t102, label %ixok23, label %ixbad24 ixbad24: store i32 1224, ptr @lp_site %t103 = call ptr @lp_win_stdio(i32 2) store i32 0, ptr @lp_site call i32 (ptr, ptr, ...) @fprintf(ptr %t103, ptr @.fmt_bounds, ptr @.str1822, i32 %t97, i32 %t101) call void @exit(i32 1) unreachable ixok23: %t104 = getelementptr inbounds i32, ptr %t99, i32 %t97 %t105 = load i32, ptr %t104 %t106 = getelementptr inbounds %LSlice, ptr %t95, i32 0, i32 0 %t107 = load ptr, ptr %t106 %t108 = getelementptr inbounds %LSlice, ptr %t95, i32 0, i32 1 %t109 = load i32, ptr %t108 %t110 = icmp ult i32 %t105, %t109 br i1 %t110, label %ixok25, label %ixbad26 ixbad26: store i32 1225, ptr @lp_site %t111 = call ptr @lp_win_stdio(i32 2) store i32 0, ptr @lp_site call i32 (ptr, ptr, ...) @fprintf(ptr %t111, ptr @.fmt_bounds, ptr @.str1823, i32 %t105, i32 %t109) call void @exit(i32 1) unreachable ixok25: %t112 = getelementptr inbounds ptr, ptr %t107, i32 %t105 %t113 = load ptr, ptr %t112 %t114 = call i32 @fn_reg_str_less(ptr %t94, ptr %t113) %t115 = icmp ne i32 %t114, 0 %t116 = zext i1 %t115 to i32 store i32 %t116, ptr %t79 br label %scend20 scend20: %t117 = load i32, ptr %t79 %t118 = icmp ne i32 %t117, 0 br i1 %t118, label %wbody17, label %wend18 wbody17: %t119 = load ptr, ptr %t7 %t120 = load i32, ptr %t78 %t121 = add i32 %t120, 1 %t122 = getelementptr inbounds %LSlice, ptr %t119, i32 0, i32 0 %t123 = load ptr, ptr %t122 %t124 = getelementptr inbounds %LSlice, ptr %t119, i32 0, i32 1 %t125 = load i32, ptr %t124 %t126 = icmp ult i32 %t121, %t125 br i1 %t126, label %ixok27, label %ixbad28 ixbad28: store i32 1226, ptr @lp_site %t127 = call ptr @lp_win_stdio(i32 2) store i32 0, ptr @lp_site call i32 (ptr, ptr, ...) @fprintf(ptr %t127, ptr @.fmt_bounds, ptr @.str1824, i32 %t121, i32 %t125) call void @exit(i32 1) unreachable ixok27: %t128 = getelementptr inbounds i32, ptr %t123, i32 %t121 %t129 = load ptr, ptr %t7 %t130 = load i32, ptr %t78 %t131 = getelementptr inbounds %LSlice, ptr %t129, i32 0, i32 0 %t132 = load ptr, ptr %t131 %t133 = getelementptr inbounds %LSlice, ptr %t129, i32 0, i32 1 %t134 = load i32, ptr %t133 %t135 = icmp ult i32 %t130, %t134 br i1 %t135, label %ixok29, label %ixbad30 ixbad30: store i32 1227, ptr @lp_site %t136 = call ptr @lp_win_stdio(i32 2) store i32 0, ptr @lp_site call i32 (ptr, ptr, ...) @fprintf(ptr %t136, ptr @.fmt_bounds, ptr @.str1825, i32 %t130, i32 %t134) call void @exit(i32 1) unreachable ixok29: %t137 = getelementptr inbounds i32, ptr %t132, i32 %t130 %t138 = load i32, ptr %t137 store i32 %t138, ptr %t128 %t139 = load i32, ptr %t78 %t140 = sub i32 %t139, 1 store i32 %t140, ptr %t78 br label %wcond16 wend18: %t141 = load ptr, ptr %t7 %t142 = load i32, ptr %t78 %t143 = add i32 %t142, 1 %t144 = getelementptr inbounds %LSlice, ptr %t141, i32 0, i32 0 %t145 = load ptr, ptr %t144 %t146 = getelementptr inbounds %LSlice, ptr %t141, i32 0, i32 1 %t147 = load i32, ptr %t146 %t148 = icmp ult i32 %t143, %t147 br i1 %t148, label %ixok31, label %ixbad32 ixbad32: store i32 1228, ptr @lp_site %t149 = call ptr @lp_win_stdio(i32 2) store i32 0, ptr @lp_site call i32 (ptr, ptr, ...) @fprintf(ptr %t149, ptr @.fmt_bounds, ptr @.str1826, i32 %t143, i32 %t147) call void @exit(i32 1) unreachable ixok31: %t150 = getelementptr inbounds i32, ptr %t145, i32 %t143 %t151 = load i32, ptr %t75 store i32 %t151, ptr %t150 %t152 = load i32, ptr %t57 %t153 = add i32 %t152, 1 store i32 %t153, ptr %t57 br label %wcond11 wend13: %t154 = load ptr, ptr %t7 store ptr %t154, ptr %retval br label %ret ret: %t155 = load ptr, ptr %retval ret ptr %t155 } define i32 @fn_mg_declared(ptr %arg_n, i32 %arg_s) { entry: %retval = alloca i32 %t0 = alloca ptr %t1 = alloca i32 %t8 = alloca i32 %t18 = alloca i32 store ptr %arg_n, ptr %t0 store i32 %arg_s, ptr %t1 %t2 = load ptr, ptr %t0 %t3 = getelementptr inbounds %Cmp_Node, ptr %t2, i32 0, i32 0 %t4 = load i32, ptr %t3 %t5 = icmp ne i32 %t4, 4 %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 %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 %wbody4, label %wend5 wbody4: %t19 = load ptr, ptr %t0 %t20 = getelementptr inbounds %Cmp_Node, ptr %t19, i32 0, i32 7 %t21 = load ptr, ptr %t20 %t22 = load i32, ptr %t8 %t23 = getelementptr inbounds %LSlice, ptr %t21, i32 0, i32 0 %t24 = load ptr, ptr %t23 %t25 = getelementptr inbounds %LSlice, ptr %t21, i32 0, i32 1 %t26 = load i32, ptr %t25 %t27 = icmp ult i32 %t22, %t26 br i1 %t27, label %ixok6, label %ixbad7 ixbad7: store i32 1229, ptr @lp_site %t28 = call ptr @lp_win_stdio(i32 2) store i32 0, ptr @lp_site call i32 (ptr, ptr, ...) @fprintf(ptr %t28, ptr @.fmt_bounds, ptr @.str1827, i32 %t22, i32 %t26) call void @exit(i32 1) unreachable ixok6: %t29 = getelementptr inbounds ptr, ptr %t24, i32 %t22 %t30 = load ptr, ptr %t29 %t31 = getelementptr inbounds %Cmp_Node, ptr %t30, i32 0, i32 0 %t32 = load i32, ptr %t31 %t33 = icmp eq i32 %t32, 5 %t34 = zext i1 %t33 to i32 %t35 = icmp ne i32 %t34, 0 %t36 = zext i1 %t35 to i32 store i32 %t36, ptr %t18 br i1 %t35, label %sc8, label %scend9 sc8: %t37 = load ptr, ptr %t0 %t38 = getelementptr inbounds %Cmp_Node, ptr %t37, i32 0, i32 7 %t39 = load ptr, ptr %t38 %t40 = load i32, ptr %t8 %t41 = getelementptr inbounds %LSlice, ptr %t39, i32 0, i32 0 %t42 = load ptr, ptr %t41 %t43 = getelementptr inbounds %LSlice, ptr %t39, i32 0, i32 1 %t44 = load i32, ptr %t43 %t45 = icmp ult i32 %t40, %t44 br i1 %t45, label %ixok10, label %ixbad11 ixbad11: store i32 1230, ptr @lp_site %t46 = call ptr @lp_win_stdio(i32 2) store i32 0, ptr @lp_site call i32 (ptr, ptr, ...) @fprintf(ptr %t46, ptr @.fmt_bounds, ptr @.str1829, i32 %t40, i32 %t44) call void @exit(i32 1) unreachable ixok10: %t47 = getelementptr inbounds ptr, ptr %t42, i32 %t40 %t48 = load ptr, ptr %t47 %t49 = getelementptr inbounds %Cmp_Node, ptr %t48, i32 0, i32 3 %t50 = load ptr, ptr %t49 %t51 = load ptr, ptr @g_g_ms_name %t52 = load i32, ptr %t1 %t53 = getelementptr inbounds %LSlice, ptr %t51, i32 0, i32 0 %t54 = load ptr, ptr %t53 %t55 = getelementptr inbounds %LSlice, ptr %t51, i32 0, i32 1 %t56 = load i32, ptr %t55 %t57 = icmp ult i32 %t52, %t56 br i1 %t57, label %ixok12, label %ixbad13 ixbad13: store i32 1231, ptr @lp_site %t58 = call ptr @lp_win_stdio(i32 2) store i32 0, ptr @lp_site call i32 (ptr, ptr, ...) @fprintf(ptr %t58, ptr @.fmt_bounds, ptr @.str1830, i32 %t52, i32 %t56) call void @exit(i32 1) unreachable ixok12: %t59 = getelementptr inbounds ptr, ptr %t54, i32 %t52 %t60 = load ptr, ptr %t59 %t61 = call i32 @lp_str_eq(ptr %t50, ptr %t60) %t62 = icmp ne i32 %t61, 0 %t63 = zext i1 %t62 to i32 store i32 %t63, ptr %t18 br label %scend9 scend9: %t64 = load i32, ptr %t18 %t65 = icmp ne i32 %t64, 0 br i1 %t65, label %then14, label %ifend16 then14: store i32 1, ptr %retval br label %ret ifend16: %t66 = load i32, ptr %t8 %t67 = add i32 %t66, 1 store i32 %t67, ptr %t8 br label %wcond3 wend5: store i32 0, ptr %retval br label %ret ret: %t68 = load i32, ptr %retval ret i32 %t68 } define i32 @fn_mg_declared_late(ptr %arg_n, i32 %arg_s) { entry: %retval = alloca i32 %t0 = alloca ptr %t1 = alloca i32 %t8 = alloca i32 %t9 = alloca i32 %t54 = alloca i32 store ptr %arg_n, ptr %t0 store i32 %arg_s, ptr %t1 %t2 = load ptr, ptr %t0 %t3 = getelementptr inbounds %Cmp_Node, ptr %t2, i32 0, i32 0 %t4 = load i32, ptr %t3 %t5 = icmp ne i32 %t4, 4 %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 store i32 0, ptr %t9 br label %wcond3 wcond3: %t10 = load i32, ptr %t9 %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 1 %t15 = load i32, ptr %t14 %t16 = icmp slt i32 %t10, %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 %t0 %t20 = getelementptr inbounds %Cmp_Node, ptr %t19, i32 0, i32 7 %t21 = load ptr, ptr %t20 %t22 = load i32, ptr %t9 %t23 = getelementptr inbounds %LSlice, ptr %t21, i32 0, i32 0 %t24 = load ptr, ptr %t23 %t25 = getelementptr inbounds %LSlice, ptr %t21, i32 0, i32 1 %t26 = load i32, ptr %t25 %t27 = icmp ult i32 %t22, %t26 br i1 %t27, label %ixok6, label %ixbad7 ixbad7: store i32 1232, ptr @lp_site %t28 = call ptr @lp_win_stdio(i32 2) store i32 0, ptr @lp_site call i32 (ptr, ptr, ...) @fprintf(ptr %t28, ptr @.fmt_bounds, ptr @.str1831, i32 %t22, i32 %t26) call void @exit(i32 1) unreachable ixok6: %t29 = getelementptr inbounds ptr, ptr %t24, i32 %t22 %t30 = load ptr, ptr %t29 %t31 = getelementptr inbounds %Cmp_Node, ptr %t30, i32 0, i32 0 %t32 = load i32, ptr %t31 %t33 = icmp eq i32 %t32, 5 %t34 = zext i1 %t33 to i32 %t35 = icmp ne i32 %t34, 0 br i1 %t35, label %then8, label %ifend10 then8: %t36 = load ptr, ptr %t0 %t37 = getelementptr inbounds %Cmp_Node, ptr %t36, i32 0, i32 7 %t38 = load ptr, ptr %t37 %t39 = load i32, ptr %t9 %t40 = getelementptr inbounds %LSlice, ptr %t38, i32 0, i32 0 %t41 = load ptr, ptr %t40 %t42 = getelementptr inbounds %LSlice, ptr %t38, i32 0, i32 1 %t43 = load i32, ptr %t42 %t44 = icmp ult i32 %t39, %t43 br i1 %t44, label %ixok11, label %ixbad12 ixbad12: store i32 1233, ptr @lp_site %t45 = call ptr @lp_win_stdio(i32 2) store i32 0, ptr @lp_site call i32 (ptr, ptr, ...) @fprintf(ptr %t45, ptr @.fmt_bounds, ptr @.str1833, i32 %t39, i32 %t43) call void @exit(i32 1) unreachable ixok11: %t46 = getelementptr inbounds ptr, ptr %t41, i32 %t39 %t47 = load ptr, ptr %t46 %t48 = getelementptr inbounds %Cmp_Node, ptr %t47, i32 0, i32 3 %t49 = load ptr, ptr %t48 %t50 = call i32 @fn_is_state_ty(ptr %t49) %t51 = icmp eq i32 %t50, 0 %t52 = zext i1 %t51 to i32 %t53 = icmp ne i32 %t52, 0 br i1 %t53, label %then13, label %else14 then13: store i32 1, ptr %t8 br label %ifend15 else14: %t55 = load i32, ptr %t8 %t56 = icmp ne i32 %t55, 0 %t57 = zext i1 %t56 to i32 store i32 %t57, ptr %t54 br i1 %t56, label %sc16, label %scend17 sc16: %t58 = load ptr, ptr %t0 %t59 = getelementptr inbounds %Cmp_Node, ptr %t58, i32 0, i32 7 %t60 = load ptr, ptr %t59 %t61 = load i32, ptr %t9 %t62 = getelementptr inbounds %LSlice, ptr %t60, i32 0, i32 0 %t63 = load ptr, ptr %t62 %t64 = getelementptr inbounds %LSlice, ptr %t60, i32 0, i32 1 %t65 = load i32, ptr %t64 %t66 = icmp ult i32 %t61, %t65 br i1 %t66, label %ixok18, label %ixbad19 ixbad19: store i32 1234, ptr @lp_site %t67 = call ptr @lp_win_stdio(i32 2) store i32 0, ptr @lp_site call i32 (ptr, ptr, ...) @fprintf(ptr %t67, ptr @.fmt_bounds, ptr @.str1834, i32 %t61, i32 %t65) call void @exit(i32 1) unreachable ixok18: %t68 = getelementptr inbounds ptr, ptr %t63, i32 %t61 %t69 = load ptr, ptr %t68 %t70 = getelementptr inbounds %Cmp_Node, ptr %t69, i32 0, i32 3 %t71 = load ptr, ptr %t70 %t72 = load ptr, ptr @g_g_ms_name %t73 = load i32, ptr %t1 %t74 = getelementptr inbounds %LSlice, ptr %t72, i32 0, i32 0 %t75 = load ptr, ptr %t74 %t76 = getelementptr inbounds %LSlice, ptr %t72, i32 0, i32 1 %t77 = load i32, ptr %t76 %t78 = icmp ult i32 %t73, %t77 br i1 %t78, label %ixok20, label %ixbad21 ixbad21: store i32 1235, ptr @lp_site %t79 = call ptr @lp_win_stdio(i32 2) store i32 0, ptr @lp_site call i32 (ptr, ptr, ...) @fprintf(ptr %t79, ptr @.fmt_bounds, ptr @.str1835, i32 %t73, i32 %t77) call void @exit(i32 1) unreachable ixok20: %t80 = getelementptr inbounds ptr, ptr %t75, i32 %t73 %t81 = load ptr, ptr %t80 %t82 = call i32 @lp_str_eq(ptr %t71, ptr %t81) %t83 = icmp ne i32 %t82, 0 %t84 = zext i1 %t83 to i32 store i32 %t84, ptr %t54 br label %scend17 scend17: %t85 = load i32, ptr %t54 %t86 = icmp ne i32 %t85, 0 br i1 %t86, label %then22, label %ifend24 then22: store i32 1, ptr %retval br label %ret ifend24: br label %ifend15 ifend15: br label %ifend10 ifend10: %t87 = load i32, ptr %t9 %t88 = add i32 %t87, 1 store i32 %t88, ptr %t9 br label %wcond3 wend5: store i32 0, ptr %retval br label %ret ret: %t89 = load i32, ptr %retval ret i32 %t89 } define ptr @fn_mg_param_text(i32 %arg_u, i32 %arg_s) { entry: %retval = alloca ptr %t0 = alloca i32 %t1 = alloca i32 store i32 %arg_u, ptr %t0 store i32 %arg_s, ptr %t1 %t2 = load ptr, ptr @g_g_mu_mut %t3 = load i32, ptr %t0 %t4 = getelementptr inbounds %LSlice, ptr %t2, i32 0, i32 0 %t5 = load ptr, ptr %t4 %t6 = getelementptr inbounds %LSlice, ptr %t2, i32 0, i32 1 %t7 = load i32, ptr %t6 %t8 = icmp ult i32 %t3, %t7 br i1 %t8, label %ixok0, label %ixbad1 ixbad1: store i32 1236, ptr @lp_site %t9 = call ptr @lp_win_stdio(i32 2) store i32 0, ptr @lp_site call i32 (ptr, ptr, ...) @fprintf(ptr %t9, ptr @.fmt_bounds, ptr @.str1836, i32 %t3, i32 %t7) call void @exit(i32 1) unreachable ixok0: %t10 = getelementptr inbounds ptr, ptr %t5, i32 %t3 %t11 = load ptr, ptr %t10 %t12 = load i32, ptr %t1 %t13 = call ptr @fn_itoa(i32 %t12) store i32 1237, ptr @lp_site %t14 = call ptr @lp_str_concat(ptr @.str1838, ptr %t13) store i32 0, ptr @lp_site store i32 1238, ptr @lp_site %t15 = call ptr @lp_str_concat(ptr %t14, ptr @.str1839) store i32 0, ptr @lp_site call void @lp_free(ptr %t14) %t16 = call i32 @fn_has_sub(ptr %t11, ptr %t15) %t17 = icmp ne i32 %t16, 0 br i1 %t17, label %then2, label %ifend4 then2: %t18 = load ptr, ptr @g_g_ms_param %t19 = load i32, ptr %t1 %t20 = getelementptr inbounds %LSlice, ptr %t18, i32 0, i32 0 %t21 = load ptr, ptr %t20 %t22 = getelementptr inbounds %LSlice, ptr %t18, i32 0, i32 1 %t23 = load i32, ptr %t22 %t24 = icmp ult i32 %t19, %t23 br i1 %t24, label %ixok5, label %ixbad6 ixbad6: store i32 1239, ptr @lp_site %t25 = call ptr @lp_win_stdio(i32 2) store i32 0, ptr @lp_site call i32 (ptr, ptr, ...) @fprintf(ptr %t25, ptr @.fmt_bounds, ptr @.str1840, i32 %t19, i32 %t23) call void @exit(i32 1) unreachable ixok5: %t26 = getelementptr inbounds ptr, ptr %t21, i32 %t19 %t27 = load ptr, ptr %t26 store i32 1240, ptr @lp_site %t28 = call ptr @lp_str_concat(ptr %t27, ptr @.str1841) store i32 0, ptr @lp_site %t29 = load ptr, ptr @g_g_ms_name %t30 = load i32, ptr %t1 %t31 = getelementptr inbounds %LSlice, ptr %t29, i32 0, i32 0 %t32 = load ptr, ptr %t31 %t33 = getelementptr inbounds %LSlice, ptr %t29, i32 0, i32 1 %t34 = load i32, ptr %t33 %t35 = icmp ult i32 %t30, %t34 br i1 %t35, label %ixok7, label %ixbad8 ixbad8: store i32 1241, ptr @lp_site %t36 = call ptr @lp_win_stdio(i32 2) store i32 0, ptr @lp_site call i32 (ptr, ptr, ...) @fprintf(ptr %t36, ptr @.fmt_bounds, ptr @.str1842, i32 %t30, i32 %t34) call void @exit(i32 1) unreachable ixok7: %t37 = getelementptr inbounds ptr, ptr %t32, i32 %t30 %t38 = load ptr, ptr %t37 store i32 1242, ptr @lp_site %t39 = call ptr @lp_str_concat(ptr %t28, ptr %t38) store i32 0, ptr @lp_site call void @lp_free(ptr %t28) store ptr %t39, ptr %retval br label %ret ifend4: %t40 = load ptr, ptr @g_g_ms_param %t41 = load i32, ptr %t1 %t42 = getelementptr inbounds %LSlice, ptr %t40, i32 0, i32 0 %t43 = load ptr, ptr %t42 %t44 = getelementptr inbounds %LSlice, ptr %t40, i32 0, i32 1 %t45 = load i32, ptr %t44 %t46 = icmp ult i32 %t41, %t45 br i1 %t46, label %ixok9, label %ixbad10 ixbad10: store i32 1243, ptr @lp_site %t47 = call ptr @lp_win_stdio(i32 2) store i32 0, ptr @lp_site call i32 (ptr, ptr, ...) @fprintf(ptr %t47, ptr @.fmt_bounds, ptr @.str1843, i32 %t41, i32 %t45) call void @exit(i32 1) unreachable ixok9: %t48 = getelementptr inbounds ptr, ptr %t43, i32 %t41 %t49 = load ptr, ptr %t48 store i32 1244, ptr @lp_site %t50 = call ptr @lp_str_concat(ptr %t49, ptr @.str1844) store i32 0, ptr @lp_site %t51 = load ptr, ptr @g_g_ms_name %t52 = load i32, ptr %t1 %t53 = getelementptr inbounds %LSlice, ptr %t51, i32 0, i32 0 %t54 = load ptr, ptr %t53 %t55 = getelementptr inbounds %LSlice, ptr %t51, i32 0, i32 1 %t56 = load i32, ptr %t55 %t57 = icmp ult i32 %t52, %t56 br i1 %t57, label %ixok11, label %ixbad12 ixbad12: store i32 1245, ptr @lp_site %t58 = call ptr @lp_win_stdio(i32 2) store i32 0, ptr @lp_site call i32 (ptr, ptr, ...) @fprintf(ptr %t58, ptr @.fmt_bounds, ptr @.str1845, i32 %t52, i32 %t56) call void @exit(i32 1) unreachable ixok11: %t59 = getelementptr inbounds ptr, ptr %t54, i32 %t52 %t60 = load ptr, ptr %t59 store i32 1246, ptr @lp_site %t61 = call ptr @lp_str_concat(ptr %t50, ptr %t60) store i32 0, ptr @lp_site call void @lp_free(ptr %t50) store ptr %t61, ptr %retval br label %ret ret: %t62 = load ptr, ptr %retval ret ptr %t62 } define void @fn_mg_emit(ptr %arg_line, ptr %arg_key) { entry: %t0 = alloca ptr %t1 = alloca ptr store ptr %arg_line, ptr %t0 store ptr %arg_key, ptr %t1 %t2 = load ptr, ptr @g_g_mg_lines %t3 = load ptr, ptr %t0 %t4 = call ptr @fn_mg_norm_line(ptr %t3) %t5 = getelementptr inbounds %LSlice, ptr %t2, i32 0, i32 1 %t6 = getelementptr inbounds %LSlice, ptr %t2, i32 0, i32 2 %t7 = getelementptr inbounds %LSlice, ptr %t2, i32 0, i32 0 %t8 = load i32, ptr %t5 %t9 = load i32, ptr %t6 %t10 = icmp sge i32 %t8, %t9 br i1 %t10, label %grow0, label %put1 grow0: %t11 = mul i32 %t9, 2 %t12 = icmp eq i32 %t9, 0 %t13 = select i1 %t12, i32 8, i32 %t11 %t14 = getelementptr ptr, ptr null, i32 1 %t15 = ptrtoint ptr %t14 to i64 %t16 = zext i32 %t13 to i64 %t17 = mul i64 %t16, %t15 %t18 = load ptr, ptr %t7 store i32 1247, ptr @lp_site %t19 = call ptr @lp_realloc(ptr %t18, i64 %t17) store i32 0, ptr @lp_site store ptr %t19, ptr %t7 store i32 %t13, ptr %t6 br label %put1 put1: %t20 = load ptr, ptr %t7 %t21 = getelementptr inbounds ptr, ptr %t20, i32 %t8 store ptr %t4, ptr %t21 %t22 = add i32 %t8, 1 store i32 %t22, ptr %t5 br label %ret ret: ret void } define ptr @fn_mg_norm_line(ptr %arg_line) { entry: %retval = alloca ptr %t0 = alloca ptr %t7 = alloca ptr %t8 = alloca i32 %t9 = alloca i32 %t17 = alloca i32 %t80 = alloca ptr %t81 = alloca i32 %t82 = alloca i32 %t83 = alloca i32 %t84 = alloca i32 %t85 = alloca i32 %t86 = alloca i32 %t171 = alloca i32 %t203 = alloca i32 %t262 = alloca ptr store ptr %arg_line, ptr %t0 %t1 = getelementptr %LSlice, ptr null, i32 1 %t2 = ptrtoint ptr %t1 to i64 store i32 1248, ptr @lp_site %t3 = call ptr @lp_malloc(i64 %t2) store i32 0, ptr @lp_site %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 store i32 0, ptr %t9 br label %wcond0 wcond0: %t10 = load i32, ptr %t9 %t11 = load ptr, ptr %t0 %t12 = call i64 @strlen(ptr %t11) %t13 = trunc i64 %t12 to i32 %t14 = icmp sle i32 %t10, %t13 %t15 = zext i1 %t14 to i32 %t16 = icmp ne i32 %t15, 0 br i1 %t16, label %wbody1, label %wend2 wbody1: %t18 = load i32, ptr %t9 %t19 = load ptr, ptr %t0 %t20 = call i64 @strlen(ptr %t19) %t21 = trunc i64 %t20 to i32 %t22 = icmp eq i32 %t18, %t21 %t23 = zext i1 %t22 to i32 %t24 = icmp ne i32 %t23, 0 %t25 = zext i1 %t24 to i32 store i32 %t25, ptr %t17 br i1 %t24, label %scend4, label %sc3 sc3: %t26 = load ptr, ptr %t0 %t27 = load i32, ptr %t9 %t28 = getelementptr inbounds i8, ptr %t26, i32 %t27 %t29 = load i8, ptr %t28 %t30 = zext i8 %t29 to i32 %t31 = icmp eq i32 %t30, 32 %t32 = zext i1 %t31 to i32 %t33 = icmp ne i32 %t32, 0 %t34 = zext i1 %t33 to i32 store i32 %t34, ptr %t17 br label %scend4 scend4: %t35 = load i32, ptr %t17 %t36 = icmp ne i32 %t35, 0 br i1 %t36, label %then5, label %ifend7 then5: %t37 = load ptr, ptr %t7 %t38 = load ptr, ptr %t0 %t39 = load i32, ptr %t8 %t40 = load i32, ptr %t9 store i32 1249, ptr @lp_site %t41 = call ptr @lp_str_slice(ptr %t38, i32 %t39, i32 %t40) store i32 0, ptr @lp_site %t42 = getelementptr inbounds %LSlice, ptr %t37, i32 0, i32 1 %t43 = getelementptr inbounds %LSlice, ptr %t37, i32 0, i32 2 %t44 = getelementptr inbounds %LSlice, ptr %t37, i32 0, i32 0 %t45 = load i32, ptr %t42 %t46 = load i32, ptr %t43 %t47 = icmp sge i32 %t45, %t46 br i1 %t47, label %grow8, label %put9 grow8: %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 store i32 1250, ptr @lp_site %t56 = call ptr @lp_realloc(ptr %t55, i64 %t54) store i32 0, ptr @lp_site store ptr %t56, ptr %t44 store i32 %t50, ptr %t43 br label %put9 put9: %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 = load i32, ptr %t9 %t61 = add i32 %t60, 1 store i32 %t61, ptr %t8 br label %ifend7 ifend7: %t62 = load i32, ptr %t9 %t63 = add i32 %t62, 1 store i32 %t63, ptr %t9 br label %wcond0 wend2: %t64 = load ptr, ptr %t7 %t65 = getelementptr inbounds %LSlice, ptr %t64, i32 0, i32 1 %t66 = load i32, ptr %t65 %t67 = icmp slt i32 %t66, 2 %t68 = zext i1 %t67 to i32 %t69 = icmp ne i32 %t68, 0 br i1 %t69, label %then10, label %ifend12 then10: %t70 = load ptr, ptr %t0 store ptr %t70, ptr %retval br label %ret ifend12: %t71 = load ptr, ptr %t7 %t72 = getelementptr inbounds %LSlice, ptr %t71, i32 0, i32 0 %t73 = load ptr, ptr %t72 %t74 = getelementptr inbounds %LSlice, ptr %t71, i32 0, i32 1 %t75 = load i32, ptr %t74 %t76 = icmp ult i32 0, %t75 br i1 %t76, label %ixok13, label %ixbad14 ixbad14: store i32 1251, ptr @lp_site %t77 = call ptr @lp_win_stdio(i32 2) store i32 0, ptr @lp_site call i32 (ptr, ptr, ...) @fprintf(ptr %t77, ptr @.fmt_bounds, ptr @.str1848, i32 0, i32 %t75) call void @exit(i32 1) unreachable ixok13: %t78 = getelementptr inbounds ptr, ptr %t73, i32 0 %t79 = load ptr, ptr %t78 store ptr %t79, ptr %t80 %t87 = load ptr, ptr %t80 %t88 = call i32 @lp_str_eq(ptr %t87, ptr @.str1849) %t89 = icmp ne i32 %t88, 0 %t90 = zext i1 %t89 to i32 store i32 %t90, ptr %t86 br i1 %t89, label %scend16, label %sc15 sc15: %t91 = load ptr, ptr %t80 %t92 = call i32 @lp_str_eq(ptr %t91, ptr @.str1850) %t93 = icmp ne i32 %t92, 0 %t94 = zext i1 %t93 to i32 store i32 %t94, ptr %t86 br label %scend16 scend16: %t95 = load i32, ptr %t86 %t96 = icmp ne i32 %t95, 0 %t97 = zext i1 %t96 to i32 store i32 %t97, ptr %t85 br i1 %t96, label %scend18, label %sc17 sc17: %t98 = load ptr, ptr %t80 %t99 = call i32 @lp_str_eq(ptr %t98, ptr @.str1851) %t100 = icmp ne i32 %t99, 0 %t101 = zext i1 %t100 to i32 store i32 %t101, ptr %t85 br label %scend18 scend18: %t102 = load i32, ptr %t85 %t103 = icmp ne i32 %t102, 0 %t104 = zext i1 %t103 to i32 store i32 %t104, ptr %t84 br i1 %t103, label %scend20, label %sc19 sc19: %t105 = load ptr, ptr %t80 %t106 = call i32 @lp_str_eq(ptr %t105, ptr @.str1852) %t107 = icmp ne i32 %t106, 0 %t108 = zext i1 %t107 to i32 store i32 %t108, ptr %t84 br label %scend20 scend20: %t109 = load i32, ptr %t84 %t110 = icmp ne i32 %t109, 0 %t111 = zext i1 %t110 to i32 store i32 %t111, ptr %t83 br i1 %t110, label %scend22, label %sc21 sc21: %t112 = load ptr, ptr %t80 %t113 = call i32 @lp_str_eq(ptr %t112, ptr @.str1853) %t114 = icmp ne i32 %t113, 0 %t115 = zext i1 %t114 to i32 store i32 %t115, ptr %t83 br label %scend22 scend22: %t116 = load i32, ptr %t83 %t117 = icmp ne i32 %t116, 0 %t118 = zext i1 %t117 to i32 store i32 %t118, ptr %t82 br i1 %t117, label %scend24, label %sc23 sc23: %t119 = load ptr, ptr %t80 %t120 = call i32 @lp_str_eq(ptr %t119, ptr @.str1854) %t121 = icmp ne i32 %t120, 0 %t122 = zext i1 %t121 to i32 store i32 %t122, ptr %t82 br label %scend24 scend24: %t123 = load i32, ptr %t82 %t124 = icmp ne i32 %t123, 0 %t125 = zext i1 %t124 to i32 store i32 %t125, ptr %t81 br i1 %t124, label %scend26, label %sc25 sc25: %t126 = load ptr, ptr %t80 %t127 = call i32 @lp_str_eq(ptr %t126, ptr @.str1855) %t128 = icmp ne i32 %t127, 0 %t129 = zext i1 %t128 to i32 store i32 %t129, ptr %t81 br label %scend26 scend26: %t130 = load i32, ptr %t81 %t131 = icmp ne i32 %t130, 0 br i1 %t131, label %then27, label %ifend29 then27: %t132 = load ptr, ptr %t7 %t133 = getelementptr inbounds %LSlice, ptr %t132, i32 0, i32 0 %t134 = load ptr, ptr %t133 %t135 = getelementptr inbounds %LSlice, ptr %t132, i32 0, i32 1 %t136 = load i32, ptr %t135 %t137 = icmp ult i32 1, %t136 br i1 %t137, label %ixok30, label %ixbad31 ixbad31: store i32 1252, ptr @lp_site %t138 = call ptr @lp_win_stdio(i32 2) store i32 0, ptr @lp_site call i32 (ptr, ptr, ...) @fprintf(ptr %t138, ptr @.fmt_bounds, ptr @.str1856, i32 1, i32 %t136) call void @exit(i32 1) unreachable ixok30: %t139 = getelementptr inbounds ptr, ptr %t134, i32 1 %t140 = load ptr, ptr %t7 %t141 = getelementptr inbounds %LSlice, ptr %t140, i32 0, i32 0 %t142 = load ptr, ptr %t141 %t143 = getelementptr inbounds %LSlice, ptr %t140, i32 0, i32 1 %t144 = load i32, ptr %t143 %t145 = icmp ult i32 1, %t144 br i1 %t145, label %ixok32, label %ixbad33 ixbad33: store i32 1253, ptr @lp_site %t146 = call ptr @lp_win_stdio(i32 2) store i32 0, ptr @lp_site call i32 (ptr, ptr, ...) @fprintf(ptr %t146, ptr @.fmt_bounds, ptr @.str1857, i32 1, i32 %t144) call void @exit(i32 1) unreachable ixok32: %t147 = getelementptr inbounds ptr, ptr %t142, i32 1 %t148 = load ptr, ptr %t147 %t149 = call ptr @fn_mg_norm(ptr %t148) store ptr %t149, ptr %t139 br label %ifend29 ifend29: %t150 = load ptr, ptr %t80 %t151 = call i32 @lp_str_eq(ptr %t150, ptr @.str1858) %t152 = icmp ne i32 %t151, 0 br i1 %t152, label %then34, label %ifend36 then34: %t153 = load ptr, ptr %t7 %t154 = getelementptr inbounds %LSlice, ptr %t153, i32 0, i32 0 %t155 = load ptr, ptr %t154 %t156 = getelementptr inbounds %LSlice, ptr %t153, i32 0, i32 1 %t157 = load i32, ptr %t156 %t158 = icmp ult i32 1, %t157 br i1 %t158, label %ixok37, label %ixbad38 ixbad38: store i32 1254, ptr @lp_site %t159 = call ptr @lp_win_stdio(i32 2) store i32 0, ptr @lp_site call i32 (ptr, ptr, ...) @fprintf(ptr %t159, ptr @.fmt_bounds, ptr @.str1859, i32 1, i32 %t157) call void @exit(i32 1) unreachable ixok37: %t160 = getelementptr inbounds ptr, ptr %t155, i32 1 %t161 = load ptr, ptr %t7 %t162 = getelementptr inbounds %LSlice, ptr %t161, i32 0, i32 0 %t163 = load ptr, ptr %t162 %t164 = getelementptr inbounds %LSlice, ptr %t161, i32 0, i32 1 %t165 = load i32, ptr %t164 %t166 = icmp ult i32 1, %t165 br i1 %t166, label %ixok39, label %ixbad40 ixbad40: store i32 1255, ptr @lp_site %t167 = call ptr @lp_win_stdio(i32 2) store i32 0, ptr @lp_site call i32 (ptr, ptr, ...) @fprintf(ptr %t167, ptr @.fmt_bounds, ptr @.str1860, i32 1, i32 %t165) call void @exit(i32 1) unreachable ixok39: %t168 = getelementptr inbounds ptr, ptr %t163, i32 1 %t169 = load ptr, ptr %t168 %t170 = call ptr @fn_mg_norm(ptr %t169) store ptr %t170, ptr %t160 br label %ifend36 ifend36: %t172 = load ptr, ptr %t80 %t173 = call i32 @lp_str_eq(ptr %t172, ptr @.str1861) %t174 = icmp ne i32 %t173, 0 %t175 = zext i1 %t174 to i32 store i32 %t175, ptr %t171 br i1 %t174, label %sc41, label %scend42 sc41: %t176 = load ptr, ptr %t7 %t177 = getelementptr inbounds %LSlice, ptr %t176, i32 0, i32 1 %t178 = load i32, ptr %t177 %t179 = icmp sgt i32 %t178, 5 %t180 = zext i1 %t179 to i32 %t181 = icmp ne i32 %t180, 0 %t182 = zext i1 %t181 to i32 store i32 %t182, ptr %t171 br label %scend42 scend42: %t183 = load i32, ptr %t171 %t184 = icmp ne i32 %t183, 0 br i1 %t184, label %then43, label %ifend45 then43: %t185 = load ptr, ptr %t7 %t186 = getelementptr inbounds %LSlice, ptr %t185, i32 0, i32 0 %t187 = load ptr, ptr %t186 %t188 = getelementptr inbounds %LSlice, ptr %t185, i32 0, i32 1 %t189 = load i32, ptr %t188 %t190 = icmp ult i32 5, %t189 br i1 %t190, label %ixok46, label %ixbad47 ixbad47: store i32 1256, ptr @lp_site %t191 = call ptr @lp_win_stdio(i32 2) store i32 0, ptr @lp_site call i32 (ptr, ptr, ...) @fprintf(ptr %t191, ptr @.fmt_bounds, ptr @.str1862, i32 5, i32 %t189) call void @exit(i32 1) unreachable ixok46: %t192 = getelementptr inbounds ptr, ptr %t187, i32 5 %t193 = load ptr, ptr %t7 %t194 = getelementptr inbounds %LSlice, ptr %t193, i32 0, i32 0 %t195 = load ptr, ptr %t194 %t196 = getelementptr inbounds %LSlice, ptr %t193, i32 0, i32 1 %t197 = load i32, ptr %t196 %t198 = icmp ult i32 5, %t197 br i1 %t198, label %ixok48, label %ixbad49 ixbad49: store i32 1257, ptr @lp_site %t199 = call ptr @lp_win_stdio(i32 2) store i32 0, ptr @lp_site call i32 (ptr, ptr, ...) @fprintf(ptr %t199, ptr @.fmt_bounds, ptr @.str1863, i32 5, i32 %t197) call void @exit(i32 1) unreachable ixok48: %t200 = getelementptr inbounds ptr, ptr %t195, i32 5 %t201 = load ptr, ptr %t200 %t202 = call ptr @fn_mg_norm_key(ptr %t201) store ptr %t202, ptr %t192 br label %ifend45 ifend45: %t204 = load ptr, ptr %t80 %t205 = call i32 @lp_str_eq(ptr %t204, ptr @.str1864) %t206 = icmp ne i32 %t205, 0 %t207 = zext i1 %t206 to i32 store i32 %t207, ptr %t203 br i1 %t206, label %sc50, label %scend51 sc50: %t208 = load ptr, ptr %t7 %t209 = getelementptr inbounds %LSlice, ptr %t208, i32 0, i32 1 %t210 = load i32, ptr %t209 %t211 = icmp sgt i32 %t210, 6 %t212 = zext i1 %t211 to i32 %t213 = icmp ne i32 %t212, 0 %t214 = zext i1 %t213 to i32 store i32 %t214, ptr %t203 br label %scend51 scend51: %t215 = load i32, ptr %t203 %t216 = icmp ne i32 %t215, 0 br i1 %t216, label %then52, label %ifend54 then52: %t217 = load ptr, ptr %t7 %t218 = getelementptr inbounds %LSlice, ptr %t217, i32 0, i32 0 %t219 = load ptr, ptr %t218 %t220 = getelementptr inbounds %LSlice, ptr %t217, i32 0, i32 1 %t221 = load i32, ptr %t220 %t222 = icmp ult i32 2, %t221 br i1 %t222, label %ixok55, label %ixbad56 ixbad56: store i32 1258, ptr @lp_site %t223 = call ptr @lp_win_stdio(i32 2) store i32 0, ptr @lp_site call i32 (ptr, ptr, ...) @fprintf(ptr %t223, ptr @.fmt_bounds, ptr @.str1865, i32 2, i32 %t221) call void @exit(i32 1) unreachable ixok55: %t224 = getelementptr inbounds ptr, ptr %t219, i32 2 %t225 = load ptr, ptr %t7 %t226 = getelementptr inbounds %LSlice, ptr %t225, i32 0, i32 0 %t227 = load ptr, ptr %t226 %t228 = getelementptr inbounds %LSlice, ptr %t225, i32 0, i32 1 %t229 = load i32, ptr %t228 %t230 = icmp ult i32 2, %t229 br i1 %t230, label %ixok57, label %ixbad58 ixbad58: store i32 1259, ptr @lp_site %t231 = call ptr @lp_win_stdio(i32 2) store i32 0, ptr @lp_site call i32 (ptr, ptr, ...) @fprintf(ptr %t231, ptr @.fmt_bounds, ptr @.str1866, i32 2, i32 %t229) call void @exit(i32 1) unreachable ixok57: %t232 = getelementptr inbounds ptr, ptr %t227, i32 2 %t233 = load ptr, ptr %t232 %t234 = call ptr @fn_mg_norm(ptr %t233) store ptr %t234, ptr %t224 %t235 = load ptr, ptr %t7 %t236 = getelementptr inbounds %LSlice, ptr %t235, i32 0, i32 0 %t237 = load ptr, ptr %t236 %t238 = getelementptr inbounds %LSlice, ptr %t235, i32 0, i32 1 %t239 = load i32, ptr %t238 %t240 = icmp ult i32 6, %t239 br i1 %t240, label %ixok59, label %ixbad60 ixbad60: store i32 1260, ptr @lp_site %t241 = call ptr @lp_win_stdio(i32 2) store i32 0, ptr @lp_site call i32 (ptr, ptr, ...) @fprintf(ptr %t241, ptr @.fmt_bounds, ptr @.str1867, i32 6, i32 %t239) call void @exit(i32 1) unreachable ixok59: %t242 = getelementptr inbounds ptr, ptr %t237, i32 6 %t243 = load ptr, ptr %t7 %t244 = getelementptr inbounds %LSlice, ptr %t243, i32 0, i32 0 %t245 = load ptr, ptr %t244 %t246 = getelementptr inbounds %LSlice, ptr %t243, i32 0, i32 1 %t247 = load i32, ptr %t246 %t248 = icmp ult i32 6, %t247 br i1 %t248, label %ixok61, label %ixbad62 ixbad62: store i32 1261, ptr @lp_site %t249 = call ptr @lp_win_stdio(i32 2) store i32 0, ptr @lp_site call i32 (ptr, ptr, ...) @fprintf(ptr %t249, ptr @.fmt_bounds, ptr @.str1868, i32 6, i32 %t247) call void @exit(i32 1) unreachable ixok61: %t250 = getelementptr inbounds ptr, ptr %t245, i32 6 %t251 = load ptr, ptr %t250 %t252 = call ptr @fn_mg_norm_key(ptr %t251) store ptr %t252, ptr %t242 br label %ifend54 ifend54: %t253 = load ptr, ptr %t7 %t254 = getelementptr inbounds %LSlice, ptr %t253, i32 0, i32 0 %t255 = load ptr, ptr %t254 %t256 = getelementptr inbounds %LSlice, ptr %t253, i32 0, i32 1 %t257 = load i32, ptr %t256 %t258 = icmp ult i32 0, %t257 br i1 %t258, label %ixok63, label %ixbad64 ixbad64: store i32 1262, ptr @lp_site %t259 = call ptr @lp_win_stdio(i32 2) store i32 0, ptr @lp_site call i32 (ptr, ptr, ...) @fprintf(ptr %t259, ptr @.fmt_bounds, ptr @.str1869, i32 0, i32 %t257) call void @exit(i32 1) unreachable ixok63: %t260 = getelementptr inbounds ptr, ptr %t255, i32 0 %t261 = load ptr, ptr %t260 store ptr %t261, ptr %t262 store i32 1, ptr %t9 br label %wcond65 wcond65: %t263 = load i32, ptr %t9 %t264 = load ptr, ptr %t7 %t265 = getelementptr inbounds %LSlice, ptr %t264, i32 0, i32 1 %t266 = load i32, ptr %t265 %t267 = icmp slt i32 %t263, %t266 %t268 = zext i1 %t267 to i32 %t269 = icmp ne i32 %t268, 0 br i1 %t269, label %wbody66, label %wend67 wbody66: %t270 = load ptr, ptr %t262 store i32 1263, ptr @lp_site %t271 = call ptr @lp_str_concat(ptr %t270, ptr @.str1870) store i32 0, ptr @lp_site %t272 = load ptr, ptr %t7 %t273 = load i32, ptr %t9 %t274 = getelementptr inbounds %LSlice, ptr %t272, i32 0, i32 0 %t275 = load ptr, ptr %t274 %t276 = getelementptr inbounds %LSlice, ptr %t272, i32 0, i32 1 %t277 = load i32, ptr %t276 %t278 = icmp ult i32 %t273, %t277 br i1 %t278, label %ixok68, label %ixbad69 ixbad69: store i32 1264, ptr @lp_site %t279 = call ptr @lp_win_stdio(i32 2) store i32 0, ptr @lp_site call i32 (ptr, ptr, ...) @fprintf(ptr %t279, ptr @.fmt_bounds, ptr @.str1871, i32 %t273, i32 %t277) call void @exit(i32 1) unreachable ixok68: %t280 = getelementptr inbounds ptr, ptr %t275, i32 %t273 %t281 = load ptr, ptr %t280 store i32 1265, ptr @lp_site %t282 = call ptr @lp_str_concat(ptr %t271, ptr %t281) store i32 0, ptr @lp_site call void @lp_free(ptr %t271) store ptr %t282, ptr %t262 %t283 = load i32, ptr %t9 %t284 = add i32 %t283, 1 store i32 %t284, ptr %t9 br label %wcond65 wend67: %t285 = load ptr, ptr %t262 store ptr %t285, ptr %retval br label %ret ret: %t286 = load ptr, ptr %retval ret ptr %t286 } define ptr @fn_mg_norm_key(ptr %arg_k) { entry: %retval = alloca ptr %t0 = alloca ptr %t14 = alloca ptr %t15 = alloca i32 %t44 = alloca i32 %t45 = alloca i32 %t64 = alloca ptr %t75 = alloca i32 %t76 = alloca i32 %t81 = alloca i32 %t100 = alloca ptr %t103 = alloca i32 %t135 = alloca i32 %t136 = alloca i32 %t137 = alloca i32 %t153 = alloca i32 %t177 = alloca i32 %t193 = alloca i32 %t223 = alloca i32 %t252 = alloca i32 %t253 = alloca i32 store ptr %arg_k, ptr %t0 %t1 = load ptr, ptr %t0 %t2 = getelementptr inbounds i8, ptr %t1, i32 0 %t3 = load i8, ptr %t2 %t4 = zext i8 %t3 to i32 %t5 = icmp eq i32 %t4, 64 %t6 = zext i1 %t5 to i32 %t7 = icmp ne i32 %t6, 0 br i1 %t7, label %then0, label %ifend2 then0: %t8 = load ptr, ptr %t0 %t9 = load ptr, ptr %t0 %t10 = call i64 @strlen(ptr %t9) %t11 = trunc i64 %t10 to i32 store i32 1266, ptr @lp_site %t12 = call ptr @lp_str_slice(ptr %t8, i32 1, i32 %t11) store i32 0, ptr @lp_site %t13 = call ptr @fn_mg_norm(ptr %t12) store ptr %t13, ptr %t14 br label %wcond3 wcond3: %t16 = load ptr, ptr %t14 %t17 = call i64 @strlen(ptr %t16) %t18 = trunc i64 %t17 to i32 %t19 = icmp sgt i32 %t18, 1 %t20 = zext i1 %t19 to i32 %t21 = icmp ne i32 %t20, 0 %t22 = zext i1 %t21 to i32 store i32 %t22, ptr %t15 br i1 %t21, label %sc6, label %scend7 sc6: %t23 = load ptr, ptr %t14 %t24 = load ptr, ptr %t14 %t25 = call i64 @strlen(ptr %t24) %t26 = trunc i64 %t25 to i32 %t27 = sub i32 %t26, 1 %t28 = getelementptr inbounds i8, ptr %t23, i32 %t27 %t29 = load i8, ptr %t28 %t30 = zext i8 %t29 to i32 %t31 = icmp eq i32 %t30, 47 %t32 = zext i1 %t31 to i32 %t33 = icmp ne i32 %t32, 0 %t34 = zext i1 %t33 to i32 store i32 %t34, ptr %t15 br label %scend7 scend7: %t35 = load i32, ptr %t15 %t36 = icmp ne i32 %t35, 0 br i1 %t36, label %wbody4, label %wend5 wbody4: %t37 = load ptr, ptr %t14 %t38 = load ptr, ptr %t14 %t39 = call i64 @strlen(ptr %t38) %t40 = trunc i64 %t39 to i32 %t41 = sub i32 %t40, 1 store i32 1267, ptr @lp_site %t42 = call ptr @lp_str_slice(ptr %t37, i32 0, i32 %t41) store i32 0, ptr @lp_site store ptr %t42, ptr %t14 br label %wcond3 wend5: %t43 = sub i32 0, 1 store i32 %t43, ptr %t44 store i32 0, ptr %t45 br label %wcond8 wcond8: %t46 = load i32, ptr %t45 %t47 = load ptr, ptr %t14 %t48 = call i64 @strlen(ptr %t47) %t49 = trunc i64 %t48 to i32 %t50 = icmp slt i32 %t46, %t49 %t51 = zext i1 %t50 to i32 %t52 = icmp ne i32 %t51, 0 br i1 %t52, label %wbody9, label %wend10 wbody9: %t53 = load ptr, ptr %t14 %t54 = load i32, ptr %t45 %t55 = getelementptr inbounds i8, ptr %t53, i32 %t54 %t56 = load i8, ptr %t55 %t57 = zext i8 %t56 to i32 %t58 = icmp eq i32 %t57, 47 %t59 = zext i1 %t58 to i32 %t60 = icmp ne i32 %t59, 0 br i1 %t60, label %then11, label %ifend13 then11: %t61 = load i32, ptr %t45 store i32 %t61, ptr %t44 br label %ifend13 ifend13: %t62 = load i32, ptr %t45 %t63 = add i32 %t62, 1 store i32 %t63, ptr %t45 br label %wcond8 wend10: store ptr @.str1873, ptr %t64 %t65 = load i32, ptr %t44 %t66 = icmp sge i32 %t65, 0 %t67 = zext i1 %t66 to i32 %t68 = icmp ne i32 %t67, 0 br i1 %t68, label %then14, label %ifend16 then14: %t69 = load ptr, ptr %t14 %t70 = load i32, ptr %t44 store i32 1268, ptr @lp_site %t71 = call ptr @lp_str_slice(ptr %t69, i32 0, i32 %t70) store i32 0, ptr @lp_site store ptr %t71, ptr %t64 br label %ifend16 ifend16: %t72 = load ptr, ptr %t64 %t73 = call i64 @strlen(ptr %t72) %t74 = trunc i64 %t73 to i32 store i32 %t74, ptr %t75 %t77 = load ptr, ptr %t64 %t78 = call i32 @lp_str_eq(ptr %t77, ptr @.str1874) %t79 = icmp ne i32 %t78, 0 %t80 = zext i1 %t79 to i32 store i32 %t80, ptr %t76 br i1 %t79, label %scend18, label %sc17 sc17: %t82 = load i32, ptr %t75 %t83 = icmp sgt i32 %t82, 9 %t84 = zext i1 %t83 to i32 %t85 = icmp ne i32 %t84, 0 %t86 = zext i1 %t85 to i32 store i32 %t86, ptr %t81 br i1 %t85, label %sc19, label %scend20 sc19: %t87 = load ptr, ptr %t64 %t88 = load i32, ptr %t75 %t89 = sub i32 %t88, 9 %t90 = load i32, ptr %t75 store i32 1269, ptr @lp_site %t91 = call ptr @lp_str_slice(ptr %t87, i32 %t89, i32 %t90) store i32 0, ptr @lp_site %t92 = call i32 @lp_str_eq(ptr %t91, ptr @.str1875) call void @lp_free(ptr %t91) %t93 = icmp ne i32 %t92, 0 %t94 = zext i1 %t93 to i32 store i32 %t94, ptr %t81 br label %scend20 scend20: %t95 = load i32, ptr %t81 %t96 = icmp ne i32 %t95, 0 %t97 = zext i1 %t96 to i32 store i32 %t97, ptr %t76 br label %scend18 scend18: %t98 = load i32, ptr %t76 %t99 = icmp ne i32 %t98, 0 br i1 %t99, label %then21, label %ifend23 then21: store ptr @.str1876, ptr %t100 %t101 = load i32, ptr %t44 %t102 = add i32 %t101, 1 store i32 %t102, ptr %t103 br label %wcond24 wcond24: %t104 = load i32, ptr %t103 %t105 = load ptr, ptr %t14 %t106 = call i64 @strlen(ptr %t105) %t107 = trunc i64 %t106 to i32 %t108 = icmp slt i32 %t104, %t107 %t109 = zext i1 %t108 to i32 %t110 = icmp ne i32 %t109, 0 br i1 %t110, label %wbody25, label %wend26 wbody25: %t111 = load ptr, ptr %t14 %t112 = load i32, ptr %t103 %t113 = getelementptr inbounds i8, ptr %t111, i32 %t112 %t114 = load i8, ptr %t113 %t115 = zext i8 %t114 to i32 %t116 = icmp eq i32 %t115, 46 %t117 = zext i1 %t116 to i32 %t118 = icmp ne i32 %t117, 0 br i1 %t118, label %then27, label %else28 then27: %t119 = load ptr, ptr %t100 store i32 1270, ptr @lp_site %t120 = call ptr @lp_str_concat(ptr %t119, ptr @.str1877) store i32 0, ptr @lp_site store ptr %t120, ptr %t100 br label %ifend29 else28: %t121 = load ptr, ptr %t100 %t122 = load ptr, ptr %t14 %t123 = load i32, ptr %t103 %t124 = load i32, ptr %t103 %t125 = add i32 %t124, 1 store i32 1271, ptr @lp_site %t126 = call ptr @lp_str_slice(ptr %t122, i32 %t123, i32 %t125) store i32 0, ptr @lp_site store i32 1272, ptr @lp_site %t127 = call ptr @lp_str_concat(ptr %t121, ptr %t126) store i32 0, ptr @lp_site call void @lp_free(ptr %t126) store ptr %t127, ptr %t100 br label %ifend29 ifend29: %t128 = load i32, ptr %t103 %t129 = add i32 %t128, 1 store i32 %t129, ptr %t103 br label %wcond24 wend26: %t130 = load ptr, ptr %t100 store i32 1273, ptr @lp_site %t131 = call ptr @lp_str_concat(ptr @.str1878, ptr %t130) store i32 0, ptr @lp_site store ptr %t131, ptr %retval br label %ret ifend23: %t132 = load ptr, ptr %t14 store i32 1274, ptr @lp_site %t133 = call ptr @lp_str_concat(ptr @.str1879, ptr %t132) store i32 0, ptr @lp_site store ptr %t133, ptr %retval br label %ret ifend2: %t134 = sub i32 0, 1 store i32 %t134, ptr %t135 store i32 0, ptr %t136 br label %wcond30 wcond30: %t138 = load i32, ptr %t136 %t139 = load ptr, ptr %t0 %t140 = call i64 @strlen(ptr %t139) %t141 = trunc i64 %t140 to i32 %t142 = icmp slt i32 %t138, %t141 %t143 = zext i1 %t142 to i32 %t144 = icmp ne i32 %t143, 0 %t145 = zext i1 %t144 to i32 store i32 %t145, ptr %t137 br i1 %t144, label %sc33, label %scend34 sc33: %t146 = load i32, ptr %t135 %t147 = icmp slt i32 %t146, 0 %t148 = zext i1 %t147 to i32 %t149 = icmp ne i32 %t148, 0 %t150 = zext i1 %t149 to i32 store i32 %t150, ptr %t137 br label %scend34 scend34: %t151 = load i32, ptr %t137 %t152 = icmp ne i32 %t151, 0 br i1 %t152, label %wbody31, label %wend32 wbody31: %t154 = load ptr, ptr %t0 %t155 = load i32, ptr %t136 %t156 = getelementptr inbounds i8, ptr %t154, i32 %t155 %t157 = load i8, ptr %t156 %t158 = zext i8 %t157 to i32 %t159 = icmp eq i32 %t158, 64 %t160 = zext i1 %t159 to i32 %t161 = icmp ne i32 %t160, 0 %t162 = zext i1 %t161 to i32 store i32 %t162, ptr %t153 br i1 %t161, label %scend36, label %sc35 sc35: %t163 = load ptr, ptr %t0 %t164 = load i32, ptr %t136 %t165 = getelementptr inbounds i8, ptr %t163, i32 %t164 %t166 = load i8, ptr %t165 %t167 = zext i8 %t166 to i32 %t168 = icmp eq i32 %t167, 58 %t169 = zext i1 %t168 to i32 %t170 = icmp ne i32 %t169, 0 %t171 = zext i1 %t170 to i32 store i32 %t171, ptr %t153 br label %scend36 scend36: %t172 = load i32, ptr %t153 %t173 = icmp ne i32 %t172, 0 br i1 %t173, label %then37, label %ifend39 then37: %t174 = load i32, ptr %t136 store i32 %t174, ptr %t135 br label %ifend39 ifend39: %t175 = load i32, ptr %t136 %t176 = add i32 %t175, 1 store i32 %t176, ptr %t136 br label %wcond30 wend32: %t178 = load ptr, ptr %t0 %t179 = call i64 @strlen(ptr %t178) %t180 = trunc i64 %t179 to i32 %t181 = icmp sgt i32 %t180, 8 %t182 = zext i1 %t181 to i32 %t183 = icmp ne i32 %t182, 0 %t184 = zext i1 %t183 to i32 store i32 %t184, ptr %t177 br i1 %t183, label %sc40, label %scend41 sc40: %t185 = load ptr, ptr %t0 store i32 1275, ptr @lp_site %t186 = call ptr @lp_str_slice(ptr %t185, i32 0, i32 8) store i32 0, ptr @lp_site %t187 = call i32 @lp_str_eq(ptr %t186, ptr @.str1880) call void @lp_free(ptr %t186) %t188 = icmp ne i32 %t187, 0 %t189 = zext i1 %t188 to i32 store i32 %t189, ptr %t177 br label %scend41 scend41: %t190 = load i32, ptr %t177 %t191 = icmp ne i32 %t190, 0 br i1 %t191, label %then42, label %ifend44 then42: %t192 = load ptr, ptr %t0 store ptr %t192, ptr %retval br label %ret ifend44: %t194 = load i32, ptr %t135 %t195 = icmp sge i32 %t194, 0 %t196 = zext i1 %t195 to i32 %t197 = icmp ne i32 %t196, 0 %t198 = zext i1 %t197 to i32 store i32 %t198, ptr %t193 br i1 %t197, label %sc45, label %scend46 sc45: %t199 = load ptr, ptr %t0 %t200 = load i32, ptr %t135 %t201 = getelementptr inbounds i8, ptr %t199, i32 %t200 %t202 = load i8, ptr %t201 %t203 = zext i8 %t202 to i32 %t204 = icmp eq i32 %t203, 64 %t205 = zext i1 %t204 to i32 %t206 = icmp ne i32 %t205, 0 %t207 = zext i1 %t206 to i32 store i32 %t207, ptr %t193 br label %scend46 scend46: %t208 = load i32, ptr %t193 %t209 = icmp ne i32 %t208, 0 br i1 %t209, label %then47, label %ifend49 then47: %t210 = load ptr, ptr %t0 %t211 = load i32, ptr %t135 %t212 = add i32 %t211, 1 store i32 1276, ptr @lp_site %t213 = call ptr @lp_str_slice(ptr %t210, i32 0, i32 %t212) store i32 0, ptr @lp_site %t214 = load ptr, ptr %t0 %t215 = load i32, ptr %t135 %t216 = add i32 %t215, 1 %t217 = load ptr, ptr %t0 %t218 = call i64 @strlen(ptr %t217) %t219 = trunc i64 %t218 to i32 store i32 1277, ptr @lp_site %t220 = call ptr @lp_str_slice(ptr %t214, i32 %t216, i32 %t219) store i32 0, ptr @lp_site %t221 = call ptr @fn_mg_norm(ptr %t220) store i32 1278, ptr @lp_site %t222 = call ptr @lp_str_concat(ptr %t213, ptr %t221) store i32 0, ptr @lp_site call void @lp_free(ptr %t213) store ptr %t222, ptr %retval br label %ret ifend49: %t224 = load i32, ptr %t135 %t225 = icmp sge i32 %t224, 0 %t226 = zext i1 %t225 to i32 %t227 = icmp ne i32 %t226, 0 %t228 = zext i1 %t227 to i32 store i32 %t228, ptr %t223 br i1 %t227, label %sc50, label %scend51 sc50: %t229 = load ptr, ptr %t0 %t230 = load i32, ptr %t135 store i32 1279, ptr @lp_site %t231 = call ptr @lp_str_slice(ptr %t229, i32 0, i32 %t230) store i32 0, ptr @lp_site %t232 = call i32 @lp_str_eq(ptr %t231, ptr @.str1881) call void @lp_free(ptr %t231) %t233 = icmp ne i32 %t232, 0 %t234 = zext i1 %t233 to i32 store i32 %t234, ptr %t223 br label %scend51 scend51: %t235 = load i32, ptr %t223 %t236 = icmp ne i32 %t235, 0 br i1 %t236, label %then52, label %ifend54 then52: %t237 = load ptr, ptr %t0 %t238 = load i32, ptr %t135 %t239 = add i32 %t238, 1 %t240 = load ptr, ptr %t0 %t241 = call i64 @strlen(ptr %t240) %t242 = trunc i64 %t241 to i32 store i32 1280, ptr @lp_site %t243 = call ptr @lp_str_slice(ptr %t237, i32 %t239, i32 %t242) store i32 0, ptr @lp_site %t244 = call ptr @fn_mg_norm(ptr %t243) store i32 1281, ptr @lp_site %t245 = call ptr @lp_str_concat(ptr @.str1882, ptr %t244) store i32 0, ptr @lp_site store ptr %t245, ptr %retval br label %ret ifend54: %t246 = load i32, ptr %t135 %t247 = icmp sge i32 %t246, 0 %t248 = zext i1 %t247 to i32 %t249 = icmp ne i32 %t248, 0 br i1 %t249, label %then55, label %ifend57 then55: %t250 = load i32, ptr %t135 %t251 = add i32 %t250, 1 store i32 %t251, ptr %t252 br label %wcond58 wcond58: %t254 = load i32, ptr %t252 %t255 = load ptr, ptr %t0 %t256 = call i64 @strlen(ptr %t255) %t257 = trunc i64 %t256 to i32 %t258 = icmp slt i32 %t254, %t257 %t259 = zext i1 %t258 to i32 %t260 = icmp ne i32 %t259, 0 %t261 = zext i1 %t260 to i32 store i32 %t261, ptr %t253 br i1 %t260, label %sc61, label %scend62 sc61: %t262 = load ptr, ptr %t0 %t263 = load i32, ptr %t252 %t264 = getelementptr inbounds i8, ptr %t262, i32 %t263 %t265 = load i8, ptr %t264 %t266 = zext i8 %t265 to i32 %t267 = icmp ne i32 %t266, 64 %t268 = zext i1 %t267 to i32 %t269 = icmp ne i32 %t268, 0 %t270 = zext i1 %t269 to i32 store i32 %t270, ptr %t253 br label %scend62 scend62: %t271 = load i32, ptr %t253 %t272 = icmp ne i32 %t271, 0 br i1 %t272, label %wbody59, label %wend60 wbody59: %t273 = load i32, ptr %t252 %t274 = add i32 %t273, 1 store i32 %t274, ptr %t252 br label %wcond58 wend60: %t275 = load i32, ptr %t252 %t276 = load ptr, ptr %t0 %t277 = call i64 @strlen(ptr %t276) %t278 = trunc i64 %t277 to i32 %t279 = icmp slt i32 %t275, %t278 %t280 = zext i1 %t279 to i32 %t281 = icmp ne i32 %t280, 0 br i1 %t281, label %then63, label %ifend65 then63: %t282 = load ptr, ptr %t0 %t283 = load i32, ptr %t252 %t284 = add i32 %t283, 1 store i32 1282, ptr @lp_site %t285 = call ptr @lp_str_slice(ptr %t282, i32 0, i32 %t284) store i32 0, ptr @lp_site %t286 = load ptr, ptr %t0 %t287 = load i32, ptr %t252 %t288 = add i32 %t287, 1 %t289 = load ptr, ptr %t0 %t290 = call i64 @strlen(ptr %t289) %t291 = trunc i64 %t290 to i32 store i32 1283, ptr @lp_site %t292 = call ptr @lp_str_slice(ptr %t286, i32 %t288, i32 %t291) store i32 0, ptr @lp_site %t293 = call ptr @fn_mg_norm(ptr %t292) store i32 1284, ptr @lp_site %t294 = call ptr @lp_str_concat(ptr %t285, ptr %t293) store i32 0, ptr @lp_site call void @lp_free(ptr %t285) store ptr %t294, ptr %retval br label %ret ifend65: br label %ifend57 ifend57: %t295 = load ptr, ptr %t0 store ptr %t295, ptr %retval br label %ret ret: %t296 = load ptr, ptr %retval ret ptr %t296 } define ptr @fn_mg_norm(ptr %arg_p0) { entry: %retval = alloca ptr %t0 = alloca ptr %t2 = alloca ptr %t4 = alloca ptr %t11 = alloca ptr %t12 = alloca i32 %t42 = alloca i32 %t59 = alloca i32 %t66 = alloca ptr %t67 = alloca i32 %t68 = alloca i32 %t69 = alloca i32 %t77 = alloca i32 %t101 = alloca ptr %t102 = alloca i32 %t103 = alloca i32 %t136 = alloca i32 %t194 = alloca ptr %t222 = alloca i32 store ptr %arg_p0, ptr %t0 %t1 = load ptr, ptr %t0 store ptr %t1, ptr %t2 %t3 = call ptr @getenv(ptr @.str1883) store ptr %t3, ptr %t4 %t5 = load ptr, ptr %t4 %t6 = icmp ne ptr %t5, null %t7 = zext i1 %t6 to i32 %t8 = icmp ne i32 %t7, 0 br i1 %t8, label %then0, label %ifend2 then0: %t9 = load ptr, ptr %t4 store i32 1285, ptr @lp_site %t10 = call ptr @lp_str_concat(ptr %t9, ptr @.str1884) store i32 0, ptr @lp_site store ptr %t10, ptr %t11 %t13 = load ptr, ptr %t2 %t14 = call i64 @strlen(ptr %t13) %t15 = trunc i64 %t14 to i32 %t16 = load ptr, ptr %t11 %t17 = call i64 @strlen(ptr %t16) %t18 = trunc i64 %t17 to i32 %t19 = icmp sgt i32 %t15, %t18 %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 %sc3, label %scend4 sc3: %t23 = load ptr, ptr %t2 %t24 = load ptr, ptr %t11 %t25 = call i64 @strlen(ptr %t24) %t26 = trunc i64 %t25 to i32 store i32 1286, ptr @lp_site %t27 = call ptr @lp_str_slice(ptr %t23, i32 0, i32 %t26) store i32 0, ptr @lp_site %t28 = load ptr, ptr %t11 %t29 = call i32 @lp_str_eq(ptr %t27, ptr %t28) call void @lp_free(ptr %t27) %t30 = icmp ne i32 %t29, 0 %t31 = zext i1 %t30 to i32 store i32 %t31, ptr %t12 br label %scend4 scend4: %t32 = load i32, ptr %t12 %t33 = icmp ne i32 %t32, 0 br i1 %t33, label %then5, label %ifend7 then5: %t34 = load ptr, ptr %t2 %t35 = load ptr, ptr %t11 %t36 = call i64 @strlen(ptr %t35) %t37 = trunc i64 %t36 to i32 %t38 = load ptr, ptr %t2 %t39 = call i64 @strlen(ptr %t38) %t40 = trunc i64 %t39 to i32 store i32 1287, ptr @lp_site %t41 = call ptr @lp_str_slice(ptr %t34, i32 %t37, i32 %t40) store i32 0, ptr @lp_site store ptr %t41, ptr %t2 br label %ifend7 ifend7: br label %ifend2 ifend2: %t43 = load ptr, ptr %t2 %t44 = call i64 @strlen(ptr %t43) %t45 = trunc i64 %t44 to i32 %t46 = icmp sgt i32 %t45, 0 %t47 = zext i1 %t46 to i32 %t48 = icmp ne i32 %t47, 0 %t49 = zext i1 %t48 to i32 store i32 %t49, ptr %t42 br i1 %t48, label %sc8, label %scend9 sc8: %t50 = load ptr, ptr %t2 %t51 = getelementptr inbounds i8, ptr %t50, i32 0 %t52 = load i8, ptr %t51 %t53 = zext i8 %t52 to i32 %t54 = icmp eq i32 %t53, 47 %t55 = zext i1 %t54 to i32 %t56 = icmp ne i32 %t55, 0 %t57 = zext i1 %t56 to i32 store i32 %t57, ptr %t42 br label %scend9 scend9: %t58 = load i32, ptr %t42 store i32 %t58, ptr %t59 %t60 = getelementptr %LSlice, ptr null, i32 1 %t61 = ptrtoint ptr %t60 to i64 store i32 1288, ptr @lp_site %t62 = call ptr @lp_malloc(i64 %t61) store i32 0, ptr @lp_site %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 store i32 0, ptr %t67 store i32 0, ptr %t68 store i32 0, ptr %t69 br label %wcond10 wcond10: %t70 = load i32, ptr %t69 %t71 = load ptr, ptr %t2 %t72 = call i64 @strlen(ptr %t71) %t73 = trunc i64 %t72 to i32 %t74 = icmp sle i32 %t70, %t73 %t75 = zext i1 %t74 to i32 %t76 = icmp ne i32 %t75, 0 br i1 %t76, label %wbody11, label %wend12 wbody11: %t78 = load i32, ptr %t69 %t79 = load ptr, ptr %t2 %t80 = call i64 @strlen(ptr %t79) %t81 = trunc i64 %t80 to i32 %t82 = icmp eq i32 %t78, %t81 %t83 = zext i1 %t82 to i32 %t84 = icmp ne i32 %t83, 0 %t85 = zext i1 %t84 to i32 store i32 %t85, ptr %t77 br i1 %t84, label %scend14, label %sc13 sc13: %t86 = load ptr, ptr %t2 %t87 = load i32, ptr %t69 %t88 = getelementptr inbounds i8, ptr %t86, i32 %t87 %t89 = load i8, ptr %t88 %t90 = zext i8 %t89 to i32 %t91 = icmp eq i32 %t90, 47 %t92 = zext i1 %t91 to i32 %t93 = icmp ne i32 %t92, 0 %t94 = zext i1 %t93 to i32 store i32 %t94, ptr %t77 br label %scend14 scend14: %t95 = load i32, ptr %t77 %t96 = icmp ne i32 %t95, 0 br i1 %t96, label %then15, label %ifend17 then15: %t97 = load ptr, ptr %t2 %t98 = load i32, ptr %t68 %t99 = load i32, ptr %t69 store i32 1289, ptr @lp_site %t100 = call ptr @lp_str_slice(ptr %t97, i32 %t98, i32 %t99) store i32 0, ptr @lp_site store ptr %t100, ptr %t101 %t104 = load ptr, ptr %t101 %t105 = call i32 @lp_str_eq(ptr %t104, ptr @.str1886) %t106 = icmp ne i32 %t105, 0 %t107 = zext i1 %t106 to i32 store i32 %t107, ptr %t103 br i1 %t106, label %sc18, label %scend19 sc18: %t108 = load i32, ptr %t67 %t109 = icmp sgt i32 %t108, 0 %t110 = zext i1 %t109 to i32 %t111 = icmp ne i32 %t110, 0 %t112 = zext i1 %t111 to i32 store i32 %t112, ptr %t103 br label %scend19 scend19: %t113 = load i32, ptr %t103 %t114 = icmp ne i32 %t113, 0 %t115 = zext i1 %t114 to i32 store i32 %t115, ptr %t102 br i1 %t114, label %sc20, label %scend21 sc20: %t116 = load ptr, ptr %t66 %t117 = load i32, ptr %t67 %t118 = sub i32 %t117, 1 %t119 = getelementptr inbounds %LSlice, ptr %t116, i32 0, i32 0 %t120 = load ptr, ptr %t119 %t121 = getelementptr inbounds %LSlice, ptr %t116, i32 0, i32 1 %t122 = load i32, ptr %t121 %t123 = icmp ult i32 %t118, %t122 br i1 %t123, label %ixok22, label %ixbad23 ixbad23: store i32 1290, ptr @lp_site %t124 = call ptr @lp_win_stdio(i32 2) store i32 0, ptr @lp_site call i32 (ptr, ptr, ...) @fprintf(ptr %t124, ptr @.fmt_bounds, ptr @.str1887, i32 %t118, i32 %t122) call void @exit(i32 1) unreachable ixok22: %t125 = getelementptr inbounds ptr, ptr %t120, i32 %t118 %t126 = load ptr, ptr %t125 %t127 = call i32 @lp_str_eq(ptr %t126, ptr @.str1888) %t128 = icmp eq i32 %t127, 0 %t129 = zext i1 %t128 to i32 %t130 = icmp ne i32 %t129, 0 %t131 = zext i1 %t130 to i32 store i32 %t131, ptr %t102 br label %scend21 scend21: %t132 = load i32, ptr %t102 %t133 = icmp ne i32 %t132, 0 br i1 %t133, label %then24, label %else25 then24: %t134 = load i32, ptr %t67 %t135 = sub i32 %t134, 1 store i32 %t135, ptr %t67 br label %ifend26 else25: %t137 = load ptr, ptr %t101 %t138 = call i32 @lp_str_eq(ptr %t137, ptr @.str1889) %t139 = icmp eq i32 %t138, 0 %t140 = zext i1 %t139 to i32 %t141 = icmp ne i32 %t140, 0 %t142 = zext i1 %t141 to i32 store i32 %t142, ptr %t136 br i1 %t141, label %sc27, label %scend28 sc27: %t143 = load ptr, ptr %t101 %t144 = call i32 @lp_str_eq(ptr %t143, ptr @.str1890) %t145 = icmp eq i32 %t144, 0 %t146 = zext i1 %t145 to i32 %t147 = icmp ne i32 %t146, 0 %t148 = zext i1 %t147 to i32 store i32 %t148, ptr %t136 br label %scend28 scend28: %t149 = load i32, ptr %t136 %t150 = icmp ne i32 %t149, 0 br i1 %t150, label %then29, label %ifend31 then29: %t151 = load i32, ptr %t67 %t152 = load ptr, ptr %t66 %t153 = getelementptr inbounds %LSlice, ptr %t152, i32 0, i32 1 %t154 = load i32, ptr %t153 %t155 = icmp slt i32 %t151, %t154 %t156 = zext i1 %t155 to i32 %t157 = icmp ne i32 %t156, 0 br i1 %t157, label %then32, label %else33 then32: %t158 = load ptr, ptr %t66 %t159 = load i32, ptr %t67 %t160 = getelementptr inbounds %LSlice, ptr %t158, i32 0, i32 0 %t161 = load ptr, ptr %t160 %t162 = getelementptr inbounds %LSlice, ptr %t158, i32 0, i32 1 %t163 = load i32, ptr %t162 %t164 = icmp ult i32 %t159, %t163 br i1 %t164, label %ixok35, label %ixbad36 ixbad36: store i32 1291, ptr @lp_site %t165 = call ptr @lp_win_stdio(i32 2) store i32 0, ptr @lp_site call i32 (ptr, ptr, ...) @fprintf(ptr %t165, ptr @.fmt_bounds, ptr @.str1891, i32 %t159, i32 %t163) call void @exit(i32 1) unreachable ixok35: %t166 = getelementptr inbounds ptr, ptr %t161, i32 %t159 %t167 = load ptr, ptr %t101 store ptr %t167, ptr %t166 br label %ifend34 else33: %t168 = load ptr, ptr %t66 %t169 = load ptr, ptr %t101 %t170 = getelementptr inbounds %LSlice, ptr %t168, i32 0, i32 1 %t171 = getelementptr inbounds %LSlice, ptr %t168, i32 0, i32 2 %t172 = getelementptr inbounds %LSlice, ptr %t168, i32 0, i32 0 %t173 = load i32, ptr %t170 %t174 = load i32, ptr %t171 %t175 = icmp sge i32 %t173, %t174 br i1 %t175, label %grow37, label %put38 grow37: %t176 = mul i32 %t174, 2 %t177 = icmp eq i32 %t174, 0 %t178 = select i1 %t177, i32 8, i32 %t176 %t179 = getelementptr ptr, ptr null, i32 1 %t180 = ptrtoint ptr %t179 to i64 %t181 = zext i32 %t178 to i64 %t182 = mul i64 %t181, %t180 %t183 = load ptr, ptr %t172 store i32 1292, ptr @lp_site %t184 = call ptr @lp_realloc(ptr %t183, i64 %t182) store i32 0, ptr @lp_site store ptr %t184, ptr %t172 store i32 %t178, ptr %t171 br label %put38 put38: %t185 = load ptr, ptr %t172 %t186 = getelementptr inbounds ptr, ptr %t185, i32 %t173 store ptr %t169, ptr %t186 %t187 = add i32 %t173, 1 store i32 %t187, ptr %t170 br label %ifend34 ifend34: %t188 = load i32, ptr %t67 %t189 = add i32 %t188, 1 store i32 %t189, ptr %t67 br label %ifend31 ifend31: br label %ifend26 ifend26: %t190 = load i32, ptr %t69 %t191 = add i32 %t190, 1 store i32 %t191, ptr %t68 br label %ifend17 ifend17: %t192 = load i32, ptr %t69 %t193 = add i32 %t192, 1 store i32 %t193, ptr %t69 br label %wcond10 wend12: store ptr @.str1892, ptr %t194 %t195 = load i32, ptr %t59 %t196 = icmp ne i32 %t195, 0 br i1 %t196, label %then39, label %ifend41 then39: store ptr @.str1893, ptr %t194 br label %ifend41 ifend41: store i32 0, ptr %t69 br label %wcond42 wcond42: %t197 = load i32, ptr %t69 %t198 = load i32, ptr %t67 %t199 = icmp slt i32 %t197, %t198 %t200 = zext i1 %t199 to i32 %t201 = icmp ne i32 %t200, 0 br i1 %t201, label %wbody43, label %wend44 wbody43: %t202 = load i32, ptr %t69 %t203 = icmp sgt i32 %t202, 0 %t204 = zext i1 %t203 to i32 %t205 = icmp ne i32 %t204, 0 br i1 %t205, label %then45, label %ifend47 then45: %t206 = load ptr, ptr %t194 store i32 1293, ptr @lp_site %t207 = call ptr @lp_str_concat(ptr %t206, ptr @.str1894) store i32 0, ptr @lp_site store ptr %t207, ptr %t194 br label %ifend47 ifend47: %t208 = load ptr, ptr %t194 %t209 = load ptr, ptr %t66 %t210 = load i32, ptr %t69 %t211 = getelementptr inbounds %LSlice, ptr %t209, i32 0, i32 0 %t212 = load ptr, ptr %t211 %t213 = getelementptr inbounds %LSlice, ptr %t209, i32 0, i32 1 %t214 = load i32, ptr %t213 %t215 = icmp ult i32 %t210, %t214 br i1 %t215, label %ixok48, label %ixbad49 ixbad49: store i32 1294, ptr @lp_site %t216 = call ptr @lp_win_stdio(i32 2) store i32 0, ptr @lp_site call i32 (ptr, ptr, ...) @fprintf(ptr %t216, ptr @.fmt_bounds, ptr @.str1895, i32 %t210, i32 %t214) call void @exit(i32 1) unreachable ixok48: %t217 = getelementptr inbounds ptr, ptr %t212, i32 %t210 %t218 = load ptr, ptr %t217 store i32 1295, ptr @lp_site %t219 = call ptr @lp_str_concat(ptr %t208, ptr %t218) store i32 0, ptr @lp_site store ptr %t219, ptr %t194 %t220 = load i32, ptr %t69 %t221 = add i32 %t220, 1 store i32 %t221, ptr %t69 br label %wcond42 wend44: %t223 = load ptr, ptr %t2 %t224 = call i64 @strlen(ptr %t223) %t225 = trunc i64 %t224 to i32 %t226 = icmp sgt i32 %t225, 0 %t227 = zext i1 %t226 to i32 %t228 = icmp ne i32 %t227, 0 %t229 = zext i1 %t228 to i32 store i32 %t229, ptr %t222 br i1 %t228, label %sc50, label %scend51 sc50: %t230 = load ptr, ptr %t2 %t231 = load ptr, ptr %t2 %t232 = call i64 @strlen(ptr %t231) %t233 = trunc i64 %t232 to i32 %t234 = sub i32 %t233, 1 %t235 = getelementptr inbounds i8, ptr %t230, i32 %t234 %t236 = load i8, ptr %t235 %t237 = zext i8 %t236 to i32 %t238 = icmp eq i32 %t237, 47 %t239 = zext i1 %t238 to i32 %t240 = icmp ne i32 %t239, 0 %t241 = zext i1 %t240 to i32 store i32 %t241, ptr %t222 br label %scend51 scend51: %t242 = load i32, ptr %t222 %t243 = icmp ne i32 %t242, 0 br i1 %t243, label %then52, label %ifend54 then52: %t244 = load ptr, ptr %t194 store i32 1296, ptr @lp_site %t245 = call ptr @lp_str_concat(ptr %t244, ptr @.str1896) store i32 0, ptr @lp_site store ptr %t245, ptr %t194 br label %ifend54 ifend54: %t246 = load ptr, ptr %t194 store ptr %t246, ptr %retval br label %ret ret: %t247 = load ptr, ptr %retval ret ptr %t247 } define ptr @fn_mg_esc(ptr %arg_s) { entry: %retval = alloca ptr %t0 = alloca ptr %t1 = alloca ptr %t2 = alloca i32 %t15 = alloca i32 store ptr %arg_s, ptr %t0 store ptr @.str1897, ptr %t1 store i32 0, ptr %t2 br label %wcond0 wcond0: %t3 = load i32, ptr %t2 %t4 = load ptr, ptr %t0 %t5 = call i64 @strlen(ptr %t4) %t6 = trunc i64 %t5 to i32 %t7 = icmp slt i32 %t3, %t6 %t8 = zext i1 %t7 to i32 %t9 = icmp ne i32 %t8, 0 br i1 %t9, label %wbody1, label %wend2 wbody1: %t10 = load ptr, ptr %t0 %t11 = load i32, ptr %t2 %t12 = getelementptr inbounds i8, ptr %t10, i32 %t11 %t13 = load i8, ptr %t12 %t14 = zext i8 %t13 to i32 store i32 %t14, ptr %t15 %t16 = load i32, ptr %t15 %t17 = icmp eq i32 %t16, 32 %t18 = zext i1 %t17 to i32 %t19 = icmp ne i32 %t18, 0 br i1 %t19, label %then3, label %else4 then3: %t20 = load ptr, ptr %t1 store i32 1297, ptr @lp_site %t21 = call ptr @lp_str_concat(ptr %t20, ptr @.str1898) store i32 0, ptr @lp_site store ptr %t21, ptr %t1 br label %ifend5 else4: %t22 = load i32, ptr %t15 %t23 = icmp eq i32 %t22, 10 %t24 = zext i1 %t23 to i32 %t25 = icmp ne i32 %t24, 0 br i1 %t25, label %then6, label %else7 then6: %t26 = load ptr, ptr %t1 store i32 1298, ptr @lp_site %t27 = call ptr @lp_str_concat(ptr %t26, ptr @.str1900) store i32 0, ptr @lp_site store ptr %t27, ptr %t1 br label %ifend8 else7: %t28 = load i32, ptr %t15 %t29 = icmp eq i32 %t28, 92 %t30 = zext i1 %t29 to i32 %t31 = icmp ne i32 %t30, 0 br i1 %t31, label %then9, label %else10 then9: %t32 = load ptr, ptr %t1 store i32 1299, ptr @lp_site %t33 = call ptr @lp_str_concat(ptr %t32, ptr @.str1901) store i32 0, ptr @lp_site store ptr %t33, ptr %t1 br label %ifend11 else10: %t34 = load ptr, ptr %t1 %t35 = load ptr, ptr %t0 %t36 = load i32, ptr %t2 %t37 = load i32, ptr %t2 %t38 = add i32 %t37, 1 store i32 1300, ptr @lp_site %t39 = call ptr @lp_str_slice(ptr %t35, i32 %t36, i32 %t38) store i32 0, ptr @lp_site store i32 1301, ptr @lp_site %t40 = call ptr @lp_str_concat(ptr %t34, ptr %t39) store i32 0, ptr @lp_site call void @lp_free(ptr %t39) store ptr %t40, ptr %t1 br label %ifend11 ifend11: br label %ifend8 ifend8: br label %ifend5 ifend5: %t41 = load i32, ptr %t2 %t42 = add i32 %t41, 1 store i32 %t42, ptr %t2 br label %wcond0 wend2: %t43 = load ptr, ptr %t1 store ptr %t43, ptr %retval br label %ret ret: %t44 = load ptr, ptr %retval ret ptr %t44 } define i32 @fn_mg_first_positional_is_state(ptr %arg_e) { entry: %retval = alloca i32 %t0 = alloca ptr %t1 = alloca i32 %t30 = alloca i32 store ptr %arg_e, ptr %t0 %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 1 %t6 = load i32, ptr %t5 %t7 = icmp eq 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 %t1 br i1 %t9, label %scend1, label %sc0 sc0: %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 = getelementptr inbounds %LSlice, ptr %t13, i32 0, i32 1 %t17 = load i32, ptr %t16 %t18 = icmp ult i32 0, %t17 br i1 %t18, label %ixok2, label %ixbad3 ixbad3: store i32 1302, ptr @lp_site %t19 = call ptr @lp_win_stdio(i32 2) store i32 0, ptr @lp_site call i32 (ptr, ptr, ...) @fprintf(ptr %t19, ptr @.fmt_bounds, ptr @.str1902, i32 0, i32 %t17) call void @exit(i32 1) unreachable ixok2: %t20 = getelementptr inbounds ptr, ptr %t15, i32 0 %t21 = load ptr, ptr %t20 %t22 = getelementptr inbounds %Cmp_Node, ptr %t21, i32 0, i32 0 %t23 = load i32, ptr %t22 %t24 = icmp ne i32 %t23, 33 %t25 = zext i1 %t24 to i32 %t26 = icmp ne i32 %t25, 0 %t27 = zext i1 %t26 to i32 store i32 %t27, ptr %t1 br label %scend1 scend1: %t28 = load i32, ptr %t1 %t29 = icmp ne i32 %t28, 0 br i1 %t29, label %then4, label %ifend6 then4: store i32 0, ptr %retval br label %ret ifend6: store i32 0, ptr %t30 br label %wcond7 wcond7: %t31 = load i32, ptr %t30 %t32 = load ptr, ptr @g_g_ms_param %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 %wbody8, label %wend9 wbody8: %t38 = load ptr, ptr @g_g_ms_param %t39 = load i32, ptr %t30 %t40 = getelementptr inbounds %LSlice, ptr %t38, i32 0, i32 0 %t41 = load ptr, ptr %t40 %t42 = getelementptr inbounds %LSlice, ptr %t38, i32 0, i32 1 %t43 = load i32, ptr %t42 %t44 = icmp ult i32 %t39, %t43 br i1 %t44, label %ixok10, label %ixbad11 ixbad11: store i32 1303, ptr @lp_site %t45 = call ptr @lp_win_stdio(i32 2) store i32 0, ptr @lp_site call i32 (ptr, ptr, ...) @fprintf(ptr %t45, ptr @.fmt_bounds, ptr @.str1904, i32 %t39, i32 %t43) call void @exit(i32 1) unreachable ixok10: %t46 = getelementptr inbounds ptr, ptr %t41, i32 %t39 %t47 = load ptr, 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 0 %t52 = load ptr, ptr %t51 %t53 = getelementptr inbounds %LSlice, ptr %t50, i32 0, i32 1 %t54 = load i32, ptr %t53 %t55 = icmp ult i32 0, %t54 br i1 %t55, label %ixok12, label %ixbad13 ixbad13: store i32 1304, ptr @lp_site %t56 = call ptr @lp_win_stdio(i32 2) store i32 0, ptr @lp_site call i32 (ptr, ptr, ...) @fprintf(ptr %t56, ptr @.fmt_bounds, ptr @.str1905, i32 0, i32 %t54) call void @exit(i32 1) unreachable ixok12: %t57 = getelementptr inbounds ptr, ptr %t52, i32 0 %t58 = load ptr, ptr %t57 %t59 = getelementptr inbounds %Cmp_Node, ptr %t58, i32 0, i32 1 %t60 = load ptr, ptr %t59 %t61 = call i32 @lp_str_eq(ptr %t47, ptr %t60) %t62 = icmp ne i32 %t61, 0 br i1 %t62, label %then14, label %ifend16 then14: store i32 1, ptr %retval br label %ret ifend16: %t63 = load i32, ptr %t30 %t64 = add i32 %t63, 1 store i32 %t64, ptr %t30 br label %wcond7 wend9: store i32 0, ptr %retval br label %ret ret: %t65 = load i32, ptr %retval ret i32 %t65 } define i32 @fn_mg_nparams(ptr %arg_n) { entry: %retval = alloca i32 %t0 = alloca ptr %t1 = alloca i32 %t2 = alloca i32 store ptr %arg_n, 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 = load i32, ptr %t2 %t16 = getelementptr inbounds %LSlice, ptr %t14, i32 0, i32 0 %t17 = load ptr, ptr %t16 %t18 = getelementptr inbounds %LSlice, ptr %t14, i32 0, i32 1 %t19 = load i32, ptr %t18 %t20 = icmp ult i32 %t15, %t19 br i1 %t20, label %ixok3, label %ixbad4 ixbad4: store i32 1305, ptr @lp_site %t21 = call ptr @lp_win_stdio(i32 2) store i32 0, ptr @lp_site call i32 (ptr, ptr, ...) @fprintf(ptr %t21, ptr @.fmt_bounds, ptr @.str1906, i32 %t15, i32 %t19) call void @exit(i32 1) unreachable ixok3: %t22 = getelementptr inbounds ptr, ptr %t17, i32 %t15 %t23 = load ptr, ptr %t22 %t24 = getelementptr inbounds %Cmp_Node, ptr %t23, i32 0, i32 0 %t25 = load i32, ptr %t24 %t26 = icmp eq i32 %t25, 5 %t27 = zext i1 %t26 to i32 %t28 = icmp ne i32 %t27, 0 br i1 %t28, label %then5, label %ifend7 then5: %t29 = load i32, ptr %t1 %t30 = add i32 %t29, 1 store i32 %t30, ptr %t1 br label %ifend7 ifend7: %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 void @fn_mg_mut_upgrades(i32 %arg_u, ptr %arg_n) { entry: %t0 = alloca i32 %t1 = alloca ptr %t5 = alloca ptr %t28 = alloca ptr %t43 = alloca i32 %t44 = alloca i32 %t45 = alloca i32 %t46 = alloca i32 %t138 = alloca i32 %t156 = alloca ptr %t157 = alloca i32 %t158 = alloca i32 %t159 = alloca i32 %t160 = alloca i32 %t161 = alloca i32 %t221 = alloca i32 store i32 %arg_u, ptr %t0 store ptr %arg_n, ptr %t1 %t2 = load ptr, ptr %t1 %t3 = getelementptr inbounds %Cmp_Node, ptr %t2, i32 0, i32 7 %t4 = load ptr, ptr %t3 store ptr %t4, ptr %t5 %t6 = load ptr, ptr @g_g_mu_kind %t7 = load i32, ptr %t0 %t8 = getelementptr inbounds %LSlice, ptr %t6, i32 0, i32 0 %t9 = load ptr, ptr %t8 %t10 = getelementptr inbounds %LSlice, ptr %t6, i32 0, i32 1 %t11 = load i32, ptr %t10 %t12 = icmp ult i32 %t7, %t11 br i1 %t12, label %ixok0, label %ixbad1 ixbad1: store i32 1306, ptr @lp_site %t13 = call ptr @lp_win_stdio(i32 2) store i32 0, ptr @lp_site call i32 (ptr, ptr, ...) @fprintf(ptr %t13, ptr @.fmt_bounds, ptr @.str1908, i32 %t7, i32 %t11) call void @exit(i32 1) unreachable ixok0: %t14 = getelementptr inbounds i32, ptr %t9, i32 %t7 %t15 = load i32, ptr %t14 %t16 = icmp ne i32 %t15, 0 %t17 = zext i1 %t16 to i32 %t18 = icmp ne i32 %t17, 0 br i1 %t18, label %then2, label %ifend4 then2: %t19 = getelementptr %LSlice, ptr null, i32 1 %t20 = ptrtoint ptr %t19 to i64 store i32 1307, ptr @lp_site %t21 = call ptr @lp_malloc(i64 %t20) store i32 0, ptr @lp_site %t22 = getelementptr inbounds %LSlice, ptr %t21, i32 0, i32 0 store ptr null, ptr %t22 %t23 = getelementptr inbounds %LSlice, ptr %t21, i32 0, i32 1 store i32 0, ptr %t23 %t24 = getelementptr inbounds %LSlice, ptr %t21, i32 0, i32 2 store i32 0, ptr %t24 store ptr %t21, ptr %t5 %t25 = load ptr, ptr %t1 %t26 = getelementptr inbounds %Cmp_Node, ptr %t25, i32 0, i32 4 %t27 = load ptr, ptr %t26 store ptr %t27, ptr %t28 %t29 = load ptr, ptr @g_g_mu_kind %t30 = load i32, ptr %t0 %t31 = getelementptr inbounds %LSlice, ptr %t29, i32 0, i32 0 %t32 = load ptr, ptr %t31 %t33 = getelementptr inbounds %LSlice, ptr %t29, i32 0, i32 1 %t34 = load i32, ptr %t33 %t35 = icmp ult i32 %t30, %t34 br i1 %t35, label %ixok5, label %ixbad6 ixbad6: store i32 1308, ptr @lp_site %t36 = call ptr @lp_win_stdio(i32 2) store i32 0, ptr @lp_site call i32 (ptr, ptr, ...) @fprintf(ptr %t36, ptr @.fmt_bounds, ptr @.str1910, i32 %t30, i32 %t34) call void @exit(i32 1) unreachable ixok5: %t37 = getelementptr inbounds i32, ptr %t32, i32 %t30 %t38 = load i32, ptr %t37 %t39 = icmp eq i32 %t38, 5 %t40 = zext i1 %t39 to i32 %t41 = icmp ne i32 %t40, 0 br i1 %t41, label %then7, label %ifend9 then7: %t42 = load ptr, ptr %t1 store ptr %t42, ptr %t28 br label %ifend9 ifend9: store i32 0, ptr %t43 br label %wcond10 wcond10: %t47 = load ptr, ptr %t28 %t48 = icmp ne ptr %t47, null %t49 = zext i1 %t48 to i32 %t50 = icmp ne i32 %t49, 0 %t51 = zext i1 %t50 to i32 store i32 %t51, ptr %t46 br i1 %t50, label %sc13, label %scend14 sc13: %t52 = load i32, ptr %t43 %t53 = load ptr, ptr %t28 %t54 = getelementptr inbounds %Cmp_Node, ptr %t53, i32 0, i32 7 %t55 = load ptr, ptr %t54 %t56 = getelementptr inbounds %LSlice, ptr %t55, i32 0, i32 1 %t57 = load i32, ptr %t56 %t58 = icmp slt i32 %t52, %t57 %t59 = zext i1 %t58 to i32 %t60 = icmp ne i32 %t59, 0 %t61 = zext i1 %t60 to i32 store i32 %t61, ptr %t46 br label %scend14 scend14: %t62 = load i32, ptr %t46 %t63 = icmp ne i32 %t62, 0 %t64 = zext i1 %t63 to i32 store i32 %t64, ptr %t45 br i1 %t63, label %sc15, label %scend16 sc15: %t65 = load ptr, ptr %t28 %t66 = getelementptr inbounds %Cmp_Node, ptr %t65, i32 0, i32 7 %t67 = load ptr, ptr %t66 %t68 = load i32, ptr %t43 %t69 = getelementptr inbounds %LSlice, ptr %t67, i32 0, i32 0 %t70 = load ptr, ptr %t69 %t71 = getelementptr inbounds %LSlice, ptr %t67, i32 0, i32 1 %t72 = load i32, ptr %t71 %t73 = icmp ult i32 %t68, %t72 br i1 %t73, label %ixok17, label %ixbad18 ixbad18: store i32 1309, ptr @lp_site %t74 = call ptr @lp_win_stdio(i32 2) store i32 0, ptr @lp_site call i32 (ptr, ptr, ...) @fprintf(ptr %t74, ptr @.fmt_bounds, ptr @.str1911, i32 %t68, i32 %t72) call void @exit(i32 1) unreachable ixok17: %t75 = getelementptr inbounds ptr, ptr %t70, i32 %t68 %t76 = load ptr, ptr %t75 %t77 = getelementptr inbounds %Cmp_Node, ptr %t76, i32 0, i32 11 %t78 = load ptr, ptr %t77 %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 %t45 br label %scend16 scend16: %t83 = load i32, ptr %t45 %t84 = icmp ne i32 %t83, 0 %t85 = zext i1 %t84 to i32 store i32 %t85, ptr %t44 br i1 %t84, label %sc19, label %scend20 sc19: %t86 = load ptr, ptr %t28 %t87 = getelementptr inbounds %Cmp_Node, ptr %t86, i32 0, i32 7 %t88 = load ptr, ptr %t87 %t89 = load i32, ptr %t43 %t90 = getelementptr inbounds %LSlice, ptr %t88, i32 0, i32 0 %t91 = load ptr, ptr %t90 %t92 = getelementptr inbounds %LSlice, ptr %t88, i32 0, i32 1 %t93 = load i32, ptr %t92 %t94 = icmp ult i32 %t89, %t93 br i1 %t94, label %ixok21, label %ixbad22 ixbad22: store i32 1310, ptr @lp_site %t95 = call ptr @lp_win_stdio(i32 2) store i32 0, ptr @lp_site call i32 (ptr, ptr, ...) @fprintf(ptr %t95, ptr @.fmt_bounds, ptr @.str1912, i32 %t89, i32 %t93) call void @exit(i32 1) unreachable ixok21: %t96 = getelementptr inbounds ptr, ptr %t91, i32 %t89 %t97 = load ptr, ptr %t96 %t98 = getelementptr inbounds %Cmp_Node, ptr %t97, i32 0, i32 11 %t99 = load ptr, ptr %t98 %t100 = call i32 @lp_str_eq(ptr %t99, ptr @.str1913) %t101 = icmp ne i32 %t100, 0 %t102 = zext i1 %t101 to i32 store i32 %t102, ptr %t44 br label %scend20 scend20: %t103 = load i32, ptr %t44 %t104 = icmp ne i32 %t103, 0 br i1 %t104, label %wbody11, label %wend12 wbody11: %t105 = load ptr, ptr %t5 %t106 = load ptr, ptr %t28 %t107 = getelementptr inbounds %Cmp_Node, ptr %t106, i32 0, i32 7 %t108 = load ptr, ptr %t107 %t109 = load i32, ptr %t43 %t110 = getelementptr inbounds %LSlice, ptr %t108, i32 0, i32 0 %t111 = load ptr, ptr %t110 %t112 = getelementptr inbounds %LSlice, ptr %t108, i32 0, i32 1 %t113 = load i32, ptr %t112 %t114 = icmp ult i32 %t109, %t113 br i1 %t114, label %ixok23, label %ixbad24 ixbad24: store i32 1311, ptr @lp_site %t115 = call ptr @lp_win_stdio(i32 2) store i32 0, ptr @lp_site call i32 (ptr, ptr, ...) @fprintf(ptr %t115, ptr @.fmt_bounds, ptr @.str1914, i32 %t109, i32 %t113) call void @exit(i32 1) unreachable ixok23: %t116 = getelementptr inbounds ptr, ptr %t111, i32 %t109 %t117 = load ptr, ptr %t116 %t118 = getelementptr inbounds %LSlice, ptr %t105, i32 0, i32 1 %t119 = getelementptr inbounds %LSlice, ptr %t105, i32 0, i32 2 %t120 = getelementptr inbounds %LSlice, ptr %t105, i32 0, i32 0 %t121 = load i32, ptr %t118 %t122 = load i32, ptr %t119 %t123 = icmp sge i32 %t121, %t122 br i1 %t123, label %grow25, label %put26 grow25: %t124 = mul i32 %t122, 2 %t125 = icmp eq i32 %t122, 0 %t126 = select i1 %t125, i32 8, i32 %t124 %t127 = getelementptr ptr, ptr null, i32 1 %t128 = ptrtoint ptr %t127 to i64 %t129 = zext i32 %t126 to i64 %t130 = mul i64 %t129, %t128 %t131 = load ptr, ptr %t120 store i32 1312, ptr @lp_site %t132 = call ptr @lp_realloc(ptr %t131, i64 %t130) store i32 0, ptr @lp_site store ptr %t132, ptr %t120 store i32 %t126, ptr %t119 br label %put26 put26: %t133 = load ptr, ptr %t120 %t134 = getelementptr inbounds ptr, ptr %t133, i32 %t121 store ptr %t117, ptr %t134 %t135 = add i32 %t121, 1 store i32 %t135, ptr %t118 %t136 = load i32, ptr %t43 %t137 = add i32 %t136, 1 store i32 %t137, ptr %t43 br label %wcond10 wend12: br label %ifend4 ifend4: store i32 0, ptr %t138 br label %wcond27 wcond27: %t139 = load i32, ptr %t138 %t140 = load ptr, ptr %t5 %t141 = getelementptr inbounds %LSlice, ptr %t140, i32 0, i32 1 %t142 = load i32, ptr %t141 %t143 = icmp slt i32 %t139, %t142 %t144 = zext i1 %t143 to i32 %t145 = icmp ne i32 %t144, 0 br i1 %t145, label %wbody28, label %wend29 wbody28: %t146 = load ptr, ptr %t5 %t147 = load i32, ptr %t138 %t148 = getelementptr inbounds %LSlice, ptr %t146, i32 0, i32 0 %t149 = load ptr, ptr %t148 %t150 = getelementptr inbounds %LSlice, ptr %t146, i32 0, i32 1 %t151 = load i32, ptr %t150 %t152 = icmp ult i32 %t147, %t151 br i1 %t152, label %ixok30, label %ixbad31 ixbad31: store i32 1313, ptr @lp_site %t153 = call ptr @lp_win_stdio(i32 2) store i32 0, ptr @lp_site call i32 (ptr, ptr, ...) @fprintf(ptr %t153, ptr @.fmt_bounds, ptr @.str1915, i32 %t147, i32 %t151) call void @exit(i32 1) unreachable ixok30: %t154 = getelementptr inbounds ptr, ptr %t149, i32 %t147 %t155 = load ptr, ptr %t154 store ptr %t155, ptr %t156 %t162 = load ptr, ptr %t156 %t163 = getelementptr inbounds %Cmp_Node, ptr %t162, i32 0, i32 0 %t164 = load i32, ptr %t163 %t165 = icmp eq i32 %t164, 5 %t166 = zext i1 %t165 to i32 %t167 = icmp ne i32 %t166, 0 %t168 = zext i1 %t167 to i32 store i32 %t168, ptr %t161 br i1 %t167, label %scend33, label %sc32 sc32: %t169 = load ptr, ptr %t156 %t170 = getelementptr inbounds %Cmp_Node, ptr %t169, i32 0, i32 0 %t171 = load i32, ptr %t170 %t172 = icmp eq i32 %t171, 10 %t173 = zext i1 %t172 to i32 %t174 = icmp ne i32 %t173, 0 %t175 = zext i1 %t174 to i32 store i32 %t175, ptr %t161 br label %scend33 scend33: %t176 = load i32, ptr %t161 %t177 = icmp ne i32 %t176, 0 %t178 = zext i1 %t177 to i32 store i32 %t178, ptr %t160 br i1 %t177, label %sc34, label %scend35 sc34: %t179 = load ptr, ptr %t156 %t180 = getelementptr inbounds %Cmp_Node, ptr %t179, i32 0, i32 3 %t181 = load ptr, ptr %t180 %t182 = call i32 @fn_is_state_ty(ptr %t181) %t183 = icmp ne i32 %t182, 0 %t184 = zext i1 %t183 to i32 store i32 %t184, ptr %t160 br label %scend35 scend35: %t185 = load i32, ptr %t160 %t186 = icmp ne i32 %t185, 0 %t187 = zext i1 %t186 to i32 store i32 %t187, ptr %t159 br i1 %t186, label %sc36, label %scend37 sc36: %t188 = load ptr, ptr %t156 %t189 = getelementptr inbounds %Cmp_Node, ptr %t188, i32 0, i32 12 %t190 = load i32, ptr %t189 %t191 = icmp eq i32 %t190, 0 %t192 = zext i1 %t191 to i32 %t193 = icmp ne i32 %t192, 0 %t194 = zext i1 %t193 to i32 store i32 %t194, ptr %t159 br label %scend37 scend37: %t195 = load i32, ptr %t159 %t196 = icmp ne i32 %t195, 0 %t197 = zext i1 %t196 to i32 store i32 %t197, ptr %t158 br i1 %t196, label %sc38, label %scend39 sc38: %t198 = load ptr, ptr %t156 %t199 = getelementptr inbounds %Cmp_Node, ptr %t198, i32 0, i32 14 %t200 = load i32, ptr %t199 %t201 = icmp sge i32 %t200, 0 %t202 = zext i1 %t201 to i32 %t203 = icmp ne i32 %t202, 0 %t204 = zext i1 %t203 to i32 store i32 %t204, ptr %t158 br label %scend39 scend39: %t205 = load i32, ptr %t158 %t206 = icmp ne i32 %t205, 0 %t207 = zext i1 %t206 to i32 store i32 %t207, ptr %t157 br i1 %t206, label %sc40, label %scend41 sc40: %t208 = load ptr, ptr %t156 %t209 = getelementptr inbounds %Cmp_Node, ptr %t208, i32 0, i32 9 %t210 = load ptr, ptr %t209 %t211 = icmp ne ptr %t210, null %t212 = zext i1 %t211 to i32 %t213 = icmp ne i32 %t212, 0 %t214 = zext i1 %t213 to i32 store i32 %t214, ptr %t157 br label %scend41 scend41: %t215 = load i32, ptr %t157 %t216 = icmp ne i32 %t215, 0 br i1 %t216, label %then42, label %ifend44 then42: %t217 = load ptr, ptr %t156 %t218 = getelementptr inbounds %Cmp_Node, ptr %t217, i32 0, i32 3 %t219 = load ptr, ptr %t218 %t220 = call i32 @fn_mg_state_named(ptr %t219) store i32 %t220, ptr %t221 %t222 = load ptr, ptr @g_g_mu_mut %t223 = load i32, ptr %t0 %t224 = getelementptr inbounds %LSlice, ptr %t222, i32 0, i32 0 %t225 = load ptr, ptr %t224 %t226 = getelementptr inbounds %LSlice, ptr %t222, i32 0, i32 1 %t227 = load i32, ptr %t226 %t228 = icmp ult i32 %t223, %t227 br i1 %t228, label %ixok45, label %ixbad46 ixbad46: store i32 1314, ptr @lp_site %t229 = call ptr @lp_win_stdio(i32 2) store i32 0, ptr @lp_site call i32 (ptr, ptr, ...) @fprintf(ptr %t229, ptr @.fmt_bounds, ptr @.str1916, i32 %t223, i32 %t227) call void @exit(i32 1) unreachable ixok45: %t230 = getelementptr inbounds ptr, ptr %t225, i32 %t223 %t231 = load ptr, ptr %t230 %t232 = load i32, ptr %t221 %t233 = call ptr @fn_itoa(i32 %t232) store i32 1315, ptr @lp_site %t234 = call ptr @lp_str_concat(ptr @.str1917, ptr %t233) store i32 0, ptr @lp_site store i32 1316, ptr @lp_site %t235 = call ptr @lp_str_concat(ptr %t234, ptr @.str1918) store i32 0, ptr @lp_site call void @lp_free(ptr %t234) %t236 = call i32 @fn_has_sub(ptr %t231, ptr %t235) %t237 = icmp ne i32 %t236, 0 br i1 %t237, label %then47, label %ifend49 then47: %t238 = load ptr, ptr %t156 %t239 = getelementptr inbounds %Cmp_Node, ptr %t238, i32 0, i32 9 %t240 = load ptr, ptr %t239 store i32 1317, ptr @lp_site %t241 = call ptr @lp_str_concat(ptr @.str1919, ptr %t240) store i32 0, ptr @lp_site store i32 1318, ptr @lp_site %t242 = call ptr @lp_str_concat(ptr %t241, ptr @.str1920) store i32 0, ptr @lp_site call void @lp_free(ptr %t241) %t243 = load ptr, ptr %t156 %t244 = getelementptr inbounds %Cmp_Node, ptr %t243, i32 0, i32 14 %t245 = load i32, ptr %t244 %t246 = call ptr @fn_itoa(i32 %t245) store i32 1319, ptr @lp_site %t247 = call ptr @lp_str_concat(ptr %t242, ptr %t246) store i32 0, ptr @lp_site call void @lp_free(ptr %t242) store i32 1320, ptr @lp_site %t248 = call ptr @lp_str_concat(ptr %t247, ptr @.str1921) store i32 0, ptr @lp_site call void @lp_free(ptr %t247) %t249 = call ptr @fn_mg_esc(ptr @.str1922) store i32 1321, ptr @lp_site %t250 = call ptr @lp_str_concat(ptr %t248, ptr %t249) store i32 0, ptr @lp_site call void @lp_free(ptr %t248) call void @fn_mg_emit(ptr %t250, ptr @.str1923) br label %ifend49 ifend49: br label %ifend44 ifend44: %t251 = load i32, ptr %t138 %t252 = add i32 %t251, 1 store i32 %t252, ptr %t138 br label %wcond27 wend29: br label %ret ret: ret void } define void @fn_mg_units() { entry: %t0 = alloca i32 %t18 = alloca ptr %t19 = alloca i32 %t66 = alloca ptr %t73 = alloca ptr %t74 = alloca i32 store i32 0, ptr %t0 br label %wcond0 wcond0: %t1 = load i32, ptr %t0 %t2 = load ptr, ptr @g_g_mu_node %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_mu_node %t9 = load i32, ptr %t0 %t10 = getelementptr inbounds %LSlice, ptr %t8, i32 0, i32 0 %t11 = load ptr, ptr %t10 %t12 = getelementptr inbounds %LSlice, ptr %t8, i32 0, i32 1 %t13 = load i32, ptr %t12 %t14 = icmp ult i32 %t9, %t13 br i1 %t14, label %ixok3, label %ixbad4 ixbad4: store i32 1322, ptr @lp_site %t15 = call ptr @lp_win_stdio(i32 2) store i32 0, ptr @lp_site call i32 (ptr, ptr, ...) @fprintf(ptr %t15, ptr @.fmt_bounds, ptr @.str1924, i32 %t9, i32 %t13) call void @exit(i32 1) unreachable ixok3: %t16 = getelementptr inbounds ptr, ptr %t11, i32 %t9 %t17 = load ptr, ptr %t16 store ptr %t17, ptr %t18 %t20 = load ptr, ptr @g_g_mu_kind %t21 = load i32, ptr %t0 %t22 = getelementptr inbounds %LSlice, ptr %t20, i32 0, i32 0 %t23 = load ptr, ptr %t22 %t24 = getelementptr inbounds %LSlice, ptr %t20, i32 0, i32 1 %t25 = load i32, ptr %t24 %t26 = icmp ult i32 %t21, %t25 br i1 %t26, label %ixok5, label %ixbad6 ixbad6: store i32 1323, ptr @lp_site %t27 = call ptr @lp_win_stdio(i32 2) store i32 0, ptr @lp_site call i32 (ptr, ptr, ...) @fprintf(ptr %t27, ptr @.fmt_bounds, ptr @.str1926, i32 %t21, i32 %t25) call void @exit(i32 1) unreachable ixok5: %t28 = getelementptr inbounds i32, ptr %t23, i32 %t21 %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 %t19 br i1 %t32, label %sc7, label %scend8 sc7: %t34 = load ptr, ptr %t18 %t35 = getelementptr inbounds %Cmp_Node, ptr %t34, i32 0, i32 17 %t36 = load i32, ptr %t35 %t37 = icmp sge i32 %t36, 0 %t38 = zext i1 %t37 to i32 %t39 = icmp ne i32 %t38, 0 %t40 = zext i1 %t39 to i32 store i32 %t40, ptr %t19 br label %scend8 scend8: %t41 = load i32, ptr %t19 %t42 = icmp ne i32 %t41, 0 br i1 %t42, label %then9, label %ifend11 then9: %t43 = load i32, ptr %t0 %t44 = load ptr, ptr %t18 %t45 = getelementptr inbounds %Cmp_Node, ptr %t44, i32 0, i32 17 %t46 = load i32, ptr %t45 call void @fn_mg_comp_acc(i32 %t43, i32 %t46) %t47 = load i32, ptr %t0 %t48 = add i32 %t47, 1 store i32 %t48, ptr %t0 br label %wcond0 ifend11: %t49 = load i32, ptr %t0 %t50 = load ptr, ptr %t18 call void @fn_mg_mut_upgrades(i32 %t49, ptr %t50) %t51 = load i32, ptr @g_g_mg_prune %t52 = icmp ne i32 %t51, 0 br i1 %t52, label %then12, label %ifend14 then12: %t53 = load i32, ptr %t0 %t54 = load ptr, ptr %t18 call void @fn_mg_prune_unit(i32 %t53, ptr %t54) br label %ifend14 ifend14: %t55 = load ptr, ptr @g_g_mu_need %t56 = load i32, ptr %t0 %t57 = getelementptr inbounds %LSlice, ptr %t55, i32 0, i32 0 %t58 = load ptr, ptr %t57 %t59 = getelementptr inbounds %LSlice, ptr %t55, i32 0, i32 1 %t60 = load i32, ptr %t59 %t61 = icmp ult i32 %t56, %t60 br i1 %t61, label %ixok15, label %ixbad16 ixbad16: store i32 1324, ptr @lp_site %t62 = call ptr @lp_win_stdio(i32 2) store i32 0, ptr @lp_site call i32 (ptr, ptr, ...) @fprintf(ptr %t62, ptr @.fmt_bounds, ptr @.str1927, i32 %t56, i32 %t60) call void @exit(i32 1) unreachable ixok15: %t63 = getelementptr inbounds ptr, ptr %t58, i32 %t56 %t64 = load ptr, ptr %t63 %t65 = call ptr @fn_mg_list(ptr %t64) store ptr %t65, ptr %t66 %t67 = load ptr, ptr %t66 %t68 = getelementptr inbounds %LSlice, ptr %t67, i32 0, i32 1 %t69 = load i32, ptr %t68 %t70 = icmp sgt i32 %t69, 0 %t71 = zext i1 %t70 to i32 %t72 = icmp ne i32 %t71, 0 br i1 %t72, label %then17, label %ifend19 then17: store ptr @.str1928, ptr %t73 store i32 0, ptr %t74 br label %wcond20 wcond20: %t75 = load i32, ptr %t74 %t76 = load ptr, ptr %t66 %t77 = getelementptr inbounds %LSlice, ptr %t76, i32 0, i32 1 %t78 = load i32, ptr %t77 %t79 = icmp slt i32 %t75, %t78 %t80 = zext i1 %t79 to i32 %t81 = icmp ne i32 %t80, 0 br i1 %t81, label %wbody21, label %wend22 wbody21: %t82 = load ptr, ptr %t18 %t83 = load ptr, ptr %t66 %t84 = load i32, ptr %t74 %t85 = getelementptr inbounds %LSlice, ptr %t83, i32 0, i32 0 %t86 = load ptr, ptr %t85 %t87 = getelementptr inbounds %LSlice, ptr %t83, i32 0, i32 1 %t88 = load i32, ptr %t87 %t89 = icmp ult i32 %t84, %t88 br i1 %t89, label %ixok23, label %ixbad24 ixbad24: store i32 1325, ptr @lp_site %t90 = call ptr @lp_win_stdio(i32 2) store i32 0, ptr @lp_site call i32 (ptr, ptr, ...) @fprintf(ptr %t90, ptr @.fmt_bounds, ptr @.str1929, i32 %t84, i32 %t88) call void @exit(i32 1) unreachable ixok23: %t91 = getelementptr inbounds i32, ptr %t86, i32 %t84 %t92 = load i32, ptr %t91 %t93 = call i32 @fn_mg_declared(ptr %t82, i32 %t92) %t94 = icmp eq i32 %t93, 0 %t95 = zext i1 %t94 to i32 %t96 = icmp ne i32 %t95, 0 br i1 %t96, label %then25, label %ifend27 then25: %t97 = load ptr, ptr %t73 %t98 = call i64 @strlen(ptr %t97) %t99 = trunc i64 %t98 to i32 %t100 = icmp sgt i32 %t99, 0 %t101 = zext i1 %t100 to i32 %t102 = icmp ne i32 %t101, 0 br i1 %t102, label %then28, label %ifend30 then28: %t103 = load ptr, ptr %t73 store i32 1326, ptr @lp_site %t104 = call ptr @lp_str_concat(ptr %t103, ptr @.str1930) store i32 0, ptr @lp_site store ptr %t104, ptr %t73 br label %ifend30 ifend30: %t105 = load ptr, ptr %t73 %t106 = load i32, ptr %t0 %t107 = load ptr, ptr %t66 %t108 = load i32, ptr %t74 %t109 = getelementptr inbounds %LSlice, ptr %t107, i32 0, i32 0 %t110 = load ptr, ptr %t109 %t111 = getelementptr inbounds %LSlice, ptr %t107, i32 0, i32 1 %t112 = load i32, ptr %t111 %t113 = icmp ult i32 %t108, %t112 br i1 %t113, label %ixok31, label %ixbad32 ixbad32: store i32 1327, ptr @lp_site %t114 = call ptr @lp_win_stdio(i32 2) store i32 0, ptr @lp_site call i32 (ptr, ptr, ...) @fprintf(ptr %t114, ptr @.fmt_bounds, ptr @.str1931, i32 %t108, i32 %t112) call void @exit(i32 1) unreachable ixok31: %t115 = getelementptr inbounds i32, ptr %t110, i32 %t108 %t116 = load i32, ptr %t115 %t117 = call ptr @fn_mg_param_text(i32 %t106, i32 %t116) store i32 1328, ptr @lp_site %t118 = call ptr @lp_str_concat(ptr %t105, ptr %t117) store i32 0, ptr @lp_site store ptr %t118, ptr %t73 br label %ifend27 ifend27: %t119 = load i32, ptr %t74 %t120 = add i32 %t119, 1 store i32 %t120, ptr %t74 br label %wcond20 wend22: %t121 = load ptr, ptr %t73 %t122 = call i64 @strlen(ptr %t121) %t123 = trunc i64 %t122 to i32 %t124 = icmp sgt i32 %t123, 0 %t125 = zext i1 %t124 to i32 %t126 = icmp ne i32 %t125, 0 br i1 %t126, label %then33, label %ifend35 then33: %t127 = load i32, ptr %t0 %t128 = load ptr, ptr %t18 %t129 = load ptr, ptr %t73 call void @fn_mg_unit_edit(i32 %t127, ptr %t128, ptr %t129) br label %ifend35 ifend35: br label %ifend19 ifend19: %t130 = load i32, ptr %t0 %t131 = add i32 %t130, 1 store i32 %t131, ptr %t0 br label %wcond0 wend2: br label %ret ret: ret void } define void @fn_mg_prune_unit(i32 %arg_u, ptr %arg_n) { entry: %t0 = alloca i32 %t1 = alloca ptr %t2 = alloca i32 %t10 = alloca i32 %t37 = alloca i32 %t53 = alloca i32 %t75 = alloca ptr %t76 = alloca i32 %t77 = alloca i32 %t78 = alloca i32 %t145 = alloca i32 %t146 = alloca i32 %t147 = alloca i32 %t210 = alloca ptr %t220 = alloca i32 %t221 = alloca i32 %t222 = alloca i32 %t285 = alloca ptr %t286 = alloca i32 %t287 = alloca i32 store i32 %arg_u, ptr %t0 store ptr %arg_n, ptr %t1 %t3 = load ptr, ptr %t1 %t4 = getelementptr inbounds %Cmp_Node, ptr %t3, i32 0, i32 9 %t5 = load ptr, ptr %t4 %t6 = icmp eq 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 %t2 br i1 %t8, label %scend1, label %sc0 sc0: %t11 = load ptr, ptr %t1 %t12 = getelementptr inbounds %Cmp_Node, ptr %t11, i32 0, i32 9 %t13 = load ptr, ptr %t12 %t14 = call i32 @fn_is_runtime_file(ptr %t13) %t15 = icmp ne i32 %t14, 0 %t16 = zext i1 %t15 to i32 store i32 %t16, ptr %t10 br i1 %t15, label %sc2, label %scend3 sc2: %t17 = load i32, ptr @g_g_mg_runtime %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 %t10 br label %scend3 scend3: %t22 = load i32, ptr %t10 %t23 = icmp ne i32 %t22, 0 %t24 = zext i1 %t23 to i32 store i32 %t24, ptr %t2 br label %scend1 scend1: %t25 = load i32, ptr %t2 %t26 = icmp ne i32 %t25, 0 br i1 %t26, label %then4, label %ifend6 then4: br label %ret ifend6: %t27 = load ptr, ptr @g_g_mu_kind %t28 = load i32, ptr %t0 %t29 = getelementptr inbounds %LSlice, ptr %t27, i32 0, i32 0 %t30 = load ptr, ptr %t29 %t31 = getelementptr inbounds %LSlice, ptr %t27, i32 0, i32 1 %t32 = load i32, ptr %t31 %t33 = icmp ult i32 %t28, %t32 br i1 %t33, label %ixok7, label %ixbad8 ixbad8: store i32 1329, ptr @lp_site %t34 = call ptr @lp_win_stdio(i32 2) store i32 0, ptr @lp_site call i32 (ptr, ptr, ...) @fprintf(ptr %t34, ptr @.fmt_bounds, ptr @.str1932, i32 %t28, i32 %t32) call void @exit(i32 1) unreachable ixok7: %t35 = getelementptr inbounds i32, ptr %t30, i32 %t28 %t36 = load i32, ptr %t35 store i32 %t36, ptr %t37 %t38 = load i32, ptr %t37 %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: %t42 = load ptr, ptr %t1 %t43 = getelementptr inbounds %Cmp_Node, ptr %t42, i32 0, i32 16 %t44 = load i32, ptr %t43 %t45 = icmp sge i32 %t44, 0 %t46 = zext i1 %t45 to i32 %t47 = icmp ne i32 %t46, 0 br i1 %t47, label %then12, label %ifend14 then12: br label %ret ifend14: %t48 = load ptr, ptr %t1 %t49 = getelementptr inbounds %Cmp_Node, ptr %t48, i32 0, i32 1 %t50 = load ptr, ptr %t49 %t51 = call i32 @fn_s_has_prefix(ptr %t50, ptr @.str1934) %t52 = icmp ne i32 %t51, 0 br i1 %t52, label %then15, label %ifend17 then15: br label %ret ifend17: store i32 0, ptr %t53 br label %wcond18 wcond18: %t54 = load i32, ptr %t53 %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 1 %t59 = load i32, ptr %t58 %t60 = icmp slt i32 %t54, %t59 %t61 = zext i1 %t60 to i32 %t62 = icmp ne i32 %t61, 0 br i1 %t62, label %wbody19, label %wend20 wbody19: %t63 = load ptr, ptr %t1 %t64 = getelementptr inbounds %Cmp_Node, ptr %t63, i32 0, i32 7 %t65 = load ptr, ptr %t64 %t66 = load i32, ptr %t53 %t67 = getelementptr inbounds %LSlice, ptr %t65, i32 0, i32 0 %t68 = load ptr, ptr %t67 %t69 = getelementptr inbounds %LSlice, ptr %t65, i32 0, i32 1 %t70 = load i32, ptr %t69 %t71 = icmp ult i32 %t66, %t70 br i1 %t71, label %ixok21, label %ixbad22 ixbad22: store i32 1330, ptr @lp_site %t72 = call ptr @lp_win_stdio(i32 2) store i32 0, ptr @lp_site call i32 (ptr, ptr, ...) @fprintf(ptr %t72, ptr @.fmt_bounds, ptr @.str1935, i32 %t66, i32 %t70) call void @exit(i32 1) unreachable ixok21: %t73 = getelementptr inbounds ptr, ptr %t68, i32 %t66 %t74 = load ptr, ptr %t73 store ptr %t74, ptr %t75 %t79 = load ptr, ptr %t75 %t80 = getelementptr inbounds %Cmp_Node, ptr %t79, i32 0, i32 0 %t81 = load i32, ptr %t80 %t82 = icmp eq i32 %t81, 5 %t83 = zext i1 %t82 to i32 %t84 = icmp ne i32 %t83, 0 %t85 = zext i1 %t84 to i32 store i32 %t85, ptr %t78 br i1 %t84, label %sc23, label %scend24 sc23: %t86 = load ptr, ptr %t75 %t87 = getelementptr inbounds %Cmp_Node, ptr %t86, i32 0, i32 3 %t88 = load ptr, ptr %t87 %t89 = call i32 @fn_is_state_ty(ptr %t88) %t90 = icmp ne i32 %t89, 0 %t91 = zext i1 %t90 to i32 store i32 %t91, ptr %t78 br label %scend24 scend24: %t92 = load i32, ptr %t78 %t93 = icmp ne i32 %t92, 0 %t94 = zext i1 %t93 to i32 store i32 %t94, ptr %t77 br i1 %t93, label %sc25, label %scend26 sc25: %t95 = load ptr, ptr %t75 %t96 = getelementptr inbounds %Cmp_Node, ptr %t95, i32 0, i32 13 %t97 = load i32, ptr %t96 %t98 = icmp sge i32 %t97, 0 %t99 = zext i1 %t98 to i32 %t100 = icmp ne i32 %t99, 0 %t101 = zext i1 %t100 to i32 store i32 %t101, ptr %t77 br label %scend26 scend26: %t102 = load i32, ptr %t77 %t103 = icmp ne i32 %t102, 0 %t104 = zext i1 %t103 to i32 store i32 %t104, ptr %t76 br i1 %t103, label %sc27, label %scend28 sc27: %t105 = load ptr, ptr %t75 %t106 = getelementptr inbounds %Cmp_Node, ptr %t105, i32 0, i32 9 %t107 = load ptr, ptr %t106 %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 %t76 br label %scend28 scend28: %t112 = load i32, ptr %t76 %t113 = icmp ne i32 %t112, 0 br i1 %t113, label %then29, label %ifend31 then29: %t114 = load ptr, ptr @g_g_mu_need %t115 = load i32, ptr %t0 %t116 = getelementptr inbounds %LSlice, ptr %t114, i32 0, i32 0 %t117 = load ptr, ptr %t116 %t118 = getelementptr inbounds %LSlice, ptr %t114, i32 0, i32 1 %t119 = load i32, ptr %t118 %t120 = icmp ult i32 %t115, %t119 br i1 %t120, label %ixok32, label %ixbad33 ixbad33: store i32 1331, ptr @lp_site %t121 = call ptr @lp_win_stdio(i32 2) store i32 0, ptr @lp_site call i32 (ptr, ptr, ...) @fprintf(ptr %t121, ptr @.fmt_bounds, ptr @.str1936, i32 %t115, i32 %t119) call void @exit(i32 1) unreachable ixok32: %t122 = getelementptr inbounds ptr, ptr %t117, i32 %t115 %t123 = load ptr, ptr %t122 %t124 = load ptr, ptr %t75 %t125 = getelementptr inbounds %Cmp_Node, ptr %t124, i32 0, i32 3 %t126 = load ptr, ptr %t125 %t127 = call i32 @fn_mg_state_named(ptr %t126) %t128 = call ptr @fn_itoa(i32 %t127) store i32 1332, ptr @lp_site %t129 = call ptr @lp_str_concat(ptr @.str1937, ptr %t128) store i32 0, ptr @lp_site store i32 1333, ptr @lp_site %t130 = call ptr @lp_str_concat(ptr %t129, ptr @.str1938) store i32 0, ptr @lp_site call void @lp_free(ptr %t129) %t131 = call i32 @fn_has_sub(ptr %t123, ptr %t130) %t132 = icmp eq i32 %t131, 0 %t133 = zext i1 %t132 to i32 %t134 = icmp ne i32 %t133, 0 br i1 %t134, label %then34, label %else35 then34: %t135 = load ptr, ptr %t75 %t136 = getelementptr inbounds %Cmp_Node, ptr %t135, i32 0, i32 9 %t137 = load ptr, ptr %t136 store i32 1334, ptr @lp_site %t138 = call ptr @lp_str_concat(ptr @.str1939, ptr %t137) store i32 0, ptr @lp_site store i32 1335, ptr @lp_site %t139 = call ptr @lp_str_concat(ptr %t138, ptr @.str1940) store i32 0, ptr @lp_site call void @lp_free(ptr %t138) %t140 = load ptr, ptr %t75 %t141 = getelementptr inbounds %Cmp_Node, ptr %t140, i32 0, i32 13 %t142 = load i32, ptr %t141 %t143 = call ptr @fn_itoa(i32 %t142) store i32 1336, ptr @lp_site %t144 = call ptr @lp_str_concat(ptr %t139, ptr %t143) store i32 0, ptr @lp_site call void @lp_free(ptr %t139) call void @fn_mg_emit(ptr %t144, ptr @.str1941) br label %ifend36 else35: %t148 = load i32, ptr @g_g_mg_tighten %t149 = icmp ne i32 %t148, 0 %t150 = zext i1 %t149 to i32 store i32 %t150, ptr %t147 br i1 %t149, label %sc37, label %scend38 sc37: %t151 = load ptr, ptr %t75 %t152 = getelementptr inbounds %Cmp_Node, ptr %t151, i32 0, i32 12 %t153 = load i32, ptr %t152 %t154 = icmp eq i32 %t153, 1 %t155 = zext i1 %t154 to i32 %t156 = icmp ne i32 %t155, 0 %t157 = zext i1 %t156 to i32 store i32 %t157, ptr %t147 br label %scend38 scend38: %t158 = load i32, ptr %t147 %t159 = icmp ne i32 %t158, 0 %t160 = zext i1 %t159 to i32 store i32 %t160, ptr %t146 br i1 %t159, label %sc39, label %scend40 sc39: %t161 = load ptr, ptr %t75 %t162 = getelementptr inbounds %Cmp_Node, ptr %t161, i32 0, i32 14 %t163 = load i32, ptr %t162 %t164 = icmp sge i32 %t163, 0 %t165 = zext i1 %t164 to i32 %t166 = icmp ne i32 %t165, 0 %t167 = zext i1 %t166 to i32 store i32 %t167, ptr %t146 br label %scend40 scend40: %t168 = load i32, ptr %t146 %t169 = icmp ne i32 %t168, 0 %t170 = zext i1 %t169 to i32 store i32 %t170, ptr %t145 br i1 %t169, label %sc41, label %scend42 sc41: %t171 = load ptr, ptr @g_g_mu_mut %t172 = load i32, ptr %t0 %t173 = getelementptr inbounds %LSlice, ptr %t171, i32 0, i32 0 %t174 = load ptr, ptr %t173 %t175 = getelementptr inbounds %LSlice, ptr %t171, i32 0, i32 1 %t176 = load i32, ptr %t175 %t177 = icmp ult i32 %t172, %t176 br i1 %t177, label %ixok43, label %ixbad44 ixbad44: store i32 1337, ptr @lp_site %t178 = call ptr @lp_win_stdio(i32 2) store i32 0, ptr @lp_site call i32 (ptr, ptr, ...) @fprintf(ptr %t178, ptr @.fmt_bounds, ptr @.str1942, i32 %t172, i32 %t176) call void @exit(i32 1) unreachable ixok43: %t179 = getelementptr inbounds ptr, ptr %t174, i32 %t172 %t180 = load ptr, ptr %t179 %t181 = load ptr, ptr %t75 %t182 = getelementptr inbounds %Cmp_Node, ptr %t181, i32 0, i32 3 %t183 = load ptr, ptr %t182 %t184 = call i32 @fn_mg_state_named(ptr %t183) %t185 = call ptr @fn_itoa(i32 %t184) store i32 1338, ptr @lp_site %t186 = call ptr @lp_str_concat(ptr @.str1943, ptr %t185) store i32 0, ptr @lp_site store i32 1339, ptr @lp_site %t187 = call ptr @lp_str_concat(ptr %t186, ptr @.str1944) store i32 0, ptr @lp_site call void @lp_free(ptr %t186) %t188 = call i32 @fn_has_sub(ptr %t180, ptr %t187) %t189 = icmp eq i32 %t188, 0 %t190 = zext i1 %t189 to i32 %t191 = icmp ne i32 %t190, 0 %t192 = zext i1 %t191 to i32 store i32 %t192, ptr %t145 br label %scend42 scend42: %t193 = load i32, ptr %t145 %t194 = icmp ne i32 %t193, 0 br i1 %t194, label %then45, label %ifend47 then45: %t195 = load ptr, ptr %t75 %t196 = getelementptr inbounds %Cmp_Node, ptr %t195, i32 0, i32 9 %t197 = load ptr, ptr %t196 store i32 1340, ptr @lp_site %t198 = call ptr @lp_str_concat(ptr @.str1945, ptr %t197) store i32 0, ptr @lp_site store i32 1341, ptr @lp_site %t199 = call ptr @lp_str_concat(ptr %t198, ptr @.str1946) store i32 0, ptr @lp_site call void @lp_free(ptr %t198) %t200 = load ptr, ptr %t75 %t201 = getelementptr inbounds %Cmp_Node, ptr %t200, i32 0, i32 14 %t202 = load i32, ptr %t201 %t203 = call ptr @fn_itoa(i32 %t202) store i32 1342, ptr @lp_site %t204 = call ptr @lp_str_concat(ptr %t199, ptr %t203) store i32 0, ptr @lp_site call void @lp_free(ptr %t199) call void @fn_mg_emit(ptr %t204, ptr @.str1947) br label %ifend47 ifend47: br label %ifend36 ifend36: br label %ifend31 ifend31: %t205 = load i32, ptr %t53 %t206 = add i32 %t205, 1 store i32 %t206, ptr %t53 br label %wcond18 wend20: br label %ret ifend11: %t207 = load ptr, ptr %t1 %t208 = getelementptr inbounds %Cmp_Node, ptr %t207, i32 0, i32 4 %t209 = load ptr, ptr %t208 store ptr %t209, ptr %t210 %t211 = load i32, ptr %t37 %t212 = icmp eq i32 %t211, 5 %t213 = zext i1 %t212 to i32 %t214 = icmp ne i32 %t213, 0 br i1 %t214, label %then48, label %ifend50 then48: %t215 = load ptr, ptr %t1 store ptr %t215, ptr %t210 br label %ifend50 ifend50: %t216 = load ptr, ptr %t210 %t217 = icmp eq ptr %t216, null %t218 = zext i1 %t217 to i32 %t219 = icmp ne i32 %t218, 0 br i1 %t219, label %then51, label %ifend53 then51: br label %ret ifend53: store i32 0, ptr %t220 br label %wcond54 wcond54: %t223 = load i32, ptr %t220 %t224 = load ptr, ptr %t210 %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 1 %t228 = load i32, ptr %t227 %t229 = icmp slt i32 %t223, %t228 %t230 = zext i1 %t229 to i32 %t231 = icmp ne i32 %t230, 0 %t232 = zext i1 %t231 to i32 store i32 %t232, ptr %t222 br i1 %t231, label %sc57, label %scend58 sc57: %t233 = load ptr, ptr %t210 %t234 = getelementptr inbounds %Cmp_Node, ptr %t233, i32 0, i32 7 %t235 = load ptr, ptr %t234 %t236 = load i32, ptr %t220 %t237 = getelementptr inbounds %LSlice, ptr %t235, i32 0, i32 0 %t238 = load ptr, ptr %t237 %t239 = getelementptr inbounds %LSlice, ptr %t235, i32 0, i32 1 %t240 = load i32, ptr %t239 %t241 = icmp ult i32 %t236, %t240 br i1 %t241, label %ixok59, label %ixbad60 ixbad60: store i32 1343, ptr @lp_site %t242 = call ptr @lp_win_stdio(i32 2) store i32 0, ptr @lp_site call i32 (ptr, ptr, ...) @fprintf(ptr %t242, ptr @.fmt_bounds, ptr @.str1948, i32 %t236, i32 %t240) call void @exit(i32 1) unreachable ixok59: %t243 = getelementptr inbounds ptr, ptr %t238, i32 %t236 %t244 = load ptr, ptr %t243 %t245 = getelementptr inbounds %Cmp_Node, ptr %t244, i32 0, i32 11 %t246 = load ptr, ptr %t245 %t247 = icmp ne ptr %t246, null %t248 = zext i1 %t247 to i32 %t249 = icmp ne i32 %t248, 0 %t250 = zext i1 %t249 to i32 store i32 %t250, ptr %t222 br label %scend58 scend58: %t251 = load i32, ptr %t222 %t252 = icmp ne i32 %t251, 0 %t253 = zext i1 %t252 to i32 store i32 %t253, ptr %t221 br i1 %t252, label %sc61, label %scend62 sc61: %t254 = load ptr, ptr %t210 %t255 = getelementptr inbounds %Cmp_Node, ptr %t254, i32 0, i32 7 %t256 = load ptr, ptr %t255 %t257 = load i32, ptr %t220 %t258 = getelementptr inbounds %LSlice, ptr %t256, i32 0, i32 0 %t259 = load ptr, ptr %t258 %t260 = getelementptr inbounds %LSlice, ptr %t256, i32 0, i32 1 %t261 = load i32, ptr %t260 %t262 = icmp ult i32 %t257, %t261 br i1 %t262, label %ixok63, label %ixbad64 ixbad64: store i32 1344, ptr @lp_site %t263 = call ptr @lp_win_stdio(i32 2) store i32 0, ptr @lp_site call i32 (ptr, ptr, ...) @fprintf(ptr %t263, ptr @.fmt_bounds, ptr @.str1949, i32 %t257, i32 %t261) call void @exit(i32 1) unreachable ixok63: %t264 = getelementptr inbounds ptr, ptr %t259, i32 %t257 %t265 = load ptr, ptr %t264 %t266 = getelementptr inbounds %Cmp_Node, ptr %t265, i32 0, i32 11 %t267 = load ptr, ptr %t266 %t268 = call i32 @lp_str_eq(ptr %t267, ptr @.str1950) %t269 = icmp ne i32 %t268, 0 %t270 = zext i1 %t269 to i32 store i32 %t270, ptr %t221 br label %scend62 scend62: %t271 = load i32, ptr %t221 %t272 = icmp ne i32 %t271, 0 br i1 %t272, label %wbody55, label %wend56 wbody55: %t273 = load ptr, ptr %t210 %t274 = getelementptr inbounds %Cmp_Node, ptr %t273, i32 0, i32 7 %t275 = load ptr, ptr %t274 %t276 = load i32, ptr %t220 %t277 = getelementptr inbounds %LSlice, ptr %t275, i32 0, i32 0 %t278 = load ptr, ptr %t277 %t279 = getelementptr inbounds %LSlice, ptr %t275, i32 0, i32 1 %t280 = load i32, ptr %t279 %t281 = icmp ult i32 %t276, %t280 br i1 %t281, label %ixok65, label %ixbad66 ixbad66: store i32 1345, ptr @lp_site %t282 = call ptr @lp_win_stdio(i32 2) store i32 0, ptr @lp_site call i32 (ptr, ptr, ...) @fprintf(ptr %t282, ptr @.fmt_bounds, ptr @.str1951, i32 %t276, i32 %t280) call void @exit(i32 1) unreachable ixok65: %t283 = getelementptr inbounds ptr, ptr %t278, i32 %t276 %t284 = load ptr, ptr %t283 store ptr %t284, ptr %t285 %t288 = load ptr, ptr %t285 %t289 = getelementptr inbounds %Cmp_Node, ptr %t288, i32 0, i32 13 %t290 = load i32, ptr %t289 %t291 = icmp sge i32 %t290, 0 %t292 = zext i1 %t291 to i32 %t293 = icmp ne i32 %t292, 0 %t294 = zext i1 %t293 to i32 store i32 %t294, ptr %t287 br i1 %t293, label %sc67, label %scend68 sc67: %t295 = load ptr, ptr %t285 %t296 = getelementptr inbounds %Cmp_Node, ptr %t295, i32 0, i32 9 %t297 = load ptr, ptr %t296 %t298 = icmp ne ptr %t297, null %t299 = zext i1 %t298 to i32 %t300 = icmp ne i32 %t299, 0 %t301 = zext i1 %t300 to i32 store i32 %t301, ptr %t287 br label %scend68 scend68: %t302 = load i32, ptr %t287 %t303 = icmp ne i32 %t302, 0 %t304 = zext i1 %t303 to i32 store i32 %t304, ptr %t286 br i1 %t303, label %sc69, label %scend70 sc69: %t305 = load ptr, ptr @g_g_mu_need %t306 = load i32, ptr %t0 %t307 = getelementptr inbounds %LSlice, ptr %t305, i32 0, i32 0 %t308 = load ptr, ptr %t307 %t309 = getelementptr inbounds %LSlice, ptr %t305, i32 0, i32 1 %t310 = load i32, ptr %t309 %t311 = icmp ult i32 %t306, %t310 br i1 %t311, label %ixok71, label %ixbad72 ixbad72: store i32 1346, ptr @lp_site %t312 = call ptr @lp_win_stdio(i32 2) store i32 0, ptr @lp_site call i32 (ptr, ptr, ...) @fprintf(ptr %t312, ptr @.fmt_bounds, ptr @.str1952, i32 %t306, i32 %t310) call void @exit(i32 1) unreachable ixok71: %t313 = getelementptr inbounds ptr, ptr %t308, i32 %t306 %t314 = load ptr, ptr %t313 %t315 = load ptr, ptr %t285 %t316 = getelementptr inbounds %Cmp_Node, ptr %t315, i32 0, i32 3 %t317 = load ptr, ptr %t316 %t318 = call i32 @fn_mg_state_named(ptr %t317) %t319 = call ptr @fn_itoa(i32 %t318) store i32 1347, ptr @lp_site %t320 = call ptr @lp_str_concat(ptr @.str1953, ptr %t319) store i32 0, ptr @lp_site store i32 1348, ptr @lp_site %t321 = call ptr @lp_str_concat(ptr %t320, ptr @.str1954) store i32 0, ptr @lp_site call void @lp_free(ptr %t320) %t322 = call i32 @fn_has_sub(ptr %t314, ptr %t321) %t323 = icmp eq i32 %t322, 0 %t324 = zext i1 %t323 to i32 %t325 = icmp ne i32 %t324, 0 %t326 = zext i1 %t325 to i32 store i32 %t326, ptr %t286 br label %scend70 scend70: %t327 = load i32, ptr %t286 %t328 = icmp ne i32 %t327, 0 br i1 %t328, label %then73, label %ifend75 then73: %t329 = load ptr, ptr %t285 %t330 = getelementptr inbounds %Cmp_Node, ptr %t329, i32 0, i32 9 %t331 = load ptr, ptr %t330 store i32 1349, ptr @lp_site %t332 = call ptr @lp_str_concat(ptr @.str1955, ptr %t331) store i32 0, ptr @lp_site store i32 1350, ptr @lp_site %t333 = call ptr @lp_str_concat(ptr %t332, ptr @.str1956) store i32 0, ptr @lp_site call void @lp_free(ptr %t332) %t334 = load ptr, ptr %t285 %t335 = getelementptr inbounds %Cmp_Node, ptr %t334, i32 0, i32 13 %t336 = load i32, ptr %t335 %t337 = call ptr @fn_itoa(i32 %t336) store i32 1351, ptr @lp_site %t338 = call ptr @lp_str_concat(ptr %t333, ptr %t337) store i32 0, ptr @lp_site call void @lp_free(ptr %t333) call void @fn_mg_emit(ptr %t338, ptr @.str1957) br label %ifend75 ifend75: %t339 = load i32, ptr %t220 %t340 = add i32 %t339, 1 store i32 %t340, ptr %t220 br label %wcond54 wend56: br label %ret ret: ret void } define void @fn_mg_prune_args() { entry: %t0 = alloca i32 %t18 = alloca ptr %t29 = alloca i32 %t40 = alloca i32 %t51 = alloca ptr %t52 = alloca i32 %t89 = alloca i32 %t90 = alloca i32 %t91 = alloca i32 %t109 = alloca i32 store i32 0, ptr %t0 br label %wcond0 wcond0: %t1 = load i32, ptr %t0 %t2 = load ptr, ptr @g_g_ma_node %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_ma_node %t9 = load i32, ptr %t0 %t10 = getelementptr inbounds %LSlice, ptr %t8, i32 0, i32 0 %t11 = load ptr, ptr %t10 %t12 = getelementptr inbounds %LSlice, ptr %t8, i32 0, i32 1 %t13 = load i32, ptr %t12 %t14 = icmp ult i32 %t9, %t13 br i1 %t14, label %ixok3, label %ixbad4 ixbad4: store i32 1352, ptr @lp_site %t15 = call ptr @lp_win_stdio(i32 2) store i32 0, ptr @lp_site call i32 (ptr, ptr, ...) @fprintf(ptr %t15, ptr @.fmt_bounds, ptr @.str1958, i32 %t9, i32 %t13) call void @exit(i32 1) unreachable ixok3: %t16 = getelementptr inbounds ptr, ptr %t11, i32 %t9 %t17 = load ptr, ptr %t16 store ptr %t17, ptr %t18 %t19 = load ptr, ptr @g_g_ma_call %t20 = load i32, ptr %t0 %t21 = getelementptr inbounds %LSlice, ptr %t19, i32 0, i32 0 %t22 = load ptr, ptr %t21 %t23 = getelementptr inbounds %LSlice, ptr %t19, i32 0, i32 1 %t24 = load i32, ptr %t23 %t25 = icmp ult i32 %t20, %t24 br i1 %t25, label %ixok5, label %ixbad6 ixbad6: store i32 1353, ptr @lp_site %t26 = call ptr @lp_win_stdio(i32 2) store i32 0, ptr @lp_site call i32 (ptr, ptr, ...) @fprintf(ptr %t26, ptr @.fmt_bounds, ptr @.str1960, i32 %t20, i32 %t24) call void @exit(i32 1) unreachable ixok5: %t27 = getelementptr inbounds i32, ptr %t22, i32 %t20 %t28 = load i32, ptr %t27 store i32 %t28, ptr %t29 %t30 = load ptr, ptr @g_g_mc_callee %t31 = load i32, ptr %t29 %t32 = getelementptr inbounds %LSlice, ptr %t30, i32 0, i32 0 %t33 = load ptr, ptr %t32 %t34 = getelementptr inbounds %LSlice, ptr %t30, i32 0, i32 1 %t35 = load i32, ptr %t34 %t36 = icmp ult i32 %t31, %t35 br i1 %t36, label %ixok7, label %ixbad8 ixbad8: store i32 1354, ptr @lp_site %t37 = call ptr @lp_win_stdio(i32 2) store i32 0, ptr @lp_site call i32 (ptr, ptr, ...) @fprintf(ptr %t37, ptr @.fmt_bounds, ptr @.str1961, i32 %t31, i32 %t35) call void @exit(i32 1) unreachable ixok7: %t38 = getelementptr inbounds i32, ptr %t33, i32 %t31 %t39 = load i32, ptr %t38 store i32 %t39, ptr %t40 %t41 = load ptr, ptr @g_g_mu_node %t42 = load i32, ptr %t40 %t43 = getelementptr inbounds %LSlice, ptr %t41, i32 0, i32 0 %t44 = load ptr, ptr %t43 %t45 = getelementptr inbounds %LSlice, ptr %t41, i32 0, i32 1 %t46 = load i32, ptr %t45 %t47 = icmp ult i32 %t42, %t46 br i1 %t47, label %ixok9, label %ixbad10 ixbad10: store i32 1355, ptr @lp_site %t48 = call ptr @lp_win_stdio(i32 2) store i32 0, ptr @lp_site call i32 (ptr, ptr, ...) @fprintf(ptr %t48, ptr @.fmt_bounds, ptr @.str1962, i32 %t42, i32 %t46) call void @exit(i32 1) unreachable ixok9: %t49 = getelementptr inbounds ptr, ptr %t44, i32 %t42 %t50 = load ptr, ptr %t49 store ptr %t50, ptr %t51 %t53 = load ptr, ptr %t51 %t54 = getelementptr inbounds %Cmp_Node, ptr %t53, i32 0, i32 17 %t55 = load i32, ptr %t54 %t56 = icmp slt i32 %t55, 0 %t57 = zext i1 %t56 to i32 %t58 = icmp ne i32 %t57, 0 %t59 = zext i1 %t58 to i32 store i32 %t59, ptr %t52 br i1 %t58, label %sc11, label %scend12 sc11: %t60 = load ptr, ptr @g_g_mu_need %t61 = load i32, ptr %t40 %t62 = getelementptr inbounds %LSlice, ptr %t60, i32 0, i32 0 %t63 = load ptr, ptr %t62 %t64 = getelementptr inbounds %LSlice, ptr %t60, i32 0, i32 1 %t65 = load i32, ptr %t64 %t66 = icmp ult i32 %t61, %t65 br i1 %t66, label %ixok13, label %ixbad14 ixbad14: store i32 1356, ptr @lp_site %t67 = call ptr @lp_win_stdio(i32 2) store i32 0, ptr @lp_site call i32 (ptr, ptr, ...) @fprintf(ptr %t67, ptr @.fmt_bounds, ptr @.str1963, i32 %t61, i32 %t65) call void @exit(i32 1) unreachable ixok13: %t68 = getelementptr inbounds ptr, ptr %t63, i32 %t61 %t69 = load ptr, ptr %t68 %t70 = load ptr, ptr @g_g_ma_state %t71 = load i32, ptr %t0 %t72 = getelementptr inbounds %LSlice, ptr %t70, i32 0, i32 0 %t73 = load ptr, ptr %t72 %t74 = getelementptr inbounds %LSlice, ptr %t70, i32 0, i32 1 %t75 = load i32, ptr %t74 %t76 = icmp ult i32 %t71, %t75 br i1 %t76, label %ixok15, label %ixbad16 ixbad16: store i32 1357, ptr @lp_site %t77 = call ptr @lp_win_stdio(i32 2) store i32 0, ptr @lp_site call i32 (ptr, ptr, ...) @fprintf(ptr %t77, ptr @.fmt_bounds, ptr @.str1965, i32 %t71, i32 %t75) call void @exit(i32 1) unreachable ixok15: %t78 = getelementptr inbounds i32, ptr %t73, i32 %t71 %t79 = load i32, ptr %t78 %t80 = call ptr @fn_itoa(i32 %t79) store i32 1358, ptr @lp_site %t81 = call ptr @lp_str_concat(ptr @.str1964, ptr %t80) store i32 0, ptr @lp_site store i32 1359, ptr @lp_site %t82 = call ptr @lp_str_concat(ptr %t81, ptr @.str1966) store i32 0, ptr @lp_site call void @lp_free(ptr %t81) %t83 = call i32 @fn_has_sub(ptr %t69, ptr %t82) %t84 = icmp eq i32 %t83, 0 %t85 = zext i1 %t84 to i32 %t86 = icmp ne i32 %t85, 0 %t87 = zext i1 %t86 to i32 store i32 %t87, ptr %t52 br label %scend12 scend12: %t88 = load i32, ptr %t52 store i32 %t88, ptr %t89 %t92 = load ptr, ptr %t18 %t93 = getelementptr inbounds %Cmp_Node, ptr %t92, i32 0, i32 13 %t94 = load i32, ptr %t93 %t95 = icmp sge i32 %t94, 0 %t96 = zext i1 %t95 to i32 %t97 = icmp ne i32 %t96, 0 %t98 = zext i1 %t97 to i32 store i32 %t98, ptr %t91 br i1 %t97, label %sc17, label %scend18 sc17: %t99 = load ptr, ptr %t18 %t100 = getelementptr inbounds %Cmp_Node, ptr %t99, i32 0, i32 9 %t101 = load ptr, ptr %t100 %t102 = icmp ne ptr %t101, null %t103 = zext i1 %t102 to i32 %t104 = icmp ne i32 %t103, 0 %t105 = zext i1 %t104 to i32 store i32 %t105, ptr %t91 br label %scend18 scend18: %t106 = load i32, ptr %t91 %t107 = icmp ne i32 %t106, 0 %t108 = zext i1 %t107 to i32 store i32 %t108, ptr %t90 br i1 %t107, label %sc19, label %scend20 sc19: %t110 = load ptr, ptr @g_g_ma_excess %t111 = load i32, ptr %t0 %t112 = getelementptr inbounds %LSlice, ptr %t110, i32 0, i32 0 %t113 = load ptr, ptr %t112 %t114 = getelementptr inbounds %LSlice, ptr %t110, i32 0, i32 1 %t115 = load i32, ptr %t114 %t116 = icmp ult i32 %t111, %t115 br i1 %t116, label %ixok21, label %ixbad22 ixbad22: store i32 1360, ptr @lp_site %t117 = call ptr @lp_win_stdio(i32 2) store i32 0, ptr @lp_site call i32 (ptr, ptr, ...) @fprintf(ptr %t117, ptr @.fmt_bounds, ptr @.str1967, i32 %t111, i32 %t115) call void @exit(i32 1) unreachable ixok21: %t118 = getelementptr inbounds i32, ptr %t113, i32 %t111 %t119 = load i32, ptr %t118 %t120 = icmp ne i32 %t119, 0 %t121 = zext i1 %t120 to i32 store i32 %t121, ptr %t109 br i1 %t120, label %scend24, label %sc23 sc23: %t122 = load i32, ptr %t89 %t123 = icmp ne i32 %t122, 0 %t124 = zext i1 %t123 to i32 store i32 %t124, ptr %t109 br label %scend24 scend24: %t125 = load i32, ptr %t109 %t126 = icmp ne i32 %t125, 0 %t127 = zext i1 %t126 to i32 store i32 %t127, ptr %t90 br label %scend20 scend20: %t128 = load i32, ptr %t90 %t129 = icmp ne i32 %t128, 0 br i1 %t129, label %then25, label %ifend27 then25: %t130 = load ptr, ptr %t18 %t131 = getelementptr inbounds %Cmp_Node, ptr %t130, i32 0, i32 9 %t132 = load ptr, ptr %t131 store i32 1361, ptr @lp_site %t133 = call ptr @lp_str_concat(ptr @.str1968, ptr %t132) store i32 0, ptr @lp_site store i32 1362, ptr @lp_site %t134 = call ptr @lp_str_concat(ptr %t133, ptr @.str1969) store i32 0, ptr @lp_site call void @lp_free(ptr %t133) %t135 = load ptr, ptr %t18 %t136 = getelementptr inbounds %Cmp_Node, ptr %t135, i32 0, i32 13 %t137 = load i32, ptr %t136 %t138 = call ptr @fn_itoa(i32 %t137) store i32 1363, ptr @lp_site %t139 = call ptr @lp_str_concat(ptr %t134, ptr %t138) store i32 0, ptr @lp_site call void @lp_free(ptr %t134) call void @fn_mg_emit(ptr %t139, ptr @.str1970) br label %ifend27 ifend27: %t140 = load i32, ptr %t0 %t141 = add i32 %t140, 1 store i32 %t141, ptr %t0 br label %wcond0 wend2: br label %ret ret: ret void } define void @fn_mg_unit_edit(i32 %arg_u, ptr %arg_n, ptr %arg_text) { entry: %t0 = alloca i32 %t1 = alloca ptr %t2 = alloca ptr %t13 = alloca i32 %t14 = alloca i32 %t87 = alloca ptr %t88 = alloca i32 %t109 = alloca ptr %t163 = alloca i32 %t240 = alloca i32 %t241 = alloca i32 %t270 = alloca i32 %t296 = alloca ptr %t331 = alloca ptr %t337 = alloca i32 %t338 = alloca i32 %t339 = alloca i32 %t406 = alloca ptr %t407 = alloca ptr %t408 = alloca ptr %t409 = alloca i32 %t417 = alloca i32 %t418 = alloca i32 %t419 = alloca i32 %t420 = alloca i32 %t547 = alloca i32 %t548 = alloca i32 %t714 = alloca ptr %t715 = alloca i32 store i32 %arg_u, ptr %t0 store ptr %arg_n, ptr %t1 store ptr %arg_text, ptr %t2 %t3 = load ptr, ptr @g_g_mu_kind %t4 = load i32, ptr %t0 %t5 = getelementptr inbounds %LSlice, ptr %t3, i32 0, i32 0 %t6 = load ptr, ptr %t5 %t7 = getelementptr inbounds %LSlice, ptr %t3, i32 0, i32 1 %t8 = load i32, ptr %t7 %t9 = icmp ult i32 %t4, %t8 br i1 %t9, label %ixok0, label %ixbad1 ixbad1: store i32 1364, ptr @lp_site %t10 = call ptr @lp_win_stdio(i32 2) store i32 0, ptr @lp_site call i32 (ptr, ptr, ...) @fprintf(ptr %t10, ptr @.fmt_bounds, ptr @.str1971, i32 %t4, i32 %t8) call void @exit(i32 1) unreachable ixok0: %t11 = getelementptr inbounds i32, ptr %t6, i32 %t4 %t12 = load i32, ptr %t11 store i32 %t12, ptr %t13 %t15 = load i32, ptr %t13 %t16 = icmp eq i32 %t15, 0 %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 %sc2, label %scend3 sc2: %t20 = load ptr, ptr %t1 %t21 = getelementptr inbounds %Cmp_Node, ptr %t20, i32 0, i32 16 %t22 = load i32, ptr %t21 %t23 = icmp sge i32 %t22, 0 %t24 = zext i1 %t23 to i32 %t25 = icmp ne i32 %t24, 0 %t26 = zext i1 %t25 to i32 store i32 %t26, ptr %t14 br label %scend3 scend3: %t27 = load i32, ptr %t14 %t28 = icmp ne i32 %t27, 0 br i1 %t28, label %then4, label %ifend6 then4: br label %wcond7 wcond7: %t29 = load ptr, ptr @g_g_mv_need %t30 = getelementptr inbounds %LSlice, ptr %t29, i32 0, i32 1 %t31 = load i32, ptr %t30 %t32 = load ptr, ptr @g_g_vw_name %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 %wbody8, label %wend9 wbody8: %t38 = load ptr, ptr @g_g_mv_need %t39 = getelementptr inbounds %LSlice, ptr %t38, i32 0, i32 1 %t40 = getelementptr inbounds %LSlice, ptr %t38, i32 0, i32 2 %t41 = getelementptr inbounds %LSlice, ptr %t38, i32 0, i32 0 %t42 = load i32, ptr %t39 %t43 = load i32, ptr %t40 %t44 = icmp sge i32 %t42, %t43 br i1 %t44, label %grow10, label %put11 grow10: %t45 = mul i32 %t43, 2 %t46 = icmp eq i32 %t43, 0 %t47 = select i1 %t46, i32 8, i32 %t45 %t48 = getelementptr ptr, ptr null, i32 1 %t49 = ptrtoint ptr %t48 to i64 %t50 = zext i32 %t47 to i64 %t51 = mul i64 %t50, %t49 %t52 = load ptr, ptr %t41 store i32 1365, ptr @lp_site %t53 = call ptr @lp_realloc(ptr %t52, i64 %t51) store i32 0, ptr @lp_site store ptr %t53, ptr %t41 store i32 %t47, ptr %t40 br label %put11 put11: %t54 = load ptr, ptr %t41 %t55 = getelementptr inbounds ptr, ptr %t54, i32 %t42 store ptr @.str1973, ptr %t55 %t56 = add i32 %t42, 1 store i32 %t56, ptr %t39 %t57 = load ptr, ptr @g_g_mv_mut %t58 = getelementptr inbounds %LSlice, ptr %t57, i32 0, i32 1 %t59 = getelementptr inbounds %LSlice, ptr %t57, i32 0, i32 2 %t60 = getelementptr inbounds %LSlice, ptr %t57, i32 0, i32 0 %t61 = load i32, ptr %t58 %t62 = load i32, ptr %t59 %t63 = icmp sge i32 %t61, %t62 br i1 %t63, label %grow12, label %put13 grow12: %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 store i32 1366, ptr @lp_site %t72 = call ptr @lp_realloc(ptr %t71, i64 %t70) store i32 0, ptr @lp_site store ptr %t72, ptr %t60 store i32 %t66, ptr %t59 br label %put13 put13: %t73 = load ptr, ptr %t60 %t74 = getelementptr inbounds ptr, ptr %t73, i32 %t61 store ptr @.str1974, ptr %t74 %t75 = add i32 %t61, 1 store i32 %t75, ptr %t58 br label %wcond7 wend9: %t76 = load ptr, ptr @g_g_mu_need %t77 = load i32, ptr %t0 %t78 = getelementptr inbounds %LSlice, ptr %t76, i32 0, i32 0 %t79 = load ptr, ptr %t78 %t80 = getelementptr inbounds %LSlice, ptr %t76, i32 0, i32 1 %t81 = load i32, ptr %t80 %t82 = icmp ult i32 %t77, %t81 br i1 %t82, label %ixok14, label %ixbad15 ixbad15: store i32 1367, ptr @lp_site %t83 = call ptr @lp_win_stdio(i32 2) store i32 0, ptr @lp_site call i32 (ptr, ptr, ...) @fprintf(ptr %t83, ptr @.fmt_bounds, ptr @.str1975, i32 %t77, i32 %t81) call void @exit(i32 1) unreachable ixok14: %t84 = getelementptr inbounds ptr, ptr %t79, i32 %t77 %t85 = load ptr, ptr %t84 %t86 = call ptr @fn_mg_list(ptr %t85) store ptr %t86, ptr %t87 store i32 0, ptr %t88 br label %wcond16 wcond16: %t89 = load i32, ptr %t88 %t90 = load ptr, ptr %t87 %t91 = getelementptr inbounds %LSlice, ptr %t90, i32 0, i32 1 %t92 = load i32, ptr %t91 %t93 = icmp slt i32 %t89, %t92 %t94 = zext i1 %t93 to i32 %t95 = icmp ne i32 %t94, 0 br i1 %t95, label %wbody17, label %wend18 wbody17: %t96 = load ptr, ptr %t87 %t97 = load i32, ptr %t88 %t98 = getelementptr inbounds %LSlice, ptr %t96, i32 0, i32 0 %t99 = load ptr, ptr %t98 %t100 = getelementptr inbounds %LSlice, ptr %t96, i32 0, i32 1 %t101 = load i32, ptr %t100 %t102 = icmp ult i32 %t97, %t101 br i1 %t102, label %ixok19, label %ixbad20 ixbad20: store i32 1368, ptr @lp_site %t103 = call ptr @lp_win_stdio(i32 2) store i32 0, ptr @lp_site call i32 (ptr, ptr, ...) @fprintf(ptr %t103, ptr @.fmt_bounds, ptr @.str1977, i32 %t97, i32 %t101) call void @exit(i32 1) unreachable ixok19: %t104 = getelementptr inbounds i32, ptr %t99, i32 %t97 %t105 = load i32, ptr %t104 %t106 = call ptr @fn_itoa(i32 %t105) store i32 1369, ptr @lp_site %t107 = call ptr @lp_str_concat(ptr @.str1976, ptr %t106) store i32 0, ptr @lp_site store i32 1370, ptr @lp_site %t108 = call ptr @lp_str_concat(ptr %t107, ptr @.str1978) store i32 0, ptr @lp_site call void @lp_free(ptr %t107) store ptr %t108, ptr %t109 %t110 = load ptr, ptr @g_g_mv_need %t111 = load ptr, ptr %t1 %t112 = getelementptr inbounds %Cmp_Node, ptr %t111, i32 0, i32 16 %t113 = load i32, ptr %t112 %t114 = getelementptr inbounds %LSlice, ptr %t110, i32 0, i32 0 %t115 = load ptr, ptr %t114 %t116 = getelementptr inbounds %LSlice, ptr %t110, i32 0, i32 1 %t117 = load i32, ptr %t116 %t118 = icmp ult i32 %t113, %t117 br i1 %t118, label %ixok21, label %ixbad22 ixbad22: store i32 1371, ptr @lp_site %t119 = call ptr @lp_win_stdio(i32 2) store i32 0, ptr @lp_site call i32 (ptr, ptr, ...) @fprintf(ptr %t119, ptr @.fmt_bounds, ptr @.str1979, i32 %t113, i32 %t117) call void @exit(i32 1) unreachable ixok21: %t120 = getelementptr inbounds ptr, ptr %t115, i32 %t113 %t121 = load ptr, ptr %t120 %t122 = load ptr, ptr %t109 %t123 = call i32 @fn_has_sub(ptr %t121, ptr %t122) %t124 = icmp eq i32 %t123, 0 %t125 = zext i1 %t124 to i32 %t126 = icmp ne i32 %t125, 0 br i1 %t126, label %then23, label %ifend25 then23: %t127 = load ptr, ptr @g_g_mv_need %t128 = load ptr, ptr %t1 %t129 = getelementptr inbounds %Cmp_Node, ptr %t128, i32 0, i32 16 %t130 = load i32, ptr %t129 %t131 = getelementptr inbounds %LSlice, ptr %t127, i32 0, i32 0 %t132 = load ptr, ptr %t131 %t133 = getelementptr inbounds %LSlice, ptr %t127, i32 0, i32 1 %t134 = load i32, ptr %t133 %t135 = icmp ult i32 %t130, %t134 br i1 %t135, label %ixok26, label %ixbad27 ixbad27: store i32 1372, ptr @lp_site %t136 = call ptr @lp_win_stdio(i32 2) store i32 0, ptr @lp_site call i32 (ptr, ptr, ...) @fprintf(ptr %t136, ptr @.fmt_bounds, ptr @.str1980, i32 %t130, i32 %t134) call void @exit(i32 1) unreachable ixok26: %t137 = getelementptr inbounds ptr, ptr %t132, i32 %t130 %t138 = load ptr, ptr @g_g_mv_need %t139 = load ptr, ptr %t1 %t140 = getelementptr inbounds %Cmp_Node, ptr %t139, i32 0, i32 16 %t141 = load i32, ptr %t140 %t142 = getelementptr inbounds %LSlice, ptr %t138, i32 0, i32 0 %t143 = load ptr, ptr %t142 %t144 = getelementptr inbounds %LSlice, ptr %t138, i32 0, i32 1 %t145 = load i32, ptr %t144 %t146 = icmp ult i32 %t141, %t145 br i1 %t146, label %ixok28, label %ixbad29 ixbad29: store i32 1373, ptr @lp_site %t147 = call ptr @lp_win_stdio(i32 2) store i32 0, ptr @lp_site call i32 (ptr, ptr, ...) @fprintf(ptr %t147, ptr @.fmt_bounds, ptr @.str1981, i32 %t141, i32 %t145) call void @exit(i32 1) unreachable ixok28: %t148 = getelementptr inbounds ptr, ptr %t143, i32 %t141 %t149 = load ptr, ptr %t148 %t150 = load ptr, ptr %t87 %t151 = load i32, ptr %t88 %t152 = getelementptr inbounds %LSlice, ptr %t150, i32 0, i32 0 %t153 = load ptr, ptr %t152 %t154 = getelementptr inbounds %LSlice, ptr %t150, i32 0, i32 1 %t155 = load i32, ptr %t154 %t156 = icmp ult i32 %t151, %t155 br i1 %t156, label %ixok30, label %ixbad31 ixbad31: store i32 1374, ptr @lp_site %t157 = call ptr @lp_win_stdio(i32 2) store i32 0, ptr @lp_site call i32 (ptr, ptr, ...) @fprintf(ptr %t157, ptr @.fmt_bounds, ptr @.str1982, i32 %t151, i32 %t155) call void @exit(i32 1) unreachable ixok30: %t158 = getelementptr inbounds i32, ptr %t153, i32 %t151 %t159 = load i32, ptr %t158 %t160 = call ptr @fn_itoa(i32 %t159) store i32 1375, ptr @lp_site %t161 = call ptr @lp_str_concat(ptr %t149, ptr %t160) store i32 0, ptr @lp_site store i32 1376, ptr @lp_site %t162 = call ptr @lp_str_concat(ptr %t161, ptr @.str1983) store i32 0, ptr @lp_site call void @lp_free(ptr %t161) store ptr %t162, ptr %t137 br label %ifend25 ifend25: %t164 = load ptr, ptr @g_g_mu_mut %t165 = load i32, ptr %t0 %t166 = getelementptr inbounds %LSlice, ptr %t164, i32 0, i32 0 %t167 = load ptr, ptr %t166 %t168 = getelementptr inbounds %LSlice, ptr %t164, i32 0, i32 1 %t169 = load i32, ptr %t168 %t170 = icmp ult i32 %t165, %t169 br i1 %t170, label %ixok32, label %ixbad33 ixbad33: store i32 1377, ptr @lp_site %t171 = call ptr @lp_win_stdio(i32 2) store i32 0, ptr @lp_site call i32 (ptr, ptr, ...) @fprintf(ptr %t171, ptr @.fmt_bounds, ptr @.str1984, i32 %t165, i32 %t169) call void @exit(i32 1) unreachable ixok32: %t172 = getelementptr inbounds ptr, ptr %t167, i32 %t165 %t173 = load ptr, ptr %t172 %t174 = load ptr, ptr %t109 %t175 = call i32 @fn_has_sub(ptr %t173, ptr %t174) %t176 = icmp ne i32 %t175, 0 %t177 = zext i1 %t176 to i32 store i32 %t177, ptr %t163 br i1 %t176, label %sc34, label %scend35 sc34: %t178 = load ptr, ptr @g_g_mv_mut %t179 = load ptr, ptr %t1 %t180 = getelementptr inbounds %Cmp_Node, ptr %t179, i32 0, i32 16 %t181 = load i32, ptr %t180 %t182 = getelementptr inbounds %LSlice, ptr %t178, i32 0, i32 0 %t183 = load ptr, ptr %t182 %t184 = getelementptr inbounds %LSlice, ptr %t178, i32 0, i32 1 %t185 = load i32, ptr %t184 %t186 = icmp ult i32 %t181, %t185 br i1 %t186, label %ixok36, label %ixbad37 ixbad37: store i32 1378, ptr @lp_site %t187 = call ptr @lp_win_stdio(i32 2) store i32 0, ptr @lp_site call i32 (ptr, ptr, ...) @fprintf(ptr %t187, ptr @.fmt_bounds, ptr @.str1985, i32 %t181, i32 %t185) call void @exit(i32 1) unreachable ixok36: %t188 = getelementptr inbounds ptr, ptr %t183, i32 %t181 %t189 = load ptr, ptr %t188 %t190 = load ptr, ptr %t109 %t191 = call i32 @fn_has_sub(ptr %t189, ptr %t190) %t192 = icmp eq i32 %t191, 0 %t193 = zext i1 %t192 to i32 %t194 = icmp ne i32 %t193, 0 %t195 = zext i1 %t194 to i32 store i32 %t195, ptr %t163 br label %scend35 scend35: %t196 = load i32, ptr %t163 %t197 = icmp ne i32 %t196, 0 br i1 %t197, label %then38, label %ifend40 then38: %t198 = load ptr, ptr @g_g_mv_mut %t199 = load ptr, ptr %t1 %t200 = getelementptr inbounds %Cmp_Node, ptr %t199, i32 0, i32 16 %t201 = load i32, ptr %t200 %t202 = getelementptr inbounds %LSlice, ptr %t198, i32 0, i32 0 %t203 = load ptr, ptr %t202 %t204 = getelementptr inbounds %LSlice, ptr %t198, i32 0, i32 1 %t205 = load i32, ptr %t204 %t206 = icmp ult i32 %t201, %t205 br i1 %t206, label %ixok41, label %ixbad42 ixbad42: store i32 1379, ptr @lp_site %t207 = call ptr @lp_win_stdio(i32 2) store i32 0, ptr @lp_site call i32 (ptr, ptr, ...) @fprintf(ptr %t207, ptr @.fmt_bounds, ptr @.str1986, i32 %t201, i32 %t205) call void @exit(i32 1) unreachable ixok41: %t208 = getelementptr inbounds ptr, ptr %t203, i32 %t201 %t209 = load ptr, ptr @g_g_mv_mut %t210 = load ptr, ptr %t1 %t211 = getelementptr inbounds %Cmp_Node, ptr %t210, i32 0, i32 16 %t212 = load i32, ptr %t211 %t213 = getelementptr inbounds %LSlice, ptr %t209, i32 0, i32 0 %t214 = load ptr, ptr %t213 %t215 = getelementptr inbounds %LSlice, ptr %t209, i32 0, i32 1 %t216 = load i32, ptr %t215 %t217 = icmp ult i32 %t212, %t216 br i1 %t217, label %ixok43, label %ixbad44 ixbad44: store i32 1380, ptr @lp_site %t218 = call ptr @lp_win_stdio(i32 2) store i32 0, ptr @lp_site call i32 (ptr, ptr, ...) @fprintf(ptr %t218, ptr @.fmt_bounds, ptr @.str1987, i32 %t212, i32 %t216) call void @exit(i32 1) unreachable ixok43: %t219 = getelementptr inbounds ptr, ptr %t214, i32 %t212 %t220 = load ptr, ptr %t219 %t221 = load ptr, ptr %t87 %t222 = load i32, ptr %t88 %t223 = getelementptr inbounds %LSlice, ptr %t221, i32 0, i32 0 %t224 = load ptr, ptr %t223 %t225 = getelementptr inbounds %LSlice, ptr %t221, i32 0, i32 1 %t226 = load i32, ptr %t225 %t227 = icmp ult i32 %t222, %t226 br i1 %t227, label %ixok45, label %ixbad46 ixbad46: store i32 1381, ptr @lp_site %t228 = call ptr @lp_win_stdio(i32 2) store i32 0, ptr @lp_site call i32 (ptr, ptr, ...) @fprintf(ptr %t228, ptr @.fmt_bounds, ptr @.str1988, i32 %t222, i32 %t226) call void @exit(i32 1) unreachable ixok45: %t229 = getelementptr inbounds i32, ptr %t224, i32 %t222 %t230 = load i32, ptr %t229 %t231 = call ptr @fn_itoa(i32 %t230) store i32 1382, ptr @lp_site %t232 = call ptr @lp_str_concat(ptr %t220, ptr %t231) store i32 0, ptr @lp_site store i32 1383, ptr @lp_site %t233 = call ptr @lp_str_concat(ptr %t232, ptr @.str1989) store i32 0, ptr @lp_site call void @lp_free(ptr %t232) store ptr %t233, ptr %t208 br label %ifend40 ifend40: %t234 = load i32, ptr %t88 %t235 = add i32 %t234, 1 store i32 %t235, ptr %t88 br label %wcond16 wend18: br label %ret ifend6: %t236 = load i32, ptr %t13 %t237 = icmp eq i32 %t236, 0 %t238 = zext i1 %t237 to i32 %t239 = icmp ne i32 %t238, 0 br i1 %t239, label %then47, label %ifend49 then47: %t242 = load ptr, ptr %t1 %t243 = getelementptr inbounds %Cmp_Node, ptr %t242, i32 0, i32 14 %t244 = load i32, ptr %t243 %t245 = icmp slt i32 %t244, 0 %t246 = zext i1 %t245 to i32 %t247 = icmp ne i32 %t246, 0 %t248 = zext i1 %t247 to i32 store i32 %t248, ptr %t241 br i1 %t247, label %sc50, label %scend51 sc50: %t249 = load ptr, ptr %t1 %t250 = getelementptr inbounds %Cmp_Node, ptr %t249, i32 0, i32 1 %t251 = load ptr, ptr %t250 %t252 = call i64 @strlen(ptr %t251) %t253 = trunc i64 %t252 to i32 %t254 = icmp sgt i32 %t253, 5 %t255 = zext i1 %t254 to i32 %t256 = icmp ne i32 %t255, 0 %t257 = zext i1 %t256 to i32 store i32 %t257, ptr %t241 br label %scend51 scend51: %t258 = load i32, ptr %t241 %t259 = icmp ne i32 %t258, 0 %t260 = zext i1 %t259 to i32 store i32 %t260, ptr %t240 br i1 %t259, label %sc52, label %scend53 sc52: %t261 = load ptr, ptr %t1 %t262 = getelementptr inbounds %Cmp_Node, ptr %t261, i32 0, i32 1 %t263 = load ptr, ptr %t262 store i32 1384, ptr @lp_site %t264 = call ptr @lp_str_slice(ptr %t263, i32 0, i32 5) store i32 0, ptr @lp_site %t265 = call i32 @lp_str_eq(ptr %t264, ptr @.str1990) call void @lp_free(ptr %t264) %t266 = icmp ne i32 %t265, 0 %t267 = zext i1 %t266 to i32 store i32 %t267, ptr %t240 br label %scend53 scend53: %t268 = load i32, ptr %t240 %t269 = icmp ne i32 %t268, 0 br i1 %t269, label %then54, label %ifend56 then54: br label %ret ifend56: %t271 = load ptr, ptr %t1 %t272 = getelementptr inbounds %Cmp_Node, ptr %t271, i32 0, i32 14 %t273 = load i32, ptr %t272 %t274 = icmp slt i32 %t273, 0 %t275 = zext i1 %t274 to i32 %t276 = icmp ne i32 %t275, 0 %t277 = zext i1 %t276 to i32 store i32 %t277, ptr %t270 br i1 %t276, label %scend58, label %sc57 sc57: %t278 = load ptr, ptr %t1 %t279 = getelementptr inbounds %Cmp_Node, ptr %t278, i32 0, i32 9 %t280 = load ptr, ptr %t279 %t281 = icmp eq ptr %t280, null %t282 = zext i1 %t281 to i32 %t283 = icmp ne i32 %t282, 0 %t284 = zext i1 %t283 to i32 store i32 %t284, ptr %t270 br label %scend58 scend58: %t285 = load i32, ptr %t270 %t286 = icmp ne i32 %t285, 0 br i1 %t286, label %then59, label %ifend61 then59: %t287 = load ptr, ptr %t1 %t288 = load ptr, ptr %t1 %t289 = getelementptr inbounds %Cmp_Node, ptr %t288, i32 0, i32 1 %t290 = load ptr, ptr %t289 store i32 1385, ptr @lp_site %t291 = call ptr @lp_str_concat(ptr %t290, ptr @.str1991) store i32 0, ptr @lp_site %t292 = load ptr, ptr %t2 store i32 1386, ptr @lp_site %t293 = call ptr @lp_str_concat(ptr %t291, ptr %t292) store i32 0, ptr @lp_site call void @lp_free(ptr %t291) store i32 1387, ptr @lp_site %t294 = call ptr @lp_str_concat(ptr %t293, ptr @.str1992) store i32 0, ptr @lp_site call void @lp_free(ptr %t293) call void @fn_mg_say(ptr %t287, ptr %t294) br label %ret ifend61: %t295 = load ptr, ptr %t2 store ptr %t295, ptr %t296 %t297 = load ptr, ptr %t1 %t298 = call i32 @fn_mg_nparams(ptr %t297) %t299 = icmp sgt i32 %t298, 0 %t300 = zext i1 %t299 to i32 %t301 = icmp ne i32 %t300, 0 br i1 %t301, label %then62, label %ifend64 then62: %t302 = load ptr, ptr %t296 store i32 1388, ptr @lp_site %t303 = call ptr @lp_str_concat(ptr %t302, ptr @.str1993) store i32 0, ptr @lp_site store ptr %t303, ptr %t296 br label %ifend64 ifend64: %t304 = load ptr, ptr %t1 %t305 = getelementptr inbounds %Cmp_Node, ptr %t304, i32 0, i32 9 %t306 = load ptr, ptr %t305 store i32 1389, ptr @lp_site %t307 = call ptr @lp_str_concat(ptr @.str1994, ptr %t306) store i32 0, ptr @lp_site store i32 1390, ptr @lp_site %t308 = call ptr @lp_str_concat(ptr %t307, ptr @.str1995) store i32 0, ptr @lp_site call void @lp_free(ptr %t307) %t309 = load ptr, ptr %t1 %t310 = getelementptr inbounds %Cmp_Node, ptr %t309, i32 0, i32 14 %t311 = load i32, ptr %t310 %t312 = add i32 %t311, 1 %t313 = call ptr @fn_itoa(i32 %t312) store i32 1391, ptr @lp_site %t314 = call ptr @lp_str_concat(ptr %t308, ptr %t313) store i32 0, ptr @lp_site call void @lp_free(ptr %t308) store i32 1392, ptr @lp_site %t315 = call ptr @lp_str_concat(ptr %t314, ptr @.str1996) store i32 0, ptr @lp_site call void @lp_free(ptr %t314) %t316 = load ptr, ptr %t296 %t317 = call ptr @fn_mg_esc(ptr %t316) store i32 1393, ptr @lp_site %t318 = call ptr @lp_str_concat(ptr %t315, ptr %t317) store i32 0, ptr @lp_site call void @lp_free(ptr %t315) %t319 = load ptr, ptr %t1 %t320 = getelementptr inbounds %Cmp_Node, ptr %t319, i32 0, i32 9 %t321 = load ptr, ptr %t320 store i32 1394, ptr @lp_site %t322 = call ptr @lp_str_concat(ptr %t321, ptr @.str1997) store i32 0, ptr @lp_site %t323 = load ptr, ptr %t1 %t324 = getelementptr inbounds %Cmp_Node, ptr %t323, i32 0, i32 14 %t325 = load i32, ptr %t324 %t326 = call ptr @fn_itoa(i32 %t325) store i32 1395, ptr @lp_site %t327 = call ptr @lp_str_concat(ptr %t322, ptr %t326) store i32 0, ptr @lp_site call void @lp_free(ptr %t322) call void @fn_mg_emit(ptr %t318, ptr %t327) br label %ret ifend49: %t328 = load ptr, ptr %t1 %t329 = getelementptr inbounds %Cmp_Node, ptr %t328, i32 0, i32 4 %t330 = load ptr, ptr %t329 store ptr %t330, ptr %t331 %t332 = load i32, ptr %t13 %t333 = icmp eq i32 %t332, 5 %t334 = zext i1 %t333 to i32 %t335 = icmp ne i32 %t334, 0 br i1 %t335, label %then65, label %ifend67 then65: %t336 = load ptr, ptr %t1 store ptr %t336, ptr %t331 br label %ifend67 ifend67: %t340 = load ptr, ptr %t331 %t341 = icmp ne ptr %t340, null %t342 = zext i1 %t341 to i32 %t343 = icmp ne i32 %t342, 0 %t344 = zext i1 %t343 to i32 store i32 %t344, ptr %t339 br i1 %t343, label %sc68, label %scend69 sc68: %t345 = load ptr, ptr %t331 %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 1 %t349 = load i32, ptr %t348 %t350 = icmp sgt i32 %t349, 0 %t351 = zext i1 %t350 to i32 %t352 = icmp ne i32 %t351, 0 %t353 = zext i1 %t352 to i32 store i32 %t353, ptr %t339 br label %scend69 scend69: %t354 = load i32, ptr %t339 %t355 = icmp ne i32 %t354, 0 %t356 = zext i1 %t355 to i32 store i32 %t356, ptr %t338 br i1 %t355, label %sc70, label %scend71 sc70: %t357 = load ptr, ptr %t331 %t358 = getelementptr inbounds %Cmp_Node, ptr %t357, i32 0, i32 7 %t359 = load ptr, ptr %t358 %t360 = getelementptr inbounds %LSlice, ptr %t359, i32 0, i32 0 %t361 = load ptr, ptr %t360 %t362 = getelementptr inbounds %LSlice, ptr %t359, i32 0, i32 1 %t363 = load i32, ptr %t362 %t364 = icmp ult i32 0, %t363 br i1 %t364, label %ixok72, label %ixbad73 ixbad73: store i32 1396, ptr @lp_site %t365 = call ptr @lp_win_stdio(i32 2) store i32 0, ptr @lp_site call i32 (ptr, ptr, ...) @fprintf(ptr %t365, ptr @.fmt_bounds, ptr @.str1998, i32 0, i32 %t363) call void @exit(i32 1) unreachable ixok72: %t366 = getelementptr inbounds ptr, ptr %t361, i32 0 %t367 = load ptr, ptr %t366 %t368 = getelementptr inbounds %Cmp_Node, ptr %t367, i32 0, i32 11 %t369 = load ptr, ptr %t368 %t370 = icmp ne ptr %t369, null %t371 = zext i1 %t370 to i32 %t372 = icmp ne i32 %t371, 0 %t373 = zext i1 %t372 to i32 store i32 %t373, ptr %t338 br label %scend71 scend71: %t374 = load i32, ptr %t338 %t375 = icmp ne i32 %t374, 0 %t376 = zext i1 %t375 to i32 store i32 %t376, ptr %t337 br i1 %t375, label %sc74, label %scend75 sc74: %t377 = load ptr, ptr %t331 %t378 = getelementptr inbounds %Cmp_Node, ptr %t377, i32 0, i32 7 %t379 = load ptr, ptr %t378 %t380 = getelementptr inbounds %LSlice, ptr %t379, i32 0, i32 0 %t381 = load ptr, ptr %t380 %t382 = getelementptr inbounds %LSlice, ptr %t379, i32 0, i32 1 %t383 = load i32, ptr %t382 %t384 = icmp ult i32 0, %t383 br i1 %t384, label %ixok76, label %ixbad77 ixbad77: store i32 1397, ptr @lp_site %t385 = call ptr @lp_win_stdio(i32 2) store i32 0, ptr @lp_site call i32 (ptr, ptr, ...) @fprintf(ptr %t385, ptr @.fmt_bounds, ptr @.str1999, i32 0, i32 %t383) call void @exit(i32 1) unreachable ixok76: %t386 = getelementptr inbounds ptr, ptr %t381, i32 0 %t387 = load ptr, ptr %t386 %t388 = getelementptr inbounds %Cmp_Node, ptr %t387, i32 0, i32 11 %t389 = load ptr, ptr %t388 %t390 = call i32 @lp_str_eq(ptr %t389, ptr @.str2000) %t391 = icmp ne i32 %t390, 0 %t392 = zext i1 %t391 to i32 store i32 %t392, ptr %t337 br label %scend75 scend75: %t393 = load i32, ptr %t337 %t394 = icmp ne i32 %t393, 0 br i1 %t394, label %then78, label %ifend80 then78: %t395 = load ptr, ptr @g_g_mu_need %t396 = load i32, ptr %t0 %t397 = getelementptr inbounds %LSlice, ptr %t395, i32 0, i32 0 %t398 = load ptr, ptr %t397 %t399 = getelementptr inbounds %LSlice, ptr %t395, i32 0, i32 1 %t400 = load i32, ptr %t399 %t401 = icmp ult i32 %t396, %t400 br i1 %t401, label %ixok81, label %ixbad82 ixbad82: store i32 1398, ptr @lp_site %t402 = call ptr @lp_win_stdio(i32 2) store i32 0, ptr @lp_site call i32 (ptr, ptr, ...) @fprintf(ptr %t402, ptr @.fmt_bounds, ptr @.str2001, i32 %t396, i32 %t400) call void @exit(i32 1) unreachable ixok81: %t403 = getelementptr inbounds ptr, ptr %t398, i32 %t396 %t404 = load ptr, ptr %t403 %t405 = call ptr @fn_mg_list(ptr %t404) store ptr %t405, ptr %t406 store ptr @.str2002, ptr %t407 store ptr null, ptr %t408 store i32 0, ptr %t409 br label %wcond83 wcond83: %t410 = load i32, ptr %t409 %t411 = load ptr, ptr %t406 %t412 = getelementptr inbounds %LSlice, ptr %t411, i32 0, i32 1 %t413 = load i32, ptr %t412 %t414 = icmp slt i32 %t410, %t413 %t415 = zext i1 %t414 to i32 %t416 = icmp ne i32 %t415, 0 br i1 %t416, label %wbody84, label %wend85 wbody84: store i32 0, ptr %t417 store i32 0, ptr %t418 br label %wcond86 wcond86: %t421 = load i32, ptr %t418 %t422 = load ptr, ptr %t331 %t423 = getelementptr inbounds %Cmp_Node, ptr %t422, i32 0, i32 7 %t424 = load ptr, ptr %t423 %t425 = getelementptr inbounds %LSlice, ptr %t424, i32 0, i32 1 %t426 = load i32, ptr %t425 %t427 = icmp slt i32 %t421, %t426 %t428 = zext i1 %t427 to i32 %t429 = icmp ne i32 %t428, 0 %t430 = zext i1 %t429 to i32 store i32 %t430, ptr %t420 br i1 %t429, label %sc89, label %scend90 sc89: %t431 = load ptr, ptr %t331 %t432 = getelementptr inbounds %Cmp_Node, ptr %t431, i32 0, i32 7 %t433 = load ptr, ptr %t432 %t434 = load i32, ptr %t418 %t435 = getelementptr inbounds %LSlice, ptr %t433, i32 0, i32 0 %t436 = load ptr, ptr %t435 %t437 = getelementptr inbounds %LSlice, ptr %t433, i32 0, i32 1 %t438 = load i32, ptr %t437 %t439 = icmp ult i32 %t434, %t438 br i1 %t439, label %ixok91, label %ixbad92 ixbad92: store i32 1399, ptr @lp_site %t440 = call ptr @lp_win_stdio(i32 2) store i32 0, ptr @lp_site call i32 (ptr, ptr, ...) @fprintf(ptr %t440, ptr @.fmt_bounds, ptr @.str2003, i32 %t434, i32 %t438) call void @exit(i32 1) unreachable ixok91: %t441 = getelementptr inbounds ptr, ptr %t436, i32 %t434 %t442 = load ptr, ptr %t441 %t443 = getelementptr inbounds %Cmp_Node, ptr %t442, i32 0, i32 11 %t444 = load ptr, ptr %t443 %t445 = icmp ne ptr %t444, null %t446 = zext i1 %t445 to i32 %t447 = icmp ne i32 %t446, 0 %t448 = zext i1 %t447 to i32 store i32 %t448, ptr %t420 br label %scend90 scend90: %t449 = load i32, ptr %t420 %t450 = icmp ne i32 %t449, 0 %t451 = zext i1 %t450 to i32 store i32 %t451, ptr %t419 br i1 %t450, label %sc93, label %scend94 sc93: %t452 = load ptr, ptr %t331 %t453 = getelementptr inbounds %Cmp_Node, ptr %t452, i32 0, i32 7 %t454 = load ptr, ptr %t453 %t455 = load i32, ptr %t418 %t456 = getelementptr inbounds %LSlice, ptr %t454, i32 0, i32 0 %t457 = load ptr, ptr %t456 %t458 = getelementptr inbounds %LSlice, ptr %t454, i32 0, i32 1 %t459 = load i32, ptr %t458 %t460 = icmp ult i32 %t455, %t459 br i1 %t460, label %ixok95, label %ixbad96 ixbad96: store i32 1400, ptr @lp_site %t461 = call ptr @lp_win_stdio(i32 2) store i32 0, ptr @lp_site call i32 (ptr, ptr, ...) @fprintf(ptr %t461, ptr @.fmt_bounds, ptr @.str2004, i32 %t455, i32 %t459) call void @exit(i32 1) unreachable ixok95: %t462 = getelementptr inbounds ptr, ptr %t457, i32 %t455 %t463 = load ptr, ptr %t462 %t464 = getelementptr inbounds %Cmp_Node, ptr %t463, i32 0, i32 11 %t465 = load ptr, ptr %t464 %t466 = call i32 @lp_str_eq(ptr %t465, ptr @.str2005) %t467 = icmp ne i32 %t466, 0 %t468 = zext i1 %t467 to i32 store i32 %t468, ptr %t419 br label %scend94 scend94: %t469 = load i32, ptr %t419 %t470 = icmp ne i32 %t469, 0 br i1 %t470, label %wbody87, label %wend88 wbody87: %t471 = load ptr, ptr %t331 %t472 = getelementptr inbounds %Cmp_Node, ptr %t471, i32 0, i32 7 %t473 = load ptr, ptr %t472 %t474 = load i32, ptr %t418 %t475 = getelementptr inbounds %LSlice, ptr %t473, i32 0, i32 0 %t476 = load ptr, ptr %t475 %t477 = getelementptr inbounds %LSlice, ptr %t473, i32 0, i32 1 %t478 = load i32, ptr %t477 %t479 = icmp ult i32 %t474, %t478 br i1 %t479, label %ixok97, label %ixbad98 ixbad98: store i32 1401, ptr @lp_site %t480 = call ptr @lp_win_stdio(i32 2) store i32 0, ptr @lp_site call i32 (ptr, ptr, ...) @fprintf(ptr %t480, ptr @.fmt_bounds, ptr @.str2006, i32 %t474, i32 %t478) call void @exit(i32 1) unreachable ixok97: %t481 = getelementptr inbounds ptr, ptr %t476, i32 %t474 %t482 = load ptr, ptr %t481 %t483 = getelementptr inbounds %Cmp_Node, ptr %t482, i32 0, i32 3 %t484 = load ptr, ptr %t483 %t485 = load ptr, ptr @g_g_ms_name %t486 = load ptr, ptr %t406 %t487 = load i32, ptr %t409 %t488 = getelementptr inbounds %LSlice, ptr %t486, i32 0, i32 0 %t489 = load ptr, ptr %t488 %t490 = getelementptr inbounds %LSlice, ptr %t486, i32 0, i32 1 %t491 = load i32, ptr %t490 %t492 = icmp ult i32 %t487, %t491 br i1 %t492, label %ixok99, label %ixbad100 ixbad100: store i32 1402, ptr @lp_site %t493 = call ptr @lp_win_stdio(i32 2) store i32 0, ptr @lp_site call i32 (ptr, ptr, ...) @fprintf(ptr %t493, ptr @.fmt_bounds, ptr @.str2007, i32 %t487, i32 %t491) call void @exit(i32 1) unreachable ixok99: %t494 = getelementptr inbounds i32, ptr %t489, i32 %t487 %t495 = load i32, ptr %t494 %t496 = getelementptr inbounds %LSlice, ptr %t485, i32 0, i32 0 %t497 = load ptr, ptr %t496 %t498 = getelementptr inbounds %LSlice, ptr %t485, i32 0, i32 1 %t499 = load i32, ptr %t498 %t500 = icmp ult i32 %t495, %t499 br i1 %t500, label %ixok101, label %ixbad102 ixbad102: store i32 1403, ptr @lp_site %t501 = call ptr @lp_win_stdio(i32 2) store i32 0, ptr @lp_site call i32 (ptr, ptr, ...) @fprintf(ptr %t501, ptr @.fmt_bounds, ptr @.str2008, i32 %t495, i32 %t499) call void @exit(i32 1) unreachable ixok101: %t502 = getelementptr inbounds ptr, ptr %t497, i32 %t495 %t503 = load ptr, ptr %t502 %t504 = call i32 @lp_str_eq(ptr %t484, ptr %t503) %t505 = icmp ne i32 %t504, 0 br i1 %t505, label %then103, label %ifend105 then103: store i32 1, ptr %t417 br label %ifend105 ifend105: %t506 = load ptr, ptr %t331 %t507 = getelementptr inbounds %Cmp_Node, ptr %t506, i32 0, i32 7 %t508 = load ptr, ptr %t507 %t509 = load i32, ptr %t418 %t510 = getelementptr inbounds %LSlice, ptr %t508, i32 0, i32 0 %t511 = load ptr, ptr %t510 %t512 = getelementptr inbounds %LSlice, ptr %t508, i32 0, i32 1 %t513 = load i32, ptr %t512 %t514 = icmp ult i32 %t509, %t513 br i1 %t514, label %ixok106, label %ixbad107 ixbad107: store i32 1404, ptr @lp_site %t515 = call ptr @lp_win_stdio(i32 2) store i32 0, ptr @lp_site call i32 (ptr, ptr, ...) @fprintf(ptr %t515, ptr @.fmt_bounds, ptr @.str2009, i32 %t509, i32 %t513) call void @exit(i32 1) unreachable ixok106: %t516 = getelementptr inbounds ptr, ptr %t511, i32 %t509 %t517 = load ptr, ptr %t516 store ptr %t517, ptr %t408 %t518 = load i32, ptr %t418 %t519 = add i32 %t518, 1 store i32 %t519, ptr %t418 br label %wcond86 wend88: %t520 = load i32, ptr %t417 %t521 = icmp eq i32 %t520, 0 %t522 = zext i1 %t521 to i32 %t523 = icmp ne i32 %t522, 0 br i1 %t523, label %then108, label %ifend110 then108: %t524 = load ptr, ptr %t407 store i32 1405, ptr @lp_site %t525 = call ptr @lp_str_concat(ptr %t524, ptr @.str2010) store i32 0, ptr @lp_site %t526 = load i32, ptr %t0 %t527 = load ptr, ptr %t406 %t528 = load i32, ptr %t409 %t529 = getelementptr inbounds %LSlice, ptr %t527, i32 0, i32 0 %t530 = load ptr, ptr %t529 %t531 = getelementptr inbounds %LSlice, ptr %t527, i32 0, i32 1 %t532 = load i32, ptr %t531 %t533 = icmp ult i32 %t528, %t532 br i1 %t533, label %ixok111, label %ixbad112 ixbad112: store i32 1406, ptr @lp_site %t534 = call ptr @lp_win_stdio(i32 2) store i32 0, ptr @lp_site call i32 (ptr, ptr, ...) @fprintf(ptr %t534, ptr @.fmt_bounds, ptr @.str2011, i32 %t528, i32 %t532) call void @exit(i32 1) unreachable ixok111: %t535 = getelementptr inbounds i32, ptr %t530, i32 %t528 %t536 = load i32, ptr %t535 %t537 = call ptr @fn_mg_param_text(i32 %t526, i32 %t536) store i32 1407, ptr @lp_site %t538 = call ptr @lp_str_concat(ptr %t525, ptr %t537) store i32 0, ptr @lp_site call void @lp_free(ptr %t525) store ptr %t538, ptr %t407 br label %ifend110 ifend110: %t539 = load i32, ptr %t409 %t540 = add i32 %t539, 1 store i32 %t540, ptr %t409 br label %wcond83 wend85: %t541 = load ptr, ptr %t407 %t542 = call i64 @strlen(ptr %t541) %t543 = trunc i64 %t542 to i32 %t544 = icmp sgt i32 %t543, 0 %t545 = zext i1 %t544 to i32 %t546 = icmp ne i32 %t545, 0 br i1 %t546, label %then113, label %ifend115 then113: %t549 = load ptr, ptr %t408 %t550 = icmp eq ptr %t549, null %t551 = zext i1 %t550 to i32 %t552 = icmp ne i32 %t551, 0 %t553 = zext i1 %t552 to i32 store i32 %t553, ptr %t548 br i1 %t552, label %scend117, label %sc116 sc116: %t554 = load ptr, ptr %t408 %t555 = getelementptr inbounds %Cmp_Node, ptr %t554, i32 0, i32 14 %t556 = load i32, ptr %t555 %t557 = icmp slt i32 %t556, 0 %t558 = zext i1 %t557 to i32 %t559 = icmp ne i32 %t558, 0 %t560 = zext i1 %t559 to i32 store i32 %t560, ptr %t548 br label %scend117 scend117: %t561 = load i32, ptr %t548 %t562 = icmp ne i32 %t561, 0 %t563 = zext i1 %t562 to i32 store i32 %t563, ptr %t547 br i1 %t562, label %scend119, label %sc118 sc118: %t564 = load ptr, ptr %t408 %t565 = getelementptr inbounds %Cmp_Node, ptr %t564, i32 0, i32 9 %t566 = load ptr, ptr %t565 %t567 = icmp eq ptr %t566, null %t568 = zext i1 %t567 to i32 %t569 = icmp ne i32 %t568, 0 %t570 = zext i1 %t569 to i32 store i32 %t570, ptr %t547 br label %scend119 scend119: %t571 = load i32, ptr %t547 %t572 = icmp ne i32 %t571, 0 br i1 %t572, label %then120, label %else121 then120: %t573 = load ptr, ptr %t1 %t574 = load ptr, ptr %t407 store i32 1408, ptr @lp_site %t575 = call ptr @lp_str_concat(ptr @.str2012, ptr %t574) store i32 0, ptr @lp_site store i32 1409, ptr @lp_site %t576 = call ptr @lp_str_concat(ptr %t575, ptr @.str2013) store i32 0, ptr @lp_site call void @lp_free(ptr %t575) call void @fn_mg_say(ptr %t573, ptr %t576) br label %ifend122 else121: %t577 = load ptr, ptr %t408 %t578 = getelementptr inbounds %Cmp_Node, ptr %t577, i32 0, i32 9 %t579 = load ptr, ptr %t578 store i32 1410, ptr @lp_site %t580 = call ptr @lp_str_concat(ptr @.str2014, ptr %t579) store i32 0, ptr @lp_site store i32 1411, ptr @lp_site %t581 = call ptr @lp_str_concat(ptr %t580, ptr @.str2015) store i32 0, ptr @lp_site call void @lp_free(ptr %t580) %t582 = load ptr, ptr %t408 %t583 = getelementptr inbounds %Cmp_Node, ptr %t582, i32 0, i32 14 %t584 = load i32, ptr %t583 %t585 = call ptr @fn_itoa(i32 %t584) store i32 1412, ptr @lp_site %t586 = call ptr @lp_str_concat(ptr %t581, ptr %t585) store i32 0, ptr @lp_site call void @lp_free(ptr %t581) store i32 1413, ptr @lp_site %t587 = call ptr @lp_str_concat(ptr %t586, ptr @.str2016) store i32 0, ptr @lp_site call void @lp_free(ptr %t586) %t588 = load ptr, ptr %t407 %t589 = call ptr @fn_mg_esc(ptr %t588) store i32 1414, ptr @lp_site %t590 = call ptr @lp_str_concat(ptr %t587, ptr %t589) store i32 0, ptr @lp_site call void @lp_free(ptr %t587) call void @fn_mg_emit(ptr %t590, ptr @.str2017) br label %ifend122 ifend122: br label %ifend115 ifend115: br label %ret ifend80: %t591 = load i32, ptr %t13 %t592 = icmp eq i32 %t591, 1 %t593 = zext i1 %t592 to i32 %t594 = icmp ne i32 %t593, 0 br i1 %t594, label %then123, label %ifend125 then123: %t595 = load ptr, ptr %t1 %t596 = getelementptr inbounds %Cmp_Node, ptr %t595, i32 0, i32 9 %t597 = load ptr, ptr %t596 store i32 1415, ptr @lp_site %t598 = call ptr @lp_str_concat(ptr @.str2018, ptr %t597) store i32 0, ptr @lp_site store i32 1416, ptr @lp_site %t599 = call ptr @lp_str_concat(ptr %t598, ptr @.str2019) store i32 0, ptr @lp_site call void @lp_free(ptr %t598) %t600 = load ptr, ptr %t1 %t601 = getelementptr inbounds %Cmp_Node, ptr %t600, i32 0, i32 13 %t602 = load i32, ptr %t601 %t603 = call ptr @fn_itoa(i32 %t602) store i32 1417, ptr @lp_site %t604 = call ptr @lp_str_concat(ptr %t599, ptr %t603) store i32 0, ptr @lp_site call void @lp_free(ptr %t599) store i32 1418, ptr @lp_site %t605 = call ptr @lp_str_concat(ptr %t604, ptr @.str2020) store i32 0, ptr @lp_site call void @lp_free(ptr %t604) %t606 = load ptr, ptr %t2 store i32 1419, ptr @lp_site %t607 = call ptr @lp_str_concat(ptr @.str2021, ptr %t606) store i32 0, ptr @lp_site store i32 1420, ptr @lp_site %t608 = call ptr @lp_str_concat(ptr %t607, ptr @.str2022) store i32 0, ptr @lp_site call void @lp_free(ptr %t607) %t609 = call ptr @fn_mg_esc(ptr %t608) store i32 1421, ptr @lp_site %t610 = call ptr @lp_str_concat(ptr %t605, ptr %t609) store i32 0, ptr @lp_site call void @lp_free(ptr %t605) %t611 = load ptr, ptr %t1 %t612 = getelementptr inbounds %Cmp_Node, ptr %t611, i32 0, i32 9 %t613 = load ptr, ptr %t612 store i32 1422, ptr @lp_site %t614 = call ptr @lp_str_concat(ptr %t613, ptr @.str2023) store i32 0, ptr @lp_site %t615 = load ptr, ptr %t1 %t616 = getelementptr inbounds %Cmp_Node, ptr %t615, i32 0, i32 13 %t617 = load i32, ptr %t616 %t618 = call ptr @fn_itoa(i32 %t617) store i32 1423, ptr @lp_site %t619 = call ptr @lp_str_concat(ptr %t614, ptr %t618) store i32 0, ptr @lp_site call void @lp_free(ptr %t614) call void @fn_mg_emit(ptr %t610, ptr %t619) br label %ifend125 ifend125: %t620 = load i32, ptr %t13 %t621 = icmp eq i32 %t620, 2 %t622 = zext i1 %t621 to i32 %t623 = icmp ne i32 %t622, 0 br i1 %t623, label %then126, label %ifend128 then126: %t624 = load ptr, ptr %t1 %t625 = getelementptr inbounds %Cmp_Node, ptr %t624, i32 0, i32 9 %t626 = load ptr, ptr %t625 store i32 1424, ptr @lp_site %t627 = call ptr @lp_str_concat(ptr @.str2024, ptr %t626) store i32 0, ptr @lp_site store i32 1425, ptr @lp_site %t628 = call ptr @lp_str_concat(ptr %t627, ptr @.str2025) store i32 0, ptr @lp_site call void @lp_free(ptr %t627) %t629 = load ptr, ptr %t1 %t630 = getelementptr inbounds %Cmp_Node, ptr %t629, i32 0, i32 14 %t631 = load i32, ptr %t630 %t632 = call ptr @fn_itoa(i32 %t631) store i32 1426, ptr @lp_site %t633 = call ptr @lp_str_concat(ptr %t628, ptr %t632) store i32 0, ptr @lp_site call void @lp_free(ptr %t628) store i32 1427, ptr @lp_site %t634 = call ptr @lp_str_concat(ptr %t633, ptr @.str2026) store i32 0, ptr @lp_site call void @lp_free(ptr %t633) %t635 = load ptr, ptr %t2 store i32 1428, ptr @lp_site %t636 = call ptr @lp_str_concat(ptr @.str2027, ptr %t635) store i32 0, ptr @lp_site store i32 1429, ptr @lp_site %t637 = call ptr @lp_str_concat(ptr %t636, ptr @.str2028) store i32 0, ptr @lp_site call void @lp_free(ptr %t636) %t638 = call ptr @fn_mg_esc(ptr %t637) store i32 1430, ptr @lp_site %t639 = call ptr @lp_str_concat(ptr %t634, ptr %t638) store i32 0, ptr @lp_site call void @lp_free(ptr %t634) %t640 = load ptr, ptr %t1 %t641 = getelementptr inbounds %Cmp_Node, ptr %t640, i32 0, i32 9 %t642 = load ptr, ptr %t641 store i32 1431, ptr @lp_site %t643 = call ptr @lp_str_concat(ptr %t642, ptr @.str2029) store i32 0, ptr @lp_site %t644 = load ptr, ptr %t1 %t645 = getelementptr inbounds %Cmp_Node, ptr %t644, i32 0, i32 14 %t646 = load i32, ptr %t645 %t647 = call ptr @fn_itoa(i32 %t646) store i32 1432, ptr @lp_site %t648 = call ptr @lp_str_concat(ptr %t643, ptr %t647) store i32 0, ptr @lp_site call void @lp_free(ptr %t643) call void @fn_mg_emit(ptr %t639, ptr %t648) br label %ifend128 ifend128: %t649 = load i32, ptr %t13 %t650 = icmp eq i32 %t649, 3 %t651 = zext i1 %t650 to i32 %t652 = icmp ne i32 %t651, 0 br i1 %t652, label %then129, label %ifend131 then129: %t653 = load ptr, ptr %t1 %t654 = getelementptr inbounds %Cmp_Node, ptr %t653, i32 0, i32 9 %t655 = load ptr, ptr %t654 store i32 1433, ptr @lp_site %t656 = call ptr @lp_str_concat(ptr @.str2030, ptr %t655) store i32 0, ptr @lp_site store i32 1434, ptr @lp_site %t657 = call ptr @lp_str_concat(ptr %t656, ptr @.str2031) store i32 0, ptr @lp_site call void @lp_free(ptr %t656) %t658 = load ptr, ptr %t1 %t659 = getelementptr inbounds %Cmp_Node, ptr %t658, i32 0, i32 14 %t660 = load i32, ptr %t659 %t661 = call ptr @fn_itoa(i32 %t660) store i32 1435, ptr @lp_site %t662 = call ptr @lp_str_concat(ptr %t657, ptr %t661) store i32 0, ptr @lp_site call void @lp_free(ptr %t657) store i32 1436, ptr @lp_site %t663 = call ptr @lp_str_concat(ptr %t662, ptr @.str2032) store i32 0, ptr @lp_site call void @lp_free(ptr %t662) %t664 = load ptr, ptr %t2 store i32 1437, ptr @lp_site %t665 = call ptr @lp_str_concat(ptr @.str2033, ptr %t664) store i32 0, ptr @lp_site store i32 1438, ptr @lp_site %t666 = call ptr @lp_str_concat(ptr %t665, ptr @.str2034) store i32 0, ptr @lp_site call void @lp_free(ptr %t665) %t667 = call ptr @fn_mg_esc(ptr %t666) store i32 1439, ptr @lp_site %t668 = call ptr @lp_str_concat(ptr %t663, ptr %t667) store i32 0, ptr @lp_site call void @lp_free(ptr %t663) %t669 = load ptr, ptr %t1 %t670 = getelementptr inbounds %Cmp_Node, ptr %t669, i32 0, i32 9 %t671 = load ptr, ptr %t670 store i32 1440, ptr @lp_site %t672 = call ptr @lp_str_concat(ptr %t671, ptr @.str2035) store i32 0, ptr @lp_site %t673 = load ptr, ptr %t1 %t674 = getelementptr inbounds %Cmp_Node, ptr %t673, i32 0, i32 14 %t675 = load i32, ptr %t674 %t676 = call ptr @fn_itoa(i32 %t675) store i32 1441, ptr @lp_site %t677 = call ptr @lp_str_concat(ptr %t672, ptr %t676) store i32 0, ptr @lp_site call void @lp_free(ptr %t672) call void @fn_mg_emit(ptr %t668, ptr %t677) br label %ifend131 ifend131: %t678 = load i32, ptr %t13 %t679 = icmp eq i32 %t678, 5 %t680 = zext i1 %t679 to i32 %t681 = icmp ne i32 %t680, 0 br i1 %t681, label %then132, label %ifend134 then132: %t682 = load ptr, ptr %t1 %t683 = getelementptr inbounds %Cmp_Node, ptr %t682, i32 0, i32 9 %t684 = load ptr, ptr %t683 store i32 1442, ptr @lp_site %t685 = call ptr @lp_str_concat(ptr @.str2036, ptr %t684) store i32 0, ptr @lp_site store i32 1443, ptr @lp_site %t686 = call ptr @lp_str_concat(ptr %t685, ptr @.str2037) store i32 0, ptr @lp_site call void @lp_free(ptr %t685) %t687 = load ptr, ptr %t1 %t688 = getelementptr inbounds %Cmp_Node, ptr %t687, i32 0, i32 14 %t689 = load i32, ptr %t688 %t690 = call ptr @fn_itoa(i32 %t689) store i32 1444, ptr @lp_site %t691 = call ptr @lp_str_concat(ptr %t686, ptr %t690) store i32 0, ptr @lp_site call void @lp_free(ptr %t686) store i32 1445, ptr @lp_site %t692 = call ptr @lp_str_concat(ptr %t691, ptr @.str2038) store i32 0, ptr @lp_site call void @lp_free(ptr %t691) %t693 = load ptr, ptr %t2 store i32 1446, ptr @lp_site %t694 = call ptr @lp_str_concat(ptr @.str2039, ptr %t693) store i32 0, ptr @lp_site store i32 1447, ptr @lp_site %t695 = call ptr @lp_str_concat(ptr %t694, ptr @.str2040) store i32 0, ptr @lp_site call void @lp_free(ptr %t694) %t696 = call ptr @fn_mg_esc(ptr %t695) store i32 1448, ptr @lp_site %t697 = call ptr @lp_str_concat(ptr %t692, ptr %t696) store i32 0, ptr @lp_site call void @lp_free(ptr %t692) %t698 = load ptr, ptr %t1 %t699 = getelementptr inbounds %Cmp_Node, ptr %t698, i32 0, i32 9 %t700 = load ptr, ptr %t699 store i32 1449, ptr @lp_site %t701 = call ptr @lp_str_concat(ptr %t700, ptr @.str2041) store i32 0, ptr @lp_site %t702 = load ptr, ptr %t1 %t703 = getelementptr inbounds %Cmp_Node, ptr %t702, i32 0, i32 14 %t704 = load i32, ptr %t703 %t705 = call ptr @fn_itoa(i32 %t704) store i32 1450, ptr @lp_site %t706 = call ptr @lp_str_concat(ptr %t701, ptr %t705) store i32 0, ptr @lp_site call void @lp_free(ptr %t701) call void @fn_mg_emit(ptr %t697, ptr %t706) br label %ifend134 ifend134: %t707 = load i32, ptr %t13 %t708 = icmp eq i32 %t707, 4 %t709 = zext i1 %t708 to i32 %t710 = icmp ne i32 %t709, 0 br i1 %t710, label %then135, label %ifend137 then135: %t711 = load ptr, ptr %t1 %t712 = getelementptr inbounds %Cmp_Node, ptr %t711, i32 0, i32 4 %t713 = load ptr, ptr %t712 store ptr %t713, ptr %t714 %t716 = load ptr, ptr %t714 %t717 = icmp eq ptr %t716, null %t718 = zext i1 %t717 to i32 %t719 = icmp ne i32 %t718, 0 %t720 = zext i1 %t719 to i32 store i32 %t720, ptr %t715 br i1 %t719, label %scend139, label %sc138 sc138: %t721 = load ptr, ptr %t714 %t722 = getelementptr inbounds %Cmp_Node, ptr %t721, i32 0, i32 14 %t723 = load i32, ptr %t722 %t724 = icmp slt i32 %t723, 0 %t725 = zext i1 %t724 to i32 %t726 = icmp ne i32 %t725, 0 %t727 = zext i1 %t726 to i32 store i32 %t727, ptr %t715 br label %scend139 scend139: %t728 = load i32, ptr %t715 %t729 = icmp ne i32 %t728, 0 br i1 %t729, label %then140, label %ifend142 then140: %t730 = load ptr, ptr %t1 %t731 = load ptr, ptr %t2 store i32 1451, ptr @lp_site %t732 = call ptr @lp_str_concat(ptr @.str2042, ptr %t731) store i32 0, ptr @lp_site store i32 1452, ptr @lp_site %t733 = call ptr @lp_str_concat(ptr %t732, ptr @.str2043) store i32 0, ptr @lp_site call void @lp_free(ptr %t732) call void @fn_mg_say(ptr %t730, ptr %t733) br label %ret ifend142: %t734 = load ptr, ptr %t714 %t735 = getelementptr inbounds %Cmp_Node, ptr %t734, i32 0, i32 9 %t736 = load ptr, ptr %t735 store i32 1453, ptr @lp_site %t737 = call ptr @lp_str_concat(ptr @.str2044, ptr %t736) store i32 0, ptr @lp_site store i32 1454, ptr @lp_site %t738 = call ptr @lp_str_concat(ptr %t737, ptr @.str2045) store i32 0, ptr @lp_site call void @lp_free(ptr %t737) %t739 = load ptr, ptr %t714 %t740 = getelementptr inbounds %Cmp_Node, ptr %t739, i32 0, i32 14 %t741 = load i32, ptr %t740 %t742 = call ptr @fn_itoa(i32 %t741) store i32 1455, ptr @lp_site %t743 = call ptr @lp_str_concat(ptr %t738, ptr %t742) store i32 0, ptr @lp_site call void @lp_free(ptr %t738) store i32 1456, ptr @lp_site %t744 = call ptr @lp_str_concat(ptr %t743, ptr @.str2046) store i32 0, ptr @lp_site call void @lp_free(ptr %t743) %t745 = load ptr, ptr %t2 store i32 1457, ptr @lp_site %t746 = call ptr @lp_str_concat(ptr @.str2047, ptr %t745) store i32 0, ptr @lp_site store i32 1458, ptr @lp_site %t747 = call ptr @lp_str_concat(ptr %t746, ptr @.str2048) store i32 0, ptr @lp_site call void @lp_free(ptr %t746) %t748 = call ptr @fn_mg_esc(ptr %t747) store i32 1459, ptr @lp_site %t749 = call ptr @lp_str_concat(ptr %t744, ptr %t748) store i32 0, ptr @lp_site call void @lp_free(ptr %t744) %t750 = load ptr, ptr %t714 %t751 = getelementptr inbounds %Cmp_Node, ptr %t750, i32 0, i32 9 %t752 = load ptr, ptr %t751 store i32 1460, ptr @lp_site %t753 = call ptr @lp_str_concat(ptr %t752, ptr @.str2049) store i32 0, ptr @lp_site %t754 = load ptr, ptr %t714 %t755 = getelementptr inbounds %Cmp_Node, ptr %t754, i32 0, i32 14 %t756 = load i32, ptr %t755 %t757 = call ptr @fn_itoa(i32 %t756) store i32 1461, ptr @lp_site %t758 = call ptr @lp_str_concat(ptr %t753, ptr %t757) store i32 0, ptr @lp_site call void @lp_free(ptr %t753) call void @fn_mg_emit(ptr %t749, ptr %t758) br label %ifend137 ifend137: br label %ret ret: ret void } define void @fn_mg_comp_acc(i32 %arg_u, i32 %arg_c) { entry: %t0 = alloca i32 %t1 = alloca i32 %t60 = alloca ptr %t61 = alloca i32 %t82 = alloca ptr %t130 = alloca i32 store i32 %arg_u, ptr %t0 store i32 %arg_c, ptr %t1 br label %wcond0 wcond0: %t2 = load ptr, ptr @g_g_mcm_need %t3 = getelementptr inbounds %LSlice, ptr %t2, i32 0, i32 1 %t4 = load i32, ptr %t3 %t5 = load ptr, ptr @g_g_cm_name %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_g_mcm_need %t12 = getelementptr inbounds %LSlice, ptr %t11, i32 0, i32 1 %t13 = getelementptr inbounds %LSlice, ptr %t11, i32 0, i32 2 %t14 = getelementptr inbounds %LSlice, ptr %t11, i32 0, i32 0 %t15 = load i32, ptr %t12 %t16 = load i32, ptr %t13 %t17 = icmp sge i32 %t15, %t16 br i1 %t17, label %grow3, label %put4 grow3: %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 store i32 1462, ptr @lp_site %t26 = call ptr @lp_realloc(ptr %t25, i64 %t24) store i32 0, ptr @lp_site store ptr %t26, ptr %t14 store i32 %t20, ptr %t13 br label %put4 put4: %t27 = load ptr, ptr %t14 %t28 = getelementptr inbounds ptr, ptr %t27, i32 %t15 store ptr @.str2050, ptr %t28 %t29 = add i32 %t15, 1 store i32 %t29, ptr %t12 %t30 = load ptr, ptr @g_g_mcm_mut %t31 = getelementptr inbounds %LSlice, ptr %t30, i32 0, i32 1 %t32 = getelementptr inbounds %LSlice, ptr %t30, i32 0, i32 2 %t33 = getelementptr inbounds %LSlice, ptr %t30, i32 0, i32 0 %t34 = load i32, ptr %t31 %t35 = load i32, ptr %t32 %t36 = icmp sge i32 %t34, %t35 br i1 %t36, label %grow5, label %put6 grow5: %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 store i32 1463, ptr @lp_site %t45 = call ptr @lp_realloc(ptr %t44, i64 %t43) store i32 0, ptr @lp_site store ptr %t45, ptr %t33 store i32 %t39, ptr %t32 br label %put6 put6: %t46 = load ptr, ptr %t33 %t47 = getelementptr inbounds ptr, ptr %t46, i32 %t34 store ptr @.str2052, ptr %t47 %t48 = add i32 %t34, 1 store i32 %t48, ptr %t31 br label %wcond0 wend2: %t49 = load ptr, ptr @g_g_mu_need %t50 = load i32, ptr %t0 %t51 = getelementptr inbounds %LSlice, ptr %t49, i32 0, i32 0 %t52 = load ptr, ptr %t51 %t53 = getelementptr inbounds %LSlice, ptr %t49, i32 0, i32 1 %t54 = load i32, ptr %t53 %t55 = icmp ult i32 %t50, %t54 br i1 %t55, label %ixok7, label %ixbad8 ixbad8: store i32 1464, ptr @lp_site %t56 = call ptr @lp_win_stdio(i32 2) store i32 0, ptr @lp_site call i32 (ptr, ptr, ...) @fprintf(ptr %t56, ptr @.fmt_bounds, ptr @.str2053, i32 %t50, i32 %t54) call void @exit(i32 1) unreachable ixok7: %t57 = getelementptr inbounds ptr, ptr %t52, i32 %t50 %t58 = load ptr, ptr %t57 %t59 = call ptr @fn_mg_list(ptr %t58) store ptr %t59, ptr %t60 store i32 0, ptr %t61 br label %wcond9 wcond9: %t62 = load i32, ptr %t61 %t63 = load ptr, ptr %t60 %t64 = getelementptr inbounds %LSlice, ptr %t63, i32 0, i32 1 %t65 = load i32, ptr %t64 %t66 = icmp slt i32 %t62, %t65 %t67 = zext i1 %t66 to i32 %t68 = icmp ne i32 %t67, 0 br i1 %t68, label %wbody10, label %wend11 wbody10: %t69 = load ptr, ptr %t60 %t70 = load i32, ptr %t61 %t71 = getelementptr inbounds %LSlice, ptr %t69, i32 0, i32 0 %t72 = load ptr, ptr %t71 %t73 = getelementptr inbounds %LSlice, ptr %t69, i32 0, i32 1 %t74 = load i32, ptr %t73 %t75 = icmp ult i32 %t70, %t74 br i1 %t75, label %ixok12, label %ixbad13 ixbad13: store i32 1465, ptr @lp_site %t76 = call ptr @lp_win_stdio(i32 2) store i32 0, ptr @lp_site call i32 (ptr, ptr, ...) @fprintf(ptr %t76, ptr @.fmt_bounds, ptr @.str2055, i32 %t70, i32 %t74) call void @exit(i32 1) unreachable ixok12: %t77 = getelementptr inbounds i32, ptr %t72, i32 %t70 %t78 = load i32, ptr %t77 %t79 = call ptr @fn_itoa(i32 %t78) store i32 1466, ptr @lp_site %t80 = call ptr @lp_str_concat(ptr @.str2054, ptr %t79) store i32 0, ptr @lp_site store i32 1467, ptr @lp_site %t81 = call ptr @lp_str_concat(ptr %t80, ptr @.str2056) store i32 0, ptr @lp_site call void @lp_free(ptr %t80) store ptr %t81, ptr %t82 %t83 = load ptr, ptr @g_g_mcm_need %t84 = load i32, ptr %t1 %t85 = getelementptr inbounds %LSlice, ptr %t83, i32 0, i32 0 %t86 = load ptr, ptr %t85 %t87 = getelementptr inbounds %LSlice, ptr %t83, i32 0, i32 1 %t88 = load i32, ptr %t87 %t89 = icmp ult i32 %t84, %t88 br i1 %t89, label %ixok14, label %ixbad15 ixbad15: store i32 1468, ptr @lp_site %t90 = call ptr @lp_win_stdio(i32 2) store i32 0, ptr @lp_site call i32 (ptr, ptr, ...) @fprintf(ptr %t90, ptr @.fmt_bounds, ptr @.str2057, i32 %t84, i32 %t88) call void @exit(i32 1) unreachable ixok14: %t91 = getelementptr inbounds ptr, ptr %t86, i32 %t84 %t92 = load ptr, ptr %t91 %t93 = load ptr, ptr %t82 %t94 = call i32 @fn_has_sub(ptr %t92, ptr %t93) %t95 = icmp eq i32 %t94, 0 %t96 = zext i1 %t95 to i32 %t97 = icmp ne i32 %t96, 0 br i1 %t97, label %then16, label %ifend18 then16: %t98 = load ptr, ptr @g_g_mcm_need %t99 = load i32, ptr %t1 %t100 = getelementptr inbounds %LSlice, ptr %t98, i32 0, i32 0 %t101 = load ptr, ptr %t100 %t102 = getelementptr inbounds %LSlice, ptr %t98, i32 0, i32 1 %t103 = load i32, ptr %t102 %t104 = icmp ult i32 %t99, %t103 br i1 %t104, label %ixok19, label %ixbad20 ixbad20: store i32 1469, ptr @lp_site %t105 = call ptr @lp_win_stdio(i32 2) store i32 0, ptr @lp_site call i32 (ptr, ptr, ...) @fprintf(ptr %t105, ptr @.fmt_bounds, ptr @.str2058, i32 %t99, i32 %t103) call void @exit(i32 1) unreachable ixok19: %t106 = getelementptr inbounds ptr, ptr %t101, i32 %t99 %t107 = load ptr, ptr @g_g_mcm_need %t108 = load i32, ptr %t1 %t109 = getelementptr inbounds %LSlice, ptr %t107, i32 0, i32 0 %t110 = load ptr, ptr %t109 %t111 = getelementptr inbounds %LSlice, ptr %t107, i32 0, i32 1 %t112 = load i32, ptr %t111 %t113 = icmp ult i32 %t108, %t112 br i1 %t113, label %ixok21, label %ixbad22 ixbad22: store i32 1470, ptr @lp_site %t114 = call ptr @lp_win_stdio(i32 2) store i32 0, ptr @lp_site call i32 (ptr, ptr, ...) @fprintf(ptr %t114, ptr @.fmt_bounds, ptr @.str2059, i32 %t108, i32 %t112) call void @exit(i32 1) unreachable ixok21: %t115 = getelementptr inbounds ptr, ptr %t110, i32 %t108 %t116 = load ptr, ptr %t115 %t117 = load ptr, ptr %t60 %t118 = load i32, ptr %t61 %t119 = getelementptr inbounds %LSlice, ptr %t117, i32 0, i32 0 %t120 = load ptr, ptr %t119 %t121 = getelementptr inbounds %LSlice, ptr %t117, i32 0, i32 1 %t122 = load i32, ptr %t121 %t123 = icmp ult i32 %t118, %t122 br i1 %t123, label %ixok23, label %ixbad24 ixbad24: store i32 1471, ptr @lp_site %t124 = call ptr @lp_win_stdio(i32 2) store i32 0, ptr @lp_site call i32 (ptr, ptr, ...) @fprintf(ptr %t124, ptr @.fmt_bounds, ptr @.str2060, i32 %t118, i32 %t122) call void @exit(i32 1) unreachable ixok23: %t125 = getelementptr inbounds i32, ptr %t120, i32 %t118 %t126 = load i32, ptr %t125 %t127 = call ptr @fn_itoa(i32 %t126) store i32 1472, ptr @lp_site %t128 = call ptr @lp_str_concat(ptr %t116, ptr %t127) store i32 0, ptr @lp_site store i32 1473, ptr @lp_site %t129 = call ptr @lp_str_concat(ptr %t128, ptr @.str2061) store i32 0, ptr @lp_site call void @lp_free(ptr %t128) store ptr %t129, ptr %t106 br label %ifend18 ifend18: %t131 = load ptr, ptr @g_g_mu_mut %t132 = load i32, ptr %t0 %t133 = getelementptr inbounds %LSlice, ptr %t131, i32 0, i32 0 %t134 = load ptr, ptr %t133 %t135 = getelementptr inbounds %LSlice, ptr %t131, i32 0, i32 1 %t136 = load i32, ptr %t135 %t137 = icmp ult i32 %t132, %t136 br i1 %t137, label %ixok25, label %ixbad26 ixbad26: store i32 1474, ptr @lp_site %t138 = call ptr @lp_win_stdio(i32 2) store i32 0, ptr @lp_site call i32 (ptr, ptr, ...) @fprintf(ptr %t138, ptr @.fmt_bounds, ptr @.str2062, i32 %t132, i32 %t136) call void @exit(i32 1) unreachable ixok25: %t139 = getelementptr inbounds ptr, ptr %t134, i32 %t132 %t140 = load ptr, ptr %t139 %t141 = load ptr, ptr %t82 %t142 = call i32 @fn_has_sub(ptr %t140, ptr %t141) %t143 = icmp ne i32 %t142, 0 %t144 = zext i1 %t143 to i32 store i32 %t144, ptr %t130 br i1 %t143, label %sc27, label %scend28 sc27: %t145 = load ptr, ptr @g_g_mcm_mut %t146 = load i32, ptr %t1 %t147 = getelementptr inbounds %LSlice, ptr %t145, i32 0, i32 0 %t148 = load ptr, ptr %t147 %t149 = getelementptr inbounds %LSlice, ptr %t145, i32 0, i32 1 %t150 = load i32, ptr %t149 %t151 = icmp ult i32 %t146, %t150 br i1 %t151, label %ixok29, label %ixbad30 ixbad30: store i32 1475, ptr @lp_site %t152 = call ptr @lp_win_stdio(i32 2) store i32 0, ptr @lp_site call i32 (ptr, ptr, ...) @fprintf(ptr %t152, ptr @.fmt_bounds, ptr @.str2063, i32 %t146, i32 %t150) call void @exit(i32 1) unreachable ixok29: %t153 = getelementptr inbounds ptr, ptr %t148, i32 %t146 %t154 = load ptr, ptr %t153 %t155 = load ptr, ptr %t82 %t156 = call i32 @fn_has_sub(ptr %t154, ptr %t155) %t157 = icmp eq i32 %t156, 0 %t158 = zext i1 %t157 to i32 %t159 = icmp ne i32 %t158, 0 %t160 = zext i1 %t159 to i32 store i32 %t160, ptr %t130 br label %scend28 scend28: %t161 = load i32, ptr %t130 %t162 = icmp ne i32 %t161, 0 br i1 %t162, label %then31, label %ifend33 then31: %t163 = load ptr, ptr @g_g_mcm_mut %t164 = load i32, ptr %t1 %t165 = getelementptr inbounds %LSlice, ptr %t163, i32 0, i32 0 %t166 = load ptr, ptr %t165 %t167 = getelementptr inbounds %LSlice, ptr %t163, i32 0, i32 1 %t168 = load i32, ptr %t167 %t169 = icmp ult i32 %t164, %t168 br i1 %t169, label %ixok34, label %ixbad35 ixbad35: store i32 1476, ptr @lp_site %t170 = call ptr @lp_win_stdio(i32 2) store i32 0, ptr @lp_site call i32 (ptr, ptr, ...) @fprintf(ptr %t170, ptr @.fmt_bounds, ptr @.str2064, i32 %t164, i32 %t168) call void @exit(i32 1) unreachable ixok34: %t171 = getelementptr inbounds ptr, ptr %t166, i32 %t164 %t172 = load ptr, ptr @g_g_mcm_mut %t173 = load i32, ptr %t1 %t174 = getelementptr inbounds %LSlice, ptr %t172, i32 0, i32 0 %t175 = load ptr, ptr %t174 %t176 = getelementptr inbounds %LSlice, ptr %t172, i32 0, i32 1 %t177 = load i32, ptr %t176 %t178 = icmp ult i32 %t173, %t177 br i1 %t178, label %ixok36, label %ixbad37 ixbad37: store i32 1477, ptr @lp_site %t179 = call ptr @lp_win_stdio(i32 2) store i32 0, ptr @lp_site call i32 (ptr, ptr, ...) @fprintf(ptr %t179, ptr @.fmt_bounds, ptr @.str2065, i32 %t173, i32 %t177) call void @exit(i32 1) unreachable ixok36: %t180 = getelementptr inbounds ptr, ptr %t175, i32 %t173 %t181 = load ptr, ptr %t180 %t182 = load ptr, ptr %t60 %t183 = load i32, ptr %t61 %t184 = getelementptr inbounds %LSlice, ptr %t182, i32 0, i32 0 %t185 = load ptr, ptr %t184 %t186 = getelementptr inbounds %LSlice, ptr %t182, i32 0, i32 1 %t187 = load i32, ptr %t186 %t188 = icmp ult i32 %t183, %t187 br i1 %t188, label %ixok38, label %ixbad39 ixbad39: store i32 1478, ptr @lp_site %t189 = call ptr @lp_win_stdio(i32 2) store i32 0, ptr @lp_site call i32 (ptr, ptr, ...) @fprintf(ptr %t189, ptr @.fmt_bounds, ptr @.str2066, i32 %t183, i32 %t187) call void @exit(i32 1) unreachable ixok38: %t190 = getelementptr inbounds i32, ptr %t185, i32 %t183 %t191 = load i32, ptr %t190 %t192 = call ptr @fn_itoa(i32 %t191) store i32 1479, ptr @lp_site %t193 = call ptr @lp_str_concat(ptr %t181, ptr %t192) store i32 0, ptr @lp_site store i32 1480, ptr @lp_site %t194 = call ptr @lp_str_concat(ptr %t193, ptr @.str2067) store i32 0, ptr @lp_site call void @lp_free(ptr %t193) store ptr %t194, ptr %t171 br label %ifend33 ifend33: %t195 = load i32, ptr %t61 %t196 = add i32 %t195, 1 store i32 %t196, ptr %t61 br label %wcond9 wend11: br label %ret ret: ret void } define void @fn_mg_comps() { entry: %t47 = alloca i32 %t57 = alloca i32 %t93 = alloca ptr %t94 = alloca i32 %t156 = alloca ptr %t167 = alloca ptr %t168 = alloca ptr %t169 = alloca i32 %t187 = alloca i32 %t203 = alloca i32 %t204 = alloca ptr %t205 = alloca i32 %t311 = alloca i32 %t312 = alloca i32 %t412 = alloca ptr br label %wcond0 wcond0: %t0 = load ptr, ptr @g_g_mcm_need %t1 = getelementptr inbounds %LSlice, ptr %t0, i32 0, i32 1 %t2 = load i32, ptr %t1 %t3 = load ptr, ptr @g_g_cm_name %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_mcm_need %t10 = getelementptr inbounds %LSlice, ptr %t9, i32 0, i32 1 %t11 = getelementptr inbounds %LSlice, ptr %t9, i32 0, i32 2 %t12 = getelementptr inbounds %LSlice, ptr %t9, i32 0, i32 0 %t13 = load i32, ptr %t10 %t14 = load i32, ptr %t11 %t15 = icmp sge i32 %t13, %t14 br i1 %t15, label %grow3, label %put4 grow3: %t16 = mul i32 %t14, 2 %t17 = icmp eq i32 %t14, 0 %t18 = select i1 %t17, i32 8, i32 %t16 %t19 = getelementptr ptr, ptr null, i32 1 %t20 = ptrtoint ptr %t19 to i64 %t21 = zext i32 %t18 to i64 %t22 = mul i64 %t21, %t20 %t23 = load ptr, ptr %t12 store i32 1481, ptr @lp_site %t24 = call ptr @lp_realloc(ptr %t23, i64 %t22) store i32 0, ptr @lp_site store ptr %t24, ptr %t12 store i32 %t18, ptr %t11 br label %put4 put4: %t25 = load ptr, ptr %t12 %t26 = getelementptr inbounds ptr, ptr %t25, i32 %t13 store ptr @.str2068, ptr %t26 %t27 = add i32 %t13, 1 store i32 %t27, ptr %t10 %t28 = load ptr, ptr @g_g_mcm_mut %t29 = getelementptr inbounds %LSlice, ptr %t28, i32 0, i32 1 %t30 = getelementptr inbounds %LSlice, ptr %t28, i32 0, i32 2 %t31 = getelementptr inbounds %LSlice, ptr %t28, i32 0, i32 0 %t32 = load i32, ptr %t29 %t33 = load i32, ptr %t30 %t34 = icmp sge i32 %t32, %t33 br i1 %t34, label %grow5, label %put6 grow5: %t35 = mul i32 %t33, 2 %t36 = icmp eq i32 %t33, 0 %t37 = select i1 %t36, i32 8, i32 %t35 %t38 = getelementptr ptr, ptr null, i32 1 %t39 = ptrtoint ptr %t38 to i64 %t40 = zext i32 %t37 to i64 %t41 = mul i64 %t40, %t39 %t42 = load ptr, ptr %t31 store i32 1482, ptr @lp_site %t43 = call ptr @lp_realloc(ptr %t42, i64 %t41) store i32 0, ptr @lp_site store ptr %t43, ptr %t31 store i32 %t37, ptr %t30 br label %put6 put6: %t44 = load ptr, ptr %t31 %t45 = getelementptr inbounds ptr, ptr %t44, i32 %t32 store ptr @.str2070, ptr %t45 %t46 = add i32 %t32, 1 store i32 %t46, ptr %t29 br label %wcond0 wend2: store i32 0, ptr %t47 br label %wcond7 wcond7: %t48 = load i32, ptr %t47 %t49 = load ptr, ptr @g_g_mcm_need %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 %wbody8, label %wend9 wbody8: %t55 = load i32, ptr @g_g_mg_prune %t56 = icmp ne i32 %t55, 0 br i1 %t56, label %then10, label %ifend12 then10: store i32 0, ptr %t57 br label %wcond13 wcond13: %t58 = load i32, ptr %t57 %t59 = load ptr, ptr @g_g_cm_ps %t60 = load i32, ptr %t47 %t61 = getelementptr inbounds %LSlice, ptr %t59, i32 0, i32 0 %t62 = load ptr, ptr %t61 %t63 = getelementptr inbounds %LSlice, ptr %t59, i32 0, i32 1 %t64 = load i32, ptr %t63 %t65 = icmp ult i32 %t60, %t64 br i1 %t65, label %ixok16, label %ixbad17 ixbad17: store i32 1483, ptr @lp_site %t66 = call ptr @lp_win_stdio(i32 2) store i32 0, ptr @lp_site call i32 (ptr, ptr, ...) @fprintf(ptr %t66, ptr @.fmt_bounds, ptr @.str2071, i32 %t60, i32 %t64) call void @exit(i32 1) unreachable ixok16: %t67 = getelementptr inbounds ptr, ptr %t62, i32 %t60 %t68 = load ptr, ptr %t67 %t69 = getelementptr inbounds %LSlice, ptr %t68, i32 0, i32 1 %t70 = load i32, ptr %t69 %t71 = icmp slt i32 %t58, %t70 %t72 = zext i1 %t71 to i32 %t73 = icmp ne i32 %t72, 0 br i1 %t73, label %wbody14, label %wend15 wbody14: %t74 = load ptr, ptr @g_g_cm_ps %t75 = load i32, ptr %t47 %t76 = getelementptr inbounds %LSlice, ptr %t74, i32 0, i32 0 %t77 = load ptr, ptr %t76 %t78 = getelementptr inbounds %LSlice, ptr %t74, i32 0, i32 1 %t79 = load i32, ptr %t78 %t80 = icmp ult i32 %t75, %t79 br i1 %t80, label %ixok18, label %ixbad19 ixbad19: store i32 1484, ptr @lp_site %t81 = call ptr @lp_win_stdio(i32 2) store i32 0, ptr @lp_site call i32 (ptr, ptr, ...) @fprintf(ptr %t81, ptr @.fmt_bounds, ptr @.str2072, i32 %t75, i32 %t79) call void @exit(i32 1) unreachable ixok18: %t82 = getelementptr inbounds ptr, ptr %t77, i32 %t75 %t83 = load ptr, ptr %t82 %t84 = load i32, ptr %t57 %t85 = getelementptr inbounds %LSlice, ptr %t83, i32 0, i32 0 %t86 = load ptr, ptr %t85 %t87 = getelementptr inbounds %LSlice, ptr %t83, i32 0, i32 1 %t88 = load i32, ptr %t87 %t89 = icmp ult i32 %t84, %t88 br i1 %t89, label %ixok20, label %ixbad21 ixbad21: store i32 1485, ptr @lp_site %t90 = call ptr @lp_win_stdio(i32 2) store i32 0, ptr @lp_site call i32 (ptr, ptr, ...) @fprintf(ptr %t90, ptr @.fmt_bounds, ptr @.str2073, i32 %t84, i32 %t88) call void @exit(i32 1) unreachable ixok20: %t91 = getelementptr inbounds ptr, ptr %t86, i32 %t84 %t92 = load ptr, ptr %t91 store ptr %t92, ptr %t93 %t95 = load ptr, ptr %t93 %t96 = getelementptr inbounds %Cmp_Node, ptr %t95, i32 0, i32 13 %t97 = load i32, ptr %t96 %t98 = icmp sge i32 %t97, 0 %t99 = zext i1 %t98 to i32 %t100 = icmp ne i32 %t99, 0 %t101 = zext i1 %t100 to i32 store i32 %t101, ptr %t94 br i1 %t100, label %sc22, label %scend23 sc22: %t102 = load ptr, ptr @g_g_mcm_need %t103 = load i32, ptr %t47 %t104 = getelementptr inbounds %LSlice, ptr %t102, i32 0, i32 0 %t105 = load ptr, ptr %t104 %t106 = getelementptr inbounds %LSlice, ptr %t102, i32 0, i32 1 %t107 = load i32, ptr %t106 %t108 = icmp ult i32 %t103, %t107 br i1 %t108, label %ixok24, label %ixbad25 ixbad25: store i32 1486, ptr @lp_site %t109 = call ptr @lp_win_stdio(i32 2) store i32 0, ptr @lp_site call i32 (ptr, ptr, ...) @fprintf(ptr %t109, ptr @.fmt_bounds, ptr @.str2074, i32 %t103, i32 %t107) call void @exit(i32 1) unreachable ixok24: %t110 = getelementptr inbounds ptr, ptr %t105, i32 %t103 %t111 = load ptr, ptr %t110 %t112 = load ptr, ptr %t93 %t113 = getelementptr inbounds %Cmp_Node, ptr %t112, i32 0, i32 3 %t114 = load ptr, ptr %t113 %t115 = call i32 @fn_mg_state_named(ptr %t114) %t116 = call ptr @fn_itoa(i32 %t115) store i32 1487, ptr @lp_site %t117 = call ptr @lp_str_concat(ptr @.str2075, ptr %t116) store i32 0, ptr @lp_site store i32 1488, ptr @lp_site %t118 = call ptr @lp_str_concat(ptr %t117, ptr @.str2076) store i32 0, ptr @lp_site call void @lp_free(ptr %t117) %t119 = call i32 @fn_has_sub(ptr %t111, ptr %t118) %t120 = icmp eq i32 %t119, 0 %t121 = zext i1 %t120 to i32 %t122 = icmp ne i32 %t121, 0 %t123 = zext i1 %t122 to i32 store i32 %t123, ptr %t94 br label %scend23 scend23: %t124 = load i32, ptr %t94 %t125 = icmp ne i32 %t124, 0 br i1 %t125, label %then26, label %ifend28 then26: %t126 = load ptr, ptr @g_g_cm_file %t127 = load i32, ptr %t47 %t128 = getelementptr inbounds %LSlice, ptr %t126, i32 0, i32 0 %t129 = load ptr, ptr %t128 %t130 = getelementptr inbounds %LSlice, ptr %t126, i32 0, i32 1 %t131 = load i32, ptr %t130 %t132 = icmp ult i32 %t127, %t131 br i1 %t132, label %ixok29, label %ixbad30 ixbad30: store i32 1489, ptr @lp_site %t133 = call ptr @lp_win_stdio(i32 2) store i32 0, ptr @lp_site call i32 (ptr, ptr, ...) @fprintf(ptr %t133, ptr @.fmt_bounds, ptr @.str2078, i32 %t127, i32 %t131) call void @exit(i32 1) unreachable ixok29: %t134 = getelementptr inbounds ptr, ptr %t129, i32 %t127 %t135 = load ptr, ptr %t134 store i32 1490, ptr @lp_site %t136 = call ptr @lp_str_concat(ptr @.str2077, ptr %t135) store i32 0, ptr @lp_site store i32 1491, ptr @lp_site %t137 = call ptr @lp_str_concat(ptr %t136, ptr @.str2079) store i32 0, ptr @lp_site call void @lp_free(ptr %t136) %t138 = load ptr, ptr %t93 %t139 = getelementptr inbounds %Cmp_Node, ptr %t138, i32 0, i32 13 %t140 = load i32, ptr %t139 %t141 = call ptr @fn_itoa(i32 %t140) store i32 1492, ptr @lp_site %t142 = call ptr @lp_str_concat(ptr %t137, ptr %t141) store i32 0, ptr @lp_site call void @lp_free(ptr %t137) call void @fn_mg_emit(ptr %t142, ptr @.str2080) br label %ifend28 ifend28: %t143 = load i32, ptr %t57 %t144 = add i32 %t143, 1 store i32 %t144, ptr %t57 br label %wcond13 wend15: br label %ifend12 ifend12: %t145 = load ptr, ptr @g_g_mcm_need %t146 = load i32, ptr %t47 %t147 = getelementptr inbounds %LSlice, ptr %t145, i32 0, i32 0 %t148 = load ptr, ptr %t147 %t149 = getelementptr inbounds %LSlice, ptr %t145, i32 0, i32 1 %t150 = load i32, ptr %t149 %t151 = icmp ult i32 %t146, %t150 br i1 %t151, label %ixok31, label %ixbad32 ixbad32: store i32 1493, ptr @lp_site %t152 = call ptr @lp_win_stdio(i32 2) store i32 0, ptr @lp_site call i32 (ptr, ptr, ...) @fprintf(ptr %t152, ptr @.fmt_bounds, ptr @.str2081, i32 %t146, i32 %t150) call void @exit(i32 1) unreachable ixok31: %t153 = getelementptr inbounds ptr, ptr %t148, i32 %t146 %t154 = load ptr, ptr %t153 %t155 = call ptr @fn_mg_list(ptr %t154) store ptr %t155, ptr %t156 %t157 = load ptr, ptr @g_g_cm_ps %t158 = load i32, ptr %t47 %t159 = getelementptr inbounds %LSlice, ptr %t157, i32 0, i32 0 %t160 = load ptr, ptr %t159 %t161 = getelementptr inbounds %LSlice, ptr %t157, i32 0, i32 1 %t162 = load i32, ptr %t161 %t163 = icmp ult i32 %t158, %t162 br i1 %t163, label %ixok33, label %ixbad34 ixbad34: store i32 1494, ptr @lp_site %t164 = call ptr @lp_win_stdio(i32 2) store i32 0, ptr @lp_site call i32 (ptr, ptr, ...) @fprintf(ptr %t164, ptr @.fmt_bounds, ptr @.str2082, i32 %t158, i32 %t162) call void @exit(i32 1) unreachable ixok33: %t165 = getelementptr inbounds ptr, ptr %t160, i32 %t158 %t166 = load ptr, ptr %t165 store ptr %t166, ptr %t167 store ptr @.str2083, ptr %t168 store i32 0, ptr %t169 br label %wcond35 wcond35: %t170 = load i32, ptr %t169 %t171 = load ptr, ptr %t156 %t172 = getelementptr inbounds %LSlice, ptr %t171, i32 0, i32 1 %t173 = load i32, ptr %t172 %t174 = icmp slt i32 %t170, %t173 %t175 = zext i1 %t174 to i32 %t176 = icmp ne i32 %t175, 0 br i1 %t176, label %wbody36, label %wend37 wbody36: %t177 = load ptr, ptr %t156 %t178 = load i32, ptr %t169 %t179 = getelementptr inbounds %LSlice, ptr %t177, i32 0, i32 0 %t180 = load ptr, ptr %t179 %t181 = getelementptr inbounds %LSlice, ptr %t177, i32 0, i32 1 %t182 = load i32, ptr %t181 %t183 = icmp ult i32 %t178, %t182 br i1 %t183, label %ixok38, label %ixbad39 ixbad39: store i32 1495, ptr @lp_site %t184 = call ptr @lp_win_stdio(i32 2) store i32 0, ptr @lp_site call i32 (ptr, ptr, ...) @fprintf(ptr %t184, ptr @.fmt_bounds, ptr @.str2084, i32 %t178, i32 %t182) call void @exit(i32 1) unreachable ixok38: %t185 = getelementptr inbounds i32, ptr %t180, i32 %t178 %t186 = load i32, ptr %t185 store i32 %t186, ptr %t187 %t188 = load ptr, ptr @g_g_mcm_mut %t189 = load i32, ptr %t47 %t190 = getelementptr inbounds %LSlice, ptr %t188, i32 0, i32 0 %t191 = load ptr, ptr %t190 %t192 = getelementptr inbounds %LSlice, ptr %t188, i32 0, i32 1 %t193 = load i32, ptr %t192 %t194 = icmp ult i32 %t189, %t193 br i1 %t194, label %ixok40, label %ixbad41 ixbad41: store i32 1496, ptr @lp_site %t195 = call ptr @lp_win_stdio(i32 2) store i32 0, ptr @lp_site call i32 (ptr, ptr, ...) @fprintf(ptr %t195, ptr @.fmt_bounds, ptr @.str2085, i32 %t189, i32 %t193) call void @exit(i32 1) unreachable ixok40: %t196 = getelementptr inbounds ptr, ptr %t191, i32 %t189 %t197 = load ptr, ptr %t196 %t198 = load i32, ptr %t187 %t199 = call ptr @fn_itoa(i32 %t198) store i32 1497, ptr @lp_site %t200 = call ptr @lp_str_concat(ptr @.str2086, ptr %t199) store i32 0, ptr @lp_site store i32 1498, ptr @lp_site %t201 = call ptr @lp_str_concat(ptr %t200, ptr @.str2087) store i32 0, ptr @lp_site call void @lp_free(ptr %t200) %t202 = call i32 @fn_has_sub(ptr %t197, ptr %t201) store i32 %t202, ptr %t203 store ptr null, ptr %t204 store i32 0, ptr %t205 br label %wcond42 wcond42: %t206 = load i32, ptr %t205 %t207 = load ptr, ptr %t167 %t208 = getelementptr inbounds %LSlice, ptr %t207, i32 0, i32 1 %t209 = load i32, ptr %t208 %t210 = icmp slt i32 %t206, %t209 %t211 = zext i1 %t210 to i32 %t212 = icmp ne i32 %t211, 0 br i1 %t212, label %wbody43, label %wend44 wbody43: %t213 = load ptr, ptr %t167 %t214 = load i32, ptr %t205 %t215 = getelementptr inbounds %LSlice, ptr %t213, i32 0, i32 0 %t216 = load ptr, ptr %t215 %t217 = getelementptr inbounds %LSlice, ptr %t213, i32 0, i32 1 %t218 = load i32, ptr %t217 %t219 = icmp ult i32 %t214, %t218 br i1 %t219, label %ixok45, label %ixbad46 ixbad46: store i32 1499, ptr @lp_site %t220 = call ptr @lp_win_stdio(i32 2) store i32 0, ptr @lp_site call i32 (ptr, ptr, ...) @fprintf(ptr %t220, ptr @.fmt_bounds, ptr @.str2088, i32 %t214, i32 %t218) call void @exit(i32 1) unreachable ixok45: %t221 = getelementptr inbounds ptr, ptr %t216, i32 %t214 %t222 = load ptr, ptr %t221 %t223 = getelementptr inbounds %Cmp_Node, ptr %t222, i32 0, i32 3 %t224 = load ptr, ptr %t223 %t225 = load ptr, ptr @g_g_ms_name %t226 = load i32, ptr %t187 %t227 = getelementptr inbounds %LSlice, ptr %t225, i32 0, i32 0 %t228 = load ptr, ptr %t227 %t229 = getelementptr inbounds %LSlice, ptr %t225, i32 0, i32 1 %t230 = load i32, ptr %t229 %t231 = icmp ult i32 %t226, %t230 br i1 %t231, label %ixok47, label %ixbad48 ixbad48: store i32 1500, ptr @lp_site %t232 = call ptr @lp_win_stdio(i32 2) store i32 0, ptr @lp_site call i32 (ptr, ptr, ...) @fprintf(ptr %t232, ptr @.fmt_bounds, ptr @.str2089, i32 %t226, i32 %t230) call void @exit(i32 1) unreachable ixok47: %t233 = getelementptr inbounds ptr, ptr %t228, i32 %t226 %t234 = load ptr, ptr %t233 %t235 = call i32 @lp_str_eq(ptr %t224, ptr %t234) %t236 = icmp ne i32 %t235, 0 br i1 %t236, label %then49, label %ifend51 then49: %t237 = load ptr, ptr %t167 %t238 = load i32, ptr %t205 %t239 = getelementptr inbounds %LSlice, ptr %t237, i32 0, i32 0 %t240 = load ptr, ptr %t239 %t241 = getelementptr inbounds %LSlice, ptr %t237, i32 0, i32 1 %t242 = load i32, ptr %t241 %t243 = icmp ult i32 %t238, %t242 br i1 %t243, label %ixok52, label %ixbad53 ixbad53: store i32 1501, ptr @lp_site %t244 = call ptr @lp_win_stdio(i32 2) store i32 0, ptr @lp_site call i32 (ptr, ptr, ...) @fprintf(ptr %t244, ptr @.fmt_bounds, ptr @.str2090, i32 %t238, i32 %t242) call void @exit(i32 1) unreachable ixok52: %t245 = getelementptr inbounds ptr, ptr %t240, i32 %t238 %t246 = load ptr, ptr %t245 store ptr %t246, ptr %t204 br label %ifend51 ifend51: %t247 = load i32, ptr %t205 %t248 = add i32 %t247, 1 store i32 %t248, ptr %t205 br label %wcond42 wend44: %t249 = load ptr, ptr %t204 %t250 = icmp eq ptr %t249, null %t251 = zext i1 %t250 to i32 %t252 = icmp ne i32 %t251, 0 br i1 %t252, label %then54, label %else55 then54: %t253 = load ptr, ptr %t168 %t254 = call i64 @strlen(ptr %t253) %t255 = trunc i64 %t254 to i32 %t256 = icmp sgt i32 %t255, 0 %t257 = zext i1 %t256 to i32 %t258 = icmp ne i32 %t257, 0 br i1 %t258, label %then57, label %ifend59 then57: %t259 = load ptr, ptr %t168 store i32 1502, ptr @lp_site %t260 = call ptr @lp_str_concat(ptr %t259, ptr @.str2091) store i32 0, ptr @lp_site store ptr %t260, ptr %t168 br label %ifend59 ifend59: %t261 = load i32, ptr %t203 %t262 = icmp ne i32 %t261, 0 br i1 %t262, label %then60, label %else61 then60: %t263 = load ptr, ptr %t168 %t264 = load ptr, ptr @g_g_ms_param %t265 = load i32, ptr %t187 %t266 = getelementptr inbounds %LSlice, ptr %t264, i32 0, i32 0 %t267 = load ptr, ptr %t266 %t268 = getelementptr inbounds %LSlice, ptr %t264, i32 0, i32 1 %t269 = load i32, ptr %t268 %t270 = icmp ult i32 %t265, %t269 br i1 %t270, label %ixok63, label %ixbad64 ixbad64: store i32 1503, ptr @lp_site %t271 = call ptr @lp_win_stdio(i32 2) store i32 0, ptr @lp_site call i32 (ptr, ptr, ...) @fprintf(ptr %t271, ptr @.fmt_bounds, ptr @.str2092, i32 %t265, i32 %t269) call void @exit(i32 1) unreachable ixok63: %t272 = getelementptr inbounds ptr, ptr %t267, i32 %t265 %t273 = load ptr, ptr %t272 store i32 1504, ptr @lp_site %t274 = call ptr @lp_str_concat(ptr %t273, ptr @.str2093) store i32 0, ptr @lp_site %t275 = load ptr, ptr @g_g_ms_name %t276 = load i32, ptr %t187 %t277 = getelementptr inbounds %LSlice, ptr %t275, i32 0, i32 0 %t278 = load ptr, ptr %t277 %t279 = getelementptr inbounds %LSlice, ptr %t275, i32 0, i32 1 %t280 = load i32, ptr %t279 %t281 = icmp ult i32 %t276, %t280 br i1 %t281, label %ixok65, label %ixbad66 ixbad66: store i32 1505, ptr @lp_site %t282 = call ptr @lp_win_stdio(i32 2) store i32 0, ptr @lp_site call i32 (ptr, ptr, ...) @fprintf(ptr %t282, ptr @.fmt_bounds, ptr @.str2094, i32 %t276, i32 %t280) call void @exit(i32 1) unreachable ixok65: %t283 = getelementptr inbounds ptr, ptr %t278, i32 %t276 %t284 = load ptr, ptr %t283 store i32 1506, ptr @lp_site %t285 = call ptr @lp_str_concat(ptr %t274, ptr %t284) store i32 0, ptr @lp_site call void @lp_free(ptr %t274) store i32 1507, ptr @lp_site %t286 = call ptr @lp_str_concat(ptr %t263, ptr %t285) store i32 0, ptr @lp_site call void @lp_free(ptr %t285) store ptr %t286, ptr %t168 br label %ifend62 else61: %t287 = load ptr, ptr %t168 %t288 = load ptr, ptr @g_g_ms_param %t289 = load i32, ptr %t187 %t290 = getelementptr inbounds %LSlice, ptr %t288, i32 0, i32 0 %t291 = load ptr, ptr %t290 %t292 = getelementptr inbounds %LSlice, ptr %t288, i32 0, i32 1 %t293 = load i32, ptr %t292 %t294 = icmp ult i32 %t289, %t293 br i1 %t294, label %ixok67, label %ixbad68 ixbad68: store i32 1508, ptr @lp_site %t295 = call ptr @lp_win_stdio(i32 2) store i32 0, ptr @lp_site call i32 (ptr, ptr, ...) @fprintf(ptr %t295, ptr @.fmt_bounds, ptr @.str2095, i32 %t289, i32 %t293) call void @exit(i32 1) unreachable ixok67: %t296 = getelementptr inbounds ptr, ptr %t291, i32 %t289 %t297 = load ptr, ptr %t296 store i32 1509, ptr @lp_site %t298 = call ptr @lp_str_concat(ptr %t297, ptr @.str2096) store i32 0, ptr @lp_site %t299 = load ptr, ptr @g_g_ms_name %t300 = load i32, ptr %t187 %t301 = getelementptr inbounds %LSlice, ptr %t299, i32 0, i32 0 %t302 = load ptr, ptr %t301 %t303 = getelementptr inbounds %LSlice, ptr %t299, i32 0, i32 1 %t304 = load i32, ptr %t303 %t305 = icmp ult i32 %t300, %t304 br i1 %t305, label %ixok69, label %ixbad70 ixbad70: store i32 1510, ptr @lp_site %t306 = call ptr @lp_win_stdio(i32 2) store i32 0, ptr @lp_site call i32 (ptr, ptr, ...) @fprintf(ptr %t306, ptr @.fmt_bounds, ptr @.str2097, i32 %t300, i32 %t304) call void @exit(i32 1) unreachable ixok69: %t307 = getelementptr inbounds ptr, ptr %t302, i32 %t300 %t308 = load ptr, ptr %t307 store i32 1511, ptr @lp_site %t309 = call ptr @lp_str_concat(ptr %t298, ptr %t308) store i32 0, ptr @lp_site call void @lp_free(ptr %t298) store i32 1512, ptr @lp_site %t310 = call ptr @lp_str_concat(ptr %t287, ptr %t309) store i32 0, ptr @lp_site call void @lp_free(ptr %t309) store ptr %t310, ptr %t168 br label %ifend62 ifend62: br label %ifend56 else55: %t313 = load i32, ptr %t203 %t314 = icmp ne i32 %t313, 0 %t315 = zext i1 %t314 to i32 store i32 %t315, ptr %t312 br i1 %t314, label %sc71, label %scend72 sc71: %t316 = load ptr, ptr %t204 %t317 = getelementptr inbounds %Cmp_Node, ptr %t316, i32 0, i32 12 %t318 = load i32, ptr %t317 %t319 = icmp eq i32 %t318, 0 %t320 = zext i1 %t319 to i32 %t321 = icmp ne i32 %t320, 0 %t322 = zext i1 %t321 to i32 store i32 %t322, ptr %t312 br label %scend72 scend72: %t323 = load i32, ptr %t312 %t324 = icmp ne i32 %t323, 0 %t325 = zext i1 %t324 to i32 store i32 %t325, ptr %t311 br i1 %t324, label %sc73, label %scend74 sc73: %t326 = load ptr, ptr %t204 %t327 = getelementptr inbounds %Cmp_Node, ptr %t326, i32 0, i32 14 %t328 = load i32, ptr %t327 %t329 = icmp sge i32 %t328, 0 %t330 = zext i1 %t329 to i32 %t331 = icmp ne i32 %t330, 0 %t332 = zext i1 %t331 to i32 store i32 %t332, ptr %t311 br label %scend74 scend74: %t333 = load i32, ptr %t311 %t334 = icmp ne i32 %t333, 0 br i1 %t334, label %then75, label %ifend77 then75: %t335 = load ptr, ptr @g_g_cm_file %t336 = load i32, ptr %t47 %t337 = getelementptr inbounds %LSlice, ptr %t335, i32 0, i32 0 %t338 = load ptr, ptr %t337 %t339 = getelementptr inbounds %LSlice, ptr %t335, i32 0, i32 1 %t340 = load i32, ptr %t339 %t341 = icmp ult i32 %t336, %t340 br i1 %t341, label %ixok78, label %ixbad79 ixbad79: store i32 1513, ptr @lp_site %t342 = call ptr @lp_win_stdio(i32 2) store i32 0, ptr @lp_site call i32 (ptr, ptr, ...) @fprintf(ptr %t342, ptr @.fmt_bounds, ptr @.str2099, i32 %t336, i32 %t340) call void @exit(i32 1) unreachable ixok78: %t343 = getelementptr inbounds ptr, ptr %t338, i32 %t336 %t344 = load ptr, ptr %t343 store i32 1514, ptr @lp_site %t345 = call ptr @lp_str_concat(ptr @.str2098, ptr %t344) store i32 0, ptr @lp_site store i32 1515, ptr @lp_site %t346 = call ptr @lp_str_concat(ptr %t345, ptr @.str2100) store i32 0, ptr @lp_site call void @lp_free(ptr %t345) %t347 = load ptr, ptr %t204 %t348 = getelementptr inbounds %Cmp_Node, ptr %t347, i32 0, i32 14 %t349 = load i32, ptr %t348 %t350 = call ptr @fn_itoa(i32 %t349) store i32 1516, ptr @lp_site %t351 = call ptr @lp_str_concat(ptr %t346, ptr %t350) store i32 0, ptr @lp_site call void @lp_free(ptr %t346) store i32 1517, ptr @lp_site %t352 = call ptr @lp_str_concat(ptr %t351, ptr @.str2101) store i32 0, ptr @lp_site call void @lp_free(ptr %t351) %t353 = call ptr @fn_mg_esc(ptr @.str2102) store i32 1518, ptr @lp_site %t354 = call ptr @lp_str_concat(ptr %t352, ptr %t353) store i32 0, ptr @lp_site call void @lp_free(ptr %t352) call void @fn_mg_emit(ptr %t354, ptr @.str2103) br label %ifend77 ifend77: br label %ifend56 ifend56: %t355 = load i32, ptr %t169 %t356 = add i32 %t355, 1 store i32 %t356, ptr %t169 br label %wcond35 wend37: %t357 = load ptr, ptr %t168 %t358 = call i64 @strlen(ptr %t357) %t359 = trunc i64 %t358 to i32 %t360 = icmp sgt i32 %t359, 0 %t361 = zext i1 %t360 to i32 %t362 = icmp ne i32 %t361, 0 br i1 %t362, label %then80, label %ifend82 then80: %t363 = load ptr, ptr %t167 %t364 = getelementptr inbounds %LSlice, ptr %t363, i32 0, i32 1 %t365 = load i32, ptr %t364 %t366 = icmp eq i32 %t365, 0 %t367 = zext i1 %t366 to i32 %t368 = icmp ne i32 %t367, 0 br i1 %t368, label %then83, label %else84 then83: %t369 = load ptr, ptr @g_g_cm_file %t370 = load i32, ptr %t47 %t371 = getelementptr inbounds %LSlice, ptr %t369, i32 0, i32 0 %t372 = load ptr, ptr %t371 %t373 = getelementptr inbounds %LSlice, ptr %t369, i32 0, i32 1 %t374 = load i32, ptr %t373 %t375 = icmp ult i32 %t370, %t374 br i1 %t375, label %ixok86, label %ixbad87 ixbad87: store i32 1519, ptr @lp_site %t376 = call ptr @lp_win_stdio(i32 2) store i32 0, ptr @lp_site call i32 (ptr, ptr, ...) @fprintf(ptr %t376, ptr @.fmt_bounds, ptr @.str2105, i32 %t370, i32 %t374) call void @exit(i32 1) unreachable ixok86: %t377 = getelementptr inbounds ptr, ptr %t372, i32 %t370 %t378 = load ptr, ptr %t377 store i32 1520, ptr @lp_site %t379 = call ptr @lp_str_concat(ptr @.str2104, ptr %t378) store i32 0, ptr @lp_site store i32 1521, ptr @lp_site %t380 = call ptr @lp_str_concat(ptr %t379, ptr @.str2106) store i32 0, ptr @lp_site call void @lp_free(ptr %t379) %t381 = load ptr, ptr @g_g_cm_hdr %t382 = load i32, ptr %t47 %t383 = getelementptr inbounds %LSlice, ptr %t381, i32 0, i32 0 %t384 = load ptr, ptr %t383 %t385 = getelementptr inbounds %LSlice, ptr %t381, i32 0, i32 1 %t386 = load i32, ptr %t385 %t387 = icmp ult i32 %t382, %t386 br i1 %t387, label %ixok88, label %ixbad89 ixbad89: store i32 1522, ptr @lp_site %t388 = call ptr @lp_win_stdio(i32 2) store i32 0, ptr @lp_site call i32 (ptr, ptr, ...) @fprintf(ptr %t388, ptr @.fmt_bounds, ptr @.str2107, i32 %t382, i32 %t386) call void @exit(i32 1) unreachable ixok88: %t389 = getelementptr inbounds i32, ptr %t384, i32 %t382 %t390 = load i32, ptr %t389 %t391 = call ptr @fn_itoa(i32 %t390) store i32 1523, ptr @lp_site %t392 = call ptr @lp_str_concat(ptr %t380, ptr %t391) store i32 0, ptr @lp_site call void @lp_free(ptr %t380) store i32 1524, ptr @lp_site %t393 = call ptr @lp_str_concat(ptr %t392, ptr @.str2108) store i32 0, ptr @lp_site call void @lp_free(ptr %t392) %t394 = load ptr, ptr %t168 store i32 1525, ptr @lp_site %t395 = call ptr @lp_str_concat(ptr @.str2109, ptr %t394) store i32 0, ptr @lp_site store i32 1526, ptr @lp_site %t396 = call ptr @lp_str_concat(ptr %t395, ptr @.str2110) store i32 0, ptr @lp_site call void @lp_free(ptr %t395) %t397 = call ptr @fn_mg_esc(ptr %t396) store i32 1527, ptr @lp_site %t398 = call ptr @lp_str_concat(ptr %t393, ptr %t397) store i32 0, ptr @lp_site call void @lp_free(ptr %t393) call void @fn_mg_emit(ptr %t398, ptr @.str2111) br label %ifend85 else84: %t399 = load ptr, ptr %t167 %t400 = load ptr, ptr %t167 %t401 = getelementptr inbounds %LSlice, ptr %t400, i32 0, i32 1 %t402 = load i32, ptr %t401 %t403 = sub i32 %t402, 1 %t404 = getelementptr inbounds %LSlice, ptr %t399, i32 0, i32 0 %t405 = load ptr, ptr %t404 %t406 = getelementptr inbounds %LSlice, ptr %t399, i32 0, i32 1 %t407 = load i32, ptr %t406 %t408 = icmp ult i32 %t403, %t407 br i1 %t408, label %ixok90, label %ixbad91 ixbad91: store i32 1528, ptr @lp_site %t409 = call ptr @lp_win_stdio(i32 2) store i32 0, ptr @lp_site call i32 (ptr, ptr, ...) @fprintf(ptr %t409, ptr @.fmt_bounds, ptr @.str2112, i32 %t403, i32 %t407) call void @exit(i32 1) unreachable ixok90: %t410 = getelementptr inbounds ptr, ptr %t405, i32 %t403 %t411 = load ptr, ptr %t410 store ptr %t411, ptr %t412 %t413 = load ptr, ptr @g_g_cm_file %t414 = load i32, ptr %t47 %t415 = getelementptr inbounds %LSlice, ptr %t413, i32 0, i32 0 %t416 = load ptr, ptr %t415 %t417 = getelementptr inbounds %LSlice, ptr %t413, i32 0, i32 1 %t418 = load i32, ptr %t417 %t419 = icmp ult i32 %t414, %t418 br i1 %t419, label %ixok92, label %ixbad93 ixbad93: store i32 1529, ptr @lp_site %t420 = call ptr @lp_win_stdio(i32 2) store i32 0, ptr @lp_site call i32 (ptr, ptr, ...) @fprintf(ptr %t420, ptr @.fmt_bounds, ptr @.str2114, i32 %t414, i32 %t418) call void @exit(i32 1) unreachable ixok92: %t421 = getelementptr inbounds ptr, ptr %t416, i32 %t414 %t422 = load ptr, ptr %t421 store i32 1530, ptr @lp_site %t423 = call ptr @lp_str_concat(ptr @.str2113, ptr %t422) store i32 0, ptr @lp_site store i32 1531, ptr @lp_site %t424 = call ptr @lp_str_concat(ptr %t423, ptr @.str2115) store i32 0, ptr @lp_site call void @lp_free(ptr %t423) %t425 = load ptr, ptr %t412 %t426 = getelementptr inbounds %Cmp_Node, ptr %t425, i32 0, i32 14 %t427 = load i32, ptr %t426 %t428 = call ptr @fn_itoa(i32 %t427) store i32 1532, ptr @lp_site %t429 = call ptr @lp_str_concat(ptr %t424, ptr %t428) store i32 0, ptr @lp_site call void @lp_free(ptr %t424) store i32 1533, ptr @lp_site %t430 = call ptr @lp_str_concat(ptr %t429, ptr @.str2116) store i32 0, ptr @lp_site call void @lp_free(ptr %t429) %t431 = load ptr, ptr %t168 store i32 1534, ptr @lp_site %t432 = call ptr @lp_str_concat(ptr @.str2117, ptr %t431) store i32 0, ptr @lp_site %t433 = call ptr @fn_mg_esc(ptr %t432) store i32 1535, ptr @lp_site %t434 = call ptr @lp_str_concat(ptr %t430, ptr %t433) store i32 0, ptr @lp_site call void @lp_free(ptr %t430) call void @fn_mg_emit(ptr %t434, ptr @.str2118) br label %ifend85 ifend85: br label %ifend82 ifend82: %t435 = load i32, ptr %t47 %t436 = add i32 %t435, 1 store i32 %t436, ptr %t47 br label %wcond7 wend9: br label %ret ret: ret void } define void @fn_mg_views() { entry: %t0 = alloca i32 %t19 = alloca ptr %t36 = alloca ptr %t63 = alloca ptr %t64 = alloca i32 store i32 0, ptr %t0 br label %wcond0 wcond0: %t1 = load i32, ptr %t0 %t2 = load ptr, ptr @g_g_mv_need %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_mv_need %t9 = load i32, ptr %t0 %t10 = getelementptr inbounds %LSlice, ptr %t8, i32 0, i32 0 %t11 = load ptr, ptr %t10 %t12 = getelementptr inbounds %LSlice, ptr %t8, i32 0, i32 1 %t13 = load i32, ptr %t12 %t14 = icmp ult i32 %t9, %t13 br i1 %t14, label %ixok3, label %ixbad4 ixbad4: store i32 1536, ptr @lp_site %t15 = call ptr @lp_win_stdio(i32 2) store i32 0, ptr @lp_site call i32 (ptr, ptr, ...) @fprintf(ptr %t15, ptr @.fmt_bounds, ptr @.str2119, i32 %t9, i32 %t13) call void @exit(i32 1) unreachable ixok3: %t16 = getelementptr inbounds ptr, ptr %t11, i32 %t9 %t17 = load ptr, ptr %t16 %t18 = call ptr @fn_mg_list(ptr %t17) store ptr %t18, ptr %t19 %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 %then5, label %ifend7 then5: %t26 = load ptr, ptr @g_g_vw_node %t27 = load i32, ptr %t0 %t28 = getelementptr inbounds %LSlice, ptr %t26, i32 0, i32 0 %t29 = load ptr, ptr %t28 %t30 = getelementptr inbounds %LSlice, ptr %t26, i32 0, i32 1 %t31 = load i32, ptr %t30 %t32 = icmp ult i32 %t27, %t31 br i1 %t32, label %ixok8, label %ixbad9 ixbad9: store i32 1537, ptr @lp_site %t33 = call ptr @lp_win_stdio(i32 2) store i32 0, ptr @lp_site call i32 (ptr, ptr, ...) @fprintf(ptr %t33, ptr @.fmt_bounds, ptr @.str2121, i32 %t27, i32 %t31) call void @exit(i32 1) unreachable ixok8: %t34 = getelementptr inbounds ptr, ptr %t29, i32 %t27 %t35 = load ptr, ptr %t34 store ptr %t35, ptr %t36 %t37 = load ptr, ptr @g_g_vw_nps %t38 = load i32, ptr %t0 %t39 = getelementptr inbounds %LSlice, ptr %t37, i32 0, i32 0 %t40 = load ptr, ptr %t39 %t41 = getelementptr inbounds %LSlice, ptr %t37, i32 0, i32 1 %t42 = load i32, ptr %t41 %t43 = icmp ult i32 %t38, %t42 br i1 %t43, label %ixok10, label %ixbad11 ixbad11: store i32 1538, ptr @lp_site %t44 = call ptr @lp_win_stdio(i32 2) store i32 0, ptr @lp_site call i32 (ptr, ptr, ...) @fprintf(ptr %t44, ptr @.fmt_bounds, ptr @.str2122, i32 %t38, i32 %t42) call void @exit(i32 1) unreachable ixok10: %t45 = getelementptr inbounds i32, ptr %t40, i32 %t38 %t46 = load i32, ptr %t45 %t47 = icmp sgt i32 %t46, 0 %t48 = zext i1 %t47 to i32 %t49 = icmp ne i32 %t48, 0 br i1 %t49, label %then12, label %else13 then12: %t50 = load ptr, ptr %t36 %t51 = load ptr, ptr @g_g_vw_name %t52 = load i32, ptr %t0 %t53 = getelementptr inbounds %LSlice, ptr %t51, i32 0, i32 0 %t54 = load ptr, ptr %t53 %t55 = getelementptr inbounds %LSlice, ptr %t51, i32 0, i32 1 %t56 = load i32, ptr %t55 %t57 = icmp ult i32 %t52, %t56 br i1 %t57, label %ixok15, label %ixbad16 ixbad16: store i32 1539, ptr @lp_site %t58 = call ptr @lp_win_stdio(i32 2) store i32 0, ptr @lp_site call i32 (ptr, ptr, ...) @fprintf(ptr %t58, ptr @.fmt_bounds, ptr @.str2124, i32 %t52, i32 %t56) call void @exit(i32 1) unreachable ixok15: %t59 = getelementptr inbounds ptr, ptr %t54, i32 %t52 %t60 = load ptr, ptr %t59 store i32 1540, ptr @lp_site %t61 = call ptr @lp_str_concat(ptr @.str2123, ptr %t60) store i32 0, ptr @lp_site store i32 1541, ptr @lp_site %t62 = call ptr @lp_str_concat(ptr %t61, ptr @.str2125) store i32 0, ptr @lp_site call void @lp_free(ptr %t61) call void @fn_mg_say(ptr %t50, ptr %t62) br label %ifend14 else13: store ptr @.str2126, ptr %t63 store i32 0, ptr %t64 br label %wcond17 wcond17: %t65 = load i32, ptr %t64 %t66 = load ptr, ptr %t19 %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 %wbody18, label %wend19 wbody18: %t72 = load ptr, ptr %t63 %t73 = call i64 @strlen(ptr %t72) %t74 = trunc i64 %t73 to i32 %t75 = icmp sgt i32 %t74, 0 %t76 = zext i1 %t75 to i32 %t77 = icmp ne i32 %t76, 0 br i1 %t77, label %then20, label %ifend22 then20: %t78 = load ptr, ptr %t63 store i32 1542, ptr @lp_site %t79 = call ptr @lp_str_concat(ptr %t78, ptr @.str2127) store i32 0, ptr @lp_site store ptr %t79, ptr %t63 br label %ifend22 ifend22: %t80 = load ptr, ptr @g_g_mv_mut %t81 = load i32, ptr %t0 %t82 = getelementptr inbounds %LSlice, ptr %t80, i32 0, i32 0 %t83 = load ptr, ptr %t82 %t84 = getelementptr inbounds %LSlice, ptr %t80, i32 0, i32 1 %t85 = load i32, ptr %t84 %t86 = icmp ult i32 %t81, %t85 br i1 %t86, label %ixok23, label %ixbad24 ixbad24: store i32 1543, ptr @lp_site %t87 = call ptr @lp_win_stdio(i32 2) store i32 0, ptr @lp_site call i32 (ptr, ptr, ...) @fprintf(ptr %t87, ptr @.fmt_bounds, ptr @.str2128, i32 %t81, i32 %t85) call void @exit(i32 1) unreachable ixok23: %t88 = getelementptr inbounds ptr, ptr %t83, i32 %t81 %t89 = load ptr, ptr %t88 %t90 = load ptr, ptr %t19 %t91 = load i32, ptr %t64 %t92 = getelementptr inbounds %LSlice, ptr %t90, i32 0, i32 0 %t93 = load ptr, ptr %t92 %t94 = getelementptr inbounds %LSlice, ptr %t90, i32 0, i32 1 %t95 = load i32, ptr %t94 %t96 = icmp ult i32 %t91, %t95 br i1 %t96, label %ixok25, label %ixbad26 ixbad26: store i32 1544, ptr @lp_site %t97 = call ptr @lp_win_stdio(i32 2) store i32 0, ptr @lp_site call i32 (ptr, ptr, ...) @fprintf(ptr %t97, ptr @.fmt_bounds, ptr @.str2130, i32 %t91, i32 %t95) call void @exit(i32 1) unreachable ixok25: %t98 = getelementptr inbounds i32, ptr %t93, i32 %t91 %t99 = load i32, ptr %t98 %t100 = call ptr @fn_itoa(i32 %t99) store i32 1545, ptr @lp_site %t101 = call ptr @lp_str_concat(ptr @.str2129, ptr %t100) store i32 0, ptr @lp_site store i32 1546, ptr @lp_site %t102 = call ptr @lp_str_concat(ptr %t101, ptr @.str2131) store i32 0, ptr @lp_site call void @lp_free(ptr %t101) %t103 = call i32 @fn_has_sub(ptr %t89, ptr %t102) %t104 = icmp ne i32 %t103, 0 br i1 %t104, label %then27, label %else28 then27: %t105 = load ptr, ptr %t63 %t106 = load ptr, ptr @g_g_ms_param %t107 = load ptr, ptr %t19 %t108 = load i32, ptr %t64 %t109 = getelementptr inbounds %LSlice, ptr %t107, i32 0, i32 0 %t110 = load ptr, ptr %t109 %t111 = getelementptr inbounds %LSlice, ptr %t107, i32 0, i32 1 %t112 = load i32, ptr %t111 %t113 = icmp ult i32 %t108, %t112 br i1 %t113, label %ixok30, label %ixbad31 ixbad31: store i32 1547, ptr @lp_site %t114 = call ptr @lp_win_stdio(i32 2) store i32 0, ptr @lp_site call i32 (ptr, ptr, ...) @fprintf(ptr %t114, ptr @.fmt_bounds, ptr @.str2132, i32 %t108, i32 %t112) call void @exit(i32 1) unreachable ixok30: %t115 = getelementptr inbounds i32, ptr %t110, i32 %t108 %t116 = load i32, ptr %t115 %t117 = getelementptr inbounds %LSlice, ptr %t106, i32 0, i32 0 %t118 = load ptr, ptr %t117 %t119 = getelementptr inbounds %LSlice, ptr %t106, i32 0, i32 1 %t120 = load i32, ptr %t119 %t121 = icmp ult i32 %t116, %t120 br i1 %t121, label %ixok32, label %ixbad33 ixbad33: store i32 1548, ptr @lp_site %t122 = call ptr @lp_win_stdio(i32 2) store i32 0, ptr @lp_site call i32 (ptr, ptr, ...) @fprintf(ptr %t122, ptr @.fmt_bounds, ptr @.str2133, i32 %t116, i32 %t120) call void @exit(i32 1) unreachable ixok32: %t123 = getelementptr inbounds ptr, ptr %t118, i32 %t116 %t124 = load ptr, ptr %t123 store i32 1549, ptr @lp_site %t125 = call ptr @lp_str_concat(ptr %t124, ptr @.str2134) store i32 0, ptr @lp_site %t126 = load ptr, ptr @g_g_ms_name %t127 = load ptr, ptr %t19 %t128 = load i32, ptr %t64 %t129 = getelementptr inbounds %LSlice, ptr %t127, i32 0, i32 0 %t130 = load ptr, ptr %t129 %t131 = getelementptr inbounds %LSlice, ptr %t127, i32 0, i32 1 %t132 = load i32, ptr %t131 %t133 = icmp ult i32 %t128, %t132 br i1 %t133, label %ixok34, label %ixbad35 ixbad35: store i32 1550, ptr @lp_site %t134 = call ptr @lp_win_stdio(i32 2) store i32 0, ptr @lp_site call i32 (ptr, ptr, ...) @fprintf(ptr %t134, ptr @.fmt_bounds, ptr @.str2135, i32 %t128, i32 %t132) call void @exit(i32 1) unreachable ixok34: %t135 = getelementptr inbounds i32, ptr %t130, i32 %t128 %t136 = load i32, ptr %t135 %t137 = getelementptr inbounds %LSlice, ptr %t126, i32 0, i32 0 %t138 = load ptr, ptr %t137 %t139 = getelementptr inbounds %LSlice, ptr %t126, i32 0, i32 1 %t140 = load i32, ptr %t139 %t141 = icmp ult i32 %t136, %t140 br i1 %t141, label %ixok36, label %ixbad37 ixbad37: store i32 1551, ptr @lp_site %t142 = call ptr @lp_win_stdio(i32 2) store i32 0, ptr @lp_site call i32 (ptr, ptr, ...) @fprintf(ptr %t142, ptr @.fmt_bounds, ptr @.str2136, i32 %t136, i32 %t140) call void @exit(i32 1) unreachable ixok36: %t143 = getelementptr inbounds ptr, ptr %t138, i32 %t136 %t144 = load ptr, ptr %t143 store i32 1552, ptr @lp_site %t145 = call ptr @lp_str_concat(ptr %t125, ptr %t144) store i32 0, ptr @lp_site call void @lp_free(ptr %t125) store i32 1553, ptr @lp_site %t146 = call ptr @lp_str_concat(ptr %t105, ptr %t145) store i32 0, ptr @lp_site call void @lp_free(ptr %t145) store ptr %t146, ptr %t63 br label %ifend29 else28: %t147 = load ptr, ptr %t63 %t148 = load ptr, ptr @g_g_ms_param %t149 = load ptr, ptr %t19 %t150 = load i32, ptr %t64 %t151 = getelementptr inbounds %LSlice, ptr %t149, i32 0, i32 0 %t152 = load ptr, ptr %t151 %t153 = getelementptr inbounds %LSlice, ptr %t149, i32 0, i32 1 %t154 = load i32, ptr %t153 %t155 = icmp ult i32 %t150, %t154 br i1 %t155, label %ixok38, label %ixbad39 ixbad39: store i32 1554, ptr @lp_site %t156 = call ptr @lp_win_stdio(i32 2) store i32 0, ptr @lp_site call i32 (ptr, ptr, ...) @fprintf(ptr %t156, ptr @.fmt_bounds, ptr @.str2137, i32 %t150, i32 %t154) call void @exit(i32 1) unreachable ixok38: %t157 = getelementptr inbounds i32, ptr %t152, i32 %t150 %t158 = load i32, ptr %t157 %t159 = getelementptr inbounds %LSlice, ptr %t148, i32 0, i32 0 %t160 = load ptr, ptr %t159 %t161 = getelementptr inbounds %LSlice, ptr %t148, i32 0, i32 1 %t162 = load i32, ptr %t161 %t163 = icmp ult i32 %t158, %t162 br i1 %t163, label %ixok40, label %ixbad41 ixbad41: store i32 1555, ptr @lp_site %t164 = call ptr @lp_win_stdio(i32 2) store i32 0, ptr @lp_site call i32 (ptr, ptr, ...) @fprintf(ptr %t164, ptr @.fmt_bounds, ptr @.str2138, i32 %t158, i32 %t162) call void @exit(i32 1) unreachable ixok40: %t165 = getelementptr inbounds ptr, ptr %t160, i32 %t158 %t166 = load ptr, ptr %t165 store i32 1556, ptr @lp_site %t167 = call ptr @lp_str_concat(ptr %t166, ptr @.str2139) store i32 0, ptr @lp_site %t168 = load ptr, ptr @g_g_ms_name %t169 = load ptr, ptr %t19 %t170 = load i32, ptr %t64 %t171 = getelementptr inbounds %LSlice, ptr %t169, i32 0, i32 0 %t172 = load ptr, ptr %t171 %t173 = getelementptr inbounds %LSlice, ptr %t169, i32 0, i32 1 %t174 = load i32, ptr %t173 %t175 = icmp ult i32 %t170, %t174 br i1 %t175, label %ixok42, label %ixbad43 ixbad43: store i32 1557, ptr @lp_site %t176 = call ptr @lp_win_stdio(i32 2) store i32 0, ptr @lp_site call i32 (ptr, ptr, ...) @fprintf(ptr %t176, ptr @.fmt_bounds, ptr @.str2140, i32 %t170, i32 %t174) call void @exit(i32 1) unreachable ixok42: %t177 = getelementptr inbounds i32, ptr %t172, i32 %t170 %t178 = load i32, ptr %t177 %t179 = getelementptr inbounds %LSlice, ptr %t168, i32 0, i32 0 %t180 = load ptr, ptr %t179 %t181 = getelementptr inbounds %LSlice, ptr %t168, i32 0, i32 1 %t182 = load i32, ptr %t181 %t183 = icmp ult i32 %t178, %t182 br i1 %t183, label %ixok44, label %ixbad45 ixbad45: store i32 1558, ptr @lp_site %t184 = call ptr @lp_win_stdio(i32 2) store i32 0, ptr @lp_site call i32 (ptr, ptr, ...) @fprintf(ptr %t184, ptr @.fmt_bounds, ptr @.str2141, i32 %t178, i32 %t182) call void @exit(i32 1) unreachable ixok44: %t185 = getelementptr inbounds ptr, ptr %t180, i32 %t178 %t186 = load ptr, ptr %t185 store i32 1559, ptr @lp_site %t187 = call ptr @lp_str_concat(ptr %t167, ptr %t186) store i32 0, ptr @lp_site call void @lp_free(ptr %t167) store i32 1560, ptr @lp_site %t188 = call ptr @lp_str_concat(ptr %t147, ptr %t187) store i32 0, ptr @lp_site call void @lp_free(ptr %t187) store ptr %t188, ptr %t63 br label %ifend29 ifend29: %t189 = load i32, ptr %t64 %t190 = add i32 %t189, 1 store i32 %t190, ptr %t64 br label %wcond17 wend19: %t191 = load ptr, ptr %t36 %t192 = getelementptr inbounds %Cmp_Node, ptr %t191, i32 0, i32 9 %t193 = load ptr, ptr %t192 store i32 1561, ptr @lp_site %t194 = call ptr @lp_str_concat(ptr @.str2142, ptr %t193) store i32 0, ptr @lp_site store i32 1562, ptr @lp_site %t195 = call ptr @lp_str_concat(ptr %t194, ptr @.str2143) store i32 0, ptr @lp_site call void @lp_free(ptr %t194) %t196 = load ptr, ptr @g_g_vw_hdr %t197 = load i32, ptr %t0 %t198 = getelementptr inbounds %LSlice, ptr %t196, i32 0, i32 0 %t199 = load ptr, ptr %t198 %t200 = getelementptr inbounds %LSlice, ptr %t196, i32 0, i32 1 %t201 = load i32, ptr %t200 %t202 = icmp ult i32 %t197, %t201 br i1 %t202, label %ixok46, label %ixbad47 ixbad47: store i32 1563, ptr @lp_site %t203 = call ptr @lp_win_stdio(i32 2) store i32 0, ptr @lp_site call i32 (ptr, ptr, ...) @fprintf(ptr %t203, ptr @.fmt_bounds, ptr @.str2144, i32 %t197, i32 %t201) call void @exit(i32 1) unreachable ixok46: %t204 = getelementptr inbounds i32, ptr %t199, i32 %t197 %t205 = load i32, ptr %t204 %t206 = call ptr @fn_itoa(i32 %t205) store i32 1564, ptr @lp_site %t207 = call ptr @lp_str_concat(ptr %t195, ptr %t206) store i32 0, ptr @lp_site call void @lp_free(ptr %t195) store i32 1565, ptr @lp_site %t208 = call ptr @lp_str_concat(ptr %t207, ptr @.str2145) store i32 0, ptr @lp_site call void @lp_free(ptr %t207) %t209 = load ptr, ptr %t63 store i32 1566, ptr @lp_site %t210 = call ptr @lp_str_concat(ptr @.str2146, ptr %t209) store i32 0, ptr @lp_site store i32 1567, ptr @lp_site %t211 = call ptr @lp_str_concat(ptr %t210, ptr @.str2147) store i32 0, ptr @lp_site call void @lp_free(ptr %t210) %t212 = call ptr @fn_mg_esc(ptr %t211) store i32 1568, ptr @lp_site %t213 = call ptr @lp_str_concat(ptr %t208, ptr %t212) store i32 0, ptr @lp_site call void @lp_free(ptr %t208) call void @fn_mg_emit(ptr %t213, ptr @.str2148) br label %ifend14 ifend14: br label %ifend7 ifend7: %t214 = load i32, ptr %t0 %t215 = add i32 %t214, 1 store i32 %t215, ptr %t0 br label %wcond0 wend2: br label %ret ret: ret void } define void @fn_mg_calls() { entry: %t0 = alloca i32 %t18 = alloca ptr %t29 = alloca i32 %t40 = alloca ptr %t52 = alloca ptr %t53 = alloca i32 %t70 = alloca ptr %t83 = alloca i32 %t84 = alloca i32 %t92 = alloca i32 %t107 = alloca i32 %t163 = alloca i32 %t196 = alloca ptr store i32 0, ptr %t0 br label %wcond0 wcond0: %t1 = load i32, ptr %t0 %t2 = load ptr, ptr @g_g_mc_call %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_mc_call %t9 = load i32, ptr %t0 %t10 = getelementptr inbounds %LSlice, ptr %t8, i32 0, i32 0 %t11 = load ptr, ptr %t10 %t12 = getelementptr inbounds %LSlice, ptr %t8, i32 0, i32 1 %t13 = load i32, ptr %t12 %t14 = icmp ult i32 %t9, %t13 br i1 %t14, label %ixok3, label %ixbad4 ixbad4: store i32 1569, ptr @lp_site %t15 = call ptr @lp_win_stdio(i32 2) store i32 0, ptr @lp_site call i32 (ptr, ptr, ...) @fprintf(ptr %t15, ptr @.fmt_bounds, ptr @.str2149, i32 %t9, i32 %t13) call void @exit(i32 1) unreachable ixok3: %t16 = getelementptr inbounds ptr, ptr %t11, i32 %t9 %t17 = load ptr, ptr %t16 store ptr %t17, ptr %t18 %t19 = load ptr, ptr @g_g_mc_callee %t20 = load i32, ptr %t0 %t21 = getelementptr inbounds %LSlice, ptr %t19, i32 0, i32 0 %t22 = load ptr, ptr %t21 %t23 = getelementptr inbounds %LSlice, ptr %t19, i32 0, i32 1 %t24 = load i32, ptr %t23 %t25 = icmp ult i32 %t20, %t24 br i1 %t25, label %ixok5, label %ixbad6 ixbad6: store i32 1570, ptr @lp_site %t26 = call ptr @lp_win_stdio(i32 2) store i32 0, ptr @lp_site call i32 (ptr, ptr, ...) @fprintf(ptr %t26, ptr @.fmt_bounds, ptr @.str2151, i32 %t20, i32 %t24) call void @exit(i32 1) unreachable ixok5: %t27 = getelementptr inbounds i32, ptr %t22, i32 %t20 %t28 = load i32, ptr %t27 store i32 %t28, ptr %t29 %t30 = load ptr, ptr @g_g_mu_node %t31 = load i32, ptr %t29 %t32 = getelementptr inbounds %LSlice, ptr %t30, i32 0, i32 0 %t33 = load ptr, ptr %t32 %t34 = getelementptr inbounds %LSlice, ptr %t30, i32 0, i32 1 %t35 = load i32, ptr %t34 %t36 = icmp ult i32 %t31, %t35 br i1 %t36, label %ixok7, label %ixbad8 ixbad8: store i32 1571, ptr @lp_site %t37 = call ptr @lp_win_stdio(i32 2) store i32 0, ptr @lp_site call i32 (ptr, ptr, ...) @fprintf(ptr %t37, ptr @.fmt_bounds, ptr @.str2152, i32 %t31, i32 %t35) call void @exit(i32 1) unreachable ixok7: %t38 = getelementptr inbounds ptr, ptr %t33, i32 %t31 %t39 = load ptr, ptr %t38 store ptr %t39, ptr %t40 %t41 = load ptr, ptr @g_g_mu_need %t42 = load i32, ptr %t29 %t43 = getelementptr inbounds %LSlice, ptr %t41, i32 0, i32 0 %t44 = load ptr, ptr %t43 %t45 = getelementptr inbounds %LSlice, ptr %t41, i32 0, i32 1 %t46 = load i32, ptr %t45 %t47 = icmp ult i32 %t42, %t46 br i1 %t47, label %ixok9, label %ixbad10 ixbad10: store i32 1572, ptr @lp_site %t48 = call ptr @lp_win_stdio(i32 2) store i32 0, ptr @lp_site call i32 (ptr, ptr, ...) @fprintf(ptr %t48, ptr @.fmt_bounds, ptr @.str2153, i32 %t42, i32 %t46) call void @exit(i32 1) unreachable ixok9: %t49 = getelementptr inbounds ptr, ptr %t44, i32 %t42 %t50 = load ptr, ptr %t49 %t51 = call ptr @fn_mg_list(ptr %t50) store ptr %t51, ptr %t52 %t54 = load ptr, ptr %t52 %t55 = getelementptr inbounds %LSlice, ptr %t54, i32 0, i32 1 %t56 = load i32, ptr %t55 %t57 = icmp sgt i32 %t56, 0 %t58 = zext i1 %t57 to i32 %t59 = icmp ne i32 %t58, 0 %t60 = zext i1 %t59 to i32 store i32 %t60, ptr %t53 br i1 %t59, label %sc11, label %scend12 sc11: %t61 = load ptr, ptr %t40 %t62 = getelementptr inbounds %Cmp_Node, ptr %t61, i32 0, i32 17 %t63 = load i32, ptr %t62 %t64 = icmp slt i32 %t63, 0 %t65 = zext i1 %t64 to i32 %t66 = icmp ne i32 %t65, 0 %t67 = zext i1 %t66 to i32 store i32 %t67, ptr %t53 br label %scend12 scend12: %t68 = load i32, ptr %t53 %t69 = icmp ne i32 %t68, 0 br i1 %t69, label %then13, label %ifend15 then13: store ptr @.str2154, ptr %t70 %t71 = load ptr, ptr @g_g_mc_passed %t72 = load i32, ptr %t0 %t73 = getelementptr inbounds %LSlice, ptr %t71, i32 0, i32 0 %t74 = load ptr, ptr %t73 %t75 = getelementptr inbounds %LSlice, ptr %t71, i32 0, i32 1 %t76 = load i32, ptr %t75 %t77 = icmp ult i32 %t72, %t76 br i1 %t77, label %ixok16, label %ixbad17 ixbad17: store i32 1573, ptr @lp_site %t78 = call ptr @lp_win_stdio(i32 2) store i32 0, ptr @lp_site call i32 (ptr, ptr, ...) @fprintf(ptr %t78, ptr @.fmt_bounds, ptr @.str2155, i32 %t72, i32 %t76) call void @exit(i32 1) unreachable ixok16: %t79 = getelementptr inbounds i32, ptr %t74, i32 %t72 %t80 = load i32, ptr %t79 %t81 = icmp eq i32 %t80, 1 %t82 = zext i1 %t81 to i32 store i32 %t82, ptr %t83 store i32 0, ptr %t84 br label %wcond18 wcond18: %t85 = load i32, ptr %t84 %t86 = load ptr, ptr %t52 %t87 = getelementptr inbounds %LSlice, ptr %t86, i32 0, i32 1 %t88 = load i32, ptr %t87 %t89 = icmp slt i32 %t85, %t88 %t90 = zext i1 %t89 to i32 %t91 = icmp ne i32 %t90, 0 br i1 %t91, label %wbody19, label %wend20 wbody19: %t93 = load ptr, ptr %t40 %t94 = load ptr, ptr %t52 %t95 = load i32, ptr %t84 %t96 = getelementptr inbounds %LSlice, ptr %t94, i32 0, i32 0 %t97 = load ptr, ptr %t96 %t98 = getelementptr inbounds %LSlice, ptr %t94, i32 0, i32 1 %t99 = load i32, ptr %t98 %t100 = icmp ult i32 %t95, %t99 br i1 %t100, label %ixok21, label %ixbad22 ixbad22: store i32 1574, ptr @lp_site %t101 = call ptr @lp_win_stdio(i32 2) store i32 0, ptr @lp_site call i32 (ptr, ptr, ...) @fprintf(ptr %t101, ptr @.fmt_bounds, ptr @.str2156, i32 %t95, i32 %t99) call void @exit(i32 1) unreachable ixok21: %t102 = getelementptr inbounds i32, ptr %t97, i32 %t95 %t103 = load i32, ptr %t102 %t104 = call i32 @fn_mg_declared(ptr %t93, i32 %t103) %t105 = icmp ne i32 %t104, 0 %t106 = zext i1 %t105 to i32 store i32 %t106, ptr %t92 br i1 %t105, label %sc23, label %scend24 sc23: %t108 = load i32, ptr %t83 %t109 = icmp ne i32 %t108, 0 %t110 = zext i1 %t109 to i32 store i32 %t110, ptr %t107 br i1 %t109, label %scend26, label %sc25 sc25: %t111 = load ptr, ptr %t40 %t112 = load ptr, ptr %t52 %t113 = load i32, ptr %t84 %t114 = getelementptr inbounds %LSlice, ptr %t112, i32 0, i32 0 %t115 = load ptr, ptr %t114 %t116 = getelementptr inbounds %LSlice, ptr %t112, i32 0, i32 1 %t117 = load i32, ptr %t116 %t118 = icmp ult i32 %t113, %t117 br i1 %t118, label %ixok27, label %ixbad28 ixbad28: store i32 1575, ptr @lp_site %t119 = call ptr @lp_win_stdio(i32 2) store i32 0, ptr @lp_site call i32 (ptr, ptr, ...) @fprintf(ptr %t119, ptr @.fmt_bounds, ptr @.str2157, i32 %t113, i32 %t117) call void @exit(i32 1) unreachable ixok27: %t120 = getelementptr inbounds i32, ptr %t115, i32 %t113 %t121 = load i32, ptr %t120 %t122 = call i32 @fn_mg_declared_late(ptr %t111, i32 %t121) %t123 = icmp ne i32 %t122, 0 %t124 = zext i1 %t123 to i32 store i32 %t124, ptr %t107 br label %scend26 scend26: %t125 = load i32, ptr %t107 %t126 = icmp ne i32 %t125, 0 %t127 = zext i1 %t126 to i32 store i32 %t127, ptr %t92 br label %scend24 scend24: %t128 = load i32, ptr %t92 %t129 = icmp eq i32 %t128, 0 %t130 = zext i1 %t129 to i32 %t131 = icmp ne i32 %t130, 0 br i1 %t131, label %then29, label %ifend31 then29: %t132 = load ptr, ptr %t70 %t133 = call i64 @strlen(ptr %t132) %t134 = trunc i64 %t133 to i32 %t135 = icmp sgt i32 %t134, 0 %t136 = zext i1 %t135 to i32 %t137 = icmp ne i32 %t136, 0 br i1 %t137, label %then32, label %ifend34 then32: %t138 = load ptr, ptr %t70 store i32 1576, ptr @lp_site %t139 = call ptr @lp_str_concat(ptr %t138, ptr @.str2158) store i32 0, ptr @lp_site store ptr %t139, ptr %t70 br label %ifend34 ifend34: %t140 = load ptr, ptr %t70 %t141 = load ptr, ptr @g_g_ms_param %t142 = load ptr, ptr %t52 %t143 = load i32, ptr %t84 %t144 = getelementptr inbounds %LSlice, ptr %t142, i32 0, i32 0 %t145 = load ptr, ptr %t144 %t146 = getelementptr inbounds %LSlice, ptr %t142, i32 0, i32 1 %t147 = load i32, ptr %t146 %t148 = icmp ult i32 %t143, %t147 br i1 %t148, label %ixok35, label %ixbad36 ixbad36: store i32 1577, ptr @lp_site %t149 = call ptr @lp_win_stdio(i32 2) store i32 0, ptr @lp_site call i32 (ptr, ptr, ...) @fprintf(ptr %t149, ptr @.fmt_bounds, ptr @.str2159, i32 %t143, i32 %t147) call void @exit(i32 1) unreachable ixok35: %t150 = getelementptr inbounds i32, ptr %t145, i32 %t143 %t151 = load i32, ptr %t150 %t152 = getelementptr inbounds %LSlice, ptr %t141, i32 0, i32 0 %t153 = load ptr, ptr %t152 %t154 = getelementptr inbounds %LSlice, ptr %t141, i32 0, i32 1 %t155 = load i32, ptr %t154 %t156 = icmp ult i32 %t151, %t155 br i1 %t156, label %ixok37, label %ixbad38 ixbad38: store i32 1578, ptr @lp_site %t157 = call ptr @lp_win_stdio(i32 2) store i32 0, ptr @lp_site call i32 (ptr, ptr, ...) @fprintf(ptr %t157, ptr @.fmt_bounds, ptr @.str2160, i32 %t151, i32 %t155) call void @exit(i32 1) unreachable ixok37: %t158 = getelementptr inbounds ptr, ptr %t153, i32 %t151 %t159 = load ptr, ptr %t158 store i32 1579, ptr @lp_site %t160 = call ptr @lp_str_concat(ptr %t140, ptr %t159) store i32 0, ptr @lp_site store ptr %t160, ptr %t70 br label %ifend31 ifend31: %t161 = load i32, ptr %t84 %t162 = add i32 %t161, 1 store i32 %t162, ptr %t84 br label %wcond18 wend20: %t164 = load ptr, ptr %t70 %t165 = call i64 @strlen(ptr %t164) %t166 = trunc i64 %t165 to i32 %t167 = icmp sgt i32 %t166, 0 %t168 = zext i1 %t167 to i32 %t169 = icmp ne i32 %t168, 0 %t170 = zext i1 %t169 to i32 store i32 %t170, ptr %t163 br i1 %t169, label %sc39, label %scend40 sc39: %t171 = load ptr, ptr %t18 %t172 = getelementptr inbounds %Cmp_Node, ptr %t171, i32 0, i32 13 %t173 = load i32, ptr %t172 %t174 = icmp sge i32 %t173, 0 %t175 = zext i1 %t174 to i32 %t176 = icmp ne i32 %t175, 0 %t177 = zext i1 %t176 to i32 store i32 %t177, ptr %t163 br label %scend40 scend40: %t178 = load i32, ptr %t163 %t179 = icmp ne i32 %t178, 0 br i1 %t179, label %then41, label %ifend43 then41: %t180 = load ptr, ptr %t18 %t181 = getelementptr inbounds %Cmp_Node, ptr %t180, i32 0, i32 9 %t182 = load ptr, ptr %t181 %t183 = icmp eq ptr %t182, null %t184 = zext i1 %t183 to i32 %t185 = icmp ne i32 %t184, 0 br i1 %t185, label %then44, label %else45 then44: %t186 = load ptr, ptr %t18 %t187 = load ptr, ptr %t40 %t188 = getelementptr inbounds %Cmp_Node, ptr %t187, i32 0, i32 1 %t189 = load ptr, ptr %t188 store i32 1580, ptr @lp_site %t190 = call ptr @lp_str_concat(ptr @.str2161, ptr %t189) store i32 0, ptr @lp_site store i32 1581, ptr @lp_site %t191 = call ptr @lp_str_concat(ptr %t190, ptr @.str2162) store i32 0, ptr @lp_site call void @lp_free(ptr %t190) %t192 = load ptr, ptr %t70 store i32 1582, ptr @lp_site %t193 = call ptr @lp_str_concat(ptr %t191, ptr %t192) store i32 0, ptr @lp_site call void @lp_free(ptr %t191) store i32 1583, ptr @lp_site %t194 = call ptr @lp_str_concat(ptr %t193, ptr @.str2163) store i32 0, ptr @lp_site call void @lp_free(ptr %t193) call void @fn_mg_say(ptr %t186, ptr %t194) br label %ifend46 else45: %t195 = load ptr, ptr %t70 store ptr %t195, ptr %t196 %t197 = load ptr, ptr %t18 %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 1 %t201 = load i32, ptr %t200 %t202 = icmp sgt i32 %t201, 0 %t203 = zext i1 %t202 to i32 %t204 = icmp ne i32 %t203, 0 br i1 %t204, label %then47, label %ifend49 then47: %t205 = load ptr, ptr %t196 store i32 1584, ptr @lp_site %t206 = call ptr @lp_str_concat(ptr %t205, ptr @.str2164) store i32 0, ptr @lp_site store ptr %t206, ptr %t196 br label %ifend49 ifend49: %t207 = load ptr, ptr %t18 %t208 = getelementptr inbounds %Cmp_Node, ptr %t207, i32 0, i32 9 %t209 = load ptr, ptr %t208 store i32 1585, ptr @lp_site %t210 = call ptr @lp_str_concat(ptr @.str2165, ptr %t209) store i32 0, ptr @lp_site store i32 1586, ptr @lp_site %t211 = call ptr @lp_str_concat(ptr %t210, ptr @.str2166) store i32 0, ptr @lp_site call void @lp_free(ptr %t210) %t212 = load ptr, ptr %t18 %t213 = getelementptr inbounds %Cmp_Node, ptr %t212, i32 0, i32 13 %t214 = load i32, ptr %t213 %t215 = add i32 %t214, 1 %t216 = call ptr @fn_itoa(i32 %t215) store i32 1587, ptr @lp_site %t217 = call ptr @lp_str_concat(ptr %t211, ptr %t216) store i32 0, ptr @lp_site call void @lp_free(ptr %t211) store i32 1588, ptr @lp_site %t218 = call ptr @lp_str_concat(ptr %t217, ptr @.str2167) store i32 0, ptr @lp_site call void @lp_free(ptr %t217) %t219 = load ptr, ptr %t196 %t220 = call ptr @fn_mg_esc(ptr %t219) store i32 1589, ptr @lp_site %t221 = call ptr @lp_str_concat(ptr %t218, ptr %t220) store i32 0, ptr @lp_site call void @lp_free(ptr %t218) %t222 = load ptr, ptr %t18 %t223 = getelementptr inbounds %Cmp_Node, ptr %t222, i32 0, i32 9 %t224 = load ptr, ptr %t223 store i32 1590, ptr @lp_site %t225 = call ptr @lp_str_concat(ptr %t224, ptr @.str2168) store i32 0, ptr @lp_site %t226 = load ptr, ptr %t18 %t227 = getelementptr inbounds %Cmp_Node, ptr %t226, i32 0, i32 13 %t228 = load i32, ptr %t227 %t229 = call ptr @fn_itoa(i32 %t228) store i32 1591, ptr @lp_site %t230 = call ptr @lp_str_concat(ptr %t225, ptr %t229) store i32 0, ptr @lp_site call void @lp_free(ptr %t225) call void @fn_mg_emit(ptr %t221, ptr %t230) br label %ifend46 ifend46: br label %ifend43 ifend43: br label %ifend15 ifend15: %t231 = load i32, ptr %t0 %t232 = add i32 %t231, 1 store i32 %t232, ptr %t0 br label %wcond0 wend2: br label %ret ret: ret void } define void @fn_mg_refs() { entry: %t0 = alloca i32 %t18 = alloca ptr %t53 = alloca ptr %t54 = alloca i32 %t55 = alloca i32 %t119 = alloca i32 %t124 = alloca ptr %t138 = alloca ptr store i32 0, ptr %t0 br label %wcond0 wcond0: %t1 = load i32, ptr %t0 %t2 = load ptr, ptr @g_g_mr_node %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_mr_node %t9 = load i32, ptr %t0 %t10 = getelementptr inbounds %LSlice, ptr %t8, i32 0, i32 0 %t11 = load ptr, ptr %t10 %t12 = getelementptr inbounds %LSlice, ptr %t8, i32 0, i32 1 %t13 = load i32, ptr %t12 %t14 = icmp ult i32 %t9, %t13 br i1 %t14, label %ixok3, label %ixbad4 ixbad4: store i32 1592, ptr @lp_site %t15 = call ptr @lp_win_stdio(i32 2) store i32 0, ptr @lp_site call i32 (ptr, ptr, ...) @fprintf(ptr %t15, ptr @.fmt_bounds, ptr @.str2169, i32 %t9, i32 %t13) call void @exit(i32 1) unreachable ixok3: %t16 = getelementptr inbounds ptr, ptr %t11, i32 %t9 %t17 = load ptr, ptr %t16 store ptr %t17, ptr %t18 %t19 = load ptr, ptr @g_g_mr_var %t20 = load i32, ptr %t0 %t21 = getelementptr inbounds %LSlice, ptr %t19, i32 0, i32 0 %t22 = load ptr, ptr %t21 %t23 = getelementptr inbounds %LSlice, ptr %t19, i32 0, i32 1 %t24 = load i32, ptr %t23 %t25 = icmp ult i32 %t20, %t24 br i1 %t25, label %ixok5, label %ixbad6 ixbad6: store i32 1593, ptr @lp_site %t26 = call ptr @lp_win_stdio(i32 2) store i32 0, ptr @lp_site call i32 (ptr, ptr, ...) @fprintf(ptr %t26, ptr @.fmt_bounds, ptr @.str2171, i32 %t20, i32 %t24) call void @exit(i32 1) unreachable ixok5: %t27 = getelementptr inbounds i32, ptr %t22, i32 %t20 %t28 = load i32, ptr %t27 %t29 = icmp slt i32 %t28, 0 %t30 = zext i1 %t29 to i32 %t31 = icmp ne i32 %t30, 0 br i1 %t31, label %then7, label %ifend9 then7: %t32 = load i32, ptr %t0 %t33 = add i32 %t32, 1 store i32 %t33, ptr %t0 br label %wcond0 ifend9: %t34 = load ptr, ptr @g_g_mg_vars %t35 = load ptr, ptr @g_g_mr_var %t36 = load i32, ptr %t0 %t37 = getelementptr inbounds %LSlice, ptr %t35, i32 0, i32 0 %t38 = load ptr, ptr %t37 %t39 = getelementptr inbounds %LSlice, ptr %t35, i32 0, i32 1 %t40 = load i32, ptr %t39 %t41 = icmp ult i32 %t36, %t40 br i1 %t41, label %ixok10, label %ixbad11 ixbad11: store i32 1594, ptr @lp_site %t42 = call ptr @lp_win_stdio(i32 2) store i32 0, ptr @lp_site call i32 (ptr, ptr, ...) @fprintf(ptr %t42, ptr @.fmt_bounds, ptr @.str2172, i32 %t36, i32 %t40) call void @exit(i32 1) unreachable ixok10: %t43 = getelementptr inbounds i32, ptr %t38, i32 %t36 %t44 = load i32, ptr %t43 %t45 = getelementptr inbounds %LSlice, ptr %t34, i32 0, i32 0 %t46 = load ptr, ptr %t45 %t47 = getelementptr inbounds %LSlice, ptr %t34, i32 0, i32 1 %t48 = load i32, ptr %t47 %t49 = icmp ult i32 %t44, %t48 br i1 %t49, label %ixok12, label %ixbad13 ixbad13: store i32 1595, ptr @lp_site %t50 = call ptr @lp_win_stdio(i32 2) store i32 0, ptr @lp_site call i32 (ptr, ptr, ...) @fprintf(ptr %t50, ptr @.fmt_bounds, ptr @.str2173, i32 %t44, i32 %t48) call void @exit(i32 1) unreachable ixok12: %t51 = getelementptr inbounds ptr, ptr %t46, i32 %t44 %t52 = load ptr, ptr %t51 store ptr %t52, ptr %t53 %t56 = load ptr, ptr %t18 %t57 = getelementptr inbounds %Cmp_Node, ptr %t56, i32 0, i32 13 %t58 = load i32, ptr %t57 %t59 = icmp sge i32 %t58, 0 %t60 = zext i1 %t59 to i32 %t61 = icmp ne i32 %t60, 0 %t62 = zext i1 %t61 to i32 store i32 %t62, ptr %t55 br i1 %t61, label %sc14, label %scend15 sc14: %t63 = load ptr, ptr %t18 %t64 = getelementptr inbounds %Cmp_Node, ptr %t63, i32 0, i32 9 %t65 = load ptr, ptr %t64 %t66 = icmp ne ptr %t65, null %t67 = zext i1 %t66 to i32 %t68 = icmp ne i32 %t67, 0 %t69 = zext i1 %t68 to i32 store i32 %t69, ptr %t55 br label %scend15 scend15: %t70 = load i32, ptr %t55 %t71 = icmp ne i32 %t70, 0 %t72 = zext i1 %t71 to i32 store i32 %t72, ptr %t54 br i1 %t71, label %sc16, label %scend17 sc16: %t73 = load ptr, ptr @g_g_mg_let %t74 = load ptr, ptr @g_g_mr_var %t75 = load i32, ptr %t0 %t76 = getelementptr inbounds %LSlice, ptr %t74, i32 0, i32 0 %t77 = load ptr, ptr %t76 %t78 = getelementptr inbounds %LSlice, ptr %t74, i32 0, i32 1 %t79 = load i32, ptr %t78 %t80 = icmp ult i32 %t75, %t79 br i1 %t80, label %ixok18, label %ixbad19 ixbad19: store i32 1596, ptr @lp_site %t81 = call ptr @lp_win_stdio(i32 2) store i32 0, ptr @lp_site call i32 (ptr, ptr, ...) @fprintf(ptr %t81, ptr @.fmt_bounds, ptr @.str2174, i32 %t75, i32 %t79) call void @exit(i32 1) unreachable ixok18: %t82 = getelementptr inbounds i32, ptr %t77, i32 %t75 %t83 = load i32, ptr %t82 %t84 = getelementptr inbounds %LSlice, ptr %t73, i32 0, i32 0 %t85 = load ptr, ptr %t84 %t86 = getelementptr inbounds %LSlice, ptr %t73, i32 0, i32 1 %t87 = load i32, ptr %t86 %t88 = icmp ult i32 %t83, %t87 br i1 %t88, label %ixok20, label %ixbad21 ixbad21: store i32 1597, ptr @lp_site %t89 = call ptr @lp_win_stdio(i32 2) store i32 0, ptr @lp_site call i32 (ptr, ptr, ...) @fprintf(ptr %t89, ptr @.fmt_bounds, ptr @.str2175, i32 %t83, i32 %t87) call void @exit(i32 1) unreachable ixok20: %t90 = getelementptr inbounds i32, ptr %t85, i32 %t83 %t91 = load i32, ptr %t90 %t92 = icmp eq i32 %t91, 1 %t93 = zext i1 %t92 to i32 %t94 = icmp eq i32 %t93, 0 %t95 = zext i1 %t94 to i32 %t96 = icmp ne i32 %t95, 0 %t97 = zext i1 %t96 to i32 store i32 %t97, ptr %t54 br label %scend17 scend17: %t98 = load i32, ptr %t54 %t99 = icmp ne i32 %t98, 0 br i1 %t99, label %then22, label %ifend24 then22: %t100 = load ptr, ptr @g_g_mg_vstate %t101 = load ptr, ptr @g_g_mr_var %t102 = load i32, ptr %t0 %t103 = getelementptr inbounds %LSlice, ptr %t101, i32 0, i32 0 %t104 = load ptr, ptr %t103 %t105 = getelementptr inbounds %LSlice, ptr %t101, i32 0, i32 1 %t106 = load i32, ptr %t105 %t107 = icmp ult i32 %t102, %t106 br i1 %t107, label %ixok25, label %ixbad26 ixbad26: store i32 1598, ptr @lp_site %t108 = call ptr @lp_win_stdio(i32 2) store i32 0, ptr @lp_site call i32 (ptr, ptr, ...) @fprintf(ptr %t108, ptr @.fmt_bounds, ptr @.str2176, i32 %t102, i32 %t106) call void @exit(i32 1) unreachable ixok25: %t109 = getelementptr inbounds i32, ptr %t104, i32 %t102 %t110 = load i32, ptr %t109 %t111 = getelementptr inbounds %LSlice, ptr %t100, i32 0, i32 0 %t112 = load ptr, ptr %t111 %t113 = getelementptr inbounds %LSlice, ptr %t100, i32 0, i32 1 %t114 = load i32, ptr %t113 %t115 = icmp ult i32 %t110, %t114 br i1 %t115, label %ixok27, label %ixbad28 ixbad28: store i32 1599, ptr @lp_site %t116 = call ptr @lp_win_stdio(i32 2) store i32 0, ptr @lp_site call i32 (ptr, ptr, ...) @fprintf(ptr %t116, ptr @.fmt_bounds, ptr @.str2177, i32 %t110, i32 %t114) call void @exit(i32 1) unreachable ixok27: %t117 = getelementptr inbounds i32, ptr %t112, i32 %t110 %t118 = load i32, ptr %t117 store i32 %t118, ptr %t119 %t120 = load ptr, ptr %t53 %t121 = getelementptr inbounds %Cmp_Node, ptr %t120, i32 0, i32 1 %t122 = load ptr, ptr %t121 %t123 = call ptr @fn_mg_src_name(ptr %t122) store ptr %t123, ptr %t124 %t125 = load ptr, ptr @g_g_ms_param %t126 = load i32, ptr %t119 %t127 = getelementptr inbounds %LSlice, ptr %t125, i32 0, i32 0 %t128 = load ptr, ptr %t127 %t129 = getelementptr inbounds %LSlice, ptr %t125, i32 0, i32 1 %t130 = load i32, ptr %t129 %t131 = icmp ult i32 %t126, %t130 br i1 %t131, label %ixok29, label %ixbad30 ixbad30: store i32 1600, ptr @lp_site %t132 = call ptr @lp_win_stdio(i32 2) store i32 0, ptr @lp_site call i32 (ptr, ptr, ...) @fprintf(ptr %t132, ptr @.fmt_bounds, ptr @.str2178, i32 %t126, i32 %t130) call void @exit(i32 1) unreachable ixok29: %t133 = getelementptr inbounds ptr, ptr %t128, i32 %t126 %t134 = load ptr, ptr %t133 store i32 1601, ptr @lp_site %t135 = call ptr @lp_str_concat(ptr %t134, ptr @.str2179) store i32 0, ptr @lp_site %t136 = load ptr, ptr %t124 store i32 1602, ptr @lp_site %t137 = call ptr @lp_str_concat(ptr %t135, ptr %t136) store i32 0, ptr @lp_site call void @lp_free(ptr %t135) store ptr %t137, ptr %t138 %t139 = load ptr, ptr @g_g_mr_ui %t140 = load i32, ptr %t0 %t141 = getelementptr inbounds %LSlice, ptr %t139, i32 0, i32 0 %t142 = load ptr, ptr %t141 %t143 = getelementptr inbounds %LSlice, ptr %t139, i32 0, i32 1 %t144 = load i32, ptr %t143 %t145 = icmp ult i32 %t140, %t144 br i1 %t145, label %ixok31, label %ixbad32 ixbad32: store i32 1603, ptr @lp_site %t146 = call ptr @lp_win_stdio(i32 2) store i32 0, ptr @lp_site call i32 (ptr, ptr, ...) @fprintf(ptr %t146, ptr @.fmt_bounds, ptr @.str2180, i32 %t140, i32 %t144) call void @exit(i32 1) unreachable ixok31: %t147 = getelementptr inbounds i32, ptr %t142, i32 %t140 %t148 = load i32, ptr %t147 %t149 = icmp eq i32 %t148, 1 %t150 = zext i1 %t149 to i32 %t151 = icmp ne i32 %t150, 0 br i1 %t151, label %then33, label %ifend35 then33: %t152 = load ptr, ptr @g_g_ms_name %t153 = load i32, ptr %t119 %t154 = getelementptr inbounds %LSlice, ptr %t152, i32 0, i32 0 %t155 = load ptr, ptr %t154 %t156 = getelementptr inbounds %LSlice, ptr %t152, i32 0, i32 1 %t157 = load i32, ptr %t156 %t158 = icmp ult i32 %t153, %t157 br i1 %t158, label %ixok36, label %ixbad37 ixbad37: store i32 1604, ptr @lp_site %t159 = call ptr @lp_win_stdio(i32 2) store i32 0, ptr @lp_site call i32 (ptr, ptr, ...) @fprintf(ptr %t159, ptr @.fmt_bounds, ptr @.str2181, i32 %t153, i32 %t157) call void @exit(i32 1) unreachable ixok36: %t160 = getelementptr inbounds ptr, ptr %t155, i32 %t153 %t161 = load ptr, ptr %t160 store i32 1605, ptr @lp_site %t162 = call ptr @lp_str_concat(ptr %t161, ptr @.str2182) store i32 0, ptr @lp_site %t163 = load ptr, ptr %t124 store i32 1606, ptr @lp_site %t164 = call ptr @lp_str_concat(ptr %t162, ptr %t163) store i32 0, ptr @lp_site call void @lp_free(ptr %t162) store ptr %t164, ptr %t138 br label %ifend35 ifend35: %t165 = load ptr, ptr %t18 %t166 = getelementptr inbounds %Cmp_Node, ptr %t165, i32 0, i32 9 %t167 = load ptr, ptr %t166 store i32 1607, ptr @lp_site %t168 = call ptr @lp_str_concat(ptr @.str2183, ptr %t167) store i32 0, ptr @lp_site store i32 1608, ptr @lp_site %t169 = call ptr @lp_str_concat(ptr %t168, ptr @.str2184) store i32 0, ptr @lp_site call void @lp_free(ptr %t168) %t170 = load ptr, ptr %t18 %t171 = getelementptr inbounds %Cmp_Node, ptr %t170, i32 0, i32 13 %t172 = load i32, ptr %t171 %t173 = call ptr @fn_itoa(i32 %t172) store i32 1609, ptr @lp_site %t174 = call ptr @lp_str_concat(ptr %t169, ptr %t173) store i32 0, ptr @lp_site call void @lp_free(ptr %t169) store i32 1610, ptr @lp_site %t175 = call ptr @lp_str_concat(ptr %t174, ptr @.str2185) store i32 0, ptr @lp_site call void @lp_free(ptr %t174) %t176 = load ptr, ptr %t124 %t177 = call i64 @strlen(ptr %t176) %t178 = trunc i64 %t177 to i32 %t179 = call ptr @fn_itoa(i32 %t178) store i32 1611, ptr @lp_site %t180 = call ptr @lp_str_concat(ptr %t175, ptr %t179) store i32 0, ptr @lp_site call void @lp_free(ptr %t175) store i32 1612, ptr @lp_site %t181 = call ptr @lp_str_concat(ptr %t180, ptr @.str2186) store i32 0, ptr @lp_site call void @lp_free(ptr %t180) %t182 = load ptr, ptr %t138 %t183 = call ptr @fn_mg_esc(ptr %t182) store i32 1613, ptr @lp_site %t184 = call ptr @lp_str_concat(ptr %t181, ptr %t183) store i32 0, ptr @lp_site call void @lp_free(ptr %t181) %t185 = load ptr, ptr %t18 %t186 = getelementptr inbounds %Cmp_Node, ptr %t185, i32 0, i32 9 %t187 = load ptr, ptr %t186 store i32 1614, ptr @lp_site %t188 = call ptr @lp_str_concat(ptr %t187, ptr @.str2187) store i32 0, ptr @lp_site %t189 = load ptr, ptr %t18 %t190 = getelementptr inbounds %Cmp_Node, ptr %t189, i32 0, i32 13 %t191 = load i32, ptr %t190 %t192 = call ptr @fn_itoa(i32 %t191) store i32 1615, ptr @lp_site %t193 = call ptr @lp_str_concat(ptr %t188, ptr %t192) store i32 0, ptr @lp_site call void @lp_free(ptr %t188) call void @fn_mg_emit(ptr %t184, ptr %t193) br label %ifend24 ifend24: %t194 = load i32, ptr %t0 %t195 = add i32 %t194, 1 store i32 %t195, ptr %t0 br label %wcond0 wend2: br label %ret ret: ret void } define void @fn_mg_exports() { entry: %t0 = alloca i32 %t18 = alloca ptr %t29 = alloca ptr %t30 = alloca i32 %t62 = alloca ptr %t63 = alloca i32 store i32 0, ptr %t0 br label %wcond0 wcond0: %t1 = load i32, ptr %t0 %t2 = load ptr, ptr @g_g_mu_node %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_mu_node %t9 = load i32, ptr %t0 %t10 = getelementptr inbounds %LSlice, ptr %t8, i32 0, i32 0 %t11 = load ptr, ptr %t10 %t12 = getelementptr inbounds %LSlice, ptr %t8, i32 0, i32 1 %t13 = load i32, ptr %t12 %t14 = icmp ult i32 %t9, %t13 br i1 %t14, label %ixok3, label %ixbad4 ixbad4: store i32 1616, ptr @lp_site %t15 = call ptr @lp_win_stdio(i32 2) store i32 0, ptr @lp_site call i32 (ptr, ptr, ...) @fprintf(ptr %t15, ptr @.fmt_bounds, ptr @.str2188, i32 %t9, i32 %t13) call void @exit(i32 1) unreachable ixok3: %t16 = getelementptr inbounds ptr, ptr %t11, i32 %t9 %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 9 %t21 = load ptr, ptr %t20 %t22 = icmp ne ptr %t21, null %t23 = zext i1 %t22 to i32 %t24 = icmp ne i32 %t23, 0 br i1 %t24, label %then5, label %ifend7 then5: %t25 = load ptr, ptr %t18 %t26 = getelementptr inbounds %Cmp_Node, ptr %t25, i32 0, i32 9 %t27 = load ptr, ptr %t26 %t28 = call ptr @fn_module_for_uses(ptr %t27) store ptr %t28, ptr %t29 %t31 = load ptr, ptr %t29 %t32 = call i32 @lp_str_eq(ptr %t31, ptr @.str2190) %t33 = icmp ne i32 %t32, 0 %t34 = zext i1 %t33 to i32 store i32 %t34, ptr %t30 br i1 %t33, label %sc8, label %scend9 sc8: %t35 = load ptr, ptr %t18 %t36 = getelementptr inbounds %Cmp_Node, ptr %t35, i32 0, i32 9 %t37 = load ptr, ptr %t36 %t38 = load ptr, ptr @g_g_mg_entry %t39 = call i32 @lp_str_eq(ptr %t37, ptr %t38) %t40 = icmp eq i32 %t39, 0 %t41 = zext i1 %t40 to i32 %t42 = icmp ne i32 %t41, 0 %t43 = zext i1 %t42 to i32 store i32 %t43, ptr %t30 br label %scend9 scend9: %t44 = load i32, ptr %t30 %t45 = icmp ne i32 %t44, 0 br i1 %t45, label %then10, label %ifend12 then10: %t46 = load ptr, ptr %t18 %t47 = getelementptr inbounds %Cmp_Node, ptr %t46, i32 0, i32 9 %t48 = load ptr, ptr %t47 %t49 = call ptr @fn_dir_of(ptr %t48) store i32 1617, ptr @lp_site %t50 = call ptr @lp_str_concat(ptr @.str2191, ptr %t49) store i32 0, ptr @lp_site store ptr %t50, ptr %t29 br label %ifend12 ifend12: %t51 = load ptr, ptr @g_g_mu_need %t52 = load i32, ptr %t0 %t53 = getelementptr inbounds %LSlice, ptr %t51, i32 0, i32 0 %t54 = load ptr, ptr %t53 %t55 = getelementptr inbounds %LSlice, ptr %t51, i32 0, i32 1 %t56 = load i32, ptr %t55 %t57 = icmp ult i32 %t52, %t56 br i1 %t57, label %ixok13, label %ixbad14 ixbad14: store i32 1618, ptr @lp_site %t58 = call ptr @lp_win_stdio(i32 2) store i32 0, ptr @lp_site call i32 (ptr, ptr, ...) @fprintf(ptr %t58, ptr @.fmt_bounds, ptr @.str2192, i32 %t52, i32 %t56) call void @exit(i32 1) unreachable ixok13: %t59 = getelementptr inbounds ptr, ptr %t54, i32 %t52 %t60 = load ptr, ptr %t59 %t61 = call ptr @fn_mg_list(ptr %t60) store ptr %t61, ptr %t62 store i32 0, ptr %t63 br label %wcond15 wcond15: %t64 = load i32, ptr %t63 %t65 = load ptr, ptr %t62 %t66 = getelementptr inbounds %LSlice, ptr %t65, i32 0, i32 1 %t67 = load i32, ptr %t66 %t68 = icmp slt i32 %t64, %t67 %t69 = zext i1 %t68 to i32 %t70 = icmp ne i32 %t69, 0 br i1 %t70, label %wbody16, label %wend17 wbody16: %t71 = load ptr, ptr @g_g_ms_mod %t72 = load ptr, ptr %t62 %t73 = load i32, ptr %t63 %t74 = getelementptr inbounds %LSlice, ptr %t72, i32 0, i32 0 %t75 = load ptr, ptr %t74 %t76 = getelementptr inbounds %LSlice, ptr %t72, i32 0, i32 1 %t77 = load i32, ptr %t76 %t78 = icmp ult i32 %t73, %t77 br i1 %t78, label %ixok18, label %ixbad19 ixbad19: store i32 1619, ptr @lp_site %t79 = call ptr @lp_win_stdio(i32 2) store i32 0, ptr @lp_site call i32 (ptr, ptr, ...) @fprintf(ptr %t79, ptr @.fmt_bounds, ptr @.str2193, i32 %t73, i32 %t77) call void @exit(i32 1) unreachable ixok18: %t80 = getelementptr inbounds i32, ptr %t75, i32 %t73 %t81 = load i32, ptr %t80 %t82 = getelementptr inbounds %LSlice, ptr %t71, i32 0, i32 0 %t83 = load ptr, ptr %t82 %t84 = getelementptr inbounds %LSlice, ptr %t71, i32 0, i32 1 %t85 = load i32, ptr %t84 %t86 = icmp ult i32 %t81, %t85 br i1 %t86, label %ixok20, label %ixbad21 ixbad21: store i32 1620, ptr @lp_site %t87 = call ptr @lp_win_stdio(i32 2) store i32 0, ptr @lp_site call i32 (ptr, ptr, ...) @fprintf(ptr %t87, ptr @.fmt_bounds, ptr @.str2194, i32 %t81, i32 %t85) call void @exit(i32 1) unreachable ixok20: %t88 = getelementptr inbounds ptr, ptr %t83, i32 %t81 %t89 = load ptr, ptr %t88 %t90 = load ptr, ptr %t29 %t91 = call i32 @lp_str_eq(ptr %t89, ptr %t90) %t92 = icmp eq i32 %t91, 0 %t93 = zext i1 %t92 to i32 %t94 = icmp ne i32 %t93, 0 br i1 %t94, label %then22, label %ifend24 then22: %t95 = load ptr, ptr @g_g_ms_export %t96 = load ptr, ptr %t62 %t97 = load i32, ptr %t63 %t98 = getelementptr inbounds %LSlice, ptr %t96, i32 0, i32 0 %t99 = load ptr, ptr %t98 %t100 = getelementptr inbounds %LSlice, ptr %t96, i32 0, i32 1 %t101 = load i32, ptr %t100 %t102 = icmp ult i32 %t97, %t101 br i1 %t102, label %ixok25, label %ixbad26 ixbad26: store i32 1621, ptr @lp_site %t103 = call ptr @lp_win_stdio(i32 2) store i32 0, ptr @lp_site call i32 (ptr, ptr, ...) @fprintf(ptr %t103, ptr @.fmt_bounds, ptr @.str2195, i32 %t97, i32 %t101) call void @exit(i32 1) unreachable ixok25: %t104 = getelementptr inbounds i32, ptr %t99, i32 %t97 %t105 = load i32, ptr %t104 %t106 = getelementptr inbounds %LSlice, ptr %t95, i32 0, i32 0 %t107 = load ptr, ptr %t106 %t108 = getelementptr inbounds %LSlice, ptr %t95, i32 0, i32 1 %t109 = load i32, ptr %t108 %t110 = icmp ult i32 %t105, %t109 br i1 %t110, label %ixok27, label %ixbad28 ixbad28: store i32 1622, ptr @lp_site %t111 = call ptr @lp_win_stdio(i32 2) store i32 0, ptr @lp_site call i32 (ptr, ptr, ...) @fprintf(ptr %t111, ptr @.fmt_bounds, ptr @.str2196, i32 %t105, i32 %t109) call void @exit(i32 1) unreachable ixok27: %t112 = getelementptr inbounds i32, ptr %t107, i32 %t105 store i32 1, ptr %t112 br label %ifend24 ifend24: %t113 = load i32, ptr %t63 %t114 = add i32 %t113, 1 store i32 %t114, ptr %t63 br label %wcond15 wend17: br label %ifend7 ifend7: %t115 = load i32, ptr %t0 %t116 = add i32 %t115, 1 store i32 %t116, ptr %t0 br label %wcond0 wend2: br label %ret ret: ret void } define void @fn_mg_bind_var(ptr %arg_fi) { entry: %t0 = alloca ptr %t1 = alloca i32 %t2 = alloca i32 %t3 = alloca i32 store ptr %arg_fi, ptr %t0 %t4 = load i32, ptr @g_g_migrate %t5 = icmp ne i32 %t4, 0 %t6 = zext i1 %t5 to i32 store i32 %t6, ptr %t3 br i1 %t5, label %sc0, label %scend1 sc0: %t7 = load ptr, ptr %t0 %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 %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 %sc2, label %scend3 sc2: %t15 = load ptr, ptr %t0 %t16 = getelementptr inbounds %Cmp_Node, ptr %t15, i32 0, i32 4 %t17 = load ptr, ptr %t16 %t18 = icmp ne ptr %t17, null %t19 = zext i1 %t18 to i32 %t20 = icmp ne i32 %t19, 0 %t21 = zext i1 %t20 to i32 store i32 %t21, ptr %t2 br label %scend3 scend3: %t22 = load i32, ptr %t2 %t23 = icmp ne i32 %t22, 0 %t24 = zext i1 %t23 to i32 store i32 %t24, ptr %t1 br i1 %t23, label %sc4, label %scend5 sc4: %t25 = load ptr, ptr %t0 %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 0 %t29 = load i32, ptr %t28 %t30 = icmp eq i32 %t29, 33 %t31 = zext i1 %t30 to i32 %t32 = icmp ne i32 %t31, 0 %t33 = zext i1 %t32 to i32 store i32 %t33, ptr %t1 br label %scend5 scend5: %t34 = load i32, ptr %t1 %t35 = icmp ne i32 %t34, 0 br i1 %t35, label %then6, label %ifend8 then6: %t36 = load ptr, ptr @g_g_mg_pbv %t37 = load ptr, ptr %t0 %t38 = getelementptr inbounds %Cmp_Node, ptr %t37, i32 0, i32 4 %t39 = load ptr, ptr %t38 %t40 = getelementptr inbounds %LSlice, ptr %t36, i32 0, i32 1 %t41 = getelementptr inbounds %LSlice, ptr %t36, i32 0, i32 2 %t42 = getelementptr inbounds %LSlice, ptr %t36, i32 0, i32 0 %t43 = load i32, ptr %t40 %t44 = load i32, ptr %t41 %t45 = icmp sge i32 %t43, %t44 br i1 %t45, label %grow9, label %put10 grow9: %t46 = mul i32 %t44, 2 %t47 = icmp eq i32 %t44, 0 %t48 = select i1 %t47, i32 8, i32 %t46 %t49 = getelementptr ptr, ptr null, i32 1 %t50 = ptrtoint ptr %t49 to i64 %t51 = zext i32 %t48 to i64 %t52 = mul i64 %t51, %t50 %t53 = load ptr, ptr %t42 store i32 1623, ptr @lp_site %t54 = call ptr @lp_realloc(ptr %t53, i64 %t52) store i32 0, ptr @lp_site store ptr %t54, ptr %t42 store i32 %t48, ptr %t41 br label %put10 put10: %t55 = load ptr, ptr %t42 %t56 = getelementptr inbounds ptr, ptr %t55, i32 %t43 store ptr %t39, ptr %t56 %t57 = add i32 %t43, 1 store i32 %t57, ptr %t40 br label %ifend8 ifend8: br label %ret ret: ret void } define i32 @fn_mg_bound_var(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_mg_pbv %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_mg_pbv %t10 = load i32, ptr %t1 %t11 = getelementptr inbounds %LSlice, ptr %t9, i32 0, i32 0 %t12 = load ptr, ptr %t11 %t13 = getelementptr inbounds %LSlice, ptr %t9, i32 0, i32 1 %t14 = load i32, ptr %t13 %t15 = icmp ult i32 %t10, %t14 br i1 %t15, label %ixok3, label %ixbad4 ixbad4: store i32 1624, ptr @lp_site %t16 = call ptr @lp_win_stdio(i32 2) store i32 0, ptr @lp_site call i32 (ptr, ptr, ...) @fprintf(ptr %t16, ptr @.fmt_bounds, ptr @.str2198, i32 %t10, i32 %t14) call void @exit(i32 1) unreachable ixok3: %t17 = getelementptr inbounds ptr, ptr %t12, i32 %t10 %t18 = load ptr, ptr %t17 %t19 = getelementptr inbounds %Cmp_Node, ptr %t18, i32 0, i32 1 %t20 = load ptr, ptr %t19 %t21 = load ptr, ptr %t0 %t22 = call i32 @lp_str_eq(ptr %t20, ptr %t21) %t23 = icmp ne i32 %t22, 0 br i1 %t23, label %then5, label %ifend7 then5: store i32 1, ptr %retval br label %ret ifend7: %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_mg_binds() { entry: %t0 = alloca i32 %t18 = alloca ptr %t23 = alloca ptr %t24 = alloca i32 %t25 = alloca i32 %t62 = alloca i32 %t67 = alloca ptr store i32 0, ptr %t0 br label %wcond0 wcond0: %t1 = load i32, ptr %t0 %t2 = load ptr, ptr @g_g_mg_pbv %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_mg_pbv %t9 = load i32, ptr %t0 %t10 = getelementptr inbounds %LSlice, ptr %t8, i32 0, i32 0 %t11 = load ptr, ptr %t10 %t12 = getelementptr inbounds %LSlice, ptr %t8, i32 0, i32 1 %t13 = load i32, ptr %t12 %t14 = icmp ult i32 %t9, %t13 br i1 %t14, label %ixok3, label %ixbad4 ixbad4: store i32 1625, ptr @lp_site %t15 = call ptr @lp_win_stdio(i32 2) store i32 0, ptr @lp_site call i32 (ptr, ptr, ...) @fprintf(ptr %t15, ptr @.fmt_bounds, ptr @.str2200, i32 %t9, i32 %t13) call void @exit(i32 1) unreachable ixok3: %t16 = getelementptr inbounds ptr, ptr %t11, i32 %t9 %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 1 %t21 = load ptr, ptr %t20 %t22 = call ptr @fn_find_global(ptr %t21) store ptr %t22, ptr %t23 %t26 = load ptr, ptr %t23 %t27 = icmp ne ptr %t26, null %t28 = zext i1 %t27 to i32 %t29 = icmp ne i32 %t28, 0 %t30 = zext i1 %t29 to i32 store i32 %t30, ptr %t25 br i1 %t29, label %sc5, label %scend6 sc5: %t31 = load ptr, ptr %t23 %t32 = getelementptr inbounds %Cmp_Node, ptr %t31, i32 0, i32 15 %t33 = load i32, ptr %t32 %t34 = icmp sge i32 %t33, 0 %t35 = zext i1 %t34 to i32 %t36 = icmp ne i32 %t35, 0 %t37 = zext i1 %t36 to i32 store i32 %t37, ptr %t25 br label %scend6 scend6: %t38 = load i32, ptr %t25 %t39 = icmp ne i32 %t38, 0 %t40 = zext i1 %t39 to i32 store i32 %t40, ptr %t24 br i1 %t39, label %sc7, label %scend8 sc7: %t41 = load ptr, ptr %t18 %t42 = getelementptr inbounds %Cmp_Node, ptr %t41, i32 0, i32 13 %t43 = load i32, ptr %t42 %t44 = icmp sge i32 %t43, 0 %t45 = zext i1 %t44 to i32 %t46 = icmp ne i32 %t45, 0 %t47 = zext i1 %t46 to i32 store i32 %t47, ptr %t24 br label %scend8 scend8: %t48 = load i32, ptr %t24 %t49 = icmp ne i32 %t48, 0 br i1 %t49, label %then9, label %ifend11 then9: %t50 = load ptr, ptr @g_g_mg_vstate %t51 = load ptr, ptr %t23 %t52 = getelementptr inbounds %Cmp_Node, ptr %t51, i32 0, i32 15 %t53 = load i32, ptr %t52 %t54 = getelementptr inbounds %LSlice, ptr %t50, i32 0, i32 0 %t55 = load ptr, ptr %t54 %t56 = getelementptr inbounds %LSlice, ptr %t50, i32 0, i32 1 %t57 = load i32, ptr %t56 %t58 = icmp ult i32 %t53, %t57 br i1 %t58, label %ixok12, label %ixbad13 ixbad13: store i32 1626, ptr @lp_site %t59 = call ptr @lp_win_stdio(i32 2) store i32 0, ptr @lp_site call i32 (ptr, ptr, ...) @fprintf(ptr %t59, ptr @.fmt_bounds, ptr @.str2202, i32 %t53, i32 %t57) call void @exit(i32 1) unreachable ixok12: %t60 = getelementptr inbounds i32, ptr %t55, i32 %t53 %t61 = load i32, ptr %t60 store i32 %t61, ptr %t62 %t63 = load ptr, ptr %t18 %t64 = getelementptr inbounds %Cmp_Node, ptr %t63, i32 0, i32 1 %t65 = load ptr, ptr %t64 %t66 = call ptr @fn_mg_src_name(ptr %t65) store ptr %t66, ptr %t67 %t68 = load ptr, ptr %t18 %t69 = getelementptr inbounds %Cmp_Node, ptr %t68, i32 0, i32 9 %t70 = load ptr, ptr %t69 store i32 1627, ptr @lp_site %t71 = call ptr @lp_str_concat(ptr @.str2203, ptr %t70) store i32 0, ptr @lp_site store i32 1628, ptr @lp_site %t72 = call ptr @lp_str_concat(ptr %t71, ptr @.str2204) store i32 0, ptr @lp_site call void @lp_free(ptr %t71) %t73 = load ptr, ptr %t18 %t74 = getelementptr inbounds %Cmp_Node, ptr %t73, i32 0, i32 13 %t75 = load i32, ptr %t74 %t76 = call ptr @fn_itoa(i32 %t75) store i32 1629, ptr @lp_site %t77 = call ptr @lp_str_concat(ptr %t72, ptr %t76) store i32 0, ptr @lp_site call void @lp_free(ptr %t72) store i32 1630, ptr @lp_site %t78 = call ptr @lp_str_concat(ptr %t77, ptr @.str2205) store i32 0, ptr @lp_site call void @lp_free(ptr %t77) %t79 = load ptr, ptr %t67 %t80 = call i64 @strlen(ptr %t79) %t81 = trunc i64 %t80 to i32 %t82 = call ptr @fn_itoa(i32 %t81) store i32 1631, ptr @lp_site %t83 = call ptr @lp_str_concat(ptr %t78, ptr %t82) store i32 0, ptr @lp_site call void @lp_free(ptr %t78) store i32 1632, ptr @lp_site %t84 = call ptr @lp_str_concat(ptr %t83, ptr @.str2206) store i32 0, ptr @lp_site call void @lp_free(ptr %t83) %t85 = load ptr, ptr @g_g_ms_name %t86 = load i32, ptr %t62 %t87 = getelementptr inbounds %LSlice, ptr %t85, i32 0, i32 0 %t88 = load ptr, ptr %t87 %t89 = getelementptr inbounds %LSlice, ptr %t85, i32 0, i32 1 %t90 = load i32, ptr %t89 %t91 = icmp ult i32 %t86, %t90 br i1 %t91, label %ixok14, label %ixbad15 ixbad15: store i32 1633, ptr @lp_site %t92 = call ptr @lp_win_stdio(i32 2) store i32 0, ptr @lp_site call i32 (ptr, ptr, ...) @fprintf(ptr %t92, ptr @.fmt_bounds, ptr @.str2207, i32 %t86, i32 %t90) call void @exit(i32 1) unreachable ixok14: %t93 = getelementptr inbounds ptr, ptr %t88, i32 %t86 %t94 = load ptr, ptr %t93 store i32 1634, ptr @lp_site %t95 = call ptr @lp_str_concat(ptr %t94, ptr @.str2208) store i32 0, ptr @lp_site %t96 = load ptr, ptr %t67 store i32 1635, ptr @lp_site %t97 = call ptr @lp_str_concat(ptr %t95, ptr %t96) store i32 0, ptr @lp_site call void @lp_free(ptr %t95) %t98 = call ptr @fn_mg_esc(ptr %t97) store i32 1636, ptr @lp_site %t99 = call ptr @lp_str_concat(ptr %t84, ptr %t98) store i32 0, ptr @lp_site call void @lp_free(ptr %t84) call void @fn_mg_emit(ptr %t99, ptr @.str2209) br label %ifend11 ifend11: %t100 = load i32, ptr %t0 %t101 = add i32 %t100, 1 store i32 %t101, ptr %t0 br label %wcond0 wend2: br label %ret ret: ret void } define void @fn_mg_finish() { entry: %t6 = alloca ptr %t7 = alloca i32 %t38 = alloca i32 %t56 = alloca ptr %t67 = alloca i32 %t154 = alloca i32 %t155 = alloca i32 %t156 = alloca i32 %t172 = alloca i32 %t218 = alloca ptr %t219 = alloca i32 %t306 = alloca ptr %t372 = alloca ptr call void @fn_mg_decide_lets() call void @fn_mg_read_needs() call void @fn_mg_fixpoint() call void @fn_mg_exports() %t0 = getelementptr %LSlice, ptr null, i32 1 %t1 = ptrtoint ptr %t0 to i64 store i32 1637, ptr @lp_site %t2 = call ptr @lp_malloc(i64 %t1) store i32 0, ptr @lp_site %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 store i32 0, ptr %t7 br label %wcond0 wcond0: %t8 = load i32, ptr %t7 %t9 = load ptr, ptr @g_g_ms_name %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 %wbody1, label %wend2 wbody1: %t15 = load ptr, ptr %t6 %t16 = load i32, ptr %t7 %t17 = call ptr @fn_mg_state_key(i32 %t16) %t18 = getelementptr inbounds %LSlice, ptr %t15, i32 0, i32 1 %t19 = getelementptr inbounds %LSlice, ptr %t15, i32 0, i32 2 %t20 = getelementptr inbounds %LSlice, ptr %t15, i32 0, i32 0 %t21 = load i32, ptr %t18 %t22 = load i32, ptr %t19 %t23 = icmp sge i32 %t21, %t22 br i1 %t23, label %grow3, label %put4 grow3: %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 store i32 1638, ptr @lp_site %t32 = call ptr @lp_realloc(ptr %t31, i64 %t30) store i32 0, ptr @lp_site store ptr %t32, ptr %t20 store i32 %t26, ptr %t19 br label %put4 put4: %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 i32, ptr %t7 %t37 = add i32 %t36, 1 store i32 %t37, ptr %t7 br label %wcond0 wend2: store i32 0, ptr %t38 br label %wcond5 wcond5: %t39 = load i32, ptr %t38 %t40 = load ptr, ptr @g_g_mg_vars %t41 = getelementptr inbounds %LSlice, ptr %t40, i32 0, i32 1 %t42 = load i32, ptr %t41 %t43 = icmp slt i32 %t39, %t42 %t44 = zext i1 %t43 to i32 %t45 = icmp ne i32 %t44, 0 br i1 %t45, label %wbody6, label %wend7 wbody6: %t46 = load ptr, ptr @g_g_mg_vars %t47 = load i32, ptr %t38 %t48 = getelementptr inbounds %LSlice, ptr %t46, i32 0, i32 0 %t49 = load ptr, ptr %t48 %t50 = getelementptr inbounds %LSlice, ptr %t46, i32 0, i32 1 %t51 = load i32, ptr %t50 %t52 = icmp ult i32 %t47, %t51 br i1 %t52, label %ixok8, label %ixbad9 ixbad9: store i32 1639, ptr @lp_site %t53 = call ptr @lp_win_stdio(i32 2) store i32 0, ptr @lp_site call i32 (ptr, ptr, ...) @fprintf(ptr %t53, ptr @.fmt_bounds, ptr @.str2211, i32 %t47, i32 %t51) call void @exit(i32 1) unreachable ixok8: %t54 = getelementptr inbounds ptr, ptr %t49, i32 %t47 %t55 = load ptr, ptr %t54 store ptr %t55, ptr %t56 %t57 = load ptr, ptr @g_g_mg_vstate %t58 = load i32, ptr %t38 %t59 = getelementptr inbounds %LSlice, ptr %t57, i32 0, i32 0 %t60 = load ptr, ptr %t59 %t61 = getelementptr inbounds %LSlice, ptr %t57, i32 0, i32 1 %t62 = load i32, ptr %t61 %t63 = icmp ult i32 %t58, %t62 br i1 %t63, label %ixok10, label %ixbad11 ixbad11: store i32 1640, ptr @lp_site %t64 = call ptr @lp_win_stdio(i32 2) store i32 0, ptr @lp_site call i32 (ptr, ptr, ...) @fprintf(ptr %t64, ptr @.fmt_bounds, ptr @.str2212, i32 %t58, i32 %t62) call void @exit(i32 1) unreachable ixok10: %t65 = getelementptr inbounds i32, ptr %t60, i32 %t58 %t66 = load i32, ptr %t65 store i32 %t66, ptr %t67 %t68 = load ptr, ptr @g_g_mg_let %t69 = load i32, ptr %t38 %t70 = getelementptr inbounds %LSlice, ptr %t68, i32 0, i32 0 %t71 = load ptr, ptr %t70 %t72 = getelementptr inbounds %LSlice, ptr %t68, i32 0, i32 1 %t73 = load i32, ptr %t72 %t74 = icmp ult i32 %t69, %t73 br i1 %t74, label %ixok12, label %ixbad13 ixbad13: store i32 1641, ptr @lp_site %t75 = call ptr @lp_win_stdio(i32 2) store i32 0, ptr @lp_site call i32 (ptr, ptr, ...) @fprintf(ptr %t75, ptr @.fmt_bounds, ptr @.str2213, i32 %t69, i32 %t73) call void @exit(i32 1) unreachable ixok12: %t76 = getelementptr inbounds i32, ptr %t71, i32 %t69 %t77 = load i32, ptr %t76 %t78 = icmp eq i32 %t77, 1 %t79 = zext i1 %t78 to i32 %t80 = icmp ne i32 %t79, 0 br i1 %t80, label %then14, label %else15 then14: %t81 = load ptr, ptr %t56 %t82 = getelementptr inbounds %Cmp_Node, ptr %t81, i32 0, i32 9 %t83 = load ptr, ptr %t82 store i32 1642, ptr @lp_site %t84 = call ptr @lp_str_concat(ptr @.str2214, ptr %t83) store i32 0, ptr @lp_site store i32 1643, ptr @lp_site %t85 = call ptr @lp_str_concat(ptr %t84, ptr @.str2215) store i32 0, ptr @lp_site call void @lp_free(ptr %t84) %t86 = load ptr, ptr %t56 %t87 = getelementptr inbounds %Cmp_Node, ptr %t86, i32 0, i32 13 %t88 = load i32, ptr %t87 %t89 = call ptr @fn_itoa(i32 %t88) store i32 1644, ptr @lp_site %t90 = call ptr @lp_str_concat(ptr %t85, ptr %t89) store i32 0, ptr @lp_site call void @lp_free(ptr %t85) call void @fn_mg_emit(ptr %t90, ptr @.str2216) br label %ifend16 else15: %t91 = load ptr, ptr @g_g_mg_let %t92 = load i32, ptr %t38 %t93 = getelementptr inbounds %LSlice, ptr %t91, i32 0, i32 0 %t94 = load ptr, ptr %t93 %t95 = getelementptr inbounds %LSlice, ptr %t91, i32 0, i32 1 %t96 = load i32, ptr %t95 %t97 = icmp ult i32 %t92, %t96 br i1 %t97, label %ixok17, label %ixbad18 ixbad18: store i32 1645, ptr @lp_site %t98 = call ptr @lp_win_stdio(i32 2) store i32 0, ptr @lp_site call i32 (ptr, ptr, ...) @fprintf(ptr %t98, ptr @.fmt_bounds, ptr @.str2217, i32 %t92, i32 %t96) call void @exit(i32 1) unreachable ixok17: %t99 = getelementptr inbounds i32, ptr %t94, i32 %t92 %t100 = load i32, ptr %t99 %t101 = icmp eq i32 %t100, 0 %t102 = zext i1 %t101 to i32 %t103 = icmp ne i32 %t102, 0 br i1 %t103, label %then19, label %ifend21 then19: %t104 = load ptr, ptr %t56 %t105 = getelementptr inbounds %Cmp_Node, ptr %t104, i32 0, i32 9 %t106 = load ptr, ptr %t105 store i32 1646, ptr @lp_site %t107 = call ptr @lp_str_concat(ptr @.str2218, ptr %t106) store i32 0, ptr @lp_site store i32 1647, ptr @lp_site %t108 = call ptr @lp_str_concat(ptr %t107, ptr @.str2219) store i32 0, ptr @lp_site call void @lp_free(ptr %t107) %t109 = load ptr, ptr %t56 %t110 = getelementptr inbounds %Cmp_Node, ptr %t109, i32 0, i32 13 %t111 = load i32, ptr %t110 %t112 = call ptr @fn_itoa(i32 %t111) store i32 1648, ptr @lp_site %t113 = call ptr @lp_str_concat(ptr %t108, ptr %t112) store i32 0, ptr @lp_site call void @lp_free(ptr %t108) store i32 1649, ptr @lp_site %t114 = call ptr @lp_str_concat(ptr %t113, ptr @.str2220) store i32 0, ptr @lp_site call void @lp_free(ptr %t113) %t115 = load ptr, ptr %t56 %t116 = getelementptr inbounds %Cmp_Node, ptr %t115, i32 0, i32 14 %t117 = load i32, ptr %t116 %t118 = call ptr @fn_itoa(i32 %t117) store i32 1650, ptr @lp_site %t119 = call ptr @lp_str_concat(ptr %t114, ptr %t118) store i32 0, ptr @lp_site call void @lp_free(ptr %t114) store i32 1651, ptr @lp_site %t120 = call ptr @lp_str_concat(ptr %t119, ptr @.str2221) store i32 0, ptr @lp_site call void @lp_free(ptr %t119) %t121 = load ptr, ptr @g_g_ms_name %t122 = load i32, ptr %t67 %t123 = getelementptr inbounds %LSlice, ptr %t121, i32 0, i32 0 %t124 = load ptr, ptr %t123 %t125 = getelementptr inbounds %LSlice, ptr %t121, i32 0, i32 1 %t126 = load i32, ptr %t125 %t127 = icmp ult i32 %t122, %t126 br i1 %t127, label %ixok22, label %ixbad23 ixbad23: store i32 1652, ptr @lp_site %t128 = call ptr @lp_win_stdio(i32 2) store i32 0, ptr @lp_site call i32 (ptr, ptr, ...) @fprintf(ptr %t128, ptr @.fmt_bounds, ptr @.str2222, i32 %t122, i32 %t126) call void @exit(i32 1) unreachable ixok22: %t129 = getelementptr inbounds ptr, ptr %t124, i32 %t122 %t130 = load ptr, ptr %t129 store i32 1653, ptr @lp_site %t131 = call ptr @lp_str_concat(ptr %t120, ptr %t130) store i32 0, ptr @lp_site call void @lp_free(ptr %t120) store i32 1654, ptr @lp_site %t132 = call ptr @lp_str_concat(ptr %t131, ptr @.str2223) store i32 0, ptr @lp_site call void @lp_free(ptr %t131) %t133 = load ptr, ptr %t6 %t134 = load i32, ptr %t67 %t135 = getelementptr inbounds %LSlice, ptr %t133, i32 0, i32 0 %t136 = load ptr, ptr %t135 %t137 = getelementptr inbounds %LSlice, ptr %t133, i32 0, i32 1 %t138 = load i32, ptr %t137 %t139 = icmp ult i32 %t134, %t138 br i1 %t139, label %ixok24, label %ixbad25 ixbad25: store i32 1655, ptr @lp_site %t140 = call ptr @lp_win_stdio(i32 2) store i32 0, ptr @lp_site call i32 (ptr, ptr, ...) @fprintf(ptr %t140, ptr @.fmt_bounds, ptr @.str2224, i32 %t134, i32 %t138) call void @exit(i32 1) unreachable ixok24: %t141 = getelementptr inbounds ptr, ptr %t136, i32 %t134 %t142 = load ptr, ptr %t141 store i32 1656, ptr @lp_site %t143 = call ptr @lp_str_concat(ptr %t132, ptr %t142) store i32 0, ptr @lp_site call void @lp_free(ptr %t132) call void @fn_mg_emit(ptr %t143, ptr @.str2225) br label %ifend21 ifend21: br label %ifend16 ifend16: %t144 = load i32, ptr %t38 %t145 = add i32 %t144, 1 store i32 %t145, ptr %t38 br label %wcond5 wend7: store i32 0, ptr %t7 br label %wcond26 wcond26: %t146 = load i32, ptr %t7 %t147 = load ptr, ptr @g_g_ms_name %t148 = getelementptr inbounds %LSlice, ptr %t147, i32 0, i32 1 %t149 = load i32, ptr %t148 %t150 = icmp slt i32 %t146, %t149 %t151 = zext i1 %t150 to i32 %t152 = icmp ne i32 %t151, 0 br i1 %t152, label %wbody27, label %wend28 wbody27: %t153 = sub i32 0, 1 store i32 %t153, ptr %t154 store i32 0, ptr %t155 br label %wcond29 wcond29: %t157 = load i32, ptr %t155 %t158 = load ptr, ptr @g_g_mg_vars %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 %t164 = zext i1 %t163 to i32 store i32 %t164, ptr %t156 br i1 %t163, label %sc32, label %scend33 sc32: %t165 = load i32, ptr %t154 %t166 = icmp slt i32 %t165, 0 %t167 = zext i1 %t166 to i32 %t168 = icmp ne i32 %t167, 0 %t169 = zext i1 %t168 to i32 store i32 %t169, ptr %t156 br label %scend33 scend33: %t170 = load i32, ptr %t156 %t171 = icmp ne i32 %t170, 0 br i1 %t171, label %wbody30, label %wend31 wbody30: %t173 = load ptr, ptr @g_g_mg_vstate %t174 = load i32, ptr %t155 %t175 = getelementptr inbounds %LSlice, ptr %t173, i32 0, i32 0 %t176 = load ptr, ptr %t175 %t177 = getelementptr inbounds %LSlice, ptr %t173, i32 0, i32 1 %t178 = load i32, ptr %t177 %t179 = icmp ult i32 %t174, %t178 br i1 %t179, label %ixok34, label %ixbad35 ixbad35: store i32 1657, ptr @lp_site %t180 = call ptr @lp_win_stdio(i32 2) store i32 0, ptr @lp_site call i32 (ptr, ptr, ...) @fprintf(ptr %t180, ptr @.fmt_bounds, ptr @.str2226, i32 %t174, i32 %t178) call void @exit(i32 1) unreachable ixok34: %t181 = getelementptr inbounds i32, ptr %t176, i32 %t174 %t182 = load i32, ptr %t181 %t183 = load i32, ptr %t7 %t184 = icmp eq i32 %t182, %t183 %t185 = zext i1 %t184 to i32 %t186 = icmp ne i32 %t185, 0 %t187 = zext i1 %t186 to i32 store i32 %t187, ptr %t172 br i1 %t186, label %sc36, label %scend37 sc36: %t188 = load ptr, ptr @g_g_mg_let %t189 = load i32, ptr %t155 %t190 = getelementptr inbounds %LSlice, ptr %t188, i32 0, i32 0 %t191 = load ptr, ptr %t190 %t192 = getelementptr inbounds %LSlice, ptr %t188, i32 0, i32 1 %t193 = load i32, ptr %t192 %t194 = icmp ult i32 %t189, %t193 br i1 %t194, label %ixok38, label %ixbad39 ixbad39: store i32 1658, ptr @lp_site %t195 = call ptr @lp_win_stdio(i32 2) store i32 0, ptr @lp_site call i32 (ptr, ptr, ...) @fprintf(ptr %t195, ptr @.fmt_bounds, ptr @.str2227, i32 %t189, i32 %t193) call void @exit(i32 1) unreachable ixok38: %t196 = getelementptr inbounds i32, ptr %t191, i32 %t189 %t197 = load i32, ptr %t196 %t198 = icmp eq i32 %t197, 0 %t199 = zext i1 %t198 to i32 %t200 = icmp ne i32 %t199, 0 %t201 = zext i1 %t200 to i32 store i32 %t201, ptr %t172 br label %scend37 scend37: %t202 = load i32, ptr %t172 %t203 = icmp ne i32 %t202, 0 br i1 %t203, label %then40, label %ifend42 then40: %t204 = load i32, ptr %t155 store i32 %t204, ptr %t154 br label %ifend42 ifend42: %t205 = load i32, ptr %t155 %t206 = add i32 %t205, 1 store i32 %t206, ptr %t155 br label %wcond29 wend31: %t207 = load ptr, ptr @g_g_ms_name %t208 = load i32, ptr %t7 %t209 = getelementptr inbounds %LSlice, ptr %t207, i32 0, i32 0 %t210 = load ptr, ptr %t209 %t211 = getelementptr inbounds %LSlice, ptr %t207, i32 0, i32 1 %t212 = load i32, ptr %t211 %t213 = icmp ult i32 %t208, %t212 br i1 %t213, label %ixok43, label %ixbad44 ixbad44: store i32 1659, ptr @lp_site %t214 = call ptr @lp_win_stdio(i32 2) store i32 0, ptr @lp_site call i32 (ptr, ptr, ...) @fprintf(ptr %t214, ptr @.fmt_bounds, ptr @.str2228, i32 %t208, i32 %t212) call void @exit(i32 1) unreachable ixok43: %t215 = getelementptr inbounds ptr, ptr %t210, i32 %t208 %t216 = load ptr, ptr %t215 %t217 = call ptr @fn_mg_state_decl(ptr %t216) store ptr %t217, ptr %t218 %t220 = load i32, ptr %t154 %t221 = icmp sge i32 %t220, 0 %t222 = zext i1 %t221 to i32 %t223 = icmp ne i32 %t222, 0 %t224 = zext i1 %t223 to i32 store i32 %t224, ptr %t219 br i1 %t223, label %sc45, label %scend46 sc45: %t225 = load ptr, ptr %t218 %t226 = icmp ne ptr %t225, null %t227 = zext i1 %t226 to i32 %t228 = icmp ne i32 %t227, 0 %t229 = zext i1 %t228 to i32 store i32 %t229, ptr %t219 br label %scend46 scend46: %t230 = load i32, ptr %t219 %t231 = icmp ne i32 %t230, 0 br i1 %t231, label %then47, label %else48 then47: %t232 = load ptr, ptr @g_g_ms_name %t233 = load i32, ptr %t7 %t234 = getelementptr inbounds %LSlice, ptr %t232, i32 0, i32 0 %t235 = load ptr, ptr %t234 %t236 = getelementptr inbounds %LSlice, ptr %t232, i32 0, i32 1 %t237 = load i32, ptr %t236 %t238 = icmp ult i32 %t233, %t237 br i1 %t238, label %ixok50, label %ixbad51 ixbad51: store i32 1660, ptr @lp_site %t239 = call ptr @lp_win_stdio(i32 2) store i32 0, ptr @lp_site call i32 (ptr, ptr, ...) @fprintf(ptr %t239, ptr @.fmt_bounds, ptr @.str2230, i32 %t233, i32 %t237) call void @exit(i32 1) unreachable ixok50: %t240 = getelementptr inbounds ptr, ptr %t235, i32 %t233 %t241 = load ptr, ptr %t240 store i32 1661, ptr @lp_site %t242 = call ptr @lp_str_concat(ptr @.str2229, ptr %t241) store i32 0, ptr @lp_site store i32 1662, ptr @lp_site %t243 = call ptr @lp_str_concat(ptr %t242, ptr @.str2231) store i32 0, ptr @lp_site call void @lp_free(ptr %t242) %t244 = load ptr, ptr %t218 %t245 = getelementptr inbounds %Cmp_Node, ptr %t244, i32 0, i32 9 %t246 = load ptr, ptr %t245 store i32 1663, ptr @lp_site %t247 = call ptr @lp_str_concat(ptr %t243, ptr %t246) store i32 0, ptr @lp_site call void @lp_free(ptr %t243) store i32 1664, ptr @lp_site %t248 = call ptr @lp_str_concat(ptr %t247, ptr @.str2232) store i32 0, ptr @lp_site call void @lp_free(ptr %t247) %t249 = load ptr, ptr %t218 %t250 = getelementptr inbounds %Cmp_Node, ptr %t249, i32 0, i32 13 %t251 = load i32, ptr %t250 %t252 = call ptr @fn_itoa(i32 %t251) store i32 1665, ptr @lp_site %t253 = call ptr @lp_str_concat(ptr %t248, ptr %t252) store i32 0, ptr @lp_site call void @lp_free(ptr %t248) store i32 1666, ptr @lp_site %t254 = call ptr @lp_str_concat(ptr %t253, ptr @.str2233) store i32 0, ptr @lp_site call void @lp_free(ptr %t253) %t255 = load ptr, ptr @g_g_ms_export %t256 = load i32, ptr %t7 %t257 = getelementptr inbounds %LSlice, ptr %t255, i32 0, i32 0 %t258 = load ptr, ptr %t257 %t259 = getelementptr inbounds %LSlice, ptr %t255, i32 0, i32 1 %t260 = load i32, ptr %t259 %t261 = icmp ult i32 %t256, %t260 br i1 %t261, label %ixok52, label %ixbad53 ixbad53: store i32 1667, ptr @lp_site %t262 = call ptr @lp_win_stdio(i32 2) store i32 0, ptr @lp_site call i32 (ptr, ptr, ...) @fprintf(ptr %t262, ptr @.fmt_bounds, ptr @.str2234, i32 %t256, i32 %t260) call void @exit(i32 1) unreachable ixok52: %t263 = getelementptr inbounds i32, ptr %t258, i32 %t256 %t264 = load i32, ptr %t263 %t265 = call ptr @fn_itoa(i32 %t264) store i32 1668, ptr @lp_site %t266 = call ptr @lp_str_concat(ptr %t254, ptr %t265) store i32 0, ptr @lp_site call void @lp_free(ptr %t254) store i32 1669, ptr @lp_site %t267 = call ptr @lp_str_concat(ptr %t266, ptr @.str2235) store i32 0, ptr @lp_site call void @lp_free(ptr %t266) %t268 = load ptr, ptr @g_g_ms_param %t269 = load i32, ptr %t7 %t270 = getelementptr inbounds %LSlice, ptr %t268, i32 0, i32 0 %t271 = load ptr, ptr %t270 %t272 = getelementptr inbounds %LSlice, ptr %t268, i32 0, i32 1 %t273 = load i32, ptr %t272 %t274 = icmp ult i32 %t269, %t273 br i1 %t274, label %ixok54, label %ixbad55 ixbad55: store i32 1670, ptr @lp_site %t275 = call ptr @lp_win_stdio(i32 2) store i32 0, ptr @lp_site call i32 (ptr, ptr, ...) @fprintf(ptr %t275, ptr @.fmt_bounds, ptr @.str2236, i32 %t269, i32 %t273) call void @exit(i32 1) unreachable ixok54: %t276 = getelementptr inbounds ptr, ptr %t271, i32 %t269 %t277 = load ptr, ptr %t276 store i32 1671, ptr @lp_site %t278 = call ptr @lp_str_concat(ptr %t267, ptr %t277) store i32 0, ptr @lp_site call void @lp_free(ptr %t267) store i32 1672, ptr @lp_site %t279 = call ptr @lp_str_concat(ptr %t278, ptr @.str2237) store i32 0, ptr @lp_site call void @lp_free(ptr %t278) %t280 = load ptr, ptr %t6 %t281 = load i32, ptr %t7 %t282 = getelementptr inbounds %LSlice, ptr %t280, i32 0, i32 0 %t283 = load ptr, ptr %t282 %t284 = getelementptr inbounds %LSlice, ptr %t280, i32 0, i32 1 %t285 = load i32, ptr %t284 %t286 = icmp ult i32 %t281, %t285 br i1 %t286, label %ixok56, label %ixbad57 ixbad57: store i32 1673, ptr @lp_site %t287 = call ptr @lp_win_stdio(i32 2) store i32 0, ptr @lp_site call i32 (ptr, ptr, ...) @fprintf(ptr %t287, ptr @.fmt_bounds, ptr @.str2238, i32 %t281, i32 %t285) call void @exit(i32 1) unreachable ixok56: %t288 = getelementptr inbounds ptr, ptr %t283, i32 %t281 %t289 = load ptr, ptr %t288 store i32 1674, ptr @lp_site %t290 = call ptr @lp_str_concat(ptr %t279, ptr %t289) store i32 0, ptr @lp_site call void @lp_free(ptr %t279) store i32 1675, ptr @lp_site %t291 = call ptr @lp_str_concat(ptr %t290, ptr @.str2239) store i32 0, ptr @lp_site call void @lp_free(ptr %t290) call void @fn_mg_emit(ptr %t291, ptr @.str2240) br label %ifend49 else48: %t292 = load i32, ptr %t154 %t293 = icmp sge i32 %t292, 0 %t294 = zext i1 %t293 to i32 %t295 = icmp ne i32 %t294, 0 br i1 %t295, label %then58, label %ifend60 then58: %t296 = load ptr, ptr @g_g_mg_vars %t297 = load i32, ptr %t154 %t298 = getelementptr inbounds %LSlice, ptr %t296, i32 0, i32 0 %t299 = load ptr, ptr %t298 %t300 = getelementptr inbounds %LSlice, ptr %t296, i32 0, i32 1 %t301 = load i32, ptr %t300 %t302 = icmp ult i32 %t297, %t301 br i1 %t302, label %ixok61, label %ixbad62 ixbad62: store i32 1676, ptr @lp_site %t303 = call ptr @lp_win_stdio(i32 2) store i32 0, ptr @lp_site call i32 (ptr, ptr, ...) @fprintf(ptr %t303, ptr @.fmt_bounds, ptr @.str2241, i32 %t297, i32 %t301) call void @exit(i32 1) unreachable ixok61: %t304 = getelementptr inbounds ptr, ptr %t299, i32 %t297 %t305 = load ptr, ptr %t304 store ptr %t305, ptr %t306 %t307 = load ptr, ptr @g_g_ms_name %t308 = load i32, ptr %t7 %t309 = getelementptr inbounds %LSlice, ptr %t307, i32 0, i32 0 %t310 = load ptr, ptr %t309 %t311 = getelementptr inbounds %LSlice, ptr %t307, i32 0, i32 1 %t312 = load i32, ptr %t311 %t313 = icmp ult i32 %t308, %t312 br i1 %t313, label %ixok63, label %ixbad64 ixbad64: store i32 1677, ptr @lp_site %t314 = call ptr @lp_win_stdio(i32 2) store i32 0, ptr @lp_site call i32 (ptr, ptr, ...) @fprintf(ptr %t314, ptr @.fmt_bounds, ptr @.str2243, i32 %t308, i32 %t312) call void @exit(i32 1) unreachable ixok63: %t315 = getelementptr inbounds ptr, ptr %t310, i32 %t308 %t316 = load ptr, ptr %t315 store i32 1678, ptr @lp_site %t317 = call ptr @lp_str_concat(ptr @.str2242, ptr %t316) store i32 0, ptr @lp_site store i32 1679, ptr @lp_site %t318 = call ptr @lp_str_concat(ptr %t317, ptr @.str2244) store i32 0, ptr @lp_site call void @lp_free(ptr %t317) %t319 = load ptr, ptr %t306 %t320 = getelementptr inbounds %Cmp_Node, ptr %t319, i32 0, i32 9 %t321 = load ptr, ptr %t320 store i32 1680, ptr @lp_site %t322 = call ptr @lp_str_concat(ptr %t318, ptr %t321) store i32 0, ptr @lp_site call void @lp_free(ptr %t318) store i32 1681, ptr @lp_site %t323 = call ptr @lp_str_concat(ptr %t322, ptr @.str2245) store i32 0, ptr @lp_site call void @lp_free(ptr %t322) %t324 = load ptr, ptr %t306 %t325 = getelementptr inbounds %Cmp_Node, ptr %t324, i32 0, i32 13 %t326 = load i32, ptr %t325 %t327 = call ptr @fn_itoa(i32 %t326) store i32 1682, ptr @lp_site %t328 = call ptr @lp_str_concat(ptr %t323, ptr %t327) store i32 0, ptr @lp_site call void @lp_free(ptr %t323) store i32 1683, ptr @lp_site %t329 = call ptr @lp_str_concat(ptr %t328, ptr @.str2246) store i32 0, ptr @lp_site call void @lp_free(ptr %t328) %t330 = load ptr, ptr @g_g_ms_export %t331 = load i32, ptr %t7 %t332 = getelementptr inbounds %LSlice, ptr %t330, i32 0, i32 0 %t333 = load ptr, ptr %t332 %t334 = getelementptr inbounds %LSlice, ptr %t330, i32 0, i32 1 %t335 = load i32, ptr %t334 %t336 = icmp ult i32 %t331, %t335 br i1 %t336, label %ixok65, label %ixbad66 ixbad66: store i32 1684, ptr @lp_site %t337 = call ptr @lp_win_stdio(i32 2) store i32 0, ptr @lp_site call i32 (ptr, ptr, ...) @fprintf(ptr %t337, ptr @.fmt_bounds, ptr @.str2247, i32 %t331, i32 %t335) call void @exit(i32 1) unreachable ixok65: %t338 = getelementptr inbounds i32, ptr %t333, i32 %t331 %t339 = load i32, ptr %t338 %t340 = call ptr @fn_itoa(i32 %t339) store i32 1685, ptr @lp_site %t341 = call ptr @lp_str_concat(ptr %t329, ptr %t340) store i32 0, ptr @lp_site call void @lp_free(ptr %t329) store i32 1686, ptr @lp_site %t342 = call ptr @lp_str_concat(ptr %t341, ptr @.str2248) store i32 0, ptr @lp_site call void @lp_free(ptr %t341) %t343 = load ptr, ptr @g_g_ms_param %t344 = load i32, ptr %t7 %t345 = getelementptr inbounds %LSlice, ptr %t343, i32 0, i32 0 %t346 = load ptr, ptr %t345 %t347 = getelementptr inbounds %LSlice, ptr %t343, i32 0, i32 1 %t348 = load i32, ptr %t347 %t349 = icmp ult i32 %t344, %t348 br i1 %t349, label %ixok67, label %ixbad68 ixbad68: store i32 1687, ptr @lp_site %t350 = call ptr @lp_win_stdio(i32 2) store i32 0, ptr @lp_site call i32 (ptr, ptr, ...) @fprintf(ptr %t350, ptr @.fmt_bounds, ptr @.str2249, i32 %t344, i32 %t348) call void @exit(i32 1) unreachable ixok67: %t351 = getelementptr inbounds ptr, ptr %t346, i32 %t344 %t352 = load ptr, ptr %t351 store i32 1688, ptr @lp_site %t353 = call ptr @lp_str_concat(ptr %t342, ptr %t352) store i32 0, ptr @lp_site call void @lp_free(ptr %t342) store i32 1689, ptr @lp_site %t354 = call ptr @lp_str_concat(ptr %t353, ptr @.str2250) store i32 0, ptr @lp_site call void @lp_free(ptr %t353) %t355 = load ptr, ptr %t6 %t356 = load i32, ptr %t7 %t357 = getelementptr inbounds %LSlice, ptr %t355, i32 0, i32 0 %t358 = load ptr, ptr %t357 %t359 = getelementptr inbounds %LSlice, ptr %t355, i32 0, i32 1 %t360 = load i32, ptr %t359 %t361 = icmp ult i32 %t356, %t360 br i1 %t361, label %ixok69, label %ixbad70 ixbad70: store i32 1690, ptr @lp_site %t362 = call ptr @lp_win_stdio(i32 2) store i32 0, ptr @lp_site call i32 (ptr, ptr, ...) @fprintf(ptr %t362, ptr @.fmt_bounds, ptr @.str2251, i32 %t356, i32 %t360) call void @exit(i32 1) unreachable ixok69: %t363 = getelementptr inbounds ptr, ptr %t358, i32 %t356 %t364 = load ptr, ptr %t363 store i32 1691, ptr @lp_site %t365 = call ptr @lp_str_concat(ptr %t354, ptr %t364) store i32 0, ptr @lp_site call void @lp_free(ptr %t354) call void @fn_mg_emit(ptr %t365, ptr @.str2252) br label %ifend60 ifend60: br label %ifend49 ifend49: %t366 = load i32, ptr %t7 %t367 = add i32 %t366, 1 store i32 %t367, ptr %t7 br label %wcond26 wend28: call void @fn_mg_refs() call void @fn_mg_binds() call void @fn_mg_units() %t368 = load i32, ptr @g_g_mg_prune %t369 = icmp ne i32 %t368, 0 br i1 %t369, label %then71, label %ifend73 then71: call void @fn_mg_prune_args() br label %ifend73 ifend73: call void @fn_mg_comps() call void @fn_mg_views() call void @fn_mg_calls() %t370 = load ptr, ptr @g_g_mg_plan store i32 1692, ptr @lp_site %t371 = call ptr @lp_pak_open(ptr %t370, ptr @.str2253) store i32 0, ptr @lp_site store ptr %t371, ptr %t372 %t373 = load ptr, ptr %t372 %t374 = icmp eq ptr %t373, null %t375 = zext i1 %t374 to i32 %t376 = icmp ne i32 %t375, 0 br i1 %t376, label %then74, label %ifend76 then74: call void @fn_die(ptr @.str2254) br label %ifend76 ifend76: store i32 0, ptr %t38 br label %wcond77 wcond77: %t377 = load i32, ptr %t38 %t378 = load ptr, ptr @g_g_mg_lines %t379 = getelementptr inbounds %LSlice, ptr %t378, i32 0, i32 1 %t380 = load i32, ptr %t379 %t381 = icmp slt i32 %t377, %t380 %t382 = zext i1 %t381 to i32 %t383 = icmp ne i32 %t382, 0 br i1 %t383, label %wbody78, label %wend79 wbody78: %t384 = load ptr, ptr %t372 %t385 = load ptr, ptr @g_g_mg_lines %t386 = load i32, ptr %t38 %t387 = getelementptr inbounds %LSlice, ptr %t385, i32 0, i32 0 %t388 = load ptr, ptr %t387 %t389 = getelementptr inbounds %LSlice, ptr %t385, i32 0, i32 1 %t390 = load i32, ptr %t389 %t391 = icmp ult i32 %t386, %t390 br i1 %t391, label %ixok80, label %ixbad81 ixbad81: store i32 1693, ptr @lp_site %t392 = call ptr @lp_win_stdio(i32 2) store i32 0, ptr @lp_site call i32 (ptr, ptr, ...) @fprintf(ptr %t392, ptr @.fmt_bounds, ptr @.str2255, i32 %t386, i32 %t390) call void @exit(i32 1) unreachable ixok80: %t393 = getelementptr inbounds ptr, ptr %t388, i32 %t386 %t394 = load ptr, ptr %t393 %t395 = load ptr, ptr @g_g_mg_lines %t396 = load i32, ptr %t38 %t397 = getelementptr inbounds %LSlice, ptr %t395, i32 0, i32 0 %t398 = load ptr, ptr %t397 %t399 = getelementptr inbounds %LSlice, ptr %t395, i32 0, i32 1 %t400 = load i32, ptr %t399 %t401 = icmp ult i32 %t396, %t400 br i1 %t401, label %ixok82, label %ixbad83 ixbad83: store i32 1694, ptr @lp_site %t402 = call ptr @lp_win_stdio(i32 2) store i32 0, ptr @lp_site call i32 (ptr, ptr, ...) @fprintf(ptr %t402, ptr @.fmt_bounds, ptr @.str2256, i32 %t396, i32 %t400) call void @exit(i32 1) unreachable ixok82: %t403 = getelementptr inbounds ptr, ptr %t398, i32 %t396 %t404 = load ptr, ptr %t403 %t405 = call i64 @strlen(ptr %t404) %t406 = trunc i64 %t405 to i32 %t407 = zext i32 %t406 to i64 %t408 = call i64 @fwrite(ptr %t394, i64 1, i64 %t407, ptr %t384) %t409 = trunc i64 %t408 to i32 %t410 = load ptr, ptr %t372 %t411 = zext i32 1 to i64 %t412 = call i64 @fwrite(ptr @.str2257, i64 1, i64 %t411, ptr %t410) %t413 = trunc i64 %t412 to i32 %t414 = load i32, ptr %t38 %t415 = add i32 %t414, 1 store i32 %t415, ptr %t38 br label %wcond77 wend79: store i32 0, ptr %t38 br label %wcond84 wcond84: %t416 = load i32, ptr %t38 %t417 = load ptr, ptr @g_g_mg_report %t418 = getelementptr inbounds %LSlice, ptr %t417, i32 0, i32 1 %t419 = load i32, ptr %t418 %t420 = icmp slt i32 %t416, %t419 %t421 = zext i1 %t420 to i32 %t422 = icmp ne i32 %t421, 0 br i1 %t422, label %wbody85, label %wend86 wbody85: %t423 = load ptr, ptr %t372 %t424 = load ptr, ptr @g_g_mg_report %t425 = load i32, ptr %t38 %t426 = getelementptr inbounds %LSlice, ptr %t424, i32 0, i32 0 %t427 = load ptr, ptr %t426 %t428 = getelementptr inbounds %LSlice, ptr %t424, i32 0, i32 1 %t429 = load i32, ptr %t428 %t430 = icmp ult i32 %t425, %t429 br i1 %t430, label %ixok87, label %ixbad88 ixbad88: store i32 1695, ptr @lp_site %t431 = call ptr @lp_win_stdio(i32 2) store i32 0, ptr @lp_site call i32 (ptr, ptr, ...) @fprintf(ptr %t431, ptr @.fmt_bounds, ptr @.str2258, i32 %t425, i32 %t429) call void @exit(i32 1) unreachable ixok87: %t432 = getelementptr inbounds ptr, ptr %t427, i32 %t425 %t433 = load ptr, ptr %t432 %t434 = load ptr, ptr @g_g_mg_report %t435 = load i32, ptr %t38 %t436 = getelementptr inbounds %LSlice, ptr %t434, i32 0, i32 0 %t437 = load ptr, ptr %t436 %t438 = getelementptr inbounds %LSlice, ptr %t434, i32 0, i32 1 %t439 = load i32, ptr %t438 %t440 = icmp ult i32 %t435, %t439 br i1 %t440, label %ixok89, label %ixbad90 ixbad90: store i32 1696, ptr @lp_site %t441 = call ptr @lp_win_stdio(i32 2) store i32 0, ptr @lp_site call i32 (ptr, ptr, ...) @fprintf(ptr %t441, ptr @.fmt_bounds, ptr @.str2259, i32 %t435, i32 %t439) call void @exit(i32 1) unreachable ixok89: %t442 = getelementptr inbounds ptr, ptr %t437, i32 %t435 %t443 = load ptr, ptr %t442 %t444 = call i64 @strlen(ptr %t443) %t445 = trunc i64 %t444 to i32 %t446 = zext i32 %t445 to i64 %t447 = call i64 @fwrite(ptr %t433, i64 1, i64 %t446, ptr %t423) %t448 = trunc i64 %t447 to i32 %t449 = load ptr, ptr %t372 %t450 = zext i32 1 to i64 %t451 = call i64 @fwrite(ptr @.str2260, i64 1, i64 %t450, ptr %t449) %t452 = trunc i64 %t451 to i32 %t453 = load i32, ptr %t38 %t454 = add i32 %t453, 1 store i32 %t454, ptr %t38 br label %wcond84 wend86: %t455 = load ptr, ptr %t372 call i32 @fclose(ptr %t455) call void @exit(i32 0) unreachable ret: ret void } define void @fn_df_push(ptr %arg_reg, ptr %arg_key, ptr %arg_rec, i32 %arg_kline, i32 %arg_kcol, ptr %arg_src, ptr %arg_via) { entry: %t0 = alloca ptr %t1 = alloca ptr %t2 = alloca ptr %t3 = alloca i32 %t4 = alloca i32 %t5 = alloca ptr %t6 = alloca ptr store ptr %arg_reg, ptr %t0 store ptr %arg_key, ptr %t1 store ptr %arg_rec, ptr %t2 store i32 %arg_kline, ptr %t3 store i32 %arg_kcol, ptr %t4 store ptr %arg_src, ptr %t5 store ptr %arg_via, ptr %t6 %t7 = load ptr, ptr @g_g_df_reg %t8 = load ptr, ptr %t0 %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 %grow0, label %put1 grow0: %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 store i32 1697, ptr @lp_site %t23 = call ptr @lp_realloc(ptr %t22, i64 %t21) store i32 0, ptr @lp_site store ptr %t23, ptr %t11 store i32 %t17, ptr %t10 br label %put1 put1: %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_g_df_key %t28 = load ptr, ptr %t1 %t29 = getelementptr inbounds %LSlice, ptr %t27, i32 0, i32 1 %t30 = getelementptr inbounds %LSlice, ptr %t27, i32 0, i32 2 %t31 = getelementptr inbounds %LSlice, ptr %t27, i32 0, i32 0 %t32 = load i32, ptr %t29 %t33 = load i32, ptr %t30 %t34 = icmp sge i32 %t32, %t33 br i1 %t34, label %grow2, label %put3 grow2: %t35 = mul i32 %t33, 2 %t36 = icmp eq i32 %t33, 0 %t37 = select i1 %t36, i32 8, i32 %t35 %t38 = getelementptr ptr, ptr null, i32 1 %t39 = ptrtoint ptr %t38 to i64 %t40 = zext i32 %t37 to i64 %t41 = mul i64 %t40, %t39 %t42 = load ptr, ptr %t31 store i32 1698, ptr @lp_site %t43 = call ptr @lp_realloc(ptr %t42, i64 %t41) store i32 0, ptr @lp_site store ptr %t43, ptr %t31 store i32 %t37, ptr %t30 br label %put3 put3: %t44 = load ptr, ptr %t31 %t45 = getelementptr inbounds ptr, ptr %t44, i32 %t32 store ptr %t28, ptr %t45 %t46 = add i32 %t32, 1 store i32 %t46, ptr %t29 %t47 = load ptr, ptr @g_g_df_rec %t48 = load ptr, ptr %t2 %t49 = getelementptr inbounds %LSlice, ptr %t47, i32 0, i32 1 %t50 = getelementptr inbounds %LSlice, ptr %t47, i32 0, i32 2 %t51 = getelementptr inbounds %LSlice, ptr %t47, i32 0, i32 0 %t52 = load i32, ptr %t49 %t53 = load i32, ptr %t50 %t54 = icmp sge i32 %t52, %t53 br i1 %t54, label %grow4, label %put5 grow4: %t55 = mul i32 %t53, 2 %t56 = icmp eq i32 %t53, 0 %t57 = select i1 %t56, i32 8, i32 %t55 %t58 = getelementptr ptr, ptr null, i32 1 %t59 = ptrtoint ptr %t58 to i64 %t60 = zext i32 %t57 to i64 %t61 = mul i64 %t60, %t59 %t62 = load ptr, ptr %t51 store i32 1699, ptr @lp_site %t63 = call ptr @lp_realloc(ptr %t62, i64 %t61) store i32 0, ptr @lp_site store ptr %t63, ptr %t51 store i32 %t57, ptr %t50 br label %put5 put5: %t64 = load ptr, ptr %t51 %t65 = getelementptr inbounds ptr, ptr %t64, i32 %t52 store ptr %t48, ptr %t65 %t66 = add i32 %t52, 1 store i32 %t66, ptr %t49 %t67 = load ptr, ptr @g_g_df_kline %t68 = load i32, ptr %t3 %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 %grow6, label %put7 grow6: %t75 = mul i32 %t73, 2 %t76 = icmp eq i32 %t73, 0 %t77 = select i1 %t76, i32 8, i32 %t75 %t78 = getelementptr i32, 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 store i32 1700, ptr @lp_site %t83 = call ptr @lp_realloc(ptr %t82, i64 %t81) store i32 0, ptr @lp_site store ptr %t83, ptr %t71 store i32 %t77, ptr %t70 br label %put7 put7: %t84 = load ptr, ptr %t71 %t85 = getelementptr inbounds i32, ptr %t84, i32 %t72 store i32 %t68, ptr %t85 %t86 = add i32 %t72, 1 store i32 %t86, ptr %t69 %t87 = load ptr, ptr @g_g_df_kcol %t88 = load i32, ptr %t4 %t89 = getelementptr inbounds %LSlice, ptr %t87, i32 0, i32 1 %t90 = getelementptr inbounds %LSlice, ptr %t87, i32 0, i32 2 %t91 = getelementptr inbounds %LSlice, ptr %t87, i32 0, i32 0 %t92 = load i32, ptr %t89 %t93 = load i32, ptr %t90 %t94 = icmp sge i32 %t92, %t93 br i1 %t94, label %grow8, label %put9 grow8: %t95 = mul i32 %t93, 2 %t96 = icmp eq i32 %t93, 0 %t97 = select i1 %t96, i32 8, i32 %t95 %t98 = getelementptr i32, ptr null, i32 1 %t99 = ptrtoint ptr %t98 to i64 %t100 = zext i32 %t97 to i64 %t101 = mul i64 %t100, %t99 %t102 = load ptr, ptr %t91 store i32 1701, ptr @lp_site %t103 = call ptr @lp_realloc(ptr %t102, i64 %t101) store i32 0, ptr @lp_site store ptr %t103, ptr %t91 store i32 %t97, ptr %t90 br label %put9 put9: %t104 = load ptr, ptr %t91 %t105 = getelementptr inbounds i32, ptr %t104, i32 %t92 store i32 %t88, ptr %t105 %t106 = add i32 %t92, 1 store i32 %t106, ptr %t89 %t107 = load ptr, ptr @g_g_df_src %t108 = load ptr, ptr %t5 %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 store i32 1702, ptr @lp_site %t123 = call ptr @lp_realloc(ptr %t122, i64 %t121) store i32 0, ptr @lp_site 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 @g_g_df_via %t128 = load ptr, ptr %t6 %t129 = getelementptr inbounds %LSlice, ptr %t127, i32 0, i32 1 %t130 = getelementptr inbounds %LSlice, ptr %t127, i32 0, i32 2 %t131 = getelementptr inbounds %LSlice, ptr %t127, 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 store i32 1703, ptr @lp_site %t143 = call ptr @lp_realloc(ptr %t142, i64 %t141) store i32 0, ptr @lp_site 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 %t128, ptr %t145 %t146 = add i32 %t132, 1 store i32 %t146, ptr %t129 br label %ret ret: ret void } define ptr @fn_reg_upper(ptr %arg_s) { entry: %retval = alloca ptr %t0 = alloca ptr %t4 = alloca i32 %t9 = alloca ptr %t10 = alloca i32 %t21 = alloca i32 %t22 = 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 store i32 1704, ptr @lp_site %t8 = call ptr @lp_malloc(i64 %t7) store i32 0, ptr @lp_site 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 store i32 %t20, ptr %t21 %t23 = load i32, ptr %t21 %t24 = icmp sge i32 %t23, 97 %t25 = zext i1 %t24 to i32 %t26 = icmp ne i32 %t25, 0 %t27 = zext i1 %t26 to i32 store i32 %t27, ptr %t22 br i1 %t26, label %sc3, label %scend4 sc3: %t28 = load i32, ptr %t21 %t29 = icmp sle i32 %t28, 122 %t30 = zext i1 %t29 to i32 %t31 = icmp ne i32 %t30, 0 %t32 = zext i1 %t31 to i32 store i32 %t32, ptr %t22 br label %scend4 scend4: %t33 = load i32, ptr %t22 %t34 = icmp ne i32 %t33, 0 br i1 %t34, label %then5, label %ifend7 then5: %t35 = load i32, ptr %t21 %t36 = sub i32 %t35, 32 store i32 %t36, ptr %t21 br label %ifend7 ifend7: %t37 = load ptr, ptr %t9 %t38 = load i32, ptr %t10 %t39 = getelementptr inbounds i8, ptr %t37, i32 %t38 %t40 = load i32, ptr %t21 %t41 = trunc i32 %t40 to i8 store i8 %t41, ptr %t39 %t42 = load i32, ptr %t10 %t43 = add i32 %t42, 1 store i32 %t43, ptr %t10 br label %wcond0 wend2: %t44 = load ptr, ptr %t9 %t45 = load i32, ptr %t4 %t46 = getelementptr inbounds i8, ptr %t44, i32 %t45 %t47 = trunc i32 0 to i8 store i8 %t47, ptr %t46 %t48 = load ptr, ptr %t9 store ptr %t48, ptr %retval br label %ret ret: %t49 = load ptr, ptr %retval ret ptr %t49 } define ptr @fn_reg_lower(ptr %arg_s) { entry: %retval = alloca ptr %t0 = alloca ptr %t4 = alloca i32 %t9 = alloca ptr %t10 = alloca i32 %t21 = alloca i32 %t22 = 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 store i32 1705, ptr @lp_site %t8 = call ptr @lp_malloc(i64 %t7) store i32 0, ptr @lp_site 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 store i32 %t20, ptr %t21 %t23 = load i32, ptr %t21 %t24 = icmp sge i32 %t23, 65 %t25 = zext i1 %t24 to i32 %t26 = icmp ne i32 %t25, 0 %t27 = zext i1 %t26 to i32 store i32 %t27, ptr %t22 br i1 %t26, label %sc3, label %scend4 sc3: %t28 = load i32, ptr %t21 %t29 = icmp sle i32 %t28, 90 %t30 = zext i1 %t29 to i32 %t31 = icmp ne i32 %t30, 0 %t32 = zext i1 %t31 to i32 store i32 %t32, ptr %t22 br label %scend4 scend4: %t33 = load i32, ptr %t22 %t34 = icmp ne i32 %t33, 0 br i1 %t34, label %then5, label %ifend7 then5: %t35 = load i32, ptr %t21 %t36 = add i32 %t35, 32 store i32 %t36, ptr %t21 br label %ifend7 ifend7: %t37 = load ptr, ptr %t9 %t38 = load i32, ptr %t10 %t39 = getelementptr inbounds i8, ptr %t37, i32 %t38 %t40 = load i32, ptr %t21 %t41 = trunc i32 %t40 to i8 store i8 %t41, ptr %t39 %t42 = load i32, ptr %t10 %t43 = add i32 %t42, 1 store i32 %t43, ptr %t10 br label %wcond0 wend2: %t44 = load ptr, ptr %t9 %t45 = load i32, ptr %t4 %t46 = getelementptr inbounds i8, ptr %t44, i32 %t45 %t47 = trunc i32 0 to i8 store i8 %t47, ptr %t46 %t48 = load ptr, ptr %t9 store ptr %t48, ptr %retval br label %ret ret: %t49 = load ptr, ptr %retval ret ptr %t49 } define void @fn_parse_registry() { entry: %t1 = alloca i32 %t3 = alloca i32 %t7 = alloca ptr %t28 = alloca ptr %t33 = alloca ptr %t52 = alloca ptr %t245 = alloca i32 %t0 = load i32, ptr @g_g_pm_pending store i32 %t0, ptr %t1 %t2 = load i32, ptr @g_g_pm_chunk_pending store i32 %t2, ptr %t3 %t4 = load i32, ptr @g_pi %t5 = add i32 %t4, 1 store i32 %t5, ptr @g_pi %t6 = call ptr @fn_node(i32 2) 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 = call i32 @fn_is_id(ptr @.str2264) %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: %t15 = load ptr, ptr %t7 %t16 = getelementptr inbounds %Cmp_Node, ptr %t15, i32 0, i32 1 %t17 = load ptr, ptr %t16 store i32 1706, ptr @lp_site %t18 = call ptr @lp_str_concat(ptr @.str2265, ptr %t17) store i32 0, ptr @lp_site store i32 1707, ptr @lp_site %t19 = call ptr @lp_str_concat(ptr %t18, ptr @.str2267) store i32 0, ptr @lp_site call void @lp_free(ptr %t18) %t20 = load ptr, ptr %t7 %t21 = getelementptr inbounds %Cmp_Node, ptr %t20, i32 0, i32 1 %t22 = load ptr, ptr %t21 store i32 1708, ptr @lp_site %t23 = call ptr @lp_str_concat(ptr %t19, ptr %t22) store i32 0, ptr @lp_site call void @lp_free(ptr %t19) store i32 1709, ptr @lp_site %t24 = call ptr @lp_str_concat(ptr %t23, ptr @.str2268) store i32 0, ptr @lp_site call void @lp_free(ptr %t23) call void @fn_perr(ptr %t24) br label %ifend2 ifend2: %t25 = load i32, ptr @g_pi %t26 = add i32 %t25, 1 store i32 %t26, ptr @g_pi %t27 = call ptr @fn_ptype() store ptr %t27, ptr %t28 %t29 = load ptr, ptr %t7 %t30 = getelementptr inbounds %Cmp_Node, ptr %t29, i32 0, i32 1 %t31 = load ptr, ptr %t30 %t32 = call ptr @fn_reg_upper(ptr %t31) store ptr %t32, ptr %t33 %t34 = call i32 @fn_is_id(ptr @.str2269) %t35 = icmp ne i32 %t34, 0 br i1 %t35, label %then3, label %ifend5 then3: %t36 = load i32, ptr %t1 %t37 = icmp ne i32 %t36, 0 br i1 %t37, label %then6, label %ifend8 then6: %t38 = load ptr, ptr %t7 %t39 = getelementptr inbounds %Cmp_Node, ptr %t38, i32 0, i32 1 %t40 = load ptr, ptr %t39 store i32 1710, ptr @lp_site %t41 = call ptr @lp_str_concat(ptr @.str2270, ptr %t40) store i32 0, ptr @lp_site store i32 1711, ptr @lp_site %t42 = call ptr @lp_str_concat(ptr %t41, ptr @.str2271) store i32 0, ptr @lp_site call void @lp_free(ptr %t41) %t43 = load ptr, ptr %t7 %t44 = getelementptr inbounds %Cmp_Node, ptr %t43, i32 0, i32 1 %t45 = load ptr, ptr %t44 %t46 = call ptr @fn_pm_snake(ptr %t45) store i32 1712, ptr @lp_site %t47 = call ptr @lp_str_concat(ptr %t42, ptr %t46) store i32 0, ptr @lp_site call void @lp_free(ptr %t42) store i32 1713, ptr @lp_site %t48 = call ptr @lp_str_concat(ptr %t47, ptr @.str2272) store i32 0, ptr @lp_site call void @lp_free(ptr %t47) call void @fn_perr(ptr %t48) br label %ifend8 ifend8: %t49 = load i32, ptr @g_pi %t50 = add i32 %t49, 1 store i32 %t50, ptr @g_pi %t51 = call ptr @fn_eat_id() store ptr %t51, ptr %t33 br label %ifend5 ifend5: store ptr null, ptr %t52 %t53 = call i32 @fn_is_id(ptr @.str2273) %t54 = icmp ne i32 %t53, 0 br i1 %t54, label %then9, label %ifend11 then9: %t55 = load i32, ptr @g_pi %t56 = add i32 %t55, 1 store i32 %t56, ptr @g_pi %t57 = load ptr, ptr @g_toks %t58 = load i32, ptr @g_pi %t59 = getelementptr inbounds %LSlice, ptr %t57, i32 0, i32 0 %t60 = load ptr, ptr %t59 %t61 = getelementptr inbounds %LSlice, ptr %t57, i32 0, i32 1 %t62 = load i32, ptr %t61 %t63 = icmp ult i32 %t58, %t62 br i1 %t63, label %ixok12, label %ixbad13 ixbad13: store i32 1714, ptr @lp_site %t64 = call ptr @lp_win_stdio(i32 2) store i32 0, ptr @lp_site call i32 (ptr, ptr, ...) @fprintf(ptr %t64, ptr @.fmt_bounds, ptr @.str2274, i32 %t58, i32 %t62) call void @exit(i32 1) unreachable ixok12: %t65 = getelementptr inbounds ptr, ptr %t60, i32 %t58 %t66 = load ptr, ptr %t65 %t67 = getelementptr inbounds %Cmp_Tok, ptr %t66, i32 0, i32 1 %t68 = load ptr, ptr %t67 store ptr %t68, ptr %t52 %t69 = load i32, ptr @g_pi %t70 = add i32 %t69, 1 store i32 %t70, ptr @g_pi br label %ifend11 ifend11: %t71 = load ptr, ptr %t7 %t72 = getelementptr inbounds %Cmp_Node, ptr %t71, i32 0, i32 3 %t73 = load ptr, ptr %t28 store i32 1715, ptr @lp_site %t74 = call ptr @lp_str_concat(ptr @.str2275, ptr %t73) store i32 0, ptr @lp_site store ptr %t74, ptr %t72 %t75 = load i32, ptr %t1 %t76 = icmp eq i32 %t75, 0 %t77 = zext i1 %t76 to i32 %t78 = icmp ne i32 %t77, 0 br i1 %t78, label %then14, label %ifend16 then14: %t79 = load ptr, ptr @g_prog %t80 = load ptr, ptr %t7 %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 %grow17, label %put18 grow17: %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 store i32 1716, ptr @lp_site %t95 = call ptr @lp_realloc(ptr %t94, i64 %t93) store i32 0, ptr @lp_site store ptr %t95, ptr %t83 store i32 %t89, ptr %t82 br label %put18 put18: %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 %ifend16 ifend16: %t99 = load ptr, ptr @g_g_rg_name %t100 = load ptr, ptr %t7 %t101 = getelementptr inbounds %Cmp_Node, ptr %t100, i32 0, i32 1 %t102 = load ptr, ptr %t101 %t103 = getelementptr inbounds %LSlice, ptr %t99, i32 0, i32 1 %t104 = getelementptr inbounds %LSlice, ptr %t99, i32 0, i32 2 %t105 = getelementptr inbounds %LSlice, ptr %t99, i32 0, i32 0 %t106 = load i32, ptr %t103 %t107 = load i32, ptr %t104 %t108 = icmp sge i32 %t106, %t107 br i1 %t108, label %grow19, label %put20 grow19: %t109 = mul i32 %t107, 2 %t110 = icmp eq i32 %t107, 0 %t111 = select i1 %t110, i32 8, i32 %t109 %t112 = getelementptr ptr, ptr null, i32 1 %t113 = ptrtoint ptr %t112 to i64 %t114 = zext i32 %t111 to i64 %t115 = mul i64 %t114, %t113 %t116 = load ptr, ptr %t105 store i32 1717, ptr @lp_site %t117 = call ptr @lp_realloc(ptr %t116, i64 %t115) store i32 0, ptr @lp_site store ptr %t117, ptr %t105 store i32 %t111, ptr %t104 br label %put20 put20: %t118 = load ptr, ptr %t105 %t119 = getelementptr inbounds ptr, ptr %t118, i32 %t106 store ptr %t102, ptr %t119 %t120 = add i32 %t106, 1 store i32 %t120, ptr %t103 %t121 = load ptr, ptr @g_g_rg_type %t122 = load ptr, ptr %t28 %t123 = getelementptr inbounds %LSlice, ptr %t121, i32 0, i32 1 %t124 = getelementptr inbounds %LSlice, ptr %t121, i32 0, i32 2 %t125 = getelementptr inbounds %LSlice, ptr %t121, i32 0, i32 0 %t126 = load i32, ptr %t123 %t127 = load i32, ptr %t124 %t128 = icmp sge i32 %t126, %t127 br i1 %t128, label %grow21, label %put22 grow21: %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 store i32 1718, ptr @lp_site %t137 = call ptr @lp_realloc(ptr %t136, i64 %t135) store i32 0, ptr @lp_site store ptr %t137, ptr %t125 store i32 %t131, ptr %t124 br label %put22 put22: %t138 = load ptr, ptr %t125 %t139 = getelementptr inbounds ptr, ptr %t138, i32 %t126 store ptr %t122, ptr %t139 %t140 = add i32 %t126, 1 store i32 %t140, ptr %t123 %t141 = load ptr, ptr @g_g_rg_prefix %t142 = load ptr, ptr %t33 %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 %grow23, label %put24 grow23: %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 store i32 1719, ptr @lp_site %t157 = call ptr @lp_realloc(ptr %t156, i64 %t155) store i32 0, ptr @lp_site store ptr %t157, ptr %t145 store i32 %t151, ptr %t144 br label %put24 put24: %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 @g_g_rg_var %t162 = load ptr, ptr %t7 %t163 = getelementptr inbounds %LSlice, ptr %t161, i32 0, i32 1 %t164 = getelementptr inbounds %LSlice, ptr %t161, i32 0, i32 2 %t165 = getelementptr inbounds %LSlice, ptr %t161, i32 0, i32 0 %t166 = load i32, ptr %t163 %t167 = load i32, ptr %t164 %t168 = icmp sge i32 %t166, %t167 br i1 %t168, label %grow25, label %put26 grow25: %t169 = mul i32 %t167, 2 %t170 = icmp eq i32 %t167, 0 %t171 = select i1 %t170, i32 8, i32 %t169 %t172 = getelementptr ptr, ptr null, i32 1 %t173 = ptrtoint ptr %t172 to i64 %t174 = zext i32 %t171 to i64 %t175 = mul i64 %t174, %t173 %t176 = load ptr, ptr %t165 store i32 1720, ptr @lp_site %t177 = call ptr @lp_realloc(ptr %t176, i64 %t175) store i32 0, ptr @lp_site store ptr %t177, ptr %t165 store i32 %t171, ptr %t164 br label %put26 put26: %t178 = load ptr, ptr %t165 %t179 = getelementptr inbounds ptr, ptr %t178, i32 %t166 store ptr %t162, ptr %t179 %t180 = add i32 %t166, 1 store i32 %t180, ptr %t163 %t181 = load ptr, ptr @g_g_rg_open %t182 = getelementptr inbounds %LSlice, ptr %t181, i32 0, i32 1 %t183 = getelementptr inbounds %LSlice, ptr %t181, i32 0, i32 2 %t184 = getelementptr inbounds %LSlice, ptr %t181, i32 0, i32 0 %t185 = load i32, ptr %t182 %t186 = load i32, ptr %t183 %t187 = icmp sge i32 %t185, %t186 br i1 %t187, label %grow27, label %put28 grow27: %t188 = mul i32 %t186, 2 %t189 = icmp eq i32 %t186, 0 %t190 = select i1 %t189, i32 8, i32 %t188 %t191 = getelementptr i32, ptr null, i32 1 %t192 = ptrtoint ptr %t191 to i64 %t193 = zext i32 %t190 to i64 %t194 = mul i64 %t193, %t192 %t195 = load ptr, ptr %t184 store i32 1721, ptr @lp_site %t196 = call ptr @lp_realloc(ptr %t195, i64 %t194) store i32 0, ptr @lp_site store ptr %t196, ptr %t184 store i32 %t190, ptr %t183 br label %put28 put28: %t197 = load ptr, ptr %t184 %t198 = getelementptr inbounds i32, ptr %t197, i32 %t185 store i32 0, ptr %t198 %t199 = add i32 %t185, 1 store i32 %t199, ptr %t182 %t200 = load ptr, ptr @g_g_rg_from %t201 = load ptr, ptr %t52 %t202 = getelementptr inbounds %LSlice, ptr %t200, i32 0, i32 1 %t203 = getelementptr inbounds %LSlice, ptr %t200, i32 0, i32 2 %t204 = getelementptr inbounds %LSlice, ptr %t200, i32 0, i32 0 %t205 = load i32, ptr %t202 %t206 = load i32, ptr %t203 %t207 = icmp sge i32 %t205, %t206 br i1 %t207, label %grow29, label %put30 grow29: %t208 = mul i32 %t206, 2 %t209 = icmp eq i32 %t206, 0 %t210 = select i1 %t209, i32 8, i32 %t208 %t211 = getelementptr ptr, ptr null, i32 1 %t212 = ptrtoint ptr %t211 to i64 %t213 = zext i32 %t210 to i64 %t214 = mul i64 %t213, %t212 %t215 = load ptr, ptr %t204 store i32 1722, ptr @lp_site %t216 = call ptr @lp_realloc(ptr %t215, i64 %t214) store i32 0, ptr @lp_site store ptr %t216, ptr %t204 store i32 %t210, ptr %t203 br label %put30 put30: %t217 = load ptr, ptr %t204 %t218 = getelementptr inbounds ptr, ptr %t217, i32 %t205 store ptr %t201, ptr %t218 %t219 = add i32 %t205, 1 store i32 %t219, ptr %t202 call void @fn_i18n_registry_declared() %t220 = load ptr, ptr @g_g_rg_at %t221 = call i32 @fn_at_registry_take() %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 %grow31, label %put32 grow31: %t228 = mul i32 %t226, 2 %t229 = icmp eq i32 %t226, 0 %t230 = select i1 %t229, i32 8, i32 %t228 %t231 = getelementptr i32, 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 store i32 1723, ptr @lp_site %t236 = call ptr @lp_realloc(ptr %t235, i64 %t234) store i32 0, ptr @lp_site store ptr %t236, ptr %t224 store i32 %t230, ptr %t223 br label %put32 put32: %t237 = load ptr, ptr %t224 %t238 = getelementptr inbounds i32, ptr %t237, i32 %t225 store i32 %t221, ptr %t238 %t239 = add i32 %t225, 1 store i32 %t239, ptr %t222 %t240 = load i32, ptr %t1 %t241 = load i32, ptr %t3 %t242 = load ptr, ptr %t7 %t243 = getelementptr inbounds %Cmp_Node, ptr %t242, i32 0, i32 1 %t244 = load ptr, ptr %t243 call void @fn_pm_declared(i32 %t240, i32 %t241, ptr %t244) %t246 = load ptr, ptr %t52 %t247 = icmp ne ptr %t246, null %t248 = zext i1 %t247 to i32 %t249 = icmp ne i32 %t248, 0 %t250 = zext i1 %t249 to i32 store i32 %t250, ptr %t245 br i1 %t249, label %sc33, label %scend34 sc33: %t251 = load i32, ptr %t1 %t252 = icmp eq i32 %t251, 0 %t253 = zext i1 %t252 to i32 %t254 = icmp ne i32 %t253, 0 %t255 = zext i1 %t254 to i32 store i32 %t255, ptr %t245 br label %scend34 scend34: %t256 = load i32, ptr %t245 %t257 = icmp ne i32 %t256, 0 br i1 %t257, label %then35, label %ifend37 then35: %t258 = load ptr, ptr %t7 %t259 = load ptr, ptr %t52 call void @fn_res_read(ptr %t258, ptr %t259) br label %ifend37 ifend37: br label %ret ret: ret void } define void @fn_parse_def() { entry: %t3 = alloca ptr %t4 = alloca i32 %t40 = alloca ptr %t58 = alloca ptr %t60 = 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 %t5 = call i32 @fn_is_id(ptr @.str2276) %t6 = icmp ne i32 %t5, 0 %t7 = zext i1 %t6 to i32 store i32 %t7, ptr %t4 br i1 %t6, label %sc0, label %scend1 sc0: %t8 = load ptr, ptr @g_toks %t9 = load i32, ptr @g_pi %t10 = add i32 %t9, 1 %t11 = getelementptr inbounds %LSlice, ptr %t8, i32 0, i32 0 %t12 = load ptr, ptr %t11 %t13 = getelementptr inbounds %LSlice, ptr %t8, i32 0, i32 1 %t14 = load i32, ptr %t13 %t15 = icmp ult i32 %t10, %t14 br i1 %t15, label %ixok2, label %ixbad3 ixbad3: store i32 1724, ptr @lp_site %t16 = call ptr @lp_win_stdio(i32 2) store i32 0, ptr @lp_site call i32 (ptr, ptr, ...) @fprintf(ptr %t16, ptr @.fmt_bounds, ptr @.str2277, i32 %t10, i32 %t14) call void @exit(i32 1) unreachable ixok2: %t17 = getelementptr inbounds ptr, ptr %t12, i32 %t10 %t18 = load ptr, ptr %t17 %t19 = getelementptr inbounds %Cmp_Tok, ptr %t18, i32 0, i32 0 %t20 = load i32, ptr %t19 %t21 = icmp eq i32 %t20, 2 %t22 = zext i1 %t21 to i32 %t23 = icmp ne i32 %t22, 0 %t24 = zext i1 %t23 to i32 store i32 %t24, ptr %t4 br label %scend1 scend1: %t25 = load i32, ptr %t4 %t26 = icmp ne i32 %t25, 0 br i1 %t26, label %then4, label %ifend6 then4: %t27 = load ptr, ptr @g_toks %t28 = load i32, ptr @g_pi %t29 = add i32 %t28, 1 %t30 = getelementptr inbounds %LSlice, ptr %t27, i32 0, i32 0 %t31 = load ptr, ptr %t30 %t32 = getelementptr inbounds %LSlice, ptr %t27, i32 0, i32 1 %t33 = load i32, ptr %t32 %t34 = icmp ult i32 %t29, %t33 br i1 %t34, label %ixok7, label %ixbad8 ixbad8: store i32 1725, ptr @lp_site %t35 = call ptr @lp_win_stdio(i32 2) store i32 0, ptr @lp_site call i32 (ptr, ptr, ...) @fprintf(ptr %t35, ptr @.fmt_bounds, ptr @.str2279, i32 %t29, i32 %t33) call void @exit(i32 1) unreachable ixok7: %t36 = getelementptr inbounds ptr, ptr %t31, i32 %t29 %t37 = load ptr, ptr %t36 %t38 = getelementptr inbounds %Cmp_Tok, ptr %t37, i32 0, i32 1 %t39 = load ptr, ptr %t38 store ptr %t39, ptr %t40 %t41 = load i32, ptr @g_pi %t42 = add i32 %t41, 2 store i32 %t42, ptr @g_pi %t43 = load ptr, ptr %t3 %t44 = load ptr, ptr %t40 %t45 = load ptr, ptr %t3 store i32 1726, ptr @lp_site %t46 = call ptr @lp_str_concat(ptr @.str2280, ptr %t45) store i32 0, ptr @lp_site store i32 1727, ptr @lp_site %t47 = call ptr @lp_str_concat(ptr %t46, ptr @.str2281) store i32 0, ptr @lp_site call void @lp_free(ptr %t46) call void @fn_res_read_into(ptr %t43, ptr %t44, ptr %t47) br label %ret ifend6: %t48 = load ptr, ptr @g_toks %t49 = load i32, ptr @g_pi %t50 = getelementptr inbounds %LSlice, ptr %t48, i32 0, i32 0 %t51 = load ptr, ptr %t50 %t52 = getelementptr inbounds %LSlice, ptr %t48, i32 0, i32 1 %t53 = load i32, ptr %t52 %t54 = icmp ult i32 %t49, %t53 br i1 %t54, label %ixok9, label %ixbad10 ixbad10: store i32 1728, ptr @lp_site %t55 = call ptr @lp_win_stdio(i32 2) store i32 0, ptr @lp_site call i32 (ptr, ptr, ...) @fprintf(ptr %t55, ptr @.fmt_bounds, ptr @.str2282, i32 %t49, i32 %t53) call void @exit(i32 1) unreachable ixok9: %t56 = getelementptr inbounds ptr, ptr %t51, i32 %t49 %t57 = load ptr, ptr %t56 store ptr %t57, ptr %t58 %t59 = call ptr @fn_eat_id() store ptr %t59, ptr %t60 call void @fn_skipnl() %t61 = call ptr @fn_record() store ptr %t61, ptr %t62 %t63 = load ptr, ptr %t3 %t64 = load ptr, ptr %t60 %t65 = load ptr, ptr %t62 %t66 = load ptr, ptr %t58 %t67 = getelementptr inbounds %Cmp_Tok, ptr %t66, i32 0, i32 3 %t68 = load i32, ptr %t67 %t69 = load ptr, ptr %t58 %t70 = getelementptr inbounds %Cmp_Tok, ptr %t69, i32 0, i32 6 %t71 = load i32, ptr %t70 %t72 = load ptr, ptr @g_g_parse_file store i32 1729, ptr @lp_site %t73 = call ptr @lp_str_concat(ptr %t72, ptr @.str2284) store i32 0, ptr @lp_site %t74 = load ptr, ptr %t58 %t75 = getelementptr inbounds %Cmp_Tok, ptr %t74, i32 0, i32 3 %t76 = load i32, ptr %t75 %t77 = call ptr @fn_itoa(i32 %t76) store i32 1730, ptr @lp_site %t78 = call ptr @lp_str_concat(ptr %t73, ptr %t77) store i32 0, ptr @lp_site call void @lp_free(ptr %t73) call void @fn_df_push(ptr %t63, ptr %t64, ptr %t65, i32 %t68, i32 %t71, ptr @.str2283, ptr %t78) br label %ret ret: ret void } define i32 @fn_reg_find(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_rg_name %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_rg_name %t10 = load i32, ptr %t1 %t11 = getelementptr inbounds %LSlice, ptr %t9, i32 0, i32 0 %t12 = load ptr, ptr %t11 %t13 = getelementptr inbounds %LSlice, ptr %t9, i32 0, i32 1 %t14 = load i32, ptr %t13 %t15 = icmp ult i32 %t10, %t14 br i1 %t15, label %ixok3, label %ixbad4 ixbad4: store i32 1731, ptr @lp_site %t16 = call ptr @lp_win_stdio(i32 2) store i32 0, ptr @lp_site call i32 (ptr, ptr, ...) @fprintf(ptr %t16, ptr @.fmt_bounds, ptr @.str2285, i32 %t10, i32 %t14) call void @exit(i32 1) unreachable ixok3: %t17 = getelementptr inbounds ptr, ptr %t12, i32 %t10 %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 br i1 %t21, label %then5, label %ifend7 then5: %t22 = load i32, ptr %t1 store i32 %t22, ptr %retval br label %ret ifend7: %t23 = load i32, ptr %t1 %t24 = add i32 %t23, 1 store i32 %t24, ptr %t1 br label %wcond0 wend2: %t25 = sub i32 0, 1 store i32 %t25, ptr %retval br label %ret ret: %t26 = load i32, ptr %retval ret i32 %t26 } define i32 @fn_reg_rec_has(ptr %arg_rec, ptr %arg_field) { entry: %retval = alloca i32 %t0 = alloca ptr %t1 = alloca ptr %t2 = alloca i32 store ptr %arg_rec, ptr %t0 store ptr %arg_field, 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 = load i32, ptr %t2 %t16 = getelementptr inbounds %LSlice, ptr %t14, i32 0, i32 0 %t17 = load ptr, ptr %t16 %t18 = getelementptr inbounds %LSlice, ptr %t14, i32 0, i32 1 %t19 = load i32, ptr %t18 %t20 = icmp ult i32 %t15, %t19 br i1 %t20, label %ixok3, label %ixbad4 ixbad4: store i32 1732, ptr @lp_site %t21 = call ptr @lp_win_stdio(i32 2) store i32 0, ptr @lp_site call i32 (ptr, ptr, ...) @fprintf(ptr %t21, ptr @.fmt_bounds, ptr @.str2287, i32 %t15, i32 %t19) call void @exit(i32 1) unreachable ixok3: %t22 = getelementptr inbounds ptr, ptr %t17, i32 %t15 %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 %then5, label %ifend7 then5: store i32 1, ptr %retval br label %ret ifend7: %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 ptr @fn_reg_decl(i32 %arg_kind, ptr %arg_v) { entry: %retval = alloca ptr %t0 = alloca i32 %t1 = alloca ptr %t4 = alloca ptr store i32 %arg_kind, ptr %t0 store ptr %arg_v, ptr %t1 %t2 = load i32, ptr %t0 %t3 = call ptr @fn_node(i32 %t2) store ptr %t3, ptr %t4 %t5 = load ptr, ptr %t4 %t6 = getelementptr inbounds %Cmp_Node, ptr %t5, i32 0, i32 9 %t7 = load ptr, ptr %t1 %t8 = getelementptr inbounds %Cmp_Node, ptr %t7, i32 0, i32 9 %t9 = load ptr, ptr %t8 store ptr %t9, ptr %t6 %t10 = load ptr, ptr %t4 %t11 = getelementptr inbounds %Cmp_Node, ptr %t10, i32 0, i32 8 %t12 = load ptr, ptr %t1 %t13 = getelementptr inbounds %Cmp_Node, ptr %t12, i32 0, i32 8 %t14 = load i32, ptr %t13 store i32 %t14, ptr %t11 %t15 = load ptr, ptr %t4 %t16 = getelementptr inbounds %Cmp_Node, ptr %t15, i32 0, i32 10 %t17 = load ptr, ptr %t1 %t18 = getelementptr inbounds %Cmp_Node, ptr %t17, i32 0, i32 10 %t19 = load i32, ptr %t18 store i32 %t19, ptr %t16 %t20 = load ptr, ptr %t4 store ptr %t20, ptr %retval br label %ret ret: %t21 = load ptr, ptr %retval ret ptr %t21 } define void @fn_reg_const(ptr %arg_v, ptr %arg_name, i32 %arg_value) { entry: %t0 = alloca ptr %t1 = alloca ptr %t2 = alloca i32 %t5 = alloca ptr %t12 = alloca ptr store ptr %arg_v, ptr %t0 store ptr %arg_name, ptr %t1 store i32 %arg_value, ptr %t2 %t3 = load ptr, ptr %t0 %t4 = call ptr @fn_reg_decl(i32 3, ptr %t3) 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 %t1 store ptr %t8, ptr %t7 %t9 = load ptr, ptr %t5 %t10 = getelementptr inbounds %Cmp_Node, ptr %t9, i32 0, i32 3 store ptr @.str2289, ptr %t10 %t11 = call ptr @fn_node(i32 30) store ptr %t11, ptr %t12 %t13 = load ptr, ptr %t12 %t14 = getelementptr inbounds %Cmp_Node, ptr %t13, i32 0, i32 2 %t15 = load i32, ptr %t2 store i32 %t15, ptr %t14 %t16 = load ptr, ptr %t12 %t17 = getelementptr inbounds %Cmp_Node, ptr %t16, i32 0, i32 9 %t18 = load ptr, ptr %t0 %t19 = getelementptr inbounds %Cmp_Node, ptr %t18, i32 0, i32 9 %t20 = load ptr, ptr %t19 store ptr %t20, ptr %t17 %t21 = load ptr, ptr %t5 %t22 = getelementptr inbounds %Cmp_Node, ptr %t21, i32 0, i32 4 %t23 = load ptr, ptr %t12 store ptr %t23, ptr %t22 %t24 = load ptr, ptr @g_prog %t25 = load ptr, ptr %t5 %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 store i32 1733, ptr @lp_site %t40 = call ptr @lp_realloc(ptr %t39, i64 %t38) store i32 0, ptr @lp_site 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 void @fn_registries_finish() { entry: %t0 = alloca i32 %t85 = alloca i32 store i32 0, ptr %t0 br label %wcond0 wcond0: %t1 = load i32, ptr %t0 %t2 = load ptr, ptr @g_g_df_reg %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_df_reg %t9 = load i32, ptr %t0 %t10 = getelementptr inbounds %LSlice, ptr %t8, i32 0, i32 0 %t11 = load ptr, ptr %t10 %t12 = getelementptr inbounds %LSlice, ptr %t8, i32 0, i32 1 %t13 = load i32, ptr %t12 %t14 = icmp ult i32 %t9, %t13 br i1 %t14, label %ixok3, label %ixbad4 ixbad4: store i32 1734, ptr @lp_site %t15 = call ptr @lp_win_stdio(i32 2) store i32 0, ptr @lp_site call i32 (ptr, ptr, ...) @fprintf(ptr %t15, ptr @.fmt_bounds, ptr @.str2291, i32 %t9, i32 %t13) call void @exit(i32 1) unreachable ixok3: %t16 = getelementptr inbounds ptr, ptr %t11, i32 %t9 %t17 = load ptr, ptr %t16 %t18 = call i32 @fn_reg_find(ptr %t17) %t19 = icmp slt i32 %t18, 0 %t20 = zext i1 %t19 to i32 %t21 = icmp ne i32 %t20, 0 br i1 %t21, label %then5, label %ifend7 then5: %t22 = load ptr, ptr @g_g_df_rec %t23 = load i32, ptr %t0 %t24 = getelementptr inbounds %LSlice, ptr %t22, i32 0, i32 0 %t25 = load ptr, ptr %t24 %t26 = getelementptr inbounds %LSlice, ptr %t22, i32 0, i32 1 %t27 = load i32, ptr %t26 %t28 = icmp ult i32 %t23, %t27 br i1 %t28, label %ixok8, label %ixbad9 ixbad9: store i32 1735, ptr @lp_site %t29 = call ptr @lp_win_stdio(i32 2) store i32 0, ptr @lp_site call i32 (ptr, ptr, ...) @fprintf(ptr %t29, ptr @.fmt_bounds, ptr @.str2293, i32 %t23, i32 %t27) call void @exit(i32 1) unreachable ixok8: %t30 = getelementptr inbounds ptr, ptr %t25, i32 %t23 %t31 = load ptr, ptr %t30 %t32 = getelementptr inbounds %Cmp_Node, ptr %t31, i32 0, i32 9 %t33 = load ptr, ptr %t32 store ptr %t33, ptr @g_g_err_file %t34 = load ptr, ptr @g_g_df_rec %t35 = load i32, ptr %t0 %t36 = getelementptr inbounds %LSlice, ptr %t34, i32 0, i32 0 %t37 = load ptr, ptr %t36 %t38 = getelementptr inbounds %LSlice, ptr %t34, i32 0, i32 1 %t39 = load i32, ptr %t38 %t40 = icmp ult i32 %t35, %t39 br i1 %t40, label %ixok10, label %ixbad11 ixbad11: store i32 1736, ptr @lp_site %t41 = call ptr @lp_win_stdio(i32 2) store i32 0, ptr @lp_site call i32 (ptr, ptr, ...) @fprintf(ptr %t41, ptr @.fmt_bounds, ptr @.str2294, i32 %t35, i32 %t39) call void @exit(i32 1) unreachable ixok10: %t42 = getelementptr inbounds ptr, ptr %t37, i32 %t35 %t43 = load ptr, ptr %t42 %t44 = getelementptr inbounds %Cmp_Node, ptr %t43, i32 0, i32 8 %t45 = load i32, ptr %t44 store i32 %t45, ptr @g_g_err_line store i32 0, ptr @g_g_parsing %t46 = load ptr, ptr @g_g_df_reg %t47 = load i32, ptr %t0 %t48 = getelementptr inbounds %LSlice, ptr %t46, i32 0, i32 0 %t49 = load ptr, ptr %t48 %t50 = getelementptr inbounds %LSlice, ptr %t46, i32 0, i32 1 %t51 = load i32, ptr %t50 %t52 = icmp ult i32 %t47, %t51 br i1 %t52, label %ixok12, label %ixbad13 ixbad13: store i32 1737, ptr @lp_site %t53 = call ptr @lp_win_stdio(i32 2) store i32 0, ptr @lp_site call i32 (ptr, ptr, ...) @fprintf(ptr %t53, ptr @.fmt_bounds, ptr @.str2296, i32 %t47, i32 %t51) call void @exit(i32 1) unreachable ixok12: %t54 = getelementptr inbounds ptr, ptr %t49, i32 %t47 %t55 = load ptr, ptr %t54 store i32 1738, ptr @lp_site %t56 = call ptr @lp_str_concat(ptr @.str2295, ptr %t55) store i32 0, ptr @lp_site store i32 1739, ptr @lp_site %t57 = call ptr @lp_str_concat(ptr %t56, ptr @.str2297) store i32 0, ptr @lp_site call void @lp_free(ptr %t56) %t58 = load ptr, ptr @g_g_df_key %t59 = load i32, ptr %t0 %t60 = getelementptr inbounds %LSlice, ptr %t58, i32 0, i32 0 %t61 = load ptr, ptr %t60 %t62 = getelementptr inbounds %LSlice, ptr %t58, i32 0, i32 1 %t63 = load i32, ptr %t62 %t64 = icmp ult i32 %t59, %t63 br i1 %t64, label %ixok14, label %ixbad15 ixbad15: store i32 1740, ptr @lp_site %t65 = call ptr @lp_win_stdio(i32 2) store i32 0, ptr @lp_site call i32 (ptr, ptr, ...) @fprintf(ptr %t65, ptr @.fmt_bounds, ptr @.str2298, i32 %t59, i32 %t63) call void @exit(i32 1) unreachable ixok14: %t66 = getelementptr inbounds ptr, ptr %t61, i32 %t59 %t67 = load ptr, ptr %t66 store i32 1741, ptr @lp_site %t68 = call ptr @lp_str_concat(ptr %t57, ptr %t67) store i32 0, ptr @lp_site call void @lp_free(ptr %t57) store i32 1742, ptr @lp_site %t69 = call ptr @lp_str_concat(ptr %t68, ptr @.str2299) store i32 0, ptr @lp_site call void @lp_free(ptr %t68) %t70 = load ptr, ptr @g_g_df_reg %t71 = load i32, ptr %t0 %t72 = getelementptr inbounds %LSlice, ptr %t70, i32 0, i32 0 %t73 = load ptr, ptr %t72 %t74 = getelementptr inbounds %LSlice, ptr %t70, i32 0, i32 1 %t75 = load i32, ptr %t74 %t76 = icmp ult i32 %t71, %t75 br i1 %t76, label %ixok16, label %ixbad17 ixbad17: store i32 1743, ptr @lp_site %t77 = call ptr @lp_win_stdio(i32 2) store i32 0, ptr @lp_site call i32 (ptr, ptr, ...) @fprintf(ptr %t77, ptr @.fmt_bounds, ptr @.str2300, i32 %t71, i32 %t75) call void @exit(i32 1) unreachable ixok16: %t78 = getelementptr inbounds ptr, ptr %t73, i32 %t71 %t79 = load ptr, ptr %t78 store i32 1744, ptr @lp_site %t80 = call ptr @lp_str_concat(ptr %t69, ptr %t79) store i32 0, ptr @lp_site call void @lp_free(ptr %t69) call void @fn_perr(ptr %t80) br label %ifend7 ifend7: %t81 = load i32, ptr %t0 call void @fn_pm_def_check(i32 %t81) %t82 = load i32, ptr %t0 call void @fn_reg_def_check(i32 %t82) %t83 = load i32, ptr %t0 %t84 = add i32 %t83, 1 store i32 %t84, ptr %t0 br label %wcond0 wend2: store i32 0, ptr %t85 br label %wcond18 wcond18: %t86 = load i32, ptr %t85 %t87 = load ptr, ptr @g_g_rg_name %t88 = getelementptr inbounds %LSlice, ptr %t87, i32 0, i32 1 %t89 = load i32, ptr %t88 %t90 = icmp slt i32 %t86, %t89 %t91 = zext i1 %t90 to i32 %t92 = icmp ne i32 %t91, 0 br i1 %t92, label %wbody19, label %wend20 wbody19: %t93 = load i32, ptr %t85 %t94 = call i32 @fn_pm_is(i32 %t93) %t95 = icmp eq i32 %t94, 0 %t96 = zext i1 %t95 to i32 %t97 = icmp ne i32 %t96, 0 br i1 %t97, label %then21, label %ifend23 then21: %t98 = load i32, ptr %t85 call void @fn_reg_fill(i32 %t98) br label %ifend23 ifend23: %t99 = load i32, ptr %t85 %t100 = add i32 %t99, 1 store i32 %t100, ptr %t85 br label %wcond18 wend20: call void @fn_pm_finish() br label %ret ret: ret void } define void @fn_reg_fill(i32 %arg_r) { entry: %t0 = alloca i32 %t11 = alloca ptr %t22 = alloca ptr %t25 = alloca ptr %t26 = alloca i32 %t39 = alloca i32 %t41 = alloca ptr %t58 = alloca ptr %t59 = alloca i32 %t62 = alloca ptr %t63 = alloca i32 %t81 = alloca i32 %t92 = alloca ptr %t103 = alloca ptr %t104 = alloca i32 %t205 = alloca i32 %t218 = alloca ptr %t222 = alloca ptr %t282 = alloca ptr %t359 = alloca ptr store i32 %arg_r, ptr %t0 %t1 = load ptr, ptr @g_g_rg_var %t2 = load i32, ptr %t0 %t3 = getelementptr inbounds %LSlice, ptr %t1, i32 0, i32 0 %t4 = load ptr, ptr %t3 %t5 = getelementptr inbounds %LSlice, ptr %t1, i32 0, i32 1 %t6 = load i32, ptr %t5 %t7 = icmp ult i32 %t2, %t6 br i1 %t7, label %ixok0, label %ixbad1 ixbad1: store i32 1745, ptr @lp_site %t8 = call ptr @lp_win_stdio(i32 2) store i32 0, ptr @lp_site call i32 (ptr, ptr, ...) @fprintf(ptr %t8, ptr @.fmt_bounds, ptr @.str2301, i32 %t2, i32 %t6) call void @exit(i32 1) unreachable ixok0: %t9 = getelementptr inbounds ptr, ptr %t4, i32 %t2 %t10 = load ptr, ptr %t9 store ptr %t10, ptr %t11 %t12 = load ptr, ptr @g_g_rg_type %t13 = load i32, ptr %t0 %t14 = getelementptr inbounds %LSlice, ptr %t12, i32 0, i32 0 %t15 = load ptr, ptr %t14 %t16 = getelementptr inbounds %LSlice, ptr %t12, i32 0, i32 1 %t17 = load i32, ptr %t16 %t18 = icmp ult i32 %t13, %t17 br i1 %t18, label %ixok2, label %ixbad3 ixbad3: store i32 1746, ptr @lp_site %t19 = call ptr @lp_win_stdio(i32 2) store i32 0, ptr @lp_site call i32 (ptr, ptr, ...) @fprintf(ptr %t19, ptr @.fmt_bounds, ptr @.str2303, i32 %t13, i32 %t17) call void @exit(i32 1) unreachable ixok2: %t20 = getelementptr inbounds ptr, ptr %t15, i32 %t13 %t21 = load ptr, ptr %t20 store ptr %t21, ptr %t22 %t23 = load ptr, ptr %t22 %t24 = call ptr @fn_find_comp(ptr %t23) store ptr %t24, ptr %t25 %t27 = load ptr, ptr %t25 %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 %t26 br i1 %t30, label %sc4, label %scend5 sc4: %t32 = load ptr, ptr %t25 %t33 = call i32 @fn_field_index(ptr %t32, ptr @.str2304) %t34 = icmp sge i32 %t33, 0 %t35 = zext i1 %t34 to i32 %t36 = icmp ne i32 %t35, 0 %t37 = zext i1 %t36 to i32 store i32 %t37, ptr %t26 br label %scend5 scend5: %t38 = load i32, ptr %t26 store i32 %t38, ptr %t39 %t40 = call ptr @fn_node(i32 54) store ptr %t40, ptr %t41 %t42 = load ptr, ptr %t41 %t43 = getelementptr inbounds %Cmp_Node, ptr %t42, i32 0, i32 9 %t44 = load ptr, ptr %t11 %t45 = getelementptr inbounds %Cmp_Node, ptr %t44, i32 0, i32 9 %t46 = load ptr, ptr %t45 store ptr %t46, ptr %t43 %t47 = load ptr, ptr %t41 %t48 = getelementptr inbounds %Cmp_Node, ptr %t47, i32 0, i32 8 %t49 = load ptr, ptr %t11 %t50 = getelementptr inbounds %Cmp_Node, ptr %t49, i32 0, i32 8 %t51 = load i32, ptr %t50 store i32 %t51, ptr %t48 %t52 = getelementptr %LSlice, ptr null, i32 1 %t53 = ptrtoint ptr %t52 to i64 store i32 1747, ptr @lp_site %t54 = call ptr @lp_malloc(i64 %t53) store i32 0, ptr @lp_site %t55 = getelementptr inbounds %LSlice, ptr %t54, i32 0, i32 0 store ptr null, ptr %t55 %t56 = getelementptr inbounds %LSlice, ptr %t54, i32 0, i32 1 store i32 0, ptr %t56 %t57 = getelementptr inbounds %LSlice, ptr %t54, i32 0, i32 2 store i32 0, ptr %t57 store ptr %t54, ptr %t58 store i32 0, ptr %t59 %t60 = load i32, ptr %t0 %t61 = call ptr @fn_reg_order(i32 %t60) store ptr %t61, ptr %t62 store i32 0, ptr %t63 br label %wcond6 wcond6: %t64 = load i32, ptr %t63 %t65 = load ptr, ptr %t62 %t66 = getelementptr inbounds %LSlice, ptr %t65, i32 0, i32 1 %t67 = load i32, ptr %t66 %t68 = icmp slt i32 %t64, %t67 %t69 = zext i1 %t68 to i32 %t70 = icmp ne i32 %t69, 0 br i1 %t70, label %wbody7, label %wend8 wbody7: %t71 = load ptr, ptr %t62 %t72 = load i32, ptr %t63 %t73 = getelementptr inbounds %LSlice, ptr %t71, i32 0, i32 0 %t74 = load ptr, ptr %t73 %t75 = getelementptr inbounds %LSlice, ptr %t71, i32 0, i32 1 %t76 = load i32, ptr %t75 %t77 = icmp ult i32 %t72, %t76 br i1 %t77, label %ixok9, label %ixbad10 ixbad10: store i32 1748, ptr @lp_site %t78 = call ptr @lp_win_stdio(i32 2) store i32 0, ptr @lp_site call i32 (ptr, ptr, ...) @fprintf(ptr %t78, ptr @.fmt_bounds, ptr @.str2305, i32 %t72, i32 %t76) call void @exit(i32 1) unreachable ixok9: %t79 = getelementptr inbounds i32, ptr %t74, i32 %t72 %t80 = load i32, ptr %t79 store i32 %t80, ptr %t81 %t82 = load ptr, ptr @g_g_df_key %t83 = load i32, ptr %t81 %t84 = getelementptr inbounds %LSlice, ptr %t82, i32 0, i32 0 %t85 = load ptr, ptr %t84 %t86 = getelementptr inbounds %LSlice, ptr %t82, i32 0, i32 1 %t87 = load i32, ptr %t86 %t88 = icmp ult i32 %t83, %t87 br i1 %t88, label %ixok11, label %ixbad12 ixbad12: store i32 1749, ptr @lp_site %t89 = call ptr @lp_win_stdio(i32 2) store i32 0, ptr @lp_site call i32 (ptr, ptr, ...) @fprintf(ptr %t89, ptr @.fmt_bounds, ptr @.str2306, i32 %t83, i32 %t87) call void @exit(i32 1) unreachable ixok11: %t90 = getelementptr inbounds ptr, ptr %t85, i32 %t83 %t91 = load ptr, ptr %t90 store ptr %t91, ptr %t92 %t93 = load ptr, ptr @g_g_df_rec %t94 = load i32, ptr %t81 %t95 = getelementptr inbounds %LSlice, ptr %t93, i32 0, i32 0 %t96 = load ptr, ptr %t95 %t97 = getelementptr inbounds %LSlice, ptr %t93, i32 0, i32 1 %t98 = load i32, ptr %t97 %t99 = icmp ult i32 %t94, %t98 br i1 %t99, label %ixok13, label %ixbad14 ixbad14: store i32 1750, ptr @lp_site %t100 = call ptr @lp_win_stdio(i32 2) store i32 0, ptr @lp_site call i32 (ptr, ptr, ...) @fprintf(ptr %t100, ptr @.fmt_bounds, ptr @.str2307, i32 %t94, i32 %t98) call void @exit(i32 1) unreachable ixok13: %t101 = getelementptr inbounds ptr, ptr %t96, i32 %t94 %t102 = load ptr, ptr %t101 store ptr %t102, ptr %t103 store i32 0, ptr %t104 br label %wcond15 wcond15: %t105 = load i32, ptr %t104 %t106 = load ptr, ptr %t58 %t107 = getelementptr inbounds %LSlice, ptr %t106, i32 0, i32 1 %t108 = load i32, ptr %t107 %t109 = icmp slt i32 %t105, %t108 %t110 = zext i1 %t109 to i32 %t111 = icmp ne i32 %t110, 0 br i1 %t111, label %wbody16, label %wend17 wbody16: %t112 = load ptr, ptr %t58 %t113 = load i32, ptr %t104 %t114 = getelementptr inbounds %LSlice, ptr %t112, i32 0, i32 0 %t115 = load ptr, ptr %t114 %t116 = getelementptr inbounds %LSlice, ptr %t112, i32 0, i32 1 %t117 = load i32, ptr %t116 %t118 = icmp ult i32 %t113, %t117 br i1 %t118, label %ixok18, label %ixbad19 ixbad19: store i32 1751, ptr @lp_site %t119 = call ptr @lp_win_stdio(i32 2) store i32 0, ptr @lp_site call i32 (ptr, ptr, ...) @fprintf(ptr %t119, ptr @.fmt_bounds, ptr @.str2308, i32 %t113, i32 %t117) call void @exit(i32 1) unreachable ixok18: %t120 = getelementptr inbounds ptr, ptr %t115, i32 %t113 %t121 = load ptr, ptr %t120 %t122 = load ptr, ptr %t92 %t123 = call i32 @lp_str_eq(ptr %t121, ptr %t122) %t124 = icmp ne i32 %t123, 0 br i1 %t124, label %then20, label %ifend22 then20: %t125 = load ptr, ptr %t103 %t126 = getelementptr inbounds %Cmp_Node, ptr %t125, i32 0, i32 9 %t127 = load ptr, ptr %t126 store ptr %t127, ptr @g_g_err_file %t128 = load ptr, ptr %t103 %t129 = getelementptr inbounds %Cmp_Node, ptr %t128, i32 0, i32 8 %t130 = load i32, ptr %t129 store i32 %t130, ptr @g_g_err_line store i32 0, ptr @g_g_parsing %t131 = load ptr, ptr @g_g_rg_name %t132 = load i32, ptr %t0 %t133 = getelementptr inbounds %LSlice, ptr %t131, i32 0, i32 0 %t134 = load ptr, ptr %t133 %t135 = getelementptr inbounds %LSlice, ptr %t131, i32 0, i32 1 %t136 = load i32, ptr %t135 %t137 = icmp ult i32 %t132, %t136 br i1 %t137, label %ixok23, label %ixbad24 ixbad24: store i32 1752, ptr @lp_site %t138 = call ptr @lp_win_stdio(i32 2) store i32 0, ptr @lp_site call i32 (ptr, ptr, ...) @fprintf(ptr %t138, ptr @.fmt_bounds, ptr @.str2310, i32 %t132, i32 %t136) call void @exit(i32 1) unreachable ixok23: %t139 = getelementptr inbounds ptr, ptr %t134, i32 %t132 %t140 = load ptr, ptr %t139 store i32 1753, ptr @lp_site %t141 = call ptr @lp_str_concat(ptr @.str2309, ptr %t140) store i32 0, ptr @lp_site store i32 1754, ptr @lp_site %t142 = call ptr @lp_str_concat(ptr %t141, ptr @.str2311) store i32 0, ptr @lp_site call void @lp_free(ptr %t141) %t143 = load ptr, ptr %t92 store i32 1755, ptr @lp_site %t144 = call ptr @lp_str_concat(ptr %t142, ptr %t143) store i32 0, ptr @lp_site call void @lp_free(ptr %t142) store i32 1756, ptr @lp_site %t145 = call ptr @lp_str_concat(ptr %t144, ptr @.str2312) store i32 0, ptr @lp_site call void @lp_free(ptr %t144) call void @fn_perr(ptr %t145) br label %ifend22 ifend22: %t146 = load i32, ptr %t104 %t147 = add i32 %t146, 1 store i32 %t147, ptr %t104 br label %wcond15 wend17: %t148 = load ptr, ptr %t58 %t149 = load ptr, ptr %t92 %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 %grow25, label %put26 grow25: %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 store i32 1757, ptr @lp_site %t164 = call ptr @lp_realloc(ptr %t163, i64 %t162) store i32 0, ptr @lp_site store ptr %t164, ptr %t152 store i32 %t158, ptr %t151 br label %put26 put26: %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 %t92 %t169 = call ptr @fn_reg_upper(ptr %t168) %t170 = call i32 @lp_str_eq(ptr %t169, ptr @.str2313) %t171 = icmp ne i32 %t170, 0 br i1 %t171, label %then27, label %ifend29 then27: %t172 = load ptr, ptr %t103 %t173 = getelementptr inbounds %Cmp_Node, ptr %t172, i32 0, i32 9 %t174 = load ptr, ptr %t173 store ptr %t174, ptr @g_g_err_file %t175 = load ptr, ptr %t103 %t176 = getelementptr inbounds %Cmp_Node, ptr %t175, i32 0, i32 8 %t177 = load i32, ptr %t176 store i32 %t177, ptr @g_g_err_line store i32 0, ptr @g_g_parsing %t178 = load ptr, ptr @g_g_rg_name %t179 = load i32, ptr %t0 %t180 = getelementptr inbounds %LSlice, ptr %t178, i32 0, i32 0 %t181 = load ptr, ptr %t180 %t182 = getelementptr inbounds %LSlice, ptr %t178, i32 0, i32 1 %t183 = load i32, ptr %t182 %t184 = icmp ult i32 %t179, %t183 br i1 %t184, label %ixok30, label %ixbad31 ixbad31: store i32 1758, ptr @lp_site %t185 = call ptr @lp_win_stdio(i32 2) store i32 0, ptr @lp_site call i32 (ptr, ptr, ...) @fprintf(ptr %t185, ptr @.fmt_bounds, ptr @.str2315, i32 %t179, i32 %t183) call void @exit(i32 1) unreachable ixok30: %t186 = getelementptr inbounds ptr, ptr %t181, i32 %t179 %t187 = load ptr, ptr %t186 store i32 1759, ptr @lp_site %t188 = call ptr @lp_str_concat(ptr @.str2314, ptr %t187) store i32 0, ptr @lp_site store i32 1760, ptr @lp_site %t189 = call ptr @lp_str_concat(ptr %t188, ptr @.str2316) store i32 0, ptr @lp_site call void @lp_free(ptr %t188) %t190 = load ptr, ptr %t92 store i32 1761, ptr @lp_site %t191 = call ptr @lp_str_concat(ptr %t189, ptr %t190) store i32 0, ptr @lp_site call void @lp_free(ptr %t189) store i32 1762, ptr @lp_site %t192 = call ptr @lp_str_concat(ptr %t191, ptr @.str2317) store i32 0, ptr @lp_site call void @lp_free(ptr %t191) %t193 = load ptr, ptr @g_g_rg_prefix %t194 = load i32, ptr %t0 %t195 = getelementptr inbounds %LSlice, ptr %t193, i32 0, i32 0 %t196 = load ptr, ptr %t195 %t197 = getelementptr inbounds %LSlice, ptr %t193, i32 0, i32 1 %t198 = load i32, ptr %t197 %t199 = icmp ult i32 %t194, %t198 br i1 %t199, label %ixok32, label %ixbad33 ixbad33: store i32 1763, ptr @lp_site %t200 = call ptr @lp_win_stdio(i32 2) store i32 0, ptr @lp_site call i32 (ptr, ptr, ...) @fprintf(ptr %t200, ptr @.fmt_bounds, ptr @.str2318, i32 %t194, i32 %t198) call void @exit(i32 1) unreachable ixok32: %t201 = getelementptr inbounds ptr, ptr %t196, i32 %t194 %t202 = load ptr, ptr %t201 store i32 1764, ptr @lp_site %t203 = call ptr @lp_str_concat(ptr %t192, ptr %t202) store i32 0, ptr @lp_site call void @lp_free(ptr %t192) store i32 1765, ptr @lp_site %t204 = call ptr @lp_str_concat(ptr %t203, ptr @.str2319) store i32 0, ptr @lp_site call void @lp_free(ptr %t203) call void @fn_perr(ptr %t204) br label %ifend29 ifend29: %t206 = load i32, ptr %t39 %t207 = icmp ne i32 %t206, 0 %t208 = zext i1 %t207 to i32 store i32 %t208, ptr %t205 br i1 %t207, label %sc34, label %scend35 sc34: %t209 = load ptr, ptr %t103 %t210 = call i32 @fn_reg_rec_has(ptr %t209, ptr @.str2320) %t211 = icmp eq i32 %t210, 0 %t212 = zext i1 %t211 to i32 %t213 = icmp ne i32 %t212, 0 %t214 = zext i1 %t213 to i32 store i32 %t214, ptr %t205 br label %scend35 scend35: %t215 = load i32, ptr %t205 %t216 = icmp ne i32 %t215, 0 br i1 %t216, label %then36, label %ifend38 then36: %t217 = call ptr @fn_node(i32 42) store ptr %t217, ptr %t218 %t219 = load ptr, ptr %t218 %t220 = getelementptr inbounds %Cmp_Node, ptr %t219, i32 0, i32 1 store ptr @.str2321, ptr %t220 %t221 = call ptr @fn_node(i32 31) store ptr %t221, ptr %t222 %t223 = load ptr, ptr %t222 %t224 = getelementptr inbounds %Cmp_Node, ptr %t223, i32 0, i32 1 %t225 = load ptr, ptr %t92 store ptr %t225, ptr %t224 %t226 = load ptr, ptr %t218 %t227 = getelementptr inbounds %Cmp_Node, ptr %t226, i32 0, i32 4 %t228 = load ptr, ptr %t222 store ptr %t228, ptr %t227 %t229 = load ptr, ptr %t103 %t230 = getelementptr inbounds %Cmp_Node, ptr %t229, i32 0, i32 7 %t231 = load ptr, ptr %t230 %t232 = load ptr, ptr %t218 %t233 = getelementptr inbounds %LSlice, ptr %t231, i32 0, i32 1 %t234 = getelementptr inbounds %LSlice, ptr %t231, i32 0, i32 2 %t235 = getelementptr inbounds %LSlice, ptr %t231, i32 0, i32 0 %t236 = load i32, ptr %t233 %t237 = load i32, ptr %t234 %t238 = icmp sge i32 %t236, %t237 br i1 %t238, label %grow39, label %put40 grow39: %t239 = mul i32 %t237, 2 %t240 = icmp eq i32 %t237, 0 %t241 = select i1 %t240, i32 8, i32 %t239 %t242 = getelementptr ptr, ptr null, i32 1 %t243 = ptrtoint ptr %t242 to i64 %t244 = zext i32 %t241 to i64 %t245 = mul i64 %t244, %t243 %t246 = load ptr, ptr %t235 store i32 1766, ptr @lp_site %t247 = call ptr @lp_realloc(ptr %t246, i64 %t245) store i32 0, ptr @lp_site store ptr %t247, ptr %t235 store i32 %t241, ptr %t234 br label %put40 put40: %t248 = load ptr, ptr %t235 %t249 = getelementptr inbounds ptr, ptr %t248, i32 %t236 store ptr %t232, ptr %t249 %t250 = add i32 %t236, 1 store i32 %t250, ptr %t233 br label %ifend38 ifend38: %t251 = load ptr, ptr %t25 %t252 = icmp ne ptr %t251, null %t253 = zext i1 %t252 to i32 %t254 = icmp ne i32 %t253, 0 br i1 %t254, label %then41, label %ifend43 then41: %t255 = load ptr, ptr %t103 %t256 = load ptr, ptr %t25 call void @fn_res_type_fields(ptr %t255, ptr %t256) br label %ifend43 ifend43: %t257 = load i32, ptr %t0 %t258 = load ptr, ptr %t92 %t259 = load ptr, ptr %t103 %t260 = load ptr, ptr %t25 %t261 = load ptr, ptr @g_g_df_kline %t262 = load i32, ptr %t81 %t263 = getelementptr inbounds %LSlice, ptr %t261, i32 0, i32 0 %t264 = load ptr, ptr %t263 %t265 = getelementptr inbounds %LSlice, ptr %t261, i32 0, i32 1 %t266 = load i32, ptr %t265 %t267 = icmp ult i32 %t262, %t266 br i1 %t267, label %ixok44, label %ixbad45 ixbad45: store i32 1767, ptr @lp_site %t268 = call ptr @lp_win_stdio(i32 2) store i32 0, ptr @lp_site call i32 (ptr, ptr, ...) @fprintf(ptr %t268, ptr @.fmt_bounds, ptr @.str2322, i32 %t262, i32 %t266) call void @exit(i32 1) unreachable ixok44: %t269 = getelementptr inbounds i32, ptr %t264, i32 %t262 %t270 = load i32, ptr %t269 %t271 = load ptr, ptr @g_g_df_kcol %t272 = load i32, ptr %t81 %t273 = getelementptr inbounds %LSlice, ptr %t271, i32 0, i32 0 %t274 = load ptr, ptr %t273 %t275 = getelementptr inbounds %LSlice, ptr %t271, i32 0, i32 1 %t276 = load i32, ptr %t275 %t277 = icmp ult i32 %t272, %t276 br i1 %t277, label %ixok46, label %ixbad47 ixbad47: store i32 1768, ptr @lp_site %t278 = call ptr @lp_win_stdio(i32 2) store i32 0, ptr @lp_site call i32 (ptr, ptr, ...) @fprintf(ptr %t278, ptr @.fmt_bounds, ptr @.str2323, i32 %t272, i32 %t276) call void @exit(i32 1) unreachable ixok46: %t279 = getelementptr inbounds i32, ptr %t274, i32 %t272 %t280 = load i32, ptr %t279 call void @fn_i18n_fill_row(i32 %t257, ptr %t258, ptr %t259, ptr %t260, i32 %t270, i32 %t280) %t281 = call ptr @fn_node(i32 39) store ptr %t281, ptr %t282 %t283 = load ptr, ptr %t282 %t284 = getelementptr inbounds %Cmp_Node, ptr %t283, i32 0, i32 1 %t285 = load ptr, ptr %t22 store ptr %t285, ptr %t284 %t286 = load ptr, ptr %t282 %t287 = getelementptr inbounds %Cmp_Node, ptr %t286, i32 0, i32 4 %t288 = load ptr, ptr %t103 store ptr %t288, ptr %t287 %t289 = load ptr, ptr %t282 %t290 = getelementptr inbounds %Cmp_Node, ptr %t289, i32 0, i32 9 %t291 = load ptr, ptr %t103 %t292 = getelementptr inbounds %Cmp_Node, ptr %t291, i32 0, i32 9 %t293 = load ptr, ptr %t292 store ptr %t293, ptr %t290 %t294 = load ptr, ptr %t282 %t295 = getelementptr inbounds %Cmp_Node, ptr %t294, i32 0, i32 8 %t296 = load ptr, ptr %t103 %t297 = getelementptr inbounds %Cmp_Node, ptr %t296, i32 0, i32 8 %t298 = load i32, ptr %t297 store i32 %t298, ptr %t295 %t299 = load ptr, ptr %t41 %t300 = getelementptr inbounds %Cmp_Node, ptr %t299, i32 0, i32 7 %t301 = load ptr, ptr %t300 %t302 = load ptr, ptr %t282 %t303 = getelementptr inbounds %LSlice, ptr %t301, i32 0, i32 1 %t304 = getelementptr inbounds %LSlice, ptr %t301, i32 0, i32 2 %t305 = getelementptr inbounds %LSlice, ptr %t301, i32 0, i32 0 %t306 = load i32, ptr %t303 %t307 = load i32, ptr %t304 %t308 = icmp sge i32 %t306, %t307 br i1 %t308, label %grow48, label %put49 grow48: %t309 = mul i32 %t307, 2 %t310 = icmp eq i32 %t307, 0 %t311 = select i1 %t310, i32 8, i32 %t309 %t312 = getelementptr ptr, ptr null, i32 1 %t313 = ptrtoint ptr %t312 to i64 %t314 = zext i32 %t311 to i64 %t315 = mul i64 %t314, %t313 %t316 = load ptr, ptr %t305 store i32 1769, ptr @lp_site %t317 = call ptr @lp_realloc(ptr %t316, i64 %t315) store i32 0, ptr @lp_site store ptr %t317, ptr %t305 store i32 %t311, ptr %t304 br label %put49 put49: %t318 = load ptr, ptr %t305 %t319 = getelementptr inbounds ptr, ptr %t318, i32 %t306 store ptr %t302, ptr %t319 %t320 = add i32 %t306, 1 store i32 %t320, ptr %t303 %t321 = load ptr, ptr %t11 %t322 = load ptr, ptr @g_g_rg_prefix %t323 = load i32, ptr %t0 %t324 = getelementptr inbounds %LSlice, ptr %t322, i32 0, i32 0 %t325 = load ptr, ptr %t324 %t326 = getelementptr inbounds %LSlice, ptr %t322, i32 0, i32 1 %t327 = load i32, ptr %t326 %t328 = icmp ult i32 %t323, %t327 br i1 %t328, label %ixok50, label %ixbad51 ixbad51: store i32 1770, ptr @lp_site %t329 = call ptr @lp_win_stdio(i32 2) store i32 0, ptr @lp_site call i32 (ptr, ptr, ...) @fprintf(ptr %t329, ptr @.fmt_bounds, ptr @.str2324, i32 %t323, i32 %t327) call void @exit(i32 1) unreachable ixok50: %t330 = getelementptr inbounds ptr, ptr %t325, i32 %t323 %t331 = load ptr, ptr %t330 store i32 1771, ptr @lp_site %t332 = call ptr @lp_str_concat(ptr %t331, ptr @.str2325) store i32 0, ptr @lp_site %t333 = load ptr, ptr %t92 %t334 = call ptr @fn_reg_upper(ptr %t333) store i32 1772, ptr @lp_site %t335 = call ptr @lp_str_concat(ptr %t332, ptr %t334) store i32 0, ptr @lp_site call void @lp_free(ptr %t332) %t336 = load i32, ptr %t59 call void @fn_reg_const(ptr %t321, ptr %t335, i32 %t336) %t337 = load i32, ptr %t59 %t338 = add i32 %t337, 1 store i32 %t338, ptr %t59 %t339 = load i32, ptr %t63 %t340 = add i32 %t339, 1 store i32 %t340, ptr %t63 br label %wcond6 wend8: %t341 = load ptr, ptr %t11 %t342 = load ptr, ptr @g_g_rg_prefix %t343 = load i32, ptr %t0 %t344 = getelementptr inbounds %LSlice, ptr %t342, i32 0, i32 0 %t345 = load ptr, ptr %t344 %t346 = getelementptr inbounds %LSlice, ptr %t342, i32 0, i32 1 %t347 = load i32, ptr %t346 %t348 = icmp ult i32 %t343, %t347 br i1 %t348, label %ixok52, label %ixbad53 ixbad53: store i32 1773, ptr @lp_site %t349 = call ptr @lp_win_stdio(i32 2) store i32 0, ptr @lp_site call i32 (ptr, ptr, ...) @fprintf(ptr %t349, ptr @.fmt_bounds, ptr @.str2326, i32 %t343, i32 %t347) call void @exit(i32 1) unreachable ixok52: %t350 = getelementptr inbounds ptr, ptr %t345, i32 %t343 %t351 = load ptr, ptr %t350 store i32 1774, ptr @lp_site %t352 = call ptr @lp_str_concat(ptr %t351, ptr @.str2327) store i32 0, ptr @lp_site %t353 = load i32, ptr %t59 call void @fn_reg_const(ptr %t341, ptr %t352, i32 %t353) %t354 = load i32, ptr %t59 %t355 = icmp eq i32 %t354, 0 %t356 = zext i1 %t355 to i32 %t357 = icmp ne i32 %t356, 0 br i1 %t357, label %then54, label %else55 then54: %t358 = call ptr @fn_node(i32 39) store ptr %t358, ptr %t359 %t360 = load ptr, ptr %t359 %t361 = getelementptr inbounds %Cmp_Node, ptr %t360, i32 0, i32 1 %t362 = load ptr, ptr %t11 %t363 = getelementptr inbounds %Cmp_Node, ptr %t362, i32 0, i32 3 %t364 = load ptr, ptr %t363 store ptr %t364, ptr %t361 %t365 = load ptr, ptr %t359 %t366 = getelementptr inbounds %Cmp_Node, ptr %t365, i32 0, i32 9 %t367 = load ptr, ptr %t11 %t368 = getelementptr inbounds %Cmp_Node, ptr %t367, i32 0, i32 9 %t369 = load ptr, ptr %t368 store ptr %t369, ptr %t366 %t370 = load ptr, ptr %t11 %t371 = getelementptr inbounds %Cmp_Node, ptr %t370, i32 0, i32 4 %t372 = load ptr, ptr %t359 store ptr %t372, ptr %t371 br label %ifend56 else55: %t373 = load ptr, ptr %t11 %t374 = getelementptr inbounds %Cmp_Node, ptr %t373, i32 0, i32 4 %t375 = load ptr, ptr %t41 store ptr %t375, ptr %t374 br label %ifend56 ifend56: %t376 = load i32, ptr %t39 %t377 = icmp ne i32 %t376, 0 br i1 %t377, label %then57, label %ifend59 then57: %t378 = load ptr, ptr %t11 call void @fn_reg_find_fn(ptr %t378) br label %ifend59 ifend59: br label %ret ret: ret void } define void @fn_reg_find_fn(ptr %arg_v) { entry: %t0 = alloca ptr %t6 = alloca ptr %t20 = alloca ptr %t22 = alloca ptr %t24 = alloca i32 %t26 = alloca ptr %t28 = alloca i32 %t39 = alloca i32 %t41 = alloca i32 store ptr %arg_v, 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_reg_lower(ptr %t3) store i32 1775, ptr @lp_site %t5 = call ptr @lp_str_concat(ptr %t4, ptr @.str2328) store i32 0, ptr @lp_site store ptr %t5, ptr %t6 %t7 = load ptr, ptr %t6 store i32 1776, ptr @lp_site %t8 = call ptr @lp_str_concat(ptr @.str2330, ptr %t7) store i32 0, ptr @lp_site store i32 1777, ptr @lp_site %t9 = call ptr @lp_str_concat(ptr %t8, ptr @.str2331) store i32 0, ptr @lp_site call void @lp_free(ptr %t8) %t10 = load ptr, ptr %t0 %t11 = getelementptr inbounds %Cmp_Node, ptr %t10, i32 0, i32 1 %t12 = load ptr, ptr %t11 store i32 1778, ptr @lp_site %t13 = call ptr @lp_str_concat(ptr %t9, ptr %t12) store i32 0, ptr @lp_site call void @lp_free(ptr %t9) store i32 1779, ptr @lp_site %t14 = call ptr @lp_str_concat(ptr %t13, ptr @.str2332) store i32 0, ptr @lp_site call void @lp_free(ptr %t13) %t15 = load ptr, ptr %t0 %t16 = getelementptr inbounds %Cmp_Node, ptr %t15, i32 0, i32 1 %t17 = load ptr, ptr %t16 store i32 1780, ptr @lp_site %t18 = call ptr @lp_str_concat(ptr %t14, ptr %t17) store i32 0, ptr @lp_site call void @lp_free(ptr %t14) store i32 1781, ptr @lp_site %t19 = call ptr @lp_str_concat(ptr %t18, ptr @.str2333) store i32 0, ptr @lp_site call void @lp_free(ptr %t18) store ptr %t19, ptr %t20 %t21 = load ptr, ptr @g_toks store ptr %t21, ptr %t22 %t23 = load i32, ptr @g_pi store i32 %t23, ptr %t24 %t25 = load ptr, ptr @g_g_parse_file store ptr %t25, ptr %t26 %t27 = load i32, ptr @g_g_parsing store i32 %t27, ptr %t28 %t29 = load ptr, ptr %t0 %t30 = getelementptr inbounds %Cmp_Node, ptr %t29, i32 0, i32 9 %t31 = load ptr, ptr %t30 store ptr %t31, ptr @g_g_parse_file store i32 1, ptr @g_g_parsing %t32 = load ptr, ptr %t20 %t33 = load ptr, ptr %t0 %t34 = getelementptr inbounds %Cmp_Node, ptr %t33, i32 0, i32 8 %t35 = load i32, ptr %t34 call void @fn_lex_at(ptr %t32, i32 %t35) store i32 0, ptr @g_pi %t36 = load ptr, ptr @g_prog %t37 = getelementptr inbounds %LSlice, ptr %t36, i32 0, i32 1 %t38 = load i32, ptr %t37 store i32 %t38, ptr %t39 call void @fn_skipnl() call void @fn_parse_one_decl() %t40 = load i32, ptr %t39 store i32 %t40, ptr %t41 br label %wcond0 wcond0: %t42 = load i32, ptr %t41 %t43 = load ptr, ptr @g_prog %t44 = getelementptr inbounds %LSlice, ptr %t43, i32 0, i32 1 %t45 = load i32, ptr %t44 %t46 = icmp slt i32 %t42, %t45 %t47 = zext i1 %t46 to i32 %t48 = icmp ne i32 %t47, 0 br i1 %t48, label %wbody1, label %wend2 wbody1: %t49 = load ptr, ptr @g_prog %t50 = load i32, ptr %t41 %t51 = getelementptr inbounds %LSlice, ptr %t49, i32 0, i32 0 %t52 = load ptr, ptr %t51 %t53 = getelementptr inbounds %LSlice, ptr %t49, i32 0, i32 1 %t54 = load i32, ptr %t53 %t55 = icmp ult i32 %t50, %t54 br i1 %t55, label %ixok3, label %ixbad4 ixbad4: store i32 1782, ptr @lp_site %t56 = call ptr @lp_win_stdio(i32 2) store i32 0, ptr @lp_site call i32 (ptr, ptr, ...) @fprintf(ptr %t56, ptr @.fmt_bounds, ptr @.str2334, i32 %t50, i32 %t54) call void @exit(i32 1) unreachable ixok3: %t57 = getelementptr inbounds ptr, ptr %t52, i32 %t50 %t58 = load ptr, ptr %t57 %t59 = getelementptr inbounds %Cmp_Node, ptr %t58, i32 0, i32 10 %t60 = load ptr, ptr %t0 %t61 = getelementptr inbounds %Cmp_Node, ptr %t60, i32 0, i32 10 %t62 = load i32, ptr %t61 store i32 %t62, ptr %t59 %t63 = load i32, ptr %t41 %t64 = add i32 %t63, 1 store i32 %t64, ptr %t41 br label %wcond0 wend2: %t65 = load ptr, ptr %t22 store ptr %t65, ptr @g_toks %t66 = load i32, ptr %t24 store i32 %t66, ptr @g_pi %t67 = load ptr, ptr %t26 store ptr %t67, ptr @g_g_parse_file %t68 = load i32, ptr %t28 store i32 %t68, ptr @g_g_parsing br label %ret ret: ret void } define void @fn_reg_def_check(i32 %arg_d) { entry: %t0 = alloca i32 %t12 = alloca i32 %t23 = alloca ptr %t34 = alloca ptr %t39 = alloca ptr %t44 = alloca ptr %t45 = alloca i32 %t64 = alloca i32 store i32 %arg_d, ptr %t0 %t1 = load ptr, ptr @g_g_df_reg %t2 = load i32, ptr %t0 %t3 = getelementptr inbounds %LSlice, ptr %t1, i32 0, i32 0 %t4 = load ptr, ptr %t3 %t5 = getelementptr inbounds %LSlice, ptr %t1, i32 0, i32 1 %t6 = load i32, ptr %t5 %t7 = icmp ult i32 %t2, %t6 br i1 %t7, label %ixok0, label %ixbad1 ixbad1: store i32 1783, ptr @lp_site %t8 = call ptr @lp_win_stdio(i32 2) store i32 0, ptr @lp_site call i32 (ptr, ptr, ...) @fprintf(ptr %t8, ptr @.fmt_bounds, ptr @.str2335, i32 %t2, i32 %t6) call void @exit(i32 1) unreachable ixok0: %t9 = getelementptr inbounds ptr, ptr %t4, i32 %t2 %t10 = load ptr, ptr %t9 %t11 = call i32 @fn_reg_find(ptr %t10) store i32 %t11, ptr %t12 %t13 = load ptr, ptr @g_g_rg_var %t14 = load i32, ptr %t12 %t15 = getelementptr inbounds %LSlice, ptr %t13, i32 0, i32 0 %t16 = load ptr, ptr %t15 %t17 = getelementptr inbounds %LSlice, ptr %t13, i32 0, i32 1 %t18 = load i32, ptr %t17 %t19 = icmp ult i32 %t14, %t18 br i1 %t19, label %ixok2, label %ixbad3 ixbad3: store i32 1784, ptr @lp_site %t20 = call ptr @lp_win_stdio(i32 2) store i32 0, ptr @lp_site call i32 (ptr, ptr, ...) @fprintf(ptr %t20, ptr @.fmt_bounds, ptr @.str2337, i32 %t14, i32 %t18) call void @exit(i32 1) unreachable ixok2: %t21 = getelementptr inbounds ptr, ptr %t16, i32 %t14 %t22 = load ptr, ptr %t21 store ptr %t22, ptr %t23 %t24 = load ptr, ptr @g_g_df_rec %t25 = load i32, ptr %t0 %t26 = getelementptr inbounds %LSlice, ptr %t24, i32 0, i32 0 %t27 = load ptr, ptr %t26 %t28 = getelementptr inbounds %LSlice, ptr %t24, i32 0, i32 1 %t29 = load i32, ptr %t28 %t30 = icmp ult i32 %t25, %t29 br i1 %t30, label %ixok4, label %ixbad5 ixbad5: store i32 1785, ptr @lp_site %t31 = call ptr @lp_win_stdio(i32 2) store i32 0, ptr @lp_site call i32 (ptr, ptr, ...) @fprintf(ptr %t31, ptr @.fmt_bounds, ptr @.str2338, i32 %t25, i32 %t29) call void @exit(i32 1) unreachable ixok4: %t32 = getelementptr inbounds ptr, ptr %t27, i32 %t25 %t33 = load ptr, ptr %t32 store ptr %t33, ptr %t34 %t35 = load ptr, ptr %t23 %t36 = getelementptr inbounds %Cmp_Node, ptr %t35, i32 0, i32 9 %t37 = load ptr, ptr %t36 %t38 = call ptr @fn_module_of(ptr %t37) store ptr %t38, ptr %t39 %t40 = load ptr, ptr %t34 %t41 = getelementptr inbounds %Cmp_Node, ptr %t40, i32 0, i32 9 %t42 = load ptr, ptr %t41 %t43 = call ptr @fn_module_of(ptr %t42) store ptr %t43, ptr %t44 %t46 = load ptr, ptr %t39 %t47 = call i32 @lp_str_eq(ptr %t46, ptr @.str2339) %t48 = icmp ne i32 %t47, 0 %t49 = zext i1 %t48 to i32 store i32 %t49, ptr %t45 br i1 %t48, label %scend7, label %sc6 sc6: %t50 = load ptr, ptr %t44 %t51 = load ptr, ptr %t39 %t52 = call i32 @lp_str_eq(ptr %t50, ptr %t51) %t53 = icmp ne i32 %t52, 0 %t54 = zext i1 %t53 to i32 store i32 %t54, ptr %t45 br label %scend7 scend7: %t55 = load i32, ptr %t45 %t56 = icmp ne i32 %t55, 0 br i1 %t56, label %then8, label %ifend10 then8: br label %ret ifend10: %t57 = load ptr, ptr %t34 %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 %t34 %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 i32, ptr @g_g_parsing store i32 %t63, ptr %t64 store i32 0, ptr @g_g_parsing %t65 = load ptr, ptr @g_g_rg_open %t66 = load i32, ptr %t12 %t67 = getelementptr inbounds %LSlice, ptr %t65, i32 0, i32 0 %t68 = load ptr, ptr %t67 %t69 = getelementptr inbounds %LSlice, ptr %t65, i32 0, i32 1 %t70 = load i32, ptr %t69 %t71 = icmp ult i32 %t66, %t70 br i1 %t71, label %ixok11, label %ixbad12 ixbad12: store i32 1786, ptr @lp_site %t72 = call ptr @lp_win_stdio(i32 2) store i32 0, ptr @lp_site call i32 (ptr, ptr, ...) @fprintf(ptr %t72, ptr @.fmt_bounds, ptr @.str2340, i32 %t66, i32 %t70) call void @exit(i32 1) unreachable ixok11: %t73 = getelementptr inbounds i32, ptr %t68, i32 %t66 %t74 = load i32, ptr %t73 %t75 = icmp eq i32 %t74, 0 %t76 = zext i1 %t75 to i32 %t77 = icmp ne i32 %t76, 0 br i1 %t77, label %then13, label %ifend15 then13: %t78 = load ptr, ptr %t23 %t79 = getelementptr inbounds %Cmp_Node, ptr %t78, i32 0, i32 1 %t80 = load ptr, ptr %t79 store i32 1787, ptr @lp_site %t81 = call ptr @lp_str_concat(ptr @.str2341, ptr %t80) store i32 0, ptr @lp_site store i32 1788, ptr @lp_site %t82 = call ptr @lp_str_concat(ptr %t81, ptr @.str2342) store i32 0, ptr @lp_site call void @lp_free(ptr %t81) %t83 = load ptr, ptr @g_g_df_key %t84 = load i32, ptr %t0 %t85 = getelementptr inbounds %LSlice, ptr %t83, i32 0, i32 0 %t86 = load ptr, ptr %t85 %t87 = getelementptr inbounds %LSlice, ptr %t83, i32 0, i32 1 %t88 = load i32, ptr %t87 %t89 = icmp ult i32 %t84, %t88 br i1 %t89, label %ixok16, label %ixbad17 ixbad17: store i32 1789, ptr @lp_site %t90 = call ptr @lp_win_stdio(i32 2) store i32 0, ptr @lp_site call i32 (ptr, ptr, ...) @fprintf(ptr %t90, ptr @.fmt_bounds, ptr @.str2343, i32 %t84, i32 %t88) call void @exit(i32 1) unreachable ixok16: %t91 = getelementptr inbounds ptr, ptr %t86, i32 %t84 %t92 = load ptr, ptr %t91 store i32 1790, ptr @lp_site %t93 = call ptr @lp_str_concat(ptr %t82, ptr %t92) store i32 0, ptr @lp_site call void @lp_free(ptr %t82) store i32 1791, ptr @lp_site %t94 = call ptr @lp_str_concat(ptr %t93, ptr @.str2344) store i32 0, ptr @lp_site call void @lp_free(ptr %t93) %t95 = load ptr, ptr %t23 %t96 = getelementptr inbounds %Cmp_Node, ptr %t95, i32 0, i32 1 %t97 = load ptr, ptr %t96 store i32 1792, ptr @lp_site %t98 = call ptr @lp_str_concat(ptr %t94, ptr %t97) store i32 0, ptr @lp_site call void @lp_free(ptr %t94) store i32 1793, ptr @lp_site %t99 = call ptr @lp_str_concat(ptr %t98, ptr @.str2345) store i32 0, ptr @lp_site call void @lp_free(ptr %t98) %t100 = load ptr, ptr %t23 %t101 = getelementptr inbounds %Cmp_Node, ptr %t100, i32 0, i32 1 %t102 = load ptr, ptr %t101 store i32 1794, ptr @lp_site %t103 = call ptr @lp_str_concat(ptr %t99, ptr %t102) store i32 0, ptr @lp_site call void @lp_free(ptr %t99) store i32 1795, ptr @lp_site %t104 = call ptr @lp_str_concat(ptr %t103, ptr @.str2346) store i32 0, ptr @lp_site call void @lp_free(ptr %t103) %t105 = load ptr, ptr %t39 store i32 1796, ptr @lp_site %t106 = call ptr @lp_str_concat(ptr %t104, ptr %t105) store i32 0, ptr @lp_site call void @lp_free(ptr %t104) store i32 1797, ptr @lp_site %t107 = call ptr @lp_str_concat(ptr %t106, ptr @.str2347) store i32 0, ptr @lp_site call void @lp_free(ptr %t106) call void @fn_perr(ptr %t107) br label %ifend15 ifend15: %t108 = load ptr, ptr %t23 %t109 = load ptr, ptr %t23 %t110 = getelementptr inbounds %Cmp_Node, ptr %t109, i32 0, i32 1 %t111 = load ptr, ptr %t110 call void @fn_vis_check(ptr %t108, ptr %t111) %t112 = load i32, ptr %t64 store i32 %t112, ptr @g_g_parsing br label %ret ret: ret void } define i32 @fn_reg_str_less(ptr %arg_a, ptr %arg_b) { entry: %retval = alloca i32 %t0 = alloca ptr %t1 = alloca ptr %t2 = alloca i32 %t3 = alloca i32 store ptr %arg_a, ptr %t0 store ptr %arg_b, ptr %t1 store i32 0, ptr %t2 br label %wcond0 wcond0: %t4 = load i32, ptr %t2 %t5 = load ptr, ptr %t0 %t6 = call i64 @strlen(ptr %t5) %t7 = trunc i64 %t6 to i32 %t8 = icmp slt i32 %t4, %t7 %t9 = zext i1 %t8 to i32 %t10 = icmp ne i32 %t9, 0 %t11 = zext i1 %t10 to i32 store i32 %t11, ptr %t3 br i1 %t10, label %sc3, label %scend4 sc3: %t12 = load i32, ptr %t2 %t13 = load ptr, ptr %t1 %t14 = call i64 @strlen(ptr %t13) %t15 = trunc i64 %t14 to i32 %t16 = icmp slt i32 %t12, %t15 %t17 = zext i1 %t16 to i32 %t18 = icmp ne i32 %t17, 0 %t19 = zext i1 %t18 to i32 store i32 %t19, ptr %t3 br label %scend4 scend4: %t20 = load i32, ptr %t3 %t21 = icmp ne i32 %t20, 0 br i1 %t21, label %wbody1, label %wend2 wbody1: %t22 = load ptr, ptr %t0 %t23 = load i32, ptr %t2 %t24 = getelementptr inbounds i8, ptr %t22, i32 %t23 %t25 = load i8, ptr %t24 %t26 = zext i8 %t25 to i32 %t27 = load ptr, ptr %t1 %t28 = load i32, ptr %t2 %t29 = getelementptr inbounds i8, ptr %t27, i32 %t28 %t30 = load i8, ptr %t29 %t31 = zext i8 %t30 to i32 %t32 = icmp ne i32 %t26, %t31 %t33 = zext i1 %t32 to i32 %t34 = icmp ne i32 %t33, 0 br i1 %t34, label %then5, label %ifend7 then5: %t35 = load ptr, ptr %t0 %t36 = load i32, ptr %t2 %t37 = getelementptr inbounds i8, ptr %t35, i32 %t36 %t38 = load i8, ptr %t37 %t39 = zext i8 %t38 to i32 %t40 = load ptr, ptr %t1 %t41 = load i32, ptr %t2 %t42 = getelementptr inbounds i8, ptr %t40, i32 %t41 %t43 = load i8, ptr %t42 %t44 = zext i8 %t43 to i32 %t45 = icmp slt i32 %t39, %t44 %t46 = zext i1 %t45 to i32 store i32 %t46, ptr %retval br label %ret ifend7: %t47 = load i32, ptr %t2 %t48 = add i32 %t47, 1 store i32 %t48, ptr %t2 br label %wcond0 wend2: %t49 = load ptr, ptr %t0 %t50 = call i64 @strlen(ptr %t49) %t51 = trunc i64 %t50 to i32 %t52 = load ptr, ptr %t1 %t53 = call i64 @strlen(ptr %t52) %t54 = trunc i64 %t53 to i32 %t55 = icmp slt i32 %t51, %t54 %t56 = zext i1 %t55 to i32 store i32 %t56, ptr %retval br label %ret ret: %t57 = load i32, ptr %retval ret i32 %t57 } define ptr @fn_reg_order(i32 %arg_r) { entry: %retval = alloca ptr %t0 = alloca i32 %t7 = alloca ptr %t21 = alloca ptr %t28 = alloca ptr %t29 = alloca i32 %t72 = alloca ptr %t97 = alloca i32 %t98 = alloca i32 %t147 = alloca i32 %t165 = alloca ptr %t168 = alloca i32 %t169 = alloca i32 %t240 = alloca i32 store i32 %arg_r, ptr %t0 %t1 = getelementptr %LSlice, ptr null, i32 1 %t2 = ptrtoint ptr %t1 to i64 store i32 1798, ptr @lp_site %t3 = call ptr @lp_malloc(i64 %t2) store i32 0, ptr @lp_site %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 %t8 = load ptr, ptr @g_g_rg_var %t9 = load i32, ptr %t0 %t10 = getelementptr inbounds %LSlice, ptr %t8, i32 0, i32 0 %t11 = load ptr, ptr %t10 %t12 = getelementptr inbounds %LSlice, ptr %t8, i32 0, i32 1 %t13 = load i32, ptr %t12 %t14 = icmp ult i32 %t9, %t13 br i1 %t14, label %ixok0, label %ixbad1 ixbad1: store i32 1799, ptr @lp_site %t15 = call ptr @lp_win_stdio(i32 2) store i32 0, ptr @lp_site call i32 (ptr, ptr, ...) @fprintf(ptr %t15, ptr @.fmt_bounds, ptr @.str2349, i32 %t9, i32 %t13) call void @exit(i32 1) unreachable ixok0: %t16 = getelementptr inbounds ptr, ptr %t11, i32 %t9 %t17 = load ptr, ptr %t16 %t18 = getelementptr inbounds %Cmp_Node, ptr %t17, i32 0, i32 9 %t19 = load ptr, ptr %t18 %t20 = call ptr @fn_module_of(ptr %t19) store ptr %t20, ptr %t21 %t22 = getelementptr %LSlice, ptr null, i32 1 %t23 = ptrtoint ptr %t22 to i64 store i32 1800, ptr @lp_site %t24 = call ptr @lp_malloc(i64 %t23) store i32 0, ptr @lp_site %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 %t28 store i32 0, ptr %t29 br label %wcond2 wcond2: %t30 = load i32, ptr %t29 %t31 = load ptr, ptr @g_g_df_reg %t32 = getelementptr inbounds %LSlice, ptr %t31, i32 0, i32 1 %t33 = load i32, ptr %t32 %t34 = icmp slt i32 %t30, %t33 %t35 = zext i1 %t34 to i32 %t36 = icmp ne i32 %t35, 0 br i1 %t36, label %wbody3, label %wend4 wbody3: %t37 = load ptr, ptr @g_g_df_reg %t38 = load i32, ptr %t29 %t39 = getelementptr inbounds %LSlice, ptr %t37, i32 0, i32 0 %t40 = load ptr, ptr %t39 %t41 = getelementptr inbounds %LSlice, ptr %t37, i32 0, i32 1 %t42 = load i32, ptr %t41 %t43 = icmp ult i32 %t38, %t42 br i1 %t43, label %ixok5, label %ixbad6 ixbad6: store i32 1801, ptr @lp_site %t44 = call ptr @lp_win_stdio(i32 2) store i32 0, ptr @lp_site call i32 (ptr, ptr, ...) @fprintf(ptr %t44, ptr @.fmt_bounds, ptr @.str2350, i32 %t38, i32 %t42) call void @exit(i32 1) unreachable ixok5: %t45 = getelementptr inbounds ptr, ptr %t40, i32 %t38 %t46 = load ptr, ptr %t45 %t47 = load ptr, ptr @g_g_rg_name %t48 = load i32, ptr %t0 %t49 = getelementptr inbounds %LSlice, ptr %t47, i32 0, i32 0 %t50 = load ptr, ptr %t49 %t51 = getelementptr inbounds %LSlice, ptr %t47, i32 0, i32 1 %t52 = load i32, ptr %t51 %t53 = icmp ult i32 %t48, %t52 br i1 %t53, label %ixok7, label %ixbad8 ixbad8: store i32 1802, ptr @lp_site %t54 = call ptr @lp_win_stdio(i32 2) store i32 0, ptr @lp_site call i32 (ptr, ptr, ...) @fprintf(ptr %t54, ptr @.fmt_bounds, ptr @.str2351, i32 %t48, i32 %t52) call void @exit(i32 1) unreachable ixok7: %t55 = getelementptr inbounds ptr, ptr %t50, i32 %t48 %t56 = load ptr, ptr %t55 %t57 = call i32 @lp_str_eq(ptr %t46, ptr %t56) %t58 = icmp ne i32 %t57, 0 br i1 %t58, label %then9, label %ifend11 then9: %t59 = load ptr, ptr @g_g_df_rec %t60 = load i32, ptr %t29 %t61 = getelementptr inbounds %LSlice, ptr %t59, i32 0, i32 0 %t62 = load ptr, ptr %t61 %t63 = getelementptr inbounds %LSlice, ptr %t59, i32 0, i32 1 %t64 = load i32, ptr %t63 %t65 = icmp ult i32 %t60, %t64 br i1 %t65, label %ixok12, label %ixbad13 ixbad13: store i32 1803, ptr @lp_site %t66 = call ptr @lp_win_stdio(i32 2) store i32 0, ptr @lp_site call i32 (ptr, ptr, ...) @fprintf(ptr %t66, ptr @.fmt_bounds, ptr @.str2352, i32 %t60, i32 %t64) call void @exit(i32 1) unreachable ixok12: %t67 = getelementptr inbounds ptr, ptr %t62, i32 %t60 %t68 = load ptr, ptr %t67 %t69 = getelementptr inbounds %Cmp_Node, ptr %t68, i32 0, i32 9 %t70 = load ptr, ptr %t69 %t71 = call ptr @fn_module_of(ptr %t70) store ptr %t71, ptr %t72 %t73 = load ptr, ptr %t72 %t74 = load ptr, ptr %t21 %t75 = call i32 @lp_str_eq(ptr %t73, ptr %t74) %t76 = icmp ne i32 %t75, 0 br i1 %t76, label %then14, label %else15 then14: %t77 = load ptr, ptr %t7 %t78 = load i32, ptr %t29 %t79 = getelementptr inbounds %LSlice, ptr %t77, i32 0, i32 1 %t80 = getelementptr inbounds %LSlice, ptr %t77, i32 0, i32 2 %t81 = getelementptr inbounds %LSlice, ptr %t77, i32 0, i32 0 %t82 = load i32, ptr %t79 %t83 = load i32, ptr %t80 %t84 = icmp sge i32 %t82, %t83 br i1 %t84, label %grow17, label %put18 grow17: %t85 = mul i32 %t83, 2 %t86 = icmp eq i32 %t83, 0 %t87 = select i1 %t86, i32 8, i32 %t85 %t88 = getelementptr i32, ptr null, i32 1 %t89 = ptrtoint ptr %t88 to i64 %t90 = zext i32 %t87 to i64 %t91 = mul i64 %t90, %t89 %t92 = load ptr, ptr %t81 store i32 1804, ptr @lp_site %t93 = call ptr @lp_realloc(ptr %t92, i64 %t91) store i32 0, ptr @lp_site store ptr %t93, ptr %t81 store i32 %t87, ptr %t80 br label %put18 put18: %t94 = load ptr, ptr %t81 %t95 = getelementptr inbounds i32, ptr %t94, i32 %t82 store i32 %t78, ptr %t95 %t96 = add i32 %t82, 1 store i32 %t96, ptr %t79 br label %ifend16 else15: store i32 0, ptr %t97 store i32 0, ptr %t98 br label %wcond19 wcond19: %t99 = load i32, ptr %t98 %t100 = load ptr, ptr %t28 %t101 = getelementptr inbounds %LSlice, ptr %t100, i32 0, i32 1 %t102 = load i32, ptr %t101 %t103 = icmp slt i32 %t99, %t102 %t104 = zext i1 %t103 to i32 %t105 = icmp ne i32 %t104, 0 br i1 %t105, label %wbody20, label %wend21 wbody20: %t106 = load ptr, ptr %t28 %t107 = load i32, ptr %t98 %t108 = getelementptr inbounds %LSlice, ptr %t106, i32 0, i32 0 %t109 = load ptr, ptr %t108 %t110 = getelementptr inbounds %LSlice, ptr %t106, i32 0, i32 1 %t111 = load i32, ptr %t110 %t112 = icmp ult i32 %t107, %t111 br i1 %t112, label %ixok22, label %ixbad23 ixbad23: store i32 1805, ptr @lp_site %t113 = call ptr @lp_win_stdio(i32 2) store i32 0, ptr @lp_site call i32 (ptr, ptr, ...) @fprintf(ptr %t113, ptr @.fmt_bounds, ptr @.str2353, i32 %t107, i32 %t111) call void @exit(i32 1) unreachable ixok22: %t114 = getelementptr inbounds ptr, ptr %t109, i32 %t107 %t115 = load ptr, ptr %t114 %t116 = load ptr, ptr %t72 %t117 = call i32 @lp_str_eq(ptr %t115, ptr %t116) %t118 = icmp ne i32 %t117, 0 br i1 %t118, label %then24, label %ifend26 then24: store i32 1, ptr %t97 br label %ifend26 ifend26: %t119 = load i32, ptr %t98 %t120 = add i32 %t119, 1 store i32 %t120, ptr %t98 br label %wcond19 wend21: %t121 = load i32, ptr %t97 %t122 = icmp eq i32 %t121, 0 %t123 = zext i1 %t122 to i32 %t124 = icmp ne i32 %t123, 0 br i1 %t124, label %then27, label %ifend29 then27: %t125 = load ptr, ptr %t28 %t126 = load ptr, ptr %t72 %t127 = getelementptr inbounds %LSlice, ptr %t125, i32 0, i32 1 %t128 = getelementptr inbounds %LSlice, ptr %t125, i32 0, i32 2 %t129 = getelementptr inbounds %LSlice, ptr %t125, i32 0, i32 0 %t130 = load i32, ptr %t127 %t131 = load i32, ptr %t128 %t132 = icmp sge i32 %t130, %t131 br i1 %t132, label %grow30, label %put31 grow30: %t133 = mul i32 %t131, 2 %t134 = icmp eq i32 %t131, 0 %t135 = select i1 %t134, i32 8, i32 %t133 %t136 = getelementptr ptr, ptr null, i32 1 %t137 = ptrtoint ptr %t136 to i64 %t138 = zext i32 %t135 to i64 %t139 = mul i64 %t138, %t137 %t140 = load ptr, ptr %t129 store i32 1806, ptr @lp_site %t141 = call ptr @lp_realloc(ptr %t140, i64 %t139) store i32 0, ptr @lp_site store ptr %t141, ptr %t129 store i32 %t135, ptr %t128 br label %put31 put31: %t142 = load ptr, ptr %t129 %t143 = getelementptr inbounds ptr, ptr %t142, i32 %t130 store ptr %t126, ptr %t143 %t144 = add i32 %t130, 1 store i32 %t144, ptr %t127 br label %ifend29 ifend29: br label %ifend16 ifend16: br label %ifend11 ifend11: %t145 = load i32, ptr %t29 %t146 = add i32 %t145, 1 store i32 %t146, ptr %t29 br label %wcond2 wend4: store i32 1, ptr %t147 br label %wcond32 wcond32: %t148 = load i32, ptr %t147 %t149 = load ptr, ptr %t28 %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 %wbody33, label %wend34 wbody33: %t155 = load ptr, ptr %t28 %t156 = load i32, ptr %t147 %t157 = getelementptr inbounds %LSlice, ptr %t155, i32 0, i32 0 %t158 = load ptr, ptr %t157 %t159 = getelementptr inbounds %LSlice, ptr %t155, i32 0, i32 1 %t160 = load i32, ptr %t159 %t161 = icmp ult i32 %t156, %t160 br i1 %t161, label %ixok35, label %ixbad36 ixbad36: store i32 1807, ptr @lp_site %t162 = call ptr @lp_win_stdio(i32 2) store i32 0, ptr @lp_site call i32 (ptr, ptr, ...) @fprintf(ptr %t162, ptr @.fmt_bounds, ptr @.str2354, i32 %t156, i32 %t160) call void @exit(i32 1) unreachable ixok35: %t163 = getelementptr inbounds ptr, ptr %t158, i32 %t156 %t164 = load ptr, ptr %t163 store ptr %t164, ptr %t165 %t166 = load i32, ptr %t147 %t167 = sub i32 %t166, 1 store i32 %t167, ptr %t168 br label %wcond37 wcond37: %t170 = load i32, ptr %t168 %t171 = icmp sge i32 %t170, 0 %t172 = zext i1 %t171 to i32 %t173 = icmp ne i32 %t172, 0 %t174 = zext i1 %t173 to i32 store i32 %t174, ptr %t169 br i1 %t173, label %sc40, label %scend41 sc40: %t175 = load ptr, ptr %t165 %t176 = load ptr, ptr %t28 %t177 = load i32, ptr %t168 %t178 = getelementptr inbounds %LSlice, ptr %t176, i32 0, i32 0 %t179 = load ptr, ptr %t178 %t180 = getelementptr inbounds %LSlice, ptr %t176, i32 0, i32 1 %t181 = load i32, ptr %t180 %t182 = icmp ult i32 %t177, %t181 br i1 %t182, label %ixok42, label %ixbad43 ixbad43: store i32 1808, ptr @lp_site %t183 = call ptr @lp_win_stdio(i32 2) store i32 0, ptr @lp_site call i32 (ptr, ptr, ...) @fprintf(ptr %t183, ptr @.fmt_bounds, ptr @.str2355, i32 %t177, i32 %t181) call void @exit(i32 1) unreachable ixok42: %t184 = getelementptr inbounds ptr, ptr %t179, i32 %t177 %t185 = load ptr, ptr %t184 %t186 = call i32 @fn_reg_str_less(ptr %t175, ptr %t185) %t187 = icmp ne i32 %t186, 0 %t188 = zext i1 %t187 to i32 store i32 %t188, ptr %t169 br label %scend41 scend41: %t189 = load i32, ptr %t169 %t190 = icmp ne i32 %t189, 0 br i1 %t190, label %wbody38, label %wend39 wbody38: %t191 = load ptr, ptr %t28 %t192 = load i32, ptr %t168 %t193 = add i32 %t192, 1 %t194 = getelementptr inbounds %LSlice, ptr %t191, i32 0, i32 0 %t195 = load ptr, ptr %t194 %t196 = getelementptr inbounds %LSlice, ptr %t191, i32 0, i32 1 %t197 = load i32, ptr %t196 %t198 = icmp ult i32 %t193, %t197 br i1 %t198, label %ixok44, label %ixbad45 ixbad45: store i32 1809, ptr @lp_site %t199 = call ptr @lp_win_stdio(i32 2) store i32 0, ptr @lp_site call i32 (ptr, ptr, ...) @fprintf(ptr %t199, ptr @.fmt_bounds, ptr @.str2356, i32 %t193, i32 %t197) call void @exit(i32 1) unreachable ixok44: %t200 = getelementptr inbounds ptr, ptr %t195, i32 %t193 %t201 = load ptr, ptr %t28 %t202 = load i32, ptr %t168 %t203 = getelementptr inbounds %LSlice, ptr %t201, i32 0, i32 0 %t204 = load ptr, ptr %t203 %t205 = getelementptr inbounds %LSlice, ptr %t201, i32 0, i32 1 %t206 = load i32, ptr %t205 %t207 = icmp ult i32 %t202, %t206 br i1 %t207, label %ixok46, label %ixbad47 ixbad47: store i32 1810, ptr @lp_site %t208 = call ptr @lp_win_stdio(i32 2) store i32 0, ptr @lp_site call i32 (ptr, ptr, ...) @fprintf(ptr %t208, ptr @.fmt_bounds, ptr @.str2357, i32 %t202, i32 %t206) call void @exit(i32 1) unreachable ixok46: %t209 = getelementptr inbounds ptr, ptr %t204, i32 %t202 %t210 = load ptr, ptr %t209 store ptr %t210, ptr %t200 %t211 = load i32, ptr %t168 %t212 = sub i32 %t211, 1 store i32 %t212, ptr %t168 br label %wcond37 wend39: %t213 = load ptr, ptr %t28 %t214 = load i32, ptr %t168 %t215 = add i32 %t214, 1 %t216 = getelementptr inbounds %LSlice, ptr %t213, i32 0, i32 0 %t217 = load ptr, ptr %t216 %t218 = getelementptr inbounds %LSlice, ptr %t213, i32 0, i32 1 %t219 = load i32, ptr %t218 %t220 = icmp ult i32 %t215, %t219 br i1 %t220, label %ixok48, label %ixbad49 ixbad49: store i32 1811, ptr @lp_site %t221 = call ptr @lp_win_stdio(i32 2) store i32 0, ptr @lp_site call i32 (ptr, ptr, ...) @fprintf(ptr %t221, ptr @.fmt_bounds, ptr @.str2358, i32 %t215, i32 %t219) call void @exit(i32 1) unreachable ixok48: %t222 = getelementptr inbounds ptr, ptr %t217, i32 %t215 %t223 = load ptr, ptr %t165 store ptr %t223, ptr %t222 %t224 = load i32, ptr %t147 %t225 = add i32 %t224, 1 store i32 %t225, ptr %t147 br label %wcond32 wend34: store i32 0, ptr %t147 br label %wcond50 wcond50: %t226 = load i32, ptr %t147 %t227 = load ptr, ptr %t28 %t228 = getelementptr inbounds %LSlice, ptr %t227, i32 0, i32 1 %t229 = load i32, ptr %t228 %t230 = icmp slt i32 %t226, %t229 %t231 = zext i1 %t230 to i32 %t232 = icmp ne i32 %t231, 0 br i1 %t232, label %wbody51, label %wend52 wbody51: store i32 0, ptr %t29 br label %wcond53 wcond53: %t233 = load i32, ptr %t29 %t234 = load ptr, ptr @g_g_df_reg %t235 = getelementptr inbounds %LSlice, ptr %t234, i32 0, i32 1 %t236 = load i32, ptr %t235 %t237 = icmp slt i32 %t233, %t236 %t238 = zext i1 %t237 to i32 %t239 = icmp ne i32 %t238, 0 br i1 %t239, label %wbody54, label %wend55 wbody54: %t241 = load ptr, ptr @g_g_df_reg %t242 = load i32, ptr %t29 %t243 = getelementptr inbounds %LSlice, ptr %t241, i32 0, i32 0 %t244 = load ptr, ptr %t243 %t245 = getelementptr inbounds %LSlice, ptr %t241, i32 0, i32 1 %t246 = load i32, ptr %t245 %t247 = icmp ult i32 %t242, %t246 br i1 %t247, label %ixok56, label %ixbad57 ixbad57: store i32 1812, ptr @lp_site %t248 = call ptr @lp_win_stdio(i32 2) store i32 0, ptr @lp_site call i32 (ptr, ptr, ...) @fprintf(ptr %t248, ptr @.fmt_bounds, ptr @.str2359, i32 %t242, i32 %t246) call void @exit(i32 1) unreachable ixok56: %t249 = getelementptr inbounds ptr, ptr %t244, i32 %t242 %t250 = load ptr, ptr %t249 %t251 = load ptr, ptr @g_g_rg_name %t252 = load i32, ptr %t0 %t253 = getelementptr inbounds %LSlice, ptr %t251, i32 0, i32 0 %t254 = load ptr, ptr %t253 %t255 = getelementptr inbounds %LSlice, ptr %t251, i32 0, i32 1 %t256 = load i32, ptr %t255 %t257 = icmp ult i32 %t252, %t256 br i1 %t257, label %ixok58, label %ixbad59 ixbad59: store i32 1813, ptr @lp_site %t258 = call ptr @lp_win_stdio(i32 2) store i32 0, ptr @lp_site call i32 (ptr, ptr, ...) @fprintf(ptr %t258, ptr @.fmt_bounds, ptr @.str2360, i32 %t252, i32 %t256) call void @exit(i32 1) unreachable ixok58: %t259 = getelementptr inbounds ptr, ptr %t254, i32 %t252 %t260 = load ptr, ptr %t259 %t261 = call i32 @lp_str_eq(ptr %t250, ptr %t260) %t262 = icmp ne i32 %t261, 0 %t263 = zext i1 %t262 to i32 store i32 %t263, ptr %t240 br i1 %t262, label %sc60, label %scend61 sc60: %t264 = load ptr, ptr @g_g_df_rec %t265 = load i32, ptr %t29 %t266 = getelementptr inbounds %LSlice, ptr %t264, i32 0, i32 0 %t267 = load ptr, ptr %t266 %t268 = getelementptr inbounds %LSlice, ptr %t264, i32 0, i32 1 %t269 = load i32, ptr %t268 %t270 = icmp ult i32 %t265, %t269 br i1 %t270, label %ixok62, label %ixbad63 ixbad63: store i32 1814, ptr @lp_site %t271 = call ptr @lp_win_stdio(i32 2) store i32 0, ptr @lp_site call i32 (ptr, ptr, ...) @fprintf(ptr %t271, ptr @.fmt_bounds, ptr @.str2361, i32 %t265, i32 %t269) call void @exit(i32 1) unreachable ixok62: %t272 = getelementptr inbounds ptr, ptr %t267, i32 %t265 %t273 = load ptr, ptr %t272 %t274 = getelementptr inbounds %Cmp_Node, ptr %t273, i32 0, i32 9 %t275 = load ptr, ptr %t274 %t276 = call ptr @fn_module_of(ptr %t275) %t277 = load ptr, ptr %t28 %t278 = load i32, ptr %t147 %t279 = getelementptr inbounds %LSlice, ptr %t277, i32 0, i32 0 %t280 = load ptr, ptr %t279 %t281 = getelementptr inbounds %LSlice, ptr %t277, i32 0, i32 1 %t282 = load i32, ptr %t281 %t283 = icmp ult i32 %t278, %t282 br i1 %t283, label %ixok64, label %ixbad65 ixbad65: store i32 1815, ptr @lp_site %t284 = call ptr @lp_win_stdio(i32 2) store i32 0, ptr @lp_site call i32 (ptr, ptr, ...) @fprintf(ptr %t284, ptr @.fmt_bounds, ptr @.str2362, i32 %t278, i32 %t282) call void @exit(i32 1) unreachable ixok64: %t285 = getelementptr inbounds ptr, ptr %t280, i32 %t278 %t286 = load ptr, ptr %t285 %t287 = call i32 @lp_str_eq(ptr %t276, ptr %t286) %t288 = icmp ne i32 %t287, 0 %t289 = zext i1 %t288 to i32 store i32 %t289, ptr %t240 br label %scend61 scend61: %t290 = load i32, ptr %t240 %t291 = icmp ne i32 %t290, 0 br i1 %t291, label %then66, label %ifend68 then66: %t292 = load ptr, ptr %t7 %t293 = load i32, ptr %t29 %t294 = getelementptr inbounds %LSlice, ptr %t292, i32 0, i32 1 %t295 = getelementptr inbounds %LSlice, ptr %t292, i32 0, i32 2 %t296 = getelementptr inbounds %LSlice, ptr %t292, i32 0, i32 0 %t297 = load i32, ptr %t294 %t298 = load i32, ptr %t295 %t299 = icmp sge i32 %t297, %t298 br i1 %t299, label %grow69, label %put70 grow69: %t300 = mul i32 %t298, 2 %t301 = icmp eq i32 %t298, 0 %t302 = select i1 %t301, i32 8, i32 %t300 %t303 = getelementptr i32, ptr null, i32 1 %t304 = ptrtoint ptr %t303 to i64 %t305 = zext i32 %t302 to i64 %t306 = mul i64 %t305, %t304 %t307 = load ptr, ptr %t296 store i32 1816, ptr @lp_site %t308 = call ptr @lp_realloc(ptr %t307, i64 %t306) store i32 0, ptr @lp_site store ptr %t308, ptr %t296 store i32 %t302, ptr %t295 br label %put70 put70: %t309 = load ptr, ptr %t296 %t310 = getelementptr inbounds i32, ptr %t309, i32 %t297 store i32 %t293, ptr %t310 %t311 = add i32 %t297, 1 store i32 %t311, ptr %t294 br label %ifend68 ifend68: %t312 = load i32, ptr %t29 %t313 = add i32 %t312, 1 store i32 %t313, ptr %t29 br label %wcond53 wend55: %t314 = load i32, ptr %t147 %t315 = add i32 %t314, 1 store i32 %t315, ptr %t147 br label %wcond50 wend52: %t316 = load ptr, ptr %t7 store ptr %t316, ptr %retval br label %ret ret: %t317 = load ptr, ptr %retval ret ptr %t317 } define i32 @fn_at_group() { entry: %retval = alloca i32 %t0 = load ptr, ptr @g_g_at_start %t1 = load ptr, ptr @g_g_at_name %t2 = getelementptr inbounds %LSlice, ptr %t1, i32 0, i32 1 %t3 = load i32, ptr %t2 %t4 = getelementptr inbounds %LSlice, ptr %t0, i32 0, i32 1 %t5 = getelementptr inbounds %LSlice, ptr %t0, i32 0, i32 2 %t6 = getelementptr inbounds %LSlice, ptr %t0, i32 0, i32 0 %t7 = load i32, ptr %t4 %t8 = load i32, ptr %t5 %t9 = icmp sge i32 %t7, %t8 br i1 %t9, label %grow0, label %put1 grow0: %t10 = mul i32 %t8, 2 %t11 = icmp eq i32 %t8, 0 %t12 = select i1 %t11, i32 8, i32 %t10 %t13 = getelementptr i32, ptr null, i32 1 %t14 = ptrtoint ptr %t13 to i64 %t15 = zext i32 %t12 to i64 %t16 = mul i64 %t15, %t14 %t17 = load ptr, ptr %t6 store i32 1817, ptr @lp_site %t18 = call ptr @lp_realloc(ptr %t17, i64 %t16) store i32 0, ptr @lp_site store ptr %t18, ptr %t6 store i32 %t12, ptr %t5 br label %put1 put1: %t19 = load ptr, ptr %t6 %t20 = getelementptr inbounds i32, ptr %t19, i32 %t7 store i32 %t3, ptr %t20 %t21 = add i32 %t7, 1 store i32 %t21, ptr %t4 %t22 = load ptr, ptr @g_g_at_count %t23 = getelementptr inbounds %LSlice, ptr %t22, i32 0, i32 1 %t24 = getelementptr inbounds %LSlice, ptr %t22, i32 0, i32 2 %t25 = getelementptr inbounds %LSlice, ptr %t22, i32 0, i32 0 %t26 = load i32, ptr %t23 %t27 = load i32, ptr %t24 %t28 = icmp sge i32 %t26, %t27 br i1 %t28, label %grow2, label %put3 grow2: %t29 = mul i32 %t27, 2 %t30 = icmp eq i32 %t27, 0 %t31 = select i1 %t30, i32 8, i32 %t29 %t32 = getelementptr i32, 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 store i32 1818, ptr @lp_site %t37 = call ptr @lp_realloc(ptr %t36, i64 %t35) store i32 0, ptr @lp_site store ptr %t37, ptr %t25 store i32 %t31, ptr %t24 br label %put3 put3: %t38 = load ptr, ptr %t25 %t39 = getelementptr inbounds i32, ptr %t38, i32 %t26 store i32 0, ptr %t39 %t40 = add i32 %t26, 1 store i32 %t40, ptr %t23 %t41 = load ptr, ptr @g_g_at_start %t42 = getelementptr inbounds %LSlice, ptr %t41, i32 0, i32 1 %t43 = load i32, ptr %t42 %t44 = sub i32 %t43, 1 store i32 %t44, ptr %retval br label %ret ret: %t45 = load i32, ptr %retval ret i32 %t45 } define void @fn_at_push(i32 %arg_g, ptr %arg_name, ptr %arg_args, ptr %arg_first, i32 %arg_nargs) { entry: %t0 = alloca i32 %t1 = alloca ptr %t2 = alloca ptr %t3 = alloca ptr %t4 = alloca i32 store i32 %arg_g, ptr %t0 store ptr %arg_name, ptr %t1 store ptr %arg_args, ptr %t2 store ptr %arg_first, ptr %t3 store i32 %arg_nargs, ptr %t4 %t5 = load ptr, ptr @g_g_at_name %t6 = load ptr, ptr %t1 %t7 = getelementptr inbounds %LSlice, ptr %t5, i32 0, i32 1 %t8 = getelementptr inbounds %LSlice, ptr %t5, i32 0, i32 2 %t9 = getelementptr inbounds %LSlice, ptr %t5, i32 0, i32 0 %t10 = load i32, ptr %t7 %t11 = load i32, ptr %t8 %t12 = icmp sge i32 %t10, %t11 br i1 %t12, label %grow0, label %put1 grow0: %t13 = mul i32 %t11, 2 %t14 = icmp eq i32 %t11, 0 %t15 = select i1 %t14, i32 8, i32 %t13 %t16 = getelementptr ptr, ptr null, i32 1 %t17 = ptrtoint ptr %t16 to i64 %t18 = zext i32 %t15 to i64 %t19 = mul i64 %t18, %t17 %t20 = load ptr, ptr %t9 store i32 1819, ptr @lp_site %t21 = call ptr @lp_realloc(ptr %t20, i64 %t19) store i32 0, ptr @lp_site store ptr %t21, ptr %t9 store i32 %t15, ptr %t8 br label %put1 put1: %t22 = load ptr, ptr %t9 %t23 = getelementptr inbounds ptr, ptr %t22, i32 %t10 store ptr %t6, ptr %t23 %t24 = add i32 %t10, 1 store i32 %t24, ptr %t7 %t25 = load ptr, ptr @g_g_at_args %t26 = load ptr, ptr %t2 %t27 = getelementptr inbounds %LSlice, ptr %t25, i32 0, i32 1 %t28 = getelementptr inbounds %LSlice, ptr %t25, i32 0, i32 2 %t29 = getelementptr inbounds %LSlice, ptr %t25, i32 0, i32 0 %t30 = load i32, ptr %t27 %t31 = load i32, ptr %t28 %t32 = icmp sge i32 %t30, %t31 br i1 %t32, label %grow2, label %put3 grow2: %t33 = mul i32 %t31, 2 %t34 = icmp eq i32 %t31, 0 %t35 = select i1 %t34, i32 8, i32 %t33 %t36 = getelementptr ptr, ptr null, i32 1 %t37 = ptrtoint ptr %t36 to i64 %t38 = zext i32 %t35 to i64 %t39 = mul i64 %t38, %t37 %t40 = load ptr, ptr %t29 store i32 1820, ptr @lp_site %t41 = call ptr @lp_realloc(ptr %t40, i64 %t39) store i32 0, ptr @lp_site store ptr %t41, ptr %t29 store i32 %t35, ptr %t28 br label %put3 put3: %t42 = load ptr, ptr %t29 %t43 = getelementptr inbounds ptr, ptr %t42, i32 %t30 store ptr %t26, ptr %t43 %t44 = add i32 %t30, 1 store i32 %t44, ptr %t27 %t45 = load ptr, ptr @g_g_at_first %t46 = load ptr, ptr %t3 %t47 = getelementptr inbounds %LSlice, ptr %t45, i32 0, i32 1 %t48 = getelementptr inbounds %LSlice, ptr %t45, i32 0, i32 2 %t49 = getelementptr inbounds %LSlice, ptr %t45, i32 0, i32 0 %t50 = load i32, ptr %t47 %t51 = load i32, ptr %t48 %t52 = icmp sge i32 %t50, %t51 br i1 %t52, label %grow4, label %put5 grow4: %t53 = mul i32 %t51, 2 %t54 = icmp eq i32 %t51, 0 %t55 = select i1 %t54, i32 8, i32 %t53 %t56 = getelementptr ptr, ptr null, i32 1 %t57 = ptrtoint ptr %t56 to i64 %t58 = zext i32 %t55 to i64 %t59 = mul i64 %t58, %t57 %t60 = load ptr, ptr %t49 store i32 1821, ptr @lp_site %t61 = call ptr @lp_realloc(ptr %t60, i64 %t59) store i32 0, ptr @lp_site store ptr %t61, ptr %t49 store i32 %t55, ptr %t48 br label %put5 put5: %t62 = load ptr, ptr %t49 %t63 = getelementptr inbounds ptr, ptr %t62, i32 %t50 store ptr %t46, ptr %t63 %t64 = add i32 %t50, 1 store i32 %t64, ptr %t47 %t65 = load ptr, ptr @g_g_at_nargs %t66 = load i32, ptr %t4 %t67 = getelementptr inbounds %LSlice, ptr %t65, i32 0, i32 1 %t68 = getelementptr inbounds %LSlice, ptr %t65, i32 0, i32 2 %t69 = getelementptr inbounds %LSlice, ptr %t65, i32 0, i32 0 %t70 = load i32, ptr %t67 %t71 = load i32, ptr %t68 %t72 = icmp sge i32 %t70, %t71 br i1 %t72, label %grow6, label %put7 grow6: %t73 = mul i32 %t71, 2 %t74 = icmp eq i32 %t71, 0 %t75 = select i1 %t74, i32 8, i32 %t73 %t76 = getelementptr i32, ptr null, i32 1 %t77 = ptrtoint ptr %t76 to i64 %t78 = zext i32 %t75 to i64 %t79 = mul i64 %t78, %t77 %t80 = load ptr, ptr %t69 store i32 1822, ptr @lp_site %t81 = call ptr @lp_realloc(ptr %t80, i64 %t79) store i32 0, ptr @lp_site store ptr %t81, ptr %t69 store i32 %t75, ptr %t68 br label %put7 put7: %t82 = load ptr, ptr %t69 %t83 = getelementptr inbounds i32, ptr %t82, i32 %t70 store i32 %t66, ptr %t83 %t84 = add i32 %t70, 1 store i32 %t84, ptr %t67 %t85 = load ptr, ptr @g_g_at_unres %t86 = getelementptr inbounds %LSlice, ptr %t85, i32 0, i32 1 %t87 = getelementptr inbounds %LSlice, ptr %t85, i32 0, i32 2 %t88 = getelementptr inbounds %LSlice, ptr %t85, i32 0, i32 0 %t89 = load i32, ptr %t86 %t90 = load i32, ptr %t87 %t91 = icmp sge i32 %t89, %t90 br i1 %t91, label %grow8, label %put9 grow8: %t92 = mul i32 %t90, 2 %t93 = icmp eq i32 %t90, 0 %t94 = select i1 %t93, i32 8, i32 %t92 %t95 = getelementptr i32, 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 store i32 1823, ptr @lp_site %t100 = call ptr @lp_realloc(ptr %t99, i64 %t98) store i32 0, ptr @lp_site store ptr %t100, ptr %t88 store i32 %t94, ptr %t87 br label %put9 put9: %t101 = load ptr, ptr %t88 %t102 = getelementptr inbounds i32, ptr %t101, i32 %t89 store i32 0, ptr %t102 %t103 = add i32 %t89, 1 store i32 %t103, ptr %t86 %t104 = load ptr, ptr @g_g_at_strs %t105 = load i32, ptr @g_g_at_strs_next %t106 = getelementptr inbounds %LSlice, ptr %t104, i32 0, i32 1 %t107 = getelementptr inbounds %LSlice, ptr %t104, i32 0, i32 2 %t108 = getelementptr inbounds %LSlice, ptr %t104, i32 0, i32 0 %t109 = load i32, ptr %t106 %t110 = load i32, ptr %t107 %t111 = icmp sge i32 %t109, %t110 br i1 %t111, label %grow10, label %put11 grow10: %t112 = mul i32 %t110, 2 %t113 = icmp eq i32 %t110, 0 %t114 = select i1 %t113, i32 8, i32 %t112 %t115 = getelementptr i32, ptr null, i32 1 %t116 = ptrtoint ptr %t115 to i64 %t117 = zext i32 %t114 to i64 %t118 = mul i64 %t117, %t116 %t119 = load ptr, ptr %t108 store i32 1824, ptr @lp_site %t120 = call ptr @lp_realloc(ptr %t119, i64 %t118) store i32 0, ptr @lp_site store ptr %t120, ptr %t108 store i32 %t114, ptr %t107 br label %put11 put11: %t121 = load ptr, ptr %t108 %t122 = getelementptr inbounds i32, ptr %t121, i32 %t109 store i32 %t105, ptr %t122 %t123 = add i32 %t109, 1 store i32 %t123, ptr %t106 store i32 0, ptr @g_g_at_strs_next %t124 = load ptr, ptr @g_g_at_count %t125 = load i32, ptr %t0 %t126 = getelementptr inbounds %LSlice, ptr %t124, i32 0, i32 0 %t127 = load ptr, ptr %t126 %t128 = getelementptr inbounds %LSlice, ptr %t124, i32 0, i32 1 %t129 = load i32, ptr %t128 %t130 = icmp ult i32 %t125, %t129 br i1 %t130, label %ixok12, label %ixbad13 ixbad13: store i32 1825, ptr @lp_site %t131 = call ptr @lp_win_stdio(i32 2) store i32 0, ptr @lp_site call i32 (ptr, ptr, ...) @fprintf(ptr %t131, ptr @.fmt_bounds, ptr @.str2365, i32 %t125, i32 %t129) call void @exit(i32 1) unreachable ixok12: %t132 = getelementptr inbounds i32, ptr %t127, i32 %t125 %t133 = load ptr, ptr @g_g_at_count %t134 = load i32, ptr %t0 %t135 = getelementptr inbounds %LSlice, ptr %t133, i32 0, i32 0 %t136 = load ptr, ptr %t135 %t137 = getelementptr inbounds %LSlice, ptr %t133, i32 0, i32 1 %t138 = load i32, ptr %t137 %t139 = icmp ult i32 %t134, %t138 br i1 %t139, label %ixok14, label %ixbad15 ixbad15: store i32 1826, ptr @lp_site %t140 = call ptr @lp_win_stdio(i32 2) store i32 0, ptr @lp_site call i32 (ptr, ptr, ...) @fprintf(ptr %t140, ptr @.fmt_bounds, ptr @.str2366, i32 %t134, i32 %t138) call void @exit(i32 1) unreachable ixok14: %t141 = getelementptr inbounds i32, ptr %t136, i32 %t134 %t142 = load i32, ptr %t141 %t143 = add i32 %t142, 1 store i32 %t143, ptr %t132 br label %ret ret: ret void } define ptr @fn_at_args() { entry: %retval = alloca ptr %t6 = alloca ptr %t11 = alloca i32 %t26 = alloca ptr %t39 = alloca ptr %t40 = alloca ptr %t79 = alloca i32 %t88 = alloca i32 %t107 = alloca i32 %t108 = alloca i32 %t137 = alloca ptr store ptr null, ptr @g_g_at_arg0 store i32 0, ptr @g_g_at_argn store i32 1, ptr @g_g_at_allnum store i32 1, ptr @g_g_at_allid store i32 1, ptr @g_g_at_allstr %t0 = call i32 @fn_is_op(ptr @.str2367) %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: store ptr @.str2368, ptr %retval br label %ret ifend2: %t4 = load i32, ptr @g_pi %t5 = add i32 %t4, 1 store i32 %t5, ptr @g_pi store ptr @.str2369, ptr %t6 br label %wcond3 wcond3: %t7 = call i32 @fn_is_op(ptr @.str2370) %t8 = icmp eq i32 %t7, 0 %t9 = zext i1 %t8 to i32 %t10 = icmp ne i32 %t9, 0 br i1 %t10, label %wbody4, label %wend5 wbody4: call void @fn_skipnl() store i32 0, ptr %t11 %t12 = call i32 @fn_is_op(ptr @.str2371) %t13 = icmp ne i32 %t12, 0 br i1 %t13, label %then6, label %ifend8 then6: store i32 1, ptr %t11 %t14 = load i32, ptr @g_pi %t15 = add i32 %t14, 1 store i32 %t15, ptr @g_pi br label %ifend8 ifend8: %t16 = load ptr, ptr @g_toks %t17 = load i32, ptr @g_pi %t18 = getelementptr inbounds %LSlice, ptr %t16, i32 0, i32 0 %t19 = load ptr, ptr %t18 %t20 = getelementptr inbounds %LSlice, ptr %t16, i32 0, i32 1 %t21 = load i32, ptr %t20 %t22 = icmp ult i32 %t17, %t21 br i1 %t22, label %ixok9, label %ixbad10 ixbad10: store i32 1827, ptr @lp_site %t23 = call ptr @lp_win_stdio(i32 2) store i32 0, ptr @lp_site call i32 (ptr, ptr, ...) @fprintf(ptr %t23, ptr @.fmt_bounds, ptr @.str2372, i32 %t17, i32 %t21) call void @exit(i32 1) unreachable ixok9: %t24 = getelementptr inbounds ptr, ptr %t19, i32 %t17 %t25 = load ptr, ptr %t24 store ptr %t25, ptr %t26 %t27 = load ptr, ptr %t26 %t28 = getelementptr inbounds %Cmp_Tok, ptr %t27, i32 0, i32 0 %t29 = load i32, ptr %t28 %t30 = icmp ne i32 %t29, 0 %t31 = zext i1 %t30 to i32 %t32 = icmp ne i32 %t31, 0 br i1 %t32, label %then11, label %ifend13 then11: store i32 0, ptr @g_g_at_allid br label %ifend13 ifend13: %t33 = load ptr, ptr %t26 %t34 = getelementptr inbounds %Cmp_Tok, ptr %t33, i32 0, i32 0 %t35 = load i32, ptr %t34 %t36 = icmp ne i32 %t35, 2 %t37 = zext i1 %t36 to i32 %t38 = icmp ne i32 %t37, 0 br i1 %t38, label %then14, label %ifend16 then14: store i32 0, ptr @g_g_at_allstr br label %ifend16 ifend16: store ptr null, ptr %t39 store ptr null, ptr %t40 %t41 = load ptr, ptr %t26 %t42 = getelementptr inbounds %Cmp_Tok, ptr %t41, i32 0, i32 0 %t43 = load i32, ptr %t42 %t44 = icmp eq i32 %t43, 1 %t45 = zext i1 %t44 to i32 %t46 = icmp ne i32 %t45, 0 br i1 %t46, label %then17, label %else18 then17: %t47 = load ptr, ptr %t26 %t48 = getelementptr inbounds %Cmp_Tok, ptr %t47, i32 0, i32 2 %t49 = load i32, ptr %t48 %t50 = call ptr @fn_itoa(i32 %t49) store ptr %t50, ptr %t40 %t51 = load ptr, ptr %t26 %t52 = getelementptr inbounds %Cmp_Tok, ptr %t51, i32 0, i32 1 %t53 = load ptr, ptr %t52 %t54 = icmp ne ptr %t53, null %t55 = zext i1 %t54 to i32 %t56 = icmp ne i32 %t55, 0 br i1 %t56, label %then20, label %ifend22 then20: %t57 = load ptr, ptr %t26 %t58 = getelementptr inbounds %Cmp_Tok, ptr %t57, i32 0, i32 1 %t59 = load ptr, ptr %t58 store ptr %t59, ptr %t40 br label %ifend22 ifend22: %t60 = load i32, ptr %t11 %t61 = icmp ne i32 %t60, 0 br i1 %t61, label %then23, label %ifend25 then23: %t62 = load ptr, ptr %t40 store i32 1828, ptr @lp_site %t63 = call ptr @lp_str_concat(ptr @.str2374, ptr %t62) store i32 0, ptr @lp_site store ptr %t63, ptr %t40 br label %ifend25 ifend25: %t64 = load ptr, ptr %t40 store ptr %t64, ptr %t39 br label %ifend19 else18: %t65 = load ptr, ptr %t26 %t66 = getelementptr inbounds %Cmp_Tok, ptr %t65, i32 0, i32 0 %t67 = load i32, ptr %t66 %t68 = icmp eq i32 %t67, 6 %t69 = zext i1 %t68 to i32 %t70 = icmp ne i32 %t69, 0 br i1 %t70, label %then26, label %else27 then26: %t71 = load ptr, ptr %t26 %t72 = getelementptr inbounds %Cmp_Tok, ptr %t71, i32 0, i32 1 %t73 = load ptr, ptr %t72 store ptr %t73, ptr %t40 %t74 = load i32, ptr %t11 %t75 = icmp ne i32 %t74, 0 br i1 %t75, label %then29, label %ifend31 then29: %t76 = load ptr, ptr %t40 store i32 1829, ptr @lp_site %t77 = call ptr @lp_str_concat(ptr @.str2375, ptr %t76) store i32 0, ptr @lp_site store ptr %t77, ptr %t40 br label %ifend31 ifend31: %t78 = load ptr, ptr %t40 store ptr %t78, ptr %t39 %t80 = load ptr, ptr %t40 %t81 = getelementptr inbounds i8, ptr %t80, i32 0 %t82 = load i8, ptr %t81 %t83 = zext i8 %t82 to i32 %t84 = icmp eq i32 %t83, 46 %t85 = zext i1 %t84 to i32 %t86 = icmp ne i32 %t85, 0 %t87 = zext i1 %t86 to i32 store i32 %t87, ptr %t79 br i1 %t86, label %scend33, label %sc32 sc32: %t89 = load i32, ptr %t11 %t90 = icmp ne i32 %t89, 0 %t91 = zext i1 %t90 to i32 store i32 %t91, ptr %t88 br i1 %t90, label %sc34, label %scend35 sc34: %t92 = load ptr, ptr %t40 %t93 = getelementptr inbounds i8, ptr %t92, i32 1 %t94 = load i8, ptr %t93 %t95 = zext i8 %t94 to i32 %t96 = icmp eq i32 %t95, 46 %t97 = zext i1 %t96 to i32 %t98 = icmp ne i32 %t97, 0 %t99 = zext i1 %t98 to i32 store i32 %t99, ptr %t88 br label %scend35 scend35: %t100 = load i32, ptr %t88 %t101 = icmp ne i32 %t100, 0 %t102 = zext i1 %t101 to i32 store i32 %t102, ptr %t79 br label %scend33 scend33: %t103 = load i32, ptr %t79 %t104 = icmp ne i32 %t103, 0 br i1 %t104, label %then36, label %ifend38 then36: %t105 = load ptr, ptr %t40 %t106 = call ptr @fn_at_lead0(ptr %t105) store ptr %t106, ptr %t39 br label %ifend38 ifend38: br label %ifend28 else27: %t109 = load ptr, ptr %t26 %t110 = getelementptr inbounds %Cmp_Tok, ptr %t109, i32 0, i32 0 %t111 = load i32, ptr %t110 %t112 = icmp eq i32 %t111, 2 %t113 = zext i1 %t112 to i32 %t114 = icmp ne i32 %t113, 0 %t115 = zext i1 %t114 to i32 store i32 %t115, ptr %t108 br i1 %t114, label %scend40, label %sc39 sc39: %t116 = load ptr, ptr %t26 %t117 = getelementptr inbounds %Cmp_Tok, ptr %t116, i32 0, i32 0 %t118 = load i32, ptr %t117 %t119 = icmp eq i32 %t118, 0 %t120 = zext i1 %t119 to i32 %t121 = icmp ne i32 %t120, 0 %t122 = zext i1 %t121 to i32 store i32 %t122, ptr %t108 br label %scend40 scend40: %t123 = load i32, ptr %t108 %t124 = icmp ne i32 %t123, 0 %t125 = zext i1 %t124 to i32 store i32 %t125, ptr %t107 br i1 %t124, label %sc41, label %scend42 sc41: %t126 = load i32, ptr %t11 %t127 = icmp eq i32 %t126, 0 %t128 = zext i1 %t127 to i32 %t129 = icmp ne i32 %t128, 0 %t130 = zext i1 %t129 to i32 store i32 %t130, ptr %t107 br label %scend42 scend42: %t131 = load i32, ptr %t107 %t132 = icmp ne i32 %t131, 0 br i1 %t132, label %then43, label %else44 then43: store i32 0, ptr @g_g_at_allnum %t133 = load ptr, ptr %t26 %t134 = getelementptr inbounds %Cmp_Tok, ptr %t133, i32 0, i32 1 %t135 = load ptr, ptr %t134 store ptr %t135, ptr %t40 %t136 = call ptr @fn_buf_new() store ptr %t136, ptr %t137 %t138 = load ptr, ptr %t137 %t139 = load ptr, ptr %t40 call void @fn_jq_put(ptr %t138, ptr %t139) %t140 = load ptr, ptr %t137 %t141 = call ptr @fn_buf_str(ptr %t140) store ptr %t141, ptr %t39 br label %ifend45 else44: %t142 = call ptr @fn_tok_desc() store i32 1830, ptr @lp_site %t143 = call ptr @lp_str_concat(ptr @.str2376, ptr %t142) store i32 0, ptr @lp_site call void @fn_perr(ptr %t143) br label %ifend45 ifend45: br label %ifend28 ifend28: br label %ifend19 ifend19: %t144 = load i32, ptr @g_pi %t145 = add i32 %t144, 1 store i32 %t145, ptr @g_pi %t146 = load i32, ptr @g_g_at_argn %t147 = icmp sgt i32 %t146, 0 %t148 = zext i1 %t147 to i32 %t149 = icmp ne i32 %t148, 0 br i1 %t149, label %then46, label %ifend48 then46: %t150 = load ptr, ptr %t6 store i32 1831, ptr @lp_site %t151 = call ptr @lp_str_concat(ptr %t150, ptr @.str2377) store i32 0, ptr @lp_site store ptr %t151, ptr %t6 br label %ifend48 ifend48: %t152 = load ptr, ptr %t6 %t153 = load ptr, ptr %t39 store i32 1832, ptr @lp_site %t154 = call ptr @lp_str_concat(ptr %t152, ptr %t153) store i32 0, ptr @lp_site store ptr %t154, ptr %t6 %t155 = load i32, ptr @g_g_at_argn %t156 = icmp eq i32 %t155, 0 %t157 = zext i1 %t156 to i32 %t158 = icmp ne i32 %t157, 0 br i1 %t158, label %then49, label %ifend51 then49: %t159 = load ptr, ptr %t40 store ptr %t159, ptr @g_g_at_arg0 br label %ifend51 ifend51: %t160 = load i32, ptr @g_g_at_argn %t161 = add i32 %t160, 1 store i32 %t161, ptr @g_g_at_argn call void @fn_skipnl() %t162 = call i32 @fn_is_op(ptr @.str2378) %t163 = icmp ne i32 %t162, 0 br i1 %t163, label %then52, label %ifend54 then52: %t164 = load i32, ptr @g_pi %t165 = add i32 %t164, 1 store i32 %t165, ptr @g_pi br label %ifend54 ifend54: br label %wcond3 wend5: call void @fn_eat_op(ptr @.str2379) %t166 = load ptr, ptr %t6 store i32 1833, ptr @lp_site %t167 = call ptr @lp_str_concat(ptr %t166, ptr @.str2380) store i32 0, ptr @lp_site store ptr %t167, ptr %retval br label %ret ret: %t168 = load ptr, ptr %retval ret ptr %t168 } define ptr @fn_at_lead0(ptr %arg_raw) { entry: %retval = alloca ptr %t0 = alloca ptr store ptr %arg_raw, ptr %t0 %t1 = load ptr, ptr %t0 %t2 = getelementptr inbounds i8, ptr %t1, i32 0 %t3 = load i8, ptr %t2 %t4 = zext i8 %t3 to i32 %t5 = icmp eq i32 %t4, 45 %t6 = zext i1 %t5 to i32 %t7 = icmp ne i32 %t6, 0 br i1 %t7, label %then0, label %ifend2 then0: %t8 = load ptr, ptr %t0 %t9 = load ptr, ptr %t0 %t10 = call i64 @strlen(ptr %t9) %t11 = trunc i64 %t10 to i32 store i32 1834, ptr @lp_site %t12 = call ptr @lp_str_slice(ptr %t8, i32 1, i32 %t11) store i32 0, ptr @lp_site store i32 1835, ptr @lp_site %t13 = call ptr @lp_str_concat(ptr @.str2381, ptr %t12) store i32 0, ptr @lp_site call void @lp_free(ptr %t12) store ptr %t13, ptr %retval br label %ret ifend2: %t14 = load ptr, ptr %t0 store i32 1836, ptr @lp_site %t15 = call ptr @lp_str_concat(ptr @.str2383, ptr %t14) store i32 0, ptr @lp_site store ptr %t15, ptr %retval br label %ret ret: %t16 = load ptr, ptr %retval ret ptr %t16 } define i32 @fn_at_field_known(ptr %arg_a) { 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 store ptr %arg_a, ptr %t0 %t6 = load ptr, ptr %t0 %t7 = call i32 @lp_str_eq(ptr %t6, ptr @.str2384) %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 @.str2385) %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 @.str2386) %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 @.str2387) %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 @.str2388) %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 @.str2389) %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: %t48 = load ptr, ptr %t0 %t49 = call i32 @lp_str_eq(ptr %t48, ptr @.str2390) %t50 = icmp ne i32 %t49, 0 %t51 = zext i1 %t50 to i32 store i32 %t51, ptr %t47 br i1 %t50, label %scend14, label %sc13 sc13: %t52 = load ptr, ptr %t0 %t53 = call i32 @lp_str_eq(ptr %t52, ptr @.str2391) %t54 = icmp ne i32 %t53, 0 %t55 = zext i1 %t54 to i32 store i32 %t55, ptr %t47 br label %scend14 scend14: %t56 = load i32, ptr %t47 %t57 = icmp ne i32 %t56, 0 %t58 = zext i1 %t57 to i32 store i32 %t58, ptr %t46 br i1 %t57, label %scend16, label %sc15 sc15: %t59 = load ptr, ptr %t0 %t60 = call i32 @lp_str_eq(ptr %t59, ptr @.str2392) %t61 = icmp ne i32 %t60, 0 %t62 = zext i1 %t61 to i32 store i32 %t62, ptr %t46 br label %scend16 scend16: %t63 = load i32, ptr %t46 %t64 = icmp ne i32 %t63, 0 %t65 = zext i1 %t64 to i32 store i32 %t65, ptr %t45 br i1 %t64, label %scend18, label %sc17 sc17: %t66 = load ptr, ptr %t0 %t67 = call i32 @lp_str_eq(ptr %t66, ptr @.str2393) %t68 = icmp ne i32 %t67, 0 %t69 = zext i1 %t68 to i32 store i32 %t69, ptr %t45 br label %scend18 scend18: %t70 = load i32, ptr %t45 %t71 = icmp ne i32 %t70, 0 %t72 = zext i1 %t71 to i32 store i32 %t72, ptr %t44 br i1 %t71, label %scend20, label %sc19 sc19: %t73 = load ptr, ptr %t0 %t74 = call i32 @fn_at_flag(ptr %t73) %t75 = icmp ne i32 %t74, 0 %t76 = zext i1 %t75 to i32 store i32 %t76, ptr %t44 br label %scend20 scend20: %t77 = load i32, ptr %t44 store i32 %t77, ptr %retval br label %ret ret: %t78 = load i32, ptr %retval ret i32 %t78 } define i32 @fn_at_flag(ptr %arg_a) { entry: %retval = alloca i32 %t0 = alloca ptr %t1 = alloca i32 %t2 = alloca i32 %t3 = alloca i32 %t4 = alloca i32 store ptr %arg_a, ptr %t0 %t5 = load ptr, ptr %t0 %t6 = call i32 @lp_str_eq(ptr %t5, ptr @.str2394) %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 @.str2395) %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 @.str2396) %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 @.str2397) %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 @.str2398) %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 store i32 %t34, ptr %retval br label %ret ret: %t35 = load i32, ptr %retval ret i32 %t35 } define void @fn_at_field(i32 %arg_g, ptr %arg_a) { entry: %t0 = alloca i32 %t1 = alloca ptr %t3 = alloca ptr %t5 = alloca i32 %t6 = alloca i32 %t7 = alloca i32 %t8 = alloca i32 %t9 = alloca i32 %t41 = alloca i32 %t72 = alloca i32 %t77 = alloca i32 %t83 = alloca i32 %t100 = alloca i32 %t109 = alloca i32 %t121 = alloca i32 %t133 = alloca i32 %t138 = alloca i32 %t172 = alloca i32 %t201 = alloca i32 store i32 %arg_g, ptr %t0 store ptr %arg_a, ptr %t1 %t2 = call ptr @fn_at_args() store ptr %t2, ptr %t3 %t4 = load i32, ptr @g_g_at_argn store i32 %t4, ptr %t5 %t10 = load ptr, ptr %t1 %t11 = call i32 @lp_str_eq(ptr %t10, ptr @.str2399) %t12 = icmp ne i32 %t11, 0 %t13 = zext i1 %t12 to i32 store i32 %t13, ptr %t9 br i1 %t12, label %scend1, label %sc0 sc0: %t14 = load ptr, ptr %t1 %t15 = call i32 @lp_str_eq(ptr %t14, ptr @.str2400) %t16 = icmp ne i32 %t15, 0 %t17 = zext i1 %t16 to i32 store i32 %t17, ptr %t9 br label %scend1 scend1: %t18 = load i32, ptr %t9 %t19 = icmp ne i32 %t18, 0 %t20 = zext i1 %t19 to i32 store i32 %t20, ptr %t8 br i1 %t19, label %scend3, label %sc2 sc2: %t21 = load ptr, ptr %t1 %t22 = call i32 @lp_str_eq(ptr %t21, ptr @.str2401) %t23 = icmp ne i32 %t22, 0 %t24 = zext i1 %t23 to i32 store i32 %t24, ptr %t8 br label %scend3 scend3: %t25 = load i32, ptr %t8 %t26 = icmp ne i32 %t25, 0 %t27 = zext i1 %t26 to i32 store i32 %t27, ptr %t7 br i1 %t26, label %scend5, label %sc4 sc4: %t28 = load ptr, ptr %t1 %t29 = call i32 @lp_str_eq(ptr %t28, ptr @.str2402) %t30 = icmp ne i32 %t29, 0 %t31 = zext i1 %t30 to i32 store i32 %t31, ptr %t7 br label %scend5 scend5: %t32 = load i32, ptr %t7 %t33 = icmp ne i32 %t32, 0 %t34 = zext i1 %t33 to i32 store i32 %t34, ptr %t6 br i1 %t33, label %scend7, label %sc6 sc6: %t35 = load ptr, ptr %t1 %t36 = call i32 @lp_str_eq(ptr %t35, ptr @.str2403) %t37 = icmp ne i32 %t36, 0 %t38 = zext i1 %t37 to i32 store i32 %t38, ptr %t6 br label %scend7 scend7: %t39 = load i32, ptr %t6 %t40 = icmp ne i32 %t39, 0 br i1 %t40, label %then8, label %ifend10 then8: %t42 = load i32, ptr %t5 %t43 = icmp ne i32 %t42, 1 %t44 = zext i1 %t43 to i32 %t45 = icmp ne i32 %t44, 0 %t46 = zext i1 %t45 to i32 store i32 %t46, ptr %t41 br i1 %t45, label %scend12, label %sc11 sc11: %t47 = load ptr, ptr @g_toks %t48 = load i32, ptr @g_pi %t49 = sub i32 %t48, 2 %t50 = getelementptr inbounds %LSlice, ptr %t47, i32 0, i32 0 %t51 = load ptr, ptr %t50 %t52 = getelementptr inbounds %LSlice, ptr %t47, i32 0, i32 1 %t53 = load i32, ptr %t52 %t54 = icmp ult i32 %t49, %t53 br i1 %t54, label %ixok13, label %ixbad14 ixbad14: store i32 1837, ptr @lp_site %t55 = call ptr @lp_win_stdio(i32 2) store i32 0, ptr @lp_site call i32 (ptr, ptr, ...) @fprintf(ptr %t55, ptr @.fmt_bounds, ptr @.str2404, i32 %t49, i32 %t53) call void @exit(i32 1) unreachable ixok13: %t56 = getelementptr inbounds ptr, ptr %t51, i32 %t49 %t57 = load ptr, ptr %t56 %t58 = getelementptr inbounds %Cmp_Tok, ptr %t57, i32 0, i32 0 %t59 = load i32, ptr %t58 %t60 = icmp ne i32 %t59, 0 %t61 = zext i1 %t60 to i32 %t62 = icmp ne i32 %t61, 0 %t63 = zext i1 %t62 to i32 store i32 %t63, ptr %t41 br label %scend12 scend12: %t64 = load i32, ptr %t41 %t65 = icmp ne i32 %t64, 0 br i1 %t65, label %then15, label %ifend17 then15: %t66 = load ptr, ptr %t1 store i32 1838, ptr @lp_site %t67 = call ptr @lp_str_concat(ptr @.str2406, ptr %t66) store i32 0, ptr @lp_site store i32 1839, ptr @lp_site %t68 = call ptr @lp_str_concat(ptr %t67, ptr @.str2407) store i32 0, ptr @lp_site call void @lp_free(ptr %t67) %t69 = load ptr, ptr %t1 store i32 1840, ptr @lp_site %t70 = call ptr @lp_str_concat(ptr %t68, ptr %t69) store i32 0, ptr @lp_site call void @lp_free(ptr %t68) store i32 1841, ptr @lp_site %t71 = call ptr @lp_str_concat(ptr %t70, ptr @.str2408) store i32 0, ptr @lp_site call void @lp_free(ptr %t70) call void @fn_perr(ptr %t71) br label %ifend17 ifend17: br label %ifend10 ifend10: %t73 = load ptr, ptr %t1 %t74 = call i32 @lp_str_eq(ptr %t73, ptr @.str2409) %t75 = icmp ne i32 %t74, 0 %t76 = zext i1 %t75 to i32 store i32 %t76, ptr %t72 br i1 %t75, label %sc18, label %scend19 sc18: %t78 = load i32, ptr %t5 %t79 = icmp slt i32 %t78, 1 %t80 = zext i1 %t79 to i32 %t81 = icmp ne i32 %t80, 0 %t82 = zext i1 %t81 to i32 store i32 %t82, ptr %t77 br i1 %t81, label %scend21, label %sc20 sc20: %t84 = load i32, ptr @g_g_at_allid %t85 = icmp ne i32 %t84, 0 %t86 = zext i1 %t85 to i32 store i32 %t86, ptr %t83 br i1 %t85, label %scend23, label %sc22 sc22: %t87 = load i32, ptr @g_g_at_allstr %t88 = icmp ne i32 %t87, 0 %t89 = zext i1 %t88 to i32 store i32 %t89, ptr %t83 br label %scend23 scend23: %t90 = load i32, ptr %t83 %t91 = icmp eq i32 %t90, 0 %t92 = zext i1 %t91 to i32 %t93 = icmp ne i32 %t92, 0 %t94 = zext i1 %t93 to i32 store i32 %t94, ptr %t77 br label %scend21 scend21: %t95 = load i32, ptr %t77 %t96 = icmp ne i32 %t95, 0 %t97 = zext i1 %t96 to i32 store i32 %t97, ptr %t72 br label %scend19 scend19: %t98 = load i32, ptr %t72 %t99 = icmp ne i32 %t98, 0 br i1 %t99, label %then24, label %ifend26 then24: call void @fn_perr(ptr @.str2410) br label %ifend26 ifend26: %t101 = load ptr, ptr %t1 %t102 = call i32 @lp_str_eq(ptr %t101, ptr @.str2411) %t103 = icmp ne i32 %t102, 0 %t104 = zext i1 %t103 to i32 store i32 %t104, ptr %t100 br i1 %t103, label %sc27, label %scend28 sc27: %t105 = load i32, ptr @g_g_at_allstr %t106 = icmp ne i32 %t105, 0 %t107 = zext i1 %t106 to i32 store i32 %t107, ptr %t100 br label %scend28 scend28: %t108 = load i32, ptr %t100 store i32 %t108, ptr @g_g_at_strs_next %t110 = load ptr, ptr %t1 %t111 = call i32 @lp_str_eq(ptr %t110, ptr @.str2412) %t112 = icmp ne i32 %t111, 0 %t113 = zext i1 %t112 to i32 store i32 %t113, ptr %t109 br i1 %t112, label %sc29, label %scend30 sc29: %t114 = load i32, ptr %t5 %t115 = icmp ne i32 %t114, 2 %t116 = zext i1 %t115 to i32 %t117 = icmp ne i32 %t116, 0 %t118 = zext i1 %t117 to i32 store i32 %t118, ptr %t109 br label %scend30 scend30: %t119 = load i32, ptr %t109 %t120 = icmp ne i32 %t119, 0 br i1 %t120, label %then31, label %ifend33 then31: call void @fn_perr(ptr @.str2413) br label %ifend33 ifend33: %t122 = load ptr, ptr %t1 %t123 = call i32 @lp_str_eq(ptr %t122, ptr @.str2414) %t124 = icmp ne i32 %t123, 0 %t125 = zext i1 %t124 to i32 store i32 %t125, ptr %t121 br i1 %t124, label %sc34, label %scend35 sc34: %t126 = load i32, ptr @g_g_at_allnum %t127 = icmp eq i32 %t126, 0 %t128 = zext i1 %t127 to i32 %t129 = icmp ne i32 %t128, 0 %t130 = zext i1 %t129 to i32 store i32 %t130, ptr %t121 br label %scend35 scend35: %t131 = load i32, ptr %t121 %t132 = icmp ne i32 %t131, 0 br i1 %t132, label %then36, label %ifend38 then36: call void @fn_perr(ptr @.str2415) br label %ifend38 ifend38: %t134 = load ptr, ptr %t1 %t135 = call i32 @lp_str_eq(ptr %t134, ptr @.str2416) %t136 = icmp ne i32 %t135, 0 %t137 = zext i1 %t136 to i32 store i32 %t137, ptr %t133 br i1 %t136, label %sc39, label %scend40 sc39: %t139 = load i32, ptr %t5 %t140 = icmp ne i32 %t139, 1 %t141 = zext i1 %t140 to i32 %t142 = icmp ne i32 %t141, 0 %t143 = zext i1 %t142 to i32 store i32 %t143, ptr %t138 br i1 %t142, label %scend42, label %sc41 sc41: %t144 = load ptr, ptr @g_toks %t145 = load i32, ptr @g_pi %t146 = sub i32 %t145, 2 %t147 = getelementptr inbounds %LSlice, ptr %t144, i32 0, i32 0 %t148 = load ptr, ptr %t147 %t149 = getelementptr inbounds %LSlice, ptr %t144, i32 0, i32 1 %t150 = load i32, ptr %t149 %t151 = icmp ult i32 %t146, %t150 br i1 %t151, label %ixok43, label %ixbad44 ixbad44: store i32 1842, ptr @lp_site %t152 = call ptr @lp_win_stdio(i32 2) store i32 0, ptr @lp_site call i32 (ptr, ptr, ...) @fprintf(ptr %t152, ptr @.fmt_bounds, ptr @.str2417, i32 %t146, i32 %t150) call void @exit(i32 1) unreachable ixok43: %t153 = getelementptr inbounds ptr, ptr %t148, i32 %t146 %t154 = load ptr, ptr %t153 %t155 = getelementptr inbounds %Cmp_Tok, ptr %t154, i32 0, i32 0 %t156 = load i32, ptr %t155 %t157 = icmp ne i32 %t156, 2 %t158 = zext i1 %t157 to i32 %t159 = icmp ne i32 %t158, 0 %t160 = zext i1 %t159 to i32 store i32 %t160, ptr %t138 br label %scend42 scend42: %t161 = load i32, ptr %t138 %t162 = icmp ne i32 %t161, 0 %t163 = zext i1 %t162 to i32 store i32 %t163, ptr %t133 br label %scend40 scend40: %t164 = load i32, ptr %t133 %t165 = icmp ne i32 %t164, 0 br i1 %t165, label %then45, label %ifend47 then45: %t166 = load ptr, ptr %t1 store i32 1843, ptr @lp_site %t167 = call ptr @lp_str_concat(ptr @.str2418, ptr %t166) store i32 0, ptr @lp_site store i32 1844, ptr @lp_site %t168 = call ptr @lp_str_concat(ptr %t167, ptr @.str2419) store i32 0, ptr @lp_site call void @lp_free(ptr %t167) %t169 = load ptr, ptr %t1 store i32 1845, ptr @lp_site %t170 = call ptr @lp_str_concat(ptr %t168, ptr %t169) store i32 0, ptr @lp_site call void @lp_free(ptr %t168) store i32 1846, ptr @lp_site %t171 = call ptr @lp_str_concat(ptr %t170, ptr @.str2420) store i32 0, ptr @lp_site call void @lp_free(ptr %t170) call void @fn_perr(ptr %t171) br label %ifend47 ifend47: %t173 = load ptr, ptr %t1 %t174 = call i32 @lp_str_eq(ptr %t173, ptr @.str2421) %t175 = icmp ne i32 %t174, 0 %t176 = zext i1 %t175 to i32 store i32 %t176, ptr %t172 br i1 %t175, label %sc48, label %scend49 sc48: %t177 = load ptr, ptr %t3 %t178 = load i32, ptr %t5 %t179 = call i32 @fn_at_asset_ok(ptr %t177, i32 %t178) %t180 = icmp eq i32 %t179, 0 %t181 = zext i1 %t180 to i32 %t182 = icmp ne i32 %t181, 0 %t183 = zext i1 %t182 to i32 store i32 %t183, ptr %t172 br label %scend49 scend49: %t184 = load i32, ptr %t172 %t185 = icmp ne i32 %t184, 0 br i1 %t185, label %then50, label %ifend52 then50: call void @fn_perr(ptr @.str2422) br label %ifend52 ifend52: %t186 = load ptr, ptr %t1 %t187 = call i32 @lp_str_eq(ptr %t186, ptr @.str2423) %t188 = icmp ne i32 %t187, 0 br i1 %t188, label %then53, label %ifend55 then53: %t189 = load ptr, ptr @g_g_at_arg0 %t190 = load ptr, ptr @g_toks %t191 = load i32, ptr @g_pi %t192 = sub i32 %t191, 2 %t193 = getelementptr inbounds %LSlice, ptr %t190, i32 0, i32 0 %t194 = load ptr, ptr %t193 %t195 = getelementptr inbounds %LSlice, ptr %t190, i32 0, i32 1 %t196 = load i32, ptr %t195 %t197 = icmp ult i32 %t192, %t196 br i1 %t197, label %ixok56, label %ixbad57 ixbad57: store i32 1847, ptr @lp_site %t198 = call ptr @lp_win_stdio(i32 2) store i32 0, ptr @lp_site call i32 (ptr, ptr, ...) @fprintf(ptr %t198, ptr @.fmt_bounds, ptr @.str2424, i32 %t192, i32 %t196) call void @exit(i32 1) unreachable ixok56: %t199 = getelementptr inbounds ptr, ptr %t194, i32 %t192 %t200 = load ptr, ptr %t199 call void @fn_at_unit_check(ptr %t189, ptr %t200) br label %ifend55 ifend55: %t202 = load ptr, ptr %t1 %t203 = call i32 @fn_at_flag(ptr %t202) %t204 = icmp ne i32 %t203, 0 %t205 = zext i1 %t204 to i32 store i32 %t205, ptr %t201 br i1 %t204, label %sc58, label %scend59 sc58: %t206 = load i32, ptr %t5 %t207 = icmp ne i32 %t206, 0 %t208 = zext i1 %t207 to i32 %t209 = icmp ne i32 %t208, 0 %t210 = zext i1 %t209 to i32 store i32 %t210, ptr %t201 br label %scend59 scend59: %t211 = load i32, ptr %t201 %t212 = icmp ne i32 %t211, 0 br i1 %t212, label %then60, label %ifend62 then60: %t213 = load ptr, ptr %t1 store i32 1848, ptr @lp_site %t214 = call ptr @lp_str_concat(ptr @.str2425, ptr %t213) store i32 0, ptr @lp_site store i32 1849, ptr @lp_site %t215 = call ptr @lp_str_concat(ptr %t214, ptr @.str2426) store i32 0, ptr @lp_site call void @lp_free(ptr %t214) call void @fn_perr(ptr %t215) br label %ifend62 ifend62: %t216 = load i32, ptr %t0 %t217 = load ptr, ptr %t1 %t218 = load ptr, ptr %t3 %t219 = load ptr, ptr @g_g_at_arg0 %t220 = load i32, ptr %t5 call void @fn_at_push(i32 %t216, ptr %t217, ptr %t218, ptr %t219, i32 %t220) br label %ret ret: ret void } define i32 @fn_at_asset_ok(ptr %arg_args, i32 %arg_n) { entry: %retval = alloca i32 %t0 = alloca ptr %t1 = alloca i32 %t2 = alloca i32 %t17 = alloca ptr %t25 = alloca i32 %t47 = alloca i32 store ptr %arg_args, ptr %t0 store i32 %arg_n, ptr %t1 %t3 = load i32, ptr %t1 %t4 = icmp slt i32 %t3, 1 %t5 = zext i1 %t4 to i32 %t6 = icmp ne i32 %t5, 0 %t7 = zext i1 %t6 to i32 store i32 %t7, ptr %t2 br i1 %t6, label %scend1, label %sc0 sc0: %t8 = load i32, ptr %t1 %t9 = icmp sgt i32 %t8, 3 %t10 = zext i1 %t9 to i32 %t11 = icmp ne i32 %t10, 0 %t12 = zext i1 %t11 to i32 store i32 %t12, ptr %t2 br label %scend1 scend1: %t13 = load i32, ptr %t2 %t14 = icmp ne i32 %t13, 0 br i1 %t14, label %then2, label %ifend4 then2: store i32 0, ptr %retval br label %ret ifend4: %t15 = load ptr, ptr %t0 %t16 = call ptr @fn_at_arg_names(ptr %t15) store ptr %t16, ptr %t17 %t18 = load ptr, ptr %t17 %t19 = getelementptr inbounds %LSlice, ptr %t18, i32 0, i32 1 %t20 = load i32, ptr %t19 %t21 = load i32, ptr %t1 %t22 = icmp ne i32 %t20, %t21 %t23 = zext i1 %t22 to i32 %t24 = icmp ne i32 %t23, 0 br i1 %t24, label %then5, label %ifend7 then5: store i32 0, ptr %retval br label %ret ifend7: %t26 = load i32, ptr %t1 %t27 = icmp sge i32 %t26, 2 %t28 = zext i1 %t27 to i32 %t29 = icmp ne i32 %t28, 0 %t30 = zext i1 %t29 to i32 store i32 %t30, ptr %t25 br i1 %t29, label %sc8, label %scend9 sc8: %t31 = load ptr, ptr %t17 %t32 = getelementptr inbounds %LSlice, ptr %t31, i32 0, i32 0 %t33 = load ptr, ptr %t32 %t34 = getelementptr inbounds %LSlice, ptr %t31, i32 0, i32 1 %t35 = load i32, ptr %t34 %t36 = icmp ult i32 1, %t35 br i1 %t36, label %ixok10, label %ixbad11 ixbad11: store i32 1850, ptr @lp_site %t37 = call ptr @lp_win_stdio(i32 2) store i32 0, ptr @lp_site call i32 (ptr, ptr, ...) @fprintf(ptr %t37, ptr @.fmt_bounds, ptr @.str2427, i32 1, i32 %t35) call void @exit(i32 1) unreachable ixok10: %t38 = getelementptr inbounds ptr, ptr %t33, i32 1 %t39 = load ptr, ptr %t38 %t40 = call i32 @lp_str_eq(ptr %t39, ptr @.str2429) %t41 = icmp eq i32 %t40, 0 %t42 = zext i1 %t41 to i32 %t43 = icmp ne i32 %t42, 0 %t44 = zext i1 %t43 to i32 store i32 %t44, ptr %t25 br label %scend9 scend9: %t45 = load i32, ptr %t25 %t46 = icmp ne i32 %t45, 0 br i1 %t46, label %then12, label %ifend14 then12: store i32 0, ptr %retval br label %ret ifend14: %t48 = load i32, ptr %t1 %t49 = icmp eq i32 %t48, 3 %t50 = zext i1 %t49 to i32 %t51 = icmp ne i32 %t50, 0 %t52 = zext i1 %t51 to i32 store i32 %t52, ptr %t47 br i1 %t51, label %sc15, label %scend16 sc15: %t53 = load ptr, ptr %t17 %t54 = getelementptr inbounds %LSlice, ptr %t53, i32 0, i32 0 %t55 = load ptr, ptr %t54 %t56 = getelementptr inbounds %LSlice, ptr %t53, i32 0, i32 1 %t57 = load i32, ptr %t56 %t58 = icmp ult i32 2, %t57 br i1 %t58, label %ixok17, label %ixbad18 ixbad18: store i32 1851, ptr @lp_site %t59 = call ptr @lp_win_stdio(i32 2) store i32 0, ptr @lp_site call i32 (ptr, ptr, ...) @fprintf(ptr %t59, ptr @.fmt_bounds, ptr @.str2430, i32 2, i32 %t57) call void @exit(i32 1) unreachable ixok17: %t60 = getelementptr inbounds ptr, ptr %t55, i32 2 %t61 = load ptr, ptr %t60 %t62 = call i32 @lp_str_eq(ptr %t61, ptr @.str2431) %t63 = icmp eq i32 %t62, 0 %t64 = zext i1 %t63 to i32 %t65 = icmp ne i32 %t64, 0 %t66 = zext i1 %t65 to i32 store i32 %t66, ptr %t47 br label %scend16 scend16: %t67 = load i32, ptr %t47 %t68 = icmp ne i32 %t67, 0 br i1 %t68, label %then19, label %ifend21 then19: store i32 0, ptr %retval br label %ret ifend21: store i32 1, ptr %retval br label %ret ret: %t69 = load i32, ptr %retval ret i32 %t69 } define i32 @fn_at_field_group(ptr %arg_f) { entry: %retval = alloca i32 %t0 = alloca ptr store ptr %arg_f, ptr %t0 %t1 = load ptr, ptr %t0 %t2 = getelementptr inbounds %Cmp_Node, ptr %t1, i32 0, i32 19 %t3 = load i32, ptr %t2 %t4 = icmp slt i32 %t3, 0 %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 19 %t9 = call i32 @fn_at_group() store i32 %t9, ptr %t8 br label %ifend2 ifend2: %t10 = load ptr, ptr %t0 %t11 = getelementptr inbounds %Cmp_Node, ptr %t10, i32 0, i32 19 %t12 = load i32, ptr %t11 store i32 %t12, ptr %retval br label %ret ret: %t13 = load i32, ptr %retval ret i32 %t13 } define void @fn_at_decl(ptr %arg_a) { entry: %t0 = alloca ptr store ptr %arg_a, ptr %t0 %t1 = load ptr, ptr %t0 call void @fn_at_decl_with(ptr %t1, ptr @.str2432) br label %ret ret: ret void } define void @fn_at_decl_with(ptr %arg_a, ptr %arg_args) { entry: %t0 = alloca ptr %t1 = alloca ptr store ptr %arg_a, ptr %t0 store ptr %arg_args, ptr %t1 %t2 = load ptr, ptr @g_g_at_decl %t3 = load ptr, ptr %t0 %t4 = getelementptr inbounds %LSlice, ptr %t2, i32 0, i32 1 %t5 = getelementptr inbounds %LSlice, ptr %t2, i32 0, i32 2 %t6 = getelementptr inbounds %LSlice, ptr %t2, i32 0, i32 0 %t7 = load i32, ptr %t4 %t8 = load i32, ptr %t5 %t9 = icmp sge i32 %t7, %t8 br i1 %t9, label %grow0, label %put1 grow0: %t10 = mul i32 %t8, 2 %t11 = icmp eq i32 %t8, 0 %t12 = select i1 %t11, i32 8, i32 %t10 %t13 = getelementptr ptr, ptr null, i32 1 %t14 = ptrtoint ptr %t13 to i64 %t15 = zext i32 %t12 to i64 %t16 = mul i64 %t15, %t14 %t17 = load ptr, ptr %t6 store i32 1852, ptr @lp_site %t18 = call ptr @lp_realloc(ptr %t17, i64 %t16) store i32 0, ptr @lp_site store ptr %t18, ptr %t6 store i32 %t12, ptr %t5 br label %put1 put1: %t19 = load ptr, ptr %t6 %t20 = getelementptr inbounds ptr, ptr %t19, i32 %t7 store ptr %t3, ptr %t20 %t21 = add i32 %t7, 1 store i32 %t21, ptr %t4 %t22 = load ptr, ptr @g_g_at_decl_args %t23 = load ptr, ptr %t1 %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 %grow2, label %put3 grow2: %t30 = mul i32 %t28, 2 %t31 = icmp eq i32 %t28, 0 %t32 = select i1 %t31, i32 8, i32 %t30 %t33 = getelementptr ptr, 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 store i32 1853, ptr @lp_site %t38 = call ptr @lp_realloc(ptr %t37, i64 %t36) store i32 0, ptr @lp_site store ptr %t38, ptr %t26 store i32 %t32, ptr %t25 br label %put3 put3: %t39 = load ptr, ptr %t26 %t40 = getelementptr inbounds ptr, ptr %t39, i32 %t27 store ptr %t23, ptr %t40 %t41 = add i32 %t27, 1 store i32 %t41, ptr %t24 br label %ret ret: ret void } define void @fn_at_decl_reset() { entry: %t0 = load i32, ptr @g_g_at_keep %t1 = icmp ne i32 %t0, 0 br i1 %t1, label %then0, label %ifend2 then0: store i32 0, ptr @g_g_at_keep br label %ret ifend2: %t2 = load ptr, ptr @g_g_at_decl %t3 = getelementptr inbounds %LSlice, ptr %t2, i32 0, i32 1 %t4 = load i32, ptr %t3 %t5 = icmp sgt i32 %t4, 0 %t6 = zext i1 %t5 to i32 %t7 = icmp ne i32 %t6, 0 br i1 %t7, label %then3, label %ifend5 then3: call void @fn_at_decl_clear() br label %ifend5 ifend5: br label %ret ret: ret void } define void @fn_at_decl_clear() { entry: %t0 = getelementptr %LSlice, ptr null, i32 1 %t1 = ptrtoint ptr %t0 to i64 store i32 1854, ptr @lp_site %t2 = call ptr @lp_malloc(i64 %t1) store i32 0, ptr @lp_site %t3 = getelementptr inbounds %LSlice, ptr %t2, i32 0, i32 0 store ptr null, ptr %t3 %t4 = getelementptr inbounds %LSlice, ptr %t2, i32 0, i32 1 store i32 0, ptr %t4 %t5 = getelementptr inbounds %LSlice, ptr %t2, i32 0, i32 2 store i32 0, ptr %t5 store ptr %t2, ptr @g_g_at_decl %t6 = getelementptr %LSlice, ptr null, i32 1 %t7 = ptrtoint ptr %t6 to i64 store i32 1855, ptr @lp_site %t8 = call ptr @lp_malloc(i64 %t7) store i32 0, ptr @lp_site %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_at_decl_args store i32 0, ptr @g_g_pm_pending store i32 0, ptr @g_g_pm_chunk_pending store ptr null, ptr @g_g_tk_pending br label %ret ret: ret void } define i32 @fn_at_registry_take() { entry: %retval = alloca i32 %t8 = alloca i32 %t9 = alloca i32 %t17 = alloca ptr %t18 = alloca i32 %t0 = load ptr, ptr @g_g_at_decl %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: %t6 = sub i32 0, 1 store i32 %t6, ptr %retval br label %ret ifend2: %t7 = call i32 @fn_at_group() store i32 %t7, ptr %t8 store i32 0, ptr %t9 br label %wcond3 wcond3: %t10 = load i32, ptr %t9 %t11 = load ptr, ptr @g_g_at_decl %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: store ptr null, ptr %t17 store i32 0, ptr %t18 %t19 = load ptr, ptr @g_g_at_decl_args %t20 = load i32, ptr %t9 %t21 = getelementptr inbounds %LSlice, ptr %t19, i32 0, i32 0 %t22 = load ptr, ptr %t21 %t23 = getelementptr inbounds %LSlice, ptr %t19, i32 0, i32 1 %t24 = load i32, ptr %t23 %t25 = icmp ult i32 %t20, %t24 br i1 %t25, label %ixok6, label %ixbad7 ixbad7: store i32 1856, ptr @lp_site %t26 = call ptr @lp_win_stdio(i32 2) store i32 0, ptr @lp_site call i32 (ptr, ptr, ...) @fprintf(ptr %t26, ptr @.fmt_bounds, ptr @.str2435, i32 %t20, i32 %t24) call void @exit(i32 1) unreachable ixok6: %t27 = getelementptr inbounds ptr, ptr %t22, i32 %t20 %t28 = load ptr, ptr %t27 %t29 = call i32 @lp_str_eq(ptr %t28, ptr @.str2437) %t30 = icmp eq i32 %t29, 0 %t31 = zext i1 %t30 to i32 %t32 = icmp ne i32 %t31, 0 br i1 %t32, label %then8, label %ifend10 then8: %t33 = load ptr, ptr @g_g_at_decl_args %t34 = load i32, ptr %t9 %t35 = getelementptr inbounds %LSlice, ptr %t33, i32 0, i32 0 %t36 = load ptr, ptr %t35 %t37 = getelementptr inbounds %LSlice, ptr %t33, i32 0, i32 1 %t38 = load i32, ptr %t37 %t39 = icmp ult i32 %t34, %t38 br i1 %t39, label %ixok11, label %ixbad12 ixbad12: store i32 1857, ptr @lp_site %t40 = call ptr @lp_win_stdio(i32 2) store i32 0, ptr @lp_site call i32 (ptr, ptr, ...) @fprintf(ptr %t40, ptr @.fmt_bounds, ptr @.str2438, i32 %t34, i32 %t38) call void @exit(i32 1) unreachable ixok11: %t41 = getelementptr inbounds ptr, ptr %t36, i32 %t34 %t42 = load ptr, ptr %t41 %t43 = load ptr, ptr @g_g_at_decl_args %t44 = load i32, ptr %t9 %t45 = getelementptr inbounds %LSlice, ptr %t43, i32 0, i32 0 %t46 = load ptr, ptr %t45 %t47 = getelementptr inbounds %LSlice, ptr %t43, i32 0, i32 1 %t48 = load i32, ptr %t47 %t49 = icmp ult i32 %t44, %t48 br i1 %t49, label %ixok13, label %ixbad14 ixbad14: store i32 1858, ptr @lp_site %t50 = call ptr @lp_win_stdio(i32 2) store i32 0, ptr @lp_site call i32 (ptr, ptr, ...) @fprintf(ptr %t50, ptr @.fmt_bounds, ptr @.str2439, i32 %t44, i32 %t48) call void @exit(i32 1) unreachable ixok13: %t51 = getelementptr inbounds ptr, ptr %t46, i32 %t44 %t52 = load ptr, ptr %t51 %t53 = call i64 @strlen(ptr %t52) %t54 = trunc i64 %t53 to i32 %t55 = sub i32 %t54, 1 store i32 1859, ptr @lp_site %t56 = call ptr @lp_str_slice(ptr %t42, i32 1, i32 %t55) store i32 0, ptr @lp_site store ptr %t56, ptr %t17 store i32 1, ptr %t18 br label %ifend10 ifend10: %t57 = load i32, ptr %t8 %t58 = load ptr, ptr @g_g_at_decl %t59 = load i32, ptr %t9 %t60 = getelementptr inbounds %LSlice, ptr %t58, i32 0, i32 0 %t61 = load ptr, ptr %t60 %t62 = getelementptr inbounds %LSlice, ptr %t58, i32 0, i32 1 %t63 = load i32, ptr %t62 %t64 = icmp ult i32 %t59, %t63 br i1 %t64, label %ixok15, label %ixbad16 ixbad16: store i32 1860, ptr @lp_site %t65 = call ptr @lp_win_stdio(i32 2) store i32 0, ptr @lp_site call i32 (ptr, ptr, ...) @fprintf(ptr %t65, ptr @.fmt_bounds, ptr @.str2440, i32 %t59, i32 %t63) call void @exit(i32 1) unreachable ixok15: %t66 = getelementptr inbounds ptr, ptr %t61, i32 %t59 %t67 = load ptr, ptr %t66 %t68 = load ptr, ptr @g_g_at_decl_args %t69 = load i32, ptr %t9 %t70 = getelementptr inbounds %LSlice, ptr %t68, i32 0, i32 0 %t71 = load ptr, ptr %t70 %t72 = getelementptr inbounds %LSlice, ptr %t68, i32 0, i32 1 %t73 = load i32, ptr %t72 %t74 = icmp ult i32 %t69, %t73 br i1 %t74, label %ixok17, label %ixbad18 ixbad18: store i32 1861, ptr @lp_site %t75 = call ptr @lp_win_stdio(i32 2) store i32 0, ptr @lp_site call i32 (ptr, ptr, ...) @fprintf(ptr %t75, ptr @.fmt_bounds, ptr @.str2441, i32 %t69, i32 %t73) call void @exit(i32 1) unreachable ixok17: %t76 = getelementptr inbounds ptr, ptr %t71, i32 %t69 %t77 = load ptr, ptr %t76 %t78 = load ptr, ptr %t17 %t79 = load i32, ptr %t18 call void @fn_at_push(i32 %t57, ptr %t67, ptr %t77, ptr %t78, i32 %t79) %t80 = load i32, ptr %t9 %t81 = add i32 %t80, 1 store i32 %t81, ptr %t9 br label %wcond3 wend5: call void @fn_at_decl_clear() %t82 = load i32, ptr %t8 store i32 %t82, ptr %retval br label %ret ret: %t83 = load i32, ptr %retval ret i32 %t83 } define void @fn_at_check_refs() { entry: %t0 = alloca i32 %t18 = alloca ptr %t25 = alloca i32 %t47 = 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 = load i32, ptr %t0 %t10 = getelementptr inbounds %LSlice, ptr %t8, i32 0, i32 0 %t11 = load ptr, ptr %t10 %t12 = getelementptr inbounds %LSlice, ptr %t8, i32 0, i32 1 %t13 = load i32, ptr %t12 %t14 = icmp ult i32 %t9, %t13 br i1 %t14, label %ixok3, label %ixbad4 ixbad4: store i32 1862, ptr @lp_site %t15 = call ptr @lp_win_stdio(i32 2) store i32 0, ptr @lp_site call i32 (ptr, ptr, ...) @fprintf(ptr %t15, ptr @.fmt_bounds, ptr @.str2442, i32 %t9, i32 %t13) call void @exit(i32 1) unreachable ixok3: %t16 = getelementptr inbounds ptr, ptr %t11, i32 %t9 %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 %then5, label %ifend7 then5: store i32 0, ptr %t25 br label %wcond8 wcond8: %t26 = load i32, ptr %t25 %t27 = load ptr, ptr %t18 %t28 = getelementptr inbounds %Cmp_Node, ptr %t27, i32 0, i32 7 %t29 = load ptr, ptr %t28 %t30 = getelementptr inbounds %LSlice, ptr %t29, i32 0, i32 1 %t31 = load i32, ptr %t30 %t32 = icmp slt i32 %t26, %t31 %t33 = zext i1 %t32 to i32 %t34 = icmp ne i32 %t33, 0 br i1 %t34, label %wbody9, label %wend10 wbody9: %t35 = load ptr, ptr %t18 %t36 = getelementptr inbounds %Cmp_Node, ptr %t35, i32 0, i32 7 %t37 = load ptr, ptr %t36 %t38 = load i32, ptr %t25 %t39 = getelementptr inbounds %LSlice, ptr %t37, i32 0, i32 0 %t40 = load ptr, ptr %t39 %t41 = getelementptr inbounds %LSlice, ptr %t37, i32 0, i32 1 %t42 = load i32, ptr %t41 %t43 = icmp ult i32 %t38, %t42 br i1 %t43, label %ixok11, label %ixbad12 ixbad12: store i32 1863, ptr @lp_site %t44 = call ptr @lp_win_stdio(i32 2) store i32 0, ptr @lp_site call i32 (ptr, ptr, ...) @fprintf(ptr %t44, ptr @.fmt_bounds, ptr @.str2444, i32 %t38, i32 %t42) call void @exit(i32 1) unreachable ixok11: %t45 = getelementptr inbounds ptr, ptr %t40, i32 %t38 %t46 = load ptr, ptr %t45 store ptr %t46, ptr %t47 %t48 = load ptr, ptr %t47 %t49 = getelementptr inbounds %Cmp_Node, ptr %t48, i32 0, i32 19 %t50 = load i32, ptr %t49 %t51 = icmp sge i32 %t50, 0 %t52 = zext i1 %t51 to i32 %t53 = icmp ne i32 %t52, 0 br i1 %t53, label %then13, label %ifend15 then13: %t54 = load ptr, ptr %t18 %t55 = load ptr, ptr %t47 call void @fn_at_check_field(ptr %t54, ptr %t55) br label %ifend15 ifend15: %t56 = load i32, ptr %t25 %t57 = add i32 %t56, 1 store i32 %t57, ptr %t25 br label %wcond8 wend10: br label %ifend7 ifend7: %t58 = load i32, ptr %t0 %t59 = add i32 %t58, 1 store i32 %t59, ptr %t0 br label %wcond0 wend2: call void @fn_diag_stop_if_errors() br label %ret ret: ret void } define void @fn_at_check_field(ptr %arg_d, ptr %arg_f) { entry: %t0 = alloca ptr %t1 = alloca ptr %t5 = alloca i32 %t16 = alloca i32 %t42 = alloca i32 %t76 = alloca i32 %t77 = alloca i32 %t165 = alloca i32 %t166 = alloca i32 %t248 = alloca i32 store ptr %arg_d, ptr %t0 store ptr %arg_f, ptr %t1 %t2 = load ptr, ptr %t1 %t3 = getelementptr inbounds %Cmp_Node, ptr %t2, i32 0, i32 19 %t4 = load i32, ptr %t3 store i32 %t4, ptr %t5 %t6 = load ptr, ptr @g_g_at_start %t7 = load i32, ptr %t5 %t8 = getelementptr inbounds %LSlice, ptr %t6, i32 0, i32 0 %t9 = load ptr, ptr %t8 %t10 = getelementptr inbounds %LSlice, ptr %t6, i32 0, i32 1 %t11 = load i32, ptr %t10 %t12 = icmp ult i32 %t7, %t11 br i1 %t12, label %ixok0, label %ixbad1 ixbad1: store i32 1864, ptr @lp_site %t13 = call ptr @lp_win_stdio(i32 2) store i32 0, ptr @lp_site call i32 (ptr, ptr, ...) @fprintf(ptr %t13, ptr @.fmt_bounds, ptr @.str2445, i32 %t7, i32 %t11) call void @exit(i32 1) unreachable ixok0: %t14 = getelementptr inbounds i32, ptr %t9, i32 %t7 %t15 = load i32, ptr %t14 store i32 %t15, ptr %t16 br label %wcond2 wcond2: %t17 = load i32, ptr %t16 %t18 = load ptr, ptr @g_g_at_start %t19 = load i32, ptr %t5 %t20 = getelementptr inbounds %LSlice, ptr %t18, i32 0, i32 0 %t21 = load ptr, ptr %t20 %t22 = getelementptr inbounds %LSlice, ptr %t18, i32 0, i32 1 %t23 = load i32, ptr %t22 %t24 = icmp ult i32 %t19, %t23 br i1 %t24, label %ixok5, label %ixbad6 ixbad6: store i32 1865, ptr @lp_site %t25 = call ptr @lp_win_stdio(i32 2) store i32 0, ptr @lp_site call i32 (ptr, ptr, ...) @fprintf(ptr %t25, ptr @.fmt_bounds, ptr @.str2447, i32 %t19, i32 %t23) call void @exit(i32 1) unreachable ixok5: %t26 = getelementptr inbounds i32, ptr %t21, i32 %t19 %t27 = load i32, ptr %t26 %t28 = load ptr, ptr @g_g_at_count %t29 = load i32, ptr %t5 %t30 = getelementptr inbounds %LSlice, ptr %t28, i32 0, i32 0 %t31 = load ptr, ptr %t30 %t32 = getelementptr inbounds %LSlice, ptr %t28, i32 0, i32 1 %t33 = load i32, ptr %t32 %t34 = icmp ult i32 %t29, %t33 br i1 %t34, label %ixok7, label %ixbad8 ixbad8: store i32 1866, ptr @lp_site %t35 = call ptr @lp_win_stdio(i32 2) store i32 0, ptr @lp_site call i32 (ptr, ptr, ...) @fprintf(ptr %t35, ptr @.fmt_bounds, ptr @.str2448, i32 %t29, i32 %t33) call void @exit(i32 1) unreachable ixok7: %t36 = getelementptr inbounds i32, ptr %t31, i32 %t29 %t37 = load i32, ptr %t36 %t38 = add i32 %t27, %t37 %t39 = icmp slt i32 %t17, %t38 %t40 = zext i1 %t39 to i32 %t41 = icmp ne i32 %t40, 0 br i1 %t41, label %wbody3, label %wend4 wbody3: %t43 = load ptr, ptr @g_g_at_name %t44 = load i32, ptr %t16 %t45 = getelementptr inbounds %LSlice, ptr %t43, i32 0, i32 0 %t46 = load ptr, ptr %t45 %t47 = getelementptr inbounds %LSlice, ptr %t43, i32 0, i32 1 %t48 = load i32, ptr %t47 %t49 = icmp ult i32 %t44, %t48 br i1 %t49, label %ixok9, label %ixbad10 ixbad10: store i32 1867, ptr @lp_site %t50 = call ptr @lp_win_stdio(i32 2) store i32 0, ptr @lp_site call i32 (ptr, ptr, ...) @fprintf(ptr %t50, ptr @.fmt_bounds, ptr @.str2449, i32 %t44, i32 %t48) call void @exit(i32 1) unreachable ixok9: %t51 = getelementptr inbounds ptr, ptr %t46, i32 %t44 %t52 = load ptr, ptr %t51 %t53 = call i32 @lp_str_eq(ptr %t52, ptr @.str2450) %t54 = icmp ne i32 %t53, 0 %t55 = zext i1 %t54 to i32 store i32 %t55, ptr %t42 br i1 %t54, label %sc11, label %scend12 sc11: %t56 = load ptr, ptr @g_g_at_first %t57 = load i32, ptr %t16 %t58 = getelementptr inbounds %LSlice, ptr %t56, i32 0, i32 0 %t59 = load ptr, ptr %t58 %t60 = getelementptr inbounds %LSlice, ptr %t56, i32 0, i32 1 %t61 = load i32, ptr %t60 %t62 = icmp ult i32 %t57, %t61 br i1 %t62, label %ixok13, label %ixbad14 ixbad14: store i32 1868, ptr @lp_site %t63 = call ptr @lp_win_stdio(i32 2) store i32 0, ptr @lp_site call i32 (ptr, ptr, ...) @fprintf(ptr %t63, ptr @.fmt_bounds, ptr @.str2451, i32 %t57, i32 %t61) call void @exit(i32 1) unreachable ixok13: %t64 = getelementptr inbounds ptr, ptr %t59, i32 %t57 %t65 = load ptr, ptr %t64 %t66 = call i32 @fn_reg_find(ptr %t65) %t67 = icmp slt 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 %t42 br label %scend12 scend12: %t71 = load i32, ptr %t42 %t72 = icmp ne i32 %t71, 0 br i1 %t72, label %then15, label %ifend17 then15: %t73 = load ptr, ptr %t0 %t74 = load ptr, ptr %t1 %t75 = load i32, ptr %t16 call void @fn_at_target(ptr %t73, ptr %t74, i32 %t75, ptr @.str2452) br label %ifend17 ifend17: %t78 = load ptr, ptr @g_g_at_name %t79 = load i32, ptr %t16 %t80 = getelementptr inbounds %LSlice, ptr %t78, i32 0, i32 0 %t81 = load ptr, ptr %t80 %t82 = getelementptr inbounds %LSlice, ptr %t78, i32 0, i32 1 %t83 = load i32, ptr %t82 %t84 = icmp ult i32 %t79, %t83 br i1 %t84, label %ixok18, label %ixbad19 ixbad19: store i32 1869, ptr @lp_site %t85 = call ptr @lp_win_stdio(i32 2) store i32 0, ptr @lp_site call i32 (ptr, ptr, ...) @fprintf(ptr %t85, ptr @.fmt_bounds, ptr @.str2453, i32 %t79, i32 %t83) call void @exit(i32 1) unreachable ixok18: %t86 = getelementptr inbounds ptr, ptr %t81, i32 %t79 %t87 = load ptr, ptr %t86 %t88 = call i32 @lp_str_eq(ptr %t87, ptr @.str2454) %t89 = icmp ne i32 %t88, 0 %t90 = zext i1 %t89 to i32 store i32 %t90, ptr %t77 br i1 %t89, label %sc20, label %scend21 sc20: %t91 = load ptr, ptr @g_g_at_first %t92 = load i32, ptr %t16 %t93 = getelementptr inbounds %LSlice, ptr %t91, i32 0, i32 0 %t94 = load ptr, ptr %t93 %t95 = getelementptr inbounds %LSlice, ptr %t91, i32 0, i32 1 %t96 = load i32, ptr %t95 %t97 = icmp ult i32 %t92, %t96 br i1 %t97, label %ixok22, label %ixbad23 ixbad23: store i32 1870, ptr @lp_site %t98 = call ptr @lp_win_stdio(i32 2) store i32 0, ptr @lp_site call i32 (ptr, ptr, ...) @fprintf(ptr %t98, ptr @.fmt_bounds, ptr @.str2455, i32 %t92, i32 %t96) call void @exit(i32 1) unreachable ixok22: %t99 = getelementptr inbounds ptr, ptr %t94, i32 %t92 %t100 = load ptr, ptr %t99 %t101 = call i32 @fn_pm_named(ptr %t100) %t102 = icmp ne i32 %t101, 0 %t103 = zext i1 %t102 to i32 store i32 %t103, ptr %t77 br label %scend21 scend21: %t104 = load i32, ptr %t77 %t105 = icmp ne i32 %t104, 0 %t106 = zext i1 %t105 to i32 store i32 %t106, ptr %t76 br i1 %t105, label %sc24, label %scend25 sc24: %t107 = load ptr, ptr %t1 %t108 = getelementptr inbounds %Cmp_Node, ptr %t107, i32 0, i32 3 %t109 = load ptr, ptr %t108 %t110 = call i32 @lp_str_eq(ptr %t109, ptr @.str2456) %t111 = icmp eq i32 %t110, 0 %t112 = zext i1 %t111 to i32 %t113 = icmp ne i32 %t112, 0 %t114 = zext i1 %t113 to i32 store i32 %t114, ptr %t76 br label %scend25 scend25: %t115 = load i32, ptr %t76 %t116 = icmp ne i32 %t115, 0 br i1 %t116, label %then26, label %ifend28 then26: %t117 = load ptr, ptr %t1 %t118 = getelementptr inbounds %Cmp_Node, ptr %t117, i32 0, i32 9 %t119 = load ptr, ptr %t118 %t120 = load ptr, ptr %t1 %t121 = getelementptr inbounds %Cmp_Node, ptr %t120, i32 0, i32 8 %t122 = load i32, ptr %t121 %t123 = load ptr, ptr %t1 %t124 = getelementptr inbounds %Cmp_Node, ptr %t123, i32 0, i32 18 %t125 = load i32, ptr %t124 %t126 = load ptr, ptr %t0 %t127 = getelementptr inbounds %Cmp_Node, ptr %t126, i32 0, i32 1 %t128 = load ptr, ptr %t127 store i32 1871, ptr @lp_site %t129 = call ptr @lp_str_concat(ptr @.str2457, ptr %t128) store i32 0, ptr @lp_site store i32 1872, ptr @lp_site %t130 = call ptr @lp_str_concat(ptr %t129, ptr @.str2458) store i32 0, ptr @lp_site call void @lp_free(ptr %t129) %t131 = load ptr, ptr %t1 %t132 = getelementptr inbounds %Cmp_Node, ptr %t131, i32 0, i32 1 %t133 = load ptr, ptr %t132 store i32 1873, ptr @lp_site %t134 = call ptr @lp_str_concat(ptr %t130, ptr %t133) store i32 0, ptr @lp_site call void @lp_free(ptr %t130) store i32 1874, ptr @lp_site %t135 = call ptr @lp_str_concat(ptr %t134, ptr @.str2459) store i32 0, ptr @lp_site call void @lp_free(ptr %t134) %t136 = load ptr, ptr @g_g_at_first %t137 = load i32, ptr %t16 %t138 = getelementptr inbounds %LSlice, ptr %t136, i32 0, i32 0 %t139 = load ptr, ptr %t138 %t140 = getelementptr inbounds %LSlice, ptr %t136, i32 0, i32 1 %t141 = load i32, ptr %t140 %t142 = icmp ult i32 %t137, %t141 br i1 %t142, label %ixok29, label %ixbad30 ixbad30: store i32 1875, ptr @lp_site %t143 = call ptr @lp_win_stdio(i32 2) store i32 0, ptr @lp_site call i32 (ptr, ptr, ...) @fprintf(ptr %t143, ptr @.fmt_bounds, ptr @.str2460, i32 %t137, i32 %t141) call void @exit(i32 1) unreachable ixok29: %t144 = getelementptr inbounds ptr, ptr %t139, i32 %t137 %t145 = load ptr, ptr %t144 store i32 1876, ptr @lp_site %t146 = call ptr @lp_str_concat(ptr %t135, ptr %t145) store i32 0, ptr @lp_site call void @lp_free(ptr %t135) store i32 1877, ptr @lp_site %t147 = call ptr @lp_str_concat(ptr %t146, ptr @.str2461) store i32 0, ptr @lp_site call void @lp_free(ptr %t146) %t148 = load ptr, ptr @g_g_at_first %t149 = load i32, ptr %t16 %t150 = getelementptr inbounds %LSlice, ptr %t148, i32 0, i32 0 %t151 = load ptr, ptr %t150 %t152 = getelementptr inbounds %LSlice, ptr %t148, i32 0, i32 1 %t153 = load i32, ptr %t152 %t154 = icmp ult i32 %t149, %t153 br i1 %t154, label %ixok31, label %ixbad32 ixbad32: store i32 1878, ptr @lp_site %t155 = call ptr @lp_win_stdio(i32 2) store i32 0, ptr @lp_site call i32 (ptr, ptr, ...) @fprintf(ptr %t155, ptr @.fmt_bounds, ptr @.str2462, i32 %t149, i32 %t153) call void @exit(i32 1) unreachable ixok31: %t156 = getelementptr inbounds ptr, ptr %t151, i32 %t149 %t157 = load ptr, ptr %t156 store i32 1879, ptr @lp_site %t158 = call ptr @lp_str_concat(ptr %t147, ptr %t157) store i32 0, ptr @lp_site call void @lp_free(ptr %t147) store i32 1880, ptr @lp_site %t159 = call ptr @lp_str_concat(ptr %t158, ptr @.str2463) store i32 0, ptr @lp_site call void @lp_free(ptr %t158) %t160 = load ptr, ptr %t1 %t161 = getelementptr inbounds %Cmp_Node, ptr %t160, i32 0, i32 1 %t162 = load ptr, ptr %t161 store i32 1881, ptr @lp_site %t163 = call ptr @lp_str_concat(ptr %t159, ptr %t162) store i32 0, ptr @lp_site call void @lp_free(ptr %t159) store i32 1882, ptr @lp_site %t164 = call ptr @lp_str_concat(ptr %t163, ptr @.str2464) store i32 0, ptr @lp_site call void @lp_free(ptr %t163) call void @fn_perr_at(ptr %t119, i32 %t122, i32 %t125, ptr %t164) br label %ifend28 ifend28: %t167 = load ptr, ptr @g_g_at_name %t168 = load i32, ptr %t16 %t169 = getelementptr inbounds %LSlice, ptr %t167, i32 0, i32 0 %t170 = load ptr, ptr %t169 %t171 = getelementptr inbounds %LSlice, ptr %t167, i32 0, i32 1 %t172 = load i32, ptr %t171 %t173 = icmp ult i32 %t168, %t172 br i1 %t173, label %ixok33, label %ixbad34 ixbad34: store i32 1883, ptr @lp_site %t174 = call ptr @lp_win_stdio(i32 2) store i32 0, ptr @lp_site call i32 (ptr, ptr, ...) @fprintf(ptr %t174, ptr @.fmt_bounds, ptr @.str2465, i32 %t168, i32 %t172) call void @exit(i32 1) unreachable ixok33: %t175 = getelementptr inbounds ptr, ptr %t170, i32 %t168 %t176 = load ptr, ptr %t175 %t177 = call i32 @lp_str_eq(ptr %t176, ptr @.str2466) %t178 = icmp ne i32 %t177, 0 %t179 = zext i1 %t178 to i32 store i32 %t179, ptr %t166 br i1 %t178, label %scend36, label %sc35 sc35: %t180 = load ptr, ptr @g_g_at_name %t181 = load i32, ptr %t16 %t182 = getelementptr inbounds %LSlice, ptr %t180, i32 0, i32 0 %t183 = load ptr, ptr %t182 %t184 = getelementptr inbounds %LSlice, ptr %t180, i32 0, i32 1 %t185 = load i32, ptr %t184 %t186 = icmp ult i32 %t181, %t185 br i1 %t186, label %ixok37, label %ixbad38 ixbad38: store i32 1884, ptr @lp_site %t187 = call ptr @lp_win_stdio(i32 2) store i32 0, ptr @lp_site call i32 (ptr, ptr, ...) @fprintf(ptr %t187, ptr @.fmt_bounds, ptr @.str2467, i32 %t181, i32 %t185) call void @exit(i32 1) unreachable ixok37: %t188 = getelementptr inbounds ptr, ptr %t183, i32 %t181 %t189 = load ptr, ptr %t188 %t190 = call i32 @lp_str_eq(ptr %t189, ptr @.str2468) %t191 = icmp ne i32 %t190, 0 %t192 = zext i1 %t191 to i32 store i32 %t192, ptr %t166 br label %scend36 scend36: %t193 = load i32, ptr %t166 %t194 = icmp ne i32 %t193, 0 %t195 = zext i1 %t194 to i32 store i32 %t195, ptr %t165 br i1 %t194, label %scend40, label %sc39 sc39: %t196 = load ptr, ptr @g_g_at_name %t197 = load i32, ptr %t16 %t198 = getelementptr inbounds %LSlice, ptr %t196, i32 0, i32 0 %t199 = load ptr, ptr %t198 %t200 = getelementptr inbounds %LSlice, ptr %t196, i32 0, i32 1 %t201 = load i32, ptr %t200 %t202 = icmp ult i32 %t197, %t201 br i1 %t202, label %ixok41, label %ixbad42 ixbad42: store i32 1885, ptr @lp_site %t203 = call ptr @lp_win_stdio(i32 2) store i32 0, ptr @lp_site call i32 (ptr, ptr, ...) @fprintf(ptr %t203, ptr @.fmt_bounds, ptr @.str2469, i32 %t197, i32 %t201) call void @exit(i32 1) unreachable ixok41: %t204 = getelementptr inbounds ptr, ptr %t199, i32 %t197 %t205 = load ptr, ptr %t204 %t206 = call i32 @lp_str_eq(ptr %t205, ptr @.str2470) %t207 = icmp ne i32 %t206, 0 %t208 = zext i1 %t207 to i32 store i32 %t208, ptr %t165 br label %scend40 scend40: %t209 = load i32, ptr %t165 %t210 = icmp ne i32 %t209, 0 br i1 %t210, label %then43, label %ifend45 then43: %t211 = load ptr, ptr %t0 %t212 = load ptr, ptr %t1 %t213 = load ptr, ptr @g_g_at_name %t214 = load i32, ptr %t16 %t215 = getelementptr inbounds %LSlice, ptr %t213, i32 0, i32 0 %t216 = load ptr, ptr %t215 %t217 = getelementptr inbounds %LSlice, ptr %t213, i32 0, i32 1 %t218 = load i32, ptr %t217 %t219 = icmp ult i32 %t214, %t218 br i1 %t219, label %ixok46, label %ixbad47 ixbad47: store i32 1886, ptr @lp_site %t220 = call ptr @lp_win_stdio(i32 2) store i32 0, ptr @lp_site call i32 (ptr, ptr, ...) @fprintf(ptr %t220, ptr @.fmt_bounds, ptr @.str2471, i32 %t214, i32 %t218) call void @exit(i32 1) unreachable ixok46: %t221 = getelementptr inbounds ptr, ptr %t216, i32 %t214 %t222 = load ptr, ptr %t221 %t223 = load ptr, ptr @g_g_at_first %t224 = load i32, ptr %t16 %t225 = getelementptr inbounds %LSlice, ptr %t223, i32 0, i32 0 %t226 = load ptr, ptr %t225 %t227 = getelementptr inbounds %LSlice, ptr %t223, i32 0, i32 1 %t228 = load i32, ptr %t227 %t229 = icmp ult i32 %t224, %t228 br i1 %t229, label %ixok48, label %ixbad49 ixbad49: store i32 1887, ptr @lp_site %t230 = call ptr @lp_win_stdio(i32 2) store i32 0, ptr @lp_site call i32 (ptr, ptr, ...) @fprintf(ptr %t230, ptr @.fmt_bounds, ptr @.str2472, i32 %t224, i32 %t228) call void @exit(i32 1) unreachable ixok48: %t231 = getelementptr inbounds ptr, ptr %t226, i32 %t224 %t232 = load ptr, ptr %t231 call void @fn_at_check_node(ptr %t211, ptr %t212, ptr %t222, ptr %t232) br label %ifend45 ifend45: %t233 = load ptr, ptr @g_g_at_name %t234 = load i32, ptr %t16 %t235 = getelementptr inbounds %LSlice, ptr %t233, i32 0, i32 0 %t236 = load ptr, ptr %t235 %t237 = getelementptr inbounds %LSlice, ptr %t233, i32 0, i32 1 %t238 = load i32, ptr %t237 %t239 = icmp ult i32 %t234, %t238 br i1 %t239, label %ixok50, label %ixbad51 ixbad51: store i32 1888, ptr @lp_site %t240 = call ptr @lp_win_stdio(i32 2) store i32 0, ptr @lp_site call i32 (ptr, ptr, ...) @fprintf(ptr %t240, ptr @.fmt_bounds, ptr @.str2473, i32 %t234, i32 %t238) call void @exit(i32 1) unreachable ixok50: %t241 = getelementptr inbounds ptr, ptr %t236, i32 %t234 %t242 = load ptr, ptr %t241 %t243 = call i32 @lp_str_eq(ptr %t242, ptr @.str2474) %t244 = icmp ne i32 %t243, 0 br i1 %t244, label %then52, label %ifend54 then52: %t245 = load ptr, ptr %t0 %t246 = load ptr, ptr %t1 %t247 = load i32, ptr %t16 call void @fn_at_check_oneof(ptr %t245, ptr %t246, i32 %t247) br label %ifend54 ifend54: %t249 = load ptr, ptr @g_g_at_name %t250 = load i32, ptr %t16 %t251 = getelementptr inbounds %LSlice, ptr %t249, i32 0, i32 0 %t252 = load ptr, ptr %t251 %t253 = getelementptr inbounds %LSlice, ptr %t249, i32 0, i32 1 %t254 = load i32, ptr %t253 %t255 = icmp ult i32 %t250, %t254 br i1 %t255, label %ixok55, label %ixbad56 ixbad56: store i32 1889, ptr @lp_site %t256 = call ptr @lp_win_stdio(i32 2) store i32 0, ptr @lp_site call i32 (ptr, ptr, ...) @fprintf(ptr %t256, ptr @.fmt_bounds, ptr @.str2475, i32 %t250, i32 %t254) call void @exit(i32 1) unreachable ixok55: %t257 = getelementptr inbounds ptr, ptr %t252, i32 %t250 %t258 = load ptr, ptr %t257 %t259 = call i32 @lp_str_eq(ptr %t258, ptr @.str2476) %t260 = icmp ne i32 %t259, 0 %t261 = zext i1 %t260 to i32 store i32 %t261, ptr %t248 br i1 %t260, label %sc57, label %scend58 sc57: %t262 = load ptr, ptr @g_g_at_first %t263 = load i32, ptr %t16 %t264 = getelementptr inbounds %LSlice, ptr %t262, i32 0, i32 0 %t265 = load ptr, ptr %t264 %t266 = getelementptr inbounds %LSlice, ptr %t262, i32 0, i32 1 %t267 = load i32, ptr %t266 %t268 = icmp ult i32 %t263, %t267 br i1 %t268, label %ixok59, label %ixbad60 ixbad60: store i32 1890, ptr @lp_site %t269 = call ptr @lp_win_stdio(i32 2) store i32 0, ptr @lp_site call i32 (ptr, ptr, ...) @fprintf(ptr %t269, ptr @.fmt_bounds, ptr @.str2477, i32 %t263, i32 %t267) call void @exit(i32 1) unreachable ixok59: %t270 = getelementptr inbounds ptr, ptr %t265, i32 %t263 %t271 = load ptr, ptr %t270 %t272 = call i32 @fn_at_const_exists(ptr %t271) %t273 = icmp eq i32 %t272, 0 %t274 = zext i1 %t273 to i32 %t275 = icmp ne i32 %t274, 0 %t276 = zext i1 %t275 to i32 store i32 %t276, ptr %t248 br label %scend58 scend58: %t277 = load i32, ptr %t248 %t278 = icmp ne i32 %t277, 0 br i1 %t278, label %then61, label %ifend63 then61: %t279 = load ptr, ptr %t0 %t280 = load ptr, ptr %t1 %t281 = load i32, ptr %t16 %t282 = load ptr, ptr @g_g_at_first %t283 = load i32, ptr %t16 %t284 = getelementptr inbounds %LSlice, ptr %t282, i32 0, i32 0 %t285 = load ptr, ptr %t284 %t286 = getelementptr inbounds %LSlice, ptr %t282, i32 0, i32 1 %t287 = load i32, ptr %t286 %t288 = icmp ult i32 %t283, %t287 br i1 %t288, label %ixok64, label %ixbad65 ixbad65: store i32 1891, ptr @lp_site %t289 = call ptr @lp_win_stdio(i32 2) store i32 0, ptr @lp_site call i32 (ptr, ptr, ...) @fprintf(ptr %t289, ptr @.fmt_bounds, ptr @.str2478, i32 %t283, i32 %t287) call void @exit(i32 1) unreachable ixok64: %t290 = getelementptr inbounds ptr, ptr %t285, i32 %t283 %t291 = load ptr, ptr %t290 call void @fn_at_const_target(ptr %t279, ptr %t280, i32 %t281, ptr %t291) br label %ifend63 ifend63: %t292 = load i32, ptr %t16 %t293 = add i32 %t292, 1 store i32 %t293, ptr %t16 br label %wcond2 wend4: br label %ret ret: ret void } define void @fn_at_target(ptr %arg_d, ptr %arg_f, i32 %arg_j, ptr %arg_want) { entry: %t0 = alloca ptr %t1 = alloca ptr %t2 = alloca i32 %t3 = alloca ptr %t14 = alloca ptr %t40 = alloca ptr store ptr %arg_d, ptr %t0 store ptr %arg_f, ptr %t1 store i32 %arg_j, ptr %t2 store ptr %arg_want, ptr %t3 %t4 = load ptr, ptr @g_g_at_first %t5 = load i32, ptr %t2 %t6 = getelementptr inbounds %LSlice, ptr %t4, i32 0, i32 0 %t7 = load ptr, ptr %t6 %t8 = getelementptr inbounds %LSlice, ptr %t4, i32 0, i32 1 %t9 = load i32, ptr %t8 %t10 = icmp ult i32 %t5, %t9 br i1 %t10, label %ixok0, label %ixbad1 ixbad1: store i32 1892, ptr @lp_site %t11 = call ptr @lp_win_stdio(i32 2) store i32 0, ptr @lp_site call i32 (ptr, ptr, ...) @fprintf(ptr %t11, ptr @.fmt_bounds, ptr @.str2479, i32 %t5, i32 %t9) call void @exit(i32 1) unreachable ixok0: %t12 = getelementptr inbounds ptr, ptr %t7, i32 %t5 %t13 = load ptr, ptr %t12 store ptr %t13, ptr %t14 %t15 = load ptr, ptr %t0 %t16 = getelementptr inbounds %Cmp_Node, ptr %t15, i32 0, i32 1 %t17 = load ptr, ptr %t16 store i32 1893, ptr @lp_site %t18 = call ptr @lp_str_concat(ptr @.str2481, ptr %t17) store i32 0, ptr @lp_site store i32 1894, ptr @lp_site %t19 = call ptr @lp_str_concat(ptr %t18, ptr @.str2482) store i32 0, ptr @lp_site call void @lp_free(ptr %t18) %t20 = load ptr, ptr %t1 %t21 = getelementptr inbounds %Cmp_Node, ptr %t20, i32 0, i32 1 %t22 = load ptr, ptr %t21 store i32 1895, ptr @lp_site %t23 = call ptr @lp_str_concat(ptr %t19, ptr %t22) store i32 0, ptr @lp_site call void @lp_free(ptr %t19) store i32 1896, ptr @lp_site %t24 = call ptr @lp_str_concat(ptr %t23, ptr @.str2483) store i32 0, ptr @lp_site call void @lp_free(ptr %t23) %t25 = load ptr, ptr @g_g_at_name %t26 = load i32, ptr %t2 %t27 = getelementptr inbounds %LSlice, ptr %t25, i32 0, i32 0 %t28 = load ptr, ptr %t27 %t29 = getelementptr inbounds %LSlice, ptr %t25, i32 0, i32 1 %t30 = load i32, ptr %t29 %t31 = icmp ult i32 %t26, %t30 br i1 %t31, label %ixok2, label %ixbad3 ixbad3: store i32 1897, ptr @lp_site %t32 = call ptr @lp_win_stdio(i32 2) store i32 0, ptr @lp_site call i32 (ptr, ptr, ...) @fprintf(ptr %t32, ptr @.fmt_bounds, ptr @.str2484, i32 %t26, i32 %t30) call void @exit(i32 1) unreachable ixok2: %t33 = getelementptr inbounds ptr, ptr %t28, i32 %t26 %t34 = load ptr, ptr %t33 store i32 1898, ptr @lp_site %t35 = call ptr @lp_str_concat(ptr %t24, ptr %t34) store i32 0, ptr @lp_site call void @lp_free(ptr %t24) store i32 1899, ptr @lp_site %t36 = call ptr @lp_str_concat(ptr %t35, ptr @.str2485) store i32 0, ptr @lp_site call void @lp_free(ptr %t35) %t37 = load ptr, ptr %t14 store i32 1900, ptr @lp_site %t38 = call ptr @lp_str_concat(ptr %t36, ptr %t37) store i32 0, ptr @lp_site call void @lp_free(ptr %t36) store i32 1901, ptr @lp_site %t39 = call ptr @lp_str_concat(ptr %t38, ptr @.str2486) store i32 0, ptr @lp_site call void @lp_free(ptr %t38) store ptr %t39, ptr %t40 %t41 = load ptr, ptr %t14 %t42 = call i32 @fn_at_decl_named(ptr %t41) %t43 = icmp ne i32 %t42, 0 br i1 %t43, label %then4, label %ifend6 then4: %t44 = load ptr, ptr %t1 %t45 = getelementptr inbounds %Cmp_Node, ptr %t44, i32 0, i32 9 %t46 = load ptr, ptr %t45 %t47 = load ptr, ptr %t1 %t48 = getelementptr inbounds %Cmp_Node, ptr %t47, i32 0, i32 8 %t49 = load i32, ptr %t48 %t50 = load ptr, ptr %t1 %t51 = getelementptr inbounds %Cmp_Node, ptr %t50, i32 0, i32 18 %t52 = load i32, ptr %t51 %t53 = load ptr, ptr %t40 store i32 1902, ptr @lp_site %t54 = call ptr @lp_str_concat(ptr %t53, ptr @.str2487) store i32 0, ptr @lp_site %t55 = load ptr, ptr %t14 store i32 1903, ptr @lp_site %t56 = call ptr @lp_str_concat(ptr %t54, ptr %t55) store i32 0, ptr @lp_site call void @lp_free(ptr %t54) store i32 1904, ptr @lp_site %t57 = call ptr @lp_str_concat(ptr %t56, ptr @.str2488) store i32 0, ptr @lp_site call void @lp_free(ptr %t56) %t58 = load ptr, ptr %t3 store i32 1905, ptr @lp_site %t59 = call ptr @lp_str_concat(ptr %t57, ptr %t58) store i32 0, ptr @lp_site call void @lp_free(ptr %t57) call void @fn_perr_at(ptr %t46, i32 %t49, i32 %t52, ptr %t59) br label %ret ifend6: %t60 = load ptr, ptr @g_g_at_unres %t61 = load i32, ptr %t2 %t62 = getelementptr inbounds %LSlice, ptr %t60, i32 0, i32 0 %t63 = load ptr, ptr %t62 %t64 = getelementptr inbounds %LSlice, ptr %t60, i32 0, i32 1 %t65 = load i32, ptr %t64 %t66 = icmp ult i32 %t61, %t65 br i1 %t66, label %ixok7, label %ixbad8 ixbad8: store i32 1906, ptr @lp_site %t67 = call ptr @lp_win_stdio(i32 2) store i32 0, ptr @lp_site call i32 (ptr, ptr, ...) @fprintf(ptr %t67, ptr @.fmt_bounds, ptr @.str2489, i32 %t61, i32 %t65) call void @exit(i32 1) unreachable ixok7: %t68 = getelementptr inbounds i32, ptr %t63, i32 %t61 store i32 1, ptr %t68 %t69 = load ptr, ptr %t1 %t70 = getelementptr inbounds %Cmp_Node, ptr %t69, i32 0, i32 9 %t71 = load ptr, ptr %t70 %t72 = load ptr, ptr %t1 %t73 = getelementptr inbounds %Cmp_Node, ptr %t72, i32 0, i32 8 %t74 = load i32, ptr %t73 %t75 = load ptr, ptr %t1 %t76 = getelementptr inbounds %Cmp_Node, ptr %t75, i32 0, i32 18 %t77 = load i32, ptr %t76 %t78 = load ptr, ptr %t40 store i32 1907, ptr @lp_site %t79 = call ptr @lp_str_concat(ptr %t78, ptr @.str2490) store i32 0, ptr @lp_site %t80 = load ptr, ptr %t14 store i32 1908, ptr @lp_site %t81 = call ptr @lp_str_concat(ptr %t79, ptr %t80) store i32 0, ptr @lp_site call void @lp_free(ptr %t79) store i32 1909, ptr @lp_site %t82 = call ptr @lp_str_concat(ptr %t81, ptr @.str2491) store i32 0, ptr @lp_site call void @lp_free(ptr %t81) call void @fn_pwarn_at(ptr %t71, i32 %t74, i32 %t77, ptr %t82) br label %ret ret: ret void } define void @fn_at_const_target(ptr %arg_d, ptr %arg_f, i32 %arg_j, ptr %arg_x) { entry: %t0 = alloca ptr %t1 = alloca ptr %t2 = alloca i32 %t3 = alloca ptr %t25 = alloca ptr store ptr %arg_d, ptr %t0 store ptr %arg_f, ptr %t1 store i32 %arg_j, ptr %t2 store ptr %arg_x, ptr %t3 %t4 = load ptr, ptr %t0 %t5 = getelementptr inbounds %Cmp_Node, ptr %t4, i32 0, i32 1 %t6 = load ptr, ptr %t5 store i32 1910, ptr @lp_site %t7 = call ptr @lp_str_concat(ptr @.str2492, ptr %t6) store i32 0, ptr @lp_site store i32 1911, ptr @lp_site %t8 = call ptr @lp_str_concat(ptr %t7, ptr @.str2494) store i32 0, ptr @lp_site call void @lp_free(ptr %t7) %t9 = load ptr, ptr %t1 %t10 = getelementptr inbounds %Cmp_Node, ptr %t9, i32 0, i32 1 %t11 = load ptr, ptr %t10 store i32 1912, ptr @lp_site %t12 = call ptr @lp_str_concat(ptr %t8, ptr %t11) store i32 0, ptr @lp_site call void @lp_free(ptr %t8) store i32 1913, ptr @lp_site %t13 = call ptr @lp_str_concat(ptr %t12, ptr @.str2495) store i32 0, ptr @lp_site call void @lp_free(ptr %t12) %t14 = load ptr, ptr @g_g_at_name %t15 = load i32, ptr %t2 %t16 = getelementptr inbounds %LSlice, ptr %t14, i32 0, i32 0 %t17 = load ptr, ptr %t16 %t18 = getelementptr inbounds %LSlice, ptr %t14, i32 0, i32 1 %t19 = load i32, ptr %t18 %t20 = icmp ult i32 %t15, %t19 br i1 %t20, label %ixok0, label %ixbad1 ixbad1: store i32 1914, ptr @lp_site %t21 = call ptr @lp_win_stdio(i32 2) store i32 0, ptr @lp_site call i32 (ptr, ptr, ...) @fprintf(ptr %t21, ptr @.fmt_bounds, ptr @.str2496, i32 %t15, i32 %t19) call void @exit(i32 1) unreachable ixok0: %t22 = getelementptr inbounds ptr, ptr %t17, i32 %t15 %t23 = load ptr, ptr %t22 store i32 1915, ptr @lp_site %t24 = call ptr @lp_str_concat(ptr %t13, ptr %t23) store i32 0, ptr @lp_site call void @lp_free(ptr %t13) store ptr %t24, ptr %t25 %t26 = load ptr, ptr %t3 %t27 = call i32 @fn_at_decl_named(ptr %t26) %t28 = icmp ne i32 %t27, 0 br i1 %t28, label %then2, label %ifend4 then2: %t29 = load ptr, ptr %t1 %t30 = getelementptr inbounds %Cmp_Node, ptr %t29, i32 0, i32 9 %t31 = load ptr, ptr %t30 %t32 = load ptr, ptr %t1 %t33 = getelementptr inbounds %Cmp_Node, ptr %t32, i32 0, i32 8 %t34 = load i32, ptr %t33 %t35 = load ptr, ptr %t1 %t36 = getelementptr inbounds %Cmp_Node, ptr %t35, i32 0, i32 18 %t37 = load i32, ptr %t36 %t38 = load ptr, ptr %t25 store i32 1916, ptr @lp_site %t39 = call ptr @lp_str_concat(ptr %t38, ptr @.str2497) store i32 0, ptr @lp_site %t40 = load ptr, ptr %t3 store i32 1917, ptr @lp_site %t41 = call ptr @lp_str_concat(ptr %t39, ptr %t40) store i32 0, ptr @lp_site call void @lp_free(ptr %t39) store i32 1918, ptr @lp_site %t42 = call ptr @lp_str_concat(ptr %t41, ptr @.str2498) store i32 0, ptr @lp_site call void @lp_free(ptr %t41) call void @fn_perr_at(ptr %t31, i32 %t34, i32 %t37, ptr %t42) br label %ret ifend4: %t43 = load ptr, ptr @g_g_at_unres %t44 = load i32, ptr %t2 %t45 = getelementptr inbounds %LSlice, ptr %t43, i32 0, i32 0 %t46 = load ptr, ptr %t45 %t47 = getelementptr inbounds %LSlice, ptr %t43, i32 0, i32 1 %t48 = load i32, ptr %t47 %t49 = icmp ult i32 %t44, %t48 br i1 %t49, label %ixok5, label %ixbad6 ixbad6: store i32 1919, ptr @lp_site %t50 = call ptr @lp_win_stdio(i32 2) store i32 0, ptr @lp_site call i32 (ptr, ptr, ...) @fprintf(ptr %t50, ptr @.fmt_bounds, ptr @.str2499, i32 %t44, i32 %t48) call void @exit(i32 1) unreachable ixok5: %t51 = getelementptr inbounds i32, ptr %t46, i32 %t44 store i32 1, ptr %t51 %t52 = load ptr, ptr %t1 %t53 = getelementptr inbounds %Cmp_Node, ptr %t52, i32 0, i32 9 %t54 = load ptr, ptr %t53 %t55 = load ptr, ptr %t1 %t56 = getelementptr inbounds %Cmp_Node, ptr %t55, i32 0, i32 8 %t57 = load i32, ptr %t56 %t58 = load ptr, ptr %t1 %t59 = getelementptr inbounds %Cmp_Node, ptr %t58, i32 0, i32 18 %t60 = load i32, ptr %t59 %t61 = load ptr, ptr %t25 store i32 1920, ptr @lp_site %t62 = call ptr @lp_str_concat(ptr %t61, ptr @.str2500) store i32 0, ptr @lp_site %t63 = load ptr, ptr %t3 store i32 1921, ptr @lp_site %t64 = call ptr @lp_str_concat(ptr %t62, ptr %t63) store i32 0, ptr @lp_site call void @lp_free(ptr %t62) store i32 1922, ptr @lp_site %t65 = call ptr @lp_str_concat(ptr %t64, ptr @.str2501) store i32 0, ptr @lp_site call void @lp_free(ptr %t64) call void @fn_pwarn_at(ptr %t54, i32 %t57, i32 %t60, ptr %t65) br label %ret ret: ret void } define ptr @fn_at_units() { entry: %retval = alloca ptr %t6 = alloca ptr %t0 = getelementptr %LSlice, ptr null, i32 1 %t1 = ptrtoint ptr %t0 to i64 store i32 1923, ptr @lp_site %t2 = call ptr @lp_malloc(i64 %t1) store i32 0, ptr @lp_site %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 = load ptr, ptr %t6 %t8 = getelementptr inbounds %LSlice, ptr %t7, i32 0, i32 1 %t9 = getelementptr inbounds %LSlice, ptr %t7, i32 0, i32 2 %t10 = getelementptr inbounds %LSlice, ptr %t7, 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 store i32 1924, ptr @lp_site %t22 = call ptr @lp_realloc(ptr %t21, i64 %t20) store i32 0, ptr @lp_site 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 @.str2503, ptr %t24 %t25 = add i32 %t11, 1 store i32 %t25, ptr %t8 %t26 = load ptr, ptr %t6 %t27 = getelementptr inbounds %LSlice, ptr %t26, i32 0, i32 1 %t28 = getelementptr inbounds %LSlice, ptr %t26, i32 0, i32 2 %t29 = getelementptr inbounds %LSlice, ptr %t26, i32 0, i32 0 %t30 = load i32, ptr %t27 %t31 = load i32, ptr %t28 %t32 = icmp sge i32 %t30, %t31 br i1 %t32, label %grow2, label %put3 grow2: %t33 = mul i32 %t31, 2 %t34 = icmp eq i32 %t31, 0 %t35 = select i1 %t34, i32 8, i32 %t33 %t36 = getelementptr ptr, ptr null, i32 1 %t37 = ptrtoint ptr %t36 to i64 %t38 = zext i32 %t35 to i64 %t39 = mul i64 %t38, %t37 %t40 = load ptr, ptr %t29 store i32 1925, ptr @lp_site %t41 = call ptr @lp_realloc(ptr %t40, i64 %t39) store i32 0, ptr @lp_site store ptr %t41, ptr %t29 store i32 %t35, ptr %t28 br label %put3 put3: %t42 = load ptr, ptr %t29 %t43 = getelementptr inbounds ptr, ptr %t42, i32 %t30 store ptr @.str2504, ptr %t43 %t44 = add i32 %t30, 1 store i32 %t44, ptr %t27 %t45 = load ptr, ptr %t6 %t46 = getelementptr inbounds %LSlice, ptr %t45, i32 0, i32 1 %t47 = getelementptr inbounds %LSlice, ptr %t45, i32 0, i32 2 %t48 = getelementptr inbounds %LSlice, ptr %t45, i32 0, i32 0 %t49 = load i32, ptr %t46 %t50 = load i32, ptr %t47 %t51 = icmp sge i32 %t49, %t50 br i1 %t51, label %grow4, label %put5 grow4: %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 store i32 1926, ptr @lp_site %t60 = call ptr @lp_realloc(ptr %t59, i64 %t58) store i32 0, ptr @lp_site store ptr %t60, ptr %t48 store i32 %t54, ptr %t47 br label %put5 put5: %t61 = load ptr, ptr %t48 %t62 = getelementptr inbounds ptr, ptr %t61, i32 %t49 store ptr @.str2505, ptr %t62 %t63 = add i32 %t49, 1 store i32 %t63, ptr %t46 %t64 = load ptr, ptr %t6 %t65 = getelementptr inbounds %LSlice, ptr %t64, i32 0, i32 1 %t66 = getelementptr inbounds %LSlice, ptr %t64, i32 0, i32 2 %t67 = getelementptr inbounds %LSlice, ptr %t64, i32 0, i32 0 %t68 = load i32, ptr %t65 %t69 = load i32, ptr %t66 %t70 = icmp sge i32 %t68, %t69 br i1 %t70, label %grow6, label %put7 grow6: %t71 = mul i32 %t69, 2 %t72 = icmp eq i32 %t69, 0 %t73 = select i1 %t72, i32 8, i32 %t71 %t74 = getelementptr ptr, ptr null, i32 1 %t75 = ptrtoint ptr %t74 to i64 %t76 = zext i32 %t73 to i64 %t77 = mul i64 %t76, %t75 %t78 = load ptr, ptr %t67 store i32 1927, ptr @lp_site %t79 = call ptr @lp_realloc(ptr %t78, i64 %t77) store i32 0, ptr @lp_site store ptr %t79, ptr %t67 store i32 %t73, ptr %t66 br label %put7 put7: %t80 = load ptr, ptr %t67 %t81 = getelementptr inbounds ptr, ptr %t80, i32 %t68 store ptr @.str2506, ptr %t81 %t82 = add i32 %t68, 1 store i32 %t82, ptr %t65 %t83 = load ptr, ptr %t6 %t84 = getelementptr inbounds %LSlice, ptr %t83, i32 0, i32 1 %t85 = getelementptr inbounds %LSlice, ptr %t83, i32 0, i32 2 %t86 = getelementptr inbounds %LSlice, ptr %t83, i32 0, i32 0 %t87 = load i32, ptr %t84 %t88 = load i32, ptr %t85 %t89 = icmp sge i32 %t87, %t88 br i1 %t89, label %grow8, label %put9 grow8: %t90 = mul i32 %t88, 2 %t91 = icmp eq i32 %t88, 0 %t92 = select i1 %t91, i32 8, i32 %t90 %t93 = getelementptr ptr, ptr null, i32 1 %t94 = ptrtoint ptr %t93 to i64 %t95 = zext i32 %t92 to i64 %t96 = mul i64 %t95, %t94 %t97 = load ptr, ptr %t86 store i32 1928, ptr @lp_site %t98 = call ptr @lp_realloc(ptr %t97, i64 %t96) store i32 0, ptr @lp_site store ptr %t98, ptr %t86 store i32 %t92, ptr %t85 br label %put9 put9: %t99 = load ptr, ptr %t86 %t100 = getelementptr inbounds ptr, ptr %t99, i32 %t87 store ptr @.str2507, ptr %t100 %t101 = add i32 %t87, 1 store i32 %t101, ptr %t84 %t102 = load ptr, ptr %t6 %t103 = getelementptr inbounds %LSlice, ptr %t102, i32 0, i32 1 %t104 = getelementptr inbounds %LSlice, ptr %t102, i32 0, i32 2 %t105 = getelementptr inbounds %LSlice, ptr %t102, i32 0, i32 0 %t106 = load i32, ptr %t103 %t107 = load i32, ptr %t104 %t108 = icmp sge i32 %t106, %t107 br i1 %t108, label %grow10, label %put11 grow10: %t109 = mul i32 %t107, 2 %t110 = icmp eq i32 %t107, 0 %t111 = select i1 %t110, i32 8, i32 %t109 %t112 = getelementptr ptr, ptr null, i32 1 %t113 = ptrtoint ptr %t112 to i64 %t114 = zext i32 %t111 to i64 %t115 = mul i64 %t114, %t113 %t116 = load ptr, ptr %t105 store i32 1929, ptr @lp_site %t117 = call ptr @lp_realloc(ptr %t116, i64 %t115) store i32 0, ptr @lp_site store ptr %t117, ptr %t105 store i32 %t111, ptr %t104 br label %put11 put11: %t118 = load ptr, ptr %t105 %t119 = getelementptr inbounds ptr, ptr %t118, i32 %t106 store ptr @.str2508, ptr %t119 %t120 = add i32 %t106, 1 store i32 %t120, ptr %t103 %t121 = load ptr, ptr %t6 %t122 = getelementptr inbounds %LSlice, ptr %t121, i32 0, i32 1 %t123 = getelementptr inbounds %LSlice, ptr %t121, i32 0, i32 2 %t124 = getelementptr inbounds %LSlice, ptr %t121, i32 0, i32 0 %t125 = load i32, ptr %t122 %t126 = load i32, ptr %t123 %t127 = icmp sge i32 %t125, %t126 br i1 %t127, label %grow12, label %put13 grow12: %t128 = mul i32 %t126, 2 %t129 = icmp eq i32 %t126, 0 %t130 = select i1 %t129, i32 8, i32 %t128 %t131 = getelementptr ptr, ptr null, i32 1 %t132 = ptrtoint ptr %t131 to i64 %t133 = zext i32 %t130 to i64 %t134 = mul i64 %t133, %t132 %t135 = load ptr, ptr %t124 store i32 1930, ptr @lp_site %t136 = call ptr @lp_realloc(ptr %t135, i64 %t134) store i32 0, ptr @lp_site store ptr %t136, ptr %t124 store i32 %t130, ptr %t123 br label %put13 put13: %t137 = load ptr, ptr %t124 %t138 = getelementptr inbounds ptr, ptr %t137, i32 %t125 store ptr @.str2509, ptr %t138 %t139 = add i32 %t125, 1 store i32 %t139, ptr %t122 %t140 = load ptr, ptr %t6 %t141 = getelementptr inbounds %LSlice, ptr %t140, i32 0, i32 1 %t142 = getelementptr inbounds %LSlice, ptr %t140, i32 0, i32 2 %t143 = getelementptr inbounds %LSlice, ptr %t140, i32 0, i32 0 %t144 = load i32, ptr %t141 %t145 = load i32, ptr %t142 %t146 = icmp sge i32 %t144, %t145 br i1 %t146, label %grow14, label %put15 grow14: %t147 = mul i32 %t145, 2 %t148 = icmp eq i32 %t145, 0 %t149 = select i1 %t148, i32 8, i32 %t147 %t150 = getelementptr ptr, ptr null, i32 1 %t151 = ptrtoint ptr %t150 to i64 %t152 = zext i32 %t149 to i64 %t153 = mul i64 %t152, %t151 %t154 = load ptr, ptr %t143 store i32 1931, ptr @lp_site %t155 = call ptr @lp_realloc(ptr %t154, i64 %t153) store i32 0, ptr @lp_site store ptr %t155, ptr %t143 store i32 %t149, ptr %t142 br label %put15 put15: %t156 = load ptr, ptr %t143 %t157 = getelementptr inbounds ptr, ptr %t156, i32 %t144 store ptr @.str2510, ptr %t157 %t158 = add i32 %t144, 1 store i32 %t158, ptr %t141 %t159 = load ptr, ptr %t6 %t160 = getelementptr inbounds %LSlice, ptr %t159, i32 0, i32 1 %t161 = getelementptr inbounds %LSlice, ptr %t159, i32 0, i32 2 %t162 = getelementptr inbounds %LSlice, ptr %t159, i32 0, i32 0 %t163 = load i32, ptr %t160 %t164 = load i32, ptr %t161 %t165 = icmp sge i32 %t163, %t164 br i1 %t165, label %grow16, label %put17 grow16: %t166 = mul i32 %t164, 2 %t167 = icmp eq i32 %t164, 0 %t168 = select i1 %t167, i32 8, i32 %t166 %t169 = getelementptr ptr, ptr null, i32 1 %t170 = ptrtoint ptr %t169 to i64 %t171 = zext i32 %t168 to i64 %t172 = mul i64 %t171, %t170 %t173 = load ptr, ptr %t162 store i32 1932, ptr @lp_site %t174 = call ptr @lp_realloc(ptr %t173, i64 %t172) store i32 0, ptr @lp_site store ptr %t174, ptr %t162 store i32 %t168, ptr %t161 br label %put17 put17: %t175 = load ptr, ptr %t162 %t176 = getelementptr inbounds ptr, ptr %t175, i32 %t163 store ptr @.str2511, ptr %t176 %t177 = add i32 %t163, 1 store i32 %t177, ptr %t160 %t178 = load ptr, ptr %t6 %t179 = getelementptr inbounds %LSlice, ptr %t178, i32 0, i32 1 %t180 = getelementptr inbounds %LSlice, ptr %t178, i32 0, i32 2 %t181 = getelementptr inbounds %LSlice, ptr %t178, i32 0, i32 0 %t182 = load i32, ptr %t179 %t183 = load i32, ptr %t180 %t184 = icmp sge i32 %t182, %t183 br i1 %t184, label %grow18, label %put19 grow18: %t185 = mul i32 %t183, 2 %t186 = icmp eq i32 %t183, 0 %t187 = select i1 %t186, i32 8, i32 %t185 %t188 = getelementptr ptr, ptr null, i32 1 %t189 = ptrtoint ptr %t188 to i64 %t190 = zext i32 %t187 to i64 %t191 = mul i64 %t190, %t189 %t192 = load ptr, ptr %t181 store i32 1933, ptr @lp_site %t193 = call ptr @lp_realloc(ptr %t192, i64 %t191) store i32 0, ptr @lp_site store ptr %t193, ptr %t181 store i32 %t187, ptr %t180 br label %put19 put19: %t194 = load ptr, ptr %t181 %t195 = getelementptr inbounds ptr, ptr %t194, i32 %t182 store ptr @.str2512, ptr %t195 %t196 = add i32 %t182, 1 store i32 %t196, ptr %t179 %t197 = load ptr, ptr %t6 %t198 = getelementptr inbounds %LSlice, ptr %t197, i32 0, i32 1 %t199 = getelementptr inbounds %LSlice, ptr %t197, i32 0, i32 2 %t200 = getelementptr inbounds %LSlice, ptr %t197, i32 0, i32 0 %t201 = load i32, ptr %t198 %t202 = load i32, ptr %t199 %t203 = icmp sge i32 %t201, %t202 br i1 %t203, label %grow20, label %put21 grow20: %t204 = mul i32 %t202, 2 %t205 = icmp eq i32 %t202, 0 %t206 = select i1 %t205, i32 8, i32 %t204 %t207 = getelementptr ptr, ptr null, i32 1 %t208 = ptrtoint ptr %t207 to i64 %t209 = zext i32 %t206 to i64 %t210 = mul i64 %t209, %t208 %t211 = load ptr, ptr %t200 store i32 1934, ptr @lp_site %t212 = call ptr @lp_realloc(ptr %t211, i64 %t210) store i32 0, ptr @lp_site store ptr %t212, ptr %t200 store i32 %t206, ptr %t199 br label %put21 put21: %t213 = load ptr, ptr %t200 %t214 = getelementptr inbounds ptr, ptr %t213, i32 %t201 store ptr @.str2513, ptr %t214 %t215 = add i32 %t201, 1 store i32 %t215, ptr %t198 %t216 = load ptr, ptr %t6 %t217 = getelementptr inbounds %LSlice, ptr %t216, i32 0, i32 1 %t218 = getelementptr inbounds %LSlice, ptr %t216, i32 0, i32 2 %t219 = getelementptr inbounds %LSlice, ptr %t216, i32 0, i32 0 %t220 = load i32, ptr %t217 %t221 = load i32, ptr %t218 %t222 = icmp sge i32 %t220, %t221 br i1 %t222, label %grow22, label %put23 grow22: %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 store i32 1935, ptr @lp_site %t231 = call ptr @lp_realloc(ptr %t230, i64 %t229) store i32 0, ptr @lp_site store ptr %t231, ptr %t219 store i32 %t225, ptr %t218 br label %put23 put23: %t232 = load ptr, ptr %t219 %t233 = getelementptr inbounds ptr, ptr %t232, i32 %t220 store ptr @.str2514, ptr %t233 %t234 = add i32 %t220, 1 store i32 %t234, ptr %t217 %t235 = load ptr, ptr %t6 %t236 = getelementptr inbounds %LSlice, ptr %t235, i32 0, i32 1 %t237 = getelementptr inbounds %LSlice, ptr %t235, i32 0, i32 2 %t238 = getelementptr inbounds %LSlice, ptr %t235, i32 0, i32 0 %t239 = load i32, ptr %t236 %t240 = load i32, ptr %t237 %t241 = icmp sge i32 %t239, %t240 br i1 %t241, label %grow24, label %put25 grow24: %t242 = mul i32 %t240, 2 %t243 = icmp eq i32 %t240, 0 %t244 = select i1 %t243, i32 8, i32 %t242 %t245 = getelementptr ptr, ptr null, i32 1 %t246 = ptrtoint ptr %t245 to i64 %t247 = zext i32 %t244 to i64 %t248 = mul i64 %t247, %t246 %t249 = load ptr, ptr %t238 store i32 1936, ptr @lp_site %t250 = call ptr @lp_realloc(ptr %t249, i64 %t248) store i32 0, ptr @lp_site store ptr %t250, ptr %t238 store i32 %t244, ptr %t237 br label %put25 put25: %t251 = load ptr, ptr %t238 %t252 = getelementptr inbounds ptr, ptr %t251, i32 %t239 store ptr @.str2515, ptr %t252 %t253 = add i32 %t239, 1 store i32 %t253, ptr %t236 %t254 = load ptr, ptr %t6 %t255 = getelementptr inbounds %LSlice, ptr %t254, i32 0, i32 1 %t256 = getelementptr inbounds %LSlice, ptr %t254, i32 0, i32 2 %t257 = getelementptr inbounds %LSlice, ptr %t254, i32 0, i32 0 %t258 = load i32, ptr %t255 %t259 = load i32, ptr %t256 %t260 = icmp sge i32 %t258, %t259 br i1 %t260, label %grow26, label %put27 grow26: %t261 = mul i32 %t259, 2 %t262 = icmp eq i32 %t259, 0 %t263 = select i1 %t262, i32 8, i32 %t261 %t264 = getelementptr ptr, ptr null, i32 1 %t265 = ptrtoint ptr %t264 to i64 %t266 = zext i32 %t263 to i64 %t267 = mul i64 %t266, %t265 %t268 = load ptr, ptr %t257 store i32 1937, ptr @lp_site %t269 = call ptr @lp_realloc(ptr %t268, i64 %t267) store i32 0, ptr @lp_site store ptr %t269, ptr %t257 store i32 %t263, ptr %t256 br label %put27 put27: %t270 = load ptr, ptr %t257 %t271 = getelementptr inbounds ptr, ptr %t270, i32 %t258 store ptr @.str2516, ptr %t271 %t272 = add i32 %t258, 1 store i32 %t272, ptr %t255 %t273 = load ptr, ptr %t6 %t274 = getelementptr inbounds %LSlice, ptr %t273, i32 0, i32 1 %t275 = getelementptr inbounds %LSlice, ptr %t273, i32 0, i32 2 %t276 = getelementptr inbounds %LSlice, ptr %t273, i32 0, i32 0 %t277 = load i32, ptr %t274 %t278 = load i32, ptr %t275 %t279 = icmp sge i32 %t277, %t278 br i1 %t279, label %grow28, label %put29 grow28: %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 store i32 1938, ptr @lp_site %t288 = call ptr @lp_realloc(ptr %t287, i64 %t286) store i32 0, ptr @lp_site store ptr %t288, ptr %t276 store i32 %t282, ptr %t275 br label %put29 put29: %t289 = load ptr, ptr %t276 %t290 = getelementptr inbounds ptr, ptr %t289, i32 %t277 store ptr @.str2517, ptr %t290 %t291 = add i32 %t277, 1 store i32 %t291, ptr %t274 %t292 = load ptr, ptr %t6 store ptr %t292, ptr %retval br label %ret ret: %t293 = load ptr, ptr %retval ret ptr %t293 } define i32 @fn_at_unit_known(ptr %arg_u) { entry: %retval = alloca i32 %t0 = alloca ptr %t2 = alloca ptr %t3 = alloca i32 store ptr %arg_u, ptr %t0 %t1 = call ptr @fn_at_units() store ptr %t1, ptr %t2 store i32 0, ptr %t3 br label %wcond0 wcond0: %t4 = load i32, ptr %t3 %t5 = load ptr, ptr %t2 %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 %t2 %t12 = load i32, ptr %t3 %t13 = getelementptr inbounds %LSlice, ptr %t11, i32 0, i32 0 %t14 = load ptr, ptr %t13 %t15 = getelementptr inbounds %LSlice, ptr %t11, i32 0, i32 1 %t16 = load i32, ptr %t15 %t17 = icmp ult i32 %t12, %t16 br i1 %t17, label %ixok3, label %ixbad4 ixbad4: store i32 1939, ptr @lp_site %t18 = call ptr @lp_win_stdio(i32 2) store i32 0, ptr @lp_site call i32 (ptr, ptr, ...) @fprintf(ptr %t18, ptr @.fmt_bounds, ptr @.str2518, i32 %t12, i32 %t16) call void @exit(i32 1) unreachable ixok3: %t19 = getelementptr inbounds ptr, ptr %t14, i32 %t12 %t20 = load ptr, ptr %t19 %t21 = load ptr, ptr %t0 %t22 = call i32 @lp_str_eq(ptr %t20, ptr %t21) %t23 = icmp ne i32 %t22, 0 br i1 %t23, label %then5, label %ifend7 then5: store i32 1, ptr %retval br label %ret ifend7: %t24 = load i32, ptr %t3 %t25 = add i32 %t24, 1 store i32 %t25, ptr %t3 br label %wcond0 wend2: store i32 0, ptr %retval br label %ret ret: %t26 = load i32, ptr %retval ret i32 %t26 } define ptr @fn_at_unit_canon(ptr %arg_u) { entry: %retval = alloca ptr %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 %t115 = alloca i32 %t116 = alloca i32 %t117 = alloca i32 %t142 = alloca i32 %t153 = alloca i32 %t154 = alloca i32 %t172 = alloca i32 %t173 = alloca i32 %t174 = alloca i32 %t199 = alloca i32 %t210 = alloca i32 %t211 = alloca i32 %t229 = alloca i32 %t240 = alloca i32 %t251 = alloca i32 store ptr %arg_u, ptr %t0 %t4 = load ptr, ptr %t0 %t5 = call i32 @lp_str_eq(ptr %t4, ptr @.str2520) %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 @.str2521) %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 @.str2522) %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 @.str2523) %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 @.str2524, ptr %retval br label %ret ifend8: %t31 = load ptr, ptr %t0 %t32 = call i32 @lp_str_eq(ptr %t31, ptr @.str2525) %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 @.str2526) %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 @.str2527) %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 @.str2528) %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 ptr @.str2529, ptr %retval br label %ret ifend17: %t57 = load ptr, ptr %t0 %t58 = call i32 @lp_str_eq(ptr %t57, ptr @.str2530) %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 @.str2531) %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 @.str2532) %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 ptr @.str2533, ptr %retval br label %ret ifend24: %t77 = load ptr, ptr %t0 %t78 = call i32 @lp_str_eq(ptr %t77, ptr @.str2534) %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 @.str2535) %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 @.str2536) %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 @.str2537) %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 ptr @.str2538, ptr %retval br label %ret ifend33: %t102 = load ptr, ptr %t0 %t103 = call i32 @lp_str_eq(ptr %t102, ptr @.str2539) %t104 = icmp ne i32 %t103, 0 %t105 = zext i1 %t104 to i32 store i32 %t105, ptr %t101 br i1 %t104, label %scend35, label %sc34 sc34: %t106 = load ptr, ptr %t0 %t107 = call i32 @lp_str_eq(ptr %t106, ptr @.str2540) %t108 = icmp ne i32 %t107, 0 %t109 = zext i1 %t108 to i32 store i32 %t109, ptr %t101 br label %scend35 scend35: %t110 = load i32, ptr %t101 %t111 = icmp ne i32 %t110, 0 br i1 %t111, label %then36, label %ifend38 then36: store ptr @.str2541, ptr %retval br label %ret ifend38: %t112 = load ptr, ptr %t0 %t113 = call i32 @lp_str_eq(ptr %t112, ptr @.str2542) %t114 = icmp ne i32 %t113, 0 br i1 %t114, label %then39, label %ifend41 then39: store ptr @.str2543, ptr %retval br label %ret ifend41: %t118 = load ptr, ptr %t0 %t119 = call i32 @lp_str_eq(ptr %t118, ptr @.str2544) %t120 = icmp ne i32 %t119, 0 %t121 = zext i1 %t120 to i32 store i32 %t121, ptr %t117 br i1 %t120, label %scend43, label %sc42 sc42: %t122 = load ptr, ptr %t0 %t123 = call i32 @lp_str_eq(ptr %t122, ptr @.str2545) %t124 = icmp ne i32 %t123, 0 %t125 = zext i1 %t124 to i32 store i32 %t125, ptr %t117 br label %scend43 scend43: %t126 = load i32, ptr %t117 %t127 = icmp ne i32 %t126, 0 %t128 = zext i1 %t127 to i32 store i32 %t128, ptr %t116 br i1 %t127, label %scend45, label %sc44 sc44: %t129 = load ptr, ptr %t0 %t130 = call i32 @lp_str_eq(ptr %t129, ptr @.str2546) %t131 = icmp ne i32 %t130, 0 %t132 = zext i1 %t131 to i32 store i32 %t132, ptr %t116 br label %scend45 scend45: %t133 = load i32, ptr %t116 %t134 = icmp ne i32 %t133, 0 %t135 = zext i1 %t134 to i32 store i32 %t135, ptr %t115 br i1 %t134, label %scend47, label %sc46 sc46: %t136 = load ptr, ptr %t0 %t137 = call i32 @lp_str_eq(ptr %t136, ptr @.str2547) %t138 = icmp ne i32 %t137, 0 %t139 = zext i1 %t138 to i32 store i32 %t139, ptr %t115 br label %scend47 scend47: %t140 = load i32, ptr %t115 %t141 = icmp ne i32 %t140, 0 br i1 %t141, label %then48, label %ifend50 then48: store ptr @.str2548, ptr %retval br label %ret ifend50: %t143 = load ptr, ptr %t0 %t144 = call i32 @lp_str_eq(ptr %t143, ptr @.str2549) %t145 = icmp ne i32 %t144, 0 %t146 = zext i1 %t145 to i32 store i32 %t146, ptr %t142 br i1 %t145, label %scend52, label %sc51 sc51: %t147 = load ptr, ptr %t0 %t148 = call i32 @lp_str_eq(ptr %t147, ptr @.str2550) %t149 = icmp ne i32 %t148, 0 %t150 = zext i1 %t149 to i32 store i32 %t150, ptr %t142 br label %scend52 scend52: %t151 = load i32, ptr %t142 %t152 = icmp ne i32 %t151, 0 br i1 %t152, label %then53, label %ifend55 then53: store ptr @.str2551, ptr %retval br label %ret ifend55: %t155 = load ptr, ptr %t0 %t156 = call i32 @lp_str_eq(ptr %t155, ptr @.str2552) %t157 = icmp ne i32 %t156, 0 %t158 = zext i1 %t157 to i32 store i32 %t158, ptr %t154 br i1 %t157, label %scend57, label %sc56 sc56: %t159 = load ptr, ptr %t0 %t160 = call i32 @lp_str_eq(ptr %t159, ptr @.str2553) %t161 = icmp ne i32 %t160, 0 %t162 = zext i1 %t161 to i32 store i32 %t162, ptr %t154 br label %scend57 scend57: %t163 = load i32, ptr %t154 %t164 = icmp ne i32 %t163, 0 %t165 = zext i1 %t164 to i32 store i32 %t165, ptr %t153 br i1 %t164, label %scend59, label %sc58 sc58: %t166 = load ptr, ptr %t0 %t167 = call i32 @lp_str_eq(ptr %t166, ptr @.str2554) %t168 = icmp ne i32 %t167, 0 %t169 = zext i1 %t168 to i32 store i32 %t169, ptr %t153 br label %scend59 scend59: %t170 = load i32, ptr %t153 %t171 = icmp ne i32 %t170, 0 br i1 %t171, label %then60, label %ifend62 then60: store ptr @.str2555, ptr %retval br label %ret ifend62: %t175 = load ptr, ptr %t0 %t176 = call i32 @lp_str_eq(ptr %t175, ptr @.str2556) %t177 = icmp ne i32 %t176, 0 %t178 = zext i1 %t177 to i32 store i32 %t178, ptr %t174 br i1 %t177, label %scend64, label %sc63 sc63: %t179 = load ptr, ptr %t0 %t180 = call i32 @lp_str_eq(ptr %t179, ptr @.str2557) %t181 = icmp ne i32 %t180, 0 %t182 = zext i1 %t181 to i32 store i32 %t182, ptr %t174 br label %scend64 scend64: %t183 = load i32, ptr %t174 %t184 = icmp ne i32 %t183, 0 %t185 = zext i1 %t184 to i32 store i32 %t185, ptr %t173 br i1 %t184, label %scend66, label %sc65 sc65: %t186 = load ptr, ptr %t0 %t187 = call i32 @lp_str_eq(ptr %t186, ptr @.str2558) %t188 = icmp ne i32 %t187, 0 %t189 = zext i1 %t188 to i32 store i32 %t189, ptr %t173 br label %scend66 scend66: %t190 = load i32, ptr %t173 %t191 = icmp ne i32 %t190, 0 %t192 = zext i1 %t191 to i32 store i32 %t192, ptr %t172 br i1 %t191, label %scend68, label %sc67 sc67: %t193 = load ptr, ptr %t0 %t194 = call i32 @lp_str_eq(ptr %t193, ptr @.str2559) %t195 = icmp ne i32 %t194, 0 %t196 = zext i1 %t195 to i32 store i32 %t196, ptr %t172 br label %scend68 scend68: %t197 = load i32, ptr %t172 %t198 = icmp ne i32 %t197, 0 br i1 %t198, label %then69, label %ifend71 then69: store ptr @.str2560, ptr %retval br label %ret ifend71: %t200 = load ptr, ptr %t0 %t201 = call i32 @lp_str_eq(ptr %t200, ptr @.str2561) %t202 = icmp ne i32 %t201, 0 %t203 = zext i1 %t202 to i32 store i32 %t203, ptr %t199 br i1 %t202, label %scend73, label %sc72 sc72: %t204 = load ptr, ptr %t0 %t205 = call i32 @lp_str_eq(ptr %t204, ptr @.str2562) %t206 = icmp ne i32 %t205, 0 %t207 = zext i1 %t206 to i32 store i32 %t207, ptr %t199 br label %scend73 scend73: %t208 = load i32, ptr %t199 %t209 = icmp ne i32 %t208, 0 br i1 %t209, label %then74, label %ifend76 then74: store ptr @.str2563, ptr %retval br label %ret ifend76: %t212 = load ptr, ptr %t0 %t213 = call i32 @lp_str_eq(ptr %t212, ptr @.str2564) %t214 = icmp ne i32 %t213, 0 %t215 = zext i1 %t214 to i32 store i32 %t215, ptr %t211 br i1 %t214, label %scend78, label %sc77 sc77: %t216 = load ptr, ptr %t0 %t217 = call i32 @lp_str_eq(ptr %t216, ptr @.str2565) %t218 = icmp ne i32 %t217, 0 %t219 = zext i1 %t218 to i32 store i32 %t219, ptr %t211 br label %scend78 scend78: %t220 = load i32, ptr %t211 %t221 = icmp ne i32 %t220, 0 %t222 = zext i1 %t221 to i32 store i32 %t222, ptr %t210 br i1 %t221, label %scend80, label %sc79 sc79: %t223 = load ptr, ptr %t0 %t224 = call i32 @lp_str_eq(ptr %t223, ptr @.str2566) %t225 = icmp ne i32 %t224, 0 %t226 = zext i1 %t225 to i32 store i32 %t226, ptr %t210 br label %scend80 scend80: %t227 = load i32, ptr %t210 %t228 = icmp ne i32 %t227, 0 br i1 %t228, label %then81, label %ifend83 then81: store ptr @.str2567, ptr %retval br label %ret ifend83: %t230 = load ptr, ptr %t0 %t231 = call i32 @lp_str_eq(ptr %t230, ptr @.str2568) %t232 = icmp ne i32 %t231, 0 %t233 = zext i1 %t232 to i32 store i32 %t233, ptr %t229 br i1 %t232, label %scend85, label %sc84 sc84: %t234 = load ptr, ptr %t0 %t235 = call i32 @lp_str_eq(ptr %t234, ptr @.str2569) %t236 = icmp ne i32 %t235, 0 %t237 = zext i1 %t236 to i32 store i32 %t237, ptr %t229 br label %scend85 scend85: %t238 = load i32, ptr %t229 %t239 = icmp ne i32 %t238, 0 br i1 %t239, label %then86, label %ifend88 then86: store ptr @.str2570, ptr %retval br label %ret ifend88: %t241 = load ptr, ptr %t0 %t242 = call i32 @lp_str_eq(ptr %t241, ptr @.str2571) %t243 = icmp ne i32 %t242, 0 %t244 = zext i1 %t243 to i32 store i32 %t244, ptr %t240 br i1 %t243, label %scend90, label %sc89 sc89: %t245 = load ptr, ptr %t0 %t246 = call i32 @lp_str_eq(ptr %t245, ptr @.str2572) %t247 = icmp ne i32 %t246, 0 %t248 = zext i1 %t247 to i32 store i32 %t248, ptr %t240 br label %scend90 scend90: %t249 = load i32, ptr %t240 %t250 = icmp ne i32 %t249, 0 br i1 %t250, label %then91, label %ifend93 then91: store ptr @.str2573, ptr %retval br label %ret ifend93: %t252 = load ptr, ptr %t0 %t253 = call i32 @lp_str_eq(ptr %t252, ptr @.str2574) %t254 = icmp ne i32 %t253, 0 %t255 = zext i1 %t254 to i32 store i32 %t255, ptr %t251 br i1 %t254, label %scend95, label %sc94 sc94: %t256 = load ptr, ptr %t0 %t257 = call i32 @lp_str_eq(ptr %t256, ptr @.str2575) %t258 = icmp ne i32 %t257, 0 %t259 = zext i1 %t258 to i32 store i32 %t259, ptr %t251 br label %scend95 scend95: %t260 = load i32, ptr %t251 %t261 = icmp ne i32 %t260, 0 br i1 %t261, label %then96, label %ifend98 then96: store ptr @.str2576, ptr %retval br label %ret ifend98: store ptr null, ptr %retval br label %ret ret: %t262 = load ptr, ptr %retval ret ptr %t262 } define void @fn_at_unit_check(ptr %arg_u, ptr %arg_t) { entry: %t0 = alloca ptr %t1 = alloca ptr %t2 = alloca i32 %t16 = alloca ptr store ptr %arg_u, ptr %t0 store ptr %arg_t, ptr %t1 %t3 = load ptr, ptr %t0 %t4 = icmp eq ptr %t3, null %t5 = zext i1 %t4 to i32 %t6 = icmp ne i32 %t5, 0 %t7 = zext i1 %t6 to i32 store i32 %t7, ptr %t2 br i1 %t6, label %scend1, label %sc0 sc0: %t8 = load ptr, ptr %t0 %t9 = call i32 @fn_at_unit_known(ptr %t8) %t10 = icmp ne i32 %t9, 0 %t11 = zext i1 %t10 to i32 store i32 %t11, ptr %t2 br label %scend1 scend1: %t12 = load i32, ptr %t2 %t13 = icmp ne i32 %t12, 0 br i1 %t13, label %then2, label %ifend4 then2: br label %ret ifend4: %t14 = load ptr, ptr %t0 %t15 = call ptr @fn_at_unit_canon(ptr %t14) store ptr %t15, ptr %t16 %t17 = load ptr, ptr %t16 %t18 = icmp ne ptr %t17, null %t19 = zext i1 %t18 to i32 %t20 = icmp ne i32 %t19, 0 br i1 %t20, label %then5, label %ifend7 then5: %t21 = load ptr, ptr @g_g_parse_file %t22 = load ptr, ptr %t1 %t23 = getelementptr inbounds %Cmp_Tok, ptr %t22, i32 0, i32 3 %t24 = load i32, ptr %t23 %t25 = load ptr, ptr %t1 %t26 = getelementptr inbounds %Cmp_Tok, ptr %t25, i32 0, i32 6 %t27 = load i32, ptr %t26 %t28 = load ptr, ptr %t0 store i32 1940, ptr @lp_site %t29 = call ptr @lp_str_concat(ptr @.str2577, ptr %t28) store i32 0, ptr @lp_site store i32 1941, ptr @lp_site %t30 = call ptr @lp_str_concat(ptr %t29, ptr @.str2579) store i32 0, ptr @lp_site call void @lp_free(ptr %t29) %t31 = load ptr, ptr %t16 store i32 1942, ptr @lp_site %t32 = call ptr @lp_str_concat(ptr %t30, ptr %t31) store i32 0, ptr @lp_site call void @lp_free(ptr %t30) store i32 1943, ptr @lp_site %t33 = call ptr @lp_str_concat(ptr %t32, ptr @.str2580) store i32 0, ptr @lp_site call void @lp_free(ptr %t32) call void @fn_pwarn_at(ptr %t21, i32 %t24, i32 %t27, ptr %t33) br label %ret ifend7: %t34 = load ptr, ptr @g_g_parse_file %t35 = load ptr, ptr %t1 %t36 = getelementptr inbounds %Cmp_Tok, ptr %t35, i32 0, i32 3 %t37 = load i32, ptr %t36 %t38 = load ptr, ptr %t1 %t39 = getelementptr inbounds %Cmp_Tok, ptr %t38, i32 0, i32 6 %t40 = load i32, ptr %t39 %t41 = load ptr, ptr %t0 store i32 1944, ptr @lp_site %t42 = call ptr @lp_str_concat(ptr @.str2581, ptr %t41) store i32 0, ptr @lp_site store i32 1945, ptr @lp_site %t43 = call ptr @lp_str_concat(ptr %t42, ptr @.str2582) store i32 0, ptr @lp_site call void @lp_free(ptr %t42) call void @fn_pwarn_at(ptr %t34, i32 %t37, i32 %t40, ptr %t43) br label %ret ret: ret void } define ptr @fn_at_field_of(ptr %arg_d, ptr %arg_name) { entry: %retval = alloca ptr %t0 = alloca ptr %t1 = alloca ptr %t2 = alloca i32 %t12 = alloca i32 store ptr %arg_d, ptr %t0 store ptr %arg_name, 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: %t13 = load ptr, ptr %t0 %t14 = getelementptr inbounds %Cmp_Node, ptr %t13, i32 0, i32 7 %t15 = load ptr, ptr %t14 %t16 = load i32, ptr %t2 %t17 = getelementptr inbounds %LSlice, ptr %t15, i32 0, i32 0 %t18 = load ptr, ptr %t17 %t19 = getelementptr inbounds %LSlice, ptr %t15, i32 0, i32 1 %t20 = load i32, ptr %t19 %t21 = icmp ult i32 %t16, %t20 br i1 %t21, label %ixok3, label %ixbad4 ixbad4: store i32 1946, ptr @lp_site %t22 = call ptr @lp_win_stdio(i32 2) store i32 0, ptr @lp_site call i32 (ptr, ptr, ...) @fprintf(ptr %t22, ptr @.fmt_bounds, ptr @.str2583, i32 %t16, i32 %t20) call void @exit(i32 1) unreachable ixok3: %t23 = getelementptr inbounds ptr, ptr %t18, i32 %t16 %t24 = load ptr, ptr %t23 %t25 = getelementptr inbounds %Cmp_Node, ptr %t24, i32 0, i32 1 %t26 = load ptr, ptr %t25 %t27 = icmp ne ptr %t26, null %t28 = zext i1 %t27 to i32 %t29 = icmp ne i32 %t28, 0 %t30 = zext i1 %t29 to i32 store i32 %t30, ptr %t12 br i1 %t29, label %sc5, label %scend6 sc5: %t31 = load ptr, ptr %t0 %t32 = getelementptr inbounds %Cmp_Node, ptr %t31, i32 0, i32 7 %t33 = load ptr, ptr %t32 %t34 = load i32, ptr %t2 %t35 = getelementptr inbounds %LSlice, ptr %t33, i32 0, i32 0 %t36 = load ptr, ptr %t35 %t37 = getelementptr inbounds %LSlice, ptr %t33, i32 0, i32 1 %t38 = load i32, ptr %t37 %t39 = icmp ult i32 %t34, %t38 br i1 %t39, label %ixok7, label %ixbad8 ixbad8: store i32 1947, ptr @lp_site %t40 = call ptr @lp_win_stdio(i32 2) store i32 0, ptr @lp_site call i32 (ptr, ptr, ...) @fprintf(ptr %t40, ptr @.fmt_bounds, ptr @.str2585, i32 %t34, i32 %t38) call void @exit(i32 1) unreachable ixok7: %t41 = getelementptr inbounds ptr, ptr %t36, i32 %t34 %t42 = load ptr, ptr %t41 %t43 = getelementptr inbounds %Cmp_Node, ptr %t42, i32 0, i32 1 %t44 = load ptr, ptr %t43 %t45 = call ptr @fn_vis_plain(ptr %t44) %t46 = load ptr, ptr %t1 %t47 = call i32 @lp_str_eq(ptr %t45, ptr %t46) %t48 = icmp ne i32 %t47, 0 %t49 = zext i1 %t48 to i32 store i32 %t49, ptr %t12 br label %scend6 scend6: %t50 = load i32, ptr %t12 %t51 = icmp ne i32 %t50, 0 br i1 %t51, label %then9, label %ifend11 then9: %t52 = load ptr, ptr %t0 %t53 = getelementptr inbounds %Cmp_Node, ptr %t52, i32 0, i32 7 %t54 = load ptr, ptr %t53 %t55 = load i32, ptr %t2 %t56 = getelementptr inbounds %LSlice, ptr %t54, i32 0, i32 0 %t57 = load ptr, ptr %t56 %t58 = getelementptr inbounds %LSlice, ptr %t54, i32 0, i32 1 %t59 = load i32, ptr %t58 %t60 = icmp ult i32 %t55, %t59 br i1 %t60, label %ixok12, label %ixbad13 ixbad13: store i32 1948, ptr @lp_site %t61 = call ptr @lp_win_stdio(i32 2) store i32 0, ptr @lp_site call i32 (ptr, ptr, ...) @fprintf(ptr %t61, ptr @.fmt_bounds, ptr @.str2586, i32 %t55, i32 %t59) call void @exit(i32 1) unreachable ixok12: %t62 = getelementptr inbounds ptr, ptr %t57, i32 %t55 %t63 = load ptr, ptr %t62 store ptr %t63, ptr %retval br label %ret ifend11: %t64 = load i32, ptr %t2 %t65 = add i32 %t64, 1 store i32 %t65, ptr %t2 br label %wcond0 wend2: store ptr null, ptr %retval br label %ret ret: %t66 = load ptr, ptr %retval ret ptr %t66 } define ptr @fn_at_arg_of(ptr %arg_f, ptr %arg_a) { entry: %retval = alloca ptr %t0 = alloca ptr %t1 = alloca ptr %t20 = alloca i32 store ptr %arg_f, ptr %t0 store ptr %arg_a, ptr %t1 %t2 = load ptr, ptr %t0 %t3 = getelementptr inbounds %Cmp_Node, ptr %t2, i32 0, i32 19 %t4 = load i32, ptr %t3 %t5 = icmp slt i32 %t4, 0 %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 @g_g_at_start %t9 = load ptr, ptr %t0 %t10 = getelementptr inbounds %Cmp_Node, ptr %t9, i32 0, i32 19 %t11 = load i32, ptr %t10 %t12 = getelementptr inbounds %LSlice, ptr %t8, i32 0, i32 0 %t13 = load ptr, ptr %t12 %t14 = getelementptr inbounds %LSlice, ptr %t8, i32 0, i32 1 %t15 = load i32, ptr %t14 %t16 = icmp ult i32 %t11, %t15 br i1 %t16, label %ixok3, label %ixbad4 ixbad4: store i32 1949, ptr @lp_site %t17 = call ptr @lp_win_stdio(i32 2) store i32 0, ptr @lp_site call i32 (ptr, ptr, ...) @fprintf(ptr %t17, ptr @.fmt_bounds, ptr @.str2587, i32 %t11, i32 %t15) call void @exit(i32 1) unreachable ixok3: %t18 = getelementptr inbounds i32, ptr %t13, i32 %t11 %t19 = load i32, ptr %t18 store i32 %t19, ptr %t20 br label %wcond5 wcond5: %t21 = load i32, ptr %t20 %t22 = load ptr, ptr @g_g_at_start %t23 = load ptr, ptr %t0 %t24 = getelementptr inbounds %Cmp_Node, ptr %t23, i32 0, i32 19 %t25 = load i32, ptr %t24 %t26 = getelementptr inbounds %LSlice, ptr %t22, i32 0, i32 0 %t27 = load ptr, ptr %t26 %t28 = getelementptr inbounds %LSlice, ptr %t22, i32 0, i32 1 %t29 = load i32, ptr %t28 %t30 = icmp ult i32 %t25, %t29 br i1 %t30, label %ixok8, label %ixbad9 ixbad9: store i32 1950, ptr @lp_site %t31 = call ptr @lp_win_stdio(i32 2) store i32 0, ptr @lp_site call i32 (ptr, ptr, ...) @fprintf(ptr %t31, ptr @.fmt_bounds, ptr @.str2589, i32 %t25, i32 %t29) call void @exit(i32 1) unreachable ixok8: %t32 = getelementptr inbounds i32, ptr %t27, i32 %t25 %t33 = load i32, ptr %t32 %t34 = load ptr, ptr @g_g_at_count %t35 = load ptr, ptr %t0 %t36 = getelementptr inbounds %Cmp_Node, ptr %t35, i32 0, i32 19 %t37 = load i32, ptr %t36 %t38 = getelementptr inbounds %LSlice, ptr %t34, i32 0, i32 0 %t39 = load ptr, ptr %t38 %t40 = getelementptr inbounds %LSlice, ptr %t34, i32 0, i32 1 %t41 = load i32, ptr %t40 %t42 = icmp ult i32 %t37, %t41 br i1 %t42, label %ixok10, label %ixbad11 ixbad11: store i32 1951, ptr @lp_site %t43 = call ptr @lp_win_stdio(i32 2) store i32 0, ptr @lp_site call i32 (ptr, ptr, ...) @fprintf(ptr %t43, ptr @.fmt_bounds, ptr @.str2590, i32 %t37, i32 %t41) call void @exit(i32 1) unreachable ixok10: %t44 = getelementptr inbounds i32, ptr %t39, i32 %t37 %t45 = load i32, ptr %t44 %t46 = add i32 %t33, %t45 %t47 = icmp slt i32 %t21, %t46 %t48 = zext i1 %t47 to i32 %t49 = icmp ne i32 %t48, 0 br i1 %t49, label %wbody6, label %wend7 wbody6: %t50 = load ptr, ptr @g_g_at_name %t51 = load i32, ptr %t20 %t52 = getelementptr inbounds %LSlice, ptr %t50, i32 0, i32 0 %t53 = load ptr, ptr %t52 %t54 = getelementptr inbounds %LSlice, ptr %t50, i32 0, i32 1 %t55 = load i32, ptr %t54 %t56 = icmp ult i32 %t51, %t55 br i1 %t56, label %ixok12, label %ixbad13 ixbad13: store i32 1952, ptr @lp_site %t57 = call ptr @lp_win_stdio(i32 2) store i32 0, ptr @lp_site call i32 (ptr, ptr, ...) @fprintf(ptr %t57, ptr @.fmt_bounds, ptr @.str2591, i32 %t51, i32 %t55) call void @exit(i32 1) unreachable ixok12: %t58 = getelementptr inbounds ptr, ptr %t53, i32 %t51 %t59 = load ptr, ptr %t58 %t60 = load ptr, ptr %t1 %t61 = call i32 @lp_str_eq(ptr %t59, ptr %t60) %t62 = icmp ne i32 %t61, 0 br i1 %t62, label %then14, label %ifend16 then14: %t63 = load ptr, ptr @g_g_at_first %t64 = load i32, ptr %t20 %t65 = getelementptr inbounds %LSlice, ptr %t63, i32 0, i32 0 %t66 = load ptr, ptr %t65 %t67 = getelementptr inbounds %LSlice, ptr %t63, i32 0, i32 1 %t68 = load i32, ptr %t67 %t69 = icmp ult i32 %t64, %t68 br i1 %t69, label %ixok17, label %ixbad18 ixbad18: store i32 1953, ptr @lp_site %t70 = call ptr @lp_win_stdio(i32 2) store i32 0, ptr @lp_site call i32 (ptr, ptr, ...) @fprintf(ptr %t70, ptr @.fmt_bounds, ptr @.str2592, i32 %t64, i32 %t68) call void @exit(i32 1) unreachable ixok17: %t71 = getelementptr inbounds ptr, ptr %t66, i32 %t64 %t72 = load ptr, ptr %t71 store ptr %t72, ptr %retval br label %ret ifend16: %t73 = load i32, ptr %t20 %t74 = add i32 %t73, 1 store i32 %t74, ptr %t20 br label %wcond5 wend7: store ptr null, ptr %retval br label %ret ret: %t75 = load ptr, ptr %retval ret ptr %t75 } define i32 @fn_at_is_gltf(ptr %arg_f) { entry: %retval = alloca i32 %t0 = alloca ptr %t3 = alloca ptr %t4 = alloca i32 store ptr %arg_f, ptr %t0 %t1 = load ptr, ptr %t0 %t2 = call ptr @fn_at_arg_of(ptr %t1, ptr @.str2593) store ptr %t2, ptr %t3 %t5 = load ptr, ptr %t3 %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 %t4 br i1 %t8, label %sc0, label %scend1 sc0: %t10 = load ptr, ptr %t3 %t11 = call i32 @lp_str_eq(ptr %t10, ptr @.str2594) %t12 = icmp ne i32 %t11, 0 %t13 = zext i1 %t12 to i32 store i32 %t13, ptr %t4 br label %scend1 scend1: %t14 = load i32, ptr %t4 store i32 %t14, ptr %retval br label %ret ret: %t15 = load i32, ptr %retval ret i32 %t15 } define ptr @fn_at_record(ptr %arg_name) { entry: %retval = alloca ptr %t0 = alloca ptr %t3 = alloca ptr %t4 = alloca i32 %t12 = alloca i32 %t13 = alloca i32 store ptr %arg_name, ptr %t0 %t1 = load ptr, ptr %t0 %t2 = call ptr @fn_vis_plain(ptr %t1) store ptr %t2, 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: %t14 = load ptr, ptr @g_prog %t15 = load i32, ptr %t4 %t16 = getelementptr inbounds %LSlice, ptr %t14, i32 0, i32 0 %t17 = load ptr, ptr %t16 %t18 = getelementptr inbounds %LSlice, ptr %t14, i32 0, i32 1 %t19 = load i32, ptr %t18 %t20 = icmp ult i32 %t15, %t19 br i1 %t20, label %ixok3, label %ixbad4 ixbad4: store i32 1954, ptr @lp_site %t21 = call ptr @lp_win_stdio(i32 2) store i32 0, ptr @lp_site call i32 (ptr, ptr, ...) @fprintf(ptr %t21, ptr @.fmt_bounds, ptr @.str2595, i32 %t15, i32 %t19) call void @exit(i32 1) unreachable ixok3: %t22 = getelementptr inbounds ptr, ptr %t17, i32 %t15 %t23 = load ptr, ptr %t22 %t24 = getelementptr inbounds %Cmp_Node, ptr %t23, i32 0, i32 0 %t25 = load i32, ptr %t24 %t26 = icmp eq i32 %t25, 8 %t27 = zext i1 %t26 to i32 %t28 = icmp ne i32 %t27, 0 %t29 = zext i1 %t28 to i32 store i32 %t29, ptr %t13 br i1 %t28, label %sc5, label %scend6 sc5: %t30 = load ptr, ptr @g_prog %t31 = load i32, ptr %t4 %t32 = getelementptr inbounds %LSlice, ptr %t30, i32 0, i32 0 %t33 = load ptr, ptr %t32 %t34 = getelementptr inbounds %LSlice, ptr %t30, i32 0, i32 1 %t35 = load i32, ptr %t34 %t36 = icmp ult i32 %t31, %t35 br i1 %t36, label %ixok7, label %ixbad8 ixbad8: store i32 1955, ptr @lp_site %t37 = call ptr @lp_win_stdio(i32 2) store i32 0, ptr @lp_site call i32 (ptr, ptr, ...) @fprintf(ptr %t37, ptr @.fmt_bounds, ptr @.str2597, i32 %t31, i32 %t35) call void @exit(i32 1) unreachable ixok7: %t38 = getelementptr inbounds ptr, ptr %t33, i32 %t31 %t39 = load ptr, ptr %t38 %t40 = getelementptr inbounds %Cmp_Node, ptr %t39, i32 0, i32 1 %t41 = load ptr, ptr %t40 %t42 = icmp ne ptr %t41, null %t43 = zext i1 %t42 to i32 %t44 = icmp ne i32 %t43, 0 %t45 = zext i1 %t44 to i32 store i32 %t45, ptr %t13 br label %scend6 scend6: %t46 = load i32, ptr %t13 %t47 = icmp ne i32 %t46, 0 %t48 = zext i1 %t47 to i32 store i32 %t48, ptr %t12 br i1 %t47, label %sc9, label %scend10 sc9: %t49 = load ptr, ptr @g_prog %t50 = load i32, ptr %t4 %t51 = getelementptr inbounds %LSlice, ptr %t49, i32 0, i32 0 %t52 = load ptr, ptr %t51 %t53 = getelementptr inbounds %LSlice, ptr %t49, i32 0, i32 1 %t54 = load i32, ptr %t53 %t55 = icmp ult i32 %t50, %t54 br i1 %t55, label %ixok11, label %ixbad12 ixbad12: store i32 1956, ptr @lp_site %t56 = call ptr @lp_win_stdio(i32 2) store i32 0, ptr @lp_site call i32 (ptr, ptr, ...) @fprintf(ptr %t56, ptr @.fmt_bounds, ptr @.str2598, i32 %t50, i32 %t54) call void @exit(i32 1) unreachable ixok11: %t57 = getelementptr inbounds ptr, ptr %t52, i32 %t50 %t58 = load ptr, ptr %t57 %t59 = getelementptr inbounds %Cmp_Node, ptr %t58, i32 0, i32 1 %t60 = load ptr, ptr %t59 %t61 = call ptr @fn_vis_plain(ptr %t60) %t62 = load ptr, ptr %t3 %t63 = call i32 @lp_str_eq(ptr %t61, ptr %t62) %t64 = icmp ne i32 %t63, 0 %t65 = zext i1 %t64 to i32 store i32 %t65, ptr %t12 br label %scend10 scend10: %t66 = load i32, ptr %t12 %t67 = icmp ne i32 %t66, 0 br i1 %t67, label %then13, label %ifend15 then13: %t68 = load ptr, ptr @g_prog %t69 = load i32, ptr %t4 %t70 = getelementptr inbounds %LSlice, ptr %t68, i32 0, i32 0 %t71 = load ptr, ptr %t70 %t72 = getelementptr inbounds %LSlice, ptr %t68, i32 0, i32 1 %t73 = load i32, ptr %t72 %t74 = icmp ult i32 %t69, %t73 br i1 %t74, label %ixok16, label %ixbad17 ixbad17: store i32 1957, ptr @lp_site %t75 = call ptr @lp_win_stdio(i32 2) store i32 0, ptr @lp_site call i32 (ptr, ptr, ...) @fprintf(ptr %t75, ptr @.fmt_bounds, ptr @.str2599, i32 %t69, i32 %t73) call void @exit(i32 1) unreachable ixok16: %t76 = getelementptr inbounds ptr, ptr %t71, i32 %t69 %t77 = load ptr, ptr %t76 store ptr %t77, ptr %retval br label %ret ifend15: %t78 = load i32, ptr %t4 %t79 = add i32 %t78, 1 store i32 %t79, ptr %t4 br label %wcond0 wend2: store ptr null, ptr %retval br label %ret ret: %t80 = load ptr, ptr %retval ret ptr %t80 } define i32 @fn_at_gltf_count(ptr %arg_r) { entry: %retval = alloca i32 %t0 = alloca ptr %t1 = alloca i32 %t2 = alloca i32 store ptr %arg_r, 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 = load i32, ptr %t2 %t16 = getelementptr inbounds %LSlice, ptr %t14, i32 0, i32 0 %t17 = load ptr, ptr %t16 %t18 = getelementptr inbounds %LSlice, ptr %t14, i32 0, i32 1 %t19 = load i32, ptr %t18 %t20 = icmp ult i32 %t15, %t19 br i1 %t20, label %ixok3, label %ixbad4 ixbad4: store i32 1958, ptr @lp_site %t21 = call ptr @lp_win_stdio(i32 2) store i32 0, ptr @lp_site call i32 (ptr, ptr, ...) @fprintf(ptr %t21, ptr @.fmt_bounds, ptr @.str2600, i32 %t15, i32 %t19) call void @exit(i32 1) unreachable ixok3: %t22 = getelementptr inbounds ptr, ptr %t17, i32 %t15 %t23 = load ptr, ptr %t22 %t24 = call i32 @fn_at_is_gltf(ptr %t23) %t25 = icmp ne i32 %t24, 0 br i1 %t25, label %then5, label %ifend7 then5: %t26 = load i32, ptr %t1 %t27 = add i32 %t26, 1 store i32 %t27, ptr %t1 br label %ifend7 ifend7: %t28 = load i32, ptr %t2 %t29 = add i32 %t28, 1 store i32 %t29, ptr %t2 br label %wcond0 wend2: %t30 = load i32, ptr %t1 store i32 %t30, ptr %retval br label %ret ret: %t31 = load i32, ptr %retval ret i32 %t31 } define void @fn_at_check_node(ptr %arg_d, ptr %arg_f, ptr %arg_a, ptr %arg_target) { entry: %t0 = alloca ptr %t1 = alloca ptr %t2 = alloca ptr %t3 = alloca ptr %t20 = alloca ptr %t24 = alloca ptr %t52 = alloca ptr %t73 = alloca i32 %t89 = alloca ptr %t90 = alloca i32 store ptr %arg_d, ptr %t0 store ptr %arg_f, ptr %t1 store ptr %arg_a, ptr %t2 store ptr %arg_target, ptr %t3 %t4 = load ptr, ptr %t0 %t5 = getelementptr inbounds %Cmp_Node, ptr %t4, i32 0, i32 1 %t6 = load ptr, ptr %t5 store i32 1959, ptr @lp_site %t7 = call ptr @lp_str_concat(ptr @.str2602, ptr %t6) store i32 0, ptr @lp_site store i32 1960, ptr @lp_site %t8 = call ptr @lp_str_concat(ptr %t7, ptr @.str2604) store i32 0, ptr @lp_site call void @lp_free(ptr %t7) %t9 = load ptr, ptr %t1 %t10 = getelementptr inbounds %Cmp_Node, ptr %t9, i32 0, i32 1 %t11 = load ptr, ptr %t10 store i32 1961, ptr @lp_site %t12 = call ptr @lp_str_concat(ptr %t8, ptr %t11) store i32 0, ptr @lp_site call void @lp_free(ptr %t8) store i32 1962, ptr @lp_site %t13 = call ptr @lp_str_concat(ptr %t12, ptr @.str2605) store i32 0, ptr @lp_site call void @lp_free(ptr %t12) %t14 = load ptr, ptr %t2 store i32 1963, ptr @lp_site %t15 = call ptr @lp_str_concat(ptr %t13, ptr %t14) store i32 0, ptr @lp_site call void @lp_free(ptr %t13) store i32 1964, ptr @lp_site %t16 = call ptr @lp_str_concat(ptr %t15, ptr @.str2606) store i32 0, ptr @lp_site call void @lp_free(ptr %t15) %t17 = load ptr, ptr %t3 store i32 1965, ptr @lp_site %t18 = call ptr @lp_str_concat(ptr %t16, ptr %t17) store i32 0, ptr @lp_site call void @lp_free(ptr %t16) store i32 1966, ptr @lp_site %t19 = call ptr @lp_str_concat(ptr %t18, ptr @.str2607) store i32 0, ptr @lp_site call void @lp_free(ptr %t18) store ptr %t19, ptr %t20 %t21 = load ptr, ptr %t0 %t22 = load ptr, ptr %t3 %t23 = call ptr @fn_at_field_of(ptr %t21, ptr %t22) store ptr %t23, ptr %t24 %t25 = load ptr, ptr %t24 %t26 = icmp eq ptr %t25, null %t27 = zext i1 %t26 to i32 %t28 = icmp ne i32 %t27, 0 br i1 %t28, label %then0, label %ifend2 then0: %t29 = load ptr, ptr %t1 %t30 = getelementptr inbounds %Cmp_Node, ptr %t29, i32 0, i32 9 %t31 = load ptr, ptr %t30 %t32 = load ptr, ptr %t1 %t33 = getelementptr inbounds %Cmp_Node, ptr %t32, i32 0, i32 8 %t34 = load i32, ptr %t33 %t35 = load ptr, ptr %t1 %t36 = getelementptr inbounds %Cmp_Node, ptr %t35, i32 0, i32 18 %t37 = load i32, ptr %t36 %t38 = load ptr, ptr %t20 store i32 1967, ptr @lp_site %t39 = call ptr @lp_str_concat(ptr %t38, ptr @.str2608) store i32 0, ptr @lp_site %t40 = load ptr, ptr %t0 %t41 = getelementptr inbounds %Cmp_Node, ptr %t40, i32 0, i32 1 %t42 = load ptr, ptr %t41 store i32 1968, ptr @lp_site %t43 = call ptr @lp_str_concat(ptr %t39, ptr %t42) store i32 0, ptr @lp_site call void @lp_free(ptr %t39) store i32 1969, ptr @lp_site %t44 = call ptr @lp_str_concat(ptr %t43, ptr @.str2609) store i32 0, ptr @lp_site call void @lp_free(ptr %t43) %t45 = load ptr, ptr %t3 store i32 1970, ptr @lp_site %t46 = call ptr @lp_str_concat(ptr %t44, ptr %t45) store i32 0, ptr @lp_site call void @lp_free(ptr %t44) call void @fn_perr_at(ptr %t31, i32 %t34, i32 %t37, ptr %t46) br label %ret ifend2: %t47 = load ptr, ptr %t24 %t48 = call i32 @fn_at_is_gltf(ptr %t47) %t49 = icmp ne i32 %t48, 0 br i1 %t49, label %then3, label %ifend5 then3: br label %ret ifend5: %t50 = load ptr, ptr %t24 %t51 = call ptr @fn_at_arg_of(ptr %t50, ptr @.str2610) store ptr %t51, ptr %t52 %t53 = load ptr, ptr %t52 %t54 = icmp eq ptr %t53, null %t55 = zext i1 %t54 to i32 %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 9 %t59 = load ptr, ptr %t58 %t60 = load ptr, ptr %t1 %t61 = getelementptr inbounds %Cmp_Node, ptr %t60, i32 0, i32 8 %t62 = load i32, ptr %t61 %t63 = load ptr, ptr %t1 %t64 = getelementptr inbounds %Cmp_Node, ptr %t63, i32 0, i32 18 %t65 = load i32, ptr %t64 %t66 = load ptr, ptr %t20 store i32 1971, ptr @lp_site %t67 = call ptr @lp_str_concat(ptr %t66, ptr @.str2611) store i32 0, ptr @lp_site %t68 = load ptr, ptr %t3 store i32 1972, ptr @lp_site %t69 = call ptr @lp_str_concat(ptr %t67, ptr %t68) store i32 0, ptr @lp_site call void @lp_free(ptr %t67) store i32 1973, ptr @lp_site %t70 = call ptr @lp_str_concat(ptr %t69, ptr @.str2612) store i32 0, ptr @lp_site call void @lp_free(ptr %t69) call void @fn_perr_at(ptr %t59, i32 %t62, i32 %t65, ptr %t70) br label %ret ifend8: %t71 = load ptr, ptr %t52 %t72 = call i32 @fn_reg_find(ptr %t71) store i32 %t72, ptr %t73 %t74 = load i32, ptr %t73 %t75 = icmp slt i32 %t74, 0 %t76 = zext i1 %t75 to i32 %t77 = icmp ne i32 %t76, 0 br i1 %t77, label %then9, label %ifend11 then9: br label %ret ifend11: %t78 = load ptr, ptr @g_g_rg_type %t79 = load i32, ptr %t73 %t80 = getelementptr inbounds %LSlice, ptr %t78, i32 0, i32 0 %t81 = load ptr, ptr %t80 %t82 = getelementptr inbounds %LSlice, ptr %t78, i32 0, i32 1 %t83 = load i32, ptr %t82 %t84 = icmp ult i32 %t79, %t83 br i1 %t84, label %ixok12, label %ixbad13 ixbad13: store i32 1974, ptr @lp_site %t85 = call ptr @lp_win_stdio(i32 2) store i32 0, ptr @lp_site call i32 (ptr, ptr, ...) @fprintf(ptr %t85, ptr @.fmt_bounds, ptr @.str2613, i32 %t79, i32 %t83) call void @exit(i32 1) unreachable ixok12: %t86 = getelementptr inbounds ptr, ptr %t81, i32 %t79 %t87 = load ptr, ptr %t86 %t88 = call ptr @fn_at_record(ptr %t87) store ptr %t88, ptr %t89 store i32 0, ptr %t90 %t91 = load ptr, ptr %t89 %t92 = icmp ne ptr %t91, null %t93 = zext i1 %t92 to i32 %t94 = icmp ne i32 %t93, 0 br i1 %t94, label %then14, label %ifend16 then14: %t95 = load ptr, ptr %t89 %t96 = call i32 @fn_at_gltf_count(ptr %t95) store i32 %t96, ptr %t90 br label %ifend16 ifend16: %t97 = load i32, ptr %t90 %t98 = icmp ne i32 %t97, 1 %t99 = zext i1 %t98 to i32 %t100 = icmp ne i32 %t99, 0 br i1 %t100, label %then17, label %ifend19 then17: %t101 = load ptr, ptr %t1 %t102 = getelementptr inbounds %Cmp_Node, ptr %t101, i32 0, i32 9 %t103 = load ptr, ptr %t102 %t104 = load ptr, ptr %t1 %t105 = getelementptr inbounds %Cmp_Node, ptr %t104, i32 0, i32 8 %t106 = load i32, ptr %t105 %t107 = load ptr, ptr %t1 %t108 = getelementptr inbounds %Cmp_Node, ptr %t107, i32 0, i32 18 %t109 = load i32, ptr %t108 %t110 = load ptr, ptr %t20 store i32 1975, ptr @lp_site %t111 = call ptr @lp_str_concat(ptr %t110, ptr @.str2614) store i32 0, ptr @lp_site %t112 = load ptr, ptr %t3 store i32 1976, ptr @lp_site %t113 = call ptr @lp_str_concat(ptr %t111, ptr %t112) store i32 0, ptr @lp_site call void @lp_free(ptr %t111) store i32 1977, ptr @lp_site %t114 = call ptr @lp_str_concat(ptr %t113, ptr @.str2615) store i32 0, ptr @lp_site call void @lp_free(ptr %t113) %t115 = load ptr, ptr %t52 store i32 1978, ptr @lp_site %t116 = call ptr @lp_str_concat(ptr %t114, ptr %t115) store i32 0, ptr @lp_site call void @lp_free(ptr %t114) store i32 1979, ptr @lp_site %t117 = call ptr @lp_str_concat(ptr %t116, ptr @.str2616) store i32 0, ptr @lp_site call void @lp_free(ptr %t116) %t118 = load ptr, ptr @g_g_rg_type %t119 = load i32, ptr %t73 %t120 = getelementptr inbounds %LSlice, ptr %t118, i32 0, i32 0 %t121 = load ptr, ptr %t120 %t122 = getelementptr inbounds %LSlice, ptr %t118, i32 0, i32 1 %t123 = load i32, ptr %t122 %t124 = icmp ult i32 %t119, %t123 br i1 %t124, label %ixok20, label %ixbad21 ixbad21: store i32 1980, ptr @lp_site %t125 = call ptr @lp_win_stdio(i32 2) store i32 0, ptr @lp_site call i32 (ptr, ptr, ...) @fprintf(ptr %t125, ptr @.fmt_bounds, ptr @.str2617, i32 %t119, i32 %t123) call void @exit(i32 1) unreachable ixok20: %t126 = getelementptr inbounds ptr, ptr %t121, i32 %t119 %t127 = load ptr, ptr %t126 store i32 1981, ptr @lp_site %t128 = call ptr @lp_str_concat(ptr %t117, ptr %t127) store i32 0, ptr @lp_site call void @lp_free(ptr %t117) store i32 1982, ptr @lp_site %t129 = call ptr @lp_str_concat(ptr %t128, ptr @.str2618) store i32 0, ptr @lp_site call void @lp_free(ptr %t128) %t130 = load i32, ptr %t90 store i32 1983, ptr @lp_site %t131 = call ptr @lp_int_str(i32 %t130) store i32 0, ptr @lp_site store i32 1984, ptr @lp_site %t132 = call ptr @lp_str_concat(ptr %t129, ptr %t131) store i32 0, ptr @lp_site call void @lp_free(ptr %t129) call void @lp_free(ptr %t131) store i32 1985, ptr @lp_site %t133 = call ptr @lp_str_concat(ptr %t132, ptr @.str2619) store i32 0, ptr @lp_site call void @lp_free(ptr %t132) call void @fn_perr_at(ptr %t103, i32 %t106, i32 %t109, ptr %t133) br label %ifend19 ifend19: br label %ret ret: ret void } define void @fn_at_check_oneof(ptr %arg_d, ptr %arg_f, i32 %arg_j) { entry: %t0 = alloca ptr %t1 = alloca ptr %t2 = alloca i32 %t13 = alloca ptr %t24 = alloca i32 %t25 = alloca i32 %t40 = alloca i32 %t41 = alloca i32 %t68 = alloca i32 %t106 = alloca ptr %t122 = alloca ptr %t123 = alloca i32 %t152 = alloca i32 store ptr %arg_d, ptr %t0 store ptr %arg_f, ptr %t1 store i32 %arg_j, ptr %t2 %t3 = load ptr, ptr %t0 %t4 = getelementptr inbounds %Cmp_Node, ptr %t3, i32 0, i32 1 %t5 = load ptr, ptr %t4 store i32 1986, ptr @lp_site %t6 = call ptr @lp_str_concat(ptr @.str2620, ptr %t5) store i32 0, ptr @lp_site store i32 1987, ptr @lp_site %t7 = call ptr @lp_str_concat(ptr %t6, ptr @.str2622) store i32 0, ptr @lp_site call void @lp_free(ptr %t6) %t8 = load ptr, ptr %t1 %t9 = getelementptr inbounds %Cmp_Node, ptr %t8, i32 0, i32 1 %t10 = load ptr, ptr %t9 store i32 1988, ptr @lp_site %t11 = call ptr @lp_str_concat(ptr %t7, ptr %t10) store i32 0, ptr @lp_site call void @lp_free(ptr %t7) store i32 1989, ptr @lp_site %t12 = call ptr @lp_str_concat(ptr %t11, ptr @.str2623) store i32 0, ptr @lp_site call void @lp_free(ptr %t11) store ptr %t12, ptr %t13 %t14 = load ptr, ptr @g_g_at_strs %t15 = load i32, ptr %t2 %t16 = getelementptr inbounds %LSlice, ptr %t14, i32 0, i32 0 %t17 = load ptr, ptr %t16 %t18 = getelementptr inbounds %LSlice, ptr %t14, i32 0, i32 1 %t19 = load i32, ptr %t18 %t20 = icmp ult i32 %t15, %t19 br i1 %t20, label %ixok0, label %ixbad1 ixbad1: store i32 1990, ptr @lp_site %t21 = call ptr @lp_win_stdio(i32 2) store i32 0, ptr @lp_site call i32 (ptr, ptr, ...) @fprintf(ptr %t21, ptr @.fmt_bounds, ptr @.str2624, i32 %t15, i32 %t19) call void @exit(i32 1) unreachable ixok0: %t22 = getelementptr inbounds i32, ptr %t17, i32 %t15 %t23 = load i32, ptr %t22 store i32 %t23, ptr %t24 %t26 = load ptr, ptr %t1 %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 %t32 = zext i1 %t31 to i32 store i32 %t32, ptr %t25 br i1 %t31, label %sc2, label %scend3 sc2: %t33 = load ptr, ptr %t1 %t34 = getelementptr inbounds %Cmp_Node, ptr %t33, i32 0, i32 3 %t35 = load ptr, ptr %t34 %t36 = call i32 @lp_str_eq(ptr %t35, ptr @.str2625) %t37 = icmp ne i32 %t36, 0 %t38 = zext i1 %t37 to i32 store i32 %t38, ptr %t25 br label %scend3 scend3: %t39 = load i32, ptr %t25 store i32 %t39, ptr %t40 %t42 = load i32, ptr %t24 %t43 = icmp ne i32 %t42, 0 %t44 = zext i1 %t43 to i32 store i32 %t44, ptr %t41 br i1 %t43, label %sc4, label %scend5 sc4: %t45 = load i32, ptr %t40 %t46 = icmp eq i32 %t45, 0 %t47 = zext i1 %t46 to i32 %t48 = icmp ne i32 %t47, 0 %t49 = zext i1 %t48 to i32 store i32 %t49, ptr %t41 br label %scend5 scend5: %t50 = load i32, ptr %t41 %t51 = icmp ne i32 %t50, 0 br i1 %t51, label %then6, label %ifend8 then6: %t52 = load ptr, ptr %t1 %t53 = getelementptr inbounds %Cmp_Node, ptr %t52, i32 0, i32 9 %t54 = load ptr, ptr %t53 %t55 = load ptr, ptr %t1 %t56 = getelementptr inbounds %Cmp_Node, ptr %t55, i32 0, i32 8 %t57 = load i32, ptr %t56 %t58 = load ptr, ptr %t1 %t59 = getelementptr inbounds %Cmp_Node, ptr %t58, i32 0, i32 18 %t60 = load i32, ptr %t59 %t61 = load ptr, ptr %t13 store i32 1991, ptr @lp_site %t62 = call ptr @lp_str_concat(ptr %t61, ptr @.str2626) store i32 0, ptr @lp_site %t63 = load ptr, ptr %t1 %t64 = getelementptr inbounds %Cmp_Node, ptr %t63, i32 0, i32 1 %t65 = load ptr, ptr %t64 store i32 1992, ptr @lp_site %t66 = call ptr @lp_str_concat(ptr %t62, ptr %t65) store i32 0, ptr @lp_site call void @lp_free(ptr %t62) store i32 1993, ptr @lp_site %t67 = call ptr @lp_str_concat(ptr %t66, ptr @.str2627) store i32 0, ptr @lp_site call void @lp_free(ptr %t66) call void @fn_perr_at(ptr %t54, i32 %t57, i32 %t60, ptr %t67) br label %ret ifend8: %t69 = load i32, ptr %t40 %t70 = icmp ne i32 %t69, 0 %t71 = zext i1 %t70 to i32 store i32 %t71, ptr %t68 br i1 %t70, label %sc9, label %scend10 sc9: %t72 = load i32, ptr %t24 %t73 = icmp eq i32 %t72, 0 %t74 = zext i1 %t73 to i32 %t75 = icmp ne i32 %t74, 0 %t76 = zext i1 %t75 to i32 store i32 %t76, ptr %t68 br label %scend10 scend10: %t77 = load i32, ptr %t68 %t78 = icmp ne i32 %t77, 0 br i1 %t78, label %then11, label %ifend13 then11: %t79 = load ptr, ptr %t1 %t80 = getelementptr inbounds %Cmp_Node, ptr %t79, i32 0, i32 9 %t81 = load ptr, ptr %t80 %t82 = load ptr, ptr %t1 %t83 = getelementptr inbounds %Cmp_Node, ptr %t82, i32 0, i32 8 %t84 = load i32, ptr %t83 %t85 = load ptr, ptr %t1 %t86 = getelementptr inbounds %Cmp_Node, ptr %t85, i32 0, i32 18 %t87 = load i32, ptr %t86 %t88 = load ptr, ptr %t13 store i32 1994, ptr @lp_site %t89 = call ptr @lp_str_concat(ptr %t88, ptr @.str2628) store i32 0, ptr @lp_site %t90 = load ptr, ptr %t1 %t91 = getelementptr inbounds %Cmp_Node, ptr %t90, i32 0, i32 1 %t92 = load ptr, ptr %t91 store i32 1995, ptr @lp_site %t93 = call ptr @lp_str_concat(ptr %t89, ptr %t92) store i32 0, ptr @lp_site call void @lp_free(ptr %t89) store i32 1996, ptr @lp_site %t94 = call ptr @lp_str_concat(ptr %t93, ptr @.str2629) store i32 0, ptr @lp_site call void @lp_free(ptr %t93) call void @fn_perr_at(ptr %t81, i32 %t84, i32 %t87, ptr %t94) br label %ret ifend13: %t95 = load ptr, ptr @g_g_at_args %t96 = load i32, ptr %t2 %t97 = getelementptr inbounds %LSlice, ptr %t95, i32 0, i32 0 %t98 = load ptr, ptr %t97 %t99 = getelementptr inbounds %LSlice, ptr %t95, i32 0, i32 1 %t100 = load i32, ptr %t99 %t101 = icmp ult i32 %t96, %t100 br i1 %t101, label %ixok14, label %ixbad15 ixbad15: store i32 1997, ptr @lp_site %t102 = call ptr @lp_win_stdio(i32 2) store i32 0, ptr @lp_site call i32 (ptr, ptr, ...) @fprintf(ptr %t102, ptr @.fmt_bounds, ptr @.str2630, i32 %t96, i32 %t100) call void @exit(i32 1) unreachable ixok14: %t103 = getelementptr inbounds ptr, ptr %t98, i32 %t96 %t104 = load ptr, ptr %t103 %t105 = call ptr @fn_at_arg_names(ptr %t104) store ptr %t105, ptr %t106 %t107 = load i32, ptr %t24 %t108 = icmp ne i32 %t107, 0 br i1 %t108, label %then16, label %ifend18 then16: %t109 = load ptr, ptr %t0 %t110 = load ptr, ptr %t1 %t111 = load ptr, ptr %t106 call void @fn_at_check_rows(ptr %t109, ptr %t110, ptr %t111) br label %ret ifend18: %t112 = load ptr, ptr @g_g_at_first %t113 = load i32, ptr %t2 %t114 = getelementptr inbounds %LSlice, ptr %t112, i32 0, i32 0 %t115 = load ptr, ptr %t114 %t116 = getelementptr inbounds %LSlice, ptr %t112, i32 0, i32 1 %t117 = load i32, ptr %t116 %t118 = icmp ult i32 %t113, %t117 br i1 %t118, label %ixok19, label %ixbad20 ixbad20: store i32 1998, ptr @lp_site %t119 = call ptr @lp_win_stdio(i32 2) store i32 0, ptr @lp_site call i32 (ptr, ptr, ...) @fprintf(ptr %t119, ptr @.fmt_bounds, ptr @.str2631, i32 %t113, i32 %t117) call void @exit(i32 1) unreachable ixok19: %t120 = getelementptr inbounds ptr, ptr %t115, i32 %t113 %t121 = load ptr, ptr %t120 store ptr %t121, ptr %t122 %t124 = load ptr, ptr @g_g_at_nargs %t125 = load i32, ptr %t2 %t126 = getelementptr inbounds %LSlice, ptr %t124, i32 0, i32 0 %t127 = load ptr, ptr %t126 %t128 = getelementptr inbounds %LSlice, ptr %t124, i32 0, i32 1 %t129 = load i32, ptr %t128 %t130 = icmp ult i32 %t125, %t129 br i1 %t130, label %ixok21, label %ixbad22 ixbad22: store i32 1999, ptr @lp_site %t131 = call ptr @lp_win_stdio(i32 2) store i32 0, ptr @lp_site call i32 (ptr, ptr, ...) @fprintf(ptr %t131, ptr @.fmt_bounds, ptr @.str2632, i32 %t125, i32 %t129) call void @exit(i32 1) unreachable ixok21: %t132 = getelementptr inbounds i32, ptr %t127, i32 %t125 %t133 = load i32, ptr %t132 %t134 = icmp eq i32 %t133, 1 %t135 = zext i1 %t134 to i32 %t136 = icmp ne i32 %t135, 0 %t137 = zext i1 %t136 to i32 store i32 %t137, ptr %t123 br i1 %t136, label %sc23, label %scend24 sc23: %t138 = load ptr, ptr %t122 %t139 = load ptr, ptr %t122 %t140 = call i64 @strlen(ptr %t139) %t141 = trunc i64 %t140 to i32 %t142 = sub i32 %t141, 1 %t143 = getelementptr inbounds i8, ptr %t138, i32 %t142 %t144 = load i8, ptr %t143 %t145 = zext i8 %t144 to i32 %t146 = icmp eq i32 %t145, 95 %t147 = zext i1 %t146 to i32 %t148 = icmp ne i32 %t147, 0 %t149 = zext i1 %t148 to i32 store i32 %t149, ptr %t123 br label %scend24 scend24: %t150 = load i32, ptr %t123 %t151 = icmp ne i32 %t150, 0 br i1 %t151, label %then25, label %ifend27 then25: br label %ret ifend27: store i32 0, ptr %t152 br label %wcond28 wcond28: %t153 = load i32, ptr %t152 %t154 = load ptr, ptr %t106 %t155 = getelementptr inbounds %LSlice, ptr %t154, i32 0, i32 1 %t156 = load i32, ptr %t155 %t157 = icmp slt i32 %t153, %t156 %t158 = zext i1 %t157 to i32 %t159 = icmp ne i32 %t158, 0 br i1 %t159, label %wbody29, label %wend30 wbody29: %t160 = load ptr, ptr %t106 %t161 = load i32, ptr %t152 %t162 = getelementptr inbounds %LSlice, ptr %t160, i32 0, i32 0 %t163 = load ptr, ptr %t162 %t164 = getelementptr inbounds %LSlice, ptr %t160, i32 0, i32 1 %t165 = load i32, ptr %t164 %t166 = icmp ult i32 %t161, %t165 br i1 %t166, label %ixok31, label %ixbad32 ixbad32: store i32 2000, ptr @lp_site %t167 = call ptr @lp_win_stdio(i32 2) store i32 0, ptr @lp_site call i32 (ptr, ptr, ...) @fprintf(ptr %t167, ptr @.fmt_bounds, ptr @.str2633, i32 %t161, i32 %t165) call void @exit(i32 1) unreachable ixok31: %t168 = getelementptr inbounds ptr, ptr %t163, i32 %t161 %t169 = load ptr, ptr %t168 %t170 = call i32 @fn_at_const_exists(ptr %t169) %t171 = icmp eq i32 %t170, 0 %t172 = zext i1 %t171 to i32 %t173 = icmp ne i32 %t172, 0 br i1 %t173, label %then33, label %ifend35 then33: %t174 = load ptr, ptr %t0 %t175 = load ptr, ptr %t1 %t176 = load i32, ptr %t2 %t177 = load ptr, ptr %t106 %t178 = load i32, ptr %t152 %t179 = getelementptr inbounds %LSlice, ptr %t177, i32 0, i32 0 %t180 = load ptr, ptr %t179 %t181 = getelementptr inbounds %LSlice, ptr %t177, i32 0, i32 1 %t182 = load i32, ptr %t181 %t183 = icmp ult i32 %t178, %t182 br i1 %t183, label %ixok36, label %ixbad37 ixbad37: store i32 2001, ptr @lp_site %t184 = call ptr @lp_win_stdio(i32 2) store i32 0, ptr @lp_site call i32 (ptr, ptr, ...) @fprintf(ptr %t184, ptr @.fmt_bounds, ptr @.str2634, i32 %t178, i32 %t182) call void @exit(i32 1) unreachable ixok36: %t185 = getelementptr inbounds ptr, ptr %t180, i32 %t178 %t186 = load ptr, ptr %t185 call void @fn_at_const_target(ptr %t174, ptr %t175, i32 %t176, ptr %t186) br label %ifend35 ifend35: %t187 = load i32, ptr %t152 %t188 = add i32 %t187, 1 store i32 %t188, ptr %t152 br label %wcond28 wend30: br label %ret ret: ret void } define void @fn_at_check_rows(ptr %arg_d, ptr %arg_f, ptr %arg_words) { entry: %t0 = alloca ptr %t1 = alloca ptr %t2 = alloca ptr %t7 = alloca ptr %t8 = alloca i32 %t27 = alloca i32 %t28 = alloca i32 store ptr %arg_d, ptr %t0 store ptr %arg_f, ptr %t1 store ptr %arg_words, ptr %t2 %t3 = load ptr, ptr %t0 %t4 = getelementptr inbounds %Cmp_Node, ptr %t3, i32 0, i32 1 %t5 = load ptr, ptr %t4 %t6 = call ptr @fn_vis_plain(ptr %t5) store ptr %t6, ptr %t7 store i32 0, ptr %t8 br label %wcond0 wcond0: %t9 = load i32, ptr %t8 %t10 = load ptr, ptr @g_g_df_rec %t11 = getelementptr inbounds %LSlice, ptr %t10, i32 0, i32 1 %t12 = load i32, ptr %t11 %t13 = icmp slt i32 %t9, %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 @g_g_df_reg %t17 = load i32, ptr %t8 %t18 = getelementptr inbounds %LSlice, ptr %t16, i32 0, i32 0 %t19 = load ptr, ptr %t18 %t20 = getelementptr inbounds %LSlice, ptr %t16, i32 0, i32 1 %t21 = load i32, ptr %t20 %t22 = icmp ult i32 %t17, %t21 br i1 %t22, label %ixok3, label %ixbad4 ixbad4: store i32 2002, ptr @lp_site %t23 = call ptr @lp_win_stdio(i32 2) store i32 0, ptr @lp_site call i32 (ptr, ptr, ...) @fprintf(ptr %t23, ptr @.fmt_bounds, ptr @.str2635, i32 %t17, i32 %t21) call void @exit(i32 1) unreachable ixok3: %t24 = getelementptr inbounds ptr, ptr %t19, i32 %t17 %t25 = load ptr, ptr %t24 %t26 = call i32 @fn_reg_find(ptr %t25) store i32 %t26, ptr %t27 %t29 = load i32, ptr %t27 %t30 = icmp sge 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 %t28 br i1 %t32, label %sc5, label %scend6 sc5: %t34 = load ptr, ptr @g_g_rg_type %t35 = load i32, ptr %t27 %t36 = getelementptr inbounds %LSlice, ptr %t34, i32 0, i32 0 %t37 = load ptr, ptr %t36 %t38 = getelementptr inbounds %LSlice, ptr %t34, i32 0, i32 1 %t39 = load i32, ptr %t38 %t40 = icmp ult i32 %t35, %t39 br i1 %t40, label %ixok7, label %ixbad8 ixbad8: store i32 2003, ptr @lp_site %t41 = call ptr @lp_win_stdio(i32 2) store i32 0, ptr @lp_site call i32 (ptr, ptr, ...) @fprintf(ptr %t41, ptr @.fmt_bounds, ptr @.str2637, i32 %t35, i32 %t39) call void @exit(i32 1) unreachable ixok7: %t42 = getelementptr inbounds ptr, ptr %t37, i32 %t35 %t43 = load ptr, ptr %t42 %t44 = call ptr @fn_vis_plain(ptr %t43) %t45 = load ptr, ptr %t7 %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 %t28 br label %scend6 scend6: %t49 = load i32, ptr %t28 %t50 = icmp ne i32 %t49, 0 br i1 %t50, label %then9, label %ifend11 then9: %t51 = load ptr, ptr %t0 %t52 = load ptr, ptr %t1 %t53 = load ptr, ptr @g_g_df_rec %t54 = load i32, ptr %t8 %t55 = getelementptr inbounds %LSlice, ptr %t53, i32 0, i32 0 %t56 = load ptr, ptr %t55 %t57 = getelementptr inbounds %LSlice, ptr %t53, i32 0, i32 1 %t58 = load i32, ptr %t57 %t59 = icmp ult i32 %t54, %t58 br i1 %t59, label %ixok12, label %ixbad13 ixbad13: store i32 2004, ptr @lp_site %t60 = call ptr @lp_win_stdio(i32 2) store i32 0, ptr @lp_site call i32 (ptr, ptr, ...) @fprintf(ptr %t60, ptr @.fmt_bounds, ptr @.str2638, i32 %t54, i32 %t58) call void @exit(i32 1) unreachable ixok12: %t61 = getelementptr inbounds ptr, ptr %t56, i32 %t54 %t62 = load ptr, ptr %t61 %t63 = load ptr, ptr @g_g_df_key %t64 = load i32, ptr %t8 %t65 = getelementptr inbounds %LSlice, ptr %t63, i32 0, i32 0 %t66 = load ptr, ptr %t65 %t67 = getelementptr inbounds %LSlice, ptr %t63, i32 0, i32 1 %t68 = load i32, ptr %t67 %t69 = icmp ult i32 %t64, %t68 br i1 %t69, label %ixok14, label %ixbad15 ixbad15: store i32 2005, ptr @lp_site %t70 = call ptr @lp_win_stdio(i32 2) store i32 0, ptr @lp_site call i32 (ptr, ptr, ...) @fprintf(ptr %t70, ptr @.fmt_bounds, ptr @.str2639, i32 %t64, i32 %t68) call void @exit(i32 1) unreachable ixok14: %t71 = getelementptr inbounds ptr, ptr %t66, i32 %t64 %t72 = load ptr, ptr %t71 %t73 = load ptr, ptr %t2 call void @fn_at_check_row(ptr %t51, ptr %t52, ptr %t62, ptr %t72, ptr %t73) br label %ifend11 ifend11: %t74 = load i32, ptr %t8 %t75 = add i32 %t74, 1 store i32 %t75, ptr %t8 br label %wcond0 wend2: br label %ret ret: ret void } define void @fn_at_check_row(ptr %arg_d, ptr %arg_f, ptr %arg_rec, ptr %arg_key, ptr %arg_words) { entry: %t0 = alloca ptr %t1 = alloca ptr %t2 = alloca ptr %t3 = alloca ptr %t4 = alloca ptr %t5 = alloca i32 %t27 = alloca ptr %t28 = alloca i32 %t29 = alloca i32 %t30 = alloca i32 %t31 = alloca i32 store ptr %arg_d, ptr %t0 store ptr %arg_f, ptr %t1 store ptr %arg_rec, ptr %t2 store ptr %arg_key, ptr %t3 store ptr %arg_words, ptr %t4 store i32 0, ptr %t5 br label %wcond0 wcond0: %t6 = load i32, ptr %t5 %t7 = load ptr, ptr %t2 %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 %t6, %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 %t2 %t16 = getelementptr inbounds %Cmp_Node, ptr %t15, i32 0, i32 7 %t17 = load ptr, ptr %t16 %t18 = load i32, ptr %t5 %t19 = getelementptr inbounds %LSlice, ptr %t17, i32 0, i32 0 %t20 = load ptr, ptr %t19 %t21 = getelementptr inbounds %LSlice, ptr %t17, i32 0, i32 1 %t22 = load i32, ptr %t21 %t23 = icmp ult i32 %t18, %t22 br i1 %t23, label %ixok3, label %ixbad4 ixbad4: store i32 2006, ptr @lp_site %t24 = call ptr @lp_win_stdio(i32 2) store i32 0, ptr @lp_site call i32 (ptr, ptr, ...) @fprintf(ptr %t24, ptr @.fmt_bounds, ptr @.str2640, i32 %t18, i32 %t22) call void @exit(i32 1) unreachable ixok3: %t25 = getelementptr inbounds ptr, ptr %t20, i32 %t18 %t26 = load ptr, ptr %t25 store ptr %t26, ptr %t27 %t32 = load ptr, ptr %t27 %t33 = getelementptr inbounds %Cmp_Node, ptr %t32, i32 0, i32 0 %t34 = load i32, ptr %t33 %t35 = icmp eq i32 %t34, 42 %t36 = zext i1 %t35 to i32 %t37 = icmp ne i32 %t36, 0 %t38 = zext i1 %t37 to i32 store i32 %t38, ptr %t31 br i1 %t37, label %sc5, label %scend6 sc5: %t39 = load ptr, ptr %t27 %t40 = getelementptr inbounds %Cmp_Node, ptr %t39, i32 0, i32 1 %t41 = load ptr, ptr %t40 %t42 = load ptr, ptr %t1 %t43 = getelementptr inbounds %Cmp_Node, ptr %t42, i32 0, i32 1 %t44 = load ptr, ptr %t43 %t45 = call i32 @lp_str_eq(ptr %t41, ptr %t44) %t46 = icmp ne i32 %t45, 0 %t47 = zext i1 %t46 to i32 store i32 %t47, ptr %t31 br label %scend6 scend6: %t48 = load i32, ptr %t31 %t49 = icmp ne i32 %t48, 0 %t50 = zext i1 %t49 to i32 store i32 %t50, ptr %t30 br i1 %t49, label %sc7, label %scend8 sc7: %t51 = load ptr, ptr %t27 %t52 = getelementptr inbounds %Cmp_Node, ptr %t51, i32 0, i32 4 %t53 = load ptr, ptr %t52 %t54 = icmp ne ptr %t53, null %t55 = zext i1 %t54 to i32 %t56 = icmp ne i32 %t55, 0 %t57 = zext i1 %t56 to i32 store i32 %t57, ptr %t30 br label %scend8 scend8: %t58 = load i32, ptr %t30 %t59 = icmp ne i32 %t58, 0 %t60 = zext i1 %t59 to i32 store i32 %t60, ptr %t29 br i1 %t59, label %sc9, label %scend10 sc9: %t61 = load ptr, ptr %t27 %t62 = getelementptr inbounds %Cmp_Node, ptr %t61, i32 0, i32 4 %t63 = load ptr, ptr %t62 %t64 = getelementptr inbounds %Cmp_Node, ptr %t63, i32 0, i32 0 %t65 = load i32, ptr %t64 %t66 = icmp eq i32 %t65, 31 %t67 = zext i1 %t66 to i32 %t68 = icmp ne i32 %t67, 0 %t69 = zext i1 %t68 to i32 store i32 %t69, ptr %t29 br label %scend10 scend10: %t70 = load i32, ptr %t29 %t71 = icmp ne i32 %t70, 0 %t72 = zext i1 %t71 to i32 store i32 %t72, ptr %t28 br i1 %t71, label %sc11, label %scend12 sc11: %t73 = load ptr, ptr %t27 %t74 = getelementptr inbounds %Cmp_Node, ptr %t73, i32 0, i32 4 %t75 = load ptr, ptr %t74 %t76 = getelementptr inbounds %Cmp_Node, ptr %t75, i32 0, i32 1 %t77 = load ptr, ptr %t76 %t78 = load ptr, ptr %t4 %t79 = call i32 @fn_at_word_in(ptr %t77, ptr %t78) %t80 = icmp eq i32 %t79, 0 %t81 = zext i1 %t80 to i32 %t82 = icmp ne i32 %t81, 0 %t83 = zext i1 %t82 to i32 store i32 %t83, ptr %t28 br label %scend12 scend12: %t84 = load i32, ptr %t28 %t85 = icmp ne i32 %t84, 0 br i1 %t85, label %then13, label %ifend15 then13: %t86 = load ptr, ptr %t27 %t87 = getelementptr inbounds %Cmp_Node, ptr %t86, i32 0, i32 9 %t88 = load ptr, ptr %t87 %t89 = load ptr, ptr %t27 %t90 = getelementptr inbounds %Cmp_Node, ptr %t89, i32 0, i32 8 %t91 = load i32, ptr %t90 %t92 = load ptr, ptr %t27 %t93 = getelementptr inbounds %Cmp_Node, ptr %t92, i32 0, i32 18 %t94 = load i32, ptr %t93 %t95 = load ptr, ptr %t3 store i32 2007, ptr @lp_site %t96 = call ptr @lp_str_concat(ptr %t95, ptr @.str2642) store i32 0, ptr @lp_site %t97 = load ptr, ptr %t1 %t98 = getelementptr inbounds %Cmp_Node, ptr %t97, i32 0, i32 1 %t99 = load ptr, ptr %t98 store i32 2008, ptr @lp_site %t100 = call ptr @lp_str_concat(ptr %t96, ptr %t99) store i32 0, ptr @lp_site call void @lp_free(ptr %t96) store i32 2009, ptr @lp_site %t101 = call ptr @lp_str_concat(ptr %t100, ptr @.str2643) store i32 0, ptr @lp_site call void @lp_free(ptr %t100) %t102 = load ptr, ptr %t27 %t103 = getelementptr inbounds %Cmp_Node, ptr %t102, i32 0, i32 4 %t104 = load ptr, ptr %t103 %t105 = getelementptr inbounds %Cmp_Node, ptr %t104, i32 0, i32 1 %t106 = load ptr, ptr %t105 store i32 2010, ptr @lp_site %t107 = call ptr @lp_str_concat(ptr %t101, ptr %t106) store i32 0, ptr @lp_site call void @lp_free(ptr %t101) store i32 2011, ptr @lp_site %t108 = call ptr @lp_str_concat(ptr %t107, ptr @.str2644) store i32 0, ptr @lp_site call void @lp_free(ptr %t107) %t109 = load ptr, ptr %t0 %t110 = getelementptr inbounds %Cmp_Node, ptr %t109, i32 0, i32 1 %t111 = load ptr, ptr %t110 store i32 2012, ptr @lp_site %t112 = call ptr @lp_str_concat(ptr %t108, ptr %t111) store i32 0, ptr @lp_site call void @lp_free(ptr %t108) store i32 2013, ptr @lp_site %t113 = call ptr @lp_str_concat(ptr %t112, ptr @.str2645) store i32 0, ptr @lp_site call void @lp_free(ptr %t112) %t114 = load ptr, ptr %t1 %t115 = getelementptr inbounds %Cmp_Node, ptr %t114, i32 0, i32 1 %t116 = load ptr, ptr %t115 store i32 2014, ptr @lp_site %t117 = call ptr @lp_str_concat(ptr %t113, ptr %t116) store i32 0, ptr @lp_site call void @lp_free(ptr %t113) store i32 2015, ptr @lp_site %t118 = call ptr @lp_str_concat(ptr %t117, ptr @.str2646) store i32 0, ptr @lp_site call void @lp_free(ptr %t117) %t119 = load ptr, ptr %t4 %t120 = call ptr @fn_at_words_text(ptr %t119) store i32 2016, ptr @lp_site %t121 = call ptr @lp_str_concat(ptr %t118, ptr %t120) store i32 0, ptr @lp_site call void @lp_free(ptr %t118) store i32 2017, ptr @lp_site %t122 = call ptr @lp_str_concat(ptr %t121, ptr @.str2647) store i32 0, ptr @lp_site call void @lp_free(ptr %t121) call void @fn_perr_at(ptr %t88, i32 %t91, i32 %t94, ptr %t122) br label %ifend15 ifend15: %t123 = load i32, ptr %t5 %t124 = add i32 %t123, 1 store i32 %t124, ptr %t5 br label %wcond0 wend2: br label %ret ret: ret void } define i32 @fn_at_word_in(ptr %arg_w, ptr %arg_words) { entry: %retval = alloca i32 %t0 = alloca ptr %t1 = alloca ptr %t2 = alloca i32 store ptr %arg_w, ptr %t0 store ptr %arg_words, ptr %t1 store i32 0, ptr %t2 br label %wcond0 wcond0: %t3 = load i32, ptr %t2 %t4 = load ptr, ptr %t1 %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 %t1 %t11 = load i32, ptr %t2 %t12 = getelementptr inbounds %LSlice, ptr %t10, i32 0, i32 0 %t13 = load ptr, ptr %t12 %t14 = getelementptr inbounds %LSlice, ptr %t10, i32 0, i32 1 %t15 = load i32, ptr %t14 %t16 = icmp ult i32 %t11, %t15 br i1 %t16, label %ixok3, label %ixbad4 ixbad4: store i32 2018, ptr @lp_site %t17 = call ptr @lp_win_stdio(i32 2) store i32 0, ptr @lp_site call i32 (ptr, ptr, ...) @fprintf(ptr %t17, ptr @.fmt_bounds, ptr @.str2648, i32 %t11, i32 %t15) call void @exit(i32 1) unreachable ixok3: %t18 = getelementptr inbounds ptr, ptr %t13, i32 %t11 %t19 = load ptr, ptr %t18 %t20 = load ptr, ptr %t0 %t21 = call i32 @lp_str_eq(ptr %t19, ptr %t20) %t22 = icmp ne i32 %t21, 0 br i1 %t22, label %then5, label %ifend7 then5: store i32 1, ptr %retval br label %ret ifend7: %t23 = load i32, ptr %t2 %t24 = add i32 %t23, 1 store i32 %t24, ptr %t2 br label %wcond0 wend2: store i32 0, ptr %retval br label %ret ret: %t25 = load i32, ptr %retval ret i32 %t25 } define ptr @fn_at_words_text(ptr %arg_words) { entry: %retval = alloca ptr %t0 = alloca ptr %t1 = alloca ptr %t2 = alloca i32 store ptr %arg_words, ptr %t0 store ptr @.str2650, 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 i32, ptr %t2 %t11 = icmp sgt i32 %t10, 0 %t12 = zext i1 %t11 to i32 %t13 = icmp ne i32 %t12, 0 br i1 %t13, label %then3, label %ifend5 then3: %t14 = load ptr, ptr %t1 store i32 2019, ptr @lp_site %t15 = call ptr @lp_str_concat(ptr %t14, ptr @.str2651) store i32 0, ptr @lp_site store ptr %t15, ptr %t1 br label %ifend5 ifend5: %t16 = load ptr, ptr %t1 store i32 2020, ptr @lp_site %t17 = call ptr @lp_str_concat(ptr %t16, ptr @.str2653) store i32 0, ptr @lp_site %t18 = load ptr, ptr %t0 %t19 = load i32, ptr %t2 %t20 = getelementptr inbounds %LSlice, ptr %t18, i32 0, i32 0 %t21 = load ptr, ptr %t20 %t22 = getelementptr inbounds %LSlice, ptr %t18, i32 0, i32 1 %t23 = load i32, ptr %t22 %t24 = icmp ult i32 %t19, %t23 br i1 %t24, label %ixok6, label %ixbad7 ixbad7: store i32 2021, ptr @lp_site %t25 = call ptr @lp_win_stdio(i32 2) store i32 0, ptr @lp_site call i32 (ptr, ptr, ...) @fprintf(ptr %t25, ptr @.fmt_bounds, ptr @.str2654, i32 %t19, i32 %t23) call void @exit(i32 1) unreachable ixok6: %t26 = getelementptr inbounds ptr, ptr %t21, i32 %t19 %t27 = load ptr, ptr %t26 store i32 2022, ptr @lp_site %t28 = call ptr @lp_str_concat(ptr %t17, ptr %t27) store i32 0, ptr @lp_site call void @lp_free(ptr %t17) store i32 2023, ptr @lp_site %t29 = call ptr @lp_str_concat(ptr %t28, ptr @.str2655) store i32 0, ptr @lp_site call void @lp_free(ptr %t28) store ptr %t29, ptr %t1 %t30 = load i32, ptr %t2 %t31 = add i32 %t30, 1 store i32 %t31, ptr %t2 br label %wcond0 wend2: %t32 = load ptr, ptr %t1 store ptr %t32, ptr %retval br label %ret ret: %t33 = load ptr, ptr %retval ret ptr %t33 } define ptr @fn_at_arg_names(ptr %arg_args) { entry: %retval = alloca ptr %t0 = alloca ptr %t7 = alloca ptr %t8 = alloca i32 %t10 = alloca i32 store ptr %arg_args, ptr %t0 %t1 = getelementptr %LSlice, ptr null, i32 1 %t2 = ptrtoint ptr %t1 to i64 store i32 2024, ptr @lp_site %t3 = call ptr @lp_malloc(i64 %t2) store i32 0, ptr @lp_site %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 %t9 = sub i32 0, 1 store i32 %t9, ptr %t10 br label %wcond0 wcond0: %t11 = load i32, ptr %t8 %t12 = load ptr, ptr %t0 %t13 = call i64 @strlen(ptr %t12) %t14 = trunc i64 %t13 to i32 %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 %t0 %t19 = load i32, ptr %t8 %t20 = getelementptr inbounds i8, ptr %t18, i32 %t19 %t21 = load i8, ptr %t20 %t22 = zext i8 %t21 to i32 %t23 = icmp eq i32 %t22, 34 %t24 = zext i1 %t23 to i32 %t25 = icmp ne i32 %t24, 0 br i1 %t25, label %then3, label %ifend5 then3: %t26 = load i32, ptr %t10 %t27 = icmp slt i32 %t26, 0 %t28 = zext i1 %t27 to i32 %t29 = icmp ne i32 %t28, 0 br i1 %t29, label %then6, label %else7 then6: %t30 = load i32, ptr %t8 %t31 = add i32 %t30, 1 store i32 %t31, ptr %t10 br label %ifend8 else7: %t32 = load ptr, ptr %t7 %t33 = load ptr, ptr %t0 %t34 = load i32, ptr %t10 %t35 = load i32, ptr %t8 store i32 2025, ptr @lp_site %t36 = call ptr @lp_str_slice(ptr %t33, i32 %t34, i32 %t35) store i32 0, ptr @lp_site %t37 = getelementptr inbounds %LSlice, ptr %t32, i32 0, i32 1 %t38 = getelementptr inbounds %LSlice, ptr %t32, i32 0, i32 2 %t39 = getelementptr inbounds %LSlice, ptr %t32, i32 0, i32 0 %t40 = load i32, ptr %t37 %t41 = load i32, ptr %t38 %t42 = icmp sge i32 %t40, %t41 br i1 %t42, label %grow9, label %put10 grow9: %t43 = mul i32 %t41, 2 %t44 = icmp eq i32 %t41, 0 %t45 = select i1 %t44, i32 8, i32 %t43 %t46 = getelementptr ptr, ptr null, i32 1 %t47 = ptrtoint ptr %t46 to i64 %t48 = zext i32 %t45 to i64 %t49 = mul i64 %t48, %t47 %t50 = load ptr, ptr %t39 store i32 2026, ptr @lp_site %t51 = call ptr @lp_realloc(ptr %t50, i64 %t49) store i32 0, ptr @lp_site store ptr %t51, ptr %t39 store i32 %t45, ptr %t38 br label %put10 put10: %t52 = load ptr, ptr %t39 %t53 = getelementptr inbounds ptr, ptr %t52, i32 %t40 store ptr %t36, ptr %t53 %t54 = add i32 %t40, 1 store i32 %t54, ptr %t37 %t55 = sub i32 0, 1 store i32 %t55, ptr %t10 br label %ifend8 ifend8: br label %ifend5 ifend5: %t56 = load i32, ptr %t8 %t57 = add i32 %t56, 1 store i32 %t57, ptr %t8 br label %wcond0 wend2: %t58 = load ptr, ptr %t7 store ptr %t58, ptr %retval br label %ret ret: %t59 = load ptr, ptr %retval ret ptr %t59 } define i32 @fn_at_const_exists(ptr %arg_name) { entry: %retval = alloca i32 %t0 = alloca ptr %t1 = alloca i32 %t9 = alloca i32 %t10 = 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: %t11 = load ptr, ptr @g_prog %t12 = load i32, ptr %t1 %t13 = getelementptr inbounds %LSlice, ptr %t11, i32 0, i32 0 %t14 = load ptr, ptr %t13 %t15 = getelementptr inbounds %LSlice, ptr %t11, i32 0, i32 1 %t16 = load i32, ptr %t15 %t17 = icmp ult i32 %t12, %t16 br i1 %t17, label %ixok3, label %ixbad4 ixbad4: store i32 2027, ptr @lp_site %t18 = call ptr @lp_win_stdio(i32 2) store i32 0, ptr @lp_site call i32 (ptr, ptr, ...) @fprintf(ptr %t18, ptr @.fmt_bounds, ptr @.str2657, i32 %t12, i32 %t16) call void @exit(i32 1) unreachable ixok3: %t19 = getelementptr inbounds ptr, ptr %t14, i32 %t12 %t20 = load ptr, ptr %t19 %t21 = getelementptr inbounds %Cmp_Node, ptr %t20, i32 0, i32 0 %t22 = load i32, ptr %t21 %t23 = icmp eq i32 %t22, 3 %t24 = zext i1 %t23 to i32 %t25 = icmp ne i32 %t24, 0 %t26 = zext i1 %t25 to i32 store i32 %t26, ptr %t10 br i1 %t25, label %sc5, label %scend6 sc5: %t27 = load ptr, ptr @g_prog %t28 = load i32, ptr %t1 %t29 = getelementptr inbounds %LSlice, ptr %t27, i32 0, i32 0 %t30 = load ptr, ptr %t29 %t31 = getelementptr inbounds %LSlice, ptr %t27, i32 0, i32 1 %t32 = load i32, ptr %t31 %t33 = icmp ult i32 %t28, %t32 br i1 %t33, label %ixok7, label %ixbad8 ixbad8: store i32 2028, ptr @lp_site %t34 = call ptr @lp_win_stdio(i32 2) store i32 0, ptr @lp_site call i32 (ptr, ptr, ...) @fprintf(ptr %t34, ptr @.fmt_bounds, ptr @.str2659, i32 %t28, i32 %t32) call void @exit(i32 1) unreachable ixok7: %t35 = getelementptr inbounds ptr, ptr %t30, i32 %t28 %t36 = load ptr, ptr %t35 %t37 = getelementptr inbounds %Cmp_Node, ptr %t36, i32 0, i32 1 %t38 = load ptr, ptr %t37 %t39 = icmp ne ptr %t38, null %t40 = zext i1 %t39 to i32 %t41 = icmp ne i32 %t40, 0 %t42 = zext i1 %t41 to i32 store i32 %t42, ptr %t10 br label %scend6 scend6: %t43 = load i32, ptr %t10 %t44 = icmp ne i32 %t43, 0 %t45 = zext i1 %t44 to i32 store i32 %t45, ptr %t9 br i1 %t44, label %sc9, label %scend10 sc9: %t46 = load ptr, ptr @g_prog %t47 = load i32, ptr %t1 %t48 = getelementptr inbounds %LSlice, ptr %t46, i32 0, i32 0 %t49 = load ptr, ptr %t48 %t50 = getelementptr inbounds %LSlice, ptr %t46, i32 0, i32 1 %t51 = load i32, ptr %t50 %t52 = icmp ult i32 %t47, %t51 br i1 %t52, label %ixok11, label %ixbad12 ixbad12: store i32 2029, ptr @lp_site %t53 = call ptr @lp_win_stdio(i32 2) store i32 0, ptr @lp_site call i32 (ptr, ptr, ...) @fprintf(ptr %t53, ptr @.fmt_bounds, ptr @.str2660, i32 %t47, i32 %t51) call void @exit(i32 1) unreachable ixok11: %t54 = getelementptr inbounds ptr, ptr %t49, i32 %t47 %t55 = load ptr, ptr %t54 %t56 = getelementptr inbounds %Cmp_Node, ptr %t55, i32 0, i32 1 %t57 = load ptr, ptr %t56 %t58 = call ptr @fn_vis_plain(ptr %t57) %t59 = load ptr, ptr %t0 %t60 = call i32 @lp_str_eq(ptr %t58, ptr %t59) %t61 = icmp ne i32 %t60, 0 %t62 = zext i1 %t61 to i32 store i32 %t62, ptr %t9 br label %scend10 scend10: %t63 = load i32, ptr %t9 %t64 = icmp ne i32 %t63, 0 br i1 %t64, label %then13, label %ifend15 then13: store i32 1, ptr %retval br label %ret ifend15: %t65 = load i32, ptr %t1 %t66 = add i32 %t65, 1 store i32 %t66, ptr %t1 br label %wcond0 wend2: store i32 0, ptr %retval br label %ret ret: %t67 = load i32, ptr %retval ret i32 %t67 } define i32 @fn_at_decl_named(ptr %arg_name) { entry: %retval = alloca i32 %t0 = alloca ptr %t1 = alloca i32 %t9 = 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: %t10 = load ptr, ptr @g_prog %t11 = load i32, ptr %t1 %t12 = getelementptr inbounds %LSlice, ptr %t10, i32 0, i32 0 %t13 = load ptr, ptr %t12 %t14 = getelementptr inbounds %LSlice, ptr %t10, i32 0, i32 1 %t15 = load i32, ptr %t14 %t16 = icmp ult i32 %t11, %t15 br i1 %t16, label %ixok3, label %ixbad4 ixbad4: store i32 2030, ptr @lp_site %t17 = call ptr @lp_win_stdio(i32 2) store i32 0, ptr @lp_site call i32 (ptr, ptr, ...) @fprintf(ptr %t17, ptr @.fmt_bounds, ptr @.str2661, i32 %t11, i32 %t15) call void @exit(i32 1) unreachable ixok3: %t18 = getelementptr inbounds ptr, ptr %t13, i32 %t11 %t19 = load ptr, ptr %t18 %t20 = getelementptr inbounds %Cmp_Node, ptr %t19, i32 0, i32 1 %t21 = load ptr, ptr %t20 %t22 = icmp ne ptr %t21, null %t23 = zext i1 %t22 to i32 %t24 = icmp ne i32 %t23, 0 %t25 = zext i1 %t24 to i32 store i32 %t25, ptr %t9 br i1 %t24, label %sc5, label %scend6 sc5: %t26 = load ptr, ptr @g_prog %t27 = load i32, ptr %t1 %t28 = getelementptr inbounds %LSlice, ptr %t26, i32 0, i32 0 %t29 = load ptr, ptr %t28 %t30 = getelementptr inbounds %LSlice, ptr %t26, i32 0, i32 1 %t31 = load i32, ptr %t30 %t32 = icmp ult i32 %t27, %t31 br i1 %t32, label %ixok7, label %ixbad8 ixbad8: store i32 2031, ptr @lp_site %t33 = call ptr @lp_win_stdio(i32 2) store i32 0, ptr @lp_site call i32 (ptr, ptr, ...) @fprintf(ptr %t33, ptr @.fmt_bounds, ptr @.str2663, i32 %t27, i32 %t31) call void @exit(i32 1) unreachable ixok7: %t34 = getelementptr inbounds ptr, ptr %t29, i32 %t27 %t35 = load ptr, ptr %t34 %t36 = getelementptr inbounds %Cmp_Node, ptr %t35, i32 0, i32 1 %t37 = load ptr, ptr %t36 %t38 = call ptr @fn_vis_plain(ptr %t37) %t39 = load ptr, ptr %t0 %t40 = call i32 @lp_str_eq(ptr %t38, ptr %t39) %t41 = icmp ne i32 %t40, 0 %t42 = zext i1 %t41 to i32 store i32 %t42, ptr %t9 br label %scend6 scend6: %t43 = load i32, ptr %t9 %t44 = icmp ne i32 %t43, 0 br i1 %t44, label %then9, label %ifend11 then9: store i32 1, ptr %retval br label %ret ifend11: %t45 = load i32, ptr %t1 %t46 = add i32 %t45, 1 store i32 %t46, ptr %t1 br label %wcond0 wend2: store i32 0, ptr %retval br label %ret ret: %t47 = load i32, ptr %retval ret i32 %t47 } define i32 @fn_at_asset_map(ptr %arg_f) { entry: %retval = alloca i32 %t0 = alloca ptr %t19 = alloca i32 %t72 = alloca ptr store ptr %arg_f, ptr %t0 %t1 = load ptr, ptr %t0 %t2 = getelementptr inbounds %Cmp_Node, ptr %t1, i32 0, i32 19 %t3 = load i32, ptr %t2 %t4 = icmp slt i32 %t3, 0 %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 @g_g_at_start %t8 = load ptr, ptr %t0 %t9 = getelementptr inbounds %Cmp_Node, ptr %t8, i32 0, i32 19 %t10 = load i32, ptr %t9 %t11 = getelementptr inbounds %LSlice, ptr %t7, i32 0, i32 0 %t12 = load ptr, ptr %t11 %t13 = getelementptr inbounds %LSlice, ptr %t7, i32 0, i32 1 %t14 = load i32, ptr %t13 %t15 = icmp ult i32 %t10, %t14 br i1 %t15, label %ixok3, label %ixbad4 ixbad4: store i32 2032, ptr @lp_site %t16 = call ptr @lp_win_stdio(i32 2) store i32 0, ptr @lp_site call i32 (ptr, ptr, ...) @fprintf(ptr %t16, ptr @.fmt_bounds, ptr @.str2664, i32 %t10, i32 %t14) call void @exit(i32 1) unreachable ixok3: %t17 = getelementptr inbounds i32, ptr %t12, i32 %t10 %t18 = load i32, ptr %t17 store i32 %t18, ptr %t19 br label %wcond5 wcond5: %t20 = load i32, ptr %t19 %t21 = load ptr, ptr @g_g_at_start %t22 = load ptr, ptr %t0 %t23 = getelementptr inbounds %Cmp_Node, ptr %t22, i32 0, i32 19 %t24 = load i32, ptr %t23 %t25 = getelementptr inbounds %LSlice, ptr %t21, i32 0, i32 0 %t26 = load ptr, ptr %t25 %t27 = getelementptr inbounds %LSlice, ptr %t21, i32 0, i32 1 %t28 = load i32, ptr %t27 %t29 = icmp ult i32 %t24, %t28 br i1 %t29, label %ixok8, label %ixbad9 ixbad9: store i32 2033, ptr @lp_site %t30 = call ptr @lp_win_stdio(i32 2) store i32 0, ptr @lp_site call i32 (ptr, ptr, ...) @fprintf(ptr %t30, ptr @.fmt_bounds, ptr @.str2666, i32 %t24, i32 %t28) call void @exit(i32 1) unreachable ixok8: %t31 = getelementptr inbounds i32, ptr %t26, i32 %t24 %t32 = load i32, ptr %t31 %t33 = load ptr, ptr @g_g_at_count %t34 = load ptr, ptr %t0 %t35 = getelementptr inbounds %Cmp_Node, ptr %t34, i32 0, i32 19 %t36 = load i32, ptr %t35 %t37 = getelementptr inbounds %LSlice, ptr %t33, i32 0, i32 0 %t38 = load ptr, ptr %t37 %t39 = getelementptr inbounds %LSlice, ptr %t33, i32 0, i32 1 %t40 = load i32, ptr %t39 %t41 = icmp ult i32 %t36, %t40 br i1 %t41, label %ixok10, label %ixbad11 ixbad11: store i32 2034, ptr @lp_site %t42 = call ptr @lp_win_stdio(i32 2) store i32 0, ptr @lp_site call i32 (ptr, ptr, ...) @fprintf(ptr %t42, ptr @.fmt_bounds, ptr @.str2667, i32 %t36, i32 %t40) call void @exit(i32 1) unreachable ixok10: %t43 = getelementptr inbounds i32, ptr %t38, i32 %t36 %t44 = load i32, ptr %t43 %t45 = add i32 %t32, %t44 %t46 = icmp slt i32 %t20, %t45 %t47 = zext i1 %t46 to i32 %t48 = icmp ne i32 %t47, 0 br i1 %t48, label %wbody6, label %wend7 wbody6: %t49 = load ptr, ptr @g_g_at_name %t50 = load i32, ptr %t19 %t51 = getelementptr inbounds %LSlice, ptr %t49, i32 0, i32 0 %t52 = load ptr, ptr %t51 %t53 = getelementptr inbounds %LSlice, ptr %t49, i32 0, i32 1 %t54 = load i32, ptr %t53 %t55 = icmp ult i32 %t50, %t54 br i1 %t55, label %ixok12, label %ixbad13 ixbad13: store i32 2035, ptr @lp_site %t56 = call ptr @lp_win_stdio(i32 2) store i32 0, ptr @lp_site call i32 (ptr, ptr, ...) @fprintf(ptr %t56, ptr @.fmt_bounds, ptr @.str2668, i32 %t50, i32 %t54) call void @exit(i32 1) unreachable ixok12: %t57 = getelementptr inbounds ptr, ptr %t52, i32 %t50 %t58 = load ptr, ptr %t57 %t59 = call i32 @lp_str_eq(ptr %t58, ptr @.str2669) %t60 = icmp ne i32 %t59, 0 br i1 %t60, label %then14, label %ifend16 then14: %t61 = load ptr, ptr @g_g_at_args %t62 = load i32, ptr %t19 %t63 = getelementptr inbounds %LSlice, ptr %t61, i32 0, i32 0 %t64 = load ptr, ptr %t63 %t65 = getelementptr inbounds %LSlice, ptr %t61, i32 0, i32 1 %t66 = load i32, ptr %t65 %t67 = icmp ult i32 %t62, %t66 br i1 %t67, label %ixok17, label %ixbad18 ixbad18: store i32 2036, ptr @lp_site %t68 = call ptr @lp_win_stdio(i32 2) store i32 0, ptr @lp_site call i32 (ptr, ptr, ...) @fprintf(ptr %t68, ptr @.fmt_bounds, ptr @.str2670, i32 %t62, i32 %t66) call void @exit(i32 1) unreachable ixok17: %t69 = getelementptr inbounds ptr, ptr %t64, i32 %t62 %t70 = load ptr, ptr %t69 %t71 = call ptr @fn_at_arg_names(ptr %t70) store ptr %t71, ptr %t72 %t73 = load ptr, ptr %t72 %t74 = getelementptr inbounds %LSlice, ptr %t73, i32 0, i32 1 %t75 = load i32, ptr %t74 %t76 = icmp sge i32 %t75, 3 %t77 = zext i1 %t76 to i32 %t78 = icmp ne i32 %t77, 0 br i1 %t78, label %then19, label %ifend21 then19: store i32 2, ptr %retval br label %ret ifend21: %t79 = load ptr, ptr %t72 %t80 = getelementptr inbounds %LSlice, ptr %t79, i32 0, i32 1 %t81 = load i32, ptr %t80 %t82 = icmp eq i32 %t81, 2 %t83 = zext i1 %t82 to i32 %t84 = icmp ne i32 %t83, 0 br i1 %t84, label %then22, label %ifend24 then22: store i32 1, ptr %retval br label %ret ifend24: store i32 0, ptr %retval br label %ret ifend16: %t85 = load i32, ptr %t19 %t86 = add i32 %t85, 1 store i32 %t86, ptr %t19 br label %wcond5 wend7: store i32 0, ptr %retval br label %ret ret: %t87 = load i32, ptr %retval ret i32 %t87 } define ptr @fn_res_path(ptr %arg_from, ptr %arg_declaring) { entry: %retval = alloca ptr %t0 = alloca ptr %t1 = alloca ptr store ptr %arg_from, ptr %t0 store ptr %arg_declaring, ptr %t1 %t2 = load ptr, ptr %t0 %t3 = call ptr @fn_read_file(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 store ptr %t7, ptr %retval br label %ret ifend2: %t8 = load ptr, ptr %t1 %t9 = call ptr @fn_dir_of(ptr %t8) %t10 = load ptr, ptr %t0 %t11 = call ptr @fn_join_path(ptr %t9, ptr %t10) store ptr %t11, ptr %retval br label %ret ret: %t12 = load ptr, ptr %retval ret ptr %t12 } define void @fn_res_read(ptr %arg_v, ptr %arg_from) { entry: %t0 = alloca ptr %t1 = alloca ptr store ptr %arg_v, ptr %t0 store ptr %arg_from, ptr %t1 %t2 = load ptr, ptr %t0 %t3 = getelementptr inbounds %Cmp_Node, ptr %t2, i32 0, i32 1 %t4 = load ptr, ptr %t3 %t5 = load ptr, ptr %t1 %t6 = load ptr, ptr %t0 %t7 = getelementptr inbounds %Cmp_Node, ptr %t6, i32 0, i32 1 %t8 = load ptr, ptr %t7 store i32 2037, ptr @lp_site %t9 = call ptr @lp_str_concat(ptr @.str2671, ptr %t8) store i32 0, ptr @lp_site call void @fn_res_read_into(ptr %t4, ptr %t5, ptr %t9) br label %ret ret: ret void } define void @fn_res_read_into(ptr %arg_reg, ptr %arg_from, ptr %arg_who) { entry: %t0 = alloca ptr %t1 = alloca ptr %t2 = alloca ptr %t6 = alloca ptr %t9 = alloca ptr %t19 = alloca ptr %t21 = alloca i32 %t23 = alloca ptr %t25 = alloca i32 %t26 = alloca i32 %t49 = alloca ptr %t62 = alloca i32 %t104 = alloca ptr %t106 = alloca ptr %t108 = alloca ptr store ptr %arg_reg, ptr %t0 store ptr %arg_from, ptr %t1 store ptr %arg_who, ptr %t2 %t3 = load ptr, ptr %t1 %t4 = load ptr, ptr @g_g_parse_file %t5 = call ptr @fn_res_path(ptr %t3, ptr %t4) store ptr %t5, ptr %t6 %t7 = load ptr, ptr %t6 %t8 = call ptr @fn_read_file(ptr %t7) store ptr %t8, ptr %t9 %t10 = load ptr, ptr %t9 %t11 = icmp eq ptr %t10, null %t12 = zext i1 %t11 to i32 %t13 = icmp ne i32 %t12, 0 br i1 %t13, label %then0, label %ifend2 then0: %t14 = load ptr, ptr %t2 store i32 2038, ptr @lp_site %t15 = call ptr @lp_str_concat(ptr %t14, ptr @.str2673) store i32 0, ptr @lp_site %t16 = load ptr, ptr %t1 store i32 2039, ptr @lp_site %t17 = call ptr @lp_str_concat(ptr %t15, ptr %t16) store i32 0, ptr @lp_site call void @lp_free(ptr %t15) call void @fn_perr(ptr %t17) br label %ifend2 ifend2: %t18 = load ptr, ptr @g_toks store ptr %t18, ptr %t19 %t20 = load i32, ptr @g_pi store i32 %t20, ptr %t21 %t22 = load ptr, ptr @g_g_parse_file store ptr %t22, ptr %t23 %t24 = load i32, ptr @g_g_parsing store i32 %t24, ptr %t25 store i32 0, ptr %t26 %t27 = load i32, ptr %t21 %t28 = icmp sgt i32 %t27, 0 %t29 = zext i1 %t28 to i32 %t30 = icmp ne i32 %t29, 0 br i1 %t30, label %then3, label %ifend5 then3: %t31 = load ptr, ptr %t19 %t32 = load i32, ptr %t21 %t33 = sub i32 %t32, 1 %t34 = getelementptr inbounds %LSlice, ptr %t31, i32 0, i32 0 %t35 = load ptr, ptr %t34 %t36 = getelementptr inbounds %LSlice, ptr %t31, i32 0, i32 1 %t37 = load i32, ptr %t36 %t38 = icmp ult i32 %t33, %t37 br i1 %t38, label %ixok6, label %ixbad7 ixbad7: store i32 2040, ptr @lp_site %t39 = call ptr @lp_win_stdio(i32 2) store i32 0, ptr @lp_site call i32 (ptr, ptr, ...) @fprintf(ptr %t39, ptr @.fmt_bounds, ptr @.str2675, i32 %t33, i32 %t37) call void @exit(i32 1) unreachable ixok6: %t40 = getelementptr inbounds ptr, ptr %t35, i32 %t33 %t41 = load ptr, ptr %t40 %t42 = getelementptr inbounds %Cmp_Tok, ptr %t41, i32 0, i32 3 %t43 = load i32, ptr %t42 store i32 %t43, ptr %t26 br label %ifend5 ifend5: %t44 = load ptr, ptr %t23 store i32 2041, ptr @lp_site %t45 = call ptr @lp_str_concat(ptr %t44, ptr @.str2676) store i32 0, ptr @lp_site %t46 = load i32, ptr %t26 %t47 = call ptr @fn_itoa(i32 %t46) store i32 2042, ptr @lp_site %t48 = call ptr @lp_str_concat(ptr %t45, ptr %t47) store i32 0, ptr @lp_site call void @lp_free(ptr %t45) store ptr %t48, ptr %t49 %t50 = load ptr, ptr @g_g_fm_src %t51 = load ptr, ptr %t6 %t52 = load ptr, ptr %t9 call void @fn_fm_put(ptr %t50, ptr %t51, ptr %t52) %t53 = load ptr, ptr %t23 %t54 = call ptr @fn_module_of(ptr %t53) %t55 = call i32 @lp_str_eq(ptr %t54, ptr @.str2677) %t56 = icmp eq i32 %t55, 0 %t57 = zext i1 %t56 to i32 %t58 = icmp ne i32 %t57, 0 br i1 %t58, label %then8, label %ifend10 then8: %t59 = load ptr, ptr %t6 %t60 = load ptr, ptr %t23 %t61 = call ptr @fn_module_of(ptr %t60) call void @fn_module_set(ptr %t59, ptr %t61) br label %ifend10 ifend10: %t63 = load ptr, ptr %t23 %t64 = call i32 @fn_is_float_file(ptr %t63) %t65 = icmp ne i32 %t64, 0 %t66 = zext i1 %t65 to i32 store i32 %t66, ptr %t62 br i1 %t65, label %sc11, label %scend12 sc11: %t67 = load ptr, ptr %t6 %t68 = call i32 @fn_is_float_file(ptr %t67) %t69 = icmp eq i32 %t68, 0 %t70 = zext i1 %t69 to i32 %t71 = icmp ne i32 %t70, 0 %t72 = zext i1 %t71 to i32 store i32 %t72, ptr %t62 br label %scend12 scend12: %t73 = load i32, ptr %t62 %t74 = icmp ne i32 %t73, 0 br i1 %t74, label %then13, label %ifend15 then13: %t75 = load ptr, ptr %t6 call void @fn_float_file_add(ptr %t75) br label %ifend15 ifend15: %t76 = load ptr, ptr %t6 store ptr %t76, ptr @g_g_parse_file store i32 1, ptr @g_g_parsing store i32 1, ptr @g_g_res_mode %t77 = load ptr, ptr %t9 call void @fn_lex_at(ptr %t77, i32 1) store i32 0, ptr @g_pi br label %wcond16 wcond16: %t78 = icmp ne i32 1, 0 br i1 %t78, label %wbody17, label %wend18 wbody17: call void @fn_skipnl() %t79 = load ptr, ptr @g_toks %t80 = load i32, ptr @g_pi %t81 = getelementptr inbounds %LSlice, ptr %t79, i32 0, i32 0 %t82 = load ptr, ptr %t81 %t83 = getelementptr inbounds %LSlice, ptr %t79, i32 0, i32 1 %t84 = load i32, ptr %t83 %t85 = icmp ult i32 %t80, %t84 br i1 %t85, label %ixok19, label %ixbad20 ixbad20: store i32 2043, ptr @lp_site %t86 = call ptr @lp_win_stdio(i32 2) store i32 0, ptr @lp_site call i32 (ptr, ptr, ...) @fprintf(ptr %t86, ptr @.fmt_bounds, ptr @.str2678, i32 %t80, i32 %t84) call void @exit(i32 1) unreachable ixok19: %t87 = getelementptr inbounds ptr, ptr %t82, i32 %t80 %t88 = load ptr, ptr %t87 %t89 = getelementptr inbounds %Cmp_Tok, ptr %t88, i32 0, i32 0 %t90 = load i32, ptr %t89 %t91 = icmp eq i32 %t90, 5 %t92 = zext i1 %t91 to i32 %t93 = icmp ne i32 %t92, 0 br i1 %t93, label %then21, label %ifend23 then21: br label %wend18 ifend23: %t94 = load ptr, ptr @g_toks %t95 = load i32, ptr @g_pi %t96 = getelementptr inbounds %LSlice, ptr %t94, i32 0, i32 0 %t97 = load ptr, ptr %t96 %t98 = getelementptr inbounds %LSlice, ptr %t94, i32 0, i32 1 %t99 = load i32, ptr %t98 %t100 = icmp ult i32 %t95, %t99 br i1 %t100, label %ixok24, label %ixbad25 ixbad25: store i32 2044, ptr @lp_site %t101 = call ptr @lp_win_stdio(i32 2) store i32 0, ptr @lp_site call i32 (ptr, ptr, ...) @fprintf(ptr %t101, ptr @.fmt_bounds, ptr @.str2679, i32 %t95, i32 %t99) call void @exit(i32 1) unreachable ixok24: %t102 = getelementptr inbounds ptr, ptr %t97, i32 %t95 %t103 = load ptr, ptr %t102 store ptr %t103, ptr %t104 %t105 = call ptr @fn_eat_id() store ptr %t105, ptr %t106 call void @fn_skipnl() %t107 = call ptr @fn_record() store ptr %t107, ptr %t108 %t109 = load ptr, ptr %t0 %t110 = load ptr, ptr %t106 %t111 = load ptr, ptr %t108 %t112 = load ptr, ptr %t104 %t113 = getelementptr inbounds %Cmp_Tok, ptr %t112, i32 0, i32 3 %t114 = load i32, ptr %t113 %t115 = load ptr, ptr %t104 %t116 = getelementptr inbounds %Cmp_Tok, ptr %t115, i32 0, i32 6 %t117 = load i32, ptr %t116 %t118 = load ptr, ptr %t6 %t119 = load ptr, ptr %t49 call void @fn_df_push(ptr %t109, ptr %t110, ptr %t111, i32 %t114, i32 %t117, ptr %t118, ptr %t119) br label %wcond16 wend18: store i32 0, ptr @g_g_res_mode %t120 = load ptr, ptr %t19 store ptr %t120, ptr @g_toks %t121 = load i32, ptr %t21 store i32 %t121, ptr @g_pi %t122 = load ptr, ptr %t23 store ptr %t122, ptr @g_g_parse_file %t123 = load i32, ptr %t25 store i32 %t123, ptr @g_g_parsing br label %ret ret: ret void } define ptr @fn_res_type(ptr %arg_e, ptr %arg_ty) { entry: %retval = alloca ptr %t0 = alloca ptr %t1 = alloca ptr %t2 = alloca i32 %t24 = alloca ptr %t33 = alloca ptr %t51 = alloca i32 %t74 = alloca ptr %t89 = alloca i32 store ptr %arg_e, ptr %t0 store ptr %arg_ty, ptr %t1 %t3 = load ptr, ptr %t0 %t4 = icmp eq ptr %t3, null %t5 = zext i1 %t4 to i32 %t6 = icmp ne i32 %t5, 0 %t7 = zext i1 %t6 to i32 store i32 %t7, ptr %t2 br i1 %t6, label %scend1, label %sc0 sc0: %t8 = load ptr, ptr %t1 %t9 = icmp eq ptr %t8, null %t10 = zext i1 %t9 to i32 %t11 = icmp ne i32 %t10, 0 %t12 = zext i1 %t11 to i32 store i32 %t12, ptr %t2 br label %scend1 scend1: %t13 = load i32, ptr %t2 %t14 = icmp ne i32 %t13, 0 br i1 %t14, label %then2, label %ifend4 then2: %t15 = load ptr, ptr %t0 store ptr %t15, ptr %retval br label %ret ifend4: %t16 = load ptr, ptr %t0 %t17 = getelementptr inbounds %Cmp_Node, ptr %t16, i32 0, i32 0 %t18 = load i32, ptr %t17 %t19 = icmp eq i32 %t18, 41 %t20 = zext i1 %t19 to i32 %t21 = icmp ne i32 %t20, 0 br i1 %t21, label %then5, label %ifend7 then5: %t22 = load ptr, ptr %t1 %t23 = call ptr @fn_find_comp(ptr %t22) store ptr %t23, ptr %t24 %t25 = load ptr, ptr %t24 %t26 = icmp eq ptr %t25, null %t27 = zext i1 %t26 to i32 %t28 = icmp ne i32 %t27, 0 br i1 %t28, label %then8, label %ifend10 then8: %t29 = load ptr, ptr %t0 store ptr %t29, ptr %retval br label %ret ifend10: %t30 = load ptr, ptr %t0 %t31 = load ptr, ptr %t24 call void @fn_res_type_fields(ptr %t30, ptr %t31) %t32 = call ptr @fn_node(i32 39) store ptr %t32, ptr %t33 %t34 = load ptr, ptr %t33 %t35 = getelementptr inbounds %Cmp_Node, ptr %t34, i32 0, i32 1 %t36 = load ptr, ptr %t1 store ptr %t36, ptr %t35 %t37 = load ptr, ptr %t33 %t38 = getelementptr inbounds %Cmp_Node, ptr %t37, i32 0, i32 4 %t39 = load ptr, ptr %t0 store ptr %t39, ptr %t38 %t40 = load ptr, ptr %t33 %t41 = getelementptr inbounds %Cmp_Node, ptr %t40, i32 0, i32 9 %t42 = load ptr, ptr %t0 %t43 = getelementptr inbounds %Cmp_Node, ptr %t42, i32 0, i32 9 %t44 = load ptr, ptr %t43 store ptr %t44, ptr %t41 %t45 = load ptr, ptr %t33 %t46 = getelementptr inbounds %Cmp_Node, ptr %t45, i32 0, i32 8 %t47 = load ptr, ptr %t0 %t48 = getelementptr inbounds %Cmp_Node, ptr %t47, i32 0, i32 8 %t49 = load i32, ptr %t48 store i32 %t49, ptr %t46 %t50 = load ptr, ptr %t33 store ptr %t50, ptr %retval br label %ret ifend7: %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, 54 %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 %sc11, label %scend12 sc11: %t59 = load ptr, ptr %t1 %t60 = call i32 @fn_is_slice_ty(ptr %t59) %t61 = icmp ne i32 %t60, 0 %t62 = zext i1 %t61 to i32 store i32 %t62, ptr %t51 br label %scend12 scend12: %t63 = load i32, ptr %t51 %t64 = icmp ne i32 %t63, 0 br i1 %t64, label %then13, label %ifend15 then13: %t65 = load ptr, ptr %t0 %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 1 %t69 = load i32, ptr %t68 %t70 = icmp eq i32 %t69, 0 %t71 = zext i1 %t70 to i32 %t72 = icmp ne i32 %t71, 0 br i1 %t72, label %then16, label %ifend18 then16: %t73 = call ptr @fn_node(i32 39) store ptr %t73, ptr %t74 %t75 = load ptr, ptr %t74 %t76 = getelementptr inbounds %Cmp_Node, ptr %t75, i32 0, i32 1 %t77 = load ptr, ptr %t1 store ptr %t77, ptr %t76 %t78 = load ptr, ptr %t74 %t79 = getelementptr inbounds %Cmp_Node, ptr %t78, i32 0, i32 9 %t80 = load ptr, ptr %t0 %t81 = getelementptr inbounds %Cmp_Node, ptr %t80, i32 0, i32 9 %t82 = load ptr, ptr %t81 store ptr %t82, ptr %t79 %t83 = load ptr, ptr %t74 %t84 = getelementptr inbounds %Cmp_Node, ptr %t83, i32 0, i32 8 %t85 = load ptr, ptr %t0 %t86 = getelementptr inbounds %Cmp_Node, ptr %t85, i32 0, i32 8 %t87 = load i32, ptr %t86 store i32 %t87, ptr %t84 %t88 = load ptr, ptr %t74 store ptr %t88, ptr %retval br label %ret ifend18: store i32 0, ptr %t89 br label %wcond19 wcond19: %t90 = load i32, ptr %t89 %t91 = load ptr, ptr %t0 %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 %t90, %t95 %t97 = zext i1 %t96 to i32 %t98 = icmp ne i32 %t97, 0 br i1 %t98, label %wbody20, label %wend21 wbody20: %t99 = load ptr, ptr %t0 %t100 = getelementptr inbounds %Cmp_Node, ptr %t99, i32 0, i32 7 %t101 = load ptr, ptr %t100 %t102 = load i32, ptr %t89 %t103 = getelementptr inbounds %LSlice, ptr %t101, i32 0, i32 0 %t104 = load ptr, ptr %t103 %t105 = getelementptr inbounds %LSlice, ptr %t101, i32 0, i32 1 %t106 = load i32, ptr %t105 %t107 = icmp ult i32 %t102, %t106 br i1 %t107, label %ixok22, label %ixbad23 ixbad23: store i32 2045, ptr @lp_site %t108 = call ptr @lp_win_stdio(i32 2) store i32 0, ptr @lp_site call i32 (ptr, ptr, ...) @fprintf(ptr %t108, ptr @.fmt_bounds, ptr @.str2680, i32 %t102, i32 %t106) call void @exit(i32 1) unreachable ixok22: %t109 = getelementptr inbounds ptr, ptr %t104, i32 %t102 %t110 = load ptr, ptr %t0 %t111 = getelementptr inbounds %Cmp_Node, ptr %t110, i32 0, i32 7 %t112 = load ptr, ptr %t111 %t113 = load i32, ptr %t89 %t114 = getelementptr inbounds %LSlice, ptr %t112, i32 0, i32 0 %t115 = load ptr, ptr %t114 %t116 = getelementptr inbounds %LSlice, ptr %t112, i32 0, i32 1 %t117 = load i32, ptr %t116 %t118 = icmp ult i32 %t113, %t117 br i1 %t118, label %ixok24, label %ixbad25 ixbad25: store i32 2046, ptr @lp_site %t119 = call ptr @lp_win_stdio(i32 2) store i32 0, ptr @lp_site call i32 (ptr, ptr, ...) @fprintf(ptr %t119, ptr @.fmt_bounds, ptr @.str2682, i32 %t113, i32 %t117) call void @exit(i32 1) unreachable ixok24: %t120 = getelementptr inbounds ptr, ptr %t115, i32 %t113 %t121 = load ptr, ptr %t120 %t122 = load ptr, ptr %t1 %t123 = call ptr @fn_slice_elem(ptr %t122) %t124 = call ptr @fn_res_type(ptr %t121, ptr %t123) store ptr %t124, ptr %t109 %t125 = load i32, ptr %t89 %t126 = add i32 %t125, 1 store i32 %t126, ptr %t89 br label %wcond19 wend21: br label %ifend15 ifend15: %t127 = load ptr, ptr %t0 store ptr %t127, ptr %retval br label %ret ret: %t128 = load ptr, ptr %retval ret ptr %t128 } define void @fn_res_type_fields(ptr %arg_rec, ptr %arg_comp) { entry: %t0 = alloca ptr %t1 = alloca ptr %t2 = alloca i32 %t24 = alloca ptr %t30 = alloca i32 store ptr %arg_rec, ptr %t0 store ptr %arg_comp, 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 = load i32, ptr %t2 %t16 = getelementptr inbounds %LSlice, ptr %t14, i32 0, i32 0 %t17 = load ptr, ptr %t16 %t18 = getelementptr inbounds %LSlice, ptr %t14, i32 0, i32 1 %t19 = load i32, ptr %t18 %t20 = icmp ult i32 %t15, %t19 br i1 %t20, label %ixok3, label %ixbad4 ixbad4: store i32 2047, ptr @lp_site %t21 = call ptr @lp_win_stdio(i32 2) store i32 0, ptr @lp_site call i32 (ptr, ptr, ...) @fprintf(ptr %t21, ptr @.fmt_bounds, ptr @.str2683, i32 %t15, i32 %t19) call void @exit(i32 1) unreachable ixok3: %t22 = getelementptr inbounds ptr, ptr %t17, i32 %t15 %t23 = load ptr, ptr %t22 store ptr %t23, ptr %t24 %t25 = load ptr, ptr %t1 %t26 = load ptr, ptr %t24 %t27 = getelementptr inbounds %Cmp_Node, ptr %t26, i32 0, i32 1 %t28 = load ptr, ptr %t27 %t29 = call i32 @fn_field_index(ptr %t25, ptr %t28) store i32 %t29, ptr %t30 %t31 = load i32, ptr %t30 %t32 = icmp sge i32 %t31, 0 %t33 = zext i1 %t32 to i32 %t34 = icmp ne i32 %t33, 0 br i1 %t34, label %then5, label %ifend7 then5: %t35 = load ptr, ptr %t24 %t36 = getelementptr inbounds %Cmp_Node, ptr %t35, i32 0, i32 4 %t37 = load ptr, ptr %t24 %t38 = getelementptr inbounds %Cmp_Node, ptr %t37, i32 0, i32 4 %t39 = load ptr, ptr %t38 %t40 = load ptr, ptr %t1 %t41 = getelementptr inbounds %Cmp_Node, ptr %t40, i32 0, i32 7 %t42 = load ptr, ptr %t41 %t43 = load i32, ptr %t30 %t44 = getelementptr inbounds %LSlice, ptr %t42, i32 0, i32 0 %t45 = load ptr, ptr %t44 %t46 = getelementptr inbounds %LSlice, ptr %t42, i32 0, i32 1 %t47 = load i32, ptr %t46 %t48 = icmp ult i32 %t43, %t47 br i1 %t48, label %ixok8, label %ixbad9 ixbad9: store i32 2048, ptr @lp_site %t49 = call ptr @lp_win_stdio(i32 2) store i32 0, ptr @lp_site call i32 (ptr, ptr, ...) @fprintf(ptr %t49, ptr @.fmt_bounds, ptr @.str2685, i32 %t43, i32 %t47) call void @exit(i32 1) unreachable ixok8: %t50 = getelementptr inbounds ptr, ptr %t45, i32 %t43 %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_res_type(ptr %t39, ptr %t53) store ptr %t54, ptr %t36 br label %ifend7 ifend7: %t55 = load i32, ptr %t2 %t56 = add i32 %t55, 1 store i32 %t56, ptr %t2 br label %wcond0 wend2: br label %ret ret: ret void } define void @fn_pm_parse_chunked() { entry: %t1 = alloca ptr %t2 = alloca i32 call void @fn_eat_op(ptr @.str2686) %t0 = call ptr @fn_expr() store ptr %t0, ptr %t1 call void @fn_eat_op(ptr @.str2687) %t3 = load ptr, ptr %t1 %t4 = getelementptr inbounds %Cmp_Node, ptr %t3, i32 0, i32 0 %t5 = load i32, ptr %t4 %t6 = icmp ne i32 %t5, 30 %t7 = zext i1 %t6 to i32 %t8 = icmp ne i32 %t7, 0 %t9 = zext i1 %t8 to i32 store i32 %t9, ptr %t2 br i1 %t8, label %scend1, label %sc0 sc0: %t10 = load ptr, ptr %t1 %t11 = getelementptr inbounds %Cmp_Node, ptr %t10, i32 0, i32 2 %t12 = load i32, ptr %t11 %t13 = icmp sle i32 %t12, 0 %t14 = zext i1 %t13 to i32 %t15 = icmp ne i32 %t14, 0 %t16 = zext i1 %t15 to i32 store i32 %t16, ptr %t2 br label %scend1 scend1: %t17 = load i32, ptr %t2 %t18 = icmp ne i32 %t17, 0 br i1 %t18, label %then2, label %ifend4 then2: call void @fn_perr(ptr @.str2688) br label %ifend4 ifend4: %t19 = load ptr, ptr %t1 %t20 = getelementptr inbounds %Cmp_Node, ptr %t19, i32 0, i32 2 %t21 = load i32, ptr %t20 store i32 %t21, ptr @g_g_pm_chunk_pending %t22 = load ptr, ptr %t1 %t23 = getelementptr inbounds %Cmp_Node, ptr %t22, i32 0, i32 2 %t24 = load i32, ptr %t23 %t25 = call ptr @fn_itoa(i32 %t24) store i32 2049, ptr @lp_site %t26 = call ptr @lp_str_concat(ptr @.str2690, ptr %t25) store i32 0, ptr @lp_site store i32 2050, ptr @lp_site %t27 = call ptr @lp_str_concat(ptr %t26, ptr @.str2692) store i32 0, ptr @lp_site call void @lp_free(ptr %t26) call void @fn_at_decl_with(ptr @.str2689, ptr %t27) br label %ret ret: ret void } define void @fn_pm_declared(i32 %arg_pm, i32 %arg_chunk, ptr %arg_name) { entry: %t0 = alloca i32 %t1 = alloca i32 %t2 = alloca ptr %t43 = alloca i32 store i32 %arg_pm, ptr %t0 store i32 %arg_chunk, ptr %t1 store ptr %arg_name, ptr %t2 %t3 = load ptr, ptr @g_g_rg_permap %t4 = load i32, ptr %t0 %t5 = getelementptr inbounds %LSlice, ptr %t3, i32 0, i32 1 %t6 = getelementptr inbounds %LSlice, ptr %t3, i32 0, i32 2 %t7 = getelementptr inbounds %LSlice, ptr %t3, i32 0, i32 0 %t8 = load i32, ptr %t5 %t9 = load i32, ptr %t6 %t10 = icmp sge i32 %t8, %t9 br i1 %t10, label %grow0, label %put1 grow0: %t11 = mul i32 %t9, 2 %t12 = icmp eq i32 %t9, 0 %t13 = select i1 %t12, i32 8, i32 %t11 %t14 = getelementptr i32, ptr null, i32 1 %t15 = ptrtoint ptr %t14 to i64 %t16 = zext i32 %t13 to i64 %t17 = mul i64 %t16, %t15 %t18 = load ptr, ptr %t7 store i32 2051, ptr @lp_site %t19 = call ptr @lp_realloc(ptr %t18, i64 %t17) store i32 0, ptr @lp_site store ptr %t19, ptr %t7 store i32 %t13, ptr %t6 br label %put1 put1: %t20 = load ptr, ptr %t7 %t21 = getelementptr inbounds i32, ptr %t20, i32 %t8 store i32 %t4, ptr %t21 %t22 = add i32 %t8, 1 store i32 %t22, ptr %t5 %t23 = load ptr, ptr @g_g_rg_chunk %t24 = load i32, ptr %t1 %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 %grow2, label %put3 grow2: %t31 = mul i32 %t29, 2 %t32 = icmp eq i32 %t29, 0 %t33 = select i1 %t32, i32 8, i32 %t31 %t34 = getelementptr i32, 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 store i32 2052, ptr @lp_site %t39 = call ptr @lp_realloc(ptr %t38, i64 %t37) store i32 0, ptr @lp_site store ptr %t39, ptr %t27 store i32 %t33, ptr %t26 br label %put3 put3: %t40 = load ptr, ptr %t27 %t41 = getelementptr inbounds i32, ptr %t40, i32 %t28 store i32 %t24, ptr %t41 %t42 = add i32 %t28, 1 store i32 %t42, ptr %t25 %t44 = load i32, ptr %t1 %t45 = icmp sgt i32 %t44, 0 %t46 = zext i1 %t45 to i32 %t47 = icmp ne i32 %t46, 0 %t48 = zext i1 %t47 to i32 store i32 %t48, ptr %t43 br i1 %t47, label %sc4, label %scend5 sc4: %t49 = load i32, ptr %t0 %t50 = icmp eq i32 %t49, 0 %t51 = zext i1 %t50 to i32 %t52 = icmp ne i32 %t51, 0 %t53 = zext i1 %t52 to i32 store i32 %t53, ptr %t43 br label %scend5 scend5: %t54 = load i32, ptr %t43 %t55 = icmp ne i32 %t54, 0 br i1 %t55, label %then6, label %ifend8 then6: %t56 = load ptr, ptr %t2 store i32 2053, ptr @lp_site %t57 = call ptr @lp_str_concat(ptr @.str2694, ptr %t56) store i32 0, ptr @lp_site store i32 2054, ptr @lp_site %t58 = call ptr @lp_str_concat(ptr %t57, ptr @.str2695) store i32 0, ptr @lp_site call void @lp_free(ptr %t57) %t59 = load i32, ptr %t1 %t60 = call ptr @fn_itoa(i32 %t59) store i32 2055, ptr @lp_site %t61 = call ptr @lp_str_concat(ptr %t58, ptr %t60) store i32 0, ptr @lp_site call void @lp_free(ptr %t58) store i32 2056, ptr @lp_site %t62 = call ptr @lp_str_concat(ptr %t61, ptr @.str2696) store i32 0, ptr @lp_site call void @lp_free(ptr %t61) %t63 = load ptr, ptr %t2 store i32 2057, ptr @lp_site %t64 = call ptr @lp_str_concat(ptr %t62, ptr %t63) store i32 0, ptr @lp_site call void @lp_free(ptr %t62) store i32 2058, ptr @lp_site %t65 = call ptr @lp_str_concat(ptr %t64, ptr @.str2697) store i32 0, ptr @lp_site call void @lp_free(ptr %t64) call void @fn_perr(ptr %t65) br label %ifend8 ifend8: br label %ret ret: ret void } define i32 @fn_pm_is(i32 %arg_r) { entry: %retval = alloca i32 %t0 = alloca i32 %t1 = alloca i32 %t2 = alloca i32 store i32 %arg_r, ptr %t0 %t3 = load i32, ptr %t0 %t4 = icmp sge i32 %t3, 0 %t5 = zext i1 %t4 to i32 %t6 = icmp ne i32 %t5, 0 %t7 = zext i1 %t6 to i32 store i32 %t7, ptr %t2 br i1 %t6, label %sc0, label %scend1 sc0: %t8 = load i32, ptr %t0 %t9 = load ptr, ptr @g_g_rg_permap %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 %t15 = zext i1 %t14 to i32 store i32 %t15, ptr %t2 br label %scend1 scend1: %t16 = load i32, ptr %t2 %t17 = icmp ne i32 %t16, 0 %t18 = zext i1 %t17 to i32 store i32 %t18, ptr %t1 br i1 %t17, label %sc2, label %scend3 sc2: %t19 = load ptr, ptr @g_g_rg_permap %t20 = load i32, ptr %t0 %t21 = getelementptr inbounds %LSlice, ptr %t19, i32 0, i32 0 %t22 = load ptr, ptr %t21 %t23 = getelementptr inbounds %LSlice, ptr %t19, i32 0, i32 1 %t24 = load i32, ptr %t23 %t25 = icmp ult i32 %t20, %t24 br i1 %t25, label %ixok4, label %ixbad5 ixbad5: store i32 2059, ptr @lp_site %t26 = call ptr @lp_win_stdio(i32 2) store i32 0, ptr @lp_site call i32 (ptr, ptr, ...) @fprintf(ptr %t26, ptr @.fmt_bounds, ptr @.str2698, i32 %t20, i32 %t24) call void @exit(i32 1) unreachable ixok4: %t27 = getelementptr inbounds i32, ptr %t22, i32 %t20 %t28 = load i32, ptr %t27 %t29 = icmp ne i32 %t28, 0 %t30 = zext i1 %t29 to i32 store i32 %t30, ptr %t1 br label %scend3 scend3: %t31 = load i32, ptr %t1 store i32 %t31, ptr %retval br label %ret ret: %t32 = load i32, ptr %retval ret i32 %t32 } define i32 @fn_pm_named(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_reg_find(ptr %t1) %t3 = call i32 @fn_pm_is(i32 %t2) store i32 %t3, ptr %retval br label %ret ret: %t4 = load i32, ptr %retval ret i32 %t4 } define ptr @fn_pm_snake(ptr %arg_s) { entry: %retval = alloca ptr %t0 = alloca ptr %t2 = alloca ptr %t6 = alloca i32 %t7 = alloca i32 %t18 = alloca i32 %t19 = alloca i32 %t31 = alloca i32 %t32 = alloca i32 %t49 = alloca i32 %t50 = alloca i32 %t51 = alloca i32 %t65 = alloca i32 %t80 = alloca i32 %t81 = alloca i32 %t88 = alloca i32 %t110 = alloca i32 %t122 = alloca i32 %t123 = alloca i32 %t127 = alloca i32 store ptr %arg_s, ptr %t0 %t1 = call ptr @fn_buf_new() store ptr %t1, ptr %t2 %t3 = load ptr, ptr %t0 %t4 = call i64 @strlen(ptr %t3) %t5 = trunc i64 %t4 to i32 store i32 %t5, ptr %t6 store i32 0, ptr %t7 br label %wcond0 wcond0: %t8 = load i32, ptr %t7 %t9 = load i32, ptr %t6 %t10 = icmp slt i32 %t8, %t9 %t11 = zext i1 %t10 to i32 %t12 = icmp ne i32 %t11, 0 br i1 %t12, label %wbody1, label %wend2 wbody1: %t13 = load ptr, ptr %t0 %t14 = load i32, ptr %t7 %t15 = getelementptr inbounds i8, ptr %t13, i32 %t14 %t16 = load i8, ptr %t15 %t17 = zext i8 %t16 to i32 store i32 %t17, ptr %t18 %t20 = load i32, ptr %t18 %t21 = icmp sge i32 %t20, 65 %t22 = zext i1 %t21 to i32 %t23 = icmp ne i32 %t22, 0 %t24 = zext i1 %t23 to i32 store i32 %t24, ptr %t19 br i1 %t23, label %sc3, label %scend4 sc3: %t25 = load i32, ptr %t18 %t26 = icmp sle i32 %t25, 90 %t27 = zext i1 %t26 to i32 %t28 = icmp ne i32 %t27, 0 %t29 = zext i1 %t28 to i32 store i32 %t29, ptr %t19 br label %scend4 scend4: %t30 = load i32, ptr %t19 store i32 %t30, ptr %t31 %t33 = load i32, ptr %t31 %t34 = icmp ne i32 %t33, 0 %t35 = zext i1 %t34 to i32 store i32 %t35, ptr %t32 br i1 %t34, label %sc5, label %scend6 sc5: %t36 = load i32, ptr %t7 %t37 = icmp sgt i32 %t36, 0 %t38 = zext i1 %t37 to i32 %t39 = icmp ne i32 %t38, 0 %t40 = zext i1 %t39 to i32 store i32 %t40, ptr %t32 br label %scend6 scend6: %t41 = load i32, ptr %t32 %t42 = icmp ne i32 %t41, 0 br i1 %t42, label %then7, label %ifend9 then7: %t43 = load ptr, ptr %t0 %t44 = load i32, ptr %t7 %t45 = sub i32 %t44, 1 %t46 = getelementptr inbounds i8, ptr %t43, i32 %t45 %t47 = load i8, ptr %t46 %t48 = zext i8 %t47 to i32 store i32 %t48, ptr %t49 %t52 = load i32, ptr %t49 %t53 = icmp sge i32 %t52, 97 %t54 = zext i1 %t53 to i32 %t55 = icmp ne i32 %t54, 0 %t56 = zext i1 %t55 to i32 store i32 %t56, ptr %t51 br i1 %t55, label %sc10, label %scend11 sc10: %t57 = load i32, ptr %t49 %t58 = icmp sle i32 %t57, 122 %t59 = zext i1 %t58 to i32 %t60 = icmp ne i32 %t59, 0 %t61 = zext i1 %t60 to i32 store i32 %t61, ptr %t51 br label %scend11 scend11: %t62 = load i32, ptr %t51 %t63 = icmp ne i32 %t62, 0 %t64 = zext i1 %t63 to i32 store i32 %t64, ptr %t50 br i1 %t63, label %scend13, label %sc12 sc12: %t66 = load i32, ptr %t49 %t67 = icmp sge i32 %t66, 48 %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 %sc14, label %scend15 sc14: %t71 = load i32, ptr %t49 %t72 = icmp sle i32 %t71, 57 %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 %scend15 scend15: %t76 = load i32, ptr %t65 %t77 = icmp ne i32 %t76, 0 %t78 = zext i1 %t77 to i32 store i32 %t78, ptr %t50 br label %scend13 scend13: %t79 = load i32, ptr %t50 store i32 %t79, ptr %t80 store i32 0, ptr %t81 %t82 = load i32, ptr %t7 %t83 = add i32 %t82, 1 %t84 = load i32, ptr %t6 %t85 = icmp slt i32 %t83, %t84 %t86 = zext i1 %t85 to i32 %t87 = icmp ne i32 %t86, 0 br i1 %t87, label %then16, label %ifend18 then16: %t89 = load ptr, ptr %t0 %t90 = load i32, ptr %t7 %t91 = add i32 %t90, 1 %t92 = getelementptr inbounds i8, ptr %t89, i32 %t91 %t93 = load i8, ptr %t92 %t94 = zext i8 %t93 to i32 %t95 = icmp sge i32 %t94, 97 %t96 = zext i1 %t95 to i32 %t97 = icmp ne i32 %t96, 0 %t98 = zext i1 %t97 to i32 store i32 %t98, ptr %t88 br i1 %t97, label %sc19, label %scend20 sc19: %t99 = load ptr, ptr %t0 %t100 = load i32, ptr %t7 %t101 = add i32 %t100, 1 %t102 = getelementptr inbounds i8, ptr %t99, i32 %t101 %t103 = load i8, ptr %t102 %t104 = zext i8 %t103 to i32 %t105 = icmp sle i32 %t104, 122 %t106 = zext i1 %t105 to i32 %t107 = icmp ne i32 %t106, 0 %t108 = zext i1 %t107 to i32 store i32 %t108, ptr %t88 br label %scend20 scend20: %t109 = load i32, ptr %t88 store i32 %t109, ptr %t81 br label %ifend18 ifend18: %t111 = load i32, ptr %t49 %t112 = icmp sge i32 %t111, 65 %t113 = zext i1 %t112 to i32 %t114 = icmp ne i32 %t113, 0 %t115 = zext i1 %t114 to i32 store i32 %t115, ptr %t110 br i1 %t114, label %sc21, label %scend22 sc21: %t116 = load i32, ptr %t49 %t117 = icmp sle i32 %t116, 90 %t118 = zext i1 %t117 to i32 %t119 = icmp ne i32 %t118, 0 %t120 = zext i1 %t119 to i32 store i32 %t120, ptr %t110 br label %scend22 scend22: %t121 = load i32, ptr %t110 store i32 %t121, ptr %t122 %t124 = load i32, ptr %t80 %t125 = icmp ne i32 %t124, 0 %t126 = zext i1 %t125 to i32 store i32 %t126, ptr %t123 br i1 %t125, label %scend24, label %sc23 sc23: %t128 = load i32, ptr %t122 %t129 = icmp ne i32 %t128, 0 %t130 = zext i1 %t129 to i32 store i32 %t130, ptr %t127 br i1 %t129, label %sc25, label %scend26 sc25: %t131 = load i32, ptr %t81 %t132 = icmp ne i32 %t131, 0 %t133 = zext i1 %t132 to i32 store i32 %t133, ptr %t127 br label %scend26 scend26: %t134 = load i32, ptr %t127 %t135 = icmp ne i32 %t134, 0 %t136 = zext i1 %t135 to i32 store i32 %t136, ptr %t123 br label %scend24 scend24: %t137 = load i32, ptr %t123 %t138 = icmp ne i32 %t137, 0 br i1 %t138, label %then27, label %ifend29 then27: %t139 = load ptr, ptr %t2 call void @fn_buf_putc(ptr %t139, i32 95) br label %ifend29 ifend29: br label %ifend9 ifend9: %t140 = load i32, ptr %t31 %t141 = icmp ne i32 %t140, 0 br i1 %t141, label %then30, label %else31 then30: %t142 = load ptr, ptr %t2 %t143 = load i32, ptr %t18 %t144 = add i32 %t143, 32 call void @fn_buf_putc(ptr %t142, i32 %t144) br label %ifend32 else31: %t145 = load ptr, ptr %t2 %t146 = load i32, ptr %t18 call void @fn_buf_putc(ptr %t145, i32 %t146) br label %ifend32 ifend32: %t147 = load i32, ptr %t7 %t148 = add i32 %t147, 1 store i32 %t148, ptr %t7 br label %wcond0 wend2: %t149 = load ptr, ptr %t2 %t150 = call ptr @fn_buf_str(ptr %t149) store ptr %t150, ptr %retval br label %ret ret: %t151 = load ptr, ptr %retval ret ptr %t151 } define void @fn_pm_manifest(ptr %arg_entry) { entry: %t0 = alloca ptr %t3 = alloca ptr %t4 = alloca i32 %t10 = alloca ptr %t11 = alloca i32 %t39 = alloca ptr store ptr %arg_entry, ptr %t0 %t1 = load ptr, ptr %t0 %t2 = call ptr @fn_dir_of(ptr %t1) store ptr %t2, ptr %t3 store i32 0, ptr %t4 br label %wcond0 wcond0: %t5 = load i32, ptr %t4 %t6 = icmp slt i32 %t5, 5 %t7 = zext i1 %t6 to i32 %t8 = icmp ne i32 %t7, 0 br i1 %t8, label %wbody1, label %wend2 wbody1: %t9 = load ptr, ptr %t3 store ptr %t9, ptr %t10 %t12 = load ptr, ptr %t10 %t13 = call i64 @strlen(ptr %t12) %t14 = trunc i64 %t13 to i32 %t15 = icmp sgt i32 %t14, 0 %t16 = zext i1 %t15 to i32 %t17 = icmp ne i32 %t16, 0 %t18 = zext i1 %t17 to i32 store i32 %t18, ptr %t11 br i1 %t17, label %sc3, label %scend4 sc3: %t19 = load ptr, ptr %t10 %t20 = load ptr, ptr %t10 %t21 = call i64 @strlen(ptr %t20) %t22 = trunc i64 %t21 to i32 %t23 = sub i32 %t22, 1 %t24 = getelementptr inbounds i8, ptr %t19, i32 %t23 %t25 = load i8, ptr %t24 %t26 = zext i8 %t25 to i32 %t27 = call i32 @fn_is_sep(i32 %t26) %t28 = icmp eq i32 %t27, 0 %t29 = zext i1 %t28 to i32 %t30 = icmp ne i32 %t29, 0 %t31 = zext i1 %t30 to i32 store i32 %t31, ptr %t11 br label %scend4 scend4: %t32 = load i32, ptr %t11 %t33 = icmp ne i32 %t32, 0 br i1 %t33, label %then5, label %ifend7 then5: %t34 = load ptr, ptr %t10 store i32 2060, ptr @lp_site %t35 = call ptr @lp_str_concat(ptr %t34, ptr @.str2700) store i32 0, ptr @lp_site store ptr %t35, ptr %t10 br label %ifend7 ifend7: %t36 = load ptr, ptr %t10 store i32 2061, ptr @lp_site %t37 = call ptr @lp_str_concat(ptr %t36, ptr @.str2702) store i32 0, ptr @lp_site %t38 = call ptr @fn_read_file(ptr %t37) store ptr %t38, ptr %t39 %t40 = load ptr, ptr %t39 %t41 = icmp ne ptr %t40, null %t42 = zext i1 %t41 to i32 %t43 = icmp ne i32 %t42, 0 br i1 %t43, label %then8, label %ifend10 then8: %t44 = load ptr, ptr %t10 %t45 = call ptr @fn_join_path(ptr %t44, ptr @.str2703) %t46 = call ptr @fn_pm_norm(ptr %t45) store ptr %t46, ptr @g_g_pm_root %t47 = load ptr, ptr %t39 %t48 = load ptr, ptr %t10 call void @fn_pm_manifest_read(ptr %t47, ptr %t48) br label %ret ifend10: %t49 = load ptr, ptr %t3 %t50 = call i64 @strlen(ptr %t49) %t51 = trunc i64 %t50 to i32 %t52 = icmp eq i32 %t51, 0 %t53 = zext i1 %t52 to i32 %t54 = icmp ne i32 %t53, 0 br i1 %t54, label %then11, label %else12 then11: store ptr @.str2704, ptr %t3 br label %ifend13 else12: %t55 = load ptr, ptr %t3 store i32 2062, ptr @lp_site %t56 = call ptr @lp_str_concat(ptr %t55, ptr @.str2705) store i32 0, ptr @lp_site store ptr %t56, ptr %t3 br label %ifend13 ifend13: %t57 = load i32, ptr %t4 %t58 = add i32 %t57, 1 store i32 %t58, ptr %t4 br label %wcond0 wend2: br label %ret ret: ret void } define void @fn_pm_manifest_read(ptr %arg_txt, ptr %arg_root) { entry: %t0 = alloca ptr %t1 = alloca ptr %t2 = alloca i32 %t6 = alloca i32 %t13 = alloca i32 %t14 = alloca i32 %t35 = alloca i32 %t36 = alloca i32 %t62 = alloca ptr %t63 = alloca i32 store ptr %arg_txt, ptr %t0 store ptr %arg_root, ptr %t1 store i32 0, ptr %t2 %t3 = load ptr, ptr %t0 %t4 = call i64 @strlen(ptr %t3) %t5 = trunc i64 %t4 to i32 store i32 %t5, ptr %t6 br label %wcond0 wcond0: %t7 = load i32, ptr %t2 %t8 = load i32, ptr %t6 %t9 = icmp slt i32 %t7, %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 %t2 store i32 %t12, ptr %t13 br label %wcond3 wcond3: %t15 = load i32, ptr %t13 %t16 = load i32, ptr %t6 %t17 = icmp slt i32 %t15, %t16 %t18 = zext i1 %t17 to i32 %t19 = icmp ne i32 %t18, 0 %t20 = zext i1 %t19 to i32 store i32 %t20, ptr %t14 br i1 %t19, label %sc6, label %scend7 sc6: %t21 = load ptr, ptr %t0 %t22 = load i32, ptr %t13 %t23 = getelementptr inbounds i8, ptr %t21, i32 %t22 %t24 = load i8, ptr %t23 %t25 = zext i8 %t24 to i32 %t26 = icmp ne i32 %t25, 10 %t27 = zext i1 %t26 to i32 %t28 = icmp ne i32 %t27, 0 %t29 = zext i1 %t28 to i32 store i32 %t29, ptr %t14 br label %scend7 scend7: %t30 = load i32, ptr %t14 %t31 = icmp ne i32 %t30, 0 br i1 %t31, label %wbody4, label %wend5 wbody4: %t32 = load i32, ptr %t13 %t33 = add i32 %t32, 1 store i32 %t33, ptr %t13 br label %wcond3 wend5: %t34 = load i32, ptr %t13 store i32 %t34, ptr %t35 %t37 = load i32, ptr %t35 %t38 = load i32, ptr %t2 %t39 = icmp sgt i32 %t37, %t38 %t40 = zext i1 %t39 to i32 %t41 = icmp ne i32 %t40, 0 %t42 = zext i1 %t41 to i32 store i32 %t42, ptr %t36 br i1 %t41, label %sc8, label %scend9 sc8: %t43 = load ptr, ptr %t0 %t44 = load i32, ptr %t35 %t45 = sub i32 %t44, 1 %t46 = getelementptr inbounds i8, ptr %t43, i32 %t45 %t47 = load i8, ptr %t46 %t48 = zext i8 %t47 to i32 %t49 = icmp eq i32 %t48, 13 %t50 = zext i1 %t49 to i32 %t51 = icmp ne i32 %t50, 0 %t52 = zext i1 %t51 to i32 store i32 %t52, ptr %t36 br label %scend9 scend9: %t53 = load i32, ptr %t36 %t54 = icmp ne i32 %t53, 0 br i1 %t54, label %then10, label %ifend12 then10: %t55 = load i32, ptr %t35 %t56 = sub i32 %t55, 1 store i32 %t56, ptr %t35 br label %ifend12 ifend12: %t57 = load ptr, ptr %t0 %t58 = load i32, ptr %t2 %t59 = load i32, ptr %t35 store i32 2063, ptr @lp_site %t60 = call ptr @lp_str_slice(ptr %t57, i32 %t58, i32 %t59) store i32 0, ptr @lp_site %t61 = call ptr @fn_native_words(ptr %t60) store ptr %t61, ptr %t62 %t64 = load ptr, ptr %t62 %t65 = getelementptr inbounds %LSlice, ptr %t64, i32 0, i32 1 %t66 = load i32, ptr %t65 %t67 = icmp eq i32 %t66, 2 %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 %t62 %t72 = getelementptr inbounds %LSlice, ptr %t71, i32 0, i32 0 %t73 = load ptr, ptr %t72 %t74 = getelementptr inbounds %LSlice, ptr %t71, i32 0, i32 1 %t75 = load i32, ptr %t74 %t76 = icmp ult i32 0, %t75 br i1 %t76, label %ixok15, label %ixbad16 ixbad16: store i32 2064, ptr @lp_site %t77 = call ptr @lp_win_stdio(i32 2) store i32 0, ptr @lp_site call i32 (ptr, ptr, ...) @fprintf(ptr %t77, ptr @.fmt_bounds, ptr @.str2707, i32 0, i32 %t75) call void @exit(i32 1) unreachable ixok15: %t78 = getelementptr inbounds ptr, ptr %t73, i32 0 %t79 = load ptr, ptr %t78 %t80 = call i32 @lp_str_eq(ptr %t79, ptr @.str2708) %t81 = icmp ne i32 %t80, 0 %t82 = zext i1 %t81 to i32 store i32 %t82, ptr %t63 br label %scend14 scend14: %t83 = load i32, ptr %t63 %t84 = icmp ne i32 %t83, 0 br i1 %t84, label %then17, label %ifend19 then17: %t85 = load ptr, ptr %t1 %t86 = load ptr, ptr %t62 %t87 = getelementptr inbounds %LSlice, ptr %t86, i32 0, i32 0 %t88 = load ptr, ptr %t87 %t89 = getelementptr inbounds %LSlice, ptr %t86, i32 0, i32 1 %t90 = load i32, ptr %t89 %t91 = icmp ult i32 1, %t90 br i1 %t91, label %ixok20, label %ixbad21 ixbad21: store i32 2065, ptr @lp_site %t92 = call ptr @lp_win_stdio(i32 2) store i32 0, ptr @lp_site call i32 (ptr, ptr, ...) @fprintf(ptr %t92, ptr @.fmt_bounds, ptr @.str2709, i32 1, i32 %t90) call void @exit(i32 1) unreachable ixok20: %t93 = getelementptr inbounds ptr, ptr %t88, i32 1 %t94 = load ptr, ptr %t93 %t95 = call ptr @fn_pm_trim_slash(ptr %t94) %t96 = call ptr @fn_join_path(ptr %t85, ptr %t95) %t97 = call ptr @fn_pm_norm(ptr %t96) store ptr %t97, ptr @g_g_pm_root br label %ifend19 ifend19: %t98 = load i32, ptr %t13 %t99 = add i32 %t98, 1 store i32 %t99, ptr %t2 br label %wcond0 wend2: br label %ret ret: ret void } define ptr @fn_pm_norm(ptr %arg_p) { entry: %retval = alloca ptr %t0 = alloca ptr %t7 = alloca ptr %t8 = alloca i32 %t24 = alloca i32 %t25 = alloca i32 %t29 = alloca i32 %t36 = alloca i32 %t37 = alloca i32 %t62 = alloca ptr %t63 = alloca i32 %t77 = alloca i32 %t78 = alloca i32 %t121 = alloca ptr %t144 = alloca ptr %t147 = alloca i32 store ptr %arg_p, ptr %t0 %t1 = getelementptr %LSlice, ptr null, i32 1 %t2 = ptrtoint ptr %t1 to i64 store i32 2066, ptr @lp_site %t3 = call ptr @lp_malloc(i64 %t2) store i32 0, ptr @lp_site %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 %t9 = load ptr, ptr %t0 %t10 = call i64 @strlen(ptr %t9) %t11 = trunc i64 %t10 to i32 %t12 = icmp sgt 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 %t0 %t17 = getelementptr inbounds i8, ptr %t16, i32 0 %t18 = load i8, ptr %t17 %t19 = zext i8 %t18 to i32 %t20 = call i32 @fn_is_sep(i32 %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 %t24 store i32 0, ptr %t25 %t26 = load ptr, ptr %t0 %t27 = call i64 @strlen(ptr %t26) %t28 = trunc i64 %t27 to i32 store i32 %t28, ptr %t29 br label %wcond2 wcond2: %t30 = load i32, ptr %t25 %t31 = load i32, ptr %t29 %t32 = icmp sle i32 %t30, %t31 %t33 = zext i1 %t32 to i32 %t34 = icmp ne i32 %t33, 0 br i1 %t34, label %wbody3, label %wend4 wbody3: %t35 = load i32, ptr %t25 store i32 %t35, ptr %t36 br label %wcond5 wcond5: %t38 = load i32, ptr %t36 %t39 = load i32, ptr %t29 %t40 = icmp slt i32 %t38, %t39 %t41 = zext i1 %t40 to i32 %t42 = icmp ne i32 %t41, 0 %t43 = zext i1 %t42 to i32 store i32 %t43, ptr %t37 br i1 %t42, label %sc8, label %scend9 sc8: %t44 = load ptr, ptr %t0 %t45 = load i32, ptr %t36 %t46 = getelementptr inbounds i8, ptr %t44, i32 %t45 %t47 = load i8, ptr %t46 %t48 = zext i8 %t47 to i32 %t49 = call i32 @fn_is_sep(i32 %t48) %t50 = icmp eq i32 %t49, 0 %t51 = zext i1 %t50 to i32 %t52 = icmp ne i32 %t51, 0 %t53 = zext i1 %t52 to i32 store i32 %t53, ptr %t37 br label %scend9 scend9: %t54 = load i32, ptr %t37 %t55 = icmp ne i32 %t54, 0 br i1 %t55, label %wbody6, label %wend7 wbody6: %t56 = load i32, ptr %t36 %t57 = add i32 %t56, 1 store i32 %t57, ptr %t36 br label %wcond5 wend7: %t58 = load ptr, ptr %t0 %t59 = load i32, ptr %t25 %t60 = load i32, ptr %t36 store i32 2067, ptr @lp_site %t61 = call ptr @lp_str_slice(ptr %t58, i32 %t59, i32 %t60) store i32 0, ptr @lp_site store ptr %t61, ptr %t62 %t64 = load ptr, ptr %t62 %t65 = call i64 @strlen(ptr %t64) %t66 = trunc i64 %t65 to i32 %t67 = icmp eq 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 %t63 br i1 %t69, label %scend11, label %sc10 sc10: %t71 = load ptr, ptr %t62 %t72 = call i32 @lp_str_eq(ptr %t71, ptr @.str2711) %t73 = icmp ne i32 %t72, 0 %t74 = zext i1 %t73 to i32 store i32 %t74, ptr %t63 br label %scend11 scend11: %t75 = load i32, ptr %t63 %t76 = icmp ne i32 %t75, 0 br i1 %t76, label %then12, label %else13 then12: br label %ifend14 else13: %t79 = load ptr, ptr %t62 %t80 = call i32 @lp_str_eq(ptr %t79, ptr @.str2712) %t81 = icmp ne i32 %t80, 0 %t82 = zext i1 %t81 to i32 store i32 %t82, ptr %t78 br i1 %t81, label %sc15, label %scend16 sc15: %t83 = load ptr, ptr %t7 %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 %t89 = zext i1 %t88 to i32 store i32 %t89, ptr %t78 br label %scend16 scend16: %t90 = load i32, ptr %t78 %t91 = icmp ne i32 %t90, 0 %t92 = zext i1 %t91 to i32 store i32 %t92, ptr %t77 br i1 %t91, label %sc17, label %scend18 sc17: %t93 = load ptr, ptr %t7 %t94 = load ptr, ptr %t7 %t95 = getelementptr inbounds %LSlice, ptr %t94, i32 0, i32 1 %t96 = load i32, ptr %t95 %t97 = sub i32 %t96, 1 %t98 = getelementptr inbounds %LSlice, ptr %t93, i32 0, i32 0 %t99 = load ptr, ptr %t98 %t100 = getelementptr inbounds %LSlice, ptr %t93, i32 0, i32 1 %t101 = load i32, ptr %t100 %t102 = icmp ult i32 %t97, %t101 br i1 %t102, label %ixok19, label %ixbad20 ixbad20: store i32 2068, ptr @lp_site %t103 = call ptr @lp_win_stdio(i32 2) store i32 0, ptr @lp_site call i32 (ptr, ptr, ...) @fprintf(ptr %t103, ptr @.fmt_bounds, ptr @.str2713, i32 %t97, i32 %t101) call void @exit(i32 1) unreachable ixok19: %t104 = getelementptr inbounds ptr, ptr %t99, i32 %t97 %t105 = load ptr, ptr %t104 %t106 = call i32 @lp_str_eq(ptr %t105, ptr @.str2714) %t107 = icmp eq i32 %t106, 0 %t108 = zext i1 %t107 to i32 %t109 = icmp ne i32 %t108, 0 %t110 = zext i1 %t109 to i32 store i32 %t110, ptr %t77 br label %scend18 scend18: %t111 = load i32, ptr %t77 %t112 = icmp ne i32 %t111, 0 br i1 %t112, label %then21, label %else22 then21: %t113 = load ptr, ptr %t7 %t114 = getelementptr inbounds %LSlice, ptr %t113, i32 0, i32 1 %t115 = load i32, ptr %t114 %t116 = sub i32 %t115, 1 %t117 = getelementptr inbounds %LSlice, ptr %t113, i32 0, i32 0 %t118 = load ptr, ptr %t117 %t119 = getelementptr inbounds ptr, ptr %t118, i32 %t116 %t120 = load ptr, ptr %t119 store i32 %t116, ptr %t114 store ptr %t120, ptr %t121 br label %ifend23 else22: %t122 = load ptr, ptr %t7 %t123 = load ptr, ptr %t62 %t124 = getelementptr inbounds %LSlice, ptr %t122, i32 0, i32 1 %t125 = getelementptr inbounds %LSlice, ptr %t122, i32 0, i32 2 %t126 = getelementptr inbounds %LSlice, ptr %t122, i32 0, i32 0 %t127 = load i32, ptr %t124 %t128 = load i32, ptr %t125 %t129 = icmp sge i32 %t127, %t128 br i1 %t129, label %grow24, label %put25 grow24: %t130 = mul i32 %t128, 2 %t131 = icmp eq i32 %t128, 0 %t132 = select i1 %t131, i32 8, i32 %t130 %t133 = getelementptr ptr, ptr null, i32 1 %t134 = ptrtoint ptr %t133 to i64 %t135 = zext i32 %t132 to i64 %t136 = mul i64 %t135, %t134 %t137 = load ptr, ptr %t126 store i32 2069, ptr @lp_site %t138 = call ptr @lp_realloc(ptr %t137, i64 %t136) store i32 0, ptr @lp_site store ptr %t138, ptr %t126 store i32 %t132, ptr %t125 br label %put25 put25: %t139 = load ptr, ptr %t126 %t140 = getelementptr inbounds ptr, ptr %t139, i32 %t127 store ptr %t123, ptr %t140 %t141 = add i32 %t127, 1 store i32 %t141, ptr %t124 br label %ifend23 ifend23: br label %ifend14 ifend14: %t142 = load i32, ptr %t36 %t143 = add i32 %t142, 1 store i32 %t143, ptr %t25 br label %wcond2 wend4: store ptr @.str2715, ptr %t144 %t145 = load i32, ptr %t24 %t146 = icmp ne i32 %t145, 0 br i1 %t146, label %then26, label %ifend28 then26: store ptr @.str2716, ptr %t144 br label %ifend28 ifend28: store i32 0, ptr %t147 br label %wcond29 wcond29: %t148 = load i32, ptr %t147 %t149 = load ptr, ptr %t7 %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 %wbody30, label %wend31 wbody30: %t155 = load i32, ptr %t147 %t156 = icmp sgt i32 %t155, 0 %t157 = zext i1 %t156 to i32 %t158 = icmp ne i32 %t157, 0 br i1 %t158, label %then32, label %ifend34 then32: %t159 = load ptr, ptr %t144 store i32 2070, ptr @lp_site %t160 = call ptr @lp_str_concat(ptr %t159, ptr @.str2717) store i32 0, ptr @lp_site store ptr %t160, ptr %t144 br label %ifend34 ifend34: %t161 = load ptr, ptr %t144 %t162 = load ptr, ptr %t7 %t163 = load i32, ptr %t147 %t164 = getelementptr inbounds %LSlice, ptr %t162, i32 0, i32 0 %t165 = load ptr, ptr %t164 %t166 = getelementptr inbounds %LSlice, ptr %t162, i32 0, i32 1 %t167 = load i32, ptr %t166 %t168 = icmp ult i32 %t163, %t167 br i1 %t168, label %ixok35, label %ixbad36 ixbad36: store i32 2071, ptr @lp_site %t169 = call ptr @lp_win_stdio(i32 2) store i32 0, ptr @lp_site call i32 (ptr, ptr, ...) @fprintf(ptr %t169, ptr @.fmt_bounds, ptr @.str2718, i32 %t163, i32 %t167) call void @exit(i32 1) unreachable ixok35: %t170 = getelementptr inbounds ptr, ptr %t165, i32 %t163 %t171 = load ptr, ptr %t170 store i32 2072, ptr @lp_site %t172 = call ptr @lp_str_concat(ptr %t161, ptr %t171) store i32 0, ptr @lp_site store ptr %t172, ptr %t144 %t173 = load i32, ptr %t147 %t174 = add i32 %t173, 1 store i32 %t174, ptr %t147 br label %wcond29 wend31: %t175 = load ptr, ptr %t144 %t176 = call i64 @strlen(ptr %t175) %t177 = trunc i64 %t176 to i32 %t178 = icmp eq i32 %t177, 0 %t179 = zext i1 %t178 to i32 %t180 = icmp ne i32 %t179, 0 br i1 %t180, label %then37, label %ifend39 then37: store ptr @.str2719, ptr %retval br label %ret ifend39: %t181 = load ptr, ptr %t144 store ptr %t181, ptr %retval br label %ret ret: %t182 = load ptr, ptr %retval ret ptr %t182 } define ptr @fn_pm_trim_slash(ptr %arg_s) { entry: %retval = alloca ptr %t0 = alloca ptr %t4 = alloca i32 %t5 = 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, 1 %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: %t11 = load ptr, ptr %t0 %t12 = load i32, ptr %t4 %t13 = sub i32 %t12, 1 %t14 = getelementptr inbounds i8, ptr %t11, 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 %t19 = zext i1 %t18 to i32 store i32 %t19, ptr %t5 br label %scend4 scend4: %t20 = load i32, ptr %t5 %t21 = icmp ne i32 %t20, 0 br i1 %t21, label %wbody1, label %wend2 wbody1: %t22 = load i32, ptr %t4 %t23 = sub i32 %t22, 1 store i32 %t23, ptr %t4 br label %wcond0 wend2: %t24 = load ptr, ptr %t0 %t25 = load i32, ptr %t4 store i32 2073, ptr @lp_site %t26 = call ptr @lp_str_slice(ptr %t24, i32 0, i32 %t25) store i32 0, ptr @lp_site store ptr %t26, ptr %retval br label %ret ret: %t27 = load ptr, ptr %retval ret ptr %t27 } define i32 @fn_pm_kind(ptr %arg_ty) { entry: %retval = alloca i32 %t0 = alloca ptr %t28 = alloca ptr %t29 = alloca i32 %t30 = alloca i32 store ptr %arg_ty, 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: store i32 0, ptr %retval br label %ret ifend2: %t5 = load ptr, ptr %t0 %t6 = call i32 @lp_str_eq(ptr %t5, ptr @.str2721) %t7 = icmp ne i32 %t6, 0 br i1 %t7, label %then3, label %ifend5 then3: store i32 1, ptr %retval br label %ret ifend5: %t8 = load ptr, ptr %t0 %t9 = call i32 @lp_str_eq(ptr %t8, ptr @.str2722) %t10 = icmp ne i32 %t9, 0 br i1 %t10, label %then6, label %ifend8 then6: store i32 2, ptr %retval br label %ret ifend8: %t11 = load ptr, ptr %t0 %t12 = call i32 @lp_str_eq(ptr %t11, ptr @.str2723) %t13 = icmp ne i32 %t12, 0 br i1 %t13, label %then9, label %ifend11 then9: store i32 3, ptr %retval br label %ret ifend11: %t14 = load ptr, ptr %t0 %t15 = call i32 @lp_str_eq(ptr %t14, ptr @.str2724) %t16 = icmp ne i32 %t15, 0 br i1 %t16, label %then12, label %ifend14 then12: store i32 4, ptr %retval br label %ret ifend14: %t17 = load ptr, ptr %t0 %t18 = call i32 @fn_i18n_is_key_ty(ptr %t17) %t19 = icmp ne i32 %t18, 0 br i1 %t19, label %then15, label %ifend17 then15: store i32 4, ptr %retval br label %ret ifend17: %t20 = load ptr, ptr %t0 %t21 = call i32 @fn_str_starts(ptr %t20, ptr @.str2725) %t22 = icmp ne i32 %t21, 0 br i1 %t22, label %then18, label %ifend20 then18: store i32 7, ptr %retval br label %ret ifend20: %t23 = load ptr, ptr %t0 %t24 = call i32 @fn_is_slice_ty(ptr %t23) %t25 = icmp ne i32 %t24, 0 br i1 %t25, label %then21, label %ifend23 then21: store i32 6, ptr %retval br label %ret ifend23: %t26 = load ptr, ptr %t0 %t27 = call ptr @fn_find_comp(ptr %t26) store ptr %t27, ptr %t28 %t31 = load ptr, ptr %t28 %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 %sc24, label %scend25 sc24: %t36 = load ptr, ptr %t28 %t37 = getelementptr inbounds %Cmp_Node, ptr %t36, i32 0, i32 11 %t38 = load ptr, ptr %t37 %t39 = icmp eq ptr %t38, null %t40 = zext i1 %t39 to i32 %t41 = icmp ne i32 %t40, 0 %t42 = zext i1 %t41 to i32 store i32 %t42, ptr %t30 br label %scend25 scend25: %t43 = load i32, ptr %t30 %t44 = icmp ne i32 %t43, 0 %t45 = zext i1 %t44 to i32 store i32 %t45, ptr %t29 br i1 %t44, label %sc26, label %scend27 sc26: %t46 = load ptr, ptr %t28 %t47 = getelementptr inbounds %Cmp_Node, ptr %t46, i32 0, i32 12 %t48 = load i32, ptr %t47 %t49 = icmp ne i32 %t48, 2 %t50 = zext i1 %t49 to i32 %t51 = icmp ne i32 %t50, 0 %t52 = zext i1 %t51 to i32 store i32 %t52, ptr %t29 br label %scend27 scend27: %t53 = load i32, ptr %t29 %t54 = icmp ne i32 %t53, 0 br i1 %t54, label %then28, label %ifend30 then28: store i32 5, ptr %retval br label %ret ifend30: store i32 0, ptr %retval br label %ret ret: %t55 = load i32, ptr %retval ret i32 %t55 } define i32 @fn_pm_rec_index(ptr %arg_ty) { entry: %retval = alloca i32 %t0 = alloca ptr %t1 = alloca i32 store ptr %arg_ty, ptr %t0 store i32 0, ptr %t1 br label %wcond0 wcond0: %t2 = load i32, ptr %t1 %t3 = load ptr, ptr @g_g_pm_recs %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_pm_recs %t10 = load i32, ptr %t1 %t11 = getelementptr inbounds %LSlice, ptr %t9, i32 0, i32 0 %t12 = load ptr, ptr %t11 %t13 = getelementptr inbounds %LSlice, ptr %t9, i32 0, i32 1 %t14 = load i32, ptr %t13 %t15 = icmp ult i32 %t10, %t14 br i1 %t15, label %ixok3, label %ixbad4 ixbad4: store i32 2074, ptr @lp_site %t16 = call ptr @lp_win_stdio(i32 2) store i32 0, ptr @lp_site call i32 (ptr, ptr, ...) @fprintf(ptr %t16, ptr @.fmt_bounds, ptr @.str2726, i32 %t10, i32 %t14) call void @exit(i32 1) unreachable ixok3: %t17 = getelementptr inbounds ptr, ptr %t12, i32 %t10 %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 br i1 %t21, label %then5, label %ifend7 then5: %t22 = load i32, ptr %t1 store i32 %t22, ptr %retval br label %ret ifend7: %t23 = load i32, ptr %t1 %t24 = add i32 %t23, 1 store i32 %t24, ptr %t1 br label %wcond0 wend2: %t25 = sub i32 0, 1 store i32 %t25, ptr %retval br label %ret ret: %t26 = load i32, ptr %retval ret i32 %t26 } define i32 @fn_pm_fn_index(ptr %arg_ty) { entry: %retval = alloca i32 %t0 = alloca ptr %t1 = alloca i32 store ptr %arg_ty, ptr %t0 store i32 0, ptr %t1 br label %wcond0 wcond0: %t2 = load i32, ptr %t1 %t3 = load ptr, ptr @g_g_pm_fnty %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_pm_fnty %t10 = load i32, ptr %t1 %t11 = getelementptr inbounds %LSlice, ptr %t9, i32 0, i32 0 %t12 = load ptr, ptr %t11 %t13 = getelementptr inbounds %LSlice, ptr %t9, i32 0, i32 1 %t14 = load i32, ptr %t13 %t15 = icmp ult i32 %t10, %t14 br i1 %t15, label %ixok3, label %ixbad4 ixbad4: store i32 2075, ptr @lp_site %t16 = call ptr @lp_win_stdio(i32 2) store i32 0, ptr @lp_site call i32 (ptr, ptr, ...) @fprintf(ptr %t16, ptr @.fmt_bounds, ptr @.str2728, i32 %t10, i32 %t14) call void @exit(i32 1) unreachable ixok3: %t17 = getelementptr inbounds ptr, ptr %t12, i32 %t10 %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 br i1 %t21, label %then5, label %ifend7 then5: %t22 = load i32, ptr %t1 store i32 %t22, ptr %retval br label %ret ifend7: %t23 = load i32, ptr %t1 %t24 = add i32 %t23, 1 store i32 %t24, ptr %t1 br label %wcond0 wend2: %t25 = sub i32 0, 1 store i32 %t25, ptr %retval br label %ret ret: %t26 = load i32, ptr %retval ret i32 %t26 } define void @fn_pm_add_rec(ptr %arg_ty, i32 %arg_pooled) { entry: %t0 = alloca ptr %t1 = alloca i32 %t4 = alloca i32 store ptr %arg_ty, ptr %t0 store i32 %arg_pooled, ptr %t1 %t2 = load ptr, ptr %t0 %t3 = call i32 @fn_pm_rec_index(ptr %t2) store i32 %t3, ptr %t4 %t5 = load i32, ptr %t4 %t6 = icmp sge 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 i32, ptr %t1 %t10 = icmp ne i32 %t9, 0 br i1 %t10, label %then3, label %ifend5 then3: %t11 = load ptr, ptr @g_g_pm_pooled %t12 = load i32, ptr %t4 %t13 = getelementptr inbounds %LSlice, ptr %t11, i32 0, i32 0 %t14 = load ptr, ptr %t13 %t15 = getelementptr inbounds %LSlice, ptr %t11, i32 0, i32 1 %t16 = load i32, ptr %t15 %t17 = icmp ult i32 %t12, %t16 br i1 %t17, label %ixok6, label %ixbad7 ixbad7: store i32 2076, ptr @lp_site %t18 = call ptr @lp_win_stdio(i32 2) store i32 0, ptr @lp_site call i32 (ptr, ptr, ...) @fprintf(ptr %t18, ptr @.fmt_bounds, ptr @.str2730, i32 %t12, i32 %t16) call void @exit(i32 1) unreachable ixok6: %t19 = getelementptr inbounds i32, ptr %t14, i32 %t12 store i32 1, ptr %t19 br label %ifend5 ifend5: br label %ret ifend2: %t20 = load ptr, ptr @g_g_pm_recs %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 %grow8, label %put9 grow8: %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 store i32 2077, ptr @lp_site %t36 = call ptr @lp_realloc(ptr %t35, i64 %t34) store i32 0, ptr @lp_site store ptr %t36, ptr %t24 store i32 %t30, ptr %t23 br label %put9 put9: %t37 = load ptr, ptr %t24 %t38 = getelementptr inbounds ptr, ptr %t37, i32 %t25 store ptr %t21, ptr %t38 %t39 = add i32 %t25, 1 store i32 %t39, ptr %t22 %t40 = load ptr, ptr @g_g_pm_pooled %t41 = load i32, ptr %t1 %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 %grow10, label %put11 grow10: %t48 = mul i32 %t46, 2 %t49 = icmp eq i32 %t46, 0 %t50 = select i1 %t49, i32 8, i32 %t48 %t51 = getelementptr i32, 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 store i32 2078, ptr @lp_site %t56 = call ptr @lp_realloc(ptr %t55, i64 %t54) store i32 0, ptr @lp_site store ptr %t56, ptr %t44 store i32 %t50, ptr %t43 br label %put11 put11: %t57 = load ptr, ptr %t44 %t58 = getelementptr inbounds i32, ptr %t57, i32 %t45 store i32 %t41, ptr %t58 %t59 = add i32 %t45, 1 store i32 %t59, ptr %t42 br label %ret ret: ret void } define void @fn_pm_collect(i32 %arg_r) { entry: %t0 = alloca i32 %t29 = alloca i32 %t48 = alloca ptr %t49 = alloca i32 store i32 %arg_r, ptr %t0 %t1 = getelementptr %LSlice, ptr null, i32 1 %t2 = ptrtoint ptr %t1 to i64 store i32 2079, ptr @lp_site %t3 = call ptr @lp_malloc(i64 %t2) store i32 0, ptr @lp_site %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 @g_g_pm_recs %t7 = getelementptr %LSlice, ptr null, i32 1 %t8 = ptrtoint ptr %t7 to i64 store i32 2080, ptr @lp_site %t9 = call ptr @lp_malloc(i64 %t8) store i32 0, ptr @lp_site %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 @g_g_pm_pooled %t13 = getelementptr %LSlice, ptr null, i32 1 %t14 = ptrtoint ptr %t13 to i64 store i32 2081, ptr @lp_site %t15 = call ptr @lp_malloc(i64 %t14) store i32 0, ptr @lp_site %t16 = getelementptr inbounds %LSlice, ptr %t15, i32 0, i32 0 store ptr null, ptr %t16 %t17 = getelementptr inbounds %LSlice, ptr %t15, i32 0, i32 1 store i32 0, ptr %t17 %t18 = getelementptr inbounds %LSlice, ptr %t15, i32 0, i32 2 store i32 0, ptr %t18 store ptr %t15, ptr @g_g_pm_fnty %t19 = load ptr, ptr @g_g_rg_type %t20 = load i32, ptr %t0 %t21 = getelementptr inbounds %LSlice, ptr %t19, i32 0, i32 0 %t22 = load ptr, ptr %t21 %t23 = getelementptr inbounds %LSlice, ptr %t19, i32 0, i32 1 %t24 = load i32, ptr %t23 %t25 = icmp ult i32 %t20, %t24 br i1 %t25, label %ixok0, label %ixbad1 ixbad1: store i32 2082, ptr @lp_site %t26 = call ptr @lp_win_stdio(i32 2) store i32 0, ptr @lp_site call i32 (ptr, ptr, ...) @fprintf(ptr %t26, ptr @.fmt_bounds, ptr @.str2734, i32 %t20, i32 %t24) call void @exit(i32 1) unreachable ixok0: %t27 = getelementptr inbounds ptr, ptr %t22, i32 %t20 %t28 = load ptr, ptr %t27 call void @fn_pm_add_rec(ptr %t28, i32 0) store i32 0, ptr %t29 br label %wcond2 wcond2: %t30 = load i32, ptr %t29 %t31 = load ptr, ptr @g_g_pm_recs %t32 = getelementptr inbounds %LSlice, ptr %t31, i32 0, i32 1 %t33 = load i32, ptr %t32 %t34 = icmp slt i32 %t30, %t33 %t35 = zext i1 %t34 to i32 %t36 = icmp ne i32 %t35, 0 br i1 %t36, label %wbody3, label %wend4 wbody3: %t37 = load ptr, ptr @g_g_pm_recs %t38 = load i32, ptr %t29 %t39 = getelementptr inbounds %LSlice, ptr %t37, i32 0, i32 0 %t40 = load ptr, ptr %t39 %t41 = getelementptr inbounds %LSlice, ptr %t37, i32 0, i32 1 %t42 = load i32, ptr %t41 %t43 = icmp ult i32 %t38, %t42 br i1 %t43, label %ixok5, label %ixbad6 ixbad6: store i32 2083, ptr @lp_site %t44 = call ptr @lp_win_stdio(i32 2) store i32 0, ptr @lp_site call i32 (ptr, ptr, ...) @fprintf(ptr %t44, ptr @.fmt_bounds, ptr @.str2735, i32 %t38, i32 %t42) call void @exit(i32 1) unreachable ixok5: %t45 = getelementptr inbounds ptr, ptr %t40, i32 %t38 %t46 = load ptr, ptr %t45 %t47 = call ptr @fn_find_comp(ptr %t46) store ptr %t47, ptr %t48 store i32 0, ptr %t49 br label %wcond7 wcond7: %t50 = load i32, ptr %t49 %t51 = load ptr, ptr %t48 %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 1 %t55 = load i32, ptr %t54 %t56 = icmp slt i32 %t50, %t55 %t57 = zext i1 %t56 to i32 %t58 = icmp ne i32 %t57, 0 br i1 %t58, label %wbody8, label %wend9 wbody8: %t59 = load i32, ptr %t0 %t60 = load ptr, ptr %t48 %t61 = load ptr, ptr %t48 %t62 = getelementptr inbounds %Cmp_Node, ptr %t61, i32 0, i32 7 %t63 = load ptr, ptr %t62 %t64 = load i32, ptr %t49 %t65 = getelementptr inbounds %LSlice, ptr %t63, i32 0, i32 0 %t66 = load ptr, ptr %t65 %t67 = getelementptr inbounds %LSlice, ptr %t63, i32 0, i32 1 %t68 = load i32, ptr %t67 %t69 = icmp ult i32 %t64, %t68 br i1 %t69, label %ixok10, label %ixbad11 ixbad11: store i32 2084, ptr @lp_site %t70 = call ptr @lp_win_stdio(i32 2) store i32 0, ptr @lp_site call i32 (ptr, ptr, ...) @fprintf(ptr %t70, ptr @.fmt_bounds, ptr @.str2736, i32 %t64, i32 %t68) call void @exit(i32 1) unreachable ixok10: %t71 = getelementptr inbounds ptr, ptr %t66, i32 %t64 %t72 = load ptr, ptr %t71 call void @fn_pm_collect_field(i32 %t59, ptr %t60, ptr %t72) %t73 = load i32, ptr %t49 %t74 = add i32 %t73, 1 store i32 %t74, ptr %t49 br label %wcond7 wend9: %t75 = load i32, ptr %t29 %t76 = add i32 %t75, 1 store i32 %t76, ptr %t29 br label %wcond2 wend4: br label %ret ret: ret void } define void @fn_pm_collect_field(i32 %arg_r, ptr %arg_c, ptr %arg_f) { entry: %t0 = alloca i32 %t1 = alloca ptr %t2 = alloca ptr %t7 = alloca i32 %t29 = alloca ptr %t49 = alloca i32 %t55 = alloca i32 %t102 = alloca i32 %t149 = alloca i32 %t150 = alloca i32 %t151 = alloca i32 store i32 %arg_r, ptr %t0 store ptr %arg_c, ptr %t1 store ptr %arg_f, ptr %t2 %t3 = load ptr, ptr %t2 %t4 = getelementptr inbounds %Cmp_Node, ptr %t3, i32 0, i32 3 %t5 = load ptr, ptr %t4 %t6 = call i32 @fn_pm_kind(ptr %t5) store i32 %t6, ptr %t7 %t8 = load ptr, ptr %t1 %t9 = getelementptr inbounds %Cmp_Node, ptr %t8, i32 0, i32 1 %t10 = load ptr, ptr %t9 store i32 2085, ptr @lp_site %t11 = call ptr @lp_str_concat(ptr @.str2737, ptr %t10) store i32 0, ptr @lp_site store i32 2086, ptr @lp_site %t12 = call ptr @lp_str_concat(ptr %t11, ptr @.str2739) store i32 0, ptr @lp_site call void @lp_free(ptr %t11) %t13 = load ptr, ptr %t2 %t14 = getelementptr inbounds %Cmp_Node, ptr %t13, i32 0, i32 1 %t15 = load ptr, ptr %t14 store i32 2087, ptr @lp_site %t16 = call ptr @lp_str_concat(ptr %t12, ptr %t15) store i32 0, ptr @lp_site call void @lp_free(ptr %t12) store i32 2088, ptr @lp_site %t17 = call ptr @lp_str_concat(ptr %t16, ptr @.str2740) store i32 0, ptr @lp_site call void @lp_free(ptr %t16) %t18 = load ptr, ptr @g_g_rg_name %t19 = load i32, ptr %t0 %t20 = getelementptr inbounds %LSlice, ptr %t18, i32 0, i32 0 %t21 = load ptr, ptr %t20 %t22 = getelementptr inbounds %LSlice, ptr %t18, i32 0, i32 1 %t23 = load i32, ptr %t22 %t24 = icmp ult i32 %t19, %t23 br i1 %t24, label %ixok0, label %ixbad1 ixbad1: store i32 2089, ptr @lp_site %t25 = call ptr @lp_win_stdio(i32 2) store i32 0, ptr @lp_site call i32 (ptr, ptr, ...) @fprintf(ptr %t25, ptr @.fmt_bounds, ptr @.str2741, i32 %t19, i32 %t23) call void @exit(i32 1) unreachable ixok0: %t26 = getelementptr inbounds ptr, ptr %t21, i32 %t19 %t27 = load ptr, ptr %t26 store i32 2090, ptr @lp_site %t28 = call ptr @lp_str_concat(ptr %t17, ptr %t27) store i32 0, ptr @lp_site call void @lp_free(ptr %t17) store ptr %t28, ptr %t29 %t30 = load i32, ptr %t7 %t31 = icmp eq i32 %t30, 0 %t32 = zext i1 %t31 to i32 %t33 = icmp ne i32 %t32, 0 br i1 %t33, label %then2, label %ifend4 then2: %t34 = load ptr, ptr %t2 %t35 = getelementptr inbounds %Cmp_Node, ptr %t34, i32 0, i32 9 %t36 = load ptr, ptr %t35 %t37 = load ptr, ptr %t2 %t38 = getelementptr inbounds %Cmp_Node, ptr %t37, i32 0, i32 8 %t39 = load i32, ptr %t38 %t40 = load ptr, ptr %t2 %t41 = getelementptr inbounds %Cmp_Node, ptr %t40, i32 0, i32 18 %t42 = load i32, ptr %t41 %t43 = load ptr, ptr %t29 store i32 2091, ptr @lp_site %t44 = call ptr @lp_str_concat(ptr %t43, ptr @.str2742) store i32 0, ptr @lp_site %t45 = load ptr, ptr %t2 %t46 = getelementptr inbounds %Cmp_Node, ptr %t45, i32 0, i32 3 %t47 = load ptr, ptr %t46 store i32 2092, ptr @lp_site %t48 = call ptr @lp_str_concat(ptr %t44, ptr %t47) store i32 0, ptr @lp_site call void @lp_free(ptr %t44) call void @fn_perr_at(ptr %t36, i32 %t39, i32 %t42, ptr %t48) br label %ret ifend4: %t50 = load i32, ptr %t7 %t51 = icmp eq i32 %t50, 5 %t52 = zext i1 %t51 to i32 %t53 = icmp ne i32 %t52, 0 %t54 = zext i1 %t53 to i32 store i32 %t54, ptr %t49 br i1 %t53, label %sc5, label %scend6 sc5: %t56 = load ptr, ptr %t2 %t57 = getelementptr inbounds %Cmp_Node, ptr %t56, i32 0, i32 3 %t58 = load ptr, ptr %t57 %t59 = load ptr, ptr %t1 %t60 = getelementptr inbounds %Cmp_Node, ptr %t59, i32 0, i32 1 %t61 = load ptr, ptr %t60 %t62 = call i32 @lp_str_eq(ptr %t58, ptr %t61) %t63 = icmp ne i32 %t62, 0 %t64 = zext i1 %t63 to i32 store i32 %t64, ptr %t55 br i1 %t63, label %scend8, label %sc7 sc7: %t65 = load ptr, ptr %t2 %t66 = getelementptr inbounds %Cmp_Node, ptr %t65, i32 0, i32 3 %t67 = load ptr, ptr %t66 %t68 = load ptr, ptr %t1 %t69 = getelementptr inbounds %Cmp_Node, ptr %t68, i32 0, i32 1 %t70 = load ptr, ptr %t69 %t71 = call i32 @fn_pm_single_reaches(ptr %t67, ptr %t70, i32 0) %t72 = icmp ne i32 %t71, 0 %t73 = zext i1 %t72 to i32 store i32 %t73, ptr %t55 br label %scend8 scend8: %t74 = load i32, ptr %t55 %t75 = icmp ne i32 %t74, 0 %t76 = zext i1 %t75 to i32 store i32 %t76, ptr %t49 br label %scend6 scend6: %t77 = load i32, ptr %t49 %t78 = icmp ne i32 %t77, 0 br i1 %t78, label %then9, label %ifend11 then9: %t79 = load ptr, ptr %t2 %t80 = getelementptr inbounds %Cmp_Node, ptr %t79, i32 0, i32 9 %t81 = load ptr, ptr %t80 %t82 = load ptr, ptr %t2 %t83 = getelementptr inbounds %Cmp_Node, ptr %t82, i32 0, i32 8 %t84 = load i32, ptr %t83 %t85 = load ptr, ptr %t2 %t86 = getelementptr inbounds %Cmp_Node, ptr %t85, i32 0, i32 18 %t87 = load i32, ptr %t86 %t88 = load ptr, ptr %t29 store i32 2093, ptr @lp_site %t89 = call ptr @lp_str_concat(ptr %t88, ptr @.str2743) store i32 0, ptr @lp_site %t90 = load ptr, ptr %t1 %t91 = getelementptr inbounds %Cmp_Node, ptr %t90, i32 0, i32 1 %t92 = load ptr, ptr %t91 store i32 2094, ptr @lp_site %t93 = call ptr @lp_str_concat(ptr %t89, ptr %t92) store i32 0, ptr @lp_site call void @lp_free(ptr %t89) store i32 2095, ptr @lp_site %t94 = call ptr @lp_str_concat(ptr %t93, ptr @.str2744) store i32 0, ptr @lp_site call void @lp_free(ptr %t93) call void @fn_perr_at(ptr %t81, i32 %t84, i32 %t87, ptr %t94) br label %ret ifend11: %t95 = load i32, ptr %t7 %t96 = icmp eq i32 %t95, 5 %t97 = zext i1 %t96 to i32 %t98 = icmp ne i32 %t97, 0 br i1 %t98, label %then12, label %ifend14 then12: %t99 = load ptr, ptr %t2 %t100 = getelementptr inbounds %Cmp_Node, ptr %t99, i32 0, i32 3 %t101 = load ptr, ptr %t100 call void @fn_pm_add_rec(ptr %t101, i32 0) br label %ifend14 ifend14: %t103 = load i32, ptr %t7 %t104 = icmp eq i32 %t103, 7 %t105 = zext i1 %t104 to i32 %t106 = icmp ne i32 %t105, 0 %t107 = zext i1 %t106 to i32 store i32 %t107, ptr %t102 br i1 %t106, label %sc15, label %scend16 sc15: %t108 = load ptr, ptr %t2 %t109 = getelementptr inbounds %Cmp_Node, ptr %t108, i32 0, i32 3 %t110 = load ptr, ptr %t109 %t111 = call i32 @fn_pm_fn_index(ptr %t110) %t112 = icmp slt i32 %t111, 0 %t113 = zext i1 %t112 to i32 %t114 = icmp ne i32 %t113, 0 %t115 = zext i1 %t114 to i32 store i32 %t115, ptr %t102 br label %scend16 scend16: %t116 = load i32, ptr %t102 %t117 = icmp ne i32 %t116, 0 br i1 %t117, label %then17, label %ifend19 then17: %t118 = load ptr, ptr @g_g_pm_fnty %t119 = load ptr, ptr %t2 %t120 = getelementptr inbounds %Cmp_Node, ptr %t119, i32 0, i32 3 %t121 = load ptr, ptr %t120 %t122 = getelementptr inbounds %LSlice, ptr %t118, i32 0, i32 1 %t123 = getelementptr inbounds %LSlice, ptr %t118, i32 0, i32 2 %t124 = getelementptr inbounds %LSlice, ptr %t118, i32 0, i32 0 %t125 = load i32, ptr %t122 %t126 = load i32, ptr %t123 %t127 = icmp sge i32 %t125, %t126 br i1 %t127, label %grow20, label %put21 grow20: %t128 = mul i32 %t126, 2 %t129 = icmp eq i32 %t126, 0 %t130 = select i1 %t129, i32 8, i32 %t128 %t131 = getelementptr ptr, ptr null, i32 1 %t132 = ptrtoint ptr %t131 to i64 %t133 = zext i32 %t130 to i64 %t134 = mul i64 %t133, %t132 %t135 = load ptr, ptr %t124 store i32 2096, ptr @lp_site %t136 = call ptr @lp_realloc(ptr %t135, i64 %t134) store i32 0, ptr @lp_site store ptr %t136, ptr %t124 store i32 %t130, ptr %t123 br label %put21 put21: %t137 = load ptr, ptr %t124 %t138 = getelementptr inbounds ptr, ptr %t137, i32 %t125 store ptr %t121, ptr %t138 %t139 = add i32 %t125, 1 store i32 %t139, ptr %t122 br label %ifend19 ifend19: %t140 = load i32, ptr %t7 %t141 = icmp eq i32 %t140, 6 %t142 = zext i1 %t141 to i32 %t143 = icmp ne i32 %t142, 0 br i1 %t143, label %then22, label %ifend24 then22: %t144 = load ptr, ptr %t2 %t145 = getelementptr inbounds %Cmp_Node, ptr %t144, i32 0, i32 3 %t146 = load ptr, ptr %t145 %t147 = call ptr @fn_slice_elem(ptr %t146) %t148 = call i32 @fn_pm_kind(ptr %t147) store i32 %t148, ptr %t149 %t152 = load i32, ptr %t149 %t153 = icmp eq i32 %t152, 0 %t154 = zext i1 %t153 to i32 %t155 = icmp ne i32 %t154, 0 %t156 = zext i1 %t155 to i32 store i32 %t156, ptr %t151 br i1 %t155, label %scend26, label %sc25 sc25: %t157 = load i32, ptr %t149 %t158 = icmp eq i32 %t157, 6 %t159 = zext i1 %t158 to i32 %t160 = icmp ne i32 %t159, 0 %t161 = zext i1 %t160 to i32 store i32 %t161, ptr %t151 br label %scend26 scend26: %t162 = load i32, ptr %t151 %t163 = icmp ne i32 %t162, 0 %t164 = zext i1 %t163 to i32 store i32 %t164, ptr %t150 br i1 %t163, label %scend28, label %sc27 sc27: %t165 = load i32, ptr %t149 %t166 = icmp eq i32 %t165, 7 %t167 = zext i1 %t166 to i32 %t168 = icmp ne i32 %t167, 0 %t169 = zext i1 %t168 to i32 store i32 %t169, ptr %t150 br label %scend28 scend28: %t170 = load i32, ptr %t150 %t171 = icmp ne i32 %t170, 0 br i1 %t171, label %then29, label %ifend31 then29: %t172 = load ptr, ptr %t2 %t173 = getelementptr inbounds %Cmp_Node, ptr %t172, i32 0, i32 9 %t174 = load ptr, ptr %t173 %t175 = load ptr, ptr %t2 %t176 = getelementptr inbounds %Cmp_Node, ptr %t175, i32 0, i32 8 %t177 = load i32, ptr %t176 %t178 = load ptr, ptr %t2 %t179 = getelementptr inbounds %Cmp_Node, ptr %t178, i32 0, i32 18 %t180 = load i32, ptr %t179 %t181 = load ptr, ptr %t29 store i32 2097, ptr @lp_site %t182 = call ptr @lp_str_concat(ptr %t181, ptr @.str2745) store i32 0, ptr @lp_site %t183 = load ptr, ptr %t2 %t184 = getelementptr inbounds %Cmp_Node, ptr %t183, i32 0, i32 3 %t185 = load ptr, ptr %t184 %t186 = call ptr @fn_slice_elem(ptr %t185) store i32 2098, ptr @lp_site %t187 = call ptr @lp_str_concat(ptr %t182, ptr %t186) store i32 0, ptr @lp_site call void @lp_free(ptr %t182) call void @fn_perr_at(ptr %t174, i32 %t177, i32 %t180, ptr %t187) br label %ret ifend31: %t188 = load i32, ptr %t149 %t189 = icmp eq i32 %t188, 5 %t190 = zext i1 %t189 to i32 %t191 = icmp ne i32 %t190, 0 br i1 %t191, label %then32, label %ifend34 then32: %t192 = load ptr, ptr %t2 %t193 = getelementptr inbounds %Cmp_Node, ptr %t192, i32 0, i32 3 %t194 = load ptr, ptr %t193 %t195 = call ptr @fn_slice_elem(ptr %t194) call void @fn_pm_add_rec(ptr %t195, i32 1) br label %ifend34 ifend34: br label %ifend24 ifend24: br label %ret ret: ret void } define i32 @fn_pm_single_reaches(ptr %arg_ty, ptr %arg_target, i32 %arg_depth) { entry: %retval = alloca i32 %t0 = alloca ptr %t1 = alloca ptr %t2 = alloca i32 %t9 = alloca ptr %t14 = alloca i32 %t36 = alloca ptr %t44 = alloca i32 store ptr %arg_ty, ptr %t0 store ptr %arg_target, ptr %t1 store i32 %arg_depth, ptr %t2 %t3 = load i32, ptr %t2 %t4 = icmp sgt i32 %t3, 16 %t5 = zext i1 %t4 to i32 %t6 = icmp ne i32 %t5, 0 br i1 %t6, label %then0, label %ifend2 then0: store i32 1, ptr %retval br label %ret ifend2: %t7 = load ptr, ptr %t0 %t8 = call ptr @fn_find_comp(ptr %t7) store ptr %t8, ptr %t9 %t10 = load ptr, ptr %t9 %t11 = icmp eq ptr %t10, null %t12 = zext i1 %t11 to i32 %t13 = icmp ne i32 %t12, 0 br i1 %t13, label %then3, label %ifend5 then3: store i32 0, ptr %retval br label %ret ifend5: store i32 0, ptr %t14 br label %wcond6 wcond6: %t15 = load i32, ptr %t14 %t16 = load ptr, ptr %t9 %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 %t9 %t25 = getelementptr inbounds %Cmp_Node, ptr %t24, i32 0, i32 7 %t26 = load ptr, ptr %t25 %t27 = load i32, ptr %t14 %t28 = getelementptr inbounds %LSlice, ptr %t26, i32 0, i32 0 %t29 = load ptr, ptr %t28 %t30 = getelementptr inbounds %LSlice, ptr %t26, i32 0, i32 1 %t31 = load i32, ptr %t30 %t32 = icmp ult i32 %t27, %t31 br i1 %t32, label %ixok9, label %ixbad10 ixbad10: store i32 2099, ptr @lp_site %t33 = call ptr @lp_win_stdio(i32 2) store i32 0, ptr @lp_site call i32 (ptr, ptr, ...) @fprintf(ptr %t33, ptr @.fmt_bounds, ptr @.str2746, i32 %t27, i32 %t31) call void @exit(i32 1) unreachable ixok9: %t34 = getelementptr inbounds ptr, ptr %t29, i32 %t27 %t35 = load ptr, ptr %t34 store ptr %t35, ptr %t36 %t37 = load ptr, ptr %t36 %t38 = getelementptr inbounds %Cmp_Node, ptr %t37, i32 0, i32 3 %t39 = load ptr, ptr %t38 %t40 = call i32 @fn_pm_kind(ptr %t39) %t41 = icmp eq i32 %t40, 5 %t42 = zext i1 %t41 to i32 %t43 = icmp ne i32 %t42, 0 br i1 %t43, label %then11, label %ifend13 then11: %t45 = load ptr, ptr %t36 %t46 = getelementptr inbounds %Cmp_Node, ptr %t45, i32 0, i32 3 %t47 = load ptr, ptr %t46 %t48 = load ptr, ptr %t1 %t49 = call i32 @lp_str_eq(ptr %t47, ptr %t48) %t50 = icmp ne i32 %t49, 0 %t51 = zext i1 %t50 to i32 store i32 %t51, ptr %t44 br i1 %t50, label %scend15, label %sc14 sc14: %t52 = load ptr, ptr %t36 %t53 = getelementptr inbounds %Cmp_Node, ptr %t52, i32 0, i32 3 %t54 = load ptr, ptr %t53 %t55 = load ptr, ptr %t1 %t56 = load i32, ptr %t2 %t57 = add i32 %t56, 1 %t58 = call i32 @fn_pm_single_reaches(ptr %t54, ptr %t55, i32 %t57) %t59 = icmp ne i32 %t58, 0 %t60 = zext i1 %t59 to i32 store i32 %t60, ptr %t44 br label %scend15 scend15: %t61 = load i32, ptr %t44 %t62 = icmp ne i32 %t61, 0 br i1 %t62, label %then16, label %ifend18 then16: store i32 1, ptr %retval br label %ret ifend18: br label %ifend13 ifend13: %t63 = load i32, ptr %t14 %t64 = add i32 %t63, 1 store i32 %t64, ptr %t14 br label %wcond6 wend8: store i32 0, ptr %retval br label %ret ret: %t65 = load i32, ptr %retval ret i32 %t65 } define i32 @fn_pm_validate(i32 %arg_r) { entry: %retval = alloca i32 %t0 = alloca i32 %t11 = alloca ptr %t22 = alloca ptr %t24 = alloca i32 %t60 = alloca ptr %t108 = alloca i32 %t109 = alloca i32 %t119 = alloca i32 %t120 = alloca i32 %t130 = alloca i32 %t131 = alloca i32 %t158 = alloca i32 %t181 = alloca i32 %t214 = alloca ptr %t260 = alloca i32 %t261 = alloca i32 store i32 %arg_r, ptr %t0 %t1 = load ptr, ptr @g_g_rg_var %t2 = load i32, ptr %t0 %t3 = getelementptr inbounds %LSlice, ptr %t1, i32 0, i32 0 %t4 = load ptr, ptr %t3 %t5 = getelementptr inbounds %LSlice, ptr %t1, i32 0, i32 1 %t6 = load i32, ptr %t5 %t7 = icmp ult i32 %t2, %t6 br i1 %t7, label %ixok0, label %ixbad1 ixbad1: store i32 2100, ptr @lp_site %t8 = call ptr @lp_win_stdio(i32 2) store i32 0, ptr @lp_site call i32 (ptr, ptr, ...) @fprintf(ptr %t8, ptr @.fmt_bounds, ptr @.str2748, i32 %t2, i32 %t6) call void @exit(i32 1) unreachable ixok0: %t9 = getelementptr inbounds ptr, ptr %t4, i32 %t2 %t10 = load ptr, ptr %t9 store ptr %t10, ptr %t11 %t12 = load ptr, ptr @g_g_rg_name %t13 = load i32, ptr %t0 %t14 = getelementptr inbounds %LSlice, ptr %t12, i32 0, i32 0 %t15 = load ptr, ptr %t14 %t16 = getelementptr inbounds %LSlice, ptr %t12, i32 0, i32 1 %t17 = load i32, ptr %t16 %t18 = icmp ult i32 %t13, %t17 br i1 %t18, label %ixok2, label %ixbad3 ixbad3: store i32 2101, ptr @lp_site %t19 = call ptr @lp_win_stdio(i32 2) store i32 0, ptr @lp_site call i32 (ptr, ptr, ...) @fprintf(ptr %t19, ptr @.fmt_bounds, ptr @.str2750, i32 %t13, i32 %t17) call void @exit(i32 1) unreachable ixok2: %t20 = getelementptr inbounds ptr, ptr %t15, i32 %t13 %t21 = load ptr, ptr %t20 store ptr %t21, ptr %t22 %t23 = load i32, ptr @g_g_dg_errors store i32 %t23, ptr %t24 %t25 = load ptr, ptr @g_g_rg_open %t26 = load i32, ptr %t0 %t27 = getelementptr inbounds %LSlice, ptr %t25, i32 0, i32 0 %t28 = load ptr, ptr %t27 %t29 = getelementptr inbounds %LSlice, ptr %t25, i32 0, i32 1 %t30 = load i32, ptr %t29 %t31 = icmp ult i32 %t26, %t30 br i1 %t31, label %ixok4, label %ixbad5 ixbad5: store i32 2102, ptr @lp_site %t32 = call ptr @lp_win_stdio(i32 2) store i32 0, ptr @lp_site call i32 (ptr, ptr, ...) @fprintf(ptr %t32, ptr @.fmt_bounds, ptr @.str2751, i32 %t26, i32 %t30) call void @exit(i32 1) unreachable ixok4: %t33 = getelementptr inbounds i32, ptr %t28, i32 %t26 %t34 = load i32, ptr %t33 %t35 = icmp eq i32 %t34, 1 %t36 = zext i1 %t35 to i32 %t37 = icmp ne i32 %t36, 0 br i1 %t37, label %then6, label %ifend8 then6: %t38 = load ptr, ptr %t11 %t39 = getelementptr inbounds %Cmp_Node, ptr %t38, i32 0, i32 9 %t40 = load ptr, ptr %t39 %t41 = load ptr, ptr %t11 %t42 = getelementptr inbounds %Cmp_Node, ptr %t41, i32 0, i32 8 %t43 = load i32, ptr %t42 %t44 = load ptr, ptr %t11 %t45 = getelementptr inbounds %Cmp_Node, ptr %t44, i32 0, i32 18 %t46 = load i32, ptr %t45 %t47 = load ptr, ptr %t22 store i32 2103, ptr @lp_site %t48 = call ptr @lp_str_concat(ptr @.str2752, ptr %t47) store i32 0, ptr @lp_site store i32 2104, ptr @lp_site %t49 = call ptr @lp_str_concat(ptr %t48, ptr @.str2753) store i32 0, ptr @lp_site call void @lp_free(ptr %t48) call void @fn_perr_at(ptr %t40, i32 %t43, i32 %t46, ptr %t49) br label %ifend8 ifend8: %t50 = load ptr, ptr @g_g_rg_from %t51 = load i32, ptr %t0 %t52 = getelementptr inbounds %LSlice, ptr %t50, i32 0, i32 0 %t53 = load ptr, ptr %t52 %t54 = getelementptr inbounds %LSlice, ptr %t50, i32 0, i32 1 %t55 = load i32, ptr %t54 %t56 = icmp ult i32 %t51, %t55 br i1 %t56, label %ixok9, label %ixbad10 ixbad10: store i32 2105, ptr @lp_site %t57 = call ptr @lp_win_stdio(i32 2) store i32 0, ptr @lp_site call i32 (ptr, ptr, ...) @fprintf(ptr %t57, ptr @.fmt_bounds, ptr @.str2754, i32 %t51, i32 %t55) call void @exit(i32 1) unreachable ixok9: %t58 = getelementptr inbounds ptr, ptr %t53, i32 %t51 %t59 = load ptr, ptr %t58 store ptr %t59, ptr %t60 %t61 = load ptr, ptr %t60 %t62 = icmp eq ptr %t61, null %t63 = zext i1 %t62 to i32 %t64 = icmp ne i32 %t63, 0 br i1 %t64, label %then11, label %ifend13 then11: %t65 = load ptr, ptr %t11 %t66 = getelementptr inbounds %Cmp_Node, ptr %t65, i32 0, i32 9 %t67 = load ptr, ptr %t66 %t68 = load ptr, ptr %t11 %t69 = getelementptr inbounds %Cmp_Node, ptr %t68, i32 0, i32 8 %t70 = load i32, ptr %t69 %t71 = load ptr, ptr %t11 %t72 = getelementptr inbounds %Cmp_Node, ptr %t71, i32 0, i32 18 %t73 = load i32, ptr %t72 %t74 = load ptr, ptr %t22 store i32 2106, ptr @lp_site %t75 = call ptr @lp_str_concat(ptr @.str2755, ptr %t74) store i32 0, ptr @lp_site store i32 2107, ptr @lp_site %t76 = call ptr @lp_str_concat(ptr %t75, ptr @.str2756) store i32 0, ptr @lp_site call void @lp_free(ptr %t75) %t77 = load ptr, ptr %t22 store i32 2108, ptr @lp_site %t78 = call ptr @lp_str_concat(ptr %t76, ptr %t77) store i32 0, ptr @lp_site call void @lp_free(ptr %t76) store i32 2109, ptr @lp_site %t79 = call ptr @lp_str_concat(ptr %t78, ptr @.str2757) store i32 0, ptr @lp_site call void @lp_free(ptr %t78) %t80 = load ptr, ptr @g_g_rg_type %t81 = load i32, ptr %t0 %t82 = getelementptr inbounds %LSlice, ptr %t80, i32 0, i32 0 %t83 = load ptr, ptr %t82 %t84 = getelementptr inbounds %LSlice, ptr %t80, i32 0, i32 1 %t85 = load i32, ptr %t84 %t86 = icmp ult i32 %t81, %t85 br i1 %t86, label %ixok14, label %ixbad15 ixbad15: store i32 2110, ptr @lp_site %t87 = call ptr @lp_win_stdio(i32 2) store i32 0, ptr @lp_site call i32 (ptr, ptr, ...) @fprintf(ptr %t87, ptr @.fmt_bounds, ptr @.str2758, i32 %t81, i32 %t85) call void @exit(i32 1) unreachable ixok14: %t88 = getelementptr inbounds ptr, ptr %t83, i32 %t81 %t89 = load ptr, ptr %t88 store i32 2111, ptr @lp_site %t90 = call ptr @lp_str_concat(ptr %t79, ptr %t89) store i32 0, ptr @lp_site call void @lp_free(ptr %t79) store i32 2112, ptr @lp_site %t91 = call ptr @lp_str_concat(ptr %t90, ptr @.str2759) store i32 0, ptr @lp_site call void @lp_free(ptr %t90) %t92 = load ptr, ptr %t22 %t93 = call ptr @fn_pm_snake(ptr %t92) store i32 2113, ptr @lp_site %t94 = call ptr @lp_str_concat(ptr %t91, ptr %t93) store i32 0, ptr @lp_site call void @lp_free(ptr %t91) store i32 2114, ptr @lp_site %t95 = call ptr @lp_str_concat(ptr %t94, ptr @.str2760) store i32 0, ptr @lp_site call void @lp_free(ptr %t94) call void @fn_perr_at(ptr %t67, i32 %t70, i32 %t73, ptr %t95) store i32 0, ptr %retval br label %ret ifend13: %t96 = load ptr, ptr @g_g_rg_chunk %t97 = load i32, ptr %t0 %t98 = getelementptr inbounds %LSlice, ptr %t96, i32 0, i32 0 %t99 = load ptr, ptr %t98 %t100 = getelementptr inbounds %LSlice, ptr %t96, i32 0, i32 1 %t101 = load i32, ptr %t100 %t102 = icmp ult i32 %t97, %t101 br i1 %t102, label %ixok16, label %ixbad17 ixbad17: store i32 2115, ptr @lp_site %t103 = call ptr @lp_win_stdio(i32 2) store i32 0, ptr @lp_site call i32 (ptr, ptr, ...) @fprintf(ptr %t103, ptr @.fmt_bounds, ptr @.str2761, i32 %t97, i32 %t101) call void @exit(i32 1) unreachable ixok16: %t104 = getelementptr inbounds i32, ptr %t99, i32 %t97 %t105 = load i32, ptr %t104 %t106 = icmp sgt i32 %t105, 0 %t107 = zext i1 %t106 to i32 store i32 %t107, ptr %t108 %t110 = load ptr, ptr %t60 %t111 = call i32 @fn_has_sub(ptr %t110, ptr @.str2762) %t112 = icmp ne i32 %t111, 0 %t113 = zext i1 %t112 to i32 store i32 %t113, ptr %t109 br i1 %t112, label %sc18, label %scend19 sc18: %t114 = load ptr, ptr %t60 %t115 = call i32 @fn_has_sub(ptr %t114, ptr @.str2763) %t116 = icmp ne i32 %t115, 0 %t117 = zext i1 %t116 to i32 store i32 %t117, ptr %t109 br label %scend19 scend19: %t118 = load i32, ptr %t109 store i32 %t118, ptr %t119 %t121 = load ptr, ptr %t60 %t122 = call i32 @fn_has_sub(ptr %t121, ptr @.str2764) %t123 = icmp ne i32 %t122, 0 %t124 = zext i1 %t123 to i32 store i32 %t124, ptr %t120 br i1 %t123, label %scend21, label %sc20 sc20: %t125 = load ptr, ptr %t60 %t126 = call i32 @fn_has_sub(ptr %t125, ptr @.str2765) %t127 = icmp ne i32 %t126, 0 %t128 = zext i1 %t127 to i32 store i32 %t128, ptr %t120 br label %scend21 scend21: %t129 = load i32, ptr %t120 store i32 %t129, ptr %t130 %t132 = load i32, ptr %t108 %t133 = icmp ne i32 %t132, 0 %t134 = zext i1 %t133 to i32 store i32 %t134, ptr %t131 br i1 %t133, label %sc22, label %scend23 sc22: %t135 = load i32, ptr %t119 %t136 = icmp eq i32 %t135, 0 %t137 = zext i1 %t136 to i32 %t138 = icmp ne i32 %t137, 0 %t139 = zext i1 %t138 to i32 store i32 %t139, ptr %t131 br label %scend23 scend23: %t140 = load i32, ptr %t131 %t141 = icmp ne i32 %t140, 0 br i1 %t141, label %then24, label %ifend26 then24: %t142 = load ptr, ptr %t11 %t143 = getelementptr inbounds %Cmp_Node, ptr %t142, i32 0, i32 9 %t144 = load ptr, ptr %t143 %t145 = load ptr, ptr %t11 %t146 = getelementptr inbounds %Cmp_Node, ptr %t145, i32 0, i32 8 %t147 = load i32, ptr %t146 %t148 = load ptr, ptr %t11 %t149 = getelementptr inbounds %Cmp_Node, ptr %t148, i32 0, i32 18 %t150 = load i32, ptr %t149 %t151 = load ptr, ptr %t22 store i32 2116, ptr @lp_site %t152 = call ptr @lp_str_concat(ptr @.str2766, ptr %t151) store i32 0, ptr @lp_site store i32 2117, ptr @lp_site %t153 = call ptr @lp_str_concat(ptr %t152, ptr @.str2767) store i32 0, ptr @lp_site call void @lp_free(ptr %t152) %t154 = load ptr, ptr %t22 %t155 = call ptr @fn_pm_snake(ptr %t154) store i32 2118, ptr @lp_site %t156 = call ptr @lp_str_concat(ptr %t153, ptr %t155) store i32 0, ptr @lp_site call void @lp_free(ptr %t153) store i32 2119, ptr @lp_site %t157 = call ptr @lp_str_concat(ptr %t156, ptr @.str2768) store i32 0, ptr @lp_site call void @lp_free(ptr %t156) call void @fn_perr_at(ptr %t144, i32 %t147, i32 %t150, ptr %t157) br label %ifend26 ifend26: %t159 = load i32, ptr %t108 %t160 = icmp eq i32 %t159, 0 %t161 = zext i1 %t160 to i32 %t162 = icmp ne i32 %t161, 0 %t163 = zext i1 %t162 to i32 store i32 %t163, ptr %t158 br i1 %t162, label %sc27, label %scend28 sc27: %t164 = load i32, ptr %t130 %t165 = icmp ne i32 %t164, 0 %t166 = zext i1 %t165 to i32 store i32 %t166, ptr %t158 br label %scend28 scend28: %t167 = load i32, ptr %t158 %t168 = icmp ne i32 %t167, 0 br i1 %t168, label %then29, label %ifend31 then29: %t169 = load ptr, ptr %t11 %t170 = getelementptr inbounds %Cmp_Node, ptr %t169, i32 0, i32 9 %t171 = load ptr, ptr %t170 %t172 = load ptr, ptr %t11 %t173 = getelementptr inbounds %Cmp_Node, ptr %t172, i32 0, i32 8 %t174 = load i32, ptr %t173 %t175 = load ptr, ptr %t11 %t176 = getelementptr inbounds %Cmp_Node, ptr %t175, i32 0, i32 18 %t177 = load i32, ptr %t176 %t178 = load ptr, ptr %t22 store i32 2120, ptr @lp_site %t179 = call ptr @lp_str_concat(ptr @.str2769, ptr %t178) store i32 0, ptr @lp_site store i32 2121, ptr @lp_site %t180 = call ptr @lp_str_concat(ptr %t179, ptr @.str2770) store i32 0, ptr @lp_site call void @lp_free(ptr %t179) call void @fn_perr_at(ptr %t171, i32 %t174, i32 %t177, ptr %t180) br label %ifend31 ifend31: %t182 = load i32, ptr %t108 %t183 = icmp ne i32 %t182, 0 %t184 = zext i1 %t183 to i32 store i32 %t184, ptr %t181 br i1 %t183, label %sc32, label %scend33 sc32: %t185 = load ptr, ptr %t60 %t186 = call i32 @fn_pm_placeholder_in_dir(ptr %t185) %t187 = icmp ne i32 %t186, 0 %t188 = zext i1 %t187 to i32 store i32 %t188, ptr %t181 br label %scend33 scend33: %t189 = load i32, ptr %t181 %t190 = icmp ne i32 %t189, 0 br i1 %t190, label %then34, label %ifend36 then34: %t191 = load ptr, ptr %t11 %t192 = getelementptr inbounds %Cmp_Node, ptr %t191, i32 0, i32 9 %t193 = load ptr, ptr %t192 %t194 = load ptr, ptr %t11 %t195 = getelementptr inbounds %Cmp_Node, ptr %t194, i32 0, i32 8 %t196 = load i32, ptr %t195 %t197 = load ptr, ptr %t11 %t198 = getelementptr inbounds %Cmp_Node, ptr %t197, i32 0, i32 18 %t199 = load i32, ptr %t198 %t200 = load ptr, ptr %t22 store i32 2122, ptr @lp_site %t201 = call ptr @lp_str_concat(ptr @.str2771, ptr %t200) store i32 0, ptr @lp_site store i32 2123, ptr @lp_site %t202 = call ptr @lp_str_concat(ptr %t201, ptr @.str2772) store i32 0, ptr @lp_site call void @lp_free(ptr %t201) call void @fn_perr_at(ptr %t193, i32 %t196, i32 %t199, ptr %t202) br label %ifend36 ifend36: %t203 = load ptr, ptr @g_g_rg_type %t204 = load i32, ptr %t0 %t205 = getelementptr inbounds %LSlice, ptr %t203, i32 0, i32 0 %t206 = load ptr, ptr %t205 %t207 = getelementptr inbounds %LSlice, ptr %t203, i32 0, i32 1 %t208 = load i32, ptr %t207 %t209 = icmp ult i32 %t204, %t208 br i1 %t209, label %ixok37, label %ixbad38 ixbad38: store i32 2124, ptr @lp_site %t210 = call ptr @lp_win_stdio(i32 2) store i32 0, ptr @lp_site call i32 (ptr, ptr, ...) @fprintf(ptr %t210, ptr @.fmt_bounds, ptr @.str2773, i32 %t204, i32 %t208) call void @exit(i32 1) unreachable ixok37: %t211 = getelementptr inbounds ptr, ptr %t206, i32 %t204 %t212 = load ptr, ptr %t211 %t213 = call ptr @fn_find_comp(ptr %t212) store ptr %t213, ptr %t214 %t215 = load ptr, ptr %t214 %t216 = icmp eq ptr %t215, null %t217 = zext i1 %t216 to i32 %t218 = icmp ne i32 %t217, 0 br i1 %t218, label %then39, label %ifend41 then39: %t219 = load ptr, ptr %t11 %t220 = getelementptr inbounds %Cmp_Node, ptr %t219, i32 0, i32 9 %t221 = load ptr, ptr %t220 %t222 = load ptr, ptr %t11 %t223 = getelementptr inbounds %Cmp_Node, ptr %t222, i32 0, i32 8 %t224 = load i32, ptr %t223 %t225 = load ptr, ptr %t11 %t226 = getelementptr inbounds %Cmp_Node, ptr %t225, i32 0, i32 18 %t227 = load i32, ptr %t226 %t228 = load ptr, ptr %t22 store i32 2125, ptr @lp_site %t229 = call ptr @lp_str_concat(ptr @.str2774, ptr %t228) store i32 0, ptr @lp_site store i32 2126, ptr @lp_site %t230 = call ptr @lp_str_concat(ptr %t229, ptr @.str2775) store i32 0, ptr @lp_site call void @lp_free(ptr %t229) %t231 = load ptr, ptr @g_g_rg_type %t232 = load i32, ptr %t0 %t233 = getelementptr inbounds %LSlice, ptr %t231, i32 0, i32 0 %t234 = load ptr, ptr %t233 %t235 = getelementptr inbounds %LSlice, ptr %t231, i32 0, i32 1 %t236 = load i32, ptr %t235 %t237 = icmp ult i32 %t232, %t236 br i1 %t237, label %ixok42, label %ixbad43 ixbad43: store i32 2127, ptr @lp_site %t238 = call ptr @lp_win_stdio(i32 2) store i32 0, ptr @lp_site call i32 (ptr, ptr, ...) @fprintf(ptr %t238, ptr @.fmt_bounds, ptr @.str2776, i32 %t232, i32 %t236) call void @exit(i32 1) unreachable ixok42: %t239 = getelementptr inbounds ptr, ptr %t234, i32 %t232 %t240 = load ptr, ptr %t239 store i32 2128, ptr @lp_site %t241 = call ptr @lp_str_concat(ptr %t230, ptr %t240) store i32 0, ptr @lp_site call void @lp_free(ptr %t230) call void @fn_perr_at(ptr %t221, i32 %t224, i32 %t227, ptr %t241) store i32 0, ptr %retval br label %ret ifend41: %t242 = load ptr, ptr %t214 %t243 = getelementptr inbounds %Cmp_Node, ptr %t242, i32 0, i32 11 %t244 = load ptr, ptr %t243 %t245 = icmp ne ptr %t244, null %t246 = zext i1 %t245 to i32 %t247 = icmp ne i32 %t246, 0 br i1 %t247, label %then44, label %ifend46 then44: %t248 = load ptr, ptr %t11 %t249 = getelementptr inbounds %Cmp_Node, ptr %t248, i32 0, i32 9 %t250 = load ptr, ptr %t249 %t251 = load ptr, ptr %t11 %t252 = getelementptr inbounds %Cmp_Node, ptr %t251, i32 0, i32 8 %t253 = load i32, ptr %t252 %t254 = load ptr, ptr %t11 %t255 = getelementptr inbounds %Cmp_Node, ptr %t254, i32 0, i32 18 %t256 = load i32, ptr %t255 %t257 = load ptr, ptr %t22 store i32 2129, ptr @lp_site %t258 = call ptr @lp_str_concat(ptr @.str2777, ptr %t257) store i32 0, ptr @lp_site store i32 2130, ptr @lp_site %t259 = call ptr @lp_str_concat(ptr %t258, ptr @.str2778) store i32 0, ptr @lp_site call void @lp_free(ptr %t258) call void @fn_perr_at(ptr %t250, i32 %t253, i32 %t256, ptr %t259) br label %ifend46 ifend46: %t262 = load ptr, ptr %t214 %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 1 %t266 = load i32, ptr %t265 %t267 = icmp eq i32 %t266, 0 %t268 = zext i1 %t267 to i32 %t269 = icmp ne i32 %t268, 0 %t270 = zext i1 %t269 to i32 store i32 %t270, ptr %t261 br i1 %t269, label %scend48, label %sc47 sc47: %t271 = load ptr, ptr %t214 %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 %LSlice, ptr %t273, i32 0, i32 1 %t277 = load i32, ptr %t276 %t278 = icmp ult i32 0, %t277 br i1 %t278, label %ixok49, label %ixbad50 ixbad50: store i32 2131, ptr @lp_site %t279 = call ptr @lp_win_stdio(i32 2) store i32 0, ptr @lp_site call i32 (ptr, ptr, ...) @fprintf(ptr %t279, ptr @.fmt_bounds, ptr @.str2779, i32 0, i32 %t277) call void @exit(i32 1) unreachable ixok49: %t280 = getelementptr inbounds ptr, ptr %t275, i32 0 %t281 = load ptr, ptr %t280 %t282 = getelementptr inbounds %Cmp_Node, ptr %t281, i32 0, i32 1 %t283 = load ptr, ptr %t282 %t284 = call i32 @lp_str_eq(ptr %t283, ptr @.str2780) %t285 = icmp eq i32 %t284, 0 %t286 = zext i1 %t285 to i32 %t287 = icmp ne i32 %t286, 0 %t288 = zext i1 %t287 to i32 store i32 %t288, ptr %t261 br label %scend48 scend48: %t289 = load i32, ptr %t261 %t290 = icmp ne i32 %t289, 0 %t291 = zext i1 %t290 to i32 store i32 %t291, ptr %t260 br i1 %t290, label %scend52, label %sc51 sc51: %t292 = load ptr, ptr %t214 %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 %LSlice, ptr %t294, i32 0, i32 1 %t298 = load i32, ptr %t297 %t299 = icmp ult i32 0, %t298 br i1 %t299, label %ixok53, label %ixbad54 ixbad54: store i32 2132, ptr @lp_site %t300 = call ptr @lp_win_stdio(i32 2) store i32 0, ptr @lp_site call i32 (ptr, ptr, ...) @fprintf(ptr %t300, ptr @.fmt_bounds, ptr @.str2781, i32 0, i32 %t298) call void @exit(i32 1) unreachable ixok53: %t301 = getelementptr inbounds ptr, ptr %t296, i32 0 %t302 = load ptr, ptr %t301 %t303 = getelementptr inbounds %Cmp_Node, ptr %t302, i32 0, i32 3 %t304 = load ptr, ptr %t303 %t305 = call i32 @lp_str_eq(ptr %t304, ptr @.str2782) %t306 = icmp eq i32 %t305, 0 %t307 = zext i1 %t306 to i32 %t308 = icmp ne i32 %t307, 0 %t309 = zext i1 %t308 to i32 store i32 %t309, ptr %t260 br label %scend52 scend52: %t310 = load i32, ptr %t260 %t311 = icmp ne i32 %t310, 0 br i1 %t311, label %then55, label %ifend57 then55: %t312 = load ptr, ptr %t214 %t313 = getelementptr inbounds %Cmp_Node, ptr %t312, i32 0, i32 9 %t314 = load ptr, ptr %t313 %t315 = load ptr, ptr %t214 %t316 = getelementptr inbounds %Cmp_Node, ptr %t315, i32 0, i32 8 %t317 = load i32, ptr %t316 %t318 = load ptr, ptr %t214 %t319 = getelementptr inbounds %Cmp_Node, ptr %t318, i32 0, i32 18 %t320 = load i32, ptr %t319 %t321 = load ptr, ptr %t214 %t322 = getelementptr inbounds %Cmp_Node, ptr %t321, i32 0, i32 1 %t323 = load ptr, ptr %t322 store i32 2133, ptr @lp_site %t324 = call ptr @lp_str_concat(ptr @.str2783, ptr %t323) store i32 0, ptr @lp_site store i32 2134, ptr @lp_site %t325 = call ptr @lp_str_concat(ptr %t324, ptr @.str2784) store i32 0, ptr @lp_site call void @lp_free(ptr %t324) %t326 = load ptr, ptr %t22 store i32 2135, ptr @lp_site %t327 = call ptr @lp_str_concat(ptr %t325, ptr %t326) store i32 0, ptr @lp_site call void @lp_free(ptr %t325) store i32 2136, ptr @lp_site %t328 = call ptr @lp_str_concat(ptr %t327, ptr @.str2785) store i32 0, ptr @lp_site call void @lp_free(ptr %t327) call void @fn_perr_at(ptr %t314, i32 %t317, i32 %t320, ptr %t328) store i32 0, ptr %retval br label %ret ifend57: %t329 = load i32, ptr %t0 call void @fn_pm_collect(i32 %t329) %t330 = load i32, ptr @g_g_dg_errors %t331 = load i32, ptr %t24 %t332 = icmp eq i32 %t330, %t331 %t333 = zext i1 %t332 to i32 store i32 %t333, ptr %retval br label %ret ret: %t334 = load i32, ptr %retval ret i32 %t334 } define i32 @fn_pm_placeholder_in_dir(ptr %arg_from) { entry: %retval = alloca i32 %t0 = alloca ptr %t2 = alloca i32 %t3 = alloca i32 %t29 = alloca ptr %t30 = alloca i32 store ptr %arg_from, ptr %t0 %t1 = sub i32 0, 1 store i32 %t1, ptr %t2 store i32 0, ptr %t3 br label %wcond0 wcond0: %t4 = load i32, ptr %t3 %t5 = load ptr, ptr %t0 %t6 = call i64 @strlen(ptr %t5) %t7 = trunc i64 %t6 to i32 %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 %t0 %t12 = load i32, ptr %t3 %t13 = getelementptr inbounds i8, ptr %t11, 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 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 i32 0, ptr %retval br label %ret ifend8: %t26 = load ptr, ptr %t0 %t27 = load i32, ptr %t2 store i32 2137, ptr @lp_site %t28 = call ptr @lp_str_slice(ptr %t26, i32 0, i32 %t27) store i32 0, ptr @lp_site store ptr %t28, ptr %t29 %t31 = load ptr, ptr %t29 %t32 = call i32 @fn_has_sub(ptr %t31, ptr @.str2787) %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 %t29 %t36 = call i32 @fn_has_sub(ptr %t35, ptr @.str2788) %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 store i32 %t39, ptr %retval br label %ret ret: %t40 = load i32, ptr %retval ret i32 %t40 } define void @fn_pm_def_check(i32 %arg_d) { entry: %t0 = alloca i32 %t12 = alloca i32 store i32 %arg_d, ptr %t0 %t1 = load ptr, ptr @g_g_df_reg %t2 = load i32, ptr %t0 %t3 = getelementptr inbounds %LSlice, ptr %t1, i32 0, i32 0 %t4 = load ptr, ptr %t3 %t5 = getelementptr inbounds %LSlice, ptr %t1, i32 0, i32 1 %t6 = load i32, ptr %t5 %t7 = icmp ult i32 %t2, %t6 br i1 %t7, label %ixok0, label %ixbad1 ixbad1: store i32 2138, ptr @lp_site %t8 = call ptr @lp_win_stdio(i32 2) store i32 0, ptr @lp_site call i32 (ptr, ptr, ...) @fprintf(ptr %t8, ptr @.fmt_bounds, ptr @.str2789, i32 %t2, i32 %t6) call void @exit(i32 1) unreachable ixok0: %t9 = getelementptr inbounds ptr, ptr %t4, i32 %t2 %t10 = load ptr, ptr %t9 %t11 = call i32 @fn_reg_find(ptr %t10) store i32 %t11, ptr %t12 %t13 = load i32, ptr %t12 %t14 = call i32 @fn_pm_is(i32 %t13) %t15 = icmp eq i32 %t14, 0 %t16 = zext i1 %t15 to i32 %t17 = icmp ne i32 %t16, 0 br i1 %t17, label %then2, label %ifend4 then2: br label %ret ifend4: %t18 = load ptr, ptr @g_g_df_rec %t19 = load i32, ptr %t0 %t20 = getelementptr inbounds %LSlice, ptr %t18, i32 0, i32 0 %t21 = load ptr, ptr %t20 %t22 = getelementptr inbounds %LSlice, ptr %t18, i32 0, i32 1 %t23 = load i32, ptr %t22 %t24 = icmp ult i32 %t19, %t23 br i1 %t24, label %ixok5, label %ixbad6 ixbad6: store i32 2139, ptr @lp_site %t25 = call ptr @lp_win_stdio(i32 2) store i32 0, ptr @lp_site call i32 (ptr, ptr, ...) @fprintf(ptr %t25, ptr @.fmt_bounds, ptr @.str2791, i32 %t19, i32 %t23) call void @exit(i32 1) unreachable ixok5: %t26 = getelementptr inbounds ptr, ptr %t21, i32 %t19 %t27 = load ptr, ptr %t26 %t28 = getelementptr inbounds %Cmp_Node, ptr %t27, i32 0, i32 9 %t29 = load ptr, ptr %t28 store ptr %t29, ptr @g_g_err_file %t30 = load ptr, ptr @g_g_df_rec %t31 = load i32, ptr %t0 %t32 = getelementptr inbounds %LSlice, ptr %t30, i32 0, i32 0 %t33 = load ptr, ptr %t32 %t34 = getelementptr inbounds %LSlice, ptr %t30, i32 0, i32 1 %t35 = load i32, ptr %t34 %t36 = icmp ult i32 %t31, %t35 br i1 %t36, label %ixok7, label %ixbad8 ixbad8: store i32 2140, ptr @lp_site %t37 = call ptr @lp_win_stdio(i32 2) store i32 0, ptr @lp_site call i32 (ptr, ptr, ...) @fprintf(ptr %t37, ptr @.fmt_bounds, ptr @.str2792, i32 %t31, i32 %t35) call void @exit(i32 1) unreachable ixok7: %t38 = getelementptr inbounds ptr, ptr %t33, i32 %t31 %t39 = load ptr, ptr %t38 %t40 = getelementptr inbounds %Cmp_Node, ptr %t39, i32 0, i32 8 %t41 = load i32, ptr %t40 store i32 %t41, ptr @g_g_err_line store i32 0, ptr @g_g_parsing %t42 = load ptr, ptr @g_g_rg_name %t43 = load i32, ptr %t12 %t44 = getelementptr inbounds %LSlice, ptr %t42, i32 0, i32 0 %t45 = load ptr, ptr %t44 %t46 = getelementptr inbounds %LSlice, ptr %t42, i32 0, i32 1 %t47 = load i32, ptr %t46 %t48 = icmp ult i32 %t43, %t47 br i1 %t48, label %ixok9, label %ixbad10 ixbad10: store i32 2141, ptr @lp_site %t49 = call ptr @lp_win_stdio(i32 2) store i32 0, ptr @lp_site call i32 (ptr, ptr, ...) @fprintf(ptr %t49, ptr @.fmt_bounds, ptr @.str2794, i32 %t43, i32 %t47) call void @exit(i32 1) unreachable ixok9: %t50 = getelementptr inbounds ptr, ptr %t45, i32 %t43 %t51 = load ptr, ptr %t50 store i32 2142, ptr @lp_site %t52 = call ptr @lp_str_concat(ptr @.str2793, ptr %t51) store i32 0, ptr @lp_site store i32 2143, ptr @lp_site %t53 = call ptr @lp_str_concat(ptr %t52, ptr @.str2795) store i32 0, ptr @lp_site call void @lp_free(ptr %t52) %t54 = load ptr, ptr @g_g_df_key %t55 = load i32, ptr %t0 %t56 = getelementptr inbounds %LSlice, ptr %t54, i32 0, i32 0 %t57 = load ptr, ptr %t56 %t58 = getelementptr inbounds %LSlice, ptr %t54, i32 0, i32 1 %t59 = load i32, ptr %t58 %t60 = icmp ult i32 %t55, %t59 br i1 %t60, label %ixok11, label %ixbad12 ixbad12: store i32 2144, ptr @lp_site %t61 = call ptr @lp_win_stdio(i32 2) store i32 0, ptr @lp_site call i32 (ptr, ptr, ...) @fprintf(ptr %t61, ptr @.fmt_bounds, ptr @.str2796, i32 %t55, i32 %t59) call void @exit(i32 1) unreachable ixok11: %t62 = getelementptr inbounds ptr, ptr %t57, i32 %t55 %t63 = load ptr, ptr %t62 store i32 2145, ptr @lp_site %t64 = call ptr @lp_str_concat(ptr %t53, ptr %t63) store i32 0, ptr @lp_site call void @lp_free(ptr %t53) store i32 2146, ptr @lp_site %t65 = call ptr @lp_str_concat(ptr %t64, ptr @.str2797) store i32 0, ptr @lp_site call void @lp_free(ptr %t64) %t66 = load ptr, ptr @g_g_rg_name %t67 = load i32, ptr %t12 %t68 = getelementptr inbounds %LSlice, ptr %t66, i32 0, i32 0 %t69 = load ptr, ptr %t68 %t70 = getelementptr inbounds %LSlice, ptr %t66, i32 0, i32 1 %t71 = load i32, ptr %t70 %t72 = icmp ult i32 %t67, %t71 br i1 %t72, label %ixok13, label %ixbad14 ixbad14: store i32 2147, ptr @lp_site %t73 = call ptr @lp_win_stdio(i32 2) store i32 0, ptr @lp_site call i32 (ptr, ptr, ...) @fprintf(ptr %t73, ptr @.fmt_bounds, ptr @.str2798, i32 %t67, i32 %t71) call void @exit(i32 1) unreachable ixok13: %t74 = getelementptr inbounds ptr, ptr %t69, i32 %t67 %t75 = load ptr, ptr %t74 store i32 2148, ptr @lp_site %t76 = call ptr @lp_str_concat(ptr %t65, ptr %t75) store i32 0, ptr @lp_site call void @lp_free(ptr %t65) store i32 2149, ptr @lp_site %t77 = call ptr @lp_str_concat(ptr %t76, ptr @.str2799) store i32 0, ptr @lp_site call void @lp_free(ptr %t76) %t78 = load ptr, ptr @g_g_rg_from %t79 = load i32, ptr %t12 %t80 = getelementptr inbounds %LSlice, ptr %t78, i32 0, i32 0 %t81 = load ptr, ptr %t80 %t82 = getelementptr inbounds %LSlice, ptr %t78, i32 0, i32 1 %t83 = load i32, ptr %t82 %t84 = icmp ult i32 %t79, %t83 br i1 %t84, label %ixok15, label %ixbad16 ixbad16: store i32 2150, ptr @lp_site %t85 = call ptr @lp_win_stdio(i32 2) store i32 0, ptr @lp_site call i32 (ptr, ptr, ...) @fprintf(ptr %t85, ptr @.fmt_bounds, ptr @.str2800, i32 %t79, i32 %t83) call void @exit(i32 1) unreachable ixok15: %t86 = getelementptr inbounds ptr, ptr %t81, i32 %t79 %t87 = load ptr, ptr %t86 store i32 2151, ptr @lp_site %t88 = call ptr @lp_str_concat(ptr %t77, ptr %t87) store i32 0, ptr @lp_site call void @lp_free(ptr %t77) store i32 2152, ptr @lp_site %t89 = call ptr @lp_str_concat(ptr %t88, ptr @.str2801) store i32 0, ptr @lp_site call void @lp_free(ptr %t88) call void @fn_perr(ptr %t89) br label %ret ret: ret void } define void @fn_pm_finish() { entry: %t0 = alloca i32 %t1 = alloca i32 %t25 = alloca ptr %t34 = alloca i32 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_rg_name %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 i32, ptr %t1 %t10 = call i32 @fn_pm_is(i32 %t9) %t11 = icmp ne i32 %t10, 0 br i1 %t11, label %then3, label %ifend5 then3: store i32 1, ptr %t0 br label %ifend5 ifend5: %t12 = load i32, ptr %t1 %t13 = add i32 %t12, 1 store i32 %t13, ptr %t1 br label %wcond0 wend2: %t14 = load i32, ptr %t0 %t15 = icmp eq i32 %t14, 0 %t16 = zext i1 %t15 to i32 %t17 = icmp ne i32 %t16, 0 br i1 %t17, label %then6, label %ifend8 then6: br label %ret ifend8: store i32 1, ptr @g_g_pm_any %t18 = load ptr, ptr @g_g_act_main call void @fn_pm_manifest(ptr %t18) %t19 = getelementptr %LSlice, ptr null, i32 1 %t20 = ptrtoint ptr %t19 to i64 store i32 2153, ptr @lp_site %t21 = call ptr @lp_malloc(i64 %t20) store i32 0, ptr @lp_site %t22 = getelementptr inbounds %LSlice, ptr %t21, i32 0, i32 0 store ptr null, ptr %t22 %t23 = getelementptr inbounds %LSlice, ptr %t21, i32 0, i32 1 store i32 0, ptr %t23 %t24 = getelementptr inbounds %LSlice, ptr %t21, i32 0, i32 2 store i32 0, ptr %t24 store ptr %t21, ptr %t25 store i32 0, ptr %t1 br label %wcond9 wcond9: %t26 = load i32, ptr %t1 %t27 = load ptr, ptr @g_g_rg_name %t28 = getelementptr inbounds %LSlice, ptr %t27, i32 0, i32 1 %t29 = load i32, ptr %t28 %t30 = icmp slt i32 %t26, %t29 %t31 = zext i1 %t30 to i32 %t32 = icmp ne i32 %t31, 0 br i1 %t32, label %wbody10, label %wend11 wbody10: %t33 = load ptr, ptr %t25 %t35 = load i32, ptr %t1 %t36 = call i32 @fn_pm_is(i32 %t35) %t37 = icmp ne i32 %t36, 0 %t38 = zext i1 %t37 to i32 store i32 %t38, ptr %t34 br i1 %t37, label %sc12, label %scend13 sc12: %t39 = load i32, ptr %t1 %t40 = call i32 @fn_pm_validate(i32 %t39) %t41 = icmp ne i32 %t40, 0 %t42 = zext i1 %t41 to i32 store i32 %t42, ptr %t34 br label %scend13 scend13: %t43 = load i32, ptr %t34 %t44 = getelementptr inbounds %LSlice, ptr %t33, i32 0, i32 1 %t45 = getelementptr inbounds %LSlice, ptr %t33, i32 0, i32 2 %t46 = getelementptr inbounds %LSlice, ptr %t33, i32 0, i32 0 %t47 = load i32, ptr %t44 %t48 = load i32, ptr %t45 %t49 = icmp sge i32 %t47, %t48 br i1 %t49, label %grow14, label %put15 grow14: %t50 = mul i32 %t48, 2 %t51 = icmp eq i32 %t48, 0 %t52 = select i1 %t51, i32 8, i32 %t50 %t53 = getelementptr i32, 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 store i32 2154, ptr @lp_site %t58 = call ptr @lp_realloc(ptr %t57, i64 %t56) store i32 0, ptr @lp_site store ptr %t58, ptr %t46 store i32 %t52, ptr %t45 br label %put15 put15: %t59 = load ptr, ptr %t46 %t60 = getelementptr inbounds i32, ptr %t59, i32 %t47 store i32 %t43, ptr %t60 %t61 = add i32 %t47, 1 store i32 %t61, ptr %t44 %t62 = load i32, ptr %t1 %t63 = add i32 %t62, 1 store i32 %t63, ptr %t1 br label %wcond9 wend11: call void @fn_diag_stop_if_errors() call void @fn_pm_consts_gen() store i32 0, ptr %t1 br label %wcond16 wcond16: %t64 = load i32, ptr %t1 %t65 = load ptr, ptr @g_g_rg_name %t66 = getelementptr inbounds %LSlice, ptr %t65, i32 0, i32 1 %t67 = load i32, ptr %t66 %t68 = icmp slt i32 %t64, %t67 %t69 = zext i1 %t68 to i32 %t70 = icmp ne i32 %t69, 0 br i1 %t70, label %wbody17, label %wend18 wbody17: %t71 = load ptr, ptr %t25 %t72 = load i32, ptr %t1 %t73 = getelementptr inbounds %LSlice, ptr %t71, i32 0, i32 0 %t74 = load ptr, ptr %t73 %t75 = getelementptr inbounds %LSlice, ptr %t71, i32 0, i32 1 %t76 = load i32, ptr %t75 %t77 = icmp ult i32 %t72, %t76 br i1 %t77, label %ixok19, label %ixbad20 ixbad20: store i32 2155, ptr @lp_site %t78 = call ptr @lp_win_stdio(i32 2) store i32 0, ptr @lp_site call i32 (ptr, ptr, ...) @fprintf(ptr %t78, ptr @.fmt_bounds, ptr @.str2803, i32 %t72, i32 %t76) call void @exit(i32 1) unreachable ixok19: %t79 = getelementptr inbounds i32, ptr %t74, i32 %t72 %t80 = load i32, ptr %t79 %t81 = icmp ne i32 %t80, 0 br i1 %t81, label %then21, label %ifend23 then21: %t82 = load i32, ptr %t1 call void @fn_pm_collect(i32 %t82) %t83 = load i32, ptr %t1 call void @fn_pm_gen(i32 %t83) br label %ifend23 ifend23: %t84 = load i32, ptr %t1 %t85 = add i32 %t84, 1 store i32 %t85, ptr %t1 br label %wcond16 wend18: br label %ret ret: ret void } define void @fn_pmc_index() { entry: %t6 = alloca ptr %t13 = alloca ptr %t20 = alloca ptr %t21 = alloca i32 %t39 = alloca ptr %t40 = alloca i32 %t41 = alloca i32 %t42 = alloca i32 %t0 = getelementptr %LSlice, ptr null, i32 1 %t1 = ptrtoint ptr %t0 to i64 store i32 2156, ptr @lp_site %t2 = call ptr @lp_malloc(i64 %t1) store i32 0, ptr @lp_site %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 store i32 2157, ptr @lp_site %t9 = call ptr @lp_malloc(i64 %t8) store i32 0, ptr @lp_site %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 = getelementptr %LSlice, ptr null, i32 1 %t15 = ptrtoint ptr %t14 to i64 store i32 2158, ptr @lp_site %t16 = call ptr @lp_malloc(i64 %t15) store i32 0, ptr @lp_site %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 store i32 0, ptr %t21 br label %wcond0 wcond0: %t22 = load i32, ptr %t21 %t23 = load ptr, ptr @g_prog %t24 = getelementptr inbounds %LSlice, ptr %t23, i32 0, i32 1 %t25 = load i32, ptr %t24 %t26 = icmp slt i32 %t22, %t25 %t27 = zext i1 %t26 to i32 %t28 = icmp ne i32 %t27, 0 br i1 %t28, label %wbody1, label %wend2 wbody1: %t29 = load ptr, ptr @g_prog %t30 = load i32, ptr %t21 %t31 = getelementptr inbounds %LSlice, ptr %t29, i32 0, i32 0 %t32 = load ptr, ptr %t31 %t33 = getelementptr inbounds %LSlice, ptr %t29, i32 0, i32 1 %t34 = load i32, ptr %t33 %t35 = icmp ult i32 %t30, %t34 br i1 %t35, label %ixok3, label %ixbad4 ixbad4: store i32 2159, ptr @lp_site %t36 = call ptr @lp_win_stdio(i32 2) store i32 0, ptr @lp_site call i32 (ptr, ptr, ...) @fprintf(ptr %t36, ptr @.fmt_bounds, ptr @.str2805, i32 %t30, i32 %t34) call void @exit(i32 1) unreachable ixok3: %t37 = getelementptr inbounds ptr, ptr %t32, i32 %t30 %t38 = load ptr, ptr %t37 store ptr %t38, ptr %t39 %t43 = load ptr, ptr %t39 %t44 = getelementptr inbounds %Cmp_Node, ptr %t43, i32 0, i32 0 %t45 = load i32, ptr %t44 %t46 = icmp eq i32 %t45, 3 %t47 = zext i1 %t46 to i32 %t48 = icmp ne i32 %t47, 0 %t49 = zext i1 %t48 to i32 store i32 %t49, ptr %t42 br i1 %t48, label %sc5, label %scend6 sc5: %t50 = load ptr, ptr %t39 %t51 = getelementptr inbounds %Cmp_Node, ptr %t50, i32 0, i32 1 %t52 = load ptr, ptr %t51 %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 %t42 br label %scend6 scend6: %t57 = load i32, ptr %t42 %t58 = icmp ne i32 %t57, 0 %t59 = zext i1 %t58 to i32 store i32 %t59, ptr %t41 br i1 %t58, label %sc7, label %scend8 sc7: %t60 = load ptr, ptr %t39 %t61 = getelementptr inbounds %Cmp_Node, ptr %t60, i32 0, i32 9 %t62 = load ptr, ptr %t61 %t63 = icmp ne ptr %t62, null %t64 = zext i1 %t63 to i32 %t65 = icmp ne i32 %t64, 0 %t66 = zext i1 %t65 to i32 store i32 %t66, ptr %t41 br label %scend8 scend8: %t67 = load i32, ptr %t41 %t68 = icmp ne i32 %t67, 0 %t69 = zext i1 %t68 to i32 store i32 %t69, ptr %t40 br i1 %t68, label %sc9, label %scend10 sc9: %t70 = load ptr, ptr %t39 %t71 = getelementptr inbounds %Cmp_Node, ptr %t70, i32 0, i32 9 %t72 = load ptr, ptr %t71 %t73 = call i32 @fn_is_runtime_file(ptr %t72) %t74 = icmp eq i32 %t73, 0 %t75 = zext i1 %t74 to i32 %t76 = icmp ne i32 %t75, 0 %t77 = zext i1 %t76 to i32 store i32 %t77, ptr %t40 br label %scend10 scend10: %t78 = load i32, ptr %t40 %t79 = icmp ne i32 %t78, 0 br i1 %t79, label %then11, label %ifend13 then11: %t80 = load ptr, ptr %t6 %t81 = load ptr, ptr %t20 %t82 = getelementptr inbounds %LSlice, ptr %t81, i32 0, i32 1 %t83 = load i32, ptr %t82 %t84 = getelementptr inbounds %LSlice, ptr %t80, i32 0, i32 1 %t85 = getelementptr inbounds %LSlice, ptr %t80, i32 0, i32 2 %t86 = getelementptr inbounds %LSlice, ptr %t80, i32 0, i32 0 %t87 = load i32, ptr %t84 %t88 = load i32, ptr %t85 %t89 = icmp sge i32 %t87, %t88 br i1 %t89, label %grow14, label %put15 grow14: %t90 = mul i32 %t88, 2 %t91 = icmp eq i32 %t88, 0 %t92 = select i1 %t91, i32 8, i32 %t90 %t93 = getelementptr i32, ptr null, i32 1 %t94 = ptrtoint ptr %t93 to i64 %t95 = zext i32 %t92 to i64 %t96 = mul i64 %t95, %t94 %t97 = load ptr, ptr %t86 store i32 2160, ptr @lp_site %t98 = call ptr @lp_realloc(ptr %t97, i64 %t96) store i32 0, ptr @lp_site store ptr %t98, ptr %t86 store i32 %t92, ptr %t85 br label %put15 put15: %t99 = load ptr, ptr %t86 %t100 = getelementptr inbounds i32, ptr %t99, i32 %t87 store i32 %t83, ptr %t100 %t101 = add i32 %t87, 1 store i32 %t101, ptr %t84 %t102 = load ptr, ptr %t13 %t103 = load ptr, ptr %t39 %t104 = getelementptr inbounds %Cmp_Node, ptr %t103, i32 0, i32 1 %t105 = load ptr, ptr %t104 %t106 = call ptr @fn_vis_plain(ptr %t105) %t107 = getelementptr inbounds %LSlice, ptr %t102, i32 0, i32 1 %t108 = getelementptr inbounds %LSlice, ptr %t102, i32 0, i32 2 %t109 = getelementptr inbounds %LSlice, ptr %t102, i32 0, i32 0 %t110 = load i32, ptr %t107 %t111 = load i32, ptr %t108 %t112 = icmp sge i32 %t110, %t111 br i1 %t112, label %grow16, label %put17 grow16: %t113 = mul i32 %t111, 2 %t114 = icmp eq i32 %t111, 0 %t115 = select i1 %t114, i32 8, i32 %t113 %t116 = getelementptr ptr, ptr null, i32 1 %t117 = ptrtoint ptr %t116 to i64 %t118 = zext i32 %t115 to i64 %t119 = mul i64 %t118, %t117 %t120 = load ptr, ptr %t109 store i32 2161, ptr @lp_site %t121 = call ptr @lp_realloc(ptr %t120, i64 %t119) store i32 0, ptr @lp_site store ptr %t121, ptr %t109 store i32 %t115, ptr %t108 br label %put17 put17: %t122 = load ptr, ptr %t109 %t123 = getelementptr inbounds ptr, ptr %t122, i32 %t110 store ptr %t106, ptr %t123 %t124 = add i32 %t110, 1 store i32 %t124, ptr %t107 %t125 = load ptr, ptr %t20 %t126 = load ptr, ptr %t39 %t127 = getelementptr inbounds %LSlice, ptr %t125, i32 0, i32 1 %t128 = getelementptr inbounds %LSlice, ptr %t125, i32 0, i32 2 %t129 = getelementptr inbounds %LSlice, ptr %t125, i32 0, i32 0 %t130 = load i32, ptr %t127 %t131 = load i32, ptr %t128 %t132 = icmp sge i32 %t130, %t131 br i1 %t132, label %grow18, label %put19 grow18: %t133 = mul i32 %t131, 2 %t134 = icmp eq i32 %t131, 0 %t135 = select i1 %t134, i32 8, i32 %t133 %t136 = getelementptr ptr, ptr null, i32 1 %t137 = ptrtoint ptr %t136 to i64 %t138 = zext i32 %t135 to i64 %t139 = mul i64 %t138, %t137 %t140 = load ptr, ptr %t129 store i32 2162, ptr @lp_site %t141 = call ptr @lp_realloc(ptr %t140, i64 %t139) store i32 0, ptr @lp_site store ptr %t141, ptr %t129 store i32 %t135, ptr %t128 br label %put19 put19: %t142 = load ptr, ptr %t129 %t143 = getelementptr inbounds ptr, ptr %t142, i32 %t130 store ptr %t126, ptr %t143 %t144 = add i32 %t130, 1 store i32 %t144, ptr %t127 br label %ifend13 ifend13: %t145 = load i32, ptr %t21 %t146 = add i32 %t145, 1 store i32 %t146, ptr %t21 br label %wcond0 wend2: %t147 = load ptr, ptr %t6 %t148 = load ptr, ptr %t13 call void @fn_sc_sort(ptr %t147, ptr %t148) %t149 = getelementptr %LSlice, ptr null, i32 1 %t150 = ptrtoint ptr %t149 to i64 store i32 2163, ptr @lp_site %t151 = call ptr @lp_malloc(i64 %t150) store i32 0, ptr @lp_site %t152 = getelementptr inbounds %LSlice, ptr %t151, i32 0, i32 0 store ptr null, ptr %t152 %t153 = getelementptr inbounds %LSlice, ptr %t151, i32 0, i32 1 store i32 0, ptr %t153 %t154 = getelementptr inbounds %LSlice, ptr %t151, i32 0, i32 2 store i32 0, ptr %t154 store ptr %t151, ptr @g_g_pmc_all %t155 = getelementptr %LSlice, ptr null, i32 1 %t156 = ptrtoint ptr %t155 to i64 store i32 2164, ptr @lp_site %t157 = call ptr @lp_malloc(i64 %t156) store i32 0, ptr @lp_site %t158 = getelementptr inbounds %LSlice, ptr %t157, i32 0, i32 0 store ptr null, ptr %t158 %t159 = getelementptr inbounds %LSlice, ptr %t157, i32 0, i32 1 store i32 0, ptr %t159 %t160 = getelementptr inbounds %LSlice, ptr %t157, i32 0, i32 2 store i32 0, ptr %t160 store ptr %t157, ptr @g_g_pmc_node store i32 0, ptr %t21 br label %wcond20 wcond20: %t161 = load i32, ptr %t21 %t162 = load ptr, ptr %t6 %t163 = getelementptr inbounds %LSlice, ptr %t162, i32 0, i32 1 %t164 = load i32, ptr %t163 %t165 = icmp slt i32 %t161, %t164 %t166 = zext i1 %t165 to i32 %t167 = icmp ne i32 %t166, 0 br i1 %t167, label %wbody21, label %wend22 wbody21: %t168 = load ptr, ptr @g_g_pmc_all %t169 = load ptr, ptr %t13 %t170 = load ptr, ptr %t6 %t171 = load i32, ptr %t21 %t172 = getelementptr inbounds %LSlice, ptr %t170, i32 0, i32 0 %t173 = load ptr, ptr %t172 %t174 = getelementptr inbounds %LSlice, ptr %t170, i32 0, i32 1 %t175 = load i32, ptr %t174 %t176 = icmp ult i32 %t171, %t175 br i1 %t176, label %ixok23, label %ixbad24 ixbad24: store i32 2165, ptr @lp_site %t177 = call ptr @lp_win_stdio(i32 2) store i32 0, ptr @lp_site call i32 (ptr, ptr, ...) @fprintf(ptr %t177, ptr @.fmt_bounds, ptr @.str2806, i32 %t171, i32 %t175) call void @exit(i32 1) unreachable ixok23: %t178 = getelementptr inbounds i32, ptr %t173, i32 %t171 %t179 = load i32, ptr %t178 %t180 = getelementptr inbounds %LSlice, ptr %t169, i32 0, i32 0 %t181 = load ptr, ptr %t180 %t182 = getelementptr inbounds %LSlice, ptr %t169, i32 0, i32 1 %t183 = load i32, ptr %t182 %t184 = icmp ult i32 %t179, %t183 br i1 %t184, label %ixok25, label %ixbad26 ixbad26: store i32 2166, ptr @lp_site %t185 = call ptr @lp_win_stdio(i32 2) store i32 0, ptr @lp_site call i32 (ptr, ptr, ...) @fprintf(ptr %t185, ptr @.fmt_bounds, ptr @.str2807, i32 %t179, i32 %t183) call void @exit(i32 1) unreachable ixok25: %t186 = getelementptr inbounds ptr, ptr %t181, i32 %t179 %t187 = load ptr, ptr %t186 %t188 = getelementptr inbounds %LSlice, ptr %t168, i32 0, i32 1 %t189 = getelementptr inbounds %LSlice, ptr %t168, i32 0, i32 2 %t190 = getelementptr inbounds %LSlice, ptr %t168, i32 0, i32 0 %t191 = load i32, ptr %t188 %t192 = load i32, ptr %t189 %t193 = icmp sge i32 %t191, %t192 br i1 %t193, label %grow27, label %put28 grow27: %t194 = mul i32 %t192, 2 %t195 = icmp eq i32 %t192, 0 %t196 = select i1 %t195, i32 8, i32 %t194 %t197 = getelementptr ptr, ptr null, i32 1 %t198 = ptrtoint ptr %t197 to i64 %t199 = zext i32 %t196 to i64 %t200 = mul i64 %t199, %t198 %t201 = load ptr, ptr %t190 store i32 2167, ptr @lp_site %t202 = call ptr @lp_realloc(ptr %t201, i64 %t200) store i32 0, ptr @lp_site store ptr %t202, ptr %t190 store i32 %t196, ptr %t189 br label %put28 put28: %t203 = load ptr, ptr %t190 %t204 = getelementptr inbounds ptr, ptr %t203, i32 %t191 store ptr %t187, ptr %t204 %t205 = add i32 %t191, 1 store i32 %t205, ptr %t188 %t206 = load ptr, ptr @g_g_pmc_node %t207 = load ptr, ptr %t20 %t208 = load ptr, ptr %t6 %t209 = load i32, ptr %t21 %t210 = getelementptr inbounds %LSlice, ptr %t208, i32 0, i32 0 %t211 = load ptr, ptr %t210 %t212 = getelementptr inbounds %LSlice, ptr %t208, i32 0, i32 1 %t213 = load i32, ptr %t212 %t214 = icmp ult i32 %t209, %t213 br i1 %t214, label %ixok29, label %ixbad30 ixbad30: store i32 2168, ptr @lp_site %t215 = call ptr @lp_win_stdio(i32 2) store i32 0, ptr @lp_site call i32 (ptr, ptr, ...) @fprintf(ptr %t215, ptr @.fmt_bounds, ptr @.str2808, i32 %t209, i32 %t213) call void @exit(i32 1) unreachable ixok29: %t216 = getelementptr inbounds i32, ptr %t211, i32 %t209 %t217 = load i32, ptr %t216 %t218 = getelementptr inbounds %LSlice, ptr %t207, i32 0, i32 0 %t219 = load ptr, ptr %t218 %t220 = getelementptr inbounds %LSlice, ptr %t207, i32 0, i32 1 %t221 = load i32, ptr %t220 %t222 = icmp ult i32 %t217, %t221 br i1 %t222, label %ixok31, label %ixbad32 ixbad32: store i32 2169, ptr @lp_site %t223 = call ptr @lp_win_stdio(i32 2) store i32 0, ptr @lp_site call i32 (ptr, ptr, ...) @fprintf(ptr %t223, ptr @.fmt_bounds, ptr @.str2809, i32 %t217, i32 %t221) call void @exit(i32 1) unreachable ixok31: %t224 = getelementptr inbounds ptr, ptr %t219, i32 %t217 %t225 = load ptr, ptr %t224 %t226 = getelementptr inbounds %LSlice, ptr %t206, i32 0, i32 1 %t227 = getelementptr inbounds %LSlice, ptr %t206, i32 0, i32 2 %t228 = getelementptr inbounds %LSlice, ptr %t206, i32 0, i32 0 %t229 = load i32, ptr %t226 %t230 = load i32, ptr %t227 %t231 = icmp sge i32 %t229, %t230 br i1 %t231, label %grow33, label %put34 grow33: %t232 = mul i32 %t230, 2 %t233 = icmp eq i32 %t230, 0 %t234 = select i1 %t233, i32 8, i32 %t232 %t235 = getelementptr ptr, ptr null, i32 1 %t236 = ptrtoint ptr %t235 to i64 %t237 = zext i32 %t234 to i64 %t238 = mul i64 %t237, %t236 %t239 = load ptr, ptr %t228 store i32 2170, ptr @lp_site %t240 = call ptr @lp_realloc(ptr %t239, i64 %t238) store i32 0, ptr @lp_site store ptr %t240, ptr %t228 store i32 %t234, ptr %t227 br label %put34 put34: %t241 = load ptr, ptr %t228 %t242 = getelementptr inbounds ptr, ptr %t241, i32 %t229 store ptr %t225, ptr %t242 %t243 = add i32 %t229, 1 store i32 %t243, ptr %t226 %t244 = load i32, ptr %t21 %t245 = add i32 %t244, 1 store i32 %t245, ptr %t21 br label %wcond20 wend22: br label %ret ret: ret void } define ptr @fn_pmc_find(ptr %arg_name) { entry: %retval = alloca ptr %t0 = alloca ptr %t1 = alloca i32 %t6 = alloca i32 %t8 = alloca i32 %t18 = alloca i32 %t29 = alloca ptr store ptr %arg_name, ptr %t0 store i32 0, ptr %t1 %t2 = load ptr, ptr @g_g_pmc_all %t3 = getelementptr inbounds %LSlice, ptr %t2, i32 0, i32 1 %t4 = load i32, ptr %t3 %t5 = sub i32 %t4, 1 store i32 %t5, ptr %t6 %t7 = sub i32 0, 1 store i32 %t7, ptr %t8 br label %wcond0 wcond0: %t9 = load i32, ptr %t1 %t10 = load i32, ptr %t6 %t11 = icmp sle i32 %t9, %t10 %t12 = zext i1 %t11 to i32 %t13 = icmp ne i32 %t12, 0 br i1 %t13, label %wbody1, label %wend2 wbody1: %t14 = load i32, ptr %t1 %t15 = load i32, ptr %t6 %t16 = add i32 %t14, %t15 %t17 = sdiv i32 %t16, 2 store i32 %t17, ptr %t18 %t19 = load ptr, ptr @g_g_pmc_all %t20 = load i32, ptr %t18 %t21 = getelementptr inbounds %LSlice, ptr %t19, i32 0, i32 0 %t22 = load ptr, ptr %t21 %t23 = getelementptr inbounds %LSlice, ptr %t19, i32 0, i32 1 %t24 = load i32, ptr %t23 %t25 = icmp ult i32 %t20, %t24 br i1 %t25, label %ixok3, label %ixbad4 ixbad4: store i32 2171, ptr @lp_site %t26 = call ptr @lp_win_stdio(i32 2) store i32 0, ptr @lp_site call i32 (ptr, ptr, ...) @fprintf(ptr %t26, ptr @.fmt_bounds, ptr @.str2810, i32 %t20, i32 %t24) call void @exit(i32 1) unreachable ixok3: %t27 = getelementptr inbounds ptr, ptr %t22, i32 %t20 %t28 = load ptr, ptr %t27 store ptr %t28, ptr %t29 %t30 = load ptr, ptr %t29 %t31 = load ptr, ptr %t0 %t32 = call i32 @lp_str_eq(ptr %t30, ptr %t31) %t33 = icmp ne i32 %t32, 0 br i1 %t33, label %then5, label %else6 then5: %t34 = load i32, ptr %t18 store i32 %t34, ptr %t8 %t35 = load i32, ptr %t18 %t36 = sub i32 %t35, 1 store i32 %t36, ptr %t6 br label %ifend7 else6: %t37 = load ptr, ptr %t0 %t38 = load ptr, ptr %t29 %t39 = call i32 @fn_reg_str_less(ptr %t37, ptr %t38) %t40 = icmp ne i32 %t39, 0 br i1 %t40, label %then8, label %else9 then8: %t41 = load i32, ptr %t18 %t42 = sub i32 %t41, 1 store i32 %t42, ptr %t6 br label %ifend10 else9: %t43 = load i32, ptr %t18 %t44 = add i32 %t43, 1 store i32 %t44, ptr %t1 br label %ifend10 ifend10: br label %ifend7 ifend7: br label %wcond0 wend2: %t45 = load i32, ptr %t8 %t46 = icmp slt i32 %t45, 0 %t47 = zext i1 %t46 to i32 %t48 = icmp ne i32 %t47, 0 br i1 %t48, label %then11, label %ifend13 then11: store ptr null, ptr %retval br label %ret ifend13: %t49 = load ptr, ptr @g_g_pmc_node %t50 = load i32, ptr %t8 %t51 = getelementptr inbounds %LSlice, ptr %t49, i32 0, i32 0 %t52 = load ptr, ptr %t51 %t53 = getelementptr inbounds %LSlice, ptr %t49, i32 0, i32 1 %t54 = load i32, ptr %t53 %t55 = icmp ult i32 %t50, %t54 br i1 %t55, label %ixok14, label %ixbad15 ixbad15: store i32 2172, ptr @lp_site %t56 = call ptr @lp_win_stdio(i32 2) store i32 0, ptr @lp_site call i32 (ptr, ptr, ...) @fprintf(ptr %t56, ptr @.fmt_bounds, ptr @.str2812, i32 %t50, i32 %t54) call void @exit(i32 1) unreachable ixok14: %t57 = getelementptr inbounds ptr, ptr %t52, i32 %t50 %t58 = load ptr, ptr %t57 store ptr %t58, ptr %retval br label %ret ret: %t59 = load ptr, ptr %retval ret ptr %t59 } define i32 @fn_pmc_int(ptr %arg_e, i32 %arg_depth) { entry: %retval = alloca i32 %t0 = alloca ptr %t1 = alloca i32 %t2 = alloca i32 %t24 = alloca i32 %t51 = alloca i32 %t88 = alloca ptr %t89 = alloca i32 %t127 = alloca i32 %t138 = alloca i32 %t142 = alloca ptr %t161 = alloca i32 %t176 = alloca i32 store ptr %arg_e, ptr %t0 store i32 %arg_depth, ptr %t1 %t3 = load ptr, ptr %t0 %t4 = icmp eq ptr %t3, null %t5 = zext i1 %t4 to i32 %t6 = icmp ne i32 %t5, 0 %t7 = zext i1 %t6 to i32 store i32 %t7, ptr %t2 br i1 %t6, label %scend1, label %sc0 sc0: %t8 = load i32, ptr %t1 %t9 = icmp sgt i32 %t8, 24 %t10 = zext i1 %t9 to i32 %t11 = icmp ne i32 %t10, 0 %t12 = zext i1 %t11 to i32 store i32 %t12, ptr %t2 br label %scend1 scend1: %t13 = load i32, ptr %t2 %t14 = icmp ne i32 %t13, 0 br i1 %t14, label %then2, label %ifend4 then2: store i32 0, ptr %retval br label %ret ifend4: %t15 = load ptr, ptr %t0 %t16 = getelementptr inbounds %Cmp_Node, ptr %t15, i32 0, i32 0 %t17 = load i32, ptr %t16 %t18 = icmp eq i32 %t17, 30 %t19 = zext i1 %t18 to i32 %t20 = icmp ne i32 %t19, 0 br i1 %t20, label %then5, label %ifend7 then5: %t21 = load ptr, ptr %t0 %t22 = getelementptr inbounds %Cmp_Node, ptr %t21, i32 0, i32 2 %t23 = load i32, ptr %t22 store i32 %t23, ptr @g_g_pmc_ival store i32 1, ptr %retval br label %ret ifend7: %t25 = load ptr, ptr %t0 %t26 = getelementptr inbounds %Cmp_Node, ptr %t25, i32 0, i32 0 %t27 = load i32, ptr %t26 %t28 = icmp eq i32 %t27, 38 %t29 = zext i1 %t28 to i32 %t30 = icmp ne i32 %t29, 0 %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 1 %t34 = load ptr, ptr %t33 %t35 = call i32 @lp_str_eq(ptr %t34, ptr @.str2813) %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: %t40 = load ptr, ptr %t0 %t41 = getelementptr inbounds %Cmp_Node, ptr %t40, i32 0, i32 4 %t42 = load ptr, ptr %t41 %t43 = load i32, ptr %t1 %t44 = add i32 %t43, 1 %t45 = call i32 @fn_pmc_int(ptr %t42, i32 %t44) %t46 = icmp eq i32 %t45, 0 %t47 = zext i1 %t46 to i32 %t48 = icmp ne i32 %t47, 0 br i1 %t48, label %then13, label %ifend15 then13: store i32 0, ptr %retval br label %ret ifend15: %t49 = load i32, ptr @g_g_pmc_ival %t50 = sub i32 0, %t49 store i32 %t50, ptr @g_g_pmc_ival store i32 1, ptr %retval br label %ret ifend12: %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 %t58 = zext i1 %t57 to i32 store i32 %t58, ptr %t51 br i1 %t57, label %sc16, label %scend17 sc16: %t59 = load ptr, ptr %t0 %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 @.str2814) %t63 = icmp ne i32 %t62, 0 %t64 = zext i1 %t63 to i32 store i32 %t64, ptr %t51 br label %scend17 scend17: %t65 = load i32, ptr %t51 %t66 = icmp ne i32 %t65, 0 br i1 %t66, label %then18, label %ifend20 then18: %t67 = load ptr, ptr %t0 %t68 = getelementptr inbounds %Cmp_Node, ptr %t67, i32 0, i32 4 %t69 = load ptr, ptr %t68 %t70 = load i32, ptr %t1 %t71 = add i32 %t70, 1 %t72 = call i32 @fn_pmc_int(ptr %t69, i32 %t71) %t73 = icmp eq i32 %t72, 0 %t74 = zext i1 %t73 to i32 %t75 = icmp ne i32 %t74, 0 br i1 %t75, label %then21, label %ifend23 then21: store i32 0, ptr %retval br label %ret ifend23: %t76 = load i32, ptr @g_g_pmc_ival %t77 = xor i32 %t76, -1 store i32 %t77, ptr @g_g_pmc_ival store i32 1, ptr %retval br label %ret ifend20: %t78 = load ptr, ptr %t0 %t79 = getelementptr inbounds %Cmp_Node, ptr %t78, i32 0, i32 0 %t80 = load i32, ptr %t79 %t81 = icmp eq i32 %t80, 33 %t82 = zext i1 %t81 to i32 %t83 = icmp ne i32 %t82, 0 br i1 %t83, label %then24, label %ifend26 then24: %t84 = load ptr, ptr %t0 %t85 = getelementptr inbounds %Cmp_Node, ptr %t84, i32 0, i32 1 %t86 = load ptr, ptr %t85 %t87 = call ptr @fn_pmc_find(ptr %t86) store ptr %t87, ptr %t88 %t90 = load ptr, ptr %t88 %t91 = icmp eq ptr %t90, null %t92 = zext i1 %t91 to i32 %t93 = icmp ne i32 %t92, 0 %t94 = zext i1 %t93 to i32 store i32 %t94, ptr %t89 br i1 %t93, label %scend28, label %sc27 sc27: %t95 = load ptr, ptr %t88 %t96 = getelementptr inbounds %Cmp_Node, ptr %t95, i32 0, i32 3 %t97 = load ptr, ptr %t96 %t98 = call i32 @lp_str_eq(ptr %t97, ptr @.str2815) %t99 = icmp eq i32 %t98, 0 %t100 = zext i1 %t99 to i32 %t101 = icmp ne i32 %t100, 0 %t102 = zext i1 %t101 to i32 store i32 %t102, ptr %t89 br label %scend28 scend28: %t103 = load i32, ptr %t89 %t104 = icmp ne i32 %t103, 0 br i1 %t104, label %then29, label %ifend31 then29: store i32 0, ptr %retval br label %ret ifend31: %t105 = load ptr, ptr %t88 %t106 = getelementptr inbounds %Cmp_Node, ptr %t105, i32 0, i32 4 %t107 = load ptr, ptr %t106 %t108 = load i32, ptr %t1 %t109 = add i32 %t108, 1 %t110 = call i32 @fn_pmc_int(ptr %t107, i32 %t109) store i32 %t110, ptr %retval br label %ret ifend26: %t111 = load ptr, ptr %t0 %t112 = getelementptr inbounds %Cmp_Node, ptr %t111, i32 0, i32 0 %t113 = load i32, ptr %t112 %t114 = icmp eq i32 %t113, 37 %t115 = zext i1 %t114 to i32 %t116 = icmp ne i32 %t115, 0 br i1 %t116, label %then32, label %ifend34 then32: %t117 = load ptr, ptr %t0 %t118 = getelementptr inbounds %Cmp_Node, ptr %t117, i32 0, i32 4 %t119 = load ptr, ptr %t118 %t120 = load i32, ptr %t1 %t121 = add i32 %t120, 1 %t122 = call i32 @fn_pmc_int(ptr %t119, i32 %t121) %t123 = icmp eq i32 %t122, 0 %t124 = zext i1 %t123 to i32 %t125 = icmp ne i32 %t124, 0 br i1 %t125, label %then35, label %ifend37 then35: store i32 0, ptr %retval br label %ret ifend37: %t126 = load i32, ptr @g_g_pmc_ival store i32 %t126, ptr %t127 %t128 = load ptr, ptr %t0 %t129 = getelementptr inbounds %Cmp_Node, ptr %t128, i32 0, i32 5 %t130 = load ptr, ptr %t129 %t131 = load i32, ptr %t1 %t132 = add i32 %t131, 1 %t133 = call i32 @fn_pmc_int(ptr %t130, i32 %t132) %t134 = icmp eq i32 %t133, 0 %t135 = zext i1 %t134 to i32 %t136 = icmp ne i32 %t135, 0 br i1 %t136, label %then38, label %ifend40 then38: store i32 0, ptr %retval br label %ret ifend40: %t137 = load i32, ptr @g_g_pmc_ival store i32 %t137, ptr %t138 %t139 = load ptr, ptr %t0 %t140 = getelementptr inbounds %Cmp_Node, ptr %t139, i32 0, i32 1 %t141 = load ptr, ptr %t140 store ptr %t141, ptr %t142 %t143 = load ptr, ptr %t142 %t144 = call i32 @lp_str_eq(ptr %t143, ptr @.str2816) %t145 = icmp ne i32 %t144, 0 br i1 %t145, label %then41, label %ifend43 then41: %t146 = load i32, ptr %t127 %t147 = load i32, ptr %t138 %t148 = add i32 %t146, %t147 store i32 %t148, ptr @g_g_pmc_ival store i32 1, ptr %retval br label %ret ifend43: %t149 = load ptr, ptr %t142 %t150 = call i32 @lp_str_eq(ptr %t149, ptr @.str2817) %t151 = icmp ne i32 %t150, 0 br i1 %t151, label %then44, label %ifend46 then44: %t152 = load i32, ptr %t127 %t153 = load i32, ptr %t138 %t154 = sub i32 %t152, %t153 store i32 %t154, ptr @g_g_pmc_ival store i32 1, ptr %retval br label %ret ifend46: %t155 = load ptr, ptr %t142 %t156 = call i32 @lp_str_eq(ptr %t155, ptr @.str2818) %t157 = icmp ne i32 %t156, 0 br i1 %t157, label %then47, label %ifend49 then47: %t158 = load i32, ptr %t127 %t159 = load i32, ptr %t138 %t160 = mul i32 %t158, %t159 store i32 %t160, ptr @g_g_pmc_ival store i32 1, ptr %retval br label %ret ifend49: %t162 = load ptr, ptr %t142 %t163 = call i32 @lp_str_eq(ptr %t162, ptr @.str2819) %t164 = icmp ne i32 %t163, 0 %t165 = zext i1 %t164 to i32 store i32 %t165, ptr %t161 br i1 %t164, label %sc50, label %scend51 sc50: %t166 = load i32, ptr %t138 %t167 = icmp ne i32 %t166, 0 %t168 = zext i1 %t167 to i32 %t169 = icmp ne i32 %t168, 0 %t170 = zext i1 %t169 to i32 store i32 %t170, ptr %t161 br label %scend51 scend51: %t171 = load i32, ptr %t161 %t172 = icmp ne i32 %t171, 0 br i1 %t172, label %then52, label %ifend54 then52: %t173 = load i32, ptr %t127 %t174 = load i32, ptr %t138 %t175 = sdiv i32 %t173, %t174 store i32 %t175, ptr @g_g_pmc_ival store i32 1, ptr %retval br label %ret ifend54: %t177 = load ptr, ptr %t142 %t178 = call i32 @lp_str_eq(ptr %t177, ptr @.str2820) %t179 = icmp ne i32 %t178, 0 %t180 = zext i1 %t179 to i32 store i32 %t180, ptr %t176 br i1 %t179, label %sc55, label %scend56 sc55: %t181 = load i32, ptr %t138 %t182 = icmp ne i32 %t181, 0 %t183 = zext i1 %t182 to i32 %t184 = icmp ne i32 %t183, 0 %t185 = zext i1 %t184 to i32 store i32 %t185, ptr %t176 br label %scend56 scend56: %t186 = load i32, ptr %t176 %t187 = icmp ne i32 %t186, 0 br i1 %t187, label %then57, label %ifend59 then57: %t188 = load i32, ptr %t127 %t189 = load i32, ptr %t138 %t190 = srem i32 %t188, %t189 store i32 %t190, ptr @g_g_pmc_ival store i32 1, ptr %retval br label %ret ifend59: %t191 = load ptr, ptr %t142 %t192 = call i32 @lp_str_eq(ptr %t191, ptr @.str2821) %t193 = icmp ne i32 %t192, 0 br i1 %t193, label %then60, label %ifend62 then60: %t194 = load i32, ptr %t127 %t195 = load i32, ptr %t138 %t196 = shl i32 %t194, %t195 store i32 %t196, ptr @g_g_pmc_ival store i32 1, ptr %retval br label %ret ifend62: %t197 = load ptr, ptr %t142 %t198 = call i32 @lp_str_eq(ptr %t197, ptr @.str2822) %t199 = icmp ne i32 %t198, 0 br i1 %t199, label %then63, label %ifend65 then63: %t200 = load i32, ptr %t127 %t201 = load i32, ptr %t138 %t202 = lshr i32 %t200, %t201 store i32 %t202, ptr @g_g_pmc_ival store i32 1, ptr %retval br label %ret ifend65: %t203 = load ptr, ptr %t142 %t204 = call i32 @lp_str_eq(ptr %t203, ptr @.str2823) %t205 = icmp ne i32 %t204, 0 br i1 %t205, label %then66, label %ifend68 then66: %t206 = load i32, ptr %t127 %t207 = load i32, ptr %t138 %t208 = and i32 %t206, %t207 store i32 %t208, ptr @g_g_pmc_ival store i32 1, ptr %retval br label %ret ifend68: %t209 = load ptr, ptr %t142 %t210 = call i32 @lp_str_eq(ptr %t209, ptr @.str2824) %t211 = icmp ne i32 %t210, 0 br i1 %t211, label %then69, label %ifend71 then69: %t212 = load i32, ptr %t127 %t213 = load i32, ptr %t138 %t214 = or i32 %t212, %t213 store i32 %t214, ptr @g_g_pmc_ival store i32 1, ptr %retval br label %ret ifend71: %t215 = load ptr, ptr %t142 %t216 = call i32 @lp_str_eq(ptr %t215, ptr @.str2825) %t217 = icmp ne i32 %t216, 0 br i1 %t217, label %then72, label %ifend74 then72: %t218 = load i32, ptr %t127 %t219 = load i32, ptr %t138 %t220 = xor i32 %t218, %t219 store i32 %t220, ptr @g_g_pmc_ival store i32 1, ptr %retval br label %ret ifend74: br label %ifend34 ifend34: store i32 0, ptr %retval br label %ret ret: %t221 = load i32, ptr %retval ret i32 %t221 } define i32 @fn_pmc_float(ptr %arg_e, i32 %arg_depth) { entry: %retval = alloca i32 %t0 = alloca ptr %t1 = alloca i32 %t2 = alloca i32 %t15 = alloca i32 %t45 = alloca i32 %t94 = alloca ptr %t95 = alloca i32 store ptr %arg_e, ptr %t0 store i32 %arg_depth, ptr %t1 %t3 = load ptr, ptr %t0 %t4 = icmp eq ptr %t3, null %t5 = zext i1 %t4 to i32 %t6 = icmp ne i32 %t5, 0 %t7 = zext i1 %t6 to i32 store i32 %t7, ptr %t2 br i1 %t6, label %scend1, label %sc0 sc0: %t8 = load i32, ptr %t1 %t9 = icmp sgt i32 %t8, 24 %t10 = zext i1 %t9 to i32 %t11 = icmp ne i32 %t10, 0 %t12 = zext i1 %t11 to i32 store i32 %t12, ptr %t2 br label %scend1 scend1: %t13 = load i32, ptr %t2 %t14 = icmp ne i32 %t13, 0 br i1 %t14, label %then2, label %ifend4 then2: store i32 0, ptr %retval br label %ret ifend4: %t16 = load ptr, ptr %t0 %t17 = getelementptr inbounds %Cmp_Node, ptr %t16, i32 0, i32 0 %t18 = load i32, ptr %t17 %t19 = icmp eq i32 %t18, 40 %t20 = zext i1 %t19 to i32 %t21 = icmp ne i32 %t20, 0 %t22 = zext i1 %t21 to i32 store i32 %t22, ptr %t15 br i1 %t21, label %sc5, label %scend6 sc5: %t23 = load ptr, ptr %t0 %t24 = getelementptr inbounds %Cmp_Node, ptr %t23, i32 0, i32 1 %t25 = load ptr, ptr %t24 %t26 = icmp ne ptr %t25, null %t27 = zext i1 %t26 to i32 %t28 = icmp ne i32 %t27, 0 %t29 = zext i1 %t28 to i32 store i32 %t29, ptr %t15 br label %scend6 scend6: %t30 = load i32, ptr %t15 %t31 = icmp ne i32 %t30, 0 br i1 %t31, label %then7, label %ifend9 then7: %t32 = load ptr, ptr %t0 %t33 = getelementptr inbounds %Cmp_Node, ptr %t32, i32 0, i32 1 %t34 = load ptr, ptr %t33 store ptr %t34, ptr @g_g_pmc_fval store i32 1, ptr %retval br label %ret ifend9: %t35 = load ptr, ptr %t0 %t36 = getelementptr inbounds %Cmp_Node, ptr %t35, i32 0, i32 0 %t37 = load i32, ptr %t36 %t38 = icmp eq i32 %t37, 30 %t39 = zext i1 %t38 to i32 %t40 = icmp ne i32 %t39, 0 br i1 %t40, label %then10, label %ifend12 then10: %t41 = load ptr, ptr %t0 %t42 = getelementptr inbounds %Cmp_Node, ptr %t41, i32 0, i32 2 %t43 = load i32, ptr %t42 %t44 = call ptr @fn_itoa(i32 %t43) store ptr %t44, ptr @g_g_pmc_fval store i32 1, ptr %retval br label %ret ifend12: %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, 38 %t50 = zext i1 %t49 to i32 %t51 = icmp ne i32 %t50, 0 %t52 = zext i1 %t51 to i32 store i32 %t52, ptr %t45 br i1 %t51, label %sc13, label %scend14 sc13: %t53 = load ptr, ptr %t0 %t54 = getelementptr inbounds %Cmp_Node, ptr %t53, i32 0, i32 1 %t55 = load ptr, ptr %t54 %t56 = call i32 @lp_str_eq(ptr %t55, ptr @.str2826) %t57 = icmp ne i32 %t56, 0 %t58 = zext i1 %t57 to i32 store i32 %t58, ptr %t45 br label %scend14 scend14: %t59 = load i32, ptr %t45 %t60 = icmp ne i32 %t59, 0 br i1 %t60, label %then15, label %ifend17 then15: %t61 = load ptr, ptr %t0 %t62 = getelementptr inbounds %Cmp_Node, ptr %t61, i32 0, i32 4 %t63 = load ptr, ptr %t62 %t64 = load i32, ptr %t1 %t65 = add i32 %t64, 1 %t66 = call i32 @fn_pmc_float(ptr %t63, i32 %t65) %t67 = icmp eq i32 %t66, 0 %t68 = zext i1 %t67 to i32 %t69 = icmp ne i32 %t68, 0 br i1 %t69, label %then18, label %ifend20 then18: store i32 0, ptr %retval br label %ret ifend20: %t70 = load ptr, ptr @g_g_pmc_fval %t71 = getelementptr inbounds i8, ptr %t70, i32 0 %t72 = load i8, ptr %t71 %t73 = zext i8 %t72 to i32 %t74 = icmp eq i32 %t73, 45 %t75 = zext i1 %t74 to i32 %t76 = icmp ne i32 %t75, 0 br i1 %t76, label %then21, label %else22 then21: %t77 = load ptr, ptr @g_g_pmc_fval %t78 = load ptr, ptr @g_g_pmc_fval %t79 = call i64 @strlen(ptr %t78) %t80 = trunc i64 %t79 to i32 store i32 2173, ptr @lp_site %t81 = call ptr @lp_str_slice(ptr %t77, i32 1, i32 %t80) store i32 0, ptr @lp_site store ptr %t81, ptr @g_g_pmc_fval br label %ifend23 else22: %t82 = load ptr, ptr @g_g_pmc_fval store i32 2174, ptr @lp_site %t83 = call ptr @lp_str_concat(ptr @.str2828, ptr %t82) store i32 0, ptr @lp_site store ptr %t83, ptr @g_g_pmc_fval br label %ifend23 ifend23: store i32 1, ptr %retval br label %ret ifend17: %t84 = load ptr, ptr %t0 %t85 = getelementptr inbounds %Cmp_Node, ptr %t84, i32 0, i32 0 %t86 = load i32, ptr %t85 %t87 = icmp eq i32 %t86, 33 %t88 = zext i1 %t87 to i32 %t89 = icmp ne i32 %t88, 0 br i1 %t89, label %then24, label %ifend26 then24: %t90 = load ptr, ptr %t0 %t91 = getelementptr inbounds %Cmp_Node, ptr %t90, i32 0, i32 1 %t92 = load ptr, ptr %t91 %t93 = call ptr @fn_pmc_find(ptr %t92) store ptr %t93, ptr %t94 %t96 = load ptr, ptr %t94 %t97 = icmp eq ptr %t96, null %t98 = zext i1 %t97 to i32 %t99 = icmp ne i32 %t98, 0 %t100 = zext i1 %t99 to i32 store i32 %t100, ptr %t95 br i1 %t99, label %scend28, label %sc27 sc27: %t101 = load ptr, ptr %t94 %t102 = getelementptr inbounds %Cmp_Node, ptr %t101, i32 0, i32 3 %t103 = load ptr, ptr %t102 %t104 = call i32 @lp_str_eq(ptr %t103, ptr @.str2829) %t105 = icmp eq i32 %t104, 0 %t106 = zext i1 %t105 to i32 %t107 = icmp ne i32 %t106, 0 %t108 = zext i1 %t107 to i32 store i32 %t108, ptr %t95 br label %scend28 scend28: %t109 = load i32, ptr %t95 %t110 = icmp ne i32 %t109, 0 br i1 %t110, label %then29, label %ifend31 then29: store i32 0, ptr %retval br label %ret ifend31: %t111 = load ptr, ptr %t94 %t112 = getelementptr inbounds %Cmp_Node, ptr %t111, i32 0, i32 4 %t113 = load ptr, ptr %t112 %t114 = load i32, ptr %t1 %t115 = add i32 %t114, 1 %t116 = call i32 @fn_pmc_float(ptr %t113, i32 %t115) store i32 %t116, ptr %retval br label %ret ifend26: store i32 0, ptr %retval br label %ret ret: %t117 = load i32, ptr %retval ret i32 %t117 } define void @fn_pmc_collect() { entry: %t24 = alloca i32 %t42 = alloca ptr %t53 = alloca ptr %t54 = alloca i32 %t78 = alloca i32 %t79 = alloca i32 %t80 = alloca i32 %t179 = alloca i32 %t180 = alloca i32 call void @fn_pmc_index() %t0 = getelementptr %LSlice, ptr null, i32 1 %t1 = ptrtoint ptr %t0 to i64 store i32 2175, ptr @lp_site %t2 = call ptr @lp_malloc(i64 %t1) store i32 0, ptr @lp_site %t3 = getelementptr inbounds %LSlice, ptr %t2, i32 0, i32 0 store ptr null, ptr %t3 %t4 = getelementptr inbounds %LSlice, ptr %t2, i32 0, i32 1 store i32 0, ptr %t4 %t5 = getelementptr inbounds %LSlice, ptr %t2, i32 0, i32 2 store i32 0, ptr %t5 store ptr %t2, ptr @g_g_pmc_names %t6 = getelementptr %LSlice, ptr null, i32 1 %t7 = ptrtoint ptr %t6 to i64 store i32 2176, ptr @lp_site %t8 = call ptr @lp_malloc(i64 %t7) store i32 0, ptr @lp_site %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_pmc_isf %t12 = getelementptr %LSlice, ptr null, i32 1 %t13 = ptrtoint ptr %t12 to i64 store i32 2177, ptr @lp_site %t14 = call ptr @lp_malloc(i64 %t13) store i32 0, ptr @lp_site %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_pmc_iv %t18 = getelementptr %LSlice, ptr null, i32 1 %t19 = ptrtoint ptr %t18 to i64 store i32 2178, ptr @lp_site %t20 = call ptr @lp_malloc(i64 %t19) store i32 0, ptr @lp_site %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_pmc_ftext store i32 0, ptr %t24 br label %wcond0 wcond0: %t25 = load i32, ptr %t24 %t26 = load ptr, ptr @g_g_pmc_all %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 %wbody1, label %wend2 wbody1: %t32 = load ptr, ptr @g_g_pmc_node %t33 = load i32, ptr %t24 %t34 = getelementptr inbounds %LSlice, ptr %t32, i32 0, i32 0 %t35 = load ptr, ptr %t34 %t36 = getelementptr inbounds %LSlice, ptr %t32, i32 0, i32 1 %t37 = load i32, ptr %t36 %t38 = icmp ult i32 %t33, %t37 br i1 %t38, label %ixok3, label %ixbad4 ixbad4: store i32 2179, ptr @lp_site %t39 = call ptr @lp_win_stdio(i32 2) store i32 0, ptr @lp_site call i32 (ptr, ptr, ...) @fprintf(ptr %t39, ptr @.fmt_bounds, ptr @.str2831, i32 %t33, i32 %t37) call void @exit(i32 1) unreachable ixok3: %t40 = getelementptr inbounds ptr, ptr %t35, i32 %t33 %t41 = load ptr, ptr %t40 store ptr %t41, ptr %t42 %t43 = load ptr, ptr @g_g_pmc_all %t44 = load i32, ptr %t24 %t45 = getelementptr inbounds %LSlice, ptr %t43, i32 0, i32 0 %t46 = load ptr, ptr %t45 %t47 = getelementptr inbounds %LSlice, ptr %t43, i32 0, i32 1 %t48 = load i32, ptr %t47 %t49 = icmp ult i32 %t44, %t48 br i1 %t49, label %ixok5, label %ixbad6 ixbad6: store i32 2180, ptr @lp_site %t50 = call ptr @lp_win_stdio(i32 2) store i32 0, ptr @lp_site call i32 (ptr, ptr, ...) @fprintf(ptr %t50, ptr @.fmt_bounds, ptr @.str2832, i32 %t44, i32 %t48) call void @exit(i32 1) unreachable ixok5: %t51 = getelementptr inbounds ptr, ptr %t46, i32 %t44 %t52 = load ptr, ptr %t51 store ptr %t52, ptr %t53 %t55 = load i32, ptr %t24 %t56 = icmp eq i32 %t55, 0 %t57 = zext i1 %t56 to i32 %t58 = icmp ne i32 %t57, 0 %t59 = zext i1 %t58 to i32 store i32 %t59, ptr %t54 br i1 %t58, label %scend8, label %sc7 sc7: %t60 = load ptr, ptr @g_g_pmc_all %t61 = load i32, ptr %t24 %t62 = sub i32 %t61, 1 %t63 = getelementptr inbounds %LSlice, ptr %t60, i32 0, i32 0 %t64 = load ptr, ptr %t63 %t65 = getelementptr inbounds %LSlice, ptr %t60, i32 0, i32 1 %t66 = load i32, ptr %t65 %t67 = icmp ult i32 %t62, %t66 br i1 %t67, label %ixok9, label %ixbad10 ixbad10: store i32 2181, ptr @lp_site %t68 = call ptr @lp_win_stdio(i32 2) store i32 0, ptr @lp_site call i32 (ptr, ptr, ...) @fprintf(ptr %t68, ptr @.fmt_bounds, ptr @.str2833, i32 %t62, i32 %t66) call void @exit(i32 1) unreachable ixok9: %t69 = getelementptr inbounds ptr, ptr %t64, i32 %t62 %t70 = load ptr, ptr %t69 %t71 = load ptr, ptr %t53 %t72 = call i32 @lp_str_eq(ptr %t70, ptr %t71) %t73 = icmp eq i32 %t72, 0 %t74 = zext i1 %t73 to i32 %t75 = icmp ne i32 %t74, 0 %t76 = zext i1 %t75 to i32 store i32 %t76, ptr %t54 br label %scend8 scend8: %t77 = load i32, ptr %t54 store i32 %t77, ptr %t78 %t81 = load i32, ptr %t78 %t82 = icmp ne i32 %t81, 0 %t83 = zext i1 %t82 to i32 store i32 %t83, ptr %t80 br i1 %t82, label %sc11, label %scend12 sc11: %t84 = load ptr, ptr %t42 %t85 = getelementptr inbounds %Cmp_Node, ptr %t84, i32 0, i32 3 %t86 = load ptr, ptr %t85 %t87 = call i32 @lp_str_eq(ptr %t86, ptr @.str2834) %t88 = icmp ne i32 %t87, 0 %t89 = zext i1 %t88 to i32 store i32 %t89, ptr %t80 br label %scend12 scend12: %t90 = load i32, ptr %t80 %t91 = icmp ne i32 %t90, 0 %t92 = zext i1 %t91 to i32 store i32 %t92, ptr %t79 br i1 %t91, label %sc13, label %scend14 sc13: %t93 = load ptr, ptr %t42 %t94 = getelementptr inbounds %Cmp_Node, ptr %t93, i32 0, i32 4 %t95 = load ptr, ptr %t94 %t96 = call i32 @fn_pmc_int(ptr %t95, i32 0) %t97 = icmp ne i32 %t96, 0 %t98 = zext i1 %t97 to i32 store i32 %t98, ptr %t79 br label %scend14 scend14: %t99 = load i32, ptr %t79 %t100 = icmp ne i32 %t99, 0 br i1 %t100, label %then15, label %else16 then15: %t101 = load ptr, ptr @g_g_pmc_names %t102 = load ptr, ptr %t53 %t103 = getelementptr inbounds %LSlice, ptr %t101, i32 0, i32 1 %t104 = getelementptr inbounds %LSlice, ptr %t101, i32 0, i32 2 %t105 = getelementptr inbounds %LSlice, ptr %t101, i32 0, i32 0 %t106 = load i32, ptr %t103 %t107 = load i32, ptr %t104 %t108 = icmp sge i32 %t106, %t107 br i1 %t108, label %grow18, label %put19 grow18: %t109 = mul i32 %t107, 2 %t110 = icmp eq i32 %t107, 0 %t111 = select i1 %t110, i32 8, i32 %t109 %t112 = getelementptr ptr, ptr null, i32 1 %t113 = ptrtoint ptr %t112 to i64 %t114 = zext i32 %t111 to i64 %t115 = mul i64 %t114, %t113 %t116 = load ptr, ptr %t105 store i32 2182, ptr @lp_site %t117 = call ptr @lp_realloc(ptr %t116, i64 %t115) store i32 0, ptr @lp_site store ptr %t117, ptr %t105 store i32 %t111, ptr %t104 br label %put19 put19: %t118 = load ptr, ptr %t105 %t119 = getelementptr inbounds ptr, ptr %t118, i32 %t106 store ptr %t102, ptr %t119 %t120 = add i32 %t106, 1 store i32 %t120, ptr %t103 %t121 = load ptr, ptr @g_g_pmc_isf %t122 = getelementptr inbounds %LSlice, ptr %t121, i32 0, i32 1 %t123 = getelementptr inbounds %LSlice, ptr %t121, i32 0, i32 2 %t124 = getelementptr inbounds %LSlice, ptr %t121, i32 0, i32 0 %t125 = load i32, ptr %t122 %t126 = load i32, ptr %t123 %t127 = icmp sge i32 %t125, %t126 br i1 %t127, label %grow20, label %put21 grow20: %t128 = mul i32 %t126, 2 %t129 = icmp eq i32 %t126, 0 %t130 = select i1 %t129, i32 8, i32 %t128 %t131 = getelementptr i32, ptr null, i32 1 %t132 = ptrtoint ptr %t131 to i64 %t133 = zext i32 %t130 to i64 %t134 = mul i64 %t133, %t132 %t135 = load ptr, ptr %t124 store i32 2183, ptr @lp_site %t136 = call ptr @lp_realloc(ptr %t135, i64 %t134) store i32 0, ptr @lp_site store ptr %t136, ptr %t124 store i32 %t130, ptr %t123 br label %put21 put21: %t137 = load ptr, ptr %t124 %t138 = getelementptr inbounds i32, ptr %t137, i32 %t125 store i32 0, ptr %t138 %t139 = add i32 %t125, 1 store i32 %t139, ptr %t122 %t140 = load ptr, ptr @g_g_pmc_iv %t141 = load i32, ptr @g_g_pmc_ival %t142 = getelementptr inbounds %LSlice, ptr %t140, i32 0, i32 1 %t143 = getelementptr inbounds %LSlice, ptr %t140, i32 0, i32 2 %t144 = getelementptr inbounds %LSlice, ptr %t140, i32 0, i32 0 %t145 = load i32, ptr %t142 %t146 = load i32, ptr %t143 %t147 = icmp sge i32 %t145, %t146 br i1 %t147, label %grow22, label %put23 grow22: %t148 = mul i32 %t146, 2 %t149 = icmp eq i32 %t146, 0 %t150 = select i1 %t149, i32 8, i32 %t148 %t151 = getelementptr i32, ptr null, i32 1 %t152 = ptrtoint ptr %t151 to i64 %t153 = zext i32 %t150 to i64 %t154 = mul i64 %t153, %t152 %t155 = load ptr, ptr %t144 store i32 2184, ptr @lp_site %t156 = call ptr @lp_realloc(ptr %t155, i64 %t154) store i32 0, ptr @lp_site store ptr %t156, ptr %t144 store i32 %t150, ptr %t143 br label %put23 put23: %t157 = load ptr, ptr %t144 %t158 = getelementptr inbounds i32, ptr %t157, i32 %t145 store i32 %t141, ptr %t158 %t159 = add i32 %t145, 1 store i32 %t159, ptr %t142 %t160 = load ptr, ptr @g_g_pmc_ftext %t161 = getelementptr inbounds %LSlice, ptr %t160, i32 0, i32 1 %t162 = getelementptr inbounds %LSlice, ptr %t160, i32 0, i32 2 %t163 = getelementptr inbounds %LSlice, ptr %t160, i32 0, i32 0 %t164 = load i32, ptr %t161 %t165 = load i32, ptr %t162 %t166 = icmp sge i32 %t164, %t165 br i1 %t166, label %grow24, label %put25 grow24: %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 store i32 2185, ptr @lp_site %t175 = call ptr @lp_realloc(ptr %t174, i64 %t173) store i32 0, ptr @lp_site store ptr %t175, ptr %t163 store i32 %t169, ptr %t162 br label %put25 put25: %t176 = load ptr, ptr %t163 %t177 = getelementptr inbounds ptr, ptr %t176, i32 %t164 store ptr @.str2835, ptr %t177 %t178 = add i32 %t164, 1 store i32 %t178, ptr %t161 br label %ifend17 else16: %t181 = load i32, ptr %t78 %t182 = icmp ne i32 %t181, 0 %t183 = zext i1 %t182 to i32 store i32 %t183, ptr %t180 br i1 %t182, label %sc26, label %scend27 sc26: %t184 = load ptr, ptr %t42 %t185 = getelementptr inbounds %Cmp_Node, ptr %t184, i32 0, i32 3 %t186 = load ptr, ptr %t185 %t187 = call i32 @lp_str_eq(ptr %t186, ptr @.str2836) %t188 = icmp ne i32 %t187, 0 %t189 = zext i1 %t188 to i32 store i32 %t189, ptr %t180 br label %scend27 scend27: %t190 = load i32, ptr %t180 %t191 = icmp ne i32 %t190, 0 %t192 = zext i1 %t191 to i32 store i32 %t192, ptr %t179 br i1 %t191, label %sc28, label %scend29 sc28: %t193 = load ptr, ptr %t42 %t194 = getelementptr inbounds %Cmp_Node, ptr %t193, i32 0, i32 4 %t195 = load ptr, ptr %t194 %t196 = call i32 @fn_pmc_float(ptr %t195, i32 0) %t197 = icmp ne i32 %t196, 0 %t198 = zext i1 %t197 to i32 store i32 %t198, ptr %t179 br label %scend29 scend29: %t199 = load i32, ptr %t179 %t200 = icmp ne i32 %t199, 0 br i1 %t200, label %then30, label %ifend32 then30: %t201 = load ptr, ptr @g_g_pmc_names %t202 = load ptr, ptr %t53 %t203 = getelementptr inbounds %LSlice, ptr %t201, i32 0, i32 1 %t204 = getelementptr inbounds %LSlice, ptr %t201, i32 0, i32 2 %t205 = getelementptr inbounds %LSlice, ptr %t201, i32 0, i32 0 %t206 = load i32, ptr %t203 %t207 = load i32, ptr %t204 %t208 = icmp sge i32 %t206, %t207 br i1 %t208, label %grow33, label %put34 grow33: %t209 = mul i32 %t207, 2 %t210 = icmp eq i32 %t207, 0 %t211 = select i1 %t210, i32 8, i32 %t209 %t212 = getelementptr ptr, ptr null, i32 1 %t213 = ptrtoint ptr %t212 to i64 %t214 = zext i32 %t211 to i64 %t215 = mul i64 %t214, %t213 %t216 = load ptr, ptr %t205 store i32 2186, ptr @lp_site %t217 = call ptr @lp_realloc(ptr %t216, i64 %t215) store i32 0, ptr @lp_site store ptr %t217, ptr %t205 store i32 %t211, ptr %t204 br label %put34 put34: %t218 = load ptr, ptr %t205 %t219 = getelementptr inbounds ptr, ptr %t218, i32 %t206 store ptr %t202, ptr %t219 %t220 = add i32 %t206, 1 store i32 %t220, ptr %t203 %t221 = load ptr, ptr @g_g_pmc_isf %t222 = getelementptr inbounds %LSlice, ptr %t221, i32 0, i32 1 %t223 = getelementptr inbounds %LSlice, ptr %t221, i32 0, i32 2 %t224 = getelementptr inbounds %LSlice, ptr %t221, i32 0, i32 0 %t225 = load i32, ptr %t222 %t226 = load i32, ptr %t223 %t227 = icmp sge i32 %t225, %t226 br i1 %t227, label %grow35, label %put36 grow35: %t228 = mul i32 %t226, 2 %t229 = icmp eq i32 %t226, 0 %t230 = select i1 %t229, i32 8, i32 %t228 %t231 = getelementptr i32, 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 store i32 2187, ptr @lp_site %t236 = call ptr @lp_realloc(ptr %t235, i64 %t234) store i32 0, ptr @lp_site store ptr %t236, ptr %t224 store i32 %t230, ptr %t223 br label %put36 put36: %t237 = load ptr, ptr %t224 %t238 = getelementptr inbounds i32, ptr %t237, i32 %t225 store i32 1, ptr %t238 %t239 = add i32 %t225, 1 store i32 %t239, ptr %t222 %t240 = load ptr, ptr @g_g_pmc_iv %t241 = getelementptr inbounds %LSlice, ptr %t240, i32 0, i32 1 %t242 = getelementptr inbounds %LSlice, ptr %t240, i32 0, i32 2 %t243 = getelementptr inbounds %LSlice, ptr %t240, i32 0, i32 0 %t244 = load i32, ptr %t241 %t245 = load i32, ptr %t242 %t246 = icmp sge i32 %t244, %t245 br i1 %t246, label %grow37, label %put38 grow37: %t247 = mul i32 %t245, 2 %t248 = icmp eq i32 %t245, 0 %t249 = select i1 %t248, i32 8, i32 %t247 %t250 = getelementptr i32, ptr null, i32 1 %t251 = ptrtoint ptr %t250 to i64 %t252 = zext i32 %t249 to i64 %t253 = mul i64 %t252, %t251 %t254 = load ptr, ptr %t243 store i32 2188, ptr @lp_site %t255 = call ptr @lp_realloc(ptr %t254, i64 %t253) store i32 0, ptr @lp_site store ptr %t255, ptr %t243 store i32 %t249, ptr %t242 br label %put38 put38: %t256 = load ptr, ptr %t243 %t257 = getelementptr inbounds i32, ptr %t256, i32 %t244 store i32 0, ptr %t257 %t258 = add i32 %t244, 1 store i32 %t258, ptr %t241 %t259 = load ptr, ptr @g_g_pmc_ftext %t260 = load ptr, ptr @g_g_pmc_fval %t261 = getelementptr inbounds %LSlice, ptr %t259, i32 0, i32 1 %t262 = getelementptr inbounds %LSlice, ptr %t259, i32 0, i32 2 %t263 = getelementptr inbounds %LSlice, ptr %t259, i32 0, i32 0 %t264 = load i32, ptr %t261 %t265 = load i32, ptr %t262 %t266 = icmp sge i32 %t264, %t265 br i1 %t266, label %grow39, label %put40 grow39: %t267 = mul i32 %t265, 2 %t268 = icmp eq i32 %t265, 0 %t269 = select i1 %t268, i32 8, i32 %t267 %t270 = getelementptr ptr, ptr null, i32 1 %t271 = ptrtoint ptr %t270 to i64 %t272 = zext i32 %t269 to i64 %t273 = mul i64 %t272, %t271 %t274 = load ptr, ptr %t263 store i32 2189, ptr @lp_site %t275 = call ptr @lp_realloc(ptr %t274, i64 %t273) store i32 0, ptr @lp_site store ptr %t275, ptr %t263 store i32 %t269, ptr %t262 br label %put40 put40: %t276 = load ptr, ptr %t263 %t277 = getelementptr inbounds ptr, ptr %t276, i32 %t264 store ptr %t260, ptr %t277 %t278 = add i32 %t264, 1 store i32 %t278, ptr %t261 br label %ifend32 ifend32: br label %ifend17 ifend17: %t279 = load i32, ptr %t24 %t280 = add i32 %t279, 1 store i32 %t280, ptr %t24 br label %wcond0 wend2: br label %ret ret: ret void } define i32 @fn_pmc_lookup(ptr %arg_name) { entry: %retval = alloca i32 %t0 = alloca ptr %t1 = alloca i32 %t6 = alloca i32 %t16 = alloca i32 %t27 = alloca ptr store ptr %arg_name, ptr %t0 store i32 0, ptr %t1 %t2 = load ptr, ptr @g_g_pmc_names %t3 = getelementptr inbounds %LSlice, ptr %t2, i32 0, i32 1 %t4 = load i32, ptr %t3 %t5 = sub i32 %t4, 1 store i32 %t5, ptr %t6 br label %wcond0 wcond0: %t7 = load i32, ptr %t1 %t8 = load i32, ptr %t6 %t9 = icmp sle i32 %t7, %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 %t1 %t13 = load i32, ptr %t6 %t14 = add i32 %t12, %t13 %t15 = sdiv i32 %t14, 2 store i32 %t15, ptr %t16 %t17 = load ptr, ptr @g_g_pmc_names %t18 = load i32, ptr %t16 %t19 = getelementptr inbounds %LSlice, ptr %t17, i32 0, i32 0 %t20 = load ptr, ptr %t19 %t21 = getelementptr inbounds %LSlice, ptr %t17, i32 0, i32 1 %t22 = load i32, ptr %t21 %t23 = icmp ult i32 %t18, %t22 br i1 %t23, label %ixok3, label %ixbad4 ixbad4: store i32 2190, ptr @lp_site %t24 = call ptr @lp_win_stdio(i32 2) store i32 0, ptr @lp_site call i32 (ptr, ptr, ...) @fprintf(ptr %t24, ptr @.fmt_bounds, ptr @.str2837, i32 %t18, i32 %t22) call void @exit(i32 1) unreachable ixok3: %t25 = getelementptr inbounds ptr, ptr %t20, i32 %t18 %t26 = load ptr, ptr %t25 store ptr %t26, ptr %t27 %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 %then5, label %ifend7 then5: %t32 = load i32, ptr %t16 store i32 %t32, ptr %retval br label %ret ifend7: %t33 = load ptr, ptr %t0 %t34 = load ptr, ptr %t27 %t35 = call i32 @fn_reg_str_less(ptr %t33, ptr %t34) %t36 = icmp ne i32 %t35, 0 br i1 %t36, label %then8, label %else9 then8: %t37 = load i32, ptr %t16 %t38 = sub i32 %t37, 1 store i32 %t38, ptr %t6 br label %ifend10 else9: %t39 = load i32, ptr %t16 %t40 = add i32 %t39, 1 store i32 %t40, ptr %t1 br label %ifend10 ifend10: br label %wcond0 wend2: %t41 = sub i32 0, 1 store i32 %t41, ptr %retval br label %ret ret: %t42 = load i32, ptr %retval ret i32 %t42 } define void @fn_pm_consts_gen() { entry: %t1 = alloca ptr %t3 = alloca i32 call void @fn_pmc_collect() %t0 = call ptr @fn_buf_new() store ptr %t0, ptr %t1 %t2 = load ptr, ptr %t1 call void @fn_buf_puts(ptr %t2, ptr @.str2839) store i32 0, ptr %t3 br label %wcond0 wcond0: %t4 = load i32, ptr %t3 %t5 = load ptr, ptr @g_g_pmc_names %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 %t1 %t12 = load ptr, ptr @g_g_pmc_names %t13 = load i32, ptr %t3 %t14 = getelementptr inbounds %LSlice, ptr %t12, i32 0, i32 0 %t15 = load ptr, ptr %t14 %t16 = getelementptr inbounds %LSlice, ptr %t12, i32 0, i32 1 %t17 = load i32, ptr %t16 %t18 = icmp ult i32 %t13, %t17 br i1 %t18, label %ixok3, label %ixbad4 ixbad4: store i32 2191, ptr @lp_site %t19 = call ptr @lp_win_stdio(i32 2) store i32 0, ptr @lp_site call i32 (ptr, ptr, ...) @fprintf(ptr %t19, ptr @.fmt_bounds, ptr @.str2840, i32 %t13, i32 %t17) call void @exit(i32 1) unreachable ixok3: %t20 = getelementptr inbounds ptr, ptr %t15, i32 %t13 %t21 = load ptr, ptr %t20 call void @fn_buf_puts(ptr %t11, ptr %t21) %t22 = load ptr, ptr @g_g_pmc_isf %t23 = load i32, ptr %t3 %t24 = getelementptr inbounds %LSlice, ptr %t22, i32 0, i32 0 %t25 = load ptr, ptr %t24 %t26 = getelementptr inbounds %LSlice, ptr %t22, i32 0, i32 1 %t27 = load i32, ptr %t26 %t28 = icmp ult i32 %t23, %t27 br i1 %t28, label %ixok5, label %ixbad6 ixbad6: store i32 2192, ptr @lp_site %t29 = call ptr @lp_win_stdio(i32 2) store i32 0, ptr @lp_site call i32 (ptr, ptr, ...) @fprintf(ptr %t29, ptr @.fmt_bounds, ptr @.str2842, i32 %t23, i32 %t27) call void @exit(i32 1) unreachable ixok5: %t30 = getelementptr inbounds i32, ptr %t25, i32 %t23 %t31 = load i32, ptr %t30 %t32 = icmp ne i32 %t31, 0 br i1 %t32, label %then7, label %else8 then7: %t33 = load ptr, ptr %t1 call void @fn_buf_puts(ptr %t33, ptr @.str2843) %t34 = load ptr, ptr %t1 %t35 = load ptr, ptr @g_g_pmc_ftext %t36 = load i32, ptr %t3 %t37 = getelementptr inbounds %LSlice, ptr %t35, i32 0, i32 0 %t38 = load ptr, ptr %t37 %t39 = getelementptr inbounds %LSlice, ptr %t35, i32 0, i32 1 %t40 = load i32, ptr %t39 %t41 = icmp ult i32 %t36, %t40 br i1 %t41, label %ixok10, label %ixbad11 ixbad11: store i32 2193, ptr @lp_site %t42 = call ptr @lp_win_stdio(i32 2) store i32 0, ptr @lp_site call i32 (ptr, ptr, ...) @fprintf(ptr %t42, ptr @.fmt_bounds, ptr @.str2844, i32 %t36, i32 %t40) call void @exit(i32 1) unreachable ixok10: %t43 = getelementptr inbounds ptr, ptr %t38, i32 %t36 %t44 = load ptr, ptr %t43 call void @fn_buf_puts(ptr %t34, ptr %t44) br label %ifend9 else8: %t45 = load ptr, ptr %t1 call void @fn_buf_puts(ptr %t45, ptr @.str2845) %t46 = load ptr, ptr %t1 %t47 = load ptr, ptr @g_g_pmc_iv %t48 = load i32, ptr %t3 %t49 = getelementptr inbounds %LSlice, ptr %t47, i32 0, i32 0 %t50 = load ptr, ptr %t49 %t51 = getelementptr inbounds %LSlice, ptr %t47, i32 0, i32 1 %t52 = load i32, ptr %t51 %t53 = icmp ult i32 %t48, %t52 br i1 %t53, label %ixok12, label %ixbad13 ixbad13: store i32 2194, ptr @lp_site %t54 = call ptr @lp_win_stdio(i32 2) store i32 0, ptr @lp_site call i32 (ptr, ptr, ...) @fprintf(ptr %t54, ptr @.fmt_bounds, ptr @.str2846, i32 %t48, i32 %t52) call void @exit(i32 1) unreachable ixok12: %t55 = getelementptr inbounds i32, ptr %t50, i32 %t48 %t56 = load i32, ptr %t55 %t57 = call ptr @fn_itoa(i32 %t56) call void @fn_buf_puts(ptr %t46, ptr %t57) br label %ifend9 ifend9: %t58 = load ptr, ptr %t1 call void @fn_buf_puts(ptr %t58, ptr @.str2847) %t59 = load i32, ptr %t3 %t60 = add i32 %t59, 1 store i32 %t60, ptr %t3 br label %wcond0 wend2: %t61 = load ptr, ptr %t1 call void @fn_buf_puts(ptr %t61, ptr @.str2848) %t62 = load ptr, ptr %t1 %t63 = call ptr @fn_buf_str(ptr %t62) call void @fn_pm_parse_src(ptr %t63, ptr @.str2849, i32 1, i32 0) br label %ret ret: ret void } define void @fn_pm_parse_src(ptr %arg_src, ptr %arg_file, i32 %arg_line, i32 %arg_vis) { entry: %t0 = alloca ptr %t1 = alloca ptr %t2 = alloca i32 %t3 = alloca i32 %t5 = alloca ptr %t12 = alloca ptr %t27 = alloca ptr %t29 = alloca i32 %t31 = alloca ptr %t33 = alloca i32 %t40 = alloca i32 %t58 = alloca i32 store ptr %arg_src, ptr %t0 store ptr %arg_file, ptr %t1 store i32 %arg_line, ptr %t2 store i32 %arg_vis, ptr %t3 %t4 = call ptr @getenv(ptr @.str2850) store ptr %t4, ptr %t5 %t6 = load ptr, ptr %t5 %t7 = icmp ne 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 %t5 store i32 2195, ptr @lp_site %t11 = call ptr @lp_pak_open(ptr %t10, ptr @.str2851) store i32 0, ptr @lp_site 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 %then3, label %ifend5 then3: %t17 = load ptr, ptr %t12 %t18 = load ptr, ptr %t0 %t19 = load ptr, ptr %t0 %t20 = call i64 @strlen(ptr %t19) %t21 = trunc i64 %t20 to i32 %t22 = zext i32 %t21 to i64 %t23 = call i64 @fwrite(ptr %t18, i64 1, i64 %t22, ptr %t17) %t24 = trunc i64 %t23 to i32 %t25 = load ptr, ptr %t12 call i32 @fclose(ptr %t25) br label %ifend5 ifend5: br label %ifend2 ifend2: %t26 = load ptr, ptr @g_toks store ptr %t26, ptr %t27 %t28 = load i32, ptr @g_pi store i32 %t28, ptr %t29 %t30 = load ptr, ptr @g_g_parse_file store ptr %t30, ptr %t31 %t32 = load i32, ptr @g_g_parsing store i32 %t32, ptr %t33 %t34 = load ptr, ptr %t1 store ptr %t34, ptr @g_g_parse_file store i32 1, ptr @g_g_parsing %t35 = load ptr, ptr %t0 %t36 = load i32, ptr %t2 call void @fn_lex_at(ptr %t35, i32 %t36) store i32 0, ptr @g_pi %t37 = load ptr, ptr @g_prog %t38 = getelementptr inbounds %LSlice, ptr %t37, i32 0, i32 1 %t39 = load i32, ptr %t38 store i32 %t39, ptr %t40 br label %wcond6 wcond6: %t41 = icmp ne i32 1, 0 br i1 %t41, label %wbody7, label %wend8 wbody7: call void @fn_skipnl() %t42 = load ptr, ptr @g_toks %t43 = load i32, ptr @g_pi %t44 = getelementptr inbounds %LSlice, ptr %t42, i32 0, i32 0 %t45 = load ptr, ptr %t44 %t46 = getelementptr inbounds %LSlice, ptr %t42, i32 0, i32 1 %t47 = load i32, ptr %t46 %t48 = icmp ult i32 %t43, %t47 br i1 %t48, label %ixok9, label %ixbad10 ixbad10: store i32 2196, ptr @lp_site %t49 = call ptr @lp_win_stdio(i32 2) store i32 0, ptr @lp_site call i32 (ptr, ptr, ...) @fprintf(ptr %t49, ptr @.fmt_bounds, ptr @.str2853, i32 %t43, i32 %t47) call void @exit(i32 1) unreachable ixok9: %t50 = getelementptr inbounds ptr, ptr %t45, i32 %t43 %t51 = load ptr, ptr %t50 %t52 = getelementptr inbounds %Cmp_Tok, ptr %t51, i32 0, i32 0 %t53 = load i32, ptr %t52 %t54 = icmp eq i32 %t53, 5 %t55 = zext i1 %t54 to i32 %t56 = icmp ne i32 %t55, 0 br i1 %t56, label %then11, label %ifend13 then11: br label %wend8 ifend13: call void @fn_parse_one_decl() br label %wcond6 wend8: %t57 = load i32, ptr %t40 store i32 %t57, ptr %t58 br label %wcond14 wcond14: %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 %wbody15, label %wend16 wbody15: %t66 = load ptr, ptr @g_prog %t67 = load i32, ptr %t58 %t68 = getelementptr inbounds %LSlice, ptr %t66, i32 0, i32 0 %t69 = load ptr, ptr %t68 %t70 = getelementptr inbounds %LSlice, ptr %t66, i32 0, i32 1 %t71 = load i32, ptr %t70 %t72 = icmp ult i32 %t67, %t71 br i1 %t72, label %ixok17, label %ixbad18 ixbad18: store i32 2197, ptr @lp_site %t73 = call ptr @lp_win_stdio(i32 2) store i32 0, ptr @lp_site call i32 (ptr, ptr, ...) @fprintf(ptr %t73, ptr @.fmt_bounds, ptr @.str2854, i32 %t67, i32 %t71) call void @exit(i32 1) unreachable ixok17: %t74 = getelementptr inbounds ptr, ptr %t69, i32 %t67 %t75 = load ptr, ptr %t74 %t76 = getelementptr inbounds %Cmp_Node, ptr %t75, i32 0, i32 10 %t77 = load i32, ptr %t3 store i32 %t77, ptr %t76 %t78 = load i32, ptr %t58 %t79 = add i32 %t78, 1 store i32 %t79, ptr %t58 br label %wcond14 wend16: %t80 = load ptr, ptr %t27 store ptr %t80, ptr @g_toks %t81 = load i32, ptr %t29 store i32 %t81, ptr @g_pi %t82 = load ptr, ptr %t31 store ptr %t82, ptr @g_g_parse_file %t83 = load i32, ptr %t33 store i32 %t83, ptr @g_g_parsing br label %ret ret: ret void } define void @fn_pm_l(ptr %arg_b, ptr %arg_s) { entry: %t0 = alloca ptr %t1 = alloca ptr store ptr %arg_b, ptr %t0 store ptr %arg_s, ptr %t1 %t2 = load ptr, ptr %t0 %t3 = load ptr, ptr %t1 call void @fn_buf_puts(ptr %t2, ptr %t3) %t4 = load ptr, ptr %t0 call void @fn_buf_puts(ptr %t4, ptr @.str2855) br label %ret ret: ret void } define ptr @fn_pm_q(ptr %arg_s) { entry: %retval = alloca ptr %t0 = alloca ptr %t2 = alloca ptr %t4 = alloca i32 %t17 = alloca i32 %t18 = alloca i32 store ptr %arg_s, ptr %t0 %t1 = call ptr @fn_buf_new() store ptr %t1, ptr %t2 %t3 = load ptr, ptr %t2 call void @fn_buf_putc(ptr %t3, i32 34) store i32 0, ptr %t4 br label %wcond0 wcond0: %t5 = load i32, ptr %t4 %t6 = load ptr, ptr %t0 %t7 = call i64 @strlen(ptr %t6) %t8 = trunc i64 %t7 to i32 %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 %t0 %t13 = load i32, ptr %t4 %t14 = getelementptr inbounds i8, ptr %t12, i32 %t13 %t15 = load i8, ptr %t14 %t16 = zext i8 %t15 to i32 store i32 %t16, ptr %t17 %t19 = load i32, ptr %t17 %t20 = icmp eq i32 %t19, 34 %t21 = zext i1 %t20 to i32 %t22 = icmp ne i32 %t21, 0 %t23 = zext i1 %t22 to i32 store i32 %t23, ptr %t18 br i1 %t22, label %scend4, label %sc3 sc3: %t24 = load i32, ptr %t17 %t25 = icmp eq i32 %t24, 92 %t26 = zext i1 %t25 to i32 %t27 = icmp ne i32 %t26, 0 %t28 = zext i1 %t27 to i32 store i32 %t28, ptr %t18 br label %scend4 scend4: %t29 = load i32, ptr %t18 %t30 = icmp ne i32 %t29, 0 br i1 %t30, label %then5, label %ifend7 then5: %t31 = load ptr, ptr %t2 call void @fn_buf_putc(ptr %t31, i32 92) br label %ifend7 ifend7: %t32 = load ptr, ptr %t2 %t33 = load i32, ptr %t17 call void @fn_buf_putc(ptr %t32, i32 %t33) %t34 = load i32, ptr %t4 %t35 = add i32 %t34, 1 store i32 %t35, ptr %t4 br label %wcond0 wend2: %t36 = load ptr, ptr %t2 call void @fn_buf_putc(ptr %t36, i32 34) %t37 = load ptr, ptr %t2 %t38 = call ptr @fn_buf_str(ptr %t37) store ptr %t38, ptr %retval br label %ret ret: %t39 = load ptr, ptr %retval ret ptr %t39 } define void @fn_pm_gen(i32 %arg_r) { entry: %t0 = alloca i32 %t11 = alloca ptr %t22 = alloca ptr %t25 = alloca ptr %t38 = alloca i32 %t40 = alloca ptr store i32 %arg_r, ptr %t0 %t1 = load ptr, ptr @g_g_rg_var %t2 = load i32, ptr %t0 %t3 = getelementptr inbounds %LSlice, ptr %t1, i32 0, i32 0 %t4 = load ptr, ptr %t3 %t5 = getelementptr inbounds %LSlice, ptr %t1, i32 0, i32 1 %t6 = load i32, ptr %t5 %t7 = icmp ult i32 %t2, %t6 br i1 %t7, label %ixok0, label %ixbad1 ixbad1: store i32 2198, ptr @lp_site %t8 = call ptr @lp_win_stdio(i32 2) store i32 0, ptr @lp_site call i32 (ptr, ptr, ...) @fprintf(ptr %t8, ptr @.fmt_bounds, ptr @.str2856, i32 %t2, i32 %t6) call void @exit(i32 1) unreachable ixok0: %t9 = getelementptr inbounds ptr, ptr %t4, i32 %t2 %t10 = load ptr, ptr %t9 store ptr %t10, ptr %t11 %t12 = load ptr, ptr @g_g_rg_name %t13 = load i32, ptr %t0 %t14 = getelementptr inbounds %LSlice, ptr %t12, i32 0, i32 0 %t15 = load ptr, ptr %t14 %t16 = getelementptr inbounds %LSlice, ptr %t12, i32 0, i32 1 %t17 = load i32, ptr %t16 %t18 = icmp ult i32 %t13, %t17 br i1 %t18, label %ixok2, label %ixbad3 ixbad3: store i32 2199, ptr @lp_site %t19 = call ptr @lp_win_stdio(i32 2) store i32 0, ptr @lp_site call i32 (ptr, ptr, ...) @fprintf(ptr %t19, ptr @.fmt_bounds, ptr @.str2858, i32 %t13, i32 %t17) call void @exit(i32 1) unreachable ixok2: %t20 = getelementptr inbounds ptr, ptr %t15, i32 %t13 %t21 = load ptr, ptr %t20 store ptr %t21, ptr %t22 %t23 = load ptr, ptr %t22 %t24 = call ptr @fn_pm_snake(ptr %t23) store ptr %t24, ptr %t25 %t26 = load ptr, ptr @g_g_rg_chunk %t27 = load i32, ptr %t0 %t28 = getelementptr inbounds %LSlice, ptr %t26, i32 0, i32 0 %t29 = load ptr, ptr %t28 %t30 = getelementptr inbounds %LSlice, ptr %t26, i32 0, i32 1 %t31 = load i32, ptr %t30 %t32 = icmp ult i32 %t27, %t31 br i1 %t32, label %ixok4, label %ixbad5 ixbad5: store i32 2200, ptr @lp_site %t33 = call ptr @lp_win_stdio(i32 2) store i32 0, ptr @lp_site call i32 (ptr, ptr, ...) @fprintf(ptr %t33, ptr @.fmt_bounds, ptr @.str2859, i32 %t27, i32 %t31) call void @exit(i32 1) unreachable ixok4: %t34 = getelementptr inbounds i32, ptr %t29, i32 %t27 %t35 = load i32, ptr %t34 %t36 = icmp sgt i32 %t35, 0 %t37 = zext i1 %t36 to i32 store i32 %t37, ptr %t38 %t39 = call ptr @fn_buf_new() store ptr %t39, ptr %t40 %t41 = load ptr, ptr %t40 %t42 = load ptr, ptr %t22 call void @fn_pm_gen_pool(ptr %t41, ptr %t42) %t43 = load i32, ptr %t38 %t44 = icmp ne i32 %t43, 0 br i1 %t44, label %then6, label %else7 then6: %t45 = load ptr, ptr %t40 %t46 = load ptr, ptr %t22 %t47 = load ptr, ptr @g_g_rg_type %t48 = load i32, ptr %t0 %t49 = getelementptr inbounds %LSlice, ptr %t47, i32 0, i32 0 %t50 = load ptr, ptr %t49 %t51 = getelementptr inbounds %LSlice, ptr %t47, i32 0, i32 1 %t52 = load i32, ptr %t51 %t53 = icmp ult i32 %t48, %t52 br i1 %t53, label %ixok9, label %ixbad10 ixbad10: store i32 2201, ptr @lp_site %t54 = call ptr @lp_win_stdio(i32 2) store i32 0, ptr @lp_site call i32 (ptr, ptr, ...) @fprintf(ptr %t54, ptr @.fmt_bounds, ptr @.str2860, i32 %t48, i32 %t52) call void @exit(i32 1) unreachable ixok9: %t55 = getelementptr inbounds ptr, ptr %t50, i32 %t48 %t56 = load ptr, ptr %t55 call void @fn_pm_gen_chunk_types(ptr %t45, ptr %t46, ptr %t56) br label %ifend8 else7: %t57 = load ptr, ptr %t40 %t58 = load ptr, ptr %t22 %t59 = load ptr, ptr @g_g_rg_type %t60 = load i32, ptr %t0 %t61 = getelementptr inbounds %LSlice, ptr %t59, i32 0, i32 0 %t62 = load ptr, ptr %t61 %t63 = getelementptr inbounds %LSlice, ptr %t59, i32 0, i32 1 %t64 = load i32, ptr %t63 %t65 = icmp ult i32 %t60, %t64 br i1 %t65, label %ixok11, label %ixbad12 ixbad12: store i32 2202, ptr @lp_site %t66 = call ptr @lp_win_stdio(i32 2) store i32 0, ptr @lp_site call i32 (ptr, ptr, ...) @fprintf(ptr %t66, ptr @.fmt_bounds, ptr @.str2861, i32 %t60, i32 %t64) call void @exit(i32 1) unreachable ixok11: %t67 = getelementptr inbounds ptr, ptr %t62, i32 %t60 %t68 = load ptr, ptr %t67 call void @fn_pm_gen_state(ptr %t57, ptr %t58, ptr %t68) br label %ifend8 ifend8: %t69 = load ptr, ptr %t40 %t70 = load ptr, ptr %t25 %t71 = load ptr, ptr %t22 call void @fn_pm_gen_records(ptr %t69, ptr %t70, ptr %t71) %t72 = load ptr, ptr %t40 %t73 = load ptr, ptr %t25 %t74 = load ptr, ptr %t11 %t75 = getelementptr inbounds %Cmp_Node, ptr %t74, i32 0, i32 9 %t76 = load ptr, ptr %t75 %t77 = call ptr @fn_module_of(ptr %t76) call void @fn_pm_gen_fns(ptr %t72, ptr %t73, ptr %t77) %t78 = load ptr, ptr %t40 %t79 = load ptr, ptr %t25 %t80 = load ptr, ptr %t22 %t81 = load ptr, ptr @g_g_rg_type %t82 = load i32, ptr %t0 %t83 = getelementptr inbounds %LSlice, ptr %t81, i32 0, i32 0 %t84 = load ptr, ptr %t83 %t85 = getelementptr inbounds %LSlice, ptr %t81, i32 0, i32 1 %t86 = load i32, ptr %t85 %t87 = icmp ult i32 %t82, %t86 br i1 %t87, label %ixok13, label %ixbad14 ixbad14: store i32 2203, ptr @lp_site %t88 = call ptr @lp_win_stdio(i32 2) store i32 0, ptr @lp_site call i32 (ptr, ptr, ...) @fprintf(ptr %t88, ptr @.fmt_bounds, ptr @.str2862, i32 %t82, i32 %t86) call void @exit(i32 1) unreachable ixok13: %t89 = getelementptr inbounds ptr, ptr %t84, i32 %t82 %t90 = load ptr, ptr %t89 call void @fn_pm_gen_rows(ptr %t78, ptr %t79, ptr %t80, ptr %t90) %t91 = load i32, ptr %t38 %t92 = icmp ne i32 %t91, 0 br i1 %t92, label %then15, label %else16 then15: %t93 = load ptr, ptr %t40 %t94 = load i32, ptr %t0 %t95 = load ptr, ptr %t25 %t96 = load ptr, ptr %t22 call void @fn_pm_gen_chunk_verbs(ptr %t93, i32 %t94, ptr %t95, ptr %t96) br label %ifend17 else16: %t97 = load ptr, ptr %t40 %t98 = load i32, ptr %t0 %t99 = load ptr, ptr %t25 %t100 = load ptr, ptr %t22 call void @fn_pm_gen_whole_verbs(ptr %t97, i32 %t98, ptr %t99, ptr %t100) br label %ifend17 ifend17: %t101 = load ptr, ptr %t40 call void @fn_pm_l(ptr %t101, ptr @.str2863) %t102 = load ptr, ptr %t40 %t103 = load ptr, ptr %t25 store i32 2204, ptr @lp_site %t104 = call ptr @lp_str_concat(ptr @.str2864, ptr %t103) store i32 0, ptr @lp_site store i32 2205, ptr @lp_site %t105 = call ptr @lp_str_concat(ptr %t104, ptr @.str2865) store i32 0, ptr @lp_site call void @lp_free(ptr %t104) %t106 = load ptr, ptr %t22 store i32 2206, ptr @lp_site %t107 = call ptr @lp_str_concat(ptr %t105, ptr %t106) store i32 0, ptr @lp_site call void @lp_free(ptr %t105) store i32 2207, ptr @lp_site %t108 = call ptr @lp_str_concat(ptr %t107, ptr @.str2866) store i32 0, ptr @lp_site call void @lp_free(ptr %t107) call void @fn_pm_l(ptr %t102, ptr %t108) %t109 = load ptr, ptr %t40 %t110 = load ptr, ptr @g_g_pm_root store i32 2208, ptr @lp_site %t111 = call ptr @lp_str_concat(ptr %t110, ptr @.str2868) store i32 0, ptr @lp_site %t112 = call ptr @fn_pm_q(ptr %t111) store i32 2209, ptr @lp_site %t113 = call ptr @lp_str_concat(ptr @.str2867, ptr %t112) store i32 0, ptr @lp_site store i32 2210, ptr @lp_site %t114 = call ptr @lp_str_concat(ptr %t113, ptr @.str2869) store i32 0, ptr @lp_site call void @lp_free(ptr %t113) call void @fn_pm_l(ptr %t109, ptr %t114) %t115 = load ptr, ptr %t40 call void @fn_pm_l(ptr %t115, ptr @.str2870) %t116 = load ptr, ptr %t40 %t117 = call ptr @fn_buf_str(ptr %t116) %t118 = load ptr, ptr %t11 %t119 = getelementptr inbounds %Cmp_Node, ptr %t118, i32 0, i32 9 %t120 = load ptr, ptr %t119 %t121 = load ptr, ptr %t11 %t122 = getelementptr inbounds %Cmp_Node, ptr %t121, i32 0, i32 8 %t123 = load i32, ptr %t122 %t124 = load ptr, ptr %t11 %t125 = getelementptr inbounds %Cmp_Node, ptr %t124, i32 0, i32 10 %t126 = load i32, ptr %t125 call void @fn_pm_parse_src(ptr %t117, ptr %t120, i32 %t123, i32 %t126) br label %ret ret: ret void } define void @fn_pm_gen_pool(ptr %arg_b, ptr %arg_R) { entry: %t0 = alloca ptr %t1 = alloca ptr %t28 = alloca i32 %t46 = alloca ptr store ptr %arg_b, ptr %t0 store ptr %arg_R, ptr %t1 %t2 = load ptr, ptr %t0 %t3 = load ptr, ptr %t1 store i32 2211, ptr @lp_site %t4 = call ptr @lp_str_concat(ptr @.str2871, ptr %t3) store i32 0, ptr @lp_site store i32 2212, ptr @lp_site %t5 = call ptr @lp_str_concat(ptr %t4, ptr @.str2873) store i32 0, ptr @lp_site call void @lp_free(ptr %t4) call void @fn_pm_l(ptr %t2, ptr %t5) %t6 = load ptr, ptr %t0 %t7 = load ptr, ptr @g_g_pm_recs %t8 = getelementptr inbounds %LSlice, ptr %t7, i32 0, i32 0 %t9 = load ptr, ptr %t8 %t10 = getelementptr inbounds %LSlice, ptr %t7, i32 0, i32 1 %t11 = load i32, ptr %t10 %t12 = icmp ult i32 0, %t11 br i1 %t12, label %ixok0, label %ixbad1 ixbad1: store i32 2213, ptr @lp_site %t13 = call ptr @lp_win_stdio(i32 2) store i32 0, ptr @lp_site call i32 (ptr, ptr, ...) @fprintf(ptr %t13, ptr @.fmt_bounds, ptr @.str2875, i32 0, i32 %t11) call void @exit(i32 1) unreachable ixok0: %t14 = getelementptr inbounds ptr, ptr %t9, i32 0 %t15 = load ptr, ptr %t14 store i32 2214, ptr @lp_site %t16 = call ptr @lp_str_concat(ptr @.str2874, ptr %t15) store i32 0, ptr @lp_site store i32 2215, ptr @lp_site %t17 = call ptr @lp_str_concat(ptr %t16, ptr @.str2876) store i32 0, ptr @lp_site call void @lp_free(ptr %t16) %t18 = load ptr, ptr @g_g_pm_recs %t19 = getelementptr inbounds %LSlice, ptr %t18, i32 0, i32 0 %t20 = load ptr, ptr %t19 %t21 = getelementptr inbounds %LSlice, ptr %t18, i32 0, i32 1 %t22 = load i32, ptr %t21 %t23 = icmp ult i32 0, %t22 br i1 %t23, label %ixok2, label %ixbad3 ixbad3: store i32 2216, ptr @lp_site %t24 = call ptr @lp_win_stdio(i32 2) store i32 0, ptr @lp_site call i32 (ptr, ptr, ...) @fprintf(ptr %t24, ptr @.fmt_bounds, ptr @.str2877, i32 0, i32 %t22) call void @exit(i32 1) unreachable ixok2: %t25 = getelementptr inbounds ptr, ptr %t20, i32 0 %t26 = load ptr, ptr %t25 store i32 2217, ptr @lp_site %t27 = call ptr @lp_str_concat(ptr %t17, ptr %t26) store i32 0, ptr @lp_site call void @lp_free(ptr %t17) call void @fn_pm_l(ptr %t6, ptr %t27) store i32 0, ptr %t28 br label %wcond4 wcond4: %t29 = load i32, ptr %t28 %t30 = load ptr, ptr @g_g_pm_recs %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 %wbody5, label %wend6 wbody5: %t36 = load ptr, ptr @g_g_pm_recs %t37 = load i32, ptr %t28 %t38 = getelementptr inbounds %LSlice, ptr %t36, i32 0, i32 0 %t39 = load ptr, ptr %t38 %t40 = getelementptr inbounds %LSlice, ptr %t36, i32 0, i32 1 %t41 = load i32, ptr %t40 %t42 = icmp ult i32 %t37, %t41 br i1 %t42, label %ixok7, label %ixbad8 ixbad8: store i32 2218, ptr @lp_site %t43 = call ptr @lp_win_stdio(i32 2) store i32 0, ptr @lp_site call i32 (ptr, ptr, ...) @fprintf(ptr %t43, ptr @.fmt_bounds, ptr @.str2878, i32 %t37, i32 %t41) call void @exit(i32 1) unreachable ixok7: %t44 = getelementptr inbounds ptr, ptr %t39, i32 %t37 %t45 = load ptr, ptr %t44 store ptr %t45, ptr %t46 %t47 = load ptr, ptr %t0 %t48 = load ptr, ptr %t46 store i32 2219, ptr @lp_site %t49 = call ptr @lp_str_concat(ptr @.str2879, ptr %t48) store i32 0, ptr @lp_site store i32 2220, ptr @lp_site %t50 = call ptr @lp_str_concat(ptr %t49, ptr @.str2880) store i32 0, ptr @lp_site call void @lp_free(ptr %t49) %t51 = load ptr, ptr %t46 store i32 2221, ptr @lp_site %t52 = call ptr @lp_str_concat(ptr %t50, ptr %t51) store i32 0, ptr @lp_site call void @lp_free(ptr %t50) store i32 2222, ptr @lp_site %t53 = call ptr @lp_str_concat(ptr %t52, ptr @.str2881) store i32 0, ptr @lp_site call void @lp_free(ptr %t52) %t54 = load ptr, ptr %t46 store i32 2223, ptr @lp_site %t55 = call ptr @lp_str_concat(ptr %t53, ptr %t54) store i32 0, ptr @lp_site call void @lp_free(ptr %t53) call void @fn_pm_l(ptr %t47, ptr %t55) %t56 = load ptr, ptr @g_g_pm_pooled %t57 = load i32, ptr %t28 %t58 = getelementptr inbounds %LSlice, ptr %t56, i32 0, i32 0 %t59 = load ptr, ptr %t58 %t60 = getelementptr inbounds %LSlice, ptr %t56, i32 0, i32 1 %t61 = load i32, ptr %t60 %t62 = icmp ult i32 %t57, %t61 br i1 %t62, label %ixok9, label %ixbad10 ixbad10: store i32 2224, ptr @lp_site %t63 = call ptr @lp_win_stdio(i32 2) store i32 0, ptr @lp_site call i32 (ptr, ptr, ...) @fprintf(ptr %t63, ptr @.fmt_bounds, ptr @.str2882, i32 %t57, i32 %t61) call void @exit(i32 1) unreachable ixok9: %t64 = getelementptr inbounds i32, ptr %t59, i32 %t57 %t65 = load i32, ptr %t64 %t66 = icmp ne i32 %t65, 0 br i1 %t66, label %then11, label %ifend13 then11: %t67 = load ptr, ptr %t0 %t68 = load ptr, ptr %t46 store i32 2225, ptr @lp_site %t69 = call ptr @lp_str_concat(ptr @.str2883, ptr %t68) store i32 0, ptr @lp_site store i32 2226, ptr @lp_site %t70 = call ptr @lp_str_concat(ptr %t69, ptr @.str2884) store i32 0, ptr @lp_site call void @lp_free(ptr %t69) %t71 = load ptr, ptr %t46 store i32 2227, ptr @lp_site %t72 = call ptr @lp_str_concat(ptr %t70, ptr %t71) store i32 0, ptr @lp_site call void @lp_free(ptr %t70) store i32 2228, ptr @lp_site %t73 = call ptr @lp_str_concat(ptr %t72, ptr @.str2885) store i32 0, ptr @lp_site call void @lp_free(ptr %t72) %t74 = load ptr, ptr %t46 store i32 2229, ptr @lp_site %t75 = call ptr @lp_str_concat(ptr %t73, ptr %t74) store i32 0, ptr @lp_site call void @lp_free(ptr %t73) call void @fn_pm_l(ptr %t67, ptr %t75) %t76 = load ptr, ptr %t0 %t77 = load ptr, ptr %t46 store i32 2230, ptr @lp_site %t78 = call ptr @lp_str_concat(ptr @.str2886, ptr %t77) store i32 0, ptr @lp_site store i32 2231, ptr @lp_site %t79 = call ptr @lp_str_concat(ptr %t78, ptr @.str2887) store i32 0, ptr @lp_site call void @lp_free(ptr %t78) call void @fn_pm_l(ptr %t76, ptr %t79) br label %ifend13 ifend13: %t80 = load i32, ptr %t28 %t81 = add i32 %t80, 1 store i32 %t81, ptr %t28 br label %wcond4 wend6: %t82 = load ptr, ptr %t0 call void @fn_pm_l(ptr %t82, ptr @.str2888) br label %ret ret: ret void } define void @fn_pm_gen_state(ptr %arg_b, ptr %arg_R, ptr %arg_T) { entry: %t0 = alloca ptr %t1 = alloca ptr %t2 = alloca ptr store ptr %arg_b, ptr %t0 store ptr %arg_R, ptr %t1 store ptr %arg_T, ptr %t2 %t3 = load ptr, ptr %t0 %t4 = load ptr, ptr %t1 store i32 2232, ptr @lp_site %t5 = call ptr @lp_str_concat(ptr @.str2889, ptr %t4) store i32 0, ptr @lp_site store i32 2233, ptr @lp_site %t6 = call ptr @lp_str_concat(ptr %t5, ptr @.str2891) store i32 0, ptr @lp_site call void @lp_free(ptr %t5) call void @fn_pm_l(ptr %t3, ptr %t6) %t7 = load ptr, ptr %t0 %t8 = load ptr, ptr %t2 store i32 2234, ptr @lp_site %t9 = call ptr @lp_str_concat(ptr @.str2892, ptr %t8) store i32 0, ptr @lp_site store i32 2235, ptr @lp_site %t10 = call ptr @lp_str_concat(ptr %t9, ptr @.str2893) store i32 0, ptr @lp_site call void @lp_free(ptr %t9) %t11 = load ptr, ptr %t2 store i32 2236, ptr @lp_site %t12 = call ptr @lp_str_concat(ptr %t10, ptr %t11) store i32 0, ptr @lp_site call void @lp_free(ptr %t10) call void @fn_pm_l(ptr %t7, ptr %t12) %t13 = load ptr, ptr %t0 call void @fn_pm_l(ptr %t13, ptr @.str2894) %t14 = load ptr, ptr %t0 call void @fn_pm_l(ptr %t14, ptr @.str2895) %t15 = load ptr, ptr %t0 call void @fn_pm_l(ptr %t15, ptr @.str2896) %t16 = load ptr, ptr %t0 %t17 = load ptr, ptr %t1 store i32 2237, ptr @lp_site %t18 = call ptr @lp_str_concat(ptr @.str2897, ptr %t17) store i32 0, ptr @lp_site store i32 2238, ptr @lp_site %t19 = call ptr @lp_str_concat(ptr %t18, ptr @.str2898) store i32 0, ptr @lp_site call void @lp_free(ptr %t18) %t20 = load ptr, ptr %t1 store i32 2239, ptr @lp_site %t21 = call ptr @lp_str_concat(ptr %t19, ptr %t20) store i32 0, ptr @lp_site call void @lp_free(ptr %t19) store i32 2240, ptr @lp_site %t22 = call ptr @lp_str_concat(ptr %t21, ptr @.str2899) store i32 0, ptr @lp_site call void @lp_free(ptr %t21) call void @fn_pm_l(ptr %t16, ptr %t22) %t23 = load ptr, ptr %t0 call void @fn_pm_l(ptr %t23, ptr @.str2900) %t24 = load ptr, ptr %t0 call void @fn_pm_l(ptr %t24, ptr @.str2901) br label %ret ret: ret void } define void @fn_pm_gen_chunk_types(ptr %arg_b, ptr %arg_R, ptr %arg_T) { entry: %t0 = alloca ptr %t1 = alloca ptr %t2 = alloca ptr store ptr %arg_b, ptr %t0 store ptr %arg_R, ptr %t1 store ptr %arg_T, ptr %t2 %t3 = load ptr, ptr %t0 %t4 = load ptr, ptr %t1 store i32 2241, ptr @lp_site %t5 = call ptr @lp_str_concat(ptr @.str2902, ptr %t4) store i32 0, ptr @lp_site store i32 2242, ptr @lp_site %t6 = call ptr @lp_str_concat(ptr %t5, ptr @.str2904) store i32 0, ptr @lp_site call void @lp_free(ptr %t5) call void @fn_pm_l(ptr %t3, ptr %t6) %t7 = load ptr, ptr %t0 call void @fn_pm_l(ptr %t7, ptr @.str2905) %t8 = load ptr, ptr %t0 call void @fn_pm_l(ptr %t8, ptr @.str2906) %t9 = load ptr, ptr %t0 call void @fn_pm_l(ptr %t9, ptr @.str2907) %t10 = load ptr, ptr %t0 %t11 = load ptr, ptr %t2 store i32 2243, ptr @lp_site %t12 = call ptr @lp_str_concat(ptr @.str2908, ptr %t11) store i32 0, ptr @lp_site store i32 2244, ptr @lp_site %t13 = call ptr @lp_str_concat(ptr %t12, ptr @.str2909) store i32 0, ptr @lp_site call void @lp_free(ptr %t12) %t14 = load ptr, ptr %t2 store i32 2245, ptr @lp_site %t15 = call ptr @lp_str_concat(ptr %t13, ptr %t14) store i32 0, ptr @lp_site call void @lp_free(ptr %t13) call void @fn_pm_l(ptr %t10, ptr %t15) %t16 = load ptr, ptr %t0 %t17 = load ptr, ptr %t1 store i32 2246, ptr @lp_site %t18 = call ptr @lp_str_concat(ptr @.str2910, ptr %t17) store i32 0, ptr @lp_site store i32 2247, ptr @lp_site %t19 = call ptr @lp_str_concat(ptr %t18, ptr @.str2911) store i32 0, ptr @lp_site call void @lp_free(ptr %t18) %t20 = load ptr, ptr %t1 store i32 2248, ptr @lp_site %t21 = call ptr @lp_str_concat(ptr %t19, ptr %t20) store i32 0, ptr @lp_site call void @lp_free(ptr %t19) store i32 2249, ptr @lp_site %t22 = call ptr @lp_str_concat(ptr %t21, ptr @.str2912) store i32 0, ptr @lp_site call void @lp_free(ptr %t21) call void @fn_pm_l(ptr %t16, ptr %t22) %t23 = load ptr, ptr %t0 call void @fn_pm_l(ptr %t23, ptr @.str2913) %t24 = load ptr, ptr %t0 call void @fn_pm_l(ptr %t24, ptr @.str2914) %t25 = load ptr, ptr %t0 call void @fn_pm_l(ptr %t25, ptr @.str2915) %t26 = load ptr, ptr %t0 %t27 = load ptr, ptr %t1 store i32 2250, ptr @lp_site %t28 = call ptr @lp_str_concat(ptr @.str2916, ptr %t27) store i32 0, ptr @lp_site store i32 2251, ptr @lp_site %t29 = call ptr @lp_str_concat(ptr %t28, ptr @.str2917) store i32 0, ptr @lp_site call void @lp_free(ptr %t28) call void @fn_pm_l(ptr %t26, ptr %t29) %t30 = load ptr, ptr %t0 %t31 = load ptr, ptr %t1 store i32 2252, ptr @lp_site %t32 = call ptr @lp_str_concat(ptr @.str2918, ptr %t31) store i32 0, ptr @lp_site store i32 2253, ptr @lp_site %t33 = call ptr @lp_str_concat(ptr %t32, ptr @.str2919) store i32 0, ptr @lp_site call void @lp_free(ptr %t32) %t34 = load ptr, ptr %t1 store i32 2254, ptr @lp_site %t35 = call ptr @lp_str_concat(ptr %t33, ptr %t34) store i32 0, ptr @lp_site call void @lp_free(ptr %t33) store i32 2255, ptr @lp_site %t36 = call ptr @lp_str_concat(ptr %t35, ptr @.str2920) store i32 0, ptr @lp_site call void @lp_free(ptr %t35) call void @fn_pm_l(ptr %t30, ptr %t36) %t37 = load ptr, ptr %t0 call void @fn_pm_l(ptr %t37, ptr @.str2921) %t38 = load ptr, ptr %t0 call void @fn_pm_l(ptr %t38, ptr @.str2922) %t39 = load ptr, ptr %t0 call void @fn_pm_l(ptr %t39, ptr @.str2923) %t40 = load ptr, ptr %t0 call void @fn_pm_l(ptr %t40, ptr @.str2924) br label %ret ret: ret void } define void @fn_pm_gen_records(ptr %arg_b, ptr %arg_sn, ptr %arg_R) { entry: %t0 = alloca ptr %t1 = alloca ptr %t2 = alloca ptr %t10 = alloca i32 %t62 = alloca ptr store ptr %arg_b, ptr %t0 store ptr %arg_sn, ptr %t1 store ptr %arg_R, ptr %t2 %t3 = load ptr, ptr %t0 %t4 = load ptr, ptr %t1 store i32 2256, ptr @lp_site %t5 = call ptr @lp_str_concat(ptr @.str2925, ptr %t4) store i32 0, ptr @lp_site store i32 2257, ptr @lp_site %t6 = call ptr @lp_str_concat(ptr %t5, ptr @.str2927) store i32 0, ptr @lp_site call void @lp_free(ptr %t5) %t7 = load ptr, ptr %t2 store i32 2258, ptr @lp_site %t8 = call ptr @lp_str_concat(ptr %t6, ptr %t7) store i32 0, ptr @lp_site call void @lp_free(ptr %t6) store i32 2259, ptr @lp_site %t9 = call ptr @lp_str_concat(ptr %t8, ptr @.str2928) store i32 0, ptr @lp_site call void @lp_free(ptr %t8) call void @fn_pm_l(ptr %t3, ptr %t9) store i32 0, ptr %t10 br label %wcond0 wcond0: %t11 = load i32, ptr %t10 %t12 = load ptr, ptr @g_g_pm_recs %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_g_pm_pooled %t19 = load i32, ptr %t10 %t20 = getelementptr inbounds %LSlice, ptr %t18, i32 0, i32 0 %t21 = load ptr, ptr %t20 %t22 = getelementptr inbounds %LSlice, ptr %t18, i32 0, i32 1 %t23 = load i32, ptr %t22 %t24 = icmp ult i32 %t19, %t23 br i1 %t24, label %ixok3, label %ixbad4 ixbad4: store i32 2260, ptr @lp_site %t25 = call ptr @lp_win_stdio(i32 2) store i32 0, ptr @lp_site call i32 (ptr, ptr, ...) @fprintf(ptr %t25, ptr @.fmt_bounds, ptr @.str2929, i32 %t19, i32 %t23) call void @exit(i32 1) unreachable ixok3: %t26 = getelementptr inbounds i32, ptr %t21, i32 %t19 %t27 = load i32, ptr %t26 %t28 = icmp ne i32 %t27, 0 br i1 %t28, label %then5, label %ifend7 then5: %t29 = load ptr, ptr %t0 %t30 = load ptr, ptr @g_g_pm_recs %t31 = load i32, ptr %t10 %t32 = getelementptr inbounds %LSlice, ptr %t30, i32 0, i32 0 %t33 = load ptr, ptr %t32 %t34 = getelementptr inbounds %LSlice, ptr %t30, i32 0, i32 1 %t35 = load i32, ptr %t34 %t36 = icmp ult i32 %t31, %t35 br i1 %t36, label %ixok8, label %ixbad9 ixbad9: store i32 2261, ptr @lp_site %t37 = call ptr @lp_win_stdio(i32 2) store i32 0, ptr @lp_site call i32 (ptr, ptr, ...) @fprintf(ptr %t37, ptr @.fmt_bounds, ptr @.str2931, i32 %t31, i32 %t35) call void @exit(i32 1) unreachable ixok8: %t38 = getelementptr inbounds ptr, ptr %t33, i32 %t31 %t39 = load ptr, ptr %t38 store i32 2262, ptr @lp_site %t40 = call ptr @lp_str_concat(ptr @.str2930, ptr %t39) store i32 0, ptr @lp_site store i32 2263, ptr @lp_site %t41 = call ptr @lp_str_concat(ptr %t40, ptr @.str2932) store i32 0, ptr @lp_site call void @lp_free(ptr %t40) call void @fn_pm_l(ptr %t29, ptr %t41) br label %ifend7 ifend7: %t42 = load i32, ptr %t10 %t43 = add i32 %t42, 1 store i32 %t43, ptr %t10 br label %wcond0 wend2: %t44 = load ptr, ptr %t0 call void @fn_pm_l(ptr %t44, ptr @.str2933) store i32 0, ptr %t10 br label %wcond10 wcond10: %t45 = load i32, ptr %t10 %t46 = load ptr, ptr @g_g_pm_recs %t47 = getelementptr inbounds %LSlice, ptr %t46, i32 0, i32 1 %t48 = load i32, ptr %t47 %t49 = icmp slt i32 %t45, %t48 %t50 = zext i1 %t49 to i32 %t51 = icmp ne i32 %t50, 0 br i1 %t51, label %wbody11, label %wend12 wbody11: %t52 = load ptr, ptr @g_g_pm_recs %t53 = load i32, ptr %t10 %t54 = getelementptr inbounds %LSlice, ptr %t52, i32 0, i32 0 %t55 = load ptr, ptr %t54 %t56 = getelementptr inbounds %LSlice, ptr %t52, i32 0, i32 1 %t57 = load i32, ptr %t56 %t58 = icmp ult i32 %t53, %t57 br i1 %t58, label %ixok13, label %ixbad14 ixbad14: store i32 2264, ptr @lp_site %t59 = call ptr @lp_win_stdio(i32 2) store i32 0, ptr @lp_site call i32 (ptr, ptr, ...) @fprintf(ptr %t59, ptr @.fmt_bounds, ptr @.str2934, i32 %t53, i32 %t57) call void @exit(i32 1) unreachable ixok13: %t60 = getelementptr inbounds ptr, ptr %t55, i32 %t53 %t61 = load ptr, ptr %t60 store ptr %t61, ptr %t62 %t63 = load ptr, ptr @g_g_pm_pooled %t64 = load i32, ptr %t10 %t65 = getelementptr inbounds %LSlice, ptr %t63, i32 0, i32 0 %t66 = load ptr, ptr %t65 %t67 = getelementptr inbounds %LSlice, ptr %t63, i32 0, i32 1 %t68 = load i32, ptr %t67 %t69 = icmp ult i32 %t64, %t68 br i1 %t69, label %ixok15, label %ixbad16 ixbad16: store i32 2265, ptr @lp_site %t70 = call ptr @lp_win_stdio(i32 2) store i32 0, ptr @lp_site call i32 (ptr, ptr, ...) @fprintf(ptr %t70, ptr @.fmt_bounds, ptr @.str2935, i32 %t64, i32 %t68) call void @exit(i32 1) unreachable ixok15: %t71 = getelementptr inbounds i32, ptr %t66, i32 %t64 %t72 = load i32, ptr %t71 %t73 = icmp ne i32 %t72, 0 br i1 %t73, label %then17, label %ifend19 then17: %t74 = load ptr, ptr %t0 %t75 = load ptr, ptr %t62 store i32 2266, ptr @lp_site %t76 = call ptr @lp_str_concat(ptr @.str2936, ptr %t75) store i32 0, ptr @lp_site store i32 2267, ptr @lp_site %t77 = call ptr @lp_str_concat(ptr %t76, ptr @.str2937) store i32 0, ptr @lp_site call void @lp_free(ptr %t76) call void @fn_pm_l(ptr %t74, ptr %t77) %t78 = load ptr, ptr %t0 %t79 = load ptr, ptr %t1 store i32 2268, ptr @lp_site %t80 = call ptr @lp_str_concat(ptr @.str2938, ptr %t79) store i32 0, ptr @lp_site store i32 2269, ptr @lp_site %t81 = call ptr @lp_str_concat(ptr %t80, ptr @.str2939) store i32 0, ptr @lp_site call void @lp_free(ptr %t80) %t82 = load ptr, ptr %t62 store i32 2270, ptr @lp_site %t83 = call ptr @lp_str_concat(ptr %t81, ptr %t82) store i32 0, ptr @lp_site call void @lp_free(ptr %t81) store i32 2271, ptr @lp_site %t84 = call ptr @lp_str_concat(ptr %t83, ptr @.str2940) store i32 0, ptr @lp_site call void @lp_free(ptr %t83) %t85 = load ptr, ptr %t2 store i32 2272, ptr @lp_site %t86 = call ptr @lp_str_concat(ptr %t84, ptr %t85) store i32 0, ptr @lp_site call void @lp_free(ptr %t84) store i32 2273, ptr @lp_site %t87 = call ptr @lp_str_concat(ptr %t86, ptr @.str2941) store i32 0, ptr @lp_site call void @lp_free(ptr %t86) %t88 = load ptr, ptr %t62 store i32 2274, ptr @lp_site %t89 = call ptr @lp_str_concat(ptr %t87, ptr %t88) store i32 0, ptr @lp_site call void @lp_free(ptr %t87) store i32 2275, ptr @lp_site %t90 = call ptr @lp_str_concat(ptr %t89, ptr @.str2942) store i32 0, ptr @lp_site call void @lp_free(ptr %t89) call void @fn_pm_l(ptr %t78, ptr %t90) %t91 = load ptr, ptr %t0 %t92 = load ptr, ptr %t62 store i32 2276, ptr @lp_site %t93 = call ptr @lp_str_concat(ptr @.str2943, ptr %t92) store i32 0, ptr @lp_site store i32 2277, ptr @lp_site %t94 = call ptr @lp_str_concat(ptr %t93, ptr @.str2944) store i32 0, ptr @lp_site call void @lp_free(ptr %t93) %t95 = load ptr, ptr %t62 store i32 2278, ptr @lp_site %t96 = call ptr @lp_str_concat(ptr %t94, ptr %t95) store i32 0, ptr @lp_site call void @lp_free(ptr %t94) store i32 2279, ptr @lp_site %t97 = call ptr @lp_str_concat(ptr %t96, ptr @.str2945) store i32 0, ptr @lp_site call void @lp_free(ptr %t96) call void @fn_pm_l(ptr %t91, ptr %t97) %t98 = load ptr, ptr %t0 %t99 = load ptr, ptr %t62 store i32 2280, ptr @lp_site %t100 = call ptr @lp_str_concat(ptr @.str2946, ptr %t99) store i32 0, ptr @lp_site store i32 2281, ptr @lp_site %t101 = call ptr @lp_str_concat(ptr %t100, ptr @.str2947) store i32 0, ptr @lp_site call void @lp_free(ptr %t100) %t102 = load ptr, ptr %t62 store i32 2282, ptr @lp_site %t103 = call ptr @lp_str_concat(ptr %t101, ptr %t102) store i32 0, ptr @lp_site call void @lp_free(ptr %t101) store i32 2283, ptr @lp_site %t104 = call ptr @lp_str_concat(ptr %t103, ptr @.str2948) store i32 0, ptr @lp_site call void @lp_free(ptr %t103) call void @fn_pm_l(ptr %t98, ptr %t104) %t105 = load ptr, ptr %t0 %t106 = load ptr, ptr %t62 store i32 2284, ptr @lp_site %t107 = call ptr @lp_str_concat(ptr @.str2949, ptr %t106) store i32 0, ptr @lp_site store i32 2285, ptr @lp_site %t108 = call ptr @lp_str_concat(ptr %t107, ptr @.str2950) store i32 0, ptr @lp_site call void @lp_free(ptr %t107) call void @fn_pm_l(ptr %t105, ptr %t108) %t109 = load ptr, ptr %t0 call void @fn_pm_l(ptr %t109, ptr @.str2951) %t110 = load ptr, ptr %t0 call void @fn_pm_l(ptr %t110, ptr @.str2952) %t111 = load ptr, ptr %t0 %t112 = load ptr, ptr %t62 store i32 2286, ptr @lp_site %t113 = call ptr @lp_str_concat(ptr @.str2953, ptr %t112) store i32 0, ptr @lp_site call void @fn_pm_l(ptr %t111, ptr %t113) %t114 = load ptr, ptr %t0 %t115 = load ptr, ptr %t62 store i32 2287, ptr @lp_site %t116 = call ptr @lp_str_concat(ptr @.str2954, ptr %t115) store i32 0, ptr @lp_site store i32 2288, ptr @lp_site %t117 = call ptr @lp_str_concat(ptr %t116, ptr @.str2955) store i32 0, ptr @lp_site call void @lp_free(ptr %t116) call void @fn_pm_l(ptr %t114, ptr %t117) %t118 = load ptr, ptr %t0 %t119 = load ptr, ptr %t62 store i32 2289, ptr @lp_site %t120 = call ptr @lp_str_concat(ptr @.str2956, ptr %t119) store i32 0, ptr @lp_site store i32 2290, ptr @lp_site %t121 = call ptr @lp_str_concat(ptr %t120, ptr @.str2957) store i32 0, ptr @lp_site call void @lp_free(ptr %t120) call void @fn_pm_l(ptr %t118, ptr %t121) %t122 = load ptr, ptr %t0 call void @fn_pm_l(ptr %t122, ptr @.str2958) %t123 = load ptr, ptr %t0 call void @fn_pm_l(ptr %t123, ptr @.str2959) br label %ifend19 ifend19: %t124 = load ptr, ptr %t0 %t125 = load ptr, ptr %t1 %t126 = load ptr, ptr %t2 %t127 = load ptr, ptr %t62 call void @fn_pm_gen_reset(ptr %t124, ptr %t125, ptr %t126, ptr %t127) %t128 = load ptr, ptr %t0 %t129 = load ptr, ptr %t1 %t130 = load ptr, ptr %t2 %t131 = load ptr, ptr %t62 call void @fn_pm_gen_fill(ptr %t128, ptr %t129, ptr %t130, ptr %t131) %t132 = load i32, ptr %t10 %t133 = add i32 %t132, 1 store i32 %t133, ptr %t10 br label %wcond10 wend12: br label %ret ret: ret void } define void @fn_pm_gen_reset(ptr %arg_b, ptr %arg_sn, ptr %arg_R, ptr %arg_P) { entry: %t0 = alloca ptr %t1 = alloca ptr %t2 = alloca ptr %t3 = alloca ptr %t6 = alloca ptr %t24 = alloca i32 %t46 = alloca ptr %t51 = alloca i32 %t55 = alloca ptr store ptr %arg_b, ptr %t0 store ptr %arg_sn, ptr %t1 store ptr %arg_R, ptr %t2 store ptr %arg_P, ptr %t3 %t4 = load ptr, ptr %t3 %t5 = call ptr @fn_find_comp(ptr %t4) store ptr %t5, ptr %t6 %t7 = load ptr, ptr %t0 call void @fn_pm_l(ptr %t7, ptr @.str2960) %t8 = load ptr, ptr %t0 %t9 = load ptr, ptr %t1 store i32 2291, ptr @lp_site %t10 = call ptr @lp_str_concat(ptr @.str2961, ptr %t9) store i32 0, ptr @lp_site store i32 2292, ptr @lp_site %t11 = call ptr @lp_str_concat(ptr %t10, ptr @.str2963) store i32 0, ptr @lp_site call void @lp_free(ptr %t10) %t12 = load ptr, ptr %t3 store i32 2293, ptr @lp_site %t13 = call ptr @lp_str_concat(ptr %t11, ptr %t12) store i32 0, ptr @lp_site call void @lp_free(ptr %t11) store i32 2294, ptr @lp_site %t14 = call ptr @lp_str_concat(ptr %t13, ptr @.str2964) store i32 0, ptr @lp_site call void @lp_free(ptr %t13) %t15 = load ptr, ptr %t2 store i32 2295, ptr @lp_site %t16 = call ptr @lp_str_concat(ptr %t14, ptr %t15) store i32 0, ptr @lp_site call void @lp_free(ptr %t14) store i32 2296, ptr @lp_site %t17 = call ptr @lp_str_concat(ptr %t16, ptr @.str2965) store i32 0, ptr @lp_site call void @lp_free(ptr %t16) %t18 = load ptr, ptr %t3 store i32 2297, ptr @lp_site %t19 = call ptr @lp_str_concat(ptr %t17, ptr %t18) store i32 0, ptr @lp_site call void @lp_free(ptr %t17) store i32 2298, ptr @lp_site %t20 = call ptr @lp_str_concat(ptr %t19, ptr @.str2966) store i32 0, ptr @lp_site call void @lp_free(ptr %t19) call void @fn_pm_l(ptr %t8, ptr %t20) %t21 = load ptr, ptr %t0 %t22 = load ptr, ptr %t3 store i32 2299, ptr @lp_site %t23 = call ptr @lp_str_concat(ptr @.str2967, ptr %t22) store i32 0, ptr @lp_site call void @fn_pm_l(ptr %t21, ptr %t23) store i32 0, ptr %t24 br label %wcond0 wcond0: %t25 = load i32, ptr %t24 %t26 = load ptr, ptr %t6 %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 1 %t30 = load i32, ptr %t29 %t31 = icmp slt i32 %t25, %t30 %t32 = zext i1 %t31 to i32 %t33 = icmp ne i32 %t32, 0 br i1 %t33, label %wbody1, label %wend2 wbody1: %t34 = load ptr, ptr %t6 %t35 = getelementptr inbounds %Cmp_Node, ptr %t34, i32 0, i32 7 %t36 = load ptr, ptr %t35 %t37 = load i32, ptr %t24 %t38 = getelementptr inbounds %LSlice, ptr %t36, i32 0, i32 0 %t39 = load ptr, ptr %t38 %t40 = getelementptr inbounds %LSlice, ptr %t36, i32 0, i32 1 %t41 = load i32, ptr %t40 %t42 = icmp ult i32 %t37, %t41 br i1 %t42, label %ixok3, label %ixbad4 ixbad4: store i32 2300, ptr @lp_site %t43 = call ptr @lp_win_stdio(i32 2) store i32 0, ptr @lp_site call i32 (ptr, ptr, ...) @fprintf(ptr %t43, ptr @.fmt_bounds, ptr @.str2968, i32 %t37, i32 %t41) call void @exit(i32 1) unreachable ixok3: %t44 = getelementptr inbounds ptr, ptr %t39, i32 %t37 %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 3 %t49 = load ptr, ptr %t48 %t50 = call i32 @fn_pm_kind(ptr %t49) store i32 %t50, ptr %t51 %t52 = load ptr, ptr %t46 %t53 = getelementptr inbounds %Cmp_Node, ptr %t52, i32 0, i32 1 %t54 = load ptr, ptr %t53 store ptr %t54, ptr %t55 %t56 = load i32, ptr %t51 %t57 = icmp eq i32 %t56, 6 %t58 = zext i1 %t57 to i32 %t59 = icmp ne i32 %t58, 0 br i1 %t59, label %then5, label %else6 then5: %t60 = load ptr, ptr %t0 %t61 = load ptr, ptr %t55 store i32 2301, ptr @lp_site %t62 = call ptr @lp_str_concat(ptr @.str2969, ptr %t61) store i32 0, ptr @lp_site store i32 2302, ptr @lp_site %t63 = call ptr @lp_str_concat(ptr %t62, ptr @.str2970) store i32 0, ptr @lp_site call void @lp_free(ptr %t62) %t64 = load ptr, ptr %t55 store i32 2303, ptr @lp_site %t65 = call ptr @lp_str_concat(ptr %t63, ptr %t64) store i32 0, ptr @lp_site call void @lp_free(ptr %t63) store i32 2304, ptr @lp_site %t66 = call ptr @lp_str_concat(ptr %t65, ptr @.str2971) store i32 0, ptr @lp_site call void @lp_free(ptr %t65) %t67 = load ptr, ptr %t46 %t68 = getelementptr inbounds %Cmp_Node, ptr %t67, i32 0, i32 3 %t69 = load ptr, ptr %t68 store i32 2305, ptr @lp_site %t70 = call ptr @lp_str_concat(ptr %t66, ptr %t69) store i32 0, ptr @lp_site call void @lp_free(ptr %t66) store i32 2306, ptr @lp_site %t71 = call ptr @lp_str_concat(ptr %t70, ptr @.str2972) store i32 0, ptr @lp_site call void @lp_free(ptr %t70) %t72 = load ptr, ptr %t55 store i32 2307, ptr @lp_site %t73 = call ptr @lp_str_concat(ptr %t71, ptr %t72) store i32 0, ptr @lp_site call void @lp_free(ptr %t71) store i32 2308, ptr @lp_site %t74 = call ptr @lp_str_concat(ptr %t73, ptr @.str2973) store i32 0, ptr @lp_site call void @lp_free(ptr %t73) call void @fn_pm_l(ptr %t60, ptr %t74) %t75 = load ptr, ptr %t46 %t76 = getelementptr inbounds %Cmp_Node, ptr %t75, i32 0, i32 3 %t77 = load ptr, ptr %t76 %t78 = call ptr @fn_slice_elem(ptr %t77) %t79 = call i32 @fn_pm_kind(ptr %t78) %t80 = icmp ne i32 %t79, 5 %t81 = zext i1 %t80 to i32 %t82 = icmp ne i32 %t81, 0 br i1 %t82, label %then8, label %ifend10 then8: %t83 = load ptr, ptr %t0 %t84 = load ptr, ptr %t55 store i32 2309, ptr @lp_site %t85 = call ptr @lp_str_concat(ptr @.str2974, ptr %t84) store i32 0, ptr @lp_site store i32 2310, ptr @lp_site %t86 = call ptr @lp_str_concat(ptr %t85, ptr @.str2975) store i32 0, ptr @lp_site call void @lp_free(ptr %t85) call void @fn_pm_l(ptr %t83, ptr %t86) %t87 = load ptr, ptr %t0 %t88 = load i32, ptr %t24 %t89 = call ptr @fn_itoa(i32 %t88) store i32 2311, ptr @lp_site %t90 = call ptr @lp_str_concat(ptr @.str2976, ptr %t89) store i32 0, ptr @lp_site store i32 2312, ptr @lp_site %t91 = call ptr @lp_str_concat(ptr %t90, ptr @.str2977) store i32 0, ptr @lp_site call void @lp_free(ptr %t90) call void @fn_pm_l(ptr %t87, ptr %t91) %t92 = load ptr, ptr %t0 %t93 = load i32, ptr %t24 %t94 = call ptr @fn_itoa(i32 %t93) store i32 2313, ptr @lp_site %t95 = call ptr @lp_str_concat(ptr @.str2978, ptr %t94) store i32 0, ptr @lp_site store i32 2314, ptr @lp_site %t96 = call ptr @lp_str_concat(ptr %t95, ptr @.str2979) store i32 0, ptr @lp_site call void @lp_free(ptr %t95) %t97 = load ptr, ptr %t55 store i32 2315, ptr @lp_site %t98 = call ptr @lp_str_concat(ptr %t96, ptr %t97) store i32 0, ptr @lp_site call void @lp_free(ptr %t96) store i32 2316, ptr @lp_site %t99 = call ptr @lp_str_concat(ptr %t98, ptr @.str2980) store i32 0, ptr @lp_site call void @lp_free(ptr %t98) call void @fn_pm_l(ptr %t92, ptr %t99) %t100 = load ptr, ptr %t0 %t101 = load ptr, ptr %t55 store i32 2317, ptr @lp_site %t102 = call ptr @lp_str_concat(ptr @.str2981, ptr %t101) store i32 0, ptr @lp_site store i32 2318, ptr @lp_site %t103 = call ptr @lp_str_concat(ptr %t102, ptr @.str2982) store i32 0, ptr @lp_site call void @lp_free(ptr %t102) %t104 = load ptr, ptr %t55 store i32 2319, ptr @lp_site %t105 = call ptr @lp_str_concat(ptr %t103, ptr %t104) store i32 0, ptr @lp_site call void @lp_free(ptr %t103) store i32 2320, ptr @lp_site %t106 = call ptr @lp_str_concat(ptr %t105, ptr @.str2983) store i32 0, ptr @lp_site call void @lp_free(ptr %t105) %t107 = load i32, ptr %t24 %t108 = call ptr @fn_itoa(i32 %t107) store i32 2321, ptr @lp_site %t109 = call ptr @lp_str_concat(ptr %t106, ptr %t108) store i32 0, ptr @lp_site call void @lp_free(ptr %t106) store i32 2322, ptr @lp_site %t110 = call ptr @lp_str_concat(ptr %t109, ptr @.str2984) store i32 0, ptr @lp_site call void @lp_free(ptr %t109) call void @fn_pm_l(ptr %t100, ptr %t110) %t111 = load ptr, ptr %t0 %t112 = load i32, ptr %t24 %t113 = call ptr @fn_itoa(i32 %t112) store i32 2323, ptr @lp_site %t114 = call ptr @lp_str_concat(ptr @.str2985, ptr %t113) store i32 0, ptr @lp_site store i32 2324, ptr @lp_site %t115 = call ptr @lp_str_concat(ptr %t114, ptr @.str2986) store i32 0, ptr @lp_site call void @lp_free(ptr %t114) call void @fn_pm_l(ptr %t111, ptr %t115) %t116 = load ptr, ptr %t0 call void @fn_pm_l(ptr %t116, ptr @.str2987) %t117 = load ptr, ptr %t0 call void @fn_pm_l(ptr %t117, ptr @.str2988) br label %ifend10 ifend10: br label %ifend7 else6: %t118 = load i32, ptr %t51 %t119 = icmp eq i32 %t118, 5 %t120 = zext i1 %t119 to i32 %t121 = icmp ne i32 %t120, 0 br i1 %t121, label %then11, label %else12 then11: %t122 = load ptr, ptr %t0 %t123 = load ptr, ptr %t55 store i32 2325, ptr @lp_site %t124 = call ptr @lp_str_concat(ptr @.str2989, ptr %t123) store i32 0, ptr @lp_site store i32 2326, ptr @lp_site %t125 = call ptr @lp_str_concat(ptr %t124, ptr @.str2990) store i32 0, ptr @lp_site call void @lp_free(ptr %t124) %t126 = load ptr, ptr %t55 store i32 2327, ptr @lp_site %t127 = call ptr @lp_str_concat(ptr %t125, ptr %t126) store i32 0, ptr @lp_site call void @lp_free(ptr %t125) store i32 2328, ptr @lp_site %t128 = call ptr @lp_str_concat(ptr %t127, ptr @.str2991) store i32 0, ptr @lp_site call void @lp_free(ptr %t127) %t129 = load ptr, ptr %t46 %t130 = getelementptr inbounds %Cmp_Node, ptr %t129, i32 0, i32 3 %t131 = load ptr, ptr %t130 store i32 2329, ptr @lp_site %t132 = call ptr @lp_str_concat(ptr %t128, ptr %t131) store i32 0, ptr @lp_site call void @lp_free(ptr %t128) store i32 2330, ptr @lp_site %t133 = call ptr @lp_str_concat(ptr %t132, ptr @.str2992) store i32 0, ptr @lp_site call void @lp_free(ptr %t132) call void @fn_pm_l(ptr %t122, ptr %t133) %t134 = load ptr, ptr %t0 %t135 = load ptr, ptr %t1 store i32 2331, ptr @lp_site %t136 = call ptr @lp_str_concat(ptr @.str2993, ptr %t135) store i32 0, ptr @lp_site store i32 2332, ptr @lp_site %t137 = call ptr @lp_str_concat(ptr %t136, ptr @.str2994) store i32 0, ptr @lp_site call void @lp_free(ptr %t136) %t138 = load ptr, ptr %t46 %t139 = getelementptr inbounds %Cmp_Node, ptr %t138, i32 0, i32 3 %t140 = load ptr, ptr %t139 store i32 2333, ptr @lp_site %t141 = call ptr @lp_str_concat(ptr %t137, ptr %t140) store i32 0, ptr @lp_site call void @lp_free(ptr %t137) store i32 2334, ptr @lp_site %t142 = call ptr @lp_str_concat(ptr %t141, ptr @.str2995) store i32 0, ptr @lp_site call void @lp_free(ptr %t141) %t143 = load ptr, ptr %t55 store i32 2335, ptr @lp_site %t144 = call ptr @lp_str_concat(ptr %t142, ptr %t143) store i32 0, ptr @lp_site call void @lp_free(ptr %t142) store i32 2336, ptr @lp_site %t145 = call ptr @lp_str_concat(ptr %t144, ptr @.str2996) store i32 0, ptr @lp_site call void @lp_free(ptr %t144) call void @fn_pm_l(ptr %t134, ptr %t145) br label %ifend13 else12: %t146 = load ptr, ptr %t0 %t147 = load ptr, ptr %t55 store i32 2337, ptr @lp_site %t148 = call ptr @lp_str_concat(ptr @.str2997, ptr %t147) store i32 0, ptr @lp_site store i32 2338, ptr @lp_site %t149 = call ptr @lp_str_concat(ptr %t148, ptr @.str2998) store i32 0, ptr @lp_site call void @lp_free(ptr %t148) %t150 = load ptr, ptr %t55 store i32 2339, ptr @lp_site %t151 = call ptr @lp_str_concat(ptr %t149, ptr %t150) store i32 0, ptr @lp_site call void @lp_free(ptr %t149) call void @fn_pm_l(ptr %t146, ptr %t151) br label %ifend13 ifend13: br label %ifend7 ifend7: %t152 = load i32, ptr %t24 %t153 = add i32 %t152, 1 store i32 %t153, ptr %t24 br label %wcond0 wend2: %t154 = load ptr, ptr %t0 call void @fn_pm_l(ptr %t154, ptr @.str2999) br label %ret ret: ret void } define void @fn_pm_gen_fill(ptr %arg_b, ptr %arg_sn, ptr %arg_R, ptr %arg_P) { entry: %t0 = alloca ptr %t1 = alloca ptr %t2 = alloca ptr %t3 = alloca ptr %t6 = alloca ptr %t24 = alloca i32 %t46 = alloca ptr %t47 = alloca ptr store ptr %arg_b, ptr %t0 store ptr %arg_sn, ptr %t1 store ptr %arg_R, ptr %t2 store ptr %arg_P, ptr %t3 %t4 = load ptr, ptr %t3 %t5 = call ptr @fn_find_comp(ptr %t4) store ptr %t5, ptr %t6 %t7 = load ptr, ptr %t0 call void @fn_pm_l(ptr %t7, ptr @.str3000) %t8 = load ptr, ptr %t0 %t9 = load ptr, ptr %t1 store i32 2340, ptr @lp_site %t10 = call ptr @lp_str_concat(ptr @.str3001, ptr %t9) store i32 0, ptr @lp_site store i32 2341, ptr @lp_site %t11 = call ptr @lp_str_concat(ptr %t10, ptr @.str3003) store i32 0, ptr @lp_site call void @lp_free(ptr %t10) %t12 = load ptr, ptr %t3 store i32 2342, ptr @lp_site %t13 = call ptr @lp_str_concat(ptr %t11, ptr %t12) store i32 0, ptr @lp_site call void @lp_free(ptr %t11) store i32 2343, ptr @lp_site %t14 = call ptr @lp_str_concat(ptr %t13, ptr @.str3004) store i32 0, ptr @lp_site call void @lp_free(ptr %t13) %t15 = load ptr, ptr %t2 store i32 2344, ptr @lp_site %t16 = call ptr @lp_str_concat(ptr %t14, ptr %t15) store i32 0, ptr @lp_site call void @lp_free(ptr %t14) store i32 2345, ptr @lp_site %t17 = call ptr @lp_str_concat(ptr %t16, ptr @.str3005) store i32 0, ptr @lp_site call void @lp_free(ptr %t16) %t18 = load ptr, ptr %t3 store i32 2346, ptr @lp_site %t19 = call ptr @lp_str_concat(ptr %t17, ptr %t18) store i32 0, ptr @lp_site call void @lp_free(ptr %t17) store i32 2347, ptr @lp_site %t20 = call ptr @lp_str_concat(ptr %t19, ptr @.str3006) store i32 0, ptr @lp_site call void @lp_free(ptr %t19) call void @fn_pm_l(ptr %t8, ptr %t20) %t21 = load ptr, ptr %t0 call void @fn_pm_l(ptr %t21, ptr @.str3007) %t22 = load ptr, ptr %t0 call void @fn_pm_l(ptr %t22, ptr @.str3008) %t23 = load ptr, ptr %t0 call void @fn_pm_l(ptr %t23, ptr @.str3009) store i32 0, ptr %t24 br label %wcond0 wcond0: %t25 = load i32, ptr %t24 %t26 = load ptr, ptr %t6 %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 1 %t30 = load i32, ptr %t29 %t31 = icmp slt i32 %t25, %t30 %t32 = zext i1 %t31 to i32 %t33 = icmp ne i32 %t32, 0 br i1 %t33, label %wbody1, label %wend2 wbody1: %t34 = load ptr, ptr %t6 %t35 = getelementptr inbounds %Cmp_Node, ptr %t34, i32 0, i32 7 %t36 = load ptr, ptr %t35 %t37 = load i32, ptr %t24 %t38 = getelementptr inbounds %LSlice, ptr %t36, i32 0, i32 0 %t39 = load ptr, ptr %t38 %t40 = getelementptr inbounds %LSlice, ptr %t36, i32 0, i32 1 %t41 = load i32, ptr %t40 %t42 = icmp ult i32 %t37, %t41 br i1 %t42, label %ixok3, label %ixbad4 ixbad4: store i32 2348, ptr @lp_site %t43 = call ptr @lp_win_stdio(i32 2) store i32 0, ptr @lp_site call i32 (ptr, ptr, ...) @fprintf(ptr %t43, ptr @.fmt_bounds, ptr @.str3010, i32 %t37, i32 %t41) call void @exit(i32 1) unreachable ixok3: %t44 = getelementptr inbounds ptr, ptr %t39, i32 %t37 %t45 = load ptr, ptr %t44 store ptr %t45, ptr %t46 store ptr @.str3011, ptr %t47 %t48 = load i32, ptr %t24 %t49 = icmp eq i32 %t48, 0 %t50 = zext i1 %t49 to i32 %t51 = icmp ne i32 %t50, 0 br i1 %t51, label %then5, label %ifend7 then5: store ptr @.str3012, ptr %t47 br label %ifend7 ifend7: %t52 = load ptr, ptr %t0 %t53 = load ptr, ptr %t47 store i32 2349, ptr @lp_site %t54 = call ptr @lp_str_concat(ptr @.str3013, ptr %t53) store i32 0, ptr @lp_site store i32 2350, ptr @lp_site %t55 = call ptr @lp_str_concat(ptr %t54, ptr @.str3014) store i32 0, ptr @lp_site call void @lp_free(ptr %t54) %t56 = load ptr, ptr %t46 %t57 = getelementptr inbounds %Cmp_Node, ptr %t56, i32 0, i32 1 %t58 = load ptr, ptr %t57 %t59 = call ptr @fn_pm_q(ptr %t58) store i32 2351, ptr @lp_site %t60 = call ptr @lp_str_concat(ptr %t55, ptr %t59) store i32 0, ptr @lp_site call void @lp_free(ptr %t55) store i32 2352, ptr @lp_site %t61 = call ptr @lp_str_concat(ptr %t60, ptr @.str3015) store i32 0, ptr @lp_site call void @lp_free(ptr %t60) call void @fn_pm_l(ptr %t52, ptr %t61) %t62 = load ptr, ptr %t0 %t63 = load ptr, ptr %t1 %t64 = load ptr, ptr %t46 %t65 = load i32, ptr %t24 call void @fn_pm_gen_field(ptr %t62, ptr %t63, ptr %t64, i32 %t65) %t66 = load ptr, ptr %t0 call void @fn_pm_l(ptr %t66, ptr @.str3016) %t67 = load i32, ptr %t24 %t68 = add i32 %t67, 1 store i32 %t68, ptr %t24 br label %wcond0 wend2: %t69 = load ptr, ptr %t6 %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 1 %t73 = load i32, ptr %t72 %t74 = icmp sgt i32 %t73, 0 %t75 = zext i1 %t74 to i32 %t76 = icmp ne i32 %t75, 0 br i1 %t76, label %then8, label %else9 then8: %t77 = load ptr, ptr %t0 %t78 = load ptr, ptr %t3 %t79 = call ptr @fn_pm_q(ptr %t78) store i32 2353, ptr @lp_site %t80 = call ptr @lp_str_concat(ptr @.str3017, ptr %t79) store i32 0, ptr @lp_site store i32 2354, ptr @lp_site %t81 = call ptr @lp_str_concat(ptr %t80, ptr @.str3018) store i32 0, ptr @lp_site call void @lp_free(ptr %t80) call void @fn_pm_l(ptr %t77, ptr %t81) br label %ifend10 else9: %t82 = load ptr, ptr %t0 %t83 = load ptr, ptr %t3 %t84 = call ptr @fn_pm_q(ptr %t83) store i32 2355, ptr @lp_site %t85 = call ptr @lp_str_concat(ptr @.str3019, ptr %t84) store i32 0, ptr @lp_site store i32 2356, ptr @lp_site %t86 = call ptr @lp_str_concat(ptr %t85, ptr @.str3020) store i32 0, ptr @lp_site call void @lp_free(ptr %t85) call void @fn_pm_l(ptr %t82, ptr %t86) br label %ifend10 ifend10: %t87 = load ptr, ptr %t0 call void @fn_pm_l(ptr %t87, ptr @.str3021) %t88 = load ptr, ptr %t0 call void @fn_pm_l(ptr %t88, ptr @.str3022) %t89 = load ptr, ptr %t0 call void @fn_pm_l(ptr %t89, ptr @.str3023) br label %ret ret: ret void } define ptr @fn_pm_scalar_read(i32 %arg_k) { entry: %retval = alloca ptr %t0 = alloca i32 store i32 %arg_k, ptr %t0 %t1 = load i32, ptr %t0 %t2 = icmp eq i32 %t1, 1 %t3 = zext i1 %t2 to i32 %t4 = icmp ne i32 %t3, 0 br i1 %t4, label %then0, label %ifend2 then0: store ptr @.str3024, ptr %retval br label %ret ifend2: %t5 = load i32, ptr %t0 %t6 = icmp eq i32 %t5, 2 %t7 = zext i1 %t6 to i32 %t8 = icmp ne i32 %t7, 0 br i1 %t8, label %then3, label %ifend5 then3: store ptr @.str3025, ptr %retval br label %ret ifend5: %t9 = load i32, ptr %t0 %t10 = icmp eq i32 %t9, 3 %t11 = zext i1 %t10 to i32 %t12 = icmp ne i32 %t11, 0 br i1 %t12, label %then6, label %ifend8 then6: store ptr @.str3026, ptr %retval br label %ret ifend8: store ptr @.str3027, ptr %retval br label %ret ret: %t13 = load ptr, ptr %retval ret ptr %t13 } define void @fn_pm_gen_field(ptr %arg_b, ptr %arg_sn, ptr %arg_fd, i32 %arg_i) { entry: %t0 = alloca ptr %t1 = alloca ptr %t2 = alloca ptr %t3 = alloca i32 %t8 = alloca i32 %t12 = alloca ptr %t15 = alloca ptr %t16 = alloca i32 %t34 = alloca i32 %t35 = alloca i32 %t36 = alloca i32 %t114 = alloca ptr %t117 = alloca i32 store ptr %arg_b, ptr %t0 store ptr %arg_sn, ptr %t1 store ptr %arg_fd, ptr %t2 store i32 %arg_i, ptr %t3 %t4 = load ptr, ptr %t2 %t5 = getelementptr inbounds %Cmp_Node, ptr %t4, i32 0, i32 3 %t6 = load ptr, ptr %t5 %t7 = call i32 @fn_pm_kind(ptr %t6) store i32 %t7, ptr %t8 %t9 = load ptr, ptr %t2 %t10 = getelementptr inbounds %Cmp_Node, ptr %t9, i32 0, i32 1 %t11 = load ptr, ptr %t10 store ptr %t11, ptr %t12 %t13 = load i32, ptr %t3 %t14 = call ptr @fn_itoa(i32 %t13) store ptr %t14, ptr %t15 %t17 = load i32, ptr %t8 %t18 = icmp eq i32 %t17, 4 %t19 = zext i1 %t18 to i32 %t20 = icmp ne i32 %t19, 0 %t21 = zext i1 %t20 to i32 store i32 %t21, ptr %t16 br i1 %t20, label %sc0, label %scend1 sc0: %t22 = load ptr, ptr %t2 %t23 = getelementptr inbounds %Cmp_Node, ptr %t22, i32 0, i32 3 %t24 = load ptr, ptr %t23 %t25 = call i32 @fn_i18n_is_key_ty(ptr %t24) %t26 = icmp ne i32 %t25, 0 %t27 = zext i1 %t26 to i32 store i32 %t27, ptr %t16 br label %scend1 scend1: %t28 = load i32, ptr %t16 %t29 = icmp ne i32 %t28, 0 br i1 %t29, label %then2, label %ifend4 then2: %t30 = load ptr, ptr %t0 %t31 = load ptr, ptr %t12 store i32 2357, ptr @lp_site %t32 = call ptr @lp_str_concat(ptr @.str3028, ptr %t31) store i32 0, ptr @lp_site store i32 2358, ptr @lp_site %t33 = call ptr @lp_str_concat(ptr %t32, ptr @.str3030) store i32 0, ptr @lp_site call void @lp_free(ptr %t32) call void @fn_pm_l(ptr %t30, ptr %t33) br label %ret ifend4: %t37 = load i32, ptr %t8 %t38 = icmp eq i32 %t37, 1 %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 %scend6, label %sc5 sc5: %t42 = load i32, ptr %t8 %t43 = icmp eq i32 %t42, 2 %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 %scend6 scend6: %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 %scend8, label %sc7 sc7: %t50 = load i32, ptr %t8 %t51 = icmp eq i32 %t50, 3 %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 %scend8 scend8: %t55 = load i32, ptr %t35 %t56 = icmp ne i32 %t55, 0 %t57 = zext i1 %t56 to i32 store i32 %t57, ptr %t34 br i1 %t56, label %scend10, label %sc9 sc9: %t58 = load i32, ptr %t8 %t59 = icmp eq i32 %t58, 4 %t60 = zext i1 %t59 to i32 %t61 = icmp ne i32 %t60, 0 %t62 = zext i1 %t61 to i32 store i32 %t62, ptr %t34 br label %scend10 scend10: %t63 = load i32, ptr %t34 %t64 = icmp ne i32 %t63, 0 br i1 %t64, label %then11, label %ifend13 then11: %t65 = load ptr, ptr %t0 %t66 = load ptr, ptr %t12 store i32 2359, ptr @lp_site %t67 = call ptr @lp_str_concat(ptr @.str3031, ptr %t66) store i32 0, ptr @lp_site store i32 2360, ptr @lp_site %t68 = call ptr @lp_str_concat(ptr %t67, ptr @.str3032) store i32 0, ptr @lp_site call void @lp_free(ptr %t67) %t69 = load i32, ptr %t8 %t70 = call ptr @fn_pm_scalar_read(i32 %t69) store i32 2361, ptr @lp_site %t71 = call ptr @lp_str_concat(ptr %t68, ptr %t70) store i32 0, ptr @lp_site call void @lp_free(ptr %t68) store i32 2362, ptr @lp_site %t72 = call ptr @lp_str_concat(ptr %t71, ptr @.str3033) store i32 0, ptr @lp_site call void @lp_free(ptr %t71) call void @fn_pm_l(ptr %t65, ptr %t72) br label %ret ifend13: %t73 = load i32, ptr %t8 %t74 = icmp eq i32 %t73, 7 %t75 = zext i1 %t74 to i32 %t76 = icmp ne i32 %t75, 0 br i1 %t76, label %then14, label %ifend16 then14: %t77 = load ptr, ptr %t0 %t78 = load ptr, ptr %t12 store i32 2363, ptr @lp_site %t79 = call ptr @lp_str_concat(ptr @.str3034, ptr %t78) store i32 0, ptr @lp_site store i32 2364, ptr @lp_site %t80 = call ptr @lp_str_concat(ptr %t79, ptr @.str3035) store i32 0, ptr @lp_site call void @lp_free(ptr %t79) %t81 = load ptr, ptr %t1 store i32 2365, ptr @lp_site %t82 = call ptr @lp_str_concat(ptr %t80, ptr %t81) store i32 0, ptr @lp_site call void @lp_free(ptr %t80) store i32 2366, ptr @lp_site %t83 = call ptr @lp_str_concat(ptr %t82, ptr @.str3036) store i32 0, ptr @lp_site call void @lp_free(ptr %t82) %t84 = load ptr, ptr %t2 %t85 = getelementptr inbounds %Cmp_Node, ptr %t84, i32 0, i32 3 %t86 = load ptr, ptr %t85 %t87 = call i32 @fn_pm_fn_index(ptr %t86) %t88 = call ptr @fn_itoa(i32 %t87) store i32 2367, ptr @lp_site %t89 = call ptr @lp_str_concat(ptr %t83, ptr %t88) store i32 0, ptr @lp_site call void @lp_free(ptr %t83) store i32 2368, ptr @lp_site %t90 = call ptr @lp_str_concat(ptr %t89, ptr @.str3037) store i32 0, ptr @lp_site call void @lp_free(ptr %t89) %t91 = load ptr, ptr %t12 store i32 2369, ptr @lp_site %t92 = call ptr @lp_str_concat(ptr %t90, ptr %t91) store i32 0, ptr @lp_site call void @lp_free(ptr %t90) store i32 2370, ptr @lp_site %t93 = call ptr @lp_str_concat(ptr %t92, ptr @.str3038) store i32 0, ptr @lp_site call void @lp_free(ptr %t92) call void @fn_pm_l(ptr %t77, ptr %t93) br label %ret ifend16: %t94 = load i32, ptr %t8 %t95 = icmp eq i32 %t94, 5 %t96 = zext i1 %t95 to i32 %t97 = icmp ne i32 %t96, 0 br i1 %t97, label %then17, label %ifend19 then17: %t98 = load ptr, ptr %t0 %t99 = load ptr, ptr %t1 store i32 2371, ptr @lp_site %t100 = call ptr @lp_str_concat(ptr @.str3039, ptr %t99) store i32 0, ptr @lp_site store i32 2372, ptr @lp_site %t101 = call ptr @lp_str_concat(ptr %t100, ptr @.str3040) store i32 0, ptr @lp_site call void @lp_free(ptr %t100) %t102 = load ptr, ptr %t2 %t103 = getelementptr inbounds %Cmp_Node, ptr %t102, i32 0, i32 3 %t104 = load ptr, ptr %t103 store i32 2373, ptr @lp_site %t105 = call ptr @lp_str_concat(ptr %t101, ptr %t104) store i32 0, ptr @lp_site call void @lp_free(ptr %t101) store i32 2374, ptr @lp_site %t106 = call ptr @lp_str_concat(ptr %t105, ptr @.str3041) store i32 0, ptr @lp_site call void @lp_free(ptr %t105) %t107 = load ptr, ptr %t12 store i32 2375, ptr @lp_site %t108 = call ptr @lp_str_concat(ptr %t106, ptr %t107) store i32 0, ptr @lp_site call void @lp_free(ptr %t106) store i32 2376, ptr @lp_site %t109 = call ptr @lp_str_concat(ptr %t108, ptr @.str3042) store i32 0, ptr @lp_site call void @lp_free(ptr %t108) call void @fn_pm_l(ptr %t98, ptr %t109) br label %ret ifend19: %t110 = load ptr, ptr %t2 %t111 = getelementptr inbounds %Cmp_Node, ptr %t110, i32 0, i32 3 %t112 = load ptr, ptr %t111 %t113 = call ptr @fn_slice_elem(ptr %t112) store ptr %t113, ptr %t114 %t115 = load ptr, ptr %t114 %t116 = call i32 @fn_pm_kind(ptr %t115) store i32 %t116, ptr %t117 %t118 = load ptr, ptr %t0 call void @fn_pm_l(ptr %t118, ptr @.str3043) %t119 = load ptr, ptr %t0 %t120 = load ptr, ptr %t12 store i32 2377, ptr @lp_site %t121 = call ptr @lp_str_concat(ptr @.str3044, ptr %t120) store i32 0, ptr @lp_site store i32 2378, ptr @lp_site %t122 = call ptr @lp_str_concat(ptr %t121, ptr @.str3045) store i32 0, ptr @lp_site call void @lp_free(ptr %t121) call void @fn_pm_l(ptr %t119, ptr %t122) %t123 = load ptr, ptr %t0 %t124 = load ptr, ptr %t15 store i32 2379, ptr @lp_site %t125 = call ptr @lp_str_concat(ptr @.str3046, ptr %t124) store i32 0, ptr @lp_site store i32 2380, ptr @lp_site %t126 = call ptr @lp_str_concat(ptr %t125, ptr @.str3047) store i32 0, ptr @lp_site call void @lp_free(ptr %t125) call void @fn_pm_l(ptr %t123, ptr %t126) %t127 = load ptr, ptr %t0 %t128 = load ptr, ptr %t15 store i32 2381, ptr @lp_site %t129 = call ptr @lp_str_concat(ptr @.str3048, ptr %t128) store i32 0, ptr @lp_site store i32 2382, ptr @lp_site %t130 = call ptr @lp_str_concat(ptr %t129, ptr @.str3049) store i32 0, ptr @lp_site call void @lp_free(ptr %t129) call void @fn_pm_l(ptr %t127, ptr %t130) %t131 = load i32, ptr %t117 %t132 = icmp eq i32 %t131, 5 %t133 = zext i1 %t132 to i32 %t134 = icmp ne i32 %t133, 0 br i1 %t134, label %then20, label %else21 then20: %t135 = load ptr, ptr %t0 %t136 = load ptr, ptr %t15 store i32 2383, ptr @lp_site %t137 = call ptr @lp_str_concat(ptr @.str3050, ptr %t136) store i32 0, ptr @lp_site store i32 2384, ptr @lp_site %t138 = call ptr @lp_str_concat(ptr %t137, ptr @.str3051) store i32 0, ptr @lp_site call void @lp_free(ptr %t137) %t139 = load ptr, ptr %t1 store i32 2385, ptr @lp_site %t140 = call ptr @lp_str_concat(ptr %t138, ptr %t139) store i32 0, ptr @lp_site call void @lp_free(ptr %t138) store i32 2386, ptr @lp_site %t141 = call ptr @lp_str_concat(ptr %t140, ptr @.str3052) store i32 0, ptr @lp_site call void @lp_free(ptr %t140) %t142 = load ptr, ptr %t114 store i32 2387, ptr @lp_site %t143 = call ptr @lp_str_concat(ptr %t141, ptr %t142) store i32 0, ptr @lp_site call void @lp_free(ptr %t141) store i32 2388, ptr @lp_site %t144 = call ptr @lp_str_concat(ptr %t143, ptr @.str3053) store i32 0, ptr @lp_site call void @lp_free(ptr %t143) call void @fn_pm_l(ptr %t135, ptr %t144) %t145 = load ptr, ptr %t0 %t146 = load ptr, ptr %t1 store i32 2389, ptr @lp_site %t147 = call ptr @lp_str_concat(ptr @.str3054, ptr %t146) store i32 0, ptr @lp_site store i32 2390, ptr @lp_site %t148 = call ptr @lp_str_concat(ptr %t147, ptr @.str3055) store i32 0, ptr @lp_site call void @lp_free(ptr %t147) %t149 = load ptr, ptr %t114 store i32 2391, ptr @lp_site %t150 = call ptr @lp_str_concat(ptr %t148, ptr %t149) store i32 0, ptr @lp_site call void @lp_free(ptr %t148) store i32 2392, ptr @lp_site %t151 = call ptr @lp_str_concat(ptr %t150, ptr @.str3056) store i32 0, ptr @lp_site call void @lp_free(ptr %t150) %t152 = load ptr, ptr %t15 store i32 2393, ptr @lp_site %t153 = call ptr @lp_str_concat(ptr %t151, ptr %t152) store i32 0, ptr @lp_site call void @lp_free(ptr %t151) store i32 2394, ptr @lp_site %t154 = call ptr @lp_str_concat(ptr %t153, ptr @.str3057) store i32 0, ptr @lp_site call void @lp_free(ptr %t153) call void @fn_pm_l(ptr %t145, ptr %t154) %t155 = load ptr, ptr %t0 %t156 = load ptr, ptr %t15 store i32 2395, ptr @lp_site %t157 = call ptr @lp_str_concat(ptr @.str3058, ptr %t156) store i32 0, ptr @lp_site store i32 2396, ptr @lp_site %t158 = call ptr @lp_str_concat(ptr %t157, ptr @.str3059) store i32 0, ptr @lp_site call void @lp_free(ptr %t157) %t159 = load ptr, ptr %t1 store i32 2397, ptr @lp_site %t160 = call ptr @lp_str_concat(ptr %t158, ptr %t159) store i32 0, ptr @lp_site call void @lp_free(ptr %t158) store i32 2398, ptr @lp_site %t161 = call ptr @lp_str_concat(ptr %t160, ptr @.str3060) store i32 0, ptr @lp_site call void @lp_free(ptr %t160) %t162 = load ptr, ptr %t114 store i32 2399, ptr @lp_site %t163 = call ptr @lp_str_concat(ptr %t161, ptr %t162) store i32 0, ptr @lp_site call void @lp_free(ptr %t161) store i32 2400, ptr @lp_site %t164 = call ptr @lp_str_concat(ptr %t163, ptr @.str3061) store i32 0, ptr @lp_site call void @lp_free(ptr %t163) %t165 = load ptr, ptr %t15 store i32 2401, ptr @lp_site %t166 = call ptr @lp_str_concat(ptr %t164, ptr %t165) store i32 0, ptr @lp_site call void @lp_free(ptr %t164) store i32 2402, ptr @lp_site %t167 = call ptr @lp_str_concat(ptr %t166, ptr @.str3062) store i32 0, ptr @lp_site call void @lp_free(ptr %t166) %t168 = load ptr, ptr %t15 store i32 2403, ptr @lp_site %t169 = call ptr @lp_str_concat(ptr %t167, ptr %t168) store i32 0, ptr @lp_site call void @lp_free(ptr %t167) store i32 2404, ptr @lp_site %t170 = call ptr @lp_str_concat(ptr %t169, ptr @.str3063) store i32 0, ptr @lp_site call void @lp_free(ptr %t169) call void @fn_pm_l(ptr %t155, ptr %t170) %t171 = load ptr, ptr %t0 %t172 = load ptr, ptr %t12 store i32 2405, ptr @lp_site %t173 = call ptr @lp_str_concat(ptr @.str3064, ptr %t172) store i32 0, ptr @lp_site store i32 2406, ptr @lp_site %t174 = call ptr @lp_str_concat(ptr %t173, ptr @.str3065) store i32 0, ptr @lp_site call void @lp_free(ptr %t173) %t175 = load ptr, ptr %t15 store i32 2407, ptr @lp_site %t176 = call ptr @lp_str_concat(ptr %t174, ptr %t175) store i32 0, ptr @lp_site call void @lp_free(ptr %t174) store i32 2408, ptr @lp_site %t177 = call ptr @lp_str_concat(ptr %t176, ptr @.str3066) store i32 0, ptr @lp_site call void @lp_free(ptr %t176) call void @fn_pm_l(ptr %t171, ptr %t177) br label %ifend22 else21: %t178 = load ptr, ptr %t114 %t179 = call i32 @fn_i18n_is_key_ty(ptr %t178) %t180 = icmp ne i32 %t179, 0 br i1 %t180, label %then23, label %else24 then23: %t181 = load ptr, ptr %t0 %t182 = load ptr, ptr %t12 store i32 2409, ptr @lp_site %t183 = call ptr @lp_str_concat(ptr @.str3067, ptr %t182) store i32 0, ptr @lp_site store i32 2410, ptr @lp_site %t184 = call ptr @lp_str_concat(ptr %t183, ptr @.str3068) store i32 0, ptr @lp_site call void @lp_free(ptr %t183) %t185 = load ptr, ptr %t15 store i32 2411, ptr @lp_site %t186 = call ptr @lp_str_concat(ptr %t184, ptr %t185) store i32 0, ptr @lp_site call void @lp_free(ptr %t184) store i32 2412, ptr @lp_site %t187 = call ptr @lp_str_concat(ptr %t186, ptr @.str3069) store i32 0, ptr @lp_site call void @lp_free(ptr %t186) call void @fn_pm_l(ptr %t181, ptr %t187) br label %ifend25 else24: %t188 = load ptr, ptr %t0 %t189 = load ptr, ptr %t12 store i32 2413, ptr @lp_site %t190 = call ptr @lp_str_concat(ptr @.str3070, ptr %t189) store i32 0, ptr @lp_site store i32 2414, ptr @lp_site %t191 = call ptr @lp_str_concat(ptr %t190, ptr @.str3071) store i32 0, ptr @lp_site call void @lp_free(ptr %t190) %t192 = load i32, ptr %t117 %t193 = call ptr @fn_pm_scalar_read(i32 %t192) store i32 2415, ptr @lp_site %t194 = call ptr @lp_str_concat(ptr %t191, ptr %t193) store i32 0, ptr @lp_site call void @lp_free(ptr %t191) store i32 2416, ptr @lp_site %t195 = call ptr @lp_str_concat(ptr %t194, ptr @.str3072) store i32 0, ptr @lp_site call void @lp_free(ptr %t194) %t196 = load ptr, ptr %t15 store i32 2417, ptr @lp_site %t197 = call ptr @lp_str_concat(ptr %t195, ptr %t196) store i32 0, ptr @lp_site call void @lp_free(ptr %t195) store i32 2418, ptr @lp_site %t198 = call ptr @lp_str_concat(ptr %t197, ptr @.str3073) store i32 0, ptr @lp_site call void @lp_free(ptr %t197) call void @fn_pm_l(ptr %t188, ptr %t198) br label %ifend25 ifend25: br label %ifend22 ifend22: %t199 = load ptr, ptr %t0 %t200 = load ptr, ptr %t15 store i32 2419, ptr @lp_site %t201 = call ptr @lp_str_concat(ptr @.str3074, ptr %t200) store i32 0, ptr @lp_site store i32 2420, ptr @lp_site %t202 = call ptr @lp_str_concat(ptr %t201, ptr @.str3075) store i32 0, ptr @lp_site call void @lp_free(ptr %t201) %t203 = load ptr, ptr %t15 store i32 2421, ptr @lp_site %t204 = call ptr @lp_str_concat(ptr %t202, ptr %t203) store i32 0, ptr @lp_site call void @lp_free(ptr %t202) store i32 2422, ptr @lp_site %t205 = call ptr @lp_str_concat(ptr %t204, ptr @.str3076) store i32 0, ptr @lp_site call void @lp_free(ptr %t204) call void @fn_pm_l(ptr %t199, ptr %t205) %t206 = load ptr, ptr %t0 call void @fn_pm_l(ptr %t206, ptr @.str3077) %t207 = load ptr, ptr %t0 call void @fn_pm_l(ptr %t207, ptr @.str3078) br label %ret ret: ret void } define void @fn_pm_gen_fns(ptr %arg_b, ptr %arg_sn, ptr %arg_mod) { entry: %t0 = alloca ptr %t1 = alloca ptr %t2 = alloca ptr %t3 = alloca i32 %t21 = alloca ptr %t40 = alloca ptr %t41 = alloca i32 %t62 = alloca ptr store ptr %arg_b, ptr %t0 store ptr %arg_sn, ptr %t1 store ptr %arg_mod, ptr %t2 store i32 0, ptr %t3 br label %wcond0 wcond0: %t4 = load i32, ptr %t3 %t5 = load ptr, ptr @g_g_pm_fnty %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_g_pm_fnty %t12 = load i32, ptr %t3 %t13 = getelementptr inbounds %LSlice, ptr %t11, i32 0, i32 0 %t14 = load ptr, ptr %t13 %t15 = getelementptr inbounds %LSlice, ptr %t11, i32 0, i32 1 %t16 = load i32, ptr %t15 %t17 = icmp ult i32 %t12, %t16 br i1 %t17, label %ixok3, label %ixbad4 ixbad4: store i32 2423, ptr @lp_site %t18 = call ptr @lp_win_stdio(i32 2) store i32 0, ptr @lp_site call i32 (ptr, ptr, ...) @fprintf(ptr %t18, ptr @.fmt_bounds, ptr @.str3079, i32 %t12, i32 %t16) call void @exit(i32 1) unreachable ixok3: %t19 = getelementptr inbounds ptr, ptr %t14, i32 %t12 %t20 = load ptr, ptr %t19 store ptr %t20, ptr %t21 %t22 = load ptr, ptr %t0 %t23 = load ptr, ptr %t1 store i32 2424, ptr @lp_site %t24 = call ptr @lp_str_concat(ptr @.str3081, ptr %t23) store i32 0, ptr @lp_site store i32 2425, ptr @lp_site %t25 = call ptr @lp_str_concat(ptr %t24, ptr @.str3082) store i32 0, ptr @lp_site call void @lp_free(ptr %t24) %t26 = load i32, ptr %t3 %t27 = call ptr @fn_itoa(i32 %t26) store i32 2426, ptr @lp_site %t28 = call ptr @lp_str_concat(ptr %t25, ptr %t27) store i32 0, ptr @lp_site call void @lp_free(ptr %t25) store i32 2427, ptr @lp_site %t29 = call ptr @lp_str_concat(ptr %t28, ptr @.str3083) store i32 0, ptr @lp_site call void @lp_free(ptr %t28) %t30 = load ptr, ptr %t21 store i32 2428, ptr @lp_site %t31 = call ptr @lp_str_concat(ptr %t29, ptr %t30) store i32 0, ptr @lp_site call void @lp_free(ptr %t29) store i32 2429, ptr @lp_site %t32 = call ptr @lp_str_concat(ptr %t31, ptr @.str3084) store i32 0, ptr @lp_site call void @lp_free(ptr %t31) %t33 = load ptr, ptr %t21 store i32 2430, ptr @lp_site %t34 = call ptr @lp_str_concat(ptr %t32, ptr %t33) store i32 0, ptr @lp_site call void @lp_free(ptr %t32) store i32 2431, ptr @lp_site %t35 = call ptr @lp_str_concat(ptr %t34, ptr @.str3085) store i32 0, ptr @lp_site call void @lp_free(ptr %t34) call void @fn_pm_l(ptr %t22, ptr %t35) %t36 = load ptr, ptr %t0 call void @fn_pm_l(ptr %t36, ptr @.str3086) %t37 = load ptr, ptr %t21 %t38 = load ptr, ptr %t2 %t39 = call ptr @fn_pm_fn_cands(ptr %t37, ptr %t38) store ptr %t39, ptr %t40 store i32 0, ptr %t41 br label %wcond5 wcond5: %t42 = load i32, ptr %t41 %t43 = load ptr, ptr %t40 %t44 = getelementptr inbounds %LSlice, ptr %t43, i32 0, i32 1 %t45 = load i32, ptr %t44 %t46 = icmp slt i32 %t42, %t45 %t47 = zext i1 %t46 to i32 %t48 = icmp ne i32 %t47, 0 br i1 %t48, label %wbody6, label %wend7 wbody6: %t49 = load ptr, ptr %t40 %t50 = load i32, ptr %t41 %t51 = getelementptr inbounds %LSlice, ptr %t49, i32 0, i32 0 %t52 = load ptr, ptr %t51 %t53 = getelementptr inbounds %LSlice, ptr %t49, i32 0, i32 1 %t54 = load i32, ptr %t53 %t55 = icmp ult i32 %t50, %t54 br i1 %t55, label %ixok8, label %ixbad9 ixbad9: store i32 2432, ptr @lp_site %t56 = call ptr @lp_win_stdio(i32 2) store i32 0, ptr @lp_site call i32 (ptr, ptr, ...) @fprintf(ptr %t56, ptr @.fmt_bounds, ptr @.str3087, i32 %t50, i32 %t54) call void @exit(i32 1) unreachable ixok8: %t57 = getelementptr inbounds ptr, ptr %t52, i32 %t50 %t58 = load ptr, ptr %t57 %t59 = getelementptr inbounds %Cmp_Node, ptr %t58, i32 0, i32 1 %t60 = load ptr, ptr %t59 %t61 = call ptr @fn_vis_plain(ptr %t60) store ptr %t61, ptr %t62 %t63 = load ptr, ptr %t0 %t64 = load ptr, ptr %t62 %t65 = call ptr @fn_pm_q(ptr %t64) store i32 2433, ptr @lp_site %t66 = call ptr @lp_str_concat(ptr @.str3088, ptr %t65) store i32 0, ptr @lp_site store i32 2434, ptr @lp_site %t67 = call ptr @lp_str_concat(ptr %t66, ptr @.str3089) store i32 0, ptr @lp_site call void @lp_free(ptr %t66) %t68 = load ptr, ptr %t62 store i32 2435, ptr @lp_site %t69 = call ptr @lp_str_concat(ptr %t67, ptr %t68) store i32 0, ptr @lp_site call void @lp_free(ptr %t67) store i32 2436, ptr @lp_site %t70 = call ptr @lp_str_concat(ptr %t69, ptr @.str3090) store i32 0, ptr @lp_site call void @lp_free(ptr %t69) call void @fn_pm_l(ptr %t63, ptr %t70) %t71 = load i32, ptr %t41 %t72 = add i32 %t71, 1 store i32 %t72, ptr %t41 br label %wcond5 wend7: %t73 = load ptr, ptr %t0 %t74 = load ptr, ptr %t21 %t75 = call ptr @fn_pm_q(ptr %t74) store i32 2437, ptr @lp_site %t76 = call ptr @lp_str_concat(ptr @.str3091, ptr %t75) store i32 0, ptr @lp_site store i32 2438, ptr @lp_site %t77 = call ptr @lp_str_concat(ptr %t76, ptr @.str3092) store i32 0, ptr @lp_site call void @lp_free(ptr %t76) call void @fn_pm_l(ptr %t73, ptr %t77) %t78 = load ptr, ptr %t0 call void @fn_pm_l(ptr %t78, ptr @.str3093) %t79 = load ptr, ptr %t0 call void @fn_pm_l(ptr %t79, ptr @.str3094) %t80 = load i32, ptr %t3 %t81 = add i32 %t80, 1 store i32 %t81, ptr %t3 br label %wcond0 wend2: br label %ret ret: ret void } define ptr @fn_pm_fn_type(ptr %arg_d) { entry: %retval = alloca ptr %t0 = alloca ptr %t1 = alloca ptr %t2 = alloca i32 %t24 = alloca ptr %t25 = alloca i32 %t33 = alloca i32 %t69 = alloca ptr store ptr %arg_d, ptr %t0 store ptr @.str3095, 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 = load i32, ptr %t2 %t16 = getelementptr inbounds %LSlice, ptr %t14, i32 0, i32 0 %t17 = load ptr, ptr %t16 %t18 = getelementptr inbounds %LSlice, ptr %t14, i32 0, i32 1 %t19 = load i32, ptr %t18 %t20 = icmp ult i32 %t15, %t19 br i1 %t20, label %ixok3, label %ixbad4 ixbad4: store i32 2439, ptr @lp_site %t21 = call ptr @lp_win_stdio(i32 2) store i32 0, ptr @lp_site call i32 (ptr, ptr, ...) @fprintf(ptr %t21, ptr @.fmt_bounds, ptr @.str3096, i32 %t15, i32 %t19) call void @exit(i32 1) unreachable ixok3: %t22 = getelementptr inbounds ptr, ptr %t17, i32 %t15 %t23 = load ptr, ptr %t22 store ptr %t23, ptr %t24 %t26 = load ptr, ptr %t24 %t27 = getelementptr inbounds %Cmp_Node, ptr %t26, i32 0, i32 0 %t28 = load i32, ptr %t27 %t29 = icmp eq i32 %t28, 5 %t30 = zext i1 %t29 to i32 %t31 = icmp ne i32 %t30, 0 %t32 = zext i1 %t31 to i32 store i32 %t32, ptr %t25 br i1 %t31, label %sc5, label %scend6 sc5: %t34 = load ptr, ptr %t24 %t35 = getelementptr inbounds %Cmp_Node, ptr %t34, i32 0, i32 3 %t36 = load ptr, ptr %t35 %t37 = call i32 @fn_is_state_ty(ptr %t36) %t38 = icmp ne i32 %t37, 0 %t39 = zext i1 %t38 to i32 store i32 %t39, ptr %t33 br i1 %t38, label %scend8, label %sc7 sc7: %t40 = load ptr, ptr %t24 %t41 = getelementptr inbounds %Cmp_Node, ptr %t40, i32 0, i32 3 %t42 = load ptr, ptr %t41 %t43 = call ptr @fn_vis_plain(ptr %t42) %t44 = call i32 @fn_is_state_ty(ptr %t43) %t45 = icmp ne i32 %t44, 0 %t46 = zext i1 %t45 to i32 store i32 %t46, ptr %t33 br label %scend8 scend8: %t47 = load i32, ptr %t33 %t48 = icmp eq i32 %t47, 0 %t49 = zext i1 %t48 to i32 %t50 = icmp ne i32 %t49, 0 %t51 = zext i1 %t50 to i32 store i32 %t51, ptr %t25 br label %scend6 scend6: %t52 = load i32, ptr %t25 %t53 = icmp ne i32 %t52, 0 br i1 %t53, label %then9, label %ifend11 then9: %t54 = load ptr, ptr %t1 %t55 = call i64 @strlen(ptr %t54) %t56 = trunc i64 %t55 to i32 %t57 = icmp sgt i32 %t56, 0 %t58 = zext i1 %t57 to i32 %t59 = icmp ne i32 %t58, 0 br i1 %t59, label %then12, label %ifend14 then12: %t60 = load ptr, ptr %t1 store i32 2440, ptr @lp_site %t61 = call ptr @lp_str_concat(ptr %t60, ptr @.str3098) store i32 0, ptr @lp_site store ptr %t61, ptr %t1 br label %ifend14 ifend14: %t62 = load ptr, ptr %t1 %t63 = load ptr, ptr %t24 %t64 = getelementptr inbounds %Cmp_Node, ptr %t63, i32 0, i32 3 %t65 = load ptr, ptr %t64 store i32 2441, ptr @lp_site %t66 = call ptr @lp_str_concat(ptr %t62, ptr %t65) store i32 0, ptr @lp_site store ptr %t66, ptr %t1 br label %ifend11 ifend11: %t67 = load i32, ptr %t2 %t68 = add i32 %t67, 1 store i32 %t68, ptr %t2 br label %wcond0 wend2: store ptr @.str3099, ptr %t69 %t70 = load ptr, ptr %t0 %t71 = getelementptr inbounds %Cmp_Node, ptr %t70, i32 0, i32 3 %t72 = load ptr, ptr %t71 %t73 = icmp ne ptr %t72, null %t74 = zext i1 %t73 to i32 %t75 = icmp ne i32 %t74, 0 br i1 %t75, label %then15, label %ifend17 then15: %t76 = load ptr, ptr %t0 %t77 = getelementptr inbounds %Cmp_Node, ptr %t76, i32 0, i32 3 %t78 = load ptr, ptr %t77 store ptr %t78, ptr %t69 br label %ifend17 ifend17: %t79 = load ptr, ptr %t1 store i32 2442, ptr @lp_site %t80 = call ptr @lp_str_concat(ptr @.str3100, ptr %t79) store i32 0, ptr @lp_site store i32 2443, ptr @lp_site %t81 = call ptr @lp_str_concat(ptr %t80, ptr @.str3101) store i32 0, ptr @lp_site call void @lp_free(ptr %t80) %t82 = load ptr, ptr %t69 store i32 2444, ptr @lp_site %t83 = call ptr @lp_str_concat(ptr %t81, ptr %t82) store i32 0, ptr @lp_site call void @lp_free(ptr %t81) store ptr %t83, ptr %retval br label %ret ret: %t84 = load ptr, ptr %retval ret ptr %t84 } define ptr @fn_pm_fn_cands(ptr %arg_ft, ptr %arg_mod) { entry: %retval = alloca ptr %t0 = alloca ptr %t1 = alloca ptr %t8 = alloca ptr %t9 = alloca i32 %t27 = alloca ptr %t28 = alloca i32 %t29 = alloca i32 %t30 = alloca i32 %t31 = alloca i32 %t32 = alloca i32 %t90 = alloca i32 store ptr %arg_ft, ptr %t0 store ptr %arg_mod, ptr %t1 %t2 = getelementptr %LSlice, ptr null, i32 1 %t3 = ptrtoint ptr %t2 to i64 store i32 2445, ptr @lp_site %t4 = call ptr @lp_malloc(i64 %t3) store i32 0, ptr @lp_site %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 %t8 store i32 0, ptr %t9 br label %wcond0 wcond0: %t10 = load i32, ptr %t9 %t11 = load ptr, ptr @g_prog %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 %wbody1, label %wend2 wbody1: %t17 = load ptr, ptr @g_prog %t18 = load i32, ptr %t9 %t19 = getelementptr inbounds %LSlice, ptr %t17, i32 0, i32 0 %t20 = load ptr, ptr %t19 %t21 = getelementptr inbounds %LSlice, ptr %t17, i32 0, i32 1 %t22 = load i32, ptr %t21 %t23 = icmp ult i32 %t18, %t22 br i1 %t23, label %ixok3, label %ixbad4 ixbad4: store i32 2446, ptr @lp_site %t24 = call ptr @lp_win_stdio(i32 2) store i32 0, ptr @lp_site call i32 (ptr, ptr, ...) @fprintf(ptr %t24, ptr @.fmt_bounds, ptr @.str3103, i32 %t18, i32 %t22) call void @exit(i32 1) unreachable ixok3: %t25 = getelementptr inbounds ptr, ptr %t20, i32 %t18 %t26 = load ptr, ptr %t25 store ptr %t26, ptr %t27 %t33 = load ptr, ptr %t27 %t34 = getelementptr inbounds %Cmp_Node, ptr %t33, i32 0, i32 0 %t35 = load i32, ptr %t34 %t36 = icmp eq 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 %sc5, label %scend6 sc5: %t40 = load ptr, ptr %t27 %t41 = getelementptr inbounds %Cmp_Node, ptr %t40, i32 0, i32 1 %t42 = load ptr, ptr %t41 %t43 = icmp ne ptr %t42, null %t44 = zext i1 %t43 to i32 %t45 = icmp ne i32 %t44, 0 %t46 = zext i1 %t45 to i32 store i32 %t46, ptr %t32 br label %scend6 scend6: %t47 = load i32, ptr %t32 %t48 = icmp ne i32 %t47, 0 %t49 = zext i1 %t48 to i32 store i32 %t49, ptr %t31 br i1 %t48, label %sc7, label %scend8 sc7: %t50 = load ptr, ptr %t27 %t51 = getelementptr inbounds %Cmp_Node, ptr %t50, i32 0, i32 11 %t52 = load ptr, ptr %t51 %t53 = icmp eq 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 %t31 br label %scend8 scend8: %t57 = load i32, ptr %t31 %t58 = icmp ne i32 %t57, 0 %t59 = zext i1 %t58 to i32 store i32 %t59, ptr %t30 br i1 %t58, label %sc9, label %scend10 sc9: %t60 = load ptr, ptr %t27 %t61 = getelementptr inbounds %Cmp_Node, ptr %t60, i32 0, i32 13 %t62 = load i32, ptr %t61 %t63 = icmp sge i32 %t62, 0 %t64 = zext i1 %t63 to i32 %t65 = icmp ne i32 %t64, 0 %t66 = zext i1 %t65 to i32 store i32 %t66, ptr %t30 br label %scend10 scend10: %t67 = load i32, ptr %t30 %t68 = icmp ne i32 %t67, 0 %t69 = zext i1 %t68 to i32 store i32 %t69, ptr %t29 br i1 %t68, label %sc11, label %scend12 sc11: %t70 = load ptr, ptr %t27 %t71 = getelementptr inbounds %Cmp_Node, ptr %t70, i32 0, i32 9 %t72 = load ptr, ptr %t71 %t73 = icmp ne ptr %t72, null %t74 = zext i1 %t73 to i32 %t75 = icmp ne i32 %t74, 0 %t76 = zext i1 %t75 to i32 store i32 %t76, ptr %t29 br label %scend12 scend12: %t77 = load i32, ptr %t29 %t78 = icmp ne i32 %t77, 0 %t79 = zext i1 %t78 to i32 store i32 %t79, ptr %t28 br i1 %t78, label %sc13, label %scend14 sc13: %t80 = load ptr, ptr %t27 %t81 = getelementptr inbounds %Cmp_Node, ptr %t80, i32 0, i32 9 %t82 = load ptr, ptr %t81 %t83 = call i32 @fn_is_runtime_file(ptr %t82) %t84 = icmp eq i32 %t83, 0 %t85 = zext i1 %t84 to i32 %t86 = icmp ne i32 %t85, 0 %t87 = zext i1 %t86 to i32 store i32 %t87, ptr %t28 br label %scend14 scend14: %t88 = load i32, ptr %t28 %t89 = icmp ne i32 %t88, 0 br i1 %t89, label %then15, label %ifend17 then15: %t91 = load ptr, ptr %t27 %t92 = call ptr @fn_pm_fn_type(ptr %t91) %t93 = load ptr, ptr %t0 %t94 = call i32 @lp_str_eq(ptr %t92, ptr %t93) %t95 = icmp ne i32 %t94, 0 %t96 = zext i1 %t95 to i32 store i32 %t96, ptr %t90 br i1 %t95, label %sc18, label %scend19 sc18: %t97 = load ptr, ptr %t27 %t98 = load ptr, ptr %t1 %t99 = call i32 @fn_pm_fn_visible(ptr %t97, ptr %t98) %t100 = icmp ne i32 %t99, 0 %t101 = zext i1 %t100 to i32 store i32 %t101, ptr %t90 br label %scend19 scend19: %t102 = load i32, ptr %t90 %t103 = icmp ne i32 %t102, 0 br i1 %t103, label %then20, label %ifend22 then20: %t104 = load ptr, ptr %t8 %t105 = load ptr, ptr %t27 %t106 = getelementptr inbounds %LSlice, ptr %t104, i32 0, i32 1 %t107 = getelementptr inbounds %LSlice, ptr %t104, i32 0, i32 2 %t108 = getelementptr inbounds %LSlice, ptr %t104, i32 0, i32 0 %t109 = load i32, ptr %t106 %t110 = load i32, ptr %t107 %t111 = icmp sge i32 %t109, %t110 br i1 %t111, label %grow23, label %put24 grow23: %t112 = mul i32 %t110, 2 %t113 = icmp eq i32 %t110, 0 %t114 = select i1 %t113, i32 8, i32 %t112 %t115 = getelementptr ptr, ptr null, i32 1 %t116 = ptrtoint ptr %t115 to i64 %t117 = zext i32 %t114 to i64 %t118 = mul i64 %t117, %t116 %t119 = load ptr, ptr %t108 store i32 2447, ptr @lp_site %t120 = call ptr @lp_realloc(ptr %t119, i64 %t118) store i32 0, ptr @lp_site store ptr %t120, ptr %t108 store i32 %t114, ptr %t107 br label %put24 put24: %t121 = load ptr, ptr %t108 %t122 = getelementptr inbounds ptr, ptr %t121, i32 %t109 store ptr %t105, ptr %t122 %t123 = add i32 %t109, 1 store i32 %t123, ptr %t106 br label %ifend22 ifend22: br label %ifend17 ifend17: %t124 = load i32, ptr %t9 %t125 = add i32 %t124, 1 store i32 %t125, ptr %t9 br label %wcond0 wend2: %t126 = load ptr, ptr %t8 store ptr %t126, ptr %retval br label %ret ret: %t127 = load ptr, ptr %retval ret ptr %t127 } define i32 @fn_pm_fn_visible(ptr %arg_d, ptr %arg_mod) { entry: %retval = alloca i32 %t0 = alloca ptr %t1 = alloca ptr %t6 = alloca ptr %t16 = alloca i32 %t28 = alloca i32 store ptr %arg_d, ptr %t0 store ptr %arg_mod, ptr %t1 %t2 = load ptr, ptr %t0 %t3 = getelementptr inbounds %Cmp_Node, ptr %t2, i32 0, i32 9 %t4 = load ptr, ptr %t3 %t5 = call ptr @fn_module_of(ptr %t4) store ptr %t5, ptr %t6 %t7 = load ptr, ptr %t1 %t8 = load ptr, ptr %t0 %t9 = getelementptr inbounds %Cmp_Node, ptr %t8, i32 0, i32 9 %t10 = load ptr, ptr %t9 %t11 = call ptr @fn_module_for_uses(ptr %t10) %t12 = call i32 @fn_module_may_use(ptr %t7, ptr %t11) %t13 = icmp eq i32 %t12, 0 %t14 = zext i1 %t13 to i32 %t15 = icmp ne i32 %t14, 0 br i1 %t15, label %then0, label %ifend2 then0: store i32 0, ptr %retval br label %ret ifend2: %t17 = load ptr, ptr %t6 %t18 = call i32 @lp_str_eq(ptr %t17, ptr @.str3104) %t19 = icmp ne i32 %t18, 0 %t20 = zext i1 %t19 to i32 store i32 %t20, ptr %t16 br i1 %t19, label %scend4, label %sc3 sc3: %t21 = load ptr, ptr %t6 %t22 = load ptr, ptr %t1 %t23 = call i32 @lp_str_eq(ptr %t21, ptr %t22) %t24 = icmp ne i32 %t23, 0 %t25 = zext i1 %t24 to i32 store i32 %t25, ptr %t16 br label %scend4 scend4: %t26 = load i32, ptr %t16 %t27 = icmp ne i32 %t26, 0 br i1 %t27, label %then5, label %ifend7 then5: store i32 1, ptr %retval br label %ret ifend7: %t29 = load ptr, ptr %t0 %t30 = getelementptr inbounds %Cmp_Node, ptr %t29, i32 0, i32 10 %t31 = load i32, ptr %t30 %t32 = icmp eq i32 %t31, 1 %t33 = zext i1 %t32 to i32 %t34 = icmp ne i32 %t33, 0 %t35 = zext i1 %t34 to i32 store i32 %t35, ptr %t28 br i1 %t34, label %scend9, label %sc8 sc8: %t36 = load ptr, ptr %t1 %t37 = load ptr, ptr %t6 %t38 = call i32 @fn_module_friend_of(ptr %t36, ptr %t37) %t39 = icmp ne i32 %t38, 0 %t40 = zext i1 %t39 to i32 store i32 %t40, ptr %t28 br label %scend9 scend9: %t41 = load i32, ptr %t28 store i32 %t41, ptr %retval br label %ret ret: %t42 = load i32, ptr %retval ret i32 %t42 } define void @fn_pm_gen_rows(ptr %arg_b, ptr %arg_sn, ptr %arg_R, ptr %arg_T) { entry: %t0 = alloca ptr %t1 = alloca ptr %t2 = alloca ptr %t3 = alloca ptr store ptr %arg_b, ptr %t0 store ptr %arg_sn, ptr %t1 store ptr %arg_R, ptr %t2 store ptr %arg_T, ptr %t3 %t4 = load ptr, ptr %t0 call void @fn_pm_l(ptr %t4, ptr @.str3105) %t5 = load ptr, ptr %t0 %t6 = load ptr, ptr %t1 store i32 2448, ptr @lp_site %t7 = call ptr @lp_str_concat(ptr @.str3106, ptr %t6) store i32 0, ptr @lp_site store i32 2449, ptr @lp_site %t8 = call ptr @lp_str_concat(ptr %t7, ptr @.str3108) store i32 0, ptr @lp_site call void @lp_free(ptr %t7) %t9 = load ptr, ptr %t2 store i32 2450, ptr @lp_site %t10 = call ptr @lp_str_concat(ptr %t8, ptr %t9) store i32 0, ptr @lp_site call void @lp_free(ptr %t8) store i32 2451, ptr @lp_site %t11 = call ptr @lp_str_concat(ptr %t10, ptr @.str3109) store i32 0, ptr @lp_site call void @lp_free(ptr %t10) %t12 = load ptr, ptr %t3 store i32 2452, ptr @lp_site %t13 = call ptr @lp_str_concat(ptr %t11, ptr %t12) store i32 0, ptr @lp_site call void @lp_free(ptr %t11) store i32 2453, ptr @lp_site %t14 = call ptr @lp_str_concat(ptr %t13, ptr @.str3110) store i32 0, ptr @lp_site call void @lp_free(ptr %t13) call void @fn_pm_l(ptr %t5, ptr %t14) %t15 = load ptr, ptr %t0 call void @fn_pm_l(ptr %t15, ptr @.str3111) %t16 = load ptr, ptr %t0 %t17 = load ptr, ptr %t3 store i32 2454, ptr @lp_site %t18 = call ptr @lp_str_concat(ptr @.str3112, ptr %t17) store i32 0, ptr @lp_site call void @fn_pm_l(ptr %t16, ptr %t18) %t19 = load ptr, ptr %t0 call void @fn_pm_l(ptr %t19, ptr @.str3113) %t20 = load ptr, ptr %t0 call void @fn_pm_l(ptr %t20, ptr @.str3114) %t21 = load ptr, ptr %t0 call void @fn_pm_l(ptr %t21, ptr @.str3115) %t22 = load ptr, ptr %t0 call void @fn_pm_l(ptr %t22, ptr @.str3116) %t23 = load ptr, ptr %t0 %t24 = load ptr, ptr %t1 store i32 2455, ptr @lp_site %t25 = call ptr @lp_str_concat(ptr @.str3117, ptr %t24) store i32 0, ptr @lp_site store i32 2456, ptr @lp_site %t26 = call ptr @lp_str_concat(ptr %t25, ptr @.str3118) store i32 0, ptr @lp_site call void @lp_free(ptr %t25) %t27 = load ptr, ptr %t2 store i32 2457, ptr @lp_site %t28 = call ptr @lp_str_concat(ptr %t26, ptr %t27) store i32 0, ptr @lp_site call void @lp_free(ptr %t26) store i32 2458, ptr @lp_site %t29 = call ptr @lp_str_concat(ptr %t28, ptr @.str3119) store i32 0, ptr @lp_site call void @lp_free(ptr %t28) %t30 = load ptr, ptr %t3 store i32 2459, ptr @lp_site %t31 = call ptr @lp_str_concat(ptr %t29, ptr %t30) store i32 0, ptr @lp_site call void @lp_free(ptr %t29) store i32 2460, ptr @lp_site %t32 = call ptr @lp_str_concat(ptr %t31, ptr @.str3120) store i32 0, ptr @lp_site call void @lp_free(ptr %t31) call void @fn_pm_l(ptr %t23, ptr %t32) %t33 = load ptr, ptr %t0 call void @fn_pm_l(ptr %t33, ptr @.str3121) %t34 = load ptr, ptr %t0 %t35 = load ptr, ptr %t1 store i32 2461, ptr @lp_site %t36 = call ptr @lp_str_concat(ptr @.str3122, ptr %t35) store i32 0, ptr @lp_site store i32 2462, ptr @lp_site %t37 = call ptr @lp_str_concat(ptr %t36, ptr @.str3123) store i32 0, ptr @lp_site call void @lp_free(ptr %t36) call void @fn_pm_l(ptr %t34, ptr %t37) %t38 = load ptr, ptr %t0 call void @fn_pm_l(ptr %t38, ptr @.str3124) %t39 = load ptr, ptr %t0 call void @fn_pm_l(ptr %t39, ptr @.str3125) %t40 = load ptr, ptr %t0 call void @fn_pm_l(ptr %t40, ptr @.str3126) %t41 = load ptr, ptr %t0 call void @fn_pm_l(ptr %t41, ptr @.str3127) %t42 = load ptr, ptr %t0 %t43 = load ptr, ptr %t1 store i32 2463, ptr @lp_site %t44 = call ptr @lp_str_concat(ptr @.str3128, ptr %t43) store i32 0, ptr @lp_site store i32 2464, ptr @lp_site %t45 = call ptr @lp_str_concat(ptr %t44, ptr @.str3129) store i32 0, ptr @lp_site call void @lp_free(ptr %t44) call void @fn_pm_l(ptr %t42, ptr %t45) %t46 = load ptr, ptr %t0 %t47 = load ptr, ptr %t1 store i32 2465, ptr @lp_site %t48 = call ptr @lp_str_concat(ptr @.str3130, ptr %t47) store i32 0, ptr @lp_site store i32 2466, ptr @lp_site %t49 = call ptr @lp_str_concat(ptr %t48, ptr @.str3131) store i32 0, ptr @lp_site call void @lp_free(ptr %t48) %t50 = load ptr, ptr %t3 store i32 2467, ptr @lp_site %t51 = call ptr @lp_str_concat(ptr %t49, ptr %t50) store i32 0, ptr @lp_site call void @lp_free(ptr %t49) store i32 2468, ptr @lp_site %t52 = call ptr @lp_str_concat(ptr %t51, ptr @.str3132) store i32 0, ptr @lp_site call void @lp_free(ptr %t51) call void @fn_pm_l(ptr %t46, ptr %t52) %t53 = load ptr, ptr %t0 %t54 = load ptr, ptr %t1 store i32 2469, ptr @lp_site %t55 = call ptr @lp_str_concat(ptr @.str3133, ptr %t54) store i32 0, ptr @lp_site store i32 2470, ptr @lp_site %t56 = call ptr @lp_str_concat(ptr %t55, ptr @.str3134) store i32 0, ptr @lp_site call void @lp_free(ptr %t55) %t57 = load ptr, ptr %t3 store i32 2471, ptr @lp_site %t58 = call ptr @lp_str_concat(ptr %t56, ptr %t57) store i32 0, ptr @lp_site call void @lp_free(ptr %t56) store i32 2472, ptr @lp_site %t59 = call ptr @lp_str_concat(ptr %t58, ptr @.str3135) store i32 0, ptr @lp_site call void @lp_free(ptr %t58) call void @fn_pm_l(ptr %t53, ptr %t59) %t60 = load ptr, ptr %t0 call void @fn_pm_l(ptr %t60, ptr @.str3136) %t61 = load ptr, ptr %t0 call void @fn_pm_l(ptr %t61, ptr @.str3137) %t62 = load ptr, ptr %t0 call void @fn_pm_l(ptr %t62, ptr @.str3138) %t63 = load ptr, ptr %t0 call void @fn_pm_l(ptr %t63, ptr @.str3139) %t64 = load ptr, ptr %t0 call void @fn_pm_l(ptr %t64, ptr @.str3140) %t65 = load ptr, ptr %t0 call void @fn_pm_l(ptr %t65, ptr @.str3141) %t66 = load ptr, ptr %t0 call void @fn_pm_l(ptr %t66, ptr @.str3142) %t67 = load ptr, ptr %t0 %t68 = load ptr, ptr %t1 store i32 2473, ptr @lp_site %t69 = call ptr @lp_str_concat(ptr @.str3143, ptr %t68) store i32 0, ptr @lp_site store i32 2474, ptr @lp_site %t70 = call ptr @lp_str_concat(ptr %t69, ptr @.str3144) store i32 0, ptr @lp_site call void @lp_free(ptr %t69) call void @fn_pm_l(ptr %t67, ptr %t70) %t71 = load ptr, ptr %t0 call void @fn_pm_l(ptr %t71, ptr @.str3145) %t72 = load ptr, ptr %t0 call void @fn_pm_l(ptr %t72, ptr @.str3146) %t73 = load ptr, ptr %t0 %t74 = load ptr, ptr %t1 store i32 2475, ptr @lp_site %t75 = call ptr @lp_str_concat(ptr @.str3147, ptr %t74) store i32 0, ptr @lp_site store i32 2476, ptr @lp_site %t76 = call ptr @lp_str_concat(ptr %t75, ptr @.str3148) store i32 0, ptr @lp_site call void @lp_free(ptr %t75) %t77 = load ptr, ptr %t2 store i32 2477, ptr @lp_site %t78 = call ptr @lp_str_concat(ptr %t76, ptr %t77) store i32 0, ptr @lp_site call void @lp_free(ptr %t76) store i32 2478, ptr @lp_site %t79 = call ptr @lp_str_concat(ptr %t78, ptr @.str3149) store i32 0, ptr @lp_site call void @lp_free(ptr %t78) %t80 = load ptr, ptr %t3 store i32 2479, ptr @lp_site %t81 = call ptr @lp_str_concat(ptr %t79, ptr %t80) store i32 0, ptr @lp_site call void @lp_free(ptr %t79) store i32 2480, ptr @lp_site %t82 = call ptr @lp_str_concat(ptr %t81, ptr @.str3150) store i32 0, ptr @lp_site call void @lp_free(ptr %t81) call void @fn_pm_l(ptr %t73, ptr %t82) %t83 = load ptr, ptr %t0 call void @fn_pm_l(ptr %t83, ptr @.str3151) %t84 = load ptr, ptr %t0 %t85 = load ptr, ptr %t1 store i32 2481, ptr @lp_site %t86 = call ptr @lp_str_concat(ptr @.str3152, ptr %t85) store i32 0, ptr @lp_site store i32 2482, ptr @lp_site %t87 = call ptr @lp_str_concat(ptr %t86, ptr @.str3153) store i32 0, ptr @lp_site call void @lp_free(ptr %t86) call void @fn_pm_l(ptr %t84, ptr %t87) %t88 = load ptr, ptr %t0 call void @fn_pm_l(ptr %t88, ptr @.str3154) %t89 = load ptr, ptr %t0 call void @fn_pm_l(ptr %t89, ptr @.str3155) br label %ret ret: ret void } define void @fn_pm_gen_path(ptr %arg_b, i32 %arg_r) { entry: %t0 = alloca ptr %t1 = alloca i32 %t20 = alloca ptr %t21 = alloca i32 %t22 = alloca i32 %t30 = alloca i32 %t31 = alloca i32 %t32 = alloca i32 %t33 = alloca i32 %t68 = alloca i32 store ptr %arg_b, ptr %t0 store i32 %arg_r, ptr %t1 %t2 = load ptr, ptr %t0 %t3 = load ptr, ptr @g_g_pm_root store i32 2483, ptr @lp_site %t4 = call ptr @lp_str_concat(ptr %t3, ptr @.str3157) store i32 0, ptr @lp_site %t5 = call ptr @fn_pm_q(ptr %t4) store i32 2484, ptr @lp_site %t6 = call ptr @lp_str_concat(ptr @.str3156, ptr %t5) store i32 0, ptr @lp_site store i32 2485, ptr @lp_site %t7 = call ptr @lp_str_concat(ptr %t6, ptr @.str3159) store i32 0, ptr @lp_site call void @lp_free(ptr %t6) call void @fn_pm_l(ptr %t2, ptr %t7) %t8 = load ptr, ptr %t0 call void @fn_pm_l(ptr %t8, ptr @.str3160) %t9 = load ptr, ptr %t0 call void @fn_pm_l(ptr %t9, ptr @.str3161) %t10 = load ptr, ptr @g_g_rg_from %t11 = load i32, ptr %t1 %t12 = getelementptr inbounds %LSlice, ptr %t10, i32 0, i32 0 %t13 = load ptr, ptr %t12 %t14 = getelementptr inbounds %LSlice, ptr %t10, i32 0, i32 1 %t15 = load i32, ptr %t14 %t16 = icmp ult i32 %t11, %t15 br i1 %t16, label %ixok0, label %ixbad1 ixbad1: store i32 2486, ptr @lp_site %t17 = call ptr @lp_win_stdio(i32 2) store i32 0, ptr @lp_site call i32 (ptr, ptr, ...) @fprintf(ptr %t17, ptr @.fmt_bounds, ptr @.str3162, i32 %t11, i32 %t15) call void @exit(i32 1) unreachable ixok0: %t18 = getelementptr inbounds ptr, ptr %t13, i32 %t11 %t19 = load ptr, ptr %t18 store ptr %t19, ptr %t20 store i32 0, ptr %t21 store i32 0, ptr %t22 br label %wcond2 wcond2: %t23 = load i32, ptr %t22 %t24 = load ptr, ptr %t20 %t25 = call i64 @strlen(ptr %t24) %t26 = trunc i64 %t25 to i32 %t27 = icmp slt i32 %t23, %t26 %t28 = zext i1 %t27 to i32 %t29 = icmp ne i32 %t28, 0 br i1 %t29, label %wbody3, label %wend4 wbody3: %t34 = load ptr, ptr %t20 %t35 = load i32, ptr %t22 %t36 = getelementptr inbounds i8, ptr %t34, i32 %t35 %t37 = load i8, ptr %t36 %t38 = zext i8 %t37 to i32 %t39 = icmp eq i32 %t38, 123 %t40 = zext i1 %t39 to i32 %t41 = icmp ne i32 %t40, 0 %t42 = zext i1 %t41 to i32 store i32 %t42, ptr %t33 br i1 %t41, label %sc5, label %scend6 sc5: %t43 = load i32, ptr %t22 %t44 = add i32 %t43, 3 %t45 = load ptr, ptr %t20 %t46 = call i64 @strlen(ptr %t45) %t47 = trunc i64 %t46 to i32 %t48 = icmp slt i32 %t44, %t47 %t49 = zext i1 %t48 to i32 %t50 = icmp ne i32 %t49, 0 %t51 = zext i1 %t50 to i32 store i32 %t51, ptr %t33 br label %scend6 scend6: %t52 = load i32, ptr %t33 %t53 = icmp ne i32 %t52, 0 %t54 = zext i1 %t53 to i32 store i32 %t54, ptr %t32 br i1 %t53, label %sc7, label %scend8 sc7: %t55 = load ptr, ptr %t20 %t56 = load i32, ptr %t22 %t57 = add i32 %t56, 1 %t58 = getelementptr inbounds i8, ptr %t55, i32 %t57 %t59 = load i8, ptr %t58 %t60 = zext i8 %t59 to i32 %t61 = icmp eq i32 %t60, 99 %t62 = zext i1 %t61 to i32 %t63 = icmp ne i32 %t62, 0 %t64 = zext i1 %t63 to i32 store i32 %t64, ptr %t32 br label %scend8 scend8: %t65 = load i32, ptr %t32 %t66 = icmp ne i32 %t65, 0 %t67 = zext i1 %t66 to i32 store i32 %t67, ptr %t31 br i1 %t66, label %sc9, label %scend10 sc9: %t69 = load ptr, ptr %t20 %t70 = load i32, ptr %t22 %t71 = add i32 %t70, 2 %t72 = getelementptr inbounds i8, ptr %t69, i32 %t71 %t73 = load i8, ptr %t72 %t74 = zext i8 %t73 to i32 %t75 = icmp eq i32 %t74, 120 %t76 = zext i1 %t75 to i32 %t77 = icmp ne i32 %t76, 0 %t78 = zext i1 %t77 to i32 store i32 %t78, ptr %t68 br i1 %t77, label %scend12, label %sc11 sc11: %t79 = load ptr, ptr %t20 %t80 = load i32, ptr %t22 %t81 = add i32 %t80, 2 %t82 = getelementptr inbounds i8, ptr %t79, i32 %t81 %t83 = load i8, ptr %t82 %t84 = zext i8 %t83 to i32 %t85 = icmp eq i32 %t84, 122 %t86 = zext i1 %t85 to i32 %t87 = icmp ne i32 %t86, 0 %t88 = zext i1 %t87 to i32 store i32 %t88, ptr %t68 br label %scend12 scend12: %t89 = load i32, ptr %t68 %t90 = icmp ne i32 %t89, 0 %t91 = zext i1 %t90 to i32 store i32 %t91, ptr %t31 br label %scend10 scend10: %t92 = load i32, ptr %t31 %t93 = icmp ne i32 %t92, 0 %t94 = zext i1 %t93 to i32 store i32 %t94, ptr %t30 br i1 %t93, label %sc13, label %scend14 sc13: %t95 = load ptr, ptr %t20 %t96 = load i32, ptr %t22 %t97 = add i32 %t96, 3 %t98 = getelementptr inbounds i8, ptr %t95, i32 %t97 %t99 = load i8, ptr %t98 %t100 = zext i8 %t99 to i32 %t101 = icmp eq i32 %t100, 125 %t102 = zext i1 %t101 to i32 %t103 = icmp ne i32 %t102, 0 %t104 = zext i1 %t103 to i32 store i32 %t104, ptr %t30 br label %scend14 scend14: %t105 = load i32, ptr %t30 %t106 = icmp ne i32 %t105, 0 br i1 %t106, label %then15, label %else16 then15: %t107 = load i32, ptr %t22 %t108 = load i32, ptr %t21 %t109 = icmp sgt i32 %t107, %t108 %t110 = zext i1 %t109 to i32 %t111 = icmp ne i32 %t110, 0 br i1 %t111, label %then18, label %ifend20 then18: %t112 = load ptr, ptr %t0 %t113 = load ptr, ptr %t20 %t114 = load i32, ptr %t21 %t115 = load i32, ptr %t22 store i32 2487, ptr @lp_site %t116 = call ptr @lp_str_slice(ptr %t113, i32 %t114, i32 %t115) store i32 0, ptr @lp_site %t117 = call ptr @fn_pm_q(ptr %t116) store i32 2488, ptr @lp_site %t118 = call ptr @lp_str_concat(ptr @.str3163, ptr %t117) store i32 0, ptr @lp_site store i32 2489, ptr @lp_site %t119 = call ptr @lp_str_concat(ptr %t118, ptr @.str3164) store i32 0, ptr @lp_site call void @lp_free(ptr %t118) call void @fn_pm_l(ptr %t112, ptr %t119) br label %ifend20 ifend20: %t120 = load ptr, ptr %t20 %t121 = load i32, ptr %t22 %t122 = add i32 %t121, 2 %t123 = getelementptr inbounds i8, ptr %t120, i32 %t122 %t124 = load i8, ptr %t123 %t125 = zext i8 %t124 to i32 %t126 = icmp eq i32 %t125, 120 %t127 = zext i1 %t126 to i32 %t128 = icmp ne i32 %t127, 0 br i1 %t128, label %then21, label %else22 then21: %t129 = load ptr, ptr %t0 call void @fn_pm_l(ptr %t129, ptr @.str3165) br label %ifend23 else22: %t130 = load ptr, ptr %t0 call void @fn_pm_l(ptr %t130, ptr @.str3166) br label %ifend23 ifend23: %t131 = load i32, ptr %t22 %t132 = add i32 %t131, 4 store i32 %t132, ptr %t22 %t133 = load i32, ptr %t22 store i32 %t133, ptr %t21 br label %ifend17 else16: %t134 = load i32, ptr %t22 %t135 = add i32 %t134, 1 store i32 %t135, ptr %t22 br label %ifend17 ifend17: br label %wcond2 wend4: %t136 = load ptr, ptr %t20 %t137 = call i64 @strlen(ptr %t136) %t138 = trunc i64 %t137 to i32 %t139 = load i32, ptr %t21 %t140 = icmp sgt i32 %t138, %t139 %t141 = zext i1 %t140 to i32 %t142 = icmp ne i32 %t141, 0 br i1 %t142, label %then24, label %ifend26 then24: %t143 = load ptr, ptr %t0 %t144 = load ptr, ptr %t20 %t145 = load i32, ptr %t21 %t146 = load ptr, ptr %t20 %t147 = call i64 @strlen(ptr %t146) %t148 = trunc i64 %t147 to i32 store i32 2490, ptr @lp_site %t149 = call ptr @lp_str_slice(ptr %t144, i32 %t145, i32 %t148) store i32 0, ptr @lp_site %t150 = call ptr @fn_pm_q(ptr %t149) store i32 2491, ptr @lp_site %t151 = call ptr @lp_str_concat(ptr @.str3167, ptr %t150) store i32 0, ptr @lp_site store i32 2492, ptr @lp_site %t152 = call ptr @lp_str_concat(ptr %t151, ptr @.str3168) store i32 0, ptr @lp_site call void @lp_free(ptr %t151) call void @fn_pm_l(ptr %t143, ptr %t152) br label %ifend26 ifend26: br label %ret ret: ret void } define void @fn_pm_gen_whole_verbs(ptr %arg_b, i32 %arg_r, ptr %arg_sn, ptr %arg_R) { entry: %t0 = alloca ptr %t1 = alloca i32 %t2 = alloca ptr %t3 = alloca ptr store ptr %arg_b, ptr %t0 store i32 %arg_r, ptr %t1 store ptr %arg_sn, ptr %t2 store ptr %arg_R, ptr %t3 %t4 = load ptr, ptr %t0 call void @fn_pm_l(ptr %t4, ptr @.str3169) %t5 = load ptr, ptr %t0 %t6 = load ptr, ptr %t2 store i32 2493, ptr @lp_site %t7 = call ptr @lp_str_concat(ptr @.str3170, ptr %t6) store i32 0, ptr @lp_site store i32 2494, ptr @lp_site %t8 = call ptr @lp_str_concat(ptr %t7, ptr @.str3172) store i32 0, ptr @lp_site call void @lp_free(ptr %t7) %t9 = load ptr, ptr %t3 store i32 2495, ptr @lp_site %t10 = call ptr @lp_str_concat(ptr %t8, ptr %t9) store i32 0, ptr @lp_site call void @lp_free(ptr %t8) store i32 2496, ptr @lp_site %t11 = call ptr @lp_str_concat(ptr %t10, ptr @.str3173) store i32 0, ptr @lp_site call void @lp_free(ptr %t10) call void @fn_pm_l(ptr %t5, ptr %t11) %t12 = load ptr, ptr %t0 call void @fn_pm_l(ptr %t12, ptr @.str3174) %t13 = load ptr, ptr %t0 call void @fn_pm_l(ptr %t13, ptr @.str3175) %t14 = load ptr, ptr %t0 %t15 = load i32, ptr %t1 call void @fn_pm_gen_path(ptr %t14, i32 %t15) %t16 = load ptr, ptr %t0 call void @fn_pm_l(ptr %t16, ptr @.str3176) %t17 = load ptr, ptr %t0 call void @fn_pm_l(ptr %t17, ptr @.str3177) %t18 = load ptr, ptr %t0 %t19 = load ptr, ptr %t2 store i32 2497, ptr @lp_site %t20 = call ptr @lp_str_concat(ptr @.str3178, ptr %t19) store i32 0, ptr @lp_site store i32 2498, ptr @lp_site %t21 = call ptr @lp_str_concat(ptr %t20, ptr @.str3179) store i32 0, ptr @lp_site call void @lp_free(ptr %t20) call void @fn_pm_l(ptr %t18, ptr %t21) %t22 = load ptr, ptr %t0 %t23 = load ptr, ptr %t2 store i32 2499, ptr @lp_site %t24 = call ptr @lp_str_concat(ptr @.str3180, ptr %t23) store i32 0, ptr @lp_site store i32 2500, ptr @lp_site %t25 = call ptr @lp_str_concat(ptr %t24, ptr @.str3181) store i32 0, ptr @lp_site call void @lp_free(ptr %t24) call void @fn_pm_l(ptr %t22, ptr %t25) %t26 = load ptr, ptr %t0 call void @fn_pm_l(ptr %t26, ptr @.str3182) %t27 = load ptr, ptr %t0 call void @fn_pm_l(ptr %t27, ptr @.str3183) %t28 = load ptr, ptr %t0 call void @fn_pm_l(ptr %t28, ptr @.str3184) %t29 = load ptr, ptr %t0 call void @fn_pm_l(ptr %t29, ptr @.str3185) %t30 = load ptr, ptr %t0 call void @fn_pm_l(ptr %t30, ptr @.str3186) %t31 = load ptr, ptr %t0 call void @fn_pm_l(ptr %t31, ptr @.str3187) %t32 = load ptr, ptr %t0 call void @fn_pm_l(ptr %t32, ptr @.str3188) %t33 = load ptr, ptr %t0 call void @fn_pm_l(ptr %t33, ptr @.str3189) %t34 = load ptr, ptr %t0 %t35 = load ptr, ptr %t2 store i32 2501, ptr @lp_site %t36 = call ptr @lp_str_concat(ptr @.str3190, ptr %t35) store i32 0, ptr @lp_site store i32 2502, ptr @lp_site %t37 = call ptr @lp_str_concat(ptr %t36, ptr @.str3191) store i32 0, ptr @lp_site call void @lp_free(ptr %t36) %t38 = load ptr, ptr %t3 store i32 2503, ptr @lp_site %t39 = call ptr @lp_str_concat(ptr %t37, ptr %t38) store i32 0, ptr @lp_site call void @lp_free(ptr %t37) store i32 2504, ptr @lp_site %t40 = call ptr @lp_str_concat(ptr %t39, ptr @.str3192) store i32 0, ptr @lp_site call void @lp_free(ptr %t39) call void @fn_pm_l(ptr %t34, ptr %t40) %t41 = load ptr, ptr %t0 %t42 = load ptr, ptr %t2 store i32 2505, ptr @lp_site %t43 = call ptr @lp_str_concat(ptr @.str3193, ptr %t42) store i32 0, ptr @lp_site store i32 2506, ptr @lp_site %t44 = call ptr @lp_str_concat(ptr %t43, ptr @.str3194) store i32 0, ptr @lp_site call void @lp_free(ptr %t43) call void @fn_pm_l(ptr %t41, ptr %t44) %t45 = load ptr, ptr %t0 call void @fn_pm_l(ptr %t45, ptr @.str3195) %t46 = load ptr, ptr %t0 call void @fn_pm_l(ptr %t46, ptr @.str3196) %t47 = load ptr, ptr %t0 call void @fn_pm_l(ptr %t47, ptr @.str3197) %t48 = load ptr, ptr %t0 %t49 = load ptr, ptr %t2 store i32 2507, ptr @lp_site %t50 = call ptr @lp_str_concat(ptr @.str3198, ptr %t49) store i32 0, ptr @lp_site store i32 2508, ptr @lp_site %t51 = call ptr @lp_str_concat(ptr %t50, ptr @.str3199) store i32 0, ptr @lp_site call void @lp_free(ptr %t50) %t52 = load ptr, ptr %t3 store i32 2509, ptr @lp_site %t53 = call ptr @lp_str_concat(ptr %t51, ptr %t52) store i32 0, ptr @lp_site call void @lp_free(ptr %t51) store i32 2510, ptr @lp_site %t54 = call ptr @lp_str_concat(ptr %t53, ptr @.str3200) store i32 0, ptr @lp_site call void @lp_free(ptr %t53) call void @fn_pm_l(ptr %t48, ptr %t54) %t55 = load ptr, ptr %t0 call void @fn_pm_l(ptr %t55, ptr @.str3201) %t56 = load ptr, ptr %t0 call void @fn_pm_l(ptr %t56, ptr @.str3202) br label %ret ret: ret void } define void @fn_pm_gen_chunk_verbs(ptr %arg_b, i32 %arg_r, ptr %arg_sn, ptr %arg_R) { entry: %t0 = alloca ptr %t1 = alloca i32 %t2 = alloca ptr %t3 = alloca ptr store ptr %arg_b, ptr %t0 store i32 %arg_r, ptr %t1 store ptr %arg_sn, ptr %t2 store ptr %arg_R, ptr %t3 %t4 = load ptr, ptr %t0 %t5 = load ptr, ptr %t2 store i32 2511, ptr @lp_site %t6 = call ptr @lp_str_concat(ptr @.str3203, ptr %t5) store i32 0, ptr @lp_site store i32 2512, ptr @lp_site %t7 = call ptr @lp_str_concat(ptr %t6, ptr @.str3205) store i32 0, ptr @lp_site call void @lp_free(ptr %t6) %t8 = load ptr, ptr %t3 store i32 2513, ptr @lp_site %t9 = call ptr @lp_str_concat(ptr %t7, ptr %t8) store i32 0, ptr @lp_site call void @lp_free(ptr %t7) store i32 2514, ptr @lp_site %t10 = call ptr @lp_str_concat(ptr %t9, ptr @.str3206) store i32 0, ptr @lp_site call void @lp_free(ptr %t9) call void @fn_pm_l(ptr %t4, ptr %t10) %t11 = load ptr, ptr %t0 call void @fn_pm_l(ptr %t11, ptr @.str3207) %t12 = load ptr, ptr %t0 %t13 = load ptr, ptr %t2 store i32 2515, ptr @lp_site %t14 = call ptr @lp_str_concat(ptr @.str3208, ptr %t13) store i32 0, ptr @lp_site store i32 2516, ptr @lp_site %t15 = call ptr @lp_str_concat(ptr %t14, ptr @.str3209) store i32 0, ptr @lp_site call void @lp_free(ptr %t14) call void @fn_pm_l(ptr %t12, ptr %t15) %t16 = load ptr, ptr %t0 call void @fn_pm_l(ptr %t16, ptr @.str3210) %t17 = load ptr, ptr %t0 %t18 = load ptr, ptr %t2 store i32 2517, ptr @lp_site %t19 = call ptr @lp_str_concat(ptr @.str3211, ptr %t18) store i32 0, ptr @lp_site store i32 2518, ptr @lp_site %t20 = call ptr @lp_str_concat(ptr %t19, ptr @.str3212) store i32 0, ptr @lp_site call void @lp_free(ptr %t19) %t21 = load ptr, ptr %t3 store i32 2519, ptr @lp_site %t22 = call ptr @lp_str_concat(ptr %t20, ptr %t21) store i32 0, ptr @lp_site call void @lp_free(ptr %t20) store i32 2520, ptr @lp_site %t23 = call ptr @lp_str_concat(ptr %t22, ptr @.str3213) store i32 0, ptr @lp_site call void @lp_free(ptr %t22) call void @fn_pm_l(ptr %t17, ptr %t23) %t24 = load ptr, ptr %t0 call void @fn_pm_l(ptr %t24, ptr @.str3214) %t25 = load ptr, ptr %t0 call void @fn_pm_l(ptr %t25, ptr @.str3215) %t26 = load ptr, ptr %t0 call void @fn_pm_l(ptr %t26, ptr @.str3216) %t27 = load ptr, ptr %t0 call void @fn_pm_l(ptr %t27, ptr @.str3217) %t28 = load ptr, ptr %t0 call void @fn_pm_l(ptr %t28, ptr @.str3218) %t29 = load ptr, ptr %t0 call void @fn_pm_l(ptr %t29, ptr @.str3219) %t30 = load ptr, ptr %t0 call void @fn_pm_l(ptr %t30, ptr @.str3220) %t31 = load ptr, ptr %t0 call void @fn_pm_l(ptr %t31, ptr @.str3221) %t32 = load ptr, ptr %t0 call void @fn_pm_l(ptr %t32, ptr @.str3222) %t33 = load ptr, ptr %t0 %t34 = load ptr, ptr %t2 store i32 2521, ptr @lp_site %t35 = call ptr @lp_str_concat(ptr @.str3223, ptr %t34) store i32 0, ptr @lp_site store i32 2522, ptr @lp_site %t36 = call ptr @lp_str_concat(ptr %t35, ptr @.str3224) store i32 0, ptr @lp_site call void @lp_free(ptr %t35) %t37 = load ptr, ptr %t3 store i32 2523, ptr @lp_site %t38 = call ptr @lp_str_concat(ptr %t36, ptr %t37) store i32 0, ptr @lp_site call void @lp_free(ptr %t36) store i32 2524, ptr @lp_site %t39 = call ptr @lp_str_concat(ptr %t38, ptr @.str3225) store i32 0, ptr @lp_site call void @lp_free(ptr %t38) call void @fn_pm_l(ptr %t33, ptr %t39) %t40 = load ptr, ptr %t0 call void @fn_pm_l(ptr %t40, ptr @.str3226) %t41 = load ptr, ptr %t0 call void @fn_pm_l(ptr %t41, ptr @.str3227) %t42 = load ptr, ptr %t0 call void @fn_pm_l(ptr %t42, ptr @.str3228) %t43 = load ptr, ptr %t0 %t44 = load ptr, ptr %t2 store i32 2525, ptr @lp_site %t45 = call ptr @lp_str_concat(ptr @.str3229, ptr %t44) store i32 0, ptr @lp_site store i32 2526, ptr @lp_site %t46 = call ptr @lp_str_concat(ptr %t45, ptr @.str3230) store i32 0, ptr @lp_site call void @lp_free(ptr %t45) call void @fn_pm_l(ptr %t43, ptr %t46) %t47 = load ptr, ptr %t0 call void @fn_pm_l(ptr %t47, ptr @.str3231) %t48 = load ptr, ptr %t0 call void @fn_pm_l(ptr %t48, ptr @.str3232) %t49 = load ptr, ptr %t0 call void @fn_pm_l(ptr %t49, ptr @.str3233) %t50 = load ptr, ptr %t0 call void @fn_pm_l(ptr %t50, ptr @.str3234) %t51 = load ptr, ptr %t0 %t52 = load ptr, ptr %t2 store i32 2527, ptr @lp_site %t53 = call ptr @lp_str_concat(ptr @.str3235, ptr %t52) store i32 0, ptr @lp_site store i32 2528, ptr @lp_site %t54 = call ptr @lp_str_concat(ptr %t53, ptr @.str3236) store i32 0, ptr @lp_site call void @lp_free(ptr %t53) call void @fn_pm_l(ptr %t51, ptr %t54) %t55 = load ptr, ptr %t0 call void @fn_pm_l(ptr %t55, ptr @.str3237) %t56 = load ptr, ptr %t0 call void @fn_pm_l(ptr %t56, ptr @.str3238) %t57 = load ptr, ptr %t0 call void @fn_pm_l(ptr %t57, ptr @.str3239) %t58 = load ptr, ptr %t0 call void @fn_pm_l(ptr %t58, ptr @.str3240) %t59 = load ptr, ptr %t0 call void @fn_pm_l(ptr %t59, ptr @.str3241) %t60 = load ptr, ptr %t0 call void @fn_pm_l(ptr %t60, ptr @.str3242) %t61 = load ptr, ptr %t0 call void @fn_pm_l(ptr %t61, ptr @.str3243) %t62 = load ptr, ptr %t0 call void @fn_pm_l(ptr %t62, ptr @.str3244) %t63 = load ptr, ptr %t0 %t64 = load ptr, ptr %t3 store i32 2529, ptr @lp_site %t65 = call ptr @lp_str_concat(ptr @.str3245, ptr %t64) store i32 0, ptr @lp_site store i32 2530, ptr @lp_site %t66 = call ptr @lp_str_concat(ptr %t65, ptr @.str3246) store i32 0, ptr @lp_site call void @lp_free(ptr %t65) call void @fn_pm_l(ptr %t63, ptr %t66) %t67 = load ptr, ptr %t0 call void @fn_pm_l(ptr %t67, ptr @.str3247) %t68 = load ptr, ptr %t0 call void @fn_pm_l(ptr %t68, ptr @.str3248) %t69 = load ptr, ptr %t0 call void @fn_pm_l(ptr %t69, ptr @.str3249) %t70 = load ptr, ptr %t0 %t71 = load ptr, ptr %t2 store i32 2531, ptr @lp_site %t72 = call ptr @lp_str_concat(ptr @.str3250, ptr %t71) store i32 0, ptr @lp_site store i32 2532, ptr @lp_site %t73 = call ptr @lp_str_concat(ptr %t72, ptr @.str3251) store i32 0, ptr @lp_site call void @lp_free(ptr %t72) call void @fn_pm_l(ptr %t70, ptr %t73) %t74 = load ptr, ptr %t0 call void @fn_pm_l(ptr %t74, ptr @.str3252) %t75 = load ptr, ptr %t0 call void @fn_pm_l(ptr %t75, ptr @.str3253) %t76 = load ptr, ptr %t0 call void @fn_pm_l(ptr %t76, ptr @.str3254) %t77 = load ptr, ptr %t0 call void @fn_pm_l(ptr %t77, ptr @.str3255) %t78 = load ptr, ptr %t0 %t79 = load i32, ptr %t1 call void @fn_pm_gen_path(ptr %t78, i32 %t79) %t80 = load ptr, ptr %t0 call void @fn_pm_l(ptr %t80, ptr @.str3256) %t81 = load ptr, ptr %t0 call void @fn_pm_l(ptr %t81, ptr @.str3257) %t82 = load ptr, ptr %t0 call void @fn_pm_l(ptr %t82, ptr @.str3258) %t83 = load ptr, ptr %t0 call void @fn_pm_l(ptr %t83, ptr @.str3259) %t84 = load ptr, ptr %t0 call void @fn_pm_l(ptr %t84, ptr @.str3260) %t85 = load ptr, ptr %t0 call void @fn_pm_l(ptr %t85, ptr @.str3261) %t86 = load ptr, ptr %t0 %t87 = load ptr, ptr %t2 store i32 2533, ptr @lp_site %t88 = call ptr @lp_str_concat(ptr @.str3262, ptr %t87) store i32 0, ptr @lp_site store i32 2534, ptr @lp_site %t89 = call ptr @lp_str_concat(ptr %t88, ptr @.str3263) store i32 0, ptr @lp_site call void @lp_free(ptr %t88) call void @fn_pm_l(ptr %t86, ptr %t89) %t90 = load ptr, ptr %t0 %t91 = load ptr, ptr %t2 store i32 2535, ptr @lp_site %t92 = call ptr @lp_str_concat(ptr @.str3264, ptr %t91) store i32 0, ptr @lp_site store i32 2536, ptr @lp_site %t93 = call ptr @lp_str_concat(ptr %t92, ptr @.str3265) store i32 0, ptr @lp_site call void @lp_free(ptr %t92) call void @fn_pm_l(ptr %t90, ptr %t93) %t94 = load ptr, ptr %t0 call void @fn_pm_l(ptr %t94, ptr @.str3266) %t95 = load ptr, ptr %t0 call void @fn_pm_l(ptr %t95, ptr @.str3267) %t96 = load ptr, ptr %t0 call void @fn_pm_l(ptr %t96, ptr @.str3268) %t97 = load ptr, ptr %t0 call void @fn_pm_l(ptr %t97, ptr @.str3269) %t98 = load ptr, ptr %t0 call void @fn_pm_l(ptr %t98, ptr @.str3270) %t99 = load ptr, ptr %t0 call void @fn_pm_l(ptr %t99, ptr @.str3271) %t100 = load ptr, ptr %t0 call void @fn_pm_l(ptr %t100, ptr @.str3272) %t101 = load ptr, ptr %t0 %t102 = load ptr, ptr %t2 store i32 2537, ptr @lp_site %t103 = call ptr @lp_str_concat(ptr @.str3273, ptr %t102) store i32 0, ptr @lp_site store i32 2538, ptr @lp_site %t104 = call ptr @lp_str_concat(ptr %t103, ptr @.str3274) store i32 0, ptr @lp_site call void @lp_free(ptr %t103) %t105 = load ptr, ptr %t3 store i32 2539, ptr @lp_site %t106 = call ptr @lp_str_concat(ptr %t104, ptr %t105) store i32 0, ptr @lp_site call void @lp_free(ptr %t104) store i32 2540, ptr @lp_site %t107 = call ptr @lp_str_concat(ptr %t106, ptr @.str3275) store i32 0, ptr @lp_site call void @lp_free(ptr %t106) call void @fn_pm_l(ptr %t101, ptr %t107) %t108 = load ptr, ptr %t0 %t109 = load ptr, ptr %t2 store i32 2541, ptr @lp_site %t110 = call ptr @lp_str_concat(ptr @.str3276, ptr %t109) store i32 0, ptr @lp_site store i32 2542, ptr @lp_site %t111 = call ptr @lp_str_concat(ptr %t110, ptr @.str3277) store i32 0, ptr @lp_site call void @lp_free(ptr %t110) call void @fn_pm_l(ptr %t108, ptr %t111) %t112 = load ptr, ptr %t0 %t113 = load ptr, ptr %t2 store i32 2543, ptr @lp_site %t114 = call ptr @lp_str_concat(ptr @.str3278, ptr %t113) store i32 0, ptr @lp_site store i32 2544, ptr @lp_site %t115 = call ptr @lp_str_concat(ptr %t114, ptr @.str3279) store i32 0, ptr @lp_site call void @lp_free(ptr %t114) call void @fn_pm_l(ptr %t112, ptr %t115) %t116 = load ptr, ptr %t0 call void @fn_pm_l(ptr %t116, ptr @.str3280) %t117 = load ptr, ptr %t0 %t118 = load ptr, ptr %t2 store i32 2545, ptr @lp_site %t119 = call ptr @lp_str_concat(ptr @.str3281, ptr %t118) store i32 0, ptr @lp_site store i32 2546, ptr @lp_site %t120 = call ptr @lp_str_concat(ptr %t119, ptr @.str3282) store i32 0, ptr @lp_site call void @lp_free(ptr %t119) %t121 = load ptr, ptr %t3 store i32 2547, ptr @lp_site %t122 = call ptr @lp_str_concat(ptr %t120, ptr %t121) store i32 0, ptr @lp_site call void @lp_free(ptr %t120) store i32 2548, ptr @lp_site %t123 = call ptr @lp_str_concat(ptr %t122, ptr @.str3283) store i32 0, ptr @lp_site call void @lp_free(ptr %t122) call void @fn_pm_l(ptr %t117, ptr %t123) %t124 = load ptr, ptr %t0 call void @fn_pm_l(ptr %t124, ptr @.str3284) %t125 = load ptr, ptr %t0 call void @fn_pm_l(ptr %t125, ptr @.str3285) %t126 = load ptr, ptr %t0 %t127 = load ptr, ptr %t2 store i32 2549, ptr @lp_site %t128 = call ptr @lp_str_concat(ptr @.str3286, ptr %t127) store i32 0, ptr @lp_site store i32 2550, ptr @lp_site %t129 = call ptr @lp_str_concat(ptr %t128, ptr @.str3287) store i32 0, ptr @lp_site call void @lp_free(ptr %t128) call void @fn_pm_l(ptr %t126, ptr %t129) %t130 = load ptr, ptr %t0 call void @fn_pm_l(ptr %t130, ptr @.str3288) %t131 = load ptr, ptr %t0 call void @fn_pm_l(ptr %t131, ptr @.str3289) %t132 = load ptr, ptr %t0 call void @fn_pm_l(ptr %t132, ptr @.str3290) %t133 = load ptr, ptr %t0 call void @fn_pm_l(ptr %t133, ptr @.str3291) %t134 = load ptr, ptr %t0 call void @fn_pm_l(ptr %t134, ptr @.str3292) %t135 = load ptr, ptr %t0 %t136 = load ptr, ptr %t2 store i32 2551, ptr @lp_site %t137 = call ptr @lp_str_concat(ptr @.str3293, ptr %t136) store i32 0, ptr @lp_site store i32 2552, ptr @lp_site %t138 = call ptr @lp_str_concat(ptr %t137, ptr @.str3294) store i32 0, ptr @lp_site call void @lp_free(ptr %t137) %t139 = load ptr, ptr %t3 store i32 2553, ptr @lp_site %t140 = call ptr @lp_str_concat(ptr %t138, ptr %t139) store i32 0, ptr @lp_site call void @lp_free(ptr %t138) store i32 2554, ptr @lp_site %t141 = call ptr @lp_str_concat(ptr %t140, ptr @.str3295) store i32 0, ptr @lp_site call void @lp_free(ptr %t140) call void @fn_pm_l(ptr %t135, ptr %t141) %t142 = load ptr, ptr %t0 call void @fn_pm_l(ptr %t142, ptr @.str3296) %t143 = load ptr, ptr %t0 call void @fn_pm_l(ptr %t143, ptr @.str3297) %t144 = load ptr, ptr %t0 call void @fn_pm_l(ptr %t144, ptr @.str3298) %t145 = load ptr, ptr %t0 call void @fn_pm_l(ptr %t145, ptr @.str3299) br label %ret ret: ret void } define void @fn_pmk_err(ptr %arg_file, i32 %arg_line, i32 %arg_col, ptr %arg_msg) { entry: %t0 = alloca ptr %t1 = alloca i32 %t2 = alloca i32 %t3 = alloca ptr %t23 = alloca ptr store ptr %arg_file, ptr %t0 store i32 %arg_line, ptr %t1 store i32 %arg_col, ptr %t2 store ptr %arg_msg, ptr %t3 %t4 = load i32, ptr @g_g_diag_json %t5 = icmp ne i32 %t4, 0 br i1 %t5, label %then0, label %ifend2 then0: %t6 = load ptr, ptr %t0 %t7 = load i32, ptr %t1 %t8 = load i32, ptr %t2 %t9 = load ptr, ptr %t3 call void @fn_diag_add(ptr %t6, i32 %t7, i32 %t8, ptr @.str3300, ptr %t9) br label %ret ifend2: %t10 = load ptr, ptr %t0 store i32 2555, ptr @lp_site %t11 = call ptr @lp_str_concat(ptr %t10, ptr @.str3301) store i32 0, ptr @lp_site %t12 = load i32, ptr %t1 %t13 = call ptr @fn_itoa(i32 %t12) store i32 2556, ptr @lp_site %t14 = call ptr @lp_str_concat(ptr %t11, ptr %t13) store i32 0, ptr @lp_site call void @lp_free(ptr %t11) store i32 2557, ptr @lp_site %t15 = call ptr @lp_str_concat(ptr %t14, ptr @.str3303) store i32 0, ptr @lp_site call void @lp_free(ptr %t14) %t16 = load i32, ptr %t2 %t17 = call ptr @fn_itoa(i32 %t16) store i32 2558, ptr @lp_site %t18 = call ptr @lp_str_concat(ptr %t15, ptr %t17) store i32 0, ptr @lp_site call void @lp_free(ptr %t15) store i32 2559, ptr @lp_site %t19 = call ptr @lp_str_concat(ptr %t18, ptr @.str3304) store i32 0, ptr @lp_site call void @lp_free(ptr %t18) %t20 = load ptr, ptr %t3 store i32 2560, ptr @lp_site %t21 = call ptr @lp_str_concat(ptr %t19, ptr %t20) store i32 0, ptr @lp_site call void @lp_free(ptr %t19) store i32 2561, ptr @lp_site %t22 = call ptr @lp_str_concat(ptr %t21, ptr @.str3305) store i32 0, ptr @lp_site call void @lp_free(ptr %t21) store ptr %t22, ptr %t23 store i32 2562, ptr @lp_site %t24 = call ptr @lp_win_stdio(i32 2) store i32 0, ptr @lp_site %t25 = load ptr, ptr %t23 %t26 = load ptr, ptr %t23 %t27 = call i64 @strlen(ptr %t26) %t28 = trunc i64 %t27 to i32 %t29 = zext i32 %t28 to i64 %t30 = call i64 @fwrite(ptr %t25, i64 1, i64 %t29, ptr %t24) %t31 = trunc i64 %t30 to i32 %t32 = load i32, ptr @g_g_dg_errors %t33 = add i32 %t32, 1 store i32 %t33, ptr @g_g_dg_errors br label %ret ret: ret void } define void @fn_pmk_err_at(ptr %arg_n, ptr %arg_msg) { entry: %t0 = alloca ptr %t1 = alloca ptr store ptr %arg_n, ptr %t0 store ptr %arg_msg, ptr %t1 %t2 = load ptr, ptr %t0 %t3 = getelementptr inbounds %Cmp_Node, ptr %t2, i32 0, i32 9 %t4 = load ptr, ptr %t3 %t5 = load ptr, ptr %t0 %t6 = getelementptr inbounds %Cmp_Node, ptr %t5, i32 0, i32 8 %t7 = load i32, ptr %t6 %t8 = load ptr, ptr %t0 %t9 = getelementptr inbounds %Cmp_Node, ptr %t8, i32 0, i32 18 %t10 = load i32, ptr %t9 %t11 = load ptr, ptr %t1 call void @fn_pmk_err(ptr %t4, i32 %t7, i32 %t10, ptr %t11) br label %ret ret: ret void } define i32 @fn_pmk_hash(ptr %arg_s) { entry: %retval = alloca i32 %t0 = alloca ptr %t1 = alloca i32 %t2 = alloca i32 store ptr %arg_s, ptr %t0 store i32 5381, ptr %t1 store i32 0, ptr %t2 br label %wcond0 wcond0: %t3 = load i32, ptr %t2 %t4 = load ptr, ptr %t0 %t5 = call i64 @strlen(ptr %t4) %t6 = trunc i64 %t5 to i32 %t7 = icmp slt i32 %t3, %t6 %t8 = zext i1 %t7 to i32 %t9 = icmp ne i32 %t8, 0 br i1 %t9, label %wbody1, label %wend2 wbody1: %t10 = load i32, ptr %t1 %t11 = mul i32 %t10, 33 %t12 = load ptr, ptr %t0 %t13 = load i32, ptr %t2 %t14 = getelementptr inbounds i8, ptr %t12, i32 %t13 %t15 = load i8, ptr %t14 %t16 = zext i8 %t15 to i32 %t17 = add i32 %t11, %t16 %t18 = and i32 %t17, 16777215 store i32 %t18, ptr %t1 %t19 = load i32, ptr %t2 %t20 = add i32 %t19, 1 store i32 %t20, ptr %t2 br label %wcond0 wend2: %t21 = load i32, ptr %t1 store i32 %t21, ptr %retval br label %ret ret: %t22 = load i32, ptr %retval ret i32 %t22 } define ptr @fn_pmk_list(ptr %arg_dir, i32 %arg_dirs) { entry: %retval = alloca ptr %t0 = alloca ptr %t1 = alloca i32 %t8 = alloca ptr %t10 = alloca ptr %t25 = alloca ptr %t28 = alloca ptr %t52 = alloca ptr %t59 = alloca i32 %t63 = alloca i32 %t70 = alloca i32 %t71 = alloca i32 %t92 = alloca i32 %t93 = alloca i32 %t123 = alloca ptr %t156 = alloca i32 store ptr %arg_dir, ptr %t0 store i32 %arg_dirs, ptr %t1 %t2 = getelementptr %LSlice, ptr null, i32 1 %t3 = ptrtoint ptr %t2 to i64 store i32 2563, ptr @lp_site %t4 = call ptr @lp_malloc(i64 %t3) store i32 0, ptr @lp_site %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 %t8 %t9 = call ptr @fn_getenv_or(ptr @.str3307, ptr @.str3308) store ptr %t9, ptr %t10 %t11 = call i32 @fn_host_is_windows() %t12 = icmp ne i32 %t11, 0 br i1 %t12, label %then0, label %ifend2 then0: %t13 = call ptr @fn_getenv_or(ptr @.str3309, ptr @.str3310) %t14 = call ptr @fn_fwd_slashes(ptr %t13) store ptr %t14, ptr %t10 br label %ifend2 ifend2: %t15 = load ptr, ptr %t10 %t16 = call ptr @fn_ensure_slash(ptr %t15) store i32 2564, ptr @lp_site %t17 = call ptr @lp_str_concat(ptr %t16, ptr @.str3311) store i32 0, ptr @lp_site %t18 = load ptr, ptr %t0 %t19 = load ptr, ptr @g_g_act_main store i32 2565, ptr @lp_site %t20 = call ptr @lp_str_concat(ptr %t18, ptr %t19) store i32 0, ptr @lp_site %t21 = call i32 @fn_pmk_hash(ptr %t20) %t22 = call ptr @fn_itoa(i32 %t21) store i32 2566, ptr @lp_site %t23 = call ptr @lp_str_concat(ptr %t17, ptr %t22) store i32 0, ptr @lp_site call void @lp_free(ptr %t17) store i32 2567, ptr @lp_site %t24 = call ptr @lp_str_concat(ptr %t23, ptr @.str3312) store i32 0, ptr @lp_site call void @lp_free(ptr %t23) store ptr %t24, ptr %t25 %t26 = call i32 @fn_host_is_windows() %t27 = icmp ne i32 %t26, 0 br i1 %t27, label %then3, label %else4 then3: store ptr @.str3313, ptr %t28 %t29 = load i32, ptr %t1 %t30 = icmp ne i32 %t29, 0 br i1 %t30, label %then6, label %ifend8 then6: store ptr @.str3314, ptr %t28 br label %ifend8 ifend8: %t31 = load ptr, ptr %t28 store i32 2568, ptr @lp_site %t32 = call ptr @lp_str_concat(ptr @.str3315, ptr %t31) store i32 0, ptr @lp_site store i32 2569, ptr @lp_site %t33 = call ptr @lp_str_concat(ptr %t32, ptr @.str3316) store i32 0, ptr @lp_site call void @lp_free(ptr %t32) %t34 = load ptr, ptr %t0 %t35 = call ptr @fn_win_path(ptr %t34) store i32 2570, ptr @lp_site %t36 = call ptr @lp_str_concat(ptr %t33, ptr %t35) store i32 0, ptr @lp_site call void @lp_free(ptr %t33) store i32 2571, ptr @lp_site %t37 = call ptr @lp_str_concat(ptr %t36, ptr @.str3317) store i32 0, ptr @lp_site call void @lp_free(ptr %t36) %t38 = load ptr, ptr %t25 %t39 = call ptr @fn_win_path(ptr %t38) store i32 2572, ptr @lp_site %t40 = call ptr @lp_str_concat(ptr %t37, ptr %t39) store i32 0, ptr @lp_site call void @lp_free(ptr %t37) store i32 2573, ptr @lp_site %t41 = call ptr @lp_str_concat(ptr %t40, ptr @.str3318) store i32 0, ptr @lp_site call void @lp_free(ptr %t40) %t42 = call i32 @system(ptr %t41) br label %ifend5 else4: %t43 = load ptr, ptr %t0 store i32 2574, ptr @lp_site %t44 = call ptr @lp_str_concat(ptr @.str3319, ptr %t43) store i32 0, ptr @lp_site store i32 2575, ptr @lp_site %t45 = call ptr @lp_str_concat(ptr %t44, ptr @.str3320) store i32 0, ptr @lp_site call void @lp_free(ptr %t44) %t46 = load ptr, ptr %t25 store i32 2576, ptr @lp_site %t47 = call ptr @lp_str_concat(ptr %t45, ptr %t46) store i32 0, ptr @lp_site call void @lp_free(ptr %t45) store i32 2577, ptr @lp_site %t48 = call ptr @lp_str_concat(ptr %t47, ptr @.str3321) store i32 0, ptr @lp_site call void @lp_free(ptr %t47) %t49 = call i32 @system(ptr %t48) br label %ifend5 ifend5: %t50 = load ptr, ptr %t25 %t51 = call ptr @fn_read_file(ptr %t50) store ptr %t51, ptr %t52 %t53 = load ptr, ptr %t25 call void @fn_remove_file(ptr %t53) %t54 = load ptr, ptr %t52 %t55 = icmp eq ptr %t54, null %t56 = zext i1 %t55 to i32 %t57 = icmp ne i32 %t56, 0 br i1 %t57, label %then9, label %ifend11 then9: %t58 = load ptr, ptr %t8 store ptr %t58, ptr %retval br label %ret ifend11: store i32 0, ptr %t59 %t60 = load ptr, ptr %t52 %t61 = call i64 @strlen(ptr %t60) %t62 = trunc i64 %t61 to i32 store i32 %t62, ptr %t63 br label %wcond12 wcond12: %t64 = load i32, ptr %t59 %t65 = load i32, ptr %t63 %t66 = icmp slt i32 %t64, %t65 %t67 = zext i1 %t66 to i32 %t68 = icmp ne i32 %t67, 0 br i1 %t68, label %wbody13, label %wend14 wbody13: %t69 = load i32, ptr %t59 store i32 %t69, ptr %t70 br label %wcond15 wcond15: %t72 = load i32, ptr %t70 %t73 = load i32, ptr %t63 %t74 = icmp slt i32 %t72, %t73 %t75 = zext i1 %t74 to i32 %t76 = icmp ne i32 %t75, 0 %t77 = zext i1 %t76 to i32 store i32 %t77, ptr %t71 br i1 %t76, label %sc18, label %scend19 sc18: %t78 = load ptr, ptr %t52 %t79 = load i32, ptr %t70 %t80 = getelementptr inbounds i8, ptr %t78, i32 %t79 %t81 = load i8, ptr %t80 %t82 = zext i8 %t81 to i32 %t83 = icmp ne i32 %t82, 10 %t84 = zext i1 %t83 to i32 %t85 = icmp ne i32 %t84, 0 %t86 = zext i1 %t85 to i32 store i32 %t86, ptr %t71 br label %scend19 scend19: %t87 = load i32, ptr %t71 %t88 = icmp ne i32 %t87, 0 br i1 %t88, label %wbody16, label %wend17 wbody16: %t89 = load i32, ptr %t70 %t90 = add i32 %t89, 1 store i32 %t90, ptr %t70 br label %wcond15 wend17: %t91 = load i32, ptr %t70 store i32 %t91, ptr %t92 %t94 = load i32, ptr %t92 %t95 = load i32, ptr %t59 %t96 = icmp sgt i32 %t94, %t95 %t97 = zext i1 %t96 to i32 %t98 = icmp ne i32 %t97, 0 %t99 = zext i1 %t98 to i32 store i32 %t99, ptr %t93 br i1 %t98, label %sc20, label %scend21 sc20: %t100 = load ptr, ptr %t52 %t101 = load i32, ptr %t92 %t102 = sub i32 %t101, 1 %t103 = getelementptr inbounds i8, ptr %t100, i32 %t102 %t104 = load i8, ptr %t103 %t105 = zext i8 %t104 to i32 %t106 = icmp eq i32 %t105, 13 %t107 = zext i1 %t106 to i32 %t108 = icmp ne i32 %t107, 0 %t109 = zext i1 %t108 to i32 store i32 %t109, ptr %t93 br label %scend21 scend21: %t110 = load i32, ptr %t93 %t111 = icmp ne i32 %t110, 0 br i1 %t111, label %then22, label %ifend24 then22: %t112 = load i32, ptr %t92 %t113 = sub i32 %t112, 1 store i32 %t113, ptr %t92 br label %ifend24 ifend24: %t114 = load i32, ptr %t92 %t115 = load i32, ptr %t59 %t116 = icmp sgt i32 %t114, %t115 %t117 = zext i1 %t116 to i32 %t118 = icmp ne i32 %t117, 0 br i1 %t118, label %then25, label %ifend27 then25: %t119 = load ptr, ptr %t52 %t120 = load i32, ptr %t59 %t121 = load i32, ptr %t92 store i32 2578, ptr @lp_site %t122 = call ptr @lp_str_slice(ptr %t119, i32 %t120, i32 %t121) store i32 0, ptr @lp_site store ptr %t122, ptr %t123 %t124 = call i32 @fn_host_is_windows() %t125 = icmp ne i32 %t124, 0 br i1 %t125, label %then28, label %else29 then28: %t126 = load ptr, ptr %t8 %t127 = load ptr, ptr %t123 %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 %grow31, label %put32 grow31: %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 store i32 2579, ptr @lp_site %t142 = call ptr @lp_realloc(ptr %t141, i64 %t140) store i32 0, ptr @lp_site store ptr %t142, ptr %t130 store i32 %t136, ptr %t129 br label %put32 put32: %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 br label %ifend30 else29: %t146 = load ptr, ptr %t123 %t147 = load ptr, ptr %t123 %t148 = call i64 @strlen(ptr %t147) %t149 = trunc i64 %t148 to i32 %t150 = sub i32 %t149, 1 %t151 = getelementptr inbounds i8, ptr %t146, i32 %t150 %t152 = load i8, ptr %t151 %t153 = zext i8 %t152 to i32 %t154 = icmp eq i32 %t153, 47 %t155 = zext i1 %t154 to i32 store i32 %t155, ptr %t156 %t157 = load i32, ptr %t156 %t158 = icmp ne i32 %t157, 0 br i1 %t158, label %then33, label %ifend35 then33: %t159 = load ptr, ptr %t123 %t160 = load ptr, ptr %t123 %t161 = call i64 @strlen(ptr %t160) %t162 = trunc i64 %t161 to i32 %t163 = sub i32 %t162, 1 store i32 2580, ptr @lp_site %t164 = call ptr @lp_str_slice(ptr %t159, i32 0, i32 %t163) store i32 0, ptr @lp_site store ptr %t164, ptr %t123 br label %ifend35 ifend35: %t165 = load i32, ptr %t156 %t166 = load i32, ptr %t1 %t167 = icmp eq i32 %t165, %t166 %t168 = zext i1 %t167 to i32 %t169 = icmp ne i32 %t168, 0 br i1 %t169, label %then36, label %ifend38 then36: %t170 = load ptr, ptr %t8 %t171 = load ptr, ptr %t123 %t172 = getelementptr inbounds %LSlice, ptr %t170, i32 0, i32 1 %t173 = getelementptr inbounds %LSlice, ptr %t170, i32 0, i32 2 %t174 = getelementptr inbounds %LSlice, ptr %t170, i32 0, i32 0 %t175 = load i32, ptr %t172 %t176 = load i32, ptr %t173 %t177 = icmp sge i32 %t175, %t176 br i1 %t177, label %grow39, label %put40 grow39: %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 store i32 2581, ptr @lp_site %t186 = call ptr @lp_realloc(ptr %t185, i64 %t184) store i32 0, ptr @lp_site store ptr %t186, ptr %t174 store i32 %t180, ptr %t173 br label %put40 put40: %t187 = load ptr, ptr %t174 %t188 = getelementptr inbounds ptr, ptr %t187, i32 %t175 store ptr %t171, ptr %t188 %t189 = add i32 %t175, 1 store i32 %t189, ptr %t172 br label %ifend38 ifend38: br label %ifend30 ifend30: br label %ifend27 ifend27: %t190 = load i32, ptr %t70 %t191 = add i32 %t190, 1 store i32 %t191, ptr %t59 br label %wcond12 wend14: %t192 = load ptr, ptr %t8 store ptr %t192, ptr %retval br label %ret ret: %t193 = load ptr, ptr %retval ret ptr %t193 } define i32 @fn_pmk_is_int(ptr %arg_s) { entry: %retval = alloca i32 %t0 = alloca ptr %t1 = alloca i32 %t2 = alloca i32 %t34 = alloca i32 store ptr %arg_s, ptr %t0 store i32 0, ptr %t1 %t3 = load ptr, ptr %t0 %t4 = call i64 @strlen(ptr %t3) %t5 = trunc i64 %t4 to i32 %t6 = icmp sgt i32 %t5, 1 %t7 = zext i1 %t6 to i32 %t8 = icmp ne i32 %t7, 0 %t9 = zext i1 %t8 to i32 store i32 %t9, ptr %t2 br i1 %t8, label %sc0, label %scend1 sc0: %t10 = load ptr, ptr %t0 %t11 = getelementptr inbounds i8, ptr %t10, i32 0 %t12 = load i8, ptr %t11 %t13 = zext i8 %t12 to i32 %t14 = icmp eq i32 %t13, 45 %t15 = zext i1 %t14 to i32 %t16 = icmp ne i32 %t15, 0 %t17 = zext i1 %t16 to i32 store i32 %t17, ptr %t2 br label %scend1 scend1: %t18 = load i32, ptr %t2 %t19 = icmp ne i32 %t18, 0 br i1 %t19, label %then2, label %ifend4 then2: store i32 1, ptr %t1 br label %ifend4 ifend4: %t20 = load i32, ptr %t1 %t21 = load ptr, ptr %t0 %t22 = call i64 @strlen(ptr %t21) %t23 = trunc i64 %t22 to i32 %t24 = icmp sge i32 %t20, %t23 %t25 = zext i1 %t24 to i32 %t26 = icmp ne i32 %t25, 0 br i1 %t26, label %then5, label %ifend7 then5: store i32 0, ptr %retval br label %ret ifend7: br label %wcond8 wcond8: %t27 = load i32, ptr %t1 %t28 = load ptr, ptr %t0 %t29 = call i64 @strlen(ptr %t28) %t30 = trunc i64 %t29 to i32 %t31 = icmp slt i32 %t27, %t30 %t32 = zext i1 %t31 to i32 %t33 = icmp ne i32 %t32, 0 br i1 %t33, label %wbody9, label %wend10 wbody9: %t35 = load ptr, ptr %t0 %t36 = load i32, ptr %t1 %t37 = getelementptr inbounds i8, ptr %t35, i32 %t36 %t38 = load i8, ptr %t37 %t39 = zext i8 %t38 to i32 %t40 = icmp slt i32 %t39, 48 %t41 = zext i1 %t40 to i32 %t42 = icmp ne i32 %t41, 0 %t43 = zext i1 %t42 to i32 store i32 %t43, ptr %t34 br i1 %t42, label %scend12, label %sc11 sc11: %t44 = load ptr, ptr %t0 %t45 = load i32, ptr %t1 %t46 = getelementptr inbounds i8, ptr %t44, i32 %t45 %t47 = load i8, ptr %t46 %t48 = zext i8 %t47 to i32 %t49 = icmp sgt i32 %t48, 57 %t50 = zext i1 %t49 to i32 %t51 = icmp ne i32 %t50, 0 %t52 = zext i1 %t51 to i32 store i32 %t52, ptr %t34 br label %scend12 scend12: %t53 = load i32, ptr %t34 %t54 = icmp ne i32 %t53, 0 br i1 %t54, label %then13, label %ifend15 then13: store i32 0, ptr %retval br label %ret ifend15: %t55 = load i32, ptr %t1 %t56 = add i32 %t55, 1 store i32 %t56, ptr %t1 br label %wcond8 wend10: store i32 1, ptr %retval br label %ret ret: %t57 = load i32, ptr %retval ret i32 %t57 } define i32 @fn_pmk_match(ptr %arg_pat, ptr %arg_name) { entry: %retval = alloca i32 %t0 = alloca ptr %t1 = alloca ptr %t2 = alloca i32 %t3 = alloca i32 %t11 = alloca i32 %t12 = alloca i32 %t13 = alloca i32 %t63 = alloca i32 %t64 = alloca i32 %t86 = alloca i32 %t87 = alloca i32 %t130 = alloca i32 store ptr %arg_pat, ptr %t0 store ptr %arg_name, ptr %t1 store i32 0, ptr %t2 store i32 0, ptr %t3 br label %wcond0 wcond0: %t4 = load i32, ptr %t2 %t5 = load ptr, ptr %t0 %t6 = call i64 @strlen(ptr %t5) %t7 = trunc i64 %t6 to i32 %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: %t14 = load ptr, ptr %t0 %t15 = load i32, ptr %t2 %t16 = getelementptr inbounds i8, ptr %t14, i32 %t15 %t17 = load i8, ptr %t16 %t18 = zext i8 %t17 to i32 %t19 = icmp eq i32 %t18, 123 %t20 = zext i1 %t19 to i32 %t21 = icmp ne i32 %t20, 0 %t22 = zext i1 %t21 to i32 store i32 %t22, ptr %t13 br i1 %t21, label %sc3, label %scend4 sc3: %t23 = load i32, ptr %t2 %t24 = add i32 %t23, 3 %t25 = load ptr, ptr %t0 %t26 = call i64 @strlen(ptr %t25) %t27 = trunc i64 %t26 to i32 %t28 = icmp slt i32 %t24, %t27 %t29 = zext i1 %t28 to i32 %t30 = icmp ne i32 %t29, 0 %t31 = zext i1 %t30 to i32 store i32 %t31, ptr %t13 br label %scend4 scend4: %t32 = load i32, ptr %t13 %t33 = icmp ne i32 %t32, 0 %t34 = zext i1 %t33 to i32 store i32 %t34, ptr %t12 br i1 %t33, label %sc5, label %scend6 sc5: %t35 = load ptr, ptr %t0 %t36 = load i32, ptr %t2 %t37 = add i32 %t36, 1 %t38 = getelementptr inbounds i8, ptr %t35, i32 %t37 %t39 = load i8, ptr %t38 %t40 = zext i8 %t39 to i32 %t41 = icmp eq i32 %t40, 99 %t42 = zext i1 %t41 to i32 %t43 = icmp ne i32 %t42, 0 %t44 = zext i1 %t43 to i32 store i32 %t44, ptr %t12 br label %scend6 scend6: %t45 = load i32, ptr %t12 %t46 = icmp ne i32 %t45, 0 %t47 = zext i1 %t46 to i32 store i32 %t47, ptr %t11 br i1 %t46, label %sc7, label %scend8 sc7: %t48 = load ptr, ptr %t0 %t49 = load i32, ptr %t2 %t50 = add i32 %t49, 3 %t51 = getelementptr inbounds i8, ptr %t48, i32 %t50 %t52 = load i8, ptr %t51 %t53 = zext i8 %t52 to i32 %t54 = icmp eq i32 %t53, 125 %t55 = zext i1 %t54 to i32 %t56 = icmp ne i32 %t55, 0 %t57 = zext i1 %t56 to i32 store i32 %t57, ptr %t11 br label %scend8 scend8: %t58 = load i32, ptr %t11 %t59 = icmp ne i32 %t58, 0 br i1 %t59, label %then9, label %else10 then9: %t60 = load i32, ptr %t2 %t61 = add i32 %t60, 4 store i32 %t61, ptr %t2 %t62 = load i32, ptr %t3 store i32 %t62, ptr %t63 %t65 = load i32, ptr %t63 %t66 = load ptr, ptr %t1 %t67 = call i64 @strlen(ptr %t66) %t68 = trunc i64 %t67 to i32 %t69 = icmp slt i32 %t65, %t68 %t70 = zext i1 %t69 to i32 %t71 = icmp ne i32 %t70, 0 %t72 = zext i1 %t71 to i32 store i32 %t72, ptr %t64 br i1 %t71, label %sc12, label %scend13 sc12: %t73 = load ptr, ptr %t1 %t74 = load i32, ptr %t63 %t75 = getelementptr inbounds i8, ptr %t73, i32 %t74 %t76 = load i8, ptr %t75 %t77 = zext i8 %t76 to i32 %t78 = icmp eq i32 %t77, 45 %t79 = zext i1 %t78 to i32 %t80 = icmp ne i32 %t79, 0 %t81 = zext i1 %t80 to i32 store i32 %t81, ptr %t64 br label %scend13 scend13: %t82 = load i32, ptr %t64 %t83 = icmp ne i32 %t82, 0 br i1 %t83, label %then14, label %ifend16 then14: %t84 = load i32, ptr %t63 %t85 = add i32 %t84, 1 store i32 %t85, ptr %t63 br label %ifend16 ifend16: br label %wcond17 wcond17: %t88 = load i32, ptr %t63 %t89 = load ptr, ptr %t1 %t90 = call i64 @strlen(ptr %t89) %t91 = trunc i64 %t90 to i32 %t92 = icmp slt i32 %t88, %t91 %t93 = zext i1 %t92 to i32 %t94 = icmp ne i32 %t93, 0 %t95 = zext i1 %t94 to i32 store i32 %t95, ptr %t87 br i1 %t94, label %sc20, label %scend21 sc20: %t96 = load ptr, ptr %t1 %t97 = load i32, ptr %t63 %t98 = getelementptr inbounds i8, ptr %t96, i32 %t97 %t99 = load i8, ptr %t98 %t100 = zext i8 %t99 to i32 %t101 = icmp sge i32 %t100, 48 %t102 = zext i1 %t101 to i32 %t103 = icmp ne i32 %t102, 0 %t104 = zext i1 %t103 to i32 store i32 %t104, ptr %t87 br label %scend21 scend21: %t105 = load i32, ptr %t87 %t106 = icmp ne i32 %t105, 0 %t107 = zext i1 %t106 to i32 store i32 %t107, ptr %t86 br i1 %t106, label %sc22, label %scend23 sc22: %t108 = load ptr, ptr %t1 %t109 = load i32, ptr %t63 %t110 = getelementptr inbounds i8, ptr %t108, i32 %t109 %t111 = load i8, ptr %t110 %t112 = zext i8 %t111 to i32 %t113 = icmp sle i32 %t112, 57 %t114 = zext i1 %t113 to i32 %t115 = icmp ne i32 %t114, 0 %t116 = zext i1 %t115 to i32 store i32 %t116, ptr %t86 br label %scend23 scend23: %t117 = load i32, ptr %t86 %t118 = icmp ne i32 %t117, 0 br i1 %t118, label %wbody18, label %wend19 wbody18: %t119 = load i32, ptr %t63 %t120 = add i32 %t119, 1 store i32 %t120, ptr %t63 br label %wcond17 wend19: %t121 = load ptr, ptr %t1 %t122 = load i32, ptr %t3 %t123 = load i32, ptr %t63 store i32 2582, ptr @lp_site %t124 = call ptr @lp_str_slice(ptr %t121, i32 %t122, i32 %t123) store i32 0, ptr @lp_site %t125 = call i32 @fn_pmk_is_int(ptr %t124) %t126 = icmp eq i32 %t125, 0 %t127 = zext i1 %t126 to i32 %t128 = icmp ne i32 %t127, 0 br i1 %t128, label %then24, label %ifend26 then24: store i32 0, ptr %retval br label %ret ifend26: %t129 = load i32, ptr %t63 store i32 %t129, ptr %t3 br label %ifend11 else10: %t131 = load i32, ptr %t3 %t132 = load ptr, ptr %t1 %t133 = call i64 @strlen(ptr %t132) %t134 = trunc i64 %t133 to i32 %t135 = icmp sge i32 %t131, %t134 %t136 = zext i1 %t135 to i32 %t137 = icmp ne i32 %t136, 0 %t138 = zext i1 %t137 to i32 store i32 %t138, ptr %t130 br i1 %t137, label %scend28, label %sc27 sc27: %t139 = load ptr, ptr %t1 %t140 = load i32, ptr %t3 %t141 = getelementptr inbounds i8, ptr %t139, i32 %t140 %t142 = load i8, ptr %t141 %t143 = zext i8 %t142 to i32 %t144 = load ptr, ptr %t0 %t145 = load i32, ptr %t2 %t146 = getelementptr inbounds i8, ptr %t144, i32 %t145 %t147 = load i8, ptr %t146 %t148 = zext i8 %t147 to i32 %t149 = icmp ne i32 %t143, %t148 %t150 = zext i1 %t149 to i32 %t151 = icmp ne i32 %t150, 0 %t152 = zext i1 %t151 to i32 store i32 %t152, ptr %t130 br label %scend28 scend28: %t153 = load i32, ptr %t130 %t154 = icmp ne i32 %t153, 0 br i1 %t154, label %then29, label %ifend31 then29: store i32 0, ptr %retval br label %ret ifend31: %t155 = load i32, ptr %t2 %t156 = add i32 %t155, 1 store i32 %t156, ptr %t2 %t157 = load i32, ptr %t3 %t158 = add i32 %t157, 1 store i32 %t158, ptr %t3 br label %ifend11 ifend11: br label %wcond0 wend2: %t159 = load i32, ptr %t3 %t160 = load ptr, ptr %t1 %t161 = call i64 @strlen(ptr %t160) %t162 = trunc i64 %t161 to i32 %t163 = icmp eq i32 %t159, %t162 %t164 = zext i1 %t163 to i32 store i32 %t164, ptr %retval br label %ret ret: %t165 = load i32, ptr %retval ret i32 %t165 } define ptr @fn_pmk_files(i32 %arg_r, ptr %arg_md) { entry: %retval = alloca ptr %t0 = alloca i32 %t1 = alloca ptr %t8 = alloca ptr %t19 = alloca ptr %t37 = alloca ptr %t65 = alloca i32 %t66 = alloca i32 %t86 = alloca ptr %t88 = alloca ptr %t108 = alloca ptr store i32 %arg_r, ptr %t0 store ptr %arg_md, ptr %t1 %t2 = getelementptr %LSlice, ptr null, i32 1 %t3 = ptrtoint ptr %t2 to i64 store i32 2583, ptr @lp_site %t4 = call ptr @lp_malloc(i64 %t3) store i32 0, ptr @lp_site %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 %t8 %t9 = load ptr, ptr @g_g_rg_from %t10 = load i32, ptr %t0 %t11 = getelementptr inbounds %LSlice, ptr %t9, i32 0, i32 0 %t12 = load ptr, ptr %t11 %t13 = getelementptr inbounds %LSlice, ptr %t9, i32 0, i32 1 %t14 = load i32, ptr %t13 %t15 = icmp ult i32 %t10, %t14 br i1 %t15, label %ixok0, label %ixbad1 ixbad1: store i32 2584, ptr @lp_site %t16 = call ptr @lp_win_stdio(i32 2) store i32 0, ptr @lp_site call i32 (ptr, ptr, ...) @fprintf(ptr %t16, ptr @.fmt_bounds, ptr @.str3324, i32 %t10, i32 %t14) call void @exit(i32 1) unreachable ixok0: %t17 = getelementptr inbounds ptr, ptr %t12, i32 %t10 %t18 = load ptr, ptr %t17 store ptr %t18, ptr %t19 %t20 = load ptr, ptr @g_g_rg_chunk %t21 = load i32, ptr %t0 %t22 = getelementptr inbounds %LSlice, ptr %t20, i32 0, i32 0 %t23 = load ptr, ptr %t22 %t24 = getelementptr inbounds %LSlice, ptr %t20, i32 0, i32 1 %t25 = load i32, ptr %t24 %t26 = icmp ult i32 %t21, %t25 br i1 %t26, label %ixok2, label %ixbad3 ixbad3: store i32 2585, ptr @lp_site %t27 = call ptr @lp_win_stdio(i32 2) store i32 0, ptr @lp_site call i32 (ptr, ptr, ...) @fprintf(ptr %t27, ptr @.fmt_bounds, ptr @.str3325, i32 %t21, i32 %t25) call void @exit(i32 1) unreachable ixok2: %t28 = getelementptr inbounds i32, ptr %t23, i32 %t21 %t29 = load i32, ptr %t28 %t30 = icmp eq i32 %t29, 0 %t31 = zext i1 %t30 to i32 %t32 = icmp ne i32 %t31, 0 br i1 %t32, label %then4, label %ifend6 then4: %t33 = load ptr, ptr %t1 store i32 2586, ptr @lp_site %t34 = call ptr @lp_str_concat(ptr %t33, ptr @.str3326) store i32 0, ptr @lp_site %t35 = load ptr, ptr %t19 store i32 2587, ptr @lp_site %t36 = call ptr @lp_str_concat(ptr %t34, ptr %t35) store i32 0, ptr @lp_site call void @lp_free(ptr %t34) store ptr %t36, ptr %t37 %t38 = load ptr, ptr %t37 %t39 = call ptr @fn_read_file(ptr %t38) %t40 = icmp ne ptr %t39, null %t41 = zext i1 %t40 to i32 %t42 = icmp ne i32 %t41, 0 br i1 %t42, label %then7, label %ifend9 then7: %t43 = load ptr, ptr %t8 %t44 = load ptr, ptr %t37 %t45 = getelementptr inbounds %LSlice, ptr %t43, i32 0, i32 1 %t46 = getelementptr inbounds %LSlice, ptr %t43, i32 0, i32 2 %t47 = getelementptr inbounds %LSlice, ptr %t43, i32 0, i32 0 %t48 = load i32, ptr %t45 %t49 = load i32, ptr %t46 %t50 = icmp sge i32 %t48, %t49 br i1 %t50, label %grow10, label %put11 grow10: %t51 = mul i32 %t49, 2 %t52 = icmp eq i32 %t49, 0 %t53 = select i1 %t52, i32 8, i32 %t51 %t54 = getelementptr ptr, ptr null, i32 1 %t55 = ptrtoint ptr %t54 to i64 %t56 = zext i32 %t53 to i64 %t57 = mul i64 %t56, %t55 %t58 = load ptr, ptr %t47 store i32 2588, ptr @lp_site %t59 = call ptr @lp_realloc(ptr %t58, i64 %t57) store i32 0, ptr @lp_site store ptr %t59, ptr %t47 store i32 %t53, ptr %t46 br label %put11 put11: %t60 = load ptr, ptr %t47 %t61 = getelementptr inbounds ptr, ptr %t60, i32 %t48 store ptr %t44, ptr %t61 %t62 = add i32 %t48, 1 store i32 %t62, ptr %t45 br label %ifend9 ifend9: %t63 = load ptr, ptr %t8 store ptr %t63, ptr %retval br label %ret ifend6: %t64 = sub i32 0, 1 store i32 %t64, ptr %t65 store i32 0, ptr %t66 br label %wcond12 wcond12: %t67 = load i32, ptr %t66 %t68 = load ptr, ptr %t19 %t69 = call i64 @strlen(ptr %t68) %t70 = trunc i64 %t69 to i32 %t71 = icmp slt i32 %t67, %t70 %t72 = zext i1 %t71 to i32 %t73 = icmp ne i32 %t72, 0 br i1 %t73, label %wbody13, label %wend14 wbody13: %t74 = load ptr, ptr %t19 %t75 = load i32, ptr %t66 %t76 = getelementptr inbounds i8, ptr %t74, i32 %t75 %t77 = load i8, ptr %t76 %t78 = zext i8 %t77 to i32 %t79 = icmp eq i32 %t78, 47 %t80 = zext i1 %t79 to i32 %t81 = icmp ne i32 %t80, 0 br i1 %t81, label %then15, label %ifend17 then15: %t82 = load i32, ptr %t66 store i32 %t82, ptr %t65 br label %ifend17 ifend17: %t83 = load i32, ptr %t66 %t84 = add i32 %t83, 1 store i32 %t84, ptr %t66 br label %wcond12 wend14: %t85 = load ptr, ptr %t1 store ptr %t85, ptr %t86 %t87 = load ptr, ptr %t19 store ptr %t87, ptr %t88 %t89 = load i32, ptr %t65 %t90 = icmp sge i32 %t89, 0 %t91 = zext i1 %t90 to i32 %t92 = icmp ne i32 %t91, 0 br i1 %t92, label %then18, label %ifend20 then18: %t93 = load ptr, ptr %t1 store i32 2589, ptr @lp_site %t94 = call ptr @lp_str_concat(ptr %t93, ptr @.str3327) store i32 0, ptr @lp_site %t95 = load ptr, ptr %t19 %t96 = load i32, ptr %t65 store i32 2590, ptr @lp_site %t97 = call ptr @lp_str_slice(ptr %t95, i32 0, i32 %t96) store i32 0, ptr @lp_site store i32 2591, ptr @lp_site %t98 = call ptr @lp_str_concat(ptr %t94, ptr %t97) store i32 0, ptr @lp_site call void @lp_free(ptr %t94) call void @lp_free(ptr %t97) store ptr %t98, ptr %t86 %t99 = load ptr, ptr %t19 %t100 = load i32, ptr %t65 %t101 = add i32 %t100, 1 %t102 = load ptr, ptr %t19 %t103 = call i64 @strlen(ptr %t102) %t104 = trunc i64 %t103 to i32 store i32 2592, ptr @lp_site %t105 = call ptr @lp_str_slice(ptr %t99, i32 %t101, i32 %t104) store i32 0, ptr @lp_site store ptr %t105, ptr %t88 br label %ifend20 ifend20: %t106 = load ptr, ptr %t86 %t107 = call ptr @fn_pmk_list(ptr %t106, i32 0) store ptr %t107, ptr %t108 store i32 0, ptr %t66 br label %wcond21 wcond21: %t109 = load i32, ptr %t66 %t110 = load ptr, ptr %t108 %t111 = getelementptr inbounds %LSlice, ptr %t110, i32 0, i32 1 %t112 = load i32, ptr %t111 %t113 = icmp slt i32 %t109, %t112 %t114 = zext i1 %t113 to i32 %t115 = icmp ne i32 %t114, 0 br i1 %t115, label %wbody22, label %wend23 wbody22: %t116 = load ptr, ptr %t88 %t117 = load ptr, ptr %t108 %t118 = load i32, ptr %t66 %t119 = getelementptr inbounds %LSlice, ptr %t117, i32 0, i32 0 %t120 = load ptr, ptr %t119 %t121 = getelementptr inbounds %LSlice, ptr %t117, i32 0, i32 1 %t122 = load i32, ptr %t121 %t123 = icmp ult i32 %t118, %t122 br i1 %t123, label %ixok24, label %ixbad25 ixbad25: store i32 2593, ptr @lp_site %t124 = call ptr @lp_win_stdio(i32 2) store i32 0, ptr @lp_site call i32 (ptr, ptr, ...) @fprintf(ptr %t124, ptr @.fmt_bounds, ptr @.str3328, i32 %t118, i32 %t122) call void @exit(i32 1) unreachable ixok24: %t125 = getelementptr inbounds ptr, ptr %t120, i32 %t118 %t126 = load ptr, ptr %t125 %t127 = call i32 @fn_pmk_match(ptr %t116, ptr %t126) %t128 = icmp ne i32 %t127, 0 br i1 %t128, label %then26, label %ifend28 then26: %t129 = load ptr, ptr %t8 %t130 = load ptr, ptr %t86 store i32 2594, ptr @lp_site %t131 = call ptr @lp_str_concat(ptr %t130, ptr @.str3329) store i32 0, ptr @lp_site %t132 = load ptr, ptr %t108 %t133 = load i32, ptr %t66 %t134 = getelementptr inbounds %LSlice, ptr %t132, i32 0, i32 0 %t135 = load ptr, ptr %t134 %t136 = getelementptr inbounds %LSlice, ptr %t132, i32 0, i32 1 %t137 = load i32, ptr %t136 %t138 = icmp ult i32 %t133, %t137 br i1 %t138, label %ixok29, label %ixbad30 ixbad30: store i32 2595, ptr @lp_site %t139 = call ptr @lp_win_stdio(i32 2) store i32 0, ptr @lp_site call i32 (ptr, ptr, ...) @fprintf(ptr %t139, ptr @.fmt_bounds, ptr @.str3330, i32 %t133, i32 %t137) call void @exit(i32 1) unreachable ixok29: %t140 = getelementptr inbounds ptr, ptr %t135, i32 %t133 %t141 = load ptr, ptr %t140 store i32 2596, ptr @lp_site %t142 = call ptr @lp_str_concat(ptr %t131, ptr %t141) store i32 0, ptr @lp_site call void @lp_free(ptr %t131) %t143 = getelementptr inbounds %LSlice, ptr %t129, i32 0, i32 1 %t144 = getelementptr inbounds %LSlice, ptr %t129, i32 0, i32 2 %t145 = getelementptr inbounds %LSlice, ptr %t129, i32 0, i32 0 %t146 = load i32, ptr %t143 %t147 = load i32, ptr %t144 %t148 = icmp sge i32 %t146, %t147 br i1 %t148, label %grow31, label %put32 grow31: %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 store i32 2597, ptr @lp_site %t157 = call ptr @lp_realloc(ptr %t156, i64 %t155) store i32 0, ptr @lp_site store ptr %t157, ptr %t145 store i32 %t151, ptr %t144 br label %put32 put32: %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 br label %ifend28 ifend28: %t161 = load i32, ptr %t66 %t162 = add i32 %t161, 1 store i32 %t162, ptr %t66 br label %wcond21 wend23: %t163 = load ptr, ptr %t8 store ptr %t163, ptr %retval br label %ret ret: %t164 = load ptr, ptr %retval ret ptr %t164 } define void @fn_pmk_read(i32 %arg_r, ptr %arg_path) { entry: %t0 = alloca i32 %t1 = alloca ptr %t4 = alloca ptr %t10 = alloca ptr %t12 = alloca i32 %t14 = alloca ptr %t16 = alloca i32 %t45 = alloca ptr %t47 = alloca ptr %t49 = alloca ptr store i32 %arg_r, ptr %t0 store ptr %arg_path, ptr %t1 %t2 = load ptr, ptr %t1 %t3 = call ptr @fn_read_file(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: br label %ret ifend2: %t9 = load ptr, ptr @g_toks store ptr %t9, ptr %t10 %t11 = load i32, ptr @g_pi store i32 %t11, ptr %t12 %t13 = load ptr, ptr @g_g_parse_file store ptr %t13, ptr %t14 %t15 = load i32, ptr @g_g_parsing store i32 %t15, ptr %t16 %t17 = load ptr, ptr %t1 store ptr %t17, ptr @g_g_parse_file store i32 1, ptr @g_g_parsing store i32 1, ptr @g_g_res_mode %t18 = load ptr, ptr %t4 call void @fn_lex_at(ptr %t18, i32 1) store i32 0, ptr @g_pi br label %wcond3 wcond3: %t19 = icmp ne i32 1, 0 br i1 %t19, label %wbody4, label %wend5 wbody4: call void @fn_skipnl() %t20 = load ptr, ptr @g_toks %t21 = load i32, ptr @g_pi %t22 = getelementptr inbounds %LSlice, ptr %t20, i32 0, i32 0 %t23 = load ptr, ptr %t22 %t24 = getelementptr inbounds %LSlice, ptr %t20, i32 0, i32 1 %t25 = load i32, ptr %t24 %t26 = icmp ult i32 %t21, %t25 br i1 %t26, label %ixok6, label %ixbad7 ixbad7: store i32 2598, ptr @lp_site %t27 = call ptr @lp_win_stdio(i32 2) store i32 0, ptr @lp_site call i32 (ptr, ptr, ...) @fprintf(ptr %t27, ptr @.fmt_bounds, ptr @.str3331, i32 %t21, i32 %t25) call void @exit(i32 1) unreachable ixok6: %t28 = getelementptr inbounds ptr, ptr %t23, i32 %t21 %t29 = load ptr, ptr %t28 %t30 = getelementptr inbounds %Cmp_Tok, ptr %t29, i32 0, i32 0 %t31 = load i32, ptr %t30 %t32 = icmp eq i32 %t31, 5 %t33 = zext i1 %t32 to i32 %t34 = icmp ne i32 %t33, 0 br i1 %t34, label %then8, label %ifend10 then8: br label %wend5 ifend10: %t35 = load ptr, ptr @g_toks %t36 = load i32, ptr @g_pi %t37 = getelementptr inbounds %LSlice, ptr %t35, i32 0, i32 0 %t38 = load ptr, ptr %t37 %t39 = getelementptr inbounds %LSlice, ptr %t35, i32 0, i32 1 %t40 = load i32, ptr %t39 %t41 = icmp ult i32 %t36, %t40 br i1 %t41, label %ixok11, label %ixbad12 ixbad12: store i32 2599, ptr @lp_site %t42 = call ptr @lp_win_stdio(i32 2) store i32 0, ptr @lp_site call i32 (ptr, ptr, ...) @fprintf(ptr %t42, ptr @.fmt_bounds, ptr @.str3333, i32 %t36, i32 %t40) call void @exit(i32 1) unreachable ixok11: %t43 = getelementptr inbounds ptr, ptr %t38, i32 %t36 %t44 = load ptr, ptr %t43 store ptr %t44, ptr %t45 %t46 = call ptr @fn_eat_id() store ptr %t46, ptr %t47 call void @fn_skipnl() %t48 = call ptr @fn_record() store ptr %t48, ptr %t49 %t50 = load ptr, ptr @g_g_pmk_reg %t51 = load i32, ptr %t0 %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 %grow13, label %put14 grow13: %t58 = mul i32 %t56, 2 %t59 = icmp eq i32 %t56, 0 %t60 = select i1 %t59, i32 8, i32 %t58 %t61 = getelementptr i32, 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 store i32 2600, ptr @lp_site %t66 = call ptr @lp_realloc(ptr %t65, i64 %t64) store i32 0, ptr @lp_site store ptr %t66, ptr %t54 store i32 %t60, ptr %t53 br label %put14 put14: %t67 = load ptr, ptr %t54 %t68 = getelementptr inbounds i32, ptr %t67, i32 %t55 store i32 %t51, ptr %t68 %t69 = add i32 %t55, 1 store i32 %t69, ptr %t52 %t70 = load ptr, ptr @g_g_pmk_key %t71 = load ptr, ptr %t47 %t72 = getelementptr inbounds %LSlice, ptr %t70, i32 0, i32 1 %t73 = getelementptr inbounds %LSlice, ptr %t70, i32 0, i32 2 %t74 = getelementptr inbounds %LSlice, ptr %t70, i32 0, i32 0 %t75 = load i32, ptr %t72 %t76 = load i32, ptr %t73 %t77 = icmp sge i32 %t75, %t76 br i1 %t77, label %grow15, label %put16 grow15: %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 store i32 2601, ptr @lp_site %t86 = call ptr @lp_realloc(ptr %t85, i64 %t84) store i32 0, ptr @lp_site store ptr %t86, ptr %t74 store i32 %t80, ptr %t73 br label %put16 put16: %t87 = load ptr, ptr %t74 %t88 = getelementptr inbounds ptr, ptr %t87, i32 %t75 store ptr %t71, ptr %t88 %t89 = add i32 %t75, 1 store i32 %t89, ptr %t72 %t90 = load ptr, ptr @g_g_pmk_rec %t91 = load ptr, ptr %t49 %t92 = getelementptr inbounds %LSlice, ptr %t90, i32 0, i32 1 %t93 = getelementptr inbounds %LSlice, ptr %t90, i32 0, i32 2 %t94 = getelementptr inbounds %LSlice, ptr %t90, i32 0, i32 0 %t95 = load i32, ptr %t92 %t96 = load i32, ptr %t93 %t97 = icmp sge i32 %t95, %t96 br i1 %t97, label %grow17, label %put18 grow17: %t98 = mul i32 %t96, 2 %t99 = icmp eq i32 %t96, 0 %t100 = select i1 %t99, i32 8, i32 %t98 %t101 = getelementptr ptr, ptr null, i32 1 %t102 = ptrtoint ptr %t101 to i64 %t103 = zext i32 %t100 to i64 %t104 = mul i64 %t103, %t102 %t105 = load ptr, ptr %t94 store i32 2602, ptr @lp_site %t106 = call ptr @lp_realloc(ptr %t105, i64 %t104) store i32 0, ptr @lp_site store ptr %t106, ptr %t94 store i32 %t100, ptr %t93 br label %put18 put18: %t107 = load ptr, ptr %t94 %t108 = getelementptr inbounds ptr, ptr %t107, i32 %t95 store ptr %t91, ptr %t108 %t109 = add i32 %t95, 1 store i32 %t109, ptr %t92 %t110 = load ptr, ptr @g_g_pmk_kline %t111 = load ptr, ptr %t45 %t112 = getelementptr inbounds %Cmp_Tok, ptr %t111, i32 0, i32 3 %t113 = load i32, ptr %t112 %t114 = getelementptr inbounds %LSlice, ptr %t110, i32 0, i32 1 %t115 = getelementptr inbounds %LSlice, ptr %t110, i32 0, i32 2 %t116 = getelementptr inbounds %LSlice, ptr %t110, i32 0, i32 0 %t117 = load i32, ptr %t114 %t118 = load i32, ptr %t115 %t119 = icmp sge i32 %t117, %t118 br i1 %t119, label %grow19, label %put20 grow19: %t120 = mul i32 %t118, 2 %t121 = icmp eq i32 %t118, 0 %t122 = select i1 %t121, i32 8, i32 %t120 %t123 = getelementptr i32, 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 store i32 2603, ptr @lp_site %t128 = call ptr @lp_realloc(ptr %t127, i64 %t126) store i32 0, ptr @lp_site store ptr %t128, ptr %t116 store i32 %t122, ptr %t115 br label %put20 put20: %t129 = load ptr, ptr %t116 %t130 = getelementptr inbounds i32, ptr %t129, i32 %t117 store i32 %t113, ptr %t130 %t131 = add i32 %t117, 1 store i32 %t131, ptr %t114 %t132 = load ptr, ptr @g_g_pmk_kcol %t133 = load ptr, ptr %t45 %t134 = getelementptr inbounds %Cmp_Tok, ptr %t133, i32 0, i32 6 %t135 = load i32, ptr %t134 %t136 = getelementptr inbounds %LSlice, ptr %t132, i32 0, i32 1 %t137 = getelementptr inbounds %LSlice, ptr %t132, i32 0, i32 2 %t138 = getelementptr inbounds %LSlice, ptr %t132, i32 0, i32 0 %t139 = load i32, ptr %t136 %t140 = load i32, ptr %t137 %t141 = icmp sge i32 %t139, %t140 br i1 %t141, label %grow21, label %put22 grow21: %t142 = mul i32 %t140, 2 %t143 = icmp eq i32 %t140, 0 %t144 = select i1 %t143, i32 8, i32 %t142 %t145 = getelementptr i32, ptr null, i32 1 %t146 = ptrtoint ptr %t145 to i64 %t147 = zext i32 %t144 to i64 %t148 = mul i64 %t147, %t146 %t149 = load ptr, ptr %t138 store i32 2604, ptr @lp_site %t150 = call ptr @lp_realloc(ptr %t149, i64 %t148) store i32 0, ptr @lp_site store ptr %t150, ptr %t138 store i32 %t144, ptr %t137 br label %put22 put22: %t151 = load ptr, ptr %t138 %t152 = getelementptr inbounds i32, ptr %t151, i32 %t139 store i32 %t135, ptr %t152 %t153 = add i32 %t139, 1 store i32 %t153, ptr %t136 %t154 = load ptr, ptr @g_g_pmk_file %t155 = load ptr, ptr %t1 %t156 = getelementptr inbounds %LSlice, ptr %t154, i32 0, i32 1 %t157 = getelementptr inbounds %LSlice, ptr %t154, i32 0, i32 2 %t158 = getelementptr inbounds %LSlice, ptr %t154, i32 0, i32 0 %t159 = load i32, ptr %t156 %t160 = load i32, ptr %t157 %t161 = icmp sge i32 %t159, %t160 br i1 %t161, label %grow23, label %put24 grow23: %t162 = mul i32 %t160, 2 %t163 = icmp eq i32 %t160, 0 %t164 = select i1 %t163, i32 8, i32 %t162 %t165 = getelementptr ptr, ptr null, i32 1 %t166 = ptrtoint ptr %t165 to i64 %t167 = zext i32 %t164 to i64 %t168 = mul i64 %t167, %t166 %t169 = load ptr, ptr %t158 store i32 2605, ptr @lp_site %t170 = call ptr @lp_realloc(ptr %t169, i64 %t168) store i32 0, ptr @lp_site store ptr %t170, ptr %t158 store i32 %t164, ptr %t157 br label %put24 put24: %t171 = load ptr, ptr %t158 %t172 = getelementptr inbounds ptr, ptr %t171, i32 %t159 store ptr %t155, ptr %t172 %t173 = add i32 %t159, 1 store i32 %t173, ptr %t156 br label %wcond3 wend5: store i32 0, ptr @g_g_res_mode %t174 = load ptr, ptr %t10 store ptr %t174, ptr @g_toks %t175 = load i32, ptr %t12 store i32 %t175, ptr @g_pi %t176 = load ptr, ptr %t14 store ptr %t176, ptr @g_g_parse_file %t177 = load i32, ptr %t16 store i32 %t177, ptr @g_g_parsing br label %ret ret: ret void } define void @fn_pm_check_maps() { entry: %t0 = alloca i32 %t13 = alloca ptr %t14 = alloca i32 %t1 = load i32, ptr @g_g_pm_any %t2 = icmp eq i32 %t1, 0 %t3 = zext i1 %t2 to i32 %t4 = icmp ne i32 %t3, 0 %t5 = zext i1 %t4 to i32 store i32 %t5, ptr %t0 br i1 %t4, label %scend1, label %sc0 sc0: %t6 = load i32, ptr @g_g_pm_no_maps %t7 = icmp ne i32 %t6, 0 %t8 = zext i1 %t7 to i32 store i32 %t8, ptr %t0 br label %scend1 scend1: %t9 = load i32, ptr %t0 %t10 = icmp ne i32 %t9, 0 br i1 %t10, label %then2, label %ifend4 then2: br label %ret ifend4: %t11 = load ptr, ptr @g_g_pm_root %t12 = call ptr @fn_pmk_list(ptr %t11, i32 1) store ptr %t12, ptr %t13 store i32 0, ptr %t14 br label %wcond5 wcond5: %t15 = load i32, ptr %t14 %t16 = load ptr, ptr %t13 %t17 = getelementptr inbounds %LSlice, ptr %t16, i32 0, i32 1 %t18 = load i32, ptr %t17 %t19 = icmp slt i32 %t15, %t18 %t20 = zext i1 %t19 to i32 %t21 = icmp ne i32 %t20, 0 br i1 %t21, label %wbody6, label %wend7 wbody6: %t22 = load ptr, ptr @g_g_pm_root store i32 2606, ptr @lp_site %t23 = call ptr @lp_str_concat(ptr %t22, ptr @.str3334) store i32 0, ptr @lp_site %t24 = load ptr, ptr %t13 %t25 = load i32, ptr %t14 %t26 = getelementptr inbounds %LSlice, ptr %t24, i32 0, i32 0 %t27 = load ptr, ptr %t26 %t28 = getelementptr inbounds %LSlice, ptr %t24, i32 0, i32 1 %t29 = load i32, ptr %t28 %t30 = icmp ult i32 %t25, %t29 br i1 %t30, label %ixok8, label %ixbad9 ixbad9: store i32 2607, ptr @lp_site %t31 = call ptr @lp_win_stdio(i32 2) store i32 0, ptr @lp_site call i32 (ptr, ptr, ...) @fprintf(ptr %t31, ptr @.fmt_bounds, ptr @.str3336, i32 %t25, i32 %t29) call void @exit(i32 1) unreachable ixok8: %t32 = getelementptr inbounds ptr, ptr %t27, i32 %t25 %t33 = load ptr, ptr %t32 store i32 2608, ptr @lp_site %t34 = call ptr @lp_str_concat(ptr %t23, ptr %t33) store i32 0, ptr @lp_site call void @lp_free(ptr %t23) call void @fn_pmk_map(ptr %t34) %t35 = load i32, ptr %t14 %t36 = add i32 %t35, 1 store i32 %t36, ptr %t14 br label %wcond5 wend7: br label %ret ret: ret void } define void @fn_pmk_map(ptr %arg_md) { entry: %t0 = alloca ptr %t56 = alloca i32 %t70 = alloca ptr %t71 = alloca i32 %t94 = alloca i32 %t112 = alloca i32 store ptr %arg_md, ptr %t0 %t1 = load ptr, ptr %t0 store ptr %t1, ptr @g_g_pmk_md %t2 = getelementptr %LSlice, ptr null, i32 1 %t3 = ptrtoint ptr %t2 to i64 store i32 2609, ptr @lp_site %t4 = call ptr @lp_malloc(i64 %t3) store i32 0, ptr @lp_site %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_pmk_reg %t8 = getelementptr %LSlice, ptr null, i32 1 %t9 = ptrtoint ptr %t8 to i64 store i32 2610, ptr @lp_site %t10 = call ptr @lp_malloc(i64 %t9) store i32 0, ptr @lp_site %t11 = getelementptr inbounds %LSlice, ptr %t10, i32 0, i32 0 store ptr null, ptr %t11 %t12 = getelementptr inbounds %LSlice, ptr %t10, i32 0, i32 1 store i32 0, ptr %t12 %t13 = getelementptr inbounds %LSlice, ptr %t10, i32 0, i32 2 store i32 0, ptr %t13 store ptr %t10, ptr @g_g_pmk_key %t14 = getelementptr %LSlice, ptr null, i32 1 %t15 = ptrtoint ptr %t14 to i64 store i32 2611, ptr @lp_site %t16 = call ptr @lp_malloc(i64 %t15) store i32 0, ptr @lp_site %t17 = getelementptr inbounds %LSlice, ptr %t16, i32 0, i32 0 store ptr null, ptr %t17 %t18 = getelementptr inbounds %LSlice, ptr %t16, i32 0, i32 1 store i32 0, ptr %t18 %t19 = getelementptr inbounds %LSlice, ptr %t16, i32 0, i32 2 store i32 0, ptr %t19 store ptr %t16, ptr @g_g_pmk_rec %t20 = getelementptr %LSlice, ptr null, i32 1 %t21 = ptrtoint ptr %t20 to i64 store i32 2612, ptr @lp_site %t22 = call ptr @lp_malloc(i64 %t21) store i32 0, ptr @lp_site %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_g_pmk_kline %t26 = getelementptr %LSlice, ptr null, i32 1 %t27 = ptrtoint ptr %t26 to i64 store i32 2613, ptr @lp_site %t28 = call ptr @lp_malloc(i64 %t27) store i32 0, ptr @lp_site %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_g_pmk_kcol %t32 = getelementptr %LSlice, ptr null, i32 1 %t33 = ptrtoint ptr %t32 to i64 store i32 2614, ptr @lp_site %t34 = call ptr @lp_malloc(i64 %t33) store i32 0, ptr @lp_site %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_g_pmk_file %t38 = getelementptr %LSlice, ptr null, i32 1 %t39 = ptrtoint ptr %t38 to i64 store i32 2615, ptr @lp_site %t40 = call ptr @lp_malloc(i64 %t39) store i32 0, ptr @lp_site %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_g_pmk_ref_reg %t44 = getelementptr %LSlice, ptr null, i32 1 %t45 = ptrtoint ptr %t44 to i64 store i32 2616, ptr @lp_site %t46 = call ptr @lp_malloc(i64 %t45) store i32 0, ptr @lp_site %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_g_pmk_ref_key %t50 = getelementptr %LSlice, ptr null, i32 1 %t51 = ptrtoint ptr %t50 to i64 store i32 2617, ptr @lp_site %t52 = call ptr @lp_malloc(i64 %t51) store i32 0, ptr @lp_site %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_g_pmk_ref_at store i32 0, ptr %t56 br label %wcond0 wcond0: %t57 = load i32, ptr %t56 %t58 = load ptr, ptr @g_g_rg_name %t59 = getelementptr inbounds %LSlice, ptr %t58, i32 0, i32 1 %t60 = load i32, ptr %t59 %t61 = icmp slt i32 %t57, %t60 %t62 = zext i1 %t61 to i32 %t63 = icmp ne i32 %t62, 0 br i1 %t63, label %wbody1, label %wend2 wbody1: %t64 = load i32, ptr %t56 %t65 = call i32 @fn_pm_is(i32 %t64) %t66 = icmp ne i32 %t65, 0 br i1 %t66, label %then3, label %ifend5 then3: %t67 = load i32, ptr %t56 %t68 = load ptr, ptr %t0 %t69 = call ptr @fn_pmk_files(i32 %t67, ptr %t68) store ptr %t69, ptr %t70 store i32 0, ptr %t71 br label %wcond6 wcond6: %t72 = load i32, ptr %t71 %t73 = load ptr, ptr %t70 %t74 = getelementptr inbounds %LSlice, ptr %t73, i32 0, i32 1 %t75 = load i32, ptr %t74 %t76 = icmp slt i32 %t72, %t75 %t77 = zext i1 %t76 to i32 %t78 = icmp ne i32 %t77, 0 br i1 %t78, label %wbody7, label %wend8 wbody7: %t79 = load i32, ptr %t56 %t80 = load ptr, ptr %t70 %t81 = load i32, ptr %t71 %t82 = getelementptr inbounds %LSlice, ptr %t80, i32 0, i32 0 %t83 = load ptr, ptr %t82 %t84 = getelementptr inbounds %LSlice, ptr %t80, i32 0, i32 1 %t85 = load i32, ptr %t84 %t86 = icmp ult i32 %t81, %t85 br i1 %t86, label %ixok9, label %ixbad10 ixbad10: store i32 2618, ptr @lp_site %t87 = call ptr @lp_win_stdio(i32 2) store i32 0, ptr @lp_site call i32 (ptr, ptr, ...) @fprintf(ptr %t87, ptr @.fmt_bounds, ptr @.str3338, i32 %t81, i32 %t85) call void @exit(i32 1) unreachable ixok9: %t88 = getelementptr inbounds ptr, ptr %t83, i32 %t81 %t89 = load ptr, ptr %t88 call void @fn_pmk_read(i32 %t79, ptr %t89) %t90 = load i32, ptr %t71 %t91 = add i32 %t90, 1 store i32 %t91, ptr %t71 br label %wcond6 wend8: br label %ifend5 ifend5: %t92 = load i32, ptr %t56 %t93 = add i32 %t92, 1 store i32 %t93, ptr %t56 br label %wcond0 wend2: call void @fn_pmk_dups() call void @fn_pmk_chunk_dups() store i32 0, ptr %t94 br label %wcond11 wcond11: %t95 = load i32, ptr %t94 %t96 = load ptr, ptr @g_g_pmk_rec %t97 = getelementptr inbounds %LSlice, ptr %t96, i32 0, i32 1 %t98 = load i32, ptr %t97 %t99 = icmp slt i32 %t95, %t98 %t100 = zext i1 %t99 to i32 %t101 = icmp ne i32 %t100, 0 br i1 %t101, label %wbody12, label %wend13 wbody12: %t102 = load ptr, ptr @g_g_pmk_reg %t103 = load i32, ptr %t94 %t104 = getelementptr inbounds %LSlice, ptr %t102, i32 0, i32 0 %t105 = load ptr, ptr %t104 %t106 = getelementptr inbounds %LSlice, ptr %t102, i32 0, i32 1 %t107 = load i32, ptr %t106 %t108 = icmp ult i32 %t103, %t107 br i1 %t108, label %ixok14, label %ixbad15 ixbad15: store i32 2619, ptr @lp_site %t109 = call ptr @lp_win_stdio(i32 2) store i32 0, ptr @lp_site call i32 (ptr, ptr, ...) @fprintf(ptr %t109, ptr @.fmt_bounds, ptr @.str3339, i32 %t103, i32 %t107) call void @exit(i32 1) unreachable ixok14: %t110 = getelementptr inbounds i32, ptr %t105, i32 %t103 %t111 = load i32, ptr %t110 store i32 %t111, ptr %t112 %t113 = load ptr, ptr @g_g_rg_var %t114 = load i32, ptr %t112 %t115 = getelementptr inbounds %LSlice, ptr %t113, i32 0, i32 0 %t116 = load ptr, ptr %t115 %t117 = getelementptr inbounds %LSlice, ptr %t113, i32 0, i32 1 %t118 = load i32, ptr %t117 %t119 = icmp ult i32 %t114, %t118 br i1 %t119, label %ixok16, label %ixbad17 ixbad17: store i32 2620, ptr @lp_site %t120 = call ptr @lp_win_stdio(i32 2) store i32 0, ptr @lp_site call i32 (ptr, ptr, ...) @fprintf(ptr %t120, ptr @.fmt_bounds, ptr @.str3340, i32 %t114, i32 %t118) call void @exit(i32 1) unreachable ixok16: %t121 = getelementptr inbounds ptr, ptr %t116, i32 %t114 %t122 = load ptr, ptr %t121 %t123 = getelementptr inbounds %Cmp_Node, ptr %t122, i32 0, i32 9 %t124 = load ptr, ptr %t123 %t125 = call ptr @fn_module_of(ptr %t124) store ptr %t125, ptr @g_g_pmk_mod %t126 = load ptr, ptr @g_g_pmk_rec %t127 = load i32, ptr %t94 %t128 = getelementptr inbounds %LSlice, ptr %t126, i32 0, i32 0 %t129 = load ptr, ptr %t128 %t130 = getelementptr inbounds %LSlice, ptr %t126, i32 0, i32 1 %t131 = load i32, ptr %t130 %t132 = icmp ult i32 %t127, %t131 br i1 %t132, label %ixok18, label %ixbad19 ixbad19: store i32 2621, ptr @lp_site %t133 = call ptr @lp_win_stdio(i32 2) store i32 0, ptr @lp_site call i32 (ptr, ptr, ...) @fprintf(ptr %t133, ptr @.fmt_bounds, ptr @.str3341, i32 %t127, i32 %t131) call void @exit(i32 1) unreachable ixok18: %t134 = getelementptr inbounds ptr, ptr %t129, i32 %t127 %t135 = load ptr, ptr %t134 %t136 = load ptr, ptr @g_g_rg_type %t137 = load i32, ptr %t112 %t138 = getelementptr inbounds %LSlice, ptr %t136, i32 0, i32 0 %t139 = load ptr, ptr %t138 %t140 = getelementptr inbounds %LSlice, ptr %t136, i32 0, i32 1 %t141 = load i32, ptr %t140 %t142 = icmp ult i32 %t137, %t141 br i1 %t142, label %ixok20, label %ixbad21 ixbad21: store i32 2622, ptr @lp_site %t143 = call ptr @lp_win_stdio(i32 2) store i32 0, ptr @lp_site call i32 (ptr, ptr, ...) @fprintf(ptr %t143, ptr @.fmt_bounds, ptr @.str3342, i32 %t137, i32 %t141) call void @exit(i32 1) unreachable ixok20: %t144 = getelementptr inbounds ptr, ptr %t139, i32 %t137 %t145 = load ptr, ptr %t144 %t146 = call ptr @fn_find_comp(ptr %t145) call void @fn_pmk_rec(ptr %t135, ptr %t146, i32 1) %t147 = load i32, ptr %t94 %t148 = add i32 %t147, 1 store i32 %t148, ptr %t94 br label %wcond11 wend13: call void @fn_pmk_refs() call void @fn_pmk_game_assets() %t149 = load ptr, ptr %t0 call void @fn_i18n_permap_rows(ptr %t149) br label %ret ret: ret void } define void @fn_pmk_dups() { entry: %t6 = alloca ptr %t13 = alloca ptr %t14 = alloca i32 %t145 = alloca i32 %t0 = getelementptr %LSlice, ptr null, i32 1 %t1 = ptrtoint ptr %t0 to i64 store i32 2623, ptr @lp_site %t2 = call ptr @lp_malloc(i64 %t1) store i32 0, ptr @lp_site %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 store i32 2624, ptr @lp_site %t9 = call ptr @lp_malloc(i64 %t8) store i32 0, ptr @lp_site %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 store i32 0, ptr %t14 br label %wcond0 wcond0: %t15 = load i32, ptr %t14 %t16 = load ptr, ptr @g_g_pmk_key %t17 = getelementptr inbounds %LSlice, ptr %t16, i32 0, i32 1 %t18 = load i32, ptr %t17 %t19 = icmp slt i32 %t15, %t18 %t20 = zext i1 %t19 to i32 %t21 = icmp ne i32 %t20, 0 br i1 %t21, label %wbody1, label %wend2 wbody1: %t22 = load ptr, ptr %t6 %t23 = load i32, ptr %t14 %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 %grow3, label %put4 grow3: %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 store i32 2625, ptr @lp_site %t38 = call ptr @lp_realloc(ptr %t37, i64 %t36) store i32 0, ptr @lp_site store ptr %t38, ptr %t26 store i32 %t32, ptr %t25 br label %put4 put4: %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 %t13 %t43 = load ptr, ptr @g_g_pmk_file %t44 = load i32, ptr %t14 %t45 = getelementptr inbounds %LSlice, ptr %t43, i32 0, i32 0 %t46 = load ptr, ptr %t45 %t47 = getelementptr inbounds %LSlice, ptr %t43, i32 0, i32 1 %t48 = load i32, ptr %t47 %t49 = icmp ult i32 %t44, %t48 br i1 %t49, label %ixok5, label %ixbad6 ixbad6: store i32 2626, ptr @lp_site %t50 = call ptr @lp_win_stdio(i32 2) store i32 0, ptr @lp_site call i32 (ptr, ptr, ...) @fprintf(ptr %t50, ptr @.fmt_bounds, ptr @.str3344, i32 %t44, i32 %t48) call void @exit(i32 1) unreachable ixok5: %t51 = getelementptr inbounds ptr, ptr %t46, i32 %t44 %t52 = load ptr, ptr %t51 store i32 2627, ptr @lp_site %t53 = call ptr @lp_str_concat(ptr %t52, ptr @.str3345) store i32 0, ptr @lp_site %t54 = load ptr, ptr @g_g_pmk_key %t55 = load i32, ptr %t14 %t56 = getelementptr inbounds %LSlice, ptr %t54, i32 0, i32 0 %t57 = load ptr, ptr %t56 %t58 = getelementptr inbounds %LSlice, ptr %t54, i32 0, i32 1 %t59 = load i32, ptr %t58 %t60 = icmp ult i32 %t55, %t59 br i1 %t60, label %ixok7, label %ixbad8 ixbad8: store i32 2628, ptr @lp_site %t61 = call ptr @lp_win_stdio(i32 2) store i32 0, ptr @lp_site call i32 (ptr, ptr, ...) @fprintf(ptr %t61, ptr @.fmt_bounds, ptr @.str3346, i32 %t55, i32 %t59) call void @exit(i32 1) unreachable ixok7: %t62 = getelementptr inbounds ptr, ptr %t57, i32 %t55 %t63 = load ptr, ptr %t62 store i32 2629, ptr @lp_site %t64 = call ptr @lp_str_concat(ptr %t53, ptr %t63) store i32 0, ptr @lp_site call void @lp_free(ptr %t53) %t65 = getelementptr inbounds %LSlice, ptr %t42, i32 0, i32 1 %t66 = getelementptr inbounds %LSlice, ptr %t42, i32 0, i32 2 %t67 = getelementptr inbounds %LSlice, ptr %t42, i32 0, i32 0 %t68 = load i32, ptr %t65 %t69 = load i32, ptr %t66 %t70 = icmp sge i32 %t68, %t69 br i1 %t70, label %grow9, label %put10 grow9: %t71 = mul i32 %t69, 2 %t72 = icmp eq i32 %t69, 0 %t73 = select i1 %t72, i32 8, i32 %t71 %t74 = getelementptr ptr, ptr null, i32 1 %t75 = ptrtoint ptr %t74 to i64 %t76 = zext i32 %t73 to i64 %t77 = mul i64 %t76, %t75 %t78 = load ptr, ptr %t67 store i32 2630, ptr @lp_site %t79 = call ptr @lp_realloc(ptr %t78, i64 %t77) store i32 0, ptr @lp_site store ptr %t79, ptr %t67 store i32 %t73, ptr %t66 br label %put10 put10: %t80 = load ptr, ptr %t67 %t81 = getelementptr inbounds ptr, ptr %t80, i32 %t68 store ptr %t64, ptr %t81 %t82 = add i32 %t68, 1 store i32 %t82, ptr %t65 %t83 = load i32, ptr %t14 %t84 = add i32 %t83, 1 store i32 %t84, ptr %t14 br label %wcond0 wend2: %t85 = load ptr, ptr %t6 %t86 = load ptr, ptr %t13 call void @fn_sc_sort(ptr %t85, ptr %t86) store i32 1, ptr %t14 br label %wcond11 wcond11: %t87 = load i32, ptr %t14 %t88 = load ptr, ptr %t6 %t89 = getelementptr inbounds %LSlice, ptr %t88, i32 0, i32 1 %t90 = load i32, ptr %t89 %t91 = icmp slt i32 %t87, %t90 %t92 = zext i1 %t91 to i32 %t93 = icmp ne i32 %t92, 0 br i1 %t93, label %wbody12, label %wend13 wbody12: %t94 = load ptr, ptr %t13 %t95 = load ptr, ptr %t6 %t96 = load i32, ptr %t14 %t97 = getelementptr inbounds %LSlice, ptr %t95, i32 0, i32 0 %t98 = load ptr, ptr %t97 %t99 = getelementptr inbounds %LSlice, ptr %t95, i32 0, i32 1 %t100 = load i32, ptr %t99 %t101 = icmp ult i32 %t96, %t100 br i1 %t101, label %ixok14, label %ixbad15 ixbad15: store i32 2631, ptr @lp_site %t102 = call ptr @lp_win_stdio(i32 2) store i32 0, ptr @lp_site call i32 (ptr, ptr, ...) @fprintf(ptr %t102, ptr @.fmt_bounds, ptr @.str3347, i32 %t96, i32 %t100) call void @exit(i32 1) unreachable ixok14: %t103 = getelementptr inbounds i32, ptr %t98, i32 %t96 %t104 = load i32, ptr %t103 %t105 = getelementptr inbounds %LSlice, ptr %t94, i32 0, i32 0 %t106 = load ptr, ptr %t105 %t107 = getelementptr inbounds %LSlice, ptr %t94, i32 0, i32 1 %t108 = load i32, ptr %t107 %t109 = icmp ult i32 %t104, %t108 br i1 %t109, label %ixok16, label %ixbad17 ixbad17: store i32 2632, ptr @lp_site %t110 = call ptr @lp_win_stdio(i32 2) store i32 0, ptr @lp_site call i32 (ptr, ptr, ...) @fprintf(ptr %t110, ptr @.fmt_bounds, ptr @.str3348, i32 %t104, i32 %t108) call void @exit(i32 1) unreachable ixok16: %t111 = getelementptr inbounds ptr, ptr %t106, i32 %t104 %t112 = load ptr, ptr %t111 %t113 = load ptr, ptr %t13 %t114 = load ptr, ptr %t6 %t115 = load i32, ptr %t14 %t116 = sub i32 %t115, 1 %t117 = getelementptr inbounds %LSlice, ptr %t114, i32 0, i32 0 %t118 = load ptr, ptr %t117 %t119 = getelementptr inbounds %LSlice, ptr %t114, i32 0, i32 1 %t120 = load i32, ptr %t119 %t121 = icmp ult i32 %t116, %t120 br i1 %t121, label %ixok18, label %ixbad19 ixbad19: store i32 2633, ptr @lp_site %t122 = call ptr @lp_win_stdio(i32 2) store i32 0, ptr @lp_site call i32 (ptr, ptr, ...) @fprintf(ptr %t122, ptr @.fmt_bounds, ptr @.str3349, i32 %t116, i32 %t120) call void @exit(i32 1) unreachable ixok18: %t123 = getelementptr inbounds i32, ptr %t118, i32 %t116 %t124 = load i32, ptr %t123 %t125 = getelementptr inbounds %LSlice, ptr %t113, i32 0, i32 0 %t126 = load ptr, ptr %t125 %t127 = getelementptr inbounds %LSlice, ptr %t113, i32 0, i32 1 %t128 = load i32, ptr %t127 %t129 = icmp ult i32 %t124, %t128 br i1 %t129, label %ixok20, label %ixbad21 ixbad21: store i32 2634, ptr @lp_site %t130 = call ptr @lp_win_stdio(i32 2) store i32 0, ptr @lp_site call i32 (ptr, ptr, ...) @fprintf(ptr %t130, ptr @.fmt_bounds, ptr @.str3350, i32 %t124, i32 %t128) call void @exit(i32 1) unreachable ixok20: %t131 = getelementptr inbounds ptr, ptr %t126, i32 %t124 %t132 = load ptr, ptr %t131 %t133 = call i32 @lp_str_eq(ptr %t112, ptr %t132) %t134 = icmp ne i32 %t133, 0 br i1 %t134, label %then22, label %ifend24 then22: %t135 = load ptr, ptr %t6 %t136 = load i32, ptr %t14 %t137 = getelementptr inbounds %LSlice, ptr %t135, i32 0, i32 0 %t138 = load ptr, ptr %t137 %t139 = getelementptr inbounds %LSlice, ptr %t135, i32 0, i32 1 %t140 = load i32, ptr %t139 %t141 = icmp ult i32 %t136, %t140 br i1 %t141, label %ixok25, label %ixbad26 ixbad26: store i32 2635, ptr @lp_site %t142 = call ptr @lp_win_stdio(i32 2) store i32 0, ptr @lp_site call i32 (ptr, ptr, ...) @fprintf(ptr %t142, ptr @.fmt_bounds, ptr @.str3351, i32 %t136, i32 %t140) call void @exit(i32 1) unreachable ixok25: %t143 = getelementptr inbounds i32, ptr %t138, i32 %t136 %t144 = load i32, ptr %t143 store i32 %t144, ptr %t145 %t146 = load ptr, ptr @g_g_pmk_file %t147 = load i32, ptr %t145 %t148 = getelementptr inbounds %LSlice, ptr %t146, i32 0, i32 0 %t149 = load ptr, ptr %t148 %t150 = getelementptr inbounds %LSlice, ptr %t146, i32 0, i32 1 %t151 = load i32, ptr %t150 %t152 = icmp ult i32 %t147, %t151 br i1 %t152, label %ixok27, label %ixbad28 ixbad28: store i32 2636, ptr @lp_site %t153 = call ptr @lp_win_stdio(i32 2) store i32 0, ptr @lp_site call i32 (ptr, ptr, ...) @fprintf(ptr %t153, ptr @.fmt_bounds, ptr @.str3352, i32 %t147, i32 %t151) call void @exit(i32 1) unreachable ixok27: %t154 = getelementptr inbounds ptr, ptr %t149, i32 %t147 %t155 = load ptr, ptr %t154 %t156 = load ptr, ptr @g_g_pmk_kline %t157 = load i32, ptr %t145 %t158 = getelementptr inbounds %LSlice, ptr %t156, i32 0, i32 0 %t159 = load ptr, ptr %t158 %t160 = getelementptr inbounds %LSlice, ptr %t156, i32 0, i32 1 %t161 = load i32, ptr %t160 %t162 = icmp ult i32 %t157, %t161 br i1 %t162, label %ixok29, label %ixbad30 ixbad30: store i32 2637, ptr @lp_site %t163 = call ptr @lp_win_stdio(i32 2) store i32 0, ptr @lp_site call i32 (ptr, ptr, ...) @fprintf(ptr %t163, ptr @.fmt_bounds, ptr @.str3353, i32 %t157, i32 %t161) call void @exit(i32 1) unreachable ixok29: %t164 = getelementptr inbounds i32, ptr %t159, i32 %t157 %t165 = load i32, ptr %t164 %t166 = load ptr, ptr @g_g_pmk_kcol %t167 = load i32, ptr %t145 %t168 = getelementptr inbounds %LSlice, ptr %t166, i32 0, i32 0 %t169 = load ptr, ptr %t168 %t170 = getelementptr inbounds %LSlice, ptr %t166, i32 0, i32 1 %t171 = load i32, ptr %t170 %t172 = icmp ult i32 %t167, %t171 br i1 %t172, label %ixok31, label %ixbad32 ixbad32: store i32 2638, ptr @lp_site %t173 = call ptr @lp_win_stdio(i32 2) store i32 0, ptr @lp_site call i32 (ptr, ptr, ...) @fprintf(ptr %t173, ptr @.fmt_bounds, ptr @.str3354, i32 %t167, i32 %t171) call void @exit(i32 1) unreachable ixok31: %t174 = getelementptr inbounds i32, ptr %t169, i32 %t167 %t175 = load i32, ptr %t174 %t176 = load ptr, ptr @g_g_pmk_key %t177 = load i32, ptr %t145 %t178 = getelementptr inbounds %LSlice, ptr %t176, i32 0, i32 0 %t179 = load ptr, ptr %t178 %t180 = getelementptr inbounds %LSlice, ptr %t176, i32 0, i32 1 %t181 = load i32, ptr %t180 %t182 = icmp ult i32 %t177, %t181 br i1 %t182, label %ixok33, label %ixbad34 ixbad34: store i32 2639, ptr @lp_site %t183 = call ptr @lp_win_stdio(i32 2) store i32 0, ptr @lp_site call i32 (ptr, ptr, ...) @fprintf(ptr %t183, ptr @.fmt_bounds, ptr @.str3356, i32 %t177, i32 %t181) call void @exit(i32 1) unreachable ixok33: %t184 = getelementptr inbounds ptr, ptr %t179, i32 %t177 %t185 = load ptr, ptr %t184 store i32 2640, ptr @lp_site %t186 = call ptr @lp_str_concat(ptr @.str3355, ptr %t185) store i32 0, ptr @lp_site store i32 2641, ptr @lp_site %t187 = call ptr @lp_str_concat(ptr %t186, ptr @.str3357) store i32 0, ptr @lp_site call void @lp_free(ptr %t186) call void @fn_pmk_err(ptr %t155, i32 %t165, i32 %t175, ptr %t187) br label %ifend24 ifend24: %t188 = load i32, ptr %t14 %t189 = add i32 %t188, 1 store i32 %t189, ptr %t14 br label %wcond11 wend13: br label %ret ret: ret void } define void @fn_pmk_chunk_dups() { entry: %t6 = alloca ptr %t13 = alloca ptr %t14 = alloca i32 %t155 = alloca i32 %t166 = alloca i32 %t167 = alloca i32 %t0 = getelementptr %LSlice, ptr null, i32 1 %t1 = ptrtoint ptr %t0 to i64 store i32 2642, ptr @lp_site %t2 = call ptr @lp_malloc(i64 %t1) store i32 0, ptr @lp_site %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 store i32 2643, ptr @lp_site %t9 = call ptr @lp_malloc(i64 %t8) store i32 0, ptr @lp_site %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 store i32 0, ptr %t14 br label %wcond0 wcond0: %t15 = load i32, ptr %t14 %t16 = load ptr, ptr @g_g_pmk_key %t17 = getelementptr inbounds %LSlice, ptr %t16, i32 0, i32 1 %t18 = load i32, ptr %t17 %t19 = icmp slt i32 %t15, %t18 %t20 = zext i1 %t19 to i32 %t21 = icmp ne i32 %t20, 0 br i1 %t21, label %wbody1, label %wend2 wbody1: %t22 = load ptr, ptr @g_g_rg_chunk %t23 = load ptr, ptr @g_g_pmk_reg %t24 = load i32, ptr %t14 %t25 = getelementptr inbounds %LSlice, ptr %t23, i32 0, i32 0 %t26 = load ptr, ptr %t25 %t27 = getelementptr inbounds %LSlice, ptr %t23, i32 0, i32 1 %t28 = load i32, ptr %t27 %t29 = icmp ult i32 %t24, %t28 br i1 %t29, label %ixok3, label %ixbad4 ixbad4: store i32 2644, ptr @lp_site %t30 = call ptr @lp_win_stdio(i32 2) store i32 0, ptr @lp_site call i32 (ptr, ptr, ...) @fprintf(ptr %t30, ptr @.fmt_bounds, ptr @.str3359, i32 %t24, i32 %t28) call void @exit(i32 1) unreachable ixok3: %t31 = getelementptr inbounds i32, ptr %t26, i32 %t24 %t32 = load i32, ptr %t31 %t33 = getelementptr inbounds %LSlice, ptr %t22, i32 0, i32 0 %t34 = load ptr, ptr %t33 %t35 = getelementptr inbounds %LSlice, ptr %t22, i32 0, i32 1 %t36 = load i32, ptr %t35 %t37 = icmp ult i32 %t32, %t36 br i1 %t37, label %ixok5, label %ixbad6 ixbad6: store i32 2645, ptr @lp_site %t38 = call ptr @lp_win_stdio(i32 2) store i32 0, ptr @lp_site call i32 (ptr, ptr, ...) @fprintf(ptr %t38, ptr @.fmt_bounds, ptr @.str3360, i32 %t32, i32 %t36) call void @exit(i32 1) unreachable ixok5: %t39 = getelementptr inbounds i32, ptr %t34, i32 %t32 %t40 = load i32, ptr %t39 %t41 = icmp sgt i32 %t40, 0 %t42 = zext i1 %t41 to i32 %t43 = icmp ne i32 %t42, 0 br i1 %t43, label %then7, label %else8 then7: %t44 = load ptr, ptr %t6 %t45 = load i32, ptr %t14 %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 %grow10, label %put11 grow10: %t52 = mul i32 %t50, 2 %t53 = icmp eq i32 %t50, 0 %t54 = select i1 %t53, i32 8, i32 %t52 %t55 = getelementptr i32, 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 store i32 2646, ptr @lp_site %t60 = call ptr @lp_realloc(ptr %t59, i64 %t58) store i32 0, ptr @lp_site store ptr %t60, ptr %t48 store i32 %t54, ptr %t47 br label %put11 put11: %t61 = load ptr, ptr %t48 %t62 = getelementptr inbounds i32, ptr %t61, i32 %t49 store i32 %t45, ptr %t62 %t63 = add i32 %t49, 1 store i32 %t63, ptr %t46 %t64 = load ptr, ptr %t13 %t65 = load ptr, ptr @g_g_rg_name %t66 = load ptr, ptr @g_g_pmk_reg %t67 = load i32, ptr %t14 %t68 = getelementptr inbounds %LSlice, ptr %t66, i32 0, i32 0 %t69 = load ptr, ptr %t68 %t70 = getelementptr inbounds %LSlice, ptr %t66, i32 0, i32 1 %t71 = load i32, ptr %t70 %t72 = icmp ult i32 %t67, %t71 br i1 %t72, label %ixok12, label %ixbad13 ixbad13: store i32 2647, ptr @lp_site %t73 = call ptr @lp_win_stdio(i32 2) store i32 0, ptr @lp_site call i32 (ptr, ptr, ...) @fprintf(ptr %t73, ptr @.fmt_bounds, ptr @.str3361, i32 %t67, i32 %t71) call void @exit(i32 1) unreachable ixok12: %t74 = getelementptr inbounds i32, ptr %t69, i32 %t67 %t75 = load i32, ptr %t74 %t76 = getelementptr inbounds %LSlice, ptr %t65, i32 0, i32 0 %t77 = load ptr, ptr %t76 %t78 = getelementptr inbounds %LSlice, ptr %t65, i32 0, i32 1 %t79 = load i32, ptr %t78 %t80 = icmp ult i32 %t75, %t79 br i1 %t80, label %ixok14, label %ixbad15 ixbad15: store i32 2648, ptr @lp_site %t81 = call ptr @lp_win_stdio(i32 2) store i32 0, ptr @lp_site call i32 (ptr, ptr, ...) @fprintf(ptr %t81, ptr @.fmt_bounds, ptr @.str3362, i32 %t75, i32 %t79) call void @exit(i32 1) unreachable ixok14: %t82 = getelementptr inbounds ptr, ptr %t77, i32 %t75 %t83 = load ptr, ptr %t82 store i32 2649, ptr @lp_site %t84 = call ptr @lp_str_concat(ptr %t83, ptr @.str3363) store i32 0, ptr @lp_site %t85 = load ptr, ptr @g_g_pmk_key %t86 = load i32, ptr %t14 %t87 = getelementptr inbounds %LSlice, ptr %t85, i32 0, i32 0 %t88 = load ptr, ptr %t87 %t89 = getelementptr inbounds %LSlice, ptr %t85, i32 0, i32 1 %t90 = load i32, ptr %t89 %t91 = icmp ult i32 %t86, %t90 br i1 %t91, label %ixok16, label %ixbad17 ixbad17: store i32 2650, ptr @lp_site %t92 = call ptr @lp_win_stdio(i32 2) store i32 0, ptr @lp_site call i32 (ptr, ptr, ...) @fprintf(ptr %t92, ptr @.fmt_bounds, ptr @.str3364, i32 %t86, i32 %t90) call void @exit(i32 1) unreachable ixok16: %t93 = getelementptr inbounds ptr, ptr %t88, i32 %t86 %t94 = load ptr, ptr %t93 store i32 2651, ptr @lp_site %t95 = call ptr @lp_str_concat(ptr %t84, ptr %t94) store i32 0, ptr @lp_site call void @lp_free(ptr %t84) %t96 = getelementptr inbounds %LSlice, ptr %t64, i32 0, i32 1 %t97 = getelementptr inbounds %LSlice, ptr %t64, i32 0, i32 2 %t98 = getelementptr inbounds %LSlice, ptr %t64, i32 0, i32 0 %t99 = load i32, ptr %t96 %t100 = load i32, ptr %t97 %t101 = icmp sge i32 %t99, %t100 br i1 %t101, label %grow18, label %put19 grow18: %t102 = mul i32 %t100, 2 %t103 = icmp eq i32 %t100, 0 %t104 = select i1 %t103, i32 8, i32 %t102 %t105 = getelementptr ptr, ptr null, i32 1 %t106 = ptrtoint ptr %t105 to i64 %t107 = zext i32 %t104 to i64 %t108 = mul i64 %t107, %t106 %t109 = load ptr, ptr %t98 store i32 2652, ptr @lp_site %t110 = call ptr @lp_realloc(ptr %t109, i64 %t108) store i32 0, ptr @lp_site store ptr %t110, ptr %t98 store i32 %t104, ptr %t97 br label %put19 put19: %t111 = load ptr, ptr %t98 %t112 = getelementptr inbounds ptr, ptr %t111, i32 %t99 store ptr %t95, ptr %t112 %t113 = add i32 %t99, 1 store i32 %t113, ptr %t96 br label %ifend9 else8: %t114 = load ptr, ptr %t13 %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 %grow20, label %put21 grow20: %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 store i32 2653, ptr @lp_site %t129 = call ptr @lp_realloc(ptr %t128, i64 %t127) store i32 0, ptr @lp_site store ptr %t129, ptr %t117 store i32 %t123, ptr %t116 br label %put21 put21: %t130 = load ptr, ptr %t117 %t131 = getelementptr inbounds ptr, ptr %t130, i32 %t118 store ptr @.str3365, ptr %t131 %t132 = add i32 %t118, 1 store i32 %t132, ptr %t115 br label %ifend9 ifend9: %t133 = load i32, ptr %t14 %t134 = add i32 %t133, 1 store i32 %t134, ptr %t14 br label %wcond0 wend2: %t135 = load ptr, ptr %t6 %t136 = load ptr, ptr %t13 call void @fn_sc_sort(ptr %t135, ptr %t136) store i32 1, ptr %t14 br label %wcond22 wcond22: %t137 = load i32, ptr %t14 %t138 = load ptr, ptr %t6 %t139 = getelementptr inbounds %LSlice, ptr %t138, i32 0, i32 1 %t140 = load i32, ptr %t139 %t141 = icmp slt i32 %t137, %t140 %t142 = zext i1 %t141 to i32 %t143 = icmp ne i32 %t142, 0 br i1 %t143, label %wbody23, label %wend24 wbody23: %t144 = load ptr, ptr %t6 %t145 = load i32, ptr %t14 %t146 = sub i32 %t145, 1 %t147 = getelementptr inbounds %LSlice, ptr %t144, i32 0, i32 0 %t148 = load ptr, ptr %t147 %t149 = getelementptr inbounds %LSlice, ptr %t144, i32 0, i32 1 %t150 = load i32, ptr %t149 %t151 = icmp ult i32 %t146, %t150 br i1 %t151, label %ixok25, label %ixbad26 ixbad26: store i32 2654, ptr @lp_site %t152 = call ptr @lp_win_stdio(i32 2) store i32 0, ptr @lp_site call i32 (ptr, ptr, ...) @fprintf(ptr %t152, ptr @.fmt_bounds, ptr @.str3366, i32 %t146, i32 %t150) call void @exit(i32 1) unreachable ixok25: %t153 = getelementptr inbounds i32, ptr %t148, i32 %t146 %t154 = load i32, ptr %t153 store i32 %t154, ptr %t155 %t156 = load ptr, ptr %t6 %t157 = load i32, ptr %t14 %t158 = getelementptr inbounds %LSlice, ptr %t156, i32 0, i32 0 %t159 = load ptr, ptr %t158 %t160 = getelementptr inbounds %LSlice, ptr %t156, i32 0, i32 1 %t161 = load i32, ptr %t160 %t162 = icmp ult i32 %t157, %t161 br i1 %t162, label %ixok27, label %ixbad28 ixbad28: store i32 2655, ptr @lp_site %t163 = call ptr @lp_win_stdio(i32 2) store i32 0, ptr @lp_site call i32 (ptr, ptr, ...) @fprintf(ptr %t163, ptr @.fmt_bounds, ptr @.str3367, i32 %t157, i32 %t161) call void @exit(i32 1) unreachable ixok27: %t164 = getelementptr inbounds i32, ptr %t159, i32 %t157 %t165 = load i32, ptr %t164 store i32 %t165, ptr %t166 %t168 = load ptr, ptr %t13 %t169 = load i32, ptr %t166 %t170 = getelementptr inbounds %LSlice, ptr %t168, i32 0, i32 0 %t171 = load ptr, ptr %t170 %t172 = getelementptr inbounds %LSlice, ptr %t168, i32 0, i32 1 %t173 = load i32, ptr %t172 %t174 = icmp ult i32 %t169, %t173 br i1 %t174, label %ixok29, label %ixbad30 ixbad30: store i32 2656, ptr @lp_site %t175 = call ptr @lp_win_stdio(i32 2) store i32 0, ptr @lp_site call i32 (ptr, ptr, ...) @fprintf(ptr %t175, ptr @.fmt_bounds, ptr @.str3368, i32 %t169, i32 %t173) call void @exit(i32 1) unreachable ixok29: %t176 = getelementptr inbounds ptr, ptr %t171, i32 %t169 %t177 = load ptr, ptr %t176 %t178 = load ptr, ptr %t13 %t179 = load i32, ptr %t155 %t180 = getelementptr inbounds %LSlice, ptr %t178, i32 0, i32 0 %t181 = load ptr, ptr %t180 %t182 = getelementptr inbounds %LSlice, ptr %t178, i32 0, i32 1 %t183 = load i32, ptr %t182 %t184 = icmp ult i32 %t179, %t183 br i1 %t184, label %ixok31, label %ixbad32 ixbad32: store i32 2657, ptr @lp_site %t185 = call ptr @lp_win_stdio(i32 2) store i32 0, ptr @lp_site call i32 (ptr, ptr, ...) @fprintf(ptr %t185, ptr @.fmt_bounds, ptr @.str3369, i32 %t179, i32 %t183) call void @exit(i32 1) unreachable ixok31: %t186 = getelementptr inbounds ptr, ptr %t181, i32 %t179 %t187 = load ptr, ptr %t186 %t188 = call i32 @lp_str_eq(ptr %t177, ptr %t187) %t189 = icmp ne i32 %t188, 0 %t190 = zext i1 %t189 to i32 store i32 %t190, ptr %t167 br i1 %t189, label %sc33, label %scend34 sc33: %t191 = load ptr, ptr @g_g_pmk_file %t192 = load i32, ptr %t166 %t193 = getelementptr inbounds %LSlice, ptr %t191, i32 0, i32 0 %t194 = load ptr, ptr %t193 %t195 = getelementptr inbounds %LSlice, ptr %t191, i32 0, i32 1 %t196 = load i32, ptr %t195 %t197 = icmp ult i32 %t192, %t196 br i1 %t197, label %ixok35, label %ixbad36 ixbad36: store i32 2658, ptr @lp_site %t198 = call ptr @lp_win_stdio(i32 2) store i32 0, ptr @lp_site call i32 (ptr, ptr, ...) @fprintf(ptr %t198, ptr @.fmt_bounds, ptr @.str3370, i32 %t192, i32 %t196) call void @exit(i32 1) unreachable ixok35: %t199 = getelementptr inbounds ptr, ptr %t194, i32 %t192 %t200 = load ptr, ptr %t199 %t201 = load ptr, ptr @g_g_pmk_file %t202 = load i32, ptr %t155 %t203 = getelementptr inbounds %LSlice, ptr %t201, i32 0, i32 0 %t204 = load ptr, ptr %t203 %t205 = getelementptr inbounds %LSlice, ptr %t201, i32 0, i32 1 %t206 = load i32, ptr %t205 %t207 = icmp ult i32 %t202, %t206 br i1 %t207, label %ixok37, label %ixbad38 ixbad38: store i32 2659, ptr @lp_site %t208 = call ptr @lp_win_stdio(i32 2) store i32 0, ptr @lp_site call i32 (ptr, ptr, ...) @fprintf(ptr %t208, ptr @.fmt_bounds, ptr @.str3371, i32 %t202, i32 %t206) call void @exit(i32 1) unreachable ixok37: %t209 = getelementptr inbounds ptr, ptr %t204, i32 %t202 %t210 = load ptr, ptr %t209 %t211 = call i32 @lp_str_eq(ptr %t200, ptr %t210) %t212 = icmp eq i32 %t211, 0 %t213 = zext i1 %t212 to i32 %t214 = icmp ne i32 %t213, 0 %t215 = zext i1 %t214 to i32 store i32 %t215, ptr %t167 br label %scend34 scend34: %t216 = load i32, ptr %t167 %t217 = icmp ne i32 %t216, 0 br i1 %t217, label %then39, label %ifend41 then39: %t218 = load ptr, ptr @g_g_pmk_file %t219 = load i32, ptr %t166 %t220 = getelementptr inbounds %LSlice, ptr %t218, i32 0, i32 0 %t221 = load ptr, ptr %t220 %t222 = getelementptr inbounds %LSlice, ptr %t218, i32 0, i32 1 %t223 = load i32, ptr %t222 %t224 = icmp ult i32 %t219, %t223 br i1 %t224, label %ixok42, label %ixbad43 ixbad43: store i32 2660, ptr @lp_site %t225 = call ptr @lp_win_stdio(i32 2) store i32 0, ptr @lp_site call i32 (ptr, ptr, ...) @fprintf(ptr %t225, ptr @.fmt_bounds, ptr @.str3372, i32 %t219, i32 %t223) call void @exit(i32 1) unreachable ixok42: %t226 = getelementptr inbounds ptr, ptr %t221, i32 %t219 %t227 = load ptr, ptr %t226 %t228 = load ptr, ptr @g_g_pmk_kline %t229 = load i32, ptr %t166 %t230 = getelementptr inbounds %LSlice, ptr %t228, i32 0, i32 0 %t231 = load ptr, ptr %t230 %t232 = getelementptr inbounds %LSlice, ptr %t228, i32 0, i32 1 %t233 = load i32, ptr %t232 %t234 = icmp ult i32 %t229, %t233 br i1 %t234, label %ixok44, label %ixbad45 ixbad45: store i32 2661, ptr @lp_site %t235 = call ptr @lp_win_stdio(i32 2) store i32 0, ptr @lp_site call i32 (ptr, ptr, ...) @fprintf(ptr %t235, ptr @.fmt_bounds, ptr @.str3373, i32 %t229, i32 %t233) call void @exit(i32 1) unreachable ixok44: %t236 = getelementptr inbounds i32, ptr %t231, i32 %t229 %t237 = load i32, ptr %t236 %t238 = load ptr, ptr @g_g_pmk_kcol %t239 = load i32, ptr %t166 %t240 = getelementptr inbounds %LSlice, ptr %t238, i32 0, i32 0 %t241 = load ptr, ptr %t240 %t242 = getelementptr inbounds %LSlice, ptr %t238, i32 0, i32 1 %t243 = load i32, ptr %t242 %t244 = icmp ult i32 %t239, %t243 br i1 %t244, label %ixok46, label %ixbad47 ixbad47: store i32 2662, ptr @lp_site %t245 = call ptr @lp_win_stdio(i32 2) store i32 0, ptr @lp_site call i32 (ptr, ptr, ...) @fprintf(ptr %t245, ptr @.fmt_bounds, ptr @.str3374, i32 %t239, i32 %t243) call void @exit(i32 1) unreachable ixok46: %t246 = getelementptr inbounds i32, ptr %t241, i32 %t239 %t247 = load i32, ptr %t246 %t248 = load ptr, ptr @g_g_pmk_key %t249 = load i32, ptr %t166 %t250 = getelementptr inbounds %LSlice, ptr %t248, i32 0, i32 0 %t251 = load ptr, ptr %t250 %t252 = getelementptr inbounds %LSlice, ptr %t248, i32 0, i32 1 %t253 = load i32, ptr %t252 %t254 = icmp ult i32 %t249, %t253 br i1 %t254, label %ixok48, label %ixbad49 ixbad49: store i32 2663, ptr @lp_site %t255 = call ptr @lp_win_stdio(i32 2) store i32 0, ptr @lp_site call i32 (ptr, ptr, ...) @fprintf(ptr %t255, ptr @.fmt_bounds, ptr @.str3376, i32 %t249, i32 %t253) call void @exit(i32 1) unreachable ixok48: %t256 = getelementptr inbounds ptr, ptr %t251, i32 %t249 %t257 = load ptr, ptr %t256 store i32 2664, ptr @lp_site %t258 = call ptr @lp_str_concat(ptr @.str3375, ptr %t257) store i32 0, ptr @lp_site store i32 2665, ptr @lp_site %t259 = call ptr @lp_str_concat(ptr %t258, ptr @.str3377) store i32 0, ptr @lp_site call void @lp_free(ptr %t258) %t260 = load ptr, ptr @g_g_pmk_file %t261 = load i32, ptr %t155 %t262 = getelementptr inbounds %LSlice, ptr %t260, i32 0, i32 0 %t263 = load ptr, ptr %t262 %t264 = getelementptr inbounds %LSlice, ptr %t260, i32 0, i32 1 %t265 = load i32, ptr %t264 %t266 = icmp ult i32 %t261, %t265 br i1 %t266, label %ixok50, label %ixbad51 ixbad51: store i32 2666, ptr @lp_site %t267 = call ptr @lp_win_stdio(i32 2) store i32 0, ptr @lp_site call i32 (ptr, ptr, ...) @fprintf(ptr %t267, ptr @.fmt_bounds, ptr @.str3378, i32 %t261, i32 %t265) call void @exit(i32 1) unreachable ixok50: %t268 = getelementptr inbounds ptr, ptr %t263, i32 %t261 %t269 = load ptr, ptr %t268 store i32 2667, ptr @lp_site %t270 = call ptr @lp_str_concat(ptr %t259, ptr %t269) store i32 0, ptr @lp_site call void @lp_free(ptr %t259) store i32 2668, ptr @lp_site %t271 = call ptr @lp_str_concat(ptr %t270, ptr @.str3379) store i32 0, ptr @lp_site call void @lp_free(ptr %t270) %t272 = load ptr, ptr @g_g_pmk_kline %t273 = load i32, ptr %t155 %t274 = getelementptr inbounds %LSlice, ptr %t272, i32 0, i32 0 %t275 = load ptr, ptr %t274 %t276 = getelementptr inbounds %LSlice, ptr %t272, i32 0, i32 1 %t277 = load i32, ptr %t276 %t278 = icmp ult i32 %t273, %t277 br i1 %t278, label %ixok52, label %ixbad53 ixbad53: store i32 2669, ptr @lp_site %t279 = call ptr @lp_win_stdio(i32 2) store i32 0, ptr @lp_site call i32 (ptr, ptr, ...) @fprintf(ptr %t279, ptr @.fmt_bounds, ptr @.str3380, i32 %t273, i32 %t277) call void @exit(i32 1) unreachable ixok52: %t280 = getelementptr inbounds i32, ptr %t275, i32 %t273 %t281 = load i32, ptr %t280 %t282 = call ptr @fn_itoa(i32 %t281) store i32 2670, ptr @lp_site %t283 = call ptr @lp_str_concat(ptr %t271, ptr %t282) store i32 0, ptr @lp_site call void @lp_free(ptr %t271) store i32 2671, ptr @lp_site %t284 = call ptr @lp_str_concat(ptr %t283, ptr @.str3381) store i32 0, ptr @lp_site call void @lp_free(ptr %t283) call void @fn_pmk_err(ptr %t227, i32 %t237, i32 %t247, ptr %t284) br label %ifend41 ifend41: %t285 = load i32, ptr %t14 %t286 = add i32 %t285, 1 store i32 %t286, ptr %t14 br label %wcond22 wend24: br label %ret ret: ret void } define void @fn_pmk_refs() { entry: %t6 = alloca ptr %t13 = alloca ptr %t14 = alloca i32 %t102 = alloca ptr %t179 = alloca ptr %t0 = getelementptr %LSlice, ptr null, i32 1 %t1 = ptrtoint ptr %t0 to i64 store i32 2672, ptr @lp_site %t2 = call ptr @lp_malloc(i64 %t1) store i32 0, ptr @lp_site %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 store i32 2673, ptr @lp_site %t9 = call ptr @lp_malloc(i64 %t8) store i32 0, ptr @lp_site %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 store i32 0, ptr %t14 br label %wcond0 wcond0: %t15 = load i32, ptr %t14 %t16 = load ptr, ptr @g_g_pmk_key %t17 = getelementptr inbounds %LSlice, ptr %t16, i32 0, i32 1 %t18 = load i32, ptr %t17 %t19 = icmp slt i32 %t15, %t18 %t20 = zext i1 %t19 to i32 %t21 = icmp ne i32 %t20, 0 br i1 %t21, label %wbody1, label %wend2 wbody1: %t22 = load ptr, ptr %t6 %t23 = load i32, ptr %t14 %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 %grow3, label %put4 grow3: %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 store i32 2674, ptr @lp_site %t38 = call ptr @lp_realloc(ptr %t37, i64 %t36) store i32 0, ptr @lp_site store ptr %t38, ptr %t26 store i32 %t32, ptr %t25 br label %put4 put4: %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 %t13 %t43 = load ptr, ptr @g_g_rg_name %t44 = load ptr, ptr @g_g_pmk_reg %t45 = load i32, ptr %t14 %t46 = getelementptr inbounds %LSlice, ptr %t44, i32 0, i32 0 %t47 = load ptr, ptr %t46 %t48 = getelementptr inbounds %LSlice, ptr %t44, i32 0, i32 1 %t49 = load i32, ptr %t48 %t50 = icmp ult i32 %t45, %t49 br i1 %t50, label %ixok5, label %ixbad6 ixbad6: store i32 2675, ptr @lp_site %t51 = call ptr @lp_win_stdio(i32 2) store i32 0, ptr @lp_site call i32 (ptr, ptr, ...) @fprintf(ptr %t51, ptr @.fmt_bounds, ptr @.str3383, i32 %t45, i32 %t49) call void @exit(i32 1) unreachable ixok5: %t52 = getelementptr inbounds i32, ptr %t47, i32 %t45 %t53 = load i32, ptr %t52 %t54 = getelementptr inbounds %LSlice, ptr %t43, i32 0, i32 0 %t55 = load ptr, ptr %t54 %t56 = getelementptr inbounds %LSlice, ptr %t43, i32 0, i32 1 %t57 = load i32, ptr %t56 %t58 = icmp ult i32 %t53, %t57 br i1 %t58, label %ixok7, label %ixbad8 ixbad8: store i32 2676, ptr @lp_site %t59 = call ptr @lp_win_stdio(i32 2) store i32 0, ptr @lp_site call i32 (ptr, ptr, ...) @fprintf(ptr %t59, ptr @.fmt_bounds, ptr @.str3384, i32 %t53, i32 %t57) call void @exit(i32 1) unreachable ixok7: %t60 = getelementptr inbounds ptr, ptr %t55, i32 %t53 %t61 = load ptr, ptr %t60 store i32 2677, ptr @lp_site %t62 = call ptr @lp_str_concat(ptr %t61, ptr @.str3385) store i32 0, ptr @lp_site %t63 = load ptr, ptr @g_g_pmk_key %t64 = load i32, ptr %t14 %t65 = getelementptr inbounds %LSlice, ptr %t63, i32 0, i32 0 %t66 = load ptr, ptr %t65 %t67 = getelementptr inbounds %LSlice, ptr %t63, i32 0, i32 1 %t68 = load i32, ptr %t67 %t69 = icmp ult i32 %t64, %t68 br i1 %t69, label %ixok9, label %ixbad10 ixbad10: store i32 2678, ptr @lp_site %t70 = call ptr @lp_win_stdio(i32 2) store i32 0, ptr @lp_site call i32 (ptr, ptr, ...) @fprintf(ptr %t70, ptr @.fmt_bounds, ptr @.str3386, i32 %t64, i32 %t68) call void @exit(i32 1) unreachable ixok9: %t71 = getelementptr inbounds ptr, ptr %t66, i32 %t64 %t72 = load ptr, ptr %t71 store i32 2679, ptr @lp_site %t73 = call ptr @lp_str_concat(ptr %t62, ptr %t72) store i32 0, ptr @lp_site call void @lp_free(ptr %t62) %t74 = getelementptr inbounds %LSlice, ptr %t42, i32 0, i32 1 %t75 = getelementptr inbounds %LSlice, ptr %t42, i32 0, i32 2 %t76 = getelementptr inbounds %LSlice, ptr %t42, i32 0, i32 0 %t77 = load i32, ptr %t74 %t78 = load i32, ptr %t75 %t79 = icmp sge i32 %t77, %t78 br i1 %t79, label %grow11, label %put12 grow11: %t80 = mul i32 %t78, 2 %t81 = icmp eq i32 %t78, 0 %t82 = select i1 %t81, i32 8, i32 %t80 %t83 = getelementptr ptr, ptr null, i32 1 %t84 = ptrtoint ptr %t83 to i64 %t85 = zext i32 %t82 to i64 %t86 = mul i64 %t85, %t84 %t87 = load ptr, ptr %t76 store i32 2680, ptr @lp_site %t88 = call ptr @lp_realloc(ptr %t87, i64 %t86) store i32 0, ptr @lp_site store ptr %t88, ptr %t76 store i32 %t82, ptr %t75 br label %put12 put12: %t89 = load ptr, ptr %t76 %t90 = getelementptr inbounds ptr, ptr %t89, i32 %t77 store ptr %t73, ptr %t90 %t91 = add i32 %t77, 1 store i32 %t91, ptr %t74 %t92 = load i32, ptr %t14 %t93 = add i32 %t92, 1 store i32 %t93, ptr %t14 br label %wcond0 wend2: %t94 = load ptr, ptr %t6 %t95 = load ptr, ptr %t13 call void @fn_sc_sort(ptr %t94, ptr %t95) %t96 = getelementptr %LSlice, ptr null, i32 1 %t97 = ptrtoint ptr %t96 to i64 store i32 2681, ptr @lp_site %t98 = call ptr @lp_malloc(i64 %t97) store i32 0, ptr @lp_site %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 %t102 store i32 0, ptr %t14 br label %wcond13 wcond13: %t103 = load i32, ptr %t14 %t104 = load ptr, ptr %t6 %t105 = getelementptr inbounds %LSlice, ptr %t104, i32 0, i32 1 %t106 = load i32, ptr %t105 %t107 = icmp slt i32 %t103, %t106 %t108 = zext i1 %t107 to i32 %t109 = icmp ne i32 %t108, 0 br i1 %t109, label %wbody14, label %wend15 wbody14: %t110 = load ptr, ptr %t102 %t111 = load ptr, ptr %t13 %t112 = load ptr, ptr %t6 %t113 = load i32, ptr %t14 %t114 = getelementptr inbounds %LSlice, ptr %t112, i32 0, i32 0 %t115 = load ptr, ptr %t114 %t116 = getelementptr inbounds %LSlice, ptr %t112, i32 0, i32 1 %t117 = load i32, ptr %t116 %t118 = icmp ult i32 %t113, %t117 br i1 %t118, label %ixok16, label %ixbad17 ixbad17: store i32 2682, ptr @lp_site %t119 = call ptr @lp_win_stdio(i32 2) store i32 0, ptr @lp_site call i32 (ptr, ptr, ...) @fprintf(ptr %t119, ptr @.fmt_bounds, ptr @.str3387, i32 %t113, i32 %t117) call void @exit(i32 1) unreachable ixok16: %t120 = getelementptr inbounds i32, ptr %t115, i32 %t113 %t121 = load i32, ptr %t120 %t122 = getelementptr inbounds %LSlice, ptr %t111, i32 0, i32 0 %t123 = load ptr, ptr %t122 %t124 = getelementptr inbounds %LSlice, ptr %t111, i32 0, i32 1 %t125 = load i32, ptr %t124 %t126 = icmp ult i32 %t121, %t125 br i1 %t126, label %ixok18, label %ixbad19 ixbad19: store i32 2683, ptr @lp_site %t127 = call ptr @lp_win_stdio(i32 2) store i32 0, ptr @lp_site call i32 (ptr, ptr, ...) @fprintf(ptr %t127, ptr @.fmt_bounds, ptr @.str3388, i32 %t121, i32 %t125) call void @exit(i32 1) unreachable ixok18: %t128 = getelementptr inbounds ptr, ptr %t123, i32 %t121 %t129 = load ptr, ptr %t128 %t130 = getelementptr inbounds %LSlice, ptr %t110, i32 0, i32 1 %t131 = getelementptr inbounds %LSlice, ptr %t110, i32 0, i32 2 %t132 = getelementptr inbounds %LSlice, ptr %t110, i32 0, i32 0 %t133 = load i32, ptr %t130 %t134 = load i32, ptr %t131 %t135 = icmp sge i32 %t133, %t134 br i1 %t135, label %grow20, label %put21 grow20: %t136 = mul i32 %t134, 2 %t137 = icmp eq i32 %t134, 0 %t138 = select i1 %t137, i32 8, i32 %t136 %t139 = getelementptr ptr, ptr null, i32 1 %t140 = ptrtoint ptr %t139 to i64 %t141 = zext i32 %t138 to i64 %t142 = mul i64 %t141, %t140 %t143 = load ptr, ptr %t132 store i32 2684, ptr @lp_site %t144 = call ptr @lp_realloc(ptr %t143, i64 %t142) store i32 0, ptr @lp_site store ptr %t144, ptr %t132 store i32 %t138, ptr %t131 br label %put21 put21: %t145 = load ptr, ptr %t132 %t146 = getelementptr inbounds ptr, ptr %t145, i32 %t133 store ptr %t129, ptr %t146 %t147 = add i32 %t133, 1 store i32 %t147, ptr %t130 %t148 = load i32, ptr %t14 %t149 = add i32 %t148, 1 store i32 %t149, ptr %t14 br label %wcond13 wend15: store i32 0, ptr %t14 br label %wcond22 wcond22: %t150 = load i32, ptr %t14 %t151 = load ptr, ptr @g_g_pmk_ref_key %t152 = getelementptr inbounds %LSlice, ptr %t151, i32 0, i32 1 %t153 = load i32, ptr %t152 %t154 = icmp slt i32 %t150, %t153 %t155 = zext i1 %t154 to i32 %t156 = icmp ne i32 %t155, 0 br i1 %t156, label %wbody23, label %wend24 wbody23: %t157 = load ptr, ptr @g_g_pmk_ref_reg %t158 = load i32, ptr %t14 %t159 = getelementptr inbounds %LSlice, ptr %t157, i32 0, i32 0 %t160 = load ptr, ptr %t159 %t161 = getelementptr inbounds %LSlice, ptr %t157, i32 0, i32 1 %t162 = load i32, ptr %t161 %t163 = icmp ult i32 %t158, %t162 br i1 %t163, label %ixok25, label %ixbad26 ixbad26: store i32 2685, ptr @lp_site %t164 = call ptr @lp_win_stdio(i32 2) store i32 0, ptr @lp_site call i32 (ptr, ptr, ...) @fprintf(ptr %t164, ptr @.fmt_bounds, ptr @.str3389, i32 %t158, i32 %t162) call void @exit(i32 1) unreachable ixok25: %t165 = getelementptr inbounds ptr, ptr %t160, i32 %t158 %t166 = load ptr, ptr %t165 store i32 2686, ptr @lp_site %t167 = call ptr @lp_str_concat(ptr %t166, ptr @.str3390) store i32 0, ptr @lp_site %t168 = load ptr, ptr @g_g_pmk_ref_key %t169 = load i32, ptr %t14 %t170 = getelementptr inbounds %LSlice, ptr %t168, i32 0, i32 0 %t171 = load ptr, ptr %t170 %t172 = getelementptr inbounds %LSlice, ptr %t168, i32 0, i32 1 %t173 = load i32, ptr %t172 %t174 = icmp ult i32 %t169, %t173 br i1 %t174, label %ixok27, label %ixbad28 ixbad28: store i32 2687, ptr @lp_site %t175 = call ptr @lp_win_stdio(i32 2) store i32 0, ptr @lp_site call i32 (ptr, ptr, ...) @fprintf(ptr %t175, ptr @.fmt_bounds, ptr @.str3391, i32 %t169, i32 %t173) call void @exit(i32 1) unreachable ixok27: %t176 = getelementptr inbounds ptr, ptr %t171, i32 %t169 %t177 = load ptr, ptr %t176 store i32 2688, ptr @lp_site %t178 = call ptr @lp_str_concat(ptr %t167, ptr %t177) store i32 0, ptr @lp_site call void @lp_free(ptr %t167) store ptr %t178, ptr %t179 %t180 = load ptr, ptr %t102 %t181 = load ptr, ptr %t179 %t182 = call i32 @fn_pmk_sorted_has(ptr %t180, ptr %t181) %t183 = icmp eq i32 %t182, 0 %t184 = zext i1 %t183 to i32 %t185 = icmp ne i32 %t184, 0 br i1 %t185, label %then29, label %ifend31 then29: %t186 = load ptr, ptr @g_g_pmk_ref_at %t187 = load i32, ptr %t14 %t188 = getelementptr inbounds %LSlice, ptr %t186, i32 0, i32 0 %t189 = load ptr, ptr %t188 %t190 = getelementptr inbounds %LSlice, ptr %t186, i32 0, i32 1 %t191 = load i32, ptr %t190 %t192 = icmp ult i32 %t187, %t191 br i1 %t192, label %ixok32, label %ixbad33 ixbad33: store i32 2689, ptr @lp_site %t193 = call ptr @lp_win_stdio(i32 2) store i32 0, ptr @lp_site call i32 (ptr, ptr, ...) @fprintf(ptr %t193, ptr @.fmt_bounds, ptr @.str3392, i32 %t187, i32 %t191) call void @exit(i32 1) unreachable ixok32: %t194 = getelementptr inbounds ptr, ptr %t189, i32 %t187 %t195 = load ptr, ptr %t194 %t196 = load ptr, ptr @g_g_pmk_ref_reg %t197 = load i32, ptr %t14 %t198 = getelementptr inbounds %LSlice, ptr %t196, i32 0, i32 0 %t199 = load ptr, ptr %t198 %t200 = getelementptr inbounds %LSlice, ptr %t196, i32 0, i32 1 %t201 = load i32, ptr %t200 %t202 = icmp ult i32 %t197, %t201 br i1 %t202, label %ixok34, label %ixbad35 ixbad35: store i32 2690, ptr @lp_site %t203 = call ptr @lp_win_stdio(i32 2) store i32 0, ptr @lp_site call i32 (ptr, ptr, ...) @fprintf(ptr %t203, ptr @.fmt_bounds, ptr @.str3394, i32 %t197, i32 %t201) call void @exit(i32 1) unreachable ixok34: %t204 = getelementptr inbounds ptr, ptr %t199, i32 %t197 %t205 = load ptr, ptr %t204 store i32 2691, ptr @lp_site %t206 = call ptr @lp_str_concat(ptr @.str3393, ptr %t205) store i32 0, ptr @lp_site store i32 2692, ptr @lp_site %t207 = call ptr @lp_str_concat(ptr %t206, ptr @.str3395) store i32 0, ptr @lp_site call void @lp_free(ptr %t206) %t208 = load ptr, ptr @g_g_pmk_ref_key %t209 = load i32, ptr %t14 %t210 = getelementptr inbounds %LSlice, ptr %t208, i32 0, i32 0 %t211 = load ptr, ptr %t210 %t212 = getelementptr inbounds %LSlice, ptr %t208, i32 0, i32 1 %t213 = load i32, ptr %t212 %t214 = icmp ult i32 %t209, %t213 br i1 %t214, label %ixok36, label %ixbad37 ixbad37: store i32 2693, ptr @lp_site %t215 = call ptr @lp_win_stdio(i32 2) store i32 0, ptr @lp_site call i32 (ptr, ptr, ...) @fprintf(ptr %t215, ptr @.fmt_bounds, ptr @.str3396, i32 %t209, i32 %t213) call void @exit(i32 1) unreachable ixok36: %t216 = getelementptr inbounds ptr, ptr %t211, i32 %t209 %t217 = load ptr, ptr %t216 store i32 2694, ptr @lp_site %t218 = call ptr @lp_str_concat(ptr %t207, ptr %t217) store i32 0, ptr @lp_site call void @lp_free(ptr %t207) store i32 2695, ptr @lp_site %t219 = call ptr @lp_str_concat(ptr %t218, ptr @.str3397) store i32 0, ptr @lp_site call void @lp_free(ptr %t218) call void @fn_pmk_err_at(ptr %t195, ptr %t219) br label %ifend31 ifend31: %t220 = load i32, ptr %t14 %t221 = add i32 %t220, 1 store i32 %t221, ptr %t14 br label %wcond22 wend24: br label %ret ret: ret void } define i32 @fn_pmk_sorted_has(ptr %arg_xs, ptr %arg_s) { entry: %retval = alloca i32 %t0 = alloca ptr %t1 = alloca ptr %t2 = alloca i32 %t7 = alloca i32 %t17 = alloca i32 store ptr %arg_xs, ptr %t0 store ptr %arg_s, ptr %t1 store i32 0, ptr %t2 %t3 = load ptr, ptr %t0 %t4 = getelementptr inbounds %LSlice, ptr %t3, i32 0, i32 1 %t5 = load i32, ptr %t4 %t6 = sub i32 %t5, 1 store i32 %t6, ptr %t7 br label %wcond0 wcond0: %t8 = load i32, ptr %t2 %t9 = load i32, ptr %t7 %t10 = icmp sle i32 %t8, %t9 %t11 = zext i1 %t10 to i32 %t12 = icmp ne i32 %t11, 0 br i1 %t12, label %wbody1, label %wend2 wbody1: %t13 = load i32, ptr %t2 %t14 = load i32, ptr %t7 %t15 = add i32 %t13, %t14 %t16 = sdiv i32 %t15, 2 store i32 %t16, ptr %t17 %t18 = load ptr, ptr %t0 %t19 = load i32, ptr %t17 %t20 = getelementptr inbounds %LSlice, ptr %t18, i32 0, i32 0 %t21 = load ptr, ptr %t20 %t22 = getelementptr inbounds %LSlice, ptr %t18, i32 0, i32 1 %t23 = load i32, ptr %t22 %t24 = icmp ult i32 %t19, %t23 br i1 %t24, label %ixok3, label %ixbad4 ixbad4: store i32 2696, ptr @lp_site %t25 = call ptr @lp_win_stdio(i32 2) store i32 0, ptr @lp_site call i32 (ptr, ptr, ...) @fprintf(ptr %t25, ptr @.fmt_bounds, ptr @.str3398, i32 %t19, i32 %t23) call void @exit(i32 1) unreachable ixok3: %t26 = getelementptr inbounds ptr, ptr %t21, i32 %t19 %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 %then5, label %ifend7 then5: store i32 1, ptr %retval br label %ret ifend7: %t31 = load ptr, ptr %t1 %t32 = load ptr, ptr %t0 %t33 = load i32, ptr %t17 %t34 = getelementptr inbounds %LSlice, ptr %t32, i32 0, i32 0 %t35 = load ptr, ptr %t34 %t36 = getelementptr inbounds %LSlice, ptr %t32, i32 0, i32 1 %t37 = load i32, ptr %t36 %t38 = icmp ult i32 %t33, %t37 br i1 %t38, label %ixok8, label %ixbad9 ixbad9: store i32 2697, ptr @lp_site %t39 = call ptr @lp_win_stdio(i32 2) store i32 0, ptr @lp_site call i32 (ptr, ptr, ...) @fprintf(ptr %t39, ptr @.fmt_bounds, ptr @.str3400, i32 %t33, i32 %t37) call void @exit(i32 1) unreachable ixok8: %t40 = getelementptr inbounds ptr, ptr %t35, i32 %t33 %t41 = load ptr, ptr %t40 %t42 = call i32 @fn_reg_str_less(ptr %t31, ptr %t41) %t43 = icmp ne i32 %t42, 0 br i1 %t43, label %then10, label %else11 then10: %t44 = load i32, ptr %t17 %t45 = sub i32 %t44, 1 store i32 %t45, ptr %t7 br label %ifend12 else11: %t46 = load i32, ptr %t17 %t47 = add i32 %t46, 1 store i32 %t47, ptr %t2 br label %ifend12 ifend12: br label %wcond0 wend2: store i32 0, ptr %retval br label %ret ret: %t48 = load i32, ptr %retval ret i32 %t48 } define void @fn_pmk_rec(ptr %arg_rec, ptr %arg_comp, i32 %arg_row) { entry: %t0 = alloca ptr %t1 = alloca ptr %t2 = alloca i32 %t3 = alloca i32 %t25 = alloca ptr %t31 = alloca i32 %t46 = alloca i32 store ptr %arg_rec, ptr %t0 store ptr %arg_comp, ptr %t1 store i32 %arg_row, 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 7 %t7 = load ptr, ptr %t6 %t8 = getelementptr inbounds %LSlice, ptr %t7, i32 0, i32 1 %t9 = load i32, ptr %t8 %t10 = icmp slt i32 %t4, %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 %t0 %t14 = getelementptr inbounds %Cmp_Node, ptr %t13, i32 0, i32 7 %t15 = load ptr, ptr %t14 %t16 = load i32, ptr %t3 %t17 = getelementptr inbounds %LSlice, ptr %t15, i32 0, i32 0 %t18 = load ptr, ptr %t17 %t19 = getelementptr inbounds %LSlice, ptr %t15, i32 0, i32 1 %t20 = load i32, ptr %t19 %t21 = icmp ult i32 %t16, %t20 br i1 %t21, label %ixok3, label %ixbad4 ixbad4: store i32 2698, ptr @lp_site %t22 = call ptr @lp_win_stdio(i32 2) store i32 0, ptr @lp_site call i32 (ptr, ptr, ...) @fprintf(ptr %t22, ptr @.fmt_bounds, ptr @.str3401, i32 %t16, i32 %t20) call void @exit(i32 1) unreachable ixok3: %t23 = getelementptr inbounds ptr, ptr %t18, i32 %t16 %t24 = load ptr, ptr %t23 store ptr %t24, ptr %t25 %t26 = load ptr, ptr %t1 %t27 = load ptr, ptr %t25 %t28 = getelementptr inbounds %Cmp_Node, ptr %t27, i32 0, i32 1 %t29 = load ptr, ptr %t28 %t30 = call i32 @fn_field_index(ptr %t26, ptr %t29) store i32 %t30, ptr %t31 %t32 = load i32, ptr %t31 %t33 = icmp slt i32 %t32, 0 %t34 = zext i1 %t33 to i32 %t35 = icmp ne i32 %t34, 0 br i1 %t35, label %then5, label %else6 then5: %t36 = load ptr, ptr %t25 %t37 = load ptr, ptr %t1 %t38 = getelementptr inbounds %Cmp_Node, ptr %t37, i32 0, i32 1 %t39 = load ptr, ptr %t38 %t40 = call ptr @fn_vis_plain(ptr %t39) store i32 2699, ptr @lp_site %t41 = call ptr @lp_str_concat(ptr %t40, ptr @.str3403) store i32 0, ptr @lp_site %t42 = load ptr, ptr %t25 %t43 = getelementptr inbounds %Cmp_Node, ptr %t42, i32 0, i32 1 %t44 = load ptr, ptr %t43 store i32 2700, ptr @lp_site %t45 = call ptr @lp_str_concat(ptr %t41, ptr %t44) store i32 0, ptr @lp_site call void @lp_free(ptr %t41) call void @fn_pmk_err_at(ptr %t36, ptr %t45) br label %ifend7 else6: %t47 = load i32, ptr %t2 %t48 = icmp ne i32 %t47, 0 %t49 = zext i1 %t48 to i32 store i32 %t49, ptr %t46 br i1 %t48, label %sc8, label %scend9 sc8: %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 @.str3404) %t54 = icmp ne i32 %t53, 0 %t55 = zext i1 %t54 to i32 store i32 %t55, ptr %t46 br label %scend9 scend9: %t56 = load i32, ptr %t46 %t57 = icmp ne i32 %t56, 0 br i1 %t57, label %then10, label %else11 then10: %t58 = load ptr, ptr %t25 call void @fn_pmk_err_at(ptr %t58, ptr @.str3405) br label %ifend12 else11: %t59 = load ptr, ptr %t25 %t60 = getelementptr inbounds %Cmp_Node, ptr %t59, i32 0, i32 4 %t61 = load ptr, ptr %t60 %t62 = load ptr, ptr %t1 %t63 = getelementptr inbounds %Cmp_Node, ptr %t62, i32 0, i32 7 %t64 = load ptr, ptr %t63 %t65 = load i32, ptr %t31 %t66 = getelementptr inbounds %LSlice, ptr %t64, i32 0, i32 0 %t67 = load ptr, ptr %t66 %t68 = getelementptr inbounds %LSlice, ptr %t64, i32 0, i32 1 %t69 = load i32, ptr %t68 %t70 = icmp ult i32 %t65, %t69 br i1 %t70, label %ixok13, label %ixbad14 ixbad14: store i32 2701, ptr @lp_site %t71 = call ptr @lp_win_stdio(i32 2) store i32 0, ptr @lp_site call i32 (ptr, ptr, ...) @fprintf(ptr %t71, ptr @.fmt_bounds, ptr @.str3406, i32 %t65, i32 %t69) call void @exit(i32 1) unreachable ixok13: %t72 = getelementptr inbounds ptr, ptr %t67, i32 %t65 %t73 = load ptr, ptr %t72 %t74 = load ptr, ptr %t1 %t75 = getelementptr inbounds %Cmp_Node, ptr %t74, i32 0, i32 7 %t76 = load ptr, ptr %t75 %t77 = load i32, ptr %t31 %t78 = getelementptr inbounds %LSlice, ptr %t76, i32 0, i32 0 %t79 = load ptr, ptr %t78 %t80 = getelementptr inbounds %LSlice, ptr %t76, i32 0, i32 1 %t81 = load i32, ptr %t80 %t82 = icmp ult i32 %t77, %t81 br i1 %t82, label %ixok15, label %ixbad16 ixbad16: store i32 2702, ptr @lp_site %t83 = call ptr @lp_win_stdio(i32 2) store i32 0, ptr @lp_site call i32 (ptr, ptr, ...) @fprintf(ptr %t83, ptr @.fmt_bounds, ptr @.str3407, i32 %t77, i32 %t81) call void @exit(i32 1) unreachable ixok15: %t84 = getelementptr inbounds ptr, ptr %t79, i32 %t77 %t85 = load ptr, ptr %t84 %t86 = getelementptr inbounds %Cmp_Node, ptr %t85, i32 0, i32 3 %t87 = load ptr, ptr %t86 %t88 = load ptr, ptr %t25 call void @fn_pmk_value(ptr %t61, ptr %t73, ptr %t87, ptr %t88) br label %ifend12 ifend12: br label %ifend7 ifend7: %t89 = load i32, ptr %t3 %t90 = add i32 %t89, 1 store i32 %t90, ptr %t3 br label %wcond0 wend2: br label %ret ret: ret void } define ptr @fn_pmk_desc(ptr %arg_e) { entry: %retval = alloca ptr %t0 = alloca ptr %t1 = alloca i32 %t9 = alloca i32 %t10 = alloca i32 %t42 = alloca i32 %t50 = alloca i32 %t51 = alloca i32 store ptr %arg_e, ptr %t0 %t2 = load ptr, ptr %t0 %t3 = getelementptr inbounds %Cmp_Node, ptr %t2, i32 0, i32 0 %t4 = load i32, ptr %t3 %t5 = icmp eq i32 %t4, 30 %t6 = zext i1 %t5 to i32 %t7 = icmp ne i32 %t6, 0 %t8 = zext i1 %t7 to i32 store i32 %t8, ptr %t1 br i1 %t7, label %scend1, label %sc0 sc0: %t11 = load ptr, ptr %t0 %t12 = getelementptr inbounds %Cmp_Node, ptr %t11, i32 0, i32 0 %t13 = load i32, ptr %t12 %t14 = icmp eq i32 %t13, 38 %t15 = zext i1 %t14 to i32 %t16 = icmp ne i32 %t15, 0 %t17 = zext i1 %t16 to i32 store i32 %t17, ptr %t10 br i1 %t16, label %sc2, label %scend3 sc2: %t18 = load ptr, ptr %t0 %t19 = getelementptr inbounds %Cmp_Node, ptr %t18, i32 0, i32 4 %t20 = load ptr, ptr %t19 %t21 = icmp ne ptr %t20, null %t22 = zext i1 %t21 to i32 %t23 = icmp ne i32 %t22, 0 %t24 = zext i1 %t23 to i32 store i32 %t24, ptr %t10 br label %scend3 scend3: %t25 = load i32, ptr %t10 %t26 = icmp ne i32 %t25, 0 %t27 = zext i1 %t26 to i32 store i32 %t27, ptr %t9 br i1 %t26, label %sc4, label %scend5 sc4: %t28 = load ptr, ptr %t0 %t29 = getelementptr inbounds %Cmp_Node, ptr %t28, i32 0, i32 4 %t30 = load ptr, ptr %t29 %t31 = getelementptr inbounds %Cmp_Node, ptr %t30, i32 0, i32 0 %t32 = load i32, ptr %t31 %t33 = icmp eq i32 %t32, 30 %t34 = zext i1 %t33 to i32 %t35 = icmp ne i32 %t34, 0 %t36 = zext i1 %t35 to i32 store i32 %t36, ptr %t9 br label %scend5 scend5: %t37 = load i32, ptr %t9 %t38 = icmp ne i32 %t37, 0 %t39 = zext i1 %t38 to i32 store i32 %t39, ptr %t1 br label %scend1 scend1: %t40 = load i32, ptr %t1 %t41 = icmp ne i32 %t40, 0 br i1 %t41, label %then6, label %ifend8 then6: store ptr @.str3408, ptr %retval br label %ret ifend8: %t43 = load ptr, ptr %t0 %t44 = getelementptr inbounds %Cmp_Node, ptr %t43, i32 0, i32 0 %t45 = load i32, ptr %t44 %t46 = icmp eq i32 %t45, 40 %t47 = zext i1 %t46 to i32 %t48 = icmp ne i32 %t47, 0 %t49 = zext i1 %t48 to i32 store i32 %t49, ptr %t42 br i1 %t48, label %scend10, label %sc9 sc9: %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 %t58 = zext i1 %t57 to i32 store i32 %t58, ptr %t51 br i1 %t57, label %sc11, label %scend12 sc11: %t59 = load ptr, ptr %t0 %t60 = getelementptr inbounds %Cmp_Node, ptr %t59, i32 0, i32 4 %t61 = load ptr, ptr %t60 %t62 = icmp ne ptr %t61, null %t63 = zext i1 %t62 to i32 %t64 = icmp ne i32 %t63, 0 %t65 = zext i1 %t64 to i32 store i32 %t65, ptr %t51 br label %scend12 scend12: %t66 = load i32, ptr %t51 %t67 = icmp ne i32 %t66, 0 %t68 = zext i1 %t67 to i32 store i32 %t68, ptr %t50 br i1 %t67, label %sc13, label %scend14 sc13: %t69 = load ptr, ptr %t0 %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, 40 %t75 = zext i1 %t74 to i32 %t76 = icmp ne i32 %t75, 0 %t77 = zext i1 %t76 to i32 store i32 %t77, ptr %t50 br label %scend14 scend14: %t78 = load i32, ptr %t50 %t79 = icmp ne i32 %t78, 0 %t80 = zext i1 %t79 to i32 store i32 %t80, ptr %t42 br label %scend10 scend10: %t81 = load i32, ptr %t42 %t82 = icmp ne i32 %t81, 0 br i1 %t82, label %then15, label %ifend17 then15: store ptr @.str3409, ptr %retval br label %ret ifend17: %t83 = load ptr, ptr %t0 %t84 = call i32 @fn_i18n_is_key(ptr %t83) %t85 = icmp ne i32 %t84, 0 br i1 %t85, label %then18, label %ifend20 then18: store ptr @.str3410, ptr %retval br label %ret ifend20: %t86 = load ptr, ptr %t0 %t87 = getelementptr inbounds %Cmp_Node, ptr %t86, i32 0, i32 0 %t88 = load i32, ptr %t87 %t89 = icmp eq i32 %t88, 31 %t90 = zext i1 %t89 to i32 %t91 = icmp ne i32 %t90, 0 br i1 %t91, label %then21, label %ifend23 then21: store ptr @.str3411, ptr %retval br label %ret ifend23: %t92 = load ptr, ptr %t0 %t93 = getelementptr inbounds %Cmp_Node, ptr %t92, i32 0, i32 0 %t94 = load i32, ptr %t93 %t95 = icmp eq i32 %t94, 32 %t96 = zext i1 %t95 to i32 %t97 = icmp ne i32 %t96, 0 br i1 %t97, label %then24, label %ifend26 then24: store ptr @.str3412, ptr %retval br label %ret ifend26: %t98 = load ptr, ptr %t0 %t99 = getelementptr inbounds %Cmp_Node, ptr %t98, i32 0, i32 0 %t100 = load i32, ptr %t99 %t101 = icmp eq i32 %t100, 33 %t102 = zext i1 %t101 to i32 %t103 = icmp ne i32 %t102, 0 br i1 %t103, label %then27, label %ifend29 then27: %t104 = load ptr, ptr %t0 %t105 = getelementptr inbounds %Cmp_Node, ptr %t104, i32 0, i32 1 %t106 = load ptr, ptr %t105 store i32 2703, ptr @lp_site %t107 = call ptr @lp_str_concat(ptr @.str3413, ptr %t106) store i32 0, ptr @lp_site store ptr %t107, ptr %retval br label %ret ifend29: %t108 = load ptr, ptr %t0 %t109 = getelementptr inbounds %Cmp_Node, ptr %t108, i32 0, i32 0 %t110 = load i32, ptr %t109 %t111 = icmp eq i32 %t110, 41 %t112 = zext i1 %t111 to i32 %t113 = icmp ne i32 %t112, 0 br i1 %t113, label %then30, label %ifend32 then30: store ptr @.str3415, ptr %retval br label %ret ifend32: %t114 = load ptr, ptr %t0 %t115 = getelementptr inbounds %Cmp_Node, ptr %t114, i32 0, i32 0 %t116 = load i32, ptr %t115 %t117 = icmp eq i32 %t116, 54 %t118 = zext i1 %t117 to i32 %t119 = icmp ne i32 %t118, 0 br i1 %t119, label %then33, label %ifend35 then33: store ptr @.str3416, ptr %retval br label %ret ifend35: %t120 = load ptr, ptr %t0 %t121 = getelementptr inbounds %Cmp_Node, ptr %t120, i32 0, i32 0 %t122 = load i32, ptr %t121 %t123 = icmp eq i32 %t122, 55 %t124 = zext i1 %t123 to i32 %t125 = icmp ne i32 %t124, 0 br i1 %t125, label %then36, label %ifend38 then36: %t126 = load ptr, ptr %t0 %t127 = getelementptr inbounds %Cmp_Node, ptr %t126, i32 0, i32 1 %t128 = load ptr, ptr %t127 store i32 2704, ptr @lp_site %t129 = call ptr @lp_str_concat(ptr @.str3417, ptr %t128) store i32 0, ptr @lp_site store ptr %t129, ptr %retval br label %ret ifend38: store ptr @.str3418, ptr %retval br label %ret ret: %t130 = load ptr, ptr %retval ret ptr %t130 } define void @fn_pmk_want(ptr %arg_e, ptr %arg_f, ptr %arg_what) { entry: %t0 = alloca ptr %t1 = alloca ptr %t2 = alloca ptr store ptr %arg_e, ptr %t0 store ptr %arg_f, ptr %t1 store ptr %arg_what, ptr %t2 %t3 = load ptr, ptr %t0 %t4 = load ptr, ptr %t1 %t5 = getelementptr inbounds %Cmp_Node, ptr %t4, i32 0, i32 1 %t6 = load ptr, ptr %t5 store i32 2705, ptr @lp_site %t7 = call ptr @lp_str_concat(ptr %t6, ptr @.str3419) store i32 0, ptr @lp_site %t8 = load ptr, ptr %t2 store i32 2706, ptr @lp_site %t9 = call ptr @lp_str_concat(ptr %t7, ptr %t8) store i32 0, ptr @lp_site call void @lp_free(ptr %t7) store i32 2707, ptr @lp_site %t10 = call ptr @lp_str_concat(ptr %t9, ptr @.str3421) store i32 0, ptr @lp_site call void @lp_free(ptr %t9) %t11 = load ptr, ptr %t0 %t12 = call ptr @fn_pmk_desc(ptr %t11) store i32 2708, ptr @lp_site %t13 = call ptr @lp_str_concat(ptr %t10, ptr %t12) store i32 0, ptr @lp_site call void @lp_free(ptr %t10) call void @fn_pmk_err_at(ptr %t3, ptr %t13) br label %ret ret: ret void } define ptr @fn_pmk_num(ptr %arg_e) { entry: %retval = alloca ptr %t0 = alloca ptr %t11 = alloca i32 %t31 = alloca i32 %t32 = alloca i32 %t62 = alloca ptr 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, 30 %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 2 %t9 = load i32, ptr %t8 %t10 = call ptr @fn_itoa(i32 %t9) store ptr %t10, ptr %retval br label %ret ifend2: %t12 = load ptr, ptr %t0 %t13 = getelementptr inbounds %Cmp_Node, ptr %t12, i32 0, i32 0 %t14 = load i32, ptr %t13 %t15 = icmp eq i32 %t14, 40 %t16 = zext i1 %t15 to i32 %t17 = icmp ne i32 %t16, 0 %t18 = zext i1 %t17 to i32 store i32 %t18, ptr %t11 br i1 %t17, label %sc3, label %scend4 sc3: %t19 = load ptr, ptr %t0 %t20 = getelementptr inbounds %Cmp_Node, ptr %t19, i32 0, i32 1 %t21 = load ptr, ptr %t20 %t22 = icmp ne ptr %t21, null %t23 = zext i1 %t22 to i32 %t24 = icmp ne i32 %t23, 0 %t25 = zext i1 %t24 to i32 store i32 %t25, ptr %t11 br label %scend4 scend4: %t26 = load i32, ptr %t11 %t27 = icmp ne i32 %t26, 0 br i1 %t27, label %then5, label %ifend7 then5: %t28 = load ptr, ptr %t0 %t29 = getelementptr inbounds %Cmp_Node, ptr %t28, i32 0, i32 1 %t30 = load ptr, ptr %t29 store ptr %t30, ptr %retval br label %ret ifend7: %t33 = load ptr, ptr %t0 %t34 = getelementptr inbounds %Cmp_Node, ptr %t33, i32 0, i32 0 %t35 = load i32, ptr %t34 %t36 = icmp eq i32 %t35, 38 %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 %sc8, label %scend9 sc8: %t40 = load ptr, ptr %t0 %t41 = getelementptr inbounds %Cmp_Node, ptr %t40, i32 0, i32 1 %t42 = load ptr, ptr %t41 %t43 = call i32 @lp_str_eq(ptr %t42, ptr @.str3422) %t44 = icmp ne i32 %t43, 0 %t45 = zext i1 %t44 to i32 store i32 %t45, ptr %t32 br label %scend9 scend9: %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 %sc10, label %scend11 sc10: %t49 = load ptr, ptr %t0 %t50 = getelementptr inbounds %Cmp_Node, ptr %t49, i32 0, i32 4 %t51 = load ptr, ptr %t50 %t52 = icmp ne ptr %t51, null %t53 = zext i1 %t52 to i32 %t54 = icmp ne i32 %t53, 0 %t55 = zext i1 %t54 to i32 store i32 %t55, ptr %t31 br label %scend11 scend11: %t56 = load i32, ptr %t31 %t57 = icmp ne i32 %t56, 0 br i1 %t57, label %then12, label %ifend14 then12: %t58 = load ptr, ptr %t0 %t59 = getelementptr inbounds %Cmp_Node, ptr %t58, i32 0, i32 4 %t60 = load ptr, ptr %t59 %t61 = call ptr @fn_pmk_num(ptr %t60) store ptr %t61, ptr %t62 %t63 = load ptr, ptr %t62 %t64 = icmp eq ptr %t63, null %t65 = zext i1 %t64 to i32 %t66 = icmp ne i32 %t65, 0 br i1 %t66, label %then15, label %ifend17 then15: store ptr null, ptr %retval br label %ret ifend17: %t67 = load ptr, ptr %t62 %t68 = getelementptr inbounds i8, ptr %t67, i32 0 %t69 = load i8, ptr %t68 %t70 = zext i8 %t69 to i32 %t71 = icmp eq i32 %t70, 45 %t72 = zext i1 %t71 to i32 %t73 = icmp ne i32 %t72, 0 br i1 %t73, label %then18, label %ifend20 then18: %t74 = load ptr, ptr %t62 %t75 = load ptr, ptr %t62 %t76 = call i64 @strlen(ptr %t75) %t77 = trunc i64 %t76 to i32 store i32 2709, ptr @lp_site %t78 = call ptr @lp_str_slice(ptr %t74, i32 1, i32 %t77) store i32 0, ptr @lp_site store ptr %t78, ptr %retval br label %ret ifend20: %t79 = load ptr, ptr %t62 store i32 2710, ptr @lp_site %t80 = call ptr @lp_str_concat(ptr @.str3424, ptr %t79) store i32 0, ptr @lp_site store ptr %t80, ptr %retval br label %ret ifend14: store ptr null, ptr %retval br label %ret ret: %t81 = load ptr, ptr %retval ret ptr %t81 } define void @fn_pmk_value(ptr %arg_e, ptr %arg_f, ptr %arg_ty, ptr %arg_at) { entry: %t0 = alloca ptr %t1 = alloca ptr %t2 = alloca ptr %t3 = alloca ptr %t6 = alloca i32 %t34 = alloca i32 %t77 = alloca ptr %t78 = alloca i32 %t132 = alloca i32 %t155 = alloca i32 %t175 = alloca ptr %t176 = alloca ptr %t177 = alloca i32 %t196 = alloca i32 %t219 = alloca i32 %t296 = alloca i32 %t297 = alloca i32 store ptr %arg_e, ptr %t0 store ptr %arg_f, ptr %t1 store ptr %arg_ty, ptr %t2 store ptr %arg_at, ptr %t3 %t4 = load ptr, ptr %t2 %t5 = call i32 @fn_pm_kind(ptr %t4) store i32 %t5, ptr %t6 %t7 = load i32, ptr %t6 %t8 = icmp eq i32 %t7, 5 %t9 = zext i1 %t8 to i32 %t10 = icmp ne i32 %t9, 0 br i1 %t10, label %then0, label %ifend2 then0: %t11 = load ptr, ptr %t0 %t12 = getelementptr inbounds %Cmp_Node, ptr %t11, i32 0, i32 0 %t13 = load i32, ptr %t12 %t14 = icmp ne i32 %t13, 41 %t15 = zext i1 %t14 to i32 %t16 = icmp ne i32 %t15, 0 br i1 %t16, label %then3, label %ifend5 then3: %t17 = load ptr, ptr %t0 %t18 = load ptr, ptr %t1 call void @fn_pmk_want(ptr %t17, ptr %t18, ptr @.str3425) br label %ret ifend5: %t19 = load ptr, ptr %t0 %t20 = load ptr, ptr %t2 %t21 = call ptr @fn_find_comp(ptr %t20) call void @fn_pmk_rec(ptr %t19, ptr %t21, i32 0) br label %ret ifend2: %t22 = load i32, ptr %t6 %t23 = icmp eq i32 %t22, 6 %t24 = zext i1 %t23 to i32 %t25 = icmp ne i32 %t24, 0 br i1 %t25, label %then6, label %ifend8 then6: %t26 = load ptr, ptr %t0 %t27 = getelementptr inbounds %Cmp_Node, ptr %t26, i32 0, i32 0 %t28 = load i32, ptr %t27 %t29 = icmp ne i32 %t28, 54 %t30 = zext i1 %t29 to i32 %t31 = icmp ne i32 %t30, 0 br i1 %t31, label %then9, label %ifend11 then9: %t32 = load ptr, ptr %t0 %t33 = load ptr, ptr %t1 call void @fn_pmk_want(ptr %t32, ptr %t33, ptr @.str3426) br label %ret ifend11: store i32 0, ptr %t34 br label %wcond12 wcond12: %t35 = load i32, ptr %t34 %t36 = load ptr, ptr %t0 %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 %wbody13, label %wend14 wbody13: %t44 = load ptr, ptr %t0 %t45 = getelementptr inbounds %Cmp_Node, ptr %t44, i32 0, i32 7 %t46 = load ptr, ptr %t45 %t47 = load i32, ptr %t34 %t48 = getelementptr inbounds %LSlice, ptr %t46, i32 0, i32 0 %t49 = load ptr, ptr %t48 %t50 = getelementptr inbounds %LSlice, ptr %t46, i32 0, i32 1 %t51 = load i32, ptr %t50 %t52 = icmp ult i32 %t47, %t51 br i1 %t52, label %ixok15, label %ixbad16 ixbad16: store i32 2711, ptr @lp_site %t53 = call ptr @lp_win_stdio(i32 2) store i32 0, ptr @lp_site call i32 (ptr, ptr, ...) @fprintf(ptr %t53, ptr @.fmt_bounds, ptr @.str3427, i32 %t47, i32 %t51) call void @exit(i32 1) unreachable ixok15: %t54 = getelementptr inbounds ptr, ptr %t49, i32 %t47 %t55 = load ptr, ptr %t54 %t56 = load ptr, ptr %t1 %t57 = load ptr, ptr %t2 %t58 = call ptr @fn_slice_elem(ptr %t57) %t59 = load ptr, ptr %t3 call void @fn_pmk_value(ptr %t55, ptr %t56, ptr %t58, ptr %t59) %t60 = load i32, ptr %t34 %t61 = add i32 %t60, 1 store i32 %t61, ptr %t34 br label %wcond12 wend14: br label %ret ifend8: %t62 = load i32, ptr %t6 %t63 = icmp eq i32 %t62, 7 %t64 = zext i1 %t63 to i32 %t65 = icmp ne i32 %t64, 0 br i1 %t65, label %then17, label %ifend19 then17: %t66 = load ptr, ptr %t0 %t67 = getelementptr inbounds %Cmp_Node, ptr %t66, i32 0, i32 0 %t68 = load i32, ptr %t67 %t69 = icmp ne i32 %t68, 55 %t70 = zext i1 %t69 to i32 %t71 = icmp ne i32 %t70, 0 br i1 %t71, label %then20, label %ifend22 then20: %t72 = load ptr, ptr %t0 %t73 = load ptr, ptr %t1 call void @fn_pmk_want(ptr %t72, ptr %t73, ptr @.str3429) br label %ret ifend22: %t74 = load ptr, ptr %t2 %t75 = load ptr, ptr @g_g_pmk_mod %t76 = call ptr @fn_pm_fn_cands(ptr %t74, ptr %t75) store ptr %t76, ptr %t77 store i32 0, ptr %t78 br label %wcond23 wcond23: %t79 = load i32, ptr %t78 %t80 = load ptr, ptr %t77 %t81 = getelementptr inbounds %LSlice, ptr %t80, i32 0, i32 1 %t82 = load i32, ptr %t81 %t83 = icmp slt i32 %t79, %t82 %t84 = zext i1 %t83 to i32 %t85 = icmp ne i32 %t84, 0 br i1 %t85, label %wbody24, label %wend25 wbody24: %t86 = load ptr, ptr %t77 %t87 = load i32, ptr %t78 %t88 = getelementptr inbounds %LSlice, ptr %t86, i32 0, i32 0 %t89 = load ptr, ptr %t88 %t90 = getelementptr inbounds %LSlice, ptr %t86, i32 0, i32 1 %t91 = load i32, ptr %t90 %t92 = icmp ult i32 %t87, %t91 br i1 %t92, label %ixok26, label %ixbad27 ixbad27: store i32 2712, ptr @lp_site %t93 = call ptr @lp_win_stdio(i32 2) store i32 0, ptr @lp_site call i32 (ptr, ptr, ...) @fprintf(ptr %t93, ptr @.fmt_bounds, ptr @.str3430, i32 %t87, i32 %t91) call void @exit(i32 1) unreachable ixok26: %t94 = getelementptr inbounds ptr, ptr %t89, i32 %t87 %t95 = load ptr, ptr %t94 %t96 = getelementptr inbounds %Cmp_Node, ptr %t95, i32 0, i32 1 %t97 = load ptr, ptr %t96 %t98 = call ptr @fn_vis_plain(ptr %t97) %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 %t98, ptr %t101) %t103 = icmp ne i32 %t102, 0 br i1 %t103, label %then28, label %ifend30 then28: br label %ret ifend30: %t104 = load i32, ptr %t78 %t105 = add i32 %t104, 1 store i32 %t105, ptr %t78 br label %wcond23 wend25: %t106 = load ptr, ptr %t0 %t107 = load ptr, ptr %t0 %t108 = getelementptr inbounds %Cmp_Node, ptr %t107, i32 0, i32 1 %t109 = load ptr, ptr %t108 store i32 2713, ptr @lp_site %t110 = call ptr @lp_str_concat(ptr @.str3431, ptr %t109) store i32 0, ptr @lp_site store i32 2714, ptr @lp_site %t111 = call ptr @lp_str_concat(ptr %t110, ptr @.str3432) store i32 0, ptr @lp_site call void @lp_free(ptr %t110) %t112 = load ptr, ptr %t2 store i32 2715, ptr @lp_site %t113 = call ptr @lp_str_concat(ptr %t111, ptr %t112) store i32 0, ptr @lp_site call void @lp_free(ptr %t111) store i32 2716, ptr @lp_site %t114 = call ptr @lp_str_concat(ptr %t113, ptr @.str3433) store i32 0, ptr @lp_site call void @lp_free(ptr %t113) %t115 = load ptr, ptr %t1 %t116 = getelementptr inbounds %Cmp_Node, ptr %t115, i32 0, i32 1 %t117 = load ptr, ptr %t116 store i32 2717, ptr @lp_site %t118 = call ptr @lp_str_concat(ptr %t114, ptr %t117) store i32 0, ptr @lp_site call void @lp_free(ptr %t114) store i32 2718, ptr @lp_site %t119 = call ptr @lp_str_concat(ptr %t118, ptr @.str3434) store i32 0, ptr @lp_site call void @lp_free(ptr %t118) call void @fn_pmk_err_at(ptr %t106, ptr %t119) br label %ret ifend19: %t120 = load i32, ptr %t6 %t121 = icmp eq i32 %t120, 3 %t122 = zext i1 %t121 to i32 %t123 = icmp ne i32 %t122, 0 br i1 %t123, label %then31, label %ifend33 then31: %t124 = load ptr, ptr %t0 %t125 = getelementptr inbounds %Cmp_Node, ptr %t124, i32 0, i32 0 %t126 = load i32, ptr %t125 %t127 = icmp ne i32 %t126, 32 %t128 = zext i1 %t127 to i32 %t129 = icmp ne i32 %t128, 0 br i1 %t129, label %then34, label %ifend36 then34: %t130 = load ptr, ptr %t0 %t131 = load ptr, ptr %t1 call void @fn_pmk_want(ptr %t130, ptr %t131, ptr @.str3435) br label %ifend36 ifend36: br label %ret ifend33: %t133 = load i32, ptr %t6 %t134 = icmp eq i32 %t133, 4 %t135 = zext i1 %t134 to i32 %t136 = icmp ne i32 %t135, 0 %t137 = zext i1 %t136 to i32 store i32 %t137, ptr %t132 br i1 %t136, label %sc37, label %scend38 sc37: %t138 = load ptr, ptr %t2 %t139 = call i32 @fn_i18n_is_key_ty(ptr %t138) %t140 = icmp ne i32 %t139, 0 %t141 = zext i1 %t140 to i32 store i32 %t141, ptr %t132 br label %scend38 scend38: %t142 = load i32, ptr %t132 %t143 = icmp ne i32 %t142, 0 br i1 %t143, label %then39, label %ifend41 then39: %t144 = load ptr, ptr %t0 %t145 = call i32 @fn_i18n_is_key(ptr %t144) %t146 = icmp eq i32 %t145, 0 %t147 = zext i1 %t146 to i32 %t148 = icmp ne i32 %t147, 0 br i1 %t148, label %then42, label %ifend44 then42: %t149 = load ptr, ptr %t0 %t150 = load ptr, ptr %t1 call void @fn_pmk_want(ptr %t149, ptr %t150, ptr @.str3436) br label %ifend44 ifend44: br label %ret ifend41: %t151 = load i32, ptr %t6 %t152 = icmp eq i32 %t151, 4 %t153 = zext i1 %t152 to i32 %t154 = icmp ne i32 %t153, 0 br i1 %t154, label %then45, label %ifend47 then45: %t156 = load ptr, ptr %t0 %t157 = getelementptr inbounds %Cmp_Node, ptr %t156, i32 0, i32 0 %t158 = load i32, ptr %t157 %t159 = icmp ne i32 %t158, 31 %t160 = zext i1 %t159 to i32 %t161 = icmp ne i32 %t160, 0 %t162 = zext i1 %t161 to i32 store i32 %t162, ptr %t155 br i1 %t161, label %scend49, label %sc48 sc48: %t163 = load ptr, ptr %t0 %t164 = call i32 @fn_i18n_is_key(ptr %t163) %t165 = icmp ne i32 %t164, 0 %t166 = zext i1 %t165 to i32 store i32 %t166, ptr %t155 br label %scend49 scend49: %t167 = load i32, ptr %t155 %t168 = icmp ne i32 %t167, 0 br i1 %t168, label %then50, label %ifend52 then50: %t169 = load ptr, ptr %t0 %t170 = load ptr, ptr %t1 call void @fn_pmk_want(ptr %t169, ptr %t170, ptr @.str3437) br label %ret ifend52: %t171 = load ptr, ptr %t0 %t172 = load ptr, ptr %t1 call void @fn_pmk_attrs_str(ptr %t171, ptr %t172) br label %ret ifend47: %t173 = load ptr, ptr %t0 %t174 = call ptr @fn_pmk_num(ptr %t173) store ptr %t174, ptr %t175 store ptr null, ptr %t176 %t178 = load ptr, ptr %t175 %t179 = icmp eq ptr %t178, null %t180 = zext i1 %t179 to i32 %t181 = icmp ne i32 %t180, 0 %t182 = zext i1 %t181 to i32 store i32 %t182, ptr %t177 br i1 %t181, label %sc53, label %scend54 sc53: %t183 = load ptr, ptr %t0 %t184 = getelementptr inbounds %Cmp_Node, ptr %t183, i32 0, i32 0 %t185 = load i32, ptr %t184 %t186 = icmp eq i32 %t185, 33 %t187 = zext i1 %t186 to i32 %t188 = icmp ne i32 %t187, 0 %t189 = zext i1 %t188 to i32 store i32 %t189, ptr %t177 br label %scend54 scend54: %t190 = load i32, ptr %t177 %t191 = icmp ne i32 %t190, 0 br i1 %t191, label %then55, label %ifend57 then55: %t192 = load ptr, ptr %t0 %t193 = getelementptr inbounds %Cmp_Node, ptr %t192, i32 0, i32 1 %t194 = load ptr, ptr %t193 %t195 = call i32 @fn_pmc_lookup(ptr %t194) store i32 %t195, ptr %t196 %t197 = load i32, ptr %t196 %t198 = icmp slt i32 %t197, 0 %t199 = zext i1 %t198 to i32 %t200 = icmp ne i32 %t199, 0 br i1 %t200, label %then58, label %ifend60 then58: %t201 = load ptr, ptr %t0 %t202 = getelementptr inbounds %Cmp_Node, ptr %t201, i32 0, i32 1 %t203 = load ptr, ptr %t202 %t204 = call ptr @fn_pmc_find(ptr %t203) %t205 = icmp ne ptr %t204, null %t206 = zext i1 %t205 to i32 %t207 = icmp ne i32 %t206, 0 br i1 %t207, label %then61, label %else62 then61: %t208 = load ptr, ptr %t0 %t209 = load ptr, ptr %t0 %t210 = getelementptr inbounds %Cmp_Node, ptr %t209, i32 0, i32 1 %t211 = load ptr, ptr %t210 store i32 2719, ptr @lp_site %t212 = call ptr @lp_str_concat(ptr @.str3438, ptr %t211) store i32 0, ptr @lp_site store i32 2720, ptr @lp_site %t213 = call ptr @lp_str_concat(ptr %t212, ptr @.str3439) store i32 0, ptr @lp_site call void @lp_free(ptr %t212) call void @fn_pmk_err_at(ptr %t208, ptr %t213) br label %ifend63 else62: %t214 = load ptr, ptr %t0 %t215 = load ptr, ptr %t0 %t216 = getelementptr inbounds %Cmp_Node, ptr %t215, i32 0, i32 1 %t217 = load ptr, ptr %t216 store i32 2721, ptr @lp_site %t218 = call ptr @lp_str_concat(ptr @.str3440, ptr %t217) store i32 0, ptr @lp_site call void @fn_pmk_err_at(ptr %t214, ptr %t218) br label %ifend63 ifend63: br label %ret ifend60: %t220 = load i32, ptr %t6 %t221 = icmp eq i32 %t220, 1 %t222 = zext i1 %t221 to i32 %t223 = icmp ne i32 %t222, 0 %t224 = zext i1 %t223 to i32 store i32 %t224, ptr %t219 br i1 %t223, label %sc64, label %scend65 sc64: %t225 = load ptr, ptr @g_g_pmc_isf %t226 = load i32, ptr %t196 %t227 = getelementptr inbounds %LSlice, ptr %t225, i32 0, i32 0 %t228 = load ptr, ptr %t227 %t229 = getelementptr inbounds %LSlice, ptr %t225, i32 0, i32 1 %t230 = load i32, ptr %t229 %t231 = icmp ult i32 %t226, %t230 br i1 %t231, label %ixok66, label %ixbad67 ixbad67: store i32 2722, ptr @lp_site %t232 = call ptr @lp_win_stdio(i32 2) store i32 0, ptr @lp_site call i32 (ptr, ptr, ...) @fprintf(ptr %t232, ptr @.fmt_bounds, ptr @.str3441, i32 %t226, i32 %t230) call void @exit(i32 1) unreachable ixok66: %t233 = getelementptr inbounds i32, ptr %t228, i32 %t226 %t234 = load i32, ptr %t233 %t235 = icmp ne i32 %t234, 0 %t236 = zext i1 %t235 to i32 store i32 %t236, ptr %t219 br label %scend65 scend65: %t237 = load i32, ptr %t219 %t238 = icmp ne i32 %t237, 0 br i1 %t238, label %then68, label %ifend70 then68: %t239 = load ptr, ptr %t0 %t240 = load ptr, ptr %t0 %t241 = getelementptr inbounds %Cmp_Node, ptr %t240, i32 0, i32 1 %t242 = load ptr, ptr %t241 store i32 2723, ptr @lp_site %t243 = call ptr @lp_str_concat(ptr %t242, ptr @.str3442) store i32 0, ptr @lp_site %t244 = load ptr, ptr %t1 %t245 = getelementptr inbounds %Cmp_Node, ptr %t244, i32 0, i32 1 %t246 = load ptr, ptr %t245 store i32 2724, ptr @lp_site %t247 = call ptr @lp_str_concat(ptr %t243, ptr %t246) store i32 0, ptr @lp_site call void @lp_free(ptr %t243) store i32 2725, ptr @lp_site %t248 = call ptr @lp_str_concat(ptr %t247, ptr @.str3443) store i32 0, ptr @lp_site call void @lp_free(ptr %t247) call void @fn_pmk_err_at(ptr %t239, ptr %t248) br label %ret ifend70: %t249 = load ptr, ptr %t0 %t250 = getelementptr inbounds %Cmp_Node, ptr %t249, i32 0, i32 1 %t251 = load ptr, ptr %t250 store ptr %t251, ptr %t176 %t252 = load ptr, ptr @g_g_pmc_isf %t253 = load i32, ptr %t196 %t254 = getelementptr inbounds %LSlice, ptr %t252, i32 0, i32 0 %t255 = load ptr, ptr %t254 %t256 = getelementptr inbounds %LSlice, ptr %t252, i32 0, i32 1 %t257 = load i32, ptr %t256 %t258 = icmp ult i32 %t253, %t257 br i1 %t258, label %ixok71, label %ixbad72 ixbad72: store i32 2726, ptr @lp_site %t259 = call ptr @lp_win_stdio(i32 2) store i32 0, ptr @lp_site call i32 (ptr, ptr, ...) @fprintf(ptr %t259, ptr @.fmt_bounds, ptr @.str3444, i32 %t253, i32 %t257) call void @exit(i32 1) unreachable ixok71: %t260 = getelementptr inbounds i32, ptr %t255, i32 %t253 %t261 = load i32, ptr %t260 %t262 = icmp ne i32 %t261, 0 br i1 %t262, label %then73, label %else74 then73: %t263 = load ptr, ptr @g_g_pmc_ftext %t264 = load i32, ptr %t196 %t265 = getelementptr inbounds %LSlice, ptr %t263, i32 0, i32 0 %t266 = load ptr, ptr %t265 %t267 = getelementptr inbounds %LSlice, ptr %t263, i32 0, i32 1 %t268 = load i32, ptr %t267 %t269 = icmp ult i32 %t264, %t268 br i1 %t269, label %ixok76, label %ixbad77 ixbad77: store i32 2727, ptr @lp_site %t270 = call ptr @lp_win_stdio(i32 2) store i32 0, ptr @lp_site call i32 (ptr, ptr, ...) @fprintf(ptr %t270, ptr @.fmt_bounds, ptr @.str3445, i32 %t264, i32 %t268) call void @exit(i32 1) unreachable ixok76: %t271 = getelementptr inbounds ptr, ptr %t266, i32 %t264 %t272 = load ptr, ptr %t271 store ptr %t272, ptr %t175 br label %ifend75 else74: %t273 = load ptr, ptr @g_g_pmc_iv %t274 = load i32, ptr %t196 %t275 = getelementptr inbounds %LSlice, ptr %t273, i32 0, i32 0 %t276 = load ptr, ptr %t275 %t277 = getelementptr inbounds %LSlice, ptr %t273, i32 0, i32 1 %t278 = load i32, ptr %t277 %t279 = icmp ult i32 %t274, %t278 br i1 %t279, label %ixok78, label %ixbad79 ixbad79: store i32 2728, ptr @lp_site %t280 = call ptr @lp_win_stdio(i32 2) store i32 0, ptr @lp_site call i32 (ptr, ptr, ...) @fprintf(ptr %t280, ptr @.fmt_bounds, ptr @.str3446, i32 %t274, i32 %t278) call void @exit(i32 1) unreachable ixok78: %t281 = getelementptr inbounds i32, ptr %t276, i32 %t274 %t282 = load i32, ptr %t281 %t283 = call ptr @fn_itoa(i32 %t282) store ptr %t283, ptr %t175 br label %ifend75 ifend75: br label %ifend57 ifend57: %t284 = load ptr, ptr %t175 %t285 = icmp eq ptr %t284, null %t286 = zext i1 %t285 to i32 %t287 = icmp ne i32 %t286, 0 br i1 %t287, label %then80, label %ifend82 then80: %t288 = load i32, ptr %t6 %t289 = icmp eq i32 %t288, 1 %t290 = zext i1 %t289 to i32 %t291 = icmp ne i32 %t290, 0 br i1 %t291, label %then83, label %else84 then83: %t292 = load ptr, ptr %t0 %t293 = load ptr, ptr %t1 call void @fn_pmk_want(ptr %t292, ptr %t293, ptr @.str3447) br label %ifend85 else84: %t294 = load ptr, ptr %t0 %t295 = load ptr, ptr %t1 call void @fn_pmk_want(ptr %t294, ptr %t295, ptr @.str3448) br label %ifend85 ifend85: br label %ret ifend82: %t298 = load i32, ptr %t6 %t299 = icmp eq i32 %t298, 1 %t300 = zext i1 %t299 to i32 %t301 = icmp ne i32 %t300, 0 %t302 = zext i1 %t301 to i32 store i32 %t302, ptr %t297 br i1 %t301, label %sc86, label %scend87 sc86: %t303 = load ptr, ptr %t0 %t304 = getelementptr inbounds %Cmp_Node, ptr %t303, i32 0, i32 0 %t305 = load i32, ptr %t304 %t306 = icmp ne 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 %t297 br label %scend87 scend87: %t310 = load i32, ptr %t297 %t311 = icmp ne i32 %t310, 0 %t312 = zext i1 %t311 to i32 store i32 %t312, ptr %t296 br i1 %t311, label %sc88, label %scend89 sc88: %t313 = load ptr, ptr %t175 %t314 = call i32 @fn_pmk_has_dot(ptr %t313) %t315 = icmp ne i32 %t314, 0 %t316 = zext i1 %t315 to i32 store i32 %t316, ptr %t296 br label %scend89 scend89: %t317 = load i32, ptr %t296 %t318 = icmp ne i32 %t317, 0 br i1 %t318, label %then90, label %ifend92 then90: %t319 = load ptr, ptr %t0 %t320 = load ptr, ptr %t1 call void @fn_pmk_want(ptr %t319, ptr %t320, ptr @.str3449) br label %ret ifend92: %t321 = load ptr, ptr %t0 %t322 = load ptr, ptr %t1 %t323 = load ptr, ptr %t175 %t324 = load ptr, ptr %t176 call void @fn_pmk_attrs_num(ptr %t321, ptr %t322, ptr %t323, ptr %t324) br label %ret ret: ret void } define i32 @fn_pmk_has_dot(ptr %arg_t) { entry: %retval = alloca i32 %t0 = alloca ptr %t1 = alloca i32 %t9 = alloca i32 %t10 = alloca i32 store ptr %arg_t, ptr %t0 store i32 0, ptr %t1 br label %wcond0 wcond0: %t2 = load i32, ptr %t1 %t3 = load ptr, ptr %t0 %t4 = call i64 @strlen(ptr %t3) %t5 = trunc i64 %t4 to i32 %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: %t11 = load ptr, ptr %t0 %t12 = load i32, ptr %t1 %t13 = getelementptr inbounds i8, ptr %t11, i32 %t12 %t14 = load i8, ptr %t13 %t15 = zext i8 %t14 to i32 %t16 = icmp eq i32 %t15, 46 %t17 = zext i1 %t16 to i32 %t18 = icmp ne i32 %t17, 0 %t19 = zext i1 %t18 to i32 store i32 %t19, ptr %t10 br i1 %t18, label %scend4, label %sc3 sc3: %t20 = load ptr, ptr %t0 %t21 = load i32, ptr %t1 %t22 = getelementptr inbounds i8, ptr %t20, i32 %t21 %t23 = load i8, ptr %t22 %t24 = zext i8 %t23 to i32 %t25 = icmp eq i32 %t24, 101 %t26 = zext i1 %t25 to i32 %t27 = icmp ne i32 %t26, 0 %t28 = zext i1 %t27 to i32 store i32 %t28, ptr %t10 br label %scend4 scend4: %t29 = load i32, ptr %t10 %t30 = icmp ne i32 %t29, 0 %t31 = zext i1 %t30 to i32 store i32 %t31, ptr %t9 br i1 %t30, label %scend6, label %sc5 sc5: %t32 = load ptr, ptr %t0 %t33 = load i32, ptr %t1 %t34 = getelementptr inbounds i8, ptr %t32, i32 %t33 %t35 = load i8, ptr %t34 %t36 = zext i8 %t35 to i32 %t37 = icmp eq i32 %t36, 69 %t38 = zext i1 %t37 to i32 %t39 = icmp ne i32 %t38, 0 %t40 = zext i1 %t39 to i32 store i32 %t40, ptr %t9 br label %scend6 scend6: %t41 = load i32, ptr %t9 %t42 = icmp ne i32 %t41, 0 br i1 %t42, label %then7, label %ifend9 then7: store i32 1, ptr %retval br label %ret ifend9: %t43 = load i32, ptr %t1 %t44 = add i32 %t43, 1 store i32 %t44, ptr %t1 br label %wcond0 wend2: store i32 0, ptr %retval br label %ret ret: %t45 = load i32, ptr %retval ret i32 %t45 } define i32 @fn_pmk_exists(ptr %arg_p) { entry: %retval = alloca i32 %t0 = alloca ptr %t3 = alloca ptr store ptr %arg_p, ptr %t0 %t1 = load ptr, ptr %t0 store i32 2729, ptr @lp_site %t2 = call ptr @lp_pak_open(ptr %t1, ptr @.str3450) store i32 0, ptr @lp_site 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: %t8 = load ptr, ptr %t3 call i32 @fclose(ptr %t8) store i32 1, ptr %retval br label %ret ret: %t9 = load i32, ptr %retval ret i32 %t9 } define void @fn_pmk_asset(ptr %arg_at, ptr %arg_f, ptr %arg_v) { entry: %t0 = alloca ptr %t1 = alloca ptr %t2 = alloca ptr %t5 = alloca i32 %t14 = alloca ptr store ptr %arg_at, ptr %t0 store ptr %arg_f, ptr %t1 store ptr %arg_v, ptr %t2 %t3 = load ptr, ptr %t1 %t4 = call i32 @fn_at_asset_map(ptr %t3) store i32 %t4, ptr %t5 %t6 = load i32, ptr %t5 %t7 = icmp ne i32 %t6, 1 %t8 = zext i1 %t7 to i32 %t9 = icmp ne i32 %t8, 0 br i1 %t9, label %then0, label %ifend2 then0: br label %ret ifend2: %t10 = load ptr, ptr @g_g_pmk_md store i32 2730, ptr @lp_site %t11 = call ptr @lp_str_concat(ptr %t10, ptr @.str3452) store i32 0, ptr @lp_site %t12 = load ptr, ptr %t2 store i32 2731, ptr @lp_site %t13 = call ptr @lp_str_concat(ptr %t11, ptr %t12) store i32 0, ptr @lp_site call void @lp_free(ptr %t11) store ptr %t13, ptr %t14 %t15 = load ptr, ptr %t14 %t16 = call i32 @fn_pmk_exists(ptr %t15) %t17 = icmp eq i32 %t16, 0 %t18 = zext i1 %t17 to i32 %t19 = icmp ne i32 %t18, 0 br i1 %t19, label %then3, label %ifend5 then3: %t20 = load ptr, ptr %t0 %t21 = load ptr, ptr %t1 %t22 = getelementptr inbounds %Cmp_Node, ptr %t21, i32 0, i32 1 %t23 = load ptr, ptr %t22 store i32 2732, ptr @lp_site %t24 = call ptr @lp_str_concat(ptr %t23, ptr @.str3454) store i32 0, ptr @lp_site %t25 = load ptr, ptr %t2 store i32 2733, ptr @lp_site %t26 = call ptr @lp_str_concat(ptr %t24, ptr %t25) store i32 0, ptr @lp_site call void @lp_free(ptr %t24) store i32 2734, ptr @lp_site %t27 = call ptr @lp_str_concat(ptr %t26, ptr @.str3455) store i32 0, ptr @lp_site call void @lp_free(ptr %t26) %t28 = load ptr, ptr %t14 store i32 2735, ptr @lp_site %t29 = call ptr @lp_str_concat(ptr %t27, ptr %t28) store i32 0, ptr @lp_site call void @lp_free(ptr %t27) store i32 2736, ptr @lp_site %t30 = call ptr @lp_str_concat(ptr %t29, ptr @.str3456) store i32 0, ptr @lp_site call void @lp_free(ptr %t29) call void @fn_pmk_err_at(ptr %t20, ptr %t30) br label %ifend5 ifend5: br label %ret ret: ret void } define void @fn_pmk_game_assets() { entry: %t0 = alloca i32 store i32 0, ptr %t0 br label %wcond0 wcond0: %t1 = load i32, ptr %t0 %t2 = load ptr, ptr @g_g_rg_name %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 i32, ptr %t0 %t9 = call i32 @fn_pm_is(i32 %t8) %t10 = icmp eq i32 %t9, 0 %t11 = zext i1 %t10 to i32 %t12 = icmp ne i32 %t11, 0 br i1 %t12, label %then3, label %ifend5 then3: %t13 = load i32, ptr %t0 call void @fn_pmk_game_asset_reg(i32 %t13) br label %ifend5 ifend5: %t14 = load i32, ptr %t0 %t15 = add i32 %t14, 1 store i32 %t15, ptr %t0 br label %wcond0 wend2: br label %ret ret: ret void } define void @fn_pmk_game_asset_reg(i32 %arg_r) { entry: %t0 = alloca i32 %t12 = alloca ptr %t17 = alloca i32 store i32 %arg_r, ptr %t0 %t1 = load ptr, ptr @g_g_rg_type %t2 = load i32, ptr %t0 %t3 = getelementptr inbounds %LSlice, ptr %t1, i32 0, i32 0 %t4 = load ptr, ptr %t3 %t5 = getelementptr inbounds %LSlice, ptr %t1, i32 0, i32 1 %t6 = load i32, ptr %t5 %t7 = icmp ult i32 %t2, %t6 br i1 %t7, label %ixok0, label %ixbad1 ixbad1: store i32 2737, ptr @lp_site %t8 = call ptr @lp_win_stdio(i32 2) store i32 0, ptr @lp_site call i32 (ptr, ptr, ...) @fprintf(ptr %t8, ptr @.fmt_bounds, ptr @.str3457, i32 %t2, i32 %t6) call void @exit(i32 1) unreachable ixok0: %t9 = getelementptr inbounds ptr, ptr %t4, i32 %t2 %t10 = load ptr, ptr %t9 %t11 = call ptr @fn_find_comp(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 %then2, label %ifend4 then2: br label %ret ifend4: store i32 0, ptr %t17 br label %wcond5 wcond5: %t18 = load i32, ptr %t17 %t19 = load ptr, ptr @g_g_df_rec %t20 = getelementptr inbounds %LSlice, ptr %t19, i32 0, i32 1 %t21 = load i32, ptr %t20 %t22 = icmp slt i32 %t18, %t21 %t23 = zext i1 %t22 to i32 %t24 = icmp ne i32 %t23, 0 br i1 %t24, label %wbody6, label %wend7 wbody6: %t25 = load ptr, ptr @g_g_df_reg %t26 = load i32, ptr %t17 %t27 = getelementptr inbounds %LSlice, ptr %t25, i32 0, i32 0 %t28 = load ptr, ptr %t27 %t29 = getelementptr inbounds %LSlice, ptr %t25, i32 0, i32 1 %t30 = load i32, ptr %t29 %t31 = icmp ult i32 %t26, %t30 br i1 %t31, label %ixok8, label %ixbad9 ixbad9: store i32 2738, ptr @lp_site %t32 = call ptr @lp_win_stdio(i32 2) store i32 0, ptr @lp_site call i32 (ptr, ptr, ...) @fprintf(ptr %t32, ptr @.fmt_bounds, ptr @.str3459, i32 %t26, i32 %t30) call void @exit(i32 1) unreachable ixok8: %t33 = getelementptr inbounds ptr, ptr %t28, i32 %t26 %t34 = load ptr, ptr %t33 %t35 = load ptr, ptr @g_g_rg_name %t36 = load i32, ptr %t0 %t37 = getelementptr inbounds %LSlice, ptr %t35, i32 0, i32 0 %t38 = load ptr, ptr %t37 %t39 = getelementptr inbounds %LSlice, ptr %t35, i32 0, i32 1 %t40 = load i32, ptr %t39 %t41 = icmp ult i32 %t36, %t40 br i1 %t41, label %ixok10, label %ixbad11 ixbad11: store i32 2739, ptr @lp_site %t42 = call ptr @lp_win_stdio(i32 2) store i32 0, ptr @lp_site call i32 (ptr, ptr, ...) @fprintf(ptr %t42, ptr @.fmt_bounds, ptr @.str3460, i32 %t36, i32 %t40) call void @exit(i32 1) unreachable ixok10: %t43 = getelementptr inbounds ptr, ptr %t38, i32 %t36 %t44 = load ptr, ptr %t43 %t45 = call i32 @lp_str_eq(ptr %t34, ptr %t44) %t46 = icmp ne i32 %t45, 0 br i1 %t46, label %then12, label %ifend14 then12: %t47 = load ptr, ptr %t12 %t48 = load ptr, ptr @g_g_df_rec %t49 = load i32, ptr %t17 %t50 = getelementptr inbounds %LSlice, ptr %t48, i32 0, i32 0 %t51 = load ptr, ptr %t50 %t52 = getelementptr inbounds %LSlice, ptr %t48, i32 0, i32 1 %t53 = load i32, ptr %t52 %t54 = icmp ult i32 %t49, %t53 br i1 %t54, label %ixok15, label %ixbad16 ixbad16: store i32 2740, ptr @lp_site %t55 = call ptr @lp_win_stdio(i32 2) store i32 0, ptr @lp_site call i32 (ptr, ptr, ...) @fprintf(ptr %t55, ptr @.fmt_bounds, ptr @.str3461, i32 %t49, i32 %t53) call void @exit(i32 1) unreachable ixok15: %t56 = getelementptr inbounds ptr, ptr %t51, i32 %t49 %t57 = load ptr, ptr %t56 call void @fn_pmk_game_asset_row(ptr %t47, ptr %t57) br label %ifend14 ifend14: %t58 = load i32, ptr %t17 %t59 = add i32 %t58, 1 store i32 %t59, ptr %t17 br label %wcond5 wend7: br label %ret ret: ret void } define void @fn_pmk_game_asset_row(ptr %arg_comp, ptr %arg_rec) { entry: %t0 = alloca ptr %t1 = alloca ptr %t2 = alloca i32 %t24 = alloca ptr %t25 = alloca i32 %t26 = alloca i32 %t27 = alloca i32 %t75 = alloca ptr store ptr %arg_comp, ptr %t0 store ptr %arg_rec, ptr %t1 store i32 0, ptr %t2 br label %wcond0 wcond0: %t3 = load i32, ptr %t2 %t4 = load ptr, ptr %t1 %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 %t1 %t13 = getelementptr inbounds %Cmp_Node, ptr %t12, i32 0, i32 7 %t14 = load ptr, ptr %t13 %t15 = load i32, ptr %t2 %t16 = getelementptr inbounds %LSlice, ptr %t14, i32 0, i32 0 %t17 = load ptr, ptr %t16 %t18 = getelementptr inbounds %LSlice, ptr %t14, i32 0, i32 1 %t19 = load i32, ptr %t18 %t20 = icmp ult i32 %t15, %t19 br i1 %t20, label %ixok3, label %ixbad4 ixbad4: store i32 2741, ptr @lp_site %t21 = call ptr @lp_win_stdio(i32 2) store i32 0, ptr @lp_site call i32 (ptr, ptr, ...) @fprintf(ptr %t21, ptr @.fmt_bounds, ptr @.str3462, i32 %t15, i32 %t19) call void @exit(i32 1) unreachable ixok3: %t22 = getelementptr inbounds ptr, ptr %t17, i32 %t15 %t23 = load ptr, ptr %t22 store ptr %t23, ptr %t24 %t28 = load ptr, ptr %t24 %t29 = getelementptr inbounds %Cmp_Node, ptr %t28, i32 0, i32 0 %t30 = load i32, ptr %t29 %t31 = icmp eq i32 %t30, 42 %t32 = zext i1 %t31 to i32 %t33 = icmp ne i32 %t32, 0 %t34 = zext i1 %t33 to i32 store i32 %t34, ptr %t27 br i1 %t33, label %sc5, label %scend6 sc5: %t35 = load ptr, ptr %t24 %t36 = getelementptr inbounds %Cmp_Node, ptr %t35, i32 0, i32 4 %t37 = load ptr, ptr %t36 %t38 = icmp ne 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 %t27 br label %scend6 scend6: %t42 = load i32, ptr %t27 %t43 = icmp ne i32 %t42, 0 %t44 = zext i1 %t43 to i32 store i32 %t44, ptr %t26 br i1 %t43, label %sc7, label %scend8 sc7: %t45 = load ptr, ptr %t24 %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 0 %t49 = load i32, ptr %t48 %t50 = icmp eq i32 %t49, 31 %t51 = zext i1 %t50 to i32 %t52 = icmp ne i32 %t51, 0 %t53 = zext i1 %t52 to i32 store i32 %t53, ptr %t26 br label %scend8 scend8: %t54 = load i32, ptr %t26 %t55 = icmp ne i32 %t54, 0 %t56 = zext i1 %t55 to i32 store i32 %t56, ptr %t25 br i1 %t55, label %sc9, label %scend10 sc9: %t57 = load ptr, ptr %t24 %t58 = getelementptr inbounds %Cmp_Node, ptr %t57, i32 0, i32 4 %t59 = load ptr, ptr %t58 %t60 = getelementptr inbounds %Cmp_Node, ptr %t59, i32 0, i32 1 %t61 = load ptr, ptr %t60 %t62 = call i64 @strlen(ptr %t61) %t63 = trunc i64 %t62 to i32 %t64 = icmp sgt i32 %t63, 0 %t65 = zext i1 %t64 to i32 %t66 = icmp ne i32 %t65, 0 %t67 = zext i1 %t66 to i32 store i32 %t67, ptr %t25 br label %scend10 scend10: %t68 = load i32, ptr %t25 %t69 = icmp ne i32 %t68, 0 br i1 %t69, label %then11, label %ifend13 then11: %t70 = load ptr, ptr %t0 %t71 = load ptr, ptr %t24 %t72 = getelementptr inbounds %Cmp_Node, ptr %t71, i32 0, i32 1 %t73 = load ptr, ptr %t72 %t74 = call ptr @fn_pmk_field_of(ptr %t70, ptr %t73) store ptr %t74, ptr %t75 %t76 = load ptr, ptr %t75 %t77 = icmp ne ptr %t76, null %t78 = zext i1 %t77 to i32 %t79 = icmp ne i32 %t78, 0 br i1 %t79, label %then14, label %ifend16 then14: %t80 = load ptr, ptr %t24 %t81 = load ptr, ptr %t75 %t82 = load ptr, ptr %t24 %t83 = getelementptr inbounds %Cmp_Node, ptr %t82, i32 0, i32 4 %t84 = load ptr, ptr %t83 %t85 = getelementptr inbounds %Cmp_Node, ptr %t84, i32 0, i32 1 %t86 = load ptr, ptr %t85 call void @fn_pmk_asset(ptr %t80, ptr %t81, ptr %t86) br label %ifend16 ifend16: br label %ifend13 ifend13: %t87 = load i32, ptr %t2 %t88 = add i32 %t87, 1 store i32 %t88, ptr %t2 br label %wcond0 wend2: br label %ret ret: ret void } define ptr @fn_pmk_field_of(ptr %arg_comp, ptr %arg_name) { entry: %retval = alloca ptr %t0 = alloca ptr %t1 = alloca ptr %t2 = alloca i32 %t12 = alloca i32 store ptr %arg_comp, ptr %t0 store ptr %arg_name, 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: %t13 = load ptr, ptr %t0 %t14 = getelementptr inbounds %Cmp_Node, ptr %t13, i32 0, i32 7 %t15 = load ptr, ptr %t14 %t16 = load i32, ptr %t2 %t17 = getelementptr inbounds %LSlice, ptr %t15, i32 0, i32 0 %t18 = load ptr, ptr %t17 %t19 = getelementptr inbounds %LSlice, ptr %t15, i32 0, i32 1 %t20 = load i32, ptr %t19 %t21 = icmp ult i32 %t16, %t20 br i1 %t21, label %ixok3, label %ixbad4 ixbad4: store i32 2742, ptr @lp_site %t22 = call ptr @lp_win_stdio(i32 2) store i32 0, ptr @lp_site call i32 (ptr, ptr, ...) @fprintf(ptr %t22, ptr @.fmt_bounds, ptr @.str3464, i32 %t16, i32 %t20) call void @exit(i32 1) unreachable ixok3: %t23 = getelementptr inbounds ptr, ptr %t18, i32 %t16 %t24 = load ptr, ptr %t23 %t25 = getelementptr inbounds %Cmp_Node, ptr %t24, i32 0, i32 1 %t26 = load ptr, ptr %t25 %t27 = icmp ne ptr %t26, null %t28 = zext i1 %t27 to i32 %t29 = icmp ne i32 %t28, 0 %t30 = zext i1 %t29 to i32 store i32 %t30, ptr %t12 br i1 %t29, label %sc5, label %scend6 sc5: %t31 = load ptr, ptr %t0 %t32 = getelementptr inbounds %Cmp_Node, ptr %t31, i32 0, i32 7 %t33 = load ptr, ptr %t32 %t34 = load i32, ptr %t2 %t35 = getelementptr inbounds %LSlice, ptr %t33, i32 0, i32 0 %t36 = load ptr, ptr %t35 %t37 = getelementptr inbounds %LSlice, ptr %t33, i32 0, i32 1 %t38 = load i32, ptr %t37 %t39 = icmp ult i32 %t34, %t38 br i1 %t39, label %ixok7, label %ixbad8 ixbad8: store i32 2743, ptr @lp_site %t40 = call ptr @lp_win_stdio(i32 2) store i32 0, ptr @lp_site call i32 (ptr, ptr, ...) @fprintf(ptr %t40, ptr @.fmt_bounds, ptr @.str3466, i32 %t34, i32 %t38) call void @exit(i32 1) unreachable ixok7: %t41 = getelementptr inbounds ptr, ptr %t36, i32 %t34 %t42 = load ptr, ptr %t41 %t43 = getelementptr inbounds %Cmp_Node, ptr %t42, i32 0, i32 1 %t44 = load ptr, ptr %t43 %t45 = load ptr, ptr %t1 %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 %t12 br label %scend6 scend6: %t49 = load i32, ptr %t12 %t50 = icmp ne i32 %t49, 0 br i1 %t50, label %then9, label %ifend11 then9: %t51 = load ptr, ptr %t0 %t52 = getelementptr inbounds %Cmp_Node, ptr %t51, i32 0, i32 7 %t53 = load ptr, ptr %t52 %t54 = load i32, ptr %t2 %t55 = getelementptr inbounds %LSlice, ptr %t53, i32 0, i32 0 %t56 = load ptr, ptr %t55 %t57 = getelementptr inbounds %LSlice, ptr %t53, i32 0, i32 1 %t58 = load i32, ptr %t57 %t59 = icmp ult i32 %t54, %t58 br i1 %t59, label %ixok12, label %ixbad13 ixbad13: store i32 2744, ptr @lp_site %t60 = call ptr @lp_win_stdio(i32 2) store i32 0, ptr @lp_site call i32 (ptr, ptr, ...) @fprintf(ptr %t60, ptr @.fmt_bounds, ptr @.str3467, i32 %t54, i32 %t58) call void @exit(i32 1) unreachable ixok12: %t61 = getelementptr inbounds ptr, ptr %t56, i32 %t54 %t62 = load ptr, ptr %t61 store ptr %t62, ptr %retval br label %ret ifend11: %t63 = load i32, ptr %t2 %t64 = add i32 %t63, 1 store i32 %t64, ptr %t2 br label %wcond0 wend2: store ptr null, ptr %retval br label %ret ret: %t65 = load ptr, ptr %retval ret ptr %t65 } define void @fn_pmk_attrs_str(ptr %arg_e, ptr %arg_f) { entry: %t0 = alloca ptr %t1 = alloca ptr %t20 = alloca i32 %t60 = alloca ptr %t61 = alloca i32 %t91 = alloca ptr %t114 = alloca i32 %t135 = alloca i32 %t136 = alloca i32 store ptr %arg_e, ptr %t0 store ptr %arg_f, ptr %t1 %t2 = load ptr, ptr %t1 %t3 = getelementptr inbounds %Cmp_Node, ptr %t2, i32 0, i32 19 %t4 = load i32, ptr %t3 %t5 = icmp slt i32 %t4, 0 %t6 = zext i1 %t5 to i32 %t7 = icmp ne i32 %t6, 0 br i1 %t7, label %then0, label %ifend2 then0: br label %ret ifend2: %t8 = load ptr, ptr @g_g_at_start %t9 = load ptr, ptr %t1 %t10 = getelementptr inbounds %Cmp_Node, ptr %t9, i32 0, i32 19 %t11 = load i32, ptr %t10 %t12 = getelementptr inbounds %LSlice, ptr %t8, i32 0, i32 0 %t13 = load ptr, ptr %t12 %t14 = getelementptr inbounds %LSlice, ptr %t8, i32 0, i32 1 %t15 = load i32, ptr %t14 %t16 = icmp ult i32 %t11, %t15 br i1 %t16, label %ixok3, label %ixbad4 ixbad4: store i32 2745, ptr @lp_site %t17 = call ptr @lp_win_stdio(i32 2) store i32 0, ptr @lp_site call i32 (ptr, ptr, ...) @fprintf(ptr %t17, ptr @.fmt_bounds, ptr @.str3468, i32 %t11, i32 %t15) call void @exit(i32 1) unreachable ixok3: %t18 = getelementptr inbounds i32, ptr %t13, i32 %t11 %t19 = load i32, ptr %t18 store i32 %t19, ptr %t20 br label %wcond5 wcond5: %t21 = load i32, ptr %t20 %t22 = load ptr, ptr @g_g_at_start %t23 = load ptr, ptr %t1 %t24 = getelementptr inbounds %Cmp_Node, ptr %t23, i32 0, i32 19 %t25 = load i32, ptr %t24 %t26 = getelementptr inbounds %LSlice, ptr %t22, i32 0, i32 0 %t27 = load ptr, ptr %t26 %t28 = getelementptr inbounds %LSlice, ptr %t22, i32 0, i32 1 %t29 = load i32, ptr %t28 %t30 = icmp ult i32 %t25, %t29 br i1 %t30, label %ixok8, label %ixbad9 ixbad9: store i32 2746, ptr @lp_site %t31 = call ptr @lp_win_stdio(i32 2) store i32 0, ptr @lp_site call i32 (ptr, ptr, ...) @fprintf(ptr %t31, ptr @.fmt_bounds, ptr @.str3470, i32 %t25, i32 %t29) call void @exit(i32 1) unreachable ixok8: %t32 = getelementptr inbounds i32, ptr %t27, i32 %t25 %t33 = load i32, ptr %t32 %t34 = load ptr, ptr @g_g_at_count %t35 = load ptr, ptr %t1 %t36 = getelementptr inbounds %Cmp_Node, ptr %t35, i32 0, i32 19 %t37 = load i32, ptr %t36 %t38 = getelementptr inbounds %LSlice, ptr %t34, i32 0, i32 0 %t39 = load ptr, ptr %t38 %t40 = getelementptr inbounds %LSlice, ptr %t34, i32 0, i32 1 %t41 = load i32, ptr %t40 %t42 = icmp ult i32 %t37, %t41 br i1 %t42, label %ixok10, label %ixbad11 ixbad11: store i32 2747, ptr @lp_site %t43 = call ptr @lp_win_stdio(i32 2) store i32 0, ptr @lp_site call i32 (ptr, ptr, ...) @fprintf(ptr %t43, ptr @.fmt_bounds, ptr @.str3471, i32 %t37, i32 %t41) call void @exit(i32 1) unreachable ixok10: %t44 = getelementptr inbounds i32, ptr %t39, i32 %t37 %t45 = load i32, ptr %t44 %t46 = add i32 %t33, %t45 %t47 = icmp slt i32 %t21, %t46 %t48 = zext i1 %t47 to i32 %t49 = icmp ne i32 %t48, 0 br i1 %t49, label %wbody6, label %wend7 wbody6: %t50 = load ptr, ptr @g_g_at_name %t51 = load i32, ptr %t20 %t52 = getelementptr inbounds %LSlice, ptr %t50, i32 0, i32 0 %t53 = load ptr, ptr %t52 %t54 = getelementptr inbounds %LSlice, ptr %t50, i32 0, i32 1 %t55 = load i32, ptr %t54 %t56 = icmp ult i32 %t51, %t55 br i1 %t56, label %ixok12, label %ixbad13 ixbad13: store i32 2748, ptr @lp_site %t57 = call ptr @lp_win_stdio(i32 2) store i32 0, ptr @lp_site call i32 (ptr, ptr, ...) @fprintf(ptr %t57, ptr @.fmt_bounds, ptr @.str3472, i32 %t51, i32 %t55) call void @exit(i32 1) unreachable ixok12: %t58 = getelementptr inbounds ptr, ptr %t53, i32 %t51 %t59 = load ptr, ptr %t58 store ptr %t59, ptr %t60 %t62 = load ptr, ptr %t60 %t63 = call i32 @lp_str_eq(ptr %t62, ptr @.str3473) %t64 = icmp ne i32 %t63, 0 %t65 = zext i1 %t64 to i32 store i32 %t65, ptr %t61 br i1 %t64, label %sc14, label %scend15 sc14: %t66 = load ptr, ptr @g_g_at_strs %t67 = load i32, ptr %t20 %t68 = getelementptr inbounds %LSlice, ptr %t66, i32 0, i32 0 %t69 = load ptr, ptr %t68 %t70 = getelementptr inbounds %LSlice, ptr %t66, i32 0, i32 1 %t71 = load i32, ptr %t70 %t72 = icmp ult i32 %t67, %t71 br i1 %t72, label %ixok16, label %ixbad17 ixbad17: store i32 2749, ptr @lp_site %t73 = call ptr @lp_win_stdio(i32 2) store i32 0, ptr @lp_site call i32 (ptr, ptr, ...) @fprintf(ptr %t73, ptr @.fmt_bounds, ptr @.str3474, i32 %t67, i32 %t71) call void @exit(i32 1) unreachable ixok16: %t74 = getelementptr inbounds i32, ptr %t69, i32 %t67 %t75 = load i32, ptr %t74 %t76 = icmp ne i32 %t75, 0 %t77 = zext i1 %t76 to i32 store i32 %t77, ptr %t61 br label %scend15 scend15: %t78 = load i32, ptr %t61 %t79 = icmp ne i32 %t78, 0 br i1 %t79, label %then18, label %ifend20 then18: %t80 = load ptr, ptr @g_g_at_args %t81 = load i32, ptr %t20 %t82 = getelementptr inbounds %LSlice, ptr %t80, i32 0, i32 0 %t83 = load ptr, ptr %t82 %t84 = getelementptr inbounds %LSlice, ptr %t80, i32 0, i32 1 %t85 = load i32, ptr %t84 %t86 = icmp ult i32 %t81, %t85 br i1 %t86, label %ixok21, label %ixbad22 ixbad22: store i32 2750, ptr @lp_site %t87 = call ptr @lp_win_stdio(i32 2) store i32 0, ptr @lp_site call i32 (ptr, ptr, ...) @fprintf(ptr %t87, ptr @.fmt_bounds, ptr @.str3475, i32 %t81, i32 %t85) call void @exit(i32 1) unreachable ixok21: %t88 = getelementptr inbounds ptr, ptr %t83, i32 %t81 %t89 = load ptr, ptr %t88 %t90 = call ptr @fn_at_arg_names(ptr %t89) store ptr %t90, ptr %t91 %t92 = load ptr, ptr %t0 %t93 = getelementptr inbounds %Cmp_Node, ptr %t92, i32 0, i32 1 %t94 = load ptr, ptr %t93 %t95 = load ptr, ptr %t91 %t96 = call i32 @fn_at_word_in(ptr %t94, ptr %t95) %t97 = icmp eq i32 %t96, 0 %t98 = zext i1 %t97 to i32 %t99 = icmp ne i32 %t98, 0 br i1 %t99, label %then23, label %ifend25 then23: %t100 = load ptr, ptr %t0 %t101 = load ptr, ptr %t1 %t102 = getelementptr inbounds %Cmp_Node, ptr %t101, i32 0, i32 1 %t103 = load ptr, ptr %t102 store i32 2751, ptr @lp_site %t104 = call ptr @lp_str_concat(ptr %t103, ptr @.str3476) store i32 0, ptr @lp_site %t105 = load ptr, ptr %t0 %t106 = getelementptr inbounds %Cmp_Node, ptr %t105, i32 0, i32 1 %t107 = load ptr, ptr %t106 store i32 2752, ptr @lp_site %t108 = call ptr @lp_str_concat(ptr %t104, ptr %t107) store i32 0, ptr @lp_site call void @lp_free(ptr %t104) store i32 2753, ptr @lp_site %t109 = call ptr @lp_str_concat(ptr %t108, ptr @.str3477) store i32 0, ptr @lp_site call void @lp_free(ptr %t108) %t110 = load ptr, ptr %t91 %t111 = call ptr @fn_at_words_text(ptr %t110) store i32 2754, ptr @lp_site %t112 = call ptr @lp_str_concat(ptr %t109, ptr %t111) store i32 0, ptr @lp_site call void @lp_free(ptr %t109) store i32 2755, ptr @lp_site %t113 = call ptr @lp_str_concat(ptr %t112, ptr @.str3478) store i32 0, ptr @lp_site call void @lp_free(ptr %t112) call void @fn_pmk_err_at(ptr %t100, ptr %t113) br label %ifend25 ifend25: br label %ifend20 ifend20: %t115 = load ptr, ptr %t60 %t116 = call i32 @lp_str_eq(ptr %t115, ptr @.str3479) %t117 = icmp ne i32 %t116, 0 %t118 = zext i1 %t117 to i32 store i32 %t118, ptr %t114 br i1 %t117, label %sc26, label %scend27 sc26: %t119 = load ptr, ptr %t0 %t120 = getelementptr inbounds %Cmp_Node, ptr %t119, i32 0, i32 1 %t121 = load ptr, ptr %t120 %t122 = call i64 @strlen(ptr %t121) %t123 = trunc i64 %t122 to i32 %t124 = icmp sgt i32 %t123, 0 %t125 = zext i1 %t124 to i32 %t126 = icmp ne i32 %t125, 0 %t127 = zext i1 %t126 to i32 store i32 %t127, ptr %t114 br label %scend27 scend27: %t128 = load i32, ptr %t114 %t129 = icmp ne i32 %t128, 0 br i1 %t129, label %then28, label %ifend30 then28: %t130 = load ptr, ptr %t0 %t131 = load ptr, ptr %t1 %t132 = load ptr, ptr %t0 %t133 = getelementptr inbounds %Cmp_Node, ptr %t132, i32 0, i32 1 %t134 = load ptr, ptr %t133 call void @fn_pmk_asset(ptr %t130, ptr %t131, ptr %t134) br label %ifend30 ifend30: %t137 = load ptr, ptr %t60 %t138 = call i32 @lp_str_eq(ptr %t137, ptr @.str3480) %t139 = icmp ne i32 %t138, 0 %t140 = zext i1 %t139 to i32 store i32 %t140, ptr %t136 br i1 %t139, label %sc31, label %scend32 sc31: %t141 = load ptr, ptr @g_g_at_first %t142 = load i32, ptr %t20 %t143 = getelementptr inbounds %LSlice, ptr %t141, i32 0, i32 0 %t144 = load ptr, ptr %t143 %t145 = getelementptr inbounds %LSlice, ptr %t141, i32 0, i32 1 %t146 = load i32, ptr %t145 %t147 = icmp ult i32 %t142, %t146 br i1 %t147, label %ixok33, label %ixbad34 ixbad34: store i32 2756, ptr @lp_site %t148 = call ptr @lp_win_stdio(i32 2) store i32 0, ptr @lp_site call i32 (ptr, ptr, ...) @fprintf(ptr %t148, ptr @.fmt_bounds, ptr @.str3481, i32 %t142, i32 %t146) call void @exit(i32 1) unreachable ixok33: %t149 = getelementptr inbounds ptr, ptr %t144, i32 %t142 %t150 = load ptr, ptr %t149 %t151 = call i32 @fn_pm_named(ptr %t150) %t152 = icmp ne i32 %t151, 0 %t153 = zext i1 %t152 to i32 store i32 %t153, ptr %t136 br label %scend32 scend32: %t154 = load i32, ptr %t136 %t155 = icmp ne i32 %t154, 0 %t156 = zext i1 %t155 to i32 store i32 %t156, ptr %t135 br i1 %t155, label %sc35, label %scend36 sc35: %t157 = load ptr, ptr %t0 %t158 = getelementptr inbounds %Cmp_Node, ptr %t157, i32 0, i32 1 %t159 = load ptr, ptr %t158 %t160 = call i64 @strlen(ptr %t159) %t161 = trunc i64 %t160 to i32 %t162 = icmp sgt i32 %t161, 0 %t163 = zext i1 %t162 to i32 %t164 = icmp ne i32 %t163, 0 %t165 = zext i1 %t164 to i32 store i32 %t165, ptr %t135 br label %scend36 scend36: %t166 = load i32, ptr %t135 %t167 = icmp ne i32 %t166, 0 br i1 %t167, label %then37, label %ifend39 then37: %t168 = load ptr, ptr @g_g_pmk_ref_reg %t169 = load ptr, ptr @g_g_at_first %t170 = load i32, ptr %t20 %t171 = getelementptr inbounds %LSlice, ptr %t169, i32 0, i32 0 %t172 = load ptr, ptr %t171 %t173 = getelementptr inbounds %LSlice, ptr %t169, i32 0, i32 1 %t174 = load i32, ptr %t173 %t175 = icmp ult i32 %t170, %t174 br i1 %t175, label %ixok40, label %ixbad41 ixbad41: store i32 2757, ptr @lp_site %t176 = call ptr @lp_win_stdio(i32 2) store i32 0, ptr @lp_site call i32 (ptr, ptr, ...) @fprintf(ptr %t176, ptr @.fmt_bounds, ptr @.str3482, i32 %t170, i32 %t174) call void @exit(i32 1) unreachable ixok40: %t177 = getelementptr inbounds ptr, ptr %t172, i32 %t170 %t178 = load ptr, ptr %t177 %t179 = getelementptr inbounds %LSlice, ptr %t168, i32 0, i32 1 %t180 = getelementptr inbounds %LSlice, ptr %t168, i32 0, i32 2 %t181 = getelementptr inbounds %LSlice, ptr %t168, i32 0, i32 0 %t182 = load i32, ptr %t179 %t183 = load i32, ptr %t180 %t184 = icmp sge i32 %t182, %t183 br i1 %t184, label %grow42, label %put43 grow42: %t185 = mul i32 %t183, 2 %t186 = icmp eq i32 %t183, 0 %t187 = select i1 %t186, i32 8, i32 %t185 %t188 = getelementptr ptr, ptr null, i32 1 %t189 = ptrtoint ptr %t188 to i64 %t190 = zext i32 %t187 to i64 %t191 = mul i64 %t190, %t189 %t192 = load ptr, ptr %t181 store i32 2758, ptr @lp_site %t193 = call ptr @lp_realloc(ptr %t192, i64 %t191) store i32 0, ptr @lp_site store ptr %t193, ptr %t181 store i32 %t187, ptr %t180 br label %put43 put43: %t194 = load ptr, ptr %t181 %t195 = getelementptr inbounds ptr, ptr %t194, i32 %t182 store ptr %t178, ptr %t195 %t196 = add i32 %t182, 1 store i32 %t196, ptr %t179 %t197 = load ptr, ptr @g_g_pmk_ref_key %t198 = load ptr, ptr %t0 %t199 = getelementptr inbounds %Cmp_Node, ptr %t198, i32 0, i32 1 %t200 = load ptr, ptr %t199 %t201 = getelementptr inbounds %LSlice, ptr %t197, i32 0, i32 1 %t202 = getelementptr inbounds %LSlice, ptr %t197, i32 0, i32 2 %t203 = getelementptr inbounds %LSlice, ptr %t197, i32 0, i32 0 %t204 = load i32, ptr %t201 %t205 = load i32, ptr %t202 %t206 = icmp sge i32 %t204, %t205 br i1 %t206, label %grow44, label %put45 grow44: %t207 = mul i32 %t205, 2 %t208 = icmp eq i32 %t205, 0 %t209 = select i1 %t208, i32 8, i32 %t207 %t210 = getelementptr ptr, ptr null, i32 1 %t211 = ptrtoint ptr %t210 to i64 %t212 = zext i32 %t209 to i64 %t213 = mul i64 %t212, %t211 %t214 = load ptr, ptr %t203 store i32 2759, ptr @lp_site %t215 = call ptr @lp_realloc(ptr %t214, i64 %t213) store i32 0, ptr @lp_site store ptr %t215, ptr %t203 store i32 %t209, ptr %t202 br label %put45 put45: %t216 = load ptr, ptr %t203 %t217 = getelementptr inbounds ptr, ptr %t216, i32 %t204 store ptr %t200, ptr %t217 %t218 = add i32 %t204, 1 store i32 %t218, ptr %t201 %t219 = load ptr, ptr @g_g_pmk_ref_at %t220 = load ptr, ptr %t0 %t221 = getelementptr inbounds %LSlice, ptr %t219, i32 0, i32 1 %t222 = getelementptr inbounds %LSlice, ptr %t219, i32 0, i32 2 %t223 = getelementptr inbounds %LSlice, ptr %t219, i32 0, i32 0 %t224 = load i32, ptr %t221 %t225 = load i32, ptr %t222 %t226 = icmp sge i32 %t224, %t225 br i1 %t226, label %grow46, label %put47 grow46: %t227 = mul i32 %t225, 2 %t228 = icmp eq i32 %t225, 0 %t229 = select i1 %t228, i32 8, i32 %t227 %t230 = getelementptr ptr, ptr null, i32 1 %t231 = ptrtoint ptr %t230 to i64 %t232 = zext i32 %t229 to i64 %t233 = mul i64 %t232, %t231 %t234 = load ptr, ptr %t223 store i32 2760, ptr @lp_site %t235 = call ptr @lp_realloc(ptr %t234, i64 %t233) store i32 0, ptr @lp_site store ptr %t235, ptr %t223 store i32 %t229, ptr %t222 br label %put47 put47: %t236 = load ptr, ptr %t223 %t237 = getelementptr inbounds ptr, ptr %t236, i32 %t224 store ptr %t220, ptr %t237 %t238 = add i32 %t224, 1 store i32 %t238, ptr %t221 br label %ifend39 ifend39: %t239 = load i32, ptr %t20 %t240 = add i32 %t239, 1 store i32 %t240, ptr %t20 br label %wcond5 wend7: br label %ret ret: ret void } define void @fn_pmk_attrs_num(ptr %arg_e, ptr %arg_f, ptr %arg_text, ptr %arg_cname) { entry: %t0 = alloca ptr %t1 = alloca ptr %t2 = alloca ptr %t3 = alloca ptr %t22 = alloca i32 %t62 = alloca ptr %t77 = alloca ptr %t78 = alloca i32 %t86 = alloca i32 %t152 = alloca i32 %t184 = alloca i32 %t185 = alloca i32 %t203 = alloca i32 %t204 = alloca i32 %t250 = alloca i32 store ptr %arg_e, ptr %t0 store ptr %arg_f, ptr %t1 store ptr %arg_text, ptr %t2 store ptr %arg_cname, ptr %t3 %t4 = load ptr, ptr %t1 %t5 = getelementptr inbounds %Cmp_Node, ptr %t4, i32 0, i32 19 %t6 = load i32, ptr %t5 %t7 = icmp slt i32 %t6, 0 %t8 = zext i1 %t7 to i32 %t9 = icmp ne i32 %t8, 0 br i1 %t9, label %then0, label %ifend2 then0: br label %ret ifend2: %t10 = load ptr, ptr @g_g_at_start %t11 = load ptr, ptr %t1 %t12 = getelementptr inbounds %Cmp_Node, ptr %t11, i32 0, i32 19 %t13 = load i32, ptr %t12 %t14 = getelementptr inbounds %LSlice, ptr %t10, i32 0, i32 0 %t15 = load ptr, ptr %t14 %t16 = getelementptr inbounds %LSlice, ptr %t10, i32 0, i32 1 %t17 = load i32, ptr %t16 %t18 = icmp ult i32 %t13, %t17 br i1 %t18, label %ixok3, label %ixbad4 ixbad4: store i32 2761, ptr @lp_site %t19 = call ptr @lp_win_stdio(i32 2) store i32 0, ptr @lp_site call i32 (ptr, ptr, ...) @fprintf(ptr %t19, ptr @.fmt_bounds, ptr @.str3483, i32 %t13, i32 %t17) call void @exit(i32 1) unreachable ixok3: %t20 = getelementptr inbounds i32, ptr %t15, i32 %t13 %t21 = load i32, ptr %t20 store i32 %t21, ptr %t22 br label %wcond5 wcond5: %t23 = load i32, ptr %t22 %t24 = load ptr, ptr @g_g_at_start %t25 = load ptr, ptr %t1 %t26 = getelementptr inbounds %Cmp_Node, ptr %t25, i32 0, i32 19 %t27 = load i32, ptr %t26 %t28 = getelementptr inbounds %LSlice, ptr %t24, i32 0, i32 0 %t29 = load ptr, ptr %t28 %t30 = getelementptr inbounds %LSlice, ptr %t24, i32 0, i32 1 %t31 = load i32, ptr %t30 %t32 = icmp ult i32 %t27, %t31 br i1 %t32, label %ixok8, label %ixbad9 ixbad9: store i32 2762, ptr @lp_site %t33 = call ptr @lp_win_stdio(i32 2) store i32 0, ptr @lp_site call i32 (ptr, ptr, ...) @fprintf(ptr %t33, ptr @.fmt_bounds, ptr @.str3485, i32 %t27, i32 %t31) call void @exit(i32 1) unreachable ixok8: %t34 = getelementptr inbounds i32, ptr %t29, i32 %t27 %t35 = load i32, ptr %t34 %t36 = load ptr, ptr @g_g_at_count %t37 = load ptr, ptr %t1 %t38 = getelementptr inbounds %Cmp_Node, ptr %t37, i32 0, i32 19 %t39 = load i32, ptr %t38 %t40 = getelementptr inbounds %LSlice, ptr %t36, i32 0, i32 0 %t41 = load ptr, ptr %t40 %t42 = getelementptr inbounds %LSlice, ptr %t36, i32 0, i32 1 %t43 = load i32, ptr %t42 %t44 = icmp ult i32 %t39, %t43 br i1 %t44, label %ixok10, label %ixbad11 ixbad11: store i32 2763, ptr @lp_site %t45 = call ptr @lp_win_stdio(i32 2) store i32 0, ptr @lp_site call i32 (ptr, ptr, ...) @fprintf(ptr %t45, ptr @.fmt_bounds, ptr @.str3486, i32 %t39, i32 %t43) call void @exit(i32 1) unreachable ixok10: %t46 = getelementptr inbounds i32, ptr %t41, i32 %t39 %t47 = load i32, ptr %t46 %t48 = add i32 %t35, %t47 %t49 = icmp slt i32 %t23, %t48 %t50 = zext i1 %t49 to i32 %t51 = icmp ne i32 %t50, 0 br i1 %t51, label %wbody6, label %wend7 wbody6: %t52 = load ptr, ptr @g_g_at_name %t53 = load i32, ptr %t22 %t54 = getelementptr inbounds %LSlice, ptr %t52, i32 0, i32 0 %t55 = load ptr, ptr %t54 %t56 = getelementptr inbounds %LSlice, ptr %t52, i32 0, i32 1 %t57 = load i32, ptr %t56 %t58 = icmp ult i32 %t53, %t57 br i1 %t58, label %ixok12, label %ixbad13 ixbad13: store i32 2764, ptr @lp_site %t59 = call ptr @lp_win_stdio(i32 2) store i32 0, ptr @lp_site call i32 (ptr, ptr, ...) @fprintf(ptr %t59, ptr @.fmt_bounds, ptr @.str3487, i32 %t53, i32 %t57) call void @exit(i32 1) unreachable ixok12: %t60 = getelementptr inbounds ptr, ptr %t55, i32 %t53 %t61 = load ptr, ptr %t60 store ptr %t61, ptr %t62 %t63 = load ptr, ptr %t62 %t64 = call i32 @lp_str_eq(ptr %t63, ptr @.str3488) %t65 = icmp ne i32 %t64, 0 br i1 %t65, label %then14, label %ifend16 then14: %t66 = load ptr, ptr @g_g_at_args %t67 = load i32, ptr %t22 %t68 = getelementptr inbounds %LSlice, ptr %t66, i32 0, i32 0 %t69 = load ptr, ptr %t68 %t70 = getelementptr inbounds %LSlice, ptr %t66, i32 0, i32 1 %t71 = load i32, ptr %t70 %t72 = icmp ult i32 %t67, %t71 br i1 %t72, label %ixok17, label %ixbad18 ixbad18: store i32 2765, ptr @lp_site %t73 = call ptr @lp_win_stdio(i32 2) store i32 0, ptr @lp_site call i32 (ptr, ptr, ...) @fprintf(ptr %t73, ptr @.fmt_bounds, ptr @.str3489, i32 %t67, i32 %t71) call void @exit(i32 1) unreachable ixok17: %t74 = getelementptr inbounds ptr, ptr %t69, i32 %t67 %t75 = load ptr, ptr %t74 %t76 = call ptr @fn_pmk_arg_nums(ptr %t75) store ptr %t76, ptr %t77 %t79 = load ptr, ptr %t77 %t80 = getelementptr inbounds %LSlice, ptr %t79, i32 0, i32 1 %t81 = load i32, ptr %t80 %t82 = icmp eq i32 %t81, 2 %t83 = zext i1 %t82 to i32 %t84 = icmp ne i32 %t83, 0 %t85 = zext i1 %t84 to i32 store i32 %t85, ptr %t78 br i1 %t84, label %sc19, label %scend20 sc19: %t87 = load ptr, ptr %t2 %t88 = load ptr, ptr %t77 %t89 = getelementptr inbounds %LSlice, ptr %t88, i32 0, i32 0 %t90 = load ptr, ptr %t89 %t91 = getelementptr inbounds %LSlice, ptr %t88, i32 0, i32 1 %t92 = load i32, ptr %t91 %t93 = icmp ult i32 0, %t92 br i1 %t93, label %ixok21, label %ixbad22 ixbad22: store i32 2766, ptr @lp_site %t94 = call ptr @lp_win_stdio(i32 2) store i32 0, ptr @lp_site call i32 (ptr, ptr, ...) @fprintf(ptr %t94, ptr @.fmt_bounds, ptr @.str3490, i32 0, i32 %t92) call void @exit(i32 1) unreachable ixok21: %t95 = getelementptr inbounds ptr, ptr %t90, i32 0 %t96 = load ptr, ptr %t95 %t97 = call i32 @fn_pmk_cmp(ptr %t87, ptr %t96) %t98 = icmp slt i32 %t97, 0 %t99 = zext i1 %t98 to i32 %t100 = icmp ne i32 %t99, 0 %t101 = zext i1 %t100 to i32 store i32 %t101, ptr %t86 br i1 %t100, label %scend24, label %sc23 sc23: %t102 = load ptr, ptr %t2 %t103 = load ptr, ptr %t77 %t104 = getelementptr inbounds %LSlice, ptr %t103, i32 0, i32 0 %t105 = load ptr, ptr %t104 %t106 = getelementptr inbounds %LSlice, ptr %t103, i32 0, i32 1 %t107 = load i32, ptr %t106 %t108 = icmp ult i32 1, %t107 br i1 %t108, label %ixok25, label %ixbad26 ixbad26: store i32 2767, ptr @lp_site %t109 = call ptr @lp_win_stdio(i32 2) store i32 0, ptr @lp_site call i32 (ptr, ptr, ...) @fprintf(ptr %t109, ptr @.fmt_bounds, ptr @.str3491, i32 1, i32 %t107) call void @exit(i32 1) unreachable ixok25: %t110 = getelementptr inbounds ptr, ptr %t105, i32 1 %t111 = load ptr, ptr %t110 %t112 = call i32 @fn_pmk_cmp(ptr %t102, ptr %t111) %t113 = icmp sgt i32 %t112, 0 %t114 = zext i1 %t113 to i32 %t115 = icmp ne i32 %t114, 0 %t116 = zext i1 %t115 to i32 store i32 %t116, ptr %t86 br label %scend24 scend24: %t117 = load i32, ptr %t86 %t118 = icmp ne i32 %t117, 0 %t119 = zext i1 %t118 to i32 store i32 %t119, ptr %t78 br label %scend20 scend20: %t120 = load i32, ptr %t78 %t121 = icmp ne i32 %t120, 0 br i1 %t121, label %then27, label %ifend29 then27: %t122 = load ptr, ptr %t0 %t123 = load ptr, ptr %t1 %t124 = getelementptr inbounds %Cmp_Node, ptr %t123, i32 0, i32 1 %t125 = load ptr, ptr %t124 store i32 2768, ptr @lp_site %t126 = call ptr @lp_str_concat(ptr %t125, ptr @.str3492) store i32 0, ptr @lp_site %t127 = load ptr, ptr %t2 store i32 2769, ptr @lp_site %t128 = call ptr @lp_str_concat(ptr %t126, ptr %t127) store i32 0, ptr @lp_site call void @lp_free(ptr %t126) store i32 2770, ptr @lp_site %t129 = call ptr @lp_str_concat(ptr %t128, ptr @.str3493) store i32 0, ptr @lp_site call void @lp_free(ptr %t128) %t130 = load ptr, ptr %t77 %t131 = getelementptr inbounds %LSlice, ptr %t130, i32 0, i32 0 %t132 = load ptr, ptr %t131 %t133 = getelementptr inbounds %LSlice, ptr %t130, i32 0, i32 1 %t134 = load i32, ptr %t133 %t135 = icmp ult i32 0, %t134 br i1 %t135, label %ixok30, label %ixbad31 ixbad31: store i32 2771, ptr @lp_site %t136 = call ptr @lp_win_stdio(i32 2) store i32 0, ptr @lp_site call i32 (ptr, ptr, ...) @fprintf(ptr %t136, ptr @.fmt_bounds, ptr @.str3494, i32 0, i32 %t134) call void @exit(i32 1) unreachable ixok30: %t137 = getelementptr inbounds ptr, ptr %t132, i32 0 %t138 = load ptr, ptr %t137 store i32 2772, ptr @lp_site %t139 = call ptr @lp_str_concat(ptr %t129, ptr %t138) store i32 0, ptr @lp_site call void @lp_free(ptr %t129) store i32 2773, ptr @lp_site %t140 = call ptr @lp_str_concat(ptr %t139, ptr @.str3495) store i32 0, ptr @lp_site call void @lp_free(ptr %t139) %t141 = load ptr, ptr %t77 %t142 = getelementptr inbounds %LSlice, ptr %t141, i32 0, i32 0 %t143 = load ptr, ptr %t142 %t144 = getelementptr inbounds %LSlice, ptr %t141, i32 0, i32 1 %t145 = load i32, ptr %t144 %t146 = icmp ult i32 1, %t145 br i1 %t146, label %ixok32, label %ixbad33 ixbad33: store i32 2774, ptr @lp_site %t147 = call ptr @lp_win_stdio(i32 2) store i32 0, ptr @lp_site call i32 (ptr, ptr, ...) @fprintf(ptr %t147, ptr @.fmt_bounds, ptr @.str3496, i32 1, i32 %t145) call void @exit(i32 1) unreachable ixok32: %t148 = getelementptr inbounds ptr, ptr %t143, i32 1 %t149 = load ptr, ptr %t148 store i32 2775, ptr @lp_site %t150 = call ptr @lp_str_concat(ptr %t140, ptr %t149) store i32 0, ptr @lp_site call void @lp_free(ptr %t140) store i32 2776, ptr @lp_site %t151 = call ptr @lp_str_concat(ptr %t150, ptr @.str3497) store i32 0, ptr @lp_site call void @lp_free(ptr %t150) call void @fn_pmk_err_at(ptr %t122, ptr %t151) br label %ifend29 ifend29: br label %ifend16 ifend16: %t153 = load ptr, ptr %t62 %t154 = call i32 @lp_str_eq(ptr %t153, ptr @.str3498) %t155 = icmp ne i32 %t154, 0 %t156 = zext i1 %t155 to i32 store i32 %t156, ptr %t152 br i1 %t155, label %sc34, label %scend35 sc34: %t157 = load ptr, ptr @g_g_at_unres %t158 = load i32, ptr %t22 %t159 = getelementptr inbounds %LSlice, ptr %t157, i32 0, i32 0 %t160 = load ptr, ptr %t159 %t161 = getelementptr inbounds %LSlice, ptr %t157, i32 0, i32 1 %t162 = load i32, ptr %t161 %t163 = icmp ult i32 %t158, %t162 br i1 %t163, label %ixok36, label %ixbad37 ixbad37: store i32 2777, ptr @lp_site %t164 = call ptr @lp_win_stdio(i32 2) store i32 0, ptr @lp_site call i32 (ptr, ptr, ...) @fprintf(ptr %t164, ptr @.fmt_bounds, ptr @.str3499, i32 %t158, i32 %t162) call void @exit(i32 1) unreachable ixok36: %t165 = getelementptr inbounds i32, ptr %t160, i32 %t158 %t166 = load i32, ptr %t165 %t167 = icmp eq i32 %t166, 0 %t168 = zext i1 %t167 to i32 %t169 = icmp ne i32 %t168, 0 %t170 = zext i1 %t169 to i32 store i32 %t170, ptr %t152 br label %scend35 scend35: %t171 = load i32, ptr %t152 %t172 = icmp ne i32 %t171, 0 br i1 %t172, label %then38, label %ifend40 then38: %t173 = load ptr, ptr @g_g_at_first %t174 = load i32, ptr %t22 %t175 = getelementptr inbounds %LSlice, ptr %t173, i32 0, i32 0 %t176 = load ptr, ptr %t175 %t177 = getelementptr inbounds %LSlice, ptr %t173, i32 0, i32 1 %t178 = load i32, ptr %t177 %t179 = icmp ult i32 %t174, %t178 br i1 %t179, label %ixok41, label %ixbad42 ixbad42: store i32 2778, ptr @lp_site %t180 = call ptr @lp_win_stdio(i32 2) store i32 0, ptr @lp_site call i32 (ptr, ptr, ...) @fprintf(ptr %t180, ptr @.fmt_bounds, ptr @.str3500, i32 %t174, i32 %t178) call void @exit(i32 1) unreachable ixok41: %t181 = getelementptr inbounds ptr, ptr %t176, i32 %t174 %t182 = load ptr, ptr %t181 %t183 = call i32 @fn_reg_find(ptr %t182) store i32 %t183, ptr %t184 %t186 = load i32, ptr %t184 %t187 = icmp sge i32 %t186, 0 %t188 = zext i1 %t187 to i32 %t189 = icmp ne i32 %t188, 0 %t190 = zext i1 %t189 to i32 store i32 %t190, ptr %t185 br i1 %t189, label %sc43, label %scend44 sc43: %t191 = load i32, ptr %t184 %t192 = call i32 @fn_pm_is(i32 %t191) %t193 = icmp eq i32 %t192, 0 %t194 = zext i1 %t193 to i32 %t195 = icmp ne i32 %t194, 0 %t196 = zext i1 %t195 to i32 store i32 %t196, ptr %t185 br label %scend44 scend44: %t197 = load i32, ptr %t185 %t198 = icmp ne i32 %t197, 0 br i1 %t198, label %then45, label %ifend47 then45: %t199 = load i32, ptr %t184 %t200 = call ptr @fn_reg_order(i32 %t199) %t201 = getelementptr inbounds %LSlice, ptr %t200, i32 0, i32 1 %t202 = load i32, ptr %t201 store i32 %t202, ptr %t203 %t205 = load ptr, ptr %t2 %t206 = call i32 @fn_pmk_cmp(ptr %t205, ptr @.str3501) %t207 = icmp slt i32 %t206, 0 %t208 = zext i1 %t207 to i32 %t209 = icmp ne i32 %t208, 0 %t210 = zext i1 %t209 to i32 store i32 %t210, ptr %t204 br i1 %t209, label %scend49, label %sc48 sc48: %t211 = load ptr, ptr %t2 %t212 = load i32, ptr %t203 %t213 = call ptr @fn_itoa(i32 %t212) %t214 = call i32 @fn_pmk_cmp(ptr %t211, ptr %t213) %t215 = icmp sge i32 %t214, 0 %t216 = zext i1 %t215 to i32 %t217 = icmp ne i32 %t216, 0 %t218 = zext i1 %t217 to i32 store i32 %t218, ptr %t204 br label %scend49 scend49: %t219 = load i32, ptr %t204 %t220 = icmp ne i32 %t219, 0 br i1 %t220, label %then50, label %ifend52 then50: %t221 = load ptr, ptr %t0 %t222 = load ptr, ptr %t1 %t223 = getelementptr inbounds %Cmp_Node, ptr %t222, i32 0, i32 1 %t224 = load ptr, ptr %t223 store i32 2779, ptr @lp_site %t225 = call ptr @lp_str_concat(ptr %t224, ptr @.str3502) store i32 0, ptr @lp_site %t226 = load ptr, ptr %t2 store i32 2780, ptr @lp_site %t227 = call ptr @lp_str_concat(ptr %t225, ptr %t226) store i32 0, ptr @lp_site call void @lp_free(ptr %t225) store i32 2781, ptr @lp_site %t228 = call ptr @lp_str_concat(ptr %t227, ptr @.str3503) store i32 0, ptr @lp_site call void @lp_free(ptr %t227) %t229 = load ptr, ptr @g_g_rg_name %t230 = load i32, ptr %t184 %t231 = getelementptr inbounds %LSlice, ptr %t229, i32 0, i32 0 %t232 = load ptr, ptr %t231 %t233 = getelementptr inbounds %LSlice, ptr %t229, i32 0, i32 1 %t234 = load i32, ptr %t233 %t235 = icmp ult i32 %t230, %t234 br i1 %t235, label %ixok53, label %ixbad54 ixbad54: store i32 2782, ptr @lp_site %t236 = call ptr @lp_win_stdio(i32 2) store i32 0, ptr @lp_site call i32 (ptr, ptr, ...) @fprintf(ptr %t236, ptr @.fmt_bounds, ptr @.str3504, i32 %t230, i32 %t234) call void @exit(i32 1) unreachable ixok53: %t237 = getelementptr inbounds ptr, ptr %t232, i32 %t230 %t238 = load ptr, ptr %t237 store i32 2783, ptr @lp_site %t239 = call ptr @lp_str_concat(ptr %t228, ptr %t238) store i32 0, ptr @lp_site call void @lp_free(ptr %t228) store i32 2784, ptr @lp_site %t240 = call ptr @lp_str_concat(ptr %t239, ptr @.str3505) store i32 0, ptr @lp_site call void @lp_free(ptr %t239) %t241 = load i32, ptr %t203 %t242 = call ptr @fn_itoa(i32 %t241) store i32 2785, ptr @lp_site %t243 = call ptr @lp_str_concat(ptr %t240, ptr %t242) store i32 0, ptr @lp_site call void @lp_free(ptr %t240) store i32 2786, ptr @lp_site %t244 = call ptr @lp_str_concat(ptr %t243, ptr @.str3506) store i32 0, ptr @lp_site call void @lp_free(ptr %t243) %t245 = load i32, ptr %t203 %t246 = sub i32 %t245, 1 %t247 = call ptr @fn_itoa(i32 %t246) store i32 2787, ptr @lp_site %t248 = call ptr @lp_str_concat(ptr %t244, ptr %t247) store i32 0, ptr @lp_site call void @lp_free(ptr %t244) store i32 2788, ptr @lp_site %t249 = call ptr @lp_str_concat(ptr %t248, ptr @.str3507) store i32 0, ptr @lp_site call void @lp_free(ptr %t248) call void @fn_pmk_err_at(ptr %t221, ptr %t249) br label %ifend52 ifend52: br label %ifend47 ifend47: br label %ifend40 ifend40: %t251 = load ptr, ptr %t62 %t252 = call i32 @lp_str_eq(ptr %t251, ptr @.str3508) %t253 = icmp ne i32 %t252, 0 %t254 = zext i1 %t253 to i32 store i32 %t254, ptr %t250 br i1 %t253, label %sc55, label %scend56 sc55: %t255 = load ptr, ptr @g_g_at_strs %t256 = load i32, ptr %t22 %t257 = getelementptr inbounds %LSlice, ptr %t255, i32 0, i32 0 %t258 = load ptr, ptr %t257 %t259 = getelementptr inbounds %LSlice, ptr %t255, i32 0, i32 1 %t260 = load i32, ptr %t259 %t261 = icmp ult i32 %t256, %t260 br i1 %t261, label %ixok57, label %ixbad58 ixbad58: store i32 2789, ptr @lp_site %t262 = call ptr @lp_win_stdio(i32 2) store i32 0, ptr @lp_site call i32 (ptr, ptr, ...) @fprintf(ptr %t262, ptr @.fmt_bounds, ptr @.str3509, i32 %t256, i32 %t260) call void @exit(i32 1) unreachable ixok57: %t263 = getelementptr inbounds i32, ptr %t258, i32 %t256 %t264 = load i32, ptr %t263 %t265 = icmp eq i32 %t264, 0 %t266 = zext i1 %t265 to i32 %t267 = icmp ne i32 %t266, 0 %t268 = zext i1 %t267 to i32 store i32 %t268, ptr %t250 br label %scend56 scend56: %t269 = load i32, ptr %t250 %t270 = icmp ne i32 %t269, 0 br i1 %t270, label %then59, label %ifend61 then59: %t271 = load ptr, ptr %t0 %t272 = load ptr, ptr %t1 %t273 = load i32, ptr %t22 %t274 = load ptr, ptr %t2 %t275 = load ptr, ptr %t3 call void @fn_pmk_oneof(ptr %t271, ptr %t272, i32 %t273, ptr %t274, ptr %t275) br label %ifend61 ifend61: %t276 = load i32, ptr %t22 %t277 = add i32 %t276, 1 store i32 %t277, ptr %t22 br label %wcond5 wend7: br label %ret ret: ret void } define void @fn_pmk_oneof(ptr %arg_e, ptr %arg_f, i32 %arg_j, ptr %arg_text, ptr %arg_cname) { entry: %t0 = alloca ptr %t1 = alloca ptr %t2 = alloca i32 %t3 = alloca ptr %t4 = alloca ptr %t16 = alloca ptr %t27 = alloca ptr %t28 = alloca i32 %t56 = alloca i32 %t61 = alloca i32 %t72 = alloca i32 %t85 = alloca i32 %t93 = alloca i32 %t120 = alloca i32 %t121 = alloca i32 %t162 = alloca ptr %t169 = alloca ptr store ptr %arg_e, ptr %t0 store ptr %arg_f, ptr %t1 store i32 %arg_j, ptr %t2 store ptr %arg_text, ptr %t3 store ptr %arg_cname, ptr %t4 %t5 = load ptr, ptr @g_g_at_args %t6 = load i32, ptr %t2 %t7 = getelementptr inbounds %LSlice, ptr %t5, i32 0, i32 0 %t8 = load ptr, ptr %t7 %t9 = getelementptr inbounds %LSlice, ptr %t5, i32 0, i32 1 %t10 = load i32, ptr %t9 %t11 = icmp ult i32 %t6, %t10 br i1 %t11, label %ixok0, label %ixbad1 ixbad1: store i32 2790, ptr @lp_site %t12 = call ptr @lp_win_stdio(i32 2) store i32 0, ptr @lp_site call i32 (ptr, ptr, ...) @fprintf(ptr %t12, ptr @.fmt_bounds, ptr @.str3510, i32 %t6, i32 %t10) call void @exit(i32 1) unreachable ixok0: %t13 = getelementptr inbounds ptr, ptr %t8, i32 %t6 %t14 = load ptr, ptr %t13 %t15 = call ptr @fn_at_arg_names(ptr %t14) store ptr %t15, ptr %t16 %t17 = load ptr, ptr @g_g_at_first %t18 = load i32, ptr %t2 %t19 = getelementptr inbounds %LSlice, ptr %t17, i32 0, i32 0 %t20 = load ptr, ptr %t19 %t21 = getelementptr inbounds %LSlice, ptr %t17, i32 0, i32 1 %t22 = load i32, ptr %t21 %t23 = icmp ult i32 %t18, %t22 br i1 %t23, label %ixok2, label %ixbad3 ixbad3: store i32 2791, ptr @lp_site %t24 = call ptr @lp_win_stdio(i32 2) store i32 0, ptr @lp_site call i32 (ptr, ptr, ...) @fprintf(ptr %t24, ptr @.fmt_bounds, ptr @.str3512, i32 %t18, i32 %t22) call void @exit(i32 1) unreachable ixok2: %t25 = getelementptr inbounds ptr, ptr %t20, i32 %t18 %t26 = load ptr, ptr %t25 store ptr %t26, ptr %t27 %t29 = load ptr, ptr @g_g_at_nargs %t30 = load i32, ptr %t2 %t31 = getelementptr inbounds %LSlice, ptr %t29, i32 0, i32 0 %t32 = load ptr, ptr %t31 %t33 = getelementptr inbounds %LSlice, ptr %t29, i32 0, i32 1 %t34 = load i32, ptr %t33 %t35 = icmp ult i32 %t30, %t34 br i1 %t35, label %ixok4, label %ixbad5 ixbad5: store i32 2792, ptr @lp_site %t36 = call ptr @lp_win_stdio(i32 2) store i32 0, ptr @lp_site call i32 (ptr, ptr, ...) @fprintf(ptr %t36, ptr @.fmt_bounds, ptr @.str3513, i32 %t30, i32 %t34) call void @exit(i32 1) unreachable ixok4: %t37 = getelementptr inbounds i32, ptr %t32, i32 %t30 %t38 = load i32, ptr %t37 %t39 = icmp eq i32 %t38, 1 %t40 = zext i1 %t39 to i32 %t41 = icmp ne i32 %t40, 0 %t42 = zext i1 %t41 to i32 store i32 %t42, ptr %t28 br i1 %t41, label %sc6, label %scend7 sc6: %t43 = load ptr, ptr %t27 %t44 = load ptr, ptr %t27 %t45 = call i64 @strlen(ptr %t44) %t46 = trunc i64 %t45 to i32 %t47 = sub i32 %t46, 1 %t48 = getelementptr inbounds i8, ptr %t43, i32 %t47 %t49 = load i8, ptr %t48 %t50 = zext i8 %t49 to i32 %t51 = icmp eq i32 %t50, 95 %t52 = zext i1 %t51 to i32 %t53 = icmp ne i32 %t52, 0 %t54 = zext i1 %t53 to i32 store i32 %t54, ptr %t28 br label %scend7 scend7: %t55 = load i32, ptr %t28 store i32 %t55, ptr %t56 %t57 = load ptr, ptr %t4 %t58 = icmp ne ptr %t57, null %t59 = zext i1 %t58 to i32 %t60 = icmp ne i32 %t59, 0 br i1 %t60, label %then8, label %else9 then8: %t62 = load i32, ptr %t56 %t63 = icmp ne i32 %t62, 0 %t64 = zext i1 %t63 to i32 store i32 %t64, ptr %t61 br i1 %t63, label %sc11, label %scend12 sc11: %t65 = load ptr, ptr %t4 %t66 = load ptr, ptr %t27 %t67 = call i32 @fn_str_starts(ptr %t65, ptr %t66) %t68 = icmp ne i32 %t67, 0 %t69 = zext i1 %t68 to i32 store i32 %t69, ptr %t61 br label %scend12 scend12: %t70 = load i32, ptr %t61 %t71 = icmp ne i32 %t70, 0 br i1 %t71, label %then13, label %ifend15 then13: br label %ret ifend15: %t73 = load i32, ptr %t56 %t74 = icmp eq i32 %t73, 0 %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 %sc16, label %scend17 sc16: %t78 = load ptr, ptr %t4 %t79 = load ptr, ptr %t16 %t80 = call i32 @fn_at_word_in(ptr %t78, ptr %t79) %t81 = icmp ne i32 %t80, 0 %t82 = zext i1 %t81 to i32 store i32 %t82, ptr %t72 br label %scend17 scend17: %t83 = load i32, ptr %t72 %t84 = icmp ne i32 %t83, 0 br i1 %t84, label %then18, label %ifend20 then18: br label %ret ifend20: br label %ifend10 else9: store i32 0, ptr %t85 br label %wcond21 wcond21: %t86 = load i32, ptr %t85 %t87 = load ptr, ptr @g_g_pmc_names %t88 = getelementptr inbounds %LSlice, ptr %t87, i32 0, i32 1 %t89 = load i32, ptr %t88 %t90 = icmp slt i32 %t86, %t89 %t91 = zext i1 %t90 to i32 %t92 = icmp ne i32 %t91, 0 br i1 %t92, label %wbody22, label %wend23 wbody22: store i32 0, ptr %t93 %t94 = load i32, ptr %t56 %t95 = icmp ne i32 %t94, 0 br i1 %t95, label %then24, label %else25 then24: %t96 = load ptr, ptr @g_g_pmc_names %t97 = load i32, ptr %t85 %t98 = getelementptr inbounds %LSlice, ptr %t96, i32 0, i32 0 %t99 = load ptr, ptr %t98 %t100 = getelementptr inbounds %LSlice, ptr %t96, i32 0, i32 1 %t101 = load i32, ptr %t100 %t102 = icmp ult i32 %t97, %t101 br i1 %t102, label %ixok27, label %ixbad28 ixbad28: store i32 2793, ptr @lp_site %t103 = call ptr @lp_win_stdio(i32 2) store i32 0, ptr @lp_site call i32 (ptr, ptr, ...) @fprintf(ptr %t103, ptr @.fmt_bounds, ptr @.str3514, i32 %t97, i32 %t101) call void @exit(i32 1) unreachable ixok27: %t104 = getelementptr inbounds ptr, ptr %t99, i32 %t97 %t105 = load ptr, ptr %t104 %t106 = load ptr, ptr %t27 %t107 = call i32 @fn_str_starts(ptr %t105, ptr %t106) store i32 %t107, ptr %t93 br label %ifend26 else25: %t108 = load ptr, ptr @g_g_pmc_names %t109 = load i32, ptr %t85 %t110 = getelementptr inbounds %LSlice, ptr %t108, i32 0, i32 0 %t111 = load ptr, ptr %t110 %t112 = getelementptr inbounds %LSlice, ptr %t108, i32 0, i32 1 %t113 = load i32, ptr %t112 %t114 = icmp ult i32 %t109, %t113 br i1 %t114, label %ixok29, label %ixbad30 ixbad30: store i32 2794, ptr @lp_site %t115 = call ptr @lp_win_stdio(i32 2) store i32 0, ptr @lp_site call i32 (ptr, ptr, ...) @fprintf(ptr %t115, ptr @.fmt_bounds, ptr @.str3515, i32 %t109, i32 %t113) call void @exit(i32 1) unreachable ixok29: %t116 = getelementptr inbounds ptr, ptr %t111, i32 %t109 %t117 = load ptr, ptr %t116 %t118 = load ptr, ptr %t16 %t119 = call i32 @fn_at_word_in(ptr %t117, ptr %t118) store i32 %t119, ptr %t93 br label %ifend26 ifend26: %t122 = load i32, ptr %t93 %t123 = icmp ne i32 %t122, 0 %t124 = zext i1 %t123 to i32 store i32 %t124, ptr %t121 br i1 %t123, label %sc31, label %scend32 sc31: %t125 = load ptr, ptr @g_g_pmc_isf %t126 = load i32, ptr %t85 %t127 = getelementptr inbounds %LSlice, ptr %t125, i32 0, i32 0 %t128 = load ptr, ptr %t127 %t129 = getelementptr inbounds %LSlice, ptr %t125, i32 0, i32 1 %t130 = load i32, ptr %t129 %t131 = icmp ult i32 %t126, %t130 br i1 %t131, label %ixok33, label %ixbad34 ixbad34: store i32 2795, ptr @lp_site %t132 = call ptr @lp_win_stdio(i32 2) store i32 0, ptr @lp_site call i32 (ptr, ptr, ...) @fprintf(ptr %t132, ptr @.fmt_bounds, ptr @.str3516, i32 %t126, i32 %t130) call void @exit(i32 1) unreachable ixok33: %t133 = getelementptr inbounds i32, ptr %t128, i32 %t126 %t134 = load i32, ptr %t133 %t135 = icmp eq i32 %t134, 0 %t136 = zext i1 %t135 to i32 %t137 = icmp ne i32 %t136, 0 %t138 = zext i1 %t137 to i32 store i32 %t138, ptr %t121 br label %scend32 scend32: %t139 = load i32, ptr %t121 %t140 = icmp ne i32 %t139, 0 %t141 = zext i1 %t140 to i32 store i32 %t141, ptr %t120 br i1 %t140, label %sc35, label %scend36 sc35: %t142 = load ptr, ptr @g_g_pmc_iv %t143 = load i32, ptr %t85 %t144 = getelementptr inbounds %LSlice, ptr %t142, i32 0, i32 0 %t145 = load ptr, ptr %t144 %t146 = getelementptr inbounds %LSlice, ptr %t142, i32 0, i32 1 %t147 = load i32, ptr %t146 %t148 = icmp ult i32 %t143, %t147 br i1 %t148, label %ixok37, label %ixbad38 ixbad38: store i32 2796, ptr @lp_site %t149 = call ptr @lp_win_stdio(i32 2) store i32 0, ptr @lp_site call i32 (ptr, ptr, ...) @fprintf(ptr %t149, ptr @.fmt_bounds, ptr @.str3517, i32 %t143, i32 %t147) call void @exit(i32 1) unreachable ixok37: %t150 = getelementptr inbounds i32, ptr %t145, i32 %t143 %t151 = load i32, ptr %t150 %t152 = call ptr @fn_itoa(i32 %t151) %t153 = load ptr, ptr %t3 %t154 = call i32 @lp_str_eq(ptr %t152, ptr %t153) %t155 = icmp ne i32 %t154, 0 %t156 = zext i1 %t155 to i32 store i32 %t156, ptr %t120 br label %scend36 scend36: %t157 = load i32, ptr %t120 %t158 = icmp ne i32 %t157, 0 br i1 %t158, label %then39, label %ifend41 then39: br label %ret ifend41: %t159 = load i32, ptr %t85 %t160 = add i32 %t159, 1 store i32 %t160, ptr %t85 br label %wcond21 wend23: br label %ifend10 ifend10: %t161 = load ptr, ptr %t3 store ptr %t161, ptr %t162 %t163 = load ptr, ptr %t4 %t164 = icmp ne ptr %t163, null %t165 = zext i1 %t164 to i32 %t166 = icmp ne i32 %t165, 0 br i1 %t166, label %then42, label %ifend44 then42: %t167 = load ptr, ptr %t4 store ptr %t167, ptr %t162 br label %ifend44 ifend44: %t168 = load ptr, ptr %t27 store ptr %t168, ptr %t169 %t170 = load i32, ptr %t56 %t171 = icmp eq i32 %t170, 0 %t172 = zext i1 %t171 to i32 %t173 = icmp ne i32 %t172, 0 br i1 %t173, label %then45, label %ifend47 then45: %t174 = load ptr, ptr %t16 %t175 = call ptr @fn_at_words_text(ptr %t174) store ptr %t175, ptr %t169 br label %ifend47 ifend47: %t176 = load ptr, ptr %t0 %t177 = load ptr, ptr %t1 %t178 = getelementptr inbounds %Cmp_Node, ptr %t177, i32 0, i32 1 %t179 = load ptr, ptr %t178 store i32 2797, ptr @lp_site %t180 = call ptr @lp_str_concat(ptr %t179, ptr @.str3518) store i32 0, ptr @lp_site %t181 = load ptr, ptr %t162 store i32 2798, ptr @lp_site %t182 = call ptr @lp_str_concat(ptr %t180, ptr %t181) store i32 0, ptr @lp_site call void @lp_free(ptr %t180) store i32 2799, ptr @lp_site %t183 = call ptr @lp_str_concat(ptr %t182, ptr @.str3519) store i32 0, ptr @lp_site call void @lp_free(ptr %t182) %t184 = load ptr, ptr %t169 store i32 2800, ptr @lp_site %t185 = call ptr @lp_str_concat(ptr %t183, ptr %t184) store i32 0, ptr @lp_site call void @lp_free(ptr %t183) store i32 2801, ptr @lp_site %t186 = call ptr @lp_str_concat(ptr %t185, ptr @.str3520) store i32 0, ptr @lp_site call void @lp_free(ptr %t185) call void @fn_pmk_err_at(ptr %t176, ptr %t186) br label %ret ret: ret void } define ptr @fn_pmk_arg_nums(ptr %arg_args) { entry: %retval = alloca ptr %t0 = alloca ptr %t7 = alloca ptr %t8 = alloca i32 %t12 = alloca i32 %t18 = alloca i32 %t25 = alloca i32 %t52 = alloca i32 %t53 = alloca i32 %t54 = alloca i32 %t55 = alloca i32 %t127 = alloca i32 store ptr %arg_args, ptr %t0 %t1 = getelementptr %LSlice, ptr null, i32 1 %t2 = ptrtoint ptr %t1 to i64 store i32 2802, ptr @lp_site %t3 = call ptr @lp_malloc(i64 %t2) store i32 0, ptr @lp_site %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 1, ptr %t8 %t9 = load ptr, ptr %t0 %t10 = call i64 @strlen(ptr %t9) %t11 = trunc i64 %t10 to i32 store i32 %t11, ptr %t12 br label %wcond0 wcond0: %t13 = load i32, ptr %t8 %t14 = load i32, ptr %t12 %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: br label %wcond3 wcond3: %t19 = load i32, ptr %t8 %t20 = load i32, ptr %t12 %t21 = icmp slt i32 %t19, %t20 %t22 = zext i1 %t21 to i32 %t23 = icmp ne i32 %t22, 0 %t24 = zext i1 %t23 to i32 store i32 %t24, ptr %t18 br i1 %t23, label %sc6, label %scend7 sc6: %t26 = load ptr, ptr %t0 %t27 = load i32, ptr %t8 %t28 = getelementptr inbounds i8, ptr %t26, i32 %t27 %t29 = load i8, ptr %t28 %t30 = zext i8 %t29 to i32 %t31 = icmp eq i32 %t30, 32 %t32 = zext i1 %t31 to i32 %t33 = icmp ne i32 %t32, 0 %t34 = zext i1 %t33 to i32 store i32 %t34, ptr %t25 br i1 %t33, label %scend9, label %sc8 sc8: %t35 = load ptr, ptr %t0 %t36 = load i32, ptr %t8 %t37 = getelementptr inbounds i8, ptr %t35, i32 %t36 %t38 = load i8, ptr %t37 %t39 = zext i8 %t38 to i32 %t40 = icmp eq i32 %t39, 44 %t41 = zext i1 %t40 to i32 %t42 = icmp ne i32 %t41, 0 %t43 = zext i1 %t42 to i32 store i32 %t43, ptr %t25 br label %scend9 scend9: %t44 = load i32, ptr %t25 %t45 = icmp ne i32 %t44, 0 %t46 = zext i1 %t45 to i32 store i32 %t46, ptr %t18 br label %scend7 scend7: %t47 = load i32, ptr %t18 %t48 = icmp ne i32 %t47, 0 br i1 %t48, label %wbody4, label %wend5 wbody4: %t49 = load i32, ptr %t8 %t50 = add i32 %t49, 1 store i32 %t50, ptr %t8 br label %wcond3 wend5: %t51 = load i32, ptr %t8 store i32 %t51, ptr %t52 br label %wcond10 wcond10: %t56 = load i32, ptr %t8 %t57 = load i32, ptr %t12 %t58 = icmp slt i32 %t56, %t57 %t59 = zext i1 %t58 to i32 %t60 = icmp ne i32 %t59, 0 %t61 = zext i1 %t60 to i32 store i32 %t61, ptr %t55 br i1 %t60, label %sc13, label %scend14 sc13: %t62 = load ptr, ptr %t0 %t63 = load i32, ptr %t8 %t64 = getelementptr inbounds i8, ptr %t62, i32 %t63 %t65 = load i8, ptr %t64 %t66 = zext i8 %t65 to i32 %t67 = icmp ne i32 %t66, 44 %t68 = zext i1 %t67 to i32 %t69 = icmp ne i32 %t68, 0 %t70 = zext i1 %t69 to i32 store i32 %t70, ptr %t55 br label %scend14 scend14: %t71 = load i32, ptr %t55 %t72 = icmp ne i32 %t71, 0 %t73 = zext i1 %t72 to i32 store i32 %t73, ptr %t54 br i1 %t72, label %sc15, label %scend16 sc15: %t74 = load ptr, ptr %t0 %t75 = load i32, ptr %t8 %t76 = getelementptr inbounds i8, ptr %t74, i32 %t75 %t77 = load i8, ptr %t76 %t78 = zext i8 %t77 to i32 %t79 = icmp ne i32 %t78, 93 %t80 = zext i1 %t79 to i32 %t81 = icmp ne i32 %t80, 0 %t82 = zext i1 %t81 to i32 store i32 %t82, ptr %t54 br label %scend16 scend16: %t83 = load i32, ptr %t54 %t84 = icmp ne i32 %t83, 0 %t85 = zext i1 %t84 to i32 store i32 %t85, ptr %t53 br i1 %t84, label %sc17, label %scend18 sc17: %t86 = load ptr, ptr %t0 %t87 = load i32, ptr %t8 %t88 = getelementptr inbounds i8, ptr %t86, i32 %t87 %t89 = load i8, ptr %t88 %t90 = zext i8 %t89 to i32 %t91 = icmp ne i32 %t90, 32 %t92 = zext i1 %t91 to i32 %t93 = icmp ne i32 %t92, 0 %t94 = zext i1 %t93 to i32 store i32 %t94, ptr %t53 br label %scend18 scend18: %t95 = load i32, ptr %t53 %t96 = icmp ne i32 %t95, 0 br i1 %t96, label %wbody11, label %wend12 wbody11: %t97 = load i32, ptr %t8 %t98 = add i32 %t97, 1 store i32 %t98, ptr %t8 br label %wcond10 wend12: %t99 = load i32, ptr %t8 %t100 = load i32, ptr %t52 %t101 = icmp sgt i32 %t99, %t100 %t102 = zext i1 %t101 to i32 %t103 = icmp ne i32 %t102, 0 br i1 %t103, label %then19, label %ifend21 then19: %t104 = load ptr, ptr %t7 %t105 = load ptr, ptr %t0 %t106 = load i32, ptr %t52 %t107 = load i32, ptr %t8 store i32 2803, ptr @lp_site %t108 = call ptr @lp_str_slice(ptr %t105, i32 %t106, i32 %t107) store i32 0, ptr @lp_site %t109 = getelementptr inbounds %LSlice, ptr %t104, i32 0, i32 1 %t110 = getelementptr inbounds %LSlice, ptr %t104, i32 0, i32 2 %t111 = getelementptr inbounds %LSlice, ptr %t104, i32 0, i32 0 %t112 = load i32, ptr %t109 %t113 = load i32, ptr %t110 %t114 = icmp sge i32 %t112, %t113 br i1 %t114, label %grow22, label %put23 grow22: %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 store i32 2804, ptr @lp_site %t123 = call ptr @lp_realloc(ptr %t122, i64 %t121) store i32 0, ptr @lp_site store ptr %t123, ptr %t111 store i32 %t117, ptr %t110 br label %put23 put23: %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 br label %ifend21 ifend21: %t128 = load i32, ptr %t8 %t129 = load i32, ptr %t12 %t130 = icmp slt i32 %t128, %t129 %t131 = zext i1 %t130 to i32 %t132 = icmp ne i32 %t131, 0 %t133 = zext i1 %t132 to i32 store i32 %t133, ptr %t127 br i1 %t132, label %sc24, label %scend25 sc24: %t134 = load ptr, ptr %t0 %t135 = load i32, ptr %t8 %t136 = getelementptr inbounds i8, ptr %t134, i32 %t135 %t137 = load i8, ptr %t136 %t138 = zext i8 %t137 to i32 %t139 = icmp eq i32 %t138, 93 %t140 = zext i1 %t139 to i32 %t141 = icmp ne i32 %t140, 0 %t142 = zext i1 %t141 to i32 store i32 %t142, ptr %t127 br label %scend25 scend25: %t143 = load i32, ptr %t127 %t144 = icmp ne i32 %t143, 0 br i1 %t144, label %then26, label %ifend28 then26: %t145 = load ptr, ptr %t7 store ptr %t145, ptr %retval br label %ret ifend28: br label %wcond0 wend2: %t146 = load ptr, ptr %t7 store ptr %t146, ptr %retval br label %ret ret: %t147 = load ptr, ptr %retval ret ptr %t147 } define i32 @fn_pmk_cmp(ptr %arg_a, ptr %arg_b) { entry: %retval = alloca i32 %t0 = alloca ptr %t1 = alloca ptr %t2 = alloca i32 %t19 = alloca i32 %t20 = alloca i32 %t37 = alloca i32 %t40 = alloca i32 %t43 = alloca i32 %t44 = alloca i32 %t45 = alloca i32 %t59 = alloca i32 %t60 = alloca i32 %t92 = alloca i32 store ptr %arg_a, ptr %t0 store ptr %arg_b, ptr %t1 %t3 = load ptr, ptr %t0 %t4 = call i64 @strlen(ptr %t3) %t5 = trunc i64 %t4 to i32 %t6 = icmp sgt i32 %t5, 0 %t7 = zext i1 %t6 to i32 %t8 = icmp ne i32 %t7, 0 %t9 = zext i1 %t8 to i32 store i32 %t9, ptr %t2 br i1 %t8, label %sc0, label %scend1 sc0: %t10 = load ptr, ptr %t0 %t11 = getelementptr inbounds i8, ptr %t10, i32 0 %t12 = load i8, ptr %t11 %t13 = zext i8 %t12 to i32 %t14 = icmp eq i32 %t13, 45 %t15 = zext i1 %t14 to i32 %t16 = icmp ne i32 %t15, 0 %t17 = zext i1 %t16 to i32 store i32 %t17, ptr %t2 br label %scend1 scend1: %t18 = load i32, ptr %t2 store i32 %t18, ptr %t19 %t21 = load ptr, ptr %t1 %t22 = call i64 @strlen(ptr %t21) %t23 = trunc i64 %t22 to i32 %t24 = icmp sgt 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 %t20 br i1 %t26, label %sc2, label %scend3 sc2: %t28 = load ptr, ptr %t1 %t29 = getelementptr inbounds i8, ptr %t28, i32 0 %t30 = load i8, ptr %t29 %t31 = zext i8 %t30 to i32 %t32 = icmp eq i32 %t31, 45 %t33 = zext i1 %t32 to i32 %t34 = icmp ne i32 %t33, 0 %t35 = zext i1 %t34 to i32 store i32 %t35, ptr %t20 br label %scend3 scend3: %t36 = load i32, ptr %t20 store i32 %t36, ptr %t37 %t38 = load ptr, ptr %t0 %t39 = call i32 @fn_pmk_zero(ptr %t38) store i32 %t39, ptr %t40 %t41 = load ptr, ptr %t1 %t42 = call i32 @fn_pmk_zero(ptr %t41) store i32 %t42, ptr %t43 store i32 1, ptr %t44 %t46 = load i32, ptr %t19 %t47 = icmp ne i32 %t46, 0 %t48 = zext i1 %t47 to i32 store i32 %t48, ptr %t45 br i1 %t47, label %sc4, label %scend5 sc4: %t49 = load i32, ptr %t40 %t50 = icmp eq i32 %t49, 0 %t51 = zext i1 %t50 to i32 %t52 = icmp ne i32 %t51, 0 %t53 = zext i1 %t52 to i32 store i32 %t53, ptr %t45 br label %scend5 scend5: %t54 = load i32, ptr %t45 %t55 = icmp ne i32 %t54, 0 br i1 %t55, label %then6, label %ifend8 then6: %t56 = sub i32 0, 1 store i32 %t56, ptr %t44 br label %ifend8 ifend8: %t57 = load i32, ptr %t40 %t58 = icmp ne i32 %t57, 0 br i1 %t58, label %then9, label %ifend11 then9: store i32 0, ptr %t44 br label %ifend11 ifend11: store i32 1, ptr %t59 %t61 = load i32, ptr %t37 %t62 = icmp ne i32 %t61, 0 %t63 = zext i1 %t62 to i32 store i32 %t63, ptr %t60 br i1 %t62, label %sc12, label %scend13 sc12: %t64 = load i32, ptr %t43 %t65 = icmp eq i32 %t64, 0 %t66 = zext i1 %t65 to i32 %t67 = icmp ne i32 %t66, 0 %t68 = zext i1 %t67 to i32 store i32 %t68, ptr %t60 br label %scend13 scend13: %t69 = load i32, ptr %t60 %t70 = icmp ne i32 %t69, 0 br i1 %t70, label %then14, label %ifend16 then14: %t71 = sub i32 0, 1 store i32 %t71, ptr %t59 br label %ifend16 ifend16: %t72 = load i32, ptr %t43 %t73 = icmp ne i32 %t72, 0 br i1 %t73, label %then17, label %ifend19 then17: store i32 0, ptr %t59 br label %ifend19 ifend19: %t74 = load i32, ptr %t44 %t75 = load i32, ptr %t59 %t76 = icmp ne i32 %t74, %t75 %t77 = zext i1 %t76 to i32 %t78 = icmp ne i32 %t77, 0 br i1 %t78, label %then20, label %ifend22 then20: %t79 = load i32, ptr %t44 %t80 = load i32, ptr %t59 %t81 = icmp slt i32 %t79, %t80 %t82 = zext i1 %t81 to i32 %t83 = icmp ne i32 %t82, 0 br i1 %t83, label %then23, label %ifend25 then23: %t84 = sub i32 0, 1 store i32 %t84, ptr %retval br label %ret ifend25: store i32 1, ptr %retval br label %ret ifend22: %t85 = load i32, ptr %t44 %t86 = icmp eq i32 %t85, 0 %t87 = zext i1 %t86 to i32 %t88 = icmp ne i32 %t87, 0 br i1 %t88, label %then26, label %ifend28 then26: store i32 0, ptr %retval br label %ret ifend28: %t89 = load ptr, ptr %t0 %t90 = load ptr, ptr %t1 %t91 = call i32 @fn_pmk_mag(ptr %t89, ptr %t90) store i32 %t91, ptr %t92 %t93 = load i32, ptr %t44 %t94 = icmp slt i32 %t93, 0 %t95 = zext i1 %t94 to i32 %t96 = icmp ne i32 %t95, 0 br i1 %t96, label %then29, label %ifend31 then29: %t97 = load i32, ptr %t92 %t98 = sub i32 0, %t97 store i32 %t98, ptr %retval br label %ret ifend31: %t99 = load i32, ptr %t92 store i32 %t99, ptr %retval br label %ret ret: %t100 = load i32, ptr %retval ret i32 %t100 } define i32 @fn_pmk_zero(ptr %arg_t) { entry: %retval = alloca i32 %t0 = alloca ptr %t1 = alloca i32 %t9 = alloca i32 %t30 = alloca i32 store ptr %arg_t, ptr %t0 store i32 0, ptr %t1 br label %wcond0 wcond0: %t2 = load i32, ptr %t1 %t3 = load ptr, ptr %t0 %t4 = call i64 @strlen(ptr %t3) %t5 = trunc i64 %t4 to i32 %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: %t10 = load ptr, ptr %t0 %t11 = load i32, ptr %t1 %t12 = getelementptr inbounds i8, ptr %t10, i32 %t11 %t13 = load i8, ptr %t12 %t14 = zext i8 %t13 to i32 %t15 = icmp sge i32 %t14, 49 %t16 = zext i1 %t15 to i32 %t17 = icmp ne i32 %t16, 0 %t18 = zext i1 %t17 to i32 store i32 %t18, ptr %t9 br i1 %t17, label %sc3, label %scend4 sc3: %t19 = load ptr, ptr %t0 %t20 = load i32, ptr %t1 %t21 = getelementptr inbounds i8, ptr %t19, i32 %t20 %t22 = load i8, ptr %t21 %t23 = zext i8 %t22 to i32 %t24 = icmp sle i32 %t23, 57 %t25 = zext i1 %t24 to i32 %t26 = icmp ne i32 %t25, 0 %t27 = zext i1 %t26 to i32 store i32 %t27, ptr %t9 br label %scend4 scend4: %t28 = load i32, ptr %t9 %t29 = icmp ne i32 %t28, 0 br i1 %t29, label %then5, label %ifend7 then5: store i32 0, ptr %retval br label %ret ifend7: %t31 = load ptr, ptr %t0 %t32 = load i32, ptr %t1 %t33 = getelementptr inbounds i8, ptr %t31, i32 %t32 %t34 = load i8, ptr %t33 %t35 = zext i8 %t34 to i32 %t36 = icmp eq i32 %t35, 101 %t37 = zext i1 %t36 to i32 %t38 = icmp ne i32 %t37, 0 %t39 = zext i1 %t38 to i32 store i32 %t39, ptr %t30 br i1 %t38, label %scend9, label %sc8 sc8: %t40 = load ptr, ptr %t0 %t41 = load i32, ptr %t1 %t42 = getelementptr inbounds i8, ptr %t40, i32 %t41 %t43 = load i8, ptr %t42 %t44 = zext i8 %t43 to i32 %t45 = icmp eq i32 %t44, 69 %t46 = zext i1 %t45 to i32 %t47 = icmp ne i32 %t46, 0 %t48 = zext i1 %t47 to i32 store i32 %t48, ptr %t30 br label %scend9 scend9: %t49 = load i32, ptr %t30 %t50 = icmp ne i32 %t49, 0 br i1 %t50, label %then10, label %ifend12 then10: store i32 1, ptr %retval br label %ret ifend12: %t51 = load i32, ptr %t1 %t52 = add i32 %t51, 1 store i32 %t52, ptr %t1 br label %wcond0 wend2: store i32 1, ptr %retval br label %ret ret: %t53 = load i32, ptr %retval ret i32 %t53 } define i32 @fn_pmk_mag(ptr %arg_a, ptr %arg_b) { entry: %retval = alloca i32 %t0 = alloca ptr %t1 = alloca ptr %t4 = alloca ptr %t7 = alloca ptr %t27 = alloca i32 %t66 = alloca ptr %t69 = alloca ptr %t70 = alloca i32 %t89 = alloca i32 %t90 = alloca i32 store ptr %arg_a, ptr %t0 store ptr %arg_b, ptr %t1 %t2 = load ptr, ptr %t0 %t3 = call ptr @fn_pmk_ipart(ptr %t2) store ptr %t3, ptr %t4 %t5 = load ptr, ptr %t1 %t6 = call ptr @fn_pmk_ipart(ptr %t5) store ptr %t6, ptr %t7 %t8 = load ptr, ptr %t4 %t9 = call i64 @strlen(ptr %t8) %t10 = trunc i64 %t9 to i32 %t11 = load ptr, ptr %t7 %t12 = call i64 @strlen(ptr %t11) %t13 = trunc i64 %t12 to i32 %t14 = icmp ne i32 %t10, %t13 %t15 = zext i1 %t14 to i32 %t16 = icmp ne i32 %t15, 0 br i1 %t16, label %then0, label %ifend2 then0: %t17 = load ptr, ptr %t4 %t18 = call i64 @strlen(ptr %t17) %t19 = trunc i64 %t18 to i32 %t20 = load ptr, ptr %t7 %t21 = call i64 @strlen(ptr %t20) %t22 = trunc i64 %t21 to i32 %t23 = icmp slt i32 %t19, %t22 %t24 = zext i1 %t23 to i32 %t25 = icmp ne i32 %t24, 0 br i1 %t25, label %then3, label %ifend5 then3: %t26 = sub i32 0, 1 store i32 %t26, ptr %retval br label %ret ifend5: store i32 1, ptr %retval br label %ret ifend2: store i32 0, ptr %t27 br label %wcond6 wcond6: %t28 = load i32, ptr %t27 %t29 = load ptr, ptr %t4 %t30 = call i64 @strlen(ptr %t29) %t31 = trunc i64 %t30 to i32 %t32 = icmp slt i32 %t28, %t31 %t33 = zext i1 %t32 to i32 %t34 = icmp ne i32 %t33, 0 br i1 %t34, label %wbody7, label %wend8 wbody7: %t35 = load ptr, ptr %t4 %t36 = load i32, ptr %t27 %t37 = getelementptr inbounds i8, ptr %t35, i32 %t36 %t38 = load i8, ptr %t37 %t39 = zext i8 %t38 to i32 %t40 = load ptr, ptr %t7 %t41 = load i32, ptr %t27 %t42 = getelementptr inbounds i8, ptr %t40, i32 %t41 %t43 = load i8, ptr %t42 %t44 = zext i8 %t43 to i32 %t45 = icmp ne i32 %t39, %t44 %t46 = zext i1 %t45 to i32 %t47 = icmp ne i32 %t46, 0 br i1 %t47, label %then9, label %ifend11 then9: %t48 = load ptr, ptr %t4 %t49 = load i32, ptr %t27 %t50 = getelementptr inbounds i8, ptr %t48, i32 %t49 %t51 = load i8, ptr %t50 %t52 = zext i8 %t51 to i32 %t53 = load ptr, ptr %t7 %t54 = load i32, ptr %t27 %t55 = getelementptr inbounds i8, ptr %t53, i32 %t54 %t56 = load i8, ptr %t55 %t57 = zext i8 %t56 to i32 %t58 = icmp slt i32 %t52, %t57 %t59 = zext i1 %t58 to i32 %t60 = icmp ne i32 %t59, 0 br i1 %t60, label %then12, label %ifend14 then12: %t61 = sub i32 0, 1 store i32 %t61, ptr %retval br label %ret ifend14: store i32 1, ptr %retval br label %ret ifend11: %t62 = load i32, ptr %t27 %t63 = add i32 %t62, 1 store i32 %t63, ptr %t27 br label %wcond6 wend8: %t64 = load ptr, ptr %t0 %t65 = call ptr @fn_pmk_fpart(ptr %t64) store ptr %t65, ptr %t66 %t67 = load ptr, ptr %t1 %t68 = call ptr @fn_pmk_fpart(ptr %t67) store ptr %t68, ptr %t69 store i32 0, ptr %t27 br label %wcond15 wcond15: %t71 = load i32, ptr %t27 %t72 = load ptr, ptr %t66 %t73 = call i64 @strlen(ptr %t72) %t74 = trunc i64 %t73 to i32 %t75 = icmp slt i32 %t71, %t74 %t76 = zext i1 %t75 to i32 %t77 = icmp ne i32 %t76, 0 %t78 = zext i1 %t77 to i32 store i32 %t78, ptr %t70 br i1 %t77, label %scend19, label %sc18 sc18: %t79 = load i32, ptr %t27 %t80 = load ptr, ptr %t69 %t81 = call i64 @strlen(ptr %t80) %t82 = trunc i64 %t81 to i32 %t83 = icmp slt i32 %t79, %t82 %t84 = zext i1 %t83 to i32 %t85 = icmp ne i32 %t84, 0 %t86 = zext i1 %t85 to i32 store i32 %t86, ptr %t70 br label %scend19 scend19: %t87 = load i32, ptr %t70 %t88 = icmp ne i32 %t87, 0 br i1 %t88, label %wbody16, label %wend17 wbody16: store i32 48, ptr %t89 store i32 48, ptr %t90 %t91 = load i32, ptr %t27 %t92 = load ptr, ptr %t66 %t93 = call i64 @strlen(ptr %t92) %t94 = trunc i64 %t93 to i32 %t95 = icmp slt i32 %t91, %t94 %t96 = zext i1 %t95 to i32 %t97 = icmp ne i32 %t96, 0 br i1 %t97, label %then20, label %ifend22 then20: %t98 = load ptr, ptr %t66 %t99 = load i32, ptr %t27 %t100 = getelementptr inbounds i8, ptr %t98, i32 %t99 %t101 = load i8, ptr %t100 %t102 = zext i8 %t101 to i32 store i32 %t102, ptr %t89 br label %ifend22 ifend22: %t103 = load i32, ptr %t27 %t104 = load ptr, ptr %t69 %t105 = call i64 @strlen(ptr %t104) %t106 = trunc i64 %t105 to i32 %t107 = icmp slt i32 %t103, %t106 %t108 = zext i1 %t107 to i32 %t109 = icmp ne i32 %t108, 0 br i1 %t109, label %then23, label %ifend25 then23: %t110 = load ptr, ptr %t69 %t111 = load i32, ptr %t27 %t112 = getelementptr inbounds i8, ptr %t110, i32 %t111 %t113 = load i8, ptr %t112 %t114 = zext i8 %t113 to i32 store i32 %t114, ptr %t90 br label %ifend25 ifend25: %t115 = load i32, ptr %t89 %t116 = load i32, ptr %t90 %t117 = icmp ne i32 %t115, %t116 %t118 = zext i1 %t117 to i32 %t119 = icmp ne i32 %t118, 0 br i1 %t119, label %then26, label %ifend28 then26: %t120 = load i32, ptr %t89 %t121 = load i32, ptr %t90 %t122 = icmp slt i32 %t120, %t121 %t123 = zext i1 %t122 to i32 %t124 = icmp ne i32 %t123, 0 br i1 %t124, label %then29, label %ifend31 then29: %t125 = sub i32 0, 1 store i32 %t125, ptr %retval br label %ret ifend31: store i32 1, ptr %retval br label %ret ifend28: %t126 = load i32, ptr %t27 %t127 = add i32 %t126, 1 store i32 %t127, ptr %t27 br label %wcond15 wend17: store i32 0, ptr %retval br label %ret ret: %t128 = load i32, ptr %retval ret i32 %t128 } define ptr @fn_pmk_ipart(ptr %arg_t) { entry: %retval = alloca ptr %t0 = alloca ptr %t1 = alloca i32 %t2 = alloca i32 %t10 = alloca i32 %t32 = alloca i32 %t33 = alloca i32 %t34 = alloca i32 %t84 = alloca i32 %t85 = alloca i32 %t86 = alloca i32 store ptr %arg_t, ptr %t0 store i32 0, ptr %t1 %t3 = load ptr, ptr %t0 %t4 = call i64 @strlen(ptr %t3) %t5 = trunc i64 %t4 to i32 %t6 = icmp sgt i32 %t5, 0 %t7 = zext i1 %t6 to i32 %t8 = icmp ne i32 %t7, 0 %t9 = zext i1 %t8 to i32 store i32 %t9, ptr %t2 br i1 %t8, 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, 45 %t16 = zext i1 %t15 to i32 %t17 = icmp ne i32 %t16, 0 %t18 = zext i1 %t17 to i32 store i32 %t18, ptr %t10 br i1 %t17, label %scend3, label %sc2 sc2: %t19 = load ptr, ptr %t0 %t20 = getelementptr inbounds i8, ptr %t19, i32 0 %t21 = load i8, ptr %t20 %t22 = zext i8 %t21 to i32 %t23 = icmp eq i32 %t22, 43 %t24 = zext i1 %t23 to i32 %t25 = icmp ne i32 %t24, 0 %t26 = zext i1 %t25 to i32 store i32 %t26, ptr %t10 br label %scend3 scend3: %t27 = load i32, ptr %t10 %t28 = icmp ne i32 %t27, 0 %t29 = zext i1 %t28 to i32 store i32 %t29, ptr %t2 br label %scend1 scend1: %t30 = load i32, ptr %t2 %t31 = icmp ne i32 %t30, 0 br i1 %t31, label %then4, label %ifend6 then4: store i32 1, ptr %t1 br label %ifend6 ifend6: br label %wcond7 wcond7: %t35 = load i32, ptr %t1 %t36 = load ptr, ptr %t0 %t37 = call i64 @strlen(ptr %t36) %t38 = trunc i64 %t37 to i32 %t39 = sub i32 %t38, 1 %t40 = icmp slt i32 %t35, %t39 %t41 = zext i1 %t40 to i32 %t42 = icmp ne i32 %t41, 0 %t43 = zext i1 %t42 to i32 store i32 %t43, ptr %t34 br i1 %t42, label %sc10, label %scend11 sc10: %t44 = load ptr, ptr %t0 %t45 = load i32, ptr %t1 %t46 = getelementptr inbounds i8, ptr %t44, i32 %t45 %t47 = load i8, ptr %t46 %t48 = zext i8 %t47 to i32 %t49 = icmp eq i32 %t48, 48 %t50 = zext i1 %t49 to i32 %t51 = icmp ne i32 %t50, 0 %t52 = zext i1 %t51 to i32 store i32 %t52, ptr %t34 br label %scend11 scend11: %t53 = load i32, ptr %t34 %t54 = icmp ne i32 %t53, 0 %t55 = zext i1 %t54 to i32 store i32 %t55, ptr %t33 br i1 %t54, label %sc12, label %scend13 sc12: %t56 = load ptr, ptr %t0 %t57 = load i32, ptr %t1 %t58 = add i32 %t57, 1 %t59 = getelementptr inbounds i8, ptr %t56, i32 %t58 %t60 = load i8, ptr %t59 %t61 = zext i8 %t60 to i32 %t62 = icmp sge i32 %t61, 48 %t63 = zext i1 %t62 to i32 %t64 = icmp ne i32 %t63, 0 %t65 = zext i1 %t64 to i32 store i32 %t65, ptr %t33 br label %scend13 scend13: %t66 = load i32, ptr %t33 %t67 = icmp ne i32 %t66, 0 %t68 = zext i1 %t67 to i32 store i32 %t68, ptr %t32 br i1 %t67, label %sc14, label %scend15 sc14: %t69 = load ptr, ptr %t0 %t70 = load i32, ptr %t1 %t71 = add i32 %t70, 1 %t72 = getelementptr inbounds i8, ptr %t69, i32 %t71 %t73 = load i8, ptr %t72 %t74 = zext i8 %t73 to i32 %t75 = icmp sle i32 %t74, 57 %t76 = zext i1 %t75 to i32 %t77 = icmp ne i32 %t76, 0 %t78 = zext i1 %t77 to i32 store i32 %t78, ptr %t32 br label %scend15 scend15: %t79 = load i32, ptr %t32 %t80 = icmp ne i32 %t79, 0 br i1 %t80, label %wbody8, label %wend9 wbody8: %t81 = load i32, ptr %t1 %t82 = add i32 %t81, 1 store i32 %t82, ptr %t1 br label %wcond7 wend9: %t83 = load i32, ptr %t1 store i32 %t83, ptr %t84 br label %wcond16 wcond16: %t87 = load i32, ptr %t84 %t88 = load ptr, ptr %t0 %t89 = call i64 @strlen(ptr %t88) %t90 = trunc i64 %t89 to i32 %t91 = icmp slt i32 %t87, %t90 %t92 = zext i1 %t91 to i32 %t93 = icmp ne i32 %t92, 0 %t94 = zext i1 %t93 to i32 store i32 %t94, ptr %t86 br i1 %t93, label %sc19, label %scend20 sc19: %t95 = load ptr, ptr %t0 %t96 = load i32, ptr %t84 %t97 = getelementptr inbounds i8, ptr %t95, i32 %t96 %t98 = load i8, ptr %t97 %t99 = zext i8 %t98 to i32 %t100 = icmp sge i32 %t99, 48 %t101 = zext i1 %t100 to i32 %t102 = icmp ne i32 %t101, 0 %t103 = zext i1 %t102 to i32 store i32 %t103, ptr %t86 br label %scend20 scend20: %t104 = load i32, ptr %t86 %t105 = icmp ne i32 %t104, 0 %t106 = zext i1 %t105 to i32 store i32 %t106, ptr %t85 br i1 %t105, label %sc21, label %scend22 sc21: %t107 = load ptr, ptr %t0 %t108 = load i32, ptr %t84 %t109 = getelementptr inbounds i8, ptr %t107, i32 %t108 %t110 = load i8, ptr %t109 %t111 = zext i8 %t110 to i32 %t112 = icmp sle i32 %t111, 57 %t113 = zext i1 %t112 to i32 %t114 = icmp ne i32 %t113, 0 %t115 = zext i1 %t114 to i32 store i32 %t115, ptr %t85 br label %scend22 scend22: %t116 = load i32, ptr %t85 %t117 = icmp ne i32 %t116, 0 br i1 %t117, label %wbody17, label %wend18 wbody17: %t118 = load i32, ptr %t84 %t119 = add i32 %t118, 1 store i32 %t119, ptr %t84 br label %wcond16 wend18: %t120 = load ptr, ptr %t0 %t121 = load i32, ptr %t1 %t122 = load i32, ptr %t84 store i32 2805, ptr @lp_site %t123 = call ptr @lp_str_slice(ptr %t120, i32 %t121, i32 %t122) store i32 0, ptr @lp_site store ptr %t123, ptr %retval br label %ret ret: %t124 = load ptr, ptr %retval ret ptr %t124 } define ptr @fn_pmk_fpart(ptr %arg_t) { entry: %retval = alloca ptr %t0 = alloca ptr %t1 = alloca i32 %t2 = alloca i32 %t33 = alloca i32 %t34 = alloca i32 %t35 = alloca i32 store ptr %arg_t, ptr %t0 store i32 0, ptr %t1 br label %wcond0 wcond0: %t3 = load i32, ptr %t1 %t4 = load ptr, ptr %t0 %t5 = call i64 @strlen(ptr %t4) %t6 = trunc i64 %t5 to i32 %t7 = icmp slt i32 %t3, %t6 %t8 = zext i1 %t7 to i32 %t9 = icmp ne i32 %t8, 0 %t10 = zext i1 %t9 to i32 store i32 %t10, ptr %t2 br i1 %t9, label %sc3, label %scend4 sc3: %t11 = load ptr, ptr %t0 %t12 = load i32, ptr %t1 %t13 = getelementptr inbounds i8, ptr %t11, i32 %t12 %t14 = load i8, ptr %t13 %t15 = zext i8 %t14 to i32 %t16 = icmp ne i32 %t15, 46 %t17 = zext i1 %t16 to i32 %t18 = icmp ne i32 %t17, 0 %t19 = zext i1 %t18 to i32 store i32 %t19, ptr %t2 br label %scend4 scend4: %t20 = load i32, ptr %t2 %t21 = icmp ne i32 %t20, 0 br i1 %t21, label %wbody1, label %wend2 wbody1: %t22 = load i32, ptr %t1 %t23 = add i32 %t22, 1 store i32 %t23, ptr %t1 br label %wcond0 wend2: %t24 = load i32, ptr %t1 %t25 = load ptr, ptr %t0 %t26 = call i64 @strlen(ptr %t25) %t27 = trunc i64 %t26 to i32 %t28 = icmp sge i32 %t24, %t27 %t29 = zext i1 %t28 to i32 %t30 = icmp ne i32 %t29, 0 br i1 %t30, label %then5, label %ifend7 then5: store ptr @.str3523, ptr %retval br label %ret ifend7: %t31 = load i32, ptr %t1 %t32 = add i32 %t31, 1 store i32 %t32, ptr %t33 br label %wcond8 wcond8: %t36 = load i32, ptr %t33 %t37 = load ptr, ptr %t0 %t38 = call i64 @strlen(ptr %t37) %t39 = trunc i64 %t38 to i32 %t40 = icmp slt i32 %t36, %t39 %t41 = zext i1 %t40 to i32 %t42 = icmp ne i32 %t41, 0 %t43 = zext i1 %t42 to i32 store i32 %t43, ptr %t35 br i1 %t42, label %sc11, label %scend12 sc11: %t44 = load ptr, ptr %t0 %t45 = load i32, ptr %t33 %t46 = getelementptr inbounds i8, ptr %t44, i32 %t45 %t47 = load i8, ptr %t46 %t48 = zext i8 %t47 to i32 %t49 = icmp sge i32 %t48, 48 %t50 = zext i1 %t49 to i32 %t51 = icmp ne i32 %t50, 0 %t52 = zext i1 %t51 to i32 store i32 %t52, ptr %t35 br label %scend12 scend12: %t53 = load i32, ptr %t35 %t54 = icmp ne i32 %t53, 0 %t55 = zext i1 %t54 to i32 store i32 %t55, ptr %t34 br i1 %t54, label %sc13, label %scend14 sc13: %t56 = load ptr, ptr %t0 %t57 = load i32, ptr %t33 %t58 = getelementptr inbounds i8, ptr %t56, i32 %t57 %t59 = load i8, ptr %t58 %t60 = zext i8 %t59 to i32 %t61 = icmp sle i32 %t60, 57 %t62 = zext i1 %t61 to i32 %t63 = icmp ne i32 %t62, 0 %t64 = zext i1 %t63 to i32 store i32 %t64, ptr %t34 br label %scend14 scend14: %t65 = load i32, ptr %t34 %t66 = icmp ne i32 %t65, 0 br i1 %t66, label %wbody9, label %wend10 wbody9: %t67 = load i32, ptr %t33 %t68 = add i32 %t67, 1 store i32 %t68, ptr %t33 br label %wcond8 wend10: %t69 = load ptr, ptr %t0 %t70 = load i32, ptr %t1 %t71 = add i32 %t70, 1 %t72 = load i32, ptr %t33 store i32 2806, ptr @lp_site %t73 = call ptr @lp_str_slice(ptr %t69, i32 %t71, i32 %t72) store i32 0, ptr @lp_site store ptr %t73, ptr %retval br label %ret ret: %t74 = load ptr, ptr %retval ret ptr %t74 } define void @fn_call_mixed_to_named(ptr %arg_e, ptr %arg_labels) { entry: %t0 = alloca ptr %t1 = alloca ptr %t3 = alloca i32 %t4 = alloca i32 %t14 = alloca i32 %t41 = alloca i32 %t85 = alloca ptr %t86 = alloca i32 %t108 = alloca ptr %t109 = alloca i32 %t127 = alloca ptr store ptr %arg_e, ptr %t0 store ptr %arg_labels, ptr %t1 %t2 = sub i32 0, 1 store i32 %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: %t15 = load ptr, ptr %t0 %t16 = getelementptr inbounds %Cmp_Node, ptr %t15, i32 0, i32 7 %t17 = load ptr, ptr %t16 %t18 = load i32, ptr %t4 %t19 = getelementptr inbounds %LSlice, ptr %t17, i32 0, i32 0 %t20 = load ptr, ptr %t19 %t21 = getelementptr inbounds %LSlice, ptr %t17, i32 0, i32 1 %t22 = load i32, ptr %t21 %t23 = icmp ult i32 %t18, %t22 br i1 %t23, label %ixok3, label %ixbad4 ixbad4: store i32 2807, ptr @lp_site %t24 = call ptr @lp_win_stdio(i32 2) store i32 0, ptr @lp_site call i32 (ptr, ptr, ...) @fprintf(ptr %t24, ptr @.fmt_bounds, ptr @.str3525, i32 %t18, i32 %t22) call void @exit(i32 1) unreachable ixok3: %t25 = getelementptr inbounds ptr, ptr %t20, i32 %t18 %t26 = load ptr, ptr %t25 %t27 = getelementptr inbounds %Cmp_Node, ptr %t26, i32 0, i32 0 %t28 = load i32, ptr %t27 %t29 = icmp eq i32 %t28, 42 %t30 = zext i1 %t29 to i32 %t31 = icmp ne i32 %t30, 0 %t32 = zext i1 %t31 to i32 store i32 %t32, ptr %t14 br i1 %t31, label %sc5, label %scend6 sc5: %t33 = load i32, ptr %t3 %t34 = icmp slt i32 %t33, 0 %t35 = zext i1 %t34 to i32 %t36 = icmp ne i32 %t35, 0 %t37 = zext i1 %t36 to i32 store i32 %t37, ptr %t14 br label %scend6 scend6: %t38 = load i32, ptr %t14 %t39 = icmp ne i32 %t38, 0 br i1 %t39, label %then7, label %ifend9 then7: %t40 = load i32, ptr %t4 store i32 %t40, ptr %t3 br label %ifend9 ifend9: %t42 = load ptr, ptr %t0 %t43 = getelementptr inbounds %Cmp_Node, ptr %t42, i32 0, i32 7 %t44 = load ptr, ptr %t43 %t45 = load i32, ptr %t4 %t46 = getelementptr inbounds %LSlice, ptr %t44, i32 0, i32 0 %t47 = load ptr, ptr %t46 %t48 = getelementptr inbounds %LSlice, ptr %t44, i32 0, i32 1 %t49 = load i32, ptr %t48 %t50 = icmp ult i32 %t45, %t49 br i1 %t50, label %ixok10, label %ixbad11 ixbad11: store i32 2808, ptr @lp_site %t51 = call ptr @lp_win_stdio(i32 2) store i32 0, ptr @lp_site call i32 (ptr, ptr, ...) @fprintf(ptr %t51, ptr @.fmt_bounds, ptr @.str3527, i32 %t45, i32 %t49) call void @exit(i32 1) unreachable ixok10: %t52 = getelementptr inbounds ptr, ptr %t47, i32 %t45 %t53 = load ptr, ptr %t52 %t54 = getelementptr inbounds %Cmp_Node, ptr %t53, i32 0, i32 0 %t55 = load i32, ptr %t54 %t56 = icmp ne i32 %t55, 42 %t57 = zext i1 %t56 to i32 %t58 = icmp ne i32 %t57, 0 %t59 = zext i1 %t58 to i32 store i32 %t59, ptr %t41 br i1 %t58, label %sc12, label %scend13 sc12: %t60 = load i32, ptr %t3 %t61 = icmp sge i32 %t60, 0 %t62 = zext i1 %t61 to i32 %t63 = icmp ne i32 %t62, 0 %t64 = zext i1 %t63 to i32 store i32 %t64, ptr %t41 br label %scend13 scend13: %t65 = load i32, ptr %t41 %t66 = icmp ne i32 %t65, 0 br i1 %t66, label %then14, label %ifend16 then14: %t67 = load ptr, ptr %t0 %t68 = getelementptr inbounds %Cmp_Node, ptr %t67, i32 0, i32 9 %t69 = load ptr, ptr %t68 store ptr %t69, ptr @g_g_err_file %t70 = load ptr, ptr %t0 %t71 = getelementptr inbounds %Cmp_Node, ptr %t70, i32 0, i32 8 %t72 = load i32, ptr %t71 store i32 %t72, ptr @g_g_err_line call void @fn_perr(ptr @.str3528) br label %ifend16 ifend16: %t73 = load i32, ptr %t4 %t74 = add i32 %t73, 1 store i32 %t74, ptr %t4 br label %wcond0 wend2: %t75 = load i32, ptr %t3 %t76 = icmp sle i32 %t75, 0 %t77 = zext i1 %t76 to i32 %t78 = icmp ne i32 %t77, 0 br i1 %t78, label %then17, label %ifend19 then17: br label %ret ifend19: %t79 = getelementptr %LSlice, ptr null, i32 1 %t80 = ptrtoint ptr %t79 to i64 store i32 2809, ptr @lp_site %t81 = call ptr @lp_malloc(i64 %t80) store i32 0, ptr @lp_site %t82 = getelementptr inbounds %LSlice, ptr %t81, i32 0, i32 0 store ptr null, ptr %t82 %t83 = getelementptr inbounds %LSlice, ptr %t81, i32 0, i32 1 store i32 0, ptr %t83 %t84 = getelementptr inbounds %LSlice, ptr %t81, i32 0, i32 2 store i32 0, ptr %t84 store ptr %t81, ptr %t85 store i32 0, ptr %t86 br label %wcond20 wcond20: %t87 = load i32, ptr %t86 %t88 = load ptr, ptr %t0 %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 %wbody21, label %wend22 wbody21: %t96 = load ptr, ptr %t0 %t97 = getelementptr inbounds %Cmp_Node, ptr %t96, i32 0, i32 7 %t98 = load ptr, ptr %t97 %t99 = load i32, ptr %t86 %t100 = getelementptr inbounds %LSlice, ptr %t98, i32 0, i32 0 %t101 = load ptr, ptr %t100 %t102 = getelementptr inbounds %LSlice, ptr %t98, i32 0, i32 1 %t103 = load i32, ptr %t102 %t104 = icmp ult i32 %t99, %t103 br i1 %t104, label %ixok23, label %ixbad24 ixbad24: store i32 2810, ptr @lp_site %t105 = call ptr @lp_win_stdio(i32 2) store i32 0, ptr @lp_site call i32 (ptr, ptr, ...) @fprintf(ptr %t105, ptr @.fmt_bounds, ptr @.str3529, i32 %t99, i32 %t103) call void @exit(i32 1) unreachable ixok23: %t106 = getelementptr inbounds ptr, ptr %t101, i32 %t99 %t107 = load ptr, ptr %t106 store ptr %t107, ptr %t108 %t110 = load i32, ptr %t86 %t111 = load i32, ptr %t3 %t112 = icmp slt i32 %t110, %t111 %t113 = zext i1 %t112 to i32 %t114 = icmp ne i32 %t113, 0 %t115 = zext i1 %t114 to i32 store i32 %t115, ptr %t109 br i1 %t114, label %sc25, label %scend26 sc25: %t116 = load i32, ptr %t86 %t117 = load ptr, ptr %t1 %t118 = getelementptr inbounds %LSlice, ptr %t117, i32 0, i32 1 %t119 = load i32, ptr %t118 %t120 = icmp slt i32 %t116, %t119 %t121 = zext i1 %t120 to i32 %t122 = icmp ne i32 %t121, 0 %t123 = zext i1 %t122 to i32 store i32 %t123, ptr %t109 br label %scend26 scend26: %t124 = load i32, ptr %t109 %t125 = icmp ne i32 %t124, 0 br i1 %t125, label %then27, label %ifend29 then27: %t126 = call ptr @fn_node(i32 42) store ptr %t126, ptr %t127 %t128 = load ptr, ptr %t127 %t129 = getelementptr inbounds %Cmp_Node, ptr %t128, i32 0, i32 1 %t130 = load ptr, ptr %t1 %t131 = load i32, ptr %t86 %t132 = getelementptr inbounds %LSlice, ptr %t130, i32 0, i32 0 %t133 = load ptr, ptr %t132 %t134 = getelementptr inbounds %LSlice, ptr %t130, i32 0, i32 1 %t135 = load i32, ptr %t134 %t136 = icmp ult i32 %t131, %t135 br i1 %t136, label %ixok30, label %ixbad31 ixbad31: store i32 2811, ptr @lp_site %t137 = call ptr @lp_win_stdio(i32 2) store i32 0, ptr @lp_site call i32 (ptr, ptr, ...) @fprintf(ptr %t137, ptr @.fmt_bounds, ptr @.str3530, i32 %t131, i32 %t135) call void @exit(i32 1) unreachable ixok30: %t138 = getelementptr inbounds ptr, ptr %t133, i32 %t131 %t139 = load ptr, ptr %t138 store ptr %t139, ptr %t129 %t140 = load ptr, ptr %t127 %t141 = getelementptr inbounds %Cmp_Node, ptr %t140, i32 0, i32 4 %t142 = load ptr, ptr %t108 store ptr %t142, ptr %t141 %t143 = load ptr, ptr %t127 %t144 = getelementptr inbounds %Cmp_Node, ptr %t143, i32 0, i32 8 %t145 = load ptr, ptr %t108 %t146 = getelementptr inbounds %Cmp_Node, ptr %t145, i32 0, i32 8 %t147 = load i32, ptr %t146 store i32 %t147, ptr %t144 %t148 = load ptr, ptr %t127 %t149 = getelementptr inbounds %Cmp_Node, ptr %t148, i32 0, i32 9 %t150 = load ptr, ptr %t108 %t151 = getelementptr inbounds %Cmp_Node, ptr %t150, i32 0, i32 9 %t152 = load ptr, ptr %t151 store ptr %t152, ptr %t149 %t153 = load ptr, ptr %t127 store ptr %t153, ptr %t108 br label %ifend29 ifend29: %t154 = load ptr, ptr %t85 %t155 = load ptr, ptr %t108 %t156 = getelementptr inbounds %LSlice, ptr %t154, i32 0, i32 1 %t157 = getelementptr inbounds %LSlice, ptr %t154, i32 0, i32 2 %t158 = getelementptr inbounds %LSlice, ptr %t154, i32 0, i32 0 %t159 = load i32, ptr %t156 %t160 = load i32, ptr %t157 %t161 = icmp sge i32 %t159, %t160 br i1 %t161, label %grow32, label %put33 grow32: %t162 = mul i32 %t160, 2 %t163 = icmp eq i32 %t160, 0 %t164 = select i1 %t163, i32 8, i32 %t162 %t165 = getelementptr ptr, ptr null, i32 1 %t166 = ptrtoint ptr %t165 to i64 %t167 = zext i32 %t164 to i64 %t168 = mul i64 %t167, %t166 %t169 = load ptr, ptr %t158 store i32 2812, ptr @lp_site %t170 = call ptr @lp_realloc(ptr %t169, i64 %t168) store i32 0, ptr @lp_site store ptr %t170, ptr %t158 store i32 %t164, ptr %t157 br label %put33 put33: %t171 = load ptr, ptr %t158 %t172 = getelementptr inbounds ptr, ptr %t171, i32 %t159 store ptr %t155, ptr %t172 %t173 = add i32 %t159, 1 store i32 %t173, ptr %t156 %t174 = load i32, ptr %t86 %t175 = add i32 %t174, 1 store i32 %t175, ptr %t86 br label %wcond20 wend22: %t176 = load ptr, ptr %t0 %t177 = getelementptr inbounds %Cmp_Node, ptr %t176, i32 0, i32 7 %t178 = load ptr, ptr %t85 store ptr %t178, ptr %t177 br label %ret ret: ret void } define void @fn_call_fill_defaults(ptr %arg_e, ptr %arg_f) { entry: %t0 = alloca ptr %t1 = alloca ptr %t12 = alloca ptr %t19 = alloca ptr %t20 = alloca i32 %t21 = alloca i32 %t43 = alloca ptr %t108 = alloca i32 %t143 = alloca ptr %t144 = alloca i32 %t152 = alloca ptr %t153 = alloca i32 %t203 = alloca i32 %t278 = alloca i32 %t343 = alloca i32 store ptr %arg_e, ptr %t0 store ptr %arg_f, 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: br label %ret ifend2: %t6 = getelementptr %LSlice, ptr null, i32 1 %t7 = ptrtoint ptr %t6 to i64 store i32 2813, ptr @lp_site %t8 = call ptr @lp_malloc(i64 %t7) store i32 0, ptr @lp_site %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 %t12 %t13 = getelementptr %LSlice, ptr null, i32 1 %t14 = ptrtoint ptr %t13 to i64 store i32 2814, ptr @lp_site %t15 = call ptr @lp_malloc(i64 %t14) store i32 0, ptr @lp_site %t16 = getelementptr inbounds %LSlice, ptr %t15, i32 0, i32 0 store ptr null, ptr %t16 %t17 = getelementptr inbounds %LSlice, ptr %t15, i32 0, i32 1 store i32 0, ptr %t17 %t18 = getelementptr inbounds %LSlice, ptr %t15, i32 0, i32 2 store i32 0, ptr %t18 store ptr %t15, ptr %t19 store i32 0, ptr %t20 store i32 0, ptr %t21 br label %wcond3 wcond3: %t22 = load i32, ptr %t21 %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 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 %t1 %t32 = getelementptr inbounds %Cmp_Node, ptr %t31, i32 0, i32 7 %t33 = load ptr, ptr %t32 %t34 = load i32, ptr %t21 %t35 = getelementptr inbounds %LSlice, ptr %t33, i32 0, i32 0 %t36 = load ptr, ptr %t35 %t37 = getelementptr inbounds %LSlice, ptr %t33, i32 0, i32 1 %t38 = load i32, ptr %t37 %t39 = icmp ult i32 %t34, %t38 br i1 %t39, label %ixok6, label %ixbad7 ixbad7: store i32 2815, ptr @lp_site %t40 = call ptr @lp_win_stdio(i32 2) store i32 0, ptr @lp_site call i32 (ptr, ptr, ...) @fprintf(ptr %t40, ptr @.fmt_bounds, ptr @.str3532, i32 %t34, i32 %t38) call void @exit(i32 1) unreachable ixok6: %t41 = getelementptr inbounds ptr, ptr %t36, i32 %t34 %t42 = load ptr, ptr %t41 store ptr %t42, ptr %t43 %t44 = load ptr, ptr %t43 %t45 = getelementptr inbounds %Cmp_Node, ptr %t44, i32 0, i32 0 %t46 = load i32, ptr %t45 %t47 = icmp eq i32 %t46, 5 %t48 = zext i1 %t47 to i32 %t49 = icmp ne i32 %t48, 0 br i1 %t49, label %then8, label %ifend10 then8: %t50 = load ptr, ptr %t12 %t51 = load ptr, ptr %t43 %t52 = getelementptr inbounds %Cmp_Node, ptr %t51, i32 0, i32 1 %t53 = load ptr, ptr %t52 %t54 = getelementptr inbounds %LSlice, ptr %t50, i32 0, i32 1 %t55 = getelementptr inbounds %LSlice, ptr %t50, i32 0, i32 2 %t56 = getelementptr inbounds %LSlice, ptr %t50, i32 0, i32 0 %t57 = load i32, ptr %t54 %t58 = load i32, ptr %t55 %t59 = icmp sge i32 %t57, %t58 br i1 %t59, label %grow11, label %put12 grow11: %t60 = mul i32 %t58, 2 %t61 = icmp eq i32 %t58, 0 %t62 = select i1 %t61, i32 8, i32 %t60 %t63 = getelementptr ptr, ptr null, i32 1 %t64 = ptrtoint ptr %t63 to i64 %t65 = zext i32 %t62 to i64 %t66 = mul i64 %t65, %t64 %t67 = load ptr, ptr %t56 store i32 2816, ptr @lp_site %t68 = call ptr @lp_realloc(ptr %t67, i64 %t66) store i32 0, ptr @lp_site store ptr %t68, ptr %t56 store i32 %t62, ptr %t55 br label %put12 put12: %t69 = load ptr, ptr %t56 %t70 = getelementptr inbounds ptr, ptr %t69, i32 %t57 store ptr %t53, ptr %t70 %t71 = add i32 %t57, 1 store i32 %t71, ptr %t54 %t72 = load ptr, ptr %t19 %t73 = load ptr, ptr %t43 %t74 = getelementptr inbounds %Cmp_Node, ptr %t73, i32 0, i32 4 %t75 = load ptr, ptr %t74 %t76 = getelementptr inbounds %LSlice, ptr %t72, i32 0, i32 1 %t77 = getelementptr inbounds %LSlice, ptr %t72, i32 0, i32 2 %t78 = getelementptr inbounds %LSlice, ptr %t72, i32 0, i32 0 %t79 = load i32, ptr %t76 %t80 = load i32, ptr %t77 %t81 = icmp sge i32 %t79, %t80 br i1 %t81, label %grow13, label %put14 grow13: %t82 = mul i32 %t80, 2 %t83 = icmp eq i32 %t80, 0 %t84 = select i1 %t83, i32 8, i32 %t82 %t85 = getelementptr ptr, ptr null, i32 1 %t86 = ptrtoint ptr %t85 to i64 %t87 = zext i32 %t84 to i64 %t88 = mul i64 %t87, %t86 %t89 = load ptr, ptr %t78 store i32 2817, ptr @lp_site %t90 = call ptr @lp_realloc(ptr %t89, i64 %t88) store i32 0, ptr @lp_site store ptr %t90, ptr %t78 store i32 %t84, ptr %t77 br label %put14 put14: %t91 = load ptr, ptr %t78 %t92 = getelementptr inbounds ptr, ptr %t91, i32 %t79 store ptr %t75, ptr %t92 %t93 = add i32 %t79, 1 store i32 %t93, ptr %t76 %t94 = load ptr, ptr %t43 %t95 = getelementptr inbounds %Cmp_Node, ptr %t94, i32 0, i32 4 %t96 = load ptr, ptr %t95 %t97 = icmp ne ptr %t96, null %t98 = zext i1 %t97 to i32 %t99 = icmp ne i32 %t98, 0 br i1 %t99, label %then15, label %ifend17 then15: store i32 1, ptr %t20 br label %ifend17 ifend17: br label %ifend10 ifend10: %t100 = load i32, ptr %t21 %t101 = add i32 %t100, 1 store i32 %t101, ptr %t21 br label %wcond3 wend5: %t102 = load ptr, ptr %t0 %t103 = load ptr, ptr %t12 call void @fn_call_mixed_to_named(ptr %t102, ptr %t103) %t104 = load i32, ptr %t20 %t105 = icmp eq i32 %t104, 0 %t106 = zext i1 %t105 to i32 %t107 = icmp ne i32 %t106, 0 br i1 %t107, label %then18, label %ifend20 then18: br label %ret ifend20: %t109 = load ptr, ptr %t0 %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 sgt i32 %t113, 0 %t115 = zext i1 %t114 to i32 %t116 = icmp ne i32 %t115, 0 %t117 = zext i1 %t116 to i32 store i32 %t117, ptr %t108 br i1 %t116, label %sc21, label %scend22 sc21: %t118 = load ptr, ptr %t0 %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 %LSlice, ptr %t120, i32 0, i32 1 %t124 = load i32, ptr %t123 %t125 = icmp ult i32 0, %t124 br i1 %t125, label %ixok23, label %ixbad24 ixbad24: store i32 2818, ptr @lp_site %t126 = call ptr @lp_win_stdio(i32 2) store i32 0, ptr @lp_site call i32 (ptr, ptr, ...) @fprintf(ptr %t126, ptr @.fmt_bounds, ptr @.str3533, i32 0, i32 %t124) call void @exit(i32 1) unreachable ixok23: %t127 = getelementptr inbounds ptr, ptr %t122, i32 0 %t128 = load ptr, ptr %t127 %t129 = getelementptr inbounds %Cmp_Node, ptr %t128, i32 0, i32 0 %t130 = load i32, ptr %t129 %t131 = icmp eq i32 %t130, 42 %t132 = zext i1 %t131 to i32 %t133 = icmp ne i32 %t132, 0 %t134 = zext i1 %t133 to i32 store i32 %t134, ptr %t108 br label %scend22 scend22: %t135 = load i32, ptr %t108 %t136 = icmp ne i32 %t135, 0 br i1 %t136, label %then25, label %ifend27 then25: %t137 = getelementptr %LSlice, ptr null, i32 1 %t138 = ptrtoint ptr %t137 to i64 store i32 2819, ptr @lp_site %t139 = call ptr @lp_malloc(i64 %t138) store i32 0, ptr @lp_site %t140 = getelementptr inbounds %LSlice, ptr %t139, i32 0, i32 0 store ptr null, ptr %t140 %t141 = getelementptr inbounds %LSlice, ptr %t139, i32 0, i32 1 store i32 0, ptr %t141 %t142 = getelementptr inbounds %LSlice, ptr %t139, i32 0, i32 2 store i32 0, ptr %t142 store ptr %t139, ptr %t143 store i32 0, ptr %t144 br label %wcond28 wcond28: %t145 = load i32, ptr %t144 %t146 = load ptr, ptr %t12 %t147 = getelementptr inbounds %LSlice, ptr %t146, i32 0, i32 1 %t148 = load i32, ptr %t147 %t149 = icmp slt i32 %t145, %t148 %t150 = zext i1 %t149 to i32 %t151 = icmp ne i32 %t150, 0 br i1 %t151, label %wbody29, label %wend30 wbody29: store ptr null, ptr %t152 store i32 0, ptr %t153 br label %wcond31 wcond31: %t154 = load i32, ptr %t153 %t155 = load ptr, ptr %t0 %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 1 %t159 = load i32, ptr %t158 %t160 = icmp slt i32 %t154, %t159 %t161 = zext i1 %t160 to i32 %t162 = icmp ne i32 %t161, 0 br i1 %t162, label %wbody32, label %wend33 wbody32: %t163 = load ptr, ptr %t0 %t164 = getelementptr inbounds %Cmp_Node, ptr %t163, i32 0, i32 7 %t165 = load ptr, ptr %t164 %t166 = load i32, ptr %t153 %t167 = getelementptr inbounds %LSlice, ptr %t165, i32 0, i32 0 %t168 = load ptr, ptr %t167 %t169 = getelementptr inbounds %LSlice, ptr %t165, i32 0, i32 1 %t170 = load i32, ptr %t169 %t171 = icmp ult i32 %t166, %t170 br i1 %t171, label %ixok34, label %ixbad35 ixbad35: store i32 2820, ptr @lp_site %t172 = call ptr @lp_win_stdio(i32 2) store i32 0, ptr @lp_site call i32 (ptr, ptr, ...) @fprintf(ptr %t172, ptr @.fmt_bounds, ptr @.str3534, i32 %t166, i32 %t170) call void @exit(i32 1) unreachable ixok34: %t173 = getelementptr inbounds ptr, ptr %t168, i32 %t166 %t174 = load ptr, ptr %t173 %t175 = getelementptr inbounds %Cmp_Node, ptr %t174, i32 0, i32 1 %t176 = load ptr, ptr %t175 %t177 = load ptr, ptr %t12 %t178 = load i32, ptr %t144 %t179 = getelementptr inbounds %LSlice, ptr %t177, i32 0, i32 0 %t180 = load ptr, ptr %t179 %t181 = getelementptr inbounds %LSlice, ptr %t177, i32 0, i32 1 %t182 = load i32, ptr %t181 %t183 = icmp ult i32 %t178, %t182 br i1 %t183, label %ixok36, label %ixbad37 ixbad37: store i32 2821, ptr @lp_site %t184 = call ptr @lp_win_stdio(i32 2) store i32 0, ptr @lp_site call i32 (ptr, ptr, ...) @fprintf(ptr %t184, ptr @.fmt_bounds, ptr @.str3535, i32 %t178, i32 %t182) call void @exit(i32 1) unreachable ixok36: %t185 = getelementptr inbounds ptr, ptr %t180, i32 %t178 %t186 = load ptr, ptr %t185 %t187 = call i32 @lp_str_eq(ptr %t176, ptr %t186) %t188 = icmp ne i32 %t187, 0 br i1 %t188, label %then38, label %ifend40 then38: %t189 = load ptr, ptr %t0 %t190 = getelementptr inbounds %Cmp_Node, ptr %t189, i32 0, i32 7 %t191 = load ptr, ptr %t190 %t192 = load i32, ptr %t153 %t193 = getelementptr inbounds %LSlice, ptr %t191, i32 0, i32 0 %t194 = load ptr, ptr %t193 %t195 = getelementptr inbounds %LSlice, ptr %t191, i32 0, i32 1 %t196 = load i32, ptr %t195 %t197 = icmp ult i32 %t192, %t196 br i1 %t197, label %ixok41, label %ixbad42 ixbad42: store i32 2822, ptr @lp_site %t198 = call ptr @lp_win_stdio(i32 2) store i32 0, ptr @lp_site call i32 (ptr, ptr, ...) @fprintf(ptr %t198, ptr @.fmt_bounds, ptr @.str3536, i32 %t192, i32 %t196) call void @exit(i32 1) unreachable ixok41: %t199 = getelementptr inbounds ptr, ptr %t194, i32 %t192 %t200 = load ptr, ptr %t199 store ptr %t200, ptr %t152 br label %ifend40 ifend40: %t201 = load i32, ptr %t153 %t202 = add i32 %t201, 1 store i32 %t202, ptr %t153 br label %wcond31 wend33: %t204 = load ptr, ptr %t152 %t205 = icmp eq ptr %t204, null %t206 = zext i1 %t205 to i32 %t207 = icmp ne i32 %t206, 0 %t208 = zext i1 %t207 to i32 store i32 %t208, ptr %t203 br i1 %t207, label %sc43, label %scend44 sc43: %t209 = load ptr, ptr %t19 %t210 = load i32, ptr %t144 %t211 = getelementptr inbounds %LSlice, ptr %t209, i32 0, i32 0 %t212 = load ptr, ptr %t211 %t213 = getelementptr inbounds %LSlice, ptr %t209, i32 0, i32 1 %t214 = load i32, ptr %t213 %t215 = icmp ult i32 %t210, %t214 br i1 %t215, label %ixok45, label %ixbad46 ixbad46: store i32 2823, ptr @lp_site %t216 = call ptr @lp_win_stdio(i32 2) store i32 0, ptr @lp_site call i32 (ptr, ptr, ...) @fprintf(ptr %t216, ptr @.fmt_bounds, ptr @.str3537, i32 %t210, i32 %t214) call void @exit(i32 1) unreachable ixok45: %t217 = getelementptr inbounds ptr, ptr %t212, i32 %t210 %t218 = load ptr, ptr %t217 %t219 = icmp ne ptr %t218, null %t220 = zext i1 %t219 to i32 %t221 = icmp ne i32 %t220, 0 %t222 = zext i1 %t221 to i32 store i32 %t222, ptr %t203 br label %scend44 scend44: %t223 = load i32, ptr %t203 %t224 = icmp ne i32 %t223, 0 br i1 %t224, label %then47, label %ifend49 then47: %t225 = call ptr @fn_node(i32 42) store ptr %t225, ptr %t152 %t226 = load ptr, ptr %t152 %t227 = getelementptr inbounds %Cmp_Node, ptr %t226, i32 0, i32 1 %t228 = load ptr, ptr %t12 %t229 = load i32, ptr %t144 %t230 = getelementptr inbounds %LSlice, ptr %t228, i32 0, i32 0 %t231 = load ptr, ptr %t230 %t232 = getelementptr inbounds %LSlice, ptr %t228, i32 0, i32 1 %t233 = load i32, ptr %t232 %t234 = icmp ult i32 %t229, %t233 br i1 %t234, label %ixok50, label %ixbad51 ixbad51: store i32 2824, ptr @lp_site %t235 = call ptr @lp_win_stdio(i32 2) store i32 0, ptr @lp_site call i32 (ptr, ptr, ...) @fprintf(ptr %t235, ptr @.fmt_bounds, ptr @.str3538, i32 %t229, i32 %t233) call void @exit(i32 1) unreachable ixok50: %t236 = getelementptr inbounds ptr, ptr %t231, i32 %t229 %t237 = load ptr, ptr %t236 store ptr %t237, ptr %t227 %t238 = load ptr, ptr %t152 %t239 = getelementptr inbounds %Cmp_Node, ptr %t238, i32 0, i32 4 %t240 = load ptr, ptr %t19 %t241 = load i32, ptr %t144 %t242 = getelementptr inbounds %LSlice, ptr %t240, i32 0, i32 0 %t243 = load ptr, ptr %t242 %t244 = getelementptr inbounds %LSlice, ptr %t240, i32 0, i32 1 %t245 = load i32, ptr %t244 %t246 = icmp ult i32 %t241, %t245 br i1 %t246, label %ixok52, label %ixbad53 ixbad53: store i32 2825, ptr @lp_site %t247 = call ptr @lp_win_stdio(i32 2) store i32 0, ptr @lp_site call i32 (ptr, ptr, ...) @fprintf(ptr %t247, ptr @.fmt_bounds, ptr @.str3539, i32 %t241, i32 %t245) call void @exit(i32 1) unreachable ixok52: %t248 = getelementptr inbounds ptr, ptr %t243, i32 %t241 %t249 = load ptr, ptr %t248 %t250 = load ptr, ptr %t0 %t251 = call ptr @fn_default_copy(ptr %t249, ptr %t250) store ptr %t251, ptr %t239 br label %ifend49 ifend49: %t252 = load ptr, ptr %t152 %t253 = icmp ne ptr %t252, null %t254 = zext i1 %t253 to i32 %t255 = icmp ne i32 %t254, 0 br i1 %t255, label %then54, label %ifend56 then54: %t256 = load ptr, ptr %t143 %t257 = load ptr, ptr %t152 %t258 = getelementptr inbounds %LSlice, ptr %t256, i32 0, i32 1 %t259 = getelementptr inbounds %LSlice, ptr %t256, i32 0, i32 2 %t260 = getelementptr inbounds %LSlice, ptr %t256, i32 0, i32 0 %t261 = load i32, ptr %t258 %t262 = load i32, ptr %t259 %t263 = icmp sge i32 %t261, %t262 br i1 %t263, label %grow57, label %put58 grow57: %t264 = mul i32 %t262, 2 %t265 = icmp eq i32 %t262, 0 %t266 = select i1 %t265, i32 8, i32 %t264 %t267 = getelementptr ptr, ptr null, i32 1 %t268 = ptrtoint ptr %t267 to i64 %t269 = zext i32 %t266 to i64 %t270 = mul i64 %t269, %t268 %t271 = load ptr, ptr %t260 store i32 2826, ptr @lp_site %t272 = call ptr @lp_realloc(ptr %t271, i64 %t270) store i32 0, ptr @lp_site store ptr %t272, ptr %t260 store i32 %t266, ptr %t259 br label %put58 put58: %t273 = load ptr, ptr %t260 %t274 = getelementptr inbounds ptr, ptr %t273, i32 %t261 store ptr %t257, ptr %t274 %t275 = add i32 %t261, 1 store i32 %t275, ptr %t258 br label %ifend56 ifend56: %t276 = load i32, ptr %t144 %t277 = add i32 %t276, 1 store i32 %t277, ptr %t144 br label %wcond28 wend30: store i32 0, ptr %t278 br label %wcond59 wcond59: %t279 = load i32, ptr %t278 %t280 = load ptr, ptr %t0 %t281 = getelementptr inbounds %Cmp_Node, ptr %t280, i32 0, i32 7 %t282 = load ptr, ptr %t281 %t283 = getelementptr inbounds %LSlice, ptr %t282, i32 0, i32 1 %t284 = load i32, ptr %t283 %t285 = icmp slt i32 %t279, %t284 %t286 = zext i1 %t285 to i32 %t287 = icmp ne i32 %t286, 0 br i1 %t287, label %wbody60, label %wend61 wbody60: %t288 = load ptr, ptr %t12 %t289 = load ptr, ptr %t0 %t290 = getelementptr inbounds %Cmp_Node, ptr %t289, i32 0, i32 7 %t291 = load ptr, ptr %t290 %t292 = load i32, ptr %t278 %t293 = getelementptr inbounds %LSlice, ptr %t291, i32 0, i32 0 %t294 = load ptr, ptr %t293 %t295 = getelementptr inbounds %LSlice, ptr %t291, i32 0, i32 1 %t296 = load i32, ptr %t295 %t297 = icmp ult i32 %t292, %t296 br i1 %t297, label %ixok62, label %ixbad63 ixbad63: store i32 2827, ptr @lp_site %t298 = call ptr @lp_win_stdio(i32 2) store i32 0, ptr @lp_site call i32 (ptr, ptr, ...) @fprintf(ptr %t298, ptr @.fmt_bounds, ptr @.str3540, i32 %t292, i32 %t296) call void @exit(i32 1) unreachable ixok62: %t299 = getelementptr inbounds ptr, ptr %t294, i32 %t292 %t300 = load ptr, ptr %t299 %t301 = getelementptr inbounds %Cmp_Node, ptr %t300, i32 0, i32 1 %t302 = load ptr, ptr %t301 %t303 = call i32 @fn_default_label_in(ptr %t288, ptr %t302) %t304 = icmp eq i32 %t303, 0 %t305 = zext i1 %t304 to i32 %t306 = icmp ne i32 %t305, 0 br i1 %t306, label %then64, label %ifend66 then64: %t307 = load ptr, ptr %t143 %t308 = load ptr, ptr %t0 %t309 = getelementptr inbounds %Cmp_Node, ptr %t308, i32 0, i32 7 %t310 = load ptr, ptr %t309 %t311 = load i32, ptr %t278 %t312 = getelementptr inbounds %LSlice, ptr %t310, i32 0, i32 0 %t313 = load ptr, ptr %t312 %t314 = getelementptr inbounds %LSlice, ptr %t310, i32 0, i32 1 %t315 = load i32, ptr %t314 %t316 = icmp ult i32 %t311, %t315 br i1 %t316, label %ixok67, label %ixbad68 ixbad68: store i32 2828, ptr @lp_site %t317 = call ptr @lp_win_stdio(i32 2) store i32 0, ptr @lp_site call i32 (ptr, ptr, ...) @fprintf(ptr %t317, ptr @.fmt_bounds, ptr @.str3541, i32 %t311, i32 %t315) call void @exit(i32 1) unreachable ixok67: %t318 = getelementptr inbounds ptr, ptr %t313, i32 %t311 %t319 = load ptr, ptr %t318 %t320 = getelementptr inbounds %LSlice, ptr %t307, i32 0, i32 1 %t321 = getelementptr inbounds %LSlice, ptr %t307, i32 0, i32 2 %t322 = getelementptr inbounds %LSlice, ptr %t307, i32 0, i32 0 %t323 = load i32, ptr %t320 %t324 = load i32, ptr %t321 %t325 = icmp sge i32 %t323, %t324 br i1 %t325, label %grow69, label %put70 grow69: %t326 = mul i32 %t324, 2 %t327 = icmp eq i32 %t324, 0 %t328 = select i1 %t327, i32 8, i32 %t326 %t329 = getelementptr ptr, ptr null, i32 1 %t330 = ptrtoint ptr %t329 to i64 %t331 = zext i32 %t328 to i64 %t332 = mul i64 %t331, %t330 %t333 = load ptr, ptr %t322 store i32 2829, ptr @lp_site %t334 = call ptr @lp_realloc(ptr %t333, i64 %t332) store i32 0, ptr @lp_site store ptr %t334, ptr %t322 store i32 %t328, ptr %t321 br label %put70 put70: %t335 = load ptr, ptr %t322 %t336 = getelementptr inbounds ptr, ptr %t335, i32 %t323 store ptr %t319, ptr %t336 %t337 = add i32 %t323, 1 store i32 %t337, ptr %t320 br label %ifend66 ifend66: %t338 = load i32, ptr %t278 %t339 = add i32 %t338, 1 store i32 %t339, ptr %t278 br label %wcond59 wend61: %t340 = load ptr, ptr %t0 %t341 = getelementptr inbounds %Cmp_Node, ptr %t340, i32 0, i32 7 %t342 = load ptr, ptr %t143 store ptr %t342, ptr %t341 br label %ret ifend27: br label %wcond71 wcond71: %t344 = load ptr, ptr %t0 %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 1 %t348 = load i32, ptr %t347 %t349 = load ptr, ptr %t12 %t350 = getelementptr inbounds %LSlice, ptr %t349, i32 0, i32 1 %t351 = load i32, ptr %t350 %t352 = icmp slt i32 %t348, %t351 %t353 = zext i1 %t352 to i32 %t354 = icmp ne i32 %t353, 0 %t355 = zext i1 %t354 to i32 store i32 %t355, ptr %t343 br i1 %t354, label %sc74, label %scend75 sc74: %t356 = load ptr, ptr %t19 %t357 = load ptr, ptr %t0 %t358 = getelementptr inbounds %Cmp_Node, ptr %t357, i32 0, i32 7 %t359 = load ptr, ptr %t358 %t360 = getelementptr inbounds %LSlice, ptr %t359, i32 0, i32 1 %t361 = load i32, ptr %t360 %t362 = getelementptr inbounds %LSlice, ptr %t356, i32 0, i32 0 %t363 = load ptr, ptr %t362 %t364 = getelementptr inbounds %LSlice, ptr %t356, i32 0, i32 1 %t365 = load i32, ptr %t364 %t366 = icmp ult i32 %t361, %t365 br i1 %t366, label %ixok76, label %ixbad77 ixbad77: store i32 2830, ptr @lp_site %t367 = call ptr @lp_win_stdio(i32 2) store i32 0, ptr @lp_site call i32 (ptr, ptr, ...) @fprintf(ptr %t367, ptr @.fmt_bounds, ptr @.str3542, i32 %t361, i32 %t365) call void @exit(i32 1) unreachable ixok76: %t368 = getelementptr inbounds ptr, ptr %t363, i32 %t361 %t369 = load ptr, ptr %t368 %t370 = icmp ne ptr %t369, null %t371 = zext i1 %t370 to i32 %t372 = icmp ne i32 %t371, 0 %t373 = zext i1 %t372 to i32 store i32 %t373, ptr %t343 br label %scend75 scend75: %t374 = load i32, ptr %t343 %t375 = icmp ne i32 %t374, 0 br i1 %t375, label %wbody72, label %wend73 wbody72: %t376 = load ptr, ptr %t0 %t377 = getelementptr inbounds %Cmp_Node, ptr %t376, i32 0, i32 7 %t378 = load ptr, ptr %t377 %t379 = load ptr, ptr %t19 %t380 = load ptr, ptr %t0 %t381 = getelementptr inbounds %Cmp_Node, ptr %t380, i32 0, i32 7 %t382 = load ptr, ptr %t381 %t383 = getelementptr inbounds %LSlice, ptr %t382, i32 0, i32 1 %t384 = load i32, ptr %t383 %t385 = getelementptr inbounds %LSlice, ptr %t379, i32 0, i32 0 %t386 = load ptr, ptr %t385 %t387 = getelementptr inbounds %LSlice, ptr %t379, i32 0, i32 1 %t388 = load i32, ptr %t387 %t389 = icmp ult i32 %t384, %t388 br i1 %t389, label %ixok78, label %ixbad79 ixbad79: store i32 2831, ptr @lp_site %t390 = call ptr @lp_win_stdio(i32 2) store i32 0, ptr @lp_site call i32 (ptr, ptr, ...) @fprintf(ptr %t390, ptr @.fmt_bounds, ptr @.str3543, i32 %t384, i32 %t388) call void @exit(i32 1) unreachable ixok78: %t391 = getelementptr inbounds ptr, ptr %t386, i32 %t384 %t392 = load ptr, ptr %t391 %t393 = load ptr, ptr %t0 %t394 = call ptr @fn_default_copy(ptr %t392, ptr %t393) %t395 = getelementptr inbounds %LSlice, ptr %t378, i32 0, i32 1 %t396 = getelementptr inbounds %LSlice, ptr %t378, i32 0, i32 2 %t397 = getelementptr inbounds %LSlice, ptr %t378, i32 0, i32 0 %t398 = load i32, ptr %t395 %t399 = load i32, ptr %t396 %t400 = icmp sge i32 %t398, %t399 br i1 %t400, label %grow80, label %put81 grow80: %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 store i32 2832, ptr @lp_site %t409 = call ptr @lp_realloc(ptr %t408, i64 %t407) store i32 0, ptr @lp_site store ptr %t409, ptr %t397 store i32 %t403, ptr %t396 br label %put81 put81: %t410 = load ptr, ptr %t397 %t411 = getelementptr inbounds ptr, ptr %t410, i32 %t398 store ptr %t394, ptr %t411 %t412 = add i32 %t398, 1 store i32 %t412, ptr %t395 br label %wcond71 wend73: br label %ret ret: ret void } define i32 @fn_default_label_in(ptr %arg_labels, ptr %arg_s) { entry: %retval = alloca i32 %t0 = alloca ptr %t1 = alloca ptr %t2 = alloca i32 store ptr %arg_labels, 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 = load i32, ptr %t2 %t12 = getelementptr inbounds %LSlice, ptr %t10, i32 0, i32 0 %t13 = load ptr, ptr %t12 %t14 = getelementptr inbounds %LSlice, ptr %t10, i32 0, i32 1 %t15 = load i32, ptr %t14 %t16 = icmp ult i32 %t11, %t15 br i1 %t16, label %ixok3, label %ixbad4 ixbad4: store i32 2833, ptr @lp_site %t17 = call ptr @lp_win_stdio(i32 2) store i32 0, ptr @lp_site call i32 (ptr, ptr, ...) @fprintf(ptr %t17, ptr @.fmt_bounds, ptr @.str3544, i32 %t11, i32 %t15) call void @exit(i32 1) unreachable ixok3: %t18 = getelementptr inbounds ptr, ptr %t13, i32 %t11 %t19 = load ptr, ptr %t18 %t20 = load ptr, ptr %t1 %t21 = call i32 @lp_str_eq(ptr %t19, ptr %t20) %t22 = icmp ne i32 %t21, 0 br i1 %t22, label %then5, label %ifend7 then5: store i32 1, ptr %retval br label %ret ifend7: %t23 = load i32, ptr %t2 %t24 = add i32 %t23, 1 store i32 %t24, ptr %t2 br label %wcond0 wend2: store i32 0, ptr %retval br label %ret ret: %t25 = load i32, ptr %retval ret i32 %t25 } define ptr @fn_default_copy(ptr %arg_d, ptr %arg_at) { entry: %retval = alloca ptr %t0 = alloca ptr %t1 = alloca ptr %t16 = alloca ptr store ptr %arg_d, ptr %t0 store ptr %arg_at, ptr %t1 %t2 = load ptr, ptr %t0 %t3 = getelementptr %LSlice, ptr null, i32 1 %t4 = ptrtoint ptr %t3 to i64 store i32 2834, ptr @lp_site %t5 = call ptr @lp_malloc(i64 %t4) store i32 0, ptr @lp_site %t6 = getelementptr inbounds %LSlice, ptr %t5, i32 0, i32 0 store ptr null, ptr %t6 %t7 = getelementptr inbounds %LSlice, ptr %t5, i32 0, i32 1 store i32 0, ptr %t7 %t8 = getelementptr inbounds %LSlice, ptr %t5, i32 0, i32 2 store i32 0, ptr %t8 %t9 = getelementptr %LSlice, ptr null, i32 1 %t10 = ptrtoint ptr %t9 to i64 store i32 2835, ptr @lp_site %t11 = call ptr @lp_malloc(i64 %t10) store i32 0, ptr @lp_site %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 %t15 = call ptr @fn_gen_clone(ptr %t2, ptr %t5, ptr %t11) store ptr %t15, ptr %t16 %t17 = load ptr, ptr %t16 %t18 = getelementptr inbounds %Cmp_Node, ptr %t17, i32 0, i32 8 %t19 = load ptr, ptr %t1 %t20 = getelementptr inbounds %Cmp_Node, ptr %t19, i32 0, i32 8 %t21 = load i32, ptr %t20 store i32 %t21, ptr %t18 %t22 = load ptr, ptr %t16 store ptr %t22, ptr %retval br label %ret ret: %t23 = load ptr, ptr %retval ret ptr %t23 } define ptr @fn_vw_prefix(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_reg_lower(ptr %t1) store i32 2836, ptr @lp_site %t3 = call ptr @lp_str_concat(ptr @.str3547, ptr %t2) store i32 0, ptr @lp_site store i32 2837, ptr @lp_site %t4 = call ptr @lp_str_concat(ptr %t3, ptr @.str3549) store i32 0, ptr @lp_site call void @lp_free(ptr %t3) store ptr %t4, ptr %retval br label %ret ret: %t5 = load ptr, ptr %retval ret ptr %t5 } define void @fn_parse_view() { entry: %t3 = alloca ptr %t37 = alloca ptr %t83 = alloca i32 %t86 = alloca ptr %t93 = alloca ptr %t100 = alloca ptr %t107 = alloca ptr %t114 = alloca ptr %t118 = alloca i32 %t128 = alloca i32 %t143 = alloca ptr %t263 = alloca ptr %t292 = 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 = load ptr, ptr @g_g_vw_hdr %t5 = load ptr, ptr @g_toks %t6 = load i32, ptr @g_pi %t7 = sub i32 %t6, 1 %t8 = getelementptr inbounds %LSlice, ptr %t5, i32 0, i32 0 %t9 = load ptr, ptr %t8 %t10 = getelementptr inbounds %LSlice, ptr %t5, i32 0, i32 1 %t11 = load i32, ptr %t10 %t12 = icmp ult i32 %t7, %t11 br i1 %t12, label %ixok0, label %ixbad1 ixbad1: store i32 2838, ptr @lp_site %t13 = call ptr @lp_win_stdio(i32 2) store i32 0, ptr @lp_site call i32 (ptr, ptr, ...) @fprintf(ptr %t13, ptr @.fmt_bounds, ptr @.str3550, i32 %t7, i32 %t11) call void @exit(i32 1) unreachable ixok0: %t14 = getelementptr inbounds ptr, ptr %t9, i32 %t7 %t15 = load ptr, ptr %t14 %t16 = getelementptr inbounds %Cmp_Tok, ptr %t15, i32 0, i32 5 %t17 = load i32, ptr %t16 %t18 = getelementptr inbounds %LSlice, ptr %t4, i32 0, i32 1 %t19 = getelementptr inbounds %LSlice, ptr %t4, i32 0, i32 2 %t20 = getelementptr inbounds %LSlice, ptr %t4, i32 0, i32 0 %t21 = load i32, ptr %t18 %t22 = load i32, ptr %t19 %t23 = icmp sge i32 %t21, %t22 br i1 %t23, label %grow2, label %put3 grow2: %t24 = mul i32 %t22, 2 %t25 = icmp eq i32 %t22, 0 %t26 = select i1 %t25, i32 8, i32 %t24 %t27 = getelementptr i32, 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 store i32 2839, ptr @lp_site %t32 = call ptr @lp_realloc(ptr %t31, i64 %t30) store i32 0, ptr @lp_site store ptr %t32, ptr %t20 store i32 %t26, ptr %t19 br label %put3 put3: %t33 = load ptr, ptr %t20 %t34 = getelementptr inbounds i32, ptr %t33, i32 %t21 store i32 %t17, ptr %t34 %t35 = add i32 %t21, 1 store i32 %t35, ptr %t18 %t36 = call ptr @fn_parse_entry_params() store ptr %t36, ptr %t37 %t38 = load ptr, ptr @g_g_vw_nps %t39 = load ptr, ptr %t37 %t40 = getelementptr inbounds %LSlice, ptr %t39, i32 0, i32 1 %t41 = load i32, ptr %t40 %t42 = getelementptr inbounds %LSlice, ptr %t38, i32 0, i32 1 %t43 = getelementptr inbounds %LSlice, ptr %t38, i32 0, i32 2 %t44 = getelementptr inbounds %LSlice, ptr %t38, i32 0, i32 0 %t45 = load i32, ptr %t42 %t46 = load i32, ptr %t43 %t47 = icmp sge i32 %t45, %t46 br i1 %t47, label %grow4, label %put5 grow4: %t48 = mul i32 %t46, 2 %t49 = icmp eq i32 %t46, 0 %t50 = select i1 %t49, i32 8, i32 %t48 %t51 = getelementptr i32, 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 store i32 2840, ptr @lp_site %t56 = call ptr @lp_realloc(ptr %t55, i64 %t54) store i32 0, ptr @lp_site store ptr %t56, ptr %t44 store i32 %t50, ptr %t43 br label %put5 put5: %t57 = load ptr, ptr %t44 %t58 = getelementptr inbounds i32, ptr %t57, i32 %t45 store i32 %t41, ptr %t58 %t59 = add i32 %t45, 1 store i32 %t59, ptr %t42 %t60 = load ptr, ptr @g_g_vw_ps %t61 = load ptr, ptr %t37 %t62 = getelementptr inbounds %LSlice, ptr %t60, i32 0, i32 1 %t63 = getelementptr inbounds %LSlice, ptr %t60, i32 0, i32 2 %t64 = getelementptr inbounds %LSlice, ptr %t60, i32 0, i32 0 %t65 = load i32, ptr %t62 %t66 = load i32, ptr %t63 %t67 = icmp sge i32 %t65, %t66 br i1 %t67, label %grow6, label %put7 grow6: %t68 = mul i32 %t66, 2 %t69 = icmp eq i32 %t66, 0 %t70 = select i1 %t69, i32 8, i32 %t68 %t71 = getelementptr ptr, ptr null, i32 1 %t72 = ptrtoint ptr %t71 to i64 %t73 = zext i32 %t70 to i64 %t74 = mul i64 %t73, %t72 %t75 = load ptr, ptr %t64 store i32 2841, ptr @lp_site %t76 = call ptr @lp_realloc(ptr %t75, i64 %t74) store i32 0, ptr @lp_site store ptr %t76, ptr %t64 store i32 %t70, ptr %t63 br label %put7 put7: %t77 = load ptr, ptr %t64 %t78 = getelementptr inbounds ptr, ptr %t77, i32 %t65 store ptr %t61, ptr %t78 %t79 = add i32 %t65, 1 store i32 %t79, ptr %t62 %t80 = load ptr, ptr @g_g_vw_name %t81 = getelementptr inbounds %LSlice, ptr %t80, i32 0, i32 1 %t82 = load i32, ptr %t81 store i32 %t82, ptr %t83 %t84 = load ptr, ptr %t3 %t85 = call ptr @fn_vw_prefix(ptr %t84) store ptr %t85, ptr %t86 store i32 1, ptr @g_g_uses_value %t87 = getelementptr %LSlice, ptr null, i32 1 %t88 = ptrtoint ptr %t87 to i64 store i32 2842, ptr @lp_site %t89 = call ptr @lp_malloc(i64 %t88) store i32 0, ptr @lp_site %t90 = getelementptr inbounds %LSlice, ptr %t89, i32 0, i32 0 store ptr null, ptr %t90 %t91 = getelementptr inbounds %LSlice, ptr %t89, i32 0, i32 1 store i32 0, ptr %t91 %t92 = getelementptr inbounds %LSlice, ptr %t89, i32 0, i32 2 store i32 0, ptr %t92 store ptr %t89, ptr %t93 %t94 = getelementptr %LSlice, ptr null, i32 1 %t95 = ptrtoint ptr %t94 to i64 store i32 2843, ptr @lp_site %t96 = call ptr @lp_malloc(i64 %t95) store i32 0, ptr @lp_site %t97 = getelementptr inbounds %LSlice, ptr %t96, i32 0, i32 0 store ptr null, ptr %t97 %t98 = getelementptr inbounds %LSlice, ptr %t96, i32 0, i32 1 store i32 0, ptr %t98 %t99 = getelementptr inbounds %LSlice, ptr %t96, i32 0, i32 2 store i32 0, ptr %t99 store ptr %t96, ptr %t100 %t101 = getelementptr %LSlice, ptr null, i32 1 %t102 = ptrtoint ptr %t101 to i64 store i32 2844, ptr @lp_site %t103 = call ptr @lp_malloc(i64 %t102) store i32 0, ptr @lp_site %t104 = getelementptr inbounds %LSlice, ptr %t103, i32 0, i32 0 store ptr null, ptr %t104 %t105 = getelementptr inbounds %LSlice, ptr %t103, i32 0, i32 1 store i32 0, ptr %t105 %t106 = getelementptr inbounds %LSlice, ptr %t103, i32 0, i32 2 store i32 0, ptr %t106 store ptr %t103, ptr %t107 %t108 = getelementptr %LSlice, ptr null, i32 1 %t109 = ptrtoint ptr %t108 to i64 store i32 2845, ptr @lp_site %t110 = call ptr @lp_malloc(i64 %t109) store i32 0, ptr @lp_site %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 %t114 call void @fn_skipnl() call void @fn_eat_op(ptr @.str3552) br label %wcond8 wcond8: %t115 = icmp ne i32 1, 0 br i1 %t115, label %wbody9, label %wend10 wbody9: call void @fn_skipnl() %t116 = call i32 @fn_is_op(ptr @.str3553) %t117 = icmp ne i32 %t116, 0 br i1 %t117, label %then11, label %ifend13 then11: br label %wend10 ifend13: %t119 = call i32 @fn_is_id(ptr @.str3554) %t120 = icmp ne i32 %t119, 0 %t121 = zext i1 %t120 to i32 store i32 %t121, ptr %t118 br i1 %t120, label %scend15, label %sc14 sc14: %t122 = call i32 @fn_is_id(ptr @.str3555) %t123 = icmp ne i32 %t122, 0 %t124 = zext i1 %t123 to i32 store i32 %t124, ptr %t118 br label %scend15 scend15: %t125 = load i32, ptr %t118 %t126 = icmp ne i32 %t125, 0 br i1 %t126, label %then16, label %ifend18 then16: %t127 = call i32 @fn_is_id(ptr @.str3556) store i32 %t127, ptr %t128 %t129 = load i32, ptr %t128 %t130 = icmp ne i32 %t129, 0 br i1 %t130, label %then19, label %ifend21 then19: %t131 = load ptr, ptr @g_toks %t132 = load i32, ptr @g_pi %t133 = getelementptr inbounds %LSlice, ptr %t131, i32 0, i32 0 %t134 = load ptr, ptr %t133 %t135 = getelementptr inbounds %LSlice, ptr %t131, i32 0, i32 1 %t136 = load i32, ptr %t135 %t137 = icmp ult i32 %t132, %t136 br i1 %t137, label %ixok22, label %ixbad23 ixbad23: store i32 2846, ptr @lp_site %t138 = call ptr @lp_win_stdio(i32 2) store i32 0, ptr @lp_site call i32 (ptr, ptr, ...) @fprintf(ptr %t138, ptr @.fmt_bounds, ptr @.str3557, i32 %t132, i32 %t136) call void @exit(i32 1) unreachable ixok22: %t139 = getelementptr inbounds ptr, ptr %t134, i32 %t132 %t140 = load ptr, ptr %t139 %t141 = getelementptr inbounds %Cmp_Tok, ptr %t140, i32 0, i32 1 store ptr @.str3558, ptr %t141 br label %ifend21 ifend21: %t142 = call ptr @fn_parse_fn() store ptr %t142, ptr %t143 %t144 = load ptr, ptr %t143 %t145 = load ptr, ptr %t37 call void @fn_state_params_onto(ptr %t144, ptr %t145) %t146 = load ptr, ptr %t143 %t147 = getelementptr inbounds %Cmp_Node, ptr %t146, i32 0, i32 16 %t148 = load i32, ptr %t83 store i32 %t148, ptr %t147 %t149 = load ptr, ptr %t114 %t150 = load ptr, ptr %t143 %t151 = getelementptr inbounds %Cmp_Node, ptr %t150, i32 0, i32 1 %t152 = load ptr, ptr %t151 %t153 = getelementptr inbounds %LSlice, ptr %t149, i32 0, i32 1 %t154 = getelementptr inbounds %LSlice, ptr %t149, i32 0, i32 2 %t155 = getelementptr inbounds %LSlice, ptr %t149, i32 0, i32 0 %t156 = load i32, ptr %t153 %t157 = load i32, ptr %t154 %t158 = icmp sge i32 %t156, %t157 br i1 %t158, label %grow24, label %put25 grow24: %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 store i32 2847, ptr @lp_site %t167 = call ptr @lp_realloc(ptr %t166, i64 %t165) store i32 0, ptr @lp_site store ptr %t167, ptr %t155 store i32 %t161, ptr %t154 br label %put25 put25: %t168 = load ptr, ptr %t155 %t169 = getelementptr inbounds ptr, ptr %t168, i32 %t156 store ptr %t152, ptr %t169 %t170 = add i32 %t156, 1 store i32 %t170, ptr %t153 %t171 = load i32, ptr %t128 %t172 = icmp ne i32 %t171, 0 br i1 %t172, label %then26, label %else27 then26: %t173 = load ptr, ptr %t143 %t174 = getelementptr inbounds %Cmp_Node, ptr %t173, i32 0, i32 1 %t175 = load ptr, ptr %t86 store i32 2848, ptr @lp_site %t176 = call ptr @lp_str_concat(ptr %t175, ptr @.str3559) store i32 0, ptr @lp_site %t177 = load ptr, ptr %t143 %t178 = getelementptr inbounds %Cmp_Node, ptr %t177, i32 0, i32 1 %t179 = load ptr, ptr %t178 store i32 2849, ptr @lp_site %t180 = call ptr @lp_str_concat(ptr %t176, ptr %t179) store i32 0, ptr @lp_site call void @lp_free(ptr %t176) store ptr %t180, ptr %t174 br label %ifend28 else27: %t181 = load ptr, ptr %t143 %t182 = getelementptr inbounds %Cmp_Node, ptr %t181, i32 0, i32 1 %t183 = load ptr, ptr %t86 %t184 = load ptr, ptr %t143 %t185 = getelementptr inbounds %Cmp_Node, ptr %t184, i32 0, i32 1 %t186 = load ptr, ptr %t185 store i32 2850, ptr @lp_site %t187 = call ptr @lp_str_concat(ptr %t183, ptr %t186) store i32 0, ptr @lp_site store ptr %t187, ptr %t182 br label %ifend28 ifend28: %t188 = load ptr, ptr %t107 %t189 = load ptr, ptr %t143 %t190 = getelementptr inbounds %LSlice, ptr %t188, i32 0, i32 1 %t191 = getelementptr inbounds %LSlice, ptr %t188, i32 0, i32 2 %t192 = getelementptr inbounds %LSlice, ptr %t188, i32 0, i32 0 %t193 = load i32, ptr %t190 %t194 = load i32, ptr %t191 %t195 = icmp sge i32 %t193, %t194 br i1 %t195, label %grow29, label %put30 grow29: %t196 = mul i32 %t194, 2 %t197 = icmp eq i32 %t194, 0 %t198 = select i1 %t197, i32 8, i32 %t196 %t199 = getelementptr ptr, ptr null, i32 1 %t200 = ptrtoint ptr %t199 to i64 %t201 = zext i32 %t198 to i64 %t202 = mul i64 %t201, %t200 %t203 = load ptr, ptr %t192 store i32 2851, ptr @lp_site %t204 = call ptr @lp_realloc(ptr %t203, i64 %t202) store i32 0, ptr @lp_site store ptr %t204, ptr %t192 store i32 %t198, ptr %t191 br label %put30 put30: %t205 = load ptr, ptr %t192 %t206 = getelementptr inbounds ptr, ptr %t205, i32 %t193 store ptr %t189, ptr %t206 %t207 = add i32 %t193, 1 store i32 %t207, ptr %t190 %t208 = load ptr, ptr @g_prog %t209 = load ptr, ptr %t143 %t210 = getelementptr inbounds %LSlice, ptr %t208, i32 0, i32 1 %t211 = getelementptr inbounds %LSlice, ptr %t208, i32 0, i32 2 %t212 = getelementptr inbounds %LSlice, ptr %t208, i32 0, i32 0 %t213 = load i32, ptr %t210 %t214 = load i32, ptr %t211 %t215 = icmp sge i32 %t213, %t214 br i1 %t215, label %grow31, label %put32 grow31: %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 store i32 2852, ptr @lp_site %t224 = call ptr @lp_realloc(ptr %t223, i64 %t222) store i32 0, ptr @lp_site store ptr %t224, ptr %t212 store i32 %t218, ptr %t211 br label %put32 put32: %t225 = load ptr, ptr %t212 %t226 = getelementptr inbounds ptr, ptr %t225, i32 %t213 store ptr %t209, ptr %t226 %t227 = add i32 %t213, 1 store i32 %t227, ptr %t210 br label %wcond8 ifend18: %t228 = load ptr, ptr %t100 %t229 = call ptr @fn_eat_id() %t230 = getelementptr inbounds %LSlice, ptr %t228, i32 0, i32 1 %t231 = getelementptr inbounds %LSlice, ptr %t228, i32 0, i32 2 %t232 = getelementptr inbounds %LSlice, ptr %t228, i32 0, i32 0 %t233 = load i32, ptr %t230 %t234 = load i32, ptr %t231 %t235 = icmp sge i32 %t233, %t234 br i1 %t235, label %grow33, label %put34 grow33: %t236 = mul i32 %t234, 2 %t237 = icmp eq i32 %t234, 0 %t238 = select i1 %t237, i32 8, i32 %t236 %t239 = getelementptr ptr, ptr null, i32 1 %t240 = ptrtoint ptr %t239 to i64 %t241 = zext i32 %t238 to i64 %t242 = mul i64 %t241, %t240 %t243 = load ptr, ptr %t232 store i32 2853, ptr @lp_site %t244 = call ptr @lp_realloc(ptr %t243, i64 %t242) store i32 0, ptr @lp_site store ptr %t244, ptr %t232 store i32 %t238, ptr %t231 br label %put34 put34: %t245 = load ptr, ptr %t232 %t246 = getelementptr inbounds ptr, ptr %t245, i32 %t233 store ptr %t229, ptr %t246 %t247 = add i32 %t233, 1 store i32 %t247, ptr %t230 %t248 = load ptr, ptr %t86 %t249 = load ptr, ptr %t100 %t250 = load ptr, ptr %t100 %t251 = getelementptr inbounds %LSlice, ptr %t250, i32 0, i32 1 %t252 = load i32, ptr %t251 %t253 = sub i32 %t252, 1 %t254 = getelementptr inbounds %LSlice, ptr %t249, i32 0, i32 0 %t255 = load ptr, ptr %t254 %t256 = getelementptr inbounds %LSlice, ptr %t249, i32 0, i32 1 %t257 = load i32, ptr %t256 %t258 = icmp ult i32 %t253, %t257 br i1 %t258, label %ixok35, label %ixbad36 ixbad36: store i32 2854, ptr @lp_site %t259 = call ptr @lp_win_stdio(i32 2) store i32 0, ptr @lp_site call i32 (ptr, ptr, ...) @fprintf(ptr %t259, ptr @.fmt_bounds, ptr @.str3560, i32 %t253, i32 %t257) call void @exit(i32 1) unreachable ixok35: %t260 = getelementptr inbounds ptr, ptr %t255, i32 %t253 %t261 = load ptr, ptr %t260 %t262 = call ptr @fn_vw_field(ptr %t248, ptr %t261) store ptr %t262, ptr %t263 %t264 = load ptr, ptr %t263 %t265 = load ptr, ptr %t37 call void @fn_state_params_onto(ptr %t264, ptr %t265) %t266 = load ptr, ptr %t263 %t267 = getelementptr inbounds %Cmp_Node, ptr %t266, i32 0, i32 16 %t268 = load i32, ptr %t83 store i32 %t268, ptr %t267 %t269 = load ptr, ptr %t93 %t270 = load ptr, ptr %t263 %t271 = getelementptr inbounds %LSlice, ptr %t269, i32 0, i32 1 %t272 = getelementptr inbounds %LSlice, ptr %t269, i32 0, i32 2 %t273 = getelementptr inbounds %LSlice, ptr %t269, i32 0, i32 0 %t274 = load i32, ptr %t271 %t275 = load i32, ptr %t272 %t276 = icmp sge i32 %t274, %t275 br i1 %t276, label %grow37, label %put38 grow37: %t277 = mul i32 %t275, 2 %t278 = icmp eq i32 %t275, 0 %t279 = select i1 %t278, i32 8, i32 %t277 %t280 = getelementptr ptr, ptr null, i32 1 %t281 = ptrtoint ptr %t280 to i64 %t282 = zext i32 %t279 to i64 %t283 = mul i64 %t282, %t281 %t284 = load ptr, ptr %t273 store i32 2855, ptr @lp_site %t285 = call ptr @lp_realloc(ptr %t284, i64 %t283) store i32 0, ptr @lp_site store ptr %t285, ptr %t273 store i32 %t279, ptr %t272 br label %put38 put38: %t286 = load ptr, ptr %t273 %t287 = getelementptr inbounds ptr, ptr %t286, i32 %t274 store ptr %t270, ptr %t287 %t288 = add i32 %t274, 1 store i32 %t288, ptr %t271 br label %wcond8 wend10: call void @fn_eat_op(ptr @.str3561) %t289 = load ptr, ptr %t3 %t290 = load ptr, ptr %t86 %t291 = call ptr @fn_vw_head(ptr %t289, ptr %t290) store ptr %t291, ptr %t292 %t293 = load ptr, ptr @g_g_vw_name %t294 = load ptr, ptr %t3 %t295 = getelementptr inbounds %LSlice, ptr %t293, i32 0, i32 1 %t296 = getelementptr inbounds %LSlice, ptr %t293, i32 0, i32 2 %t297 = getelementptr inbounds %LSlice, ptr %t293, i32 0, i32 0 %t298 = load i32, ptr %t295 %t299 = load i32, ptr %t296 %t300 = icmp sge i32 %t298, %t299 br i1 %t300, label %grow39, label %put40 grow39: %t301 = mul i32 %t299, 2 %t302 = icmp eq i32 %t299, 0 %t303 = select i1 %t302, i32 8, i32 %t301 %t304 = getelementptr ptr, ptr null, i32 1 %t305 = ptrtoint ptr %t304 to i64 %t306 = zext i32 %t303 to i64 %t307 = mul i64 %t306, %t305 %t308 = load ptr, ptr %t297 store i32 2856, ptr @lp_site %t309 = call ptr @lp_realloc(ptr %t308, i64 %t307) store i32 0, ptr @lp_site store ptr %t309, ptr %t297 store i32 %t303, ptr %t296 br label %put40 put40: %t310 = load ptr, ptr %t297 %t311 = getelementptr inbounds ptr, ptr %t310, i32 %t298 store ptr %t294, ptr %t311 %t312 = add i32 %t298, 1 store i32 %t312, ptr %t295 %t313 = load ptr, ptr @g_g_vw_node %t314 = load ptr, ptr %t292 %t315 = getelementptr inbounds %LSlice, ptr %t313, i32 0, i32 1 %t316 = getelementptr inbounds %LSlice, ptr %t313, i32 0, i32 2 %t317 = getelementptr inbounds %LSlice, ptr %t313, i32 0, i32 0 %t318 = load i32, ptr %t315 %t319 = load i32, ptr %t316 %t320 = icmp sge i32 %t318, %t319 br i1 %t320, label %grow41, label %put42 grow41: %t321 = mul i32 %t319, 2 %t322 = icmp eq i32 %t319, 0 %t323 = select i1 %t322, i32 8, i32 %t321 %t324 = getelementptr ptr, ptr null, i32 1 %t325 = ptrtoint ptr %t324 to i64 %t326 = zext i32 %t323 to i64 %t327 = mul i64 %t326, %t325 %t328 = load ptr, ptr %t317 store i32 2857, ptr @lp_site %t329 = call ptr @lp_realloc(ptr %t328, i64 %t327) store i32 0, ptr @lp_site store ptr %t329, ptr %t317 store i32 %t323, ptr %t316 br label %put42 put42: %t330 = load ptr, ptr %t317 %t331 = getelementptr inbounds ptr, ptr %t330, i32 %t318 store ptr %t314, ptr %t331 %t332 = add i32 %t318, 1 store i32 %t332, ptr %t315 %t333 = load ptr, ptr @g_g_vw_fields %t334 = load ptr, ptr %t93 %t335 = getelementptr inbounds %LSlice, ptr %t333, i32 0, i32 1 %t336 = getelementptr inbounds %LSlice, ptr %t333, i32 0, i32 2 %t337 = getelementptr inbounds %LSlice, ptr %t333, i32 0, i32 0 %t338 = load i32, ptr %t335 %t339 = load i32, ptr %t336 %t340 = icmp sge i32 %t338, %t339 br i1 %t340, label %grow43, label %put44 grow43: %t341 = mul i32 %t339, 2 %t342 = icmp eq i32 %t339, 0 %t343 = select i1 %t342, i32 8, i32 %t341 %t344 = getelementptr ptr, ptr null, i32 1 %t345 = ptrtoint ptr %t344 to i64 %t346 = zext i32 %t343 to i64 %t347 = mul i64 %t346, %t345 %t348 = load ptr, ptr %t337 store i32 2858, ptr @lp_site %t349 = call ptr @lp_realloc(ptr %t348, i64 %t347) store i32 0, ptr @lp_site store ptr %t349, ptr %t337 store i32 %t343, ptr %t336 br label %put44 put44: %t350 = load ptr, ptr %t337 %t351 = getelementptr inbounds ptr, ptr %t350, i32 %t338 store ptr %t334, ptr %t351 %t352 = add i32 %t338, 1 store i32 %t352, ptr %t335 %t353 = load ptr, ptr @g_g_vw_fnames %t354 = load ptr, ptr %t100 %t355 = getelementptr inbounds %LSlice, ptr %t353, i32 0, i32 1 %t356 = getelementptr inbounds %LSlice, ptr %t353, i32 0, i32 2 %t357 = getelementptr inbounds %LSlice, ptr %t353, i32 0, i32 0 %t358 = load i32, ptr %t355 %t359 = load i32, ptr %t356 %t360 = icmp sge i32 %t358, %t359 br i1 %t360, label %grow45, label %put46 grow45: %t361 = mul i32 %t359, 2 %t362 = icmp eq i32 %t359, 0 %t363 = select i1 %t362, i32 8, i32 %t361 %t364 = getelementptr ptr, ptr null, i32 1 %t365 = ptrtoint ptr %t364 to i64 %t366 = zext i32 %t363 to i64 %t367 = mul i64 %t366, %t365 %t368 = load ptr, ptr %t357 store i32 2859, ptr @lp_site %t369 = call ptr @lp_realloc(ptr %t368, i64 %t367) store i32 0, ptr @lp_site store ptr %t369, ptr %t357 store i32 %t363, ptr %t356 br label %put46 put46: %t370 = load ptr, ptr %t357 %t371 = getelementptr inbounds ptr, ptr %t370, i32 %t358 store ptr %t354, ptr %t371 %t372 = add i32 %t358, 1 store i32 %t372, ptr %t355 %t373 = load ptr, ptr @g_g_vw_calls %t374 = load ptr, ptr %t107 %t375 = getelementptr inbounds %LSlice, ptr %t373, i32 0, i32 1 %t376 = getelementptr inbounds %LSlice, ptr %t373, i32 0, i32 2 %t377 = getelementptr inbounds %LSlice, ptr %t373, i32 0, i32 0 %t378 = load i32, ptr %t375 %t379 = load i32, ptr %t376 %t380 = icmp sge i32 %t378, %t379 br i1 %t380, label %grow47, label %put48 grow47: %t381 = mul i32 %t379, 2 %t382 = icmp eq i32 %t379, 0 %t383 = select i1 %t382, i32 8, i32 %t381 %t384 = getelementptr ptr, ptr null, i32 1 %t385 = ptrtoint ptr %t384 to i64 %t386 = zext i32 %t383 to i64 %t387 = mul i64 %t386, %t385 %t388 = load ptr, ptr %t377 store i32 2860, ptr @lp_site %t389 = call ptr @lp_realloc(ptr %t388, i64 %t387) store i32 0, ptr @lp_site store ptr %t389, ptr %t377 store i32 %t383, ptr %t376 br label %put48 put48: %t390 = load ptr, ptr %t377 %t391 = getelementptr inbounds ptr, ptr %t390, i32 %t378 store ptr %t374, ptr %t391 %t392 = add i32 %t378, 1 store i32 %t392, ptr %t375 %t393 = load ptr, ptr @g_g_vw_cnames %t394 = load ptr, ptr %t114 %t395 = getelementptr inbounds %LSlice, ptr %t393, i32 0, i32 1 %t396 = getelementptr inbounds %LSlice, ptr %t393, i32 0, i32 2 %t397 = getelementptr inbounds %LSlice, ptr %t393, i32 0, i32 0 %t398 = load i32, ptr %t395 %t399 = load i32, ptr %t396 %t400 = icmp sge i32 %t398, %t399 br i1 %t400, label %grow49, label %put50 grow49: %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 store i32 2861, ptr @lp_site %t409 = call ptr @lp_realloc(ptr %t408, i64 %t407) store i32 0, ptr @lp_site store ptr %t409, ptr %t397 store i32 %t403, ptr %t396 br label %put50 put50: %t410 = load ptr, ptr %t397 %t411 = getelementptr inbounds ptr, ptr %t410, i32 %t398 store ptr %t394, ptr %t411 %t412 = add i32 %t398, 1 store i32 %t412, ptr %t395 br label %ret ret: ret void } define ptr @fn_vw_field(ptr %arg_px, ptr %arg_fname) { entry: %retval = alloca ptr %t0 = alloca ptr %t1 = alloca ptr %t3 = alloca ptr %t32 = alloca ptr %t37 = alloca ptr store ptr %arg_px, ptr %t0 store ptr %arg_fname, ptr %t1 %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 = load ptr, ptr %t0 store i32 2862, ptr @lp_site %t7 = call ptr @lp_str_concat(ptr %t6, ptr @.str3562) store i32 0, ptr @lp_site %t8 = load ptr, ptr %t1 store i32 2863, ptr @lp_site %t9 = call ptr @lp_str_concat(ptr %t7, ptr %t8) store i32 0, ptr @lp_site call void @lp_free(ptr %t7) store ptr %t9, ptr %t5 %t10 = load ptr, ptr %t3 %t11 = getelementptr inbounds %Cmp_Node, ptr %t10, i32 0, i32 3 store ptr null, ptr %t11 %t12 = call i32 @fn_is_op(ptr @.str3564) %t13 = icmp ne i32 %t12, 0 br i1 %t13, label %then0, label %ifend2 then0: %t14 = load i32, ptr @g_pi %t15 = add i32 %t14, 1 store i32 %t15, ptr @g_pi %t16 = load ptr, ptr %t3 %t17 = getelementptr inbounds %Cmp_Node, ptr %t16, i32 0, i32 3 %t18 = call ptr @fn_ptype() store ptr %t18, ptr %t17 br label %ifend2 ifend2: %t19 = call i32 @fn_is_op(ptr @.str3565) %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 %t1 store i32 2864, ptr @lp_site %t24 = call ptr @lp_str_concat(ptr @.str3566, ptr %t23) store i32 0, ptr @lp_site store i32 2865, ptr @lp_site %t25 = call ptr @lp_str_concat(ptr %t24, ptr @.str3567) store i32 0, ptr @lp_site call void @lp_free(ptr %t24) %t26 = load ptr, ptr %t1 store i32 2866, ptr @lp_site %t27 = call ptr @lp_str_concat(ptr %t25, ptr %t26) store i32 0, ptr @lp_site call void @lp_free(ptr %t25) store i32 2867, ptr @lp_site %t28 = call ptr @lp_str_concat(ptr %t27, ptr @.str3568) store i32 0, ptr @lp_site call void @lp_free(ptr %t27) call void @fn_perr(ptr %t28) br label %ifend5 ifend5: %t29 = load i32, ptr @g_pi %t30 = add i32 %t29, 1 store i32 %t30, ptr @g_pi %t31 = call ptr @fn_node(i32 15) store ptr %t31, ptr %t32 %t33 = load ptr, ptr %t32 %t34 = getelementptr inbounds %Cmp_Node, ptr %t33, i32 0, i32 4 %t35 = call ptr @fn_expr() store ptr %t35, ptr %t34 %t36 = call ptr @fn_node(i32 7) store ptr %t36, ptr %t37 %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 store i32 2868, ptr @lp_site %t56 = call ptr @lp_realloc(ptr %t55, i64 %t54) store i32 0, ptr @lp_site 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 = load ptr, ptr %t3 %t61 = getelementptr inbounds %Cmp_Node, ptr %t60, i32 0, i32 4 %t62 = load ptr, ptr %t37 store ptr %t62, ptr %t61 %t63 = load ptr, ptr @g_prog %t64 = load ptr, ptr %t3 %t65 = getelementptr inbounds %LSlice, ptr %t63, i32 0, i32 1 %t66 = getelementptr inbounds %LSlice, ptr %t63, i32 0, i32 2 %t67 = getelementptr inbounds %LSlice, ptr %t63, i32 0, i32 0 %t68 = load i32, ptr %t65 %t69 = load i32, ptr %t66 %t70 = icmp sge i32 %t68, %t69 br i1 %t70, label %grow8, label %put9 grow8: %t71 = mul i32 %t69, 2 %t72 = icmp eq i32 %t69, 0 %t73 = select i1 %t72, i32 8, i32 %t71 %t74 = getelementptr ptr, ptr null, i32 1 %t75 = ptrtoint ptr %t74 to i64 %t76 = zext i32 %t73 to i64 %t77 = mul i64 %t76, %t75 %t78 = load ptr, ptr %t67 store i32 2869, ptr @lp_site %t79 = call ptr @lp_realloc(ptr %t78, i64 %t77) store i32 0, ptr @lp_site store ptr %t79, ptr %t67 store i32 %t73, ptr %t66 br label %put9 put9: %t80 = load ptr, ptr %t67 %t81 = getelementptr inbounds ptr, ptr %t80, i32 %t68 store ptr %t64, ptr %t81 %t82 = add i32 %t68, 1 store i32 %t82, ptr %t65 %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_vw_head(ptr %arg_name, ptr %arg_px) { entry: %retval = alloca ptr %t0 = alloca ptr %t1 = alloca ptr %t15 = alloca ptr %t19 = alloca i32 store ptr %arg_name, ptr %t0 store ptr %arg_px, ptr %t1 %t2 = load ptr, ptr %t0 %t3 = call ptr @fn_reg_lower(ptr %t2) store i32 2870, ptr @lp_site %t4 = call ptr @lp_str_concat(ptr @.str3569, ptr %t3) store i32 0, ptr @lp_site store i32 2871, ptr @lp_site %t5 = call ptr @lp_str_concat(ptr %t4, ptr @.str3571) store i32 0, ptr @lp_site call void @lp_free(ptr %t4) %t6 = load ptr, ptr %t0 store i32 2872, ptr @lp_site %t7 = call ptr @lp_str_concat(ptr %t5, ptr %t6) store i32 0, ptr @lp_site call void @lp_free(ptr %t5) store i32 2873, ptr @lp_site %t8 = call ptr @lp_str_concat(ptr %t7, ptr @.str3572) store i32 0, ptr @lp_site call void @lp_free(ptr %t7) %t9 = load ptr, ptr %t1 store i32 2874, ptr @lp_site %t10 = call ptr @lp_str_concat(ptr %t8, ptr %t9) store i32 0, ptr @lp_site call void @lp_free(ptr %t8) store i32 2875, ptr @lp_site %t11 = call ptr @lp_str_concat(ptr %t10, ptr @.str3573) store i32 0, ptr @lp_site call void @lp_free(ptr %t10) %t12 = load ptr, ptr %t1 store i32 2876, ptr @lp_site %t13 = call ptr @lp_str_concat(ptr %t11, ptr %t12) store i32 0, ptr @lp_site call void @lp_free(ptr %t11) store i32 2877, ptr @lp_site %t14 = call ptr @lp_str_concat(ptr %t13, ptr @.str3574) store i32 0, ptr @lp_site call void @lp_free(ptr %t13) store ptr %t14, ptr %t15 %t16 = load ptr, ptr @g_prog %t17 = getelementptr inbounds %LSlice, ptr %t16, i32 0, i32 1 %t18 = load i32, ptr %t17 store i32 %t18, ptr %t19 %t20 = load ptr, ptr %t15 %t21 = load ptr, ptr @g_g_parse_file %t22 = load ptr, ptr @g_toks %t23 = load i32, ptr @g_pi %t24 = getelementptr inbounds %LSlice, ptr %t22, i32 0, i32 0 %t25 = load ptr, ptr %t24 %t26 = getelementptr inbounds %LSlice, ptr %t22, i32 0, i32 1 %t27 = load i32, ptr %t26 %t28 = icmp ult i32 %t23, %t27 br i1 %t28, label %ixok0, label %ixbad1 ixbad1: store i32 2878, ptr @lp_site %t29 = call ptr @lp_win_stdio(i32 2) store i32 0, ptr @lp_site call i32 (ptr, ptr, ...) @fprintf(ptr %t29, ptr @.fmt_bounds, ptr @.str3575, i32 %t23, i32 %t27) call void @exit(i32 1) unreachable ixok0: %t30 = getelementptr inbounds ptr, ptr %t25, i32 %t23 %t31 = load ptr, ptr %t30 %t32 = getelementptr inbounds %Cmp_Tok, ptr %t31, i32 0, i32 3 %t33 = load i32, ptr %t32 call void @fn_vw_parse(ptr %t20, ptr %t21, i32 %t33, i32 0) %t34 = load ptr, ptr @g_prog %t35 = load i32, ptr %t19 %t36 = getelementptr inbounds %LSlice, ptr %t34, i32 0, i32 0 %t37 = load ptr, ptr %t36 %t38 = getelementptr inbounds %LSlice, ptr %t34, i32 0, i32 1 %t39 = load i32, ptr %t38 %t40 = icmp ult i32 %t35, %t39 br i1 %t40, label %ixok2, label %ixbad3 ixbad3: store i32 2879, ptr @lp_site %t41 = call ptr @lp_win_stdio(i32 2) store i32 0, ptr @lp_site call i32 (ptr, ptr, ...) @fprintf(ptr %t41, ptr @.fmt_bounds, ptr @.str3576, i32 %t35, i32 %t39) call void @exit(i32 1) unreachable ixok2: %t42 = getelementptr inbounds ptr, ptr %t37, i32 %t35 %t43 = load ptr, ptr %t42 store ptr %t43, ptr %retval br label %ret ret: %t44 = load ptr, ptr %retval ret ptr %t44 } define void @fn_vw_parse(ptr %arg_src, ptr %arg_file, i32 %arg_line, i32 %arg_vis) { entry: %t0 = alloca ptr %t1 = alloca ptr %t2 = alloca i32 %t3 = alloca i32 %t5 = alloca ptr %t7 = alloca i32 %t9 = alloca ptr %t11 = alloca i32 %t18 = alloca i32 %t36 = alloca i32 store ptr %arg_src, ptr %t0 store ptr %arg_file, ptr %t1 store i32 %arg_line, ptr %t2 store i32 %arg_vis, ptr %t3 %t4 = load ptr, ptr @g_toks store ptr %t4, ptr %t5 %t6 = load i32, ptr @g_pi store i32 %t6, ptr %t7 %t8 = load ptr, ptr @g_g_parse_file store ptr %t8, ptr %t9 %t10 = load i32, ptr @g_g_parsing store i32 %t10, ptr %t11 %t12 = load ptr, ptr %t1 store ptr %t12, ptr @g_g_parse_file store i32 1, ptr @g_g_parsing %t13 = load ptr, ptr %t0 %t14 = load i32, ptr %t2 call void @fn_lex_at(ptr %t13, i32 %t14) store i32 0, ptr @g_pi %t15 = load ptr, ptr @g_prog %t16 = getelementptr inbounds %LSlice, ptr %t15, i32 0, i32 1 %t17 = load i32, ptr %t16 store i32 %t17, ptr %t18 br label %wcond0 wcond0: %t19 = icmp ne i32 1, 0 br i1 %t19, label %wbody1, label %wend2 wbody1: call void @fn_skipnl() %t20 = load ptr, ptr @g_toks %t21 = load i32, ptr @g_pi %t22 = getelementptr inbounds %LSlice, ptr %t20, i32 0, i32 0 %t23 = load ptr, ptr %t22 %t24 = getelementptr inbounds %LSlice, ptr %t20, i32 0, i32 1 %t25 = load i32, ptr %t24 %t26 = icmp ult i32 %t21, %t25 br i1 %t26, label %ixok3, label %ixbad4 ixbad4: store i32 2880, ptr @lp_site %t27 = call ptr @lp_win_stdio(i32 2) store i32 0, ptr @lp_site call i32 (ptr, ptr, ...) @fprintf(ptr %t27, ptr @.fmt_bounds, ptr @.str3577, i32 %t21, i32 %t25) call void @exit(i32 1) unreachable ixok3: %t28 = getelementptr inbounds ptr, ptr %t23, i32 %t21 %t29 = load ptr, ptr %t28 %t30 = getelementptr inbounds %Cmp_Tok, ptr %t29, i32 0, i32 0 %t31 = load i32, ptr %t30 %t32 = icmp eq i32 %t31, 5 %t33 = zext i1 %t32 to i32 %t34 = icmp ne i32 %t33, 0 br i1 %t34, label %then5, label %ifend7 then5: br label %wend2 ifend7: call void @fn_parse_one_decl() br label %wcond0 wend2: %t35 = load i32, ptr %t18 store i32 %t35, ptr %t36 br label %wcond8 wcond8: %t37 = load i32, ptr %t36 %t38 = load ptr, ptr @g_prog %t39 = getelementptr inbounds %LSlice, ptr %t38, i32 0, i32 1 %t40 = load i32, ptr %t39 %t41 = icmp slt i32 %t37, %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 @g_prog %t45 = load i32, ptr %t36 %t46 = getelementptr inbounds %LSlice, ptr %t44, i32 0, i32 0 %t47 = load ptr, ptr %t46 %t48 = getelementptr inbounds %LSlice, ptr %t44, i32 0, i32 1 %t49 = load i32, ptr %t48 %t50 = icmp ult i32 %t45, %t49 br i1 %t50, label %ixok11, label %ixbad12 ixbad12: store i32 2881, ptr @lp_site %t51 = call ptr @lp_win_stdio(i32 2) store i32 0, ptr @lp_site call i32 (ptr, ptr, ...) @fprintf(ptr %t51, ptr @.fmt_bounds, ptr @.str3579, i32 %t45, i32 %t49) call void @exit(i32 1) unreachable ixok11: %t52 = getelementptr inbounds ptr, ptr %t47, i32 %t45 %t53 = load ptr, ptr %t52 %t54 = getelementptr inbounds %Cmp_Node, ptr %t53, i32 0, i32 10 %t55 = load i32, ptr %t3 store i32 %t55, ptr %t54 %t56 = load i32, ptr %t36 %t57 = add i32 %t56, 1 store i32 %t57, ptr %t36 br label %wcond8 wend10: %t58 = load ptr, ptr %t5 store ptr %t58, ptr @g_toks %t59 = load i32, ptr %t7 store i32 %t59, ptr @g_pi %t60 = load ptr, ptr %t9 store ptr %t60, ptr @g_g_parse_file %t61 = load i32, ptr %t11 store i32 %t61, ptr @g_g_parsing br label %ret ret: ret void } define ptr @fn_vw_conv(i32 %arg_v, ptr %arg_ty, ptr %arg_x, ptr %arg_head) { entry: %retval = alloca ptr %t0 = alloca i32 %t1 = alloca ptr %t2 = alloca ptr %t3 = alloca ptr %t35 = alloca i32 %t36 = alloca i32 %t65 = alloca ptr %t74 = alloca ptr %t87 = alloca ptr %t134 = alloca ptr %t142 = alloca ptr %t177 = alloca ptr %t178 = alloca i32 %t200 = alloca ptr %t217 = alloca ptr store i32 %arg_v, ptr %t0 store ptr %arg_ty, ptr %t1 store ptr %arg_x, ptr %t2 store ptr %arg_head, ptr %t3 %t4 = load ptr, ptr %t1 %t5 = call i32 @lp_str_eq(ptr %t4, ptr @.str3580) %t6 = icmp ne i32 %t5, 0 br i1 %t6, label %then0, label %ifend2 then0: %t7 = load ptr, ptr %t2 store i32 2882, ptr @lp_site %t8 = call ptr @lp_str_concat(ptr @.str3581, ptr %t7) store i32 0, ptr @lp_site store i32 2883, ptr @lp_site %t9 = call ptr @lp_str_concat(ptr %t8, ptr @.str3583) store i32 0, ptr @lp_site call void @lp_free(ptr %t8) store ptr %t9, ptr %retval br label %ret ifend2: %t10 = load ptr, ptr %t1 %t11 = call i32 @lp_str_eq(ptr %t10, ptr @.str3584) %t12 = icmp ne i32 %t11, 0 br i1 %t12, label %then3, label %ifend5 then3: %t13 = load ptr, ptr %t2 store i32 2884, ptr @lp_site %t14 = call ptr @lp_str_concat(ptr @.str3585, ptr %t13) store i32 0, ptr @lp_site store i32 2885, ptr @lp_site %t15 = call ptr @lp_str_concat(ptr %t14, ptr @.str3586) store i32 0, ptr @lp_site call void @lp_free(ptr %t14) store ptr %t15, ptr %retval br label %ret ifend5: %t16 = load ptr, ptr %t1 %t17 = call i32 @lp_str_eq(ptr %t16, ptr @.str3587) %t18 = icmp ne i32 %t17, 0 br i1 %t18, label %then6, label %ifend8 then6: %t19 = load ptr, ptr %t2 store i32 2886, ptr @lp_site %t20 = call ptr @lp_str_concat(ptr @.str3588, ptr %t19) store i32 0, ptr @lp_site store i32 2887, ptr @lp_site %t21 = call ptr @lp_str_concat(ptr %t20, ptr @.str3589) store i32 0, ptr @lp_site call void @lp_free(ptr %t20) store ptr %t21, ptr %retval br label %ret ifend8: %t22 = load ptr, ptr %t1 %t23 = call i32 @fn_i18n_is_key_ty(ptr %t22) %t24 = icmp ne i32 %t23, 0 br i1 %t24, label %then9, label %ifend11 then9: %t25 = load ptr, ptr %t2 store i32 2888, ptr @lp_site %t26 = call ptr @lp_str_concat(ptr @.str3590, ptr %t25) store i32 0, ptr @lp_site store i32 2889, ptr @lp_site %t27 = call ptr @lp_str_concat(ptr %t26, ptr @.str3591) store i32 0, ptr @lp_site call void @lp_free(ptr %t26) store ptr %t27, ptr %retval br label %ret ifend11: %t28 = load ptr, ptr %t1 %t29 = call i32 @lp_str_eq(ptr %t28, ptr @.str3592) %t30 = icmp ne i32 %t29, 0 br i1 %t30, label %then12, label %ifend14 then12: %t31 = load ptr, ptr %t3 call void @fn_vw_helper(ptr @.str3593, ptr @.str3594, ptr %t31) %t32 = load ptr, ptr %t2 store i32 2890, ptr @lp_site %t33 = call ptr @lp_str_concat(ptr @.str3595, ptr %t32) store i32 0, ptr @lp_site store i32 2891, ptr @lp_site %t34 = call ptr @lp_str_concat(ptr %t33, ptr @.str3596) store i32 0, ptr @lp_site call void @lp_free(ptr %t33) store ptr %t34, ptr %retval br label %ret ifend14: %t37 = load ptr, ptr %t1 %t38 = call i64 @strlen(ptr %t37) %t39 = trunc i64 %t38 to i32 %t40 = icmp sgt i32 %t39, 2 %t41 = zext i1 %t40 to i32 %t42 = icmp ne i32 %t41, 0 %t43 = zext i1 %t42 to i32 store i32 %t43, ptr %t36 br i1 %t42, label %sc15, label %scend16 sc15: %t44 = load ptr, ptr %t1 %t45 = getelementptr inbounds i8, ptr %t44, i32 0 %t46 = load i8, ptr %t45 %t47 = zext i8 %t46 to i32 %t48 = icmp eq i32 %t47, 91 %t49 = zext i1 %t48 to i32 %t50 = icmp ne i32 %t49, 0 %t51 = zext i1 %t50 to i32 store i32 %t51, ptr %t36 br label %scend16 scend16: %t52 = load i32, ptr %t36 %t53 = icmp ne i32 %t52, 0 %t54 = zext i1 %t53 to i32 store i32 %t54, ptr %t35 br i1 %t53, label %sc17, label %scend18 sc17: %t55 = load ptr, ptr %t1 %t56 = getelementptr inbounds i8, ptr %t55, i32 1 %t57 = load i8, ptr %t56 %t58 = zext i8 %t57 to i32 %t59 = icmp eq i32 %t58, 93 %t60 = zext i1 %t59 to i32 %t61 = icmp ne i32 %t60, 0 %t62 = zext i1 %t61 to i32 store i32 %t62, ptr %t35 br label %scend18 scend18: %t63 = load i32, ptr %t35 %t64 = icmp ne i32 %t63, 0 br i1 %t64, label %then19, label %ifend21 then19: %t66 = load ptr, ptr %t1 %t67 = load ptr, ptr %t1 %t68 = call i64 @strlen(ptr %t67) %t69 = trunc i64 %t68 to i32 store i32 2892, ptr @lp_site %t70 = call ptr @lp_str_slice(ptr %t66, i32 2, i32 %t69) store i32 0, ptr @lp_site store ptr %t70, ptr %t65 %t71 = load ptr, ptr %t65 %t72 = call ptr @fn_vw_mangle(ptr %t71) store i32 2893, ptr @lp_site %t73 = call ptr @lp_str_concat(ptr @.str3597, ptr %t72) store i32 0, ptr @lp_site store ptr %t73, ptr %t74 %t75 = load ptr, ptr %t74 %t76 = call i32 @fn_vw_have(ptr %t75) %t77 = icmp ne i32 %t76, 0 br i1 %t77, label %then22, label %ifend24 then22: %t78 = load ptr, ptr %t74 store i32 2894, ptr @lp_site %t79 = call ptr @lp_str_concat(ptr %t78, ptr @.str3598) store i32 0, ptr @lp_site %t80 = load ptr, ptr %t2 store i32 2895, ptr @lp_site %t81 = call ptr @lp_str_concat(ptr %t79, ptr %t80) store i32 0, ptr @lp_site call void @lp_free(ptr %t79) store i32 2896, ptr @lp_site %t82 = call ptr @lp_str_concat(ptr %t81, ptr @.str3599) store i32 0, ptr @lp_site call void @lp_free(ptr %t81) store ptr %t82, ptr %retval br label %ret ifend24: %t83 = load i32, ptr %t0 %t84 = load ptr, ptr %t65 %t85 = load ptr, ptr %t3 %t86 = call ptr @fn_vw_conv(i32 %t83, ptr %t84, ptr @.str3600, ptr %t85) store ptr %t86, ptr %t87 %t88 = load ptr, ptr %t87 %t89 = icmp eq ptr %t88, null %t90 = zext i1 %t89 to i32 %t91 = icmp ne i32 %t90, 0 br i1 %t91, label %then25, label %ifend27 then25: store ptr null, ptr %retval br label %ret ifend27: %t92 = load ptr, ptr @g_g_vw_helpers %t93 = load ptr, ptr %t74 %t94 = getelementptr inbounds %LSlice, ptr %t92, i32 0, i32 1 %t95 = getelementptr inbounds %LSlice, ptr %t92, i32 0, i32 2 %t96 = getelementptr inbounds %LSlice, ptr %t92, i32 0, i32 0 %t97 = load i32, ptr %t94 %t98 = load i32, ptr %t95 %t99 = icmp sge i32 %t97, %t98 br i1 %t99, label %grow28, label %put29 grow28: %t100 = mul i32 %t98, 2 %t101 = icmp eq i32 %t98, 0 %t102 = select i1 %t101, i32 8, i32 %t100 %t103 = getelementptr ptr, 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 store i32 2897, ptr @lp_site %t108 = call ptr @lp_realloc(ptr %t107, i64 %t106) store i32 0, ptr @lp_site store ptr %t108, ptr %t96 store i32 %t102, ptr %t95 br label %put29 put29: %t109 = load ptr, ptr %t96 %t110 = getelementptr inbounds ptr, ptr %t109, i32 %t97 store ptr %t93, ptr %t110 %t111 = add i32 %t97, 1 store i32 %t111, ptr %t94 %t112 = load ptr, ptr %t74 store i32 2898, ptr @lp_site %t113 = call ptr @lp_str_concat(ptr @.str3601, ptr %t112) store i32 0, ptr @lp_site store i32 2899, ptr @lp_site %t114 = call ptr @lp_str_concat(ptr %t113, ptr @.str3602) store i32 0, ptr @lp_site call void @lp_free(ptr %t113) %t115 = load ptr, ptr %t1 store i32 2900, ptr @lp_site %t116 = call ptr @lp_str_concat(ptr %t114, ptr %t115) store i32 0, ptr @lp_site call void @lp_free(ptr %t114) store i32 2901, ptr @lp_site %t117 = call ptr @lp_str_concat(ptr %t116, ptr @.str3603) store i32 0, ptr @lp_site call void @lp_free(ptr %t116) %t118 = load ptr, ptr %t87 store i32 2902, ptr @lp_site %t119 = call ptr @lp_str_concat(ptr %t117, ptr %t118) store i32 0, ptr @lp_site call void @lp_free(ptr %t117) store i32 2903, ptr @lp_site %t120 = call ptr @lp_str_concat(ptr %t119, ptr @.str3604) store i32 0, ptr @lp_site call void @lp_free(ptr %t119) %t121 = load ptr, ptr %t3 %t122 = getelementptr inbounds %Cmp_Node, ptr %t121, i32 0, i32 9 %t123 = load ptr, ptr %t122 %t124 = load ptr, ptr %t3 %t125 = getelementptr inbounds %Cmp_Node, ptr %t124, i32 0, i32 8 %t126 = load i32, ptr %t125 call void @fn_vw_parse(ptr %t120, ptr %t123, i32 %t126, i32 1) %t127 = load ptr, ptr %t74 store i32 2904, ptr @lp_site %t128 = call ptr @lp_str_concat(ptr %t127, ptr @.str3605) store i32 0, ptr @lp_site %t129 = load ptr, ptr %t2 store i32 2905, ptr @lp_site %t130 = call ptr @lp_str_concat(ptr %t128, ptr %t129) store i32 0, ptr @lp_site call void @lp_free(ptr %t128) store i32 2906, ptr @lp_site %t131 = call ptr @lp_str_concat(ptr %t130, ptr @.str3606) store i32 0, ptr @lp_site call void @lp_free(ptr %t130) store ptr %t131, ptr %retval br label %ret ifend21: %t132 = load ptr, ptr %t1 %t133 = call ptr @fn_find_comp(ptr %t132) store ptr %t133, ptr %t134 %t135 = load ptr, ptr %t134 %t136 = icmp eq ptr %t135, null %t137 = zext i1 %t136 to i32 %t138 = icmp ne i32 %t137, 0 br i1 %t138, label %then30, label %ifend32 then30: store ptr null, ptr %retval br label %ret ifend32: %t139 = load ptr, ptr %t1 %t140 = call ptr @fn_vw_mangle(ptr %t139) store i32 2907, ptr @lp_site %t141 = call ptr @lp_str_concat(ptr @.str3607, ptr %t140) store i32 0, ptr @lp_site store ptr %t141, ptr %t142 %t143 = load ptr, ptr %t142 %t144 = call i32 @fn_vw_have(ptr %t143) %t145 = icmp ne i32 %t144, 0 br i1 %t145, label %then33, label %ifend35 then33: %t146 = load ptr, ptr %t142 store i32 2908, ptr @lp_site %t147 = call ptr @lp_str_concat(ptr %t146, ptr @.str3608) store i32 0, ptr @lp_site %t148 = load ptr, ptr %t2 store i32 2909, ptr @lp_site %t149 = call ptr @lp_str_concat(ptr %t147, ptr %t148) store i32 0, ptr @lp_site call void @lp_free(ptr %t147) store i32 2910, ptr @lp_site %t150 = call ptr @lp_str_concat(ptr %t149, ptr @.str3609) store i32 0, ptr @lp_site call void @lp_free(ptr %t149) store ptr %t150, ptr %retval br label %ret ifend35: %t151 = load ptr, ptr @g_g_vw_helpers %t152 = load ptr, ptr %t142 %t153 = getelementptr inbounds %LSlice, ptr %t151, i32 0, i32 1 %t154 = getelementptr inbounds %LSlice, ptr %t151, i32 0, i32 2 %t155 = getelementptr inbounds %LSlice, ptr %t151, i32 0, i32 0 %t156 = load i32, ptr %t153 %t157 = load i32, ptr %t154 %t158 = icmp sge i32 %t156, %t157 br i1 %t158, label %grow36, label %put37 grow36: %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 store i32 2911, ptr @lp_site %t167 = call ptr @lp_realloc(ptr %t166, i64 %t165) store i32 0, ptr @lp_site store ptr %t167, ptr %t155 store i32 %t161, ptr %t154 br label %put37 put37: %t168 = load ptr, ptr %t155 %t169 = getelementptr inbounds ptr, ptr %t168, i32 %t156 store ptr %t152, ptr %t169 %t170 = add i32 %t156, 1 store i32 %t170, ptr %t153 %t171 = load ptr, ptr %t142 store i32 2912, ptr @lp_site %t172 = call ptr @lp_str_concat(ptr @.str3610, ptr %t171) store i32 0, ptr @lp_site store i32 2913, ptr @lp_site %t173 = call ptr @lp_str_concat(ptr %t172, ptr @.str3611) store i32 0, ptr @lp_site call void @lp_free(ptr %t172) %t174 = load ptr, ptr %t1 store i32 2914, ptr @lp_site %t175 = call ptr @lp_str_concat(ptr %t173, ptr %t174) store i32 0, ptr @lp_site call void @lp_free(ptr %t173) store i32 2915, ptr @lp_site %t176 = call ptr @lp_str_concat(ptr %t175, ptr @.str3612) store i32 0, ptr @lp_site call void @lp_free(ptr %t175) store ptr %t176, ptr %t177 store i32 0, ptr %t178 br label %wcond38 wcond38: %t179 = load i32, ptr %t178 %t180 = load ptr, ptr %t134 %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 1 %t184 = load i32, ptr %t183 %t185 = icmp slt i32 %t179, %t184 %t186 = zext i1 %t185 to i32 %t187 = icmp ne i32 %t186, 0 br i1 %t187, label %wbody39, label %wend40 wbody39: %t188 = load ptr, ptr %t134 %t189 = getelementptr inbounds %Cmp_Node, ptr %t188, i32 0, i32 7 %t190 = load ptr, ptr %t189 %t191 = load i32, ptr %t178 %t192 = getelementptr inbounds %LSlice, ptr %t190, i32 0, i32 0 %t193 = load ptr, ptr %t192 %t194 = getelementptr inbounds %LSlice, ptr %t190, i32 0, i32 1 %t195 = load i32, ptr %t194 %t196 = icmp ult i32 %t191, %t195 br i1 %t196, label %ixok41, label %ixbad42 ixbad42: store i32 2916, ptr @lp_site %t197 = call ptr @lp_win_stdio(i32 2) store i32 0, ptr @lp_site call i32 (ptr, ptr, ...) @fprintf(ptr %t197, ptr @.fmt_bounds, ptr @.str3613, i32 %t191, i32 %t195) call void @exit(i32 1) unreachable ixok41: %t198 = getelementptr inbounds ptr, ptr %t193, i32 %t191 %t199 = load ptr, ptr %t198 store ptr %t199, ptr %t200 %t201 = load ptr, ptr %t200 %t202 = getelementptr inbounds %Cmp_Node, ptr %t201, i32 0, i32 3 %t203 = load ptr, ptr %t202 %t204 = icmp ne ptr %t203, null %t205 = zext i1 %t204 to i32 %t206 = icmp ne i32 %t205, 0 br i1 %t206, label %then43, label %ifend45 then43: %t207 = load i32, ptr %t0 %t208 = load ptr, ptr %t200 %t209 = getelementptr inbounds %Cmp_Node, ptr %t208, i32 0, i32 3 %t210 = load ptr, ptr %t209 %t211 = load ptr, ptr %t200 %t212 = getelementptr inbounds %Cmp_Node, ptr %t211, i32 0, i32 1 %t213 = load ptr, ptr %t212 store i32 2917, ptr @lp_site %t214 = call ptr @lp_str_concat(ptr @.str3614, ptr %t213) store i32 0, ptr @lp_site %t215 = load ptr, ptr %t3 %t216 = call ptr @fn_vw_conv(i32 %t207, ptr %t210, ptr %t214, ptr %t215) store ptr %t216, ptr %t217 %t218 = load ptr, ptr %t217 %t219 = icmp ne ptr %t218, null %t220 = zext i1 %t219 to i32 %t221 = icmp ne i32 %t220, 0 br i1 %t221, label %then46, label %ifend48 then46: %t222 = load ptr, ptr %t177 %t223 = load ptr, ptr %t200 %t224 = getelementptr inbounds %Cmp_Node, ptr %t223, i32 0, i32 1 %t225 = load ptr, ptr %t224 store i32 2918, ptr @lp_site %t226 = call ptr @lp_str_concat(ptr @.str3615, ptr %t225) store i32 0, ptr @lp_site store i32 2919, ptr @lp_site %t227 = call ptr @lp_str_concat(ptr %t226, ptr @.str3616) store i32 0, ptr @lp_site call void @lp_free(ptr %t226) %t228 = load ptr, ptr %t217 store i32 2920, ptr @lp_site %t229 = call ptr @lp_str_concat(ptr %t227, ptr %t228) store i32 0, ptr @lp_site call void @lp_free(ptr %t227) store i32 2921, ptr @lp_site %t230 = call ptr @lp_str_concat(ptr %t229, ptr @.str3617) store i32 0, ptr @lp_site call void @lp_free(ptr %t229) store i32 2922, ptr @lp_site %t231 = call ptr @lp_str_concat(ptr %t222, ptr %t230) store i32 0, ptr @lp_site call void @lp_free(ptr %t230) store ptr %t231, ptr %t177 br label %ifend48 ifend48: br label %ifend45 ifend45: %t232 = load i32, ptr %t178 %t233 = add i32 %t232, 1 store i32 %t233, ptr %t178 br label %wcond38 wend40: %t234 = load ptr, ptr %t177 store i32 2923, ptr @lp_site %t235 = call ptr @lp_str_concat(ptr %t234, ptr @.str3618) store i32 0, ptr @lp_site %t236 = load ptr, ptr %t3 %t237 = getelementptr inbounds %Cmp_Node, ptr %t236, i32 0, i32 9 %t238 = load ptr, ptr %t237 %t239 = load ptr, ptr %t3 %t240 = getelementptr inbounds %Cmp_Node, ptr %t239, i32 0, i32 8 %t241 = load i32, ptr %t240 call void @fn_vw_parse(ptr %t235, ptr %t238, i32 %t241, i32 1) %t242 = load ptr, ptr %t142 store i32 2924, ptr @lp_site %t243 = call ptr @lp_str_concat(ptr %t242, ptr @.str3619) store i32 0, ptr @lp_site %t244 = load ptr, ptr %t2 store i32 2925, ptr @lp_site %t245 = call ptr @lp_str_concat(ptr %t243, ptr %t244) store i32 0, ptr @lp_site call void @lp_free(ptr %t243) store i32 2926, ptr @lp_site %t246 = call ptr @lp_str_concat(ptr %t245, ptr @.str3620) store i32 0, ptr @lp_site call void @lp_free(ptr %t245) store ptr %t246, ptr %retval br label %ret ret: %t247 = load ptr, ptr %retval ret ptr %t247 } define i32 @fn_vw_have(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_vw_helpers %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_vw_helpers %t10 = load i32, ptr %t1 %t11 = getelementptr inbounds %LSlice, ptr %t9, i32 0, i32 0 %t12 = load ptr, ptr %t11 %t13 = getelementptr inbounds %LSlice, ptr %t9, i32 0, i32 1 %t14 = load i32, ptr %t13 %t15 = icmp ult i32 %t10, %t14 br i1 %t15, label %ixok3, label %ixbad4 ixbad4: store i32 2927, ptr @lp_site %t16 = call ptr @lp_win_stdio(i32 2) store i32 0, ptr @lp_site call i32 (ptr, ptr, ...) @fprintf(ptr %t16, ptr @.fmt_bounds, ptr @.str3621, i32 %t10, i32 %t14) call void @exit(i32 1) unreachable ixok3: %t17 = getelementptr inbounds ptr, ptr %t12, i32 %t10 %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 br i1 %t21, label %then5, label %ifend7 then5: store i32 1, ptr %retval br label %ret ifend7: %t22 = load i32, ptr %t1 %t23 = add i32 %t22, 1 store i32 %t23, ptr %t1 br label %wcond0 wend2: store i32 0, ptr %retval br label %ret ret: %t24 = load i32, ptr %retval ret i32 %t24 } define void @fn_vw_helper(ptr %arg_src, ptr %arg_name, ptr %arg_head) { entry: %t0 = alloca ptr %t1 = alloca ptr %t2 = alloca ptr store ptr %arg_src, ptr %t0 store ptr %arg_name, ptr %t1 store ptr %arg_head, ptr %t2 %t3 = load ptr, ptr %t1 %t4 = call i32 @fn_vw_have(ptr %t3) %t5 = icmp ne i32 %t4, 0 br i1 %t5, label %then0, label %ifend2 then0: br label %ret ifend2: %t6 = load ptr, ptr @g_g_vw_helpers %t7 = load ptr, ptr %t1 %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 %grow3, label %put4 grow3: %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 store i32 2928, ptr @lp_site %t22 = call ptr @lp_realloc(ptr %t21, i64 %t20) store i32 0, ptr @lp_site store ptr %t22, ptr %t10 store i32 %t16, ptr %t9 br label %put4 put4: %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 %t0 %t27 = load ptr, ptr %t2 %t28 = getelementptr inbounds %Cmp_Node, ptr %t27, i32 0, i32 9 %t29 = load ptr, ptr %t28 %t30 = load ptr, ptr %t2 %t31 = getelementptr inbounds %Cmp_Node, ptr %t30, i32 0, i32 8 %t32 = load i32, ptr %t31 call void @fn_vw_parse(ptr %t26, ptr %t29, i32 %t32, i32 1) br label %ret ret: ret void } define ptr @fn_vw_mangle(ptr %arg_ty) { entry: %retval = alloca ptr %t0 = alloca ptr %t4 = alloca i32 %t9 = alloca ptr %t10 = alloca i32 %t21 = alloca i32 %t22 = alloca i32 %t23 = alloca i32 %t24 = alloca i32 %t38 = alloca i32 %t55 = alloca i32 %t70 = alloca i32 store ptr %arg_ty, 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 store i32 2929, ptr @lp_site %t8 = call ptr @lp_malloc(i64 %t7) store i32 0, ptr @lp_site 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 store i32 %t20, ptr %t21 %t25 = load i32, ptr %t21 %t26 = icmp sge i32 %t25, 97 %t27 = zext i1 %t26 to i32 %t28 = icmp ne i32 %t27, 0 %t29 = zext i1 %t28 to i32 store i32 %t29, ptr %t24 br i1 %t28, label %sc3, label %scend4 sc3: %t30 = load i32, ptr %t21 %t31 = icmp sle i32 %t30, 122 %t32 = zext i1 %t31 to i32 %t33 = icmp ne i32 %t32, 0 %t34 = zext i1 %t33 to i32 store i32 %t34, ptr %t24 br label %scend4 scend4: %t35 = load i32, ptr %t24 %t36 = icmp ne i32 %t35, 0 %t37 = zext i1 %t36 to i32 store i32 %t37, ptr %t23 br i1 %t36, label %scend6, label %sc5 sc5: %t39 = load i32, ptr %t21 %t40 = icmp sge i32 %t39, 65 %t41 = zext i1 %t40 to i32 %t42 = icmp ne i32 %t41, 0 %t43 = zext i1 %t42 to i32 store i32 %t43, ptr %t38 br i1 %t42, label %sc7, label %scend8 sc7: %t44 = load i32, ptr %t21 %t45 = icmp sle i32 %t44, 90 %t46 = zext i1 %t45 to i32 %t47 = icmp ne i32 %t46, 0 %t48 = zext i1 %t47 to i32 store i32 %t48, ptr %t38 br label %scend8 scend8: %t49 = load i32, ptr %t38 %t50 = icmp ne i32 %t49, 0 %t51 = zext i1 %t50 to i32 store i32 %t51, ptr %t23 br label %scend6 scend6: %t52 = load i32, ptr %t23 %t53 = icmp ne i32 %t52, 0 %t54 = zext i1 %t53 to i32 store i32 %t54, ptr %t22 br i1 %t53, label %scend10, label %sc9 sc9: %t56 = load i32, ptr %t21 %t57 = icmp sge i32 %t56, 48 %t58 = zext i1 %t57 to i32 %t59 = icmp ne i32 %t58, 0 %t60 = zext i1 %t59 to i32 store i32 %t60, ptr %t55 br i1 %t59, label %sc11, label %scend12 sc11: %t61 = load i32, ptr %t21 %t62 = icmp sle i32 %t61, 57 %t63 = zext i1 %t62 to i32 %t64 = icmp ne i32 %t63, 0 %t65 = zext i1 %t64 to i32 store i32 %t65, ptr %t55 br label %scend12 scend12: %t66 = load i32, ptr %t55 %t67 = icmp ne i32 %t66, 0 %t68 = zext i1 %t67 to i32 store i32 %t68, ptr %t22 br label %scend10 scend10: %t69 = load i32, ptr %t22 store i32 %t69, ptr %t70 %t71 = load i32, ptr %t70 %t72 = icmp eq i32 %t71, 0 %t73 = zext i1 %t72 to i32 %t74 = icmp ne i32 %t73, 0 br i1 %t74, label %then13, label %ifend15 then13: store i32 95, ptr %t21 br label %ifend15 ifend15: %t75 = load ptr, ptr %t9 %t76 = load i32, ptr %t10 %t77 = getelementptr inbounds i8, ptr %t75, i32 %t76 %t78 = load i32, ptr %t21 %t79 = trunc i32 %t78 to i8 store i8 %t79, ptr %t77 %t80 = load i32, ptr %t10 %t81 = add i32 %t80, 1 store i32 %t81, ptr %t10 br label %wcond0 wend2: %t82 = load ptr, ptr %t9 %t83 = load i32, ptr %t4 %t84 = getelementptr inbounds i8, ptr %t82, i32 %t83 %t85 = trunc i32 0 to i8 store i8 %t85, ptr %t84 %t86 = load ptr, ptr %t9 store ptr %t86, ptr %retval br label %ret ret: %t87 = load ptr, ptr %retval ret ptr %t87 } define ptr @fn_vw_set(i32 %arg_v, ptr %arg_ty, ptr %arg_o, ptr %arg_k, ptr %arg_x, ptr %arg_head) { entry: %retval = alloca ptr %t0 = alloca i32 %t1 = alloca ptr %t2 = alloca ptr %t3 = alloca ptr %t4 = alloca ptr %t5 = alloca ptr %t126 = alloca i32 %t127 = alloca i32 %t156 = alloca ptr %t173 = alloca ptr %t208 = alloca ptr %t211 = alloca ptr %t240 = alloca ptr store i32 %arg_v, ptr %t0 store ptr %arg_ty, ptr %t1 store ptr %arg_o, ptr %t2 store ptr %arg_k, ptr %t3 store ptr %arg_x, ptr %t4 store ptr %arg_head, ptr %t5 %t6 = load ptr, ptr %t1 %t7 = call i32 @lp_str_eq(ptr %t6, ptr @.str3625) %t8 = icmp ne i32 %t7, 0 br i1 %t8, label %then0, label %ifend2 then0: %t9 = load ptr, ptr %t2 store i32 2930, ptr @lp_site %t10 = call ptr @lp_str_concat(ptr @.str3626, ptr %t9) store i32 0, ptr @lp_site store i32 2931, ptr @lp_site %t11 = call ptr @lp_str_concat(ptr %t10, ptr @.str3628) store i32 0, ptr @lp_site call void @lp_free(ptr %t10) %t12 = load ptr, ptr %t3 store i32 2932, ptr @lp_site %t13 = call ptr @lp_str_concat(ptr %t11, ptr %t12) store i32 0, ptr @lp_site call void @lp_free(ptr %t11) store i32 2933, ptr @lp_site %t14 = call ptr @lp_str_concat(ptr %t13, ptr @.str3629) store i32 0, ptr @lp_site call void @lp_free(ptr %t13) %t15 = load ptr, ptr %t4 store i32 2934, ptr @lp_site %t16 = call ptr @lp_str_concat(ptr %t14, ptr %t15) store i32 0, ptr @lp_site call void @lp_free(ptr %t14) store i32 2935, ptr @lp_site %t17 = call ptr @lp_str_concat(ptr %t16, ptr @.str3630) store i32 0, ptr @lp_site call void @lp_free(ptr %t16) store ptr %t17, ptr %retval br label %ret ifend2: %t18 = load ptr, ptr %t1 %t19 = call i32 @lp_str_eq(ptr %t18, ptr @.str3631) %t20 = icmp ne i32 %t19, 0 br i1 %t20, label %then3, label %ifend5 then3: %t21 = load ptr, ptr %t2 store i32 2936, ptr @lp_site %t22 = call ptr @lp_str_concat(ptr @.str3632, ptr %t21) store i32 0, ptr @lp_site store i32 2937, ptr @lp_site %t23 = call ptr @lp_str_concat(ptr %t22, ptr @.str3633) store i32 0, ptr @lp_site call void @lp_free(ptr %t22) %t24 = load ptr, ptr %t3 store i32 2938, ptr @lp_site %t25 = call ptr @lp_str_concat(ptr %t23, ptr %t24) store i32 0, ptr @lp_site call void @lp_free(ptr %t23) store i32 2939, ptr @lp_site %t26 = call ptr @lp_str_concat(ptr %t25, ptr @.str3634) store i32 0, ptr @lp_site call void @lp_free(ptr %t25) %t27 = load ptr, ptr %t4 store i32 2940, ptr @lp_site %t28 = call ptr @lp_str_concat(ptr %t26, ptr %t27) store i32 0, ptr @lp_site call void @lp_free(ptr %t26) store i32 2941, ptr @lp_site %t29 = call ptr @lp_str_concat(ptr %t28, ptr @.str3635) store i32 0, ptr @lp_site call void @lp_free(ptr %t28) store ptr %t29, ptr %retval br label %ret ifend5: %t30 = load ptr, ptr %t1 %t31 = call i32 @lp_str_eq(ptr %t30, ptr @.str3636) %t32 = icmp ne i32 %t31, 0 br i1 %t32, label %then6, label %ifend8 then6: %t33 = load ptr, ptr %t2 store i32 2942, ptr @lp_site %t34 = call ptr @lp_str_concat(ptr @.str3637, ptr %t33) store i32 0, ptr @lp_site store i32 2943, ptr @lp_site %t35 = call ptr @lp_str_concat(ptr %t34, ptr @.str3638) store i32 0, ptr @lp_site call void @lp_free(ptr %t34) %t36 = load ptr, ptr %t3 store i32 2944, ptr @lp_site %t37 = call ptr @lp_str_concat(ptr %t35, ptr %t36) store i32 0, ptr @lp_site call void @lp_free(ptr %t35) store i32 2945, ptr @lp_site %t38 = call ptr @lp_str_concat(ptr %t37, ptr @.str3639) store i32 0, ptr @lp_site call void @lp_free(ptr %t37) %t39 = load ptr, ptr %t4 store i32 2946, ptr @lp_site %t40 = call ptr @lp_str_concat(ptr %t38, ptr %t39) store i32 0, ptr @lp_site call void @lp_free(ptr %t38) store i32 2947, ptr @lp_site %t41 = call ptr @lp_str_concat(ptr %t40, ptr @.str3640) store i32 0, ptr @lp_site call void @lp_free(ptr %t40) store ptr %t41, ptr %retval br label %ret ifend8: %t42 = load ptr, ptr %t1 %t43 = call i32 @fn_i18n_is_key_ty(ptr %t42) %t44 = icmp ne i32 %t43, 0 br i1 %t44, label %then9, label %ifend11 then9: %t45 = load ptr, ptr %t2 store i32 2948, ptr @lp_site %t46 = call ptr @lp_str_concat(ptr @.str3641, ptr %t45) store i32 0, ptr @lp_site store i32 2949, ptr @lp_site %t47 = call ptr @lp_str_concat(ptr %t46, ptr @.str3642) store i32 0, ptr @lp_site call void @lp_free(ptr %t46) %t48 = load ptr, ptr %t3 store i32 2950, ptr @lp_site %t49 = call ptr @lp_str_concat(ptr %t47, ptr %t48) store i32 0, ptr @lp_site call void @lp_free(ptr %t47) store i32 2951, ptr @lp_site %t50 = call ptr @lp_str_concat(ptr %t49, ptr @.str3643) store i32 0, ptr @lp_site call void @lp_free(ptr %t49) %t51 = load ptr, ptr %t4 store i32 2952, ptr @lp_site %t52 = call ptr @lp_str_concat(ptr %t50, ptr %t51) store i32 0, ptr @lp_site call void @lp_free(ptr %t50) store i32 2953, ptr @lp_site %t53 = call ptr @lp_str_concat(ptr %t52, ptr @.str3644) store i32 0, ptr @lp_site call void @lp_free(ptr %t52) store ptr %t53, ptr %retval br label %ret ifend11: %t54 = load ptr, ptr %t1 %t55 = call i32 @lp_str_eq(ptr %t54, ptr @.str3645) %t56 = icmp ne i32 %t55, 0 br i1 %t56, label %then12, label %ifend14 then12: %t57 = load ptr, ptr %t2 store i32 2954, ptr @lp_site %t58 = call ptr @lp_str_concat(ptr @.str3646, ptr %t57) store i32 0, ptr @lp_site store i32 2955, ptr @lp_site %t59 = call ptr @lp_str_concat(ptr %t58, ptr @.str3647) store i32 0, ptr @lp_site call void @lp_free(ptr %t58) %t60 = load ptr, ptr %t3 store i32 2956, ptr @lp_site %t61 = call ptr @lp_str_concat(ptr %t59, ptr %t60) store i32 0, ptr @lp_site call void @lp_free(ptr %t59) store i32 2957, ptr @lp_site %t62 = call ptr @lp_str_concat(ptr %t61, ptr @.str3648) store i32 0, ptr @lp_site call void @lp_free(ptr %t61) %t63 = load ptr, ptr %t4 store i32 2958, ptr @lp_site %t64 = call ptr @lp_str_concat(ptr %t62, ptr %t63) store i32 0, ptr @lp_site call void @lp_free(ptr %t62) store i32 2959, ptr @lp_site %t65 = call ptr @lp_str_concat(ptr %t64, ptr @.str3649) store i32 0, ptr @lp_site call void @lp_free(ptr %t64) store ptr %t65, ptr %retval br label %ret ifend14: %t66 = load ptr, ptr %t1 %t67 = call i32 @lp_str_eq(ptr %t66, ptr @.str3650) %t68 = icmp ne i32 %t67, 0 br i1 %t68, label %then15, label %ifend17 then15: %t69 = load ptr, ptr %t2 store i32 2960, ptr @lp_site %t70 = call ptr @lp_str_concat(ptr @.str3651, ptr %t69) store i32 0, ptr @lp_site store i32 2961, ptr @lp_site %t71 = call ptr @lp_str_concat(ptr %t70, ptr @.str3652) store i32 0, ptr @lp_site call void @lp_free(ptr %t70) %t72 = load ptr, ptr %t3 store i32 2962, ptr @lp_site %t73 = call ptr @lp_str_concat(ptr %t71, ptr %t72) store i32 0, ptr @lp_site call void @lp_free(ptr %t71) store i32 2963, ptr @lp_site %t74 = call ptr @lp_str_concat(ptr %t73, ptr @.str3653) store i32 0, ptr @lp_site call void @lp_free(ptr %t73) %t75 = load ptr, ptr %t4 store i32 2964, ptr @lp_site %t76 = call ptr @lp_str_concat(ptr %t74, ptr %t75) store i32 0, ptr @lp_site call void @lp_free(ptr %t74) store i32 2965, ptr @lp_site %t77 = call ptr @lp_str_concat(ptr %t76, ptr @.str3654) store i32 0, ptr @lp_site call void @lp_free(ptr %t76) store ptr %t77, ptr %retval br label %ret ifend17: %t78 = load ptr, ptr %t1 %t79 = call i32 @lp_str_eq(ptr %t78, ptr @.str3655) %t80 = icmp ne i32 %t79, 0 br i1 %t80, label %then18, label %ifend20 then18: %t81 = load ptr, ptr %t2 store i32 2966, ptr @lp_site %t82 = call ptr @lp_str_concat(ptr @.str3656, ptr %t81) store i32 0, ptr @lp_site store i32 2967, ptr @lp_site %t83 = call ptr @lp_str_concat(ptr %t82, ptr @.str3657) store i32 0, ptr @lp_site call void @lp_free(ptr %t82) %t84 = load ptr, ptr %t3 store i32 2968, ptr @lp_site %t85 = call ptr @lp_str_concat(ptr %t83, ptr %t84) store i32 0, ptr @lp_site call void @lp_free(ptr %t83) store i32 2969, ptr @lp_site %t86 = call ptr @lp_str_concat(ptr %t85, ptr @.str3658) store i32 0, ptr @lp_site call void @lp_free(ptr %t85) %t87 = load ptr, ptr %t4 store i32 2970, ptr @lp_site %t88 = call ptr @lp_str_concat(ptr %t86, ptr %t87) store i32 0, ptr @lp_site call void @lp_free(ptr %t86) store i32 2971, ptr @lp_site %t89 = call ptr @lp_str_concat(ptr %t88, ptr @.str3659) store i32 0, ptr @lp_site call void @lp_free(ptr %t88) store ptr %t89, ptr %retval br label %ret ifend20: %t90 = load ptr, ptr %t1 %t91 = call i32 @lp_str_eq(ptr %t90, ptr @.str3660) %t92 = icmp ne i32 %t91, 0 br i1 %t92, label %then21, label %ifend23 then21: %t93 = load ptr, ptr %t2 store i32 2972, ptr @lp_site %t94 = call ptr @lp_str_concat(ptr @.str3661, ptr %t93) store i32 0, ptr @lp_site store i32 2973, ptr @lp_site %t95 = call ptr @lp_str_concat(ptr %t94, ptr @.str3662) store i32 0, ptr @lp_site call void @lp_free(ptr %t94) %t96 = load ptr, ptr %t3 store i32 2974, ptr @lp_site %t97 = call ptr @lp_str_concat(ptr %t95, ptr %t96) store i32 0, ptr @lp_site call void @lp_free(ptr %t95) store i32 2975, ptr @lp_site %t98 = call ptr @lp_str_concat(ptr %t97, ptr @.str3663) store i32 0, ptr @lp_site call void @lp_free(ptr %t97) %t99 = load ptr, ptr %t4 store i32 2976, ptr @lp_site %t100 = call ptr @lp_str_concat(ptr %t98, ptr %t99) store i32 0, ptr @lp_site call void @lp_free(ptr %t98) store i32 2977, ptr @lp_site %t101 = call ptr @lp_str_concat(ptr %t100, ptr @.str3664) store i32 0, ptr @lp_site call void @lp_free(ptr %t100) store ptr %t101, ptr %retval br label %ret ifend23: %t102 = load ptr, ptr %t1 %t103 = call i32 @lp_str_eq(ptr %t102, ptr @.str3665) %t104 = icmp ne i32 %t103, 0 br i1 %t104, label %then24, label %ifend26 then24: %t105 = load ptr, ptr %t2 store i32 2978, ptr @lp_site %t106 = call ptr @lp_str_concat(ptr @.str3666, ptr %t105) store i32 0, ptr @lp_site store i32 2979, ptr @lp_site %t107 = call ptr @lp_str_concat(ptr %t106, ptr @.str3667) store i32 0, ptr @lp_site call void @lp_free(ptr %t106) %t108 = load ptr, ptr %t3 store i32 2980, ptr @lp_site %t109 = call ptr @lp_str_concat(ptr %t107, ptr %t108) store i32 0, ptr @lp_site call void @lp_free(ptr %t107) store i32 2981, ptr @lp_site %t110 = call ptr @lp_str_concat(ptr %t109, ptr @.str3668) store i32 0, ptr @lp_site call void @lp_free(ptr %t109) %t111 = load ptr, ptr %t4 store i32 2982, ptr @lp_site %t112 = call ptr @lp_str_concat(ptr %t110, ptr %t111) store i32 0, ptr @lp_site call void @lp_free(ptr %t110) store i32 2983, ptr @lp_site %t113 = call ptr @lp_str_concat(ptr %t112, ptr @.str3669) store i32 0, ptr @lp_site call void @lp_free(ptr %t112) store ptr %t113, ptr %retval br label %ret ifend26: %t114 = load ptr, ptr %t1 %t115 = call i32 @lp_str_eq(ptr %t114, ptr @.str3670) %t116 = icmp ne i32 %t115, 0 br i1 %t116, label %then27, label %ifend29 then27: %t117 = load ptr, ptr %t2 store i32 2984, ptr @lp_site %t118 = call ptr @lp_str_concat(ptr @.str3671, ptr %t117) store i32 0, ptr @lp_site store i32 2985, ptr @lp_site %t119 = call ptr @lp_str_concat(ptr %t118, ptr @.str3672) store i32 0, ptr @lp_site call void @lp_free(ptr %t118) %t120 = load ptr, ptr %t3 store i32 2986, ptr @lp_site %t121 = call ptr @lp_str_concat(ptr %t119, ptr %t120) store i32 0, ptr @lp_site call void @lp_free(ptr %t119) store i32 2987, ptr @lp_site %t122 = call ptr @lp_str_concat(ptr %t121, ptr @.str3673) store i32 0, ptr @lp_site call void @lp_free(ptr %t121) %t123 = load ptr, ptr %t4 store i32 2988, ptr @lp_site %t124 = call ptr @lp_str_concat(ptr %t122, ptr %t123) store i32 0, ptr @lp_site call void @lp_free(ptr %t122) store i32 2989, ptr @lp_site %t125 = call ptr @lp_str_concat(ptr %t124, ptr @.str3674) store i32 0, ptr @lp_site call void @lp_free(ptr %t124) store ptr %t125, ptr %retval br label %ret ifend29: %t128 = load ptr, ptr %t1 %t129 = call i64 @strlen(ptr %t128) %t130 = trunc i64 %t129 to i32 %t131 = icmp sgt i32 %t130, 2 %t132 = zext i1 %t131 to i32 %t133 = icmp ne i32 %t132, 0 %t134 = zext i1 %t133 to i32 store i32 %t134, ptr %t127 br i1 %t133, label %sc30, label %scend31 sc30: %t135 = load ptr, ptr %t1 %t136 = getelementptr inbounds i8, ptr %t135, i32 0 %t137 = load i8, ptr %t136 %t138 = zext i8 %t137 to i32 %t139 = icmp eq i32 %t138, 91 %t140 = zext i1 %t139 to i32 %t141 = icmp ne i32 %t140, 0 %t142 = zext i1 %t141 to i32 store i32 %t142, ptr %t127 br label %scend31 scend31: %t143 = load i32, ptr %t127 %t144 = icmp ne i32 %t143, 0 %t145 = zext i1 %t144 to i32 store i32 %t145, ptr %t126 br i1 %t144, label %sc32, label %scend33 sc32: %t146 = load ptr, ptr %t1 %t147 = getelementptr inbounds i8, ptr %t146, i32 1 %t148 = load i8, ptr %t147 %t149 = zext i8 %t148 to i32 %t150 = icmp eq i32 %t149, 93 %t151 = zext i1 %t150 to i32 %t152 = icmp ne i32 %t151, 0 %t153 = zext i1 %t152 to i32 store i32 %t153, ptr %t126 br label %scend33 scend33: %t154 = load i32, ptr %t126 %t155 = icmp ne i32 %t154, 0 br i1 %t155, label %then34, label %ifend36 then34: %t157 = load ptr, ptr %t1 %t158 = load ptr, ptr %t1 %t159 = call i64 @strlen(ptr %t158) %t160 = trunc i64 %t159 to i32 store i32 2990, ptr @lp_site %t161 = call ptr @lp_str_slice(ptr %t157, i32 2, i32 %t160) store i32 0, ptr @lp_site store ptr %t161, ptr %t156 %t162 = load ptr, ptr %t156 %t163 = call ptr @fn_find_comp(ptr %t162) %t164 = icmp ne ptr %t163, null %t165 = zext i1 %t164 to i32 %t166 = icmp ne i32 %t165, 0 br i1 %t166, label %then37, label %ifend39 then37: %t167 = load i32, ptr %t0 %t168 = load ptr, ptr %t156 %t169 = load ptr, ptr %t5 call void @fn_vw_fill_fn(i32 %t167, ptr %t168, ptr %t169) %t170 = load ptr, ptr %t156 %t171 = call ptr @fn_vw_mangle(ptr %t170) store i32 2991, ptr @lp_site %t172 = call ptr @lp_str_concat(ptr @.str3675, ptr %t171) store i32 0, ptr @lp_site store ptr %t172, ptr %t173 %t174 = load ptr, ptr %t173 store i32 2992, ptr @lp_site %t175 = call ptr @lp_str_concat(ptr @.str3676, ptr %t174) store i32 0, ptr @lp_site store i32 2993, ptr @lp_site %t176 = call ptr @lp_str_concat(ptr %t175, ptr @.str3677) store i32 0, ptr @lp_site call void @lp_free(ptr %t175) %t177 = load ptr, ptr %t1 store i32 2994, ptr @lp_site %t178 = call ptr @lp_str_concat(ptr %t176, ptr %t177) store i32 0, ptr @lp_site call void @lp_free(ptr %t176) store i32 2995, ptr @lp_site %t179 = call ptr @lp_str_concat(ptr %t178, ptr @.str3678) store i32 0, ptr @lp_site call void @lp_free(ptr %t178) %t180 = load ptr, ptr %t156 %t181 = call ptr @fn_vw_mangle(ptr %t180) store i32 2996, ptr @lp_site %t182 = call ptr @lp_str_concat(ptr %t179, ptr %t181) store i32 0, ptr @lp_site call void @lp_free(ptr %t179) store i32 2997, ptr @lp_site %t183 = call ptr @lp_str_concat(ptr %t182, ptr @.str3679) store i32 0, ptr @lp_site call void @lp_free(ptr %t182) %t184 = load ptr, ptr %t173 %t185 = load ptr, ptr %t5 call void @fn_vw_helper(ptr %t183, ptr %t184, ptr %t185) %t186 = load ptr, ptr %t173 store i32 2998, ptr @lp_site %t187 = call ptr @lp_str_concat(ptr @.str3680, ptr %t186) store i32 0, ptr @lp_site store i32 2999, ptr @lp_site %t188 = call ptr @lp_str_concat(ptr %t187, ptr @.str3681) store i32 0, ptr @lp_site call void @lp_free(ptr %t187) %t189 = load ptr, ptr %t2 store i32 3000, ptr @lp_site %t190 = call ptr @lp_str_concat(ptr %t188, ptr %t189) store i32 0, ptr @lp_site call void @lp_free(ptr %t188) store i32 3001, ptr @lp_site %t191 = call ptr @lp_str_concat(ptr %t190, ptr @.str3682) store i32 0, ptr @lp_site call void @lp_free(ptr %t190) %t192 = load ptr, ptr %t3 store i32 3002, ptr @lp_site %t193 = call ptr @lp_str_concat(ptr %t191, ptr %t192) store i32 0, ptr @lp_site call void @lp_free(ptr %t191) store i32 3003, ptr @lp_site %t194 = call ptr @lp_str_concat(ptr %t193, ptr @.str3683) store i32 0, ptr @lp_site call void @lp_free(ptr %t193) %t195 = load ptr, ptr %t4 store i32 3004, ptr @lp_site %t196 = call ptr @lp_str_concat(ptr %t194, ptr %t195) store i32 0, ptr @lp_site call void @lp_free(ptr %t194) store i32 3005, ptr @lp_site %t197 = call ptr @lp_str_concat(ptr %t196, ptr @.str3684) store i32 0, ptr @lp_site call void @lp_free(ptr %t196) store ptr %t197, ptr %retval br label %ret ifend39: br label %ifend36 ifend36: %t198 = load ptr, ptr %t1 %t199 = call ptr @fn_find_comp(ptr %t198) %t200 = icmp ne ptr %t199, null %t201 = zext i1 %t200 to i32 %t202 = icmp ne i32 %t201, 0 br i1 %t202, label %then40, label %ifend42 then40: %t203 = load i32, ptr %t0 %t204 = load ptr, ptr %t1 %t205 = load ptr, ptr %t5 call void @fn_vw_fill_fn(i32 %t203, ptr %t204, ptr %t205) %t206 = load ptr, ptr %t1 %t207 = call ptr @fn_vw_mangle(ptr %t206) store ptr %t207, ptr %t208 %t209 = load ptr, ptr %t208 store i32 3006, ptr @lp_site %t210 = call ptr @lp_str_concat(ptr @.str3685, ptr %t209) store i32 0, ptr @lp_site store ptr %t210, ptr %t211 %t212 = load ptr, ptr %t211 store i32 3007, ptr @lp_site %t213 = call ptr @lp_str_concat(ptr @.str3686, ptr %t212) store i32 0, ptr @lp_site store i32 3008, ptr @lp_site %t214 = call ptr @lp_str_concat(ptr %t213, ptr @.str3687) store i32 0, ptr @lp_site call void @lp_free(ptr %t213) %t215 = load ptr, ptr %t1 store i32 3009, ptr @lp_site %t216 = call ptr @lp_str_concat(ptr %t214, ptr %t215) store i32 0, ptr @lp_site call void @lp_free(ptr %t214) store i32 3010, ptr @lp_site %t217 = call ptr @lp_str_concat(ptr %t216, ptr @.str3688) store i32 0, ptr @lp_site call void @lp_free(ptr %t216) %t218 = load ptr, ptr %t208 store i32 3011, ptr @lp_site %t219 = call ptr @lp_str_concat(ptr %t217, ptr %t218) store i32 0, ptr @lp_site call void @lp_free(ptr %t217) store i32 3012, ptr @lp_site %t220 = call ptr @lp_str_concat(ptr %t219, ptr @.str3689) store i32 0, ptr @lp_site call void @lp_free(ptr %t219) %t221 = load ptr, ptr %t211 %t222 = load ptr, ptr %t5 call void @fn_vw_helper(ptr %t220, ptr %t221, ptr %t222) %t223 = load ptr, ptr %t211 store i32 3013, ptr @lp_site %t224 = call ptr @lp_str_concat(ptr @.str3690, ptr %t223) store i32 0, ptr @lp_site store i32 3014, ptr @lp_site %t225 = call ptr @lp_str_concat(ptr %t224, ptr @.str3691) store i32 0, ptr @lp_site call void @lp_free(ptr %t224) %t226 = load ptr, ptr %t2 store i32 3015, ptr @lp_site %t227 = call ptr @lp_str_concat(ptr %t225, ptr %t226) store i32 0, ptr @lp_site call void @lp_free(ptr %t225) store i32 3016, ptr @lp_site %t228 = call ptr @lp_str_concat(ptr %t227, ptr @.str3692) store i32 0, ptr @lp_site call void @lp_free(ptr %t227) %t229 = load ptr, ptr %t3 store i32 3017, ptr @lp_site %t230 = call ptr @lp_str_concat(ptr %t228, ptr %t229) store i32 0, ptr @lp_site call void @lp_free(ptr %t228) store i32 3018, ptr @lp_site %t231 = call ptr @lp_str_concat(ptr %t230, ptr @.str3693) store i32 0, ptr @lp_site call void @lp_free(ptr %t230) %t232 = load ptr, ptr %t4 store i32 3019, ptr @lp_site %t233 = call ptr @lp_str_concat(ptr %t231, ptr %t232) store i32 0, ptr @lp_site call void @lp_free(ptr %t231) store i32 3020, ptr @lp_site %t234 = call ptr @lp_str_concat(ptr %t233, ptr @.str3694) store i32 0, ptr @lp_site call void @lp_free(ptr %t233) store ptr %t234, ptr %retval br label %ret ifend42: %t235 = load i32, ptr %t0 %t236 = load ptr, ptr %t1 %t237 = load ptr, ptr %t4 %t238 = load ptr, ptr %t5 %t239 = call ptr @fn_vw_conv(i32 %t235, ptr %t236, ptr %t237, ptr %t238) store ptr %t239, ptr %t240 %t241 = load ptr, ptr %t240 %t242 = icmp eq ptr %t241, null %t243 = zext i1 %t242 to i32 %t244 = icmp ne i32 %t243, 0 br i1 %t244, label %then43, label %ifend45 then43: store ptr null, ptr %retval br label %ret ifend45: %t245 = load ptr, ptr %t2 store i32 3021, ptr @lp_site %t246 = call ptr @lp_str_concat(ptr @.str3695, ptr %t245) store i32 0, ptr @lp_site store i32 3022, ptr @lp_site %t247 = call ptr @lp_str_concat(ptr %t246, ptr @.str3696) store i32 0, ptr @lp_site call void @lp_free(ptr %t246) %t248 = load ptr, ptr %t3 store i32 3023, ptr @lp_site %t249 = call ptr @lp_str_concat(ptr %t247, ptr %t248) store i32 0, ptr @lp_site call void @lp_free(ptr %t247) store i32 3024, ptr @lp_site %t250 = call ptr @lp_str_concat(ptr %t249, ptr @.str3697) store i32 0, ptr @lp_site call void @lp_free(ptr %t249) %t251 = load ptr, ptr %t240 store i32 3025, ptr @lp_site %t252 = call ptr @lp_str_concat(ptr %t250, ptr %t251) store i32 0, ptr @lp_site call void @lp_free(ptr %t250) store i32 3026, ptr @lp_site %t253 = call ptr @lp_str_concat(ptr %t252, ptr @.str3698) store i32 0, ptr @lp_site call void @lp_free(ptr %t252) store ptr %t253, ptr %retval br label %ret ret: %t254 = load ptr, ptr %retval ret ptr %t254 } define void @fn_vw_fill_fn(i32 %arg_v, ptr %arg_ty, ptr %arg_head) { entry: %t0 = alloca i32 %t1 = alloca ptr %t2 = alloca ptr %t6 = alloca ptr %t32 = alloca ptr %t39 = alloca ptr %t40 = alloca i32 %t62 = alloca ptr %t82 = alloca ptr store i32 %arg_v, ptr %t0 store ptr %arg_ty, ptr %t1 store ptr %arg_head, ptr %t2 %t3 = load ptr, ptr %t1 %t4 = call ptr @fn_vw_mangle(ptr %t3) store i32 3027, ptr @lp_site %t5 = call ptr @lp_str_concat(ptr @.str3699, ptr %t4) store i32 0, ptr @lp_site store ptr %t5, ptr %t6 %t7 = load ptr, ptr %t6 %t8 = call i32 @fn_vw_have(ptr %t7) %t9 = icmp ne i32 %t8, 0 br i1 %t9, label %then0, label %ifend2 then0: br label %ret ifend2: %t10 = load ptr, ptr @g_g_vw_helpers %t11 = load ptr, ptr %t6 %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 %grow3, label %put4 grow3: %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 store i32 3028, ptr @lp_site %t26 = call ptr @lp_realloc(ptr %t25, i64 %t24) store i32 0, ptr @lp_site store ptr %t26, ptr %t14 store i32 %t20, ptr %t13 br label %put4 put4: %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 %t30 = load ptr, ptr %t1 %t31 = call ptr @fn_find_comp(ptr %t30) store ptr %t31, ptr %t32 %t33 = load ptr, ptr %t6 store i32 3029, ptr @lp_site %t34 = call ptr @lp_str_concat(ptr @.str3701, ptr %t33) store i32 0, ptr @lp_site store i32 3030, ptr @lp_site %t35 = call ptr @lp_str_concat(ptr %t34, ptr @.str3702) store i32 0, ptr @lp_site call void @lp_free(ptr %t34) %t36 = load ptr, ptr %t1 store i32 3031, ptr @lp_site %t37 = call ptr @lp_str_concat(ptr %t35, ptr %t36) store i32 0, ptr @lp_site call void @lp_free(ptr %t35) store i32 3032, ptr @lp_site %t38 = call ptr @lp_str_concat(ptr %t37, ptr @.str3703) store i32 0, ptr @lp_site call void @lp_free(ptr %t37) store ptr %t38, ptr %t39 store i32 0, ptr %t40 br label %wcond5 wcond5: %t41 = load i32, ptr %t40 %t42 = load ptr, ptr %t32 %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 1 %t46 = load i32, ptr %t45 %t47 = icmp slt i32 %t41, %t46 %t48 = zext i1 %t47 to i32 %t49 = icmp ne i32 %t48, 0 br i1 %t49, label %wbody6, label %wend7 wbody6: %t50 = load ptr, ptr %t32 %t51 = getelementptr inbounds %Cmp_Node, ptr %t50, i32 0, i32 7 %t52 = load ptr, ptr %t51 %t53 = load i32, ptr %t40 %t54 = getelementptr inbounds %LSlice, ptr %t52, i32 0, i32 0 %t55 = load ptr, ptr %t54 %t56 = getelementptr inbounds %LSlice, ptr %t52, i32 0, i32 1 %t57 = load i32, ptr %t56 %t58 = icmp ult i32 %t53, %t57 br i1 %t58, label %ixok8, label %ixbad9 ixbad9: store i32 3033, ptr @lp_site %t59 = call ptr @lp_win_stdio(i32 2) store i32 0, ptr @lp_site call i32 (ptr, ptr, ...) @fprintf(ptr %t59, ptr @.fmt_bounds, ptr @.str3704, i32 %t53, i32 %t57) call void @exit(i32 1) unreachable ixok8: %t60 = getelementptr inbounds ptr, ptr %t55, i32 %t53 %t61 = load ptr, ptr %t60 store ptr %t61, ptr %t62 %t63 = load ptr, ptr %t62 %t64 = getelementptr inbounds %Cmp_Node, ptr %t63, i32 0, i32 3 %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 %then10, label %ifend12 then10: %t69 = load i32, ptr %t0 %t70 = load ptr, ptr %t62 %t71 = getelementptr inbounds %Cmp_Node, ptr %t70, i32 0, i32 3 %t72 = load ptr, ptr %t71 %t73 = load ptr, ptr %t62 %t74 = getelementptr inbounds %Cmp_Node, ptr %t73, i32 0, i32 1 %t75 = load ptr, ptr %t74 %t76 = load ptr, ptr %t62 %t77 = getelementptr inbounds %Cmp_Node, ptr %t76, i32 0, i32 1 %t78 = load ptr, ptr %t77 store i32 3034, ptr @lp_site %t79 = call ptr @lp_str_concat(ptr @.str3706, ptr %t78) store i32 0, ptr @lp_site %t80 = load ptr, ptr %t2 %t81 = call ptr @fn_vw_set(i32 %t69, ptr %t72, ptr @.str3705, ptr %t75, ptr %t79, ptr %t80) store ptr %t81, ptr %t82 %t83 = load ptr, ptr %t82 %t84 = icmp ne ptr %t83, null %t85 = zext i1 %t84 to i32 %t86 = icmp ne i32 %t85, 0 br i1 %t86, label %then13, label %ifend15 then13: %t87 = load ptr, ptr %t39 %t88 = load ptr, ptr %t82 store i32 3035, ptr @lp_site %t89 = call ptr @lp_str_concat(ptr %t87, ptr %t88) store i32 0, ptr @lp_site store ptr %t89, ptr %t39 br label %ifend15 ifend15: br label %ifend12 ifend12: %t90 = load i32, ptr %t40 %t91 = add i32 %t90, 1 store i32 %t91, ptr %t40 br label %wcond5 wend7: %t92 = load ptr, ptr %t39 store i32 3036, ptr @lp_site %t93 = call ptr @lp_str_concat(ptr %t92, ptr @.str3707) store i32 0, ptr @lp_site %t94 = load ptr, ptr %t2 %t95 = getelementptr inbounds %Cmp_Node, ptr %t94, i32 0, i32 9 %t96 = load ptr, ptr %t95 %t97 = load ptr, ptr %t2 %t98 = getelementptr inbounds %Cmp_Node, ptr %t97, i32 0, i32 8 %t99 = load i32, ptr %t98 call void @fn_vw_parse(ptr %t93, ptr %t96, i32 %t99, i32 1) br label %ret ret: ret void } define void @fn_views_finish() { entry: %t0 = alloca i32 store i32 0, ptr %t0 br label %wcond0 wcond0: %t1 = load i32, ptr %t0 %t2 = load ptr, ptr @g_g_vw_name %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 i32, ptr %t0 call void @fn_vw_finish(i32 %t8) %t9 = load i32, ptr %t0 %t10 = add i32 %t9, 1 store i32 %t10, ptr %t0 br label %wcond0 wend2: br label %ret ret: ret void } define void @fn_vw_err(i32 %arg_v, ptr %arg_msg) { entry: %t0 = alloca i32 %t1 = alloca ptr store i32 %arg_v, ptr %t0 store ptr %arg_msg, ptr %t1 %t2 = load ptr, ptr @g_g_vw_node %t3 = load i32, ptr %t0 %t4 = getelementptr inbounds %LSlice, ptr %t2, i32 0, i32 0 %t5 = load ptr, ptr %t4 %t6 = getelementptr inbounds %LSlice, ptr %t2, i32 0, i32 1 %t7 = load i32, ptr %t6 %t8 = icmp ult i32 %t3, %t7 br i1 %t8, label %ixok0, label %ixbad1 ixbad1: store i32 3037, ptr @lp_site %t9 = call ptr @lp_win_stdio(i32 2) store i32 0, ptr @lp_site call i32 (ptr, ptr, ...) @fprintf(ptr %t9, ptr @.fmt_bounds, ptr @.str3708, i32 %t3, i32 %t7) call void @exit(i32 1) unreachable ixok0: %t10 = getelementptr inbounds ptr, ptr %t5, i32 %t3 %t11 = load ptr, ptr %t10 %t12 = getelementptr inbounds %Cmp_Node, ptr %t11, i32 0, i32 9 %t13 = load ptr, ptr %t12 store ptr %t13, ptr @g_g_err_file %t14 = load ptr, ptr @g_g_vw_node %t15 = load i32, ptr %t0 %t16 = getelementptr inbounds %LSlice, ptr %t14, i32 0, i32 0 %t17 = load ptr, ptr %t16 %t18 = getelementptr inbounds %LSlice, ptr %t14, i32 0, i32 1 %t19 = load i32, ptr %t18 %t20 = icmp ult i32 %t15, %t19 br i1 %t20, label %ixok2, label %ixbad3 ixbad3: store i32 3038, ptr @lp_site %t21 = call ptr @lp_win_stdio(i32 2) store i32 0, ptr @lp_site call i32 (ptr, ptr, ...) @fprintf(ptr %t21, ptr @.fmt_bounds, ptr @.str3710, i32 %t15, i32 %t19) call void @exit(i32 1) unreachable ixok2: %t22 = getelementptr inbounds ptr, ptr %t17, i32 %t15 %t23 = load ptr, ptr %t22 %t24 = getelementptr inbounds %Cmp_Node, ptr %t23, i32 0, i32 8 %t25 = load i32, ptr %t24 store i32 %t25, ptr @g_g_err_line store i32 0, ptr @g_g_parsing %t26 = load ptr, ptr @g_g_vw_name %t27 = load i32, ptr %t0 %t28 = getelementptr inbounds %LSlice, ptr %t26, i32 0, i32 0 %t29 = load ptr, ptr %t28 %t30 = getelementptr inbounds %LSlice, ptr %t26, i32 0, i32 1 %t31 = load i32, ptr %t30 %t32 = icmp ult i32 %t27, %t31 br i1 %t32, label %ixok4, label %ixbad5 ixbad5: store i32 3039, ptr @lp_site %t33 = call ptr @lp_win_stdio(i32 2) store i32 0, ptr @lp_site call i32 (ptr, ptr, ...) @fprintf(ptr %t33, ptr @.fmt_bounds, ptr @.str3712, i32 %t27, i32 %t31) call void @exit(i32 1) unreachable ixok4: %t34 = getelementptr inbounds ptr, ptr %t29, i32 %t27 %t35 = load ptr, ptr %t34 store i32 3040, ptr @lp_site %t36 = call ptr @lp_str_concat(ptr @.str3711, ptr %t35) store i32 0, ptr @lp_site store i32 3041, ptr @lp_site %t37 = call ptr @lp_str_concat(ptr %t36, ptr @.str3713) store i32 0, ptr @lp_site call void @lp_free(ptr %t36) %t38 = load ptr, ptr %t1 store i32 3042, ptr @lp_site %t39 = call ptr @lp_str_concat(ptr %t37, ptr %t38) store i32 0, ptr @lp_site call void @lp_free(ptr %t37) call void @fn_perr(ptr %t39) br label %ret ret: ret void } define void @fn_vw_finish(i32 %arg_v) { entry: %t0 = alloca i32 %t11 = alloca ptr %t28 = alloca ptr %t32 = alloca ptr %t43 = alloca ptr %t44 = alloca i32 %t62 = alloca ptr %t82 = alloca ptr %t105 = alloca ptr store i32 %arg_v, ptr %t0 %t1 = load ptr, ptr @g_g_vw_node %t2 = load i32, ptr %t0 %t3 = getelementptr inbounds %LSlice, ptr %t1, i32 0, i32 0 %t4 = load ptr, ptr %t3 %t5 = getelementptr inbounds %LSlice, ptr %t1, i32 0, i32 1 %t6 = load i32, ptr %t5 %t7 = icmp ult i32 %t2, %t6 br i1 %t7, label %ixok0, label %ixbad1 ixbad1: store i32 3043, ptr @lp_site %t8 = call ptr @lp_win_stdio(i32 2) store i32 0, ptr @lp_site call i32 (ptr, ptr, ...) @fprintf(ptr %t8, ptr @.fmt_bounds, ptr @.str3714, i32 %t2, i32 %t6) call void @exit(i32 1) unreachable ixok0: %t9 = getelementptr inbounds ptr, ptr %t4, i32 %t2 %t10 = load ptr, ptr %t9 store ptr %t10, ptr %t11 %t12 = call ptr @fn_find_comp(ptr @.str3716) %t13 = icmp eq ptr %t12, null %t14 = zext i1 %t13 to i32 %t15 = icmp ne i32 %t14, 0 br i1 %t15, label %then2, label %ifend4 then2: %t16 = load i32, ptr %t0 call void @fn_vw_err(i32 %t16, ptr @.str3717) br label %ifend4 ifend4: %t17 = load ptr, ptr @g_g_vw_name %t18 = load i32, ptr %t0 %t19 = getelementptr inbounds %LSlice, ptr %t17, i32 0, i32 0 %t20 = load ptr, ptr %t19 %t21 = getelementptr inbounds %LSlice, ptr %t17, i32 0, i32 1 %t22 = load i32, ptr %t21 %t23 = icmp ult i32 %t18, %t22 br i1 %t23, label %ixok5, label %ixbad6 ixbad6: store i32 3044, ptr @lp_site %t24 = call ptr @lp_win_stdio(i32 2) store i32 0, ptr @lp_site call i32 (ptr, ptr, ...) @fprintf(ptr %t24, ptr @.fmt_bounds, ptr @.str3718, i32 %t18, i32 %t22) call void @exit(i32 1) unreachable ixok5: %t25 = getelementptr inbounds ptr, ptr %t20, i32 %t18 %t26 = load ptr, ptr %t25 %t27 = call ptr @fn_vw_prefix(ptr %t26) store ptr %t27, ptr %t28 %t29 = load ptr, ptr %t28 store i32 3045, ptr @lp_site %t30 = call ptr @lp_str_concat(ptr @.str3719, ptr %t29) store i32 0, ptr @lp_site store i32 3046, ptr @lp_site %t31 = call ptr @lp_str_concat(ptr %t30, ptr @.str3720) store i32 0, ptr @lp_site call void @lp_free(ptr %t30) store ptr %t31, ptr %t32 %t33 = load ptr, ptr @g_g_vw_fields %t34 = load i32, ptr %t0 %t35 = getelementptr inbounds %LSlice, ptr %t33, i32 0, i32 0 %t36 = load ptr, ptr %t35 %t37 = getelementptr inbounds %LSlice, ptr %t33, i32 0, i32 1 %t38 = load i32, ptr %t37 %t39 = icmp ult i32 %t34, %t38 br i1 %t39, label %ixok7, label %ixbad8 ixbad8: store i32 3047, ptr @lp_site %t40 = call ptr @lp_win_stdio(i32 2) store i32 0, ptr @lp_site call i32 (ptr, ptr, ...) @fprintf(ptr %t40, ptr @.fmt_bounds, ptr @.str3721, i32 %t34, i32 %t38) call void @exit(i32 1) unreachable ixok7: %t41 = getelementptr inbounds ptr, ptr %t36, i32 %t34 %t42 = load ptr, ptr %t41 store ptr %t42, ptr %t43 store i32 0, ptr %t44 br label %wcond9 wcond9: %t45 = load i32, ptr %t44 %t46 = load ptr, ptr %t43 %t47 = getelementptr inbounds %LSlice, ptr %t46, i32 0, i32 1 %t48 = load i32, ptr %t47 %t49 = icmp slt i32 %t45, %t48 %t50 = zext i1 %t49 to i32 %t51 = icmp ne i32 %t50, 0 br i1 %t51, label %wbody10, label %wend11 wbody10: %t52 = load ptr, ptr %t43 %t53 = load i32, ptr %t44 %t54 = getelementptr inbounds %LSlice, ptr %t52, i32 0, i32 0 %t55 = load ptr, ptr %t54 %t56 = getelementptr inbounds %LSlice, ptr %t52, i32 0, i32 1 %t57 = load i32, ptr %t56 %t58 = icmp ult i32 %t53, %t57 br i1 %t58, label %ixok12, label %ixbad13 ixbad13: store i32 3048, ptr @lp_site %t59 = call ptr @lp_win_stdio(i32 2) store i32 0, ptr @lp_site call i32 (ptr, ptr, ...) @fprintf(ptr %t59, ptr @.fmt_bounds, ptr @.str3722, i32 %t53, i32 %t57) call void @exit(i32 1) unreachable ixok12: %t60 = getelementptr inbounds ptr, ptr %t55, i32 %t53 %t61 = load ptr, ptr %t60 store ptr %t61, ptr %t62 %t63 = load ptr, ptr @g_g_vw_fnames %t64 = load i32, ptr %t0 %t65 = getelementptr inbounds %LSlice, ptr %t63, i32 0, i32 0 %t66 = load ptr, ptr %t65 %t67 = getelementptr inbounds %LSlice, ptr %t63, i32 0, i32 1 %t68 = load i32, ptr %t67 %t69 = icmp ult i32 %t64, %t68 br i1 %t69, label %ixok14, label %ixbad15 ixbad15: store i32 3049, ptr @lp_site %t70 = call ptr @lp_win_stdio(i32 2) store i32 0, ptr @lp_site call i32 (ptr, ptr, ...) @fprintf(ptr %t70, ptr @.fmt_bounds, ptr @.str3723, i32 %t64, i32 %t68) call void @exit(i32 1) unreachable ixok14: %t71 = getelementptr inbounds ptr, ptr %t66, i32 %t64 %t72 = load ptr, ptr %t71 %t73 = load i32, ptr %t44 %t74 = getelementptr inbounds %LSlice, ptr %t72, i32 0, i32 0 %t75 = load ptr, ptr %t74 %t76 = getelementptr inbounds %LSlice, ptr %t72, i32 0, i32 1 %t77 = load i32, ptr %t76 %t78 = icmp ult i32 %t73, %t77 br i1 %t78, label %ixok16, label %ixbad17 ixbad17: store i32 3050, ptr @lp_site %t79 = call ptr @lp_win_stdio(i32 2) store i32 0, ptr @lp_site call i32 (ptr, ptr, ...) @fprintf(ptr %t79, ptr @.fmt_bounds, ptr @.str3724, i32 %t73, i32 %t77) call void @exit(i32 1) unreachable ixok16: %t80 = getelementptr inbounds ptr, ptr %t75, i32 %t73 %t81 = load ptr, ptr %t80 store ptr %t81, ptr %t82 %t83 = load ptr, ptr %t62 %t84 = getelementptr inbounds %Cmp_Node, ptr %t83, i32 0, i32 3 %t85 = load ptr, ptr %t84 %t86 = icmp eq ptr %t85, null %t87 = zext i1 %t86 to i32 %t88 = icmp ne i32 %t87, 0 br i1 %t88, label %then18, label %ifend20 then18: %t89 = load ptr, ptr %t62 %t90 = getelementptr inbounds %Cmp_Node, ptr %t89, i32 0, i32 3 %t91 = load i32, ptr %t0 %t92 = load ptr, ptr %t62 %t93 = load ptr, ptr %t82 %t94 = call ptr @fn_vw_infer(i32 %t91, ptr %t92, ptr %t93) store ptr %t94, ptr %t90 br label %ifend20 ifend20: %t95 = load i32, ptr %t0 %t96 = load ptr, ptr %t62 %t97 = getelementptr inbounds %Cmp_Node, ptr %t96, i32 0, i32 3 %t98 = load ptr, ptr %t97 %t99 = load ptr, ptr %t62 %t100 = getelementptr inbounds %Cmp_Node, ptr %t99, i32 0, i32 1 %t101 = load ptr, ptr %t100 store i32 3051, ptr @lp_site %t102 = call ptr @lp_str_concat(ptr %t101, ptr @.str3725) store i32 0, ptr @lp_site %t103 = load ptr, ptr %t11 %t104 = call ptr @fn_vw_conv(i32 %t95, ptr %t98, ptr %t102, ptr %t103) store ptr %t104, ptr %t105 %t106 = load ptr, ptr %t105 %t107 = icmp eq ptr %t106, null %t108 = zext i1 %t107 to i32 %t109 = icmp ne i32 %t108, 0 br i1 %t109, label %then21, label %ifend23 then21: %t110 = load i32, ptr %t0 %t111 = load ptr, ptr %t82 store i32 3052, ptr @lp_site %t112 = call ptr @lp_str_concat(ptr %t111, ptr @.str3726) store i32 0, ptr @lp_site %t113 = load ptr, ptr %t62 %t114 = getelementptr inbounds %Cmp_Node, ptr %t113, i32 0, i32 3 %t115 = load ptr, ptr %t114 store i32 3053, ptr @lp_site %t116 = call ptr @lp_str_concat(ptr %t112, ptr %t115) store i32 0, ptr @lp_site call void @lp_free(ptr %t112) store i32 3054, ptr @lp_site %t117 = call ptr @lp_str_concat(ptr %t116, ptr @.str3727) store i32 0, ptr @lp_site call void @lp_free(ptr %t116) call void @fn_vw_err(i32 %t110, ptr %t117) br label %ifend23 ifend23: %t118 = load ptr, ptr %t32 %t119 = load ptr, ptr %t82 store i32 3055, ptr @lp_site %t120 = call ptr @lp_str_concat(ptr @.str3728, ptr %t119) store i32 0, ptr @lp_site store i32 3056, ptr @lp_site %t121 = call ptr @lp_str_concat(ptr %t120, ptr @.str3729) store i32 0, ptr @lp_site call void @lp_free(ptr %t120) %t122 = load ptr, ptr %t105 store i32 3057, ptr @lp_site %t123 = call ptr @lp_str_concat(ptr %t121, ptr %t122) store i32 0, ptr @lp_site call void @lp_free(ptr %t121) store i32 3058, ptr @lp_site %t124 = call ptr @lp_str_concat(ptr %t123, ptr @.str3730) store i32 0, ptr @lp_site call void @lp_free(ptr %t123) store i32 3059, ptr @lp_site %t125 = call ptr @lp_str_concat(ptr %t118, ptr %t124) store i32 0, ptr @lp_site call void @lp_free(ptr %t124) store ptr %t125, ptr %t32 %t126 = load i32, ptr %t44 %t127 = add i32 %t126, 1 store i32 %t127, ptr %t44 br label %wcond9 wend11: %t128 = load ptr, ptr %t32 store i32 3060, ptr @lp_site %t129 = call ptr @lp_str_concat(ptr %t128, ptr @.str3731) store i32 0, ptr @lp_site store ptr %t129, ptr %t32 %t130 = load ptr, ptr %t32 %t131 = load ptr, ptr %t11 %t132 = getelementptr inbounds %Cmp_Node, ptr %t131, i32 0, i32 9 %t133 = load ptr, ptr %t132 %t134 = load ptr, ptr %t11 %t135 = getelementptr inbounds %Cmp_Node, ptr %t134, i32 0, i32 8 %t136 = load i32, ptr %t135 %t137 = load ptr, ptr %t11 %t138 = getelementptr inbounds %Cmp_Node, ptr %t137, i32 0, i32 10 %t139 = load i32, ptr %t138 call void @fn_vw_parse(ptr %t130, ptr %t133, i32 %t136, i32 %t139) %t140 = load i32, ptr %t0 %t141 = load ptr, ptr %t28 %t142 = load ptr, ptr %t11 %t143 = call ptr @fn_vw_call_src(i32 %t140, ptr %t141, ptr %t142) %t144 = load ptr, ptr %t11 %t145 = getelementptr inbounds %Cmp_Node, ptr %t144, i32 0, i32 9 %t146 = load ptr, ptr %t145 %t147 = load ptr, ptr %t11 %t148 = getelementptr inbounds %Cmp_Node, ptr %t147, i32 0, i32 8 %t149 = load i32, ptr %t148 %t150 = load ptr, ptr %t11 %t151 = getelementptr inbounds %Cmp_Node, ptr %t150, i32 0, i32 10 %t152 = load i32, ptr %t151 call void @fn_vw_parse(ptr %t143, ptr %t146, i32 %t149, i32 %t152) br label %ret ret: ret void } define ptr @fn_vw_infer(i32 %arg_v, ptr %arg_g, ptr %arg_fname) { entry: %retval = alloca ptr %t0 = alloca i32 %t1 = alloca ptr %t2 = alloca ptr %t18 = alloca ptr %t29 = alloca ptr %t30 = alloca i32 %t48 = alloca i32 %t49 = alloca i32 %t88 = alloca ptr %t89 = alloca i32 %t129 = alloca ptr %t130 = alloca i32 %t178 = alloca i32 %t179 = alloca i32 %t214 = alloca ptr %t215 = alloca i32 %t216 = alloca i32 store i32 %arg_v, ptr %t0 store ptr %arg_g, ptr %t1 store ptr %arg_fname, ptr %t2 %t3 = load ptr, ptr %t1 %t4 = getelementptr inbounds %Cmp_Node, ptr %t3, i32 0, i32 4 %t5 = load ptr, ptr %t4 %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 %LSlice, ptr %t7, i32 0, i32 1 %t11 = load i32, ptr %t10 %t12 = icmp ult i32 0, %t11 br i1 %t12, label %ixok0, label %ixbad1 ixbad1: store i32 3061, ptr @lp_site %t13 = call ptr @lp_win_stdio(i32 2) store i32 0, ptr @lp_site call i32 (ptr, ptr, ...) @fprintf(ptr %t13, ptr @.fmt_bounds, ptr @.str3732, i32 0, i32 %t11) call void @exit(i32 1) unreachable ixok0: %t14 = getelementptr inbounds ptr, ptr %t9, i32 0 %t15 = load ptr, ptr %t14 %t16 = getelementptr inbounds %Cmp_Node, ptr %t15, i32 0, i32 4 %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, 33 %t23 = zext i1 %t22 to i32 %t24 = icmp ne i32 %t23, 0 br i1 %t24, label %then2, label %ifend4 then2: %t25 = load ptr, ptr %t18 %t26 = getelementptr inbounds %Cmp_Node, ptr %t25, i32 0, i32 1 %t27 = load ptr, ptr %t26 %t28 = call ptr @fn_find_global(ptr %t27) store ptr %t28, ptr %t29 %t31 = load ptr, ptr %t29 %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 %sc5, label %scend6 sc5: %t36 = load ptr, ptr %t29 %t37 = getelementptr inbounds %Cmp_Node, ptr %t36, i32 0, i32 3 %t38 = load ptr, ptr %t37 %t39 = icmp ne ptr %t38, null %t40 = zext i1 %t39 to i32 %t41 = icmp ne i32 %t40, 0 %t42 = zext i1 %t41 to i32 store i32 %t42, ptr %t30 br label %scend6 scend6: %t43 = load i32, ptr %t30 %t44 = icmp ne i32 %t43, 0 br i1 %t44, label %then7, label %ifend9 then7: %t45 = load ptr, ptr %t29 %t46 = getelementptr inbounds %Cmp_Node, ptr %t45, i32 0, i32 3 %t47 = load ptr, ptr %t46 store ptr %t47, ptr %retval br label %ret ifend9: br label %ifend4 ifend4: %t50 = load ptr, ptr %t18 %t51 = getelementptr inbounds %Cmp_Node, ptr %t50, i32 0, i32 0 %t52 = load i32, ptr %t51 %t53 = icmp eq i32 %t52, 35 %t54 = zext i1 %t53 to i32 %t55 = icmp ne i32 %t54, 0 %t56 = zext i1 %t55 to i32 store i32 %t56, ptr %t49 br i1 %t55, label %sc10, label %scend11 sc10: %t57 = load ptr, ptr %t18 %t58 = getelementptr inbounds %Cmp_Node, ptr %t57, i32 0, i32 4 %t59 = load ptr, ptr %t58 %t60 = icmp ne ptr %t59, null %t61 = zext i1 %t60 to i32 %t62 = icmp ne i32 %t61, 0 %t63 = zext i1 %t62 to i32 store i32 %t63, ptr %t49 br label %scend11 scend11: %t64 = load i32, ptr %t49 %t65 = icmp ne i32 %t64, 0 %t66 = zext i1 %t65 to i32 store i32 %t66, ptr %t48 br i1 %t65, label %sc12, label %scend13 sc12: %t67 = load ptr, ptr %t18 %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, 33 %t73 = zext i1 %t72 to i32 %t74 = icmp ne i32 %t73, 0 %t75 = zext i1 %t74 to i32 store i32 %t75, ptr %t48 br label %scend13 scend13: %t76 = load i32, ptr %t48 %t77 = icmp ne i32 %t76, 0 br i1 %t77, label %then14, label %ifend16 then14: %t78 = load ptr, ptr @g_g_vw_ps %t79 = load i32, ptr %t0 %t80 = getelementptr inbounds %LSlice, ptr %t78, i32 0, i32 0 %t81 = load ptr, ptr %t80 %t82 = getelementptr inbounds %LSlice, ptr %t78, i32 0, i32 1 %t83 = load i32, ptr %t82 %t84 = icmp ult i32 %t79, %t83 br i1 %t84, label %ixok17, label %ixbad18 ixbad18: store i32 3062, ptr @lp_site %t85 = call ptr @lp_win_stdio(i32 2) store i32 0, ptr @lp_site call i32 (ptr, ptr, ...) @fprintf(ptr %t85, ptr @.fmt_bounds, ptr @.str3734, i32 %t79, i32 %t83) call void @exit(i32 1) unreachable ixok17: %t86 = getelementptr inbounds ptr, ptr %t81, i32 %t79 %t87 = load ptr, ptr %t86 store ptr %t87, ptr %t88 store i32 0, ptr %t89 br label %wcond19 wcond19: %t90 = load i32, ptr %t89 %t91 = load ptr, ptr %t88 %t92 = getelementptr inbounds %LSlice, ptr %t91, i32 0, i32 1 %t93 = load i32, ptr %t92 %t94 = icmp slt i32 %t90, %t93 %t95 = zext i1 %t94 to i32 %t96 = icmp ne i32 %t95, 0 br i1 %t96, label %wbody20, label %wend21 wbody20: %t97 = load ptr, ptr %t88 %t98 = load i32, ptr %t89 %t99 = getelementptr inbounds %LSlice, ptr %t97, i32 0, i32 0 %t100 = load ptr, ptr %t99 %t101 = getelementptr inbounds %LSlice, ptr %t97, i32 0, i32 1 %t102 = load i32, ptr %t101 %t103 = icmp ult i32 %t98, %t102 br i1 %t103, label %ixok22, label %ixbad23 ixbad23: store i32 3063, ptr @lp_site %t104 = call ptr @lp_win_stdio(i32 2) store i32 0, ptr @lp_site call i32 (ptr, ptr, ...) @fprintf(ptr %t104, ptr @.fmt_bounds, ptr @.str3735, i32 %t98, i32 %t102) call void @exit(i32 1) unreachable ixok22: %t105 = getelementptr inbounds ptr, ptr %t100, i32 %t98 %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 %t18 %t110 = getelementptr inbounds %Cmp_Node, ptr %t109, i32 0, i32 4 %t111 = load ptr, ptr %t110 %t112 = getelementptr inbounds %Cmp_Node, ptr %t111, i32 0, i32 1 %t113 = load ptr, ptr %t112 %t114 = call i32 @lp_str_eq(ptr %t108, ptr %t113) %t115 = icmp ne i32 %t114, 0 br i1 %t115, label %then24, label %ifend26 then24: %t116 = load ptr, ptr %t88 %t117 = load i32, ptr %t89 %t118 = getelementptr inbounds %LSlice, ptr %t116, i32 0, i32 0 %t119 = load ptr, ptr %t118 %t120 = getelementptr inbounds %LSlice, ptr %t116, i32 0, i32 1 %t121 = load i32, ptr %t120 %t122 = icmp ult i32 %t117, %t121 br i1 %t122, label %ixok27, label %ixbad28 ixbad28: store i32 3064, ptr @lp_site %t123 = call ptr @lp_win_stdio(i32 2) store i32 0, ptr @lp_site call i32 (ptr, ptr, ...) @fprintf(ptr %t123, ptr @.fmt_bounds, ptr @.str3736, i32 %t117, i32 %t121) call void @exit(i32 1) unreachable ixok27: %t124 = getelementptr inbounds ptr, ptr %t119, i32 %t117 %t125 = load ptr, ptr %t124 %t126 = getelementptr inbounds %Cmp_Node, ptr %t125, i32 0, i32 3 %t127 = load ptr, ptr %t126 %t128 = call ptr @fn_find_comp(ptr %t127) store ptr %t128, ptr %t129 %t131 = load ptr, ptr %t129 %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 %t130 br i1 %t134, label %sc29, label %scend30 sc29: %t136 = load ptr, ptr %t129 %t137 = load ptr, ptr %t18 %t138 = getelementptr inbounds %Cmp_Node, ptr %t137, i32 0, i32 1 %t139 = load ptr, ptr %t138 %t140 = call i32 @fn_field_index(ptr %t136, ptr %t139) %t141 = icmp sge i32 %t140, 0 %t142 = zext i1 %t141 to i32 %t143 = icmp ne i32 %t142, 0 %t144 = zext i1 %t143 to i32 store i32 %t144, ptr %t130 br label %scend30 scend30: %t145 = load i32, ptr %t130 %t146 = icmp ne i32 %t145, 0 br i1 %t146, label %then31, label %ifend33 then31: %t147 = load ptr, ptr %t129 %t148 = load ptr, ptr %t18 %t149 = getelementptr inbounds %Cmp_Node, ptr %t148, i32 0, i32 1 %t150 = load ptr, ptr %t149 %t151 = call ptr @fn_field_type(ptr %t147, ptr %t150) store ptr %t151, ptr %retval br label %ret ifend33: br label %ifend26 ifend26: %t152 = load i32, ptr %t89 %t153 = add i32 %t152, 1 store i32 %t153, ptr %t89 br label %wcond19 wend21: br label %ifend16 ifend16: %t154 = load ptr, ptr %t18 %t155 = getelementptr inbounds %Cmp_Node, ptr %t154, i32 0, i32 0 %t156 = load i32, ptr %t155 %t157 = icmp eq i32 %t156, 30 %t158 = zext i1 %t157 to i32 %t159 = icmp ne i32 %t158, 0 br i1 %t159, label %then34, label %ifend36 then34: store ptr @.str3737, ptr %retval br label %ret ifend36: %t160 = load ptr, ptr %t18 %t161 = getelementptr inbounds %Cmp_Node, ptr %t160, i32 0, i32 0 %t162 = load i32, ptr %t161 %t163 = icmp eq i32 %t162, 40 %t164 = zext i1 %t163 to i32 %t165 = icmp ne i32 %t164, 0 br i1 %t165, label %then37, label %ifend39 then37: store ptr @.str3738, ptr %retval br label %ret ifend39: %t166 = load ptr, ptr %t18 %t167 = getelementptr inbounds %Cmp_Node, ptr %t166, i32 0, i32 0 %t168 = load i32, ptr %t167 %t169 = icmp eq i32 %t168, 32 %t170 = zext i1 %t169 to i32 %t171 = icmp ne i32 %t170, 0 br i1 %t171, label %then40, label %ifend42 then40: store ptr @.str3739, ptr %retval br label %ret ifend42: %t172 = load ptr, ptr %t18 %t173 = getelementptr inbounds %Cmp_Node, ptr %t172, i32 0, i32 0 %t174 = load i32, ptr %t173 %t175 = icmp eq i32 %t174, 31 %t176 = zext i1 %t175 to i32 %t177 = icmp ne i32 %t176, 0 br i1 %t177, label %then43, label %ifend45 then43: store ptr @.str3740, ptr %retval br label %ret ifend45: %t180 = load ptr, ptr %t18 %t181 = getelementptr inbounds %Cmp_Node, ptr %t180, i32 0, i32 0 %t182 = load i32, ptr %t181 %t183 = icmp eq i32 %t182, 34 %t184 = zext i1 %t183 to i32 %t185 = icmp ne i32 %t184, 0 %t186 = zext i1 %t185 to i32 store i32 %t186, ptr %t179 br i1 %t185, label %sc46, label %scend47 sc46: %t187 = load ptr, ptr %t18 %t188 = getelementptr inbounds %Cmp_Node, ptr %t187, i32 0, i32 4 %t189 = load ptr, ptr %t188 %t190 = icmp ne ptr %t189, null %t191 = zext i1 %t190 to i32 %t192 = icmp ne i32 %t191, 0 %t193 = zext i1 %t192 to i32 store i32 %t193, ptr %t179 br label %scend47 scend47: %t194 = load i32, ptr %t179 %t195 = icmp ne i32 %t194, 0 %t196 = zext i1 %t195 to i32 store i32 %t196, ptr %t178 br i1 %t195, label %sc48, label %scend49 sc48: %t197 = load ptr, ptr %t18 %t198 = getelementptr inbounds %Cmp_Node, ptr %t197, i32 0, i32 4 %t199 = load ptr, ptr %t198 %t200 = getelementptr inbounds %Cmp_Node, ptr %t199, i32 0, i32 0 %t201 = load i32, ptr %t200 %t202 = icmp eq i32 %t201, 33 %t203 = zext i1 %t202 to i32 %t204 = icmp ne i32 %t203, 0 %t205 = zext i1 %t204 to i32 store i32 %t205, ptr %t178 br label %scend49 scend49: %t206 = load i32, ptr %t178 %t207 = icmp ne i32 %t206, 0 br i1 %t207, label %then50, label %ifend52 then50: %t208 = load ptr, ptr %t18 %t209 = getelementptr inbounds %Cmp_Node, ptr %t208, i32 0, i32 4 %t210 = load ptr, ptr %t209 %t211 = getelementptr inbounds %Cmp_Node, ptr %t210, i32 0, i32 1 %t212 = load ptr, ptr %t211 %t213 = call ptr @fn_find_fn(ptr %t212) store ptr %t213, ptr %t214 %t217 = load ptr, ptr %t214 %t218 = icmp ne ptr %t217, null %t219 = zext i1 %t218 to i32 %t220 = icmp ne i32 %t219, 0 %t221 = zext i1 %t220 to i32 store i32 %t221, ptr %t216 br i1 %t220, label %sc53, label %scend54 sc53: %t222 = load ptr, ptr %t214 %t223 = getelementptr inbounds %Cmp_Node, ptr %t222, i32 0, i32 3 %t224 = load ptr, ptr %t223 %t225 = icmp ne ptr %t224, null %t226 = zext i1 %t225 to i32 %t227 = icmp ne i32 %t226, 0 %t228 = zext i1 %t227 to i32 store i32 %t228, ptr %t216 br label %scend54 scend54: %t229 = load i32, ptr %t216 %t230 = icmp ne i32 %t229, 0 %t231 = zext i1 %t230 to i32 store i32 %t231, ptr %t215 br i1 %t230, label %sc55, label %scend56 sc55: %t232 = load ptr, ptr %t214 %t233 = getelementptr inbounds %Cmp_Node, ptr %t232, i32 0, i32 3 %t234 = load ptr, ptr %t233 %t235 = call i32 @lp_str_eq(ptr %t234, ptr @.str3741) %t236 = icmp eq i32 %t235, 0 %t237 = zext i1 %t236 to i32 %t238 = icmp ne i32 %t237, 0 %t239 = zext i1 %t238 to i32 store i32 %t239, ptr %t215 br label %scend56 scend56: %t240 = load i32, ptr %t215 %t241 = icmp ne i32 %t240, 0 br i1 %t241, label %then57, label %ifend59 then57: %t242 = load ptr, ptr %t214 %t243 = getelementptr inbounds %Cmp_Node, ptr %t242, i32 0, i32 3 %t244 = load ptr, ptr %t243 store ptr %t244, ptr %retval br label %ret ifend59: br label %ifend52 ifend52: %t245 = load ptr, ptr @g_g_vw_node %t246 = load i32, ptr %t0 %t247 = getelementptr inbounds %LSlice, ptr %t245, i32 0, i32 0 %t248 = load ptr, ptr %t247 %t249 = getelementptr inbounds %LSlice, ptr %t245, i32 0, i32 1 %t250 = load i32, ptr %t249 %t251 = icmp ult i32 %t246, %t250 br i1 %t251, label %ixok60, label %ixbad61 ixbad61: store i32 3065, ptr @lp_site %t252 = call ptr @lp_win_stdio(i32 2) store i32 0, ptr @lp_site call i32 (ptr, ptr, ...) @fprintf(ptr %t252, ptr @.fmt_bounds, ptr @.str3742, i32 %t246, i32 %t250) call void @exit(i32 1) unreachable ixok60: %t253 = getelementptr inbounds ptr, ptr %t248, i32 %t246 %t254 = load ptr, ptr %t253 %t255 = getelementptr inbounds %Cmp_Node, ptr %t254, i32 0, i32 8 %t256 = load ptr, ptr %t1 %t257 = getelementptr inbounds %Cmp_Node, ptr %t256, i32 0, i32 8 %t258 = load i32, ptr %t257 store i32 %t258, ptr %t255 %t259 = load i32, ptr %t0 %t260 = load ptr, ptr %t2 store i32 3066, ptr @lp_site %t261 = call ptr @lp_str_concat(ptr @.str3743, ptr %t260) store i32 0, ptr @lp_site store i32 3067, ptr @lp_site %t262 = call ptr @lp_str_concat(ptr %t261, ptr @.str3744) store i32 0, ptr @lp_site call void @lp_free(ptr %t261) %t263 = load ptr, ptr %t2 store i32 3068, ptr @lp_site %t264 = call ptr @lp_str_concat(ptr %t262, ptr %t263) store i32 0, ptr @lp_site call void @lp_free(ptr %t262) store i32 3069, ptr @lp_site %t265 = call ptr @lp_str_concat(ptr %t264, ptr @.str3745) store i32 0, ptr @lp_site call void @lp_free(ptr %t264) call void @fn_vw_err(i32 %t259, ptr %t265) store ptr @.str3746, ptr %retval br label %ret ret: %t266 = load ptr, ptr %retval ret ptr %t266 } define ptr @fn_vw_call_src(i32 %arg_v, ptr %arg_px, ptr %arg_head) { entry: %retval = alloca ptr %t0 = alloca i32 %t1 = alloca ptr %t2 = alloca ptr %t6 = alloca ptr %t17 = alloca ptr %t18 = alloca i32 %t36 = alloca ptr %t37 = alloca ptr %t48 = alloca i32 %t111 = alloca ptr %t152 = alloca ptr store i32 %arg_v, ptr %t0 store ptr %arg_px, ptr %t1 store ptr %arg_head, ptr %t2 %t3 = load ptr, ptr %t1 store i32 3070, ptr @lp_site %t4 = call ptr @lp_str_concat(ptr @.str3747, ptr %t3) store i32 0, ptr @lp_site store i32 3071, ptr @lp_site %t5 = call ptr @lp_str_concat(ptr %t4, ptr @.str3749) store i32 0, ptr @lp_site call void @lp_free(ptr %t4) store ptr %t5, ptr %t6 %t7 = load ptr, ptr @g_g_vw_calls %t8 = load i32, ptr %t0 %t9 = getelementptr inbounds %LSlice, ptr %t7, i32 0, i32 0 %t10 = load ptr, ptr %t9 %t11 = getelementptr inbounds %LSlice, ptr %t7, i32 0, i32 1 %t12 = load i32, ptr %t11 %t13 = icmp ult i32 %t8, %t12 br i1 %t13, label %ixok0, label %ixbad1 ixbad1: store i32 3072, ptr @lp_site %t14 = call ptr @lp_win_stdio(i32 2) store i32 0, ptr @lp_site call i32 (ptr, ptr, ...) @fprintf(ptr %t14, ptr @.fmt_bounds, ptr @.str3750, i32 %t8, i32 %t12) call void @exit(i32 1) unreachable ixok0: %t15 = getelementptr inbounds ptr, ptr %t10, i32 %t8 %t16 = load ptr, ptr %t15 store ptr %t16, ptr %t17 store i32 0, ptr %t18 br label %wcond2 wcond2: %t19 = load i32, ptr %t18 %t20 = load ptr, ptr %t17 %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 %wbody3, label %wend4 wbody3: %t26 = load ptr, ptr %t17 %t27 = load i32, ptr %t18 %t28 = getelementptr inbounds %LSlice, ptr %t26, i32 0, i32 0 %t29 = load ptr, ptr %t28 %t30 = getelementptr inbounds %LSlice, ptr %t26, i32 0, i32 1 %t31 = load i32, ptr %t30 %t32 = icmp ult i32 %t27, %t31 br i1 %t32, label %ixok5, label %ixbad6 ixbad6: store i32 3073, ptr @lp_site %t33 = call ptr @lp_win_stdio(i32 2) store i32 0, ptr @lp_site call i32 (ptr, ptr, ...) @fprintf(ptr %t33, ptr @.fmt_bounds, ptr @.str3751, i32 %t27, i32 %t31) call void @exit(i32 1) unreachable ixok5: %t34 = getelementptr inbounds ptr, ptr %t29, i32 %t27 %t35 = load ptr, ptr %t34 store ptr %t35, ptr %t36 store ptr @.str3752, ptr %t37 %t38 = load ptr, ptr @g_g_vw_nps %t39 = load i32, ptr %t0 %t40 = getelementptr inbounds %LSlice, ptr %t38, i32 0, i32 0 %t41 = load ptr, ptr %t40 %t42 = getelementptr inbounds %LSlice, ptr %t38, i32 0, i32 1 %t43 = load i32, ptr %t42 %t44 = icmp ult i32 %t39, %t43 br i1 %t44, label %ixok7, label %ixbad8 ixbad8: store i32 3074, ptr @lp_site %t45 = call ptr @lp_win_stdio(i32 2) store i32 0, ptr @lp_site call i32 (ptr, ptr, ...) @fprintf(ptr %t45, ptr @.fmt_bounds, ptr @.str3753, i32 %t39, i32 %t43) call void @exit(i32 1) unreachable ixok7: %t46 = getelementptr inbounds i32, ptr %t41, i32 %t39 %t47 = load i32, ptr %t46 store i32 %t47, ptr %t48 br label %wcond9 wcond9: %t49 = load i32, ptr %t48 %t50 = load ptr, ptr %t36 %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 1 %t54 = load i32, ptr %t53 %t55 = icmp slt i32 %t49, %t54 %t56 = zext i1 %t55 to i32 %t57 = icmp ne i32 %t56, 0 br i1 %t57, label %wbody10, label %wend11 wbody10: %t58 = load i32, ptr %t48 %t59 = load ptr, ptr @g_g_vw_nps %t60 = load i32, ptr %t0 %t61 = getelementptr inbounds %LSlice, ptr %t59, i32 0, i32 0 %t62 = load ptr, ptr %t61 %t63 = getelementptr inbounds %LSlice, ptr %t59, i32 0, i32 1 %t64 = load i32, ptr %t63 %t65 = icmp ult i32 %t60, %t64 br i1 %t65, label %ixok12, label %ixbad13 ixbad13: store i32 3075, ptr @lp_site %t66 = call ptr @lp_win_stdio(i32 2) store i32 0, ptr @lp_site call i32 (ptr, ptr, ...) @fprintf(ptr %t66, ptr @.fmt_bounds, ptr @.str3754, i32 %t60, i32 %t64) call void @exit(i32 1) unreachable ixok12: %t67 = getelementptr inbounds i32, ptr %t62, i32 %t60 %t68 = load i32, ptr %t67 %t69 = icmp sgt i32 %t58, %t68 %t70 = zext i1 %t69 to i32 %t71 = icmp ne i32 %t70, 0 br i1 %t71, label %then14, label %ifend16 then14: %t72 = load ptr, ptr %t37 store i32 3076, ptr @lp_site %t73 = call ptr @lp_str_concat(ptr %t72, ptr @.str3755) store i32 0, ptr @lp_site store ptr %t73, ptr %t37 br label %ifend16 ifend16: %t74 = load ptr, ptr %t37 %t75 = load i32, ptr %t0 %t76 = load ptr, ptr %t36 %t77 = getelementptr inbounds %Cmp_Node, ptr %t76, i32 0, i32 7 %t78 = load ptr, ptr %t77 %t79 = load i32, ptr %t48 %t80 = getelementptr inbounds %LSlice, ptr %t78, i32 0, i32 0 %t81 = load ptr, ptr %t80 %t82 = getelementptr inbounds %LSlice, ptr %t78, i32 0, i32 1 %t83 = load i32, ptr %t82 %t84 = icmp ult i32 %t79, %t83 br i1 %t84, label %ixok17, label %ixbad18 ixbad18: store i32 3077, ptr @lp_site %t85 = call ptr @lp_win_stdio(i32 2) store i32 0, ptr @lp_site call i32 (ptr, ptr, ...) @fprintf(ptr %t85, ptr @.fmt_bounds, ptr @.str3756, i32 %t79, i32 %t83) call void @exit(i32 1) unreachable ixok17: %t86 = getelementptr inbounds ptr, ptr %t81, i32 %t79 %t87 = load ptr, ptr %t86 %t88 = load i32, ptr %t48 %t89 = load ptr, ptr @g_g_vw_nps %t90 = load i32, ptr %t0 %t91 = getelementptr inbounds %LSlice, ptr %t89, i32 0, i32 0 %t92 = load ptr, ptr %t91 %t93 = getelementptr inbounds %LSlice, ptr %t89, i32 0, i32 1 %t94 = load i32, ptr %t93 %t95 = icmp ult i32 %t90, %t94 br i1 %t95, label %ixok19, label %ixbad20 ixbad20: store i32 3078, ptr @lp_site %t96 = call ptr @lp_win_stdio(i32 2) store i32 0, ptr @lp_site call i32 (ptr, ptr, ...) @fprintf(ptr %t96, ptr @.fmt_bounds, ptr @.str3757, i32 %t90, i32 %t94) call void @exit(i32 1) unreachable ixok19: %t97 = getelementptr inbounds i32, ptr %t92, i32 %t90 %t98 = load i32, ptr %t97 %t99 = sub i32 %t88, %t98 %t100 = call ptr @fn_vw_arg(i32 %t75, ptr %t87, i32 %t99) store i32 3079, ptr @lp_site %t101 = call ptr @lp_str_concat(ptr %t74, ptr %t100) store i32 0, ptr @lp_site store ptr %t101, ptr %t37 %t102 = load i32, ptr %t48 %t103 = add i32 %t102, 1 store i32 %t103, ptr %t48 br label %wcond9 wend11: %t104 = load ptr, ptr %t36 %t105 = getelementptr inbounds %Cmp_Node, ptr %t104, i32 0, i32 1 %t106 = load ptr, ptr %t105 store i32 3080, ptr @lp_site %t107 = call ptr @lp_str_concat(ptr %t106, ptr @.str3758) store i32 0, ptr @lp_site %t108 = load ptr, ptr %t37 store i32 3081, ptr @lp_site %t109 = call ptr @lp_str_concat(ptr %t107, ptr %t108) store i32 0, ptr @lp_site call void @lp_free(ptr %t107) store i32 3082, ptr @lp_site %t110 = call ptr @lp_str_concat(ptr %t109, ptr @.str3759) store i32 0, ptr @lp_site call void @lp_free(ptr %t109) store ptr %t110, ptr %t111 %t112 = load ptr, ptr %t6 %t113 = load ptr, ptr @g_g_vw_cnames %t114 = load i32, ptr %t0 %t115 = getelementptr inbounds %LSlice, ptr %t113, i32 0, i32 0 %t116 = load ptr, ptr %t115 %t117 = getelementptr inbounds %LSlice, ptr %t113, i32 0, i32 1 %t118 = load i32, ptr %t117 %t119 = icmp ult i32 %t114, %t118 br i1 %t119, label %ixok21, label %ixbad22 ixbad22: store i32 3083, ptr @lp_site %t120 = call ptr @lp_win_stdio(i32 2) store i32 0, ptr @lp_site call i32 (ptr, ptr, ...) @fprintf(ptr %t120, ptr @.fmt_bounds, ptr @.str3761, i32 %t114, i32 %t118) call void @exit(i32 1) unreachable ixok21: %t121 = getelementptr inbounds ptr, ptr %t116, i32 %t114 %t122 = load ptr, ptr %t121 %t123 = load i32, ptr %t18 %t124 = getelementptr inbounds %LSlice, ptr %t122, i32 0, i32 0 %t125 = load ptr, ptr %t124 %t126 = getelementptr inbounds %LSlice, ptr %t122, i32 0, i32 1 %t127 = load i32, ptr %t126 %t128 = icmp ult i32 %t123, %t127 br i1 %t128, label %ixok23, label %ixbad24 ixbad24: store i32 3084, ptr @lp_site %t129 = call ptr @lp_win_stdio(i32 2) store i32 0, ptr @lp_site call i32 (ptr, ptr, ...) @fprintf(ptr %t129, ptr @.fmt_bounds, ptr @.str3762, i32 %t123, i32 %t127) call void @exit(i32 1) unreachable ixok23: %t130 = getelementptr inbounds ptr, ptr %t125, i32 %t123 %t131 = load ptr, ptr %t130 store i32 3085, ptr @lp_site %t132 = call ptr @lp_str_concat(ptr @.str3760, ptr %t131) store i32 0, ptr @lp_site store i32 3086, ptr @lp_site %t133 = call ptr @lp_str_concat(ptr %t132, ptr @.str3763) store i32 0, ptr @lp_site call void @lp_free(ptr %t132) store i32 3087, ptr @lp_site %t134 = call ptr @lp_str_concat(ptr %t112, ptr %t133) store i32 0, ptr @lp_site call void @lp_free(ptr %t133) store ptr %t134, ptr %t6 %t135 = load ptr, ptr %t36 %t136 = getelementptr inbounds %Cmp_Node, ptr %t135, i32 0, i32 3 %t137 = load ptr, ptr %t136 %t138 = call i32 @lp_str_eq(ptr %t137, ptr @.str3764) %t139 = icmp ne i32 %t138, 0 br i1 %t139, label %then25, label %else26 then25: %t140 = load ptr, ptr %t6 %t141 = load ptr, ptr %t111 store i32 3088, ptr @lp_site %t142 = call ptr @lp_str_concat(ptr @.str3765, ptr %t141) store i32 0, ptr @lp_site store i32 3089, ptr @lp_site %t143 = call ptr @lp_str_concat(ptr %t142, ptr @.str3766) store i32 0, ptr @lp_site call void @lp_free(ptr %t142) store i32 3090, ptr @lp_site %t144 = call ptr @lp_str_concat(ptr %t140, ptr %t143) store i32 0, ptr @lp_site call void @lp_free(ptr %t143) store ptr %t144, ptr %t6 br label %ifend27 else26: %t145 = load i32, ptr %t0 %t146 = load ptr, ptr %t36 %t147 = getelementptr inbounds %Cmp_Node, ptr %t146, i32 0, i32 3 %t148 = load ptr, ptr %t147 %t149 = load ptr, ptr %t111 %t150 = load ptr, ptr %t2 %t151 = call ptr @fn_vw_conv(i32 %t145, ptr %t148, ptr %t149, ptr %t150) store ptr %t151, ptr %t152 %t153 = load ptr, ptr %t152 %t154 = icmp eq ptr %t153, null %t155 = zext i1 %t154 to i32 %t156 = icmp ne i32 %t155, 0 br i1 %t156, label %then28, label %ifend30 then28: %t157 = load i32, ptr %t0 %t158 = load ptr, ptr @g_g_vw_cnames %t159 = load i32, ptr %t0 %t160 = getelementptr inbounds %LSlice, ptr %t158, i32 0, i32 0 %t161 = load ptr, ptr %t160 %t162 = getelementptr inbounds %LSlice, ptr %t158, i32 0, i32 1 %t163 = load i32, ptr %t162 %t164 = icmp ult i32 %t159, %t163 br i1 %t164, label %ixok31, label %ixbad32 ixbad32: store i32 3091, ptr @lp_site %t165 = call ptr @lp_win_stdio(i32 2) store i32 0, ptr @lp_site call i32 (ptr, ptr, ...) @fprintf(ptr %t165, ptr @.fmt_bounds, ptr @.str3767, i32 %t159, i32 %t163) call void @exit(i32 1) unreachable ixok31: %t166 = getelementptr inbounds ptr, ptr %t161, i32 %t159 %t167 = load ptr, ptr %t166 %t168 = load i32, ptr %t18 %t169 = getelementptr inbounds %LSlice, ptr %t167, i32 0, i32 0 %t170 = load ptr, ptr %t169 %t171 = getelementptr inbounds %LSlice, ptr %t167, i32 0, i32 1 %t172 = load i32, ptr %t171 %t173 = icmp ult i32 %t168, %t172 br i1 %t173, label %ixok33, label %ixbad34 ixbad34: store i32 3092, ptr @lp_site %t174 = call ptr @lp_win_stdio(i32 2) store i32 0, ptr @lp_site call i32 (ptr, ptr, ...) @fprintf(ptr %t174, ptr @.fmt_bounds, ptr @.str3768, i32 %t168, i32 %t172) call void @exit(i32 1) unreachable ixok33: %t175 = getelementptr inbounds ptr, ptr %t170, i32 %t168 %t176 = load ptr, ptr %t175 store i32 3093, ptr @lp_site %t177 = call ptr @lp_str_concat(ptr %t176, ptr @.str3769) store i32 0, ptr @lp_site %t178 = load ptr, ptr %t36 %t179 = getelementptr inbounds %Cmp_Node, ptr %t178, i32 0, i32 3 %t180 = load ptr, ptr %t179 store i32 3094, ptr @lp_site %t181 = call ptr @lp_str_concat(ptr %t177, ptr %t180) store i32 0, ptr @lp_site call void @lp_free(ptr %t177) store i32 3095, ptr @lp_site %t182 = call ptr @lp_str_concat(ptr %t181, ptr @.str3770) store i32 0, ptr @lp_site call void @lp_free(ptr %t181) call void @fn_vw_err(i32 %t157, ptr %t182) br label %ifend30 ifend30: %t183 = load ptr, ptr %t6 %t184 = load ptr, ptr %t152 store i32 3096, ptr @lp_site %t185 = call ptr @lp_str_concat(ptr @.str3771, ptr %t184) store i32 0, ptr @lp_site store i32 3097, ptr @lp_site %t186 = call ptr @lp_str_concat(ptr %t185, ptr @.str3772) store i32 0, ptr @lp_site call void @lp_free(ptr %t185) store i32 3098, ptr @lp_site %t187 = call ptr @lp_str_concat(ptr %t183, ptr %t186) store i32 0, ptr @lp_site call void @lp_free(ptr %t186) store ptr %t187, ptr %t6 br label %ifend27 ifend27: %t188 = load ptr, ptr %t6 store i32 3099, ptr @lp_site %t189 = call ptr @lp_str_concat(ptr %t188, ptr @.str3773) store i32 0, ptr @lp_site store ptr %t189, ptr %t6 %t190 = load i32, ptr %t18 %t191 = add i32 %t190, 1 store i32 %t191, ptr %t18 br label %wcond2 wend4: %t192 = load ptr, ptr %t6 store i32 3100, ptr @lp_site %t193 = call ptr @lp_str_concat(ptr %t192, ptr @.str3774) store i32 0, ptr @lp_site store ptr %t193, ptr %retval br label %ret ret: %t194 = load ptr, ptr %retval ret ptr %t194 } define ptr @fn_vw_arg(i32 %arg_v, ptr %arg_p, i32 %arg_i) { entry: %retval = alloca ptr %t0 = alloca i32 %t1 = alloca ptr %t2 = alloca i32 %t7 = alloca ptr store i32 %arg_v, ptr %t0 store ptr %arg_p, ptr %t1 store i32 %arg_i, ptr %t2 %t3 = load i32, ptr %t2 store i32 3101, ptr @lp_site %t4 = call ptr @lp_int_str(i32 %t3) store i32 0, ptr @lp_site store i32 3102, ptr @lp_site %t5 = call ptr @lp_str_concat(ptr @.str3775, ptr %t4) store i32 0, ptr @lp_site call void @lp_free(ptr %t4) store i32 3103, ptr @lp_site %t6 = call ptr @lp_str_concat(ptr %t5, ptr @.str3777) store i32 0, ptr @lp_site call void @lp_free(ptr %t5) store ptr %t6, ptr %t7 %t8 = load ptr, ptr %t1 %t9 = getelementptr inbounds %Cmp_Node, ptr %t8, i32 0, i32 3 %t10 = load ptr, ptr %t9 %t11 = call i32 @lp_str_eq(ptr %t10, ptr @.str3778) %t12 = icmp ne i32 %t11, 0 br i1 %t12, label %then0, label %ifend2 then0: %t13 = load ptr, ptr %t7 store i32 3104, ptr @lp_site %t14 = call ptr @lp_str_concat(ptr @.str3779, ptr %t13) store i32 0, ptr @lp_site store i32 3105, ptr @lp_site %t15 = call ptr @lp_str_concat(ptr %t14, ptr @.str3780) store i32 0, ptr @lp_site call void @lp_free(ptr %t14) store ptr %t15, ptr %retval br label %ret ifend2: %t16 = load ptr, ptr %t1 %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 @.str3781) %t20 = icmp ne i32 %t19, 0 br i1 %t20, label %then3, label %ifend5 then3: %t21 = load ptr, ptr %t7 store i32 3106, ptr @lp_site %t22 = call ptr @lp_str_concat(ptr @.str3782, ptr %t21) store i32 0, ptr @lp_site store i32 3107, ptr @lp_site %t23 = call ptr @lp_str_concat(ptr %t22, ptr @.str3783) store i32 0, ptr @lp_site call void @lp_free(ptr %t22) store ptr %t23, ptr %retval br label %ret ifend5: %t24 = load ptr, ptr %t1 %t25 = getelementptr inbounds %Cmp_Node, ptr %t24, i32 0, i32 3 %t26 = load ptr, ptr %t25 %t27 = call i32 @lp_str_eq(ptr %t26, ptr @.str3784) %t28 = icmp ne i32 %t27, 0 br i1 %t28, label %then6, label %ifend8 then6: %t29 = load ptr, ptr %t7 store i32 3108, ptr @lp_site %t30 = call ptr @lp_str_concat(ptr @.str3785, ptr %t29) store i32 0, ptr @lp_site store i32 3109, ptr @lp_site %t31 = call ptr @lp_str_concat(ptr %t30, ptr @.str3786) store i32 0, ptr @lp_site call void @lp_free(ptr %t30) store ptr %t31, ptr %retval br label %ret ifend8: %t32 = load ptr, ptr %t1 %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 @.str3787) %t36 = icmp ne i32 %t35, 0 br i1 %t36, label %then9, label %ifend11 then9: %t37 = load ptr, ptr %t7 store i32 3110, ptr @lp_site %t38 = call ptr @lp_str_concat(ptr @.str3788, ptr %t37) store i32 0, ptr @lp_site store i32 3111, ptr @lp_site %t39 = call ptr @lp_str_concat(ptr %t38, ptr @.str3789) store i32 0, ptr @lp_site call void @lp_free(ptr %t38) store ptr %t39, ptr %retval br label %ret ifend11: %t40 = load i32, ptr %t0 %t41 = load ptr, ptr %t1 %t42 = getelementptr inbounds %Cmp_Node, ptr %t41, i32 0, i32 1 %t43 = load ptr, ptr %t42 store i32 3112, ptr @lp_site %t44 = call ptr @lp_str_concat(ptr %t43, ptr @.str3790) store i32 0, ptr @lp_site %t45 = load ptr, ptr %t1 %t46 = getelementptr inbounds %Cmp_Node, ptr %t45, i32 0, i32 3 %t47 = load ptr, ptr %t46 store i32 3113, ptr @lp_site %t48 = call ptr @lp_str_concat(ptr %t44, ptr %t47) store i32 0, ptr @lp_site call void @lp_free(ptr %t44) store i32 3114, ptr @lp_site %t49 = call ptr @lp_str_concat(ptr %t48, ptr @.str3791) store i32 0, ptr @lp_site call void @lp_free(ptr %t48) call void @fn_vw_err(i32 %t40, ptr %t49) store ptr @.str3792, ptr %retval br label %ret ret: %t50 = load ptr, ptr %retval ret ptr %t50 } define ptr @fn_cm_prefix(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_reg_lower(ptr %t1) store i32 3115, ptr @lp_site %t3 = call ptr @lp_str_concat(ptr @.str3793, ptr %t2) store i32 0, ptr @lp_site store i32 3116, ptr @lp_site %t4 = call ptr @lp_str_concat(ptr %t3, ptr @.str3795) store i32 0, ptr @lp_site call void @lp_free(ptr %t3) store ptr %t4, ptr %retval br label %ret ret: %t5 = load ptr, ptr %retval ret ptr %t5 } define void @fn_parse_ui_component() { entry: %t6 = alloca ptr %t103 = alloca ptr %t159 = alloca ptr %t163 = alloca i32 %t593 = alloca ptr %t0 = getelementptr %LSlice, ptr null, i32 1 %t1 = ptrtoint ptr %t0 to i64 store i32 3117, ptr @lp_site %t2 = call ptr @lp_malloc(i64 %t1) store i32 0, ptr @lp_site %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 = load ptr, ptr %t6 %t8 = load ptr, ptr @g_toks %t9 = load i32, ptr @g_pi %t10 = getelementptr inbounds %LSlice, ptr %t8, i32 0, i32 0 %t11 = load ptr, ptr %t10 %t12 = getelementptr inbounds %LSlice, ptr %t8, i32 0, i32 1 %t13 = load i32, ptr %t12 %t14 = icmp ult i32 %t9, %t13 br i1 %t14, label %ixok0, label %ixbad1 ixbad1: store i32 3118, ptr @lp_site %t15 = call ptr @lp_win_stdio(i32 2) store i32 0, ptr @lp_site call i32 (ptr, ptr, ...) @fprintf(ptr %t15, ptr @.fmt_bounds, ptr @.str3797, i32 %t9, i32 %t13) call void @exit(i32 1) unreachable ixok0: %t16 = getelementptr inbounds ptr, ptr %t11, i32 %t9 %t17 = load ptr, ptr %t16 %t18 = getelementptr inbounds %Cmp_Tok, ptr %t17, i32 0, i32 3 %t19 = load i32, ptr %t18 %t20 = getelementptr inbounds %LSlice, ptr %t7, i32 0, i32 1 %t21 = getelementptr inbounds %LSlice, ptr %t7, i32 0, i32 2 %t22 = getelementptr inbounds %LSlice, ptr %t7, i32 0, i32 0 %t23 = load i32, ptr %t20 %t24 = load i32, ptr %t21 %t25 = icmp sge i32 %t23, %t24 br i1 %t25, label %grow2, label %put3 grow2: %t26 = mul i32 %t24, 2 %t27 = icmp eq i32 %t24, 0 %t28 = select i1 %t27, i32 8, i32 %t26 %t29 = getelementptr i32, 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 store i32 3119, ptr @lp_site %t34 = call ptr @lp_realloc(ptr %t33, i64 %t32) store i32 0, ptr @lp_site store ptr %t34, ptr %t22 store i32 %t28, ptr %t21 br label %put3 put3: %t35 = load ptr, ptr %t22 %t36 = getelementptr inbounds i32, ptr %t35, i32 %t23 store i32 %t19, ptr %t36 %t37 = add i32 %t23, 1 store i32 %t37, ptr %t20 %t38 = load ptr, ptr %t6 %t39 = load ptr, ptr @g_toks %t40 = load i32, ptr @g_pi %t41 = getelementptr inbounds %LSlice, ptr %t39, i32 0, i32 0 %t42 = load ptr, ptr %t41 %t43 = getelementptr inbounds %LSlice, ptr %t39, i32 0, i32 1 %t44 = load i32, ptr %t43 %t45 = icmp ult i32 %t40, %t44 br i1 %t45, label %ixok4, label %ixbad5 ixbad5: store i32 3120, ptr @lp_site %t46 = call ptr @lp_win_stdio(i32 2) store i32 0, ptr @lp_site call i32 (ptr, ptr, ...) @fprintf(ptr %t46, ptr @.fmt_bounds, ptr @.str3798, i32 %t40, i32 %t44) call void @exit(i32 1) unreachable ixok4: %t47 = getelementptr inbounds ptr, ptr %t42, i32 %t40 %t48 = load ptr, ptr %t47 %t49 = getelementptr inbounds %Cmp_Tok, ptr %t48, i32 0, i32 6 %t50 = load i32, ptr %t49 %t51 = getelementptr inbounds %LSlice, ptr %t38, i32 0, i32 1 %t52 = getelementptr inbounds %LSlice, ptr %t38, i32 0, i32 2 %t53 = getelementptr inbounds %LSlice, ptr %t38, i32 0, i32 0 %t54 = load i32, ptr %t51 %t55 = load i32, ptr %t52 %t56 = icmp sge i32 %t54, %t55 br i1 %t56, label %grow6, label %put7 grow6: %t57 = mul i32 %t55, 2 %t58 = icmp eq i32 %t55, 0 %t59 = select i1 %t58, i32 8, i32 %t57 %t60 = getelementptr i32, ptr null, i32 1 %t61 = ptrtoint ptr %t60 to i64 %t62 = zext i32 %t59 to i64 %t63 = mul i64 %t62, %t61 %t64 = load ptr, ptr %t53 store i32 3121, ptr @lp_site %t65 = call ptr @lp_realloc(ptr %t64, i64 %t63) store i32 0, ptr @lp_site store ptr %t65, ptr %t53 store i32 %t59, ptr %t52 br label %put7 put7: %t66 = load ptr, ptr %t53 %t67 = getelementptr inbounds i32, ptr %t66, i32 %t54 store i32 %t50, ptr %t67 %t68 = add i32 %t54, 1 store i32 %t68, ptr %t51 %t69 = load ptr, ptr %t6 %t70 = load ptr, ptr @g_toks %t71 = load i32, ptr @g_pi %t72 = getelementptr inbounds %LSlice, ptr %t70, i32 0, i32 0 %t73 = load ptr, ptr %t72 %t74 = getelementptr inbounds %LSlice, ptr %t70, i32 0, i32 1 %t75 = load i32, ptr %t74 %t76 = icmp ult i32 %t71, %t75 br i1 %t76, label %ixok8, label %ixbad9 ixbad9: store i32 3122, ptr @lp_site %t77 = call ptr @lp_win_stdio(i32 2) store i32 0, ptr @lp_site call i32 (ptr, ptr, ...) @fprintf(ptr %t77, ptr @.fmt_bounds, ptr @.str3799, i32 %t71, i32 %t75) call void @exit(i32 1) unreachable ixok8: %t78 = getelementptr inbounds ptr, ptr %t73, i32 %t71 %t79 = load ptr, ptr %t78 %t80 = getelementptr inbounds %Cmp_Tok, ptr %t79, i32 0, i32 4 %t81 = load i32, ptr %t80 %t82 = getelementptr inbounds %LSlice, ptr %t69, i32 0, i32 1 %t83 = getelementptr inbounds %LSlice, ptr %t69, i32 0, i32 2 %t84 = getelementptr inbounds %LSlice, ptr %t69, i32 0, i32 0 %t85 = load i32, ptr %t82 %t86 = load i32, ptr %t83 %t87 = icmp sge i32 %t85, %t86 br i1 %t87, label %grow10, label %put11 grow10: %t88 = mul i32 %t86, 2 %t89 = icmp eq i32 %t86, 0 %t90 = select i1 %t89, i32 8, i32 %t88 %t91 = getelementptr i32, ptr null, i32 1 %t92 = ptrtoint ptr %t91 to i64 %t93 = zext i32 %t90 to i64 %t94 = mul i64 %t93, %t92 %t95 = load ptr, ptr %t84 store i32 3123, ptr @lp_site %t96 = call ptr @lp_realloc(ptr %t95, i64 %t94) store i32 0, ptr @lp_site store ptr %t96, ptr %t84 store i32 %t90, ptr %t83 br label %put11 put11: %t97 = load ptr, ptr %t84 %t98 = getelementptr inbounds i32, ptr %t97, i32 %t85 store i32 %t81, ptr %t98 %t99 = add i32 %t85, 1 store i32 %t99, ptr %t82 %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 %t104 = load ptr, ptr @g_g_cm_hdr %t105 = load ptr, ptr @g_toks %t106 = load i32, ptr @g_pi %t107 = sub i32 %t106, 1 %t108 = getelementptr inbounds %LSlice, ptr %t105, i32 0, i32 0 %t109 = load ptr, ptr %t108 %t110 = getelementptr inbounds %LSlice, ptr %t105, i32 0, i32 1 %t111 = load i32, ptr %t110 %t112 = icmp ult i32 %t107, %t111 br i1 %t112, label %ixok12, label %ixbad13 ixbad13: store i32 3124, ptr @lp_site %t113 = call ptr @lp_win_stdio(i32 2) store i32 0, ptr @lp_site call i32 (ptr, ptr, ...) @fprintf(ptr %t113, ptr @.fmt_bounds, ptr @.str3800, i32 %t107, i32 %t111) call void @exit(i32 1) unreachable ixok12: %t114 = getelementptr inbounds ptr, ptr %t109, i32 %t107 %t115 = load ptr, ptr %t114 %t116 = getelementptr inbounds %Cmp_Tok, ptr %t115, i32 0, i32 5 %t117 = load i32, ptr %t116 %t118 = getelementptr inbounds %LSlice, ptr %t104, i32 0, i32 1 %t119 = getelementptr inbounds %LSlice, ptr %t104, i32 0, i32 2 %t120 = getelementptr inbounds %LSlice, ptr %t104, i32 0, i32 0 %t121 = load i32, ptr %t118 %t122 = load i32, ptr %t119 %t123 = icmp sge i32 %t121, %t122 br i1 %t123, label %grow14, label %put15 grow14: %t124 = mul i32 %t122, 2 %t125 = icmp eq i32 %t122, 0 %t126 = select i1 %t125, i32 8, i32 %t124 %t127 = getelementptr i32, ptr null, i32 1 %t128 = ptrtoint ptr %t127 to i64 %t129 = zext i32 %t126 to i64 %t130 = mul i64 %t129, %t128 %t131 = load ptr, ptr %t120 store i32 3125, ptr @lp_site %t132 = call ptr @lp_realloc(ptr %t131, i64 %t130) store i32 0, ptr @lp_site store ptr %t132, ptr %t120 store i32 %t126, ptr %t119 br label %put15 put15: %t133 = load ptr, ptr %t120 %t134 = getelementptr inbounds i32, ptr %t133, i32 %t121 store i32 %t117, ptr %t134 %t135 = add i32 %t121, 1 store i32 %t135, ptr %t118 %t136 = load ptr, ptr @g_g_cm_ps %t137 = call ptr @fn_parse_entry_params() %t138 = getelementptr inbounds %LSlice, ptr %t136, i32 0, i32 1 %t139 = getelementptr inbounds %LSlice, ptr %t136, i32 0, i32 2 %t140 = getelementptr inbounds %LSlice, ptr %t136, i32 0, i32 0 %t141 = load i32, ptr %t138 %t142 = load i32, ptr %t139 %t143 = icmp sge i32 %t141, %t142 br i1 %t143, label %grow16, label %put17 grow16: %t144 = mul i32 %t142, 2 %t145 = icmp eq i32 %t142, 0 %t146 = select i1 %t145, i32 8, i32 %t144 %t147 = getelementptr ptr, ptr null, i32 1 %t148 = ptrtoint ptr %t147 to i64 %t149 = zext i32 %t146 to i64 %t150 = mul i64 %t149, %t148 %t151 = load ptr, ptr %t140 store i32 3126, ptr @lp_site %t152 = call ptr @lp_realloc(ptr %t151, i64 %t150) store i32 0, ptr @lp_site store ptr %t152, ptr %t140 store i32 %t146, ptr %t139 br label %put17 put17: %t153 = load ptr, ptr %t140 %t154 = getelementptr inbounds ptr, ptr %t153, i32 %t141 store ptr %t137, ptr %t154 %t155 = add i32 %t141, 1 store i32 %t155, ptr %t138 %t156 = load ptr, ptr %t103 call void @fn_cm_unique(ptr %t156) %t157 = load ptr, ptr %t103 %t158 = call ptr @fn_cm_prefix(ptr %t157) store ptr %t158, ptr %t159 store i32 1, ptr @g_g_uses_value %t160 = load ptr, ptr @g_g_cm_name %t161 = getelementptr inbounds %LSlice, ptr %t160, i32 0, i32 1 %t162 = load i32, ptr %t161 store i32 %t162, ptr %t163 %t164 = load ptr, ptr @g_g_cm_name %t165 = load ptr, ptr %t103 %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 %grow18, label %put19 grow18: %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 store i32 3127, ptr @lp_site %t180 = call ptr @lp_realloc(ptr %t179, i64 %t178) store i32 0, ptr @lp_site store ptr %t180, ptr %t168 store i32 %t174, ptr %t167 br label %put19 put19: %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 = load ptr, ptr @g_g_cm_file %t185 = load ptr, ptr @g_g_parse_file %t186 = getelementptr inbounds %LSlice, ptr %t184, i32 0, i32 1 %t187 = getelementptr inbounds %LSlice, ptr %t184, i32 0, i32 2 %t188 = getelementptr inbounds %LSlice, ptr %t184, i32 0, i32 0 %t189 = load i32, ptr %t186 %t190 = load i32, ptr %t187 %t191 = icmp sge i32 %t189, %t190 br i1 %t191, label %grow20, label %put21 grow20: %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 store i32 3128, ptr @lp_site %t200 = call ptr @lp_realloc(ptr %t199, i64 %t198) store i32 0, ptr @lp_site store ptr %t200, ptr %t188 store i32 %t194, ptr %t187 br label %put21 put21: %t201 = load ptr, ptr %t188 %t202 = getelementptr inbounds ptr, ptr %t201, i32 %t189 store ptr %t185, ptr %t202 %t203 = add i32 %t189, 1 store i32 %t203, ptr %t186 %t204 = load ptr, ptr @g_g_cm_line %t205 = load ptr, ptr @g_toks %t206 = load i32, ptr @g_pi %t207 = getelementptr inbounds %LSlice, ptr %t205, i32 0, i32 0 %t208 = load ptr, ptr %t207 %t209 = getelementptr inbounds %LSlice, ptr %t205, i32 0, i32 1 %t210 = load i32, ptr %t209 %t211 = icmp ult i32 %t206, %t210 br i1 %t211, label %ixok22, label %ixbad23 ixbad23: store i32 3129, ptr @lp_site %t212 = call ptr @lp_win_stdio(i32 2) store i32 0, ptr @lp_site call i32 (ptr, ptr, ...) @fprintf(ptr %t212, ptr @.fmt_bounds, ptr @.str3801, i32 %t206, i32 %t210) call void @exit(i32 1) unreachable ixok22: %t213 = getelementptr inbounds ptr, ptr %t208, i32 %t206 %t214 = load ptr, ptr %t213 %t215 = getelementptr inbounds %Cmp_Tok, ptr %t214, i32 0, i32 3 %t216 = load i32, ptr %t215 %t217 = getelementptr inbounds %LSlice, ptr %t204, i32 0, i32 1 %t218 = getelementptr inbounds %LSlice, ptr %t204, i32 0, i32 2 %t219 = getelementptr inbounds %LSlice, ptr %t204, i32 0, i32 0 %t220 = load i32, ptr %t217 %t221 = load i32, ptr %t218 %t222 = icmp sge i32 %t220, %t221 br i1 %t222, label %grow24, label %put25 grow24: %t223 = mul i32 %t221, 2 %t224 = icmp eq i32 %t221, 0 %t225 = select i1 %t224, i32 8, i32 %t223 %t226 = getelementptr i32, 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 store i32 3130, ptr @lp_site %t231 = call ptr @lp_realloc(ptr %t230, i64 %t229) store i32 0, ptr @lp_site store ptr %t231, ptr %t219 store i32 %t225, ptr %t218 br label %put25 put25: %t232 = load ptr, ptr %t219 %t233 = getelementptr inbounds i32, ptr %t232, i32 %t220 store i32 %t216, ptr %t233 %t234 = add i32 %t220, 1 store i32 %t234, ptr %t217 %t235 = load ptr, ptr @g_g_cm_keep %t236 = getelementptr %LSlice, ptr null, i32 1 %t237 = ptrtoint ptr %t236 to i64 store i32 3131, ptr @lp_site %t238 = call ptr @lp_malloc(i64 %t237) store i32 0, ptr @lp_site %t239 = getelementptr inbounds %LSlice, ptr %t238, i32 0, i32 0 store ptr null, ptr %t239 %t240 = getelementptr inbounds %LSlice, ptr %t238, i32 0, i32 1 store i32 0, ptr %t240 %t241 = getelementptr inbounds %LSlice, ptr %t238, i32 0, i32 2 store i32 0, ptr %t241 %t242 = getelementptr inbounds %LSlice, ptr %t235, i32 0, i32 1 %t243 = getelementptr inbounds %LSlice, ptr %t235, i32 0, i32 2 %t244 = getelementptr inbounds %LSlice, ptr %t235, i32 0, i32 0 %t245 = load i32, ptr %t242 %t246 = load i32, ptr %t243 %t247 = icmp sge i32 %t245, %t246 br i1 %t247, label %grow26, label %put27 grow26: %t248 = mul i32 %t246, 2 %t249 = icmp eq i32 %t246, 0 %t250 = select i1 %t249, i32 8, i32 %t248 %t251 = getelementptr ptr, ptr null, i32 1 %t252 = ptrtoint ptr %t251 to i64 %t253 = zext i32 %t250 to i64 %t254 = mul i64 %t253, %t252 %t255 = load ptr, ptr %t244 store i32 3132, ptr @lp_site %t256 = call ptr @lp_realloc(ptr %t255, i64 %t254) store i32 0, ptr @lp_site store ptr %t256, ptr %t244 store i32 %t250, ptr %t243 br label %put27 put27: %t257 = load ptr, ptr %t244 %t258 = getelementptr inbounds ptr, ptr %t257, i32 %t245 store ptr %t238, ptr %t258 %t259 = add i32 %t245, 1 store i32 %t259, ptr %t242 %t260 = load ptr, ptr @g_g_cm_keep_ty %t261 = getelementptr %LSlice, ptr null, i32 1 %t262 = ptrtoint ptr %t261 to i64 store i32 3133, ptr @lp_site %t263 = call ptr @lp_malloc(i64 %t262) store i32 0, ptr @lp_site %t264 = getelementptr inbounds %LSlice, ptr %t263, i32 0, i32 0 store ptr null, ptr %t264 %t265 = getelementptr inbounds %LSlice, ptr %t263, i32 0, i32 1 store i32 0, ptr %t265 %t266 = getelementptr inbounds %LSlice, ptr %t263, i32 0, i32 2 store i32 0, ptr %t266 %t267 = getelementptr inbounds %LSlice, ptr %t260, i32 0, i32 1 %t268 = getelementptr inbounds %LSlice, ptr %t260, i32 0, i32 2 %t269 = getelementptr inbounds %LSlice, ptr %t260, i32 0, i32 0 %t270 = load i32, ptr %t267 %t271 = load i32, ptr %t268 %t272 = icmp sge i32 %t270, %t271 br i1 %t272, label %grow28, label %put29 grow28: %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 store i32 3134, ptr @lp_site %t281 = call ptr @lp_realloc(ptr %t280, i64 %t279) store i32 0, ptr @lp_site store ptr %t281, ptr %t269 store i32 %t275, ptr %t268 br label %put29 put29: %t282 = load ptr, ptr %t269 %t283 = getelementptr inbounds ptr, ptr %t282, i32 %t270 store ptr %t263, ptr %t283 %t284 = add i32 %t270, 1 store i32 %t284, ptr %t267 %t285 = load ptr, ptr @g_g_cm_prop %t286 = getelementptr %LSlice, ptr null, i32 1 %t287 = ptrtoint ptr %t286 to i64 store i32 3135, ptr @lp_site %t288 = call ptr @lp_malloc(i64 %t287) store i32 0, ptr @lp_site %t289 = getelementptr inbounds %LSlice, ptr %t288, i32 0, i32 0 store ptr null, ptr %t289 %t290 = getelementptr inbounds %LSlice, ptr %t288, i32 0, i32 1 store i32 0, ptr %t290 %t291 = getelementptr inbounds %LSlice, ptr %t288, i32 0, i32 2 store i32 0, ptr %t291 %t292 = getelementptr inbounds %LSlice, ptr %t285, i32 0, i32 1 %t293 = getelementptr inbounds %LSlice, ptr %t285, i32 0, i32 2 %t294 = getelementptr inbounds %LSlice, ptr %t285, i32 0, i32 0 %t295 = load i32, ptr %t292 %t296 = load i32, ptr %t293 %t297 = icmp sge i32 %t295, %t296 br i1 %t297, label %grow30, label %put31 grow30: %t298 = mul i32 %t296, 2 %t299 = icmp eq i32 %t296, 0 %t300 = select i1 %t299, i32 8, i32 %t298 %t301 = getelementptr ptr, ptr null, i32 1 %t302 = ptrtoint ptr %t301 to i64 %t303 = zext i32 %t300 to i64 %t304 = mul i64 %t303, %t302 %t305 = load ptr, ptr %t294 store i32 3136, ptr @lp_site %t306 = call ptr @lp_realloc(ptr %t305, i64 %t304) store i32 0, ptr @lp_site store ptr %t306, ptr %t294 store i32 %t300, ptr %t293 br label %put31 put31: %t307 = load ptr, ptr %t294 %t308 = getelementptr inbounds ptr, ptr %t307, i32 %t295 store ptr %t288, ptr %t308 %t309 = add i32 %t295, 1 store i32 %t309, ptr %t292 %t310 = load ptr, ptr @g_g_cm_defs %t311 = getelementptr %LSlice, ptr null, i32 1 %t312 = ptrtoint ptr %t311 to i64 store i32 3137, ptr @lp_site %t313 = call ptr @lp_malloc(i64 %t312) store i32 0, ptr @lp_site %t314 = getelementptr inbounds %LSlice, ptr %t313, i32 0, i32 0 store ptr null, ptr %t314 %t315 = getelementptr inbounds %LSlice, ptr %t313, i32 0, i32 1 store i32 0, ptr %t315 %t316 = getelementptr inbounds %LSlice, ptr %t313, i32 0, i32 2 store i32 0, ptr %t316 %t317 = getelementptr inbounds %LSlice, ptr %t310, i32 0, i32 1 %t318 = getelementptr inbounds %LSlice, ptr %t310, i32 0, i32 2 %t319 = getelementptr inbounds %LSlice, ptr %t310, i32 0, i32 0 %t320 = load i32, ptr %t317 %t321 = load i32, ptr %t318 %t322 = icmp sge i32 %t320, %t321 br i1 %t322, label %grow32, label %put33 grow32: %t323 = mul i32 %t321, 2 %t324 = icmp eq i32 %t321, 0 %t325 = select i1 %t324, i32 8, i32 %t323 %t326 = getelementptr ptr, ptr null, i32 1 %t327 = ptrtoint ptr %t326 to i64 %t328 = zext i32 %t325 to i64 %t329 = mul i64 %t328, %t327 %t330 = load ptr, ptr %t319 store i32 3138, ptr @lp_site %t331 = call ptr @lp_realloc(ptr %t330, i64 %t329) store i32 0, ptr @lp_site store ptr %t331, ptr %t319 store i32 %t325, ptr %t318 br label %put33 put33: %t332 = load ptr, ptr %t319 %t333 = getelementptr inbounds ptr, ptr %t332, i32 %t320 store ptr %t313, ptr %t333 %t334 = add i32 %t320, 1 store i32 %t334, ptr %t317 %t335 = load ptr, ptr @g_g_cm_fields %t336 = getelementptr %LSlice, ptr null, i32 1 %t337 = ptrtoint ptr %t336 to i64 store i32 3139, ptr @lp_site %t338 = call ptr @lp_malloc(i64 %t337) store i32 0, ptr @lp_site %t339 = getelementptr inbounds %LSlice, ptr %t338, i32 0, i32 0 store ptr null, ptr %t339 %t340 = getelementptr inbounds %LSlice, ptr %t338, i32 0, i32 1 store i32 0, ptr %t340 %t341 = getelementptr inbounds %LSlice, ptr %t338, i32 0, i32 2 store i32 0, ptr %t341 %t342 = getelementptr inbounds %LSlice, ptr %t335, i32 0, i32 1 %t343 = getelementptr inbounds %LSlice, ptr %t335, i32 0, i32 2 %t344 = getelementptr inbounds %LSlice, ptr %t335, i32 0, i32 0 %t345 = load i32, ptr %t342 %t346 = load i32, ptr %t343 %t347 = icmp sge i32 %t345, %t346 br i1 %t347, label %grow34, label %put35 grow34: %t348 = mul i32 %t346, 2 %t349 = icmp eq i32 %t346, 0 %t350 = select i1 %t349, i32 8, i32 %t348 %t351 = getelementptr ptr, ptr null, i32 1 %t352 = ptrtoint ptr %t351 to i64 %t353 = zext i32 %t350 to i64 %t354 = mul i64 %t353, %t352 %t355 = load ptr, ptr %t344 store i32 3140, ptr @lp_site %t356 = call ptr @lp_realloc(ptr %t355, i64 %t354) store i32 0, ptr @lp_site store ptr %t356, ptr %t344 store i32 %t350, ptr %t343 br label %put35 put35: %t357 = load ptr, ptr %t344 %t358 = getelementptr inbounds ptr, ptr %t357, i32 %t345 store ptr %t338, ptr %t358 %t359 = add i32 %t345, 1 store i32 %t359, ptr %t342 %t360 = load ptr, ptr @g_g_cm_fnames %t361 = getelementptr %LSlice, ptr null, i32 1 %t362 = ptrtoint ptr %t361 to i64 store i32 3141, ptr @lp_site %t363 = call ptr @lp_malloc(i64 %t362) store i32 0, ptr @lp_site %t364 = getelementptr inbounds %LSlice, ptr %t363, i32 0, i32 0 store ptr null, ptr %t364 %t365 = getelementptr inbounds %LSlice, ptr %t363, i32 0, i32 1 store i32 0, ptr %t365 %t366 = getelementptr inbounds %LSlice, ptr %t363, i32 0, i32 2 store i32 0, ptr %t366 %t367 = getelementptr inbounds %LSlice, ptr %t360, i32 0, i32 1 %t368 = getelementptr inbounds %LSlice, ptr %t360, i32 0, i32 2 %t369 = getelementptr inbounds %LSlice, ptr %t360, i32 0, i32 0 %t370 = load i32, ptr %t367 %t371 = load i32, ptr %t368 %t372 = icmp sge i32 %t370, %t371 br i1 %t372, label %grow36, label %put37 grow36: %t373 = mul i32 %t371, 2 %t374 = icmp eq i32 %t371, 0 %t375 = select i1 %t374, i32 8, i32 %t373 %t376 = getelementptr ptr, ptr null, i32 1 %t377 = ptrtoint ptr %t376 to i64 %t378 = zext i32 %t375 to i64 %t379 = mul i64 %t378, %t377 %t380 = load ptr, ptr %t369 store i32 3142, ptr @lp_site %t381 = call ptr @lp_realloc(ptr %t380, i64 %t379) store i32 0, ptr @lp_site store ptr %t381, ptr %t369 store i32 %t375, ptr %t368 br label %put37 put37: %t382 = load ptr, ptr %t369 %t383 = getelementptr inbounds ptr, ptr %t382, i32 %t370 store ptr %t363, ptr %t383 %t384 = add i32 %t370, 1 store i32 %t384, ptr %t367 %t385 = load ptr, ptr @g_g_cm_calls %t386 = getelementptr %LSlice, ptr null, i32 1 %t387 = ptrtoint ptr %t386 to i64 store i32 3143, ptr @lp_site %t388 = call ptr @lp_malloc(i64 %t387) store i32 0, ptr @lp_site %t389 = getelementptr inbounds %LSlice, ptr %t388, i32 0, i32 0 store ptr null, ptr %t389 %t390 = getelementptr inbounds %LSlice, ptr %t388, i32 0, i32 1 store i32 0, ptr %t390 %t391 = getelementptr inbounds %LSlice, ptr %t388, i32 0, i32 2 store i32 0, ptr %t391 %t392 = getelementptr inbounds %LSlice, ptr %t385, i32 0, i32 1 %t393 = getelementptr inbounds %LSlice, ptr %t385, i32 0, i32 2 %t394 = getelementptr inbounds %LSlice, ptr %t385, i32 0, i32 0 %t395 = load i32, ptr %t392 %t396 = load i32, ptr %t393 %t397 = icmp sge i32 %t395, %t396 br i1 %t397, label %grow38, label %put39 grow38: %t398 = mul i32 %t396, 2 %t399 = icmp eq i32 %t396, 0 %t400 = select i1 %t399, i32 8, i32 %t398 %t401 = getelementptr ptr, ptr null, i32 1 %t402 = ptrtoint ptr %t401 to i64 %t403 = zext i32 %t400 to i64 %t404 = mul i64 %t403, %t402 %t405 = load ptr, ptr %t394 store i32 3144, ptr @lp_site %t406 = call ptr @lp_realloc(ptr %t405, i64 %t404) store i32 0, ptr @lp_site store ptr %t406, ptr %t394 store i32 %t400, ptr %t393 br label %put39 put39: %t407 = load ptr, ptr %t394 %t408 = getelementptr inbounds ptr, ptr %t407, i32 %t395 store ptr %t388, ptr %t408 %t409 = add i32 %t395, 1 store i32 %t409, ptr %t392 %t410 = load ptr, ptr @g_g_cm_cnames %t411 = getelementptr %LSlice, ptr null, i32 1 %t412 = ptrtoint ptr %t411 to i64 store i32 3145, ptr @lp_site %t413 = call ptr @lp_malloc(i64 %t412) store i32 0, ptr @lp_site %t414 = getelementptr inbounds %LSlice, ptr %t413, i32 0, i32 0 store ptr null, ptr %t414 %t415 = getelementptr inbounds %LSlice, ptr %t413, i32 0, i32 1 store i32 0, ptr %t415 %t416 = getelementptr inbounds %LSlice, ptr %t413, i32 0, i32 2 store i32 0, ptr %t416 %t417 = getelementptr inbounds %LSlice, ptr %t410, i32 0, i32 1 %t418 = getelementptr inbounds %LSlice, ptr %t410, i32 0, i32 2 %t419 = getelementptr inbounds %LSlice, ptr %t410, i32 0, i32 0 %t420 = load i32, ptr %t417 %t421 = load i32, ptr %t418 %t422 = icmp sge i32 %t420, %t421 br i1 %t422, label %grow40, label %put41 grow40: %t423 = mul i32 %t421, 2 %t424 = icmp eq i32 %t421, 0 %t425 = select i1 %t424, i32 8, i32 %t423 %t426 = getelementptr ptr, ptr null, i32 1 %t427 = ptrtoint ptr %t426 to i64 %t428 = zext i32 %t425 to i64 %t429 = mul i64 %t428, %t427 %t430 = load ptr, ptr %t419 store i32 3146, ptr @lp_site %t431 = call ptr @lp_realloc(ptr %t430, i64 %t429) store i32 0, ptr @lp_site store ptr %t431, ptr %t419 store i32 %t425, ptr %t418 br label %put41 put41: %t432 = load ptr, ptr %t419 %t433 = getelementptr inbounds ptr, ptr %t432, i32 %t420 store ptr %t413, ptr %t433 %t434 = add i32 %t420, 1 store i32 %t434, ptr %t417 %t435 = load ptr, ptr @g_g_cm_at %t436 = load ptr, ptr %t6 %t437 = getelementptr inbounds %LSlice, ptr %t435, i32 0, i32 1 %t438 = getelementptr inbounds %LSlice, ptr %t435, i32 0, i32 2 %t439 = getelementptr inbounds %LSlice, ptr %t435, i32 0, i32 0 %t440 = load i32, ptr %t437 %t441 = load i32, ptr %t438 %t442 = icmp sge i32 %t440, %t441 br i1 %t442, label %grow42, label %put43 grow42: %t443 = mul i32 %t441, 2 %t444 = icmp eq i32 %t441, 0 %t445 = select i1 %t444, i32 8, i32 %t443 %t446 = getelementptr ptr, ptr null, i32 1 %t447 = ptrtoint ptr %t446 to i64 %t448 = zext i32 %t445 to i64 %t449 = mul i64 %t448, %t447 %t450 = load ptr, ptr %t439 store i32 3147, ptr @lp_site %t451 = call ptr @lp_realloc(ptr %t450, i64 %t449) store i32 0, ptr @lp_site store ptr %t451, ptr %t439 store i32 %t445, ptr %t438 br label %put43 put43: %t452 = load ptr, ptr %t439 %t453 = getelementptr inbounds ptr, ptr %t452, i32 %t440 store ptr %t436, ptr %t453 %t454 = add i32 %t440, 1 store i32 %t454, ptr %t437 %t455 = load ptr, ptr @g_g_cm_kat %t456 = getelementptr %LSlice, ptr null, i32 1 %t457 = ptrtoint ptr %t456 to i64 store i32 3148, ptr @lp_site %t458 = call ptr @lp_malloc(i64 %t457) store i32 0, ptr @lp_site %t459 = getelementptr inbounds %LSlice, ptr %t458, i32 0, i32 0 store ptr null, ptr %t459 %t460 = getelementptr inbounds %LSlice, ptr %t458, i32 0, i32 1 store i32 0, ptr %t460 %t461 = getelementptr inbounds %LSlice, ptr %t458, i32 0, i32 2 store i32 0, ptr %t461 %t462 = getelementptr inbounds %LSlice, ptr %t455, i32 0, i32 1 %t463 = getelementptr inbounds %LSlice, ptr %t455, i32 0, i32 2 %t464 = getelementptr inbounds %LSlice, ptr %t455, i32 0, i32 0 %t465 = load i32, ptr %t462 %t466 = load i32, ptr %t463 %t467 = icmp sge i32 %t465, %t466 br i1 %t467, label %grow44, label %put45 grow44: %t468 = mul i32 %t466, 2 %t469 = icmp eq i32 %t466, 0 %t470 = select i1 %t469, i32 8, i32 %t468 %t471 = getelementptr ptr, ptr null, i32 1 %t472 = ptrtoint ptr %t471 to i64 %t473 = zext i32 %t470 to i64 %t474 = mul i64 %t473, %t472 %t475 = load ptr, ptr %t464 store i32 3149, ptr @lp_site %t476 = call ptr @lp_realloc(ptr %t475, i64 %t474) store i32 0, ptr @lp_site store ptr %t476, ptr %t464 store i32 %t470, ptr %t463 br label %put45 put45: %t477 = load ptr, ptr %t464 %t478 = getelementptr inbounds ptr, ptr %t477, i32 %t465 store ptr %t458, ptr %t478 %t479 = add i32 %t465, 1 store i32 %t479, ptr %t462 %t480 = load ptr, ptr @g_g_cm_fline %t481 = getelementptr %LSlice, ptr null, i32 1 %t482 = ptrtoint ptr %t481 to i64 store i32 3150, ptr @lp_site %t483 = call ptr @lp_malloc(i64 %t482) store i32 0, ptr @lp_site %t484 = getelementptr inbounds %LSlice, ptr %t483, i32 0, i32 0 store ptr null, ptr %t484 %t485 = getelementptr inbounds %LSlice, ptr %t483, i32 0, i32 1 store i32 0, ptr %t485 %t486 = getelementptr inbounds %LSlice, ptr %t483, i32 0, i32 2 store i32 0, ptr %t486 %t487 = getelementptr inbounds %LSlice, ptr %t480, i32 0, i32 1 %t488 = getelementptr inbounds %LSlice, ptr %t480, i32 0, i32 2 %t489 = getelementptr inbounds %LSlice, ptr %t480, i32 0, i32 0 %t490 = load i32, ptr %t487 %t491 = load i32, ptr %t488 %t492 = icmp sge i32 %t490, %t491 br i1 %t492, label %grow46, label %put47 grow46: %t493 = mul i32 %t491, 2 %t494 = icmp eq i32 %t491, 0 %t495 = select i1 %t494, i32 8, i32 %t493 %t496 = getelementptr ptr, ptr null, i32 1 %t497 = ptrtoint ptr %t496 to i64 %t498 = zext i32 %t495 to i64 %t499 = mul i64 %t498, %t497 %t500 = load ptr, ptr %t489 store i32 3151, ptr @lp_site %t501 = call ptr @lp_realloc(ptr %t500, i64 %t499) store i32 0, ptr @lp_site store ptr %t501, ptr %t489 store i32 %t495, ptr %t488 br label %put47 put47: %t502 = load ptr, ptr %t489 %t503 = getelementptr inbounds ptr, ptr %t502, i32 %t490 store ptr %t483, ptr %t503 %t504 = add i32 %t490, 1 store i32 %t504, ptr %t487 %t505 = load ptr, ptr @g_g_cm_isev %t506 = getelementptr %LSlice, ptr null, i32 1 %t507 = ptrtoint ptr %t506 to i64 store i32 3152, ptr @lp_site %t508 = call ptr @lp_malloc(i64 %t507) store i32 0, ptr @lp_site %t509 = getelementptr inbounds %LSlice, ptr %t508, i32 0, i32 0 store ptr null, ptr %t509 %t510 = getelementptr inbounds %LSlice, ptr %t508, i32 0, i32 1 store i32 0, ptr %t510 %t511 = getelementptr inbounds %LSlice, ptr %t508, i32 0, i32 2 store i32 0, ptr %t511 %t512 = getelementptr inbounds %LSlice, ptr %t505, i32 0, i32 1 %t513 = getelementptr inbounds %LSlice, ptr %t505, i32 0, i32 2 %t514 = getelementptr inbounds %LSlice, ptr %t505, i32 0, i32 0 %t515 = load i32, ptr %t512 %t516 = load i32, ptr %t513 %t517 = icmp sge i32 %t515, %t516 br i1 %t517, label %grow48, label %put49 grow48: %t518 = mul i32 %t516, 2 %t519 = icmp eq i32 %t516, 0 %t520 = select i1 %t519, i32 8, i32 %t518 %t521 = getelementptr ptr, ptr null, i32 1 %t522 = ptrtoint ptr %t521 to i64 %t523 = zext i32 %t520 to i64 %t524 = mul i64 %t523, %t522 %t525 = load ptr, ptr %t514 store i32 3153, ptr @lp_site %t526 = call ptr @lp_realloc(ptr %t525, i64 %t524) store i32 0, ptr @lp_site store ptr %t526, ptr %t514 store i32 %t520, ptr %t513 br label %put49 put49: %t527 = load ptr, ptr %t514 %t528 = getelementptr inbounds ptr, ptr %t527, i32 %t515 store ptr %t508, ptr %t528 %t529 = add i32 %t515, 1 store i32 %t529, ptr %t512 %t530 = load ptr, ptr @g_g_cm_xml_path %t531 = getelementptr inbounds %LSlice, ptr %t530, i32 0, i32 1 %t532 = getelementptr inbounds %LSlice, ptr %t530, i32 0, i32 2 %t533 = getelementptr inbounds %LSlice, ptr %t530, i32 0, i32 0 %t534 = load i32, ptr %t531 %t535 = load i32, ptr %t532 %t536 = icmp sge i32 %t534, %t535 br i1 %t536, label %grow50, label %put51 grow50: %t537 = mul i32 %t535, 2 %t538 = icmp eq i32 %t535, 0 %t539 = select i1 %t538, i32 8, i32 %t537 %t540 = getelementptr ptr, ptr null, i32 1 %t541 = ptrtoint ptr %t540 to i64 %t542 = zext i32 %t539 to i64 %t543 = mul i64 %t542, %t541 %t544 = load ptr, ptr %t533 store i32 3154, ptr @lp_site %t545 = call ptr @lp_realloc(ptr %t544, i64 %t543) store i32 0, ptr @lp_site store ptr %t545, ptr %t533 store i32 %t539, ptr %t532 br label %put51 put51: %t546 = load ptr, ptr %t533 %t547 = getelementptr inbounds ptr, ptr %t546, i32 %t534 store ptr @.str3802, ptr %t547 %t548 = add i32 %t534, 1 store i32 %t548, ptr %t531 %t549 = load ptr, ptr @g_g_cm_lss_path %t550 = getelementptr inbounds %LSlice, ptr %t549, i32 0, i32 1 %t551 = getelementptr inbounds %LSlice, ptr %t549, i32 0, i32 2 %t552 = getelementptr inbounds %LSlice, ptr %t549, i32 0, i32 0 %t553 = load i32, ptr %t550 %t554 = load i32, ptr %t551 %t555 = icmp sge i32 %t553, %t554 br i1 %t555, label %grow52, label %put53 grow52: %t556 = mul i32 %t554, 2 %t557 = icmp eq i32 %t554, 0 %t558 = select i1 %t557, i32 8, i32 %t556 %t559 = getelementptr ptr, ptr null, i32 1 %t560 = ptrtoint ptr %t559 to i64 %t561 = zext i32 %t558 to i64 %t562 = mul i64 %t561, %t560 %t563 = load ptr, ptr %t552 store i32 3155, ptr @lp_site %t564 = call ptr @lp_realloc(ptr %t563, i64 %t562) store i32 0, ptr @lp_site store ptr %t564, ptr %t552 store i32 %t558, ptr %t551 br label %put53 put53: %t565 = load ptr, ptr %t552 %t566 = getelementptr inbounds ptr, ptr %t565, i32 %t553 store ptr @.str3803, ptr %t566 %t567 = add i32 %t553, 1 store i32 %t567, ptr %t550 %t568 = load ptr, ptr @g_g_cm_xml %t569 = getelementptr inbounds %LSlice, ptr %t568, i32 0, i32 1 %t570 = getelementptr inbounds %LSlice, ptr %t568, i32 0, i32 2 %t571 = getelementptr inbounds %LSlice, ptr %t568, i32 0, i32 0 %t572 = load i32, ptr %t569 %t573 = load i32, ptr %t570 %t574 = icmp sge i32 %t572, %t573 br i1 %t574, label %grow54, label %put55 grow54: %t575 = mul i32 %t573, 2 %t576 = icmp eq i32 %t573, 0 %t577 = select i1 %t576, i32 8, i32 %t575 %t578 = getelementptr ptr, ptr null, i32 1 %t579 = ptrtoint ptr %t578 to i64 %t580 = zext i32 %t577 to i64 %t581 = mul i64 %t580, %t579 %t582 = load ptr, ptr %t571 store i32 3156, ptr @lp_site %t583 = call ptr @lp_realloc(ptr %t582, i64 %t581) store i32 0, ptr @lp_site store ptr %t583, ptr %t571 store i32 %t577, ptr %t570 br label %put55 put55: %t584 = load ptr, ptr %t571 %t585 = getelementptr inbounds ptr, ptr %t584, i32 %t572 store ptr @.str3804, ptr %t585 %t586 = add i32 %t572, 1 store i32 %t586, ptr %t569 call void @fn_skipnl() call void @fn_eat_op(ptr @.str3805) br label %wcond56 wcond56: %t587 = icmp ne i32 1, 0 br i1 %t587, label %wbody57, label %wend58 wbody57: call void @fn_skipnl() %t588 = call i32 @fn_is_op(ptr @.str3806) %t589 = icmp ne i32 %t588, 0 br i1 %t589, label %then59, label %ifend61 then59: br label %wend58 ifend61: %t590 = load i32, ptr %t163 %t591 = load ptr, ptr %t159 call void @fn_cm_member(i32 %t590, ptr %t591) br label %wcond56 wend58: call void @fn_eat_op(ptr @.str3807) %t592 = call ptr @fn_node(i32 2) store ptr %t592, ptr %t593 %t594 = load ptr, ptr %t593 %t595 = getelementptr inbounds %Cmp_Node, ptr %t594, i32 0, i32 1 %t596 = load ptr, ptr %t159 store i32 3157, ptr @lp_site %t597 = call ptr @lp_str_concat(ptr %t596, ptr @.str3808) store i32 0, ptr @lp_site store ptr %t597, ptr %t595 %t598 = load ptr, ptr %t593 %t599 = getelementptr inbounds %Cmp_Node, ptr %t598, i32 0, i32 3 store ptr @.str3809, ptr %t599 %t600 = load ptr, ptr %t593 %t601 = getelementptr inbounds %Cmp_Node, ptr %t600, i32 0, i32 13 %t602 = sub i32 0, 1 store i32 %t602, ptr %t601 %t603 = load ptr, ptr @g_g_cm_head %t604 = load ptr, ptr %t593 %t605 = getelementptr inbounds %LSlice, ptr %t603, i32 0, i32 1 %t606 = getelementptr inbounds %LSlice, ptr %t603, i32 0, i32 2 %t607 = getelementptr inbounds %LSlice, ptr %t603, i32 0, i32 0 %t608 = load i32, ptr %t605 %t609 = load i32, ptr %t606 %t610 = icmp sge i32 %t608, %t609 br i1 %t610, label %grow62, label %put63 grow62: %t611 = mul i32 %t609, 2 %t612 = icmp eq i32 %t609, 0 %t613 = select i1 %t612, i32 8, i32 %t611 %t614 = getelementptr ptr, ptr null, i32 1 %t615 = ptrtoint ptr %t614 to i64 %t616 = zext i32 %t613 to i64 %t617 = mul i64 %t616, %t615 %t618 = load ptr, ptr %t607 store i32 3158, ptr @lp_site %t619 = call ptr @lp_realloc(ptr %t618, i64 %t617) store i32 0, ptr @lp_site store ptr %t619, ptr %t607 store i32 %t613, ptr %t606 br label %put63 put63: %t620 = load ptr, ptr %t607 %t621 = getelementptr inbounds ptr, ptr %t620, i32 %t608 store ptr %t604, ptr %t621 %t622 = add i32 %t608, 1 store i32 %t622, ptr %t605 %t623 = load ptr, ptr @g_prog %t624 = load ptr, ptr %t593 %t625 = getelementptr inbounds %LSlice, ptr %t623, i32 0, i32 1 %t626 = getelementptr inbounds %LSlice, ptr %t623, i32 0, i32 2 %t627 = getelementptr inbounds %LSlice, ptr %t623, i32 0, i32 0 %t628 = load i32, ptr %t625 %t629 = load i32, ptr %t626 %t630 = icmp sge i32 %t628, %t629 br i1 %t630, label %grow64, label %put65 grow64: %t631 = mul i32 %t629, 2 %t632 = icmp eq i32 %t629, 0 %t633 = select i1 %t632, i32 8, i32 %t631 %t634 = getelementptr ptr, ptr null, i32 1 %t635 = ptrtoint ptr %t634 to i64 %t636 = zext i32 %t633 to i64 %t637 = mul i64 %t636, %t635 %t638 = load ptr, ptr %t627 store i32 3159, ptr @lp_site %t639 = call ptr @lp_realloc(ptr %t638, i64 %t637) store i32 0, ptr @lp_site store ptr %t639, ptr %t627 store i32 %t633, ptr %t626 br label %put65 put65: %t640 = load ptr, ptr %t627 %t641 = getelementptr inbounds ptr, ptr %t640, i32 %t628 store ptr %t624, ptr %t641 %t642 = add i32 %t628, 1 store i32 %t642, ptr %t625 br label %ret ret: ret void } define void @fn_cm_member(i32 %arg_c, ptr %arg_px) { entry: %t0 = alloca i32 %t1 = alloca ptr %t2 = alloca i32 %t12 = alloca i32 %t134 = alloca i32 %t136 = alloca i32 %t140 = alloca ptr %t142 = alloca ptr %t230 = alloca ptr %t236 = alloca i32 %t363 = alloca i32 %t373 = alloca i32 %t388 = alloca ptr %t559 = alloca ptr %t560 = alloca ptr %t614 = alloca ptr store i32 %arg_c, ptr %t0 store ptr %arg_px, ptr %t1 %t3 = call i32 @fn_is_id(ptr @.str3810) %t4 = icmp ne i32 %t3, 0 %t5 = zext i1 %t4 to i32 store i32 %t5, ptr %t2 br i1 %t4, label %scend1, label %sc0 sc0: %t6 = call i32 @fn_is_id(ptr @.str3811) %t7 = icmp ne i32 %t6, 0 %t8 = zext i1 %t7 to i32 store i32 %t8, ptr %t2 br label %scend1 scend1: %t9 = load i32, ptr %t2 %t10 = icmp ne i32 %t9, 0 br i1 %t10, label %then2, label %ifend4 then2: %t11 = call i32 @fn_is_id(ptr @.str3812) store i32 %t11, ptr %t12 %t13 = load ptr, ptr @g_g_cm_kat %t14 = load i32, ptr %t0 %t15 = getelementptr inbounds %LSlice, ptr %t13, i32 0, i32 0 %t16 = load ptr, ptr %t15 %t17 = getelementptr inbounds %LSlice, ptr %t13, i32 0, i32 1 %t18 = load i32, ptr %t17 %t19 = icmp ult i32 %t14, %t18 br i1 %t19, label %ixok5, label %ixbad6 ixbad6: store i32 3160, ptr @lp_site %t20 = call ptr @lp_win_stdio(i32 2) store i32 0, ptr @lp_site call i32 (ptr, ptr, ...) @fprintf(ptr %t20, ptr @.fmt_bounds, ptr @.str3813, i32 %t14, i32 %t18) call void @exit(i32 1) unreachable ixok5: %t21 = getelementptr inbounds ptr, ptr %t16, i32 %t14 %t22 = load ptr, ptr %t21 %t23 = load ptr, ptr @g_toks %t24 = load i32, ptr @g_pi %t25 = getelementptr inbounds %LSlice, ptr %t23, i32 0, i32 0 %t26 = load ptr, ptr %t25 %t27 = getelementptr inbounds %LSlice, ptr %t23, i32 0, i32 1 %t28 = load i32, ptr %t27 %t29 = icmp ult i32 %t24, %t28 br i1 %t29, label %ixok7, label %ixbad8 ixbad8: store i32 3161, ptr @lp_site %t30 = call ptr @lp_win_stdio(i32 2) store i32 0, ptr @lp_site call i32 (ptr, ptr, ...) @fprintf(ptr %t30, ptr @.fmt_bounds, ptr @.str3815, i32 %t24, i32 %t28) call void @exit(i32 1) unreachable ixok7: %t31 = getelementptr inbounds ptr, ptr %t26, i32 %t24 %t32 = load ptr, ptr %t31 %t33 = getelementptr inbounds %Cmp_Tok, ptr %t32, i32 0, i32 3 %t34 = load i32, ptr %t33 %t35 = getelementptr inbounds %LSlice, ptr %t22, i32 0, i32 1 %t36 = getelementptr inbounds %LSlice, ptr %t22, i32 0, i32 2 %t37 = getelementptr inbounds %LSlice, ptr %t22, 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 i32, 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 store i32 3162, ptr @lp_site %t49 = call ptr @lp_realloc(ptr %t48, i64 %t47) store i32 0, ptr @lp_site store ptr %t49, ptr %t37 store i32 %t43, ptr %t36 br label %put10 put10: %t50 = load ptr, ptr %t37 %t51 = getelementptr inbounds i32, ptr %t50, i32 %t38 store i32 %t34, ptr %t51 %t52 = add i32 %t38, 1 store i32 %t52, ptr %t35 %t53 = load ptr, ptr @g_g_cm_kat %t54 = load i32, ptr %t0 %t55 = getelementptr inbounds %LSlice, ptr %t53, i32 0, i32 0 %t56 = load ptr, ptr %t55 %t57 = getelementptr inbounds %LSlice, ptr %t53, i32 0, i32 1 %t58 = load i32, ptr %t57 %t59 = icmp ult i32 %t54, %t58 br i1 %t59, label %ixok11, label %ixbad12 ixbad12: store i32 3163, ptr @lp_site %t60 = call ptr @lp_win_stdio(i32 2) store i32 0, ptr @lp_site call i32 (ptr, ptr, ...) @fprintf(ptr %t60, ptr @.fmt_bounds, ptr @.str3816, i32 %t54, i32 %t58) call void @exit(i32 1) unreachable ixok11: %t61 = getelementptr inbounds ptr, ptr %t56, i32 %t54 %t62 = load ptr, ptr %t61 %t63 = load ptr, ptr @g_toks %t64 = load i32, ptr @g_pi %t65 = getelementptr inbounds %LSlice, ptr %t63, i32 0, i32 0 %t66 = load ptr, ptr %t65 %t67 = getelementptr inbounds %LSlice, ptr %t63, i32 0, i32 1 %t68 = load i32, ptr %t67 %t69 = icmp ult i32 %t64, %t68 br i1 %t69, label %ixok13, label %ixbad14 ixbad14: store i32 3164, ptr @lp_site %t70 = call ptr @lp_win_stdio(i32 2) store i32 0, ptr @lp_site call i32 (ptr, ptr, ...) @fprintf(ptr %t70, ptr @.fmt_bounds, ptr @.str3817, i32 %t64, i32 %t68) call void @exit(i32 1) unreachable ixok13: %t71 = getelementptr inbounds ptr, ptr %t66, i32 %t64 %t72 = load ptr, ptr %t71 %t73 = getelementptr inbounds %Cmp_Tok, ptr %t72, i32 0, i32 6 %t74 = load i32, ptr %t73 %t75 = getelementptr inbounds %LSlice, ptr %t62, i32 0, i32 1 %t76 = getelementptr inbounds %LSlice, ptr %t62, i32 0, i32 2 %t77 = getelementptr inbounds %LSlice, ptr %t62, i32 0, i32 0 %t78 = load i32, ptr %t75 %t79 = load i32, ptr %t76 %t80 = icmp sge i32 %t78, %t79 br i1 %t80, label %grow15, label %put16 grow15: %t81 = mul i32 %t79, 2 %t82 = icmp eq i32 %t79, 0 %t83 = select i1 %t82, i32 8, i32 %t81 %t84 = getelementptr i32, 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 store i32 3165, ptr @lp_site %t89 = call ptr @lp_realloc(ptr %t88, i64 %t87) store i32 0, ptr @lp_site store ptr %t89, ptr %t77 store i32 %t83, ptr %t76 br label %put16 put16: %t90 = load ptr, ptr %t77 %t91 = getelementptr inbounds i32, ptr %t90, i32 %t78 store i32 %t74, ptr %t91 %t92 = add i32 %t78, 1 store i32 %t92, ptr %t75 %t93 = load ptr, ptr @g_g_cm_kat %t94 = load i32, ptr %t0 %t95 = getelementptr inbounds %LSlice, ptr %t93, i32 0, i32 0 %t96 = load ptr, ptr %t95 %t97 = getelementptr inbounds %LSlice, ptr %t93, i32 0, i32 1 %t98 = load i32, ptr %t97 %t99 = icmp ult i32 %t94, %t98 br i1 %t99, label %ixok17, label %ixbad18 ixbad18: store i32 3166, ptr @lp_site %t100 = call ptr @lp_win_stdio(i32 2) store i32 0, ptr @lp_site call i32 (ptr, ptr, ...) @fprintf(ptr %t100, ptr @.fmt_bounds, ptr @.str3818, i32 %t94, i32 %t98) call void @exit(i32 1) unreachable ixok17: %t101 = getelementptr inbounds ptr, ptr %t96, i32 %t94 %t102 = load ptr, ptr %t101 %t103 = load ptr, ptr @g_toks %t104 = load i32, ptr @g_pi %t105 = getelementptr inbounds %LSlice, ptr %t103, i32 0, i32 0 %t106 = load ptr, ptr %t105 %t107 = getelementptr inbounds %LSlice, ptr %t103, i32 0, i32 1 %t108 = load i32, ptr %t107 %t109 = icmp ult i32 %t104, %t108 br i1 %t109, label %ixok19, label %ixbad20 ixbad20: store i32 3167, ptr @lp_site %t110 = call ptr @lp_win_stdio(i32 2) store i32 0, ptr @lp_site call i32 (ptr, ptr, ...) @fprintf(ptr %t110, ptr @.fmt_bounds, ptr @.str3819, i32 %t104, i32 %t108) call void @exit(i32 1) unreachable ixok19: %t111 = getelementptr inbounds ptr, ptr %t106, i32 %t104 %t112 = load ptr, ptr %t111 %t113 = getelementptr inbounds %Cmp_Tok, ptr %t112, i32 0, i32 4 %t114 = load i32, ptr %t113 %t115 = getelementptr inbounds %LSlice, ptr %t102, i32 0, i32 1 %t116 = getelementptr inbounds %LSlice, ptr %t102, i32 0, i32 2 %t117 = getelementptr inbounds %LSlice, ptr %t102, i32 0, i32 0 %t118 = load i32, ptr %t115 %t119 = load i32, ptr %t116 %t120 = icmp sge i32 %t118, %t119 br i1 %t120, label %grow21, label %put22 grow21: %t121 = mul i32 %t119, 2 %t122 = icmp eq i32 %t119, 0 %t123 = select i1 %t122, i32 8, i32 %t121 %t124 = getelementptr i32, 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 store i32 3168, ptr @lp_site %t129 = call ptr @lp_realloc(ptr %t128, i64 %t127) store i32 0, ptr @lp_site store ptr %t129, ptr %t117 store i32 %t123, ptr %t116 br label %put22 put22: %t130 = load ptr, ptr %t117 %t131 = getelementptr inbounds i32, ptr %t130, i32 %t118 store i32 %t114, ptr %t131 %t132 = add i32 %t118, 1 store i32 %t132, ptr %t115 %t133 = sub i32 0, 1 store i32 %t133, ptr %t134 %t135 = sub i32 0, 1 store i32 %t135, ptr %t136 %t137 = load i32, ptr @g_pi %t138 = add i32 %t137, 1 store i32 %t138, ptr @g_pi %t139 = call ptr @fn_eat_id() store ptr %t139, ptr %t140 call void @fn_eat_op(ptr @.str3820) %t141 = call ptr @fn_ptype() store ptr %t141, ptr %t142 %t143 = load ptr, ptr @g_g_cm_keep %t144 = load i32, ptr %t0 %t145 = getelementptr inbounds %LSlice, ptr %t143, i32 0, i32 0 %t146 = load ptr, ptr %t145 %t147 = getelementptr inbounds %LSlice, ptr %t143, i32 0, i32 1 %t148 = load i32, ptr %t147 %t149 = icmp ult i32 %t144, %t148 br i1 %t149, label %ixok23, label %ixbad24 ixbad24: store i32 3169, ptr @lp_site %t150 = call ptr @lp_win_stdio(i32 2) store i32 0, ptr @lp_site call i32 (ptr, ptr, ...) @fprintf(ptr %t150, ptr @.fmt_bounds, ptr @.str3821, i32 %t144, i32 %t148) call void @exit(i32 1) unreachable ixok23: %t151 = getelementptr inbounds ptr, ptr %t146, i32 %t144 %t152 = load ptr, ptr %t151 %t153 = load ptr, ptr %t140 %t154 = getelementptr inbounds %LSlice, ptr %t152, i32 0, i32 1 %t155 = getelementptr inbounds %LSlice, ptr %t152, i32 0, i32 2 %t156 = getelementptr inbounds %LSlice, ptr %t152, i32 0, i32 0 %t157 = load i32, ptr %t154 %t158 = load i32, ptr %t155 %t159 = icmp sge i32 %t157, %t158 br i1 %t159, label %grow25, label %put26 grow25: %t160 = mul i32 %t158, 2 %t161 = icmp eq i32 %t158, 0 %t162 = select i1 %t161, i32 8, i32 %t160 %t163 = getelementptr ptr, ptr null, i32 1 %t164 = ptrtoint ptr %t163 to i64 %t165 = zext i32 %t162 to i64 %t166 = mul i64 %t165, %t164 %t167 = load ptr, ptr %t156 store i32 3170, ptr @lp_site %t168 = call ptr @lp_realloc(ptr %t167, i64 %t166) store i32 0, ptr @lp_site store ptr %t168, ptr %t156 store i32 %t162, ptr %t155 br label %put26 put26: %t169 = load ptr, ptr %t156 %t170 = getelementptr inbounds ptr, ptr %t169, i32 %t157 store ptr %t153, ptr %t170 %t171 = add i32 %t157, 1 store i32 %t171, ptr %t154 %t172 = load ptr, ptr @g_g_cm_keep_ty %t173 = load i32, ptr %t0 %t174 = getelementptr inbounds %LSlice, ptr %t172, i32 0, i32 0 %t175 = load ptr, ptr %t174 %t176 = getelementptr inbounds %LSlice, ptr %t172, i32 0, i32 1 %t177 = load i32, ptr %t176 %t178 = icmp ult i32 %t173, %t177 br i1 %t178, label %ixok27, label %ixbad28 ixbad28: store i32 3171, ptr @lp_site %t179 = call ptr @lp_win_stdio(i32 2) store i32 0, ptr @lp_site call i32 (ptr, ptr, ...) @fprintf(ptr %t179, ptr @.fmt_bounds, ptr @.str3822, i32 %t173, i32 %t177) call void @exit(i32 1) unreachable ixok27: %t180 = getelementptr inbounds ptr, ptr %t175, i32 %t173 %t181 = load ptr, ptr %t180 %t182 = load ptr, ptr %t142 %t183 = getelementptr inbounds %LSlice, ptr %t181, i32 0, i32 1 %t184 = getelementptr inbounds %LSlice, ptr %t181, i32 0, i32 2 %t185 = getelementptr inbounds %LSlice, ptr %t181, i32 0, i32 0 %t186 = load i32, ptr %t183 %t187 = load i32, ptr %t184 %t188 = icmp sge i32 %t186, %t187 br i1 %t188, label %grow29, label %put30 grow29: %t189 = mul i32 %t187, 2 %t190 = icmp eq i32 %t187, 0 %t191 = select i1 %t190, i32 8, i32 %t189 %t192 = getelementptr ptr, ptr null, i32 1 %t193 = ptrtoint ptr %t192 to i64 %t194 = zext i32 %t191 to i64 %t195 = mul i64 %t194, %t193 %t196 = load ptr, ptr %t185 store i32 3172, ptr @lp_site %t197 = call ptr @lp_realloc(ptr %t196, i64 %t195) store i32 0, ptr @lp_site store ptr %t197, ptr %t185 store i32 %t191, ptr %t184 br label %put30 put30: %t198 = load ptr, ptr %t185 %t199 = getelementptr inbounds ptr, ptr %t198, i32 %t186 store ptr %t182, ptr %t199 %t200 = add i32 %t186, 1 store i32 %t200, ptr %t183 %t201 = load ptr, ptr @g_g_cm_prop %t202 = load i32, ptr %t0 %t203 = getelementptr inbounds %LSlice, ptr %t201, i32 0, i32 0 %t204 = load ptr, ptr %t203 %t205 = getelementptr inbounds %LSlice, ptr %t201, i32 0, i32 1 %t206 = load i32, ptr %t205 %t207 = icmp ult i32 %t202, %t206 br i1 %t207, label %ixok31, label %ixbad32 ixbad32: store i32 3173, ptr @lp_site %t208 = call ptr @lp_win_stdio(i32 2) store i32 0, ptr @lp_site call i32 (ptr, ptr, ...) @fprintf(ptr %t208, ptr @.fmt_bounds, ptr @.str3823, i32 %t202, i32 %t206) call void @exit(i32 1) unreachable ixok31: %t209 = getelementptr inbounds ptr, ptr %t204, i32 %t202 %t210 = load ptr, ptr %t209 %t211 = load i32, ptr %t12 %t212 = getelementptr inbounds %LSlice, ptr %t210, i32 0, i32 1 %t213 = getelementptr inbounds %LSlice, ptr %t210, i32 0, i32 2 %t214 = getelementptr inbounds %LSlice, ptr %t210, i32 0, i32 0 %t215 = load i32, ptr %t212 %t216 = load i32, ptr %t213 %t217 = icmp sge i32 %t215, %t216 br i1 %t217, label %grow33, label %put34 grow33: %t218 = mul i32 %t216, 2 %t219 = icmp eq i32 %t216, 0 %t220 = select i1 %t219, i32 8, i32 %t218 %t221 = getelementptr i32, ptr null, i32 1 %t222 = ptrtoint ptr %t221 to i64 %t223 = zext i32 %t220 to i64 %t224 = mul i64 %t223, %t222 %t225 = load ptr, ptr %t214 store i32 3174, ptr @lp_site %t226 = call ptr @lp_realloc(ptr %t225, i64 %t224) store i32 0, ptr @lp_site store ptr %t226, ptr %t214 store i32 %t220, ptr %t213 br label %put34 put34: %t227 = load ptr, ptr %t214 %t228 = getelementptr inbounds i32, ptr %t227, i32 %t215 store i32 %t211, ptr %t228 %t229 = add i32 %t215, 1 store i32 %t229, ptr %t212 store ptr null, ptr %t230 %t231 = call i32 @fn_is_op(ptr @.str3824) %t232 = icmp ne i32 %t231, 0 br i1 %t232, label %then35, label %ifend37 then35: %t233 = load i32, ptr @g_pi %t234 = add i32 %t233, 1 store i32 %t234, ptr @g_pi %t235 = load i32, ptr @g_pi store i32 %t235, ptr %t236 %t237 = load ptr, ptr %t1 store i32 3175, ptr @lp_site %t238 = call ptr @lp_str_concat(ptr %t237, ptr @.str3825) store i32 0, ptr @lp_site %t239 = load ptr, ptr %t140 store i32 3176, ptr @lp_site %t240 = call ptr @lp_str_concat(ptr %t238, ptr %t239) store i32 0, ptr @lp_site call void @lp_free(ptr %t238) %t241 = load ptr, ptr %t142 %t242 = call ptr @fn_expr() %t243 = call ptr @fn_cm_getter(ptr %t240, ptr %t241, ptr %t242) store ptr %t243, ptr %t230 %t244 = load ptr, ptr @g_toks %t245 = load i32, ptr %t236 %t246 = getelementptr inbounds %LSlice, ptr %t244, i32 0, i32 0 %t247 = load ptr, ptr %t246 %t248 = getelementptr inbounds %LSlice, ptr %t244, i32 0, i32 1 %t249 = load i32, ptr %t248 %t250 = icmp ult i32 %t245, %t249 br i1 %t250, label %ixok38, label %ixbad39 ixbad39: store i32 3177, ptr @lp_site %t251 = call ptr @lp_win_stdio(i32 2) store i32 0, ptr @lp_site call i32 (ptr, ptr, ...) @fprintf(ptr %t251, ptr @.fmt_bounds, ptr @.str3826, i32 %t245, i32 %t249) call void @exit(i32 1) unreachable ixok38: %t252 = getelementptr inbounds ptr, ptr %t247, i32 %t245 %t253 = load ptr, ptr %t252 %t254 = getelementptr inbounds %Cmp_Tok, ptr %t253, i32 0, i32 7 %t255 = load i32, ptr %t254 store i32 %t255, ptr %t134 %t256 = load ptr, ptr @g_toks %t257 = load i32, ptr @g_pi %t258 = sub i32 %t257, 1 %t259 = getelementptr inbounds %LSlice, ptr %t256, i32 0, i32 0 %t260 = load ptr, ptr %t259 %t261 = getelementptr inbounds %LSlice, ptr %t256, i32 0, i32 1 %t262 = load i32, ptr %t261 %t263 = icmp ult i32 %t258, %t262 br i1 %t263, label %ixok40, label %ixbad41 ixbad41: store i32 3178, ptr @lp_site %t264 = call ptr @lp_win_stdio(i32 2) store i32 0, ptr @lp_site call i32 (ptr, ptr, ...) @fprintf(ptr %t264, ptr @.fmt_bounds, ptr @.str3827, i32 %t258, i32 %t262) call void @exit(i32 1) unreachable ixok40: %t265 = getelementptr inbounds ptr, ptr %t260, i32 %t258 %t266 = load ptr, ptr %t265 %t267 = getelementptr inbounds %Cmp_Tok, ptr %t266, i32 0, i32 8 %t268 = load i32, ptr %t267 store i32 %t268, ptr %t136 br label %ifend37 ifend37: %t269 = load ptr, ptr @g_g_cm_kat %t270 = load i32, ptr %t0 %t271 = getelementptr inbounds %LSlice, ptr %t269, i32 0, i32 0 %t272 = load ptr, ptr %t271 %t273 = getelementptr inbounds %LSlice, ptr %t269, i32 0, i32 1 %t274 = load i32, ptr %t273 %t275 = icmp ult i32 %t270, %t274 br i1 %t275, label %ixok42, label %ixbad43 ixbad43: store i32 3179, ptr @lp_site %t276 = call ptr @lp_win_stdio(i32 2) store i32 0, ptr @lp_site call i32 (ptr, ptr, ...) @fprintf(ptr %t276, ptr @.fmt_bounds, ptr @.str3828, i32 %t270, i32 %t274) call void @exit(i32 1) unreachable ixok42: %t277 = getelementptr inbounds ptr, ptr %t272, i32 %t270 %t278 = load ptr, ptr %t277 %t279 = load i32, ptr %t134 %t280 = getelementptr inbounds %LSlice, ptr %t278, i32 0, i32 1 %t281 = getelementptr inbounds %LSlice, ptr %t278, i32 0, i32 2 %t282 = getelementptr inbounds %LSlice, ptr %t278, i32 0, i32 0 %t283 = load i32, ptr %t280 %t284 = load i32, ptr %t281 %t285 = icmp sge i32 %t283, %t284 br i1 %t285, label %grow44, label %put45 grow44: %t286 = mul i32 %t284, 2 %t287 = icmp eq i32 %t284, 0 %t288 = select i1 %t287, i32 8, i32 %t286 %t289 = getelementptr i32, ptr null, i32 1 %t290 = ptrtoint ptr %t289 to i64 %t291 = zext i32 %t288 to i64 %t292 = mul i64 %t291, %t290 %t293 = load ptr, ptr %t282 store i32 3180, ptr @lp_site %t294 = call ptr @lp_realloc(ptr %t293, i64 %t292) store i32 0, ptr @lp_site store ptr %t294, ptr %t282 store i32 %t288, ptr %t281 br label %put45 put45: %t295 = load ptr, ptr %t282 %t296 = getelementptr inbounds i32, ptr %t295, i32 %t283 store i32 %t279, ptr %t296 %t297 = add i32 %t283, 1 store i32 %t297, ptr %t280 %t298 = load ptr, ptr @g_g_cm_kat %t299 = load i32, ptr %t0 %t300 = getelementptr inbounds %LSlice, ptr %t298, i32 0, i32 0 %t301 = load ptr, ptr %t300 %t302 = getelementptr inbounds %LSlice, ptr %t298, i32 0, i32 1 %t303 = load i32, ptr %t302 %t304 = icmp ult i32 %t299, %t303 br i1 %t304, label %ixok46, label %ixbad47 ixbad47: store i32 3181, ptr @lp_site %t305 = call ptr @lp_win_stdio(i32 2) store i32 0, ptr @lp_site call i32 (ptr, ptr, ...) @fprintf(ptr %t305, ptr @.fmt_bounds, ptr @.str3829, i32 %t299, i32 %t303) call void @exit(i32 1) unreachable ixok46: %t306 = getelementptr inbounds ptr, ptr %t301, i32 %t299 %t307 = load ptr, ptr %t306 %t308 = load i32, ptr %t136 %t309 = getelementptr inbounds %LSlice, ptr %t307, i32 0, i32 1 %t310 = getelementptr inbounds %LSlice, ptr %t307, i32 0, i32 2 %t311 = getelementptr inbounds %LSlice, ptr %t307, i32 0, i32 0 %t312 = load i32, ptr %t309 %t313 = load i32, ptr %t310 %t314 = icmp sge i32 %t312, %t313 br i1 %t314, label %grow48, label %put49 grow48: %t315 = mul i32 %t313, 2 %t316 = icmp eq i32 %t313, 0 %t317 = select i1 %t316, i32 8, i32 %t315 %t318 = getelementptr i32, ptr null, i32 1 %t319 = ptrtoint ptr %t318 to i64 %t320 = zext i32 %t317 to i64 %t321 = mul i64 %t320, %t319 %t322 = load ptr, ptr %t311 store i32 3182, ptr @lp_site %t323 = call ptr @lp_realloc(ptr %t322, i64 %t321) store i32 0, ptr @lp_site store ptr %t323, ptr %t311 store i32 %t317, ptr %t310 br label %put49 put49: %t324 = load ptr, ptr %t311 %t325 = getelementptr inbounds i32, ptr %t324, i32 %t312 store i32 %t308, ptr %t325 %t326 = add i32 %t312, 1 store i32 %t326, ptr %t309 %t327 = load ptr, ptr %t230 %t328 = icmp ne ptr %t327, null %t329 = zext i1 %t328 to i32 %t330 = icmp ne i32 %t329, 0 br i1 %t330, label %then50, label %ifend52 then50: %t331 = load ptr, ptr %t230 %t332 = getelementptr inbounds %Cmp_Node, ptr %t331, i32 0, i32 17 %t333 = load i32, ptr %t0 store i32 %t333, ptr %t332 br label %ifend52 ifend52: %t334 = load ptr, ptr @g_g_cm_defs %t335 = load i32, ptr %t0 %t336 = getelementptr inbounds %LSlice, ptr %t334, i32 0, i32 0 %t337 = load ptr, ptr %t336 %t338 = getelementptr inbounds %LSlice, ptr %t334, i32 0, i32 1 %t339 = load i32, ptr %t338 %t340 = icmp ult i32 %t335, %t339 br i1 %t340, label %ixok53, label %ixbad54 ixbad54: store i32 3183, ptr @lp_site %t341 = call ptr @lp_win_stdio(i32 2) store i32 0, ptr @lp_site call i32 (ptr, ptr, ...) @fprintf(ptr %t341, ptr @.fmt_bounds, ptr @.str3830, i32 %t335, i32 %t339) call void @exit(i32 1) unreachable ixok53: %t342 = getelementptr inbounds ptr, ptr %t337, i32 %t335 %t343 = load ptr, ptr %t342 %t344 = load ptr, ptr %t230 %t345 = getelementptr inbounds %LSlice, ptr %t343, i32 0, i32 1 %t346 = getelementptr inbounds %LSlice, ptr %t343, i32 0, i32 2 %t347 = getelementptr inbounds %LSlice, ptr %t343, i32 0, i32 0 %t348 = load i32, ptr %t345 %t349 = load i32, ptr %t346 %t350 = icmp sge i32 %t348, %t349 br i1 %t350, label %grow55, label %put56 grow55: %t351 = mul i32 %t349, 2 %t352 = icmp eq i32 %t349, 0 %t353 = select i1 %t352, i32 8, i32 %t351 %t354 = getelementptr ptr, ptr null, i32 1 %t355 = ptrtoint ptr %t354 to i64 %t356 = zext i32 %t353 to i64 %t357 = mul i64 %t356, %t355 %t358 = load ptr, ptr %t347 store i32 3184, ptr @lp_site %t359 = call ptr @lp_realloc(ptr %t358, i64 %t357) store i32 0, ptr @lp_site store ptr %t359, ptr %t347 store i32 %t353, ptr %t346 br label %put56 put56: %t360 = load ptr, ptr %t347 %t361 = getelementptr inbounds ptr, ptr %t360, i32 %t348 store ptr %t344, ptr %t361 %t362 = add i32 %t348, 1 store i32 %t362, ptr %t345 br label %ret ifend4: %t364 = call i32 @fn_is_id(ptr @.str3831) %t365 = icmp ne i32 %t364, 0 %t366 = zext i1 %t365 to i32 store i32 %t366, ptr %t363 br i1 %t365, label %scend58, label %sc57 sc57: %t367 = call i32 @fn_is_id(ptr @.str3832) %t368 = icmp ne i32 %t367, 0 %t369 = zext i1 %t368 to i32 store i32 %t369, ptr %t363 br label %scend58 scend58: %t370 = load i32, ptr %t363 %t371 = icmp ne i32 %t370, 0 br i1 %t371, label %then59, label %ifend61 then59: %t372 = call i32 @fn_is_id(ptr @.str3833) store i32 %t372, ptr %t373 %t374 = load i32, ptr %t373 %t375 = icmp ne i32 %t374, 0 br i1 %t375, label %then62, label %ifend64 then62: %t376 = load ptr, ptr @g_toks %t377 = load i32, ptr @g_pi %t378 = getelementptr inbounds %LSlice, ptr %t376, i32 0, i32 0 %t379 = load ptr, ptr %t378 %t380 = getelementptr inbounds %LSlice, ptr %t376, i32 0, i32 1 %t381 = load i32, ptr %t380 %t382 = icmp ult i32 %t377, %t381 br i1 %t382, label %ixok65, label %ixbad66 ixbad66: store i32 3185, ptr @lp_site %t383 = call ptr @lp_win_stdio(i32 2) store i32 0, ptr @lp_site call i32 (ptr, ptr, ...) @fprintf(ptr %t383, ptr @.fmt_bounds, ptr @.str3834, i32 %t377, i32 %t381) call void @exit(i32 1) unreachable ixok65: %t384 = getelementptr inbounds ptr, ptr %t379, i32 %t377 %t385 = load ptr, ptr %t384 %t386 = getelementptr inbounds %Cmp_Tok, ptr %t385, i32 0, i32 1 store ptr @.str3835, ptr %t386 br label %ifend64 ifend64: %t387 = call ptr @fn_parse_fn() store ptr %t387, ptr %t388 %t389 = load ptr, ptr %t388 %t390 = getelementptr inbounds %Cmp_Node, ptr %t389, i32 0, i32 17 %t391 = load i32, ptr %t0 store i32 %t391, ptr %t390 %t392 = load ptr, ptr @g_g_cm_cnames %t393 = load i32, ptr %t0 %t394 = getelementptr inbounds %LSlice, ptr %t392, i32 0, i32 0 %t395 = load ptr, ptr %t394 %t396 = getelementptr inbounds %LSlice, ptr %t392, i32 0, i32 1 %t397 = load i32, ptr %t396 %t398 = icmp ult i32 %t393, %t397 br i1 %t398, label %ixok67, label %ixbad68 ixbad68: store i32 3186, ptr @lp_site %t399 = call ptr @lp_win_stdio(i32 2) store i32 0, ptr @lp_site call i32 (ptr, ptr, ...) @fprintf(ptr %t399, ptr @.fmt_bounds, ptr @.str3836, i32 %t393, i32 %t397) call void @exit(i32 1) unreachable ixok67: %t400 = getelementptr inbounds ptr, ptr %t395, i32 %t393 %t401 = load ptr, ptr %t400 %t402 = load ptr, ptr %t388 %t403 = getelementptr inbounds %Cmp_Node, ptr %t402, i32 0, i32 1 %t404 = load ptr, ptr %t403 %t405 = getelementptr inbounds %LSlice, ptr %t401, i32 0, i32 1 %t406 = getelementptr inbounds %LSlice, ptr %t401, i32 0, i32 2 %t407 = getelementptr inbounds %LSlice, ptr %t401, i32 0, i32 0 %t408 = load i32, ptr %t405 %t409 = load i32, ptr %t406 %t410 = icmp sge i32 %t408, %t409 br i1 %t410, label %grow69, label %put70 grow69: %t411 = mul i32 %t409, 2 %t412 = icmp eq i32 %t409, 0 %t413 = select i1 %t412, i32 8, i32 %t411 %t414 = getelementptr ptr, ptr null, i32 1 %t415 = ptrtoint ptr %t414 to i64 %t416 = zext i32 %t413 to i64 %t417 = mul i64 %t416, %t415 %t418 = load ptr, ptr %t407 store i32 3187, ptr @lp_site %t419 = call ptr @lp_realloc(ptr %t418, i64 %t417) store i32 0, ptr @lp_site store ptr %t419, ptr %t407 store i32 %t413, ptr %t406 br label %put70 put70: %t420 = load ptr, ptr %t407 %t421 = getelementptr inbounds ptr, ptr %t420, i32 %t408 store ptr %t404, ptr %t421 %t422 = add i32 %t408, 1 store i32 %t422, ptr %t405 %t423 = load ptr, ptr @g_g_cm_isev %t424 = load i32, ptr %t0 %t425 = getelementptr inbounds %LSlice, ptr %t423, i32 0, i32 0 %t426 = load ptr, ptr %t425 %t427 = getelementptr inbounds %LSlice, ptr %t423, i32 0, i32 1 %t428 = load i32, ptr %t427 %t429 = icmp ult i32 %t424, %t428 br i1 %t429, label %ixok71, label %ixbad72 ixbad72: store i32 3188, ptr @lp_site %t430 = call ptr @lp_win_stdio(i32 2) store i32 0, ptr @lp_site call i32 (ptr, ptr, ...) @fprintf(ptr %t430, ptr @.fmt_bounds, ptr @.str3837, i32 %t424, i32 %t428) call void @exit(i32 1) unreachable ixok71: %t431 = getelementptr inbounds ptr, ptr %t426, i32 %t424 %t432 = load ptr, ptr %t431 %t433 = load i32, ptr %t373 %t434 = getelementptr inbounds %LSlice, ptr %t432, i32 0, i32 1 %t435 = getelementptr inbounds %LSlice, ptr %t432, i32 0, i32 2 %t436 = getelementptr inbounds %LSlice, ptr %t432, i32 0, i32 0 %t437 = load i32, ptr %t434 %t438 = load i32, ptr %t435 %t439 = icmp sge i32 %t437, %t438 br i1 %t439, label %grow73, label %put74 grow73: %t440 = mul i32 %t438, 2 %t441 = icmp eq i32 %t438, 0 %t442 = select i1 %t441, i32 8, i32 %t440 %t443 = getelementptr i32, ptr null, i32 1 %t444 = ptrtoint ptr %t443 to i64 %t445 = zext i32 %t442 to i64 %t446 = mul i64 %t445, %t444 %t447 = load ptr, ptr %t436 store i32 3189, ptr @lp_site %t448 = call ptr @lp_realloc(ptr %t447, i64 %t446) store i32 0, ptr @lp_site store ptr %t448, ptr %t436 store i32 %t442, ptr %t435 br label %put74 put74: %t449 = load ptr, ptr %t436 %t450 = getelementptr inbounds i32, ptr %t449, i32 %t437 store i32 %t433, ptr %t450 %t451 = add i32 %t437, 1 store i32 %t451, ptr %t434 %t452 = load i32, ptr %t373 %t453 = icmp ne i32 %t452, 0 br i1 %t453, label %then75, label %else76 then75: %t454 = load ptr, ptr %t388 %t455 = getelementptr inbounds %Cmp_Node, ptr %t454, i32 0, i32 1 %t456 = load ptr, ptr %t1 store i32 3190, ptr @lp_site %t457 = call ptr @lp_str_concat(ptr %t456, ptr @.str3838) store i32 0, ptr @lp_site %t458 = load ptr, ptr %t388 %t459 = getelementptr inbounds %Cmp_Node, ptr %t458, i32 0, i32 1 %t460 = load ptr, ptr %t459 store i32 3191, ptr @lp_site %t461 = call ptr @lp_str_concat(ptr %t457, ptr %t460) store i32 0, ptr @lp_site call void @lp_free(ptr %t457) store ptr %t461, ptr %t455 br label %ifend77 else76: %t462 = load ptr, ptr %t388 %t463 = getelementptr inbounds %Cmp_Node, ptr %t462, i32 0, i32 1 %t464 = load ptr, ptr %t1 %t465 = load ptr, ptr %t388 %t466 = getelementptr inbounds %Cmp_Node, ptr %t465, i32 0, i32 1 %t467 = load ptr, ptr %t466 store i32 3192, ptr @lp_site %t468 = call ptr @lp_str_concat(ptr %t464, ptr %t467) store i32 0, ptr @lp_site store ptr %t468, ptr %t463 br label %ifend77 ifend77: %t469 = load ptr, ptr @g_g_cm_calls %t470 = load i32, ptr %t0 %t471 = getelementptr inbounds %LSlice, ptr %t469, i32 0, i32 0 %t472 = load ptr, ptr %t471 %t473 = getelementptr inbounds %LSlice, ptr %t469, i32 0, i32 1 %t474 = load i32, ptr %t473 %t475 = icmp ult i32 %t470, %t474 br i1 %t475, label %ixok78, label %ixbad79 ixbad79: store i32 3193, ptr @lp_site %t476 = call ptr @lp_win_stdio(i32 2) store i32 0, ptr @lp_site call i32 (ptr, ptr, ...) @fprintf(ptr %t476, ptr @.fmt_bounds, ptr @.str3839, i32 %t470, i32 %t474) call void @exit(i32 1) unreachable ixok78: %t477 = getelementptr inbounds ptr, ptr %t472, i32 %t470 %t478 = load ptr, ptr %t477 %t479 = load ptr, ptr %t388 %t480 = getelementptr inbounds %LSlice, ptr %t478, i32 0, i32 1 %t481 = getelementptr inbounds %LSlice, ptr %t478, i32 0, i32 2 %t482 = getelementptr inbounds %LSlice, ptr %t478, i32 0, i32 0 %t483 = load i32, ptr %t480 %t484 = load i32, ptr %t481 %t485 = icmp sge i32 %t483, %t484 br i1 %t485, label %grow80, label %put81 grow80: %t486 = mul i32 %t484, 2 %t487 = icmp eq i32 %t484, 0 %t488 = select i1 %t487, i32 8, i32 %t486 %t489 = getelementptr ptr, ptr null, i32 1 %t490 = ptrtoint ptr %t489 to i64 %t491 = zext i32 %t488 to i64 %t492 = mul i64 %t491, %t490 %t493 = load ptr, ptr %t482 store i32 3194, ptr @lp_site %t494 = call ptr @lp_realloc(ptr %t493, i64 %t492) store i32 0, ptr @lp_site store ptr %t494, ptr %t482 store i32 %t488, ptr %t481 br label %put81 put81: %t495 = load ptr, ptr %t482 %t496 = getelementptr inbounds ptr, ptr %t495, i32 %t483 store ptr %t479, ptr %t496 %t497 = add i32 %t483, 1 store i32 %t497, ptr %t480 %t498 = load ptr, ptr @g_prog %t499 = load ptr, ptr %t388 %t500 = getelementptr inbounds %LSlice, ptr %t498, i32 0, i32 1 %t501 = getelementptr inbounds %LSlice, ptr %t498, i32 0, i32 2 %t502 = getelementptr inbounds %LSlice, ptr %t498, i32 0, i32 0 %t503 = load i32, ptr %t500 %t504 = load i32, ptr %t501 %t505 = icmp sge i32 %t503, %t504 br i1 %t505, label %grow82, label %put83 grow82: %t506 = mul i32 %t504, 2 %t507 = icmp eq i32 %t504, 0 %t508 = select i1 %t507, i32 8, i32 %t506 %t509 = getelementptr ptr, ptr null, i32 1 %t510 = ptrtoint ptr %t509 to i64 %t511 = zext i32 %t508 to i64 %t512 = mul i64 %t511, %t510 %t513 = load ptr, ptr %t502 store i32 3195, ptr @lp_site %t514 = call ptr @lp_realloc(ptr %t513, i64 %t512) store i32 0, ptr @lp_site store ptr %t514, ptr %t502 store i32 %t508, ptr %t501 br label %put83 put83: %t515 = load ptr, ptr %t502 %t516 = getelementptr inbounds ptr, ptr %t515, i32 %t503 store ptr %t499, ptr %t516 %t517 = add i32 %t503, 1 store i32 %t517, ptr %t500 br label %ret ifend61: %t518 = load ptr, ptr @g_g_cm_fline %t519 = load i32, ptr %t0 %t520 = getelementptr inbounds %LSlice, ptr %t518, i32 0, i32 0 %t521 = load ptr, ptr %t520 %t522 = getelementptr inbounds %LSlice, ptr %t518, i32 0, i32 1 %t523 = load i32, ptr %t522 %t524 = icmp ult i32 %t519, %t523 br i1 %t524, label %ixok84, label %ixbad85 ixbad85: store i32 3196, ptr @lp_site %t525 = call ptr @lp_win_stdio(i32 2) store i32 0, ptr @lp_site call i32 (ptr, ptr, ...) @fprintf(ptr %t525, ptr @.fmt_bounds, ptr @.str3840, i32 %t519, i32 %t523) call void @exit(i32 1) unreachable ixok84: %t526 = getelementptr inbounds ptr, ptr %t521, i32 %t519 %t527 = load ptr, ptr %t526 %t528 = load ptr, ptr @g_toks %t529 = load i32, ptr @g_pi %t530 = getelementptr inbounds %LSlice, ptr %t528, i32 0, i32 0 %t531 = load ptr, ptr %t530 %t532 = getelementptr inbounds %LSlice, ptr %t528, i32 0, i32 1 %t533 = load i32, ptr %t532 %t534 = icmp ult i32 %t529, %t533 br i1 %t534, label %ixok86, label %ixbad87 ixbad87: store i32 3197, ptr @lp_site %t535 = call ptr @lp_win_stdio(i32 2) store i32 0, ptr @lp_site call i32 (ptr, ptr, ...) @fprintf(ptr %t535, ptr @.fmt_bounds, ptr @.str3841, i32 %t529, i32 %t533) call void @exit(i32 1) unreachable ixok86: %t536 = getelementptr inbounds ptr, ptr %t531, i32 %t529 %t537 = load ptr, ptr %t536 %t538 = getelementptr inbounds %Cmp_Tok, ptr %t537, i32 0, i32 3 %t539 = load i32, ptr %t538 %t540 = getelementptr inbounds %LSlice, ptr %t527, i32 0, i32 1 %t541 = getelementptr inbounds %LSlice, ptr %t527, i32 0, i32 2 %t542 = getelementptr inbounds %LSlice, ptr %t527, i32 0, i32 0 %t543 = load i32, ptr %t540 %t544 = load i32, ptr %t541 %t545 = icmp sge i32 %t543, %t544 br i1 %t545, label %grow88, label %put89 grow88: %t546 = mul i32 %t544, 2 %t547 = icmp eq i32 %t544, 0 %t548 = select i1 %t547, i32 8, i32 %t546 %t549 = getelementptr i32, ptr null, i32 1 %t550 = ptrtoint ptr %t549 to i64 %t551 = zext i32 %t548 to i64 %t552 = mul i64 %t551, %t550 %t553 = load ptr, ptr %t542 store i32 3198, ptr @lp_site %t554 = call ptr @lp_realloc(ptr %t553, i64 %t552) store i32 0, ptr @lp_site store ptr %t554, ptr %t542 store i32 %t548, ptr %t541 br label %put89 put89: %t555 = load ptr, ptr %t542 %t556 = getelementptr inbounds i32, ptr %t555, i32 %t543 store i32 %t539, ptr %t556 %t557 = add i32 %t543, 1 store i32 %t557, ptr %t540 %t558 = call ptr @fn_eat_id() store ptr %t558, ptr %t559 store ptr null, ptr %t560 %t561 = call i32 @fn_is_op(ptr @.str3842) %t562 = icmp ne i32 %t561, 0 br i1 %t562, label %then90, label %ifend92 then90: %t563 = load i32, ptr @g_pi %t564 = add i32 %t563, 1 store i32 %t564, ptr @g_pi %t565 = call ptr @fn_ptype() store ptr %t565, ptr %t560 br label %ifend92 ifend92: %t566 = call i32 @fn_is_op(ptr @.str3843) %t567 = icmp eq i32 %t566, 0 %t568 = zext i1 %t567 to i32 %t569 = icmp ne i32 %t568, 0 br i1 %t569, label %then93, label %ifend95 then93: %t570 = load ptr, ptr %t559 store i32 3199, ptr @lp_site %t571 = call ptr @lp_str_concat(ptr @.str3844, ptr %t570) store i32 0, ptr @lp_site store i32 3200, ptr @lp_site %t572 = call ptr @lp_str_concat(ptr %t571, ptr @.str3845) store i32 0, ptr @lp_site call void @lp_free(ptr %t571) %t573 = load ptr, ptr %t559 store i32 3201, ptr @lp_site %t574 = call ptr @lp_str_concat(ptr %t572, ptr %t573) store i32 0, ptr @lp_site call void @lp_free(ptr %t572) store i32 3202, ptr @lp_site %t575 = call ptr @lp_str_concat(ptr %t574, ptr @.str3846) store i32 0, ptr @lp_site call void @lp_free(ptr %t574) call void @fn_perr(ptr %t575) br label %ifend95 ifend95: %t576 = load i32, ptr @g_pi %t577 = add i32 %t576, 1 store i32 %t577, ptr @g_pi %t578 = load ptr, ptr @g_g_cm_fnames %t579 = load i32, ptr %t0 %t580 = getelementptr inbounds %LSlice, ptr %t578, i32 0, i32 0 %t581 = load ptr, ptr %t580 %t582 = getelementptr inbounds %LSlice, ptr %t578, i32 0, i32 1 %t583 = load i32, ptr %t582 %t584 = icmp ult i32 %t579, %t583 br i1 %t584, label %ixok96, label %ixbad97 ixbad97: store i32 3203, ptr @lp_site %t585 = call ptr @lp_win_stdio(i32 2) store i32 0, ptr @lp_site call i32 (ptr, ptr, ...) @fprintf(ptr %t585, ptr @.fmt_bounds, ptr @.str3847, i32 %t579, i32 %t583) call void @exit(i32 1) unreachable ixok96: %t586 = getelementptr inbounds ptr, ptr %t581, i32 %t579 %t587 = load ptr, ptr %t586 %t588 = load ptr, ptr %t559 %t589 = getelementptr inbounds %LSlice, ptr %t587, i32 0, i32 1 %t590 = getelementptr inbounds %LSlice, ptr %t587, i32 0, i32 2 %t591 = getelementptr inbounds %LSlice, ptr %t587, i32 0, i32 0 %t592 = load i32, ptr %t589 %t593 = load i32, ptr %t590 %t594 = icmp sge i32 %t592, %t593 br i1 %t594, label %grow98, label %put99 grow98: %t595 = mul i32 %t593, 2 %t596 = icmp eq i32 %t593, 0 %t597 = select i1 %t596, i32 8, i32 %t595 %t598 = getelementptr ptr, ptr null, i32 1 %t599 = ptrtoint ptr %t598 to i64 %t600 = zext i32 %t597 to i64 %t601 = mul i64 %t600, %t599 %t602 = load ptr, ptr %t591 store i32 3204, ptr @lp_site %t603 = call ptr @lp_realloc(ptr %t602, i64 %t601) store i32 0, ptr @lp_site store ptr %t603, ptr %t591 store i32 %t597, ptr %t590 br label %put99 put99: %t604 = load ptr, ptr %t591 %t605 = getelementptr inbounds ptr, ptr %t604, i32 %t592 store ptr %t588, ptr %t605 %t606 = add i32 %t592, 1 store i32 %t606, ptr %t589 %t607 = load ptr, ptr %t1 store i32 3205, ptr @lp_site %t608 = call ptr @lp_str_concat(ptr %t607, ptr @.str3848) store i32 0, ptr @lp_site %t609 = load ptr, ptr %t559 store i32 3206, ptr @lp_site %t610 = call ptr @lp_str_concat(ptr %t608, ptr %t609) store i32 0, ptr @lp_site call void @lp_free(ptr %t608) %t611 = load ptr, ptr %t560 %t612 = call ptr @fn_expr() %t613 = call ptr @fn_cm_getter(ptr %t610, ptr %t611, ptr %t612) store ptr %t613, ptr %t614 %t615 = load ptr, ptr %t614 %t616 = getelementptr inbounds %Cmp_Node, ptr %t615, i32 0, i32 17 %t617 = load i32, ptr %t0 store i32 %t617, ptr %t616 %t618 = load ptr, ptr @g_g_cm_fields %t619 = load i32, ptr %t0 %t620 = getelementptr inbounds %LSlice, ptr %t618, i32 0, i32 0 %t621 = load ptr, ptr %t620 %t622 = getelementptr inbounds %LSlice, ptr %t618, i32 0, i32 1 %t623 = load i32, ptr %t622 %t624 = icmp ult i32 %t619, %t623 br i1 %t624, label %ixok100, label %ixbad101 ixbad101: store i32 3207, ptr @lp_site %t625 = call ptr @lp_win_stdio(i32 2) store i32 0, ptr @lp_site call i32 (ptr, ptr, ...) @fprintf(ptr %t625, ptr @.fmt_bounds, ptr @.str3849, i32 %t619, i32 %t623) call void @exit(i32 1) unreachable ixok100: %t626 = getelementptr inbounds ptr, ptr %t621, i32 %t619 %t627 = load ptr, ptr %t626 %t628 = load ptr, ptr %t614 %t629 = getelementptr inbounds %LSlice, ptr %t627, i32 0, i32 1 %t630 = getelementptr inbounds %LSlice, ptr %t627, i32 0, i32 2 %t631 = getelementptr inbounds %LSlice, ptr %t627, i32 0, i32 0 %t632 = load i32, ptr %t629 %t633 = load i32, ptr %t630 %t634 = icmp sge i32 %t632, %t633 br i1 %t634, label %grow102, label %put103 grow102: %t635 = mul i32 %t633, 2 %t636 = icmp eq i32 %t633, 0 %t637 = select i1 %t636, i32 8, i32 %t635 %t638 = getelementptr ptr, ptr null, i32 1 %t639 = ptrtoint ptr %t638 to i64 %t640 = zext i32 %t637 to i64 %t641 = mul i64 %t640, %t639 %t642 = load ptr, ptr %t631 store i32 3208, ptr @lp_site %t643 = call ptr @lp_realloc(ptr %t642, i64 %t641) store i32 0, ptr @lp_site store ptr %t643, ptr %t631 store i32 %t637, ptr %t630 br label %put103 put103: %t644 = load ptr, ptr %t631 %t645 = getelementptr inbounds ptr, ptr %t644, i32 %t632 store ptr %t628, ptr %t645 %t646 = add i32 %t632, 1 store i32 %t646, ptr %t629 br label %ret ret: ret void } define ptr @fn_cm_getter(ptr %arg_name, ptr %arg_ty, ptr %arg_e) { entry: %retval = alloca ptr %t0 = alloca ptr %t1 = alloca ptr %t2 = alloca ptr %t4 = alloca ptr %t12 = alloca ptr %t17 = alloca ptr store ptr %arg_name, ptr %t0 store ptr %arg_ty, ptr %t1 store ptr %arg_e, ptr %t2 %t3 = call ptr @fn_node(i32 4) 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 3 %t10 = load ptr, ptr %t1 store ptr %t10, ptr %t9 %t11 = call ptr @fn_node(i32 15) store ptr %t11, ptr %t12 %t13 = load ptr, ptr %t12 %t14 = getelementptr inbounds %Cmp_Node, ptr %t13, i32 0, i32 4 %t15 = load ptr, ptr %t2 store ptr %t15, ptr %t14 %t16 = call ptr @fn_node(i32 7) store ptr %t16, ptr %t17 %t18 = load ptr, ptr %t17 %t19 = getelementptr inbounds %Cmp_Node, ptr %t18, i32 0, i32 7 %t20 = load ptr, ptr %t19 %t21 = load ptr, ptr %t12 %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 %grow0, label %put1 grow0: %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 store i32 3209, ptr @lp_site %t36 = call ptr @lp_realloc(ptr %t35, i64 %t34) store i32 0, ptr @lp_site store ptr %t36, ptr %t24 store i32 %t30, ptr %t23 br label %put1 put1: %t37 = load ptr, ptr %t24 %t38 = getelementptr inbounds ptr, ptr %t37, i32 %t25 store ptr %t21, ptr %t38 %t39 = add i32 %t25, 1 store i32 %t39, ptr %t22 %t40 = load ptr, ptr %t4 %t41 = getelementptr inbounds %Cmp_Node, ptr %t40, i32 0, i32 4 %t42 = load ptr, ptr %t17 store ptr %t42, ptr %t41 %t43 = load ptr, ptr @g_prog %t44 = load ptr, ptr %t4 %t45 = getelementptr inbounds %LSlice, ptr %t43, i32 0, i32 1 %t46 = getelementptr inbounds %LSlice, ptr %t43, i32 0, i32 2 %t47 = getelementptr inbounds %LSlice, ptr %t43, i32 0, i32 0 %t48 = load i32, ptr %t45 %t49 = load i32, ptr %t46 %t50 = icmp sge i32 %t48, %t49 br i1 %t50, label %grow2, label %put3 grow2: %t51 = mul i32 %t49, 2 %t52 = icmp eq i32 %t49, 0 %t53 = select i1 %t52, i32 8, i32 %t51 %t54 = getelementptr ptr, ptr null, i32 1 %t55 = ptrtoint ptr %t54 to i64 %t56 = zext i32 %t53 to i64 %t57 = mul i64 %t56, %t55 %t58 = load ptr, ptr %t47 store i32 3210, ptr @lp_site %t59 = call ptr @lp_realloc(ptr %t58, i64 %t57) store i32 0, ptr @lp_site store ptr %t59, ptr %t47 store i32 %t53, ptr %t46 br label %put3 put3: %t60 = load ptr, ptr %t47 %t61 = getelementptr inbounds ptr, ptr %t60, i32 %t48 store ptr %t44, ptr %t61 %t62 = add i32 %t48, 1 store i32 %t62, ptr %t45 %t63 = load ptr, ptr %t4 store ptr %t63, ptr %retval br label %ret ret: %t64 = load ptr, ptr %retval ret ptr %t64 } define void @fn_cm_rewrite(i32 %arg_c, ptr %arg_f, ptr %arg_self_ty) { entry: %t0 = alloca i32 %t1 = alloca ptr %t2 = alloca ptr %t3 = alloca i32 %t25 = alloca ptr %t26 = alloca i32 %t69 = alloca ptr %t81 = alloca ptr store i32 %arg_c, ptr %t0 store ptr %arg_f, ptr %t1 store ptr %arg_self_ty, ptr %t2 store i32 0, ptr %t3 br label %wcond0 wcond0: %t4 = load i32, ptr %t3 %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 1 %t9 = load i32, ptr %t8 %t10 = icmp slt i32 %t4, %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 %t1 %t14 = getelementptr inbounds %Cmp_Node, ptr %t13, i32 0, i32 7 %t15 = load ptr, ptr %t14 %t16 = load i32, ptr %t3 %t17 = getelementptr inbounds %LSlice, ptr %t15, i32 0, i32 0 %t18 = load ptr, ptr %t17 %t19 = getelementptr inbounds %LSlice, ptr %t15, i32 0, i32 1 %t20 = load i32, ptr %t19 %t21 = icmp ult i32 %t16, %t20 br i1 %t21, label %ixok3, label %ixbad4 ixbad4: store i32 3211, ptr @lp_site %t22 = call ptr @lp_win_stdio(i32 2) store i32 0, ptr @lp_site call i32 (ptr, ptr, ...) @fprintf(ptr %t22, ptr @.fmt_bounds, ptr @.str3851, i32 %t16, i32 %t20) call void @exit(i32 1) unreachable ixok3: %t23 = getelementptr inbounds ptr, ptr %t18, i32 %t16 %t24 = load ptr, ptr %t23 store ptr %t24, ptr %t25 %t27 = load i32, ptr %t0 %t28 = load ptr, ptr %t25 %t29 = getelementptr inbounds %Cmp_Node, ptr %t28, i32 0, i32 1 %t30 = load ptr, ptr %t29 %t31 = call i32 @fn_cm_is_keep(i32 %t27, ptr %t30) %t32 = icmp ne i32 %t31, 0 %t33 = zext i1 %t32 to i32 store i32 %t33, ptr %t26 br i1 %t32, label %scend6, label %sc5 sc5: %t34 = load i32, ptr %t0 %t35 = load ptr, ptr %t25 %t36 = getelementptr inbounds %Cmp_Node, ptr %t35, i32 0, i32 1 %t37 = load ptr, ptr %t36 %t38 = call i32 @fn_cm_is_field(i32 %t34, ptr %t37) %t39 = icmp ne i32 %t38, 0 %t40 = zext i1 %t39 to i32 store i32 %t40, ptr %t26 br label %scend6 scend6: %t41 = load i32, ptr %t26 %t42 = icmp ne i32 %t41, 0 br i1 %t42, label %then7, label %ifend9 then7: %t43 = load ptr, ptr %t1 %t44 = getelementptr inbounds %Cmp_Node, ptr %t43, i32 0, i32 9 %t45 = load ptr, ptr %t44 store ptr %t45, ptr @g_g_err_file %t46 = load ptr, ptr %t1 %t47 = getelementptr inbounds %Cmp_Node, ptr %t46, i32 0, i32 8 %t48 = load i32, ptr %t47 store i32 %t48, ptr @g_g_err_line store i32 0, ptr @g_g_parsing %t49 = load ptr, ptr @g_g_cm_name %t50 = load i32, ptr %t0 %t51 = getelementptr inbounds %LSlice, ptr %t49, i32 0, i32 0 %t52 = load ptr, ptr %t51 %t53 = getelementptr inbounds %LSlice, ptr %t49, i32 0, i32 1 %t54 = load i32, ptr %t53 %t55 = icmp ult i32 %t50, %t54 br i1 %t55, label %ixok10, label %ixbad11 ixbad11: store i32 3212, ptr @lp_site %t56 = call ptr @lp_win_stdio(i32 2) store i32 0, ptr @lp_site call i32 (ptr, ptr, ...) @fprintf(ptr %t56, ptr @.fmt_bounds, ptr @.str3854, i32 %t50, i32 %t54) call void @exit(i32 1) unreachable ixok10: %t57 = getelementptr inbounds ptr, ptr %t52, i32 %t50 %t58 = load ptr, ptr %t57 store i32 3213, ptr @lp_site %t59 = call ptr @lp_str_concat(ptr @.str3853, ptr %t58) store i32 0, ptr @lp_site store i32 3214, ptr @lp_site %t60 = call ptr @lp_str_concat(ptr %t59, ptr @.str3855) store i32 0, ptr @lp_site call void @lp_free(ptr %t59) %t61 = load ptr, ptr %t25 %t62 = getelementptr inbounds %Cmp_Node, ptr %t61, i32 0, i32 1 %t63 = load ptr, ptr %t62 store i32 3215, ptr @lp_site %t64 = call ptr @lp_str_concat(ptr %t60, ptr %t63) store i32 0, ptr @lp_site call void @lp_free(ptr %t60) store i32 3216, ptr @lp_site %t65 = call ptr @lp_str_concat(ptr %t64, ptr @.str3856) store i32 0, ptr @lp_site call void @lp_free(ptr %t64) call void @fn_perr(ptr %t65) br label %ifend9 ifend9: %t66 = load i32, ptr %t3 %t67 = add i32 %t66, 1 store i32 %t67, ptr %t3 br label %wcond0 wend2: %t68 = call ptr @fn_node(i32 5) store ptr %t68, ptr %t69 %t70 = load ptr, ptr %t69 %t71 = getelementptr inbounds %Cmp_Node, ptr %t70, i32 0, i32 1 store ptr @.str3857, ptr %t71 %t72 = load ptr, ptr %t69 %t73 = getelementptr inbounds %Cmp_Node, ptr %t72, i32 0, i32 3 %t74 = load ptr, ptr %t2 store ptr %t74, ptr %t73 %t75 = getelementptr %LSlice, ptr null, i32 1 %t76 = ptrtoint ptr %t75 to i64 store i32 3217, ptr @lp_site %t77 = call ptr @lp_malloc(i64 %t76) store i32 0, ptr @lp_site %t78 = getelementptr inbounds %LSlice, ptr %t77, i32 0, i32 0 store ptr null, ptr %t78 %t79 = getelementptr inbounds %LSlice, ptr %t77, i32 0, i32 1 store i32 0, ptr %t79 %t80 = getelementptr inbounds %LSlice, ptr %t77, i32 0, i32 2 store i32 0, ptr %t80 store ptr %t77, ptr %t81 %t82 = load ptr, ptr %t81 %t83 = load ptr, ptr %t69 %t84 = getelementptr inbounds %LSlice, ptr %t82, i32 0, i32 1 %t85 = getelementptr inbounds %LSlice, ptr %t82, i32 0, i32 2 %t86 = getelementptr inbounds %LSlice, ptr %t82, i32 0, i32 0 %t87 = load i32, ptr %t84 %t88 = load i32, ptr %t85 %t89 = icmp sge i32 %t87, %t88 br i1 %t89, label %grow12, label %put13 grow12: %t90 = mul i32 %t88, 2 %t91 = icmp eq i32 %t88, 0 %t92 = select i1 %t91, i32 8, i32 %t90 %t93 = getelementptr ptr, ptr null, i32 1 %t94 = ptrtoint ptr %t93 to i64 %t95 = zext i32 %t92 to i64 %t96 = mul i64 %t95, %t94 %t97 = load ptr, ptr %t86 store i32 3218, ptr @lp_site %t98 = call ptr @lp_realloc(ptr %t97, i64 %t96) store i32 0, ptr @lp_site store ptr %t98, ptr %t86 store i32 %t92, ptr %t85 br label %put13 put13: %t99 = load ptr, ptr %t86 %t100 = getelementptr inbounds ptr, ptr %t99, i32 %t87 store ptr %t83, ptr %t100 %t101 = add i32 %t87, 1 store i32 %t101, ptr %t84 store i32 0, ptr %t3 br label %wcond14 wcond14: %t102 = load i32, ptr %t3 %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 1 %t107 = load i32, ptr %t106 %t108 = icmp slt i32 %t102, %t107 %t109 = zext i1 %t108 to i32 %t110 = icmp ne i32 %t109, 0 br i1 %t110, label %wbody15, label %wend16 wbody15: %t111 = load ptr, ptr %t81 %t112 = load ptr, ptr %t1 %t113 = getelementptr inbounds %Cmp_Node, ptr %t112, i32 0, i32 7 %t114 = load ptr, ptr %t113 %t115 = load i32, ptr %t3 %t116 = getelementptr inbounds %LSlice, ptr %t114, i32 0, i32 0 %t117 = load ptr, ptr %t116 %t118 = getelementptr inbounds %LSlice, ptr %t114, i32 0, i32 1 %t119 = load i32, ptr %t118 %t120 = icmp ult i32 %t115, %t119 br i1 %t120, label %ixok17, label %ixbad18 ixbad18: store i32 3219, ptr @lp_site %t121 = call ptr @lp_win_stdio(i32 2) store i32 0, ptr @lp_site call i32 (ptr, ptr, ...) @fprintf(ptr %t121, ptr @.fmt_bounds, ptr @.str3858, i32 %t115, i32 %t119) call void @exit(i32 1) unreachable ixok17: %t122 = getelementptr inbounds ptr, ptr %t117, i32 %t115 %t123 = load ptr, ptr %t122 %t124 = getelementptr inbounds %LSlice, ptr %t111, i32 0, i32 1 %t125 = getelementptr inbounds %LSlice, ptr %t111, i32 0, i32 2 %t126 = getelementptr inbounds %LSlice, ptr %t111, i32 0, i32 0 %t127 = load i32, ptr %t124 %t128 = load i32, ptr %t125 %t129 = icmp sge i32 %t127, %t128 br i1 %t129, label %grow19, label %put20 grow19: %t130 = mul i32 %t128, 2 %t131 = icmp eq i32 %t128, 0 %t132 = select i1 %t131, i32 8, i32 %t130 %t133 = getelementptr ptr, ptr null, i32 1 %t134 = ptrtoint ptr %t133 to i64 %t135 = zext i32 %t132 to i64 %t136 = mul i64 %t135, %t134 %t137 = load ptr, ptr %t126 store i32 3220, ptr @lp_site %t138 = call ptr @lp_realloc(ptr %t137, i64 %t136) store i32 0, ptr @lp_site store ptr %t138, ptr %t126 store i32 %t132, ptr %t125 br label %put20 put20: %t139 = load ptr, ptr %t126 %t140 = getelementptr inbounds ptr, ptr %t139, i32 %t127 store ptr %t123, ptr %t140 %t141 = add i32 %t127, 1 store i32 %t141, ptr %t124 %t142 = load i32, ptr %t3 %t143 = add i32 %t142, 1 store i32 %t143, ptr %t3 br label %wcond14 wend16: %t144 = load ptr, ptr %t1 %t145 = getelementptr inbounds %Cmp_Node, ptr %t144, i32 0, i32 7 %t146 = load ptr, ptr %t81 store ptr %t146, ptr %t145 %t147 = load i32, ptr %t0 %t148 = load ptr, ptr %t1 %t149 = getelementptr inbounds %Cmp_Node, ptr %t148, i32 0, i32 4 %t150 = load ptr, ptr %t149 call void @fn_cm_rw(i32 %t147, ptr %t150) %t151 = load ptr, ptr %t1 %t152 = load ptr, ptr @g_g_cm_ps %t153 = load i32, ptr %t0 %t154 = getelementptr inbounds %LSlice, ptr %t152, i32 0, i32 0 %t155 = load ptr, ptr %t154 %t156 = getelementptr inbounds %LSlice, ptr %t152, i32 0, i32 1 %t157 = load i32, ptr %t156 %t158 = icmp ult i32 %t153, %t157 br i1 %t158, label %ixok21, label %ixbad22 ixbad22: store i32 3221, ptr @lp_site %t159 = call ptr @lp_win_stdio(i32 2) store i32 0, ptr @lp_site call i32 (ptr, ptr, ...) @fprintf(ptr %t159, ptr @.fmt_bounds, ptr @.str3859, i32 %t153, i32 %t157) call void @exit(i32 1) unreachable ixok21: %t160 = getelementptr inbounds ptr, ptr %t155, i32 %t153 %t161 = load ptr, ptr %t160 call void @fn_state_params_onto(ptr %t151, ptr %t161) br label %ret ret: ret void } define ptr @fn_cm_member_args(i32 %arg_c, ptr %arg_rest) { entry: %retval = alloca ptr %t0 = alloca i32 %t1 = alloca ptr %t8 = alloca ptr %t9 = alloca i32 %t27 = alloca ptr store i32 %arg_c, ptr %t0 store ptr %arg_rest, ptr %t1 %t2 = getelementptr %LSlice, ptr null, i32 1 %t3 = ptrtoint ptr %t2 to i64 store i32 3222, ptr @lp_site %t4 = call ptr @lp_malloc(i64 %t3) store i32 0, ptr @lp_site %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 %t8 store i32 0, ptr %t9 br label %wcond0 wcond0: %t10 = load i32, ptr %t9 %t11 = load ptr, ptr @g_g_cm_ps %t12 = load i32, ptr %t0 %t13 = getelementptr inbounds %LSlice, ptr %t11, i32 0, i32 0 %t14 = load ptr, ptr %t13 %t15 = getelementptr inbounds %LSlice, ptr %t11, i32 0, i32 1 %t16 = load i32, ptr %t15 %t17 = icmp ult i32 %t12, %t16 br i1 %t17, label %ixok3, label %ixbad4 ixbad4: store i32 3223, ptr @lp_site %t18 = call ptr @lp_win_stdio(i32 2) store i32 0, ptr @lp_site call i32 (ptr, ptr, ...) @fprintf(ptr %t18, ptr @.fmt_bounds, ptr @.str3861, i32 %t12, i32 %t16) call void @exit(i32 1) unreachable ixok3: %t19 = getelementptr inbounds ptr, ptr %t14, i32 %t12 %t20 = load ptr, ptr %t19 %t21 = getelementptr inbounds %LSlice, ptr %t20, i32 0, i32 1 %t22 = load i32, ptr %t21 %t23 = icmp slt i32 %t10, %t22 %t24 = zext i1 %t23 to i32 %t25 = icmp ne i32 %t24, 0 br i1 %t25, label %wbody1, label %wend2 wbody1: %t26 = call ptr @fn_node(i32 33) store ptr %t26, ptr %t27 %t28 = load ptr, ptr %t27 %t29 = getelementptr inbounds %Cmp_Node, ptr %t28, i32 0, i32 1 %t30 = load ptr, ptr @g_g_cm_ps %t31 = load i32, ptr %t0 %t32 = getelementptr inbounds %LSlice, ptr %t30, i32 0, i32 0 %t33 = load ptr, ptr %t32 %t34 = getelementptr inbounds %LSlice, ptr %t30, i32 0, i32 1 %t35 = load i32, ptr %t34 %t36 = icmp ult i32 %t31, %t35 br i1 %t36, label %ixok5, label %ixbad6 ixbad6: store i32 3224, ptr @lp_site %t37 = call ptr @lp_win_stdio(i32 2) store i32 0, ptr @lp_site call i32 (ptr, ptr, ...) @fprintf(ptr %t37, ptr @.fmt_bounds, ptr @.str3862, i32 %t31, i32 %t35) call void @exit(i32 1) unreachable ixok5: %t38 = getelementptr inbounds ptr, ptr %t33, i32 %t31 %t39 = load ptr, ptr %t38 %t40 = load i32, ptr %t9 %t41 = getelementptr inbounds %LSlice, ptr %t39, i32 0, i32 0 %t42 = load ptr, ptr %t41 %t43 = getelementptr inbounds %LSlice, ptr %t39, i32 0, i32 1 %t44 = load i32, ptr %t43 %t45 = icmp ult i32 %t40, %t44 br i1 %t45, label %ixok7, label %ixbad8 ixbad8: store i32 3225, ptr @lp_site %t46 = call ptr @lp_win_stdio(i32 2) store i32 0, ptr @lp_site call i32 (ptr, ptr, ...) @fprintf(ptr %t46, ptr @.fmt_bounds, ptr @.str3863, i32 %t40, i32 %t44) call void @exit(i32 1) unreachable ixok7: %t47 = getelementptr inbounds ptr, ptr %t42, i32 %t40 %t48 = load ptr, ptr %t47 %t49 = getelementptr inbounds %Cmp_Node, ptr %t48, i32 0, i32 1 %t50 = load ptr, ptr %t49 store ptr %t50, ptr %t29 %t51 = load ptr, ptr %t27 %t52 = getelementptr inbounds %Cmp_Node, ptr %t51, i32 0, i32 13 %t53 = sub i32 0, 1 store i32 %t53, ptr %t52 %t54 = load ptr, ptr %t8 %t55 = load ptr, ptr %t27 %t56 = getelementptr inbounds %LSlice, ptr %t54, i32 0, i32 1 %t57 = getelementptr inbounds %LSlice, ptr %t54, i32 0, i32 2 %t58 = getelementptr inbounds %LSlice, ptr %t54, i32 0, i32 0 %t59 = load i32, ptr %t56 %t60 = load i32, ptr %t57 %t61 = icmp sge i32 %t59, %t60 br i1 %t61, label %grow9, label %put10 grow9: %t62 = mul i32 %t60, 2 %t63 = icmp eq i32 %t60, 0 %t64 = select i1 %t63, i32 8, i32 %t62 %t65 = getelementptr ptr, ptr null, i32 1 %t66 = ptrtoint ptr %t65 to i64 %t67 = zext i32 %t64 to i64 %t68 = mul i64 %t67, %t66 %t69 = load ptr, ptr %t58 store i32 3226, ptr @lp_site %t70 = call ptr @lp_realloc(ptr %t69, i64 %t68) store i32 0, ptr @lp_site store ptr %t70, ptr %t58 store i32 %t64, ptr %t57 br label %put10 put10: %t71 = load ptr, ptr %t58 %t72 = getelementptr inbounds ptr, ptr %t71, i32 %t59 store ptr %t55, ptr %t72 %t73 = add i32 %t59, 1 store i32 %t73, ptr %t56 %t74 = load i32, ptr %t9 %t75 = add i32 %t74, 1 store i32 %t75, ptr %t9 br label %wcond0 wend2: %t76 = load ptr, ptr %t8 %t77 = call ptr @fn_cm_self() %t78 = getelementptr inbounds %LSlice, ptr %t76, i32 0, i32 1 %t79 = getelementptr inbounds %LSlice, ptr %t76, i32 0, i32 2 %t80 = getelementptr inbounds %LSlice, ptr %t76, i32 0, i32 0 %t81 = load i32, ptr %t78 %t82 = load i32, ptr %t79 %t83 = icmp sge i32 %t81, %t82 br i1 %t83, label %grow11, label %put12 grow11: %t84 = mul i32 %t82, 2 %t85 = icmp eq i32 %t82, 0 %t86 = select i1 %t85, i32 8, i32 %t84 %t87 = getelementptr ptr, ptr null, i32 1 %t88 = ptrtoint ptr %t87 to i64 %t89 = zext i32 %t86 to i64 %t90 = mul i64 %t89, %t88 %t91 = load ptr, ptr %t80 store i32 3227, ptr @lp_site %t92 = call ptr @lp_realloc(ptr %t91, i64 %t90) store i32 0, ptr @lp_site store ptr %t92, ptr %t80 store i32 %t86, ptr %t79 br label %put12 put12: %t93 = load ptr, ptr %t80 %t94 = getelementptr inbounds ptr, ptr %t93, i32 %t81 store ptr %t77, ptr %t94 %t95 = add i32 %t81, 1 store i32 %t95, ptr %t78 store i32 0, ptr %t9 br label %wcond13 wcond13: %t96 = load i32, ptr %t9 %t97 = load ptr, ptr %t1 %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 %wbody14, label %wend15 wbody14: %t103 = load ptr, ptr %t8 %t104 = load ptr, ptr %t1 %t105 = load i32, ptr %t9 %t106 = getelementptr inbounds %LSlice, ptr %t104, i32 0, i32 0 %t107 = load ptr, ptr %t106 %t108 = getelementptr inbounds %LSlice, ptr %t104, i32 0, i32 1 %t109 = load i32, ptr %t108 %t110 = icmp ult i32 %t105, %t109 br i1 %t110, label %ixok16, label %ixbad17 ixbad17: store i32 3228, ptr @lp_site %t111 = call ptr @lp_win_stdio(i32 2) store i32 0, ptr @lp_site call i32 (ptr, ptr, ...) @fprintf(ptr %t111, ptr @.fmt_bounds, ptr @.str3864, i32 %t105, i32 %t109) call void @exit(i32 1) unreachable ixok16: %t112 = getelementptr inbounds ptr, ptr %t107, i32 %t105 %t113 = load ptr, ptr %t112 %t114 = getelementptr inbounds %LSlice, ptr %t103, i32 0, i32 1 %t115 = getelementptr inbounds %LSlice, ptr %t103, i32 0, i32 2 %t116 = getelementptr inbounds %LSlice, ptr %t103, i32 0, i32 0 %t117 = load i32, ptr %t114 %t118 = load i32, ptr %t115 %t119 = icmp sge i32 %t117, %t118 br i1 %t119, label %grow18, label %put19 grow18: %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 store i32 3229, ptr @lp_site %t128 = call ptr @lp_realloc(ptr %t127, i64 %t126) store i32 0, ptr @lp_site store ptr %t128, ptr %t116 store i32 %t122, ptr %t115 br label %put19 put19: %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 %t132 = load i32, ptr %t9 %t133 = add i32 %t132, 1 store i32 %t133, ptr %t9 br label %wcond13 wend15: %t134 = load ptr, ptr %t8 store ptr %t134, ptr %retval br label %ret ret: %t135 = load ptr, ptr %retval ret ptr %t135 } define i32 @fn_cm_is_keep(i32 %arg_c, ptr %arg_s) { entry: %retval = alloca i32 %t0 = alloca i32 %t1 = alloca ptr %t2 = alloca i32 store i32 %arg_c, 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 @g_g_cm_keep %t5 = load i32, ptr %t0 %t6 = getelementptr inbounds %LSlice, ptr %t4, i32 0, i32 0 %t7 = load ptr, ptr %t6 %t8 = getelementptr inbounds %LSlice, ptr %t4, i32 0, i32 1 %t9 = load i32, ptr %t8 %t10 = icmp ult i32 %t5, %t9 br i1 %t10, label %ixok3, label %ixbad4 ixbad4: store i32 3230, ptr @lp_site %t11 = call ptr @lp_win_stdio(i32 2) store i32 0, ptr @lp_site call i32 (ptr, ptr, ...) @fprintf(ptr %t11, ptr @.fmt_bounds, ptr @.str3865, i32 %t5, i32 %t9) call void @exit(i32 1) unreachable ixok3: %t12 = getelementptr inbounds ptr, ptr %t7, i32 %t5 %t13 = load ptr, ptr %t12 %t14 = getelementptr inbounds %LSlice, ptr %t13, i32 0, i32 1 %t15 = load i32, ptr %t14 %t16 = icmp slt i32 %t3, %t15 %t17 = zext i1 %t16 to i32 %t18 = icmp ne i32 %t17, 0 br i1 %t18, label %wbody1, label %wend2 wbody1: %t19 = load ptr, ptr @g_g_cm_keep %t20 = load i32, ptr %t0 %t21 = getelementptr inbounds %LSlice, ptr %t19, i32 0, i32 0 %t22 = load ptr, ptr %t21 %t23 = getelementptr inbounds %LSlice, ptr %t19, i32 0, i32 1 %t24 = load i32, ptr %t23 %t25 = icmp ult i32 %t20, %t24 br i1 %t25, label %ixok5, label %ixbad6 ixbad6: store i32 3231, ptr @lp_site %t26 = call ptr @lp_win_stdio(i32 2) store i32 0, ptr @lp_site call i32 (ptr, ptr, ...) @fprintf(ptr %t26, ptr @.fmt_bounds, ptr @.str3867, i32 %t20, i32 %t24) call void @exit(i32 1) unreachable ixok5: %t27 = getelementptr inbounds ptr, ptr %t22, i32 %t20 %t28 = load ptr, ptr %t27 %t29 = load i32, ptr %t2 %t30 = getelementptr inbounds %LSlice, ptr %t28, i32 0, i32 0 %t31 = load ptr, ptr %t30 %t32 = getelementptr inbounds %LSlice, ptr %t28, i32 0, i32 1 %t33 = load i32, ptr %t32 %t34 = icmp ult i32 %t29, %t33 br i1 %t34, label %ixok7, label %ixbad8 ixbad8: store i32 3232, ptr @lp_site %t35 = call ptr @lp_win_stdio(i32 2) store i32 0, ptr @lp_site call i32 (ptr, ptr, ...) @fprintf(ptr %t35, ptr @.fmt_bounds, ptr @.str3868, i32 %t29, i32 %t33) call void @exit(i32 1) unreachable ixok7: %t36 = getelementptr inbounds ptr, ptr %t31, i32 %t29 %t37 = load ptr, ptr %t36 %t38 = load ptr, ptr %t1 %t39 = call i32 @lp_str_eq(ptr %t37, ptr %t38) %t40 = icmp ne i32 %t39, 0 br i1 %t40, label %then9, label %ifend11 then9: store i32 1, ptr %retval br label %ret ifend11: %t41 = load i32, ptr %t2 %t42 = add i32 %t41, 1 store i32 %t42, ptr %t2 br label %wcond0 wend2: store i32 0, ptr %retval br label %ret ret: %t43 = load i32, ptr %retval ret i32 %t43 } define i32 @fn_cm_is_field(i32 %arg_c, ptr %arg_s) { entry: %retval = alloca i32 %t0 = alloca i32 %t1 = alloca ptr %t2 = alloca i32 store i32 %arg_c, 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 @g_g_cm_fnames %t5 = load i32, ptr %t0 %t6 = getelementptr inbounds %LSlice, ptr %t4, i32 0, i32 0 %t7 = load ptr, ptr %t6 %t8 = getelementptr inbounds %LSlice, ptr %t4, i32 0, i32 1 %t9 = load i32, ptr %t8 %t10 = icmp ult i32 %t5, %t9 br i1 %t10, label %ixok3, label %ixbad4 ixbad4: store i32 3233, ptr @lp_site %t11 = call ptr @lp_win_stdio(i32 2) store i32 0, ptr @lp_site call i32 (ptr, ptr, ...) @fprintf(ptr %t11, ptr @.fmt_bounds, ptr @.str3869, i32 %t5, i32 %t9) call void @exit(i32 1) unreachable ixok3: %t12 = getelementptr inbounds ptr, ptr %t7, i32 %t5 %t13 = load ptr, ptr %t12 %t14 = getelementptr inbounds %LSlice, ptr %t13, i32 0, i32 1 %t15 = load i32, ptr %t14 %t16 = icmp slt i32 %t3, %t15 %t17 = zext i1 %t16 to i32 %t18 = icmp ne i32 %t17, 0 br i1 %t18, label %wbody1, label %wend2 wbody1: %t19 = load ptr, ptr @g_g_cm_fnames %t20 = load i32, ptr %t0 %t21 = getelementptr inbounds %LSlice, ptr %t19, i32 0, i32 0 %t22 = load ptr, ptr %t21 %t23 = getelementptr inbounds %LSlice, ptr %t19, i32 0, i32 1 %t24 = load i32, ptr %t23 %t25 = icmp ult i32 %t20, %t24 br i1 %t25, label %ixok5, label %ixbad6 ixbad6: store i32 3234, ptr @lp_site %t26 = call ptr @lp_win_stdio(i32 2) store i32 0, ptr @lp_site call i32 (ptr, ptr, ...) @fprintf(ptr %t26, ptr @.fmt_bounds, ptr @.str3871, i32 %t20, i32 %t24) call void @exit(i32 1) unreachable ixok5: %t27 = getelementptr inbounds ptr, ptr %t22, i32 %t20 %t28 = load ptr, ptr %t27 %t29 = load i32, ptr %t2 %t30 = getelementptr inbounds %LSlice, ptr %t28, i32 0, i32 0 %t31 = load ptr, ptr %t30 %t32 = getelementptr inbounds %LSlice, ptr %t28, i32 0, i32 1 %t33 = load i32, ptr %t32 %t34 = icmp ult i32 %t29, %t33 br i1 %t34, label %ixok7, label %ixbad8 ixbad8: store i32 3235, ptr @lp_site %t35 = call ptr @lp_win_stdio(i32 2) store i32 0, ptr @lp_site call i32 (ptr, ptr, ...) @fprintf(ptr %t35, ptr @.fmt_bounds, ptr @.str3872, i32 %t29, i32 %t33) call void @exit(i32 1) unreachable ixok7: %t36 = getelementptr inbounds ptr, ptr %t31, i32 %t29 %t37 = load ptr, ptr %t36 %t38 = load ptr, ptr %t1 %t39 = call i32 @lp_str_eq(ptr %t37, ptr %t38) %t40 = icmp ne i32 %t39, 0 br i1 %t40, label %then9, label %ifend11 then9: store i32 1, ptr %retval br label %ret ifend11: %t41 = load i32, ptr %t2 %t42 = add i32 %t41, 1 store i32 %t42, ptr %t2 br label %wcond0 wend2: store i32 0, ptr %retval br label %ret ret: %t43 = load i32, ptr %retval ret i32 %t43 } define i32 @fn_cm_is_call(i32 %arg_c, ptr %arg_s) { entry: %retval = alloca i32 %t0 = alloca i32 %t1 = alloca ptr %t2 = alloca i32 store i32 %arg_c, 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 @g_g_cm_cnames %t5 = load i32, ptr %t0 %t6 = getelementptr inbounds %LSlice, ptr %t4, i32 0, i32 0 %t7 = load ptr, ptr %t6 %t8 = getelementptr inbounds %LSlice, ptr %t4, i32 0, i32 1 %t9 = load i32, ptr %t8 %t10 = icmp ult i32 %t5, %t9 br i1 %t10, label %ixok3, label %ixbad4 ixbad4: store i32 3236, ptr @lp_site %t11 = call ptr @lp_win_stdio(i32 2) store i32 0, ptr @lp_site call i32 (ptr, ptr, ...) @fprintf(ptr %t11, ptr @.fmt_bounds, ptr @.str3873, i32 %t5, i32 %t9) call void @exit(i32 1) unreachable ixok3: %t12 = getelementptr inbounds ptr, ptr %t7, i32 %t5 %t13 = load ptr, ptr %t12 %t14 = getelementptr inbounds %LSlice, ptr %t13, i32 0, i32 1 %t15 = load i32, ptr %t14 %t16 = icmp slt i32 %t3, %t15 %t17 = zext i1 %t16 to i32 %t18 = icmp ne i32 %t17, 0 br i1 %t18, label %wbody1, label %wend2 wbody1: %t19 = load ptr, ptr @g_g_cm_cnames %t20 = load i32, ptr %t0 %t21 = getelementptr inbounds %LSlice, ptr %t19, i32 0, i32 0 %t22 = load ptr, ptr %t21 %t23 = getelementptr inbounds %LSlice, ptr %t19, i32 0, i32 1 %t24 = load i32, ptr %t23 %t25 = icmp ult i32 %t20, %t24 br i1 %t25, label %ixok5, label %ixbad6 ixbad6: store i32 3237, ptr @lp_site %t26 = call ptr @lp_win_stdio(i32 2) store i32 0, ptr @lp_site call i32 (ptr, ptr, ...) @fprintf(ptr %t26, ptr @.fmt_bounds, ptr @.str3875, i32 %t20, i32 %t24) call void @exit(i32 1) unreachable ixok5: %t27 = getelementptr inbounds ptr, ptr %t22, i32 %t20 %t28 = load ptr, ptr %t27 %t29 = load i32, ptr %t2 %t30 = getelementptr inbounds %LSlice, ptr %t28, i32 0, i32 0 %t31 = load ptr, ptr %t30 %t32 = getelementptr inbounds %LSlice, ptr %t28, i32 0, i32 1 %t33 = load i32, ptr %t32 %t34 = icmp ult i32 %t29, %t33 br i1 %t34, label %ixok7, label %ixbad8 ixbad8: store i32 3238, ptr @lp_site %t35 = call ptr @lp_win_stdio(i32 2) store i32 0, ptr @lp_site call i32 (ptr, ptr, ...) @fprintf(ptr %t35, ptr @.fmt_bounds, ptr @.str3876, i32 %t29, i32 %t33) call void @exit(i32 1) unreachable ixok7: %t36 = getelementptr inbounds ptr, ptr %t31, i32 %t29 %t37 = load ptr, ptr %t36 %t38 = load ptr, ptr %t1 %t39 = call i32 @lp_str_eq(ptr %t37, ptr %t38) %t40 = icmp ne i32 %t39, 0 br i1 %t40, label %then9, label %ifend11 then9: store i32 1, ptr %retval br label %ret ifend11: %t41 = load i32, ptr %t2 %t42 = add i32 %t41, 1 store i32 %t42, ptr %t2 br label %wcond0 wend2: store i32 0, ptr %retval br label %ret ret: %t43 = load i32, ptr %retval ret i32 %t43 } define ptr @fn_cm_self() { entry: %retval = alloca ptr %t1 = alloca ptr %t0 = call ptr @fn_node(i32 33) store ptr %t0, ptr %t1 %t2 = load ptr, ptr %t1 %t3 = getelementptr inbounds %Cmp_Node, ptr %t2, i32 0, i32 1 store ptr @.str3877, ptr %t3 %t4 = load ptr, ptr %t1 store ptr %t4, ptr %retval br label %ret ret: %t5 = load ptr, ptr %retval ret ptr %t5 } define void @fn_cm_rw(i32 %arg_c, ptr %arg_n) { entry: %t0 = alloca i32 %t1 = alloca ptr %t6 = alloca i32 %t7 = alloca i32 %t8 = alloca i32 %t36 = alloca i32 %t79 = alloca i32 %t101 = alloca i32 %t121 = alloca ptr %t156 = alloca i32 %t157 = alloca i32 %t158 = alloca i32 %t159 = alloca i32 %t254 = alloca i32 store i32 %arg_c, ptr %t0 store ptr %arg_n, 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: br label %ret ifend2: %t9 = load ptr, ptr %t1 %t10 = getelementptr inbounds %Cmp_Node, ptr %t9, i32 0, i32 0 %t11 = load i32, ptr %t10 %t12 = icmp eq i32 %t11, 10 %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 %scend4, label %sc3 sc3: %t16 = load ptr, ptr %t1 %t17 = getelementptr inbounds %Cmp_Node, ptr %t16, i32 0, i32 0 %t18 = load i32, ptr %t17 %t19 = icmp eq i32 %t18, 14 %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 %t1 %t27 = getelementptr inbounds %Cmp_Node, ptr %t26, i32 0, i32 1 %t28 = load ptr, ptr %t27 %t29 = icmp ne ptr %t28, null %t30 = zext i1 %t29 to i32 %t31 = icmp ne i32 %t30, 0 %t32 = zext i1 %t31 to i32 store i32 %t32, ptr %t7 br label %scend6 scend6: %t33 = load i32, ptr %t7 %t34 = icmp ne i32 %t33, 0 %t35 = zext i1 %t34 to i32 store i32 %t35, ptr %t6 br i1 %t34, label %sc7, label %scend8 sc7: %t37 = load i32, ptr %t0 %t38 = load ptr, ptr %t1 %t39 = getelementptr inbounds %Cmp_Node, ptr %t38, i32 0, i32 1 %t40 = load ptr, ptr %t39 %t41 = call i32 @fn_cm_is_keep(i32 %t37, ptr %t40) %t42 = icmp ne i32 %t41, 0 %t43 = zext i1 %t42 to i32 store i32 %t43, ptr %t36 br i1 %t42, label %scend10, label %sc9 sc9: %t44 = load i32, ptr %t0 %t45 = load ptr, ptr %t1 %t46 = getelementptr inbounds %Cmp_Node, ptr %t45, i32 0, i32 1 %t47 = load ptr, ptr %t46 %t48 = call i32 @fn_cm_is_field(i32 %t44, ptr %t47) %t49 = icmp ne i32 %t48, 0 %t50 = zext i1 %t49 to i32 store i32 %t50, ptr %t36 br label %scend10 scend10: %t51 = load i32, ptr %t36 %t52 = icmp ne i32 %t51, 0 %t53 = zext i1 %t52 to i32 store i32 %t53, ptr %t6 br label %scend8 scend8: %t54 = load i32, ptr %t6 %t55 = icmp ne i32 %t54, 0 br i1 %t55, label %then11, label %ifend13 then11: %t56 = load ptr, ptr %t1 %t57 = getelementptr inbounds %Cmp_Node, ptr %t56, i32 0, i32 9 %t58 = load ptr, ptr %t57 store ptr %t58, ptr @g_g_err_file %t59 = load ptr, ptr %t1 %t60 = getelementptr inbounds %Cmp_Node, ptr %t59, i32 0, i32 8 %t61 = load i32, ptr %t60 store i32 %t61, ptr @g_g_err_line store i32 0, ptr @g_g_parsing %t62 = load ptr, ptr @g_g_cm_name %t63 = load i32, ptr %t0 %t64 = getelementptr inbounds %LSlice, ptr %t62, i32 0, i32 0 %t65 = load ptr, ptr %t64 %t66 = getelementptr inbounds %LSlice, ptr %t62, i32 0, i32 1 %t67 = load i32, ptr %t66 %t68 = icmp ult i32 %t63, %t67 br i1 %t68, label %ixok14, label %ixbad15 ixbad15: store i32 3239, ptr @lp_site %t69 = call ptr @lp_win_stdio(i32 2) store i32 0, ptr @lp_site call i32 (ptr, ptr, ...) @fprintf(ptr %t69, ptr @.fmt_bounds, ptr @.str3879, i32 %t63, i32 %t67) call void @exit(i32 1) unreachable ixok14: %t70 = getelementptr inbounds ptr, ptr %t65, i32 %t63 %t71 = load ptr, ptr %t70 store i32 3240, ptr @lp_site %t72 = call ptr @lp_str_concat(ptr @.str3878, ptr %t71) store i32 0, ptr @lp_site store i32 3241, ptr @lp_site %t73 = call ptr @lp_str_concat(ptr %t72, ptr @.str3881) store i32 0, ptr @lp_site call void @lp_free(ptr %t72) %t74 = load ptr, ptr %t1 %t75 = getelementptr inbounds %Cmp_Node, ptr %t74, i32 0, i32 1 %t76 = load ptr, ptr %t75 store i32 3242, ptr @lp_site %t77 = call ptr @lp_str_concat(ptr %t73, ptr %t76) store i32 0, ptr @lp_site call void @lp_free(ptr %t73) store i32 3243, ptr @lp_site %t78 = call ptr @lp_str_concat(ptr %t77, ptr @.str3882) store i32 0, ptr @lp_site call void @lp_free(ptr %t77) call void @fn_perr(ptr %t78) br label %ifend13 ifend13: %t80 = load ptr, ptr %t1 %t81 = getelementptr inbounds %Cmp_Node, ptr %t80, i32 0, i32 0 %t82 = load i32, ptr %t81 %t83 = icmp eq i32 %t82, 33 %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 %sc16, label %scend17 sc16: %t87 = load i32, ptr %t0 %t88 = load ptr, ptr %t1 %t89 = getelementptr inbounds %Cmp_Node, ptr %t88, i32 0, i32 1 %t90 = load ptr, ptr %t89 %t91 = call i32 @fn_cm_is_keep(i32 %t87, ptr %t90) %t92 = icmp ne i32 %t91, 0 %t93 = zext i1 %t92 to i32 store i32 %t93, ptr %t79 br label %scend17 scend17: %t94 = load i32, ptr %t79 %t95 = icmp ne i32 %t94, 0 br i1 %t95, label %then18, label %ifend20 then18: %t96 = load ptr, ptr %t1 %t97 = getelementptr inbounds %Cmp_Node, ptr %t96, i32 0, i32 0 store i32 35, ptr %t97 %t98 = load ptr, ptr %t1 %t99 = getelementptr inbounds %Cmp_Node, ptr %t98, i32 0, i32 4 %t100 = call ptr @fn_cm_self() store ptr %t100, ptr %t99 br label %ret ifend20: %t102 = load ptr, ptr %t1 %t103 = getelementptr inbounds %Cmp_Node, ptr %t102, i32 0, i32 0 %t104 = load i32, ptr %t103 %t105 = icmp eq i32 %t104, 33 %t106 = zext i1 %t105 to i32 %t107 = icmp ne i32 %t106, 0 %t108 = zext i1 %t107 to i32 store i32 %t108, ptr %t101 br i1 %t107, label %sc21, label %scend22 sc21: %t109 = load i32, ptr %t0 %t110 = load ptr, ptr %t1 %t111 = getelementptr inbounds %Cmp_Node, ptr %t110, i32 0, i32 1 %t112 = load ptr, ptr %t111 %t113 = call i32 @fn_cm_is_field(i32 %t109, ptr %t112) %t114 = icmp ne i32 %t113, 0 %t115 = zext i1 %t114 to i32 store i32 %t115, ptr %t101 br label %scend22 scend22: %t116 = load i32, ptr %t101 %t117 = icmp ne i32 %t116, 0 br i1 %t117, label %then23, label %ifend25 then23: %t118 = load ptr, ptr %t1 %t119 = getelementptr inbounds %Cmp_Node, ptr %t118, i32 0, i32 0 store i32 34, ptr %t119 %t120 = call ptr @fn_node(i32 33) store ptr %t120, ptr %t121 %t122 = load ptr, ptr %t121 %t123 = getelementptr inbounds %Cmp_Node, ptr %t122, i32 0, i32 1 %t124 = load ptr, ptr @g_g_cm_name %t125 = load i32, ptr %t0 %t126 = getelementptr inbounds %LSlice, ptr %t124, i32 0, i32 0 %t127 = load ptr, ptr %t126 %t128 = getelementptr inbounds %LSlice, ptr %t124, i32 0, i32 1 %t129 = load i32, ptr %t128 %t130 = icmp ult i32 %t125, %t129 br i1 %t130, label %ixok26, label %ixbad27 ixbad27: store i32 3244, ptr @lp_site %t131 = call ptr @lp_win_stdio(i32 2) store i32 0, ptr @lp_site call i32 (ptr, ptr, ...) @fprintf(ptr %t131, ptr @.fmt_bounds, ptr @.str3883, i32 %t125, i32 %t129) call void @exit(i32 1) unreachable ixok26: %t132 = getelementptr inbounds ptr, ptr %t127, i32 %t125 %t133 = load ptr, ptr %t132 %t134 = call ptr @fn_cm_prefix(ptr %t133) store i32 3245, ptr @lp_site %t135 = call ptr @lp_str_concat(ptr %t134, ptr @.str3884) store i32 0, ptr @lp_site %t136 = load ptr, ptr %t1 %t137 = getelementptr inbounds %Cmp_Node, ptr %t136, i32 0, i32 1 %t138 = load ptr, ptr %t137 store i32 3246, ptr @lp_site %t139 = call ptr @lp_str_concat(ptr %t135, ptr %t138) store i32 0, ptr @lp_site call void @lp_free(ptr %t135) store ptr %t139, ptr %t123 %t140 = load ptr, ptr %t1 %t141 = getelementptr inbounds %Cmp_Node, ptr %t140, i32 0, i32 4 %t142 = load ptr, ptr %t121 store ptr %t142, ptr %t141 %t143 = load ptr, ptr %t1 %t144 = getelementptr inbounds %Cmp_Node, ptr %t143, i32 0, i32 7 %t145 = load i32, ptr %t0 %t146 = getelementptr %LSlice, ptr null, i32 1 %t147 = ptrtoint ptr %t146 to i64 store i32 3247, ptr @lp_site %t148 = call ptr @lp_malloc(i64 %t147) store i32 0, ptr @lp_site %t149 = getelementptr inbounds %LSlice, ptr %t148, i32 0, i32 0 store ptr null, ptr %t149 %t150 = getelementptr inbounds %LSlice, ptr %t148, i32 0, i32 1 store i32 0, ptr %t150 %t151 = getelementptr inbounds %LSlice, ptr %t148, i32 0, i32 2 store i32 0, ptr %t151 %t152 = call ptr @fn_cm_member_args(i32 %t145, ptr %t148) store ptr %t152, ptr %t144 %t153 = load ptr, ptr %t1 %t154 = getelementptr inbounds %Cmp_Node, ptr %t153, i32 0, i32 13 %t155 = sub i32 0, 1 store i32 %t155, ptr %t154 br label %ret ifend25: %t160 = load ptr, ptr %t1 %t161 = getelementptr inbounds %Cmp_Node, ptr %t160, i32 0, i32 0 %t162 = load i32, ptr %t161 %t163 = icmp eq i32 %t162, 34 %t164 = zext i1 %t163 to i32 %t165 = icmp ne i32 %t164, 0 %t166 = zext i1 %t165 to i32 store i32 %t166, ptr %t159 br i1 %t165, label %sc28, label %scend29 sc28: %t167 = load ptr, ptr %t1 %t168 = getelementptr inbounds %Cmp_Node, ptr %t167, i32 0, i32 4 %t169 = load ptr, ptr %t168 %t170 = icmp ne ptr %t169, null %t171 = zext i1 %t170 to i32 %t172 = icmp ne i32 %t171, 0 %t173 = zext i1 %t172 to i32 store i32 %t173, ptr %t159 br label %scend29 scend29: %t174 = load i32, ptr %t159 %t175 = icmp ne i32 %t174, 0 %t176 = zext i1 %t175 to i32 store i32 %t176, ptr %t158 br i1 %t175, label %sc30, label %scend31 sc30: %t177 = load ptr, ptr %t1 %t178 = getelementptr inbounds %Cmp_Node, ptr %t177, i32 0, i32 4 %t179 = load ptr, ptr %t178 %t180 = getelementptr inbounds %Cmp_Node, ptr %t179, i32 0, i32 0 %t181 = load i32, ptr %t180 %t182 = icmp eq i32 %t181, 33 %t183 = zext i1 %t182 to i32 %t184 = icmp ne i32 %t183, 0 %t185 = zext i1 %t184 to i32 store i32 %t185, ptr %t158 br label %scend31 scend31: %t186 = load i32, ptr %t158 %t187 = icmp ne i32 %t186, 0 %t188 = zext i1 %t187 to i32 store i32 %t188, ptr %t157 br i1 %t187, label %sc32, label %scend33 sc32: %t189 = load i32, ptr %t0 %t190 = load ptr, ptr %t1 %t191 = getelementptr inbounds %Cmp_Node, ptr %t190, i32 0, i32 4 %t192 = load ptr, ptr %t191 %t193 = getelementptr inbounds %Cmp_Node, ptr %t192, i32 0, i32 1 %t194 = load ptr, ptr %t193 %t195 = call i32 @fn_cm_is_call(i32 %t189, ptr %t194) %t196 = icmp ne i32 %t195, 0 %t197 = zext i1 %t196 to i32 store i32 %t197, ptr %t157 br label %scend33 scend33: %t198 = load i32, ptr %t157 %t199 = icmp ne i32 %t198, 0 %t200 = zext i1 %t199 to i32 store i32 %t200, ptr %t156 br i1 %t199, label %sc34, label %scend35 sc34: %t201 = load i32, ptr %t0 %t202 = load ptr, ptr %t1 %t203 = getelementptr inbounds %Cmp_Node, ptr %t202, i32 0, i32 4 %t204 = load ptr, ptr %t203 %t205 = getelementptr inbounds %Cmp_Node, ptr %t204, i32 0, i32 1 %t206 = load ptr, ptr %t205 %t207 = call i32 @fn_cm_is_keep(i32 %t201, 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 %t156 br label %scend35 scend35: %t212 = load i32, ptr %t156 %t213 = icmp ne i32 %t212, 0 br i1 %t213, label %then36, label %ifend38 then36: %t214 = load ptr, ptr %t1 %t215 = getelementptr inbounds %Cmp_Node, ptr %t214, i32 0, i32 4 %t216 = load ptr, ptr %t215 %t217 = getelementptr inbounds %Cmp_Node, ptr %t216, i32 0, i32 1 %t218 = load ptr, ptr @g_g_cm_name %t219 = load i32, ptr %t0 %t220 = getelementptr inbounds %LSlice, ptr %t218, i32 0, i32 0 %t221 = load ptr, ptr %t220 %t222 = getelementptr inbounds %LSlice, ptr %t218, i32 0, i32 1 %t223 = load i32, ptr %t222 %t224 = icmp ult i32 %t219, %t223 br i1 %t224, label %ixok39, label %ixbad40 ixbad40: store i32 3248, ptr @lp_site %t225 = call ptr @lp_win_stdio(i32 2) store i32 0, ptr @lp_site call i32 (ptr, ptr, ...) @fprintf(ptr %t225, ptr @.fmt_bounds, ptr @.str3885, i32 %t219, i32 %t223) call void @exit(i32 1) unreachable ixok39: %t226 = getelementptr inbounds ptr, ptr %t221, i32 %t219 %t227 = load ptr, ptr %t226 %t228 = call ptr @fn_cm_prefix(ptr %t227) %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 1 %t233 = load ptr, ptr %t232 store i32 3249, ptr @lp_site %t234 = call ptr @lp_str_concat(ptr %t228, ptr %t233) store i32 0, ptr @lp_site store ptr %t234, ptr %t217 %t235 = load ptr, ptr %t1 %t236 = getelementptr inbounds %Cmp_Node, ptr %t235, i32 0, i32 7 %t237 = load i32, ptr %t0 %t238 = load ptr, ptr %t1 %t239 = getelementptr inbounds %Cmp_Node, ptr %t238, i32 0, i32 7 %t240 = load ptr, ptr %t239 %t241 = call ptr @fn_cm_member_args(i32 %t237, ptr %t240) store ptr %t241, ptr %t236 br label %ifend38 ifend38: %t242 = load i32, ptr %t0 %t243 = load ptr, ptr %t1 %t244 = getelementptr inbounds %Cmp_Node, ptr %t243, i32 0, i32 4 %t245 = load ptr, ptr %t244 call void @fn_cm_rw(i32 %t242, ptr %t245) %t246 = load i32, ptr %t0 %t247 = load ptr, ptr %t1 %t248 = getelementptr inbounds %Cmp_Node, ptr %t247, i32 0, i32 5 %t249 = load ptr, ptr %t248 call void @fn_cm_rw(i32 %t246, ptr %t249) %t250 = load i32, ptr %t0 %t251 = load ptr, ptr %t1 %t252 = getelementptr inbounds %Cmp_Node, ptr %t251, i32 0, i32 6 %t253 = load ptr, ptr %t252 call void @fn_cm_rw(i32 %t250, ptr %t253) store i32 0, ptr %t254 br label %wcond41 wcond41: %t255 = load i32, ptr %t254 %t256 = load ptr, ptr %t1 %t257 = getelementptr inbounds %Cmp_Node, ptr %t256, i32 0, i32 7 %t258 = load ptr, ptr %t257 %t259 = getelementptr inbounds %LSlice, ptr %t258, i32 0, i32 1 %t260 = load i32, ptr %t259 %t261 = icmp slt i32 %t255, %t260 %t262 = zext i1 %t261 to i32 %t263 = icmp ne i32 %t262, 0 br i1 %t263, label %wbody42, label %wend43 wbody42: %t264 = load i32, ptr %t0 %t265 = load ptr, ptr %t1 %t266 = getelementptr inbounds %Cmp_Node, ptr %t265, i32 0, i32 7 %t267 = load ptr, ptr %t266 %t268 = load i32, ptr %t254 %t269 = getelementptr inbounds %LSlice, ptr %t267, i32 0, i32 0 %t270 = load ptr, ptr %t269 %t271 = getelementptr inbounds %LSlice, ptr %t267, i32 0, i32 1 %t272 = load i32, ptr %t271 %t273 = icmp ult i32 %t268, %t272 br i1 %t273, label %ixok44, label %ixbad45 ixbad45: store i32 3250, ptr @lp_site %t274 = call ptr @lp_win_stdio(i32 2) store i32 0, ptr @lp_site call i32 (ptr, ptr, ...) @fprintf(ptr %t274, ptr @.fmt_bounds, ptr @.str3886, i32 %t268, i32 %t272) call void @exit(i32 1) unreachable ixok44: %t275 = getelementptr inbounds ptr, ptr %t270, i32 %t268 %t276 = load ptr, ptr %t275 call void @fn_cm_rw(i32 %t264, ptr %t276) %t277 = load i32, ptr %t254 %t278 = add i32 %t277, 1 store i32 %t278, ptr %t254 br label %wcond41 wend43: br label %ret ret: ret void } define void @fn_components_finish() { entry: %t0 = alloca i32 store i32 0, ptr %t0 br label %wcond0 wcond0: %t1 = load i32, ptr %t0 %t2 = load ptr, ptr @g_g_cm_name %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 i32, ptr %t0 call void @fn_cm_finish(i32 %t8) %t9 = load i32, ptr %t0 %t10 = add i32 %t9, 1 store i32 %t10, ptr %t0 br label %wcond0 wend2: br label %ret ret: ret void } define void @fn_cm_err(i32 %arg_c, ptr %arg_msg) { entry: %t0 = alloca i32 %t1 = alloca ptr store i32 %arg_c, ptr %t0 store ptr %arg_msg, ptr %t1 %t2 = load ptr, ptr @g_g_cm_file %t3 = load i32, ptr %t0 %t4 = getelementptr inbounds %LSlice, ptr %t2, i32 0, i32 0 %t5 = load ptr, ptr %t4 %t6 = getelementptr inbounds %LSlice, ptr %t2, i32 0, i32 1 %t7 = load i32, ptr %t6 %t8 = icmp ult i32 %t3, %t7 br i1 %t8, label %ixok0, label %ixbad1 ixbad1: store i32 3251, ptr @lp_site %t9 = call ptr @lp_win_stdio(i32 2) store i32 0, ptr @lp_site call i32 (ptr, ptr, ...) @fprintf(ptr %t9, ptr @.fmt_bounds, ptr @.str3887, i32 %t3, i32 %t7) call void @exit(i32 1) unreachable ixok0: %t10 = getelementptr inbounds ptr, ptr %t5, i32 %t3 %t11 = load ptr, ptr %t10 store ptr %t11, ptr @g_g_err_file %t12 = load ptr, ptr @g_g_cm_line %t13 = load i32, ptr %t0 %t14 = getelementptr inbounds %LSlice, ptr %t12, i32 0, i32 0 %t15 = load ptr, ptr %t14 %t16 = getelementptr inbounds %LSlice, ptr %t12, i32 0, i32 1 %t17 = load i32, ptr %t16 %t18 = icmp ult i32 %t13, %t17 br i1 %t18, label %ixok2, label %ixbad3 ixbad3: store i32 3252, ptr @lp_site %t19 = call ptr @lp_win_stdio(i32 2) store i32 0, ptr @lp_site call i32 (ptr, ptr, ...) @fprintf(ptr %t19, ptr @.fmt_bounds, ptr @.str3889, i32 %t13, i32 %t17) call void @exit(i32 1) unreachable ixok2: %t20 = getelementptr inbounds i32, ptr %t15, i32 %t13 %t21 = load i32, ptr %t20 store i32 %t21, ptr @g_g_err_line store i32 0, ptr @g_g_parsing %t22 = load ptr, ptr @g_g_cm_name %t23 = load i32, ptr %t0 %t24 = getelementptr inbounds %LSlice, ptr %t22, i32 0, i32 0 %t25 = load ptr, ptr %t24 %t26 = getelementptr inbounds %LSlice, ptr %t22, i32 0, i32 1 %t27 = load i32, ptr %t26 %t28 = icmp ult i32 %t23, %t27 br i1 %t28, label %ixok4, label %ixbad5 ixbad5: store i32 3253, ptr @lp_site %t29 = call ptr @lp_win_stdio(i32 2) store i32 0, ptr @lp_site call i32 (ptr, ptr, ...) @fprintf(ptr %t29, ptr @.fmt_bounds, ptr @.str3891, i32 %t23, i32 %t27) call void @exit(i32 1) unreachable ixok4: %t30 = getelementptr inbounds ptr, ptr %t25, i32 %t23 %t31 = load ptr, ptr %t30 store i32 3254, ptr @lp_site %t32 = call ptr @lp_str_concat(ptr @.str3890, ptr %t31) store i32 0, ptr @lp_site store i32 3255, ptr @lp_site %t33 = call ptr @lp_str_concat(ptr %t32, ptr @.str3892) store i32 0, ptr @lp_site call void @lp_free(ptr %t32) %t34 = load ptr, ptr %t1 store i32 3256, ptr @lp_site %t35 = call ptr @lp_str_concat(ptr %t33, ptr %t34) store i32 0, ptr @lp_site call void @lp_free(ptr %t33) call void @fn_perr(ptr %t35) br label %ret ret: ret void } define void @fn_cm_finish(i32 %arg_c) { entry: %t0 = alloca i32 %t16 = alloca ptr %t19 = alloca ptr %t22 = alloca ptr %t33 = alloca ptr %t44 = alloca ptr %t55 = alloca i32 %t59 = alloca ptr %t60 = alloca i32 store i32 %arg_c, ptr %t0 %t1 = call ptr @fn_find_comp(ptr @.str3893) %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 = load i32, ptr %t0 call void @fn_cm_err(i32 %t5, ptr @.str3894) br label %ifend2 ifend2: %t6 = load ptr, ptr @g_g_cm_name %t7 = load i32, ptr %t0 %t8 = getelementptr inbounds %LSlice, ptr %t6, i32 0, i32 0 %t9 = load ptr, ptr %t8 %t10 = getelementptr inbounds %LSlice, ptr %t6, i32 0, i32 1 %t11 = load i32, ptr %t10 %t12 = icmp ult i32 %t7, %t11 br i1 %t12, label %ixok3, label %ixbad4 ixbad4: store i32 3257, ptr @lp_site %t13 = call ptr @lp_win_stdio(i32 2) store i32 0, ptr @lp_site call i32 (ptr, ptr, ...) @fprintf(ptr %t13, ptr @.fmt_bounds, ptr @.str3895, i32 %t7, i32 %t11) call void @exit(i32 1) unreachable ixok3: %t14 = getelementptr inbounds ptr, ptr %t9, i32 %t7 %t15 = load ptr, ptr %t14 store ptr %t15, ptr %t16 %t17 = load ptr, ptr %t16 %t18 = call ptr @fn_cm_prefix(ptr %t17) store ptr %t18, ptr %t19 %t20 = load ptr, ptr %t16 store i32 3258, ptr @lp_site %t21 = call ptr @lp_str_concat(ptr @.str3897, ptr %t20) store i32 0, ptr @lp_site store ptr %t21, ptr %t22 %t23 = load ptr, ptr @g_g_cm_head %t24 = load i32, ptr %t0 %t25 = getelementptr inbounds %LSlice, ptr %t23, i32 0, i32 0 %t26 = load ptr, ptr %t25 %t27 = getelementptr inbounds %LSlice, ptr %t23, i32 0, i32 1 %t28 = load i32, ptr %t27 %t29 = icmp ult i32 %t24, %t28 br i1 %t29, label %ixok5, label %ixbad6 ixbad6: store i32 3259, ptr @lp_site %t30 = call ptr @lp_win_stdio(i32 2) store i32 0, ptr @lp_site call i32 (ptr, ptr, ...) @fprintf(ptr %t30, ptr @.fmt_bounds, ptr @.str3898, i32 %t24, i32 %t28) call void @exit(i32 1) unreachable ixok5: %t31 = getelementptr inbounds ptr, ptr %t26, i32 %t24 %t32 = load ptr, ptr %t31 store ptr %t32, ptr %t33 %t34 = load ptr, ptr @g_g_cm_file %t35 = load i32, ptr %t0 %t36 = getelementptr inbounds %LSlice, ptr %t34, i32 0, i32 0 %t37 = load ptr, ptr %t36 %t38 = getelementptr inbounds %LSlice, ptr %t34, i32 0, i32 1 %t39 = load i32, ptr %t38 %t40 = icmp ult i32 %t35, %t39 br i1 %t40, label %ixok7, label %ixbad8 ixbad8: store i32 3260, ptr @lp_site %t41 = call ptr @lp_win_stdio(i32 2) store i32 0, ptr @lp_site call i32 (ptr, ptr, ...) @fprintf(ptr %t41, ptr @.fmt_bounds, ptr @.str3899, i32 %t35, i32 %t39) call void @exit(i32 1) unreachable ixok7: %t42 = getelementptr inbounds ptr, ptr %t37, i32 %t35 %t43 = load ptr, ptr %t42 store ptr %t43, ptr %t44 %t45 = load ptr, ptr @g_g_cm_line %t46 = load i32, ptr %t0 %t47 = getelementptr inbounds %LSlice, ptr %t45, i32 0, i32 0 %t48 = load ptr, ptr %t47 %t49 = getelementptr inbounds %LSlice, ptr %t45, i32 0, i32 1 %t50 = load i32, ptr %t49 %t51 = icmp ult i32 %t46, %t50 br i1 %t51, label %ixok9, label %ixbad10 ixbad10: store i32 3261, ptr @lp_site %t52 = call ptr @lp_win_stdio(i32 2) store i32 0, ptr @lp_site call i32 (ptr, ptr, ...) @fprintf(ptr %t52, ptr @.fmt_bounds, ptr @.str3900, i32 %t46, i32 %t50) call void @exit(i32 1) unreachable ixok9: %t53 = getelementptr inbounds i32, ptr %t48, i32 %t46 %t54 = load i32, ptr %t53 store i32 %t54, ptr %t55 %t56 = load ptr, ptr %t22 store i32 3262, ptr @lp_site %t57 = call ptr @lp_str_concat(ptr @.str3901, ptr %t56) store i32 0, ptr @lp_site store i32 3263, ptr @lp_site %t58 = call ptr @lp_str_concat(ptr %t57, ptr @.str3902) store i32 0, ptr @lp_site call void @lp_free(ptr %t57) store ptr %t58, ptr %t59 store i32 0, ptr %t60 br label %wcond11 wcond11: %t61 = load i32, ptr %t60 %t62 = load ptr, ptr @g_g_cm_keep %t63 = load i32, ptr %t0 %t64 = getelementptr inbounds %LSlice, ptr %t62, i32 0, i32 0 %t65 = load ptr, ptr %t64 %t66 = getelementptr inbounds %LSlice, ptr %t62, i32 0, i32 1 %t67 = load i32, ptr %t66 %t68 = icmp ult i32 %t63, %t67 br i1 %t68, label %ixok14, label %ixbad15 ixbad15: store i32 3264, ptr @lp_site %t69 = call ptr @lp_win_stdio(i32 2) store i32 0, ptr @lp_site call i32 (ptr, ptr, ...) @fprintf(ptr %t69, ptr @.fmt_bounds, ptr @.str3903, i32 %t63, i32 %t67) call void @exit(i32 1) unreachable ixok14: %t70 = getelementptr inbounds ptr, ptr %t65, i32 %t63 %t71 = load ptr, ptr %t70 %t72 = getelementptr inbounds %LSlice, ptr %t71, i32 0, i32 1 %t73 = load i32, ptr %t72 %t74 = icmp slt i32 %t61, %t73 %t75 = zext i1 %t74 to i32 %t76 = icmp ne i32 %t75, 0 br i1 %t76, label %wbody12, label %wend13 wbody12: %t77 = load ptr, ptr %t59 %t78 = load ptr, ptr @g_g_cm_keep %t79 = load i32, ptr %t0 %t80 = getelementptr inbounds %LSlice, ptr %t78, i32 0, i32 0 %t81 = load ptr, ptr %t80 %t82 = getelementptr inbounds %LSlice, ptr %t78, i32 0, i32 1 %t83 = load i32, ptr %t82 %t84 = icmp ult i32 %t79, %t83 br i1 %t84, label %ixok16, label %ixbad17 ixbad17: store i32 3265, ptr @lp_site %t85 = call ptr @lp_win_stdio(i32 2) store i32 0, ptr @lp_site call i32 (ptr, ptr, ...) @fprintf(ptr %t85, ptr @.fmt_bounds, ptr @.str3905, i32 %t79, i32 %t83) call void @exit(i32 1) unreachable ixok16: %t86 = getelementptr inbounds ptr, ptr %t81, i32 %t79 %t87 = load ptr, ptr %t86 %t88 = load i32, ptr %t60 %t89 = getelementptr inbounds %LSlice, ptr %t87, i32 0, i32 0 %t90 = load ptr, ptr %t89 %t91 = getelementptr inbounds %LSlice, ptr %t87, i32 0, i32 1 %t92 = load i32, ptr %t91 %t93 = icmp ult i32 %t88, %t92 br i1 %t93, label %ixok18, label %ixbad19 ixbad19: store i32 3266, ptr @lp_site %t94 = call ptr @lp_win_stdio(i32 2) store i32 0, ptr @lp_site call i32 (ptr, ptr, ...) @fprintf(ptr %t94, ptr @.fmt_bounds, ptr @.str3906, i32 %t88, i32 %t92) call void @exit(i32 1) unreachable ixok18: %t95 = getelementptr inbounds ptr, ptr %t90, i32 %t88 %t96 = load ptr, ptr %t95 store i32 3267, ptr @lp_site %t97 = call ptr @lp_str_concat(ptr @.str3904, ptr %t96) store i32 0, ptr @lp_site store i32 3268, ptr @lp_site %t98 = call ptr @lp_str_concat(ptr %t97, ptr @.str3907) store i32 0, ptr @lp_site call void @lp_free(ptr %t97) %t99 = load ptr, ptr @g_g_cm_keep_ty %t100 = load i32, ptr %t0 %t101 = getelementptr inbounds %LSlice, ptr %t99, i32 0, i32 0 %t102 = load ptr, ptr %t101 %t103 = getelementptr inbounds %LSlice, ptr %t99, i32 0, i32 1 %t104 = load i32, ptr %t103 %t105 = icmp ult i32 %t100, %t104 br i1 %t105, label %ixok20, label %ixbad21 ixbad21: store i32 3269, ptr @lp_site %t106 = call ptr @lp_win_stdio(i32 2) store i32 0, ptr @lp_site call i32 (ptr, ptr, ...) @fprintf(ptr %t106, ptr @.fmt_bounds, ptr @.str3908, i32 %t100, i32 %t104) call void @exit(i32 1) unreachable ixok20: %t107 = getelementptr inbounds ptr, ptr %t102, i32 %t100 %t108 = load ptr, ptr %t107 %t109 = load i32, ptr %t60 %t110 = getelementptr inbounds %LSlice, ptr %t108, i32 0, i32 0 %t111 = load ptr, ptr %t110 %t112 = getelementptr inbounds %LSlice, ptr %t108, i32 0, i32 1 %t113 = load i32, ptr %t112 %t114 = icmp ult i32 %t109, %t113 br i1 %t114, label %ixok22, label %ixbad23 ixbad23: store i32 3270, ptr @lp_site %t115 = call ptr @lp_win_stdio(i32 2) store i32 0, ptr @lp_site call i32 (ptr, ptr, ...) @fprintf(ptr %t115, ptr @.fmt_bounds, ptr @.str3909, i32 %t109, i32 %t113) call void @exit(i32 1) unreachable ixok22: %t116 = getelementptr inbounds ptr, ptr %t111, i32 %t109 %t117 = load ptr, ptr %t116 store i32 3271, ptr @lp_site %t118 = call ptr @lp_str_concat(ptr %t98, ptr %t117) store i32 0, ptr @lp_site call void @lp_free(ptr %t98) store i32 3272, ptr @lp_site %t119 = call ptr @lp_str_concat(ptr %t118, ptr @.str3910) store i32 0, ptr @lp_site call void @lp_free(ptr %t118) store i32 3273, ptr @lp_site %t120 = call ptr @lp_str_concat(ptr %t77, ptr %t119) store i32 0, ptr @lp_site call void @lp_free(ptr %t119) store ptr %t120, ptr %t59 %t121 = load i32, ptr %t60 %t122 = add i32 %t121, 1 store i32 %t122, ptr %t60 br label %wcond11 wend13: %t123 = load ptr, ptr %t59 store i32 3274, ptr @lp_site %t124 = call ptr @lp_str_concat(ptr %t123, ptr @.str3911) store i32 0, ptr @lp_site %t125 = load ptr, ptr %t44 %t126 = load i32, ptr %t55 %t127 = load ptr, ptr %t33 %t128 = getelementptr inbounds %Cmp_Node, ptr %t127, i32 0, i32 10 %t129 = load i32, ptr %t128 call void @fn_vw_parse(ptr %t124, ptr %t125, i32 %t126, i32 %t129) %t130 = load i32, ptr %t0 %t131 = load ptr, ptr %t22 call void @fn_cm_bodies(i32 %t130, ptr %t131) %t132 = load i32, ptr %t0 %t133 = load ptr, ptr %t19 %t134 = load ptr, ptr %t22 %t135 = call ptr @fn_cm_new_src(i32 %t132, ptr %t133, ptr %t134) %t136 = load ptr, ptr %t44 %t137 = load i32, ptr %t55 %t138 = load ptr, ptr %t33 %t139 = getelementptr inbounds %Cmp_Node, ptr %t138, i32 0, i32 10 %t140 = load i32, ptr %t139 call void @fn_vw_parse(ptr %t135, ptr %t136, i32 %t137, i32 %t140) %t141 = load i32, ptr %t0 %t142 = load ptr, ptr %t19 %t143 = load ptr, ptr %t22 %t144 = call ptr @fn_cm_props_src(i32 %t141, ptr %t142, ptr %t143) %t145 = load ptr, ptr %t44 %t146 = load i32, ptr %t55 %t147 = load ptr, ptr %t33 %t148 = getelementptr inbounds %Cmp_Node, ptr %t147, i32 0, i32 10 %t149 = load i32, ptr %t148 call void @fn_vw_parse(ptr %t144, ptr %t145, i32 %t146, i32 %t149) %t150 = load i32, ptr %t0 %t151 = load ptr, ptr %t19 %t152 = load ptr, ptr %t22 %t153 = load ptr, ptr %t33 %t154 = call ptr @fn_cm_model_src(i32 %t150, ptr %t151, ptr %t152, ptr %t153) %t155 = load ptr, ptr %t44 %t156 = load i32, ptr %t55 %t157 = load ptr, ptr %t33 %t158 = getelementptr inbounds %Cmp_Node, ptr %t157, i32 0, i32 10 %t159 = load i32, ptr %t158 call void @fn_vw_parse(ptr %t154, ptr %t155, i32 %t156, i32 %t159) %t160 = load i32, ptr %t0 %t161 = load ptr, ptr %t19 %t162 = load ptr, ptr %t22 %t163 = load ptr, ptr %t33 %t164 = call ptr @fn_cm_call_src(i32 %t160, ptr %t161, ptr %t162, ptr %t163) %t165 = load ptr, ptr %t44 %t166 = load i32, ptr %t55 %t167 = load ptr, ptr %t33 %t168 = getelementptr inbounds %Cmp_Node, ptr %t167, i32 0, i32 10 %t169 = load i32, ptr %t168 call void @fn_vw_parse(ptr %t164, ptr %t165, i32 %t166, i32 %t169) %t170 = load i32, ptr %t0 %t171 = load ptr, ptr %t19 %t172 = load ptr, ptr %t33 call void @fn_cm_class(i32 %t170, ptr %t171, ptr %t172) br label %ret ret: ret void } define void @fn_cm_bodies(i32 %arg_c, ptr %arg_rec) { entry: %t0 = alloca i32 %t1 = alloca ptr %t2 = alloca i32 %t99 = alloca ptr store i32 %arg_c, ptr %t0 store ptr %arg_rec, ptr %t1 store i32 0, ptr %t2 br label %wcond0 wcond0: %t3 = load i32, ptr %t2 %t4 = load ptr, ptr @g_g_cm_defs %t5 = load i32, ptr %t0 %t6 = getelementptr inbounds %LSlice, ptr %t4, i32 0, i32 0 %t7 = load ptr, ptr %t6 %t8 = getelementptr inbounds %LSlice, ptr %t4, i32 0, i32 1 %t9 = load i32, ptr %t8 %t10 = icmp ult i32 %t5, %t9 br i1 %t10, label %ixok3, label %ixbad4 ixbad4: store i32 3275, ptr @lp_site %t11 = call ptr @lp_win_stdio(i32 2) store i32 0, ptr @lp_site call i32 (ptr, ptr, ...) @fprintf(ptr %t11, ptr @.fmt_bounds, ptr @.str3912, i32 %t5, i32 %t9) call void @exit(i32 1) unreachable ixok3: %t12 = getelementptr inbounds ptr, ptr %t7, i32 %t5 %t13 = load ptr, ptr %t12 %t14 = getelementptr inbounds %LSlice, ptr %t13, i32 0, i32 1 %t15 = load i32, ptr %t14 %t16 = icmp slt i32 %t3, %t15 %t17 = zext i1 %t16 to i32 %t18 = icmp ne i32 %t17, 0 br i1 %t18, label %wbody1, label %wend2 wbody1: %t19 = load ptr, ptr @g_g_cm_defs %t20 = load i32, ptr %t0 %t21 = getelementptr inbounds %LSlice, ptr %t19, i32 0, i32 0 %t22 = load ptr, ptr %t21 %t23 = getelementptr inbounds %LSlice, ptr %t19, i32 0, i32 1 %t24 = load i32, ptr %t23 %t25 = icmp ult i32 %t20, %t24 br i1 %t25, label %ixok5, label %ixbad6 ixbad6: store i32 3276, ptr @lp_site %t26 = call ptr @lp_win_stdio(i32 2) store i32 0, ptr @lp_site call i32 (ptr, ptr, ...) @fprintf(ptr %t26, ptr @.fmt_bounds, ptr @.str3914, i32 %t20, i32 %t24) call void @exit(i32 1) unreachable ixok5: %t27 = getelementptr inbounds ptr, ptr %t22, i32 %t20 %t28 = load ptr, ptr %t27 %t29 = load i32, ptr %t2 %t30 = getelementptr inbounds %LSlice, ptr %t28, i32 0, i32 0 %t31 = load ptr, ptr %t30 %t32 = getelementptr inbounds %LSlice, ptr %t28, i32 0, i32 1 %t33 = load i32, ptr %t32 %t34 = icmp ult i32 %t29, %t33 br i1 %t34, label %ixok7, label %ixbad8 ixbad8: store i32 3277, ptr @lp_site %t35 = call ptr @lp_win_stdio(i32 2) store i32 0, ptr @lp_site call i32 (ptr, ptr, ...) @fprintf(ptr %t35, ptr @.fmt_bounds, ptr @.str3915, i32 %t29, i32 %t33) call void @exit(i32 1) unreachable ixok7: %t36 = getelementptr inbounds ptr, ptr %t31, i32 %t29 %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 %then9, label %ifend11 then9: %t41 = load i32, ptr %t0 %t42 = load ptr, ptr @g_g_cm_defs %t43 = load i32, ptr %t0 %t44 = getelementptr inbounds %LSlice, ptr %t42, i32 0, i32 0 %t45 = load ptr, ptr %t44 %t46 = getelementptr inbounds %LSlice, ptr %t42, i32 0, i32 1 %t47 = load i32, ptr %t46 %t48 = icmp ult i32 %t43, %t47 br i1 %t48, label %ixok12, label %ixbad13 ixbad13: store i32 3278, ptr @lp_site %t49 = call ptr @lp_win_stdio(i32 2) store i32 0, ptr @lp_site call i32 (ptr, ptr, ...) @fprintf(ptr %t49, ptr @.fmt_bounds, ptr @.str3916, i32 %t43, i32 %t47) call void @exit(i32 1) unreachable ixok12: %t50 = getelementptr inbounds ptr, ptr %t45, i32 %t43 %t51 = load ptr, ptr %t50 %t52 = load i32, ptr %t2 %t53 = getelementptr inbounds %LSlice, ptr %t51, i32 0, i32 0 %t54 = load ptr, ptr %t53 %t55 = getelementptr inbounds %LSlice, ptr %t51, i32 0, i32 1 %t56 = load i32, ptr %t55 %t57 = icmp ult i32 %t52, %t56 br i1 %t57, label %ixok14, label %ixbad15 ixbad15: store i32 3279, ptr @lp_site %t58 = call ptr @lp_win_stdio(i32 2) store i32 0, ptr @lp_site call i32 (ptr, ptr, ...) @fprintf(ptr %t58, ptr @.fmt_bounds, ptr @.str3917, i32 %t52, i32 %t56) call void @exit(i32 1) unreachable ixok14: %t59 = getelementptr inbounds ptr, ptr %t54, i32 %t52 %t60 = load ptr, ptr %t59 %t61 = load ptr, ptr %t1 call void @fn_cm_rewrite(i32 %t41, ptr %t60, ptr %t61) br label %ifend11 ifend11: %t62 = load i32, ptr %t2 %t63 = add i32 %t62, 1 store i32 %t63, ptr %t2 br label %wcond0 wend2: store i32 0, ptr %t2 br label %wcond16 wcond16: %t64 = load i32, ptr %t2 %t65 = load ptr, ptr @g_g_cm_fields %t66 = load i32, ptr %t0 %t67 = getelementptr inbounds %LSlice, ptr %t65, i32 0, i32 0 %t68 = load ptr, ptr %t67 %t69 = getelementptr inbounds %LSlice, ptr %t65, i32 0, i32 1 %t70 = load i32, ptr %t69 %t71 = icmp ult i32 %t66, %t70 br i1 %t71, label %ixok19, label %ixbad20 ixbad20: store i32 3280, ptr @lp_site %t72 = call ptr @lp_win_stdio(i32 2) store i32 0, ptr @lp_site call i32 (ptr, ptr, ...) @fprintf(ptr %t72, ptr @.fmt_bounds, ptr @.str3918, i32 %t66, i32 %t70) call void @exit(i32 1) unreachable ixok19: %t73 = getelementptr inbounds ptr, ptr %t68, i32 %t66 %t74 = load ptr, ptr %t73 %t75 = getelementptr inbounds %LSlice, ptr %t74, i32 0, i32 1 %t76 = load i32, ptr %t75 %t77 = icmp slt i32 %t64, %t76 %t78 = zext i1 %t77 to i32 %t79 = icmp ne i32 %t78, 0 br i1 %t79, label %wbody17, label %wend18 wbody17: %t80 = load ptr, ptr @g_g_cm_fields %t81 = load i32, ptr %t0 %t82 = getelementptr inbounds %LSlice, ptr %t80, i32 0, i32 0 %t83 = load ptr, ptr %t82 %t84 = getelementptr inbounds %LSlice, ptr %t80, i32 0, i32 1 %t85 = load i32, ptr %t84 %t86 = icmp ult i32 %t81, %t85 br i1 %t86, label %ixok21, label %ixbad22 ixbad22: store i32 3281, ptr @lp_site %t87 = call ptr @lp_win_stdio(i32 2) store i32 0, ptr @lp_site call i32 (ptr, ptr, ...) @fprintf(ptr %t87, ptr @.fmt_bounds, ptr @.str3919, i32 %t81, i32 %t85) call void @exit(i32 1) unreachable ixok21: %t88 = getelementptr inbounds ptr, ptr %t83, i32 %t81 %t89 = load ptr, ptr %t88 %t90 = load i32, ptr %t2 %t91 = getelementptr inbounds %LSlice, ptr %t89, i32 0, i32 0 %t92 = load ptr, ptr %t91 %t93 = getelementptr inbounds %LSlice, ptr %t89, i32 0, i32 1 %t94 = load i32, ptr %t93 %t95 = icmp ult i32 %t90, %t94 br i1 %t95, label %ixok23, label %ixbad24 ixbad24: store i32 3282, ptr @lp_site %t96 = call ptr @lp_win_stdio(i32 2) store i32 0, ptr @lp_site call i32 (ptr, ptr, ...) @fprintf(ptr %t96, ptr @.fmt_bounds, ptr @.str3920, i32 %t90, i32 %t94) call void @exit(i32 1) unreachable ixok23: %t97 = getelementptr inbounds ptr, ptr %t92, i32 %t90 %t98 = load ptr, ptr %t97 store ptr %t98, ptr %t99 %t100 = load ptr, ptr %t99 %t101 = getelementptr inbounds %Cmp_Node, ptr %t100, i32 0, i32 3 %t102 = load ptr, ptr %t101 %t103 = icmp eq ptr %t102, null %t104 = zext i1 %t103 to i32 %t105 = icmp ne i32 %t104, 0 br i1 %t105, label %then25, label %ifend27 then25: %t106 = load ptr, ptr %t99 %t107 = getelementptr inbounds %Cmp_Node, ptr %t106, i32 0, i32 3 %t108 = load i32, ptr %t0 %t109 = load ptr, ptr %t99 %t110 = load ptr, ptr @g_g_cm_fnames %t111 = load i32, ptr %t0 %t112 = getelementptr inbounds %LSlice, ptr %t110, i32 0, i32 0 %t113 = load ptr, ptr %t112 %t114 = getelementptr inbounds %LSlice, ptr %t110, i32 0, i32 1 %t115 = load i32, ptr %t114 %t116 = icmp ult i32 %t111, %t115 br i1 %t116, label %ixok28, label %ixbad29 ixbad29: store i32 3283, ptr @lp_site %t117 = call ptr @lp_win_stdio(i32 2) store i32 0, ptr @lp_site call i32 (ptr, ptr, ...) @fprintf(ptr %t117, ptr @.fmt_bounds, ptr @.str3921, i32 %t111, i32 %t115) call void @exit(i32 1) unreachable ixok28: %t118 = getelementptr inbounds ptr, ptr %t113, i32 %t111 %t119 = load ptr, ptr %t118 %t120 = load i32, ptr %t2 %t121 = getelementptr inbounds %LSlice, ptr %t119, i32 0, i32 0 %t122 = load ptr, ptr %t121 %t123 = getelementptr inbounds %LSlice, ptr %t119, i32 0, i32 1 %t124 = load i32, ptr %t123 %t125 = icmp ult i32 %t120, %t124 br i1 %t125, label %ixok30, label %ixbad31 ixbad31: store i32 3284, ptr @lp_site %t126 = call ptr @lp_win_stdio(i32 2) store i32 0, ptr @lp_site call i32 (ptr, ptr, ...) @fprintf(ptr %t126, ptr @.fmt_bounds, ptr @.str3922, i32 %t120, i32 %t124) call void @exit(i32 1) unreachable ixok30: %t127 = getelementptr inbounds ptr, ptr %t122, i32 %t120 %t128 = load ptr, ptr %t127 %t129 = call ptr @fn_cm_infer(i32 %t108, ptr %t109, ptr %t128) store ptr %t129, ptr %t107 br label %ifend27 ifend27: %t130 = load i32, ptr %t0 %t131 = load ptr, ptr %t99 %t132 = load ptr, ptr %t1 call void @fn_cm_rewrite(i32 %t130, ptr %t131, ptr %t132) %t133 = load i32, ptr %t2 %t134 = add i32 %t133, 1 store i32 %t134, ptr %t2 br label %wcond16 wend18: store i32 0, ptr %t2 br label %wcond32 wcond32: %t135 = load i32, ptr %t2 %t136 = load ptr, ptr @g_g_cm_calls %t137 = load i32, ptr %t0 %t138 = getelementptr inbounds %LSlice, ptr %t136, i32 0, i32 0 %t139 = load ptr, ptr %t138 %t140 = getelementptr inbounds %LSlice, ptr %t136, i32 0, i32 1 %t141 = load i32, ptr %t140 %t142 = icmp ult i32 %t137, %t141 br i1 %t142, label %ixok35, label %ixbad36 ixbad36: store i32 3285, ptr @lp_site %t143 = call ptr @lp_win_stdio(i32 2) store i32 0, ptr @lp_site call i32 (ptr, ptr, ...) @fprintf(ptr %t143, ptr @.fmt_bounds, ptr @.str3923, i32 %t137, i32 %t141) call void @exit(i32 1) unreachable ixok35: %t144 = getelementptr inbounds ptr, ptr %t139, i32 %t137 %t145 = load ptr, ptr %t144 %t146 = getelementptr inbounds %LSlice, ptr %t145, i32 0, i32 1 %t147 = load i32, ptr %t146 %t148 = icmp slt i32 %t135, %t147 %t149 = zext i1 %t148 to i32 %t150 = icmp ne i32 %t149, 0 br i1 %t150, label %wbody33, label %wend34 wbody33: %t151 = load i32, ptr %t0 %t152 = load ptr, ptr @g_g_cm_calls %t153 = load i32, ptr %t0 %t154 = getelementptr inbounds %LSlice, ptr %t152, i32 0, i32 0 %t155 = load ptr, ptr %t154 %t156 = getelementptr inbounds %LSlice, ptr %t152, i32 0, i32 1 %t157 = load i32, ptr %t156 %t158 = icmp ult i32 %t153, %t157 br i1 %t158, label %ixok37, label %ixbad38 ixbad38: store i32 3286, ptr @lp_site %t159 = call ptr @lp_win_stdio(i32 2) store i32 0, ptr @lp_site call i32 (ptr, ptr, ...) @fprintf(ptr %t159, ptr @.fmt_bounds, ptr @.str3924, i32 %t153, i32 %t157) call void @exit(i32 1) unreachable ixok37: %t160 = getelementptr inbounds ptr, ptr %t155, i32 %t153 %t161 = load ptr, ptr %t160 %t162 = load i32, ptr %t2 %t163 = getelementptr inbounds %LSlice, ptr %t161, i32 0, i32 0 %t164 = load ptr, ptr %t163 %t165 = getelementptr inbounds %LSlice, ptr %t161, i32 0, i32 1 %t166 = load i32, ptr %t165 %t167 = icmp ult i32 %t162, %t166 br i1 %t167, label %ixok39, label %ixbad40 ixbad40: store i32 3287, ptr @lp_site %t168 = call ptr @lp_win_stdio(i32 2) store i32 0, ptr @lp_site call i32 (ptr, ptr, ...) @fprintf(ptr %t168, ptr @.fmt_bounds, ptr @.str3925, i32 %t162, i32 %t166) call void @exit(i32 1) unreachable ixok39: %t169 = getelementptr inbounds ptr, ptr %t164, i32 %t162 %t170 = load ptr, ptr %t169 %t171 = load ptr, ptr %t1 call void @fn_cm_rewrite(i32 %t151, ptr %t170, ptr %t171) %t172 = load i32, ptr %t2 %t173 = add i32 %t172, 1 store i32 %t173, ptr %t2 br label %wcond32 wend34: br label %ret ret: ret void } define ptr @fn_cm_infer(i32 %arg_c, ptr %arg_g, ptr %arg_fname) { entry: %retval = alloca ptr %t0 = alloca i32 %t1 = alloca ptr %t2 = alloca ptr %t18 = alloca ptr %t19 = alloca i32 %t36 = alloca i32 %t98 = alloca i32 %t99 = alloca i32 %t128 = alloca i32 %t195 = alloca ptr %t196 = alloca i32 %t230 = alloca ptr %t231 = alloca i32 %t273 = alloca i32 %t274 = alloca i32 %t309 = alloca ptr %t310 = alloca i32 %t311 = alloca i32 store i32 %arg_c, ptr %t0 store ptr %arg_g, ptr %t1 store ptr %arg_fname, ptr %t2 %t3 = load ptr, ptr %t1 %t4 = getelementptr inbounds %Cmp_Node, ptr %t3, i32 0, i32 4 %t5 = load ptr, ptr %t4 %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 %LSlice, ptr %t7, i32 0, i32 1 %t11 = load i32, ptr %t10 %t12 = icmp ult i32 0, %t11 br i1 %t12, label %ixok0, label %ixbad1 ixbad1: store i32 3288, ptr @lp_site %t13 = call ptr @lp_win_stdio(i32 2) store i32 0, ptr @lp_site call i32 (ptr, ptr, ...) @fprintf(ptr %t13, ptr @.fmt_bounds, ptr @.str3926, i32 0, i32 %t11) call void @exit(i32 1) unreachable ixok0: %t14 = getelementptr inbounds ptr, ptr %t9, i32 0 %t15 = load ptr, ptr %t14 %t16 = getelementptr inbounds %Cmp_Node, ptr %t15, i32 0, i32 4 %t17 = load ptr, ptr %t16 store ptr %t17, ptr %t18 %t20 = load ptr, ptr %t18 %t21 = getelementptr inbounds %Cmp_Node, ptr %t20, i32 0, i32 0 %t22 = load i32, ptr %t21 %t23 = icmp eq i32 %t22, 33 %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 %sc2, label %scend3 sc2: %t27 = load i32, ptr %t0 %t28 = load ptr, ptr %t18 %t29 = getelementptr inbounds %Cmp_Node, ptr %t28, i32 0, i32 1 %t30 = load ptr, ptr %t29 %t31 = call i32 @fn_cm_is_keep(i32 %t27, ptr %t30) %t32 = icmp ne i32 %t31, 0 %t33 = zext i1 %t32 to i32 store i32 %t33, ptr %t19 br label %scend3 scend3: %t34 = load i32, ptr %t19 %t35 = icmp ne i32 %t34, 0 br i1 %t35, label %then4, label %ifend6 then4: store i32 0, ptr %t36 br label %wcond7 wcond7: %t37 = load i32, ptr %t36 %t38 = load ptr, ptr @g_g_cm_keep %t39 = load i32, ptr %t0 %t40 = getelementptr inbounds %LSlice, ptr %t38, i32 0, i32 0 %t41 = load ptr, ptr %t40 %t42 = getelementptr inbounds %LSlice, ptr %t38, i32 0, i32 1 %t43 = load i32, ptr %t42 %t44 = icmp ult i32 %t39, %t43 br i1 %t44, label %ixok10, label %ixbad11 ixbad11: store i32 3289, ptr @lp_site %t45 = call ptr @lp_win_stdio(i32 2) store i32 0, ptr @lp_site call i32 (ptr, ptr, ...) @fprintf(ptr %t45, ptr @.fmt_bounds, ptr @.str3928, i32 %t39, i32 %t43) call void @exit(i32 1) unreachable ixok10: %t46 = getelementptr inbounds ptr, ptr %t41, i32 %t39 %t47 = load ptr, ptr %t46 %t48 = getelementptr inbounds %LSlice, ptr %t47, i32 0, i32 1 %t49 = load i32, ptr %t48 %t50 = icmp slt i32 %t37, %t49 %t51 = zext i1 %t50 to i32 %t52 = icmp ne i32 %t51, 0 br i1 %t52, label %wbody8, label %wend9 wbody8: %t53 = load ptr, ptr @g_g_cm_keep %t54 = load i32, ptr %t0 %t55 = getelementptr inbounds %LSlice, ptr %t53, i32 0, i32 0 %t56 = load ptr, ptr %t55 %t57 = getelementptr inbounds %LSlice, ptr %t53, i32 0, i32 1 %t58 = load i32, ptr %t57 %t59 = icmp ult i32 %t54, %t58 br i1 %t59, label %ixok12, label %ixbad13 ixbad13: store i32 3290, ptr @lp_site %t60 = call ptr @lp_win_stdio(i32 2) store i32 0, ptr @lp_site call i32 (ptr, ptr, ...) @fprintf(ptr %t60, ptr @.fmt_bounds, ptr @.str3929, i32 %t54, i32 %t58) call void @exit(i32 1) unreachable ixok12: %t61 = getelementptr inbounds ptr, ptr %t56, i32 %t54 %t62 = load ptr, ptr %t61 %t63 = load i32, ptr %t36 %t64 = getelementptr inbounds %LSlice, ptr %t62, i32 0, i32 0 %t65 = load ptr, ptr %t64 %t66 = getelementptr inbounds %LSlice, ptr %t62, i32 0, i32 1 %t67 = load i32, ptr %t66 %t68 = icmp ult i32 %t63, %t67 br i1 %t68, label %ixok14, label %ixbad15 ixbad15: store i32 3291, ptr @lp_site %t69 = call ptr @lp_win_stdio(i32 2) store i32 0, ptr @lp_site call i32 (ptr, ptr, ...) @fprintf(ptr %t69, ptr @.fmt_bounds, ptr @.str3930, i32 %t63, i32 %t67) call void @exit(i32 1) unreachable ixok14: %t70 = getelementptr inbounds ptr, ptr %t65, i32 %t63 %t71 = load ptr, ptr %t70 %t72 = load ptr, ptr %t18 %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 %then16, label %ifend18 then16: %t77 = load ptr, ptr @g_g_cm_keep_ty %t78 = load i32, ptr %t0 %t79 = getelementptr inbounds %LSlice, ptr %t77, i32 0, i32 0 %t80 = load ptr, ptr %t79 %t81 = getelementptr inbounds %LSlice, ptr %t77, i32 0, i32 1 %t82 = load i32, ptr %t81 %t83 = icmp ult i32 %t78, %t82 br i1 %t83, label %ixok19, label %ixbad20 ixbad20: store i32 3292, ptr @lp_site %t84 = call ptr @lp_win_stdio(i32 2) store i32 0, ptr @lp_site call i32 (ptr, ptr, ...) @fprintf(ptr %t84, ptr @.fmt_bounds, ptr @.str3931, i32 %t78, i32 %t82) call void @exit(i32 1) unreachable ixok19: %t85 = getelementptr inbounds ptr, ptr %t80, i32 %t78 %t86 = load ptr, ptr %t85 %t87 = load i32, ptr %t36 %t88 = getelementptr inbounds %LSlice, ptr %t86, i32 0, i32 0 %t89 = load ptr, ptr %t88 %t90 = getelementptr inbounds %LSlice, ptr %t86, i32 0, i32 1 %t91 = load i32, ptr %t90 %t92 = icmp ult i32 %t87, %t91 br i1 %t92, label %ixok21, label %ixbad22 ixbad22: store i32 3293, ptr @lp_site %t93 = call ptr @lp_win_stdio(i32 2) store i32 0, ptr @lp_site call i32 (ptr, ptr, ...) @fprintf(ptr %t93, ptr @.fmt_bounds, ptr @.str3932, i32 %t87, i32 %t91) call void @exit(i32 1) unreachable ixok21: %t94 = getelementptr inbounds ptr, ptr %t89, i32 %t87 %t95 = load ptr, ptr %t94 store ptr %t95, ptr %retval br label %ret ifend18: %t96 = load i32, ptr %t36 %t97 = add i32 %t96, 1 store i32 %t97, ptr %t36 br label %wcond7 wend9: br label %ifend6 ifend6: %t100 = load ptr, ptr %t18 %t101 = getelementptr inbounds %Cmp_Node, ptr %t100, i32 0, i32 0 %t102 = load i32, ptr %t101 %t103 = icmp eq i32 %t102, 35 %t104 = zext i1 %t103 to i32 %t105 = icmp ne i32 %t104, 0 %t106 = zext i1 %t105 to i32 store i32 %t106, ptr %t99 br i1 %t105, label %sc23, label %scend24 sc23: %t107 = load ptr, ptr %t18 %t108 = getelementptr inbounds %Cmp_Node, ptr %t107, i32 0, i32 4 %t109 = load ptr, ptr %t108 %t110 = icmp ne ptr %t109, null %t111 = zext i1 %t110 to i32 %t112 = icmp ne i32 %t111, 0 %t113 = zext i1 %t112 to i32 store i32 %t113, ptr %t99 br label %scend24 scend24: %t114 = load i32, ptr %t99 %t115 = icmp ne i32 %t114, 0 %t116 = zext i1 %t115 to i32 store i32 %t116, ptr %t98 br i1 %t115, label %sc25, label %scend26 sc25: %t117 = load ptr, ptr %t18 %t118 = getelementptr inbounds %Cmp_Node, ptr %t117, i32 0, i32 4 %t119 = load ptr, ptr %t118 %t120 = getelementptr inbounds %Cmp_Node, ptr %t119, i32 0, i32 0 %t121 = load i32, ptr %t120 %t122 = icmp eq i32 %t121, 33 %t123 = zext i1 %t122 to i32 %t124 = icmp ne i32 %t123, 0 %t125 = zext i1 %t124 to i32 store i32 %t125, ptr %t98 br label %scend26 scend26: %t126 = load i32, ptr %t98 %t127 = icmp ne i32 %t126, 0 br i1 %t127, label %then27, label %ifend29 then27: store i32 0, ptr %t128 br label %wcond30 wcond30: %t129 = load i32, ptr %t128 %t130 = load ptr, ptr @g_g_cm_ps %t131 = load i32, ptr %t0 %t132 = getelementptr inbounds %LSlice, ptr %t130, i32 0, i32 0 %t133 = load ptr, ptr %t132 %t134 = getelementptr inbounds %LSlice, ptr %t130, i32 0, i32 1 %t135 = load i32, ptr %t134 %t136 = icmp ult i32 %t131, %t135 br i1 %t136, label %ixok33, label %ixbad34 ixbad34: store i32 3294, ptr @lp_site %t137 = call ptr @lp_win_stdio(i32 2) store i32 0, ptr @lp_site call i32 (ptr, ptr, ...) @fprintf(ptr %t137, ptr @.fmt_bounds, ptr @.str3933, i32 %t131, i32 %t135) call void @exit(i32 1) unreachable ixok33: %t138 = getelementptr inbounds ptr, ptr %t133, i32 %t131 %t139 = load ptr, ptr %t138 %t140 = getelementptr inbounds %LSlice, ptr %t139, i32 0, i32 1 %t141 = load i32, ptr %t140 %t142 = icmp slt i32 %t129, %t141 %t143 = zext i1 %t142 to i32 %t144 = icmp ne i32 %t143, 0 br i1 %t144, label %wbody31, label %wend32 wbody31: %t145 = load ptr, ptr @g_g_cm_ps %t146 = load i32, ptr %t0 %t147 = getelementptr inbounds %LSlice, ptr %t145, i32 0, i32 0 %t148 = load ptr, ptr %t147 %t149 = getelementptr inbounds %LSlice, ptr %t145, i32 0, i32 1 %t150 = load i32, ptr %t149 %t151 = icmp ult i32 %t146, %t150 br i1 %t151, label %ixok35, label %ixbad36 ixbad36: store i32 3295, ptr @lp_site %t152 = call ptr @lp_win_stdio(i32 2) store i32 0, ptr @lp_site call i32 (ptr, ptr, ...) @fprintf(ptr %t152, ptr @.fmt_bounds, ptr @.str3934, i32 %t146, i32 %t150) call void @exit(i32 1) unreachable ixok35: %t153 = getelementptr inbounds ptr, ptr %t148, i32 %t146 %t154 = load ptr, ptr %t153 %t155 = load i32, ptr %t128 %t156 = getelementptr inbounds %LSlice, ptr %t154, i32 0, i32 0 %t157 = load ptr, ptr %t156 %t158 = getelementptr inbounds %LSlice, ptr %t154, i32 0, i32 1 %t159 = load i32, ptr %t158 %t160 = icmp ult i32 %t155, %t159 br i1 %t160, label %ixok37, label %ixbad38 ixbad38: store i32 3296, ptr @lp_site %t161 = call ptr @lp_win_stdio(i32 2) store i32 0, ptr @lp_site call i32 (ptr, ptr, ...) @fprintf(ptr %t161, ptr @.fmt_bounds, ptr @.str3935, i32 %t155, i32 %t159) call void @exit(i32 1) unreachable ixok37: %t162 = getelementptr inbounds ptr, ptr %t157, i32 %t155 %t163 = load ptr, ptr %t162 %t164 = getelementptr inbounds %Cmp_Node, ptr %t163, i32 0, i32 1 %t165 = load ptr, ptr %t164 %t166 = load ptr, ptr %t18 %t167 = getelementptr inbounds %Cmp_Node, ptr %t166, i32 0, i32 4 %t168 = load ptr, ptr %t167 %t169 = getelementptr inbounds %Cmp_Node, ptr %t168, i32 0, i32 1 %t170 = load ptr, ptr %t169 %t171 = call i32 @lp_str_eq(ptr %t165, ptr %t170) %t172 = icmp ne i32 %t171, 0 br i1 %t172, label %then39, label %ifend41 then39: %t173 = load ptr, ptr @g_g_cm_ps %t174 = load i32, ptr %t0 %t175 = getelementptr inbounds %LSlice, ptr %t173, i32 0, i32 0 %t176 = load ptr, ptr %t175 %t177 = getelementptr inbounds %LSlice, ptr %t173, i32 0, i32 1 %t178 = load i32, ptr %t177 %t179 = icmp ult i32 %t174, %t178 br i1 %t179, label %ixok42, label %ixbad43 ixbad43: store i32 3297, ptr @lp_site %t180 = call ptr @lp_win_stdio(i32 2) store i32 0, ptr @lp_site call i32 (ptr, ptr, ...) @fprintf(ptr %t180, ptr @.fmt_bounds, ptr @.str3936, i32 %t174, i32 %t178) call void @exit(i32 1) unreachable ixok42: %t181 = getelementptr inbounds ptr, ptr %t176, i32 %t174 %t182 = load ptr, ptr %t181 %t183 = load i32, ptr %t128 %t184 = getelementptr inbounds %LSlice, ptr %t182, i32 0, i32 0 %t185 = load ptr, ptr %t184 %t186 = getelementptr inbounds %LSlice, ptr %t182, i32 0, i32 1 %t187 = load i32, ptr %t186 %t188 = icmp ult i32 %t183, %t187 br i1 %t188, label %ixok44, label %ixbad45 ixbad45: store i32 3298, ptr @lp_site %t189 = call ptr @lp_win_stdio(i32 2) store i32 0, ptr @lp_site call i32 (ptr, ptr, ...) @fprintf(ptr %t189, ptr @.fmt_bounds, ptr @.str3937, i32 %t183, i32 %t187) call void @exit(i32 1) unreachable ixok44: %t190 = getelementptr inbounds ptr, ptr %t185, i32 %t183 %t191 = load ptr, ptr %t190 %t192 = getelementptr inbounds %Cmp_Node, ptr %t191, i32 0, i32 3 %t193 = load ptr, ptr %t192 %t194 = call ptr @fn_find_comp(ptr %t193) store ptr %t194, ptr %t195 %t197 = load ptr, ptr %t195 %t198 = icmp ne ptr %t197, null %t199 = zext i1 %t198 to i32 %t200 = icmp ne i32 %t199, 0 %t201 = zext i1 %t200 to i32 store i32 %t201, ptr %t196 br i1 %t200, label %sc46, label %scend47 sc46: %t202 = load ptr, ptr %t195 %t203 = load ptr, ptr %t18 %t204 = getelementptr inbounds %Cmp_Node, ptr %t203, i32 0, i32 1 %t205 = load ptr, ptr %t204 %t206 = call i32 @fn_field_index(ptr %t202, ptr %t205) %t207 = icmp sge i32 %t206, 0 %t208 = zext i1 %t207 to i32 %t209 = icmp ne i32 %t208, 0 %t210 = zext i1 %t209 to i32 store i32 %t210, ptr %t196 br label %scend47 scend47: %t211 = load i32, ptr %t196 %t212 = icmp ne i32 %t211, 0 br i1 %t212, label %then48, label %ifend50 then48: %t213 = load ptr, ptr %t195 %t214 = load ptr, ptr %t18 %t215 = getelementptr inbounds %Cmp_Node, ptr %t214, i32 0, i32 1 %t216 = load ptr, ptr %t215 %t217 = call ptr @fn_field_type(ptr %t213, ptr %t216) store ptr %t217, ptr %retval br label %ret ifend50: br label %ifend41 ifend41: %t218 = load i32, ptr %t128 %t219 = add i32 %t218, 1 store i32 %t219, ptr %t128 br label %wcond30 wend32: br label %ifend29 ifend29: %t220 = load ptr, ptr %t18 %t221 = getelementptr inbounds %Cmp_Node, ptr %t220, i32 0, i32 0 %t222 = load i32, ptr %t221 %t223 = icmp eq i32 %t222, 33 %t224 = zext i1 %t223 to i32 %t225 = icmp ne i32 %t224, 0 br i1 %t225, label %then51, label %ifend53 then51: %t226 = load ptr, ptr %t18 %t227 = getelementptr inbounds %Cmp_Node, ptr %t226, i32 0, i32 1 %t228 = load ptr, ptr %t227 %t229 = call ptr @fn_find_global(ptr %t228) store ptr %t229, ptr %t230 %t232 = load ptr, ptr %t230 %t233 = icmp ne ptr %t232, null %t234 = zext i1 %t233 to i32 %t235 = icmp ne i32 %t234, 0 %t236 = zext i1 %t235 to i32 store i32 %t236, ptr %t231 br i1 %t235, label %sc54, label %scend55 sc54: %t237 = load ptr, ptr %t230 %t238 = getelementptr inbounds %Cmp_Node, ptr %t237, i32 0, i32 3 %t239 = load ptr, ptr %t238 %t240 = icmp ne ptr %t239, null %t241 = zext i1 %t240 to i32 %t242 = icmp ne i32 %t241, 0 %t243 = zext i1 %t242 to i32 store i32 %t243, ptr %t231 br label %scend55 scend55: %t244 = load i32, ptr %t231 %t245 = icmp ne i32 %t244, 0 br i1 %t245, label %then56, label %ifend58 then56: %t246 = load ptr, ptr %t230 %t247 = getelementptr inbounds %Cmp_Node, ptr %t246, i32 0, i32 3 %t248 = load ptr, ptr %t247 store ptr %t248, ptr %retval br label %ret ifend58: br label %ifend53 ifend53: %t249 = load ptr, ptr %t18 %t250 = getelementptr inbounds %Cmp_Node, ptr %t249, i32 0, i32 0 %t251 = load i32, ptr %t250 %t252 = icmp eq i32 %t251, 30 %t253 = zext i1 %t252 to i32 %t254 = icmp ne i32 %t253, 0 br i1 %t254, label %then59, label %ifend61 then59: store ptr @.str3938, ptr %retval br label %ret ifend61: %t255 = load ptr, ptr %t18 %t256 = getelementptr inbounds %Cmp_Node, ptr %t255, i32 0, i32 0 %t257 = load i32, ptr %t256 %t258 = icmp eq i32 %t257, 40 %t259 = zext i1 %t258 to i32 %t260 = icmp ne i32 %t259, 0 br i1 %t260, label %then62, label %ifend64 then62: store ptr @.str3939, ptr %retval br label %ret ifend64: %t261 = load ptr, ptr %t18 %t262 = getelementptr inbounds %Cmp_Node, ptr %t261, i32 0, i32 0 %t263 = load i32, ptr %t262 %t264 = icmp eq i32 %t263, 32 %t265 = zext i1 %t264 to i32 %t266 = icmp ne i32 %t265, 0 br i1 %t266, label %then65, label %ifend67 then65: store ptr @.str3940, ptr %retval br label %ret ifend67: %t267 = load ptr, ptr %t18 %t268 = getelementptr inbounds %Cmp_Node, ptr %t267, i32 0, i32 0 %t269 = load i32, ptr %t268 %t270 = icmp eq i32 %t269, 31 %t271 = zext i1 %t270 to i32 %t272 = icmp ne i32 %t271, 0 br i1 %t272, label %then68, label %ifend70 then68: store ptr @.str3941, ptr %retval br label %ret ifend70: %t275 = load ptr, ptr %t18 %t276 = getelementptr inbounds %Cmp_Node, ptr %t275, i32 0, i32 0 %t277 = load i32, ptr %t276 %t278 = icmp eq i32 %t277, 34 %t279 = zext i1 %t278 to i32 %t280 = icmp ne i32 %t279, 0 %t281 = zext i1 %t280 to i32 store i32 %t281, ptr %t274 br i1 %t280, label %sc71, label %scend72 sc71: %t282 = load ptr, ptr %t18 %t283 = getelementptr inbounds %Cmp_Node, ptr %t282, i32 0, i32 4 %t284 = load ptr, ptr %t283 %t285 = icmp ne ptr %t284, null %t286 = zext i1 %t285 to i32 %t287 = icmp ne i32 %t286, 0 %t288 = zext i1 %t287 to i32 store i32 %t288, ptr %t274 br label %scend72 scend72: %t289 = load i32, ptr %t274 %t290 = icmp ne i32 %t289, 0 %t291 = zext i1 %t290 to i32 store i32 %t291, ptr %t273 br i1 %t290, label %sc73, label %scend74 sc73: %t292 = load ptr, ptr %t18 %t293 = getelementptr inbounds %Cmp_Node, ptr %t292, i32 0, i32 4 %t294 = load ptr, ptr %t293 %t295 = getelementptr inbounds %Cmp_Node, ptr %t294, i32 0, i32 0 %t296 = load i32, ptr %t295 %t297 = icmp eq i32 %t296, 33 %t298 = zext i1 %t297 to i32 %t299 = icmp ne i32 %t298, 0 %t300 = zext i1 %t299 to i32 store i32 %t300, ptr %t273 br label %scend74 scend74: %t301 = load i32, ptr %t273 %t302 = icmp ne i32 %t301, 0 br i1 %t302, label %then75, label %ifend77 then75: %t303 = load ptr, ptr %t18 %t304 = getelementptr inbounds %Cmp_Node, ptr %t303, i32 0, i32 4 %t305 = load ptr, ptr %t304 %t306 = getelementptr inbounds %Cmp_Node, ptr %t305, i32 0, i32 1 %t307 = load ptr, ptr %t306 %t308 = call ptr @fn_find_fn(ptr %t307) store ptr %t308, ptr %t309 %t312 = load ptr, ptr %t309 %t313 = icmp ne ptr %t312, null %t314 = zext i1 %t313 to i32 %t315 = icmp ne i32 %t314, 0 %t316 = zext i1 %t315 to i32 store i32 %t316, ptr %t311 br i1 %t315, label %sc78, label %scend79 sc78: %t317 = load ptr, ptr %t309 %t318 = getelementptr inbounds %Cmp_Node, ptr %t317, i32 0, i32 3 %t319 = load ptr, ptr %t318 %t320 = icmp ne ptr %t319, null %t321 = zext i1 %t320 to i32 %t322 = icmp ne i32 %t321, 0 %t323 = zext i1 %t322 to i32 store i32 %t323, ptr %t311 br label %scend79 scend79: %t324 = load i32, ptr %t311 %t325 = icmp ne i32 %t324, 0 %t326 = zext i1 %t325 to i32 store i32 %t326, ptr %t310 br i1 %t325, label %sc80, label %scend81 sc80: %t327 = load ptr, ptr %t309 %t328 = getelementptr inbounds %Cmp_Node, ptr %t327, i32 0, i32 3 %t329 = load ptr, ptr %t328 %t330 = call i32 @lp_str_eq(ptr %t329, ptr @.str3942) %t331 = icmp eq i32 %t330, 0 %t332 = zext i1 %t331 to i32 %t333 = icmp ne i32 %t332, 0 %t334 = zext i1 %t333 to i32 store i32 %t334, ptr %t310 br label %scend81 scend81: %t335 = load i32, ptr %t310 %t336 = icmp ne i32 %t335, 0 br i1 %t336, label %then82, label %ifend84 then82: %t337 = load ptr, ptr %t309 %t338 = getelementptr inbounds %Cmp_Node, ptr %t337, i32 0, i32 3 %t339 = load ptr, ptr %t338 store ptr %t339, ptr %retval br label %ret ifend84: br label %ifend77 ifend77: %t340 = load ptr, ptr @g_g_cm_line %t341 = load i32, ptr %t0 %t342 = getelementptr inbounds %LSlice, ptr %t340, i32 0, i32 0 %t343 = load ptr, ptr %t342 %t344 = getelementptr inbounds %LSlice, ptr %t340, i32 0, i32 1 %t345 = load i32, ptr %t344 %t346 = icmp ult i32 %t341, %t345 br i1 %t346, label %ixok85, label %ixbad86 ixbad86: store i32 3299, ptr @lp_site %t347 = call ptr @lp_win_stdio(i32 2) store i32 0, ptr @lp_site call i32 (ptr, ptr, ...) @fprintf(ptr %t347, ptr @.fmt_bounds, ptr @.str3943, i32 %t341, i32 %t345) call void @exit(i32 1) unreachable ixok85: %t348 = getelementptr inbounds i32, ptr %t343, i32 %t341 %t349 = load ptr, ptr %t1 %t350 = getelementptr inbounds %Cmp_Node, ptr %t349, i32 0, i32 8 %t351 = load i32, ptr %t350 store i32 %t351, ptr %t348 %t352 = load i32, ptr %t0 %t353 = load ptr, ptr %t2 store i32 3300, ptr @lp_site %t354 = call ptr @lp_str_concat(ptr @.str3944, ptr %t353) store i32 0, ptr @lp_site store i32 3301, ptr @lp_site %t355 = call ptr @lp_str_concat(ptr %t354, ptr @.str3945) store i32 0, ptr @lp_site call void @lp_free(ptr %t354) %t356 = load ptr, ptr %t2 store i32 3302, ptr @lp_site %t357 = call ptr @lp_str_concat(ptr %t355, ptr %t356) store i32 0, ptr @lp_site call void @lp_free(ptr %t355) store i32 3303, ptr @lp_site %t358 = call ptr @lp_str_concat(ptr %t357, ptr @.str3946) store i32 0, ptr @lp_site call void @lp_free(ptr %t357) call void @fn_cm_err(i32 %t352, ptr %t358) store ptr @.str3947, ptr %retval br label %ret ret: %t359 = load ptr, ptr %retval ret ptr %t359 } define ptr @fn_cm_new_src(i32 %arg_c, ptr %arg_px, ptr %arg_rec) { entry: %retval = alloca ptr %t0 = alloca i32 %t1 = alloca ptr %t2 = alloca ptr %t9 = alloca ptr %t10 = alloca i32 store i32 %arg_c, ptr %t0 store ptr %arg_px, ptr %t1 store ptr %arg_rec, ptr %t2 %t3 = load ptr, ptr %t1 store i32 3304, ptr @lp_site %t4 = call ptr @lp_str_concat(ptr @.str3948, ptr %t3) store i32 0, ptr @lp_site store i32 3305, ptr @lp_site %t5 = call ptr @lp_str_concat(ptr %t4, ptr @.str3950) store i32 0, ptr @lp_site call void @lp_free(ptr %t4) %t6 = load ptr, ptr %t2 store i32 3306, ptr @lp_site %t7 = call ptr @lp_str_concat(ptr %t5, ptr %t6) store i32 0, ptr @lp_site call void @lp_free(ptr %t5) store i32 3307, ptr @lp_site %t8 = call ptr @lp_str_concat(ptr %t7, ptr @.str3951) store i32 0, ptr @lp_site call void @lp_free(ptr %t7) store ptr %t8, ptr %t9 store i32 0, ptr %t10 br label %wcond0 wcond0: %t11 = load i32, ptr %t10 %t12 = load ptr, ptr @g_g_cm_keep %t13 = load i32, ptr %t0 %t14 = getelementptr inbounds %LSlice, ptr %t12, i32 0, i32 0 %t15 = load ptr, ptr %t14 %t16 = getelementptr inbounds %LSlice, ptr %t12, i32 0, i32 1 %t17 = load i32, ptr %t16 %t18 = icmp ult i32 %t13, %t17 br i1 %t18, label %ixok3, label %ixbad4 ixbad4: store i32 3308, ptr @lp_site %t19 = call ptr @lp_win_stdio(i32 2) store i32 0, ptr @lp_site call i32 (ptr, ptr, ...) @fprintf(ptr %t19, ptr @.fmt_bounds, ptr @.str3952, i32 %t13, i32 %t17) call void @exit(i32 1) unreachable ixok3: %t20 = getelementptr inbounds ptr, ptr %t15, i32 %t13 %t21 = load ptr, ptr %t20 %t22 = getelementptr inbounds %LSlice, ptr %t21, i32 0, i32 1 %t23 = load i32, ptr %t22 %t24 = icmp slt i32 %t11, %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 @g_g_cm_defs %t28 = load i32, ptr %t0 %t29 = getelementptr inbounds %LSlice, ptr %t27, i32 0, i32 0 %t30 = load ptr, ptr %t29 %t31 = getelementptr inbounds %LSlice, ptr %t27, i32 0, i32 1 %t32 = load i32, ptr %t31 %t33 = icmp ult i32 %t28, %t32 br i1 %t33, label %ixok5, label %ixbad6 ixbad6: store i32 3309, ptr @lp_site %t34 = call ptr @lp_win_stdio(i32 2) store i32 0, ptr @lp_site call i32 (ptr, ptr, ...) @fprintf(ptr %t34, ptr @.fmt_bounds, ptr @.str3953, i32 %t28, i32 %t32) call void @exit(i32 1) unreachable ixok5: %t35 = getelementptr inbounds ptr, ptr %t30, i32 %t28 %t36 = load ptr, ptr %t35 %t37 = load i32, ptr %t10 %t38 = getelementptr inbounds %LSlice, ptr %t36, i32 0, i32 0 %t39 = load ptr, ptr %t38 %t40 = getelementptr inbounds %LSlice, ptr %t36, i32 0, i32 1 %t41 = load i32, ptr %t40 %t42 = icmp ult i32 %t37, %t41 br i1 %t42, label %ixok7, label %ixbad8 ixbad8: store i32 3310, ptr @lp_site %t43 = call ptr @lp_win_stdio(i32 2) store i32 0, ptr @lp_site call i32 (ptr, ptr, ...) @fprintf(ptr %t43, ptr @.fmt_bounds, ptr @.str3954, i32 %t37, i32 %t41) call void @exit(i32 1) unreachable ixok7: %t44 = getelementptr inbounds ptr, ptr %t39, i32 %t37 %t45 = load ptr, ptr %t44 %t46 = icmp ne ptr %t45, null %t47 = zext i1 %t46 to i32 %t48 = icmp ne i32 %t47, 0 br i1 %t48, label %then9, label %ifend11 then9: %t49 = load ptr, ptr %t9 %t50 = load ptr, ptr @g_g_cm_keep %t51 = load i32, ptr %t0 %t52 = getelementptr inbounds %LSlice, ptr %t50, i32 0, i32 0 %t53 = load ptr, ptr %t52 %t54 = getelementptr inbounds %LSlice, ptr %t50, i32 0, i32 1 %t55 = load i32, ptr %t54 %t56 = icmp ult i32 %t51, %t55 br i1 %t56, label %ixok12, label %ixbad13 ixbad13: store i32 3311, ptr @lp_site %t57 = call ptr @lp_win_stdio(i32 2) store i32 0, ptr @lp_site call i32 (ptr, ptr, ...) @fprintf(ptr %t57, ptr @.fmt_bounds, ptr @.str3956, i32 %t51, i32 %t55) call void @exit(i32 1) unreachable ixok12: %t58 = getelementptr inbounds ptr, ptr %t53, i32 %t51 %t59 = load ptr, ptr %t58 %t60 = load i32, ptr %t10 %t61 = getelementptr inbounds %LSlice, ptr %t59, i32 0, i32 0 %t62 = load ptr, ptr %t61 %t63 = getelementptr inbounds %LSlice, ptr %t59, i32 0, i32 1 %t64 = load i32, ptr %t63 %t65 = icmp ult i32 %t60, %t64 br i1 %t65, label %ixok14, label %ixbad15 ixbad15: store i32 3312, ptr @lp_site %t66 = call ptr @lp_win_stdio(i32 2) store i32 0, ptr @lp_site call i32 (ptr, ptr, ...) @fprintf(ptr %t66, ptr @.fmt_bounds, ptr @.str3957, i32 %t60, i32 %t64) call void @exit(i32 1) unreachable ixok14: %t67 = getelementptr inbounds ptr, ptr %t62, i32 %t60 %t68 = load ptr, ptr %t67 store i32 3313, ptr @lp_site %t69 = call ptr @lp_str_concat(ptr @.str3955, ptr %t68) store i32 0, ptr @lp_site store i32 3314, ptr @lp_site %t70 = call ptr @lp_str_concat(ptr %t69, ptr @.str3958) store i32 0, ptr @lp_site call void @lp_free(ptr %t69) %t71 = load ptr, ptr %t1 store i32 3315, ptr @lp_site %t72 = call ptr @lp_str_concat(ptr %t70, ptr %t71) store i32 0, ptr @lp_site call void @lp_free(ptr %t70) store i32 3316, ptr @lp_site %t73 = call ptr @lp_str_concat(ptr %t72, ptr @.str3959) store i32 0, ptr @lp_site call void @lp_free(ptr %t72) %t74 = load ptr, ptr @g_g_cm_keep %t75 = load i32, ptr %t0 %t76 = getelementptr inbounds %LSlice, ptr %t74, i32 0, i32 0 %t77 = load ptr, ptr %t76 %t78 = getelementptr inbounds %LSlice, ptr %t74, i32 0, i32 1 %t79 = load i32, ptr %t78 %t80 = icmp ult i32 %t75, %t79 br i1 %t80, label %ixok16, label %ixbad17 ixbad17: store i32 3317, ptr @lp_site %t81 = call ptr @lp_win_stdio(i32 2) store i32 0, ptr @lp_site call i32 (ptr, ptr, ...) @fprintf(ptr %t81, ptr @.fmt_bounds, ptr @.str3960, i32 %t75, i32 %t79) call void @exit(i32 1) unreachable ixok16: %t82 = getelementptr inbounds ptr, ptr %t77, i32 %t75 %t83 = load ptr, ptr %t82 %t84 = load i32, ptr %t10 %t85 = getelementptr inbounds %LSlice, ptr %t83, i32 0, i32 0 %t86 = load ptr, ptr %t85 %t87 = getelementptr inbounds %LSlice, ptr %t83, i32 0, i32 1 %t88 = load i32, ptr %t87 %t89 = icmp ult i32 %t84, %t88 br i1 %t89, label %ixok18, label %ixbad19 ixbad19: store i32 3318, ptr @lp_site %t90 = call ptr @lp_win_stdio(i32 2) store i32 0, ptr @lp_site call i32 (ptr, ptr, ...) @fprintf(ptr %t90, ptr @.fmt_bounds, ptr @.str3961, i32 %t84, i32 %t88) call void @exit(i32 1) unreachable ixok18: %t91 = getelementptr inbounds ptr, ptr %t86, i32 %t84 %t92 = load ptr, ptr %t91 store i32 3319, ptr @lp_site %t93 = call ptr @lp_str_concat(ptr %t73, ptr %t92) store i32 0, ptr @lp_site call void @lp_free(ptr %t73) store i32 3320, ptr @lp_site %t94 = call ptr @lp_str_concat(ptr %t93, ptr @.str3962) store i32 0, ptr @lp_site call void @lp_free(ptr %t93) store i32 3321, ptr @lp_site %t95 = call ptr @lp_str_concat(ptr %t49, ptr %t94) store i32 0, ptr @lp_site call void @lp_free(ptr %t94) store ptr %t95, ptr %t9 br label %ifend11 ifend11: %t96 = load i32, ptr %t10 %t97 = add i32 %t96, 1 store i32 %t97, ptr %t10 br label %wcond0 wend2: %t98 = load ptr, ptr %t9 store i32 3322, ptr @lp_site %t99 = call ptr @lp_str_concat(ptr %t98, ptr @.str3963) store i32 0, ptr @lp_site store ptr %t99, ptr %retval br label %ret ret: %t100 = load ptr, ptr %retval ret ptr %t100 } define ptr @fn_cm_props_src(i32 %arg_c, ptr %arg_px, ptr %arg_rec) { entry: %retval = alloca ptr %t0 = alloca i32 %t1 = alloca ptr %t2 = alloca ptr %t9 = alloca ptr %t10 = alloca i32 %t66 = alloca ptr %t91 = alloca ptr store i32 %arg_c, ptr %t0 store ptr %arg_px, ptr %t1 store ptr %arg_rec, ptr %t2 %t3 = load ptr, ptr %t1 store i32 3323, ptr @lp_site %t4 = call ptr @lp_str_concat(ptr @.str3964, ptr %t3) store i32 0, ptr @lp_site store i32 3324, ptr @lp_site %t5 = call ptr @lp_str_concat(ptr %t4, ptr @.str3966) store i32 0, ptr @lp_site call void @lp_free(ptr %t4) %t6 = load ptr, ptr %t2 store i32 3325, ptr @lp_site %t7 = call ptr @lp_str_concat(ptr %t5, ptr %t6) store i32 0, ptr @lp_site call void @lp_free(ptr %t5) store i32 3326, ptr @lp_site %t8 = call ptr @lp_str_concat(ptr %t7, ptr @.str3967) store i32 0, ptr @lp_site call void @lp_free(ptr %t7) store ptr %t8, ptr %t9 store i32 0, ptr %t10 br label %wcond0 wcond0: %t11 = load i32, ptr %t10 %t12 = load ptr, ptr @g_g_cm_keep %t13 = load i32, ptr %t0 %t14 = getelementptr inbounds %LSlice, ptr %t12, i32 0, i32 0 %t15 = load ptr, ptr %t14 %t16 = getelementptr inbounds %LSlice, ptr %t12, i32 0, i32 1 %t17 = load i32, ptr %t16 %t18 = icmp ult i32 %t13, %t17 br i1 %t18, label %ixok3, label %ixbad4 ixbad4: store i32 3327, ptr @lp_site %t19 = call ptr @lp_win_stdio(i32 2) store i32 0, ptr @lp_site call i32 (ptr, ptr, ...) @fprintf(ptr %t19, ptr @.fmt_bounds, ptr @.str3968, i32 %t13, i32 %t17) call void @exit(i32 1) unreachable ixok3: %t20 = getelementptr inbounds ptr, ptr %t15, i32 %t13 %t21 = load ptr, ptr %t20 %t22 = getelementptr inbounds %LSlice, ptr %t21, i32 0, i32 1 %t23 = load i32, ptr %t22 %t24 = icmp slt i32 %t11, %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 @g_g_cm_prop %t28 = load i32, ptr %t0 %t29 = getelementptr inbounds %LSlice, ptr %t27, i32 0, i32 0 %t30 = load ptr, ptr %t29 %t31 = getelementptr inbounds %LSlice, ptr %t27, i32 0, i32 1 %t32 = load i32, ptr %t31 %t33 = icmp ult i32 %t28, %t32 br i1 %t33, label %ixok5, label %ixbad6 ixbad6: store i32 3328, ptr @lp_site %t34 = call ptr @lp_win_stdio(i32 2) store i32 0, ptr @lp_site call i32 (ptr, ptr, ...) @fprintf(ptr %t34, ptr @.fmt_bounds, ptr @.str3969, i32 %t28, i32 %t32) call void @exit(i32 1) unreachable ixok5: %t35 = getelementptr inbounds ptr, ptr %t30, i32 %t28 %t36 = load ptr, ptr %t35 %t37 = load i32, ptr %t10 %t38 = getelementptr inbounds %LSlice, ptr %t36, i32 0, i32 0 %t39 = load ptr, ptr %t38 %t40 = getelementptr inbounds %LSlice, ptr %t36, i32 0, i32 1 %t41 = load i32, ptr %t40 %t42 = icmp ult i32 %t37, %t41 br i1 %t42, label %ixok7, label %ixbad8 ixbad8: store i32 3329, ptr @lp_site %t43 = call ptr @lp_win_stdio(i32 2) store i32 0, ptr @lp_site call i32 (ptr, ptr, ...) @fprintf(ptr %t43, ptr @.fmt_bounds, ptr @.str3970, i32 %t37, i32 %t41) call void @exit(i32 1) unreachable ixok7: %t44 = getelementptr inbounds i32, ptr %t39, i32 %t37 %t45 = load i32, ptr %t44 %t46 = icmp ne i32 %t45, 0 br i1 %t46, label %then9, label %ifend11 then9: %t47 = load ptr, ptr @g_g_cm_keep %t48 = load i32, ptr %t0 %t49 = getelementptr inbounds %LSlice, ptr %t47, i32 0, i32 0 %t50 = load ptr, ptr %t49 %t51 = getelementptr inbounds %LSlice, ptr %t47, i32 0, i32 1 %t52 = load i32, ptr %t51 %t53 = icmp ult i32 %t48, %t52 br i1 %t53, label %ixok12, label %ixbad13 ixbad13: store i32 3330, ptr @lp_site %t54 = call ptr @lp_win_stdio(i32 2) store i32 0, ptr @lp_site call i32 (ptr, ptr, ...) @fprintf(ptr %t54, ptr @.fmt_bounds, ptr @.str3971, i32 %t48, i32 %t52) call void @exit(i32 1) unreachable ixok12: %t55 = getelementptr inbounds ptr, ptr %t50, i32 %t48 %t56 = load ptr, ptr %t55 %t57 = load i32, ptr %t10 %t58 = getelementptr inbounds %LSlice, ptr %t56, i32 0, i32 0 %t59 = load ptr, ptr %t58 %t60 = getelementptr inbounds %LSlice, ptr %t56, i32 0, i32 1 %t61 = load i32, ptr %t60 %t62 = icmp ult i32 %t57, %t61 br i1 %t62, label %ixok14, label %ixbad15 ixbad15: store i32 3331, ptr @lp_site %t63 = call ptr @lp_win_stdio(i32 2) store i32 0, ptr @lp_site call i32 (ptr, ptr, ...) @fprintf(ptr %t63, ptr @.fmt_bounds, ptr @.str3972, i32 %t57, i32 %t61) call void @exit(i32 1) unreachable ixok14: %t64 = getelementptr inbounds ptr, ptr %t59, i32 %t57 %t65 = load ptr, ptr %t64 store ptr %t65, ptr %t66 %t67 = load i32, ptr %t0 %t68 = load ptr, ptr @g_g_cm_keep_ty %t69 = load i32, ptr %t0 %t70 = getelementptr inbounds %LSlice, ptr %t68, i32 0, i32 0 %t71 = load ptr, ptr %t70 %t72 = getelementptr inbounds %LSlice, ptr %t68, i32 0, i32 1 %t73 = load i32, ptr %t72 %t74 = icmp ult i32 %t69, %t73 br i1 %t74, label %ixok16, label %ixbad17 ixbad17: store i32 3332, ptr @lp_site %t75 = call ptr @lp_win_stdio(i32 2) store i32 0, ptr @lp_site call i32 (ptr, ptr, ...) @fprintf(ptr %t75, ptr @.fmt_bounds, ptr @.str3973, i32 %t69, i32 %t73) call void @exit(i32 1) unreachable ixok16: %t76 = getelementptr inbounds ptr, ptr %t71, i32 %t69 %t77 = load ptr, ptr %t76 %t78 = load i32, ptr %t10 %t79 = getelementptr inbounds %LSlice, ptr %t77, i32 0, i32 0 %t80 = load ptr, ptr %t79 %t81 = getelementptr inbounds %LSlice, ptr %t77, i32 0, i32 1 %t82 = load i32, ptr %t81 %t83 = icmp ult i32 %t78, %t82 br i1 %t83, label %ixok18, label %ixbad19 ixbad19: store i32 3333, ptr @lp_site %t84 = call ptr @lp_win_stdio(i32 2) store i32 0, ptr @lp_site call i32 (ptr, ptr, ...) @fprintf(ptr %t84, ptr @.fmt_bounds, ptr @.str3974, i32 %t78, i32 %t82) call void @exit(i32 1) unreachable ixok18: %t85 = getelementptr inbounds ptr, ptr %t80, i32 %t78 %t86 = load ptr, ptr %t85 %t87 = load ptr, ptr %t66 store i32 3334, ptr @lp_site %t88 = call ptr @lp_str_concat(ptr @.str3975, ptr %t87) store i32 0, ptr @lp_site store i32 3335, ptr @lp_site %t89 = call ptr @lp_str_concat(ptr %t88, ptr @.str3976) store i32 0, ptr @lp_site call void @lp_free(ptr %t88) %t90 = call ptr @fn_cm_from(i32 %t67, ptr %t86, ptr %t89) store ptr %t90, ptr %t91 %t92 = load ptr, ptr %t9 %t93 = load ptr, ptr %t66 store i32 3336, ptr @lp_site %t94 = call ptr @lp_str_concat(ptr @.str3977, ptr %t93) store i32 0, ptr @lp_site store i32 3337, ptr @lp_site %t95 = call ptr @lp_str_concat(ptr %t94, ptr @.str3978) store i32 0, ptr @lp_site call void @lp_free(ptr %t94) %t96 = load ptr, ptr %t66 store i32 3338, ptr @lp_site %t97 = call ptr @lp_str_concat(ptr %t95, ptr %t96) store i32 0, ptr @lp_site call void @lp_free(ptr %t95) store i32 3339, ptr @lp_site %t98 = call ptr @lp_str_concat(ptr %t97, ptr @.str3979) store i32 0, ptr @lp_site call void @lp_free(ptr %t97) %t99 = load ptr, ptr %t91 store i32 3340, ptr @lp_site %t100 = call ptr @lp_str_concat(ptr %t98, ptr %t99) store i32 0, ptr @lp_site call void @lp_free(ptr %t98) store i32 3341, ptr @lp_site %t101 = call ptr @lp_str_concat(ptr %t100, ptr @.str3980) store i32 0, ptr @lp_site call void @lp_free(ptr %t100) store i32 3342, ptr @lp_site %t102 = call ptr @lp_str_concat(ptr %t92, ptr %t101) store i32 0, ptr @lp_site call void @lp_free(ptr %t101) store ptr %t102, ptr %t9 br label %ifend11 ifend11: %t103 = load i32, ptr %t10 %t104 = add i32 %t103, 1 store i32 %t104, ptr %t10 br label %wcond0 wend2: %t105 = load ptr, ptr %t9 store i32 3343, ptr @lp_site %t106 = call ptr @lp_str_concat(ptr %t105, ptr @.str3981) store i32 0, ptr @lp_site store ptr %t106, ptr %retval br label %ret ret: %t107 = load ptr, ptr %retval ret ptr %t107 } define ptr @fn_cm_from(i32 %arg_c, ptr %arg_ty, ptr %arg_x) { entry: %retval = alloca ptr %t0 = alloca i32 %t1 = alloca ptr %t2 = alloca ptr store i32 %arg_c, ptr %t0 store ptr %arg_ty, ptr %t1 store ptr %arg_x, ptr %t2 %t3 = load ptr, ptr %t1 %t4 = call i32 @lp_str_eq(ptr %t3, ptr @.str3982) %t5 = icmp ne i32 %t4, 0 br i1 %t5, label %then0, label %ifend2 then0: %t6 = load ptr, ptr %t2 store ptr %t6, ptr %retval br label %ret ifend2: %t7 = load ptr, ptr %t1 %t8 = call i32 @lp_str_eq(ptr %t7, ptr @.str3983) %t9 = icmp ne i32 %t8, 0 br i1 %t9, label %then3, label %ifend5 then3: %t10 = load ptr, ptr %t2 store i32 3344, ptr @lp_site %t11 = call ptr @lp_str_concat(ptr @.str3984, ptr %t10) store i32 0, ptr @lp_site store i32 3345, ptr @lp_site %t12 = call ptr @lp_str_concat(ptr %t11, ptr @.str3986) store i32 0, ptr @lp_site call void @lp_free(ptr %t11) store ptr %t12, ptr %retval br label %ret ifend5: %t13 = load ptr, ptr %t1 %t14 = call i32 @lp_str_eq(ptr %t13, ptr @.str3987) %t15 = icmp ne i32 %t14, 0 br i1 %t15, label %then6, label %ifend8 then6: %t16 = load ptr, ptr %t2 store i32 3346, ptr @lp_site %t17 = call ptr @lp_str_concat(ptr @.str3988, ptr %t16) store i32 0, ptr @lp_site store i32 3347, ptr @lp_site %t18 = call ptr @lp_str_concat(ptr %t17, ptr @.str3989) store i32 0, ptr @lp_site call void @lp_free(ptr %t17) store ptr %t18, ptr %retval br label %ret ifend8: %t19 = load ptr, ptr %t1 %t20 = call i32 @lp_str_eq(ptr %t19, ptr @.str3990) %t21 = icmp ne i32 %t20, 0 br i1 %t21, label %then9, label %ifend11 then9: %t22 = load ptr, ptr %t2 store i32 3348, ptr @lp_site %t23 = call ptr @lp_str_concat(ptr @.str3991, ptr %t22) store i32 0, ptr @lp_site store i32 3349, ptr @lp_site %t24 = call ptr @lp_str_concat(ptr %t23, ptr @.str3992) store i32 0, ptr @lp_site call void @lp_free(ptr %t23) store ptr %t24, ptr %retval br label %ret ifend11: %t25 = load ptr, ptr %t1 %t26 = call i32 @lp_str_eq(ptr %t25, ptr @.str3993) %t27 = icmp ne i32 %t26, 0 br i1 %t27, label %then12, label %ifend14 then12: %t28 = load ptr, ptr %t2 store i32 3350, ptr @lp_site %t29 = call ptr @lp_str_concat(ptr @.str3994, ptr %t28) store i32 0, ptr @lp_site store i32 3351, ptr @lp_site %t30 = call ptr @lp_str_concat(ptr %t29, ptr @.str3995) store i32 0, ptr @lp_site call void @lp_free(ptr %t29) store ptr %t30, ptr %retval br label %ret ifend14: %t31 = load i32, ptr %t0 %t32 = load ptr, ptr %t1 store i32 3352, ptr @lp_site %t33 = call ptr @lp_str_concat(ptr @.str3996, ptr %t32) store i32 0, ptr @lp_site call void @fn_cm_err(i32 %t31, ptr %t33) %t34 = load ptr, ptr %t2 store ptr %t34, ptr %retval br label %ret ret: %t35 = load ptr, ptr %retval ret ptr %t35 } define ptr @fn_cm_model_src(i32 %arg_c, ptr %arg_px, ptr %arg_rec, ptr %arg_head) { entry: %retval = alloca ptr %t0 = alloca i32 %t1 = alloca ptr %t2 = alloca ptr %t3 = alloca ptr %t10 = alloca ptr %t11 = alloca i32 %t47 = alloca ptr %t112 = alloca ptr store i32 %arg_c, ptr %t0 store ptr %arg_px, ptr %t1 store ptr %arg_rec, ptr %t2 store ptr %arg_head, ptr %t3 %t4 = load ptr, ptr %t1 store i32 3353, ptr @lp_site %t5 = call ptr @lp_str_concat(ptr @.str3997, ptr %t4) store i32 0, ptr @lp_site store i32 3354, ptr @lp_site %t6 = call ptr @lp_str_concat(ptr %t5, ptr @.str3999) store i32 0, ptr @lp_site call void @lp_free(ptr %t5) %t7 = load ptr, ptr %t2 store i32 3355, ptr @lp_site %t8 = call ptr @lp_str_concat(ptr %t6, ptr %t7) store i32 0, ptr @lp_site call void @lp_free(ptr %t6) store i32 3356, ptr @lp_site %t9 = call ptr @lp_str_concat(ptr %t8, ptr @.str4000) store i32 0, ptr @lp_site call void @lp_free(ptr %t8) store ptr %t9, ptr %t10 store i32 0, ptr %t11 br label %wcond0 wcond0: %t12 = load i32, ptr %t11 %t13 = load ptr, ptr @g_g_cm_keep %t14 = load i32, ptr %t0 %t15 = getelementptr inbounds %LSlice, ptr %t13, i32 0, i32 0 %t16 = load ptr, ptr %t15 %t17 = getelementptr inbounds %LSlice, ptr %t13, i32 0, i32 1 %t18 = load i32, ptr %t17 %t19 = icmp ult i32 %t14, %t18 br i1 %t19, label %ixok3, label %ixbad4 ixbad4: store i32 3357, ptr @lp_site %t20 = call ptr @lp_win_stdio(i32 2) store i32 0, ptr @lp_site call i32 (ptr, ptr, ...) @fprintf(ptr %t20, ptr @.fmt_bounds, ptr @.str4001, i32 %t14, i32 %t18) call void @exit(i32 1) unreachable ixok3: %t21 = getelementptr inbounds ptr, ptr %t16, i32 %t14 %t22 = load ptr, ptr %t21 %t23 = getelementptr inbounds %LSlice, ptr %t22, i32 0, i32 1 %t24 = load i32, ptr %t23 %t25 = icmp slt i32 %t12, %t24 %t26 = zext i1 %t25 to i32 %t27 = icmp ne i32 %t26, 0 br i1 %t27, label %wbody1, label %wend2 wbody1: %t28 = load ptr, ptr @g_g_cm_keep %t29 = load i32, ptr %t0 %t30 = getelementptr inbounds %LSlice, ptr %t28, i32 0, i32 0 %t31 = load ptr, ptr %t30 %t32 = getelementptr inbounds %LSlice, ptr %t28, i32 0, i32 1 %t33 = load i32, ptr %t32 %t34 = icmp ult i32 %t29, %t33 br i1 %t34, label %ixok5, label %ixbad6 ixbad6: store i32 3358, ptr @lp_site %t35 = call ptr @lp_win_stdio(i32 2) store i32 0, ptr @lp_site call i32 (ptr, ptr, ...) @fprintf(ptr %t35, ptr @.fmt_bounds, ptr @.str4002, i32 %t29, i32 %t33) call void @exit(i32 1) unreachable ixok5: %t36 = getelementptr inbounds ptr, ptr %t31, i32 %t29 %t37 = load ptr, ptr %t36 %t38 = load i32, ptr %t11 %t39 = getelementptr inbounds %LSlice, ptr %t37, i32 0, i32 0 %t40 = load ptr, ptr %t39 %t41 = getelementptr inbounds %LSlice, ptr %t37, i32 0, i32 1 %t42 = load i32, ptr %t41 %t43 = icmp ult i32 %t38, %t42 br i1 %t43, label %ixok7, label %ixbad8 ixbad8: store i32 3359, ptr @lp_site %t44 = call ptr @lp_win_stdio(i32 2) store i32 0, ptr @lp_site call i32 (ptr, ptr, ...) @fprintf(ptr %t44, ptr @.fmt_bounds, ptr @.str4003, i32 %t38, i32 %t42) call void @exit(i32 1) unreachable ixok7: %t45 = getelementptr inbounds ptr, ptr %t40, i32 %t38 %t46 = load ptr, ptr %t45 store ptr %t46, ptr %t47 %t48 = load ptr, ptr %t10 %t49 = load i32, ptr %t0 %t50 = load ptr, ptr @g_g_cm_keep_ty %t51 = load i32, ptr %t0 %t52 = getelementptr inbounds %LSlice, ptr %t50, i32 0, i32 0 %t53 = load ptr, ptr %t52 %t54 = getelementptr inbounds %LSlice, ptr %t50, i32 0, i32 1 %t55 = load i32, ptr %t54 %t56 = icmp ult i32 %t51, %t55 br i1 %t56, label %ixok9, label %ixbad10 ixbad10: store i32 3360, ptr @lp_site %t57 = call ptr @lp_win_stdio(i32 2) store i32 0, ptr @lp_site call i32 (ptr, ptr, ...) @fprintf(ptr %t57, ptr @.fmt_bounds, ptr @.str4004, i32 %t51, i32 %t55) call void @exit(i32 1) unreachable ixok9: %t58 = getelementptr inbounds ptr, ptr %t53, i32 %t51 %t59 = load ptr, ptr %t58 %t60 = load i32, ptr %t11 %t61 = getelementptr inbounds %LSlice, ptr %t59, i32 0, i32 0 %t62 = load ptr, ptr %t61 %t63 = getelementptr inbounds %LSlice, ptr %t59, i32 0, i32 1 %t64 = load i32, ptr %t63 %t65 = icmp ult i32 %t60, %t64 br i1 %t65, label %ixok11, label %ixbad12 ixbad12: store i32 3361, ptr @lp_site %t66 = call ptr @lp_win_stdio(i32 2) store i32 0, ptr @lp_site call i32 (ptr, ptr, ...) @fprintf(ptr %t66, ptr @.fmt_bounds, ptr @.str4005, i32 %t60, i32 %t64) call void @exit(i32 1) unreachable ixok11: %t67 = getelementptr inbounds ptr, ptr %t62, i32 %t60 %t68 = load ptr, ptr %t67 %t69 = load ptr, ptr %t47 %t70 = load ptr, ptr %t47 store i32 3362, ptr @lp_site %t71 = call ptr @lp_str_concat(ptr @.str4006, ptr %t70) store i32 0, ptr @lp_site %t72 = load ptr, ptr %t3 %t73 = call ptr @fn_cm_set(i32 %t49, ptr %t68, ptr %t69, ptr %t71, ptr %t72) store i32 3363, ptr @lp_site %t74 = call ptr @lp_str_concat(ptr %t48, ptr %t73) store i32 0, ptr @lp_site store ptr %t74, ptr %t10 %t75 = load i32, ptr %t11 %t76 = add i32 %t75, 1 store i32 %t76, ptr %t11 br label %wcond0 wend2: store i32 0, ptr %t11 br label %wcond13 wcond13: %t77 = load i32, ptr %t11 %t78 = load ptr, ptr @g_g_cm_fields %t79 = load i32, ptr %t0 %t80 = getelementptr inbounds %LSlice, ptr %t78, i32 0, i32 0 %t81 = load ptr, ptr %t80 %t82 = getelementptr inbounds %LSlice, ptr %t78, i32 0, i32 1 %t83 = load i32, ptr %t82 %t84 = icmp ult i32 %t79, %t83 br i1 %t84, label %ixok16, label %ixbad17 ixbad17: store i32 3364, ptr @lp_site %t85 = call ptr @lp_win_stdio(i32 2) store i32 0, ptr @lp_site call i32 (ptr, ptr, ...) @fprintf(ptr %t85, ptr @.fmt_bounds, ptr @.str4007, i32 %t79, i32 %t83) call void @exit(i32 1) unreachable ixok16: %t86 = getelementptr inbounds ptr, ptr %t81, i32 %t79 %t87 = load ptr, ptr %t86 %t88 = getelementptr inbounds %LSlice, ptr %t87, i32 0, i32 1 %t89 = load i32, ptr %t88 %t90 = icmp slt i32 %t77, %t89 %t91 = zext i1 %t90 to i32 %t92 = icmp ne i32 %t91, 0 br i1 %t92, label %wbody14, label %wend15 wbody14: %t93 = load ptr, ptr @g_g_cm_fields %t94 = load i32, ptr %t0 %t95 = getelementptr inbounds %LSlice, ptr %t93, i32 0, i32 0 %t96 = load ptr, ptr %t95 %t97 = getelementptr inbounds %LSlice, ptr %t93, i32 0, i32 1 %t98 = load i32, ptr %t97 %t99 = icmp ult i32 %t94, %t98 br i1 %t99, label %ixok18, label %ixbad19 ixbad19: store i32 3365, ptr @lp_site %t100 = call ptr @lp_win_stdio(i32 2) store i32 0, ptr @lp_site call i32 (ptr, ptr, ...) @fprintf(ptr %t100, ptr @.fmt_bounds, ptr @.str4008, i32 %t94, i32 %t98) call void @exit(i32 1) unreachable ixok18: %t101 = getelementptr inbounds ptr, ptr %t96, i32 %t94 %t102 = load ptr, ptr %t101 %t103 = load i32, ptr %t11 %t104 = getelementptr inbounds %LSlice, ptr %t102, i32 0, i32 0 %t105 = load ptr, ptr %t104 %t106 = getelementptr inbounds %LSlice, ptr %t102, i32 0, i32 1 %t107 = load i32, ptr %t106 %t108 = icmp ult i32 %t103, %t107 br i1 %t108, label %ixok20, label %ixbad21 ixbad21: store i32 3366, ptr @lp_site %t109 = call ptr @lp_win_stdio(i32 2) store i32 0, ptr @lp_site call i32 (ptr, ptr, ...) @fprintf(ptr %t109, ptr @.fmt_bounds, ptr @.str4009, i32 %t103, i32 %t107) call void @exit(i32 1) unreachable ixok20: %t110 = getelementptr inbounds ptr, ptr %t105, i32 %t103 %t111 = load ptr, ptr %t110 store ptr %t111, ptr %t112 %t113 = load ptr, ptr %t10 %t114 = load i32, ptr %t0 %t115 = load ptr, ptr %t112 %t116 = getelementptr inbounds %Cmp_Node, ptr %t115, i32 0, i32 3 %t117 = load ptr, ptr %t116 %t118 = load ptr, ptr @g_g_cm_fnames %t119 = load i32, ptr %t0 %t120 = getelementptr inbounds %LSlice, ptr %t118, i32 0, i32 0 %t121 = load ptr, ptr %t120 %t122 = getelementptr inbounds %LSlice, ptr %t118, i32 0, i32 1 %t123 = load i32, ptr %t122 %t124 = icmp ult i32 %t119, %t123 br i1 %t124, label %ixok22, label %ixbad23 ixbad23: store i32 3367, ptr @lp_site %t125 = call ptr @lp_win_stdio(i32 2) store i32 0, ptr @lp_site call i32 (ptr, ptr, ...) @fprintf(ptr %t125, ptr @.fmt_bounds, ptr @.str4010, i32 %t119, i32 %t123) call void @exit(i32 1) unreachable ixok22: %t126 = getelementptr inbounds ptr, ptr %t121, i32 %t119 %t127 = load ptr, ptr %t126 %t128 = load i32, ptr %t11 %t129 = getelementptr inbounds %LSlice, ptr %t127, i32 0, i32 0 %t130 = load ptr, ptr %t129 %t131 = getelementptr inbounds %LSlice, ptr %t127, i32 0, i32 1 %t132 = load i32, ptr %t131 %t133 = icmp ult i32 %t128, %t132 br i1 %t133, label %ixok24, label %ixbad25 ixbad25: store i32 3368, ptr @lp_site %t134 = call ptr @lp_win_stdio(i32 2) store i32 0, ptr @lp_site call i32 (ptr, ptr, ...) @fprintf(ptr %t134, ptr @.fmt_bounds, ptr @.str4011, i32 %t128, i32 %t132) call void @exit(i32 1) unreachable ixok24: %t135 = getelementptr inbounds ptr, ptr %t130, i32 %t128 %t136 = load ptr, ptr %t135 %t137 = load ptr, ptr %t112 %t138 = getelementptr inbounds %Cmp_Node, ptr %t137, i32 0, i32 1 %t139 = load ptr, ptr %t138 store i32 3369, ptr @lp_site %t140 = call ptr @lp_str_concat(ptr %t139, ptr @.str4012) store i32 0, ptr @lp_site %t141 = load ptr, ptr %t3 %t142 = call ptr @fn_cm_set(i32 %t114, ptr %t117, ptr %t136, ptr %t140, ptr %t141) store i32 3370, ptr @lp_site %t143 = call ptr @lp_str_concat(ptr %t113, ptr %t142) store i32 0, ptr @lp_site store ptr %t143, ptr %t10 %t144 = load i32, ptr %t11 %t145 = add i32 %t144, 1 store i32 %t145, ptr %t11 br label %wcond13 wend15: %t146 = load ptr, ptr %t10 store i32 3371, ptr @lp_site %t147 = call ptr @lp_str_concat(ptr %t146, ptr @.str4013) store i32 0, ptr @lp_site store ptr %t147, ptr %retval br label %ret ret: %t148 = load ptr, ptr %retval ret ptr %t148 } define ptr @fn_cm_into(i32 %arg_c, ptr %arg_ty, ptr %arg_x, ptr %arg_head) { entry: %retval = alloca ptr %t0 = alloca i32 %t1 = alloca ptr %t2 = alloca ptr %t3 = alloca ptr store i32 %arg_c, ptr %t0 store ptr %arg_ty, ptr %t1 store ptr %arg_x, ptr %t2 store ptr %arg_head, ptr %t3 %t4 = load ptr, ptr %t1 %t5 = call i32 @lp_str_eq(ptr %t4, ptr @.str4014) %t6 = icmp ne i32 %t5, 0 br i1 %t6, label %then0, label %ifend2 then0: %t7 = load ptr, ptr %t2 store i32 3372, ptr @lp_site %t8 = call ptr @lp_str_concat(ptr @.str4015, ptr %t7) store i32 0, ptr @lp_site store i32 3373, ptr @lp_site %t9 = call ptr @lp_str_concat(ptr %t8, ptr @.str4017) store i32 0, ptr @lp_site call void @lp_free(ptr %t8) store ptr %t9, ptr %retval br label %ret ifend2: %t10 = load ptr, ptr %t1 %t11 = call i32 @lp_str_eq(ptr %t10, ptr @.str4018) %t12 = icmp ne i32 %t11, 0 br i1 %t12, label %then3, label %ifend5 then3: %t13 = load ptr, ptr %t2 store i32 3374, ptr @lp_site %t14 = call ptr @lp_str_concat(ptr @.str4019, ptr %t13) store i32 0, ptr @lp_site store i32 3375, ptr @lp_site %t15 = call ptr @lp_str_concat(ptr %t14, ptr @.str4020) store i32 0, ptr @lp_site call void @lp_free(ptr %t14) store ptr %t15, ptr %retval br label %ret ifend5: %t16 = load ptr, ptr %t1 %t17 = call i32 @lp_str_eq(ptr %t16, ptr @.str4021) %t18 = icmp ne i32 %t17, 0 br i1 %t18, label %then6, label %ifend8 then6: %t19 = load ptr, ptr %t2 store i32 3376, ptr @lp_site %t20 = call ptr @lp_str_concat(ptr @.str4022, ptr %t19) store i32 0, ptr @lp_site store i32 3377, ptr @lp_site %t21 = call ptr @lp_str_concat(ptr %t20, ptr @.str4023) store i32 0, ptr @lp_site call void @lp_free(ptr %t20) store ptr %t21, ptr %retval br label %ret ifend8: %t22 = load ptr, ptr %t1 %t23 = call i32 @lp_str_eq(ptr %t22, ptr @.str4024) %t24 = icmp ne i32 %t23, 0 br i1 %t24, label %then9, label %ifend11 then9: %t25 = load ptr, ptr %t2 store i32 3378, ptr @lp_site %t26 = call ptr @lp_str_concat(ptr @.str4025, ptr %t25) store i32 0, ptr @lp_site store i32 3379, ptr @lp_site %t27 = call ptr @lp_str_concat(ptr %t26, ptr @.str4026) store i32 0, ptr @lp_site call void @lp_free(ptr %t26) store ptr %t27, ptr %retval br label %ret ifend11: %t28 = load ptr, ptr %t1 %t29 = call i32 @lp_str_eq(ptr %t28, ptr @.str4027) %t30 = icmp ne i32 %t29, 0 br i1 %t30, label %then12, label %ifend14 then12: %t31 = load ptr, ptr %t2 store i32 3380, ptr @lp_site %t32 = call ptr @lp_str_concat(ptr @.str4028, ptr %t31) store i32 0, ptr @lp_site store i32 3381, ptr @lp_site %t33 = call ptr @lp_str_concat(ptr %t32, ptr @.str4029) store i32 0, ptr @lp_site call void @lp_free(ptr %t32) store ptr %t33, ptr %retval br label %ret ifend14: %t34 = load ptr, ptr %t1 %t35 = call i32 @lp_str_eq(ptr %t34, ptr @.str4030) %t36 = icmp ne i32 %t35, 0 br i1 %t36, label %then15, label %ifend17 then15: %t37 = load ptr, ptr %t2 store i32 3382, ptr @lp_site %t38 = call ptr @lp_str_concat(ptr @.str4031, ptr %t37) store i32 0, ptr @lp_site store i32 3383, ptr @lp_site %t39 = call ptr @lp_str_concat(ptr %t38, ptr @.str4032) store i32 0, ptr @lp_site call void @lp_free(ptr %t38) store ptr %t39, ptr %retval br label %ret ifend17: %t40 = load ptr, ptr %t1 %t41 = call i32 @lp_str_eq(ptr %t40, ptr @.str4033) %t42 = icmp ne i32 %t41, 0 br i1 %t42, label %then18, label %ifend20 then18: %t43 = load ptr, ptr %t2 store i32 3384, ptr @lp_site %t44 = call ptr @lp_str_concat(ptr @.str4034, ptr %t43) store i32 0, ptr @lp_site store i32 3385, ptr @lp_site %t45 = call ptr @lp_str_concat(ptr %t44, ptr @.str4035) store i32 0, ptr @lp_site call void @lp_free(ptr %t44) store ptr %t45, ptr %retval br label %ret ifend20: %t46 = load ptr, ptr %t1 %t47 = call i32 @lp_str_eq(ptr %t46, ptr @.str4036) %t48 = icmp ne i32 %t47, 0 br i1 %t48, label %then21, label %ifend23 then21: %t49 = load ptr, ptr %t2 store i32 3386, ptr @lp_site %t50 = call ptr @lp_str_concat(ptr @.str4037, ptr %t49) store i32 0, ptr @lp_site store i32 3387, ptr @lp_site %t51 = call ptr @lp_str_concat(ptr %t50, ptr @.str4038) store i32 0, ptr @lp_site call void @lp_free(ptr %t50) store ptr %t51, ptr %retval br label %ret ifend23: %t52 = load i32, ptr %t0 %t53 = load ptr, ptr %t1 %t54 = load ptr, ptr %t2 %t55 = load ptr, ptr %t3 %t56 = call ptr @fn_cm_to(i32 %t52, ptr %t53, ptr %t54, ptr %t55) store ptr %t56, ptr %retval br label %ret ret: %t57 = load ptr, ptr %retval ret ptr %t57 } define ptr @fn_cm_set(i32 %arg_c, ptr %arg_ty, ptr %arg_k, ptr %arg_x, ptr %arg_head) { entry: %retval = alloca ptr %t0 = alloca i32 %t1 = alloca ptr %t2 = alloca ptr %t3 = alloca ptr %t4 = alloca ptr %t82 = alloca ptr store i32 %arg_c, ptr %t0 store ptr %arg_ty, ptr %t1 store ptr %arg_k, ptr %t2 store ptr %arg_x, ptr %t3 store ptr %arg_head, ptr %t4 %t5 = load ptr, ptr %t1 %t6 = call i32 @lp_str_eq(ptr %t5, ptr @.str4039) %t7 = icmp ne i32 %t6, 0 br i1 %t7, label %then0, label %ifend2 then0: %t8 = load ptr, ptr %t2 store i32 3388, ptr @lp_site %t9 = call ptr @lp_str_concat(ptr @.str4040, ptr %t8) store i32 0, ptr @lp_site store i32 3389, ptr @lp_site %t10 = call ptr @lp_str_concat(ptr %t9, ptr @.str4042) store i32 0, ptr @lp_site call void @lp_free(ptr %t9) %t11 = load ptr, ptr %t3 store i32 3390, ptr @lp_site %t12 = call ptr @lp_str_concat(ptr %t10, ptr %t11) store i32 0, ptr @lp_site call void @lp_free(ptr %t10) store i32 3391, ptr @lp_site %t13 = call ptr @lp_str_concat(ptr %t12, ptr @.str4043) store i32 0, ptr @lp_site call void @lp_free(ptr %t12) store ptr %t13, ptr %retval br label %ret ifend2: %t14 = load ptr, ptr %t1 %t15 = call i32 @lp_str_eq(ptr %t14, ptr @.str4044) %t16 = icmp ne i32 %t15, 0 br i1 %t16, label %then3, label %ifend5 then3: %t17 = load ptr, ptr %t2 store i32 3392, ptr @lp_site %t18 = call ptr @lp_str_concat(ptr @.str4045, ptr %t17) store i32 0, ptr @lp_site store i32 3393, ptr @lp_site %t19 = call ptr @lp_str_concat(ptr %t18, ptr @.str4046) store i32 0, ptr @lp_site call void @lp_free(ptr %t18) %t20 = load ptr, ptr %t3 store i32 3394, ptr @lp_site %t21 = call ptr @lp_str_concat(ptr %t19, ptr %t20) store i32 0, ptr @lp_site call void @lp_free(ptr %t19) store i32 3395, ptr @lp_site %t22 = call ptr @lp_str_concat(ptr %t21, ptr @.str4047) store i32 0, ptr @lp_site call void @lp_free(ptr %t21) store ptr %t22, ptr %retval br label %ret ifend5: %t23 = load ptr, ptr %t1 %t24 = call i32 @lp_str_eq(ptr %t23, ptr @.str4048) %t25 = icmp ne i32 %t24, 0 br i1 %t25, label %then6, label %ifend8 then6: %t26 = load ptr, ptr %t2 store i32 3396, ptr @lp_site %t27 = call ptr @lp_str_concat(ptr @.str4049, ptr %t26) store i32 0, ptr @lp_site store i32 3397, ptr @lp_site %t28 = call ptr @lp_str_concat(ptr %t27, ptr @.str4050) store i32 0, ptr @lp_site call void @lp_free(ptr %t27) %t29 = load ptr, ptr %t3 store i32 3398, ptr @lp_site %t30 = call ptr @lp_str_concat(ptr %t28, ptr %t29) store i32 0, ptr @lp_site call void @lp_free(ptr %t28) store i32 3399, ptr @lp_site %t31 = call ptr @lp_str_concat(ptr %t30, ptr @.str4051) store i32 0, ptr @lp_site call void @lp_free(ptr %t30) store ptr %t31, ptr %retval br label %ret ifend8: %t32 = load ptr, ptr %t1 %t33 = call i32 @lp_str_eq(ptr %t32, ptr @.str4052) %t34 = icmp ne i32 %t33, 0 br i1 %t34, label %then9, label %ifend11 then9: %t35 = load ptr, ptr %t2 store i32 3400, ptr @lp_site %t36 = call ptr @lp_str_concat(ptr @.str4053, ptr %t35) store i32 0, ptr @lp_site store i32 3401, ptr @lp_site %t37 = call ptr @lp_str_concat(ptr %t36, ptr @.str4054) store i32 0, ptr @lp_site call void @lp_free(ptr %t36) %t38 = load ptr, ptr %t3 store i32 3402, ptr @lp_site %t39 = call ptr @lp_str_concat(ptr %t37, ptr %t38) store i32 0, ptr @lp_site call void @lp_free(ptr %t37) store i32 3403, ptr @lp_site %t40 = call ptr @lp_str_concat(ptr %t39, ptr @.str4055) store i32 0, ptr @lp_site call void @lp_free(ptr %t39) store ptr %t40, ptr %retval br label %ret ifend11: %t41 = load ptr, ptr %t1 %t42 = call i32 @lp_str_eq(ptr %t41, ptr @.str4056) %t43 = icmp ne i32 %t42, 0 br i1 %t43, label %then12, label %ifend14 then12: %t44 = load ptr, ptr %t2 store i32 3404, ptr @lp_site %t45 = call ptr @lp_str_concat(ptr @.str4057, ptr %t44) store i32 0, ptr @lp_site store i32 3405, ptr @lp_site %t46 = call ptr @lp_str_concat(ptr %t45, ptr @.str4058) store i32 0, ptr @lp_site call void @lp_free(ptr %t45) %t47 = load ptr, ptr %t3 store i32 3406, ptr @lp_site %t48 = call ptr @lp_str_concat(ptr %t46, ptr %t47) store i32 0, ptr @lp_site call void @lp_free(ptr %t46) store i32 3407, ptr @lp_site %t49 = call ptr @lp_str_concat(ptr %t48, ptr @.str4059) store i32 0, ptr @lp_site call void @lp_free(ptr %t48) store ptr %t49, ptr %retval br label %ret ifend14: %t50 = load ptr, ptr %t1 %t51 = call i32 @lp_str_eq(ptr %t50, ptr @.str4060) %t52 = icmp ne i32 %t51, 0 br i1 %t52, label %then15, label %ifend17 then15: %t53 = load ptr, ptr %t2 store i32 3408, ptr @lp_site %t54 = call ptr @lp_str_concat(ptr @.str4061, ptr %t53) store i32 0, ptr @lp_site store i32 3409, ptr @lp_site %t55 = call ptr @lp_str_concat(ptr %t54, ptr @.str4062) store i32 0, ptr @lp_site call void @lp_free(ptr %t54) %t56 = load ptr, ptr %t3 store i32 3410, ptr @lp_site %t57 = call ptr @lp_str_concat(ptr %t55, ptr %t56) store i32 0, ptr @lp_site call void @lp_free(ptr %t55) store i32 3411, ptr @lp_site %t58 = call ptr @lp_str_concat(ptr %t57, ptr @.str4063) store i32 0, ptr @lp_site call void @lp_free(ptr %t57) store ptr %t58, ptr %retval br label %ret ifend17: %t59 = load ptr, ptr %t1 %t60 = call i32 @lp_str_eq(ptr %t59, ptr @.str4064) %t61 = icmp ne i32 %t60, 0 br i1 %t61, label %then18, label %ifend20 then18: %t62 = load ptr, ptr %t2 store i32 3412, ptr @lp_site %t63 = call ptr @lp_str_concat(ptr @.str4065, ptr %t62) store i32 0, ptr @lp_site store i32 3413, ptr @lp_site %t64 = call ptr @lp_str_concat(ptr %t63, ptr @.str4066) store i32 0, ptr @lp_site call void @lp_free(ptr %t63) %t65 = load ptr, ptr %t3 store i32 3414, ptr @lp_site %t66 = call ptr @lp_str_concat(ptr %t64, ptr %t65) store i32 0, ptr @lp_site call void @lp_free(ptr %t64) store i32 3415, ptr @lp_site %t67 = call ptr @lp_str_concat(ptr %t66, ptr @.str4067) store i32 0, ptr @lp_site call void @lp_free(ptr %t66) store ptr %t67, ptr %retval br label %ret ifend20: %t68 = load ptr, ptr %t1 %t69 = call i32 @lp_str_eq(ptr %t68, ptr @.str4068) %t70 = icmp ne i32 %t69, 0 br i1 %t70, label %then21, label %ifend23 then21: %t71 = load ptr, ptr %t2 store i32 3416, ptr @lp_site %t72 = call ptr @lp_str_concat(ptr @.str4069, ptr %t71) store i32 0, ptr @lp_site store i32 3417, ptr @lp_site %t73 = call ptr @lp_str_concat(ptr %t72, ptr @.str4070) store i32 0, ptr @lp_site call void @lp_free(ptr %t72) %t74 = load ptr, ptr %t3 store i32 3418, ptr @lp_site %t75 = call ptr @lp_str_concat(ptr %t73, ptr %t74) store i32 0, ptr @lp_site call void @lp_free(ptr %t73) store i32 3419, ptr @lp_site %t76 = call ptr @lp_str_concat(ptr %t75, ptr @.str4071) store i32 0, ptr @lp_site call void @lp_free(ptr %t75) store ptr %t76, ptr %retval br label %ret ifend23: %t77 = load ptr, ptr %t1 %t78 = load ptr, ptr %t2 %t79 = load ptr, ptr %t3 %t80 = load ptr, ptr %t4 %t81 = call ptr @fn_vw_set(i32 0, ptr %t77, ptr @.str4072, ptr %t78, ptr %t79, ptr %t80) store ptr %t81, ptr %t82 %t83 = load ptr, ptr %t82 %t84 = icmp eq ptr %t83, null %t85 = zext i1 %t84 to i32 %t86 = icmp ne i32 %t85, 0 br i1 %t86, label %then24, label %ifend26 then24: %t87 = load i32, ptr %t0 %t88 = load ptr, ptr %t1 store i32 3420, ptr @lp_site %t89 = call ptr @lp_str_concat(ptr @.str4073, ptr %t88) store i32 0, ptr @lp_site store i32 3421, ptr @lp_site %t90 = call ptr @lp_str_concat(ptr %t89, ptr @.str4074) store i32 0, ptr @lp_site call void @lp_free(ptr %t89) call void @fn_cm_err(i32 %t87, ptr %t90) store ptr @.str4075, ptr %retval br label %ret ifend26: %t91 = load ptr, ptr %t82 store ptr %t91, ptr %retval br label %ret ret: %t92 = load ptr, ptr %retval ret ptr %t92 } define ptr @fn_cm_to(i32 %arg_c, ptr %arg_ty, ptr %arg_x, ptr %arg_head) { entry: %retval = alloca ptr %t0 = alloca i32 %t1 = alloca ptr %t2 = alloca ptr %t3 = alloca ptr %t12 = alloca ptr store i32 %arg_c, ptr %t0 store ptr %arg_ty, ptr %t1 store ptr %arg_x, ptr %t2 store ptr %arg_head, ptr %t3 %t4 = load ptr, ptr %t1 %t5 = call i32 @lp_str_eq(ptr %t4, ptr @.str4076) %t6 = icmp ne i32 %t5, 0 br i1 %t6, label %then0, label %ifend2 then0: %t7 = load ptr, ptr %t2 store ptr %t7, ptr %retval br label %ret ifend2: %t8 = load ptr, ptr %t1 %t9 = load ptr, ptr %t2 %t10 = load ptr, ptr %t3 %t11 = call ptr @fn_vw_conv(i32 0, ptr %t8, ptr %t9, 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 %then3, label %ifend5 then3: %t17 = load i32, ptr %t0 %t18 = load ptr, ptr %t1 store i32 3422, ptr @lp_site %t19 = call ptr @lp_str_concat(ptr @.str4077, ptr %t18) store i32 0, ptr @lp_site store i32 3423, ptr @lp_site %t20 = call ptr @lp_str_concat(ptr %t19, ptr @.str4079) store i32 0, ptr @lp_site call void @lp_free(ptr %t19) call void @fn_cm_err(i32 %t17, ptr %t20) br label %ifend5 ifend5: %t21 = load ptr, ptr %t12 store ptr %t21, ptr %retval br label %ret ret: %t22 = load ptr, ptr %retval ret ptr %t22 } define ptr @fn_cm_call_src(i32 %arg_c, ptr %arg_px, ptr %arg_rec, ptr %arg_head) { entry: %retval = alloca ptr %t0 = alloca i32 %t1 = alloca ptr %t2 = alloca ptr %t3 = alloca ptr %t10 = alloca ptr %t21 = alloca ptr %t22 = alloca i32 %t40 = alloca ptr %t41 = alloca ptr %t55 = alloca i32 %t57 = alloca i32 %t119 = alloca ptr %t202 = alloca ptr %t224 = alloca ptr store i32 %arg_c, ptr %t0 store ptr %arg_px, ptr %t1 store ptr %arg_rec, ptr %t2 store ptr %arg_head, ptr %t3 %t4 = load ptr, ptr %t1 store i32 3424, ptr @lp_site %t5 = call ptr @lp_str_concat(ptr @.str4080, ptr %t4) store i32 0, ptr @lp_site store i32 3425, ptr @lp_site %t6 = call ptr @lp_str_concat(ptr %t5, ptr @.str4082) store i32 0, ptr @lp_site call void @lp_free(ptr %t5) %t7 = load ptr, ptr %t2 store i32 3426, ptr @lp_site %t8 = call ptr @lp_str_concat(ptr %t6, ptr %t7) store i32 0, ptr @lp_site call void @lp_free(ptr %t6) store i32 3427, ptr @lp_site %t9 = call ptr @lp_str_concat(ptr %t8, ptr @.str4083) store i32 0, ptr @lp_site call void @lp_free(ptr %t8) store ptr %t9, ptr %t10 %t11 = load ptr, ptr @g_g_cm_calls %t12 = load i32, ptr %t0 %t13 = getelementptr inbounds %LSlice, ptr %t11, i32 0, i32 0 %t14 = load ptr, ptr %t13 %t15 = getelementptr inbounds %LSlice, ptr %t11, i32 0, i32 1 %t16 = load i32, ptr %t15 %t17 = icmp ult i32 %t12, %t16 br i1 %t17, label %ixok0, label %ixbad1 ixbad1: store i32 3428, ptr @lp_site %t18 = call ptr @lp_win_stdio(i32 2) store i32 0, ptr @lp_site call i32 (ptr, ptr, ...) @fprintf(ptr %t18, ptr @.fmt_bounds, ptr @.str4084, i32 %t12, i32 %t16) call void @exit(i32 1) unreachable ixok0: %t19 = getelementptr inbounds ptr, ptr %t14, i32 %t12 %t20 = load ptr, ptr %t19 store ptr %t20, ptr %t21 store i32 0, ptr %t22 br label %wcond2 wcond2: %t23 = load i32, ptr %t22 %t24 = load ptr, ptr %t21 %t25 = getelementptr inbounds %LSlice, ptr %t24, i32 0, i32 1 %t26 = load i32, ptr %t25 %t27 = icmp slt i32 %t23, %t26 %t28 = zext i1 %t27 to i32 %t29 = icmp ne i32 %t28, 0 br i1 %t29, label %wbody3, label %wend4 wbody3: %t30 = load ptr, ptr %t21 %t31 = load i32, ptr %t22 %t32 = getelementptr inbounds %LSlice, ptr %t30, i32 0, i32 0 %t33 = load ptr, ptr %t32 %t34 = getelementptr inbounds %LSlice, ptr %t30, i32 0, i32 1 %t35 = load i32, ptr %t34 %t36 = icmp ult i32 %t31, %t35 br i1 %t36, label %ixok5, label %ixbad6 ixbad6: store i32 3429, ptr @lp_site %t37 = call ptr @lp_win_stdio(i32 2) store i32 0, ptr @lp_site call i32 (ptr, ptr, ...) @fprintf(ptr %t37, ptr @.fmt_bounds, ptr @.str4085, i32 %t31, i32 %t35) call void @exit(i32 1) unreachable ixok5: %t38 = getelementptr inbounds ptr, ptr %t33, i32 %t31 %t39 = load ptr, ptr %t38 store ptr %t39, ptr %t40 store ptr @.str4086, ptr %t41 %t42 = load ptr, ptr @g_g_cm_ps %t43 = load i32, ptr %t0 %t44 = getelementptr inbounds %LSlice, ptr %t42, i32 0, i32 0 %t45 = load ptr, ptr %t44 %t46 = getelementptr inbounds %LSlice, ptr %t42, i32 0, i32 1 %t47 = load i32, ptr %t46 %t48 = icmp ult i32 %t43, %t47 br i1 %t48, label %ixok7, label %ixbad8 ixbad8: store i32 3430, ptr @lp_site %t49 = call ptr @lp_win_stdio(i32 2) store i32 0, ptr @lp_site call i32 (ptr, ptr, ...) @fprintf(ptr %t49, ptr @.fmt_bounds, ptr @.str4087, i32 %t43, i32 %t47) call void @exit(i32 1) unreachable ixok7: %t50 = getelementptr inbounds ptr, ptr %t45, i32 %t43 %t51 = load ptr, ptr %t50 %t52 = getelementptr inbounds %LSlice, ptr %t51, i32 0, i32 1 %t53 = load i32, ptr %t52 %t54 = add i32 %t53, 1 store i32 %t54, ptr %t55 %t56 = load i32, ptr %t55 store i32 %t56, ptr %t57 br label %wcond9 wcond9: %t58 = load i32, ptr %t57 %t59 = load ptr, ptr %t40 %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 1 %t63 = load i32, ptr %t62 %t64 = icmp slt i32 %t58, %t63 %t65 = zext i1 %t64 to i32 %t66 = icmp ne i32 %t65, 0 br i1 %t66, label %wbody10, label %wend11 wbody10: %t67 = load ptr, ptr %t41 store i32 3431, ptr @lp_site %t68 = call ptr @lp_str_concat(ptr %t67, ptr @.str4088) store i32 0, ptr @lp_site %t69 = load i32, ptr %t0 %t70 = load ptr, ptr %t40 %t71 = getelementptr inbounds %Cmp_Node, ptr %t70, i32 0, i32 7 %t72 = load ptr, ptr %t71 %t73 = load i32, ptr %t57 %t74 = getelementptr inbounds %LSlice, ptr %t72, i32 0, i32 0 %t75 = load ptr, ptr %t74 %t76 = getelementptr inbounds %LSlice, ptr %t72, i32 0, i32 1 %t77 = load i32, ptr %t76 %t78 = icmp ult i32 %t73, %t77 br i1 %t78, label %ixok12, label %ixbad13 ixbad13: store i32 3432, ptr @lp_site %t79 = call ptr @lp_win_stdio(i32 2) store i32 0, ptr @lp_site call i32 (ptr, ptr, ...) @fprintf(ptr %t79, ptr @.fmt_bounds, ptr @.str4089, i32 %t73, i32 %t77) call void @exit(i32 1) unreachable ixok12: %t80 = getelementptr inbounds ptr, ptr %t75, i32 %t73 %t81 = load ptr, ptr %t80 %t82 = load i32, ptr %t57 %t83 = load i32, ptr %t55 %t84 = sub i32 %t82, %t83 %t85 = call ptr @fn_cm_arg(i32 %t69, ptr %t81, i32 %t84) store i32 3433, ptr @lp_site %t86 = call ptr @lp_str_concat(ptr %t68, ptr %t85) store i32 0, ptr @lp_site call void @lp_free(ptr %t68) store ptr %t86, ptr %t41 %t87 = load i32, ptr %t57 %t88 = add i32 %t87, 1 store i32 %t88, ptr %t57 br label %wcond9 wend11: %t89 = load ptr, ptr %t10 %t90 = load ptr, ptr @g_g_cm_cnames %t91 = load i32, ptr %t0 %t92 = getelementptr inbounds %LSlice, ptr %t90, i32 0, i32 0 %t93 = load ptr, ptr %t92 %t94 = getelementptr inbounds %LSlice, ptr %t90, i32 0, i32 1 %t95 = load i32, ptr %t94 %t96 = icmp ult i32 %t91, %t95 br i1 %t96, label %ixok14, label %ixbad15 ixbad15: store i32 3434, ptr @lp_site %t97 = call ptr @lp_win_stdio(i32 2) store i32 0, ptr @lp_site call i32 (ptr, ptr, ...) @fprintf(ptr %t97, ptr @.fmt_bounds, ptr @.str4091, i32 %t91, i32 %t95) call void @exit(i32 1) unreachable ixok14: %t98 = getelementptr inbounds ptr, ptr %t93, i32 %t91 %t99 = load ptr, ptr %t98 %t100 = load i32, ptr %t22 %t101 = getelementptr inbounds %LSlice, ptr %t99, i32 0, i32 0 %t102 = load ptr, ptr %t101 %t103 = getelementptr inbounds %LSlice, ptr %t99, i32 0, i32 1 %t104 = load i32, ptr %t103 %t105 = icmp ult i32 %t100, %t104 br i1 %t105, label %ixok16, label %ixbad17 ixbad17: store i32 3435, ptr @lp_site %t106 = call ptr @lp_win_stdio(i32 2) store i32 0, ptr @lp_site call i32 (ptr, ptr, ...) @fprintf(ptr %t106, ptr @.fmt_bounds, ptr @.str4092, i32 %t100, i32 %t104) call void @exit(i32 1) unreachable ixok16: %t107 = getelementptr inbounds ptr, ptr %t102, i32 %t100 %t108 = load ptr, ptr %t107 store i32 3436, ptr @lp_site %t109 = call ptr @lp_str_concat(ptr @.str4090, ptr %t108) store i32 0, ptr @lp_site store i32 3437, ptr @lp_site %t110 = call ptr @lp_str_concat(ptr %t109, ptr @.str4093) store i32 0, ptr @lp_site call void @lp_free(ptr %t109) store i32 3438, ptr @lp_site %t111 = call ptr @lp_str_concat(ptr %t89, ptr %t110) store i32 0, ptr @lp_site call void @lp_free(ptr %t110) store ptr %t111, ptr %t10 %t112 = load ptr, ptr %t40 %t113 = getelementptr inbounds %Cmp_Node, ptr %t112, i32 0, i32 1 %t114 = load ptr, ptr %t113 store i32 3439, ptr @lp_site %t115 = call ptr @lp_str_concat(ptr %t114, ptr @.str4094) store i32 0, ptr @lp_site %t116 = load ptr, ptr %t41 store i32 3440, ptr @lp_site %t117 = call ptr @lp_str_concat(ptr %t115, ptr %t116) store i32 0, ptr @lp_site call void @lp_free(ptr %t115) store i32 3441, ptr @lp_site %t118 = call ptr @lp_str_concat(ptr %t117, ptr @.str4095) store i32 0, ptr @lp_site call void @lp_free(ptr %t117) store ptr %t118, ptr %t119 %t120 = load ptr, ptr %t40 %t121 = getelementptr inbounds %Cmp_Node, ptr %t120, i32 0, i32 3 %t122 = load ptr, ptr %t121 %t123 = call i32 @lp_str_eq(ptr %t122, ptr @.str4096) %t124 = icmp ne i32 %t123, 0 br i1 %t124, label %then18, label %else19 then18: %t125 = load ptr, ptr %t10 %t126 = load ptr, ptr %t119 store i32 3442, ptr @lp_site %t127 = call ptr @lp_str_concat(ptr @.str4097, ptr %t126) store i32 0, ptr @lp_site store i32 3443, ptr @lp_site %t128 = call ptr @lp_str_concat(ptr %t127, ptr @.str4098) store i32 0, ptr @lp_site call void @lp_free(ptr %t127) store i32 3444, ptr @lp_site %t129 = call ptr @lp_str_concat(ptr %t125, ptr %t128) store i32 0, ptr @lp_site call void @lp_free(ptr %t128) store ptr %t129, ptr %t10 br label %ifend20 else19: %t130 = load ptr, ptr %t10 %t131 = load i32, ptr %t0 %t132 = load ptr, ptr %t40 %t133 = getelementptr inbounds %Cmp_Node, ptr %t132, i32 0, i32 3 %t134 = load ptr, ptr %t133 %t135 = load ptr, ptr %t119 %t136 = load ptr, ptr %t3 %t137 = call ptr @fn_cm_into(i32 %t131, ptr %t134, ptr %t135, ptr %t136) store i32 3445, ptr @lp_site %t138 = call ptr @lp_str_concat(ptr @.str4099, ptr %t137) store i32 0, ptr @lp_site store i32 3446, ptr @lp_site %t139 = call ptr @lp_str_concat(ptr %t138, ptr @.str4100) store i32 0, ptr @lp_site call void @lp_free(ptr %t138) store i32 3447, ptr @lp_site %t140 = call ptr @lp_str_concat(ptr %t130, ptr %t139) store i32 0, ptr @lp_site call void @lp_free(ptr %t139) store ptr %t140, ptr %t10 br label %ifend20 ifend20: %t141 = load ptr, ptr %t10 store i32 3448, ptr @lp_site %t142 = call ptr @lp_str_concat(ptr %t141, ptr @.str4101) store i32 0, ptr @lp_site store ptr %t142, ptr %t10 %t143 = load i32, ptr %t22 %t144 = add i32 %t143, 1 store i32 %t144, ptr %t22 br label %wcond2 wend4: store i32 0, ptr %t22 br label %wcond21 wcond21: %t145 = load i32, ptr %t22 %t146 = load ptr, ptr @g_g_cm_keep %t147 = load i32, ptr %t0 %t148 = getelementptr inbounds %LSlice, ptr %t146, i32 0, i32 0 %t149 = load ptr, ptr %t148 %t150 = getelementptr inbounds %LSlice, ptr %t146, i32 0, i32 1 %t151 = load i32, ptr %t150 %t152 = icmp ult i32 %t147, %t151 br i1 %t152, label %ixok24, label %ixbad25 ixbad25: store i32 3449, ptr @lp_site %t153 = call ptr @lp_win_stdio(i32 2) store i32 0, ptr @lp_site call i32 (ptr, ptr, ...) @fprintf(ptr %t153, ptr @.fmt_bounds, ptr @.str4102, i32 %t147, i32 %t151) call void @exit(i32 1) unreachable ixok24: %t154 = getelementptr inbounds ptr, ptr %t149, i32 %t147 %t155 = load ptr, ptr %t154 %t156 = getelementptr inbounds %LSlice, ptr %t155, i32 0, i32 1 %t157 = load i32, ptr %t156 %t158 = icmp slt i32 %t145, %t157 %t159 = zext i1 %t158 to i32 %t160 = icmp ne i32 %t159, 0 br i1 %t160, label %wbody22, label %wend23 wbody22: %t161 = load ptr, ptr @g_g_cm_prop %t162 = load i32, ptr %t0 %t163 = getelementptr inbounds %LSlice, ptr %t161, i32 0, i32 0 %t164 = load ptr, ptr %t163 %t165 = getelementptr inbounds %LSlice, ptr %t161, i32 0, i32 1 %t166 = load i32, ptr %t165 %t167 = icmp ult i32 %t162, %t166 br i1 %t167, label %ixok26, label %ixbad27 ixbad27: store i32 3450, ptr @lp_site %t168 = call ptr @lp_win_stdio(i32 2) store i32 0, ptr @lp_site call i32 (ptr, ptr, ...) @fprintf(ptr %t168, ptr @.fmt_bounds, ptr @.str4103, i32 %t162, i32 %t166) call void @exit(i32 1) unreachable ixok26: %t169 = getelementptr inbounds ptr, ptr %t164, i32 %t162 %t170 = load ptr, ptr %t169 %t171 = load i32, ptr %t22 %t172 = getelementptr inbounds %LSlice, ptr %t170, i32 0, i32 0 %t173 = load ptr, ptr %t172 %t174 = getelementptr inbounds %LSlice, ptr %t170, i32 0, i32 1 %t175 = load i32, ptr %t174 %t176 = icmp ult i32 %t171, %t175 br i1 %t176, label %ixok28, label %ixbad29 ixbad29: store i32 3451, ptr @lp_site %t177 = call ptr @lp_win_stdio(i32 2) store i32 0, ptr @lp_site call i32 (ptr, ptr, ...) @fprintf(ptr %t177, ptr @.fmt_bounds, ptr @.str4104, i32 %t171, i32 %t175) call void @exit(i32 1) unreachable ixok28: %t178 = getelementptr inbounds i32, ptr %t173, i32 %t171 %t179 = load i32, ptr %t178 %t180 = icmp eq i32 %t179, 0 %t181 = zext i1 %t180 to i32 %t182 = icmp ne i32 %t181, 0 br i1 %t182, label %then30, label %ifend32 then30: %t183 = load ptr, ptr @g_g_cm_keep %t184 = load i32, ptr %t0 %t185 = getelementptr inbounds %LSlice, ptr %t183, i32 0, i32 0 %t186 = load ptr, ptr %t185 %t187 = getelementptr inbounds %LSlice, ptr %t183, i32 0, i32 1 %t188 = load i32, ptr %t187 %t189 = icmp ult i32 %t184, %t188 br i1 %t189, label %ixok33, label %ixbad34 ixbad34: store i32 3452, ptr @lp_site %t190 = call ptr @lp_win_stdio(i32 2) store i32 0, ptr @lp_site call i32 (ptr, ptr, ...) @fprintf(ptr %t190, ptr @.fmt_bounds, ptr @.str4105, i32 %t184, i32 %t188) call void @exit(i32 1) unreachable ixok33: %t191 = getelementptr inbounds ptr, ptr %t186, i32 %t184 %t192 = load ptr, ptr %t191 %t193 = load i32, ptr %t22 %t194 = getelementptr inbounds %LSlice, ptr %t192, i32 0, i32 0 %t195 = load ptr, ptr %t194 %t196 = getelementptr inbounds %LSlice, ptr %t192, i32 0, i32 1 %t197 = load i32, ptr %t196 %t198 = icmp ult i32 %t193, %t197 br i1 %t198, label %ixok35, label %ixbad36 ixbad36: store i32 3453, ptr @lp_site %t199 = call ptr @lp_win_stdio(i32 2) store i32 0, ptr @lp_site call i32 (ptr, ptr, ...) @fprintf(ptr %t199, ptr @.fmt_bounds, ptr @.str4106, i32 %t193, i32 %t197) call void @exit(i32 1) unreachable ixok35: %t200 = getelementptr inbounds ptr, ptr %t195, i32 %t193 %t201 = load ptr, ptr %t200 store ptr %t201, ptr %t202 %t203 = load i32, ptr %t0 %t204 = load ptr, ptr @g_g_cm_keep_ty %t205 = load i32, ptr %t0 %t206 = getelementptr inbounds %LSlice, ptr %t204, i32 0, i32 0 %t207 = load ptr, ptr %t206 %t208 = getelementptr inbounds %LSlice, ptr %t204, i32 0, i32 1 %t209 = load i32, ptr %t208 %t210 = icmp ult i32 %t205, %t209 br i1 %t210, label %ixok37, label %ixbad38 ixbad38: store i32 3454, ptr @lp_site %t211 = call ptr @lp_win_stdio(i32 2) store i32 0, ptr @lp_site call i32 (ptr, ptr, ...) @fprintf(ptr %t211, ptr @.fmt_bounds, ptr @.str4107, i32 %t205, i32 %t209) call void @exit(i32 1) unreachable ixok37: %t212 = getelementptr inbounds ptr, ptr %t207, i32 %t205 %t213 = load ptr, ptr %t212 %t214 = load i32, ptr %t22 %t215 = getelementptr inbounds %LSlice, ptr %t213, i32 0, i32 0 %t216 = load ptr, ptr %t215 %t217 = getelementptr inbounds %LSlice, ptr %t213, i32 0, i32 1 %t218 = load i32, ptr %t217 %t219 = icmp ult i32 %t214, %t218 br i1 %t219, label %ixok39, label %ixbad40 ixbad40: store i32 3455, ptr @lp_site %t220 = call ptr @lp_win_stdio(i32 2) store i32 0, ptr @lp_site call i32 (ptr, ptr, ...) @fprintf(ptr %t220, ptr @.fmt_bounds, ptr @.str4108, i32 %t214, i32 %t218) call void @exit(i32 1) unreachable ixok39: %t221 = getelementptr inbounds ptr, ptr %t216, i32 %t214 %t222 = load ptr, ptr %t221 %t223 = call ptr @fn_cm_from(i32 %t203, ptr %t222, ptr @.str4109) store ptr %t223, ptr %t224 %t225 = load ptr, ptr %t10 %t226 = load ptr, ptr %t202 store i32 3456, ptr @lp_site %t227 = call ptr @lp_str_concat(ptr @.str4110, ptr %t226) store i32 0, ptr @lp_site store i32 3457, ptr @lp_site %t228 = call ptr @lp_str_concat(ptr %t227, ptr @.str4111) store i32 0, ptr @lp_site call void @lp_free(ptr %t227) %t229 = load ptr, ptr %t202 store i32 3458, ptr @lp_site %t230 = call ptr @lp_str_concat(ptr %t228, ptr %t229) store i32 0, ptr @lp_site call void @lp_free(ptr %t228) store i32 3459, ptr @lp_site %t231 = call ptr @lp_str_concat(ptr %t230, ptr @.str4112) store i32 0, ptr @lp_site call void @lp_free(ptr %t230) %t232 = load ptr, ptr %t224 store i32 3460, ptr @lp_site %t233 = call ptr @lp_str_concat(ptr %t231, ptr %t232) store i32 0, ptr @lp_site call void @lp_free(ptr %t231) store i32 3461, ptr @lp_site %t234 = call ptr @lp_str_concat(ptr %t233, ptr @.str4113) store i32 0, ptr @lp_site call void @lp_free(ptr %t233) store i32 3462, ptr @lp_site %t235 = call ptr @lp_str_concat(ptr %t225, ptr %t234) store i32 0, ptr @lp_site call void @lp_free(ptr %t234) store ptr %t235, ptr %t10 br label %ifend32 ifend32: %t236 = load i32, ptr %t22 %t237 = add i32 %t236, 1 store i32 %t237, ptr %t22 br label %wcond21 wend23: %t238 = load ptr, ptr %t10 store i32 3463, ptr @lp_site %t239 = call ptr @lp_str_concat(ptr %t238, ptr @.str4114) store i32 0, ptr @lp_site store ptr %t239, ptr %retval br label %ret ret: %t240 = load ptr, ptr %retval ret ptr %t240 } define ptr @fn_cm_arg(i32 %arg_c, ptr %arg_p, i32 %arg_i) { entry: %retval = alloca ptr %t0 = alloca i32 %t1 = alloca ptr %t2 = alloca i32 %t7 = alloca ptr %t8 = alloca i32 %t9 = alloca i32 %t10 = alloca i32 %t11 = alloca i32 store i32 %arg_c, ptr %t0 store ptr %arg_p, ptr %t1 store i32 %arg_i, ptr %t2 %t3 = load i32, ptr %t2 store i32 3464, ptr @lp_site %t4 = call ptr @lp_int_str(i32 %t3) store i32 0, ptr @lp_site store i32 3465, ptr @lp_site %t5 = call ptr @lp_str_concat(ptr @.str4115, ptr %t4) store i32 0, ptr @lp_site call void @lp_free(ptr %t4) store i32 3466, ptr @lp_site %t6 = call ptr @lp_str_concat(ptr %t5, ptr @.str4117) store i32 0, ptr @lp_site call void @lp_free(ptr %t5) store ptr %t6, ptr %t7 %t12 = load ptr, ptr %t1 %t13 = getelementptr inbounds %Cmp_Node, ptr %t12, i32 0, i32 3 %t14 = load ptr, ptr %t13 %t15 = call i32 @lp_str_eq(ptr %t14, ptr @.str4118) %t16 = icmp ne i32 %t15, 0 %t17 = zext i1 %t16 to i32 store i32 %t17, ptr %t11 br i1 %t16, label %scend1, label %sc0 sc0: %t18 = load ptr, ptr %t1 %t19 = getelementptr inbounds %Cmp_Node, ptr %t18, i32 0, i32 3 %t20 = load ptr, ptr %t19 %t21 = call i32 @lp_str_eq(ptr %t20, ptr @.str4119) %t22 = icmp ne i32 %t21, 0 %t23 = zext i1 %t22 to i32 store i32 %t23, ptr %t11 br label %scend1 scend1: %t24 = load i32, ptr %t11 %t25 = icmp ne i32 %t24, 0 %t26 = zext i1 %t25 to i32 store i32 %t26, ptr %t10 br i1 %t25, label %scend3, label %sc2 sc2: %t27 = load ptr, ptr %t1 %t28 = getelementptr inbounds %Cmp_Node, ptr %t27, i32 0, i32 3 %t29 = load ptr, ptr %t28 %t30 = call i32 @lp_str_eq(ptr %t29, ptr @.str4120) %t31 = icmp ne i32 %t30, 0 %t32 = zext i1 %t31 to i32 store i32 %t32, ptr %t10 br label %scend3 scend3: %t33 = load i32, ptr %t10 %t34 = icmp ne i32 %t33, 0 %t35 = zext i1 %t34 to i32 store i32 %t35, ptr %t9 br i1 %t34, label %scend5, label %sc4 sc4: %t36 = load ptr, ptr %t1 %t37 = getelementptr inbounds %Cmp_Node, ptr %t36, i32 0, i32 3 %t38 = load ptr, ptr %t37 %t39 = call i32 @lp_str_eq(ptr %t38, ptr @.str4121) %t40 = icmp ne i32 %t39, 0 %t41 = zext i1 %t40 to i32 store i32 %t41, ptr %t9 br label %scend5 scend5: %t42 = load i32, ptr %t9 %t43 = icmp ne i32 %t42, 0 %t44 = zext i1 %t43 to i32 store i32 %t44, ptr %t8 br i1 %t43, label %scend7, label %sc6 sc6: %t45 = load ptr, ptr %t1 %t46 = getelementptr inbounds %Cmp_Node, ptr %t45, i32 0, i32 3 %t47 = load ptr, ptr %t46 %t48 = call i32 @lp_str_eq(ptr %t47, ptr @.str4122) %t49 = icmp ne i32 %t48, 0 %t50 = zext i1 %t49 to i32 store i32 %t50, ptr %t8 br label %scend7 scend7: %t51 = load i32, ptr %t8 %t52 = icmp ne i32 %t51, 0 br i1 %t52, label %then8, label %ifend10 then8: %t53 = load i32, ptr %t0 %t54 = load ptr, ptr %t1 %t55 = getelementptr inbounds %Cmp_Node, ptr %t54, i32 0, i32 3 %t56 = load ptr, ptr %t55 %t57 = load ptr, ptr %t7 %t58 = call ptr @fn_cm_from(i32 %t53, ptr %t56, ptr %t57) store ptr %t58, ptr %retval br label %ret ifend10: %t59 = load i32, ptr %t0 %t60 = load ptr, ptr %t1 %t61 = getelementptr inbounds %Cmp_Node, ptr %t60, i32 0, i32 1 %t62 = load ptr, ptr %t61 store i32 3467, ptr @lp_site %t63 = call ptr @lp_str_concat(ptr %t62, ptr @.str4123) store i32 0, ptr @lp_site %t64 = load ptr, ptr %t1 %t65 = getelementptr inbounds %Cmp_Node, ptr %t64, i32 0, i32 3 %t66 = load ptr, ptr %t65 store i32 3468, ptr @lp_site %t67 = call ptr @lp_str_concat(ptr %t63, ptr %t66) store i32 0, ptr @lp_site call void @lp_free(ptr %t63) store i32 3469, ptr @lp_site %t68 = call ptr @lp_str_concat(ptr %t67, ptr @.str4124) store i32 0, ptr @lp_site call void @lp_free(ptr %t67) call void @fn_cm_err(i32 %t59, ptr %t68) store ptr @.str4125, ptr %retval br label %ret ret: %t69 = load ptr, ptr %retval ret ptr %t69 } define void @fn_cm_class(i32 %arg_c, ptr %arg_px, ptr %arg_head) { entry: %t0 = alloca i32 %t1 = alloca ptr %t2 = alloca ptr %t13 = alloca ptr %t25 = alloca ptr %t30 = alloca ptr %t35 = alloca ptr %t38 = alloca ptr %t49 = alloca ptr %t51 = alloca ptr %t96 = alloca ptr %t191 = alloca ptr %t193 = alloca ptr %t200 = alloca ptr %t202 = alloca ptr store i32 %arg_c, ptr %t0 store ptr %arg_px, ptr %t1 store ptr %arg_head, ptr %t2 %t3 = load ptr, ptr @g_g_cm_name %t4 = load i32, ptr %t0 %t5 = getelementptr inbounds %LSlice, ptr %t3, i32 0, i32 0 %t6 = load ptr, ptr %t5 %t7 = getelementptr inbounds %LSlice, ptr %t3, i32 0, i32 1 %t8 = load i32, ptr %t7 %t9 = icmp ult i32 %t4, %t8 br i1 %t9, label %ixok0, label %ixbad1 ixbad1: store i32 3470, ptr @lp_site %t10 = call ptr @lp_win_stdio(i32 2) store i32 0, ptr @lp_site call i32 (ptr, ptr, ...) @fprintf(ptr %t10, ptr @.fmt_bounds, ptr @.str4126, i32 %t4, i32 %t8) call void @exit(i32 1) unreachable ixok0: %t11 = getelementptr inbounds ptr, ptr %t6, i32 %t4 %t12 = load ptr, ptr %t11 store ptr %t12, ptr %t13 %t14 = load ptr, ptr @g_g_cm_file %t15 = load i32, ptr %t0 %t16 = getelementptr inbounds %LSlice, ptr %t14, i32 0, i32 0 %t17 = load ptr, ptr %t16 %t18 = getelementptr inbounds %LSlice, ptr %t14, i32 0, i32 1 %t19 = load i32, ptr %t18 %t20 = icmp ult i32 %t15, %t19 br i1 %t20, label %ixok2, label %ixbad3 ixbad3: store i32 3471, ptr @lp_site %t21 = call ptr @lp_win_stdio(i32 2) store i32 0, ptr @lp_site call i32 (ptr, ptr, ...) @fprintf(ptr %t21, ptr @.fmt_bounds, ptr @.str4128, i32 %t15, i32 %t19) call void @exit(i32 1) unreachable ixok2: %t22 = getelementptr inbounds ptr, ptr %t17, i32 %t15 %t23 = load ptr, ptr %t22 %t24 = call ptr @fn_dir_of(ptr %t23) store ptr %t24, ptr %t25 %t26 = load ptr, ptr %t25 %t27 = load ptr, ptr %t13 store i32 3472, ptr @lp_site %t28 = call ptr @lp_str_concat(ptr %t27, ptr @.str4129) store i32 0, ptr @lp_site %t29 = call ptr @fn_join_path(ptr %t26, ptr %t28) store ptr %t29, ptr %t30 %t31 = load ptr, ptr %t25 %t32 = load ptr, ptr %t13 store i32 3473, ptr @lp_site %t33 = call ptr @lp_str_concat(ptr %t32, ptr @.str4130) store i32 0, ptr @lp_site %t34 = call ptr @fn_join_path(ptr %t31, ptr %t33) store ptr %t34, ptr %t35 %t36 = load ptr, ptr %t30 %t37 = call ptr @fn_read_file(ptr %t36) store ptr %t37, ptr %t38 %t39 = load ptr, ptr %t38 %t40 = icmp eq ptr %t39, null %t41 = zext i1 %t40 to i32 %t42 = icmp ne i32 %t41, 0 br i1 %t42, label %then4, label %ifend6 then4: %t43 = load i32, ptr %t0 %t44 = load ptr, ptr %t13 store i32 3474, ptr @lp_site %t45 = call ptr @lp_str_concat(ptr @.str4131, ptr %t44) store i32 0, ptr @lp_site store i32 3475, ptr @lp_site %t46 = call ptr @lp_str_concat(ptr %t45, ptr @.str4132) store i32 0, ptr @lp_site call void @lp_free(ptr %t45) call void @fn_cm_err(i32 %t43, ptr %t46) br label %ifend6 ifend6: %t47 = load ptr, ptr %t35 %t48 = call ptr @fn_read_file(ptr %t47) store ptr %t48, ptr %t49 %t50 = load ptr, ptr %t35 store ptr %t50, ptr %t51 %t52 = load ptr, ptr %t49 %t53 = icmp eq ptr %t52, null %t54 = zext i1 %t53 to i32 %t55 = icmp ne i32 %t54, 0 br i1 %t55, label %then7, label %else8 then7: store ptr @.str4133, ptr %t49 store ptr @.str4134, ptr %t51 br label %ifend9 else8: %t56 = load i32, ptr %t0 %t57 = load ptr, ptr %t49 %t58 = load ptr, ptr %t25 %t59 = call ptr @fn_cm_lss_inline(i32 %t56, ptr %t57, ptr %t58, i32 0) store ptr %t59, ptr %t49 br label %ifend9 ifend9: %t60 = load ptr, ptr @g_g_cm_xml_path %t61 = load i32, ptr %t0 %t62 = getelementptr inbounds %LSlice, ptr %t60, i32 0, i32 0 %t63 = load ptr, ptr %t62 %t64 = getelementptr inbounds %LSlice, ptr %t60, i32 0, i32 1 %t65 = load i32, ptr %t64 %t66 = icmp ult i32 %t61, %t65 br i1 %t66, label %ixok10, label %ixbad11 ixbad11: store i32 3476, ptr @lp_site %t67 = call ptr @lp_win_stdio(i32 2) store i32 0, ptr @lp_site call i32 (ptr, ptr, ...) @fprintf(ptr %t67, ptr @.fmt_bounds, ptr @.str4135, i32 %t61, i32 %t65) call void @exit(i32 1) unreachable ixok10: %t68 = getelementptr inbounds ptr, ptr %t63, i32 %t61 %t69 = load ptr, ptr %t30 store ptr %t69, ptr %t68 %t70 = load ptr, ptr @g_g_cm_lss_path %t71 = load i32, ptr %t0 %t72 = getelementptr inbounds %LSlice, ptr %t70, i32 0, i32 0 %t73 = load ptr, ptr %t72 %t74 = getelementptr inbounds %LSlice, ptr %t70, i32 0, i32 1 %t75 = load i32, ptr %t74 %t76 = icmp ult i32 %t71, %t75 br i1 %t76, label %ixok12, label %ixbad13 ixbad13: store i32 3477, ptr @lp_site %t77 = call ptr @lp_win_stdio(i32 2) store i32 0, ptr @lp_site call i32 (ptr, ptr, ...) @fprintf(ptr %t77, ptr @.fmt_bounds, ptr @.str4136, i32 %t71, i32 %t75) call void @exit(i32 1) unreachable ixok12: %t78 = getelementptr inbounds ptr, ptr %t73, i32 %t71 %t79 = load ptr, ptr %t51 store ptr %t79, ptr %t78 %t80 = load ptr, ptr @g_g_cm_xml %t81 = load i32, ptr %t0 %t82 = getelementptr inbounds %LSlice, ptr %t80, i32 0, i32 0 %t83 = load ptr, ptr %t82 %t84 = getelementptr inbounds %LSlice, ptr %t80, i32 0, i32 1 %t85 = load i32, ptr %t84 %t86 = icmp ult i32 %t81, %t85 br i1 %t86, label %ixok14, label %ixbad15 ixbad15: store i32 3478, ptr @lp_site %t87 = call ptr @lp_win_stdio(i32 2) store i32 0, ptr @lp_site call i32 (ptr, ptr, ...) @fprintf(ptr %t87, ptr @.fmt_bounds, ptr @.str4137, i32 %t81, i32 %t85) call void @exit(i32 1) unreachable ixok14: %t88 = getelementptr inbounds ptr, ptr %t83, i32 %t81 %t89 = load ptr, ptr %t38 store ptr %t89, ptr %t88 %t90 = load ptr, ptr %t1 store i32 3479, ptr @lp_site %t91 = call ptr @lp_str_concat(ptr @.str4138, ptr %t90) store i32 0, ptr @lp_site store i32 3480, ptr @lp_site %t92 = call ptr @lp_str_concat(ptr %t91, ptr @.str4139) store i32 0, ptr @lp_site call void @lp_free(ptr %t91) %t93 = load ptr, ptr %t13 store i32 3481, ptr @lp_site %t94 = call ptr @lp_str_concat(ptr %t92, ptr %t93) store i32 0, ptr @lp_site call void @lp_free(ptr %t92) store i32 3482, ptr @lp_site %t95 = call ptr @lp_str_concat(ptr %t94, ptr @.str4140) store i32 0, ptr @lp_site call void @lp_free(ptr %t94) store ptr %t95, ptr %t96 %t97 = load ptr, ptr %t96 %t98 = load ptr, ptr %t30 store i32 3483, ptr @lp_site %t99 = call ptr @lp_str_concat(ptr @.str4141, ptr %t98) store i32 0, ptr @lp_site store i32 3484, ptr @lp_site %t100 = call ptr @lp_str_concat(ptr %t99, ptr @.str4142) store i32 0, ptr @lp_site call void @lp_free(ptr %t99) %t101 = load ptr, ptr %t1 store i32 3485, ptr @lp_site %t102 = call ptr @lp_str_concat(ptr %t100, ptr %t101) store i32 0, ptr @lp_site call void @lp_free(ptr %t100) store i32 3486, ptr @lp_site %t103 = call ptr @lp_str_concat(ptr %t102, ptr @.str4143) store i32 0, ptr @lp_site call void @lp_free(ptr %t102) %t104 = load ptr, ptr %t51 store i32 3487, ptr @lp_site %t105 = call ptr @lp_str_concat(ptr %t103, ptr %t104) store i32 0, ptr @lp_site call void @lp_free(ptr %t103) store i32 3488, ptr @lp_site %t106 = call ptr @lp_str_concat(ptr %t105, ptr @.str4144) store i32 0, ptr @lp_site call void @lp_free(ptr %t105) %t107 = load ptr, ptr %t1 store i32 3489, ptr @lp_site %t108 = call ptr @lp_str_concat(ptr %t106, ptr %t107) store i32 0, ptr @lp_site call void @lp_free(ptr %t106) store i32 3490, ptr @lp_site %t109 = call ptr @lp_str_concat(ptr %t108, ptr @.str4145) store i32 0, ptr @lp_site call void @lp_free(ptr %t108) store i32 3491, ptr @lp_site %t110 = call ptr @lp_str_concat(ptr %t97, ptr %t109) store i32 0, ptr @lp_site call void @lp_free(ptr %t109) store ptr %t110, ptr %t96 %t111 = load ptr, ptr %t96 %t112 = load ptr, ptr %t1 store i32 3492, ptr @lp_site %t113 = call ptr @lp_str_concat(ptr @.str4146, ptr %t112) store i32 0, ptr @lp_site store i32 3493, ptr @lp_site %t114 = call ptr @lp_str_concat(ptr %t113, ptr @.str4147) store i32 0, ptr @lp_site call void @lp_free(ptr %t113) %t115 = load ptr, ptr %t1 store i32 3494, ptr @lp_site %t116 = call ptr @lp_str_concat(ptr %t114, ptr %t115) store i32 0, ptr @lp_site call void @lp_free(ptr %t114) store i32 3495, ptr @lp_site %t117 = call ptr @lp_str_concat(ptr %t116, ptr @.str4148) store i32 0, ptr @lp_site call void @lp_free(ptr %t116) %t118 = load ptr, ptr %t1 store i32 3496, ptr @lp_site %t119 = call ptr @lp_str_concat(ptr %t117, ptr %t118) store i32 0, ptr @lp_site call void @lp_free(ptr %t117) store i32 3497, ptr @lp_site %t120 = call ptr @lp_str_concat(ptr %t119, ptr @.str4149) store i32 0, ptr @lp_site call void @lp_free(ptr %t119) %t121 = load ptr, ptr %t1 store i32 3498, ptr @lp_site %t122 = call ptr @lp_str_concat(ptr %t120, ptr %t121) store i32 0, ptr @lp_site call void @lp_free(ptr %t120) store i32 3499, ptr @lp_site %t123 = call ptr @lp_str_concat(ptr %t122, ptr @.str4150) store i32 0, ptr @lp_site call void @lp_free(ptr %t122) %t124 = load ptr, ptr %t1 store i32 3500, ptr @lp_site %t125 = call ptr @lp_str_concat(ptr %t123, ptr %t124) store i32 0, ptr @lp_site call void @lp_free(ptr %t123) store i32 3501, ptr @lp_site %t126 = call ptr @lp_str_concat(ptr %t125, ptr @.str4151) store i32 0, ptr @lp_site call void @lp_free(ptr %t125) store i32 3502, ptr @lp_site %t127 = call ptr @lp_str_concat(ptr %t111, ptr %t126) store i32 0, ptr @lp_site call void @lp_free(ptr %t126) store ptr %t127, ptr %t96 %t128 = load ptr, ptr %t96 %t129 = load ptr, ptr @g_g_cm_file %t130 = load i32, ptr %t0 %t131 = getelementptr inbounds %LSlice, ptr %t129, i32 0, i32 0 %t132 = load ptr, ptr %t131 %t133 = getelementptr inbounds %LSlice, ptr %t129, i32 0, i32 1 %t134 = load i32, ptr %t133 %t135 = icmp ult i32 %t130, %t134 br i1 %t135, label %ixok16, label %ixbad17 ixbad17: store i32 3503, ptr @lp_site %t136 = call ptr @lp_win_stdio(i32 2) store i32 0, ptr @lp_site call i32 (ptr, ptr, ...) @fprintf(ptr %t136, ptr @.fmt_bounds, ptr @.str4152, i32 %t130, i32 %t134) call void @exit(i32 1) unreachable ixok16: %t137 = getelementptr inbounds ptr, ptr %t132, i32 %t130 %t138 = load ptr, ptr %t137 %t139 = load ptr, ptr @g_g_cm_line %t140 = load i32, ptr %t0 %t141 = getelementptr inbounds %LSlice, ptr %t139, i32 0, i32 0 %t142 = load ptr, ptr %t141 %t143 = getelementptr inbounds %LSlice, ptr %t139, i32 0, i32 1 %t144 = load i32, ptr %t143 %t145 = icmp ult i32 %t140, %t144 br i1 %t145, label %ixok18, label %ixbad19 ixbad19: store i32 3504, ptr @lp_site %t146 = call ptr @lp_win_stdio(i32 2) store i32 0, ptr @lp_site call i32 (ptr, ptr, ...) @fprintf(ptr %t146, ptr @.fmt_bounds, ptr @.str4153, i32 %t140, i32 %t144) call void @exit(i32 1) unreachable ixok18: %t147 = getelementptr inbounds i32, ptr %t142, i32 %t140 %t148 = load i32, ptr %t147 %t149 = load ptr, ptr %t2 %t150 = getelementptr inbounds %Cmp_Node, ptr %t149, i32 0, i32 10 %t151 = load i32, ptr %t150 call void @fn_vw_parse(ptr %t128, ptr %t138, i32 %t148, i32 %t151) %t152 = load i32, ptr %t0 %t153 = load ptr, ptr %t1 %t154 = load ptr, ptr %t13 store i32 3505, ptr @lp_site %t155 = call ptr @lp_str_concat(ptr @.str4154, ptr %t154) store i32 0, ptr @lp_site %t156 = call ptr @fn_cm_renew_src(i32 %t152, ptr %t153, ptr %t155) %t157 = load ptr, ptr @g_g_cm_file %t158 = load i32, ptr %t0 %t159 = getelementptr inbounds %LSlice, ptr %t157, i32 0, i32 0 %t160 = load ptr, ptr %t159 %t161 = getelementptr inbounds %LSlice, ptr %t157, i32 0, i32 1 %t162 = load i32, ptr %t161 %t163 = icmp ult i32 %t158, %t162 br i1 %t163, label %ixok20, label %ixbad21 ixbad21: store i32 3506, ptr @lp_site %t164 = call ptr @lp_win_stdio(i32 2) store i32 0, ptr @lp_site call i32 (ptr, ptr, ...) @fprintf(ptr %t164, ptr @.fmt_bounds, ptr @.str4155, i32 %t158, i32 %t162) call void @exit(i32 1) unreachable ixok20: %t165 = getelementptr inbounds ptr, ptr %t160, i32 %t158 %t166 = load ptr, ptr %t165 %t167 = load ptr, ptr @g_g_cm_line %t168 = load i32, ptr %t0 %t169 = getelementptr inbounds %LSlice, ptr %t167, i32 0, i32 0 %t170 = load ptr, ptr %t169 %t171 = getelementptr inbounds %LSlice, ptr %t167, i32 0, i32 1 %t172 = load i32, ptr %t171 %t173 = icmp ult i32 %t168, %t172 br i1 %t173, label %ixok22, label %ixbad23 ixbad23: store i32 3507, ptr @lp_site %t174 = call ptr @lp_win_stdio(i32 2) store i32 0, ptr @lp_site call i32 (ptr, ptr, ...) @fprintf(ptr %t174, ptr @.fmt_bounds, ptr @.str4156, i32 %t168, i32 %t172) call void @exit(i32 1) unreachable ixok22: %t175 = getelementptr inbounds i32, ptr %t170, i32 %t168 %t176 = load i32, ptr %t175 %t177 = load ptr, ptr %t2 %t178 = getelementptr inbounds %Cmp_Node, ptr %t177, i32 0, i32 10 %t179 = load i32, ptr %t178 call void @fn_vw_parse(ptr %t156, ptr %t166, i32 %t176, i32 %t179) %t180 = load i32, ptr %t0 %t181 = load ptr, ptr %t1 store i32 3508, ptr @lp_site %t182 = call ptr @lp_str_concat(ptr %t181, ptr @.str4157) store i32 0, ptr @lp_site %t183 = load ptr, ptr %t38 %t184 = load ptr, ptr %t2 call void @fn_cm_text_fn(i32 %t180, ptr %t182, ptr %t183, ptr %t184) %t185 = load i32, ptr %t0 %t186 = load ptr, ptr %t1 store i32 3509, ptr @lp_site %t187 = call ptr @lp_str_concat(ptr %t186, ptr @.str4158) store i32 0, ptr @lp_site %t188 = load ptr, ptr %t49 %t189 = load ptr, ptr %t2 call void @fn_cm_text_fn(i32 %t185, ptr %t187, ptr %t188, ptr %t189) %t190 = call ptr @fn_node(i32 34) store ptr %t190, ptr %t191 %t192 = call ptr @fn_node(i32 33) store ptr %t192, ptr %t193 %t194 = load ptr, ptr %t193 %t195 = getelementptr inbounds %Cmp_Node, ptr %t194, i32 0, i32 1 store ptr @.str4159, ptr %t195 %t196 = load ptr, ptr %t191 %t197 = getelementptr inbounds %Cmp_Node, ptr %t196, i32 0, i32 4 %t198 = load ptr, ptr %t193 store ptr %t198, ptr %t197 %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 %t205 = load ptr, ptr %t1 store i32 3510, ptr @lp_site %t206 = call ptr @lp_str_concat(ptr %t205, ptr @.str4160) store i32 0, ptr @lp_site store ptr %t206, ptr %t204 %t207 = load ptr, ptr %t200 %t208 = getelementptr inbounds %Cmp_Node, ptr %t207, i32 0, i32 4 %t209 = load ptr, ptr %t202 store ptr %t209, ptr %t208 %t210 = load ptr, ptr %t200 %t211 = getelementptr inbounds %Cmp_Node, ptr %t210, i32 0, i32 7 %t212 = getelementptr %LSlice, ptr null, i32 1 %t213 = ptrtoint ptr %t212 to i64 store i32 3511, ptr @lp_site %t214 = call ptr @lp_malloc(i64 %t213) store i32 0, ptr @lp_site %t215 = getelementptr inbounds %LSlice, ptr %t214, i32 0, i32 0 store ptr null, ptr %t215 %t216 = getelementptr inbounds %LSlice, ptr %t214, i32 0, i32 1 store i32 0, ptr %t216 %t217 = getelementptr inbounds %LSlice, ptr %t214, i32 0, i32 2 store i32 0, ptr %t217 store ptr %t214, ptr %t211 %t218 = load ptr, ptr %t191 %t219 = getelementptr inbounds %Cmp_Node, ptr %t218, i32 0, i32 7 %t220 = getelementptr %LSlice, ptr null, i32 1 %t221 = ptrtoint ptr %t220 to i64 store i32 3512, ptr @lp_site %t222 = call ptr @lp_malloc(i64 %t221) store i32 0, ptr @lp_site %t223 = getelementptr inbounds %LSlice, ptr %t222, i32 0, i32 0 store ptr null, ptr %t223 %t224 = getelementptr inbounds %LSlice, ptr %t222, i32 0, i32 1 store i32 0, ptr %t224 %t225 = getelementptr inbounds %LSlice, ptr %t222, i32 0, i32 2 store i32 0, ptr %t225 store ptr %t222, ptr %t219 %t226 = load ptr, ptr %t191 %t227 = getelementptr inbounds %Cmp_Node, ptr %t226, i32 0, i32 7 %t228 = load ptr, ptr %t227 %t229 = load ptr, ptr %t200 %t230 = getelementptr inbounds %LSlice, ptr %t228, i32 0, i32 1 %t231 = getelementptr inbounds %LSlice, ptr %t228, i32 0, i32 2 %t232 = getelementptr inbounds %LSlice, ptr %t228, i32 0, i32 0 %t233 = load i32, ptr %t230 %t234 = load i32, ptr %t231 %t235 = icmp sge i32 %t233, %t234 br i1 %t235, label %grow24, label %put25 grow24: %t236 = mul i32 %t234, 2 %t237 = icmp eq i32 %t234, 0 %t238 = select i1 %t237, i32 8, i32 %t236 %t239 = getelementptr ptr, ptr null, i32 1 %t240 = ptrtoint ptr %t239 to i64 %t241 = zext i32 %t238 to i64 %t242 = mul i64 %t241, %t240 %t243 = load ptr, ptr %t232 store i32 3513, ptr @lp_site %t244 = call ptr @lp_realloc(ptr %t243, i64 %t242) store i32 0, ptr @lp_site store ptr %t244, ptr %t232 store i32 %t238, ptr %t231 br label %put25 put25: %t245 = load ptr, ptr %t232 %t246 = getelementptr inbounds ptr, ptr %t245, i32 %t233 store ptr %t229, ptr %t246 %t247 = add i32 %t233, 1 store i32 %t247, ptr %t230 %t248 = load ptr, ptr %t2 %t249 = getelementptr inbounds %Cmp_Node, ptr %t248, i32 0, i32 4 %t250 = load ptr, ptr %t191 store ptr %t250, ptr %t249 br label %ret ret: ret void } define void @fn_cm_text_fn(i32 %arg_c, ptr %arg_name, ptr %arg_text, ptr %arg_head) { entry: %t0 = alloca i32 %t1 = alloca ptr %t2 = alloca ptr %t3 = alloca ptr %t7 = alloca i32 store i32 %arg_c, ptr %t0 store ptr %arg_name, ptr %t1 store ptr %arg_text, ptr %t2 store ptr %arg_head, ptr %t3 %t4 = load ptr, ptr @g_prog %t5 = getelementptr inbounds %LSlice, ptr %t4, i32 0, i32 1 %t6 = load i32, ptr %t5 store i32 %t6, ptr %t7 %t8 = load ptr, ptr %t1 store i32 3514, ptr @lp_site %t9 = call ptr @lp_str_concat(ptr @.str4161, ptr %t8) store i32 0, ptr @lp_site store i32 3515, ptr @lp_site %t10 = call ptr @lp_str_concat(ptr %t9, ptr @.str4163) store i32 0, ptr @lp_site call void @lp_free(ptr %t9) %t11 = load ptr, ptr @g_g_cm_file %t12 = load i32, ptr %t0 %t13 = getelementptr inbounds %LSlice, ptr %t11, i32 0, i32 0 %t14 = load ptr, ptr %t13 %t15 = getelementptr inbounds %LSlice, ptr %t11, i32 0, i32 1 %t16 = load i32, ptr %t15 %t17 = icmp ult i32 %t12, %t16 br i1 %t17, label %ixok0, label %ixbad1 ixbad1: store i32 3516, ptr @lp_site %t18 = call ptr @lp_win_stdio(i32 2) store i32 0, ptr @lp_site call i32 (ptr, ptr, ...) @fprintf(ptr %t18, ptr @.fmt_bounds, ptr @.str4164, i32 %t12, i32 %t16) call void @exit(i32 1) unreachable ixok0: %t19 = getelementptr inbounds ptr, ptr %t14, i32 %t12 %t20 = load ptr, ptr %t19 %t21 = load ptr, ptr @g_g_cm_line %t22 = load i32, ptr %t0 %t23 = getelementptr inbounds %LSlice, ptr %t21, i32 0, i32 0 %t24 = load ptr, ptr %t23 %t25 = getelementptr inbounds %LSlice, ptr %t21, i32 0, i32 1 %t26 = load i32, ptr %t25 %t27 = icmp ult i32 %t22, %t26 br i1 %t27, label %ixok2, label %ixbad3 ixbad3: store i32 3517, ptr @lp_site %t28 = call ptr @lp_win_stdio(i32 2) store i32 0, ptr @lp_site call i32 (ptr, ptr, ...) @fprintf(ptr %t28, ptr @.fmt_bounds, ptr @.str4165, i32 %t22, i32 %t26) call void @exit(i32 1) unreachable ixok2: %t29 = getelementptr inbounds i32, ptr %t24, i32 %t22 %t30 = load i32, ptr %t29 %t31 = load ptr, ptr %t3 %t32 = getelementptr inbounds %Cmp_Node, ptr %t31, i32 0, i32 10 %t33 = load i32, ptr %t32 call void @fn_vw_parse(ptr %t10, ptr %t20, i32 %t30, i32 %t33) %t34 = load ptr, ptr @g_prog %t35 = load i32, ptr %t7 %t36 = getelementptr inbounds %LSlice, ptr %t34, i32 0, i32 0 %t37 = load ptr, ptr %t36 %t38 = getelementptr inbounds %LSlice, ptr %t34, i32 0, i32 1 %t39 = load i32, ptr %t38 %t40 = icmp ult i32 %t35, %t39 br i1 %t40, label %ixok4, label %ixbad5 ixbad5: store i32 3518, ptr @lp_site %t41 = call ptr @lp_win_stdio(i32 2) store i32 0, ptr @lp_site call i32 (ptr, ptr, ...) @fprintf(ptr %t41, ptr @.fmt_bounds, ptr @.str4166, i32 %t35, i32 %t39) call void @exit(i32 1) unreachable ixok4: %t42 = getelementptr inbounds ptr, ptr %t37, i32 %t35 %t43 = load ptr, ptr %t42 %t44 = getelementptr inbounds %Cmp_Node, ptr %t43, i32 0, i32 4 %t45 = load ptr, ptr %t44 %t46 = getelementptr inbounds %Cmp_Node, ptr %t45, i32 0, i32 7 %t47 = load ptr, ptr %t46 %t48 = getelementptr inbounds %LSlice, ptr %t47, i32 0, i32 0 %t49 = load ptr, ptr %t48 %t50 = getelementptr inbounds %LSlice, ptr %t47, i32 0, i32 1 %t51 = load i32, ptr %t50 %t52 = icmp ult i32 0, %t51 br i1 %t52, label %ixok6, label %ixbad7 ixbad7: store i32 3519, ptr @lp_site %t53 = call ptr @lp_win_stdio(i32 2) store i32 0, ptr @lp_site call i32 (ptr, ptr, ...) @fprintf(ptr %t53, ptr @.fmt_bounds, ptr @.str4167, i32 0, i32 %t51) call void @exit(i32 1) unreachable ixok6: %t54 = getelementptr inbounds ptr, ptr %t49, i32 0 %t55 = load ptr, ptr %t54 %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 %t2 store ptr %t59, ptr %t58 br label %ret ret: ret void } define ptr @fn_cm_lss_inline(i32 %arg_c, ptr %arg_text, ptr %arg_dir, i32 %arg_depth) { entry: %retval = alloca ptr %t0 = alloca i32 %t1 = alloca ptr %t2 = alloca ptr %t3 = alloca i32 %t9 = alloca ptr %t10 = alloca i32 %t14 = alloca i32 %t21 = alloca i32 %t22 = alloca i32 %t42 = alloca ptr %t49 = alloca ptr %t61 = alloca ptr %t76 = alloca ptr store i32 %arg_c, ptr %t0 store ptr %arg_text, ptr %t1 store ptr %arg_dir, ptr %t2 store i32 %arg_depth, ptr %t3 %t4 = load i32, ptr %t3 %t5 = icmp sgt i32 %t4, 8 %t6 = zext i1 %t5 to i32 %t7 = icmp ne i32 %t6, 0 br i1 %t7, label %then0, label %ifend2 then0: %t8 = load i32, ptr %t0 call void @fn_cm_err(i32 %t8, ptr @.str4168) br label %ifend2 ifend2: store ptr @.str4169, ptr %t9 store i32 0, ptr %t10 %t11 = load ptr, ptr %t1 %t12 = call i64 @strlen(ptr %t11) %t13 = trunc i64 %t12 to i32 store i32 %t13, ptr %t14 br label %wcond3 wcond3: %t15 = load i32, ptr %t10 %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 %wbody4, label %wend5 wbody4: %t20 = load i32, ptr %t10 store i32 %t20, ptr %t21 br label %wcond6 wcond6: %t23 = load i32, ptr %t21 %t24 = load i32, ptr %t14 %t25 = icmp slt i32 %t23, %t24 %t26 = zext i1 %t25 to i32 %t27 = icmp ne i32 %t26, 0 %t28 = zext i1 %t27 to i32 store i32 %t28, ptr %t22 br i1 %t27, label %sc9, label %scend10 sc9: %t29 = load ptr, ptr %t1 %t30 = load i32, ptr %t21 %t31 = getelementptr inbounds i8, ptr %t29, i32 %t30 %t32 = load i8, ptr %t31 %t33 = zext i8 %t32 to i32 %t34 = icmp ne i32 %t33, 10 %t35 = zext i1 %t34 to i32 %t36 = icmp ne i32 %t35, 0 %t37 = zext i1 %t36 to i32 store i32 %t37, ptr %t22 br label %scend10 scend10: %t38 = load i32, ptr %t22 %t39 = icmp ne i32 %t38, 0 br i1 %t39, label %wbody7, label %wend8 wbody7: %t40 = load i32, ptr %t21 %t41 = add i32 %t40, 1 store i32 %t41, ptr %t21 br label %wcond6 wend8: %t43 = load ptr, ptr %t1 %t44 = load i32, ptr %t10 %t45 = load i32, ptr %t21 store i32 3520, ptr @lp_site %t46 = call ptr @lp_str_slice(ptr %t43, i32 %t44, i32 %t45) store i32 0, ptr @lp_site store ptr %t46, ptr %t42 %t47 = load ptr, ptr %t42 %t48 = call ptr @fn_cm_import_of(ptr %t47) store ptr %t48, ptr %t49 %t50 = load ptr, ptr %t49 %t51 = icmp eq ptr %t50, null %t52 = zext i1 %t51 to i32 %t53 = icmp ne i32 %t52, 0 br i1 %t53, label %then11, label %else12 then11: %t54 = load ptr, ptr %t9 %t55 = load ptr, ptr %t42 store i32 3521, ptr @lp_site %t56 = call ptr @lp_str_concat(ptr %t54, ptr %t55) store i32 0, ptr @lp_site store i32 3522, ptr @lp_site %t57 = call ptr @lp_str_concat(ptr %t56, ptr @.str4171) store i32 0, ptr @lp_site call void @lp_free(ptr %t56) store ptr %t57, ptr %t9 br label %ifend13 else12: %t58 = load ptr, ptr %t2 %t59 = load ptr, ptr %t49 %t60 = call ptr @fn_join_path(ptr %t58, ptr %t59) store ptr %t60, ptr %t61 %t62 = load ptr, ptr %t49 %t63 = getelementptr inbounds i8, ptr %t62, i32 0 %t64 = load i8, ptr %t63 %t65 = zext i8 %t64 to i32 %t66 = icmp eq i32 %t65, 47 %t67 = zext i1 %t66 to i32 %t68 = icmp ne i32 %t67, 0 br i1 %t68, label %then14, label %ifend16 then14: %t69 = load ptr, ptr %t49 %t70 = load ptr, ptr %t49 %t71 = call i64 @strlen(ptr %t70) %t72 = trunc i64 %t71 to i32 store i32 3523, ptr @lp_site %t73 = call ptr @lp_str_slice(ptr %t69, i32 1, i32 %t72) store i32 0, ptr @lp_site store ptr %t73, ptr %t61 br label %ifend16 ifend16: %t74 = load ptr, ptr %t61 %t75 = call ptr @fn_read_file(ptr %t74) store ptr %t75, ptr %t76 %t77 = load ptr, ptr %t76 %t78 = icmp eq ptr %t77, null %t79 = zext i1 %t78 to i32 %t80 = icmp ne i32 %t79, 0 br i1 %t80, label %then17, label %ifend19 then17: %t81 = load i32, ptr %t0 %t82 = load ptr, ptr %t49 store i32 3524, ptr @lp_site %t83 = call ptr @lp_str_concat(ptr @.str4172, ptr %t82) store i32 0, ptr @lp_site store i32 3525, ptr @lp_site %t84 = call ptr @lp_str_concat(ptr %t83, ptr @.str4173) store i32 0, ptr @lp_site call void @lp_free(ptr %t83) call void @fn_cm_err(i32 %t81, ptr %t84) br label %ifend19 ifend19: %t85 = load ptr, ptr %t9 %t86 = load i32, ptr %t0 %t87 = load ptr, ptr %t76 %t88 = load ptr, ptr %t61 %t89 = call ptr @fn_dir_of(ptr %t88) %t90 = load i32, ptr %t3 %t91 = add i32 %t90, 1 %t92 = call ptr @fn_cm_lss_inline(i32 %t86, ptr %t87, ptr %t89, i32 %t91) store i32 3526, ptr @lp_site %t93 = call ptr @lp_str_concat(ptr %t85, ptr %t92) store i32 0, ptr @lp_site store i32 3527, ptr @lp_site %t94 = call ptr @lp_str_concat(ptr %t93, ptr @.str4174) store i32 0, ptr @lp_site call void @lp_free(ptr %t93) store ptr %t94, ptr %t9 br label %ifend13 ifend13: %t95 = load i32, ptr %t21 %t96 = add i32 %t95, 1 store i32 %t96, ptr %t10 br label %wcond3 wend5: %t97 = load ptr, ptr %t9 store ptr %t97, ptr %retval br label %ret ret: %t98 = load ptr, ptr %retval ret ptr %t98 } define ptr @fn_cm_import_of(ptr %arg_line) { entry: %retval = alloca ptr %t0 = alloca ptr %t1 = alloca i32 %t2 = alloca i32 %t11 = alloca i32 %t56 = alloca i32 %t57 = alloca i32 %t58 = alloca i32 %t104 = alloca i32 %t107 = alloca i32 %t108 = alloca i32 store ptr %arg_line, ptr %t0 store i32 0, ptr %t1 br label %wcond0 wcond0: %t3 = load i32, ptr %t1 %t4 = load ptr, ptr %t0 %t5 = call i64 @strlen(ptr %t4) %t6 = trunc i64 %t5 to i32 %t7 = icmp slt i32 %t3, %t6 %t8 = zext i1 %t7 to i32 %t9 = icmp ne i32 %t8, 0 %t10 = zext i1 %t9 to i32 store i32 %t10, ptr %t2 br i1 %t9, label %sc3, label %scend4 sc3: %t12 = load ptr, ptr %t0 %t13 = load i32, ptr %t1 %t14 = getelementptr inbounds i8, ptr %t12, i32 %t13 %t15 = load i8, ptr %t14 %t16 = zext i8 %t15 to i32 %t17 = icmp eq i32 %t16, 32 %t18 = zext i1 %t17 to i32 %t19 = icmp ne i32 %t18, 0 %t20 = zext i1 %t19 to i32 store i32 %t20, ptr %t11 br i1 %t19, label %scend6, label %sc5 sc5: %t21 = load ptr, ptr %t0 %t22 = load i32, ptr %t1 %t23 = getelementptr inbounds i8, ptr %t21, i32 %t22 %t24 = load i8, ptr %t23 %t25 = zext i8 %t24 to i32 %t26 = icmp eq i32 %t25, 9 %t27 = zext i1 %t26 to i32 %t28 = icmp ne i32 %t27, 0 %t29 = zext i1 %t28 to i32 store i32 %t29, ptr %t11 br label %scend6 scend6: %t30 = load i32, ptr %t11 %t31 = icmp ne i32 %t30, 0 %t32 = zext i1 %t31 to i32 store i32 %t32, ptr %t2 br label %scend4 scend4: %t33 = load i32, ptr %t2 %t34 = icmp ne i32 %t33, 0 br i1 %t34, label %wbody1, label %wend2 wbody1: %t35 = load i32, ptr %t1 %t36 = add i32 %t35, 1 store i32 %t36, ptr %t1 br label %wcond0 wend2: %t37 = load i32, ptr %t1 %t38 = add i32 %t37, 7 %t39 = load ptr, ptr %t0 %t40 = call i64 @strlen(ptr %t39) %t41 = trunc i64 %t40 to i32 %t42 = icmp sgt i32 %t38, %t41 %t43 = zext i1 %t42 to i32 %t44 = icmp ne i32 %t43, 0 br i1 %t44, label %then7, label %ifend9 then7: store ptr null, ptr %retval br label %ret ifend9: %t45 = load ptr, ptr %t0 %t46 = load i32, ptr %t1 %t47 = load i32, ptr %t1 %t48 = add i32 %t47, 7 store i32 3528, ptr @lp_site %t49 = call ptr @lp_str_slice(ptr %t45, i32 %t46, i32 %t48) store i32 0, ptr @lp_site %t50 = call i32 @lp_str_eq(ptr %t49, ptr @.str4176) call void @lp_free(ptr %t49) %t51 = icmp eq i32 %t50, 0 %t52 = zext i1 %t51 to i32 %t53 = icmp ne i32 %t52, 0 br i1 %t53, label %then10, label %ifend12 then10: store ptr null, ptr %retval br label %ret ifend12: %t54 = load i32, ptr %t1 %t55 = add i32 %t54, 7 store i32 %t55, ptr %t56 br label %wcond13 wcond13: %t59 = load i32, ptr %t56 %t60 = load ptr, ptr %t0 %t61 = call i64 @strlen(ptr %t60) %t62 = trunc i64 %t61 to i32 %t63 = icmp slt i32 %t59, %t62 %t64 = zext i1 %t63 to i32 %t65 = icmp ne i32 %t64, 0 %t66 = zext i1 %t65 to i32 store i32 %t66, ptr %t58 br i1 %t65, label %sc16, label %scend17 sc16: %t67 = load ptr, ptr %t0 %t68 = load i32, ptr %t56 %t69 = getelementptr inbounds i8, ptr %t67, i32 %t68 %t70 = load i8, ptr %t69 %t71 = zext i8 %t70 to i32 %t72 = icmp ne i32 %t71, 34 %t73 = zext i1 %t72 to i32 %t74 = icmp ne i32 %t73, 0 %t75 = zext i1 %t74 to i32 store i32 %t75, ptr %t58 br label %scend17 scend17: %t76 = load i32, ptr %t58 %t77 = icmp ne i32 %t76, 0 %t78 = zext i1 %t77 to i32 store i32 %t78, ptr %t57 br i1 %t77, label %sc18, label %scend19 sc18: %t79 = load ptr, ptr %t0 %t80 = load i32, ptr %t56 %t81 = getelementptr inbounds i8, ptr %t79, i32 %t80 %t82 = load i8, ptr %t81 %t83 = zext i8 %t82 to i32 %t84 = icmp ne i32 %t83, 39 %t85 = zext i1 %t84 to i32 %t86 = icmp ne i32 %t85, 0 %t87 = zext i1 %t86 to i32 store i32 %t87, ptr %t57 br label %scend19 scend19: %t88 = load i32, ptr %t57 %t89 = icmp ne i32 %t88, 0 br i1 %t89, label %wbody14, label %wend15 wbody14: %t90 = load i32, ptr %t56 %t91 = add i32 %t90, 1 store i32 %t91, ptr %t56 br label %wcond13 wend15: %t92 = load i32, ptr %t56 %t93 = load ptr, ptr %t0 %t94 = call i64 @strlen(ptr %t93) %t95 = trunc i64 %t94 to i32 %t96 = icmp sge i32 %t92, %t95 %t97 = zext i1 %t96 to i32 %t98 = icmp ne i32 %t97, 0 br i1 %t98, label %then20, label %ifend22 then20: store ptr null, ptr %retval br label %ret ifend22: %t99 = load ptr, ptr %t0 %t100 = load i32, ptr %t56 %t101 = getelementptr inbounds i8, ptr %t99, i32 %t100 %t102 = load i8, ptr %t101 %t103 = zext i8 %t102 to i32 store i32 %t103, ptr %t104 %t105 = load i32, ptr %t56 %t106 = add i32 %t105, 1 store i32 %t106, ptr %t107 br label %wcond23 wcond23: %t109 = load i32, ptr %t107 %t110 = load ptr, ptr %t0 %t111 = call i64 @strlen(ptr %t110) %t112 = trunc i64 %t111 to i32 %t113 = icmp slt i32 %t109, %t112 %t114 = zext i1 %t113 to i32 %t115 = icmp ne i32 %t114, 0 %t116 = zext i1 %t115 to i32 store i32 %t116, ptr %t108 br i1 %t115, label %sc26, label %scend27 sc26: %t117 = load ptr, ptr %t0 %t118 = load i32, ptr %t107 %t119 = getelementptr inbounds i8, ptr %t117, i32 %t118 %t120 = load i8, ptr %t119 %t121 = zext i8 %t120 to i32 %t122 = load i32, ptr %t104 %t123 = icmp ne i32 %t121, %t122 %t124 = zext i1 %t123 to i32 %t125 = icmp ne i32 %t124, 0 %t126 = zext i1 %t125 to i32 store i32 %t126, ptr %t108 br label %scend27 scend27: %t127 = load i32, ptr %t108 %t128 = icmp ne i32 %t127, 0 br i1 %t128, label %wbody24, label %wend25 wbody24: %t129 = load i32, ptr %t107 %t130 = add i32 %t129, 1 store i32 %t130, ptr %t107 br label %wcond23 wend25: %t131 = load ptr, ptr %t0 %t132 = load i32, ptr %t56 %t133 = add i32 %t132, 1 %t134 = load i32, ptr %t107 store i32 3529, ptr @lp_site %t135 = call ptr @lp_str_slice(ptr %t131, i32 %t133, i32 %t134) store i32 0, ptr @lp_site store ptr %t135, ptr %retval br label %ret ret: %t136 = load ptr, ptr %retval ret ptr %t136 } define void @fn_cm_unique(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_cm_name %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_cm_name %t10 = load i32, ptr %t1 %t11 = getelementptr inbounds %LSlice, ptr %t9, i32 0, i32 0 %t12 = load ptr, ptr %t11 %t13 = getelementptr inbounds %LSlice, ptr %t9, i32 0, i32 1 %t14 = load i32, ptr %t13 %t15 = icmp ult i32 %t10, %t14 br i1 %t15, label %ixok3, label %ixbad4 ixbad4: store i32 3530, ptr @lp_site %t16 = call ptr @lp_win_stdio(i32 2) store i32 0, ptr @lp_site call i32 (ptr, ptr, ...) @fprintf(ptr %t16, ptr @.fmt_bounds, ptr @.str4177, i32 %t10, i32 %t14) call void @exit(i32 1) unreachable ixok3: %t17 = getelementptr inbounds ptr, ptr %t12, i32 %t10 %t18 = load ptr, ptr %t17 %t19 = call ptr @fn_cm_prefix(ptr %t18) %t20 = load ptr, ptr %t0 %t21 = call ptr @fn_cm_prefix(ptr %t20) %t22 = call i32 @lp_str_eq(ptr %t19, ptr %t21) %t23 = icmp ne i32 %t22, 0 br i1 %t23, label %then5, label %ifend7 then5: %t24 = load ptr, ptr %t0 store i32 3531, ptr @lp_site %t25 = call ptr @lp_str_concat(ptr @.str4179, ptr %t24) store i32 0, ptr @lp_site store i32 3532, ptr @lp_site %t26 = call ptr @lp_str_concat(ptr %t25, ptr @.str4180) store i32 0, ptr @lp_site call void @lp_free(ptr %t25) %t27 = load ptr, ptr @g_g_cm_file %t28 = load i32, ptr %t1 %t29 = getelementptr inbounds %LSlice, ptr %t27, i32 0, i32 0 %t30 = load ptr, ptr %t29 %t31 = getelementptr inbounds %LSlice, ptr %t27, i32 0, i32 1 %t32 = load i32, ptr %t31 %t33 = icmp ult i32 %t28, %t32 br i1 %t33, label %ixok8, label %ixbad9 ixbad9: store i32 3533, ptr @lp_site %t34 = call ptr @lp_win_stdio(i32 2) store i32 0, ptr @lp_site call i32 (ptr, ptr, ...) @fprintf(ptr %t34, ptr @.fmt_bounds, ptr @.str4181, i32 %t28, i32 %t32) call void @exit(i32 1) unreachable ixok8: %t35 = getelementptr inbounds ptr, ptr %t30, i32 %t28 %t36 = load ptr, ptr %t35 store i32 3534, ptr @lp_site %t37 = call ptr @lp_str_concat(ptr %t26, ptr %t36) store i32 0, ptr @lp_site call void @lp_free(ptr %t26) store i32 3535, ptr @lp_site %t38 = call ptr @lp_str_concat(ptr %t37, ptr @.str4182) store i32 0, ptr @lp_site call void @lp_free(ptr %t37) %t39 = load ptr, ptr @g_g_cm_line %t40 = load i32, ptr %t1 %t41 = getelementptr inbounds %LSlice, ptr %t39, i32 0, i32 0 %t42 = load ptr, ptr %t41 %t43 = getelementptr inbounds %LSlice, ptr %t39, i32 0, i32 1 %t44 = load i32, ptr %t43 %t45 = icmp ult i32 %t40, %t44 br i1 %t45, label %ixok10, label %ixbad11 ixbad11: store i32 3536, ptr @lp_site %t46 = call ptr @lp_win_stdio(i32 2) store i32 0, ptr @lp_site call i32 (ptr, ptr, ...) @fprintf(ptr %t46, ptr @.fmt_bounds, ptr @.str4183, i32 %t40, i32 %t44) call void @exit(i32 1) unreachable ixok10: %t47 = getelementptr inbounds i32, ptr %t42, i32 %t40 %t48 = load i32, ptr %t47 store i32 3537, ptr @lp_site %t49 = call ptr @lp_int_str(i32 %t48) store i32 0, ptr @lp_site store i32 3538, ptr @lp_site %t50 = call ptr @lp_str_concat(ptr %t38, ptr %t49) store i32 0, ptr @lp_site call void @lp_free(ptr %t38) call void @lp_free(ptr %t49) store i32 3539, ptr @lp_site %t51 = call ptr @lp_str_concat(ptr %t50, ptr @.str4184) store i32 0, ptr @lp_site call void @lp_free(ptr %t50) call void @fn_perr(ptr %t51) br label %ifend7 ifend7: %t52 = load i32, ptr %t1 %t53 = add i32 %t52, 1 store i32 %t53, ptr %t1 br label %wcond0 wend2: br label %ret ret: ret void } define ptr @fn_cm_renew_src(i32 %arg_c, ptr %arg_px, ptr %arg_rec) { entry: %retval = alloca ptr %t0 = alloca i32 %t1 = alloca ptr %t2 = alloca ptr %t9 = alloca ptr %t10 = alloca i32 %t46 = alloca ptr store i32 %arg_c, ptr %t0 store ptr %arg_px, ptr %t1 store ptr %arg_rec, ptr %t2 %t3 = load ptr, ptr %t1 store i32 3540, ptr @lp_site %t4 = call ptr @lp_str_concat(ptr @.str4185, ptr %t3) store i32 0, ptr @lp_site store i32 3541, ptr @lp_site %t5 = call ptr @lp_str_concat(ptr %t4, ptr @.str4187) store i32 0, ptr @lp_site call void @lp_free(ptr %t4) %t6 = load ptr, ptr %t2 store i32 3542, ptr @lp_site %t7 = call ptr @lp_str_concat(ptr %t5, ptr %t6) store i32 0, ptr @lp_site call void @lp_free(ptr %t5) store i32 3543, ptr @lp_site %t8 = call ptr @lp_str_concat(ptr %t7, ptr @.str4188) store i32 0, ptr @lp_site call void @lp_free(ptr %t7) store ptr %t8, ptr %t9 store i32 0, ptr %t10 br label %wcond0 wcond0: %t11 = load i32, ptr %t10 %t12 = load ptr, ptr @g_g_cm_keep %t13 = load i32, ptr %t0 %t14 = getelementptr inbounds %LSlice, ptr %t12, i32 0, i32 0 %t15 = load ptr, ptr %t14 %t16 = getelementptr inbounds %LSlice, ptr %t12, i32 0, i32 1 %t17 = load i32, ptr %t16 %t18 = icmp ult i32 %t13, %t17 br i1 %t18, label %ixok3, label %ixbad4 ixbad4: store i32 3544, ptr @lp_site %t19 = call ptr @lp_win_stdio(i32 2) store i32 0, ptr @lp_site call i32 (ptr, ptr, ...) @fprintf(ptr %t19, ptr @.fmt_bounds, ptr @.str4189, i32 %t13, i32 %t17) call void @exit(i32 1) unreachable ixok3: %t20 = getelementptr inbounds ptr, ptr %t15, i32 %t13 %t21 = load ptr, ptr %t20 %t22 = getelementptr inbounds %LSlice, ptr %t21, i32 0, i32 1 %t23 = load i32, ptr %t22 %t24 = icmp slt i32 %t11, %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 @g_g_cm_keep %t28 = load i32, ptr %t0 %t29 = getelementptr inbounds %LSlice, ptr %t27, i32 0, i32 0 %t30 = load ptr, ptr %t29 %t31 = getelementptr inbounds %LSlice, ptr %t27, i32 0, i32 1 %t32 = load i32, ptr %t31 %t33 = icmp ult i32 %t28, %t32 br i1 %t33, label %ixok5, label %ixbad6 ixbad6: store i32 3545, ptr @lp_site %t34 = call ptr @lp_win_stdio(i32 2) store i32 0, ptr @lp_site call i32 (ptr, ptr, ...) @fprintf(ptr %t34, ptr @.fmt_bounds, ptr @.str4190, i32 %t28, i32 %t32) call void @exit(i32 1) unreachable ixok5: %t35 = getelementptr inbounds ptr, ptr %t30, i32 %t28 %t36 = load ptr, ptr %t35 %t37 = load i32, ptr %t10 %t38 = getelementptr inbounds %LSlice, ptr %t36, i32 0, i32 0 %t39 = load ptr, ptr %t38 %t40 = getelementptr inbounds %LSlice, ptr %t36, i32 0, i32 1 %t41 = load i32, ptr %t40 %t42 = icmp ult i32 %t37, %t41 br i1 %t42, label %ixok7, label %ixbad8 ixbad8: store i32 3546, ptr @lp_site %t43 = call ptr @lp_win_stdio(i32 2) store i32 0, ptr @lp_site call i32 (ptr, ptr, ...) @fprintf(ptr %t43, ptr @.fmt_bounds, ptr @.str4191, i32 %t37, i32 %t41) call void @exit(i32 1) unreachable ixok7: %t44 = getelementptr inbounds ptr, ptr %t39, i32 %t37 %t45 = load ptr, ptr %t44 store ptr %t45, ptr %t46 %t47 = load ptr, ptr @g_g_cm_defs %t48 = load i32, ptr %t0 %t49 = getelementptr inbounds %LSlice, ptr %t47, i32 0, i32 0 %t50 = load ptr, ptr %t49 %t51 = getelementptr inbounds %LSlice, ptr %t47, i32 0, i32 1 %t52 = load i32, ptr %t51 %t53 = icmp ult i32 %t48, %t52 br i1 %t53, label %ixok9, label %ixbad10 ixbad10: store i32 3547, ptr @lp_site %t54 = call ptr @lp_win_stdio(i32 2) store i32 0, ptr @lp_site call i32 (ptr, ptr, ...) @fprintf(ptr %t54, ptr @.fmt_bounds, ptr @.str4192, i32 %t48, i32 %t52) call void @exit(i32 1) unreachable ixok9: %t55 = getelementptr inbounds ptr, ptr %t50, i32 %t48 %t56 = load ptr, ptr %t55 %t57 = load i32, ptr %t10 %t58 = getelementptr inbounds %LSlice, ptr %t56, i32 0, i32 0 %t59 = load ptr, ptr %t58 %t60 = getelementptr inbounds %LSlice, ptr %t56, i32 0, i32 1 %t61 = load i32, ptr %t60 %t62 = icmp ult i32 %t57, %t61 br i1 %t62, label %ixok11, label %ixbad12 ixbad12: store i32 3548, ptr @lp_site %t63 = call ptr @lp_win_stdio(i32 2) store i32 0, ptr @lp_site call i32 (ptr, ptr, ...) @fprintf(ptr %t63, ptr @.fmt_bounds, ptr @.str4193, i32 %t57, i32 %t61) call void @exit(i32 1) unreachable ixok11: %t64 = getelementptr inbounds ptr, ptr %t59, i32 %t57 %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 %then13, label %else14 then13: %t69 = load ptr, ptr %t9 %t70 = load ptr, ptr %t46 store i32 3549, ptr @lp_site %t71 = call ptr @lp_str_concat(ptr @.str4194, ptr %t70) store i32 0, ptr @lp_site store i32 3550, ptr @lp_site %t72 = call ptr @lp_str_concat(ptr %t71, ptr @.str4195) store i32 0, ptr @lp_site call void @lp_free(ptr %t71) %t73 = load ptr, ptr %t1 store i32 3551, ptr @lp_site %t74 = call ptr @lp_str_concat(ptr %t72, ptr %t73) store i32 0, ptr @lp_site call void @lp_free(ptr %t72) store i32 3552, ptr @lp_site %t75 = call ptr @lp_str_concat(ptr %t74, ptr @.str4196) store i32 0, ptr @lp_site call void @lp_free(ptr %t74) %t76 = load ptr, ptr %t46 store i32 3553, ptr @lp_site %t77 = call ptr @lp_str_concat(ptr %t75, ptr %t76) store i32 0, ptr @lp_site call void @lp_free(ptr %t75) store i32 3554, ptr @lp_site %t78 = call ptr @lp_str_concat(ptr %t77, ptr @.str4197) store i32 0, ptr @lp_site call void @lp_free(ptr %t77) store i32 3555, ptr @lp_site %t79 = call ptr @lp_str_concat(ptr %t69, ptr %t78) store i32 0, ptr @lp_site call void @lp_free(ptr %t78) store ptr %t79, ptr %t9 br label %ifend15 else14: %t80 = load ptr, ptr %t9 %t81 = load ptr, ptr %t46 store i32 3556, ptr @lp_site %t82 = call ptr @lp_str_concat(ptr @.str4198, ptr %t81) store i32 0, ptr @lp_site store i32 3557, ptr @lp_site %t83 = call ptr @lp_str_concat(ptr %t82, ptr @.str4199) store i32 0, ptr @lp_site call void @lp_free(ptr %t82) %t84 = load ptr, ptr @g_g_cm_keep_ty %t85 = load i32, ptr %t0 %t86 = getelementptr inbounds %LSlice, ptr %t84, i32 0, i32 0 %t87 = load ptr, ptr %t86 %t88 = getelementptr inbounds %LSlice, ptr %t84, i32 0, i32 1 %t89 = load i32, ptr %t88 %t90 = icmp ult i32 %t85, %t89 br i1 %t90, label %ixok16, label %ixbad17 ixbad17: store i32 3558, ptr @lp_site %t91 = call ptr @lp_win_stdio(i32 2) store i32 0, ptr @lp_site call i32 (ptr, ptr, ...) @fprintf(ptr %t91, ptr @.fmt_bounds, ptr @.str4200, i32 %t85, i32 %t89) call void @exit(i32 1) unreachable ixok16: %t92 = getelementptr inbounds ptr, ptr %t87, i32 %t85 %t93 = load ptr, ptr %t92 %t94 = load i32, ptr %t10 %t95 = getelementptr inbounds %LSlice, ptr %t93, i32 0, i32 0 %t96 = load ptr, ptr %t95 %t97 = getelementptr inbounds %LSlice, ptr %t93, i32 0, i32 1 %t98 = load i32, ptr %t97 %t99 = icmp ult i32 %t94, %t98 br i1 %t99, label %ixok18, label %ixbad19 ixbad19: store i32 3559, ptr @lp_site %t100 = call ptr @lp_win_stdio(i32 2) store i32 0, ptr @lp_site call i32 (ptr, ptr, ...) @fprintf(ptr %t100, ptr @.fmt_bounds, ptr @.str4201, i32 %t94, i32 %t98) call void @exit(i32 1) unreachable ixok18: %t101 = getelementptr inbounds ptr, ptr %t96, i32 %t94 %t102 = load ptr, ptr %t101 %t103 = call ptr @fn_cm_zero(ptr %t102) store i32 3560, ptr @lp_site %t104 = call ptr @lp_str_concat(ptr %t83, ptr %t103) store i32 0, ptr @lp_site call void @lp_free(ptr %t83) store i32 3561, ptr @lp_site %t105 = call ptr @lp_str_concat(ptr %t104, ptr @.str4202) store i32 0, ptr @lp_site call void @lp_free(ptr %t104) store i32 3562, ptr @lp_site %t106 = call ptr @lp_str_concat(ptr %t80, ptr %t105) store i32 0, ptr @lp_site call void @lp_free(ptr %t105) store ptr %t106, ptr %t9 br label %ifend15 ifend15: %t107 = load i32, ptr %t10 %t108 = add i32 %t107, 1 store i32 %t108, ptr %t10 br label %wcond0 wend2: %t109 = load ptr, ptr %t9 store i32 3563, ptr @lp_site %t110 = call ptr @lp_str_concat(ptr %t109, ptr @.str4203) store i32 0, ptr @lp_site store ptr %t110, ptr %retval br label %ret ret: %t111 = load ptr, ptr %retval ret ptr %t111 } define ptr @fn_cm_zero(ptr %arg_ty) { entry: %retval = alloca ptr %t0 = alloca ptr %t1 = alloca i32 %t2 = alloca i32 store ptr %arg_ty, ptr %t0 %t3 = load ptr, ptr %t0 %t4 = call i32 @lp_str_eq(ptr %t3, ptr @.str4204) %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 @.str4205) %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 @.str4206) %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 ptr @.str4207, ptr %retval br label %ret ifend6: %t20 = load ptr, ptr %t0 %t21 = call i32 @lp_str_eq(ptr %t20, ptr @.str4208) %t22 = icmp ne i32 %t21, 0 br i1 %t22, label %then7, label %ifend9 then7: store ptr @.str4209, ptr %retval br label %ret ifend9: %t23 = load ptr, ptr %t0 %t24 = call i32 @lp_str_eq(ptr %t23, ptr @.str4210) %t25 = icmp ne i32 %t24, 0 br i1 %t25, label %then10, label %ifend12 then10: store ptr @.str4211, ptr %retval br label %ret ifend12: %t26 = load ptr, ptr %t0 %t27 = call i32 @lp_str_eq(ptr %t26, ptr @.str4212) %t28 = icmp ne i32 %t27, 0 br i1 %t28, label %then13, label %ifend15 then13: store ptr @.str4213, ptr %retval br label %ret ifend15: store ptr @.str4214, ptr %retval br label %ret ret: %t29 = load ptr, ptr %retval ret ptr %t29 } define ptr @fn_po_new(ptr %arg_path) { entry: %retval = alloca ptr %t0 = alloca ptr %t14 = alloca ptr store ptr %arg_path, ptr %t0 %t1 = getelementptr %Cmp_PoFile, ptr null, i32 1 %t2 = ptrtoint ptr %t1 to i64 store i32 3564, ptr @lp_site %t3 = call ptr @lp_malloc(i64 %t2) store i32 0, ptr @lp_site %t4 = getelementptr inbounds %Cmp_PoFile, ptr %t3, i32 0, i32 0 store ptr null, ptr %t4 %t5 = getelementptr inbounds %Cmp_PoFile, ptr %t3, i32 0, i32 1 store ptr null, ptr %t5 %t6 = getelementptr inbounds %Cmp_PoFile, ptr %t3, i32 0, i32 2 store ptr null, ptr %t6 %t7 = getelementptr inbounds %Cmp_PoFile, ptr %t3, i32 0, i32 3 store ptr null, ptr %t7 %t8 = getelementptr inbounds %Cmp_PoFile, ptr %t3, i32 0, i32 4 store ptr null, ptr %t8 %t9 = getelementptr inbounds %Cmp_PoFile, ptr %t3, i32 0, i32 5 store ptr null, ptr %t9 %t10 = getelementptr inbounds %Cmp_PoFile, ptr %t3, i32 0, i32 6 store ptr null, ptr %t10 %t11 = getelementptr inbounds %Cmp_PoFile, ptr %t3, i32 0, i32 7 store ptr null, ptr %t11 %t12 = getelementptr inbounds %Cmp_PoFile, ptr %t3, i32 0, i32 8 store ptr null, ptr %t12 %t13 = getelementptr inbounds %Cmp_PoFile, 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_PoFile, ptr %t15, i32 0, i32 0 %t17 = load ptr, ptr %t0 store ptr %t17, ptr %t16 %t18 = load ptr, ptr %t14 %t19 = getelementptr inbounds %Cmp_PoFile, ptr %t18, i32 0, i32 1 %t20 = getelementptr %LSlice, ptr null, i32 1 %t21 = ptrtoint ptr %t20 to i64 store i32 3565, ptr @lp_site %t22 = call ptr @lp_malloc(i64 %t21) store i32 0, ptr @lp_site %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_PoFile, ptr %t26, i32 0, i32 2 %t28 = getelementptr %LSlice, ptr null, i32 1 %t29 = ptrtoint ptr %t28 to i64 store i32 3566, ptr @lp_site %t30 = call ptr @lp_malloc(i64 %t29) store i32 0, ptr @lp_site %t31 = getelementptr inbounds %LSlice, ptr %t30, i32 0, i32 0 store ptr null, ptr %t31 %t32 = getelementptr inbounds %LSlice, ptr %t30, i32 0, i32 1 store i32 0, ptr %t32 %t33 = getelementptr inbounds %LSlice, ptr %t30, i32 0, i32 2 store i32 0, ptr %t33 store ptr %t30, ptr %t27 %t34 = load ptr, ptr %t14 %t35 = getelementptr inbounds %Cmp_PoFile, ptr %t34, i32 0, i32 3 %t36 = getelementptr %LSlice, ptr null, i32 1 %t37 = ptrtoint ptr %t36 to i64 store i32 3567, ptr @lp_site %t38 = call ptr @lp_malloc(i64 %t37) store i32 0, ptr @lp_site %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 %t35 %t42 = load ptr, ptr %t14 %t43 = getelementptr inbounds %Cmp_PoFile, ptr %t42, i32 0, i32 4 %t44 = getelementptr %LSlice, ptr null, i32 1 %t45 = ptrtoint ptr %t44 to i64 store i32 3568, ptr @lp_site %t46 = call ptr @lp_malloc(i64 %t45) store i32 0, ptr @lp_site %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 %t43 %t50 = load ptr, ptr %t14 %t51 = getelementptr inbounds %Cmp_PoFile, ptr %t50, i32 0, i32 5 %t52 = getelementptr %LSlice, ptr null, i32 1 %t53 = ptrtoint ptr %t52 to i64 store i32 3569, ptr @lp_site %t54 = call ptr @lp_malloc(i64 %t53) store i32 0, ptr @lp_site %t55 = getelementptr inbounds %LSlice, ptr %t54, i32 0, i32 0 store ptr null, ptr %t55 %t56 = getelementptr inbounds %LSlice, ptr %t54, i32 0, i32 1 store i32 0, ptr %t56 %t57 = getelementptr inbounds %LSlice, ptr %t54, i32 0, i32 2 store i32 0, ptr %t57 store ptr %t54, ptr %t51 %t58 = load ptr, ptr %t14 %t59 = getelementptr inbounds %Cmp_PoFile, ptr %t58, i32 0, i32 6 %t60 = getelementptr %LSlice, ptr null, i32 1 %t61 = ptrtoint ptr %t60 to i64 store i32 3570, ptr @lp_site %t62 = call ptr @lp_malloc(i64 %t61) store i32 0, ptr @lp_site %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 %t59 %t66 = load ptr, ptr %t14 %t67 = getelementptr inbounds %Cmp_PoFile, ptr %t66, i32 0, i32 7 %t68 = getelementptr %LSlice, ptr null, i32 1 %t69 = ptrtoint ptr %t68 to i64 store i32 3571, ptr @lp_site %t70 = call ptr @lp_malloc(i64 %t69) store i32 0, ptr @lp_site %t71 = getelementptr inbounds %LSlice, ptr %t70, i32 0, i32 0 store ptr null, ptr %t71 %t72 = getelementptr inbounds %LSlice, ptr %t70, i32 0, i32 1 store i32 0, ptr %t72 %t73 = getelementptr inbounds %LSlice, ptr %t70, i32 0, i32 2 store i32 0, ptr %t73 store ptr %t70, ptr %t67 %t74 = load ptr, ptr %t14 %t75 = getelementptr inbounds %Cmp_PoFile, ptr %t74, i32 0, i32 8 %t76 = getelementptr %LSlice, ptr null, i32 1 %t77 = ptrtoint ptr %t76 to i64 store i32 3572, ptr @lp_site %t78 = call ptr @lp_malloc(i64 %t77) store i32 0, ptr @lp_site %t79 = getelementptr inbounds %LSlice, ptr %t78, i32 0, i32 0 store ptr null, ptr %t79 %t80 = getelementptr inbounds %LSlice, ptr %t78, i32 0, i32 1 store i32 0, ptr %t80 %t81 = getelementptr inbounds %LSlice, ptr %t78, i32 0, i32 2 store i32 0, ptr %t81 store ptr %t78, ptr %t75 %t82 = load ptr, ptr %t14 %t83 = getelementptr inbounds %Cmp_PoFile, ptr %t82, i32 0, i32 9 %t84 = getelementptr %LSlice, ptr null, i32 1 %t85 = ptrtoint ptr %t84 to i64 store i32 3573, ptr @lp_site %t86 = call ptr @lp_malloc(i64 %t85) store i32 0, ptr @lp_site %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 %t83 %t90 = load ptr, ptr %t14 store ptr %t90, ptr %retval br label %ret ret: %t91 = load ptr, ptr %retval ret ptr %t91 } define void @fn_po_reset_cur() { entry: store ptr null, ptr @g_g_po_cid store i32 0, ptr @g_g_po_cpl %t0 = getelementptr %LSlice, ptr null, i32 1 %t1 = ptrtoint ptr %t0 to i64 store i32 3574, ptr @lp_site %t2 = call ptr @lp_malloc(i64 %t1) store i32 0, ptr @lp_site %t3 = getelementptr inbounds %LSlice, ptr %t2, i32 0, i32 0 store ptr null, ptr %t3 %t4 = getelementptr inbounds %LSlice, ptr %t2, i32 0, i32 1 store i32 0, ptr %t4 %t5 = getelementptr inbounds %LSlice, ptr %t2, i32 0, i32 2 store i32 0, ptr %t5 store ptr %t2, ptr @g_g_po_cstr store i32 0, ptr @g_g_po_cfuzzy store ptr null, ptr @g_g_po_cdesc store ptr null, ptr @g_g_po_cctxt store i32 0, ptr @g_g_po_cline store i32 0, ptr @g_g_po_field store i32 0, ptr @g_g_po_form store i32 0, ptr @g_g_po_seen_str br label %ret ret: ret void } define void @fn_po_flush(ptr %arg_p) { entry: %t0 = alloca ptr %t1 = alloca i32 %t16 = alloca ptr %t17 = alloca ptr %t18 = alloca i32 %t36 = alloca ptr store ptr %arg_p, ptr %t0 %t2 = load ptr, ptr @g_g_po_cid %t3 = icmp ne ptr %t2, null %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 ptr, ptr @g_g_po_cid %t8 = call i64 @strlen(ptr %t7) %t9 = trunc i64 %t8 to i32 %t10 = icmp sgt i32 %t9, 0 %t11 = zext i1 %t10 to i32 %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: store ptr @.str4218, ptr %t16 store ptr @.str4219, ptr %t17 store i32 0, ptr %t18 br label %wcond5 wcond5: %t19 = load i32, ptr %t18 %t20 = load ptr, ptr @g_g_po_cstr %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 %wbody6, label %wend7 wbody6: %t26 = load ptr, ptr @g_g_po_cstr %t27 = load i32, ptr %t18 %t28 = getelementptr inbounds %LSlice, ptr %t26, i32 0, i32 0 %t29 = load ptr, ptr %t28 %t30 = getelementptr inbounds %LSlice, ptr %t26, i32 0, i32 1 %t31 = load i32, ptr %t30 %t32 = icmp ult i32 %t27, %t31 br i1 %t32, label %ixok8, label %ixbad9 ixbad9: store i32 3575, ptr @lp_site %t33 = call ptr @lp_win_stdio(i32 2) store i32 0, ptr @lp_site call i32 (ptr, ptr, ...) @fprintf(ptr %t33, ptr @.fmt_bounds, ptr @.str4220, i32 %t27, i32 %t31) call void @exit(i32 1) unreachable ixok8: %t34 = getelementptr inbounds ptr, ptr %t29, i32 %t27 %t35 = load ptr, ptr %t34 store ptr %t35, ptr %t36 %t37 = load ptr, ptr %t36 %t38 = icmp eq ptr %t37, null %t39 = zext i1 %t38 to i32 %t40 = icmp ne i32 %t39, 0 br i1 %t40, label %then10, label %ifend12 then10: store ptr @.str4222, ptr %t36 br label %ifend12 ifend12: %t41 = load i32, ptr %t18 %t42 = icmp eq i32 %t41, 0 %t43 = zext i1 %t42 to i32 %t44 = icmp ne i32 %t43, 0 br i1 %t44, label %then13, label %ifend15 then13: %t45 = load ptr, ptr %t36 store ptr %t45, ptr %t17 br label %ifend15 ifend15: %t46 = load i32, ptr %t18 %t47 = icmp sgt i32 %t46, 0 %t48 = zext i1 %t47 to i32 %t49 = icmp ne i32 %t48, 0 br i1 %t49, label %then16, label %ifend18 then16: %t50 = load ptr, ptr %t16 store i32 3576, ptr @lp_site %t51 = call ptr @lp_str_concat(ptr %t50, ptr @.str4223) store i32 0, ptr @lp_site store ptr %t51, ptr %t16 br label %ifend18 ifend18: %t52 = load ptr, ptr %t16 %t53 = load ptr, ptr %t36 store i32 3577, ptr @lp_site %t54 = call ptr @lp_str_concat(ptr %t52, ptr %t53) store i32 0, ptr @lp_site store ptr %t54, ptr %t16 %t55 = load i32, ptr %t18 %t56 = add i32 %t55, 1 store i32 %t56, ptr %t18 br label %wcond5 wend7: %t57 = load ptr, ptr %t0 %t58 = getelementptr inbounds %Cmp_PoFile, ptr %t57, i32 0, i32 1 %t59 = load ptr, ptr %t58 %t60 = load ptr, ptr @g_g_po_cid %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 %grow19, label %put20 grow19: %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 store i32 3578, ptr @lp_site %t75 = call ptr @lp_realloc(ptr %t74, i64 %t73) store i32 0, ptr @lp_site store ptr %t75, ptr %t63 store i32 %t69, ptr %t62 br label %put20 put20: %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 %t79 = load ptr, ptr %t0 %t80 = getelementptr inbounds %Cmp_PoFile, ptr %t79, i32 0, i32 2 %t81 = load ptr, ptr %t80 %t82 = load i32, ptr @g_g_po_cpl %t83 = getelementptr inbounds %LSlice, ptr %t81, i32 0, i32 1 %t84 = getelementptr inbounds %LSlice, ptr %t81, i32 0, i32 2 %t85 = getelementptr inbounds %LSlice, ptr %t81, i32 0, i32 0 %t86 = load i32, ptr %t83 %t87 = load i32, ptr %t84 %t88 = icmp sge i32 %t86, %t87 br i1 %t88, label %grow21, label %put22 grow21: %t89 = mul i32 %t87, 2 %t90 = icmp eq i32 %t87, 0 %t91 = select i1 %t90, i32 8, i32 %t89 %t92 = getelementptr i32, ptr null, i32 1 %t93 = ptrtoint ptr %t92 to i64 %t94 = zext i32 %t91 to i64 %t95 = mul i64 %t94, %t93 %t96 = load ptr, ptr %t85 store i32 3579, ptr @lp_site %t97 = call ptr @lp_realloc(ptr %t96, i64 %t95) store i32 0, ptr @lp_site store ptr %t97, ptr %t85 store i32 %t91, ptr %t84 br label %put22 put22: %t98 = load ptr, ptr %t85 %t99 = getelementptr inbounds i32, ptr %t98, i32 %t86 store i32 %t82, ptr %t99 %t100 = add i32 %t86, 1 store i32 %t100, ptr %t83 %t101 = load ptr, ptr %t0 %t102 = getelementptr inbounds %Cmp_PoFile, ptr %t101, i32 0, i32 3 %t103 = load ptr, ptr %t102 %t104 = load ptr, ptr %t16 %t105 = getelementptr inbounds %LSlice, ptr %t103, i32 0, i32 1 %t106 = getelementptr inbounds %LSlice, ptr %t103, i32 0, i32 2 %t107 = getelementptr inbounds %LSlice, ptr %t103, i32 0, i32 0 %t108 = load i32, ptr %t105 %t109 = load i32, ptr %t106 %t110 = icmp sge i32 %t108, %t109 br i1 %t110, label %grow23, label %put24 grow23: %t111 = mul i32 %t109, 2 %t112 = icmp eq i32 %t109, 0 %t113 = select i1 %t112, i32 8, i32 %t111 %t114 = getelementptr ptr, ptr null, i32 1 %t115 = ptrtoint ptr %t114 to i64 %t116 = zext i32 %t113 to i64 %t117 = mul i64 %t116, %t115 %t118 = load ptr, ptr %t107 store i32 3580, ptr @lp_site %t119 = call ptr @lp_realloc(ptr %t118, i64 %t117) store i32 0, ptr @lp_site store ptr %t119, ptr %t107 store i32 %t113, ptr %t106 br label %put24 put24: %t120 = load ptr, ptr %t107 %t121 = getelementptr inbounds ptr, ptr %t120, i32 %t108 store ptr %t104, ptr %t121 %t122 = add i32 %t108, 1 store i32 %t122, ptr %t105 %t123 = load ptr, ptr %t0 %t124 = getelementptr inbounds %Cmp_PoFile, ptr %t123, i32 0, i32 4 %t125 = load ptr, ptr %t124 %t126 = load ptr, ptr %t17 %t127 = getelementptr inbounds %LSlice, ptr %t125, i32 0, i32 1 %t128 = getelementptr inbounds %LSlice, ptr %t125, i32 0, i32 2 %t129 = getelementptr inbounds %LSlice, ptr %t125, i32 0, i32 0 %t130 = load i32, ptr %t127 %t131 = load i32, ptr %t128 %t132 = icmp sge i32 %t130, %t131 br i1 %t132, label %grow25, label %put26 grow25: %t133 = mul i32 %t131, 2 %t134 = icmp eq i32 %t131, 0 %t135 = select i1 %t134, i32 8, i32 %t133 %t136 = getelementptr ptr, ptr null, i32 1 %t137 = ptrtoint ptr %t136 to i64 %t138 = zext i32 %t135 to i64 %t139 = mul i64 %t138, %t137 %t140 = load ptr, ptr %t129 store i32 3581, ptr @lp_site %t141 = call ptr @lp_realloc(ptr %t140, i64 %t139) store i32 0, ptr @lp_site store ptr %t141, ptr %t129 store i32 %t135, ptr %t128 br label %put26 put26: %t142 = load ptr, ptr %t129 %t143 = getelementptr inbounds ptr, ptr %t142, i32 %t130 store ptr %t126, ptr %t143 %t144 = add i32 %t130, 1 store i32 %t144, ptr %t127 %t145 = load ptr, ptr %t0 %t146 = getelementptr inbounds %Cmp_PoFile, ptr %t145, i32 0, i32 5 %t147 = load ptr, ptr %t146 %t148 = load i32, ptr @g_g_po_cfuzzy %t149 = getelementptr inbounds %LSlice, ptr %t147, i32 0, i32 1 %t150 = getelementptr inbounds %LSlice, ptr %t147, i32 0, i32 2 %t151 = getelementptr inbounds %LSlice, ptr %t147, i32 0, i32 0 %t152 = load i32, ptr %t149 %t153 = load i32, ptr %t150 %t154 = icmp sge i32 %t152, %t153 br i1 %t154, label %grow27, label %put28 grow27: %t155 = mul i32 %t153, 2 %t156 = icmp eq i32 %t153, 0 %t157 = select i1 %t156, i32 8, i32 %t155 %t158 = getelementptr i32, ptr null, i32 1 %t159 = ptrtoint ptr %t158 to i64 %t160 = zext i32 %t157 to i64 %t161 = mul i64 %t160, %t159 %t162 = load ptr, ptr %t151 store i32 3582, ptr @lp_site %t163 = call ptr @lp_realloc(ptr %t162, i64 %t161) store i32 0, ptr @lp_site store ptr %t163, ptr %t151 store i32 %t157, ptr %t150 br label %put28 put28: %t164 = load ptr, ptr %t151 %t165 = getelementptr inbounds i32, ptr %t164, i32 %t152 store i32 %t148, ptr %t165 %t166 = add i32 %t152, 1 store i32 %t166, ptr %t149 %t167 = load ptr, ptr %t0 %t168 = getelementptr inbounds %Cmp_PoFile, ptr %t167, i32 0, i32 6 %t169 = load ptr, ptr %t168 %t170 = load ptr, ptr @g_g_po_cdesc %t171 = getelementptr inbounds %LSlice, ptr %t169, i32 0, i32 1 %t172 = getelementptr inbounds %LSlice, ptr %t169, i32 0, i32 2 %t173 = getelementptr inbounds %LSlice, ptr %t169, i32 0, i32 0 %t174 = load i32, ptr %t171 %t175 = load i32, ptr %t172 %t176 = icmp sge i32 %t174, %t175 br i1 %t176, label %grow29, label %put30 grow29: %t177 = mul i32 %t175, 2 %t178 = icmp eq i32 %t175, 0 %t179 = select i1 %t178, i32 8, i32 %t177 %t180 = getelementptr ptr, ptr null, i32 1 %t181 = ptrtoint ptr %t180 to i64 %t182 = zext i32 %t179 to i64 %t183 = mul i64 %t182, %t181 %t184 = load ptr, ptr %t173 store i32 3583, ptr @lp_site %t185 = call ptr @lp_realloc(ptr %t184, i64 %t183) store i32 0, ptr @lp_site store ptr %t185, ptr %t173 store i32 %t179, ptr %t172 br label %put30 put30: %t186 = load ptr, ptr %t173 %t187 = getelementptr inbounds ptr, ptr %t186, i32 %t174 store ptr %t170, ptr %t187 %t188 = add i32 %t174, 1 store i32 %t188, ptr %t171 %t189 = load ptr, ptr %t0 %t190 = getelementptr inbounds %Cmp_PoFile, ptr %t189, i32 0, i32 7 %t191 = load ptr, ptr %t190 %t192 = load ptr, ptr @g_g_po_cctxt %t193 = getelementptr inbounds %LSlice, ptr %t191, i32 0, i32 1 %t194 = getelementptr inbounds %LSlice, ptr %t191, i32 0, i32 2 %t195 = getelementptr inbounds %LSlice, ptr %t191, i32 0, i32 0 %t196 = load i32, ptr %t193 %t197 = load i32, ptr %t194 %t198 = icmp sge i32 %t196, %t197 br i1 %t198, label %grow31, label %put32 grow31: %t199 = mul i32 %t197, 2 %t200 = icmp eq i32 %t197, 0 %t201 = select i1 %t200, i32 8, i32 %t199 %t202 = getelementptr ptr, ptr null, i32 1 %t203 = ptrtoint ptr %t202 to i64 %t204 = zext i32 %t201 to i64 %t205 = mul i64 %t204, %t203 %t206 = load ptr, ptr %t195 store i32 3584, ptr @lp_site %t207 = call ptr @lp_realloc(ptr %t206, i64 %t205) store i32 0, ptr @lp_site store ptr %t207, ptr %t195 store i32 %t201, ptr %t194 br label %put32 put32: %t208 = load ptr, ptr %t195 %t209 = getelementptr inbounds ptr, ptr %t208, i32 %t196 store ptr %t192, ptr %t209 %t210 = add i32 %t196, 1 store i32 %t210, ptr %t193 %t211 = load ptr, ptr %t0 %t212 = getelementptr inbounds %Cmp_PoFile, ptr %t211, i32 0, i32 8 %t213 = load ptr, ptr %t212 %t214 = load i32, ptr @g_g_po_cline %t215 = getelementptr inbounds %LSlice, ptr %t213, i32 0, i32 1 %t216 = getelementptr inbounds %LSlice, ptr %t213, i32 0, i32 2 %t217 = getelementptr inbounds %LSlice, ptr %t213, i32 0, i32 0 %t218 = load i32, ptr %t215 %t219 = load i32, ptr %t216 %t220 = icmp sge i32 %t218, %t219 br i1 %t220, label %grow33, label %put34 grow33: %t221 = mul i32 %t219, 2 %t222 = icmp eq i32 %t219, 0 %t223 = select i1 %t222, i32 8, i32 %t221 %t224 = getelementptr i32, ptr null, i32 1 %t225 = ptrtoint ptr %t224 to i64 %t226 = zext i32 %t223 to i64 %t227 = mul i64 %t226, %t225 %t228 = load ptr, ptr %t217 store i32 3585, ptr @lp_site %t229 = call ptr @lp_realloc(ptr %t228, i64 %t227) store i32 0, ptr @lp_site store ptr %t229, ptr %t217 store i32 %t223, ptr %t216 br label %put34 put34: %t230 = load ptr, ptr %t217 %t231 = getelementptr inbounds i32, ptr %t230, i32 %t218 store i32 %t214, ptr %t231 %t232 = add i32 %t218, 1 store i32 %t232, ptr %t215 br label %ifend4 ifend4: call void @fn_po_reset_cur() br label %ret ret: ret void } define ptr @fn_po_quoted(ptr %arg_s, i32 %arg_i0) { entry: %retval = alloca ptr %t0 = alloca ptr %t1 = alloca i32 %t3 = alloca i32 %t7 = alloca i32 %t8 = alloca i32 %t36 = alloca ptr %t37 = alloca i32 %t60 = alloca i32 %t61 = alloca i32 store ptr %arg_s, ptr %t0 store i32 %arg_i0, ptr %t1 %t2 = load i32, ptr %t1 store i32 %t2, ptr %t3 %t4 = load ptr, ptr %t0 %t5 = call i64 @strlen(ptr %t4) %t6 = trunc i64 %t5 to i32 store i32 %t6, ptr %t7 br label %wcond0 wcond0: %t9 = load i32, ptr %t3 %t10 = load i32, ptr %t7 %t11 = icmp slt 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 %t8 br i1 %t13, label %sc3, label %scend4 sc3: %t15 = load ptr, ptr %t0 %t16 = load i32, ptr %t3 %t17 = getelementptr inbounds i8, ptr %t15, i32 %t16 %t18 = load i8, ptr %t17 %t19 = zext i8 %t18 to i32 %t20 = icmp ne i32 %t19, 34 %t21 = zext i1 %t20 to i32 %t22 = icmp ne i32 %t21, 0 %t23 = zext i1 %t22 to i32 store i32 %t23, ptr %t8 br label %scend4 scend4: %t24 = load i32, ptr %t8 %t25 = icmp ne i32 %t24, 0 br i1 %t25, label %wbody1, label %wend2 wbody1: %t26 = load i32, ptr %t3 %t27 = add i32 %t26, 1 store i32 %t27, ptr %t3 br label %wcond0 wend2: %t28 = load i32, ptr %t3 %t29 = load i32, ptr %t7 %t30 = icmp sge i32 %t28, %t29 %t31 = zext i1 %t30 to i32 %t32 = icmp ne i32 %t31, 0 br i1 %t32, label %then5, label %ifend7 then5: store ptr @.str4224, ptr %retval br label %ret ifend7: %t33 = load i32, ptr %t3 %t34 = add i32 %t33, 1 store i32 %t34, ptr %t3 %t35 = call ptr @fn_buf_new() store ptr %t35, ptr %t36 br label %wcond8 wcond8: %t38 = load i32, ptr %t3 %t39 = load i32, ptr %t7 %t40 = icmp slt i32 %t38, %t39 %t41 = zext i1 %t40 to i32 %t42 = icmp ne i32 %t41, 0 %t43 = zext i1 %t42 to i32 store i32 %t43, ptr %t37 br i1 %t42, label %sc11, label %scend12 sc11: %t44 = load ptr, ptr %t0 %t45 = load i32, ptr %t3 %t46 = getelementptr inbounds i8, ptr %t44, i32 %t45 %t47 = load i8, ptr %t46 %t48 = zext i8 %t47 to i32 %t49 = icmp ne i32 %t48, 34 %t50 = zext i1 %t49 to i32 %t51 = icmp ne i32 %t50, 0 %t52 = zext i1 %t51 to i32 store i32 %t52, ptr %t37 br label %scend12 scend12: %t53 = load i32, ptr %t37 %t54 = icmp ne i32 %t53, 0 br i1 %t54, label %wbody9, label %wend10 wbody9: %t55 = load ptr, ptr %t0 %t56 = load i32, ptr %t3 %t57 = getelementptr inbounds i8, ptr %t55, i32 %t56 %t58 = load i8, ptr %t57 %t59 = zext i8 %t58 to i32 store i32 %t59, ptr %t60 %t62 = load i32, ptr %t60 %t63 = icmp eq i32 %t62, 92 %t64 = zext i1 %t63 to i32 %t65 = icmp ne i32 %t64, 0 %t66 = zext i1 %t65 to i32 store i32 %t66, ptr %t61 br i1 %t65, label %sc13, label %scend14 sc13: %t67 = load i32, ptr %t3 %t68 = add i32 %t67, 1 %t69 = load i32, ptr %t7 %t70 = icmp slt i32 %t68, %t69 %t71 = zext i1 %t70 to i32 %t72 = icmp ne i32 %t71, 0 %t73 = zext i1 %t72 to i32 store i32 %t73, ptr %t61 br label %scend14 scend14: %t74 = load i32, ptr %t61 %t75 = icmp ne i32 %t74, 0 br i1 %t75, label %then15, label %ifend17 then15: %t76 = load i32, ptr %t3 %t77 = add i32 %t76, 1 store i32 %t77, ptr %t3 %t78 = load ptr, ptr %t0 %t79 = load i32, ptr %t3 %t80 = getelementptr inbounds i8, ptr %t78, i32 %t79 %t81 = load i8, ptr %t80 %t82 = zext i8 %t81 to i32 %t83 = call i32 @fn_unescape(i32 %t82) store i32 %t83, ptr %t60 br label %ifend17 ifend17: %t84 = load ptr, ptr %t36 %t85 = load i32, ptr %t60 call void @fn_buf_putc(ptr %t84, i32 %t85) %t86 = load i32, ptr %t3 %t87 = add i32 %t86, 1 store i32 %t87, ptr %t3 br label %wcond8 wend10: %t88 = load ptr, ptr %t36 %t89 = call ptr @fn_buf_str(ptr %t88) store ptr %t89, ptr %retval br label %ret ret: %t90 = load ptr, ptr %retval ret ptr %t90 } define void @fn_po_add_to(i32 %arg_field, ptr %arg_text) { entry: %t0 = alloca i32 %t1 = alloca ptr store i32 %arg_field, ptr %t0 store ptr %arg_text, ptr %t1 %t2 = load i32, ptr %t0 %t3 = icmp eq i32 %t2, 1 %t4 = zext i1 %t3 to i32 %t5 = icmp ne i32 %t4, 0 br i1 %t5, label %then0, label %else1 then0: %t6 = load ptr, ptr @g_g_po_cid %t7 = load ptr, ptr %t1 store i32 3586, ptr @lp_site %t8 = call ptr @lp_str_concat(ptr %t6, ptr %t7) store i32 0, ptr @lp_site store ptr %t8, ptr @g_g_po_cid br label %ifend2 else1: %t9 = load i32, ptr %t0 %t10 = icmp eq i32 %t9, 4 %t11 = zext i1 %t10 to i32 %t12 = icmp ne i32 %t11, 0 br i1 %t12, label %then3, label %else4 then3: %t13 = load ptr, ptr @g_g_po_cctxt %t14 = load ptr, ptr %t1 store i32 3587, ptr @lp_site %t15 = call ptr @lp_str_concat(ptr %t13, ptr %t14) store i32 0, ptr @lp_site store ptr %t15, ptr @g_g_po_cctxt br label %ifend5 else4: %t16 = load i32, ptr %t0 %t17 = icmp eq i32 %t16, 3 %t18 = zext i1 %t17 to i32 %t19 = icmp ne i32 %t18, 0 br i1 %t19, label %then6, label %ifend8 then6: br label %wcond9 wcond9: %t20 = load ptr, ptr @g_g_po_cstr %t21 = getelementptr inbounds %LSlice, ptr %t20, i32 0, i32 1 %t22 = load i32, ptr %t21 %t23 = load i32, ptr @g_g_po_form %t24 = icmp sle i32 %t22, %t23 %t25 = zext i1 %t24 to i32 %t26 = icmp ne i32 %t25, 0 br i1 %t26, label %wbody10, label %wend11 wbody10: %t27 = load ptr, ptr @g_g_po_cstr %t28 = getelementptr inbounds %LSlice, ptr %t27, i32 0, i32 1 %t29 = getelementptr inbounds %LSlice, ptr %t27, i32 0, i32 2 %t30 = getelementptr inbounds %LSlice, ptr %t27, i32 0, i32 0 %t31 = load i32, ptr %t28 %t32 = load i32, ptr %t29 %t33 = icmp sge i32 %t31, %t32 br i1 %t33, label %grow12, label %put13 grow12: %t34 = mul i32 %t32, 2 %t35 = icmp eq i32 %t32, 0 %t36 = select i1 %t35, i32 8, i32 %t34 %t37 = getelementptr ptr, 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 store i32 3588, ptr @lp_site %t42 = call ptr @lp_realloc(ptr %t41, i64 %t40) store i32 0, ptr @lp_site store ptr %t42, ptr %t30 store i32 %t36, ptr %t29 br label %put13 put13: %t43 = load ptr, ptr %t30 %t44 = getelementptr inbounds ptr, ptr %t43, i32 %t31 store ptr @.str4226, ptr %t44 %t45 = add i32 %t31, 1 store i32 %t45, ptr %t28 br label %wcond9 wend11: %t46 = load ptr, ptr @g_g_po_cstr %t47 = load i32, ptr @g_g_po_form %t48 = getelementptr inbounds %LSlice, ptr %t46, i32 0, i32 0 %t49 = load ptr, ptr %t48 %t50 = getelementptr inbounds %LSlice, ptr %t46, i32 0, i32 1 %t51 = load i32, ptr %t50 %t52 = icmp ult i32 %t47, %t51 br i1 %t52, label %ixok14, label %ixbad15 ixbad15: store i32 3589, ptr @lp_site %t53 = call ptr @lp_win_stdio(i32 2) store i32 0, ptr @lp_site call i32 (ptr, ptr, ...) @fprintf(ptr %t53, ptr @.fmt_bounds, ptr @.str4227, i32 %t47, i32 %t51) call void @exit(i32 1) unreachable ixok14: %t54 = getelementptr inbounds ptr, ptr %t49, i32 %t47 %t55 = load ptr, ptr @g_g_po_cstr %t56 = load i32, ptr @g_g_po_form %t57 = getelementptr inbounds %LSlice, ptr %t55, i32 0, i32 0 %t58 = load ptr, ptr %t57 %t59 = getelementptr inbounds %LSlice, ptr %t55, i32 0, i32 1 %t60 = load i32, ptr %t59 %t61 = icmp ult i32 %t56, %t60 br i1 %t61, label %ixok16, label %ixbad17 ixbad17: store i32 3590, ptr @lp_site %t62 = call ptr @lp_win_stdio(i32 2) store i32 0, ptr @lp_site call i32 (ptr, ptr, ...) @fprintf(ptr %t62, ptr @.fmt_bounds, ptr @.str4228, i32 %t56, i32 %t60) call void @exit(i32 1) unreachable ixok16: %t63 = getelementptr inbounds ptr, ptr %t58, i32 %t56 %t64 = load ptr, ptr %t63 %t65 = load ptr, ptr %t1 store i32 3591, ptr @lp_site %t66 = call ptr @lp_str_concat(ptr %t64, ptr %t65) store i32 0, ptr @lp_site store ptr %t66, ptr %t54 br label %ifend8 ifend8: br label %ifend5 ifend5: br label %ifend2 ifend2: br label %ret ret: ret void } define void @fn_po_maybe_new(ptr %arg_p) { entry: %t0 = alloca ptr store ptr %arg_p, ptr %t0 %t1 = load i32, ptr @g_g_po_seen_str %t2 = icmp ne i32 %t1, 0 br i1 %t2, label %then0, label %ifend2 then0: %t3 = load ptr, ptr %t0 call void @fn_po_flush(ptr %t3) br label %ifend2 ifend2: br label %ret ret: ret void } define ptr @fn_po_read(ptr %arg_path) { entry: %retval = alloca ptr %t0 = alloca ptr %t3 = alloca ptr %t10 = alloca ptr %t11 = alloca i32 %t12 = alloca i32 %t16 = alloca i32 %t23 = alloca i32 %t24 = alloca i32 %t45 = alloca i32 %t46 = alloca i32 %t68 = alloca i32 %t69 = alloca i32 %t76 = alloca i32 %t106 = alloca ptr store ptr %arg_path, ptr %t0 %t1 = load ptr, ptr %t0 %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 %ifend2 then0: store ptr null, ptr %retval br label %ret ifend2: %t8 = load ptr, ptr %t0 %t9 = call ptr @fn_po_new(ptr %t8) store ptr %t9, ptr %t10 call void @fn_po_reset_cur() store i32 0, ptr %t11 store i32 1, ptr %t12 %t13 = load ptr, ptr %t3 %t14 = call i64 @strlen(ptr %t13) %t15 = trunc i64 %t14 to i32 store i32 %t15, ptr %t16 br label %wcond3 wcond3: %t17 = load i32, ptr %t11 %t18 = load i32, ptr %t16 %t19 = icmp slt i32 %t17, %t18 %t20 = zext i1 %t19 to i32 %t21 = icmp ne i32 %t20, 0 br i1 %t21, label %wbody4, label %wend5 wbody4: %t22 = load i32, ptr %t11 store i32 %t22, ptr %t23 br label %wcond6 wcond6: %t25 = load i32, ptr %t23 %t26 = load i32, ptr %t16 %t27 = icmp slt i32 %t25, %t26 %t28 = zext i1 %t27 to i32 %t29 = icmp ne i32 %t28, 0 %t30 = zext i1 %t29 to i32 store i32 %t30, ptr %t24 br i1 %t29, label %sc9, label %scend10 sc9: %t31 = load ptr, ptr %t3 %t32 = load i32, ptr %t23 %t33 = getelementptr inbounds i8, ptr %t31, i32 %t32 %t34 = load i8, ptr %t33 %t35 = zext i8 %t34 to i32 %t36 = icmp ne i32 %t35, 10 %t37 = zext i1 %t36 to i32 %t38 = icmp ne i32 %t37, 0 %t39 = zext i1 %t38 to i32 store i32 %t39, ptr %t24 br label %scend10 scend10: %t40 = load i32, ptr %t24 %t41 = icmp ne i32 %t40, 0 br i1 %t41, label %wbody7, label %wend8 wbody7: %t42 = load i32, ptr %t23 %t43 = add i32 %t42, 1 store i32 %t43, ptr %t23 br label %wcond6 wend8: %t44 = load i32, ptr %t23 store i32 %t44, ptr %t45 %t47 = load i32, ptr %t45 %t48 = load i32, ptr %t11 %t49 = icmp sgt i32 %t47, %t48 %t50 = zext i1 %t49 to i32 %t51 = icmp ne i32 %t50, 0 %t52 = zext i1 %t51 to i32 store i32 %t52, ptr %t46 br i1 %t51, label %sc11, label %scend12 sc11: %t53 = load ptr, ptr %t3 %t54 = load i32, ptr %t45 %t55 = sub i32 %t54, 1 %t56 = getelementptr inbounds i8, ptr %t53, i32 %t55 %t57 = load i8, ptr %t56 %t58 = zext i8 %t57 to i32 %t59 = icmp eq i32 %t58, 13 %t60 = zext i1 %t59 to i32 %t61 = icmp ne i32 %t60, 0 %t62 = zext i1 %t61 to i32 store i32 %t62, ptr %t46 br label %scend12 scend12: %t63 = load i32, ptr %t46 %t64 = icmp ne i32 %t63, 0 br i1 %t64, label %then13, label %ifend15 then13: %t65 = load i32, ptr %t45 %t66 = sub i32 %t65, 1 store i32 %t66, ptr %t45 br label %ifend15 ifend15: %t67 = load i32, ptr %t11 store i32 %t67, ptr %t68 br label %wcond16 wcond16: %t70 = load i32, ptr %t68 %t71 = load i32, ptr %t45 %t72 = icmp slt i32 %t70, %t71 %t73 = zext i1 %t72 to i32 %t74 = icmp ne i32 %t73, 0 %t75 = zext i1 %t74 to i32 store i32 %t75, ptr %t69 br i1 %t74, label %sc19, label %scend20 sc19: %t77 = load ptr, ptr %t3 %t78 = load i32, ptr %t68 %t79 = getelementptr inbounds i8, ptr %t77, i32 %t78 %t80 = load i8, ptr %t79 %t81 = zext i8 %t80 to i32 %t82 = icmp eq i32 %t81, 32 %t83 = zext i1 %t82 to i32 %t84 = icmp ne i32 %t83, 0 %t85 = zext i1 %t84 to i32 store i32 %t85, ptr %t76 br i1 %t84, label %scend22, label %sc21 sc21: %t86 = load ptr, ptr %t3 %t87 = load i32, ptr %t68 %t88 = getelementptr inbounds i8, ptr %t86, i32 %t87 %t89 = load i8, ptr %t88 %t90 = zext i8 %t89 to i32 %t91 = icmp eq i32 %t90, 9 %t92 = zext i1 %t91 to i32 %t93 = icmp ne i32 %t92, 0 %t94 = zext i1 %t93 to i32 store i32 %t94, ptr %t76 br label %scend22 scend22: %t95 = load i32, ptr %t76 %t96 = icmp ne i32 %t95, 0 %t97 = zext i1 %t96 to i32 store i32 %t97, ptr %t69 br label %scend20 scend20: %t98 = load i32, ptr %t69 %t99 = icmp ne i32 %t98, 0 br i1 %t99, label %wbody17, label %wend18 wbody17: %t100 = load i32, ptr %t68 %t101 = add i32 %t100, 1 store i32 %t101, ptr %t68 br label %wcond16 wend18: %t102 = load ptr, ptr %t3 %t103 = load i32, ptr %t68 %t104 = load i32, ptr %t45 store i32 3592, ptr @lp_site %t105 = call ptr @lp_str_slice(ptr %t102, i32 %t103, i32 %t104) store i32 0, ptr @lp_site store ptr %t105, ptr %t106 %t107 = load ptr, ptr %t10 %t108 = load ptr, ptr %t106 %t109 = load i32, ptr %t12 call void @fn_po_line(ptr %t107, ptr %t108, i32 %t109) %t110 = load i32, ptr %t23 %t111 = add i32 %t110, 1 store i32 %t111, ptr %t11 %t112 = load i32, ptr %t12 %t113 = add i32 %t112, 1 store i32 %t113, ptr %t12 br label %wcond3 wend5: %t114 = load ptr, ptr %t10 call void @fn_po_flush(ptr %t114) %t115 = load ptr, ptr %t10 call void @fn_po_index(ptr %t115) %t116 = load ptr, ptr %t10 store ptr %t116, ptr %retval br label %ret ret: %t117 = load ptr, ptr %retval ret ptr %t117 } define void @fn_po_line(ptr %arg_p, ptr %arg_line, i32 %arg_ln) { entry: %t0 = alloca ptr %t1 = alloca ptr %t2 = alloca i32 %t6 = alloca i32 %t19 = alloca i32 %t36 = alloca i32 %t52 = alloca i32 %t53 = alloca i32 %t77 = alloca ptr %t87 = alloca i32 %t88 = alloca i32 %t140 = alloca i32 %t156 = alloca i32 %t157 = alloca i32 %t158 = alloca i32 store ptr %arg_p, ptr %t0 store ptr %arg_line, ptr %t1 store i32 %arg_ln, ptr %t2 %t3 = load ptr, ptr %t1 %t4 = call i64 @strlen(ptr %t3) %t5 = trunc i64 %t4 to i32 store i32 %t5, ptr %t6 %t7 = load i32, ptr %t6 %t8 = icmp eq i32 %t7, 0 %t9 = zext i1 %t8 to i32 %t10 = icmp ne i32 %t9, 0 br i1 %t10, label %then0, label %ifend2 then0: %t11 = load ptr, ptr %t0 call void @fn_po_flush(ptr %t11) br label %ret ifend2: %t12 = load ptr, ptr %t1 %t13 = getelementptr inbounds i8, ptr %t12, i32 0 %t14 = load i8, ptr %t13 %t15 = zext i8 %t14 to i32 %t16 = icmp eq i32 %t15, 35 %t17 = zext i1 %t16 to i32 %t18 = icmp ne i32 %t17, 0 br i1 %t18, label %then3, label %ifend5 then3: %t20 = load i32, ptr %t6 %t21 = icmp sgt i32 %t20, 1 %t22 = zext i1 %t21 to i32 %t23 = icmp ne i32 %t22, 0 %t24 = zext i1 %t23 to i32 store i32 %t24, ptr %t19 br i1 %t23, label %sc6, label %scend7 sc6: %t25 = load ptr, ptr %t1 %t26 = getelementptr inbounds i8, ptr %t25, i32 1 %t27 = load i8, ptr %t26 %t28 = zext i8 %t27 to i32 %t29 = icmp eq i32 %t28, 126 %t30 = zext i1 %t29 to i32 %t31 = icmp ne i32 %t30, 0 %t32 = zext i1 %t31 to i32 store i32 %t32, ptr %t19 br label %scend7 scend7: %t33 = load i32, ptr %t19 %t34 = icmp ne i32 %t33, 0 br i1 %t34, label %then8, label %ifend10 then8: br label %ret ifend10: %t35 = load ptr, ptr %t0 call void @fn_po_maybe_new(ptr %t35) %t37 = load i32, ptr %t6 %t38 = icmp sgt i32 %t37, 1 %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 %sc11, label %scend12 sc11: %t42 = load ptr, ptr %t1 %t43 = getelementptr inbounds i8, ptr %t42, i32 1 %t44 = load i8, ptr %t43 %t45 = zext i8 %t44 to i32 %t46 = icmp eq i32 %t45, 46 %t47 = zext i1 %t46 to i32 %t48 = icmp ne i32 %t47, 0 %t49 = zext i1 %t48 to i32 store i32 %t49, ptr %t36 br label %scend12 scend12: %t50 = load i32, ptr %t36 %t51 = icmp ne i32 %t50, 0 br i1 %t51, label %then13, label %ifend15 then13: store i32 2, ptr %t52 %t54 = load i32, ptr %t52 %t55 = load i32, ptr %t6 %t56 = icmp slt i32 %t54, %t55 %t57 = zext i1 %t56 to i32 %t58 = icmp ne i32 %t57, 0 %t59 = zext i1 %t58 to i32 store i32 %t59, ptr %t53 br i1 %t58, label %sc16, label %scend17 sc16: %t60 = load ptr, ptr %t1 %t61 = load i32, ptr %t52 %t62 = getelementptr inbounds i8, ptr %t60, i32 %t61 %t63 = load i8, ptr %t62 %t64 = zext i8 %t63 to i32 %t65 = icmp eq i32 %t64, 32 %t66 = zext i1 %t65 to i32 %t67 = icmp ne i32 %t66, 0 %t68 = zext i1 %t67 to i32 store i32 %t68, ptr %t53 br label %scend17 scend17: %t69 = load i32, ptr %t53 %t70 = icmp ne i32 %t69, 0 br i1 %t70, label %then18, label %ifend20 then18: %t71 = load i32, ptr %t52 %t72 = add i32 %t71, 1 store i32 %t72, ptr %t52 br label %ifend20 ifend20: %t73 = load ptr, ptr %t1 %t74 = load i32, ptr %t52 %t75 = load i32, ptr %t6 store i32 3593, ptr @lp_site %t76 = call ptr @lp_str_slice(ptr %t73, i32 %t74, i32 %t75) store i32 0, ptr @lp_site store ptr %t76, ptr %t77 %t78 = load ptr, ptr @g_g_po_cdesc %t79 = icmp eq ptr %t78, null %t80 = zext i1 %t79 to i32 %t81 = icmp ne i32 %t80, 0 br i1 %t81, label %then21, label %else22 then21: %t82 = load ptr, ptr %t77 store ptr %t82, ptr @g_g_po_cdesc br label %ifend23 else22: %t83 = load ptr, ptr @g_g_po_cdesc store i32 3594, ptr @lp_site %t84 = call ptr @lp_str_concat(ptr %t83, ptr @.str4231) store i32 0, ptr @lp_site %t85 = load ptr, ptr %t77 store i32 3595, ptr @lp_site %t86 = call ptr @lp_str_concat(ptr %t84, ptr %t85) store i32 0, ptr @lp_site call void @lp_free(ptr %t84) store ptr %t86, ptr @g_g_po_cdesc br label %ifend23 ifend23: br label %ifend15 ifend15: %t89 = load i32, ptr %t6 %t90 = icmp sgt i32 %t89, 1 %t91 = zext i1 %t90 to i32 %t92 = icmp ne i32 %t91, 0 %t93 = zext i1 %t92 to i32 store i32 %t93, ptr %t88 br i1 %t92, label %sc24, label %scend25 sc24: %t94 = load ptr, ptr %t1 %t95 = getelementptr inbounds i8, ptr %t94, i32 1 %t96 = load i8, ptr %t95 %t97 = zext i8 %t96 to i32 %t98 = icmp eq i32 %t97, 44 %t99 = zext i1 %t98 to i32 %t100 = icmp ne i32 %t99, 0 %t101 = zext i1 %t100 to i32 store i32 %t101, ptr %t88 br label %scend25 scend25: %t102 = load i32, ptr %t88 %t103 = icmp ne i32 %t102, 0 %t104 = zext i1 %t103 to i32 store i32 %t104, ptr %t87 br i1 %t103, label %sc26, label %scend27 sc26: %t105 = load ptr, ptr %t1 %t106 = call i32 @fn_has_sub(ptr %t105, ptr @.str4232) %t107 = icmp ne i32 %t106, 0 %t108 = zext i1 %t107 to i32 store i32 %t108, ptr %t87 br label %scend27 scend27: %t109 = load i32, ptr %t87 %t110 = icmp ne i32 %t109, 0 br i1 %t110, label %then28, label %ifend30 then28: store i32 1, ptr @g_g_po_cfuzzy br label %ifend30 ifend30: br label %ret ifend5: %t111 = load ptr, ptr %t1 %t112 = getelementptr inbounds i8, ptr %t111, i32 0 %t113 = load i8, ptr %t112 %t114 = zext i8 %t113 to i32 %t115 = icmp eq i32 %t114, 34 %t116 = zext i1 %t115 to i32 %t117 = icmp ne i32 %t116, 0 br i1 %t117, label %then31, label %ifend33 then31: %t118 = load i32, ptr @g_g_po_field %t119 = load ptr, ptr %t1 %t120 = call ptr @fn_po_quoted(ptr %t119, i32 0) call void @fn_po_add_to(i32 %t118, ptr %t120) br label %ret ifend33: %t121 = load ptr, ptr %t1 %t122 = call i32 @fn_str_starts(ptr %t121, ptr @.str4233) %t123 = icmp ne i32 %t122, 0 br i1 %t123, label %then34, label %ifend36 then34: %t124 = load ptr, ptr %t0 call void @fn_po_maybe_new(ptr %t124) %t125 = load ptr, ptr %t1 %t126 = call ptr @fn_po_quoted(ptr %t125, i32 7) store ptr %t126, ptr @g_g_po_cctxt store i32 4, ptr @g_g_po_field br label %ret ifend36: %t127 = load ptr, ptr %t1 %t128 = call i32 @fn_str_starts(ptr %t127, ptr @.str4234) %t129 = icmp ne i32 %t128, 0 br i1 %t129, label %then37, label %ifend39 then37: store i32 1, ptr @g_g_po_cpl store i32 2, ptr @g_g_po_field br label %ret ifend39: %t130 = load ptr, ptr %t1 %t131 = call i32 @fn_str_starts(ptr %t130, ptr @.str4235) %t132 = icmp ne i32 %t131, 0 br i1 %t132, label %then40, label %ifend42 then40: %t133 = load ptr, ptr %t0 call void @fn_po_maybe_new(ptr %t133) %t134 = load ptr, ptr %t1 %t135 = call ptr @fn_po_quoted(ptr %t134, i32 5) store ptr %t135, ptr @g_g_po_cid %t136 = load i32, ptr %t2 store i32 %t136, ptr @g_g_po_cline store i32 1, ptr @g_g_po_field br label %ret ifend42: %t137 = load ptr, ptr %t1 %t138 = call i32 @fn_str_starts(ptr %t137, ptr @.str4236) %t139 = icmp ne i32 %t138, 0 br i1 %t139, label %then43, label %ifend45 then43: store i32 1, ptr @g_g_po_seen_str store i32 0, ptr @g_g_po_form %t141 = load i32, ptr %t6 %t142 = icmp sgt i32 %t141, 6 %t143 = zext i1 %t142 to i32 %t144 = icmp ne i32 %t143, 0 %t145 = zext i1 %t144 to i32 store i32 %t145, ptr %t140 br i1 %t144, label %sc46, label %scend47 sc46: %t146 = load ptr, ptr %t1 %t147 = getelementptr inbounds i8, ptr %t146, i32 6 %t148 = load i8, ptr %t147 %t149 = zext i8 %t148 to i32 %t150 = icmp eq i32 %t149, 91 %t151 = zext i1 %t150 to i32 %t152 = icmp ne i32 %t151, 0 %t153 = zext i1 %t152 to i32 store i32 %t153, ptr %t140 br label %scend47 scend47: %t154 = load i32, ptr %t140 %t155 = icmp ne i32 %t154, 0 br i1 %t155, label %then48, label %ifend50 then48: store i32 7, ptr %t156 store i32 0, ptr %t157 br label %wcond51 wcond51: %t159 = load i32, ptr %t156 %t160 = load i32, ptr %t6 %t161 = icmp slt i32 %t159, %t160 %t162 = zext i1 %t161 to i32 %t163 = icmp ne i32 %t162, 0 %t164 = zext i1 %t163 to i32 store i32 %t164, ptr %t158 br i1 %t163, label %sc54, label %scend55 sc54: %t165 = load ptr, ptr %t1 %t166 = load i32, ptr %t156 %t167 = getelementptr inbounds i8, ptr %t165, i32 %t166 %t168 = load i8, ptr %t167 %t169 = zext i8 %t168 to i32 %t170 = call i32 @fn_char_is_digit(i32 %t169) %t171 = icmp ne i32 %t170, 0 %t172 = zext i1 %t171 to i32 store i32 %t172, ptr %t158 br label %scend55 scend55: %t173 = load i32, ptr %t158 %t174 = icmp ne i32 %t173, 0 br i1 %t174, label %wbody52, label %wend53 wbody52: %t175 = load i32, ptr %t157 %t176 = mul i32 %t175, 10 %t177 = load ptr, ptr %t1 %t178 = load i32, ptr %t156 %t179 = getelementptr inbounds i8, ptr %t177, i32 %t178 %t180 = load i8, ptr %t179 %t181 = zext i8 %t180 to i32 %t182 = sub i32 %t181, 48 %t183 = add i32 %t176, %t182 store i32 %t183, ptr %t157 %t184 = load i32, ptr %t156 %t185 = add i32 %t184, 1 store i32 %t185, ptr %t156 br label %wcond51 wend53: %t186 = load i32, ptr %t157 store i32 %t186, ptr @g_g_po_form br label %ifend50 ifend50: store i32 3, ptr @g_g_po_field %t187 = load ptr, ptr %t1 %t188 = call ptr @fn_po_quoted(ptr %t187, i32 6) call void @fn_po_add_to(i32 3, ptr %t188) br label %ifend45 ifend45: br label %ret ret: ret void } define i32 @fn_po_hash(ptr %arg_s) { entry: %retval = alloca i32 %t0 = alloca ptr %t1 = alloca i32 %t2 = alloca i32 %t6 = alloca i32 store ptr %arg_s, ptr %t0 store i32 5381, ptr %t1 store i32 0, ptr %t2 %t3 = load ptr, ptr %t0 %t4 = call i64 @strlen(ptr %t3) %t5 = trunc i64 %t4 to i32 store i32 %t5, ptr %t6 br label %wcond0 wcond0: %t7 = load i32, ptr %t2 %t8 = load i32, ptr %t6 %t9 = icmp slt i32 %t7, %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 %t1 %t13 = mul i32 %t12, 33 %t14 = load ptr, ptr %t0 %t15 = load i32, ptr %t2 %t16 = getelementptr inbounds i8, ptr %t14, i32 %t15 %t17 = load i8, ptr %t16 %t18 = zext i8 %t17 to i32 %t19 = add i32 %t13, %t18 %t20 = and i32 %t19, 16777215 store i32 %t20, ptr %t1 %t21 = load i32, ptr %t2 %t22 = add i32 %t21, 1 store i32 %t22, ptr %t2 br label %wcond0 wend2: %t23 = load i32, ptr %t1 store i32 %t23, ptr %retval br label %ret ret: %t24 = load i32, ptr %retval ret i32 %t24 } define void @fn_po_index(ptr %arg_p) { entry: %t0 = alloca ptr %t1 = alloca i32 %t23 = alloca i32 %t78 = alloca i32 %t79 = alloca i32 %t80 = alloca i32 store ptr %arg_p, ptr %t0 store i32 64, ptr %t1 br label %wcond0 wcond0: %t2 = load i32, ptr %t1 %t3 = load ptr, ptr %t0 %t4 = getelementptr inbounds %Cmp_PoFile, ptr %t3, i32 0, i32 1 %t5 = load ptr, ptr %t4 %t6 = getelementptr inbounds %LSlice, ptr %t5, i32 0, i32 1 %t7 = load i32, ptr %t6 %t8 = mul i32 %t7, 2 %t9 = add i32 %t8, 1 %t10 = icmp slt i32 %t2, %t9 %t11 = zext i1 %t10 to i32 %t12 = icmp ne i32 %t11, 0 br i1 %t12, label %wbody1, label %wend2 wbody1: %t13 = load i32, ptr %t1 %t14 = mul i32 %t13, 2 store i32 %t14, ptr %t1 br label %wcond0 wend2: %t15 = load ptr, ptr %t0 %t16 = getelementptr inbounds %Cmp_PoFile, ptr %t15, i32 0, i32 9 %t17 = getelementptr %LSlice, ptr null, i32 1 %t18 = ptrtoint ptr %t17 to i64 store i32 3596, ptr @lp_site %t19 = call ptr @lp_malloc(i64 %t18) store i32 0, ptr @lp_site %t20 = getelementptr inbounds %LSlice, ptr %t19, i32 0, i32 0 store ptr null, ptr %t20 %t21 = getelementptr inbounds %LSlice, ptr %t19, i32 0, i32 1 store i32 0, ptr %t21 %t22 = getelementptr inbounds %LSlice, ptr %t19, i32 0, i32 2 store i32 0, ptr %t22 store ptr %t19, ptr %t16 store i32 0, ptr %t23 br label %wcond3 wcond3: %t24 = load i32, ptr %t23 %t25 = load i32, ptr %t1 %t26 = icmp slt i32 %t24, %t25 %t27 = zext i1 %t26 to i32 %t28 = icmp ne i32 %t27, 0 br i1 %t28, label %wbody4, label %wend5 wbody4: %t29 = load ptr, ptr %t0 %t30 = getelementptr inbounds %Cmp_PoFile, ptr %t29, i32 0, i32 9 %t31 = load ptr, ptr %t30 %t32 = sub i32 0, 1 %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 i32, 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 store i32 3597, ptr @lp_site %t47 = call ptr @lp_realloc(ptr %t46, i64 %t45) store i32 0, ptr @lp_site store ptr %t47, ptr %t35 store i32 %t41, ptr %t34 br label %put7 put7: %t48 = load ptr, ptr %t35 %t49 = getelementptr inbounds i32, ptr %t48, i32 %t36 store i32 %t32, ptr %t49 %t50 = add i32 %t36, 1 store i32 %t50, ptr %t33 %t51 = load i32, ptr %t23 %t52 = add i32 %t51, 1 store i32 %t52, ptr %t23 br label %wcond3 wend5: store i32 0, ptr %t23 br label %wcond8 wcond8: %t53 = load i32, ptr %t23 %t54 = load ptr, ptr %t0 %t55 = getelementptr inbounds %Cmp_PoFile, ptr %t54, i32 0, i32 1 %t56 = load ptr, ptr %t55 %t57 = getelementptr inbounds %LSlice, ptr %t56, i32 0, i32 1 %t58 = load i32, ptr %t57 %t59 = icmp slt i32 %t53, %t58 %t60 = zext i1 %t59 to i32 %t61 = icmp ne i32 %t60, 0 br i1 %t61, label %wbody9, label %wend10 wbody9: %t62 = load ptr, ptr %t0 %t63 = getelementptr inbounds %Cmp_PoFile, ptr %t62, i32 0, i32 1 %t64 = load ptr, ptr %t63 %t65 = load i32, ptr %t23 %t66 = getelementptr inbounds %LSlice, ptr %t64, i32 0, i32 0 %t67 = load ptr, ptr %t66 %t68 = getelementptr inbounds %LSlice, ptr %t64, i32 0, i32 1 %t69 = load i32, ptr %t68 %t70 = icmp ult i32 %t65, %t69 br i1 %t70, label %ixok11, label %ixbad12 ixbad12: store i32 3598, ptr @lp_site %t71 = call ptr @lp_win_stdio(i32 2) store i32 0, ptr @lp_site call i32 (ptr, ptr, ...) @fprintf(ptr %t71, ptr @.fmt_bounds, ptr @.str4238, i32 %t65, i32 %t69) call void @exit(i32 1) unreachable ixok11: %t72 = getelementptr inbounds ptr, ptr %t67, i32 %t65 %t73 = load ptr, ptr %t72 %t74 = call i32 @fn_po_hash(ptr %t73) %t75 = load i32, ptr %t1 %t76 = sub i32 %t75, 1 %t77 = and i32 %t74, %t76 store i32 %t77, ptr %t78 store i32 0, ptr %t79 br label %wcond13 wcond13: %t81 = load ptr, ptr %t0 %t82 = getelementptr inbounds %Cmp_PoFile, ptr %t81, i32 0, i32 9 %t83 = load ptr, ptr %t82 %t84 = load i32, ptr %t78 %t85 = getelementptr inbounds %LSlice, ptr %t83, i32 0, i32 0 %t86 = load ptr, ptr %t85 %t87 = getelementptr inbounds %LSlice, ptr %t83, i32 0, i32 1 %t88 = load i32, ptr %t87 %t89 = icmp ult i32 %t84, %t88 br i1 %t89, label %ixok16, label %ixbad17 ixbad17: store i32 3599, ptr @lp_site %t90 = call ptr @lp_win_stdio(i32 2) store i32 0, ptr @lp_site call i32 (ptr, ptr, ...) @fprintf(ptr %t90, ptr @.fmt_bounds, ptr @.str4239, i32 %t84, i32 %t88) call void @exit(i32 1) unreachable ixok16: %t91 = getelementptr inbounds i32, ptr %t86, i32 %t84 %t92 = load i32, ptr %t91 %t93 = icmp sge i32 %t92, 0 %t94 = zext i1 %t93 to i32 %t95 = icmp ne i32 %t94, 0 %t96 = zext i1 %t95 to i32 store i32 %t96, ptr %t80 br i1 %t95, label %sc18, label %scend19 sc18: %t97 = load i32, ptr %t79 %t98 = icmp eq i32 %t97, 0 %t99 = zext i1 %t98 to i32 %t100 = icmp ne i32 %t99, 0 %t101 = zext i1 %t100 to i32 store i32 %t101, ptr %t80 br label %scend19 scend19: %t102 = load i32, ptr %t80 %t103 = icmp ne i32 %t102, 0 br i1 %t103, label %wbody14, label %wend15 wbody14: %t104 = load ptr, ptr %t0 %t105 = getelementptr inbounds %Cmp_PoFile, ptr %t104, i32 0, i32 1 %t106 = load ptr, ptr %t105 %t107 = load ptr, ptr %t0 %t108 = getelementptr inbounds %Cmp_PoFile, ptr %t107, i32 0, i32 9 %t109 = load ptr, ptr %t108 %t110 = load i32, ptr %t78 %t111 = getelementptr inbounds %LSlice, ptr %t109, i32 0, i32 0 %t112 = load ptr, ptr %t111 %t113 = getelementptr inbounds %LSlice, ptr %t109, i32 0, i32 1 %t114 = load i32, ptr %t113 %t115 = icmp ult i32 %t110, %t114 br i1 %t115, label %ixok20, label %ixbad21 ixbad21: store i32 3600, ptr @lp_site %t116 = call ptr @lp_win_stdio(i32 2) store i32 0, ptr @lp_site call i32 (ptr, ptr, ...) @fprintf(ptr %t116, ptr @.fmt_bounds, ptr @.str4240, i32 %t110, i32 %t114) call void @exit(i32 1) unreachable ixok20: %t117 = getelementptr inbounds i32, ptr %t112, i32 %t110 %t118 = load i32, ptr %t117 %t119 = getelementptr inbounds %LSlice, ptr %t106, i32 0, i32 0 %t120 = load ptr, ptr %t119 %t121 = getelementptr inbounds %LSlice, ptr %t106, i32 0, i32 1 %t122 = load i32, ptr %t121 %t123 = icmp ult i32 %t118, %t122 br i1 %t123, label %ixok22, label %ixbad23 ixbad23: store i32 3601, ptr @lp_site %t124 = call ptr @lp_win_stdio(i32 2) store i32 0, ptr @lp_site call i32 (ptr, ptr, ...) @fprintf(ptr %t124, ptr @.fmt_bounds, ptr @.str4241, i32 %t118, i32 %t122) call void @exit(i32 1) unreachable ixok22: %t125 = getelementptr inbounds ptr, ptr %t120, i32 %t118 %t126 = load ptr, ptr %t125 %t127 = load ptr, ptr %t0 %t128 = getelementptr inbounds %Cmp_PoFile, ptr %t127, i32 0, i32 1 %t129 = load ptr, ptr %t128 %t130 = load i32, ptr %t23 %t131 = getelementptr inbounds %LSlice, ptr %t129, i32 0, i32 0 %t132 = load ptr, ptr %t131 %t133 = getelementptr inbounds %LSlice, ptr %t129, i32 0, i32 1 %t134 = load i32, ptr %t133 %t135 = icmp ult i32 %t130, %t134 br i1 %t135, label %ixok24, label %ixbad25 ixbad25: store i32 3602, ptr @lp_site %t136 = call ptr @lp_win_stdio(i32 2) store i32 0, ptr @lp_site call i32 (ptr, ptr, ...) @fprintf(ptr %t136, ptr @.fmt_bounds, ptr @.str4242, i32 %t130, i32 %t134) call void @exit(i32 1) unreachable ixok24: %t137 = getelementptr inbounds ptr, ptr %t132, i32 %t130 %t138 = load ptr, ptr %t137 %t139 = call i32 @lp_str_eq(ptr %t126, ptr %t138) %t140 = icmp ne i32 %t139, 0 br i1 %t140, label %then26, label %else27 then26: store i32 1, ptr %t79 br label %ifend28 else27: %t141 = load i32, ptr %t78 %t142 = add i32 %t141, 1 %t143 = load i32, ptr %t1 %t144 = sub i32 %t143, 1 %t145 = and i32 %t142, %t144 store i32 %t145, ptr %t78 br label %ifend28 ifend28: br label %wcond13 wend15: %t146 = load i32, ptr %t79 %t147 = icmp eq i32 %t146, 0 %t148 = zext i1 %t147 to i32 %t149 = icmp ne i32 %t148, 0 br i1 %t149, label %then29, label %ifend31 then29: %t150 = load ptr, ptr %t0 %t151 = getelementptr inbounds %Cmp_PoFile, ptr %t150, i32 0, i32 9 %t152 = load ptr, ptr %t151 %t153 = load i32, ptr %t78 %t154 = getelementptr inbounds %LSlice, ptr %t152, i32 0, i32 0 %t155 = load ptr, ptr %t154 %t156 = getelementptr inbounds %LSlice, ptr %t152, i32 0, i32 1 %t157 = load i32, ptr %t156 %t158 = icmp ult i32 %t153, %t157 br i1 %t158, label %ixok32, label %ixbad33 ixbad33: store i32 3603, ptr @lp_site %t159 = call ptr @lp_win_stdio(i32 2) store i32 0, ptr @lp_site call i32 (ptr, ptr, ...) @fprintf(ptr %t159, ptr @.fmt_bounds, ptr @.str4243, i32 %t153, i32 %t157) call void @exit(i32 1) unreachable ixok32: %t160 = getelementptr inbounds i32, ptr %t155, i32 %t153 %t161 = load i32, ptr %t23 store i32 %t161, ptr %t160 br label %ifend31 ifend31: %t162 = load i32, ptr %t23 %t163 = add i32 %t162, 1 store i32 %t163, ptr %t23 br label %wcond8 wend10: br label %ret ret: ret void } define i32 @fn_po_find(ptr %arg_p, ptr %arg_key) { entry: %retval = alloca i32 %t0 = alloca ptr %t1 = alloca ptr %t2 = alloca i32 %t21 = alloca i32 %t32 = alloca i32 store ptr %arg_p, ptr %t0 store ptr %arg_key, ptr %t1 %t3 = load ptr, ptr %t0 %t4 = icmp eq ptr %t3, null %t5 = zext i1 %t4 to i32 %t6 = icmp ne i32 %t5, 0 %t7 = zext i1 %t6 to i32 store i32 %t7, ptr %t2 br i1 %t6, label %scend1, label %sc0 sc0: %t8 = load ptr, ptr %t1 %t9 = icmp eq ptr %t8, null %t10 = zext i1 %t9 to i32 %t11 = icmp ne i32 %t10, 0 %t12 = zext i1 %t11 to i32 store i32 %t12, ptr %t2 br label %scend1 scend1: %t13 = load i32, ptr %t2 %t14 = icmp ne i32 %t13, 0 br i1 %t14, label %then2, label %ifend4 then2: %t15 = sub i32 0, 1 store i32 %t15, ptr %retval br label %ret ifend4: %t16 = load ptr, ptr %t0 %t17 = getelementptr inbounds %Cmp_PoFile, ptr %t16, i32 0, i32 9 %t18 = load ptr, ptr %t17 %t19 = getelementptr inbounds %LSlice, ptr %t18, i32 0, i32 1 %t20 = load i32, ptr %t19 store i32 %t20, ptr %t21 %t22 = load i32, ptr %t21 %t23 = icmp eq i32 %t22, 0 %t24 = zext i1 %t23 to i32 %t25 = icmp ne i32 %t24, 0 br i1 %t25, label %then5, label %ifend7 then5: %t26 = sub i32 0, 1 store i32 %t26, ptr %retval br label %ret ifend7: %t27 = load ptr, ptr %t1 %t28 = call i32 @fn_po_hash(ptr %t27) %t29 = load i32, ptr %t21 %t30 = sub i32 %t29, 1 %t31 = and i32 %t28, %t30 store i32 %t31, ptr %t32 br label %wcond8 wcond8: %t33 = load ptr, ptr %t0 %t34 = getelementptr inbounds %Cmp_PoFile, ptr %t33, i32 0, i32 9 %t35 = load ptr, ptr %t34 %t36 = load i32, ptr %t32 %t37 = getelementptr inbounds %LSlice, ptr %t35, i32 0, i32 0 %t38 = load ptr, ptr %t37 %t39 = getelementptr inbounds %LSlice, ptr %t35, i32 0, i32 1 %t40 = load i32, ptr %t39 %t41 = icmp ult i32 %t36, %t40 br i1 %t41, label %ixok11, label %ixbad12 ixbad12: store i32 3604, ptr @lp_site %t42 = call ptr @lp_win_stdio(i32 2) store i32 0, ptr @lp_site call i32 (ptr, ptr, ...) @fprintf(ptr %t42, ptr @.fmt_bounds, ptr @.str4244, i32 %t36, i32 %t40) call void @exit(i32 1) unreachable ixok11: %t43 = getelementptr inbounds i32, ptr %t38, i32 %t36 %t44 = load i32, ptr %t43 %t45 = icmp sge i32 %t44, 0 %t46 = zext i1 %t45 to i32 %t47 = icmp ne i32 %t46, 0 br i1 %t47, label %wbody9, label %wend10 wbody9: %t48 = load ptr, ptr %t0 %t49 = getelementptr inbounds %Cmp_PoFile, ptr %t48, i32 0, i32 1 %t50 = load ptr, ptr %t49 %t51 = load ptr, ptr %t0 %t52 = getelementptr inbounds %Cmp_PoFile, ptr %t51, i32 0, i32 9 %t53 = load ptr, ptr %t52 %t54 = load i32, ptr %t32 %t55 = getelementptr inbounds %LSlice, ptr %t53, i32 0, i32 0 %t56 = load ptr, ptr %t55 %t57 = getelementptr inbounds %LSlice, ptr %t53, i32 0, i32 1 %t58 = load i32, ptr %t57 %t59 = icmp ult i32 %t54, %t58 br i1 %t59, label %ixok13, label %ixbad14 ixbad14: store i32 3605, ptr @lp_site %t60 = call ptr @lp_win_stdio(i32 2) store i32 0, ptr @lp_site call i32 (ptr, ptr, ...) @fprintf(ptr %t60, ptr @.fmt_bounds, ptr @.str4246, i32 %t54, i32 %t58) call void @exit(i32 1) unreachable ixok13: %t61 = getelementptr inbounds i32, ptr %t56, i32 %t54 %t62 = load i32, ptr %t61 %t63 = getelementptr inbounds %LSlice, ptr %t50, i32 0, i32 0 %t64 = load ptr, ptr %t63 %t65 = getelementptr inbounds %LSlice, ptr %t50, i32 0, i32 1 %t66 = load i32, ptr %t65 %t67 = icmp ult i32 %t62, %t66 br i1 %t67, label %ixok15, label %ixbad16 ixbad16: store i32 3606, ptr @lp_site %t68 = call ptr @lp_win_stdio(i32 2) store i32 0, ptr @lp_site call i32 (ptr, ptr, ...) @fprintf(ptr %t68, ptr @.fmt_bounds, ptr @.str4247, i32 %t62, i32 %t66) call void @exit(i32 1) unreachable ixok15: %t69 = getelementptr inbounds ptr, ptr %t64, i32 %t62 %t70 = load ptr, ptr %t69 %t71 = load ptr, ptr %t1 %t72 = call i32 @lp_str_eq(ptr %t70, ptr %t71) %t73 = icmp ne i32 %t72, 0 br i1 %t73, label %then17, label %ifend19 then17: %t74 = load ptr, ptr %t0 %t75 = getelementptr inbounds %Cmp_PoFile, ptr %t74, i32 0, i32 9 %t76 = load ptr, ptr %t75 %t77 = load i32, ptr %t32 %t78 = getelementptr inbounds %LSlice, ptr %t76, i32 0, i32 0 %t79 = load ptr, ptr %t78 %t80 = getelementptr inbounds %LSlice, ptr %t76, i32 0, i32 1 %t81 = load i32, ptr %t80 %t82 = icmp ult i32 %t77, %t81 br i1 %t82, label %ixok20, label %ixbad21 ixbad21: store i32 3607, ptr @lp_site %t83 = call ptr @lp_win_stdio(i32 2) store i32 0, ptr @lp_site call i32 (ptr, ptr, ...) @fprintf(ptr %t83, ptr @.fmt_bounds, ptr @.str4248, i32 %t77, i32 %t81) call void @exit(i32 1) unreachable ixok20: %t84 = getelementptr inbounds i32, ptr %t79, i32 %t77 %t85 = load i32, ptr %t84 store i32 %t85, ptr %retval br label %ret ifend19: %t86 = load i32, ptr %t32 %t87 = add i32 %t86, 1 %t88 = load i32, ptr %t21 %t89 = sub i32 %t88, 1 %t90 = and i32 %t87, %t89 store i32 %t90, ptr %t32 br label %wcond8 wend10: %t91 = sub i32 0, 1 store i32 %t91, ptr %retval br label %ret ret: %t92 = load i32, ptr %retval ret i32 %t92 } define i32 @fn_po_max_hole(ptr %arg_s) { entry: %retval = alloca i32 %t0 = alloca ptr %t1 = alloca i32 %t2 = alloca i32 %t6 = alloca i32 %t12 = alloca i32 %t13 = alloca i32 %t57 = alloca i32 %t58 = alloca i32 %t59 = alloca i32 %t87 = alloca i32 %t88 = alloca i32 %t89 = alloca i32 store ptr %arg_s, ptr %t0 store i32 0, ptr %t1 store i32 0, ptr %t2 %t3 = load ptr, ptr %t0 %t4 = call i64 @strlen(ptr %t3) %t5 = trunc i64 %t4 to i32 store i32 %t5, ptr %t6 br label %wcond0 wcond0: %t7 = load i32, ptr %t2 %t8 = load i32, ptr %t6 %t9 = icmp slt i32 %t7, %t8 %t10 = zext i1 %t9 to i32 %t11 = icmp ne i32 %t10, 0 br i1 %t11, label %wbody1, label %wend2 wbody1: %t14 = load ptr, ptr %t0 %t15 = load i32, ptr %t2 %t16 = getelementptr inbounds i8, ptr %t14, i32 %t15 %t17 = load i8, ptr %t16 %t18 = zext i8 %t17 to i32 %t19 = icmp eq i32 %t18, 123 %t20 = zext i1 %t19 to i32 %t21 = icmp ne i32 %t20, 0 %t22 = zext i1 %t21 to i32 store i32 %t22, ptr %t13 br i1 %t21, label %sc3, label %scend4 sc3: %t23 = load i32, ptr %t2 %t24 = add i32 %t23, 1 %t25 = load i32, ptr %t6 %t26 = icmp slt 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 %t13 br label %scend4 scend4: %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 %sc5, label %scend6 sc5: %t33 = load ptr, ptr %t0 %t34 = load i32, ptr %t2 %t35 = add i32 %t34, 1 %t36 = getelementptr inbounds i8, ptr %t33, i32 %t35 %t37 = load i8, ptr %t36 %t38 = zext i8 %t37 to i32 %t39 = icmp eq i32 %t38, 123 %t40 = zext i1 %t39 to i32 %t41 = icmp ne i32 %t40, 0 %t42 = zext i1 %t41 to i32 store i32 %t42, ptr %t12 br label %scend6 scend6: %t43 = load i32, ptr %t12 %t44 = icmp ne i32 %t43, 0 br i1 %t44, label %then7, label %ifend9 then7: %t45 = load i32, ptr %t2 %t46 = add i32 %t45, 2 store i32 %t46, ptr %t2 br label %wcond0 ifend9: %t47 = load ptr, ptr %t0 %t48 = load i32, ptr %t2 %t49 = getelementptr inbounds i8, ptr %t47, i32 %t48 %t50 = load i8, ptr %t49 %t51 = zext i8 %t50 to i32 %t52 = icmp eq i32 %t51, 123 %t53 = zext i1 %t52 to i32 %t54 = icmp ne i32 %t53, 0 br i1 %t54, label %then10, label %ifend12 then10: %t55 = load i32, ptr %t2 %t56 = add i32 %t55, 1 store i32 %t56, ptr %t57 store i32 0, ptr %t58 br label %wcond13 wcond13: %t60 = load i32, ptr %t57 %t61 = load i32, ptr %t6 %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 %sc16, label %scend17 sc16: %t66 = load ptr, ptr %t0 %t67 = load i32, ptr %t57 %t68 = getelementptr inbounds i8, ptr %t66, i32 %t67 %t69 = load i8, ptr %t68 %t70 = zext i8 %t69 to i32 %t71 = call i32 @fn_char_is_digit(i32 %t70) %t72 = icmp ne i32 %t71, 0 %t73 = zext i1 %t72 to i32 store i32 %t73, ptr %t59 br label %scend17 scend17: %t74 = load i32, ptr %t59 %t75 = icmp ne i32 %t74, 0 br i1 %t75, label %wbody14, label %wend15 wbody14: %t76 = load i32, ptr %t58 %t77 = mul i32 %t76, 10 %t78 = load ptr, ptr %t0 %t79 = load i32, ptr %t57 %t80 = getelementptr inbounds i8, ptr %t78, i32 %t79 %t81 = load i8, ptr %t80 %t82 = zext i8 %t81 to i32 %t83 = sub i32 %t82, 48 %t84 = add i32 %t77, %t83 store i32 %t84, ptr %t58 %t85 = load i32, ptr %t57 %t86 = add i32 %t85, 1 store i32 %t86, ptr %t57 br label %wcond13 wend15: %t90 = load i32, ptr %t57 %t91 = load i32, ptr %t2 %t92 = add i32 %t91, 1 %t93 = icmp sgt i32 %t90, %t92 %t94 = zext i1 %t93 to i32 %t95 = icmp ne i32 %t94, 0 %t96 = zext i1 %t95 to i32 store i32 %t96, ptr %t89 br i1 %t95, label %sc18, label %scend19 sc18: %t97 = load i32, ptr %t57 %t98 = load i32, ptr %t6 %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 %t89 br label %scend19 scend19: %t103 = load i32, ptr %t89 %t104 = icmp ne i32 %t103, 0 %t105 = zext i1 %t104 to i32 store i32 %t105, ptr %t88 br i1 %t104, label %sc20, label %scend21 sc20: %t106 = load ptr, ptr %t0 %t107 = load i32, ptr %t57 %t108 = getelementptr inbounds i8, ptr %t106, i32 %t107 %t109 = load i8, ptr %t108 %t110 = zext i8 %t109 to i32 %t111 = icmp eq i32 %t110, 125 %t112 = zext i1 %t111 to i32 %t113 = icmp ne i32 %t112, 0 %t114 = zext i1 %t113 to i32 store i32 %t114, ptr %t88 br label %scend21 scend21: %t115 = load i32, ptr %t88 %t116 = icmp ne i32 %t115, 0 %t117 = zext i1 %t116 to i32 store i32 %t117, ptr %t87 br i1 %t116, label %sc22, label %scend23 sc22: %t118 = load i32, ptr %t58 %t119 = load i32, ptr %t1 %t120 = icmp sgt i32 %t118, %t119 %t121 = zext i1 %t120 to i32 %t122 = icmp ne i32 %t121, 0 %t123 = zext i1 %t122 to i32 store i32 %t123, ptr %t87 br label %scend23 scend23: %t124 = load i32, ptr %t87 %t125 = icmp ne i32 %t124, 0 br i1 %t125, label %then24, label %ifend26 then24: %t126 = load i32, ptr %t58 store i32 %t126, ptr %t1 br label %ifend26 ifend26: br label %ifend12 ifend12: %t127 = load i32, ptr %t2 %t128 = add i32 %t127, 1 store i32 %t128, ptr %t2 br label %wcond0 wend2: %t129 = load i32, ptr %t1 store i32 %t129, ptr %retval br label %ret ret: %t130 = load i32, ptr %retval ret i32 %t130 } define ptr @fn_key_lit_node(ptr %arg_t) { entry: %retval = alloca ptr %t0 = alloca ptr %t2 = alloca ptr store ptr %arg_t, ptr %t0 %t1 = call ptr @fn_node(i32 31) store ptr %t1, ptr %t2 %t3 = load ptr, ptr %t2 %t4 = getelementptr inbounds %Cmp_Node, ptr %t3, i32 0, i32 8 %t5 = load ptr, ptr %t0 %t6 = getelementptr inbounds %Cmp_Tok, ptr %t5, i32 0, i32 3 %t7 = load i32, ptr %t6 store i32 %t7, ptr %t4 %t8 = load ptr, ptr %t2 %t9 = getelementptr inbounds %Cmp_Node, ptr %t8, i32 0, i32 18 %t10 = load ptr, ptr %t0 %t11 = getelementptr inbounds %Cmp_Tok, ptr %t10, i32 0, i32 6 %t12 = load i32, ptr %t11 store i32 %t12, ptr %t9 %t13 = load ptr, ptr %t2 %t14 = getelementptr inbounds %Cmp_Node, ptr %t13, i32 0, i32 1 %t15 = load ptr, ptr %t0 %t16 = getelementptr inbounds %Cmp_Tok, ptr %t15, i32 0, i32 2 %t17 = load i32, ptr %t16 %t18 = load ptr, ptr %t0 %t19 = getelementptr inbounds %Cmp_Tok, ptr %t18, i32 0, i32 1 %t20 = load ptr, ptr %t19 %t21 = call ptr @fn_key_marked(i32 %t17, ptr %t20) store ptr %t21, ptr %t14 %t22 = load ptr, ptr %t2 %t23 = getelementptr inbounds %Cmp_Node, ptr %t22, i32 0, i32 2 %t24 = load ptr, ptr %t0 %t25 = getelementptr inbounds %Cmp_Tok, ptr %t24, i32 0, i32 2 %t26 = load i32, ptr %t25 store i32 %t26, ptr %t23 %t27 = load ptr, ptr %t2 store ptr %t27, ptr %retval br label %ret ret: %t28 = load ptr, ptr %retval ret ptr %t28 } define ptr @fn_key_marked(i32 %arg_kind, ptr %arg_key) { entry: %retval = alloca ptr %t0 = alloca i32 %t1 = alloca ptr %t5 = alloca i32 %t10 = alloca ptr %t15 = alloca i32 store i32 %arg_kind, ptr %t0 store ptr %arg_key, ptr %t1 %t2 = load ptr, ptr %t1 %t3 = call i64 @strlen(ptr %t2) %t4 = trunc i64 %t3 to i32 store i32 %t4, ptr %t5 %t6 = load i32, ptr %t5 %t7 = add i32 %t6, 2 %t8 = zext i32 %t7 to i64 store i32 3608, ptr @lp_site %t9 = call ptr @lp_malloc(i64 %t8) store i32 0, ptr @lp_site store ptr %t9, ptr %t10 %t11 = load ptr, ptr %t10 %t12 = getelementptr inbounds i8, ptr %t11, i32 0 %t13 = load i32, ptr %t0 %t14 = trunc i32 %t13 to i8 store i8 %t14, ptr %t12 store i32 0, ptr %t15 br label %wcond0 wcond0: %t16 = load i32, ptr %t15 %t17 = load i32, ptr %t5 %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 %t10 %t22 = load i32, ptr %t15 %t23 = add i32 %t22, 1 %t24 = getelementptr inbounds i8, ptr %t21, i32 %t23 %t25 = load ptr, ptr %t1 %t26 = load i32, ptr %t15 %t27 = getelementptr inbounds i8, ptr %t25, i32 %t26 %t28 = load i8, ptr %t27 %t29 = zext i8 %t28 to i32 %t30 = trunc i32 %t29 to i8 store i8 %t30, ptr %t24 %t31 = load i32, ptr %t15 %t32 = add i32 %t31, 1 store i32 %t32, ptr %t15 br label %wcond0 wend2: %t33 = load ptr, ptr %t10 %t34 = load i32, ptr %t5 %t35 = add i32 %t34, 1 %t36 = getelementptr inbounds i8, ptr %t33, i32 %t35 %t37 = trunc i32 0 to i8 store i8 %t37, ptr %t36 %t38 = load ptr, ptr %t10 store ptr %t38, ptr %retval br label %ret ret: %t39 = load ptr, ptr %retval ret ptr %t39 } define i32 @fn_i18n_is_key(ptr %arg_e) { entry: %retval = alloca i32 %t0 = alloca ptr %t1 = alloca i32 %t2 = alloca i32 %t18 = alloca i32 store ptr %arg_e, ptr %t0 %t3 = load ptr, ptr %t0 %t4 = icmp ne ptr %t3, null %t5 = zext i1 %t4 to i32 %t6 = icmp ne i32 %t5, 0 %t7 = zext i1 %t6 to i32 store i32 %t7, ptr %t2 br i1 %t6, label %sc0, label %scend1 sc0: %t8 = load ptr, ptr %t0 %t9 = getelementptr inbounds %Cmp_Node, ptr %t8, i32 0, i32 0 %t10 = load i32, ptr %t9 %t11 = icmp eq i32 %t10, 31 %t12 = zext i1 %t11 to i32 %t13 = icmp ne i32 %t12, 0 %t14 = zext i1 %t13 to i32 store i32 %t14, ptr %t2 br label %scend1 scend1: %t15 = load i32, ptr %t2 %t16 = icmp ne i32 %t15, 0 %t17 = zext i1 %t16 to i32 store i32 %t17, ptr %t1 br i1 %t16, label %sc2, label %scend3 sc2: %t19 = load ptr, ptr %t0 %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 %t25 = zext i1 %t24 to i32 store i32 %t25, ptr %t18 br i1 %t24, label %scend5, label %sc4 sc4: %t26 = load ptr, ptr %t0 %t27 = getelementptr inbounds %Cmp_Node, ptr %t26, i32 0, i32 2 %t28 = load i32, ptr %t27 %t29 = icmp eq i32 %t28, 2 %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 %scend5 scend5: %t33 = load i32, ptr %t18 %t34 = icmp ne i32 %t33, 0 %t35 = zext i1 %t34 to i32 store i32 %t35, ptr %t1 br label %scend3 scend3: %t36 = load i32, ptr %t1 store i32 %t36, ptr %retval br label %ret ret: %t37 = load i32, ptr %retval ret i32 %t37 } define ptr @fn_i18n_key_text(ptr %arg_e) { entry: %retval = alloca ptr %t0 = alloca ptr store ptr %arg_e, ptr %t0 %t1 = load ptr, ptr %t0 %t2 = getelementptr inbounds %Cmp_Node, ptr %t1, i32 0, i32 1 %t3 = load ptr, ptr %t2 %t4 = load ptr, ptr %t0 %t5 = getelementptr inbounds %Cmp_Node, ptr %t4, i32 0, i32 1 %t6 = load ptr, ptr %t5 %t7 = call i64 @strlen(ptr %t6) %t8 = trunc i64 %t7 to i32 store i32 3609, ptr @lp_site %t9 = call ptr @lp_str_slice(ptr %t3, i32 1, i32 %t8) store i32 0, ptr @lp_site store ptr %t9, ptr %retval br label %ret ret: %t10 = load ptr, ptr %retval ret ptr %t10 } define ptr @fn_ss_new(i32 %arg_cap) { entry: %retval = alloca ptr %t0 = alloca i32 %t6 = alloca ptr %t15 = alloca i32 store i32 %arg_cap, ptr %t0 %t1 = getelementptr %Cmp_StrSet, ptr null, i32 1 %t2 = ptrtoint ptr %t1 to i64 store i32 3610, ptr @lp_site %t3 = call ptr @lp_malloc(i64 %t2) store i32 0, ptr @lp_site %t4 = getelementptr inbounds %Cmp_StrSet, ptr %t3, i32 0, i32 0 store ptr null, ptr %t4 %t5 = getelementptr inbounds %Cmp_StrSet, ptr %t3, i32 0, i32 1 store i32 0, ptr %t5 store ptr %t3, ptr %t6 %t7 = load ptr, ptr %t6 %t8 = getelementptr inbounds %Cmp_StrSet, ptr %t7, i32 0, i32 0 %t9 = getelementptr %LSlice, ptr null, i32 1 %t10 = ptrtoint ptr %t9 to i64 store i32 3611, ptr @lp_site %t11 = call ptr @lp_malloc(i64 %t10) store i32 0, ptr @lp_site %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 %t8 store i32 0, ptr %t15 br label %wcond0 wcond0: %t16 = load i32, ptr %t15 %t17 = load i32, ptr %t0 %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 %t6 %t22 = getelementptr inbounds %Cmp_StrSet, ptr %t21, i32 0, i32 0 %t23 = load ptr, ptr %t22 %t24 = getelementptr inbounds %LSlice, ptr %t23, i32 0, i32 1 %t25 = getelementptr inbounds %LSlice, ptr %t23, i32 0, i32 2 %t26 = getelementptr inbounds %LSlice, ptr %t23, i32 0, i32 0 %t27 = load i32, ptr %t24 %t28 = load i32, ptr %t25 %t29 = icmp sge i32 %t27, %t28 br i1 %t29, label %grow3, label %put4 grow3: %t30 = mul i32 %t28, 2 %t31 = icmp eq i32 %t28, 0 %t32 = select i1 %t31, i32 8, i32 %t30 %t33 = getelementptr ptr, 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 store i32 3612, ptr @lp_site %t38 = call ptr @lp_realloc(ptr %t37, i64 %t36) store i32 0, ptr @lp_site store ptr %t38, ptr %t26 store i32 %t32, ptr %t25 br label %put4 put4: %t39 = load ptr, ptr %t26 %t40 = getelementptr inbounds ptr, ptr %t39, i32 %t27 store ptr null, ptr %t40 %t41 = add i32 %t27, 1 store i32 %t41, ptr %t24 %t42 = load i32, ptr %t15 %t43 = add i32 %t42, 1 store i32 %t43, ptr %t15 br label %wcond0 wend2: %t44 = load ptr, ptr %t6 store ptr %t44, ptr %retval br label %ret ret: %t45 = load ptr, ptr %retval ret ptr %t45 } define i32 @fn_ss_slot(ptr %arg_s, ptr %arg_k) { entry: %retval = alloca i32 %t0 = alloca ptr %t1 = alloca ptr %t7 = alloca i32 %t13 = alloca i32 %t14 = alloca i32 store ptr %arg_s, ptr %t0 store ptr %arg_k, ptr %t1 %t2 = load ptr, ptr %t0 %t3 = getelementptr inbounds %Cmp_StrSet, ptr %t2, i32 0, i32 0 %t4 = load ptr, ptr %t3 %t5 = getelementptr inbounds %LSlice, ptr %t4, i32 0, i32 1 %t6 = load i32, ptr %t5 store i32 %t6, ptr %t7 %t8 = load ptr, ptr %t1 %t9 = call i32 @fn_po_hash(ptr %t8) %t10 = load i32, ptr %t7 %t11 = sub i32 %t10, 1 %t12 = and i32 %t9, %t11 store i32 %t12, ptr %t13 br label %wcond0 wcond0: %t15 = load ptr, ptr %t0 %t16 = getelementptr inbounds %Cmp_StrSet, ptr %t15, i32 0, i32 0 %t17 = load ptr, ptr %t16 %t18 = load i32, ptr %t13 %t19 = getelementptr inbounds %LSlice, ptr %t17, i32 0, i32 0 %t20 = load ptr, ptr %t19 %t21 = getelementptr inbounds %LSlice, ptr %t17, i32 0, i32 1 %t22 = load i32, ptr %t21 %t23 = icmp ult i32 %t18, %t22 br i1 %t23, label %ixok3, label %ixbad4 ixbad4: store i32 3613, ptr @lp_site %t24 = call ptr @lp_win_stdio(i32 2) store i32 0, ptr @lp_site call i32 (ptr, ptr, ...) @fprintf(ptr %t24, ptr @.fmt_bounds, ptr @.str4253, i32 %t18, i32 %t22) call void @exit(i32 1) unreachable ixok3: %t25 = getelementptr inbounds ptr, ptr %t20, i32 %t18 %t26 = load ptr, ptr %t25 %t27 = icmp ne ptr %t26, null %t28 = zext i1 %t27 to i32 %t29 = icmp ne i32 %t28, 0 %t30 = zext i1 %t29 to i32 store i32 %t30, ptr %t14 br i1 %t29, label %sc5, label %scend6 sc5: %t31 = load ptr, ptr %t0 %t32 = getelementptr inbounds %Cmp_StrSet, ptr %t31, i32 0, i32 0 %t33 = load ptr, ptr %t32 %t34 = load i32, ptr %t13 %t35 = getelementptr inbounds %LSlice, ptr %t33, i32 0, i32 0 %t36 = load ptr, ptr %t35 %t37 = getelementptr inbounds %LSlice, ptr %t33, i32 0, i32 1 %t38 = load i32, ptr %t37 %t39 = icmp ult i32 %t34, %t38 br i1 %t39, label %ixok7, label %ixbad8 ixbad8: store i32 3614, ptr @lp_site %t40 = call ptr @lp_win_stdio(i32 2) store i32 0, ptr @lp_site call i32 (ptr, ptr, ...) @fprintf(ptr %t40, ptr @.fmt_bounds, ptr @.str4255, i32 %t34, i32 %t38) call void @exit(i32 1) unreachable ixok7: %t41 = getelementptr inbounds ptr, ptr %t36, i32 %t34 %t42 = load ptr, ptr %t41 %t43 = load ptr, ptr %t1 %t44 = call i32 @lp_str_eq(ptr %t42, ptr %t43) %t45 = icmp eq i32 %t44, 0 %t46 = zext i1 %t45 to i32 %t47 = icmp ne i32 %t46, 0 %t48 = zext i1 %t47 to i32 store i32 %t48, ptr %t14 br label %scend6 scend6: %t49 = load i32, ptr %t14 %t50 = icmp ne i32 %t49, 0 br i1 %t50, label %wbody1, label %wend2 wbody1: %t51 = load i32, ptr %t13 %t52 = add i32 %t51, 1 %t53 = load i32, ptr %t7 %t54 = sub i32 %t53, 1 %t55 = and i32 %t52, %t54 store i32 %t55, ptr %t13 br label %wcond0 wend2: %t56 = load i32, ptr %t13 store i32 %t56, ptr %retval br label %ret ret: %t57 = load i32, ptr %retval ret i32 %t57 } define i32 @fn_ss_has(ptr %arg_s, ptr %arg_k) { entry: %retval = alloca i32 %t0 = alloca ptr %t1 = alloca ptr store ptr %arg_s, ptr %t0 store ptr %arg_k, ptr %t1 %t2 = load ptr, ptr %t0 %t3 = getelementptr inbounds %Cmp_StrSet, ptr %t2, i32 0, i32 0 %t4 = load ptr, ptr %t3 %t5 = load ptr, ptr %t0 %t6 = load ptr, ptr %t1 %t7 = call i32 @fn_ss_slot(ptr %t5, ptr %t6) %t8 = getelementptr inbounds %LSlice, ptr %t4, i32 0, i32 0 %t9 = load ptr, ptr %t8 %t10 = getelementptr inbounds %LSlice, ptr %t4, i32 0, i32 1 %t11 = load i32, ptr %t10 %t12 = icmp ult i32 %t7, %t11 br i1 %t12, label %ixok0, label %ixbad1 ixbad1: store i32 3615, ptr @lp_site %t13 = call ptr @lp_win_stdio(i32 2) store i32 0, ptr @lp_site call i32 (ptr, ptr, ...) @fprintf(ptr %t13, ptr @.fmt_bounds, ptr @.str4256, i32 %t7, i32 %t11) call void @exit(i32 1) unreachable ixok0: %t14 = getelementptr inbounds ptr, ptr %t9, i32 %t7 %t15 = load ptr, ptr %t14 %t16 = icmp ne ptr %t15, null %t17 = zext i1 %t16 to i32 store i32 %t17, ptr %retval br label %ret ret: %t18 = load i32, ptr %retval ret i32 %t18 } define i32 @fn_ss_add(ptr %arg_s, ptr %arg_k) { entry: %retval = alloca i32 %t0 = alloca ptr %t1 = alloca ptr %t18 = alloca ptr %t24 = alloca ptr %t25 = alloca i32 %t88 = alloca i32 store ptr %arg_s, ptr %t0 store ptr %arg_k, ptr %t1 %t2 = load ptr, ptr %t0 %t3 = getelementptr inbounds %Cmp_StrSet, ptr %t2, i32 0, i32 1 %t4 = load i32, ptr %t3 %t5 = add i32 %t4, 1 %t6 = mul i32 %t5, 2 %t7 = load ptr, ptr %t0 %t8 = getelementptr inbounds %Cmp_StrSet, ptr %t7, i32 0, i32 0 %t9 = load ptr, ptr %t8 %t10 = getelementptr inbounds %LSlice, ptr %t9, i32 0, i32 1 %t11 = load i32, ptr %t10 %t12 = icmp sgt i32 %t6, %t11 %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 = getelementptr inbounds %Cmp_StrSet, ptr %t15, i32 0, i32 0 %t17 = load ptr, ptr %t16 store ptr %t17, ptr %t18 %t19 = load ptr, ptr %t18 %t20 = getelementptr inbounds %LSlice, ptr %t19, i32 0, i32 1 %t21 = load i32, ptr %t20 %t22 = mul i32 %t21, 2 %t23 = call ptr @fn_ss_new(i32 %t22) store ptr %t23, ptr %t24 store i32 0, ptr %t25 br label %wcond3 wcond3: %t26 = load i32, ptr %t25 %t27 = load ptr, ptr %t18 %t28 = getelementptr inbounds %LSlice, ptr %t27, i32 0, i32 1 %t29 = load i32, ptr %t28 %t30 = icmp slt i32 %t26, %t29 %t31 = zext i1 %t30 to i32 %t32 = icmp ne i32 %t31, 0 br i1 %t32, label %wbody4, label %wend5 wbody4: %t33 = load ptr, ptr %t18 %t34 = load i32, ptr %t25 %t35 = getelementptr inbounds %LSlice, ptr %t33, i32 0, i32 0 %t36 = load ptr, ptr %t35 %t37 = getelementptr inbounds %LSlice, ptr %t33, i32 0, i32 1 %t38 = load i32, ptr %t37 %t39 = icmp ult i32 %t34, %t38 br i1 %t39, label %ixok6, label %ixbad7 ixbad7: store i32 3616, ptr @lp_site %t40 = call ptr @lp_win_stdio(i32 2) store i32 0, ptr @lp_site call i32 (ptr, ptr, ...) @fprintf(ptr %t40, ptr @.fmt_bounds, ptr @.str4258, i32 %t34, i32 %t38) call void @exit(i32 1) unreachable ixok6: %t41 = getelementptr inbounds ptr, ptr %t36, i32 %t34 %t42 = load ptr, ptr %t41 %t43 = icmp ne ptr %t42, null %t44 = zext i1 %t43 to i32 %t45 = icmp ne i32 %t44, 0 br i1 %t45, label %then8, label %ifend10 then8: %t46 = load ptr, ptr %t24 %t47 = getelementptr inbounds %Cmp_StrSet, ptr %t46, i32 0, i32 0 %t48 = load ptr, ptr %t47 %t49 = load ptr, ptr %t24 %t50 = load ptr, ptr %t18 %t51 = load i32, ptr %t25 %t52 = getelementptr inbounds %LSlice, ptr %t50, i32 0, i32 0 %t53 = load ptr, ptr %t52 %t54 = getelementptr inbounds %LSlice, ptr %t50, i32 0, i32 1 %t55 = load i32, ptr %t54 %t56 = icmp ult i32 %t51, %t55 br i1 %t56, label %ixok11, label %ixbad12 ixbad12: store i32 3617, ptr @lp_site %t57 = call ptr @lp_win_stdio(i32 2) store i32 0, ptr @lp_site call i32 (ptr, ptr, ...) @fprintf(ptr %t57, ptr @.fmt_bounds, ptr @.str4260, i32 %t51, i32 %t55) call void @exit(i32 1) unreachable ixok11: %t58 = getelementptr inbounds ptr, ptr %t53, i32 %t51 %t59 = load ptr, ptr %t58 %t60 = call i32 @fn_ss_slot(ptr %t49, ptr %t59) %t61 = getelementptr inbounds %LSlice, ptr %t48, i32 0, i32 0 %t62 = load ptr, ptr %t61 %t63 = getelementptr inbounds %LSlice, ptr %t48, i32 0, i32 1 %t64 = load i32, ptr %t63 %t65 = icmp ult i32 %t60, %t64 br i1 %t65, label %ixok13, label %ixbad14 ixbad14: store i32 3618, ptr @lp_site %t66 = call ptr @lp_win_stdio(i32 2) store i32 0, ptr @lp_site call i32 (ptr, ptr, ...) @fprintf(ptr %t66, ptr @.fmt_bounds, ptr @.str4261, i32 %t60, i32 %t64) call void @exit(i32 1) unreachable ixok13: %t67 = getelementptr inbounds ptr, ptr %t62, i32 %t60 %t68 = load ptr, ptr %t18 %t69 = load i32, ptr %t25 %t70 = getelementptr inbounds %LSlice, ptr %t68, i32 0, i32 0 %t71 = load ptr, ptr %t70 %t72 = getelementptr inbounds %LSlice, ptr %t68, i32 0, i32 1 %t73 = load i32, ptr %t72 %t74 = icmp ult i32 %t69, %t73 br i1 %t74, label %ixok15, label %ixbad16 ixbad16: store i32 3619, ptr @lp_site %t75 = call ptr @lp_win_stdio(i32 2) store i32 0, ptr @lp_site call i32 (ptr, ptr, ...) @fprintf(ptr %t75, ptr @.fmt_bounds, ptr @.str4262, i32 %t69, i32 %t73) call void @exit(i32 1) unreachable ixok15: %t76 = getelementptr inbounds ptr, ptr %t71, i32 %t69 %t77 = load ptr, ptr %t76 store ptr %t77, ptr %t67 br label %ifend10 ifend10: %t78 = load i32, ptr %t25 %t79 = add i32 %t78, 1 store i32 %t79, ptr %t25 br label %wcond3 wend5: %t80 = load ptr, ptr %t0 %t81 = getelementptr inbounds %Cmp_StrSet, ptr %t80, i32 0, i32 0 %t82 = load ptr, ptr %t24 %t83 = getelementptr inbounds %Cmp_StrSet, ptr %t82, i32 0, i32 0 %t84 = load ptr, ptr %t83 store ptr %t84, ptr %t81 br label %ifend2 ifend2: %t85 = load ptr, ptr %t0 %t86 = load ptr, ptr %t1 %t87 = call i32 @fn_ss_slot(ptr %t85, ptr %t86) store i32 %t87, ptr %t88 %t89 = load ptr, ptr %t0 %t90 = getelementptr inbounds %Cmp_StrSet, ptr %t89, i32 0, i32 0 %t91 = load ptr, ptr %t90 %t92 = load i32, ptr %t88 %t93 = getelementptr inbounds %LSlice, ptr %t91, i32 0, i32 0 %t94 = load ptr, ptr %t93 %t95 = getelementptr inbounds %LSlice, ptr %t91, i32 0, i32 1 %t96 = load i32, ptr %t95 %t97 = icmp ult i32 %t92, %t96 br i1 %t97, label %ixok17, label %ixbad18 ixbad18: store i32 3620, ptr @lp_site %t98 = call ptr @lp_win_stdio(i32 2) store i32 0, ptr @lp_site call i32 (ptr, ptr, ...) @fprintf(ptr %t98, ptr @.fmt_bounds, ptr @.str4263, i32 %t92, i32 %t96) call void @exit(i32 1) unreachable ixok17: %t99 = getelementptr inbounds ptr, ptr %t94, i32 %t92 %t100 = load ptr, ptr %t99 %t101 = icmp ne ptr %t100, null %t102 = zext i1 %t101 to i32 %t103 = icmp ne i32 %t102, 0 br i1 %t103, label %then19, label %ifend21 then19: store i32 0, ptr %retval br label %ret ifend21: %t104 = load ptr, ptr %t0 %t105 = getelementptr inbounds %Cmp_StrSet, ptr %t104, i32 0, i32 0 %t106 = load ptr, ptr %t105 %t107 = load i32, ptr %t88 %t108 = getelementptr inbounds %LSlice, ptr %t106, i32 0, i32 0 %t109 = load ptr, ptr %t108 %t110 = getelementptr inbounds %LSlice, ptr %t106, i32 0, i32 1 %t111 = load i32, ptr %t110 %t112 = icmp ult i32 %t107, %t111 br i1 %t112, label %ixok22, label %ixbad23 ixbad23: store i32 3621, ptr @lp_site %t113 = call ptr @lp_win_stdio(i32 2) store i32 0, ptr @lp_site call i32 (ptr, ptr, ...) @fprintf(ptr %t113, ptr @.fmt_bounds, ptr @.str4264, i32 %t107, i32 %t111) call void @exit(i32 1) unreachable ixok22: %t114 = getelementptr inbounds ptr, ptr %t109, i32 %t107 %t115 = load ptr, ptr %t1 store ptr %t115, ptr %t114 %t116 = load ptr, ptr %t0 %t117 = getelementptr inbounds %Cmp_StrSet, ptr %t116, i32 0, i32 1 %t118 = load i32, ptr %t117 %t119 = add i32 %t118, 1 store i32 %t119, ptr %t117 store i32 1, ptr %retval br label %ret ret: %t120 = load i32, ptr %retval ret i32 %t120 } define void @fn_i18n_manifest(ptr %arg_entry) { entry: %t0 = alloca ptr %t3 = alloca ptr %t4 = alloca i32 %t10 = alloca ptr %t11 = alloca i32 %t39 = alloca ptr store ptr %arg_entry, ptr %t0 %t1 = load ptr, ptr %t0 %t2 = call ptr @fn_dir_of(ptr %t1) store ptr %t2, ptr %t3 store i32 0, ptr %t4 br label %wcond0 wcond0: %t5 = load i32, ptr %t4 %t6 = icmp slt i32 %t5, 5 %t7 = zext i1 %t6 to i32 %t8 = icmp ne i32 %t7, 0 br i1 %t8, label %wbody1, label %wend2 wbody1: %t9 = load ptr, ptr %t3 store ptr %t9, ptr %t10 %t12 = load ptr, ptr %t10 %t13 = call i64 @strlen(ptr %t12) %t14 = trunc i64 %t13 to i32 %t15 = icmp sgt i32 %t14, 0 %t16 = zext i1 %t15 to i32 %t17 = icmp ne i32 %t16, 0 %t18 = zext i1 %t17 to i32 store i32 %t18, ptr %t11 br i1 %t17, label %sc3, label %scend4 sc3: %t19 = load ptr, ptr %t10 %t20 = load ptr, ptr %t10 %t21 = call i64 @strlen(ptr %t20) %t22 = trunc i64 %t21 to i32 %t23 = sub i32 %t22, 1 %t24 = getelementptr inbounds i8, ptr %t19, i32 %t23 %t25 = load i8, ptr %t24 %t26 = zext i8 %t25 to i32 %t27 = call i32 @fn_is_sep(i32 %t26) %t28 = icmp eq i32 %t27, 0 %t29 = zext i1 %t28 to i32 %t30 = icmp ne i32 %t29, 0 %t31 = zext i1 %t30 to i32 store i32 %t31, ptr %t11 br label %scend4 scend4: %t32 = load i32, ptr %t11 %t33 = icmp ne i32 %t32, 0 br i1 %t33, label %then5, label %ifend7 then5: %t34 = load ptr, ptr %t10 store i32 3622, ptr @lp_site %t35 = call ptr @lp_str_concat(ptr %t34, ptr @.str4265) store i32 0, ptr @lp_site store ptr %t35, ptr %t10 br label %ifend7 ifend7: %t36 = load ptr, ptr %t10 store i32 3623, ptr @lp_site %t37 = call ptr @lp_str_concat(ptr %t36, ptr @.str4267) store i32 0, ptr @lp_site %t38 = call ptr @fn_read_file(ptr %t37) store ptr %t38, ptr %t39 %t40 = load ptr, ptr %t39 %t41 = icmp ne ptr %t40, null %t42 = zext i1 %t41 to i32 %t43 = icmp ne i32 %t42, 0 br i1 %t43, label %then8, label %ifend10 then8: %t44 = load ptr, ptr %t39 %t45 = load ptr, ptr %t10 call void @fn_i18n_manifest_read(ptr %t44, ptr %t45) br label %ret ifend10: %t46 = load ptr, ptr %t3 %t47 = call i64 @strlen(ptr %t46) %t48 = trunc i64 %t47 to i32 %t49 = icmp eq i32 %t48, 0 %t50 = zext i1 %t49 to i32 %t51 = icmp ne i32 %t50, 0 br i1 %t51, label %then11, label %else12 then11: store ptr @.str4268, ptr %t3 br label %ifend13 else12: %t52 = load ptr, ptr %t3 store i32 3624, ptr @lp_site %t53 = call ptr @lp_str_concat(ptr %t52, ptr @.str4269) store i32 0, ptr @lp_site store ptr %t53, ptr %t3 br label %ifend13 ifend13: %t54 = load i32, ptr %t4 %t55 = add i32 %t54, 1 store i32 %t55, ptr %t4 br label %wcond0 wend2: br label %ret ret: ret void } define void @fn_i18n_manifest_read(ptr %arg_txt, ptr %arg_root) { entry: %t0 = alloca ptr %t1 = alloca ptr %t2 = alloca i32 %t6 = alloca i32 %t13 = alloca i32 %t14 = alloca i32 %t35 = alloca i32 %t36 = alloca i32 %t62 = alloca ptr %t63 = alloca i32 %t64 = alloca i32 store ptr %arg_txt, ptr %t0 store ptr %arg_root, ptr %t1 store i32 0, ptr %t2 %t3 = load ptr, ptr %t0 %t4 = call i64 @strlen(ptr %t3) %t5 = trunc i64 %t4 to i32 store i32 %t5, ptr %t6 br label %wcond0 wcond0: %t7 = load i32, ptr %t2 %t8 = load i32, ptr %t6 %t9 = icmp slt i32 %t7, %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 %t2 store i32 %t12, ptr %t13 br label %wcond3 wcond3: %t15 = load i32, ptr %t13 %t16 = load i32, ptr %t6 %t17 = icmp slt i32 %t15, %t16 %t18 = zext i1 %t17 to i32 %t19 = icmp ne i32 %t18, 0 %t20 = zext i1 %t19 to i32 store i32 %t20, ptr %t14 br i1 %t19, label %sc6, label %scend7 sc6: %t21 = load ptr, ptr %t0 %t22 = load i32, ptr %t13 %t23 = getelementptr inbounds i8, ptr %t21, i32 %t22 %t24 = load i8, ptr %t23 %t25 = zext i8 %t24 to i32 %t26 = icmp ne i32 %t25, 10 %t27 = zext i1 %t26 to i32 %t28 = icmp ne i32 %t27, 0 %t29 = zext i1 %t28 to i32 store i32 %t29, ptr %t14 br label %scend7 scend7: %t30 = load i32, ptr %t14 %t31 = icmp ne i32 %t30, 0 br i1 %t31, label %wbody4, label %wend5 wbody4: %t32 = load i32, ptr %t13 %t33 = add i32 %t32, 1 store i32 %t33, ptr %t13 br label %wcond3 wend5: %t34 = load i32, ptr %t13 store i32 %t34, ptr %t35 %t37 = load i32, ptr %t35 %t38 = load i32, ptr %t2 %t39 = icmp sgt i32 %t37, %t38 %t40 = zext i1 %t39 to i32 %t41 = icmp ne i32 %t40, 0 %t42 = zext i1 %t41 to i32 store i32 %t42, ptr %t36 br i1 %t41, label %sc8, label %scend9 sc8: %t43 = load ptr, ptr %t0 %t44 = load i32, ptr %t35 %t45 = sub i32 %t44, 1 %t46 = getelementptr inbounds i8, ptr %t43, i32 %t45 %t47 = load i8, ptr %t46 %t48 = zext i8 %t47 to i32 %t49 = icmp eq i32 %t48, 13 %t50 = zext i1 %t49 to i32 %t51 = icmp ne i32 %t50, 0 %t52 = zext i1 %t51 to i32 store i32 %t52, ptr %t36 br label %scend9 scend9: %t53 = load i32, ptr %t36 %t54 = icmp ne i32 %t53, 0 br i1 %t54, label %then10, label %ifend12 then10: %t55 = load i32, ptr %t35 %t56 = sub i32 %t55, 1 store i32 %t56, ptr %t35 br label %ifend12 ifend12: %t57 = load ptr, ptr %t0 %t58 = load i32, ptr %t2 %t59 = load i32, ptr %t35 store i32 3625, ptr @lp_site %t60 = call ptr @lp_str_slice(ptr %t57, i32 %t58, i32 %t59) store i32 0, ptr @lp_site %t61 = call ptr @fn_native_words(ptr %t60) store ptr %t61, ptr %t62 %t65 = load ptr, ptr %t62 %t66 = getelementptr inbounds %LSlice, ptr %t65, i32 0, i32 1 %t67 = load i32, ptr %t66 %t68 = icmp eq i32 %t67, 2 %t69 = zext i1 %t68 to i32 %t70 = icmp ne i32 %t69, 0 %t71 = zext i1 %t70 to i32 store i32 %t71, ptr %t64 br i1 %t70, label %scend14, label %sc13 sc13: %t72 = load ptr, ptr %t62 %t73 = getelementptr inbounds %LSlice, ptr %t72, i32 0, i32 1 %t74 = load i32, ptr %t73 %t75 = icmp eq i32 %t74, 3 %t76 = zext i1 %t75 to i32 %t77 = icmp ne i32 %t76, 0 %t78 = zext i1 %t77 to i32 store i32 %t78, ptr %t64 br label %scend14 scend14: %t79 = load i32, ptr %t64 %t80 = icmp ne i32 %t79, 0 %t81 = zext i1 %t80 to i32 store i32 %t81, ptr %t63 br i1 %t80, label %sc15, label %scend16 sc15: %t82 = load ptr, ptr %t62 %t83 = getelementptr inbounds %LSlice, ptr %t82, i32 0, i32 0 %t84 = load ptr, ptr %t83 %t85 = getelementptr inbounds %LSlice, ptr %t82, i32 0, i32 1 %t86 = load i32, ptr %t85 %t87 = icmp ult i32 0, %t86 br i1 %t87, label %ixok17, label %ixbad18 ixbad18: store i32 3626, ptr @lp_site %t88 = call ptr @lp_win_stdio(i32 2) store i32 0, ptr @lp_site call i32 (ptr, ptr, ...) @fprintf(ptr %t88, ptr @.fmt_bounds, ptr @.str4271, i32 0, i32 %t86) call void @exit(i32 1) unreachable ixok17: %t89 = getelementptr inbounds ptr, ptr %t84, i32 0 %t90 = load ptr, ptr %t89 %t91 = call i32 @lp_str_eq(ptr %t90, ptr @.str4272) %t92 = icmp ne i32 %t91, 0 %t93 = zext i1 %t92 to i32 store i32 %t93, ptr %t63 br label %scend16 scend16: %t94 = load i32, ptr %t63 %t95 = icmp ne i32 %t94, 0 br i1 %t95, label %then19, label %ifend21 then19: store i32 1, ptr @g_g_i18n_on %t96 = load ptr, ptr %t1 %t97 = load ptr, ptr %t62 %t98 = getelementptr inbounds %LSlice, ptr %t97, i32 0, i32 0 %t99 = load ptr, ptr %t98 %t100 = getelementptr inbounds %LSlice, ptr %t97, i32 0, i32 1 %t101 = load i32, ptr %t100 %t102 = icmp ult i32 1, %t101 br i1 %t102, label %ixok22, label %ixbad23 ixbad23: store i32 3627, ptr @lp_site %t103 = call ptr @lp_win_stdio(i32 2) store i32 0, ptr @lp_site call i32 (ptr, ptr, ...) @fprintf(ptr %t103, ptr @.fmt_bounds, ptr @.str4273, i32 1, i32 %t101) call void @exit(i32 1) unreachable ixok22: %t104 = getelementptr inbounds ptr, ptr %t99, i32 1 %t105 = load ptr, ptr %t104 %t106 = call ptr @fn_pm_trim_slash(ptr %t105) %t107 = call ptr @fn_join_path(ptr %t96, ptr %t106) %t108 = call ptr @fn_pm_norm(ptr %t107) store ptr %t108, ptr @g_g_i18n_dir %t109 = load ptr, ptr %t62 %t110 = getelementptr inbounds %LSlice, ptr %t109, i32 0, i32 1 %t111 = load i32, ptr %t110 %t112 = icmp eq i32 %t111, 3 %t113 = zext i1 %t112 to i32 %t114 = icmp ne i32 %t113, 0 br i1 %t114, label %then24, label %ifend26 then24: %t115 = load ptr, ptr %t62 %t116 = getelementptr inbounds %LSlice, ptr %t115, i32 0, i32 0 %t117 = load ptr, ptr %t116 %t118 = getelementptr inbounds %LSlice, ptr %t115, i32 0, i32 1 %t119 = load i32, ptr %t118 %t120 = icmp ult i32 2, %t119 br i1 %t120, label %ixok27, label %ixbad28 ixbad28: store i32 3628, ptr @lp_site %t121 = call ptr @lp_win_stdio(i32 2) store i32 0, ptr @lp_site call i32 (ptr, ptr, ...) @fprintf(ptr %t121, ptr @.fmt_bounds, ptr @.str4274, i32 2, i32 %t119) call void @exit(i32 1) unreachable ixok27: %t122 = getelementptr inbounds ptr, ptr %t117, i32 2 %t123 = load ptr, ptr %t122 store ptr %t123, ptr @g_g_i18n_src br label %ifend26 ifend26: br label %ifend21 ifend21: %t124 = load i32, ptr %t13 %t125 = add i32 %t124, 1 store i32 %t125, ptr %t2 br label %wcond0 wend2: %t126 = load i32, ptr @g_g_i18n_on %t127 = icmp ne i32 %t126, 0 br i1 %t127, label %then29, label %ifend31 then29: %t128 = load ptr, ptr @g_g_i18n_dir store i32 3629, ptr @lp_site %t129 = call ptr @lp_str_concat(ptr %t128, ptr @.str4275) store i32 0, ptr @lp_site %t130 = load ptr, ptr @g_g_i18n_src store i32 3630, ptr @lp_site %t131 = call ptr @lp_str_concat(ptr %t129, ptr %t130) store i32 0, ptr @lp_site call void @lp_free(ptr %t129) store i32 3631, ptr @lp_site %t132 = call ptr @lp_str_concat(ptr %t131, ptr @.str4276) store i32 0, ptr @lp_site call void @lp_free(ptr %t131) store ptr %t132, ptr @g_g_i18n_en_path %t133 = load ptr, ptr @g_g_i18n_en_path %t134 = call ptr @fn_po_read(ptr %t133) store ptr %t134, ptr @g_g_i18n_en br label %ifend31 ifend31: br label %ret ret: ret void } define void @fn_i18n_parse_textkey() { entry: %t0 = alloca i32 %t52 = alloca ptr call void @fn_eat_op(ptr @.str4277) %t1 = load ptr, ptr @g_toks %t2 = load i32, ptr @g_pi %t3 = getelementptr inbounds %LSlice, ptr %t1, i32 0, i32 0 %t4 = load ptr, ptr %t3 %t5 = getelementptr inbounds %LSlice, ptr %t1, i32 0, i32 1 %t6 = load i32, ptr %t5 %t7 = icmp ult i32 %t2, %t6 br i1 %t7, label %ixok0, label %ixbad1 ixbad1: store i32 3632, ptr @lp_site %t8 = call ptr @lp_win_stdio(i32 2) store i32 0, ptr @lp_site call i32 (ptr, ptr, ...) @fprintf(ptr %t8, ptr @.fmt_bounds, ptr @.str4278, i32 %t2, i32 %t6) call void @exit(i32 1) unreachable ixok0: %t9 = getelementptr inbounds ptr, ptr %t4, i32 %t2 %t10 = load ptr, ptr %t9 %t11 = getelementptr inbounds %Cmp_Tok, ptr %t10, i32 0, i32 0 %t12 = load i32, ptr %t11 %t13 = icmp ne i32 %t12, 2 %t14 = zext i1 %t13 to i32 %t15 = icmp ne i32 %t14, 0 %t16 = zext i1 %t15 to i32 store i32 %t16, ptr %t0 br i1 %t15, label %scend3, label %sc2 sc2: %t17 = load ptr, ptr @g_toks %t18 = load i32, ptr @g_pi %t19 = getelementptr inbounds %LSlice, ptr %t17, i32 0, i32 0 %t20 = load ptr, ptr %t19 %t21 = getelementptr inbounds %LSlice, ptr %t17, i32 0, i32 1 %t22 = load i32, ptr %t21 %t23 = icmp ult i32 %t18, %t22 br i1 %t23, label %ixok4, label %ixbad5 ixbad5: store i32 3633, ptr @lp_site %t24 = call ptr @lp_win_stdio(i32 2) store i32 0, ptr @lp_site call i32 (ptr, ptr, ...) @fprintf(ptr %t24, ptr @.fmt_bounds, ptr @.str4280, i32 %t18, i32 %t22) call void @exit(i32 1) unreachable ixok4: %t25 = getelementptr inbounds ptr, ptr %t20, i32 %t18 %t26 = load ptr, ptr %t25 %t27 = getelementptr inbounds %Cmp_Tok, ptr %t26, i32 0, i32 1 %t28 = load ptr, ptr %t27 %t29 = call i64 @strlen(ptr %t28) %t30 = trunc i64 %t29 to i32 %t31 = icmp eq i32 %t30, 0 %t32 = zext i1 %t31 to i32 %t33 = icmp ne i32 %t32, 0 %t34 = zext i1 %t33 to i32 store i32 %t34, ptr %t0 br label %scend3 scend3: %t35 = load i32, ptr %t0 %t36 = icmp ne i32 %t35, 0 br i1 %t36, label %then6, label %ifend8 then6: call void @fn_perr(ptr @.str4281) br label %ifend8 ifend8: %t37 = load ptr, ptr @g_toks %t38 = load i32, ptr @g_pi %t39 = getelementptr inbounds %LSlice, ptr %t37, i32 0, i32 0 %t40 = load ptr, ptr %t39 %t41 = getelementptr inbounds %LSlice, ptr %t37, i32 0, i32 1 %t42 = load i32, ptr %t41 %t43 = icmp ult i32 %t38, %t42 br i1 %t43, label %ixok9, label %ixbad10 ixbad10: store i32 3634, ptr @lp_site %t44 = call ptr @lp_win_stdio(i32 2) store i32 0, ptr @lp_site call i32 (ptr, ptr, ...) @fprintf(ptr %t44, ptr @.fmt_bounds, ptr @.str4282, i32 %t38, i32 %t42) call void @exit(i32 1) unreachable ixok9: %t45 = getelementptr inbounds ptr, ptr %t40, i32 %t38 %t46 = load ptr, ptr %t45 %t47 = getelementptr inbounds %Cmp_Tok, ptr %t46, i32 0, i32 1 %t48 = load ptr, ptr %t47 store ptr %t48, ptr @g_g_tk_pending %t49 = load i32, ptr @g_pi %t50 = add i32 %t49, 1 store i32 %t50, ptr @g_pi call void @fn_eat_op(ptr @.str4283) %t51 = call ptr @fn_buf_new() store ptr %t51, ptr %t52 %t53 = load ptr, ptr %t52 %t54 = load ptr, ptr @g_g_tk_pending call void @fn_jq_put(ptr %t53, ptr %t54) %t55 = load ptr, ptr %t52 %t56 = call ptr @fn_buf_str(ptr %t55) store i32 3635, ptr @lp_site %t57 = call ptr @lp_str_concat(ptr @.str4285, ptr %t56) store i32 0, ptr @lp_site store i32 3636, ptr @lp_site %t58 = call ptr @lp_str_concat(ptr %t57, ptr @.str4286) store i32 0, ptr @lp_site call void @lp_free(ptr %t57) call void @fn_at_decl_with(ptr @.str4284, ptr %t58) br label %ret ret: ret void } define void @fn_i18n_registry_declared() { entry: %t0 = load ptr, ptr @g_g_rg_textkey %t1 = load ptr, ptr @g_g_tk_pending %t2 = getelementptr inbounds %LSlice, ptr %t0, i32 0, i32 1 %t3 = getelementptr inbounds %LSlice, ptr %t0, i32 0, i32 2 %t4 = getelementptr inbounds %LSlice, ptr %t0, i32 0, i32 0 %t5 = load i32, ptr %t2 %t6 = load i32, ptr %t3 %t7 = icmp sge i32 %t5, %t6 br i1 %t7, label %grow0, label %put1 grow0: %t8 = mul i32 %t6, 2 %t9 = icmp eq i32 %t6, 0 %t10 = select i1 %t9, i32 8, i32 %t8 %t11 = getelementptr ptr, ptr null, i32 1 %t12 = ptrtoint ptr %t11 to i64 %t13 = zext i32 %t10 to i64 %t14 = mul i64 %t13, %t12 %t15 = load ptr, ptr %t4 store i32 3637, ptr @lp_site %t16 = call ptr @lp_realloc(ptr %t15, i64 %t14) store i32 0, ptr @lp_site store ptr %t16, ptr %t4 store i32 %t10, ptr %t3 br label %put1 put1: %t17 = load ptr, ptr %t4 %t18 = getelementptr inbounds ptr, ptr %t17, i32 %t5 store ptr %t1, ptr %t18 %t19 = add i32 %t5, 1 store i32 %t19, ptr %t2 store ptr null, ptr @g_g_tk_pending br label %ret ret: ret void } define ptr @fn_i18n_prefix(i32 %arg_r) { entry: %retval = alloca ptr %t0 = alloca i32 %t1 = alloca i32 %t2 = alloca i32 store i32 %arg_r, ptr %t0 %t3 = load i32, ptr %t0 %t4 = icmp sge i32 %t3, 0 %t5 = zext i1 %t4 to i32 %t6 = icmp ne i32 %t5, 0 %t7 = zext i1 %t6 to i32 store i32 %t7, ptr %t2 br i1 %t6, label %sc0, label %scend1 sc0: %t8 = load i32, ptr %t0 %t9 = load ptr, ptr @g_g_rg_textkey %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 %t15 = zext i1 %t14 to i32 store i32 %t15, ptr %t2 br label %scend1 scend1: %t16 = load i32, ptr %t2 %t17 = icmp ne i32 %t16, 0 %t18 = zext i1 %t17 to i32 store i32 %t18, ptr %t1 br i1 %t17, label %sc2, label %scend3 sc2: %t19 = load ptr, ptr @g_g_rg_textkey %t20 = load i32, ptr %t0 %t21 = getelementptr inbounds %LSlice, ptr %t19, i32 0, i32 0 %t22 = load ptr, ptr %t21 %t23 = getelementptr inbounds %LSlice, ptr %t19, i32 0, i32 1 %t24 = load i32, ptr %t23 %t25 = icmp ult i32 %t20, %t24 br i1 %t25, label %ixok4, label %ixbad5 ixbad5: store i32 3638, ptr @lp_site %t26 = call ptr @lp_win_stdio(i32 2) store i32 0, ptr @lp_site call i32 (ptr, ptr, ...) @fprintf(ptr %t26, ptr @.fmt_bounds, ptr @.str4288, i32 %t20, i32 %t24) call void @exit(i32 1) unreachable ixok4: %t27 = getelementptr inbounds ptr, ptr %t22, i32 %t20 %t28 = load ptr, ptr %t27 %t29 = icmp ne ptr %t28, null %t30 = zext i1 %t29 to i32 %t31 = icmp ne i32 %t30, 0 %t32 = zext i1 %t31 to i32 store i32 %t32, ptr %t1 br label %scend3 scend3: %t33 = load i32, ptr %t1 %t34 = icmp ne i32 %t33, 0 br i1 %t34, label %then6, label %ifend8 then6: %t35 = load ptr, ptr @g_g_rg_textkey %t36 = load i32, ptr %t0 %t37 = getelementptr inbounds %LSlice, ptr %t35, i32 0, i32 0 %t38 = load ptr, ptr %t37 %t39 = getelementptr inbounds %LSlice, ptr %t35, i32 0, i32 1 %t40 = load i32, ptr %t39 %t41 = icmp ult i32 %t36, %t40 br i1 %t41, label %ixok9, label %ixbad10 ixbad10: store i32 3639, ptr @lp_site %t42 = call ptr @lp_win_stdio(i32 2) store i32 0, ptr @lp_site call i32 (ptr, ptr, ...) @fprintf(ptr %t42, ptr @.fmt_bounds, ptr @.str4290, i32 %t36, i32 %t40) call void @exit(i32 1) unreachable ixok9: %t43 = getelementptr inbounds ptr, ptr %t38, i32 %t36 %t44 = load ptr, ptr %t43 store ptr %t44, ptr %retval br label %ret ifend8: %t45 = load ptr, ptr @g_g_rg_name %t46 = load i32, ptr %t0 %t47 = getelementptr inbounds %LSlice, ptr %t45, i32 0, i32 0 %t48 = load ptr, ptr %t47 %t49 = getelementptr inbounds %LSlice, ptr %t45, i32 0, i32 1 %t50 = load i32, ptr %t49 %t51 = icmp ult i32 %t46, %t50 br i1 %t51, label %ixok11, label %ixbad12 ixbad12: store i32 3640, ptr @lp_site %t52 = call ptr @lp_win_stdio(i32 2) store i32 0, ptr @lp_site call i32 (ptr, ptr, ...) @fprintf(ptr %t52, ptr @.fmt_bounds, ptr @.str4291, i32 %t46, i32 %t50) call void @exit(i32 1) unreachable ixok11: %t53 = getelementptr inbounds ptr, ptr %t48, i32 %t46 %t54 = load ptr, ptr %t53 %t55 = call ptr @fn_vis_plain(ptr %t54) %t56 = call ptr @fn_pm_snake(ptr %t55) store ptr %t56, ptr %retval br label %ret ret: %t57 = load ptr, ptr %retval ret ptr %t57 } define i32 @fn_i18n_has_text(ptr %arg_f) { entry: %retval = alloca i32 %t0 = alloca ptr %t1 = alloca i32 %t28 = alloca i32 store ptr %arg_f, ptr %t0 %t2 = load ptr, ptr %t0 %t3 = icmp eq ptr %t2, null %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 ptr, ptr %t0 %t8 = getelementptr inbounds %Cmp_Node, ptr %t7, i32 0, i32 19 %t9 = load i32, ptr %t8 %t10 = icmp slt i32 %t9, 0 %t11 = zext i1 %t10 to i32 %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: store i32 0, ptr %retval br label %ret ifend4: %t16 = load ptr, ptr @g_g_at_start %t17 = load ptr, ptr %t0 %t18 = getelementptr inbounds %Cmp_Node, ptr %t17, i32 0, i32 19 %t19 = load i32, ptr %t18 %t20 = getelementptr inbounds %LSlice, ptr %t16, i32 0, i32 0 %t21 = load ptr, ptr %t20 %t22 = getelementptr inbounds %LSlice, ptr %t16, i32 0, i32 1 %t23 = load i32, ptr %t22 %t24 = icmp ult i32 %t19, %t23 br i1 %t24, label %ixok5, label %ixbad6 ixbad6: store i32 3641, ptr @lp_site %t25 = call ptr @lp_win_stdio(i32 2) store i32 0, ptr @lp_site call i32 (ptr, ptr, ...) @fprintf(ptr %t25, ptr @.fmt_bounds, ptr @.str4292, i32 %t19, i32 %t23) call void @exit(i32 1) unreachable ixok5: %t26 = getelementptr inbounds i32, ptr %t21, i32 %t19 %t27 = load i32, ptr %t26 store i32 %t27, ptr %t28 br label %wcond7 wcond7: %t29 = load i32, ptr %t28 %t30 = load ptr, ptr @g_g_at_start %t31 = load ptr, ptr %t0 %t32 = getelementptr inbounds %Cmp_Node, ptr %t31, i32 0, i32 19 %t33 = load i32, ptr %t32 %t34 = getelementptr inbounds %LSlice, ptr %t30, i32 0, i32 0 %t35 = load ptr, ptr %t34 %t36 = getelementptr inbounds %LSlice, ptr %t30, i32 0, i32 1 %t37 = load i32, ptr %t36 %t38 = icmp ult i32 %t33, %t37 br i1 %t38, label %ixok10, label %ixbad11 ixbad11: store i32 3642, ptr @lp_site %t39 = call ptr @lp_win_stdio(i32 2) store i32 0, ptr @lp_site call i32 (ptr, ptr, ...) @fprintf(ptr %t39, ptr @.fmt_bounds, ptr @.str4294, i32 %t33, i32 %t37) call void @exit(i32 1) unreachable ixok10: %t40 = getelementptr inbounds i32, ptr %t35, i32 %t33 %t41 = load i32, ptr %t40 %t42 = load ptr, ptr @g_g_at_count %t43 = load ptr, ptr %t0 %t44 = getelementptr inbounds %Cmp_Node, ptr %t43, i32 0, i32 19 %t45 = load i32, ptr %t44 %t46 = getelementptr inbounds %LSlice, ptr %t42, i32 0, i32 0 %t47 = load ptr, ptr %t46 %t48 = getelementptr inbounds %LSlice, ptr %t42, i32 0, i32 1 %t49 = load i32, ptr %t48 %t50 = icmp ult i32 %t45, %t49 br i1 %t50, label %ixok12, label %ixbad13 ixbad13: store i32 3643, ptr @lp_site %t51 = call ptr @lp_win_stdio(i32 2) store i32 0, ptr @lp_site call i32 (ptr, ptr, ...) @fprintf(ptr %t51, ptr @.fmt_bounds, ptr @.str4295, i32 %t45, i32 %t49) call void @exit(i32 1) unreachable ixok12: %t52 = getelementptr inbounds i32, ptr %t47, i32 %t45 %t53 = load i32, ptr %t52 %t54 = add i32 %t41, %t53 %t55 = icmp slt i32 %t29, %t54 %t56 = zext i1 %t55 to i32 %t57 = icmp ne i32 %t56, 0 br i1 %t57, label %wbody8, label %wend9 wbody8: %t58 = load ptr, ptr @g_g_at_name %t59 = load i32, ptr %t28 %t60 = getelementptr inbounds %LSlice, ptr %t58, i32 0, i32 0 %t61 = load ptr, ptr %t60 %t62 = getelementptr inbounds %LSlice, ptr %t58, i32 0, i32 1 %t63 = load i32, ptr %t62 %t64 = icmp ult i32 %t59, %t63 br i1 %t64, label %ixok14, label %ixbad15 ixbad15: store i32 3644, ptr @lp_site %t65 = call ptr @lp_win_stdio(i32 2) store i32 0, ptr @lp_site call i32 (ptr, ptr, ...) @fprintf(ptr %t65, ptr @.fmt_bounds, ptr @.str4296, i32 %t59, i32 %t63) call void @exit(i32 1) unreachable ixok14: %t66 = getelementptr inbounds ptr, ptr %t61, i32 %t59 %t67 = load ptr, ptr %t66 %t68 = call i32 @lp_str_eq(ptr %t67, ptr @.str4297) %t69 = icmp ne i32 %t68, 0 br i1 %t69, label %then16, label %ifend18 then16: store i32 1, ptr %retval br label %ret ifend18: %t70 = load i32, ptr %t28 %t71 = add i32 %t70, 1 store i32 %t71, ptr %t28 br label %wcond7 wend9: store i32 0, ptr %retval br label %ret ret: %t72 = load i32, ptr %retval ret i32 %t72 } define i32 @fn_i18n_is_key_ty(ptr %arg_t) { entry: %retval = alloca i32 %t0 = alloca ptr %t1 = alloca i32 %t2 = alloca i32 store ptr %arg_t, ptr %t0 %t3 = load ptr, ptr %t0 %t4 = icmp ne ptr %t3, null %t5 = zext i1 %t4 to i32 %t6 = icmp ne i32 %t5, 0 %t7 = zext i1 %t6 to i32 store i32 %t7, ptr %t2 br i1 %t6, label %sc0, label %scend1 sc0: %t8 = load ptr, ptr %t0 %t9 = call i32 @lp_str_eq(ptr %t8, ptr @.str4298) %t10 = icmp ne i32 %t9, 0 %t11 = zext i1 %t10 to i32 store i32 %t11, ptr %t2 br label %scend1 scend1: %t12 = load i32, ptr %t2 %t13 = icmp ne i32 %t12, 0 %t14 = zext i1 %t13 to i32 store i32 %t14, ptr %t1 br i1 %t13, label %sc2, label %scend3 sc2: %t15 = load ptr, ptr %t0 %t16 = call ptr @fn_find_comp(ptr %t15) %t17 = icmp eq ptr %t16, null %t18 = zext i1 %t17 to i32 %t19 = icmp ne i32 %t18, 0 %t20 = zext i1 %t19 to i32 store i32 %t20, ptr %t1 br label %scend3 scend3: %t21 = load i32, ptr %t1 store i32 %t21, ptr %retval br label %ret ret: %t22 = load i32, ptr %retval ret i32 %t22 } define void @fn_i18n_fill_row(i32 %arg_r, ptr %arg_key, ptr %arg_rec, ptr %arg_comp, i32 %arg_kline, i32 %arg_kcol) { entry: %t0 = alloca i32 %t1 = alloca ptr %t2 = alloca ptr %t3 = alloca ptr %t4 = alloca i32 %t5 = alloca i32 %t10 = alloca i32 %t32 = alloca ptr %t33 = alloca i32 %t34 = alloca i32 %t35 = alloca i32 %t71 = alloca ptr %t89 = alloca ptr store i32 %arg_r, ptr %t0 store ptr %arg_key, ptr %t1 store ptr %arg_rec, ptr %t2 store ptr %arg_comp, ptr %t3 store i32 %arg_kline, ptr %t4 store i32 %arg_kcol, ptr %t5 %t6 = load ptr, ptr %t3 %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: br label %ret ifend2: store i32 0, ptr %t10 br label %wcond3 wcond3: %t11 = load i32, ptr %t10 %t12 = load ptr, ptr %t3 %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 %t17 = icmp slt i32 %t11, %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 %t3 %t21 = getelementptr inbounds %Cmp_Node, ptr %t20, i32 0, i32 7 %t22 = load ptr, ptr %t21 %t23 = load i32, ptr %t10 %t24 = getelementptr inbounds %LSlice, ptr %t22, i32 0, i32 0 %t25 = load ptr, ptr %t24 %t26 = getelementptr inbounds %LSlice, ptr %t22, i32 0, i32 1 %t27 = load i32, ptr %t26 %t28 = icmp ult i32 %t23, %t27 br i1 %t28, label %ixok6, label %ixbad7 ixbad7: store i32 3645, ptr @lp_site %t29 = call ptr @lp_win_stdio(i32 2) store i32 0, ptr @lp_site call i32 (ptr, ptr, ...) @fprintf(ptr %t29, ptr @.fmt_bounds, ptr @.str4299, i32 %t23, i32 %t27) call void @exit(i32 1) unreachable ixok6: %t30 = getelementptr inbounds ptr, ptr %t25, i32 %t23 %t31 = load ptr, ptr %t30 store ptr %t31, ptr %t32 %t36 = load ptr, ptr %t32 %t37 = getelementptr inbounds %Cmp_Node, ptr %t36, i32 0, i32 0 %t38 = load i32, ptr %t37 %t39 = icmp eq i32 %t38, 1 %t40 = zext i1 %t39 to i32 %t41 = icmp ne i32 %t40, 0 %t42 = zext i1 %t41 to i32 store i32 %t42, ptr %t35 br i1 %t41, label %sc8, label %scend9 sc8: %t43 = load ptr, ptr %t32 %t44 = call i32 @fn_i18n_has_text(ptr %t43) %t45 = icmp ne i32 %t44, 0 %t46 = zext i1 %t45 to i32 store i32 %t46, ptr %t35 br label %scend9 scend9: %t47 = load i32, ptr %t35 %t48 = icmp ne i32 %t47, 0 %t49 = zext i1 %t48 to i32 store i32 %t49, ptr %t34 br i1 %t48, label %sc10, label %scend11 sc10: %t50 = load ptr, ptr %t32 %t51 = getelementptr inbounds %Cmp_Node, ptr %t50, i32 0, i32 3 %t52 = load ptr, ptr %t51 %t53 = call i32 @fn_i18n_is_key_ty(ptr %t52) %t54 = icmp ne i32 %t53, 0 %t55 = zext i1 %t54 to i32 store i32 %t55, ptr %t34 br label %scend11 scend11: %t56 = load i32, ptr %t34 %t57 = icmp ne i32 %t56, 0 %t58 = zext i1 %t57 to i32 store i32 %t58, ptr %t33 br i1 %t57, label %sc12, label %scend13 sc12: %t59 = load ptr, ptr %t2 %t60 = load ptr, ptr %t32 %t61 = getelementptr inbounds %Cmp_Node, ptr %t60, i32 0, i32 1 %t62 = load ptr, ptr %t61 %t63 = call i32 @fn_reg_rec_has(ptr %t59, ptr %t62) %t64 = icmp eq i32 %t63, 0 %t65 = zext i1 %t64 to i32 %t66 = icmp ne i32 %t65, 0 %t67 = zext i1 %t66 to i32 store i32 %t67, ptr %t33 br label %scend13 scend13: %t68 = load i32, ptr %t33 %t69 = icmp ne i32 %t68, 0 br i1 %t69, label %then14, label %ifend16 then14: %t70 = call ptr @fn_node(i32 42) store ptr %t70, ptr %t71 %t72 = load ptr, ptr %t71 %t73 = getelementptr inbounds %Cmp_Node, ptr %t72, i32 0, i32 1 %t74 = load ptr, ptr %t32 %t75 = getelementptr inbounds %Cmp_Node, ptr %t74, i32 0, i32 1 %t76 = load ptr, ptr %t75 store ptr %t76, ptr %t73 %t77 = load ptr, ptr %t71 %t78 = getelementptr inbounds %Cmp_Node, ptr %t77, i32 0, i32 9 %t79 = load ptr, ptr %t2 %t80 = getelementptr inbounds %Cmp_Node, ptr %t79, i32 0, i32 9 %t81 = load ptr, ptr %t80 store ptr %t81, ptr %t78 %t82 = load ptr, ptr %t71 %t83 = getelementptr inbounds %Cmp_Node, ptr %t82, i32 0, i32 8 %t84 = load i32, ptr %t4 store i32 %t84, ptr %t83 %t85 = load ptr, ptr %t71 %t86 = getelementptr inbounds %Cmp_Node, ptr %t85, i32 0, i32 18 %t87 = load i32, ptr %t5 store i32 %t87, ptr %t86 %t88 = call ptr @fn_node(i32 31) store ptr %t88, ptr %t89 %t90 = load ptr, ptr %t89 %t91 = getelementptr inbounds %Cmp_Node, ptr %t90, i32 0, i32 1 %t92 = load i32, ptr %t0 %t93 = call ptr @fn_i18n_prefix(i32 %t92) store i32 3646, ptr @lp_site %t94 = call ptr @lp_str_concat(ptr %t93, ptr @.str4301) store i32 0, ptr @lp_site %t95 = load ptr, ptr %t1 store i32 3647, ptr @lp_site %t96 = call ptr @lp_str_concat(ptr %t94, ptr %t95) store i32 0, ptr @lp_site call void @lp_free(ptr %t94) store i32 3648, ptr @lp_site %t97 = call ptr @lp_str_concat(ptr %t96, ptr @.str4302) store i32 0, ptr @lp_site call void @lp_free(ptr %t96) %t98 = load ptr, ptr %t32 %t99 = getelementptr inbounds %Cmp_Node, ptr %t98, i32 0, i32 1 %t100 = load ptr, ptr %t99 store i32 3649, ptr @lp_site %t101 = call ptr @lp_str_concat(ptr %t97, ptr %t100) store i32 0, ptr @lp_site call void @lp_free(ptr %t97) %t102 = call ptr @fn_key_marked(i32 1, ptr %t101) store ptr %t102, ptr %t91 %t103 = load ptr, ptr %t89 %t104 = getelementptr inbounds %Cmp_Node, ptr %t103, i32 0, i32 2 store i32 1, ptr %t104 %t105 = load ptr, ptr %t89 %t106 = getelementptr inbounds %Cmp_Node, ptr %t105, i32 0, i32 3 store ptr @.str4303, ptr %t106 %t107 = load ptr, ptr %t89 %t108 = getelementptr inbounds %Cmp_Node, ptr %t107, i32 0, i32 9 %t109 = load ptr, ptr %t2 %t110 = getelementptr inbounds %Cmp_Node, ptr %t109, i32 0, i32 9 %t111 = load ptr, ptr %t110 store ptr %t111, ptr %t108 %t112 = load ptr, ptr %t89 %t113 = getelementptr inbounds %Cmp_Node, ptr %t112, i32 0, i32 8 %t114 = load i32, ptr %t4 store i32 %t114, ptr %t113 %t115 = load ptr, ptr %t89 %t116 = getelementptr inbounds %Cmp_Node, ptr %t115, i32 0, i32 18 %t117 = load i32, ptr %t5 store i32 %t117, ptr %t116 %t118 = load ptr, ptr %t71 %t119 = getelementptr inbounds %Cmp_Node, ptr %t118, i32 0, i32 4 %t120 = load ptr, ptr %t89 store ptr %t120, ptr %t119 %t121 = load ptr, ptr %t2 %t122 = getelementptr inbounds %Cmp_Node, ptr %t121, i32 0, i32 7 %t123 = load ptr, ptr %t122 %t124 = load ptr, ptr %t71 %t125 = getelementptr inbounds %LSlice, ptr %t123, i32 0, i32 1 %t126 = getelementptr inbounds %LSlice, ptr %t123, i32 0, i32 2 %t127 = getelementptr inbounds %LSlice, ptr %t123, i32 0, i32 0 %t128 = load i32, ptr %t125 %t129 = load i32, ptr %t126 %t130 = icmp sge i32 %t128, %t129 br i1 %t130, label %grow17, label %put18 grow17: %t131 = mul i32 %t129, 2 %t132 = icmp eq i32 %t129, 0 %t133 = select i1 %t132, i32 8, i32 %t131 %t134 = getelementptr ptr, ptr null, i32 1 %t135 = ptrtoint ptr %t134 to i64 %t136 = zext i32 %t133 to i64 %t137 = mul i64 %t136, %t135 %t138 = load ptr, ptr %t127 store i32 3650, ptr @lp_site %t139 = call ptr @lp_realloc(ptr %t138, i64 %t137) store i32 0, ptr @lp_site store ptr %t139, ptr %t127 store i32 %t133, ptr %t126 br label %put18 put18: %t140 = load ptr, ptr %t127 %t141 = getelementptr inbounds ptr, ptr %t140, i32 %t128 store ptr %t124, ptr %t141 %t142 = add i32 %t128, 1 store i32 %t142, ptr %t125 br label %ifend16 ifend16: %t143 = load i32, ptr %t10 %t144 = add i32 %t143, 1 store i32 %t144, ptr %t10 br label %wcond3 wend5: br label %ret ret: ret void } define i32 @fn_i18n_site(ptr %arg_key, i32 %arg_kind, ptr %arg_file, i32 %arg_line, i32 %arg_col) { entry: %retval = alloca i32 %t0 = alloca ptr %t1 = alloca i32 %t2 = alloca ptr %t3 = alloca i32 %t4 = alloca i32 %t11 = alloca ptr store ptr %arg_key, ptr %t0 store i32 %arg_kind, ptr %t1 store ptr %arg_file, ptr %t2 store i32 %arg_line, ptr %t3 store i32 %arg_col, ptr %t4 %t5 = load ptr, ptr @g_g_ks_seen %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 = call ptr @fn_ss_new(i32 1024) store ptr %t9, ptr @g_g_ks_seen br label %ifend2 ifend2: %t10 = load ptr, ptr %t2 store ptr %t10, ptr %t11 %t12 = load ptr, ptr %t11 %t13 = icmp eq ptr %t12, null %t14 = zext i1 %t13 to i32 %t15 = icmp ne i32 %t14, 0 br i1 %t15, label %then3, label %ifend5 then3: store ptr @.str4304, ptr %t11 br label %ifend5 ifend5: %t16 = load ptr, ptr @g_g_ks_seen %t17 = load ptr, ptr %t11 store i32 3651, ptr @lp_site %t18 = call ptr @lp_str_concat(ptr %t17, ptr @.str4305) store i32 0, ptr @lp_site %t19 = load i32, ptr %t3 %t20 = call ptr @fn_itoa(i32 %t19) store i32 3652, ptr @lp_site %t21 = call ptr @lp_str_concat(ptr %t18, ptr %t20) store i32 0, ptr @lp_site call void @lp_free(ptr %t18) store i32 3653, ptr @lp_site %t22 = call ptr @lp_str_concat(ptr %t21, ptr @.str4307) store i32 0, ptr @lp_site call void @lp_free(ptr %t21) %t23 = load i32, ptr %t4 %t24 = call ptr @fn_itoa(i32 %t23) store i32 3654, ptr @lp_site %t25 = call ptr @lp_str_concat(ptr %t22, ptr %t24) store i32 0, ptr @lp_site call void @lp_free(ptr %t22) store i32 3655, ptr @lp_site %t26 = call ptr @lp_str_concat(ptr %t25, ptr @.str4308) store i32 0, ptr @lp_site call void @lp_free(ptr %t25) %t27 = load ptr, ptr %t0 store i32 3656, ptr @lp_site %t28 = call ptr @lp_str_concat(ptr %t26, ptr %t27) store i32 0, ptr @lp_site call void @lp_free(ptr %t26) %t29 = call i32 @fn_ss_add(ptr %t16, ptr %t28) %t30 = icmp eq 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 ptr, ptr @g_g_ks_key %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 %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 store i32 3657, ptr @lp_site %t49 = call ptr @lp_realloc(ptr %t48, i64 %t47) store i32 0, ptr @lp_site 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 ptr, ptr @g_g_ks_kind %t54 = load i32, 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 %grow11, label %put12 grow11: %t61 = mul i32 %t59, 2 %t62 = icmp eq i32 %t59, 0 %t63 = select i1 %t62, i32 8, i32 %t61 %t64 = getelementptr i32, 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 store i32 3658, ptr @lp_site %t69 = call ptr @lp_realloc(ptr %t68, i64 %t67) store i32 0, ptr @lp_site store ptr %t69, ptr %t57 store i32 %t63, ptr %t56 br label %put12 put12: %t70 = load ptr, ptr %t57 %t71 = getelementptr inbounds i32, ptr %t70, i32 %t58 store i32 %t54, ptr %t71 %t72 = add i32 %t58, 1 store i32 %t72, ptr %t55 %t73 = load ptr, ptr @g_g_ks_file %t74 = load ptr, ptr %t11 %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 %grow13, label %put14 grow13: %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 store i32 3659, ptr @lp_site %t89 = call ptr @lp_realloc(ptr %t88, i64 %t87) store i32 0, ptr @lp_site store ptr %t89, ptr %t77 store i32 %t83, ptr %t76 br label %put14 put14: %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_g_ks_line %t94 = load i32, ptr %t3 %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 %grow15, label %put16 grow15: %t101 = mul i32 %t99, 2 %t102 = icmp eq i32 %t99, 0 %t103 = select i1 %t102, i32 8, i32 %t101 %t104 = getelementptr i32, 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 store i32 3660, ptr @lp_site %t109 = call ptr @lp_realloc(ptr %t108, i64 %t107) store i32 0, ptr @lp_site store ptr %t109, ptr %t97 store i32 %t103, ptr %t96 br label %put16 put16: %t110 = load ptr, ptr %t97 %t111 = getelementptr inbounds i32, ptr %t110, i32 %t98 store i32 %t94, ptr %t111 %t112 = add i32 %t98, 1 store i32 %t112, ptr %t95 %t113 = load ptr, ptr @g_g_ks_col %t114 = load i32, ptr %t4 %t115 = getelementptr inbounds %LSlice, ptr %t113, i32 0, i32 1 %t116 = getelementptr inbounds %LSlice, ptr %t113, i32 0, i32 2 %t117 = getelementptr inbounds %LSlice, ptr %t113, i32 0, i32 0 %t118 = load i32, ptr %t115 %t119 = load i32, ptr %t116 %t120 = icmp sge i32 %t118, %t119 br i1 %t120, label %grow17, label %put18 grow17: %t121 = mul i32 %t119, 2 %t122 = icmp eq i32 %t119, 0 %t123 = select i1 %t122, i32 8, i32 %t121 %t124 = getelementptr i32, 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 store i32 3661, ptr @lp_site %t129 = call ptr @lp_realloc(ptr %t128, i64 %t127) store i32 0, ptr @lp_site store ptr %t129, ptr %t117 store i32 %t123, ptr %t116 br label %put18 put18: %t130 = load ptr, ptr %t117 %t131 = getelementptr inbounds i32, ptr %t130, i32 %t118 store i32 %t114, ptr %t131 %t132 = add i32 %t118, 1 store i32 %t132, ptr %t115 store i32 1, ptr %retval br label %ret ret: %t133 = load i32, ptr %retval ret i32 %t133 } define ptr @fn_i18n_ks_name(i32 %arg_kind) { entry: %retval = alloca ptr %t0 = alloca i32 store i32 %arg_kind, ptr %t0 %t1 = load i32, ptr %t0 %t2 = icmp eq i32 %t1, 1 %t3 = zext i1 %t2 to i32 %t4 = icmp ne i32 %t3, 0 br i1 %t4, label %then0, label %ifend2 then0: store ptr @.str4309, ptr %retval br label %ret ifend2: %t5 = load i32, ptr %t0 %t6 = icmp eq i32 %t5, 2 %t7 = zext i1 %t6 to i32 %t8 = icmp ne i32 %t7, 0 br i1 %t8, label %then3, label %ifend5 then3: store ptr @.str4310, ptr %retval br label %ret ifend5: store ptr @.str4311, ptr %retval br label %ret ret: %t9 = load ptr, ptr %retval ret ptr %t9 } define void @fn_i18n_use(ptr %arg_key, i32 %arg_plural, i32 %arg_kind, ptr %arg_file, i32 %arg_line, i32 %arg_col) { entry: %t0 = alloca ptr %t1 = alloca i32 %t2 = alloca i32 %t3 = alloca ptr %t4 = alloca i32 %t5 = alloca i32 %t19 = alloca i32 %t20 = alloca i32 %t51 = alloca i32 %t55 = alloca ptr %t87 = alloca i32 store ptr %arg_key, ptr %t0 store i32 %arg_plural, ptr %t1 store i32 %arg_kind, ptr %t2 store ptr %arg_file, ptr %t3 store i32 %arg_line, ptr %t4 store i32 %arg_col, ptr %t5 %t6 = load ptr, ptr %t0 %t7 = load i32, ptr %t2 %t8 = load ptr, ptr %t3 %t9 = load i32, ptr %t4 %t10 = load i32, ptr %t5 %t11 = call i32 @fn_i18n_site(ptr %t6, i32 %t7, ptr %t8, i32 %t9, i32 %t10) %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: br label %ret ifend2: %t15 = load ptr, ptr @g_g_i18n_en %t16 = icmp eq ptr %t15, null %t17 = zext i1 %t16 to i32 %t18 = icmp ne i32 %t17, 0 br i1 %t18, label %then3, label %ifend5 then3: %t21 = load i32, ptr @g_g_i18n_on %t22 = icmp ne i32 %t21, 0 %t23 = zext i1 %t22 to i32 store i32 %t23, ptr %t20 br i1 %t22, label %sc6, label %scend7 sc6: %t24 = load i32, ptr %t2 %t25 = icmp ne i32 %t24, 1 %t26 = zext i1 %t25 to i32 %t27 = icmp ne i32 %t26, 0 %t28 = zext i1 %t27 to i32 store i32 %t28, ptr %t20 br label %scend7 scend7: %t29 = load i32, ptr %t20 %t30 = icmp ne i32 %t29, 0 %t31 = zext i1 %t30 to i32 store i32 %t31, ptr %t19 br i1 %t30, label %sc8, label %scend9 sc8: %t32 = load i32, ptr @g_g_i18n_nopo_warned %t33 = icmp eq i32 %t32, 0 %t34 = zext i1 %t33 to i32 %t35 = icmp ne i32 %t34, 0 %t36 = zext i1 %t35 to i32 store i32 %t36, ptr %t19 br label %scend9 scend9: %t37 = load i32, ptr %t19 %t38 = icmp ne i32 %t37, 0 br i1 %t38, label %then10, label %ifend12 then10: store i32 1, ptr @g_g_i18n_nopo_warned %t39 = load ptr, ptr %t3 %t40 = load i32, ptr %t4 %t41 = load i32, ptr %t5 %t42 = load ptr, ptr %t0 store i32 3662, ptr @lp_site %t43 = call ptr @lp_str_concat(ptr @.str4312, ptr %t42) store i32 0, ptr @lp_site store i32 3663, ptr @lp_site %t44 = call ptr @lp_str_concat(ptr %t43, ptr @.str4314) store i32 0, ptr @lp_site call void @lp_free(ptr %t43) %t45 = load ptr, ptr @g_g_i18n_en_path store i32 3664, ptr @lp_site %t46 = call ptr @lp_str_concat(ptr %t44, ptr %t45) store i32 0, ptr @lp_site call void @lp_free(ptr %t44) store i32 3665, ptr @lp_site %t47 = call ptr @lp_str_concat(ptr %t46, ptr @.str4315) store i32 0, ptr @lp_site call void @lp_free(ptr %t46) call void @fn_pwarn_at(ptr %t39, i32 %t40, i32 %t41, ptr %t47) br label %ifend12 ifend12: br label %ret ifend5: %t48 = load ptr, ptr @g_g_i18n_en %t49 = load ptr, ptr %t0 %t50 = call i32 @fn_po_find(ptr %t48, ptr %t49) store i32 %t50, ptr %t51 %t52 = load ptr, ptr %t0 store i32 3666, ptr @lp_site %t53 = call ptr @lp_str_concat(ptr @.str4316, ptr %t52) store i32 0, ptr @lp_site store i32 3667, ptr @lp_site %t54 = call ptr @lp_str_concat(ptr %t53, ptr @.str4317) store i32 0, ptr @lp_site call void @lp_free(ptr %t53) store ptr %t54, ptr %t55 %t56 = load i32, ptr %t1 %t57 = icmp ne i32 %t56, 0 br i1 %t57, label %then13, label %ifend15 then13: %t58 = load ptr, ptr %t0 store i32 3668, ptr @lp_site %t59 = call ptr @lp_str_concat(ptr @.str4318, ptr %t58) store i32 0, ptr @lp_site store i32 3669, ptr @lp_site %t60 = call ptr @lp_str_concat(ptr %t59, ptr @.str4319) store i32 0, ptr @lp_site call void @lp_free(ptr %t59) store ptr %t60, ptr %t55 br label %ifend15 ifend15: %t61 = load i32, ptr %t2 %t62 = icmp eq i32 %t61, 1 %t63 = zext i1 %t62 to i32 %t64 = icmp ne i32 %t63, 0 br i1 %t64, label %then16, label %ifend18 then16: %t65 = load ptr, ptr %t0 store i32 3670, ptr @lp_site %t66 = call ptr @lp_str_concat(ptr @.str4320, ptr %t65) store i32 0, ptr @lp_site store i32 3671, ptr @lp_site %t67 = call ptr @lp_str_concat(ptr %t66, ptr @.str4321) store i32 0, ptr @lp_site call void @lp_free(ptr %t66) store ptr %t67, ptr %t55 br label %ifend18 ifend18: %t68 = load ptr, ptr @g_g_i18n_what %t69 = icmp ne ptr %t68, null %t70 = zext i1 %t69 to i32 %t71 = icmp ne i32 %t70, 0 br i1 %t71, label %then19, label %ifend21 then19: %t72 = load ptr, ptr @g_g_i18n_what store ptr %t72, ptr %t55 br label %ifend21 ifend21: %t73 = load i32, ptr %t51 %t74 = icmp slt i32 %t73, 0 %t75 = zext i1 %t74 to i32 %t76 = icmp ne i32 %t75, 0 br i1 %t76, label %then22, label %ifend24 then22: %t77 = load ptr, ptr %t3 %t78 = load i32, ptr %t4 %t79 = load i32, ptr %t5 %t80 = load ptr, ptr %t55 store i32 3672, ptr @lp_site %t81 = call ptr @lp_str_concat(ptr %t80, ptr @.str4322) store i32 0, ptr @lp_site %t82 = load ptr, ptr %t0 store i32 3673, ptr @lp_site %t83 = call ptr @lp_str_concat(ptr %t81, ptr %t82) store i32 0, ptr @lp_site call void @lp_free(ptr %t81) store i32 3674, ptr @lp_site %t84 = call ptr @lp_str_concat(ptr %t83, ptr @.str4323) store i32 0, ptr @lp_site call void @lp_free(ptr %t83) %t85 = load ptr, ptr @g_g_i18n_en_path store i32 3675, ptr @lp_site %t86 = call ptr @lp_str_concat(ptr %t84, ptr %t85) store i32 0, ptr @lp_site call void @lp_free(ptr %t84) call void @fn_perr_at(ptr %t77, i32 %t78, i32 %t79, ptr %t86) br label %ret ifend24: %t88 = load i32, ptr %t1 %t89 = icmp ne i32 %t88, 0 %t90 = zext i1 %t89 to i32 store i32 %t90, ptr %t87 br i1 %t89, label %sc25, label %scend26 sc25: %t91 = load ptr, ptr @g_g_i18n_en %t92 = getelementptr inbounds %Cmp_PoFile, ptr %t91, i32 0, i32 2 %t93 = load ptr, ptr %t92 %t94 = load i32, ptr %t51 %t95 = getelementptr inbounds %LSlice, ptr %t93, i32 0, i32 0 %t96 = load ptr, ptr %t95 %t97 = getelementptr inbounds %LSlice, ptr %t93, i32 0, i32 1 %t98 = load i32, ptr %t97 %t99 = icmp ult i32 %t94, %t98 br i1 %t99, label %ixok27, label %ixbad28 ixbad28: store i32 3676, ptr @lp_site %t100 = call ptr @lp_win_stdio(i32 2) store i32 0, ptr @lp_site call i32 (ptr, ptr, ...) @fprintf(ptr %t100, ptr @.fmt_bounds, ptr @.str4324, i32 %t94, i32 %t98) call void @exit(i32 1) unreachable ixok27: %t101 = getelementptr inbounds i32, ptr %t96, i32 %t94 %t102 = load i32, ptr %t101 %t103 = icmp eq i32 %t102, 0 %t104 = zext i1 %t103 to i32 %t105 = icmp ne i32 %t104, 0 %t106 = zext i1 %t105 to i32 store i32 %t106, ptr %t87 br label %scend26 scend26: %t107 = load i32, ptr %t87 %t108 = icmp ne i32 %t107, 0 br i1 %t108, label %then29, label %ifend31 then29: %t109 = load ptr, ptr %t3 %t110 = load i32, ptr %t4 %t111 = load i32, ptr %t5 %t112 = load ptr, ptr %t55 store i32 3677, ptr @lp_site %t113 = call ptr @lp_str_concat(ptr %t112, ptr @.str4325) store i32 0, ptr @lp_site %t114 = load ptr, ptr @g_g_i18n_en_path store i32 3678, ptr @lp_site %t115 = call ptr @lp_str_concat(ptr %t113, ptr %t114) store i32 0, ptr @lp_site call void @lp_free(ptr %t113) store i32 3679, ptr @lp_site %t116 = call ptr @lp_str_concat(ptr %t115, ptr @.str4326) store i32 0, ptr @lp_site call void @lp_free(ptr %t115) %t117 = load ptr, ptr @g_g_i18n_en %t118 = getelementptr inbounds %Cmp_PoFile, ptr %t117, i32 0, i32 8 %t119 = load ptr, ptr %t118 %t120 = load i32, ptr %t51 %t121 = getelementptr inbounds %LSlice, ptr %t119, i32 0, i32 0 %t122 = load ptr, ptr %t121 %t123 = getelementptr inbounds %LSlice, ptr %t119, i32 0, i32 1 %t124 = load i32, ptr %t123 %t125 = icmp ult i32 %t120, %t124 br i1 %t125, label %ixok32, label %ixbad33 ixbad33: store i32 3680, ptr @lp_site %t126 = call ptr @lp_win_stdio(i32 2) store i32 0, ptr @lp_site call i32 (ptr, ptr, ...) @fprintf(ptr %t126, ptr @.fmt_bounds, ptr @.str4327, i32 %t120, i32 %t124) call void @exit(i32 1) unreachable ixok32: %t127 = getelementptr inbounds i32, ptr %t122, i32 %t120 %t128 = load i32, ptr %t127 %t129 = call ptr @fn_itoa(i32 %t128) store i32 3681, ptr @lp_site %t130 = call ptr @lp_str_concat(ptr %t116, ptr %t129) store i32 0, ptr @lp_site call void @lp_free(ptr %t116) store i32 3682, ptr @lp_site %t131 = call ptr @lp_str_concat(ptr %t130, ptr @.str4328) store i32 0, ptr @lp_site call void @lp_free(ptr %t130) %t132 = load ptr, ptr %t0 store i32 3683, ptr @lp_site %t133 = call ptr @lp_str_concat(ptr %t131, ptr %t132) store i32 0, ptr @lp_site call void @lp_free(ptr %t131) store i32 3684, ptr @lp_site %t134 = call ptr @lp_str_concat(ptr %t133, ptr @.str4329) store i32 0, ptr @lp_site call void @lp_free(ptr %t133) call void @fn_perr_at(ptr %t109, i32 %t110, i32 %t111, ptr %t134) br label %ifend31 ifend31: br label %ret ret: ret void } define void @fn_i18n_holes(ptr %arg_key, i32 %arg_given, ptr %arg_what, ptr %arg_file, i32 %arg_line, i32 %arg_col) { entry: %t0 = alloca ptr %t1 = alloca i32 %t2 = alloca ptr %t3 = alloca ptr %t4 = alloca i32 %t5 = alloca i32 %t9 = alloca i32 %t27 = alloca i32 store ptr %arg_key, ptr %t0 store i32 %arg_given, ptr %t1 store ptr %arg_what, ptr %t2 store ptr %arg_file, ptr %t3 store i32 %arg_line, ptr %t4 store i32 %arg_col, ptr %t5 %t6 = load ptr, ptr @g_g_i18n_en %t7 = load ptr, ptr %t0 %t8 = call i32 @fn_po_find(ptr %t6, ptr %t7) store i32 %t8, ptr %t9 %t10 = load i32, ptr %t9 %t11 = icmp slt i32 %t10, 0 %t12 = zext i1 %t11 to i32 %t13 = icmp ne i32 %t12, 0 br i1 %t13, label %then0, label %ifend2 then0: br label %ret ifend2: %t14 = load ptr, ptr @g_g_i18n_en %t15 = getelementptr inbounds %Cmp_PoFile, ptr %t14, i32 0, i32 3 %t16 = load ptr, ptr %t15 %t17 = load i32, ptr %t9 %t18 = getelementptr inbounds %LSlice, ptr %t16, i32 0, i32 0 %t19 = load ptr, ptr %t18 %t20 = getelementptr inbounds %LSlice, ptr %t16, i32 0, i32 1 %t21 = load i32, ptr %t20 %t22 = icmp ult i32 %t17, %t21 br i1 %t22, label %ixok3, label %ixbad4 ixbad4: store i32 3685, ptr @lp_site %t23 = call ptr @lp_win_stdio(i32 2) store i32 0, ptr @lp_site call i32 (ptr, ptr, ...) @fprintf(ptr %t23, ptr @.fmt_bounds, ptr @.str4330, i32 %t17, i32 %t21) call void @exit(i32 1) unreachable ixok3: %t24 = getelementptr inbounds ptr, ptr %t19, i32 %t17 %t25 = load ptr, ptr %t24 %t26 = call i32 @fn_po_max_hole(ptr %t25) store i32 %t26, ptr %t27 %t28 = load i32, ptr %t27 %t29 = load i32, ptr %t1 %t30 = icmp eq i32 %t28, %t29 %t31 = zext i1 %t30 to i32 %t32 = icmp ne i32 %t31, 0 br i1 %t32, label %then5, label %ifend7 then5: br label %ret ifend7: %t33 = load ptr, ptr %t3 %t34 = load i32, ptr %t4 %t35 = load i32, ptr %t5 %t36 = load ptr, ptr %t2 store i32 3686, ptr @lp_site %t37 = call ptr @lp_str_concat(ptr %t36, ptr @.str4332) store i32 0, ptr @lp_site %t38 = load ptr, ptr %t0 store i32 3687, ptr @lp_site %t39 = call ptr @lp_str_concat(ptr %t37, ptr %t38) store i32 0, ptr @lp_site call void @lp_free(ptr %t37) store i32 3688, ptr @lp_site %t40 = call ptr @lp_str_concat(ptr %t39, ptr @.str4333) store i32 0, ptr @lp_site call void @lp_free(ptr %t39) %t41 = load i32, ptr %t1 %t42 = call ptr @fn_itoa(i32 %t41) store i32 3689, ptr @lp_site %t43 = call ptr @lp_str_concat(ptr %t40, ptr %t42) store i32 0, ptr @lp_site call void @lp_free(ptr %t40) store i32 3690, ptr @lp_site %t44 = call ptr @lp_str_concat(ptr %t43, ptr @.str4334) store i32 0, ptr @lp_site call void @lp_free(ptr %t43) %t45 = load ptr, ptr @g_g_i18n_en_path store i32 3691, ptr @lp_site %t46 = call ptr @lp_str_concat(ptr %t44, ptr %t45) store i32 0, ptr @lp_site call void @lp_free(ptr %t44) store i32 3692, ptr @lp_site %t47 = call ptr @lp_str_concat(ptr %t46, ptr @.str4335) store i32 0, ptr @lp_site call void @lp_free(ptr %t46) %t48 = load i32, ptr %t27 %t49 = call ptr @fn_itoa(i32 %t48) store i32 3693, ptr @lp_site %t50 = call ptr @lp_str_concat(ptr %t47, ptr %t49) store i32 0, ptr @lp_site call void @lp_free(ptr %t47) store i32 3694, ptr @lp_site %t51 = call ptr @lp_str_concat(ptr %t50, ptr @.str4336) store i32 0, ptr @lp_site call void @lp_free(ptr %t50) call void @fn_pwarn_at(ptr %t33, i32 %t34, i32 %t35, ptr %t51) br label %ret ret: ret void } define i32 @fn_i18n_wordy(ptr %arg_s) { entry: %retval = alloca i32 %t0 = alloca ptr %t5 = alloca i32 %t6 = alloca i32 %t19 = alloca i32 %t20 = alloca i32 %t33 = alloca i32 %t34 = alloca i32 %t48 = alloca i32 store ptr %arg_s, 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: store i32 0, ptr %retval br label %ret ifend2: store i32 0, ptr %t5 store i32 0, ptr %t6 br label %wcond3 wcond3: %t7 = load i32, ptr %t6 %t8 = load ptr, ptr %t0 %t9 = call i64 @strlen(ptr %t8) %t10 = trunc i64 %t9 to i32 %t11 = icmp slt i32 %t7, %t10 %t12 = zext i1 %t11 to i32 %t13 = icmp ne i32 %t12, 0 br i1 %t13, label %wbody4, label %wend5 wbody4: %t14 = load ptr, ptr %t0 %t15 = load i32, ptr %t6 %t16 = getelementptr inbounds i8, ptr %t14, i32 %t15 %t17 = load i8, ptr %t16 %t18 = zext i8 %t17 to i32 store i32 %t18, ptr %t19 %t21 = load i32, ptr %t19 %t22 = icmp slt i32 %t21, 0 %t23 = zext i1 %t22 to i32 %t24 = icmp ne i32 %t23, 0 %t25 = zext i1 %t24 to i32 store i32 %t25, ptr %t20 br i1 %t24, label %scend7, label %sc6 sc6: %t26 = load i32, ptr %t19 %t27 = icmp sge i32 %t26, 128 %t28 = zext i1 %t27 to i32 %t29 = icmp ne i32 %t28, 0 %t30 = zext i1 %t29 to i32 store i32 %t30, ptr %t20 br label %scend7 scend7: %t31 = load i32, ptr %t20 %t32 = icmp ne i32 %t31, 0 br i1 %t32, label %then8, label %ifend10 then8: store i32 1, ptr %retval br label %ret ifend10: %t35 = load i32, ptr %t19 %t36 = icmp sge i32 %t35, 97 %t37 = zext i1 %t36 to i32 %t38 = icmp ne i32 %t37, 0 %t39 = zext i1 %t38 to i32 store i32 %t39, ptr %t34 br i1 %t38, label %sc11, label %scend12 sc11: %t40 = load i32, ptr %t19 %t41 = icmp sle i32 %t40, 122 %t42 = zext i1 %t41 to i32 %t43 = icmp ne i32 %t42, 0 %t44 = zext i1 %t43 to i32 store i32 %t44, ptr %t34 br label %scend12 scend12: %t45 = load i32, ptr %t34 %t46 = icmp ne i32 %t45, 0 %t47 = zext i1 %t46 to i32 store i32 %t47, ptr %t33 br i1 %t46, label %scend14, label %sc13 sc13: %t49 = load i32, ptr %t19 %t50 = icmp sge i32 %t49, 65 %t51 = zext i1 %t50 to i32 %t52 = icmp ne i32 %t51, 0 %t53 = zext i1 %t52 to i32 store i32 %t53, ptr %t48 br i1 %t52, label %sc15, label %scend16 sc15: %t54 = load i32, ptr %t19 %t55 = icmp sle i32 %t54, 90 %t56 = zext i1 %t55 to i32 %t57 = icmp ne i32 %t56, 0 %t58 = zext i1 %t57 to i32 store i32 %t58, ptr %t48 br label %scend16 scend16: %t59 = load i32, ptr %t48 %t60 = icmp ne i32 %t59, 0 %t61 = zext i1 %t60 to i32 store i32 %t61, ptr %t33 br label %scend14 scend14: %t62 = load i32, ptr %t33 %t63 = icmp ne i32 %t62, 0 br i1 %t63, label %then17, label %else18 then17: %t64 = load i32, ptr %t5 %t65 = add i32 %t64, 1 store i32 %t65, ptr %t5 br label %ifend19 else18: store i32 0, ptr %t5 br label %ifend19 ifend19: %t66 = load i32, ptr %t5 %t67 = icmp sge i32 %t66, 2 %t68 = zext i1 %t67 to i32 %t69 = icmp ne i32 %t68, 0 br i1 %t69, label %then20, label %ifend22 then20: store i32 1, ptr %retval br label %ret ifend22: %t70 = load i32, ptr %t6 %t71 = add i32 %t70, 1 store i32 %t71, ptr %t6 br label %wcond3 wend5: store i32 0, ptr %retval br label %ret ret: %t72 = load i32, ptr %retval ret i32 %t72 } define ptr @fn_i18n_short(ptr %arg_s) { entry: %retval = alloca ptr %t0 = alloca ptr %t2 = alloca ptr %t13 = alloca ptr %t14 = alloca i32 store ptr %arg_s, ptr %t0 %t1 = load ptr, ptr %t0 store ptr %t1, ptr %t2 %t3 = load ptr, ptr %t2 %t4 = call i64 @strlen(ptr %t3) %t5 = trunc i64 %t4 to i32 %t6 = icmp sgt i32 %t5, 40 %t7 = zext i1 %t6 to i32 %t8 = icmp ne i32 %t7, 0 br i1 %t8, label %then0, label %ifend2 then0: %t9 = load ptr, ptr %t2 store i32 3695, ptr @lp_site %t10 = call ptr @lp_str_slice(ptr %t9, i32 0, i32 37) store i32 0, ptr @lp_site store i32 3696, ptr @lp_site %t11 = call ptr @lp_str_concat(ptr %t10, ptr @.str4338) store i32 0, ptr @lp_site call void @lp_free(ptr %t10) store ptr %t11, ptr %t2 br label %ifend2 ifend2: %t12 = call ptr @fn_buf_new() store ptr %t12, ptr %t13 store i32 0, ptr %t14 br label %wcond3 wcond3: %t15 = load i32, ptr %t14 %t16 = load ptr, ptr %t2 %t17 = call i64 @strlen(ptr %t16) %t18 = trunc i64 %t17 to i32 %t19 = icmp slt i32 %t15, %t18 %t20 = zext i1 %t19 to i32 %t21 = icmp ne i32 %t20, 0 br i1 %t21, label %wbody4, label %wend5 wbody4: %t22 = load ptr, ptr %t2 %t23 = load i32, ptr %t14 %t24 = getelementptr inbounds i8, ptr %t22, i32 %t23 %t25 = load i8, ptr %t24 %t26 = zext i8 %t25 to i32 %t27 = icmp eq i32 %t26, 10 %t28 = zext i1 %t27 to i32 %t29 = icmp ne i32 %t28, 0 br i1 %t29, label %then6, label %else7 then6: %t30 = load ptr, ptr %t13 call void @fn_buf_puts(ptr %t30, ptr @.str4339) br label %ifend8 else7: %t31 = load ptr, ptr %t13 %t32 = load ptr, ptr %t2 %t33 = load i32, ptr %t14 %t34 = getelementptr inbounds i8, ptr %t32, i32 %t33 %t35 = load i8, ptr %t34 %t36 = zext i8 %t35 to i32 call void @fn_buf_putc(ptr %t31, i32 %t36) br label %ifend8 ifend8: %t37 = load i32, ptr %t14 %t38 = add i32 %t37, 1 store i32 %t38, ptr %t14 br label %wcond3 wend5: %t39 = load ptr, ptr %t13 %t40 = call ptr @fn_buf_str(ptr %t39) store ptr %t40, ptr %retval br label %ret ret: %t41 = load ptr, ptr %retval ret ptr %t41 } define void @fn_i18n_english_left(ptr %arg_file, i32 %arg_line, i32 %arg_col, ptr %arg_msg) { entry: %t0 = alloca ptr %t1 = alloca i32 %t2 = alloca i32 %t3 = alloca ptr store ptr %arg_file, ptr %t0 store i32 %arg_line, ptr %t1 store i32 %arg_col, ptr %t2 store ptr %arg_msg, ptr %t3 %t4 = load i32, ptr @g_g_i18n_english_left %t5 = add i32 %t4, 1 store i32 %t5, ptr @g_g_i18n_english_left %t6 = load ptr, ptr %t0 %t7 = load i32, ptr %t1 %t8 = load i32, ptr %t2 %t9 = load ptr, ptr %t3 store i32 3697, ptr @lp_site %t10 = call ptr @lp_str_concat(ptr @.str4340, ptr %t9) store i32 0, ptr @lp_site call void @fn_pwarn_at(ptr %t6, i32 %t7, i32 %t8, ptr %t10) br label %ret ret: ret void } define void @fn_i18n_check() { entry: %t4 = alloca i32 %t0 = load i32, ptr @g_g_i18n_done %t1 = icmp ne i32 %t0, 0 br i1 %t1, label %then0, label %ifend2 then0: br label %ret ifend2: store i32 1, ptr @g_g_i18n_done %t2 = load i32, ptr @g_g_i18n_on %t3 = icmp ne i32 %t2, 0 br i1 %t3, label %then3, label %ifend5 then3: call void @fn_i18n_walk_data() br label %ifend5 ifend5: store i32 0, ptr %t4 br label %wcond6 wcond6: %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 %wbody7, label %wend8 wbody7: %t12 = load ptr, ptr @g_prog %t13 = load i32, ptr %t4 %t14 = getelementptr inbounds %LSlice, ptr %t12, i32 0, i32 0 %t15 = load ptr, ptr %t14 %t16 = getelementptr inbounds %LSlice, ptr %t12, i32 0, i32 1 %t17 = load i32, ptr %t16 %t18 = icmp ult i32 %t13, %t17 br i1 %t18, label %ixok9, label %ixbad10 ixbad10: store i32 3698, ptr @lp_site %t19 = call ptr @lp_win_stdio(i32 2) store i32 0, ptr @lp_site call i32 (ptr, ptr, ...) @fprintf(ptr %t19, ptr @.fmt_bounds, ptr @.str4342, i32 %t13, i32 %t17) call void @exit(i32 1) unreachable ixok9: %t20 = getelementptr inbounds ptr, ptr %t15, i32 %t13 %t21 = load ptr, ptr %t20 %t22 = getelementptr inbounds %Cmp_Node, ptr %t21, i32 0, i32 9 %t23 = load ptr, ptr %t22 %t24 = call i32 @fn_is_runtime_file(ptr %t23) %t25 = icmp eq i32 %t24, 0 %t26 = zext i1 %t25 to i32 %t27 = icmp ne i32 %t26, 0 br i1 %t27, label %then11, label %ifend13 then11: %t28 = load ptr, ptr @g_prog %t29 = load i32, ptr %t4 %t30 = getelementptr inbounds %LSlice, ptr %t28, i32 0, i32 0 %t31 = load ptr, ptr %t30 %t32 = getelementptr inbounds %LSlice, ptr %t28, i32 0, i32 1 %t33 = load i32, ptr %t32 %t34 = icmp ult i32 %t29, %t33 br i1 %t34, label %ixok14, label %ixbad15 ixbad15: store i32 3699, ptr @lp_site %t35 = call ptr @lp_win_stdio(i32 2) store i32 0, ptr @lp_site call i32 (ptr, ptr, ...) @fprintf(ptr %t35, ptr @.fmt_bounds, ptr @.str4344, i32 %t29, i32 %t33) call void @exit(i32 1) unreachable ixok14: %t36 = getelementptr inbounds ptr, ptr %t31, i32 %t29 %t37 = load ptr, ptr %t36 call void @fn_i18n_walk(ptr %t37) br label %ifend13 ifend13: %t38 = load i32, ptr %t4 %t39 = add i32 %t38, 1 store i32 %t39, ptr %t4 br label %wcond6 wend8: %t40 = load i32, ptr @g_g_i18n_on %t41 = icmp eq i32 %t40, 0 %t42 = zext i1 %t41 to i32 %t43 = icmp ne i32 %t42, 0 br i1 %t43, label %then16, label %ifend18 then16: br label %ret ifend18: call void @fn_i18n_walk_templates() call void @fn_i18n_split_check() br label %ret ret: ret void } define i32 @fn_i18n_is_data_file(ptr %arg_f) { entry: %retval = alloca i32 %t0 = alloca ptr %t8 = alloca i32 %t9 = alloca i32 store ptr %arg_f, 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: store i32 0, ptr %retval br label %ret ifend2: %t5 = load ptr, ptr %t0 %t6 = call i64 @strlen(ptr %t5) %t7 = trunc i64 %t6 to i32 store i32 %t7, ptr %t8 %t10 = load i32, ptr %t8 %t11 = icmp sgt i32 %t10, 5 %t12 = zext i1 %t11 to i32 %t13 = icmp ne i32 %t12, 0 %t14 = zext i1 %t13 to i32 store i32 %t14, ptr %t9 br i1 %t13, label %sc3, label %scend4 sc3: %t15 = load ptr, ptr %t0 %t16 = load i32, ptr %t8 %t17 = sub i32 %t16, 5 %t18 = load i32, ptr %t8 store i32 3700, ptr @lp_site %t19 = call ptr @lp_str_slice(ptr %t15, i32 %t17, i32 %t18) store i32 0, ptr @lp_site %t20 = call i32 @lp_str_eq(ptr %t19, ptr @.str4346) call void @lp_free(ptr %t19) %t21 = icmp ne i32 %t20, 0 %t22 = zext i1 %t21 to i32 store i32 %t22, ptr %t9 br label %scend4 scend4: %t23 = load i32, ptr %t9 store i32 %t23, ptr %retval br label %ret ret: %t24 = load i32, ptr %retval ret i32 %t24 } define void @fn_i18n_walk(ptr %arg_n) { entry: %t0 = alloca ptr %t5 = alloca i32 %t35 = alloca i32 %t36 = alloca i32 %t75 = alloca i32 store ptr %arg_n, 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: br label %ret ifend2: %t6 = load ptr, ptr %t0 %t7 = call i32 @fn_i18n_is_key(ptr %t6) %t8 = icmp ne i32 %t7, 0 %t9 = zext i1 %t8 to i32 store i32 %t9, ptr %t5 br i1 %t8, label %sc3, label %scend4 sc3: %t10 = load ptr, ptr %t0 %t11 = getelementptr inbounds %Cmp_Node, ptr %t10, i32 0, i32 9 %t12 = load ptr, ptr %t11 %t13 = call i32 @fn_i18n_is_data_file(ptr %t12) %t14 = icmp eq i32 %t13, 0 %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: %t20 = load ptr, ptr %t0 %t21 = call ptr @fn_i18n_key_text(ptr %t20) %t22 = load ptr, ptr %t0 %t23 = getelementptr inbounds %Cmp_Node, ptr %t22, i32 0, i32 2 %t24 = load i32, ptr %t23 %t25 = icmp eq i32 %t24, 2 %t26 = zext i1 %t25 to i32 %t27 = load ptr, ptr %t0 %t28 = getelementptr inbounds %Cmp_Node, ptr %t27, i32 0, i32 9 %t29 = load ptr, ptr %t28 %t30 = load ptr, ptr %t0 %t31 = getelementptr inbounds %Cmp_Node, ptr %t30, i32 0, i32 8 %t32 = load i32, ptr %t31 %t33 = load ptr, ptr %t0 %t34 = call i32 @fn_i18n_col(ptr %t33) call void @fn_i18n_use(ptr %t21, i32 %t26, i32 0, ptr %t29, i32 %t32, i32 %t34) br label %ifend7 ifend7: %t37 = load ptr, ptr %t0 %t38 = getelementptr inbounds %Cmp_Node, ptr %t37, i32 0, i32 0 %t39 = load i32, ptr %t38 %t40 = icmp eq i32 %t39, 34 %t41 = zext i1 %t40 to i32 %t42 = icmp ne i32 %t41, 0 %t43 = zext i1 %t42 to i32 store i32 %t43, ptr %t36 br i1 %t42, label %sc8, label %scend9 sc8: %t44 = load ptr, ptr %t0 %t45 = getelementptr inbounds %Cmp_Node, ptr %t44, i32 0, i32 4 %t46 = load ptr, ptr %t45 %t47 = icmp ne ptr %t46, null %t48 = zext i1 %t47 to i32 %t49 = icmp ne i32 %t48, 0 %t50 = zext i1 %t49 to i32 store i32 %t50, ptr %t36 br label %scend9 scend9: %t51 = load i32, ptr %t36 %t52 = icmp ne i32 %t51, 0 %t53 = zext i1 %t52 to i32 store i32 %t53, ptr %t35 br i1 %t52, label %sc10, label %scend11 sc10: %t54 = load ptr, ptr %t0 %t55 = getelementptr inbounds %Cmp_Node, ptr %t54, i32 0, i32 4 %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, 33 %t60 = zext i1 %t59 to i32 %t61 = icmp ne i32 %t60, 0 %t62 = zext i1 %t61 to i32 store i32 %t62, ptr %t35 br label %scend11 scend11: %t63 = load i32, ptr %t35 %t64 = icmp ne i32 %t63, 0 br i1 %t64, label %then12, label %ifend14 then12: %t65 = load ptr, ptr %t0 call void @fn_i18n_call(ptr %t65) br label %ifend14 ifend14: %t66 = load ptr, ptr %t0 %t67 = getelementptr inbounds %Cmp_Node, ptr %t66, i32 0, i32 4 %t68 = load ptr, ptr %t67 call void @fn_i18n_walk(ptr %t68) %t69 = load ptr, ptr %t0 %t70 = getelementptr inbounds %Cmp_Node, ptr %t69, i32 0, i32 5 %t71 = load ptr, ptr %t70 call void @fn_i18n_walk(ptr %t71) %t72 = load ptr, ptr %t0 %t73 = getelementptr inbounds %Cmp_Node, ptr %t72, i32 0, i32 6 %t74 = load ptr, ptr %t73 call void @fn_i18n_walk(ptr %t74) store i32 0, ptr %t75 br label %wcond15 wcond15: %t76 = load i32, ptr %t75 %t77 = load ptr, ptr %t0 %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 1 %t81 = load i32, ptr %t80 %t82 = icmp slt i32 %t76, %t81 %t83 = zext i1 %t82 to i32 %t84 = icmp ne i32 %t83, 0 br i1 %t84, label %wbody16, label %wend17 wbody16: %t85 = load ptr, ptr %t0 %t86 = getelementptr inbounds %Cmp_Node, ptr %t85, i32 0, i32 7 %t87 = load ptr, ptr %t86 %t88 = load i32, ptr %t75 %t89 = getelementptr inbounds %LSlice, ptr %t87, i32 0, i32 0 %t90 = load ptr, ptr %t89 %t91 = getelementptr inbounds %LSlice, ptr %t87, i32 0, i32 1 %t92 = load i32, ptr %t91 %t93 = icmp ult i32 %t88, %t92 br i1 %t93, label %ixok18, label %ixbad19 ixbad19: store i32 3701, ptr @lp_site %t94 = call ptr @lp_win_stdio(i32 2) store i32 0, ptr @lp_site call i32 (ptr, ptr, ...) @fprintf(ptr %t94, ptr @.fmt_bounds, ptr @.str4347, i32 %t88, i32 %t92) call void @exit(i32 1) unreachable ixok18: %t95 = getelementptr inbounds ptr, ptr %t90, i32 %t88 %t96 = load ptr, ptr %t95 call void @fn_i18n_walk(ptr %t96) %t97 = load i32, ptr %t75 %t98 = add i32 %t97, 1 store i32 %t98, ptr %t75 br label %wcond15 wend17: br label %ret ret: ret void } define void @fn_i18n_call(ptr %arg_n) { entry: %t0 = alloca ptr %t7 = alloca ptr %t8 = alloca i32 %t9 = alloca i32 %t33 = alloca i32 %t34 = alloca i32 %t87 = alloca ptr %t90 = alloca ptr %t96 = alloca i32 %t97 = alloca i32 %t123 = alloca i32 %t151 = alloca i32 store ptr %arg_n, 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 1 %t5 = load ptr, ptr %t4 %t6 = call ptr @fn_vis_plain(ptr %t5) store ptr %t6, ptr %t7 %t10 = load ptr, ptr %t7 %t11 = call i32 @lp_str_eq(ptr %t10, ptr @.str4349) %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 %t9 br i1 %t14, label %sc0, label %scend1 sc0: %t16 = load ptr, ptr %t7 %t17 = call i32 @lp_str_eq(ptr %t16, ptr @.str4350) %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 label %scend1 scend1: %t22 = load i32, ptr %t9 %t23 = icmp ne i32 %t22, 0 %t24 = zext i1 %t23 to i32 store i32 %t24, ptr %t8 br i1 %t23, label %sc2, label %scend3 sc2: %t25 = load ptr, ptr %t7 %t26 = call i32 @lp_str_eq(ptr %t25, ptr @.str4351) %t27 = icmp eq i32 %t26, 0 %t28 = zext i1 %t27 to i32 %t29 = icmp ne i32 %t28, 0 %t30 = zext i1 %t29 to i32 store i32 %t30, ptr %t8 br label %scend3 scend3: %t31 = load i32, ptr %t8 %t32 = icmp ne i32 %t31, 0 br i1 %t32, label %then4, label %ifend6 then4: br label %ret ifend6: store i32 0, ptr %t33 br label %wcond7 wcond7: %t35 = load i32, ptr %t33 %t36 = load ptr, ptr %t0 %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 %t44 = zext i1 %t43 to i32 store i32 %t44, ptr %t34 br i1 %t43, label %sc10, label %scend11 sc10: %t45 = load ptr, ptr %t0 %t46 = getelementptr inbounds %Cmp_Node, ptr %t45, i32 0, i32 7 %t47 = load ptr, ptr %t46 %t48 = load i32, ptr %t33 %t49 = getelementptr inbounds %LSlice, ptr %t47, i32 0, i32 0 %t50 = load ptr, ptr %t49 %t51 = getelementptr inbounds %LSlice, ptr %t47, i32 0, i32 1 %t52 = load i32, ptr %t51 %t53 = icmp ult i32 %t48, %t52 br i1 %t53, label %ixok12, label %ixbad13 ixbad13: store i32 3702, ptr @lp_site %t54 = call ptr @lp_win_stdio(i32 2) store i32 0, ptr @lp_site call i32 (ptr, ptr, ...) @fprintf(ptr %t54, ptr @.fmt_bounds, ptr @.str4352, i32 %t48, i32 %t52) call void @exit(i32 1) unreachable ixok12: %t55 = getelementptr inbounds ptr, ptr %t50, i32 %t48 %t56 = load ptr, ptr %t55 %t57 = call i32 @fn_i18n_is_key(ptr %t56) %t58 = icmp eq i32 %t57, 0 %t59 = zext i1 %t58 to i32 %t60 = icmp ne i32 %t59, 0 %t61 = zext i1 %t60 to i32 store i32 %t61, ptr %t34 br label %scend11 scend11: %t62 = load i32, ptr %t34 %t63 = icmp ne i32 %t62, 0 br i1 %t63, label %wbody8, label %wend9 wbody8: %t64 = load i32, ptr %t33 %t65 = add i32 %t64, 1 store i32 %t65, ptr %t33 br label %wcond7 wend9: %t66 = load i32, ptr %t33 %t67 = load ptr, ptr %t0 %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 1 %t71 = load i32, ptr %t70 %t72 = icmp sge i32 %t66, %t71 %t73 = zext i1 %t72 to i32 %t74 = icmp ne i32 %t73, 0 br i1 %t74, label %then14, label %ifend16 then14: br label %ret ifend16: %t75 = load ptr, ptr %t0 %t76 = getelementptr inbounds %Cmp_Node, ptr %t75, i32 0, i32 7 %t77 = load ptr, ptr %t76 %t78 = load i32, ptr %t33 %t79 = getelementptr inbounds %LSlice, ptr %t77, i32 0, i32 0 %t80 = load ptr, ptr %t79 %t81 = getelementptr inbounds %LSlice, ptr %t77, i32 0, i32 1 %t82 = load i32, ptr %t81 %t83 = icmp ult i32 %t78, %t82 br i1 %t83, label %ixok17, label %ixbad18 ixbad18: store i32 3703, ptr @lp_site %t84 = call ptr @lp_win_stdio(i32 2) store i32 0, ptr @lp_site call i32 (ptr, ptr, ...) @fprintf(ptr %t84, ptr @.fmt_bounds, ptr @.str4354, i32 %t78, i32 %t82) call void @exit(i32 1) unreachable ixok17: %t85 = getelementptr inbounds ptr, ptr %t80, i32 %t78 %t86 = load ptr, ptr %t85 store ptr %t86, ptr %t87 %t88 = load ptr, ptr %t87 %t89 = call ptr @fn_i18n_key_text(ptr %t88) store ptr %t89, ptr %t90 %t91 = load ptr, ptr %t87 %t92 = getelementptr inbounds %Cmp_Node, ptr %t91, i32 0, i32 2 %t93 = load i32, ptr %t92 %t94 = icmp eq i32 %t93, 2 %t95 = zext i1 %t94 to i32 store i32 %t95, ptr %t96 %t98 = load ptr, ptr %t7 %t99 = call i32 @lp_str_eq(ptr %t98, ptr @.str4355) %t100 = icmp ne i32 %t99, 0 %t101 = zext i1 %t100 to i32 store i32 %t101, ptr %t97 br i1 %t100, label %sc19, label %scend20 sc19: %t102 = load i32, ptr %t96 %t103 = icmp eq i32 %t102, 0 %t104 = zext i1 %t103 to i32 %t105 = icmp ne i32 %t104, 0 %t106 = zext i1 %t105 to i32 store i32 %t106, ptr %t97 br label %scend20 scend20: %t107 = load i32, ptr %t97 %t108 = icmp ne i32 %t107, 0 br i1 %t108, label %then21, label %ifend23 then21: %t109 = load ptr, ptr %t87 %t110 = getelementptr inbounds %Cmp_Node, ptr %t109, i32 0, i32 9 %t111 = load ptr, ptr %t110 %t112 = load ptr, ptr %t87 %t113 = getelementptr inbounds %Cmp_Node, ptr %t112, i32 0, i32 8 %t114 = load i32, ptr %t113 %t115 = load ptr, ptr %t87 %t116 = call i32 @fn_i18n_col(ptr %t115) %t117 = load ptr, ptr %t90 store i32 3704, ptr @lp_site %t118 = call ptr @lp_str_concat(ptr @.str4356, ptr %t117) store i32 0, ptr @lp_site store i32 3705, ptr @lp_site %t119 = call ptr @lp_str_concat(ptr %t118, ptr @.str4357) store i32 0, ptr @lp_site call void @lp_free(ptr %t118) %t120 = load ptr, ptr %t90 store i32 3706, ptr @lp_site %t121 = call ptr @lp_str_concat(ptr %t119, ptr %t120) store i32 0, ptr @lp_site call void @lp_free(ptr %t119) store i32 3707, ptr @lp_site %t122 = call ptr @lp_str_concat(ptr %t121, ptr @.str4358) store i32 0, ptr @lp_site call void @lp_free(ptr %t121) call void @fn_perr_at(ptr %t111, i32 %t114, i32 %t116, ptr %t122) br label %ifend23 ifend23: %t124 = load i32, ptr %t96 %t125 = icmp ne i32 %t124, 0 %t126 = zext i1 %t125 to i32 store i32 %t126, ptr %t123 br i1 %t125, label %sc24, label %scend25 sc24: %t127 = load ptr, ptr %t7 %t128 = call i32 @lp_str_eq(ptr %t127, ptr @.str4359) %t129 = icmp eq i32 %t128, 0 %t130 = zext i1 %t129 to i32 %t131 = icmp ne i32 %t130, 0 %t132 = zext i1 %t131 to i32 store i32 %t132, ptr %t123 br label %scend25 scend25: %t133 = load i32, ptr %t123 %t134 = icmp ne i32 %t133, 0 br i1 %t134, label %then26, label %ifend28 then26: %t135 = load ptr, ptr %t87 %t136 = getelementptr inbounds %Cmp_Node, ptr %t135, i32 0, i32 9 %t137 = load ptr, ptr %t136 %t138 = load ptr, ptr %t87 %t139 = getelementptr inbounds %Cmp_Node, ptr %t138, i32 0, i32 8 %t140 = load i32, ptr %t139 %t141 = load ptr, ptr %t87 %t142 = call i32 @fn_i18n_col(ptr %t141) %t143 = load ptr, ptr %t7 store i32 3708, ptr @lp_site %t144 = call ptr @lp_str_concat(ptr %t143, ptr @.str4360) store i32 0, ptr @lp_site %t145 = load ptr, ptr %t90 store i32 3709, ptr @lp_site %t146 = call ptr @lp_str_concat(ptr %t144, ptr %t145) store i32 0, ptr @lp_site call void @lp_free(ptr %t144) store i32 3710, ptr @lp_site %t147 = call ptr @lp_str_concat(ptr %t146, ptr @.str4361) store i32 0, ptr @lp_site call void @lp_free(ptr %t146) %t148 = load ptr, ptr %t90 store i32 3711, ptr @lp_site %t149 = call ptr @lp_str_concat(ptr %t147, ptr %t148) store i32 0, ptr @lp_site call void @lp_free(ptr %t147) store i32 3712, ptr @lp_site %t150 = call ptr @lp_str_concat(ptr %t149, ptr @.str4362) store i32 0, ptr @lp_site call void @lp_free(ptr %t149) call void @fn_perr_at(ptr %t137, i32 %t140, i32 %t142, ptr %t150) br label %ifend28 ifend28: %t152 = load ptr, ptr %t7 %t153 = call i32 @lp_str_eq(ptr %t152, ptr @.str4363) %t154 = icmp ne i32 %t153, 0 %t155 = zext i1 %t154 to i32 store i32 %t155, ptr %t151 br i1 %t154, label %scend30, label %sc29 sc29: %t156 = load ptr, ptr @g_g_i18n_en %t157 = icmp eq ptr %t156, null %t158 = zext i1 %t157 to i32 %t159 = icmp ne i32 %t158, 0 %t160 = zext i1 %t159 to i32 store i32 %t160, ptr %t151 br label %scend30 scend30: %t161 = load i32, ptr %t151 %t162 = icmp ne i32 %t161, 0 br i1 %t162, label %then31, label %ifend33 then31: br label %ret ifend33: %t163 = load ptr, ptr %t90 %t164 = load ptr, ptr %t0 %t165 = getelementptr inbounds %Cmp_Node, ptr %t164, i32 0, i32 7 %t166 = load ptr, ptr %t165 %t167 = getelementptr inbounds %LSlice, ptr %t166, i32 0, i32 1 %t168 = load i32, ptr %t167 %t169 = load i32, ptr %t33 %t170 = sub i32 %t168, %t169 %t171 = sub i32 %t170, 1 %t172 = load ptr, ptr %t7 %t173 = load ptr, ptr %t87 %t174 = getelementptr inbounds %Cmp_Node, ptr %t173, i32 0, i32 9 %t175 = load ptr, ptr %t174 %t176 = load ptr, ptr %t87 %t177 = getelementptr inbounds %Cmp_Node, ptr %t176, i32 0, i32 8 %t178 = load i32, ptr %t177 %t179 = load ptr, ptr %t87 %t180 = call i32 @fn_i18n_col(ptr %t179) call void @fn_i18n_holes(ptr %t163, i32 %t171, ptr %t172, ptr %t175, i32 %t178, i32 %t180) br label %ret ret: ret void } define i32 @fn_i18n_col(ptr %arg_n) { entry: %retval = alloca i32 %t0 = alloca ptr %t1 = alloca i32 %t26 = alloca ptr %t27 = alloca i32 %t51 = alloca i32 %t52 = alloca i32 store ptr %arg_n, ptr %t0 %t2 = load ptr, ptr %t0 %t3 = getelementptr inbounds %Cmp_Node, ptr %t2, i32 0, i32 13 %t4 = load i32, ptr %t3 %t5 = icmp slt i32 %t4, 0 %t6 = zext i1 %t5 to i32 %t7 = icmp ne i32 %t6, 0 %t8 = zext i1 %t7 to i32 store i32 %t8, ptr %t1 br i1 %t7, label %scend1, label %sc0 sc0: %t9 = load ptr, ptr %t0 %t10 = getelementptr inbounds %Cmp_Node, ptr %t9, i32 0, i32 9 %t11 = load ptr, ptr %t10 %t12 = icmp eq 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 %t1 br label %scend1 scend1: %t16 = load i32, ptr %t1 %t17 = icmp ne i32 %t16, 0 br i1 %t17, label %then2, label %ifend4 then2: %t18 = load ptr, ptr %t0 %t19 = getelementptr inbounds %Cmp_Node, ptr %t18, i32 0, i32 18 %t20 = load i32, ptr %t19 store i32 %t20, ptr %retval br label %ret ifend4: %t21 = load ptr, ptr @g_g_fm_src %t22 = load ptr, ptr %t0 %t23 = getelementptr inbounds %Cmp_Node, ptr %t22, i32 0, i32 9 %t24 = load ptr, ptr %t23 %t25 = call ptr @fn_fm_get(ptr %t21, ptr %t24) store ptr %t25, ptr %t26 %t28 = load ptr, ptr %t26 %t29 = icmp eq ptr %t28, null %t30 = zext i1 %t29 to i32 %t31 = icmp ne i32 %t30, 0 %t32 = zext i1 %t31 to i32 store i32 %t32, ptr %t27 br i1 %t31, label %scend6, label %sc5 sc5: %t33 = load ptr, ptr %t26 %t34 = call i64 @strlen(ptr %t33) %t35 = trunc i64 %t34 to i32 %t36 = load ptr, ptr %t0 %t37 = getelementptr inbounds %Cmp_Node, ptr %t36, i32 0, i32 13 %t38 = load i32, ptr %t37 %t39 = icmp sle i32 %t35, %t38 %t40 = zext i1 %t39 to i32 %t41 = icmp ne i32 %t40, 0 %t42 = zext i1 %t41 to i32 store i32 %t42, ptr %t27 br label %scend6 scend6: %t43 = load i32, ptr %t27 %t44 = icmp ne i32 %t43, 0 br i1 %t44, label %then7, label %ifend9 then7: %t45 = load ptr, ptr %t0 %t46 = getelementptr inbounds %Cmp_Node, ptr %t45, i32 0, i32 18 %t47 = load i32, ptr %t46 store i32 %t47, ptr %retval br label %ret ifend9: %t48 = load ptr, ptr %t0 %t49 = getelementptr inbounds %Cmp_Node, ptr %t48, i32 0, i32 13 %t50 = load i32, ptr %t49 store i32 %t50, ptr %t51 br label %wcond10 wcond10: %t53 = load i32, ptr %t51 %t54 = icmp sgt i32 %t53, 0 %t55 = zext i1 %t54 to i32 %t56 = icmp ne i32 %t55, 0 %t57 = zext i1 %t56 to i32 store i32 %t57, ptr %t52 br i1 %t56, label %sc13, label %scend14 sc13: %t58 = load ptr, ptr %t26 %t59 = load i32, ptr %t51 %t60 = sub i32 %t59, 1 %t61 = getelementptr inbounds i8, ptr %t58, i32 %t60 %t62 = load i8, ptr %t61 %t63 = zext i8 %t62 to i32 %t64 = icmp ne i32 %t63, 10 %t65 = zext i1 %t64 to i32 %t66 = icmp ne i32 %t65, 0 %t67 = zext i1 %t66 to i32 store i32 %t67, ptr %t52 br label %scend14 scend14: %t68 = load i32, ptr %t52 %t69 = icmp ne i32 %t68, 0 br i1 %t69, label %wbody11, label %wend12 wbody11: %t70 = load i32, ptr %t51 %t71 = sub i32 %t70, 1 store i32 %t71, ptr %t51 br label %wcond10 wend12: %t72 = load ptr, ptr %t0 %t73 = getelementptr inbounds %Cmp_Node, ptr %t72, i32 0, i32 13 %t74 = load i32, ptr %t73 %t75 = load i32, ptr %t51 %t76 = sub i32 %t74, %t75 %t77 = add i32 %t76, 1 store i32 %t77, ptr %retval br label %ret ret: %t78 = load i32, ptr %retval ret i32 %t78 } define void @fn_i18n_walk_data() { entry: %t0 = alloca i32 %t19 = alloca i32 %t20 = alloca i32 %t45 = alloca ptr store i32 0, ptr %t0 br label %wcond0 wcond0: %t1 = load i32, ptr %t0 %t2 = load ptr, ptr @g_g_df_reg %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_df_reg %t9 = load i32, ptr %t0 %t10 = getelementptr inbounds %LSlice, ptr %t8, i32 0, i32 0 %t11 = load ptr, ptr %t10 %t12 = getelementptr inbounds %LSlice, ptr %t8, i32 0, i32 1 %t13 = load i32, ptr %t12 %t14 = icmp ult i32 %t9, %t13 br i1 %t14, label %ixok3, label %ixbad4 ixbad4: store i32 3713, ptr @lp_site %t15 = call ptr @lp_win_stdio(i32 2) store i32 0, ptr @lp_site call i32 (ptr, ptr, ...) @fprintf(ptr %t15, ptr @.fmt_bounds, ptr @.str4364, i32 %t9, i32 %t13) call void @exit(i32 1) unreachable ixok3: %t16 = getelementptr inbounds ptr, ptr %t11, i32 %t9 %t17 = load ptr, ptr %t16 %t18 = call i32 @fn_reg_find(ptr %t17) store i32 %t18, ptr %t19 %t21 = load i32, ptr %t19 %t22 = icmp sge i32 %t21, 0 %t23 = zext i1 %t22 to i32 %t24 = icmp ne i32 %t23, 0 %t25 = zext i1 %t24 to i32 store i32 %t25, ptr %t20 br i1 %t24, label %sc5, label %scend6 sc5: %t26 = load i32, ptr %t19 %t27 = call i32 @fn_pm_is(i32 %t26) %t28 = icmp eq i32 %t27, 0 %t29 = zext i1 %t28 to i32 %t30 = icmp ne i32 %t29, 0 %t31 = zext i1 %t30 to i32 store i32 %t31, ptr %t20 br label %scend6 scend6: %t32 = load i32, ptr %t20 %t33 = icmp ne i32 %t32, 0 br i1 %t33, label %then7, label %ifend9 then7: %t34 = load ptr, ptr @g_g_rg_type %t35 = load i32, ptr %t19 %t36 = getelementptr inbounds %LSlice, ptr %t34, i32 0, i32 0 %t37 = load ptr, ptr %t36 %t38 = getelementptr inbounds %LSlice, ptr %t34, i32 0, i32 1 %t39 = load i32, ptr %t38 %t40 = icmp ult i32 %t35, %t39 br i1 %t40, label %ixok10, label %ixbad11 ixbad11: store i32 3714, ptr @lp_site %t41 = call ptr @lp_win_stdio(i32 2) store i32 0, ptr @lp_site call i32 (ptr, ptr, ...) @fprintf(ptr %t41, ptr @.fmt_bounds, ptr @.str4366, i32 %t35, i32 %t39) call void @exit(i32 1) unreachable ixok10: %t42 = getelementptr inbounds ptr, ptr %t37, i32 %t35 %t43 = load ptr, ptr %t42 %t44 = call ptr @fn_find_comp(ptr %t43) store ptr %t44, ptr %t45 %t46 = load ptr, 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 @g_g_df_rec %t51 = load i32, ptr %t0 %t52 = getelementptr inbounds %LSlice, ptr %t50, i32 0, i32 0 %t53 = load ptr, ptr %t52 %t54 = getelementptr inbounds %LSlice, ptr %t50, i32 0, i32 1 %t55 = load i32, ptr %t54 %t56 = icmp ult i32 %t51, %t55 br i1 %t56, label %ixok15, label %ixbad16 ixbad16: store i32 3715, ptr @lp_site %t57 = call ptr @lp_win_stdio(i32 2) store i32 0, ptr @lp_site call i32 (ptr, ptr, ...) @fprintf(ptr %t57, ptr @.fmt_bounds, ptr @.str4367, i32 %t51, i32 %t55) call void @exit(i32 1) unreachable ixok15: %t58 = getelementptr inbounds ptr, ptr %t53, i32 %t51 %t59 = load ptr, ptr %t58 %t60 = load ptr, ptr %t45 %t61 = load i32, ptr %t19 %t62 = call ptr @fn_i18n_prefix(i32 %t61) store i32 3716, ptr @lp_site %t63 = call ptr @lp_str_concat(ptr %t62, ptr @.str4368) store i32 0, ptr @lp_site %t64 = load ptr, ptr @g_g_df_key %t65 = load i32, ptr %t0 %t66 = getelementptr inbounds %LSlice, ptr %t64, i32 0, i32 0 %t67 = load ptr, ptr %t66 %t68 = getelementptr inbounds %LSlice, ptr %t64, i32 0, i32 1 %t69 = load i32, ptr %t68 %t70 = icmp ult i32 %t65, %t69 br i1 %t70, label %ixok17, label %ixbad18 ixbad18: store i32 3717, ptr @lp_site %t71 = call ptr @lp_win_stdio(i32 2) store i32 0, ptr @lp_site call i32 (ptr, ptr, ...) @fprintf(ptr %t71, ptr @.fmt_bounds, ptr @.str4369, i32 %t65, i32 %t69) call void @exit(i32 1) unreachable ixok17: %t72 = getelementptr inbounds ptr, ptr %t67, i32 %t65 %t73 = load ptr, ptr %t72 store i32 3718, ptr @lp_site %t74 = call ptr @lp_str_concat(ptr %t63, ptr %t73) store i32 0, ptr @lp_site call void @lp_free(ptr %t63) call void @fn_i18n_data_rec(ptr %t59, ptr %t60, ptr %t74) br label %ifend14 ifend14: br label %ifend9 ifend9: %t75 = load i32, ptr %t0 %t76 = add i32 %t75, 1 store i32 %t76, ptr %t0 br label %wcond0 wend2: br label %ret ret: ret void } define void @fn_i18n_permap_rows(ptr %arg_md) { entry: %t0 = alloca ptr %t6 = alloca ptr %t10 = alloca i32 %t11 = alloca i32 %t34 = alloca i32 %t35 = alloca i32 %t60 = alloca ptr %t61 = alloca i32 %t79 = alloca i32 %t91 = alloca ptr store ptr %arg_md, ptr %t0 %t1 = load i32, ptr @g_g_i18n_on %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 ptr, ptr %t0 store ptr %t5, ptr %t6 %t7 = load ptr, ptr %t6 %t8 = call i64 @strlen(ptr %t7) %t9 = trunc i64 %t8 to i32 store i32 %t9, ptr %t10 br label %wcond3 wcond3: %t12 = load i32, ptr %t10 %t13 = icmp sgt i32 %t12, 0 %t14 = zext i1 %t13 to i32 %t15 = icmp ne i32 %t14, 0 %t16 = zext i1 %t15 to i32 store i32 %t16, ptr %t11 br i1 %t15, label %sc6, label %scend7 sc6: %t17 = load ptr, ptr %t6 %t18 = load i32, ptr %t10 %t19 = sub i32 %t18, 1 %t20 = getelementptr inbounds i8, ptr %t17, i32 %t19 %t21 = load i8, ptr %t20 %t22 = zext i8 %t21 to i32 %t23 = call i32 @fn_is_sep(i32 %t22) %t24 = icmp ne i32 %t23, 0 %t25 = zext i1 %t24 to i32 store i32 %t25, ptr %t11 br label %scend7 scend7: %t26 = load i32, ptr %t11 %t27 = icmp ne i32 %t26, 0 br i1 %t27, label %wbody4, label %wend5 wbody4: %t28 = load i32, ptr %t10 %t29 = sub i32 %t28, 1 store i32 %t29, ptr %t10 br label %wcond3 wend5: %t30 = load ptr, ptr %t6 %t31 = load i32, ptr %t10 store i32 3719, ptr @lp_site %t32 = call ptr @lp_str_slice(ptr %t30, i32 0, i32 %t31) store i32 0, ptr @lp_site store ptr %t32, ptr %t6 %t33 = load i32, ptr %t10 store i32 %t33, ptr %t34 br label %wcond8 wcond8: %t36 = load i32, ptr %t34 %t37 = icmp sgt i32 %t36, 0 %t38 = zext i1 %t37 to i32 %t39 = icmp ne i32 %t38, 0 %t40 = zext i1 %t39 to i32 store i32 %t40, ptr %t35 br i1 %t39, label %sc11, label %scend12 sc11: %t41 = load ptr, ptr %t6 %t42 = load i32, ptr %t34 %t43 = sub i32 %t42, 1 %t44 = getelementptr inbounds i8, ptr %t41, i32 %t43 %t45 = load i8, ptr %t44 %t46 = zext i8 %t45 to i32 %t47 = call i32 @fn_is_sep(i32 %t46) %t48 = icmp eq i32 %t47, 0 %t49 = zext i1 %t48 to i32 %t50 = icmp ne i32 %t49, 0 %t51 = zext i1 %t50 to i32 store i32 %t51, ptr %t35 br label %scend12 scend12: %t52 = load i32, ptr %t35 %t53 = icmp ne i32 %t52, 0 br i1 %t53, label %wbody9, label %wend10 wbody9: %t54 = load i32, ptr %t34 %t55 = sub i32 %t54, 1 store i32 %t55, ptr %t34 br label %wcond8 wend10: %t56 = load ptr, ptr %t6 %t57 = load i32, ptr %t34 %t58 = load i32, ptr %t10 store i32 3720, ptr @lp_site %t59 = call ptr @lp_str_slice(ptr %t56, i32 %t57, i32 %t58) store i32 0, ptr @lp_site store ptr %t59, ptr %t60 store i32 0, ptr %t61 br label %wcond13 wcond13: %t62 = load i32, ptr %t61 %t63 = load ptr, ptr @g_g_pmk_rec %t64 = getelementptr inbounds %LSlice, ptr %t63, i32 0, i32 1 %t65 = load i32, ptr %t64 %t66 = icmp slt i32 %t62, %t65 %t67 = zext i1 %t66 to i32 %t68 = icmp ne i32 %t67, 0 br i1 %t68, label %wbody14, label %wend15 wbody14: %t69 = load ptr, ptr @g_g_pmk_reg %t70 = load i32, ptr %t61 %t71 = getelementptr inbounds %LSlice, ptr %t69, i32 0, i32 0 %t72 = load ptr, ptr %t71 %t73 = getelementptr inbounds %LSlice, ptr %t69, i32 0, i32 1 %t74 = load i32, ptr %t73 %t75 = icmp ult i32 %t70, %t74 br i1 %t75, label %ixok16, label %ixbad17 ixbad17: store i32 3721, ptr @lp_site %t76 = call ptr @lp_win_stdio(i32 2) store i32 0, ptr @lp_site call i32 (ptr, ptr, ...) @fprintf(ptr %t76, ptr @.fmt_bounds, ptr @.str4371, i32 %t70, i32 %t74) call void @exit(i32 1) unreachable ixok16: %t77 = getelementptr inbounds i32, ptr %t72, i32 %t70 %t78 = load i32, ptr %t77 store i32 %t78, ptr %t79 %t80 = load ptr, ptr @g_g_rg_type %t81 = load i32, ptr %t79 %t82 = getelementptr inbounds %LSlice, ptr %t80, i32 0, i32 0 %t83 = load ptr, ptr %t82 %t84 = getelementptr inbounds %LSlice, ptr %t80, i32 0, i32 1 %t85 = load i32, ptr %t84 %t86 = icmp ult i32 %t81, %t85 br i1 %t86, label %ixok18, label %ixbad19 ixbad19: store i32 3722, ptr @lp_site %t87 = call ptr @lp_win_stdio(i32 2) store i32 0, ptr @lp_site call i32 (ptr, ptr, ...) @fprintf(ptr %t87, ptr @.fmt_bounds, ptr @.str4372, i32 %t81, i32 %t85) call void @exit(i32 1) unreachable ixok18: %t88 = getelementptr inbounds ptr, ptr %t83, i32 %t81 %t89 = load ptr, ptr %t88 %t90 = call ptr @fn_find_comp(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 @g_g_pmk_rec %t97 = load i32, ptr %t61 %t98 = getelementptr inbounds %LSlice, ptr %t96, i32 0, i32 0 %t99 = load ptr, ptr %t98 %t100 = getelementptr inbounds %LSlice, ptr %t96, i32 0, i32 1 %t101 = load i32, ptr %t100 %t102 = icmp ult i32 %t97, %t101 br i1 %t102, label %ixok23, label %ixbad24 ixbad24: store i32 3723, ptr @lp_site %t103 = call ptr @lp_win_stdio(i32 2) store i32 0, ptr @lp_site call i32 (ptr, ptr, ...) @fprintf(ptr %t103, ptr @.fmt_bounds, ptr @.str4373, i32 %t97, i32 %t101) call void @exit(i32 1) unreachable ixok23: %t104 = getelementptr inbounds ptr, ptr %t99, i32 %t97 %t105 = load ptr, ptr %t104 %t106 = load ptr, ptr %t91 %t107 = load ptr, ptr %t60 store i32 3724, ptr @lp_site %t108 = call ptr @lp_str_concat(ptr @.str4374, ptr %t107) store i32 0, ptr @lp_site store i32 3725, ptr @lp_site %t109 = call ptr @lp_str_concat(ptr %t108, ptr @.str4375) store i32 0, ptr @lp_site call void @lp_free(ptr %t108) %t110 = load i32, ptr %t79 %t111 = call ptr @fn_i18n_prefix(i32 %t110) store i32 3726, ptr @lp_site %t112 = call ptr @lp_str_concat(ptr %t109, ptr %t111) store i32 0, ptr @lp_site call void @lp_free(ptr %t109) store i32 3727, ptr @lp_site %t113 = call ptr @lp_str_concat(ptr %t112, ptr @.str4376) store i32 0, ptr @lp_site call void @lp_free(ptr %t112) %t114 = load ptr, ptr @g_g_pmk_key %t115 = load i32, ptr %t61 %t116 = getelementptr inbounds %LSlice, ptr %t114, i32 0, i32 0 %t117 = load ptr, ptr %t116 %t118 = getelementptr inbounds %LSlice, ptr %t114, i32 0, i32 1 %t119 = load i32, ptr %t118 %t120 = icmp ult i32 %t115, %t119 br i1 %t120, label %ixok25, label %ixbad26 ixbad26: store i32 3728, ptr @lp_site %t121 = call ptr @lp_win_stdio(i32 2) store i32 0, ptr @lp_site call i32 (ptr, ptr, ...) @fprintf(ptr %t121, ptr @.fmt_bounds, ptr @.str4377, i32 %t115, i32 %t119) call void @exit(i32 1) unreachable ixok25: %t122 = getelementptr inbounds ptr, ptr %t117, i32 %t115 %t123 = load ptr, ptr %t122 store i32 3729, ptr @lp_site %t124 = call ptr @lp_str_concat(ptr %t113, ptr %t123) store i32 0, ptr @lp_site call void @lp_free(ptr %t113) call void @fn_i18n_data_rec(ptr %t105, ptr %t106, ptr %t124) br label %ifend22 ifend22: %t125 = load i32, ptr %t61 %t126 = add i32 %t125, 1 store i32 %t126, ptr %t61 br label %wcond13 wend15: br label %ret ret: ret void } define ptr @fn_i18n_field_init(ptr %arg_rec, ptr %arg_name) { entry: %retval = alloca ptr %t0 = alloca ptr %t1 = alloca ptr %t2 = alloca i32 %t24 = alloca ptr %t25 = alloca i32 store ptr %arg_rec, ptr %t0 store ptr %arg_name, 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 = load i32, ptr %t2 %t16 = getelementptr inbounds %LSlice, ptr %t14, i32 0, i32 0 %t17 = load ptr, ptr %t16 %t18 = getelementptr inbounds %LSlice, ptr %t14, i32 0, i32 1 %t19 = load i32, ptr %t18 %t20 = icmp ult i32 %t15, %t19 br i1 %t20, label %ixok3, label %ixbad4 ixbad4: store i32 3730, ptr @lp_site %t21 = call ptr @lp_win_stdio(i32 2) store i32 0, ptr @lp_site call i32 (ptr, ptr, ...) @fprintf(ptr %t21, ptr @.fmt_bounds, ptr @.str4378, i32 %t15, i32 %t19) call void @exit(i32 1) unreachable ixok3: %t22 = getelementptr inbounds ptr, ptr %t17, i32 %t15 %t23 = load ptr, ptr %t22 store ptr %t23, ptr %t24 %t26 = load ptr, ptr %t24 %t27 = getelementptr inbounds %Cmp_Node, ptr %t26, i32 0, i32 0 %t28 = load i32, ptr %t27 %t29 = icmp eq i32 %t28, 42 %t30 = zext i1 %t29 to i32 %t31 = icmp ne i32 %t30, 0 %t32 = zext i1 %t31 to i32 store i32 %t32, ptr %t25 br i1 %t31, label %sc5, label %scend6 sc5: %t33 = load ptr, ptr %t24 %t34 = getelementptr inbounds %Cmp_Node, ptr %t33, i32 0, i32 1 %t35 = load ptr, ptr %t34 %t36 = load ptr, ptr %t1 %t37 = call i32 @lp_str_eq(ptr %t35, ptr %t36) %t38 = icmp ne i32 %t37, 0 %t39 = zext i1 %t38 to i32 store i32 %t39, ptr %t25 br label %scend6 scend6: %t40 = load i32, ptr %t25 %t41 = icmp ne i32 %t40, 0 br i1 %t41, label %then7, label %ifend9 then7: %t42 = load ptr, ptr %t24 store ptr %t42, ptr %retval br label %ret ifend9: %t43 = load i32, ptr %t2 %t44 = add i32 %t43, 1 store i32 %t44, ptr %t2 br label %wcond0 wend2: store ptr null, ptr %retval br label %ret ret: %t45 = load ptr, ptr %retval ret ptr %t45 } define void @fn_i18n_data_rec(ptr %arg_rec, ptr %arg_comp, ptr %arg_base) { entry: %t0 = alloca ptr %t1 = alloca ptr %t2 = alloca ptr %t3 = alloca i32 %t16 = alloca i32 %t38 = alloca ptr %t50 = alloca ptr %t57 = alloca ptr %t60 = alloca i32 %t73 = alloca i32 store ptr %arg_rec, ptr %t0 store ptr %arg_comp, ptr %t1 store ptr %arg_base, ptr %t2 %t4 = load ptr, ptr %t0 %t5 = icmp eq ptr %t4, null %t6 = zext i1 %t5 to i32 %t7 = icmp ne i32 %t6, 0 %t8 = zext i1 %t7 to i32 store i32 %t8, ptr %t3 br i1 %t7, label %scend1, label %sc0 sc0: %t9 = load ptr, ptr %t1 %t10 = icmp eq ptr %t9, null %t11 = zext i1 %t10 to i32 %t12 = icmp ne i32 %t11, 0 %t13 = zext i1 %t12 to i32 store i32 %t13, ptr %t3 br label %scend1 scend1: %t14 = load i32, ptr %t3 %t15 = icmp ne i32 %t14, 0 br i1 %t15, label %then2, label %ifend4 then2: br label %ret ifend4: store i32 0, ptr %t16 br label %wcond5 wcond5: %t17 = load i32, ptr %t16 %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 1 %t22 = load i32, ptr %t21 %t23 = icmp slt i32 %t17, %t22 %t24 = zext i1 %t23 to i32 %t25 = icmp ne i32 %t24, 0 br i1 %t25, label %wbody6, label %wend7 wbody6: %t26 = load ptr, ptr %t1 %t27 = getelementptr inbounds %Cmp_Node, ptr %t26, i32 0, i32 7 %t28 = load ptr, ptr %t27 %t29 = load i32, ptr %t16 %t30 = getelementptr inbounds %LSlice, ptr %t28, i32 0, i32 0 %t31 = load ptr, ptr %t30 %t32 = getelementptr inbounds %LSlice, ptr %t28, i32 0, i32 1 %t33 = load i32, ptr %t32 %t34 = icmp ult i32 %t29, %t33 br i1 %t34, label %ixok8, label %ixbad9 ixbad9: store i32 3731, ptr @lp_site %t35 = call ptr @lp_win_stdio(i32 2) store i32 0, ptr @lp_site call i32 (ptr, ptr, ...) @fprintf(ptr %t35, ptr @.fmt_bounds, ptr @.str4380, i32 %t29, i32 %t33) call void @exit(i32 1) unreachable ixok8: %t36 = getelementptr inbounds ptr, ptr %t31, i32 %t29 %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, 1 %t43 = zext i1 %t42 to i32 %t44 = icmp ne i32 %t43, 0 br i1 %t44, label %then10, label %ifend12 then10: %t45 = load ptr, ptr %t0 %t46 = load ptr, ptr %t38 %t47 = getelementptr inbounds %Cmp_Node, ptr %t46, i32 0, i32 1 %t48 = load ptr, ptr %t47 %t49 = call ptr @fn_i18n_field_init(ptr %t45, ptr %t48) store ptr %t49, ptr %t50 %t51 = load ptr, ptr %t2 store i32 3732, ptr @lp_site %t52 = call ptr @lp_str_concat(ptr %t51, ptr @.str4382) store i32 0, ptr @lp_site %t53 = load ptr, ptr %t38 %t54 = getelementptr inbounds %Cmp_Node, ptr %t53, i32 0, i32 1 %t55 = load ptr, ptr %t54 store i32 3733, ptr @lp_site %t56 = call ptr @lp_str_concat(ptr %t52, ptr %t55) store i32 0, ptr @lp_site call void @lp_free(ptr %t52) store ptr %t56, ptr %t57 %t58 = load ptr, ptr %t38 %t59 = call i32 @fn_i18n_has_text(ptr %t58) store i32 %t59, ptr %t60 %t61 = load ptr, ptr %t50 %t62 = icmp ne ptr %t61, null %t63 = zext i1 %t62 to i32 %t64 = icmp ne i32 %t63, 0 br i1 %t64, label %then13, label %else14 then13: %t65 = load ptr, ptr %t50 %t66 = getelementptr inbounds %Cmp_Node, ptr %t65, i32 0, i32 4 %t67 = load ptr, ptr %t66 %t68 = load ptr, ptr %t38 %t69 = getelementptr inbounds %Cmp_Node, ptr %t68, i32 0, i32 3 %t70 = load ptr, ptr %t69 %t71 = load ptr, ptr %t57 %t72 = load i32, ptr %t60 call void @fn_i18n_data_val(ptr %t67, ptr %t70, ptr %t71, i32 %t72) br label %ifend15 else14: %t74 = load i32, ptr %t60 %t75 = icmp ne i32 %t74, 0 %t76 = zext i1 %t75 to i32 store i32 %t76, ptr %t73 br i1 %t75, label %sc16, label %scend17 sc16: %t77 = load ptr, ptr %t38 %t78 = getelementptr inbounds %Cmp_Node, ptr %t77, i32 0, i32 3 %t79 = load ptr, ptr %t78 %t80 = call i32 @fn_i18n_is_key_ty(ptr %t79) %t81 = icmp ne i32 %t80, 0 %t82 = zext i1 %t81 to i32 store i32 %t82, ptr %t73 br label %scend17 scend17: %t83 = load i32, ptr %t73 %t84 = icmp ne i32 %t83, 0 br i1 %t84, label %then18, label %ifend20 then18: %t85 = load ptr, ptr %t57 store i32 3734, ptr @lp_site %t86 = call ptr @lp_str_concat(ptr %t85, ptr @.str4383) store i32 0, ptr @lp_site store ptr %t86, ptr @g_g_i18n_what %t87 = load ptr, ptr %t57 %t88 = load ptr, ptr %t0 %t89 = getelementptr inbounds %Cmp_Node, ptr %t88, i32 0, i32 9 %t90 = load ptr, ptr %t89 %t91 = load ptr, ptr %t0 %t92 = getelementptr inbounds %Cmp_Node, ptr %t91, i32 0, i32 8 %t93 = load i32, ptr %t92 %t94 = load ptr, ptr %t0 %t95 = getelementptr inbounds %Cmp_Node, ptr %t94, i32 0, i32 18 %t96 = load i32, ptr %t95 call void @fn_i18n_use(ptr %t87, i32 0, i32 2, ptr %t90, i32 %t93, i32 %t96) store ptr null, ptr @g_g_i18n_what br label %ifend20 ifend20: br label %ifend15 ifend15: br label %ifend12 ifend12: %t97 = load i32, ptr %t16 %t98 = add i32 %t97, 1 store i32 %t98, ptr %t16 br label %wcond5 wend7: br label %ret ret: ret void } define void @fn_i18n_data_val(ptr %arg_e, ptr %arg_ty, ptr %arg_key, i32 %arg_text) { entry: %t0 = alloca ptr %t1 = alloca ptr %t2 = alloca ptr %t3 = alloca i32 %t11 = alloca i32 %t51 = alloca i32 %t74 = alloca i32 %t100 = alloca ptr %t101 = alloca i32 %t115 = alloca i32 %t146 = alloca i32 %t147 = alloca i32 %t184 = alloca i32 store ptr %arg_e, ptr %t0 store ptr %arg_ty, ptr %t1 store ptr %arg_key, ptr %t2 store i32 %arg_text, ptr %t3 %t4 = load ptr, ptr %t0 %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: br label %ret ifend2: %t8 = load ptr, ptr %t0 %t9 = call i32 @fn_i18n_is_key(ptr %t8) %t10 = icmp ne i32 %t9, 0 br i1 %t10, label %then3, label %ifend5 then3: %t12 = load ptr, ptr %t0 %t13 = getelementptr inbounds %Cmp_Node, ptr %t12, i32 0, i32 3 %t14 = load ptr, ptr %t13 %t15 = icmp ne ptr %t14, null %t16 = zext i1 %t15 to i32 %t17 = icmp ne i32 %t16, 0 %t18 = zext i1 %t17 to i32 store i32 %t18, ptr %t11 br i1 %t17, label %sc6, label %scend7 sc6: %t19 = load ptr, ptr %t0 %t20 = getelementptr inbounds %Cmp_Node, ptr %t19, i32 0, i32 3 %t21 = load ptr, ptr %t20 %t22 = call i32 @lp_str_eq(ptr %t21, ptr @.str4384) %t23 = icmp ne i32 %t22, 0 %t24 = zext i1 %t23 to i32 store i32 %t24, ptr %t11 br label %scend7 scend7: %t25 = load i32, ptr %t11 %t26 = icmp ne i32 %t25, 0 br i1 %t26, label %then8, label %ifend10 then8: %t27 = load ptr, ptr %t2 store i32 3735, ptr @lp_site %t28 = call ptr @lp_str_concat(ptr %t27, ptr @.str4385) store i32 0, ptr @lp_site store ptr %t28, ptr @g_g_i18n_what br label %ifend10 ifend10: %t29 = load ptr, ptr %t0 %t30 = call ptr @fn_i18n_key_text(ptr %t29) %t31 = load ptr, ptr %t0 %t32 = getelementptr inbounds %Cmp_Node, ptr %t31, i32 0, i32 2 %t33 = load i32, ptr %t32 %t34 = icmp eq i32 %t33, 2 %t35 = zext i1 %t34 to i32 %t36 = load ptr, ptr %t0 %t37 = getelementptr inbounds %Cmp_Node, ptr %t36, i32 0, i32 9 %t38 = load ptr, ptr %t37 %t39 = load ptr, ptr %t0 %t40 = getelementptr inbounds %Cmp_Node, ptr %t39, i32 0, i32 8 %t41 = load i32, ptr %t40 %t42 = load ptr, ptr %t0 %t43 = getelementptr inbounds %Cmp_Node, ptr %t42, i32 0, i32 18 %t44 = load i32, ptr %t43 call void @fn_i18n_use(ptr %t30, i32 %t35, i32 2, ptr %t38, i32 %t41, i32 %t44) store ptr null, ptr @g_g_i18n_what br label %ret ifend5: %t45 = load ptr, ptr %t0 %t46 = getelementptr inbounds %Cmp_Node, ptr %t45, i32 0, i32 0 %t47 = load i32, ptr %t46 %t48 = icmp eq i32 %t47, 31 %t49 = zext i1 %t48 to i32 %t50 = icmp ne i32 %t49, 0 br i1 %t50, label %then11, label %ifend13 then11: %t52 = load i32, ptr %t3 %t53 = icmp ne i32 %t52, 0 %t54 = zext i1 %t53 to i32 store i32 %t54, ptr %t51 br i1 %t53, label %sc14, label %scend15 sc14: %t55 = load ptr, ptr %t0 %t56 = getelementptr inbounds %Cmp_Node, ptr %t55, i32 0, i32 1 %t57 = load ptr, ptr %t56 %t58 = call i32 @fn_i18n_wordy(ptr %t57) %t59 = icmp ne i32 %t58, 0 %t60 = zext i1 %t59 to i32 store i32 %t60, ptr %t51 br label %scend15 scend15: %t61 = load i32, ptr %t51 %t62 = icmp ne i32 %t61, 0 br i1 %t62, label %then16, label %ifend18 then16: %t63 = load ptr, ptr %t2 %t64 = load ptr, ptr %t0 %t65 = getelementptr inbounds %Cmp_Node, ptr %t64, i32 0, i32 9 %t66 = load ptr, ptr %t65 %t67 = load ptr, ptr %t0 %t68 = getelementptr inbounds %Cmp_Node, ptr %t67, i32 0, i32 8 %t69 = load i32, ptr %t68 %t70 = load ptr, ptr %t0 %t71 = getelementptr inbounds %Cmp_Node, ptr %t70, i32 0, i32 18 %t72 = load i32, ptr %t71 %t73 = call i32 @fn_i18n_site(ptr %t63, i32 2, ptr %t66, i32 %t69, i32 %t72) store i32 %t73, ptr %t74 %t75 = load ptr, ptr %t0 %t76 = getelementptr inbounds %Cmp_Node, ptr %t75, i32 0, i32 9 %t77 = load ptr, ptr %t76 %t78 = load ptr, ptr %t0 %t79 = getelementptr inbounds %Cmp_Node, ptr %t78, i32 0, i32 8 %t80 = load i32, ptr %t79 %t81 = load ptr, ptr %t0 %t82 = getelementptr inbounds %Cmp_Node, ptr %t81, i32 0, i32 18 %t83 = load i32, ptr %t82 %t84 = load ptr, ptr %t2 store i32 3736, ptr @lp_site %t85 = call ptr @lp_str_concat(ptr %t84, ptr @.str4387) store i32 0, ptr @lp_site %t86 = load ptr, ptr %t0 %t87 = getelementptr inbounds %Cmp_Node, ptr %t86, i32 0, i32 1 %t88 = load ptr, ptr %t87 %t89 = call ptr @fn_i18n_short(ptr %t88) store i32 3737, ptr @lp_site %t90 = call ptr @lp_str_concat(ptr %t85, ptr %t89) store i32 0, ptr @lp_site call void @lp_free(ptr %t85) store i32 3738, ptr @lp_site %t91 = call ptr @lp_str_concat(ptr %t90, ptr @.str4388) store i32 0, ptr @lp_site call void @lp_free(ptr %t90) %t92 = load ptr, ptr %t2 store i32 3739, ptr @lp_site %t93 = call ptr @lp_str_concat(ptr %t91, ptr %t92) store i32 0, ptr @lp_site call void @lp_free(ptr %t91) call void @fn_i18n_english_left(ptr %t77, i32 %t80, i32 %t83, ptr %t93) br label %ifend18 ifend18: br label %ret ifend13: %t94 = load ptr, ptr %t0 %t95 = getelementptr inbounds %Cmp_Node, ptr %t94, i32 0, i32 0 %t96 = load i32, ptr %t95 %t97 = icmp eq i32 %t96, 54 %t98 = zext i1 %t97 to i32 %t99 = icmp ne i32 %t98, 0 br i1 %t99, label %then19, label %ifend21 then19: store ptr null, ptr %t100 %t102 = load ptr, ptr %t1 %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 %sc22, label %scend23 sc22: %t107 = load ptr, ptr %t1 %t108 = call i32 @fn_is_slice_ty(ptr %t107) %t109 = icmp ne i32 %t108, 0 %t110 = zext i1 %t109 to i32 store i32 %t110, ptr %t101 br label %scend23 scend23: %t111 = load i32, ptr %t101 %t112 = icmp ne i32 %t111, 0 br i1 %t112, label %then24, label %ifend26 then24: %t113 = load ptr, ptr %t1 %t114 = call ptr @fn_slice_elem(ptr %t113) store ptr %t114, ptr %t100 br label %ifend26 ifend26: store i32 0, ptr %t115 br label %wcond27 wcond27: %t116 = load i32, ptr %t115 %t117 = load ptr, ptr %t0 %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 1 %t121 = load i32, ptr %t120 %t122 = icmp slt i32 %t116, %t121 %t123 = zext i1 %t122 to i32 %t124 = icmp ne i32 %t123, 0 br i1 %t124, label %wbody28, label %wend29 wbody28: %t125 = load ptr, ptr %t0 %t126 = getelementptr inbounds %Cmp_Node, ptr %t125, i32 0, i32 7 %t127 = load ptr, ptr %t126 %t128 = load i32, ptr %t115 %t129 = getelementptr inbounds %LSlice, ptr %t127, i32 0, i32 0 %t130 = load ptr, ptr %t129 %t131 = getelementptr inbounds %LSlice, ptr %t127, i32 0, i32 1 %t132 = load i32, ptr %t131 %t133 = icmp ult i32 %t128, %t132 br i1 %t133, label %ixok30, label %ixbad31 ixbad31: store i32 3740, ptr @lp_site %t134 = call ptr @lp_win_stdio(i32 2) store i32 0, ptr @lp_site call i32 (ptr, ptr, ...) @fprintf(ptr %t134, ptr @.fmt_bounds, ptr @.str4389, i32 %t128, i32 %t132) call void @exit(i32 1) unreachable ixok30: %t135 = getelementptr inbounds ptr, ptr %t130, i32 %t128 %t136 = load ptr, ptr %t135 %t137 = load ptr, ptr %t100 %t138 = load ptr, ptr %t2 store i32 3741, ptr @lp_site %t139 = call ptr @lp_str_concat(ptr %t138, ptr @.str4390) store i32 0, ptr @lp_site %t140 = load i32, ptr %t115 %t141 = call ptr @fn_itoa(i32 %t140) store i32 3742, ptr @lp_site %t142 = call ptr @lp_str_concat(ptr %t139, ptr %t141) store i32 0, ptr @lp_site call void @lp_free(ptr %t139) %t143 = load i32, ptr %t3 call void @fn_i18n_data_val(ptr %t136, ptr %t137, ptr %t142, i32 %t143) %t144 = load i32, ptr %t115 %t145 = add i32 %t144, 1 store i32 %t145, ptr %t115 br label %wcond27 wend29: br label %ret ifend21: %t148 = load ptr, ptr %t0 %t149 = getelementptr inbounds %Cmp_Node, ptr %t148, i32 0, i32 0 %t150 = load i32, ptr %t149 %t151 = icmp eq i32 %t150, 39 %t152 = zext i1 %t151 to i32 %t153 = icmp ne i32 %t152, 0 %t154 = zext i1 %t153 to i32 store i32 %t154, ptr %t147 br i1 %t153, label %sc32, label %scend33 sc32: %t155 = load ptr, ptr %t0 %t156 = getelementptr inbounds %Cmp_Node, ptr %t155, i32 0, i32 4 %t157 = load ptr, ptr %t156 %t158 = icmp ne ptr %t157, null %t159 = zext i1 %t158 to i32 %t160 = icmp ne i32 %t159, 0 %t161 = zext i1 %t160 to i32 store i32 %t161, ptr %t147 br label %scend33 scend33: %t162 = load i32, ptr %t147 %t163 = icmp ne i32 %t162, 0 %t164 = zext i1 %t163 to i32 store i32 %t164, ptr %t146 br i1 %t163, label %sc34, label %scend35 sc34: %t165 = load ptr, ptr %t0 %t166 = getelementptr inbounds %Cmp_Node, ptr %t165, i32 0, i32 4 %t167 = load ptr, ptr %t166 %t168 = getelementptr inbounds %Cmp_Node, ptr %t167, i32 0, i32 0 %t169 = load i32, ptr %t168 %t170 = icmp eq i32 %t169, 41 %t171 = zext i1 %t170 to i32 %t172 = icmp ne i32 %t171, 0 %t173 = zext i1 %t172 to i32 store i32 %t173, ptr %t146 br label %scend35 scend35: %t174 = load i32, ptr %t146 %t175 = icmp ne i32 %t174, 0 br i1 %t175, label %then36, label %ifend38 then36: %t176 = load ptr, ptr %t0 %t177 = getelementptr inbounds %Cmp_Node, ptr %t176, i32 0, i32 4 %t178 = load ptr, ptr %t177 %t179 = load ptr, ptr %t0 %t180 = getelementptr inbounds %Cmp_Node, ptr %t179, i32 0, i32 1 %t181 = load ptr, ptr %t180 %t182 = call ptr @fn_find_comp(ptr %t181) %t183 = load ptr, ptr %t2 call void @fn_i18n_data_rec(ptr %t178, ptr %t182, ptr %t183) br label %ret ifend38: %t185 = load ptr, ptr %t0 %t186 = getelementptr inbounds %Cmp_Node, ptr %t185, i32 0, i32 0 %t187 = load i32, ptr %t186 %t188 = icmp eq i32 %t187, 41 %t189 = zext i1 %t188 to i32 %t190 = icmp ne i32 %t189, 0 %t191 = zext i1 %t190 to i32 store i32 %t191, ptr %t184 br i1 %t190, label %sc39, label %scend40 sc39: %t192 = load ptr, ptr %t1 %t193 = icmp ne ptr %t192, null %t194 = zext i1 %t193 to i32 %t195 = icmp ne i32 %t194, 0 %t196 = zext i1 %t195 to i32 store i32 %t196, ptr %t184 br label %scend40 scend40: %t197 = load i32, ptr %t184 %t198 = icmp ne i32 %t197, 0 br i1 %t198, label %then41, label %ifend43 then41: %t199 = load ptr, ptr %t0 %t200 = load ptr, ptr %t1 %t201 = call ptr @fn_find_comp(ptr %t200) %t202 = load ptr, ptr %t2 call void @fn_i18n_data_rec(ptr %t199, ptr %t201, ptr %t202) br label %ifend43 ifend43: br label %ret ret: ret void } define void @fn_i18n_split_check() { entry: %t1 = alloca ptr %t12 = alloca ptr %t19 = alloca ptr %t20 = alloca i32 %t85 = alloca i32 %t95 = alloca i32 %t96 = alloca i32 %t154 = alloca i32 %t191 = alloca ptr %t193 = alloca i32 %t247 = alloca i32 %t0 = load ptr, ptr @g_g_i18n_en 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: br label %ret ifend2: %t6 = getelementptr %LSlice, ptr null, i32 1 %t7 = ptrtoint ptr %t6 to i64 store i32 3743, ptr @lp_site %t8 = call ptr @lp_malloc(i64 %t7) store i32 0, ptr @lp_site %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 %t12 %t13 = getelementptr %LSlice, ptr null, i32 1 %t14 = ptrtoint ptr %t13 to i64 store i32 3744, ptr @lp_site %t15 = call ptr @lp_malloc(i64 %t14) store i32 0, ptr @lp_site %t16 = getelementptr inbounds %LSlice, ptr %t15, i32 0, i32 0 store ptr null, ptr %t16 %t17 = getelementptr inbounds %LSlice, ptr %t15, i32 0, i32 1 store i32 0, ptr %t17 %t18 = getelementptr inbounds %LSlice, ptr %t15, i32 0, i32 2 store i32 0, ptr %t18 store ptr %t15, ptr %t19 store i32 0, ptr %t20 br label %wcond3 wcond3: %t21 = load i32, ptr %t20 %t22 = load ptr, ptr %t1 %t23 = getelementptr inbounds %Cmp_PoFile, ptr %t22, i32 0, i32 1 %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 %t12 %t31 = load i32, ptr %t20 %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 %grow6, label %put7 grow6: %t38 = mul i32 %t36, 2 %t39 = icmp eq i32 %t36, 0 %t40 = select i1 %t39, i32 8, i32 %t38 %t41 = getelementptr i32, 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 store i32 3745, ptr @lp_site %t46 = call ptr @lp_realloc(ptr %t45, i64 %t44) store i32 0, ptr @lp_site store ptr %t46, ptr %t34 store i32 %t40, ptr %t33 br label %put7 put7: %t47 = load ptr, ptr %t34 %t48 = getelementptr inbounds i32, ptr %t47, i32 %t35 store i32 %t31, ptr %t48 %t49 = add i32 %t35, 1 store i32 %t49, ptr %t32 %t50 = load ptr, ptr %t19 %t51 = load ptr, ptr %t1 %t52 = getelementptr inbounds %Cmp_PoFile, ptr %t51, i32 0, i32 4 %t53 = load ptr, ptr %t52 %t54 = load i32, ptr %t20 %t55 = getelementptr inbounds %LSlice, ptr %t53, i32 0, i32 0 %t56 = load ptr, ptr %t55 %t57 = getelementptr inbounds %LSlice, ptr %t53, i32 0, i32 1 %t58 = load i32, ptr %t57 %t59 = icmp ult i32 %t54, %t58 br i1 %t59, label %ixok8, label %ixbad9 ixbad9: store i32 3746, ptr @lp_site %t60 = call ptr @lp_win_stdio(i32 2) store i32 0, ptr @lp_site call i32 (ptr, ptr, ...) @fprintf(ptr %t60, ptr @.fmt_bounds, ptr @.str4392, i32 %t54, i32 %t58) call void @exit(i32 1) unreachable ixok8: %t61 = getelementptr inbounds ptr, ptr %t56, i32 %t54 %t62 = load ptr, ptr %t61 %t63 = getelementptr inbounds %LSlice, ptr %t50, i32 0, i32 1 %t64 = getelementptr inbounds %LSlice, ptr %t50, i32 0, i32 2 %t65 = getelementptr inbounds %LSlice, ptr %t50, i32 0, i32 0 %t66 = load i32, ptr %t63 %t67 = load i32, ptr %t64 %t68 = icmp sge i32 %t66, %t67 br i1 %t68, label %grow10, label %put11 grow10: %t69 = mul i32 %t67, 2 %t70 = icmp eq i32 %t67, 0 %t71 = select i1 %t70, i32 8, i32 %t69 %t72 = getelementptr ptr, ptr null, i32 1 %t73 = ptrtoint ptr %t72 to i64 %t74 = zext i32 %t71 to i64 %t75 = mul i64 %t74, %t73 %t76 = load ptr, ptr %t65 store i32 3747, ptr @lp_site %t77 = call ptr @lp_realloc(ptr %t76, i64 %t75) store i32 0, ptr @lp_site store ptr %t77, ptr %t65 store i32 %t71, ptr %t64 br label %put11 put11: %t78 = load ptr, ptr %t65 %t79 = getelementptr inbounds ptr, ptr %t78, i32 %t66 store ptr %t62, ptr %t79 %t80 = add i32 %t66, 1 store i32 %t80, ptr %t63 %t81 = load i32, ptr %t20 %t82 = add i32 %t81, 1 store i32 %t82, ptr %t20 br label %wcond3 wend5: %t83 = load ptr, ptr %t12 %t84 = load ptr, ptr %t19 call void @fn_sc_sort(ptr %t83, ptr %t84) store i32 0, ptr %t85 br label %wcond12 wcond12: %t86 = load i32, ptr %t85 %t87 = load ptr, ptr %t12 %t88 = getelementptr inbounds %LSlice, ptr %t87, i32 0, i32 1 %t89 = load i32, ptr %t88 %t90 = icmp slt i32 %t86, %t89 %t91 = zext i1 %t90 to i32 %t92 = icmp ne i32 %t91, 0 br i1 %t92, label %wbody13, label %wend14 wbody13: %t93 = load i32, ptr %t85 %t94 = add i32 %t93, 1 store i32 %t94, ptr %t95 br label %wcond15 wcond15: %t97 = load i32, ptr %t95 %t98 = load ptr, ptr %t12 %t99 = getelementptr inbounds %LSlice, ptr %t98, i32 0, i32 1 %t100 = load i32, ptr %t99 %t101 = icmp slt i32 %t97, %t100 %t102 = zext i1 %t101 to i32 %t103 = icmp ne i32 %t102, 0 %t104 = zext i1 %t103 to i32 store i32 %t104, ptr %t96 br i1 %t103, label %sc18, label %scend19 sc18: %t105 = load ptr, ptr %t1 %t106 = getelementptr inbounds %Cmp_PoFile, ptr %t105, i32 0, i32 4 %t107 = load ptr, ptr %t106 %t108 = load ptr, ptr %t12 %t109 = load i32, ptr %t95 %t110 = getelementptr inbounds %LSlice, ptr %t108, i32 0, i32 0 %t111 = load ptr, ptr %t110 %t112 = getelementptr inbounds %LSlice, ptr %t108, i32 0, i32 1 %t113 = load i32, ptr %t112 %t114 = icmp ult i32 %t109, %t113 br i1 %t114, label %ixok20, label %ixbad21 ixbad21: store i32 3748, ptr @lp_site %t115 = call ptr @lp_win_stdio(i32 2) store i32 0, ptr @lp_site call i32 (ptr, ptr, ...) @fprintf(ptr %t115, ptr @.fmt_bounds, ptr @.str4393, i32 %t109, i32 %t113) call void @exit(i32 1) unreachable ixok20: %t116 = getelementptr inbounds i32, ptr %t111, i32 %t109 %t117 = load i32, ptr %t116 %t118 = getelementptr inbounds %LSlice, ptr %t107, i32 0, i32 0 %t119 = load ptr, ptr %t118 %t120 = getelementptr inbounds %LSlice, ptr %t107, i32 0, i32 1 %t121 = load i32, ptr %t120 %t122 = icmp ult i32 %t117, %t121 br i1 %t122, label %ixok22, label %ixbad23 ixbad23: store i32 3749, ptr @lp_site %t123 = call ptr @lp_win_stdio(i32 2) store i32 0, ptr @lp_site call i32 (ptr, ptr, ...) @fprintf(ptr %t123, ptr @.fmt_bounds, ptr @.str4394, i32 %t117, i32 %t121) call void @exit(i32 1) unreachable ixok22: %t124 = getelementptr inbounds ptr, ptr %t119, i32 %t117 %t125 = load ptr, ptr %t124 %t126 = load ptr, ptr %t1 %t127 = getelementptr inbounds %Cmp_PoFile, ptr %t126, i32 0, i32 4 %t128 = load ptr, ptr %t127 %t129 = load ptr, ptr %t12 %t130 = load i32, ptr %t85 %t131 = getelementptr inbounds %LSlice, ptr %t129, i32 0, i32 0 %t132 = load ptr, ptr %t131 %t133 = getelementptr inbounds %LSlice, ptr %t129, i32 0, i32 1 %t134 = load i32, ptr %t133 %t135 = icmp ult i32 %t130, %t134 br i1 %t135, label %ixok24, label %ixbad25 ixbad25: store i32 3750, ptr @lp_site %t136 = call ptr @lp_win_stdio(i32 2) store i32 0, ptr @lp_site call i32 (ptr, ptr, ...) @fprintf(ptr %t136, ptr @.fmt_bounds, ptr @.str4395, i32 %t130, i32 %t134) call void @exit(i32 1) unreachable ixok24: %t137 = getelementptr inbounds i32, ptr %t132, i32 %t130 %t138 = load i32, ptr %t137 %t139 = getelementptr inbounds %LSlice, ptr %t128, i32 0, i32 0 %t140 = load ptr, ptr %t139 %t141 = getelementptr inbounds %LSlice, ptr %t128, i32 0, i32 1 %t142 = load i32, ptr %t141 %t143 = icmp ult i32 %t138, %t142 br i1 %t143, label %ixok26, label %ixbad27 ixbad27: store i32 3751, ptr @lp_site %t144 = call ptr @lp_win_stdio(i32 2) store i32 0, ptr @lp_site call i32 (ptr, ptr, ...) @fprintf(ptr %t144, ptr @.fmt_bounds, ptr @.str4396, i32 %t138, i32 %t142) call void @exit(i32 1) unreachable ixok26: %t145 = getelementptr inbounds ptr, ptr %t140, i32 %t138 %t146 = load ptr, ptr %t145 %t147 = call i32 @lp_str_eq(ptr %t125, ptr %t146) %t148 = icmp ne i32 %t147, 0 %t149 = zext i1 %t148 to i32 store i32 %t149, ptr %t96 br label %scend19 scend19: %t150 = load i32, ptr %t96 %t151 = icmp ne i32 %t150, 0 br i1 %t151, label %wbody16, label %wend17 wbody16: %t152 = load i32, ptr %t95 %t153 = add i32 %t152, 1 store i32 %t153, ptr %t95 br label %wcond15 wend17: %t155 = load i32, ptr %t95 %t156 = load i32, ptr %t85 %t157 = sub i32 %t155, %t156 %t158 = icmp sgt i32 %t157, 1 %t159 = zext i1 %t158 to i32 %t160 = icmp ne i32 %t159, 0 %t161 = zext i1 %t160 to i32 store i32 %t161, ptr %t154 br i1 %t160, label %sc28, label %scend29 sc28: %t162 = load ptr, ptr %t1 %t163 = getelementptr inbounds %Cmp_PoFile, ptr %t162, i32 0, i32 4 %t164 = load ptr, ptr %t163 %t165 = load ptr, ptr %t12 %t166 = load i32, ptr %t85 %t167 = getelementptr inbounds %LSlice, ptr %t165, i32 0, i32 0 %t168 = load ptr, ptr %t167 %t169 = getelementptr inbounds %LSlice, ptr %t165, i32 0, i32 1 %t170 = load i32, ptr %t169 %t171 = icmp ult i32 %t166, %t170 br i1 %t171, label %ixok30, label %ixbad31 ixbad31: store i32 3752, ptr @lp_site %t172 = call ptr @lp_win_stdio(i32 2) store i32 0, ptr @lp_site call i32 (ptr, ptr, ...) @fprintf(ptr %t172, ptr @.fmt_bounds, ptr @.str4397, i32 %t166, i32 %t170) call void @exit(i32 1) unreachable ixok30: %t173 = getelementptr inbounds i32, ptr %t168, i32 %t166 %t174 = load i32, ptr %t173 %t175 = getelementptr inbounds %LSlice, ptr %t164, i32 0, i32 0 %t176 = load ptr, ptr %t175 %t177 = getelementptr inbounds %LSlice, ptr %t164, i32 0, i32 1 %t178 = load i32, ptr %t177 %t179 = icmp ult i32 %t174, %t178 br i1 %t179, label %ixok32, label %ixbad33 ixbad33: store i32 3753, ptr @lp_site %t180 = call ptr @lp_win_stdio(i32 2) store i32 0, ptr @lp_site call i32 (ptr, ptr, ...) @fprintf(ptr %t180, ptr @.fmt_bounds, ptr @.str4398, i32 %t174, i32 %t178) call void @exit(i32 1) unreachable ixok32: %t181 = getelementptr inbounds ptr, ptr %t176, i32 %t174 %t182 = load ptr, ptr %t181 %t183 = call i64 @strlen(ptr %t182) %t184 = trunc i64 %t183 to i32 %t185 = icmp sgt 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 %t154 br label %scend29 scend29: %t189 = load i32, ptr %t154 %t190 = icmp ne i32 %t189, 0 br i1 %t190, label %then34, label %ifend36 then34: store ptr @.str4399, ptr %t191 %t192 = load i32, ptr %t85 store i32 %t192, ptr %t193 br label %wcond37 wcond37: %t194 = load i32, ptr %t193 %t195 = load i32, ptr %t95 %t196 = icmp slt i32 %t194, %t195 %t197 = zext i1 %t196 to i32 %t198 = icmp ne i32 %t197, 0 br i1 %t198, label %wbody38, label %wend39 wbody38: %t199 = load i32, ptr %t193 %t200 = load i32, ptr %t85 %t201 = icmp sgt i32 %t199, %t200 %t202 = zext i1 %t201 to i32 %t203 = icmp ne i32 %t202, 0 br i1 %t203, label %then40, label %ifend42 then40: %t204 = load ptr, ptr %t191 store i32 3754, ptr @lp_site %t205 = call ptr @lp_str_concat(ptr %t204, ptr @.str4400) store i32 0, ptr @lp_site store ptr %t205, ptr %t191 br label %ifend42 ifend42: %t206 = load ptr, ptr %t191 %t207 = load ptr, ptr %t1 %t208 = getelementptr inbounds %Cmp_PoFile, ptr %t207, i32 0, i32 1 %t209 = load ptr, ptr %t208 %t210 = load ptr, ptr %t12 %t211 = load i32, ptr %t193 %t212 = getelementptr inbounds %LSlice, ptr %t210, i32 0, i32 0 %t213 = load ptr, ptr %t212 %t214 = getelementptr inbounds %LSlice, ptr %t210, i32 0, i32 1 %t215 = load i32, ptr %t214 %t216 = icmp ult i32 %t211, %t215 br i1 %t216, label %ixok43, label %ixbad44 ixbad44: store i32 3755, ptr @lp_site %t217 = call ptr @lp_win_stdio(i32 2) store i32 0, ptr @lp_site call i32 (ptr, ptr, ...) @fprintf(ptr %t217, ptr @.fmt_bounds, ptr @.str4401, i32 %t211, i32 %t215) call void @exit(i32 1) unreachable ixok43: %t218 = getelementptr inbounds i32, ptr %t213, i32 %t211 %t219 = load i32, ptr %t218 %t220 = getelementptr inbounds %LSlice, ptr %t209, i32 0, i32 0 %t221 = load ptr, ptr %t220 %t222 = getelementptr inbounds %LSlice, ptr %t209, i32 0, i32 1 %t223 = load i32, ptr %t222 %t224 = icmp ult i32 %t219, %t223 br i1 %t224, label %ixok45, label %ixbad46 ixbad46: store i32 3756, ptr @lp_site %t225 = call ptr @lp_win_stdio(i32 2) store i32 0, ptr @lp_site call i32 (ptr, ptr, ...) @fprintf(ptr %t225, ptr @.fmt_bounds, ptr @.str4402, i32 %t219, i32 %t223) call void @exit(i32 1) unreachable ixok45: %t226 = getelementptr inbounds ptr, ptr %t221, i32 %t219 %t227 = load ptr, ptr %t226 store i32 3757, ptr @lp_site %t228 = call ptr @lp_str_concat(ptr %t206, ptr %t227) store i32 0, ptr @lp_site store ptr %t228, ptr %t191 %t229 = load i32, ptr %t193 %t230 = add i32 %t229, 1 store i32 %t230, ptr %t193 br label %wcond37 wend39: %t231 = load i32, ptr %t85 store i32 %t231, ptr %t193 br label %wcond47 wcond47: %t232 = load i32, ptr %t193 %t233 = load i32, ptr %t95 %t234 = icmp slt i32 %t232, %t233 %t235 = zext i1 %t234 to i32 %t236 = icmp ne i32 %t235, 0 br i1 %t236, label %wbody48, label %wend49 wbody48: %t237 = load ptr, ptr %t12 %t238 = load i32, ptr %t193 %t239 = getelementptr inbounds %LSlice, ptr %t237, i32 0, i32 0 %t240 = load ptr, ptr %t239 %t241 = getelementptr inbounds %LSlice, ptr %t237, i32 0, i32 1 %t242 = load i32, ptr %t241 %t243 = icmp ult i32 %t238, %t242 br i1 %t243, label %ixok50, label %ixbad51 ixbad51: store i32 3758, ptr @lp_site %t244 = call ptr @lp_win_stdio(i32 2) store i32 0, ptr @lp_site call i32 (ptr, ptr, ...) @fprintf(ptr %t244, ptr @.fmt_bounds, ptr @.str4403, i32 %t238, i32 %t242) call void @exit(i32 1) unreachable ixok50: %t245 = getelementptr inbounds i32, ptr %t240, i32 %t238 %t246 = load i32, ptr %t245 store i32 %t246, ptr %t247 %t248 = load ptr, ptr %t1 %t249 = getelementptr inbounds %Cmp_PoFile, ptr %t248, i32 0, i32 6 %t250 = load ptr, ptr %t249 %t251 = load i32, ptr %t247 %t252 = getelementptr inbounds %LSlice, ptr %t250, i32 0, i32 0 %t253 = load ptr, ptr %t252 %t254 = getelementptr inbounds %LSlice, ptr %t250, i32 0, i32 1 %t255 = load i32, ptr %t254 %t256 = icmp ult i32 %t251, %t255 br i1 %t256, label %ixok52, label %ixbad53 ixbad53: store i32 3759, ptr @lp_site %t257 = call ptr @lp_win_stdio(i32 2) store i32 0, ptr @lp_site call i32 (ptr, ptr, ...) @fprintf(ptr %t257, ptr @.fmt_bounds, ptr @.str4404, i32 %t251, i32 %t255) call void @exit(i32 1) unreachable ixok52: %t258 = getelementptr inbounds ptr, ptr %t253, i32 %t251 %t259 = load ptr, ptr %t258 %t260 = icmp eq ptr %t259, null %t261 = zext i1 %t260 to i32 %t262 = icmp ne i32 %t261, 0 br i1 %t262, label %then54, label %ifend56 then54: %t263 = load ptr, ptr %t1 %t264 = getelementptr inbounds %Cmp_PoFile, ptr %t263, i32 0, i32 0 %t265 = load ptr, ptr %t264 %t266 = load ptr, ptr %t1 %t267 = getelementptr inbounds %Cmp_PoFile, ptr %t266, i32 0, i32 8 %t268 = load ptr, ptr %t267 %t269 = load i32, ptr %t247 %t270 = getelementptr inbounds %LSlice, ptr %t268, i32 0, i32 0 %t271 = load ptr, ptr %t270 %t272 = getelementptr inbounds %LSlice, ptr %t268, i32 0, i32 1 %t273 = load i32, ptr %t272 %t274 = icmp ult i32 %t269, %t273 br i1 %t274, label %ixok57, label %ixbad58 ixbad58: store i32 3760, ptr @lp_site %t275 = call ptr @lp_win_stdio(i32 2) store i32 0, ptr @lp_site call i32 (ptr, ptr, ...) @fprintf(ptr %t275, ptr @.fmt_bounds, ptr @.str4405, i32 %t269, i32 %t273) call void @exit(i32 1) unreachable ixok57: %t276 = getelementptr inbounds i32, ptr %t271, i32 %t269 %t277 = load i32, ptr %t276 %t278 = load ptr, ptr %t1 %t279 = getelementptr inbounds %Cmp_PoFile, ptr %t278, i32 0, i32 1 %t280 = load ptr, ptr %t279 %t281 = load i32, ptr %t247 %t282 = getelementptr inbounds %LSlice, ptr %t280, i32 0, i32 0 %t283 = load ptr, ptr %t282 %t284 = getelementptr inbounds %LSlice, ptr %t280, i32 0, i32 1 %t285 = load i32, ptr %t284 %t286 = icmp ult i32 %t281, %t285 br i1 %t286, label %ixok59, label %ixbad60 ixbad60: store i32 3761, ptr @lp_site %t287 = call ptr @lp_win_stdio(i32 2) store i32 0, ptr @lp_site call i32 (ptr, ptr, ...) @fprintf(ptr %t287, ptr @.fmt_bounds, ptr @.str4406, i32 %t281, i32 %t285) call void @exit(i32 1) unreachable ixok59: %t288 = getelementptr inbounds ptr, ptr %t283, i32 %t281 %t289 = load ptr, ptr %t288 store i32 3762, ptr @lp_site %t290 = call ptr @lp_str_concat(ptr %t289, ptr @.str4407) store i32 0, ptr @lp_site %t291 = load ptr, ptr %t1 %t292 = getelementptr inbounds %Cmp_PoFile, ptr %t291, i32 0, i32 4 %t293 = load ptr, ptr %t292 %t294 = load i32, ptr %t247 %t295 = getelementptr inbounds %LSlice, ptr %t293, i32 0, i32 0 %t296 = load ptr, ptr %t295 %t297 = getelementptr inbounds %LSlice, ptr %t293, i32 0, i32 1 %t298 = load i32, ptr %t297 %t299 = icmp ult i32 %t294, %t298 br i1 %t299, label %ixok61, label %ixbad62 ixbad62: store i32 3763, ptr @lp_site %t300 = call ptr @lp_win_stdio(i32 2) store i32 0, ptr @lp_site call i32 (ptr, ptr, ...) @fprintf(ptr %t300, ptr @.fmt_bounds, ptr @.str4408, i32 %t294, i32 %t298) call void @exit(i32 1) unreachable ixok61: %t301 = getelementptr inbounds ptr, ptr %t296, i32 %t294 %t302 = load ptr, ptr %t301 %t303 = call ptr @fn_i18n_short(ptr %t302) store i32 3764, ptr @lp_site %t304 = call ptr @lp_str_concat(ptr %t290, ptr %t303) store i32 0, ptr @lp_site call void @lp_free(ptr %t290) store i32 3765, ptr @lp_site %t305 = call ptr @lp_str_concat(ptr %t304, ptr @.str4409) store i32 0, ptr @lp_site call void @lp_free(ptr %t304) %t306 = load i32, ptr %t95 %t307 = load i32, ptr %t85 %t308 = sub i32 %t306, %t307 %t309 = call ptr @fn_itoa(i32 %t308) store i32 3766, ptr @lp_site %t310 = call ptr @lp_str_concat(ptr %t305, ptr %t309) store i32 0, ptr @lp_site call void @lp_free(ptr %t305) store i32 3767, ptr @lp_site %t311 = call ptr @lp_str_concat(ptr %t310, ptr @.str4410) store i32 0, ptr @lp_site call void @lp_free(ptr %t310) %t312 = load ptr, ptr %t191 store i32 3768, ptr @lp_site %t313 = call ptr @lp_str_concat(ptr %t311, ptr %t312) store i32 0, ptr @lp_site call void @lp_free(ptr %t311) store i32 3769, ptr @lp_site %t314 = call ptr @lp_str_concat(ptr %t313, ptr @.str4411) store i32 0, ptr @lp_site call void @lp_free(ptr %t313) call void @fn_pwarn_at(ptr %t265, i32 %t277, i32 1, ptr %t314) br label %ifend56 ifend56: %t315 = load i32, ptr %t193 %t316 = add i32 %t315, 1 store i32 %t316, ptr %t193 br label %wcond47 wend49: br label %ifend36 ifend36: %t317 = load i32, ptr %t95 store i32 %t317, ptr %t85 br label %wcond12 wend14: br label %ret ret: ret void } define void @fn_i18n_walk_templates() { entry: %t0 = alloca i32 %t18 = alloca ptr %t19 = alloca i32 %t20 = alloca i32 store i32 0, ptr %t0 br label %wcond0 wcond0: %t1 = load i32, ptr %t0 %t2 = load ptr, ptr @g_g_cm_name %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_cm_xml %t9 = load i32, ptr %t0 %t10 = getelementptr inbounds %LSlice, ptr %t8, i32 0, i32 0 %t11 = load ptr, ptr %t10 %t12 = getelementptr inbounds %LSlice, ptr %t8, i32 0, i32 1 %t13 = load i32, ptr %t12 %t14 = icmp ult i32 %t9, %t13 br i1 %t14, label %ixok3, label %ixbad4 ixbad4: store i32 3770, ptr @lp_site %t15 = call ptr @lp_win_stdio(i32 2) store i32 0, ptr @lp_site call i32 (ptr, ptr, ...) @fprintf(ptr %t15, ptr @.fmt_bounds, ptr @.str4412, i32 %t9, i32 %t13) call void @exit(i32 1) unreachable ixok3: %t16 = getelementptr inbounds ptr, ptr %t11, i32 %t9 %t17 = load ptr, ptr %t16 store ptr %t17, ptr %t18 %t21 = load ptr, ptr %t18 %t22 = icmp ne ptr %t21, null %t23 = zext i1 %t22 to i32 %t24 = icmp ne i32 %t23, 0 %t25 = zext i1 %t24 to i32 store i32 %t25, ptr %t20 br i1 %t24, label %sc5, label %scend6 sc5: %t26 = load ptr, ptr %t18 %t27 = call i64 @strlen(ptr %t26) %t28 = trunc i64 %t27 to i32 %t29 = icmp sgt 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 %t20 br label %scend6 scend6: %t33 = load i32, ptr %t20 %t34 = icmp ne i32 %t33, 0 %t35 = zext i1 %t34 to i32 store i32 %t35, ptr %t19 br i1 %t34, label %sc7, label %scend8 sc7: %t36 = load ptr, ptr @g_g_cm_file %t37 = load i32, ptr %t0 %t38 = getelementptr inbounds %LSlice, ptr %t36, i32 0, i32 0 %t39 = load ptr, ptr %t38 %t40 = getelementptr inbounds %LSlice, ptr %t36, i32 0, i32 1 %t41 = load i32, ptr %t40 %t42 = icmp ult i32 %t37, %t41 br i1 %t42, label %ixok9, label %ixbad10 ixbad10: store i32 3771, ptr @lp_site %t43 = call ptr @lp_win_stdio(i32 2) store i32 0, ptr @lp_site call i32 (ptr, ptr, ...) @fprintf(ptr %t43, ptr @.fmt_bounds, ptr @.str4414, i32 %t37, i32 %t41) call void @exit(i32 1) unreachable ixok9: %t44 = getelementptr inbounds ptr, ptr %t39, i32 %t37 %t45 = load ptr, ptr %t44 %t46 = call i32 @fn_is_runtime_file(ptr %t45) %t47 = icmp eq i32 %t46, 0 %t48 = zext i1 %t47 to i32 %t49 = icmp ne i32 %t48, 0 %t50 = zext i1 %t49 to i32 store i32 %t50, ptr %t19 br label %scend8 scend8: %t51 = load i32, ptr %t19 %t52 = icmp ne i32 %t51, 0 br i1 %t52, label %then11, label %ifend13 then11: %t53 = load ptr, ptr @g_g_cm_xml_path %t54 = load i32, ptr %t0 %t55 = getelementptr inbounds %LSlice, ptr %t53, i32 0, i32 0 %t56 = load ptr, ptr %t55 %t57 = getelementptr inbounds %LSlice, ptr %t53, i32 0, i32 1 %t58 = load i32, ptr %t57 %t59 = icmp ult i32 %t54, %t58 br i1 %t59, label %ixok14, label %ixbad15 ixbad15: store i32 3772, ptr @lp_site %t60 = call ptr @lp_win_stdio(i32 2) store i32 0, ptr @lp_site call i32 (ptr, ptr, ...) @fprintf(ptr %t60, ptr @.fmt_bounds, ptr @.str4415, i32 %t54, i32 %t58) call void @exit(i32 1) unreachable ixok14: %t61 = getelementptr inbounds ptr, ptr %t56, i32 %t54 %t62 = load ptr, ptr %t61 %t63 = load ptr, ptr %t18 call void @fn_i18n_xml(ptr %t62, ptr %t63) br label %ifend13 ifend13: %t64 = load i32, ptr %t0 %t65 = add i32 %t64, 1 store i32 %t65, ptr %t0 br label %wcond0 wend2: br label %ret ret: ret void } define void @fn_xk_move(i32 %arg_to) { entry: %t0 = alloca i32 store i32 %arg_to, ptr %t0 %t1 = load i32, ptr %t0 store i32 %t1, ptr @g_g_xk_i %t2 = load i32, ptr @g_g_xk_i %t3 = load i32, ptr @g_g_xk_n %t4 = icmp sgt i32 %t2, %t3 %t5 = zext i1 %t4 to i32 %t6 = icmp ne i32 %t5, 0 br i1 %t6, label %then0, label %ifend2 then0: %t7 = load i32, ptr @g_g_xk_n store i32 %t7, ptr @g_g_xk_i br label %ifend2 ifend2: br label %ret ret: ret void } define i32 @fn_xk_find(ptr %arg_s, i32 %arg_from, ptr %arg_pat) { entry: %retval = alloca i32 %t0 = alloca ptr %t1 = alloca i32 %t2 = alloca ptr %t6 = alloca i32 %t10 = alloca i32 %t12 = alloca i32 store ptr %arg_s, ptr %t0 store i32 %arg_from, ptr %t1 store ptr %arg_pat, ptr %t2 %t3 = load ptr, ptr %t0 %t4 = call i64 @strlen(ptr %t3) %t5 = trunc i64 %t4 to i32 store i32 %t5, ptr %t6 %t7 = load ptr, ptr %t2 %t8 = call i64 @strlen(ptr %t7) %t9 = trunc i64 %t8 to i32 store i32 %t9, ptr %t10 %t11 = load i32, ptr %t1 store i32 %t11, ptr %t12 br label %wcond0 wcond0: %t13 = load i32, ptr %t12 %t14 = load i32, ptr %t10 %t15 = add i32 %t13, %t14 %t16 = load i32, ptr %t6 %t17 = icmp sle 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 %t12 %t22 = load i32, ptr %t12 %t23 = load i32, ptr %t10 %t24 = add i32 %t22, %t23 store i32 3773, ptr @lp_site %t25 = call ptr @lp_str_slice(ptr %t20, i32 %t21, i32 %t24) store i32 0, ptr @lp_site %t26 = load ptr, ptr %t2 %t27 = call i32 @lp_str_eq(ptr %t25, ptr %t26) call void @lp_free(ptr %t25) %t28 = icmp ne i32 %t27, 0 br i1 %t28, label %then3, label %ifend5 then3: %t29 = load i32, ptr %t12 store i32 %t29, ptr %retval br label %ret ifend5: %t30 = load i32, ptr %t12 %t31 = add i32 %t30, 1 store i32 %t31, ptr %t12 br label %wcond0 wend2: %t32 = load i32, ptr %t6 store i32 %t32, ptr %retval br label %ret ret: %t33 = load i32, ptr %retval ret i32 %t33 } define void @fn_i18n_xml(ptr %arg_path, ptr %arg_src) { entry: %t0 = alloca ptr %t1 = alloca ptr %t13 = alloca ptr %t15 = alloca i32 %t26 = alloca i32 %t31 = alloca i32 %t55 = alloca i32 %t63 = alloca i32 %t93 = alloca i32 %t131 = alloca ptr %t132 = alloca i32 %t152 = alloca i32 %t157 = alloca i32 %t158 = alloca i32 %t159 = alloca i32 store ptr %arg_path, ptr %t0 store ptr %arg_src, ptr %t1 %t2 = load ptr, ptr %t1 store ptr %t2, ptr @g_g_xk_src %t3 = load ptr, ptr %t0 store ptr %t3, ptr @g_g_xk_file store i32 0, ptr @g_g_xk_i %t4 = load ptr, ptr %t1 %t5 = call i64 @strlen(ptr %t4) %t6 = trunc i64 %t5 to i32 store i32 %t6, ptr @g_g_xk_n %t7 = getelementptr %LSlice, ptr null, i32 1 %t8 = ptrtoint ptr %t7 to i64 store i32 3774, ptr @lp_site %t9 = call ptr @lp_malloc(i64 %t8) store i32 0, ptr @lp_site %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 = sub i32 0, 1 store i32 %t14, ptr %t15 br label %wcond0 wcond0: %t16 = load i32, ptr @g_g_xk_i %t17 = load i32, ptr @g_g_xk_n %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 %t1 %t22 = load i32, ptr @g_g_xk_i %t23 = getelementptr inbounds i8, ptr %t21, i32 %t22 %t24 = load i8, ptr %t23 %t25 = zext i8 %t24 to i32 store i32 %t25, ptr %t26 %t27 = load i32, ptr %t26 %t28 = icmp eq i32 %t27, 60 %t29 = zext i1 %t28 to i32 %t30 = icmp ne i32 %t29, 0 br i1 %t30, label %then3, label %ifend5 then3: %t32 = load i32, ptr @g_g_xk_i %t33 = add i32 %t32, 3 %t34 = load i32, ptr @g_g_xk_n %t35 = icmp slt i32 %t33, %t34 %t36 = zext i1 %t35 to i32 %t37 = icmp ne i32 %t36, 0 %t38 = zext i1 %t37 to i32 store i32 %t38, ptr %t31 br i1 %t37, label %sc6, label %scend7 sc6: %t39 = load ptr, ptr %t1 %t40 = load i32, ptr @g_g_xk_i %t41 = add i32 %t40, 1 %t42 = load i32, ptr @g_g_xk_i %t43 = add i32 %t42, 4 store i32 3775, ptr @lp_site %t44 = call ptr @lp_str_slice(ptr %t39, i32 %t41, i32 %t43) store i32 0, ptr @lp_site %t45 = call i32 @lp_str_eq(ptr %t44, ptr @.str4418) call void @lp_free(ptr %t44) %t46 = icmp ne i32 %t45, 0 %t47 = zext i1 %t46 to i32 store i32 %t47, ptr %t31 br label %scend7 scend7: %t48 = load i32, ptr %t31 %t49 = icmp ne i32 %t48, 0 br i1 %t49, label %then8, label %ifend10 then8: %t50 = load ptr, ptr %t1 %t51 = load i32, ptr @g_g_xk_i %t52 = add i32 %t51, 4 %t53 = call i32 @fn_xk_find(ptr %t50, i32 %t52, ptr @.str4419) %t54 = add i32 %t53, 3 call void @fn_xk_move(i32 %t54) br label %wcond0 ifend10: %t56 = load i32, ptr @g_g_xk_i %t57 = add i32 %t56, 1 %t58 = load i32, ptr @g_g_xk_n %t59 = icmp slt i32 %t57, %t58 %t60 = zext i1 %t59 to i32 %t61 = icmp ne i32 %t60, 0 %t62 = zext i1 %t61 to i32 store i32 %t62, ptr %t55 br i1 %t61, label %sc11, label %scend12 sc11: %t64 = load ptr, ptr %t1 %t65 = load i32, ptr @g_g_xk_i %t66 = add i32 %t65, 1 %t67 = getelementptr inbounds i8, ptr %t64, i32 %t66 %t68 = load i8, ptr %t67 %t69 = zext i8 %t68 to i32 %t70 = icmp eq i32 %t69, 63 %t71 = zext i1 %t70 to i32 %t72 = icmp ne i32 %t71, 0 %t73 = zext i1 %t72 to i32 store i32 %t73, ptr %t63 br i1 %t72, label %scend14, label %sc13 sc13: %t74 = load ptr, ptr %t1 %t75 = load i32, ptr @g_g_xk_i %t76 = add i32 %t75, 1 %t77 = getelementptr inbounds i8, ptr %t74, i32 %t76 %t78 = load i8, ptr %t77 %t79 = zext i8 %t78 to i32 %t80 = icmp eq i32 %t79, 33 %t81 = zext i1 %t80 to i32 %t82 = icmp ne i32 %t81, 0 %t83 = zext i1 %t82 to i32 store i32 %t83, ptr %t63 br label %scend14 scend14: %t84 = load i32, ptr %t63 %t85 = icmp ne i32 %t84, 0 %t86 = zext i1 %t85 to i32 store i32 %t86, ptr %t55 br label %scend12 scend12: %t87 = load i32, ptr %t55 %t88 = icmp ne i32 %t87, 0 br i1 %t88, label %then15, label %ifend17 then15: %t89 = load ptr, ptr %t1 %t90 = load i32, ptr @g_g_xk_i %t91 = call i32 @fn_xk_find(ptr %t89, i32 %t90, ptr @.str4420) %t92 = add i32 %t91, 1 call void @fn_xk_move(i32 %t92) br label %wcond0 ifend17: %t94 = load i32, ptr @g_g_xk_i %t95 = add i32 %t94, 1 %t96 = load i32, ptr @g_g_xk_n %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 %t93 br i1 %t99, label %sc18, label %scend19 sc18: %t101 = load ptr, ptr %t1 %t102 = load i32, ptr @g_g_xk_i %t103 = add i32 %t102, 1 %t104 = getelementptr inbounds i8, ptr %t101, i32 %t103 %t105 = load i8, ptr %t104 %t106 = zext i8 %t105 to i32 %t107 = icmp eq i32 %t106, 47 %t108 = zext i1 %t107 to i32 %t109 = icmp ne i32 %t108, 0 %t110 = zext i1 %t109 to i32 store i32 %t110, ptr %t93 br label %scend19 scend19: %t111 = load i32, ptr %t93 %t112 = icmp ne i32 %t111, 0 br i1 %t112, label %then20, label %ifend22 then20: %t113 = load ptr, ptr %t1 %t114 = load i32, ptr @g_g_xk_i %t115 = call i32 @fn_xk_find(ptr %t113, i32 %t114, ptr @.str4421) %t116 = add i32 %t115, 1 call void @fn_xk_move(i32 %t116) %t117 = load ptr, ptr %t13 %t118 = getelementptr inbounds %LSlice, ptr %t117, i32 0, i32 1 %t119 = load i32, ptr %t118 %t120 = icmp sgt i32 %t119, 0 %t121 = zext i1 %t120 to i32 %t122 = icmp ne i32 %t121, 0 br i1 %t122, label %then23, label %ifend25 then23: %t123 = load ptr, ptr %t13 %t124 = getelementptr inbounds %LSlice, ptr %t123, i32 0, i32 1 %t125 = load i32, ptr %t124 %t126 = sub i32 %t125, 1 %t127 = getelementptr inbounds %LSlice, ptr %t123, i32 0, i32 0 %t128 = load ptr, ptr %t127 %t129 = getelementptr inbounds ptr, ptr %t128, i32 %t126 %t130 = load ptr, ptr %t129 store i32 %t126, ptr %t124 store ptr %t130, ptr %t131 br label %ifend25 ifend25: %t133 = load i32, ptr %t15 %t134 = icmp sge i32 %t133, 0 %t135 = zext i1 %t134 to i32 %t136 = icmp ne i32 %t135, 0 %t137 = zext i1 %t136 to i32 store i32 %t137, ptr %t132 br i1 %t136, label %sc26, label %scend27 sc26: %t138 = load ptr, ptr %t13 %t139 = getelementptr inbounds %LSlice, ptr %t138, i32 0, i32 1 %t140 = load i32, ptr %t139 %t141 = load i32, ptr %t15 %t142 = icmp sle i32 %t140, %t141 %t143 = zext i1 %t142 to i32 %t144 = icmp ne i32 %t143, 0 %t145 = zext i1 %t144 to i32 store i32 %t145, ptr %t132 br label %scend27 scend27: %t146 = load i32, ptr %t132 %t147 = icmp ne i32 %t146, 0 br i1 %t147, label %then28, label %ifend30 then28: %t148 = sub i32 0, 1 store i32 %t148, ptr %t15 br label %ifend30 ifend30: br label %wcond0 ifend22: %t149 = load ptr, ptr %t13 %t150 = getelementptr inbounds %LSlice, ptr %t149, i32 0, i32 1 %t151 = load i32, ptr %t150 store i32 %t151, ptr %t152 %t153 = load i32, ptr %t15 %t154 = icmp sge i32 %t153, 0 %t155 = zext i1 %t154 to i32 %t156 = call i32 @fn_xk_tag(i32 %t155) store i32 %t156, ptr %t157 %t160 = load i32, ptr %t157 %t161 = icmp sgt i32 %t160, 0 %t162 = zext i1 %t161 to i32 %t163 = icmp ne i32 %t162, 0 %t164 = zext i1 %t163 to i32 store i32 %t164, ptr %t159 br i1 %t163, label %sc31, label %scend32 sc31: %t165 = load i32, ptr %t15 %t166 = icmp slt i32 %t165, 0 %t167 = zext i1 %t166 to i32 %t168 = icmp ne i32 %t167, 0 %t169 = zext i1 %t168 to i32 store i32 %t169, ptr %t159 br label %scend32 scend32: %t170 = load i32, ptr %t159 %t171 = icmp ne i32 %t170, 0 %t172 = zext i1 %t171 to i32 store i32 %t172, ptr %t158 br i1 %t171, label %sc33, label %scend34 sc33: %t173 = load i32, ptr %t157 %t174 = icmp eq i32 %t173, 2 %t175 = zext i1 %t174 to i32 %t176 = icmp ne i32 %t175, 0 %t177 = zext i1 %t176 to i32 store i32 %t177, ptr %t158 br label %scend34 scend34: %t178 = load i32, ptr %t158 %t179 = icmp ne i32 %t178, 0 br i1 %t179, label %then35, label %ifend37 then35: %t180 = load i32, ptr %t152 store i32 %t180, ptr %t15 br label %ifend37 ifend37: %t181 = load i32, ptr @g_g_xk_last_open %t182 = icmp ne i32 %t181, 0 br i1 %t182, label %then38, label %else39 then38: %t183 = load ptr, ptr %t13 %t184 = load ptr, ptr @g_g_xk_last_name %t185 = getelementptr inbounds %LSlice, ptr %t183, i32 0, i32 1 %t186 = getelementptr inbounds %LSlice, ptr %t183, i32 0, i32 2 %t187 = getelementptr inbounds %LSlice, ptr %t183, i32 0, i32 0 %t188 = load i32, ptr %t185 %t189 = load i32, ptr %t186 %t190 = icmp sge i32 %t188, %t189 br i1 %t190, label %grow41, label %put42 grow41: %t191 = mul i32 %t189, 2 %t192 = icmp eq i32 %t189, 0 %t193 = select i1 %t192, i32 8, i32 %t191 %t194 = getelementptr ptr, ptr null, i32 1 %t195 = ptrtoint ptr %t194 to i64 %t196 = zext i32 %t193 to i64 %t197 = mul i64 %t196, %t195 %t198 = load ptr, ptr %t187 store i32 3776, ptr @lp_site %t199 = call ptr @lp_realloc(ptr %t198, i64 %t197) store i32 0, ptr @lp_site store ptr %t199, ptr %t187 store i32 %t193, ptr %t186 br label %put42 put42: %t200 = load ptr, ptr %t187 %t201 = getelementptr inbounds ptr, ptr %t200, i32 %t188 store ptr %t184, ptr %t201 %t202 = add i32 %t188, 1 store i32 %t202, ptr %t185 br label %ifend40 else39: %t203 = load i32, ptr %t15 %t204 = load i32, ptr %t152 %t205 = icmp eq i32 %t203, %t204 %t206 = zext i1 %t205 to i32 %t207 = icmp ne i32 %t206, 0 br i1 %t207, label %then43, label %ifend45 then43: %t208 = sub i32 0, 1 store i32 %t208, ptr %t15 br label %ifend45 ifend45: br label %ifend40 ifend40: br label %wcond0 ifend5: %t209 = load i32, ptr %t15 %t210 = icmp sge i32 %t209, 0 %t211 = zext i1 %t210 to i32 call void @fn_xk_text(i32 %t211) br label %wcond0 wend2: br label %ret ret: ret void } define void @fn_xk_text(i32 %arg_quiet) { entry: %t0 = alloca i32 %t2 = alloca ptr %t4 = alloca i32 %t5 = alloca i32 %t6 = alloca i32 %t29 = alloca i32 %t39 = alloca i32 %t52 = alloca i32 %t53 = alloca i32 %t54 = alloca i32 %t55 = alloca i32 %t56 = alloca i32 %t110 = alloca i32 %t134 = alloca i32 %t148 = alloca i32 %t149 = alloca i32 %t163 = alloca i32 %t189 = alloca i32 %t204 = alloca i32 store i32 %arg_quiet, ptr %t0 %t1 = load ptr, ptr @g_g_xk_src store ptr %t1, ptr %t2 %t3 = sub i32 0, 1 store i32 %t3, ptr %t4 store i32 0, ptr %t5 br label %wcond0 wcond0: %t7 = load i32, ptr @g_g_xk_i %t8 = load i32, ptr @g_g_xk_n %t9 = icmp slt i32 %t7, %t8 %t10 = zext i1 %t9 to i32 %t11 = icmp ne i32 %t10, 0 %t12 = zext i1 %t11 to i32 store i32 %t12, ptr %t6 br i1 %t11, label %sc3, label %scend4 sc3: %t13 = load ptr, ptr %t2 %t14 = load i32, ptr @g_g_xk_i %t15 = getelementptr inbounds i8, ptr %t13, i32 %t14 %t16 = load i8, ptr %t15 %t17 = zext i8 %t16 to i32 %t18 = icmp ne i32 %t17, 60 %t19 = zext i1 %t18 to i32 %t20 = icmp ne i32 %t19, 0 %t21 = zext i1 %t20 to i32 store i32 %t21, ptr %t6 br label %scend4 scend4: %t22 = load i32, ptr %t6 %t23 = icmp ne i32 %t22, 0 br i1 %t23, label %wbody1, label %wend2 wbody1: %t24 = load ptr, ptr %t2 %t25 = load i32, ptr @g_g_xk_i %t26 = getelementptr inbounds i8, ptr %t24, i32 %t25 %t27 = load i8, ptr %t26 %t28 = zext i8 %t27 to i32 store i32 %t28, ptr %t29 %t30 = load i32, ptr %t29 %t31 = icmp eq i32 %t30, 123 %t32 = zext i1 %t31 to i32 %t33 = icmp ne i32 %t32, 0 br i1 %t33, label %then5, label %ifend7 then5: %t34 = load ptr, ptr %t2 %t35 = load i32, ptr @g_g_xk_i %t36 = add i32 %t35, 1 %t37 = load i32, ptr @g_g_xk_n %t38 = call i32 @fn_hole_end(ptr %t34, i32 %t36, i32 %t37) store i32 %t38, ptr %t39 %t40 = load i32, ptr @g_g_xk_i %t41 = add i32 %t40, 1 %t42 = load i32, ptr %t39 %t43 = load i32, ptr %t0 call void @fn_xk_hole(i32 %t41, i32 %t42, i32 %t43) %t44 = load i32, ptr %t39 %t45 = add i32 %t44, 1 call void @fn_xk_move(i32 %t45) store i32 0, ptr %t5 br label %wcond0 ifend7: %t46 = load i32, ptr %t29 %t47 = icmp eq i32 %t46, 38 %t48 = zext i1 %t47 to i32 %t49 = icmp ne i32 %t48, 0 br i1 %t49, label %then8, label %ifend10 then8: %t50 = load i32, ptr @g_g_xk_i %t51 = add i32 %t50, 1 store i32 %t51, ptr %t52 br label %wcond11 wcond11: %t57 = load i32, ptr %t52 %t58 = load i32, ptr @g_g_xk_n %t59 = icmp slt i32 %t57, %t58 %t60 = zext i1 %t59 to i32 %t61 = icmp ne i32 %t60, 0 %t62 = zext i1 %t61 to i32 store i32 %t62, ptr %t56 br i1 %t61, label %sc14, label %scend15 sc14: %t63 = load i32, ptr %t52 %t64 = load i32, ptr @g_g_xk_i %t65 = add i32 %t64, 12 %t66 = icmp slt i32 %t63, %t65 %t67 = zext i1 %t66 to i32 %t68 = icmp ne i32 %t67, 0 %t69 = zext i1 %t68 to i32 store i32 %t69, ptr %t56 br label %scend15 scend15: %t70 = load i32, ptr %t56 %t71 = icmp ne i32 %t70, 0 %t72 = zext i1 %t71 to i32 store i32 %t72, ptr %t55 br i1 %t71, label %sc16, label %scend17 sc16: %t73 = load ptr, ptr %t2 %t74 = load i32, ptr %t52 %t75 = getelementptr inbounds i8, ptr %t73, i32 %t74 %t76 = load i8, ptr %t75 %t77 = zext i8 %t76 to i32 %t78 = icmp ne i32 %t77, 59 %t79 = zext i1 %t78 to i32 %t80 = icmp ne i32 %t79, 0 %t81 = zext i1 %t80 to i32 store i32 %t81, ptr %t55 br label %scend17 scend17: %t82 = load i32, ptr %t55 %t83 = icmp ne i32 %t82, 0 %t84 = zext i1 %t83 to i32 store i32 %t84, ptr %t54 br i1 %t83, label %sc18, label %scend19 sc18: %t85 = load ptr, ptr %t2 %t86 = load i32, ptr %t52 %t87 = getelementptr inbounds i8, ptr %t85, i32 %t86 %t88 = load i8, ptr %t87 %t89 = zext i8 %t88 to i32 %t90 = icmp ne i32 %t89, 60 %t91 = zext i1 %t90 to i32 %t92 = icmp ne i32 %t91, 0 %t93 = zext i1 %t92 to i32 store i32 %t93, ptr %t54 br label %scend19 scend19: %t94 = load i32, ptr %t54 %t95 = icmp ne i32 %t94, 0 %t96 = zext i1 %t95 to i32 store i32 %t96, ptr %t53 br i1 %t95, label %sc20, label %scend21 sc20: %t97 = load ptr, ptr %t2 %t98 = load i32, ptr %t52 %t99 = getelementptr inbounds i8, ptr %t97, i32 %t98 %t100 = load i8, ptr %t99 %t101 = zext i8 %t100 to i32 %t102 = icmp ne i32 %t101, 32 %t103 = zext i1 %t102 to i32 %t104 = icmp ne i32 %t103, 0 %t105 = zext i1 %t104 to i32 store i32 %t105, ptr %t53 br label %scend21 scend21: %t106 = load i32, ptr %t53 %t107 = icmp ne i32 %t106, 0 br i1 %t107, label %wbody12, label %wend13 wbody12: %t108 = load i32, ptr %t52 %t109 = add i32 %t108, 1 store i32 %t109, ptr %t52 br label %wcond11 wend13: %t111 = load i32, ptr %t52 %t112 = load i32, ptr @g_g_xk_n %t113 = icmp slt i32 %t111, %t112 %t114 = zext i1 %t113 to i32 %t115 = icmp ne i32 %t114, 0 %t116 = zext i1 %t115 to i32 store i32 %t116, ptr %t110 br i1 %t115, label %sc22, label %scend23 sc22: %t117 = load ptr, ptr %t2 %t118 = load i32, ptr %t52 %t119 = getelementptr inbounds i8, ptr %t117, i32 %t118 %t120 = load i8, ptr %t119 %t121 = zext i8 %t120 to i32 %t122 = icmp eq i32 %t121, 59 %t123 = zext i1 %t122 to i32 %t124 = icmp ne i32 %t123, 0 %t125 = zext i1 %t124 to i32 store i32 %t125, ptr %t110 br label %scend23 scend23: %t126 = load i32, ptr %t110 %t127 = icmp ne i32 %t126, 0 br i1 %t127, label %then24, label %ifend26 then24: %t128 = load i32, ptr %t52 %t129 = add i32 %t128, 1 call void @fn_xk_move(i32 %t129) store i32 0, ptr %t5 br label %wcond0 ifend26: br label %ifend10 ifend10: %t130 = load i32, ptr %t4 %t131 = icmp slt i32 %t130, 0 %t132 = zext i1 %t131 to i32 %t133 = icmp ne i32 %t132, 0 br i1 %t133, label %then27, label %ifend29 then27: %t135 = load i32, ptr %t29 %t136 = icmp slt i32 %t135, 0 %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 %scend31, label %sc30 sc30: %t140 = load i32, ptr %t29 %t141 = icmp sge i32 %t140, 128 %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 %scend31 scend31: %t145 = load i32, ptr %t134 %t146 = icmp ne i32 %t145, 0 br i1 %t146, label %then32, label %ifend34 then32: %t147 = load i32, ptr @g_g_xk_i store i32 %t147, ptr %t4 br label %ifend34 ifend34: %t150 = load i32, ptr %t29 %t151 = icmp sge i32 %t150, 97 %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 %sc35, label %scend36 sc35: %t155 = load i32, ptr %t29 %t156 = icmp sle i32 %t155, 122 %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 %scend36 scend36: %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 %scend38, label %sc37 sc37: %t164 = load i32, ptr %t29 %t165 = icmp sge i32 %t164, 65 %t166 = zext i1 %t165 to i32 %t167 = icmp ne i32 %t166, 0 %t168 = zext i1 %t167 to i32 store i32 %t168, ptr %t163 br i1 %t167, label %sc39, label %scend40 sc39: %t169 = load i32, ptr %t29 %t170 = icmp sle i32 %t169, 90 %t171 = zext i1 %t170 to i32 %t172 = icmp ne i32 %t171, 0 %t173 = zext i1 %t172 to i32 store i32 %t173, ptr %t163 br label %scend40 scend40: %t174 = load i32, ptr %t163 %t175 = icmp ne i32 %t174, 0 %t176 = zext i1 %t175 to i32 store i32 %t176, ptr %t148 br label %scend38 scend38: %t177 = load i32, ptr %t148 %t178 = icmp ne i32 %t177, 0 br i1 %t178, label %then41, label %else42 then41: %t179 = load i32, ptr %t5 %t180 = add i32 %t179, 1 store i32 %t180, ptr %t5 br label %ifend43 else42: store i32 0, ptr %t5 br label %ifend43 ifend43: %t181 = load i32, ptr %t5 %t182 = icmp sge i32 %t181, 2 %t183 = zext i1 %t182 to i32 %t184 = icmp ne i32 %t183, 0 br i1 %t184, label %then44, label %ifend46 then44: %t185 = load i32, ptr @g_g_xk_i %t186 = sub i32 %t185, 1 store i32 %t186, ptr %t4 br label %ifend46 ifend46: br label %ifend29 ifend29: %t187 = load i32, ptr @g_g_xk_i %t188 = add i32 %t187, 1 call void @fn_xk_move(i32 %t188) br label %wcond0 wend2: %t190 = load i32, ptr %t4 %t191 = icmp sge i32 %t190, 0 %t192 = zext i1 %t191 to i32 %t193 = icmp ne i32 %t192, 0 %t194 = zext i1 %t193 to i32 store i32 %t194, ptr %t189 br i1 %t193, label %sc47, label %scend48 sc47: %t195 = load i32, ptr %t0 %t196 = icmp eq i32 %t195, 0 %t197 = zext i1 %t196 to i32 %t198 = icmp ne i32 %t197, 0 %t199 = zext i1 %t198 to i32 store i32 %t199, ptr %t189 br label %scend48 scend48: %t200 = load i32, ptr %t189 %t201 = icmp ne i32 %t200, 0 br i1 %t201, label %then49, label %ifend51 then49: %t202 = load i32, ptr %t4 %t203 = call i32 @fn_xk_trim_start(i32 %t202) store i32 %t203, ptr %t204 %t205 = load i32, ptr %t204 call void @fn_xk_where_back(i32 %t205) %t206 = load ptr, ptr @g_g_xk_file %t207 = load i32, ptr @g_g_xk_at_line %t208 = load i32, ptr @g_g_xk_at_col %t209 = load i32, ptr %t204 %t210 = call ptr @fn_xk_words_from(i32 %t209) %t211 = call ptr @fn_i18n_short(ptr %t210) store i32 3777, ptr @lp_site %t212 = call ptr @lp_str_concat(ptr @.str4422, ptr %t211) store i32 0, ptr @lp_site store i32 3778, ptr @lp_site %t213 = call ptr @lp_str_concat(ptr %t212, ptr @.str4424) store i32 0, ptr @lp_site call void @lp_free(ptr %t212) call void @fn_i18n_english_left(ptr %t206, i32 %t207, i32 %t208, ptr %t213) br label %ifend51 ifend51: br label %ret ret: ret void } define i32 @fn_xk_trim_start(i32 %arg_at) { entry: %retval = alloca i32 %t0 = alloca i32 %t2 = alloca i32 %t3 = alloca i32 %t4 = alloca i32 %t5 = alloca i32 %t6 = alloca i32 %t7 = alloca i32 store i32 %arg_at, ptr %t0 %t1 = load i32, ptr %t0 store i32 %t1, ptr %t2 br label %wcond0 wcond0: %t8 = load i32, ptr %t2 %t9 = icmp sgt i32 %t8, 0 %t10 = zext i1 %t9 to i32 %t11 = icmp ne i32 %t10, 0 %t12 = zext i1 %t11 to i32 store i32 %t12, ptr %t7 br i1 %t11, label %sc3, label %scend4 sc3: %t13 = load ptr, ptr @g_g_xk_src %t14 = load i32, ptr %t2 %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 ne i32 %t18, 62 %t20 = zext i1 %t19 to i32 %t21 = icmp ne i32 %t20, 0 %t22 = zext i1 %t21 to i32 store i32 %t22, ptr %t7 br label %scend4 scend4: %t23 = load i32, ptr %t7 %t24 = icmp ne i32 %t23, 0 %t25 = zext i1 %t24 to i32 store i32 %t25, ptr %t6 br i1 %t24, label %sc5, label %scend6 sc5: %t26 = load ptr, ptr @g_g_xk_src %t27 = load i32, ptr %t2 %t28 = sub i32 %t27, 1 %t29 = getelementptr inbounds i8, ptr %t26, i32 %t28 %t30 = load i8, ptr %t29 %t31 = zext i8 %t30 to i32 %t32 = icmp ne i32 %t31, 125 %t33 = zext i1 %t32 to i32 %t34 = icmp ne i32 %t33, 0 %t35 = zext i1 %t34 to i32 store i32 %t35, ptr %t6 br label %scend6 scend6: %t36 = load i32, ptr %t6 %t37 = icmp ne i32 %t36, 0 %t38 = zext i1 %t37 to i32 store i32 %t38, ptr %t5 br i1 %t37, label %sc7, label %scend8 sc7: %t39 = load ptr, ptr @g_g_xk_src %t40 = load i32, ptr %t2 %t41 = sub i32 %t40, 1 %t42 = getelementptr inbounds i8, ptr %t39, i32 %t41 %t43 = load i8, ptr %t42 %t44 = zext i8 %t43 to i32 %t45 = icmp ne i32 %t44, 32 %t46 = zext i1 %t45 to i32 %t47 = icmp ne i32 %t46, 0 %t48 = zext i1 %t47 to i32 store i32 %t48, ptr %t5 br label %scend8 scend8: %t49 = load i32, ptr %t5 %t50 = icmp ne i32 %t49, 0 %t51 = zext i1 %t50 to i32 store i32 %t51, ptr %t4 br i1 %t50, label %sc9, label %scend10 sc9: %t52 = load ptr, ptr @g_g_xk_src %t53 = load i32, ptr %t2 %t54 = sub i32 %t53, 1 %t55 = getelementptr inbounds i8, ptr %t52, i32 %t54 %t56 = load i8, ptr %t55 %t57 = zext i8 %t56 to i32 %t58 = icmp ne i32 %t57, 10 %t59 = zext i1 %t58 to i32 %t60 = icmp ne i32 %t59, 0 %t61 = zext i1 %t60 to i32 store i32 %t61, ptr %t4 br label %scend10 scend10: %t62 = load i32, ptr %t4 %t63 = icmp ne i32 %t62, 0 %t64 = zext i1 %t63 to i32 store i32 %t64, ptr %t3 br i1 %t63, label %sc11, label %scend12 sc11: %t65 = load ptr, ptr @g_g_xk_src %t66 = load i32, ptr %t2 %t67 = sub i32 %t66, 1 %t68 = getelementptr inbounds i8, ptr %t65, i32 %t67 %t69 = load i8, ptr %t68 %t70 = zext i8 %t69 to i32 %t71 = icmp ne i32 %t70, 9 %t72 = zext i1 %t71 to i32 %t73 = icmp ne i32 %t72, 0 %t74 = zext i1 %t73 to i32 store i32 %t74, ptr %t3 br label %scend12 scend12: %t75 = load i32, ptr %t3 %t76 = icmp ne i32 %t75, 0 br i1 %t76, label %wbody1, label %wend2 wbody1: %t77 = load i32, ptr %t2 %t78 = sub i32 %t77, 1 store i32 %t78, ptr %t2 br label %wcond0 wend2: %t79 = load i32, ptr %t2 store i32 %t79, ptr %retval br label %ret ret: %t80 = load i32, ptr %retval ret i32 %t80 } define ptr @fn_xk_words_from(i32 %arg_a) { entry: %retval = alloca ptr %t0 = alloca i32 %t2 = alloca i32 %t3 = alloca i32 %t4 = alloca i32 store i32 %arg_a, ptr %t0 %t1 = load i32, ptr %t0 store i32 %t1, ptr %t2 br label %wcond0 wcond0: %t5 = load i32, ptr %t2 %t6 = load i32, ptr @g_g_xk_n %t7 = icmp slt i32 %t5, %t6 %t8 = zext i1 %t7 to i32 %t9 = icmp ne i32 %t8, 0 %t10 = zext i1 %t9 to i32 store i32 %t10, ptr %t4 br i1 %t9, label %sc3, label %scend4 sc3: %t11 = load ptr, ptr @g_g_xk_src %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 = icmp ne i32 %t15, 60 %t17 = zext i1 %t16 to i32 %t18 = icmp ne i32 %t17, 0 %t19 = zext i1 %t18 to i32 store i32 %t19, ptr %t4 br label %scend4 scend4: %t20 = load i32, ptr %t4 %t21 = icmp ne i32 %t20, 0 %t22 = zext i1 %t21 to i32 store i32 %t22, ptr %t3 br i1 %t21, label %sc5, label %scend6 sc5: %t23 = load ptr, ptr @g_g_xk_src %t24 = load i32, ptr %t2 %t25 = getelementptr inbounds i8, ptr %t23, i32 %t24 %t26 = load i8, ptr %t25 %t27 = zext i8 %t26 to i32 %t28 = icmp ne i32 %t27, 123 %t29 = zext i1 %t28 to i32 %t30 = icmp ne i32 %t29, 0 %t31 = zext i1 %t30 to i32 store i32 %t31, ptr %t3 br label %scend6 scend6: %t32 = load i32, ptr %t3 %t33 = icmp ne i32 %t32, 0 br i1 %t33, label %wbody1, label %wend2 wbody1: %t34 = load i32, ptr %t2 %t35 = add i32 %t34, 1 store i32 %t35, ptr %t2 br label %wcond0 wend2: %t36 = load ptr, ptr @g_g_xk_src %t37 = load i32, ptr %t0 %t38 = load i32, ptr %t2 store i32 3779, ptr @lp_site %t39 = call ptr @lp_str_slice(ptr %t36, i32 %t37, i32 %t38) store i32 0, ptr @lp_site store ptr %t39, ptr %retval br label %ret ret: %t40 = load ptr, ptr %retval ret ptr %t40 } define void @fn_xk_where_back(i32 %arg_at) { entry: %t0 = alloca i32 %t1 = alloca i32 %t2 = alloca i32 %t3 = alloca i32 store i32 %arg_at, ptr %t0 store i32 1, ptr %t1 store i32 0, ptr %t2 store i32 0, ptr %t3 br label %wcond0 wcond0: %t4 = load i32, ptr %t3 %t5 = load i32, ptr %t0 %t6 = icmp slt i32 %t4, %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_xk_src %t10 = load i32, ptr %t3 %t11 = getelementptr inbounds i8, ptr %t9, i32 %t10 %t12 = load i8, ptr %t11 %t13 = zext i8 %t12 to i32 %t14 = icmp eq i32 %t13, 10 %t15 = zext i1 %t14 to i32 %t16 = icmp ne i32 %t15, 0 br i1 %t16, label %then3, label %ifend5 then3: %t17 = load i32, ptr %t1 %t18 = add i32 %t17, 1 store i32 %t18, ptr %t1 %t19 = load i32, ptr %t3 %t20 = add i32 %t19, 1 store i32 %t20, ptr %t2 br label %ifend5 ifend5: %t21 = load i32, ptr %t3 %t22 = add i32 %t21, 1 store i32 %t22, ptr %t3 br label %wcond0 wend2: %t23 = load i32, ptr %t1 store i32 %t23, ptr @g_g_xk_at_line %t24 = load i32, ptr %t0 %t25 = load i32, ptr %t2 %t26 = sub i32 %t24, %t25 %t27 = add i32 %t26, 1 store i32 %t27, ptr @g_g_xk_at_col br label %ret ret: ret void } define i32 @fn_xk_name_ch(i32 %arg_c) { entry: %retval = alloca i32 %t0 = alloca i32 %t1 = alloca i32 %t2 = alloca i32 %t3 = alloca i32 %t4 = alloca i32 %t5 = alloca i32 store i32 %arg_c, ptr %t0 %t6 = load i32, ptr %t0 %t7 = call i32 @fn_char_is_alnum(i32 %t6) %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 i32, ptr %t0 %t11 = icmp eq i32 %t10, 95 %t12 = zext i1 %t11 to i32 %t13 = icmp ne i32 %t12, 0 %t14 = zext i1 %t13 to i32 store i32 %t14, ptr %t5 br label %scend1 scend1: %t15 = load i32, ptr %t5 %t16 = icmp ne i32 %t15, 0 %t17 = zext i1 %t16 to i32 store i32 %t17, ptr %t4 br i1 %t16, label %scend3, label %sc2 sc2: %t18 = load i32, ptr %t0 %t19 = icmp eq i32 %t18, 45 %t20 = zext i1 %t19 to i32 %t21 = icmp ne i32 %t20, 0 %t22 = zext i1 %t21 to i32 store i32 %t22, ptr %t4 br label %scend3 scend3: %t23 = load i32, ptr %t4 %t24 = icmp ne i32 %t23, 0 %t25 = zext i1 %t24 to i32 store i32 %t25, ptr %t3 br i1 %t24, label %scend5, label %sc4 sc4: %t26 = load i32, ptr %t0 %t27 = icmp eq i32 %t26, 58 %t28 = zext i1 %t27 to i32 %t29 = icmp ne i32 %t28, 0 %t30 = zext i1 %t29 to i32 store i32 %t30, ptr %t3 br label %scend5 scend5: %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 %scend7, label %sc6 sc6: %t34 = load i32, ptr %t0 %t35 = icmp eq i32 %t34, 46 %t36 = zext i1 %t35 to i32 %t37 = icmp ne i32 %t36, 0 %t38 = zext i1 %t37 to i32 store i32 %t38, ptr %t2 br label %scend7 scend7: %t39 = load i32, ptr %t2 %t40 = icmp ne i32 %t39, 0 %t41 = zext i1 %t40 to i32 store i32 %t41, ptr %t1 br i1 %t40, label %scend9, label %sc8 sc8: %t42 = load i32, ptr %t0 %t43 = icmp eq i32 %t42, 64 %t44 = zext i1 %t43 to i32 %t45 = icmp ne i32 %t44, 0 %t46 = zext i1 %t45 to i32 store i32 %t46, ptr %t1 br label %scend9 scend9: %t47 = load i32, ptr %t1 store i32 %t47, ptr %retval br label %ret ret: %t48 = load i32, ptr %retval ret i32 %t48 } define i32 @fn_xk_space(i32 %arg_c) { entry: %retval = alloca i32 %t0 = alloca i32 %t1 = alloca i32 %t2 = alloca i32 %t3 = alloca i32 store i32 %arg_c, ptr %t0 %t4 = load i32, ptr %t0 %t5 = icmp eq i32 %t4, 32 %t6 = zext i1 %t5 to i32 %t7 = icmp ne i32 %t6, 0 %t8 = zext i1 %t7 to i32 store i32 %t8, ptr %t3 br i1 %t7, label %scend1, label %sc0 sc0: %t9 = load i32, ptr %t0 %t10 = icmp eq i32 %t9, 10 %t11 = zext i1 %t10 to i32 %t12 = icmp ne i32 %t11, 0 %t13 = zext i1 %t12 to i32 store i32 %t13, ptr %t3 br label %scend1 scend1: %t14 = load i32, ptr %t3 %t15 = icmp ne i32 %t14, 0 %t16 = zext i1 %t15 to i32 store i32 %t16, ptr %t2 br i1 %t15, label %scend3, label %sc2 sc2: %t17 = load i32, ptr %t0 %t18 = icmp eq i32 %t17, 9 %t19 = zext i1 %t18 to i32 %t20 = icmp ne i32 %t19, 0 %t21 = zext i1 %t20 to i32 store i32 %t21, ptr %t2 br label %scend3 scend3: %t22 = load i32, ptr %t2 %t23 = icmp ne i32 %t22, 0 %t24 = zext i1 %t23 to i32 store i32 %t24, ptr %t1 br i1 %t23, label %scend5, label %sc4 sc4: %t25 = load i32, ptr %t0 %t26 = icmp eq i32 %t25, 13 %t27 = zext i1 %t26 to i32 %t28 = icmp ne i32 %t27, 0 %t29 = zext i1 %t28 to i32 store i32 %t29, ptr %t1 br label %scend5 scend5: %t30 = load i32, ptr %t1 store i32 %t30, ptr %retval br label %ret ret: %t31 = load i32, ptr %retval ret i32 %t31 } define i32 @fn_xk_tag(i32 %arg_quiet) { entry: %retval = alloca i32 %t0 = alloca i32 %t2 = alloca ptr %t5 = alloca i32 %t7 = alloca i32 %t8 = alloca i32 %t37 = alloca ptr %t44 = alloca ptr %t51 = alloca ptr %t52 = alloca i32 %t58 = alloca i32 %t103 = alloca i32 %t104 = alloca i32 %t105 = alloca i32 %t106 = alloca i32 %t107 = alloca i32 %t175 = alloca ptr %t176 = alloca i32 %t196 = alloca i32 %t198 = alloca i32 %t199 = alloca i32 %t219 = alloca i32 %t238 = alloca i32 %t245 = alloca i32 %t274 = alloca i32 %t278 = alloca i32 %t321 = alloca i32 %t322 = alloca i32 %t416 = alloca i32 %t430 = alloca i32 %t468 = alloca i32 store i32 %arg_quiet, ptr %t0 %t1 = load ptr, ptr @g_g_xk_src store ptr %t1, ptr %t2 %t3 = load i32, ptr @g_g_xk_i %t4 = add i32 %t3, 1 store i32 %t4, ptr %t5 %t6 = load i32, ptr %t5 store i32 %t6, ptr %t7 br label %wcond0 wcond0: %t9 = load i32, ptr %t5 %t10 = load i32, ptr @g_g_xk_n %t11 = icmp slt 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 %t8 br i1 %t13, label %sc3, label %scend4 sc3: %t15 = load ptr, ptr %t2 %t16 = load i32, ptr %t5 %t17 = getelementptr inbounds i8, ptr %t15, i32 %t16 %t18 = load i8, ptr %t17 %t19 = zext i8 %t18 to i32 %t20 = call i32 @fn_xk_name_ch(i32 %t19) %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 br i1 %t24, label %wbody1, label %wend2 wbody1: %t25 = load i32, ptr %t5 %t26 = add i32 %t25, 1 store i32 %t26, ptr %t5 br label %wcond0 wend2: %t27 = load ptr, ptr %t2 %t28 = load i32, ptr %t7 %t29 = load i32, ptr %t5 store i32 3780, ptr @lp_site %t30 = call ptr @lp_str_slice(ptr %t27, i32 %t28, i32 %t29) store i32 0, ptr @lp_site store ptr %t30, ptr @g_g_xk_last_name store i32 1, ptr @g_g_xk_last_open %t31 = getelementptr %LSlice, ptr null, i32 1 %t32 = ptrtoint ptr %t31 to i64 store i32 3781, ptr @lp_site %t33 = call ptr @lp_malloc(i64 %t32) store i32 0, ptr @lp_site %t34 = getelementptr inbounds %LSlice, ptr %t33, i32 0, i32 0 store ptr null, ptr %t34 %t35 = getelementptr inbounds %LSlice, ptr %t33, i32 0, i32 1 store i32 0, ptr %t35 %t36 = getelementptr inbounds %LSlice, ptr %t33, i32 0, i32 2 store i32 0, ptr %t36 store ptr %t33, ptr %t37 %t38 = getelementptr %LSlice, ptr null, i32 1 %t39 = ptrtoint ptr %t38 to i64 store i32 3782, ptr @lp_site %t40 = call ptr @lp_malloc(i64 %t39) store i32 0, ptr @lp_site %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 %t44 %t45 = getelementptr %LSlice, ptr null, i32 1 %t46 = ptrtoint ptr %t45 to i64 store i32 3783, ptr @lp_site %t47 = call ptr @lp_malloc(i64 %t46) store i32 0, ptr @lp_site %t48 = getelementptr inbounds %LSlice, ptr %t47, i32 0, i32 0 store ptr null, ptr %t48 %t49 = getelementptr inbounds %LSlice, ptr %t47, i32 0, i32 1 store i32 0, ptr %t49 %t50 = getelementptr inbounds %LSlice, ptr %t47, i32 0, i32 2 store i32 0, ptr %t50 store ptr %t47, ptr %t51 store i32 0, ptr %t52 br label %wcond5 wcond5: %t53 = load i32, ptr %t5 %t54 = load i32, ptr @g_g_xk_n %t55 = icmp slt i32 %t53, %t54 %t56 = zext i1 %t55 to i32 %t57 = icmp ne i32 %t56, 0 br i1 %t57, label %wbody6, label %wend7 wbody6: br label %wcond8 wcond8: %t59 = load i32, ptr %t5 %t60 = load i32, ptr @g_g_xk_n %t61 = icmp slt i32 %t59, %t60 %t62 = zext i1 %t61 to i32 %t63 = icmp ne i32 %t62, 0 %t64 = zext i1 %t63 to i32 store i32 %t64, ptr %t58 br i1 %t63, label %sc11, label %scend12 sc11: %t65 = load ptr, ptr %t2 %t66 = load i32, ptr %t5 %t67 = getelementptr inbounds i8, ptr %t65, i32 %t66 %t68 = load i8, ptr %t67 %t69 = zext i8 %t68 to i32 %t70 = call i32 @fn_xk_space(i32 %t69) %t71 = icmp ne i32 %t70, 0 %t72 = zext i1 %t71 to i32 store i32 %t72, ptr %t58 br label %scend12 scend12: %t73 = load i32, ptr %t58 %t74 = icmp ne i32 %t73, 0 br i1 %t74, label %wbody9, label %wend10 wbody9: %t75 = load i32, ptr %t5 %t76 = add i32 %t75, 1 store i32 %t76, ptr %t5 br label %wcond8 wend10: %t77 = load i32, ptr %t5 %t78 = load i32, ptr @g_g_xk_n %t79 = icmp sge i32 %t77, %t78 %t80 = zext i1 %t79 to i32 %t81 = icmp ne i32 %t80, 0 br i1 %t81, label %then13, label %ifend15 then13: br label %wend7 ifend15: %t82 = load ptr, ptr %t2 %t83 = load i32, ptr %t5 %t84 = getelementptr inbounds i8, ptr %t82, i32 %t83 %t85 = load i8, ptr %t84 %t86 = zext i8 %t85 to i32 %t87 = icmp eq i32 %t86, 62 %t88 = zext i1 %t87 to i32 %t89 = icmp ne i32 %t88, 0 br i1 %t89, label %then16, label %ifend18 then16: %t90 = load i32, ptr %t5 %t91 = add i32 %t90, 1 store i32 %t91, ptr %t5 br label %wend7 ifend18: %t92 = load ptr, ptr %t2 %t93 = load i32, ptr %t5 %t94 = getelementptr inbounds i8, ptr %t92, i32 %t93 %t95 = load i8, ptr %t94 %t96 = zext i8 %t95 to i32 %t97 = icmp eq i32 %t96, 47 %t98 = zext i1 %t97 to i32 %t99 = icmp ne i32 %t98, 0 br i1 %t99, label %then19, label %ifend21 then19: store i32 0, ptr @g_g_xk_last_open %t100 = load i32, ptr %t5 %t101 = add i32 %t100, 1 store i32 %t101, ptr %t5 br label %wcond5 ifend21: %t102 = load i32, ptr %t5 store i32 %t102, ptr %t103 br label %wcond22 wcond22: %t108 = load i32, ptr %t5 %t109 = load i32, ptr @g_g_xk_n %t110 = icmp slt i32 %t108, %t109 %t111 = zext i1 %t110 to i32 %t112 = icmp ne i32 %t111, 0 %t113 = zext i1 %t112 to i32 store i32 %t113, ptr %t107 br i1 %t112, label %sc25, label %scend26 sc25: %t114 = load ptr, ptr %t2 %t115 = load i32, ptr %t5 %t116 = getelementptr inbounds i8, ptr %t114, i32 %t115 %t117 = load i8, ptr %t116 %t118 = zext i8 %t117 to i32 %t119 = call i32 @fn_xk_space(i32 %t118) %t120 = icmp eq i32 %t119, 0 %t121 = zext i1 %t120 to i32 %t122 = icmp ne i32 %t121, 0 %t123 = zext i1 %t122 to i32 store i32 %t123, ptr %t107 br label %scend26 scend26: %t124 = load i32, ptr %t107 %t125 = icmp ne i32 %t124, 0 %t126 = zext i1 %t125 to i32 store i32 %t126, ptr %t106 br i1 %t125, label %sc27, label %scend28 sc27: %t127 = load ptr, ptr %t2 %t128 = load i32, ptr %t5 %t129 = getelementptr inbounds i8, ptr %t127, i32 %t128 %t130 = load i8, ptr %t129 %t131 = zext i8 %t130 to i32 %t132 = icmp ne i32 %t131, 61 %t133 = zext i1 %t132 to i32 %t134 = icmp ne i32 %t133, 0 %t135 = zext i1 %t134 to i32 store i32 %t135, ptr %t106 br label %scend28 scend28: %t136 = load i32, ptr %t106 %t137 = icmp ne i32 %t136, 0 %t138 = zext i1 %t137 to i32 store i32 %t138, ptr %t105 br i1 %t137, label %sc29, label %scend30 sc29: %t139 = load ptr, ptr %t2 %t140 = load i32, ptr %t5 %t141 = getelementptr inbounds i8, ptr %t139, i32 %t140 %t142 = load i8, ptr %t141 %t143 = zext i8 %t142 to i32 %t144 = icmp ne i32 %t143, 62 %t145 = zext i1 %t144 to i32 %t146 = icmp ne i32 %t145, 0 %t147 = zext i1 %t146 to i32 store i32 %t147, ptr %t105 br label %scend30 scend30: %t148 = load i32, ptr %t105 %t149 = icmp ne i32 %t148, 0 %t150 = zext i1 %t149 to i32 store i32 %t150, ptr %t104 br i1 %t149, label %sc31, label %scend32 sc31: %t151 = load ptr, ptr %t2 %t152 = load i32, ptr %t5 %t153 = getelementptr inbounds i8, ptr %t151, i32 %t152 %t154 = load i8, ptr %t153 %t155 = zext i8 %t154 to i32 %t156 = icmp ne i32 %t155, 47 %t157 = zext i1 %t156 to i32 %t158 = icmp ne i32 %t157, 0 %t159 = zext i1 %t158 to i32 store i32 %t159, ptr %t104 br label %scend32 scend32: %t160 = load i32, ptr %t104 %t161 = icmp ne i32 %t160, 0 br i1 %t161, label %wbody23, label %wend24 wbody23: %t162 = load i32, ptr %t5 %t163 = add i32 %t162, 1 store i32 %t163, ptr %t5 br label %wcond22 wend24: %t164 = load i32, ptr %t5 %t165 = load i32, ptr %t103 %t166 = icmp eq i32 %t164, %t165 %t167 = zext i1 %t166 to i32 %t168 = icmp ne i32 %t167, 0 br i1 %t168, label %then33, label %ifend35 then33: %t169 = load i32, ptr %t5 %t170 = add i32 %t169, 1 store i32 %t170, ptr %t5 br label %wcond5 ifend35: %t171 = load ptr, ptr %t2 %t172 = load i32, ptr %t103 %t173 = load i32, ptr %t5 store i32 3784, ptr @lp_site %t174 = call ptr @lp_str_slice(ptr %t171, i32 %t172, i32 %t173) store i32 0, ptr @lp_site store ptr %t174, ptr %t175 br label %wcond36 wcond36: %t177 = load i32, ptr %t5 %t178 = load i32, ptr @g_g_xk_n %t179 = icmp slt i32 %t177, %t178 %t180 = zext i1 %t179 to i32 %t181 = icmp ne i32 %t180, 0 %t182 = zext i1 %t181 to i32 store i32 %t182, ptr %t176 br i1 %t181, label %sc39, label %scend40 sc39: %t183 = load ptr, ptr %t2 %t184 = load i32, ptr %t5 %t185 = getelementptr inbounds i8, ptr %t183, i32 %t184 %t186 = load i8, ptr %t185 %t187 = zext i8 %t186 to i32 %t188 = call i32 @fn_xk_space(i32 %t187) %t189 = icmp ne i32 %t188, 0 %t190 = zext i1 %t189 to i32 store i32 %t190, ptr %t176 br label %scend40 scend40: %t191 = load i32, ptr %t176 %t192 = icmp ne i32 %t191, 0 br i1 %t192, label %wbody37, label %wend38 wbody37: %t193 = load i32, ptr %t5 %t194 = add i32 %t193, 1 store i32 %t194, ptr %t5 br label %wcond36 wend38: %t195 = load i32, ptr %t5 store i32 %t195, ptr %t196 %t197 = load i32, ptr %t5 store i32 %t197, ptr %t198 %t200 = load i32, ptr %t5 %t201 = load i32, ptr @g_g_xk_n %t202 = icmp slt i32 %t200, %t201 %t203 = zext i1 %t202 to i32 %t204 = icmp ne i32 %t203, 0 %t205 = zext i1 %t204 to i32 store i32 %t205, ptr %t199 br i1 %t204, label %sc41, label %scend42 sc41: %t206 = load ptr, ptr %t2 %t207 = load i32, ptr %t5 %t208 = getelementptr inbounds i8, ptr %t206, i32 %t207 %t209 = load i8, ptr %t208 %t210 = zext i8 %t209 to i32 %t211 = icmp eq i32 %t210, 61 %t212 = zext i1 %t211 to i32 %t213 = icmp ne i32 %t212, 0 %t214 = zext i1 %t213 to i32 store i32 %t214, ptr %t199 br label %scend42 scend42: %t215 = load i32, ptr %t199 %t216 = icmp ne i32 %t215, 0 br i1 %t216, label %then43, label %ifend45 then43: %t217 = load i32, ptr %t5 %t218 = add i32 %t217, 1 store i32 %t218, ptr %t5 br label %wcond46 wcond46: %t220 = load i32, ptr %t5 %t221 = load i32, ptr @g_g_xk_n %t222 = icmp slt i32 %t220, %t221 %t223 = zext i1 %t222 to i32 %t224 = icmp ne i32 %t223, 0 %t225 = zext i1 %t224 to i32 store i32 %t225, ptr %t219 br i1 %t224, label %sc49, label %scend50 sc49: %t226 = load ptr, ptr %t2 %t227 = load i32, ptr %t5 %t228 = getelementptr inbounds i8, ptr %t226, i32 %t227 %t229 = load i8, ptr %t228 %t230 = zext i8 %t229 to i32 %t231 = call i32 @fn_xk_space(i32 %t230) %t232 = icmp ne i32 %t231, 0 %t233 = zext i1 %t232 to i32 store i32 %t233, ptr %t219 br label %scend50 scend50: %t234 = load i32, ptr %t219 %t235 = icmp ne i32 %t234, 0 br i1 %t235, label %wbody47, label %wend48 wbody47: %t236 = load i32, ptr %t5 %t237 = add i32 %t236, 1 store i32 %t237, ptr %t5 br label %wcond46 wend48: %t239 = load i32, ptr %t5 %t240 = load i32, ptr @g_g_xk_n %t241 = icmp slt i32 %t239, %t240 %t242 = zext i1 %t241 to i32 %t243 = icmp ne i32 %t242, 0 %t244 = zext i1 %t243 to i32 store i32 %t244, ptr %t238 br i1 %t243, label %sc51, label %scend52 sc51: %t246 = load ptr, ptr %t2 %t247 = load i32, ptr %t5 %t248 = getelementptr inbounds i8, ptr %t246, i32 %t247 %t249 = load i8, ptr %t248 %t250 = zext i8 %t249 to i32 %t251 = icmp eq i32 %t250, 34 %t252 = zext i1 %t251 to i32 %t253 = icmp ne i32 %t252, 0 %t254 = zext i1 %t253 to i32 store i32 %t254, ptr %t245 br i1 %t253, label %scend54, label %sc53 sc53: %t255 = load ptr, ptr %t2 %t256 = load i32, ptr %t5 %t257 = getelementptr inbounds i8, ptr %t255, i32 %t256 %t258 = load i8, ptr %t257 %t259 = zext i8 %t258 to i32 %t260 = icmp eq i32 %t259, 39 %t261 = zext i1 %t260 to i32 %t262 = icmp ne i32 %t261, 0 %t263 = zext i1 %t262 to i32 store i32 %t263, ptr %t245 br label %scend54 scend54: %t264 = load i32, ptr %t245 %t265 = icmp ne i32 %t264, 0 %t266 = zext i1 %t265 to i32 store i32 %t266, ptr %t238 br label %scend52 scend52: %t267 = load i32, ptr %t238 %t268 = icmp ne i32 %t267, 0 br i1 %t268, label %then55, label %else56 then55: %t269 = load ptr, ptr %t2 %t270 = load i32, ptr %t5 %t271 = getelementptr inbounds i8, ptr %t269, i32 %t270 %t272 = load i8, ptr %t271 %t273 = zext i8 %t272 to i32 store i32 %t273, ptr %t274 %t275 = load i32, ptr %t5 %t276 = add i32 %t275, 1 store i32 %t276, ptr %t5 %t277 = load i32, ptr %t5 store i32 %t277, ptr %t196 br label %wcond58 wcond58: %t279 = load i32, ptr %t5 %t280 = load i32, ptr @g_g_xk_n %t281 = icmp slt i32 %t279, %t280 %t282 = zext i1 %t281 to i32 %t283 = icmp ne i32 %t282, 0 %t284 = zext i1 %t283 to i32 store i32 %t284, ptr %t278 br i1 %t283, label %sc61, label %scend62 sc61: %t285 = load ptr, ptr %t2 %t286 = load i32, ptr %t5 %t287 = getelementptr inbounds i8, ptr %t285, i32 %t286 %t288 = load i8, ptr %t287 %t289 = zext i8 %t288 to i32 %t290 = load i32, ptr %t274 %t291 = icmp ne i32 %t289, %t290 %t292 = zext i1 %t291 to i32 %t293 = icmp ne i32 %t292, 0 %t294 = zext i1 %t293 to i32 store i32 %t294, ptr %t278 br label %scend62 scend62: %t295 = load i32, ptr %t278 %t296 = icmp ne i32 %t295, 0 br i1 %t296, label %wbody59, label %wend60 wbody59: %t297 = load ptr, ptr %t2 %t298 = load i32, ptr %t5 %t299 = getelementptr inbounds i8, ptr %t297, i32 %t298 %t300 = load i8, ptr %t299 %t301 = zext i8 %t300 to i32 %t302 = icmp eq i32 %t301, 123 %t303 = zext i1 %t302 to i32 %t304 = icmp ne i32 %t303, 0 br i1 %t304, label %then63, label %ifend65 then63: %t305 = load ptr, ptr %t2 %t306 = load i32, ptr %t5 %t307 = add i32 %t306, 1 %t308 = load i32, ptr @g_g_xk_n %t309 = call i32 @fn_hole_end(ptr %t305, i32 %t307, i32 %t308) store i32 %t309, ptr %t5 br label %ifend65 ifend65: %t310 = load i32, ptr %t5 %t311 = add i32 %t310, 1 store i32 %t311, ptr %t5 br label %wcond58 wend60: %t312 = load i32, ptr %t5 store i32 %t312, ptr %t198 %t313 = load i32, ptr %t5 %t314 = load i32, ptr @g_g_xk_n %t315 = icmp slt i32 %t313, %t314 %t316 = zext i1 %t315 to i32 %t317 = icmp ne i32 %t316, 0 br i1 %t317, label %then66, label %ifend68 then66: %t318 = load i32, ptr %t5 %t319 = add i32 %t318, 1 store i32 %t319, ptr %t5 br label %ifend68 ifend68: br label %ifend57 else56: %t320 = load i32, ptr %t5 store i32 %t320, ptr %t196 br label %wcond69 wcond69: %t323 = load i32, ptr %t5 %t324 = load i32, ptr @g_g_xk_n %t325 = icmp slt i32 %t323, %t324 %t326 = zext i1 %t325 to i32 %t327 = icmp ne i32 %t326, 0 %t328 = zext i1 %t327 to i32 store i32 %t328, ptr %t322 br i1 %t327, label %sc72, label %scend73 sc72: %t329 = load ptr, ptr %t2 %t330 = load i32, ptr %t5 %t331 = getelementptr inbounds i8, ptr %t329, i32 %t330 %t332 = load i8, ptr %t331 %t333 = zext i8 %t332 to i32 %t334 = call i32 @fn_xk_space(i32 %t333) %t335 = icmp eq i32 %t334, 0 %t336 = zext i1 %t335 to i32 %t337 = icmp ne i32 %t336, 0 %t338 = zext i1 %t337 to i32 store i32 %t338, ptr %t322 br label %scend73 scend73: %t339 = load i32, ptr %t322 %t340 = icmp ne i32 %t339, 0 %t341 = zext i1 %t340 to i32 store i32 %t341, ptr %t321 br i1 %t340, label %sc74, label %scend75 sc74: %t342 = load ptr, ptr %t2 %t343 = load i32, ptr %t5 %t344 = getelementptr inbounds i8, ptr %t342, i32 %t343 %t345 = load i8, ptr %t344 %t346 = zext i8 %t345 to i32 %t347 = icmp ne i32 %t346, 62 %t348 = zext i1 %t347 to i32 %t349 = icmp ne i32 %t348, 0 %t350 = zext i1 %t349 to i32 store i32 %t350, ptr %t321 br label %scend75 scend75: %t351 = load i32, ptr %t321 %t352 = icmp ne i32 %t351, 0 br i1 %t352, label %wbody70, label %wend71 wbody70: %t353 = load i32, ptr %t5 %t354 = add i32 %t353, 1 store i32 %t354, ptr %t5 br label %wcond69 wend71: %t355 = load i32, ptr %t5 store i32 %t355, ptr %t198 br label %ifend57 ifend57: br label %ifend45 ifend45: %t356 = load ptr, ptr %t37 %t357 = load ptr, ptr %t175 %t358 = getelementptr inbounds %LSlice, ptr %t356, i32 0, i32 1 %t359 = getelementptr inbounds %LSlice, ptr %t356, i32 0, i32 2 %t360 = getelementptr inbounds %LSlice, ptr %t356, i32 0, i32 0 %t361 = load i32, ptr %t358 %t362 = load i32, ptr %t359 %t363 = icmp sge i32 %t361, %t362 br i1 %t363, label %grow76, label %put77 grow76: %t364 = mul i32 %t362, 2 %t365 = icmp eq i32 %t362, 0 %t366 = select i1 %t365, i32 8, i32 %t364 %t367 = getelementptr ptr, ptr null, i32 1 %t368 = ptrtoint ptr %t367 to i64 %t369 = zext i32 %t366 to i64 %t370 = mul i64 %t369, %t368 %t371 = load ptr, ptr %t360 store i32 3785, ptr @lp_site %t372 = call ptr @lp_realloc(ptr %t371, i64 %t370) store i32 0, ptr @lp_site store ptr %t372, ptr %t360 store i32 %t366, ptr %t359 br label %put77 put77: %t373 = load ptr, ptr %t360 %t374 = getelementptr inbounds ptr, ptr %t373, i32 %t361 store ptr %t357, ptr %t374 %t375 = add i32 %t361, 1 store i32 %t375, ptr %t358 %t376 = load ptr, ptr %t44 %t377 = load i32, ptr %t196 %t378 = getelementptr inbounds %LSlice, ptr %t376, i32 0, i32 1 %t379 = getelementptr inbounds %LSlice, ptr %t376, i32 0, i32 2 %t380 = getelementptr inbounds %LSlice, ptr %t376, i32 0, i32 0 %t381 = load i32, ptr %t378 %t382 = load i32, ptr %t379 %t383 = icmp sge i32 %t381, %t382 br i1 %t383, label %grow78, label %put79 grow78: %t384 = mul i32 %t382, 2 %t385 = icmp eq i32 %t382, 0 %t386 = select i1 %t385, i32 8, i32 %t384 %t387 = getelementptr i32, ptr null, i32 1 %t388 = ptrtoint ptr %t387 to i64 %t389 = zext i32 %t386 to i64 %t390 = mul i64 %t389, %t388 %t391 = load ptr, ptr %t380 store i32 3786, ptr @lp_site %t392 = call ptr @lp_realloc(ptr %t391, i64 %t390) store i32 0, ptr @lp_site store ptr %t392, ptr %t380 store i32 %t386, ptr %t379 br label %put79 put79: %t393 = load ptr, ptr %t380 %t394 = getelementptr inbounds i32, ptr %t393, i32 %t381 store i32 %t377, ptr %t394 %t395 = add i32 %t381, 1 store i32 %t395, ptr %t378 %t396 = load ptr, ptr %t51 %t397 = load i32, ptr %t198 %t398 = getelementptr inbounds %LSlice, ptr %t396, i32 0, i32 1 %t399 = getelementptr inbounds %LSlice, ptr %t396, i32 0, i32 2 %t400 = getelementptr inbounds %LSlice, ptr %t396, i32 0, i32 0 %t401 = load i32, ptr %t398 %t402 = load i32, ptr %t399 %t403 = icmp sge i32 %t401, %t402 br i1 %t403, label %grow80, label %put81 grow80: %t404 = mul i32 %t402, 2 %t405 = icmp eq i32 %t402, 0 %t406 = select i1 %t405, i32 8, i32 %t404 %t407 = getelementptr i32, ptr null, i32 1 %t408 = ptrtoint ptr %t407 to i64 %t409 = zext i32 %t406 to i64 %t410 = mul i64 %t409, %t408 %t411 = load ptr, ptr %t400 store i32 3787, ptr @lp_site %t412 = call ptr @lp_realloc(ptr %t411, i64 %t410) store i32 0, ptr @lp_site store ptr %t412, ptr %t400 store i32 %t406, ptr %t399 br label %put81 put81: %t413 = load ptr, ptr %t400 %t414 = getelementptr inbounds i32, ptr %t413, i32 %t401 store i32 %t397, ptr %t414 %t415 = add i32 %t401, 1 store i32 %t415, ptr %t398 %t417 = load ptr, ptr %t175 %t418 = call i32 @lp_str_eq(ptr %t417, ptr @.str4427) %t419 = icmp ne i32 %t418, 0 %t420 = zext i1 %t419 to i32 store i32 %t420, ptr %t416 br i1 %t419, label %sc82, label %scend83 sc82: %t421 = load ptr, ptr %t2 %t422 = load i32, ptr %t196 %t423 = load i32, ptr %t198 store i32 3788, ptr @lp_site %t424 = call ptr @lp_str_slice(ptr %t421, i32 %t422, i32 %t423) store i32 0, ptr @lp_site %t425 = call i32 @lp_str_eq(ptr %t424, ptr @.str4428) call void @lp_free(ptr %t424) %t426 = icmp ne i32 %t425, 0 %t427 = zext i1 %t426 to i32 store i32 %t427, ptr %t416 br label %scend83 scend83: %t428 = load i32, ptr %t416 %t429 = icmp ne i32 %t428, 0 br i1 %t429, label %then84, label %ifend86 then84: store i32 1, ptr %t52 br label %ifend86 ifend86: br label %wcond5 wend7: store i32 0, ptr %t430 br label %wcond87 wcond87: %t431 = load i32, ptr %t430 %t432 = load ptr, ptr %t37 %t433 = getelementptr inbounds %LSlice, ptr %t432, i32 0, i32 1 %t434 = load i32, ptr %t433 %t435 = icmp slt i32 %t431, %t434 %t436 = zext i1 %t435 to i32 %t437 = icmp ne i32 %t436, 0 br i1 %t437, label %wbody88, label %wend89 wbody88: %t438 = load ptr, ptr %t37 %t439 = load i32, ptr %t430 %t440 = getelementptr inbounds %LSlice, ptr %t438, i32 0, i32 0 %t441 = load ptr, ptr %t440 %t442 = getelementptr inbounds %LSlice, ptr %t438, i32 0, i32 1 %t443 = load i32, ptr %t442 %t444 = icmp ult i32 %t439, %t443 br i1 %t444, label %ixok90, label %ixbad91 ixbad91: store i32 3789, ptr @lp_site %t445 = call ptr @lp_win_stdio(i32 2) store i32 0, ptr @lp_site call i32 (ptr, ptr, ...) @fprintf(ptr %t445, ptr @.fmt_bounds, ptr @.str4429, i32 %t439, i32 %t443) call void @exit(i32 1) unreachable ixok90: %t446 = getelementptr inbounds ptr, ptr %t441, i32 %t439 %t447 = load ptr, ptr %t446 %t448 = load ptr, ptr %t44 %t449 = load i32, ptr %t430 %t450 = getelementptr inbounds %LSlice, ptr %t448, i32 0, i32 0 %t451 = load ptr, ptr %t450 %t452 = getelementptr inbounds %LSlice, ptr %t448, i32 0, i32 1 %t453 = load i32, ptr %t452 %t454 = icmp ult i32 %t449, %t453 br i1 %t454, label %ixok92, label %ixbad93 ixbad93: store i32 3790, ptr @lp_site %t455 = call ptr @lp_win_stdio(i32 2) store i32 0, ptr @lp_site call i32 (ptr, ptr, ...) @fprintf(ptr %t455, ptr @.fmt_bounds, ptr @.str4430, i32 %t449, i32 %t453) call void @exit(i32 1) unreachable ixok92: %t456 = getelementptr inbounds i32, ptr %t451, i32 %t449 %t457 = load i32, ptr %t456 %t458 = load ptr, ptr %t51 %t459 = load i32, ptr %t430 %t460 = getelementptr inbounds %LSlice, ptr %t458, i32 0, i32 0 %t461 = load ptr, ptr %t460 %t462 = getelementptr inbounds %LSlice, ptr %t458, i32 0, i32 1 %t463 = load i32, ptr %t462 %t464 = icmp ult i32 %t459, %t463 br i1 %t464, label %ixok94, label %ixbad95 ixbad95: store i32 3791, ptr @lp_site %t465 = call ptr @lp_win_stdio(i32 2) store i32 0, ptr @lp_site call i32 (ptr, ptr, ...) @fprintf(ptr %t465, ptr @.fmt_bounds, ptr @.str4431, i32 %t459, i32 %t463) call void @exit(i32 1) unreachable ixok94: %t466 = getelementptr inbounds i32, ptr %t461, i32 %t459 %t467 = load i32, ptr %t466 %t469 = load i32, ptr %t0 %t470 = icmp ne i32 %t469, 0 %t471 = zext i1 %t470 to i32 store i32 %t471, ptr %t468 br i1 %t470, label %scend97, label %sc96 sc96: %t472 = load i32, ptr %t52 %t473 = icmp ne i32 %t472, 0 %t474 = zext i1 %t473 to i32 store i32 %t474, ptr %t468 br label %scend97 scend97: %t475 = load i32, ptr %t468 call void @fn_xk_attr(ptr %t447, i32 %t457, i32 %t467, i32 %t475) %t476 = load i32, ptr %t430 %t477 = add i32 %t476, 1 store i32 %t477, ptr %t430 br label %wcond87 wend89: %t478 = load i32, ptr %t5 store i32 %t478, ptr @g_g_xk_i %t479 = load i32, ptr %t52 %t480 = icmp ne i32 %t479, 0 br i1 %t480, label %then98, label %ifend100 then98: store i32 2, ptr %retval br label %ret ifend100: store i32 1, ptr %retval br label %ret ret: %t481 = load i32, ptr %retval ret i32 %t481 } define i32 @fn_xk_not_text(ptr %arg_n) { entry: %retval = alloca i32 %t0 = alloca ptr %t1 = alloca i32 %t2 = alloca i32 %t3 = alloca i32 %t4 = alloca i32 %t5 = alloca i32 %t6 = alloca i32 %t52 = alloca i32 %t53 = alloca i32 %t54 = alloca i32 %t55 = alloca i32 %t56 = alloca i32 %t57 = alloca i32 %t103 = alloca i32 %t104 = alloca i32 %t105 = alloca i32 %t106 = alloca i32 %t107 = alloca i32 %t108 = alloca i32 %t154 = alloca i32 %t155 = alloca i32 %t156 = alloca i32 %t157 = alloca i32 %t158 = alloca i32 %t159 = alloca i32 %t205 = alloca i32 %t206 = alloca i32 %t207 = alloca i32 %t208 = alloca i32 %t209 = alloca i32 %t251 = alloca i32 store ptr %arg_n, ptr %t0 %t7 = load ptr, ptr %t0 %t8 = call i32 @lp_str_eq(ptr %t7, ptr @.str4432) %t9 = icmp ne i32 %t8, 0 %t10 = zext i1 %t9 to i32 store i32 %t10, ptr %t6 br i1 %t9, label %scend1, label %sc0 sc0: %t11 = load ptr, ptr %t0 %t12 = call i32 @lp_str_eq(ptr %t11, ptr @.str4433) %t13 = icmp ne i32 %t12, 0 %t14 = zext i1 %t13 to i32 store i32 %t14, ptr %t6 br label %scend1 scend1: %t15 = load i32, ptr %t6 %t16 = icmp ne i32 %t15, 0 %t17 = zext i1 %t16 to i32 store i32 %t17, ptr %t5 br i1 %t16, label %scend3, label %sc2 sc2: %t18 = load ptr, ptr %t0 %t19 = call i32 @lp_str_eq(ptr %t18, ptr @.str4434) %t20 = icmp ne i32 %t19, 0 %t21 = zext i1 %t20 to i32 store i32 %t21, ptr %t5 br label %scend3 scend3: %t22 = load i32, ptr %t5 %t23 = icmp ne i32 %t22, 0 %t24 = zext i1 %t23 to i32 store i32 %t24, ptr %t4 br i1 %t23, label %scend5, label %sc4 sc4: %t25 = load ptr, ptr %t0 %t26 = call i32 @lp_str_eq(ptr %t25, ptr @.str4435) %t27 = icmp ne i32 %t26, 0 %t28 = zext i1 %t27 to i32 store i32 %t28, ptr %t4 br label %scend5 scend5: %t29 = load i32, ptr %t4 %t30 = icmp ne i32 %t29, 0 %t31 = zext i1 %t30 to i32 store i32 %t31, ptr %t3 br i1 %t30, label %scend7, label %sc6 sc6: %t32 = load ptr, ptr %t0 %t33 = call i32 @lp_str_eq(ptr %t32, ptr @.str4436) %t34 = icmp ne i32 %t33, 0 %t35 = zext i1 %t34 to i32 store i32 %t35, ptr %t3 br label %scend7 scend7: %t36 = load i32, ptr %t3 %t37 = icmp ne i32 %t36, 0 %t38 = zext i1 %t37 to i32 store i32 %t38, ptr %t2 br i1 %t37, label %scend9, label %sc8 sc8: %t39 = load ptr, ptr %t0 %t40 = call i32 @lp_str_eq(ptr %t39, ptr @.str4437) %t41 = icmp ne i32 %t40, 0 %t42 = zext i1 %t41 to i32 store i32 %t42, ptr %t2 br label %scend9 scend9: %t43 = load i32, ptr %t2 %t44 = icmp ne i32 %t43, 0 %t45 = zext i1 %t44 to i32 store i32 %t45, ptr %t1 br i1 %t44, label %scend11, label %sc10 sc10: %t46 = load ptr, ptr %t0 %t47 = call i32 @lp_str_eq(ptr %t46, ptr @.str4438) %t48 = icmp ne i32 %t47, 0 %t49 = zext i1 %t48 to i32 store i32 %t49, ptr %t1 br label %scend11 scend11: %t50 = load i32, ptr %t1 %t51 = icmp ne i32 %t50, 0 br i1 %t51, label %then12, label %ifend14 then12: store i32 1, ptr %retval br label %ret ifend14: %t58 = load ptr, ptr %t0 %t59 = call i32 @lp_str_eq(ptr %t58, ptr @.str4439) %t60 = icmp ne i32 %t59, 0 %t61 = zext i1 %t60 to i32 store i32 %t61, ptr %t57 br i1 %t60, label %scend16, label %sc15 sc15: %t62 = load ptr, ptr %t0 %t63 = call i32 @lp_str_eq(ptr %t62, ptr @.str4440) %t64 = icmp ne i32 %t63, 0 %t65 = zext i1 %t64 to i32 store i32 %t65, ptr %t57 br label %scend16 scend16: %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 %scend18, label %sc17 sc17: %t69 = load ptr, ptr %t0 %t70 = call i32 @lp_str_eq(ptr %t69, ptr @.str4441) %t71 = icmp ne i32 %t70, 0 %t72 = zext i1 %t71 to i32 store i32 %t72, ptr %t56 br label %scend18 scend18: %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 %scend20, label %sc19 sc19: %t76 = load ptr, ptr %t0 %t77 = call i32 @lp_str_eq(ptr %t76, ptr @.str4442) %t78 = icmp ne i32 %t77, 0 %t79 = zext i1 %t78 to i32 store i32 %t79, ptr %t55 br label %scend20 scend20: %t80 = load i32, ptr %t55 %t81 = icmp ne i32 %t80, 0 %t82 = zext i1 %t81 to i32 store i32 %t82, ptr %t54 br i1 %t81, label %scend22, label %sc21 sc21: %t83 = load ptr, ptr %t0 %t84 = call i32 @lp_str_eq(ptr %t83, ptr @.str4443) %t85 = icmp ne i32 %t84, 0 %t86 = zext i1 %t85 to i32 store i32 %t86, ptr %t54 br label %scend22 scend22: %t87 = load i32, ptr %t54 %t88 = icmp ne i32 %t87, 0 %t89 = zext i1 %t88 to i32 store i32 %t89, ptr %t53 br i1 %t88, label %scend24, label %sc23 sc23: %t90 = load ptr, ptr %t0 %t91 = call i32 @lp_str_eq(ptr %t90, ptr @.str4444) %t92 = icmp ne i32 %t91, 0 %t93 = zext i1 %t92 to i32 store i32 %t93, ptr %t53 br label %scend24 scend24: %t94 = load i32, ptr %t53 %t95 = icmp ne i32 %t94, 0 %t96 = zext i1 %t95 to i32 store i32 %t96, ptr %t52 br i1 %t95, label %scend26, label %sc25 sc25: %t97 = load ptr, ptr %t0 %t98 = call i32 @lp_str_eq(ptr %t97, ptr @.str4445) %t99 = icmp ne i32 %t98, 0 %t100 = zext i1 %t99 to i32 store i32 %t100, ptr %t52 br label %scend26 scend26: %t101 = load i32, ptr %t52 %t102 = icmp ne i32 %t101, 0 br i1 %t102, label %then27, label %ifend29 then27: store i32 1, ptr %retval br label %ret ifend29: %t109 = load ptr, ptr %t0 %t110 = call i32 @lp_str_eq(ptr %t109, ptr @.str4446) %t111 = icmp ne i32 %t110, 0 %t112 = zext i1 %t111 to i32 store i32 %t112, ptr %t108 br i1 %t111, label %scend31, label %sc30 sc30: %t113 = load ptr, ptr %t0 %t114 = call i32 @lp_str_eq(ptr %t113, ptr @.str4447) %t115 = icmp ne i32 %t114, 0 %t116 = zext i1 %t115 to i32 store i32 %t116, ptr %t108 br label %scend31 scend31: %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 %scend33, label %sc32 sc32: %t120 = load ptr, ptr %t0 %t121 = call i32 @lp_str_eq(ptr %t120, ptr @.str4448) %t122 = icmp ne i32 %t121, 0 %t123 = zext i1 %t122 to i32 store i32 %t123, ptr %t107 br label %scend33 scend33: %t124 = load i32, ptr %t107 %t125 = icmp ne i32 %t124, 0 %t126 = zext i1 %t125 to i32 store i32 %t126, ptr %t106 br i1 %t125, label %scend35, label %sc34 sc34: %t127 = load ptr, ptr %t0 %t128 = call i32 @lp_str_eq(ptr %t127, ptr @.str4449) %t129 = icmp ne i32 %t128, 0 %t130 = zext i1 %t129 to i32 store i32 %t130, ptr %t106 br label %scend35 scend35: %t131 = load i32, ptr %t106 %t132 = icmp ne i32 %t131, 0 %t133 = zext i1 %t132 to i32 store i32 %t133, ptr %t105 br i1 %t132, label %scend37, label %sc36 sc36: %t134 = load ptr, ptr %t0 %t135 = call i32 @lp_str_eq(ptr %t134, ptr @.str4450) %t136 = icmp ne i32 %t135, 0 %t137 = zext i1 %t136 to i32 store i32 %t137, ptr %t105 br label %scend37 scend37: %t138 = load i32, ptr %t105 %t139 = icmp ne i32 %t138, 0 %t140 = zext i1 %t139 to i32 store i32 %t140, ptr %t104 br i1 %t139, label %scend39, label %sc38 sc38: %t141 = load ptr, ptr %t0 %t142 = call i32 @lp_str_eq(ptr %t141, ptr @.str4451) %t143 = icmp ne i32 %t142, 0 %t144 = zext i1 %t143 to i32 store i32 %t144, ptr %t104 br label %scend39 scend39: %t145 = load i32, ptr %t104 %t146 = icmp ne i32 %t145, 0 %t147 = zext i1 %t146 to i32 store i32 %t147, ptr %t103 br i1 %t146, label %scend41, label %sc40 sc40: %t148 = load ptr, ptr %t0 %t149 = call i32 @lp_str_eq(ptr %t148, ptr @.str4452) %t150 = icmp ne i32 %t149, 0 %t151 = zext i1 %t150 to i32 store i32 %t151, ptr %t103 br label %scend41 scend41: %t152 = load i32, ptr %t103 %t153 = icmp ne i32 %t152, 0 br i1 %t153, label %then42, label %ifend44 then42: store i32 1, ptr %retval br label %ret ifend44: %t160 = load ptr, ptr %t0 %t161 = call i32 @lp_str_eq(ptr %t160, ptr @.str4453) %t162 = icmp ne i32 %t161, 0 %t163 = zext i1 %t162 to i32 store i32 %t163, ptr %t159 br i1 %t162, label %scend46, label %sc45 sc45: %t164 = load ptr, ptr %t0 %t165 = call i32 @lp_str_eq(ptr %t164, ptr @.str4454) %t166 = icmp ne i32 %t165, 0 %t167 = zext i1 %t166 to i32 store i32 %t167, ptr %t159 br label %scend46 scend46: %t168 = load i32, ptr %t159 %t169 = icmp ne i32 %t168, 0 %t170 = zext i1 %t169 to i32 store i32 %t170, ptr %t158 br i1 %t169, label %scend48, label %sc47 sc47: %t171 = load ptr, ptr %t0 %t172 = call i32 @lp_str_eq(ptr %t171, ptr @.str4455) %t173 = icmp ne i32 %t172, 0 %t174 = zext i1 %t173 to i32 store i32 %t174, ptr %t158 br label %scend48 scend48: %t175 = load i32, ptr %t158 %t176 = icmp ne i32 %t175, 0 %t177 = zext i1 %t176 to i32 store i32 %t177, ptr %t157 br i1 %t176, label %scend50, label %sc49 sc49: %t178 = load ptr, ptr %t0 %t179 = call i32 @lp_str_eq(ptr %t178, ptr @.str4456) %t180 = icmp ne i32 %t179, 0 %t181 = zext i1 %t180 to i32 store i32 %t181, ptr %t157 br label %scend50 scend50: %t182 = load i32, ptr %t157 %t183 = icmp ne i32 %t182, 0 %t184 = zext i1 %t183 to i32 store i32 %t184, ptr %t156 br i1 %t183, label %scend52, label %sc51 sc51: %t185 = load ptr, ptr %t0 %t186 = call i32 @lp_str_eq(ptr %t185, ptr @.str4457) %t187 = icmp ne i32 %t186, 0 %t188 = zext i1 %t187 to i32 store i32 %t188, ptr %t156 br label %scend52 scend52: %t189 = load i32, ptr %t156 %t190 = icmp ne i32 %t189, 0 %t191 = zext i1 %t190 to i32 store i32 %t191, ptr %t155 br i1 %t190, label %scend54, label %sc53 sc53: %t192 = load ptr, ptr %t0 %t193 = call i32 @lp_str_eq(ptr %t192, ptr @.str4458) %t194 = icmp ne i32 %t193, 0 %t195 = zext i1 %t194 to i32 store i32 %t195, ptr %t155 br label %scend54 scend54: %t196 = load i32, ptr %t155 %t197 = icmp ne i32 %t196, 0 %t198 = zext i1 %t197 to i32 store i32 %t198, ptr %t154 br i1 %t197, label %scend56, label %sc55 sc55: %t199 = load ptr, ptr %t0 %t200 = call i32 @lp_str_eq(ptr %t199, ptr @.str4459) %t201 = icmp ne i32 %t200, 0 %t202 = zext i1 %t201 to i32 store i32 %t202, ptr %t154 br label %scend56 scend56: %t203 = load i32, ptr %t154 %t204 = icmp ne i32 %t203, 0 br i1 %t204, label %then57, label %ifend59 then57: store i32 1, ptr %retval br label %ret ifend59: %t210 = load ptr, ptr %t0 %t211 = call i32 @lp_str_eq(ptr %t210, ptr @.str4460) %t212 = icmp ne i32 %t211, 0 %t213 = zext i1 %t212 to i32 store i32 %t213, ptr %t209 br i1 %t212, label %scend61, label %sc60 sc60: %t214 = load ptr, ptr %t0 %t215 = call i32 @lp_str_eq(ptr %t214, ptr @.str4461) %t216 = icmp ne i32 %t215, 0 %t217 = zext i1 %t216 to i32 store i32 %t217, ptr %t209 br label %scend61 scend61: %t218 = load i32, ptr %t209 %t219 = icmp ne i32 %t218, 0 %t220 = zext i1 %t219 to i32 store i32 %t220, ptr %t208 br i1 %t219, label %scend63, label %sc62 sc62: %t221 = load ptr, ptr %t0 %t222 = call i32 @lp_str_eq(ptr %t221, ptr @.str4462) %t223 = icmp ne i32 %t222, 0 %t224 = zext i1 %t223 to i32 store i32 %t224, ptr %t208 br label %scend63 scend63: %t225 = load i32, ptr %t208 %t226 = icmp ne i32 %t225, 0 %t227 = zext i1 %t226 to i32 store i32 %t227, ptr %t207 br i1 %t226, label %scend65, label %sc64 sc64: %t228 = load ptr, ptr %t0 %t229 = call i32 @lp_str_eq(ptr %t228, ptr @.str4463) %t230 = icmp ne i32 %t229, 0 %t231 = zext i1 %t230 to i32 store i32 %t231, ptr %t207 br label %scend65 scend65: %t232 = load i32, ptr %t207 %t233 = icmp ne i32 %t232, 0 %t234 = zext i1 %t233 to i32 store i32 %t234, ptr %t206 br i1 %t233, label %scend67, label %sc66 sc66: %t235 = load ptr, ptr %t0 %t236 = call i32 @lp_str_eq(ptr %t235, ptr @.str4464) %t237 = icmp ne i32 %t236, 0 %t238 = zext i1 %t237 to i32 store i32 %t238, ptr %t206 br label %scend67 scend67: %t239 = load i32, ptr %t206 %t240 = icmp ne i32 %t239, 0 %t241 = zext i1 %t240 to i32 store i32 %t241, ptr %t205 br i1 %t240, label %scend69, label %sc68 sc68: %t242 = load ptr, ptr %t0 %t243 = call i32 @lp_str_eq(ptr %t242, ptr @.str4465) %t244 = icmp ne i32 %t243, 0 %t245 = zext i1 %t244 to i32 store i32 %t245, ptr %t205 br label %scend69 scend69: %t246 = load i32, ptr %t205 %t247 = icmp ne i32 %t246, 0 br i1 %t247, label %then70, label %ifend72 then70: store i32 1, ptr %retval br label %ret ifend72: %t248 = load ptr, ptr %t0 %t249 = call i32 @lp_str_eq(ptr %t248, ptr @.str4466) %t250 = icmp ne i32 %t249, 0 br i1 %t250, label %then73, label %ifend75 then73: store i32 1, ptr %retval br label %ret ifend75: %t252 = load ptr, ptr %t0 %t253 = call i32 @fn_str_starts(ptr %t252, ptr @.str4467) %t254 = icmp ne i32 %t253, 0 %t255 = zext i1 %t254 to i32 store i32 %t255, ptr %t251 br i1 %t254, label %scend77, label %sc76 sc76: %t256 = load ptr, ptr %t0 %t257 = call i32 @fn_str_starts(ptr %t256, ptr @.str4468) %t258 = icmp ne i32 %t257, 0 %t259 = zext i1 %t258 to i32 store i32 %t259, ptr %t251 br label %scend77 scend77: %t260 = load i32, ptr %t251 store i32 %t260, ptr %retval br label %ret ret: %t261 = load i32, ptr %retval ret i32 %t261 } define i32 @fn_xk_words_attr(ptr %arg_n) { entry: %retval = alloca i32 %t0 = alloca ptr %t1 = alloca i32 %t2 = alloca i32 %t3 = alloca i32 %t4 = alloca i32 store ptr %arg_n, ptr %t0 %t5 = load ptr, ptr %t0 %t6 = call i32 @lp_str_eq(ptr %t5, ptr @.str4469) %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 @.str4470) %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 @.str4471) %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 @.str4472) %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 @.str4473) %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 store i32 %t34, ptr %retval br label %ret ret: %t35 = load i32, ptr %retval ret i32 %t35 } define i32 @fn_xk_keyword(ptr %arg_s) { entry: %retval = alloca i32 %t0 = alloca ptr %t1 = alloca i32 %t14 = alloca i32 %t15 = alloca i32 %t16 = alloca i32 %t17 = alloca i32 %t18 = alloca i32 %t19 = alloca i32 %t20 = alloca i32 %t21 = alloca i32 %t35 = alloca i32 %t90 = alloca i32 store ptr %arg_s, ptr %t0 store i32 0, ptr %t1 br label %wcond0 wcond0: %t2 = load i32, ptr %t1 %t3 = load ptr, ptr %t0 %t4 = call i64 @strlen(ptr %t3) %t5 = trunc i64 %t4 to i32 %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 %t0 %t10 = load i32, ptr %t1 %t11 = getelementptr inbounds i8, ptr %t9, i32 %t10 %t12 = load i8, ptr %t11 %t13 = zext i8 %t12 to i32 store i32 %t13, ptr %t14 %t22 = load i32, ptr %t14 %t23 = icmp sge i32 %t22, 97 %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 %t14 %t28 = icmp sle i32 %t27, 122 %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 %t34 = zext i1 %t33 to i32 store i32 %t34, ptr %t20 br i1 %t33, label %scend6, label %sc5 sc5: %t36 = load i32, ptr %t14 %t37 = icmp sge i32 %t36, 48 %t38 = zext i1 %t37 to i32 %t39 = icmp ne i32 %t38, 0 %t40 = zext i1 %t39 to i32 store i32 %t40, ptr %t35 br i1 %t39, label %sc7, label %scend8 sc7: %t41 = load i32, ptr %t14 %t42 = icmp sle i32 %t41, 57 %t43 = zext i1 %t42 to i32 %t44 = icmp ne i32 %t43, 0 %t45 = zext i1 %t44 to i32 store i32 %t45, ptr %t35 br label %scend8 scend8: %t46 = load i32, ptr %t35 %t47 = icmp ne i32 %t46, 0 %t48 = zext i1 %t47 to i32 store i32 %t48, ptr %t20 br label %scend6 scend6: %t49 = load i32, ptr %t20 %t50 = icmp ne i32 %t49, 0 %t51 = zext i1 %t50 to i32 store i32 %t51, ptr %t19 br i1 %t50, label %scend10, label %sc9 sc9: %t52 = load i32, ptr %t14 %t53 = icmp eq i32 %t52, 95 %t54 = zext i1 %t53 to i32 %t55 = icmp ne i32 %t54, 0 %t56 = zext i1 %t55 to i32 store i32 %t56, ptr %t19 br label %scend10 scend10: %t57 = load i32, ptr %t19 %t58 = icmp ne i32 %t57, 0 %t59 = zext i1 %t58 to i32 store i32 %t59, ptr %t18 br i1 %t58, label %scend12, label %sc11 sc11: %t60 = load i32, ptr %t14 %t61 = icmp eq i32 %t60, 46 %t62 = zext i1 %t61 to i32 %t63 = icmp ne i32 %t62, 0 %t64 = zext i1 %t63 to i32 store i32 %t64, ptr %t18 br label %scend12 scend12: %t65 = load i32, ptr %t18 %t66 = icmp ne i32 %t65, 0 %t67 = zext i1 %t66 to i32 store i32 %t67, ptr %t17 br i1 %t66, label %scend14, label %sc13 sc13: %t68 = load i32, ptr %t14 %t69 = icmp eq i32 %t68, 35 %t70 = zext i1 %t69 to i32 %t71 = icmp ne i32 %t70, 0 %t72 = zext i1 %t71 to i32 store i32 %t72, ptr %t17 br label %scend14 scend14: %t73 = load i32, ptr %t17 %t74 = icmp ne i32 %t73, 0 %t75 = zext i1 %t74 to i32 store i32 %t75, ptr %t16 br i1 %t74, label %scend16, label %sc15 sc15: %t76 = load i32, ptr %t14 %t77 = icmp eq i32 %t76, 37 %t78 = zext i1 %t77 to i32 %t79 = icmp ne i32 %t78, 0 %t80 = zext i1 %t79 to i32 store i32 %t80, ptr %t16 br label %scend16 scend16: %t81 = load i32, ptr %t16 %t82 = icmp ne i32 %t81, 0 %t83 = zext i1 %t82 to i32 store i32 %t83, ptr %t15 br i1 %t82, label %scend18, label %sc17 sc17: %t84 = load i32, ptr %t14 %t85 = icmp eq i32 %t84, 45 %t86 = zext i1 %t85 to i32 %t87 = icmp ne i32 %t86, 0 %t88 = zext i1 %t87 to i32 store i32 %t88, ptr %t15 br label %scend18 scend18: %t89 = load i32, ptr %t15 store i32 %t89, ptr %t90 %t91 = load i32, ptr %t90 %t92 = icmp eq i32 %t91, 0 %t93 = zext i1 %t92 to i32 %t94 = icmp ne i32 %t93, 0 br i1 %t94, label %then19, label %ifend21 then19: store i32 0, ptr %retval br label %ret ifend21: %t95 = load i32, ptr %t1 %t96 = add i32 %t95, 1 store i32 %t96, ptr %t1 br label %wcond0 wend2: store i32 1, ptr %retval br label %ret ret: %t97 = load i32, ptr %retval ret i32 %t97 } define void @fn_xk_attr(ptr %arg_name, i32 %arg_a, i32 %arg_b, i32 %arg_quiet) { entry: %t0 = alloca ptr %t1 = alloca i32 %t2 = alloca i32 %t3 = alloca i32 %t5 = alloca ptr %t10 = alloca i32 %t12 = alloca ptr %t14 = alloca i32 %t33 = alloca i32 %t37 = alloca i32 %t57 = alloca i32 %t70 = alloca ptr %t71 = alloca i32 store ptr %arg_name, ptr %t0 store i32 %arg_a, ptr %t1 store i32 %arg_b, ptr %t2 store i32 %arg_quiet, ptr %t3 %t4 = load ptr, ptr @g_g_xk_src store ptr %t4, ptr %t5 %t6 = load ptr, ptr %t0 %t7 = call i32 @fn_xk_not_text(ptr %t6) %t8 = icmp eq i32 %t7, 0 %t9 = zext i1 %t8 to i32 store i32 %t9, ptr %t10 %t11 = call ptr @fn_buf_new() store ptr %t11, ptr %t12 %t13 = load i32, ptr %t1 store i32 %t13, ptr %t14 br label %wcond0 wcond0: %t15 = load i32, ptr %t14 %t16 = load i32, ptr %t2 %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 %t5 %t21 = load i32, ptr %t14 %t22 = getelementptr inbounds i8, ptr %t20, i32 %t21 %t23 = load i8, ptr %t22 %t24 = zext i8 %t23 to i32 %t25 = icmp eq i32 %t24, 123 %t26 = zext i1 %t25 to i32 %t27 = icmp ne i32 %t26, 0 br i1 %t27, label %then3, label %ifend5 then3: %t28 = load ptr, ptr %t5 %t29 = load i32, ptr %t14 %t30 = add i32 %t29, 1 %t31 = load i32, ptr %t2 %t32 = call i32 @fn_hole_end(ptr %t28, i32 %t30, i32 %t31) store i32 %t32, ptr %t33 %t34 = load i32, ptr %t14 %t35 = add i32 %t34, 1 %t36 = load i32, ptr %t33 %t38 = load i32, ptr %t3 %t39 = icmp ne i32 %t38, 0 %t40 = zext i1 %t39 to i32 store i32 %t40, ptr %t37 br i1 %t39, label %scend7, label %sc6 sc6: %t41 = load i32, ptr %t10 %t42 = icmp eq i32 %t41, 0 %t43 = zext i1 %t42 to i32 %t44 = icmp ne i32 %t43, 0 %t45 = zext i1 %t44 to i32 store i32 %t45, ptr %t37 br label %scend7 scend7: %t46 = load i32, ptr %t37 call void @fn_xk_hole(i32 %t35, i32 %t36, i32 %t46) %t47 = load i32, ptr %t33 %t48 = add i32 %t47, 1 store i32 %t48, ptr %t14 br label %wcond0 ifend5: %t49 = load ptr, ptr %t12 %t50 = load ptr, ptr %t5 %t51 = load i32, ptr %t14 %t52 = getelementptr inbounds i8, ptr %t50, i32 %t51 %t53 = load i8, ptr %t52 %t54 = zext i8 %t53 to i32 call void @fn_buf_putc(ptr %t49, i32 %t54) %t55 = load i32, ptr %t14 %t56 = add i32 %t55, 1 store i32 %t56, ptr %t14 br label %wcond0 wend2: %t58 = load i32, ptr %t3 %t59 = icmp ne i32 %t58, 0 %t60 = zext i1 %t59 to i32 store i32 %t60, ptr %t57 br i1 %t59, label %scend9, label %sc8 sc8: %t61 = load i32, ptr %t10 %t62 = icmp eq i32 %t61, 0 %t63 = zext i1 %t62 to i32 %t64 = icmp ne i32 %t63, 0 %t65 = zext i1 %t64 to i32 store i32 %t65, ptr %t57 br label %scend9 scend9: %t66 = load i32, ptr %t57 %t67 = icmp ne i32 %t66, 0 br i1 %t67, label %then10, label %ifend12 then10: br label %ret ifend12: %t68 = load ptr, ptr %t12 %t69 = call ptr @fn_buf_str(ptr %t68) store ptr %t69, ptr %t70 %t72 = load ptr, ptr %t0 %t73 = call i32 @fn_xk_words_attr(ptr %t72) %t74 = icmp eq i32 %t73, 0 %t75 = zext i1 %t74 to i32 %t76 = icmp ne i32 %t75, 0 %t77 = zext i1 %t76 to i32 store i32 %t77, ptr %t71 br i1 %t76, label %sc13, label %scend14 sc13: %t78 = load ptr, ptr %t70 %t79 = call i32 @fn_xk_keyword(ptr %t78) %t80 = icmp ne i32 %t79, 0 %t81 = zext i1 %t80 to i32 store i32 %t81, ptr %t71 br label %scend14 scend14: %t82 = load i32, ptr %t71 %t83 = icmp ne i32 %t82, 0 br i1 %t83, label %then15, label %ifend17 then15: br label %ret ifend17: %t84 = load ptr, ptr %t70 %t85 = call i32 @fn_i18n_wordy(ptr %t84) %t86 = icmp eq i32 %t85, 0 %t87 = zext i1 %t86 to i32 %t88 = icmp ne i32 %t87, 0 br i1 %t88, label %then18, label %ifend20 then18: br label %ret ifend20: %t89 = load i32, ptr %t1 call void @fn_xk_where_back(i32 %t89) %t90 = load ptr, ptr @g_g_xk_file %t91 = load i32, ptr @g_g_xk_at_line %t92 = load i32, ptr @g_g_xk_at_col %t93 = load ptr, ptr %t0 store i32 3792, ptr @lp_site %t94 = call ptr @lp_str_concat(ptr %t93, ptr @.str4474) store i32 0, ptr @lp_site %t95 = load ptr, ptr %t70 %t96 = call ptr @fn_i18n_short(ptr %t95) store i32 3793, ptr @lp_site %t97 = call ptr @lp_str_concat(ptr %t94, ptr %t96) store i32 0, ptr @lp_site call void @lp_free(ptr %t94) store i32 3794, ptr @lp_site %t98 = call ptr @lp_str_concat(ptr %t97, ptr @.str4476) store i32 0, ptr @lp_site call void @lp_free(ptr %t97) %t99 = load ptr, ptr %t0 store i32 3795, ptr @lp_site %t100 = call ptr @lp_str_concat(ptr %t98, ptr %t99) store i32 0, ptr @lp_site call void @lp_free(ptr %t98) store i32 3796, ptr @lp_site %t101 = call ptr @lp_str_concat(ptr %t100, ptr @.str4477) store i32 0, ptr @lp_site call void @lp_free(ptr %t100) call void @fn_i18n_english_left(ptr %t90, i32 %t91, i32 %t92, ptr %t101) br label %ret ret: ret void } define void @fn_xk_hole(i32 %arg_a, i32 %arg_e, i32 %arg_quiet) { entry: %t0 = alloca i32 %t1 = alloca i32 %t2 = alloca i32 %t4 = alloca ptr %t6 = alloca i32 %t17 = alloca i32 %t18 = alloca i32 %t33 = alloca i32 %t34 = alloca i32 %t70 = alloca ptr %t71 = alloca i32 %t93 = alloca i32 %t94 = alloca i32 %t95 = alloca i32 %t124 = alloca i32 store i32 %arg_a, ptr %t0 store i32 %arg_e, ptr %t1 store i32 %arg_quiet, ptr %t2 %t3 = load ptr, ptr @g_g_xk_src store ptr %t3, ptr %t4 %t5 = load i32, ptr %t0 store i32 %t5, ptr %t6 br label %wcond0 wcond0: %t7 = load i32, ptr %t6 %t8 = load i32, ptr %t1 %t9 = icmp slt i32 %t7, %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 %t4 %t13 = load i32, ptr %t6 %t14 = getelementptr inbounds i8, ptr %t12, i32 %t13 %t15 = load i8, ptr %t14 %t16 = zext i8 %t15 to i32 store i32 %t16, ptr %t17 %t19 = load i32, ptr %t17 %t20 = icmp eq i32 %t19, 34 %t21 = zext i1 %t20 to i32 %t22 = icmp ne i32 %t21, 0 %t23 = zext i1 %t22 to i32 store i32 %t23, ptr %t18 br i1 %t22, label %scend4, label %sc3 sc3: %t24 = load i32, ptr %t17 %t25 = icmp eq i32 %t24, 39 %t26 = zext i1 %t25 to i32 %t27 = icmp ne i32 %t26, 0 %t28 = zext i1 %t27 to i32 store i32 %t28, ptr %t18 br label %scend4 scend4: %t29 = load i32, ptr %t18 %t30 = icmp ne i32 %t29, 0 br i1 %t30, label %then5, label %ifend7 then5: %t31 = load i32, ptr %t6 %t32 = add i32 %t31, 1 store i32 %t32, ptr %t33 br label %wcond8 wcond8: %t35 = load i32, ptr %t33 %t36 = load i32, ptr %t1 %t37 = icmp slt i32 %t35, %t36 %t38 = zext i1 %t37 to i32 %t39 = icmp ne i32 %t38, 0 %t40 = zext i1 %t39 to i32 store i32 %t40, ptr %t34 br i1 %t39, label %sc11, label %scend12 sc11: %t41 = load ptr, ptr %t4 %t42 = load i32, ptr %t33 %t43 = getelementptr inbounds i8, ptr %t41, i32 %t42 %t44 = load i8, ptr %t43 %t45 = zext i8 %t44 to i32 %t46 = load i32, ptr %t17 %t47 = icmp ne i32 %t45, %t46 %t48 = zext i1 %t47 to i32 %t49 = icmp ne i32 %t48, 0 %t50 = zext i1 %t49 to i32 store i32 %t50, ptr %t34 br label %scend12 scend12: %t51 = load i32, ptr %t34 %t52 = icmp ne i32 %t51, 0 br i1 %t52, label %wbody9, label %wend10 wbody9: %t53 = load ptr, ptr %t4 %t54 = load i32, ptr %t33 %t55 = getelementptr inbounds i8, ptr %t53, i32 %t54 %t56 = load i8, ptr %t55 %t57 = zext i8 %t56 to i32 %t58 = icmp eq i32 %t57, 92 %t59 = zext i1 %t58 to i32 %t60 = icmp ne i32 %t59, 0 br i1 %t60, label %then13, label %ifend15 then13: %t61 = load i32, ptr %t33 %t62 = add i32 %t61, 1 store i32 %t62, ptr %t33 br label %ifend15 ifend15: %t63 = load i32, ptr %t33 %t64 = add i32 %t63, 1 store i32 %t64, ptr %t33 br label %wcond8 wend10: %t65 = load ptr, ptr %t4 %t66 = load i32, ptr %t6 %t67 = add i32 %t66, 1 %t68 = load i32, ptr %t33 store i32 3797, ptr @lp_site %t69 = call ptr @lp_str_slice(ptr %t65, i32 %t67, i32 %t68) store i32 0, ptr @lp_site store ptr %t69, ptr %t70 %t72 = load i32, ptr %t2 %t73 = icmp eq i32 %t72, 0 %t74 = zext i1 %t73 to i32 %t75 = icmp ne i32 %t74, 0 %t76 = zext i1 %t75 to i32 store i32 %t76, ptr %t71 br i1 %t75, label %sc16, label %scend17 sc16: %t77 = load ptr, ptr %t70 %t78 = call i32 @fn_xk_choice_wordy(ptr %t77) %t79 = icmp ne i32 %t78, 0 %t80 = zext i1 %t79 to i32 store i32 %t80, ptr %t71 br label %scend17 scend17: %t81 = load i32, ptr %t71 %t82 = icmp ne i32 %t81, 0 br i1 %t82, label %then18, label %ifend20 then18: %t83 = load i32, ptr %t6 call void @fn_xk_where_back(i32 %t83) %t84 = load ptr, ptr @g_g_xk_file %t85 = load i32, ptr @g_g_xk_at_line %t86 = load i32, ptr @g_g_xk_at_col %t87 = load ptr, ptr %t70 %t88 = call ptr @fn_i18n_short(ptr %t87) store i32 3798, ptr @lp_site %t89 = call ptr @lp_str_concat(ptr @.str4479, ptr %t88) store i32 0, ptr @lp_site store i32 3799, ptr @lp_site %t90 = call ptr @lp_str_concat(ptr %t89, ptr @.str4480) store i32 0, ptr @lp_site call void @lp_free(ptr %t89) call void @fn_i18n_english_left(ptr %t84, i32 %t85, i32 %t86, ptr %t90) br label %ifend20 ifend20: %t91 = load i32, ptr %t33 %t92 = add i32 %t91, 1 store i32 %t92, ptr %t6 br label %wcond0 ifend7: %t96 = load i32, ptr %t17 %t97 = icmp eq i32 %t96, 116 %t98 = zext i1 %t97 to i32 %t99 = icmp ne i32 %t98, 0 %t100 = zext i1 %t99 to i32 store i32 %t100, ptr %t95 br i1 %t99, label %sc21, label %scend22 sc21: %t101 = load i32, ptr %t6 %t102 = add i32 %t101, 1 %t103 = load i32, ptr %t1 %t104 = icmp slt i32 %t102, %t103 %t105 = zext i1 %t104 to i32 %t106 = icmp ne i32 %t105, 0 %t107 = zext i1 %t106 to i32 store i32 %t107, ptr %t95 br label %scend22 scend22: %t108 = load i32, ptr %t95 %t109 = icmp ne i32 %t108, 0 %t110 = zext i1 %t109 to i32 store i32 %t110, ptr %t94 br i1 %t109, label %sc23, label %scend24 sc23: %t111 = load ptr, ptr %t4 %t112 = load i32, ptr %t6 %t113 = add i32 %t112, 1 %t114 = getelementptr inbounds i8, ptr %t111, i32 %t113 %t115 = load i8, ptr %t114 %t116 = zext i8 %t115 to i32 %t117 = icmp eq i32 %t116, 40 %t118 = zext i1 %t117 to i32 %t119 = icmp ne i32 %t118, 0 %t120 = zext i1 %t119 to i32 store i32 %t120, ptr %t94 br label %scend24 scend24: %t121 = load i32, ptr %t94 %t122 = icmp ne i32 %t121, 0 %t123 = zext i1 %t122 to i32 store i32 %t123, ptr %t93 br i1 %t122, label %sc25, label %scend26 sc25: %t125 = load i32, ptr %t6 %t126 = load i32, ptr %t0 %t127 = icmp eq i32 %t125, %t126 %t128 = zext i1 %t127 to i32 %t129 = icmp ne i32 %t128, 0 %t130 = zext i1 %t129 to i32 store i32 %t130, ptr %t124 br i1 %t129, label %scend28, label %sc27 sc27: %t131 = load ptr, ptr %t4 %t132 = load i32, ptr %t6 %t133 = sub i32 %t132, 1 %t134 = getelementptr inbounds i8, ptr %t131, i32 %t133 %t135 = load i8, ptr %t134 %t136 = zext i8 %t135 to i32 %t137 = call i32 @fn_xk_name_ch(i32 %t136) %t138 = icmp eq i32 %t137, 0 %t139 = zext i1 %t138 to i32 %t140 = icmp ne i32 %t139, 0 %t141 = zext i1 %t140 to i32 store i32 %t141, ptr %t124 br label %scend28 scend28: %t142 = load i32, ptr %t124 %t143 = icmp ne i32 %t142, 0 %t144 = zext i1 %t143 to i32 store i32 %t144, ptr %t93 br label %scend26 scend26: %t145 = load i32, ptr %t93 %t146 = icmp ne i32 %t145, 0 br i1 %t146, label %then29, label %ifend31 then29: %t147 = load i32, ptr %t6 %t148 = add i32 %t147, 2 %t149 = load i32, ptr %t1 %t150 = call i32 @fn_xk_t_call(i32 %t148, i32 %t149) store i32 %t150, ptr %t6 br label %wcond0 ifend31: %t151 = load i32, ptr %t6 %t152 = add i32 %t151, 1 store i32 %t152, ptr %t6 br label %wcond0 wend2: br label %ret ret: ret void } define i32 @fn_xk_choice_wordy(ptr %arg_s) { entry: %retval = alloca i32 %t0 = alloca ptr %t6 = alloca i32 %t19 = alloca i32 %t20 = alloca i32 %t21 = alloca i32 %t22 = alloca i32 %t23 = alloca i32 store ptr %arg_s, ptr %t0 %t1 = load ptr, ptr %t0 %t2 = call i32 @fn_i18n_wordy(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: store i32 0, 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 = call i64 @strlen(ptr %t8) %t10 = trunc i64 %t9 to i32 %t11 = icmp slt i32 %t7, %t10 %t12 = zext i1 %t11 to i32 %t13 = icmp ne i32 %t12, 0 br i1 %t13, label %wbody4, label %wend5 wbody4: %t14 = load ptr, ptr %t0 %t15 = load i32, ptr %t6 %t16 = getelementptr inbounds i8, ptr %t14, i32 %t15 %t17 = load i8, ptr %t16 %t18 = zext i8 %t17 to i32 store i32 %t18, ptr %t19 %t24 = load i32, ptr %t19 %t25 = icmp sge i32 %t24, 65 %t26 = zext i1 %t25 to i32 %t27 = icmp ne i32 %t26, 0 %t28 = zext i1 %t27 to i32 store i32 %t28, ptr %t23 br i1 %t27, label %sc6, label %scend7 sc6: %t29 = load i32, ptr %t19 %t30 = icmp sle i32 %t29, 90 %t31 = zext i1 %t30 to i32 %t32 = icmp ne i32 %t31, 0 %t33 = zext i1 %t32 to i32 store i32 %t33, ptr %t23 br label %scend7 scend7: %t34 = load i32, ptr %t23 %t35 = icmp ne i32 %t34, 0 %t36 = zext i1 %t35 to i32 store i32 %t36, ptr %t22 br i1 %t35, label %scend9, label %sc8 sc8: %t37 = load i32, ptr %t19 %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 %t22 br label %scend9 scend9: %t42 = load i32, ptr %t22 %t43 = icmp ne i32 %t42, 0 %t44 = zext i1 %t43 to i32 store i32 %t44, ptr %t21 br i1 %t43, label %scend11, label %sc10 sc10: %t45 = load i32, ptr %t19 %t46 = icmp slt i32 %t45, 0 %t47 = zext i1 %t46 to i32 %t48 = icmp ne i32 %t47, 0 %t49 = zext i1 %t48 to i32 store i32 %t49, ptr %t21 br label %scend11 scend11: %t50 = load i32, ptr %t21 %t51 = icmp ne i32 %t50, 0 %t52 = zext i1 %t51 to i32 store i32 %t52, ptr %t20 br i1 %t51, label %scend13, label %sc12 sc12: %t53 = load i32, ptr %t19 %t54 = icmp sge i32 %t53, 128 %t55 = zext i1 %t54 to i32 %t56 = icmp ne i32 %t55, 0 %t57 = zext i1 %t56 to i32 store i32 %t57, ptr %t20 br label %scend13 scend13: %t58 = load i32, ptr %t20 %t59 = icmp ne i32 %t58, 0 br i1 %t59, label %then14, label %ifend16 then14: store i32 1, ptr %retval br label %ret ifend16: %t60 = load i32, ptr %t6 %t61 = add i32 %t60, 1 store i32 %t61, ptr %t6 br label %wcond3 wend5: store i32 0, ptr %retval br label %ret ret: %t62 = load i32, ptr %retval ret i32 %t62 } define i32 @fn_xk_t_call(i32 %arg_at, i32 %arg_e) { entry: %retval = alloca i32 %t0 = alloca i32 %t1 = alloca i32 %t3 = alloca ptr %t5 = alloca i32 %t6 = alloca i32 %t25 = alloca i32 %t32 = alloca i32 %t62 = alloca i32 %t65 = alloca i32 %t66 = alloca i32 %t92 = alloca ptr %t93 = alloca i32 %t94 = alloca i32 %t97 = alloca i32 %t108 = alloca i32 %t109 = alloca i32 %t124 = alloca i32 %t155 = alloca i32 %t156 = alloca i32 %t179 = alloca i32 %t180 = alloca i32 %t207 = alloca i32 store i32 %arg_at, ptr %t0 store i32 %arg_e, ptr %t1 %t2 = load ptr, ptr @g_g_xk_src store ptr %t2, ptr %t3 %t4 = load i32, ptr %t0 store i32 %t4, ptr %t5 br label %wcond0 wcond0: %t7 = load i32, ptr %t5 %t8 = load i32, ptr %t1 %t9 = icmp slt i32 %t7, %t8 %t10 = zext i1 %t9 to i32 %t11 = icmp ne i32 %t10, 0 %t12 = zext i1 %t11 to i32 store i32 %t12, ptr %t6 br i1 %t11, label %sc3, label %scend4 sc3: %t13 = load ptr, ptr %t3 %t14 = load i32, ptr %t5 %t15 = getelementptr inbounds i8, ptr %t13, i32 %t14 %t16 = load i8, ptr %t15 %t17 = zext i8 %t16 to i32 %t18 = call i32 @fn_xk_space(i32 %t17) %t19 = icmp ne i32 %t18, 0 %t20 = zext i1 %t19 to i32 store i32 %t20, ptr %t6 br label %scend4 scend4: %t21 = load i32, ptr %t6 %t22 = icmp ne i32 %t21, 0 br i1 %t22, label %wbody1, label %wend2 wbody1: %t23 = load i32, ptr %t5 %t24 = add i32 %t23, 1 store i32 %t24, ptr %t5 br label %wcond0 wend2: %t26 = load i32, ptr %t5 %t27 = load i32, ptr %t1 %t28 = icmp sge i32 %t26, %t27 %t29 = zext i1 %t28 to i32 %t30 = icmp ne i32 %t29, 0 %t31 = zext i1 %t30 to i32 store i32 %t31, ptr %t25 br i1 %t30, label %scend6, label %sc5 sc5: %t33 = load ptr, ptr %t3 %t34 = load i32, ptr %t5 %t35 = getelementptr inbounds i8, ptr %t33, i32 %t34 %t36 = load i8, ptr %t35 %t37 = zext i8 %t36 to i32 %t38 = icmp ne i32 %t37, 39 %t39 = zext i1 %t38 to i32 %t40 = icmp ne i32 %t39, 0 %t41 = zext i1 %t40 to i32 store i32 %t41, ptr %t32 br i1 %t40, label %sc7, label %scend8 sc7: %t42 = load ptr, ptr %t3 %t43 = load i32, ptr %t5 %t44 = getelementptr inbounds i8, ptr %t42, i32 %t43 %t45 = load i8, ptr %t44 %t46 = zext i8 %t45 to i32 %t47 = icmp ne i32 %t46, 34 %t48 = zext i1 %t47 to i32 %t49 = icmp ne i32 %t48, 0 %t50 = zext i1 %t49 to i32 store i32 %t50, ptr %t32 br label %scend8 scend8: %t51 = load i32, ptr %t32 %t52 = icmp ne i32 %t51, 0 %t53 = zext i1 %t52 to i32 store i32 %t53, ptr %t25 br label %scend6 scend6: %t54 = load i32, ptr %t25 %t55 = icmp ne i32 %t54, 0 br i1 %t55, label %then9, label %ifend11 then9: %t56 = load i32, ptr %t0 store i32 %t56, ptr %retval br label %ret ifend11: %t57 = load ptr, ptr %t3 %t58 = load i32, ptr %t5 %t59 = getelementptr inbounds i8, ptr %t57, i32 %t58 %t60 = load i8, ptr %t59 %t61 = zext i8 %t60 to i32 store i32 %t61, ptr %t62 %t63 = load i32, ptr %t5 %t64 = add i32 %t63, 1 store i32 %t64, ptr %t65 br label %wcond12 wcond12: %t67 = load i32, ptr %t65 %t68 = load i32, ptr %t1 %t69 = icmp slt i32 %t67, %t68 %t70 = zext i1 %t69 to i32 %t71 = icmp ne i32 %t70, 0 %t72 = zext i1 %t71 to i32 store i32 %t72, ptr %t66 br i1 %t71, label %sc15, label %scend16 sc15: %t73 = load ptr, ptr %t3 %t74 = load i32, ptr %t65 %t75 = getelementptr inbounds i8, ptr %t73, i32 %t74 %t76 = load i8, ptr %t75 %t77 = zext i8 %t76 to i32 %t78 = load i32, ptr %t62 %t79 = icmp ne i32 %t77, %t78 %t80 = zext i1 %t79 to i32 %t81 = icmp ne i32 %t80, 0 %t82 = zext i1 %t81 to i32 store i32 %t82, ptr %t66 br label %scend16 scend16: %t83 = load i32, ptr %t66 %t84 = icmp ne i32 %t83, 0 br i1 %t84, label %wbody13, label %wend14 wbody13: %t85 = load i32, ptr %t65 %t86 = add i32 %t85, 1 store i32 %t86, ptr %t65 br label %wcond12 wend14: %t87 = load ptr, ptr %t3 %t88 = load i32, ptr %t5 %t89 = add i32 %t88, 1 %t90 = load i32, ptr %t65 store i32 3800, ptr @lp_site %t91 = call ptr @lp_str_slice(ptr %t87, i32 %t89, i32 %t90) store i32 0, ptr @lp_site store ptr %t91, ptr %t92 store i32 0, ptr %t93 store i32 0, ptr %t94 %t95 = load i32, ptr %t65 %t96 = add i32 %t95, 1 store i32 %t96, ptr %t97 br label %wcond17 wcond17: %t98 = load i32, ptr %t97 %t99 = load i32, ptr %t1 %t100 = icmp slt i32 %t98, %t99 %t101 = zext i1 %t100 to i32 %t102 = icmp ne i32 %t101, 0 br i1 %t102, label %wbody18, label %wend19 wbody18: %t103 = load ptr, ptr %t3 %t104 = load i32, ptr %t97 %t105 = getelementptr inbounds i8, ptr %t103, i32 %t104 %t106 = load i8, ptr %t105 %t107 = zext i8 %t106 to i32 store i32 %t107, ptr %t108 %t110 = load i32, ptr %t108 %t111 = icmp eq i32 %t110, 34 %t112 = zext i1 %t111 to i32 %t113 = icmp ne i32 %t112, 0 %t114 = zext i1 %t113 to i32 store i32 %t114, ptr %t109 br i1 %t113, label %scend21, label %sc20 sc20: %t115 = load i32, ptr %t108 %t116 = icmp eq i32 %t115, 39 %t117 = zext i1 %t116 to i32 %t118 = icmp ne i32 %t117, 0 %t119 = zext i1 %t118 to i32 store i32 %t119, ptr %t109 br label %scend21 scend21: %t120 = load i32, ptr %t109 %t121 = icmp ne i32 %t120, 0 br i1 %t121, label %then22, label %else23 then22: %t122 = load i32, ptr %t97 %t123 = add i32 %t122, 1 store i32 %t123, ptr %t97 br label %wcond25 wcond25: %t125 = load i32, ptr %t97 %t126 = load i32, ptr %t1 %t127 = icmp slt i32 %t125, %t126 %t128 = zext i1 %t127 to i32 %t129 = icmp ne i32 %t128, 0 %t130 = zext i1 %t129 to i32 store i32 %t130, ptr %t124 br i1 %t129, label %sc28, label %scend29 sc28: %t131 = load ptr, ptr %t3 %t132 = load i32, ptr %t97 %t133 = getelementptr inbounds i8, ptr %t131, i32 %t132 %t134 = load i8, ptr %t133 %t135 = zext i8 %t134 to i32 %t136 = load i32, ptr %t108 %t137 = icmp ne i32 %t135, %t136 %t138 = zext i1 %t137 to i32 %t139 = icmp ne i32 %t138, 0 %t140 = zext i1 %t139 to i32 store i32 %t140, ptr %t124 br label %scend29 scend29: %t141 = load i32, ptr %t124 %t142 = icmp ne i32 %t141, 0 br i1 %t142, label %wbody26, label %wend27 wbody26: %t143 = load ptr, ptr %t3 %t144 = load i32, ptr %t97 %t145 = getelementptr inbounds i8, ptr %t143, i32 %t144 %t146 = load i8, ptr %t145 %t147 = zext i8 %t146 to i32 %t148 = icmp eq i32 %t147, 92 %t149 = zext i1 %t148 to i32 %t150 = icmp ne i32 %t149, 0 br i1 %t150, label %then30, label %ifend32 then30: %t151 = load i32, ptr %t97 %t152 = add i32 %t151, 1 store i32 %t152, ptr %t97 br label %ifend32 ifend32: %t153 = load i32, ptr %t97 %t154 = add i32 %t153, 1 store i32 %t154, ptr %t97 br label %wcond25 wend27: br label %ifend24 else23: %t157 = load i32, ptr %t108 %t158 = icmp eq i32 %t157, 40 %t159 = zext i1 %t158 to i32 %t160 = icmp ne i32 %t159, 0 %t161 = zext i1 %t160 to i32 store i32 %t161, ptr %t156 br i1 %t160, label %scend34, label %sc33 sc33: %t162 = load i32, ptr %t108 %t163 = icmp eq i32 %t162, 91 %t164 = zext i1 %t163 to i32 %t165 = icmp ne i32 %t164, 0 %t166 = zext i1 %t165 to i32 store i32 %t166, ptr %t156 br label %scend34 scend34: %t167 = load i32, ptr %t156 %t168 = icmp ne i32 %t167, 0 %t169 = zext i1 %t168 to i32 store i32 %t169, ptr %t155 br i1 %t168, label %scend36, label %sc35 sc35: %t170 = load i32, ptr %t108 %t171 = icmp eq i32 %t170, 123 %t172 = zext i1 %t171 to i32 %t173 = icmp ne i32 %t172, 0 %t174 = zext i1 %t173 to i32 store i32 %t174, ptr %t155 br label %scend36 scend36: %t175 = load i32, ptr %t155 %t176 = icmp ne i32 %t175, 0 br i1 %t176, label %then37, label %else38 then37: %t177 = load i32, ptr %t93 %t178 = add i32 %t177, 1 store i32 %t178, ptr %t93 br label %ifend39 else38: %t181 = load i32, ptr %t108 %t182 = icmp eq i32 %t181, 41 %t183 = zext i1 %t182 to i32 %t184 = icmp ne i32 %t183, 0 %t185 = zext i1 %t184 to i32 store i32 %t185, ptr %t180 br i1 %t184, label %scend41, label %sc40 sc40: %t186 = load i32, ptr %t108 %t187 = icmp eq i32 %t186, 93 %t188 = zext i1 %t187 to i32 %t189 = icmp ne i32 %t188, 0 %t190 = zext i1 %t189 to i32 store i32 %t190, ptr %t180 br label %scend41 scend41: %t191 = load i32, ptr %t180 %t192 = icmp ne i32 %t191, 0 %t193 = zext i1 %t192 to i32 store i32 %t193, ptr %t179 br i1 %t192, label %scend43, label %sc42 sc42: %t194 = load i32, ptr %t108 %t195 = icmp eq i32 %t194, 125 %t196 = zext i1 %t195 to i32 %t197 = icmp ne i32 %t196, 0 %t198 = zext i1 %t197 to i32 store i32 %t198, ptr %t179 br label %scend43 scend43: %t199 = load i32, ptr %t179 %t200 = icmp ne i32 %t199, 0 br i1 %t200, label %then44, label %else45 then44: %t201 = load i32, ptr %t93 %t202 = icmp eq i32 %t201, 0 %t203 = zext i1 %t202 to i32 %t204 = icmp ne i32 %t203, 0 br i1 %t204, label %then47, label %ifend49 then47: br label %wend19 ifend49: %t205 = load i32, ptr %t93 %t206 = sub i32 %t205, 1 store i32 %t206, ptr %t93 br label %ifend46 else45: %t208 = load i32, ptr %t108 %t209 = icmp eq i32 %t208, 44 %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 %sc50, label %scend51 sc50: %t213 = load i32, ptr %t93 %t214 = icmp eq i32 %t213, 0 %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 %scend51 scend51: %t218 = load i32, ptr %t207 %t219 = icmp ne i32 %t218, 0 br i1 %t219, label %then52, label %ifend54 then52: %t220 = load i32, ptr %t94 %t221 = add i32 %t220, 1 store i32 %t221, ptr %t94 br label %ifend54 ifend54: br label %ifend46 ifend46: br label %ifend39 ifend39: br label %ifend24 ifend24: %t222 = load i32, ptr %t97 %t223 = add i32 %t222, 1 store i32 %t223, ptr %t97 br label %wcond17 wend19: %t224 = load i32, ptr %t5 call void @fn_xk_where_back(i32 %t224) %t225 = load ptr, ptr %t92 %t226 = load ptr, ptr @g_g_xk_file %t227 = load i32, ptr @g_g_xk_at_line %t228 = load i32, ptr @g_g_xk_at_col call void @fn_i18n_use(ptr %t225, i32 0, i32 1, ptr %t226, i32 %t227, i32 %t228) %t229 = load ptr, ptr @g_g_i18n_en %t230 = icmp ne ptr %t229, null %t231 = zext i1 %t230 to i32 %t232 = icmp ne i32 %t231, 0 br i1 %t232, label %then55, label %ifend57 then55: %t233 = load ptr, ptr %t92 %t234 = load i32, ptr %t94 %t235 = load ptr, ptr @g_g_xk_file %t236 = load i32, ptr @g_g_xk_at_line %t237 = load i32, ptr @g_g_xk_at_col call void @fn_i18n_holes(ptr %t233, i32 %t234, ptr @.str4482, ptr %t235, i32 %t236, i32 %t237) br label %ifend57 ifend57: %t238 = load i32, ptr %t65 %t239 = add i32 %t238, 1 store i32 %t239, ptr %retval br label %ret ret: %t240 = load i32, ptr %retval ret i32 %t240 } define ptr @fn_fresh_val(ptr %arg_code, ptr %arg_ty) { entry: %retval = alloca ptr %t0 = alloca ptr %t1 = alloca ptr %t5 = alloca ptr store ptr %arg_code, ptr %t0 store ptr %arg_ty, ptr %t1 %t2 = load ptr, ptr %t0 %t3 = load ptr, ptr %t1 %t4 = call ptr @fn_val(ptr %t2, ptr %t3) store ptr %t4, ptr %t5 %t6 = load ptr, ptr %t5 %t7 = getelementptr inbounds %Cmp_Val, ptr %t6, i32 0, i32 3 store i32 1, ptr %t7 %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_val(ptr %arg_code, ptr %arg_ty) { entry: %retval = alloca ptr %t0 = alloca ptr %t1 = alloca ptr %t9 = 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 store i32 3801, ptr @lp_site %t4 = call ptr @lp_malloc(i64 %t3) store i32 0, ptr @lp_site %t5 = getelementptr inbounds %Cmp_Val, ptr %t4, i32 0, i32 0 store ptr null, ptr %t5 %t6 = getelementptr inbounds %Cmp_Val, ptr %t4, i32 0, i32 1 store ptr null, ptr %t6 %t7 = getelementptr inbounds %Cmp_Val, ptr %t4, i32 0, i32 2 store ptr null, ptr %t7 %t8 = getelementptr inbounds %Cmp_Val, ptr %t4, i32 0, i32 3 store i32 0, ptr %t8 store ptr %t4, ptr %t9 %t10 = load ptr, ptr %t9 %t11 = getelementptr inbounds %Cmp_Val, ptr %t10, i32 0, i32 0 %t12 = load ptr, ptr %t0 store ptr %t12, ptr %t11 %t13 = load ptr, ptr %t9 %t14 = getelementptr inbounds %Cmp_Val, ptr %t13, i32 0, i32 1 %t15 = load ptr, ptr %t1 store ptr %t15, ptr %t14 %t16 = load ptr, ptr %t9 %t17 = getelementptr inbounds %Cmp_Val, ptr %t16, i32 0, i32 2 store ptr null, ptr %t17 %t18 = load ptr, ptr %t9 %t19 = getelementptr inbounds %Cmp_Val, ptr %t18, i32 0, i32 3 store i32 0, ptr %t19 %t20 = load ptr, ptr %t9 store ptr %t20, ptr %retval br label %ret ret: %t21 = load ptr, ptr %retval ret ptr %t21 } 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 = load i32, ptr %t1 %t11 = getelementptr inbounds %LSlice, ptr %t9, i32 0, i32 0 %t12 = load ptr, ptr %t11 %t13 = getelementptr inbounds %LSlice, ptr %t9, i32 0, i32 1 %t14 = load i32, ptr %t13 %t15 = icmp ult i32 %t10, %t14 br i1 %t15, label %ixok3, label %ixbad4 ixbad4: store i32 3802, ptr @lp_site %t16 = call ptr @lp_win_stdio(i32 2) store i32 0, ptr @lp_site call i32 (ptr, ptr, ...) @fprintf(ptr %t16, ptr @.fmt_bounds, ptr @.str4485, i32 %t10, i32 %t14) call void @exit(i32 1) unreachable ixok3: %t17 = getelementptr inbounds i32, ptr %t12, i32 %t10 %t18 = load i32, ptr %t17 %t19 = load i32, ptr %t0 %t20 = icmp eq i32 %t18, %t19 %t21 = zext i1 %t20 to i32 %t22 = icmp ne i32 %t21, 0 br i1 %t22, label %then5, label %ifend7 then5: %t23 = load i32, ptr %t1 store i32 %t23, ptr %retval br label %ret ifend7: %t24 = load i32, ptr %t1 %t25 = add i32 %t24, 1 store i32 %t25, ptr %t1 br label %wcond0 wend2: %t26 = load ptr, ptr @g_g_cov_lines %t27 = load i32, ptr %t0 %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 %grow8, label %put9 grow8: %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 store i32 3803, ptr @lp_site %t42 = call ptr @lp_realloc(ptr %t41, i64 %t40) store i32 0, ptr @lp_site store ptr %t42, ptr %t30 store i32 %t36, ptr %t29 br label %put9 put9: %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 %t46 = load ptr, ptr @g_g_cov_lines %t47 = getelementptr inbounds %LSlice, ptr %t46, i32 0, i32 1 %t48 = load i32, ptr %t47 %t49 = sub i32 %t48, 1 store i32 %t49, ptr %retval br label %ret ret: %t50 = load i32, ptr %retval ret i32 %t50 } 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 @.str4487) %t18 = load ptr, ptr %t17 call void @fn_emit(ptr %t18) call void @fn_emit(ptr @.str4488) %t19 = load i32, ptr %t15 %t20 = call ptr @fn_itoa(i32 %t19) call void @fn_emit(ptr %t20) call void @fn_emit(ptr @.str4489) %t21 = load ptr, ptr %t17 store i32 3804, ptr @lp_site %t22 = call ptr @lp_str_concat(ptr @.str4490, ptr %t21) store i32 0, ptr @lp_site %t23 = call ptr @fn_emit_bind(ptr %t22) store ptr %t23, ptr %t24 %t25 = load ptr, ptr %t24 store i32 3805, ptr @lp_site %t26 = call ptr @lp_str_concat(ptr @.str4492, ptr %t25) store i32 0, ptr @lp_site store i32 3806, ptr @lp_site %t27 = call ptr @lp_str_concat(ptr %t26, ptr @.str4493) store i32 0, ptr @lp_site call void @lp_free(ptr %t26) %t28 = call ptr @fn_emit_bind(ptr %t27) store ptr %t28, ptr %t29 call void @fn_emit(ptr @.str4494) %t30 = load ptr, ptr %t29 call void @fn_emit(ptr %t30) call void @fn_emit(ptr @.str4495) %t31 = load ptr, ptr %t17 call void @fn_emit(ptr %t31) call void @fn_emit(ptr @.str4496) 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 = load i32, ptr %t1 %t11 = getelementptr inbounds %LSlice, ptr %t9, i32 0, i32 0 %t12 = load ptr, ptr %t11 %t13 = getelementptr inbounds %LSlice, ptr %t9, i32 0, i32 1 %t14 = load i32, ptr %t13 %t15 = icmp ult i32 %t10, %t14 br i1 %t15, label %ixok3, label %ixbad4 ixbad4: store i32 3807, ptr @lp_site %t16 = call ptr @lp_win_stdio(i32 2) store i32 0, ptr @lp_site call i32 (ptr, ptr, ...) @fprintf(ptr %t16, ptr @.fmt_bounds, ptr @.str4497, i32 %t10, i32 %t14) call void @exit(i32 1) unreachable ixok3: %t17 = getelementptr inbounds ptr, ptr %t12, i32 %t10 %t18 = load ptr, ptr %t17 %t19 = getelementptr inbounds %Cmp_Node, ptr %t18, i32 0, i32 1 %t20 = load ptr, ptr %t19 %t21 = load ptr, ptr %t0 %t22 = call i32 @lp_str_eq(ptr %t20, ptr %t21) %t23 = icmp ne i32 %t22, 0 br i1 %t23, label %then5, label %ifend7 then5: %t24 = load ptr, ptr @g_g_scenes %t25 = load i32, ptr %t1 %t26 = getelementptr inbounds %LSlice, ptr %t24, i32 0, i32 0 %t27 = load ptr, ptr %t26 %t28 = getelementptr inbounds %LSlice, ptr %t24, i32 0, i32 1 %t29 = load i32, ptr %t28 %t30 = icmp ult i32 %t25, %t29 br i1 %t30, label %ixok8, label %ixbad9 ixbad9: store i32 3808, ptr @lp_site %t31 = call ptr @lp_win_stdio(i32 2) store i32 0, ptr @lp_site call i32 (ptr, ptr, ...) @fprintf(ptr %t31, ptr @.fmt_bounds, ptr @.str4499, i32 %t25, i32 %t29) call void @exit(i32 1) unreachable ixok8: %t32 = getelementptr inbounds ptr, ptr %t27, i32 %t25 %t33 = load ptr, ptr %t32 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(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) store i32 3809, ptr @lp_site %t3 = call ptr @lp_str_concat(ptr @.str4500, ptr %t2) store i32 0, ptr @lp_site 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 @.str4502) %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 @.str4503) %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 @.str4504) %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) store i32 3810, ptr @lp_site %t2 = call ptr @lp_str_concat(ptr @.str4505, ptr %t1) store i32 0, ptr @lp_site 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) store i32 3811, ptr @lp_site %t4 = call ptr @lp_str_concat(ptr %t1, ptr %t3) store i32 0, ptr @lp_site store ptr %t4, ptr %t5 %t6 = load i32, ptr @g_ll_lbl %t7 = add i32 %t6, 1 store i32 %t7, ptr @g_ll_lbl %t8 = load ptr, ptr %t5 store ptr %t8, ptr %retval br label %ret ret: %t9 = load ptr, ptr %retval ret ptr %t9 } define ptr @fn_llty(ptr %arg_t) { entry: %retval = alloca ptr %t0 = alloca ptr %t1 = alloca i32 %t2 = alloca i32 %t3 = alloca i32 %t55 = alloca i32 %t56 = alloca i32 %t57 = alloca i32 %t58 = alloca i32 store ptr %arg_t, ptr %t0 %t4 = load ptr, ptr %t0 %t5 = call i32 @lp_str_eq(ptr %t4, ptr @.str4508) %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 @.str4509) %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 @.str4510) %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 @.str4511) %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 @.str4512, 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 @.str4513, ptr %retval br label %ret ifend11: %t31 = load ptr, ptr %t0 %t32 = call i32 @lp_str_eq(ptr %t31, ptr @.str4514) %t33 = icmp ne i32 %t32, 0 br i1 %t33, label %then12, label %ifend14 then12: store ptr @.str4515, ptr %retval br label %ret ifend14: %t34 = load ptr, ptr %t0 %t35 = call i32 @lp_str_eq(ptr %t34, ptr @.str4516) %t36 = icmp ne i32 %t35, 0 br i1 %t36, label %then15, label %ifend17 then15: store ptr @.str4517, ptr %retval br label %ret ifend17: %t37 = load ptr, ptr %t0 %t38 = call i32 @lp_str_eq(ptr %t37, ptr @.str4518) %t39 = icmp ne i32 %t38, 0 br i1 %t39, label %then18, label %ifend20 then18: store ptr @.str4519, ptr %retval br label %ret ifend20: %t40 = load ptr, ptr %t0 %t41 = call i32 @lp_str_eq(ptr %t40, ptr @.str4520) %t42 = icmp ne i32 %t41, 0 br i1 %t42, label %then21, label %ifend23 then21: store ptr @.str4521, ptr %retval br label %ret ifend23: %t43 = load ptr, ptr %t0 %t44 = call i32 @lp_str_eq(ptr %t43, ptr @.str4522) %t45 = icmp ne i32 %t44, 0 br i1 %t45, label %then24, label %ifend26 then24: store ptr @.str4523, ptr %retval br label %ret ifend26: %t46 = load ptr, ptr %t0 %t47 = call i32 @lp_str_eq(ptr %t46, ptr @.str4524) %t48 = icmp ne i32 %t47, 0 br i1 %t48, label %then27, label %ifend29 then27: store ptr @.str4525, ptr %retval br label %ret ifend29: %t49 = load ptr, ptr %t0 %t50 = call i32 @lp_str_eq(ptr %t49, ptr @.str4526) %t51 = icmp ne i32 %t50, 0 br i1 %t51, label %then30, label %ifend32 then30: store ptr @.str4527, ptr %retval br label %ret ifend32: %t52 = load ptr, ptr %t0 %t53 = call i32 @lp_str_eq(ptr %t52, ptr @.str4528) %t54 = icmp ne i32 %t53, 0 br i1 %t54, label %then33, label %ifend35 then33: store ptr @.str4529, ptr %retval br label %ret ifend35: %t59 = load ptr, ptr %t0 %t60 = call i32 @lp_str_eq(ptr %t59, ptr @.str4530) %t61 = icmp ne i32 %t60, 0 %t62 = zext i1 %t61 to i32 store i32 %t62, ptr %t58 br i1 %t61, label %scend37, label %sc36 sc36: %t63 = load ptr, ptr %t0 %t64 = call i32 @lp_str_eq(ptr %t63, ptr @.str4531) %t65 = icmp ne i32 %t64, 0 %t66 = zext i1 %t65 to i32 store i32 %t66, ptr %t58 br label %scend37 scend37: %t67 = load i32, ptr %t58 %t68 = icmp ne i32 %t67, 0 %t69 = zext i1 %t68 to i32 store i32 %t69, ptr %t57 br i1 %t68, label %scend39, label %sc38 sc38: %t70 = load ptr, ptr %t0 %t71 = call i32 @lp_str_eq(ptr %t70, ptr @.str4532) %t72 = icmp ne i32 %t71, 0 %t73 = zext i1 %t72 to i32 store i32 %t73, ptr %t57 br label %scend39 scend39: %t74 = load i32, ptr %t57 %t75 = icmp ne i32 %t74, 0 %t76 = zext i1 %t75 to i32 store i32 %t76, ptr %t56 br i1 %t75, label %scend41, label %sc40 sc40: %t77 = load ptr, ptr %t0 %t78 = call i32 @lp_str_eq(ptr %t77, ptr @.str4533) %t79 = icmp ne i32 %t78, 0 %t80 = zext i1 %t79 to i32 store i32 %t80, ptr %t56 br label %scend41 scend41: %t81 = load i32, ptr %t56 %t82 = icmp ne i32 %t81, 0 %t83 = zext i1 %t82 to i32 store i32 %t83, ptr %t55 br i1 %t82, label %scend43, label %sc42 sc42: %t84 = load ptr, ptr %t0 %t85 = call i32 @lp_str_eq(ptr %t84, ptr @.str4534) %t86 = icmp ne i32 %t85, 0 %t87 = zext i1 %t86 to i32 store i32 %t87, ptr %t55 br label %scend43 scend43: %t88 = load i32, ptr %t55 %t89 = icmp ne i32 %t88, 0 br i1 %t89, label %then44, label %ifend46 then44: store ptr @.str4535, ptr %retval br label %ret ifend46: %t90 = load ptr, ptr %t0 %t91 = call i32 @lp_str_eq(ptr %t90, ptr @.str4536) %t92 = icmp ne i32 %t91, 0 br i1 %t92, label %then47, label %ifend49 then47: store ptr @.str4537, ptr %retval br label %ret ifend49: store ptr @.str4538, ptr %retval br label %ret ret: %t93 = load ptr, ptr %retval ret ptr %t93 } define i32 @fn_is_slice_ty(ptr %arg_t) { entry: %retval = alloca i32 %t0 = alloca ptr %t1 = alloca i32 store ptr %arg_t, ptr %t0 %t2 = load ptr, ptr %t0 %t3 = getelementptr inbounds i8, ptr %t2, i32 0 %t4 = load i8, ptr %t3 %t5 = zext i8 %t4 to i32 %t6 = icmp eq i32 %t5, 91 %t7 = zext i1 %t6 to i32 %t8 = icmp ne i32 %t7, 0 %t9 = zext i1 %t8 to i32 store i32 %t9, ptr %t1 br i1 %t8, label %sc0, label %scend1 sc0: %t10 = load ptr, ptr %t0 %t11 = getelementptr inbounds i8, ptr %t10, i32 1 %t12 = load i8, ptr %t11 %t13 = zext i8 %t12 to i32 %t14 = icmp eq i32 %t13, 93 %t15 = zext i1 %t14 to i32 %t16 = icmp ne i32 %t15, 0 %t17 = zext i1 %t16 to i32 store i32 %t17, ptr %t1 br label %scend1 scend1: %t18 = load i32, ptr %t1 store i32 %t18, ptr %retval br label %ret ret: %t19 = load i32, ptr %retval ret i32 %t19 } define ptr @fn_slice_elem(ptr %arg_t) { entry: %retval = alloca ptr %t0 = alloca ptr store ptr %arg_t, ptr %t0 %t1 = load ptr, ptr %t0 %t2 = load ptr, ptr %t0 %t3 = call i64 @strlen(ptr %t2) %t4 = trunc i64 %t3 to i32 store i32 3812, ptr @lp_site %t5 = call ptr @lp_str_slice(ptr %t1, i32 2, i32 %t4) store i32 0, ptr @lp_site 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 %t19 = alloca ptr %t20 = 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 = load i32, ptr %t1 %t11 = getelementptr inbounds %LSlice, ptr %t9, i32 0, i32 0 %t12 = load ptr, ptr %t11 %t13 = getelementptr inbounds %LSlice, ptr %t9, i32 0, i32 1 %t14 = load i32, ptr %t13 %t15 = icmp ult i32 %t10, %t14 br i1 %t15, label %ixok3, label %ixbad4 ixbad4: store i32 3813, ptr @lp_site %t16 = call ptr @lp_win_stdio(i32 2) store i32 0, ptr @lp_site call i32 (ptr, ptr, ...) @fprintf(ptr %t16, ptr @.fmt_bounds, ptr @.str4540, i32 %t10, i32 %t14) call void @exit(i32 1) unreachable ixok3: %t17 = getelementptr inbounds ptr, ptr %t12, i32 %t10 %t18 = load ptr, ptr %t17 store ptr %t18, ptr %t19 %t21 = load ptr, ptr %t19 %t22 = getelementptr inbounds %Cmp_Node, ptr %t21, i32 0, i32 0 %t23 = load i32, ptr %t22 %t24 = icmp eq i32 %t23, 10 %t25 = zext i1 %t24 to i32 %t26 = icmp ne i32 %t25, 0 %t27 = zext i1 %t26 to i32 store i32 %t27, ptr %t20 br i1 %t26, label %sc5, label %scend6 sc5: %t28 = load ptr, ptr %t19 %t29 = getelementptr inbounds %Cmp_Node, ptr %t28, i32 0, i32 1 %t30 = load ptr, ptr %t29 %t31 = load ptr, ptr %t0 %t32 = call i32 @lp_str_eq(ptr %t30, ptr %t31) %t33 = icmp ne i32 %t32, 0 %t34 = zext i1 %t33 to i32 store i32 %t34, ptr %t20 br label %scend6 scend6: %t35 = load i32, ptr %t20 %t36 = icmp ne i32 %t35, 0 br i1 %t36, label %then7, label %ifend9 then7: %t37 = load ptr, ptr %t19 store ptr %t37, ptr %retval br label %ret ifend9: %t38 = load i32, ptr %t1 %t39 = add i32 %t38, 1 store i32 %t39, ptr %t1 br label %wcond0 wend2: store ptr null, ptr %retval br label %ret ret: %t40 = load ptr, ptr %retval ret ptr %t40 } define void @fn_ix_start() { entry: %t12 = alloca i32 %t23 = alloca ptr %t30 = alloca ptr %t31 = alloca i32 %t0 = getelementptr %LSlice, ptr null, i32 1 %t1 = ptrtoint ptr %t0 to i64 store i32 3814, ptr @lp_site %t2 = call ptr @lp_malloc(i64 %t1) store i32 0, ptr @lp_site %t3 = getelementptr inbounds %LSlice, ptr %t2, i32 0, i32 0 store ptr null, ptr %t3 %t4 = getelementptr inbounds %LSlice, ptr %t2, i32 0, i32 1 store i32 0, ptr %t4 %t5 = getelementptr inbounds %LSlice, ptr %t2, i32 0, i32 2 store i32 0, ptr %t5 store ptr %t2, ptr @g_g_ix_keys %t6 = getelementptr %LSlice, ptr null, i32 1 %t7 = ptrtoint ptr %t6 to i64 store i32 3815, ptr @lp_site %t8 = call ptr @lp_malloc(i64 %t7) store i32 0, ptr @lp_site %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_ix_vals store i32 0, ptr %t12 br label %wcond0 wcond0: %t13 = load i32, ptr %t12 %t14 = icmp slt i32 %t13, 5 %t15 = zext i1 %t14 to i32 %t16 = icmp ne i32 %t15, 0 br i1 %t16, label %wbody1, label %wend2 wbody1: %t17 = getelementptr %LSlice, ptr null, i32 1 %t18 = ptrtoint ptr %t17 to i64 store i32 3816, ptr @lp_site %t19 = call ptr @lp_malloc(i64 %t18) store i32 0, ptr @lp_site %t20 = getelementptr inbounds %LSlice, ptr %t19, i32 0, i32 0 store ptr null, ptr %t20 %t21 = getelementptr inbounds %LSlice, ptr %t19, i32 0, i32 1 store i32 0, ptr %t21 %t22 = getelementptr inbounds %LSlice, ptr %t19, i32 0, i32 2 store i32 0, ptr %t22 store ptr %t19, ptr %t23 %t24 = getelementptr %LSlice, ptr null, i32 1 %t25 = ptrtoint ptr %t24 to i64 store i32 3817, ptr @lp_site %t26 = call ptr @lp_malloc(i64 %t25) store i32 0, ptr @lp_site %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 %t30 store i32 0, ptr %t31 br label %wcond3 wcond3: %t32 = load i32, ptr %t31 %t33 = icmp slt i32 %t32, 131072 %t34 = zext i1 %t33 to i32 %t35 = icmp ne i32 %t34, 0 br i1 %t35, label %wbody4, label %wend5 wbody4: %t36 = load ptr, ptr %t23 %t37 = getelementptr inbounds %LSlice, ptr %t36, i32 0, i32 1 %t38 = getelementptr inbounds %LSlice, ptr %t36, i32 0, i32 2 %t39 = getelementptr inbounds %LSlice, ptr %t36, i32 0, i32 0 %t40 = load i32, ptr %t37 %t41 = load i32, ptr %t38 %t42 = icmp sge i32 %t40, %t41 br i1 %t42, label %grow6, label %put7 grow6: %t43 = mul i32 %t41, 2 %t44 = icmp eq i32 %t41, 0 %t45 = select i1 %t44, i32 8, i32 %t43 %t46 = getelementptr ptr, ptr null, i32 1 %t47 = ptrtoint ptr %t46 to i64 %t48 = zext i32 %t45 to i64 %t49 = mul i64 %t48, %t47 %t50 = load ptr, ptr %t39 store i32 3818, ptr @lp_site %t51 = call ptr @lp_realloc(ptr %t50, i64 %t49) store i32 0, ptr @lp_site store ptr %t51, ptr %t39 store i32 %t45, ptr %t38 br label %put7 put7: %t52 = load ptr, ptr %t39 %t53 = getelementptr inbounds ptr, ptr %t52, i32 %t40 store ptr null, ptr %t53 %t54 = add i32 %t40, 1 store i32 %t54, ptr %t37 %t55 = load ptr, ptr %t30 %t56 = getelementptr inbounds %LSlice, ptr %t55, i32 0, i32 1 %t57 = getelementptr inbounds %LSlice, ptr %t55, i32 0, i32 2 %t58 = getelementptr inbounds %LSlice, ptr %t55, i32 0, i32 0 %t59 = load i32, ptr %t56 %t60 = load i32, ptr %t57 %t61 = icmp sge i32 %t59, %t60 br i1 %t61, label %grow8, label %put9 grow8: %t62 = mul i32 %t60, 2 %t63 = icmp eq i32 %t60, 0 %t64 = select i1 %t63, i32 8, i32 %t62 %t65 = getelementptr ptr, ptr null, i32 1 %t66 = ptrtoint ptr %t65 to i64 %t67 = zext i32 %t64 to i64 %t68 = mul i64 %t67, %t66 %t69 = load ptr, ptr %t58 store i32 3819, ptr @lp_site %t70 = call ptr @lp_realloc(ptr %t69, i64 %t68) store i32 0, ptr @lp_site store ptr %t70, ptr %t58 store i32 %t64, ptr %t57 br label %put9 put9: %t71 = load ptr, ptr %t58 %t72 = getelementptr inbounds ptr, ptr %t71, i32 %t59 store ptr null, ptr %t72 %t73 = add i32 %t59, 1 store i32 %t73, ptr %t56 %t74 = load i32, ptr %t31 %t75 = add i32 %t74, 1 store i32 %t75, ptr %t31 br label %wcond3 wend5: %t76 = load ptr, ptr @g_g_ix_keys %t77 = load ptr, ptr %t23 %t78 = getelementptr inbounds %LSlice, ptr %t76, i32 0, i32 1 %t79 = getelementptr inbounds %LSlice, ptr %t76, i32 0, i32 2 %t80 = getelementptr inbounds %LSlice, ptr %t76, i32 0, i32 0 %t81 = load i32, ptr %t78 %t82 = load i32, ptr %t79 %t83 = icmp sge i32 %t81, %t82 br i1 %t83, label %grow10, label %put11 grow10: %t84 = mul i32 %t82, 2 %t85 = icmp eq i32 %t82, 0 %t86 = select i1 %t85, i32 8, i32 %t84 %t87 = getelementptr ptr, ptr null, i32 1 %t88 = ptrtoint ptr %t87 to i64 %t89 = zext i32 %t86 to i64 %t90 = mul i64 %t89, %t88 %t91 = load ptr, ptr %t80 store i32 3820, ptr @lp_site %t92 = call ptr @lp_realloc(ptr %t91, i64 %t90) store i32 0, ptr @lp_site store ptr %t92, ptr %t80 store i32 %t86, ptr %t79 br label %put11 put11: %t93 = load ptr, ptr %t80 %t94 = getelementptr inbounds ptr, ptr %t93, i32 %t81 store ptr %t77, ptr %t94 %t95 = add i32 %t81, 1 store i32 %t95, ptr %t78 %t96 = load ptr, ptr @g_g_ix_vals %t97 = load ptr, ptr %t30 %t98 = getelementptr inbounds %LSlice, ptr %t96, i32 0, i32 1 %t99 = getelementptr inbounds %LSlice, ptr %t96, i32 0, i32 2 %t100 = getelementptr inbounds %LSlice, ptr %t96, i32 0, i32 0 %t101 = load i32, ptr %t98 %t102 = load i32, ptr %t99 %t103 = icmp sge i32 %t101, %t102 br i1 %t103, label %grow12, label %put13 grow12: %t104 = mul i32 %t102, 2 %t105 = icmp eq i32 %t102, 0 %t106 = select i1 %t105, i32 8, i32 %t104 %t107 = getelementptr ptr, ptr null, i32 1 %t108 = ptrtoint ptr %t107 to i64 %t109 = zext i32 %t106 to i64 %t110 = mul i64 %t109, %t108 %t111 = load ptr, ptr %t100 store i32 3821, ptr @lp_site %t112 = call ptr @lp_realloc(ptr %t111, i64 %t110) store i32 0, ptr @lp_site store ptr %t112, ptr %t100 store i32 %t106, ptr %t99 br label %put13 put13: %t113 = load ptr, ptr %t100 %t114 = getelementptr inbounds ptr, ptr %t113, i32 %t101 store ptr %t97, ptr %t114 %t115 = add i32 %t101, 1 store i32 %t115, ptr %t98 %t116 = load i32, ptr %t12 %t117 = add i32 %t116, 1 store i32 %t117, ptr %t12 br label %wcond0 wend2: store i32 0, ptr @g_g_ix_upto %t118 = getelementptr %LSlice, ptr null, i32 1 %t119 = ptrtoint ptr %t118 to i64 store i32 3822, ptr @lp_site %t120 = call ptr @lp_malloc(i64 %t119) store i32 0, ptr @lp_site %t121 = getelementptr inbounds %LSlice, ptr %t120, i32 0, i32 0 store ptr null, ptr %t121 %t122 = getelementptr inbounds %LSlice, ptr %t120, i32 0, i32 1 store i32 0, ptr %t122 %t123 = getelementptr inbounds %LSlice, ptr %t120, i32 0, i32 2 store i32 0, ptr %t123 store ptr %t120, ptr @g_g_ix_tagged store i32 1, ptr @g_g_ix_on br label %ret ret: ret void } define i32 @fn_ix_kind(ptr %arg_d) { entry: %retval = alloca i32 %t0 = alloca ptr %t19 = alloca i32 store ptr %arg_d, 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, 4 %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 0 %t9 = load i32, ptr %t8 %t10 = icmp eq i32 %t9, 27 %t11 = zext i1 %t10 to i32 %t12 = icmp ne i32 %t11, 0 br i1 %t12, label %then3, label %ifend5 then3: store i32 1, ptr %retval br label %ret ifend5: %t13 = load ptr, ptr %t0 %t14 = getelementptr inbounds %Cmp_Node, ptr %t13, i32 0, i32 0 %t15 = load i32, ptr %t14 %t16 = icmp eq i32 %t15, 8 %t17 = zext i1 %t16 to i32 %t18 = icmp ne i32 %t17, 0 br i1 %t18, label %then6, label %ifend8 then6: store i32 2, ptr %retval br label %ret ifend8: %t20 = load ptr, ptr %t0 %t21 = getelementptr inbounds %Cmp_Node, ptr %t20, i32 0, i32 0 %t22 = load i32, ptr %t21 %t23 = icmp eq i32 %t22, 2 %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 %scend10, label %sc9 sc9: %t27 = load ptr, ptr %t0 %t28 = getelementptr inbounds %Cmp_Node, ptr %t27, i32 0, i32 0 %t29 = load i32, ptr %t28 %t30 = icmp eq i32 %t29, 3 %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 %scend10 scend10: %t34 = load i32, ptr %t19 %t35 = icmp ne i32 %t34, 0 br i1 %t35, label %then11, label %ifend13 then11: store i32 3, ptr %retval br label %ret ifend13: %t36 = load ptr, ptr %t0 %t37 = getelementptr inbounds %Cmp_Node, ptr %t36, i32 0, i32 0 %t38 = load i32, ptr %t37 %t39 = icmp eq i32 %t38, 11 %t40 = zext i1 %t39 to i32 %t41 = icmp ne i32 %t40, 0 br i1 %t41, label %then14, label %ifend16 then14: store i32 4, ptr %retval br label %ret ifend16: %t42 = sub i32 0, 1 store i32 %t42, ptr %retval br label %ret ret: %t43 = load i32, ptr %retval ret i32 %t43 } define i32 @fn_ix_slot(i32 %arg_t, ptr %arg_name) { entry: %retval = alloca i32 %t0 = alloca i32 %t1 = alloca ptr %t2 = alloca i32 %t3 = alloca i32 %t7 = alloca i32 %t36 = alloca ptr %t37 = alloca i32 store i32 %arg_t, ptr %t0 store ptr %arg_name, ptr %t1 store i32 5381, ptr %t2 store i32 0, ptr %t3 %t4 = load ptr, ptr %t1 %t5 = call i64 @strlen(ptr %t4) %t6 = trunc i64 %t5 to i32 store i32 %t6, ptr %t7 br label %wcond0 wcond0: %t8 = load i32, ptr %t3 %t9 = load i32, ptr %t7 %t10 = icmp slt i32 %t8, %t9 %t11 = zext i1 %t10 to i32 %t12 = icmp ne i32 %t11, 0 br i1 %t12, label %wbody1, label %wend2 wbody1: %t13 = load i32, ptr %t2 %t14 = mul i32 %t13, 33 %t15 = load ptr, ptr %t1 %t16 = load i32, ptr %t3 %t17 = getelementptr inbounds i8, ptr %t15, i32 %t16 %t18 = load i8, ptr %t17 %t19 = zext i8 %t18 to i32 %t20 = add i32 %t14, %t19 %t21 = srem i32 %t20, 1000003 store i32 %t21, ptr %t2 %t22 = load i32, ptr %t3 %t23 = add i32 %t22, 1 store i32 %t23, ptr %t3 br label %wcond0 wend2: %t24 = load i32, ptr %t2 %t25 = srem i32 %t24, 131072 store i32 %t25, ptr %t2 %t26 = load ptr, ptr @g_g_ix_keys %t27 = load i32, ptr %t0 %t28 = getelementptr inbounds %LSlice, ptr %t26, i32 0, i32 0 %t29 = load ptr, ptr %t28 %t30 = getelementptr inbounds %LSlice, ptr %t26, i32 0, i32 1 %t31 = load i32, ptr %t30 %t32 = icmp ult i32 %t27, %t31 br i1 %t32, label %ixok3, label %ixbad4 ixbad4: store i32 3823, ptr @lp_site %t33 = call ptr @lp_win_stdio(i32 2) store i32 0, ptr @lp_site call i32 (ptr, ptr, ...) @fprintf(ptr %t33, ptr @.fmt_bounds, ptr @.str4544, i32 %t27, i32 %t31) call void @exit(i32 1) unreachable ixok3: %t34 = getelementptr inbounds ptr, ptr %t29, i32 %t27 %t35 = load ptr, ptr %t34 store ptr %t35, ptr %t36 br label %wcond5 wcond5: %t38 = load ptr, ptr %t36 %t39 = load i32, ptr %t2 %t40 = getelementptr inbounds %LSlice, ptr %t38, i32 0, i32 0 %t41 = load ptr, ptr %t40 %t42 = getelementptr inbounds %LSlice, ptr %t38, i32 0, i32 1 %t43 = load i32, ptr %t42 %t44 = icmp ult i32 %t39, %t43 br i1 %t44, label %ixok8, label %ixbad9 ixbad9: store i32 3824, ptr @lp_site %t45 = call ptr @lp_win_stdio(i32 2) store i32 0, ptr @lp_site call i32 (ptr, ptr, ...) @fprintf(ptr %t45, ptr @.fmt_bounds, ptr @.str4546, i32 %t39, i32 %t43) call void @exit(i32 1) unreachable ixok8: %t46 = getelementptr inbounds ptr, ptr %t41, i32 %t39 %t47 = load ptr, ptr %t46 %t48 = icmp ne ptr %t47, null %t49 = zext i1 %t48 to i32 %t50 = icmp ne i32 %t49, 0 %t51 = zext i1 %t50 to i32 store i32 %t51, ptr %t37 br i1 %t50, label %sc10, label %scend11 sc10: %t52 = load ptr, ptr %t36 %t53 = load i32, ptr %t2 %t54 = getelementptr inbounds %LSlice, ptr %t52, i32 0, i32 0 %t55 = load ptr, ptr %t54 %t56 = getelementptr inbounds %LSlice, ptr %t52, i32 0, i32 1 %t57 = load i32, ptr %t56 %t58 = icmp ult i32 %t53, %t57 br i1 %t58, label %ixok12, label %ixbad13 ixbad13: store i32 3825, ptr @lp_site %t59 = call ptr @lp_win_stdio(i32 2) store i32 0, ptr @lp_site call i32 (ptr, ptr, ...) @fprintf(ptr %t59, ptr @.fmt_bounds, ptr @.str4547, i32 %t53, i32 %t57) call void @exit(i32 1) unreachable ixok12: %t60 = getelementptr inbounds ptr, ptr %t55, i32 %t53 %t61 = load ptr, ptr %t60 %t62 = load ptr, ptr %t1 %t63 = call i32 @lp_str_eq(ptr %t61, ptr %t62) %t64 = icmp eq i32 %t63, 0 %t65 = zext i1 %t64 to i32 %t66 = icmp ne i32 %t65, 0 %t67 = zext i1 %t66 to i32 store i32 %t67, ptr %t37 br label %scend11 scend11: %t68 = load i32, ptr %t37 %t69 = icmp ne i32 %t68, 0 br i1 %t69, label %wbody6, label %wend7 wbody6: %t70 = load i32, ptr %t2 %t71 = add i32 %t70, 1 %t72 = srem i32 %t71, 131072 store i32 %t72, ptr %t2 br label %wcond5 wend7: %t73 = load i32, ptr %t2 store i32 %t73, ptr %retval br label %ret ret: %t74 = load i32, ptr %retval ret i32 %t74 } define void @fn_ix_sync() { entry: %t17 = alloca ptr %t20 = alloca i32 %t21 = alloca i32 %t55 = alloca i32 %t75 = alloca i32 br label %wcond0 wcond0: %t0 = load i32, ptr @g_g_ix_upto %t1 = load ptr, ptr @g_prog %t2 = getelementptr inbounds %LSlice, ptr %t1, i32 0, i32 1 %t3 = load i32, ptr %t2 %t4 = icmp slt i32 %t0, %t3 %t5 = zext i1 %t4 to i32 %t6 = icmp ne i32 %t5, 0 br i1 %t6, label %wbody1, label %wend2 wbody1: %t7 = load ptr, ptr @g_prog %t8 = load i32, ptr @g_g_ix_upto %t9 = getelementptr inbounds %LSlice, ptr %t7, i32 0, i32 0 %t10 = load ptr, ptr %t9 %t11 = getelementptr inbounds %LSlice, ptr %t7, i32 0, i32 1 %t12 = load i32, ptr %t11 %t13 = icmp ult i32 %t8, %t12 br i1 %t13, label %ixok3, label %ixbad4 ixbad4: store i32 3826, ptr @lp_site %t14 = call ptr @lp_win_stdio(i32 2) store i32 0, ptr @lp_site call i32 (ptr, ptr, ...) @fprintf(ptr %t14, ptr @.fmt_bounds, ptr @.str4548, i32 %t8, i32 %t12) call void @exit(i32 1) unreachable ixok3: %t15 = getelementptr inbounds ptr, ptr %t10, i32 %t8 %t16 = load ptr, ptr %t15 store ptr %t16, ptr %t17 %t18 = load ptr, ptr %t17 %t19 = call i32 @fn_ix_kind(ptr %t18) store i32 %t19, ptr %t20 %t22 = load ptr, ptr %t17 %t23 = getelementptr inbounds %Cmp_Node, ptr %t22, i32 0, i32 0 %t24 = load i32, ptr %t23 %t25 = icmp eq i32 %t24, 27 %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 %sc5, label %scend6 sc5: %t29 = load ptr, ptr %t17 %t30 = call i32 @fn_enum_is_tagged(ptr %t29) %t31 = icmp ne i32 %t30, 0 %t32 = zext i1 %t31 to i32 store i32 %t32, ptr %t21 br label %scend6 scend6: %t33 = load i32, ptr %t21 %t34 = icmp ne i32 %t33, 0 br i1 %t34, label %then7, label %ifend9 then7: %t35 = load ptr, ptr @g_g_ix_tagged %t36 = load ptr, ptr %t17 %t37 = getelementptr inbounds %LSlice, ptr %t35, i32 0, i32 1 %t38 = getelementptr inbounds %LSlice, ptr %t35, i32 0, i32 2 %t39 = getelementptr inbounds %LSlice, ptr %t35, i32 0, i32 0 %t40 = load i32, ptr %t37 %t41 = load i32, ptr %t38 %t42 = icmp sge i32 %t40, %t41 br i1 %t42, label %grow10, label %put11 grow10: %t43 = mul i32 %t41, 2 %t44 = icmp eq i32 %t41, 0 %t45 = select i1 %t44, i32 8, i32 %t43 %t46 = getelementptr ptr, ptr null, i32 1 %t47 = ptrtoint ptr %t46 to i64 %t48 = zext i32 %t45 to i64 %t49 = mul i64 %t48, %t47 %t50 = load ptr, ptr %t39 store i32 3827, ptr @lp_site %t51 = call ptr @lp_realloc(ptr %t50, i64 %t49) store i32 0, ptr @lp_site store ptr %t51, ptr %t39 store i32 %t45, ptr %t38 br label %put11 put11: %t52 = load ptr, ptr %t39 %t53 = getelementptr inbounds ptr, ptr %t52, i32 %t40 store ptr %t36, ptr %t53 %t54 = add i32 %t40, 1 store i32 %t54, ptr %t37 br label %ifend9 ifend9: %t56 = load i32, ptr %t20 %t57 = icmp sge i32 %t56, 0 %t58 = zext i1 %t57 to i32 %t59 = icmp ne i32 %t58, 0 %t60 = zext i1 %t59 to i32 store i32 %t60, ptr %t55 br i1 %t59, label %sc12, label %scend13 sc12: %t61 = load ptr, ptr %t17 %t62 = getelementptr inbounds %Cmp_Node, ptr %t61, i32 0, i32 1 %t63 = load ptr, ptr %t62 %t64 = icmp ne ptr %t63, null %t65 = zext i1 %t64 to i32 %t66 = icmp ne i32 %t65, 0 %t67 = zext i1 %t66 to i32 store i32 %t67, ptr %t55 br label %scend13 scend13: %t68 = load i32, ptr %t55 %t69 = icmp ne i32 %t68, 0 br i1 %t69, label %then14, label %ifend16 then14: %t70 = load i32, ptr %t20 %t71 = load ptr, ptr %t17 %t72 = getelementptr inbounds %Cmp_Node, ptr %t71, i32 0, i32 1 %t73 = load ptr, ptr %t72 %t74 = call i32 @fn_ix_slot(i32 %t70, ptr %t73) store i32 %t74, ptr %t75 %t76 = load ptr, ptr @g_g_ix_keys %t77 = load i32, ptr %t20 %t78 = getelementptr inbounds %LSlice, ptr %t76, i32 0, i32 0 %t79 = load ptr, ptr %t78 %t80 = getelementptr inbounds %LSlice, ptr %t76, i32 0, i32 1 %t81 = load i32, ptr %t80 %t82 = icmp ult i32 %t77, %t81 br i1 %t82, label %ixok17, label %ixbad18 ixbad18: store i32 3828, ptr @lp_site %t83 = call ptr @lp_win_stdio(i32 2) store i32 0, ptr @lp_site call i32 (ptr, ptr, ...) @fprintf(ptr %t83, ptr @.fmt_bounds, ptr @.str4550, i32 %t77, i32 %t81) call void @exit(i32 1) unreachable ixok17: %t84 = getelementptr inbounds ptr, ptr %t79, i32 %t77 %t85 = load ptr, ptr %t84 %t86 = load i32, ptr %t75 %t87 = getelementptr inbounds %LSlice, ptr %t85, i32 0, i32 0 %t88 = load ptr, ptr %t87 %t89 = getelementptr inbounds %LSlice, ptr %t85, i32 0, i32 1 %t90 = load i32, ptr %t89 %t91 = icmp ult i32 %t86, %t90 br i1 %t91, label %ixok19, label %ixbad20 ixbad20: store i32 3829, ptr @lp_site %t92 = call ptr @lp_win_stdio(i32 2) store i32 0, ptr @lp_site call i32 (ptr, ptr, ...) @fprintf(ptr %t92, ptr @.fmt_bounds, ptr @.str4551, i32 %t86, i32 %t90) call void @exit(i32 1) unreachable ixok19: %t93 = getelementptr inbounds ptr, ptr %t88, i32 %t86 %t94 = load ptr, ptr %t93 %t95 = icmp eq ptr %t94, null %t96 = zext i1 %t95 to i32 %t97 = icmp ne i32 %t96, 0 br i1 %t97, label %then21, label %ifend23 then21: %t98 = load ptr, ptr @g_g_ix_keys %t99 = load i32, ptr %t20 %t100 = getelementptr inbounds %LSlice, ptr %t98, i32 0, i32 0 %t101 = load ptr, ptr %t100 %t102 = getelementptr inbounds %LSlice, ptr %t98, i32 0, i32 1 %t103 = load i32, ptr %t102 %t104 = icmp ult i32 %t99, %t103 br i1 %t104, label %ixok24, label %ixbad25 ixbad25: store i32 3830, ptr @lp_site %t105 = call ptr @lp_win_stdio(i32 2) store i32 0, ptr @lp_site call i32 (ptr, ptr, ...) @fprintf(ptr %t105, ptr @.fmt_bounds, ptr @.str4552, i32 %t99, i32 %t103) call void @exit(i32 1) unreachable ixok24: %t106 = getelementptr inbounds ptr, ptr %t101, i32 %t99 %t107 = load ptr, ptr %t106 %t108 = load i32, ptr %t75 %t109 = getelementptr inbounds %LSlice, ptr %t107, i32 0, i32 0 %t110 = load ptr, ptr %t109 %t111 = getelementptr inbounds %LSlice, ptr %t107, i32 0, i32 1 %t112 = load i32, ptr %t111 %t113 = icmp ult i32 %t108, %t112 br i1 %t113, label %ixok26, label %ixbad27 ixbad27: store i32 3831, ptr @lp_site %t114 = call ptr @lp_win_stdio(i32 2) store i32 0, ptr @lp_site call i32 (ptr, ptr, ...) @fprintf(ptr %t114, ptr @.fmt_bounds, ptr @.str4553, i32 %t108, i32 %t112) call void @exit(i32 1) unreachable ixok26: %t115 = getelementptr inbounds ptr, ptr %t110, i32 %t108 %t116 = load ptr, ptr %t17 %t117 = getelementptr inbounds %Cmp_Node, ptr %t116, i32 0, i32 1 %t118 = load ptr, ptr %t117 store ptr %t118, ptr %t115 %t119 = load ptr, ptr @g_g_ix_vals %t120 = load i32, ptr %t20 %t121 = getelementptr inbounds %LSlice, ptr %t119, i32 0, i32 0 %t122 = load ptr, ptr %t121 %t123 = getelementptr inbounds %LSlice, ptr %t119, i32 0, i32 1 %t124 = load i32, ptr %t123 %t125 = icmp ult i32 %t120, %t124 br i1 %t125, label %ixok28, label %ixbad29 ixbad29: store i32 3832, ptr @lp_site %t126 = call ptr @lp_win_stdio(i32 2) store i32 0, ptr @lp_site call i32 (ptr, ptr, ...) @fprintf(ptr %t126, ptr @.fmt_bounds, ptr @.str4554, i32 %t120, i32 %t124) call void @exit(i32 1) unreachable ixok28: %t127 = getelementptr inbounds ptr, ptr %t122, i32 %t120 %t128 = load ptr, ptr %t127 %t129 = load i32, ptr %t75 %t130 = getelementptr inbounds %LSlice, ptr %t128, i32 0, i32 0 %t131 = load ptr, ptr %t130 %t132 = getelementptr inbounds %LSlice, ptr %t128, i32 0, i32 1 %t133 = load i32, ptr %t132 %t134 = icmp ult i32 %t129, %t133 br i1 %t134, label %ixok30, label %ixbad31 ixbad31: store i32 3833, ptr @lp_site %t135 = call ptr @lp_win_stdio(i32 2) store i32 0, ptr @lp_site call i32 (ptr, ptr, ...) @fprintf(ptr %t135, ptr @.fmt_bounds, ptr @.str4555, i32 %t129, i32 %t133) call void @exit(i32 1) unreachable ixok30: %t136 = getelementptr inbounds ptr, ptr %t131, i32 %t129 %t137 = load ptr, ptr %t17 store ptr %t137, ptr %t136 br label %ifend23 ifend23: br label %ifend16 ifend16: %t138 = load i32, ptr @g_g_ix_upto %t139 = add i32 %t138, 1 store i32 %t139, ptr @g_g_ix_upto br label %wcond0 wend2: br label %ret ret: ret void } define ptr @fn_ix_find(i32 %arg_t, ptr %arg_name) { entry: %retval = alloca ptr %t0 = alloca i32 %t1 = alloca ptr %t2 = alloca i32 %t18 = alloca i32 %t38 = alloca ptr %t43 = alloca ptr %t45 = alloca i32 store i32 %arg_t, ptr %t0 store ptr %arg_name, ptr %t1 store i32 0, ptr @g_g_ix_miss %t3 = load i32, ptr @g_g_ix_on %t4 = icmp eq i32 %t3, 0 %t5 = zext i1 %t4 to i32 %t6 = icmp ne i32 %t5, 0 %t7 = zext i1 %t6 to i32 store i32 %t7, ptr %t2 br i1 %t6, label %scend1, label %sc0 sc0: %t8 = load ptr, ptr %t1 %t9 = icmp eq ptr %t8, null %t10 = zext i1 %t9 to i32 %t11 = icmp ne i32 %t10, 0 %t12 = zext i1 %t11 to i32 store i32 %t12, ptr %t2 br label %scend1 scend1: %t13 = load i32, ptr %t2 %t14 = icmp ne i32 %t13, 0 br i1 %t14, label %then2, label %ifend4 then2: store i32 1, ptr @g_g_ix_miss store ptr null, ptr %retval br label %ret ifend4: call void @fn_ix_sync() %t15 = load i32, ptr %t0 %t16 = load ptr, ptr %t1 %t17 = call i32 @fn_ix_slot(i32 %t15, ptr %t16) store i32 %t17, ptr %t18 %t19 = load ptr, ptr @g_g_ix_vals %t20 = load i32, ptr %t0 %t21 = getelementptr inbounds %LSlice, ptr %t19, i32 0, i32 0 %t22 = load ptr, ptr %t21 %t23 = getelementptr inbounds %LSlice, ptr %t19, i32 0, i32 1 %t24 = load i32, ptr %t23 %t25 = icmp ult i32 %t20, %t24 br i1 %t25, label %ixok5, label %ixbad6 ixbad6: store i32 3834, ptr @lp_site %t26 = call ptr @lp_win_stdio(i32 2) store i32 0, ptr @lp_site call i32 (ptr, ptr, ...) @fprintf(ptr %t26, ptr @.fmt_bounds, ptr @.str4556, i32 %t20, i32 %t24) call void @exit(i32 1) unreachable ixok5: %t27 = getelementptr inbounds ptr, ptr %t22, i32 %t20 %t28 = load ptr, ptr %t27 %t29 = load i32, ptr %t18 %t30 = getelementptr inbounds %LSlice, ptr %t28, i32 0, i32 0 %t31 = load ptr, ptr %t30 %t32 = getelementptr inbounds %LSlice, ptr %t28, i32 0, i32 1 %t33 = load i32, ptr %t32 %t34 = icmp ult i32 %t29, %t33 br i1 %t34, label %ixok7, label %ixbad8 ixbad8: store i32 3835, ptr @lp_site %t35 = call ptr @lp_win_stdio(i32 2) store i32 0, ptr @lp_site call i32 (ptr, ptr, ...) @fprintf(ptr %t35, ptr @.fmt_bounds, ptr @.str4558, i32 %t29, i32 %t33) call void @exit(i32 1) unreachable ixok7: %t36 = getelementptr inbounds ptr, ptr %t31, i32 %t29 %t37 = load ptr, ptr %t36 store ptr %t37, ptr %t38 %t39 = load ptr, ptr %t38 %t40 = icmp eq ptr %t39, null %t41 = zext i1 %t40 to i32 %t42 = icmp ne i32 %t41, 0 br i1 %t42, label %then9, label %ifend11 then9: store ptr null, ptr %retval br label %ret ifend11: %t44 = load ptr, ptr %t38 store ptr %t44, ptr %t43 %t46 = load ptr, ptr %t43 %t47 = getelementptr inbounds %Cmp_Node, ptr %t46, i32 0, i32 1 %t48 = load ptr, ptr %t47 %t49 = load ptr, ptr %t1 %t50 = call i32 @lp_str_eq(ptr %t48, ptr %t49) %t51 = icmp ne i32 %t50, 0 %t52 = zext i1 %t51 to i32 store i32 %t52, ptr %t45 br i1 %t51, label %sc12, label %scend13 sc12: %t53 = load ptr, ptr %t43 %t54 = call i32 @fn_ix_kind(ptr %t53) %t55 = load i32, ptr %t0 %t56 = icmp eq i32 %t54, %t55 %t57 = zext i1 %t56 to i32 %t58 = icmp ne i32 %t57, 0 %t59 = zext i1 %t58 to i32 store i32 %t59, ptr %t45 br label %scend13 scend13: %t60 = load i32, ptr %t45 %t61 = icmp ne i32 %t60, 0 br i1 %t61, label %then14, label %ifend16 then14: %t62 = load ptr, ptr %t43 store ptr %t62, ptr %retval br label %ret ifend16: store i32 1, ptr @g_g_ix_miss store ptr null, ptr %retval br label %ret ret: %t63 = load ptr, ptr %retval ret ptr %t63 } define ptr @fn_find_comp(ptr %arg_name) { entry: %retval = alloca ptr %t0 = alloca ptr %t3 = alloca ptr %t9 = alloca i32 %t27 = alloca ptr %t28 = alloca i32 store ptr %arg_name, ptr %t0 %t1 = load ptr, ptr %t0 %t2 = call ptr @fn_ix_find(i32 2, ptr %t1) store ptr %t2, ptr %t3 %t4 = load i32, ptr @g_g_ix_miss %t5 = icmp eq i32 %t4, 0 %t6 = zext i1 %t5 to i32 %t7 = icmp ne i32 %t6, 0 br i1 %t7, label %then0, label %ifend2 then0: %t8 = load ptr, ptr %t3 store ptr %t8, ptr %retval br label %ret ifend2: store i32 0, ptr %t9 br label %wcond3 wcond3: %t10 = load i32, ptr %t9 %t11 = load ptr, ptr @g_prog %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_prog %t18 = load i32, ptr %t9 %t19 = getelementptr inbounds %LSlice, ptr %t17, i32 0, i32 0 %t20 = load ptr, ptr %t19 %t21 = getelementptr inbounds %LSlice, ptr %t17, i32 0, i32 1 %t22 = load i32, ptr %t21 %t23 = icmp ult i32 %t18, %t22 br i1 %t23, label %ixok6, label %ixbad7 ixbad7: store i32 3836, ptr @lp_site %t24 = call ptr @lp_win_stdio(i32 2) store i32 0, ptr @lp_site call i32 (ptr, ptr, ...) @fprintf(ptr %t24, ptr @.fmt_bounds, ptr @.str4559, i32 %t18, i32 %t22) call void @exit(i32 1) unreachable ixok6: %t25 = getelementptr inbounds ptr, ptr %t20, i32 %t18 %t26 = load ptr, ptr %t25 store ptr %t26, ptr %t27 %t29 = load ptr, ptr %t27 %t30 = getelementptr inbounds %Cmp_Node, ptr %t29, i32 0, i32 0 %t31 = load i32, ptr %t30 %t32 = icmp eq i32 %t31, 8 %t33 = zext i1 %t32 to i32 %t34 = icmp ne i32 %t33, 0 %t35 = zext i1 %t34 to i32 store i32 %t35, ptr %t28 br i1 %t34, label %sc8, label %scend9 sc8: %t36 = load ptr, ptr %t27 %t37 = getelementptr inbounds %Cmp_Node, ptr %t36, i32 0, i32 1 %t38 = load ptr, ptr %t37 %t39 = load ptr, ptr %t0 %t40 = call i32 @lp_str_eq(ptr %t38, ptr %t39) %t41 = icmp ne i32 %t40, 0 %t42 = zext i1 %t41 to i32 store i32 %t42, ptr %t28 br label %scend9 scend9: %t43 = load i32, ptr %t28 %t44 = icmp ne i32 %t43, 0 br i1 %t44, label %then10, label %ifend12 then10: %t45 = load ptr, ptr %t27 store ptr %t45, ptr %retval br label %ret ifend12: %t46 = load i32, ptr %t9 %t47 = add i32 %t46, 1 store i32 %t47, ptr %t9 br label %wcond3 wend5: store ptr null, ptr %retval br label %ret ret: %t48 = load ptr, ptr %retval ret ptr %t48 } 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 store i32 3837, ptr @lp_site %t2 = call ptr @lp_str_concat(ptr @.str4561, ptr %t1) store i32 0, ptr @lp_site 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 = load i32, ptr %t2 %t16 = getelementptr inbounds %LSlice, ptr %t14, i32 0, i32 0 %t17 = load ptr, ptr %t16 %t18 = getelementptr inbounds %LSlice, ptr %t14, i32 0, i32 1 %t19 = load i32, ptr %t18 %t20 = icmp ult i32 %t15, %t19 br i1 %t20, label %ixok3, label %ixbad4 ixbad4: store i32 3838, ptr @lp_site %t21 = call ptr @lp_win_stdio(i32 2) store i32 0, ptr @lp_site call i32 (ptr, ptr, ...) @fprintf(ptr %t21, ptr @.fmt_bounds, ptr @.str4563, i32 %t15, i32 %t19) call void @exit(i32 1) unreachable ixok3: %t22 = getelementptr inbounds ptr, ptr %t17, i32 %t15 %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 %then5, label %ifend7 then5: %t29 = load i32, ptr %t2 store i32 %t29, ptr %retval br label %ret ifend7: %t30 = load i32, ptr %t2 %t31 = add i32 %t30, 1 store i32 %t31, ptr %t2 br label %wcond0 wend2: %t32 = sub i32 0, 1 store i32 %t32, ptr %retval br label %ret ret: %t33 = load i32, ptr %retval ret i32 %t33 } 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 = load i32, ptr %t2 %t16 = getelementptr inbounds %LSlice, ptr %t14, i32 0, i32 0 %t17 = load ptr, ptr %t16 %t18 = getelementptr inbounds %LSlice, ptr %t14, i32 0, i32 1 %t19 = load i32, ptr %t18 %t20 = icmp ult i32 %t15, %t19 br i1 %t20, label %ixok3, label %ixbad4 ixbad4: store i32 3839, ptr @lp_site %t21 = call ptr @lp_win_stdio(i32 2) store i32 0, ptr @lp_site call i32 (ptr, ptr, ...) @fprintf(ptr %t21, ptr @.fmt_bounds, ptr @.str4565, i32 %t15, i32 %t19) call void @exit(i32 1) unreachable ixok3: %t22 = getelementptr inbounds ptr, ptr %t17, i32 %t15 %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 %then5, label %ifend7 then5: %t29 = load ptr, ptr %t0 %t30 = getelementptr inbounds %Cmp_Node, ptr %t29, i32 0, i32 7 %t31 = load ptr, ptr %t30 %t32 = load i32, ptr %t2 %t33 = getelementptr inbounds %LSlice, ptr %t31, i32 0, i32 0 %t34 = load ptr, ptr %t33 %t35 = getelementptr inbounds %LSlice, ptr %t31, i32 0, i32 1 %t36 = load i32, ptr %t35 %t37 = icmp ult i32 %t32, %t36 br i1 %t37, label %ixok8, label %ixbad9 ixbad9: store i32 3840, ptr @lp_site %t38 = call ptr @lp_win_stdio(i32 2) store i32 0, ptr @lp_site call i32 (ptr, ptr, ...) @fprintf(ptr %t38, ptr @.fmt_bounds, ptr @.str4567, i32 %t32, i32 %t36) call void @exit(i32 1) unreachable ixok8: %t39 = getelementptr inbounds ptr, ptr %t34, i32 %t32 %t40 = load ptr, ptr %t39 %t41 = getelementptr inbounds %Cmp_Node, ptr %t40, i32 0, i32 3 %t42 = load ptr, ptr %t41 store ptr %t42, ptr %retval br label %ret ifend7: %t43 = load i32, ptr %t2 %t44 = add i32 %t43, 1 store i32 %t44, ptr %t2 br label %wcond0 wend2: store ptr @.str4568, ptr %retval br label %ret ret: %t45 = load ptr, ptr %retval ret ptr %t45 } define ptr @fn_find_global(ptr %arg_name) { entry: %retval = alloca ptr %t0 = alloca ptr %t3 = alloca ptr %t9 = alloca i32 %t27 = alloca ptr %t28 = alloca i32 %t46 = alloca i32 store ptr %arg_name, ptr %t0 %t1 = load ptr, ptr %t0 %t2 = call ptr @fn_ix_find(i32 3, ptr %t1) store ptr %t2, ptr %t3 %t4 = load i32, ptr @g_g_ix_miss %t5 = icmp eq i32 %t4, 0 %t6 = zext i1 %t5 to i32 %t7 = icmp ne i32 %t6, 0 br i1 %t7, label %then0, label %ifend2 then0: %t8 = load ptr, ptr %t3 store ptr %t8, ptr %retval br label %ret ifend2: store i32 0, ptr %t9 br label %wcond3 wcond3: %t10 = load i32, ptr %t9 %t11 = load ptr, ptr @g_prog %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_prog %t18 = load i32, ptr %t9 %t19 = getelementptr inbounds %LSlice, ptr %t17, i32 0, i32 0 %t20 = load ptr, ptr %t19 %t21 = getelementptr inbounds %LSlice, ptr %t17, i32 0, i32 1 %t22 = load i32, ptr %t21 %t23 = icmp ult i32 %t18, %t22 br i1 %t23, label %ixok6, label %ixbad7 ixbad7: store i32 3841, ptr @lp_site %t24 = call ptr @lp_win_stdio(i32 2) store i32 0, ptr @lp_site call i32 (ptr, ptr, ...) @fprintf(ptr %t24, ptr @.fmt_bounds, ptr @.str4569, i32 %t18, i32 %t22) call void @exit(i32 1) unreachable ixok6: %t25 = getelementptr inbounds ptr, ptr %t20, i32 %t18 %t26 = load ptr, ptr %t25 store ptr %t26, ptr %t27 %t29 = load ptr, ptr %t27 %t30 = getelementptr inbounds %Cmp_Node, ptr %t29, i32 0, i32 0 %t31 = load i32, ptr %t30 %t32 = icmp eq i32 %t31, 2 %t33 = zext i1 %t32 to i32 %t34 = icmp ne i32 %t33, 0 %t35 = zext i1 %t34 to i32 store i32 %t35, ptr %t28 br i1 %t34, label %sc8, label %scend9 sc8: %t36 = load ptr, ptr %t27 %t37 = getelementptr inbounds %Cmp_Node, ptr %t36, i32 0, i32 1 %t38 = load ptr, ptr %t37 %t39 = load ptr, ptr %t0 %t40 = call i32 @lp_str_eq(ptr %t38, ptr %t39) %t41 = icmp ne i32 %t40, 0 %t42 = zext i1 %t41 to i32 store i32 %t42, ptr %t28 br label %scend9 scend9: %t43 = load i32, ptr %t28 %t44 = icmp ne i32 %t43, 0 br i1 %t44, label %then10, label %ifend12 then10: %t45 = load ptr, ptr %t27 store ptr %t45, ptr %retval br label %ret ifend12: %t47 = load ptr, ptr %t27 %t48 = getelementptr inbounds %Cmp_Node, ptr %t47, i32 0, i32 0 %t49 = load i32, ptr %t48 %t50 = icmp eq i32 %t49, 3 %t51 = zext i1 %t50 to i32 %t52 = icmp ne i32 %t51, 0 %t53 = zext i1 %t52 to i32 store i32 %t53, ptr %t46 br i1 %t52, label %sc13, label %scend14 sc13: %t54 = load ptr, ptr %t27 %t55 = getelementptr inbounds %Cmp_Node, ptr %t54, i32 0, i32 1 %t56 = load ptr, ptr %t55 %t57 = load ptr, ptr %t0 %t58 = call i32 @lp_str_eq(ptr %t56, ptr %t57) %t59 = icmp ne i32 %t58, 0 %t60 = zext i1 %t59 to i32 store i32 %t60, ptr %t46 br label %scend14 scend14: %t61 = load i32, ptr %t46 %t62 = icmp ne i32 %t61, 0 br i1 %t62, label %then15, label %ifend17 then15: %t63 = load ptr, ptr %t27 store ptr %t63, ptr %retval br label %ret ifend17: %t64 = load i32, ptr %t9 %t65 = add i32 %t64, 1 store i32 %t65, ptr %t9 br label %wcond3 wend5: store ptr null, ptr %retval br label %ret ret: %t66 = load ptr, ptr %retval ret ptr %t66 } define i32 @fn_enum_ordinal(ptr %arg_ename, ptr %arg_vname) { entry: %retval = alloca i32 %t0 = alloca ptr %t1 = alloca ptr %t2 = alloca i32 %t7 = alloca ptr %t12 = alloca i32 %t62 = alloca ptr %t63 = alloca i32 %t80 = alloca i32 store ptr %arg_ename, ptr %t0 store ptr %arg_vname, ptr %t1 store i32 0, ptr %t2 %t3 = load i32, ptr @g_g_ix_on %t4 = icmp ne i32 %t3, 0 br i1 %t4, label %then0, label %ifend2 then0: %t5 = load ptr, ptr %t0 %t6 = call ptr @fn_find_enum(ptr %t5) store ptr %t6, ptr %t7 %t8 = load ptr, ptr %t7 %t9 = icmp ne ptr %t8, null %t10 = zext i1 %t9 to i32 %t11 = icmp ne i32 %t10, 0 br i1 %t11, label %then3, label %ifend5 then3: store i32 0, ptr %t12 br label %wcond6 wcond6: %t13 = load i32, ptr %t12 %t14 = load ptr, ptr %t7 %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 1 %t18 = load i32, ptr %t17 %t19 = icmp slt i32 %t13, %t18 %t20 = zext i1 %t19 to i32 %t21 = icmp ne i32 %t20, 0 br i1 %t21, label %wbody7, label %wend8 wbody7: %t22 = load ptr, ptr %t7 %t23 = getelementptr inbounds %Cmp_Node, ptr %t22, i32 0, i32 7 %t24 = load ptr, ptr %t23 %t25 = load i32, ptr %t12 %t26 = getelementptr inbounds %LSlice, ptr %t24, i32 0, i32 0 %t27 = load ptr, ptr %t26 %t28 = getelementptr inbounds %LSlice, ptr %t24, i32 0, i32 1 %t29 = load i32, ptr %t28 %t30 = icmp ult i32 %t25, %t29 br i1 %t30, label %ixok9, label %ixbad10 ixbad10: store i32 3842, ptr @lp_site %t31 = call ptr @lp_win_stdio(i32 2) store i32 0, ptr @lp_site call i32 (ptr, ptr, ...) @fprintf(ptr %t31, ptr @.fmt_bounds, ptr @.str4571, i32 %t25, i32 %t29) call void @exit(i32 1) unreachable ixok9: %t32 = getelementptr inbounds ptr, ptr %t27, i32 %t25 %t33 = load ptr, ptr %t32 %t34 = getelementptr inbounds %Cmp_Node, ptr %t33, i32 0, i32 1 %t35 = load ptr, ptr %t34 %t36 = load ptr, ptr %t1 %t37 = call i32 @lp_str_eq(ptr %t35, ptr %t36) %t38 = icmp ne i32 %t37, 0 br i1 %t38, label %then11, label %ifend13 then11: %t39 = load i32, ptr %t12 store i32 %t39, ptr %retval br label %ret ifend13: %t40 = load i32, ptr %t12 %t41 = add i32 %t40, 1 store i32 %t41, ptr %t12 br label %wcond6 wend8: br label %ifend5 ifend5: %t42 = load ptr, ptr @g_prog %t43 = getelementptr inbounds %LSlice, ptr %t42, i32 0, i32 1 %t44 = load i32, ptr %t43 store i32 %t44, ptr %t2 br label %ifend2 ifend2: br label %wcond14 wcond14: %t45 = load i32, ptr %t2 %t46 = load ptr, ptr @g_prog %t47 = getelementptr inbounds %LSlice, ptr %t46, i32 0, i32 1 %t48 = load i32, ptr %t47 %t49 = icmp slt i32 %t45, %t48 %t50 = zext i1 %t49 to i32 %t51 = icmp ne i32 %t50, 0 br i1 %t51, label %wbody15, label %wend16 wbody15: %t52 = load ptr, ptr @g_prog %t53 = load i32, ptr %t2 %t54 = getelementptr inbounds %LSlice, ptr %t52, i32 0, i32 0 %t55 = load ptr, ptr %t54 %t56 = getelementptr inbounds %LSlice, ptr %t52, i32 0, i32 1 %t57 = load i32, ptr %t56 %t58 = icmp ult i32 %t53, %t57 br i1 %t58, label %ixok17, label %ixbad18 ixbad18: store i32 3843, ptr @lp_site %t59 = call ptr @lp_win_stdio(i32 2) store i32 0, ptr @lp_site call i32 (ptr, ptr, ...) @fprintf(ptr %t59, ptr @.fmt_bounds, ptr @.str4573, i32 %t53, i32 %t57) call void @exit(i32 1) unreachable ixok17: %t60 = getelementptr inbounds ptr, ptr %t55, i32 %t53 %t61 = load ptr, ptr %t60 store ptr %t61, ptr %t62 %t64 = load ptr, ptr %t62 %t65 = getelementptr inbounds %Cmp_Node, ptr %t64, i32 0, i32 0 %t66 = load i32, ptr %t65 %t67 = icmp eq i32 %t66, 27 %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 %sc19, label %scend20 sc19: %t71 = load ptr, ptr %t62 %t72 = getelementptr inbounds %Cmp_Node, ptr %t71, i32 0, i32 1 %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 %scend20 scend20: %t78 = load i32, ptr %t63 %t79 = icmp ne i32 %t78, 0 br i1 %t79, label %then21, label %ifend23 then21: store i32 0, ptr %t80 br label %wcond24 wcond24: %t81 = load i32, ptr %t80 %t82 = load ptr, ptr %t62 %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 %wbody25, label %wend26 wbody25: %t90 = load ptr, ptr %t62 %t91 = getelementptr inbounds %Cmp_Node, ptr %t90, i32 0, i32 7 %t92 = load ptr, ptr %t91 %t93 = load i32, ptr %t80 %t94 = getelementptr inbounds %LSlice, ptr %t92, i32 0, i32 0 %t95 = load ptr, ptr %t94 %t96 = getelementptr inbounds %LSlice, ptr %t92, i32 0, i32 1 %t97 = load i32, ptr %t96 %t98 = icmp ult i32 %t93, %t97 br i1 %t98, label %ixok27, label %ixbad28 ixbad28: store i32 3844, ptr @lp_site %t99 = call ptr @lp_win_stdio(i32 2) store i32 0, ptr @lp_site call i32 (ptr, ptr, ...) @fprintf(ptr %t99, ptr @.fmt_bounds, ptr @.str4574, i32 %t93, i32 %t97) call void @exit(i32 1) unreachable ixok27: %t100 = getelementptr inbounds ptr, ptr %t95, i32 %t93 %t101 = load ptr, ptr %t100 %t102 = getelementptr inbounds %Cmp_Node, ptr %t101, i32 0, i32 1 %t103 = load ptr, ptr %t102 %t104 = load ptr, ptr %t1 %t105 = call i32 @lp_str_eq(ptr %t103, ptr %t104) %t106 = icmp ne i32 %t105, 0 br i1 %t106, label %then29, label %ifend31 then29: %t107 = load i32, ptr %t80 store i32 %t107, ptr %retval br label %ret ifend31: %t108 = load i32, ptr %t80 %t109 = add i32 %t108, 1 store i32 %t109, ptr %t80 br label %wcond24 wend26: br label %ifend23 ifend23: %t110 = load i32, ptr %t2 %t111 = add i32 %t110, 1 store i32 %t111, ptr %t2 br label %wcond14 wend16: %t112 = load ptr, ptr %t0 %t113 = call i32 @lp_str_eq(ptr %t112, ptr @.str4575) %t114 = icmp ne i32 %t113, 0 br i1 %t114, label %then32, label %ifend34 then32: %t115 = load ptr, ptr %t1 %t116 = call i32 @lp_str_eq(ptr %t115, ptr @.str4576) %t117 = icmp ne i32 %t116, 0 br i1 %t117, label %then35, label %ifend37 then35: store i32 0, ptr %retval br label %ret ifend37: %t118 = load ptr, ptr %t1 %t119 = call i32 @lp_str_eq(ptr %t118, ptr @.str4577) %t120 = icmp ne i32 %t119, 0 br i1 %t120, label %then38, label %ifend40 then38: store i32 1, ptr %retval br label %ret ifend40: %t121 = load ptr, ptr %t1 %t122 = call i32 @lp_str_eq(ptr %t121, ptr @.str4578) %t123 = icmp ne i32 %t122, 0 br i1 %t123, label %then41, label %ifend43 then41: store i32 2, ptr %retval br label %ret ifend43: br label %ifend34 ifend34: %t124 = sub i32 0, 1 store i32 %t124, ptr %retval br label %ret ret: %t125 = load i32, ptr %retval ret i32 %t125 } 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 = load i32, ptr %t8 %t22 = getelementptr inbounds %LSlice, ptr %t20, i32 0, i32 0 %t23 = load ptr, ptr %t22 %t24 = getelementptr inbounds %LSlice, ptr %t20, i32 0, i32 1 %t25 = load i32, ptr %t24 %t26 = icmp ult i32 %t21, %t25 br i1 %t26, label %ixok6, label %ixbad7 ixbad7: store i32 3845, ptr @lp_site %t27 = call ptr @lp_win_stdio(i32 2) store i32 0, ptr @lp_site call i32 (ptr, ptr, ...) @fprintf(ptr %t27, ptr @.fmt_bounds, ptr @.str4579, i32 %t21, i32 %t25) call void @exit(i32 1) unreachable ixok6: %t28 = getelementptr inbounds ptr, ptr %t23, i32 %t21 %t29 = load ptr, ptr %t28 %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 1 %t33 = load i32, ptr %t32 %t34 = icmp sgt i32 %t33, 0 %t35 = zext i1 %t34 to i32 %t36 = icmp ne i32 %t35, 0 br i1 %t36, label %then8, label %ifend10 then8: store i32 0, ptr %retval br label %ret ifend10: %t37 = load i32, ptr %t8 %t38 = add i32 %t37, 1 store i32 %t38, ptr %t8 br label %wcond3 wend5: store i32 1, ptr %retval br label %ret ret: %t39 = load i32, ptr %retval ret i32 %t39 } define ptr @fn_find_prefab(ptr %arg_name) { entry: %retval = alloca ptr %t0 = alloca ptr %t1 = alloca i32 %t19 = alloca ptr %t20 = 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 = load i32, ptr %t1 %t11 = getelementptr inbounds %LSlice, ptr %t9, i32 0, i32 0 %t12 = load ptr, ptr %t11 %t13 = getelementptr inbounds %LSlice, ptr %t9, i32 0, i32 1 %t14 = load i32, ptr %t13 %t15 = icmp ult i32 %t10, %t14 br i1 %t15, label %ixok3, label %ixbad4 ixbad4: store i32 3846, ptr @lp_site %t16 = call ptr @lp_win_stdio(i32 2) store i32 0, ptr @lp_site call i32 (ptr, ptr, ...) @fprintf(ptr %t16, ptr @.fmt_bounds, ptr @.str4581, i32 %t10, i32 %t14) call void @exit(i32 1) unreachable ixok3: %t17 = getelementptr inbounds ptr, ptr %t12, i32 %t10 %t18 = load ptr, ptr %t17 store ptr %t18, ptr %t19 %t21 = load ptr, ptr %t19 %t22 = getelementptr inbounds %Cmp_Node, ptr %t21, i32 0, i32 0 %t23 = load i32, ptr %t22 %t24 = icmp eq i32 %t23, 53 %t25 = zext i1 %t24 to i32 %t26 = icmp ne i32 %t25, 0 %t27 = zext i1 %t26 to i32 store i32 %t27, ptr %t20 br i1 %t26, label %sc5, label %scend6 sc5: %t28 = load ptr, ptr %t19 %t29 = getelementptr inbounds %Cmp_Node, ptr %t28, i32 0, i32 1 %t30 = load ptr, ptr %t29 %t31 = load ptr, ptr %t0 %t32 = call i32 @lp_str_eq(ptr %t30, ptr %t31) %t33 = icmp ne i32 %t32, 0 %t34 = zext i1 %t33 to i32 store i32 %t34, ptr %t20 br label %scend6 scend6: %t35 = load i32, ptr %t20 %t36 = icmp ne i32 %t35, 0 br i1 %t36, label %then7, label %ifend9 then7: %t37 = load ptr, ptr %t19 store ptr %t37, ptr %retval br label %ret ifend9: %t38 = load i32, ptr %t1 %t39 = add i32 %t38, 1 store i32 %t39, ptr %t1 br label %wcond0 wend2: store ptr null, ptr %retval br label %ret ret: %t40 = load ptr, ptr %retval ret ptr %t40 } 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 = load i32, ptr %t0 %t10 = getelementptr inbounds %LSlice, ptr %t8, i32 0, i32 0 %t11 = load ptr, ptr %t10 %t12 = getelementptr inbounds %LSlice, ptr %t8, i32 0, i32 1 %t13 = load i32, ptr %t12 %t14 = icmp ult i32 %t9, %t13 br i1 %t14, label %ixok3, label %ixbad4 ixbad4: store i32 3847, ptr @lp_site %t15 = call ptr @lp_win_stdio(i32 2) store i32 0, ptr @lp_site call i32 (ptr, ptr, ...) @fprintf(ptr %t15, ptr @.fmt_bounds, ptr @.str4583, i32 %t9, i32 %t13) call void @exit(i32 1) unreachable ixok3: %t16 = getelementptr inbounds ptr, ptr %t11, i32 %t9 %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, 53 %t21 = zext i1 %t20 to i32 %t22 = icmp ne i32 %t21, 0 br i1 %t22, label %then5, label %ifend7 then5: store i32 1, ptr %retval br label %ret ifend7: %t23 = load i32, ptr %t0 %t24 = add i32 %t23, 1 store i32 %t24, ptr %t0 br label %wcond0 wend2: store i32 0, ptr %retval br label %ret ret: %t25 = load i32, ptr %retval ret i32 %t25 } define i32 @fn_has_countdowns() { entry: %retval = alloca i32 %t0 = alloca i32 %t18 = alloca ptr %t25 = 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 = load i32, ptr %t0 %t10 = getelementptr inbounds %LSlice, ptr %t8, i32 0, i32 0 %t11 = load ptr, ptr %t10 %t12 = getelementptr inbounds %LSlice, ptr %t8, i32 0, i32 1 %t13 = load i32, ptr %t12 %t14 = icmp ult i32 %t9, %t13 br i1 %t14, label %ixok3, label %ixbad4 ixbad4: store i32 3848, ptr @lp_site %t15 = call ptr @lp_win_stdio(i32 2) store i32 0, ptr @lp_site call i32 (ptr, ptr, ...) @fprintf(ptr %t15, ptr @.fmt_bounds, ptr @.str4585, i32 %t9, i32 %t13) call void @exit(i32 1) unreachable ixok3: %t16 = getelementptr inbounds ptr, ptr %t11, i32 %t9 %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 %then5, label %ifend7 then5: store i32 0, ptr %t25 br label %wcond8 wcond8: %t26 = load i32, ptr %t25 %t27 = load ptr, ptr %t18 %t28 = getelementptr inbounds %Cmp_Node, ptr %t27, i32 0, i32 7 %t29 = load ptr, ptr %t28 %t30 = getelementptr inbounds %LSlice, ptr %t29, i32 0, i32 1 %t31 = load i32, ptr %t30 %t32 = icmp slt i32 %t26, %t31 %t33 = zext i1 %t32 to i32 %t34 = icmp ne i32 %t33, 0 br i1 %t34, label %wbody9, label %wend10 wbody9: %t35 = load ptr, ptr %t18 %t36 = getelementptr inbounds %Cmp_Node, ptr %t35, i32 0, i32 7 %t37 = load ptr, ptr %t36 %t38 = load i32, ptr %t25 %t39 = getelementptr inbounds %LSlice, ptr %t37, i32 0, i32 0 %t40 = load ptr, ptr %t39 %t41 = getelementptr inbounds %LSlice, ptr %t37, i32 0, i32 1 %t42 = load i32, ptr %t41 %t43 = icmp ult i32 %t38, %t42 br i1 %t43, label %ixok11, label %ixbad12 ixbad12: store i32 3849, ptr @lp_site %t44 = call ptr @lp_win_stdio(i32 2) store i32 0, ptr @lp_site call i32 (ptr, ptr, ...) @fprintf(ptr %t44, ptr @.fmt_bounds, ptr @.str4587, i32 %t38, i32 %t42) call void @exit(i32 1) unreachable ixok11: %t45 = getelementptr inbounds ptr, ptr %t40, i32 %t38 %t46 = load ptr, ptr %t45 %t47 = getelementptr inbounds %Cmp_Node, ptr %t46, i32 0, i32 3 %t48 = load ptr, ptr %t47 %t49 = call i32 @lp_str_eq(ptr %t48, ptr @.str4588) %t50 = icmp ne i32 %t49, 0 br i1 %t50, label %then13, label %ifend15 then13: store i32 1, ptr %retval br label %ret ifend15: %t51 = load i32, ptr %t25 %t52 = add i32 %t51, 1 store i32 %t52, ptr %t25 br label %wcond8 wend10: br label %ifend7 ifend7: %t53 = load i32, ptr %t0 %t54 = add i32 %t53, 1 store i32 %t54, ptr %t0 br label %wcond0 wend2: store i32 0, ptr %retval br label %ret ret: %t55 = load i32, ptr %retval ret i32 %t55 } define ptr @fn_find_fn(ptr %arg_name) { entry: %retval = alloca ptr %t0 = alloca ptr %t3 = alloca ptr %t9 = alloca i32 %t27 = alloca ptr %t28 = alloca i32 store ptr %arg_name, ptr %t0 %t1 = load ptr, ptr %t0 %t2 = call ptr @fn_ix_find(i32 0, ptr %t1) store ptr %t2, ptr %t3 %t4 = load i32, ptr @g_g_ix_miss %t5 = icmp eq i32 %t4, 0 %t6 = zext i1 %t5 to i32 %t7 = icmp ne i32 %t6, 0 br i1 %t7, label %then0, label %ifend2 then0: %t8 = load ptr, ptr %t3 store ptr %t8, ptr %retval br label %ret ifend2: store i32 0, ptr %t9 br label %wcond3 wcond3: %t10 = load i32, ptr %t9 %t11 = load ptr, ptr @g_prog %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_prog %t18 = load i32, ptr %t9 %t19 = getelementptr inbounds %LSlice, ptr %t17, i32 0, i32 0 %t20 = load ptr, ptr %t19 %t21 = getelementptr inbounds %LSlice, ptr %t17, i32 0, i32 1 %t22 = load i32, ptr %t21 %t23 = icmp ult i32 %t18, %t22 br i1 %t23, label %ixok6, label %ixbad7 ixbad7: store i32 3850, ptr @lp_site %t24 = call ptr @lp_win_stdio(i32 2) store i32 0, ptr @lp_site call i32 (ptr, ptr, ...) @fprintf(ptr %t24, ptr @.fmt_bounds, ptr @.str4589, i32 %t18, i32 %t22) call void @exit(i32 1) unreachable ixok6: %t25 = getelementptr inbounds ptr, ptr %t20, i32 %t18 %t26 = load ptr, ptr %t25 store ptr %t26, ptr %t27 %t29 = load ptr, ptr %t27 %t30 = getelementptr inbounds %Cmp_Node, ptr %t29, i32 0, i32 0 %t31 = load i32, ptr %t30 %t32 = icmp eq i32 %t31, 4 %t33 = zext i1 %t32 to i32 %t34 = icmp ne i32 %t33, 0 %t35 = zext i1 %t34 to i32 store i32 %t35, ptr %t28 br i1 %t34, label %sc8, label %scend9 sc8: %t36 = load ptr, ptr %t27 %t37 = getelementptr inbounds %Cmp_Node, ptr %t36, i32 0, i32 1 %t38 = load ptr, ptr %t37 %t39 = load ptr, ptr %t0 %t40 = call i32 @lp_str_eq(ptr %t38, ptr %t39) %t41 = icmp ne i32 %t40, 0 %t42 = zext i1 %t41 to i32 store i32 %t42, ptr %t28 br label %scend9 scend9: %t43 = load i32, ptr %t28 %t44 = icmp ne i32 %t43, 0 br i1 %t44, label %then10, label %ifend12 then10: %t45 = load ptr, ptr %t27 store ptr %t45, ptr %retval br label %ret ifend12: %t46 = load i32, ptr %t9 %t47 = add i32 %t46, 1 store i32 %t47, ptr %t9 br label %wcond3 wend5: store ptr null, ptr %retval br label %ret ret: %t48 = load ptr, ptr %retval ret ptr %t48 } define ptr @fn_find_enum(ptr %arg_name) { entry: %retval = alloca ptr %t0 = alloca ptr %t3 = alloca ptr %t9 = alloca i32 %t27 = alloca ptr %t28 = alloca i32 store ptr %arg_name, ptr %t0 %t1 = load ptr, ptr %t0 %t2 = call ptr @fn_ix_find(i32 1, ptr %t1) store ptr %t2, ptr %t3 %t4 = load i32, ptr @g_g_ix_miss %t5 = icmp eq i32 %t4, 0 %t6 = zext i1 %t5 to i32 %t7 = icmp ne i32 %t6, 0 br i1 %t7, label %then0, label %ifend2 then0: %t8 = load ptr, ptr %t3 store ptr %t8, ptr %retval br label %ret ifend2: store i32 0, ptr %t9 br label %wcond3 wcond3: %t10 = load i32, ptr %t9 %t11 = load ptr, ptr @g_prog %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_prog %t18 = load i32, ptr %t9 %t19 = getelementptr inbounds %LSlice, ptr %t17, i32 0, i32 0 %t20 = load ptr, ptr %t19 %t21 = getelementptr inbounds %LSlice, ptr %t17, i32 0, i32 1 %t22 = load i32, ptr %t21 %t23 = icmp ult i32 %t18, %t22 br i1 %t23, label %ixok6, label %ixbad7 ixbad7: store i32 3851, ptr @lp_site %t24 = call ptr @lp_win_stdio(i32 2) store i32 0, ptr @lp_site call i32 (ptr, ptr, ...) @fprintf(ptr %t24, ptr @.fmt_bounds, ptr @.str4591, i32 %t18, i32 %t22) call void @exit(i32 1) unreachable ixok6: %t25 = getelementptr inbounds ptr, ptr %t20, i32 %t18 %t26 = load ptr, ptr %t25 store ptr %t26, ptr %t27 %t29 = load ptr, ptr %t27 %t30 = getelementptr inbounds %Cmp_Node, ptr %t29, i32 0, i32 0 %t31 = load i32, ptr %t30 %t32 = icmp eq i32 %t31, 27 %t33 = zext i1 %t32 to i32 %t34 = icmp ne i32 %t33, 0 %t35 = zext i1 %t34 to i32 store i32 %t35, ptr %t28 br i1 %t34, label %sc8, label %scend9 sc8: %t36 = load ptr, ptr %t27 %t37 = getelementptr inbounds %Cmp_Node, ptr %t36, i32 0, i32 1 %t38 = load ptr, ptr %t37 %t39 = load ptr, ptr %t0 %t40 = call i32 @lp_str_eq(ptr %t38, ptr %t39) %t41 = icmp ne i32 %t40, 0 %t42 = zext i1 %t41 to i32 store i32 %t42, ptr %t28 br label %scend9 scend9: %t43 = load i32, ptr %t28 %t44 = icmp ne i32 %t43, 0 br i1 %t44, label %then10, label %ifend12 then10: %t45 = load ptr, ptr %t27 store ptr %t45, ptr %retval br label %ret ifend12: %t46 = load i32, ptr %t9 %t47 = add i32 %t46, 1 store i32 %t47, ptr %t9 br label %wcond3 wend5: store ptr null, ptr %retval br label %ret ret: %t48 = load ptr, ptr %retval ret ptr %t48 } 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 = load i32, ptr %t1 %t15 = getelementptr inbounds %LSlice, ptr %t13, i32 0, i32 0 %t16 = load ptr, ptr %t15 %t17 = getelementptr inbounds %LSlice, ptr %t13, i32 0, i32 1 %t18 = load i32, ptr %t17 %t19 = icmp ult i32 %t14, %t18 br i1 %t19, label %ixok3, label %ixbad4 ixbad4: store i32 3852, ptr @lp_site %t20 = call ptr @lp_win_stdio(i32 2) store i32 0, ptr @lp_site call i32 (ptr, ptr, ...) @fprintf(ptr %t20, ptr @.fmt_bounds, ptr @.str4593, i32 %t14, i32 %t18) call void @exit(i32 1) unreachable ixok3: %t21 = getelementptr inbounds ptr, ptr %t16, i32 %t14 %t22 = load ptr, ptr %t21 %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 sgt i32 %t26, 0 %t28 = zext i1 %t27 to i32 %t29 = icmp ne i32 %t28, 0 br i1 %t29, label %then5, label %ifend7 then5: store i32 1, ptr %retval br label %ret ifend7: %t30 = load i32, ptr %t1 %t31 = add i32 %t30, 1 store i32 %t31, ptr %t1 br label %wcond0 wend2: store i32 0, ptr %retval br label %ret ret: %t32 = load i32, ptr %retval ret i32 %t32 } 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 = load i32, ptr %t2 %t16 = getelementptr inbounds %LSlice, ptr %t14, i32 0, i32 0 %t17 = load ptr, ptr %t16 %t18 = getelementptr inbounds %LSlice, ptr %t14, i32 0, i32 1 %t19 = load i32, ptr %t18 %t20 = icmp ult i32 %t15, %t19 br i1 %t20, label %ixok3, label %ixbad4 ixbad4: store i32 3853, ptr @lp_site %t21 = call ptr @lp_win_stdio(i32 2) store i32 0, ptr @lp_site call i32 (ptr, ptr, ...) @fprintf(ptr %t21, ptr @.fmt_bounds, ptr @.str4595, i32 %t15, i32 %t19) call void @exit(i32 1) unreachable ixok3: %t22 = getelementptr inbounds ptr, ptr %t17, i32 %t15 %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 %then5, label %ifend7 then5: %t29 = load i32, ptr %t2 store i32 %t29, ptr %retval br label %ret ifend7: %t30 = load i32, ptr %t2 %t31 = add i32 %t30, 1 store i32 %t31, ptr %t2 br label %wcond0 wend2: %t32 = sub i32 0, 1 store i32 %t32, ptr %retval br label %ret ret: %t33 = load i32, ptr %retval ret i32 %t33 } define ptr @fn_variant_enum(ptr %arg_vname) { entry: %retval = alloca ptr %t0 = alloca ptr %t3 = alloca i32 %t23 = alloca i32 %t41 = alloca i32 %t59 = alloca ptr %t72 = alloca i32 store ptr %arg_vname, ptr %t0 %t1 = load i32, ptr @g_g_ix_on %t2 = icmp ne i32 %t1, 0 br i1 %t2, label %then0, label %ifend2 then0: call void @fn_ix_sync() store i32 0, ptr %t3 br label %wcond3 wcond3: %t4 = load i32, ptr %t3 %t5 = load ptr, ptr @g_g_ix_tagged %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 %wbody4, label %wend5 wbody4: %t11 = load ptr, ptr @g_g_ix_tagged %t12 = load i32, ptr %t3 %t13 = getelementptr inbounds %LSlice, ptr %t11, i32 0, i32 0 %t14 = load ptr, ptr %t13 %t15 = getelementptr inbounds %LSlice, ptr %t11, i32 0, i32 1 %t16 = load i32, ptr %t15 %t17 = icmp ult i32 %t12, %t16 br i1 %t17, label %ixok6, label %ixbad7 ixbad7: store i32 3854, ptr @lp_site %t18 = call ptr @lp_win_stdio(i32 2) store i32 0, ptr @lp_site call i32 (ptr, ptr, ...) @fprintf(ptr %t18, ptr @.fmt_bounds, ptr @.str4597, i32 %t12, i32 %t16) call void @exit(i32 1) unreachable ixok6: %t19 = getelementptr inbounds ptr, ptr %t14, i32 %t12 %t20 = load ptr, ptr %t19 %t21 = load ptr, ptr %t0 %t22 = call i32 @fn_variant_ordinal(ptr %t20, ptr %t21) store i32 %t22, ptr %t23 %t24 = load i32, ptr %t23 %t25 = icmp sge i32 %t24, 0 %t26 = zext i1 %t25 to i32 %t27 = icmp ne i32 %t26, 0 br i1 %t27, label %then8, label %ifend10 then8: %t28 = load i32, ptr %t23 store i32 %t28, ptr @g_g_var_ord %t29 = load ptr, ptr @g_g_ix_tagged %t30 = load i32, ptr %t3 %t31 = getelementptr inbounds %LSlice, ptr %t29, i32 0, i32 0 %t32 = load ptr, ptr %t31 %t33 = getelementptr inbounds %LSlice, ptr %t29, i32 0, i32 1 %t34 = load i32, ptr %t33 %t35 = icmp ult i32 %t30, %t34 br i1 %t35, label %ixok11, label %ixbad12 ixbad12: store i32 3855, ptr @lp_site %t36 = call ptr @lp_win_stdio(i32 2) store i32 0, ptr @lp_site call i32 (ptr, ptr, ...) @fprintf(ptr %t36, ptr @.fmt_bounds, ptr @.str4599, i32 %t30, i32 %t34) call void @exit(i32 1) unreachable ixok11: %t37 = getelementptr inbounds ptr, ptr %t32, i32 %t30 %t38 = load ptr, ptr %t37 store ptr %t38, ptr %retval br label %ret ifend10: %t39 = load i32, ptr %t3 %t40 = add i32 %t39, 1 store i32 %t40, ptr %t3 br label %wcond3 wend5: store ptr null, ptr %retval br label %ret ifend2: store i32 0, ptr %t41 br label %wcond13 wcond13: %t42 = load i32, ptr %t41 %t43 = load ptr, ptr @g_prog %t44 = getelementptr inbounds %LSlice, ptr %t43, i32 0, i32 1 %t45 = load i32, ptr %t44 %t46 = icmp slt i32 %t42, %t45 %t47 = zext i1 %t46 to i32 %t48 = icmp ne i32 %t47, 0 br i1 %t48, label %wbody14, label %wend15 wbody14: %t49 = load ptr, ptr @g_prog %t50 = load i32, ptr %t41 %t51 = getelementptr inbounds %LSlice, ptr %t49, i32 0, i32 0 %t52 = load ptr, ptr %t51 %t53 = getelementptr inbounds %LSlice, ptr %t49, i32 0, i32 1 %t54 = load i32, ptr %t53 %t55 = icmp ult i32 %t50, %t54 br i1 %t55, label %ixok16, label %ixbad17 ixbad17: store i32 3856, ptr @lp_site %t56 = call ptr @lp_win_stdio(i32 2) store i32 0, ptr @lp_site call i32 (ptr, ptr, ...) @fprintf(ptr %t56, ptr @.fmt_bounds, ptr @.str4600, i32 %t50, i32 %t54) call void @exit(i32 1) unreachable ixok16: %t57 = getelementptr inbounds ptr, ptr %t52, i32 %t50 %t58 = load ptr, ptr %t57 store ptr %t58, ptr %t59 %t60 = load ptr, ptr %t59 %t61 = getelementptr inbounds %Cmp_Node, ptr %t60, i32 0, i32 0 %t62 = load i32, ptr %t61 %t63 = icmp eq i32 %t62, 27 %t64 = zext i1 %t63 to i32 %t65 = icmp ne i32 %t64, 0 br i1 %t65, label %then18, label %ifend20 then18: %t66 = load ptr, ptr %t59 %t67 = call i32 @fn_enum_is_tagged(ptr %t66) %t68 = icmp ne i32 %t67, 0 br i1 %t68, label %then21, label %ifend23 then21: %t69 = load ptr, ptr %t59 %t70 = load ptr, ptr %t0 %t71 = call i32 @fn_variant_ordinal(ptr %t69, ptr %t70) store i32 %t71, ptr %t72 %t73 = load i32, ptr %t72 %t74 = icmp sge i32 %t73, 0 %t75 = zext i1 %t74 to i32 %t76 = icmp ne i32 %t75, 0 br i1 %t76, label %then24, label %ifend26 then24: %t77 = load i32, ptr %t72 store i32 %t77, ptr @g_g_var_ord %t78 = load ptr, ptr %t59 store ptr %t78, ptr %retval br label %ret ifend26: br label %ifend23 ifend23: br label %ifend20 ifend20: %t79 = load i32, ptr %t41 %t80 = add i32 %t79, 1 store i32 %t80, ptr %t41 br label %wcond13 wend15: store ptr null, ptr %retval br label %ret ret: %t81 = load ptr, ptr %retval ret ptr %t81 } define i32 @fn_enum_max_arity(ptr %arg_en) { entry: %retval = alloca i32 %t0 = alloca ptr %t1 = alloca i32 %t2 = alloca i32 %t28 = 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 = load i32, ptr %t2 %t16 = getelementptr inbounds %LSlice, ptr %t14, i32 0, i32 0 %t17 = load ptr, ptr %t16 %t18 = getelementptr inbounds %LSlice, ptr %t14, i32 0, i32 1 %t19 = load i32, ptr %t18 %t20 = icmp ult i32 %t15, %t19 br i1 %t20, label %ixok3, label %ixbad4 ixbad4: store i32 3857, ptr @lp_site %t21 = call ptr @lp_win_stdio(i32 2) store i32 0, ptr @lp_site call i32 (ptr, ptr, ...) @fprintf(ptr %t21, ptr @.fmt_bounds, ptr @.str4601, i32 %t15, i32 %t19) call void @exit(i32 1) unreachable ixok3: %t22 = getelementptr inbounds ptr, ptr %t17, i32 %t15 %t23 = load ptr, ptr %t22 %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 store i32 %t27, ptr %t28 %t29 = load i32, ptr %t28 %t30 = load i32, ptr %t1 %t31 = icmp sgt i32 %t29, %t30 %t32 = zext i1 %t31 to i32 %t33 = icmp ne i32 %t32, 0 br i1 %t33, label %then5, label %ifend7 then5: %t34 = load i32, ptr %t28 store i32 %t34, ptr %t1 br label %ifend7 ifend7: %t35 = load i32, ptr %t2 %t36 = add i32 %t35, 1 store i32 %t36, ptr %t2 br label %wcond0 wend2: %t37 = load i32, ptr %t1 store i32 %t37, ptr %retval br label %ret ret: %t38 = load i32, ptr %retval ret i32 %t38 } 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 %t3 = alloca ptr %t9 = alloca i32 %t27 = alloca ptr %t28 = alloca i32 store ptr %arg_name, ptr %t0 %t1 = load ptr, ptr %t0 %t2 = call ptr @fn_ix_find(i32 4, ptr %t1) store ptr %t2, ptr %t3 %t4 = load i32, ptr @g_g_ix_miss %t5 = icmp eq i32 %t4, 0 %t6 = zext i1 %t5 to i32 %t7 = icmp ne i32 %t6, 0 br i1 %t7, label %then0, label %ifend2 then0: %t8 = load ptr, ptr %t3 store ptr %t8, ptr %retval br label %ret ifend2: store i32 0, ptr %t9 br label %wcond3 wcond3: %t10 = load i32, ptr %t9 %t11 = load ptr, ptr @g_prog %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_prog %t18 = load i32, ptr %t9 %t19 = getelementptr inbounds %LSlice, ptr %t17, i32 0, i32 0 %t20 = load ptr, ptr %t19 %t21 = getelementptr inbounds %LSlice, ptr %t17, i32 0, i32 1 %t22 = load i32, ptr %t21 %t23 = icmp ult i32 %t18, %t22 br i1 %t23, label %ixok6, label %ixbad7 ixbad7: store i32 3858, ptr @lp_site %t24 = call ptr @lp_win_stdio(i32 2) store i32 0, ptr @lp_site call i32 (ptr, ptr, ...) @fprintf(ptr %t24, ptr @.fmt_bounds, ptr @.str4603, i32 %t18, i32 %t22) call void @exit(i32 1) unreachable ixok6: %t25 = getelementptr inbounds ptr, ptr %t20, i32 %t18 %t26 = load ptr, ptr %t25 store ptr %t26, ptr %t27 %t29 = load ptr, ptr %t27 %t30 = getelementptr inbounds %Cmp_Node, ptr %t29, i32 0, i32 0 %t31 = load i32, ptr %t30 %t32 = icmp eq i32 %t31, 11 %t33 = zext i1 %t32 to i32 %t34 = icmp ne i32 %t33, 0 %t35 = zext i1 %t34 to i32 store i32 %t35, ptr %t28 br i1 %t34, label %sc8, label %scend9 sc8: %t36 = load ptr, ptr %t27 %t37 = getelementptr inbounds %Cmp_Node, ptr %t36, i32 0, i32 1 %t38 = load ptr, ptr %t37 %t39 = load ptr, ptr %t0 %t40 = call i32 @lp_str_eq(ptr %t38, ptr %t39) %t41 = icmp ne i32 %t40, 0 %t42 = zext i1 %t41 to i32 store i32 %t42, ptr %t28 br label %scend9 scend9: %t43 = load i32, ptr %t28 %t44 = icmp ne i32 %t43, 0 br i1 %t44, label %then10, label %ifend12 then10: %t45 = load ptr, ptr %t27 store ptr %t45, ptr %retval br label %ret ifend12: %t46 = load i32, ptr %t9 %t47 = add i32 %t46, 1 store i32 %t47, ptr %t9 br label %wcond3 wend5: store ptr null, ptr %retval br label %ret ret: %t48 = load ptr, ptr %retval ret ptr %t48 } 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 store i32 3859, ptr @lp_site %t9 = call ptr @lp_str_concat(ptr %t8, ptr @.str4605) store i32 0, ptr @lp_site %t10 = load ptr, ptr %t1 store i32 3860, ptr @lp_site %t11 = call ptr @lp_str_concat(ptr %t9, ptr %t10) store i32 0, ptr @lp_site call void @lp_free(ptr %t9) 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 store i32 3861, ptr @lp_site %t34 = call ptr @lp_realloc(ptr %t33, i64 %t32) store i32 0, ptr @lp_site 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 store i32 3862, ptr @lp_site %t7 = call ptr @lp_str_concat(ptr %t6, ptr @.str4607) store i32 0, ptr @lp_site %t8 = load ptr, ptr %t1 store i32 3863, ptr @lp_site %t9 = call ptr @lp_str_concat(ptr %t7, ptr %t8) store i32 0, ptr @lp_site call void @lp_free(ptr %t7) 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 = load i32, ptr %t11 %t21 = getelementptr inbounds %LSlice, ptr %t19, i32 0, i32 0 %t22 = load ptr, ptr %t21 %t23 = getelementptr inbounds %LSlice, ptr %t19, i32 0, i32 1 %t24 = load i32, ptr %t23 %t25 = icmp ult i32 %t20, %t24 br i1 %t25, label %ixok6, label %ixbad7 ixbad7: store i32 3864, ptr @lp_site %t26 = call ptr @lp_win_stdio(i32 2) store i32 0, ptr @lp_site call i32 (ptr, ptr, ...) @fprintf(ptr %t26, ptr @.fmt_bounds, ptr @.str4609, i32 %t20, i32 %t24) call void @exit(i32 1) unreachable ixok6: %t27 = getelementptr inbounds ptr, ptr %t22, i32 %t20 %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 %t10 %t32 = call i32 @lp_str_eq(ptr %t30, ptr %t31) %t33 = icmp ne i32 %t32, 0 br i1 %t33, label %then8, label %ifend10 then8: %t34 = load ptr, ptr @g_g_computed %t35 = load i32, ptr %t11 %t36 = getelementptr inbounds %LSlice, ptr %t34, i32 0, i32 0 %t37 = load ptr, ptr %t36 %t38 = getelementptr inbounds %LSlice, ptr %t34, i32 0, i32 1 %t39 = load i32, ptr %t38 %t40 = icmp ult i32 %t35, %t39 br i1 %t40, label %ixok11, label %ixbad12 ixbad12: store i32 3865, ptr @lp_site %t41 = call ptr @lp_win_stdio(i32 2) store i32 0, ptr @lp_site call i32 (ptr, ptr, ...) @fprintf(ptr %t41, ptr @.fmt_bounds, ptr @.str4610, i32 %t35, i32 %t39) call void @exit(i32 1) unreachable ixok11: %t42 = getelementptr inbounds ptr, ptr %t37, i32 %t35 %t43 = load ptr, ptr %t42 %t44 = getelementptr inbounds %Cmp_Node, ptr %t43, i32 0, i32 4 %t45 = load ptr, ptr %t44 store ptr %t45, ptr %retval br label %ret ifend10: %t46 = load i32, ptr %t11 %t47 = add i32 %t46, 1 store i32 %t47, ptr %t11 br label %wcond3 wend5: store ptr null, ptr %retval br label %ret ret: %t48 = load ptr, ptr %retval ret ptr %t48 } define ptr @fn_static_type(ptr %arg_e) { entry: %retval = alloca ptr %t0 = alloca ptr %t11 = alloca i32 %t30 = alloca ptr %t58 = alloca ptr %t66 = alloca i32 %t89 = alloca i32 %t119 = alloca i32 %t130 = alloca i32 %t131 = alloca i32 %t132 = alloca i32 %t133 = alloca i32 %t134 = alloca i32 %t135 = alloca i32 %t212 = alloca i32 %t223 = alloca i32 %t224 = alloca i32 %t257 = alloca i32 %t278 = alloca i32 %t312 = alloca i32 %t328 = alloca ptr %t352 = alloca ptr %t370 = alloca ptr %t377 = alloca ptr %t397 = alloca ptr %t398 = alloca i32 %t421 = alloca i32 %t452 = alloca ptr %t459 = alloca i32 %t488 = 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 = load i32, ptr %t11 %t18 = getelementptr inbounds %LSlice, ptr %t16, i32 0, i32 0 %t19 = load ptr, ptr %t18 %t20 = getelementptr inbounds %LSlice, ptr %t16, i32 0, i32 1 %t21 = load i32, ptr %t20 %t22 = icmp ult i32 %t17, %t21 br i1 %t22, label %ixok6, label %ixbad7 ixbad7: store i32 3866, ptr @lp_site %t23 = call ptr @lp_win_stdio(i32 2) store i32 0, ptr @lp_site call i32 (ptr, ptr, ...) @fprintf(ptr %t23, ptr @.fmt_bounds, ptr @.str4611, i32 %t17, i32 %t21) call void @exit(i32 1) unreachable ixok6: %t24 = getelementptr inbounds ptr, ptr %t19, i32 %t17 %t25 = load ptr, ptr %t24 store ptr %t25, ptr %retval br label %ret ifend5: %t26 = load ptr, ptr %t0 %t27 = getelementptr inbounds %Cmp_Node, ptr %t26, i32 0, i32 1 %t28 = load ptr, ptr %t27 %t29 = call ptr @fn_find_global(ptr %t28) store ptr %t29, ptr %t30 %t31 = load ptr, ptr %t30 %t32 = icmp ne ptr %t31, null %t33 = zext i1 %t32 to i32 %t34 = icmp ne i32 %t33, 0 br i1 %t34, label %then8, label %ifend10 then8: %t35 = load ptr, ptr %t30 %t36 = getelementptr inbounds %Cmp_Node, ptr %t35, i32 0, i32 3 %t37 = load ptr, ptr %t36 store ptr %t37, ptr %retval br label %ret ifend10: br label %ifend2 ifend2: %t38 = load ptr, ptr %t0 %t39 = getelementptr inbounds %Cmp_Node, ptr %t38, i32 0, i32 0 %t40 = load i32, ptr %t39 %t41 = icmp eq i32 %t40, 34 %t42 = zext i1 %t41 to i32 %t43 = icmp ne i32 %t42, 0 br i1 %t43, label %then11, label %ifend13 then11: %t44 = load ptr, ptr %t0 %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 0 %t48 = load i32, ptr %t47 %t49 = icmp eq i32 %t48, 33 %t50 = zext i1 %t49 to i32 %t51 = icmp ne i32 %t50, 0 br i1 %t51, label %then14, label %ifend16 then14: %t52 = load ptr, ptr %t0 %t53 = getelementptr inbounds %Cmp_Node, ptr %t52, i32 0, i32 4 %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_find_fn(ptr %t56) 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 %t64 = getelementptr inbounds %Cmp_Node, ptr %t63, i32 0, i32 3 %t65 = load ptr, ptr %t64 store ptr %t65, ptr %retval br label %ret ifend19: br label %ifend16 ifend16: %t67 = load ptr, ptr %t0 %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, 35 %t73 = zext i1 %t72 to i32 %t74 = icmp ne i32 %t73, 0 %t75 = zext i1 %t74 to i32 store i32 %t75, ptr %t66 br i1 %t74, label %sc20, label %scend21 sc20: %t76 = load ptr, ptr %t0 %t77 = getelementptr inbounds %Cmp_Node, ptr %t76, i32 0, i32 4 %t78 = load ptr, ptr %t77 %t79 = getelementptr inbounds %Cmp_Node, ptr %t78, i32 0, i32 4 %t80 = load ptr, ptr %t79 %t81 = getelementptr inbounds %Cmp_Node, ptr %t80, i32 0, i32 0 %t82 = load i32, ptr %t81 %t83 = icmp eq i32 %t82, 33 %t84 = zext i1 %t83 to i32 %t85 = icmp ne i32 %t84, 0 %t86 = zext i1 %t85 to i32 store i32 %t86, ptr %t66 br label %scend21 scend21: %t87 = load i32, ptr %t66 %t88 = icmp ne i32 %t87, 0 br i1 %t88, label %then22, label %ifend24 then22: %t90 = load ptr, ptr %t0 %t91 = getelementptr inbounds %Cmp_Node, ptr %t90, i32 0, i32 4 %t92 = load ptr, ptr %t91 %t93 = getelementptr inbounds %Cmp_Node, ptr %t92, i32 0, i32 4 %t94 = load ptr, ptr %t93 %t95 = getelementptr inbounds %Cmp_Node, ptr %t94, i32 0, i32 1 %t96 = load ptr, ptr %t95 %t97 = call ptr @fn_find_comp(ptr %t96) %t98 = icmp ne ptr %t97, null %t99 = zext i1 %t98 to i32 %t100 = icmp ne i32 %t99, 0 %t101 = zext i1 %t100 to i32 store i32 %t101, ptr %t89 br i1 %t100, label %sc25, label %scend26 sc25: %t102 = load ptr, ptr %t0 %t103 = getelementptr inbounds %Cmp_Node, ptr %t102, i32 0, i32 4 %t104 = load ptr, ptr %t103 %t105 = getelementptr inbounds %Cmp_Node, ptr %t104, i32 0, i32 1 %t106 = load ptr, ptr %t105 %t107 = call i32 @lp_str_eq(ptr %t106, ptr @.str4613) %t108 = icmp ne i32 %t107, 0 %t109 = zext i1 %t108 to i32 store i32 %t109, ptr %t89 br label %scend26 scend26: %t110 = load i32, ptr %t89 %t111 = icmp ne i32 %t110, 0 br i1 %t111, label %then27, label %ifend29 then27: %t112 = load ptr, ptr %t0 %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 4 %t116 = load ptr, ptr %t115 %t117 = getelementptr inbounds %Cmp_Node, ptr %t116, i32 0, i32 1 %t118 = load ptr, ptr %t117 store ptr %t118, ptr %retval br label %ret ifend29: %t120 = load ptr, ptr %t0 %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 4 %t124 = load ptr, ptr %t123 %t125 = getelementptr inbounds %Cmp_Node, ptr %t124, i32 0, i32 1 %t126 = load ptr, ptr %t125 %t127 = call i32 @lp_str_eq(ptr %t126, ptr @.str4614) %t128 = icmp ne i32 %t127, 0 %t129 = zext i1 %t128 to i32 store i32 %t129, ptr %t119 br i1 %t128, label %sc30, label %scend31 sc30: %t136 = load ptr, ptr %t0 %t137 = getelementptr inbounds %Cmp_Node, ptr %t136, i32 0, i32 4 %t138 = load ptr, ptr %t137 %t139 = getelementptr inbounds %Cmp_Node, ptr %t138, i32 0, i32 1 %t140 = load ptr, ptr %t139 %t141 = call i32 @lp_str_eq(ptr %t140, ptr @.str4615) %t142 = icmp ne i32 %t141, 0 %t143 = zext i1 %t142 to i32 store i32 %t143, ptr %t135 br i1 %t142, label %scend33, label %sc32 sc32: %t144 = load ptr, ptr %t0 %t145 = getelementptr inbounds %Cmp_Node, ptr %t144, i32 0, i32 4 %t146 = load ptr, ptr %t145 %t147 = getelementptr inbounds %Cmp_Node, ptr %t146, i32 0, i32 1 %t148 = load ptr, ptr %t147 %t149 = call i32 @lp_str_eq(ptr %t148, ptr @.str4616) %t150 = icmp ne i32 %t149, 0 %t151 = zext i1 %t150 to i32 store i32 %t151, ptr %t135 br label %scend33 scend33: %t152 = load i32, ptr %t135 %t153 = icmp ne i32 %t152, 0 %t154 = zext i1 %t153 to i32 store i32 %t154, ptr %t134 br i1 %t153, label %scend35, label %sc34 sc34: %t155 = load ptr, ptr %t0 %t156 = getelementptr inbounds %Cmp_Node, ptr %t155, i32 0, i32 4 %t157 = load ptr, ptr %t156 %t158 = getelementptr inbounds %Cmp_Node, ptr %t157, i32 0, i32 1 %t159 = load ptr, ptr %t158 %t160 = call i32 @lp_str_eq(ptr %t159, ptr @.str4617) %t161 = icmp ne i32 %t160, 0 %t162 = zext i1 %t161 to i32 store i32 %t162, ptr %t134 br label %scend35 scend35: %t163 = load i32, ptr %t134 %t164 = icmp ne i32 %t163, 0 %t165 = zext i1 %t164 to i32 store i32 %t165, ptr %t133 br i1 %t164, label %scend37, label %sc36 sc36: %t166 = load ptr, ptr %t0 %t167 = getelementptr inbounds %Cmp_Node, ptr %t166, i32 0, i32 4 %t168 = load ptr, ptr %t167 %t169 = getelementptr inbounds %Cmp_Node, ptr %t168, i32 0, i32 1 %t170 = load ptr, ptr %t169 %t171 = call i32 @lp_str_eq(ptr %t170, ptr @.str4618) %t172 = icmp ne i32 %t171, 0 %t173 = zext i1 %t172 to i32 store i32 %t173, ptr %t133 br label %scend37 scend37: %t174 = load i32, ptr %t133 %t175 = icmp ne i32 %t174, 0 %t176 = zext i1 %t175 to i32 store i32 %t176, ptr %t132 br i1 %t175, label %scend39, label %sc38 sc38: %t177 = load ptr, ptr %t0 %t178 = getelementptr inbounds %Cmp_Node, ptr %t177, i32 0, i32 4 %t179 = load ptr, ptr %t178 %t180 = getelementptr inbounds %Cmp_Node, ptr %t179, i32 0, i32 1 %t181 = load ptr, ptr %t180 %t182 = call i32 @lp_str_eq(ptr %t181, ptr @.str4619) %t183 = icmp ne i32 %t182, 0 %t184 = zext i1 %t183 to i32 store i32 %t184, ptr %t132 br label %scend39 scend39: %t185 = load i32, ptr %t132 %t186 = icmp ne i32 %t185, 0 %t187 = zext i1 %t186 to i32 store i32 %t187, ptr %t131 br i1 %t186, label %scend41, label %sc40 sc40: %t188 = load ptr, ptr %t0 %t189 = getelementptr inbounds %Cmp_Node, ptr %t188, i32 0, i32 4 %t190 = load ptr, ptr %t189 %t191 = getelementptr inbounds %Cmp_Node, ptr %t190, i32 0, i32 1 %t192 = load ptr, ptr %t191 %t193 = call i32 @lp_str_eq(ptr %t192, ptr @.str4620) %t194 = icmp ne i32 %t193, 0 %t195 = zext i1 %t194 to i32 store i32 %t195, ptr %t131 br label %scend41 scend41: %t196 = load i32, ptr %t131 %t197 = icmp ne i32 %t196, 0 %t198 = zext i1 %t197 to i32 store i32 %t198, ptr %t130 br i1 %t197, label %scend43, label %sc42 sc42: %t199 = load ptr, ptr %t0 %t200 = getelementptr inbounds %Cmp_Node, ptr %t199, i32 0, i32 4 %t201 = load ptr, ptr %t200 %t202 = getelementptr inbounds %Cmp_Node, ptr %t201, i32 0, i32 1 %t203 = load ptr, ptr %t202 %t204 = call i32 @lp_str_eq(ptr %t203, ptr @.str4621) %t205 = icmp ne i32 %t204, 0 %t206 = zext i1 %t205 to i32 store i32 %t206, ptr %t130 br label %scend43 scend43: %t207 = load i32, ptr %t130 %t208 = icmp ne i32 %t207, 0 %t209 = zext i1 %t208 to i32 store i32 %t209, ptr %t119 br label %scend31 scend31: %t210 = load i32, ptr %t119 %t211 = icmp ne i32 %t210, 0 br i1 %t211, label %then44, label %ifend46 then44: store ptr @.str4622, ptr %retval br label %ret ifend46: %t213 = load ptr, ptr %t0 %t214 = getelementptr inbounds %Cmp_Node, ptr %t213, i32 0, i32 4 %t215 = load ptr, ptr %t214 %t216 = getelementptr inbounds %Cmp_Node, ptr %t215, i32 0, i32 4 %t217 = load ptr, ptr %t216 %t218 = getelementptr inbounds %Cmp_Node, ptr %t217, i32 0, i32 1 %t219 = load ptr, ptr %t218 %t220 = call i32 @lp_str_eq(ptr %t219, ptr @.str4623) %t221 = icmp ne i32 %t220, 0 %t222 = zext i1 %t221 to i32 store i32 %t222, ptr %t212 br i1 %t221, label %sc47, label %scend48 sc47: %t225 = load ptr, ptr %t0 %t226 = getelementptr inbounds %Cmp_Node, ptr %t225, i32 0, i32 4 %t227 = load ptr, ptr %t226 %t228 = getelementptr inbounds %Cmp_Node, ptr %t227, i32 0, i32 1 %t229 = load ptr, ptr %t228 %t230 = call i32 @lp_str_eq(ptr %t229, ptr @.str4624) %t231 = icmp ne i32 %t230, 0 %t232 = zext i1 %t231 to i32 store i32 %t232, ptr %t224 br i1 %t231, label %scend50, label %sc49 sc49: %t233 = load ptr, ptr %t0 %t234 = getelementptr inbounds %Cmp_Node, ptr %t233, i32 0, i32 4 %t235 = load ptr, ptr %t234 %t236 = getelementptr inbounds %Cmp_Node, ptr %t235, i32 0, i32 1 %t237 = load ptr, ptr %t236 %t238 = call i32 @lp_str_eq(ptr %t237, ptr @.str4625) %t239 = icmp ne i32 %t238, 0 %t240 = zext i1 %t239 to i32 store i32 %t240, ptr %t224 br label %scend50 scend50: %t241 = load i32, ptr %t224 %t242 = icmp ne i32 %t241, 0 %t243 = zext i1 %t242 to i32 store i32 %t243, ptr %t223 br i1 %t242, label %scend52, label %sc51 sc51: %t244 = load ptr, ptr %t0 %t245 = getelementptr inbounds %Cmp_Node, ptr %t244, i32 0, i32 4 %t246 = load ptr, ptr %t245 %t247 = getelementptr inbounds %Cmp_Node, ptr %t246, i32 0, i32 1 %t248 = load ptr, ptr %t247 %t249 = call i32 @lp_str_eq(ptr %t248, ptr @.str4626) %t250 = icmp ne i32 %t249, 0 %t251 = zext i1 %t250 to i32 store i32 %t251, ptr %t223 br label %scend52 scend52: %t252 = load i32, ptr %t223 %t253 = icmp ne i32 %t252, 0 %t254 = zext i1 %t253 to i32 store i32 %t254, ptr %t212 br label %scend48 scend48: %t255 = load i32, ptr %t212 %t256 = icmp ne i32 %t255, 0 br i1 %t256, label %then53, label %ifend55 then53: store ptr @.str4627, ptr %retval br label %ret ifend55: %t258 = load ptr, ptr %t0 %t259 = getelementptr inbounds %Cmp_Node, ptr %t258, i32 0, i32 4 %t260 = load ptr, ptr %t259 %t261 = getelementptr inbounds %Cmp_Node, ptr %t260, i32 0, i32 4 %t262 = load ptr, ptr %t261 %t263 = getelementptr inbounds %Cmp_Node, ptr %t262, i32 0, i32 1 %t264 = load ptr, ptr %t263 %t265 = call i32 @lp_str_eq(ptr %t264, ptr @.str4628) %t266 = icmp ne i32 %t265, 0 %t267 = zext i1 %t266 to i32 store i32 %t267, ptr %t257 br i1 %t266, label %sc56, label %scend57 sc56: %t268 = load ptr, ptr %t0 %t269 = getelementptr inbounds %Cmp_Node, ptr %t268, i32 0, i32 4 %t270 = load ptr, ptr %t269 %t271 = getelementptr inbounds %Cmp_Node, ptr %t270, i32 0, i32 1 %t272 = load ptr, ptr %t271 %t273 = call i32 @lp_str_eq(ptr %t272, ptr @.str4629) %t274 = icmp ne i32 %t273, 0 %t275 = zext i1 %t274 to i32 store i32 %t275, ptr %t257 br label %scend57 scend57: %t276 = load i32, ptr %t257 %t277 = icmp ne i32 %t276, 0 br i1 %t277, label %then58, label %ifend60 then58: store ptr @.str4630, ptr %retval br label %ret ifend60: %t279 = load ptr, ptr %t0 %t280 = getelementptr inbounds %Cmp_Node, ptr %t279, i32 0, i32 4 %t281 = load ptr, ptr %t280 %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 1 %t285 = load ptr, ptr %t284 %t286 = call i32 @lp_str_eq(ptr %t285, ptr @.str4631) %t287 = icmp ne i32 %t286, 0 %t288 = zext i1 %t287 to i32 store i32 %t288, ptr %t278 br i1 %t287, label %sc61, label %scend62 sc61: %t289 = load ptr, ptr %t0 %t290 = getelementptr inbounds %Cmp_Node, ptr %t289, i32 0, i32 4 %t291 = load ptr, ptr %t290 %t292 = getelementptr inbounds %Cmp_Node, ptr %t291, i32 0, i32 1 %t293 = load ptr, ptr %t292 %t294 = call i32 @lp_str_eq(ptr %t293, ptr @.str4632) %t295 = icmp ne i32 %t294, 0 %t296 = zext i1 %t295 to i32 store i32 %t296, ptr %t278 br label %scend62 scend62: %t297 = load i32, ptr %t278 %t298 = icmp ne i32 %t297, 0 br i1 %t298, label %then63, label %ifend65 then63: store ptr @.str4633, ptr %retval br label %ret ifend65: %t299 = load ptr, ptr %t0 %t300 = getelementptr inbounds %Cmp_Node, ptr %t299, i32 0, i32 4 %t301 = load ptr, ptr %t300 %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 1 %t305 = load ptr, ptr %t304 %t306 = load ptr, ptr %t0 %t307 = getelementptr inbounds %Cmp_Node, ptr %t306, i32 0, i32 4 %t308 = load ptr, ptr %t307 %t309 = getelementptr inbounds %Cmp_Node, ptr %t308, i32 0, i32 1 %t310 = load ptr, ptr %t309 %t311 = call i32 @fn_ns_alias_find(ptr %t305, ptr %t310) store i32 %t311, ptr %t312 %t313 = load i32, ptr %t312 %t314 = icmp sge i32 %t313, 0 %t315 = zext i1 %t314 to i32 %t316 = icmp ne i32 %t315, 0 br i1 %t316, label %then66, label %ifend68 then66: %t317 = load ptr, ptr @g_g_al_target %t318 = load i32, ptr %t312 %t319 = getelementptr inbounds %LSlice, ptr %t317, i32 0, i32 0 %t320 = load ptr, ptr %t319 %t321 = getelementptr inbounds %LSlice, ptr %t317, i32 0, i32 1 %t322 = load i32, ptr %t321 %t323 = icmp ult i32 %t318, %t322 br i1 %t323, label %ixok69, label %ixbad70 ixbad70: store i32 3867, ptr @lp_site %t324 = call ptr @lp_win_stdio(i32 2) store i32 0, ptr @lp_site call i32 (ptr, ptr, ...) @fprintf(ptr %t324, ptr @.fmt_bounds, ptr @.str4634, i32 %t318, i32 %t322) call void @exit(i32 1) unreachable ixok69: %t325 = getelementptr inbounds ptr, ptr %t320, i32 %t318 %t326 = load ptr, ptr %t325 %t327 = call ptr @fn_find_fn(ptr %t326) store ptr %t327, ptr %t328 %t329 = load ptr, ptr %t328 %t330 = icmp ne ptr %t329, null %t331 = zext i1 %t330 to i32 %t332 = icmp ne i32 %t331, 0 br i1 %t332, label %then71, label %ifend73 then71: %t333 = load ptr, ptr %t328 %t334 = getelementptr inbounds %Cmp_Node, ptr %t333, i32 0, i32 3 %t335 = load ptr, ptr %t334 store ptr %t335, ptr %retval br label %ret ifend73: br label %ifend68 ifend68: %t336 = load ptr, ptr %t0 %t337 = getelementptr inbounds %Cmp_Node, ptr %t336, i32 0, i32 4 %t338 = load ptr, ptr %t337 %t339 = getelementptr inbounds %Cmp_Node, ptr %t338, i32 0, i32 4 %t340 = load ptr, ptr %t339 %t341 = getelementptr inbounds %Cmp_Node, ptr %t340, i32 0, i32 1 %t342 = load ptr, ptr %t341 %t343 = call ptr @fn_ns_lower(ptr %t342) store i32 3868, ptr @lp_site %t344 = call ptr @lp_str_concat(ptr %t343, ptr @.str4635) store i32 0, ptr @lp_site %t345 = load ptr, ptr %t0 %t346 = getelementptr inbounds %Cmp_Node, ptr %t345, i32 0, i32 4 %t347 = load ptr, ptr %t346 %t348 = getelementptr inbounds %Cmp_Node, ptr %t347, i32 0, i32 1 %t349 = load ptr, ptr %t348 store i32 3869, ptr @lp_site %t350 = call ptr @lp_str_concat(ptr %t344, ptr %t349) store i32 0, ptr @lp_site call void @lp_free(ptr %t344) %t351 = call ptr @fn_find_fn(ptr %t350) store ptr %t351, ptr %t352 %t353 = load ptr, ptr %t352 %t354 = icmp ne ptr %t353, null %t355 = zext i1 %t354 to i32 %t356 = icmp ne i32 %t355, 0 br i1 %t356, label %then74, label %ifend76 then74: %t357 = load ptr, ptr %t352 %t358 = getelementptr inbounds %Cmp_Node, ptr %t357, i32 0, i32 3 %t359 = load ptr, ptr %t358 store ptr %t359, ptr %retval br label %ret ifend76: br label %ifend24 ifend24: br label %ifend13 ifend13: %t360 = load ptr, ptr %t0 %t361 = getelementptr inbounds %Cmp_Node, ptr %t360, i32 0, i32 0 %t362 = load i32, ptr %t361 %t363 = icmp eq i32 %t362, 35 %t364 = zext i1 %t363 to i32 %t365 = icmp ne i32 %t364, 0 br i1 %t365, label %then77, label %ifend79 then77: %t366 = load ptr, ptr %t0 %t367 = getelementptr inbounds %Cmp_Node, ptr %t366, i32 0, i32 4 %t368 = load ptr, ptr %t367 %t369 = call ptr @fn_static_type(ptr %t368) store ptr %t369, ptr %t370 %t371 = load ptr, ptr %t370 %t372 = icmp ne ptr %t371, null %t373 = zext i1 %t372 to i32 %t374 = icmp ne i32 %t373, 0 br i1 %t374, label %then80, label %ifend82 then80: %t375 = load ptr, ptr %t370 %t376 = call ptr @fn_layout_node(ptr %t375) store ptr %t376, ptr %t377 %t378 = load ptr, ptr %t377 %t379 = icmp ne ptr %t378, null %t380 = zext i1 %t379 to i32 %t381 = icmp ne i32 %t380, 0 br i1 %t381, label %then83, label %ifend85 then83: %t382 = load ptr, ptr %t377 %t383 = load ptr, ptr %t0 %t384 = getelementptr inbounds %Cmp_Node, ptr %t383, i32 0, i32 1 %t385 = load ptr, ptr %t384 %t386 = call ptr @fn_field_type(ptr %t382, ptr %t385) store ptr %t386, ptr %retval br label %ret ifend85: br label %ifend82 ifend82: br label %ifend79 ifend79: %t387 = load ptr, ptr %t0 %t388 = getelementptr inbounds %Cmp_Node, ptr %t387, i32 0, i32 0 %t389 = load i32, ptr %t388 %t390 = icmp eq i32 %t389, 36 %t391 = zext i1 %t390 to i32 %t392 = icmp ne i32 %t391, 0 br i1 %t392, label %then86, label %ifend88 then86: %t393 = load ptr, ptr %t0 %t394 = getelementptr inbounds %Cmp_Node, ptr %t393, i32 0, i32 4 %t395 = load ptr, ptr %t394 %t396 = call ptr @fn_static_type(ptr %t395) store ptr %t396, ptr %t397 %t399 = load ptr, ptr %t397 %t400 = icmp ne ptr %t399, null %t401 = zext i1 %t400 to i32 %t402 = icmp ne i32 %t401, 0 %t403 = zext i1 %t402 to i32 store i32 %t403, ptr %t398 br i1 %t402, label %sc89, label %scend90 sc89: %t404 = load ptr, ptr %t397 %t405 = call i32 @fn_is_slice_ty(ptr %t404) %t406 = icmp ne i32 %t405, 0 %t407 = zext i1 %t406 to i32 store i32 %t407, ptr %t398 br label %scend90 scend90: %t408 = load i32, ptr %t398 %t409 = icmp ne i32 %t408, 0 br i1 %t409, label %then91, label %ifend93 then91: %t410 = load ptr, ptr %t397 %t411 = call ptr @fn_slice_elem(ptr %t410) store ptr %t411, ptr %retval br label %ret ifend93: br label %ifend88 ifend88: %t412 = load ptr, ptr %t0 %t413 = getelementptr inbounds %Cmp_Node, ptr %t412, i32 0, i32 0 %t414 = load i32, ptr %t413 %t415 = icmp eq i32 %t414, 39 %t416 = zext i1 %t415 to i32 %t417 = icmp ne i32 %t416, 0 br i1 %t417, label %then94, label %ifend96 then94: %t418 = load ptr, ptr %t0 %t419 = getelementptr inbounds %Cmp_Node, ptr %t418, i32 0, i32 1 %t420 = load ptr, ptr %t419 store ptr %t420, ptr %retval br label %ret ifend96: %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, 54 %t426 = zext i1 %t425 to i32 %t427 = icmp ne i32 %t426, 0 %t428 = zext i1 %t427 to i32 store i32 %t428, ptr %t421 br i1 %t427, label %sc97, label %scend98 sc97: %t429 = load ptr, ptr %t0 %t430 = getelementptr inbounds %Cmp_Node, ptr %t429, i32 0, i32 7 %t431 = load ptr, ptr %t430 %t432 = getelementptr inbounds %LSlice, ptr %t431, i32 0, i32 1 %t433 = load i32, ptr %t432 %t434 = icmp sgt i32 %t433, 0 %t435 = zext i1 %t434 to i32 %t436 = icmp ne i32 %t435, 0 %t437 = zext i1 %t436 to i32 store i32 %t437, ptr %t421 br label %scend98 scend98: %t438 = load i32, ptr %t421 %t439 = icmp ne i32 %t438, 0 br i1 %t439, label %then99, label %ifend101 then99: %t440 = load ptr, ptr %t0 %t441 = getelementptr inbounds %Cmp_Node, ptr %t440, i32 0, i32 7 %t442 = load ptr, ptr %t441 %t443 = getelementptr inbounds %LSlice, ptr %t442, i32 0, i32 0 %t444 = load ptr, ptr %t443 %t445 = getelementptr inbounds %LSlice, ptr %t442, i32 0, i32 1 %t446 = load i32, ptr %t445 %t447 = icmp ult i32 0, %t446 br i1 %t447, label %ixok102, label %ixbad103 ixbad103: store i32 3870, ptr @lp_site %t448 = call ptr @lp_win_stdio(i32 2) store i32 0, ptr @lp_site call i32 (ptr, ptr, ...) @fprintf(ptr %t448, ptr @.fmt_bounds, ptr @.str4636, i32 0, i32 %t446) call void @exit(i32 1) unreachable ixok102: %t449 = getelementptr inbounds ptr, ptr %t444, i32 0 %t450 = load ptr, ptr %t449 %t451 = call ptr @fn_static_type(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 %then104, label %ifend106 then104: %t457 = load ptr, ptr %t452 store i32 3871, ptr @lp_site %t458 = call ptr @lp_str_concat(ptr @.str4637, ptr %t457) store i32 0, ptr @lp_site store ptr %t458, ptr %retval br label %ret ifend106: br label %ifend101 ifend101: %t460 = load ptr, ptr %t0 %t461 = getelementptr inbounds %Cmp_Node, ptr %t460, i32 0, i32 0 %t462 = load i32, ptr %t461 %t463 = icmp eq i32 %t462, 31 %t464 = zext i1 %t463 to i32 %t465 = icmp ne i32 %t464, 0 %t466 = zext i1 %t465 to i32 store i32 %t466, ptr %t459 br i1 %t465, label %scend108, label %sc107 sc107: %t467 = load ptr, ptr %t0 %t468 = getelementptr inbounds %Cmp_Node, ptr %t467, i32 0, i32 0 %t469 = load i32, ptr %t468 %t470 = icmp eq i32 %t469, 44 %t471 = zext i1 %t470 to i32 %t472 = icmp ne i32 %t471, 0 %t473 = zext i1 %t472 to i32 store i32 %t473, ptr %t459 br label %scend108 scend108: %t474 = load i32, ptr %t459 %t475 = icmp ne i32 %t474, 0 br i1 %t475, label %then109, label %ifend111 then109: store ptr @.str4638, ptr %retval br label %ret ifend111: %t476 = load ptr, ptr %t0 %t477 = getelementptr inbounds %Cmp_Node, ptr %t476, i32 0, i32 0 %t478 = load i32, ptr %t477 %t479 = icmp eq i32 %t478, 30 %t480 = zext i1 %t479 to i32 %t481 = icmp ne i32 %t480, 0 br i1 %t481, label %then112, label %ifend114 then112: %t482 = load ptr, ptr %t0 %t483 = getelementptr inbounds %Cmp_Node, ptr %t482, i32 0, i32 1 %t484 = load ptr, ptr %t483 %t485 = icmp ne ptr %t484, null %t486 = zext i1 %t485 to i32 %t487 = icmp ne i32 %t486, 0 br i1 %t487, label %then115, label %ifend117 then115: store ptr @.str4639, ptr %retval br label %ret ifend117: store ptr @.str4640, ptr %retval br label %ret ifend114: %t489 = load ptr, ptr %t0 %t490 = getelementptr inbounds %Cmp_Node, ptr %t489, i32 0, i32 0 %t491 = load i32, ptr %t490 %t492 = icmp eq i32 %t491, 40 %t493 = zext i1 %t492 to i32 %t494 = icmp ne i32 %t493, 0 %t495 = zext i1 %t494 to i32 store i32 %t495, ptr %t488 br i1 %t494, label %sc118, label %scend119 sc118: %t496 = load ptr, ptr %t0 %t497 = getelementptr inbounds %Cmp_Node, ptr %t496, i32 0, i32 9 %t498 = load ptr, ptr %t497 %t499 = call i32 @fn_is_float_file(ptr %t498) %t500 = icmp ne i32 %t499, 0 %t501 = zext i1 %t500 to i32 store i32 %t501, ptr %t488 br label %scend119 scend119: %t502 = load i32, ptr %t488 %t503 = icmp ne i32 %t502, 0 br i1 %t503, label %then120, label %ifend122 then120: store ptr @.str4641, ptr %retval br label %ret ifend122: %t504 = load ptr, ptr %t0 %t505 = getelementptr inbounds %Cmp_Node, ptr %t504, i32 0, i32 0 %t506 = load i32, ptr %t505 %t507 = icmp eq i32 %t506, 40 %t508 = zext i1 %t507 to i32 %t509 = icmp ne i32 %t508, 0 br i1 %t509, label %then123, label %ifend125 then123: store ptr @.str4642, ptr %retval br label %ret ifend125: %t510 = load ptr, ptr %t0 %t511 = getelementptr inbounds %Cmp_Node, ptr %t510, i32 0, i32 0 %t512 = load i32, ptr %t511 %t513 = icmp eq i32 %t512, 32 %t514 = zext i1 %t513 to i32 %t515 = icmp ne i32 %t514, 0 br i1 %t515, label %then126, label %ifend128 then126: store ptr @.str4643, ptr %retval br label %ret ifend128: store ptr null, ptr %retval br label %ret ret: %t516 = load ptr, ptr %retval ret ptr %t516 } 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 store i32 3872, ptr @lp_site %t26 = call ptr @lp_realloc(ptr %t25, i64 %t24) store i32 0, ptr @lp_site 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 = load i32, ptr %t1 %t11 = getelementptr inbounds %LSlice, ptr %t9, i32 0, i32 0 %t12 = load ptr, ptr %t11 %t13 = getelementptr inbounds %LSlice, ptr %t9, i32 0, i32 1 %t14 = load i32, ptr %t13 %t15 = icmp ult i32 %t10, %t14 br i1 %t15, label %ixok3, label %ixbad4 ixbad4: store i32 3873, ptr @lp_site %t16 = call ptr @lp_win_stdio(i32 2) store i32 0, ptr @lp_site call i32 (ptr, ptr, ...) @fprintf(ptr %t16, ptr @.fmt_bounds, ptr @.str4645, i32 %t10, i32 %t14) call void @exit(i32 1) unreachable ixok3: %t17 = getelementptr inbounds ptr, ptr %t12, i32 %t10 %t18 = load ptr, ptr %t17 %t19 = getelementptr inbounds %Cmp_Node, ptr %t18, i32 0, i32 1 %t20 = load ptr, ptr %t19 %t21 = load ptr, ptr %t0 %t22 = call i32 @lp_str_eq(ptr %t20, ptr %t21) %t23 = icmp ne i32 %t22, 0 br i1 %t23, label %then5, label %ifend7 then5: %t24 = load ptr, ptr @g_g_onspawn %t25 = load i32, ptr %t1 %t26 = getelementptr inbounds %LSlice, ptr %t24, i32 0, i32 0 %t27 = load ptr, ptr %t26 %t28 = getelementptr inbounds %LSlice, ptr %t24, i32 0, i32 1 %t29 = load i32, ptr %t28 %t30 = icmp ult i32 %t25, %t29 br i1 %t30, label %ixok8, label %ixbad9 ixbad9: store i32 3874, ptr @lp_site %t31 = call ptr @lp_win_stdio(i32 2) store i32 0, ptr @lp_site call i32 (ptr, ptr, ...) @fprintf(ptr %t31, ptr @.fmt_bounds, ptr @.str4647, i32 %t25, i32 %t29) call void @exit(i32 1) unreachable ixok8: %t32 = getelementptr inbounds ptr, ptr %t27, i32 %t25 %t33 = load ptr, ptr %t32 %t34 = getelementptr inbounds %Cmp_Node, ptr %t33, i32 0, i32 4 %t35 = load ptr, ptr %t34 store ptr %t35, ptr %retval br label %ret ifend7: %t36 = load i32, ptr %t1 %t37 = add i32 %t36, 1 store i32 %t37, ptr %t1 br label %wcond0 wend2: store ptr null, ptr %retval br label %ret ret: %t38 = load ptr, ptr %retval ret ptr %t38 } 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 store i32 3875, ptr @lp_site %t30 = call ptr @lp_realloc(ptr %t29, i64 %t28) store i32 0, ptr @lp_site 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 = load i32, ptr %t1 %t11 = getelementptr inbounds %LSlice, ptr %t9, i32 0, i32 0 %t12 = load ptr, ptr %t11 %t13 = getelementptr inbounds %LSlice, ptr %t9, i32 0, i32 1 %t14 = load i32, ptr %t13 %t15 = icmp ult i32 %t10, %t14 br i1 %t15, label %ixok3, label %ixbad4 ixbad4: store i32 3876, ptr @lp_site %t16 = call ptr @lp_win_stdio(i32 2) store i32 0, ptr @lp_site call i32 (ptr, ptr, ...) @fprintf(ptr %t16, ptr @.fmt_bounds, ptr @.str4649, i32 %t10, i32 %t14) call void @exit(i32 1) unreachable ixok3: %t17 = getelementptr inbounds ptr, ptr %t12, i32 %t10 %t18 = load ptr, ptr %t17 %t19 = getelementptr inbounds %Cmp_Node, ptr %t18, i32 0, i32 1 %t20 = load ptr, ptr %t19 %t21 = load ptr, ptr %t0 %t22 = call i32 @lp_str_eq(ptr %t20, ptr %t21) %t23 = icmp ne i32 %t22, 0 br i1 %t23, label %then5, label %ifend7 then5: %t24 = load ptr, ptr @g_g_ondespawn %t25 = load i32, ptr %t1 %t26 = getelementptr inbounds %LSlice, ptr %t24, i32 0, i32 0 %t27 = load ptr, ptr %t26 %t28 = getelementptr inbounds %LSlice, ptr %t24, i32 0, i32 1 %t29 = load i32, ptr %t28 %t30 = icmp ult i32 %t25, %t29 br i1 %t30, label %ixok8, label %ixbad9 ixbad9: store i32 3877, ptr @lp_site %t31 = call ptr @lp_win_stdio(i32 2) store i32 0, ptr @lp_site call i32 (ptr, ptr, ...) @fprintf(ptr %t31, ptr @.fmt_bounds, ptr @.str4651, i32 %t25, i32 %t29) call void @exit(i32 1) unreachable ixok8: %t32 = getelementptr inbounds ptr, ptr %t27, i32 %t25 %t33 = load ptr, ptr %t32 %t34 = getelementptr inbounds %Cmp_Node, ptr %t33, i32 0, i32 4 %t35 = load ptr, ptr %t34 store ptr %t35, ptr %retval br label %ret ifend7: %t36 = load i32, ptr %t1 %t37 = add i32 %t36, 1 store i32 %t37, ptr %t1 br label %wcond0 wend2: store ptr null, ptr %retval br label %ret ret: %t38 = load ptr, ptr %retval ret ptr %t38 } 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 store i32 3878, ptr @lp_site %t26 = call ptr @lp_realloc(ptr %t25, i64 %t24) store i32 0, ptr @lp_site 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 = load i32, ptr %t1 %t11 = getelementptr inbounds %LSlice, ptr %t9, i32 0, i32 0 %t12 = load ptr, ptr %t11 %t13 = getelementptr inbounds %LSlice, ptr %t9, i32 0, i32 1 %t14 = load i32, ptr %t13 %t15 = icmp ult i32 %t10, %t14 br i1 %t15, label %ixok3, label %ixbad4 ixbad4: store i32 3879, ptr @lp_site %t16 = call ptr @lp_win_stdio(i32 2) store i32 0, ptr @lp_site call i32 (ptr, ptr, ...) @fprintf(ptr %t16, ptr @.fmt_bounds, ptr @.str4653, i32 %t10, i32 %t14) call void @exit(i32 1) unreachable ixok3: %t17 = getelementptr inbounds ptr, ptr %t12, i32 %t10 %t18 = load ptr, ptr %t17 %t19 = getelementptr inbounds %Cmp_Node, ptr %t18, i32 0, i32 1 %t20 = load ptr, ptr %t19 %t21 = load ptr, ptr %t0 %t22 = call i32 @lp_str_eq(ptr %t20, ptr %t21) %t23 = icmp ne i32 %t22, 0 br i1 %t23, label %then5, label %ifend7 then5: %t24 = load ptr, ptr @g_g_onattach %t25 = load i32, ptr %t1 %t26 = getelementptr inbounds %LSlice, ptr %t24, i32 0, i32 0 %t27 = load ptr, ptr %t26 %t28 = getelementptr inbounds %LSlice, ptr %t24, i32 0, i32 1 %t29 = load i32, ptr %t28 %t30 = icmp ult i32 %t25, %t29 br i1 %t30, label %ixok8, label %ixbad9 ixbad9: store i32 3880, ptr @lp_site %t31 = call ptr @lp_win_stdio(i32 2) store i32 0, ptr @lp_site call i32 (ptr, ptr, ...) @fprintf(ptr %t31, ptr @.fmt_bounds, ptr @.str4655, i32 %t25, i32 %t29) call void @exit(i32 1) unreachable ixok8: %t32 = getelementptr inbounds ptr, ptr %t27, i32 %t25 %t33 = load ptr, ptr %t32 %t34 = getelementptr inbounds %Cmp_Node, ptr %t33, i32 0, i32 4 %t35 = load ptr, ptr %t34 store ptr %t35, ptr %retval br label %ret ifend7: %t36 = load i32, ptr %t1 %t37 = add i32 %t36, 1 store i32 %t37, ptr %t1 br label %wcond0 wend2: store ptr null, ptr %retval br label %ret ret: %t38 = load ptr, ptr %retval ret ptr %t38 } 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 store i32 3881, ptr @lp_site %t26 = call ptr @lp_realloc(ptr %t25, i64 %t24) store i32 0, ptr @lp_site 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 = load i32, ptr %t1 %t11 = getelementptr inbounds %LSlice, ptr %t9, i32 0, i32 0 %t12 = load ptr, ptr %t11 %t13 = getelementptr inbounds %LSlice, ptr %t9, i32 0, i32 1 %t14 = load i32, ptr %t13 %t15 = icmp ult i32 %t10, %t14 br i1 %t15, label %ixok3, label %ixbad4 ixbad4: store i32 3882, ptr @lp_site %t16 = call ptr @lp_win_stdio(i32 2) store i32 0, ptr @lp_site call i32 (ptr, ptr, ...) @fprintf(ptr %t16, ptr @.fmt_bounds, ptr @.str4657, i32 %t10, i32 %t14) call void @exit(i32 1) unreachable ixok3: %t17 = getelementptr inbounds ptr, ptr %t12, i32 %t10 %t18 = load ptr, ptr %t17 %t19 = getelementptr inbounds %Cmp_Node, ptr %t18, i32 0, i32 1 %t20 = load ptr, ptr %t19 %t21 = load ptr, ptr %t0 %t22 = call i32 @lp_str_eq(ptr %t20, ptr %t21) %t23 = icmp ne i32 %t22, 0 br i1 %t23, label %then5, label %ifend7 then5: %t24 = load ptr, ptr @g_g_ondetach %t25 = load i32, ptr %t1 %t26 = getelementptr inbounds %LSlice, ptr %t24, i32 0, i32 0 %t27 = load ptr, ptr %t26 %t28 = getelementptr inbounds %LSlice, ptr %t24, i32 0, i32 1 %t29 = load i32, ptr %t28 %t30 = icmp ult i32 %t25, %t29 br i1 %t30, label %ixok8, label %ixbad9 ixbad9: store i32 3883, ptr @lp_site %t31 = call ptr @lp_win_stdio(i32 2) store i32 0, ptr @lp_site call i32 (ptr, ptr, ...) @fprintf(ptr %t31, ptr @.fmt_bounds, ptr @.str4659, i32 %t25, i32 %t29) call void @exit(i32 1) unreachable ixok8: %t32 = getelementptr inbounds ptr, ptr %t27, i32 %t25 %t33 = load ptr, ptr %t32 %t34 = getelementptr inbounds %Cmp_Node, ptr %t33, i32 0, i32 4 %t35 = load ptr, ptr %t34 store ptr %t35, ptr %retval br label %ret ifend7: %t36 = load i32, ptr %t1 %t37 = add i32 %t36, 1 store i32 %t37, ptr %t1 br label %wcond0 wend2: store ptr null, ptr %retval br label %ret ret: %t38 = load ptr, ptr %retval ret ptr %t38 } 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 store i32 3884, ptr @lp_site %t26 = call ptr @lp_realloc(ptr %t25, i64 %t24) store i32 0, ptr @lp_site 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 store i32 3885, ptr @lp_site %t26 = call ptr @lp_realloc(ptr %t25, i64 %t24) store i32 0, ptr @lp_site 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 = load i32, ptr %t1 %t11 = getelementptr inbounds %LSlice, ptr %t9, i32 0, i32 0 %t12 = load ptr, ptr %t11 %t13 = getelementptr inbounds %LSlice, ptr %t9, i32 0, i32 1 %t14 = load i32, ptr %t13 %t15 = icmp ult i32 %t10, %t14 br i1 %t15, label %ixok3, label %ixbad4 ixbad4: store i32 3886, ptr @lp_site %t16 = call ptr @lp_win_stdio(i32 2) store i32 0, ptr @lp_site call i32 (ptr, ptr, ...) @fprintf(ptr %t16, ptr @.fmt_bounds, ptr @.str4662, i32 %t10, i32 %t14) call void @exit(i32 1) unreachable ixok3: %t17 = getelementptr inbounds ptr, ptr %t12, i32 %t10 %t18 = load ptr, ptr %t17 %t19 = getelementptr inbounds %Cmp_Node, ptr %t18, i32 0, i32 1 %t20 = load ptr, ptr %t19 %t21 = load ptr, ptr %t0 %t22 = call i32 @lp_str_eq(ptr %t20, ptr %t21) %t23 = icmp ne i32 %t22, 0 br i1 %t23, label %then5, label %ifend7 then5: %t24 = load ptr, ptr @g_g_onenable %t25 = load i32, ptr %t1 %t26 = getelementptr inbounds %LSlice, ptr %t24, i32 0, i32 0 %t27 = load ptr, ptr %t26 %t28 = getelementptr inbounds %LSlice, ptr %t24, i32 0, i32 1 %t29 = load i32, ptr %t28 %t30 = icmp ult i32 %t25, %t29 br i1 %t30, label %ixok8, label %ixbad9 ixbad9: store i32 3887, ptr @lp_site %t31 = call ptr @lp_win_stdio(i32 2) store i32 0, ptr @lp_site call i32 (ptr, ptr, ...) @fprintf(ptr %t31, ptr @.fmt_bounds, ptr @.str4664, i32 %t25, i32 %t29) call void @exit(i32 1) unreachable ixok8: %t32 = getelementptr inbounds ptr, ptr %t27, i32 %t25 %t33 = load ptr, ptr %t32 %t34 = getelementptr inbounds %Cmp_Node, ptr %t33, i32 0, i32 4 %t35 = load ptr, ptr %t34 store ptr %t35, ptr %retval br label %ret ifend7: %t36 = load i32, ptr %t1 %t37 = add i32 %t36, 1 store i32 %t37, ptr %t1 br label %wcond0 wend2: store ptr null, ptr %retval br label %ret ret: %t38 = load ptr, ptr %retval ret ptr %t38 } 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 = load i32, ptr %t1 %t11 = getelementptr inbounds %LSlice, ptr %t9, i32 0, i32 0 %t12 = load ptr, ptr %t11 %t13 = getelementptr inbounds %LSlice, ptr %t9, i32 0, i32 1 %t14 = load i32, ptr %t13 %t15 = icmp ult i32 %t10, %t14 br i1 %t15, label %ixok3, label %ixbad4 ixbad4: store i32 3888, ptr @lp_site %t16 = call ptr @lp_win_stdio(i32 2) store i32 0, ptr @lp_site call i32 (ptr, ptr, ...) @fprintf(ptr %t16, ptr @.fmt_bounds, ptr @.str4665, i32 %t10, i32 %t14) call void @exit(i32 1) unreachable ixok3: %t17 = getelementptr inbounds ptr, ptr %t12, i32 %t10 %t18 = load ptr, ptr %t17 %t19 = getelementptr inbounds %Cmp_Node, ptr %t18, i32 0, i32 1 %t20 = load ptr, ptr %t19 %t21 = load ptr, ptr %t0 %t22 = call i32 @lp_str_eq(ptr %t20, ptr %t21) %t23 = icmp ne i32 %t22, 0 br i1 %t23, label %then5, label %ifend7 then5: %t24 = load ptr, ptr @g_g_ondisable %t25 = load i32, ptr %t1 %t26 = getelementptr inbounds %LSlice, ptr %t24, i32 0, i32 0 %t27 = load ptr, ptr %t26 %t28 = getelementptr inbounds %LSlice, ptr %t24, i32 0, i32 1 %t29 = load i32, ptr %t28 %t30 = icmp ult i32 %t25, %t29 br i1 %t30, label %ixok8, label %ixbad9 ixbad9: store i32 3889, ptr @lp_site %t31 = call ptr @lp_win_stdio(i32 2) store i32 0, ptr @lp_site call i32 (ptr, ptr, ...) @fprintf(ptr %t31, ptr @.fmt_bounds, ptr @.str4667, i32 %t25, i32 %t29) call void @exit(i32 1) unreachable ixok8: %t32 = getelementptr inbounds ptr, ptr %t27, i32 %t25 %t33 = load ptr, ptr %t32 %t34 = getelementptr inbounds %Cmp_Node, ptr %t33, i32 0, i32 4 %t35 = load ptr, ptr %t34 store ptr %t35, ptr %retval br label %ret ifend7: %t36 = load i32, ptr %t1 %t37 = add i32 %t36, 1 store i32 %t37, ptr %t1 br label %wcond0 wend2: store ptr null, ptr %retval br label %ret ret: %t38 = load ptr, ptr %retval ret ptr %t38 } 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 store i32 3890, ptr @lp_site %t17 = call ptr @lp_realloc(ptr %t16, i64 %t15) store i32 0, ptr @lp_site 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 = load i32, ptr %t1 %t11 = getelementptr inbounds %LSlice, ptr %t9, i32 0, i32 0 %t12 = load ptr, ptr %t11 %t13 = getelementptr inbounds %LSlice, ptr %t9, i32 0, i32 1 %t14 = load i32, ptr %t13 %t15 = icmp ult i32 %t10, %t14 br i1 %t15, label %ixok3, label %ixbad4 ixbad4: store i32 3891, ptr @lp_site %t16 = call ptr @lp_win_stdio(i32 2) store i32 0, ptr @lp_site call i32 (ptr, ptr, ...) @fprintf(ptr %t16, ptr @.fmt_bounds, ptr @.str4669, i32 %t10, i32 %t14) call void @exit(i32 1) unreachable ixok3: %t17 = getelementptr inbounds ptr, ptr %t12, i32 %t10 %t18 = load ptr, ptr %t17 %t19 = getelementptr inbounds %Cmp_Node, ptr %t18, i32 0, i32 1 %t20 = load ptr, ptr %t19 %t21 = load ptr, ptr %t0 %t22 = call i32 @lp_str_eq(ptr %t20, ptr %t21) %t23 = icmp ne i32 %t22, 0 br i1 %t23, label %then5, label %ifend7 then5: %t24 = load ptr, ptr @g_g_events %t25 = load i32, ptr %t1 %t26 = getelementptr inbounds %LSlice, ptr %t24, i32 0, i32 0 %t27 = load ptr, ptr %t26 %t28 = getelementptr inbounds %LSlice, ptr %t24, i32 0, i32 1 %t29 = load i32, ptr %t28 %t30 = icmp ult i32 %t25, %t29 br i1 %t30, label %ixok8, label %ixbad9 ixbad9: store i32 3892, ptr @lp_site %t31 = call ptr @lp_win_stdio(i32 2) store i32 0, ptr @lp_site call i32 (ptr, ptr, ...) @fprintf(ptr %t31, ptr @.fmt_bounds, ptr @.str4671, i32 %t25, i32 %t29) call void @exit(i32 1) unreachable ixok8: %t32 = getelementptr inbounds ptr, ptr %t27, i32 %t25 %t33 = load ptr, ptr %t32 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_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 store i32 3893, ptr @lp_site %t26 = call ptr @lp_realloc(ptr %t25, i64 %t24) store i32 0, ptr @lp_site 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 @.str4673, ptr %t15 %t16 = load ptr, ptr %t13 %t17 = getelementptr inbounds %Cmp_Node, ptr %t16, i32 0, i32 3 store ptr @.str4674, 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 store i32 3894, ptr @lp_site %t36 = call ptr @lp_realloc(ptr %t35, i64 %t34) store i32 0, ptr @lp_site 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 @.str4676, ptr %t45 %t46 = load ptr, ptr %t43 %t47 = getelementptr inbounds %Cmp_Node, ptr %t46, i32 0, i32 3 store ptr @.str4677, 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 store i32 3895, ptr @lp_site %t66 = call ptr @lp_realloc(ptr %t65, i64 %t64) store i32 0, ptr @lp_site 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 = load i32, ptr %t1 %t11 = getelementptr inbounds %LSlice, ptr %t9, i32 0, i32 0 %t12 = load ptr, ptr %t11 %t13 = getelementptr inbounds %LSlice, ptr %t9, i32 0, i32 1 %t14 = load i32, ptr %t13 %t15 = icmp ult i32 %t10, %t14 br i1 %t15, label %ixok3, label %ixbad4 ixbad4: store i32 3896, ptr @lp_site %t16 = call ptr @lp_win_stdio(i32 2) store i32 0, ptr @lp_site call i32 (ptr, ptr, ...) @fprintf(ptr %t16, ptr @.fmt_bounds, ptr @.str4678, i32 %t10, i32 %t14) call void @exit(i32 1) unreachable ixok3: %t17 = getelementptr inbounds ptr, ptr %t12, i32 %t10 %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 br i1 %t21, label %then5, label %ifend7 then5: br label %ret ifend7: %t22 = load i32, ptr %t1 %t23 = add i32 %t22, 1 store i32 %t23, ptr %t1 br label %wcond0 wend2: %t24 = load ptr, ptr @g_g_toggled_layers %t25 = load ptr, ptr %t0 %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 %grow8, label %put9 grow8: %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 store i32 3897, ptr @lp_site %t40 = call ptr @lp_realloc(ptr %t39, i64 %t38) store i32 0, ptr @lp_site store ptr %t40, ptr %t28 store i32 %t34, ptr %t27 br label %put9 put9: %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_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 = load i32, ptr %t1 %t11 = getelementptr inbounds %LSlice, ptr %t9, i32 0, i32 0 %t12 = load ptr, ptr %t11 %t13 = getelementptr inbounds %LSlice, ptr %t9, i32 0, i32 1 %t14 = load i32, ptr %t13 %t15 = icmp ult i32 %t10, %t14 br i1 %t15, label %ixok3, label %ixbad4 ixbad4: store i32 3898, ptr @lp_site %t16 = call ptr @lp_win_stdio(i32 2) store i32 0, ptr @lp_site call i32 (ptr, ptr, ...) @fprintf(ptr %t16, ptr @.fmt_bounds, ptr @.str4680, i32 %t10, i32 %t14) call void @exit(i32 1) unreachable ixok3: %t17 = getelementptr inbounds ptr, ptr %t12, i32 %t10 %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 br i1 %t21, label %then5, label %ifend7 then5: store i32 1, ptr %retval br label %ret ifend7: %t22 = load i32, ptr %t1 %t23 = add i32 %t22, 1 store i32 %t23, ptr %t1 br label %wcond0 wend2: store i32 0, ptr %retval br label %ret ret: %t24 = load i32, ptr %retval ret i32 %t24 } 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 call void @fn_deps_alias_reset() 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 ptr, ptr @g_loc_blk %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 = getelementptr %LSlice, ptr null, i32 1 %t8 = ptrtoint ptr %t7 to i64 store i32 3899, ptr @lp_site %t9 = call ptr @lp_malloc(i64 %t8) store i32 0, ptr @lp_site %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 @g_loc_blk br label %ifend2 ifend2: %t13 = load i32, ptr @g_nloc %t14 = load ptr, ptr @g_loc_name %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 %then3, label %else4 then3: %t20 = load ptr, ptr @g_loc_name %t21 = load i32, ptr @g_nloc %t22 = getelementptr inbounds %LSlice, ptr %t20, i32 0, i32 0 %t23 = load ptr, ptr %t22 %t24 = getelementptr inbounds %LSlice, ptr %t20, i32 0, i32 1 %t25 = load i32, ptr %t24 %t26 = icmp ult i32 %t21, %t25 br i1 %t26, label %ixok6, label %ixbad7 ixbad7: store i32 3900, ptr @lp_site %t27 = call ptr @lp_win_stdio(i32 2) store i32 0, ptr @lp_site call i32 (ptr, ptr, ...) @fprintf(ptr %t27, ptr @.fmt_bounds, ptr @.str4683, i32 %t21, i32 %t25) call void @exit(i32 1) unreachable ixok6: %t28 = getelementptr inbounds ptr, ptr %t23, i32 %t21 %t29 = load ptr, ptr %t0 store ptr %t29, ptr %t28 %t30 = load ptr, ptr @g_loc_reg %t31 = load i32, ptr @g_nloc %t32 = getelementptr inbounds %LSlice, ptr %t30, i32 0, i32 0 %t33 = load ptr, ptr %t32 %t34 = getelementptr inbounds %LSlice, ptr %t30, i32 0, i32 1 %t35 = load i32, ptr %t34 %t36 = icmp ult i32 %t31, %t35 br i1 %t36, label %ixok8, label %ixbad9 ixbad9: store i32 3901, ptr @lp_site %t37 = call ptr @lp_win_stdio(i32 2) store i32 0, ptr @lp_site call i32 (ptr, ptr, ...) @fprintf(ptr %t37, ptr @.fmt_bounds, ptr @.str4684, i32 %t31, i32 %t35) call void @exit(i32 1) unreachable ixok8: %t38 = getelementptr inbounds ptr, ptr %t33, i32 %t31 %t39 = load ptr, ptr %t1 store ptr %t39, ptr %t38 %t40 = load ptr, ptr @g_loc_ty %t41 = load i32, ptr @g_nloc %t42 = getelementptr inbounds %LSlice, ptr %t40, i32 0, i32 0 %t43 = load ptr, ptr %t42 %t44 = getelementptr inbounds %LSlice, ptr %t40, i32 0, i32 1 %t45 = load i32, ptr %t44 %t46 = icmp ult i32 %t41, %t45 br i1 %t46, label %ixok10, label %ixbad11 ixbad11: store i32 3902, ptr @lp_site %t47 = call ptr @lp_win_stdio(i32 2) store i32 0, ptr @lp_site call i32 (ptr, ptr, ...) @fprintf(ptr %t47, ptr @.fmt_bounds, ptr @.str4685, i32 %t41, i32 %t45) call void @exit(i32 1) unreachable ixok10: %t48 = getelementptr inbounds ptr, ptr %t43, i32 %t41 %t49 = load ptr, ptr %t2 store ptr %t49, ptr %t48 %t50 = load ptr, ptr @g_loc_mut %t51 = load i32, ptr @g_nloc %t52 = getelementptr inbounds %LSlice, ptr %t50, i32 0, i32 0 %t53 = load ptr, ptr %t52 %t54 = getelementptr inbounds %LSlice, ptr %t50, i32 0, i32 1 %t55 = load i32, ptr %t54 %t56 = icmp ult i32 %t51, %t55 br i1 %t56, label %ixok12, label %ixbad13 ixbad13: store i32 3903, ptr @lp_site %t57 = call ptr @lp_win_stdio(i32 2) store i32 0, ptr @lp_site call i32 (ptr, ptr, ...) @fprintf(ptr %t57, ptr @.fmt_bounds, ptr @.str4686, i32 %t51, i32 %t55) call void @exit(i32 1) unreachable ixok12: %t58 = getelementptr inbounds i32, ptr %t53, i32 %t51 store i32 1, ptr %t58 br label %ifend5 else4: %t59 = load ptr, ptr @g_loc_name %t60 = load ptr, ptr %t0 %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 %grow14, label %put15 grow14: %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 store i32 3904, ptr @lp_site %t75 = call ptr @lp_realloc(ptr %t74, i64 %t73) store i32 0, ptr @lp_site store ptr %t75, ptr %t63 store i32 %t69, ptr %t62 br label %put15 put15: %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 %t79 = load ptr, ptr @g_loc_reg %t80 = load ptr, ptr %t1 %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 %grow16, label %put17 grow16: %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 store i32 3905, ptr @lp_site %t95 = call ptr @lp_realloc(ptr %t94, i64 %t93) store i32 0, ptr @lp_site store ptr %t95, ptr %t83 store i32 %t89, ptr %t82 br label %put17 put17: %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 %t99 = load ptr, ptr @g_loc_ty %t100 = load ptr, ptr %t2 %t101 = getelementptr inbounds %LSlice, ptr %t99, i32 0, i32 1 %t102 = getelementptr inbounds %LSlice, ptr %t99, i32 0, i32 2 %t103 = getelementptr inbounds %LSlice, ptr %t99, i32 0, i32 0 %t104 = load i32, ptr %t101 %t105 = load i32, ptr %t102 %t106 = icmp sge i32 %t104, %t105 br i1 %t106, label %grow18, label %put19 grow18: %t107 = mul i32 %t105, 2 %t108 = icmp eq i32 %t105, 0 %t109 = select i1 %t108, i32 8, i32 %t107 %t110 = getelementptr ptr, ptr null, i32 1 %t111 = ptrtoint ptr %t110 to i64 %t112 = zext i32 %t109 to i64 %t113 = mul i64 %t112, %t111 %t114 = load ptr, ptr %t103 store i32 3906, ptr @lp_site %t115 = call ptr @lp_realloc(ptr %t114, i64 %t113) store i32 0, ptr @lp_site store ptr %t115, ptr %t103 store i32 %t109, ptr %t102 br label %put19 put19: %t116 = load ptr, ptr %t103 %t117 = getelementptr inbounds ptr, ptr %t116, i32 %t104 store ptr %t100, ptr %t117 %t118 = add i32 %t104, 1 store i32 %t118, ptr %t101 %t119 = load ptr, ptr @g_loc_mut %t120 = getelementptr inbounds %LSlice, ptr %t119, i32 0, i32 1 %t121 = getelementptr inbounds %LSlice, ptr %t119, i32 0, i32 2 %t122 = getelementptr inbounds %LSlice, ptr %t119, i32 0, i32 0 %t123 = load i32, ptr %t120 %t124 = load i32, ptr %t121 %t125 = icmp sge i32 %t123, %t124 br i1 %t125, label %grow20, label %put21 grow20: %t126 = mul i32 %t124, 2 %t127 = icmp eq i32 %t124, 0 %t128 = select i1 %t127, i32 8, i32 %t126 %t129 = getelementptr i32, ptr null, i32 1 %t130 = ptrtoint ptr %t129 to i64 %t131 = zext i32 %t128 to i64 %t132 = mul i64 %t131, %t130 %t133 = load ptr, ptr %t122 store i32 3907, ptr @lp_site %t134 = call ptr @lp_realloc(ptr %t133, i64 %t132) store i32 0, ptr @lp_site store ptr %t134, ptr %t122 store i32 %t128, ptr %t121 br label %put21 put21: %t135 = load ptr, ptr %t122 %t136 = getelementptr inbounds i32, ptr %t135, i32 %t123 store i32 1, ptr %t136 %t137 = add i32 %t123, 1 store i32 %t137, ptr %t120 br label %ifend5 ifend5: br label %wcond22 wcond22: %t138 = load ptr, ptr @g_loc_blk %t139 = getelementptr inbounds %LSlice, ptr %t138, i32 0, i32 1 %t140 = load i32, ptr %t139 %t141 = load i32, ptr @g_nloc %t142 = icmp sle i32 %t140, %t141 %t143 = zext i1 %t142 to i32 %t144 = icmp ne i32 %t143, 0 br i1 %t144, label %wbody23, label %wend24 wbody23: %t145 = load ptr, ptr @g_loc_blk %t146 = getelementptr inbounds %LSlice, ptr %t145, i32 0, i32 1 %t147 = getelementptr inbounds %LSlice, ptr %t145, i32 0, i32 2 %t148 = getelementptr inbounds %LSlice, ptr %t145, i32 0, i32 0 %t149 = load i32, ptr %t146 %t150 = load i32, ptr %t147 %t151 = icmp sge i32 %t149, %t150 br i1 %t151, label %grow25, label %put26 grow25: %t152 = mul i32 %t150, 2 %t153 = icmp eq i32 %t150, 0 %t154 = select i1 %t153, i32 8, i32 %t152 %t155 = getelementptr i32, 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 store i32 3908, ptr @lp_site %t160 = call ptr @lp_realloc(ptr %t159, i64 %t158) store i32 0, ptr @lp_site store ptr %t160, ptr %t148 store i32 %t154, ptr %t147 br label %put26 put26: %t161 = load ptr, ptr %t148 %t162 = getelementptr inbounds i32, ptr %t161, i32 %t149 store i32 0, ptr %t162 %t163 = add i32 %t149, 1 store i32 %t163, ptr %t146 br label %wcond22 wend24: %t164 = load ptr, ptr @g_loc_blk %t165 = load i32, ptr @g_nloc %t166 = getelementptr inbounds %LSlice, ptr %t164, i32 0, i32 0 %t167 = load ptr, ptr %t166 %t168 = getelementptr inbounds %LSlice, ptr %t164, i32 0, i32 1 %t169 = load i32, ptr %t168 %t170 = icmp ult i32 %t165, %t169 br i1 %t170, label %ixok27, label %ixbad28 ixbad28: store i32 3909, ptr @lp_site %t171 = call ptr @lp_win_stdio(i32 2) store i32 0, ptr @lp_site call i32 (ptr, ptr, ...) @fprintf(ptr %t171, ptr @.fmt_bounds, ptr @.str4687, i32 %t165, i32 %t169) call void @exit(i32 1) unreachable ixok27: %t172 = getelementptr inbounds i32, ptr %t167, i32 %t165 %t173 = sub i32 0, 1 store i32 %t173, ptr %t172 %t174 = load i32, ptr @g_nloc %t175 = add i32 %t174, 1 store i32 %t175, ptr @g_nloc br label %ret ret: ret void } define void @fn_loc_mark_declared() { entry: %t0 = load i32, ptr @g_nloc %t1 = icmp sgt i32 %t0, 0 %t2 = zext i1 %t1 to i32 %t3 = icmp ne i32 %t2, 0 br i1 %t3, label %then0, label %ifend2 then0: %t4 = load ptr, ptr @g_loc_blk %t5 = load i32, ptr @g_nloc %t6 = sub i32 %t5, 1 %t7 = getelementptr inbounds %LSlice, ptr %t4, i32 0, i32 0 %t8 = load ptr, ptr %t7 %t9 = getelementptr inbounds %LSlice, ptr %t4, i32 0, i32 1 %t10 = load i32, ptr %t9 %t11 = icmp ult i32 %t6, %t10 br i1 %t11, label %ixok3, label %ixbad4 ixbad4: store i32 3910, ptr @lp_site %t12 = call ptr @lp_win_stdio(i32 2) store i32 0, ptr @lp_site call i32 (ptr, ptr, ...) @fprintf(ptr %t12, ptr @.fmt_bounds, ptr @.str4688, i32 %t6, i32 %t10) call void @exit(i32 1) unreachable ixok3: %t13 = getelementptr inbounds i32, ptr %t8, i32 %t6 %t14 = load i32, ptr @g_g_blk_cur store i32 %t14, ptr %t13 br label %ifend2 ifend2: br label %ret ret: ret void } define void @fn_loc_check_redeclared(ptr %arg_name) { entry: %t0 = alloca ptr %t5 = alloca i32 %t11 = alloca i32 store ptr %arg_name, ptr %t0 %t1 = load ptr, ptr @g_loc_blk %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: br label %ret ifend2: store i32 0, ptr %t5 br label %wcond3 wcond3: %t6 = load i32, ptr %t5 %t7 = load i32, ptr @g_nloc %t8 = icmp slt i32 %t6, %t7 %t9 = zext i1 %t8 to i32 %t10 = icmp ne i32 %t9, 0 br i1 %t10, label %wbody4, label %wend5 wbody4: %t12 = load ptr, ptr @g_loc_name %t13 = load i32, ptr %t5 %t14 = getelementptr inbounds %LSlice, ptr %t12, i32 0, i32 0 %t15 = load ptr, ptr %t14 %t16 = getelementptr inbounds %LSlice, ptr %t12, i32 0, i32 1 %t17 = load i32, ptr %t16 %t18 = icmp ult i32 %t13, %t17 br i1 %t18, label %ixok6, label %ixbad7 ixbad7: store i32 3911, ptr @lp_site %t19 = call ptr @lp_win_stdio(i32 2) store i32 0, ptr @lp_site call i32 (ptr, ptr, ...) @fprintf(ptr %t19, ptr @.fmt_bounds, ptr @.str4690, i32 %t13, i32 %t17) call void @exit(i32 1) unreachable ixok6: %t20 = getelementptr inbounds ptr, ptr %t15, i32 %t13 %t21 = load ptr, ptr %t20 %t22 = load ptr, ptr %t0 %t23 = call i32 @lp_str_eq(ptr %t21, ptr %t22) %t24 = icmp ne i32 %t23, 0 %t25 = zext i1 %t24 to i32 store i32 %t25, ptr %t11 br i1 %t24, label %sc8, label %scend9 sc8: %t26 = load ptr, ptr @g_loc_blk %t27 = load i32, ptr %t5 %t28 = getelementptr inbounds %LSlice, ptr %t26, i32 0, i32 0 %t29 = load ptr, ptr %t28 %t30 = getelementptr inbounds %LSlice, ptr %t26, i32 0, i32 1 %t31 = load i32, ptr %t30 %t32 = icmp ult i32 %t27, %t31 br i1 %t32, label %ixok10, label %ixbad11 ixbad11: store i32 3912, ptr @lp_site %t33 = call ptr @lp_win_stdio(i32 2) store i32 0, ptr @lp_site call i32 (ptr, ptr, ...) @fprintf(ptr %t33, ptr @.fmt_bounds, ptr @.str4692, i32 %t27, i32 %t31) call void @exit(i32 1) unreachable ixok10: %t34 = getelementptr inbounds i32, ptr %t29, i32 %t27 %t35 = load i32, ptr %t34 %t36 = load i32, ptr @g_g_blk_cur %t37 = icmp eq i32 %t35, %t36 %t38 = zext i1 %t37 to i32 %t39 = icmp ne i32 %t38, 0 %t40 = zext i1 %t39 to i32 store i32 %t40, ptr %t11 br label %scend9 scend9: %t41 = load i32, ptr %t11 %t42 = icmp ne i32 %t41, 0 br i1 %t42, label %then12, label %ifend14 then12: %t43 = load ptr, ptr %t0 store i32 3913, ptr @lp_site %t44 = call ptr @lp_str_concat(ptr @.str4693, ptr %t43) store i32 0, ptr @lp_site store i32 3914, ptr @lp_site %t45 = call ptr @lp_str_concat(ptr %t44, ptr @.str4694) store i32 0, ptr @lp_site call void @lp_free(ptr %t44) call void @fn_perr(ptr %t45) br label %ifend14 ifend14: %t46 = load i32, ptr %t5 %t47 = add i32 %t46, 1 store i32 %t47, ptr %t5 br label %wcond3 wend5: 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 = load i32, ptr @g_nloc %t7 = sub i32 %t6, 1 %t8 = getelementptr inbounds %LSlice, ptr %t5, i32 0, i32 0 %t9 = load ptr, ptr %t8 %t10 = getelementptr inbounds %LSlice, ptr %t5, i32 0, i32 1 %t11 = load i32, ptr %t10 %t12 = icmp ult i32 %t7, %t11 br i1 %t12, label %ixok3, label %ixbad4 ixbad4: store i32 3915, ptr @lp_site %t13 = call ptr @lp_win_stdio(i32 2) store i32 0, ptr @lp_site call i32 (ptr, ptr, ...) @fprintf(ptr %t13, ptr @.fmt_bounds, ptr @.str4695, i32 %t7, i32 %t11) call void @exit(i32 1) unreachable ixok3: %t14 = getelementptr inbounds i32, ptr %t9, i32 %t7 %t15 = load i32, ptr %t0 store i32 %t15, ptr %t14 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 = load i32, ptr %t3 %t10 = getelementptr inbounds %LSlice, ptr %t8, i32 0, i32 0 %t11 = load ptr, ptr %t10 %t12 = getelementptr inbounds %LSlice, ptr %t8, i32 0, i32 1 %t13 = load i32, ptr %t12 %t14 = icmp ult i32 %t9, %t13 br i1 %t14, label %ixok3, label %ixbad4 ixbad4: store i32 3916, ptr @lp_site %t15 = call ptr @lp_win_stdio(i32 2) store i32 0, ptr @lp_site call i32 (ptr, ptr, ...) @fprintf(ptr %t15, ptr @.fmt_bounds, ptr @.str4697, i32 %t9, i32 %t13) call void @exit(i32 1) unreachable ixok3: %t16 = getelementptr inbounds ptr, ptr %t11, i32 %t9 %t17 = load ptr, ptr %t16 %t18 = load ptr, ptr %t0 %t19 = call i32 @lp_str_eq(ptr %t17, ptr %t18) %t20 = icmp ne i32 %t19, 0 br i1 %t20, label %then5, label %ifend7 then5: %t21 = load i32, ptr %t3 store i32 %t21, ptr %retval br label %ret ifend7: %t22 = load i32, ptr %t3 %t23 = sub i32 %t22, 1 store i32 %t23, ptr %t3 br label %wcond0 wend2: %t24 = sub i32 0, 1 store i32 %t24, ptr %retval br label %ret ret: %t25 = load i32, ptr %retval ret i32 %t25 } define void @fn_fence_reset() { entry: %t0 = getelementptr %LSlice, ptr null, i32 1 %t1 = ptrtoint ptr %t0 to i64 store i32 3917, ptr @lp_site %t2 = call ptr @lp_malloc(i64 %t1) store i32 0, ptr @lp_site %t3 = getelementptr inbounds %LSlice, ptr %t2, i32 0, i32 0 store ptr null, ptr %t3 %t4 = getelementptr inbounds %LSlice, ptr %t2, i32 0, i32 1 store i32 0, ptr %t4 %t5 = getelementptr inbounds %LSlice, ptr %t2, i32 0, i32 2 store i32 0, ptr %t5 store ptr %t2, ptr @g_g_site_fn %t6 = getelementptr %LSlice, ptr null, i32 1 %t7 = ptrtoint ptr %t6 to i64 store i32 3918, ptr @lp_site %t8 = call ptr @lp_malloc(i64 %t7) store i32 0, ptr @lp_site %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_site_file %t12 = getelementptr %LSlice, ptr null, i32 1 %t13 = ptrtoint ptr %t12 to i64 store i32 3919, ptr @lp_site %t14 = call ptr @lp_malloc(i64 %t13) store i32 0, ptr @lp_site %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_site_line %t18 = getelementptr %LSlice, ptr null, i32 1 %t19 = ptrtoint ptr %t18 to i64 store i32 3920, ptr @lp_site %t20 = call ptr @lp_malloc(i64 %t19) store i32 0, ptr @lp_site %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_site_kind %t24 = getelementptr %LSlice, ptr null, i32 1 %t25 = ptrtoint ptr %t24 to i64 store i32 3921, ptr @lp_site %t26 = call ptr @lp_malloc(i64 %t25) store i32 0, ptr @lp_site %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_site_kinds %t30 = getelementptr %LSlice, ptr null, i32 1 %t31 = ptrtoint ptr %t30 to i64 store i32 3922, ptr @lp_site %t32 = call ptr @lp_malloc(i64 %t31) store i32 0, ptr @lp_site %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_site_kindc %t36 = getelementptr %LSlice, ptr null, i32 1 %t37 = ptrtoint ptr %t36 to i64 store i32 3923, ptr @lp_site %t38 = call ptr @lp_malloc(i64 %t37) store i32 0, ptr @lp_site %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_site_owner %t42 = getelementptr %LSlice, ptr null, i32 1 %t43 = ptrtoint ptr %t42 to i64 store i32 3924, ptr @lp_site %t44 = call ptr @lp_malloc(i64 %t43) store i32 0, ptr @lp_site %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_owner_names store i32 0, ptr @g_g_atexit_declared store i32 0, ptr @g_g_mzs_declared store i32 0, ptr @g_g_mmap_declared store ptr null, ptr @g_g_es_node %t48 = getelementptr %LSlice, ptr null, i32 1 %t49 = ptrtoint ptr %t48 to i64 store i32 3925, ptr @lp_site %t50 = call ptr @lp_malloc(i64 %t49) store i32 0, ptr @lp_site %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_scan_roots store ptr @.str4700, ptr @g_g_cur_fn_name store ptr null, ptr @g_g_site_fnc store ptr null, ptr @g_g_site_filen store ptr null, ptr @g_g_site_filec store ptr null, ptr @g_g_site_next %t54 = load ptr, ptr @g_g_site_fn %t55 = getelementptr inbounds %LSlice, ptr %t54, i32 0, i32 1 %t56 = getelementptr inbounds %LSlice, ptr %t54, i32 0, i32 2 %t57 = getelementptr inbounds %LSlice, ptr %t54, i32 0, i32 0 %t58 = load i32, ptr %t55 %t59 = load i32, ptr %t56 %t60 = icmp sge i32 %t58, %t59 br i1 %t60, label %grow0, label %put1 grow0: %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 store i32 3926, ptr @lp_site %t69 = call ptr @lp_realloc(ptr %t68, i64 %t67) store i32 0, ptr @lp_site store ptr %t69, ptr %t57 store i32 %t63, ptr %t56 br label %put1 put1: %t70 = load ptr, ptr %t57 %t71 = getelementptr inbounds ptr, ptr %t70, i32 %t58 store ptr null, ptr %t71 %t72 = add i32 %t58, 1 store i32 %t72, ptr %t55 %t73 = load ptr, ptr @g_g_site_file %t74 = getelementptr inbounds %LSlice, ptr %t73, i32 0, i32 1 %t75 = getelementptr inbounds %LSlice, ptr %t73, i32 0, i32 2 %t76 = getelementptr inbounds %LSlice, ptr %t73, i32 0, i32 0 %t77 = load i32, ptr %t74 %t78 = load i32, ptr %t75 %t79 = icmp sge i32 %t77, %t78 br i1 %t79, label %grow2, label %put3 grow2: %t80 = mul i32 %t78, 2 %t81 = icmp eq i32 %t78, 0 %t82 = select i1 %t81, i32 8, i32 %t80 %t83 = getelementptr ptr, ptr null, i32 1 %t84 = ptrtoint ptr %t83 to i64 %t85 = zext i32 %t82 to i64 %t86 = mul i64 %t85, %t84 %t87 = load ptr, ptr %t76 store i32 3927, ptr @lp_site %t88 = call ptr @lp_realloc(ptr %t87, i64 %t86) store i32 0, ptr @lp_site store ptr %t88, ptr %t76 store i32 %t82, ptr %t75 br label %put3 put3: %t89 = load ptr, ptr %t76 %t90 = getelementptr inbounds ptr, ptr %t89, i32 %t77 store ptr null, ptr %t90 %t91 = add i32 %t77, 1 store i32 %t91, ptr %t74 %t92 = load ptr, ptr @g_g_site_line %t93 = getelementptr inbounds %LSlice, ptr %t92, i32 0, i32 1 %t94 = getelementptr inbounds %LSlice, ptr %t92, i32 0, i32 2 %t95 = getelementptr inbounds %LSlice, ptr %t92, i32 0, i32 0 %t96 = load i32, ptr %t93 %t97 = load i32, ptr %t94 %t98 = icmp sge i32 %t96, %t97 br i1 %t98, label %grow4, label %put5 grow4: %t99 = mul i32 %t97, 2 %t100 = icmp eq i32 %t97, 0 %t101 = select i1 %t100, i32 8, i32 %t99 %t102 = getelementptr i32, ptr null, i32 1 %t103 = ptrtoint ptr %t102 to i64 %t104 = zext i32 %t101 to i64 %t105 = mul i64 %t104, %t103 %t106 = load ptr, ptr %t95 store i32 3928, ptr @lp_site %t107 = call ptr @lp_realloc(ptr %t106, i64 %t105) store i32 0, ptr @lp_site store ptr %t107, ptr %t95 store i32 %t101, ptr %t94 br label %put5 put5: %t108 = load ptr, ptr %t95 %t109 = getelementptr inbounds i32, ptr %t108, i32 %t96 store i32 0, ptr %t109 %t110 = add i32 %t96, 1 store i32 %t110, ptr %t93 %t111 = load ptr, ptr @g_g_site_kind %t112 = getelementptr inbounds %LSlice, ptr %t111, i32 0, i32 1 %t113 = getelementptr inbounds %LSlice, ptr %t111, i32 0, i32 2 %t114 = getelementptr inbounds %LSlice, ptr %t111, i32 0, i32 0 %t115 = load i32, ptr %t112 %t116 = load i32, ptr %t113 %t117 = icmp sge i32 %t115, %t116 br i1 %t117, label %grow6, label %put7 grow6: %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 store i32 3929, ptr @lp_site %t126 = call ptr @lp_realloc(ptr %t125, i64 %t124) store i32 0, ptr @lp_site store ptr %t126, ptr %t114 store i32 %t120, ptr %t113 br label %put7 put7: %t127 = load ptr, ptr %t114 %t128 = getelementptr inbounds ptr, ptr %t127, i32 %t115 store ptr null, ptr %t128 %t129 = add i32 %t115, 1 store i32 %t129, ptr %t112 %t130 = load ptr, ptr @g_g_site_owner %t131 = getelementptr inbounds %LSlice, ptr %t130, i32 0, i32 1 %t132 = getelementptr inbounds %LSlice, ptr %t130, i32 0, i32 2 %t133 = getelementptr inbounds %LSlice, ptr %t130, i32 0, i32 0 %t134 = load i32, ptr %t131 %t135 = load i32, ptr %t132 %t136 = icmp sge i32 %t134, %t135 br i1 %t136, label %grow8, label %put9 grow8: %t137 = mul i32 %t135, 2 %t138 = icmp eq i32 %t135, 0 %t139 = select i1 %t138, i32 8, i32 %t137 %t140 = getelementptr i32, ptr null, i32 1 %t141 = ptrtoint ptr %t140 to i64 %t142 = zext i32 %t139 to i64 %t143 = mul i64 %t142, %t141 %t144 = load ptr, ptr %t133 store i32 3930, ptr @lp_site %t145 = call ptr @lp_realloc(ptr %t144, i64 %t143) store i32 0, ptr @lp_site store ptr %t145, ptr %t133 store i32 %t139, ptr %t132 br label %put9 put9: %t146 = load ptr, ptr %t133 %t147 = getelementptr inbounds i32, ptr %t146, i32 %t134 store i32 0, ptr %t147 %t148 = add i32 %t134, 1 store i32 %t148, ptr %t131 br label %ret ret: ret void } define void @fn_fence_enter(ptr %arg_name) { entry: %t0 = alloca ptr %t2 = alloca i32 %t6 = alloca i32 store ptr %arg_name, ptr %t0 %t1 = load ptr, ptr %t0 store ptr %t1, ptr @g_g_cur_fn_name store ptr null, ptr @g_g_site_fnc %t3 = load i32, ptr @g_g_es_done %t4 = icmp ne i32 %t3, 0 %t5 = zext i1 %t4 to i32 store i32 %t5, ptr %t2 br i1 %t4, label %sc0, label %scend1 sc0: %t7 = load ptr, ptr %t0 %t8 = call i32 @fn_es_fn(ptr %t7) %t9 = icmp sge i32 %t8, 0 %t10 = zext i1 %t9 to i32 %t11 = icmp ne i32 %t10, 0 %t12 = zext i1 %t11 to i32 store i32 %t12, ptr %t6 br i1 %t11, label %scend3, label %sc2 sc2: %t13 = load ptr, ptr %t0 %t14 = call i32 @fn_str_starts(ptr %t13, ptr @.str4701) %t15 = icmp ne i32 %t14, 0 %t16 = zext i1 %t15 to i32 store i32 %t16, ptr %t6 br label %scend3 scend3: %t17 = load i32, ptr %t6 %t18 = icmp ne i32 %t17, 0 %t19 = zext i1 %t18 to i32 store i32 %t19, ptr %t2 br label %scend1 scend1: %t20 = load i32, ptr %t2 store i32 %t20, ptr @g_g_es_walked br label %ret ret: ret void } define i32 @fn_fence_owner_index(ptr %arg_own) { entry: %retval = alloca i32 %t0 = alloca ptr %t5 = alloca i32 store ptr %arg_own, 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: store i32 0, ptr %retval br label %ret ifend2: store i32 0, ptr %t5 br label %wcond3 wcond3: %t6 = load i32, ptr %t5 %t7 = load ptr, ptr @g_g_owner_names %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 %wbody4, label %wend5 wbody4: %t13 = load ptr, ptr @g_g_owner_names %t14 = load i32, ptr %t5 %t15 = getelementptr inbounds %LSlice, ptr %t13, i32 0, i32 0 %t16 = load ptr, ptr %t15 %t17 = getelementptr inbounds %LSlice, ptr %t13, i32 0, i32 1 %t18 = load i32, ptr %t17 %t19 = icmp ult i32 %t14, %t18 br i1 %t19, label %ixok6, label %ixbad7 ixbad7: store i32 3931, ptr @lp_site %t20 = call ptr @lp_win_stdio(i32 2) store i32 0, ptr @lp_site call i32 (ptr, ptr, ...) @fprintf(ptr %t20, ptr @.fmt_bounds, ptr @.str4702, i32 %t14, i32 %t18) call void @exit(i32 1) unreachable ixok6: %t21 = getelementptr inbounds ptr, ptr %t16, i32 %t14 %t22 = load ptr, ptr %t21 %t23 = load ptr, ptr %t0 %t24 = call i32 @lp_str_eq(ptr %t22, ptr %t23) %t25 = icmp ne i32 %t24, 0 br i1 %t25, label %then8, label %ifend10 then8: %t26 = load i32, ptr %t5 %t27 = add i32 %t26, 1 store i32 %t27, ptr %retval br label %ret ifend10: %t28 = load i32, ptr %t5 %t29 = add i32 %t28, 1 store i32 %t29, ptr %t5 br label %wcond3 wend5: %t30 = load ptr, ptr @g_g_owner_names %t31 = load ptr, ptr %t0 %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 %grow11, label %put12 grow11: %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 store i32 3932, ptr @lp_site %t46 = call ptr @lp_realloc(ptr %t45, i64 %t44) store i32 0, ptr @lp_site store ptr %t46, ptr %t34 store i32 %t40, ptr %t33 br label %put12 put12: %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 = load ptr, ptr @g_g_owner_names %t51 = getelementptr inbounds %LSlice, ptr %t50, i32 0, i32 1 %t52 = load i32, ptr %t51 store i32 %t52, ptr %retval br label %ret ret: %t53 = load i32, ptr %retval ret i32 %t53 } define ptr @fn_fence_kind_const(ptr %arg_kind) { entry: %retval = alloca ptr %t0 = alloca ptr %t1 = alloca i32 store ptr %arg_kind, ptr %t0 store i32 0, ptr %t1 br label %wcond0 wcond0: %t2 = load i32, ptr %t1 %t3 = load ptr, ptr @g_g_site_kinds %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_site_kinds %t10 = load i32, ptr %t1 %t11 = getelementptr inbounds %LSlice, ptr %t9, i32 0, i32 0 %t12 = load ptr, ptr %t11 %t13 = getelementptr inbounds %LSlice, ptr %t9, i32 0, i32 1 %t14 = load i32, ptr %t13 %t15 = icmp ult i32 %t10, %t14 br i1 %t15, label %ixok3, label %ixbad4 ixbad4: store i32 3933, ptr @lp_site %t16 = call ptr @lp_win_stdio(i32 2) store i32 0, ptr @lp_site call i32 (ptr, ptr, ...) @fprintf(ptr %t16, ptr @.fmt_bounds, ptr @.str4704, i32 %t10, i32 %t14) call void @exit(i32 1) unreachable ixok3: %t17 = getelementptr inbounds ptr, ptr %t12, i32 %t10 %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 br i1 %t21, label %then5, label %ifend7 then5: %t22 = load ptr, ptr @g_g_site_kindc %t23 = load i32, ptr %t1 %t24 = getelementptr inbounds %LSlice, ptr %t22, i32 0, i32 0 %t25 = load ptr, ptr %t24 %t26 = getelementptr inbounds %LSlice, ptr %t22, i32 0, i32 1 %t27 = load i32, ptr %t26 %t28 = icmp ult i32 %t23, %t27 br i1 %t28, label %ixok8, label %ixbad9 ixbad9: store i32 3934, ptr @lp_site %t29 = call ptr @lp_win_stdio(i32 2) store i32 0, ptr @lp_site call i32 (ptr, ptr, ...) @fprintf(ptr %t29, ptr @.fmt_bounds, ptr @.str4706, i32 %t23, i32 %t27) call void @exit(i32 1) unreachable ixok8: %t30 = getelementptr inbounds ptr, ptr %t25, i32 %t23 %t31 = load ptr, ptr %t30 store ptr %t31, ptr %retval br label %ret ifend7: %t32 = load i32, ptr %t1 %t33 = add i32 %t32, 1 store i32 %t33, ptr %t1 br label %wcond0 wend2: %t34 = load ptr, ptr @g_g_site_kinds %t35 = load ptr, ptr %t0 %t36 = getelementptr inbounds %LSlice, ptr %t34, i32 0, i32 1 %t37 = getelementptr inbounds %LSlice, ptr %t34, i32 0, i32 2 %t38 = getelementptr inbounds %LSlice, ptr %t34, i32 0, i32 0 %t39 = load i32, ptr %t36 %t40 = load i32, ptr %t37 %t41 = icmp sge i32 %t39, %t40 br i1 %t41, label %grow10, label %put11 grow10: %t42 = mul i32 %t40, 2 %t43 = icmp eq i32 %t40, 0 %t44 = select i1 %t43, i32 8, i32 %t42 %t45 = getelementptr ptr, ptr null, i32 1 %t46 = ptrtoint ptr %t45 to i64 %t47 = zext i32 %t44 to i64 %t48 = mul i64 %t47, %t46 %t49 = load ptr, ptr %t38 store i32 3935, ptr @lp_site %t50 = call ptr @lp_realloc(ptr %t49, i64 %t48) store i32 0, ptr @lp_site store ptr %t50, ptr %t38 store i32 %t44, ptr %t37 br label %put11 put11: %t51 = load ptr, ptr %t38 %t52 = getelementptr inbounds ptr, ptr %t51, i32 %t39 store ptr %t35, ptr %t52 %t53 = add i32 %t39, 1 store i32 %t53, ptr %t36 %t54 = load ptr, ptr @g_g_site_kindc %t55 = load ptr, ptr %t0 %t56 = call ptr @fn_emit_str_const(ptr %t55) %t57 = getelementptr inbounds %LSlice, ptr %t54, i32 0, i32 1 %t58 = getelementptr inbounds %LSlice, ptr %t54, i32 0, i32 2 %t59 = getelementptr inbounds %LSlice, ptr %t54, i32 0, i32 0 %t60 = load i32, ptr %t57 %t61 = load i32, ptr %t58 %t62 = icmp sge i32 %t60, %t61 br i1 %t62, label %grow12, label %put13 grow12: %t63 = mul i32 %t61, 2 %t64 = icmp eq i32 %t61, 0 %t65 = select i1 %t64, i32 8, i32 %t63 %t66 = getelementptr ptr, 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 store i32 3936, ptr @lp_site %t71 = call ptr @lp_realloc(ptr %t70, i64 %t69) store i32 0, ptr @lp_site store ptr %t71, ptr %t59 store i32 %t65, ptr %t58 br label %put13 put13: %t72 = load ptr, ptr %t59 %t73 = getelementptr inbounds ptr, ptr %t72, i32 %t60 store ptr %t56, ptr %t73 %t74 = add i32 %t60, 1 store i32 %t74, ptr %t57 %t75 = load ptr, ptr @g_g_site_kindc %t76 = load ptr, ptr @g_g_site_kindc %t77 = getelementptr inbounds %LSlice, ptr %t76, i32 0, i32 1 %t78 = load i32, ptr %t77 %t79 = sub i32 %t78, 1 %t80 = getelementptr inbounds %LSlice, ptr %t75, i32 0, i32 0 %t81 = load ptr, ptr %t80 %t82 = getelementptr inbounds %LSlice, ptr %t75, i32 0, i32 1 %t83 = load i32, ptr %t82 %t84 = icmp ult i32 %t79, %t83 br i1 %t84, label %ixok14, label %ixbad15 ixbad15: store i32 3937, ptr @lp_site %t85 = call ptr @lp_win_stdio(i32 2) store i32 0, ptr @lp_site call i32 (ptr, ptr, ...) @fprintf(ptr %t85, ptr @.fmt_bounds, ptr @.str4707, i32 %t79, i32 %t83) call void @exit(i32 1) unreachable ixok14: %t86 = getelementptr inbounds ptr, ptr %t81, i32 %t79 %t87 = load ptr, ptr %t86 store ptr %t87, ptr %retval br label %ret ret: %t88 = load ptr, ptr %retval ret ptr %t88 } define void @fn_emit_site(ptr %arg_kind) { entry: %t0 = alloca ptr %t2 = alloca ptr %t15 = alloca ptr %t20 = alloca i32 %t41 = alloca i32 store ptr %arg_kind, ptr %t0 %t1 = load ptr, ptr %t0 store ptr %t1, ptr %t2 %t3 = load ptr, ptr @g_g_site_next %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 @g_g_site_next store ptr %t7, ptr %t2 store ptr null, ptr @g_g_site_next br label %ifend2 ifend2: %t8 = load ptr, ptr @g_g_site_fnc %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 @g_g_cur_fn_name %t13 = call ptr @fn_emit_str_const(ptr %t12) store ptr %t13, ptr @g_g_site_fnc br label %ifend5 ifend5: %t14 = load ptr, ptr @g_g_err_file store ptr %t14, ptr %t15 %t16 = load ptr, ptr %t15 %t17 = icmp eq ptr %t16, null %t18 = zext i1 %t17 to i32 %t19 = icmp ne i32 %t18, 0 br i1 %t19, label %then6, label %ifend8 then6: store ptr @.str4708, ptr %t15 br label %ifend8 ifend8: %t21 = load ptr, ptr @g_g_site_filen %t22 = icmp eq ptr %t21, null %t23 = zext i1 %t22 to i32 %t24 = icmp ne i32 %t23, 0 %t25 = zext i1 %t24 to i32 store i32 %t25, ptr %t20 br i1 %t24, label %scend10, label %sc9 sc9: %t26 = load ptr, ptr @g_g_site_filen %t27 = load ptr, ptr %t15 %t28 = call i32 @lp_str_eq(ptr %t26, ptr %t27) %t29 = icmp eq 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 %t20 br label %scend10 scend10: %t33 = load i32, ptr %t20 %t34 = icmp ne i32 %t33, 0 br i1 %t34, label %then11, label %ifend13 then11: %t35 = load ptr, ptr %t15 store ptr %t35, ptr @g_g_site_filen %t36 = load ptr, ptr %t15 %t37 = call ptr @fn_emit_str_const(ptr %t36) store ptr %t37, ptr @g_g_site_filec br label %ifend13 ifend13: %t38 = load ptr, ptr @g_g_site_line %t39 = getelementptr inbounds %LSlice, ptr %t38, i32 0, i32 1 %t40 = load i32, ptr %t39 store i32 %t40, ptr %t41 %t42 = load ptr, ptr @g_g_site_fn %t43 = load ptr, ptr @g_g_site_fnc %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 %grow14, label %put15 grow14: %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 store i32 3938, ptr @lp_site %t58 = call ptr @lp_realloc(ptr %t57, i64 %t56) store i32 0, ptr @lp_site store ptr %t58, ptr %t46 store i32 %t52, ptr %t45 br label %put15 put15: %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 %t62 = load ptr, ptr @g_g_site_file %t63 = load ptr, ptr @g_g_site_filec %t64 = getelementptr inbounds %LSlice, ptr %t62, i32 0, i32 1 %t65 = getelementptr inbounds %LSlice, ptr %t62, i32 0, i32 2 %t66 = getelementptr inbounds %LSlice, ptr %t62, i32 0, i32 0 %t67 = load i32, ptr %t64 %t68 = load i32, ptr %t65 %t69 = icmp sge i32 %t67, %t68 br i1 %t69, label %grow16, label %put17 grow16: %t70 = mul i32 %t68, 2 %t71 = icmp eq i32 %t68, 0 %t72 = select i1 %t71, i32 8, i32 %t70 %t73 = getelementptr ptr, ptr null, i32 1 %t74 = ptrtoint ptr %t73 to i64 %t75 = zext i32 %t72 to i64 %t76 = mul i64 %t75, %t74 %t77 = load ptr, ptr %t66 store i32 3939, ptr @lp_site %t78 = call ptr @lp_realloc(ptr %t77, i64 %t76) store i32 0, ptr @lp_site store ptr %t78, ptr %t66 store i32 %t72, ptr %t65 br label %put17 put17: %t79 = load ptr, ptr %t66 %t80 = getelementptr inbounds ptr, ptr %t79, i32 %t67 store ptr %t63, ptr %t80 %t81 = add i32 %t67, 1 store i32 %t81, ptr %t64 %t82 = load ptr, ptr @g_g_site_line %t83 = load i32, ptr @g_g_err_line %t84 = getelementptr inbounds %LSlice, ptr %t82, i32 0, i32 1 %t85 = getelementptr inbounds %LSlice, ptr %t82, i32 0, i32 2 %t86 = getelementptr inbounds %LSlice, ptr %t82, i32 0, i32 0 %t87 = load i32, ptr %t84 %t88 = load i32, ptr %t85 %t89 = icmp sge i32 %t87, %t88 br i1 %t89, label %grow18, label %put19 grow18: %t90 = mul i32 %t88, 2 %t91 = icmp eq i32 %t88, 0 %t92 = select i1 %t91, i32 8, i32 %t90 %t93 = getelementptr i32, ptr null, i32 1 %t94 = ptrtoint ptr %t93 to i64 %t95 = zext i32 %t92 to i64 %t96 = mul i64 %t95, %t94 %t97 = load ptr, ptr %t86 store i32 3940, ptr @lp_site %t98 = call ptr @lp_realloc(ptr %t97, i64 %t96) store i32 0, ptr @lp_site store ptr %t98, ptr %t86 store i32 %t92, ptr %t85 br label %put19 put19: %t99 = load ptr, ptr %t86 %t100 = getelementptr inbounds i32, ptr %t99, i32 %t87 store i32 %t83, ptr %t100 %t101 = add i32 %t87, 1 store i32 %t101, ptr %t84 %t102 = load ptr, ptr @g_g_site_kind %t103 = load ptr, ptr %t2 %t104 = call ptr @fn_fence_kind_const(ptr %t103) %t105 = getelementptr inbounds %LSlice, ptr %t102, i32 0, i32 1 %t106 = getelementptr inbounds %LSlice, ptr %t102, i32 0, i32 2 %t107 = getelementptr inbounds %LSlice, ptr %t102, i32 0, i32 0 %t108 = load i32, ptr %t105 %t109 = load i32, ptr %t106 %t110 = icmp sge i32 %t108, %t109 br i1 %t110, label %grow20, label %put21 grow20: %t111 = mul i32 %t109, 2 %t112 = icmp eq i32 %t109, 0 %t113 = select i1 %t112, i32 8, i32 %t111 %t114 = getelementptr ptr, ptr null, i32 1 %t115 = ptrtoint ptr %t114 to i64 %t116 = zext i32 %t113 to i64 %t117 = mul i64 %t116, %t115 %t118 = load ptr, ptr %t107 store i32 3941, ptr @lp_site %t119 = call ptr @lp_realloc(ptr %t118, i64 %t117) store i32 0, ptr @lp_site store ptr %t119, ptr %t107 store i32 %t113, ptr %t106 br label %put21 put21: %t120 = load ptr, ptr %t107 %t121 = getelementptr inbounds ptr, ptr %t120, i32 %t108 store ptr %t104, ptr %t121 %t122 = add i32 %t108, 1 store i32 %t122, ptr %t105 %t123 = load ptr, ptr @g_g_site_owner %t124 = load ptr, ptr %t15 %t125 = load i32, ptr @g_g_err_line %t126 = call ptr @fn_es_owner_at(ptr %t124, i32 %t125) %t127 = call i32 @fn_fence_owner_index(ptr %t126) %t128 = getelementptr inbounds %LSlice, ptr %t123, i32 0, i32 1 %t129 = getelementptr inbounds %LSlice, ptr %t123, i32 0, i32 2 %t130 = getelementptr inbounds %LSlice, ptr %t123, i32 0, i32 0 %t131 = load i32, ptr %t128 %t132 = load i32, ptr %t129 %t133 = icmp sge i32 %t131, %t132 br i1 %t133, label %grow22, label %put23 grow22: %t134 = mul i32 %t132, 2 %t135 = icmp eq i32 %t132, 0 %t136 = select i1 %t135, i32 8, i32 %t134 %t137 = getelementptr i32, 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 store i32 3942, ptr @lp_site %t142 = call ptr @lp_realloc(ptr %t141, i64 %t140) store i32 0, ptr @lp_site store ptr %t142, ptr %t130 store i32 %t136, ptr %t129 br label %put23 put23: %t143 = load ptr, ptr %t130 %t144 = getelementptr inbounds i32, ptr %t143, i32 %t131 store i32 %t127, ptr %t144 %t145 = add i32 %t131, 1 store i32 %t145, ptr %t128 %t146 = load i32, ptr %t41 %t147 = call ptr @fn_itoa(i32 %t146) store i32 3943, ptr @lp_site %t148 = call ptr @lp_str_concat(ptr @.str4710, ptr %t147) store i32 0, ptr @lp_site store i32 3944, ptr @lp_site %t149 = call ptr @lp_str_concat(ptr %t148, ptr @.str4711) store i32 0, ptr @lp_site call void @lp_free(ptr %t148) call void @fn_emit(ptr %t149) br label %ret ret: ret void } define i32 @fn_fence_bind(ptr %arg_rest) { entry: %retval = alloca i32 %t0 = alloca ptr %t6 = alloca i32 %t19 = alloca i32 %t44 = alloca i32 %t45 = alloca i32 %t46 = alloca i32 store ptr %arg_rest, ptr %t0 store i32 0, ptr @g_g_site_reset %t1 = load ptr, ptr %t0 %t2 = call i32 @fn_str_starts(ptr %t1, ptr @.str4712) %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: store i32 0, ptr %retval br label %ret ifend2: store i32 1, ptr @g_g_site_reset store i32 1, ptr %t6 %t7 = load ptr, ptr %t0 %t8 = call i32 @fn_str_starts(ptr %t7, ptr @.str4713) %t9 = icmp ne i32 %t8, 0 br i1 %t9, label %then3, label %else4 then3: call void @fn_emit_site(ptr @.str4714) br label %ifend5 else4: %t10 = load ptr, ptr %t0 %t11 = call i32 @fn_str_starts(ptr %t10, ptr @.str4715) %t12 = icmp ne i32 %t11, 0 br i1 %t12, label %then6, label %else7 then6: call void @fn_emit_site(ptr @.str4716) br label %ifend8 else7: %t13 = load ptr, ptr %t0 %t14 = call i32 @fn_str_starts(ptr %t13, ptr @.str4717) %t15 = icmp ne i32 %t14, 0 br i1 %t15, label %then9, label %else10 then9: call void @fn_emit_site(ptr @.str4718) br label %ifend11 else10: %t16 = load ptr, ptr %t0 %t17 = call i32 @fn_str_starts(ptr %t16, ptr @.str4719) %t18 = icmp ne i32 %t17, 0 br i1 %t18, label %then12, label %else13 then12: call void @fn_emit_site(ptr @.str4720) br label %ifend14 else13: %t20 = load ptr, ptr %t0 %t21 = call i32 @fn_str_starts(ptr %t20, ptr @.str4721) %t22 = icmp ne i32 %t21, 0 %t23 = zext i1 %t22 to i32 store i32 %t23, ptr %t19 br i1 %t22, label %scend16, label %sc15 sc15: %t24 = load ptr, ptr %t0 %t25 = call i32 @fn_str_starts(ptr %t24, ptr @.str4722) %t26 = icmp ne i32 %t25, 0 %t27 = zext i1 %t26 to i32 store i32 %t27, ptr %t19 br label %scend16 scend16: %t28 = load i32, ptr %t19 %t29 = icmp ne i32 %t28, 0 br i1 %t29, label %then17, label %else18 then17: call void @fn_emit_site(ptr @.str4723) br label %ifend19 else18: %t30 = load ptr, ptr %t0 %t31 = call i32 @fn_str_starts(ptr %t30, ptr @.str4724) %t32 = icmp ne i32 %t31, 0 br i1 %t32, label %then20, label %else21 then20: call void @fn_emit_site(ptr @.str4725) br label %ifend22 else21: %t33 = load ptr, ptr %t0 %t34 = call i32 @fn_str_starts(ptr %t33, ptr @.str4726) %t35 = icmp ne i32 %t34, 0 br i1 %t35, label %then23, label %else24 then23: call void @fn_emit_site(ptr @.str4727) br label %ifend25 else24: %t36 = load ptr, ptr %t0 %t37 = call i32 @fn_str_starts(ptr %t36, ptr @.str4728) %t38 = icmp ne i32 %t37, 0 br i1 %t38, label %then26, label %else27 then26: call void @fn_emit_site(ptr @.str4729) store i32 0, ptr %t6 br label %ifend28 else27: %t39 = load ptr, ptr %t0 %t40 = call i32 @fn_str_starts(ptr %t39, ptr @.str4730) %t41 = icmp ne i32 %t40, 0 br i1 %t41, label %then29, label %else30 then29: call void @fn_emit_site(ptr @.str4731) store i32 0, ptr %t6 br label %ifend31 else30: %t42 = load ptr, ptr %t0 %t43 = call ptr @fn_fence_callee(ptr %t42) call void @fn_emit_site(ptr %t43) store i32 0, ptr %t6 br label %ifend31 ifend31: br label %ifend28 ifend28: br label %ifend25 ifend25: br label %ifend22 ifend22: br label %ifend19 ifend19: br label %ifend14 ifend14: br label %ifend11 ifend11: br label %ifend8 ifend8: br label %ifend5 ifend5: %t47 = load i32, ptr %t6 %t48 = icmp ne i32 %t47, 0 %t49 = zext i1 %t48 to i32 store i32 %t49, ptr %t46 br i1 %t48, label %sc32, label %scend33 sc32: %t50 = load i32, ptr @g_g_arena %t51 = icmp ne i32 %t50, 0 %t52 = zext i1 %t51 to i32 store i32 %t52, ptr %t46 br label %scend33 scend33: %t53 = load i32, ptr %t46 %t54 = icmp ne i32 %t53, 0 %t55 = zext i1 %t54 to i32 store i32 %t55, ptr %t45 br i1 %t54, label %sc34, label %scend35 sc34: %t56 = load i32, ptr @g_g_es_walked %t57 = icmp ne i32 %t56, 0 %t58 = zext i1 %t57 to i32 store i32 %t58, ptr %t45 br label %scend35 scend35: %t59 = load i32, ptr %t45 %t60 = icmp ne i32 %t59, 0 %t61 = zext i1 %t60 to i32 store i32 %t61, ptr %t44 br i1 %t60, label %sc36, label %scend37 sc36: %t62 = load ptr, ptr @g_g_es_node %t63 = icmp ne ptr %t62, null %t64 = zext i1 %t63 to i32 %t65 = icmp ne i32 %t64, 0 %t66 = zext i1 %t65 to i32 store i32 %t66, ptr %t44 br label %scend37 scend37: %t67 = load i32, ptr %t44 %t68 = icmp ne i32 %t67, 0 br i1 %t68, label %then38, label %ifend40 then38: call void @fn_emit(ptr @.str4732) store i32 1, ptr %retval br label %ret ifend40: store i32 0, ptr %retval br label %ret ret: %t69 = load i32, ptr %retval ret i32 %t69 } define ptr @fn_fence_callee(ptr %arg_rest) { entry: %retval = alloca ptr %t0 = alloca ptr %t3 = alloca i32 %t5 = alloca i32 %t6 = alloca i32 store ptr %arg_rest, ptr %t0 %t1 = call i64 @strlen(ptr @.str4733) %t2 = trunc i64 %t1 to i32 store i32 %t2, ptr %t3 %t4 = load i32, ptr %t3 store i32 %t4, ptr %t5 br label %wcond0 wcond0: %t7 = load i32, ptr %t5 %t8 = load ptr, ptr %t0 %t9 = call i64 @strlen(ptr %t8) %t10 = trunc i64 %t9 to i32 %t11 = icmp slt i32 %t7, %t10 %t12 = zext i1 %t11 to i32 %t13 = icmp ne i32 %t12, 0 %t14 = zext i1 %t13 to i32 store i32 %t14, ptr %t6 br i1 %t13, label %sc3, label %scend4 sc3: %t15 = load ptr, ptr %t0 %t16 = load i32, ptr %t5 %t17 = getelementptr inbounds i8, ptr %t15, i32 %t16 %t18 = load i8, ptr %t17 %t19 = zext i8 %t18 to i32 %t20 = icmp eq i32 %t19, 40 %t21 = zext i1 %t20 to i32 %t22 = icmp eq i32 %t21, 0 %t23 = zext i1 %t22 to i32 %t24 = icmp ne i32 %t23, 0 %t25 = zext i1 %t24 to i32 store i32 %t25, ptr %t6 br label %scend4 scend4: %t26 = load i32, ptr %t6 %t27 = icmp ne i32 %t26, 0 br i1 %t27, label %wbody1, label %wend2 wbody1: %t28 = load i32, ptr %t5 %t29 = add i32 %t28, 1 store i32 %t29, ptr %t5 br label %wcond0 wend2: %t30 = load ptr, ptr %t0 %t31 = load i32, ptr %t3 %t32 = load i32, ptr %t5 store i32 3945, ptr @lp_site %t33 = call ptr @lp_str_slice(ptr %t30, i32 %t31, i32 %t32) store i32 0, ptr @lp_site store ptr %t33, ptr %retval br label %ret ret: %t34 = load ptr, ptr %retval ret ptr %t34 } define i32 @fn_fence_int(ptr %arg_s) { entry: %retval = alloca i32 %t0 = alloca ptr %t1 = alloca i32 %t2 = alloca i32 %t3 = alloca i32 %t4 = alloca i32 %t22 = alloca i32 store ptr %arg_s, ptr %t0 store i32 0, ptr %t1 store i32 0, ptr %t2 store i32 0, ptr %t3 %t5 = load ptr, ptr %t0 %t6 = call i64 @strlen(ptr %t5) %t7 = trunc i64 %t6 to i32 %t8 = icmp sgt i32 %t7, 0 %t9 = zext i1 %t8 to i32 %t10 = icmp ne i32 %t9, 0 %t11 = zext i1 %t10 to i32 store i32 %t11, ptr %t4 br i1 %t10, label %sc0, label %scend1 sc0: %t12 = load ptr, ptr %t0 %t13 = getelementptr inbounds i8, ptr %t12, i32 0 %t14 = load i8, ptr %t13 %t15 = zext i8 %t14 to i32 %t16 = icmp eq i32 %t15, 45 %t17 = zext i1 %t16 to i32 %t18 = icmp ne i32 %t17, 0 %t19 = zext i1 %t18 to i32 store i32 %t19, ptr %t4 br label %scend1 scend1: %t20 = load i32, ptr %t4 %t21 = icmp ne i32 %t20, 0 br i1 %t21, label %then2, label %ifend4 then2: store i32 1, ptr %t2 store i32 1, ptr %t3 br label %ifend4 ifend4: br label %wcond5 wcond5: %t23 = load i32, ptr %t3 %t24 = load ptr, ptr %t0 %t25 = call i64 @strlen(ptr %t24) %t26 = trunc i64 %t25 to i32 %t27 = icmp slt i32 %t23, %t26 %t28 = zext i1 %t27 to i32 %t29 = icmp ne i32 %t28, 0 %t30 = zext i1 %t29 to i32 store i32 %t30, ptr %t22 br i1 %t29, label %sc8, label %scend9 sc8: %t31 = load ptr, ptr %t0 %t32 = load i32, ptr %t3 %t33 = getelementptr inbounds i8, ptr %t31, i32 %t32 %t34 = load i8, ptr %t33 %t35 = zext i8 %t34 to i32 %t36 = call i32 @fn_char_is_digit(i32 %t35) %t37 = icmp ne i32 %t36, 0 %t38 = zext i1 %t37 to i32 store i32 %t38, ptr %t22 br label %scend9 scend9: %t39 = load i32, ptr %t22 %t40 = icmp ne i32 %t39, 0 br i1 %t40, label %wbody6, label %wend7 wbody6: %t41 = load i32, ptr %t1 %t42 = mul i32 %t41, 10 %t43 = load ptr, ptr %t0 %t44 = load i32, ptr %t3 %t45 = getelementptr inbounds i8, ptr %t43, i32 %t44 %t46 = load i8, ptr %t45 %t47 = zext i8 %t46 to i32 %t48 = sub i32 %t47, 48 %t49 = add i32 %t42, %t48 store i32 %t49, ptr %t1 %t50 = load i32, ptr %t3 %t51 = add i32 %t50, 1 store i32 %t51, ptr %t3 br label %wcond5 wend7: %t52 = load i32, ptr %t2 %t53 = icmp ne i32 %t52, 0 br i1 %t53, label %then10, label %ifend12 then10: %t54 = load i32, ptr %t1 %t55 = sub i32 0, %t54 store i32 %t55, ptr %retval br label %ret ifend12: %t56 = load i32, ptr %t1 store i32 %t56, ptr %retval br label %ret ret: %t57 = load i32, ptr %retval ret i32 %t57 } define i32 @fn_fence_mode_of(ptr %arg_s) { entry: %retval = alloca i32 %t0 = alloca ptr store ptr %arg_s, ptr %t0 %t1 = load ptr, ptr %t0 %t2 = call i32 @lp_str_eq(ptr %t1, ptr @.str4735) %t3 = icmp ne i32 %t2, 0 br i1 %t3, label %then0, label %ifend2 then0: store i32 1, ptr %retval br label %ret ifend2: %t4 = load ptr, ptr %t0 %t5 = call i32 @lp_str_eq(ptr %t4, ptr @.str4736) %t6 = icmp ne i32 %t5, 0 br i1 %t6, label %then3, label %ifend5 then3: store i32 2, ptr %retval br label %ret ifend5: %t7 = load ptr, ptr %t0 %t8 = call i32 @lp_str_eq(ptr %t7, ptr @.str4737) %t9 = icmp ne i32 %t8, 0 br i1 %t9, label %then6, label %ifend8 then6: store i32 3, ptr %retval br label %ret ifend8: %t10 = load ptr, ptr %t0 %t11 = call i32 @lp_str_eq(ptr %t10, ptr @.str4738) %t12 = icmp ne i32 %t11, 0 br i1 %t12, label %then9, label %ifend11 then9: store i32 4, ptr %retval br label %ret ifend11: %t13 = load ptr, ptr %t0 store i32 3946, ptr @lp_site %t14 = call ptr @lp_str_concat(ptr @.str4739, ptr %t13) store i32 0, ptr @lp_site call void @fn_perr(ptr %t14) store i32 0, ptr %retval br label %ret ret: %t15 = load i32, ptr %retval ret i32 %t15 } define i32 @fn_fence_flag(ptr %arg_a) { entry: %retval = alloca i32 %t0 = alloca ptr store ptr %arg_a, ptr %t0 %t1 = load ptr, ptr %t0 %t2 = call i32 @fn_str_starts(ptr %t1, ptr @.str4741) %t3 = icmp ne i32 %t2, 0 br i1 %t3, label %then0, label %ifend2 then0: %t4 = load ptr, ptr %t0 %t5 = load ptr, ptr %t0 %t6 = call i64 @strlen(ptr %t5) %t7 = trunc i64 %t6 to i32 store i32 3947, ptr @lp_site %t8 = call ptr @lp_str_slice(ptr %t4, i32 8, i32 %t7) store i32 0, ptr @lp_site %t9 = call i32 @fn_fence_mode_of(ptr %t8) store i32 %t9, ptr @g_g_fence_mode store i32 1, ptr @g_g_fence_flagged store i32 1, ptr %retval br label %ret ifend2: %t10 = load ptr, ptr %t0 %t11 = call i32 @fn_str_starts(ptr %t10, ptr @.str4743) %t12 = icmp ne i32 %t11, 0 br i1 %t12, label %then3, label %ifend5 then3: %t13 = load ptr, ptr %t0 %t14 = load ptr, ptr %t0 %t15 = call i64 @strlen(ptr %t14) %t16 = trunc i64 %t15 to i32 store i32 3948, ptr @lp_site %t17 = call ptr @lp_str_slice(ptr %t13, i32 13, i32 %t16) store i32 0, ptr @lp_site %t18 = call i32 @fn_fence_int(ptr %t17) store i32 %t18, ptr @g_g_fence_warm store i32 1, ptr @g_g_fence_flagged store i32 1, ptr %retval br label %ret ifend5: %t19 = load ptr, ptr %t0 %t20 = call i32 @fn_str_starts(ptr %t19, ptr @.str4744) %t21 = icmp ne i32 %t20, 0 br i1 %t21, label %then6, label %ifend8 then6: %t22 = load ptr, ptr %t0 %t23 = load ptr, ptr %t0 %t24 = call i64 @strlen(ptr %t23) %t25 = trunc i64 %t24 to i32 store i32 3949, ptr @lp_site %t26 = call ptr @lp_str_slice(ptr %t22, i32 15, i32 %t25) store i32 0, ptr @lp_site store ptr %t26, ptr @g_g_fence_census store i32 1, ptr @g_g_fence_flagged store i32 1, ptr %retval br label %ret ifend8: %t27 = load ptr, ptr %t0 %t28 = call i32 @lp_str_eq(ptr %t27, ptr @.str4745) %t29 = icmp ne i32 %t28, 0 br i1 %t29, label %then9, label %ifend11 then9: store i32 1, ptr @g_g_arena store i32 1, ptr %retval br label %ret ifend11: %t30 = load ptr, ptr %t0 %t31 = call i32 @lp_str_eq(ptr %t30, ptr @.str4746) %t32 = icmp ne i32 %t31, 0 br i1 %t32, label %then12, label %ifend14 then12: store i32 1, ptr @g_g_arena store i32 1, ptr @g_g_arena_strict store i32 1, ptr %retval br label %ret ifend14: store i32 0, ptr %retval br label %ret ret: %t33 = load i32, ptr %retval ret i32 %t33 } define void @fn_fence_manifest(ptr %arg_entry) { entry: %t0 = alloca ptr %t5 = alloca ptr %t6 = alloca i32 %t12 = alloca ptr %t24 = alloca ptr store ptr %arg_entry, ptr %t0 %t1 = load i32, ptr @g_g_fence_flagged %t2 = icmp ne i32 %t1, 0 br i1 %t2, label %then0, label %ifend2 then0: br label %ret ifend2: %t3 = load ptr, ptr %t0 %t4 = call ptr @fn_dir_of(ptr %t3) store ptr %t4, ptr %t5 store i32 0, ptr %t6 br label %wcond3 wcond3: %t7 = load i32, ptr %t6 %t8 = icmp slt i32 %t7, 5 %t9 = zext i1 %t8 to i32 %t10 = icmp ne i32 %t9, 0 br i1 %t10, label %wbody4, label %wend5 wbody4: %t11 = load ptr, ptr %t5 store ptr %t11, ptr %t12 %t13 = load ptr, ptr %t12 %t14 = call i64 @strlen(ptr %t13) %t15 = trunc i64 %t14 to i32 %t16 = icmp sgt i32 %t15, 0 %t17 = zext i1 %t16 to i32 %t18 = icmp ne i32 %t17, 0 br i1 %t18, label %then6, label %ifend8 then6: %t19 = load ptr, ptr %t12 store i32 3950, ptr @lp_site %t20 = call ptr @lp_str_concat(ptr %t19, ptr @.str4747) store i32 0, ptr @lp_site store ptr %t20, ptr %t12 br label %ifend8 ifend8: %t21 = load ptr, ptr %t12 store i32 3951, ptr @lp_site %t22 = call ptr @lp_str_concat(ptr %t21, ptr @.str4749) store i32 0, ptr @lp_site %t23 = call ptr @fn_read_file(ptr %t22) store ptr %t23, ptr %t24 %t25 = load ptr, ptr %t24 %t26 = icmp ne ptr %t25, null %t27 = zext i1 %t26 to i32 %t28 = icmp ne i32 %t27, 0 br i1 %t28, label %then9, label %ifend11 then9: %t29 = load ptr, ptr %t24 call void @fn_fence_manifest_read(ptr %t29) br label %ret ifend11: %t30 = load ptr, ptr %t5 %t31 = call i64 @strlen(ptr %t30) %t32 = trunc i64 %t31 to i32 %t33 = icmp eq i32 %t32, 0 %t34 = zext i1 %t33 to i32 %t35 = icmp ne i32 %t34, 0 br i1 %t35, label %then12, label %else13 then12: store ptr @.str4750, ptr %t5 br label %ifend14 else13: %t36 = load ptr, ptr %t5 store i32 3952, ptr @lp_site %t37 = call ptr @lp_str_concat(ptr %t36, ptr @.str4751) store i32 0, ptr @lp_site store ptr %t37, ptr %t5 br label %ifend14 ifend14: %t38 = load i32, ptr %t6 %t39 = add i32 %t38, 1 store i32 %t39, ptr %t6 br label %wcond3 wend5: br label %ret ret: ret void } define void @fn_fence_manifest_read(ptr %arg_txt) { entry: %t0 = alloca ptr %t1 = alloca i32 %t5 = alloca i32 %t12 = alloca i32 %t13 = alloca i32 %t34 = alloca i32 %t35 = alloca i32 %t61 = alloca ptr %t62 = alloca i32 %t94 = alloca i32 %t95 = alloca i32 %t142 = alloca i32 %t143 = alloca i32 %t189 = alloca i32 %t190 = alloca i32 %t227 = alloca i32 %t228 = alloca i32 store ptr %arg_txt, ptr %t0 store i32 0, ptr %t1 %t2 = load ptr, ptr %t0 %t3 = call i64 @strlen(ptr %t2) %t4 = trunc i64 %t3 to i32 store i32 %t4, ptr %t5 br label %wcond0 wcond0: %t6 = load i32, ptr %t1 %t7 = load i32, ptr %t5 %t8 = icmp slt i32 %t6, %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 store i32 %t11, ptr %t12 br label %wcond3 wcond3: %t14 = load i32, ptr %t12 %t15 = load i32, ptr %t5 %t16 = icmp slt i32 %t14, %t15 %t17 = zext i1 %t16 to i32 %t18 = icmp ne i32 %t17, 0 %t19 = zext i1 %t18 to i32 store i32 %t19, ptr %t13 br i1 %t18, label %sc6, label %scend7 sc6: %t20 = load ptr, ptr %t0 %t21 = load i32, ptr %t12 %t22 = getelementptr inbounds i8, ptr %t20, i32 %t21 %t23 = load i8, ptr %t22 %t24 = zext i8 %t23 to i32 %t25 = icmp ne i32 %t24, 10 %t26 = zext i1 %t25 to i32 %t27 = icmp ne i32 %t26, 0 %t28 = zext i1 %t27 to i32 store i32 %t28, ptr %t13 br label %scend7 scend7: %t29 = load i32, ptr %t13 %t30 = icmp ne i32 %t29, 0 br i1 %t30, label %wbody4, label %wend5 wbody4: %t31 = load i32, ptr %t12 %t32 = add i32 %t31, 1 store i32 %t32, ptr %t12 br label %wcond3 wend5: %t33 = load i32, ptr %t12 store i32 %t33, ptr %t34 %t36 = load i32, ptr %t34 %t37 = load i32, ptr %t1 %t38 = icmp sgt i32 %t36, %t37 %t39 = zext i1 %t38 to i32 %t40 = icmp ne i32 %t39, 0 %t41 = zext i1 %t40 to i32 store i32 %t41, ptr %t35 br i1 %t40, label %sc8, label %scend9 sc8: %t42 = load ptr, ptr %t0 %t43 = load i32, ptr %t34 %t44 = sub i32 %t43, 1 %t45 = getelementptr inbounds i8, ptr %t42, i32 %t44 %t46 = load i8, ptr %t45 %t47 = zext i8 %t46 to i32 %t48 = icmp eq i32 %t47, 13 %t49 = zext i1 %t48 to i32 %t50 = icmp ne i32 %t49, 0 %t51 = zext i1 %t50 to i32 store i32 %t51, ptr %t35 br label %scend9 scend9: %t52 = load i32, ptr %t35 %t53 = icmp ne i32 %t52, 0 br i1 %t53, label %then10, label %ifend12 then10: %t54 = load i32, ptr %t34 %t55 = sub i32 %t54, 1 store i32 %t55, ptr %t34 br label %ifend12 ifend12: %t56 = load ptr, ptr %t0 %t57 = load i32, ptr %t1 %t58 = load i32, ptr %t34 store i32 3953, ptr @lp_site %t59 = call ptr @lp_str_slice(ptr %t56, i32 %t57, i32 %t58) store i32 0, ptr @lp_site %t60 = call ptr @fn_native_words(ptr %t59) store ptr %t60, ptr %t61 %t63 = load ptr, ptr %t61 %t64 = getelementptr inbounds %LSlice, ptr %t63, i32 0, i32 1 %t65 = load i32, ptr %t64 %t66 = icmp eq i32 %t65, 2 %t67 = zext i1 %t66 to i32 %t68 = icmp ne i32 %t67, 0 %t69 = zext i1 %t68 to i32 store i32 %t69, ptr %t62 br i1 %t68, label %sc13, label %scend14 sc13: %t70 = load ptr, ptr %t61 %t71 = getelementptr inbounds %LSlice, ptr %t70, i32 0, i32 0 %t72 = load ptr, ptr %t71 %t73 = getelementptr inbounds %LSlice, ptr %t70, i32 0, i32 1 %t74 = load i32, ptr %t73 %t75 = icmp ult i32 0, %t74 br i1 %t75, label %ixok15, label %ixbad16 ixbad16: store i32 3954, ptr @lp_site %t76 = call ptr @lp_win_stdio(i32 2) store i32 0, ptr @lp_site call i32 (ptr, ptr, ...) @fprintf(ptr %t76, ptr @.fmt_bounds, ptr @.str4753, i32 0, i32 %t74) call void @exit(i32 1) unreachable ixok15: %t77 = getelementptr inbounds ptr, ptr %t72, i32 0 %t78 = load ptr, ptr %t77 %t79 = call i32 @lp_str_eq(ptr %t78, ptr @.str4754) %t80 = icmp ne i32 %t79, 0 %t81 = zext i1 %t80 to i32 store i32 %t81, ptr %t62 br label %scend14 scend14: %t82 = load i32, ptr %t62 %t83 = icmp ne i32 %t82, 0 br i1 %t83, label %then17, label %ifend19 then17: %t84 = load ptr, ptr %t61 %t85 = getelementptr inbounds %LSlice, ptr %t84, i32 0, i32 0 %t86 = load ptr, ptr %t85 %t87 = getelementptr inbounds %LSlice, ptr %t84, i32 0, i32 1 %t88 = load i32, ptr %t87 %t89 = icmp ult i32 1, %t88 br i1 %t89, label %ixok20, label %ixbad21 ixbad21: store i32 3955, ptr @lp_site %t90 = call ptr @lp_win_stdio(i32 2) store i32 0, ptr @lp_site call i32 (ptr, ptr, ...) @fprintf(ptr %t90, ptr @.fmt_bounds, ptr @.str4755, i32 1, i32 %t88) call void @exit(i32 1) unreachable ixok20: %t91 = getelementptr inbounds ptr, ptr %t86, i32 1 %t92 = load ptr, ptr %t91 %t93 = call i32 @fn_fence_mode_of(ptr %t92) store i32 %t93, ptr @g_g_fence_mode br label %ifend19 ifend19: %t96 = load ptr, ptr %t61 %t97 = getelementptr inbounds %LSlice, ptr %t96, i32 0, i32 1 %t98 = load i32, ptr %t97 %t99 = icmp eq i32 %t98, 3 %t100 = zext i1 %t99 to i32 %t101 = icmp ne i32 %t100, 0 %t102 = zext i1 %t101 to i32 store i32 %t102, ptr %t95 br i1 %t101, label %sc22, label %scend23 sc22: %t103 = load ptr, ptr %t61 %t104 = getelementptr inbounds %LSlice, ptr %t103, i32 0, i32 0 %t105 = load ptr, ptr %t104 %t106 = getelementptr inbounds %LSlice, ptr %t103, i32 0, i32 1 %t107 = load i32, ptr %t106 %t108 = icmp ult i32 0, %t107 br i1 %t108, label %ixok24, label %ixbad25 ixbad25: store i32 3956, ptr @lp_site %t109 = call ptr @lp_win_stdio(i32 2) store i32 0, ptr @lp_site call i32 (ptr, ptr, ...) @fprintf(ptr %t109, ptr @.fmt_bounds, ptr @.str4756, i32 0, i32 %t107) call void @exit(i32 1) unreachable ixok24: %t110 = getelementptr inbounds ptr, ptr %t105, i32 0 %t111 = load ptr, ptr %t110 %t112 = call i32 @lp_str_eq(ptr %t111, ptr @.str4757) %t113 = icmp ne i32 %t112, 0 %t114 = zext i1 %t113 to i32 store i32 %t114, ptr %t95 br label %scend23 scend23: %t115 = load i32, ptr %t95 %t116 = icmp ne i32 %t115, 0 %t117 = zext i1 %t116 to i32 store i32 %t117, ptr %t94 br i1 %t116, label %sc26, label %scend27 sc26: %t118 = load ptr, ptr %t61 %t119 = getelementptr inbounds %LSlice, ptr %t118, i32 0, i32 0 %t120 = load ptr, ptr %t119 %t121 = getelementptr inbounds %LSlice, ptr %t118, i32 0, i32 1 %t122 = load i32, ptr %t121 %t123 = icmp ult i32 1, %t122 br i1 %t123, label %ixok28, label %ixbad29 ixbad29: store i32 3957, ptr @lp_site %t124 = call ptr @lp_win_stdio(i32 2) store i32 0, ptr @lp_site call i32 (ptr, ptr, ...) @fprintf(ptr %t124, ptr @.fmt_bounds, ptr @.str4758, i32 1, i32 %t122) call void @exit(i32 1) unreachable ixok28: %t125 = getelementptr inbounds ptr, ptr %t120, i32 1 %t126 = load ptr, ptr %t125 %t127 = call i32 @lp_str_eq(ptr %t126, ptr @.str4759) %t128 = icmp ne i32 %t127, 0 %t129 = zext i1 %t128 to i32 store i32 %t129, ptr %t94 br label %scend27 scend27: %t130 = load i32, ptr %t94 %t131 = icmp ne i32 %t130, 0 br i1 %t131, label %then30, label %ifend32 then30: %t132 = load ptr, ptr %t61 %t133 = getelementptr inbounds %LSlice, ptr %t132, i32 0, i32 0 %t134 = load ptr, ptr %t133 %t135 = getelementptr inbounds %LSlice, ptr %t132, i32 0, i32 1 %t136 = load i32, ptr %t135 %t137 = icmp ult i32 2, %t136 br i1 %t137, label %ixok33, label %ixbad34 ixbad34: store i32 3958, ptr @lp_site %t138 = call ptr @lp_win_stdio(i32 2) store i32 0, ptr @lp_site call i32 (ptr, ptr, ...) @fprintf(ptr %t138, ptr @.fmt_bounds, ptr @.str4760, i32 2, i32 %t136) call void @exit(i32 1) unreachable ixok33: %t139 = getelementptr inbounds ptr, ptr %t134, i32 2 %t140 = load ptr, ptr %t139 %t141 = call i32 @fn_fence_int(ptr %t140) store i32 %t141, ptr @g_g_fence_warm br label %ifend32 ifend32: %t144 = load ptr, ptr %t61 %t145 = getelementptr inbounds %LSlice, ptr %t144, i32 0, i32 1 %t146 = load i32, ptr %t145 %t147 = icmp eq i32 %t146, 3 %t148 = zext i1 %t147 to i32 %t149 = icmp ne i32 %t148, 0 %t150 = zext i1 %t149 to i32 store i32 %t150, ptr %t143 br i1 %t149, label %sc35, label %scend36 sc35: %t151 = load ptr, ptr %t61 %t152 = getelementptr inbounds %LSlice, ptr %t151, i32 0, i32 0 %t153 = load ptr, ptr %t152 %t154 = getelementptr inbounds %LSlice, ptr %t151, i32 0, i32 1 %t155 = load i32, ptr %t154 %t156 = icmp ult i32 0, %t155 br i1 %t156, label %ixok37, label %ixbad38 ixbad38: store i32 3959, ptr @lp_site %t157 = call ptr @lp_win_stdio(i32 2) store i32 0, ptr @lp_site call i32 (ptr, ptr, ...) @fprintf(ptr %t157, ptr @.fmt_bounds, ptr @.str4761, i32 0, i32 %t155) call void @exit(i32 1) unreachable ixok37: %t158 = getelementptr inbounds ptr, ptr %t153, i32 0 %t159 = load ptr, ptr %t158 %t160 = call i32 @lp_str_eq(ptr %t159, ptr @.str4762) %t161 = icmp ne i32 %t160, 0 %t162 = zext i1 %t161 to i32 store i32 %t162, ptr %t143 br label %scend36 scend36: %t163 = load i32, ptr %t143 %t164 = icmp ne i32 %t163, 0 %t165 = zext i1 %t164 to i32 store i32 %t165, ptr %t142 br i1 %t164, label %sc39, label %scend40 sc39: %t166 = load ptr, ptr %t61 %t167 = getelementptr inbounds %LSlice, ptr %t166, i32 0, i32 0 %t168 = load ptr, ptr %t167 %t169 = getelementptr inbounds %LSlice, ptr %t166, i32 0, i32 1 %t170 = load i32, ptr %t169 %t171 = icmp ult i32 1, %t170 br i1 %t171, label %ixok41, label %ixbad42 ixbad42: store i32 3960, ptr @lp_site %t172 = call ptr @lp_win_stdio(i32 2) store i32 0, ptr @lp_site call i32 (ptr, ptr, ...) @fprintf(ptr %t172, ptr @.fmt_bounds, ptr @.str4763, i32 1, i32 %t170) call void @exit(i32 1) unreachable ixok41: %t173 = getelementptr inbounds ptr, ptr %t168, i32 1 %t174 = load ptr, ptr %t173 %t175 = call i32 @lp_str_eq(ptr %t174, ptr @.str4764) %t176 = icmp ne i32 %t175, 0 %t177 = zext i1 %t176 to i32 store i32 %t177, ptr %t142 br label %scend40 scend40: %t178 = load i32, ptr %t142 %t179 = icmp ne i32 %t178, 0 br i1 %t179, label %then43, label %ifend45 then43: %t180 = load ptr, ptr %t61 %t181 = getelementptr inbounds %LSlice, ptr %t180, i32 0, i32 0 %t182 = load ptr, ptr %t181 %t183 = getelementptr inbounds %LSlice, ptr %t180, i32 0, i32 1 %t184 = load i32, ptr %t183 %t185 = icmp ult i32 2, %t184 br i1 %t185, label %ixok46, label %ixbad47 ixbad47: store i32 3961, ptr @lp_site %t186 = call ptr @lp_win_stdio(i32 2) store i32 0, ptr @lp_site call i32 (ptr, ptr, ...) @fprintf(ptr %t186, ptr @.fmt_bounds, ptr @.str4765, i32 2, i32 %t184) call void @exit(i32 1) unreachable ixok46: %t187 = getelementptr inbounds ptr, ptr %t182, i32 2 %t188 = load ptr, ptr %t187 store ptr %t188, ptr @g_g_fence_census br label %ifend45 ifend45: %t191 = load ptr, ptr %t61 %t192 = getelementptr inbounds %LSlice, ptr %t191, i32 0, i32 1 %t193 = load i32, ptr %t192 %t194 = icmp eq i32 %t193, 2 %t195 = zext i1 %t194 to i32 %t196 = icmp ne i32 %t195, 0 %t197 = zext i1 %t196 to i32 store i32 %t197, ptr %t190 br i1 %t196, label %sc48, label %scend49 sc48: %t198 = load ptr, ptr %t61 %t199 = getelementptr inbounds %LSlice, ptr %t198, i32 0, i32 0 %t200 = load ptr, ptr %t199 %t201 = getelementptr inbounds %LSlice, ptr %t198, i32 0, i32 1 %t202 = load i32, ptr %t201 %t203 = icmp ult i32 0, %t202 br i1 %t203, label %ixok50, label %ixbad51 ixbad51: store i32 3962, ptr @lp_site %t204 = call ptr @lp_win_stdio(i32 2) store i32 0, ptr @lp_site call i32 (ptr, ptr, ...) @fprintf(ptr %t204, ptr @.fmt_bounds, ptr @.str4766, i32 0, i32 %t202) call void @exit(i32 1) unreachable ixok50: %t205 = getelementptr inbounds ptr, ptr %t200, i32 0 %t206 = load ptr, ptr %t205 %t207 = call i32 @lp_str_eq(ptr %t206, ptr @.str4767) %t208 = icmp ne i32 %t207, 0 %t209 = zext i1 %t208 to i32 store i32 %t209, ptr %t190 br label %scend49 scend49: %t210 = load i32, ptr %t190 %t211 = icmp ne i32 %t210, 0 %t212 = zext i1 %t211 to i32 store i32 %t212, ptr %t189 br i1 %t211, label %sc52, label %scend53 sc52: %t213 = load ptr, ptr %t61 %t214 = getelementptr inbounds %LSlice, ptr %t213, i32 0, i32 0 %t215 = load ptr, ptr %t214 %t216 = getelementptr inbounds %LSlice, ptr %t213, i32 0, i32 1 %t217 = load i32, ptr %t216 %t218 = icmp ult i32 1, %t217 br i1 %t218, label %ixok54, label %ixbad55 ixbad55: store i32 3963, ptr @lp_site %t219 = call ptr @lp_win_stdio(i32 2) store i32 0, ptr @lp_site call i32 (ptr, ptr, ...) @fprintf(ptr %t219, ptr @.fmt_bounds, ptr @.str4768, i32 1, i32 %t217) call void @exit(i32 1) unreachable ixok54: %t220 = getelementptr inbounds ptr, ptr %t215, i32 1 %t221 = load ptr, ptr %t220 %t222 = call i32 @lp_str_eq(ptr %t221, ptr @.str4769) %t223 = icmp ne i32 %t222, 0 %t224 = zext i1 %t223 to i32 store i32 %t224, ptr %t189 br label %scend53 scend53: %t225 = load i32, ptr %t189 %t226 = icmp ne i32 %t225, 0 br i1 %t226, label %then56, label %ifend58 then56: store i32 1, ptr @g_g_arena br label %ifend58 ifend58: %t229 = load ptr, ptr %t61 %t230 = getelementptr inbounds %LSlice, ptr %t229, i32 0, i32 1 %t231 = load i32, ptr %t230 %t232 = icmp eq i32 %t231, 2 %t233 = zext i1 %t232 to i32 %t234 = icmp ne i32 %t233, 0 %t235 = zext i1 %t234 to i32 store i32 %t235, ptr %t228 br i1 %t234, label %sc59, label %scend60 sc59: %t236 = load ptr, ptr %t61 %t237 = getelementptr inbounds %LSlice, ptr %t236, i32 0, i32 0 %t238 = load ptr, ptr %t237 %t239 = getelementptr inbounds %LSlice, ptr %t236, i32 0, i32 1 %t240 = load i32, ptr %t239 %t241 = icmp ult i32 0, %t240 br i1 %t241, label %ixok61, label %ixbad62 ixbad62: store i32 3964, ptr @lp_site %t242 = call ptr @lp_win_stdio(i32 2) store i32 0, ptr @lp_site call i32 (ptr, ptr, ...) @fprintf(ptr %t242, ptr @.fmt_bounds, ptr @.str4770, i32 0, i32 %t240) call void @exit(i32 1) unreachable ixok61: %t243 = getelementptr inbounds ptr, ptr %t238, i32 0 %t244 = load ptr, ptr %t243 %t245 = call i32 @lp_str_eq(ptr %t244, ptr @.str4771) %t246 = icmp ne i32 %t245, 0 %t247 = zext i1 %t246 to i32 store i32 %t247, ptr %t228 br label %scend60 scend60: %t248 = load i32, ptr %t228 %t249 = icmp ne i32 %t248, 0 %t250 = zext i1 %t249 to i32 store i32 %t250, ptr %t227 br i1 %t249, label %sc63, label %scend64 sc63: %t251 = load ptr, ptr %t61 %t252 = getelementptr inbounds %LSlice, ptr %t251, i32 0, i32 0 %t253 = load ptr, ptr %t252 %t254 = getelementptr inbounds %LSlice, ptr %t251, i32 0, i32 1 %t255 = load i32, ptr %t254 %t256 = icmp ult i32 1, %t255 br i1 %t256, label %ixok65, label %ixbad66 ixbad66: store i32 3965, ptr @lp_site %t257 = call ptr @lp_win_stdio(i32 2) store i32 0, ptr @lp_site call i32 (ptr, ptr, ...) @fprintf(ptr %t257, ptr @.fmt_bounds, ptr @.str4772, i32 1, i32 %t255) call void @exit(i32 1) unreachable ixok65: %t258 = getelementptr inbounds ptr, ptr %t253, i32 1 %t259 = load ptr, ptr %t258 %t260 = call i32 @lp_str_eq(ptr %t259, ptr @.str4773) %t261 = icmp ne i32 %t260, 0 %t262 = zext i1 %t261 to i32 store i32 %t262, ptr %t227 br label %scend64 scend64: %t263 = load i32, ptr %t227 %t264 = icmp ne i32 %t263, 0 br i1 %t264, label %then67, label %ifend69 then67: store i32 1, ptr @g_g_arena store i32 1, ptr @g_g_arena_strict br label %ifend69 ifend69: %t265 = load i32, ptr %t12 %t266 = add i32 %t265, 1 store i32 %t266, ptr %t1 br label %wcond0 wend2: br label %ret ret: ret void } define i32 @fn_is_mem_fence_ns(ptr %arg_meth) { entry: %retval = alloca i32 %t0 = alloca ptr %t1 = alloca i32 %t2 = alloca i32 %t3 = alloca i32 %t4 = alloca i32 %t5 = alloca i32 %t6 = alloca i32 %t7 = alloca i32 store ptr %arg_meth, ptr %t0 %t8 = load ptr, ptr %t0 %t9 = call i32 @lp_str_eq(ptr %t8, ptr @.str4774) %t10 = icmp ne i32 %t9, 0 %t11 = zext i1 %t10 to i32 store i32 %t11, ptr %t7 br i1 %t10, label %scend1, label %sc0 sc0: %t12 = load ptr, ptr %t0 %t13 = call i32 @lp_str_eq(ptr %t12, ptr @.str4775) %t14 = icmp ne i32 %t13, 0 %t15 = zext i1 %t14 to i32 store i32 %t15, ptr %t7 br label %scend1 scend1: %t16 = load i32, ptr %t7 %t17 = icmp ne i32 %t16, 0 %t18 = zext i1 %t17 to i32 store i32 %t18, ptr %t6 br i1 %t17, label %scend3, label %sc2 sc2: %t19 = load ptr, ptr %t0 %t20 = call i32 @lp_str_eq(ptr %t19, ptr @.str4776) %t21 = icmp ne i32 %t20, 0 %t22 = zext i1 %t21 to i32 store i32 %t22, ptr %t6 br label %scend3 scend3: %t23 = load i32, ptr %t6 %t24 = icmp ne i32 %t23, 0 %t25 = zext i1 %t24 to i32 store i32 %t25, ptr %t5 br i1 %t24, label %scend5, label %sc4 sc4: %t26 = load ptr, ptr %t0 %t27 = call i32 @lp_str_eq(ptr %t26, ptr @.str4777) %t28 = icmp ne i32 %t27, 0 %t29 = zext i1 %t28 to i32 store i32 %t29, ptr %t5 br label %scend5 scend5: %t30 = load i32, ptr %t5 %t31 = icmp ne i32 %t30, 0 %t32 = zext i1 %t31 to i32 store i32 %t32, ptr %t4 br i1 %t31, label %scend7, label %sc6 sc6: %t33 = load ptr, ptr %t0 %t34 = call i32 @lp_str_eq(ptr %t33, ptr @.str4778) %t35 = icmp ne i32 %t34, 0 %t36 = zext i1 %t35 to i32 store i32 %t36, ptr %t4 br label %scend7 scend7: %t37 = load i32, ptr %t4 %t38 = icmp ne i32 %t37, 0 %t39 = zext i1 %t38 to i32 store i32 %t39, ptr %t3 br i1 %t38, label %scend9, label %sc8 sc8: %t40 = load ptr, ptr %t0 %t41 = call i32 @lp_str_eq(ptr %t40, ptr @.str4779) %t42 = icmp ne i32 %t41, 0 %t43 = zext i1 %t42 to i32 store i32 %t43, ptr %t3 br label %scend9 scend9: %t44 = load i32, ptr %t3 %t45 = icmp ne i32 %t44, 0 %t46 = zext i1 %t45 to i32 store i32 %t46, ptr %t2 br i1 %t45, label %scend11, label %sc10 sc10: %t47 = load ptr, ptr %t0 %t48 = call i32 @lp_str_eq(ptr %t47, ptr @.str4780) %t49 = icmp ne i32 %t48, 0 %t50 = zext i1 %t49 to i32 store i32 %t50, ptr %t2 br label %scend11 scend11: %t51 = load i32, ptr %t2 %t52 = icmp ne i32 %t51, 0 %t53 = zext i1 %t52 to i32 store i32 %t53, ptr %t1 br i1 %t52, label %scend13, label %sc12 sc12: %t54 = load ptr, ptr %t0 %t55 = call i32 @lp_str_eq(ptr %t54, ptr @.str4781) %t56 = icmp ne i32 %t55, 0 %t57 = zext i1 %t56 to i32 store i32 %t57, ptr %t1 br label %scend13 scend13: %t58 = load i32, ptr %t1 store i32 %t58, ptr %retval br label %ret ret: %t59 = load i32, ptr %retval ret i32 %t59 } define ptr @fn_emit_mem_fence_ns(ptr %arg_meth, ptr %arg_e) { entry: %retval = alloca ptr %t0 = alloca ptr %t1 = alloca ptr %t36 = 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 @.str4782) %t4 = icmp ne i32 %t3, 0 br i1 %t4, label %then0, label %ifend2 then0: %t5 = call ptr @fn_emit_bind(ptr @.str4783) %t6 = call ptr @fn_val(ptr %t5, ptr @.str4784) store ptr %t6, ptr %retval br label %ret ifend2: %t7 = load ptr, ptr %t0 %t8 = call i32 @lp_str_eq(ptr %t7, ptr @.str4785) %t9 = icmp ne i32 %t8, 0 br i1 %t9, label %then3, label %ifend5 then3: %t10 = call ptr @fn_emit_bind(ptr @.str4786) %t11 = call ptr @fn_val(ptr %t10, ptr @.str4787) store ptr %t11, ptr %retval br label %ret ifend5: %t12 = load ptr, ptr %t0 %t13 = call i32 @lp_str_eq(ptr %t12, ptr @.str4788) %t14 = icmp ne i32 %t13, 0 br i1 %t14, label %then6, label %ifend8 then6: %t15 = call ptr @fn_emit_bind(ptr @.str4789) %t16 = call ptr @fn_val(ptr %t15, ptr @.str4790) store ptr %t16, ptr %retval br label %ret ifend8: %t17 = load ptr, ptr %t0 %t18 = call i32 @lp_str_eq(ptr %t17, ptr @.str4791) %t19 = icmp ne i32 %t18, 0 br i1 %t19, label %then9, label %ifend11 then9: call void @fn_emit(ptr @.str4792) %t20 = call ptr @fn_val(ptr @.str4793, ptr @.str4794) store ptr %t20, ptr %retval br label %ret ifend11: %t21 = load ptr, ptr %t0 %t22 = call i32 @lp_str_eq(ptr %t21, ptr @.str4795) %t23 = icmp ne i32 %t22, 0 br i1 %t23, label %then12, label %ifend14 then12: %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 %LSlice, ptr %t26, i32 0, i32 1 %t30 = load i32, ptr %t29 %t31 = icmp ult i32 0, %t30 br i1 %t31, label %ixok15, label %ixbad16 ixbad16: store i32 3966, ptr @lp_site %t32 = call ptr @lp_win_stdio(i32 2) store i32 0, ptr @lp_site call i32 (ptr, ptr, ...) @fprintf(ptr %t32, ptr @.fmt_bounds, ptr @.str4796, i32 0, i32 %t30) call void @exit(i32 1) unreachable ixok15: %t33 = getelementptr inbounds ptr, ptr %t28, i32 0 %t34 = load ptr, ptr %t33 %t35 = call ptr @fn_emit_expr(ptr %t34) store ptr %t35, ptr %t36 %t37 = load ptr, ptr %t36 %t38 = getelementptr inbounds %Cmp_Val, ptr %t37, i32 0, i32 0 %t39 = load ptr, ptr %t38 store i32 3967, ptr @lp_site %t40 = call ptr @lp_str_concat(ptr @.str4798, ptr %t39) store i32 0, ptr @lp_site store i32 3968, ptr @lp_site %t41 = call ptr @lp_str_concat(ptr %t40, ptr @.str4799) store i32 0, ptr @lp_site call void @lp_free(ptr %t40) call void @fn_emit(ptr %t41) %t42 = call ptr @fn_val(ptr @.str4800, ptr @.str4801) store ptr %t42, ptr %retval br label %ret ifend14: %t43 = load ptr, ptr %t0 store i32 3969, ptr @lp_site %t44 = call ptr @lp_str_concat(ptr @.str4802, ptr %t43) store i32 0, ptr @lp_site store i32 3970, ptr @lp_site %t45 = call ptr @lp_str_concat(ptr %t44, ptr @.str4803) store i32 0, ptr @lp_site call void @lp_free(ptr %t44) call void @fn_emit(ptr %t45) %t46 = call ptr @fn_val(ptr @.str4804, ptr @.str4805) store ptr %t46, ptr %retval br label %ret ret: %t47 = load ptr, ptr %retval ret ptr %t47 } define void @fn_fence_table(ptr %arg_name, ptr %arg_ty, ptr %arg_vals) { entry: %t0 = alloca ptr %t1 = alloca ptr %t2 = alloca ptr %t14 = alloca i32 store ptr %arg_name, ptr %t0 store ptr %arg_ty, ptr %t1 store ptr %arg_vals, ptr %t2 %t3 = load ptr, ptr %t0 store i32 3971, ptr @lp_site %t4 = call ptr @lp_str_concat(ptr %t3, ptr @.str4806) store i32 0, ptr @lp_site %t5 = load ptr, ptr %t2 %t6 = getelementptr inbounds %LSlice, ptr %t5, i32 0, i32 1 %t7 = load i32, ptr %t6 %t8 = call ptr @fn_itoa(i32 %t7) store i32 3972, ptr @lp_site %t9 = call ptr @lp_str_concat(ptr %t4, ptr %t8) store i32 0, ptr @lp_site call void @lp_free(ptr %t4) store i32 3973, ptr @lp_site %t10 = call ptr @lp_str_concat(ptr %t9, ptr @.str4808) store i32 0, ptr @lp_site call void @lp_free(ptr %t9) %t11 = load ptr, ptr %t1 store i32 3974, ptr @lp_site %t12 = call ptr @lp_str_concat(ptr %t10, ptr %t11) store i32 0, ptr @lp_site call void @lp_free(ptr %t10) store i32 3975, ptr @lp_site %t13 = call ptr @lp_str_concat(ptr %t12, ptr @.str4809) store i32 0, ptr @lp_site call void @lp_free(ptr %t12) call void @fn_emith(ptr %t13) store i32 0, ptr %t14 br label %wcond0 wcond0: %t15 = load i32, ptr %t14 %t16 = load ptr, ptr %t2 %t17 = getelementptr inbounds %LSlice, ptr %t16, i32 0, i32 1 %t18 = load i32, ptr %t17 %t19 = icmp slt i32 %t15, %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 %t14 %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: call void @fn_emith(ptr @.str4810) br label %ifend5 ifend5: %t26 = load ptr, ptr %t1 call void @fn_emith(ptr %t26) call void @fn_emith(ptr @.str4811) %t27 = load ptr, ptr %t2 %t28 = load i32, ptr %t14 %t29 = getelementptr inbounds %LSlice, ptr %t27, i32 0, i32 0 %t30 = load ptr, ptr %t29 %t31 = getelementptr inbounds %LSlice, ptr %t27, i32 0, i32 1 %t32 = load i32, ptr %t31 %t33 = icmp ult i32 %t28, %t32 br i1 %t33, label %ixok6, label %ixbad7 ixbad7: store i32 3976, ptr @lp_site %t34 = call ptr @lp_win_stdio(i32 2) store i32 0, ptr @lp_site call i32 (ptr, ptr, ...) @fprintf(ptr %t34, ptr @.fmt_bounds, ptr @.str4812, i32 %t28, i32 %t32) call void @exit(i32 1) unreachable ixok6: %t35 = getelementptr inbounds ptr, ptr %t30, i32 %t28 %t36 = load ptr, ptr %t35 call void @fn_emith(ptr %t36) %t37 = load i32, ptr %t14 %t38 = add i32 %t37, 1 store i32 %t38, ptr %t14 br label %wcond0 wend2: call void @fn_emith(ptr @.str4813) br label %ret ret: ret void } define void @fn_emit_fence_runtime() { entry: %t18 = alloca ptr %t54 = alloca i32 %t57 = alloca ptr %t60 = alloca ptr %t61 = alloca i32 %t101 = alloca ptr %t102 = alloca i32 %t174 = alloca ptr %t175 = alloca i32 %t220 = alloca ptr %t221 = alloca i32 %t299 = alloca ptr %t300 = alloca i32 call void @fn_emit_fence_intern() %t0 = load i32, ptr @g_g_target_win %t1 = icmp ne i32 %t0, 0 br i1 %t1, label %then0, label %ifend2 then0: call void @fn_emit_fence_win() br label %ret ifend2: %t2 = load i32, ptr @g_g_fprintf_declared %t3 = icmp eq i32 %t2, 0 %t4 = zext i1 %t3 to i32 %t5 = icmp ne i32 %t4, 0 br i1 %t5, label %then3, label %ifend5 then3: call void @fn_emith(ptr @.str4814) store i32 1, ptr @g_g_fprintf_declared br label %ifend5 ifend5: %t6 = load i32, ptr @g_g_atexit_declared %t7 = icmp eq i32 %t6, 0 %t8 = zext i1 %t7 to i32 %t9 = icmp ne i32 %t8, 0 br i1 %t9, label %then6, label %ifend8 then6: call void @fn_emith(ptr @.str4815) store i32 1, ptr @g_g_atexit_declared br label %ifend8 ifend8: %t10 = load i32, ptr @g_g_mzs_declared %t11 = icmp eq i32 %t10, 0 %t12 = zext i1 %t11 to i32 %t13 = icmp ne i32 %t12, 0 br i1 %t13, label %then9, label %ifend11 then9: call void @fn_emith(ptr @.str4816) store i32 1, ptr @g_g_mzs_declared br label %ifend11 ifend11: %t14 = load i32, ptr @g_g_mmap_declared %t15 = icmp eq i32 %t14, 0 %t16 = zext i1 %t15 to i32 %t17 = icmp ne i32 %t16, 0 br i1 %t17, label %then12, label %ifend14 then12: call void @fn_emith(ptr @.str4817) store i32 1, ptr @g_g_mmap_declared br label %ifend14 ifend14: store ptr @.str4818, ptr %t18 %t19 = load i32, ptr @g_g_arena %t20 = icmp ne i32 %t19, 0 br i1 %t20, label %then15, label %ifend17 then15: store ptr @.str4819, ptr %t18 br label %ifend17 ifend17: %t21 = load ptr, ptr %t18 store i32 3977, ptr @lp_site %t22 = call ptr @lp_str_concat(ptr @.str4820, ptr %t21) store i32 0, ptr @lp_site store i32 3978, ptr @lp_site %t23 = call ptr @lp_str_concat(ptr %t22, ptr @.str4822) store i32 0, ptr @lp_site call void @lp_free(ptr %t22) call void @fn_emith(ptr %t23) call void @fn_emit_fence_globals() call void @fn_emit_fence_entry() call void @fn_emit_fence_table() call void @fn_emit_fence_control() call void @fn_emit_fence_report() call void @fn_emit_fence_frame() %t24 = load ptr, ptr @g_g_site_fn %t25 = getelementptr inbounds %LSlice, ptr %t24, i32 0, i32 0 %t26 = load ptr, ptr %t25 %t27 = getelementptr inbounds %LSlice, ptr %t24, i32 0, i32 1 %t28 = load i32, ptr %t27 %t29 = icmp ult i32 0, %t28 br i1 %t29, label %ixok18, label %ixbad19 ixbad19: store i32 3979, ptr @lp_site %t30 = call ptr @lp_win_stdio(i32 2) store i32 0, ptr @lp_site call i32 (ptr, ptr, ...) @fprintf(ptr %t30, ptr @.fmt_bounds, ptr @.str4823, i32 0, i32 %t28) call void @exit(i32 1) unreachable ixok18: %t31 = getelementptr inbounds ptr, ptr %t26, i32 0 %t32 = call ptr @fn_emit_str_const(ptr @.str4824) store ptr %t32, ptr %t31 %t33 = load ptr, ptr @g_g_site_file %t34 = getelementptr inbounds %LSlice, ptr %t33, i32 0, i32 0 %t35 = load ptr, ptr %t34 %t36 = getelementptr inbounds %LSlice, ptr %t33, i32 0, i32 1 %t37 = load i32, ptr %t36 %t38 = icmp ult i32 0, %t37 br i1 %t38, label %ixok20, label %ixbad21 ixbad21: store i32 3980, ptr @lp_site %t39 = call ptr @lp_win_stdio(i32 2) store i32 0, ptr @lp_site call i32 (ptr, ptr, ...) @fprintf(ptr %t39, ptr @.fmt_bounds, ptr @.str4825, i32 0, i32 %t37) call void @exit(i32 1) unreachable ixok20: %t40 = getelementptr inbounds ptr, ptr %t35, i32 0 %t41 = call ptr @fn_emit_str_const(ptr @.str4826) store ptr %t41, ptr %t40 %t42 = load ptr, ptr @g_g_site_kind %t43 = getelementptr inbounds %LSlice, ptr %t42, i32 0, i32 0 %t44 = load ptr, ptr %t43 %t45 = getelementptr inbounds %LSlice, ptr %t42, i32 0, i32 1 %t46 = load i32, ptr %t45 %t47 = icmp ult i32 0, %t46 br i1 %t47, label %ixok22, label %ixbad23 ixbad23: store i32 3981, ptr @lp_site %t48 = call ptr @lp_win_stdio(i32 2) store i32 0, ptr @lp_site call i32 (ptr, ptr, ...) @fprintf(ptr %t48, ptr @.fmt_bounds, ptr @.str4827, i32 0, i32 %t46) call void @exit(i32 1) unreachable ixok22: %t49 = getelementptr inbounds ptr, ptr %t44, i32 0 %t50 = call ptr @fn_emit_str_const(ptr @.str4828) store ptr %t50, ptr %t49 %t51 = load ptr, ptr @g_g_site_line %t52 = getelementptr inbounds %LSlice, ptr %t51, i32 0, i32 1 %t53 = load i32, ptr %t52 store i32 %t53, ptr %t54 %t55 = load i32, ptr %t54 %t56 = call ptr @fn_itoa(i32 %t55) store ptr %t56, ptr %t57 %t58 = load i32, ptr @g_g_fence_mode %t59 = call ptr @fn_itoa(i32 %t58) store ptr %t59, ptr %t60 %t62 = load i32, ptr @g_g_fence_mode %t63 = icmp eq i32 %t62, 0 %t64 = zext i1 %t63 to i32 %t65 = icmp ne i32 %t64, 0 %t66 = zext i1 %t65 to i32 store i32 %t66, ptr %t61 br i1 %t65, label %sc24, label %scend25 sc24: %t67 = load i32, ptr @g_g_windowed %t68 = icmp eq i32 %t67, 0 %t69 = zext i1 %t68 to i32 %t70 = icmp ne i32 %t69, 0 %t71 = zext i1 %t70 to i32 store i32 %t71, ptr %t61 br label %scend25 scend25: %t72 = load i32, ptr %t61 %t73 = icmp ne i32 %t72, 0 br i1 %t73, label %then26, label %ifend28 then26: store ptr @.str4829, ptr %t60 br label %ifend28 ifend28: %t74 = load ptr, ptr %t60 store i32 3982, ptr @lp_site %t75 = call ptr @lp_str_concat(ptr @.str4830, ptr %t74) store i32 0, ptr @lp_site store i32 3983, ptr @lp_site %t76 = call ptr @lp_str_concat(ptr %t75, ptr @.str4831) store i32 0, ptr @lp_site call void @lp_free(ptr %t75) call void @fn_emith(ptr %t76) %t77 = load i32, ptr @g_g_fence_warm %t78 = call ptr @fn_itoa(i32 %t77) store i32 3984, ptr @lp_site %t79 = call ptr @lp_str_concat(ptr @.str4832, ptr %t78) store i32 0, ptr @lp_site store i32 3985, ptr @lp_site %t80 = call ptr @lp_str_concat(ptr %t79, ptr @.str4833) store i32 0, ptr @lp_site call void @lp_free(ptr %t79) call void @fn_emith(ptr %t80) %t81 = load ptr, ptr @g_g_fence_census %t82 = icmp eq ptr %t81, null %t83 = zext i1 %t82 to i32 %t84 = icmp ne i32 %t83, 0 br i1 %t84, label %then29, label %else30 then29: call void @fn_emith(ptr @.str4834) br label %ifend31 else30: %t85 = load ptr, ptr @g_g_fence_census %t86 = call ptr @fn_emit_str_const(ptr %t85) store i32 3986, ptr @lp_site %t87 = call ptr @lp_str_concat(ptr @.str4835, ptr %t86) store i32 0, ptr @lp_site store i32 3987, ptr @lp_site %t88 = call ptr @lp_str_concat(ptr %t87, ptr @.str4836) store i32 0, ptr @lp_site call void @lp_free(ptr %t87) call void @fn_emith(ptr %t88) br label %ifend31 ifend31: %t89 = load ptr, ptr %t57 store i32 3988, ptr @lp_site %t90 = call ptr @lp_str_concat(ptr @.str4837, ptr %t89) store i32 0, ptr @lp_site store i32 3989, ptr @lp_site %t91 = call ptr @lp_str_concat(ptr %t90, ptr @.str4838) store i32 0, ptr @lp_site call void @lp_free(ptr %t90) call void @fn_emith(ptr %t91) %t92 = load ptr, ptr @g_g_site_fn call void @fn_fence_table(ptr @.str4839, ptr @.str4840, ptr %t92) %t93 = load ptr, ptr @g_g_site_file call void @fn_fence_table(ptr @.str4841, ptr @.str4842, ptr %t93) %t94 = load ptr, ptr @g_g_site_kind call void @fn_fence_table(ptr @.str4843, ptr @.str4844, ptr %t94) %t95 = getelementptr %LSlice, ptr null, i32 1 %t96 = ptrtoint ptr %t95 to i64 store i32 3990, ptr @lp_site %t97 = call ptr @lp_malloc(i64 %t96) store i32 0, ptr @lp_site %t98 = getelementptr inbounds %LSlice, ptr %t97, i32 0, i32 0 store ptr null, ptr %t98 %t99 = getelementptr inbounds %LSlice, ptr %t97, i32 0, i32 1 store i32 0, ptr %t99 %t100 = getelementptr inbounds %LSlice, ptr %t97, i32 0, i32 2 store i32 0, ptr %t100 store ptr %t97, ptr %t101 store i32 0, ptr %t102 br label %wcond32 wcond32: %t103 = load i32, ptr %t102 %t104 = load i32, ptr %t54 %t105 = icmp slt i32 %t103, %t104 %t106 = zext i1 %t105 to i32 %t107 = icmp ne i32 %t106, 0 br i1 %t107, label %wbody33, label %wend34 wbody33: %t108 = load ptr, ptr %t101 %t109 = load ptr, ptr @g_g_site_line %t110 = load i32, ptr %t102 %t111 = getelementptr inbounds %LSlice, ptr %t109, i32 0, i32 0 %t112 = load ptr, ptr %t111 %t113 = getelementptr inbounds %LSlice, ptr %t109, i32 0, i32 1 %t114 = load i32, ptr %t113 %t115 = icmp ult i32 %t110, %t114 br i1 %t115, label %ixok35, label %ixbad36 ixbad36: store i32 3991, ptr @lp_site %t116 = call ptr @lp_win_stdio(i32 2) store i32 0, ptr @lp_site call i32 (ptr, ptr, ...) @fprintf(ptr %t116, ptr @.fmt_bounds, ptr @.str4845, i32 %t110, i32 %t114) call void @exit(i32 1) unreachable ixok35: %t117 = getelementptr inbounds i32, ptr %t112, i32 %t110 %t118 = load i32, ptr %t117 %t119 = call ptr @fn_itoa(i32 %t118) %t120 = getelementptr inbounds %LSlice, ptr %t108, i32 0, i32 1 %t121 = getelementptr inbounds %LSlice, ptr %t108, i32 0, i32 2 %t122 = getelementptr inbounds %LSlice, ptr %t108, i32 0, i32 0 %t123 = load i32, ptr %t120 %t124 = load i32, ptr %t121 %t125 = icmp sge i32 %t123, %t124 br i1 %t125, label %grow37, label %put38 grow37: %t126 = mul i32 %t124, 2 %t127 = icmp eq i32 %t124, 0 %t128 = select i1 %t127, i32 8, i32 %t126 %t129 = getelementptr ptr, ptr null, i32 1 %t130 = ptrtoint ptr %t129 to i64 %t131 = zext i32 %t128 to i64 %t132 = mul i64 %t131, %t130 %t133 = load ptr, ptr %t122 store i32 3992, ptr @lp_site %t134 = call ptr @lp_realloc(ptr %t133, i64 %t132) store i32 0, ptr @lp_site store ptr %t134, ptr %t122 store i32 %t128, ptr %t121 br label %put38 put38: %t135 = load ptr, ptr %t122 %t136 = getelementptr inbounds ptr, ptr %t135, i32 %t123 store ptr %t119, ptr %t136 %t137 = add i32 %t123, 1 store i32 %t137, ptr %t120 %t138 = load i32, ptr %t102 %t139 = add i32 %t138, 1 store i32 %t139, ptr %t102 br label %wcond32 wend34: %t140 = load ptr, ptr %t101 call void @fn_fence_table(ptr @.str4846, ptr @.str4847, ptr %t140) %t141 = load ptr, ptr %t57 store i32 3993, ptr @lp_site %t142 = call ptr @lp_str_concat(ptr @.str4848, ptr %t141) store i32 0, ptr @lp_site store i32 3994, ptr @lp_site %t143 = call ptr @lp_str_concat(ptr %t142, ptr @.str4849) store i32 0, ptr @lp_site call void @lp_free(ptr %t142) call void @fn_emith(ptr %t143) %t144 = load ptr, ptr %t57 store i32 3995, ptr @lp_site %t145 = call ptr @lp_str_concat(ptr @.str4850, ptr %t144) store i32 0, ptr @lp_site store i32 3996, ptr @lp_site %t146 = call ptr @lp_str_concat(ptr %t145, ptr @.str4851) store i32 0, ptr @lp_site call void @lp_free(ptr %t145) call void @fn_emith(ptr %t146) %t147 = load ptr, ptr %t57 store i32 3997, ptr @lp_site %t148 = call ptr @lp_str_concat(ptr @.str4852, ptr %t147) store i32 0, ptr @lp_site store i32 3998, ptr @lp_site %t149 = call ptr @lp_str_concat(ptr %t148, ptr @.str4853) store i32 0, ptr @lp_site call void @lp_free(ptr %t148) call void @fn_emith(ptr %t149) %t150 = load ptr, ptr %t57 store i32 3999, ptr @lp_site %t151 = call ptr @lp_str_concat(ptr @.str4854, ptr %t150) store i32 0, ptr @lp_site store i32 4000, ptr @lp_site %t152 = call ptr @lp_str_concat(ptr %t151, ptr @.str4855) store i32 0, ptr @lp_site call void @lp_free(ptr %t151) call void @fn_emith(ptr %t152) %t153 = load ptr, ptr %t57 store i32 4001, ptr @lp_site %t154 = call ptr @lp_str_concat(ptr @.str4856, ptr %t153) store i32 0, ptr @lp_site store i32 4002, ptr @lp_site %t155 = call ptr @lp_str_concat(ptr %t154, ptr @.str4857) store i32 0, ptr @lp_site call void @lp_free(ptr %t154) call void @fn_emith(ptr %t155) %t156 = load ptr, ptr %t57 store i32 4003, ptr @lp_site %t157 = call ptr @lp_str_concat(ptr @.str4858, ptr %t156) store i32 0, ptr @lp_site store i32 4004, ptr @lp_site %t158 = call ptr @lp_str_concat(ptr %t157, ptr @.str4859) store i32 0, ptr @lp_site call void @lp_free(ptr %t157) call void @fn_emith(ptr %t158) %t159 = load ptr, ptr %t57 store i32 4005, ptr @lp_site %t160 = call ptr @lp_str_concat(ptr @.str4860, ptr %t159) store i32 0, ptr @lp_site store i32 4006, ptr @lp_site %t161 = call ptr @lp_str_concat(ptr %t160, ptr @.str4861) store i32 0, ptr @lp_site call void @lp_free(ptr %t160) call void @fn_emith(ptr %t161) %t162 = load ptr, ptr %t57 store i32 4007, ptr @lp_site %t163 = call ptr @lp_str_concat(ptr @.str4862, ptr %t162) store i32 0, ptr @lp_site store i32 4008, ptr @lp_site %t164 = call ptr @lp_str_concat(ptr %t163, ptr @.str4863) store i32 0, ptr @lp_site call void @lp_free(ptr %t163) call void @fn_emith(ptr %t164) %t165 = load ptr, ptr %t57 store i32 4009, ptr @lp_site %t166 = call ptr @lp_str_concat(ptr @.str4864, ptr %t165) store i32 0, ptr @lp_site store i32 4010, ptr @lp_site %t167 = call ptr @lp_str_concat(ptr %t166, ptr @.str4865) store i32 0, ptr @lp_site call void @lp_free(ptr %t166) call void @fn_emith(ptr %t167) %t168 = getelementptr %LSlice, ptr null, i32 1 %t169 = ptrtoint ptr %t168 to i64 store i32 4011, ptr @lp_site %t170 = call ptr @lp_malloc(i64 %t169) store i32 0, ptr @lp_site %t171 = getelementptr inbounds %LSlice, ptr %t170, i32 0, i32 0 store ptr null, ptr %t171 %t172 = getelementptr inbounds %LSlice, ptr %t170, i32 0, i32 1 store i32 0, ptr %t172 %t173 = getelementptr inbounds %LSlice, ptr %t170, i32 0, i32 2 store i32 0, ptr %t173 store ptr %t170, ptr %t174 store i32 0, ptr %t175 br label %wcond39 wcond39: %t176 = load i32, ptr %t175 %t177 = load i32, ptr %t54 %t178 = icmp slt i32 %t176, %t177 %t179 = zext i1 %t178 to i32 %t180 = icmp ne i32 %t179, 0 br i1 %t180, label %wbody40, label %wend41 wbody40: %t181 = load ptr, ptr %t174 %t182 = load ptr, ptr @g_g_site_owner %t183 = load i32, ptr %t175 %t184 = getelementptr inbounds %LSlice, ptr %t182, i32 0, i32 0 %t185 = load ptr, ptr %t184 %t186 = getelementptr inbounds %LSlice, ptr %t182, i32 0, i32 1 %t187 = load i32, ptr %t186 %t188 = icmp ult i32 %t183, %t187 br i1 %t188, label %ixok42, label %ixbad43 ixbad43: store i32 4012, ptr @lp_site %t189 = call ptr @lp_win_stdio(i32 2) store i32 0, ptr @lp_site call i32 (ptr, ptr, ...) @fprintf(ptr %t189, ptr @.fmt_bounds, ptr @.str4866, i32 %t183, i32 %t187) call void @exit(i32 1) unreachable ixok42: %t190 = getelementptr inbounds i32, ptr %t185, i32 %t183 %t191 = load i32, ptr %t190 %t192 = call ptr @fn_itoa(i32 %t191) %t193 = getelementptr inbounds %LSlice, ptr %t181, i32 0, i32 1 %t194 = getelementptr inbounds %LSlice, ptr %t181, i32 0, i32 2 %t195 = getelementptr inbounds %LSlice, ptr %t181, i32 0, i32 0 %t196 = load i32, ptr %t193 %t197 = load i32, ptr %t194 %t198 = icmp sge i32 %t196, %t197 br i1 %t198, label %grow44, label %put45 grow44: %t199 = mul i32 %t197, 2 %t200 = icmp eq i32 %t197, 0 %t201 = select i1 %t200, i32 8, i32 %t199 %t202 = getelementptr ptr, ptr null, i32 1 %t203 = ptrtoint ptr %t202 to i64 %t204 = zext i32 %t201 to i64 %t205 = mul i64 %t204, %t203 %t206 = load ptr, ptr %t195 store i32 4013, ptr @lp_site %t207 = call ptr @lp_realloc(ptr %t206, i64 %t205) store i32 0, ptr @lp_site store ptr %t207, ptr %t195 store i32 %t201, ptr %t194 br label %put45 put45: %t208 = load ptr, ptr %t195 %t209 = getelementptr inbounds ptr, ptr %t208, i32 %t196 store ptr %t192, ptr %t209 %t210 = add i32 %t196, 1 store i32 %t210, ptr %t193 %t211 = load i32, ptr %t175 %t212 = add i32 %t211, 1 store i32 %t212, ptr %t175 br label %wcond39 wend41: %t213 = load ptr, ptr %t174 call void @fn_fence_table(ptr @.str4867, ptr @.str4868, ptr %t213) %t214 = getelementptr %LSlice, ptr null, i32 1 %t215 = ptrtoint ptr %t214 to i64 store i32 4014, ptr @lp_site %t216 = call ptr @lp_malloc(i64 %t215) store i32 0, ptr @lp_site %t217 = getelementptr inbounds %LSlice, ptr %t216, i32 0, i32 0 store ptr null, ptr %t217 %t218 = getelementptr inbounds %LSlice, ptr %t216, i32 0, i32 1 store i32 0, ptr %t218 %t219 = getelementptr inbounds %LSlice, ptr %t216, i32 0, i32 2 store i32 0, ptr %t219 store ptr %t216, ptr %t220 store i32 0, ptr %t221 br label %wcond46 wcond46: %t222 = load i32, ptr %t221 %t223 = load ptr, ptr @g_g_owner_names %t224 = getelementptr inbounds %LSlice, ptr %t223, i32 0, i32 1 %t225 = load i32, ptr %t224 %t226 = icmp slt i32 %t222, %t225 %t227 = zext i1 %t226 to i32 %t228 = icmp ne i32 %t227, 0 br i1 %t228, label %wbody47, label %wend48 wbody47: %t229 = load ptr, ptr %t220 %t230 = load ptr, ptr @g_g_owner_names %t231 = load i32, ptr %t221 %t232 = getelementptr inbounds %LSlice, ptr %t230, i32 0, i32 0 %t233 = load ptr, ptr %t232 %t234 = getelementptr inbounds %LSlice, ptr %t230, i32 0, i32 1 %t235 = load i32, ptr %t234 %t236 = icmp ult i32 %t231, %t235 br i1 %t236, label %ixok49, label %ixbad50 ixbad50: store i32 4015, ptr @lp_site %t237 = call ptr @lp_win_stdio(i32 2) store i32 0, ptr @lp_site call i32 (ptr, ptr, ...) @fprintf(ptr %t237, ptr @.fmt_bounds, ptr @.str4869, i32 %t231, i32 %t235) call void @exit(i32 1) unreachable ixok49: %t238 = getelementptr inbounds ptr, ptr %t233, i32 %t231 %t239 = load ptr, ptr %t238 %t240 = call ptr @fn_emit_str_const(ptr %t239) %t241 = getelementptr inbounds %LSlice, ptr %t229, i32 0, i32 1 %t242 = getelementptr inbounds %LSlice, ptr %t229, i32 0, i32 2 %t243 = getelementptr inbounds %LSlice, ptr %t229, i32 0, i32 0 %t244 = load i32, ptr %t241 %t245 = load i32, ptr %t242 %t246 = icmp sge i32 %t244, %t245 br i1 %t246, label %grow51, label %put52 grow51: %t247 = mul i32 %t245, 2 %t248 = icmp eq i32 %t245, 0 %t249 = select i1 %t248, i32 8, i32 %t247 %t250 = getelementptr ptr, ptr null, i32 1 %t251 = ptrtoint ptr %t250 to i64 %t252 = zext i32 %t249 to i64 %t253 = mul i64 %t252, %t251 %t254 = load ptr, ptr %t243 store i32 4016, ptr @lp_site %t255 = call ptr @lp_realloc(ptr %t254, i64 %t253) store i32 0, ptr @lp_site store ptr %t255, ptr %t243 store i32 %t249, ptr %t242 br label %put52 put52: %t256 = load ptr, ptr %t243 %t257 = getelementptr inbounds ptr, ptr %t256, i32 %t244 store ptr %t240, ptr %t257 %t258 = add i32 %t244, 1 store i32 %t258, ptr %t241 %t259 = load i32, ptr %t221 %t260 = add i32 %t259, 1 store i32 %t260, ptr %t221 br label %wcond46 wend48: %t261 = load ptr, ptr %t220 %t262 = getelementptr inbounds %LSlice, ptr %t261, i32 0, i32 1 %t263 = load i32, ptr %t262 %t264 = icmp eq i32 %t263, 0 %t265 = zext i1 %t264 to i32 %t266 = icmp ne i32 %t265, 0 br i1 %t266, label %then53, label %ifend55 then53: %t267 = load ptr, ptr %t220 %t268 = getelementptr inbounds %LSlice, ptr %t267, i32 0, i32 1 %t269 = getelementptr inbounds %LSlice, ptr %t267, i32 0, i32 2 %t270 = getelementptr inbounds %LSlice, ptr %t267, i32 0, i32 0 %t271 = load i32, ptr %t268 %t272 = load i32, ptr %t269 %t273 = icmp sge i32 %t271, %t272 br i1 %t273, label %grow56, label %put57 grow56: %t274 = mul i32 %t272, 2 %t275 = icmp eq i32 %t272, 0 %t276 = select i1 %t275, i32 8, i32 %t274 %t277 = getelementptr ptr, ptr null, i32 1 %t278 = ptrtoint ptr %t277 to i64 %t279 = zext i32 %t276 to i64 %t280 = mul i64 %t279, %t278 %t281 = load ptr, ptr %t270 store i32 4017, ptr @lp_site %t282 = call ptr @lp_realloc(ptr %t281, i64 %t280) store i32 0, ptr @lp_site store ptr %t282, ptr %t270 store i32 %t276, ptr %t269 br label %put57 put57: %t283 = load ptr, ptr %t270 %t284 = getelementptr inbounds ptr, ptr %t283, i32 %t271 store ptr @.str4870, ptr %t284 %t285 = add i32 %t271, 1 store i32 %t285, ptr %t268 br label %ifend55 ifend55: %t286 = load ptr, ptr %t220 call void @fn_fence_table(ptr @.str4871, ptr @.str4872, ptr %t286) %t287 = load ptr, ptr @g_g_owner_names %t288 = getelementptr inbounds %LSlice, ptr %t287, i32 0, i32 1 %t289 = load i32, ptr %t288 %t290 = call ptr @fn_itoa(i32 %t289) store i32 4018, ptr @lp_site %t291 = call ptr @lp_str_concat(ptr @.str4873, ptr %t290) store i32 0, ptr @lp_site store i32 4019, ptr @lp_site %t292 = call ptr @lp_str_concat(ptr %t291, ptr @.str4874) store i32 0, ptr @lp_site call void @lp_free(ptr %t291) call void @fn_emith(ptr %t292) %t293 = getelementptr %LSlice, ptr null, i32 1 %t294 = ptrtoint ptr %t293 to i64 store i32 4020, ptr @lp_site %t295 = call ptr @lp_malloc(i64 %t294) store i32 0, ptr @lp_site %t296 = getelementptr inbounds %LSlice, ptr %t295, i32 0, i32 0 store ptr null, ptr %t296 %t297 = getelementptr inbounds %LSlice, ptr %t295, i32 0, i32 1 store i32 0, ptr %t297 %t298 = getelementptr inbounds %LSlice, ptr %t295, i32 0, i32 2 store i32 0, ptr %t298 store ptr %t295, ptr %t299 store i32 0, ptr %t300 br label %wcond58 wcond58: %t301 = load i32, ptr %t300 %t302 = load ptr, ptr @g_g_scan_roots %t303 = getelementptr inbounds %LSlice, ptr %t302, i32 0, i32 1 %t304 = load i32, ptr %t303 %t305 = icmp slt i32 %t301, %t304 %t306 = zext i1 %t305 to i32 %t307 = icmp ne i32 %t306, 0 br i1 %t307, label %wbody59, label %wend60 wbody59: %t308 = load ptr, ptr %t299 %t309 = load ptr, ptr @g_g_scan_roots %t310 = load i32, ptr %t300 %t311 = getelementptr inbounds %LSlice, ptr %t309, i32 0, i32 0 %t312 = load ptr, ptr %t311 %t313 = getelementptr inbounds %LSlice, ptr %t309, i32 0, i32 1 %t314 = load i32, ptr %t313 %t315 = icmp ult i32 %t310, %t314 br i1 %t315, label %ixok61, label %ixbad62 ixbad62: store i32 4021, ptr @lp_site %t316 = call ptr @lp_win_stdio(i32 2) store i32 0, ptr @lp_site call i32 (ptr, ptr, ...) @fprintf(ptr %t316, ptr @.fmt_bounds, ptr @.str4876, i32 %t310, i32 %t314) call void @exit(i32 1) unreachable ixok61: %t317 = getelementptr inbounds ptr, ptr %t312, i32 %t310 %t318 = load ptr, ptr %t317 store i32 4022, ptr @lp_site %t319 = call ptr @lp_str_concat(ptr @.str4875, ptr %t318) store i32 0, ptr @lp_site %t320 = getelementptr inbounds %LSlice, ptr %t308, i32 0, i32 1 %t321 = getelementptr inbounds %LSlice, ptr %t308, i32 0, i32 2 %t322 = getelementptr inbounds %LSlice, ptr %t308, i32 0, i32 0 %t323 = load i32, ptr %t320 %t324 = load i32, ptr %t321 %t325 = icmp sge i32 %t323, %t324 br i1 %t325, label %grow63, label %put64 grow63: %t326 = mul i32 %t324, 2 %t327 = icmp eq i32 %t324, 0 %t328 = select i1 %t327, i32 8, i32 %t326 %t329 = getelementptr ptr, ptr null, i32 1 %t330 = ptrtoint ptr %t329 to i64 %t331 = zext i32 %t328 to i64 %t332 = mul i64 %t331, %t330 %t333 = load ptr, ptr %t322 store i32 4023, ptr @lp_site %t334 = call ptr @lp_realloc(ptr %t333, i64 %t332) store i32 0, ptr @lp_site store ptr %t334, ptr %t322 store i32 %t328, ptr %t321 br label %put64 put64: %t335 = load ptr, ptr %t322 %t336 = getelementptr inbounds ptr, ptr %t335, i32 %t323 store ptr %t319, ptr %t336 %t337 = add i32 %t323, 1 store i32 %t337, ptr %t320 %t338 = load i32, ptr %t300 %t339 = add i32 %t338, 1 store i32 %t339, ptr %t300 br label %wcond58 wend60: %t340 = load ptr, ptr %t299 %t341 = getelementptr inbounds %LSlice, ptr %t340, i32 0, i32 1 %t342 = load i32, ptr %t341 %t343 = icmp eq i32 %t342, 0 %t344 = zext i1 %t343 to i32 %t345 = icmp ne i32 %t344, 0 br i1 %t345, label %then65, label %ifend67 then65: %t346 = load ptr, ptr %t299 %t347 = getelementptr inbounds %LSlice, ptr %t346, i32 0, i32 1 %t348 = getelementptr inbounds %LSlice, ptr %t346, i32 0, i32 2 %t349 = getelementptr inbounds %LSlice, ptr %t346, i32 0, i32 0 %t350 = load i32, ptr %t347 %t351 = load i32, ptr %t348 %t352 = icmp sge i32 %t350, %t351 br i1 %t352, label %grow68, label %put69 grow68: %t353 = mul i32 %t351, 2 %t354 = icmp eq i32 %t351, 0 %t355 = select i1 %t354, i32 8, i32 %t353 %t356 = getelementptr ptr, ptr null, i32 1 %t357 = ptrtoint ptr %t356 to i64 %t358 = zext i32 %t355 to i64 %t359 = mul i64 %t358, %t357 %t360 = load ptr, ptr %t349 store i32 4024, ptr @lp_site %t361 = call ptr @lp_realloc(ptr %t360, i64 %t359) store i32 0, ptr @lp_site store ptr %t361, ptr %t349 store i32 %t355, ptr %t348 br label %put69 put69: %t362 = load ptr, ptr %t349 %t363 = getelementptr inbounds ptr, ptr %t362, i32 %t350 store ptr @.str4877, ptr %t363 %t364 = add i32 %t350, 1 store i32 %t364, ptr %t347 br label %ifend67 ifend67: %t365 = load ptr, ptr %t299 call void @fn_fence_table(ptr @.str4878, ptr @.str4879, ptr %t365) %t366 = load ptr, ptr @g_g_scan_roots %t367 = getelementptr inbounds %LSlice, ptr %t366, i32 0, i32 1 %t368 = load i32, ptr %t367 %t369 = call ptr @fn_itoa(i32 %t368) store i32 4025, ptr @lp_site %t370 = call ptr @lp_str_concat(ptr @.str4880, ptr %t369) store i32 0, ptr @lp_site store i32 4026, ptr @lp_site %t371 = call ptr @lp_str_concat(ptr %t370, ptr @.str4881) store i32 0, ptr @lp_site call void @lp_free(ptr %t370) call void @fn_emith(ptr %t371) %t372 = load i32, ptr %t54 %t373 = mul i32 %t372, 6 %t374 = call ptr @fn_itoa(i32 %t373) store i32 4027, ptr @lp_site %t375 = call ptr @lp_str_concat(ptr @.str4882, ptr %t374) store i32 0, ptr @lp_site store i32 4028, ptr @lp_site %t376 = call ptr @lp_str_concat(ptr %t375, ptr @.str4883) store i32 0, ptr @lp_site call void @lp_free(ptr %t375) call void @fn_emith(ptr %t376) br label %ret ret: ret void } define i32 @fn_fence_cap_of(ptr %arg_target) { entry: %retval = alloca i32 %t0 = alloca ptr %t1 = alloca i32 %t2 = alloca i32 %t3 = alloca i32 %t42 = alloca ptr %t53 = alloca ptr %t54 = alloca i32 store ptr %arg_target, ptr %t0 store ptr null, ptr @g_g_push_capname %t4 = load ptr, ptr %t0 %t5 = icmp eq ptr %t4, null %t6 = zext i1 %t5 to i32 %t7 = icmp ne i32 %t6, 0 %t8 = zext i1 %t7 to i32 store i32 %t8, ptr %t3 br i1 %t7, label %scend1, label %sc0 sc0: %t9 = load ptr, ptr %t0 %t10 = getelementptr inbounds %Cmp_Node, ptr %t9, i32 0, i32 0 %t11 = load i32, ptr %t10 %t12 = icmp ne i32 %t11, 35 %t13 = zext i1 %t12 to i32 %t14 = icmp ne i32 %t13, 0 %t15 = zext i1 %t14 to i32 store i32 %t15, ptr %t3 br label %scend1 scend1: %t16 = load i32, ptr %t3 %t17 = icmp ne i32 %t16, 0 %t18 = zext i1 %t17 to i32 store i32 %t18, ptr %t2 br i1 %t17, label %scend3, label %sc2 sc2: %t19 = load ptr, ptr %t0 %t20 = getelementptr inbounds %Cmp_Node, ptr %t19, i32 0, i32 4 %t21 = load ptr, ptr %t20 %t22 = icmp eq ptr %t21, null %t23 = zext i1 %t22 to i32 %t24 = icmp ne i32 %t23, 0 %t25 = zext i1 %t24 to i32 store i32 %t25, ptr %t2 br label %scend3 scend3: %t26 = load i32, ptr %t2 %t27 = icmp ne i32 %t26, 0 %t28 = zext i1 %t27 to i32 store i32 %t28, ptr %t1 br i1 %t27, label %scend5, label %sc4 sc4: %t29 = load ptr, ptr @g_g_cap_keys %t30 = getelementptr inbounds %LSlice, ptr %t29, i32 0, i32 1 %t31 = load i32, ptr %t30 %t32 = icmp eq i32 %t31, 0 %t33 = zext i1 %t32 to i32 %t34 = icmp ne i32 %t33, 0 %t35 = zext i1 %t34 to i32 store i32 %t35, ptr %t1 br label %scend5 scend5: %t36 = load i32, ptr %t1 %t37 = icmp ne i32 %t36, 0 br i1 %t37, label %then6, label %ifend8 then6: store i32 0, ptr %retval br label %ret ifend8: %t38 = load ptr, ptr %t0 %t39 = getelementptr inbounds %Cmp_Node, ptr %t38, i32 0, i32 4 %t40 = load ptr, ptr %t39 %t41 = call ptr @fn_static_type(ptr %t40) store ptr %t41, ptr %t42 %t43 = load ptr, ptr %t42 %t44 = icmp eq ptr %t43, null %t45 = zext i1 %t44 to i32 %t46 = icmp ne i32 %t45, 0 br i1 %t46, label %then9, label %ifend11 then9: store i32 0, ptr %retval br label %ret ifend11: %t47 = load ptr, ptr %t42 store i32 4029, ptr @lp_site %t48 = call ptr @lp_str_concat(ptr %t47, ptr @.str4884) store i32 0, ptr @lp_site %t49 = load ptr, ptr %t0 %t50 = getelementptr inbounds %Cmp_Node, ptr %t49, i32 0, i32 1 %t51 = load ptr, ptr %t50 store i32 4030, ptr @lp_site %t52 = call ptr @lp_str_concat(ptr %t48, ptr %t51) store i32 0, ptr @lp_site call void @lp_free(ptr %t48) store ptr %t52, ptr %t53 store i32 0, ptr %t54 br label %wcond12 wcond12: %t55 = load i32, ptr %t54 %t56 = load ptr, ptr @g_g_cap_keys %t57 = getelementptr inbounds %LSlice, ptr %t56, i32 0, i32 1 %t58 = load i32, ptr %t57 %t59 = icmp slt i32 %t55, %t58 %t60 = zext i1 %t59 to i32 %t61 = icmp ne i32 %t60, 0 br i1 %t61, label %wbody13, label %wend14 wbody13: %t62 = load ptr, ptr @g_g_cap_keys %t63 = load i32, ptr %t54 %t64 = getelementptr inbounds %LSlice, ptr %t62, i32 0, i32 0 %t65 = load ptr, ptr %t64 %t66 = getelementptr inbounds %LSlice, ptr %t62, i32 0, i32 1 %t67 = load i32, ptr %t66 %t68 = icmp ult i32 %t63, %t67 br i1 %t68, label %ixok15, label %ixbad16 ixbad16: store i32 4031, ptr @lp_site %t69 = call ptr @lp_win_stdio(i32 2) store i32 0, ptr @lp_site call i32 (ptr, ptr, ...) @fprintf(ptr %t69, ptr @.fmt_bounds, ptr @.str4886, i32 %t63, i32 %t67) call void @exit(i32 1) unreachable ixok15: %t70 = getelementptr inbounds ptr, ptr %t65, i32 %t63 %t71 = load ptr, ptr %t70 %t72 = load ptr, ptr %t53 %t73 = call i32 @lp_str_eq(ptr %t71, ptr %t72) %t74 = icmp ne i32 %t73, 0 br i1 %t74, label %then17, label %ifend19 then17: %t75 = load ptr, ptr %t53 store ptr %t75, ptr @g_g_push_capname %t76 = load ptr, ptr @g_g_cap_vals %t77 = load i32, ptr %t54 %t78 = getelementptr inbounds %LSlice, ptr %t76, i32 0, i32 0 %t79 = load ptr, ptr %t78 %t80 = getelementptr inbounds %LSlice, ptr %t76, i32 0, i32 1 %t81 = load i32, ptr %t80 %t82 = icmp ult i32 %t77, %t81 br i1 %t82, label %ixok20, label %ixbad21 ixbad21: store i32 4032, ptr @lp_site %t83 = call ptr @lp_win_stdio(i32 2) store i32 0, ptr @lp_site call i32 (ptr, ptr, ...) @fprintf(ptr %t83, ptr @.fmt_bounds, ptr @.str4887, i32 %t77, i32 %t81) call void @exit(i32 1) unreachable ixok20: %t84 = getelementptr inbounds i32, ptr %t79, i32 %t77 %t85 = load i32, ptr %t84 store i32 %t85, ptr %retval br label %ret ifend19: %t86 = load i32, ptr %t54 %t87 = add i32 %t86, 1 store i32 %t87, ptr %t54 br label %wcond12 wend14: store i32 0, ptr %retval br label %ret ret: %t88 = load i32, ptr %retval ret i32 %t88 } define void @fn_emit_fence_globals() { entry: call void @fn_emith(ptr @.str4888) call void @fn_emith(ptr @.str4889) call void @fn_emith(ptr @.str4890) call void @fn_emith(ptr @.str4891) call void @fn_emith(ptr @.str4892) call void @fn_emith(ptr @.str4893) call void @fn_emith(ptr @.str4894) call void @fn_emith(ptr @.str4895) call void @fn_emith(ptr @.str4896) call void @fn_emith(ptr @.str4897) call void @fn_emith(ptr @.str4898) call void @fn_emith(ptr @.str4899) call void @fn_emith(ptr @.str4900) call void @fn_emith(ptr @.str4901) call void @fn_emith(ptr @.str4902) call void @fn_emith(ptr @.str4903) call void @fn_emith(ptr @.str4904) call void @fn_emith(ptr @.str4905) call void @fn_emith(ptr @.str4906) call void @fn_emith(ptr @.str4907) call void @fn_emith(ptr @.str4908) call void @fn_emith(ptr @.str4909) call void @fn_emith(ptr @.str4910) call void @fn_emith(ptr @.str4911) call void @fn_emith(ptr @.str4912) call void @fn_emith(ptr @.str4913) call void @fn_emith(ptr @.str4914) call void @fn_emith(ptr @.str4915) call void @fn_emith(ptr @.str4916) call void @fn_emith(ptr @.str4917) call void @fn_emith(ptr @.str4918) call void @fn_emith(ptr @.str4919) call void @fn_emith(ptr @.str4920) call void @fn_emith(ptr @.str4921) call void @fn_emith(ptr @.str4922) call void @fn_emith(ptr @.str4923) call void @fn_emith(ptr @.str4924) call void @fn_emith(ptr @.str4925) call void @fn_emith(ptr @.str4926) call void @fn_emith(ptr @.str4927) call void @fn_emith(ptr @.str4928) call void @fn_emith(ptr @.str4929) call void @fn_emith(ptr @.str4930) call void @fn_emith(ptr @.str4931) call void @fn_emith(ptr @.str4932) call void @fn_emith(ptr @.str4933) call void @fn_emith(ptr @.str4934) call void @fn_emith(ptr @.str4935) call void @fn_emith(ptr @.str4936) call void @fn_emith(ptr @.str4937) call void @fn_emith(ptr @.str4938) call void @fn_emith(ptr @.str4939) call void @fn_emith(ptr @.str4940) call void @fn_emith(ptr @.str4941) call void @fn_emith(ptr @.str4942) call void @fn_emith(ptr @.str4943) call void @fn_emith(ptr @.str4944) call void @fn_emith(ptr @.str4945) call void @fn_emith(ptr @.str4946) call void @fn_emith(ptr @.str4947) call void @fn_emith(ptr @.str4948) call void @fn_emith(ptr @.str4949) call void @fn_emith(ptr @.str4950) call void @fn_emith(ptr @.str4951) call void @fn_emith(ptr @.str4952) call void @fn_emith(ptr @.str4953) call void @fn_emith(ptr @.str4954) call void @fn_emith(ptr @.str4955) call void @fn_emith(ptr @.str4956) call void @fn_emith(ptr @.str4957) call void @fn_emith(ptr @.str4958) call void @fn_emith(ptr @.str4959) call void @fn_emith(ptr @.str4960) call void @fn_emith(ptr @.str4961) call void @fn_emith(ptr @.str4962) call void @fn_emith(ptr @.str4963) call void @fn_emith(ptr @.str4964) call void @fn_emith(ptr @.str4965) call void @fn_emith(ptr @.str4966) call void @fn_emith(ptr @.str4967) call void @fn_emith(ptr @.str4968) call void @fn_emith(ptr @.str4969) call void @fn_emith(ptr @.str4970) call void @fn_emith(ptr @.str4971) call void @fn_emith(ptr @.str4972) call void @fn_emith(ptr @.str4973) call void @fn_emith(ptr @.str4974) call void @fn_emith(ptr @.str4975) call void @fn_emith(ptr @.str4976) call void @fn_emith(ptr @.str4977) call void @fn_emith(ptr @.str4978) call void @fn_emith(ptr @.str4979) call void @fn_emith(ptr @.str4980) call void @fn_emith(ptr @.str4981) call void @fn_emith(ptr @.str4982) call void @fn_emith(ptr @.str4983) call void @fn_emith(ptr @.str4984) call void @fn_emith(ptr @.str4985) call void @fn_emith(ptr @.str4986) call void @fn_emith(ptr @.str4987) call void @fn_emith(ptr @.str4988) call void @fn_emith(ptr @.str4989) call void @fn_emith(ptr @.str4990) call void @fn_emith(ptr @.str4991) call void @fn_emith(ptr @.str4992) call void @fn_emith(ptr @.str4993) call void @fn_emith(ptr @.str4994) call void @fn_emith(ptr @.str4995) call void @fn_emith(ptr @.str4996) call void @fn_emith(ptr @.str4997) call void @fn_emith(ptr @.str4998) call void @fn_emith(ptr @.str4999) call void @fn_emith(ptr @.str5000) call void @fn_emith(ptr @.str5001) call void @fn_emith(ptr @.str5002) call void @fn_emith(ptr @.str5003) call void @fn_emith(ptr @.str5004) call void @fn_emith(ptr @.str5005) call void @fn_emith(ptr @.str5006) call void @fn_emith(ptr @.str5007) call void @fn_emith(ptr @.str5008) call void @fn_emith(ptr @.str5009) call void @fn_emith(ptr @.str5010) call void @fn_emith(ptr @.str5011) br label %ret ret: ret void } define void @fn_emit_fence_entry() { entry: call void @fn_emith(ptr @.str5012) call void @fn_emith(ptr @.str5013) call void @fn_emith(ptr @.str5014) call void @fn_emith(ptr @.str5015) call void @fn_emith(ptr @.str5016) call void @fn_emith(ptr @.str5017) call void @fn_emith(ptr @.str5018) call void @fn_emith(ptr @.str5019) call void @fn_emith(ptr @.str5020) call void @fn_emith(ptr @.str5021) call void @fn_emith(ptr @.str5022) call void @fn_emith(ptr @.str5023) call void @fn_emith(ptr @.str5024) call void @fn_emith(ptr @.str5025) call void @fn_emith(ptr @.str5026) call void @fn_emith(ptr @.str5027) call void @fn_emith(ptr @.str5028) call void @fn_emith(ptr @.str5029) call void @fn_emith(ptr @.str5030) call void @fn_emith(ptr @.str5031) call void @fn_emith(ptr @.str5032) call void @fn_emith(ptr @.str5033) call void @fn_emith(ptr @.str5034) call void @fn_emith(ptr @.str5035) call void @fn_emith(ptr @.str5036) call void @fn_emith(ptr @.str5037) call void @fn_emith(ptr @.str5038) call void @fn_emith(ptr @.str5039) call void @fn_emith(ptr @.str5040) call void @fn_emith(ptr @.str5041) call void @fn_emith(ptr @.str5042) call void @fn_emith(ptr @.str5043) call void @fn_emith(ptr @.str5044) call void @fn_emith(ptr @.str5045) call void @fn_emith(ptr @.str5046) call void @fn_emith(ptr @.str5047) call void @fn_emith(ptr @.str5048) call void @fn_emith(ptr @.str5049) call void @fn_emith(ptr @.str5050) call void @fn_emith(ptr @.str5051) call void @fn_emith(ptr @.str5052) call void @fn_emith(ptr @.str5053) call void @fn_emith(ptr @.str5054) call void @fn_emith(ptr @.str5055) call void @fn_emith(ptr @.str5056) call void @fn_emith(ptr @.str5057) call void @fn_emith(ptr @.str5058) call void @fn_emith(ptr @.str5059) call void @fn_emith(ptr @.str5060) call void @fn_emith(ptr @.str5061) call void @fn_emith(ptr @.str5062) call void @fn_emith(ptr @.str5063) call void @fn_emith(ptr @.str5064) call void @fn_emith(ptr @.str5065) call void @fn_emith(ptr @.str5066) call void @fn_emith(ptr @.str5067) call void @fn_emith(ptr @.str5068) call void @fn_emith(ptr @.str5069) call void @fn_emith(ptr @.str5070) call void @fn_emith(ptr @.str5071) call void @fn_emith(ptr @.str5072) call void @fn_emith(ptr @.str5073) call void @fn_emith(ptr @.str5074) call void @fn_emith(ptr @.str5075) call void @fn_emith(ptr @.str5076) call void @fn_emith(ptr @.str5077) call void @fn_emith(ptr @.str5078) call void @fn_emith(ptr @.str5079) call void @fn_emith(ptr @.str5080) call void @fn_emith(ptr @.str5081) call void @fn_emith(ptr @.str5082) call void @fn_emith(ptr @.str5083) call void @fn_emith(ptr @.str5084) call void @fn_emith(ptr @.str5085) call void @fn_emith(ptr @.str5086) call void @fn_emith(ptr @.str5087) call void @fn_emith(ptr @.str5088) call void @fn_emith(ptr @.str5089) call void @fn_emith(ptr @.str5090) call void @fn_emith(ptr @.str5091) call void @fn_emith(ptr @.str5092) call void @fn_emith(ptr @.str5093) call void @fn_emith(ptr @.str5094) call void @fn_emith(ptr @.str5095) call void @fn_emith(ptr @.str5096) call void @fn_emith(ptr @.str5097) call void @fn_emith(ptr @.str5098) call void @fn_emith(ptr @.str5099) call void @fn_emith(ptr @.str5100) call void @fn_emith(ptr @.str5101) call void @fn_emith(ptr @.str5102) call void @fn_emith(ptr @.str5103) call void @fn_emith(ptr @.str5104) call void @fn_emith(ptr @.str5105) call void @fn_emith(ptr @.str5106) call void @fn_emith(ptr @.str5107) call void @fn_emith(ptr @.str5108) call void @fn_emith(ptr @.str5109) call void @fn_emith(ptr @.str5110) call void @fn_emith(ptr @.str5111) call void @fn_emith(ptr @.str5112) call void @fn_emith(ptr @.str5113) call void @fn_emith(ptr @.str5114) call void @fn_emith(ptr @.str5115) call void @fn_emith(ptr @.str5116) call void @fn_emith(ptr @.str5117) call void @fn_emith(ptr @.str5118) call void @fn_emith(ptr @.str5119) call void @fn_emith(ptr @.str5120) call void @fn_emith(ptr @.str5121) call void @fn_emith(ptr @.str5122) call void @fn_emith(ptr @.str5123) call void @fn_emith(ptr @.str5124) call void @fn_emith(ptr @.str5125) call void @fn_emith(ptr @.str5126) call void @fn_emith(ptr @.str5127) call void @fn_emith(ptr @.str5128) call void @fn_emith(ptr @.str5129) call void @fn_emith(ptr @.str5130) call void @fn_emith(ptr @.str5131) call void @fn_emith(ptr @.str5132) call void @fn_emith(ptr @.str5133) call void @fn_emith(ptr @.str5134) call void @fn_emith(ptr @.str5135) call void @fn_emith(ptr @.str5136) call void @fn_emith(ptr @.str5137) call void @fn_emith(ptr @.str5138) call void @fn_emith(ptr @.str5139) call void @fn_emith(ptr @.str5140) call void @fn_emith(ptr @.str5141) call void @fn_emith(ptr @.str5142) call void @fn_emith(ptr @.str5143) call void @fn_emith(ptr @.str5144) call void @fn_emith(ptr @.str5145) call void @fn_emith(ptr @.str5146) call void @fn_emith(ptr @.str5147) call void @fn_emith(ptr @.str5148) call void @fn_emith(ptr @.str5149) call void @fn_emith(ptr @.str5150) call void @fn_emith(ptr @.str5151) call void @fn_emith(ptr @.str5152) call void @fn_emith(ptr @.str5153) call void @fn_emith(ptr @.str5154) call void @fn_emith(ptr @.str5155) call void @fn_emith(ptr @.str5156) call void @fn_emith(ptr @.str5157) call void @fn_emith(ptr @.str5158) call void @fn_emith(ptr @.str5159) call void @fn_emith(ptr @.str5160) call void @fn_emith(ptr @.str5161) call void @fn_emith(ptr @.str5162) call void @fn_emith(ptr @.str5163) call void @fn_emith(ptr @.str5164) call void @fn_emith(ptr @.str5165) call void @fn_emith(ptr @.str5166) call void @fn_emith(ptr @.str5167) call void @fn_emith(ptr @.str5168) call void @fn_emith(ptr @.str5169) call void @fn_emith(ptr @.str5170) call void @fn_emith(ptr @.str5171) call void @fn_emith(ptr @.str5172) call void @fn_emith(ptr @.str5173) call void @fn_emith(ptr @.str5174) call void @fn_emith(ptr @.str5175) call void @fn_emith(ptr @.str5176) call void @fn_emith(ptr @.str5177) call void @fn_emith(ptr @.str5178) call void @fn_emith(ptr @.str5179) call void @fn_emith(ptr @.str5180) call void @fn_emith(ptr @.str5181) call void @fn_emith(ptr @.str5182) call void @fn_emith(ptr @.str5183) call void @fn_emith(ptr @.str5184) call void @fn_emith(ptr @.str5185) call void @fn_emith(ptr @.str5186) call void @fn_emith(ptr @.str5187) call void @fn_emith(ptr @.str5188) call void @fn_emith(ptr @.str5189) call void @fn_emith(ptr @.str5190) call void @fn_emith(ptr @.str5191) call void @fn_emith(ptr @.str5192) call void @fn_emith(ptr @.str5193) call void @fn_emith(ptr @.str5194) call void @fn_emith(ptr @.str5195) call void @fn_emith(ptr @.str5196) call void @fn_emith(ptr @.str5197) call void @fn_emith(ptr @.str5198) call void @fn_emith(ptr @.str5199) call void @fn_emith(ptr @.str5200) call void @fn_emith(ptr @.str5201) call void @fn_emith(ptr @.str5202) call void @fn_emith(ptr @.str5203) call void @fn_emith(ptr @.str5204) call void @fn_emith(ptr @.str5205) call void @fn_emith(ptr @.str5206) call void @fn_emith(ptr @.str5207) call void @fn_emith(ptr @.str5208) call void @fn_emith(ptr @.str5209) call void @fn_emith(ptr @.str5210) call void @fn_emith(ptr @.str5211) call void @fn_emith(ptr @.str5212) call void @fn_emith(ptr @.str5213) call void @fn_emith(ptr @.str5214) call void @fn_emith(ptr @.str5215) call void @fn_emith(ptr @.str5216) call void @fn_emith(ptr @.str5217) call void @fn_emith(ptr @.str5218) call void @fn_emith(ptr @.str5219) call void @fn_emith(ptr @.str5220) call void @fn_emith(ptr @.str5221) call void @fn_emith(ptr @.str5222) call void @fn_emith(ptr @.str5223) call void @fn_emith(ptr @.str5224) call void @fn_emith(ptr @.str5225) call void @fn_emith(ptr @.str5226) call void @fn_emith(ptr @.str5227) call void @fn_emith(ptr @.str5228) call void @fn_emith(ptr @.str5229) call void @fn_emith(ptr @.str5230) call void @fn_emith(ptr @.str5231) call void @fn_emith(ptr @.str5232) call void @fn_emith(ptr @.str5233) call void @fn_emith(ptr @.str5234) call void @fn_emith(ptr @.str5235) call void @fn_emith(ptr @.str5236) call void @fn_emith(ptr @.str5237) call void @fn_emith(ptr @.str5238) call void @fn_emith(ptr @.str5239) call void @fn_emith(ptr @.str5240) call void @fn_emith(ptr @.str5241) call void @fn_emith(ptr @.str5242) call void @fn_emith(ptr @.str5243) call void @fn_emith(ptr @.str5244) call void @fn_emith(ptr @.str5245) call void @fn_emith(ptr @.str5246) call void @fn_emith(ptr @.str5247) call void @fn_emith(ptr @.str5248) call void @fn_emith(ptr @.str5249) call void @fn_emith(ptr @.str5250) call void @fn_emith(ptr @.str5251) call void @fn_emith(ptr @.str5252) call void @fn_emith(ptr @.str5253) call void @fn_emith(ptr @.str5254) call void @fn_emith(ptr @.str5255) call void @fn_emith(ptr @.str5256) call void @fn_emith(ptr @.str5257) call void @fn_emith(ptr @.str5258) call void @fn_emith(ptr @.str5259) call void @fn_emith(ptr @.str5260) call void @fn_emith(ptr @.str5261) call void @fn_emith(ptr @.str5262) call void @fn_emith(ptr @.str5263) call void @fn_emith(ptr @.str5264) call void @fn_emith(ptr @.str5265) call void @fn_emith(ptr @.str5266) call void @fn_emith(ptr @.str5267) call void @fn_emith(ptr @.str5268) call void @fn_emith(ptr @.str5269) call void @fn_emith(ptr @.str5270) call void @fn_emith(ptr @.str5271) call void @fn_emith(ptr @.str5272) call void @fn_emith(ptr @.str5273) call void @fn_emith(ptr @.str5274) call void @fn_emith(ptr @.str5275) call void @fn_emith(ptr @.str5276) call void @fn_emith(ptr @.str5277) call void @fn_emith(ptr @.str5278) call void @fn_emith(ptr @.str5279) call void @fn_emith(ptr @.str5280) call void @fn_emith(ptr @.str5281) call void @fn_emith(ptr @.str5282) call void @fn_emith(ptr @.str5283) call void @fn_emith(ptr @.str5284) call void @fn_emith(ptr @.str5285) call void @fn_emith(ptr @.str5286) call void @fn_emith(ptr @.str5287) call void @fn_emith(ptr @.str5288) call void @fn_emith(ptr @.str5289) call void @fn_emith(ptr @.str5290) call void @fn_emith(ptr @.str5291) call void @fn_emith(ptr @.str5292) call void @fn_emith(ptr @.str5293) call void @fn_emith(ptr @.str5294) br label %ret ret: ret void } define void @fn_emit_fence_table() { entry: call void @fn_emith(ptr @.str5295) call void @fn_emith(ptr @.str5296) call void @fn_emith(ptr @.str5297) call void @fn_emith(ptr @.str5298) call void @fn_emith(ptr @.str5299) call void @fn_emith(ptr @.str5300) call void @fn_emith(ptr @.str5301) call void @fn_emith(ptr @.str5302) call void @fn_emith(ptr @.str5303) call void @fn_emith(ptr @.str5304) call void @fn_emith(ptr @.str5305) call void @fn_emith(ptr @.str5306) call void @fn_emith(ptr @.str5307) call void @fn_emith(ptr @.str5308) call void @fn_emith(ptr @.str5309) call void @fn_emith(ptr @.str5310) call void @fn_emith(ptr @.str5311) call void @fn_emith(ptr @.str5312) call void @fn_emith(ptr @.str5313) call void @fn_emith(ptr @.str5314) call void @fn_emith(ptr @.str5315) call void @fn_emith(ptr @.str5316) call void @fn_emith(ptr @.str5317) call void @fn_emith(ptr @.str5318) call void @fn_emith(ptr @.str5319) call void @fn_emith(ptr @.str5320) call void @fn_emith(ptr @.str5321) call void @fn_emith(ptr @.str5322) call void @fn_emith(ptr @.str5323) call void @fn_emith(ptr @.str5324) call void @fn_emith(ptr @.str5325) call void @fn_emith(ptr @.str5326) call void @fn_emith(ptr @.str5327) call void @fn_emith(ptr @.str5328) call void @fn_emith(ptr @.str5329) call void @fn_emith(ptr @.str5330) call void @fn_emith(ptr @.str5331) call void @fn_emith(ptr @.str5332) call void @fn_emith(ptr @.str5333) call void @fn_emith(ptr @.str5334) call void @fn_emith(ptr @.str5335) call void @fn_emith(ptr @.str5336) call void @fn_emith(ptr @.str5337) call void @fn_emith(ptr @.str5338) call void @fn_emith(ptr @.str5339) call void @fn_emith(ptr @.str5340) call void @fn_emith(ptr @.str5341) call void @fn_emith(ptr @.str5342) call void @fn_emith(ptr @.str5343) call void @fn_emith(ptr @.str5344) call void @fn_emith(ptr @.str5345) call void @fn_emith(ptr @.str5346) call void @fn_emith(ptr @.str5347) call void @fn_emith(ptr @.str5348) call void @fn_emith(ptr @.str5349) call void @fn_emith(ptr @.str5350) call void @fn_emith(ptr @.str5351) call void @fn_emith(ptr @.str5352) call void @fn_emith(ptr @.str5353) call void @fn_emith(ptr @.str5354) call void @fn_emith(ptr @.str5355) call void @fn_emith(ptr @.str5356) call void @fn_emith(ptr @.str5357) call void @fn_emith(ptr @.str5358) call void @fn_emith(ptr @.str5359) call void @fn_emith(ptr @.str5360) call void @fn_emith(ptr @.str5361) call void @fn_emith(ptr @.str5362) call void @fn_emith(ptr @.str5363) call void @fn_emith(ptr @.str5364) call void @fn_emith(ptr @.str5365) call void @fn_emith(ptr @.str5366) call void @fn_emith(ptr @.str5367) call void @fn_emith(ptr @.str5368) call void @fn_emith(ptr @.str5369) call void @fn_emith(ptr @.str5370) call void @fn_emith(ptr @.str5371) call void @fn_emith(ptr @.str5372) call void @fn_emith(ptr @.str5373) call void @fn_emith(ptr @.str5374) call void @fn_emith(ptr @.str5375) call void @fn_emith(ptr @.str5376) call void @fn_emith(ptr @.str5377) call void @fn_emith(ptr @.str5378) call void @fn_emith(ptr @.str5379) call void @fn_emith(ptr @.str5380) call void @fn_emith(ptr @.str5381) call void @fn_emith(ptr @.str5382) call void @fn_emith(ptr @.str5383) call void @fn_emith(ptr @.str5384) call void @fn_emith(ptr @.str5385) call void @fn_emith(ptr @.str5386) call void @fn_emith(ptr @.str5387) call void @fn_emith(ptr @.str5388) call void @fn_emith(ptr @.str5389) call void @fn_emith(ptr @.str5390) call void @fn_emith(ptr @.str5391) call void @fn_emith(ptr @.str5392) call void @fn_emith(ptr @.str5393) call void @fn_emith(ptr @.str5394) call void @fn_emith(ptr @.str5395) call void @fn_emith(ptr @.str5396) call void @fn_emith(ptr @.str5397) call void @fn_emith(ptr @.str5398) call void @fn_emith(ptr @.str5399) call void @fn_emith(ptr @.str5400) call void @fn_emith(ptr @.str5401) call void @fn_emith(ptr @.str5402) call void @fn_emith(ptr @.str5403) call void @fn_emith(ptr @.str5404) call void @fn_emith(ptr @.str5405) call void @fn_emith(ptr @.str5406) call void @fn_emith(ptr @.str5407) call void @fn_emith(ptr @.str5408) call void @fn_emith(ptr @.str5409) call void @fn_emith(ptr @.str5410) call void @fn_emith(ptr @.str5411) call void @fn_emith(ptr @.str5412) call void @fn_emith(ptr @.str5413) call void @fn_emith(ptr @.str5414) call void @fn_emith(ptr @.str5415) call void @fn_emith(ptr @.str5416) call void @fn_emith(ptr @.str5417) call void @fn_emith(ptr @.str5418) call void @fn_emith(ptr @.str5419) call void @fn_emith(ptr @.str5420) call void @fn_emith(ptr @.str5421) call void @fn_emith(ptr @.str5422) call void @fn_emith(ptr @.str5423) call void @fn_emith(ptr @.str5424) call void @fn_emith(ptr @.str5425) call void @fn_emith(ptr @.str5426) call void @fn_emith(ptr @.str5427) call void @fn_emith(ptr @.str5428) call void @fn_emith(ptr @.str5429) call void @fn_emith(ptr @.str5430) call void @fn_emith(ptr @.str5431) call void @fn_emith(ptr @.str5432) call void @fn_emith(ptr @.str5433) call void @fn_emith(ptr @.str5434) call void @fn_emith(ptr @.str5435) call void @fn_emith(ptr @.str5436) call void @fn_emith(ptr @.str5437) call void @fn_emith(ptr @.str5438) call void @fn_emith(ptr @.str5439) call void @fn_emith(ptr @.str5440) call void @fn_emith(ptr @.str5441) call void @fn_emith(ptr @.str5442) call void @fn_emith(ptr @.str5443) call void @fn_emith(ptr @.str5444) call void @fn_emith(ptr @.str5445) call void @fn_emith(ptr @.str5446) call void @fn_emith(ptr @.str5447) call void @fn_emith(ptr @.str5448) call void @fn_emith(ptr @.str5449) call void @fn_emith(ptr @.str5450) call void @fn_emith(ptr @.str5451) call void @fn_emith(ptr @.str5452) call void @fn_emith(ptr @.str5453) call void @fn_emith(ptr @.str5454) call void @fn_emith(ptr @.str5455) call void @fn_emith(ptr @.str5456) call void @fn_emith(ptr @.str5457) call void @fn_emith(ptr @.str5458) call void @fn_emith(ptr @.str5459) call void @fn_emith(ptr @.str5460) call void @fn_emith(ptr @.str5461) call void @fn_emith(ptr @.str5462) call void @fn_emith(ptr @.str5463) call void @fn_emith(ptr @.str5464) call void @fn_emith(ptr @.str5465) call void @fn_emith(ptr @.str5466) call void @fn_emith(ptr @.str5467) call void @fn_emith(ptr @.str5468) call void @fn_emith(ptr @.str5469) call void @fn_emith(ptr @.str5470) call void @fn_emith(ptr @.str5471) call void @fn_emith(ptr @.str5472) call void @fn_emith(ptr @.str5473) call void @fn_emith(ptr @.str5474) call void @fn_emith(ptr @.str5475) call void @fn_emith(ptr @.str5476) call void @fn_emith(ptr @.str5477) call void @fn_emith(ptr @.str5478) call void @fn_emith(ptr @.str5479) call void @fn_emith(ptr @.str5480) call void @fn_emith(ptr @.str5481) call void @fn_emith(ptr @.str5482) call void @fn_emith(ptr @.str5483) call void @fn_emith(ptr @.str5484) call void @fn_emith(ptr @.str5485) call void @fn_emith(ptr @.str5486) call void @fn_emith(ptr @.str5487) call void @fn_emith(ptr @.str5488) call void @fn_emith(ptr @.str5489) call void @fn_emith(ptr @.str5490) call void @fn_emith(ptr @.str5491) call void @fn_emith(ptr @.str5492) call void @fn_emith(ptr @.str5493) call void @fn_emith(ptr @.str5494) call void @fn_emith(ptr @.str5495) call void @fn_emith(ptr @.str5496) call void @fn_emith(ptr @.str5497) call void @fn_emith(ptr @.str5498) call void @fn_emith(ptr @.str5499) call void @fn_emith(ptr @.str5500) call void @fn_emith(ptr @.str5501) call void @fn_emith(ptr @.str5502) call void @fn_emith(ptr @.str5503) call void @fn_emith(ptr @.str5504) call void @fn_emith(ptr @.str5505) call void @fn_emith(ptr @.str5506) call void @fn_emith(ptr @.str5507) call void @fn_emith(ptr @.str5508) call void @fn_emith(ptr @.str5509) call void @fn_emith(ptr @.str5510) call void @fn_emith(ptr @.str5511) call void @fn_emith(ptr @.str5512) call void @fn_emith(ptr @.str5513) call void @fn_emith(ptr @.str5514) call void @fn_emith(ptr @.str5515) call void @fn_emith(ptr @.str5516) call void @fn_emith(ptr @.str5517) call void @fn_emith(ptr @.str5518) call void @fn_emith(ptr @.str5519) call void @fn_emith(ptr @.str5520) call void @fn_emith(ptr @.str5521) call void @fn_emith(ptr @.str5522) call void @fn_emith(ptr @.str5523) call void @fn_emith(ptr @.str5524) call void @fn_emith(ptr @.str5525) call void @fn_emith(ptr @.str5526) call void @fn_emith(ptr @.str5527) call void @fn_emith(ptr @.str5528) call void @fn_emith(ptr @.str5529) call void @fn_emith(ptr @.str5530) call void @fn_emith(ptr @.str5531) call void @fn_emith(ptr @.str5532) call void @fn_emith(ptr @.str5533) call void @fn_emith(ptr @.str5534) call void @fn_emith(ptr @.str5535) call void @fn_emith(ptr @.str5536) call void @fn_emith(ptr @.str5537) call void @fn_emith(ptr @.str5538) call void @fn_emith(ptr @.str5539) call void @fn_emith(ptr @.str5540) call void @fn_emith(ptr @.str5541) call void @fn_emith(ptr @.str5542) call void @fn_emith(ptr @.str5543) call void @fn_emith(ptr @.str5544) call void @fn_emith(ptr @.str5545) call void @fn_emith(ptr @.str5546) call void @fn_emith(ptr @.str5547) call void @fn_emith(ptr @.str5548) call void @fn_emith(ptr @.str5549) call void @fn_emith(ptr @.str5550) call void @fn_emith(ptr @.str5551) call void @fn_emith(ptr @.str5552) call void @fn_emith(ptr @.str5553) call void @fn_emith(ptr @.str5554) call void @fn_emith(ptr @.str5555) call void @fn_emith(ptr @.str5556) call void @fn_emith(ptr @.str5557) call void @fn_emith(ptr @.str5558) call void @fn_emith(ptr @.str5559) call void @fn_emith(ptr @.str5560) call void @fn_emith(ptr @.str5561) call void @fn_emith(ptr @.str5562) call void @fn_emith(ptr @.str5563) call void @fn_emith(ptr @.str5564) call void @fn_emith(ptr @.str5565) call void @fn_emith(ptr @.str5566) call void @fn_emith(ptr @.str5567) call void @fn_emith(ptr @.str5568) call void @fn_emith(ptr @.str5569) call void @fn_emith(ptr @.str5570) call void @fn_emith(ptr @.str5571) call void @fn_emith(ptr @.str5572) call void @fn_emith(ptr @.str5573) call void @fn_emith(ptr @.str5574) call void @fn_emith(ptr @.str5575) call void @fn_emith(ptr @.str5576) call void @fn_emith(ptr @.str5577) call void @fn_emith(ptr @.str5578) call void @fn_emith(ptr @.str5579) call void @fn_emith(ptr @.str5580) call void @fn_emith(ptr @.str5581) call void @fn_emith(ptr @.str5582) call void @fn_emith(ptr @.str5583) call void @fn_emith(ptr @.str5584) call void @fn_emith(ptr @.str5585) call void @fn_emith(ptr @.str5586) call void @fn_emith(ptr @.str5587) call void @fn_emith(ptr @.str5588) call void @fn_emith(ptr @.str5589) call void @fn_emith(ptr @.str5590) call void @fn_emith(ptr @.str5591) call void @fn_emith(ptr @.str5592) call void @fn_emith(ptr @.str5593) call void @fn_emith(ptr @.str5594) call void @fn_emith(ptr @.str5595) call void @fn_emith(ptr @.str5596) call void @fn_emith(ptr @.str5597) call void @fn_emith(ptr @.str5598) call void @fn_emith(ptr @.str5599) call void @fn_emith(ptr @.str5600) call void @fn_emith(ptr @.str5601) call void @fn_emith(ptr @.str5602) call void @fn_emith(ptr @.str5603) call void @fn_emith(ptr @.str5604) call void @fn_emith(ptr @.str5605) call void @fn_emith(ptr @.str5606) call void @fn_emith(ptr @.str5607) call void @fn_emith(ptr @.str5608) call void @fn_emith(ptr @.str5609) call void @fn_emith(ptr @.str5610) call void @fn_emith(ptr @.str5611) call void @fn_emith(ptr @.str5612) call void @fn_emith(ptr @.str5613) call void @fn_emith(ptr @.str5614) call void @fn_emith(ptr @.str5615) call void @fn_emith(ptr @.str5616) call void @fn_emith(ptr @.str5617) call void @fn_emith(ptr @.str5618) call void @fn_emith(ptr @.str5619) call void @fn_emith(ptr @.str5620) call void @fn_emith(ptr @.str5621) call void @fn_emith(ptr @.str5622) call void @fn_emith(ptr @.str5623) call void @fn_emith(ptr @.str5624) call void @fn_emith(ptr @.str5625) call void @fn_emith(ptr @.str5626) call void @fn_emith(ptr @.str5627) call void @fn_emith(ptr @.str5628) call void @fn_emith(ptr @.str5629) call void @fn_emith(ptr @.str5630) call void @fn_emith(ptr @.str5631) call void @fn_emith(ptr @.str5632) call void @fn_emith(ptr @.str5633) call void @fn_emith(ptr @.str5634) call void @fn_emith(ptr @.str5635) call void @fn_emith(ptr @.str5636) call void @fn_emith(ptr @.str5637) call void @fn_emith(ptr @.str5638) call void @fn_emith(ptr @.str5639) call void @fn_emith(ptr @.str5640) call void @fn_emith(ptr @.str5641) call void @fn_emith(ptr @.str5642) call void @fn_emith(ptr @.str5643) call void @fn_emith(ptr @.str5644) call void @fn_emith(ptr @.str5645) call void @fn_emith(ptr @.str5646) call void @fn_emith(ptr @.str5647) call void @fn_emith(ptr @.str5648) call void @fn_emith(ptr @.str5649) call void @fn_emith(ptr @.str5650) call void @fn_emith(ptr @.str5651) call void @fn_emith(ptr @.str5652) call void @fn_emith(ptr @.str5653) call void @fn_emith(ptr @.str5654) call void @fn_emith(ptr @.str5655) call void @fn_emith(ptr @.str5656) br label %ret ret: ret void } define void @fn_emit_fence_control() { entry: call void @fn_emith(ptr @.str5657) call void @fn_emith(ptr @.str5658) call void @fn_emith(ptr @.str5659) call void @fn_emith(ptr @.str5660) call void @fn_emith(ptr @.str5661) call void @fn_emith(ptr @.str5662) call void @fn_emith(ptr @.str5663) call void @fn_emith(ptr @.str5664) call void @fn_emith(ptr @.str5665) call void @fn_emith(ptr @.str5666) call void @fn_emith(ptr @.str5667) call void @fn_emith(ptr @.str5668) call void @fn_emith(ptr @.str5669) call void @fn_emith(ptr @.str5670) call void @fn_emith(ptr @.str5671) call void @fn_emith(ptr @.str5672) call void @fn_emith(ptr @.str5673) call void @fn_emith(ptr @.str5674) call void @fn_emith(ptr @.str5675) call void @fn_emith(ptr @.str5676) call void @fn_emith(ptr @.str5677) call void @fn_emith(ptr @.str5678) call void @fn_emith(ptr @.str5679) call void @fn_emith(ptr @.str5680) call void @fn_emith(ptr @.str5681) call void @fn_emith(ptr @.str5682) call void @fn_emith(ptr @.str5683) call void @fn_emith(ptr @.str5684) call void @fn_emith(ptr @.str5685) call void @fn_emith(ptr @.str5686) call void @fn_emith(ptr @.str5687) call void @fn_emith(ptr @.str5688) call void @fn_emith(ptr @.str5689) call void @fn_emith(ptr @.str5690) call void @fn_emith(ptr @.str5691) call void @fn_emith(ptr @.str5692) call void @fn_emith(ptr @.str5693) call void @fn_emith(ptr @.str5694) call void @fn_emith(ptr @.str5695) call void @fn_emith(ptr @.str5696) call void @fn_emith(ptr @.str5697) call void @fn_emith(ptr @.str5698) call void @fn_emith(ptr @.str5699) call void @fn_emith(ptr @.str5700) call void @fn_emith(ptr @.str5701) call void @fn_emith(ptr @.str5702) call void @fn_emith(ptr @.str5703) call void @fn_emith(ptr @.str5704) call void @fn_emith(ptr @.str5705) call void @fn_emith(ptr @.str5706) call void @fn_emith(ptr @.str5707) call void @fn_emith(ptr @.str5708) call void @fn_emith(ptr @.str5709) call void @fn_emith(ptr @.str5710) call void @fn_emith(ptr @.str5711) call void @fn_emith(ptr @.str5712) call void @fn_emith(ptr @.str5713) call void @fn_emith(ptr @.str5714) call void @fn_emith(ptr @.str5715) call void @fn_emith(ptr @.str5716) call void @fn_emith(ptr @.str5717) call void @fn_emith(ptr @.str5718) call void @fn_emith(ptr @.str5719) call void @fn_emith(ptr @.str5720) call void @fn_emith(ptr @.str5721) call void @fn_emith(ptr @.str5722) call void @fn_emith(ptr @.str5723) call void @fn_emith(ptr @.str5724) call void @fn_emith(ptr @.str5725) call void @fn_emith(ptr @.str5726) call void @fn_emith(ptr @.str5727) call void @fn_emith(ptr @.str5728) call void @fn_emith(ptr @.str5729) call void @fn_emith(ptr @.str5730) call void @fn_emith(ptr @.str5731) call void @fn_emith(ptr @.str5732) call void @fn_emith(ptr @.str5733) call void @fn_emith(ptr @.str5734) call void @fn_emith(ptr @.str5735) call void @fn_emith(ptr @.str5736) call void @fn_emith(ptr @.str5737) call void @fn_emith(ptr @.str5738) call void @fn_emith(ptr @.str5739) call void @fn_emith(ptr @.str5740) call void @fn_emith(ptr @.str5741) call void @fn_emith(ptr @.str5742) call void @fn_emith(ptr @.str5743) call void @fn_emith(ptr @.str5744) call void @fn_emith(ptr @.str5745) call void @fn_emith(ptr @.str5746) call void @fn_emith(ptr @.str5747) call void @fn_emith(ptr @.str5748) call void @fn_emith(ptr @.str5749) call void @fn_emith(ptr @.str5750) call void @fn_emith(ptr @.str5751) call void @fn_emith(ptr @.str5752) call void @fn_emith(ptr @.str5753) call void @fn_emith(ptr @.str5754) call void @fn_emith(ptr @.str5755) call void @fn_emith(ptr @.str5756) call void @fn_emith(ptr @.str5757) call void @fn_emith(ptr @.str5758) call void @fn_emith(ptr @.str5759) call void @fn_emith(ptr @.str5760) call void @fn_emith(ptr @.str5761) call void @fn_emith(ptr @.str5762) call void @fn_emith(ptr @.str5763) call void @fn_emith(ptr @.str5764) call void @fn_emith(ptr @.str5765) call void @fn_emith(ptr @.str5766) call void @fn_emith(ptr @.str5767) call void @fn_emith(ptr @.str5768) call void @fn_emith(ptr @.str5769) call void @fn_emith(ptr @.str5770) call void @fn_emith(ptr @.str5771) call void @fn_emith(ptr @.str5772) call void @fn_emith(ptr @.str5773) call void @fn_emith(ptr @.str5774) call void @fn_emith(ptr @.str5775) call void @fn_emith(ptr @.str5776) call void @fn_emith(ptr @.str5777) call void @fn_emith(ptr @.str5778) call void @fn_emith(ptr @.str5779) call void @fn_emith(ptr @.str5780) call void @fn_emith(ptr @.str5781) call void @fn_emith(ptr @.str5782) call void @fn_emith(ptr @.str5783) call void @fn_emith(ptr @.str5784) call void @fn_emith(ptr @.str5785) call void @fn_emith(ptr @.str5786) call void @fn_emith(ptr @.str5787) call void @fn_emith(ptr @.str5788) call void @fn_emith(ptr @.str5789) call void @fn_emith(ptr @.str5790) call void @fn_emith(ptr @.str5791) call void @fn_emith(ptr @.str5792) call void @fn_emith(ptr @.str5793) call void @fn_emith(ptr @.str5794) call void @fn_emith(ptr @.str5795) call void @fn_emith(ptr @.str5796) call void @fn_emith(ptr @.str5797) call void @fn_emith(ptr @.str5798) call void @fn_emith(ptr @.str5799) call void @fn_emith(ptr @.str5800) call void @fn_emith(ptr @.str5801) call void @fn_emith(ptr @.str5802) call void @fn_emith(ptr @.str5803) call void @fn_emith(ptr @.str5804) call void @fn_emith(ptr @.str5805) call void @fn_emith(ptr @.str5806) call void @fn_emith(ptr @.str5807) call void @fn_emith(ptr @.str5808) call void @fn_emith(ptr @.str5809) call void @fn_emith(ptr @.str5810) call void @fn_emith(ptr @.str5811) call void @fn_emith(ptr @.str5812) call void @fn_emith(ptr @.str5813) call void @fn_emith(ptr @.str5814) call void @fn_emith(ptr @.str5815) call void @fn_emith(ptr @.str5816) call void @fn_emith(ptr @.str5817) call void @fn_emith(ptr @.str5818) call void @fn_emith(ptr @.str5819) call void @fn_emith(ptr @.str5820) call void @fn_emith(ptr @.str5821) call void @fn_emith(ptr @.str5822) call void @fn_emith(ptr @.str5823) call void @fn_emith(ptr @.str5824) call void @fn_emith(ptr @.str5825) call void @fn_emith(ptr @.str5826) call void @fn_emith(ptr @.str5827) call void @fn_emith(ptr @.str5828) call void @fn_emith(ptr @.str5829) call void @fn_emith(ptr @.str5830) call void @fn_emith(ptr @.str5831) call void @fn_emith(ptr @.str5832) call void @fn_emith(ptr @.str5833) call void @fn_emith(ptr @.str5834) call void @fn_emith(ptr @.str5835) call void @fn_emith(ptr @.str5836) call void @fn_emith(ptr @.str5837) call void @fn_emith(ptr @.str5838) call void @fn_emith(ptr @.str5839) call void @fn_emith(ptr @.str5840) call void @fn_emith(ptr @.str5841) call void @fn_emith(ptr @.str5842) call void @fn_emith(ptr @.str5843) call void @fn_emith(ptr @.str5844) call void @fn_emith(ptr @.str5845) call void @fn_emith(ptr @.str5846) call void @fn_emith(ptr @.str5847) call void @fn_emith(ptr @.str5848) call void @fn_emith(ptr @.str5849) call void @fn_emith(ptr @.str5850) call void @fn_emith(ptr @.str5851) call void @fn_emith(ptr @.str5852) call void @fn_emith(ptr @.str5853) call void @fn_emith(ptr @.str5854) call void @fn_emith(ptr @.str5855) call void @fn_emith(ptr @.str5856) call void @fn_emith(ptr @.str5857) call void @fn_emith(ptr @.str5858) call void @fn_emith(ptr @.str5859) call void @fn_emith(ptr @.str5860) call void @fn_emith(ptr @.str5861) call void @fn_emith(ptr @.str5862) call void @fn_emith(ptr @.str5863) call void @fn_emith(ptr @.str5864) br label %ret ret: ret void } define void @fn_emit_fence_report() { entry: call void @fn_emith(ptr @.str5865) call void @fn_emith(ptr @.str5866) call void @fn_emith(ptr @.str5867) call void @fn_emith(ptr @.str5868) call void @fn_emith(ptr @.str5869) call void @fn_emith(ptr @.str5870) call void @fn_emith(ptr @.str5871) call void @fn_emith(ptr @.str5872) call void @fn_emith(ptr @.str5873) call void @fn_emith(ptr @.str5874) call void @fn_emith(ptr @.str5875) call void @fn_emith(ptr @.str5876) call void @fn_emith(ptr @.str5877) 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) call void @fn_emith(ptr @.str5976) call void @fn_emith(ptr @.str5977) call void @fn_emith(ptr @.str5978) call void @fn_emith(ptr @.str5979) call void @fn_emith(ptr @.str5980) call void @fn_emith(ptr @.str5981) call void @fn_emith(ptr @.str5982) call void @fn_emith(ptr @.str5983) call void @fn_emith(ptr @.str5984) call void @fn_emith(ptr @.str5985) call void @fn_emith(ptr @.str5986) call void @fn_emith(ptr @.str5987) call void @fn_emith(ptr @.str5988) call void @fn_emith(ptr @.str5989) call void @fn_emith(ptr @.str5990) call void @fn_emith(ptr @.str5991) call void @fn_emith(ptr @.str5992) call void @fn_emith(ptr @.str5993) call void @fn_emith(ptr @.str5994) call void @fn_emith(ptr @.str5995) call void @fn_emith(ptr @.str5996) call void @fn_emith(ptr @.str5997) call void @fn_emith(ptr @.str5998) call void @fn_emith(ptr @.str5999) call void @fn_emith(ptr @.str6000) call void @fn_emith(ptr @.str6001) call void @fn_emith(ptr @.str6002) call void @fn_emith(ptr @.str6003) call void @fn_emith(ptr @.str6004) call void @fn_emith(ptr @.str6005) call void @fn_emith(ptr @.str6006) call void @fn_emith(ptr @.str6007) call void @fn_emith(ptr @.str6008) call void @fn_emith(ptr @.str6009) call void @fn_emith(ptr @.str6010) call void @fn_emith(ptr @.str6011) call void @fn_emith(ptr @.str6012) call void @fn_emith(ptr @.str6013) call void @fn_emith(ptr @.str6014) call void @fn_emith(ptr @.str6015) call void @fn_emith(ptr @.str6016) call void @fn_emith(ptr @.str6017) call void @fn_emith(ptr @.str6018) call void @fn_emith(ptr @.str6019) call void @fn_emith(ptr @.str6020) call void @fn_emith(ptr @.str6021) call void @fn_emith(ptr @.str6022) call void @fn_emith(ptr @.str6023) call void @fn_emith(ptr @.str6024) call void @fn_emith(ptr @.str6025) call void @fn_emith(ptr @.str6026) call void @fn_emith(ptr @.str6027) call void @fn_emith(ptr @.str6028) call void @fn_emith(ptr @.str6029) call void @fn_emith(ptr @.str6030) call void @fn_emith(ptr @.str6031) call void @fn_emith(ptr @.str6032) call void @fn_emith(ptr @.str6033) call void @fn_emith(ptr @.str6034) call void @fn_emith(ptr @.str6035) call void @fn_emith(ptr @.str6036) call void @fn_emith(ptr @.str6037) call void @fn_emith(ptr @.str6038) call void @fn_emith(ptr @.str6039) call void @fn_emith(ptr @.str6040) call void @fn_emith(ptr @.str6041) call void @fn_emith(ptr @.str6042) call void @fn_emith(ptr @.str6043) call void @fn_emith(ptr @.str6044) br label %ret ret: ret void } define void @fn_emit_fence_frame() { entry: call void @fn_emith(ptr @.str6045) call void @fn_emith(ptr @.str6046) call void @fn_emith(ptr @.str6047) call void @fn_emith(ptr @.str6048) call void @fn_emith(ptr @.str6049) call void @fn_emith(ptr @.str6050) call void @fn_emith(ptr @.str6051) call void @fn_emith(ptr @.str6052) call void @fn_emith(ptr @.str6053) call void @fn_emith(ptr @.str6054) call void @fn_emith(ptr @.str6055) call void @fn_emith(ptr @.str6056) call void @fn_emith(ptr @.str6057) call void @fn_emith(ptr @.str6058) call void @fn_emith(ptr @.str6059) call void @fn_emith(ptr @.str6060) call void @fn_emith(ptr @.str6061) call void @fn_emith(ptr @.str6062) call void @fn_emith(ptr @.str6063) call void @fn_emith(ptr @.str6064) call void @fn_emith(ptr @.str6065) call void @fn_emith(ptr @.str6066) call void @fn_emith(ptr @.str6067) call void @fn_emith(ptr @.str6068) call void @fn_emith(ptr @.str6069) call void @fn_emith(ptr @.str6070) call void @fn_emith(ptr @.str6071) call void @fn_emith(ptr @.str6072) call void @fn_emith(ptr @.str6073) call void @fn_emith(ptr @.str6074) call void @fn_emith(ptr @.str6075) call void @fn_emith(ptr @.str6076) call void @fn_emith(ptr @.str6077) call void @fn_emith(ptr @.str6078) call void @fn_emith(ptr @.str6079) call void @fn_emith(ptr @.str6080) call void @fn_emith(ptr @.str6081) call void @fn_emith(ptr @.str6082) call void @fn_emith(ptr @.str6083) call void @fn_emith(ptr @.str6084) call void @fn_emith(ptr @.str6085) call void @fn_emith(ptr @.str6086) call void @fn_emith(ptr @.str6087) call void @fn_emith(ptr @.str6088) call void @fn_emith(ptr @.str6089) call void @fn_emith(ptr @.str6090) call void @fn_emith(ptr @.str6091) call void @fn_emith(ptr @.str6092) call void @fn_emith(ptr @.str6093) call void @fn_emith(ptr @.str6094) call void @fn_emith(ptr @.str6095) call void @fn_emith(ptr @.str6096) call void @fn_emith(ptr @.str6097) call void @fn_emith(ptr @.str6098) call void @fn_emith(ptr @.str6099) call void @fn_emith(ptr @.str6100) call void @fn_emith(ptr @.str6101) call void @fn_emith(ptr @.str6102) call void @fn_emith(ptr @.str6103) call void @fn_emith(ptr @.str6104) call void @fn_emith(ptr @.str6105) call void @fn_emith(ptr @.str6106) call void @fn_emith(ptr @.str6107) call void @fn_emith(ptr @.str6108) call void @fn_emith(ptr @.str6109) call void @fn_emith(ptr @.str6110) call void @fn_emith(ptr @.str6111) call void @fn_emith(ptr @.str6112) call void @fn_emith(ptr @.str6113) call void @fn_emith(ptr @.str6114) call void @fn_emith(ptr @.str6115) call void @fn_emith(ptr @.str6116) call void @fn_emith(ptr @.str6117) call void @fn_emith(ptr @.str6118) call void @fn_emith(ptr @.str6119) call void @fn_emith(ptr @.str6120) call void @fn_emith(ptr @.str6121) call void @fn_emith(ptr @.str6122) call void @fn_emith(ptr @.str6123) call void @fn_emith(ptr @.str6124) call void @fn_emith(ptr @.str6125) call void @fn_emith(ptr @.str6126) call void @fn_emith(ptr @.str6127) call void @fn_emith(ptr @.str6128) call void @fn_emith(ptr @.str6129) call void @fn_emith(ptr @.str6130) call void @fn_emith(ptr @.str6131) call void @fn_emith(ptr @.str6132) call void @fn_emith(ptr @.str6133) call void @fn_emith(ptr @.str6134) call void @fn_emith(ptr @.str6135) call void @fn_emith(ptr @.str6136) call void @fn_emith(ptr @.str6137) call void @fn_emith(ptr @.str6138) call void @fn_emith(ptr @.str6139) call void @fn_emith(ptr @.str6140) call void @fn_emith(ptr @.str6141) call void @fn_emith(ptr @.str6142) call void @fn_emith(ptr @.str6143) call void @fn_emith(ptr @.str6144) call void @fn_emith(ptr @.str6145) call void @fn_emith(ptr @.str6146) call void @fn_emith(ptr @.str6147) call void @fn_emith(ptr @.str6148) call void @fn_emith(ptr @.str6149) call void @fn_emith(ptr @.str6150) call void @fn_emith(ptr @.str6151) call void @fn_emith(ptr @.str6152) call void @fn_emith(ptr @.str6153) call void @fn_emith(ptr @.str6154) call void @fn_emith(ptr @.str6155) call void @fn_emith(ptr @.str6156) call void @fn_emith(ptr @.str6157) call void @fn_emith(ptr @.str6158) call void @fn_emith(ptr @.str6159) call void @fn_emith(ptr @.str6160) call void @fn_emith(ptr @.str6161) call void @fn_emith(ptr @.str6162) call void @fn_emith(ptr @.str6163) call void @fn_emith(ptr @.str6164) call void @fn_emith(ptr @.str6165) call void @fn_emith(ptr @.str6166) call void @fn_emith(ptr @.str6167) call void @fn_emith(ptr @.str6168) call void @fn_emith(ptr @.str6169) call void @fn_emith(ptr @.str6170) call void @fn_emith(ptr @.str6171) call void @fn_emith(ptr @.str6172) call void @fn_emith(ptr @.str6173) call void @fn_emith(ptr @.str6174) call void @fn_emith(ptr @.str6175) call void @fn_emith(ptr @.str6176) call void @fn_emith(ptr @.str6177) call void @fn_emith(ptr @.str6178) call void @fn_emith(ptr @.str6179) call void @fn_emith(ptr @.str6180) call void @fn_emith(ptr @.str6181) call void @fn_emith(ptr @.str6182) call void @fn_emith(ptr @.str6183) call void @fn_emith(ptr @.str6184) call void @fn_emith(ptr @.str6185) call void @fn_emith(ptr @.str6186) call void @fn_emith(ptr @.str6187) call void @fn_emith(ptr @.str6188) call void @fn_emith(ptr @.str6189) call void @fn_emith(ptr @.str6190) call void @fn_emith(ptr @.str6191) call void @fn_emith(ptr @.str6192) call void @fn_emith(ptr @.str6193) call void @fn_emith(ptr @.str6194) call void @fn_emith(ptr @.str6195) call void @fn_emith(ptr @.str6196) call void @fn_emith(ptr @.str6197) call void @fn_emith(ptr @.str6198) call void @fn_emith(ptr @.str6199) call void @fn_emith(ptr @.str6200) call void @fn_emith(ptr @.str6201) call void @fn_emith(ptr @.str6202) call void @fn_emith(ptr @.str6203) call void @fn_emith(ptr @.str6204) call void @fn_emith(ptr @.str6205) call void @fn_emith(ptr @.str6206) call void @fn_emith(ptr @.str6207) call void @fn_emith(ptr @.str6208) call void @fn_emith(ptr @.str6209) call void @fn_emith(ptr @.str6210) call void @fn_emith(ptr @.str6211) call void @fn_emith(ptr @.str6212) call void @fn_emith(ptr @.str6213) call void @fn_emith(ptr @.str6214) call void @fn_emith(ptr @.str6215) call void @fn_emith(ptr @.str6216) call void @fn_emith(ptr @.str6217) call void @fn_emith(ptr @.str6218) call void @fn_emith(ptr @.str6219) call void @fn_emith(ptr @.str6220) call void @fn_emith(ptr @.str6221) call void @fn_emith(ptr @.str6222) call void @fn_emith(ptr @.str6223) call void @fn_emith(ptr @.str6224) call void @fn_emith(ptr @.str6225) call void @fn_emith(ptr @.str6226) call void @fn_emith(ptr @.str6227) call void @fn_emith(ptr @.str6228) call void @fn_emith(ptr @.str6229) call void @fn_emith(ptr @.str6230) call void @fn_emith(ptr @.str6231) call void @fn_emith(ptr @.str6232) call void @fn_emith(ptr @.str6233) call void @fn_emith(ptr @.str6234) call void @fn_emith(ptr @.str6235) call void @fn_emith(ptr @.str6236) call void @fn_emith(ptr @.str6237) call void @fn_emith(ptr @.str6238) call void @fn_emith(ptr @.str6239) call void @fn_emith(ptr @.str6240) call void @fn_emith(ptr @.str6241) call void @fn_emith(ptr @.str6242) call void @fn_emith(ptr @.str6243) call void @fn_emith(ptr @.str6244) call void @fn_emith(ptr @.str6245) call void @fn_emith(ptr @.str6246) call void @fn_emith(ptr @.str6247) call void @fn_emith(ptr @.str6248) call void @fn_emith(ptr @.str6249) call void @fn_emith(ptr @.str6250) call void @fn_emith(ptr @.str6251) call void @fn_emith(ptr @.str6252) call void @fn_emith(ptr @.str6253) call void @fn_emith(ptr @.str6254) call void @fn_emith(ptr @.str6255) call void @fn_emith(ptr @.str6256) call void @fn_emith(ptr @.str6257) call void @fn_emith(ptr @.str6258) call void @fn_emith(ptr @.str6259) call void @fn_emith(ptr @.str6260) call void @fn_emith(ptr @.str6261) call void @fn_emith(ptr @.str6262) call void @fn_emith(ptr @.str6263) call void @fn_emith(ptr @.str6264) call void @fn_emith(ptr @.str6265) call void @fn_emith(ptr @.str6266) call void @fn_emith(ptr @.str6267) call void @fn_emith(ptr @.str6268) call void @fn_emith(ptr @.str6269) call void @fn_emith(ptr @.str6270) call void @fn_emith(ptr @.str6271) call void @fn_emith(ptr @.str6272) call void @fn_emith(ptr @.str6273) call void @fn_emith(ptr @.str6274) call void @fn_emith(ptr @.str6275) call void @fn_emith(ptr @.str6276) call void @fn_emith(ptr @.str6277) call void @fn_emith(ptr @.str6278) call void @fn_emith(ptr @.str6279) call void @fn_emith(ptr @.str6280) call void @fn_emith(ptr @.str6281) call void @fn_emith(ptr @.str6282) call void @fn_emith(ptr @.str6283) call void @fn_emith(ptr @.str6284) call void @fn_emith(ptr @.str6285) call void @fn_emith(ptr @.str6286) call void @fn_emith(ptr @.str6287) call void @fn_emith(ptr @.str6288) call void @fn_emith(ptr @.str6289) call void @fn_emith(ptr @.str6290) call void @fn_emith(ptr @.str6291) call void @fn_emith(ptr @.str6292) call void @fn_emith(ptr @.str6293) call void @fn_emith(ptr @.str6294) call void @fn_emith(ptr @.str6295) call void @fn_emith(ptr @.str6296) call void @fn_emith(ptr @.str6297) call void @fn_emith(ptr @.str6298) call void @fn_emith(ptr @.str6299) call void @fn_emith(ptr @.str6300) call void @fn_emith(ptr @.str6301) call void @fn_emith(ptr @.str6302) call void @fn_emith(ptr @.str6303) call void @fn_emith(ptr @.str6304) call void @fn_emith(ptr @.str6305) call void @fn_emith(ptr @.str6306) call void @fn_emith(ptr @.str6307) call void @fn_emith(ptr @.str6308) call void @fn_emith(ptr @.str6309) call void @fn_emith(ptr @.str6310) call void @fn_emith(ptr @.str6311) call void @fn_emith(ptr @.str6312) call void @fn_emith(ptr @.str6313) call void @fn_emith(ptr @.str6314) call void @fn_emith(ptr @.str6315) call void @fn_emith(ptr @.str6316) call void @fn_emith(ptr @.str6317) call void @fn_emith(ptr @.str6318) call void @fn_emith(ptr @.str6319) call void @fn_emith(ptr @.str6320) call void @fn_emith(ptr @.str6321) call void @fn_emith(ptr @.str6322) call void @fn_emith(ptr @.str6323) call void @fn_emith(ptr @.str6324) call void @fn_emith(ptr @.str6325) call void @fn_emith(ptr @.str6326) call void @fn_emith(ptr @.str6327) call void @fn_emith(ptr @.str6328) call void @fn_emith(ptr @.str6329) call void @fn_emith(ptr @.str6330) call void @fn_emith(ptr @.str6331) call void @fn_emith(ptr @.str6332) call void @fn_emith(ptr @.str6333) call void @fn_emith(ptr @.str6334) call void @fn_emith(ptr @.str6335) call void @fn_emith(ptr @.str6336) call void @fn_emith(ptr @.str6337) call void @fn_emith(ptr @.str6338) call void @fn_emith(ptr @.str6339) call void @fn_emith(ptr @.str6340) call void @fn_emith(ptr @.str6341) call void @fn_emith(ptr @.str6342) call void @fn_emith(ptr @.str6343) call void @fn_emith(ptr @.str6344) call void @fn_emith(ptr @.str6345) call void @fn_emith(ptr @.str6346) call void @fn_emith(ptr @.str6347) call void @fn_emith(ptr @.str6348) call void @fn_emith(ptr @.str6349) call void @fn_emith(ptr @.str6350) call void @fn_emith(ptr @.str6351) call void @fn_emith(ptr @.str6352) call void @fn_emith(ptr @.str6353) call void @fn_emith(ptr @.str6354) call void @fn_emith(ptr @.str6355) call void @fn_emith(ptr @.str6356) call void @fn_emith(ptr @.str6357) call void @fn_emith(ptr @.str6358) call void @fn_emith(ptr @.str6359) call void @fn_emith(ptr @.str6360) call void @fn_emith(ptr @.str6361) call void @fn_emith(ptr @.str6362) call void @fn_emith(ptr @.str6363) call void @fn_emith(ptr @.str6364) call void @fn_emith(ptr @.str6365) call void @fn_emith(ptr @.str6366) call void @fn_emith(ptr @.str6367) call void @fn_emith(ptr @.str6368) call void @fn_emith(ptr @.str6369) call void @fn_emith(ptr @.str6370) call void @fn_emith(ptr @.str6371) call void @fn_emith(ptr @.str6372) call void @fn_emith(ptr @.str6373) call void @fn_emith(ptr @.str6374) call void @fn_emith(ptr @.str6375) call void @fn_emith(ptr @.str6376) call void @fn_emith(ptr @.str6377) call void @fn_emith(ptr @.str6378) call void @fn_emith(ptr @.str6379) call void @fn_emith(ptr @.str6380) call void @fn_emith(ptr @.str6381) call void @fn_emith(ptr @.str6382) call void @fn_emith(ptr @.str6383) call void @fn_emith(ptr @.str6384) call void @fn_emith(ptr @.str6385) call void @fn_emith(ptr @.str6386) call void @fn_emith(ptr @.str6387) call void @fn_emith(ptr @.str6388) call void @fn_emith(ptr @.str6389) call void @fn_emith(ptr @.str6390) call void @fn_emith(ptr @.str6391) call void @fn_emith(ptr @.str6392) call void @fn_emith(ptr @.str6393) call void @fn_emith(ptr @.str6394) call void @fn_emith(ptr @.str6395) call void @fn_emith(ptr @.str6396) call void @fn_emith(ptr @.str6397) call void @fn_emith(ptr @.str6398) call void @fn_emith(ptr @.str6399) call void @fn_emith(ptr @.str6400) call void @fn_emith(ptr @.str6401) call void @fn_emith(ptr @.str6402) call void @fn_emith(ptr @.str6403) call void @fn_emith(ptr @.str6404) call void @fn_emith(ptr @.str6405) call void @fn_emith(ptr @.str6406) call void @fn_emith(ptr @.str6407) call void @fn_emith(ptr @.str6408) call void @fn_emith(ptr @.str6409) call void @fn_emith(ptr @.str6410) call void @fn_emith(ptr @.str6411) call void @fn_emith(ptr @.str6412) call void @fn_emith(ptr @.str6413) call void @fn_emith(ptr @.str6414) call void @fn_emith(ptr @.str6415) call void @fn_emith(ptr @.str6416) call void @fn_emith(ptr @.str6417) call void @fn_emith(ptr @.str6418) call void @fn_emith(ptr @.str6419) call void @fn_emith(ptr @.str6420) call void @fn_emith(ptr @.str6421) call void @fn_emith(ptr @.str6422) call void @fn_emith(ptr @.str6423) call void @fn_emith(ptr @.str6424) call void @fn_emith(ptr @.str6425) call void @fn_emith(ptr @.str6426) call void @fn_emith(ptr @.str6427) call void @fn_emith(ptr @.str6428) call void @fn_emith(ptr @.str6429) call void @fn_emith(ptr @.str6430) call void @fn_emith(ptr @.str6431) call void @fn_emith(ptr @.str6432) call void @fn_emith(ptr @.str6433) call void @fn_emith(ptr @.str6434) call void @fn_emith(ptr @.str6435) call void @fn_emith(ptr @.str6436) call void @fn_emith(ptr @.str6437) call void @fn_emith(ptr @.str6438) call void @fn_emith(ptr @.str6439) call void @fn_emith(ptr @.str6440) call void @fn_emith(ptr @.str6441) call void @fn_emith(ptr @.str6442) call void @fn_emith(ptr @.str6443) call void @fn_emith(ptr @.str6444) call void @fn_emith(ptr @.str6445) call void @fn_emith(ptr @.str6446) call void @fn_emith(ptr @.str6447) call void @fn_emith(ptr @.str6448) call void @fn_emith(ptr @.str6449) call void @fn_emith(ptr @.str6450) call void @fn_emith(ptr @.str6451) call void @fn_emith(ptr @.str6452) call void @fn_emith(ptr @.str6453) call void @fn_emith(ptr @.str6454) call void @fn_emith(ptr @.str6455) call void @fn_emith(ptr @.str6456) call void @fn_emith(ptr @.str6457) call void @fn_emith(ptr @.str6458) call void @fn_emith(ptr @.str6459) call void @fn_emith(ptr @.str6460) call void @fn_emith(ptr @.str6461) call void @fn_emith(ptr @.str6462) call void @fn_emith(ptr @.str6463) call void @fn_emith(ptr @.str6464) call void @fn_emith(ptr @.str6465) call void @fn_emith(ptr @.str6466) call void @fn_emith(ptr @.str6467) call void @fn_emith(ptr @.str6468) call void @fn_emith(ptr @.str6469) call void @fn_emith(ptr @.str6470) call void @fn_emith(ptr @.str6471) call void @fn_emith(ptr @.str6472) call void @fn_emith(ptr @.str6473) call void @fn_emith(ptr @.str6474) call void @fn_emith(ptr @.str6475) call void @fn_emith(ptr @.str6476) call void @fn_emith(ptr @.str6477) call void @fn_emith(ptr @.str6478) call void @fn_emith(ptr @.str6479) call void @fn_emith(ptr @.str6480) call void @fn_emith(ptr @.str6481) call void @fn_emith(ptr @.str6482) call void @fn_emith(ptr @.str6483) call void @fn_emith(ptr @.str6484) call void @fn_emith(ptr @.str6485) call void @fn_emith(ptr @.str6486) call void @fn_emith(ptr @.str6487) call void @fn_emith(ptr @.str6488) call void @fn_emith(ptr @.str6489) call void @fn_emith(ptr @.str6490) call void @fn_emith(ptr @.str6491) call void @fn_emith(ptr @.str6492) call void @fn_emith(ptr @.str6493) call void @fn_emith(ptr @.str6494) call void @fn_emith(ptr @.str6495) call void @fn_emith(ptr @.str6496) call void @fn_emith(ptr @.str6497) call void @fn_emith(ptr @.str6498) call void @fn_emith(ptr @.str6499) call void @fn_emith(ptr @.str6500) call void @fn_emith(ptr @.str6501) call void @fn_emith(ptr @.str6502) call void @fn_emith(ptr @.str6503) call void @fn_emith(ptr @.str6504) call void @fn_emith(ptr @.str6505) call void @fn_emith(ptr @.str6506) call void @fn_emith(ptr @.str6507) call void @fn_emith(ptr @.str6508) call void @fn_emith(ptr @.str6509) call void @fn_emith(ptr @.str6510) call void @fn_emith(ptr @.str6511) call void @fn_emith(ptr @.str6512) call void @fn_emith(ptr @.str6513) call void @fn_emith(ptr @.str6514) call void @fn_emith(ptr @.str6515) call void @fn_emith(ptr @.str6516) call void @fn_emith(ptr @.str6517) call void @fn_emith(ptr @.str6518) call void @fn_emith(ptr @.str6519) call void @fn_emith(ptr @.str6520) call void @fn_emith(ptr @.str6521) call void @fn_emith(ptr @.str6522) call void @fn_emith(ptr @.str6523) call void @fn_emith(ptr @.str6524) call void @fn_emith(ptr @.str6525) call void @fn_emith(ptr @.str6526) call void @fn_emith(ptr @.str6527) call void @fn_emith(ptr @.str6528) call void @fn_emith(ptr @.str6529) call void @fn_emith(ptr @.str6530) call void @fn_emith(ptr @.str6531) call void @fn_emith(ptr @.str6532) call void @fn_emith(ptr @.str6533) call void @fn_emith(ptr @.str6534) call void @fn_emith(ptr @.str6535) call void @fn_emith(ptr @.str6536) call void @fn_emith(ptr @.str6537) call void @fn_emith(ptr @.str6538) call void @fn_emith(ptr @.str6539) call void @fn_emith(ptr @.str6540) call void @fn_emith(ptr @.str6541) call void @fn_emith(ptr @.str6542) call void @fn_emith(ptr @.str6543) call void @fn_emith(ptr @.str6544) call void @fn_emith(ptr @.str6545) call void @fn_emith(ptr @.str6546) call void @fn_emith(ptr @.str6547) call void @fn_emith(ptr @.str6548) call void @fn_emith(ptr @.str6549) call void @fn_emith(ptr @.str6550) call void @fn_emith(ptr @.str6551) call void @fn_emith(ptr @.str6552) call void @fn_emith(ptr @.str6553) call void @fn_emith(ptr @.str6554) call void @fn_emith(ptr @.str6555) call void @fn_emith(ptr @.str6556) call void @fn_emith(ptr @.str6557) call void @fn_emith(ptr @.str6558) call void @fn_emith(ptr @.str6559) call void @fn_emith(ptr @.str6560) call void @fn_emith(ptr @.str6561) call void @fn_emith(ptr @.str6562) call void @fn_emith(ptr @.str6563) call void @fn_emith(ptr @.str6564) call void @fn_emith(ptr @.str6565) call void @fn_emith(ptr @.str6566) call void @fn_emith(ptr @.str6567) call void @fn_emith(ptr @.str6568) call void @fn_emith(ptr @.str6569) call void @fn_emith(ptr @.str6570) call void @fn_emith(ptr @.str6571) call void @fn_emith(ptr @.str6572) call void @fn_emith(ptr @.str6573) call void @fn_emith(ptr @.str6574) call void @fn_emith(ptr @.str6575) call void @fn_emith(ptr @.str6576) call void @fn_emith(ptr @.str6577) call void @fn_emith(ptr @.str6578) call void @fn_emith(ptr @.str6579) call void @fn_emith(ptr @.str6580) call void @fn_emith(ptr @.str6581) call void @fn_emith(ptr @.str6582) call void @fn_emith(ptr @.str6583) call void @fn_emith(ptr @.str6584) call void @fn_emith(ptr @.str6585) call void @fn_emith(ptr @.str6586) call void @fn_emith(ptr @.str6587) call void @fn_emith(ptr @.str6588) call void @fn_emith(ptr @.str6589) call void @fn_emith(ptr @.str6590) call void @fn_emith(ptr @.str6591) call void @fn_emith(ptr @.str6592) call void @fn_emith(ptr @.str6593) call void @fn_emith(ptr @.str6594) call void @fn_emith(ptr @.str6595) call void @fn_emith(ptr @.str6596) call void @fn_emith(ptr @.str6597) call void @fn_emith(ptr @.str6598) call void @fn_emith(ptr @.str6599) call void @fn_emith(ptr @.str6600) call void @fn_emith(ptr @.str6601) call void @fn_emith(ptr @.str6602) call void @fn_emith(ptr @.str6603) call void @fn_emith(ptr @.str6604) call void @fn_emith(ptr @.str6605) call void @fn_emith(ptr @.str6606) call void @fn_emith(ptr @.str6607) call void @fn_emith(ptr @.str6608) call void @fn_emith(ptr @.str6609) call void @fn_emith(ptr @.str6610) call void @fn_emith(ptr @.str6611) call void @fn_emith(ptr @.str6612) call void @fn_emith(ptr @.str6613) call void @fn_emith(ptr @.str6614) call void @fn_emith(ptr @.str6615) call void @fn_emith(ptr @.str6616) call void @fn_emith(ptr @.str6617) call void @fn_emith(ptr @.str6618) call void @fn_emith(ptr @.str6619) call void @fn_emith(ptr @.str6620) call void @fn_emith(ptr @.str6621) call void @fn_emith(ptr @.str6622) call void @fn_emith(ptr @.str6623) call void @fn_emith(ptr @.str6624) call void @fn_emith(ptr @.str6625) call void @fn_emith(ptr @.str6626) call void @fn_emith(ptr @.str6627) call void @fn_emith(ptr @.str6628) call void @fn_emith(ptr @.str6629) call void @fn_emith(ptr @.str6630) call void @fn_emith(ptr @.str6631) call void @fn_emith(ptr @.str6632) call void @fn_emith(ptr @.str6633) call void @fn_emith(ptr @.str6634) call void @fn_emith(ptr @.str6635) call void @fn_emith(ptr @.str6636) call void @fn_emith(ptr @.str6637) call void @fn_emith(ptr @.str6638) call void @fn_emith(ptr @.str6639) call void @fn_emith(ptr @.str6640) call void @fn_emith(ptr @.str6641) call void @fn_emith(ptr @.str6642) call void @fn_emith(ptr @.str6643) call void @fn_emith(ptr @.str6644) call void @fn_emith(ptr @.str6645) call void @fn_emith(ptr @.str6646) call void @fn_emith(ptr @.str6647) call void @fn_emith(ptr @.str6648) call void @fn_emith(ptr @.str6649) call void @fn_emith(ptr @.str6650) call void @fn_emith(ptr @.str6651) call void @fn_emith(ptr @.str6652) call void @fn_emith(ptr @.str6653) call void @fn_emith(ptr @.str6654) call void @fn_emith(ptr @.str6655) call void @fn_emith(ptr @.str6656) call void @fn_emith(ptr @.str6657) call void @fn_emith(ptr @.str6658) call void @fn_emith(ptr @.str6659) call void @fn_emith(ptr @.str6660) call void @fn_emith(ptr @.str6661) call void @fn_emith(ptr @.str6662) call void @fn_emith(ptr @.str6663) call void @fn_emith(ptr @.str6664) call void @fn_emith(ptr @.str6665) call void @fn_emith(ptr @.str6666) call void @fn_emith(ptr @.str6667) call void @fn_emith(ptr @.str6668) call void @fn_emith(ptr @.str6669) call void @fn_emith(ptr @.str6670) call void @fn_emith(ptr @.str6671) call void @fn_emith(ptr @.str6672) call void @fn_emith(ptr @.str6673) call void @fn_emith(ptr @.str6674) call void @fn_emith(ptr @.str6675) call void @fn_emith(ptr @.str6676) call void @fn_emith(ptr @.str6677) call void @fn_emith(ptr @.str6678) call void @fn_emith(ptr @.str6679) call void @fn_emith(ptr @.str6680) call void @fn_emith(ptr @.str6681) call void @fn_emith(ptr @.str6682) call void @fn_emith(ptr @.str6683) call void @fn_emith(ptr @.str6684) call void @fn_emith(ptr @.str6685) call void @fn_emith(ptr @.str6686) call void @fn_emith(ptr @.str6687) call void @fn_emith(ptr @.str6688) call void @fn_emith(ptr @.str6689) call void @fn_emith(ptr @.str6690) call void @fn_emith(ptr @.str6691) call void @fn_emith(ptr @.str6692) call void @fn_emith(ptr @.str6693) call void @fn_emith(ptr @.str6694) call void @fn_emith(ptr @.str6695) call void @fn_emith(ptr @.str6696) call void @fn_emith(ptr @.str6697) call void @fn_emith(ptr @.str6698) call void @fn_emith(ptr @.str6699) call void @fn_emith(ptr @.str6700) call void @fn_emith(ptr @.str6701) br label %ret ret: ret void } define void @fn_emit_fence_win() { entry: call void @fn_emith(ptr @.str6702) call void @fn_emith(ptr @.str6703) call void @fn_emith(ptr @.str6704) call void @fn_emith(ptr @.str6705) call void @fn_emith(ptr @.str6706) call void @fn_emith(ptr @.str6707) call void @fn_emith(ptr @.str6708) call void @fn_emith(ptr @.str6709) call void @fn_emith(ptr @.str6710) call void @fn_emith(ptr @.str6711) call void @fn_emith(ptr @.str6712) call void @fn_emith(ptr @.str6713) call void @fn_emith(ptr @.str6714) call void @fn_emith(ptr @.str6715) call void @fn_emith(ptr @.str6716) call void @fn_emith(ptr @.str6717) call void @fn_emith(ptr @.str6718) call void @fn_emith(ptr @.str6719) call void @fn_emith(ptr @.str6720) call void @fn_emith(ptr @.str6721) call void @fn_emith(ptr @.str6722) call void @fn_emith(ptr @.str6723) call void @fn_emith(ptr @.str6724) call void @fn_emith(ptr @.str6725) call void @fn_emith(ptr @.str6726) call void @fn_emith(ptr @.str6727) call void @fn_emith(ptr @.str6728) call void @fn_emith(ptr @.str6729) call void @fn_emith(ptr @.str6730) call void @fn_emith(ptr @.str6731) call void @fn_emith(ptr @.str6732) call void @fn_emith(ptr @.str6733) call void @fn_emith(ptr @.str6734) call void @fn_emith(ptr @.str6735) call void @fn_emith(ptr @.str6736) call void @fn_emith(ptr @.str6737) call void @fn_emith(ptr @.str6738) call void @fn_emith(ptr @.str6739) call void @fn_emith(ptr @.str6740) call void @fn_emith(ptr @.str6741) call void @fn_emith(ptr @.str6742) call void @fn_emith(ptr @.str6743) call void @fn_emith(ptr @.str6744) call void @fn_emith(ptr @.str6745) call void @fn_emith(ptr @.str6746) call void @fn_emith(ptr @.str6747) call void @fn_emith(ptr @.str6748) call void @fn_emith(ptr @.str6749) call void @fn_emith(ptr @.str6750) call void @fn_emith(ptr @.str6751) call void @fn_emith(ptr @.str6752) call void @fn_emith(ptr @.str6753) call void @fn_emith(ptr @.str6754) call void @fn_emith(ptr @.str6755) call void @fn_emith(ptr @.str6756) call void @fn_emith(ptr @.str6757) call void @fn_emith(ptr @.str6758) call void @fn_emith(ptr @.str6759) call void @fn_emith(ptr @.str6760) call void @fn_emith(ptr @.str6761) call void @fn_emith(ptr @.str6762) br label %ret ret: ret void } define void @fn_emit_fence_intern() { entry: call void @fn_emith(ptr @.str6763) call void @fn_emith(ptr @.str6764) call void @fn_emith(ptr @.str6765) call void @fn_emith(ptr @.str6766) call void @fn_emith(ptr @.str6767) call void @fn_emith(ptr @.str6768) call void @fn_emith(ptr @.str6769) call void @fn_emith(ptr @.str6770) call void @fn_emith(ptr @.str6771) call void @fn_emith(ptr @.str6772) call void @fn_emith(ptr @.str6773) call void @fn_emith(ptr @.str6774) call void @fn_emith(ptr @.str6775) call void @fn_emith(ptr @.str6776) call void @fn_emith(ptr @.str6777) call void @fn_emith(ptr @.str6778) call void @fn_emith(ptr @.str6779) call void @fn_emith(ptr @.str6780) call void @fn_emith(ptr @.str6781) call void @fn_emith(ptr @.str6782) call void @fn_emith(ptr @.str6783) call void @fn_emith(ptr @.str6784) call void @fn_emith(ptr @.str6785) call void @fn_emith(ptr @.str6786) call void @fn_emith(ptr @.str6787) call void @fn_emith(ptr @.str6788) call void @fn_emith(ptr @.str6789) call void @fn_emith(ptr @.str6790) call void @fn_emith(ptr @.str6791) call void @fn_emith(ptr @.str6792) call void @fn_emith(ptr @.str6793) call void @fn_emith(ptr @.str6794) call void @fn_emith(ptr @.str6795) call void @fn_emith(ptr @.str6796) call void @fn_emith(ptr @.str6797) call void @fn_emith(ptr @.str6798) call void @fn_emith(ptr @.str6799) call void @fn_emith(ptr @.str6800) call void @fn_emith(ptr @.str6801) call void @fn_emith(ptr @.str6802) call void @fn_emith(ptr @.str6803) call void @fn_emith(ptr @.str6804) call void @fn_emith(ptr @.str6805) call void @fn_emith(ptr @.str6806) call void @fn_emith(ptr @.str6807) call void @fn_emith(ptr @.str6808) call void @fn_emith(ptr @.str6809) call void @fn_emith(ptr @.str6810) call void @fn_emith(ptr @.str6811) call void @fn_emith(ptr @.str6812) call void @fn_emith(ptr @.str6813) call void @fn_emith(ptr @.str6814) call void @fn_emith(ptr @.str6815) call void @fn_emith(ptr @.str6816) call void @fn_emith(ptr @.str6817) call void @fn_emith(ptr @.str6818) call void @fn_emith(ptr @.str6819) call void @fn_emith(ptr @.str6820) call void @fn_emith(ptr @.str6821) call void @fn_emith(ptr @.str6822) call void @fn_emith(ptr @.str6823) call void @fn_emith(ptr @.str6824) call void @fn_emith(ptr @.str6825) call void @fn_emith(ptr @.str6826) call void @fn_emith(ptr @.str6827) call void @fn_emith(ptr @.str6828) call void @fn_emith(ptr @.str6829) call void @fn_emith(ptr @.str6830) call void @fn_emith(ptr @.str6831) call void @fn_emith(ptr @.str6832) call void @fn_emith(ptr @.str6833) call void @fn_emith(ptr @.str6834) call void @fn_emith(ptr @.str6835) call void @fn_emith(ptr @.str6836) call void @fn_emith(ptr @.str6837) call void @fn_emith(ptr @.str6838) call void @fn_emith(ptr @.str6839) call void @fn_emith(ptr @.str6840) call void @fn_emith(ptr @.str6841) call void @fn_emith(ptr @.str6842) call void @fn_emith(ptr @.str6843) call void @fn_emith(ptr @.str6844) call void @fn_emith(ptr @.str6845) call void @fn_emith(ptr @.str6846) call void @fn_emith(ptr @.str6847) call void @fn_emith(ptr @.str6848) call void @fn_emith(ptr @.str6849) call void @fn_emith(ptr @.str6850) call void @fn_emith(ptr @.str6851) call void @fn_emith(ptr @.str6852) br label %ret ret: ret void } define i32 @fn_fr_aok_stmt(ptr %arg_n) { entry: %retval = alloca i32 %t0 = alloca ptr %t1 = alloca i32 store ptr %arg_n, ptr %t0 %t2 = load ptr, ptr %t0 %t3 = getelementptr inbounds %Cmp_Node, ptr %t2, i32 0, i32 12 %t4 = load i32, ptr %t3 %t5 = icmp eq i32 %t4, 78 %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 = getelementptr inbounds %Cmp_Node, ptr %t9, i32 0, i32 0 %t11 = load i32, ptr %t10 %t12 = icmp ne i32 %t11, 33 %t13 = zext i1 %t12 to i32 %t14 = icmp ne i32 %t13, 0 %t15 = zext i1 %t14 to i32 store i32 %t15, ptr %t1 br label %scend1 scend1: %t16 = load i32, ptr %t1 store i32 %t16, ptr %retval br label %ret ret: %t17 = load i32, ptr %retval ret i32 %t17 } define i32 @fn_fr_has_aok(ptr %arg_n) { entry: %retval = alloca i32 %t0 = alloca ptr %t1 = alloca i32 %t17 = alloca i32 %t18 = alloca i32 %t48 = alloca i32 store ptr %arg_n, ptr %t0 %t2 = load ptr, ptr %t0 %t3 = icmp eq ptr %t2, null %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 @g_g_aok_seen %t8 = icmp eq i32 %t7, 0 %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 0, ptr %retval br label %ret ifend4: %t14 = load ptr, ptr %t0 %t15 = call i32 @fn_fr_aok_stmt(ptr %t14) %t16 = icmp ne i32 %t15, 0 br i1 %t16, label %then5, label %ifend7 then5: store i32 1, ptr %retval br label %ret ifend7: %t19 = load ptr, ptr %t0 %t20 = getelementptr inbounds %Cmp_Node, ptr %t19, i32 0, i32 4 %t21 = load ptr, ptr %t20 %t22 = call i32 @fn_fr_has_aok(ptr %t21) %t23 = icmp ne i32 %t22, 0 %t24 = zext i1 %t23 to i32 store i32 %t24, ptr %t18 br i1 %t23, label %scend9, label %sc8 sc8: %t25 = load ptr, ptr %t0 %t26 = getelementptr inbounds %Cmp_Node, ptr %t25, i32 0, i32 5 %t27 = load ptr, ptr %t26 %t28 = call i32 @fn_fr_has_aok(ptr %t27) %t29 = icmp ne i32 %t28, 0 %t30 = zext i1 %t29 to i32 store i32 %t30, ptr %t18 br label %scend9 scend9: %t31 = load i32, ptr %t18 %t32 = icmp ne i32 %t31, 0 %t33 = zext i1 %t32 to i32 store i32 %t33, ptr %t17 br i1 %t32, label %scend11, label %sc10 sc10: %t34 = load ptr, ptr %t0 %t35 = getelementptr inbounds %Cmp_Node, ptr %t34, i32 0, i32 6 %t36 = load ptr, ptr %t35 %t37 = call i32 @fn_fr_has_aok(ptr %t36) %t38 = icmp ne i32 %t37, 0 %t39 = zext i1 %t38 to i32 store i32 %t39, ptr %t17 br label %scend11 scend11: %t40 = load i32, ptr %t17 %t41 = icmp ne i32 %t40, 0 br i1 %t41, label %then12, label %ifend14 then12: store i32 1, ptr %retval br label %ret ifend14: %t42 = load ptr, ptr %t0 %t43 = getelementptr inbounds %Cmp_Node, ptr %t42, i32 0, i32 7 %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 %then15, label %ifend17 then15: store i32 0, ptr %t48 br label %wcond18 wcond18: %t49 = load i32, ptr %t48 %t50 = load ptr, ptr %t0 %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 1 %t54 = load i32, ptr %t53 %t55 = icmp slt i32 %t49, %t54 %t56 = zext i1 %t55 to i32 %t57 = icmp ne i32 %t56, 0 br i1 %t57, label %wbody19, label %wend20 wbody19: %t58 = load ptr, ptr %t0 %t59 = getelementptr inbounds %Cmp_Node, ptr %t58, i32 0, i32 7 %t60 = load ptr, ptr %t59 %t61 = load i32, ptr %t48 %t62 = getelementptr inbounds %LSlice, ptr %t60, i32 0, i32 0 %t63 = load ptr, ptr %t62 %t64 = getelementptr inbounds %LSlice, ptr %t60, i32 0, i32 1 %t65 = load i32, ptr %t64 %t66 = icmp ult i32 %t61, %t65 br i1 %t66, label %ixok21, label %ixbad22 ixbad22: store i32 4033, ptr @lp_site %t67 = call ptr @lp_win_stdio(i32 2) store i32 0, ptr @lp_site call i32 (ptr, ptr, ...) @fprintf(ptr %t67, ptr @.fmt_bounds, ptr @.str6853, i32 %t61, i32 %t65) call void @exit(i32 1) unreachable ixok21: %t68 = getelementptr inbounds ptr, ptr %t63, i32 %t61 %t69 = load ptr, ptr %t68 %t70 = call i32 @fn_fr_has_aok(ptr %t69) %t71 = icmp ne i32 %t70, 0 br i1 %t71, label %then23, label %ifend25 then23: store i32 1, ptr %retval br label %ret ifend25: %t72 = load i32, ptr %t48 %t73 = add i32 %t72, 1 store i32 %t73, ptr %t48 br label %wcond18 wend20: br label %ifend17 ifend17: store i32 0, ptr %retval br label %ret ret: %t74 = load i32, ptr %retval ret i32 %t74 } define i32 @fn_fr_capped(ptr %arg_t) { entry: %retval = alloca i32 %t0 = alloca ptr %t1 = alloca i32 %t2 = alloca i32 %t31 = alloca ptr %t32 = alloca i32 %t50 = alloca ptr %t51 = alloca i32 store ptr %arg_t, ptr %t0 %t3 = load ptr, ptr %t0 %t4 = icmp eq ptr %t3, null %t5 = zext i1 %t4 to i32 %t6 = icmp ne i32 %t5, 0 %t7 = zext i1 %t6 to i32 store i32 %t7, ptr %t2 br i1 %t6, label %scend1, label %sc0 sc0: %t8 = load ptr, ptr %t0 %t9 = getelementptr inbounds %Cmp_Node, ptr %t8, i32 0, i32 0 %t10 = load i32, ptr %t9 %t11 = icmp ne i32 %t10, 35 %t12 = zext i1 %t11 to i32 %t13 = icmp ne i32 %t12, 0 %t14 = zext i1 %t13 to i32 store i32 %t14, ptr %t2 br label %scend1 scend1: %t15 = load i32, ptr %t2 %t16 = icmp ne i32 %t15, 0 %t17 = zext i1 %t16 to i32 store i32 %t17, ptr %t1 br i1 %t16, label %scend3, label %sc2 sc2: %t18 = load ptr, ptr %t0 %t19 = getelementptr inbounds %Cmp_Node, ptr %t18, i32 0, i32 1 %t20 = load ptr, ptr %t19 %t21 = icmp eq ptr %t20, null %t22 = zext i1 %t21 to i32 %t23 = icmp ne i32 %t22, 0 %t24 = zext i1 %t23 to i32 store i32 %t24, ptr %t1 br label %scend3 scend3: %t25 = load i32, ptr %t1 %t26 = icmp ne i32 %t25, 0 br i1 %t26, label %then4, label %ifend6 then4: store i32 0, ptr %retval br label %ret ifend6: %t27 = load ptr, ptr %t0 %t28 = getelementptr inbounds %Cmp_Node, ptr %t27, i32 0, i32 1 %t29 = load ptr, ptr %t28 store i32 4034, ptr @lp_site %t30 = call ptr @lp_str_concat(ptr @.str6855, ptr %t29) store i32 0, ptr @lp_site store ptr %t30, ptr %t31 store i32 0, ptr %t32 br label %wcond7 wcond7: %t33 = load i32, ptr %t32 %t34 = load ptr, ptr @g_g_cap_keys %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 %wbody8, label %wend9 wbody8: %t40 = load ptr, ptr @g_g_cap_keys %t41 = load i32, ptr %t32 %t42 = getelementptr inbounds %LSlice, ptr %t40, i32 0, i32 0 %t43 = load ptr, ptr %t42 %t44 = getelementptr inbounds %LSlice, ptr %t40, i32 0, i32 1 %t45 = load i32, ptr %t44 %t46 = icmp ult i32 %t41, %t45 br i1 %t46, label %ixok10, label %ixbad11 ixbad11: store i32 4035, ptr @lp_site %t47 = call ptr @lp_win_stdio(i32 2) store i32 0, ptr @lp_site call i32 (ptr, ptr, ...) @fprintf(ptr %t47, ptr @.fmt_bounds, ptr @.str6857, i32 %t41, i32 %t45) call void @exit(i32 1) unreachable ixok10: %t48 = getelementptr inbounds ptr, ptr %t43, i32 %t41 %t49 = load ptr, ptr %t48 store ptr %t49, ptr %t50 %t52 = load ptr, ptr %t50 %t53 = call i64 @strlen(ptr %t52) %t54 = trunc i64 %t53 to i32 %t55 = load ptr, ptr %t31 %t56 = call i64 @strlen(ptr %t55) %t57 = trunc i64 %t56 to i32 %t58 = icmp sgt i32 %t54, %t57 %t59 = zext i1 %t58 to i32 %t60 = icmp ne i32 %t59, 0 %t61 = zext i1 %t60 to i32 store i32 %t61, ptr %t51 br i1 %t60, label %sc12, label %scend13 sc12: %t62 = load ptr, ptr %t50 %t63 = load ptr, ptr %t50 %t64 = call i64 @strlen(ptr %t63) %t65 = trunc i64 %t64 to i32 %t66 = load ptr, ptr %t31 %t67 = call i64 @strlen(ptr %t66) %t68 = trunc i64 %t67 to i32 %t69 = sub i32 %t65, %t68 %t70 = load ptr, ptr %t50 %t71 = call i64 @strlen(ptr %t70) %t72 = trunc i64 %t71 to i32 store i32 4036, ptr @lp_site %t73 = call ptr @lp_str_slice(ptr %t62, i32 %t69, i32 %t72) store i32 0, ptr @lp_site %t74 = load ptr, ptr %t31 %t75 = call i32 @lp_str_eq(ptr %t73, ptr %t74) call void @lp_free(ptr %t73) %t76 = icmp ne i32 %t75, 0 %t77 = zext i1 %t76 to i32 store i32 %t77, ptr %t51 br label %scend13 scend13: %t78 = load i32, ptr %t51 %t79 = icmp ne i32 %t78, 0 br i1 %t79, label %then14, label %ifend16 then14: store i32 1, ptr %retval br label %ret ifend16: %t80 = load i32, ptr %t32 %t81 = add i32 %t80, 1 store i32 %t81, ptr %t32 br label %wcond7 wend9: store i32 0, ptr %retval br label %ret ret: %t82 = load i32, ptr %retval ret i32 %t82 } define i32 @fn_fr_is_event_handler(ptr %arg_name) { entry: %retval = alloca i32 %t0 = alloca ptr %t1 = alloca i32 %t10 = alloca i32 %t11 = alloca i32 %t12 = alloca i32 store ptr %arg_name, ptr %t0 store i32 0, ptr %t1 br label %wcond0 wcond0: %t2 = load i32, ptr %t1 %t3 = add i32 %t2, 4 %t4 = load ptr, ptr %t0 %t5 = call i64 @strlen(ptr %t4) %t6 = trunc i64 %t5 to i32 %t7 = icmp sle i32 %t3, %t6 %t8 = zext i1 %t7 to i32 %t9 = icmp ne i32 %t8, 0 br i1 %t9, label %wbody1, label %wend2 wbody1: %t13 = load ptr, ptr %t0 %t14 = load i32, ptr %t1 %t15 = getelementptr inbounds i8, ptr %t13, i32 %t14 %t16 = load i8, ptr %t15 %t17 = zext i8 %t16 to i32 %t18 = icmp eq i32 %t17, 95 %t19 = zext i1 %t18 to i32 %t20 = icmp ne i32 %t19, 0 %t21 = zext i1 %t20 to i32 store i32 %t21, ptr %t12 br i1 %t20, label %sc3, label %scend4 sc3: %t22 = load ptr, ptr %t0 %t23 = load i32, ptr %t1 %t24 = add i32 %t23, 1 %t25 = getelementptr inbounds i8, ptr %t22, i32 %t24 %t26 = load i8, ptr %t25 %t27 = zext i8 %t26 to i32 %t28 = icmp eq i32 %t27, 111 %t29 = zext i1 %t28 to i32 %t30 = icmp ne i32 %t29, 0 %t31 = zext i1 %t30 to i32 store i32 %t31, ptr %t12 br label %scend4 scend4: %t32 = load i32, ptr %t12 %t33 = icmp ne i32 %t32, 0 %t34 = zext i1 %t33 to i32 store i32 %t34, ptr %t11 br i1 %t33, label %sc5, label %scend6 sc5: %t35 = load ptr, ptr %t0 %t36 = load i32, ptr %t1 %t37 = add i32 %t36, 2 %t38 = getelementptr inbounds i8, ptr %t35, i32 %t37 %t39 = load i8, ptr %t38 %t40 = zext i8 %t39 to i32 %t41 = icmp eq i32 %t40, 110 %t42 = zext i1 %t41 to i32 %t43 = icmp ne i32 %t42, 0 %t44 = zext i1 %t43 to i32 store i32 %t44, ptr %t11 br label %scend6 scend6: %t45 = load i32, ptr %t11 %t46 = icmp ne i32 %t45, 0 %t47 = zext i1 %t46 to i32 store i32 %t47, ptr %t10 br i1 %t46, label %sc7, label %scend8 sc7: %t48 = load ptr, ptr %t0 %t49 = load i32, ptr %t1 %t50 = add i32 %t49, 3 %t51 = getelementptr inbounds i8, ptr %t48, i32 %t50 %t52 = load i8, ptr %t51 %t53 = zext i8 %t52 to i32 %t54 = icmp eq i32 %t53, 95 %t55 = zext i1 %t54 to i32 %t56 = icmp ne i32 %t55, 0 %t57 = zext i1 %t56 to i32 store i32 %t57, ptr %t10 br label %scend8 scend8: %t58 = load i32, ptr %t10 %t59 = icmp ne i32 %t58, 0 br i1 %t59, label %then9, label %ifend11 then9: store i32 1, ptr %retval br label %ret ifend11: %t60 = load i32, ptr %t1 %t61 = add i32 %t60, 1 store i32 %t61, ptr %t1 br label %wcond0 wend2: store i32 0, ptr %retval br label %ret ret: %t62 = load i32, ptr %retval ret i32 %t62 } define i32 @fn_fr_phase_frame(ptr %arg_ph) { 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_ph, ptr %t0 %t6 = load ptr, ptr %t0 %t7 = call i32 @lp_str_eq(ptr %t6, ptr @.str6858) %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 @.str6859) %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 @.str6860) %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 @.str6861) %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 @.str6862) %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 @.str6863) %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 i32 @fn_fr_is_frame_field(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 @.str6864) store i32 %t2, ptr %retval br label %ret ret: %t3 = load i32, ptr %retval ret i32 %t3 } define i32 @fn_fr_is_frame_prop_field(ptr %arg_prop, ptr %arg_name) { entry: %retval = alloca i32 %t0 = alloca ptr %t1 = alloca ptr %t9 = alloca ptr %t10 = alloca i32 store ptr %arg_prop, ptr %t0 store ptr %arg_name, ptr %t1 %t2 = load ptr, ptr %t1 %t3 = call i32 @lp_str_eq(ptr %t2, ptr @.str6865) %t4 = icmp ne i32 %t3, 0 br i1 %t4, label %then0, label %ifend2 then0: store i32 1, ptr %retval br label %ret ifend2: %t5 = load ptr, ptr %t0 store i32 4037, ptr @lp_site %t6 = call ptr @lp_str_concat(ptr %t5, ptr @.str6866) store i32 0, ptr @lp_site %t7 = load ptr, ptr %t1 store i32 4038, ptr @lp_site %t8 = call ptr @lp_str_concat(ptr %t6, ptr %t7) store i32 0, ptr @lp_site call void @lp_free(ptr %t6) store ptr %t8, ptr %t9 store i32 0, ptr %t10 br label %wcond3 wcond3: %t11 = load i32, ptr %t10 %t12 = load ptr, ptr @g_g_frame_fields %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_frame_fields %t19 = load i32, ptr %t10 %t20 = getelementptr inbounds %LSlice, ptr %t18, i32 0, i32 0 %t21 = load ptr, ptr %t20 %t22 = getelementptr inbounds %LSlice, ptr %t18, i32 0, i32 1 %t23 = load i32, ptr %t22 %t24 = icmp ult i32 %t19, %t23 br i1 %t24, label %ixok6, label %ixbad7 ixbad7: store i32 4039, ptr @lp_site %t25 = call ptr @lp_win_stdio(i32 2) store i32 0, ptr @lp_site call i32 (ptr, ptr, ...) @fprintf(ptr %t25, ptr @.fmt_bounds, ptr @.str6868, i32 %t19, i32 %t23) call void @exit(i32 1) unreachable ixok6: %t26 = getelementptr inbounds ptr, ptr %t21, i32 %t19 %t27 = load ptr, ptr %t26 %t28 = load ptr, ptr %t9 %t29 = call i32 @lp_str_eq(ptr %t27, ptr %t28) %t30 = icmp ne i32 %t29, 0 br i1 %t30, label %then8, label %ifend10 then8: store i32 1, ptr %retval br label %ret ifend10: %t31 = load i32, ptr %t10 %t32 = add i32 %t31, 1 store i32 %t32, ptr %t10 br label %wcond3 wend5: store i32 0, ptr %retval br label %ret ret: %t33 = load i32, ptr %retval ret i32 %t33 } define i32 @fn_fr_alloc_ok(ptr %arg_name) { entry: %retval = alloca i32 %t0 = alloca ptr %t5 = alloca ptr %t6 = alloca i32 %t30 = alloca i32 %t38 = alloca i32 store ptr %arg_name, ptr %t0 %t1 = load ptr, ptr %t0 %t2 = call i32 @fn_str_starts(ptr %t1, ptr @.str6869) %t3 = icmp ne i32 %t2, 0 br i1 %t3, label %then0, label %ifend2 then0: store i32 1, ptr %retval br label %ret ifend2: %t4 = load ptr, ptr %t0 store ptr %t4, ptr %t5 store i32 0, ptr %t6 br label %wcond3 wcond3: %t7 = load i32, ptr %t6 %t8 = load ptr, ptr %t0 %t9 = call i64 @strlen(ptr %t8) %t10 = trunc i64 %t9 to i32 %t11 = icmp slt i32 %t7, %t10 %t12 = zext i1 %t11 to i32 %t13 = icmp ne i32 %t12, 0 br i1 %t13, label %wbody4, label %wend5 wbody4: %t14 = load ptr, ptr %t0 %t15 = load i32, ptr %t6 %t16 = getelementptr inbounds i8, ptr %t14, i32 %t15 %t17 = load i8, ptr %t16 %t18 = zext i8 %t17 to i32 %t19 = icmp eq i32 %t18, 36 %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 = load i32, ptr %t6 store i32 4040, ptr @lp_site %t24 = call ptr @lp_str_slice(ptr %t22, i32 0, i32 %t23) store i32 0, ptr @lp_site store ptr %t24, ptr %t5 %t25 = load ptr, ptr %t0 %t26 = call i64 @strlen(ptr %t25) %t27 = trunc i64 %t26 to i32 store i32 %t27, ptr %t6 br label %ifend8 ifend8: %t28 = load i32, ptr %t6 %t29 = add i32 %t28, 1 store i32 %t29, ptr %t6 br label %wcond3 wend5: store i32 0, ptr %t30 br label %wcond9 wcond9: %t31 = load i32, ptr %t30 %t32 = load ptr, ptr @g_g_alloc_ok_names %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 %wbody10, label %wend11 wbody10: %t39 = load ptr, ptr @g_g_alloc_ok_names %t40 = load i32, ptr %t30 %t41 = getelementptr inbounds %LSlice, ptr %t39, i32 0, i32 0 %t42 = load ptr, ptr %t41 %t43 = getelementptr inbounds %LSlice, ptr %t39, i32 0, i32 1 %t44 = load i32, ptr %t43 %t45 = icmp ult i32 %t40, %t44 br i1 %t45, label %ixok12, label %ixbad13 ixbad13: store i32 4041, ptr @lp_site %t46 = call ptr @lp_win_stdio(i32 2) store i32 0, ptr @lp_site call i32 (ptr, ptr, ...) @fprintf(ptr %t46, ptr @.fmt_bounds, ptr @.str6871, i32 %t40, i32 %t44) call void @exit(i32 1) unreachable ixok12: %t47 = getelementptr inbounds ptr, ptr %t42, i32 %t40 %t48 = load ptr, ptr %t47 %t49 = load ptr, ptr %t5 %t50 = call i32 @lp_str_eq(ptr %t48, ptr %t49) %t51 = icmp ne i32 %t50, 0 %t52 = zext i1 %t51 to i32 store i32 %t52, ptr %t38 br i1 %t51, label %scend15, label %sc14 sc14: %t53 = load ptr, ptr @g_g_alloc_ok_names %t54 = load i32, ptr %t30 %t55 = getelementptr inbounds %LSlice, ptr %t53, i32 0, i32 0 %t56 = load ptr, ptr %t55 %t57 = getelementptr inbounds %LSlice, ptr %t53, i32 0, i32 1 %t58 = load i32, ptr %t57 %t59 = icmp ult i32 %t54, %t58 br i1 %t59, label %ixok16, label %ixbad17 ixbad17: store i32 4042, ptr @lp_site %t60 = call ptr @lp_win_stdio(i32 2) store i32 0, ptr @lp_site call i32 (ptr, ptr, ...) @fprintf(ptr %t60, ptr @.fmt_bounds, ptr @.str6872, i32 %t54, i32 %t58) call void @exit(i32 1) unreachable ixok16: %t61 = getelementptr inbounds ptr, ptr %t56, i32 %t54 %t62 = load ptr, ptr %t61 %t63 = load ptr, ptr %t0 %t64 = call i32 @lp_str_eq(ptr %t62, ptr %t63) %t65 = icmp ne i32 %t64, 0 %t66 = zext i1 %t65 to i32 store i32 %t66, ptr %t38 br label %scend15 scend15: %t67 = load i32, ptr %t38 %t68 = icmp ne i32 %t67, 0 br i1 %t68, label %then18, label %ifend20 then18: store i32 1, ptr %retval br label %ret ifend20: %t69 = load i32, ptr %t30 %t70 = add i32 %t69, 1 store i32 %t70, ptr %t30 br label %wcond9 wend11: store i32 0, ptr %retval br label %ret ret: %t71 = load i32, ptr %retval ret i32 %t71 } define void @fn_fr_mark_root(ptr %arg_name) { entry: %t0 = alloca ptr %t3 = alloca i32 store ptr %arg_name, ptr %t0 %t1 = load ptr, ptr %t0 %t2 = call i32 @fn_dr_index(ptr %t1) store i32 %t2, ptr %t3 %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 %then0, label %ifend2 then0: %t8 = load ptr, ptr @g_g_fr_root %t9 = load i32, ptr %t3 %t10 = getelementptr inbounds %LSlice, ptr %t8, i32 0, i32 0 %t11 = load ptr, ptr %t10 %t12 = getelementptr inbounds %LSlice, ptr %t8, i32 0, i32 1 %t13 = load i32, ptr %t12 %t14 = icmp ult i32 %t9, %t13 br i1 %t14, label %ixok3, label %ixbad4 ixbad4: store i32 4043, ptr @lp_site %t15 = call ptr @lp_win_stdio(i32 2) store i32 0, ptr @lp_site call i32 (ptr, ptr, ...) @fprintf(ptr %t15, ptr @.fmt_bounds, ptr @.str6873, i32 %t9, i32 %t13) call void @exit(i32 1) unreachable ixok3: %t16 = getelementptr inbounds i32, ptr %t11, i32 %t9 store i32 1, ptr %t16 br label %ifend2 ifend2: br label %ret ret: ret void } define void @fn_fr_find_roots(ptr %arg_n) { entry: %t0 = alloca ptr %t5 = alloca i32 %t6 = alloca i32 %t7 = alloca i32 %t8 = alloca i32 %t9 = alloca i32 %t10 = alloca i32 %t89 = alloca i32 %t90 = alloca i32 %t91 = alloca i32 %t92 = alloca i32 %t143 = alloca i32 %t169 = alloca ptr %t170 = alloca i32 %t171 = alloca i32 %t172 = alloca i32 %t235 = alloca i32 store ptr %arg_n, 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: br label %ret ifend2: %t11 = load ptr, ptr %t0 %t12 = getelementptr inbounds %Cmp_Node, ptr %t11, i32 0, i32 0 %t13 = load i32, ptr %t12 %t14 = icmp eq i32 %t13, 11 %t15 = zext i1 %t14 to i32 %t16 = icmp ne i32 %t15, 0 %t17 = zext i1 %t16 to i32 store i32 %t17, ptr %t10 br i1 %t16, label %sc3, label %scend4 sc3: %t18 = load ptr, ptr %t0 %t19 = getelementptr inbounds %Cmp_Node, ptr %t18, i32 0, i32 4 %t20 = load ptr, ptr %t19 %t21 = icmp ne ptr %t20, null %t22 = zext i1 %t21 to i32 %t23 = icmp ne i32 %t22, 0 %t24 = zext i1 %t23 to i32 store i32 %t24, ptr %t10 br label %scend4 scend4: %t25 = load i32, ptr %t10 %t26 = icmp ne i32 %t25, 0 %t27 = zext i1 %t26 to i32 store i32 %t27, ptr %t9 br i1 %t26, label %sc5, label %scend6 sc5: %t28 = load ptr, ptr %t0 %t29 = getelementptr inbounds %Cmp_Node, ptr %t28, i32 0, i32 4 %t30 = load ptr, ptr %t29 %t31 = getelementptr inbounds %Cmp_Node, ptr %t30, i32 0, i32 0 %t32 = load i32, ptr %t31 %t33 = icmp eq i32 %t32, 35 %t34 = zext i1 %t33 to i32 %t35 = icmp ne i32 %t34, 0 %t36 = zext i1 %t35 to i32 store i32 %t36, ptr %t9 br label %scend6 scend6: %t37 = load i32, ptr %t9 %t38 = icmp ne i32 %t37, 0 %t39 = zext i1 %t38 to i32 store i32 %t39, ptr %t8 br i1 %t38, label %sc7, label %scend8 sc7: %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 1 %t44 = load ptr, ptr %t43 %t45 = icmp ne ptr %t44, null %t46 = zext i1 %t45 to i32 %t47 = icmp ne i32 %t46, 0 %t48 = zext i1 %t47 to i32 store i32 %t48, ptr %t8 br label %scend8 scend8: %t49 = load i32, ptr %t8 %t50 = icmp ne i32 %t49, 0 %t51 = zext i1 %t50 to i32 store i32 %t51, ptr %t7 br i1 %t50, label %sc9, label %scend10 sc9: %t52 = load ptr, ptr %t0 %t53 = getelementptr inbounds %Cmp_Node, ptr %t52, i32 0, i32 4 %t54 = load ptr, ptr %t53 %t55 = getelementptr inbounds %Cmp_Node, ptr %t54, i32 0, i32 1 %t56 = load ptr, ptr %t55 %t57 = call i32 @fn_fr_is_frame_field(ptr %t56) %t58 = icmp ne i32 %t57, 0 %t59 = zext i1 %t58 to i32 store i32 %t59, ptr %t7 br label %scend10 scend10: %t60 = load i32, ptr %t7 %t61 = icmp ne i32 %t60, 0 %t62 = zext i1 %t61 to i32 store i32 %t62, ptr %t6 br i1 %t61, label %sc11, label %scend12 sc11: %t63 = load ptr, ptr %t0 %t64 = getelementptr inbounds %Cmp_Node, ptr %t63, i32 0, i32 5 %t65 = load ptr, ptr %t64 %t66 = icmp ne ptr %t65, null %t67 = zext i1 %t66 to i32 %t68 = icmp ne i32 %t67, 0 %t69 = zext i1 %t68 to i32 store i32 %t69, ptr %t6 br label %scend12 scend12: %t70 = load i32, ptr %t6 %t71 = icmp ne i32 %t70, 0 %t72 = zext i1 %t71 to i32 store i32 %t72, ptr %t5 br i1 %t71, label %sc13, label %scend14 sc13: %t73 = load ptr, ptr %t0 %t74 = getelementptr inbounds %Cmp_Node, ptr %t73, i32 0, i32 5 %t75 = load ptr, ptr %t74 %t76 = getelementptr inbounds %Cmp_Node, ptr %t75, i32 0, i32 0 %t77 = load i32, ptr %t76 %t78 = icmp eq i32 %t77, 55 %t79 = zext i1 %t78 to i32 %t80 = icmp ne i32 %t79, 0 %t81 = zext i1 %t80 to i32 store i32 %t81, ptr %t5 br label %scend14 scend14: %t82 = load i32, ptr %t5 %t83 = icmp ne i32 %t82, 0 br i1 %t83, label %then15, label %ifend17 then15: %t84 = load ptr, ptr %t0 %t85 = getelementptr inbounds %Cmp_Node, ptr %t84, i32 0, i32 5 %t86 = load ptr, ptr %t85 %t87 = getelementptr inbounds %Cmp_Node, ptr %t86, i32 0, i32 1 %t88 = load ptr, ptr %t87 call void @fn_fr_mark_root(ptr %t88) br label %ifend17 ifend17: %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, 39 %t97 = zext i1 %t96 to i32 %t98 = icmp ne i32 %t97, 0 %t99 = zext i1 %t98 to i32 store i32 %t99, ptr %t92 br i1 %t98, label %sc18, label %scend19 sc18: %t100 = load ptr, ptr %t0 %t101 = getelementptr inbounds %Cmp_Node, ptr %t100, i32 0, i32 1 %t102 = load ptr, ptr %t101 %t103 = icmp ne ptr %t102, null %t104 = zext i1 %t103 to i32 %t105 = icmp ne i32 %t104, 0 %t106 = zext i1 %t105 to i32 store i32 %t106, ptr %t92 br label %scend19 scend19: %t107 = load i32, ptr %t92 %t108 = icmp ne i32 %t107, 0 %t109 = zext i1 %t108 to i32 store i32 %t109, ptr %t91 br i1 %t108, label %sc20, label %scend21 sc20: %t110 = load ptr, ptr %t0 %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 %t116 = zext i1 %t115 to i32 store i32 %t116, ptr %t91 br label %scend21 scend21: %t117 = load i32, ptr %t91 %t118 = icmp ne i32 %t117, 0 %t119 = zext i1 %t118 to i32 store i32 %t119, ptr %t90 br i1 %t118, label %sc22, label %scend23 sc22: %t120 = load ptr, ptr %t0 %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 0 %t124 = load i32, ptr %t123 %t125 = icmp eq i32 %t124, 41 %t126 = zext i1 %t125 to i32 %t127 = icmp ne i32 %t126, 0 %t128 = zext i1 %t127 to i32 store i32 %t128, ptr %t90 br label %scend23 scend23: %t129 = load i32, ptr %t90 %t130 = icmp ne i32 %t129, 0 %t131 = zext i1 %t130 to i32 store i32 %t131, ptr %t89 br i1 %t130, label %sc24, label %scend25 sc24: %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 7 %t136 = load ptr, ptr %t135 %t137 = icmp ne ptr %t136, null %t138 = zext i1 %t137 to i32 %t139 = icmp ne i32 %t138, 0 %t140 = zext i1 %t139 to i32 store i32 %t140, ptr %t89 br label %scend25 scend25: %t141 = load i32, ptr %t89 %t142 = icmp ne i32 %t141, 0 br i1 %t142, label %then26, label %ifend28 then26: store i32 0, ptr %t143 br label %wcond29 wcond29: %t144 = load i32, ptr %t143 %t145 = load ptr, ptr %t0 %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 7 %t149 = load ptr, ptr %t148 %t150 = getelementptr inbounds %LSlice, ptr %t149, i32 0, i32 1 %t151 = load i32, ptr %t150 %t152 = icmp slt i32 %t144, %t151 %t153 = zext i1 %t152 to i32 %t154 = icmp ne i32 %t153, 0 br i1 %t154, label %wbody30, label %wend31 wbody30: %t155 = load ptr, ptr %t0 %t156 = getelementptr inbounds %Cmp_Node, ptr %t155, i32 0, i32 4 %t157 = load ptr, ptr %t156 %t158 = getelementptr inbounds %Cmp_Node, ptr %t157, i32 0, i32 7 %t159 = load ptr, ptr %t158 %t160 = load i32, ptr %t143 %t161 = getelementptr inbounds %LSlice, ptr %t159, i32 0, i32 0 %t162 = load ptr, ptr %t161 %t163 = getelementptr inbounds %LSlice, ptr %t159, i32 0, i32 1 %t164 = load i32, ptr %t163 %t165 = icmp ult i32 %t160, %t164 br i1 %t165, label %ixok32, label %ixbad33 ixbad33: store i32 4044, ptr @lp_site %t166 = call ptr @lp_win_stdio(i32 2) store i32 0, ptr @lp_site call i32 (ptr, ptr, ...) @fprintf(ptr %t166, ptr @.fmt_bounds, ptr @.str6875, i32 %t160, i32 %t164) call void @exit(i32 1) unreachable ixok32: %t167 = getelementptr inbounds ptr, ptr %t162, i32 %t160 %t168 = load ptr, ptr %t167 store ptr %t168, ptr %t169 %t173 = load ptr, ptr %t169 %t174 = getelementptr inbounds %Cmp_Node, ptr %t173, i32 0, i32 1 %t175 = load ptr, ptr %t174 %t176 = icmp ne ptr %t175, null %t177 = zext i1 %t176 to i32 %t178 = icmp ne i32 %t177, 0 %t179 = zext i1 %t178 to i32 store i32 %t179, ptr %t172 br i1 %t178, label %sc34, label %scend35 sc34: %t180 = load ptr, ptr %t0 %t181 = getelementptr inbounds %Cmp_Node, ptr %t180, i32 0, i32 1 %t182 = load ptr, ptr %t181 %t183 = load ptr, ptr %t169 %t184 = getelementptr inbounds %Cmp_Node, ptr %t183, i32 0, i32 1 %t185 = load ptr, ptr %t184 %t186 = call i32 @fn_fr_is_frame_prop_field(ptr %t182, ptr %t185) %t187 = icmp ne i32 %t186, 0 %t188 = zext i1 %t187 to i32 store i32 %t188, ptr %t172 br label %scend35 scend35: %t189 = load i32, ptr %t172 %t190 = icmp ne i32 %t189, 0 %t191 = zext i1 %t190 to i32 store i32 %t191, ptr %t171 br i1 %t190, label %sc36, label %scend37 sc36: %t192 = load ptr, ptr %t169 %t193 = getelementptr inbounds %Cmp_Node, ptr %t192, i32 0, i32 4 %t194 = load ptr, ptr %t193 %t195 = icmp ne ptr %t194, null %t196 = zext i1 %t195 to i32 %t197 = icmp ne i32 %t196, 0 %t198 = zext i1 %t197 to i32 store i32 %t198, ptr %t171 br label %scend37 scend37: %t199 = load i32, ptr %t171 %t200 = icmp ne i32 %t199, 0 %t201 = zext i1 %t200 to i32 store i32 %t201, ptr %t170 br i1 %t200, label %sc38, label %scend39 sc38: %t202 = load ptr, ptr %t169 %t203 = getelementptr inbounds %Cmp_Node, ptr %t202, i32 0, i32 4 %t204 = load ptr, ptr %t203 %t205 = getelementptr inbounds %Cmp_Node, ptr %t204, i32 0, i32 0 %t206 = load i32, ptr %t205 %t207 = icmp eq i32 %t206, 55 %t208 = zext i1 %t207 to i32 %t209 = icmp ne i32 %t208, 0 %t210 = zext i1 %t209 to i32 store i32 %t210, ptr %t170 br label %scend39 scend39: %t211 = load i32, ptr %t170 %t212 = icmp ne i32 %t211, 0 br i1 %t212, label %then40, label %ifend42 then40: %t213 = load ptr, ptr %t169 %t214 = getelementptr inbounds %Cmp_Node, ptr %t213, i32 0, i32 4 %t215 = load ptr, ptr %t214 %t216 = getelementptr inbounds %Cmp_Node, ptr %t215, i32 0, i32 1 %t217 = load ptr, ptr %t216 call void @fn_fr_mark_root(ptr %t217) br label %ifend42 ifend42: %t218 = load i32, ptr %t143 %t219 = add i32 %t218, 1 store i32 %t219, ptr %t143 br label %wcond29 wend31: br label %ifend28 ifend28: %t220 = load ptr, ptr %t0 %t221 = getelementptr inbounds %Cmp_Node, ptr %t220, i32 0, i32 4 %t222 = load ptr, ptr %t221 call void @fn_fr_find_roots(ptr %t222) %t223 = load ptr, ptr %t0 %t224 = getelementptr inbounds %Cmp_Node, ptr %t223, i32 0, i32 5 %t225 = load ptr, ptr %t224 call void @fn_fr_find_roots(ptr %t225) %t226 = load ptr, ptr %t0 %t227 = getelementptr inbounds %Cmp_Node, ptr %t226, i32 0, i32 6 %t228 = load ptr, ptr %t227 call void @fn_fr_find_roots(ptr %t228) %t229 = load ptr, ptr %t0 %t230 = getelementptr inbounds %Cmp_Node, ptr %t229, i32 0, i32 7 %t231 = load ptr, ptr %t230 %t232 = icmp ne ptr %t231, null %t233 = zext i1 %t232 to i32 %t234 = icmp ne i32 %t233, 0 br i1 %t234, label %then43, label %ifend45 then43: store i32 0, ptr %t235 br label %wcond46 wcond46: %t236 = load i32, ptr %t235 %t237 = load ptr, ptr %t0 %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 1 %t241 = load i32, ptr %t240 %t242 = icmp slt i32 %t236, %t241 %t243 = zext i1 %t242 to i32 %t244 = icmp ne i32 %t243, 0 br i1 %t244, label %wbody47, label %wend48 wbody47: %t245 = load ptr, ptr %t0 %t246 = getelementptr inbounds %Cmp_Node, ptr %t245, i32 0, i32 7 %t247 = load ptr, ptr %t246 %t248 = load i32, ptr %t235 %t249 = getelementptr inbounds %LSlice, ptr %t247, i32 0, i32 0 %t250 = load ptr, ptr %t249 %t251 = getelementptr inbounds %LSlice, ptr %t247, i32 0, i32 1 %t252 = load i32, ptr %t251 %t253 = icmp ult i32 %t248, %t252 br i1 %t253, label %ixok49, label %ixbad50 ixbad50: store i32 4045, ptr @lp_site %t254 = call ptr @lp_win_stdio(i32 2) store i32 0, ptr @lp_site call i32 (ptr, ptr, ...) @fprintf(ptr %t254, ptr @.fmt_bounds, ptr @.str6877, i32 %t248, i32 %t252) call void @exit(i32 1) unreachable ixok49: %t255 = getelementptr inbounds ptr, ptr %t250, i32 %t248 %t256 = load ptr, ptr %t255 call void @fn_fr_find_roots(ptr %t256) %t257 = load i32, ptr %t235 %t258 = add i32 %t257, 1 store i32 %t258, ptr %t235 br label %wcond46 wend48: br label %ifend45 ifend45: br label %ret ret: ret void } define i32 @fn_fr_is_textish(ptr %arg_n) { entry: %retval = alloca i32 %t0 = alloca ptr %t11 = alloca i32 %t12 = alloca i32 %t13 = alloca i32 %t53 = alloca i32 %t69 = alloca i32 store ptr %arg_n, 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: store i32 0, ptr %retval br label %ret ifend2: %t5 = load ptr, ptr %t0 %t6 = getelementptr inbounds %Cmp_Node, ptr %t5, i32 0, i32 0 %t7 = load i32, ptr %t6 %t8 = icmp eq i32 %t7, 31 %t9 = zext i1 %t8 to i32 %t10 = icmp ne i32 %t9, 0 br i1 %t10, label %then3, label %ifend5 then3: store i32 1, ptr %retval br label %ret ifend5: %t14 = load ptr, ptr %t0 %t15 = getelementptr inbounds %Cmp_Node, ptr %t14, i32 0, i32 0 %t16 = load i32, ptr %t15 %t17 = icmp eq i32 %t16, 34 %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 %sc6, label %scend7 sc6: %t21 = load ptr, ptr %t0 %t22 = getelementptr inbounds %Cmp_Node, ptr %t21, i32 0, i32 4 %t23 = load ptr, ptr %t22 %t24 = icmp ne ptr %t23, null %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 %scend7 scend7: %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 %sc8, label %scend9 sc8: %t31 = load ptr, ptr %t0 %t32 = getelementptr inbounds %Cmp_Node, ptr %t31, i32 0, i32 4 %t33 = load ptr, ptr %t32 %t34 = getelementptr inbounds %Cmp_Node, ptr %t33, i32 0, i32 0 %t35 = load i32, ptr %t34 %t36 = icmp eq i32 %t35, 33 %t37 = zext i1 %t36 to i32 %t38 = icmp ne i32 %t37, 0 %t39 = zext i1 %t38 to i32 store i32 %t39, ptr %t12 br label %scend9 scend9: %t40 = load i32, ptr %t12 %t41 = icmp ne i32 %t40, 0 %t42 = zext i1 %t41 to i32 store i32 %t42, ptr %t11 br i1 %t41, label %sc10, label %scend11 sc10: %t43 = load ptr, ptr %t0 %t44 = getelementptr inbounds %Cmp_Node, ptr %t43, i32 0, i32 4 %t45 = load ptr, ptr %t44 %t46 = getelementptr inbounds %Cmp_Node, ptr %t45, i32 0, i32 1 %t47 = load ptr, ptr %t46 %t48 = call i32 @lp_str_eq(ptr %t47, ptr @.str6878) %t49 = icmp ne i32 %t48, 0 %t50 = zext i1 %t49 to i32 store i32 %t50, ptr %t11 br label %scend11 scend11: %t51 = load i32, ptr %t11 %t52 = icmp ne i32 %t51, 0 br i1 %t52, label %then12, label %ifend14 then12: store i32 1, ptr %retval br label %ret ifend14: %t54 = load ptr, ptr %t0 %t55 = getelementptr inbounds %Cmp_Node, ptr %t54, i32 0, i32 0 %t56 = load i32, ptr %t55 %t57 = icmp eq i32 %t56, 37 %t58 = zext i1 %t57 to i32 %t59 = icmp ne i32 %t58, 0 %t60 = zext i1 %t59 to i32 store i32 %t60, ptr %t53 br i1 %t59, label %sc15, label %scend16 sc15: %t61 = load ptr, ptr %t0 %t62 = getelementptr inbounds %Cmp_Node, ptr %t61, i32 0, i32 1 %t63 = load ptr, ptr %t62 %t64 = call i32 @lp_str_eq(ptr %t63, ptr @.str6879) %t65 = icmp ne i32 %t64, 0 %t66 = zext i1 %t65 to i32 store i32 %t66, ptr %t53 br label %scend16 scend16: %t67 = load i32, ptr %t53 %t68 = icmp ne i32 %t67, 0 br i1 %t68, label %then17, label %ifend19 then17: %t70 = load ptr, ptr %t0 %t71 = getelementptr inbounds %Cmp_Node, ptr %t70, i32 0, i32 4 %t72 = load ptr, ptr %t71 %t73 = call i32 @fn_fr_is_textish(ptr %t72) %t74 = icmp ne i32 %t73, 0 %t75 = zext i1 %t74 to i32 store i32 %t75, ptr %t69 br i1 %t74, label %scend21, label %sc20 sc20: %t76 = load ptr, ptr %t0 %t77 = getelementptr inbounds %Cmp_Node, ptr %t76, i32 0, i32 5 %t78 = load ptr, ptr %t77 %t79 = call i32 @fn_fr_is_textish(ptr %t78) %t80 = icmp ne i32 %t79, 0 %t81 = zext i1 %t80 to i32 store i32 %t81, ptr %t69 br label %scend21 scend21: %t82 = load i32, ptr %t69 store i32 %t82, ptr %retval br label %ret ifend19: store i32 0, ptr %retval br label %ret ret: %t83 = load i32, ptr %retval ret i32 %t83 } define ptr @fn_fr_alloc_kind(ptr %arg_n, i32 %arg_text_above) { entry: %retval = alloca ptr %t0 = alloca ptr %t1 = alloca i32 %t2 = alloca i32 %t29 = alloca i32 %t30 = alloca i32 %t31 = alloca i32 %t62 = alloca i32 %t63 = alloca i32 %t64 = alloca i32 %t110 = alloca ptr %t114 = alloca i32 %t140 = alloca i32 %t141 = alloca i32 %t142 = alloca i32 %t143 = alloca i32 %t144 = alloca i32 %t145 = alloca i32 store ptr %arg_n, ptr %t0 store i32 %arg_text_above, ptr %t1 %t3 = load ptr, ptr %t0 %t4 = getelementptr inbounds %Cmp_Node, ptr %t3, i32 0, i32 0 %t5 = load i32, ptr %t4 %t6 = icmp eq i32 %t5, 39 %t7 = zext i1 %t6 to i32 %t8 = icmp ne i32 %t7, 0 %t9 = zext i1 %t8 to i32 store i32 %t9, ptr %t2 br i1 %t8, label %sc0, label %scend1 sc0: %t10 = load ptr, ptr %t0 %t11 = getelementptr inbounds %Cmp_Node, ptr %t10, i32 0, i32 5 %t12 = load ptr, ptr %t11 %t13 = icmp eq ptr %t12, null %t14 = zext i1 %t13 to i32 %t15 = icmp ne i32 %t14, 0 %t16 = zext i1 %t15 to i32 store i32 %t16, ptr %t2 br label %scend1 scend1: %t17 = load i32, ptr %t2 %t18 = icmp ne i32 %t17, 0 br i1 %t18, label %then2, label %ifend4 then2: %t19 = load ptr, ptr %t0 %t20 = getelementptr inbounds %Cmp_Node, ptr %t19, i32 0, i32 1 %t21 = load ptr, ptr %t20 store i32 4046, ptr @lp_site %t22 = call ptr @lp_str_concat(ptr @.str6880, ptr %t21) store i32 0, ptr @lp_site store ptr %t22, ptr %retval br label %ret ifend4: %t23 = load ptr, ptr %t0 %t24 = getelementptr inbounds %Cmp_Node, ptr %t23, i32 0, i32 0 %t25 = load i32, ptr %t24 %t26 = icmp eq i32 %t25, 54 %t27 = zext i1 %t26 to i32 %t28 = icmp ne i32 %t27, 0 br i1 %t28, label %then5, label %ifend7 then5: store ptr @.str6882, ptr %retval br label %ret ifend7: %t32 = load ptr, ptr %t0 %t33 = getelementptr inbounds %Cmp_Node, ptr %t32, i32 0, i32 0 %t34 = load i32, ptr %t33 %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 %t31 br i1 %t37, label %sc8, label %scend9 sc8: %t39 = load ptr, ptr %t0 %t40 = getelementptr inbounds %Cmp_Node, ptr %t39, i32 0, i32 1 %t41 = load ptr, ptr %t40 %t42 = call i32 @lp_str_eq(ptr %t41, ptr @.str6883) %t43 = icmp ne i32 %t42, 0 %t44 = zext i1 %t43 to i32 store i32 %t44, ptr %t31 br label %scend9 scend9: %t45 = load i32, ptr %t31 %t46 = icmp ne i32 %t45, 0 %t47 = zext i1 %t46 to i32 store i32 %t47, ptr %t30 br i1 %t46, label %sc10, label %scend11 sc10: %t48 = load i32, ptr %t1 %t49 = icmp eq i32 %t48, 0 %t50 = zext i1 %t49 to i32 %t51 = icmp ne i32 %t50, 0 %t52 = zext i1 %t51 to i32 store i32 %t52, ptr %t30 br label %scend11 scend11: %t53 = load i32, ptr %t30 %t54 = icmp ne i32 %t53, 0 %t55 = zext i1 %t54 to i32 store i32 %t55, ptr %t29 br i1 %t54, label %sc12, label %scend13 sc12: %t56 = load ptr, ptr %t0 %t57 = call i32 @fn_fr_is_textish(ptr %t56) %t58 = icmp ne i32 %t57, 0 %t59 = zext i1 %t58 to i32 store i32 %t59, ptr %t29 br label %scend13 scend13: %t60 = load i32, ptr %t29 %t61 = icmp ne i32 %t60, 0 br i1 %t61, label %then14, label %ifend16 then14: store ptr @.str6884, ptr %retval br label %ret ifend16: %t65 = load ptr, ptr %t0 %t66 = getelementptr inbounds %Cmp_Node, ptr %t65, i32 0, i32 0 %t67 = load i32, ptr %t66 %t68 = icmp eq i32 %t67, 34 %t69 = zext i1 %t68 to i32 %t70 = icmp ne i32 %t69, 0 %t71 = zext i1 %t70 to i32 store i32 %t71, ptr %t64 br i1 %t70, label %sc17, label %scend18 sc17: %t72 = load ptr, ptr %t0 %t73 = getelementptr inbounds %Cmp_Node, ptr %t72, i32 0, i32 4 %t74 = load ptr, ptr %t73 %t75 = icmp ne ptr %t74, null %t76 = zext i1 %t75 to i32 %t77 = icmp ne i32 %t76, 0 %t78 = zext i1 %t77 to i32 store i32 %t78, ptr %t64 br label %scend18 scend18: %t79 = load i32, ptr %t64 %t80 = icmp ne i32 %t79, 0 %t81 = zext i1 %t80 to i32 store i32 %t81, ptr %t63 br i1 %t80, label %sc19, label %scend20 sc19: %t82 = load ptr, ptr %t0 %t83 = getelementptr inbounds %Cmp_Node, ptr %t82, i32 0, i32 4 %t84 = load ptr, ptr %t83 %t85 = getelementptr inbounds %Cmp_Node, ptr %t84, i32 0, i32 0 %t86 = load i32, ptr %t85 %t87 = icmp eq i32 %t86, 33 %t88 = zext i1 %t87 to i32 %t89 = icmp ne i32 %t88, 0 %t90 = zext i1 %t89 to i32 store i32 %t90, ptr %t63 br label %scend20 scend20: %t91 = load i32, ptr %t63 %t92 = icmp ne i32 %t91, 0 %t93 = zext i1 %t92 to i32 store i32 %t93, ptr %t62 br i1 %t92, label %sc21, label %scend22 sc21: %t94 = load ptr, ptr %t0 %t95 = getelementptr inbounds %Cmp_Node, ptr %t94, i32 0, i32 4 %t96 = load ptr, ptr %t95 %t97 = getelementptr inbounds %Cmp_Node, ptr %t96, i32 0, i32 1 %t98 = load ptr, ptr %t97 %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 %t62 br label %scend22 scend22: %t103 = load i32, ptr %t62 %t104 = icmp ne i32 %t103, 0 br i1 %t104, label %then23, label %ifend25 then23: %t105 = load ptr, ptr %t0 %t106 = getelementptr inbounds %Cmp_Node, ptr %t105, i32 0, i32 4 %t107 = load ptr, ptr %t106 %t108 = getelementptr inbounds %Cmp_Node, ptr %t107, i32 0, i32 1 %t109 = load ptr, ptr %t108 store ptr %t109, ptr %t110 %t111 = load ptr, ptr %t110 %t112 = call i32 @lp_str_eq(ptr %t111, ptr @.str6885) %t113 = icmp ne i32 %t112, 0 br i1 %t113, label %then26, label %ifend28 then26: %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 sgt i32 %t119, 0 %t121 = zext i1 %t120 to i32 %t122 = icmp ne i32 %t121, 0 %t123 = zext i1 %t122 to i32 store i32 %t123, ptr %t114 br i1 %t122, label %sc29, label %scend30 sc29: %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 = getelementptr inbounds %LSlice, ptr %t126, i32 0, i32 1 %t130 = load i32, ptr %t129 %t131 = icmp ult i32 0, %t130 br i1 %t131, label %ixok31, label %ixbad32 ixbad32: store i32 4047, ptr @lp_site %t132 = call ptr @lp_win_stdio(i32 2) store i32 0, ptr @lp_site call i32 (ptr, ptr, ...) @fprintf(ptr %t132, ptr @.fmt_bounds, ptr @.str6886, i32 0, i32 %t130) call void @exit(i32 1) unreachable ixok31: %t133 = getelementptr inbounds ptr, ptr %t128, i32 0 %t134 = load ptr, ptr %t133 %t135 = call i32 @fn_fr_capped(ptr %t134) %t136 = icmp ne i32 %t135, 0 %t137 = zext i1 %t136 to i32 store i32 %t137, ptr %t114 br label %scend30 scend30: %t138 = load i32, ptr %t114 %t139 = icmp ne i32 %t138, 0 br i1 %t139, label %then33, label %ifend35 then33: store ptr null, ptr %retval br label %ret ifend35: store ptr @.str6887, ptr %retval br label %ret ifend28: %t146 = load ptr, ptr %t110 %t147 = call i32 @lp_str_eq(ptr %t146, ptr @.str6888) %t148 = icmp ne i32 %t147, 0 %t149 = zext i1 %t148 to i32 store i32 %t149, ptr %t145 br i1 %t148, label %scend37, label %sc36 sc36: %t150 = load ptr, ptr %t110 %t151 = call i32 @lp_str_eq(ptr %t150, ptr @.str6889) %t152 = icmp ne i32 %t151, 0 %t153 = zext i1 %t152 to i32 store i32 %t153, ptr %t145 br label %scend37 scend37: %t154 = load i32, ptr %t145 %t155 = icmp ne i32 %t154, 0 %t156 = zext i1 %t155 to i32 store i32 %t156, ptr %t144 br i1 %t155, label %scend39, label %sc38 sc38: %t157 = load ptr, ptr %t110 %t158 = call i32 @lp_str_eq(ptr %t157, ptr @.str6890) %t159 = icmp ne i32 %t158, 0 %t160 = zext i1 %t159 to i32 store i32 %t160, ptr %t144 br label %scend39 scend39: %t161 = load i32, ptr %t144 %t162 = icmp ne i32 %t161, 0 %t163 = zext i1 %t162 to i32 store i32 %t163, ptr %t143 br i1 %t162, label %scend41, label %sc40 sc40: %t164 = load ptr, ptr %t110 %t165 = call i32 @lp_str_eq(ptr %t164, ptr @.str6891) %t166 = icmp ne i32 %t165, 0 %t167 = zext i1 %t166 to i32 store i32 %t167, ptr %t143 br label %scend41 scend41: %t168 = load i32, ptr %t143 %t169 = icmp ne i32 %t168, 0 %t170 = zext i1 %t169 to i32 store i32 %t170, ptr %t142 br i1 %t169, label %scend43, label %sc42 sc42: %t171 = load ptr, ptr %t110 %t172 = call i32 @lp_str_eq(ptr %t171, ptr @.str6892) %t173 = icmp ne i32 %t172, 0 %t174 = zext i1 %t173 to i32 store i32 %t174, ptr %t142 br label %scend43 scend43: %t175 = load i32, ptr %t142 %t176 = icmp ne i32 %t175, 0 %t177 = zext i1 %t176 to i32 store i32 %t177, ptr %t141 br i1 %t176, label %scend45, label %sc44 sc44: %t178 = load ptr, ptr %t110 %t179 = call i32 @lp_str_eq(ptr %t178, ptr @.str6893) %t180 = icmp ne i32 %t179, 0 %t181 = zext i1 %t180 to i32 store i32 %t181, ptr %t141 br label %scend45 scend45: %t182 = load i32, ptr %t141 %t183 = icmp ne i32 %t182, 0 %t184 = zext i1 %t183 to i32 store i32 %t184, ptr %t140 br i1 %t183, label %scend47, label %sc46 sc46: %t185 = load ptr, ptr %t110 %t186 = call i32 @lp_str_eq(ptr %t185, ptr @.str6894) %t187 = icmp ne i32 %t186, 0 %t188 = zext i1 %t187 to i32 store i32 %t188, ptr %t140 br label %scend47 scend47: %t189 = load i32, ptr %t140 %t190 = icmp ne i32 %t189, 0 br i1 %t190, label %then48, label %ifend50 then48: %t191 = load ptr, ptr %t110 store i32 4048, ptr @lp_site %t192 = call ptr @lp_str_concat(ptr %t191, ptr @.str6895) store i32 0, ptr @lp_site store ptr %t192, ptr %retval br label %ret ifend50: br label %ifend25 ifend25: store ptr null, ptr %retval br label %ret ret: %t193 = load ptr, ptr %retval ret ptr %t193 } define i32 @fn_fr_allocs(ptr %arg_f, ptr %arg_n, i32 %arg_k, i32 %arg_text_above) { entry: %retval = alloca i32 %t0 = alloca ptr %t1 = alloca ptr %t2 = alloca i32 %t3 = alloca i32 %t11 = alloca i32 %t28 = alloca i32 %t32 = alloca ptr %t66 = alloca i32 %t67 = alloca i32 %t89 = alloca i32 %t122 = alloca i32 store ptr %arg_f, ptr %t0 store ptr %arg_n, ptr %t1 store i32 %arg_k, ptr %t2 store i32 %arg_text_above, ptr %t3 %t4 = load ptr, ptr %t1 %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: %t8 = load ptr, ptr %t1 %t9 = call i32 @fn_fr_aok_stmt(ptr %t8) %t10 = icmp ne i32 %t9, 0 br i1 %t10, label %then3, label %ifend5 then3: store i32 0, ptr %retval br label %ret ifend5: %t12 = load i32, ptr @g_g_arena %t13 = icmp ne i32 %t12, 0 %t14 = zext i1 %t13 to i32 store i32 %t14, ptr %t11 br i1 %t13, label %sc6, label %scend7 sc6: %t15 = load ptr, ptr %t1 %t16 = getelementptr inbounds %Cmp_Node, ptr %t15, i32 0, i32 12 %t17 = load i32, ptr %t16 %t18 = icmp eq i32 %t17, 77 %t19 = zext i1 %t18 to i32 %t20 = icmp ne i32 %t19, 0 %t21 = zext i1 %t20 to i32 store i32 %t21, ptr %t11 br label %scend7 scend7: %t22 = load i32, ptr %t11 %t23 = icmp ne i32 %t22, 0 br i1 %t23, label %then8, label %ifend10 then8: %t24 = load ptr, ptr %t0 %t25 = load ptr, ptr %t1 %t26 = load i32, ptr %t2 %t27 = call i32 @fn_fr_allocs_kids(ptr %t24, ptr %t25, i32 %t26) store i32 %t27, ptr %retval br label %ret ifend10: store i32 0, ptr %t28 %t29 = load ptr, ptr %t1 %t30 = load i32, ptr %t3 %t31 = call ptr @fn_fr_alloc_kind(ptr %t29, i32 %t30) store ptr %t31, ptr %t32 %t33 = load ptr, ptr %t32 %t34 = icmp ne ptr %t33, null %t35 = zext i1 %t34 to i32 %t36 = icmp ne i32 %t35, 0 br i1 %t36, label %then11, label %ifend13 then11: %t37 = load ptr, ptr %t0 %t38 = load ptr, ptr %t32 store i32 4049, ptr @lp_site %t39 = call ptr @lp_str_concat(ptr @.str6896, ptr %t38) store i32 0, ptr @lp_site store i32 4050, ptr @lp_site %t40 = call ptr @lp_str_concat(ptr %t39, ptr @.str6898) store i32 0, ptr @lp_site call void @lp_free(ptr %t39) %t41 = load ptr, ptr @g_g_dr_node %t42 = load i32, ptr %t2 %t43 = getelementptr inbounds %LSlice, ptr %t41, i32 0, i32 0 %t44 = load ptr, ptr %t43 %t45 = getelementptr inbounds %LSlice, ptr %t41, i32 0, i32 1 %t46 = load i32, ptr %t45 %t47 = icmp ult i32 %t42, %t46 br i1 %t47, label %ixok14, label %ixbad15 ixbad15: store i32 4051, ptr @lp_site %t48 = call ptr @lp_win_stdio(i32 2) store i32 0, ptr @lp_site call i32 (ptr, ptr, ...) @fprintf(ptr %t48, ptr @.fmt_bounds, ptr @.str6899, i32 %t42, i32 %t46) call void @exit(i32 1) unreachable ixok14: %t49 = getelementptr inbounds ptr, ptr %t44, i32 %t42 %t50 = load ptr, ptr %t49 %t51 = getelementptr inbounds %Cmp_Node, ptr %t50, i32 0, i32 9 %t52 = load ptr, ptr %t51 store i32 4052, ptr @lp_site %t53 = call ptr @lp_str_concat(ptr %t40, ptr %t52) store i32 0, ptr @lp_site call void @lp_free(ptr %t40) store i32 4053, ptr @lp_site %t54 = call ptr @lp_str_concat(ptr %t53, ptr @.str6900) store i32 0, ptr @lp_site call void @lp_free(ptr %t53) %t55 = load ptr, ptr %t1 %t56 = getelementptr inbounds %Cmp_Node, ptr %t55, i32 0, i32 8 %t57 = load i32, ptr %t56 %t58 = call ptr @fn_itoa(i32 %t57) store i32 4054, ptr @lp_site %t59 = call ptr @lp_str_concat(ptr %t54, ptr %t58) store i32 0, ptr @lp_site call void @lp_free(ptr %t54) store i32 4055, ptr @lp_site %t60 = call ptr @lp_str_concat(ptr %t59, ptr @.str6901) store i32 0, ptr @lp_site call void @lp_free(ptr %t59) %t61 = load i32, ptr %t2 %t62 = call ptr @fn_fr_chain(i32 %t61) store i32 4056, ptr @lp_site %t63 = call ptr @lp_str_concat(ptr %t60, ptr %t62) store i32 0, ptr @lp_site call void @lp_free(ptr %t60) call void @fn_deps_line(ptr %t37, ptr %t63) %t64 = load i32, ptr %t28 %t65 = add i32 %t64, 1 store i32 %t65, ptr %t28 br label %ifend13 ifend13: %t68 = load ptr, ptr %t1 %t69 = getelementptr inbounds %Cmp_Node, ptr %t68, i32 0, i32 0 %t70 = load i32, ptr %t69 %t71 = icmp eq i32 %t70, 37 %t72 = zext i1 %t71 to i32 %t73 = icmp ne i32 %t72, 0 %t74 = zext i1 %t73 to i32 store i32 %t74, ptr %t67 br i1 %t73, label %sc16, label %scend17 sc16: %t75 = load ptr, ptr %t1 %t76 = getelementptr inbounds %Cmp_Node, ptr %t75, i32 0, i32 1 %t77 = load ptr, ptr %t76 %t78 = call i32 @lp_str_eq(ptr %t77, ptr @.str6902) %t79 = icmp ne i32 %t78, 0 %t80 = zext i1 %t79 to i32 store i32 %t80, ptr %t67 br label %scend17 scend17: %t81 = load i32, ptr %t67 %t82 = icmp ne i32 %t81, 0 %t83 = zext i1 %t82 to i32 store i32 %t83, ptr %t66 br i1 %t82, label %sc18, label %scend19 sc18: %t84 = load ptr, ptr %t1 %t85 = call i32 @fn_fr_is_textish(ptr %t84) %t86 = icmp ne i32 %t85, 0 %t87 = zext i1 %t86 to i32 store i32 %t87, ptr %t66 br label %scend19 scend19: %t88 = load i32, ptr %t66 store i32 %t88, ptr %t89 %t90 = load ptr, ptr %t0 %t91 = load ptr, ptr %t1 %t92 = getelementptr inbounds %Cmp_Node, ptr %t91, i32 0, i32 4 %t93 = load ptr, ptr %t92 %t94 = load i32, ptr %t2 %t95 = load i32, ptr %t89 %t96 = call i32 @fn_fr_allocs(ptr %t90, ptr %t93, i32 %t94, i32 %t95) %t97 = load i32, ptr %t28 %t98 = add i32 %t97, %t96 store i32 %t98, ptr %t28 %t99 = load ptr, ptr %t0 %t100 = load ptr, ptr %t1 %t101 = getelementptr inbounds %Cmp_Node, ptr %t100, i32 0, i32 5 %t102 = load ptr, ptr %t101 %t103 = load i32, ptr %t2 %t104 = load i32, ptr %t89 %t105 = call i32 @fn_fr_allocs(ptr %t99, ptr %t102, i32 %t103, i32 %t104) %t106 = load i32, ptr %t28 %t107 = add i32 %t106, %t105 store i32 %t107, ptr %t28 %t108 = load ptr, ptr %t0 %t109 = load ptr, ptr %t1 %t110 = getelementptr inbounds %Cmp_Node, ptr %t109, i32 0, i32 6 %t111 = load ptr, ptr %t110 %t112 = load i32, ptr %t2 %t113 = call i32 @fn_fr_allocs(ptr %t108, ptr %t111, i32 %t112, i32 0) %t114 = load i32, ptr %t28 %t115 = add i32 %t114, %t113 store i32 %t115, ptr %t28 %t116 = load ptr, ptr %t1 %t117 = getelementptr inbounds %Cmp_Node, ptr %t116, i32 0, i32 7 %t118 = load ptr, ptr %t117 %t119 = icmp ne ptr %t118, null %t120 = zext i1 %t119 to i32 %t121 = icmp ne i32 %t120, 0 br i1 %t121, label %then20, label %ifend22 then20: store i32 0, ptr %t122 br label %wcond23 wcond23: %t123 = load i32, ptr %t122 %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 1 %t128 = load i32, ptr %t127 %t129 = icmp slt i32 %t123, %t128 %t130 = zext i1 %t129 to i32 %t131 = icmp ne i32 %t130, 0 br i1 %t131, label %wbody24, label %wend25 wbody24: %t132 = load ptr, ptr %t0 %t133 = load ptr, ptr %t1 %t134 = getelementptr inbounds %Cmp_Node, ptr %t133, i32 0, i32 7 %t135 = load ptr, ptr %t134 %t136 = load i32, ptr %t122 %t137 = getelementptr inbounds %LSlice, ptr %t135, i32 0, i32 0 %t138 = load ptr, ptr %t137 %t139 = getelementptr inbounds %LSlice, ptr %t135, i32 0, i32 1 %t140 = load i32, ptr %t139 %t141 = icmp ult i32 %t136, %t140 br i1 %t141, label %ixok26, label %ixbad27 ixbad27: store i32 4057, ptr @lp_site %t142 = call ptr @lp_win_stdio(i32 2) store i32 0, ptr @lp_site call i32 (ptr, ptr, ...) @fprintf(ptr %t142, ptr @.fmt_bounds, ptr @.str6903, i32 %t136, i32 %t140) call void @exit(i32 1) unreachable ixok26: %t143 = getelementptr inbounds ptr, ptr %t138, i32 %t136 %t144 = load ptr, ptr %t143 %t145 = load i32, ptr %t2 %t146 = call i32 @fn_fr_allocs(ptr %t132, ptr %t144, i32 %t145, i32 0) %t147 = load i32, ptr %t28 %t148 = add i32 %t147, %t146 store i32 %t148, ptr %t28 %t149 = load i32, ptr %t122 %t150 = add i32 %t149, 1 store i32 %t150, ptr %t122 br label %wcond23 wend25: br label %ifend22 ifend22: %t151 = load i32, ptr %t28 store i32 %t151, ptr %retval br label %ret ret: %t152 = load i32, ptr %retval ret i32 %t152 } define i32 @fn_fr_allocs_kids(ptr %arg_f, ptr %arg_n, i32 %arg_k) { entry: %retval = alloca i32 %t0 = alloca ptr %t1 = alloca ptr %t2 = alloca i32 %t3 = alloca i32 %t4 = alloca i32 %t5 = alloca i32 %t27 = alloca i32 %t60 = alloca i32 store ptr %arg_f, ptr %t0 store ptr %arg_n, ptr %t1 store i32 %arg_k, ptr %t2 store i32 0, ptr %t3 %t6 = load ptr, ptr %t1 %t7 = getelementptr inbounds %Cmp_Node, ptr %t6, i32 0, i32 0 %t8 = load i32, ptr %t7 %t9 = icmp eq i32 %t8, 37 %t10 = zext i1 %t9 to i32 %t11 = icmp ne i32 %t10, 0 %t12 = zext i1 %t11 to i32 store i32 %t12, ptr %t5 br i1 %t11, label %sc0, label %scend1 sc0: %t13 = load ptr, ptr %t1 %t14 = getelementptr inbounds %Cmp_Node, ptr %t13, i32 0, i32 1 %t15 = load ptr, ptr %t14 %t16 = call i32 @lp_str_eq(ptr %t15, ptr @.str6904) %t17 = icmp ne i32 %t16, 0 %t18 = zext i1 %t17 to i32 store i32 %t18, ptr %t5 br label %scend1 scend1: %t19 = load i32, ptr %t5 %t20 = icmp ne i32 %t19, 0 %t21 = zext i1 %t20 to i32 store i32 %t21, ptr %t4 br i1 %t20, label %sc2, label %scend3 sc2: %t22 = load ptr, ptr %t1 %t23 = call i32 @fn_fr_is_textish(ptr %t22) %t24 = icmp ne i32 %t23, 0 %t25 = zext i1 %t24 to i32 store i32 %t25, ptr %t4 br label %scend3 scend3: %t26 = load i32, ptr %t4 store i32 %t26, ptr %t27 %t28 = load ptr, ptr %t0 %t29 = load ptr, ptr %t1 %t30 = getelementptr inbounds %Cmp_Node, ptr %t29, i32 0, i32 4 %t31 = load ptr, ptr %t30 %t32 = load i32, ptr %t2 %t33 = load i32, ptr %t27 %t34 = call i32 @fn_fr_allocs(ptr %t28, ptr %t31, i32 %t32, i32 %t33) %t35 = load i32, ptr %t3 %t36 = add i32 %t35, %t34 store i32 %t36, ptr %t3 %t37 = load ptr, ptr %t0 %t38 = load ptr, ptr %t1 %t39 = getelementptr inbounds %Cmp_Node, ptr %t38, i32 0, i32 5 %t40 = load ptr, ptr %t39 %t41 = load i32, ptr %t2 %t42 = load i32, ptr %t27 %t43 = call i32 @fn_fr_allocs(ptr %t37, ptr %t40, i32 %t41, i32 %t42) %t44 = load i32, ptr %t3 %t45 = add i32 %t44, %t43 store i32 %t45, ptr %t3 %t46 = load ptr, ptr %t0 %t47 = load ptr, ptr %t1 %t48 = getelementptr inbounds %Cmp_Node, ptr %t47, i32 0, i32 6 %t49 = load ptr, ptr %t48 %t50 = load i32, ptr %t2 %t51 = call i32 @fn_fr_allocs(ptr %t46, ptr %t49, i32 %t50, i32 0) %t52 = load i32, ptr %t3 %t53 = add i32 %t52, %t51 store i32 %t53, ptr %t3 %t54 = load ptr, ptr %t1 %t55 = getelementptr inbounds %Cmp_Node, ptr %t54, i32 0, i32 7 %t56 = load ptr, ptr %t55 %t57 = icmp ne ptr %t56, null %t58 = zext i1 %t57 to i32 %t59 = icmp ne i32 %t58, 0 br i1 %t59, label %then4, label %ifend6 then4: store i32 0, ptr %t60 br label %wcond7 wcond7: %t61 = load i32, ptr %t60 %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 1 %t66 = load i32, ptr %t65 %t67 = icmp slt i32 %t61, %t66 %t68 = zext i1 %t67 to i32 %t69 = icmp ne i32 %t68, 0 br i1 %t69, label %wbody8, label %wend9 wbody8: %t70 = load ptr, ptr %t0 %t71 = load ptr, ptr %t1 %t72 = getelementptr inbounds %Cmp_Node, ptr %t71, i32 0, i32 7 %t73 = load ptr, ptr %t72 %t74 = load i32, ptr %t60 %t75 = getelementptr inbounds %LSlice, ptr %t73, i32 0, i32 0 %t76 = load ptr, ptr %t75 %t77 = getelementptr inbounds %LSlice, ptr %t73, i32 0, i32 1 %t78 = load i32, ptr %t77 %t79 = icmp ult i32 %t74, %t78 br i1 %t79, label %ixok10, label %ixbad11 ixbad11: store i32 4058, ptr @lp_site %t80 = call ptr @lp_win_stdio(i32 2) store i32 0, ptr @lp_site call i32 (ptr, ptr, ...) @fprintf(ptr %t80, ptr @.fmt_bounds, ptr @.str6905, i32 %t74, i32 %t78) call void @exit(i32 1) unreachable ixok10: %t81 = getelementptr inbounds ptr, ptr %t76, i32 %t74 %t82 = load ptr, ptr %t81 %t83 = load i32, ptr %t2 %t84 = call i32 @fn_fr_allocs(ptr %t70, ptr %t82, i32 %t83, i32 0) %t85 = load i32, ptr %t3 %t86 = add i32 %t85, %t84 store i32 %t86, ptr %t3 %t87 = load i32, ptr %t60 %t88 = add i32 %t87, 1 store i32 %t88, ptr %t60 br label %wcond7 wend9: br label %ifend6 ifend6: %t89 = load i32, ptr %t3 store i32 %t89, ptr %retval br label %ret ret: %t90 = load i32, ptr %retval ret i32 %t90 } define ptr @fn_fr_chain(i32 %arg_k) { entry: %retval = alloca ptr %t0 = alloca i32 %t11 = alloca ptr %t22 = alloca i32 %t23 = alloca i32 %t25 = alloca i32 store i32 %arg_k, ptr %t0 %t1 = load ptr, ptr @g_g_dr_name %t2 = load i32, ptr %t0 %t3 = getelementptr inbounds %LSlice, ptr %t1, i32 0, i32 0 %t4 = load ptr, ptr %t3 %t5 = getelementptr inbounds %LSlice, ptr %t1, i32 0, i32 1 %t6 = load i32, ptr %t5 %t7 = icmp ult i32 %t2, %t6 br i1 %t7, label %ixok0, label %ixbad1 ixbad1: store i32 4059, ptr @lp_site %t8 = call ptr @lp_win_stdio(i32 2) store i32 0, ptr @lp_site call i32 (ptr, ptr, ...) @fprintf(ptr %t8, ptr @.fmt_bounds, ptr @.str6907, i32 %t2, i32 %t6) call void @exit(i32 1) unreachable ixok0: %t9 = getelementptr inbounds ptr, ptr %t4, i32 %t2 %t10 = load ptr, ptr %t9 store ptr %t10, ptr %t11 %t12 = load ptr, ptr @g_g_fr_from %t13 = load i32, ptr %t0 %t14 = getelementptr inbounds %LSlice, ptr %t12, i32 0, i32 0 %t15 = load ptr, ptr %t14 %t16 = getelementptr inbounds %LSlice, ptr %t12, i32 0, i32 1 %t17 = load i32, ptr %t16 %t18 = icmp ult i32 %t13, %t17 br i1 %t18, label %ixok2, label %ixbad3 ixbad3: store i32 4060, ptr @lp_site %t19 = call ptr @lp_win_stdio(i32 2) store i32 0, ptr @lp_site call i32 (ptr, ptr, ...) @fprintf(ptr %t19, ptr @.fmt_bounds, ptr @.str6909, i32 %t13, i32 %t17) call void @exit(i32 1) unreachable ixok2: %t20 = getelementptr inbounds i32, ptr %t15, i32 %t13 %t21 = load i32, ptr %t20 store i32 %t21, ptr %t22 store i32 0, ptr %t23 %t24 = load i32, ptr %t0 store i32 %t24, ptr %t25 br label %wcond4 wcond4: %t26 = load i32, ptr %t22 %t27 = icmp sge i32 %t26, 0 %t28 = zext i1 %t27 to i32 %t29 = icmp ne i32 %t28, 0 br i1 %t29, label %wbody5, label %wend6 wbody5: %t30 = load i32, ptr %t23 %t31 = icmp slt i32 %t30, 6 %t32 = zext i1 %t31 to i32 %t33 = icmp ne i32 %t32, 0 br i1 %t33, label %then7, label %ifend9 then7: %t34 = load ptr, ptr @g_g_dr_name %t35 = load i32, ptr %t22 %t36 = getelementptr inbounds %LSlice, ptr %t34, i32 0, i32 0 %t37 = load ptr, ptr %t36 %t38 = getelementptr inbounds %LSlice, ptr %t34, i32 0, i32 1 %t39 = load i32, ptr %t38 %t40 = icmp ult i32 %t35, %t39 br i1 %t40, label %ixok10, label %ixbad11 ixbad11: store i32 4061, ptr @lp_site %t41 = call ptr @lp_win_stdio(i32 2) store i32 0, ptr @lp_site call i32 (ptr, ptr, ...) @fprintf(ptr %t41, ptr @.fmt_bounds, ptr @.str6910, i32 %t35, i32 %t39) call void @exit(i32 1) unreachable ixok10: %t42 = getelementptr inbounds ptr, ptr %t37, i32 %t35 %t43 = load ptr, ptr %t42 store i32 4062, ptr @lp_site %t44 = call ptr @lp_str_concat(ptr %t43, ptr @.str6911) store i32 0, ptr @lp_site %t45 = load ptr, ptr %t11 store i32 4063, ptr @lp_site %t46 = call ptr @lp_str_concat(ptr %t44, ptr %t45) store i32 0, ptr @lp_site call void @lp_free(ptr %t44) store ptr %t46, ptr %t11 br label %ifend9 ifend9: %t47 = load i32, ptr %t22 store i32 %t47, ptr %t25 %t48 = load ptr, ptr @g_g_fr_from %t49 = load i32, ptr %t22 %t50 = getelementptr inbounds %LSlice, ptr %t48, i32 0, i32 0 %t51 = load ptr, ptr %t50 %t52 = getelementptr inbounds %LSlice, ptr %t48, i32 0, i32 1 %t53 = load i32, ptr %t52 %t54 = icmp ult i32 %t49, %t53 br i1 %t54, label %ixok12, label %ixbad13 ixbad13: store i32 4064, ptr @lp_site %t55 = call ptr @lp_win_stdio(i32 2) store i32 0, ptr @lp_site call i32 (ptr, ptr, ...) @fprintf(ptr %t55, ptr @.fmt_bounds, ptr @.str6912, i32 %t49, i32 %t53) call void @exit(i32 1) unreachable ixok12: %t56 = getelementptr inbounds i32, ptr %t51, i32 %t49 %t57 = load i32, ptr %t56 store i32 %t57, ptr %t22 %t58 = load i32, ptr %t23 %t59 = add i32 %t58, 1 store i32 %t59, ptr %t23 br label %wcond4 wend6: %t60 = load i32, ptr %t23 %t61 = icmp sgt i32 %t60, 6 %t62 = zext i1 %t61 to i32 %t63 = icmp ne i32 %t62, 0 br i1 %t63, label %then14, label %ifend16 then14: %t64 = load ptr, ptr @g_g_dr_name %t65 = load i32, ptr %t25 %t66 = getelementptr inbounds %LSlice, ptr %t64, i32 0, i32 0 %t67 = load ptr, ptr %t66 %t68 = getelementptr inbounds %LSlice, ptr %t64, i32 0, i32 1 %t69 = load i32, ptr %t68 %t70 = icmp ult i32 %t65, %t69 br i1 %t70, label %ixok17, label %ixbad18 ixbad18: store i32 4065, ptr @lp_site %t71 = call ptr @lp_win_stdio(i32 2) store i32 0, ptr @lp_site call i32 (ptr, ptr, ...) @fprintf(ptr %t71, ptr @.fmt_bounds, ptr @.str6913, i32 %t65, i32 %t69) call void @exit(i32 1) unreachable ixok17: %t72 = getelementptr inbounds ptr, ptr %t67, i32 %t65 %t73 = load ptr, ptr %t72 store i32 4066, ptr @lp_site %t74 = call ptr @lp_str_concat(ptr %t73, ptr @.str6914) store i32 0, ptr @lp_site %t75 = load ptr, ptr %t11 store i32 4067, ptr @lp_site %t76 = call ptr @lp_str_concat(ptr %t74, ptr %t75) store i32 0, ptr @lp_site call void @lp_free(ptr %t74) store ptr %t76, ptr %t11 br label %ifend16 ifend16: %t77 = load ptr, ptr %t11 store ptr %t77, ptr %retval br label %ret ret: %t78 = load ptr, ptr %retval ret ptr %t78 } define void @fn_deps_frame(ptr %arg_f) { entry: %t0 = alloca ptr %t6 = alloca i32 %t25 = alloca ptr %t26 = alloca i32 %t109 = alloca ptr %t110 = alloca i32 %t111 = alloca i32 %t140 = alloca i32 %t141 = alloca i32 %t142 = alloca i32 %t186 = alloca i32 %t219 = alloca ptr %t225 = alloca i32 %t286 = alloca i32 %t304 = alloca i32 %t317 = alloca ptr %t318 = alloca i32 %t336 = alloca i32 %t337 = alloca i32 %t410 = alloca i32 %t428 = alloca i32 %t439 = alloca ptr %t440 = alloca i32 %t441 = alloca i32 %t442 = alloca i32 %t443 = alloca i32 store ptr %arg_f, ptr %t0 %t1 = load i32, ptr @g_g_arena %t2 = icmp ne i32 %t1, 0 br i1 %t2, label %then0, label %ifend2 then0: call void @fn_escape_analyse() br label %ifend2 ifend2: %t3 = load ptr, ptr @g_g_dr_node %t4 = getelementptr inbounds %LSlice, ptr %t3, i32 0, i32 1 %t5 = load i32, ptr %t4 store i32 %t5, ptr %t6 %t7 = getelementptr %LSlice, ptr null, i32 1 %t8 = ptrtoint ptr %t7 to i64 store i32 4068, ptr @lp_site %t9 = call ptr @lp_malloc(i64 %t8) store i32 0, ptr @lp_site %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 @g_g_fr_root %t13 = getelementptr %LSlice, ptr null, i32 1 %t14 = ptrtoint ptr %t13 to i64 store i32 4069, ptr @lp_site %t15 = call ptr @lp_malloc(i64 %t14) store i32 0, ptr @lp_site %t16 = getelementptr inbounds %LSlice, ptr %t15, i32 0, i32 0 store ptr null, ptr %t16 %t17 = getelementptr inbounds %LSlice, ptr %t15, i32 0, i32 1 store i32 0, ptr %t17 %t18 = getelementptr inbounds %LSlice, ptr %t15, i32 0, i32 2 store i32 0, ptr %t18 store ptr %t15, ptr @g_g_fr_from %t19 = getelementptr %LSlice, ptr null, i32 1 %t20 = ptrtoint ptr %t19 to i64 store i32 4070, ptr @lp_site %t21 = call ptr @lp_malloc(i64 %t20) store i32 0, ptr @lp_site %t22 = getelementptr inbounds %LSlice, ptr %t21, i32 0, i32 0 store ptr null, ptr %t22 %t23 = getelementptr inbounds %LSlice, ptr %t21, i32 0, i32 1 store i32 0, ptr %t23 %t24 = getelementptr inbounds %LSlice, ptr %t21, i32 0, i32 2 store i32 0, ptr %t24 store ptr %t21, ptr %t25 store i32 0, ptr %t26 br label %wcond3 wcond3: %t27 = load i32, ptr %t26 %t28 = load i32, ptr %t6 %t29 = icmp slt i32 %t27, %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 @g_g_fr_root %t33 = getelementptr inbounds %LSlice, ptr %t32, i32 0, i32 1 %t34 = getelementptr inbounds %LSlice, ptr %t32, i32 0, i32 2 %t35 = getelementptr inbounds %LSlice, ptr %t32, 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 i32, 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 store i32 4071, ptr @lp_site %t47 = call ptr @lp_realloc(ptr %t46, i64 %t45) store i32 0, ptr @lp_site store ptr %t47, ptr %t35 store i32 %t41, ptr %t34 br label %put7 put7: %t48 = load ptr, ptr %t35 %t49 = getelementptr inbounds i32, ptr %t48, i32 %t36 store i32 0, ptr %t49 %t50 = add i32 %t36, 1 store i32 %t50, ptr %t33 %t51 = load ptr, ptr @g_g_fr_from %t52 = sub i32 0, 1 %t53 = getelementptr inbounds %LSlice, ptr %t51, i32 0, i32 1 %t54 = getelementptr inbounds %LSlice, ptr %t51, i32 0, i32 2 %t55 = getelementptr inbounds %LSlice, ptr %t51, i32 0, i32 0 %t56 = load i32, ptr %t53 %t57 = load i32, ptr %t54 %t58 = icmp sge i32 %t56, %t57 br i1 %t58, label %grow8, label %put9 grow8: %t59 = mul i32 %t57, 2 %t60 = icmp eq i32 %t57, 0 %t61 = select i1 %t60, i32 8, i32 %t59 %t62 = getelementptr i32, 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 store i32 4072, ptr @lp_site %t67 = call ptr @lp_realloc(ptr %t66, i64 %t65) store i32 0, ptr @lp_site store ptr %t67, ptr %t55 store i32 %t61, ptr %t54 br label %put9 put9: %t68 = load ptr, ptr %t55 %t69 = getelementptr inbounds i32, ptr %t68, i32 %t56 store i32 %t52, ptr %t69 %t70 = add i32 %t56, 1 store i32 %t70, ptr %t53 %t71 = load ptr, ptr %t25 %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 %grow10, label %put11 grow10: %t78 = mul i32 %t76, 2 %t79 = icmp eq i32 %t76, 0 %t80 = select i1 %t79, i32 8, i32 %t78 %t81 = getelementptr i32, 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 store i32 4073, ptr @lp_site %t86 = call ptr @lp_realloc(ptr %t85, i64 %t84) store i32 0, ptr @lp_site store ptr %t86, ptr %t74 store i32 %t80, ptr %t73 br label %put11 put11: %t87 = load ptr, ptr %t74 %t88 = getelementptr inbounds i32, ptr %t87, i32 %t75 store i32 0, ptr %t88 %t89 = add i32 %t75, 1 store i32 %t89, ptr %t72 %t90 = load i32, ptr %t26 %t91 = add i32 %t90, 1 store i32 %t91, ptr %t26 br label %wcond3 wend5: store i32 0, ptr %t26 br label %wcond12 wcond12: %t92 = load i32, ptr %t26 %t93 = load ptr, ptr @g_prog %t94 = getelementptr inbounds %LSlice, ptr %t93, i32 0, i32 1 %t95 = load i32, ptr %t94 %t96 = icmp slt i32 %t92, %t95 %t97 = zext i1 %t96 to i32 %t98 = icmp ne i32 %t97, 0 br i1 %t98, label %wbody13, label %wend14 wbody13: %t99 = load ptr, ptr @g_prog %t100 = load i32, ptr %t26 %t101 = getelementptr inbounds %LSlice, ptr %t99, i32 0, i32 0 %t102 = load ptr, ptr %t101 %t103 = getelementptr inbounds %LSlice, ptr %t99, i32 0, i32 1 %t104 = load i32, ptr %t103 %t105 = icmp ult i32 %t100, %t104 br i1 %t105, label %ixok15, label %ixbad16 ixbad16: store i32 4074, ptr @lp_site %t106 = call ptr @lp_win_stdio(i32 2) store i32 0, ptr @lp_site call i32 (ptr, ptr, ...) @fprintf(ptr %t106, ptr @.fmt_bounds, ptr @.str6916, i32 %t100, i32 %t104) call void @exit(i32 1) unreachable ixok15: %t107 = getelementptr inbounds ptr, ptr %t102, i32 %t100 %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 %sc17, label %scend18 sc17: %t119 = load ptr, ptr %t109 %t120 = getelementptr inbounds %Cmp_Node, ptr %t119, i32 0, i32 1 %t121 = load ptr, ptr %t120 %t122 = icmp ne ptr %t121, null %t123 = zext i1 %t122 to i32 %t124 = icmp ne i32 %t123, 0 %t125 = zext i1 %t124 to i32 store i32 %t125, ptr %t111 br label %scend18 scend18: %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 %sc19, label %scend20 sc19: %t129 = load ptr, ptr %t109 %t130 = getelementptr inbounds %Cmp_Node, ptr %t129, i32 0, i32 3 %t131 = load ptr, ptr %t130 %t132 = call i32 @fn_fr_phase_frame(ptr %t131) %t133 = icmp ne i32 %t132, 0 %t134 = zext i1 %t133 to i32 store i32 %t134, ptr %t110 br label %scend20 scend20: %t135 = load i32, ptr %t110 %t136 = icmp ne i32 %t135, 0 br i1 %t136, label %then21, label %ifend23 then21: %t137 = load ptr, ptr %t109 %t138 = getelementptr inbounds %Cmp_Node, ptr %t137, i32 0, i32 1 %t139 = load ptr, ptr %t138 call void @fn_fr_mark_root(ptr %t139) br label %ifend23 ifend23: %t143 = load ptr, ptr %t109 %t144 = getelementptr inbounds %Cmp_Node, ptr %t143, i32 0, i32 0 %t145 = load i32, ptr %t144 %t146 = icmp eq i32 %t145, 4 %t147 = zext i1 %t146 to i32 %t148 = icmp ne i32 %t147, 0 %t149 = zext i1 %t148 to i32 store i32 %t149, ptr %t142 br i1 %t148, label %sc24, label %scend25 sc24: %t150 = load ptr, ptr %t109 %t151 = getelementptr inbounds %Cmp_Node, ptr %t150, i32 0, i32 1 %t152 = load ptr, ptr %t151 %t153 = icmp ne ptr %t152, null %t154 = zext i1 %t153 to i32 %t155 = icmp ne i32 %t154, 0 %t156 = zext i1 %t155 to i32 store i32 %t156, ptr %t142 br label %scend25 scend25: %t157 = load i32, ptr %t142 %t158 = icmp ne i32 %t157, 0 %t159 = zext i1 %t158 to i32 store i32 %t159, ptr %t141 br i1 %t158, label %sc26, label %scend27 sc26: %t160 = load ptr, ptr %t109 %t161 = getelementptr inbounds %Cmp_Node, ptr %t160, i32 0, i32 17 %t162 = load i32, ptr %t161 %t163 = icmp sge i32 %t162, 0 %t164 = zext i1 %t163 to i32 %t165 = icmp ne i32 %t164, 0 %t166 = zext i1 %t165 to i32 store i32 %t166, ptr %t141 br label %scend27 scend27: %t167 = load i32, ptr %t141 %t168 = icmp ne i32 %t167, 0 %t169 = zext i1 %t168 to i32 store i32 %t169, ptr %t140 br i1 %t168, label %sc28, label %scend29 sc28: %t170 = load ptr, ptr %t109 %t171 = getelementptr inbounds %Cmp_Node, ptr %t170, i32 0, i32 1 %t172 = load ptr, ptr %t171 %t173 = call i32 @fn_fr_is_event_handler(ptr %t172) %t174 = icmp eq i32 %t173, 0 %t175 = zext i1 %t174 to i32 %t176 = icmp ne i32 %t175, 0 %t177 = zext i1 %t176 to i32 store i32 %t177, ptr %t140 br label %scend29 scend29: %t178 = load i32, ptr %t140 %t179 = icmp ne i32 %t178, 0 br i1 %t179, label %then30, label %ifend32 then30: %t180 = load ptr, ptr %t109 %t181 = getelementptr inbounds %Cmp_Node, ptr %t180, i32 0, i32 1 %t182 = load ptr, ptr %t181 call void @fn_fr_mark_root(ptr %t182) br label %ifend32 ifend32: %t183 = load ptr, ptr %t109 call void @fn_fr_find_roots(ptr %t183) %t184 = load i32, ptr %t26 %t185 = add i32 %t184, 1 store i32 %t185, ptr %t26 br label %wcond12 wend14: store i32 0, ptr %t186 br label %wcond33 wcond33: %t187 = load i32, ptr %t186 %t188 = load ptr, ptr @g_g_onlisten %t189 = getelementptr inbounds %LSlice, ptr %t188, i32 0, i32 1 %t190 = load i32, ptr %t189 %t191 = icmp slt i32 %t187, %t190 %t192 = zext i1 %t191 to i32 %t193 = icmp ne i32 %t192, 0 br i1 %t193, label %wbody34, label %wend35 wbody34: %t194 = load ptr, ptr @g_g_onlisten %t195 = load i32, ptr %t186 %t196 = getelementptr inbounds %LSlice, ptr %t194, i32 0, i32 0 %t197 = load ptr, ptr %t196 %t198 = getelementptr inbounds %LSlice, ptr %t194, i32 0, i32 1 %t199 = load i32, ptr %t198 %t200 = icmp ult i32 %t195, %t199 br i1 %t200, label %ixok36, label %ixbad37 ixbad37: store i32 4075, ptr @lp_site %t201 = call ptr @lp_win_stdio(i32 2) store i32 0, ptr @lp_site call i32 (ptr, ptr, ...) @fprintf(ptr %t201, ptr @.fmt_bounds, ptr @.str6918, i32 %t195, i32 %t199) call void @exit(i32 1) unreachable ixok36: %t202 = getelementptr inbounds ptr, ptr %t197, i32 %t195 %t203 = load ptr, ptr %t202 %t204 = getelementptr inbounds %Cmp_Node, ptr %t203, i32 0, i32 1 %t205 = load ptr, ptr %t204 store i32 4076, ptr @lp_site %t206 = call ptr @lp_str_concat(ptr @.str6917, ptr %t205) store i32 0, ptr @lp_site store i32 4077, ptr @lp_site %t207 = call ptr @lp_str_concat(ptr %t206, ptr @.str6919) store i32 0, ptr @lp_site call void @lp_free(ptr %t206) %t208 = load i32, ptr %t186 %t209 = call ptr @fn_itoa(i32 %t208) store i32 4078, ptr @lp_site %t210 = call ptr @lp_str_concat(ptr %t207, ptr %t209) store i32 0, ptr @lp_site call void @lp_free(ptr %t207) call void @fn_fr_mark_root(ptr %t210) %t211 = load i32, ptr %t186 %t212 = add i32 %t211, 1 store i32 %t212, ptr %t186 br label %wcond33 wend35: %t213 = getelementptr %LSlice, ptr null, i32 1 %t214 = ptrtoint ptr %t213 to i64 store i32 4079, ptr @lp_site %t215 = call ptr @lp_malloc(i64 %t214) store i32 0, ptr @lp_site %t216 = getelementptr inbounds %LSlice, ptr %t215, i32 0, i32 0 store ptr null, ptr %t216 %t217 = getelementptr inbounds %LSlice, ptr %t215, i32 0, i32 1 store i32 0, ptr %t217 %t218 = getelementptr inbounds %LSlice, ptr %t215, i32 0, i32 2 store i32 0, ptr %t218 store ptr %t215, ptr %t219 store i32 0, ptr %t26 br label %wcond38 wcond38: %t220 = load i32, ptr %t26 %t221 = load i32, ptr %t6 %t222 = icmp slt i32 %t220, %t221 %t223 = zext i1 %t222 to i32 %t224 = icmp ne i32 %t223, 0 br i1 %t224, label %wbody39, label %wend40 wbody39: %t226 = load ptr, ptr @g_g_fr_root %t227 = load i32, ptr %t26 %t228 = getelementptr inbounds %LSlice, ptr %t226, i32 0, i32 0 %t229 = load ptr, ptr %t228 %t230 = getelementptr inbounds %LSlice, ptr %t226, i32 0, i32 1 %t231 = load i32, ptr %t230 %t232 = icmp ult i32 %t227, %t231 br i1 %t232, label %ixok41, label %ixbad42 ixbad42: store i32 4080, ptr @lp_site %t233 = call ptr @lp_win_stdio(i32 2) store i32 0, ptr @lp_site call i32 (ptr, ptr, ...) @fprintf(ptr %t233, ptr @.fmt_bounds, ptr @.str6920, i32 %t227, i32 %t231) call void @exit(i32 1) unreachable ixok41: %t234 = getelementptr inbounds i32, ptr %t229, i32 %t227 %t235 = load i32, ptr %t234 %t236 = icmp ne i32 %t235, 0 %t237 = zext i1 %t236 to i32 store i32 %t237, ptr %t225 br i1 %t236, label %sc43, label %scend44 sc43: %t238 = load ptr, ptr @g_g_dr_name %t239 = load i32, ptr %t26 %t240 = getelementptr inbounds %LSlice, ptr %t238, i32 0, i32 0 %t241 = load ptr, ptr %t240 %t242 = getelementptr inbounds %LSlice, ptr %t238, i32 0, i32 1 %t243 = load i32, ptr %t242 %t244 = icmp ult i32 %t239, %t243 br i1 %t244, label %ixok45, label %ixbad46 ixbad46: store i32 4081, ptr @lp_site %t245 = call ptr @lp_win_stdio(i32 2) store i32 0, ptr @lp_site call i32 (ptr, ptr, ...) @fprintf(ptr %t245, ptr @.fmt_bounds, ptr @.str6921, i32 %t239, i32 %t243) call void @exit(i32 1) unreachable ixok45: %t246 = getelementptr inbounds ptr, ptr %t241, i32 %t239 %t247 = load ptr, ptr %t246 %t248 = call i32 @fn_fr_alloc_ok(ptr %t247) %t249 = icmp eq i32 %t248, 0 %t250 = zext i1 %t249 to i32 %t251 = icmp ne i32 %t250, 0 %t252 = zext i1 %t251 to i32 store i32 %t252, ptr %t225 br label %scend44 scend44: %t253 = load i32, ptr %t225 %t254 = icmp ne i32 %t253, 0 br i1 %t254, label %then47, label %ifend49 then47: %t255 = load ptr, ptr %t25 %t256 = load i32, ptr %t26 %t257 = getelementptr inbounds %LSlice, ptr %t255, i32 0, i32 0 %t258 = load ptr, ptr %t257 %t259 = getelementptr inbounds %LSlice, ptr %t255, i32 0, i32 1 %t260 = load i32, ptr %t259 %t261 = icmp ult i32 %t256, %t260 br i1 %t261, label %ixok50, label %ixbad51 ixbad51: store i32 4082, ptr @lp_site %t262 = call ptr @lp_win_stdio(i32 2) store i32 0, ptr @lp_site call i32 (ptr, ptr, ...) @fprintf(ptr %t262, ptr @.fmt_bounds, ptr @.str6922, i32 %t256, i32 %t260) call void @exit(i32 1) unreachable ixok50: %t263 = getelementptr inbounds i32, ptr %t258, i32 %t256 store i32 1, ptr %t263 %t264 = load ptr, ptr %t219 %t265 = load i32, ptr %t26 %t266 = getelementptr inbounds %LSlice, ptr %t264, i32 0, i32 1 %t267 = getelementptr inbounds %LSlice, ptr %t264, i32 0, i32 2 %t268 = getelementptr inbounds %LSlice, ptr %t264, i32 0, i32 0 %t269 = load i32, ptr %t266 %t270 = load i32, ptr %t267 %t271 = icmp sge i32 %t269, %t270 br i1 %t271, label %grow52, label %put53 grow52: %t272 = mul i32 %t270, 2 %t273 = icmp eq i32 %t270, 0 %t274 = select i1 %t273, i32 8, i32 %t272 %t275 = getelementptr i32, ptr null, i32 1 %t276 = ptrtoint ptr %t275 to i64 %t277 = zext i32 %t274 to i64 %t278 = mul i64 %t277, %t276 %t279 = load ptr, ptr %t268 store i32 4083, ptr @lp_site %t280 = call ptr @lp_realloc(ptr %t279, i64 %t278) store i32 0, ptr @lp_site store ptr %t280, ptr %t268 store i32 %t274, ptr %t267 br label %put53 put53: %t281 = load ptr, ptr %t268 %t282 = getelementptr inbounds i32, ptr %t281, i32 %t269 store i32 %t265, ptr %t282 %t283 = add i32 %t269, 1 store i32 %t283, ptr %t266 br label %ifend49 ifend49: %t284 = load i32, ptr %t26 %t285 = add i32 %t284, 1 store i32 %t285, ptr %t26 br label %wcond38 wend40: store i32 0, ptr %t286 br label %wcond54 wcond54: %t287 = load i32, ptr %t286 %t288 = load ptr, ptr %t219 %t289 = getelementptr inbounds %LSlice, ptr %t288, i32 0, i32 1 %t290 = load i32, ptr %t289 %t291 = icmp slt i32 %t287, %t290 %t292 = zext i1 %t291 to i32 %t293 = icmp ne i32 %t292, 0 br i1 %t293, label %wbody55, label %wend56 wbody55: %t294 = load ptr, ptr %t219 %t295 = load i32, ptr %t286 %t296 = getelementptr inbounds %LSlice, ptr %t294, i32 0, i32 0 %t297 = load ptr, ptr %t296 %t298 = getelementptr inbounds %LSlice, ptr %t294, i32 0, i32 1 %t299 = load i32, ptr %t298 %t300 = icmp ult i32 %t295, %t299 br i1 %t300, label %ixok57, label %ixbad58 ixbad58: store i32 4084, ptr @lp_site %t301 = call ptr @lp_win_stdio(i32 2) store i32 0, ptr @lp_site call i32 (ptr, ptr, ...) @fprintf(ptr %t301, ptr @.fmt_bounds, ptr @.str6923, i32 %t295, i32 %t299) call void @exit(i32 1) unreachable ixok57: %t302 = getelementptr inbounds i32, ptr %t297, i32 %t295 %t303 = load i32, ptr %t302 store i32 %t303, ptr %t304 %t305 = load i32, ptr %t286 %t306 = add i32 %t305, 1 store i32 %t306, ptr %t286 %t307 = load ptr, ptr @g_g_dr_refs %t308 = load i32, ptr %t304 %t309 = getelementptr inbounds %LSlice, ptr %t307, i32 0, i32 0 %t310 = load ptr, ptr %t309 %t311 = getelementptr inbounds %LSlice, ptr %t307, i32 0, i32 1 %t312 = load i32, ptr %t311 %t313 = icmp ult i32 %t308, %t312 br i1 %t313, label %ixok59, label %ixbad60 ixbad60: store i32 4085, ptr @lp_site %t314 = call ptr @lp_win_stdio(i32 2) store i32 0, ptr @lp_site call i32 (ptr, ptr, ...) @fprintf(ptr %t314, ptr @.fmt_bounds, ptr @.str6924, i32 %t308, i32 %t312) call void @exit(i32 1) unreachable ixok59: %t315 = getelementptr inbounds ptr, ptr %t310, i32 %t308 %t316 = load ptr, ptr %t315 store ptr %t316, ptr %t317 store i32 0, ptr %t318 br label %wcond61 wcond61: %t319 = load i32, ptr %t318 %t320 = load ptr, ptr %t317 %t321 = getelementptr inbounds %LSlice, ptr %t320, i32 0, i32 1 %t322 = load i32, ptr %t321 %t323 = icmp slt i32 %t319, %t322 %t324 = zext i1 %t323 to i32 %t325 = icmp ne i32 %t324, 0 br i1 %t325, label %wbody62, label %wend63 wbody62: %t326 = load ptr, ptr %t317 %t327 = load i32, ptr %t318 %t328 = getelementptr inbounds %LSlice, ptr %t326, i32 0, i32 0 %t329 = load ptr, ptr %t328 %t330 = getelementptr inbounds %LSlice, ptr %t326, i32 0, i32 1 %t331 = load i32, ptr %t330 %t332 = icmp ult i32 %t327, %t331 br i1 %t332, label %ixok64, label %ixbad65 ixbad65: store i32 4086, ptr @lp_site %t333 = call ptr @lp_win_stdio(i32 2) store i32 0, ptr @lp_site call i32 (ptr, ptr, ...) @fprintf(ptr %t333, ptr @.fmt_bounds, ptr @.str6925, i32 %t327, i32 %t331) call void @exit(i32 1) unreachable ixok64: %t334 = getelementptr inbounds i32, ptr %t329, i32 %t327 %t335 = load i32, ptr %t334 store i32 %t335, ptr %t336 %t338 = load ptr, ptr %t25 %t339 = load i32, ptr %t336 %t340 = getelementptr inbounds %LSlice, ptr %t338, i32 0, i32 0 %t341 = load ptr, ptr %t340 %t342 = getelementptr inbounds %LSlice, ptr %t338, i32 0, i32 1 %t343 = load i32, ptr %t342 %t344 = icmp ult i32 %t339, %t343 br i1 %t344, label %ixok66, label %ixbad67 ixbad67: store i32 4087, ptr @lp_site %t345 = call ptr @lp_win_stdio(i32 2) store i32 0, ptr @lp_site call i32 (ptr, ptr, ...) @fprintf(ptr %t345, ptr @.fmt_bounds, ptr @.str6926, i32 %t339, i32 %t343) call void @exit(i32 1) unreachable ixok66: %t346 = getelementptr inbounds i32, ptr %t341, i32 %t339 %t347 = load i32, ptr %t346 %t348 = icmp eq i32 %t347, 0 %t349 = zext i1 %t348 to i32 %t350 = icmp ne i32 %t349, 0 %t351 = zext i1 %t350 to i32 store i32 %t351, ptr %t337 br i1 %t350, label %sc68, label %scend69 sc68: %t352 = load ptr, ptr @g_g_dr_name %t353 = load i32, ptr %t336 %t354 = getelementptr inbounds %LSlice, ptr %t352, i32 0, i32 0 %t355 = load ptr, ptr %t354 %t356 = getelementptr inbounds %LSlice, ptr %t352, i32 0, i32 1 %t357 = load i32, ptr %t356 %t358 = icmp ult i32 %t353, %t357 br i1 %t358, label %ixok70, label %ixbad71 ixbad71: store i32 4088, ptr @lp_site %t359 = call ptr @lp_win_stdio(i32 2) store i32 0, ptr @lp_site call i32 (ptr, ptr, ...) @fprintf(ptr %t359, ptr @.fmt_bounds, ptr @.str6927, i32 %t353, i32 %t357) call void @exit(i32 1) unreachable ixok70: %t360 = getelementptr inbounds ptr, ptr %t355, i32 %t353 %t361 = load ptr, ptr %t360 %t362 = call i32 @fn_fr_alloc_ok(ptr %t361) %t363 = icmp eq i32 %t362, 0 %t364 = zext i1 %t363 to i32 %t365 = icmp ne i32 %t364, 0 %t366 = zext i1 %t365 to i32 store i32 %t366, ptr %t337 br label %scend69 scend69: %t367 = load i32, ptr %t337 %t368 = icmp ne i32 %t367, 0 br i1 %t368, label %then72, label %ifend74 then72: %t369 = load ptr, ptr %t25 %t370 = load i32, ptr %t336 %t371 = getelementptr inbounds %LSlice, ptr %t369, i32 0, i32 0 %t372 = load ptr, ptr %t371 %t373 = getelementptr inbounds %LSlice, ptr %t369, i32 0, i32 1 %t374 = load i32, ptr %t373 %t375 = icmp ult i32 %t370, %t374 br i1 %t375, label %ixok75, label %ixbad76 ixbad76: store i32 4089, ptr @lp_site %t376 = call ptr @lp_win_stdio(i32 2) store i32 0, ptr @lp_site call i32 (ptr, ptr, ...) @fprintf(ptr %t376, ptr @.fmt_bounds, ptr @.str6928, i32 %t370, i32 %t374) call void @exit(i32 1) unreachable ixok75: %t377 = getelementptr inbounds i32, ptr %t372, i32 %t370 store i32 1, ptr %t377 %t378 = load ptr, ptr @g_g_fr_from %t379 = load i32, ptr %t336 %t380 = getelementptr inbounds %LSlice, ptr %t378, i32 0, i32 0 %t381 = load ptr, ptr %t380 %t382 = getelementptr inbounds %LSlice, ptr %t378, i32 0, i32 1 %t383 = load i32, ptr %t382 %t384 = icmp ult i32 %t379, %t383 br i1 %t384, label %ixok77, label %ixbad78 ixbad78: store i32 4090, ptr @lp_site %t385 = call ptr @lp_win_stdio(i32 2) store i32 0, ptr @lp_site call i32 (ptr, ptr, ...) @fprintf(ptr %t385, ptr @.fmt_bounds, ptr @.str6929, i32 %t379, i32 %t383) call void @exit(i32 1) unreachable ixok77: %t386 = getelementptr inbounds i32, ptr %t381, i32 %t379 %t387 = load i32, ptr %t304 store i32 %t387, ptr %t386 %t388 = load ptr, ptr %t219 %t389 = load i32, ptr %t336 %t390 = getelementptr inbounds %LSlice, ptr %t388, i32 0, i32 1 %t391 = getelementptr inbounds %LSlice, ptr %t388, i32 0, i32 2 %t392 = getelementptr inbounds %LSlice, ptr %t388, i32 0, i32 0 %t393 = load i32, ptr %t390 %t394 = load i32, ptr %t391 %t395 = icmp sge i32 %t393, %t394 br i1 %t395, label %grow79, label %put80 grow79: %t396 = mul i32 %t394, 2 %t397 = icmp eq i32 %t394, 0 %t398 = select i1 %t397, i32 8, i32 %t396 %t399 = getelementptr i32, ptr null, i32 1 %t400 = ptrtoint ptr %t399 to i64 %t401 = zext i32 %t398 to i64 %t402 = mul i64 %t401, %t400 %t403 = load ptr, ptr %t392 store i32 4091, ptr @lp_site %t404 = call ptr @lp_realloc(ptr %t403, i64 %t402) store i32 0, ptr @lp_site store ptr %t404, ptr %t392 store i32 %t398, ptr %t391 br label %put80 put80: %t405 = load ptr, ptr %t392 %t406 = getelementptr inbounds i32, ptr %t405, i32 %t393 store i32 %t389, ptr %t406 %t407 = add i32 %t393, 1 store i32 %t407, ptr %t390 br label %ifend74 ifend74: %t408 = load i32, ptr %t318 %t409 = add i32 %t408, 1 store i32 %t409, ptr %t318 br label %wcond61 wend63: br label %wcond54 wend56: store i32 0, ptr %t410 store i32 0, ptr %t26 br label %wcond81 wcond81: %t411 = load i32, ptr %t26 %t412 = load ptr, ptr %t219 %t413 = getelementptr inbounds %LSlice, ptr %t412, i32 0, i32 1 %t414 = load i32, ptr %t413 %t415 = icmp slt i32 %t411, %t414 %t416 = zext i1 %t415 to i32 %t417 = icmp ne i32 %t416, 0 br i1 %t417, label %wbody82, label %wend83 wbody82: %t418 = load ptr, ptr %t219 %t419 = load i32, ptr %t26 %t420 = getelementptr inbounds %LSlice, ptr %t418, i32 0, i32 0 %t421 = load ptr, ptr %t420 %t422 = getelementptr inbounds %LSlice, ptr %t418, i32 0, i32 1 %t423 = load i32, ptr %t422 %t424 = icmp ult i32 %t419, %t423 br i1 %t424, label %ixok84, label %ixbad85 ixbad85: store i32 4092, ptr @lp_site %t425 = call ptr @lp_win_stdio(i32 2) store i32 0, ptr @lp_site call i32 (ptr, ptr, ...) @fprintf(ptr %t425, ptr @.fmt_bounds, ptr @.str6930, i32 %t419, i32 %t423) call void @exit(i32 1) unreachable ixok84: %t426 = getelementptr inbounds i32, ptr %t421, i32 %t419 %t427 = load i32, ptr %t426 store i32 %t427, ptr %t428 %t429 = load ptr, ptr @g_g_dr_node %t430 = load i32, ptr %t428 %t431 = getelementptr inbounds %LSlice, ptr %t429, i32 0, i32 0 %t432 = load ptr, ptr %t431 %t433 = getelementptr inbounds %LSlice, ptr %t429, i32 0, i32 1 %t434 = load i32, ptr %t433 %t435 = icmp ult i32 %t430, %t434 br i1 %t435, label %ixok86, label %ixbad87 ixbad87: store i32 4093, ptr @lp_site %t436 = call ptr @lp_win_stdio(i32 2) store i32 0, ptr @lp_site call i32 (ptr, ptr, ...) @fprintf(ptr %t436, ptr @.fmt_bounds, ptr @.str6931, i32 %t430, i32 %t434) call void @exit(i32 1) unreachable ixok86: %t437 = getelementptr inbounds ptr, ptr %t432, i32 %t430 %t438 = load ptr, ptr %t437 store ptr %t438, ptr %t439 %t444 = load ptr, ptr %t439 %t445 = getelementptr inbounds %Cmp_Node, ptr %t444, i32 0, i32 0 %t446 = load i32, ptr %t445 %t447 = icmp eq i32 %t446, 4 %t448 = zext i1 %t447 to i32 %t449 = icmp ne i32 %t448, 0 %t450 = zext i1 %t449 to i32 store i32 %t450, ptr %t443 br i1 %t449, label %scend89, label %sc88 sc88: %t451 = load ptr, ptr %t439 %t452 = getelementptr inbounds %Cmp_Node, ptr %t451, i32 0, i32 0 %t453 = load i32, ptr %t452 %t454 = icmp eq i32 %t453, 9 %t455 = zext i1 %t454 to i32 %t456 = icmp ne i32 %t455, 0 %t457 = zext i1 %t456 to i32 store i32 %t457, ptr %t443 br label %scend89 scend89: %t458 = load i32, ptr %t443 %t459 = icmp ne i32 %t458, 0 %t460 = zext i1 %t459 to i32 store i32 %t460, ptr %t442 br i1 %t459, label %scend91, label %sc90 sc90: %t461 = load ptr, ptr %t439 %t462 = getelementptr inbounds %Cmp_Node, ptr %t461, i32 0, i32 0 %t463 = load i32, ptr %t462 %t464 = icmp eq i32 %t463, 7 %t465 = zext i1 %t464 to i32 %t466 = icmp ne i32 %t465, 0 %t467 = zext i1 %t466 to i32 store i32 %t467, ptr %t442 br label %scend91 scend91: %t468 = load i32, ptr %t442 %t469 = icmp ne i32 %t468, 0 %t470 = zext i1 %t469 to i32 store i32 %t470, ptr %t441 br i1 %t469, label %sc92, label %scend93 sc92: %t471 = load ptr, ptr %t439 %t472 = getelementptr inbounds %Cmp_Node, ptr %t471, i32 0, i32 9 %t473 = load ptr, ptr %t472 %t474 = icmp ne ptr %t473, null %t475 = zext i1 %t474 to i32 %t476 = icmp ne i32 %t475, 0 %t477 = zext i1 %t476 to i32 store i32 %t477, ptr %t441 br label %scend93 scend93: %t478 = load i32, ptr %t441 %t479 = icmp ne i32 %t478, 0 %t480 = zext i1 %t479 to i32 store i32 %t480, ptr %t440 br i1 %t479, label %sc94, label %scend95 sc94: %t481 = load ptr, ptr %t439 %t482 = getelementptr inbounds %Cmp_Node, ptr %t481, i32 0, i32 9 %t483 = load ptr, ptr %t482 %t484 = call i32 @fn_is_runtime_file(ptr %t483) %t485 = icmp eq i32 %t484, 0 %t486 = zext i1 %t485 to i32 %t487 = icmp ne i32 %t486, 0 %t488 = zext i1 %t487 to i32 store i32 %t488, ptr %t440 br label %scend95 scend95: %t489 = load i32, ptr %t440 %t490 = icmp ne i32 %t489, 0 br i1 %t490, label %then96, label %ifend98 then96: %t491 = load ptr, ptr %t0 %t492 = load ptr, ptr %t439 %t493 = getelementptr inbounds %Cmp_Node, ptr %t492, i32 0, i32 4 %t494 = load ptr, ptr %t493 %t495 = load i32, ptr %t428 %t496 = call i32 @fn_fr_allocs(ptr %t491, ptr %t494, i32 %t495, i32 0) %t497 = load i32, ptr %t410 %t498 = add i32 %t497, %t496 store i32 %t498, ptr %t410 br label %ifend98 ifend98: %t499 = load i32, ptr %t26 %t500 = add i32 %t499, 1 store i32 %t500, ptr %t26 br label %wcond81 wend83: %t501 = load ptr, ptr %t0 %t502 = load i32, ptr %t410 %t503 = call ptr @fn_itoa(i32 %t502) store i32 4094, ptr @lp_site %t504 = call ptr @lp_str_concat(ptr @.str6932, ptr %t503) store i32 0, ptr @lp_site call void @fn_deps_line(ptr %t501, ptr %t504) %t505 = load ptr, ptr %t0 %t506 = load ptr, ptr %t25 call void @fn_deps_keeps(ptr %t505, ptr %t506) br label %ret ret: ret void } define void @fn_deps_keeps(ptr %arg_f, ptr %arg_seen) { entry: %t0 = alloca ptr %t1 = alloca ptr %t2 = alloca i32 %t3 = alloca i32 %t21 = alloca i32 %t32 = alloca i32 %t33 = alloca i32 %t34 = alloca i32 %t35 = alloca i32 %t36 = alloca i32 %t37 = alloca i32 %t131 = alloca ptr %t136 = alloca i32 %t137 = alloca i32 %t138 = alloca i32 %t139 = alloca i32 %t140 = alloca i32 %t202 = alloca ptr %t213 = alloca ptr %t214 = alloca ptr %t215 = alloca i32 %t241 = alloca ptr %t279 = alloca ptr %t305 = alloca ptr %t322 = alloca i32 store ptr %arg_f, ptr %t0 store ptr %arg_seen, ptr %t1 call void @fn_escape_analyse() store i32 0, ptr %t2 store i32 0, ptr %t3 br label %wcond0 wcond0: %t4 = load i32, ptr %t3 %t5 = load ptr, ptr @g_g_es_site %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_g_es_site_cls %t12 = load i32, ptr %t3 %t13 = getelementptr inbounds %LSlice, ptr %t11, i32 0, i32 0 %t14 = load ptr, ptr %t13 %t15 = getelementptr inbounds %LSlice, ptr %t11, i32 0, i32 1 %t16 = load i32, ptr %t15 %t17 = icmp ult i32 %t12, %t16 br i1 %t17, label %ixok3, label %ixbad4 ixbad4: store i32 4095, ptr @lp_site %t18 = call ptr @lp_win_stdio(i32 2) store i32 0, ptr @lp_site call i32 (ptr, ptr, ...) @fprintf(ptr %t18, ptr @.fmt_bounds, ptr @.str6933, i32 %t12, i32 %t16) call void @exit(i32 1) unreachable ixok3: %t19 = getelementptr inbounds i32, ptr %t14, i32 %t12 %t20 = load i32, ptr %t19 store i32 %t20, ptr %t21 %t22 = load ptr, ptr @g_g_es_site_fn %t23 = load i32, ptr %t3 %t24 = getelementptr inbounds %LSlice, ptr %t22, i32 0, i32 0 %t25 = load ptr, ptr %t24 %t26 = getelementptr inbounds %LSlice, ptr %t22, i32 0, i32 1 %t27 = load i32, ptr %t26 %t28 = icmp ult i32 %t23, %t27 br i1 %t28, label %ixok5, label %ixbad6 ixbad6: store i32 4096, ptr @lp_site %t29 = call ptr @lp_win_stdio(i32 2) store i32 0, ptr @lp_site call i32 (ptr, ptr, ...) @fprintf(ptr %t29, ptr @.fmt_bounds, ptr @.str6935, i32 %t23, i32 %t27) call void @exit(i32 1) unreachable ixok5: %t30 = getelementptr inbounds i32, ptr %t25, i32 %t23 %t31 = load i32, ptr %t30 store i32 %t31, ptr %t32 %t38 = load i32, ptr %t21 %t39 = icmp sge i32 %t38, 0 %t40 = zext i1 %t39 to i32 %t41 = icmp ne i32 %t40, 0 %t42 = zext i1 %t41 to i32 store i32 %t42, ptr %t37 br i1 %t41, label %sc7, label %scend8 sc7: %t43 = load i32, ptr %t32 %t44 = icmp sge i32 %t43, 0 %t45 = zext i1 %t44 to i32 %t46 = icmp ne i32 %t45, 0 %t47 = zext i1 %t46 to i32 store i32 %t47, ptr %t37 br label %scend8 scend8: %t48 = load i32, ptr %t37 %t49 = icmp ne i32 %t48, 0 %t50 = zext i1 %t49 to i32 store i32 %t50, ptr %t36 br i1 %t49, label %sc9, label %scend10 sc9: %t51 = load ptr, ptr @g_g_es_fnode %t52 = load i32, ptr %t32 %t53 = getelementptr inbounds %LSlice, ptr %t51, i32 0, i32 0 %t54 = load ptr, ptr %t53 %t55 = getelementptr inbounds %LSlice, ptr %t51, i32 0, i32 1 %t56 = load i32, ptr %t55 %t57 = icmp ult i32 %t52, %t56 br i1 %t57, label %ixok11, label %ixbad12 ixbad12: store i32 4097, ptr @lp_site %t58 = call ptr @lp_win_stdio(i32 2) store i32 0, ptr @lp_site call i32 (ptr, ptr, ...) @fprintf(ptr %t58, ptr @.fmt_bounds, ptr @.str6936, i32 %t52, i32 %t56) call void @exit(i32 1) unreachable ixok11: %t59 = getelementptr inbounds ptr, ptr %t54, i32 %t52 %t60 = load ptr, ptr %t59 %t61 = getelementptr inbounds %Cmp_Node, ptr %t60, i32 0, i32 1 %t62 = load ptr, ptr %t61 %t63 = icmp ne ptr %t62, null %t64 = zext i1 %t63 to i32 %t65 = icmp ne i32 %t64, 0 %t66 = zext i1 %t65 to i32 store i32 %t66, ptr %t36 br label %scend10 scend10: %t67 = load i32, ptr %t36 %t68 = icmp ne i32 %t67, 0 %t69 = zext i1 %t68 to i32 store i32 %t69, ptr %t35 br i1 %t68, label %sc13, label %scend14 sc13: %t70 = load ptr, ptr @g_g_es_flag %t71 = load i32, ptr %t21 %t72 = getelementptr inbounds %LSlice, ptr %t70, i32 0, i32 0 %t73 = load ptr, ptr %t72 %t74 = getelementptr inbounds %LSlice, ptr %t70, i32 0, i32 1 %t75 = load i32, ptr %t74 %t76 = icmp ult i32 %t71, %t75 br i1 %t76, label %ixok15, label %ixbad16 ixbad16: store i32 4098, ptr @lp_site %t77 = call ptr @lp_win_stdio(i32 2) store i32 0, ptr @lp_site call i32 (ptr, ptr, ...) @fprintf(ptr %t77, ptr @.fmt_bounds, ptr @.str6937, i32 %t71, i32 %t75) call void @exit(i32 1) unreachable ixok15: %t78 = getelementptr inbounds i32, ptr %t73, i32 %t71 %t79 = load i32, ptr %t78 %t80 = and i32 %t79, 1 %t81 = icmp ne i32 %t80, 0 %t82 = zext i1 %t81 to i32 %t83 = icmp ne i32 %t82, 0 %t84 = zext i1 %t83 to i32 store i32 %t84, ptr %t35 br label %scend14 scend14: %t85 = load i32, ptr %t35 %t86 = icmp ne i32 %t85, 0 %t87 = zext i1 %t86 to i32 store i32 %t87, ptr %t34 br i1 %t86, label %sc17, label %scend18 sc17: %t88 = load ptr, ptr @g_g_es_site_aok %t89 = load i32, ptr %t3 %t90 = getelementptr inbounds %LSlice, ptr %t88, i32 0, i32 0 %t91 = load ptr, ptr %t90 %t92 = getelementptr inbounds %LSlice, ptr %t88, i32 0, i32 1 %t93 = load i32, ptr %t92 %t94 = icmp ult i32 %t89, %t93 br i1 %t94, label %ixok19, label %ixbad20 ixbad20: store i32 4099, ptr @lp_site %t95 = call ptr @lp_win_stdio(i32 2) store i32 0, ptr @lp_site call i32 (ptr, ptr, ...) @fprintf(ptr %t95, ptr @.fmt_bounds, ptr @.str6938, i32 %t89, i32 %t93) call void @exit(i32 1) unreachable ixok19: %t96 = getelementptr inbounds i32, ptr %t91, i32 %t89 %t97 = load i32, ptr %t96 %t98 = icmp eq i32 %t97, 0 %t99 = zext i1 %t98 to i32 %t100 = icmp ne i32 %t99, 0 %t101 = zext i1 %t100 to i32 store i32 %t101, ptr %t34 br label %scend18 scend18: %t102 = load i32, ptr %t34 %t103 = icmp ne i32 %t102, 0 %t104 = zext i1 %t103 to i32 store i32 %t104, ptr %t33 br i1 %t103, label %sc21, label %scend22 sc21: %t105 = load ptr, ptr @g_g_es_site_grow %t106 = load i32, ptr %t3 %t107 = getelementptr inbounds %LSlice, ptr %t105, i32 0, i32 0 %t108 = load ptr, ptr %t107 %t109 = getelementptr inbounds %LSlice, ptr %t105, i32 0, i32 1 %t110 = load i32, ptr %t109 %t111 = icmp ult i32 %t106, %t110 br i1 %t111, label %ixok23, label %ixbad24 ixbad24: store i32 4100, ptr @lp_site %t112 = call ptr @lp_win_stdio(i32 2) store i32 0, ptr @lp_site call i32 (ptr, ptr, ...) @fprintf(ptr %t112, ptr @.fmt_bounds, ptr @.str6939, i32 %t106, i32 %t110) call void @exit(i32 1) unreachable ixok23: %t113 = getelementptr inbounds i32, ptr %t108, i32 %t106 %t114 = load i32, ptr %t113 %t115 = icmp eq i32 %t114, 0 %t116 = zext i1 %t115 to i32 %t117 = icmp ne i32 %t116, 0 %t118 = zext i1 %t117 to i32 store i32 %t118, ptr %t33 br label %scend22 scend22: %t119 = load i32, ptr %t33 %t120 = icmp ne i32 %t119, 0 br i1 %t120, label %then25, label %ifend27 then25: %t121 = load ptr, ptr @g_g_es_fnode %t122 = load i32, ptr %t32 %t123 = getelementptr inbounds %LSlice, ptr %t121, i32 0, i32 0 %t124 = load ptr, ptr %t123 %t125 = getelementptr inbounds %LSlice, ptr %t121, i32 0, i32 1 %t126 = load i32, ptr %t125 %t127 = icmp ult i32 %t122, %t126 br i1 %t127, label %ixok28, label %ixbad29 ixbad29: store i32 4101, ptr @lp_site %t128 = call ptr @lp_win_stdio(i32 2) store i32 0, ptr @lp_site call i32 (ptr, ptr, ...) @fprintf(ptr %t128, ptr @.fmt_bounds, ptr @.str6940, i32 %t122, i32 %t126) call void @exit(i32 1) unreachable ixok28: %t129 = getelementptr inbounds ptr, ptr %t124, i32 %t122 %t130 = load ptr, ptr %t129 store ptr %t130, ptr %t131 %t132 = load ptr, ptr %t131 %t133 = getelementptr inbounds %Cmp_Node, ptr %t132, i32 0, i32 1 %t134 = load ptr, ptr %t133 %t135 = call i32 @fn_dr_index(ptr %t134) store i32 %t135, ptr %t136 %t141 = load i32, ptr %t136 %t142 = icmp sge i32 %t141, 0 %t143 = zext i1 %t142 to i32 %t144 = icmp ne i32 %t143, 0 %t145 = zext i1 %t144 to i32 store i32 %t145, ptr %t140 br i1 %t144, label %sc30, label %scend31 sc30: %t146 = load ptr, ptr %t1 %t147 = load i32, ptr %t136 %t148 = getelementptr inbounds %LSlice, ptr %t146, i32 0, i32 0 %t149 = load ptr, ptr %t148 %t150 = getelementptr inbounds %LSlice, ptr %t146, i32 0, i32 1 %t151 = load i32, ptr %t150 %t152 = icmp ult i32 %t147, %t151 br i1 %t152, label %ixok32, label %ixbad33 ixbad33: store i32 4102, ptr @lp_site %t153 = call ptr @lp_win_stdio(i32 2) store i32 0, ptr @lp_site call i32 (ptr, ptr, ...) @fprintf(ptr %t153, ptr @.fmt_bounds, ptr @.str6941, i32 %t147, i32 %t151) call void @exit(i32 1) unreachable ixok32: %t154 = getelementptr inbounds i32, ptr %t149, i32 %t147 %t155 = load i32, ptr %t154 %t156 = icmp ne i32 %t155, 0 %t157 = zext i1 %t156 to i32 store i32 %t157, ptr %t140 br label %scend31 scend31: %t158 = load i32, ptr %t140 %t159 = icmp ne i32 %t158, 0 %t160 = zext i1 %t159 to i32 store i32 %t160, ptr %t139 br i1 %t159, label %sc34, label %scend35 sc34: %t161 = load ptr, ptr %t131 %t162 = getelementptr inbounds %Cmp_Node, ptr %t161, i32 0, i32 1 %t163 = load ptr, ptr %t162 %t164 = call i32 @fn_fr_alloc_ok(ptr %t163) %t165 = icmp eq i32 %t164, 0 %t166 = zext i1 %t165 to i32 %t167 = icmp ne i32 %t166, 0 %t168 = zext i1 %t167 to i32 store i32 %t168, ptr %t139 br label %scend35 scend35: %t169 = load i32, ptr %t139 %t170 = icmp ne i32 %t169, 0 %t171 = zext i1 %t170 to i32 store i32 %t171, ptr %t138 br i1 %t170, label %sc36, label %scend37 sc36: %t172 = load ptr, ptr %t131 %t173 = getelementptr inbounds %Cmp_Node, ptr %t172, i32 0, i32 9 %t174 = load ptr, ptr %t173 %t175 = icmp ne ptr %t174, null %t176 = zext i1 %t175 to i32 %t177 = icmp ne i32 %t176, 0 %t178 = zext i1 %t177 to i32 store i32 %t178, ptr %t138 br label %scend37 scend37: %t179 = load i32, ptr %t138 %t180 = icmp ne i32 %t179, 0 %t181 = zext i1 %t180 to i32 store i32 %t181, ptr %t137 br i1 %t180, label %sc38, label %scend39 sc38: %t182 = load ptr, ptr %t131 %t183 = getelementptr inbounds %Cmp_Node, ptr %t182, i32 0, i32 9 %t184 = load ptr, ptr %t183 %t185 = call i32 @fn_is_runtime_file(ptr %t184) %t186 = icmp eq i32 %t185, 0 %t187 = zext i1 %t186 to i32 %t188 = icmp ne i32 %t187, 0 %t189 = zext i1 %t188 to i32 store i32 %t189, ptr %t137 br label %scend39 scend39: %t190 = load i32, ptr %t137 %t191 = icmp ne i32 %t190, 0 br i1 %t191, label %then40, label %ifend42 then40: %t192 = load ptr, ptr @g_g_es_site %t193 = load i32, ptr %t3 %t194 = getelementptr inbounds %LSlice, ptr %t192, i32 0, i32 0 %t195 = load ptr, ptr %t194 %t196 = getelementptr inbounds %LSlice, ptr %t192, i32 0, i32 1 %t197 = load i32, ptr %t196 %t198 = icmp ult i32 %t193, %t197 br i1 %t198, label %ixok43, label %ixbad44 ixbad44: store i32 4103, ptr @lp_site %t199 = call ptr @lp_win_stdio(i32 2) store i32 0, ptr @lp_site call i32 (ptr, ptr, ...) @fprintf(ptr %t199, ptr @.fmt_bounds, ptr @.str6942, i32 %t193, i32 %t197) call void @exit(i32 1) unreachable ixok43: %t200 = getelementptr inbounds ptr, ptr %t195, i32 %t193 %t201 = load ptr, ptr %t200 store ptr %t201, ptr %t202 %t203 = load ptr, ptr @g_g_es_why %t204 = load i32, ptr %t21 %t205 = getelementptr inbounds %LSlice, ptr %t203, i32 0, i32 0 %t206 = load ptr, ptr %t205 %t207 = getelementptr inbounds %LSlice, ptr %t203, i32 0, i32 1 %t208 = load i32, ptr %t207 %t209 = icmp ult i32 %t204, %t208 br i1 %t209, label %ixok45, label %ixbad46 ixbad46: store i32 4104, ptr @lp_site %t210 = call ptr @lp_win_stdio(i32 2) store i32 0, ptr @lp_site call i32 (ptr, ptr, ...) @fprintf(ptr %t210, ptr @.fmt_bounds, ptr @.str6943, i32 %t204, i32 %t208) call void @exit(i32 1) unreachable ixok45: %t211 = getelementptr inbounds ptr, ptr %t206, i32 %t204 %t212 = load ptr, ptr %t211 store ptr %t212, ptr %t213 store ptr @.str6944, ptr %t214 %t216 = load ptr, ptr %t213 %t217 = icmp ne ptr %t216, null %t218 = zext i1 %t217 to i32 %t219 = icmp ne i32 %t218, 0 %t220 = zext i1 %t219 to i32 store i32 %t220, ptr %t215 br i1 %t219, label %sc47, label %scend48 sc47: %t221 = load ptr, ptr %t213 %t222 = getelementptr inbounds %Cmp_Node, ptr %t221, i32 0, i32 9 %t223 = load ptr, ptr %t222 %t224 = icmp ne ptr %t223, null %t225 = zext i1 %t224 to i32 %t226 = icmp ne i32 %t225, 0 %t227 = zext i1 %t226 to i32 store i32 %t227, ptr %t215 br label %scend48 scend48: %t228 = load i32, ptr %t215 %t229 = icmp ne i32 %t228, 0 br i1 %t229, label %then49, label %ifend51 then49: %t230 = load ptr, ptr %t213 %t231 = getelementptr inbounds %Cmp_Node, ptr %t230, i32 0, i32 9 %t232 = load ptr, ptr %t231 store i32 4105, ptr @lp_site %t233 = call ptr @lp_str_concat(ptr %t232, ptr @.str6945) store i32 0, ptr @lp_site %t234 = load ptr, ptr %t213 %t235 = getelementptr inbounds %Cmp_Node, ptr %t234, i32 0, i32 8 %t236 = load i32, ptr %t235 %t237 = call ptr @fn_itoa(i32 %t236) store i32 4106, ptr @lp_site %t238 = call ptr @lp_str_concat(ptr %t233, ptr %t237) store i32 0, ptr @lp_site call void @lp_free(ptr %t233) store ptr %t238, ptr %t214 br label %ifend51 ifend51: %t239 = load ptr, ptr %t202 %t240 = call ptr @fn_fr_alloc_kind(ptr %t239, i32 0) store ptr %t240, ptr %t241 %t242 = load ptr, ptr %t241 %t243 = icmp eq ptr %t242, null %t244 = zext i1 %t243 to i32 %t245 = icmp ne i32 %t244, 0 br i1 %t245, label %then52, label %ifend54 then52: store ptr @.str6946, ptr %t241 br label %ifend54 ifend54: %t246 = load ptr, ptr %t0 %t247 = load ptr, ptr %t241 store i32 4107, ptr @lp_site %t248 = call ptr @lp_str_concat(ptr @.str6947, ptr %t247) store i32 0, ptr @lp_site store i32 4108, ptr @lp_site %t249 = call ptr @lp_str_concat(ptr %t248, ptr @.str6948) store i32 0, ptr @lp_site call void @lp_free(ptr %t248) %t250 = load ptr, ptr %t131 %t251 = getelementptr inbounds %Cmp_Node, ptr %t250, i32 0, i32 9 %t252 = load ptr, ptr %t251 store i32 4109, ptr @lp_site %t253 = call ptr @lp_str_concat(ptr %t249, ptr %t252) store i32 0, ptr @lp_site call void @lp_free(ptr %t249) store i32 4110, ptr @lp_site %t254 = call ptr @lp_str_concat(ptr %t253, ptr @.str6949) store i32 0, ptr @lp_site call void @lp_free(ptr %t253) %t255 = load ptr, ptr %t202 %t256 = getelementptr inbounds %Cmp_Node, ptr %t255, i32 0, i32 8 %t257 = load i32, ptr %t256 %t258 = call ptr @fn_itoa(i32 %t257) store i32 4111, ptr @lp_site %t259 = call ptr @lp_str_concat(ptr %t254, ptr %t258) store i32 0, ptr @lp_site call void @lp_free(ptr %t254) store i32 4112, ptr @lp_site %t260 = call ptr @lp_str_concat(ptr %t259, ptr @.str6950) store i32 0, ptr @lp_site call void @lp_free(ptr %t259) %t261 = load ptr, ptr %t214 store i32 4113, ptr @lp_site %t262 = call ptr @lp_str_concat(ptr %t260, ptr %t261) store i32 0, ptr @lp_site call void @lp_free(ptr %t260) store i32 4114, ptr @lp_site %t263 = call ptr @lp_str_concat(ptr %t262, ptr @.str6951) store i32 0, ptr @lp_site call void @lp_free(ptr %t262) %t264 = load i32, ptr %t136 %t265 = call ptr @fn_fr_chain(i32 %t264) store i32 4115, ptr @lp_site %t266 = call ptr @lp_str_concat(ptr %t263, ptr %t265) store i32 0, ptr @lp_site call void @lp_free(ptr %t263) call void @fn_deps_line(ptr %t246, ptr %t266) %t267 = load i32, ptr @g_g_arena_strict %t268 = icmp ne i32 %t267, 0 br i1 %t268, label %then55, label %ifend57 then55: %t269 = load ptr, ptr %t241 store i32 4116, ptr @lp_site %t270 = call ptr @lp_str_concat(ptr @.str6952, ptr %t269) store i32 0, ptr @lp_site store i32 4117, ptr @lp_site %t271 = call ptr @lp_str_concat(ptr %t270, ptr @.str6953) store i32 0, ptr @lp_site call void @lp_free(ptr %t270) %t272 = load ptr, ptr %t214 store i32 4118, ptr @lp_site %t273 = call ptr @lp_str_concat(ptr %t271, ptr %t272) store i32 0, ptr @lp_site call void @lp_free(ptr %t271) store i32 4119, ptr @lp_site %t274 = call ptr @lp_str_concat(ptr %t273, ptr @.str6954) store i32 0, ptr @lp_site call void @lp_free(ptr %t273) %t275 = load i32, ptr %t136 %t276 = call ptr @fn_fr_chain(i32 %t275) store i32 4120, ptr @lp_site %t277 = call ptr @lp_str_concat(ptr %t274, ptr %t276) store i32 0, ptr @lp_site call void @lp_free(ptr %t274) store i32 4121, ptr @lp_site %t278 = call ptr @lp_str_concat(ptr %t277, ptr @.str6955) store i32 0, ptr @lp_site call void @lp_free(ptr %t277) store ptr %t278, ptr %t279 %t280 = load i32, ptr @g_g_diag_json %t281 = icmp ne i32 %t280, 0 br i1 %t281, label %then58, label %else59 then58: %t282 = load ptr, ptr %t131 %t283 = getelementptr inbounds %Cmp_Node, ptr %t282, i32 0, i32 9 %t284 = load ptr, ptr %t283 %t285 = load ptr, ptr %t202 %t286 = getelementptr inbounds %Cmp_Node, ptr %t285, i32 0, i32 8 %t287 = load i32, ptr %t286 %t288 = load ptr, ptr %t202 %t289 = getelementptr inbounds %Cmp_Node, ptr %t288, i32 0, i32 18 %t290 = load i32, ptr %t289 %t291 = load ptr, ptr %t279 call void @fn_diag_add(ptr %t284, i32 %t287, i32 %t290, ptr @.str6956, ptr %t291) br label %ifend60 else59: %t292 = load ptr, ptr %t131 %t293 = getelementptr inbounds %Cmp_Node, ptr %t292, i32 0, i32 9 %t294 = load ptr, ptr %t293 store i32 4122, ptr @lp_site %t295 = call ptr @lp_str_concat(ptr %t294, ptr @.str6957) store i32 0, ptr @lp_site %t296 = load ptr, ptr %t202 %t297 = getelementptr inbounds %Cmp_Node, ptr %t296, i32 0, i32 8 %t298 = load i32, ptr %t297 %t299 = call ptr @fn_itoa(i32 %t298) store i32 4123, ptr @lp_site %t300 = call ptr @lp_str_concat(ptr %t295, ptr %t299) store i32 0, ptr @lp_site call void @lp_free(ptr %t295) store i32 4124, ptr @lp_site %t301 = call ptr @lp_str_concat(ptr %t300, ptr @.str6958) store i32 0, ptr @lp_site call void @lp_free(ptr %t300) %t302 = load ptr, ptr %t279 store i32 4125, ptr @lp_site %t303 = call ptr @lp_str_concat(ptr %t301, ptr %t302) store i32 0, ptr @lp_site call void @lp_free(ptr %t301) store i32 4126, ptr @lp_site %t304 = call ptr @lp_str_concat(ptr %t303, ptr @.str6959) store i32 0, ptr @lp_site call void @lp_free(ptr %t303) store ptr %t304, ptr %t305 store i32 4127, ptr @lp_site %t306 = call ptr @lp_win_stdio(i32 2) store i32 0, ptr @lp_site %t307 = load ptr, ptr %t305 %t308 = load ptr, ptr %t305 %t309 = call i64 @strlen(ptr %t308) %t310 = trunc i64 %t309 to i32 %t311 = zext i32 %t310 to i64 %t312 = call i64 @fwrite(ptr %t307, i64 1, i64 %t311, ptr %t306) %t313 = trunc i64 %t312 to i32 br label %ifend60 ifend60: br label %ifend57 ifend57: %t314 = load i32, ptr %t2 %t315 = add i32 %t314, 1 store i32 %t315, ptr %t2 br label %ifend42 ifend42: br label %ifend27 ifend27: %t316 = load i32, ptr %t3 %t317 = add i32 %t316, 1 store i32 %t317, ptr %t3 br label %wcond0 wend2: %t318 = load ptr, ptr %t0 %t319 = load i32, ptr %t2 %t320 = call ptr @fn_itoa(i32 %t319) store i32 4128, ptr @lp_site %t321 = call ptr @lp_str_concat(ptr @.str6960, ptr %t320) store i32 0, ptr @lp_site call void @fn_deps_line(ptr %t318, ptr %t321) %t323 = load i32, ptr @g_g_arena_strict %t324 = icmp ne i32 %t323, 0 %t325 = zext i1 %t324 to i32 store i32 %t325, ptr %t322 br i1 %t324, label %sc61, label %scend62 sc61: %t326 = load i32, ptr %t2 %t327 = icmp sgt i32 %t326, 0 %t328 = zext i1 %t327 to i32 %t329 = icmp ne i32 %t328, 0 %t330 = zext i1 %t329 to i32 store i32 %t330, ptr %t322 br label %scend62 scend62: %t331 = load i32, ptr %t322 %t332 = icmp ne i32 %t331, 0 br i1 %t332, label %then63, label %ifend65 then63: call void @fn_diag_exit(i32 1) br label %ifend65 ifend65: %t333 = load ptr, ptr %t0 %t334 = load ptr, ptr %t1 call void @fn_deps_births(ptr %t333, ptr %t334) %t335 = load ptr, ptr %t0 call void @fn_deps_resources(ptr %t335) %t336 = load ptr, ptr %t0 call void @fn_deps_owned(ptr %t336) br label %ret ret: ret void } define i32 @fn_fr_consumed(ptr %arg_n) { entry: %retval = alloca i32 %t0 = alloca ptr %t1 = alloca i32 store ptr %arg_n, ptr %t0 store i32 0, ptr %t1 br label %wcond0 wcond0: %t2 = load i32, ptr %t1 %t3 = load ptr, ptr @g_g_es_consumed %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_es_consumed %t10 = load i32, ptr %t1 %t11 = getelementptr inbounds %LSlice, ptr %t9, i32 0, i32 0 %t12 = load ptr, ptr %t11 %t13 = getelementptr inbounds %LSlice, ptr %t9, i32 0, i32 1 %t14 = load i32, ptr %t13 %t15 = icmp ult i32 %t10, %t14 br i1 %t15, label %ixok3, label %ixbad4 ixbad4: store i32 4129, ptr @lp_site %t16 = call ptr @lp_win_stdio(i32 2) store i32 0, ptr @lp_site call i32 (ptr, ptr, ...) @fprintf(ptr %t16, ptr @.fmt_bounds, ptr @.str6961, i32 %t10, i32 %t14) call void @exit(i32 1) unreachable ixok3: %t17 = getelementptr inbounds ptr, ptr %t12, i32 %t10 %t18 = load ptr, ptr %t17 %t19 = load ptr, ptr %t0 %t20 = icmp eq ptr %t18, %t19 %t21 = zext i1 %t20 to i32 %t22 = icmp ne i32 %t21, 0 br i1 %t22, label %then5, label %ifend7 then5: store i32 1, ptr %retval br label %ret ifend7: %t23 = load i32, ptr %t1 %t24 = add i32 %t23, 1 store i32 %t24, ptr %t1 br label %wcond0 wend2: store i32 0, ptr %retval br label %ret ret: %t25 = load i32, ptr %retval ret i32 %t25 } define void @fn_deps_births(ptr %arg_f, ptr %arg_seen) { entry: %t0 = alloca ptr %t1 = alloca ptr %t8 = alloca ptr %t15 = alloca ptr %t16 = alloca i32 %t62 = alloca ptr %t63 = alloca i32 %t64 = alloca i32 %t121 = alloca i32 %t148 = alloca ptr %t151 = alloca i32 %t230 = alloca i32 %t231 = alloca i32 %t249 = alloca i32 %t260 = alloca i32 %t271 = alloca ptr %t272 = alloca i32 %t273 = alloca i32 %t274 = alloca i32 %t275 = alloca i32 %t276 = alloca i32 %t371 = alloca ptr %t376 = alloca i32 %t377 = alloca i32 %t396 = alloca i32 %t397 = alloca i32 %t409 = alloca i32 %t410 = alloca i32 %t411 = alloca i32 %t412 = alloca i32 %t413 = alloca i32 %t461 = alloca ptr %t466 = alloca ptr store ptr %arg_f, ptr %t0 store ptr %arg_seen, ptr %t1 %t2 = getelementptr %LSlice, ptr null, i32 1 %t3 = ptrtoint ptr %t2 to i64 store i32 4130, ptr @lp_site %t4 = call ptr @lp_malloc(i64 %t3) store i32 0, ptr @lp_site %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 %t8 %t9 = getelementptr %LSlice, ptr null, i32 1 %t10 = ptrtoint ptr %t9 to i64 store i32 4131, ptr @lp_site %t11 = call ptr @lp_malloc(i64 %t10) store i32 0, ptr @lp_site %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 %t16 br label %wcond0 wcond0: %t17 = load i32, ptr %t16 %t18 = load ptr, ptr @g_g_dr_node %t19 = getelementptr inbounds %LSlice, ptr %t18, i32 0, i32 1 %t20 = load i32, ptr %t19 %t21 = icmp slt i32 %t17, %t20 %t22 = zext i1 %t21 to i32 %t23 = icmp ne i32 %t22, 0 br i1 %t23, label %wbody1, label %wend2 wbody1: %t24 = load ptr, ptr %t8 %t25 = getelementptr inbounds %LSlice, ptr %t24, i32 0, i32 1 %t26 = getelementptr inbounds %LSlice, ptr %t24, i32 0, i32 2 %t27 = getelementptr inbounds %LSlice, ptr %t24, 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 i32, 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 store i32 4132, ptr @lp_site %t39 = call ptr @lp_realloc(ptr %t38, i64 %t37) store i32 0, ptr @lp_site store ptr %t39, ptr %t27 store i32 %t33, ptr %t26 br label %put4 put4: %t40 = load ptr, ptr %t27 %t41 = getelementptr inbounds i32, ptr %t40, i32 %t28 store i32 0, ptr %t41 %t42 = add i32 %t28, 1 store i32 %t42, ptr %t25 %t43 = load i32, ptr %t16 %t44 = add i32 %t43, 1 store i32 %t44, ptr %t16 br label %wcond0 wend2: store i32 0, ptr %t16 br label %wcond5 wcond5: %t45 = load i32, ptr %t16 %t46 = load ptr, ptr @g_g_dr_node %t47 = getelementptr inbounds %LSlice, ptr %t46, i32 0, i32 1 %t48 = load i32, ptr %t47 %t49 = icmp slt i32 %t45, %t48 %t50 = zext i1 %t49 to i32 %t51 = icmp ne i32 %t50, 0 br i1 %t51, label %wbody6, label %wend7 wbody6: %t52 = load ptr, ptr @g_g_dr_node %t53 = load i32, ptr %t16 %t54 = getelementptr inbounds %LSlice, ptr %t52, i32 0, i32 0 %t55 = load ptr, ptr %t54 %t56 = getelementptr inbounds %LSlice, ptr %t52, i32 0, i32 1 %t57 = load i32, ptr %t56 %t58 = icmp ult i32 %t53, %t57 br i1 %t58, label %ixok8, label %ixbad9 ixbad9: store i32 4133, ptr @lp_site %t59 = call ptr @lp_win_stdio(i32 2) store i32 0, ptr @lp_site call i32 (ptr, ptr, ...) @fprintf(ptr %t59, ptr @.fmt_bounds, ptr @.str6964, i32 %t53, i32 %t57) call void @exit(i32 1) unreachable ixok8: %t60 = getelementptr inbounds ptr, ptr %t55, i32 %t53 %t61 = load ptr, ptr %t60 store ptr %t61, ptr %t62 %t65 = load ptr, ptr %t62 %t66 = getelementptr inbounds %Cmp_Node, ptr %t65, i32 0, i32 0 %t67 = load i32, ptr %t66 %t68 = icmp eq i32 %t67, 9 %t69 = zext i1 %t68 to i32 %t70 = icmp ne i32 %t69, 0 %t71 = zext i1 %t70 to i32 store i32 %t71, ptr %t64 br i1 %t70, label %sc10, label %scend11 sc10: %t72 = load ptr, ptr %t62 %t73 = getelementptr inbounds %Cmp_Node, ptr %t72, i32 0, i32 3 %t74 = load ptr, ptr %t73 %t75 = call i32 @lp_str_eq(ptr %t74, ptr @.str6965) %t76 = icmp ne i32 %t75, 0 %t77 = zext i1 %t76 to i32 store i32 %t77, ptr %t64 br label %scend11 scend11: %t78 = load i32, ptr %t64 %t79 = icmp ne i32 %t78, 0 %t80 = zext i1 %t79 to i32 store i32 %t80, ptr %t63 br i1 %t79, label %scend13, label %sc12 sc12: %t81 = load ptr, ptr %t62 %t82 = getelementptr inbounds %Cmp_Node, ptr %t81, i32 0, i32 0 %t83 = load i32, ptr %t82 %t84 = icmp eq i32 %t83, 6 %t85 = zext i1 %t84 to i32 %t86 = icmp ne i32 %t85, 0 %t87 = zext i1 %t86 to i32 store i32 %t87, ptr %t63 br label %scend13 scend13: %t88 = load i32, ptr %t63 %t89 = icmp ne i32 %t88, 0 br i1 %t89, label %then14, label %ifend16 then14: %t90 = load ptr, ptr %t8 %t91 = load i32, ptr %t16 %t92 = getelementptr inbounds %LSlice, ptr %t90, i32 0, i32 0 %t93 = load ptr, ptr %t92 %t94 = getelementptr inbounds %LSlice, ptr %t90, i32 0, i32 1 %t95 = load i32, ptr %t94 %t96 = icmp ult i32 %t91, %t95 br i1 %t96, label %ixok17, label %ixbad18 ixbad18: store i32 4134, ptr @lp_site %t97 = call ptr @lp_win_stdio(i32 2) store i32 0, ptr @lp_site call i32 (ptr, ptr, ...) @fprintf(ptr %t97, ptr @.fmt_bounds, ptr @.str6966, i32 %t91, i32 %t95) call void @exit(i32 1) unreachable ixok17: %t98 = getelementptr inbounds i32, ptr %t93, i32 %t91 store i32 1, ptr %t98 %t99 = load ptr, ptr %t15 %t100 = load i32, ptr %t16 %t101 = getelementptr inbounds %LSlice, ptr %t99, i32 0, i32 1 %t102 = getelementptr inbounds %LSlice, ptr %t99, i32 0, i32 2 %t103 = getelementptr inbounds %LSlice, ptr %t99, i32 0, i32 0 %t104 = load i32, ptr %t101 %t105 = load i32, ptr %t102 %t106 = icmp sge i32 %t104, %t105 br i1 %t106, label %grow19, label %put20 grow19: %t107 = mul i32 %t105, 2 %t108 = icmp eq i32 %t105, 0 %t109 = select i1 %t108, i32 8, i32 %t107 %t110 = getelementptr i32, ptr null, i32 1 %t111 = ptrtoint ptr %t110 to i64 %t112 = zext i32 %t109 to i64 %t113 = mul i64 %t112, %t111 %t114 = load ptr, ptr %t103 store i32 4135, ptr @lp_site %t115 = call ptr @lp_realloc(ptr %t114, i64 %t113) store i32 0, ptr @lp_site store ptr %t115, ptr %t103 store i32 %t109, ptr %t102 br label %put20 put20: %t116 = load ptr, ptr %t103 %t117 = getelementptr inbounds i32, ptr %t116, i32 %t104 store i32 %t100, ptr %t117 %t118 = add i32 %t104, 1 store i32 %t118, ptr %t101 br label %ifend16 ifend16: %t119 = load i32, ptr %t16 %t120 = add i32 %t119, 1 store i32 %t120, ptr %t16 br label %wcond5 wend7: store i32 0, ptr %t121 br label %wcond21 wcond21: %t122 = load i32, ptr %t121 %t123 = load ptr, ptr %t15 %t124 = getelementptr inbounds %LSlice, ptr %t123, i32 0, i32 1 %t125 = load i32, ptr %t124 %t126 = icmp slt i32 %t122, %t125 %t127 = zext i1 %t126 to i32 %t128 = icmp ne i32 %t127, 0 br i1 %t128, label %wbody22, label %wend23 wbody22: %t129 = load ptr, ptr @g_g_dr_refs %t130 = load ptr, ptr %t15 %t131 = load i32, ptr %t121 %t132 = getelementptr inbounds %LSlice, ptr %t130, i32 0, i32 0 %t133 = load ptr, ptr %t132 %t134 = getelementptr inbounds %LSlice, ptr %t130, i32 0, i32 1 %t135 = load i32, ptr %t134 %t136 = icmp ult i32 %t131, %t135 br i1 %t136, label %ixok24, label %ixbad25 ixbad25: store i32 4136, ptr @lp_site %t137 = call ptr @lp_win_stdio(i32 2) store i32 0, ptr @lp_site call i32 (ptr, ptr, ...) @fprintf(ptr %t137, ptr @.fmt_bounds, ptr @.str6967, i32 %t131, i32 %t135) call void @exit(i32 1) unreachable ixok24: %t138 = getelementptr inbounds i32, ptr %t133, i32 %t131 %t139 = load i32, ptr %t138 %t140 = getelementptr inbounds %LSlice, ptr %t129, i32 0, i32 0 %t141 = load ptr, ptr %t140 %t142 = getelementptr inbounds %LSlice, ptr %t129, i32 0, i32 1 %t143 = load i32, ptr %t142 %t144 = icmp ult i32 %t139, %t143 br i1 %t144, label %ixok26, label %ixbad27 ixbad27: store i32 4137, ptr @lp_site %t145 = call ptr @lp_win_stdio(i32 2) store i32 0, ptr @lp_site call i32 (ptr, ptr, ...) @fprintf(ptr %t145, ptr @.fmt_bounds, ptr @.str6968, i32 %t139, i32 %t143) call void @exit(i32 1) unreachable ixok26: %t146 = getelementptr inbounds ptr, ptr %t141, i32 %t139 %t147 = load ptr, ptr %t146 store ptr %t147, ptr %t148 %t149 = load i32, ptr %t121 %t150 = add i32 %t149, 1 store i32 %t150, ptr %t121 store i32 0, ptr %t151 br label %wcond28 wcond28: %t152 = load i32, ptr %t151 %t153 = load ptr, ptr %t148 %t154 = getelementptr inbounds %LSlice, ptr %t153, i32 0, i32 1 %t155 = load i32, ptr %t154 %t156 = icmp slt i32 %t152, %t155 %t157 = zext i1 %t156 to i32 %t158 = icmp ne i32 %t157, 0 br i1 %t158, label %wbody29, label %wend30 wbody29: %t159 = load ptr, ptr %t8 %t160 = load ptr, ptr %t148 %t161 = load i32, ptr %t151 %t162 = getelementptr inbounds %LSlice, ptr %t160, i32 0, i32 0 %t163 = load ptr, ptr %t162 %t164 = getelementptr inbounds %LSlice, ptr %t160, i32 0, i32 1 %t165 = load i32, ptr %t164 %t166 = icmp ult i32 %t161, %t165 br i1 %t166, label %ixok31, label %ixbad32 ixbad32: store i32 4138, ptr @lp_site %t167 = call ptr @lp_win_stdio(i32 2) store i32 0, ptr @lp_site call i32 (ptr, ptr, ...) @fprintf(ptr %t167, ptr @.fmt_bounds, ptr @.str6969, i32 %t161, i32 %t165) call void @exit(i32 1) unreachable ixok31: %t168 = getelementptr inbounds i32, ptr %t163, i32 %t161 %t169 = load i32, ptr %t168 %t170 = getelementptr inbounds %LSlice, ptr %t159, i32 0, i32 0 %t171 = load ptr, ptr %t170 %t172 = getelementptr inbounds %LSlice, ptr %t159, i32 0, i32 1 %t173 = load i32, ptr %t172 %t174 = icmp ult i32 %t169, %t173 br i1 %t174, label %ixok33, label %ixbad34 ixbad34: store i32 4139, ptr @lp_site %t175 = call ptr @lp_win_stdio(i32 2) store i32 0, ptr @lp_site call i32 (ptr, ptr, ...) @fprintf(ptr %t175, ptr @.fmt_bounds, ptr @.str6970, i32 %t169, i32 %t173) call void @exit(i32 1) unreachable ixok33: %t176 = getelementptr inbounds i32, ptr %t171, i32 %t169 %t177 = load i32, ptr %t176 %t178 = icmp eq i32 %t177, 0 %t179 = zext i1 %t178 to i32 %t180 = icmp ne i32 %t179, 0 br i1 %t180, label %then35, label %ifend37 then35: %t181 = load ptr, ptr %t8 %t182 = load ptr, ptr %t148 %t183 = load i32, ptr %t151 %t184 = getelementptr inbounds %LSlice, ptr %t182, i32 0, i32 0 %t185 = load ptr, ptr %t184 %t186 = getelementptr inbounds %LSlice, ptr %t182, i32 0, i32 1 %t187 = load i32, ptr %t186 %t188 = icmp ult i32 %t183, %t187 br i1 %t188, label %ixok38, label %ixbad39 ixbad39: store i32 4140, ptr @lp_site %t189 = call ptr @lp_win_stdio(i32 2) store i32 0, ptr @lp_site call i32 (ptr, ptr, ...) @fprintf(ptr %t189, ptr @.fmt_bounds, ptr @.str6971, i32 %t183, i32 %t187) call void @exit(i32 1) unreachable ixok38: %t190 = getelementptr inbounds i32, ptr %t185, i32 %t183 %t191 = load i32, ptr %t190 %t192 = getelementptr inbounds %LSlice, ptr %t181, i32 0, i32 0 %t193 = load ptr, ptr %t192 %t194 = getelementptr inbounds %LSlice, ptr %t181, i32 0, i32 1 %t195 = load i32, ptr %t194 %t196 = icmp ult i32 %t191, %t195 br i1 %t196, label %ixok40, label %ixbad41 ixbad41: store i32 4141, ptr @lp_site %t197 = call ptr @lp_win_stdio(i32 2) store i32 0, ptr @lp_site call i32 (ptr, ptr, ...) @fprintf(ptr %t197, ptr @.fmt_bounds, ptr @.str6972, i32 %t191, i32 %t195) call void @exit(i32 1) unreachable ixok40: %t198 = getelementptr inbounds i32, ptr %t193, i32 %t191 store i32 1, ptr %t198 %t199 = load ptr, ptr %t15 %t200 = load ptr, ptr %t148 %t201 = load i32, ptr %t151 %t202 = getelementptr inbounds %LSlice, ptr %t200, i32 0, i32 0 %t203 = load ptr, ptr %t202 %t204 = getelementptr inbounds %LSlice, ptr %t200, i32 0, i32 1 %t205 = load i32, ptr %t204 %t206 = icmp ult i32 %t201, %t205 br i1 %t206, label %ixok42, label %ixbad43 ixbad43: store i32 4142, ptr @lp_site %t207 = call ptr @lp_win_stdio(i32 2) store i32 0, ptr @lp_site call i32 (ptr, ptr, ...) @fprintf(ptr %t207, ptr @.fmt_bounds, ptr @.str6973, i32 %t201, i32 %t205) call void @exit(i32 1) unreachable ixok42: %t208 = getelementptr inbounds i32, ptr %t203, i32 %t201 %t209 = load i32, ptr %t208 %t210 = getelementptr inbounds %LSlice, ptr %t199, i32 0, i32 1 %t211 = getelementptr inbounds %LSlice, ptr %t199, i32 0, i32 2 %t212 = getelementptr inbounds %LSlice, ptr %t199, i32 0, i32 0 %t213 = load i32, ptr %t210 %t214 = load i32, ptr %t211 %t215 = icmp sge i32 %t213, %t214 br i1 %t215, label %grow44, label %put45 grow44: %t216 = mul i32 %t214, 2 %t217 = icmp eq i32 %t214, 0 %t218 = select i1 %t217, i32 8, i32 %t216 %t219 = getelementptr i32, 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 store i32 4143, ptr @lp_site %t224 = call ptr @lp_realloc(ptr %t223, i64 %t222) store i32 0, ptr @lp_site store ptr %t224, ptr %t212 store i32 %t218, ptr %t211 br label %put45 put45: %t225 = load ptr, ptr %t212 %t226 = getelementptr inbounds i32, ptr %t225, i32 %t213 store i32 %t209, ptr %t226 %t227 = add i32 %t213, 1 store i32 %t227, ptr %t210 br label %ifend37 ifend37: %t228 = load i32, ptr %t151 %t229 = add i32 %t228, 1 store i32 %t229, ptr %t151 br label %wcond28 wend30: br label %wcond21 wend23: store i32 0, ptr %t230 store i32 0, ptr %t231 br label %wcond46 wcond46: %t232 = load i32, ptr %t231 %t233 = load ptr, ptr @g_g_es_site %t234 = getelementptr inbounds %LSlice, ptr %t233, i32 0, i32 1 %t235 = load i32, ptr %t234 %t236 = icmp slt i32 %t232, %t235 %t237 = zext i1 %t236 to i32 %t238 = icmp ne i32 %t237, 0 br i1 %t238, label %wbody47, label %wend48 wbody47: %t239 = load ptr, ptr @g_g_es_site_cls %t240 = load i32, ptr %t231 %t241 = getelementptr inbounds %LSlice, ptr %t239, i32 0, i32 0 %t242 = load ptr, ptr %t241 %t243 = getelementptr inbounds %LSlice, ptr %t239, i32 0, i32 1 %t244 = load i32, ptr %t243 %t245 = icmp ult i32 %t240, %t244 br i1 %t245, label %ixok49, label %ixbad50 ixbad50: store i32 4144, ptr @lp_site %t246 = call ptr @lp_win_stdio(i32 2) store i32 0, ptr @lp_site call i32 (ptr, ptr, ...) @fprintf(ptr %t246, ptr @.fmt_bounds, ptr @.str6974, i32 %t240, i32 %t244) call void @exit(i32 1) unreachable ixok49: %t247 = getelementptr inbounds i32, ptr %t242, i32 %t240 %t248 = load i32, ptr %t247 store i32 %t248, ptr %t249 %t250 = load ptr, ptr @g_g_es_site_fn %t251 = load i32, ptr %t231 %t252 = getelementptr inbounds %LSlice, ptr %t250, i32 0, i32 0 %t253 = load ptr, ptr %t252 %t254 = getelementptr inbounds %LSlice, ptr %t250, i32 0, i32 1 %t255 = load i32, ptr %t254 %t256 = icmp ult i32 %t251, %t255 br i1 %t256, label %ixok51, label %ixbad52 ixbad52: store i32 4145, ptr @lp_site %t257 = call ptr @lp_win_stdio(i32 2) store i32 0, ptr @lp_site call i32 (ptr, ptr, ...) @fprintf(ptr %t257, ptr @.fmt_bounds, ptr @.str6975, i32 %t251, i32 %t255) call void @exit(i32 1) unreachable ixok51: %t258 = getelementptr inbounds i32, ptr %t253, i32 %t251 %t259 = load i32, ptr %t258 store i32 %t259, ptr %t260 %t261 = load ptr, ptr @g_g_es_site %t262 = load i32, ptr %t231 %t263 = getelementptr inbounds %LSlice, ptr %t261, i32 0, i32 0 %t264 = load ptr, ptr %t263 %t265 = getelementptr inbounds %LSlice, ptr %t261, i32 0, i32 1 %t266 = load i32, ptr %t265 %t267 = icmp ult i32 %t262, %t266 br i1 %t267, label %ixok53, label %ixbad54 ixbad54: store i32 4146, ptr @lp_site %t268 = call ptr @lp_win_stdio(i32 2) store i32 0, ptr @lp_site call i32 (ptr, ptr, ...) @fprintf(ptr %t268, ptr @.fmt_bounds, ptr @.str6976, i32 %t262, i32 %t266) call void @exit(i32 1) unreachable ixok53: %t269 = getelementptr inbounds ptr, ptr %t264, i32 %t262 %t270 = load ptr, ptr %t269 store ptr %t270, ptr %t271 %t277 = load i32, ptr %t249 %t278 = icmp sge i32 %t277, 0 %t279 = zext i1 %t278 to i32 %t280 = icmp ne i32 %t279, 0 %t281 = zext i1 %t280 to i32 store i32 %t281, ptr %t276 br i1 %t280, label %sc55, label %scend56 sc55: %t282 = load i32, ptr %t260 %t283 = icmp sge i32 %t282, 0 %t284 = zext i1 %t283 to i32 %t285 = icmp ne i32 %t284, 0 %t286 = zext i1 %t285 to i32 store i32 %t286, ptr %t276 br label %scend56 scend56: %t287 = load i32, ptr %t276 %t288 = icmp ne i32 %t287, 0 %t289 = zext i1 %t288 to i32 store i32 %t289, ptr %t275 br i1 %t288, label %sc57, label %scend58 sc57: %t290 = load ptr, ptr @g_g_es_fnode %t291 = load i32, ptr %t260 %t292 = getelementptr inbounds %LSlice, ptr %t290, i32 0, i32 0 %t293 = load ptr, ptr %t292 %t294 = getelementptr inbounds %LSlice, ptr %t290, i32 0, i32 1 %t295 = load i32, ptr %t294 %t296 = icmp ult i32 %t291, %t295 br i1 %t296, label %ixok59, label %ixbad60 ixbad60: store i32 4147, ptr @lp_site %t297 = call ptr @lp_win_stdio(i32 2) store i32 0, ptr @lp_site call i32 (ptr, ptr, ...) @fprintf(ptr %t297, ptr @.fmt_bounds, ptr @.str6977, i32 %t291, i32 %t295) call void @exit(i32 1) unreachable ixok59: %t298 = getelementptr inbounds ptr, ptr %t293, i32 %t291 %t299 = load ptr, ptr %t298 %t300 = getelementptr inbounds %Cmp_Node, ptr %t299, i32 0, i32 1 %t301 = load ptr, ptr %t300 %t302 = icmp ne ptr %t301, null %t303 = zext i1 %t302 to i32 %t304 = icmp ne i32 %t303, 0 %t305 = zext i1 %t304 to i32 store i32 %t305, ptr %t275 br label %scend58 scend58: %t306 = load i32, ptr %t275 %t307 = icmp ne i32 %t306, 0 %t308 = zext i1 %t307 to i32 store i32 %t308, ptr %t274 br i1 %t307, label %sc61, label %scend62 sc61: %t309 = load ptr, ptr @g_g_es_flag %t310 = load i32, ptr %t249 %t311 = getelementptr inbounds %LSlice, ptr %t309, i32 0, i32 0 %t312 = load ptr, ptr %t311 %t313 = getelementptr inbounds %LSlice, ptr %t309, i32 0, i32 1 %t314 = load i32, ptr %t313 %t315 = icmp ult i32 %t310, %t314 br i1 %t315, label %ixok63, label %ixbad64 ixbad64: store i32 4148, ptr @lp_site %t316 = call ptr @lp_win_stdio(i32 2) store i32 0, ptr @lp_site call i32 (ptr, ptr, ...) @fprintf(ptr %t316, ptr @.fmt_bounds, ptr @.str6978, i32 %t310, i32 %t314) call void @exit(i32 1) unreachable ixok63: %t317 = getelementptr inbounds i32, ptr %t312, i32 %t310 %t318 = load i32, ptr %t317 %t319 = or i32 1, 4 %t320 = and i32 %t318, %t319 %t321 = icmp eq i32 %t320, 0 %t322 = zext i1 %t321 to i32 %t323 = icmp ne i32 %t322, 0 %t324 = zext i1 %t323 to i32 store i32 %t324, ptr %t274 br label %scend62 scend62: %t325 = load i32, ptr %t274 %t326 = icmp ne i32 %t325, 0 %t327 = zext i1 %t326 to i32 store i32 %t327, ptr %t273 br i1 %t326, label %sc65, label %scend66 sc65: %t328 = load ptr, ptr @g_g_es_site_aok %t329 = load i32, ptr %t231 %t330 = getelementptr inbounds %LSlice, ptr %t328, i32 0, i32 0 %t331 = load ptr, ptr %t330 %t332 = getelementptr inbounds %LSlice, ptr %t328, i32 0, i32 1 %t333 = load i32, ptr %t332 %t334 = icmp ult i32 %t329, %t333 br i1 %t334, label %ixok67, label %ixbad68 ixbad68: store i32 4149, ptr @lp_site %t335 = call ptr @lp_win_stdio(i32 2) store i32 0, ptr @lp_site call i32 (ptr, ptr, ...) @fprintf(ptr %t335, ptr @.fmt_bounds, ptr @.str6979, i32 %t329, i32 %t333) call void @exit(i32 1) unreachable ixok67: %t336 = getelementptr inbounds i32, ptr %t331, i32 %t329 %t337 = load i32, ptr %t336 %t338 = icmp eq i32 %t337, 0 %t339 = zext i1 %t338 to i32 %t340 = icmp ne i32 %t339, 0 %t341 = zext i1 %t340 to i32 store i32 %t341, ptr %t273 br label %scend66 scend66: %t342 = load i32, ptr %t273 %t343 = icmp ne i32 %t342, 0 %t344 = zext i1 %t343 to i32 store i32 %t344, ptr %t272 br i1 %t343, label %sc69, label %scend70 sc69: %t345 = load ptr, ptr @g_g_es_site_grow %t346 = load i32, ptr %t231 %t347 = getelementptr inbounds %LSlice, ptr %t345, i32 0, i32 0 %t348 = load ptr, ptr %t347 %t349 = getelementptr inbounds %LSlice, ptr %t345, i32 0, i32 1 %t350 = load i32, ptr %t349 %t351 = icmp ult i32 %t346, %t350 br i1 %t351, label %ixok71, label %ixbad72 ixbad72: store i32 4150, ptr @lp_site %t352 = call ptr @lp_win_stdio(i32 2) store i32 0, ptr @lp_site call i32 (ptr, ptr, ...) @fprintf(ptr %t352, ptr @.fmt_bounds, ptr @.str6980, i32 %t346, i32 %t350) call void @exit(i32 1) unreachable ixok71: %t353 = getelementptr inbounds i32, ptr %t348, i32 %t346 %t354 = load i32, ptr %t353 %t355 = icmp eq i32 %t354, 0 %t356 = zext i1 %t355 to i32 %t357 = icmp ne i32 %t356, 0 %t358 = zext i1 %t357 to i32 store i32 %t358, ptr %t272 br label %scend70 scend70: %t359 = load i32, ptr %t272 %t360 = icmp ne i32 %t359, 0 br i1 %t360, label %then73, label %ifend75 then73: %t361 = load ptr, ptr @g_g_es_fnode %t362 = load i32, ptr %t260 %t363 = getelementptr inbounds %LSlice, ptr %t361, i32 0, i32 0 %t364 = load ptr, ptr %t363 %t365 = getelementptr inbounds %LSlice, ptr %t361, i32 0, i32 1 %t366 = load i32, ptr %t365 %t367 = icmp ult i32 %t362, %t366 br i1 %t367, label %ixok76, label %ixbad77 ixbad77: store i32 4151, ptr @lp_site %t368 = call ptr @lp_win_stdio(i32 2) store i32 0, ptr @lp_site call i32 (ptr, ptr, ...) @fprintf(ptr %t368, ptr @.fmt_bounds, ptr @.str6981, i32 %t362, i32 %t366) call void @exit(i32 1) unreachable ixok76: %t369 = getelementptr inbounds ptr, ptr %t364, i32 %t362 %t370 = load ptr, ptr %t369 store ptr %t370, ptr %t371 %t372 = load ptr, ptr %t371 %t373 = getelementptr inbounds %Cmp_Node, ptr %t372, i32 0, i32 1 %t374 = load ptr, ptr %t373 %t375 = call i32 @fn_dr_index(ptr %t374) store i32 %t375, ptr %t376 %t378 = load i32, ptr %t376 %t379 = icmp sge i32 %t378, 0 %t380 = zext i1 %t379 to i32 %t381 = icmp ne i32 %t380, 0 %t382 = zext i1 %t381 to i32 store i32 %t382, ptr %t377 br i1 %t381, label %sc78, label %scend79 sc78: %t383 = load ptr, ptr %t1 %t384 = load i32, ptr %t376 %t385 = getelementptr inbounds %LSlice, ptr %t383, i32 0, i32 0 %t386 = load ptr, ptr %t385 %t387 = getelementptr inbounds %LSlice, ptr %t383, i32 0, i32 1 %t388 = load i32, ptr %t387 %t389 = icmp ult i32 %t384, %t388 br i1 %t389, label %ixok80, label %ixbad81 ixbad81: store i32 4152, ptr @lp_site %t390 = call ptr @lp_win_stdio(i32 2) store i32 0, ptr @lp_site call i32 (ptr, ptr, ...) @fprintf(ptr %t390, ptr @.fmt_bounds, ptr @.str6982, i32 %t384, i32 %t388) call void @exit(i32 1) unreachable ixok80: %t391 = getelementptr inbounds i32, ptr %t386, i32 %t384 %t392 = load i32, ptr %t391 %t393 = icmp ne i32 %t392, 0 %t394 = zext i1 %t393 to i32 store i32 %t394, ptr %t377 br label %scend79 scend79: %t395 = load i32, ptr %t377 store i32 %t395, ptr %t396 %t398 = load i32, ptr @g_g_arena %t399 = icmp ne i32 %t398, 0 %t400 = zext i1 %t399 to i32 store i32 %t400, ptr %t397 br i1 %t399, label %sc82, label %scend83 sc82: %t401 = load ptr, ptr %t271 %t402 = getelementptr inbounds %Cmp_Node, ptr %t401, i32 0, i32 12 %t403 = load i32, ptr %t402 %t404 = icmp eq i32 %t403, 77 %t405 = zext i1 %t404 to i32 %t406 = icmp ne i32 %t405, 0 %t407 = zext i1 %t406 to i32 store i32 %t407, ptr %t397 br label %scend83 scend83: %t408 = load i32, ptr %t397 store i32 %t408, ptr %t409 %t414 = load i32, ptr %t409 %t415 = icmp eq i32 %t414, 0 %t416 = zext i1 %t415 to i32 %t417 = icmp ne i32 %t416, 0 %t418 = zext i1 %t417 to i32 store i32 %t418, ptr %t413 br i1 %t417, label %sc84, label %scend85 sc84: %t419 = load ptr, ptr %t371 %t420 = getelementptr inbounds %Cmp_Node, ptr %t419, i32 0, i32 9 %t421 = load ptr, ptr %t420 %t422 = icmp ne ptr %t421, null %t423 = zext i1 %t422 to i32 %t424 = icmp ne i32 %t423, 0 %t425 = zext i1 %t424 to i32 store i32 %t425, ptr %t413 br label %scend85 scend85: %t426 = load i32, ptr %t413 %t427 = icmp ne i32 %t426, 0 %t428 = zext i1 %t427 to i32 store i32 %t428, ptr %t412 br i1 %t427, label %sc86, label %scend87 sc86: %t429 = load ptr, ptr %t371 %t430 = getelementptr inbounds %Cmp_Node, ptr %t429, i32 0, i32 9 %t431 = load ptr, ptr %t430 %t432 = call i32 @fn_is_runtime_file(ptr %t431) %t433 = icmp eq i32 %t432, 0 %t434 = zext i1 %t433 to i32 %t435 = icmp ne i32 %t434, 0 %t436 = zext i1 %t435 to i32 store i32 %t436, ptr %t412 br label %scend87 scend87: %t437 = load i32, ptr %t412 %t438 = icmp ne i32 %t437, 0 %t439 = zext i1 %t438 to i32 store i32 %t439, ptr %t411 br i1 %t438, label %sc88, label %scend89 sc88: %t440 = load ptr, ptr %t371 %t441 = getelementptr inbounds %Cmp_Node, ptr %t440, i32 0, i32 1 %t442 = load ptr, ptr %t441 %t443 = call i32 @fn_fr_alloc_ok(ptr %t442) %t444 = icmp eq i32 %t443, 0 %t445 = zext i1 %t444 to i32 %t446 = icmp ne i32 %t445, 0 %t447 = zext i1 %t446 to i32 store i32 %t447, ptr %t411 br label %scend89 scend89: %t448 = load i32, ptr %t411 %t449 = icmp ne i32 %t448, 0 %t450 = zext i1 %t449 to i32 store i32 %t450, ptr %t410 br i1 %t449, label %sc90, label %scend91 sc90: %t451 = load ptr, ptr %t271 %t452 = call i32 @fn_fr_consumed(ptr %t451) %t453 = icmp eq i32 %t452, 0 %t454 = zext i1 %t453 to i32 %t455 = icmp ne i32 %t454, 0 %t456 = zext i1 %t455 to i32 store i32 %t456, ptr %t410 br label %scend91 scend91: %t457 = load i32, ptr %t410 %t458 = icmp ne i32 %t457, 0 br i1 %t458, label %then92, label %ifend94 then92: %t459 = load ptr, ptr %t271 %t460 = call ptr @fn_fr_alloc_kind(ptr %t459, i32 0) store ptr %t460, ptr %t461 %t462 = load ptr, ptr %t461 %t463 = icmp eq ptr %t462, null %t464 = zext i1 %t463 to i32 %t465 = icmp ne i32 %t464, 0 br i1 %t465, label %then95, label %ifend97 then95: store ptr @.str6983, ptr %t461 br label %ifend97 ifend97: store ptr @.str6984, ptr %t466 %t467 = load i32, ptr %t396 %t468 = icmp ne i32 %t467, 0 br i1 %t468, label %then98, label %ifend100 then98: %t469 = load i32, ptr %t376 %t470 = call ptr @fn_fr_chain(i32 %t469) store ptr %t470, ptr %t466 br label %ifend100 ifend100: %t471 = load ptr, ptr %t0 %t472 = load ptr, ptr %t461 store i32 4153, ptr @lp_site %t473 = call ptr @lp_str_concat(ptr @.str6985, ptr %t472) store i32 0, ptr @lp_site store i32 4154, ptr @lp_site %t474 = call ptr @lp_str_concat(ptr %t473, ptr @.str6986) store i32 0, ptr @lp_site call void @lp_free(ptr %t473) %t475 = load ptr, ptr %t371 %t476 = getelementptr inbounds %Cmp_Node, ptr %t475, i32 0, i32 9 %t477 = load ptr, ptr %t476 store i32 4155, ptr @lp_site %t478 = call ptr @lp_str_concat(ptr %t474, ptr %t477) store i32 0, ptr @lp_site call void @lp_free(ptr %t474) store i32 4156, ptr @lp_site %t479 = call ptr @lp_str_concat(ptr %t478, ptr @.str6987) store i32 0, ptr @lp_site call void @lp_free(ptr %t478) %t480 = load ptr, ptr %t271 %t481 = getelementptr inbounds %Cmp_Node, ptr %t480, i32 0, i32 8 %t482 = load i32, ptr %t481 %t483 = call ptr @fn_itoa(i32 %t482) store i32 4157, ptr @lp_site %t484 = call ptr @lp_str_concat(ptr %t479, ptr %t483) store i32 0, ptr @lp_site call void @lp_free(ptr %t479) store i32 4158, ptr @lp_site %t485 = call ptr @lp_str_concat(ptr %t484, ptr @.str6988) store i32 0, ptr @lp_site call void @lp_free(ptr %t484) %t486 = load ptr, ptr %t371 %t487 = getelementptr inbounds %Cmp_Node, ptr %t486, i32 0, i32 1 %t488 = load ptr, ptr %t487 store i32 4159, ptr @lp_site %t489 = call ptr @lp_str_concat(ptr %t485, ptr %t488) store i32 0, ptr @lp_site call void @lp_free(ptr %t485) store i32 4160, ptr @lp_site %t490 = call ptr @lp_str_concat(ptr %t489, ptr @.str6989) store i32 0, ptr @lp_site call void @lp_free(ptr %t489) %t491 = load ptr, ptr %t466 store i32 4161, ptr @lp_site %t492 = call ptr @lp_str_concat(ptr %t490, ptr %t491) store i32 0, ptr @lp_site call void @lp_free(ptr %t490) call void @fn_deps_line(ptr %t471, ptr %t492) %t493 = load i32, ptr %t230 %t494 = add i32 %t493, 1 store i32 %t494, ptr %t230 br label %ifend94 ifend94: br label %ifend75 ifend75: %t495 = load i32, ptr %t231 %t496 = add i32 %t495, 1 store i32 %t496, ptr %t231 br label %wcond46 wend48: %t497 = load ptr, ptr %t0 %t498 = load i32, ptr %t230 %t499 = call ptr @fn_itoa(i32 %t498) store i32 4162, ptr @lp_site %t500 = call ptr @lp_str_concat(ptr @.str6990, ptr %t499) store i32 0, ptr @lp_site call void @fn_deps_line(ptr %t497, ptr %t500) br label %ret ret: ret void } define i32 @fn_es_new(i32 %arg_flags) { entry: %retval = alloca i32 %t0 = alloca i32 store i32 %arg_flags, ptr %t0 %t1 = load ptr, ptr @g_g_es_flag %t2 = load i32, 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 i32, 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 store i32 4163, ptr @lp_site %t17 = call ptr @lp_realloc(ptr %t16, i64 %t15) store i32 0, ptr @lp_site store ptr %t17, ptr %t5 store i32 %t11, ptr %t4 br label %put1 put1: %t18 = load ptr, ptr %t5 %t19 = getelementptr inbounds i32, ptr %t18, i32 %t6 store i32 %t2, ptr %t19 %t20 = add i32 %t6, 1 store i32 %t20, ptr %t3 %t21 = load ptr, ptr @g_g_es_why %t22 = getelementptr inbounds %LSlice, ptr %t21, i32 0, i32 1 %t23 = getelementptr inbounds %LSlice, ptr %t21, i32 0, i32 2 %t24 = getelementptr inbounds %LSlice, ptr %t21, i32 0, i32 0 %t25 = load i32, ptr %t22 %t26 = load i32, ptr %t23 %t27 = icmp sge i32 %t25, %t26 br i1 %t27, label %grow2, label %put3 grow2: %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 store i32 4164, ptr @lp_site %t36 = call ptr @lp_realloc(ptr %t35, i64 %t34) store i32 0, ptr @lp_site store ptr %t36, ptr %t24 store i32 %t30, ptr %t23 br label %put3 put3: %t37 = load ptr, ptr %t24 %t38 = getelementptr inbounds ptr, ptr %t37, i32 %t25 store ptr null, ptr %t38 %t39 = add i32 %t25, 1 store i32 %t39, ptr %t22 %t40 = load ptr, ptr @g_g_es_own %t41 = getelementptr inbounds %LSlice, ptr %t40, i32 0, i32 1 %t42 = getelementptr inbounds %LSlice, ptr %t40, i32 0, i32 2 %t43 = getelementptr inbounds %LSlice, ptr %t40, i32 0, i32 0 %t44 = load i32, ptr %t41 %t45 = load i32, ptr %t42 %t46 = icmp sge i32 %t44, %t45 br i1 %t46, label %grow4, label %put5 grow4: %t47 = mul i32 %t45, 2 %t48 = icmp eq i32 %t45, 0 %t49 = select i1 %t48, i32 8, i32 %t47 %t50 = getelementptr ptr, ptr null, i32 1 %t51 = ptrtoint ptr %t50 to i64 %t52 = zext i32 %t49 to i64 %t53 = mul i64 %t52, %t51 %t54 = load ptr, ptr %t43 store i32 4165, ptr @lp_site %t55 = call ptr @lp_realloc(ptr %t54, i64 %t53) store i32 0, ptr @lp_site store ptr %t55, ptr %t43 store i32 %t49, ptr %t42 br label %put5 put5: %t56 = load ptr, ptr %t43 %t57 = getelementptr inbounds ptr, ptr %t56, i32 %t44 store ptr null, ptr %t57 %t58 = add i32 %t44, 1 store i32 %t58, ptr %t41 %t59 = load ptr, ptr @g_g_es_flag %t60 = getelementptr inbounds %LSlice, ptr %t59, i32 0, i32 1 %t61 = load i32, ptr %t60 %t62 = sub i32 %t61, 1 store i32 %t62, ptr %retval br label %ret ret: %t63 = load i32, ptr %retval ret i32 %t63 } define void @fn_es_flow(i32 %arg_a, i32 %arg_b) { entry: %t0 = alloca i32 %t1 = alloca i32 %t2 = alloca i32 store i32 %arg_a, ptr %t0 store i32 %arg_b, ptr %t1 %t3 = load i32, ptr %t0 %t4 = icmp sge i32 %t3, 0 %t5 = zext i1 %t4 to i32 %t6 = icmp ne i32 %t5, 0 %t7 = zext i1 %t6 to i32 store i32 %t7, ptr %t2 br i1 %t6, label %sc0, label %scend1 sc0: %t8 = load i32, ptr %t1 %t9 = icmp sge i32 %t8, 0 %t10 = zext i1 %t9 to i32 %t11 = icmp ne i32 %t10, 0 %t12 = zext i1 %t11 to i32 store i32 %t12, ptr %t2 br label %scend1 scend1: %t13 = load i32, ptr %t2 %t14 = icmp ne i32 %t13, 0 br i1 %t14, label %then2, label %ifend4 then2: %t15 = load ptr, ptr @g_g_es_ff %t16 = load i32, ptr %t0 %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 %grow5, label %put6 grow5: %t23 = mul i32 %t21, 2 %t24 = icmp eq i32 %t21, 0 %t25 = select i1 %t24, i32 8, i32 %t23 %t26 = getelementptr i32, 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 store i32 4166, ptr @lp_site %t31 = call ptr @lp_realloc(ptr %t30, i64 %t29) store i32 0, ptr @lp_site store ptr %t31, ptr %t19 store i32 %t25, ptr %t18 br label %put6 put6: %t32 = load ptr, ptr %t19 %t33 = getelementptr inbounds i32, ptr %t32, i32 %t20 store i32 %t16, ptr %t33 %t34 = add i32 %t20, 1 store i32 %t34, ptr %t17 %t35 = load ptr, ptr @g_g_es_ft %t36 = load i32, ptr %t1 %t37 = getelementptr inbounds %LSlice, ptr %t35, i32 0, i32 1 %t38 = getelementptr inbounds %LSlice, ptr %t35, i32 0, i32 2 %t39 = getelementptr inbounds %LSlice, ptr %t35, i32 0, i32 0 %t40 = load i32, ptr %t37 %t41 = load i32, ptr %t38 %t42 = icmp sge i32 %t40, %t41 br i1 %t42, label %grow7, label %put8 grow7: %t43 = mul i32 %t41, 2 %t44 = icmp eq i32 %t41, 0 %t45 = select i1 %t44, i32 8, i32 %t43 %t46 = getelementptr i32, ptr null, i32 1 %t47 = ptrtoint ptr %t46 to i64 %t48 = zext i32 %t45 to i64 %t49 = mul i64 %t48, %t47 %t50 = load ptr, ptr %t39 store i32 4167, ptr @lp_site %t51 = call ptr @lp_realloc(ptr %t50, i64 %t49) store i32 0, ptr @lp_site store ptr %t51, ptr %t39 store i32 %t45, ptr %t38 br label %put8 put8: %t52 = load ptr, ptr %t39 %t53 = getelementptr inbounds i32, ptr %t52, i32 %t40 store i32 %t36, ptr %t53 %t54 = add i32 %t40, 1 store i32 %t54, ptr %t37 br label %ifend4 ifend4: br label %ret ret: ret void } define void @fn_es_store(i32 %arg_v, i32 %arg_t) { entry: %t0 = alloca i32 %t1 = alloca i32 store i32 %arg_v, ptr %t0 store i32 %arg_t, ptr %t1 %t2 = load i32, ptr %t0 %t3 = icmp slt i32 %t2, 0 %t4 = zext i1 %t3 to i32 %t5 = icmp ne i32 %t4, 0 br i1 %t5, label %then0, label %ifend2 then0: br label %ret ifend2: %t6 = load i32, ptr %t1 %t7 = icmp slt i32 %t6, 0 %t8 = zext i1 %t7 to i32 %t9 = icmp ne i32 %t8, 0 br i1 %t9, label %then3, label %ifend5 then3: %t10 = load i32, ptr %t0 call void @fn_es_escape(i32 %t10) br label %ret ifend5: %t11 = load ptr, ptr @g_g_es_sv %t12 = load i32, ptr %t0 %t13 = getelementptr inbounds %LSlice, ptr %t11, i32 0, i32 1 %t14 = getelementptr inbounds %LSlice, ptr %t11, i32 0, i32 2 %t15 = getelementptr inbounds %LSlice, ptr %t11, i32 0, i32 0 %t16 = load i32, ptr %t13 %t17 = load i32, ptr %t14 %t18 = icmp sge i32 %t16, %t17 br i1 %t18, label %grow6, label %put7 grow6: %t19 = mul i32 %t17, 2 %t20 = icmp eq i32 %t17, 0 %t21 = select i1 %t20, i32 8, i32 %t19 %t22 = getelementptr i32, ptr null, i32 1 %t23 = ptrtoint ptr %t22 to i64 %t24 = zext i32 %t21 to i64 %t25 = mul i64 %t24, %t23 %t26 = load ptr, ptr %t15 store i32 4168, ptr @lp_site %t27 = call ptr @lp_realloc(ptr %t26, i64 %t25) store i32 0, ptr @lp_site store ptr %t27, ptr %t15 store i32 %t21, ptr %t14 br label %put7 put7: %t28 = load ptr, ptr %t15 %t29 = getelementptr inbounds i32, ptr %t28, i32 %t16 store i32 %t12, ptr %t29 %t30 = add i32 %t16, 1 store i32 %t30, ptr %t13 %t31 = load ptr, ptr @g_g_es_st %t32 = load i32, ptr %t1 %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 %grow8, label %put9 grow8: %t39 = mul i32 %t37, 2 %t40 = icmp eq i32 %t37, 0 %t41 = select i1 %t40, i32 8, i32 %t39 %t42 = getelementptr i32, 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 store i32 4169, ptr @lp_site %t47 = call ptr @lp_realloc(ptr %t46, i64 %t45) store i32 0, ptr @lp_site store ptr %t47, ptr %t35 store i32 %t41, ptr %t34 br label %put9 put9: %t48 = load ptr, ptr %t35 %t49 = getelementptr inbounds i32, ptr %t48, i32 %t36 store i32 %t32, ptr %t49 %t50 = add i32 %t36, 1 store i32 %t50, ptr %t33 %t51 = load ptr, ptr @g_g_es_swhy %t52 = load ptr, ptr @g_g_es_stmt %t53 = getelementptr inbounds %LSlice, ptr %t51, i32 0, i32 1 %t54 = getelementptr inbounds %LSlice, ptr %t51, i32 0, i32 2 %t55 = getelementptr inbounds %LSlice, ptr %t51, i32 0, i32 0 %t56 = load i32, ptr %t53 %t57 = load i32, ptr %t54 %t58 = icmp sge i32 %t56, %t57 br i1 %t58, label %grow10, label %put11 grow10: %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 store i32 4170, ptr @lp_site %t67 = call ptr @lp_realloc(ptr %t66, i64 %t65) store i32 0, ptr @lp_site store ptr %t67, ptr %t55 store i32 %t61, ptr %t54 br label %put11 put11: %t68 = load ptr, ptr %t55 %t69 = getelementptr inbounds ptr, ptr %t68, i32 %t56 store ptr %t52, ptr %t69 %t70 = add i32 %t56, 1 store i32 %t70, ptr %t53 br label %ret ret: ret void } define void @fn_es_escape(i32 %arg_v) { entry: %t0 = alloca i32 store i32 %arg_v, ptr %t0 %t1 = load i32, ptr %t0 %t2 = icmp slt 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 ptr, ptr @g_g_es_flag %t6 = load i32, ptr %t0 %t7 = getelementptr inbounds %LSlice, ptr %t5, i32 0, i32 0 %t8 = load ptr, ptr %t7 %t9 = getelementptr inbounds %LSlice, ptr %t5, i32 0, i32 1 %t10 = load i32, ptr %t9 %t11 = icmp ult i32 %t6, %t10 br i1 %t11, label %ixok3, label %ixbad4 ixbad4: store i32 4171, ptr @lp_site %t12 = call ptr @lp_win_stdio(i32 2) store i32 0, ptr @lp_site call i32 (ptr, ptr, ...) @fprintf(ptr %t12, ptr @.fmt_bounds, ptr @.str6994, i32 %t6, i32 %t10) call void @exit(i32 1) unreachable ixok3: %t13 = getelementptr inbounds i32, ptr %t8, i32 %t6 %t14 = load ptr, ptr @g_g_es_flag %t15 = load i32, ptr %t0 %t16 = getelementptr inbounds %LSlice, ptr %t14, i32 0, i32 0 %t17 = load ptr, ptr %t16 %t18 = getelementptr inbounds %LSlice, ptr %t14, i32 0, i32 1 %t19 = load i32, ptr %t18 %t20 = icmp ult i32 %t15, %t19 br i1 %t20, label %ixok5, label %ixbad6 ixbad6: store i32 4172, ptr @lp_site %t21 = call ptr @lp_win_stdio(i32 2) store i32 0, ptr @lp_site call i32 (ptr, ptr, ...) @fprintf(ptr %t21, ptr @.fmt_bounds, ptr @.str6996, i32 %t15, i32 %t19) call void @exit(i32 1) unreachable ixok5: %t22 = getelementptr inbounds i32, ptr %t17, i32 %t15 %t23 = load i32, ptr %t22 %t24 = or i32 %t23, 1 store i32 %t24, ptr %t13 %t25 = load ptr, ptr @g_g_es_why %t26 = load i32, ptr %t0 %t27 = getelementptr inbounds %LSlice, ptr %t25, i32 0, i32 0 %t28 = load ptr, ptr %t27 %t29 = getelementptr inbounds %LSlice, ptr %t25, i32 0, i32 1 %t30 = load i32, ptr %t29 %t31 = icmp ult i32 %t26, %t30 br i1 %t31, label %ixok7, label %ixbad8 ixbad8: store i32 4173, ptr @lp_site %t32 = call ptr @lp_win_stdio(i32 2) store i32 0, ptr @lp_site call i32 (ptr, ptr, ...) @fprintf(ptr %t32, ptr @.fmt_bounds, ptr @.str6997, i32 %t26, i32 %t30) call void @exit(i32 1) unreachable ixok7: %t33 = getelementptr inbounds ptr, ptr %t28, i32 %t26 %t34 = load ptr, ptr %t33 %t35 = icmp eq ptr %t34, null %t36 = zext i1 %t35 to i32 %t37 = icmp ne i32 %t36, 0 br i1 %t37, label %then9, label %ifend11 then9: %t38 = load ptr, ptr @g_g_es_why %t39 = load i32, ptr %t0 %t40 = getelementptr inbounds %LSlice, ptr %t38, i32 0, i32 0 %t41 = load ptr, ptr %t40 %t42 = getelementptr inbounds %LSlice, ptr %t38, i32 0, i32 1 %t43 = load i32, ptr %t42 %t44 = icmp ult i32 %t39, %t43 br i1 %t44, label %ixok12, label %ixbad13 ixbad13: store i32 4174, ptr @lp_site %t45 = call ptr @lp_win_stdio(i32 2) store i32 0, ptr @lp_site call i32 (ptr, ptr, ...) @fprintf(ptr %t45, ptr @.fmt_bounds, ptr @.str6998, i32 %t39, i32 %t43) call void @exit(i32 1) unreachable ixok12: %t46 = getelementptr inbounds ptr, ptr %t41, i32 %t39 %t47 = load ptr, ptr @g_g_es_stmt store ptr %t47, ptr %t46 br label %ifend11 ifend11: br label %ret ret: ret void } define i32 @fn_es_local(ptr %arg_name) { entry: %retval = alloca i32 %t0 = alloca ptr %t5 = alloca i32 store ptr %arg_name, ptr %t0 %t1 = load ptr, ptr @g_g_es_ln %t2 = getelementptr inbounds %LSlice, ptr %t1, i32 0, i32 1 %t3 = load i32, ptr %t2 %t4 = sub i32 %t3, 1 store i32 %t4, ptr %t5 br label %wcond0 wcond0: %t6 = load i32, ptr %t5 %t7 = icmp sge 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 ptr, ptr @g_g_es_ln %t11 = load i32, ptr %t5 %t12 = getelementptr inbounds %LSlice, ptr %t10, i32 0, i32 0 %t13 = load ptr, ptr %t12 %t14 = getelementptr inbounds %LSlice, ptr %t10, i32 0, i32 1 %t15 = load i32, ptr %t14 %t16 = icmp ult i32 %t11, %t15 br i1 %t16, label %ixok3, label %ixbad4 ixbad4: store i32 4175, ptr @lp_site %t17 = call ptr @lp_win_stdio(i32 2) store i32 0, ptr @lp_site call i32 (ptr, ptr, ...) @fprintf(ptr %t17, ptr @.fmt_bounds, ptr @.str6999, i32 %t11, i32 %t15) call void @exit(i32 1) unreachable ixok3: %t18 = getelementptr inbounds ptr, ptr %t13, i32 %t11 %t19 = load ptr, ptr %t18 %t20 = load ptr, ptr %t0 %t21 = call i32 @lp_str_eq(ptr %t19, ptr %t20) %t22 = icmp ne i32 %t21, 0 br i1 %t22, label %then5, label %ifend7 then5: %t23 = load ptr, ptr @g_g_es_lc %t24 = load i32, ptr %t5 %t25 = getelementptr inbounds %LSlice, ptr %t23, i32 0, i32 0 %t26 = load ptr, ptr %t25 %t27 = getelementptr inbounds %LSlice, ptr %t23, i32 0, i32 1 %t28 = load i32, ptr %t27 %t29 = icmp ult i32 %t24, %t28 br i1 %t29, label %ixok8, label %ixbad9 ixbad9: store i32 4176, ptr @lp_site %t30 = call ptr @lp_win_stdio(i32 2) store i32 0, ptr @lp_site call i32 (ptr, ptr, ...) @fprintf(ptr %t30, ptr @.fmt_bounds, ptr @.str7001, i32 %t24, i32 %t28) call void @exit(i32 1) unreachable ixok8: %t31 = getelementptr inbounds i32, ptr %t26, i32 %t24 %t32 = load i32, ptr %t31 store i32 %t32, ptr %retval br label %ret ifend7: %t33 = load i32, ptr %t5 %t34 = sub i32 %t33, 1 store i32 %t34, ptr %t5 br label %wcond0 wend2: %t35 = sub i32 0, 1 store i32 %t35, ptr %retval br label %ret ret: %t36 = load i32, ptr %retval ret i32 %t36 } define i32 @fn_es_bind_local(ptr %arg_name) { entry: %retval = alloca i32 %t0 = alloca ptr %t3 = alloca i32 %t10 = alloca i32 store ptr %arg_name, ptr %t0 %t1 = load ptr, ptr %t0 %t2 = call i32 @fn_es_local(ptr %t1) store i32 %t2, ptr %t3 %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 %then0, label %ifend2 then0: %t8 = load i32, ptr %t3 store i32 %t8, ptr %retval br label %ret ifend2: %t9 = call i32 @fn_es_new(i32 0) store i32 %t9, ptr %t10 %t11 = load ptr, ptr @g_g_es_ln %t12 = load ptr, ptr %t0 %t13 = getelementptr inbounds %LSlice, ptr %t11, i32 0, i32 1 %t14 = getelementptr inbounds %LSlice, ptr %t11, i32 0, i32 2 %t15 = getelementptr inbounds %LSlice, ptr %t11, i32 0, i32 0 %t16 = load i32, ptr %t13 %t17 = load i32, ptr %t14 %t18 = icmp sge i32 %t16, %t17 br i1 %t18, label %grow3, label %put4 grow3: %t19 = mul i32 %t17, 2 %t20 = icmp eq i32 %t17, 0 %t21 = select i1 %t20, i32 8, i32 %t19 %t22 = getelementptr ptr, ptr null, i32 1 %t23 = ptrtoint ptr %t22 to i64 %t24 = zext i32 %t21 to i64 %t25 = mul i64 %t24, %t23 %t26 = load ptr, ptr %t15 store i32 4177, ptr @lp_site %t27 = call ptr @lp_realloc(ptr %t26, i64 %t25) store i32 0, ptr @lp_site store ptr %t27, ptr %t15 store i32 %t21, ptr %t14 br label %put4 put4: %t28 = load ptr, ptr %t15 %t29 = getelementptr inbounds ptr, ptr %t28, i32 %t16 store ptr %t12, ptr %t29 %t30 = add i32 %t16, 1 store i32 %t30, ptr %t13 %t31 = load ptr, ptr @g_g_es_lc %t32 = load i32, ptr %t10 %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 %grow5, label %put6 grow5: %t39 = mul i32 %t37, 2 %t40 = icmp eq i32 %t37, 0 %t41 = select i1 %t40, i32 8, i32 %t39 %t42 = getelementptr i32, 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 store i32 4178, ptr @lp_site %t47 = call ptr @lp_realloc(ptr %t46, i64 %t45) store i32 0, ptr @lp_site store ptr %t47, ptr %t35 store i32 %t41, ptr %t34 br label %put6 put6: %t48 = load ptr, ptr %t35 %t49 = getelementptr inbounds i32, ptr %t48, i32 %t36 store i32 %t32, ptr %t49 %t50 = add i32 %t36, 1 store i32 %t50, ptr %t33 %t51 = load ptr, ptr @g_g_es_lt %t52 = getelementptr inbounds %LSlice, ptr %t51, i32 0, i32 1 %t53 = getelementptr inbounds %LSlice, ptr %t51, i32 0, i32 2 %t54 = getelementptr inbounds %LSlice, ptr %t51, i32 0, i32 0 %t55 = load i32, ptr %t52 %t56 = load i32, ptr %t53 %t57 = icmp sge i32 %t55, %t56 br i1 %t57, label %grow7, label %put8 grow7: %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 store i32 4179, ptr @lp_site %t66 = call ptr @lp_realloc(ptr %t65, i64 %t64) store i32 0, ptr @lp_site store ptr %t66, ptr %t54 store i32 %t60, ptr %t53 br label %put8 put8: %t67 = load ptr, ptr %t54 %t68 = getelementptr inbounds ptr, ptr %t67, i32 %t55 store ptr null, ptr %t68 %t69 = add i32 %t55, 1 store i32 %t69, ptr %t52 %t70 = load i32, ptr %t10 store i32 %t70, ptr %retval br label %ret ret: %t71 = load i32, ptr %retval ret i32 %t71 } define i32 @fn_es_prim(ptr %arg_t) { entry: %retval = alloca i32 %t0 = alloca ptr %t5 = alloca i32 %t6 = alloca i32 %t7 = alloca i32 %t8 = alloca i32 %t9 = alloca i32 %t10 = alloca i32 store ptr %arg_t, 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: store i32 0, ptr %retval br label %ret ifend2: %t11 = load ptr, ptr %t0 %t12 = call i32 @lp_str_eq(ptr %t11, ptr @.str7003) %t13 = icmp ne i32 %t12, 0 %t14 = zext i1 %t13 to i32 store i32 %t14, ptr %t10 br i1 %t13, label %scend4, label %sc3 sc3: %t15 = load ptr, ptr %t0 %t16 = call i32 @lp_str_eq(ptr %t15, ptr @.str7004) %t17 = icmp ne i32 %t16, 0 %t18 = zext i1 %t17 to i32 store i32 %t18, ptr %t10 br label %scend4 scend4: %t19 = load i32, ptr %t10 %t20 = icmp ne i32 %t19, 0 %t21 = zext i1 %t20 to i32 store i32 %t21, ptr %t9 br i1 %t20, label %scend6, label %sc5 sc5: %t22 = load ptr, ptr %t0 %t23 = call i32 @lp_str_eq(ptr %t22, ptr @.str7005) %t24 = icmp ne i32 %t23, 0 %t25 = zext i1 %t24 to i32 store i32 %t25, ptr %t9 br label %scend6 scend6: %t26 = load i32, ptr %t9 %t27 = icmp ne i32 %t26, 0 %t28 = zext i1 %t27 to i32 store i32 %t28, ptr %t8 br i1 %t27, label %scend8, label %sc7 sc7: %t29 = load ptr, ptr %t0 %t30 = call i32 @lp_str_eq(ptr %t29, ptr @.str7006) %t31 = icmp ne i32 %t30, 0 %t32 = zext i1 %t31 to i32 store i32 %t32, ptr %t8 br label %scend8 scend8: %t33 = load i32, ptr %t8 %t34 = icmp ne i32 %t33, 0 %t35 = zext i1 %t34 to i32 store i32 %t35, ptr %t7 br i1 %t34, label %scend10, label %sc9 sc9: %t36 = load ptr, ptr %t0 %t37 = call i32 @lp_str_eq(ptr %t36, ptr @.str7007) %t38 = icmp ne i32 %t37, 0 %t39 = zext i1 %t38 to i32 store i32 %t39, ptr %t7 br label %scend10 scend10: %t40 = load i32, ptr %t7 %t41 = icmp ne i32 %t40, 0 %t42 = zext i1 %t41 to i32 store i32 %t42, ptr %t6 br i1 %t41, label %scend12, label %sc11 sc11: %t43 = load ptr, ptr %t0 %t44 = call i32 @lp_str_eq(ptr %t43, ptr @.str7008) %t45 = icmp ne i32 %t44, 0 %t46 = zext i1 %t45 to i32 store i32 %t46, ptr %t6 br label %scend12 scend12: %t47 = load i32, ptr %t6 %t48 = icmp ne i32 %t47, 0 %t49 = zext i1 %t48 to i32 store i32 %t49, ptr %t5 br i1 %t48, label %scend14, label %sc13 sc13: %t50 = load ptr, ptr %t0 %t51 = call i32 @lp_str_eq(ptr %t50, ptr @.str7009) %t52 = icmp ne i32 %t51, 0 %t53 = zext i1 %t52 to i32 store i32 %t53, ptr %t5 br label %scend14 scend14: %t54 = load i32, ptr %t5 store i32 %t54, ptr %retval br label %ret ret: %t55 = load i32, ptr %retval ret i32 %t55 } define ptr @fn_es_elem_of(ptr %arg_t) { entry: %retval = alloca ptr %t0 = alloca ptr %t17 = alloca i32 %t18 = alloca i32 store ptr %arg_t, 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: store ptr null, ptr %retval br label %ret ifend2: %t5 = load ptr, ptr %t0 %t6 = call i32 @lp_str_eq(ptr %t5, ptr @.str7010) %t7 = icmp ne i32 %t6, 0 br i1 %t7, label %then3, label %ifend5 then3: store ptr @.str7011, ptr %retval br label %ret ifend5: %t8 = load ptr, ptr %t0 %t9 = call i32 @lp_str_eq(ptr %t8, ptr @.str7012) %t10 = icmp ne i32 %t9, 0 br i1 %t10, label %then6, label %ifend8 then6: store ptr @.str7013, ptr %retval br label %ret ifend8: %t11 = load ptr, ptr %t0 %t12 = call i32 @lp_str_eq(ptr %t11, ptr @.str7014) %t13 = icmp ne i32 %t12, 0 br i1 %t13, label %then9, label %ifend11 then9: store ptr @.str7015, ptr %retval br label %ret ifend11: %t14 = load ptr, ptr %t0 %t15 = call i32 @lp_str_eq(ptr %t14, ptr @.str7016) %t16 = icmp ne i32 %t15, 0 br i1 %t16, label %then12, label %ifend14 then12: store ptr @.str7017, ptr %retval br label %ret ifend14: %t19 = load ptr, ptr %t0 %t20 = call i64 @strlen(ptr %t19) %t21 = trunc i64 %t20 to i32 %t22 = icmp sgt i32 %t21, 2 %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 %sc15, label %scend16 sc15: %t26 = load ptr, ptr %t0 %t27 = getelementptr inbounds i8, ptr %t26, i32 0 %t28 = load i8, ptr %t27 %t29 = zext i8 %t28 to i32 %t30 = icmp eq i32 %t29, 91 %t31 = zext i1 %t30 to i32 %t32 = icmp ne i32 %t31, 0 %t33 = zext i1 %t32 to i32 store i32 %t33, ptr %t18 br label %scend16 scend16: %t34 = load i32, ptr %t18 %t35 = icmp ne i32 %t34, 0 %t36 = zext i1 %t35 to i32 store i32 %t36, ptr %t17 br i1 %t35, label %sc17, label %scend18 sc17: %t37 = load ptr, ptr %t0 %t38 = getelementptr inbounds i8, ptr %t37, i32 1 %t39 = load i8, ptr %t38 %t40 = zext i8 %t39 to i32 %t41 = icmp eq i32 %t40, 93 %t42 = zext i1 %t41 to i32 %t43 = icmp ne i32 %t42, 0 %t44 = zext i1 %t43 to i32 store i32 %t44, ptr %t17 br label %scend18 scend18: %t45 = load i32, ptr %t17 %t46 = icmp ne i32 %t45, 0 br i1 %t46, label %then19, label %ifend21 then19: %t47 = load ptr, ptr %t0 %t48 = load ptr, ptr %t0 %t49 = call i64 @strlen(ptr %t48) %t50 = trunc i64 %t49 to i32 store i32 4180, ptr @lp_site %t51 = call ptr @lp_str_slice(ptr %t47, i32 2, i32 %t50) store i32 0, ptr @lp_site store ptr %t51, ptr %retval br label %ret ifend21: store ptr null, ptr %retval br label %ret ret: %t52 = load ptr, ptr %retval ret ptr %t52 } define ptr @fn_es_local_ty(ptr %arg_name) { entry: %retval = alloca ptr %t0 = alloca ptr %t5 = alloca i32 store ptr %arg_name, ptr %t0 %t1 = load ptr, ptr @g_g_es_ln %t2 = getelementptr inbounds %LSlice, ptr %t1, i32 0, i32 1 %t3 = load i32, ptr %t2 %t4 = sub i32 %t3, 1 store i32 %t4, ptr %t5 br label %wcond0 wcond0: %t6 = load i32, ptr %t5 %t7 = icmp sge 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 ptr, ptr @g_g_es_ln %t11 = load i32, ptr %t5 %t12 = getelementptr inbounds %LSlice, ptr %t10, i32 0, i32 0 %t13 = load ptr, ptr %t12 %t14 = getelementptr inbounds %LSlice, ptr %t10, i32 0, i32 1 %t15 = load i32, ptr %t14 %t16 = icmp ult i32 %t11, %t15 br i1 %t16, label %ixok3, label %ixbad4 ixbad4: store i32 4181, ptr @lp_site %t17 = call ptr @lp_win_stdio(i32 2) store i32 0, ptr @lp_site call i32 (ptr, ptr, ...) @fprintf(ptr %t17, ptr @.fmt_bounds, ptr @.str7019, i32 %t11, i32 %t15) call void @exit(i32 1) unreachable ixok3: %t18 = getelementptr inbounds ptr, ptr %t13, i32 %t11 %t19 = load ptr, ptr %t18 %t20 = load ptr, ptr %t0 %t21 = call i32 @lp_str_eq(ptr %t19, ptr %t20) %t22 = icmp ne i32 %t21, 0 br i1 %t22, label %then5, label %ifend7 then5: %t23 = load ptr, ptr @g_g_es_lt %t24 = load i32, ptr %t5 %t25 = getelementptr inbounds %LSlice, ptr %t23, i32 0, i32 0 %t26 = load ptr, ptr %t25 %t27 = getelementptr inbounds %LSlice, ptr %t23, i32 0, i32 1 %t28 = load i32, ptr %t27 %t29 = icmp ult i32 %t24, %t28 br i1 %t29, label %ixok8, label %ixbad9 ixbad9: store i32 4182, ptr @lp_site %t30 = call ptr @lp_win_stdio(i32 2) store i32 0, ptr @lp_site call i32 (ptr, ptr, ...) @fprintf(ptr %t30, ptr @.fmt_bounds, ptr @.str7021, i32 %t24, i32 %t28) call void @exit(i32 1) unreachable ixok8: %t31 = getelementptr inbounds ptr, ptr %t26, i32 %t24 %t32 = load ptr, ptr %t31 store ptr %t32, ptr %retval br label %ret ifend7: %t33 = load i32, ptr %t5 %t34 = sub i32 %t33, 1 store i32 %t34, ptr %t5 br label %wcond0 wend2: store ptr null, ptr %retval br label %ret ret: %t35 = load ptr, ptr %retval ret ptr %t35 } define ptr @fn_es_type(ptr %arg_e) { entry: %retval = alloca ptr %t0 = alloca ptr %t8 = alloca i32 %t21 = alloca i32 %t53 = alloca ptr %t69 = alloca ptr %t76 = alloca ptr %t109 = alloca ptr %t110 = alloca i32 %t111 = alloca i32 %t112 = alloca i32 %t113 = alloca i32 %t114 = alloca i32 %t115 = alloca i32 %t116 = alloca i32 %t169 = alloca i32 %t184 = alloca ptr %t189 = alloca i32 %t190 = alloca i32 %t222 = alloca ptr %t229 = alloca i32 %t230 = alloca i32 %t231 = alloca i32 %t232 = alloca i32 %t265 = alloca i32 %t266 = alloca i32 %t267 = alloca i32 %t295 = alloca i32 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: store ptr null, ptr %retval br label %ret ifend2: %t5 = load ptr, ptr %t0 %t6 = getelementptr inbounds %Cmp_Node, ptr %t5, i32 0, i32 0 %t7 = load i32, ptr %t6 store i32 %t7, ptr %t8 %t9 = load i32, ptr %t8 %t10 = icmp eq i32 %t9, 30 %t11 = zext i1 %t10 to i32 %t12 = icmp ne i32 %t11, 0 br i1 %t12, label %then3, label %ifend5 then3: store ptr @.str7022, ptr %retval br label %ret ifend5: %t13 = load i32, ptr %t8 %t14 = icmp eq i32 %t13, 40 %t15 = zext i1 %t14 to i32 %t16 = icmp ne i32 %t15, 0 br i1 %t16, label %then6, label %ifend8 then6: store ptr @.str7023, ptr %retval br label %ret ifend8: %t17 = load i32, ptr %t8 %t18 = icmp eq i32 %t17, 32 %t19 = zext i1 %t18 to i32 %t20 = icmp ne i32 %t19, 0 br i1 %t20, label %then9, label %ifend11 then9: store ptr @.str7024, ptr %retval br label %ret ifend11: %t22 = load i32, ptr %t8 %t23 = icmp eq i32 %t22, 31 %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 %scend13, label %sc12 sc12: %t27 = load i32, ptr %t8 %t28 = icmp eq i32 %t27, 44 %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 %scend13 scend13: %t32 = load i32, ptr %t21 %t33 = icmp ne i32 %t32, 0 br i1 %t33, label %then14, label %ifend16 then14: store ptr @.str7025, ptr %retval br label %ret ifend16: %t34 = load i32, ptr %t8 %t35 = icmp eq i32 %t34, 33 %t36 = zext i1 %t35 to i32 %t37 = icmp ne i32 %t36, 0 br i1 %t37, label %then17, label %ifend19 then17: %t38 = load ptr, ptr %t0 %t39 = getelementptr inbounds %Cmp_Node, ptr %t38, i32 0, i32 1 %t40 = load ptr, ptr %t39 %t41 = call i32 @fn_es_local(ptr %t40) %t42 = icmp sge i32 %t41, 0 %t43 = zext i1 %t42 to i32 %t44 = icmp ne i32 %t43, 0 br i1 %t44, label %then20, label %ifend22 then20: %t45 = load ptr, ptr %t0 %t46 = getelementptr inbounds %Cmp_Node, ptr %t45, i32 0, i32 1 %t47 = load ptr, ptr %t46 %t48 = call ptr @fn_es_local_ty(ptr %t47) store ptr %t48, ptr %retval br label %ret ifend22: %t49 = load ptr, ptr %t0 %t50 = getelementptr inbounds %Cmp_Node, ptr %t49, i32 0, i32 1 %t51 = load ptr, ptr %t50 %t52 = call ptr @fn_find_global(ptr %t51) store ptr %t52, ptr %t53 %t54 = load ptr, ptr %t53 %t55 = icmp ne ptr %t54, null %t56 = zext i1 %t55 to i32 %t57 = icmp ne i32 %t56, 0 br i1 %t57, label %then23, label %ifend25 then23: %t58 = load ptr, ptr %t53 %t59 = getelementptr inbounds %Cmp_Node, ptr %t58, i32 0, i32 3 %t60 = load ptr, ptr %t59 store ptr %t60, ptr %retval br label %ret ifend25: store ptr null, ptr %retval br label %ret ifend19: %t61 = load i32, ptr %t8 %t62 = icmp eq i32 %t61, 35 %t63 = zext i1 %t62 to i32 %t64 = icmp ne i32 %t63, 0 br i1 %t64, label %then26, label %ifend28 then26: %t65 = load ptr, ptr %t0 %t66 = getelementptr inbounds %Cmp_Node, ptr %t65, i32 0, i32 4 %t67 = load ptr, ptr %t66 %t68 = call ptr @fn_es_type(ptr %t67) store ptr %t68, ptr %t69 %t70 = load ptr, ptr %t69 %t71 = icmp ne ptr %t70, null %t72 = zext i1 %t71 to i32 %t73 = icmp ne i32 %t72, 0 br i1 %t73, label %then29, label %ifend31 then29: %t74 = load ptr, ptr %t69 %t75 = call ptr @fn_find_comp(ptr %t74) store ptr %t75, ptr %t76 %t77 = load ptr, ptr %t76 %t78 = icmp ne ptr %t77, null %t79 = zext i1 %t78 to i32 %t80 = icmp ne i32 %t79, 0 br i1 %t80, label %then32, label %ifend34 then32: %t81 = load ptr, ptr %t76 %t82 = load ptr, ptr %t0 %t83 = getelementptr inbounds %Cmp_Node, ptr %t82, i32 0, i32 1 %t84 = load ptr, ptr %t83 %t85 = call ptr @fn_field_type(ptr %t81, ptr %t84) store ptr %t85, ptr %retval br label %ret ifend34: br label %ifend31 ifend31: store ptr null, ptr %retval br label %ret ifend28: %t86 = load i32, ptr %t8 %t87 = icmp eq i32 %t86, 36 %t88 = zext i1 %t87 to i32 %t89 = icmp ne i32 %t88, 0 br i1 %t89, label %then35, label %ifend37 then35: %t90 = load ptr, ptr %t0 %t91 = getelementptr inbounds %Cmp_Node, ptr %t90, i32 0, i32 4 %t92 = load ptr, ptr %t91 %t93 = call ptr @fn_es_type(ptr %t92) %t94 = call ptr @fn_es_elem_of(ptr %t93) store ptr %t94, ptr %retval br label %ret ifend37: %t95 = load i32, ptr %t8 %t96 = icmp eq i32 %t95, 39 %t97 = zext i1 %t96 to i32 %t98 = icmp ne i32 %t97, 0 br i1 %t98, label %then38, label %ifend40 then38: %t99 = load ptr, ptr %t0 %t100 = getelementptr inbounds %Cmp_Node, ptr %t99, i32 0, i32 1 %t101 = load ptr, ptr %t100 store ptr %t101, ptr %retval br label %ret ifend40: %t102 = load i32, ptr %t8 %t103 = icmp eq i32 %t102, 37 %t104 = zext i1 %t103 to i32 %t105 = icmp ne i32 %t104, 0 br i1 %t105, label %then41, label %ifend43 then41: %t106 = load ptr, ptr %t0 %t107 = getelementptr inbounds %Cmp_Node, ptr %t106, i32 0, i32 1 %t108 = load ptr, ptr %t107 store ptr %t108, ptr %t109 %t117 = load ptr, ptr %t109 %t118 = call i32 @lp_str_eq(ptr %t117, ptr @.str7026) %t119 = icmp ne i32 %t118, 0 %t120 = zext i1 %t119 to i32 store i32 %t120, ptr %t116 br i1 %t119, label %scend45, label %sc44 sc44: %t121 = load ptr, ptr %t109 %t122 = call i32 @lp_str_eq(ptr %t121, ptr @.str7027) %t123 = icmp ne i32 %t122, 0 %t124 = zext i1 %t123 to i32 store i32 %t124, ptr %t116 br label %scend45 scend45: %t125 = load i32, ptr %t116 %t126 = icmp ne i32 %t125, 0 %t127 = zext i1 %t126 to i32 store i32 %t127, ptr %t115 br i1 %t126, label %scend47, label %sc46 sc46: %t128 = load ptr, ptr %t109 %t129 = call i32 @lp_str_eq(ptr %t128, ptr @.str7028) %t130 = icmp ne i32 %t129, 0 %t131 = zext i1 %t130 to i32 store i32 %t131, ptr %t115 br label %scend47 scend47: %t132 = load i32, ptr %t115 %t133 = icmp ne i32 %t132, 0 %t134 = zext i1 %t133 to i32 store i32 %t134, ptr %t114 br i1 %t133, label %scend49, label %sc48 sc48: %t135 = load ptr, ptr %t109 %t136 = call i32 @lp_str_eq(ptr %t135, ptr @.str7029) %t137 = icmp ne i32 %t136, 0 %t138 = zext i1 %t137 to i32 store i32 %t138, ptr %t114 br label %scend49 scend49: %t139 = load i32, ptr %t114 %t140 = icmp ne i32 %t139, 0 %t141 = zext i1 %t140 to i32 store i32 %t141, ptr %t113 br i1 %t140, label %scend51, label %sc50 sc50: %t142 = load ptr, ptr %t109 %t143 = call i32 @lp_str_eq(ptr %t142, ptr @.str7030) %t144 = icmp ne i32 %t143, 0 %t145 = zext i1 %t144 to i32 store i32 %t145, ptr %t113 br label %scend51 scend51: %t146 = load i32, ptr %t113 %t147 = icmp ne i32 %t146, 0 %t148 = zext i1 %t147 to i32 store i32 %t148, ptr %t112 br i1 %t147, label %scend53, label %sc52 sc52: %t149 = load ptr, ptr %t109 %t150 = call i32 @lp_str_eq(ptr %t149, ptr @.str7031) %t151 = icmp ne i32 %t150, 0 %t152 = zext i1 %t151 to i32 store i32 %t152, ptr %t112 br label %scend53 scend53: %t153 = load i32, ptr %t112 %t154 = icmp ne i32 %t153, 0 %t155 = zext i1 %t154 to i32 store i32 %t155, ptr %t111 br i1 %t154, label %scend55, label %sc54 sc54: %t156 = load ptr, ptr %t109 %t157 = call i32 @lp_str_eq(ptr %t156, ptr @.str7032) %t158 = icmp ne i32 %t157, 0 %t159 = zext i1 %t158 to i32 store i32 %t159, ptr %t111 br label %scend55 scend55: %t160 = load i32, ptr %t111 %t161 = icmp ne i32 %t160, 0 %t162 = zext i1 %t161 to i32 store i32 %t162, ptr %t110 br i1 %t161, label %scend57, label %sc56 sc56: %t163 = load ptr, ptr %t109 %t164 = call i32 @lp_str_eq(ptr %t163, ptr @.str7033) %t165 = icmp ne i32 %t164, 0 %t166 = zext i1 %t165 to i32 store i32 %t166, ptr %t110 br label %scend57 scend57: %t167 = load i32, ptr %t110 %t168 = icmp ne i32 %t167, 0 br i1 %t168, label %then58, label %ifend60 then58: store ptr @.str7034, ptr %retval br label %ret ifend60: %t170 = load ptr, ptr %t109 %t171 = call i32 @lp_str_eq(ptr %t170, ptr @.str7035) %t172 = icmp ne i32 %t171, 0 %t173 = zext i1 %t172 to i32 store i32 %t173, ptr %t169 br i1 %t172, label %sc61, label %scend62 sc61: %t174 = load ptr, ptr %t0 %t175 = call i32 @fn_fr_is_textish(ptr %t174) %t176 = icmp ne i32 %t175, 0 %t177 = zext i1 %t176 to i32 store i32 %t177, ptr %t169 br label %scend62 scend62: %t178 = load i32, ptr %t169 %t179 = icmp ne i32 %t178, 0 br i1 %t179, label %then63, label %ifend65 then63: store ptr @.str7036, ptr %retval br label %ret ifend65: %t180 = load ptr, ptr %t0 %t181 = getelementptr inbounds %Cmp_Node, ptr %t180, i32 0, i32 4 %t182 = load ptr, ptr %t181 %t183 = call ptr @fn_es_type(ptr %t182) store ptr %t183, ptr %t184 %t185 = load ptr, ptr %t184 %t186 = call i32 @fn_es_prim(ptr %t185) %t187 = icmp ne i32 %t186, 0 br i1 %t187, label %then66, label %ifend68 then66: %t188 = load ptr, ptr %t184 store ptr %t188, ptr %retval br label %ret ifend68: store ptr null, ptr %retval br label %ret ifend43: %t191 = load i32, ptr %t8 %t192 = icmp eq i32 %t191, 34 %t193 = zext i1 %t192 to i32 %t194 = icmp ne i32 %t193, 0 %t195 = zext i1 %t194 to i32 store i32 %t195, ptr %t190 br i1 %t194, label %sc69, label %scend70 sc69: %t196 = load ptr, ptr %t0 %t197 = getelementptr inbounds %Cmp_Node, ptr %t196, i32 0, i32 4 %t198 = load ptr, ptr %t197 %t199 = icmp ne ptr %t198, null %t200 = zext i1 %t199 to i32 %t201 = icmp ne i32 %t200, 0 %t202 = zext i1 %t201 to i32 store i32 %t202, ptr %t190 br label %scend70 scend70: %t203 = load i32, ptr %t190 %t204 = icmp ne i32 %t203, 0 %t205 = zext i1 %t204 to i32 store i32 %t205, ptr %t189 br i1 %t204, label %sc71, label %scend72 sc71: %t206 = load ptr, ptr %t0 %t207 = getelementptr inbounds %Cmp_Node, ptr %t206, i32 0, i32 4 %t208 = load ptr, ptr %t207 %t209 = getelementptr inbounds %Cmp_Node, ptr %t208, i32 0, i32 0 %t210 = load i32, ptr %t209 %t211 = icmp eq i32 %t210, 33 %t212 = zext i1 %t211 to i32 %t213 = icmp ne i32 %t212, 0 %t214 = zext i1 %t213 to i32 store i32 %t214, ptr %t189 br label %scend72 scend72: %t215 = load i32, ptr %t189 %t216 = icmp ne i32 %t215, 0 br i1 %t216, label %then73, label %ifend75 then73: %t217 = load ptr, ptr %t0 %t218 = getelementptr inbounds %Cmp_Node, ptr %t217, i32 0, i32 4 %t219 = load ptr, ptr %t218 %t220 = getelementptr inbounds %Cmp_Node, ptr %t219, i32 0, i32 1 %t221 = load ptr, ptr %t220 store ptr %t221, ptr %t222 %t223 = load ptr, ptr %t222 %t224 = call i32 @lp_str_eq(ptr %t223, ptr @.str7037) %t225 = icmp ne i32 %t224, 0 br i1 %t225, label %then76, label %ifend78 then76: store ptr @.str7038, ptr %retval br label %ret ifend78: %t226 = load ptr, ptr %t222 %t227 = call i32 @lp_str_eq(ptr %t226, ptr @.str7039) %t228 = icmp ne i32 %t227, 0 br i1 %t228, label %then79, label %ifend81 then79: store ptr @.str7040, ptr %retval br label %ret ifend81: %t233 = load ptr, ptr %t222 %t234 = call i32 @lp_str_eq(ptr %t233, ptr @.str7041) %t235 = icmp ne i32 %t234, 0 %t236 = zext i1 %t235 to i32 store i32 %t236, ptr %t232 br i1 %t235, label %scend83, label %sc82 sc82: %t237 = load ptr, ptr %t222 %t238 = call i32 @lp_str_eq(ptr %t237, ptr @.str7042) %t239 = icmp ne i32 %t238, 0 %t240 = zext i1 %t239 to i32 store i32 %t240, ptr %t232 br label %scend83 scend83: %t241 = load i32, ptr %t232 %t242 = icmp ne i32 %t241, 0 %t243 = zext i1 %t242 to i32 store i32 %t243, ptr %t231 br i1 %t242, label %scend85, label %sc84 sc84: %t244 = load ptr, ptr %t222 %t245 = call i32 @lp_str_eq(ptr %t244, ptr @.str7043) %t246 = icmp ne i32 %t245, 0 %t247 = zext i1 %t246 to i32 store i32 %t247, ptr %t231 br label %scend85 scend85: %t248 = load i32, ptr %t231 %t249 = icmp ne i32 %t248, 0 %t250 = zext i1 %t249 to i32 store i32 %t250, ptr %t230 br i1 %t249, label %scend87, label %sc86 sc86: %t251 = load ptr, ptr %t222 %t252 = call i32 @lp_str_eq(ptr %t251, ptr @.str7044) %t253 = icmp ne i32 %t252, 0 %t254 = zext i1 %t253 to i32 store i32 %t254, ptr %t230 br label %scend87 scend87: %t255 = load i32, ptr %t230 %t256 = icmp ne i32 %t255, 0 %t257 = zext i1 %t256 to i32 store i32 %t257, ptr %t229 br i1 %t256, label %scend89, label %sc88 sc88: %t258 = load ptr, ptr %t222 %t259 = call i32 @lp_str_eq(ptr %t258, ptr @.str7045) %t260 = icmp ne i32 %t259, 0 %t261 = zext i1 %t260 to i32 store i32 %t261, ptr %t229 br label %scend89 scend89: %t262 = load i32, ptr %t229 %t263 = icmp ne i32 %t262, 0 br i1 %t263, label %then90, label %ifend92 then90: %t264 = load ptr, ptr %t222 store ptr %t264, ptr %retval br label %ret ifend92: %t268 = load ptr, ptr %t222 %t269 = call i32 @lp_str_eq(ptr %t268, ptr @.str7046) %t270 = icmp ne i32 %t269, 0 %t271 = zext i1 %t270 to i32 store i32 %t271, ptr %t267 br i1 %t270, label %scend94, label %sc93 sc93: %t272 = load ptr, ptr %t222 %t273 = call i32 @lp_str_eq(ptr %t272, ptr @.str7047) %t274 = icmp ne i32 %t273, 0 %t275 = zext i1 %t274 to i32 store i32 %t275, ptr %t267 br label %scend94 scend94: %t276 = load i32, ptr %t267 %t277 = icmp ne i32 %t276, 0 %t278 = zext i1 %t277 to i32 store i32 %t278, ptr %t266 br i1 %t277, label %scend96, label %sc95 sc95: %t279 = load ptr, ptr %t222 %t280 = call i32 @lp_str_eq(ptr %t279, ptr @.str7048) %t281 = icmp ne i32 %t280, 0 %t282 = zext i1 %t281 to i32 store i32 %t282, ptr %t266 br label %scend96 scend96: %t283 = load i32, ptr %t266 %t284 = icmp ne i32 %t283, 0 %t285 = zext i1 %t284 to i32 store i32 %t285, ptr %t265 br i1 %t284, label %scend98, label %sc97 sc97: %t286 = load ptr, ptr %t222 %t287 = call i32 @lp_str_eq(ptr %t286, ptr @.str7049) %t288 = icmp ne i32 %t287, 0 %t289 = zext i1 %t288 to i32 store i32 %t289, ptr %t265 br label %scend98 scend98: %t290 = load i32, ptr %t265 %t291 = icmp ne i32 %t290, 0 br i1 %t291, label %then99, label %ifend101 then99: %t292 = load ptr, ptr %t222 store ptr %t292, ptr %retval br label %ret ifend101: %t293 = load ptr, ptr %t222 %t294 = call i32 @fn_es_fn(ptr %t293) store i32 %t294, ptr %t295 %t296 = load i32, ptr %t295 %t297 = icmp sge i32 %t296, 0 %t298 = zext i1 %t297 to i32 %t299 = icmp ne i32 %t298, 0 br i1 %t299, label %then102, label %ifend104 then102: %t300 = load ptr, ptr @g_g_es_fnode %t301 = load i32, ptr %t295 %t302 = getelementptr inbounds %LSlice, ptr %t300, i32 0, i32 0 %t303 = load ptr, ptr %t302 %t304 = getelementptr inbounds %LSlice, ptr %t300, i32 0, i32 1 %t305 = load i32, ptr %t304 %t306 = icmp ult i32 %t301, %t305 br i1 %t306, label %ixok105, label %ixbad106 ixbad106: store i32 4183, ptr @lp_site %t307 = call ptr @lp_win_stdio(i32 2) store i32 0, ptr @lp_site call i32 (ptr, ptr, ...) @fprintf(ptr %t307, ptr @.fmt_bounds, ptr @.str7050, i32 %t301, i32 %t305) call void @exit(i32 1) unreachable ixok105: %t308 = getelementptr inbounds ptr, ptr %t303, i32 %t301 %t309 = load ptr, ptr %t308 %t310 = getelementptr inbounds %Cmp_Node, ptr %t309, i32 0, i32 3 %t311 = load ptr, ptr %t310 store ptr %t311, ptr %retval br label %ret ifend104: br label %ifend75 ifend75: store ptr null, ptr %retval br label %ret ret: %t312 = load ptr, ptr %retval ret ptr %t312 } define i32 @fn_es_local_class(i32 %arg_c, i32 %arg_grow) { entry: %retval = alloca i32 %t0 = alloca i32 %t1 = alloca i32 %t16 = alloca i32 store i32 %arg_c, ptr %t0 store i32 %arg_grow, ptr %t1 %t2 = load ptr, ptr @g_g_es_flag %t3 = load i32, ptr %t0 %t4 = getelementptr inbounds %LSlice, ptr %t2, i32 0, i32 0 %t5 = load ptr, ptr %t4 %t6 = getelementptr inbounds %LSlice, ptr %t2, i32 0, i32 1 %t7 = load i32, ptr %t6 %t8 = icmp ult i32 %t3, %t7 br i1 %t8, label %ixok0, label %ixbad1 ixbad1: store i32 4184, ptr @lp_site %t9 = call ptr @lp_win_stdio(i32 2) store i32 0, ptr @lp_site call i32 (ptr, ptr, ...) @fprintf(ptr %t9, ptr @.fmt_bounds, ptr @.str7052, i32 %t3, i32 %t7) call void @exit(i32 1) unreachable ixok0: %t10 = getelementptr inbounds i32, ptr %t5, i32 %t3 %t11 = load i32, ptr %t10 %t12 = and i32 %t11, 1 %t13 = icmp ne i32 %t12, 0 %t14 = zext i1 %t13 to i32 %t15 = icmp ne i32 %t14, 0 br i1 %t15, label %then2, label %ifend4 then2: store i32 0, ptr %retval br label %ret ifend4: %t17 = load i32, ptr %t1 %t18 = icmp ne i32 %t17, 0 %t19 = zext i1 %t18 to i32 store i32 %t19, ptr %t16 br i1 %t18, label %sc5, label %scend6 sc5: %t20 = load ptr, ptr @g_g_es_flag %t21 = load i32, ptr %t0 %t22 = getelementptr inbounds %LSlice, ptr %t20, i32 0, i32 0 %t23 = load ptr, ptr %t22 %t24 = getelementptr inbounds %LSlice, ptr %t20, i32 0, i32 1 %t25 = load i32, ptr %t24 %t26 = icmp ult i32 %t21, %t25 br i1 %t26, label %ixok7, label %ixbad8 ixbad8: store i32 4185, ptr @lp_site %t27 = call ptr @lp_win_stdio(i32 2) store i32 0, ptr @lp_site call i32 (ptr, ptr, ...) @fprintf(ptr %t27, ptr @.fmt_bounds, ptr @.str7054, i32 %t21, i32 %t25) call void @exit(i32 1) unreachable ixok7: %t28 = getelementptr inbounds i32, ptr %t23, i32 %t21 %t29 = load i32, ptr %t28 %t30 = and i32 %t29, 2 %t31 = icmp ne i32 %t30, 0 %t32 = zext i1 %t31 to i32 %t33 = icmp ne i32 %t32, 0 %t34 = zext i1 %t33 to i32 store i32 %t34, ptr %t16 br label %scend6 scend6: %t35 = load i32, ptr %t16 %t36 = icmp ne i32 %t35, 0 br i1 %t36, label %then9, label %ifend11 then9: store i32 0, ptr %retval br label %ret ifend11: store i32 1, ptr %retval br label %ret ret: %t37 = load i32, ptr %retval ret i32 %t37 } define i32 @fn_es_ref(ptr %arg_e) { entry: %retval = alloca i32 %t0 = alloca ptr %t3 = alloca i32 store ptr %arg_e, ptr %t0 %t1 = load ptr, ptr %t0 %t2 = call i32 @fn_es_val(ptr %t1) store i32 %t2, ptr %t3 %t4 = load ptr, ptr %t0 %t5 = call ptr @fn_es_type(ptr %t4) %t6 = call i32 @fn_es_prim(ptr %t5) %t7 = icmp ne i32 %t6, 0 br i1 %t7, label %then0, label %ifend2 then0: %t8 = sub i32 0, 1 store i32 %t8, ptr %retval br label %ret ifend2: %t9 = load i32, ptr %t3 store i32 %t9, ptr %retval br label %ret ret: %t10 = load i32, ptr %retval ret i32 %t10 } define i32 @fn_es_fn(ptr %arg_name) { entry: %retval = alloca i32 %t0 = alloca ptr %t5 = alloca ptr store ptr %arg_name, ptr %t0 %t1 = load ptr, ptr @g_g_es_fk %t2 = load ptr, ptr @g_g_es_fv %t3 = load ptr, ptr %t0 %t4 = call ptr @fn_ck_tab_get(ptr %t1, ptr %t2, 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 = sub i32 0, 1 store i32 %t10, ptr %retval br label %ret ifend2: %t11 = load ptr, ptr %t5 %t12 = getelementptr inbounds %Cmp_Node, ptr %t11, i32 0, i32 2 %t13 = load i32, ptr %t12 store i32 %t13, ptr %retval br label %ret ret: %t14 = load i32, ptr %retval ret i32 %t14 } define i32 @fn_es_site(ptr %arg_n) { entry: %retval = alloca i32 %t0 = alloca ptr %t2 = alloca i32 store ptr %arg_n, ptr %t0 %t1 = call i32 @fn_es_new(i32 0) store i32 %t1, ptr %t2 %t3 = load ptr, ptr @g_g_es_site %t4 = load ptr, ptr %t0 %t5 = getelementptr inbounds %LSlice, ptr %t3, i32 0, i32 1 %t6 = getelementptr inbounds %LSlice, ptr %t3, i32 0, i32 2 %t7 = getelementptr inbounds %LSlice, ptr %t3, i32 0, i32 0 %t8 = load i32, ptr %t5 %t9 = load i32, ptr %t6 %t10 = icmp sge i32 %t8, %t9 br i1 %t10, label %grow0, label %put1 grow0: %t11 = mul i32 %t9, 2 %t12 = icmp eq i32 %t9, 0 %t13 = select i1 %t12, i32 8, i32 %t11 %t14 = getelementptr ptr, ptr null, i32 1 %t15 = ptrtoint ptr %t14 to i64 %t16 = zext i32 %t13 to i64 %t17 = mul i64 %t16, %t15 %t18 = load ptr, ptr %t7 store i32 4186, ptr @lp_site %t19 = call ptr @lp_realloc(ptr %t18, i64 %t17) store i32 0, ptr @lp_site store ptr %t19, ptr %t7 store i32 %t13, ptr %t6 br label %put1 put1: %t20 = load ptr, ptr %t7 %t21 = getelementptr inbounds ptr, ptr %t20, i32 %t8 store ptr %t4, ptr %t21 %t22 = add i32 %t8, 1 store i32 %t22, ptr %t5 %t23 = load ptr, ptr @g_g_es_site_cls %t24 = load i32, ptr %t2 %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 %grow2, label %put3 grow2: %t31 = mul i32 %t29, 2 %t32 = icmp eq i32 %t29, 0 %t33 = select i1 %t32, i32 8, i32 %t31 %t34 = getelementptr i32, 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 store i32 4187, ptr @lp_site %t39 = call ptr @lp_realloc(ptr %t38, i64 %t37) store i32 0, ptr @lp_site store ptr %t39, ptr %t27 store i32 %t33, ptr %t26 br label %put3 put3: %t40 = load ptr, ptr %t27 %t41 = getelementptr inbounds i32, ptr %t40, i32 %t28 store i32 %t24, ptr %t41 %t42 = add i32 %t28, 1 store i32 %t42, ptr %t25 %t43 = load ptr, ptr @g_g_es_site_fn %t44 = load i32, ptr @g_g_es_cur %t45 = getelementptr inbounds %LSlice, ptr %t43, i32 0, i32 1 %t46 = getelementptr inbounds %LSlice, ptr %t43, i32 0, i32 2 %t47 = getelementptr inbounds %LSlice, ptr %t43, i32 0, i32 0 %t48 = load i32, ptr %t45 %t49 = load i32, ptr %t46 %t50 = icmp sge i32 %t48, %t49 br i1 %t50, label %grow4, label %put5 grow4: %t51 = mul i32 %t49, 2 %t52 = icmp eq i32 %t49, 0 %t53 = select i1 %t52, i32 8, i32 %t51 %t54 = getelementptr i32, ptr null, i32 1 %t55 = ptrtoint ptr %t54 to i64 %t56 = zext i32 %t53 to i64 %t57 = mul i64 %t56, %t55 %t58 = load ptr, ptr %t47 store i32 4188, ptr @lp_site %t59 = call ptr @lp_realloc(ptr %t58, i64 %t57) store i32 0, ptr @lp_site store ptr %t59, ptr %t47 store i32 %t53, ptr %t46 br label %put5 put5: %t60 = load ptr, ptr %t47 %t61 = getelementptr inbounds i32, ptr %t60, i32 %t48 store i32 %t44, ptr %t61 %t62 = add i32 %t48, 1 store i32 %t62, ptr %t45 %t63 = load ptr, ptr @g_g_es_site_aok %t64 = load i32, ptr @g_g_es_aok %t65 = icmp sgt i32 %t64, 0 %t66 = zext i1 %t65 to i32 %t67 = getelementptr inbounds %LSlice, ptr %t63, i32 0, i32 1 %t68 = getelementptr inbounds %LSlice, ptr %t63, i32 0, i32 2 %t69 = getelementptr inbounds %LSlice, ptr %t63, i32 0, i32 0 %t70 = load i32, ptr %t67 %t71 = load i32, ptr %t68 %t72 = icmp sge i32 %t70, %t71 br i1 %t72, label %grow6, label %put7 grow6: %t73 = mul i32 %t71, 2 %t74 = icmp eq i32 %t71, 0 %t75 = select i1 %t74, i32 8, i32 %t73 %t76 = getelementptr i32, ptr null, i32 1 %t77 = ptrtoint ptr %t76 to i64 %t78 = zext i32 %t75 to i64 %t79 = mul i64 %t78, %t77 %t80 = load ptr, ptr %t69 store i32 4189, ptr @lp_site %t81 = call ptr @lp_realloc(ptr %t80, i64 %t79) store i32 0, ptr @lp_site store ptr %t81, ptr %t69 store i32 %t75, ptr %t68 br label %put7 put7: %t82 = load ptr, ptr %t69 %t83 = getelementptr inbounds i32, ptr %t82, i32 %t70 store i32 %t66, ptr %t83 %t84 = add i32 %t70, 1 store i32 %t84, ptr %t67 %t85 = load ptr, ptr @g_g_es_site_grow %t86 = getelementptr inbounds %LSlice, ptr %t85, i32 0, i32 1 %t87 = getelementptr inbounds %LSlice, ptr %t85, i32 0, i32 2 %t88 = getelementptr inbounds %LSlice, ptr %t85, i32 0, i32 0 %t89 = load i32, ptr %t86 %t90 = load i32, ptr %t87 %t91 = icmp sge i32 %t89, %t90 br i1 %t91, label %grow8, label %put9 grow8: %t92 = mul i32 %t90, 2 %t93 = icmp eq i32 %t90, 0 %t94 = select i1 %t93, i32 8, i32 %t92 %t95 = getelementptr i32, 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 store i32 4190, ptr @lp_site %t100 = call ptr @lp_realloc(ptr %t99, i64 %t98) store i32 0, ptr @lp_site store ptr %t100, ptr %t88 store i32 %t94, ptr %t87 br label %put9 put9: %t101 = load ptr, ptr %t88 %t102 = getelementptr inbounds i32, ptr %t101, i32 %t89 store i32 0, ptr %t102 %t103 = add i32 %t89, 1 store i32 %t103, ptr %t86 %t104 = load i32, ptr %t2 store i32 %t104, ptr %retval br label %ret ret: %t105 = load i32, ptr %retval ret i32 %t105 } define i32 @fn_es_is_mem_frame(ptr %arg_n) { entry: %retval = alloca i32 %t0 = alloca ptr %t1 = alloca i32 %t2 = alloca i32 %t3 = alloca i32 %t4 = alloca i32 %t5 = alloca i32 %t6 = alloca i32 store ptr %arg_n, ptr %t0 %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, 34 %t11 = zext i1 %t10 to i32 %t12 = icmp ne i32 %t11, 0 %t13 = zext i1 %t12 to i32 store i32 %t13, ptr %t6 br i1 %t12, label %sc0, label %scend1 sc0: %t14 = load ptr, ptr %t0 %t15 = getelementptr inbounds %Cmp_Node, ptr %t14, i32 0, i32 4 %t16 = load ptr, ptr %t15 %t17 = icmp ne ptr %t16, null %t18 = zext i1 %t17 to i32 %t19 = icmp ne i32 %t18, 0 %t20 = zext i1 %t19 to i32 store i32 %t20, ptr %t6 br label %scend1 scend1: %t21 = load i32, ptr %t6 %t22 = icmp ne i32 %t21, 0 %t23 = zext i1 %t22 to i32 store i32 %t23, ptr %t5 br i1 %t22, label %sc2, label %scend3 sc2: %t24 = load ptr, ptr %t0 %t25 = getelementptr inbounds %Cmp_Node, ptr %t24, i32 0, i32 4 %t26 = load ptr, ptr %t25 %t27 = getelementptr inbounds %Cmp_Node, ptr %t26, i32 0, i32 0 %t28 = load i32, ptr %t27 %t29 = icmp eq i32 %t28, 35 %t30 = zext i1 %t29 to i32 %t31 = icmp ne i32 %t30, 0 %t32 = zext i1 %t31 to i32 store i32 %t32, ptr %t5 br label %scend3 scend3: %t33 = load i32, ptr %t5 %t34 = icmp ne i32 %t33, 0 %t35 = zext i1 %t34 to i32 store i32 %t35, ptr %t4 br i1 %t34, label %sc4, label %scend5 sc4: %t36 = load ptr, ptr %t0 %t37 = getelementptr inbounds %Cmp_Node, ptr %t36, i32 0, i32 4 %t38 = load ptr, ptr %t37 %t39 = getelementptr inbounds %Cmp_Node, ptr %t38, i32 0, i32 4 %t40 = load ptr, ptr %t39 %t41 = icmp ne ptr %t40, null %t42 = zext i1 %t41 to i32 %t43 = icmp ne i32 %t42, 0 %t44 = zext i1 %t43 to i32 store i32 %t44, ptr %t4 br label %scend5 scend5: %t45 = load i32, ptr %t4 %t46 = icmp ne i32 %t45, 0 %t47 = zext i1 %t46 to i32 store i32 %t47, ptr %t3 br i1 %t46, label %sc6, label %scend7 sc6: %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 4 %t52 = load ptr, ptr %t51 %t53 = getelementptr inbounds %Cmp_Node, ptr %t52, i32 0, i32 0 %t54 = load i32, ptr %t53 %t55 = icmp eq i32 %t54, 33 %t56 = zext i1 %t55 to i32 %t57 = icmp ne i32 %t56, 0 %t58 = zext i1 %t57 to i32 store i32 %t58, ptr %t3 br label %scend7 scend7: %t59 = load i32, ptr %t3 %t60 = icmp ne i32 %t59, 0 %t61 = zext i1 %t60 to i32 store i32 %t61, ptr %t2 br i1 %t60, label %sc8, label %scend9 sc8: %t62 = load ptr, ptr %t0 %t63 = getelementptr inbounds %Cmp_Node, ptr %t62, i32 0, i32 4 %t64 = load ptr, ptr %t63 %t65 = getelementptr inbounds %Cmp_Node, ptr %t64, i32 0, i32 4 %t66 = load ptr, ptr %t65 %t67 = getelementptr inbounds %Cmp_Node, ptr %t66, i32 0, i32 1 %t68 = load ptr, ptr %t67 %t69 = call i32 @lp_str_eq(ptr %t68, ptr @.str7056) %t70 = icmp ne i32 %t69, 0 %t71 = zext i1 %t70 to i32 store i32 %t71, ptr %t2 br label %scend9 scend9: %t72 = load i32, ptr %t2 %t73 = icmp ne i32 %t72, 0 %t74 = zext i1 %t73 to i32 store i32 %t74, ptr %t1 br i1 %t73, label %sc10, label %scend11 sc10: %t75 = load ptr, ptr %t0 %t76 = getelementptr inbounds %Cmp_Node, ptr %t75, i32 0, i32 4 %t77 = load ptr, ptr %t76 %t78 = getelementptr inbounds %Cmp_Node, ptr %t77, i32 0, i32 1 %t79 = load ptr, ptr %t78 %t80 = call i32 @lp_str_eq(ptr %t79, ptr @.str7057) %t81 = icmp ne i32 %t80, 0 %t82 = zext i1 %t81 to i32 store i32 %t82, ptr %t1 br label %scend11 scend11: %t83 = load i32, ptr %t1 store i32 %t83, ptr %retval br label %ret ret: %t84 = load i32, ptr %retval ret i32 %t84 } define i32 @fn_es_val(ptr %arg_e) { entry: %retval = alloca i32 %t0 = alloca ptr %t9 = alloca i32 %t43 = alloca i32 %t44 = alloca i32 %t45 = alloca i32 %t46 = alloca i32 %t92 = alloca i32 %t102 = alloca ptr %t103 = alloca i32 %t117 = alloca i32 %t154 = alloca i32 %t261 = alloca i32 %t262 = alloca i32 %t286 = alloca i32 %t294 = alloca i32 %t295 = alloca i32 %t353 = alloca i32 %t361 = alloca i32 %t362 = alloca i32 %t420 = alloca i32 %t445 = alloca i32 %t460 = alloca i32 %t479 = alloca i32 %t517 = alloca i32 %t518 = alloca i32 %t537 = alloca i32 %t573 = alloca ptr %t574 = alloca i32 %t589 = alloca i32 %t611 = alloca ptr %t612 = alloca i32 %t645 = alloca i32 %t646 = alloca i32 %t694 = alloca i32 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 = sub i32 0, 1 store i32 %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 store i32 %t8, ptr %t9 %t10 = load i32, ptr %t9 %t11 = icmp eq i32 %t10, 55 %t12 = zext i1 %t11 to i32 %t13 = icmp ne i32 %t12, 0 br i1 %t13, label %then3, label %ifend5 then3: %t14 = load ptr, ptr %t0 %t15 = getelementptr inbounds %Cmp_Node, ptr %t14, i32 0, i32 1 %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 %then6, label %ifend8 then6: %t20 = load ptr, ptr @g_g_es_fnrefs %t21 = load ptr, ptr %t0 %t22 = getelementptr inbounds %Cmp_Node, ptr %t21, i32 0, i32 1 %t23 = load ptr, ptr %t22 %t24 = getelementptr inbounds %LSlice, ptr %t20, i32 0, i32 1 %t25 = getelementptr inbounds %LSlice, ptr %t20, i32 0, i32 2 %t26 = getelementptr inbounds %LSlice, ptr %t20, i32 0, i32 0 %t27 = load i32, ptr %t24 %t28 = load i32, ptr %t25 %t29 = icmp sge i32 %t27, %t28 br i1 %t29, label %grow9, label %put10 grow9: %t30 = mul i32 %t28, 2 %t31 = icmp eq i32 %t28, 0 %t32 = select i1 %t31, i32 8, i32 %t30 %t33 = getelementptr ptr, 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 store i32 4191, ptr @lp_site %t38 = call ptr @lp_realloc(ptr %t37, i64 %t36) store i32 0, ptr @lp_site store ptr %t38, ptr %t26 store i32 %t32, ptr %t25 br label %put10 put10: %t39 = load ptr, ptr %t26 %t40 = getelementptr inbounds ptr, ptr %t39, i32 %t27 store ptr %t23, ptr %t40 %t41 = add i32 %t27, 1 store i32 %t41, ptr %t24 br label %ifend8 ifend8: %t42 = sub i32 0, 1 store i32 %t42, ptr %retval br label %ret ifend5: %t47 = load i32, ptr %t9 %t48 = icmp eq i32 %t47, 31 %t49 = zext i1 %t48 to i32 %t50 = icmp ne i32 %t49, 0 %t51 = zext i1 %t50 to i32 store i32 %t51, ptr %t46 br i1 %t50, label %scend12, label %sc11 sc11: %t52 = load i32, ptr %t9 %t53 = icmp eq i32 %t52, 30 %t54 = zext i1 %t53 to i32 %t55 = icmp ne i32 %t54, 0 %t56 = zext i1 %t55 to i32 store i32 %t56, ptr %t46 br label %scend12 scend12: %t57 = load i32, ptr %t46 %t58 = icmp ne i32 %t57, 0 %t59 = zext i1 %t58 to i32 store i32 %t59, ptr %t45 br i1 %t58, label %scend14, label %sc13 sc13: %t60 = load i32, ptr %t9 %t61 = icmp eq i32 %t60, 32 %t62 = zext i1 %t61 to i32 %t63 = icmp ne i32 %t62, 0 %t64 = zext i1 %t63 to i32 store i32 %t64, ptr %t45 br label %scend14 scend14: %t65 = load i32, ptr %t45 %t66 = icmp ne i32 %t65, 0 %t67 = zext i1 %t66 to i32 store i32 %t67, ptr %t44 br i1 %t66, label %scend16, label %sc15 sc15: %t68 = load i32, ptr %t9 %t69 = icmp eq i32 %t68, 40 %t70 = zext i1 %t69 to i32 %t71 = icmp ne i32 %t70, 0 %t72 = zext i1 %t71 to i32 store i32 %t72, ptr %t44 br label %scend16 scend16: %t73 = load i32, ptr %t44 %t74 = icmp ne i32 %t73, 0 %t75 = zext i1 %t74 to i32 store i32 %t75, ptr %t43 br i1 %t74, label %scend18, label %sc17 sc17: %t76 = load i32, ptr %t9 %t77 = icmp eq i32 %t76, 43 %t78 = zext i1 %t77 to i32 %t79 = icmp ne i32 %t78, 0 %t80 = zext i1 %t79 to i32 store i32 %t80, ptr %t43 br label %scend18 scend18: %t81 = load i32, ptr %t43 %t82 = icmp ne i32 %t81, 0 br i1 %t82, label %then19, label %ifend21 then19: %t83 = sub i32 0, 1 store i32 %t83, ptr %retval br label %ret ifend21: %t84 = load i32, ptr %t9 %t85 = icmp eq i32 %t84, 33 %t86 = zext i1 %t85 to i32 %t87 = icmp ne i32 %t86, 0 br i1 %t87, label %then22, label %ifend24 then22: %t88 = load ptr, ptr %t0 %t89 = getelementptr inbounds %Cmp_Node, ptr %t88, i32 0, i32 1 %t90 = load ptr, ptr %t89 %t91 = call i32 @fn_es_local(ptr %t90) store i32 %t91, ptr %t92 %t93 = load i32, ptr %t92 %t94 = icmp sge i32 %t93, 0 %t95 = zext i1 %t94 to i32 %t96 = icmp ne i32 %t95, 0 br i1 %t96, label %then25, label %ifend27 then25: %t97 = load i32, ptr %t92 store i32 %t97, ptr %retval br label %ret ifend27: %t98 = load ptr, ptr %t0 %t99 = getelementptr inbounds %Cmp_Node, ptr %t98, i32 0, i32 1 %t100 = load ptr, ptr %t99 %t101 = call ptr @fn_find_global(ptr %t100) store ptr %t101, ptr %t102 %t104 = load ptr, ptr %t102 %t105 = icmp ne ptr %t104, null %t106 = zext i1 %t105 to i32 %t107 = icmp ne i32 %t106, 0 %t108 = zext i1 %t107 to i32 store i32 %t108, ptr %t103 br i1 %t107, label %sc28, label %scend29 sc28: %t109 = load ptr, ptr %t102 %t110 = getelementptr inbounds %Cmp_Node, ptr %t109, i32 0, i32 3 %t111 = load ptr, ptr %t110 %t112 = call i32 @fn_is_state_ty(ptr %t111) %t113 = icmp ne i32 %t112, 0 %t114 = zext i1 %t113 to i32 store i32 %t114, ptr %t103 br label %scend29 scend29: %t115 = load i32, ptr %t103 %t116 = icmp ne i32 %t115, 0 br i1 %t116, label %then30, label %ifend32 then30: store i32 0, ptr %t117 br label %wcond33 wcond33: %t118 = load i32, ptr %t117 %t119 = load ptr, ptr @g_g_es_gname %t120 = getelementptr inbounds %LSlice, ptr %t119, i32 0, i32 1 %t121 = load i32, ptr %t120 %t122 = icmp slt i32 %t118, %t121 %t123 = zext i1 %t122 to i32 %t124 = icmp ne i32 %t123, 0 br i1 %t124, label %wbody34, label %wend35 wbody34: %t125 = load ptr, ptr @g_g_es_gname %t126 = load i32, ptr %t117 %t127 = getelementptr inbounds %LSlice, ptr %t125, i32 0, i32 0 %t128 = load ptr, ptr %t127 %t129 = getelementptr inbounds %LSlice, ptr %t125, i32 0, i32 1 %t130 = load i32, ptr %t129 %t131 = icmp ult i32 %t126, %t130 br i1 %t131, label %ixok36, label %ixbad37 ixbad37: store i32 4192, ptr @lp_site %t132 = call ptr @lp_win_stdio(i32 2) store i32 0, ptr @lp_site call i32 (ptr, ptr, ...) @fprintf(ptr %t132, ptr @.fmt_bounds, ptr @.str7059, i32 %t126, i32 %t130) call void @exit(i32 1) unreachable ixok36: %t133 = getelementptr inbounds ptr, ptr %t128, i32 %t126 %t134 = load ptr, ptr %t133 %t135 = load ptr, ptr %t0 %t136 = getelementptr inbounds %Cmp_Node, ptr %t135, i32 0, i32 1 %t137 = load ptr, ptr %t136 %t138 = call i32 @lp_str_eq(ptr %t134, ptr %t137) %t139 = icmp ne i32 %t138, 0 br i1 %t139, label %then38, label %ifend40 then38: %t140 = load ptr, ptr @g_g_es_gcls %t141 = load i32, ptr %t117 %t142 = getelementptr inbounds %LSlice, ptr %t140, i32 0, i32 0 %t143 = load ptr, ptr %t142 %t144 = getelementptr inbounds %LSlice, ptr %t140, i32 0, i32 1 %t145 = load i32, ptr %t144 %t146 = icmp ult i32 %t141, %t145 br i1 %t146, label %ixok41, label %ixbad42 ixbad42: store i32 4193, ptr @lp_site %t147 = call ptr @lp_win_stdio(i32 2) store i32 0, ptr @lp_site call i32 (ptr, ptr, ...) @fprintf(ptr %t147, ptr @.fmt_bounds, ptr @.str7060, i32 %t141, i32 %t145) call void @exit(i32 1) unreachable ixok41: %t148 = getelementptr inbounds i32, ptr %t143, i32 %t141 %t149 = load i32, ptr %t148 store i32 %t149, ptr %retval br label %ret ifend40: %t150 = load i32, ptr %t117 %t151 = add i32 %t150, 1 store i32 %t151, ptr %t117 br label %wcond33 wend35: %t152 = or i32 1, 2 %t153 = call i32 @fn_es_new(i32 %t152) store i32 %t153, ptr %t154 %t155 = load ptr, ptr @g_g_es_own %t156 = load i32, ptr %t154 %t157 = getelementptr inbounds %LSlice, ptr %t155, i32 0, i32 0 %t158 = load ptr, ptr %t157 %t159 = getelementptr inbounds %LSlice, ptr %t155, i32 0, i32 1 %t160 = load i32, ptr %t159 %t161 = icmp ult i32 %t156, %t160 br i1 %t161, label %ixok43, label %ixbad44 ixbad44: store i32 4194, ptr @lp_site %t162 = call ptr @lp_win_stdio(i32 2) store i32 0, ptr @lp_site call i32 (ptr, ptr, ...) @fprintf(ptr %t162, ptr @.fmt_bounds, ptr @.str7061, i32 %t156, i32 %t160) call void @exit(i32 1) unreachable ixok43: %t163 = getelementptr inbounds ptr, ptr %t158, i32 %t156 %t164 = load ptr, ptr %t102 %t165 = getelementptr inbounds %Cmp_Node, ptr %t164, i32 0, i32 3 %t166 = load ptr, ptr %t165 store ptr %t166, ptr %t163 %t167 = load ptr, ptr @g_g_es_gname %t168 = load ptr, ptr %t0 %t169 = getelementptr inbounds %Cmp_Node, ptr %t168, i32 0, i32 1 %t170 = load ptr, ptr %t169 %t171 = getelementptr inbounds %LSlice, ptr %t167, i32 0, i32 1 %t172 = getelementptr inbounds %LSlice, ptr %t167, i32 0, i32 2 %t173 = getelementptr inbounds %LSlice, ptr %t167, i32 0, i32 0 %t174 = load i32, ptr %t171 %t175 = load i32, ptr %t172 %t176 = icmp sge i32 %t174, %t175 br i1 %t176, label %grow45, label %put46 grow45: %t177 = mul i32 %t175, 2 %t178 = icmp eq i32 %t175, 0 %t179 = select i1 %t178, i32 8, i32 %t177 %t180 = getelementptr ptr, ptr null, i32 1 %t181 = ptrtoint ptr %t180 to i64 %t182 = zext i32 %t179 to i64 %t183 = mul i64 %t182, %t181 %t184 = load ptr, ptr %t173 store i32 4195, ptr @lp_site %t185 = call ptr @lp_realloc(ptr %t184, i64 %t183) store i32 0, ptr @lp_site store ptr %t185, ptr %t173 store i32 %t179, ptr %t172 br label %put46 put46: %t186 = load ptr, ptr %t173 %t187 = getelementptr inbounds ptr, ptr %t186, i32 %t174 store ptr %t170, ptr %t187 %t188 = add i32 %t174, 1 store i32 %t188, ptr %t171 %t189 = load ptr, ptr @g_g_es_gcls %t190 = load i32, ptr %t154 %t191 = getelementptr inbounds %LSlice, ptr %t189, i32 0, i32 1 %t192 = getelementptr inbounds %LSlice, ptr %t189, i32 0, i32 2 %t193 = getelementptr inbounds %LSlice, ptr %t189, i32 0, i32 0 %t194 = load i32, ptr %t191 %t195 = load i32, ptr %t192 %t196 = icmp sge i32 %t194, %t195 br i1 %t196, label %grow47, label %put48 grow47: %t197 = mul i32 %t195, 2 %t198 = icmp eq i32 %t195, 0 %t199 = select i1 %t198, i32 8, i32 %t197 %t200 = getelementptr i32, 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 store i32 4196, ptr @lp_site %t205 = call ptr @lp_realloc(ptr %t204, i64 %t203) store i32 0, ptr @lp_site store ptr %t205, ptr %t193 store i32 %t199, ptr %t192 br label %put48 put48: %t206 = load ptr, ptr %t193 %t207 = getelementptr inbounds i32, ptr %t206, i32 %t194 store i32 %t190, ptr %t207 %t208 = add i32 %t194, 1 store i32 %t208, ptr %t191 %t209 = load i32, ptr %t154 store i32 %t209, ptr %retval br label %ret ifend32: %t210 = load i32, ptr @g_g_es_heap store i32 %t210, ptr %retval br label %ret ifend24: %t211 = load i32, ptr %t9 %t212 = icmp eq i32 %t211, 35 %t213 = zext i1 %t212 to i32 %t214 = icmp ne i32 %t213, 0 br i1 %t214, label %then49, label %ifend51 then49: %t215 = load ptr, ptr %t0 %t216 = getelementptr inbounds %Cmp_Node, ptr %t215, i32 0, i32 4 %t217 = load ptr, ptr %t216 %t218 = call i32 @fn_es_val(ptr %t217) store i32 %t218, ptr %retval br label %ret ifend51: %t219 = load i32, ptr %t9 %t220 = icmp eq i32 %t219, 36 %t221 = zext i1 %t220 to i32 %t222 = icmp ne i32 %t221, 0 br i1 %t222, label %then52, label %ifend54 then52: %t223 = load ptr, ptr %t0 %t224 = getelementptr inbounds %Cmp_Node, ptr %t223, i32 0, i32 5 %t225 = load ptr, ptr %t224 %t226 = call i32 @fn_es_val(ptr %t225) %t227 = load ptr, ptr %t0 %t228 = getelementptr inbounds %Cmp_Node, ptr %t227, i32 0, i32 4 %t229 = load ptr, ptr %t228 %t230 = call i32 @fn_es_val(ptr %t229) store i32 %t230, ptr %retval br label %ret ifend54: %t231 = load i32, ptr %t9 %t232 = icmp eq i32 %t231, 44 %t233 = zext i1 %t232 to i32 %t234 = icmp ne i32 %t233, 0 br i1 %t234, label %then55, label %ifend57 then55: %t235 = load ptr, ptr %t0 %t236 = getelementptr inbounds %Cmp_Node, ptr %t235, i32 0, i32 4 %t237 = load ptr, ptr %t236 %t238 = call i32 @fn_es_val(ptr %t237) %t239 = load ptr, ptr %t0 %t240 = getelementptr inbounds %Cmp_Node, ptr %t239, i32 0, i32 5 %t241 = load ptr, ptr %t240 %t242 = call i32 @fn_es_val(ptr %t241) %t243 = load ptr, ptr %t0 %t244 = getelementptr inbounds %Cmp_Node, ptr %t243, i32 0, i32 6 %t245 = load ptr, ptr %t244 %t246 = call i32 @fn_es_val(ptr %t245) %t247 = load ptr, ptr %t0 %t248 = call i32 @fn_es_site(ptr %t247) store i32 %t248, ptr %retval br label %ret ifend57: %t249 = load i32, ptr %t9 %t250 = icmp eq i32 %t249, 37 %t251 = zext i1 %t250 to i32 %t252 = icmp ne i32 %t251, 0 br i1 %t252, label %then58, label %ifend60 then58: %t253 = load ptr, ptr %t0 %t254 = getelementptr inbounds %Cmp_Node, ptr %t253, i32 0, i32 4 %t255 = load ptr, ptr %t254 %t256 = call i32 @fn_es_val(ptr %t255) %t257 = load ptr, ptr %t0 %t258 = getelementptr inbounds %Cmp_Node, ptr %t257, i32 0, i32 5 %t259 = load ptr, ptr %t258 %t260 = call i32 @fn_es_val(ptr %t259) %t263 = load ptr, ptr %t0 %t264 = getelementptr inbounds %Cmp_Node, ptr %t263, i32 0, i32 1 %t265 = load ptr, ptr %t264 %t266 = call i32 @lp_str_eq(ptr %t265, ptr @.str7062) %t267 = icmp ne i32 %t266, 0 %t268 = zext i1 %t267 to i32 store i32 %t268, ptr %t262 br i1 %t267, label %scend62, label %sc61 sc61: %t269 = load ptr, ptr %t0 %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 @.str7063) %t273 = icmp ne i32 %t272, 0 %t274 = zext i1 %t273 to i32 store i32 %t274, ptr %t262 br label %scend62 scend62: %t275 = load i32, ptr %t262 %t276 = icmp ne i32 %t275, 0 %t277 = zext i1 %t276 to i32 store i32 %t277, ptr %t261 br i1 %t276, label %scend64, label %sc63 sc63: %t278 = load ptr, ptr %t0 %t279 = getelementptr inbounds %Cmp_Node, ptr %t278, i32 0, i32 1 %t280 = load ptr, ptr %t279 %t281 = call i32 @lp_str_eq(ptr %t280, ptr @.str7064) %t282 = icmp ne i32 %t281, 0 %t283 = zext i1 %t282 to i32 store i32 %t283, ptr %t261 br label %scend64 scend64: %t284 = load i32, ptr %t261 %t285 = icmp ne i32 %t284, 0 br i1 %t285, label %then65, label %ifend67 then65: %t287 = load ptr, ptr %t0 %t288 = getelementptr inbounds %Cmp_Node, ptr %t287, i32 0, i32 4 %t289 = load ptr, ptr %t288 %t290 = icmp ne ptr %t289, null %t291 = zext i1 %t290 to i32 %t292 = icmp ne i32 %t291, 0 %t293 = zext i1 %t292 to i32 store i32 %t293, ptr %t286 br i1 %t292, label %sc68, label %scend69 sc68: %t296 = load ptr, ptr %t0 %t297 = getelementptr inbounds %Cmp_Node, ptr %t296, i32 0, i32 4 %t298 = load ptr, ptr %t297 %t299 = getelementptr inbounds %Cmp_Node, ptr %t298, i32 0, i32 0 %t300 = load i32, ptr %t299 %t301 = icmp eq i32 %t300, 37 %t302 = zext i1 %t301 to i32 %t303 = icmp ne i32 %t302, 0 %t304 = zext i1 %t303 to i32 store i32 %t304, ptr %t295 br i1 %t303, label %scend71, label %sc70 sc70: %t305 = load ptr, ptr %t0 %t306 = getelementptr inbounds %Cmp_Node, ptr %t305, i32 0, i32 4 %t307 = load ptr, ptr %t306 %t308 = getelementptr inbounds %Cmp_Node, ptr %t307, i32 0, i32 0 %t309 = load i32, ptr %t308 %t310 = icmp eq i32 %t309, 34 %t311 = zext i1 %t310 to i32 %t312 = icmp ne i32 %t311, 0 %t313 = zext i1 %t312 to i32 store i32 %t313, ptr %t295 br label %scend71 scend71: %t314 = load i32, ptr %t295 %t315 = icmp ne i32 %t314, 0 %t316 = zext i1 %t315 to i32 store i32 %t316, ptr %t294 br i1 %t315, label %scend73, label %sc72 sc72: %t317 = load ptr, ptr %t0 %t318 = getelementptr inbounds %Cmp_Node, ptr %t317, i32 0, i32 4 %t319 = load ptr, ptr %t318 %t320 = getelementptr inbounds %Cmp_Node, ptr %t319, i32 0, i32 0 %t321 = load i32, ptr %t320 %t322 = icmp eq i32 %t321, 44 %t323 = zext i1 %t322 to i32 %t324 = icmp ne i32 %t323, 0 %t325 = zext i1 %t324 to i32 store i32 %t325, ptr %t294 br label %scend73 scend73: %t326 = load i32, ptr %t294 %t327 = icmp ne i32 %t326, 0 %t328 = zext i1 %t327 to i32 store i32 %t328, ptr %t286 br label %scend69 scend69: %t329 = load i32, ptr %t286 %t330 = icmp ne i32 %t329, 0 br i1 %t330, label %then74, label %ifend76 then74: %t331 = load ptr, ptr @g_g_es_consumed %t332 = load ptr, ptr %t0 %t333 = getelementptr inbounds %Cmp_Node, ptr %t332, i32 0, i32 4 %t334 = load ptr, ptr %t333 %t335 = getelementptr inbounds %LSlice, ptr %t331, i32 0, i32 1 %t336 = getelementptr inbounds %LSlice, ptr %t331, i32 0, i32 2 %t337 = getelementptr inbounds %LSlice, ptr %t331, i32 0, i32 0 %t338 = load i32, ptr %t335 %t339 = load i32, ptr %t336 %t340 = icmp sge i32 %t338, %t339 br i1 %t340, label %grow77, label %put78 grow77: %t341 = mul i32 %t339, 2 %t342 = icmp eq i32 %t339, 0 %t343 = select i1 %t342, i32 8, i32 %t341 %t344 = getelementptr ptr, ptr null, i32 1 %t345 = ptrtoint ptr %t344 to i64 %t346 = zext i32 %t343 to i64 %t347 = mul i64 %t346, %t345 %t348 = load ptr, ptr %t337 store i32 4197, ptr @lp_site %t349 = call ptr @lp_realloc(ptr %t348, i64 %t347) store i32 0, ptr @lp_site store ptr %t349, ptr %t337 store i32 %t343, ptr %t336 br label %put78 put78: %t350 = load ptr, ptr %t337 %t351 = getelementptr inbounds ptr, ptr %t350, i32 %t338 store ptr %t334, ptr %t351 %t352 = add i32 %t338, 1 store i32 %t352, ptr %t335 br label %ifend76 ifend76: %t354 = load ptr, ptr %t0 %t355 = getelementptr inbounds %Cmp_Node, ptr %t354, i32 0, i32 5 %t356 = load ptr, ptr %t355 %t357 = icmp ne ptr %t356, null %t358 = zext i1 %t357 to i32 %t359 = icmp ne i32 %t358, 0 %t360 = zext i1 %t359 to i32 store i32 %t360, ptr %t353 br i1 %t359, label %sc79, label %scend80 sc79: %t363 = load ptr, ptr %t0 %t364 = getelementptr inbounds %Cmp_Node, ptr %t363, i32 0, i32 5 %t365 = load ptr, ptr %t364 %t366 = getelementptr inbounds %Cmp_Node, ptr %t365, i32 0, i32 0 %t367 = load i32, ptr %t366 %t368 = icmp eq i32 %t367, 37 %t369 = zext i1 %t368 to i32 %t370 = icmp ne i32 %t369, 0 %t371 = zext i1 %t370 to i32 store i32 %t371, ptr %t362 br i1 %t370, label %scend82, label %sc81 sc81: %t372 = load ptr, ptr %t0 %t373 = getelementptr inbounds %Cmp_Node, ptr %t372, i32 0, i32 5 %t374 = load ptr, ptr %t373 %t375 = getelementptr inbounds %Cmp_Node, ptr %t374, i32 0, i32 0 %t376 = load i32, ptr %t375 %t377 = icmp eq i32 %t376, 34 %t378 = zext i1 %t377 to i32 %t379 = icmp ne i32 %t378, 0 %t380 = zext i1 %t379 to i32 store i32 %t380, ptr %t362 br label %scend82 scend82: %t381 = load i32, ptr %t362 %t382 = icmp ne i32 %t381, 0 %t383 = zext i1 %t382 to i32 store i32 %t383, ptr %t361 br i1 %t382, label %scend84, label %sc83 sc83: %t384 = load ptr, ptr %t0 %t385 = getelementptr inbounds %Cmp_Node, ptr %t384, i32 0, i32 5 %t386 = load ptr, ptr %t385 %t387 = getelementptr inbounds %Cmp_Node, ptr %t386, i32 0, i32 0 %t388 = load i32, ptr %t387 %t389 = icmp eq i32 %t388, 44 %t390 = zext i1 %t389 to i32 %t391 = icmp ne i32 %t390, 0 %t392 = zext i1 %t391 to i32 store i32 %t392, ptr %t361 br label %scend84 scend84: %t393 = load i32, ptr %t361 %t394 = icmp ne i32 %t393, 0 %t395 = zext i1 %t394 to i32 store i32 %t395, ptr %t353 br label %scend80 scend80: %t396 = load i32, ptr %t353 %t397 = icmp ne i32 %t396, 0 br i1 %t397, label %then85, label %ifend87 then85: %t398 = load ptr, ptr @g_g_es_consumed %t399 = load ptr, ptr %t0 %t400 = getelementptr inbounds %Cmp_Node, ptr %t399, i32 0, i32 5 %t401 = load ptr, ptr %t400 %t402 = getelementptr inbounds %LSlice, ptr %t398, i32 0, i32 1 %t403 = getelementptr inbounds %LSlice, ptr %t398, i32 0, i32 2 %t404 = getelementptr inbounds %LSlice, ptr %t398, i32 0, i32 0 %t405 = load i32, ptr %t402 %t406 = load i32, ptr %t403 %t407 = icmp sge i32 %t405, %t406 br i1 %t407, label %grow88, label %put89 grow88: %t408 = mul i32 %t406, 2 %t409 = icmp eq i32 %t406, 0 %t410 = select i1 %t409, i32 8, i32 %t408 %t411 = getelementptr ptr, ptr null, i32 1 %t412 = ptrtoint ptr %t411 to i64 %t413 = zext i32 %t410 to i64 %t414 = mul i64 %t413, %t412 %t415 = load ptr, ptr %t404 store i32 4198, ptr @lp_site %t416 = call ptr @lp_realloc(ptr %t415, i64 %t414) store i32 0, ptr @lp_site store ptr %t416, ptr %t404 store i32 %t410, ptr %t403 br label %put89 put89: %t417 = load ptr, ptr %t404 %t418 = getelementptr inbounds ptr, ptr %t417, i32 %t405 store ptr %t401, ptr %t418 %t419 = add i32 %t405, 1 store i32 %t419, ptr %t402 br label %ifend87 ifend87: br label %ifend67 ifend67: %t421 = load ptr, ptr %t0 %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 @.str7065) %t425 = icmp ne i32 %t424, 0 %t426 = zext i1 %t425 to i32 store i32 %t426, ptr %t420 br i1 %t425, label %sc90, label %scend91 sc90: %t427 = load ptr, ptr %t0 %t428 = call i32 @fn_fr_is_textish(ptr %t427) %t429 = icmp ne i32 %t428, 0 %t430 = zext i1 %t429 to i32 store i32 %t430, ptr %t420 br label %scend91 scend91: %t431 = load i32, ptr %t420 %t432 = icmp ne i32 %t431, 0 br i1 %t432, label %then92, label %ifend94 then92: %t433 = load ptr, ptr %t0 %t434 = call i32 @fn_es_site(ptr %t433) store i32 %t434, ptr %retval br label %ret ifend94: %t435 = sub i32 0, 1 store i32 %t435, ptr %retval br label %ret ifend60: %t436 = load i32, ptr %t9 %t437 = icmp eq i32 %t436, 38 %t438 = zext i1 %t437 to i32 %t439 = icmp ne i32 %t438, 0 br i1 %t439, label %then95, label %ifend97 then95: %t440 = load ptr, ptr %t0 %t441 = getelementptr inbounds %Cmp_Node, ptr %t440, i32 0, i32 4 %t442 = load ptr, ptr %t441 %t443 = call i32 @fn_es_val(ptr %t442) %t444 = sub i32 0, 1 store i32 %t444, ptr %retval br label %ret ifend97: %t446 = load i32, ptr %t9 %t447 = icmp eq i32 %t446, 39 %t448 = zext i1 %t447 to i32 %t449 = icmp ne i32 %t448, 0 %t450 = zext i1 %t449 to i32 store i32 %t450, ptr %t445 br i1 %t449, label %sc98, label %scend99 sc98: %t451 = load ptr, ptr %t0 %t452 = getelementptr inbounds %Cmp_Node, ptr %t451, i32 0, i32 5 %t453 = load ptr, ptr %t452 %t454 = icmp ne ptr %t453, null %t455 = zext i1 %t454 to i32 %t456 = icmp ne i32 %t455, 0 %t457 = zext i1 %t456 to i32 store i32 %t457, ptr %t445 br label %scend99 scend99: %t458 = load i32, ptr %t445 %t459 = icmp ne i32 %t458, 0 br i1 %t459, label %then100, label %ifend102 then100: %t461 = load ptr, ptr %t0 %t462 = getelementptr inbounds %Cmp_Node, ptr %t461, i32 0, i32 4 %t463 = load ptr, ptr %t462 %t464 = icmp ne ptr %t463, null %t465 = zext i1 %t464 to i32 %t466 = icmp ne i32 %t465, 0 %t467 = zext i1 %t466 to i32 store i32 %t467, ptr %t460 br i1 %t466, label %sc103, label %scend104 sc103: %t468 = load ptr, ptr %t0 %t469 = getelementptr inbounds %Cmp_Node, ptr %t468, i32 0, i32 4 %t470 = load ptr, ptr %t469 %t471 = getelementptr inbounds %Cmp_Node, ptr %t470, i32 0, i32 7 %t472 = load ptr, ptr %t471 %t473 = icmp ne ptr %t472, null %t474 = zext i1 %t473 to i32 %t475 = icmp ne i32 %t474, 0 %t476 = zext i1 %t475 to i32 store i32 %t476, ptr %t460 br label %scend104 scend104: %t477 = load i32, ptr %t460 %t478 = icmp ne i32 %t477, 0 br i1 %t478, label %then105, label %ifend107 then105: store i32 0, ptr %t479 br label %wcond108 wcond108: %t480 = load i32, ptr %t479 %t481 = load ptr, ptr %t0 %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 7 %t485 = load ptr, ptr %t484 %t486 = getelementptr inbounds %LSlice, ptr %t485, i32 0, i32 1 %t487 = load i32, ptr %t486 %t488 = icmp slt i32 %t480, %t487 %t489 = zext i1 %t488 to i32 %t490 = icmp ne i32 %t489, 0 br i1 %t490, label %wbody109, label %wend110 wbody109: %t491 = load ptr, ptr %t0 %t492 = getelementptr inbounds %Cmp_Node, ptr %t491, i32 0, i32 4 %t493 = load ptr, ptr %t492 %t494 = getelementptr inbounds %Cmp_Node, ptr %t493, i32 0, i32 7 %t495 = load ptr, ptr %t494 %t496 = load i32, ptr %t479 %t497 = getelementptr inbounds %LSlice, ptr %t495, i32 0, i32 0 %t498 = load ptr, ptr %t497 %t499 = getelementptr inbounds %LSlice, ptr %t495, i32 0, i32 1 %t500 = load i32, ptr %t499 %t501 = icmp ult i32 %t496, %t500 br i1 %t501, label %ixok111, label %ixbad112 ixbad112: store i32 4199, ptr @lp_site %t502 = call ptr @lp_win_stdio(i32 2) store i32 0, ptr @lp_site call i32 (ptr, ptr, ...) @fprintf(ptr %t502, ptr @.fmt_bounds, ptr @.str7066, i32 %t496, i32 %t500) call void @exit(i32 1) unreachable ixok111: %t503 = getelementptr inbounds ptr, ptr %t498, i32 %t496 %t504 = load ptr, ptr %t503 %t505 = getelementptr inbounds %Cmp_Node, ptr %t504, i32 0, i32 4 %t506 = load ptr, ptr %t505 %t507 = call i32 @fn_es_val(ptr %t506) call void @fn_es_escape(i32 %t507) %t508 = load i32, ptr %t479 %t509 = add i32 %t508, 1 store i32 %t509, ptr %t479 br label %wcond108 wend110: br label %ifend107 ifend107: %t510 = load i32, ptr @g_g_es_heap store i32 %t510, ptr %retval br label %ret ifend102: %t511 = load i32, ptr %t9 %t512 = icmp eq i32 %t511, 39 %t513 = zext i1 %t512 to i32 %t514 = icmp ne i32 %t513, 0 br i1 %t514, label %then113, label %ifend115 then113: %t515 = load ptr, ptr %t0 %t516 = call i32 @fn_es_site(ptr %t515) store i32 %t516, ptr %t517 %t519 = load ptr, ptr %t0 %t520 = getelementptr inbounds %Cmp_Node, ptr %t519, i32 0, i32 4 %t521 = load ptr, ptr %t520 %t522 = icmp ne ptr %t521, null %t523 = zext i1 %t522 to i32 %t524 = icmp ne i32 %t523, 0 %t525 = zext i1 %t524 to i32 store i32 %t525, ptr %t518 br i1 %t524, label %sc116, label %scend117 sc116: %t526 = load ptr, ptr %t0 %t527 = getelementptr inbounds %Cmp_Node, ptr %t526, i32 0, i32 4 %t528 = load ptr, ptr %t527 %t529 = getelementptr inbounds %Cmp_Node, ptr %t528, i32 0, i32 7 %t530 = load ptr, ptr %t529 %t531 = icmp ne ptr %t530, null %t532 = zext i1 %t531 to i32 %t533 = icmp ne i32 %t532, 0 %t534 = zext i1 %t533 to i32 store i32 %t534, ptr %t518 br label %scend117 scend117: %t535 = load i32, ptr %t518 %t536 = icmp ne i32 %t535, 0 br i1 %t536, label %then118, label %ifend120 then118: store i32 0, ptr %t537 br label %wcond121 wcond121: %t538 = load i32, ptr %t537 %t539 = load ptr, ptr %t0 %t540 = getelementptr inbounds %Cmp_Node, ptr %t539, i32 0, i32 4 %t541 = load ptr, ptr %t540 %t542 = getelementptr inbounds %Cmp_Node, ptr %t541, i32 0, i32 7 %t543 = load ptr, ptr %t542 %t544 = getelementptr inbounds %LSlice, ptr %t543, i32 0, i32 1 %t545 = load i32, ptr %t544 %t546 = icmp slt i32 %t538, %t545 %t547 = zext i1 %t546 to i32 %t548 = icmp ne i32 %t547, 0 br i1 %t548, label %wbody122, label %wend123 wbody122: %t549 = load ptr, ptr %t0 %t550 = getelementptr inbounds %Cmp_Node, ptr %t549, i32 0, i32 4 %t551 = load ptr, ptr %t550 %t552 = getelementptr inbounds %Cmp_Node, ptr %t551, i32 0, i32 7 %t553 = load ptr, ptr %t552 %t554 = load i32, ptr %t537 %t555 = getelementptr inbounds %LSlice, ptr %t553, i32 0, i32 0 %t556 = load ptr, ptr %t555 %t557 = getelementptr inbounds %LSlice, ptr %t553, i32 0, i32 1 %t558 = load i32, ptr %t557 %t559 = icmp ult i32 %t554, %t558 br i1 %t559, label %ixok124, label %ixbad125 ixbad125: store i32 4200, ptr @lp_site %t560 = call ptr @lp_win_stdio(i32 2) store i32 0, ptr @lp_site call i32 (ptr, ptr, ...) @fprintf(ptr %t560, ptr @.fmt_bounds, ptr @.str7067, i32 %t554, i32 %t558) call void @exit(i32 1) unreachable ixok124: %t561 = getelementptr inbounds ptr, ptr %t556, i32 %t554 %t562 = load ptr, ptr %t561 %t563 = getelementptr inbounds %Cmp_Node, ptr %t562, i32 0, i32 4 %t564 = load ptr, ptr %t563 %t565 = call i32 @fn_es_ref(ptr %t564) %t566 = load i32, ptr %t517 call void @fn_es_store(i32 %t565, i32 %t566) %t567 = load i32, ptr %t537 %t568 = add i32 %t567, 1 store i32 %t568, ptr %t537 br label %wcond121 wend123: br label %ifend120 ifend120: %t569 = load ptr, ptr %t0 %t570 = getelementptr inbounds %Cmp_Node, ptr %t569, i32 0, i32 1 %t571 = load ptr, ptr %t570 %t572 = call ptr @fn_find_comp(ptr %t571) store ptr %t572, ptr %t573 %t575 = load ptr, ptr %t573 %t576 = icmp ne ptr %t575, null %t577 = zext i1 %t576 to i32 %t578 = icmp ne i32 %t577, 0 %t579 = zext i1 %t578 to i32 store i32 %t579, ptr %t574 br i1 %t578, label %sc126, label %scend127 sc126: %t580 = load ptr, ptr %t573 %t581 = getelementptr inbounds %Cmp_Node, ptr %t580, i32 0, i32 7 %t582 = load ptr, ptr %t581 %t583 = icmp ne ptr %t582, null %t584 = zext i1 %t583 to i32 %t585 = icmp ne i32 %t584, 0 %t586 = zext i1 %t585 to i32 store i32 %t586, ptr %t574 br label %scend127 scend127: %t587 = load i32, ptr %t574 %t588 = icmp ne i32 %t587, 0 br i1 %t588, label %then128, label %ifend130 then128: store i32 0, ptr %t589 br label %wcond131 wcond131: %t590 = load i32, ptr %t589 %t591 = load ptr, ptr %t573 %t592 = getelementptr inbounds %Cmp_Node, ptr %t591, i32 0, i32 7 %t593 = load ptr, ptr %t592 %t594 = getelementptr inbounds %LSlice, ptr %t593, i32 0, i32 1 %t595 = load i32, ptr %t594 %t596 = icmp slt i32 %t590, %t595 %t597 = zext i1 %t596 to i32 %t598 = icmp ne i32 %t597, 0 br i1 %t598, label %wbody132, label %wend133 wbody132: %t599 = load ptr, ptr %t573 %t600 = getelementptr inbounds %Cmp_Node, ptr %t599, i32 0, i32 7 %t601 = load ptr, ptr %t600 %t602 = load i32, ptr %t589 %t603 = getelementptr inbounds %LSlice, ptr %t601, i32 0, i32 0 %t604 = load ptr, ptr %t603 %t605 = getelementptr inbounds %LSlice, ptr %t601, i32 0, i32 1 %t606 = load i32, ptr %t605 %t607 = icmp ult i32 %t602, %t606 br i1 %t607, label %ixok134, label %ixbad135 ixbad135: store i32 4201, ptr @lp_site %t608 = call ptr @lp_win_stdio(i32 2) store i32 0, ptr @lp_site call i32 (ptr, ptr, ...) @fprintf(ptr %t608, ptr @.fmt_bounds, ptr @.str7068, i32 %t602, i32 %t606) call void @exit(i32 1) unreachable ixok134: %t609 = getelementptr inbounds ptr, ptr %t604, i32 %t602 %t610 = load ptr, ptr %t609 store ptr %t610, ptr %t611 %t613 = load ptr, ptr %t611 %t614 = getelementptr inbounds %Cmp_Node, ptr %t613, i32 0, i32 4 %t615 = load ptr, ptr %t614 %t616 = icmp ne ptr %t615, null %t617 = zext i1 %t616 to i32 %t618 = icmp ne i32 %t617, 0 %t619 = zext i1 %t618 to i32 store i32 %t619, ptr %t612 br i1 %t618, label %sc136, label %scend137 sc136: %t620 = load ptr, ptr %t0 %t621 = load ptr, ptr %t611 %t622 = getelementptr inbounds %Cmp_Node, ptr %t621, i32 0, i32 1 %t623 = load ptr, ptr %t622 %t624 = call i32 @fn_es_overridden(ptr %t620, ptr %t623) %t625 = icmp eq i32 %t624, 0 %t626 = zext i1 %t625 to i32 %t627 = icmp ne i32 %t626, 0 %t628 = zext i1 %t627 to i32 store i32 %t628, ptr %t612 br label %scend137 scend137: %t629 = load i32, ptr %t612 %t630 = icmp ne i32 %t629, 0 br i1 %t630, label %then138, label %ifend140 then138: %t631 = load ptr, ptr %t611 %t632 = getelementptr inbounds %Cmp_Node, ptr %t631, i32 0, i32 4 %t633 = load ptr, ptr %t632 %t634 = call i32 @fn_es_ref(ptr %t633) %t635 = load i32, ptr %t517 call void @fn_es_store(i32 %t634, i32 %t635) br label %ifend140 ifend140: %t636 = load i32, ptr %t589 %t637 = add i32 %t636, 1 store i32 %t637, ptr %t589 br label %wcond131 wend133: br label %ifend130 ifend130: %t638 = load i32, ptr %t517 store i32 %t638, ptr %retval br label %ret ifend115: %t639 = load i32, ptr %t9 %t640 = icmp eq i32 %t639, 54 %t641 = zext i1 %t640 to i32 %t642 = icmp ne i32 %t641, 0 br i1 %t642, label %then141, label %ifend143 then141: %t643 = load ptr, ptr %t0 %t644 = call i32 @fn_es_site(ptr %t643) store i32 %t644, ptr %t645 store i32 0, ptr %t646 br label %wcond144 wcond144: %t647 = load i32, ptr %t646 %t648 = load ptr, ptr %t0 %t649 = getelementptr inbounds %Cmp_Node, ptr %t648, i32 0, i32 7 %t650 = load ptr, ptr %t649 %t651 = getelementptr inbounds %LSlice, ptr %t650, i32 0, i32 1 %t652 = load i32, ptr %t651 %t653 = icmp slt i32 %t647, %t652 %t654 = zext i1 %t653 to i32 %t655 = icmp ne i32 %t654, 0 br i1 %t655, label %wbody145, label %wend146 wbody145: %t656 = load ptr, ptr %t0 %t657 = getelementptr inbounds %Cmp_Node, ptr %t656, i32 0, i32 7 %t658 = load ptr, ptr %t657 %t659 = load i32, ptr %t646 %t660 = getelementptr inbounds %LSlice, ptr %t658, i32 0, i32 0 %t661 = load ptr, ptr %t660 %t662 = getelementptr inbounds %LSlice, ptr %t658, i32 0, i32 1 %t663 = load i32, ptr %t662 %t664 = icmp ult i32 %t659, %t663 br i1 %t664, label %ixok147, label %ixbad148 ixbad148: store i32 4202, ptr @lp_site %t665 = call ptr @lp_win_stdio(i32 2) store i32 0, ptr @lp_site call i32 (ptr, ptr, ...) @fprintf(ptr %t665, ptr @.fmt_bounds, ptr @.str7069, i32 %t659, i32 %t663) call void @exit(i32 1) unreachable ixok147: %t666 = getelementptr inbounds ptr, ptr %t661, i32 %t659 %t667 = load ptr, ptr %t666 %t668 = call i32 @fn_es_ref(ptr %t667) %t669 = load i32, ptr %t645 call void @fn_es_store(i32 %t668, i32 %t669) %t670 = load i32, ptr %t646 %t671 = add i32 %t670, 1 store i32 %t671, ptr %t646 br label %wcond144 wend146: %t672 = load i32, ptr %t645 store i32 %t672, ptr %retval br label %ret ifend143: %t673 = load i32, ptr %t9 %t674 = icmp eq i32 %t673, 34 %t675 = zext i1 %t674 to i32 %t676 = icmp ne i32 %t675, 0 br i1 %t676, label %then149, label %ifend151 then149: %t677 = load ptr, ptr %t0 %t678 = call i32 @fn_es_call(ptr %t677) store i32 %t678, ptr %retval br label %ret ifend151: %t679 = load ptr, ptr %t0 %t680 = getelementptr inbounds %Cmp_Node, ptr %t679, i32 0, i32 4 %t681 = load ptr, ptr %t680 call void @fn_es_walk(ptr %t681) %t682 = load ptr, ptr %t0 %t683 = getelementptr inbounds %Cmp_Node, ptr %t682, i32 0, i32 5 %t684 = load ptr, ptr %t683 call void @fn_es_walk(ptr %t684) %t685 = load ptr, ptr %t0 %t686 = getelementptr inbounds %Cmp_Node, ptr %t685, i32 0, i32 6 %t687 = load ptr, ptr %t686 call void @fn_es_walk(ptr %t687) %t688 = load ptr, ptr %t0 %t689 = getelementptr inbounds %Cmp_Node, ptr %t688, i32 0, i32 7 %t690 = load ptr, ptr %t689 %t691 = icmp ne ptr %t690, null %t692 = zext i1 %t691 to i32 %t693 = icmp ne i32 %t692, 0 br i1 %t693, label %then152, label %ifend154 then152: store i32 0, ptr %t694 br label %wcond155 wcond155: %t695 = load i32, ptr %t694 %t696 = load ptr, ptr %t0 %t697 = getelementptr inbounds %Cmp_Node, ptr %t696, i32 0, i32 7 %t698 = load ptr, ptr %t697 %t699 = getelementptr inbounds %LSlice, ptr %t698, i32 0, i32 1 %t700 = load i32, ptr %t699 %t701 = icmp slt i32 %t695, %t700 %t702 = zext i1 %t701 to i32 %t703 = icmp ne i32 %t702, 0 br i1 %t703, label %wbody156, label %wend157 wbody156: %t704 = load ptr, ptr %t0 %t705 = getelementptr inbounds %Cmp_Node, ptr %t704, i32 0, i32 7 %t706 = load ptr, ptr %t705 %t707 = load i32, ptr %t694 %t708 = getelementptr inbounds %LSlice, ptr %t706, i32 0, i32 0 %t709 = load ptr, ptr %t708 %t710 = getelementptr inbounds %LSlice, ptr %t706, i32 0, i32 1 %t711 = load i32, ptr %t710 %t712 = icmp ult i32 %t707, %t711 br i1 %t712, label %ixok158, label %ixbad159 ixbad159: store i32 4203, ptr @lp_site %t713 = call ptr @lp_win_stdio(i32 2) store i32 0, ptr @lp_site call i32 (ptr, ptr, ...) @fprintf(ptr %t713, ptr @.fmt_bounds, ptr @.str7070, i32 %t707, i32 %t711) call void @exit(i32 1) unreachable ixok158: %t714 = getelementptr inbounds ptr, ptr %t709, i32 %t707 %t715 = load ptr, ptr %t714 call void @fn_es_walk(ptr %t715) %t716 = load i32, ptr %t694 %t717 = add i32 %t716, 1 store i32 %t717, ptr %t694 br label %wcond155 wend157: br label %ifend154 ifend154: %t718 = load i32, ptr @g_g_es_heap store i32 %t718, ptr %retval br label %ret ret: %t719 = load i32, ptr %retval ret i32 %t719 } define i32 @fn_es_overridden(ptr %arg_e, ptr %arg_field) { entry: %retval = alloca i32 %t0 = alloca ptr %t1 = alloca ptr %t2 = alloca i32 %t21 = alloca i32 store ptr %arg_e, ptr %t0 store ptr %arg_field, ptr %t1 %t3 = load ptr, ptr %t0 %t4 = getelementptr inbounds %Cmp_Node, ptr %t3, i32 0, i32 4 %t5 = load ptr, ptr %t4 %t6 = icmp eq 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 %t2 br i1 %t8, label %scend1, label %sc0 sc0: %t10 = load ptr, ptr %t0 %t11 = getelementptr inbounds %Cmp_Node, ptr %t10, i32 0, i32 4 %t12 = load ptr, ptr %t11 %t13 = getelementptr inbounds %Cmp_Node, ptr %t12, i32 0, i32 7 %t14 = load ptr, ptr %t13 %t15 = icmp eq ptr %t14, null %t16 = zext i1 %t15 to i32 %t17 = icmp ne i32 %t16, 0 %t18 = zext i1 %t17 to i32 store i32 %t18, ptr %t2 br label %scend1 scend1: %t19 = load i32, ptr %t2 %t20 = icmp ne i32 %t19, 0 br i1 %t20, label %then2, label %ifend4 then2: store i32 0, ptr %retval br label %ret ifend4: store i32 0, ptr %t21 br label %wcond5 wcond5: %t22 = load i32, ptr %t21 %t23 = load ptr, ptr %t0 %t24 = getelementptr inbounds %Cmp_Node, ptr %t23, i32 0, i32 4 %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 slt i32 %t22, %t29 %t31 = zext i1 %t30 to i32 %t32 = icmp ne i32 %t31, 0 br i1 %t32, label %wbody6, label %wend7 wbody6: %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 7 %t37 = load ptr, ptr %t36 %t38 = load i32, ptr %t21 %t39 = getelementptr inbounds %LSlice, ptr %t37, i32 0, i32 0 %t40 = load ptr, ptr %t39 %t41 = getelementptr inbounds %LSlice, ptr %t37, i32 0, i32 1 %t42 = load i32, ptr %t41 %t43 = icmp ult i32 %t38, %t42 br i1 %t43, label %ixok8, label %ixbad9 ixbad9: store i32 4204, ptr @lp_site %t44 = call ptr @lp_win_stdio(i32 2) store i32 0, ptr @lp_site call i32 (ptr, ptr, ...) @fprintf(ptr %t44, ptr @.fmt_bounds, ptr @.str7071, i32 %t38, i32 %t42) call void @exit(i32 1) unreachable ixok8: %t45 = getelementptr inbounds ptr, ptr %t40, i32 %t38 %t46 = load ptr, ptr %t45 %t47 = getelementptr inbounds %Cmp_Node, ptr %t46, i32 0, i32 1 %t48 = load ptr, ptr %t47 %t49 = load ptr, ptr %t1 %t50 = call i32 @lp_str_eq(ptr %t48, ptr %t49) %t51 = icmp ne i32 %t50, 0 br i1 %t51, label %then10, label %ifend12 then10: store i32 1, ptr %retval br label %ret ifend12: %t52 = load i32, ptr %t21 %t53 = add i32 %t52, 1 store i32 %t53, ptr %t21 br label %wcond5 wend7: store i32 0, ptr %retval br label %ret ret: %t54 = load i32, ptr %retval ret i32 %t54 } define ptr @fn_es_fns_for(ptr %arg_nm) { entry: %retval = alloca ptr %t0 = alloca ptr %t7 = alloca ptr %t10 = alloca i32 %t38 = alloca ptr %t39 = alloca i32 %t57 = alloca ptr %t58 = alloca i32 store ptr %arg_nm, ptr %t0 %t1 = getelementptr %LSlice, ptr null, i32 1 %t2 = ptrtoint ptr %t1 to i64 store i32 4205, ptr @lp_site %t3 = call ptr @lp_malloc(i64 %t2) store i32 0, ptr @lp_site %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 %t8 = load ptr, ptr %t0 %t9 = call i32 @fn_es_fn(ptr %t8) store i32 %t9, ptr %t10 %t11 = load i32, ptr %t10 %t12 = icmp sge i32 %t11, 0 %t13 = zext i1 %t12 to i32 %t14 = icmp ne i32 %t13, 0 br i1 %t14, label %then0, label %ifend2 then0: %t15 = load ptr, ptr %t7 %t16 = load i32, ptr %t10 %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 %grow3, label %put4 grow3: %t23 = mul i32 %t21, 2 %t24 = icmp eq i32 %t21, 0 %t25 = select i1 %t24, i32 8, i32 %t23 %t26 = getelementptr i32, 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 store i32 4206, ptr @lp_site %t31 = call ptr @lp_realloc(ptr %t30, i64 %t29) store i32 0, ptr @lp_site store ptr %t31, ptr %t19 store i32 %t25, ptr %t18 br label %put4 put4: %t32 = load ptr, ptr %t19 %t33 = getelementptr inbounds i32, ptr %t32, i32 %t20 store i32 %t16, ptr %t33 %t34 = add i32 %t20, 1 store i32 %t34, ptr %t17 %t35 = load ptr, ptr %t7 store ptr %t35, ptr %retval br label %ret ifend2: %t36 = load ptr, ptr %t0 store i32 4207, ptr @lp_site %t37 = call ptr @lp_str_concat(ptr %t36, ptr @.str7074) store i32 0, ptr @lp_site store ptr %t37, ptr %t38 store i32 0, ptr %t39 br label %wcond5 wcond5: %t40 = load i32, ptr %t39 %t41 = load ptr, ptr @g_g_es_fnode %t42 = getelementptr inbounds %LSlice, ptr %t41, i32 0, i32 1 %t43 = load i32, ptr %t42 %t44 = icmp slt i32 %t40, %t43 %t45 = zext i1 %t44 to i32 %t46 = icmp ne i32 %t45, 0 br i1 %t46, label %wbody6, label %wend7 wbody6: %t47 = load ptr, ptr @g_g_es_fnode %t48 = load i32, ptr %t39 %t49 = getelementptr inbounds %LSlice, ptr %t47, i32 0, i32 0 %t50 = load ptr, ptr %t49 %t51 = getelementptr inbounds %LSlice, ptr %t47, i32 0, i32 1 %t52 = load i32, ptr %t51 %t53 = icmp ult i32 %t48, %t52 br i1 %t53, label %ixok8, label %ixbad9 ixbad9: store i32 4208, ptr @lp_site %t54 = call ptr @lp_win_stdio(i32 2) store i32 0, ptr @lp_site call i32 (ptr, ptr, ...) @fprintf(ptr %t54, ptr @.fmt_bounds, ptr @.str7075, i32 %t48, i32 %t52) call void @exit(i32 1) unreachable ixok8: %t55 = getelementptr inbounds ptr, ptr %t50, i32 %t48 %t56 = load ptr, ptr %t55 store ptr %t56, ptr %t57 %t59 = load ptr, ptr %t57 %t60 = getelementptr inbounds %Cmp_Node, ptr %t59, i32 0, i32 1 %t61 = load ptr, ptr %t60 %t62 = icmp ne ptr %t61, null %t63 = zext i1 %t62 to i32 %t64 = icmp ne i32 %t63, 0 %t65 = zext i1 %t64 to i32 store i32 %t65, ptr %t58 br i1 %t64, label %sc10, label %scend11 sc10: %t66 = load ptr, ptr %t57 %t67 = getelementptr inbounds %Cmp_Node, ptr %t66, i32 0, i32 1 %t68 = load ptr, ptr %t67 %t69 = load ptr, ptr %t38 %t70 = call i32 @fn_str_starts(ptr %t68, ptr %t69) %t71 = icmp ne i32 %t70, 0 %t72 = zext i1 %t71 to i32 store i32 %t72, ptr %t58 br label %scend11 scend11: %t73 = load i32, ptr %t58 %t74 = icmp ne i32 %t73, 0 br i1 %t74, label %then12, label %ifend14 then12: %t75 = load ptr, ptr %t7 %t76 = load i32, ptr %t39 %t77 = getelementptr inbounds %LSlice, ptr %t75, i32 0, i32 1 %t78 = getelementptr inbounds %LSlice, ptr %t75, i32 0, i32 2 %t79 = getelementptr inbounds %LSlice, ptr %t75, i32 0, i32 0 %t80 = load i32, ptr %t77 %t81 = load i32, ptr %t78 %t82 = icmp sge i32 %t80, %t81 br i1 %t82, label %grow15, label %put16 grow15: %t83 = mul i32 %t81, 2 %t84 = icmp eq i32 %t81, 0 %t85 = select i1 %t84, i32 8, i32 %t83 %t86 = getelementptr i32, ptr null, i32 1 %t87 = ptrtoint ptr %t86 to i64 %t88 = zext i32 %t85 to i64 %t89 = mul i64 %t88, %t87 %t90 = load ptr, ptr %t79 store i32 4209, ptr @lp_site %t91 = call ptr @lp_realloc(ptr %t90, i64 %t89) store i32 0, ptr @lp_site store ptr %t91, ptr %t79 store i32 %t85, ptr %t78 br label %put16 put16: %t92 = load ptr, ptr %t79 %t93 = getelementptr inbounds i32, ptr %t92, i32 %t80 store i32 %t76, ptr %t93 %t94 = add i32 %t80, 1 store i32 %t94, ptr %t77 br label %ifend14 ifend14: %t95 = load i32, ptr %t39 %t96 = add i32 %t95, 1 store i32 %t96, ptr %t39 br label %wcond5 wend7: %t97 = load ptr, ptr %t7 store ptr %t97, ptr %retval br label %ret ret: %t98 = load ptr, ptr %retval ret ptr %t98 } define i32 @fn_es_keeps_nothing(ptr %arg_nm) { entry: %retval = alloca i32 %t0 = alloca ptr %t1 = alloca i32 %t2 = alloca i32 %t3 = alloca i32 %t4 = alloca i32 %t5 = alloca i32 %t6 = alloca i32 %t52 = alloca i32 %t53 = alloca i32 %t54 = alloca i32 %t55 = alloca i32 %t56 = alloca i32 %t57 = alloca i32 %t58 = alloca i32 %t111 = alloca i32 %t112 = alloca i32 %t113 = alloca i32 %t114 = alloca i32 %t115 = alloca i32 %t116 = alloca i32 %t162 = alloca i32 %t163 = alloca i32 %t164 = alloca i32 %t165 = alloca i32 %t166 = alloca i32 %t167 = alloca i32 store ptr %arg_nm, ptr %t0 %t7 = load ptr, ptr %t0 %t8 = call i32 @lp_str_eq(ptr %t7, ptr @.str7076) %t9 = icmp ne i32 %t8, 0 %t10 = zext i1 %t9 to i32 store i32 %t10, ptr %t6 br i1 %t9, label %scend1, label %sc0 sc0: %t11 = load ptr, ptr %t0 %t12 = call i32 @lp_str_eq(ptr %t11, ptr @.str7077) %t13 = icmp ne i32 %t12, 0 %t14 = zext i1 %t13 to i32 store i32 %t14, ptr %t6 br label %scend1 scend1: %t15 = load i32, ptr %t6 %t16 = icmp ne i32 %t15, 0 %t17 = zext i1 %t16 to i32 store i32 %t17, ptr %t5 br i1 %t16, label %scend3, label %sc2 sc2: %t18 = load ptr, ptr %t0 %t19 = call i32 @lp_str_eq(ptr %t18, ptr @.str7078) %t20 = icmp ne i32 %t19, 0 %t21 = zext i1 %t20 to i32 store i32 %t21, ptr %t5 br label %scend3 scend3: %t22 = load i32, ptr %t5 %t23 = icmp ne i32 %t22, 0 %t24 = zext i1 %t23 to i32 store i32 %t24, ptr %t4 br i1 %t23, label %scend5, label %sc4 sc4: %t25 = load ptr, ptr %t0 %t26 = call i32 @lp_str_eq(ptr %t25, ptr @.str7079) %t27 = icmp ne i32 %t26, 0 %t28 = zext i1 %t27 to i32 store i32 %t28, ptr %t4 br label %scend5 scend5: %t29 = load i32, ptr %t4 %t30 = icmp ne i32 %t29, 0 %t31 = zext i1 %t30 to i32 store i32 %t31, ptr %t3 br i1 %t30, label %scend7, label %sc6 sc6: %t32 = load ptr, ptr %t0 %t33 = call i32 @lp_str_eq(ptr %t32, ptr @.str7080) %t34 = icmp ne i32 %t33, 0 %t35 = zext i1 %t34 to i32 store i32 %t35, ptr %t3 br label %scend7 scend7: %t36 = load i32, ptr %t3 %t37 = icmp ne i32 %t36, 0 %t38 = zext i1 %t37 to i32 store i32 %t38, ptr %t2 br i1 %t37, label %scend9, label %sc8 sc8: %t39 = load ptr, ptr %t0 %t40 = call i32 @lp_str_eq(ptr %t39, ptr @.str7081) %t41 = icmp ne i32 %t40, 0 %t42 = zext i1 %t41 to i32 store i32 %t42, ptr %t2 br label %scend9 scend9: %t43 = load i32, ptr %t2 %t44 = icmp ne i32 %t43, 0 %t45 = zext i1 %t44 to i32 store i32 %t45, ptr %t1 br i1 %t44, label %scend11, label %sc10 sc10: %t46 = load ptr, ptr %t0 %t47 = call i32 @lp_str_eq(ptr %t46, ptr @.str7082) %t48 = icmp ne i32 %t47, 0 %t49 = zext i1 %t48 to i32 store i32 %t49, ptr %t1 br label %scend11 scend11: %t50 = load i32, ptr %t1 %t51 = icmp ne i32 %t50, 0 br i1 %t51, label %then12, label %ifend14 then12: store i32 1, ptr %retval br label %ret ifend14: %t59 = load ptr, ptr %t0 %t60 = call i32 @lp_str_eq(ptr %t59, ptr @.str7083) %t61 = icmp ne i32 %t60, 0 %t62 = zext i1 %t61 to i32 store i32 %t62, ptr %t58 br i1 %t61, label %scend16, label %sc15 sc15: %t63 = load ptr, ptr %t0 %t64 = call i32 @lp_str_eq(ptr %t63, ptr @.str7084) %t65 = icmp ne i32 %t64, 0 %t66 = zext i1 %t65 to i32 store i32 %t66, ptr %t58 br label %scend16 scend16: %t67 = load i32, ptr %t58 %t68 = icmp ne i32 %t67, 0 %t69 = zext i1 %t68 to i32 store i32 %t69, ptr %t57 br i1 %t68, label %scend18, label %sc17 sc17: %t70 = load ptr, ptr %t0 %t71 = call i32 @lp_str_eq(ptr %t70, ptr @.str7085) %t72 = icmp ne i32 %t71, 0 %t73 = zext i1 %t72 to i32 store i32 %t73, ptr %t57 br label %scend18 scend18: %t74 = load i32, ptr %t57 %t75 = icmp ne i32 %t74, 0 %t76 = zext i1 %t75 to i32 store i32 %t76, ptr %t56 br i1 %t75, label %scend20, label %sc19 sc19: %t77 = load ptr, ptr %t0 %t78 = call i32 @lp_str_eq(ptr %t77, ptr @.str7086) %t79 = icmp ne i32 %t78, 0 %t80 = zext i1 %t79 to i32 store i32 %t80, ptr %t56 br label %scend20 scend20: %t81 = load i32, ptr %t56 %t82 = icmp ne i32 %t81, 0 %t83 = zext i1 %t82 to i32 store i32 %t83, ptr %t55 br i1 %t82, label %scend22, label %sc21 sc21: %t84 = load ptr, ptr %t0 %t85 = call i32 @lp_str_eq(ptr %t84, ptr @.str7087) %t86 = icmp ne i32 %t85, 0 %t87 = zext i1 %t86 to i32 store i32 %t87, ptr %t55 br label %scend22 scend22: %t88 = load i32, ptr %t55 %t89 = icmp ne i32 %t88, 0 %t90 = zext i1 %t89 to i32 store i32 %t90, ptr %t54 br i1 %t89, label %scend24, label %sc23 sc23: %t91 = load ptr, ptr %t0 %t92 = call i32 @lp_str_eq(ptr %t91, ptr @.str7088) %t93 = icmp ne i32 %t92, 0 %t94 = zext i1 %t93 to i32 store i32 %t94, ptr %t54 br label %scend24 scend24: %t95 = load i32, ptr %t54 %t96 = icmp ne i32 %t95, 0 %t97 = zext i1 %t96 to i32 store i32 %t97, ptr %t53 br i1 %t96, label %scend26, label %sc25 sc25: %t98 = load ptr, ptr %t0 %t99 = call i32 @lp_str_eq(ptr %t98, ptr @.str7089) %t100 = icmp ne i32 %t99, 0 %t101 = zext i1 %t100 to i32 store i32 %t101, ptr %t53 br label %scend26 scend26: %t102 = load i32, ptr %t53 %t103 = icmp ne i32 %t102, 0 %t104 = zext i1 %t103 to i32 store i32 %t104, ptr %t52 br i1 %t103, label %scend28, label %sc27 sc27: %t105 = load ptr, ptr %t0 %t106 = call i32 @lp_str_eq(ptr %t105, ptr @.str7090) %t107 = icmp ne i32 %t106, 0 %t108 = zext i1 %t107 to i32 store i32 %t108, ptr %t52 br label %scend28 scend28: %t109 = load i32, ptr %t52 %t110 = icmp ne i32 %t109, 0 br i1 %t110, label %then29, label %ifend31 then29: store i32 1, ptr %retval br label %ret ifend31: %t117 = load ptr, ptr %t0 %t118 = call i32 @lp_str_eq(ptr %t117, ptr @.str7091) %t119 = icmp ne i32 %t118, 0 %t120 = zext i1 %t119 to i32 store i32 %t120, ptr %t116 br i1 %t119, label %scend33, label %sc32 sc32: %t121 = load ptr, ptr %t0 %t122 = call i32 @lp_str_eq(ptr %t121, ptr @.str7092) %t123 = icmp ne i32 %t122, 0 %t124 = zext i1 %t123 to i32 store i32 %t124, ptr %t116 br label %scend33 scend33: %t125 = load i32, ptr %t116 %t126 = icmp ne i32 %t125, 0 %t127 = zext i1 %t126 to i32 store i32 %t127, ptr %t115 br i1 %t126, label %scend35, label %sc34 sc34: %t128 = load ptr, ptr %t0 %t129 = call i32 @lp_str_eq(ptr %t128, ptr @.str7093) %t130 = icmp ne i32 %t129, 0 %t131 = zext i1 %t130 to i32 store i32 %t131, ptr %t115 br label %scend35 scend35: %t132 = load i32, ptr %t115 %t133 = icmp ne i32 %t132, 0 %t134 = zext i1 %t133 to i32 store i32 %t134, ptr %t114 br i1 %t133, label %scend37, label %sc36 sc36: %t135 = load ptr, ptr %t0 %t136 = call i32 @lp_str_eq(ptr %t135, ptr @.str7094) %t137 = icmp ne i32 %t136, 0 %t138 = zext i1 %t137 to i32 store i32 %t138, ptr %t114 br label %scend37 scend37: %t139 = load i32, ptr %t114 %t140 = icmp ne i32 %t139, 0 %t141 = zext i1 %t140 to i32 store i32 %t141, ptr %t113 br i1 %t140, label %scend39, label %sc38 sc38: %t142 = load ptr, ptr %t0 %t143 = call i32 @lp_str_eq(ptr %t142, ptr @.str7095) %t144 = icmp ne i32 %t143, 0 %t145 = zext i1 %t144 to i32 store i32 %t145, ptr %t113 br label %scend39 scend39: %t146 = load i32, ptr %t113 %t147 = icmp ne i32 %t146, 0 %t148 = zext i1 %t147 to i32 store i32 %t148, ptr %t112 br i1 %t147, label %scend41, label %sc40 sc40: %t149 = load ptr, ptr %t0 %t150 = call i32 @lp_str_eq(ptr %t149, ptr @.str7096) %t151 = icmp ne i32 %t150, 0 %t152 = zext i1 %t151 to i32 store i32 %t152, ptr %t112 br label %scend41 scend41: %t153 = load i32, ptr %t112 %t154 = icmp ne i32 %t153, 0 %t155 = zext i1 %t154 to i32 store i32 %t155, ptr %t111 br i1 %t154, label %scend43, label %sc42 sc42: %t156 = load ptr, ptr %t0 %t157 = call i32 @lp_str_eq(ptr %t156, ptr @.str7097) %t158 = icmp ne i32 %t157, 0 %t159 = zext i1 %t158 to i32 store i32 %t159, ptr %t111 br label %scend43 scend43: %t160 = load i32, ptr %t111 %t161 = icmp ne i32 %t160, 0 br i1 %t161, label %then44, label %ifend46 then44: store i32 1, ptr %retval br label %ret ifend46: %t168 = load ptr, ptr %t0 %t169 = call i32 @lp_str_eq(ptr %t168, ptr @.str7098) %t170 = icmp ne i32 %t169, 0 %t171 = zext i1 %t170 to i32 store i32 %t171, ptr %t167 br i1 %t170, label %scend48, label %sc47 sc47: %t172 = load ptr, ptr %t0 %t173 = call i32 @lp_str_eq(ptr %t172, ptr @.str7099) %t174 = icmp ne i32 %t173, 0 %t175 = zext i1 %t174 to i32 store i32 %t175, ptr %t167 br label %scend48 scend48: %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 %scend50, label %sc49 sc49: %t179 = load ptr, ptr %t0 %t180 = call i32 @lp_str_eq(ptr %t179, ptr @.str7100) %t181 = icmp ne i32 %t180, 0 %t182 = zext i1 %t181 to i32 store i32 %t182, ptr %t166 br label %scend50 scend50: %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 %scend52, label %sc51 sc51: %t186 = load ptr, ptr %t0 %t187 = call i32 @lp_str_eq(ptr %t186, ptr @.str7101) %t188 = icmp ne i32 %t187, 0 %t189 = zext i1 %t188 to i32 store i32 %t189, ptr %t165 br label %scend52 scend52: %t190 = load i32, ptr %t165 %t191 = icmp ne i32 %t190, 0 %t192 = zext i1 %t191 to i32 store i32 %t192, ptr %t164 br i1 %t191, label %scend54, label %sc53 sc53: %t193 = load ptr, ptr %t0 %t194 = call i32 @lp_str_eq(ptr %t193, ptr @.str7102) %t195 = icmp ne i32 %t194, 0 %t196 = zext i1 %t195 to i32 store i32 %t196, ptr %t164 br label %scend54 scend54: %t197 = load i32, ptr %t164 %t198 = icmp ne i32 %t197, 0 %t199 = zext i1 %t198 to i32 store i32 %t199, ptr %t163 br i1 %t198, label %scend56, label %sc55 sc55: %t200 = load ptr, ptr %t0 %t201 = call i32 @lp_str_eq(ptr %t200, ptr @.str7103) %t202 = icmp ne i32 %t201, 0 %t203 = zext i1 %t202 to i32 store i32 %t203, ptr %t163 br label %scend56 scend56: %t204 = load i32, ptr %t163 %t205 = icmp ne i32 %t204, 0 %t206 = zext i1 %t205 to i32 store i32 %t206, ptr %t162 br i1 %t205, label %scend58, label %sc57 sc57: %t207 = load ptr, ptr %t0 %t208 = call i32 @lp_str_eq(ptr %t207, ptr @.str7104) %t209 = icmp ne i32 %t208, 0 %t210 = zext i1 %t209 to i32 store i32 %t210, ptr %t162 br label %scend58 scend58: %t211 = load i32, ptr %t162 %t212 = icmp ne i32 %t211, 0 br i1 %t212, label %then59, label %ifend61 then59: store i32 1, ptr %retval br label %ret ifend61: store i32 0, ptr %retval br label %ret ret: %t213 = load i32, ptr %retval ret i32 %t213 } define void @fn_es_args_escape(ptr %arg_e) { entry: %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 = load i32, ptr %t1 %t15 = getelementptr inbounds %LSlice, ptr %t13, i32 0, i32 0 %t16 = load ptr, ptr %t15 %t17 = getelementptr inbounds %LSlice, ptr %t13, i32 0, i32 1 %t18 = load i32, ptr %t17 %t19 = icmp ult i32 %t14, %t18 br i1 %t19, label %ixok3, label %ixbad4 ixbad4: store i32 4210, ptr @lp_site %t20 = call ptr @lp_win_stdio(i32 2) store i32 0, ptr @lp_site call i32 (ptr, ptr, ...) @fprintf(ptr %t20, ptr @.fmt_bounds, ptr @.str7105, i32 %t14, i32 %t18) call void @exit(i32 1) unreachable ixok3: %t21 = getelementptr inbounds ptr, ptr %t16, i32 %t14 %t22 = load ptr, ptr %t21 %t23 = call i32 @fn_es_val(ptr %t22) call void @fn_es_escape(i32 %t23) %t24 = load i32, ptr %t1 %t25 = add i32 %t24, 1 store i32 %t25, ptr %t1 br label %wcond0 wend2: br label %ret ret: ret void } define void @fn_es_args_walk(ptr %arg_e) { entry: %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 = load i32, ptr %t1 %t15 = getelementptr inbounds %LSlice, ptr %t13, i32 0, i32 0 %t16 = load ptr, ptr %t15 %t17 = getelementptr inbounds %LSlice, ptr %t13, i32 0, i32 1 %t18 = load i32, ptr %t17 %t19 = icmp ult i32 %t14, %t18 br i1 %t19, label %ixok3, label %ixbad4 ixbad4: store i32 4211, ptr @lp_site %t20 = call ptr @lp_win_stdio(i32 2) store i32 0, ptr @lp_site call i32 (ptr, ptr, ...) @fprintf(ptr %t20, ptr @.fmt_bounds, ptr @.str7107, i32 %t14, i32 %t18) call void @exit(i32 1) unreachable ixok3: %t21 = getelementptr inbounds ptr, ptr %t16, i32 %t14 %t22 = load ptr, ptr %t21 %t23 = call i32 @fn_es_val(ptr %t22) %t24 = load i32, ptr %t1 %t25 = add i32 %t24, 1 store i32 %t25, ptr %t1 br label %wcond0 wend2: br label %ret ret: ret void } define i32 @fn_es_call(ptr %arg_e) { entry: %retval = alloca i32 %t0 = alloca ptr %t4 = alloca ptr %t5 = alloca i32 %t6 = alloca i32 %t34 = alloca ptr %t48 = alloca i32 %t62 = alloca i32 %t96 = alloca i32 %t124 = alloca i32 %t240 = alloca i32 %t241 = alloca i32 %t242 = alloca i32 %t243 = alloca i32 %t244 = alloca i32 %t245 = alloca i32 %t294 = alloca i32 %t322 = alloca i32 %t352 = alloca i32 %t401 = alloca i32 %t429 = alloca i32 %t430 = alloca i32 %t458 = alloca ptr %t466 = alloca i32 %t467 = alloca i32 %t485 = alloca i32 %t539 = alloca i32 %t562 = alloca i32 %t563 = alloca i32 %t590 = alloca ptr %t591 = alloca i32 %t692 = alloca i32 %t693 = alloca i32 %t694 = alloca i32 %t695 = alloca i32 %t757 = alloca i32 %t769 = alloca i32 %t814 = alloca i32 %t825 = alloca ptr %t848 = alloca i32 %t849 = alloca i32 %t915 = alloca i32 %t928 = alloca i32 %t929 = alloca i32 %t930 = alloca i32 %t931 = alloca i32 %t932 = alloca i32 %t1015 = alloca i32 %t1016 = alloca i32 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 store ptr %t3, ptr %t4 %t7 = load ptr, ptr %t4 %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 %t6 br i1 %t10, label %sc0, label %scend1 sc0: %t12 = load ptr, ptr %t4 %t13 = getelementptr inbounds %Cmp_Node, ptr %t12, i32 0, i32 0 %t14 = load i32, ptr %t13 %t15 = icmp eq i32 %t14, 33 %t16 = zext i1 %t15 to i32 %t17 = icmp ne i32 %t16, 0 %t18 = zext i1 %t17 to i32 store i32 %t18, ptr %t6 br label %scend1 scend1: %t19 = load i32, ptr %t6 %t20 = icmp ne i32 %t19, 0 %t21 = zext i1 %t20 to i32 store i32 %t21, ptr %t5 br i1 %t20, label %sc2, label %scend3 sc2: %t22 = load ptr, ptr %t4 %t23 = getelementptr inbounds %Cmp_Node, ptr %t22, i32 0, i32 1 %t24 = load ptr, ptr %t23 %t25 = icmp ne ptr %t24, null %t26 = zext i1 %t25 to i32 %t27 = icmp ne i32 %t26, 0 %t28 = zext i1 %t27 to i32 store i32 %t28, ptr %t5 br label %scend3 scend3: %t29 = load i32, ptr %t5 %t30 = icmp ne i32 %t29, 0 br i1 %t30, label %then4, label %ifend6 then4: %t31 = load ptr, ptr %t4 %t32 = getelementptr inbounds %Cmp_Node, ptr %t31, i32 0, i32 1 %t33 = load ptr, ptr %t32 store ptr %t33, ptr %t34 %t35 = load ptr, ptr %t34 %t36 = call i32 @fn_es_local(ptr %t35) %t37 = icmp sge i32 %t36, 0 %t38 = zext i1 %t37 to i32 %t39 = icmp ne i32 %t38, 0 br i1 %t39, label %then7, label %ifend9 then7: %t40 = load ptr, ptr %t0 call void @fn_es_args_escape(ptr %t40) %t41 = load i32, ptr @g_g_es_heap store i32 %t41, ptr %retval br label %ret ifend9: %t42 = load ptr, ptr %t34 %t43 = call i32 @lp_str_eq(ptr %t42, ptr @.str7109) %t44 = icmp ne i32 %t43, 0 br i1 %t44, label %then10, label %ifend12 then10: %t45 = load ptr, ptr %t0 call void @fn_es_args_walk(ptr %t45) %t46 = load ptr, ptr %t0 %t47 = call i32 @fn_es_site(ptr %t46) store i32 %t47, ptr %retval br label %ret ifend12: %t49 = load ptr, ptr %t34 %t50 = call i32 @lp_str_eq(ptr %t49, ptr @.str7110) %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 %t34 %t54 = call i32 @lp_str_eq(ptr %t53, ptr @.str7111) %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 br i1 %t58, label %then15, label %ifend17 then15: %t59 = load ptr, ptr %t0 call void @fn_es_args_walk(ptr %t59) %t60 = load ptr, ptr %t0 %t61 = call i32 @fn_es_site(ptr %t60) store i32 %t61, ptr %t62 %t63 = load ptr, ptr @g_g_es_flag %t64 = load i32, ptr %t62 %t65 = getelementptr inbounds %LSlice, ptr %t63, i32 0, i32 0 %t66 = load ptr, ptr %t65 %t67 = getelementptr inbounds %LSlice, ptr %t63, i32 0, i32 1 %t68 = load i32, ptr %t67 %t69 = icmp ult i32 %t64, %t68 br i1 %t69, label %ixok18, label %ixbad19 ixbad19: store i32 4212, ptr @lp_site %t70 = call ptr @lp_win_stdio(i32 2) store i32 0, ptr @lp_site call i32 (ptr, ptr, ...) @fprintf(ptr %t70, ptr @.fmt_bounds, ptr @.str7112, i32 %t64, i32 %t68) call void @exit(i32 1) unreachable ixok18: %t71 = getelementptr inbounds i32, ptr %t66, i32 %t64 %t72 = load ptr, ptr @g_g_es_flag %t73 = load i32, ptr %t62 %t74 = getelementptr inbounds %LSlice, ptr %t72, i32 0, i32 0 %t75 = load ptr, ptr %t74 %t76 = getelementptr inbounds %LSlice, ptr %t72, i32 0, i32 1 %t77 = load i32, ptr %t76 %t78 = icmp ult i32 %t73, %t77 br i1 %t78, label %ixok20, label %ixbad21 ixbad21: store i32 4213, ptr @lp_site %t79 = call ptr @lp_win_stdio(i32 2) store i32 0, ptr @lp_site call i32 (ptr, ptr, ...) @fprintf(ptr %t79, ptr @.fmt_bounds, ptr @.str7114, i32 %t73, i32 %t77) call void @exit(i32 1) unreachable ixok20: %t80 = getelementptr inbounds i32, ptr %t75, i32 %t73 %t81 = load i32, ptr %t80 %t82 = or i32 %t81, 1 store i32 %t82, ptr %t71 %t83 = load ptr, ptr @g_g_es_site_aok %t84 = load ptr, ptr @g_g_es_site_aok %t85 = getelementptr inbounds %LSlice, ptr %t84, i32 0, i32 1 %t86 = load i32, ptr %t85 %t87 = sub i32 %t86, 1 %t88 = getelementptr inbounds %LSlice, ptr %t83, i32 0, i32 0 %t89 = load ptr, ptr %t88 %t90 = getelementptr inbounds %LSlice, ptr %t83, i32 0, i32 1 %t91 = load i32, ptr %t90 %t92 = icmp ult i32 %t87, %t91 br i1 %t92, label %ixok22, label %ixbad23 ixbad23: store i32 4214, ptr @lp_site %t93 = call ptr @lp_win_stdio(i32 2) store i32 0, ptr @lp_site call i32 (ptr, ptr, ...) @fprintf(ptr %t93, ptr @.fmt_bounds, ptr @.str7115, i32 %t87, i32 %t91) call void @exit(i32 1) unreachable ixok22: %t94 = getelementptr inbounds i32, ptr %t89, i32 %t87 store i32 1, ptr %t94 %t95 = load i32, ptr %t62 store i32 %t95, ptr %retval br label %ret ifend17: %t97 = load ptr, ptr %t34 %t98 = call i32 @lp_str_eq(ptr %t97, ptr @.str7116) %t99 = icmp ne i32 %t98, 0 %t100 = zext i1 %t99 to i32 store i32 %t100, ptr %t96 br i1 %t99, label %sc24, label %scend25 sc24: %t101 = load ptr, ptr %t0 %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 1 %t105 = load i32, ptr %t104 %t106 = icmp sge i32 %t105, 2 %t107 = zext i1 %t106 to i32 %t108 = icmp ne i32 %t107, 0 %t109 = zext i1 %t108 to i32 store i32 %t109, ptr %t96 br label %scend25 scend25: %t110 = load i32, ptr %t96 %t111 = icmp ne i32 %t110, 0 br i1 %t111, label %then26, label %ifend28 then26: %t112 = load ptr, ptr %t0 %t113 = getelementptr inbounds %Cmp_Node, ptr %t112, i32 0, i32 7 %t114 = load ptr, ptr %t113 %t115 = getelementptr inbounds %LSlice, ptr %t114, i32 0, i32 0 %t116 = load ptr, ptr %t115 %t117 = getelementptr inbounds %LSlice, ptr %t114, i32 0, i32 1 %t118 = load i32, ptr %t117 %t119 = icmp ult i32 0, %t118 br i1 %t119, label %ixok29, label %ixbad30 ixbad30: store i32 4215, ptr @lp_site %t120 = call ptr @lp_win_stdio(i32 2) store i32 0, ptr @lp_site call i32 (ptr, ptr, ...) @fprintf(ptr %t120, ptr @.fmt_bounds, ptr @.str7117, i32 0, i32 %t118) call void @exit(i32 1) unreachable ixok29: %t121 = getelementptr inbounds ptr, ptr %t116, i32 0 %t122 = load ptr, ptr %t121 %t123 = call i32 @fn_es_val(ptr %t122) store i32 %t123, ptr %t124 %t125 = load ptr, ptr %t0 %t126 = getelementptr inbounds %Cmp_Node, ptr %t125, i32 0, i32 7 %t127 = load ptr, ptr %t126 %t128 = getelementptr inbounds %LSlice, ptr %t127, i32 0, i32 0 %t129 = load ptr, ptr %t128 %t130 = getelementptr inbounds %LSlice, ptr %t127, i32 0, i32 1 %t131 = load i32, ptr %t130 %t132 = icmp ult i32 1, %t131 br i1 %t132, label %ixok31, label %ixbad32 ixbad32: store i32 4216, ptr @lp_site %t133 = call ptr @lp_win_stdio(i32 2) store i32 0, ptr @lp_site call i32 (ptr, ptr, ...) @fprintf(ptr %t133, ptr @.fmt_bounds, ptr @.str7118, i32 1, i32 %t131) call void @exit(i32 1) unreachable ixok31: %t134 = getelementptr inbounds ptr, ptr %t129, i32 1 %t135 = load ptr, ptr %t134 %t136 = call i32 @fn_es_ref(ptr %t135) %t137 = load i32, ptr %t124 call void @fn_es_store(i32 %t136, i32 %t137) %t138 = load ptr, ptr @g_g_es_site %t139 = load ptr, ptr %t0 %t140 = getelementptr inbounds %LSlice, ptr %t138, i32 0, i32 1 %t141 = getelementptr inbounds %LSlice, ptr %t138, i32 0, i32 2 %t142 = getelementptr inbounds %LSlice, ptr %t138, i32 0, i32 0 %t143 = load i32, ptr %t140 %t144 = load i32, ptr %t141 %t145 = icmp sge i32 %t143, %t144 br i1 %t145, label %grow33, label %put34 grow33: %t146 = mul i32 %t144, 2 %t147 = icmp eq i32 %t144, 0 %t148 = select i1 %t147, i32 8, i32 %t146 %t149 = getelementptr ptr, ptr null, i32 1 %t150 = ptrtoint ptr %t149 to i64 %t151 = zext i32 %t148 to i64 %t152 = mul i64 %t151, %t150 %t153 = load ptr, ptr %t142 store i32 4217, ptr @lp_site %t154 = call ptr @lp_realloc(ptr %t153, i64 %t152) store i32 0, ptr @lp_site store ptr %t154, ptr %t142 store i32 %t148, ptr %t141 br label %put34 put34: %t155 = load ptr, ptr %t142 %t156 = getelementptr inbounds ptr, ptr %t155, i32 %t143 store ptr %t139, ptr %t156 %t157 = add i32 %t143, 1 store i32 %t157, ptr %t140 %t158 = load ptr, ptr @g_g_es_site_cls %t159 = load i32, ptr %t124 %t160 = getelementptr inbounds %LSlice, ptr %t158, i32 0, i32 1 %t161 = getelementptr inbounds %LSlice, ptr %t158, i32 0, i32 2 %t162 = getelementptr inbounds %LSlice, ptr %t158, i32 0, i32 0 %t163 = load i32, ptr %t160 %t164 = load i32, ptr %t161 %t165 = icmp sge i32 %t163, %t164 br i1 %t165, label %grow35, label %put36 grow35: %t166 = mul i32 %t164, 2 %t167 = icmp eq i32 %t164, 0 %t168 = select i1 %t167, i32 8, i32 %t166 %t169 = getelementptr i32, ptr null, i32 1 %t170 = ptrtoint ptr %t169 to i64 %t171 = zext i32 %t168 to i64 %t172 = mul i64 %t171, %t170 %t173 = load ptr, ptr %t162 store i32 4218, ptr @lp_site %t174 = call ptr @lp_realloc(ptr %t173, i64 %t172) store i32 0, ptr @lp_site store ptr %t174, ptr %t162 store i32 %t168, ptr %t161 br label %put36 put36: %t175 = load ptr, ptr %t162 %t176 = getelementptr inbounds i32, ptr %t175, i32 %t163 store i32 %t159, ptr %t176 %t177 = add i32 %t163, 1 store i32 %t177, ptr %t160 %t178 = load ptr, ptr @g_g_es_site_fn %t179 = load i32, ptr @g_g_es_cur %t180 = getelementptr inbounds %LSlice, ptr %t178, i32 0, i32 1 %t181 = getelementptr inbounds %LSlice, ptr %t178, i32 0, i32 2 %t182 = getelementptr inbounds %LSlice, ptr %t178, i32 0, i32 0 %t183 = load i32, ptr %t180 %t184 = load i32, ptr %t181 %t185 = icmp sge i32 %t183, %t184 br i1 %t185, label %grow37, label %put38 grow37: %t186 = mul i32 %t184, 2 %t187 = icmp eq i32 %t184, 0 %t188 = select i1 %t187, i32 8, i32 %t186 %t189 = getelementptr i32, ptr null, i32 1 %t190 = ptrtoint ptr %t189 to i64 %t191 = zext i32 %t188 to i64 %t192 = mul i64 %t191, %t190 %t193 = load ptr, ptr %t182 store i32 4219, ptr @lp_site %t194 = call ptr @lp_realloc(ptr %t193, i64 %t192) store i32 0, ptr @lp_site store ptr %t194, ptr %t182 store i32 %t188, ptr %t181 br label %put38 put38: %t195 = load ptr, ptr %t182 %t196 = getelementptr inbounds i32, ptr %t195, i32 %t183 store i32 %t179, ptr %t196 %t197 = add i32 %t183, 1 store i32 %t197, ptr %t180 %t198 = load ptr, ptr @g_g_es_site_aok %t199 = load i32, ptr @g_g_es_aok %t200 = icmp sgt i32 %t199, 0 %t201 = zext i1 %t200 to i32 %t202 = getelementptr inbounds %LSlice, ptr %t198, i32 0, i32 1 %t203 = getelementptr inbounds %LSlice, ptr %t198, i32 0, i32 2 %t204 = getelementptr inbounds %LSlice, ptr %t198, i32 0, i32 0 %t205 = load i32, ptr %t202 %t206 = load i32, ptr %t203 %t207 = icmp sge i32 %t205, %t206 br i1 %t207, label %grow39, label %put40 grow39: %t208 = mul i32 %t206, 2 %t209 = icmp eq i32 %t206, 0 %t210 = select i1 %t209, i32 8, i32 %t208 %t211 = getelementptr i32, ptr null, i32 1 %t212 = ptrtoint ptr %t211 to i64 %t213 = zext i32 %t210 to i64 %t214 = mul i64 %t213, %t212 %t215 = load ptr, ptr %t204 store i32 4220, ptr @lp_site %t216 = call ptr @lp_realloc(ptr %t215, i64 %t214) store i32 0, ptr @lp_site store ptr %t216, ptr %t204 store i32 %t210, ptr %t203 br label %put40 put40: %t217 = load ptr, ptr %t204 %t218 = getelementptr inbounds i32, ptr %t217, i32 %t205 store i32 %t201, ptr %t218 %t219 = add i32 %t205, 1 store i32 %t219, ptr %t202 %t220 = load ptr, ptr @g_g_es_site_grow %t221 = getelementptr inbounds %LSlice, ptr %t220, i32 0, i32 1 %t222 = getelementptr inbounds %LSlice, ptr %t220, i32 0, i32 2 %t223 = getelementptr inbounds %LSlice, ptr %t220, i32 0, i32 0 %t224 = load i32, ptr %t221 %t225 = load i32, ptr %t222 %t226 = icmp sge i32 %t224, %t225 br i1 %t226, label %grow41, label %put42 grow41: %t227 = mul i32 %t225, 2 %t228 = icmp eq i32 %t225, 0 %t229 = select i1 %t228, i32 8, i32 %t227 %t230 = getelementptr i32, ptr null, i32 1 %t231 = ptrtoint ptr %t230 to i64 %t232 = zext i32 %t229 to i64 %t233 = mul i64 %t232, %t231 %t234 = load ptr, ptr %t223 store i32 4221, ptr @lp_site %t235 = call ptr @lp_realloc(ptr %t234, i64 %t233) store i32 0, ptr @lp_site store ptr %t235, ptr %t223 store i32 %t229, ptr %t222 br label %put42 put42: %t236 = load ptr, ptr %t223 %t237 = getelementptr inbounds i32, ptr %t236, i32 %t224 store i32 1, ptr %t237 %t238 = add i32 %t224, 1 store i32 %t238, ptr %t221 %t239 = sub i32 0, 1 store i32 %t239, ptr %retval br label %ret ifend28: %t246 = load ptr, ptr %t34 %t247 = call i32 @lp_str_eq(ptr %t246, ptr @.str7119) %t248 = icmp ne i32 %t247, 0 %t249 = zext i1 %t248 to i32 store i32 %t249, ptr %t245 br i1 %t248, label %scend44, label %sc43 sc43: %t250 = load ptr, ptr %t34 %t251 = call i32 @lp_str_eq(ptr %t250, ptr @.str7120) %t252 = icmp ne i32 %t251, 0 %t253 = zext i1 %t252 to i32 store i32 %t253, ptr %t245 br label %scend44 scend44: %t254 = load i32, ptr %t245 %t255 = icmp ne i32 %t254, 0 %t256 = zext i1 %t255 to i32 store i32 %t256, ptr %t244 br i1 %t255, label %scend46, label %sc45 sc45: %t257 = load ptr, ptr %t34 %t258 = call i32 @lp_str_eq(ptr %t257, ptr @.str7121) %t259 = icmp ne i32 %t258, 0 %t260 = zext i1 %t259 to i32 store i32 %t260, ptr %t244 br label %scend46 scend46: %t261 = load i32, ptr %t244 %t262 = icmp ne i32 %t261, 0 %t263 = zext i1 %t262 to i32 store i32 %t263, ptr %t243 br i1 %t262, label %scend48, label %sc47 sc47: %t264 = load ptr, ptr %t34 %t265 = call i32 @lp_str_eq(ptr %t264, ptr @.str7122) %t266 = icmp ne i32 %t265, 0 %t267 = zext i1 %t266 to i32 store i32 %t267, ptr %t243 br label %scend48 scend48: %t268 = load i32, ptr %t243 %t269 = icmp ne i32 %t268, 0 %t270 = zext i1 %t269 to i32 store i32 %t270, ptr %t242 br i1 %t269, label %scend50, label %sc49 sc49: %t271 = load ptr, ptr %t34 %t272 = call i32 @lp_str_eq(ptr %t271, ptr @.str7123) %t273 = icmp ne i32 %t272, 0 %t274 = zext i1 %t273 to i32 store i32 %t274, ptr %t242 br label %scend50 scend50: %t275 = load i32, ptr %t242 %t276 = icmp ne i32 %t275, 0 %t277 = zext i1 %t276 to i32 store i32 %t277, ptr %t241 br i1 %t276, label %scend52, label %sc51 sc51: %t278 = load ptr, ptr %t34 %t279 = call i32 @lp_str_eq(ptr %t278, ptr @.str7124) %t280 = icmp ne i32 %t279, 0 %t281 = zext i1 %t280 to i32 store i32 %t281, ptr %t241 br label %scend52 scend52: %t282 = load i32, ptr %t241 %t283 = icmp ne i32 %t282, 0 %t284 = zext i1 %t283 to i32 store i32 %t284, ptr %t240 br i1 %t283, label %scend54, label %sc53 sc53: %t285 = load ptr, ptr %t34 %t286 = call i32 @lp_str_eq(ptr %t285, ptr @.str7125) %t287 = icmp ne i32 %t286, 0 %t288 = zext i1 %t287 to i32 store i32 %t288, ptr %t240 br label %scend54 scend54: %t289 = load i32, ptr %t240 %t290 = icmp ne i32 %t289, 0 br i1 %t290, label %then55, label %ifend57 then55: %t291 = load ptr, ptr %t0 call void @fn_es_args_walk(ptr %t291) %t292 = load ptr, ptr %t0 %t293 = call i32 @fn_es_site(ptr %t292) store i32 %t293, ptr %retval br label %ret ifend57: %t295 = load ptr, ptr %t34 %t296 = call i32 @lp_str_eq(ptr %t295, ptr @.str7126) %t297 = icmp ne i32 %t296, 0 %t298 = zext i1 %t297 to i32 store i32 %t298, ptr %t294 br i1 %t297, label %sc58, label %scend59 sc58: %t299 = load ptr, ptr %t0 %t300 = getelementptr inbounds %Cmp_Node, ptr %t299, i32 0, i32 7 %t301 = load ptr, ptr %t300 %t302 = getelementptr inbounds %LSlice, ptr %t301, i32 0, i32 1 %t303 = load i32, ptr %t302 %t304 = icmp eq i32 %t303, 1 %t305 = zext i1 %t304 to i32 %t306 = icmp ne i32 %t305, 0 %t307 = zext i1 %t306 to i32 store i32 %t307, ptr %t294 br label %scend59 scend59: %t308 = load i32, ptr %t294 %t309 = icmp ne i32 %t308, 0 br i1 %t309, label %then60, label %ifend62 then60: %t310 = load ptr, ptr %t0 %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 %LSlice, ptr %t312, i32 0, i32 1 %t316 = load i32, ptr %t315 %t317 = icmp ult i32 0, %t316 br i1 %t317, label %ixok63, label %ixbad64 ixbad64: store i32 4222, ptr @lp_site %t318 = call ptr @lp_win_stdio(i32 2) store i32 0, ptr @lp_site call i32 (ptr, ptr, ...) @fprintf(ptr %t318, ptr @.fmt_bounds, ptr @.str7127, i32 0, i32 %t316) call void @exit(i32 1) unreachable ixok63: %t319 = getelementptr inbounds ptr, ptr %t314, i32 0 %t320 = load ptr, ptr %t319 %t321 = call i32 @fn_es_val(ptr %t320) store i32 %t321, ptr %t322 %t323 = load i32, ptr %t322 %t324 = icmp sge i32 %t323, 0 %t325 = zext i1 %t324 to i32 %t326 = icmp ne i32 %t325, 0 br i1 %t326, label %then65, label %ifend67 then65: %t327 = load ptr, ptr @g_g_es_flag %t328 = load i32, ptr %t322 %t329 = getelementptr inbounds %LSlice, ptr %t327, i32 0, i32 0 %t330 = load ptr, ptr %t329 %t331 = getelementptr inbounds %LSlice, ptr %t327, i32 0, i32 1 %t332 = load i32, ptr %t331 %t333 = icmp ult i32 %t328, %t332 br i1 %t333, label %ixok68, label %ixbad69 ixbad69: store i32 4223, ptr @lp_site %t334 = call ptr @lp_win_stdio(i32 2) store i32 0, ptr @lp_site call i32 (ptr, ptr, ...) @fprintf(ptr %t334, ptr @.fmt_bounds, ptr @.str7128, i32 %t328, i32 %t332) call void @exit(i32 1) unreachable ixok68: %t335 = getelementptr inbounds i32, ptr %t330, i32 %t328 %t336 = load ptr, ptr @g_g_es_flag %t337 = load i32, ptr %t322 %t338 = getelementptr inbounds %LSlice, ptr %t336, i32 0, i32 0 %t339 = load ptr, ptr %t338 %t340 = getelementptr inbounds %LSlice, ptr %t336, i32 0, i32 1 %t341 = load i32, ptr %t340 %t342 = icmp ult i32 %t337, %t341 br i1 %t342, label %ixok70, label %ixbad71 ixbad71: store i32 4224, ptr @lp_site %t343 = call ptr @lp_win_stdio(i32 2) store i32 0, ptr @lp_site call i32 (ptr, ptr, ...) @fprintf(ptr %t343, ptr @.fmt_bounds, ptr @.str7129, i32 %t337, i32 %t341) call void @exit(i32 1) unreachable ixok70: %t344 = getelementptr inbounds i32, ptr %t339, i32 %t337 %t345 = load i32, ptr %t344 %t346 = or i32 %t345, 4 store i32 %t346, ptr %t335 br label %ifend67 ifend67: %t347 = sub i32 0, 1 store i32 %t347, ptr %retval br label %ret ifend62: %t348 = load ptr, ptr %t34 %t349 = call i32 @lp_str_eq(ptr %t348, ptr @.str7130) %t350 = icmp ne i32 %t349, 0 br i1 %t350, label %then72, label %ifend74 then72: %t351 = load ptr, ptr %t0 call void @fn_es_args_walk(ptr %t351) store i32 0, ptr %t352 br label %wcond75 wcond75: %t353 = load i32, ptr %t352 %t354 = load ptr, ptr %t0 %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 1 %t358 = load i32, ptr %t357 %t359 = icmp slt i32 %t353, %t358 %t360 = zext i1 %t359 to i32 %t361 = icmp ne i32 %t360, 0 br i1 %t361, label %wbody76, label %wend77 wbody76: %t362 = load ptr, ptr @g_g_es_consumed %t363 = load ptr, ptr %t0 %t364 = getelementptr inbounds %Cmp_Node, ptr %t363, i32 0, i32 7 %t365 = load ptr, ptr %t364 %t366 = load i32, ptr %t352 %t367 = getelementptr inbounds %LSlice, ptr %t365, i32 0, i32 0 %t368 = load ptr, ptr %t367 %t369 = getelementptr inbounds %LSlice, ptr %t365, i32 0, i32 1 %t370 = load i32, ptr %t369 %t371 = icmp ult i32 %t366, %t370 br i1 %t371, label %ixok78, label %ixbad79 ixbad79: store i32 4225, ptr @lp_site %t372 = call ptr @lp_win_stdio(i32 2) store i32 0, ptr @lp_site call i32 (ptr, ptr, ...) @fprintf(ptr %t372, ptr @.fmt_bounds, ptr @.str7131, i32 %t366, i32 %t370) call void @exit(i32 1) unreachable ixok78: %t373 = getelementptr inbounds ptr, ptr %t368, i32 %t366 %t374 = load ptr, ptr %t373 %t375 = getelementptr inbounds %LSlice, ptr %t362, i32 0, i32 1 %t376 = getelementptr inbounds %LSlice, ptr %t362, i32 0, i32 2 %t377 = getelementptr inbounds %LSlice, ptr %t362, i32 0, i32 0 %t378 = load i32, ptr %t375 %t379 = load i32, ptr %t376 %t380 = icmp sge i32 %t378, %t379 br i1 %t380, label %grow80, label %put81 grow80: %t381 = mul i32 %t379, 2 %t382 = icmp eq i32 %t379, 0 %t383 = select i1 %t382, i32 8, i32 %t381 %t384 = getelementptr ptr, ptr null, i32 1 %t385 = ptrtoint ptr %t384 to i64 %t386 = zext i32 %t383 to i64 %t387 = mul i64 %t386, %t385 %t388 = load ptr, ptr %t377 store i32 4226, ptr @lp_site %t389 = call ptr @lp_realloc(ptr %t388, i64 %t387) store i32 0, ptr @lp_site store ptr %t389, ptr %t377 store i32 %t383, ptr %t376 br label %put81 put81: %t390 = load ptr, ptr %t377 %t391 = getelementptr inbounds ptr, ptr %t390, i32 %t378 store ptr %t374, ptr %t391 %t392 = add i32 %t378, 1 store i32 %t392, ptr %t375 %t393 = load i32, ptr %t352 %t394 = add i32 %t393, 1 store i32 %t394, ptr %t352 br label %wcond75 wend77: %t395 = sub i32 0, 1 store i32 %t395, ptr %retval br label %ret ifend74: %t396 = load ptr, ptr %t34 %t397 = call i32 @lp_str_eq(ptr %t396, ptr @.str7132) %t398 = icmp ne i32 %t397, 0 br i1 %t398, label %then82, label %ifend84 then82: %t399 = load ptr, ptr %t0 call void @fn_es_args_walk(ptr %t399) %t400 = sub i32 0, 1 store i32 %t400, ptr %retval br label %ret ifend84: %t402 = load ptr, ptr %t34 %t403 = call i32 @lp_str_eq(ptr %t402, ptr @.str7133) %t404 = icmp ne i32 %t403, 0 %t405 = zext i1 %t404 to i32 store i32 %t405, ptr %t401 br i1 %t404, label %sc85, label %scend86 sc85: %t406 = load ptr, ptr %t0 %t407 = getelementptr inbounds %Cmp_Node, ptr %t406, i32 0, i32 7 %t408 = load ptr, ptr %t407 %t409 = getelementptr inbounds %LSlice, ptr %t408, i32 0, i32 1 %t410 = load i32, ptr %t409 %t411 = icmp sge i32 %t410, 1 %t412 = zext i1 %t411 to i32 %t413 = icmp ne i32 %t412, 0 %t414 = zext i1 %t413 to i32 store i32 %t414, ptr %t401 br label %scend86 scend86: %t415 = load i32, ptr %t401 %t416 = icmp ne i32 %t415, 0 br i1 %t416, label %then87, label %ifend89 then87: %t417 = load ptr, ptr %t0 %t418 = getelementptr inbounds %Cmp_Node, ptr %t417, i32 0, i32 7 %t419 = load ptr, ptr %t418 %t420 = getelementptr inbounds %LSlice, ptr %t419, i32 0, i32 0 %t421 = load ptr, ptr %t420 %t422 = getelementptr inbounds %LSlice, ptr %t419, i32 0, i32 1 %t423 = load i32, ptr %t422 %t424 = icmp ult i32 0, %t423 br i1 %t424, label %ixok90, label %ixbad91 ixbad91: store i32 4227, ptr @lp_site %t425 = call ptr @lp_win_stdio(i32 2) store i32 0, ptr @lp_site call i32 (ptr, ptr, ...) @fprintf(ptr %t425, ptr @.fmt_bounds, ptr @.str7134, i32 0, i32 %t423) call void @exit(i32 1) unreachable ixok90: %t426 = getelementptr inbounds ptr, ptr %t421, i32 0 %t427 = load ptr, ptr %t426 %t428 = call i32 @fn_es_val(ptr %t427) store i32 %t428, ptr %t429 store i32 1, ptr %t430 br label %wcond92 wcond92: %t431 = load i32, ptr %t430 %t432 = load ptr, ptr %t0 %t433 = getelementptr inbounds %Cmp_Node, ptr %t432, i32 0, i32 7 %t434 = load ptr, ptr %t433 %t435 = getelementptr inbounds %LSlice, ptr %t434, i32 0, i32 1 %t436 = load i32, ptr %t435 %t437 = icmp slt i32 %t431, %t436 %t438 = zext i1 %t437 to i32 %t439 = icmp ne i32 %t438, 0 br i1 %t439, label %wbody93, label %wend94 wbody93: %t440 = load ptr, ptr %t0 %t441 = getelementptr inbounds %Cmp_Node, ptr %t440, i32 0, i32 7 %t442 = load ptr, ptr %t441 %t443 = load i32, ptr %t430 %t444 = getelementptr inbounds %LSlice, ptr %t442, i32 0, i32 0 %t445 = load ptr, ptr %t444 %t446 = getelementptr inbounds %LSlice, ptr %t442, i32 0, i32 1 %t447 = load i32, ptr %t446 %t448 = icmp ult i32 %t443, %t447 br i1 %t448, label %ixok95, label %ixbad96 ixbad96: store i32 4228, ptr @lp_site %t449 = call ptr @lp_win_stdio(i32 2) store i32 0, ptr @lp_site call i32 (ptr, ptr, ...) @fprintf(ptr %t449, ptr @.fmt_bounds, ptr @.str7135, i32 %t443, i32 %t447) call void @exit(i32 1) unreachable ixok95: %t450 = getelementptr inbounds ptr, ptr %t445, i32 %t443 %t451 = load ptr, ptr %t450 %t452 = call i32 @fn_es_val(ptr %t451) %t453 = load i32, ptr %t430 %t454 = add i32 %t453, 1 store i32 %t454, ptr %t430 br label %wcond92 wend94: %t455 = load i32, ptr %t429 store i32 %t455, ptr %retval br label %ret ifend89: %t456 = load ptr, ptr %t34 %t457 = call ptr @fn_es_fns_for(ptr %t456) store ptr %t457, ptr %t458 %t459 = load ptr, ptr %t458 %t460 = getelementptr inbounds %LSlice, ptr %t459, i32 0, i32 1 %t461 = load i32, ptr %t460 %t462 = icmp sgt i32 %t461, 0 %t463 = zext i1 %t462 to i32 %t464 = icmp ne i32 %t463, 0 br i1 %t464, label %then97, label %ifend99 then97: %t465 = call i32 @fn_es_new(i32 0) store i32 %t465, ptr %t466 store i32 0, ptr %t467 br label %wcond100 wcond100: %t468 = load i32, ptr %t467 %t469 = load ptr, ptr %t458 %t470 = getelementptr inbounds %LSlice, ptr %t469, i32 0, i32 1 %t471 = load i32, ptr %t470 %t472 = icmp slt i32 %t468, %t471 %t473 = zext i1 %t472 to i32 %t474 = icmp ne i32 %t473, 0 br i1 %t474, label %wbody101, label %wend102 wbody101: %t475 = load ptr, ptr %t458 %t476 = load i32, ptr %t467 %t477 = getelementptr inbounds %LSlice, ptr %t475, i32 0, i32 0 %t478 = load ptr, ptr %t477 %t479 = getelementptr inbounds %LSlice, ptr %t475, i32 0, i32 1 %t480 = load i32, ptr %t479 %t481 = icmp ult i32 %t476, %t480 br i1 %t481, label %ixok103, label %ixbad104 ixbad104: store i32 4229, ptr @lp_site %t482 = call ptr @lp_win_stdio(i32 2) store i32 0, ptr @lp_site call i32 (ptr, ptr, ...) @fprintf(ptr %t482, ptr @.fmt_bounds, ptr @.str7136, i32 %t476, i32 %t480) call void @exit(i32 1) unreachable ixok103: %t483 = getelementptr inbounds i32, ptr %t478, i32 %t476 %t484 = load i32, ptr %t483 store i32 %t484, ptr %t485 %t486 = load ptr, ptr @g_g_es_calls_f %t487 = load i32, ptr @g_g_es_cur %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 %grow105, label %put106 grow105: %t494 = mul i32 %t492, 2 %t495 = icmp eq i32 %t492, 0 %t496 = select i1 %t495, i32 8, i32 %t494 %t497 = getelementptr i32, 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 store i32 4230, ptr @lp_site %t502 = call ptr @lp_realloc(ptr %t501, i64 %t500) store i32 0, ptr @lp_site store ptr %t502, ptr %t490 store i32 %t496, ptr %t489 br label %put106 put106: %t503 = load ptr, ptr %t490 %t504 = getelementptr inbounds i32, ptr %t503, i32 %t491 store i32 %t487, ptr %t504 %t505 = add i32 %t491, 1 store i32 %t505, ptr %t488 %t506 = load ptr, ptr @g_g_es_calls_t %t507 = load i32, ptr %t485 %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 %grow107, label %put108 grow107: %t514 = mul i32 %t512, 2 %t515 = icmp eq i32 %t512, 0 %t516 = select i1 %t515, i32 8, i32 %t514 %t517 = getelementptr i32, 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 store i32 4231, ptr @lp_site %t522 = call ptr @lp_realloc(ptr %t521, i64 %t520) store i32 0, ptr @lp_site store ptr %t522, ptr %t510 store i32 %t516, ptr %t509 br label %put108 put108: %t523 = load ptr, ptr %t510 %t524 = getelementptr inbounds i32, ptr %t523, i32 %t511 store i32 %t507, ptr %t524 %t525 = add i32 %t511, 1 store i32 %t525, ptr %t508 %t526 = load ptr, ptr @g_g_es_fret %t527 = load i32, ptr %t485 %t528 = getelementptr inbounds %LSlice, ptr %t526, i32 0, i32 0 %t529 = load ptr, ptr %t528 %t530 = getelementptr inbounds %LSlice, ptr %t526, i32 0, i32 1 %t531 = load i32, ptr %t530 %t532 = icmp ult i32 %t527, %t531 br i1 %t532, label %ixok109, label %ixbad110 ixbad110: store i32 4232, ptr @lp_site %t533 = call ptr @lp_win_stdio(i32 2) store i32 0, ptr @lp_site call i32 (ptr, ptr, ...) @fprintf(ptr %t533, ptr @.fmt_bounds, ptr @.str7137, i32 %t527, i32 %t531) call void @exit(i32 1) unreachable ixok109: %t534 = getelementptr inbounds i32, ptr %t529, i32 %t527 %t535 = load i32, ptr %t534 %t536 = load i32, ptr %t466 call void @fn_es_flow(i32 %t535, i32 %t536) %t537 = load i32, ptr %t467 %t538 = add i32 %t537, 1 store i32 %t538, ptr %t467 br label %wcond100 wend102: store i32 0, ptr %t539 br label %wcond111 wcond111: %t540 = load i32, ptr %t539 %t541 = load ptr, ptr %t0 %t542 = getelementptr inbounds %Cmp_Node, ptr %t541, i32 0, i32 7 %t543 = load ptr, ptr %t542 %t544 = getelementptr inbounds %LSlice, ptr %t543, i32 0, i32 1 %t545 = load i32, ptr %t544 %t546 = icmp slt i32 %t540, %t545 %t547 = zext i1 %t546 to i32 %t548 = icmp ne i32 %t547, 0 br i1 %t548, label %wbody112, label %wend113 wbody112: %t549 = load ptr, ptr %t0 %t550 = getelementptr inbounds %Cmp_Node, ptr %t549, i32 0, i32 7 %t551 = load ptr, ptr %t550 %t552 = load i32, ptr %t539 %t553 = getelementptr inbounds %LSlice, ptr %t551, i32 0, i32 0 %t554 = load ptr, ptr %t553 %t555 = getelementptr inbounds %LSlice, ptr %t551, i32 0, i32 1 %t556 = load i32, ptr %t555 %t557 = icmp ult i32 %t552, %t556 br i1 %t557, label %ixok114, label %ixbad115 ixbad115: store i32 4233, ptr @lp_site %t558 = call ptr @lp_win_stdio(i32 2) store i32 0, ptr @lp_site call i32 (ptr, ptr, ...) @fprintf(ptr %t558, ptr @.fmt_bounds, ptr @.str7138, i32 %t552, i32 %t556) call void @exit(i32 1) unreachable ixok114: %t559 = getelementptr inbounds ptr, ptr %t554, i32 %t552 %t560 = load ptr, ptr %t559 %t561 = call i32 @fn_es_ref(ptr %t560) store i32 %t561, ptr %t562 store i32 0, ptr %t563 br label %wcond116 wcond116: %t564 = load i32, ptr %t563 %t565 = load ptr, ptr %t458 %t566 = getelementptr inbounds %LSlice, ptr %t565, i32 0, i32 1 %t567 = load i32, ptr %t566 %t568 = icmp slt i32 %t564, %t567 %t569 = zext i1 %t568 to i32 %t570 = icmp ne i32 %t569, 0 br i1 %t570, label %wbody117, label %wend118 wbody117: %t571 = load ptr, ptr @g_g_es_fnode %t572 = load ptr, ptr %t458 %t573 = load i32, ptr %t563 %t574 = getelementptr inbounds %LSlice, ptr %t572, i32 0, i32 0 %t575 = load ptr, ptr %t574 %t576 = getelementptr inbounds %LSlice, ptr %t572, i32 0, i32 1 %t577 = load i32, ptr %t576 %t578 = icmp ult i32 %t573, %t577 br i1 %t578, label %ixok119, label %ixbad120 ixbad120: store i32 4234, ptr @lp_site %t579 = call ptr @lp_win_stdio(i32 2) store i32 0, ptr @lp_site call i32 (ptr, ptr, ...) @fprintf(ptr %t579, ptr @.fmt_bounds, ptr @.str7139, i32 %t573, i32 %t577) call void @exit(i32 1) unreachable ixok119: %t580 = getelementptr inbounds i32, ptr %t575, i32 %t573 %t581 = load i32, ptr %t580 %t582 = getelementptr inbounds %LSlice, ptr %t571, i32 0, i32 0 %t583 = load ptr, ptr %t582 %t584 = getelementptr inbounds %LSlice, ptr %t571, i32 0, i32 1 %t585 = load i32, ptr %t584 %t586 = icmp ult i32 %t581, %t585 br i1 %t586, label %ixok121, label %ixbad122 ixbad122: store i32 4235, ptr @lp_site %t587 = call ptr @lp_win_stdio(i32 2) store i32 0, ptr @lp_site call i32 (ptr, ptr, ...) @fprintf(ptr %t587, ptr @.fmt_bounds, ptr @.str7140, i32 %t581, i32 %t585) call void @exit(i32 1) unreachable ixok121: %t588 = getelementptr inbounds ptr, ptr %t583, i32 %t581 %t589 = load ptr, ptr %t588 store ptr %t589, ptr %t590 %t592 = load i32, ptr %t539 %t593 = load ptr, ptr %t590 %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 1 %t597 = load i32, ptr %t596 %t598 = icmp slt i32 %t592, %t597 %t599 = zext i1 %t598 to i32 %t600 = icmp ne i32 %t599, 0 %t601 = zext i1 %t600 to i32 store i32 %t601, ptr %t591 br i1 %t600, label %sc123, label %scend124 sc123: %t602 = load ptr, ptr %t590 %t603 = getelementptr inbounds %Cmp_Node, ptr %t602, i32 0, i32 7 %t604 = load ptr, ptr %t603 %t605 = load i32, ptr %t539 %t606 = getelementptr inbounds %LSlice, ptr %t604, i32 0, i32 0 %t607 = load ptr, ptr %t606 %t608 = getelementptr inbounds %LSlice, ptr %t604, i32 0, i32 1 %t609 = load i32, ptr %t608 %t610 = icmp ult i32 %t605, %t609 br i1 %t610, label %ixok125, label %ixbad126 ixbad126: store i32 4236, ptr @lp_site %t611 = call ptr @lp_win_stdio(i32 2) store i32 0, ptr @lp_site call i32 (ptr, ptr, ...) @fprintf(ptr %t611, ptr @.fmt_bounds, ptr @.str7141, i32 %t605, i32 %t609) call void @exit(i32 1) unreachable ixok125: %t612 = getelementptr inbounds ptr, ptr %t607, i32 %t605 %t613 = load ptr, ptr %t612 %t614 = getelementptr inbounds %Cmp_Node, ptr %t613, i32 0, i32 0 %t615 = load i32, ptr %t614 %t616 = icmp eq i32 %t615, 5 %t617 = zext i1 %t616 to i32 %t618 = icmp ne i32 %t617, 0 %t619 = zext i1 %t618 to i32 store i32 %t619, ptr %t591 br label %scend124 scend124: %t620 = load i32, ptr %t591 %t621 = icmp ne i32 %t620, 0 br i1 %t621, label %then127, label %else128 then127: %t622 = load ptr, ptr %t590 %t623 = getelementptr inbounds %Cmp_Node, ptr %t622, i32 0, i32 7 %t624 = load ptr, ptr %t623 %t625 = load i32, ptr %t539 %t626 = getelementptr inbounds %LSlice, ptr %t624, i32 0, i32 0 %t627 = load ptr, ptr %t626 %t628 = getelementptr inbounds %LSlice, ptr %t624, i32 0, i32 1 %t629 = load i32, ptr %t628 %t630 = icmp ult i32 %t625, %t629 br i1 %t630, label %ixok130, label %ixbad131 ixbad131: store i32 4237, ptr @lp_site %t631 = call ptr @lp_win_stdio(i32 2) store i32 0, ptr @lp_site call i32 (ptr, ptr, ...) @fprintf(ptr %t631, ptr @.fmt_bounds, ptr @.str7142, i32 %t625, i32 %t629) call void @exit(i32 1) unreachable ixok130: %t632 = getelementptr inbounds ptr, ptr %t627, i32 %t625 %t633 = load ptr, ptr %t632 %t634 = getelementptr inbounds %Cmp_Node, ptr %t633, i32 0, i32 3 %t635 = load ptr, ptr %t634 %t636 = call i32 @fn_es_prim(ptr %t635) %t637 = icmp eq i32 %t636, 0 %t638 = zext i1 %t637 to i32 %t639 = icmp ne i32 %t638, 0 br i1 %t639, label %then132, label %ifend134 then132: %t640 = load i32, ptr %t562 %t641 = load ptr, ptr @g_g_es_fparam %t642 = load ptr, ptr %t458 %t643 = load i32, ptr %t563 %t644 = getelementptr inbounds %LSlice, ptr %t642, i32 0, i32 0 %t645 = load ptr, ptr %t644 %t646 = getelementptr inbounds %LSlice, ptr %t642, i32 0, i32 1 %t647 = load i32, ptr %t646 %t648 = icmp ult i32 %t643, %t647 br i1 %t648, label %ixok135, label %ixbad136 ixbad136: store i32 4238, ptr @lp_site %t649 = call ptr @lp_win_stdio(i32 2) store i32 0, ptr @lp_site call i32 (ptr, ptr, ...) @fprintf(ptr %t649, ptr @.fmt_bounds, ptr @.str7143, i32 %t643, i32 %t647) call void @exit(i32 1) unreachable ixok135: %t650 = getelementptr inbounds i32, ptr %t645, i32 %t643 %t651 = load i32, ptr %t650 %t652 = getelementptr inbounds %LSlice, ptr %t641, i32 0, i32 0 %t653 = load ptr, ptr %t652 %t654 = getelementptr inbounds %LSlice, ptr %t641, i32 0, i32 1 %t655 = load i32, ptr %t654 %t656 = icmp ult i32 %t651, %t655 br i1 %t656, label %ixok137, label %ixbad138 ixbad138: store i32 4239, ptr @lp_site %t657 = call ptr @lp_win_stdio(i32 2) store i32 0, ptr @lp_site call i32 (ptr, ptr, ...) @fprintf(ptr %t657, ptr @.fmt_bounds, ptr @.str7144, i32 %t651, i32 %t655) call void @exit(i32 1) unreachable ixok137: %t658 = getelementptr inbounds i32, ptr %t653, i32 %t651 %t659 = load i32, ptr %t658 %t660 = load i32, ptr %t539 %t661 = add i32 %t659, %t660 call void @fn_es_flow(i32 %t640, i32 %t661) br label %ifend134 ifend134: br label %ifend129 else128: %t662 = load i32, ptr %t562 call void @fn_es_escape(i32 %t662) br label %ifend129 ifend129: %t663 = load i32, ptr %t563 %t664 = add i32 %t663, 1 store i32 %t664, ptr %t563 br label %wcond116 wend118: %t665 = load i32, ptr %t539 %t666 = add i32 %t665, 1 store i32 %t666, ptr %t539 br label %wcond111 wend113: %t667 = load i32, ptr %t466 store i32 %t667, ptr %retval br label %ret ifend99: %t668 = load ptr, ptr %t34 %t669 = call i32 @fn_es_keeps_nothing(ptr %t668) %t670 = icmp ne i32 %t669, 0 br i1 %t670, label %then139, label %ifend141 then139: %t671 = load ptr, ptr %t0 call void @fn_es_args_walk(ptr %t671) %t672 = load i32, ptr @g_g_es_heap store i32 %t672, ptr %retval br label %ret ifend141: %t673 = load ptr, ptr %t0 call void @fn_es_args_escape(ptr %t673) %t674 = load i32, ptr @g_g_es_heap store i32 %t674, ptr %retval br label %ret ifend6: %t675 = load ptr, ptr %t0 %t676 = call i32 @fn_es_is_mem_frame(ptr %t675) %t677 = icmp ne i32 %t676, 0 br i1 %t677, label %then142, label %ifend144 then142: %t678 = load i32, ptr @g_g_es_cur %t679 = icmp sge i32 %t678, 0 %t680 = zext i1 %t679 to i32 %t681 = icmp ne i32 %t680, 0 br i1 %t681, label %then145, label %ifend147 then145: %t682 = load ptr, ptr @g_g_es_fspans %t683 = load i32, ptr @g_g_es_cur %t684 = getelementptr inbounds %LSlice, ptr %t682, i32 0, i32 0 %t685 = load ptr, ptr %t684 %t686 = getelementptr inbounds %LSlice, ptr %t682, i32 0, i32 1 %t687 = load i32, ptr %t686 %t688 = icmp ult i32 %t683, %t687 br i1 %t688, label %ixok148, label %ixbad149 ixbad149: store i32 4240, ptr @lp_site %t689 = call ptr @lp_win_stdio(i32 2) store i32 0, ptr @lp_site call i32 (ptr, ptr, ...) @fprintf(ptr %t689, ptr @.fmt_bounds, ptr @.str7145, i32 %t683, i32 %t687) call void @exit(i32 1) unreachable ixok148: %t690 = getelementptr inbounds i32, ptr %t685, i32 %t683 store i32 1, ptr %t690 br label %ifend147 ifend147: %t691 = sub i32 0, 1 store i32 %t691, ptr %retval br label %ret ifend144: %t696 = load ptr, ptr %t4 %t697 = icmp ne ptr %t696, null %t698 = zext i1 %t697 to i32 %t699 = icmp ne i32 %t698, 0 %t700 = zext i1 %t699 to i32 store i32 %t700, ptr %t695 br i1 %t699, label %sc150, label %scend151 sc150: %t701 = load ptr, ptr %t4 %t702 = getelementptr inbounds %Cmp_Node, ptr %t701, i32 0, i32 0 %t703 = load i32, ptr %t702 %t704 = icmp eq i32 %t703, 35 %t705 = zext i1 %t704 to i32 %t706 = icmp ne i32 %t705, 0 %t707 = zext i1 %t706 to i32 store i32 %t707, ptr %t695 br label %scend151 scend151: %t708 = load i32, ptr %t695 %t709 = icmp ne i32 %t708, 0 %t710 = zext i1 %t709 to i32 store i32 %t710, ptr %t694 br i1 %t709, label %sc152, label %scend153 sc152: %t711 = load ptr, ptr %t4 %t712 = getelementptr inbounds %Cmp_Node, ptr %t711, i32 0, i32 4 %t713 = load ptr, ptr %t712 %t714 = icmp ne ptr %t713, null %t715 = zext i1 %t714 to i32 %t716 = icmp ne i32 %t715, 0 %t717 = zext i1 %t716 to i32 store i32 %t717, ptr %t694 br label %scend153 scend153: %t718 = load i32, ptr %t694 %t719 = icmp ne i32 %t718, 0 %t720 = zext i1 %t719 to i32 store i32 %t720, ptr %t693 br i1 %t719, label %sc154, label %scend155 sc154: %t721 = load ptr, ptr %t4 %t722 = getelementptr inbounds %Cmp_Node, ptr %t721, i32 0, i32 4 %t723 = load ptr, ptr %t722 %t724 = getelementptr inbounds %Cmp_Node, ptr %t723, i32 0, i32 0 %t725 = load i32, ptr %t724 %t726 = icmp eq i32 %t725, 33 %t727 = zext i1 %t726 to i32 %t728 = icmp ne i32 %t727, 0 %t729 = zext i1 %t728 to i32 store i32 %t729, ptr %t693 br label %scend155 scend155: %t730 = load i32, ptr %t693 %t731 = icmp ne i32 %t730, 0 %t732 = zext i1 %t731 to i32 store i32 %t732, ptr %t692 br i1 %t731, label %sc156, label %scend157 sc156: %t733 = load ptr, ptr %t4 %t734 = getelementptr inbounds %Cmp_Node, ptr %t733, i32 0, i32 4 %t735 = load ptr, ptr %t734 %t736 = getelementptr inbounds %Cmp_Node, ptr %t735, i32 0, i32 1 %t737 = load ptr, ptr %t736 %t738 = load ptr, ptr %t4 %t739 = getelementptr inbounds %Cmp_Node, ptr %t738, i32 0, i32 1 %t740 = load ptr, ptr %t739 %t741 = call i32 @fn_ns_alias_find(ptr %t737, ptr %t740) %t742 = icmp sge i32 %t741, 0 %t743 = zext i1 %t742 to i32 %t744 = icmp ne i32 %t743, 0 %t745 = zext i1 %t744 to i32 store i32 %t745, ptr %t692 br label %scend157 scend157: %t746 = load i32, ptr %t692 %t747 = icmp ne i32 %t746, 0 br i1 %t747, label %then158, label %ifend160 then158: %t748 = load ptr, ptr %t4 %t749 = getelementptr inbounds %Cmp_Node, ptr %t748, i32 0, i32 4 %t750 = load ptr, ptr %t749 %t751 = getelementptr inbounds %Cmp_Node, ptr %t750, i32 0, i32 1 %t752 = load ptr, ptr %t751 %t753 = load ptr, ptr %t4 %t754 = getelementptr inbounds %Cmp_Node, ptr %t753, i32 0, i32 1 %t755 = load ptr, ptr %t754 %t756 = call i32 @fn_ns_alias_find(ptr %t752, ptr %t755) store i32 %t756, ptr %t757 %t758 = load ptr, ptr @g_g_al_target %t759 = load i32, ptr %t757 %t760 = getelementptr inbounds %LSlice, ptr %t758, i32 0, i32 0 %t761 = load ptr, ptr %t760 %t762 = getelementptr inbounds %LSlice, ptr %t758, i32 0, i32 1 %t763 = load i32, ptr %t762 %t764 = icmp ult i32 %t759, %t763 br i1 %t764, label %ixok161, label %ixbad162 ixbad162: store i32 4241, ptr @lp_site %t765 = call ptr @lp_win_stdio(i32 2) store i32 0, ptr @lp_site call i32 (ptr, ptr, ...) @fprintf(ptr %t765, ptr @.fmt_bounds, ptr @.str7146, i32 %t759, i32 %t763) call void @exit(i32 1) unreachable ixok161: %t766 = getelementptr inbounds ptr, ptr %t761, i32 %t759 %t767 = load ptr, ptr %t766 %t768 = call i32 @fn_es_fn(ptr %t767) store i32 %t768, ptr %t769 %t770 = load i32, ptr %t769 %t771 = icmp sge i32 %t770, 0 %t772 = zext i1 %t771 to i32 %t773 = icmp ne i32 %t772, 0 br i1 %t773, label %then163, label %ifend165 then163: %t774 = load ptr, ptr @g_g_es_calls_f %t775 = load i32, ptr @g_g_es_cur %t776 = getelementptr inbounds %LSlice, ptr %t774, i32 0, i32 1 %t777 = getelementptr inbounds %LSlice, ptr %t774, i32 0, i32 2 %t778 = getelementptr inbounds %LSlice, ptr %t774, i32 0, i32 0 %t779 = load i32, ptr %t776 %t780 = load i32, ptr %t777 %t781 = icmp sge i32 %t779, %t780 br i1 %t781, label %grow166, label %put167 grow166: %t782 = mul i32 %t780, 2 %t783 = icmp eq i32 %t780, 0 %t784 = select i1 %t783, i32 8, i32 %t782 %t785 = getelementptr i32, ptr null, i32 1 %t786 = ptrtoint ptr %t785 to i64 %t787 = zext i32 %t784 to i64 %t788 = mul i64 %t787, %t786 %t789 = load ptr, ptr %t778 store i32 4242, ptr @lp_site %t790 = call ptr @lp_realloc(ptr %t789, i64 %t788) store i32 0, ptr @lp_site store ptr %t790, ptr %t778 store i32 %t784, ptr %t777 br label %put167 put167: %t791 = load ptr, ptr %t778 %t792 = getelementptr inbounds i32, ptr %t791, i32 %t779 store i32 %t775, ptr %t792 %t793 = add i32 %t779, 1 store i32 %t793, ptr %t776 %t794 = load ptr, ptr @g_g_es_calls_t %t795 = load i32, ptr %t769 %t796 = getelementptr inbounds %LSlice, ptr %t794, i32 0, i32 1 %t797 = getelementptr inbounds %LSlice, ptr %t794, i32 0, i32 2 %t798 = getelementptr inbounds %LSlice, ptr %t794, i32 0, i32 0 %t799 = load i32, ptr %t796 %t800 = load i32, ptr %t797 %t801 = icmp sge i32 %t799, %t800 br i1 %t801, label %grow168, label %put169 grow168: %t802 = mul i32 %t800, 2 %t803 = icmp eq i32 %t800, 0 %t804 = select i1 %t803, i32 8, i32 %t802 %t805 = getelementptr i32, ptr null, i32 1 %t806 = ptrtoint ptr %t805 to i64 %t807 = zext i32 %t804 to i64 %t808 = mul i64 %t807, %t806 %t809 = load ptr, ptr %t798 store i32 4243, ptr @lp_site %t810 = call ptr @lp_realloc(ptr %t809, i64 %t808) store i32 0, ptr @lp_site store ptr %t810, ptr %t798 store i32 %t804, ptr %t797 br label %put169 put169: %t811 = load ptr, ptr %t798 %t812 = getelementptr inbounds i32, ptr %t811, i32 %t799 store i32 %t795, ptr %t812 %t813 = add i32 %t799, 1 store i32 %t813, ptr %t796 store i32 0, ptr %t814 %t815 = load ptr, ptr @g_g_es_fnode %t816 = load i32, ptr %t769 %t817 = getelementptr inbounds %LSlice, ptr %t815, i32 0, i32 0 %t818 = load ptr, ptr %t817 %t819 = getelementptr inbounds %LSlice, ptr %t815, i32 0, i32 1 %t820 = load i32, ptr %t819 %t821 = icmp ult i32 %t816, %t820 br i1 %t821, label %ixok170, label %ixbad171 ixbad171: store i32 4244, ptr @lp_site %t822 = call ptr @lp_win_stdio(i32 2) store i32 0, ptr @lp_site call i32 (ptr, ptr, ...) @fprintf(ptr %t822, ptr @.fmt_bounds, ptr @.str7147, i32 %t816, i32 %t820) call void @exit(i32 1) unreachable ixok170: %t823 = getelementptr inbounds ptr, ptr %t818, i32 %t816 %t824 = load ptr, ptr %t823 store ptr %t824, ptr %t825 br label %wcond172 wcond172: %t826 = load i32, ptr %t814 %t827 = load ptr, ptr %t0 %t828 = getelementptr inbounds %Cmp_Node, ptr %t827, i32 0, i32 7 %t829 = load ptr, ptr %t828 %t830 = getelementptr inbounds %LSlice, ptr %t829, i32 0, i32 1 %t831 = load i32, ptr %t830 %t832 = icmp slt i32 %t826, %t831 %t833 = zext i1 %t832 to i32 %t834 = icmp ne i32 %t833, 0 br i1 %t834, label %wbody173, label %wend174 wbody173: %t835 = load ptr, ptr %t0 %t836 = getelementptr inbounds %Cmp_Node, ptr %t835, i32 0, i32 7 %t837 = load ptr, ptr %t836 %t838 = load i32, ptr %t814 %t839 = getelementptr inbounds %LSlice, ptr %t837, i32 0, i32 0 %t840 = load ptr, ptr %t839 %t841 = getelementptr inbounds %LSlice, ptr %t837, i32 0, i32 1 %t842 = load i32, ptr %t841 %t843 = icmp ult i32 %t838, %t842 br i1 %t843, label %ixok175, label %ixbad176 ixbad176: store i32 4245, ptr @lp_site %t844 = call ptr @lp_win_stdio(i32 2) store i32 0, ptr @lp_site call i32 (ptr, ptr, ...) @fprintf(ptr %t844, ptr @.fmt_bounds, ptr @.str7148, i32 %t838, i32 %t842) call void @exit(i32 1) unreachable ixok175: %t845 = getelementptr inbounds ptr, ptr %t840, i32 %t838 %t846 = load ptr, ptr %t845 %t847 = call i32 @fn_es_ref(ptr %t846) store i32 %t847, ptr %t848 %t850 = load i32, ptr %t814 %t851 = load ptr, ptr %t825 %t852 = getelementptr inbounds %Cmp_Node, ptr %t851, i32 0, i32 7 %t853 = load ptr, ptr %t852 %t854 = getelementptr inbounds %LSlice, ptr %t853, i32 0, i32 1 %t855 = load i32, ptr %t854 %t856 = icmp slt i32 %t850, %t855 %t857 = zext i1 %t856 to i32 %t858 = icmp ne i32 %t857, 0 %t859 = zext i1 %t858 to i32 store i32 %t859, ptr %t849 br i1 %t858, label %sc177, label %scend178 sc177: %t860 = load ptr, ptr %t825 %t861 = getelementptr inbounds %Cmp_Node, ptr %t860, i32 0, i32 7 %t862 = load ptr, ptr %t861 %t863 = load i32, ptr %t814 %t864 = getelementptr inbounds %LSlice, ptr %t862, i32 0, i32 0 %t865 = load ptr, ptr %t864 %t866 = getelementptr inbounds %LSlice, ptr %t862, i32 0, i32 1 %t867 = load i32, ptr %t866 %t868 = icmp ult i32 %t863, %t867 br i1 %t868, label %ixok179, label %ixbad180 ixbad180: store i32 4246, ptr @lp_site %t869 = call ptr @lp_win_stdio(i32 2) store i32 0, ptr @lp_site call i32 (ptr, ptr, ...) @fprintf(ptr %t869, ptr @.fmt_bounds, ptr @.str7149, i32 %t863, i32 %t867) call void @exit(i32 1) unreachable ixok179: %t870 = getelementptr inbounds ptr, ptr %t865, i32 %t863 %t871 = load ptr, ptr %t870 %t872 = getelementptr inbounds %Cmp_Node, ptr %t871, i32 0, i32 0 %t873 = load i32, ptr %t872 %t874 = icmp eq i32 %t873, 5 %t875 = zext i1 %t874 to i32 %t876 = icmp ne i32 %t875, 0 %t877 = zext i1 %t876 to i32 store i32 %t877, ptr %t849 br label %scend178 scend178: %t878 = load i32, ptr %t849 %t879 = icmp ne i32 %t878, 0 br i1 %t879, label %then181, label %else182 then181: %t880 = load ptr, ptr %t825 %t881 = getelementptr inbounds %Cmp_Node, ptr %t880, i32 0, i32 7 %t882 = load ptr, ptr %t881 %t883 = load i32, ptr %t814 %t884 = getelementptr inbounds %LSlice, ptr %t882, i32 0, i32 0 %t885 = load ptr, ptr %t884 %t886 = getelementptr inbounds %LSlice, ptr %t882, i32 0, i32 1 %t887 = load i32, ptr %t886 %t888 = icmp ult i32 %t883, %t887 br i1 %t888, label %ixok184, label %ixbad185 ixbad185: store i32 4247, ptr @lp_site %t889 = call ptr @lp_win_stdio(i32 2) store i32 0, ptr @lp_site call i32 (ptr, ptr, ...) @fprintf(ptr %t889, ptr @.fmt_bounds, ptr @.str7150, i32 %t883, i32 %t887) call void @exit(i32 1) unreachable ixok184: %t890 = getelementptr inbounds ptr, ptr %t885, i32 %t883 %t891 = load ptr, ptr %t890 %t892 = getelementptr inbounds %Cmp_Node, ptr %t891, i32 0, i32 3 %t893 = load ptr, ptr %t892 %t894 = call i32 @fn_es_prim(ptr %t893) %t895 = icmp eq i32 %t894, 0 %t896 = zext i1 %t895 to i32 %t897 = icmp ne i32 %t896, 0 br i1 %t897, label %then186, label %ifend188 then186: %t898 = load i32, ptr %t848 %t899 = load ptr, ptr @g_g_es_fparam %t900 = load i32, ptr %t769 %t901 = getelementptr inbounds %LSlice, ptr %t899, i32 0, i32 0 %t902 = load ptr, ptr %t901 %t903 = getelementptr inbounds %LSlice, ptr %t899, i32 0, i32 1 %t904 = load i32, ptr %t903 %t905 = icmp ult i32 %t900, %t904 br i1 %t905, label %ixok189, label %ixbad190 ixbad190: store i32 4248, ptr @lp_site %t906 = call ptr @lp_win_stdio(i32 2) store i32 0, ptr @lp_site call i32 (ptr, ptr, ...) @fprintf(ptr %t906, ptr @.fmt_bounds, ptr @.str7151, i32 %t900, i32 %t904) call void @exit(i32 1) unreachable ixok189: %t907 = getelementptr inbounds i32, ptr %t902, i32 %t900 %t908 = load i32, ptr %t907 %t909 = load i32, ptr %t814 %t910 = add i32 %t908, %t909 call void @fn_es_flow(i32 %t898, i32 %t910) br label %ifend188 ifend188: br label %ifend183 else182: %t911 = load i32, ptr %t848 call void @fn_es_escape(i32 %t911) br label %ifend183 ifend183: %t912 = load i32, ptr %t814 %t913 = add i32 %t912, 1 store i32 %t913, ptr %t814 br label %wcond172 wend174: %t914 = call i32 @fn_es_new(i32 0) store i32 %t914, ptr %t915 %t916 = load ptr, ptr @g_g_es_fret %t917 = load i32, ptr %t769 %t918 = getelementptr inbounds %LSlice, ptr %t916, i32 0, i32 0 %t919 = load ptr, ptr %t918 %t920 = getelementptr inbounds %LSlice, ptr %t916, i32 0, i32 1 %t921 = load i32, ptr %t920 %t922 = icmp ult i32 %t917, %t921 br i1 %t922, label %ixok191, label %ixbad192 ixbad192: store i32 4249, ptr @lp_site %t923 = call ptr @lp_win_stdio(i32 2) store i32 0, ptr @lp_site call i32 (ptr, ptr, ...) @fprintf(ptr %t923, ptr @.fmt_bounds, ptr @.str7152, i32 %t917, i32 %t921) call void @exit(i32 1) unreachable ixok191: %t924 = getelementptr inbounds i32, ptr %t919, i32 %t917 %t925 = load i32, ptr %t924 %t926 = load i32, ptr %t915 call void @fn_es_flow(i32 %t925, i32 %t926) %t927 = load i32, ptr %t915 store i32 %t927, ptr %retval br label %ret ifend165: br label %ifend160 ifend160: %t933 = load ptr, ptr %t4 %t934 = icmp ne ptr %t933, null %t935 = zext i1 %t934 to i32 %t936 = icmp ne i32 %t935, 0 %t937 = zext i1 %t936 to i32 store i32 %t937, ptr %t932 br i1 %t936, label %sc193, label %scend194 sc193: %t938 = load ptr, ptr %t4 %t939 = getelementptr inbounds %Cmp_Node, ptr %t938, i32 0, i32 0 %t940 = load i32, ptr %t939 %t941 = icmp eq i32 %t940, 35 %t942 = zext i1 %t941 to i32 %t943 = icmp ne i32 %t942, 0 %t944 = zext i1 %t943 to i32 store i32 %t944, ptr %t932 br label %scend194 scend194: %t945 = load i32, ptr %t932 %t946 = icmp ne i32 %t945, 0 %t947 = zext i1 %t946 to i32 store i32 %t947, ptr %t931 br i1 %t946, label %sc195, label %scend196 sc195: %t948 = load ptr, ptr %t4 %t949 = getelementptr inbounds %Cmp_Node, ptr %t948, i32 0, i32 4 %t950 = load ptr, ptr %t949 %t951 = icmp ne ptr %t950, null %t952 = zext i1 %t951 to i32 %t953 = icmp ne i32 %t952, 0 %t954 = zext i1 %t953 to i32 store i32 %t954, ptr %t931 br label %scend196 scend196: %t955 = load i32, ptr %t931 %t956 = icmp ne i32 %t955, 0 %t957 = zext i1 %t956 to i32 store i32 %t957, ptr %t930 br i1 %t956, label %sc197, label %scend198 sc197: %t958 = load ptr, ptr %t4 %t959 = getelementptr inbounds %Cmp_Node, ptr %t958, i32 0, i32 4 %t960 = load ptr, ptr %t959 %t961 = getelementptr inbounds %Cmp_Node, ptr %t960, i32 0, i32 0 %t962 = load i32, ptr %t961 %t963 = icmp eq i32 %t962, 33 %t964 = zext i1 %t963 to i32 %t965 = icmp ne i32 %t964, 0 %t966 = zext i1 %t965 to i32 store i32 %t966, ptr %t930 br label %scend198 scend198: %t967 = load i32, ptr %t930 %t968 = icmp ne i32 %t967, 0 %t969 = zext i1 %t968 to i32 store i32 %t969, ptr %t929 br i1 %t968, label %sc199, label %scend200 sc199: %t970 = load ptr, ptr %t4 %t971 = getelementptr inbounds %Cmp_Node, ptr %t970, i32 0, i32 4 %t972 = load ptr, ptr %t971 %t973 = getelementptr inbounds %Cmp_Node, ptr %t972, i32 0, i32 1 %t974 = load ptr, ptr %t973 %t975 = call i32 @fn_es_local(ptr %t974) %t976 = icmp slt i32 %t975, 0 %t977 = zext i1 %t976 to i32 %t978 = icmp ne i32 %t977, 0 %t979 = zext i1 %t978 to i32 store i32 %t979, ptr %t929 br label %scend200 scend200: %t980 = load i32, ptr %t929 %t981 = icmp ne i32 %t980, 0 %t982 = zext i1 %t981 to i32 store i32 %t982, ptr %t928 br i1 %t981, label %sc201, label %scend202 sc201: %t983 = load ptr, ptr %t4 %t984 = getelementptr inbounds %Cmp_Node, ptr %t983, i32 0, i32 4 %t985 = load ptr, ptr %t984 %t986 = getelementptr inbounds %Cmp_Node, ptr %t985, i32 0, i32 1 %t987 = load ptr, ptr %t986 %t988 = call ptr @fn_ck_global(ptr %t987) %t989 = icmp eq ptr %t988, null %t990 = zext i1 %t989 to i32 %t991 = icmp ne i32 %t990, 0 %t992 = zext i1 %t991 to i32 store i32 %t992, ptr %t928 br label %scend202 scend202: %t993 = load i32, ptr %t928 %t994 = icmp ne i32 %t993, 0 br i1 %t994, label %then203, label %ifend205 then203: %t995 = load ptr, ptr %t0 %t996 = getelementptr inbounds %Cmp_Node, ptr %t995, i32 0, i32 7 %t997 = load ptr, ptr %t996 %t998 = getelementptr inbounds %LSlice, ptr %t997, i32 0, i32 1 %t999 = load i32, ptr %t998 %t1000 = icmp sgt i32 %t999, 0 %t1001 = zext i1 %t1000 to i32 %t1002 = icmp ne i32 %t1001, 0 br i1 %t1002, label %then206, label %ifend208 then206: %t1003 = load ptr, ptr %t0 %t1004 = getelementptr inbounds %Cmp_Node, ptr %t1003, i32 0, i32 7 %t1005 = load ptr, ptr %t1004 %t1006 = getelementptr inbounds %LSlice, ptr %t1005, i32 0, i32 0 %t1007 = load ptr, ptr %t1006 %t1008 = getelementptr inbounds %LSlice, ptr %t1005, i32 0, i32 1 %t1009 = load i32, ptr %t1008 %t1010 = icmp ult i32 0, %t1009 br i1 %t1010, label %ixok209, label %ixbad210 ixbad210: store i32 4250, ptr @lp_site %t1011 = call ptr @lp_win_stdio(i32 2) store i32 0, ptr @lp_site call i32 (ptr, ptr, ...) @fprintf(ptr %t1011, ptr @.fmt_bounds, ptr @.str7153, i32 0, i32 %t1009) call void @exit(i32 1) unreachable ixok209: %t1012 = getelementptr inbounds ptr, ptr %t1007, i32 0 %t1013 = load ptr, ptr %t1012 %t1014 = call i32 @fn_es_val(ptr %t1013) store i32 %t1014, ptr %t1015 store i32 1, ptr %t1016 br label %wcond211 wcond211: %t1017 = load i32, ptr %t1016 %t1018 = load ptr, ptr %t0 %t1019 = getelementptr inbounds %Cmp_Node, ptr %t1018, i32 0, i32 7 %t1020 = load ptr, ptr %t1019 %t1021 = getelementptr inbounds %LSlice, ptr %t1020, i32 0, i32 1 %t1022 = load i32, ptr %t1021 %t1023 = icmp slt i32 %t1017, %t1022 %t1024 = zext i1 %t1023 to i32 %t1025 = icmp ne i32 %t1024, 0 br i1 %t1025, label %wbody212, label %wend213 wbody212: %t1026 = load ptr, ptr %t0 %t1027 = getelementptr inbounds %Cmp_Node, ptr %t1026, i32 0, i32 7 %t1028 = load ptr, ptr %t1027 %t1029 = load i32, ptr %t1016 %t1030 = getelementptr inbounds %LSlice, ptr %t1028, i32 0, i32 0 %t1031 = load ptr, ptr %t1030 %t1032 = getelementptr inbounds %LSlice, ptr %t1028, i32 0, i32 1 %t1033 = load i32, ptr %t1032 %t1034 = icmp ult i32 %t1029, %t1033 br i1 %t1034, label %ixok214, label %ixbad215 ixbad215: store i32 4251, ptr @lp_site %t1035 = call ptr @lp_win_stdio(i32 2) store i32 0, ptr @lp_site call i32 (ptr, ptr, ...) @fprintf(ptr %t1035, ptr @.fmt_bounds, ptr @.str7154, i32 %t1029, i32 %t1033) call void @exit(i32 1) unreachable ixok214: %t1036 = getelementptr inbounds ptr, ptr %t1031, i32 %t1029 %t1037 = load ptr, ptr %t1036 %t1038 = call i32 @fn_es_val(ptr %t1037) %t1039 = load i32, ptr %t1015 call void @fn_es_store(i32 %t1038, i32 %t1039) %t1040 = load i32, ptr %t1016 %t1041 = add i32 %t1040, 1 store i32 %t1041, ptr %t1016 br label %wcond211 wend213: br label %ifend208 ifend208: %t1042 = load i32, ptr @g_g_es_heap store i32 %t1042, ptr %retval br label %ret ifend205: %t1043 = load ptr, ptr %t4 %t1044 = call i32 @fn_es_val(ptr %t1043) %t1045 = load ptr, ptr %t0 call void @fn_es_args_escape(ptr %t1045) %t1046 = load i32, ptr @g_g_es_heap store i32 %t1046, ptr %retval br label %ret ret: %t1047 = load i32, ptr %retval ret i32 %t1047 } define void @fn_es_walk(ptr %arg_n) { entry: %t0 = alloca ptr %t5 = alloca i32 store ptr %arg_n, 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: br label %ret ifend2: %t6 = load ptr, ptr %t0 %t7 = getelementptr inbounds %Cmp_Node, ptr %t6, i32 0, i32 12 %t8 = load i32, ptr %t7 %t9 = icmp eq i32 %t8, 78 %t10 = zext i1 %t9 to i32 %t11 = icmp ne i32 %t10, 0 %t12 = zext i1 %t11 to i32 store i32 %t12, ptr %t5 br i1 %t11, label %sc3, label %scend4 sc3: %t13 = load ptr, ptr %t0 %t14 = getelementptr inbounds %Cmp_Node, ptr %t13, i32 0, i32 0 %t15 = load i32, ptr %t14 %t16 = icmp ne i32 %t15, 33 %t17 = zext i1 %t16 to i32 %t18 = icmp ne i32 %t17, 0 %t19 = zext i1 %t18 to i32 store i32 %t19, ptr %t5 br label %scend4 scend4: %t20 = load i32, ptr %t5 %t21 = icmp ne i32 %t20, 0 br i1 %t21, label %then5, label %ifend7 then5: %t22 = load i32, ptr @g_g_es_aok %t23 = add i32 %t22, 1 store i32 %t23, ptr @g_g_es_aok %t24 = load ptr, ptr %t0 call void @fn_es_walk_in(ptr %t24) %t25 = load i32, ptr @g_g_es_aok %t26 = sub i32 %t25, 1 store i32 %t26, ptr @g_g_es_aok br label %ret ifend7: %t27 = load ptr, ptr %t0 call void @fn_es_walk_in(ptr %t27) br label %ret ret: ret void } define void @fn_es_walk_in(ptr %arg_n) { entry: %t0 = alloca ptr %t4 = alloca i32 %t5 = alloca i32 %t6 = alloca i32 %t7 = alloca i32 %t8 = alloca i32 %t53 = alloca ptr %t68 = alloca i32 %t73 = alloca i32 %t109 = alloca i32 %t113 = alloca ptr %t114 = alloca i32 %t133 = alloca i32 %t148 = alloca i32 %t227 = alloca i32 %t246 = alloca i32 %t287 = alloca i32 %t314 = alloca i32 %t315 = alloca i32 %t316 = alloca i32 %t317 = alloca i32 %t318 = alloca i32 %t319 = alloca i32 %t320 = alloca i32 %t398 = alloca i32 store ptr %arg_n, ptr %t0 %t1 = load ptr, ptr %t0 %t2 = getelementptr inbounds %Cmp_Node, ptr %t1, i32 0, i32 0 %t3 = load i32, ptr %t2 store i32 %t3, ptr %t4 %t9 = load i32, ptr %t4 %t10 = icmp eq i32 %t9, 10 %t11 = zext i1 %t10 to i32 %t12 = icmp ne i32 %t11, 0 %t13 = zext i1 %t12 to i32 store i32 %t13, ptr %t8 br i1 %t12, label %scend1, label %sc0 sc0: %t14 = load i32, ptr %t4 %t15 = icmp eq i32 %t14, 11 %t16 = zext i1 %t15 to i32 %t17 = icmp ne i32 %t16, 0 %t18 = zext i1 %t17 to i32 store i32 %t18, ptr %t8 br label %scend1 scend1: %t19 = load i32, ptr %t8 %t20 = icmp ne i32 %t19, 0 %t21 = zext i1 %t20 to i32 store i32 %t21, ptr %t7 br i1 %t20, label %scend3, label %sc2 sc2: %t22 = load i32, ptr %t4 %t23 = icmp eq i32 %t22, 15 %t24 = zext i1 %t23 to i32 %t25 = icmp ne i32 %t24, 0 %t26 = zext i1 %t25 to i32 store i32 %t26, ptr %t7 br label %scend3 scend3: %t27 = load i32, ptr %t7 %t28 = icmp ne i32 %t27, 0 %t29 = zext i1 %t28 to i32 store i32 %t29, ptr %t6 br i1 %t28, label %scend5, label %sc4 sc4: %t30 = load i32, ptr %t4 %t31 = icmp eq i32 %t30, 16 %t32 = zext i1 %t31 to i32 %t33 = icmp ne i32 %t32, 0 %t34 = zext i1 %t33 to i32 store i32 %t34, ptr %t6 br label %scend5 scend5: %t35 = load i32, ptr %t6 %t36 = icmp ne i32 %t35, 0 %t37 = zext i1 %t36 to i32 store i32 %t37, ptr %t5 br i1 %t36, label %scend7, label %sc6 sc6: %t38 = load i32, ptr %t4 %t39 = icmp eq i32 %t38, 49 %t40 = zext i1 %t39 to i32 %t41 = icmp ne i32 %t40, 0 %t42 = zext i1 %t41 to i32 store i32 %t42, ptr %t5 br label %scend7 scend7: %t43 = load i32, ptr %t5 %t44 = icmp ne i32 %t43, 0 br i1 %t44, label %then8, label %ifend10 then8: %t45 = load ptr, ptr %t0 store ptr %t45, ptr @g_g_es_stmt br label %ifend10 ifend10: %t46 = load i32, ptr %t4 %t47 = icmp eq i32 %t46, 10 %t48 = zext i1 %t47 to i32 %t49 = icmp ne i32 %t48, 0 br i1 %t49, label %then11, label %ifend13 then11: %t50 = load ptr, ptr %t0 %t51 = getelementptr inbounds %Cmp_Node, ptr %t50, i32 0, i32 3 %t52 = load ptr, ptr %t51 store ptr %t52, ptr %t53 %t54 = load ptr, ptr %t53 %t55 = icmp eq ptr %t54, null %t56 = zext i1 %t55 to i32 %t57 = icmp ne i32 %t56, 0 br i1 %t57, label %then14, label %ifend16 then14: %t58 = load ptr, ptr %t0 %t59 = getelementptr inbounds %Cmp_Node, ptr %t58, i32 0, i32 4 %t60 = load ptr, ptr %t59 %t61 = call ptr @fn_es_type(ptr %t60) store ptr %t61, ptr %t53 br label %ifend16 ifend16: %t62 = load ptr, ptr %t0 %t63 = getelementptr inbounds %Cmp_Node, ptr %t62, i32 0, i32 1 %t64 = load ptr, ptr %t63 %t65 = call i32 @fn_es_local(ptr %t64) %t66 = icmp slt i32 %t65, 0 %t67 = zext i1 %t66 to i32 store i32 %t67, ptr %t68 %t69 = load ptr, ptr %t0 %t70 = getelementptr inbounds %Cmp_Node, ptr %t69, i32 0, i32 1 %t71 = load ptr, ptr %t70 %t72 = call i32 @fn_es_bind_local(ptr %t71) store i32 %t72, ptr %t73 %t74 = load i32, ptr %t68 %t75 = icmp ne i32 %t74, 0 br i1 %t75, label %then17, label %ifend19 then17: %t76 = load ptr, ptr @g_g_es_lt %t77 = load ptr, ptr @g_g_es_lt %t78 = getelementptr inbounds %LSlice, ptr %t77, i32 0, i32 1 %t79 = load i32, ptr %t78 %t80 = sub i32 %t79, 1 %t81 = getelementptr inbounds %LSlice, ptr %t76, i32 0, i32 0 %t82 = load ptr, ptr %t81 %t83 = getelementptr inbounds %LSlice, ptr %t76, i32 0, i32 1 %t84 = load i32, ptr %t83 %t85 = icmp ult i32 %t80, %t84 br i1 %t85, label %ixok20, label %ixbad21 ixbad21: store i32 4252, ptr @lp_site %t86 = call ptr @lp_win_stdio(i32 2) store i32 0, ptr @lp_site call i32 (ptr, ptr, ...) @fprintf(ptr %t86, ptr @.fmt_bounds, ptr @.str7155, i32 %t80, i32 %t84) call void @exit(i32 1) unreachable ixok20: %t87 = getelementptr inbounds ptr, ptr %t82, i32 %t80 %t88 = load ptr, ptr %t53 store ptr %t88, ptr %t87 br label %ifend19 ifend19: %t89 = load ptr, ptr %t53 %t90 = call i32 @fn_es_prim(ptr %t89) %t91 = icmp ne i32 %t90, 0 br i1 %t91, label %then22, label %ifend24 then22: %t92 = load ptr, ptr %t0 %t93 = getelementptr inbounds %Cmp_Node, ptr %t92, i32 0, i32 4 %t94 = load ptr, ptr %t93 %t95 = call i32 @fn_es_val(ptr %t94) br label %ret ifend24: %t96 = load ptr, ptr %t0 %t97 = getelementptr inbounds %Cmp_Node, ptr %t96, i32 0, i32 4 %t98 = load ptr, ptr %t97 %t99 = call i32 @fn_es_val(ptr %t98) %t100 = load i32, ptr %t73 call void @fn_es_flow(i32 %t99, i32 %t100) br label %ret ifend13: %t101 = load i32, ptr %t4 %t102 = icmp eq i32 %t101, 11 %t103 = zext i1 %t102 to i32 %t104 = icmp ne i32 %t103, 0 br i1 %t104, label %then25, label %ifend27 then25: %t105 = load ptr, ptr %t0 %t106 = getelementptr inbounds %Cmp_Node, ptr %t105, i32 0, i32 5 %t107 = load ptr, ptr %t106 %t108 = call i32 @fn_es_ref(ptr %t107) store i32 %t108, ptr %t109 %t110 = load ptr, ptr %t0 %t111 = getelementptr inbounds %Cmp_Node, ptr %t110, i32 0, i32 4 %t112 = load ptr, ptr %t111 store ptr %t112, ptr %t113 %t115 = load ptr, ptr %t113 %t116 = icmp ne ptr %t115, null %t117 = zext i1 %t116 to i32 %t118 = icmp ne i32 %t117, 0 %t119 = zext i1 %t118 to i32 store i32 %t119, ptr %t114 br i1 %t118, label %sc28, label %scend29 sc28: %t120 = load ptr, ptr %t113 %t121 = getelementptr inbounds %Cmp_Node, ptr %t120, i32 0, i32 0 %t122 = load i32, ptr %t121 %t123 = icmp eq i32 %t122, 33 %t124 = zext i1 %t123 to i32 %t125 = icmp ne i32 %t124, 0 %t126 = zext i1 %t125 to i32 store i32 %t126, ptr %t114 br label %scend29 scend29: %t127 = load i32, ptr %t114 %t128 = icmp ne i32 %t127, 0 br i1 %t128, label %then30, label %ifend32 then30: %t129 = load ptr, ptr %t113 %t130 = getelementptr inbounds %Cmp_Node, ptr %t129, i32 0, i32 1 %t131 = load ptr, ptr %t130 %t132 = call i32 @fn_es_local(ptr %t131) store i32 %t132, ptr %t133 %t134 = load i32, ptr %t133 %t135 = icmp sge i32 %t134, 0 %t136 = zext i1 %t135 to i32 %t137 = icmp ne i32 %t136, 0 br i1 %t137, label %then33, label %else34 then33: %t138 = load i32, ptr %t109 %t139 = load i32, ptr %t133 call void @fn_es_flow(i32 %t138, i32 %t139) br label %ifend35 else34: %t140 = load i32, ptr %t109 call void @fn_es_escape(i32 %t140) br label %ifend35 ifend35: br label %ret ifend32: %t141 = load i32, ptr %t109 %t142 = load ptr, ptr %t113 %t143 = call i32 @fn_es_val(ptr %t142) call void @fn_es_store(i32 %t141, i32 %t143) br label %ret ifend27: %t144 = load i32, ptr %t4 %t145 = icmp eq i32 %t144, 15 %t146 = zext i1 %t145 to i32 %t147 = icmp ne i32 %t146, 0 br i1 %t147, label %then36, label %ifend38 then36: %t149 = load ptr, ptr %t0 %t150 = getelementptr inbounds %Cmp_Node, ptr %t149, i32 0, i32 4 %t151 = load ptr, ptr %t150 %t152 = icmp ne ptr %t151, null %t153 = zext i1 %t152 to i32 %t154 = icmp ne i32 %t153, 0 %t155 = zext i1 %t154 to i32 store i32 %t155, ptr %t148 br i1 %t154, label %sc39, label %scend40 sc39: %t156 = load i32, ptr @g_g_es_cur %t157 = icmp sge i32 %t156, 0 %t158 = zext i1 %t157 to i32 %t159 = icmp ne i32 %t158, 0 %t160 = zext i1 %t159 to i32 store i32 %t160, ptr %t148 br label %scend40 scend40: %t161 = load i32, ptr %t148 %t162 = icmp ne i32 %t161, 0 br i1 %t162, label %then41, label %ifend43 then41: %t163 = load ptr, ptr %t0 %t164 = getelementptr inbounds %Cmp_Node, ptr %t163, i32 0, i32 4 %t165 = load ptr, ptr %t164 %t166 = call i32 @fn_es_ref(ptr %t165) %t167 = load ptr, ptr @g_g_es_fret %t168 = load i32, ptr @g_g_es_cur %t169 = getelementptr inbounds %LSlice, ptr %t167, i32 0, i32 0 %t170 = load ptr, ptr %t169 %t171 = getelementptr inbounds %LSlice, ptr %t167, i32 0, i32 1 %t172 = load i32, ptr %t171 %t173 = icmp ult i32 %t168, %t172 br i1 %t173, label %ixok44, label %ixbad45 ixbad45: store i32 4253, ptr @lp_site %t174 = call ptr @lp_win_stdio(i32 2) store i32 0, ptr @lp_site call i32 (ptr, ptr, ...) @fprintf(ptr %t174, ptr @.fmt_bounds, ptr @.str7157, i32 %t168, i32 %t172) call void @exit(i32 1) unreachable ixok44: %t175 = getelementptr inbounds i32, ptr %t170, i32 %t168 %t176 = load i32, ptr %t175 call void @fn_es_flow(i32 %t166, i32 %t176) br label %ifend43 ifend43: br label %ret ifend38: %t177 = load i32, ptr %t4 %t178 = icmp eq i32 %t177, 14 %t179 = zext i1 %t178 to i32 %t180 = icmp ne i32 %t179, 0 br i1 %t180, label %then46, label %ifend48 then46: %t181 = load ptr, ptr %t0 %t182 = getelementptr inbounds %Cmp_Node, ptr %t181, i32 0, i32 1 %t183 = load ptr, ptr %t182 %t184 = call i32 @fn_es_local(ptr %t183) %t185 = icmp slt i32 %t184, 0 %t186 = zext i1 %t185 to i32 %t187 = icmp ne i32 %t186, 0 br i1 %t187, label %then49, label %ifend51 then49: %t188 = load ptr, ptr %t0 %t189 = getelementptr inbounds %Cmp_Node, ptr %t188, i32 0, i32 1 %t190 = load ptr, ptr %t189 %t191 = call i32 @fn_es_bind_local(ptr %t190) %t192 = load ptr, ptr @g_g_es_lt %t193 = load ptr, ptr @g_g_es_lt %t194 = getelementptr inbounds %LSlice, ptr %t193, i32 0, i32 1 %t195 = load i32, ptr %t194 %t196 = sub i32 %t195, 1 %t197 = getelementptr inbounds %LSlice, ptr %t192, i32 0, i32 0 %t198 = load ptr, ptr %t197 %t199 = getelementptr inbounds %LSlice, ptr %t192, i32 0, i32 1 %t200 = load i32, ptr %t199 %t201 = icmp ult i32 %t196, %t200 br i1 %t201, label %ixok52, label %ixbad53 ixbad53: store i32 4254, ptr @lp_site %t202 = call ptr @lp_win_stdio(i32 2) store i32 0, ptr @lp_site call i32 (ptr, ptr, ...) @fprintf(ptr %t202, ptr @.fmt_bounds, ptr @.str7158, i32 %t196, i32 %t200) call void @exit(i32 1) unreachable ixok52: %t203 = getelementptr inbounds ptr, ptr %t198, i32 %t196 store ptr @.str7159, ptr %t203 br label %ifend51 ifend51: %t204 = load ptr, ptr %t0 %t205 = getelementptr inbounds %Cmp_Node, ptr %t204, i32 0, i32 4 %t206 = load ptr, ptr %t205 %t207 = call i32 @fn_es_val(ptr %t206) %t208 = load ptr, ptr %t0 %t209 = getelementptr inbounds %Cmp_Node, ptr %t208, i32 0, i32 5 %t210 = load ptr, ptr %t209 %t211 = call i32 @fn_es_val(ptr %t210) %t212 = load ptr, ptr %t0 %t213 = getelementptr inbounds %Cmp_Node, ptr %t212, i32 0, i32 6 %t214 = load ptr, ptr %t213 call void @fn_es_walk(ptr %t214) br label %ret ifend48: %t215 = load i32, ptr %t4 %t216 = icmp eq i32 %t215, 16 %t217 = zext i1 %t216 to i32 %t218 = icmp ne i32 %t217, 0 br i1 %t218, label %then54, label %ifend56 then54: %t219 = load ptr, ptr %t0 %t220 = getelementptr inbounds %Cmp_Node, ptr %t219, i32 0, i32 4 %t221 = load ptr, ptr %t220 %t222 = call i32 @fn_es_val(ptr %t221) br label %ret ifend56: %t223 = load i32, ptr %t4 %t224 = icmp eq i32 %t223, 49 %t225 = zext i1 %t224 to i32 %t226 = icmp ne i32 %t225, 0 br i1 %t226, label %then57, label %ifend59 then57: %t228 = load ptr, ptr %t0 %t229 = getelementptr inbounds %Cmp_Node, ptr %t228, i32 0, i32 4 %t230 = load ptr, ptr %t229 %t231 = icmp ne ptr %t230, null %t232 = zext i1 %t231 to i32 %t233 = icmp ne i32 %t232, 0 %t234 = zext i1 %t233 to i32 store i32 %t234, ptr %t227 br i1 %t233, label %sc60, label %scend61 sc60: %t235 = load ptr, ptr %t0 %t236 = getelementptr inbounds %Cmp_Node, ptr %t235, i32 0, i32 4 %t237 = load ptr, ptr %t236 %t238 = getelementptr inbounds %Cmp_Node, ptr %t237, i32 0, i32 7 %t239 = load ptr, ptr %t238 %t240 = icmp ne ptr %t239, null %t241 = zext i1 %t240 to i32 %t242 = icmp ne i32 %t241, 0 %t243 = zext i1 %t242 to i32 store i32 %t243, ptr %t227 br label %scend61 scend61: %t244 = load i32, ptr %t227 %t245 = icmp ne i32 %t244, 0 br i1 %t245, label %then62, label %ifend64 then62: store i32 0, ptr %t246 br label %wcond65 wcond65: %t247 = load i32, ptr %t246 %t248 = load ptr, ptr %t0 %t249 = getelementptr inbounds %Cmp_Node, ptr %t248, i32 0, i32 4 %t250 = load ptr, ptr %t249 %t251 = getelementptr inbounds %Cmp_Node, ptr %t250, i32 0, i32 7 %t252 = load ptr, ptr %t251 %t253 = getelementptr inbounds %LSlice, ptr %t252, i32 0, i32 1 %t254 = load i32, ptr %t253 %t255 = icmp slt i32 %t247, %t254 %t256 = zext i1 %t255 to i32 %t257 = icmp ne i32 %t256, 0 br i1 %t257, label %wbody66, label %wend67 wbody66: %t258 = load ptr, ptr %t0 %t259 = getelementptr inbounds %Cmp_Node, ptr %t258, i32 0, i32 4 %t260 = load ptr, ptr %t259 %t261 = getelementptr inbounds %Cmp_Node, ptr %t260, i32 0, i32 7 %t262 = load ptr, ptr %t261 %t263 = load i32, ptr %t246 %t264 = getelementptr inbounds %LSlice, ptr %t262, i32 0, i32 0 %t265 = load ptr, ptr %t264 %t266 = getelementptr inbounds %LSlice, ptr %t262, i32 0, i32 1 %t267 = load i32, ptr %t266 %t268 = icmp ult i32 %t263, %t267 br i1 %t268, label %ixok68, label %ixbad69 ixbad69: store i32 4255, ptr @lp_site %t269 = call ptr @lp_win_stdio(i32 2) store i32 0, ptr @lp_site call i32 (ptr, ptr, ...) @fprintf(ptr %t269, ptr @.fmt_bounds, ptr @.str7160, i32 %t263, i32 %t267) call void @exit(i32 1) unreachable ixok68: %t270 = getelementptr inbounds ptr, ptr %t265, i32 %t263 %t271 = load ptr, ptr %t270 %t272 = getelementptr inbounds %Cmp_Node, ptr %t271, i32 0, i32 4 %t273 = load ptr, ptr %t272 %t274 = call i32 @fn_es_val(ptr %t273) call void @fn_es_escape(i32 %t274) %t275 = load i32, ptr %t246 %t276 = add i32 %t275, 1 store i32 %t276, ptr %t246 br label %wcond65 wend67: br label %ifend64 ifend64: br label %ret ifend59: %t277 = load i32, ptr %t4 %t278 = icmp eq i32 %t277, 41 %t279 = zext i1 %t278 to i32 %t280 = icmp ne i32 %t279, 0 br i1 %t280, label %then70, label %ifend72 then70: %t281 = load ptr, ptr %t0 %t282 = getelementptr inbounds %Cmp_Node, ptr %t281, i32 0, i32 7 %t283 = load ptr, ptr %t282 %t284 = icmp ne ptr %t283, null %t285 = zext i1 %t284 to i32 %t286 = icmp ne i32 %t285, 0 br i1 %t286, label %then73, label %ifend75 then73: store i32 0, ptr %t287 br label %wcond76 wcond76: %t288 = load i32, ptr %t287 %t289 = load ptr, ptr %t0 %t290 = getelementptr inbounds %Cmp_Node, ptr %t289, i32 0, i32 7 %t291 = load ptr, ptr %t290 %t292 = getelementptr inbounds %LSlice, ptr %t291, i32 0, i32 1 %t293 = load i32, ptr %t292 %t294 = icmp slt i32 %t288, %t293 %t295 = zext i1 %t294 to i32 %t296 = icmp ne i32 %t295, 0 br i1 %t296, label %wbody77, label %wend78 wbody77: %t297 = load ptr, ptr %t0 %t298 = getelementptr inbounds %Cmp_Node, ptr %t297, i32 0, i32 7 %t299 = load ptr, ptr %t298 %t300 = load i32, ptr %t287 %t301 = getelementptr inbounds %LSlice, ptr %t299, i32 0, i32 0 %t302 = load ptr, ptr %t301 %t303 = getelementptr inbounds %LSlice, ptr %t299, i32 0, i32 1 %t304 = load i32, ptr %t303 %t305 = icmp ult i32 %t300, %t304 br i1 %t305, label %ixok79, label %ixbad80 ixbad80: store i32 4256, ptr @lp_site %t306 = call ptr @lp_win_stdio(i32 2) store i32 0, ptr @lp_site call i32 (ptr, ptr, ...) @fprintf(ptr %t306, ptr @.fmt_bounds, ptr @.str7161, i32 %t300, i32 %t304) call void @exit(i32 1) unreachable ixok79: %t307 = getelementptr inbounds ptr, ptr %t302, i32 %t300 %t308 = load ptr, ptr %t307 %t309 = getelementptr inbounds %Cmp_Node, ptr %t308, i32 0, i32 4 %t310 = load ptr, ptr %t309 %t311 = call i32 @fn_es_val(ptr %t310) call void @fn_es_escape(i32 %t311) %t312 = load i32, ptr %t287 %t313 = add i32 %t312, 1 store i32 %t313, ptr %t287 br label %wcond76 wend78: br label %ifend75 ifend75: br label %ret ifend72: %t321 = load i32, ptr %t4 %t322 = icmp eq i32 %t321, 34 %t323 = zext i1 %t322 to i32 %t324 = icmp ne i32 %t323, 0 %t325 = zext i1 %t324 to i32 store i32 %t325, ptr %t320 br i1 %t324, label %scend82, label %sc81 sc81: %t326 = load i32, ptr %t4 %t327 = icmp eq i32 %t326, 39 %t328 = zext i1 %t327 to i32 %t329 = icmp ne i32 %t328, 0 %t330 = zext i1 %t329 to i32 store i32 %t330, ptr %t320 br label %scend82 scend82: %t331 = load i32, ptr %t320 %t332 = icmp ne i32 %t331, 0 %t333 = zext i1 %t332 to i32 store i32 %t333, ptr %t319 br i1 %t332, label %scend84, label %sc83 sc83: %t334 = load i32, ptr %t4 %t335 = icmp eq i32 %t334, 37 %t336 = zext i1 %t335 to i32 %t337 = icmp ne i32 %t336, 0 %t338 = zext i1 %t337 to i32 store i32 %t338, ptr %t319 br label %scend84 scend84: %t339 = load i32, ptr %t319 %t340 = icmp ne i32 %t339, 0 %t341 = zext i1 %t340 to i32 store i32 %t341, ptr %t318 br i1 %t340, label %scend86, label %sc85 sc85: %t342 = load i32, ptr %t4 %t343 = icmp eq i32 %t342, 54 %t344 = zext i1 %t343 to i32 %t345 = icmp ne i32 %t344, 0 %t346 = zext i1 %t345 to i32 store i32 %t346, ptr %t318 br label %scend86 scend86: %t347 = load i32, ptr %t318 %t348 = icmp ne i32 %t347, 0 %t349 = zext i1 %t348 to i32 store i32 %t349, ptr %t317 br i1 %t348, label %scend88, label %sc87 sc87: %t350 = load i32, ptr %t4 %t351 = icmp eq i32 %t350, 44 %t352 = zext i1 %t351 to i32 %t353 = icmp ne i32 %t352, 0 %t354 = zext i1 %t353 to i32 store i32 %t354, ptr %t317 br label %scend88 scend88: %t355 = load i32, ptr %t317 %t356 = icmp ne i32 %t355, 0 %t357 = zext i1 %t356 to i32 store i32 %t357, ptr %t316 br i1 %t356, label %scend90, label %sc89 sc89: %t358 = load i32, ptr %t4 %t359 = icmp eq i32 %t358, 33 %t360 = zext i1 %t359 to i32 %t361 = icmp ne i32 %t360, 0 %t362 = zext i1 %t361 to i32 store i32 %t362, ptr %t316 br label %scend90 scend90: %t363 = load i32, ptr %t316 %t364 = icmp ne i32 %t363, 0 %t365 = zext i1 %t364 to i32 store i32 %t365, ptr %t315 br i1 %t364, label %scend92, label %sc91 sc91: %t366 = load i32, ptr %t4 %t367 = icmp eq i32 %t366, 35 %t368 = zext i1 %t367 to i32 %t369 = icmp ne i32 %t368, 0 %t370 = zext i1 %t369 to i32 store i32 %t370, ptr %t315 br label %scend92 scend92: %t371 = load i32, ptr %t315 %t372 = icmp ne i32 %t371, 0 %t373 = zext i1 %t372 to i32 store i32 %t373, ptr %t314 br i1 %t372, label %scend94, label %sc93 sc93: %t374 = load i32, ptr %t4 %t375 = icmp eq i32 %t374, 36 %t376 = zext i1 %t375 to i32 %t377 = icmp ne i32 %t376, 0 %t378 = zext i1 %t377 to i32 store i32 %t378, ptr %t314 br label %scend94 scend94: %t379 = load i32, ptr %t314 %t380 = icmp ne i32 %t379, 0 br i1 %t380, label %then95, label %ifend97 then95: %t381 = load ptr, ptr %t0 %t382 = call i32 @fn_es_val(ptr %t381) br label %ret ifend97: %t383 = load ptr, ptr %t0 %t384 = getelementptr inbounds %Cmp_Node, ptr %t383, i32 0, i32 4 %t385 = load ptr, ptr %t384 call void @fn_es_walk(ptr %t385) %t386 = load ptr, ptr %t0 %t387 = getelementptr inbounds %Cmp_Node, ptr %t386, i32 0, i32 5 %t388 = load ptr, ptr %t387 call void @fn_es_walk(ptr %t388) %t389 = load ptr, ptr %t0 %t390 = getelementptr inbounds %Cmp_Node, ptr %t389, i32 0, i32 6 %t391 = load ptr, ptr %t390 call void @fn_es_walk(ptr %t391) %t392 = load ptr, ptr %t0 %t393 = getelementptr inbounds %Cmp_Node, ptr %t392, i32 0, i32 7 %t394 = load ptr, ptr %t393 %t395 = icmp ne ptr %t394, null %t396 = zext i1 %t395 to i32 %t397 = icmp ne i32 %t396, 0 br i1 %t397, label %then98, label %ifend100 then98: store i32 0, ptr %t398 br label %wcond101 wcond101: %t399 = load i32, ptr %t398 %t400 = load ptr, ptr %t0 %t401 = getelementptr inbounds %Cmp_Node, ptr %t400, i32 0, i32 7 %t402 = load ptr, ptr %t401 %t403 = getelementptr inbounds %LSlice, ptr %t402, i32 0, i32 1 %t404 = load i32, ptr %t403 %t405 = icmp slt i32 %t399, %t404 %t406 = zext i1 %t405 to i32 %t407 = icmp ne i32 %t406, 0 br i1 %t407, label %wbody102, label %wend103 wbody102: %t408 = load ptr, ptr %t0 %t409 = getelementptr inbounds %Cmp_Node, ptr %t408, i32 0, i32 7 %t410 = load ptr, ptr %t409 %t411 = load i32, ptr %t398 %t412 = getelementptr inbounds %LSlice, ptr %t410, i32 0, i32 0 %t413 = load ptr, ptr %t412 %t414 = getelementptr inbounds %LSlice, ptr %t410, i32 0, i32 1 %t415 = load i32, ptr %t414 %t416 = icmp ult i32 %t411, %t415 br i1 %t416, label %ixok104, label %ixbad105 ixbad105: store i32 4257, ptr @lp_site %t417 = call ptr @lp_win_stdio(i32 2) store i32 0, ptr @lp_site call i32 (ptr, ptr, ...) @fprintf(ptr %t417, ptr @.fmt_bounds, ptr @.str7162, i32 %t411, i32 %t415) call void @exit(i32 1) unreachable ixok104: %t418 = getelementptr inbounds ptr, ptr %t413, i32 %t411 %t419 = load ptr, ptr %t418 call void @fn_es_walk(ptr %t419) %t420 = load i32, ptr %t398 %t421 = add i32 %t420, 1 store i32 %t421, ptr %t398 br label %wcond101 wend103: br label %ifend100 ifend100: br label %ret ret: ret void } define void @fn_es_solve() { entry: %t0 = alloca i32 %t3 = alloca i32 %t21 = alloca i32 %t32 = alloca i32 %t33 = alloca i32 %t86 = alloca i32 %t139 = alloca i32 %t220 = alloca i32 %t292 = alloca i32 %t303 = alloca i32 %t304 = alloca i32 %t381 = alloca i32 %t399 = alloca i32 %t410 = alloca i32 %t411 = alloca i32 %t461 = alloca i32 %t462 = alloca i32 %t549 = alloca i32 %t560 = alloca i32 %t561 = alloca i32 %t615 = alloca i32 %t633 = alloca i32 %t644 = alloca i32 %t645 = alloca i32 %t646 = alloca i32 store i32 1, ptr %t0 br label %wcond0 wcond0: %t1 = load i32, ptr %t0 %t2 = icmp ne i32 %t1, 0 br i1 %t2, label %wbody1, label %wend2 wbody1: store i32 0, ptr %t0 store i32 0, ptr %t3 br label %wcond3 wcond3: %t4 = load i32, ptr %t3 %t5 = load ptr, ptr @g_g_es_ff %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 %wbody4, label %wend5 wbody4: %t11 = load ptr, ptr @g_g_es_ff %t12 = load i32, ptr %t3 %t13 = getelementptr inbounds %LSlice, ptr %t11, i32 0, i32 0 %t14 = load ptr, ptr %t13 %t15 = getelementptr inbounds %LSlice, ptr %t11, i32 0, i32 1 %t16 = load i32, ptr %t15 %t17 = icmp ult i32 %t12, %t16 br i1 %t17, label %ixok6, label %ixbad7 ixbad7: store i32 4258, ptr @lp_site %t18 = call ptr @lp_win_stdio(i32 2) store i32 0, ptr @lp_site call i32 (ptr, ptr, ...) @fprintf(ptr %t18, ptr @.fmt_bounds, ptr @.str7163, i32 %t12, i32 %t16) call void @exit(i32 1) unreachable ixok6: %t19 = getelementptr inbounds i32, ptr %t14, i32 %t12 %t20 = load i32, ptr %t19 store i32 %t20, ptr %t21 %t22 = load ptr, ptr @g_g_es_ft %t23 = load i32, ptr %t3 %t24 = getelementptr inbounds %LSlice, ptr %t22, i32 0, i32 0 %t25 = load ptr, ptr %t24 %t26 = getelementptr inbounds %LSlice, ptr %t22, i32 0, i32 1 %t27 = load i32, ptr %t26 %t28 = icmp ult i32 %t23, %t27 br i1 %t28, label %ixok8, label %ixbad9 ixbad9: store i32 4259, ptr @lp_site %t29 = call ptr @lp_win_stdio(i32 2) store i32 0, ptr @lp_site call i32 (ptr, ptr, ...) @fprintf(ptr %t29, ptr @.fmt_bounds, ptr @.str7165, i32 %t23, i32 %t27) call void @exit(i32 1) unreachable ixok8: %t30 = getelementptr inbounds i32, ptr %t25, i32 %t23 %t31 = load i32, ptr %t30 store i32 %t31, ptr %t32 %t34 = load ptr, ptr @g_g_es_flag %t35 = load i32, ptr %t21 %t36 = getelementptr inbounds %LSlice, ptr %t34, i32 0, i32 0 %t37 = load ptr, ptr %t36 %t38 = getelementptr inbounds %LSlice, ptr %t34, i32 0, i32 1 %t39 = load i32, ptr %t38 %t40 = icmp ult i32 %t35, %t39 br i1 %t40, label %ixok10, label %ixbad11 ixbad11: store i32 4260, ptr @lp_site %t41 = call ptr @lp_win_stdio(i32 2) store i32 0, ptr @lp_site call i32 (ptr, ptr, ...) @fprintf(ptr %t41, ptr @.fmt_bounds, ptr @.str7166, i32 %t35, i32 %t39) call void @exit(i32 1) unreachable ixok10: %t42 = getelementptr inbounds i32, ptr %t37, i32 %t35 %t43 = load i32, ptr %t42 %t44 = and i32 %t43, 2 %t45 = icmp ne i32 %t44, 0 %t46 = zext i1 %t45 to i32 %t47 = icmp ne i32 %t46, 0 %t48 = zext i1 %t47 to i32 store i32 %t48, ptr %t33 br i1 %t47, label %sc12, label %scend13 sc12: %t49 = load ptr, ptr @g_g_es_flag %t50 = load i32, ptr %t32 %t51 = getelementptr inbounds %LSlice, ptr %t49, i32 0, i32 0 %t52 = load ptr, ptr %t51 %t53 = getelementptr inbounds %LSlice, ptr %t49, i32 0, i32 1 %t54 = load i32, ptr %t53 %t55 = icmp ult i32 %t50, %t54 br i1 %t55, label %ixok14, label %ixbad15 ixbad15: store i32 4261, ptr @lp_site %t56 = call ptr @lp_win_stdio(i32 2) store i32 0, ptr @lp_site call i32 (ptr, ptr, ...) @fprintf(ptr %t56, ptr @.fmt_bounds, ptr @.str7167, i32 %t50, i32 %t54) call void @exit(i32 1) unreachable ixok14: %t57 = getelementptr inbounds i32, ptr %t52, i32 %t50 %t58 = load i32, ptr %t57 %t59 = and i32 %t58, 2 %t60 = icmp eq i32 %t59, 0 %t61 = zext i1 %t60 to i32 %t62 = icmp ne i32 %t61, 0 %t63 = zext i1 %t62 to i32 store i32 %t63, ptr %t33 br label %scend13 scend13: %t64 = load i32, ptr %t33 %t65 = icmp ne i32 %t64, 0 br i1 %t65, label %then16, label %ifend18 then16: %t66 = load ptr, ptr @g_g_es_flag %t67 = load i32, ptr %t32 %t68 = getelementptr inbounds %LSlice, ptr %t66, i32 0, i32 0 %t69 = load ptr, ptr %t68 %t70 = getelementptr inbounds %LSlice, ptr %t66, i32 0, i32 1 %t71 = load i32, ptr %t70 %t72 = icmp ult i32 %t67, %t71 br i1 %t72, label %ixok19, label %ixbad20 ixbad20: store i32 4262, ptr @lp_site %t73 = call ptr @lp_win_stdio(i32 2) store i32 0, ptr @lp_site call i32 (ptr, ptr, ...) @fprintf(ptr %t73, ptr @.fmt_bounds, ptr @.str7168, i32 %t67, i32 %t71) call void @exit(i32 1) unreachable ixok19: %t74 = getelementptr inbounds i32, ptr %t69, i32 %t67 %t75 = load ptr, ptr @g_g_es_flag %t76 = load i32, ptr %t32 %t77 = getelementptr inbounds %LSlice, ptr %t75, i32 0, i32 0 %t78 = load ptr, ptr %t77 %t79 = getelementptr inbounds %LSlice, ptr %t75, i32 0, i32 1 %t80 = load i32, ptr %t79 %t81 = icmp ult i32 %t76, %t80 br i1 %t81, label %ixok21, label %ixbad22 ixbad22: store i32 4263, ptr @lp_site %t82 = call ptr @lp_win_stdio(i32 2) store i32 0, ptr @lp_site call i32 (ptr, ptr, ...) @fprintf(ptr %t82, ptr @.fmt_bounds, ptr @.str7169, i32 %t76, i32 %t80) call void @exit(i32 1) unreachable ixok21: %t83 = getelementptr inbounds i32, ptr %t78, i32 %t76 %t84 = load i32, ptr %t83 %t85 = or i32 %t84, 2 store i32 %t85, ptr %t74 store i32 1, ptr %t0 br label %ifend18 ifend18: %t87 = load ptr, ptr @g_g_es_flag %t88 = load i32, ptr %t32 %t89 = getelementptr inbounds %LSlice, ptr %t87, i32 0, i32 0 %t90 = load ptr, ptr %t89 %t91 = getelementptr inbounds %LSlice, ptr %t87, i32 0, i32 1 %t92 = load i32, ptr %t91 %t93 = icmp ult i32 %t88, %t92 br i1 %t93, label %ixok23, label %ixbad24 ixbad24: store i32 4264, ptr @lp_site %t94 = call ptr @lp_win_stdio(i32 2) store i32 0, ptr @lp_site call i32 (ptr, ptr, ...) @fprintf(ptr %t94, ptr @.fmt_bounds, ptr @.str7170, i32 %t88, i32 %t92) call void @exit(i32 1) unreachable ixok23: %t95 = getelementptr inbounds i32, ptr %t90, i32 %t88 %t96 = load i32, ptr %t95 %t97 = and i32 %t96, 4 %t98 = icmp ne i32 %t97, 0 %t99 = zext i1 %t98 to i32 %t100 = icmp ne i32 %t99, 0 %t101 = zext i1 %t100 to i32 store i32 %t101, ptr %t86 br i1 %t100, label %sc25, label %scend26 sc25: %t102 = load ptr, ptr @g_g_es_flag %t103 = load i32, ptr %t21 %t104 = getelementptr inbounds %LSlice, ptr %t102, i32 0, i32 0 %t105 = load ptr, ptr %t104 %t106 = getelementptr inbounds %LSlice, ptr %t102, i32 0, i32 1 %t107 = load i32, ptr %t106 %t108 = icmp ult i32 %t103, %t107 br i1 %t108, label %ixok27, label %ixbad28 ixbad28: store i32 4265, ptr @lp_site %t109 = call ptr @lp_win_stdio(i32 2) store i32 0, ptr @lp_site call i32 (ptr, ptr, ...) @fprintf(ptr %t109, ptr @.fmt_bounds, ptr @.str7171, i32 %t103, i32 %t107) call void @exit(i32 1) unreachable ixok27: %t110 = getelementptr inbounds i32, ptr %t105, i32 %t103 %t111 = load i32, ptr %t110 %t112 = and i32 %t111, 4 %t113 = icmp eq i32 %t112, 0 %t114 = zext i1 %t113 to i32 %t115 = icmp ne i32 %t114, 0 %t116 = zext i1 %t115 to i32 store i32 %t116, ptr %t86 br label %scend26 scend26: %t117 = load i32, ptr %t86 %t118 = icmp ne i32 %t117, 0 br i1 %t118, label %then29, label %ifend31 then29: %t119 = load ptr, ptr @g_g_es_flag %t120 = load i32, ptr %t21 %t121 = getelementptr inbounds %LSlice, ptr %t119, i32 0, i32 0 %t122 = load ptr, ptr %t121 %t123 = getelementptr inbounds %LSlice, ptr %t119, i32 0, i32 1 %t124 = load i32, ptr %t123 %t125 = icmp ult i32 %t120, %t124 br i1 %t125, label %ixok32, label %ixbad33 ixbad33: store i32 4266, ptr @lp_site %t126 = call ptr @lp_win_stdio(i32 2) store i32 0, ptr @lp_site call i32 (ptr, ptr, ...) @fprintf(ptr %t126, ptr @.fmt_bounds, ptr @.str7172, i32 %t120, i32 %t124) call void @exit(i32 1) unreachable ixok32: %t127 = getelementptr inbounds i32, ptr %t122, i32 %t120 %t128 = load ptr, ptr @g_g_es_flag %t129 = load i32, ptr %t21 %t130 = getelementptr inbounds %LSlice, ptr %t128, i32 0, i32 0 %t131 = load ptr, ptr %t130 %t132 = getelementptr inbounds %LSlice, ptr %t128, i32 0, i32 1 %t133 = load i32, ptr %t132 %t134 = icmp ult i32 %t129, %t133 br i1 %t134, label %ixok34, label %ixbad35 ixbad35: store i32 4267, ptr @lp_site %t135 = call ptr @lp_win_stdio(i32 2) store i32 0, ptr @lp_site call i32 (ptr, ptr, ...) @fprintf(ptr %t135, ptr @.fmt_bounds, ptr @.str7173, i32 %t129, i32 %t133) call void @exit(i32 1) unreachable ixok34: %t136 = getelementptr inbounds i32, ptr %t131, i32 %t129 %t137 = load i32, ptr %t136 %t138 = or i32 %t137, 4 store i32 %t138, ptr %t127 store i32 1, ptr %t0 br label %ifend31 ifend31: %t140 = load ptr, ptr @g_g_es_flag %t141 = load i32, ptr %t32 %t142 = getelementptr inbounds %LSlice, ptr %t140, i32 0, i32 0 %t143 = load ptr, ptr %t142 %t144 = getelementptr inbounds %LSlice, ptr %t140, i32 0, i32 1 %t145 = load i32, ptr %t144 %t146 = icmp ult i32 %t141, %t145 br i1 %t146, label %ixok36, label %ixbad37 ixbad37: store i32 4268, ptr @lp_site %t147 = call ptr @lp_win_stdio(i32 2) store i32 0, ptr @lp_site call i32 (ptr, ptr, ...) @fprintf(ptr %t147, ptr @.fmt_bounds, ptr @.str7174, i32 %t141, i32 %t145) call void @exit(i32 1) unreachable ixok36: %t148 = getelementptr inbounds i32, ptr %t143, i32 %t141 %t149 = load i32, ptr %t148 %t150 = and i32 %t149, 1 %t151 = icmp ne i32 %t150, 0 %t152 = zext i1 %t151 to i32 %t153 = icmp ne i32 %t152, 0 %t154 = zext i1 %t153 to i32 store i32 %t154, ptr %t139 br i1 %t153, label %sc38, label %scend39 sc38: %t155 = load ptr, ptr @g_g_es_flag %t156 = load i32, ptr %t21 %t157 = getelementptr inbounds %LSlice, ptr %t155, i32 0, i32 0 %t158 = load ptr, ptr %t157 %t159 = getelementptr inbounds %LSlice, ptr %t155, i32 0, i32 1 %t160 = load i32, ptr %t159 %t161 = icmp ult i32 %t156, %t160 br i1 %t161, label %ixok40, label %ixbad41 ixbad41: store i32 4269, ptr @lp_site %t162 = call ptr @lp_win_stdio(i32 2) store i32 0, ptr @lp_site call i32 (ptr, ptr, ...) @fprintf(ptr %t162, ptr @.fmt_bounds, ptr @.str7175, i32 %t156, i32 %t160) call void @exit(i32 1) unreachable ixok40: %t163 = getelementptr inbounds i32, ptr %t158, i32 %t156 %t164 = load i32, ptr %t163 %t165 = and i32 %t164, 1 %t166 = icmp eq i32 %t165, 0 %t167 = zext i1 %t166 to i32 %t168 = icmp ne i32 %t167, 0 %t169 = zext i1 %t168 to i32 store i32 %t169, ptr %t139 br label %scend39 scend39: %t170 = load i32, ptr %t139 %t171 = icmp ne i32 %t170, 0 br i1 %t171, label %then42, label %ifend44 then42: %t172 = load ptr, ptr @g_g_es_flag %t173 = load i32, ptr %t21 %t174 = getelementptr inbounds %LSlice, ptr %t172, i32 0, i32 0 %t175 = load ptr, ptr %t174 %t176 = getelementptr inbounds %LSlice, ptr %t172, i32 0, i32 1 %t177 = load i32, ptr %t176 %t178 = icmp ult i32 %t173, %t177 br i1 %t178, label %ixok45, label %ixbad46 ixbad46: store i32 4270, ptr @lp_site %t179 = call ptr @lp_win_stdio(i32 2) store i32 0, ptr @lp_site call i32 (ptr, ptr, ...) @fprintf(ptr %t179, ptr @.fmt_bounds, ptr @.str7176, i32 %t173, i32 %t177) call void @exit(i32 1) unreachable ixok45: %t180 = getelementptr inbounds i32, ptr %t175, i32 %t173 %t181 = load ptr, ptr @g_g_es_flag %t182 = load i32, ptr %t21 %t183 = getelementptr inbounds %LSlice, ptr %t181, i32 0, i32 0 %t184 = load ptr, ptr %t183 %t185 = getelementptr inbounds %LSlice, ptr %t181, i32 0, i32 1 %t186 = load i32, ptr %t185 %t187 = icmp ult i32 %t182, %t186 br i1 %t187, label %ixok47, label %ixbad48 ixbad48: store i32 4271, ptr @lp_site %t188 = call ptr @lp_win_stdio(i32 2) store i32 0, ptr @lp_site call i32 (ptr, ptr, ...) @fprintf(ptr %t188, ptr @.fmt_bounds, ptr @.str7177, i32 %t182, i32 %t186) call void @exit(i32 1) unreachable ixok47: %t189 = getelementptr inbounds i32, ptr %t184, i32 %t182 %t190 = load i32, ptr %t189 %t191 = or i32 %t190, 1 store i32 %t191, ptr %t180 %t192 = load ptr, ptr @g_g_es_why %t193 = load i32, ptr %t21 %t194 = getelementptr inbounds %LSlice, ptr %t192, i32 0, i32 0 %t195 = load ptr, ptr %t194 %t196 = getelementptr inbounds %LSlice, ptr %t192, i32 0, i32 1 %t197 = load i32, ptr %t196 %t198 = icmp ult i32 %t193, %t197 br i1 %t198, label %ixok49, label %ixbad50 ixbad50: store i32 4272, ptr @lp_site %t199 = call ptr @lp_win_stdio(i32 2) store i32 0, ptr @lp_site call i32 (ptr, ptr, ...) @fprintf(ptr %t199, ptr @.fmt_bounds, ptr @.str7178, i32 %t193, i32 %t197) call void @exit(i32 1) unreachable ixok49: %t200 = getelementptr inbounds ptr, ptr %t195, i32 %t193 %t201 = load ptr, ptr @g_g_es_why %t202 = load i32, ptr %t32 %t203 = getelementptr inbounds %LSlice, ptr %t201, i32 0, i32 0 %t204 = load ptr, ptr %t203 %t205 = getelementptr inbounds %LSlice, ptr %t201, i32 0, i32 1 %t206 = load i32, ptr %t205 %t207 = icmp ult i32 %t202, %t206 br i1 %t207, label %ixok51, label %ixbad52 ixbad52: store i32 4273, ptr @lp_site %t208 = call ptr @lp_win_stdio(i32 2) store i32 0, ptr @lp_site call i32 (ptr, ptr, ...) @fprintf(ptr %t208, ptr @.fmt_bounds, ptr @.str7179, i32 %t202, i32 %t206) call void @exit(i32 1) unreachable ixok51: %t209 = getelementptr inbounds ptr, ptr %t204, i32 %t202 %t210 = load ptr, ptr %t209 store ptr %t210, ptr %t200 store i32 1, ptr %t0 br label %ifend44 ifend44: %t211 = load i32, ptr %t3 %t212 = add i32 %t211, 1 store i32 %t212, ptr %t3 br label %wcond3 wend5: store i32 0, ptr %t3 br label %wcond53 wcond53: %t213 = load i32, ptr %t3 %t214 = load ptr, ptr @g_g_es_flag %t215 = getelementptr inbounds %LSlice, ptr %t214, i32 0, i32 1 %t216 = load i32, ptr %t215 %t217 = icmp slt i32 %t213, %t216 %t218 = zext i1 %t217 to i32 %t219 = icmp ne i32 %t218, 0 br i1 %t219, label %wbody54, label %wend55 wbody54: %t221 = load ptr, ptr @g_g_es_flag %t222 = load i32, ptr %t3 %t223 = getelementptr inbounds %LSlice, ptr %t221, i32 0, i32 0 %t224 = load ptr, ptr %t223 %t225 = getelementptr inbounds %LSlice, ptr %t221, i32 0, i32 1 %t226 = load i32, ptr %t225 %t227 = icmp ult i32 %t222, %t226 br i1 %t227, label %ixok56, label %ixbad57 ixbad57: store i32 4274, ptr @lp_site %t228 = call ptr @lp_win_stdio(i32 2) store i32 0, ptr @lp_site call i32 (ptr, ptr, ...) @fprintf(ptr %t228, ptr @.fmt_bounds, ptr @.str7180, i32 %t222, i32 %t226) call void @exit(i32 1) unreachable ixok56: %t229 = getelementptr inbounds i32, ptr %t224, i32 %t222 %t230 = load i32, ptr %t229 %t231 = and i32 %t230, 1 %t232 = icmp ne i32 %t231, 0 %t233 = zext i1 %t232 to i32 %t234 = icmp ne i32 %t233, 0 %t235 = zext i1 %t234 to i32 store i32 %t235, ptr %t220 br i1 %t234, label %sc58, label %scend59 sc58: %t236 = load ptr, ptr @g_g_es_flag %t237 = load i32, ptr %t3 %t238 = getelementptr inbounds %LSlice, ptr %t236, i32 0, i32 0 %t239 = load ptr, ptr %t238 %t240 = getelementptr inbounds %LSlice, ptr %t236, i32 0, i32 1 %t241 = load i32, ptr %t240 %t242 = icmp ult i32 %t237, %t241 br i1 %t242, label %ixok60, label %ixbad61 ixbad61: store i32 4275, ptr @lp_site %t243 = call ptr @lp_win_stdio(i32 2) store i32 0, ptr @lp_site call i32 (ptr, ptr, ...) @fprintf(ptr %t243, ptr @.fmt_bounds, ptr @.str7181, i32 %t237, i32 %t241) call void @exit(i32 1) unreachable ixok60: %t244 = getelementptr inbounds i32, ptr %t239, i32 %t237 %t245 = load i32, ptr %t244 %t246 = and i32 %t245, 2 %t247 = icmp eq i32 %t246, 0 %t248 = zext i1 %t247 to i32 %t249 = icmp ne i32 %t248, 0 %t250 = zext i1 %t249 to i32 store i32 %t250, ptr %t220 br label %scend59 scend59: %t251 = load i32, ptr %t220 %t252 = icmp ne i32 %t251, 0 br i1 %t252, label %then62, label %ifend64 then62: %t253 = load ptr, ptr @g_g_es_flag %t254 = load i32, ptr %t3 %t255 = getelementptr inbounds %LSlice, ptr %t253, i32 0, i32 0 %t256 = load ptr, ptr %t255 %t257 = getelementptr inbounds %LSlice, ptr %t253, i32 0, i32 1 %t258 = load i32, ptr %t257 %t259 = icmp ult i32 %t254, %t258 br i1 %t259, label %ixok65, label %ixbad66 ixbad66: store i32 4276, ptr @lp_site %t260 = call ptr @lp_win_stdio(i32 2) store i32 0, ptr @lp_site call i32 (ptr, ptr, ...) @fprintf(ptr %t260, ptr @.fmt_bounds, ptr @.str7182, i32 %t254, i32 %t258) call void @exit(i32 1) unreachable ixok65: %t261 = getelementptr inbounds i32, ptr %t256, i32 %t254 %t262 = load ptr, ptr @g_g_es_flag %t263 = load i32, ptr %t3 %t264 = getelementptr inbounds %LSlice, ptr %t262, i32 0, i32 0 %t265 = load ptr, ptr %t264 %t266 = getelementptr inbounds %LSlice, ptr %t262, i32 0, i32 1 %t267 = load i32, ptr %t266 %t268 = icmp ult i32 %t263, %t267 br i1 %t268, label %ixok67, label %ixbad68 ixbad68: store i32 4277, ptr @lp_site %t269 = call ptr @lp_win_stdio(i32 2) store i32 0, ptr @lp_site call i32 (ptr, ptr, ...) @fprintf(ptr %t269, ptr @.fmt_bounds, ptr @.str7183, i32 %t263, i32 %t267) call void @exit(i32 1) unreachable ixok67: %t270 = getelementptr inbounds i32, ptr %t265, i32 %t263 %t271 = load i32, ptr %t270 %t272 = or i32 %t271, 2 store i32 %t272, ptr %t261 store i32 1, ptr %t0 br label %ifend64 ifend64: %t273 = load i32, ptr %t3 %t274 = add i32 %t273, 1 store i32 %t274, ptr %t3 br label %wcond53 wend55: store i32 0, ptr %t3 br label %wcond69 wcond69: %t275 = load i32, ptr %t3 %t276 = load ptr, ptr @g_g_es_sv %t277 = getelementptr inbounds %LSlice, ptr %t276, i32 0, i32 1 %t278 = load i32, ptr %t277 %t279 = icmp slt i32 %t275, %t278 %t280 = zext i1 %t279 to i32 %t281 = icmp ne i32 %t280, 0 br i1 %t281, label %wbody70, label %wend71 wbody70: %t282 = load ptr, ptr @g_g_es_sv %t283 = load i32, ptr %t3 %t284 = getelementptr inbounds %LSlice, ptr %t282, i32 0, i32 0 %t285 = load ptr, ptr %t284 %t286 = getelementptr inbounds %LSlice, ptr %t282, i32 0, i32 1 %t287 = load i32, ptr %t286 %t288 = icmp ult i32 %t283, %t287 br i1 %t288, label %ixok72, label %ixbad73 ixbad73: store i32 4278, ptr @lp_site %t289 = call ptr @lp_win_stdio(i32 2) store i32 0, ptr @lp_site call i32 (ptr, ptr, ...) @fprintf(ptr %t289, ptr @.fmt_bounds, ptr @.str7184, i32 %t283, i32 %t287) call void @exit(i32 1) unreachable ixok72: %t290 = getelementptr inbounds i32, ptr %t285, i32 %t283 %t291 = load i32, ptr %t290 store i32 %t291, ptr %t292 %t293 = load ptr, ptr @g_g_es_st %t294 = load i32, ptr %t3 %t295 = getelementptr inbounds %LSlice, ptr %t293, i32 0, i32 0 %t296 = load ptr, ptr %t295 %t297 = getelementptr inbounds %LSlice, ptr %t293, i32 0, i32 1 %t298 = load i32, ptr %t297 %t299 = icmp ult i32 %t294, %t298 br i1 %t299, label %ixok74, label %ixbad75 ixbad75: store i32 4279, ptr @lp_site %t300 = call ptr @lp_win_stdio(i32 2) store i32 0, ptr @lp_site call i32 (ptr, ptr, ...) @fprintf(ptr %t300, ptr @.fmt_bounds, ptr @.str7185, i32 %t294, i32 %t298) call void @exit(i32 1) unreachable ixok74: %t301 = getelementptr inbounds i32, ptr %t296, i32 %t294 %t302 = load i32, ptr %t301 store i32 %t302, ptr %t303 %t305 = load ptr, ptr @g_g_es_flag %t306 = load i32, ptr %t303 %t307 = getelementptr inbounds %LSlice, ptr %t305, i32 0, i32 0 %t308 = load ptr, ptr %t307 %t309 = getelementptr inbounds %LSlice, ptr %t305, i32 0, i32 1 %t310 = load i32, ptr %t309 %t311 = icmp ult i32 %t306, %t310 br i1 %t311, label %ixok76, label %ixbad77 ixbad77: store i32 4280, ptr @lp_site %t312 = call ptr @lp_win_stdio(i32 2) store i32 0, ptr @lp_site call i32 (ptr, ptr, ...) @fprintf(ptr %t312, ptr @.fmt_bounds, ptr @.str7186, i32 %t306, i32 %t310) call void @exit(i32 1) unreachable ixok76: %t313 = getelementptr inbounds i32, ptr %t308, i32 %t306 %t314 = load i32, ptr %t313 %t315 = or i32 1, 2 %t316 = and i32 %t314, %t315 %t317 = icmp ne i32 %t316, 0 %t318 = zext i1 %t317 to i32 %t319 = icmp ne i32 %t318, 0 %t320 = zext i1 %t319 to i32 store i32 %t320, ptr %t304 br i1 %t319, label %sc78, label %scend79 sc78: %t321 = load ptr, ptr @g_g_es_flag %t322 = load i32, ptr %t292 %t323 = getelementptr inbounds %LSlice, ptr %t321, i32 0, i32 0 %t324 = load ptr, ptr %t323 %t325 = getelementptr inbounds %LSlice, ptr %t321, i32 0, i32 1 %t326 = load i32, ptr %t325 %t327 = icmp ult i32 %t322, %t326 br i1 %t327, label %ixok80, label %ixbad81 ixbad81: store i32 4281, ptr @lp_site %t328 = call ptr @lp_win_stdio(i32 2) store i32 0, ptr @lp_site call i32 (ptr, ptr, ...) @fprintf(ptr %t328, ptr @.fmt_bounds, ptr @.str7187, i32 %t322, i32 %t326) call void @exit(i32 1) unreachable ixok80: %t329 = getelementptr inbounds i32, ptr %t324, i32 %t322 %t330 = load i32, ptr %t329 %t331 = and i32 %t330, 1 %t332 = icmp eq i32 %t331, 0 %t333 = zext i1 %t332 to i32 %t334 = icmp ne i32 %t333, 0 %t335 = zext i1 %t334 to i32 store i32 %t335, ptr %t304 br label %scend79 scend79: %t336 = load i32, ptr %t304 %t337 = icmp ne i32 %t336, 0 br i1 %t337, label %then82, label %ifend84 then82: %t338 = load ptr, ptr @g_g_es_flag %t339 = load i32, ptr %t292 %t340 = getelementptr inbounds %LSlice, ptr %t338, i32 0, i32 0 %t341 = load ptr, ptr %t340 %t342 = getelementptr inbounds %LSlice, ptr %t338, i32 0, i32 1 %t343 = load i32, ptr %t342 %t344 = icmp ult i32 %t339, %t343 br i1 %t344, label %ixok85, label %ixbad86 ixbad86: store i32 4282, ptr @lp_site %t345 = call ptr @lp_win_stdio(i32 2) store i32 0, ptr @lp_site call i32 (ptr, ptr, ...) @fprintf(ptr %t345, ptr @.fmt_bounds, ptr @.str7188, i32 %t339, i32 %t343) call void @exit(i32 1) unreachable ixok85: %t346 = getelementptr inbounds i32, ptr %t341, i32 %t339 %t347 = load ptr, ptr @g_g_es_flag %t348 = load i32, ptr %t292 %t349 = getelementptr inbounds %LSlice, ptr %t347, i32 0, i32 0 %t350 = load ptr, ptr %t349 %t351 = getelementptr inbounds %LSlice, ptr %t347, i32 0, i32 1 %t352 = load i32, ptr %t351 %t353 = icmp ult i32 %t348, %t352 br i1 %t353, label %ixok87, label %ixbad88 ixbad88: store i32 4283, ptr @lp_site %t354 = call ptr @lp_win_stdio(i32 2) store i32 0, ptr @lp_site call i32 (ptr, ptr, ...) @fprintf(ptr %t354, ptr @.fmt_bounds, ptr @.str7189, i32 %t348, i32 %t352) call void @exit(i32 1) unreachable ixok87: %t355 = getelementptr inbounds i32, ptr %t350, i32 %t348 %t356 = load i32, ptr %t355 %t357 = or i32 %t356, 1 store i32 %t357, ptr %t346 %t358 = load ptr, ptr @g_g_es_why %t359 = load i32, ptr %t292 %t360 = getelementptr inbounds %LSlice, ptr %t358, i32 0, i32 0 %t361 = load ptr, ptr %t360 %t362 = getelementptr inbounds %LSlice, ptr %t358, i32 0, i32 1 %t363 = load i32, ptr %t362 %t364 = icmp ult i32 %t359, %t363 br i1 %t364, label %ixok89, label %ixbad90 ixbad90: store i32 4284, ptr @lp_site %t365 = call ptr @lp_win_stdio(i32 2) store i32 0, ptr @lp_site call i32 (ptr, ptr, ...) @fprintf(ptr %t365, ptr @.fmt_bounds, ptr @.str7190, i32 %t359, i32 %t363) call void @exit(i32 1) unreachable ixok89: %t366 = getelementptr inbounds ptr, ptr %t361, i32 %t359 %t367 = load ptr, ptr @g_g_es_swhy %t368 = load i32, ptr %t3 %t369 = getelementptr inbounds %LSlice, ptr %t367, i32 0, i32 0 %t370 = load ptr, ptr %t369 %t371 = getelementptr inbounds %LSlice, ptr %t367, i32 0, i32 1 %t372 = load i32, ptr %t371 %t373 = icmp ult i32 %t368, %t372 br i1 %t373, label %ixok91, label %ixbad92 ixbad92: store i32 4285, ptr @lp_site %t374 = call ptr @lp_win_stdio(i32 2) store i32 0, ptr @lp_site call i32 (ptr, ptr, ...) @fprintf(ptr %t374, ptr @.fmt_bounds, ptr @.str7191, i32 %t368, i32 %t372) call void @exit(i32 1) unreachable ixok91: %t375 = getelementptr inbounds ptr, ptr %t370, i32 %t368 %t376 = load ptr, ptr %t375 store ptr %t376, ptr %t366 store i32 1, ptr %t0 br label %ifend84 ifend84: %t377 = load i32, ptr %t3 %t378 = add i32 %t377, 1 store i32 %t378, ptr %t3 br label %wcond69 wend71: br label %wcond0 wend2: store i32 1, ptr %t0 br label %wcond93 wcond93: %t379 = load i32, ptr %t0 %t380 = icmp ne i32 %t379, 0 br i1 %t380, label %wbody94, label %wend95 wbody94: store i32 0, ptr %t0 store i32 0, ptr %t381 br label %wcond96 wcond96: %t382 = load i32, ptr %t381 %t383 = load ptr, ptr @g_g_es_ff %t384 = getelementptr inbounds %LSlice, ptr %t383, i32 0, i32 1 %t385 = load i32, ptr %t384 %t386 = icmp slt i32 %t382, %t385 %t387 = zext i1 %t386 to i32 %t388 = icmp ne i32 %t387, 0 br i1 %t388, label %wbody97, label %wend98 wbody97: %t389 = load ptr, ptr @g_g_es_ff %t390 = load i32, ptr %t381 %t391 = getelementptr inbounds %LSlice, ptr %t389, i32 0, i32 0 %t392 = load ptr, ptr %t391 %t393 = getelementptr inbounds %LSlice, ptr %t389, i32 0, i32 1 %t394 = load i32, ptr %t393 %t395 = icmp ult i32 %t390, %t394 br i1 %t395, label %ixok99, label %ixbad100 ixbad100: store i32 4286, ptr @lp_site %t396 = call ptr @lp_win_stdio(i32 2) store i32 0, ptr @lp_site call i32 (ptr, ptr, ...) @fprintf(ptr %t396, ptr @.fmt_bounds, ptr @.str7192, i32 %t390, i32 %t394) call void @exit(i32 1) unreachable ixok99: %t397 = getelementptr inbounds i32, ptr %t392, i32 %t390 %t398 = load i32, ptr %t397 store i32 %t398, ptr %t399 %t400 = load ptr, ptr @g_g_es_ft %t401 = load i32, ptr %t381 %t402 = getelementptr inbounds %LSlice, ptr %t400, i32 0, i32 0 %t403 = load ptr, ptr %t402 %t404 = getelementptr inbounds %LSlice, ptr %t400, i32 0, i32 1 %t405 = load i32, ptr %t404 %t406 = icmp ult i32 %t401, %t405 br i1 %t406, label %ixok101, label %ixbad102 ixbad102: store i32 4287, ptr @lp_site %t407 = call ptr @lp_win_stdio(i32 2) store i32 0, ptr @lp_site call i32 (ptr, ptr, ...) @fprintf(ptr %t407, ptr @.fmt_bounds, ptr @.str7193, i32 %t401, i32 %t405) call void @exit(i32 1) unreachable ixok101: %t408 = getelementptr inbounds i32, ptr %t403, i32 %t401 %t409 = load i32, ptr %t408 store i32 %t409, ptr %t410 %t412 = load ptr, ptr @g_g_es_own %t413 = load i32, ptr %t399 %t414 = getelementptr inbounds %LSlice, ptr %t412, i32 0, i32 0 %t415 = load ptr, ptr %t414 %t416 = getelementptr inbounds %LSlice, ptr %t412, i32 0, i32 1 %t417 = load i32, ptr %t416 %t418 = icmp ult i32 %t413, %t417 br i1 %t418, label %ixok103, label %ixbad104 ixbad104: store i32 4288, ptr @lp_site %t419 = call ptr @lp_win_stdio(i32 2) store i32 0, ptr @lp_site call i32 (ptr, ptr, ...) @fprintf(ptr %t419, ptr @.fmt_bounds, ptr @.str7194, i32 %t413, i32 %t417) call void @exit(i32 1) unreachable ixok103: %t420 = getelementptr inbounds ptr, ptr %t415, i32 %t413 %t421 = load ptr, ptr %t420 %t422 = icmp ne ptr %t421, null %t423 = zext i1 %t422 to i32 %t424 = icmp ne i32 %t423, 0 %t425 = zext i1 %t424 to i32 store i32 %t425, ptr %t411 br i1 %t424, label %sc105, label %scend106 sc105: %t426 = load ptr, ptr @g_g_es_own %t427 = load i32, ptr %t410 %t428 = getelementptr inbounds %LSlice, ptr %t426, i32 0, i32 0 %t429 = load ptr, ptr %t428 %t430 = getelementptr inbounds %LSlice, ptr %t426, i32 0, i32 1 %t431 = load i32, ptr %t430 %t432 = icmp ult i32 %t427, %t431 br i1 %t432, label %ixok107, label %ixbad108 ixbad108: store i32 4289, ptr @lp_site %t433 = call ptr @lp_win_stdio(i32 2) store i32 0, ptr @lp_site call i32 (ptr, ptr, ...) @fprintf(ptr %t433, ptr @.fmt_bounds, ptr @.str7195, i32 %t427, i32 %t431) call void @exit(i32 1) unreachable ixok107: %t434 = getelementptr inbounds ptr, ptr %t429, i32 %t427 %t435 = load ptr, ptr %t434 %t436 = icmp eq ptr %t435, null %t437 = zext i1 %t436 to i32 %t438 = icmp ne i32 %t437, 0 %t439 = zext i1 %t438 to i32 store i32 %t439, ptr %t411 br label %scend106 scend106: %t440 = load i32, ptr %t411 %t441 = icmp ne i32 %t440, 0 br i1 %t441, label %then109, label %ifend111 then109: %t442 = load ptr, ptr @g_g_es_own %t443 = load i32, ptr %t410 %t444 = getelementptr inbounds %LSlice, ptr %t442, i32 0, i32 0 %t445 = load ptr, ptr %t444 %t446 = getelementptr inbounds %LSlice, ptr %t442, i32 0, i32 1 %t447 = load i32, ptr %t446 %t448 = icmp ult i32 %t443, %t447 br i1 %t448, label %ixok112, label %ixbad113 ixbad113: store i32 4290, ptr @lp_site %t449 = call ptr @lp_win_stdio(i32 2) store i32 0, ptr @lp_site call i32 (ptr, ptr, ...) @fprintf(ptr %t449, ptr @.fmt_bounds, ptr @.str7196, i32 %t443, i32 %t447) call void @exit(i32 1) unreachable ixok112: %t450 = getelementptr inbounds ptr, ptr %t445, i32 %t443 %t451 = load ptr, ptr @g_g_es_own %t452 = load i32, ptr %t399 %t453 = getelementptr inbounds %LSlice, ptr %t451, i32 0, i32 0 %t454 = load ptr, ptr %t453 %t455 = getelementptr inbounds %LSlice, ptr %t451, i32 0, i32 1 %t456 = load i32, ptr %t455 %t457 = icmp ult i32 %t452, %t456 br i1 %t457, label %ixok114, label %ixbad115 ixbad115: store i32 4291, ptr @lp_site %t458 = call ptr @lp_win_stdio(i32 2) store i32 0, ptr @lp_site call i32 (ptr, ptr, ...) @fprintf(ptr %t458, ptr @.fmt_bounds, ptr @.str7197, i32 %t452, i32 %t456) call void @exit(i32 1) unreachable ixok114: %t459 = getelementptr inbounds ptr, ptr %t454, i32 %t452 %t460 = load ptr, ptr %t459 store ptr %t460, ptr %t450 store i32 1, ptr %t0 br label %ifend111 ifend111: %t463 = load ptr, ptr @g_g_es_own %t464 = load i32, ptr %t410 %t465 = getelementptr inbounds %LSlice, ptr %t463, i32 0, i32 0 %t466 = load ptr, ptr %t465 %t467 = getelementptr inbounds %LSlice, ptr %t463, i32 0, i32 1 %t468 = load i32, ptr %t467 %t469 = icmp ult i32 %t464, %t468 br i1 %t469, label %ixok116, label %ixbad117 ixbad117: store i32 4292, ptr @lp_site %t470 = call ptr @lp_win_stdio(i32 2) store i32 0, ptr @lp_site call i32 (ptr, ptr, ...) @fprintf(ptr %t470, ptr @.fmt_bounds, ptr @.str7198, i32 %t464, i32 %t468) call void @exit(i32 1) unreachable ixok116: %t471 = getelementptr inbounds ptr, ptr %t466, i32 %t464 %t472 = load ptr, ptr %t471 %t473 = icmp ne ptr %t472, null %t474 = zext i1 %t473 to i32 %t475 = icmp ne i32 %t474, 0 %t476 = zext i1 %t475 to i32 store i32 %t476, ptr %t462 br i1 %t475, label %sc118, label %scend119 sc118: %t477 = load ptr, ptr @g_g_es_own %t478 = load i32, ptr %t399 %t479 = getelementptr inbounds %LSlice, ptr %t477, i32 0, i32 0 %t480 = load ptr, ptr %t479 %t481 = getelementptr inbounds %LSlice, ptr %t477, i32 0, i32 1 %t482 = load i32, ptr %t481 %t483 = icmp ult i32 %t478, %t482 br i1 %t483, label %ixok120, label %ixbad121 ixbad121: store i32 4293, ptr @lp_site %t484 = call ptr @lp_win_stdio(i32 2) store i32 0, ptr @lp_site call i32 (ptr, ptr, ...) @fprintf(ptr %t484, ptr @.fmt_bounds, ptr @.str7199, i32 %t478, i32 %t482) call void @exit(i32 1) unreachable ixok120: %t485 = getelementptr inbounds ptr, ptr %t480, i32 %t478 %t486 = load ptr, ptr %t485 %t487 = icmp eq ptr %t486, null %t488 = zext i1 %t487 to i32 %t489 = icmp ne i32 %t488, 0 %t490 = zext i1 %t489 to i32 store i32 %t490, ptr %t462 br label %scend119 scend119: %t491 = load i32, ptr %t462 %t492 = icmp ne i32 %t491, 0 %t493 = zext i1 %t492 to i32 store i32 %t493, ptr %t461 br i1 %t492, label %sc122, label %scend123 sc122: %t494 = load ptr, ptr @g_g_es_flag %t495 = load i32, ptr %t399 %t496 = getelementptr inbounds %LSlice, ptr %t494, i32 0, i32 0 %t497 = load ptr, ptr %t496 %t498 = getelementptr inbounds %LSlice, ptr %t494, i32 0, i32 1 %t499 = load i32, ptr %t498 %t500 = icmp ult i32 %t495, %t499 br i1 %t500, label %ixok124, label %ixbad125 ixbad125: store i32 4294, ptr @lp_site %t501 = call ptr @lp_win_stdio(i32 2) store i32 0, ptr @lp_site call i32 (ptr, ptr, ...) @fprintf(ptr %t501, ptr @.fmt_bounds, ptr @.str7200, i32 %t495, i32 %t499) call void @exit(i32 1) unreachable ixok124: %t502 = getelementptr inbounds i32, ptr %t497, i32 %t495 %t503 = load i32, ptr %t502 %t504 = and i32 %t503, 1 %t505 = icmp ne i32 %t504, 0 %t506 = zext i1 %t505 to i32 %t507 = icmp ne i32 %t506, 0 %t508 = zext i1 %t507 to i32 store i32 %t508, ptr %t461 br label %scend123 scend123: %t509 = load i32, ptr %t461 %t510 = icmp ne i32 %t509, 0 br i1 %t510, label %then126, label %ifend128 then126: %t511 = load ptr, ptr @g_g_es_own %t512 = load i32, ptr %t399 %t513 = getelementptr inbounds %LSlice, ptr %t511, i32 0, i32 0 %t514 = load ptr, ptr %t513 %t515 = getelementptr inbounds %LSlice, ptr %t511, i32 0, i32 1 %t516 = load i32, ptr %t515 %t517 = icmp ult i32 %t512, %t516 br i1 %t517, label %ixok129, label %ixbad130 ixbad130: store i32 4295, ptr @lp_site %t518 = call ptr @lp_win_stdio(i32 2) store i32 0, ptr @lp_site call i32 (ptr, ptr, ...) @fprintf(ptr %t518, ptr @.fmt_bounds, ptr @.str7201, i32 %t512, i32 %t516) call void @exit(i32 1) unreachable ixok129: %t519 = getelementptr inbounds ptr, ptr %t514, i32 %t512 %t520 = load ptr, ptr @g_g_es_own %t521 = load i32, ptr %t410 %t522 = getelementptr inbounds %LSlice, ptr %t520, i32 0, i32 0 %t523 = load ptr, ptr %t522 %t524 = getelementptr inbounds %LSlice, ptr %t520, i32 0, i32 1 %t525 = load i32, ptr %t524 %t526 = icmp ult i32 %t521, %t525 br i1 %t526, label %ixok131, label %ixbad132 ixbad132: store i32 4296, ptr @lp_site %t527 = call ptr @lp_win_stdio(i32 2) store i32 0, ptr @lp_site call i32 (ptr, ptr, ...) @fprintf(ptr %t527, ptr @.fmt_bounds, ptr @.str7202, i32 %t521, i32 %t525) call void @exit(i32 1) unreachable ixok131: %t528 = getelementptr inbounds ptr, ptr %t523, i32 %t521 %t529 = load ptr, ptr %t528 store ptr %t529, ptr %t519 store i32 1, ptr %t0 br label %ifend128 ifend128: %t530 = load i32, ptr %t381 %t531 = add i32 %t530, 1 store i32 %t531, ptr %t381 br label %wcond96 wend98: store i32 0, ptr %t381 br label %wcond133 wcond133: %t532 = load i32, ptr %t381 %t533 = load ptr, ptr @g_g_es_sv %t534 = getelementptr inbounds %LSlice, ptr %t533, i32 0, i32 1 %t535 = load i32, ptr %t534 %t536 = icmp slt i32 %t532, %t535 %t537 = zext i1 %t536 to i32 %t538 = icmp ne i32 %t537, 0 br i1 %t538, label %wbody134, label %wend135 wbody134: %t539 = load ptr, ptr @g_g_es_sv %t540 = load i32, ptr %t381 %t541 = getelementptr inbounds %LSlice, ptr %t539, i32 0, i32 0 %t542 = load ptr, ptr %t541 %t543 = getelementptr inbounds %LSlice, ptr %t539, i32 0, i32 1 %t544 = load i32, ptr %t543 %t545 = icmp ult i32 %t540, %t544 br i1 %t545, label %ixok136, label %ixbad137 ixbad137: store i32 4297, ptr @lp_site %t546 = call ptr @lp_win_stdio(i32 2) store i32 0, ptr @lp_site call i32 (ptr, ptr, ...) @fprintf(ptr %t546, ptr @.fmt_bounds, ptr @.str7203, i32 %t540, i32 %t544) call void @exit(i32 1) unreachable ixok136: %t547 = getelementptr inbounds i32, ptr %t542, i32 %t540 %t548 = load i32, ptr %t547 store i32 %t548, ptr %t549 %t550 = load ptr, ptr @g_g_es_st %t551 = load i32, ptr %t381 %t552 = getelementptr inbounds %LSlice, ptr %t550, i32 0, i32 0 %t553 = load ptr, ptr %t552 %t554 = getelementptr inbounds %LSlice, ptr %t550, i32 0, i32 1 %t555 = load i32, ptr %t554 %t556 = icmp ult i32 %t551, %t555 br i1 %t556, label %ixok138, label %ixbad139 ixbad139: store i32 4298, ptr @lp_site %t557 = call ptr @lp_win_stdio(i32 2) store i32 0, ptr @lp_site call i32 (ptr, ptr, ...) @fprintf(ptr %t557, ptr @.fmt_bounds, ptr @.str7204, i32 %t551, i32 %t555) call void @exit(i32 1) unreachable ixok138: %t558 = getelementptr inbounds i32, ptr %t553, i32 %t551 %t559 = load i32, ptr %t558 store i32 %t559, ptr %t560 %t562 = load ptr, ptr @g_g_es_own %t563 = load i32, ptr %t560 %t564 = getelementptr inbounds %LSlice, ptr %t562, i32 0, i32 0 %t565 = load ptr, ptr %t564 %t566 = getelementptr inbounds %LSlice, ptr %t562, i32 0, i32 1 %t567 = load i32, ptr %t566 %t568 = icmp ult i32 %t563, %t567 br i1 %t568, label %ixok140, label %ixbad141 ixbad141: store i32 4299, ptr @lp_site %t569 = call ptr @lp_win_stdio(i32 2) store i32 0, ptr @lp_site call i32 (ptr, ptr, ...) @fprintf(ptr %t569, ptr @.fmt_bounds, ptr @.str7205, i32 %t563, i32 %t567) call void @exit(i32 1) unreachable ixok140: %t570 = getelementptr inbounds ptr, ptr %t565, i32 %t563 %t571 = load ptr, ptr %t570 %t572 = icmp ne ptr %t571, null %t573 = zext i1 %t572 to i32 %t574 = icmp ne i32 %t573, 0 %t575 = zext i1 %t574 to i32 store i32 %t575, ptr %t561 br i1 %t574, label %sc142, label %scend143 sc142: %t576 = load ptr, ptr @g_g_es_own %t577 = load i32, ptr %t549 %t578 = getelementptr inbounds %LSlice, ptr %t576, i32 0, i32 0 %t579 = load ptr, ptr %t578 %t580 = getelementptr inbounds %LSlice, ptr %t576, i32 0, i32 1 %t581 = load i32, ptr %t580 %t582 = icmp ult i32 %t577, %t581 br i1 %t582, label %ixok144, label %ixbad145 ixbad145: store i32 4300, ptr @lp_site %t583 = call ptr @lp_win_stdio(i32 2) store i32 0, ptr @lp_site call i32 (ptr, ptr, ...) @fprintf(ptr %t583, ptr @.fmt_bounds, ptr @.str7206, i32 %t577, i32 %t581) call void @exit(i32 1) unreachable ixok144: %t584 = getelementptr inbounds ptr, ptr %t579, i32 %t577 %t585 = load ptr, ptr %t584 %t586 = icmp eq ptr %t585, null %t587 = zext i1 %t586 to i32 %t588 = icmp ne i32 %t587, 0 %t589 = zext i1 %t588 to i32 store i32 %t589, ptr %t561 br label %scend143 scend143: %t590 = load i32, ptr %t561 %t591 = icmp ne i32 %t590, 0 br i1 %t591, label %then146, label %ifend148 then146: %t592 = load ptr, ptr @g_g_es_own %t593 = load i32, ptr %t549 %t594 = getelementptr inbounds %LSlice, ptr %t592, i32 0, i32 0 %t595 = load ptr, ptr %t594 %t596 = getelementptr inbounds %LSlice, ptr %t592, i32 0, i32 1 %t597 = load i32, ptr %t596 %t598 = icmp ult i32 %t593, %t597 br i1 %t598, label %ixok149, label %ixbad150 ixbad150: store i32 4301, ptr @lp_site %t599 = call ptr @lp_win_stdio(i32 2) store i32 0, ptr @lp_site call i32 (ptr, ptr, ...) @fprintf(ptr %t599, ptr @.fmt_bounds, ptr @.str7207, i32 %t593, i32 %t597) call void @exit(i32 1) unreachable ixok149: %t600 = getelementptr inbounds ptr, ptr %t595, i32 %t593 %t601 = load ptr, ptr @g_g_es_own %t602 = load i32, ptr %t560 %t603 = getelementptr inbounds %LSlice, ptr %t601, i32 0, i32 0 %t604 = load ptr, ptr %t603 %t605 = getelementptr inbounds %LSlice, ptr %t601, i32 0, i32 1 %t606 = load i32, ptr %t605 %t607 = icmp ult i32 %t602, %t606 br i1 %t607, label %ixok151, label %ixbad152 ixbad152: store i32 4302, ptr @lp_site %t608 = call ptr @lp_win_stdio(i32 2) store i32 0, ptr @lp_site call i32 (ptr, ptr, ...) @fprintf(ptr %t608, ptr @.fmt_bounds, ptr @.str7208, i32 %t602, i32 %t606) call void @exit(i32 1) unreachable ixok151: %t609 = getelementptr inbounds ptr, ptr %t604, i32 %t602 %t610 = load ptr, ptr %t609 store ptr %t610, ptr %t600 store i32 1, ptr %t0 br label %ifend148 ifend148: %t611 = load i32, ptr %t381 %t612 = add i32 %t611, 1 store i32 %t612, ptr %t381 br label %wcond133 wend135: br label %wcond93 wend95: store i32 1, ptr %t0 br label %wcond153 wcond153: %t613 = load i32, ptr %t0 %t614 = icmp ne i32 %t613, 0 br i1 %t614, label %wbody154, label %wend155 wbody154: store i32 0, ptr %t0 store i32 0, ptr %t615 br label %wcond156 wcond156: %t616 = load i32, ptr %t615 %t617 = load ptr, ptr @g_g_es_calls_f %t618 = getelementptr inbounds %LSlice, ptr %t617, i32 0, i32 1 %t619 = load i32, ptr %t618 %t620 = icmp slt i32 %t616, %t619 %t621 = zext i1 %t620 to i32 %t622 = icmp ne i32 %t621, 0 br i1 %t622, label %wbody157, label %wend158 wbody157: %t623 = load ptr, ptr @g_g_es_calls_f %t624 = load i32, ptr %t615 %t625 = getelementptr inbounds %LSlice, ptr %t623, i32 0, i32 0 %t626 = load ptr, ptr %t625 %t627 = getelementptr inbounds %LSlice, ptr %t623, i32 0, i32 1 %t628 = load i32, ptr %t627 %t629 = icmp ult i32 %t624, %t628 br i1 %t629, label %ixok159, label %ixbad160 ixbad160: store i32 4303, ptr @lp_site %t630 = call ptr @lp_win_stdio(i32 2) store i32 0, ptr @lp_site call i32 (ptr, ptr, ...) @fprintf(ptr %t630, ptr @.fmt_bounds, ptr @.str7209, i32 %t624, i32 %t628) call void @exit(i32 1) unreachable ixok159: %t631 = getelementptr inbounds i32, ptr %t626, i32 %t624 %t632 = load i32, ptr %t631 store i32 %t632, ptr %t633 %t634 = load ptr, ptr @g_g_es_calls_t %t635 = load i32, ptr %t615 %t636 = getelementptr inbounds %LSlice, ptr %t634, i32 0, i32 0 %t637 = load ptr, ptr %t636 %t638 = getelementptr inbounds %LSlice, ptr %t634, i32 0, i32 1 %t639 = load i32, ptr %t638 %t640 = icmp ult i32 %t635, %t639 br i1 %t640, label %ixok161, label %ixbad162 ixbad162: store i32 4304, ptr @lp_site %t641 = call ptr @lp_win_stdio(i32 2) store i32 0, ptr @lp_site call i32 (ptr, ptr, ...) @fprintf(ptr %t641, ptr @.fmt_bounds, ptr @.str7210, i32 %t635, i32 %t639) call void @exit(i32 1) unreachable ixok161: %t642 = getelementptr inbounds i32, ptr %t637, i32 %t635 %t643 = load i32, ptr %t642 store i32 %t643, ptr %t644 %t647 = load i32, ptr %t633 %t648 = icmp sge i32 %t647, 0 %t649 = zext i1 %t648 to i32 %t650 = icmp ne i32 %t649, 0 %t651 = zext i1 %t650 to i32 store i32 %t651, ptr %t646 br i1 %t650, label %sc163, label %scend164 sc163: %t652 = load ptr, ptr @g_g_es_fspans %t653 = load i32, ptr %t644 %t654 = getelementptr inbounds %LSlice, ptr %t652, i32 0, i32 0 %t655 = load ptr, ptr %t654 %t656 = getelementptr inbounds %LSlice, ptr %t652, i32 0, i32 1 %t657 = load i32, ptr %t656 %t658 = icmp ult i32 %t653, %t657 br i1 %t658, label %ixok165, label %ixbad166 ixbad166: store i32 4305, ptr @lp_site %t659 = call ptr @lp_win_stdio(i32 2) store i32 0, ptr @lp_site call i32 (ptr, ptr, ...) @fprintf(ptr %t659, ptr @.fmt_bounds, ptr @.str7211, i32 %t653, i32 %t657) call void @exit(i32 1) unreachable ixok165: %t660 = getelementptr inbounds i32, ptr %t655, i32 %t653 %t661 = load i32, ptr %t660 %t662 = icmp ne i32 %t661, 0 %t663 = zext i1 %t662 to i32 store i32 %t663, ptr %t646 br label %scend164 scend164: %t664 = load i32, ptr %t646 %t665 = icmp ne i32 %t664, 0 %t666 = zext i1 %t665 to i32 store i32 %t666, ptr %t645 br i1 %t665, label %sc167, label %scend168 sc167: %t667 = load ptr, ptr @g_g_es_fspans %t668 = load i32, ptr %t633 %t669 = getelementptr inbounds %LSlice, ptr %t667, i32 0, i32 0 %t670 = load ptr, ptr %t669 %t671 = getelementptr inbounds %LSlice, ptr %t667, i32 0, i32 1 %t672 = load i32, ptr %t671 %t673 = icmp ult i32 %t668, %t672 br i1 %t673, label %ixok169, label %ixbad170 ixbad170: store i32 4306, ptr @lp_site %t674 = call ptr @lp_win_stdio(i32 2) store i32 0, ptr @lp_site call i32 (ptr, ptr, ...) @fprintf(ptr %t674, ptr @.fmt_bounds, ptr @.str7212, i32 %t668, i32 %t672) call void @exit(i32 1) unreachable ixok169: %t675 = getelementptr inbounds i32, ptr %t670, i32 %t668 %t676 = load i32, ptr %t675 %t677 = icmp eq i32 %t676, 0 %t678 = zext i1 %t677 to i32 %t679 = icmp ne i32 %t678, 0 %t680 = zext i1 %t679 to i32 store i32 %t680, ptr %t645 br label %scend168 scend168: %t681 = load i32, ptr %t645 %t682 = icmp ne i32 %t681, 0 br i1 %t682, label %then171, label %ifend173 then171: %t683 = load ptr, ptr @g_g_es_fspans %t684 = load i32, ptr %t633 %t685 = getelementptr inbounds %LSlice, ptr %t683, i32 0, i32 0 %t686 = load ptr, ptr %t685 %t687 = getelementptr inbounds %LSlice, ptr %t683, i32 0, i32 1 %t688 = load i32, ptr %t687 %t689 = icmp ult i32 %t684, %t688 br i1 %t689, label %ixok174, label %ixbad175 ixbad175: store i32 4307, ptr @lp_site %t690 = call ptr @lp_win_stdio(i32 2) store i32 0, ptr @lp_site call i32 (ptr, ptr, ...) @fprintf(ptr %t690, ptr @.fmt_bounds, ptr @.str7213, i32 %t684, i32 %t688) call void @exit(i32 1) unreachable ixok174: %t691 = getelementptr inbounds i32, ptr %t686, i32 %t684 store i32 1, ptr %t691 store i32 1, ptr %t0 br label %ifend173 ifend173: %t692 = load i32, ptr %t615 %t693 = add i32 %t692, 1 store i32 %t693, ptr %t615 br label %wcond156 wend158: br label %wcond153 wend155: br label %ret ret: ret void } define void @fn_escape_analyse() { entry: %t8 = alloca i32 %t26 = alloca ptr %t30 = alloca ptr %t31 = alloca i32 %t46 = alloca i32 %t47 = alloca i32 %t48 = alloca i32 %t49 = alloca i32 %t128 = alloca ptr %t204 = alloca i32 %t215 = alloca i32 %t216 = alloca i32 %t301 = alloca i32 %t319 = alloca ptr %t339 = alloca i32 %t471 = alloca i32 %t489 = alloca ptr %t490 = alloca i32 %t531 = alloca i32 %t571 = alloca i32 %t590 = alloca ptr %t591 = alloca i32 %t622 = alloca i32 %t640 = alloca ptr %t651 = alloca i32 %t662 = alloca i32 %t663 = alloca i32 %t682 = alloca i32 %t683 = alloca i32 %t684 = alloca i32 %t720 = alloca i32 %t721 = alloca i32 %t786 = alloca ptr %t813 = alloca i32 %t831 = alloca ptr %t842 = alloca i32 %t853 = alloca i32 %t854 = alloca i32 %t873 = alloca i32 %t874 = alloca i32 %t882 = alloca i32 %t883 = alloca i32 %t0 = load i32, ptr @g_g_es_done %t1 = icmp ne i32 %t0, 0 br i1 %t1, label %then0, label %ifend2 then0: br label %ret ifend2: store i32 1, ptr @g_g_es_done %t2 = load ptr, ptr @g_g_es_ok %t3 = load ptr, ptr @g_g_es_ov call void @fn_ck_tab_init(ptr %t2, ptr %t3) %t4 = or i32 1, 2 %t5 = call i32 @fn_es_new(i32 %t4) store i32 %t5, ptr @g_g_es_heap %t6 = load ptr, ptr @g_g_es_fk %t7 = load ptr, ptr @g_g_es_fv call void @fn_ck_tab_init(ptr %t6, ptr %t7) store i32 0, ptr %t8 br label %wcond3 wcond3: %t9 = load i32, ptr %t8 %t10 = load ptr, ptr @g_prog %t11 = getelementptr inbounds %LSlice, ptr %t10, i32 0, i32 1 %t12 = load i32, ptr %t11 %t13 = icmp slt i32 %t9, %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 @g_prog %t17 = load i32, ptr %t8 %t18 = getelementptr inbounds %LSlice, ptr %t16, i32 0, i32 0 %t19 = load ptr, ptr %t18 %t20 = getelementptr inbounds %LSlice, ptr %t16, i32 0, i32 1 %t21 = load i32, ptr %t20 %t22 = icmp ult i32 %t17, %t21 br i1 %t22, label %ixok6, label %ixbad7 ixbad7: store i32 4308, ptr @lp_site %t23 = call ptr @lp_win_stdio(i32 2) store i32 0, ptr @lp_site call i32 (ptr, ptr, ...) @fprintf(ptr %t23, ptr @.fmt_bounds, ptr @.str7214, i32 %t17, i32 %t21) call void @exit(i32 1) unreachable ixok6: %t24 = getelementptr inbounds ptr, ptr %t19, i32 %t17 %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 1 %t29 = load ptr, ptr %t28 store ptr %t29, ptr %t30 %t32 = load ptr, ptr %t26 %t33 = getelementptr inbounds %Cmp_Node, ptr %t32, i32 0, i32 0 %t34 = load i32, ptr %t33 %t35 = icmp eq i32 %t34, 6 %t36 = zext i1 %t35 to i32 %t37 = icmp ne i32 %t36, 0 %t38 = zext i1 %t37 to i32 store i32 %t38, ptr %t31 br i1 %t37, label %sc8, label %scend9 sc8: %t39 = load ptr, ptr %t30 %t40 = icmp eq 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 %t31 br label %scend9 scend9: %t44 = load i32, ptr %t31 %t45 = icmp ne i32 %t44, 0 br i1 %t45, label %then10, label %ifend12 then10: store ptr @.str7216, ptr %t30 br label %ifend12 ifend12: %t50 = load ptr, ptr %t26 %t51 = getelementptr inbounds %Cmp_Node, ptr %t50, i32 0, i32 0 %t52 = load i32, ptr %t51 %t53 = icmp eq i32 %t52, 4 %t54 = zext i1 %t53 to i32 %t55 = icmp ne i32 %t54, 0 %t56 = zext i1 %t55 to i32 store i32 %t56, ptr %t49 br i1 %t55, label %scend14, label %sc13 sc13: %t57 = load ptr, ptr %t26 %t58 = getelementptr inbounds %Cmp_Node, ptr %t57, i32 0, i32 0 %t59 = load i32, ptr %t58 %t60 = icmp eq i32 %t59, 9 %t61 = zext i1 %t60 to i32 %t62 = icmp ne i32 %t61, 0 %t63 = zext i1 %t62 to i32 store i32 %t63, ptr %t49 br label %scend14 scend14: %t64 = load i32, ptr %t49 %t65 = icmp ne i32 %t64, 0 %t66 = zext i1 %t65 to i32 store i32 %t66, ptr %t48 br i1 %t65, label %scend16, label %sc15 sc15: %t67 = load ptr, ptr %t26 %t68 = getelementptr inbounds %Cmp_Node, ptr %t67, i32 0, i32 0 %t69 = load i32, ptr %t68 %t70 = icmp eq i32 %t69, 6 %t71 = zext i1 %t70 to i32 %t72 = icmp ne i32 %t71, 0 %t73 = zext i1 %t72 to i32 store i32 %t73, ptr %t48 br label %scend16 scend16: %t74 = load i32, ptr %t48 %t75 = icmp ne i32 %t74, 0 %t76 = zext i1 %t75 to i32 store i32 %t76, ptr %t47 br i1 %t75, label %sc17, label %scend18 sc17: %t77 = load ptr, ptr %t30 %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 %t47 br label %scend18 scend18: %t82 = load i32, ptr %t47 %t83 = icmp ne i32 %t82, 0 %t84 = zext i1 %t83 to i32 store i32 %t84, ptr %t46 br i1 %t83, label %sc19, label %scend20 sc19: %t85 = load ptr, ptr @g_g_es_fk %t86 = load ptr, ptr @g_g_es_fv %t87 = load ptr, ptr %t30 %t88 = call ptr @fn_ck_tab_get(ptr %t85, ptr %t86, ptr %t87) %t89 = icmp eq ptr %t88, null %t90 = zext i1 %t89 to i32 %t91 = icmp ne i32 %t90, 0 %t92 = zext i1 %t91 to i32 store i32 %t92, ptr %t46 br label %scend20 scend20: %t93 = load i32, ptr %t46 %t94 = icmp ne i32 %t93, 0 br i1 %t94, label %then21, label %ifend23 then21: %t95 = getelementptr %Cmp_Node, ptr null, i32 1 %t96 = ptrtoint ptr %t95 to i64 store i32 4309, ptr @lp_site %t97 = call ptr @lp_malloc(i64 %t96) store i32 0, ptr @lp_site %t98 = getelementptr inbounds %Cmp_Node, ptr %t97, i32 0, i32 0 store i32 0, ptr %t98 %t99 = getelementptr inbounds %Cmp_Node, ptr %t97, i32 0, i32 1 store ptr null, ptr %t99 %t100 = getelementptr inbounds %Cmp_Node, ptr %t97, i32 0, i32 2 store i32 0, ptr %t100 %t101 = getelementptr inbounds %Cmp_Node, ptr %t97, i32 0, i32 3 store ptr null, ptr %t101 %t102 = getelementptr inbounds %Cmp_Node, ptr %t97, i32 0, i32 4 store ptr null, ptr %t102 %t103 = getelementptr inbounds %Cmp_Node, ptr %t97, i32 0, i32 5 store ptr null, ptr %t103 %t104 = getelementptr inbounds %Cmp_Node, ptr %t97, i32 0, i32 6 store ptr null, ptr %t104 %t105 = getelementptr inbounds %Cmp_Node, ptr %t97, i32 0, i32 7 store ptr null, ptr %t105 %t106 = getelementptr inbounds %Cmp_Node, ptr %t97, i32 0, i32 8 store i32 0, ptr %t106 %t107 = getelementptr inbounds %Cmp_Node, ptr %t97, i32 0, i32 9 store ptr null, ptr %t107 %t108 = getelementptr inbounds %Cmp_Node, ptr %t97, i32 0, i32 10 store i32 0, ptr %t108 %t109 = getelementptr inbounds %Cmp_Node, ptr %t97, i32 0, i32 11 store ptr null, ptr %t109 %t110 = getelementptr inbounds %Cmp_Node, ptr %t97, i32 0, i32 12 store i32 0, ptr %t110 %t111 = getelementptr inbounds %Cmp_Node, ptr %t97, i32 0, i32 13 %t112 = sub i32 0, 1 store i32 %t112, ptr %t111 %t113 = getelementptr inbounds %Cmp_Node, ptr %t97, i32 0, i32 14 %t114 = sub i32 0, 1 store i32 %t114, ptr %t113 %t115 = getelementptr inbounds %Cmp_Node, ptr %t97, i32 0, i32 15 %t116 = sub i32 0, 1 store i32 %t116, ptr %t115 %t117 = getelementptr inbounds %Cmp_Node, ptr %t97, i32 0, i32 16 %t118 = sub i32 0, 1 store i32 %t118, ptr %t117 %t119 = getelementptr inbounds %Cmp_Node, ptr %t97, i32 0, i32 17 %t120 = sub i32 0, 1 store i32 %t120, ptr %t119 %t121 = getelementptr inbounds %Cmp_Node, ptr %t97, i32 0, i32 18 store i32 0, ptr %t121 %t122 = getelementptr inbounds %Cmp_Node, ptr %t97, i32 0, i32 19 %t123 = sub i32 0, 1 store i32 %t123, ptr %t122 %t124 = getelementptr inbounds %Cmp_Node, ptr %t97, i32 0, i32 20 %t125 = sub i32 0, 1 store i32 %t125, ptr %t124 %t126 = getelementptr inbounds %Cmp_Node, ptr %t97, i32 0, i32 21 %t127 = sub i32 0, 1 store i32 %t127, ptr %t126 store ptr %t97, ptr %t128 %t129 = load ptr, ptr %t128 %t130 = getelementptr inbounds %Cmp_Node, ptr %t129, i32 0, i32 2 %t131 = load ptr, ptr @g_g_es_fnode %t132 = getelementptr inbounds %LSlice, ptr %t131, i32 0, i32 1 %t133 = load i32, ptr %t132 store i32 %t133, ptr %t130 %t134 = load ptr, ptr @g_g_es_fk %t135 = load ptr, ptr @g_g_es_fv %t136 = load ptr, ptr %t30 %t137 = load ptr, ptr %t128 call void @fn_ck_tab_put(ptr %t134, ptr %t135, ptr %t136, ptr %t137) %t138 = load ptr, ptr @g_g_es_fnode %t139 = load ptr, ptr %t26 %t140 = getelementptr inbounds %LSlice, ptr %t138, i32 0, i32 1 %t141 = getelementptr inbounds %LSlice, ptr %t138, i32 0, i32 2 %t142 = getelementptr inbounds %LSlice, ptr %t138, i32 0, i32 0 %t143 = load i32, ptr %t140 %t144 = load i32, ptr %t141 %t145 = icmp sge i32 %t143, %t144 br i1 %t145, label %grow24, label %put25 grow24: %t146 = mul i32 %t144, 2 %t147 = icmp eq i32 %t144, 0 %t148 = select i1 %t147, i32 8, i32 %t146 %t149 = getelementptr ptr, ptr null, i32 1 %t150 = ptrtoint ptr %t149 to i64 %t151 = zext i32 %t148 to i64 %t152 = mul i64 %t151, %t150 %t153 = load ptr, ptr %t142 store i32 4310, ptr @lp_site %t154 = call ptr @lp_realloc(ptr %t153, i64 %t152) store i32 0, ptr @lp_site store ptr %t154, ptr %t142 store i32 %t148, ptr %t141 br label %put25 put25: %t155 = load ptr, ptr %t142 %t156 = getelementptr inbounds ptr, ptr %t155, i32 %t143 store ptr %t139, ptr %t156 %t157 = add i32 %t143, 1 store i32 %t157, ptr %t140 %t158 = load ptr, ptr @g_g_es_fspans %t159 = load ptr, ptr %t26 %t160 = getelementptr inbounds %Cmp_Node, ptr %t159, i32 0, i32 0 %t161 = load i32, ptr %t160 %t162 = icmp eq i32 %t161, 6 %t163 = zext i1 %t162 to i32 %t164 = getelementptr inbounds %LSlice, ptr %t158, i32 0, i32 1 %t165 = getelementptr inbounds %LSlice, ptr %t158, i32 0, i32 2 %t166 = getelementptr inbounds %LSlice, ptr %t158, i32 0, i32 0 %t167 = load i32, ptr %t164 %t168 = load i32, ptr %t165 %t169 = icmp sge i32 %t167, %t168 br i1 %t169, label %grow26, label %put27 grow26: %t170 = mul i32 %t168, 2 %t171 = icmp eq i32 %t168, 0 %t172 = select i1 %t171, i32 8, i32 %t170 %t173 = getelementptr i32, ptr null, i32 1 %t174 = ptrtoint ptr %t173 to i64 %t175 = zext i32 %t172 to i64 %t176 = mul i64 %t175, %t174 %t177 = load ptr, ptr %t166 store i32 4311, ptr @lp_site %t178 = call ptr @lp_realloc(ptr %t177, i64 %t176) store i32 0, ptr @lp_site store ptr %t178, ptr %t166 store i32 %t172, ptr %t165 br label %put27 put27: %t179 = load ptr, ptr %t166 %t180 = getelementptr inbounds i32, ptr %t179, i32 %t167 store i32 %t163, ptr %t180 %t181 = add i32 %t167, 1 store i32 %t181, ptr %t164 %t182 = load ptr, ptr @g_g_es_fparam %t183 = load ptr, ptr @g_g_es_flag %t184 = getelementptr inbounds %LSlice, ptr %t183, i32 0, i32 1 %t185 = load i32, ptr %t184 %t186 = getelementptr inbounds %LSlice, ptr %t182, i32 0, i32 1 %t187 = getelementptr inbounds %LSlice, ptr %t182, i32 0, i32 2 %t188 = getelementptr inbounds %LSlice, ptr %t182, i32 0, i32 0 %t189 = load i32, ptr %t186 %t190 = load i32, ptr %t187 %t191 = icmp sge i32 %t189, %t190 br i1 %t191, label %grow28, label %put29 grow28: %t192 = mul i32 %t190, 2 %t193 = icmp eq i32 %t190, 0 %t194 = select i1 %t193, i32 8, i32 %t192 %t195 = getelementptr i32, 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 store i32 4312, ptr @lp_site %t200 = call ptr @lp_realloc(ptr %t199, i64 %t198) store i32 0, ptr @lp_site store ptr %t200, ptr %t188 store i32 %t194, ptr %t187 br label %put29 put29: %t201 = load ptr, ptr %t188 %t202 = getelementptr inbounds i32, ptr %t201, i32 %t189 store i32 %t185, ptr %t202 %t203 = add i32 %t189, 1 store i32 %t203, ptr %t186 store i32 0, ptr %t204 br label %wcond30 wcond30: %t205 = load i32, ptr %t204 %t206 = load ptr, ptr %t26 %t207 = getelementptr inbounds %Cmp_Node, ptr %t206, i32 0, i32 7 %t208 = load ptr, ptr %t207 %t209 = getelementptr inbounds %LSlice, ptr %t208, i32 0, i32 1 %t210 = load i32, ptr %t209 %t211 = icmp slt i32 %t205, %t210 %t212 = zext i1 %t211 to i32 %t213 = icmp ne i32 %t212, 0 br i1 %t213, label %wbody31, label %wend32 wbody31: %t214 = call i32 @fn_es_new(i32 2) store i32 %t214, ptr %t215 %t217 = load ptr, ptr %t26 %t218 = getelementptr inbounds %Cmp_Node, ptr %t217, i32 0, i32 7 %t219 = load ptr, ptr %t218 %t220 = load i32, ptr %t204 %t221 = getelementptr inbounds %LSlice, ptr %t219, i32 0, i32 0 %t222 = load ptr, ptr %t221 %t223 = getelementptr inbounds %LSlice, ptr %t219, i32 0, i32 1 %t224 = load i32, ptr %t223 %t225 = icmp ult i32 %t220, %t224 br i1 %t225, label %ixok33, label %ixbad34 ixbad34: store i32 4313, ptr @lp_site %t226 = call ptr @lp_win_stdio(i32 2) store i32 0, ptr @lp_site call i32 (ptr, ptr, ...) @fprintf(ptr %t226, ptr @.fmt_bounds, ptr @.str7217, i32 %t220, i32 %t224) call void @exit(i32 1) unreachable ixok33: %t227 = getelementptr inbounds ptr, ptr %t222, i32 %t220 %t228 = load ptr, ptr %t227 %t229 = getelementptr inbounds %Cmp_Node, ptr %t228, i32 0, i32 0 %t230 = load i32, ptr %t229 %t231 = icmp eq i32 %t230, 5 %t232 = zext i1 %t231 to i32 %t233 = icmp ne i32 %t232, 0 %t234 = zext i1 %t233 to i32 store i32 %t234, ptr %t216 br i1 %t233, label %sc35, label %scend36 sc35: %t235 = load ptr, ptr %t26 %t236 = getelementptr inbounds %Cmp_Node, ptr %t235, i32 0, i32 7 %t237 = load ptr, ptr %t236 %t238 = load i32, ptr %t204 %t239 = getelementptr inbounds %LSlice, ptr %t237, i32 0, i32 0 %t240 = load ptr, ptr %t239 %t241 = getelementptr inbounds %LSlice, ptr %t237, i32 0, i32 1 %t242 = load i32, ptr %t241 %t243 = icmp ult i32 %t238, %t242 br i1 %t243, label %ixok37, label %ixbad38 ixbad38: store i32 4314, ptr @lp_site %t244 = call ptr @lp_win_stdio(i32 2) store i32 0, ptr @lp_site call i32 (ptr, ptr, ...) @fprintf(ptr %t244, ptr @.fmt_bounds, ptr @.str7218, i32 %t238, i32 %t242) call void @exit(i32 1) unreachable ixok37: %t245 = getelementptr inbounds ptr, ptr %t240, i32 %t238 %t246 = load ptr, ptr %t245 %t247 = getelementptr inbounds %Cmp_Node, ptr %t246, i32 0, i32 3 %t248 = load ptr, ptr %t247 %t249 = call i32 @fn_is_state_ty(ptr %t248) %t250 = icmp ne i32 %t249, 0 %t251 = zext i1 %t250 to i32 store i32 %t251, ptr %t216 br label %scend36 scend36: %t252 = load i32, ptr %t216 %t253 = icmp ne i32 %t252, 0 br i1 %t253, label %then39, label %ifend41 then39: %t254 = load ptr, ptr @g_g_es_own %t255 = load i32, ptr %t215 %t256 = getelementptr inbounds %LSlice, ptr %t254, i32 0, i32 0 %t257 = load ptr, ptr %t256 %t258 = getelementptr inbounds %LSlice, ptr %t254, i32 0, i32 1 %t259 = load i32, ptr %t258 %t260 = icmp ult i32 %t255, %t259 br i1 %t260, label %ixok42, label %ixbad43 ixbad43: store i32 4315, ptr @lp_site %t261 = call ptr @lp_win_stdio(i32 2) store i32 0, ptr @lp_site call i32 (ptr, ptr, ...) @fprintf(ptr %t261, ptr @.fmt_bounds, ptr @.str7219, i32 %t255, i32 %t259) call void @exit(i32 1) unreachable ixok42: %t262 = getelementptr inbounds ptr, ptr %t257, i32 %t255 %t263 = load ptr, ptr %t26 %t264 = getelementptr inbounds %Cmp_Node, ptr %t263, i32 0, i32 7 %t265 = load ptr, ptr %t264 %t266 = load i32, ptr %t204 %t267 = getelementptr inbounds %LSlice, ptr %t265, i32 0, i32 0 %t268 = load ptr, ptr %t267 %t269 = getelementptr inbounds %LSlice, ptr %t265, i32 0, i32 1 %t270 = load i32, ptr %t269 %t271 = icmp ult i32 %t266, %t270 br i1 %t271, label %ixok44, label %ixbad45 ixbad45: store i32 4316, ptr @lp_site %t272 = call ptr @lp_win_stdio(i32 2) store i32 0, ptr @lp_site call i32 (ptr, ptr, ...) @fprintf(ptr %t272, ptr @.fmt_bounds, ptr @.str7220, i32 %t266, i32 %t270) call void @exit(i32 1) unreachable ixok44: %t273 = getelementptr inbounds ptr, ptr %t268, i32 %t266 %t274 = load ptr, ptr %t273 %t275 = getelementptr inbounds %Cmp_Node, ptr %t274, i32 0, i32 3 %t276 = load ptr, ptr %t275 store ptr %t276, ptr %t262 br label %ifend41 ifend41: %t277 = load i32, ptr %t204 %t278 = add i32 %t277, 1 store i32 %t278, ptr %t204 br label %wcond30 wend32: %t279 = load ptr, ptr @g_g_es_fret %t280 = call i32 @fn_es_new(i32 0) %t281 = getelementptr inbounds %LSlice, ptr %t279, i32 0, i32 1 %t282 = getelementptr inbounds %LSlice, ptr %t279, i32 0, i32 2 %t283 = getelementptr inbounds %LSlice, ptr %t279, i32 0, i32 0 %t284 = load i32, ptr %t281 %t285 = load i32, ptr %t282 %t286 = icmp sge i32 %t284, %t285 br i1 %t286, label %grow46, label %put47 grow46: %t287 = mul i32 %t285, 2 %t288 = icmp eq i32 %t285, 0 %t289 = select i1 %t288, i32 8, i32 %t287 %t290 = getelementptr i32, 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 store i32 4317, ptr @lp_site %t295 = call ptr @lp_realloc(ptr %t294, i64 %t293) store i32 0, ptr @lp_site store ptr %t295, ptr %t283 store i32 %t289, ptr %t282 br label %put47 put47: %t296 = load ptr, ptr %t283 %t297 = getelementptr inbounds i32, ptr %t296, i32 %t284 store i32 %t280, ptr %t297 %t298 = add i32 %t284, 1 store i32 %t298, ptr %t281 br label %ifend23 ifend23: %t299 = load i32, ptr %t8 %t300 = add i32 %t299, 1 store i32 %t300, ptr %t8 br label %wcond3 wend5: store i32 0, ptr %t301 br label %wcond48 wcond48: %t302 = load i32, ptr %t301 %t303 = load ptr, ptr @g_g_es_fnode %t304 = getelementptr inbounds %LSlice, ptr %t303, i32 0, i32 1 %t305 = load i32, ptr %t304 %t306 = icmp slt i32 %t302, %t305 %t307 = zext i1 %t306 to i32 %t308 = icmp ne i32 %t307, 0 br i1 %t308, label %wbody49, label %wend50 wbody49: %t309 = load ptr, ptr @g_g_es_fnode %t310 = load i32, ptr %t301 %t311 = getelementptr inbounds %LSlice, ptr %t309, i32 0, i32 0 %t312 = load ptr, ptr %t311 %t313 = getelementptr inbounds %LSlice, ptr %t309, i32 0, i32 1 %t314 = load i32, ptr %t313 %t315 = icmp ult i32 %t310, %t314 br i1 %t315, label %ixok51, label %ixbad52 ixbad52: store i32 4318, ptr @lp_site %t316 = call ptr @lp_win_stdio(i32 2) store i32 0, ptr @lp_site call i32 (ptr, ptr, ...) @fprintf(ptr %t316, ptr @.fmt_bounds, ptr @.str7221, i32 %t310, i32 %t314) call void @exit(i32 1) unreachable ixok51: %t317 = getelementptr inbounds ptr, ptr %t312, i32 %t310 %t318 = load ptr, ptr %t317 store ptr %t318, ptr %t319 %t320 = load i32, ptr %t301 store i32 %t320, ptr @g_g_es_cur %t321 = getelementptr %LSlice, ptr null, i32 1 %t322 = ptrtoint ptr %t321 to i64 store i32 4319, ptr @lp_site %t323 = call ptr @lp_malloc(i64 %t322) store i32 0, ptr @lp_site %t324 = getelementptr inbounds %LSlice, ptr %t323, i32 0, i32 0 store ptr null, ptr %t324 %t325 = getelementptr inbounds %LSlice, ptr %t323, i32 0, i32 1 store i32 0, ptr %t325 %t326 = getelementptr inbounds %LSlice, ptr %t323, i32 0, i32 2 store i32 0, ptr %t326 store ptr %t323, ptr @g_g_es_ln %t327 = getelementptr %LSlice, ptr null, i32 1 %t328 = ptrtoint ptr %t327 to i64 store i32 4320, ptr @lp_site %t329 = call ptr @lp_malloc(i64 %t328) store i32 0, ptr @lp_site %t330 = getelementptr inbounds %LSlice, ptr %t329, i32 0, i32 0 store ptr null, ptr %t330 %t331 = getelementptr inbounds %LSlice, ptr %t329, i32 0, i32 1 store i32 0, ptr %t331 %t332 = getelementptr inbounds %LSlice, ptr %t329, i32 0, i32 2 store i32 0, ptr %t332 store ptr %t329, ptr @g_g_es_lc %t333 = getelementptr %LSlice, ptr null, i32 1 %t334 = ptrtoint ptr %t333 to i64 store i32 4321, ptr @lp_site %t335 = call ptr @lp_malloc(i64 %t334) store i32 0, ptr @lp_site %t336 = getelementptr inbounds %LSlice, ptr %t335, i32 0, i32 0 store ptr null, ptr %t336 %t337 = getelementptr inbounds %LSlice, ptr %t335, i32 0, i32 1 store i32 0, ptr %t337 %t338 = getelementptr inbounds %LSlice, ptr %t335, i32 0, i32 2 store i32 0, ptr %t338 store ptr %t335, ptr @g_g_es_lt store i32 0, ptr %t339 br label %wcond53 wcond53: %t340 = load i32, ptr %t339 %t341 = load ptr, ptr %t319 %t342 = getelementptr inbounds %Cmp_Node, ptr %t341, i32 0, i32 7 %t343 = load ptr, ptr %t342 %t344 = getelementptr inbounds %LSlice, ptr %t343, i32 0, i32 1 %t345 = load i32, ptr %t344 %t346 = icmp slt i32 %t340, %t345 %t347 = zext i1 %t346 to i32 %t348 = icmp ne i32 %t347, 0 br i1 %t348, label %wbody54, label %wend55 wbody54: %t349 = load ptr, ptr %t319 %t350 = getelementptr inbounds %Cmp_Node, ptr %t349, i32 0, i32 7 %t351 = load ptr, ptr %t350 %t352 = load i32, ptr %t339 %t353 = getelementptr inbounds %LSlice, ptr %t351, i32 0, i32 0 %t354 = load ptr, ptr %t353 %t355 = getelementptr inbounds %LSlice, ptr %t351, i32 0, i32 1 %t356 = load i32, ptr %t355 %t357 = icmp ult i32 %t352, %t356 br i1 %t357, label %ixok56, label %ixbad57 ixbad57: store i32 4322, ptr @lp_site %t358 = call ptr @lp_win_stdio(i32 2) store i32 0, ptr @lp_site call i32 (ptr, ptr, ...) @fprintf(ptr %t358, ptr @.fmt_bounds, ptr @.str7222, i32 %t352, i32 %t356) call void @exit(i32 1) unreachable ixok56: %t359 = getelementptr inbounds ptr, ptr %t354, i32 %t352 %t360 = load ptr, ptr %t359 %t361 = getelementptr inbounds %Cmp_Node, ptr %t360, i32 0, i32 0 %t362 = load i32, ptr %t361 %t363 = icmp eq i32 %t362, 5 %t364 = zext i1 %t363 to i32 %t365 = icmp ne i32 %t364, 0 br i1 %t365, label %then58, label %ifend60 then58: %t366 = load ptr, ptr @g_g_es_ln %t367 = load ptr, ptr %t319 %t368 = getelementptr inbounds %Cmp_Node, ptr %t367, i32 0, i32 7 %t369 = load ptr, ptr %t368 %t370 = load i32, ptr %t339 %t371 = getelementptr inbounds %LSlice, ptr %t369, i32 0, i32 0 %t372 = load ptr, ptr %t371 %t373 = getelementptr inbounds %LSlice, ptr %t369, i32 0, i32 1 %t374 = load i32, ptr %t373 %t375 = icmp ult i32 %t370, %t374 br i1 %t375, label %ixok61, label %ixbad62 ixbad62: store i32 4323, ptr @lp_site %t376 = call ptr @lp_win_stdio(i32 2) store i32 0, ptr @lp_site call i32 (ptr, ptr, ...) @fprintf(ptr %t376, ptr @.fmt_bounds, ptr @.str7223, i32 %t370, i32 %t374) call void @exit(i32 1) unreachable ixok61: %t377 = getelementptr inbounds ptr, ptr %t372, i32 %t370 %t378 = load ptr, ptr %t377 %t379 = getelementptr inbounds %Cmp_Node, ptr %t378, i32 0, i32 1 %t380 = load ptr, ptr %t379 %t381 = getelementptr inbounds %LSlice, ptr %t366, i32 0, i32 1 %t382 = getelementptr inbounds %LSlice, ptr %t366, i32 0, i32 2 %t383 = getelementptr inbounds %LSlice, ptr %t366, i32 0, i32 0 %t384 = load i32, ptr %t381 %t385 = load i32, ptr %t382 %t386 = icmp sge i32 %t384, %t385 br i1 %t386, label %grow63, label %put64 grow63: %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 store i32 4324, ptr @lp_site %t395 = call ptr @lp_realloc(ptr %t394, i64 %t393) store i32 0, ptr @lp_site store ptr %t395, ptr %t383 store i32 %t389, ptr %t382 br label %put64 put64: %t396 = load ptr, ptr %t383 %t397 = getelementptr inbounds ptr, ptr %t396, i32 %t384 store ptr %t380, ptr %t397 %t398 = add i32 %t384, 1 store i32 %t398, ptr %t381 %t399 = load ptr, ptr @g_g_es_lc %t400 = load ptr, ptr @g_g_es_fparam %t401 = load i32, ptr %t301 %t402 = getelementptr inbounds %LSlice, ptr %t400, i32 0, i32 0 %t403 = load ptr, ptr %t402 %t404 = getelementptr inbounds %LSlice, ptr %t400, i32 0, i32 1 %t405 = load i32, ptr %t404 %t406 = icmp ult i32 %t401, %t405 br i1 %t406, label %ixok65, label %ixbad66 ixbad66: store i32 4325, ptr @lp_site %t407 = call ptr @lp_win_stdio(i32 2) store i32 0, ptr @lp_site call i32 (ptr, ptr, ...) @fprintf(ptr %t407, ptr @.fmt_bounds, ptr @.str7224, i32 %t401, i32 %t405) call void @exit(i32 1) unreachable ixok65: %t408 = getelementptr inbounds i32, ptr %t403, i32 %t401 %t409 = load i32, ptr %t408 %t410 = load i32, ptr %t339 %t411 = add i32 %t409, %t410 %t412 = getelementptr inbounds %LSlice, ptr %t399, i32 0, i32 1 %t413 = getelementptr inbounds %LSlice, ptr %t399, i32 0, i32 2 %t414 = getelementptr inbounds %LSlice, ptr %t399, i32 0, i32 0 %t415 = load i32, ptr %t412 %t416 = load i32, ptr %t413 %t417 = icmp sge i32 %t415, %t416 br i1 %t417, label %grow67, label %put68 grow67: %t418 = mul i32 %t416, 2 %t419 = icmp eq i32 %t416, 0 %t420 = select i1 %t419, i32 8, i32 %t418 %t421 = getelementptr i32, ptr null, i32 1 %t422 = ptrtoint ptr %t421 to i64 %t423 = zext i32 %t420 to i64 %t424 = mul i64 %t423, %t422 %t425 = load ptr, ptr %t414 store i32 4326, ptr @lp_site %t426 = call ptr @lp_realloc(ptr %t425, i64 %t424) store i32 0, ptr @lp_site store ptr %t426, ptr %t414 store i32 %t420, ptr %t413 br label %put68 put68: %t427 = load ptr, ptr %t414 %t428 = getelementptr inbounds i32, ptr %t427, i32 %t415 store i32 %t411, ptr %t428 %t429 = add i32 %t415, 1 store i32 %t429, ptr %t412 %t430 = load ptr, ptr @g_g_es_lt %t431 = load ptr, ptr %t319 %t432 = getelementptr inbounds %Cmp_Node, ptr %t431, i32 0, i32 7 %t433 = load ptr, ptr %t432 %t434 = load i32, ptr %t339 %t435 = getelementptr inbounds %LSlice, ptr %t433, i32 0, i32 0 %t436 = load ptr, ptr %t435 %t437 = getelementptr inbounds %LSlice, ptr %t433, i32 0, i32 1 %t438 = load i32, ptr %t437 %t439 = icmp ult i32 %t434, %t438 br i1 %t439, label %ixok69, label %ixbad70 ixbad70: store i32 4327, ptr @lp_site %t440 = call ptr @lp_win_stdio(i32 2) store i32 0, ptr @lp_site call i32 (ptr, ptr, ...) @fprintf(ptr %t440, ptr @.fmt_bounds, ptr @.str7225, i32 %t434, i32 %t438) call void @exit(i32 1) unreachable ixok69: %t441 = getelementptr inbounds ptr, ptr %t436, i32 %t434 %t442 = load ptr, ptr %t441 %t443 = getelementptr inbounds %Cmp_Node, ptr %t442, i32 0, i32 3 %t444 = load ptr, ptr %t443 %t445 = getelementptr inbounds %LSlice, ptr %t430, i32 0, i32 1 %t446 = getelementptr inbounds %LSlice, ptr %t430, i32 0, i32 2 %t447 = getelementptr inbounds %LSlice, ptr %t430, i32 0, i32 0 %t448 = load i32, ptr %t445 %t449 = load i32, ptr %t446 %t450 = icmp sge i32 %t448, %t449 br i1 %t450, label %grow71, label %put72 grow71: %t451 = mul i32 %t449, 2 %t452 = icmp eq i32 %t449, 0 %t453 = select i1 %t452, i32 8, i32 %t451 %t454 = getelementptr ptr, ptr null, i32 1 %t455 = ptrtoint ptr %t454 to i64 %t456 = zext i32 %t453 to i64 %t457 = mul i64 %t456, %t455 %t458 = load ptr, ptr %t447 store i32 4328, ptr @lp_site %t459 = call ptr @lp_realloc(ptr %t458, i64 %t457) store i32 0, ptr @lp_site store ptr %t459, ptr %t447 store i32 %t453, ptr %t446 br label %put72 put72: %t460 = load ptr, ptr %t447 %t461 = getelementptr inbounds ptr, ptr %t460, i32 %t448 store ptr %t444, ptr %t461 %t462 = add i32 %t448, 1 store i32 %t462, ptr %t445 br label %ifend60 ifend60: %t463 = load i32, ptr %t339 %t464 = add i32 %t463, 1 store i32 %t464, ptr %t339 br label %wcond53 wend55: %t465 = load ptr, ptr %t319 %t466 = getelementptr inbounds %Cmp_Node, ptr %t465, i32 0, i32 4 %t467 = load ptr, ptr %t466 call void @fn_es_walk(ptr %t467) %t468 = load i32, ptr %t301 %t469 = add i32 %t468, 1 store i32 %t469, ptr %t301 br label %wcond48 wend50: %t470 = sub i32 0, 1 store i32 %t470, ptr @g_g_es_cur store i32 0, ptr %t471 br label %wcond73 wcond73: %t472 = load i32, ptr %t471 %t473 = load ptr, ptr @g_prog %t474 = getelementptr inbounds %LSlice, ptr %t473, i32 0, i32 1 %t475 = load i32, ptr %t474 %t476 = icmp slt i32 %t472, %t475 %t477 = zext i1 %t476 to i32 %t478 = icmp ne i32 %t477, 0 br i1 %t478, label %wbody74, label %wend75 wbody74: %t479 = load ptr, ptr @g_prog %t480 = load i32, ptr %t471 %t481 = getelementptr inbounds %LSlice, ptr %t479, i32 0, i32 0 %t482 = load ptr, ptr %t481 %t483 = getelementptr inbounds %LSlice, ptr %t479, i32 0, i32 1 %t484 = load i32, ptr %t483 %t485 = icmp ult i32 %t480, %t484 br i1 %t485, label %ixok76, label %ixbad77 ixbad77: store i32 4329, ptr @lp_site %t486 = call ptr @lp_win_stdio(i32 2) store i32 0, ptr @lp_site call i32 (ptr, ptr, ...) @fprintf(ptr %t486, ptr @.fmt_bounds, ptr @.str7226, i32 %t480, i32 %t484) call void @exit(i32 1) unreachable ixok76: %t487 = getelementptr inbounds ptr, ptr %t482, i32 %t480 %t488 = load ptr, ptr %t487 store ptr %t488, ptr %t489 %t491 = load ptr, ptr %t489 %t492 = getelementptr inbounds %Cmp_Node, ptr %t491, i32 0, i32 0 %t493 = load i32, ptr %t492 %t494 = icmp eq i32 %t493, 2 %t495 = zext i1 %t494 to i32 %t496 = icmp ne i32 %t495, 0 %t497 = zext i1 %t496 to i32 store i32 %t497, ptr %t490 br i1 %t496, label %sc78, label %scend79 sc78: %t498 = load ptr, ptr %t489 %t499 = getelementptr inbounds %Cmp_Node, ptr %t498, i32 0, i32 4 %t500 = load ptr, ptr %t499 %t501 = icmp ne ptr %t500, null %t502 = zext i1 %t501 to i32 %t503 = icmp ne i32 %t502, 0 %t504 = zext i1 %t503 to i32 store i32 %t504, ptr %t490 br label %scend79 scend79: %t505 = load i32, ptr %t490 %t506 = icmp ne i32 %t505, 0 br i1 %t506, label %then80, label %ifend82 then80: %t507 = getelementptr %LSlice, ptr null, i32 1 %t508 = ptrtoint ptr %t507 to i64 store i32 4330, ptr @lp_site %t509 = call ptr @lp_malloc(i64 %t508) store i32 0, ptr @lp_site %t510 = getelementptr inbounds %LSlice, ptr %t509, i32 0, i32 0 store ptr null, ptr %t510 %t511 = getelementptr inbounds %LSlice, ptr %t509, i32 0, i32 1 store i32 0, ptr %t511 %t512 = getelementptr inbounds %LSlice, ptr %t509, i32 0, i32 2 store i32 0, ptr %t512 store ptr %t509, ptr @g_g_es_ln %t513 = getelementptr %LSlice, ptr null, i32 1 %t514 = ptrtoint ptr %t513 to i64 store i32 4331, ptr @lp_site %t515 = call ptr @lp_malloc(i64 %t514) store i32 0, ptr @lp_site %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_es_lc %t519 = getelementptr %LSlice, ptr null, i32 1 %t520 = ptrtoint ptr %t519 to i64 store i32 4332, ptr @lp_site %t521 = call ptr @lp_malloc(i64 %t520) store i32 0, ptr @lp_site %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_es_lt %t525 = load ptr, ptr %t489 %t526 = getelementptr inbounds %Cmp_Node, ptr %t525, i32 0, i32 4 %t527 = load ptr, ptr %t526 %t528 = call i32 @fn_es_ref(ptr %t527) call void @fn_es_escape(i32 %t528) br label %ifend82 ifend82: %t529 = load i32, ptr %t471 %t530 = add i32 %t529, 1 store i32 %t530, ptr %t471 br label %wcond73 wend75: store i32 0, ptr %t531 br label %wcond83 wcond83: %t532 = load i32, ptr %t531 %t533 = load ptr, ptr @g_g_onlisten %t534 = getelementptr inbounds %LSlice, ptr %t533, i32 0, i32 1 %t535 = load i32, ptr %t534 %t536 = icmp slt i32 %t532, %t535 %t537 = zext i1 %t536 to i32 %t538 = icmp ne i32 %t537, 0 br i1 %t538, label %wbody84, label %wend85 wbody84: %t539 = getelementptr %LSlice, ptr null, i32 1 %t540 = ptrtoint ptr %t539 to i64 store i32 4333, ptr @lp_site %t541 = call ptr @lp_malloc(i64 %t540) store i32 0, ptr @lp_site %t542 = getelementptr inbounds %LSlice, ptr %t541, i32 0, i32 0 store ptr null, ptr %t542 %t543 = getelementptr inbounds %LSlice, ptr %t541, i32 0, i32 1 store i32 0, ptr %t543 %t544 = getelementptr inbounds %LSlice, ptr %t541, i32 0, i32 2 store i32 0, ptr %t544 store ptr %t541, ptr @g_g_es_ln %t545 = getelementptr %LSlice, ptr null, i32 1 %t546 = ptrtoint ptr %t545 to i64 store i32 4334, ptr @lp_site %t547 = call ptr @lp_malloc(i64 %t546) store i32 0, ptr @lp_site %t548 = getelementptr inbounds %LSlice, ptr %t547, i32 0, i32 0 store ptr null, ptr %t548 %t549 = getelementptr inbounds %LSlice, ptr %t547, i32 0, i32 1 store i32 0, ptr %t549 %t550 = getelementptr inbounds %LSlice, ptr %t547, i32 0, i32 2 store i32 0, ptr %t550 store ptr %t547, ptr @g_g_es_lc %t551 = getelementptr %LSlice, ptr null, i32 1 %t552 = ptrtoint ptr %t551 to i64 store i32 4335, ptr @lp_site %t553 = call ptr @lp_malloc(i64 %t552) store i32 0, ptr @lp_site %t554 = getelementptr inbounds %LSlice, ptr %t553, i32 0, i32 0 store ptr null, ptr %t554 %t555 = getelementptr inbounds %LSlice, ptr %t553, i32 0, i32 1 store i32 0, ptr %t555 %t556 = getelementptr inbounds %LSlice, ptr %t553, i32 0, i32 2 store i32 0, ptr %t556 store ptr %t553, ptr @g_g_es_lt %t557 = load ptr, ptr @g_g_onlisten %t558 = load i32, ptr %t531 %t559 = getelementptr inbounds %LSlice, ptr %t557, i32 0, i32 0 %t560 = load ptr, ptr %t559 %t561 = getelementptr inbounds %LSlice, ptr %t557, i32 0, i32 1 %t562 = load i32, ptr %t561 %t563 = icmp ult i32 %t558, %t562 br i1 %t563, label %ixok86, label %ixbad87 ixbad87: store i32 4336, ptr @lp_site %t564 = call ptr @lp_win_stdio(i32 2) store i32 0, ptr @lp_site call i32 (ptr, ptr, ...) @fprintf(ptr %t564, ptr @.fmt_bounds, ptr @.str7227, i32 %t558, i32 %t562) call void @exit(i32 1) unreachable ixok86: %t565 = getelementptr inbounds ptr, ptr %t560, i32 %t558 %t566 = load ptr, ptr %t565 %t567 = getelementptr inbounds %Cmp_Node, ptr %t566, i32 0, i32 4 %t568 = load ptr, ptr %t567 call void @fn_es_walk(ptr %t568) %t569 = load i32, ptr %t531 %t570 = add i32 %t569, 1 store i32 %t570, ptr %t531 br label %wcond83 wend85: store i32 0, ptr %t571 br label %wcond88 wcond88: %t572 = load i32, ptr %t571 %t573 = load ptr, ptr @g_g_es_fnrefs %t574 = getelementptr inbounds %LSlice, ptr %t573, i32 0, i32 1 %t575 = load i32, ptr %t574 %t576 = icmp slt i32 %t572, %t575 %t577 = zext i1 %t576 to i32 %t578 = icmp ne i32 %t577, 0 br i1 %t578, label %wbody89, label %wend90 wbody89: %t579 = load ptr, ptr @g_g_es_fnrefs %t580 = load i32, ptr %t571 %t581 = getelementptr inbounds %LSlice, ptr %t579, i32 0, i32 0 %t582 = load ptr, ptr %t581 %t583 = getelementptr inbounds %LSlice, ptr %t579, i32 0, i32 1 %t584 = load i32, ptr %t583 %t585 = icmp ult i32 %t580, %t584 br i1 %t585, label %ixok91, label %ixbad92 ixbad92: store i32 4337, ptr @lp_site %t586 = call ptr @lp_win_stdio(i32 2) store i32 0, ptr @lp_site call i32 (ptr, ptr, ...) @fprintf(ptr %t586, ptr @.fmt_bounds, ptr @.str7228, i32 %t580, i32 %t584) call void @exit(i32 1) unreachable ixok91: %t587 = getelementptr inbounds ptr, ptr %t582, i32 %t580 %t588 = load ptr, ptr %t587 %t589 = call ptr @fn_es_fns_for(ptr %t588) store ptr %t589, ptr %t590 store i32 0, ptr %t591 br label %wcond93 wcond93: %t592 = load i32, ptr %t591 %t593 = load ptr, ptr %t590 %t594 = getelementptr inbounds %LSlice, ptr %t593, i32 0, i32 1 %t595 = load i32, ptr %t594 %t596 = icmp slt i32 %t592, %t595 %t597 = zext i1 %t596 to i32 %t598 = icmp ne i32 %t597, 0 br i1 %t598, label %wbody94, label %wend95 wbody94: %t599 = load ptr, ptr @g_g_es_fret %t600 = load ptr, ptr %t590 %t601 = load i32, ptr %t591 %t602 = getelementptr inbounds %LSlice, ptr %t600, i32 0, i32 0 %t603 = load ptr, ptr %t602 %t604 = getelementptr inbounds %LSlice, ptr %t600, i32 0, i32 1 %t605 = load i32, ptr %t604 %t606 = icmp ult i32 %t601, %t605 br i1 %t606, label %ixok96, label %ixbad97 ixbad97: store i32 4338, ptr @lp_site %t607 = call ptr @lp_win_stdio(i32 2) store i32 0, ptr @lp_site call i32 (ptr, ptr, ...) @fprintf(ptr %t607, ptr @.fmt_bounds, ptr @.str7229, i32 %t601, i32 %t605) call void @exit(i32 1) unreachable ixok96: %t608 = getelementptr inbounds i32, ptr %t603, i32 %t601 %t609 = load i32, ptr %t608 %t610 = getelementptr inbounds %LSlice, ptr %t599, i32 0, i32 0 %t611 = load ptr, ptr %t610 %t612 = getelementptr inbounds %LSlice, ptr %t599, i32 0, i32 1 %t613 = load i32, ptr %t612 %t614 = icmp ult i32 %t609, %t613 br i1 %t614, label %ixok98, label %ixbad99 ixbad99: store i32 4339, ptr @lp_site %t615 = call ptr @lp_win_stdio(i32 2) store i32 0, ptr @lp_site call i32 (ptr, ptr, ...) @fprintf(ptr %t615, ptr @.fmt_bounds, ptr @.str7230, i32 %t609, i32 %t613) call void @exit(i32 1) unreachable ixok98: %t616 = getelementptr inbounds i32, ptr %t611, i32 %t609 %t617 = load i32, ptr %t616 call void @fn_es_escape(i32 %t617) %t618 = load i32, ptr %t591 %t619 = add i32 %t618, 1 store i32 %t619, ptr %t591 br label %wcond93 wend95: %t620 = load i32, ptr %t571 %t621 = add i32 %t620, 1 store i32 %t621, ptr %t571 br label %wcond88 wend90: call void @fn_es_solve() store i32 0, ptr %t622 br label %wcond100 wcond100: %t623 = load i32, ptr %t622 %t624 = load ptr, ptr @g_g_es_site %t625 = getelementptr inbounds %LSlice, ptr %t624, i32 0, i32 1 %t626 = load i32, ptr %t625 %t627 = icmp slt i32 %t623, %t626 %t628 = zext i1 %t627 to i32 %t629 = icmp ne i32 %t628, 0 br i1 %t629, label %wbody101, label %wend102 wbody101: %t630 = load ptr, ptr @g_g_es_site %t631 = load i32, ptr %t622 %t632 = getelementptr inbounds %LSlice, ptr %t630, i32 0, i32 0 %t633 = load ptr, ptr %t632 %t634 = getelementptr inbounds %LSlice, ptr %t630, i32 0, i32 1 %t635 = load i32, ptr %t634 %t636 = icmp ult i32 %t631, %t635 br i1 %t636, label %ixok103, label %ixbad104 ixbad104: store i32 4340, ptr @lp_site %t637 = call ptr @lp_win_stdio(i32 2) store i32 0, ptr @lp_site call i32 (ptr, ptr, ...) @fprintf(ptr %t637, ptr @.fmt_bounds, ptr @.str7231, i32 %t631, i32 %t635) call void @exit(i32 1) unreachable ixok103: %t638 = getelementptr inbounds ptr, ptr %t633, i32 %t631 %t639 = load ptr, ptr %t638 store ptr %t639, ptr %t640 %t641 = load ptr, ptr @g_g_es_site_cls %t642 = load i32, ptr %t622 %t643 = getelementptr inbounds %LSlice, ptr %t641, i32 0, i32 0 %t644 = load ptr, ptr %t643 %t645 = getelementptr inbounds %LSlice, ptr %t641, i32 0, i32 1 %t646 = load i32, ptr %t645 %t647 = icmp ult i32 %t642, %t646 br i1 %t647, label %ixok105, label %ixbad106 ixbad106: store i32 4341, ptr @lp_site %t648 = call ptr @lp_win_stdio(i32 2) store i32 0, ptr @lp_site call i32 (ptr, ptr, ...) @fprintf(ptr %t648, ptr @.fmt_bounds, ptr @.str7232, i32 %t642, i32 %t646) call void @exit(i32 1) unreachable ixok105: %t649 = getelementptr inbounds i32, ptr %t644, i32 %t642 %t650 = load i32, ptr %t649 store i32 %t650, ptr %t651 %t652 = load ptr, ptr @g_g_es_site_fn %t653 = load i32, ptr %t622 %t654 = getelementptr inbounds %LSlice, ptr %t652, i32 0, i32 0 %t655 = load ptr, ptr %t654 %t656 = getelementptr inbounds %LSlice, ptr %t652, i32 0, i32 1 %t657 = load i32, ptr %t656 %t658 = icmp ult i32 %t653, %t657 br i1 %t658, label %ixok107, label %ixbad108 ixbad108: store i32 4342, ptr @lp_site %t659 = call ptr @lp_win_stdio(i32 2) store i32 0, ptr @lp_site call i32 (ptr, ptr, ...) @fprintf(ptr %t659, ptr @.fmt_bounds, ptr @.str7233, i32 %t653, i32 %t657) call void @exit(i32 1) unreachable ixok107: %t660 = getelementptr inbounds i32, ptr %t655, i32 %t653 %t661 = load i32, ptr %t660 store i32 %t661, ptr %t662 %t664 = load i32, ptr %t662 %t665 = icmp slt i32 %t664, 0 %t666 = zext i1 %t665 to i32 %t667 = icmp ne i32 %t666, 0 %t668 = zext i1 %t667 to i32 store i32 %t668, ptr %t663 br i1 %t667, label %scend110, label %sc109 sc109: %t669 = load ptr, ptr @g_g_es_fspans %t670 = load i32, ptr %t662 %t671 = getelementptr inbounds %LSlice, ptr %t669, i32 0, i32 0 %t672 = load ptr, ptr %t671 %t673 = getelementptr inbounds %LSlice, ptr %t669, i32 0, i32 1 %t674 = load i32, ptr %t673 %t675 = icmp ult i32 %t670, %t674 br i1 %t675, label %ixok111, label %ixbad112 ixbad112: store i32 4343, ptr @lp_site %t676 = call ptr @lp_win_stdio(i32 2) store i32 0, ptr @lp_site call i32 (ptr, ptr, ...) @fprintf(ptr %t676, ptr @.fmt_bounds, ptr @.str7234, i32 %t670, i32 %t674) call void @exit(i32 1) unreachable ixok111: %t677 = getelementptr inbounds i32, ptr %t672, i32 %t670 %t678 = load i32, ptr %t677 %t679 = icmp ne i32 %t678, 0 %t680 = zext i1 %t679 to i32 store i32 %t680, ptr %t663 br label %scend110 scend110: %t681 = load i32, ptr %t663 store i32 %t681, ptr %t682 %t685 = load i32, ptr %t651 %t686 = icmp sge i32 %t685, 0 %t687 = zext i1 %t686 to i32 %t688 = icmp ne i32 %t687, 0 %t689 = zext i1 %t688 to i32 store i32 %t689, ptr %t684 br i1 %t688, label %sc113, label %scend114 sc113: %t690 = load i32, ptr %t651 %t691 = load ptr, ptr @g_g_es_site_grow %t692 = load i32, ptr %t622 %t693 = getelementptr inbounds %LSlice, ptr %t691, i32 0, i32 0 %t694 = load ptr, ptr %t693 %t695 = getelementptr inbounds %LSlice, ptr %t691, i32 0, i32 1 %t696 = load i32, ptr %t695 %t697 = icmp ult i32 %t692, %t696 br i1 %t697, label %ixok115, label %ixbad116 ixbad116: store i32 4344, ptr @lp_site %t698 = call ptr @lp_win_stdio(i32 2) store i32 0, ptr @lp_site call i32 (ptr, ptr, ...) @fprintf(ptr %t698, ptr @.fmt_bounds, ptr @.str7235, i32 %t692, i32 %t696) call void @exit(i32 1) unreachable ixok115: %t699 = getelementptr inbounds i32, ptr %t694, i32 %t692 %t700 = load i32, ptr %t699 %t701 = call i32 @fn_es_local_class(i32 %t690, i32 %t700) %t702 = icmp ne i32 %t701, 0 %t703 = zext i1 %t702 to i32 store i32 %t703, ptr %t684 br label %scend114 scend114: %t704 = load i32, ptr %t684 %t705 = icmp ne i32 %t704, 0 %t706 = zext i1 %t705 to i32 store i32 %t706, ptr %t683 br i1 %t705, label %sc117, label %scend118 sc117: %t707 = load i32, ptr %t682 %t708 = icmp eq i32 %t707, 0 %t709 = zext i1 %t708 to i32 %t710 = icmp ne i32 %t709, 0 %t711 = zext i1 %t710 to i32 store i32 %t711, ptr %t683 br label %scend118 scend118: %t712 = load i32, ptr %t683 %t713 = icmp ne i32 %t712, 0 br i1 %t713, label %then119, label %else120 then119: %t714 = load ptr, ptr %t640 %t715 = getelementptr inbounds %Cmp_Node, ptr %t714, i32 0, i32 12 store i32 77, ptr %t715 %t716 = load i32, ptr @g_g_es_local_n %t717 = add i32 %t716, 1 store i32 %t717, ptr @g_g_es_local_n br label %ifend121 else120: %t718 = load i32, ptr @g_g_es_esc_n %t719 = add i32 %t718, 1 store i32 %t719, ptr @g_g_es_esc_n %t722 = load i32, ptr %t651 %t723 = icmp sge i32 %t722, 0 %t724 = zext i1 %t723 to i32 %t725 = icmp ne i32 %t724, 0 %t726 = zext i1 %t725 to i32 store i32 %t726, ptr %t721 br i1 %t725, label %sc122, label %scend123 sc122: %t727 = load ptr, ptr @g_g_es_own %t728 = load i32, ptr %t651 %t729 = getelementptr inbounds %LSlice, ptr %t727, i32 0, i32 0 %t730 = load ptr, ptr %t729 %t731 = getelementptr inbounds %LSlice, ptr %t727, i32 0, i32 1 %t732 = load i32, ptr %t731 %t733 = icmp ult i32 %t728, %t732 br i1 %t733, label %ixok124, label %ixbad125 ixbad125: store i32 4345, ptr @lp_site %t734 = call ptr @lp_win_stdio(i32 2) store i32 0, ptr @lp_site call i32 (ptr, ptr, ...) @fprintf(ptr %t734, ptr @.fmt_bounds, ptr @.str7236, i32 %t728, i32 %t732) call void @exit(i32 1) unreachable ixok124: %t735 = getelementptr inbounds ptr, ptr %t730, i32 %t728 %t736 = load ptr, ptr %t735 %t737 = icmp ne ptr %t736, null %t738 = zext i1 %t737 to i32 %t739 = icmp ne i32 %t738, 0 %t740 = zext i1 %t739 to i32 store i32 %t740, ptr %t721 br label %scend123 scend123: %t741 = load i32, ptr %t721 %t742 = icmp ne i32 %t741, 0 %t743 = zext i1 %t742 to i32 store i32 %t743, ptr %t720 br i1 %t742, label %sc126, label %scend127 sc126: %t744 = load ptr, ptr %t640 %t745 = getelementptr inbounds %Cmp_Node, ptr %t744, i32 0, i32 9 %t746 = load ptr, ptr %t745 %t747 = icmp ne ptr %t746, null %t748 = zext i1 %t747 to i32 %t749 = icmp ne i32 %t748, 0 %t750 = zext i1 %t749 to i32 store i32 %t750, ptr %t720 br label %scend127 scend127: %t751 = load i32, ptr %t720 %t752 = icmp ne i32 %t751, 0 br i1 %t752, label %then128, label %ifend130 then128: %t753 = getelementptr %Cmp_Node, ptr null, i32 1 %t754 = ptrtoint ptr %t753 to i64 store i32 4346, ptr @lp_site %t755 = call ptr @lp_malloc(i64 %t754) store i32 0, ptr @lp_site %t756 = getelementptr inbounds %Cmp_Node, ptr %t755, i32 0, i32 0 store i32 0, ptr %t756 %t757 = getelementptr inbounds %Cmp_Node, ptr %t755, i32 0, i32 1 store ptr null, ptr %t757 %t758 = getelementptr inbounds %Cmp_Node, ptr %t755, i32 0, i32 2 store i32 0, ptr %t758 %t759 = getelementptr inbounds %Cmp_Node, ptr %t755, i32 0, i32 3 store ptr null, ptr %t759 %t760 = getelementptr inbounds %Cmp_Node, ptr %t755, i32 0, i32 4 store ptr null, ptr %t760 %t761 = getelementptr inbounds %Cmp_Node, ptr %t755, i32 0, i32 5 store ptr null, ptr %t761 %t762 = getelementptr inbounds %Cmp_Node, ptr %t755, i32 0, i32 6 store ptr null, ptr %t762 %t763 = getelementptr inbounds %Cmp_Node, ptr %t755, i32 0, i32 7 store ptr null, ptr %t763 %t764 = getelementptr inbounds %Cmp_Node, ptr %t755, i32 0, i32 8 store i32 0, ptr %t764 %t765 = getelementptr inbounds %Cmp_Node, ptr %t755, i32 0, i32 9 store ptr null, ptr %t765 %t766 = getelementptr inbounds %Cmp_Node, ptr %t755, i32 0, i32 10 store i32 0, ptr %t766 %t767 = getelementptr inbounds %Cmp_Node, ptr %t755, i32 0, i32 11 store ptr null, ptr %t767 %t768 = getelementptr inbounds %Cmp_Node, ptr %t755, i32 0, i32 12 store i32 0, ptr %t768 %t769 = getelementptr inbounds %Cmp_Node, ptr %t755, i32 0, i32 13 %t770 = sub i32 0, 1 store i32 %t770, ptr %t769 %t771 = getelementptr inbounds %Cmp_Node, ptr %t755, i32 0, i32 14 %t772 = sub i32 0, 1 store i32 %t772, ptr %t771 %t773 = getelementptr inbounds %Cmp_Node, ptr %t755, i32 0, i32 15 %t774 = sub i32 0, 1 store i32 %t774, ptr %t773 %t775 = getelementptr inbounds %Cmp_Node, ptr %t755, i32 0, i32 16 %t776 = sub i32 0, 1 store i32 %t776, ptr %t775 %t777 = getelementptr inbounds %Cmp_Node, ptr %t755, i32 0, i32 17 %t778 = sub i32 0, 1 store i32 %t778, ptr %t777 %t779 = getelementptr inbounds %Cmp_Node, ptr %t755, i32 0, i32 18 store i32 0, ptr %t779 %t780 = getelementptr inbounds %Cmp_Node, ptr %t755, i32 0, i32 19 %t781 = sub i32 0, 1 store i32 %t781, ptr %t780 %t782 = getelementptr inbounds %Cmp_Node, ptr %t755, i32 0, i32 20 %t783 = sub i32 0, 1 store i32 %t783, ptr %t782 %t784 = getelementptr inbounds %Cmp_Node, ptr %t755, i32 0, i32 21 %t785 = sub i32 0, 1 store i32 %t785, ptr %t784 store ptr %t755, ptr %t786 %t787 = load ptr, ptr %t786 %t788 = getelementptr inbounds %Cmp_Node, ptr %t787, i32 0, i32 1 %t789 = load ptr, ptr @g_g_es_own %t790 = load i32, ptr %t651 %t791 = getelementptr inbounds %LSlice, ptr %t789, i32 0, i32 0 %t792 = load ptr, ptr %t791 %t793 = getelementptr inbounds %LSlice, ptr %t789, i32 0, i32 1 %t794 = load i32, ptr %t793 %t795 = icmp ult i32 %t790, %t794 br i1 %t795, label %ixok131, label %ixbad132 ixbad132: store i32 4347, ptr @lp_site %t796 = call ptr @lp_win_stdio(i32 2) store i32 0, ptr @lp_site call i32 (ptr, ptr, ...) @fprintf(ptr %t796, ptr @.fmt_bounds, ptr @.str7237, i32 %t790, i32 %t794) call void @exit(i32 1) unreachable ixok131: %t797 = getelementptr inbounds ptr, ptr %t792, i32 %t790 %t798 = load ptr, ptr %t797 store ptr %t798, ptr %t788 %t799 = load ptr, ptr @g_g_es_ok %t800 = load ptr, ptr @g_g_es_ov %t801 = load ptr, ptr %t640 %t802 = getelementptr inbounds %Cmp_Node, ptr %t801, i32 0, i32 9 %t803 = load ptr, ptr %t802 store i32 4348, ptr @lp_site %t804 = call ptr @lp_str_concat(ptr %t803, ptr @.str7238) store i32 0, ptr @lp_site %t805 = load ptr, ptr %t640 %t806 = getelementptr inbounds %Cmp_Node, ptr %t805, i32 0, i32 8 %t807 = load i32, ptr %t806 %t808 = call ptr @fn_itoa(i32 %t807) store i32 4349, ptr @lp_site %t809 = call ptr @lp_str_concat(ptr %t804, ptr %t808) store i32 0, ptr @lp_site call void @lp_free(ptr %t804) %t810 = load ptr, ptr %t786 call void @fn_ck_tab_put(ptr %t799, ptr %t800, ptr %t809, ptr %t810) br label %ifend130 ifend130: br label %ifend121 ifend121: %t811 = load i32, ptr %t622 %t812 = add i32 %t811, 1 store i32 %t812, ptr %t622 br label %wcond100 wend102: store i32 0, ptr %t813 br label %wcond133 wcond133: %t814 = load i32, ptr %t813 %t815 = load ptr, ptr @g_g_es_site %t816 = getelementptr inbounds %LSlice, ptr %t815, i32 0, i32 1 %t817 = load i32, ptr %t816 %t818 = icmp slt i32 %t814, %t817 %t819 = zext i1 %t818 to i32 %t820 = icmp ne i32 %t819, 0 br i1 %t820, label %wbody134, label %wend135 wbody134: %t821 = load ptr, ptr @g_g_es_site %t822 = load i32, ptr %t813 %t823 = getelementptr inbounds %LSlice, ptr %t821, i32 0, i32 0 %t824 = load ptr, ptr %t823 %t825 = getelementptr inbounds %LSlice, ptr %t821, i32 0, i32 1 %t826 = load i32, ptr %t825 %t827 = icmp ult i32 %t822, %t826 br i1 %t827, label %ixok136, label %ixbad137 ixbad137: store i32 4350, ptr @lp_site %t828 = call ptr @lp_win_stdio(i32 2) store i32 0, ptr @lp_site call i32 (ptr, ptr, ...) @fprintf(ptr %t828, ptr @.fmt_bounds, ptr @.str7239, i32 %t822, i32 %t826) call void @exit(i32 1) unreachable ixok136: %t829 = getelementptr inbounds ptr, ptr %t824, i32 %t822 %t830 = load ptr, ptr %t829 store ptr %t830, ptr %t831 %t832 = load ptr, ptr @g_g_es_site_cls %t833 = load i32, ptr %t813 %t834 = getelementptr inbounds %LSlice, ptr %t832, i32 0, i32 0 %t835 = load ptr, ptr %t834 %t836 = getelementptr inbounds %LSlice, ptr %t832, i32 0, i32 1 %t837 = load i32, ptr %t836 %t838 = icmp ult i32 %t833, %t837 br i1 %t838, label %ixok138, label %ixbad139 ixbad139: store i32 4351, ptr @lp_site %t839 = call ptr @lp_win_stdio(i32 2) store i32 0, ptr @lp_site call i32 (ptr, ptr, ...) @fprintf(ptr %t839, ptr @.fmt_bounds, ptr @.str7240, i32 %t833, i32 %t837) call void @exit(i32 1) unreachable ixok138: %t840 = getelementptr inbounds i32, ptr %t835, i32 %t833 %t841 = load i32, ptr %t840 store i32 %t841, ptr %t842 %t843 = load ptr, ptr @g_g_es_site_fn %t844 = load i32, ptr %t813 %t845 = getelementptr inbounds %LSlice, ptr %t843, i32 0, i32 0 %t846 = load ptr, ptr %t845 %t847 = getelementptr inbounds %LSlice, ptr %t843, i32 0, i32 1 %t848 = load i32, ptr %t847 %t849 = icmp ult i32 %t844, %t848 br i1 %t849, label %ixok140, label %ixbad141 ixbad141: store i32 4352, ptr @lp_site %t850 = call ptr @lp_win_stdio(i32 2) store i32 0, ptr @lp_site call i32 (ptr, ptr, ...) @fprintf(ptr %t850, ptr @.fmt_bounds, ptr @.str7241, i32 %t844, i32 %t848) call void @exit(i32 1) unreachable ixok140: %t851 = getelementptr inbounds i32, ptr %t846, i32 %t844 %t852 = load i32, ptr %t851 store i32 %t852, ptr %t853 %t855 = load i32, ptr %t853 %t856 = icmp slt i32 %t855, 0 %t857 = zext i1 %t856 to i32 %t858 = icmp ne i32 %t857, 0 %t859 = zext i1 %t858 to i32 store i32 %t859, ptr %t854 br i1 %t858, label %scend143, label %sc142 sc142: %t860 = load ptr, ptr @g_g_es_fspans %t861 = load i32, ptr %t853 %t862 = getelementptr inbounds %LSlice, ptr %t860, i32 0, i32 0 %t863 = load ptr, ptr %t862 %t864 = getelementptr inbounds %LSlice, ptr %t860, i32 0, i32 1 %t865 = load i32, ptr %t864 %t866 = icmp ult i32 %t861, %t865 br i1 %t866, label %ixok144, label %ixbad145 ixbad145: store i32 4353, ptr @lp_site %t867 = call ptr @lp_win_stdio(i32 2) store i32 0, ptr @lp_site call i32 (ptr, ptr, ...) @fprintf(ptr %t867, ptr @.fmt_bounds, ptr @.str7242, i32 %t861, i32 %t865) call void @exit(i32 1) unreachable ixok144: %t868 = getelementptr inbounds i32, ptr %t863, i32 %t861 %t869 = load i32, ptr %t868 %t870 = icmp ne i32 %t869, 0 %t871 = zext i1 %t870 to i32 store i32 %t871, ptr %t854 br label %scend143 scend143: %t872 = load i32, ptr %t854 store i32 %t872, ptr %t873 %t875 = load ptr, ptr %t831 %t876 = getelementptr inbounds %Cmp_Node, ptr %t875, i32 0, i32 12 %t877 = load i32, ptr %t876 %t878 = icmp eq i32 %t877, 77 %t879 = zext i1 %t878 to i32 %t880 = icmp ne i32 %t879, 0 %t881 = zext i1 %t880 to i32 store i32 %t881, ptr %t874 br i1 %t880, label %sc146, label %scend147 sc146: %t884 = load i32, ptr %t842 %t885 = icmp slt i32 %t884, 0 %t886 = zext i1 %t885 to i32 %t887 = icmp ne i32 %t886, 0 %t888 = zext i1 %t887 to i32 store i32 %t888, ptr %t883 br i1 %t887, label %scend149, label %sc148 sc148: %t889 = load i32, ptr %t842 %t890 = load ptr, ptr @g_g_es_site_grow %t891 = load i32, ptr %t813 %t892 = getelementptr inbounds %LSlice, ptr %t890, i32 0, i32 0 %t893 = load ptr, ptr %t892 %t894 = getelementptr inbounds %LSlice, ptr %t890, i32 0, i32 1 %t895 = load i32, ptr %t894 %t896 = icmp ult i32 %t891, %t895 br i1 %t896, label %ixok150, label %ixbad151 ixbad151: store i32 4354, ptr @lp_site %t897 = call ptr @lp_win_stdio(i32 2) store i32 0, ptr @lp_site call i32 (ptr, ptr, ...) @fprintf(ptr %t897, ptr @.fmt_bounds, ptr @.str7243, i32 %t891, i32 %t895) call void @exit(i32 1) unreachable ixok150: %t898 = getelementptr inbounds i32, ptr %t893, i32 %t891 %t899 = load i32, ptr %t898 %t900 = call i32 @fn_es_local_class(i32 %t889, i32 %t899) %t901 = icmp eq i32 %t900, 0 %t902 = zext i1 %t901 to i32 %t903 = icmp ne i32 %t902, 0 %t904 = zext i1 %t903 to i32 store i32 %t904, ptr %t883 br label %scend149 scend149: %t905 = load i32, ptr %t883 %t906 = icmp ne i32 %t905, 0 %t907 = zext i1 %t906 to i32 store i32 %t907, ptr %t882 br i1 %t906, label %scend153, label %sc152 sc152: %t908 = load i32, ptr %t873 %t909 = icmp ne i32 %t908, 0 %t910 = zext i1 %t909 to i32 store i32 %t910, ptr %t882 br label %scend153 scend153: %t911 = load i32, ptr %t882 %t912 = icmp ne i32 %t911, 0 %t913 = zext i1 %t912 to i32 store i32 %t913, ptr %t874 br label %scend147 scend147: %t914 = load i32, ptr %t874 %t915 = icmp ne i32 %t914, 0 br i1 %t915, label %then154, label %ifend156 then154: %t916 = load ptr, ptr %t831 %t917 = getelementptr inbounds %Cmp_Node, ptr %t916, i32 0, i32 12 store i32 0, ptr %t917 br label %ifend156 ifend156: %t918 = load i32, ptr %t813 %t919 = add i32 %t918, 1 store i32 %t919, ptr %t813 br label %wcond133 wend135: br label %ret ret: ret void } define void @fn_escape_report() { entry: %t0 = alloca i32 %t18 = alloca ptr %t19 = alloca ptr %t26 = alloca ptr %t37 = alloca i32 %t57 = alloca ptr %t77 = alloca ptr %t88 = alloca i32 %t124 = alloca ptr %t143 = alloca ptr call void @fn_escape_analyse() store i32 0, ptr %t0 br label %wcond0 wcond0: %t1 = load i32, ptr %t0 %t2 = load ptr, ptr @g_g_es_site %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_es_site %t9 = load i32, ptr %t0 %t10 = getelementptr inbounds %LSlice, ptr %t8, i32 0, i32 0 %t11 = load ptr, ptr %t10 %t12 = getelementptr inbounds %LSlice, ptr %t8, i32 0, i32 1 %t13 = load i32, ptr %t12 %t14 = icmp ult i32 %t9, %t13 br i1 %t14, label %ixok3, label %ixbad4 ixbad4: store i32 4355, ptr @lp_site %t15 = call ptr @lp_win_stdio(i32 2) store i32 0, ptr @lp_site call i32 (ptr, ptr, ...) @fprintf(ptr %t15, ptr @.fmt_bounds, ptr @.str7244, i32 %t9, i32 %t13) call void @exit(i32 1) unreachable ixok3: %t16 = getelementptr inbounds ptr, ptr %t11, i32 %t9 %t17 = load ptr, ptr %t16 store ptr %t17, ptr %t18 store ptr @.str7246, ptr %t19 %t20 = load ptr, ptr %t18 %t21 = getelementptr inbounds %Cmp_Node, ptr %t20, i32 0, i32 12 %t22 = load i32, ptr %t21 %t23 = icmp eq i32 %t22, 77 %t24 = zext i1 %t23 to i32 %t25 = icmp ne i32 %t24, 0 br i1 %t25, label %then5, label %ifend7 then5: store ptr @.str7247, ptr %t19 br label %ifend7 ifend7: store ptr @.str7248, ptr %t26 %t27 = load ptr, ptr @g_g_es_site_fn %t28 = load i32, ptr %t0 %t29 = getelementptr inbounds %LSlice, ptr %t27, i32 0, i32 0 %t30 = load ptr, ptr %t29 %t31 = getelementptr inbounds %LSlice, ptr %t27, i32 0, i32 1 %t32 = load i32, ptr %t31 %t33 = icmp ult i32 %t28, %t32 br i1 %t33, label %ixok8, label %ixbad9 ixbad9: store i32 4356, ptr @lp_site %t34 = call ptr @lp_win_stdio(i32 2) store i32 0, ptr @lp_site call i32 (ptr, ptr, ...) @fprintf(ptr %t34, ptr @.fmt_bounds, ptr @.str7249, i32 %t28, i32 %t32) call void @exit(i32 1) unreachable ixok8: %t35 = getelementptr inbounds i32, ptr %t30, i32 %t28 %t36 = load i32, ptr %t35 store i32 %t36, ptr %t37 %t38 = load i32, ptr %t37 %t39 = icmp sge i32 %t38, 0 %t40 = zext i1 %t39 to i32 %t41 = icmp ne i32 %t40, 0 br i1 %t41, label %then10, label %ifend12 then10: %t42 = load ptr, ptr @g_g_es_fnode %t43 = load i32, ptr %t37 %t44 = getelementptr inbounds %LSlice, ptr %t42, i32 0, i32 0 %t45 = load ptr, ptr %t44 %t46 = getelementptr inbounds %LSlice, ptr %t42, i32 0, i32 1 %t47 = load i32, ptr %t46 %t48 = icmp ult i32 %t43, %t47 br i1 %t48, label %ixok13, label %ixbad14 ixbad14: store i32 4357, ptr @lp_site %t49 = call ptr @lp_win_stdio(i32 2) store i32 0, ptr @lp_site call i32 (ptr, ptr, ...) @fprintf(ptr %t49, ptr @.fmt_bounds, ptr @.str7250, i32 %t43, i32 %t47) call void @exit(i32 1) unreachable ixok13: %t50 = getelementptr inbounds ptr, ptr %t45, i32 %t43 %t51 = load ptr, ptr %t50 %t52 = getelementptr inbounds %Cmp_Node, ptr %t51, i32 0, i32 1 %t53 = load ptr, ptr %t52 store ptr %t53, ptr %t26 br label %ifend12 ifend12: %t54 = load ptr, ptr %t18 %t55 = getelementptr inbounds %Cmp_Node, ptr %t54, i32 0, i32 9 %t56 = load ptr, 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 %then15, label %ifend17 then15: store ptr @.str7251, ptr %t57 br label %ifend17 ifend17: %t62 = load ptr, ptr %t19 store i32 4358, ptr @lp_site %t63 = call ptr @lp_str_concat(ptr @.str7252, ptr %t62) store i32 0, ptr @lp_site store i32 4359, ptr @lp_site %t64 = call ptr @lp_str_concat(ptr %t63, ptr @.str7253) store i32 0, ptr @lp_site call void @lp_free(ptr %t63) %t65 = load ptr, ptr %t57 store i32 4360, ptr @lp_site %t66 = call ptr @lp_str_concat(ptr %t64, ptr %t65) store i32 0, ptr @lp_site call void @lp_free(ptr %t64) store i32 4361, ptr @lp_site %t67 = call ptr @lp_str_concat(ptr %t66, ptr @.str7254) store i32 0, ptr @lp_site call void @lp_free(ptr %t66) %t68 = load ptr, ptr %t18 %t69 = getelementptr inbounds %Cmp_Node, ptr %t68, i32 0, i32 8 %t70 = load i32, ptr %t69 %t71 = call ptr @fn_itoa(i32 %t70) store i32 4362, ptr @lp_site %t72 = call ptr @lp_str_concat(ptr %t67, ptr %t71) store i32 0, ptr @lp_site call void @lp_free(ptr %t67) store i32 4363, ptr @lp_site %t73 = call ptr @lp_str_concat(ptr %t72, ptr @.str7255) store i32 0, ptr @lp_site call void @lp_free(ptr %t72) %t74 = load ptr, ptr %t26 store i32 4364, ptr @lp_site %t75 = call ptr @lp_str_concat(ptr %t73, ptr %t74) store i32 0, ptr @lp_site call void @lp_free(ptr %t73) store i32 4365, ptr @lp_site %t76 = call ptr @lp_str_concat(ptr %t75, ptr @.str7256) store i32 0, ptr @lp_site call void @lp_free(ptr %t75) store ptr %t76, ptr %t77 store i32 4366, ptr @lp_site %t78 = call ptr @lp_win_stdio(i32 2) store i32 0, ptr @lp_site %t79 = load ptr, ptr %t77 %t80 = load ptr, ptr %t77 %t81 = call i64 @strlen(ptr %t80) %t82 = trunc i64 %t81 to i32 %t83 = zext i32 %t82 to i64 %t84 = call i64 @fwrite(ptr %t79, i64 1, i64 %t83, ptr %t78) %t85 = trunc i64 %t84 to i32 %t86 = load i32, ptr %t0 %t87 = add i32 %t86, 1 store i32 %t87, ptr %t0 br label %wcond0 wend2: store i32 0, ptr %t88 br label %wcond18 wcond18: %t89 = load i32, ptr %t88 %t90 = load ptr, ptr @g_g_es_fnrefs %t91 = getelementptr inbounds %LSlice, ptr %t90, i32 0, i32 1 %t92 = load i32, ptr %t91 %t93 = icmp slt i32 %t89, %t92 %t94 = zext i1 %t93 to i32 %t95 = icmp ne i32 %t94, 0 br i1 %t95, label %wbody19, label %wend20 wbody19: %t96 = load ptr, ptr @g_g_es_fnrefs %t97 = load i32, ptr %t88 %t98 = getelementptr inbounds %LSlice, ptr %t96, i32 0, i32 0 %t99 = load ptr, ptr %t98 %t100 = getelementptr inbounds %LSlice, ptr %t96, i32 0, i32 1 %t101 = load i32, ptr %t100 %t102 = icmp ult i32 %t97, %t101 br i1 %t102, label %ixok21, label %ixbad22 ixbad22: store i32 4367, ptr @lp_site %t103 = call ptr @lp_win_stdio(i32 2) store i32 0, ptr @lp_site call i32 (ptr, ptr, ...) @fprintf(ptr %t103, ptr @.fmt_bounds, ptr @.str7258, i32 %t97, i32 %t101) call void @exit(i32 1) unreachable ixok21: %t104 = getelementptr inbounds ptr, ptr %t99, i32 %t97 %t105 = load ptr, ptr %t104 store i32 4368, ptr @lp_site %t106 = call ptr @lp_str_concat(ptr @.str7257, ptr %t105) store i32 0, ptr @lp_site store i32 4369, ptr @lp_site %t107 = call ptr @lp_str_concat(ptr %t106, ptr @.str7259) store i32 0, ptr @lp_site call void @lp_free(ptr %t106) %t108 = load ptr, ptr @g_g_es_fnrefs %t109 = load i32, ptr %t88 %t110 = getelementptr inbounds %LSlice, ptr %t108, i32 0, i32 0 %t111 = load ptr, ptr %t110 %t112 = getelementptr inbounds %LSlice, ptr %t108, i32 0, i32 1 %t113 = load i32, ptr %t112 %t114 = icmp ult i32 %t109, %t113 br i1 %t114, label %ixok23, label %ixbad24 ixbad24: store i32 4370, ptr @lp_site %t115 = call ptr @lp_win_stdio(i32 2) store i32 0, ptr @lp_site call i32 (ptr, ptr, ...) @fprintf(ptr %t115, ptr @.fmt_bounds, ptr @.str7260, i32 %t109, i32 %t113) call void @exit(i32 1) unreachable ixok23: %t116 = getelementptr inbounds ptr, ptr %t111, i32 %t109 %t117 = load ptr, ptr %t116 %t118 = call ptr @fn_es_fns_for(ptr %t117) %t119 = getelementptr inbounds %LSlice, ptr %t118, i32 0, i32 1 %t120 = load i32, ptr %t119 %t121 = call ptr @fn_itoa(i32 %t120) store i32 4371, ptr @lp_site %t122 = call ptr @lp_str_concat(ptr %t107, ptr %t121) store i32 0, ptr @lp_site call void @lp_free(ptr %t107) store i32 4372, ptr @lp_site %t123 = call ptr @lp_str_concat(ptr %t122, ptr @.str7261) store i32 0, ptr @lp_site call void @lp_free(ptr %t122) store ptr %t123, ptr %t124 store i32 4373, ptr @lp_site %t125 = call ptr @lp_win_stdio(i32 2) store i32 0, ptr @lp_site %t126 = load ptr, ptr %t124 %t127 = load ptr, ptr %t124 %t128 = call i64 @strlen(ptr %t127) %t129 = trunc i64 %t128 to i32 %t130 = zext i32 %t129 to i64 %t131 = call i64 @fwrite(ptr %t126, i64 1, i64 %t130, ptr %t125) %t132 = trunc i64 %t131 to i32 %t133 = load i32, ptr %t88 %t134 = add i32 %t133, 1 store i32 %t134, ptr %t88 br label %wcond18 wend20: %t135 = load i32, ptr @g_g_es_local_n %t136 = call ptr @fn_itoa(i32 %t135) store i32 4374, ptr @lp_site %t137 = call ptr @lp_str_concat(ptr @.str7262, ptr %t136) store i32 0, ptr @lp_site store i32 4375, ptr @lp_site %t138 = call ptr @lp_str_concat(ptr %t137, ptr @.str7263) store i32 0, ptr @lp_site call void @lp_free(ptr %t137) %t139 = load i32, ptr @g_g_es_esc_n %t140 = call ptr @fn_itoa(i32 %t139) store i32 4376, ptr @lp_site %t141 = call ptr @lp_str_concat(ptr %t138, ptr %t140) store i32 0, ptr @lp_site call void @lp_free(ptr %t138) store i32 4377, ptr @lp_site %t142 = call ptr @lp_str_concat(ptr %t141, ptr @.str7264) store i32 0, ptr @lp_site call void @lp_free(ptr %t141) store ptr %t142, ptr %t143 store i32 4378, ptr @lp_site %t144 = call ptr @lp_win_stdio(i32 2) store i32 0, ptr @lp_site %t145 = load ptr, ptr %t143 %t146 = load ptr, ptr %t143 %t147 = call i64 @strlen(ptr %t146) %t148 = trunc i64 %t147 to i32 %t149 = zext i32 %t148 to i64 %t150 = call i64 @fwrite(ptr %t145, i64 1, i64 %t149, ptr %t144) %t151 = trunc i64 %t150 to i32 br label %ret ret: ret void } define ptr @fn_emit_keep(ptr %arg_a) { entry: %retval = alloca ptr %t0 = alloca ptr %t12 = alloca ptr %t17 = alloca ptr %t22 = alloca ptr %t47 = alloca ptr %t49 = alloca ptr %t54 = alloca ptr %t61 = alloca ptr %t68 = alloca ptr %t73 = alloca ptr %t80 = alloca ptr %t85 = alloca ptr %t90 = alloca ptr %t138 = alloca ptr %t143 = alloca ptr store ptr %arg_a, 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 @.str7265) %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 i32 4379, ptr @lp_site %t9 = call ptr @lp_str_concat(ptr @.str7266, ptr %t8) store i32 0, ptr @lp_site store i32 4380, ptr @lp_site %t10 = call ptr @lp_str_concat(ptr %t9, ptr @.str7268) store i32 0, ptr @lp_site call void @lp_free(ptr %t9) %t11 = call ptr @fn_emit_bind(ptr %t10) store ptr %t11, ptr %t12 %t13 = load ptr, ptr %t12 store i32 4381, ptr @lp_site %t14 = call ptr @lp_str_concat(ptr @.str7269, ptr %t13) store i32 0, ptr @lp_site store i32 4382, ptr @lp_site %t15 = call ptr @lp_str_concat(ptr %t14, ptr @.str7270) store i32 0, ptr @lp_site call void @lp_free(ptr %t14) %t16 = call ptr @fn_emit_bind(ptr %t15) store ptr %t16, ptr %t17 %t18 = load ptr, ptr %t17 store i32 4383, ptr @lp_site %t19 = call ptr @lp_str_concat(ptr @.str7271, ptr %t18) store i32 0, ptr @lp_site store i32 4384, ptr @lp_site %t20 = call ptr @lp_str_concat(ptr %t19, ptr @.str7272) store i32 0, ptr @lp_site call void @lp_free(ptr %t19) %t21 = call ptr @fn_emit_bind(ptr %t20) store ptr %t21, ptr %t22 %t23 = load ptr, ptr %t22 store i32 4385, ptr @lp_site %t24 = call ptr @lp_str_concat(ptr @.str7273, ptr %t23) store i32 0, ptr @lp_site store i32 4386, ptr @lp_site %t25 = call ptr @lp_str_concat(ptr %t24, ptr @.str7274) store i32 0, ptr @lp_site call void @lp_free(ptr %t24) %t26 = load ptr, ptr %t0 %t27 = getelementptr inbounds %Cmp_Val, ptr %t26, i32 0, i32 0 %t28 = load ptr, ptr %t27 store i32 4387, ptr @lp_site %t29 = call ptr @lp_str_concat(ptr %t25, ptr %t28) store i32 0, ptr @lp_site call void @lp_free(ptr %t25) store i32 4388, ptr @lp_site %t30 = call ptr @lp_str_concat(ptr %t29, ptr @.str7275) store i32 0, ptr @lp_site call void @lp_free(ptr %t29) %t31 = load ptr, ptr %t17 store i32 4389, ptr @lp_site %t32 = call ptr @lp_str_concat(ptr %t30, ptr %t31) store i32 0, ptr @lp_site call void @lp_free(ptr %t30) store i32 4390, ptr @lp_site %t33 = call ptr @lp_str_concat(ptr %t32, ptr @.str7276) store i32 0, ptr @lp_site call void @lp_free(ptr %t32) call void @fn_emit(ptr %t33) %t34 = load ptr, ptr %t22 %t35 = call ptr @fn_val(ptr %t34, ptr @.str7277) store ptr %t35, ptr %retval br label %ret ifend2: %t36 = load ptr, ptr %t0 %t37 = getelementptr inbounds %Cmp_Val, ptr %t36, i32 0, i32 1 %t38 = load ptr, ptr %t37 %t39 = call i32 @fn_is_slice_ty(ptr %t38) %t40 = icmp ne i32 %t39, 0 br i1 %t40, label %then3, label %ifend5 then3: %t41 = load ptr, ptr %t0 %t42 = getelementptr inbounds %Cmp_Val, ptr %t41, i32 0, i32 1 %t43 = load ptr, ptr %t42 %t44 = call ptr @fn_slice_elem(ptr %t43) %t45 = call ptr @fn_llty(ptr %t44) %t46 = call ptr @fn_emit_sizeof(ptr %t45) store ptr %t46, ptr %t47 %t48 = call ptr @fn_emit_sizeof(ptr @.str7278) store ptr %t48, ptr %t49 %t50 = load ptr, ptr %t49 store i32 4391, ptr @lp_site %t51 = call ptr @lp_str_concat(ptr @.str7279, ptr %t50) store i32 0, ptr @lp_site store i32 4392, ptr @lp_site %t52 = call ptr @lp_str_concat(ptr %t51, ptr @.str7280) store i32 0, ptr @lp_site call void @lp_free(ptr %t51) %t53 = call ptr @fn_emit_bind(ptr %t52) store ptr %t53, ptr %t54 %t55 = load ptr, ptr %t0 %t56 = getelementptr inbounds %Cmp_Val, ptr %t55, i32 0, i32 0 %t57 = load ptr, ptr %t56 %t58 = call ptr @fn_slice_field(ptr %t57, i32 0) store i32 4393, ptr @lp_site %t59 = call ptr @lp_str_concat(ptr @.str7281, ptr %t58) store i32 0, ptr @lp_site %t60 = call ptr @fn_emit_bind(ptr %t59) store ptr %t60, ptr %t61 %t62 = load ptr, ptr %t0 %t63 = getelementptr inbounds %Cmp_Val, ptr %t62, i32 0, i32 0 %t64 = load ptr, ptr %t63 %t65 = call ptr @fn_slice_field(ptr %t64, i32 1) store i32 4394, ptr @lp_site %t66 = call ptr @lp_str_concat(ptr @.str7282, ptr %t65) store i32 0, ptr @lp_site %t67 = call ptr @fn_emit_bind(ptr %t66) store ptr %t67, ptr %t68 %t69 = load ptr, ptr %t68 store i32 4395, ptr @lp_site %t70 = call ptr @lp_str_concat(ptr @.str7283, ptr %t69) store i32 0, ptr @lp_site store i32 4396, ptr @lp_site %t71 = call ptr @lp_str_concat(ptr %t70, ptr @.str7284) store i32 0, ptr @lp_site call void @lp_free(ptr %t70) %t72 = call ptr @fn_emit_bind(ptr %t71) store ptr %t72, ptr %t73 %t74 = load ptr, ptr %t73 store i32 4397, ptr @lp_site %t75 = call ptr @lp_str_concat(ptr @.str7285, ptr %t74) store i32 0, ptr @lp_site store i32 4398, ptr @lp_site %t76 = call ptr @lp_str_concat(ptr %t75, ptr @.str7286) store i32 0, ptr @lp_site call void @lp_free(ptr %t75) %t77 = load ptr, ptr %t47 store i32 4399, ptr @lp_site %t78 = call ptr @lp_str_concat(ptr %t76, ptr %t77) store i32 0, ptr @lp_site call void @lp_free(ptr %t76) %t79 = call ptr @fn_emit_bind(ptr %t78) store ptr %t79, ptr %t80 %t81 = load ptr, ptr %t80 store i32 4400, ptr @lp_site %t82 = call ptr @lp_str_concat(ptr @.str7287, ptr %t81) store i32 0, ptr @lp_site store i32 4401, ptr @lp_site %t83 = call ptr @lp_str_concat(ptr %t82, ptr @.str7288) store i32 0, ptr @lp_site call void @lp_free(ptr %t82) %t84 = call ptr @fn_emit_bind(ptr %t83) store ptr %t84, ptr %t85 %t86 = load ptr, ptr %t85 store i32 4402, ptr @lp_site %t87 = call ptr @lp_str_concat(ptr @.str7289, ptr %t86) store i32 0, ptr @lp_site store i32 4403, ptr @lp_site %t88 = call ptr @lp_str_concat(ptr %t87, ptr @.str7290) store i32 0, ptr @lp_site call void @lp_free(ptr %t87) %t89 = call ptr @fn_emit_bind(ptr %t88) store ptr %t89, ptr %t90 %t91 = load ptr, ptr %t90 store i32 4404, ptr @lp_site %t92 = call ptr @lp_str_concat(ptr @.str7291, ptr %t91) store i32 0, ptr @lp_site store i32 4405, ptr @lp_site %t93 = call ptr @lp_str_concat(ptr %t92, ptr @.str7292) store i32 0, ptr @lp_site call void @lp_free(ptr %t92) %t94 = load ptr, ptr %t61 store i32 4406, ptr @lp_site %t95 = call ptr @lp_str_concat(ptr %t93, ptr %t94) store i32 0, ptr @lp_site call void @lp_free(ptr %t93) store i32 4407, ptr @lp_site %t96 = call ptr @lp_str_concat(ptr %t95, ptr @.str7293) store i32 0, ptr @lp_site call void @lp_free(ptr %t95) %t97 = load ptr, ptr %t80 store i32 4408, ptr @lp_site %t98 = call ptr @lp_str_concat(ptr %t96, ptr %t97) store i32 0, ptr @lp_site call void @lp_free(ptr %t96) store i32 4409, ptr @lp_site %t99 = call ptr @lp_str_concat(ptr %t98, ptr @.str7294) store i32 0, ptr @lp_site call void @lp_free(ptr %t98) call void @fn_emit(ptr %t99) %t100 = load ptr, ptr %t90 store i32 4410, ptr @lp_site %t101 = call ptr @lp_str_concat(ptr @.str7295, ptr %t100) store i32 0, ptr @lp_site store i32 4411, ptr @lp_site %t102 = call ptr @lp_str_concat(ptr %t101, ptr @.str7296) store i32 0, ptr @lp_site call void @lp_free(ptr %t101) %t103 = load ptr, ptr %t54 %t104 = call ptr @fn_slice_field(ptr %t103, i32 0) store i32 4412, ptr @lp_site %t105 = call ptr @lp_str_concat(ptr %t102, ptr %t104) store i32 0, ptr @lp_site call void @lp_free(ptr %t102) store i32 4413, ptr @lp_site %t106 = call ptr @lp_str_concat(ptr %t105, ptr @.str7297) store i32 0, ptr @lp_site call void @lp_free(ptr %t105) call void @fn_emit(ptr %t106) %t107 = load ptr, ptr %t68 store i32 4414, ptr @lp_site %t108 = call ptr @lp_str_concat(ptr @.str7298, ptr %t107) store i32 0, ptr @lp_site store i32 4415, ptr @lp_site %t109 = call ptr @lp_str_concat(ptr %t108, ptr @.str7299) store i32 0, ptr @lp_site call void @lp_free(ptr %t108) %t110 = load ptr, ptr %t54 %t111 = call ptr @fn_slice_field(ptr %t110, i32 1) store i32 4416, ptr @lp_site %t112 = call ptr @lp_str_concat(ptr %t109, ptr %t111) store i32 0, ptr @lp_site call void @lp_free(ptr %t109) store i32 4417, ptr @lp_site %t113 = call ptr @lp_str_concat(ptr %t112, ptr @.str7300) store i32 0, ptr @lp_site call void @lp_free(ptr %t112) call void @fn_emit(ptr %t113) %t114 = load ptr, ptr %t68 store i32 4418, ptr @lp_site %t115 = call ptr @lp_str_concat(ptr @.str7301, ptr %t114) store i32 0, ptr @lp_site store i32 4419, ptr @lp_site %t116 = call ptr @lp_str_concat(ptr %t115, ptr @.str7302) store i32 0, ptr @lp_site call void @lp_free(ptr %t115) %t117 = load ptr, ptr %t54 %t118 = call ptr @fn_slice_field(ptr %t117, i32 2) store i32 4420, ptr @lp_site %t119 = call ptr @lp_str_concat(ptr %t116, ptr %t118) store i32 0, ptr @lp_site call void @lp_free(ptr %t116) store i32 4421, ptr @lp_site %t120 = call ptr @lp_str_concat(ptr %t119, ptr @.str7303) store i32 0, ptr @lp_site call void @lp_free(ptr %t119) call void @fn_emit(ptr %t120) %t121 = load ptr, ptr %t54 %t122 = load ptr, ptr %t0 %t123 = getelementptr inbounds %Cmp_Val, ptr %t122, i32 0, i32 1 %t124 = load ptr, ptr %t123 %t125 = call ptr @fn_val(ptr %t121, ptr %t124) store ptr %t125, ptr %retval br label %ret ifend5: %t126 = load ptr, ptr %t0 %t127 = getelementptr inbounds %Cmp_Val, ptr %t126, i32 0, i32 1 %t128 = load ptr, ptr %t127 %t129 = call ptr @fn_layout_node(ptr %t128) %t130 = icmp ne ptr %t129, null %t131 = zext i1 %t130 to i32 %t132 = icmp ne i32 %t131, 0 br i1 %t132, label %then6, label %ifend8 then6: %t133 = load ptr, ptr %t0 %t134 = getelementptr inbounds %Cmp_Val, ptr %t133, i32 0, i32 1 %t135 = load ptr, ptr %t134 %t136 = call ptr @fn_layout_ty(ptr %t135) %t137 = call ptr @fn_emit_sizeof(ptr %t136) store ptr %t137, ptr %t138 %t139 = load ptr, ptr %t138 store i32 4422, ptr @lp_site %t140 = call ptr @lp_str_concat(ptr @.str7304, ptr %t139) store i32 0, ptr @lp_site store i32 4423, ptr @lp_site %t141 = call ptr @lp_str_concat(ptr %t140, ptr @.str7305) store i32 0, ptr @lp_site call void @lp_free(ptr %t140) %t142 = call ptr @fn_emit_bind(ptr %t141) store ptr %t142, ptr %t143 %t144 = load ptr, ptr %t143 store i32 4424, ptr @lp_site %t145 = call ptr @lp_str_concat(ptr @.str7306, ptr %t144) store i32 0, ptr @lp_site store i32 4425, ptr @lp_site %t146 = call ptr @lp_str_concat(ptr %t145, ptr @.str7307) store i32 0, ptr @lp_site call void @lp_free(ptr %t145) %t147 = load ptr, ptr %t0 %t148 = getelementptr inbounds %Cmp_Val, ptr %t147, i32 0, i32 0 %t149 = load ptr, ptr %t148 store i32 4426, ptr @lp_site %t150 = call ptr @lp_str_concat(ptr %t146, ptr %t149) store i32 0, ptr @lp_site call void @lp_free(ptr %t146) store i32 4427, ptr @lp_site %t151 = call ptr @lp_str_concat(ptr %t150, ptr @.str7308) store i32 0, ptr @lp_site call void @lp_free(ptr %t150) %t152 = load ptr, ptr %t138 store i32 4428, ptr @lp_site %t153 = call ptr @lp_str_concat(ptr %t151, ptr %t152) store i32 0, ptr @lp_site call void @lp_free(ptr %t151) store i32 4429, ptr @lp_site %t154 = call ptr @lp_str_concat(ptr %t153, ptr @.str7309) store i32 0, ptr @lp_site call void @lp_free(ptr %t153) call void @fn_emit(ptr %t154) %t155 = load ptr, ptr %t143 %t156 = load ptr, ptr %t0 %t157 = getelementptr inbounds %Cmp_Val, ptr %t156, i32 0, i32 1 %t158 = load ptr, ptr %t157 %t159 = call ptr @fn_val(ptr %t155, ptr %t158) store ptr %t159, ptr %retval br label %ret ifend8: %t160 = load ptr, ptr %t0 store ptr %t160, ptr %retval br label %ret ret: %t161 = load ptr, ptr %retval ret ptr %t161 } define ptr @fn_es_owner_at(ptr %arg_file, i32 %arg_line) { entry: %retval = alloca ptr %t0 = alloca ptr %t1 = alloca i32 %t2 = alloca i32 %t23 = alloca ptr store ptr %arg_file, ptr %t0 store i32 %arg_line, ptr %t1 %t3 = load i32, ptr @g_g_es_done %t4 = icmp eq i32 %t3, 0 %t5 = zext i1 %t4 to i32 %t6 = icmp ne i32 %t5, 0 %t7 = zext i1 %t6 to i32 store i32 %t7, ptr %t2 br i1 %t6, label %scend1, label %sc0 sc0: %t8 = load ptr, ptr %t0 %t9 = icmp eq ptr %t8, null %t10 = zext i1 %t9 to i32 %t11 = icmp ne i32 %t10, 0 %t12 = zext i1 %t11 to i32 store i32 %t12, ptr %t2 br label %scend1 scend1: %t13 = load i32, ptr %t2 %t14 = icmp ne i32 %t13, 0 br i1 %t14, label %then2, label %ifend4 then2: store ptr null, ptr %retval br label %ret ifend4: %t15 = load ptr, ptr @g_g_es_ok %t16 = load ptr, ptr @g_g_es_ov %t17 = load ptr, ptr %t0 store i32 4430, ptr @lp_site %t18 = call ptr @lp_str_concat(ptr %t17, ptr @.str7310) store i32 0, ptr @lp_site %t19 = load i32, ptr %t1 %t20 = call ptr @fn_itoa(i32 %t19) store i32 4431, ptr @lp_site %t21 = call ptr @lp_str_concat(ptr %t18, ptr %t20) store i32 0, ptr @lp_site call void @lp_free(ptr %t18) %t22 = call ptr @fn_ck_tab_get(ptr %t15, ptr %t16, ptr %t21) store ptr %t22, ptr %t23 %t24 = load ptr, ptr %t23 %t25 = icmp eq ptr %t24, null %t26 = zext i1 %t25 to i32 %t27 = icmp ne i32 %t26, 0 br i1 %t27, label %then5, label %ifend7 then5: store ptr null, ptr %retval br label %ret ifend7: %t28 = load ptr, ptr %t23 %t29 = getelementptr inbounds %Cmp_Node, ptr %t28, i32 0, i32 1 %t30 = load ptr, ptr %t29 store ptr %t30, ptr %retval br label %ret ret: %t31 = load ptr, ptr %retval ret ptr %t31 } define ptr @fn_res_kind_made_by(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_res_make_fn %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_res_make_fn %t10 = load i32, ptr %t1 %t11 = getelementptr inbounds %LSlice, ptr %t9, i32 0, i32 0 %t12 = load ptr, ptr %t11 %t13 = getelementptr inbounds %LSlice, ptr %t9, i32 0, i32 1 %t14 = load i32, ptr %t13 %t15 = icmp ult i32 %t10, %t14 br i1 %t15, label %ixok3, label %ixbad4 ixbad4: store i32 4432, ptr @lp_site %t16 = call ptr @lp_win_stdio(i32 2) store i32 0, ptr @lp_site call i32 (ptr, ptr, ...) @fprintf(ptr %t16, ptr @.fmt_bounds, ptr @.str7312, i32 %t10, i32 %t14) call void @exit(i32 1) unreachable ixok3: %t17 = getelementptr inbounds ptr, ptr %t12, i32 %t10 %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 br i1 %t21, label %then5, label %ifend7 then5: %t22 = load ptr, ptr @g_g_res_make_kind %t23 = load i32, ptr %t1 %t24 = getelementptr inbounds %LSlice, ptr %t22, i32 0, i32 0 %t25 = load ptr, ptr %t24 %t26 = getelementptr inbounds %LSlice, ptr %t22, i32 0, i32 1 %t27 = load i32, ptr %t26 %t28 = icmp ult i32 %t23, %t27 br i1 %t28, label %ixok8, label %ixbad9 ixbad9: store i32 4433, ptr @lp_site %t29 = call ptr @lp_win_stdio(i32 2) store i32 0, ptr @lp_site call i32 (ptr, ptr, ...) @fprintf(ptr %t29, ptr @.fmt_bounds, ptr @.str7314, i32 %t23, i32 %t27) call void @exit(i32 1) unreachable ixok8: %t30 = getelementptr inbounds ptr, ptr %t25, i32 %t23 %t31 = load ptr, ptr %t30 store ptr %t31, ptr %retval br label %ret ifend7: %t32 = load i32, ptr %t1 %t33 = add i32 %t32, 1 store i32 %t33, ptr %t1 br label %wcond0 wend2: store ptr null, ptr %retval br label %ret ret: %t34 = load ptr, ptr %retval ret ptr %t34 } define ptr @fn_res_made(ptr %arg_e) { entry: %retval = alloca ptr %t0 = alloca ptr %t1 = alloca i32 %t2 = alloca i32 %t3 = alloca i32 %t4 = alloca i32 store ptr %arg_e, ptr %t0 %t5 = load ptr, ptr %t0 %t6 = icmp eq 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 %t4 br i1 %t8, label %scend1, label %sc0 sc0: %t10 = load ptr, ptr %t0 %t11 = getelementptr inbounds %Cmp_Node, ptr %t10, i32 0, i32 0 %t12 = load i32, ptr %t11 %t13 = icmp ne i32 %t12, 34 %t14 = zext i1 %t13 to i32 %t15 = icmp ne i32 %t14, 0 %t16 = zext i1 %t15 to i32 store i32 %t16, ptr %t4 br label %scend1 scend1: %t17 = load i32, ptr %t4 %t18 = icmp ne i32 %t17, 0 %t19 = zext i1 %t18 to i32 store i32 %t19, ptr %t3 br i1 %t18, label %scend3, label %sc2 sc2: %t20 = load ptr, ptr %t0 %t21 = getelementptr inbounds %Cmp_Node, ptr %t20, i32 0, i32 4 %t22 = load ptr, ptr %t21 %t23 = icmp eq ptr %t22, null %t24 = zext i1 %t23 to i32 %t25 = icmp ne i32 %t24, 0 %t26 = zext i1 %t25 to i32 store i32 %t26, ptr %t3 br label %scend3 scend3: %t27 = load i32, ptr %t3 %t28 = icmp ne i32 %t27, 0 %t29 = zext i1 %t28 to i32 store i32 %t29, ptr %t2 br i1 %t28, label %scend5, label %sc4 sc4: %t30 = load ptr, ptr %t0 %t31 = getelementptr inbounds %Cmp_Node, ptr %t30, i32 0, i32 4 %t32 = load ptr, ptr %t31 %t33 = getelementptr inbounds %Cmp_Node, ptr %t32, i32 0, i32 0 %t34 = load i32, ptr %t33 %t35 = icmp ne i32 %t34, 33 %t36 = zext i1 %t35 to i32 %t37 = icmp ne i32 %t36, 0 %t38 = zext i1 %t37 to i32 store i32 %t38, ptr %t2 br label %scend5 scend5: %t39 = load i32, ptr %t2 %t40 = icmp ne i32 %t39, 0 %t41 = zext i1 %t40 to i32 store i32 %t41, ptr %t1 br i1 %t40, label %scend7, label %sc6 sc6: %t42 = load ptr, ptr %t0 %t43 = getelementptr inbounds %Cmp_Node, ptr %t42, i32 0, i32 4 %t44 = load ptr, ptr %t43 %t45 = getelementptr inbounds %Cmp_Node, ptr %t44, i32 0, i32 1 %t46 = load ptr, ptr %t45 %t47 = icmp eq ptr %t46, null %t48 = zext i1 %t47 to i32 %t49 = icmp ne i32 %t48, 0 %t50 = zext i1 %t49 to i32 store i32 %t50, ptr %t1 br label %scend7 scend7: %t51 = load i32, ptr %t1 %t52 = icmp ne i32 %t51, 0 br i1 %t52, label %then8, label %ifend10 then8: store ptr null, ptr %retval br label %ret ifend10: %t53 = load ptr, ptr %t0 %t54 = getelementptr inbounds %Cmp_Node, ptr %t53, i32 0, i32 4 %t55 = load ptr, ptr %t54 %t56 = getelementptr inbounds %Cmp_Node, ptr %t55, i32 0, i32 1 %t57 = load ptr, ptr %t56 %t58 = call ptr @fn_res_kind_made_by(ptr %t57) store ptr %t58, ptr %retval br label %ret ret: %t59 = load ptr, ptr %retval ret ptr %t59 } define i32 @fn_res_handed(ptr %arg_n, ptr %arg_name) { entry: %retval = alloca i32 %t0 = alloca ptr %t1 = alloca ptr %t6 = alloca i32 %t23 = alloca i32 %t45 = alloca ptr %t46 = alloca i32 %t47 = alloca i32 %t74 = alloca i32 %t94 = alloca ptr %t104 = alloca i32 %t105 = alloca i32 %t130 = alloca i32 %t147 = alloca i32 %t169 = alloca ptr %t170 = alloca i32 %t171 = alloca i32 %t204 = alloca i32 %t221 = alloca i32 %t231 = alloca i32 %t272 = alloca i32 %t273 = alloca i32 %t306 = alloca i32 store ptr %arg_n, ptr %t0 store ptr %arg_name, 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 i32 0, 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, 34 %t11 = zext i1 %t10 to i32 %t12 = icmp ne i32 %t11, 0 %t13 = zext i1 %t12 to i32 store i32 %t13, ptr %t6 br i1 %t12, label %sc3, label %scend4 sc3: %t14 = load ptr, ptr %t0 %t15 = getelementptr inbounds %Cmp_Node, ptr %t14, i32 0, i32 7 %t16 = load ptr, ptr %t15 %t17 = icmp ne ptr %t16, null %t18 = zext i1 %t17 to i32 %t19 = icmp ne i32 %t18, 0 %t20 = zext i1 %t19 to i32 store i32 %t20, ptr %t6 br label %scend4 scend4: %t21 = load i32, ptr %t6 %t22 = icmp ne i32 %t21, 0 br i1 %t22, label %then5, label %ifend7 then5: store i32 0, ptr %t23 br label %wcond8 wcond8: %t24 = load i32, ptr %t23 %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 = icmp slt i32 %t24, %t29 %t31 = zext i1 %t30 to i32 %t32 = icmp ne i32 %t31, 0 br i1 %t32, label %wbody9, label %wend10 wbody9: %t33 = load ptr, ptr %t0 %t34 = getelementptr inbounds %Cmp_Node, ptr %t33, i32 0, i32 7 %t35 = load ptr, ptr %t34 %t36 = load i32, ptr %t23 %t37 = getelementptr inbounds %LSlice, ptr %t35, i32 0, i32 0 %t38 = load ptr, ptr %t37 %t39 = getelementptr inbounds %LSlice, ptr %t35, i32 0, i32 1 %t40 = load i32, ptr %t39 %t41 = icmp ult i32 %t36, %t40 br i1 %t41, label %ixok11, label %ixbad12 ixbad12: store i32 4434, ptr @lp_site %t42 = call ptr @lp_win_stdio(i32 2) store i32 0, ptr @lp_site call i32 (ptr, ptr, ...) @fprintf(ptr %t42, ptr @.fmt_bounds, ptr @.str7315, i32 %t36, i32 %t40) call void @exit(i32 1) unreachable ixok11: %t43 = getelementptr inbounds ptr, ptr %t38, i32 %t36 %t44 = load ptr, ptr %t43 store ptr %t44, ptr %t45 %t48 = load ptr, ptr %t45 %t49 = icmp ne ptr %t48, null %t50 = zext i1 %t49 to i32 %t51 = icmp ne i32 %t50, 0 %t52 = zext i1 %t51 to i32 store i32 %t52, ptr %t47 br i1 %t51, label %sc13, label %scend14 sc13: %t53 = load ptr, ptr %t45 %t54 = getelementptr inbounds %Cmp_Node, ptr %t53, i32 0, i32 0 %t55 = load i32, ptr %t54 %t56 = icmp eq i32 %t55, 33 %t57 = zext i1 %t56 to i32 %t58 = icmp ne i32 %t57, 0 %t59 = zext i1 %t58 to i32 store i32 %t59, ptr %t47 br label %scend14 scend14: %t60 = load i32, ptr %t47 %t61 = icmp ne i32 %t60, 0 %t62 = zext i1 %t61 to i32 store i32 %t62, ptr %t46 br i1 %t61, label %sc15, label %scend16 sc15: %t63 = load ptr, ptr %t45 %t64 = getelementptr inbounds %Cmp_Node, ptr %t63, i32 0, i32 1 %t65 = load ptr, ptr %t64 %t66 = load ptr, ptr %t1 %t67 = call i32 @lp_str_eq(ptr %t65, ptr %t66) %t68 = icmp ne i32 %t67, 0 %t69 = zext i1 %t68 to i32 store i32 %t69, ptr %t46 br label %scend16 scend16: %t70 = load i32, ptr %t46 %t71 = icmp ne i32 %t70, 0 br i1 %t71, label %then17, label %ifend19 then17: store i32 1, ptr %retval br label %ret ifend19: %t72 = load i32, ptr %t23 %t73 = add i32 %t72, 1 store i32 %t73, ptr %t23 br label %wcond8 wend10: br label %ifend7 ifend7: %t75 = load ptr, ptr %t0 %t76 = getelementptr inbounds %Cmp_Node, ptr %t75, i32 0, i32 0 %t77 = load i32, ptr %t76 %t78 = icmp eq i32 %t77, 15 %t79 = zext i1 %t78 to i32 %t80 = icmp ne i32 %t79, 0 %t81 = zext i1 %t80 to i32 store i32 %t81, ptr %t74 br i1 %t80, label %scend21, label %sc20 sc20: %t82 = load ptr, ptr %t0 %t83 = getelementptr inbounds %Cmp_Node, ptr %t82, i32 0, i32 0 %t84 = load i32, ptr %t83 %t85 = icmp eq i32 %t84, 11 %t86 = zext i1 %t85 to i32 %t87 = icmp ne i32 %t86, 0 %t88 = zext i1 %t87 to i32 store i32 %t88, ptr %t74 br label %scend21 scend21: %t89 = load i32, ptr %t74 %t90 = icmp ne i32 %t89, 0 br i1 %t90, label %then22, label %ifend24 then22: %t91 = load ptr, ptr %t0 %t92 = getelementptr inbounds %Cmp_Node, ptr %t91, i32 0, i32 4 %t93 = load ptr, ptr %t92 store ptr %t93, ptr %t94 %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, 11 %t99 = zext i1 %t98 to i32 %t100 = icmp ne i32 %t99, 0 br i1 %t100, label %then25, label %ifend27 then25: %t101 = load ptr, ptr %t0 %t102 = getelementptr inbounds %Cmp_Node, ptr %t101, i32 0, i32 5 %t103 = load ptr, ptr %t102 store ptr %t103, ptr %t94 br label %ifend27 ifend27: %t106 = load ptr, ptr %t94 %t107 = icmp ne ptr %t106, null %t108 = zext i1 %t107 to i32 %t109 = icmp ne i32 %t108, 0 %t110 = zext i1 %t109 to i32 store i32 %t110, ptr %t105 br i1 %t109, label %sc28, label %scend29 sc28: %t111 = load ptr, ptr %t94 %t112 = getelementptr inbounds %Cmp_Node, ptr %t111, i32 0, i32 0 %t113 = load i32, ptr %t112 %t114 = icmp eq i32 %t113, 33 %t115 = zext i1 %t114 to i32 %t116 = icmp ne i32 %t115, 0 %t117 = zext i1 %t116 to i32 store i32 %t117, ptr %t105 br label %scend29 scend29: %t118 = load i32, ptr %t105 %t119 = icmp ne i32 %t118, 0 %t120 = zext i1 %t119 to i32 store i32 %t120, ptr %t104 br i1 %t119, label %sc30, label %scend31 sc30: %t121 = load ptr, ptr %t94 %t122 = getelementptr inbounds %Cmp_Node, ptr %t121, i32 0, i32 1 %t123 = load ptr, ptr %t122 %t124 = load ptr, ptr %t1 %t125 = call i32 @lp_str_eq(ptr %t123, ptr %t124) %t126 = icmp ne i32 %t125, 0 %t127 = zext i1 %t126 to i32 store i32 %t127, ptr %t104 br label %scend31 scend31: %t128 = load i32, ptr %t104 %t129 = icmp ne i32 %t128, 0 br i1 %t129, label %then32, label %ifend34 then32: store i32 1, ptr %retval br label %ret ifend34: br label %ifend24 ifend24: %t131 = load ptr, ptr %t0 %t132 = getelementptr inbounds %Cmp_Node, ptr %t131, i32 0, i32 0 %t133 = load i32, ptr %t132 %t134 = icmp eq i32 %t133, 41 %t135 = zext i1 %t134 to i32 %t136 = icmp ne i32 %t135, 0 %t137 = zext i1 %t136 to i32 store i32 %t137, ptr %t130 br i1 %t136, label %sc35, label %scend36 sc35: %t138 = load ptr, ptr %t0 %t139 = getelementptr inbounds %Cmp_Node, ptr %t138, i32 0, i32 7 %t140 = load ptr, ptr %t139 %t141 = icmp ne ptr %t140, null %t142 = zext i1 %t141 to i32 %t143 = icmp ne i32 %t142, 0 %t144 = zext i1 %t143 to i32 store i32 %t144, ptr %t130 br label %scend36 scend36: %t145 = load i32, ptr %t130 %t146 = icmp ne i32 %t145, 0 br i1 %t146, label %then37, label %ifend39 then37: store i32 0, ptr %t147 br label %wcond40 wcond40: %t148 = load i32, ptr %t147 %t149 = load ptr, ptr %t0 %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 1 %t153 = load i32, ptr %t152 %t154 = icmp slt i32 %t148, %t153 %t155 = zext i1 %t154 to i32 %t156 = icmp ne i32 %t155, 0 br i1 %t156, label %wbody41, label %wend42 wbody41: %t157 = load ptr, ptr %t0 %t158 = getelementptr inbounds %Cmp_Node, ptr %t157, i32 0, i32 7 %t159 = load ptr, ptr %t158 %t160 = load i32, ptr %t147 %t161 = getelementptr inbounds %LSlice, ptr %t159, i32 0, i32 0 %t162 = load ptr, ptr %t161 %t163 = getelementptr inbounds %LSlice, ptr %t159, i32 0, i32 1 %t164 = load i32, ptr %t163 %t165 = icmp ult i32 %t160, %t164 br i1 %t165, label %ixok43, label %ixbad44 ixbad44: store i32 4435, ptr @lp_site %t166 = call ptr @lp_win_stdio(i32 2) store i32 0, ptr @lp_site call i32 (ptr, ptr, ...) @fprintf(ptr %t166, ptr @.fmt_bounds, ptr @.str7317, i32 %t160, i32 %t164) call void @exit(i32 1) unreachable ixok43: %t167 = getelementptr inbounds ptr, ptr %t162, i32 %t160 %t168 = load ptr, ptr %t167 store ptr %t168, ptr %t169 %t172 = load ptr, ptr %t169 %t173 = getelementptr inbounds %Cmp_Node, ptr %t172, i32 0, i32 4 %t174 = load ptr, ptr %t173 %t175 = icmp ne ptr %t174, null %t176 = zext i1 %t175 to i32 %t177 = icmp ne i32 %t176, 0 %t178 = zext i1 %t177 to i32 store i32 %t178, ptr %t171 br i1 %t177, label %sc45, label %scend46 sc45: %t179 = load ptr, ptr %t169 %t180 = getelementptr inbounds %Cmp_Node, ptr %t179, i32 0, i32 4 %t181 = load ptr, ptr %t180 %t182 = getelementptr inbounds %Cmp_Node, ptr %t181, i32 0, i32 0 %t183 = load i32, ptr %t182 %t184 = icmp eq i32 %t183, 33 %t185 = zext i1 %t184 to i32 %t186 = icmp ne i32 %t185, 0 %t187 = zext i1 %t186 to i32 store i32 %t187, ptr %t171 br label %scend46 scend46: %t188 = load i32, ptr %t171 %t189 = icmp ne i32 %t188, 0 %t190 = zext i1 %t189 to i32 store i32 %t190, ptr %t170 br i1 %t189, label %sc47, label %scend48 sc47: %t191 = load ptr, ptr %t169 %t192 = getelementptr inbounds %Cmp_Node, ptr %t191, i32 0, i32 4 %t193 = load ptr, ptr %t192 %t194 = getelementptr inbounds %Cmp_Node, ptr %t193, i32 0, i32 1 %t195 = load ptr, ptr %t194 %t196 = load ptr, ptr %t1 %t197 = call i32 @lp_str_eq(ptr %t195, ptr %t196) %t198 = icmp ne i32 %t197, 0 %t199 = zext i1 %t198 to i32 store i32 %t199, ptr %t170 br label %scend48 scend48: %t200 = load i32, ptr %t170 %t201 = icmp ne i32 %t200, 0 br i1 %t201, label %then49, label %ifend51 then49: store i32 1, ptr %retval br label %ret ifend51: %t202 = load i32, ptr %t147 %t203 = add i32 %t202, 1 store i32 %t203, ptr %t147 br label %wcond40 wend42: br label %ifend39 ifend39: %t205 = load ptr, ptr %t0 %t206 = getelementptr inbounds %Cmp_Node, ptr %t205, i32 0, i32 0 %t207 = load i32, ptr %t206 %t208 = icmp eq i32 %t207, 54 %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 %sc52, label %scend53 sc52: %t212 = load ptr, ptr %t0 %t213 = getelementptr inbounds %Cmp_Node, ptr %t212, i32 0, i32 7 %t214 = load ptr, ptr %t213 %t215 = icmp ne ptr %t214, null %t216 = zext i1 %t215 to i32 %t217 = icmp ne i32 %t216, 0 %t218 = zext i1 %t217 to i32 store i32 %t218, ptr %t204 br label %scend53 scend53: %t219 = load i32, ptr %t204 %t220 = icmp ne i32 %t219, 0 br i1 %t220, label %then54, label %ifend56 then54: store i32 0, ptr %t221 br label %wcond57 wcond57: %t222 = load i32, ptr %t221 %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 %wbody58, label %wend59 wbody58: %t232 = load ptr, ptr %t0 %t233 = getelementptr inbounds %Cmp_Node, ptr %t232, i32 0, i32 7 %t234 = load ptr, ptr %t233 %t235 = load i32, ptr %t221 %t236 = getelementptr inbounds %LSlice, ptr %t234, i32 0, i32 0 %t237 = load ptr, ptr %t236 %t238 = getelementptr inbounds %LSlice, ptr %t234, i32 0, i32 1 %t239 = load i32, ptr %t238 %t240 = icmp ult i32 %t235, %t239 br i1 %t240, label %ixok60, label %ixbad61 ixbad61: store i32 4436, ptr @lp_site %t241 = call ptr @lp_win_stdio(i32 2) store i32 0, ptr @lp_site call i32 (ptr, ptr, ...) @fprintf(ptr %t241, ptr @.fmt_bounds, ptr @.str7318, i32 %t235, i32 %t239) call void @exit(i32 1) unreachable ixok60: %t242 = getelementptr inbounds ptr, ptr %t237, i32 %t235 %t243 = load ptr, ptr %t242 %t244 = getelementptr inbounds %Cmp_Node, ptr %t243, i32 0, i32 0 %t245 = load i32, ptr %t244 %t246 = icmp eq i32 %t245, 33 %t247 = zext i1 %t246 to i32 %t248 = icmp ne i32 %t247, 0 %t249 = zext i1 %t248 to i32 store i32 %t249, ptr %t231 br i1 %t248, label %sc62, label %scend63 sc62: %t250 = load ptr, ptr %t0 %t251 = getelementptr inbounds %Cmp_Node, ptr %t250, i32 0, i32 7 %t252 = load ptr, ptr %t251 %t253 = load i32, ptr %t221 %t254 = getelementptr inbounds %LSlice, ptr %t252, i32 0, i32 0 %t255 = load ptr, ptr %t254 %t256 = getelementptr inbounds %LSlice, ptr %t252, i32 0, i32 1 %t257 = load i32, ptr %t256 %t258 = icmp ult i32 %t253, %t257 br i1 %t258, label %ixok64, label %ixbad65 ixbad65: store i32 4437, ptr @lp_site %t259 = call ptr @lp_win_stdio(i32 2) store i32 0, ptr @lp_site call i32 (ptr, ptr, ...) @fprintf(ptr %t259, ptr @.fmt_bounds, ptr @.str7319, i32 %t253, i32 %t257) call void @exit(i32 1) unreachable ixok64: %t260 = getelementptr inbounds ptr, ptr %t255, i32 %t253 %t261 = load ptr, ptr %t260 %t262 = getelementptr inbounds %Cmp_Node, ptr %t261, i32 0, i32 1 %t263 = load ptr, ptr %t262 %t264 = load ptr, ptr %t1 %t265 = call i32 @lp_str_eq(ptr %t263, ptr %t264) %t266 = icmp ne i32 %t265, 0 %t267 = zext i1 %t266 to i32 store i32 %t267, ptr %t231 br label %scend63 scend63: %t268 = load i32, ptr %t231 %t269 = icmp ne i32 %t268, 0 br i1 %t269, label %then66, label %ifend68 then66: store i32 1, ptr %retval br label %ret ifend68: %t270 = load i32, ptr %t221 %t271 = add i32 %t270, 1 store i32 %t271, ptr %t221 br label %wcond57 wend59: br label %ifend56 ifend56: %t274 = load ptr, ptr %t0 %t275 = getelementptr inbounds %Cmp_Node, ptr %t274, i32 0, i32 4 %t276 = load ptr, ptr %t275 %t277 = load ptr, ptr %t1 %t278 = call i32 @fn_res_handed(ptr %t276, ptr %t277) %t279 = icmp ne i32 %t278, 0 %t280 = zext i1 %t279 to i32 store i32 %t280, ptr %t273 br i1 %t279, label %scend70, label %sc69 sc69: %t281 = load ptr, ptr %t0 %t282 = getelementptr inbounds %Cmp_Node, ptr %t281, i32 0, i32 5 %t283 = load ptr, ptr %t282 %t284 = load ptr, ptr %t1 %t285 = call i32 @fn_res_handed(ptr %t283, ptr %t284) %t286 = icmp ne i32 %t285, 0 %t287 = zext i1 %t286 to i32 store i32 %t287, ptr %t273 br label %scend70 scend70: %t288 = load i32, ptr %t273 %t289 = icmp ne i32 %t288, 0 %t290 = zext i1 %t289 to i32 store i32 %t290, ptr %t272 br i1 %t289, label %scend72, label %sc71 sc71: %t291 = load ptr, ptr %t0 %t292 = getelementptr inbounds %Cmp_Node, ptr %t291, i32 0, i32 6 %t293 = load ptr, ptr %t292 %t294 = load ptr, ptr %t1 %t295 = call i32 @fn_res_handed(ptr %t293, ptr %t294) %t296 = icmp ne i32 %t295, 0 %t297 = zext i1 %t296 to i32 store i32 %t297, ptr %t272 br label %scend72 scend72: %t298 = load i32, ptr %t272 %t299 = icmp ne i32 %t298, 0 br i1 %t299, label %then73, label %ifend75 then73: store i32 1, ptr %retval br label %ret ifend75: %t300 = load ptr, ptr %t0 %t301 = getelementptr inbounds %Cmp_Node, ptr %t300, i32 0, i32 7 %t302 = load ptr, ptr %t301 %t303 = icmp ne ptr %t302, null %t304 = zext i1 %t303 to i32 %t305 = icmp ne i32 %t304, 0 br i1 %t305, label %then76, label %ifend78 then76: store i32 0, ptr %t306 br label %wcond79 wcond79: %t307 = load i32, ptr %t306 %t308 = load ptr, ptr %t0 %t309 = getelementptr inbounds %Cmp_Node, ptr %t308, i32 0, i32 7 %t310 = load ptr, ptr %t309 %t311 = getelementptr inbounds %LSlice, ptr %t310, i32 0, i32 1 %t312 = load i32, ptr %t311 %t313 = icmp slt i32 %t307, %t312 %t314 = zext i1 %t313 to i32 %t315 = icmp ne i32 %t314, 0 br i1 %t315, label %wbody80, label %wend81 wbody80: %t316 = load ptr, ptr %t0 %t317 = getelementptr inbounds %Cmp_Node, ptr %t316, i32 0, i32 7 %t318 = load ptr, ptr %t317 %t319 = load i32, ptr %t306 %t320 = getelementptr inbounds %LSlice, ptr %t318, i32 0, i32 0 %t321 = load ptr, ptr %t320 %t322 = getelementptr inbounds %LSlice, ptr %t318, i32 0, i32 1 %t323 = load i32, ptr %t322 %t324 = icmp ult i32 %t319, %t323 br i1 %t324, label %ixok82, label %ixbad83 ixbad83: store i32 4438, ptr @lp_site %t325 = call ptr @lp_win_stdio(i32 2) store i32 0, ptr @lp_site call i32 (ptr, ptr, ...) @fprintf(ptr %t325, ptr @.fmt_bounds, ptr @.str7320, i32 %t319, i32 %t323) call void @exit(i32 1) unreachable ixok82: %t326 = getelementptr inbounds ptr, ptr %t321, i32 %t319 %t327 = load ptr, ptr %t326 %t328 = load ptr, ptr %t1 %t329 = call i32 @fn_res_handed(ptr %t327, ptr %t328) %t330 = icmp ne i32 %t329, 0 br i1 %t330, label %then84, label %ifend86 then84: store i32 1, ptr %retval br label %ret ifend86: %t331 = load i32, ptr %t306 %t332 = add i32 %t331, 1 store i32 %t332, ptr %t306 br label %wcond79 wend81: br label %ifend78 ifend78: store i32 0, ptr %retval br label %ret ret: %t333 = load i32, ptr %retval ret i32 %t333 } define void @fn_res_walk(ptr %arg_f, ptr %arg_d, ptr %arg_n) { entry: %t0 = alloca ptr %t1 = alloca ptr %t2 = alloca ptr %t7 = alloca i32 %t28 = alloca ptr %t55 = alloca i32 %t76 = alloca ptr %t77 = alloca i32 %t144 = alloca i32 store ptr %arg_f, ptr %t0 store ptr %arg_d, ptr %t1 store ptr %arg_n, 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: br label %ret ifend2: %t8 = load ptr, ptr %t2 %t9 = getelementptr inbounds %Cmp_Node, ptr %t8, i32 0, i32 0 %t10 = load i32, ptr %t9 %t11 = icmp eq i32 %t10, 16 %t12 = zext i1 %t11 to i32 %t13 = icmp ne i32 %t12, 0 %t14 = zext i1 %t13 to i32 store i32 %t14, ptr %t7 br i1 %t13, label %sc3, label %scend4 sc3: %t15 = load ptr, ptr %t2 %t16 = getelementptr inbounds %Cmp_Node, ptr %t15, i32 0, i32 4 %t17 = load ptr, ptr %t16 %t18 = icmp ne ptr %t17, null %t19 = zext i1 %t18 to i32 %t20 = icmp ne i32 %t19, 0 %t21 = zext i1 %t20 to i32 store i32 %t21, ptr %t7 br label %scend4 scend4: %t22 = load i32, ptr %t7 %t23 = icmp ne i32 %t22, 0 br i1 %t23, label %then5, label %ifend7 then5: %t24 = load ptr, ptr %t2 %t25 = getelementptr inbounds %Cmp_Node, ptr %t24, i32 0, i32 4 %t26 = load ptr, ptr %t25 %t27 = call ptr @fn_res_made(ptr %t26) store ptr %t27, ptr %t28 %t29 = load ptr, ptr %t28 %t30 = icmp ne ptr %t29, null %t31 = zext i1 %t30 to i32 %t32 = icmp ne i32 %t31, 0 br i1 %t32, label %then8, label %ifend10 then8: %t33 = load ptr, ptr %t0 %t34 = load ptr, ptr %t28 store i32 4439, ptr @lp_site %t35 = call ptr @lp_str_concat(ptr @.str7321, ptr %t34) store i32 0, ptr @lp_site store i32 4440, ptr @lp_site %t36 = call ptr @lp_str_concat(ptr %t35, ptr @.str7323) store i32 0, ptr @lp_site call void @lp_free(ptr %t35) %t37 = load ptr, ptr %t1 %t38 = getelementptr inbounds %Cmp_Node, ptr %t37, i32 0, i32 9 %t39 = load ptr, ptr %t38 store i32 4441, ptr @lp_site %t40 = call ptr @lp_str_concat(ptr %t36, ptr %t39) store i32 0, ptr @lp_site call void @lp_free(ptr %t36) store i32 4442, ptr @lp_site %t41 = call ptr @lp_str_concat(ptr %t40, ptr @.str7324) store i32 0, ptr @lp_site call void @lp_free(ptr %t40) %t42 = load ptr, ptr %t2 %t43 = getelementptr inbounds %Cmp_Node, ptr %t42, i32 0, i32 8 %t44 = load i32, ptr %t43 %t45 = call ptr @fn_itoa(i32 %t44) store i32 4443, ptr @lp_site %t46 = call ptr @lp_str_concat(ptr %t41, ptr %t45) store i32 0, ptr @lp_site call void @lp_free(ptr %t41) store i32 4444, ptr @lp_site %t47 = call ptr @lp_str_concat(ptr %t46, ptr @.str7325) store i32 0, ptr @lp_site call void @lp_free(ptr %t46) %t48 = load ptr, ptr %t1 %t49 = getelementptr inbounds %Cmp_Node, ptr %t48, i32 0, i32 1 %t50 = load ptr, ptr %t49 store i32 4445, ptr @lp_site %t51 = call ptr @lp_str_concat(ptr %t47, ptr %t50) store i32 0, ptr @lp_site call void @lp_free(ptr %t47) store i32 4446, ptr @lp_site %t52 = call ptr @lp_str_concat(ptr %t51, ptr @.str7326) store i32 0, ptr @lp_site call void @lp_free(ptr %t51) call void @fn_deps_line(ptr %t33, ptr %t52) %t53 = load i32, ptr @g_g_res_drops %t54 = add i32 %t53, 1 store i32 %t54, ptr @g_g_res_drops br label %ifend10 ifend10: br label %ifend7 ifend7: %t56 = load ptr, ptr %t2 %t57 = getelementptr inbounds %Cmp_Node, ptr %t56, i32 0, i32 0 %t58 = load i32, ptr %t57 %t59 = icmp eq i32 %t58, 10 %t60 = zext i1 %t59 to i32 %t61 = icmp ne i32 %t60, 0 %t62 = zext i1 %t61 to i32 store i32 %t62, ptr %t55 br i1 %t61, label %sc11, label %scend12 sc11: %t63 = load ptr, ptr %t2 %t64 = getelementptr inbounds %Cmp_Node, ptr %t63, i32 0, i32 1 %t65 = load ptr, ptr %t64 %t66 = icmp ne ptr %t65, null %t67 = zext i1 %t66 to i32 %t68 = icmp ne i32 %t67, 0 %t69 = zext i1 %t68 to i32 store i32 %t69, ptr %t55 br label %scend12 scend12: %t70 = load i32, ptr %t55 %t71 = icmp ne i32 %t70, 0 br i1 %t71, label %then13, label %ifend15 then13: %t72 = load ptr, ptr %t2 %t73 = getelementptr inbounds %Cmp_Node, ptr %t72, i32 0, i32 4 %t74 = load ptr, ptr %t73 %t75 = call ptr @fn_res_made(ptr %t74) store ptr %t75, ptr %t76 %t78 = load ptr, ptr %t76 %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 %t77 br i1 %t81, label %sc16, label %scend17 sc16: %t83 = load ptr, ptr %t1 %t84 = getelementptr inbounds %Cmp_Node, ptr %t83, i32 0, i32 4 %t85 = load ptr, ptr %t84 %t86 = load ptr, ptr %t2 %t87 = getelementptr inbounds %Cmp_Node, ptr %t86, i32 0, i32 1 %t88 = load ptr, ptr %t87 %t89 = call i32 @fn_res_handed(ptr %t85, ptr %t88) %t90 = icmp eq i32 %t89, 0 %t91 = zext i1 %t90 to i32 %t92 = icmp ne i32 %t91, 0 %t93 = zext i1 %t92 to i32 store i32 %t93, ptr %t77 br label %scend17 scend17: %t94 = load i32, ptr %t77 %t95 = icmp ne i32 %t94, 0 br i1 %t95, label %then18, label %ifend20 then18: %t96 = load ptr, ptr %t0 %t97 = load ptr, ptr %t76 store i32 4447, ptr @lp_site %t98 = call ptr @lp_str_concat(ptr @.str7327, ptr %t97) store i32 0, ptr @lp_site store i32 4448, ptr @lp_site %t99 = call ptr @lp_str_concat(ptr %t98, ptr @.str7328) store i32 0, ptr @lp_site call void @lp_free(ptr %t98) %t100 = load ptr, ptr %t1 %t101 = getelementptr inbounds %Cmp_Node, ptr %t100, i32 0, i32 9 %t102 = load ptr, ptr %t101 store i32 4449, ptr @lp_site %t103 = call ptr @lp_str_concat(ptr %t99, ptr %t102) store i32 0, ptr @lp_site call void @lp_free(ptr %t99) store i32 4450, ptr @lp_site %t104 = call ptr @lp_str_concat(ptr %t103, ptr @.str7329) store i32 0, ptr @lp_site call void @lp_free(ptr %t103) %t105 = load ptr, ptr %t2 %t106 = getelementptr inbounds %Cmp_Node, ptr %t105, i32 0, i32 8 %t107 = load i32, ptr %t106 %t108 = call ptr @fn_itoa(i32 %t107) store i32 4451, ptr @lp_site %t109 = call ptr @lp_str_concat(ptr %t104, ptr %t108) store i32 0, ptr @lp_site call void @lp_free(ptr %t104) store i32 4452, ptr @lp_site %t110 = call ptr @lp_str_concat(ptr %t109, ptr @.str7330) store i32 0, ptr @lp_site call void @lp_free(ptr %t109) %t111 = load ptr, ptr %t1 %t112 = getelementptr inbounds %Cmp_Node, ptr %t111, i32 0, i32 1 %t113 = load ptr, ptr %t112 store i32 4453, ptr @lp_site %t114 = call ptr @lp_str_concat(ptr %t110, ptr %t113) store i32 0, ptr @lp_site call void @lp_free(ptr %t110) store i32 4454, ptr @lp_site %t115 = call ptr @lp_str_concat(ptr %t114, ptr @.str7331) store i32 0, ptr @lp_site call void @lp_free(ptr %t114) %t116 = load ptr, ptr %t2 %t117 = getelementptr inbounds %Cmp_Node, ptr %t116, i32 0, i32 1 %t118 = load ptr, ptr %t117 store i32 4455, ptr @lp_site %t119 = call ptr @lp_str_concat(ptr %t115, ptr %t118) store i32 0, ptr @lp_site call void @lp_free(ptr %t115) store i32 4456, ptr @lp_site %t120 = call ptr @lp_str_concat(ptr %t119, ptr @.str7332) store i32 0, ptr @lp_site call void @lp_free(ptr %t119) call void @fn_deps_line(ptr %t96, ptr %t120) %t121 = load i32, ptr @g_g_res_drops %t122 = add i32 %t121, 1 store i32 %t122, ptr @g_g_res_drops br label %ifend20 ifend20: br label %ifend15 ifend15: %t123 = load ptr, ptr %t0 %t124 = load ptr, ptr %t1 %t125 = load ptr, ptr %t2 %t126 = getelementptr inbounds %Cmp_Node, ptr %t125, i32 0, i32 4 %t127 = load ptr, ptr %t126 call void @fn_res_walk(ptr %t123, ptr %t124, ptr %t127) %t128 = load ptr, ptr %t0 %t129 = load ptr, ptr %t1 %t130 = load ptr, ptr %t2 %t131 = getelementptr inbounds %Cmp_Node, ptr %t130, i32 0, i32 5 %t132 = load ptr, ptr %t131 call void @fn_res_walk(ptr %t128, ptr %t129, ptr %t132) %t133 = load ptr, ptr %t0 %t134 = load ptr, ptr %t1 %t135 = load ptr, ptr %t2 %t136 = getelementptr inbounds %Cmp_Node, ptr %t135, i32 0, i32 6 %t137 = load ptr, ptr %t136 call void @fn_res_walk(ptr %t133, ptr %t134, ptr %t137) %t138 = load ptr, ptr %t2 %t139 = getelementptr inbounds %Cmp_Node, ptr %t138, i32 0, i32 7 %t140 = load ptr, ptr %t139 %t141 = icmp ne ptr %t140, null %t142 = zext i1 %t141 to i32 %t143 = icmp ne i32 %t142, 0 br i1 %t143, label %then21, label %ifend23 then21: store i32 0, ptr %t144 br label %wcond24 wcond24: %t145 = load i32, ptr %t144 %t146 = load ptr, ptr %t2 %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 1 %t150 = load i32, ptr %t149 %t151 = icmp slt i32 %t145, %t150 %t152 = zext i1 %t151 to i32 %t153 = icmp ne i32 %t152, 0 br i1 %t153, label %wbody25, label %wend26 wbody25: %t154 = load ptr, ptr %t0 %t155 = load ptr, ptr %t1 %t156 = load ptr, ptr %t2 %t157 = getelementptr inbounds %Cmp_Node, ptr %t156, i32 0, i32 7 %t158 = load ptr, ptr %t157 %t159 = load i32, ptr %t144 %t160 = getelementptr inbounds %LSlice, ptr %t158, i32 0, i32 0 %t161 = load ptr, ptr %t160 %t162 = getelementptr inbounds %LSlice, ptr %t158, i32 0, i32 1 %t163 = load i32, ptr %t162 %t164 = icmp ult i32 %t159, %t163 br i1 %t164, label %ixok27, label %ixbad28 ixbad28: store i32 4457, ptr @lp_site %t165 = call ptr @lp_win_stdio(i32 2) store i32 0, ptr @lp_site call i32 (ptr, ptr, ...) @fprintf(ptr %t165, ptr @.fmt_bounds, ptr @.str7333, i32 %t159, i32 %t163) call void @exit(i32 1) unreachable ixok27: %t166 = getelementptr inbounds ptr, ptr %t161, i32 %t159 %t167 = load ptr, ptr %t166 call void @fn_res_walk(ptr %t154, ptr %t155, ptr %t167) %t168 = load i32, ptr %t144 %t169 = add i32 %t168, 1 store i32 %t169, ptr %t144 br label %wcond24 wend26: br label %ifend23 ifend23: br label %ret ret: ret void } define void @fn_deps_resources(ptr %arg_f) { entry: %t0 = alloca ptr %t7 = alloca i32 %t25 = alloca ptr %t26 = alloca i32 %t27 = alloca i32 %t28 = alloca i32 store ptr %arg_f, ptr %t0 store i32 0, ptr @g_g_res_drops %t1 = load ptr, ptr @g_g_res_make_fn %t2 = getelementptr inbounds %LSlice, ptr %t1, i32 0, i32 1 %t3 = load i32, ptr %t2 %t4 = icmp sgt i32 %t3, 0 %t5 = zext i1 %t4 to i32 %t6 = icmp ne i32 %t5, 0 br i1 %t6, label %then0, label %ifend2 then0: store i32 0, ptr %t7 br label %wcond3 wcond3: %t8 = load i32, ptr %t7 %t9 = load ptr, ptr @g_prog %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_prog %t16 = load i32, ptr %t7 %t17 = getelementptr inbounds %LSlice, ptr %t15, i32 0, i32 0 %t18 = load ptr, ptr %t17 %t19 = getelementptr inbounds %LSlice, ptr %t15, i32 0, i32 1 %t20 = load i32, ptr %t19 %t21 = icmp ult i32 %t16, %t20 br i1 %t21, label %ixok6, label %ixbad7 ixbad7: store i32 4458, ptr @lp_site %t22 = call ptr @lp_win_stdio(i32 2) store i32 0, ptr @lp_site call i32 (ptr, ptr, ...) @fprintf(ptr %t22, ptr @.fmt_bounds, ptr @.str7334, i32 %t16, i32 %t20) call void @exit(i32 1) unreachable ixok6: %t23 = getelementptr inbounds ptr, ptr %t18, i32 %t16 %t24 = load ptr, ptr %t23 store ptr %t24, ptr %t25 %t29 = load ptr, ptr %t25 %t30 = getelementptr inbounds %Cmp_Node, ptr %t29, i32 0, i32 0 %t31 = load i32, ptr %t30 %t32 = icmp eq i32 %t31, 4 %t33 = zext i1 %t32 to i32 %t34 = icmp ne i32 %t33, 0 %t35 = zext i1 %t34 to i32 store i32 %t35, ptr %t28 br i1 %t34, label %scend9, label %sc8 sc8: %t36 = load ptr, ptr %t25 %t37 = getelementptr inbounds %Cmp_Node, ptr %t36, i32 0, i32 0 %t38 = load i32, ptr %t37 %t39 = icmp eq i32 %t38, 9 %t40 = zext i1 %t39 to i32 %t41 = icmp ne i32 %t40, 0 %t42 = zext i1 %t41 to i32 store i32 %t42, ptr %t28 br label %scend9 scend9: %t43 = load i32, ptr %t28 %t44 = icmp ne i32 %t43, 0 %t45 = zext i1 %t44 to i32 store i32 %t45, ptr %t27 br i1 %t44, label %sc10, label %scend11 sc10: %t46 = load ptr, ptr %t25 %t47 = getelementptr inbounds %Cmp_Node, ptr %t46, i32 0, i32 9 %t48 = load ptr, ptr %t47 %t49 = icmp ne ptr %t48, null %t50 = zext i1 %t49 to i32 %t51 = icmp ne i32 %t50, 0 %t52 = zext i1 %t51 to i32 store i32 %t52, ptr %t27 br label %scend11 scend11: %t53 = load i32, ptr %t27 %t54 = icmp ne i32 %t53, 0 %t55 = zext i1 %t54 to i32 store i32 %t55, ptr %t26 br i1 %t54, label %sc12, label %scend13 sc12: %t56 = load ptr, ptr %t25 %t57 = getelementptr inbounds %Cmp_Node, ptr %t56, i32 0, i32 9 %t58 = load ptr, ptr %t57 %t59 = call i32 @fn_is_runtime_file(ptr %t58) %t60 = icmp eq i32 %t59, 0 %t61 = zext i1 %t60 to i32 %t62 = icmp ne i32 %t61, 0 %t63 = zext i1 %t62 to i32 store i32 %t63, ptr %t26 br label %scend13 scend13: %t64 = load i32, ptr %t26 %t65 = icmp ne i32 %t64, 0 br i1 %t65, label %then14, label %ifend16 then14: %t66 = load ptr, ptr %t0 %t67 = load ptr, ptr %t25 %t68 = load ptr, ptr %t25 %t69 = getelementptr inbounds %Cmp_Node, ptr %t68, i32 0, i32 4 %t70 = load ptr, ptr %t69 call void @fn_res_walk(ptr %t66, ptr %t67, ptr %t70) br label %ifend16 ifend16: %t71 = load i32, ptr %t7 %t72 = add i32 %t71, 1 store i32 %t72, ptr %t7 br label %wcond3 wend5: br label %ifend2 ifend2: %t73 = load ptr, ptr %t0 %t74 = load i32, ptr @g_g_res_drops %t75 = call ptr @fn_itoa(i32 %t74) store i32 4459, ptr @lp_site %t76 = call ptr @lp_str_concat(ptr @.str7336, ptr %t75) store i32 0, ptr @lp_site call void @fn_deps_line(ptr %t73, ptr %t76) br label %ret ret: ret void } define i32 @fn_res_is_release(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_res_free_fn %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_res_free_fn %t10 = load i32, ptr %t1 %t11 = getelementptr inbounds %LSlice, ptr %t9, i32 0, i32 0 %t12 = load ptr, ptr %t11 %t13 = getelementptr inbounds %LSlice, ptr %t9, i32 0, i32 1 %t14 = load i32, ptr %t13 %t15 = icmp ult i32 %t10, %t14 br i1 %t15, label %ixok3, label %ixbad4 ixbad4: store i32 4460, ptr @lp_site %t16 = call ptr @lp_win_stdio(i32 2) store i32 0, ptr @lp_site call i32 (ptr, ptr, ...) @fprintf(ptr %t16, ptr @.fmt_bounds, ptr @.str7337, i32 %t10, i32 %t14) call void @exit(i32 1) unreachable ixok3: %t17 = getelementptr inbounds ptr, ptr %t12, i32 %t10 %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 br i1 %t21, label %then5, label %ifend7 then5: store i32 1, ptr %retval br label %ret ifend7: %t22 = load i32, ptr %t1 %t23 = add i32 %t22, 1 store i32 %t23, ptr %t1 br label %wcond0 wend2: store i32 0, ptr %retval br label %ret ret: %t24 = load i32, ptr %retval ret i32 %t24 } define void @fn_own_collect(ptr %arg_n, ptr %arg_rel_b, ptr %arg_rel_f, ptr %arg_all_b, ptr %arg_all_f, ptr %arg_rel_line) { entry: %t0 = alloca ptr %t1 = alloca ptr %t2 = alloca ptr %t3 = alloca ptr %t4 = alloca ptr %t5 = alloca ptr %t10 = alloca i32 %t11 = alloca i32 %t12 = alloca i32 %t57 = alloca i32 %t58 = alloca i32 %t80 = alloca ptr %t81 = alloca i32 %t82 = alloca i32 %t83 = alloca i32 %t84 = alloca i32 %t279 = alloca i32 store ptr %arg_n, ptr %t0 store ptr %arg_rel_b, ptr %t1 store ptr %arg_rel_f, ptr %t2 store ptr %arg_all_b, ptr %t3 store ptr %arg_all_f, ptr %t4 store ptr %arg_rel_line, ptr %t5 %t6 = load ptr, ptr %t0 %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: br label %ret ifend2: %t13 = load ptr, ptr %t0 %t14 = getelementptr inbounds %Cmp_Node, ptr %t13, i32 0, i32 0 %t15 = load i32, ptr %t14 %t16 = icmp eq i32 %t15, 34 %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 %sc3, label %scend4 sc3: %t20 = load ptr, ptr %t0 %t21 = getelementptr inbounds %Cmp_Node, ptr %t20, i32 0, i32 4 %t22 = load ptr, ptr %t21 %t23 = icmp ne ptr %t22, null %t24 = zext i1 %t23 to i32 %t25 = icmp ne i32 %t24, 0 %t26 = zext i1 %t25 to i32 store i32 %t26, ptr %t12 br label %scend4 scend4: %t27 = load i32, ptr %t12 %t28 = icmp ne i32 %t27, 0 %t29 = zext i1 %t28 to i32 store i32 %t29, ptr %t11 br i1 %t28, label %sc5, label %scend6 sc5: %t30 = load ptr, ptr %t0 %t31 = getelementptr inbounds %Cmp_Node, ptr %t30, i32 0, i32 4 %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, 33 %t36 = zext i1 %t35 to i32 %t37 = icmp ne i32 %t36, 0 %t38 = zext i1 %t37 to i32 store i32 %t38, ptr %t11 br label %scend6 scend6: %t39 = load i32, ptr %t11 %t40 = icmp ne i32 %t39, 0 %t41 = zext i1 %t40 to i32 store i32 %t41, ptr %t10 br i1 %t40, label %sc7, label %scend8 sc7: %t42 = load ptr, ptr %t0 %t43 = getelementptr inbounds %Cmp_Node, ptr %t42, i32 0, i32 7 %t44 = load ptr, ptr %t43 %t45 = icmp ne ptr %t44, null %t46 = zext i1 %t45 to i32 %t47 = icmp ne i32 %t46, 0 %t48 = zext i1 %t47 to i32 store i32 %t48, ptr %t10 br label %scend8 scend8: %t49 = load i32, ptr %t10 %t50 = icmp ne i32 %t49, 0 br i1 %t50, label %then9, label %ifend11 then9: %t51 = load ptr, ptr %t0 %t52 = getelementptr inbounds %Cmp_Node, ptr %t51, i32 0, i32 4 %t53 = load ptr, ptr %t52 %t54 = getelementptr inbounds %Cmp_Node, ptr %t53, i32 0, i32 1 %t55 = load ptr, ptr %t54 %t56 = call i32 @fn_res_is_release(ptr %t55) store i32 %t56, ptr %t57 store i32 0, ptr %t58 br label %wcond12 wcond12: %t59 = load i32, ptr %t58 %t60 = load ptr, ptr %t0 %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 %wbody13, label %wend14 wbody13: %t68 = load ptr, ptr %t0 %t69 = getelementptr inbounds %Cmp_Node, ptr %t68, i32 0, i32 7 %t70 = load ptr, ptr %t69 %t71 = load i32, ptr %t58 %t72 = getelementptr inbounds %LSlice, ptr %t70, i32 0, i32 0 %t73 = load ptr, ptr %t72 %t74 = getelementptr inbounds %LSlice, ptr %t70, i32 0, i32 1 %t75 = load i32, ptr %t74 %t76 = icmp ult i32 %t71, %t75 br i1 %t76, label %ixok15, label %ixbad16 ixbad16: store i32 4461, ptr @lp_site %t77 = call ptr @lp_win_stdio(i32 2) store i32 0, ptr @lp_site call i32 (ptr, ptr, ...) @fprintf(ptr %t77, ptr @.fmt_bounds, ptr @.str7339, i32 %t71, i32 %t75) call void @exit(i32 1) unreachable ixok15: %t78 = getelementptr inbounds ptr, ptr %t73, i32 %t71 %t79 = load ptr, ptr %t78 store ptr %t79, ptr %t80 %t85 = load ptr, ptr %t80 %t86 = icmp ne ptr %t85, null %t87 = zext i1 %t86 to i32 %t88 = icmp ne i32 %t87, 0 %t89 = zext i1 %t88 to i32 store i32 %t89, ptr %t84 br i1 %t88, label %sc17, label %scend18 sc17: %t90 = load ptr, ptr %t80 %t91 = getelementptr inbounds %Cmp_Node, ptr %t90, i32 0, i32 0 %t92 = load i32, ptr %t91 %t93 = icmp eq i32 %t92, 35 %t94 = zext i1 %t93 to i32 %t95 = icmp ne i32 %t94, 0 %t96 = zext i1 %t95 to i32 store i32 %t96, ptr %t84 br label %scend18 scend18: %t97 = load i32, ptr %t84 %t98 = icmp ne i32 %t97, 0 %t99 = zext i1 %t98 to i32 store i32 %t99, ptr %t83 br i1 %t98, label %sc19, label %scend20 sc19: %t100 = load ptr, ptr %t80 %t101 = getelementptr inbounds %Cmp_Node, ptr %t100, i32 0, i32 4 %t102 = load ptr, ptr %t101 %t103 = icmp ne ptr %t102, null %t104 = zext i1 %t103 to i32 %t105 = icmp ne i32 %t104, 0 %t106 = zext i1 %t105 to i32 store i32 %t106, ptr %t83 br label %scend20 scend20: %t107 = load i32, ptr %t83 %t108 = icmp ne i32 %t107, 0 %t109 = zext i1 %t108 to i32 store i32 %t109, ptr %t82 br i1 %t108, label %sc21, label %scend22 sc21: %t110 = load ptr, ptr %t80 %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 0 %t114 = load i32, ptr %t113 %t115 = icmp eq i32 %t114, 33 %t116 = zext i1 %t115 to i32 %t117 = icmp ne i32 %t116, 0 %t118 = zext i1 %t117 to i32 store i32 %t118, ptr %t82 br label %scend22 scend22: %t119 = load i32, ptr %t82 %t120 = icmp ne i32 %t119, 0 %t121 = zext i1 %t120 to i32 store i32 %t121, ptr %t81 br i1 %t120, label %sc23, label %scend24 sc23: %t122 = load ptr, ptr %t80 %t123 = getelementptr inbounds %Cmp_Node, ptr %t122, i32 0, i32 1 %t124 = load ptr, ptr %t123 %t125 = icmp ne ptr %t124, null %t126 = zext i1 %t125 to i32 %t127 = icmp ne i32 %t126, 0 %t128 = zext i1 %t127 to i32 store i32 %t128, ptr %t81 br label %scend24 scend24: %t129 = load i32, ptr %t81 %t130 = icmp ne i32 %t129, 0 br i1 %t130, label %then25, label %ifend27 then25: %t131 = load ptr, ptr %t3 %t132 = load ptr, ptr %t80 %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 = getelementptr inbounds %LSlice, ptr %t131, i32 0, i32 1 %t138 = getelementptr inbounds %LSlice, ptr %t131, i32 0, i32 2 %t139 = getelementptr inbounds %LSlice, ptr %t131, i32 0, i32 0 %t140 = load i32, ptr %t137 %t141 = load i32, ptr %t138 %t142 = icmp sge i32 %t140, %t141 br i1 %t142, label %grow28, label %put29 grow28: %t143 = mul i32 %t141, 2 %t144 = icmp eq i32 %t141, 0 %t145 = select i1 %t144, i32 8, i32 %t143 %t146 = getelementptr ptr, ptr null, i32 1 %t147 = ptrtoint ptr %t146 to i64 %t148 = zext i32 %t145 to i64 %t149 = mul i64 %t148, %t147 %t150 = load ptr, ptr %t139 store i32 4462, ptr @lp_site %t151 = call ptr @lp_realloc(ptr %t150, i64 %t149) store i32 0, ptr @lp_site store ptr %t151, ptr %t139 store i32 %t145, ptr %t138 br label %put29 put29: %t152 = load ptr, ptr %t139 %t153 = getelementptr inbounds ptr, ptr %t152, i32 %t140 store ptr %t136, ptr %t153 %t154 = add i32 %t140, 1 store i32 %t154, ptr %t137 %t155 = load ptr, ptr %t4 %t156 = load ptr, ptr %t80 %t157 = getelementptr inbounds %Cmp_Node, ptr %t156, i32 0, i32 1 %t158 = load ptr, ptr %t157 %t159 = getelementptr inbounds %LSlice, ptr %t155, i32 0, i32 1 %t160 = getelementptr inbounds %LSlice, ptr %t155, i32 0, i32 2 %t161 = getelementptr inbounds %LSlice, ptr %t155, i32 0, i32 0 %t162 = load i32, ptr %t159 %t163 = load i32, ptr %t160 %t164 = icmp sge i32 %t162, %t163 br i1 %t164, label %grow30, label %put31 grow30: %t165 = mul i32 %t163, 2 %t166 = icmp eq i32 %t163, 0 %t167 = select i1 %t166, i32 8, i32 %t165 %t168 = getelementptr ptr, ptr null, i32 1 %t169 = ptrtoint ptr %t168 to i64 %t170 = zext i32 %t167 to i64 %t171 = mul i64 %t170, %t169 %t172 = load ptr, ptr %t161 store i32 4463, ptr @lp_site %t173 = call ptr @lp_realloc(ptr %t172, i64 %t171) store i32 0, ptr @lp_site store ptr %t173, ptr %t161 store i32 %t167, ptr %t160 br label %put31 put31: %t174 = load ptr, ptr %t161 %t175 = getelementptr inbounds ptr, ptr %t174, i32 %t162 store ptr %t158, ptr %t175 %t176 = add i32 %t162, 1 store i32 %t176, ptr %t159 %t177 = load i32, ptr %t57 %t178 = icmp ne i32 %t177, 0 br i1 %t178, label %then32, label %ifend34 then32: %t179 = load ptr, ptr %t1 %t180 = load ptr, ptr %t80 %t181 = getelementptr inbounds %Cmp_Node, ptr %t180, i32 0, i32 4 %t182 = load ptr, ptr %t181 %t183 = getelementptr inbounds %Cmp_Node, ptr %t182, i32 0, i32 1 %t184 = load ptr, ptr %t183 %t185 = getelementptr inbounds %LSlice, ptr %t179, i32 0, i32 1 %t186 = getelementptr inbounds %LSlice, ptr %t179, i32 0, i32 2 %t187 = getelementptr inbounds %LSlice, ptr %t179, i32 0, i32 0 %t188 = load i32, ptr %t185 %t189 = load i32, ptr %t186 %t190 = icmp sge i32 %t188, %t189 br i1 %t190, label %grow35, label %put36 grow35: %t191 = mul i32 %t189, 2 %t192 = icmp eq i32 %t189, 0 %t193 = select i1 %t192, i32 8, i32 %t191 %t194 = getelementptr ptr, ptr null, i32 1 %t195 = ptrtoint ptr %t194 to i64 %t196 = zext i32 %t193 to i64 %t197 = mul i64 %t196, %t195 %t198 = load ptr, ptr %t187 store i32 4464, ptr @lp_site %t199 = call ptr @lp_realloc(ptr %t198, i64 %t197) store i32 0, ptr @lp_site store ptr %t199, ptr %t187 store i32 %t193, ptr %t186 br label %put36 put36: %t200 = load ptr, ptr %t187 %t201 = getelementptr inbounds ptr, ptr %t200, i32 %t188 store ptr %t184, ptr %t201 %t202 = add i32 %t188, 1 store i32 %t202, ptr %t185 %t203 = load ptr, ptr %t2 %t204 = load ptr, ptr %t80 %t205 = getelementptr inbounds %Cmp_Node, ptr %t204, i32 0, i32 1 %t206 = load ptr, ptr %t205 %t207 = getelementptr inbounds %LSlice, ptr %t203, i32 0, i32 1 %t208 = getelementptr inbounds %LSlice, ptr %t203, i32 0, i32 2 %t209 = getelementptr inbounds %LSlice, ptr %t203, i32 0, i32 0 %t210 = load i32, ptr %t207 %t211 = load i32, ptr %t208 %t212 = icmp sge i32 %t210, %t211 br i1 %t212, label %grow37, label %put38 grow37: %t213 = mul i32 %t211, 2 %t214 = icmp eq i32 %t211, 0 %t215 = select i1 %t214, i32 8, i32 %t213 %t216 = getelementptr ptr, ptr null, i32 1 %t217 = ptrtoint ptr %t216 to i64 %t218 = zext i32 %t215 to i64 %t219 = mul i64 %t218, %t217 %t220 = load ptr, ptr %t209 store i32 4465, ptr @lp_site %t221 = call ptr @lp_realloc(ptr %t220, i64 %t219) store i32 0, ptr @lp_site store ptr %t221, ptr %t209 store i32 %t215, ptr %t208 br label %put38 put38: %t222 = load ptr, ptr %t209 %t223 = getelementptr inbounds ptr, ptr %t222, i32 %t210 store ptr %t206, ptr %t223 %t224 = add i32 %t210, 1 store i32 %t224, ptr %t207 %t225 = load ptr, ptr %t5 %t226 = load ptr, ptr %t0 %t227 = getelementptr inbounds %Cmp_Node, ptr %t226, i32 0, i32 8 %t228 = load i32, ptr %t227 %t229 = getelementptr inbounds %LSlice, ptr %t225, i32 0, i32 1 %t230 = getelementptr inbounds %LSlice, ptr %t225, i32 0, i32 2 %t231 = getelementptr inbounds %LSlice, ptr %t225, i32 0, i32 0 %t232 = load i32, ptr %t229 %t233 = load i32, ptr %t230 %t234 = icmp sge i32 %t232, %t233 br i1 %t234, label %grow39, label %put40 grow39: %t235 = mul i32 %t233, 2 %t236 = icmp eq i32 %t233, 0 %t237 = select i1 %t236, i32 8, i32 %t235 %t238 = getelementptr i32, 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 store i32 4466, ptr @lp_site %t243 = call ptr @lp_realloc(ptr %t242, i64 %t241) store i32 0, ptr @lp_site store ptr %t243, ptr %t231 store i32 %t237, ptr %t230 br label %put40 put40: %t244 = load ptr, ptr %t231 %t245 = getelementptr inbounds i32, ptr %t244, i32 %t232 store i32 %t228, ptr %t245 %t246 = add i32 %t232, 1 store i32 %t246, ptr %t229 br label %ifend34 ifend34: br label %ifend27 ifend27: %t247 = load i32, ptr %t58 %t248 = add i32 %t247, 1 store i32 %t248, ptr %t58 br label %wcond12 wend14: br label %ifend11 ifend11: %t249 = load ptr, ptr %t0 %t250 = getelementptr inbounds %Cmp_Node, ptr %t249, i32 0, i32 4 %t251 = load ptr, ptr %t250 %t252 = load ptr, ptr %t1 %t253 = load ptr, ptr %t2 %t254 = load ptr, ptr %t3 %t255 = load ptr, ptr %t4 %t256 = load ptr, ptr %t5 call void @fn_own_collect(ptr %t251, ptr %t252, ptr %t253, ptr %t254, ptr %t255, ptr %t256) %t257 = load ptr, ptr %t0 %t258 = getelementptr inbounds %Cmp_Node, ptr %t257, i32 0, i32 5 %t259 = load ptr, ptr %t258 %t260 = load ptr, ptr %t1 %t261 = load ptr, ptr %t2 %t262 = load ptr, ptr %t3 %t263 = load ptr, ptr %t4 %t264 = load ptr, ptr %t5 call void @fn_own_collect(ptr %t259, ptr %t260, ptr %t261, ptr %t262, ptr %t263, ptr %t264) %t265 = load ptr, ptr %t0 %t266 = getelementptr inbounds %Cmp_Node, ptr %t265, i32 0, i32 6 %t267 = load ptr, ptr %t266 %t268 = load ptr, ptr %t1 %t269 = load ptr, ptr %t2 %t270 = load ptr, ptr %t3 %t271 = load ptr, ptr %t4 %t272 = load ptr, ptr %t5 call void @fn_own_collect(ptr %t267, ptr %t268, ptr %t269, ptr %t270, ptr %t271, ptr %t272) %t273 = load ptr, ptr %t0 %t274 = getelementptr inbounds %Cmp_Node, ptr %t273, i32 0, i32 7 %t275 = load ptr, ptr %t274 %t276 = icmp ne ptr %t275, null %t277 = zext i1 %t276 to i32 %t278 = icmp ne i32 %t277, 0 br i1 %t278, label %then41, label %ifend43 then41: store i32 0, ptr %t279 br label %wcond44 wcond44: %t280 = load i32, ptr %t279 %t281 = load ptr, ptr %t0 %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 1 %t285 = load i32, ptr %t284 %t286 = icmp slt i32 %t280, %t285 %t287 = zext i1 %t286 to i32 %t288 = icmp ne i32 %t287, 0 br i1 %t288, label %wbody45, label %wend46 wbody45: %t289 = load ptr, ptr %t0 %t290 = getelementptr inbounds %Cmp_Node, ptr %t289, i32 0, i32 7 %t291 = load ptr, ptr %t290 %t292 = load i32, ptr %t279 %t293 = getelementptr inbounds %LSlice, ptr %t291, i32 0, i32 0 %t294 = load ptr, ptr %t293 %t295 = getelementptr inbounds %LSlice, ptr %t291, i32 0, i32 1 %t296 = load i32, ptr %t295 %t297 = icmp ult i32 %t292, %t296 br i1 %t297, label %ixok47, label %ixbad48 ixbad48: store i32 4467, ptr @lp_site %t298 = call ptr @lp_win_stdio(i32 2) store i32 0, ptr @lp_site call i32 (ptr, ptr, ...) @fprintf(ptr %t298, ptr @.fmt_bounds, ptr @.str7341, i32 %t292, i32 %t296) call void @exit(i32 1) unreachable ixok47: %t299 = getelementptr inbounds ptr, ptr %t294, i32 %t292 %t300 = load ptr, ptr %t299 %t301 = load ptr, ptr %t1 %t302 = load ptr, ptr %t2 %t303 = load ptr, ptr %t3 %t304 = load ptr, ptr %t4 %t305 = load ptr, ptr %t5 call void @fn_own_collect(ptr %t300, ptr %t301, ptr %t302, ptr %t303, ptr %t304, ptr %t305) %t306 = load i32, ptr %t279 %t307 = add i32 %t306, 1 store i32 %t307, ptr %t279 br label %wcond44 wend46: br label %ifend43 ifend43: br label %ret ret: ret void } define i32 @fn_own_has(ptr %arg_bs, ptr %arg_fs, ptr %arg_b, ptr %arg_f) { entry: %retval = alloca i32 %t0 = alloca ptr %t1 = alloca ptr %t2 = alloca ptr %t3 = alloca ptr %t4 = alloca i32 %t12 = alloca i32 store ptr %arg_bs, ptr %t0 store ptr %arg_fs, ptr %t1 store ptr %arg_b, ptr %t2 store ptr %arg_f, ptr %t3 store i32 0, ptr %t4 br label %wcond0 wcond0: %t5 = load i32, ptr %t4 %t6 = load ptr, ptr %t0 %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 %t0 %t14 = load i32, ptr %t4 %t15 = getelementptr inbounds %LSlice, ptr %t13, i32 0, i32 0 %t16 = load ptr, ptr %t15 %t17 = getelementptr inbounds %LSlice, ptr %t13, i32 0, i32 1 %t18 = load i32, ptr %t17 %t19 = icmp ult i32 %t14, %t18 br i1 %t19, label %ixok3, label %ixbad4 ixbad4: store i32 4468, ptr @lp_site %t20 = call ptr @lp_win_stdio(i32 2) store i32 0, ptr @lp_site call i32 (ptr, ptr, ...) @fprintf(ptr %t20, ptr @.fmt_bounds, ptr @.str7342, i32 %t14, i32 %t18) call void @exit(i32 1) unreachable ixok3: %t21 = getelementptr inbounds ptr, ptr %t16, i32 %t14 %t22 = load ptr, ptr %t21 %t23 = load ptr, ptr %t2 %t24 = call i32 @lp_str_eq(ptr %t22, ptr %t23) %t25 = icmp ne i32 %t24, 0 %t26 = zext i1 %t25 to i32 store i32 %t26, ptr %t12 br i1 %t25, label %sc5, label %scend6 sc5: %t27 = load ptr, ptr %t1 %t28 = load i32, ptr %t4 %t29 = getelementptr inbounds %LSlice, ptr %t27, i32 0, i32 0 %t30 = load ptr, ptr %t29 %t31 = getelementptr inbounds %LSlice, ptr %t27, i32 0, i32 1 %t32 = load i32, ptr %t31 %t33 = icmp ult i32 %t28, %t32 br i1 %t33, label %ixok7, label %ixbad8 ixbad8: store i32 4469, ptr @lp_site %t34 = call ptr @lp_win_stdio(i32 2) store i32 0, ptr @lp_site call i32 (ptr, ptr, ...) @fprintf(ptr %t34, ptr @.fmt_bounds, ptr @.str7344, i32 %t28, i32 %t32) call void @exit(i32 1) unreachable ixok7: %t35 = getelementptr inbounds ptr, ptr %t30, i32 %t28 %t36 = load ptr, ptr %t35 %t37 = load ptr, ptr %t3 %t38 = call i32 @lp_str_eq(ptr %t36, ptr %t37) %t39 = icmp ne i32 %t38, 0 %t40 = zext i1 %t39 to i32 store i32 %t40, ptr %t12 br label %scend6 scend6: %t41 = load i32, ptr %t12 %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 %t4 %t44 = add i32 %t43, 1 store i32 %t44, ptr %t4 br label %wcond0 wend2: store i32 0, ptr %retval br label %ret ret: %t45 = load i32, ptr %retval ret i32 %t45 } define void @fn_deps_owned(ptr %arg_f) { entry: %t0 = alloca ptr %t7 = alloca i32 %t25 = alloca ptr %t26 = alloca i32 %t27 = alloca i32 %t28 = alloca i32 %t72 = alloca ptr %t79 = alloca ptr %t86 = alloca ptr %t93 = alloca ptr %t100 = alloca ptr %t109 = alloca i32 %t117 = alloca i32 %t147 = alloca i32 %t155 = alloca i32 %t156 = alloca i32 store ptr %arg_f, ptr %t0 store i32 0, ptr @g_g_own_leaks %t1 = load ptr, ptr @g_g_own_field %t2 = getelementptr inbounds %LSlice, ptr %t1, i32 0, i32 1 %t3 = load i32, ptr %t2 %t4 = icmp sgt i32 %t3, 0 %t5 = zext i1 %t4 to i32 %t6 = icmp ne i32 %t5, 0 br i1 %t6, label %then0, label %ifend2 then0: store i32 0, ptr %t7 br label %wcond3 wcond3: %t8 = load i32, ptr %t7 %t9 = load ptr, ptr @g_prog %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_prog %t16 = load i32, ptr %t7 %t17 = getelementptr inbounds %LSlice, ptr %t15, i32 0, i32 0 %t18 = load ptr, ptr %t17 %t19 = getelementptr inbounds %LSlice, ptr %t15, i32 0, i32 1 %t20 = load i32, ptr %t19 %t21 = icmp ult i32 %t16, %t20 br i1 %t21, label %ixok6, label %ixbad7 ixbad7: store i32 4470, ptr @lp_site %t22 = call ptr @lp_win_stdio(i32 2) store i32 0, ptr @lp_site call i32 (ptr, ptr, ...) @fprintf(ptr %t22, ptr @.fmt_bounds, ptr @.str7345, i32 %t16, i32 %t20) call void @exit(i32 1) unreachable ixok6: %t23 = getelementptr inbounds ptr, ptr %t18, i32 %t16 %t24 = load ptr, ptr %t23 store ptr %t24, ptr %t25 %t29 = load ptr, ptr %t25 %t30 = getelementptr inbounds %Cmp_Node, ptr %t29, i32 0, i32 0 %t31 = load i32, ptr %t30 %t32 = icmp eq i32 %t31, 4 %t33 = zext i1 %t32 to i32 %t34 = icmp ne i32 %t33, 0 %t35 = zext i1 %t34 to i32 store i32 %t35, ptr %t28 br i1 %t34, label %scend9, label %sc8 sc8: %t36 = load ptr, ptr %t25 %t37 = getelementptr inbounds %Cmp_Node, ptr %t36, i32 0, i32 0 %t38 = load i32, ptr %t37 %t39 = icmp eq i32 %t38, 9 %t40 = zext i1 %t39 to i32 %t41 = icmp ne i32 %t40, 0 %t42 = zext i1 %t41 to i32 store i32 %t42, ptr %t28 br label %scend9 scend9: %t43 = load i32, ptr %t28 %t44 = icmp ne i32 %t43, 0 %t45 = zext i1 %t44 to i32 store i32 %t45, ptr %t27 br i1 %t44, label %sc10, label %scend11 sc10: %t46 = load ptr, ptr %t25 %t47 = getelementptr inbounds %Cmp_Node, ptr %t46, i32 0, i32 9 %t48 = load ptr, ptr %t47 %t49 = icmp ne ptr %t48, null %t50 = zext i1 %t49 to i32 %t51 = icmp ne i32 %t50, 0 %t52 = zext i1 %t51 to i32 store i32 %t52, ptr %t27 br label %scend11 scend11: %t53 = load i32, ptr %t27 %t54 = icmp ne i32 %t53, 0 %t55 = zext i1 %t54 to i32 store i32 %t55, ptr %t26 br i1 %t54, label %sc12, label %scend13 sc12: %t56 = load ptr, ptr %t25 %t57 = getelementptr inbounds %Cmp_Node, ptr %t56, i32 0, i32 9 %t58 = load ptr, ptr %t57 %t59 = call i32 @fn_is_runtime_file(ptr %t58) %t60 = icmp eq i32 %t59, 0 %t61 = zext i1 %t60 to i32 %t62 = icmp ne i32 %t61, 0 %t63 = zext i1 %t62 to i32 store i32 %t63, ptr %t26 br label %scend13 scend13: %t64 = load i32, ptr %t26 %t65 = icmp ne i32 %t64, 0 br i1 %t65, label %then14, label %ifend16 then14: %t66 = getelementptr %LSlice, ptr null, i32 1 %t67 = ptrtoint ptr %t66 to i64 store i32 4471, ptr @lp_site %t68 = call ptr @lp_malloc(i64 %t67) store i32 0, ptr @lp_site %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 %t72 %t73 = getelementptr %LSlice, ptr null, i32 1 %t74 = ptrtoint ptr %t73 to i64 store i32 4472, ptr @lp_site %t75 = call ptr @lp_malloc(i64 %t74) store i32 0, ptr @lp_site %t76 = getelementptr inbounds %LSlice, ptr %t75, i32 0, i32 0 store ptr null, ptr %t76 %t77 = getelementptr inbounds %LSlice, ptr %t75, i32 0, i32 1 store i32 0, ptr %t77 %t78 = getelementptr inbounds %LSlice, ptr %t75, i32 0, i32 2 store i32 0, ptr %t78 store ptr %t75, ptr %t79 %t80 = getelementptr %LSlice, ptr null, i32 1 %t81 = ptrtoint ptr %t80 to i64 store i32 4473, ptr @lp_site %t82 = call ptr @lp_malloc(i64 %t81) store i32 0, ptr @lp_site %t83 = getelementptr inbounds %LSlice, ptr %t82, i32 0, i32 0 store ptr null, ptr %t83 %t84 = getelementptr inbounds %LSlice, ptr %t82, i32 0, i32 1 store i32 0, ptr %t84 %t85 = getelementptr inbounds %LSlice, ptr %t82, i32 0, i32 2 store i32 0, ptr %t85 store ptr %t82, ptr %t86 %t87 = getelementptr %LSlice, ptr null, i32 1 %t88 = ptrtoint ptr %t87 to i64 store i32 4474, ptr @lp_site %t89 = call ptr @lp_malloc(i64 %t88) store i32 0, ptr @lp_site %t90 = getelementptr inbounds %LSlice, ptr %t89, i32 0, i32 0 store ptr null, ptr %t90 %t91 = getelementptr inbounds %LSlice, ptr %t89, i32 0, i32 1 store i32 0, ptr %t91 %t92 = getelementptr inbounds %LSlice, ptr %t89, i32 0, i32 2 store i32 0, ptr %t92 store ptr %t89, ptr %t93 %t94 = getelementptr %LSlice, ptr null, i32 1 %t95 = ptrtoint ptr %t94 to i64 store i32 4475, ptr @lp_site %t96 = call ptr @lp_malloc(i64 %t95) store i32 0, ptr @lp_site %t97 = getelementptr inbounds %LSlice, ptr %t96, i32 0, i32 0 store ptr null, ptr %t97 %t98 = getelementptr inbounds %LSlice, ptr %t96, i32 0, i32 1 store i32 0, ptr %t98 %t99 = getelementptr inbounds %LSlice, ptr %t96, i32 0, i32 2 store i32 0, ptr %t99 store ptr %t96, ptr %t100 %t101 = load ptr, ptr %t25 %t102 = getelementptr inbounds %Cmp_Node, ptr %t101, i32 0, i32 4 %t103 = load ptr, ptr %t102 %t104 = load ptr, ptr %t72 %t105 = load ptr, ptr %t79 %t106 = load ptr, ptr %t93 %t107 = load ptr, ptr %t100 %t108 = load ptr, ptr %t86 call void @fn_own_collect(ptr %t103, ptr %t104, ptr %t105, ptr %t106, ptr %t107, ptr %t108) store i32 0, ptr %t109 br label %wcond17 wcond17: %t110 = load i32, ptr %t109 %t111 = load ptr, ptr %t72 %t112 = getelementptr inbounds %LSlice, ptr %t111, i32 0, i32 1 %t113 = load i32, ptr %t112 %t114 = icmp slt i32 %t110, %t113 %t115 = zext i1 %t114 to i32 %t116 = icmp ne i32 %t115, 0 br i1 %t116, label %wbody18, label %wend19 wbody18: store i32 0, ptr %t117 br label %wcond20 wcond20: %t118 = load i32, ptr %t117 %t119 = load ptr, ptr @g_g_own_field %t120 = getelementptr inbounds %LSlice, ptr %t119, i32 0, i32 1 %t121 = load i32, ptr %t120 %t122 = icmp slt i32 %t118, %t121 %t123 = zext i1 %t122 to i32 %t124 = icmp ne i32 %t123, 0 br i1 %t124, label %wbody21, label %wend22 wbody21: %t125 = load ptr, ptr @g_g_own_field %t126 = load i32, ptr %t117 %t127 = getelementptr inbounds %LSlice, ptr %t125, i32 0, i32 0 %t128 = load ptr, ptr %t127 %t129 = getelementptr inbounds %LSlice, ptr %t125, i32 0, i32 1 %t130 = load i32, ptr %t129 %t131 = icmp ult i32 %t126, %t130 br i1 %t131, label %ixok23, label %ixbad24 ixbad24: store i32 4476, ptr @lp_site %t132 = call ptr @lp_win_stdio(i32 2) store i32 0, ptr @lp_site call i32 (ptr, ptr, ...) @fprintf(ptr %t132, ptr @.fmt_bounds, ptr @.str7347, i32 %t126, i32 %t130) call void @exit(i32 1) unreachable ixok23: %t133 = getelementptr inbounds ptr, ptr %t128, i32 %t126 %t134 = load ptr, ptr %t133 %t135 = load ptr, ptr %t79 %t136 = load i32, ptr %t109 %t137 = getelementptr inbounds %LSlice, ptr %t135, i32 0, i32 0 %t138 = load ptr, ptr %t137 %t139 = getelementptr inbounds %LSlice, ptr %t135, i32 0, i32 1 %t140 = load i32, ptr %t139 %t141 = icmp ult i32 %t136, %t140 br i1 %t141, label %ixok25, label %ixbad26 ixbad26: store i32 4477, ptr @lp_site %t142 = call ptr @lp_win_stdio(i32 2) store i32 0, ptr @lp_site call i32 (ptr, ptr, ...) @fprintf(ptr %t142, ptr @.fmt_bounds, ptr @.str7348, i32 %t136, i32 %t140) call void @exit(i32 1) unreachable ixok25: %t143 = getelementptr inbounds ptr, ptr %t138, i32 %t136 %t144 = load ptr, ptr %t143 %t145 = call i32 @lp_str_eq(ptr %t134, ptr %t144) %t146 = icmp ne i32 %t145, 0 br i1 %t146, label %then27, label %ifend29 then27: store i32 0, ptr %t147 br label %wcond30 wcond30: %t148 = load i32, ptr %t147 %t149 = load ptr, ptr @g_g_own_field %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 %wbody31, label %wend32 wbody31: %t157 = load i32, ptr %t147 %t158 = load i32, ptr %t117 %t159 = icmp ne i32 %t157, %t158 %t160 = zext i1 %t159 to i32 %t161 = icmp ne i32 %t160, 0 %t162 = zext i1 %t161 to i32 store i32 %t162, ptr %t156 br i1 %t161, label %sc33, label %scend34 sc33: %t163 = load ptr, ptr @g_g_own_type %t164 = load i32, ptr %t147 %t165 = getelementptr inbounds %LSlice, ptr %t163, i32 0, i32 0 %t166 = load ptr, ptr %t165 %t167 = getelementptr inbounds %LSlice, ptr %t163, i32 0, i32 1 %t168 = load i32, ptr %t167 %t169 = icmp ult i32 %t164, %t168 br i1 %t169, label %ixok35, label %ixbad36 ixbad36: store i32 4478, ptr @lp_site %t170 = call ptr @lp_win_stdio(i32 2) store i32 0, ptr @lp_site call i32 (ptr, ptr, ...) @fprintf(ptr %t170, ptr @.fmt_bounds, ptr @.str7349, i32 %t164, i32 %t168) call void @exit(i32 1) unreachable ixok35: %t171 = getelementptr inbounds ptr, ptr %t166, i32 %t164 %t172 = load ptr, ptr %t171 %t173 = load ptr, ptr @g_g_own_type %t174 = load i32, ptr %t117 %t175 = getelementptr inbounds %LSlice, ptr %t173, i32 0, i32 0 %t176 = load ptr, ptr %t175 %t177 = getelementptr inbounds %LSlice, ptr %t173, i32 0, i32 1 %t178 = load i32, ptr %t177 %t179 = icmp ult i32 %t174, %t178 br i1 %t179, label %ixok37, label %ixbad38 ixbad38: store i32 4479, ptr @lp_site %t180 = call ptr @lp_win_stdio(i32 2) store i32 0, ptr @lp_site call i32 (ptr, ptr, ...) @fprintf(ptr %t180, ptr @.fmt_bounds, ptr @.str7350, i32 %t174, i32 %t178) call void @exit(i32 1) unreachable ixok37: %t181 = getelementptr inbounds ptr, ptr %t176, i32 %t174 %t182 = load ptr, ptr %t181 %t183 = call i32 @lp_str_eq(ptr %t172, ptr %t182) %t184 = icmp ne i32 %t183, 0 %t185 = zext i1 %t184 to i32 store i32 %t185, ptr %t156 br label %scend34 scend34: %t186 = load i32, ptr %t156 %t187 = icmp ne i32 %t186, 0 %t188 = zext i1 %t187 to i32 store i32 %t188, ptr %t155 br i1 %t187, label %sc39, label %scend40 sc39: %t189 = load ptr, ptr %t93 %t190 = load ptr, ptr %t100 %t191 = load ptr, ptr %t72 %t192 = load i32, ptr %t109 %t193 = getelementptr inbounds %LSlice, ptr %t191, i32 0, i32 0 %t194 = load ptr, ptr %t193 %t195 = getelementptr inbounds %LSlice, ptr %t191, i32 0, i32 1 %t196 = load i32, ptr %t195 %t197 = icmp ult i32 %t192, %t196 br i1 %t197, label %ixok41, label %ixbad42 ixbad42: store i32 4480, ptr @lp_site %t198 = call ptr @lp_win_stdio(i32 2) store i32 0, ptr @lp_site call i32 (ptr, ptr, ...) @fprintf(ptr %t198, ptr @.fmt_bounds, ptr @.str7351, i32 %t192, i32 %t196) call void @exit(i32 1) unreachable ixok41: %t199 = getelementptr inbounds ptr, ptr %t194, i32 %t192 %t200 = load ptr, ptr %t199 %t201 = load ptr, ptr @g_g_own_field %t202 = load i32, ptr %t147 %t203 = getelementptr inbounds %LSlice, ptr %t201, i32 0, i32 0 %t204 = load ptr, ptr %t203 %t205 = getelementptr inbounds %LSlice, ptr %t201, i32 0, i32 1 %t206 = load i32, ptr %t205 %t207 = icmp ult i32 %t202, %t206 br i1 %t207, label %ixok43, label %ixbad44 ixbad44: store i32 4481, ptr @lp_site %t208 = call ptr @lp_win_stdio(i32 2) store i32 0, ptr @lp_site call i32 (ptr, ptr, ...) @fprintf(ptr %t208, ptr @.fmt_bounds, ptr @.str7352, i32 %t202, i32 %t206) call void @exit(i32 1) unreachable ixok43: %t209 = getelementptr inbounds ptr, ptr %t204, i32 %t202 %t210 = load ptr, ptr %t209 %t211 = call i32 @fn_own_has(ptr %t189, ptr %t190, ptr %t200, ptr %t210) %t212 = icmp eq i32 %t211, 0 %t213 = zext i1 %t212 to i32 %t214 = icmp ne i32 %t213, 0 %t215 = zext i1 %t214 to i32 store i32 %t215, ptr %t155 br label %scend40 scend40: %t216 = load i32, ptr %t155 %t217 = icmp ne i32 %t216, 0 br i1 %t217, label %then45, label %ifend47 then45: %t218 = load ptr, ptr %t0 %t219 = load ptr, ptr @g_g_own_type %t220 = load i32, ptr %t147 %t221 = getelementptr inbounds %LSlice, ptr %t219, i32 0, i32 0 %t222 = load ptr, ptr %t221 %t223 = getelementptr inbounds %LSlice, ptr %t219, i32 0, i32 1 %t224 = load i32, ptr %t223 %t225 = icmp ult i32 %t220, %t224 br i1 %t225, label %ixok48, label %ixbad49 ixbad49: store i32 4482, ptr @lp_site %t226 = call ptr @lp_win_stdio(i32 2) store i32 0, ptr @lp_site call i32 (ptr, ptr, ...) @fprintf(ptr %t226, ptr @.fmt_bounds, ptr @.str7354, i32 %t220, i32 %t224) call void @exit(i32 1) unreachable ixok48: %t227 = getelementptr inbounds ptr, ptr %t222, i32 %t220 %t228 = load ptr, ptr %t227 store i32 4483, ptr @lp_site %t229 = call ptr @lp_str_concat(ptr @.str7353, ptr %t228) store i32 0, ptr @lp_site store i32 4484, ptr @lp_site %t230 = call ptr @lp_str_concat(ptr %t229, ptr @.str7355) store i32 0, ptr @lp_site call void @lp_free(ptr %t229) %t231 = load ptr, ptr @g_g_own_field %t232 = load i32, ptr %t147 %t233 = getelementptr inbounds %LSlice, ptr %t231, i32 0, i32 0 %t234 = load ptr, ptr %t233 %t235 = getelementptr inbounds %LSlice, ptr %t231, i32 0, i32 1 %t236 = load i32, ptr %t235 %t237 = icmp ult i32 %t232, %t236 br i1 %t237, label %ixok50, label %ixbad51 ixbad51: store i32 4485, ptr @lp_site %t238 = call ptr @lp_win_stdio(i32 2) store i32 0, ptr @lp_site call i32 (ptr, ptr, ...) @fprintf(ptr %t238, ptr @.fmt_bounds, ptr @.str7356, i32 %t232, i32 %t236) call void @exit(i32 1) unreachable ixok50: %t239 = getelementptr inbounds ptr, ptr %t234, i32 %t232 %t240 = load ptr, ptr %t239 store i32 4486, ptr @lp_site %t241 = call ptr @lp_str_concat(ptr %t230, ptr %t240) store i32 0, ptr @lp_site call void @lp_free(ptr %t230) store i32 4487, ptr @lp_site %t242 = call ptr @lp_str_concat(ptr %t241, ptr @.str7357) store i32 0, ptr @lp_site call void @lp_free(ptr %t241) %t243 = load ptr, ptr %t25 %t244 = getelementptr inbounds %Cmp_Node, ptr %t243, i32 0, i32 9 %t245 = load ptr, ptr %t244 store i32 4488, ptr @lp_site %t246 = call ptr @lp_str_concat(ptr %t242, ptr %t245) store i32 0, ptr @lp_site call void @lp_free(ptr %t242) store i32 4489, ptr @lp_site %t247 = call ptr @lp_str_concat(ptr %t246, ptr @.str7358) store i32 0, ptr @lp_site call void @lp_free(ptr %t246) %t248 = load ptr, ptr %t86 %t249 = load i32, ptr %t109 %t250 = getelementptr inbounds %LSlice, ptr %t248, i32 0, i32 0 %t251 = load ptr, ptr %t250 %t252 = getelementptr inbounds %LSlice, ptr %t248, i32 0, i32 1 %t253 = load i32, ptr %t252 %t254 = icmp ult i32 %t249, %t253 br i1 %t254, label %ixok52, label %ixbad53 ixbad53: store i32 4490, ptr @lp_site %t255 = call ptr @lp_win_stdio(i32 2) store i32 0, ptr @lp_site call i32 (ptr, ptr, ...) @fprintf(ptr %t255, ptr @.fmt_bounds, ptr @.str7359, i32 %t249, i32 %t253) call void @exit(i32 1) unreachable ixok52: %t256 = getelementptr inbounds i32, ptr %t251, i32 %t249 %t257 = load i32, ptr %t256 %t258 = call ptr @fn_itoa(i32 %t257) store i32 4491, ptr @lp_site %t259 = call ptr @lp_str_concat(ptr %t247, ptr %t258) store i32 0, ptr @lp_site call void @lp_free(ptr %t247) store i32 4492, ptr @lp_site %t260 = call ptr @lp_str_concat(ptr %t259, ptr @.str7360) store i32 0, ptr @lp_site call void @lp_free(ptr %t259) %t261 = load ptr, ptr %t25 %t262 = getelementptr inbounds %Cmp_Node, ptr %t261, i32 0, i32 1 %t263 = load ptr, ptr %t262 store i32 4493, ptr @lp_site %t264 = call ptr @lp_str_concat(ptr %t260, ptr %t263) store i32 0, ptr @lp_site call void @lp_free(ptr %t260) store i32 4494, ptr @lp_site %t265 = call ptr @lp_str_concat(ptr %t264, ptr @.str7361) store i32 0, ptr @lp_site call void @lp_free(ptr %t264) %t266 = load ptr, ptr %t72 %t267 = load i32, ptr %t109 %t268 = getelementptr inbounds %LSlice, ptr %t266, i32 0, i32 0 %t269 = load ptr, ptr %t268 %t270 = getelementptr inbounds %LSlice, ptr %t266, i32 0, i32 1 %t271 = load i32, ptr %t270 %t272 = icmp ult i32 %t267, %t271 br i1 %t272, label %ixok54, label %ixbad55 ixbad55: store i32 4495, ptr @lp_site %t273 = call ptr @lp_win_stdio(i32 2) store i32 0, ptr @lp_site call i32 (ptr, ptr, ...) @fprintf(ptr %t273, ptr @.fmt_bounds, ptr @.str7362, i32 %t267, i32 %t271) call void @exit(i32 1) unreachable ixok54: %t274 = getelementptr inbounds ptr, ptr %t269, i32 %t267 %t275 = load ptr, ptr %t274 store i32 4496, ptr @lp_site %t276 = call ptr @lp_str_concat(ptr %t265, ptr %t275) store i32 0, ptr @lp_site call void @lp_free(ptr %t265) store i32 4497, ptr @lp_site %t277 = call ptr @lp_str_concat(ptr %t276, ptr @.str7363) store i32 0, ptr @lp_site call void @lp_free(ptr %t276) %t278 = load ptr, ptr %t79 %t279 = load i32, ptr %t109 %t280 = getelementptr inbounds %LSlice, ptr %t278, i32 0, i32 0 %t281 = load ptr, ptr %t280 %t282 = getelementptr inbounds %LSlice, ptr %t278, i32 0, i32 1 %t283 = load i32, ptr %t282 %t284 = icmp ult i32 %t279, %t283 br i1 %t284, label %ixok56, label %ixbad57 ixbad57: store i32 4498, ptr @lp_site %t285 = call ptr @lp_win_stdio(i32 2) store i32 0, ptr @lp_site call i32 (ptr, ptr, ...) @fprintf(ptr %t285, ptr @.fmt_bounds, ptr @.str7364, i32 %t279, i32 %t283) call void @exit(i32 1) unreachable ixok56: %t286 = getelementptr inbounds ptr, ptr %t281, i32 %t279 %t287 = load ptr, ptr %t286 store i32 4499, ptr @lp_site %t288 = call ptr @lp_str_concat(ptr %t277, ptr %t287) store i32 0, ptr @lp_site call void @lp_free(ptr %t277) call void @fn_deps_line(ptr %t218, ptr %t288) %t289 = load i32, ptr @g_g_own_leaks %t290 = add i32 %t289, 1 store i32 %t290, ptr @g_g_own_leaks br label %ifend47 ifend47: %t291 = load i32, ptr %t147 %t292 = add i32 %t291, 1 store i32 %t292, ptr %t147 br label %wcond30 wend32: br label %ifend29 ifend29: %t293 = load i32, ptr %t117 %t294 = add i32 %t293, 1 store i32 %t294, ptr %t117 br label %wcond20 wend22: %t295 = load i32, ptr %t109 %t296 = add i32 %t295, 1 store i32 %t296, ptr %t109 br label %wcond17 wend19: br label %ifend16 ifend16: %t297 = load i32, ptr %t7 %t298 = add i32 %t297, 1 store i32 %t298, ptr %t7 br label %wcond3 wend5: br label %ifend2 ifend2: %t299 = load ptr, ptr %t0 %t300 = load i32, ptr @g_g_own_leaks %t301 = call ptr @fn_itoa(i32 %t300) store i32 4500, ptr @lp_site %t302 = call ptr @lp_str_concat(ptr @.str7365, ptr %t301) store i32 0, ptr @lp_site call void @fn_deps_line(ptr %t299, ptr %t302) br label %ret ret: ret void } 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 store ptr %arg_s, ptr %t0 %t1 = load i32, ptr @g_ll_str %t2 = call ptr @fn_itoa(i32 %t1) store i32 4501, ptr @lp_site %t3 = call ptr @lp_str_concat(ptr @.str7366, ptr %t2) store i32 0, ptr @lp_site 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 @.str7368) %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 @.str7369) %t15 = load ptr, ptr %t0 call void @fn_emit_escaped(ptr %t15) call void @fn_emith(ptr @.str7370) %t16 = load ptr, ptr %t4 store ptr %t16, ptr %retval br label %ret ret: %t17 = load ptr, ptr %retval ret ptr %t17 } define void @fn_emit_escaped(ptr %arg_s) { entry: %t0 = alloca ptr %t4 = alloca i32 %t5 = alloca i32 %t16 = alloca i32 %t17 = alloca i32 %t18 = alloca i32 %t19 = 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 store i32 0, ptr %t5 br label %wcond0 wcond0: %t6 = load i32, ptr %t5 %t7 = load i32, ptr %t4 %t8 = icmp slt i32 %t6, %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 = load i32, ptr %t5 %t13 = getelementptr inbounds i8, ptr %t11, i32 %t12 %t14 = load i8, ptr %t13 %t15 = zext i8 %t14 to i32 store i32 %t15, ptr %t16 %t20 = load i32, ptr %t16 %t21 = icmp eq i32 %t20, 34 %t22 = zext i1 %t21 to i32 %t23 = icmp ne i32 %t22, 0 %t24 = zext i1 %t23 to i32 store i32 %t24, ptr %t19 br i1 %t23, label %scend4, label %sc3 sc3: %t25 = load i32, ptr %t16 %t26 = icmp eq i32 %t25, 92 %t27 = zext i1 %t26 to i32 %t28 = icmp ne i32 %t27, 0 %t29 = zext i1 %t28 to i32 store i32 %t29, ptr %t19 br label %scend4 scend4: %t30 = load i32, ptr %t19 %t31 = icmp ne i32 %t30, 0 %t32 = zext i1 %t31 to i32 store i32 %t32, ptr %t18 br i1 %t31, label %scend6, label %sc5 sc5: %t33 = load i32, ptr %t16 %t34 = icmp slt 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 %t18 br label %scend6 scend6: %t38 = load i32, ptr %t18 %t39 = icmp ne i32 %t38, 0 %t40 = zext i1 %t39 to i32 store i32 %t40, ptr %t17 br i1 %t39, label %scend8, label %sc7 sc7: %t41 = load i32, ptr %t16 %t42 = icmp sgt i32 %t41, 126 %t43 = zext i1 %t42 to i32 %t44 = icmp ne i32 %t43, 0 %t45 = zext i1 %t44 to i32 store i32 %t45, ptr %t17 br label %scend8 scend8: %t46 = load i32, ptr %t17 %t47 = icmp ne i32 %t46, 0 br i1 %t47, label %then9, label %else10 then9: %t48 = load ptr, ptr @g_head call void @fn_buf_putc(ptr %t48, i32 92) %t49 = load ptr, ptr @g_head %t50 = load i32, ptr %t16 %t51 = sdiv i32 %t50, 16 %t52 = call i32 @fn_hexdig(i32 %t51) call void @fn_buf_putc(ptr %t49, i32 %t52) %t53 = load ptr, ptr @g_head %t54 = load i32, ptr %t16 %t55 = srem i32 %t54, 16 %t56 = call i32 @fn_hexdig(i32 %t55) call void @fn_buf_putc(ptr %t53, i32 %t56) br label %ifend11 else10: %t57 = load ptr, ptr @g_head %t58 = load i32, ptr %t16 call void @fn_buf_putc(ptr %t57, i32 %t58) br label %ifend11 ifend11: %t59 = load i32, ptr %t5 %t60 = add i32 %t59, 1 store i32 %t60, ptr %t5 br label %wcond0 wend2: br label %ret ret: ret void } define ptr @fn_int_lit_code(ptr %arg_e) { entry: %retval = alloca ptr %t0 = alloca ptr store ptr %arg_e, ptr %t0 %t1 = load ptr, ptr %t0 %t2 = getelementptr inbounds %Cmp_Node, ptr %t1, i32 0, i32 1 %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 1 %t9 = load ptr, ptr %t8 store ptr %t9, ptr %retval br label %ret ifend2: %t10 = load ptr, ptr %t0 %t11 = getelementptr inbounds %Cmp_Node, ptr %t10, i32 0, i32 2 %t12 = load i32, ptr %t11 %t13 = call ptr @fn_itoa(i32 %t12) store ptr %t13, ptr %retval br label %ret ret: %t14 = load ptr, ptr %retval ret ptr %t14 } define ptr @fn_global_init(ptr %arg_d) { entry: %retval = alloca ptr %t0 = alloca ptr %t1 = alloca i32 %t25 = alloca ptr %t34 = alloca i32 %t55 = alloca i32 %t56 = alloca i32 %t89 = alloca i32 %t117 = alloca i32 store ptr %arg_d, ptr %t0 %t2 = load ptr, ptr %t0 %t3 = getelementptr inbounds %Cmp_Node, ptr %t2, i32 0, i32 4 %t4 = load ptr, ptr %t3 %t5 = icmp eq ptr %t4, null %t6 = zext i1 %t5 to i32 %t7 = icmp ne i32 %t6, 0 %t8 = zext i1 %t7 to i32 store i32 %t8, ptr %t1 br i1 %t7, label %scend1, label %sc0 sc0: %t9 = load ptr, ptr %t0 %t10 = getelementptr inbounds %Cmp_Node, ptr %t9, i32 0, i32 3 %t11 = load ptr, ptr %t10 %t12 = call i32 @fn_is_fp(ptr %t11) %t13 = icmp ne i32 %t12, 0 %t14 = zext i1 %t13 to i32 store i32 %t14, ptr %t1 br label %scend1 scend1: %t15 = load i32, ptr %t1 %t16 = icmp ne i32 %t15, 0 br i1 %t16, label %then2, label %ifend4 then2: %t17 = load ptr, ptr %t0 %t18 = getelementptr inbounds %Cmp_Node, ptr %t17, i32 0, i32 3 %t19 = load ptr, ptr %t18 %t20 = call ptr @fn_llty(ptr %t19) %t21 = call ptr @fn_zero_of(ptr %t20) store ptr %t21, ptr %retval br label %ret ifend4: %t22 = load ptr, ptr %t0 %t23 = getelementptr inbounds %Cmp_Node, ptr %t22, i32 0, i32 4 %t24 = load ptr, ptr %t23 store ptr %t24, ptr %t25 %t26 = load ptr, ptr %t25 %t27 = getelementptr inbounds %Cmp_Node, ptr %t26, i32 0, i32 0 %t28 = load i32, ptr %t27 %t29 = icmp eq i32 %t28, 30 %t30 = zext i1 %t29 to i32 %t31 = icmp ne i32 %t30, 0 br i1 %t31, label %then5, label %ifend7 then5: %t32 = load ptr, ptr %t25 %t33 = call ptr @fn_int_lit_code(ptr %t32) store ptr %t33, ptr %retval br label %ret ifend7: %t35 = load ptr, ptr %t25 %t36 = getelementptr inbounds %Cmp_Node, ptr %t35, i32 0, i32 0 %t37 = load i32, ptr %t36 %t38 = icmp eq i32 %t37, 40 %t39 = zext i1 %t38 to i32 %t40 = icmp ne i32 %t39, 0 %t41 = zext i1 %t40 to i32 store i32 %t41, ptr %t34 br i1 %t40, label %scend9, label %sc8 sc8: %t42 = load ptr, ptr %t25 %t43 = getelementptr inbounds %Cmp_Node, ptr %t42, i32 0, i32 0 %t44 = load i32, ptr %t43 %t45 = icmp eq i32 %t44, 32 %t46 = zext i1 %t45 to i32 %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 %t25 %t52 = getelementptr inbounds %Cmp_Node, ptr %t51, i32 0, i32 2 %t53 = load i32, ptr %t52 %t54 = call ptr @fn_itoa(i32 %t53) store ptr %t54, ptr %retval br label %ret ifend12: %t57 = load ptr, ptr %t25 %t58 = getelementptr inbounds %Cmp_Node, ptr %t57, i32 0, i32 0 %t59 = load i32, ptr %t58 %t60 = icmp eq i32 %t59, 38 %t61 = zext i1 %t60 to i32 %t62 = icmp ne i32 %t61, 0 %t63 = zext i1 %t62 to i32 store i32 %t63, ptr %t56 br i1 %t62, label %sc13, label %scend14 sc13: %t64 = load ptr, ptr %t25 %t65 = getelementptr inbounds %Cmp_Node, ptr %t64, i32 0, i32 1 %t66 = load ptr, ptr %t65 %t67 = call i32 @lp_str_eq(ptr %t66, ptr @.str7371) %t68 = icmp ne i32 %t67, 0 %t69 = zext i1 %t68 to i32 store i32 %t69, ptr %t56 br label %scend14 scend14: %t70 = load i32, ptr %t56 %t71 = icmp ne i32 %t70, 0 %t72 = zext i1 %t71 to i32 store i32 %t72, ptr %t55 br i1 %t71, label %sc15, label %scend16 sc15: %t73 = load ptr, ptr %t25 %t74 = getelementptr inbounds %Cmp_Node, ptr %t73, i32 0, i32 4 %t75 = load ptr, ptr %t74 %t76 = getelementptr inbounds %Cmp_Node, ptr %t75, i32 0, i32 0 %t77 = load i32, ptr %t76 %t78 = icmp eq i32 %t77, 30 %t79 = zext i1 %t78 to i32 %t80 = icmp ne i32 %t79, 0 %t81 = zext i1 %t80 to i32 store i32 %t81, ptr %t55 br label %scend16 scend16: %t82 = load i32, ptr %t55 %t83 = icmp ne i32 %t82, 0 br i1 %t83, label %then17, label %ifend19 then17: %t84 = load ptr, ptr %t25 %t85 = getelementptr inbounds %Cmp_Node, ptr %t84, i32 0, i32 4 %t86 = load ptr, ptr %t85 %t87 = call ptr @fn_int_lit_code(ptr %t86) store i32 4502, ptr @lp_site %t88 = call ptr @lp_str_concat(ptr @.str7372, ptr %t87) store i32 0, ptr @lp_site store ptr %t88, ptr %retval br label %ret ifend19: %t90 = load ptr, ptr %t25 %t91 = getelementptr inbounds %Cmp_Node, ptr %t90, i32 0, i32 0 %t92 = load i32, ptr %t91 %t93 = icmp eq i32 %t92, 35 %t94 = zext i1 %t93 to i32 %t95 = icmp ne i32 %t94, 0 %t96 = zext i1 %t95 to i32 store i32 %t96, ptr %t89 br i1 %t95, label %sc20, label %scend21 sc20: %t97 = load ptr, ptr %t25 %t98 = getelementptr inbounds %Cmp_Node, ptr %t97, i32 0, i32 4 %t99 = load ptr, ptr %t98 %t100 = getelementptr inbounds %Cmp_Node, ptr %t99, i32 0, i32 0 %t101 = load i32, ptr %t100 %t102 = icmp eq i32 %t101, 33 %t103 = zext i1 %t102 to i32 %t104 = icmp ne i32 %t103, 0 %t105 = zext i1 %t104 to i32 store i32 %t105, ptr %t89 br label %scend21 scend21: %t106 = load i32, ptr %t89 %t107 = icmp ne i32 %t106, 0 br i1 %t107, label %then22, label %ifend24 then22: %t108 = load ptr, ptr %t25 %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 1 %t112 = load ptr, ptr %t111 %t113 = load ptr, ptr %t25 %t114 = getelementptr inbounds %Cmp_Node, ptr %t113, i32 0, i32 1 %t115 = load ptr, ptr %t114 %t116 = call i32 @fn_enum_ordinal(ptr %t112, ptr %t115) store i32 %t116, ptr %t117 %t118 = load i32, ptr %t117 %t119 = icmp sge i32 %t118, 0 %t120 = zext i1 %t119 to i32 %t121 = icmp ne i32 %t120, 0 br i1 %t121, label %then25, label %ifend27 then25: %t122 = load i32, ptr %t117 %t123 = call ptr @fn_itoa(i32 %t122) store ptr %t123, ptr %retval br label %ret ifend27: br label %ifend24 ifend24: %t124 = load ptr, ptr %t0 %t125 = getelementptr inbounds %Cmp_Node, ptr %t124, i32 0, i32 3 %t126 = load ptr, ptr %t125 %t127 = call ptr @fn_llty(ptr %t126) %t128 = call i32 @lp_str_eq(ptr %t127, ptr @.str7374) %t129 = icmp ne i32 %t128, 0 br i1 %t129, label %then28, label %ifend30 then28: store ptr @.str7375, ptr %retval br label %ret ifend30: store ptr @.str7376, ptr %retval br label %ret ret: %t130 = load ptr, ptr %retval ret ptr %t130 } define i32 @fn_global_needs_init_code(ptr %arg_d) { entry: %retval = alloca i32 %t0 = alloca ptr %t15 = alloca ptr %t16 = alloca i32 %t17 = alloca i32 %t18 = alloca i32 %t55 = alloca i32 %t56 = alloca i32 %t84 = alloca i32 store ptr %arg_d, ptr %t0 %t1 = load ptr, ptr %t0 %t2 = getelementptr inbounds %Cmp_Node, ptr %t1, i32 0, i32 4 %t3 = load ptr, ptr %t2 %t4 = icmp eq ptr %t3, null %t5 = zext i1 %t4 to i32 %t6 = icmp ne i32 %t5, 0 br i1 %t6, label %then0, label %ifend2 then0: store i32 0, ptr %retval br label %ret ifend2: %t7 = load ptr, ptr %t0 %t8 = getelementptr inbounds %Cmp_Node, ptr %t7, i32 0, i32 3 %t9 = load ptr, ptr %t8 %t10 = call i32 @fn_is_fp(ptr %t9) %t11 = icmp ne i32 %t10, 0 br i1 %t11, label %then3, label %ifend5 then3: store i32 1, ptr %retval br label %ret ifend5: %t12 = load ptr, ptr %t0 %t13 = getelementptr inbounds %Cmp_Node, ptr %t12, i32 0, i32 4 %t14 = load ptr, ptr %t13 store ptr %t14, ptr %t15 %t19 = load ptr, ptr %t15 %t20 = getelementptr inbounds %Cmp_Node, ptr %t19, i32 0, i32 0 %t21 = load i32, ptr %t20 %t22 = icmp eq i32 %t21, 30 %t23 = zext i1 %t22 to i32 %t24 = icmp ne i32 %t23, 0 %t25 = zext i1 %t24 to i32 store i32 %t25, ptr %t18 br i1 %t24, label %scend7, label %sc6 sc6: %t26 = load ptr, ptr %t15 %t27 = getelementptr inbounds %Cmp_Node, ptr %t26, i32 0, i32 0 %t28 = load i32, ptr %t27 %t29 = icmp eq i32 %t28, 40 %t30 = zext i1 %t29 to i32 %t31 = icmp ne i32 %t30, 0 %t32 = zext i1 %t31 to i32 store i32 %t32, ptr %t18 br label %scend7 scend7: %t33 = load i32, ptr %t18 %t34 = icmp ne i32 %t33, 0 %t35 = zext i1 %t34 to i32 store i32 %t35, ptr %t17 br i1 %t34, label %scend9, label %sc8 sc8: %t36 = load ptr, ptr %t15 %t37 = getelementptr inbounds %Cmp_Node, ptr %t36, i32 0, i32 0 %t38 = load i32, ptr %t37 %t39 = icmp eq i32 %t38, 32 %t40 = zext i1 %t39 to i32 %t41 = icmp ne i32 %t40, 0 %t42 = zext i1 %t41 to i32 store i32 %t42, ptr %t17 br label %scend9 scend9: %t43 = load i32, ptr %t17 %t44 = icmp ne i32 %t43, 0 %t45 = zext i1 %t44 to i32 store i32 %t45, ptr %t16 br i1 %t44, label %scend11, label %sc10 sc10: %t46 = load ptr, ptr %t15 %t47 = getelementptr inbounds %Cmp_Node, ptr %t46, i32 0, i32 0 %t48 = load i32, ptr %t47 %t49 = icmp eq i32 %t48, 43 %t50 = zext i1 %t49 to i32 %t51 = icmp ne i32 %t50, 0 %t52 = zext i1 %t51 to i32 store i32 %t52, ptr %t16 br label %scend11 scend11: %t53 = load i32, ptr %t16 %t54 = icmp ne i32 %t53, 0 br i1 %t54, label %then12, label %ifend14 then12: store i32 0, ptr %retval br label %ret ifend14: %t57 = load ptr, ptr %t15 %t58 = getelementptr inbounds %Cmp_Node, ptr %t57, i32 0, i32 0 %t59 = load i32, ptr %t58 %t60 = icmp eq i32 %t59, 38 %t61 = zext i1 %t60 to i32 %t62 = icmp ne i32 %t61, 0 %t63 = zext i1 %t62 to i32 store i32 %t63, ptr %t56 br i1 %t62, label %sc15, label %scend16 sc15: %t64 = load ptr, ptr %t15 %t65 = getelementptr inbounds %Cmp_Node, ptr %t64, i32 0, i32 1 %t66 = load ptr, ptr %t65 %t67 = call i32 @lp_str_eq(ptr %t66, ptr @.str7377) %t68 = icmp ne i32 %t67, 0 %t69 = zext i1 %t68 to i32 store i32 %t69, ptr %t56 br label %scend16 scend16: %t70 = load i32, ptr %t56 %t71 = icmp ne i32 %t70, 0 %t72 = zext i1 %t71 to i32 store i32 %t72, ptr %t55 br i1 %t71, label %sc17, label %scend18 sc17: %t73 = load ptr, ptr %t15 %t74 = getelementptr inbounds %Cmp_Node, ptr %t73, i32 0, i32 4 %t75 = load ptr, ptr %t74 %t76 = getelementptr inbounds %Cmp_Node, ptr %t75, i32 0, i32 0 %t77 = load i32, ptr %t76 %t78 = icmp eq i32 %t77, 30 %t79 = zext i1 %t78 to i32 %t80 = icmp ne i32 %t79, 0 %t81 = zext i1 %t80 to i32 store i32 %t81, ptr %t55 br label %scend18 scend18: %t82 = load i32, ptr %t55 %t83 = icmp ne i32 %t82, 0 br i1 %t83, label %then19, label %ifend21 then19: store i32 0, ptr %retval br label %ret ifend21: %t85 = load ptr, ptr %t15 %t86 = getelementptr inbounds %Cmp_Node, ptr %t85, i32 0, i32 0 %t87 = load i32, ptr %t86 %t88 = icmp eq i32 %t87, 35 %t89 = zext i1 %t88 to i32 %t90 = icmp ne i32 %t89, 0 %t91 = zext i1 %t90 to i32 store i32 %t91, ptr %t84 br i1 %t90, label %sc22, label %scend23 sc22: %t92 = load ptr, ptr %t15 %t93 = getelementptr inbounds %Cmp_Node, ptr %t92, i32 0, i32 4 %t94 = load ptr, ptr %t93 %t95 = getelementptr inbounds %Cmp_Node, ptr %t94, i32 0, i32 0 %t96 = load i32, ptr %t95 %t97 = icmp eq i32 %t96, 33 %t98 = zext i1 %t97 to i32 %t99 = icmp ne i32 %t98, 0 %t100 = zext i1 %t99 to i32 store i32 %t100, ptr %t84 br label %scend23 scend23: %t101 = load i32, ptr %t84 %t102 = icmp ne i32 %t101, 0 br i1 %t102, label %then24, label %ifend26 then24: %t103 = load ptr, ptr %t15 %t104 = getelementptr inbounds %Cmp_Node, ptr %t103, i32 0, i32 4 %t105 = load ptr, ptr %t104 %t106 = getelementptr inbounds %Cmp_Node, ptr %t105, i32 0, i32 1 %t107 = load ptr, ptr %t106 %t108 = load ptr, ptr %t15 %t109 = getelementptr inbounds %Cmp_Node, ptr %t108, i32 0, i32 1 %t110 = load ptr, ptr %t109 %t111 = call i32 @fn_enum_ordinal(ptr %t107, ptr %t110) %t112 = icmp sge i32 %t111, 0 %t113 = zext i1 %t112 to i32 %t114 = icmp ne i32 %t113, 0 br i1 %t114, label %then27, label %ifend29 then27: store i32 0, ptr %retval br label %ret ifend29: br label %ifend26 ifend26: store i32 1, ptr %retval br label %ret ret: %t115 = load i32, ptr %retval ret i32 %t115 } define void @fn_emit_global_init_fn() { entry: call void @fn_emit_init_fn(ptr @.str7378, i32 1) call void @fn_emit_init_fn(ptr @.str7379, i32 0) call void @fn_emit_state_getters() br label %ret ret: ret void } define i32 @fn_is_runtime_state_var(ptr %arg_d) { entry: %retval = alloca i32 %t0 = alloca ptr %t1 = alloca i32 %t2 = alloca i32 store ptr %arg_d, ptr %t0 %t3 = load ptr, ptr %t0 %t4 = getelementptr inbounds %Cmp_Node, ptr %t3, i32 0, i32 12 %t5 = load i32, ptr %t4 %t6 = icmp eq i32 %t5, 1 %t7 = zext i1 %t6 to i32 %t8 = icmp ne i32 %t7, 0 %t9 = zext i1 %t8 to i32 store i32 %t9, ptr %t2 br i1 %t8, label %sc0, label %scend1 sc0: %t10 = load ptr, ptr %t0 %t11 = getelementptr inbounds %Cmp_Node, ptr %t10, i32 0, i32 3 %t12 = load ptr, ptr %t11 %t13 = call i32 @fn_is_state_ty(ptr %t12) %t14 = icmp ne i32 %t13, 0 %t15 = zext i1 %t14 to i32 store i32 %t15, ptr %t2 br label %scend1 scend1: %t16 = load i32, ptr %t2 %t17 = icmp ne i32 %t16, 0 %t18 = zext i1 %t17 to i32 store i32 %t18, ptr %t1 br i1 %t17, label %sc2, label %scend3 sc2: %t19 = load ptr, ptr %t0 %t20 = getelementptr inbounds %Cmp_Node, ptr %t19, i32 0, i32 9 %t21 = load ptr, ptr %t20 %t22 = call i32 @fn_is_runtime_file(ptr %t21) %t23 = icmp ne i32 %t22, 0 %t24 = zext i1 %t23 to i32 store i32 %t24, ptr %t1 br label %scend3 scend3: %t25 = load i32, ptr %t1 store i32 %t25, ptr %retval br label %ret ret: %t26 = load i32, ptr %retval ret i32 %t26 } define void @fn_emit_init_fn(ptr %arg_name, i32 %arg_runtime) { entry: %t0 = alloca ptr %t1 = alloca i32 %t4 = alloca ptr %t7 = alloca ptr %t10 = alloca ptr %t11 = alloca i32 %t29 = alloca i32 %t42 = alloca ptr %t43 = alloca i32 %t44 = alloca i32 %t45 = alloca i32 %t101 = alloca ptr %t107 = alloca ptr store ptr %arg_name, ptr %t0 store i32 %arg_runtime, ptr %t1 %t2 = load ptr, ptr %t0 call void @fn_fence_enter(ptr %t2) 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 @.str7380, ptr @g_ret_ty %t3 = call ptr @fn_buf_new() store ptr %t3, ptr %t4 %t5 = call ptr @fn_buf_new() store ptr %t5, ptr @g_falloc %t6 = load ptr, ptr @g_code store ptr %t6, ptr %t7 %t8 = load ptr, ptr %t4 store ptr %t8, ptr @g_code %t9 = call ptr @fn_gi_order() store ptr %t9, ptr %t10 store i32 0, ptr %t11 br label %wcond0 wcond0: %t12 = load i32, ptr %t11 %t13 = load ptr, ptr %t10 %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 %wbody1, label %wend2 wbody1: %t19 = load ptr, ptr %t10 %t20 = load i32, ptr %t11 %t21 = getelementptr inbounds %LSlice, ptr %t19, i32 0, i32 0 %t22 = load ptr, ptr %t21 %t23 = getelementptr inbounds %LSlice, ptr %t19, i32 0, i32 1 %t24 = load i32, ptr %t23 %t25 = icmp ult i32 %t20, %t24 br i1 %t25, label %ixok3, label %ixbad4 ixbad4: store i32 4503, ptr @lp_site %t26 = call ptr @lp_win_stdio(i32 2) store i32 0, ptr @lp_site call i32 (ptr, ptr, ...) @fprintf(ptr %t26, ptr @.fmt_bounds, ptr @.str7381, i32 %t20, i32 %t24) call void @exit(i32 1) unreachable ixok3: %t27 = getelementptr inbounds i32, ptr %t22, i32 %t20 %t28 = load i32, ptr %t27 store i32 %t28, ptr %t29 %t30 = load i32, ptr %t11 %t31 = add i32 %t30, 1 store i32 %t31, ptr %t11 %t32 = load ptr, ptr @g_prog %t33 = load i32, ptr %t29 %t34 = getelementptr inbounds %LSlice, ptr %t32, i32 0, i32 0 %t35 = load ptr, ptr %t34 %t36 = getelementptr inbounds %LSlice, ptr %t32, i32 0, i32 1 %t37 = load i32, ptr %t36 %t38 = icmp ult i32 %t33, %t37 br i1 %t38, label %ixok5, label %ixbad6 ixbad6: store i32 4504, ptr @lp_site %t39 = call ptr @lp_win_stdio(i32 2) store i32 0, ptr @lp_site call i32 (ptr, ptr, ...) @fprintf(ptr %t39, ptr @.fmt_bounds, ptr @.str7383, i32 %t33, i32 %t37) call void @exit(i32 1) unreachable ixok5: %t40 = getelementptr inbounds ptr, ptr %t35, i32 %t33 %t41 = load ptr, ptr %t40 store ptr %t41, ptr %t42 %t46 = load ptr, ptr %t42 %t47 = getelementptr inbounds %Cmp_Node, ptr %t46, i32 0, i32 0 %t48 = load i32, ptr %t47 %t49 = icmp eq i32 %t48, 2 %t50 = zext i1 %t49 to i32 %t51 = icmp ne i32 %t50, 0 %t52 = zext i1 %t51 to i32 store i32 %t52, ptr %t45 br i1 %t51, label %sc7, label %scend8 sc7: %t53 = load ptr, ptr %t42 %t54 = call i32 @fn_global_needs_init_code(ptr %t53) %t55 = icmp ne i32 %t54, 0 %t56 = zext i1 %t55 to i32 store i32 %t56, ptr %t45 br label %scend8 scend8: %t57 = load i32, ptr %t45 %t58 = icmp ne i32 %t57, 0 %t59 = zext i1 %t58 to i32 store i32 %t59, ptr %t44 br i1 %t58, label %sc9, label %scend10 sc9: %t60 = load ptr, ptr %t42 %t61 = call i32 @fn_is_runtime_state_var(ptr %t60) %t62 = load i32, ptr %t1 %t63 = icmp eq i32 %t61, %t62 %t64 = zext i1 %t63 to i32 %t65 = icmp ne i32 %t64, 0 %t66 = zext i1 %t65 to i32 store i32 %t66, ptr %t44 br label %scend10 scend10: %t67 = load i32, ptr %t44 %t68 = icmp ne i32 %t67, 0 %t69 = zext i1 %t68 to i32 store i32 %t69, ptr %t43 br i1 %t68, label %sc11, label %scend12 sc11: %t70 = load ptr, ptr %t42 %t71 = call i32 @fn_is_lazy_state(ptr %t70) %t72 = icmp eq i32 %t71, 0 %t73 = zext i1 %t72 to i32 %t74 = icmp ne i32 %t73, 0 %t75 = zext i1 %t74 to i32 store i32 %t75, ptr %t43 br label %scend12 scend12: %t76 = load i32, ptr %t43 %t77 = icmp ne i32 %t76, 0 br i1 %t77, label %then13, label %ifend15 then13: %t78 = load ptr, ptr %t42 %t79 = getelementptr inbounds %Cmp_Node, ptr %t78, i32 0, i32 9 %t80 = load ptr, ptr %t79 store ptr %t80, ptr @g_g_err_file %t81 = load ptr, ptr %t42 %t82 = getelementptr inbounds %Cmp_Node, ptr %t81, i32 0, i32 8 %t83 = load i32, ptr %t82 store i32 %t83, ptr @g_g_err_line %t84 = load ptr, ptr %t42 %t85 = call i32 @fn_is_port_var(ptr %t84) %t86 = icmp ne i32 %t85, 0 br i1 %t86, label %then16, label %ifend18 then16: %t87 = load ptr, ptr %t42 %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 9 %t91 = load ptr, ptr %t90 store ptr %t91, ptr @g_g_err_file %t92 = load ptr, ptr %t42 %t93 = getelementptr inbounds %Cmp_Node, ptr %t92, i32 0, i32 4 %t94 = load ptr, ptr %t93 %t95 = getelementptr inbounds %Cmp_Node, ptr %t94, i32 0, i32 8 %t96 = load i32, ptr %t95 store i32 %t96, ptr @g_g_err_line store i32 1, ptr @g_g_vis_off br label %ifend18 ifend18: %t97 = load ptr, ptr %t42 %t98 = getelementptr inbounds %Cmp_Node, ptr %t97, i32 0, i32 4 %t99 = load ptr, ptr %t98 %t100 = call ptr @fn_emit_expr(ptr %t99) store ptr %t100, ptr %t101 store i32 0, ptr @g_g_vis_off %t102 = load ptr, ptr %t101 %t103 = load ptr, ptr %t42 %t104 = getelementptr inbounds %Cmp_Node, ptr %t103, i32 0, i32 3 %t105 = load ptr, ptr %t104 %t106 = call ptr @fn_coerce_code(ptr %t102, ptr %t105) store ptr %t106, ptr %t107 call void @fn_emit(ptr @.str7384) %t108 = load ptr, ptr %t42 %t109 = getelementptr inbounds %Cmp_Node, ptr %t108, i32 0, i32 3 %t110 = load ptr, ptr %t109 %t111 = call ptr @fn_llty(ptr %t110) call void @fn_emit(ptr %t111) call void @fn_emit(ptr @.str7385) %t112 = load ptr, ptr %t107 call void @fn_emit(ptr %t112) call void @fn_emit(ptr @.str7386) %t113 = load ptr, ptr %t42 %t114 = getelementptr inbounds %Cmp_Node, ptr %t113, i32 0, i32 1 %t115 = load ptr, ptr %t114 call void @fn_emit(ptr %t115) call void @fn_emit(ptr @.str7387) br label %ifend15 ifend15: br label %wcond0 wend2: call void @fn_emit(ptr @.str7388) %t116 = load ptr, ptr %t7 store ptr %t116, ptr @g_code %t117 = load ptr, ptr %t0 store i32 4505, ptr @lp_site %t118 = call ptr @lp_str_concat(ptr @.str7389, ptr %t117) store i32 0, ptr @lp_site store i32 4506, ptr @lp_site %t119 = call ptr @lp_str_concat(ptr %t118, ptr @.str7390) store i32 0, ptr @lp_site call void @lp_free(ptr %t118) call void @fn_emit(ptr %t119) %t120 = load ptr, ptr @g_falloc %t121 = call ptr @fn_buf_str(ptr %t120) call void @fn_emit(ptr %t121) %t122 = load ptr, ptr %t4 %t123 = call ptr @fn_buf_str(ptr %t122) call void @fn_emit(ptr %t123) call void @fn_emit(ptr @.str7391) br label %ret ret: ret void } define void @fn_emit_header() { entry: %t12 = alloca i32 %t30 = alloca ptr %t37 = alloca i32 %t43 = alloca i32 %t80 = alloca i32 %t119 = alloca i32 %t169 = alloca ptr %t176 = alloca i32 %t182 = alloca i32 %t219 = alloca i32 call void @fn_emith(ptr @.str7392) call void @fn_emith(ptr @.str7393) call void @fn_emith(ptr @.str7394) call void @fn_emith(ptr @.str7395) call void @fn_emith(ptr @.str7396) call void @fn_emith(ptr @.str7397) call void @fn_emith(ptr @.str7398) call void @fn_emith(ptr @.str7399) call void @fn_emith(ptr @.str7400) %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 @.str7401) call void @fn_emith(ptr @.str7402) call void @fn_emith(ptr @.str7403) call void @fn_emith(ptr @.str7404) br label %ifend2 ifend2: call void @fn_emith(ptr @.str7405) call void @fn_emith(ptr @.str7406) call void @fn_emith(ptr @.str7407) call void @fn_emith(ptr @.str7408) call void @fn_emith(ptr @.str7409) call void @fn_emith(ptr @.str7410) call void @fn_emith(ptr @.str7411) call void @fn_emith(ptr @.str7412) call void @fn_emith(ptr @.str7413) call void @fn_emith(ptr @.str7414) call void @fn_emith(ptr @.str7415) call void @fn_emith(ptr @.str7416) call void @fn_emith(ptr @.str7417) call void @fn_emith(ptr @.str7418) call void @fn_emith(ptr @.str7419) call void @fn_emith(ptr @.str7420) call void @fn_emith(ptr @.str7421) call void @fn_emith(ptr @.str7422) call void @fn_emith(ptr @.str7423) call void @fn_emith(ptr @.str7424) call void @fn_emith(ptr @.str7425) call void @fn_emith(ptr @.str7426) call void @fn_emith(ptr @.str7427) call void @fn_emith(ptr @.str7428) call void @fn_emith(ptr @.str7429) call void @fn_emith(ptr @.str7430) call void @fn_emith(ptr @.str7431) call void @fn_emith(ptr @.str7432) call void @fn_emith(ptr @.str7433) call void @fn_emith(ptr @.str7434) call void @fn_emith(ptr @.str7435) call void @fn_emith(ptr @.str7436) call void @fn_emith(ptr @.str7437) call void @fn_emith(ptr @.str7438) call void @fn_emith(ptr @.str7439) call void @fn_emith(ptr @.str7440) call void @fn_emith(ptr @.str7441) call void @fn_emith(ptr @.str7442) call void @fn_emith(ptr @.str7443) call void @fn_emith(ptr @.str7444) call void @fn_emith(ptr @.str7445) call void @fn_emith(ptr @.str7446) %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 @.str7447) call void @fn_emith(ptr @.str7448) br label %ifend5 ifend5: call void @fn_emith(ptr @.str7449) call void @fn_emith(ptr @.str7450) call void @fn_emith(ptr @.str7451) call void @fn_emith(ptr @.str7452) call void @fn_emith(ptr @.str7453) call void @fn_emith(ptr @.str7454) call void @fn_emith(ptr @.str7455) %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 @.str7456) %t11 = load ptr, ptr @g_g_game_name call void @fn_emit_escaped(ptr %t11) call void @fn_emith(ptr @.str7457) call void @fn_emith(ptr @.str7458) 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 = load i32, ptr %t12 %t22 = getelementptr inbounds %LSlice, ptr %t20, i32 0, i32 0 %t23 = load ptr, ptr %t22 %t24 = getelementptr inbounds %LSlice, ptr %t20, i32 0, i32 1 %t25 = load i32, ptr %t24 %t26 = icmp ult i32 %t21, %t25 br i1 %t26, label %ixok9, label %ixbad10 ixbad10: store i32 4507, ptr @lp_site %t27 = call ptr @lp_win_stdio(i32 2) store i32 0, ptr @lp_site call i32 (ptr, ptr, ...) @fprintf(ptr %t27, ptr @.fmt_bounds, ptr @.str7459, i32 %t21, i32 %t25) call void @exit(i32 1) unreachable ixok9: %t28 = getelementptr inbounds ptr, ptr %t23, i32 %t21 %t29 = load ptr, ptr %t28 store ptr %t29, ptr %t30 %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, 8 %t35 = zext i1 %t34 to i32 %t36 = icmp ne i32 %t35, 0 br i1 %t36, label %then11, label %ifend13 then11: store i32 0, ptr %t37 br label %wcond14 wcond14: %t38 = load i32, ptr %t37 %t39 = load i32, ptr %t12 %t40 = icmp slt i32 %t38, %t39 %t41 = zext i1 %t40 to i32 %t42 = icmp ne i32 %t41, 0 br i1 %t42, label %wbody15, label %wend16 wbody15: %t44 = load ptr, ptr @g_prog %t45 = load i32, ptr %t37 %t46 = getelementptr inbounds %LSlice, ptr %t44, i32 0, i32 0 %t47 = load ptr, ptr %t46 %t48 = getelementptr inbounds %LSlice, ptr %t44, i32 0, i32 1 %t49 = load i32, ptr %t48 %t50 = icmp ult i32 %t45, %t49 br i1 %t50, label %ixok17, label %ixbad18 ixbad18: store i32 4508, ptr @lp_site %t51 = call ptr @lp_win_stdio(i32 2) store i32 0, ptr @lp_site call i32 (ptr, ptr, ...) @fprintf(ptr %t51, ptr @.fmt_bounds, ptr @.str7461, i32 %t45, i32 %t49) call void @exit(i32 1) unreachable ixok17: %t52 = getelementptr inbounds ptr, ptr %t47, i32 %t45 %t53 = load ptr, ptr %t52 %t54 = getelementptr inbounds %Cmp_Node, ptr %t53, i32 0, i32 0 %t55 = load i32, ptr %t54 %t56 = icmp eq i32 %t55, 8 %t57 = zext i1 %t56 to i32 %t58 = icmp ne i32 %t57, 0 %t59 = zext i1 %t58 to i32 store i32 %t59, ptr %t43 br i1 %t58, label %sc19, label %scend20 sc19: %t60 = load ptr, ptr @g_prog %t61 = load i32, ptr %t37 %t62 = getelementptr inbounds %LSlice, ptr %t60, i32 0, i32 0 %t63 = load ptr, ptr %t62 %t64 = getelementptr inbounds %LSlice, ptr %t60, i32 0, i32 1 %t65 = load i32, ptr %t64 %t66 = icmp ult i32 %t61, %t65 br i1 %t66, label %ixok21, label %ixbad22 ixbad22: store i32 4509, ptr @lp_site %t67 = call ptr @lp_win_stdio(i32 2) store i32 0, ptr @lp_site call i32 (ptr, ptr, ...) @fprintf(ptr %t67, ptr @.fmt_bounds, ptr @.str7462, i32 %t61, i32 %t65) call void @exit(i32 1) unreachable ixok21: %t68 = getelementptr inbounds ptr, ptr %t63, i32 %t61 %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 %t30 %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 %t77 = zext i1 %t76 to i32 store i32 %t77, ptr %t43 br label %scend20 scend20: %t78 = load i32, ptr %t43 %t79 = icmp ne i32 %t78, 0 br i1 %t79, label %then23, label %ifend25 then23: %t81 = load i32, ptr %t37 %t82 = load i32, ptr @g_g_prog_user_end %t83 = icmp slt i32 %t81, %t82 %t84 = zext i1 %t83 to i32 %t85 = icmp ne i32 %t84, 0 %t86 = zext i1 %t85 to i32 store i32 %t86, ptr %t80 br i1 %t85, label %sc26, label %scend27 sc26: %t87 = load i32, ptr %t12 %t88 = load i32, ptr @g_g_prog_user_end %t89 = icmp sge i32 %t87, %t88 %t90 = zext i1 %t89 to i32 %t91 = icmp ne i32 %t90, 0 %t92 = zext i1 %t91 to i32 store i32 %t92, ptr %t80 br label %scend27 scend27: %t93 = load i32, ptr %t80 %t94 = icmp ne i32 %t93, 0 br i1 %t94, label %then28, label %ifend30 then28: %t95 = load ptr, ptr %t30 %t96 = getelementptr inbounds %Cmp_Node, ptr %t95, i32 0, i32 1 %t97 = load ptr, ptr %t96 store i32 4510, ptr @lp_site %t98 = call ptr @lp_str_concat(ptr @.str7463, ptr %t97) store i32 0, ptr @lp_site store i32 4511, ptr @lp_site %t99 = call ptr @lp_str_concat(ptr %t98, ptr @.str7464) store i32 0, ptr @lp_site call void @lp_free(ptr %t98) call void @fn_perr(ptr %t99) br label %ifend30 ifend30: %t100 = load ptr, ptr %t30 %t101 = getelementptr inbounds %Cmp_Node, ptr %t100, i32 0, i32 1 %t102 = load ptr, ptr %t101 store i32 4512, ptr @lp_site %t103 = call ptr @lp_str_concat(ptr @.str7465, ptr %t102) store i32 0, ptr @lp_site store i32 4513, ptr @lp_site %t104 = call ptr @lp_str_concat(ptr %t103, ptr @.str7466) store i32 0, ptr @lp_site call void @lp_free(ptr %t103) call void @fn_perr(ptr %t104) br label %ifend25 ifend25: %t105 = load i32, ptr %t37 %t106 = add i32 %t105, 1 store i32 %t106, ptr %t37 br label %wcond14 wend16: %t107 = load ptr, ptr %t30 %t108 = getelementptr inbounds %Cmp_Node, ptr %t107, i32 0, i32 1 %t109 = load ptr, ptr %t108 %t110 = call ptr @fn_layout_ty(ptr %t109) call void @fn_emith(ptr %t110) call void @fn_emith(ptr @.str7467) %t111 = load ptr, ptr %t30 %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 eq i32 %t115, 0 %t117 = zext i1 %t116 to i32 %t118 = icmp ne i32 %t117, 0 br i1 %t118, label %then31, label %ifend33 then31: call void @fn_emith(ptr @.str7468) br label %ifend33 ifend33: store i32 0, ptr %t119 br label %wcond34 wcond34: %t120 = load i32, ptr %t119 %t121 = load ptr, ptr %t30 %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 1 %t125 = load i32, ptr %t124 %t126 = icmp slt i32 %t120, %t125 %t127 = zext i1 %t126 to i32 %t128 = icmp ne i32 %t127, 0 br i1 %t128, label %wbody35, label %wend36 wbody35: %t129 = load i32, ptr %t119 %t130 = icmp sgt i32 %t129, 0 %t131 = zext i1 %t130 to i32 %t132 = icmp ne i32 %t131, 0 br i1 %t132, label %then37, label %ifend39 then37: call void @fn_emith(ptr @.str7469) br label %ifend39 ifend39: %t133 = load ptr, ptr %t30 %t134 = getelementptr inbounds %Cmp_Node, ptr %t133, i32 0, i32 7 %t135 = load ptr, ptr %t134 %t136 = load i32, ptr %t119 %t137 = getelementptr inbounds %LSlice, ptr %t135, i32 0, i32 0 %t138 = load ptr, ptr %t137 %t139 = getelementptr inbounds %LSlice, ptr %t135, i32 0, i32 1 %t140 = load i32, ptr %t139 %t141 = icmp ult i32 %t136, %t140 br i1 %t141, label %ixok40, label %ixbad41 ixbad41: store i32 4514, ptr @lp_site %t142 = call ptr @lp_win_stdio(i32 2) store i32 0, ptr @lp_site call i32 (ptr, ptr, ...) @fprintf(ptr %t142, ptr @.fmt_bounds, ptr @.str7470, i32 %t136, i32 %t140) call void @exit(i32 1) unreachable ixok40: %t143 = getelementptr inbounds ptr, ptr %t138, i32 %t136 %t144 = load ptr, ptr %t143 %t145 = getelementptr inbounds %Cmp_Node, ptr %t144, i32 0, i32 3 %t146 = load ptr, ptr %t145 %t147 = call ptr @fn_llty(ptr %t146) call void @fn_emith(ptr %t147) %t148 = load i32, ptr %t119 %t149 = add i32 %t148, 1 store i32 %t149, ptr %t119 br label %wcond34 wend36: call void @fn_emith(ptr @.str7471) br label %ifend13 ifend13: %t150 = load i32, ptr %t12 %t151 = add i32 %t150, 1 store i32 %t151, ptr %t12 br label %wcond6 wend8: store i32 0, ptr %t12 br label %wcond42 wcond42: %t152 = load i32, ptr %t12 %t153 = load ptr, ptr @g_prog %t154 = getelementptr inbounds %LSlice, ptr %t153, i32 0, i32 1 %t155 = load i32, ptr %t154 %t156 = icmp slt i32 %t152, %t155 %t157 = zext i1 %t156 to i32 %t158 = icmp ne i32 %t157, 0 br i1 %t158, label %wbody43, label %wend44 wbody43: %t159 = load ptr, ptr @g_prog %t160 = load i32, ptr %t12 %t161 = getelementptr inbounds %LSlice, ptr %t159, i32 0, i32 0 %t162 = load ptr, ptr %t161 %t163 = getelementptr inbounds %LSlice, ptr %t159, i32 0, i32 1 %t164 = load i32, ptr %t163 %t165 = icmp ult i32 %t160, %t164 br i1 %t165, label %ixok45, label %ixbad46 ixbad46: store i32 4515, ptr @lp_site %t166 = call ptr @lp_win_stdio(i32 2) store i32 0, ptr @lp_site call i32 (ptr, ptr, ...) @fprintf(ptr %t166, ptr @.fmt_bounds, ptr @.str7472, i32 %t160, i32 %t164) call void @exit(i32 1) unreachable ixok45: %t167 = getelementptr inbounds ptr, ptr %t162, i32 %t160 %t168 = load ptr, ptr %t167 store ptr %t168, ptr %t169 %t170 = load ptr, ptr %t169 %t171 = getelementptr inbounds %Cmp_Node, ptr %t170, i32 0, i32 0 %t172 = load i32, ptr %t171 %t173 = icmp eq i32 %t172, 2 %t174 = zext i1 %t173 to i32 %t175 = icmp ne i32 %t174, 0 br i1 %t175, label %then47, label %ifend49 then47: store i32 0, ptr %t176 br label %wcond50 wcond50: %t177 = load i32, ptr %t176 %t178 = load i32, ptr %t12 %t179 = icmp slt i32 %t177, %t178 %t180 = zext i1 %t179 to i32 %t181 = icmp ne i32 %t180, 0 br i1 %t181, label %wbody51, label %wend52 wbody51: %t183 = load ptr, ptr @g_prog %t184 = load i32, ptr %t176 %t185 = getelementptr inbounds %LSlice, ptr %t183, i32 0, i32 0 %t186 = load ptr, ptr %t185 %t187 = getelementptr inbounds %LSlice, ptr %t183, i32 0, i32 1 %t188 = load i32, ptr %t187 %t189 = icmp ult i32 %t184, %t188 br i1 %t189, label %ixok53, label %ixbad54 ixbad54: store i32 4516, ptr @lp_site %t190 = call ptr @lp_win_stdio(i32 2) store i32 0, ptr @lp_site call i32 (ptr, ptr, ...) @fprintf(ptr %t190, ptr @.fmt_bounds, ptr @.str7473, i32 %t184, i32 %t188) call void @exit(i32 1) unreachable ixok53: %t191 = getelementptr inbounds ptr, ptr %t186, i32 %t184 %t192 = load ptr, ptr %t191 %t193 = getelementptr inbounds %Cmp_Node, ptr %t192, i32 0, i32 0 %t194 = load i32, ptr %t193 %t195 = icmp eq i32 %t194, 2 %t196 = zext i1 %t195 to i32 %t197 = icmp ne i32 %t196, 0 %t198 = zext i1 %t197 to i32 store i32 %t198, ptr %t182 br i1 %t197, label %sc55, label %scend56 sc55: %t199 = load ptr, ptr @g_prog %t200 = load i32, ptr %t176 %t201 = getelementptr inbounds %LSlice, ptr %t199, i32 0, i32 0 %t202 = load ptr, ptr %t201 %t203 = getelementptr inbounds %LSlice, ptr %t199, i32 0, i32 1 %t204 = load i32, ptr %t203 %t205 = icmp ult i32 %t200, %t204 br i1 %t205, label %ixok57, label %ixbad58 ixbad58: store i32 4517, ptr @lp_site %t206 = call ptr @lp_win_stdio(i32 2) store i32 0, ptr @lp_site call i32 (ptr, ptr, ...) @fprintf(ptr %t206, ptr @.fmt_bounds, ptr @.str7474, i32 %t200, i32 %t204) call void @exit(i32 1) unreachable ixok57: %t207 = getelementptr inbounds ptr, ptr %t202, i32 %t200 %t208 = load ptr, ptr %t207 %t209 = getelementptr inbounds %Cmp_Node, ptr %t208, i32 0, i32 1 %t210 = load ptr, ptr %t209 %t211 = load ptr, ptr %t169 %t212 = getelementptr inbounds %Cmp_Node, ptr %t211, i32 0, i32 1 %t213 = load ptr, ptr %t212 %t214 = call i32 @lp_str_eq(ptr %t210, ptr %t213) %t215 = icmp ne i32 %t214, 0 %t216 = zext i1 %t215 to i32 store i32 %t216, ptr %t182 br label %scend56 scend56: %t217 = load i32, ptr %t182 %t218 = icmp ne i32 %t217, 0 br i1 %t218, label %then59, label %ifend61 then59: %t220 = load i32, ptr %t176 %t221 = load i32, ptr @g_g_prog_user_end %t222 = icmp slt i32 %t220, %t221 %t223 = zext i1 %t222 to i32 %t224 = icmp ne i32 %t223, 0 %t225 = zext i1 %t224 to i32 store i32 %t225, ptr %t219 br i1 %t224, label %sc62, label %scend63 sc62: %t226 = load i32, ptr %t12 %t227 = load i32, ptr @g_g_prog_user_end %t228 = icmp sge i32 %t226, %t227 %t229 = zext i1 %t228 to i32 %t230 = icmp ne i32 %t229, 0 %t231 = zext i1 %t230 to i32 store i32 %t231, ptr %t219 br label %scend63 scend63: %t232 = load i32, ptr %t219 %t233 = icmp ne i32 %t232, 0 br i1 %t233, label %then64, label %ifend66 then64: %t234 = load ptr, ptr %t169 %t235 = getelementptr inbounds %Cmp_Node, ptr %t234, i32 0, i32 1 %t236 = load ptr, ptr %t235 store i32 4518, ptr @lp_site %t237 = call ptr @lp_str_concat(ptr @.str7475, ptr %t236) store i32 0, ptr @lp_site store i32 4519, ptr @lp_site %t238 = call ptr @lp_str_concat(ptr %t237, ptr @.str7476) store i32 0, ptr @lp_site call void @lp_free(ptr %t237) call void @fn_perr(ptr %t238) br label %ifend66 ifend66: %t239 = load ptr, ptr %t169 %t240 = getelementptr inbounds %Cmp_Node, ptr %t239, i32 0, i32 1 %t241 = load ptr, ptr %t240 store i32 4520, ptr @lp_site %t242 = call ptr @lp_str_concat(ptr @.str7477, ptr %t241) store i32 0, ptr @lp_site store i32 4521, ptr @lp_site %t243 = call ptr @lp_str_concat(ptr %t242, ptr @.str7478) store i32 0, ptr @lp_site call void @lp_free(ptr %t242) call void @fn_perr(ptr %t243) br label %ifend61 ifend61: %t244 = load i32, ptr %t176 %t245 = add i32 %t244, 1 store i32 %t245, ptr %t176 br label %wcond50 wend52: call void @fn_emith(ptr @.str7479) %t246 = load ptr, ptr %t169 %t247 = getelementptr inbounds %Cmp_Node, ptr %t246, i32 0, i32 1 %t248 = load ptr, ptr %t247 call void @fn_emith(ptr %t248) call void @fn_emith(ptr @.str7480) %t249 = load ptr, ptr %t169 %t250 = getelementptr inbounds %Cmp_Node, ptr %t249, i32 0, i32 3 %t251 = load ptr, ptr %t250 %t252 = call ptr @fn_llty(ptr %t251) %t253 = call i32 @lp_str_eq(ptr %t252, ptr @.str7481) %t254 = icmp ne i32 %t253, 0 br i1 %t254, label %then67, label %ifend69 then67: %t255 = load ptr, ptr @g_g_scan_roots %t256 = load ptr, ptr %t169 %t257 = getelementptr inbounds %Cmp_Node, ptr %t256, i32 0, i32 1 %t258 = load ptr, ptr %t257 %t259 = getelementptr inbounds %LSlice, ptr %t255, i32 0, i32 1 %t260 = getelementptr inbounds %LSlice, ptr %t255, i32 0, i32 2 %t261 = getelementptr inbounds %LSlice, ptr %t255, i32 0, i32 0 %t262 = load i32, ptr %t259 %t263 = load i32, ptr %t260 %t264 = icmp sge i32 %t262, %t263 br i1 %t264, label %grow70, label %put71 grow70: %t265 = mul i32 %t263, 2 %t266 = icmp eq i32 %t263, 0 %t267 = select i1 %t266, i32 8, i32 %t265 %t268 = getelementptr ptr, ptr null, i32 1 %t269 = ptrtoint ptr %t268 to i64 %t270 = zext i32 %t267 to i64 %t271 = mul i64 %t270, %t269 %t272 = load ptr, ptr %t261 store i32 4522, ptr @lp_site %t273 = call ptr @lp_realloc(ptr %t272, i64 %t271) store i32 0, ptr @lp_site store ptr %t273, ptr %t261 store i32 %t267, ptr %t260 br label %put71 put71: %t274 = load ptr, ptr %t261 %t275 = getelementptr inbounds ptr, ptr %t274, i32 %t262 store ptr %t258, ptr %t275 %t276 = add i32 %t262, 1 store i32 %t276, ptr %t259 br label %ifend69 ifend69: %t277 = load ptr, ptr %t169 %t278 = getelementptr inbounds %Cmp_Node, ptr %t277, i32 0, i32 3 %t279 = load ptr, ptr %t278 %t280 = call ptr @fn_llty(ptr %t279) call void @fn_emith(ptr %t280) call void @fn_emith(ptr @.str7482) %t281 = load ptr, ptr %t169 %t282 = call ptr @fn_global_init(ptr %t281) call void @fn_emith(ptr %t282) call void @fn_emith(ptr @.str7483) br label %ifend49 ifend49: %t283 = load i32, ptr %t12 %t284 = add i32 %t283, 1 store i32 %t284, ptr %t12 br label %wcond42 wend44: br label %ret ret: ret void } define void @fn_emit_extern_decls() { entry: %t0 = alloca i32 %t18 = alloca ptr %t34 = 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 = load i32, ptr %t0 %t10 = getelementptr inbounds %LSlice, ptr %t8, i32 0, i32 0 %t11 = load ptr, ptr %t10 %t12 = getelementptr inbounds %LSlice, ptr %t8, i32 0, i32 1 %t13 = load i32, ptr %t12 %t14 = icmp ult i32 %t9, %t13 br i1 %t14, label %ixok3, label %ixbad4 ixbad4: store i32 4523, ptr @lp_site %t15 = call ptr @lp_win_stdio(i32 2) store i32 0, ptr @lp_site call i32 (ptr, ptr, ...) @fprintf(ptr %t15, ptr @.fmt_bounds, ptr @.str7484, i32 %t9, i32 %t13) call void @exit(i32 1) unreachable ixok3: %t16 = getelementptr inbounds ptr, ptr %t11, i32 %t9 %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, 11 %t23 = zext i1 %t22 to i32 %t24 = icmp ne i32 %t23, 0 br i1 %t24, label %then5, label %ifend7 then5: call void @fn_emith(ptr @.str7486) %t25 = load ptr, ptr %t18 %t26 = getelementptr inbounds %Cmp_Node, ptr %t25, i32 0, i32 3 %t27 = load ptr, ptr %t26 %t28 = call ptr @fn_llty(ptr %t27) call void @fn_emith(ptr %t28) call void @fn_emith(ptr @.str7487) %t29 = load ptr, ptr %t18 %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 1 %t33 = load ptr, ptr %t32 call void @fn_emith(ptr %t33) call void @fn_emith(ptr @.str7488) store i32 0, ptr %t34 br label %wcond8 wcond8: %t35 = load i32, ptr %t34 %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 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 i32, ptr %t34 %t45 = icmp sgt i32 %t44, 0 %t46 = zext i1 %t45 to i32 %t47 = icmp ne i32 %t46, 0 br i1 %t47, label %then11, label %ifend13 then11: call void @fn_emith(ptr @.str7489) br label %ifend13 ifend13: %t48 = load ptr, ptr %t18 %t49 = getelementptr inbounds %Cmp_Node, ptr %t48, i32 0, i32 7 %t50 = load ptr, ptr %t49 %t51 = load i32, ptr %t34 %t52 = getelementptr inbounds %LSlice, ptr %t50, i32 0, i32 0 %t53 = load ptr, ptr %t52 %t54 = getelementptr inbounds %LSlice, ptr %t50, i32 0, i32 1 %t55 = load i32, ptr %t54 %t56 = icmp ult i32 %t51, %t55 br i1 %t56, label %ixok14, label %ixbad15 ixbad15: store i32 4524, ptr @lp_site %t57 = call ptr @lp_win_stdio(i32 2) store i32 0, ptr @lp_site call i32 (ptr, ptr, ...) @fprintf(ptr %t57, ptr @.fmt_bounds, ptr @.str7490, i32 %t51, i32 %t55) call void @exit(i32 1) unreachable ixok14: %t58 = getelementptr inbounds ptr, ptr %t53, i32 %t51 %t59 = load ptr, ptr %t58 %t60 = getelementptr inbounds %Cmp_Node, ptr %t59, i32 0, i32 3 %t61 = load ptr, ptr %t60 %t62 = call ptr @fn_llty(ptr %t61) call void @fn_emith(ptr %t62) %t63 = load i32, ptr %t34 %t64 = add i32 %t63, 1 store i32 %t64, ptr %t34 br label %wcond8 wend10: call void @fn_emith(ptr @.str7491) br label %ifend7 ifend7: %t65 = load i32, ptr %t0 %t66 = add i32 %t65, 1 store i32 %t66, ptr %t0 br label %wcond0 wend2: br label %ret ret: ret void } define void @fn_emit_str_prelude() { entry: call void @fn_emith(ptr @.str7492) call void @fn_emith(ptr @.str7493) call void @fn_emith(ptr @.str7494) call void @fn_emith(ptr @.str7495) call void @fn_emith(ptr @.str7496) call void @fn_emith(ptr @.str7497) call void @fn_emith(ptr @.str7498) call void @fn_emith(ptr @.str7499) call void @fn_emith(ptr @.str7500) call void @fn_emith(ptr @.str7501) call void @fn_emith(ptr @.str7502) call void @fn_emith(ptr @.str7503) call void @fn_emith(ptr @.str7504) call void @fn_emith(ptr @.str7505) call void @fn_emith(ptr @.str7506) call void @fn_emith(ptr @.str7507) call void @fn_emith(ptr @.str7508) call void @fn_emith(ptr @.str7509) call void @fn_emith(ptr @.str7510) call void @fn_emith(ptr @.str7511) call void @fn_emith(ptr @.str7512) call void @fn_emith(ptr @.str7513) call void @fn_emith(ptr @.str7514) call void @fn_emith(ptr @.str7515) call void @fn_emith(ptr @.str7516) call void @fn_emith(ptr @.str7517) call void @fn_emith(ptr @.str7518) call void @fn_emith(ptr @.str7519) call void @fn_emith(ptr @.str7520) call void @fn_emith(ptr @.str7521) call void @fn_emith(ptr @.str7522) call void @fn_emith(ptr @.str7523) call void @fn_emith(ptr @.str7524) call void @fn_emith(ptr @.str7525) call void @fn_emith(ptr @.str7526) br label %ret ret: ret void } define void @fn_emit_int_str() { entry: call void @fn_emith(ptr @.str7527) call void @fn_emith(ptr @.str7528) call void @fn_emith(ptr @.str7529) call void @fn_emith(ptr @.str7530) call void @fn_emith(ptr @.str7531) call void @fn_emith(ptr @.str7532) call void @fn_emith(ptr @.str7533) call void @fn_emith(ptr @.str7534) call void @fn_emith(ptr @.str7535) call void @fn_emith(ptr @.str7536) call void @fn_emith(ptr @.str7537) call void @fn_emith(ptr @.str7538) call void @fn_emith(ptr @.str7539) call void @fn_emith(ptr @.str7540) call void @fn_emith(ptr @.str7541) call void @fn_emith(ptr @.str7542) call void @fn_emith(ptr @.str7543) call void @fn_emith(ptr @.str7544) br label %ret ret: ret void } define void @fn_emit_long_str() { entry: call void @fn_emith(ptr @.str7545) call void @fn_emith(ptr @.str7546) call void @fn_emith(ptr @.str7547) call void @fn_emith(ptr @.str7548) call void @fn_emith(ptr @.str7549) call void @fn_emith(ptr @.str7550) call void @fn_emith(ptr @.str7551) call void @fn_emith(ptr @.str7552) call void @fn_emith(ptr @.str7553) call void @fn_emith(ptr @.str7554) call void @fn_emith(ptr @.str7555) call void @fn_emith(ptr @.str7556) call void @fn_emith(ptr @.str7557) call void @fn_emith(ptr @.str7558) call void @fn_emith(ptr @.str7559) call void @fn_emith(ptr @.str7560) call void @fn_emith(ptr @.str7561) call void @fn_emith(ptr @.str7562) br label %ret ret: ret void } define void @fn_emit_str_slice() { entry: call void @fn_emith(ptr @.str7563) call void @fn_emith(ptr @.str7564) call void @fn_emith(ptr @.str7565) call void @fn_emith(ptr @.str7566) call void @fn_emith(ptr @.str7567) call void @fn_emith(ptr @.str7568) call void @fn_emith(ptr @.str7569) call void @fn_emith(ptr @.str7570) br label %ret ret: ret void } define i32 @fn_gi_index(ptr %arg_name) { entry: %retval = alloca i32 %t0 = alloca ptr %t5 = alloca ptr store ptr %arg_name, ptr %t0 %t1 = load ptr, ptr @g_g_gi_idx_k %t2 = load ptr, ptr @g_g_gi_idx_v %t3 = load ptr, ptr %t0 %t4 = call ptr @fn_ck_tab_get(ptr %t1, ptr %t2, 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 = sub i32 0, 1 store i32 %t10, ptr %retval br label %ret ifend2: %t11 = load ptr, ptr %t5 %t12 = getelementptr inbounds %Cmp_Node, ptr %t11, i32 0, i32 2 %t13 = load i32, ptr %t12 store i32 %t13, ptr %retval br label %ret ret: %t14 = load i32, ptr %retval ret i32 %t14 } define i32 @fn_gi_fn_seen(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_gi_fn_seen %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_gi_fn_seen %t10 = load i32, ptr %t1 %t11 = getelementptr inbounds %LSlice, ptr %t9, i32 0, i32 0 %t12 = load ptr, ptr %t11 %t13 = getelementptr inbounds %LSlice, ptr %t9, i32 0, i32 1 %t14 = load i32, ptr %t13 %t15 = icmp ult i32 %t10, %t14 br i1 %t15, label %ixok3, label %ixbad4 ixbad4: store i32 4525, ptr @lp_site %t16 = call ptr @lp_win_stdio(i32 2) store i32 0, ptr @lp_site call i32 (ptr, ptr, ...) @fprintf(ptr %t16, ptr @.fmt_bounds, ptr @.str7571, i32 %t10, i32 %t14) call void @exit(i32 1) unreachable ixok3: %t17 = getelementptr inbounds ptr, ptr %t12, i32 %t10 %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 br i1 %t21, label %then5, label %ifend7 then5: store i32 1, ptr %retval br label %ret ifend7: %t22 = load i32, ptr %t1 %t23 = add i32 %t22, 1 store i32 %t23, ptr %t1 br label %wcond0 wend2: store i32 0, ptr %retval br label %ret ret: %t24 = load i32, ptr %retval ret i32 %t24 } define void @fn_gi_reads(ptr %arg_n, ptr %arg_out) { entry: %t0 = alloca ptr %t1 = alloca ptr %t6 = alloca i32 %t7 = alloca i32 %t38 = alloca i32 %t53 = alloca ptr %t80 = alloca i32 %t124 = alloca i32 %t125 = alloca i32 %t126 = alloca i32 %t173 = alloca i32 %t174 = alloca i32 %t175 = alloca i32 %t249 = alloca i32 %t270 = alloca ptr %t271 = alloca i32 %t286 = alloca i32 %t331 = alloca i32 store ptr %arg_n, ptr %t0 store ptr %arg_out, 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: br label %ret ifend2: %t8 = load ptr, ptr %t0 %t9 = getelementptr inbounds %Cmp_Node, ptr %t8, i32 0, i32 0 %t10 = load i32, ptr %t9 %t11 = icmp eq i32 %t10, 33 %t12 = zext i1 %t11 to i32 %t13 = icmp ne i32 %t12, 0 %t14 = zext i1 %t13 to i32 store i32 %t14, ptr %t7 br i1 %t13, label %scend4, label %sc3 sc3: %t15 = load ptr, ptr %t0 %t16 = getelementptr inbounds %Cmp_Node, ptr %t15, i32 0, i32 0 %t17 = load i32, ptr %t16 %t18 = icmp eq i32 %t17, 55 %t19 = zext i1 %t18 to i32 %t20 = icmp ne i32 %t19, 0 %t21 = zext i1 %t20 to i32 store i32 %t21, ptr %t7 br label %scend4 scend4: %t22 = load i32, ptr %t7 %t23 = icmp ne i32 %t22, 0 %t24 = zext i1 %t23 to i32 store i32 %t24, ptr %t6 br i1 %t23, label %sc5, label %scend6 sc5: %t25 = load ptr, ptr %t0 %t26 = getelementptr inbounds %Cmp_Node, ptr %t25, i32 0, i32 1 %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 %t6 br label %scend6 scend6: %t32 = load i32, ptr %t6 %t33 = icmp ne i32 %t32, 0 br i1 %t33, label %then7, label %ifend9 then7: %t34 = load ptr, ptr %t0 %t35 = getelementptr inbounds %Cmp_Node, ptr %t34, i32 0, i32 1 %t36 = load ptr, ptr %t35 %t37 = call i32 @fn_gi_index(ptr %t36) store i32 %t37, ptr %t38 %t39 = load i32, ptr %t38 %t40 = icmp sge i32 %t39, 0 %t41 = zext i1 %t40 to i32 %t42 = icmp ne i32 %t41, 0 br i1 %t42, label %then10, label %ifend12 then10: %t43 = load ptr, ptr @g_prog %t44 = load i32, ptr %t38 %t45 = getelementptr inbounds %LSlice, ptr %t43, i32 0, i32 0 %t46 = load ptr, ptr %t45 %t47 = getelementptr inbounds %LSlice, ptr %t43, i32 0, i32 1 %t48 = load i32, ptr %t47 %t49 = icmp ult i32 %t44, %t48 br i1 %t49, label %ixok13, label %ixbad14 ixbad14: store i32 4526, ptr @lp_site %t50 = call ptr @lp_win_stdio(i32 2) store i32 0, ptr @lp_site call i32 (ptr, ptr, ...) @fprintf(ptr %t50, ptr @.fmt_bounds, ptr @.str7573, i32 %t44, i32 %t48) call void @exit(i32 1) unreachable ixok13: %t51 = getelementptr inbounds ptr, ptr %t46, i32 %t44 %t52 = load ptr, ptr %t51 store ptr %t52, ptr %t53 %t54 = load ptr, ptr %t53 %t55 = getelementptr inbounds %Cmp_Node, ptr %t54, i32 0, i32 0 %t56 = load i32, ptr %t55 %t57 = icmp eq i32 %t56, 2 %t58 = zext i1 %t57 to i32 %t59 = icmp ne i32 %t58, 0 br i1 %t59, label %then15, label %ifend17 then15: %t60 = load ptr, ptr %t1 %t61 = load i32, ptr %t38 %t62 = getelementptr inbounds %LSlice, ptr %t60, i32 0, i32 1 %t63 = getelementptr inbounds %LSlice, ptr %t60, i32 0, i32 2 %t64 = getelementptr inbounds %LSlice, ptr %t60, i32 0, i32 0 %t65 = load i32, ptr %t62 %t66 = load i32, ptr %t63 %t67 = icmp sge i32 %t65, %t66 br i1 %t67, label %grow18, label %put19 grow18: %t68 = mul i32 %t66, 2 %t69 = icmp eq i32 %t66, 0 %t70 = select i1 %t69, i32 8, i32 %t68 %t71 = getelementptr i32, ptr null, i32 1 %t72 = ptrtoint ptr %t71 to i64 %t73 = zext i32 %t70 to i64 %t74 = mul i64 %t73, %t72 %t75 = load ptr, ptr %t64 store i32 4527, ptr @lp_site %t76 = call ptr @lp_realloc(ptr %t75, i64 %t74) store i32 0, ptr @lp_site store ptr %t76, ptr %t64 store i32 %t70, ptr %t63 br label %put19 put19: %t77 = load ptr, ptr %t64 %t78 = getelementptr inbounds i32, ptr %t77, i32 %t65 store i32 %t61, ptr %t78 %t79 = add i32 %t65, 1 store i32 %t79, ptr %t62 br label %ifend17 ifend17: %t81 = load ptr, ptr %t53 %t82 = getelementptr inbounds %Cmp_Node, ptr %t81, i32 0, i32 0 %t83 = load i32, ptr %t82 %t84 = icmp eq i32 %t83, 4 %t85 = zext i1 %t84 to i32 %t86 = icmp ne i32 %t85, 0 %t87 = zext i1 %t86 to i32 store i32 %t87, ptr %t80 br i1 %t86, label %sc20, label %scend21 sc20: %t88 = load ptr, ptr %t0 %t89 = getelementptr inbounds %Cmp_Node, ptr %t88, i32 0, i32 1 %t90 = load ptr, ptr %t89 %t91 = call i32 @fn_gi_fn_seen(ptr %t90) %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 %t80 br label %scend21 scend21: %t96 = load i32, ptr %t80 %t97 = icmp ne i32 %t96, 0 br i1 %t97, label %then22, label %ifend24 then22: %t98 = load ptr, ptr @g_g_gi_fn_seen %t99 = load ptr, ptr %t0 %t100 = getelementptr inbounds %Cmp_Node, ptr %t99, i32 0, i32 1 %t101 = load ptr, ptr %t100 %t102 = getelementptr inbounds %LSlice, ptr %t98, i32 0, i32 1 %t103 = getelementptr inbounds %LSlice, ptr %t98, i32 0, i32 2 %t104 = getelementptr inbounds %LSlice, ptr %t98, i32 0, i32 0 %t105 = load i32, ptr %t102 %t106 = load i32, ptr %t103 %t107 = icmp sge i32 %t105, %t106 br i1 %t107, label %grow25, label %put26 grow25: %t108 = mul i32 %t106, 2 %t109 = icmp eq i32 %t106, 0 %t110 = select i1 %t109, i32 8, i32 %t108 %t111 = getelementptr ptr, ptr null, i32 1 %t112 = ptrtoint ptr %t111 to i64 %t113 = zext i32 %t110 to i64 %t114 = mul i64 %t113, %t112 %t115 = load ptr, ptr %t104 store i32 4528, ptr @lp_site %t116 = call ptr @lp_realloc(ptr %t115, i64 %t114) store i32 0, ptr @lp_site store ptr %t116, ptr %t104 store i32 %t110, ptr %t103 br label %put26 put26: %t117 = load ptr, ptr %t104 %t118 = getelementptr inbounds ptr, ptr %t117, i32 %t105 store ptr %t101, ptr %t118 %t119 = add i32 %t105, 1 store i32 %t119, ptr %t102 %t120 = load ptr, ptr %t53 %t121 = getelementptr inbounds %Cmp_Node, ptr %t120, i32 0, i32 4 %t122 = load ptr, ptr %t121 %t123 = load ptr, ptr %t1 call void @fn_gi_reads(ptr %t122, ptr %t123) br label %ifend24 ifend24: br label %ifend12 ifend12: br label %ifend9 ifend9: %t127 = load ptr, ptr %t0 %t128 = getelementptr inbounds %Cmp_Node, ptr %t127, i32 0, i32 0 %t129 = load i32, ptr %t128 %t130 = icmp eq i32 %t129, 34 %t131 = zext i1 %t130 to i32 %t132 = icmp ne i32 %t131, 0 %t133 = zext i1 %t132 to i32 store i32 %t133, ptr %t126 br i1 %t132, label %sc27, label %scend28 sc27: %t134 = load ptr, ptr %t0 %t135 = getelementptr inbounds %Cmp_Node, ptr %t134, i32 0, i32 4 %t136 = load ptr, ptr %t135 %t137 = icmp ne ptr %t136, null %t138 = zext i1 %t137 to i32 %t139 = icmp ne i32 %t138, 0 %t140 = zext i1 %t139 to i32 store i32 %t140, ptr %t126 br label %scend28 scend28: %t141 = load i32, ptr %t126 %t142 = icmp ne i32 %t141, 0 %t143 = zext i1 %t142 to i32 store i32 %t143, ptr %t125 br i1 %t142, label %sc29, label %scend30 sc29: %t144 = load ptr, ptr %t0 %t145 = getelementptr inbounds %Cmp_Node, ptr %t144, i32 0, i32 4 %t146 = load ptr, ptr %t145 %t147 = getelementptr inbounds %Cmp_Node, ptr %t146, i32 0, i32 0 %t148 = load i32, ptr %t147 %t149 = icmp eq i32 %t148, 33 %t150 = zext i1 %t149 to i32 %t151 = icmp ne i32 %t150, 0 %t152 = zext i1 %t151 to i32 store i32 %t152, ptr %t125 br label %scend30 scend30: %t153 = load i32, ptr %t125 %t154 = icmp ne i32 %t153, 0 %t155 = zext i1 %t154 to i32 store i32 %t155, ptr %t124 br i1 %t154, label %sc31, label %scend32 sc31: %t156 = load ptr, ptr %t0 %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 = icmp ne ptr %t160, null %t162 = zext i1 %t161 to i32 %t163 = icmp ne i32 %t162, 0 %t164 = zext i1 %t163 to i32 store i32 %t164, ptr %t124 br label %scend32 scend32: %t165 = load i32, ptr %t124 %t166 = icmp ne i32 %t165, 0 br i1 %t166, label %then33, label %ifend35 then33: %t167 = load ptr, ptr %t0 %t168 = getelementptr inbounds %Cmp_Node, ptr %t167, i32 0, i32 4 %t169 = load ptr, ptr %t168 %t170 = getelementptr inbounds %Cmp_Node, ptr %t169, i32 0, i32 1 %t171 = load ptr, ptr %t170 %t172 = call i32 @fn_gi_index(ptr %t171) store i32 %t172, ptr %t173 %t176 = load i32, ptr %t173 %t177 = icmp sge i32 %t176, 0 %t178 = zext i1 %t177 to i32 %t179 = icmp ne i32 %t178, 0 %t180 = zext i1 %t179 to i32 store i32 %t180, ptr %t175 br i1 %t179, label %sc36, label %scend37 sc36: %t181 = load ptr, ptr @g_prog %t182 = load i32, ptr %t173 %t183 = getelementptr inbounds %LSlice, ptr %t181, i32 0, i32 0 %t184 = load ptr, ptr %t183 %t185 = getelementptr inbounds %LSlice, ptr %t181, i32 0, i32 1 %t186 = load i32, ptr %t185 %t187 = icmp ult i32 %t182, %t186 br i1 %t187, label %ixok38, label %ixbad39 ixbad39: store i32 4529, ptr @lp_site %t188 = call ptr @lp_win_stdio(i32 2) store i32 0, ptr @lp_site call i32 (ptr, ptr, ...) @fprintf(ptr %t188, ptr @.fmt_bounds, ptr @.str7575, i32 %t182, i32 %t186) call void @exit(i32 1) unreachable ixok38: %t189 = getelementptr inbounds ptr, ptr %t184, i32 %t182 %t190 = load ptr, ptr %t189 %t191 = getelementptr inbounds %Cmp_Node, ptr %t190, i32 0, i32 0 %t192 = load i32, ptr %t191 %t193 = icmp eq i32 %t192, 4 %t194 = zext i1 %t193 to i32 %t195 = icmp ne i32 %t194, 0 %t196 = zext i1 %t195 to i32 store i32 %t196, ptr %t175 br label %scend37 scend37: %t197 = load i32, ptr %t175 %t198 = icmp ne i32 %t197, 0 %t199 = zext i1 %t198 to i32 store i32 %t199, ptr %t174 br i1 %t198, label %sc40, label %scend41 sc40: %t200 = load ptr, ptr %t0 %t201 = getelementptr inbounds %Cmp_Node, ptr %t200, i32 0, i32 4 %t202 = load ptr, ptr %t201 %t203 = getelementptr inbounds %Cmp_Node, ptr %t202, i32 0, i32 1 %t204 = load ptr, ptr %t203 %t205 = call i32 @fn_gi_fn_seen(ptr %t204) %t206 = icmp eq i32 %t205, 0 %t207 = zext i1 %t206 to i32 %t208 = icmp ne i32 %t207, 0 %t209 = zext i1 %t208 to i32 store i32 %t209, ptr %t174 br label %scend41 scend41: %t210 = load i32, ptr %t174 %t211 = icmp ne i32 %t210, 0 br i1 %t211, label %then42, label %ifend44 then42: %t212 = load ptr, ptr @g_g_gi_fn_seen %t213 = load ptr, ptr %t0 %t214 = getelementptr inbounds %Cmp_Node, ptr %t213, i32 0, i32 4 %t215 = load ptr, ptr %t214 %t216 = getelementptr inbounds %Cmp_Node, ptr %t215, i32 0, i32 1 %t217 = load ptr, ptr %t216 %t218 = getelementptr inbounds %LSlice, ptr %t212, i32 0, i32 1 %t219 = getelementptr inbounds %LSlice, ptr %t212, i32 0, i32 2 %t220 = getelementptr inbounds %LSlice, ptr %t212, i32 0, i32 0 %t221 = load i32, ptr %t218 %t222 = load i32, ptr %t219 %t223 = icmp sge i32 %t221, %t222 br i1 %t223, label %grow45, label %put46 grow45: %t224 = mul i32 %t222, 2 %t225 = icmp eq i32 %t222, 0 %t226 = select i1 %t225, i32 8, i32 %t224 %t227 = getelementptr ptr, ptr null, i32 1 %t228 = ptrtoint ptr %t227 to i64 %t229 = zext i32 %t226 to i64 %t230 = mul i64 %t229, %t228 %t231 = load ptr, ptr %t220 store i32 4530, ptr @lp_site %t232 = call ptr @lp_realloc(ptr %t231, i64 %t230) store i32 0, ptr @lp_site store ptr %t232, ptr %t220 store i32 %t226, ptr %t219 br label %put46 put46: %t233 = load ptr, ptr %t220 %t234 = getelementptr inbounds ptr, ptr %t233, i32 %t221 store ptr %t217, ptr %t234 %t235 = add i32 %t221, 1 store i32 %t235, ptr %t218 %t236 = load ptr, ptr @g_prog %t237 = load i32, ptr %t173 %t238 = getelementptr inbounds %LSlice, ptr %t236, i32 0, i32 0 %t239 = load ptr, ptr %t238 %t240 = getelementptr inbounds %LSlice, ptr %t236, i32 0, i32 1 %t241 = load i32, ptr %t240 %t242 = icmp ult i32 %t237, %t241 br i1 %t242, label %ixok47, label %ixbad48 ixbad48: store i32 4531, ptr @lp_site %t243 = call ptr @lp_win_stdio(i32 2) store i32 0, ptr @lp_site call i32 (ptr, ptr, ...) @fprintf(ptr %t243, ptr @.fmt_bounds, ptr @.str7576, i32 %t237, i32 %t241) call void @exit(i32 1) unreachable ixok47: %t244 = getelementptr inbounds ptr, ptr %t239, i32 %t237 %t245 = load ptr, ptr %t244 %t246 = getelementptr inbounds %Cmp_Node, ptr %t245, i32 0, i32 4 %t247 = load ptr, ptr %t246 %t248 = load ptr, ptr %t1 call void @fn_gi_reads(ptr %t247, ptr %t248) br label %ifend44 ifend44: br label %ifend35 ifend35: %t250 = load ptr, ptr %t0 %t251 = getelementptr inbounds %Cmp_Node, ptr %t250, i32 0, i32 0 %t252 = load i32, ptr %t251 %t253 = icmp eq i32 %t252, 39 %t254 = zext i1 %t253 to i32 %t255 = icmp ne i32 %t254, 0 %t256 = zext i1 %t255 to i32 store i32 %t256, ptr %t249 br i1 %t255, label %sc49, label %scend50 sc49: %t257 = load ptr, ptr %t0 %t258 = getelementptr inbounds %Cmp_Node, ptr %t257, i32 0, i32 1 %t259 = load ptr, ptr %t258 %t260 = icmp ne ptr %t259, null %t261 = zext i1 %t260 to i32 %t262 = icmp ne i32 %t261, 0 %t263 = zext i1 %t262 to i32 store i32 %t263, ptr %t249 br label %scend50 scend50: %t264 = load i32, ptr %t249 %t265 = icmp ne i32 %t264, 0 br i1 %t265, label %then51, label %ifend53 then51: %t266 = load ptr, ptr %t0 %t267 = getelementptr inbounds %Cmp_Node, ptr %t266, i32 0, i32 1 %t268 = load ptr, ptr %t267 %t269 = call ptr @fn_find_comp(ptr %t268) store ptr %t269, ptr %t270 %t272 = load ptr, ptr %t270 %t273 = icmp ne ptr %t272, null %t274 = zext i1 %t273 to i32 %t275 = icmp ne i32 %t274, 0 %t276 = zext i1 %t275 to i32 store i32 %t276, ptr %t271 br i1 %t275, label %sc54, label %scend55 sc54: %t277 = load ptr, ptr %t270 %t278 = getelementptr inbounds %Cmp_Node, ptr %t277, i32 0, i32 7 %t279 = load ptr, ptr %t278 %t280 = icmp ne ptr %t279, null %t281 = zext i1 %t280 to i32 %t282 = icmp ne i32 %t281, 0 %t283 = zext i1 %t282 to i32 store i32 %t283, ptr %t271 br label %scend55 scend55: %t284 = load i32, ptr %t271 %t285 = icmp ne i32 %t284, 0 br i1 %t285, label %then56, label %ifend58 then56: store i32 0, ptr %t286 br label %wcond59 wcond59: %t287 = load i32, ptr %t286 %t288 = load ptr, ptr %t270 %t289 = getelementptr inbounds %Cmp_Node, ptr %t288, i32 0, i32 7 %t290 = load ptr, ptr %t289 %t291 = getelementptr inbounds %LSlice, ptr %t290, i32 0, i32 1 %t292 = load i32, ptr %t291 %t293 = icmp slt i32 %t287, %t292 %t294 = zext i1 %t293 to i32 %t295 = icmp ne i32 %t294, 0 br i1 %t295, label %wbody60, label %wend61 wbody60: %t296 = load ptr, ptr %t270 %t297 = getelementptr inbounds %Cmp_Node, ptr %t296, i32 0, i32 7 %t298 = load ptr, ptr %t297 %t299 = load i32, ptr %t286 %t300 = getelementptr inbounds %LSlice, ptr %t298, i32 0, i32 0 %t301 = load ptr, ptr %t300 %t302 = getelementptr inbounds %LSlice, ptr %t298, i32 0, i32 1 %t303 = load i32, ptr %t302 %t304 = icmp ult i32 %t299, %t303 br i1 %t304, label %ixok62, label %ixbad63 ixbad63: store i32 4532, ptr @lp_site %t305 = call ptr @lp_win_stdio(i32 2) store i32 0, ptr @lp_site call i32 (ptr, ptr, ...) @fprintf(ptr %t305, ptr @.fmt_bounds, ptr @.str7577, i32 %t299, i32 %t303) call void @exit(i32 1) unreachable ixok62: %t306 = getelementptr inbounds ptr, ptr %t301, i32 %t299 %t307 = load ptr, ptr %t306 %t308 = getelementptr inbounds %Cmp_Node, ptr %t307, i32 0, i32 4 %t309 = load ptr, ptr %t308 %t310 = load ptr, ptr %t1 call void @fn_gi_reads(ptr %t309, ptr %t310) %t311 = load i32, ptr %t286 %t312 = add i32 %t311, 1 store i32 %t312, ptr %t286 br label %wcond59 wend61: br label %ifend58 ifend58: br label %ifend53 ifend53: %t313 = load ptr, ptr %t0 %t314 = getelementptr inbounds %Cmp_Node, ptr %t313, i32 0, i32 4 %t315 = load ptr, ptr %t314 %t316 = load ptr, ptr %t1 call void @fn_gi_reads(ptr %t315, ptr %t316) %t317 = load ptr, ptr %t0 %t318 = getelementptr inbounds %Cmp_Node, ptr %t317, i32 0, i32 5 %t319 = load ptr, ptr %t318 %t320 = load ptr, ptr %t1 call void @fn_gi_reads(ptr %t319, ptr %t320) %t321 = load ptr, ptr %t0 %t322 = getelementptr inbounds %Cmp_Node, ptr %t321, i32 0, i32 6 %t323 = load ptr, ptr %t322 %t324 = load ptr, ptr %t1 call void @fn_gi_reads(ptr %t323, ptr %t324) %t325 = load ptr, ptr %t0 %t326 = getelementptr inbounds %Cmp_Node, ptr %t325, i32 0, i32 7 %t327 = load ptr, ptr %t326 %t328 = icmp ne ptr %t327, null %t329 = zext i1 %t328 to i32 %t330 = icmp ne i32 %t329, 0 br i1 %t330, label %then64, label %ifend66 then64: store i32 0, ptr %t331 br label %wcond67 wcond67: %t332 = load i32, ptr %t331 %t333 = load ptr, ptr %t0 %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 1 %t337 = load i32, ptr %t336 %t338 = icmp slt i32 %t332, %t337 %t339 = zext i1 %t338 to i32 %t340 = icmp ne i32 %t339, 0 br i1 %t340, label %wbody68, label %wend69 wbody68: %t341 = load ptr, ptr %t0 %t342 = getelementptr inbounds %Cmp_Node, ptr %t341, i32 0, i32 7 %t343 = load ptr, ptr %t342 %t344 = load i32, ptr %t331 %t345 = getelementptr inbounds %LSlice, ptr %t343, i32 0, i32 0 %t346 = load ptr, ptr %t345 %t347 = getelementptr inbounds %LSlice, ptr %t343, i32 0, i32 1 %t348 = load i32, ptr %t347 %t349 = icmp ult i32 %t344, %t348 br i1 %t349, label %ixok70, label %ixbad71 ixbad71: store i32 4533, ptr @lp_site %t350 = call ptr @lp_win_stdio(i32 2) store i32 0, ptr @lp_site call i32 (ptr, ptr, ...) @fprintf(ptr %t350, ptr @.fmt_bounds, ptr @.str7578, i32 %t344, i32 %t348) call void @exit(i32 1) unreachable ixok70: %t351 = getelementptr inbounds ptr, ptr %t346, i32 %t344 %t352 = load ptr, ptr %t351 %t353 = load ptr, ptr %t1 call void @fn_gi_reads(ptr %t352, ptr %t353) %t354 = load i32, ptr %t331 %t355 = add i32 %t354, 1 store i32 %t355, ptr %t331 br label %wcond67 wend69: br label %ifend66 ifend66: br label %ret ret: ret void } define void @fn_gi_visit(i32 %arg_i) { entry: %t0 = alloca i32 %t33 = alloca ptr %t46 = alloca ptr %t57 = alloca i32 %t65 = alloca i32 store i32 %arg_i, ptr %t0 %t1 = load ptr, ptr @g_g_gi_state %t2 = load i32, ptr %t0 %t3 = getelementptr inbounds %LSlice, ptr %t1, i32 0, i32 0 %t4 = load ptr, ptr %t3 %t5 = getelementptr inbounds %LSlice, ptr %t1, i32 0, i32 1 %t6 = load i32, ptr %t5 %t7 = icmp ult i32 %t2, %t6 br i1 %t7, label %ixok0, label %ixbad1 ixbad1: store i32 4534, ptr @lp_site %t8 = call ptr @lp_win_stdio(i32 2) store i32 0, ptr @lp_site call i32 (ptr, ptr, ...) @fprintf(ptr %t8, ptr @.fmt_bounds, ptr @.str7579, i32 %t2, i32 %t6) call void @exit(i32 1) unreachable ixok0: %t9 = getelementptr inbounds i32, ptr %t4, i32 %t2 %t10 = load i32, ptr %t9 %t11 = icmp ne i32 %t10, 0 %t12 = zext i1 %t11 to i32 %t13 = icmp ne i32 %t12, 0 br i1 %t13, label %then2, label %ifend4 then2: br label %ret ifend4: %t14 = load ptr, ptr @g_g_gi_state %t15 = load i32, ptr %t0 %t16 = getelementptr inbounds %LSlice, ptr %t14, i32 0, i32 0 %t17 = load ptr, ptr %t16 %t18 = getelementptr inbounds %LSlice, ptr %t14, i32 0, i32 1 %t19 = load i32, ptr %t18 %t20 = icmp ult i32 %t15, %t19 br i1 %t20, label %ixok5, label %ixbad6 ixbad6: store i32 4535, ptr @lp_site %t21 = call ptr @lp_win_stdio(i32 2) store i32 0, ptr @lp_site call i32 (ptr, ptr, ...) @fprintf(ptr %t21, ptr @.fmt_bounds, ptr @.str7581, i32 %t15, i32 %t19) call void @exit(i32 1) unreachable ixok5: %t22 = getelementptr inbounds i32, ptr %t17, i32 %t15 store i32 1, ptr %t22 %t23 = load ptr, ptr @g_prog %t24 = load i32, ptr %t0 %t25 = getelementptr inbounds %LSlice, ptr %t23, i32 0, i32 0 %t26 = load ptr, ptr %t25 %t27 = getelementptr inbounds %LSlice, ptr %t23, i32 0, i32 1 %t28 = load i32, ptr %t27 %t29 = icmp ult i32 %t24, %t28 br i1 %t29, label %ixok7, label %ixbad8 ixbad8: store i32 4536, ptr @lp_site %t30 = call ptr @lp_win_stdio(i32 2) store i32 0, ptr @lp_site call i32 (ptr, ptr, ...) @fprintf(ptr %t30, ptr @.fmt_bounds, ptr @.str7582, i32 %t24, i32 %t28) call void @exit(i32 1) unreachable ixok7: %t31 = getelementptr inbounds ptr, ptr %t26, i32 %t24 %t32 = load ptr, ptr %t31 store ptr %t32, ptr %t33 %t34 = load ptr, ptr %t33 %t35 = getelementptr inbounds %Cmp_Node, ptr %t34, i32 0, i32 4 %t36 = load ptr, ptr %t35 %t37 = icmp ne ptr %t36, null %t38 = zext i1 %t37 to i32 %t39 = icmp ne i32 %t38, 0 br i1 %t39, label %then9, label %ifend11 then9: %t40 = getelementptr %LSlice, ptr null, i32 1 %t41 = ptrtoint ptr %t40 to i64 store i32 4537, ptr @lp_site %t42 = call ptr @lp_malloc(i64 %t41) store i32 0, ptr @lp_site %t43 = getelementptr inbounds %LSlice, ptr %t42, i32 0, i32 0 store ptr null, ptr %t43 %t44 = getelementptr inbounds %LSlice, ptr %t42, i32 0, i32 1 store i32 0, ptr %t44 %t45 = getelementptr inbounds %LSlice, ptr %t42, i32 0, i32 2 store i32 0, ptr %t45 store ptr %t42, ptr %t46 %t47 = getelementptr %LSlice, ptr null, i32 1 %t48 = ptrtoint ptr %t47 to i64 store i32 4538, ptr @lp_site %t49 = call ptr @lp_malloc(i64 %t48) store i32 0, ptr @lp_site %t50 = getelementptr inbounds %LSlice, ptr %t49, i32 0, i32 0 store ptr null, ptr %t50 %t51 = getelementptr inbounds %LSlice, ptr %t49, i32 0, i32 1 store i32 0, ptr %t51 %t52 = getelementptr inbounds %LSlice, ptr %t49, i32 0, i32 2 store i32 0, ptr %t52 store ptr %t49, ptr @g_g_gi_fn_seen %t53 = load ptr, ptr %t33 %t54 = getelementptr inbounds %Cmp_Node, ptr %t53, i32 0, i32 4 %t55 = load ptr, ptr %t54 %t56 = load ptr, ptr %t46 call void @fn_gi_reads(ptr %t55, ptr %t56) store i32 0, ptr %t57 br label %wcond12 wcond12: %t58 = load i32, ptr %t57 %t59 = load ptr, ptr %t46 %t60 = getelementptr inbounds %LSlice, ptr %t59, i32 0, i32 1 %t61 = load i32, ptr %t60 %t62 = icmp slt i32 %t58, %t61 %t63 = zext i1 %t62 to i32 %t64 = icmp ne i32 %t63, 0 br i1 %t64, label %wbody13, label %wend14 wbody13: %t66 = load ptr, ptr %t46 %t67 = load i32, ptr %t57 %t68 = getelementptr inbounds %LSlice, ptr %t66, i32 0, i32 0 %t69 = load ptr, ptr %t68 %t70 = getelementptr inbounds %LSlice, ptr %t66, i32 0, i32 1 %t71 = load i32, ptr %t70 %t72 = icmp ult i32 %t67, %t71 br i1 %t72, label %ixok15, label %ixbad16 ixbad16: store i32 4539, ptr @lp_site %t73 = call ptr @lp_win_stdio(i32 2) store i32 0, ptr @lp_site call i32 (ptr, ptr, ...) @fprintf(ptr %t73, ptr @.fmt_bounds, ptr @.str7583, i32 %t67, i32 %t71) call void @exit(i32 1) unreachable ixok15: %t74 = getelementptr inbounds i32, ptr %t69, i32 %t67 %t75 = load i32, ptr %t74 %t76 = load i32, ptr %t0 %t77 = icmp ne 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 %t65 br i1 %t79, label %sc17, label %scend18 sc17: %t81 = load ptr, ptr @g_g_gi_state %t82 = load ptr, ptr %t46 %t83 = load i32, ptr %t57 %t84 = getelementptr inbounds %LSlice, ptr %t82, i32 0, i32 0 %t85 = load ptr, ptr %t84 %t86 = getelementptr inbounds %LSlice, ptr %t82, i32 0, i32 1 %t87 = load i32, ptr %t86 %t88 = icmp ult i32 %t83, %t87 br i1 %t88, label %ixok19, label %ixbad20 ixbad20: store i32 4540, ptr @lp_site %t89 = call ptr @lp_win_stdio(i32 2) store i32 0, ptr @lp_site call i32 (ptr, ptr, ...) @fprintf(ptr %t89, ptr @.fmt_bounds, ptr @.str7584, i32 %t83, i32 %t87) call void @exit(i32 1) unreachable ixok19: %t90 = getelementptr inbounds i32, ptr %t85, i32 %t83 %t91 = load i32, ptr %t90 %t92 = getelementptr inbounds %LSlice, ptr %t81, i32 0, i32 0 %t93 = load ptr, ptr %t92 %t94 = getelementptr inbounds %LSlice, ptr %t81, i32 0, i32 1 %t95 = load i32, ptr %t94 %t96 = icmp ult i32 %t91, %t95 br i1 %t96, label %ixok21, label %ixbad22 ixbad22: store i32 4541, ptr @lp_site %t97 = call ptr @lp_win_stdio(i32 2) store i32 0, ptr @lp_site call i32 (ptr, ptr, ...) @fprintf(ptr %t97, ptr @.fmt_bounds, ptr @.str7585, i32 %t91, i32 %t95) call void @exit(i32 1) unreachable ixok21: %t98 = getelementptr inbounds i32, ptr %t93, i32 %t91 %t99 = load i32, ptr %t98 %t100 = icmp eq i32 %t99, 0 %t101 = zext i1 %t100 to i32 %t102 = icmp ne i32 %t101, 0 %t103 = zext i1 %t102 to i32 store i32 %t103, ptr %t65 br label %scend18 scend18: %t104 = load i32, ptr %t65 %t105 = icmp ne i32 %t104, 0 br i1 %t105, label %then23, label %ifend25 then23: %t106 = load ptr, ptr %t46 %t107 = load i32, ptr %t57 %t108 = getelementptr inbounds %LSlice, ptr %t106, i32 0, i32 0 %t109 = load ptr, ptr %t108 %t110 = getelementptr inbounds %LSlice, ptr %t106, i32 0, i32 1 %t111 = load i32, ptr %t110 %t112 = icmp ult i32 %t107, %t111 br i1 %t112, label %ixok26, label %ixbad27 ixbad27: store i32 4542, ptr @lp_site %t113 = call ptr @lp_win_stdio(i32 2) store i32 0, ptr @lp_site call i32 (ptr, ptr, ...) @fprintf(ptr %t113, ptr @.fmt_bounds, ptr @.str7586, i32 %t107, i32 %t111) call void @exit(i32 1) unreachable ixok26: %t114 = getelementptr inbounds i32, ptr %t109, i32 %t107 %t115 = load i32, ptr %t114 call void @fn_gi_visit(i32 %t115) br label %ifend25 ifend25: %t116 = load i32, ptr %t57 %t117 = add i32 %t116, 1 store i32 %t117, ptr %t57 br label %wcond12 wend14: br label %ifend11 ifend11: %t118 = load ptr, ptr @g_g_gi_state %t119 = load i32, ptr %t0 %t120 = getelementptr inbounds %LSlice, ptr %t118, i32 0, i32 0 %t121 = load ptr, ptr %t120 %t122 = getelementptr inbounds %LSlice, ptr %t118, i32 0, i32 1 %t123 = load i32, ptr %t122 %t124 = icmp ult i32 %t119, %t123 br i1 %t124, label %ixok28, label %ixbad29 ixbad29: store i32 4543, ptr @lp_site %t125 = call ptr @lp_win_stdio(i32 2) store i32 0, ptr @lp_site call i32 (ptr, ptr, ...) @fprintf(ptr %t125, ptr @.fmt_bounds, ptr @.str7587, i32 %t119, i32 %t123) call void @exit(i32 1) unreachable ixok28: %t126 = getelementptr inbounds i32, ptr %t121, i32 %t119 store i32 2, ptr %t126 %t127 = load ptr, ptr @g_g_gi_out %t128 = load i32, ptr %t0 %t129 = getelementptr inbounds %LSlice, ptr %t127, i32 0, i32 1 %t130 = getelementptr inbounds %LSlice, ptr %t127, i32 0, i32 2 %t131 = getelementptr inbounds %LSlice, ptr %t127, i32 0, i32 0 %t132 = load i32, ptr %t129 %t133 = load i32, ptr %t130 %t134 = icmp sge i32 %t132, %t133 br i1 %t134, label %grow30, label %put31 grow30: %t135 = mul i32 %t133, 2 %t136 = icmp eq i32 %t133, 0 %t137 = select i1 %t136, i32 8, i32 %t135 %t138 = getelementptr i32, 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 store i32 4544, ptr @lp_site %t143 = call ptr @lp_realloc(ptr %t142, i64 %t141) store i32 0, ptr @lp_site store ptr %t143, ptr %t131 store i32 %t137, ptr %t130 br label %put31 put31: %t144 = load ptr, ptr %t131 %t145 = getelementptr inbounds i32, ptr %t144, i32 %t132 store i32 %t128, ptr %t145 %t146 = add i32 %t132, 1 store i32 %t146, ptr %t129 br label %ret ret: ret void } define ptr @fn_gi_order() { entry: %retval = alloca ptr %t15 = alloca i32 %t33 = alloca ptr %t53 = alloca i32 %t54 = alloca i32 %t55 = alloca i32 %t128 = alloca ptr %t0 = load ptr, ptr @g_g_gi_out %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 = load ptr, ptr @g_g_gi_out store ptr %t6, ptr %retval br label %ret ifend2: %t7 = load ptr, ptr @g_g_gi_idx_k %t8 = load ptr, ptr @g_g_gi_idx_v call void @fn_ck_tab_init(ptr %t7, ptr %t8) %t9 = getelementptr %LSlice, ptr null, i32 1 %t10 = ptrtoint ptr %t9 to i64 store i32 4545, ptr @lp_site %t11 = call ptr @lp_malloc(i64 %t10) store i32 0, ptr @lp_site %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 @g_g_gi_state store i32 0, ptr %t15 br label %wcond3 wcond3: %t16 = load i32, ptr %t15 %t17 = load ptr, ptr @g_prog %t18 = getelementptr inbounds %LSlice, ptr %t17, i32 0, i32 1 %t19 = load i32, ptr %t18 %t20 = icmp slt i32 %t16, %t19 %t21 = zext i1 %t20 to i32 %t22 = icmp ne i32 %t21, 0 br i1 %t22, label %wbody4, label %wend5 wbody4: %t23 = load ptr, ptr @g_prog %t24 = load i32, ptr %t15 %t25 = getelementptr inbounds %LSlice, ptr %t23, i32 0, i32 0 %t26 = load ptr, ptr %t25 %t27 = getelementptr inbounds %LSlice, ptr %t23, i32 0, i32 1 %t28 = load i32, ptr %t27 %t29 = icmp ult i32 %t24, %t28 br i1 %t29, label %ixok6, label %ixbad7 ixbad7: store i32 4546, ptr @lp_site %t30 = call ptr @lp_win_stdio(i32 2) store i32 0, ptr @lp_site call i32 (ptr, ptr, ...) @fprintf(ptr %t30, ptr @.fmt_bounds, ptr @.str7589, i32 %t24, i32 %t28) call void @exit(i32 1) unreachable ixok6: %t31 = getelementptr inbounds ptr, ptr %t26, i32 %t24 %t32 = load ptr, ptr %t31 store ptr %t32, ptr %t33 %t34 = load ptr, ptr @g_g_gi_state %t35 = getelementptr inbounds %LSlice, ptr %t34, i32 0, i32 1 %t36 = getelementptr inbounds %LSlice, ptr %t34, i32 0, i32 2 %t37 = getelementptr inbounds %LSlice, ptr %t34, i32 0, i32 0 %t38 = load i32, ptr %t35 %t39 = load i32, ptr %t36 %t40 = icmp sge i32 %t38, %t39 br i1 %t40, label %grow8, label %put9 grow8: %t41 = mul i32 %t39, 2 %t42 = icmp eq i32 %t39, 0 %t43 = select i1 %t42, i32 8, i32 %t41 %t44 = getelementptr i32, 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 store i32 4547, ptr @lp_site %t49 = call ptr @lp_realloc(ptr %t48, i64 %t47) store i32 0, ptr @lp_site store ptr %t49, ptr %t37 store i32 %t43, ptr %t36 br label %put9 put9: %t50 = load ptr, ptr %t37 %t51 = getelementptr inbounds i32, ptr %t50, i32 %t38 store i32 0, ptr %t51 %t52 = add i32 %t38, 1 store i32 %t52, ptr %t35 %t56 = load ptr, ptr %t33 %t57 = getelementptr inbounds %Cmp_Node, ptr %t56, i32 0, i32 0 %t58 = load i32, ptr %t57 %t59 = icmp eq i32 %t58, 2 %t60 = zext i1 %t59 to i32 %t61 = icmp ne i32 %t60, 0 %t62 = zext i1 %t61 to i32 store i32 %t62, ptr %t55 br i1 %t61, label %scend11, label %sc10 sc10: %t63 = load ptr, ptr %t33 %t64 = getelementptr inbounds %Cmp_Node, ptr %t63, i32 0, i32 0 %t65 = load i32, ptr %t64 %t66 = icmp eq i32 %t65, 4 %t67 = zext i1 %t66 to i32 %t68 = icmp ne i32 %t67, 0 %t69 = zext i1 %t68 to i32 store i32 %t69, ptr %t55 br label %scend11 scend11: %t70 = load i32, ptr %t55 %t71 = icmp ne i32 %t70, 0 %t72 = zext i1 %t71 to i32 store i32 %t72, ptr %t54 br i1 %t71, label %sc12, label %scend13 sc12: %t73 = load ptr, ptr %t33 %t74 = getelementptr inbounds %Cmp_Node, ptr %t73, i32 0, i32 1 %t75 = load ptr, ptr %t74 %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 %t54 br label %scend13 scend13: %t80 = load i32, ptr %t54 %t81 = icmp ne i32 %t80, 0 %t82 = zext i1 %t81 to i32 store i32 %t82, ptr %t53 br i1 %t81, label %sc14, label %scend15 sc14: %t83 = load ptr, ptr @g_g_gi_idx_k %t84 = load ptr, ptr @g_g_gi_idx_v %t85 = load ptr, ptr %t33 %t86 = getelementptr inbounds %Cmp_Node, ptr %t85, i32 0, i32 1 %t87 = load ptr, ptr %t86 %t88 = call ptr @fn_ck_tab_get(ptr %t83, ptr %t84, ptr %t87) %t89 = icmp eq ptr %t88, null %t90 = zext i1 %t89 to i32 %t91 = icmp ne i32 %t90, 0 %t92 = zext i1 %t91 to i32 store i32 %t92, ptr %t53 br label %scend15 scend15: %t93 = load i32, ptr %t53 %t94 = icmp ne i32 %t93, 0 br i1 %t94, label %then16, label %ifend18 then16: %t95 = getelementptr %Cmp_Node, ptr null, i32 1 %t96 = ptrtoint ptr %t95 to i64 store i32 4548, ptr @lp_site %t97 = call ptr @lp_malloc(i64 %t96) store i32 0, ptr @lp_site %t98 = getelementptr inbounds %Cmp_Node, ptr %t97, i32 0, i32 0 store i32 0, ptr %t98 %t99 = getelementptr inbounds %Cmp_Node, ptr %t97, i32 0, i32 1 store ptr null, ptr %t99 %t100 = getelementptr inbounds %Cmp_Node, ptr %t97, i32 0, i32 2 store i32 0, ptr %t100 %t101 = getelementptr inbounds %Cmp_Node, ptr %t97, i32 0, i32 3 store ptr null, ptr %t101 %t102 = getelementptr inbounds %Cmp_Node, ptr %t97, i32 0, i32 4 store ptr null, ptr %t102 %t103 = getelementptr inbounds %Cmp_Node, ptr %t97, i32 0, i32 5 store ptr null, ptr %t103 %t104 = getelementptr inbounds %Cmp_Node, ptr %t97, i32 0, i32 6 store ptr null, ptr %t104 %t105 = getelementptr inbounds %Cmp_Node, ptr %t97, i32 0, i32 7 store ptr null, ptr %t105 %t106 = getelementptr inbounds %Cmp_Node, ptr %t97, i32 0, i32 8 store i32 0, ptr %t106 %t107 = getelementptr inbounds %Cmp_Node, ptr %t97, i32 0, i32 9 store ptr null, ptr %t107 %t108 = getelementptr inbounds %Cmp_Node, ptr %t97, i32 0, i32 10 store i32 0, ptr %t108 %t109 = getelementptr inbounds %Cmp_Node, ptr %t97, i32 0, i32 11 store ptr null, ptr %t109 %t110 = getelementptr inbounds %Cmp_Node, ptr %t97, i32 0, i32 12 store i32 0, ptr %t110 %t111 = getelementptr inbounds %Cmp_Node, ptr %t97, i32 0, i32 13 %t112 = sub i32 0, 1 store i32 %t112, ptr %t111 %t113 = getelementptr inbounds %Cmp_Node, ptr %t97, i32 0, i32 14 %t114 = sub i32 0, 1 store i32 %t114, ptr %t113 %t115 = getelementptr inbounds %Cmp_Node, ptr %t97, i32 0, i32 15 %t116 = sub i32 0, 1 store i32 %t116, ptr %t115 %t117 = getelementptr inbounds %Cmp_Node, ptr %t97, i32 0, i32 16 %t118 = sub i32 0, 1 store i32 %t118, ptr %t117 %t119 = getelementptr inbounds %Cmp_Node, ptr %t97, i32 0, i32 17 %t120 = sub i32 0, 1 store i32 %t120, ptr %t119 %t121 = getelementptr inbounds %Cmp_Node, ptr %t97, i32 0, i32 18 store i32 0, ptr %t121 %t122 = getelementptr inbounds %Cmp_Node, ptr %t97, i32 0, i32 19 %t123 = sub i32 0, 1 store i32 %t123, ptr %t122 %t124 = getelementptr inbounds %Cmp_Node, ptr %t97, i32 0, i32 20 %t125 = sub i32 0, 1 store i32 %t125, ptr %t124 %t126 = getelementptr inbounds %Cmp_Node, ptr %t97, i32 0, i32 21 %t127 = sub i32 0, 1 store i32 %t127, ptr %t126 store ptr %t97, ptr %t128 %t129 = load ptr, ptr %t128 %t130 = getelementptr inbounds %Cmp_Node, ptr %t129, i32 0, i32 2 %t131 = load i32, ptr %t15 store i32 %t131, ptr %t130 %t132 = load ptr, ptr @g_g_gi_idx_k %t133 = load ptr, ptr @g_g_gi_idx_v %t134 = load ptr, ptr %t33 %t135 = getelementptr inbounds %Cmp_Node, ptr %t134, i32 0, i32 1 %t136 = load ptr, ptr %t135 %t137 = load ptr, ptr %t128 call void @fn_ck_tab_put(ptr %t132, ptr %t133, ptr %t136, ptr %t137) br label %ifend18 ifend18: %t138 = load i32, ptr %t15 %t139 = add i32 %t138, 1 store i32 %t139, ptr %t15 br label %wcond3 wend5: store i32 0, ptr %t15 br label %wcond19 wcond19: %t140 = load i32, ptr %t15 %t141 = load ptr, ptr @g_prog %t142 = getelementptr inbounds %LSlice, ptr %t141, i32 0, i32 1 %t143 = load i32, ptr %t142 %t144 = icmp slt i32 %t140, %t143 %t145 = zext i1 %t144 to i32 %t146 = icmp ne i32 %t145, 0 br i1 %t146, label %wbody20, label %wend21 wbody20: %t147 = load ptr, ptr @g_prog %t148 = load i32, ptr %t15 %t149 = getelementptr inbounds %LSlice, ptr %t147, i32 0, i32 0 %t150 = load ptr, ptr %t149 %t151 = getelementptr inbounds %LSlice, ptr %t147, i32 0, i32 1 %t152 = load i32, ptr %t151 %t153 = icmp ult i32 %t148, %t152 br i1 %t153, label %ixok22, label %ixbad23 ixbad23: store i32 4549, ptr @lp_site %t154 = call ptr @lp_win_stdio(i32 2) store i32 0, ptr @lp_site call i32 (ptr, ptr, ...) @fprintf(ptr %t154, ptr @.fmt_bounds, ptr @.str7590, i32 %t148, i32 %t152) call void @exit(i32 1) unreachable ixok22: %t155 = getelementptr inbounds ptr, ptr %t150, i32 %t148 %t156 = load ptr, ptr %t155 %t157 = getelementptr inbounds %Cmp_Node, ptr %t156, i32 0, i32 0 %t158 = load i32, ptr %t157 %t159 = icmp eq i32 %t158, 2 %t160 = zext i1 %t159 to i32 %t161 = icmp ne i32 %t160, 0 br i1 %t161, label %then24, label %ifend26 then24: %t162 = load i32, ptr %t15 call void @fn_gi_visit(i32 %t162) br label %ifend26 ifend26: %t163 = load i32, ptr %t15 %t164 = add i32 %t163, 1 store i32 %t164, ptr %t15 br label %wcond19 wend21: %t165 = load ptr, ptr @g_g_gi_out store ptr %t165, ptr %retval br label %ret ret: %t166 = load ptr, ptr %retval ret ptr %t166 } define i32 @fn_is_lazy_state(ptr %arg_d) { entry: %retval = alloca i32 %t0 = alloca ptr %t1 = alloca i32 %t2 = alloca i32 %t3 = alloca i32 %t38 = alloca i32 %t39 = alloca i32 store ptr %arg_d, ptr %t0 %t4 = load ptr, ptr %t0 %t5 = icmp eq ptr %t4, null %t6 = zext i1 %t5 to i32 %t7 = icmp ne i32 %t6, 0 %t8 = zext i1 %t7 to i32 store i32 %t8, ptr %t3 br i1 %t7, label %scend1, label %sc0 sc0: %t9 = load ptr, ptr %t0 %t10 = getelementptr inbounds %Cmp_Node, ptr %t9, i32 0, i32 0 %t11 = load i32, ptr %t10 %t12 = icmp ne i32 %t11, 2 %t13 = zext i1 %t12 to i32 %t14 = icmp ne i32 %t13, 0 %t15 = zext i1 %t14 to i32 store i32 %t15, ptr %t3 br label %scend1 scend1: %t16 = load i32, ptr %t3 %t17 = icmp ne i32 %t16, 0 %t18 = zext i1 %t17 to i32 store i32 %t18, ptr %t2 br i1 %t17, label %scend3, label %sc2 sc2: %t19 = load ptr, ptr %t0 %t20 = getelementptr inbounds %Cmp_Node, ptr %t19, i32 0, i32 12 %t21 = load i32, ptr %t20 %t22 = icmp ne i32 %t21, 1 %t23 = zext i1 %t22 to i32 %t24 = icmp ne i32 %t23, 0 %t25 = zext i1 %t24 to i32 store i32 %t25, ptr %t2 br label %scend3 scend3: %t26 = load i32, ptr %t2 %t27 = icmp ne i32 %t26, 0 %t28 = zext i1 %t27 to i32 store i32 %t28, ptr %t1 br i1 %t27, label %scend5, label %sc4 sc4: %t29 = load ptr, ptr %t0 %t30 = getelementptr inbounds %Cmp_Node, ptr %t29, i32 0, i32 4 %t31 = load ptr, ptr %t30 %t32 = icmp eq 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 %t1 br label %scend5 scend5: %t36 = load i32, ptr %t1 %t37 = icmp ne i32 %t36, 0 br i1 %t37, label %then6, label %ifend8 then6: store i32 0, ptr %retval br label %ret ifend8: %t40 = load ptr, ptr %t0 %t41 = getelementptr inbounds %Cmp_Node, ptr %t40, i32 0, i32 1 %t42 = load ptr, ptr %t41 %t43 = call i32 @fn_str_prefix(ptr %t42, ptr @.str7591) %t44 = icmp ne i32 %t43, 0 %t45 = zext i1 %t44 to i32 store i32 %t45, ptr %t39 br i1 %t44, label %sc9, label %scend10 sc9: %t46 = load ptr, ptr %t0 %t47 = getelementptr inbounds %Cmp_Node, ptr %t46, i32 0, i32 3 %t48 = load ptr, ptr %t47 %t49 = call i32 @fn_is_state_ty(ptr %t48) %t50 = icmp ne i32 %t49, 0 %t51 = zext i1 %t50 to i32 store i32 %t51, ptr %t39 br label %scend10 scend10: %t52 = load i32, ptr %t39 %t53 = icmp ne i32 %t52, 0 %t54 = zext i1 %t53 to i32 store i32 %t54, ptr %t38 br i1 %t53, label %sc11, label %scend12 sc11: %t55 = load ptr, ptr %t0 %t56 = getelementptr inbounds %Cmp_Node, ptr %t55, i32 0, i32 9 %t57 = load ptr, ptr %t56 %t58 = call i32 @fn_is_runtime_file(ptr %t57) %t59 = icmp eq i32 %t58, 0 %t60 = zext i1 %t59 to i32 %t61 = icmp ne i32 %t60, 0 %t62 = zext i1 %t61 to i32 store i32 %t62, ptr %t38 br label %scend12 scend12: %t63 = load i32, ptr %t38 store i32 %t63, ptr %retval br label %ret ret: %t64 = load i32, ptr %retval ret i32 %t64 } define void @fn_emit_state_getters() { entry: %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 = load i32, ptr %t0 %t10 = getelementptr inbounds %LSlice, ptr %t8, i32 0, i32 0 %t11 = load ptr, ptr %t10 %t12 = getelementptr inbounds %LSlice, ptr %t8, i32 0, i32 1 %t13 = load i32, ptr %t12 %t14 = icmp ult i32 %t9, %t13 br i1 %t14, label %ixok3, label %ixbad4 ixbad4: store i32 4550, ptr @lp_site %t15 = call ptr @lp_win_stdio(i32 2) store i32 0, ptr @lp_site call i32 (ptr, ptr, ...) @fprintf(ptr %t15, ptr @.fmt_bounds, ptr @.str7592, i32 %t9, i32 %t13) call void @exit(i32 1) unreachable ixok3: %t16 = getelementptr inbounds ptr, ptr %t11, i32 %t9 %t17 = load ptr, ptr %t16 %t18 = call i32 @fn_is_lazy_state(ptr %t17) %t19 = icmp ne i32 %t18, 0 br i1 %t19, label %then5, label %ifend7 then5: %t20 = load ptr, ptr @g_prog %t21 = load i32, ptr %t0 %t22 = getelementptr inbounds %LSlice, ptr %t20, i32 0, i32 0 %t23 = load ptr, ptr %t22 %t24 = getelementptr inbounds %LSlice, ptr %t20, i32 0, i32 1 %t25 = load i32, ptr %t24 %t26 = icmp ult i32 %t21, %t25 br i1 %t26, label %ixok8, label %ixbad9 ixbad9: store i32 4551, ptr @lp_site %t27 = call ptr @lp_win_stdio(i32 2) store i32 0, ptr @lp_site call i32 (ptr, ptr, ...) @fprintf(ptr %t27, ptr @.fmt_bounds, ptr @.str7594, i32 %t21, i32 %t25) call void @exit(i32 1) unreachable ixok8: %t28 = getelementptr inbounds ptr, ptr %t23, i32 %t21 %t29 = load ptr, ptr %t28 call void @fn_emit_state_getter(ptr %t29) br label %ifend7 ifend7: %t30 = load i32, ptr %t0 %t31 = add i32 %t30, 1 store i32 %t31, ptr %t0 br label %wcond0 wend2: br label %ret ret: ret void } define void @fn_emit_state_getter(ptr %arg_d) { entry: %t0 = alloca ptr %t5 = alloca ptr %t8 = alloca ptr %t11 = alloca ptr %t28 = alloca ptr %t34 = 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 store i32 4552, ptr @lp_site %t4 = call ptr @lp_str_concat(ptr @.str7595, ptr %t3) store i32 0, ptr @lp_site store ptr %t4, ptr %t5 %t6 = load ptr, ptr %t5 call void @fn_fence_enter(ptr %t6) 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 @.str7597, ptr @g_ret_ty %t7 = call ptr @fn_buf_new() store ptr %t7, ptr %t8 %t9 = call ptr @fn_buf_new() store ptr %t9, ptr @g_falloc %t10 = load ptr, ptr @g_code store ptr %t10, ptr %t11 %t12 = load ptr, ptr %t8 store ptr %t12, ptr @g_code %t13 = load ptr, ptr %t0 %t14 = getelementptr inbounds %Cmp_Node, ptr %t13, i32 0, i32 9 %t15 = load ptr, ptr %t14 store ptr %t15, ptr @g_g_err_file %t16 = load ptr, ptr %t0 %t17 = getelementptr inbounds %Cmp_Node, ptr %t16, i32 0, i32 8 %t18 = load i32, ptr %t17 store i32 %t18, ptr @g_g_err_line %t19 = load ptr, ptr %t0 %t20 = getelementptr inbounds %Cmp_Node, ptr %t19, i32 0, i32 1 %t21 = load ptr, ptr %t20 store i32 4553, ptr @lp_site %t22 = call ptr @lp_str_concat(ptr @.str7598, ptr %t21) store i32 0, ptr @lp_site store i32 4554, ptr @lp_site %t23 = call ptr @lp_str_concat(ptr %t22, ptr @.str7599) store i32 0, ptr @lp_site call void @lp_free(ptr %t22) call void @fn_emit(ptr %t23) call void @fn_emit(ptr @.str7600) %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 = load ptr, ptr %t0 %t31 = getelementptr inbounds %Cmp_Node, ptr %t30, i32 0, i32 3 %t32 = load ptr, ptr %t31 %t33 = call ptr @fn_coerce_code(ptr %t29, ptr %t32) store ptr %t33, ptr %t34 %t35 = load ptr, ptr %t34 store i32 4555, ptr @lp_site %t36 = call ptr @lp_str_concat(ptr @.str7601, ptr %t35) store i32 0, ptr @lp_site store i32 4556, ptr @lp_site %t37 = call ptr @lp_str_concat(ptr %t36, ptr @.str7602) store i32 0, ptr @lp_site call void @lp_free(ptr %t36) %t38 = load ptr, ptr %t0 %t39 = getelementptr inbounds %Cmp_Node, ptr %t38, i32 0, i32 1 %t40 = load ptr, ptr %t39 store i32 4557, ptr @lp_site %t41 = call ptr @lp_str_concat(ptr %t37, ptr %t40) store i32 0, ptr @lp_site call void @lp_free(ptr %t37) store i32 4558, ptr @lp_site %t42 = call ptr @lp_str_concat(ptr %t41, ptr @.str7603) store i32 0, ptr @lp_site call void @lp_free(ptr %t41) call void @fn_emit(ptr %t42) call void @fn_emit(ptr @.str7604) %t43 = load ptr, ptr %t34 store i32 4559, ptr @lp_site %t44 = call ptr @lp_str_concat(ptr @.str7605, ptr %t43) store i32 0, ptr @lp_site store i32 4560, ptr @lp_site %t45 = call ptr @lp_str_concat(ptr %t44, ptr @.str7606) store i32 0, ptr @lp_site call void @lp_free(ptr %t44) call void @fn_emit(ptr %t45) %t46 = load ptr, ptr %t11 store ptr %t46, ptr @g_code %t47 = load ptr, ptr %t5 store i32 4561, ptr @lp_site %t48 = call ptr @lp_str_concat(ptr @.str7607, ptr %t47) store i32 0, ptr @lp_site store i32 4562, ptr @lp_site %t49 = call ptr @lp_str_concat(ptr %t48, ptr @.str7608) store i32 0, ptr @lp_site call void @lp_free(ptr %t48) call void @fn_emit(ptr %t49) %t50 = load ptr, ptr @g_falloc %t51 = call ptr @fn_buf_str(ptr %t50) call void @fn_emit(ptr %t51) call void @fn_emit(ptr @.str7609) %t52 = load ptr, ptr %t8 %t53 = call ptr @fn_buf_str(ptr %t52) call void @fn_emit(ptr %t53) call void @fn_emit(ptr @.str7610) br label %ret ret: ret void } define void @fn_emit_state_reset() { entry: %t0 = alloca i32 call void @fn_emith(ptr @.str7611) 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 = load i32, ptr %t0 %t10 = getelementptr inbounds %LSlice, ptr %t8, i32 0, i32 0 %t11 = load ptr, ptr %t10 %t12 = getelementptr inbounds %LSlice, ptr %t8, i32 0, i32 1 %t13 = load i32, ptr %t12 %t14 = icmp ult i32 %t9, %t13 br i1 %t14, label %ixok3, label %ixbad4 ixbad4: store i32 4563, ptr @lp_site %t15 = call ptr @lp_win_stdio(i32 2) store i32 0, ptr @lp_site call i32 (ptr, ptr, ...) @fprintf(ptr %t15, ptr @.fmt_bounds, ptr @.str7612, i32 %t9, i32 %t13) call void @exit(i32 1) unreachable ixok3: %t16 = getelementptr inbounds ptr, ptr %t11, i32 %t9 %t17 = load ptr, ptr %t16 %t18 = call i32 @fn_is_lazy_state(ptr %t17) %t19 = icmp ne i32 %t18, 0 br i1 %t19, label %then5, label %ifend7 then5: %t20 = load ptr, ptr @g_prog %t21 = load i32, ptr %t0 %t22 = getelementptr inbounds %LSlice, ptr %t20, i32 0, i32 0 %t23 = load ptr, ptr %t22 %t24 = getelementptr inbounds %LSlice, ptr %t20, i32 0, i32 1 %t25 = load i32, ptr %t24 %t26 = icmp ult i32 %t21, %t25 br i1 %t26, label %ixok8, label %ixbad9 ixbad9: store i32 4564, ptr @lp_site %t27 = call ptr @lp_win_stdio(i32 2) store i32 0, ptr @lp_site call i32 (ptr, ptr, ...) @fprintf(ptr %t27, ptr @.fmt_bounds, ptr @.str7615, i32 %t21, i32 %t25) call void @exit(i32 1) unreachable ixok8: %t28 = getelementptr inbounds ptr, ptr %t23, i32 %t21 %t29 = load ptr, ptr %t28 %t30 = getelementptr inbounds %Cmp_Node, ptr %t29, i32 0, i32 1 %t31 = load ptr, ptr %t30 store i32 4565, ptr @lp_site %t32 = call ptr @lp_str_concat(ptr @.str7614, ptr %t31) store i32 0, ptr @lp_site store i32 4566, ptr @lp_site %t33 = call ptr @lp_str_concat(ptr %t32, ptr @.str7616) store i32 0, ptr @lp_site call void @lp_free(ptr %t32) call void @fn_emith(ptr %t33) br label %ifend7 ifend7: %t34 = load i32, ptr %t0 %t35 = add i32 %t34, 1 store i32 %t35, ptr %t0 br label %wcond0 wend2: call void @fn_emith(ptr @.str7617) br label %ret ret: ret void } define ptr @fn_lazy_state_read(ptr %arg_g, ptr %arg_s) { entry: %retval = alloca ptr %t0 = alloca ptr %t1 = alloca ptr store ptr %arg_g, ptr %t0 store ptr %arg_s, ptr %t1 %t2 = load ptr, ptr %t0 %t3 = call i32 @fn_is_lazy_state(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: store ptr null, ptr %retval br label %ret ifend2: %t7 = load ptr, ptr %t1 store i32 4567, ptr @lp_site %t8 = call ptr @lp_str_concat(ptr @.str7618, ptr %t7) store i32 0, ptr @lp_site store i32 4568, ptr @lp_site %t9 = call ptr @lp_str_concat(ptr %t8, ptr @.str7620) store i32 0, ptr @lp_site call void @lp_free(ptr %t8) %t10 = call ptr @fn_emit_bind(ptr %t9) store ptr %t10, ptr %retval br label %ret ret: %t11 = load ptr, ptr %retval ret ptr %t11 } define i32 @fn_deps_on() { entry: %retval = alloca i32 %t0 = load i32, ptr @g_g_dp_on %t1 = icmp slt i32 %t0, 0 %t2 = zext i1 %t1 to i32 %t3 = icmp ne i32 %t2, 0 br i1 %t3, label %then0, label %ifend2 then0: store i32 0, ptr @g_g_dp_on %t4 = call ptr @getenv(ptr @.str7621) %t5 = icmp ne ptr %t4, null %t6 = zext i1 %t5 to i32 %t7 = icmp ne i32 %t6, 0 br i1 %t7, label %then3, label %ifend5 then3: store i32 1, ptr @g_g_dp_on br label %ifend5 ifend5: br label %ifend2 ifend2: %t8 = load i32, ptr @g_g_dp_on %t9 = icmp eq i32 %t8, 1 %t10 = zext i1 %t9 to i32 store i32 %t10, ptr %retval br label %ret ret: %t11 = load i32, ptr %retval ret i32 %t11 } define void @fn_deps_edge(ptr %arg_d, ptr %arg_what) { entry: %t0 = alloca ptr %t1 = alloca ptr %t2 = alloca i32 %t3 = alloca i32 %t28 = alloca ptr %t33 = alloca ptr %t34 = alloca i32 %t35 = alloca i32 %t58 = alloca ptr %t59 = alloca i32 store ptr %arg_d, ptr %t0 store ptr %arg_what, ptr %t1 %t4 = call i32 @fn_deps_on() %t5 = icmp eq i32 %t4, 0 %t6 = zext i1 %t5 to i32 %t7 = icmp ne i32 %t6, 0 %t8 = zext i1 %t7 to i32 store i32 %t8, ptr %t3 br i1 %t7, label %scend1, label %sc0 sc0: %t9 = load ptr, ptr %t0 %t10 = getelementptr inbounds %Cmp_Node, ptr %t9, i32 0, i32 9 %t11 = load ptr, ptr %t10 %t12 = icmp eq 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 %t3 br label %scend1 scend1: %t16 = load i32, ptr %t3 %t17 = icmp ne i32 %t16, 0 %t18 = zext i1 %t17 to i32 store i32 %t18, ptr %t2 br i1 %t17, label %scend3, label %sc2 sc2: %t19 = load ptr, ptr @g_g_err_file %t20 = icmp eq ptr %t19, null %t21 = zext i1 %t20 to i32 %t22 = icmp ne i32 %t21, 0 %t23 = zext i1 %t22 to i32 store i32 %t23, ptr %t2 br label %scend3 scend3: %t24 = load i32, ptr %t2 %t25 = icmp ne i32 %t24, 0 br i1 %t25, label %then4, label %ifend6 then4: br label %ret ifend6: %t26 = load ptr, ptr @g_g_err_file %t27 = call ptr @fn_module_of(ptr %t26) store ptr %t27, ptr %t28 %t29 = load ptr, ptr %t0 %t30 = getelementptr inbounds %Cmp_Node, ptr %t29, i32 0, i32 9 %t31 = load ptr, ptr %t30 %t32 = call ptr @fn_module_for_uses(ptr %t31) store ptr %t32, ptr %t33 %t36 = load ptr, ptr %t28 %t37 = call i32 @lp_str_eq(ptr %t36, ptr @.str7622) %t38 = icmp ne i32 %t37, 0 %t39 = zext i1 %t38 to i32 store i32 %t39, ptr %t35 br i1 %t38, label %scend8, label %sc7 sc7: %t40 = load ptr, ptr %t33 %t41 = call i32 @lp_str_eq(ptr %t40, ptr @.str7623) %t42 = icmp ne i32 %t41, 0 %t43 = zext i1 %t42 to i32 store i32 %t43, ptr %t35 br label %scend8 scend8: %t44 = load i32, ptr %t35 %t45 = icmp ne i32 %t44, 0 %t46 = zext i1 %t45 to i32 store i32 %t46, ptr %t34 br i1 %t45, label %scend10, label %sc9 sc9: %t47 = load ptr, ptr %t28 %t48 = load ptr, ptr %t33 %t49 = call i32 @lp_str_eq(ptr %t47, ptr %t48) %t50 = icmp ne i32 %t49, 0 %t51 = zext i1 %t50 to i32 store i32 %t51, ptr %t34 br label %scend10 scend10: %t52 = load i32, ptr %t34 %t53 = icmp ne i32 %t52, 0 br i1 %t53, label %then11, label %ifend13 then11: br label %ret ifend13: %t54 = load ptr, ptr %t28 store i32 4569, ptr @lp_site %t55 = call ptr @lp_str_concat(ptr %t54, ptr @.str7624) store i32 0, ptr @lp_site %t56 = load ptr, ptr %t33 store i32 4570, ptr @lp_site %t57 = call ptr @lp_str_concat(ptr %t55, ptr %t56) store i32 0, ptr @lp_site call void @lp_free(ptr %t55) store ptr %t57, ptr %t58 store i32 0, ptr %t59 br label %wcond14 wcond14: %t60 = load i32, ptr %t59 %t61 = load ptr, ptr @g_g_dp_key %t62 = getelementptr inbounds %LSlice, ptr %t61, i32 0, i32 1 %t63 = load i32, ptr %t62 %t64 = icmp slt i32 %t60, %t63 %t65 = zext i1 %t64 to i32 %t66 = icmp ne i32 %t65, 0 br i1 %t66, label %wbody15, label %wend16 wbody15: %t67 = load ptr, ptr @g_g_dp_key %t68 = load i32, ptr %t59 %t69 = getelementptr inbounds %LSlice, ptr %t67, i32 0, i32 0 %t70 = load ptr, ptr %t69 %t71 = getelementptr inbounds %LSlice, ptr %t67, i32 0, i32 1 %t72 = load i32, ptr %t71 %t73 = icmp ult i32 %t68, %t72 br i1 %t73, label %ixok17, label %ixbad18 ixbad18: store i32 4571, ptr @lp_site %t74 = call ptr @lp_win_stdio(i32 2) store i32 0, ptr @lp_site call i32 (ptr, ptr, ...) @fprintf(ptr %t74, ptr @.fmt_bounds, ptr @.str7626, i32 %t68, i32 %t72) call void @exit(i32 1) unreachable ixok17: %t75 = getelementptr inbounds ptr, ptr %t70, i32 %t68 %t76 = load ptr, ptr %t75 %t77 = load ptr, ptr %t58 %t78 = call i32 @lp_str_eq(ptr %t76, ptr %t77) %t79 = icmp ne i32 %t78, 0 br i1 %t79, label %then19, label %ifend21 then19: %t80 = load ptr, ptr @g_g_dp_cnt %t81 = load i32, ptr %t59 %t82 = getelementptr inbounds %LSlice, ptr %t80, i32 0, i32 0 %t83 = load ptr, ptr %t82 %t84 = getelementptr inbounds %LSlice, ptr %t80, i32 0, i32 1 %t85 = load i32, ptr %t84 %t86 = icmp ult i32 %t81, %t85 br i1 %t86, label %ixok22, label %ixbad23 ixbad23: store i32 4572, ptr @lp_site %t87 = call ptr @lp_win_stdio(i32 2) store i32 0, ptr @lp_site call i32 (ptr, ptr, ...) @fprintf(ptr %t87, ptr @.fmt_bounds, ptr @.str7627, i32 %t81, i32 %t85) call void @exit(i32 1) unreachable ixok22: %t88 = getelementptr inbounds i32, ptr %t83, i32 %t81 %t89 = load ptr, ptr @g_g_dp_cnt %t90 = load i32, ptr %t59 %t91 = getelementptr inbounds %LSlice, ptr %t89, i32 0, i32 0 %t92 = load ptr, ptr %t91 %t93 = getelementptr inbounds %LSlice, ptr %t89, i32 0, i32 1 %t94 = load i32, ptr %t93 %t95 = icmp ult i32 %t90, %t94 br i1 %t95, label %ixok24, label %ixbad25 ixbad25: store i32 4573, ptr @lp_site %t96 = call ptr @lp_win_stdio(i32 2) store i32 0, ptr @lp_site call i32 (ptr, ptr, ...) @fprintf(ptr %t96, ptr @.fmt_bounds, ptr @.str7628, i32 %t90, i32 %t94) call void @exit(i32 1) unreachable ixok24: %t97 = getelementptr inbounds i32, ptr %t92, i32 %t90 %t98 = load i32, ptr %t97 %t99 = add i32 %t98, 1 store i32 %t99, ptr %t88 br label %ret ifend21: %t100 = load i32, ptr %t59 %t101 = add i32 %t100, 1 store i32 %t101, ptr %t59 br label %wcond14 wend16: %t102 = load ptr, ptr @g_g_dp_key %t103 = load ptr, ptr %t58 %t104 = getelementptr inbounds %LSlice, ptr %t102, i32 0, i32 1 %t105 = getelementptr inbounds %LSlice, ptr %t102, i32 0, i32 2 %t106 = getelementptr inbounds %LSlice, ptr %t102, i32 0, i32 0 %t107 = load i32, ptr %t104 %t108 = load i32, ptr %t105 %t109 = icmp sge i32 %t107, %t108 br i1 %t109, label %grow26, label %put27 grow26: %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 store i32 4574, ptr @lp_site %t118 = call ptr @lp_realloc(ptr %t117, i64 %t116) store i32 0, ptr @lp_site store ptr %t118, ptr %t106 store i32 %t112, ptr %t105 br label %put27 put27: %t119 = load ptr, ptr %t106 %t120 = getelementptr inbounds ptr, ptr %t119, i32 %t107 store ptr %t103, ptr %t120 %t121 = add i32 %t107, 1 store i32 %t121, ptr %t104 %t122 = load ptr, ptr @g_g_dp_cnt %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 %grow28, label %put29 grow28: %t129 = mul i32 %t127, 2 %t130 = icmp eq i32 %t127, 0 %t131 = select i1 %t130, i32 8, i32 %t129 %t132 = getelementptr i32, 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 store i32 4575, ptr @lp_site %t137 = call ptr @lp_realloc(ptr %t136, i64 %t135) store i32 0, ptr @lp_site store ptr %t137, ptr %t125 store i32 %t131, ptr %t124 br label %put29 put29: %t138 = load ptr, ptr %t125 %t139 = getelementptr inbounds i32, ptr %t138, i32 %t126 store i32 1, ptr %t139 %t140 = add i32 %t126, 1 store i32 %t140, ptr %t123 %t141 = load ptr, ptr @g_g_dp_name %t142 = load ptr, ptr %t1 %t143 = call ptr @fn_vis_plain(ptr %t142) %t144 = getelementptr inbounds %LSlice, ptr %t141, i32 0, i32 1 %t145 = getelementptr inbounds %LSlice, ptr %t141, i32 0, i32 2 %t146 = getelementptr inbounds %LSlice, ptr %t141, i32 0, i32 0 %t147 = load i32, ptr %t144 %t148 = load i32, ptr %t145 %t149 = icmp sge i32 %t147, %t148 br i1 %t149, label %grow30, label %put31 grow30: %t150 = mul i32 %t148, 2 %t151 = icmp eq i32 %t148, 0 %t152 = select i1 %t151, i32 8, i32 %t150 %t153 = getelementptr ptr, ptr null, i32 1 %t154 = ptrtoint ptr %t153 to i64 %t155 = zext i32 %t152 to i64 %t156 = mul i64 %t155, %t154 %t157 = load ptr, ptr %t146 store i32 4576, ptr @lp_site %t158 = call ptr @lp_realloc(ptr %t157, i64 %t156) store i32 0, ptr @lp_site store ptr %t158, ptr %t146 store i32 %t152, ptr %t145 br label %put31 put31: %t159 = load ptr, ptr %t146 %t160 = getelementptr inbounds ptr, ptr %t159, i32 %t147 store ptr %t143, ptr %t160 %t161 = add i32 %t147, 1 store i32 %t161, ptr %t144 br label %ret ret: ret void } define void @fn_deps_write(ptr %arg_g, ptr %arg_name) { entry: %t0 = alloca ptr %t1 = alloca ptr %t2 = alloca i32 %t3 = alloca i32 %t4 = alloca i32 %t37 = alloca ptr %t42 = alloca ptr %t43 = alloca i32 %t44 = alloca i32 store ptr %arg_g, ptr %t0 store ptr %arg_name, ptr %t1 %t5 = call i32 @fn_deps_on() %t6 = icmp eq i32 %t5, 0 %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 ptr, ptr %t0 %t11 = icmp eq ptr %t10, null %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 ptr, ptr %t0 %t19 = getelementptr inbounds %Cmp_Node, ptr %t18, i32 0, i32 9 %t20 = load ptr, ptr %t19 %t21 = icmp eq ptr %t20, null %t22 = zext i1 %t21 to i32 %t23 = icmp ne i32 %t22, 0 %t24 = zext i1 %t23 to i32 store i32 %t24, ptr %t3 br label %scend3 scend3: %t25 = load i32, ptr %t3 %t26 = icmp ne i32 %t25, 0 %t27 = zext i1 %t26 to i32 store i32 %t27, ptr %t2 br i1 %t26, label %scend5, label %sc4 sc4: %t28 = load ptr, ptr @g_g_err_file %t29 = icmp eq ptr %t28, null %t30 = zext i1 %t29 to i32 %t31 = icmp ne i32 %t30, 0 %t32 = zext i1 %t31 to i32 store i32 %t32, ptr %t2 br label %scend5 scend5: %t33 = load i32, ptr %t2 %t34 = icmp ne i32 %t33, 0 br i1 %t34, label %then6, label %ifend8 then6: br label %ret ifend8: %t35 = load ptr, ptr @g_g_err_file %t36 = call ptr @fn_module_of(ptr %t35) store ptr %t36, ptr %t37 %t38 = load ptr, ptr %t0 %t39 = getelementptr inbounds %Cmp_Node, ptr %t38, i32 0, i32 9 %t40 = load ptr, ptr %t39 %t41 = call ptr @fn_module_for_uses(ptr %t40) store ptr %t41, ptr %t42 %t45 = load ptr, ptr %t37 %t46 = call i32 @lp_str_eq(ptr %t45, ptr @.str7629) %t47 = icmp ne i32 %t46, 0 %t48 = zext i1 %t47 to i32 store i32 %t48, ptr %t44 br i1 %t47, label %scend10, label %sc9 sc9: %t49 = load ptr, ptr %t42 %t50 = call i32 @lp_str_eq(ptr %t49, ptr @.str7630) %t51 = icmp ne i32 %t50, 0 %t52 = zext i1 %t51 to i32 store i32 %t52, ptr %t44 br label %scend10 scend10: %t53 = load i32, ptr %t44 %t54 = icmp ne i32 %t53, 0 %t55 = zext i1 %t54 to i32 store i32 %t55, ptr %t43 br i1 %t54, label %scend12, label %sc11 sc11: %t56 = load ptr, ptr %t37 %t57 = load ptr, ptr %t42 %t58 = call i32 @lp_str_eq(ptr %t56, ptr %t57) %t59 = icmp ne i32 %t58, 0 %t60 = zext i1 %t59 to i32 store i32 %t60, ptr %t43 br label %scend12 scend12: %t61 = load i32, ptr %t43 %t62 = icmp ne i32 %t61, 0 br i1 %t62, label %then13, label %ifend15 then13: br label %ret ifend15: %t63 = load ptr, ptr @g_g_dp_writes %t64 = load ptr, ptr %t42 store i32 4577, ptr @lp_site %t65 = call ptr @lp_str_concat(ptr @.str7631, ptr %t64) store i32 0, ptr @lp_site store i32 4578, ptr @lp_site %t66 = call ptr @lp_str_concat(ptr %t65, ptr @.str7633) store i32 0, ptr @lp_site call void @lp_free(ptr %t65) %t67 = load ptr, ptr %t1 store i32 4579, ptr @lp_site %t68 = call ptr @lp_str_concat(ptr %t66, ptr %t67) store i32 0, ptr @lp_site call void @lp_free(ptr %t66) store i32 4580, ptr @lp_site %t69 = call ptr @lp_str_concat(ptr %t68, ptr @.str7634) store i32 0, ptr @lp_site call void @lp_free(ptr %t68) %t70 = load ptr, ptr %t37 store i32 4581, ptr @lp_site %t71 = call ptr @lp_str_concat(ptr %t69, ptr %t70) store i32 0, ptr @lp_site call void @lp_free(ptr %t69) store i32 4582, ptr @lp_site %t72 = call ptr @lp_str_concat(ptr %t71, ptr @.str7635) store i32 0, ptr @lp_site call void @lp_free(ptr %t71) %t73 = load ptr, ptr @g_g_err_file store i32 4583, ptr @lp_site %t74 = call ptr @lp_str_concat(ptr %t72, ptr %t73) store i32 0, ptr @lp_site call void @lp_free(ptr %t72) store i32 4584, ptr @lp_site %t75 = call ptr @lp_str_concat(ptr %t74, ptr @.str7636) store i32 0, ptr @lp_site call void @lp_free(ptr %t74) %t76 = load i32, ptr @g_g_err_line %t77 = call ptr @fn_itoa(i32 %t76) store i32 4585, ptr @lp_site %t78 = call ptr @lp_str_concat(ptr %t75, ptr %t77) store i32 0, ptr @lp_site call void @lp_free(ptr %t75) %t79 = getelementptr inbounds %LSlice, ptr %t63, i32 0, i32 1 %t80 = getelementptr inbounds %LSlice, ptr %t63, i32 0, i32 2 %t81 = getelementptr inbounds %LSlice, ptr %t63, i32 0, i32 0 %t82 = load i32, ptr %t79 %t83 = load i32, ptr %t80 %t84 = icmp sge i32 %t82, %t83 br i1 %t84, label %grow16, label %put17 grow16: %t85 = mul i32 %t83, 2 %t86 = icmp eq i32 %t83, 0 %t87 = select i1 %t86, i32 8, i32 %t85 %t88 = getelementptr ptr, ptr null, i32 1 %t89 = ptrtoint ptr %t88 to i64 %t90 = zext i32 %t87 to i64 %t91 = mul i64 %t90, %t89 %t92 = load ptr, ptr %t81 store i32 4586, ptr @lp_site %t93 = call ptr @lp_realloc(ptr %t92, i64 %t91) store i32 0, ptr @lp_site store ptr %t93, ptr %t81 store i32 %t87, ptr %t80 br label %put17 put17: %t94 = load ptr, ptr %t81 %t95 = getelementptr inbounds ptr, ptr %t94, i32 %t82 store ptr %t78, ptr %t95 %t96 = add i32 %t82, 1 store i32 %t96, ptr %t79 br label %ret ret: ret void } define ptr @fn_deps_target_root(ptr %arg_t) { entry: %retval = alloca ptr %t0 = alloca ptr %t2 = alloca ptr %t3 = alloca i32 %t9 = alloca i32 %t32 = alloca i32 store ptr %arg_t, ptr %t0 %t1 = load ptr, ptr %t0 store ptr %t1, ptr %t2 br label %wcond0 wcond0: %t4 = load ptr, ptr %t2 %t5 = icmp ne ptr %t4, null %t6 = zext i1 %t5 to i32 %t7 = icmp ne i32 %t6, 0 %t8 = zext i1 %t7 to i32 store i32 %t8, ptr %t3 br i1 %t7, label %sc3, label %scend4 sc3: %t10 = load ptr, ptr %t2 %t11 = getelementptr inbounds %Cmp_Node, ptr %t10, i32 0, i32 0 %t12 = load i32, ptr %t11 %t13 = icmp eq i32 %t12, 36 %t14 = zext i1 %t13 to i32 %t15 = icmp ne i32 %t14, 0 %t16 = zext i1 %t15 to i32 store i32 %t16, ptr %t9 br i1 %t15, label %scend6, label %sc5 sc5: %t17 = load ptr, ptr %t2 %t18 = getelementptr inbounds %Cmp_Node, ptr %t17, i32 0, i32 0 %t19 = load i32, ptr %t18 %t20 = icmp eq i32 %t19, 35 %t21 = zext i1 %t20 to i32 %t22 = icmp ne i32 %t21, 0 %t23 = zext i1 %t22 to i32 store i32 %t23, ptr %t9 br label %scend6 scend6: %t24 = load i32, ptr %t9 %t25 = icmp ne i32 %t24, 0 %t26 = zext i1 %t25 to i32 store i32 %t26, ptr %t3 br label %scend4 scend4: %t27 = load i32, ptr %t3 %t28 = icmp ne i32 %t27, 0 br i1 %t28, label %wbody1, label %wend2 wbody1: %t29 = load ptr, ptr %t2 %t30 = getelementptr inbounds %Cmp_Node, ptr %t29, i32 0, i32 4 %t31 = load ptr, ptr %t30 store ptr %t31, ptr %t2 br label %wcond0 wend2: %t33 = load ptr, ptr %t2 %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 %scend8, label %sc7 sc7: %t38 = load ptr, ptr %t2 %t39 = getelementptr inbounds %Cmp_Node, ptr %t38, i32 0, i32 0 %t40 = load i32, ptr %t39 %t41 = icmp ne i32 %t40, 33 %t42 = zext i1 %t41 to i32 %t43 = icmp ne i32 %t42, 0 %t44 = zext i1 %t43 to i32 store i32 %t44, ptr %t32 br label %scend8 scend8: %t45 = load i32, ptr %t32 %t46 = icmp ne i32 %t45, 0 br i1 %t46, label %then9, label %ifend11 then9: store ptr null, ptr %retval br label %ret ifend11: %t47 = load ptr, ptr %t2 %t48 = getelementptr inbounds %Cmp_Node, ptr %t47, i32 0, i32 1 %t49 = load ptr, ptr %t48 %t50 = call i32 @fn_loc_find(ptr %t49) %t51 = icmp sge i32 %t50, 0 %t52 = zext i1 %t51 to i32 %t53 = icmp ne i32 %t52, 0 br i1 %t53, label %then12, label %ifend14 then12: store ptr null, ptr %retval br label %ret ifend14: %t54 = load ptr, ptr %t2 %t55 = getelementptr inbounds %Cmp_Node, ptr %t54, i32 0, i32 1 %t56 = load ptr, ptr %t55 %t57 = call ptr @fn_find_global(ptr %t56) store ptr %t57, ptr %retval br label %ret ret: %t58 = load ptr, ptr %retval ret ptr %t58 } define void @fn_deps_line(ptr %arg_f, ptr %arg_s) { entry: %t0 = alloca ptr %t1 = alloca ptr store ptr %arg_f, ptr %t0 store ptr %arg_s, ptr %t1 %t2 = load ptr, ptr %t0 %t3 = load ptr, ptr %t1 %t4 = load ptr, ptr %t1 %t5 = call i64 @strlen(ptr %t4) %t6 = trunc i64 %t5 to i32 %t7 = zext i32 %t6 to i64 %t8 = call i64 @fwrite(ptr %t3, i64 1, i64 %t7, ptr %t2) %t9 = trunc i64 %t8 to i32 %t10 = load ptr, ptr %t0 %t11 = zext i32 1 to i64 %t12 = call i64 @fwrite(ptr @.str7637, i64 1, i64 %t11, ptr %t10) %t13 = trunc i64 %t12 to i32 br label %ret ret: ret void } define void @fn_deps_flush() { entry: %t6 = alloca ptr %t17 = alloca ptr %t18 = alloca i32 %t36 = alloca ptr %t37 = alloca i32 %t38 = alloca i32 %t61 = alloca i32 %t95 = alloca i32 %t111 = alloca ptr %t114 = alloca i32 %t131 = alloca ptr %t167 = alloca ptr %t168 = alloca i32 %t169 = alloca i32 %t192 = alloca i32 %t0 = call i32 @fn_deps_on() %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 = call ptr @getenv(ptr @.str7638) store i32 4587, ptr @lp_site %t5 = call ptr @lp_pak_open(ptr %t4, ptr @.str7639) store i32 0, ptr @lp_site store ptr %t5, ptr %t6 %t7 = load ptr, ptr %t6 %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: br label %ret ifend5: %t11 = getelementptr %LSlice, ptr null, i32 1 %t12 = ptrtoint ptr %t11 to i64 store i32 4588, ptr @lp_site %t13 = call ptr @lp_malloc(i64 %t12) store i32 0, ptr @lp_site %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 store i32 0, ptr %t18 br label %wcond6 wcond6: %t19 = load i32, ptr %t18 %t20 = load ptr, ptr @g_g_mod_name %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 %wbody7, label %wend8 wbody7: %t26 = load ptr, ptr @g_g_mod_name %t27 = load i32, ptr %t18 %t28 = getelementptr inbounds %LSlice, ptr %t26, i32 0, i32 0 %t29 = load ptr, ptr %t28 %t30 = getelementptr inbounds %LSlice, ptr %t26, i32 0, i32 1 %t31 = load i32, ptr %t30 %t32 = icmp ult i32 %t27, %t31 br i1 %t32, label %ixok9, label %ixbad10 ixbad10: store i32 4589, ptr @lp_site %t33 = call ptr @lp_win_stdio(i32 2) store i32 0, ptr @lp_site call i32 (ptr, ptr, ...) @fprintf(ptr %t33, ptr @.fmt_bounds, ptr @.str7641, i32 %t27, i32 %t31) call void @exit(i32 1) unreachable ixok9: %t34 = getelementptr inbounds ptr, ptr %t29, i32 %t27 %t35 = load ptr, ptr %t34 store ptr %t35, ptr %t36 store i32 0, ptr %t37 store i32 0, ptr %t38 br label %wcond11 wcond11: %t39 = load i32, ptr %t38 %t40 = load ptr, ptr %t17 %t41 = getelementptr inbounds %LSlice, ptr %t40, i32 0, i32 1 %t42 = load i32, ptr %t41 %t43 = icmp slt i32 %t39, %t42 %t44 = zext i1 %t43 to i32 %t45 = icmp ne i32 %t44, 0 br i1 %t45, label %wbody12, label %wend13 wbody12: %t46 = load ptr, ptr %t17 %t47 = load i32, ptr %t38 %t48 = getelementptr inbounds %LSlice, ptr %t46, i32 0, i32 0 %t49 = load ptr, ptr %t48 %t50 = getelementptr inbounds %LSlice, ptr %t46, i32 0, i32 1 %t51 = load i32, ptr %t50 %t52 = icmp ult i32 %t47, %t51 br i1 %t52, label %ixok14, label %ixbad15 ixbad15: store i32 4590, ptr @lp_site %t53 = call ptr @lp_win_stdio(i32 2) store i32 0, ptr @lp_site call i32 (ptr, ptr, ...) @fprintf(ptr %t53, ptr @.fmt_bounds, ptr @.str7642, i32 %t47, i32 %t51) call void @exit(i32 1) unreachable ixok14: %t54 = getelementptr inbounds ptr, ptr %t49, i32 %t47 %t55 = load ptr, ptr %t54 %t56 = load ptr, ptr %t36 %t57 = call i32 @lp_str_eq(ptr %t55, ptr %t56) %t58 = icmp ne i32 %t57, 0 br i1 %t58, label %then16, label %ifend18 then16: store i32 1, ptr %t37 br label %ifend18 ifend18: %t59 = load i32, ptr %t38 %t60 = add i32 %t59, 1 store i32 %t60, ptr %t38 br label %wcond11 wend13: %t62 = load i32, ptr %t37 %t63 = icmp eq i32 %t62, 0 %t64 = zext i1 %t63 to i32 %t65 = icmp ne i32 %t64, 0 %t66 = zext i1 %t65 to i32 store i32 %t66, ptr %t61 br i1 %t65, label %sc19, label %scend20 sc19: %t67 = load ptr, ptr %t36 %t68 = call i32 @lp_str_eq(ptr %t67, ptr @.str7643) %t69 = icmp eq i32 %t68, 0 %t70 = zext i1 %t69 to i32 %t71 = icmp ne i32 %t70, 0 %t72 = zext i1 %t71 to i32 store i32 %t72, ptr %t61 br label %scend20 scend20: %t73 = load i32, ptr %t61 %t74 = icmp ne i32 %t73, 0 br i1 %t74, label %then21, label %ifend23 then21: %t75 = load ptr, ptr %t17 %t76 = load ptr, ptr %t36 %t77 = getelementptr inbounds %LSlice, ptr %t75, i32 0, i32 1 %t78 = getelementptr inbounds %LSlice, ptr %t75, i32 0, i32 2 %t79 = getelementptr inbounds %LSlice, ptr %t75, i32 0, i32 0 %t80 = load i32, ptr %t77 %t81 = load i32, ptr %t78 %t82 = icmp sge i32 %t80, %t81 br i1 %t82, label %grow24, label %put25 grow24: %t83 = mul i32 %t81, 2 %t84 = icmp eq i32 %t81, 0 %t85 = select i1 %t84, i32 8, i32 %t83 %t86 = getelementptr ptr, ptr null, i32 1 %t87 = ptrtoint ptr %t86 to i64 %t88 = zext i32 %t85 to i64 %t89 = mul i64 %t88, %t87 %t90 = load ptr, ptr %t79 store i32 4591, ptr @lp_site %t91 = call ptr @lp_realloc(ptr %t90, i64 %t89) store i32 0, ptr @lp_site store ptr %t91, ptr %t79 store i32 %t85, ptr %t78 br label %put25 put25: %t92 = load ptr, ptr %t79 %t93 = getelementptr inbounds ptr, ptr %t92, i32 %t80 store ptr %t76, ptr %t93 %t94 = add i32 %t80, 1 store i32 %t94, ptr %t77 store i32 0, ptr %t95 %t96 = load ptr, ptr @g_g_mod_file %t97 = load i32, ptr %t18 %t98 = getelementptr inbounds %LSlice, ptr %t96, i32 0, i32 0 %t99 = load ptr, ptr %t98 %t100 = getelementptr inbounds %LSlice, ptr %t96, i32 0, i32 1 %t101 = load i32, ptr %t100 %t102 = icmp ult i32 %t97, %t101 br i1 %t102, label %ixok26, label %ixbad27 ixbad27: store i32 4592, ptr @lp_site %t103 = call ptr @lp_win_stdio(i32 2) store i32 0, ptr @lp_site call i32 (ptr, ptr, ...) @fprintf(ptr %t103, ptr @.fmt_bounds, ptr @.str7644, i32 %t97, i32 %t101) call void @exit(i32 1) unreachable ixok26: %t104 = getelementptr inbounds ptr, ptr %t99, i32 %t97 %t105 = load ptr, ptr %t104 %t106 = call ptr @fn_pkg_of_file(ptr %t105) %t107 = call i32 @lp_str_eq(ptr %t106, ptr @.str7645) %t108 = icmp eq i32 %t107, 0 %t109 = zext i1 %t108 to i32 %t110 = icmp ne i32 %t109, 0 br i1 %t110, label %then28, label %ifend30 then28: store i32 1, ptr %t95 br label %ifend30 ifend30: store ptr @.str7646, ptr %t111 %t112 = load ptr, ptr %t36 %t113 = call i32 @fn_mod_find_uses(ptr %t112) store i32 %t113, ptr %t114 %t115 = load i32, ptr %t114 %t116 = icmp sge i32 %t115, 0 %t117 = zext i1 %t116 to i32 %t118 = icmp ne i32 %t117, 0 br i1 %t118, label %then31, label %ifend33 then31: %t119 = load ptr, ptr @g_g_mu_list %t120 = load i32, ptr %t114 %t121 = getelementptr inbounds %LSlice, ptr %t119, i32 0, i32 0 %t122 = load ptr, ptr %t121 %t123 = getelementptr inbounds %LSlice, ptr %t119, i32 0, i32 1 %t124 = load i32, ptr %t123 %t125 = icmp ult i32 %t120, %t124 br i1 %t125, label %ixok34, label %ixbad35 ixbad35: store i32 4593, ptr @lp_site %t126 = call ptr @lp_win_stdio(i32 2) store i32 0, ptr @lp_site call i32 (ptr, ptr, ...) @fprintf(ptr %t126, ptr @.fmt_bounds, ptr @.str7647, i32 %t120, i32 %t124) call void @exit(i32 1) unreachable ixok34: %t127 = getelementptr inbounds ptr, ptr %t122, i32 %t120 %t128 = load ptr, ptr %t127 store ptr %t128, ptr %t111 br label %ifend33 ifend33: %t129 = load ptr, ptr %t36 %t130 = call ptr @fn_mod_layer(ptr %t129) store ptr %t130, ptr %t131 %t132 = load ptr, ptr %t131 %t133 = call i32 @lp_str_eq(ptr %t132, ptr @.str7648) %t134 = icmp ne i32 %t133, 0 br i1 %t134, label %then36, label %ifend38 then36: store ptr @.str7649, ptr %t131 br label %ifend38 ifend38: %t135 = load ptr, ptr %t6 %t136 = load ptr, ptr %t36 store i32 4594, ptr @lp_site %t137 = call ptr @lp_str_concat(ptr @.str7650, ptr %t136) store i32 0, ptr @lp_site store i32 4595, ptr @lp_site %t138 = call ptr @lp_str_concat(ptr %t137, ptr @.str7651) store i32 0, ptr @lp_site call void @lp_free(ptr %t137) %t139 = load i32, ptr %t95 %t140 = call ptr @fn_itoa(i32 %t139) store i32 4596, ptr @lp_site %t141 = call ptr @lp_str_concat(ptr %t138, ptr %t140) store i32 0, ptr @lp_site call void @lp_free(ptr %t138) store i32 4597, ptr @lp_site %t142 = call ptr @lp_str_concat(ptr %t141, ptr @.str7652) store i32 0, ptr @lp_site call void @lp_free(ptr %t141) %t143 = load ptr, ptr %t111 store i32 4598, ptr @lp_site %t144 = call ptr @lp_str_concat(ptr %t142, ptr %t143) store i32 0, ptr @lp_site call void @lp_free(ptr %t142) store i32 4599, ptr @lp_site %t145 = call ptr @lp_str_concat(ptr %t144, ptr @.str7653) store i32 0, ptr @lp_site call void @lp_free(ptr %t144) %t146 = load ptr, ptr %t131 store i32 4600, ptr @lp_site %t147 = call ptr @lp_str_concat(ptr %t145, ptr %t146) store i32 0, ptr @lp_site call void @lp_free(ptr %t145) call void @fn_deps_line(ptr %t135, ptr %t147) br label %ifend23 ifend23: %t148 = load i32, ptr %t18 %t149 = add i32 %t148, 1 store i32 %t149, ptr %t18 br label %wcond6 wend8: store i32 0, ptr %t18 br label %wcond39 wcond39: %t150 = load i32, ptr %t18 %t151 = load ptr, ptr @g_g_pk_name %t152 = getelementptr inbounds %LSlice, ptr %t151, i32 0, i32 1 %t153 = load i32, ptr %t152 %t154 = icmp slt i32 %t150, %t153 %t155 = zext i1 %t154 to i32 %t156 = icmp ne i32 %t155, 0 br i1 %t156, label %wbody40, label %wend41 wbody40: %t157 = load ptr, ptr @g_g_pk_name %t158 = load i32, ptr %t18 %t159 = getelementptr inbounds %LSlice, ptr %t157, i32 0, i32 0 %t160 = load ptr, ptr %t159 %t161 = getelementptr inbounds %LSlice, ptr %t157, i32 0, i32 1 %t162 = load i32, ptr %t161 %t163 = icmp ult i32 %t158, %t162 br i1 %t163, label %ixok42, label %ixbad43 ixbad43: store i32 4601, ptr @lp_site %t164 = call ptr @lp_win_stdio(i32 2) store i32 0, ptr @lp_site call i32 (ptr, ptr, ...) @fprintf(ptr %t164, ptr @.fmt_bounds, ptr @.str7654, i32 %t158, i32 %t162) call void @exit(i32 1) unreachable ixok42: %t165 = getelementptr inbounds ptr, ptr %t160, i32 %t158 %t166 = load ptr, ptr %t165 store ptr %t166, ptr %t167 store i32 0, ptr %t168 store i32 0, ptr %t169 br label %wcond44 wcond44: %t170 = load i32, ptr %t169 %t171 = load ptr, ptr %t17 %t172 = getelementptr inbounds %LSlice, ptr %t171, i32 0, i32 1 %t173 = load i32, ptr %t172 %t174 = icmp slt i32 %t170, %t173 %t175 = zext i1 %t174 to i32 %t176 = icmp ne i32 %t175, 0 br i1 %t176, label %wbody45, label %wend46 wbody45: %t177 = load ptr, ptr %t17 %t178 = load i32, ptr %t169 %t179 = getelementptr inbounds %LSlice, ptr %t177, i32 0, i32 0 %t180 = load ptr, ptr %t179 %t181 = getelementptr inbounds %LSlice, ptr %t177, i32 0, i32 1 %t182 = load i32, ptr %t181 %t183 = icmp ult i32 %t178, %t182 br i1 %t183, label %ixok47, label %ixbad48 ixbad48: store i32 4602, ptr @lp_site %t184 = call ptr @lp_win_stdio(i32 2) store i32 0, ptr @lp_site call i32 (ptr, ptr, ...) @fprintf(ptr %t184, ptr @.fmt_bounds, ptr @.str7655, i32 %t178, i32 %t182) call void @exit(i32 1) unreachable ixok47: %t185 = getelementptr inbounds ptr, ptr %t180, i32 %t178 %t186 = load ptr, ptr %t185 %t187 = load ptr, ptr %t167 %t188 = call i32 @lp_str_eq(ptr %t186, ptr %t187) %t189 = icmp ne i32 %t188, 0 br i1 %t189, label %then49, label %ifend51 then49: store i32 1, ptr %t168 br label %ifend51 ifend51: %t190 = load i32, ptr %t169 %t191 = add i32 %t190, 1 store i32 %t191, ptr %t169 br label %wcond44 wend46: %t193 = load i32, ptr %t168 %t194 = icmp eq i32 %t193, 0 %t195 = zext i1 %t194 to i32 %t196 = icmp ne i32 %t195, 0 %t197 = zext i1 %t196 to i32 store i32 %t197, ptr %t192 br i1 %t196, label %sc52, label %scend53 sc52: %t198 = load ptr, ptr %t167 %t199 = call i32 @lp_str_eq(ptr %t198, ptr @.str7656) %t200 = icmp eq i32 %t199, 0 %t201 = zext i1 %t200 to i32 %t202 = icmp ne i32 %t201, 0 %t203 = zext i1 %t202 to i32 store i32 %t203, ptr %t192 br label %scend53 scend53: %t204 = load i32, ptr %t192 %t205 = icmp ne i32 %t204, 0 br i1 %t205, label %then54, label %ifend56 then54: %t206 = load ptr, ptr %t17 %t207 = load ptr, ptr %t167 %t208 = getelementptr inbounds %LSlice, ptr %t206, i32 0, i32 1 %t209 = getelementptr inbounds %LSlice, ptr %t206, i32 0, i32 2 %t210 = getelementptr inbounds %LSlice, ptr %t206, i32 0, i32 0 %t211 = load i32, ptr %t208 %t212 = load i32, ptr %t209 %t213 = icmp sge i32 %t211, %t212 br i1 %t213, label %grow57, label %put58 grow57: %t214 = mul i32 %t212, 2 %t215 = icmp eq i32 %t212, 0 %t216 = select i1 %t215, i32 8, i32 %t214 %t217 = getelementptr ptr, ptr null, i32 1 %t218 = ptrtoint ptr %t217 to i64 %t219 = zext i32 %t216 to i64 %t220 = mul i64 %t219, %t218 %t221 = load ptr, ptr %t210 store i32 4603, ptr @lp_site %t222 = call ptr @lp_realloc(ptr %t221, i64 %t220) store i32 0, ptr @lp_site store ptr %t222, ptr %t210 store i32 %t216, ptr %t209 br label %put58 put58: %t223 = load ptr, ptr %t210 %t224 = getelementptr inbounds ptr, ptr %t223, i32 %t211 store ptr %t207, ptr %t224 %t225 = add i32 %t211, 1 store i32 %t225, ptr %t208 %t226 = load ptr, ptr %t6 %t227 = load ptr, ptr %t167 store i32 4604, ptr @lp_site %t228 = call ptr @lp_str_concat(ptr @.str7657, ptr %t227) store i32 0, ptr @lp_site store i32 4605, ptr @lp_site %t229 = call ptr @lp_str_concat(ptr %t228, ptr @.str7658) store i32 0, ptr @lp_site call void @lp_free(ptr %t228) call void @fn_deps_line(ptr %t226, ptr %t229) br label %ifend56 ifend56: %t230 = load i32, ptr %t18 %t231 = add i32 %t230, 1 store i32 %t231, ptr %t18 br label %wcond39 wend41: store i32 0, ptr %t18 br label %wcond59 wcond59: %t232 = load i32, ptr %t18 %t233 = load ptr, ptr @g_g_dp_key %t234 = getelementptr inbounds %LSlice, ptr %t233, i32 0, i32 1 %t235 = load i32, ptr %t234 %t236 = icmp slt i32 %t232, %t235 %t237 = zext i1 %t236 to i32 %t238 = icmp ne i32 %t237, 0 br i1 %t238, label %wbody60, label %wend61 wbody60: %t239 = load ptr, ptr %t6 %t240 = load ptr, ptr @g_g_dp_key %t241 = load i32, ptr %t18 %t242 = getelementptr inbounds %LSlice, ptr %t240, i32 0, i32 0 %t243 = load ptr, ptr %t242 %t244 = getelementptr inbounds %LSlice, ptr %t240, i32 0, i32 1 %t245 = load i32, ptr %t244 %t246 = icmp ult i32 %t241, %t245 br i1 %t246, label %ixok62, label %ixbad63 ixbad63: store i32 4606, ptr @lp_site %t247 = call ptr @lp_win_stdio(i32 2) store i32 0, ptr @lp_site call i32 (ptr, ptr, ...) @fprintf(ptr %t247, ptr @.fmt_bounds, ptr @.str7660, i32 %t241, i32 %t245) call void @exit(i32 1) unreachable ixok62: %t248 = getelementptr inbounds ptr, ptr %t243, i32 %t241 %t249 = load ptr, ptr %t248 store i32 4607, ptr @lp_site %t250 = call ptr @lp_str_concat(ptr @.str7659, ptr %t249) store i32 0, ptr @lp_site store i32 4608, ptr @lp_site %t251 = call ptr @lp_str_concat(ptr %t250, ptr @.str7661) store i32 0, ptr @lp_site call void @lp_free(ptr %t250) %t252 = load ptr, ptr @g_g_dp_cnt %t253 = load i32, ptr %t18 %t254 = getelementptr inbounds %LSlice, ptr %t252, i32 0, i32 0 %t255 = load ptr, ptr %t254 %t256 = getelementptr inbounds %LSlice, ptr %t252, i32 0, i32 1 %t257 = load i32, ptr %t256 %t258 = icmp ult i32 %t253, %t257 br i1 %t258, label %ixok64, label %ixbad65 ixbad65: store i32 4609, ptr @lp_site %t259 = call ptr @lp_win_stdio(i32 2) store i32 0, ptr @lp_site call i32 (ptr, ptr, ...) @fprintf(ptr %t259, ptr @.fmt_bounds, ptr @.str7662, i32 %t253, i32 %t257) call void @exit(i32 1) unreachable ixok64: %t260 = getelementptr inbounds i32, ptr %t255, i32 %t253 %t261 = load i32, ptr %t260 %t262 = call ptr @fn_itoa(i32 %t261) store i32 4610, ptr @lp_site %t263 = call ptr @lp_str_concat(ptr %t251, ptr %t262) store i32 0, ptr @lp_site call void @lp_free(ptr %t251) store i32 4611, ptr @lp_site %t264 = call ptr @lp_str_concat(ptr %t263, ptr @.str7663) store i32 0, ptr @lp_site call void @lp_free(ptr %t263) %t265 = load ptr, ptr @g_g_dp_name %t266 = load i32, ptr %t18 %t267 = getelementptr inbounds %LSlice, ptr %t265, i32 0, i32 0 %t268 = load ptr, ptr %t267 %t269 = getelementptr inbounds %LSlice, ptr %t265, i32 0, i32 1 %t270 = load i32, ptr %t269 %t271 = icmp ult i32 %t266, %t270 br i1 %t271, label %ixok66, label %ixbad67 ixbad67: store i32 4612, ptr @lp_site %t272 = call ptr @lp_win_stdio(i32 2) store i32 0, ptr @lp_site call i32 (ptr, ptr, ...) @fprintf(ptr %t272, ptr @.fmt_bounds, ptr @.str7664, i32 %t266, i32 %t270) call void @exit(i32 1) unreachable ixok66: %t273 = getelementptr inbounds ptr, ptr %t268, i32 %t266 %t274 = load ptr, ptr %t273 store i32 4613, ptr @lp_site %t275 = call ptr @lp_str_concat(ptr %t264, ptr %t274) store i32 0, ptr @lp_site call void @lp_free(ptr %t264) call void @fn_deps_line(ptr %t239, ptr %t275) %t276 = load i32, ptr %t18 %t277 = add i32 %t276, 1 store i32 %t277, ptr %t18 br label %wcond59 wend61: store i32 0, ptr %t18 br label %wcond68 wcond68: %t278 = load i32, ptr %t18 %t279 = load ptr, ptr @g_g_dp_writes %t280 = getelementptr inbounds %LSlice, ptr %t279, i32 0, i32 1 %t281 = load i32, ptr %t280 %t282 = icmp slt i32 %t278, %t281 %t283 = zext i1 %t282 to i32 %t284 = icmp ne i32 %t283, 0 br i1 %t284, label %wbody69, label %wend70 wbody69: %t285 = load ptr, ptr %t6 %t286 = load ptr, ptr @g_g_dp_writes %t287 = load i32, ptr %t18 %t288 = getelementptr inbounds %LSlice, ptr %t286, i32 0, i32 0 %t289 = load ptr, ptr %t288 %t290 = getelementptr inbounds %LSlice, ptr %t286, i32 0, i32 1 %t291 = load i32, ptr %t290 %t292 = icmp ult i32 %t287, %t291 br i1 %t292, label %ixok71, label %ixbad72 ixbad72: store i32 4614, ptr @lp_site %t293 = call ptr @lp_win_stdio(i32 2) store i32 0, ptr @lp_site call i32 (ptr, ptr, ...) @fprintf(ptr %t293, ptr @.fmt_bounds, ptr @.str7665, i32 %t287, i32 %t291) call void @exit(i32 1) unreachable ixok71: %t294 = getelementptr inbounds ptr, ptr %t289, i32 %t287 %t295 = load ptr, ptr %t294 call void @fn_deps_line(ptr %t285, ptr %t295) %t296 = load i32, ptr %t18 %t297 = add i32 %t296, 1 store i32 %t297, ptr %t18 br label %wcond68 wend70: store i32 0, ptr %t18 br label %wcond73 wcond73: %t298 = load i32, ptr %t18 %t299 = load ptr, ptr @g_g_dp_aliases %t300 = getelementptr inbounds %LSlice, ptr %t299, i32 0, i32 1 %t301 = load i32, ptr %t300 %t302 = icmp slt i32 %t298, %t301 %t303 = zext i1 %t302 to i32 %t304 = icmp ne i32 %t303, 0 br i1 %t304, label %wbody74, label %wend75 wbody74: %t305 = load ptr, ptr %t6 %t306 = load ptr, ptr @g_g_dp_aliases %t307 = load i32, ptr %t18 %t308 = getelementptr inbounds %LSlice, ptr %t306, i32 0, i32 0 %t309 = load ptr, ptr %t308 %t310 = getelementptr inbounds %LSlice, ptr %t306, i32 0, i32 1 %t311 = load i32, ptr %t310 %t312 = icmp ult i32 %t307, %t311 br i1 %t312, label %ixok76, label %ixbad77 ixbad77: store i32 4615, ptr @lp_site %t313 = call ptr @lp_win_stdio(i32 2) store i32 0, ptr @lp_site call i32 (ptr, ptr, ...) @fprintf(ptr %t313, ptr @.fmt_bounds, ptr @.str7666, i32 %t307, i32 %t311) call void @exit(i32 1) unreachable ixok76: %t314 = getelementptr inbounds ptr, ptr %t309, i32 %t307 %t315 = load ptr, ptr %t314 call void @fn_deps_line(ptr %t305, ptr %t315) %t316 = load i32, ptr %t18 %t317 = add i32 %t316, 1 store i32 %t317, ptr %t18 br label %wcond73 wend75: %t318 = load ptr, ptr %t6 call void @fn_deps_widths(ptr %t318) %t319 = load ptr, ptr %t6 call void @fn_deps_reach(ptr %t319) %t320 = load ptr, ptr %t6 %t321 = load i32, ptr @g_g_i18n_english_left %t322 = call ptr @fn_itoa(i32 %t321) store i32 4616, ptr @lp_site %t323 = call ptr @lp_str_concat(ptr @.str7667, ptr %t322) store i32 0, ptr @lp_site call void @fn_deps_line(ptr %t320, ptr %t323) %t324 = load ptr, ptr %t6 call i32 @fclose(ptr %t324) br label %ret ret: ret void } define void @fn_deps_widths(ptr %arg_f) { entry: %t0 = alloca ptr %t1 = alloca i32 %t19 = alloca ptr %t20 = alloca i32 %t38 = alloca i32 %t42 = alloca ptr %t49 = alloca i32 %t59 = alloca i32 %t101 = alloca i32 %t102 = alloca i32 %t139 = alloca i32 store ptr %arg_f, 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 = load i32, ptr %t1 %t11 = getelementptr inbounds %LSlice, ptr %t9, i32 0, i32 0 %t12 = load ptr, ptr %t11 %t13 = getelementptr inbounds %LSlice, ptr %t9, i32 0, i32 1 %t14 = load i32, ptr %t13 %t15 = icmp ult i32 %t10, %t14 br i1 %t15, label %ixok3, label %ixbad4 ixbad4: store i32 4617, ptr @lp_site %t16 = call ptr @lp_win_stdio(i32 2) store i32 0, ptr @lp_site call i32 (ptr, ptr, ...) @fprintf(ptr %t16, ptr @.fmt_bounds, ptr @.str7668, i32 %t10, i32 %t14) call void @exit(i32 1) unreachable ixok3: %t17 = getelementptr inbounds ptr, ptr %t12, i32 %t10 %t18 = load ptr, ptr %t17 store ptr %t18, ptr %t19 %t21 = load ptr, ptr %t19 %t22 = getelementptr inbounds %Cmp_Node, ptr %t21, i32 0, i32 9 %t23 = load ptr, ptr %t22 %t24 = icmp ne ptr %t23, null %t25 = zext i1 %t24 to i32 %t26 = icmp ne i32 %t25, 0 %t27 = zext i1 %t26 to i32 store i32 %t27, ptr %t20 br i1 %t26, label %sc5, label %scend6 sc5: %t28 = load ptr, ptr %t19 %t29 = getelementptr inbounds %Cmp_Node, ptr %t28, i32 0, i32 9 %t30 = load ptr, ptr %t29 %t31 = call i32 @fn_is_runtime_file(ptr %t30) %t32 = icmp eq i32 %t31, 0 %t33 = zext i1 %t32 to i32 %t34 = icmp ne i32 %t33, 0 %t35 = zext i1 %t34 to i32 store i32 %t35, ptr %t20 br label %scend6 scend6: %t36 = load i32, ptr %t20 %t37 = icmp ne i32 %t36, 0 br i1 %t37, label %then7, label %ifend9 then7: store i32 0, ptr %t38 %t39 = load ptr, ptr %t19 %t40 = getelementptr inbounds %Cmp_Node, ptr %t39, i32 0, i32 1 %t41 = load ptr, ptr %t40 store ptr %t41, ptr %t42 %t43 = load ptr, ptr %t19 %t44 = getelementptr inbounds %Cmp_Node, ptr %t43, i32 0, i32 0 %t45 = load i32, ptr %t44 %t46 = icmp eq i32 %t45, 4 %t47 = zext i1 %t46 to i32 %t48 = icmp ne i32 %t47, 0 br i1 %t48, label %then10, label %ifend12 then10: store i32 0, ptr %t49 br label %wcond13 wcond13: %t50 = load i32, ptr %t49 %t51 = load ptr, ptr %t19 %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 1 %t55 = load i32, ptr %t54 %t56 = icmp slt i32 %t50, %t55 %t57 = zext i1 %t56 to i32 %t58 = icmp ne i32 %t57, 0 br i1 %t58, label %wbody14, label %wend15 wbody14: %t60 = load ptr, ptr %t19 %t61 = getelementptr inbounds %Cmp_Node, ptr %t60, i32 0, i32 7 %t62 = load ptr, ptr %t61 %t63 = load i32, ptr %t49 %t64 = getelementptr inbounds %LSlice, ptr %t62, i32 0, i32 0 %t65 = load ptr, ptr %t64 %t66 = getelementptr inbounds %LSlice, ptr %t62, i32 0, i32 1 %t67 = load i32, ptr %t66 %t68 = icmp ult i32 %t63, %t67 br i1 %t68, label %ixok16, label %ixbad17 ixbad17: store i32 4618, ptr @lp_site %t69 = call ptr @lp_win_stdio(i32 2) store i32 0, ptr @lp_site call i32 (ptr, ptr, ...) @fprintf(ptr %t69, ptr @.fmt_bounds, ptr @.str7670, i32 %t63, i32 %t67) call void @exit(i32 1) unreachable ixok16: %t70 = getelementptr inbounds ptr, ptr %t65, i32 %t63 %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, 5 %t75 = zext i1 %t74 to i32 %t76 = icmp ne i32 %t75, 0 %t77 = zext i1 %t76 to i32 store i32 %t77, ptr %t59 br i1 %t76, label %sc18, label %scend19 sc18: %t78 = load ptr, ptr %t19 %t79 = getelementptr inbounds %Cmp_Node, ptr %t78, i32 0, i32 7 %t80 = load ptr, ptr %t79 %t81 = load i32, ptr %t49 %t82 = getelementptr inbounds %LSlice, ptr %t80, i32 0, i32 0 %t83 = load ptr, ptr %t82 %t84 = getelementptr inbounds %LSlice, ptr %t80, i32 0, i32 1 %t85 = load i32, ptr %t84 %t86 = icmp ult i32 %t81, %t85 br i1 %t86, label %ixok20, label %ixbad21 ixbad21: store i32 4619, ptr @lp_site %t87 = call ptr @lp_win_stdio(i32 2) store i32 0, ptr @lp_site call i32 (ptr, ptr, ...) @fprintf(ptr %t87, ptr @.fmt_bounds, ptr @.str7671, i32 %t81, i32 %t85) call void @exit(i32 1) unreachable ixok20: %t88 = getelementptr inbounds ptr, ptr %t83, i32 %t81 %t89 = load ptr, ptr %t88 %t90 = getelementptr inbounds %Cmp_Node, ptr %t89, i32 0, i32 3 %t91 = load ptr, ptr %t90 %t92 = call i32 @fn_is_state_ty(ptr %t91) %t93 = icmp ne i32 %t92, 0 %t94 = zext i1 %t93 to i32 store i32 %t94, ptr %t59 br label %scend19 scend19: %t95 = load i32, ptr %t59 %t96 = icmp ne i32 %t95, 0 br i1 %t96, label %then22, label %ifend24 then22: %t97 = load i32, ptr %t38 %t98 = add i32 %t97, 1 store i32 %t98, ptr %t38 br label %ifend24 ifend24: %t99 = load i32, ptr %t49 %t100 = add i32 %t99, 1 store i32 %t100, ptr %t49 br label %wcond13 wend15: br label %ifend12 ifend12: %t103 = load ptr, ptr %t19 %t104 = getelementptr inbounds %Cmp_Node, ptr %t103, i32 0, i32 0 %t105 = load i32, ptr %t104 %t106 = icmp eq i32 %t105, 6 %t107 = zext i1 %t106 to i32 %t108 = icmp ne i32 %t107, 0 %t109 = zext i1 %t108 to i32 store i32 %t109, ptr %t102 br i1 %t108, label %scend26, label %sc25 sc25: %t110 = load ptr, ptr %t19 %t111 = getelementptr inbounds %Cmp_Node, ptr %t110, i32 0, i32 0 %t112 = load i32, ptr %t111 %t113 = icmp eq i32 %t112, 9 %t114 = zext i1 %t113 to i32 %t115 = icmp ne i32 %t114, 0 %t116 = zext i1 %t115 to i32 store i32 %t116, ptr %t102 br label %scend26 scend26: %t117 = load i32, ptr %t102 %t118 = icmp ne i32 %t117, 0 %t119 = zext i1 %t118 to i32 store i32 %t119, ptr %t101 br i1 %t118, label %sc27, label %scend28 sc27: %t120 = load ptr, ptr %t19 %t121 = getelementptr inbounds %Cmp_Node, ptr %t120, i32 0, i32 4 %t122 = load ptr, ptr %t121 %t123 = icmp ne ptr %t122, null %t124 = zext i1 %t123 to i32 %t125 = icmp ne i32 %t124, 0 %t126 = zext i1 %t125 to i32 store i32 %t126, ptr %t101 br label %scend28 scend28: %t127 = load i32, ptr %t101 %t128 = icmp ne i32 %t127, 0 br i1 %t128, label %then29, label %ifend31 then29: %t129 = load ptr, ptr %t19 %t130 = getelementptr inbounds %Cmp_Node, ptr %t129, i32 0, i32 0 %t131 = load i32, ptr %t130 %t132 = icmp eq i32 %t131, 6 %t133 = zext i1 %t132 to i32 %t134 = icmp ne i32 %t133, 0 br i1 %t134, label %then32, label %ifend34 then32: store ptr @.str7672, ptr %t42 br label %ifend34 ifend34: %t135 = load ptr, ptr %t19 %t136 = getelementptr inbounds %Cmp_Node, ptr %t135, i32 0, i32 4 %t137 = load ptr, ptr %t136 %t138 = call i32 @fn_deps_body_states(ptr %t137) store i32 %t138, ptr %t38 br label %ifend31 ifend31: store i32 0, ptr %t139 %t140 = load ptr, ptr %t19 %t141 = getelementptr inbounds %Cmp_Node, ptr %t140, i32 0, i32 9 %t142 = load ptr, ptr %t141 %t143 = call ptr @fn_pkg_of_file(ptr %t142) %t144 = call i32 @lp_str_eq(ptr %t143, ptr @.str7673) %t145 = icmp eq i32 %t144, 0 %t146 = zext i1 %t145 to i32 %t147 = icmp ne i32 %t146, 0 br i1 %t147, label %then35, label %ifend37 then35: store i32 1, ptr %t139 br label %ifend37 ifend37: %t148 = load i32, ptr %t38 %t149 = icmp sgt i32 %t148, 0 %t150 = zext i1 %t149 to i32 %t151 = icmp ne i32 %t150, 0 br i1 %t151, label %then38, label %ifend40 then38: %t152 = load ptr, ptr %t0 %t153 = load i32, ptr %t38 %t154 = call ptr @fn_itoa(i32 %t153) store i32 4620, ptr @lp_site %t155 = call ptr @lp_str_concat(ptr @.str7674, ptr %t154) store i32 0, ptr @lp_site store i32 4621, ptr @lp_site %t156 = call ptr @lp_str_concat(ptr %t155, ptr @.str7675) store i32 0, ptr @lp_site call void @lp_free(ptr %t155) %t157 = load ptr, ptr %t42 store i32 4622, ptr @lp_site %t158 = call ptr @lp_str_concat(ptr %t156, ptr %t157) store i32 0, ptr @lp_site call void @lp_free(ptr %t156) store i32 4623, ptr @lp_site %t159 = call ptr @lp_str_concat(ptr %t158, ptr @.str7676) store i32 0, ptr @lp_site call void @lp_free(ptr %t158) %t160 = load ptr, ptr %t19 %t161 = getelementptr inbounds %Cmp_Node, ptr %t160, i32 0, i32 9 %t162 = load ptr, ptr %t161 store i32 4624, ptr @lp_site %t163 = call ptr @lp_str_concat(ptr %t159, ptr %t162) store i32 0, ptr @lp_site call void @lp_free(ptr %t159) store i32 4625, ptr @lp_site %t164 = call ptr @lp_str_concat(ptr %t163, ptr @.str7677) store i32 0, ptr @lp_site call void @lp_free(ptr %t163) %t165 = load ptr, ptr %t19 %t166 = getelementptr inbounds %Cmp_Node, ptr %t165, i32 0, i32 8 %t167 = load i32, ptr %t166 %t168 = call ptr @fn_itoa(i32 %t167) store i32 4626, ptr @lp_site %t169 = call ptr @lp_str_concat(ptr %t164, ptr %t168) store i32 0, ptr @lp_site call void @lp_free(ptr %t164) store i32 4627, ptr @lp_site %t170 = call ptr @lp_str_concat(ptr %t169, ptr @.str7678) store i32 0, ptr @lp_site call void @lp_free(ptr %t169) %t171 = load i32, ptr %t139 %t172 = call ptr @fn_itoa(i32 %t171) store i32 4628, ptr @lp_site %t173 = call ptr @lp_str_concat(ptr %t170, ptr %t172) store i32 0, ptr @lp_site call void @lp_free(ptr %t170) call void @fn_deps_line(ptr %t152, ptr %t173) br label %ifend40 ifend40: br label %ifend9 ifend9: %t174 = load i32, ptr %t1 %t175 = add i32 %t174, 1 store i32 %t175, ptr %t1 br label %wcond0 wend2: br label %ret ret: ret void } define i32 @fn_deps_body_states(ptr %arg_b) { entry: %retval = alloca i32 %t0 = alloca ptr %t1 = alloca i32 %t2 = alloca i32 %t3 = alloca i32 %t4 = alloca i32 store ptr %arg_b, ptr %t0 store i32 0, ptr %t1 store i32 0, ptr %t2 br label %wcond0 wcond0: %t5 = load i32, ptr %t2 %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 %t14 = zext i1 %t13 to i32 store i32 %t14, ptr %t4 br i1 %t13, label %sc3, label %scend4 sc3: %t15 = load ptr, ptr %t0 %t16 = getelementptr inbounds %Cmp_Node, ptr %t15, i32 0, i32 7 %t17 = load ptr, ptr %t16 %t18 = load i32, ptr %t2 %t19 = getelementptr inbounds %LSlice, ptr %t17, i32 0, i32 0 %t20 = load ptr, ptr %t19 %t21 = getelementptr inbounds %LSlice, ptr %t17, i32 0, i32 1 %t22 = load i32, ptr %t21 %t23 = icmp ult i32 %t18, %t22 br i1 %t23, label %ixok5, label %ixbad6 ixbad6: store i32 4629, ptr @lp_site %t24 = call ptr @lp_win_stdio(i32 2) store i32 0, ptr @lp_site call i32 (ptr, ptr, ...) @fprintf(ptr %t24, ptr @.fmt_bounds, ptr @.str7679, i32 %t18, i32 %t22) call void @exit(i32 1) unreachable ixok5: %t25 = getelementptr inbounds ptr, ptr %t20, i32 %t18 %t26 = load ptr, ptr %t25 %t27 = getelementptr inbounds %Cmp_Node, ptr %t26, i32 0, i32 11 %t28 = load ptr, ptr %t27 %t29 = icmp ne ptr %t28, null %t30 = zext i1 %t29 to i32 %t31 = icmp ne i32 %t30, 0 %t32 = zext i1 %t31 to i32 store i32 %t32, ptr %t4 br label %scend4 scend4: %t33 = load i32, ptr %t4 %t34 = icmp ne i32 %t33, 0 %t35 = zext i1 %t34 to i32 store i32 %t35, ptr %t3 br i1 %t34, label %sc7, label %scend8 sc7: %t36 = load ptr, ptr %t0 %t37 = getelementptr inbounds %Cmp_Node, ptr %t36, i32 0, i32 7 %t38 = load ptr, ptr %t37 %t39 = load i32, ptr %t2 %t40 = getelementptr inbounds %LSlice, ptr %t38, i32 0, i32 0 %t41 = load ptr, ptr %t40 %t42 = getelementptr inbounds %LSlice, ptr %t38, i32 0, i32 1 %t43 = load i32, ptr %t42 %t44 = icmp ult i32 %t39, %t43 br i1 %t44, label %ixok9, label %ixbad10 ixbad10: store i32 4630, ptr @lp_site %t45 = call ptr @lp_win_stdio(i32 2) store i32 0, ptr @lp_site call i32 (ptr, ptr, ...) @fprintf(ptr %t45, ptr @.fmt_bounds, ptr @.str7681, i32 %t39, i32 %t43) call void @exit(i32 1) unreachable ixok9: %t46 = getelementptr inbounds ptr, ptr %t41, i32 %t39 %t47 = load ptr, ptr %t46 %t48 = getelementptr inbounds %Cmp_Node, ptr %t47, i32 0, i32 11 %t49 = load ptr, ptr %t48 %t50 = call i32 @lp_str_eq(ptr %t49, ptr @.str7682) %t51 = icmp ne i32 %t50, 0 %t52 = zext i1 %t51 to i32 store i32 %t52, ptr %t3 br label %scend8 scend8: %t53 = load i32, ptr %t3 %t54 = icmp ne i32 %t53, 0 br i1 %t54, label %wbody1, label %wend2 wbody1: %t55 = load i32, ptr %t1 %t56 = add i32 %t55, 1 store i32 %t56, ptr %t1 %t57 = load i32, ptr %t2 %t58 = add i32 %t57, 1 store i32 %t58, ptr %t2 br label %wcond0 wend2: %t59 = load i32, ptr %t1 store i32 %t59, ptr %retval br label %ret ret: %t60 = load i32, ptr %retval ret i32 %t60 } define void @fn_deps_alias_reset() { entry: %t0 = call i32 @fn_deps_on() %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 = getelementptr %LSlice, ptr null, i32 1 %t5 = ptrtoint ptr %t4 to i64 store i32 4631, ptr @lp_site %t6 = call ptr @lp_malloc(i64 %t5) store i32 0, ptr @lp_site %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 @g_g_dp_al_local %t10 = getelementptr %LSlice, ptr null, i32 1 %t11 = ptrtoint ptr %t10 to i64 store i32 4632, ptr @lp_site %t12 = call ptr @lp_malloc(i64 %t11) store i32 0, ptr @lp_site %t13 = getelementptr inbounds %LSlice, ptr %t12, i32 0, i32 0 store ptr null, ptr %t13 %t14 = getelementptr inbounds %LSlice, ptr %t12, i32 0, i32 1 store i32 0, ptr %t14 %t15 = getelementptr inbounds %LSlice, ptr %t12, i32 0, i32 2 store i32 0, ptr %t15 store ptr %t12, ptr @g_g_dp_al_owner %t16 = getelementptr %LSlice, ptr null, i32 1 %t17 = ptrtoint ptr %t16 to i64 store i32 4633, ptr @lp_site %t18 = call ptr @lp_malloc(i64 %t17) store i32 0, ptr @lp_site %t19 = getelementptr inbounds %LSlice, ptr %t18, i32 0, i32 0 store ptr null, ptr %t19 %t20 = getelementptr inbounds %LSlice, ptr %t18, i32 0, i32 1 store i32 0, ptr %t20 %t21 = getelementptr inbounds %LSlice, ptr %t18, i32 0, i32 2 store i32 0, ptr %t21 store ptr %t18, ptr @g_g_dp_al_global br label %ret ret: ret void } define i32 @fn_deps_alias_find(ptr %arg_local) { entry: %retval = alloca i32 %t0 = alloca ptr %t5 = alloca i32 store ptr %arg_local, ptr %t0 %t1 = load ptr, ptr @g_g_dp_al_local %t2 = getelementptr inbounds %LSlice, ptr %t1, i32 0, i32 1 %t3 = load i32, ptr %t2 %t4 = sub i32 %t3, 1 store i32 %t4, ptr %t5 br label %wcond0 wcond0: %t6 = load i32, ptr %t5 %t7 = icmp sge 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 ptr, ptr @g_g_dp_al_local %t11 = load i32, ptr %t5 %t12 = getelementptr inbounds %LSlice, ptr %t10, i32 0, i32 0 %t13 = load ptr, ptr %t12 %t14 = getelementptr inbounds %LSlice, ptr %t10, i32 0, i32 1 %t15 = load i32, ptr %t14 %t16 = icmp ult i32 %t11, %t15 br i1 %t16, label %ixok3, label %ixbad4 ixbad4: store i32 4634, ptr @lp_site %t17 = call ptr @lp_win_stdio(i32 2) store i32 0, ptr @lp_site call i32 (ptr, ptr, ...) @fprintf(ptr %t17, ptr @.fmt_bounds, ptr @.str7684, i32 %t11, i32 %t15) call void @exit(i32 1) unreachable ixok3: %t18 = getelementptr inbounds ptr, ptr %t13, i32 %t11 %t19 = load ptr, ptr %t18 %t20 = load ptr, ptr %t0 %t21 = call i32 @lp_str_eq(ptr %t19, ptr %t20) %t22 = icmp ne i32 %t21, 0 br i1 %t22, label %then5, label %ifend7 then5: %t23 = load i32, ptr %t5 store i32 %t23, ptr %retval br label %ret ifend7: %t24 = load i32, ptr %t5 %t25 = sub i32 %t24, 1 store i32 %t25, ptr %t5 br label %wcond0 wend2: %t26 = sub i32 0, 1 store i32 %t26, ptr %retval br label %ret ret: %t27 = load i32, ptr %retval ret i32 %t27 } define void @fn_deps_alias_drop(ptr %arg_local) { entry: %t0 = alloca ptr %t3 = alloca i32 store ptr %arg_local, ptr %t0 %t1 = load ptr, ptr %t0 %t2 = call i32 @fn_deps_alias_find(ptr %t1) store i32 %t2, ptr %t3 %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 %then0, label %ifend2 then0: %t8 = load ptr, ptr @g_g_dp_al_local %t9 = load i32, ptr %t3 %t10 = getelementptr inbounds %LSlice, ptr %t8, i32 0, i32 0 %t11 = load ptr, ptr %t10 %t12 = getelementptr inbounds %LSlice, ptr %t8, i32 0, i32 1 %t13 = load i32, ptr %t12 %t14 = icmp ult i32 %t9, %t13 br i1 %t14, label %ixok3, label %ixbad4 ixbad4: store i32 4635, ptr @lp_site %t15 = call ptr @lp_win_stdio(i32 2) store i32 0, ptr @lp_site call i32 (ptr, ptr, ...) @fprintf(ptr %t15, ptr @.fmt_bounds, ptr @.str7686, i32 %t9, i32 %t13) call void @exit(i32 1) unreachable ixok3: %t16 = getelementptr inbounds ptr, ptr %t11, i32 %t9 store ptr @.str7688, ptr %t16 br label %ifend2 ifend2: br label %ret ret: ret void } define ptr @fn_deps_chain_root(ptr %arg_t) { entry: %retval = alloca ptr %t0 = alloca ptr %t2 = alloca ptr %t3 = alloca i32 %t9 = alloca i32 %t32 = alloca i32 store ptr %arg_t, ptr %t0 %t1 = load ptr, ptr %t0 store ptr %t1, ptr %t2 br label %wcond0 wcond0: %t4 = load ptr, ptr %t2 %t5 = icmp ne ptr %t4, null %t6 = zext i1 %t5 to i32 %t7 = icmp ne i32 %t6, 0 %t8 = zext i1 %t7 to i32 store i32 %t8, ptr %t3 br i1 %t7, label %sc3, label %scend4 sc3: %t10 = load ptr, ptr %t2 %t11 = getelementptr inbounds %Cmp_Node, ptr %t10, i32 0, i32 0 %t12 = load i32, ptr %t11 %t13 = icmp eq i32 %t12, 36 %t14 = zext i1 %t13 to i32 %t15 = icmp ne i32 %t14, 0 %t16 = zext i1 %t15 to i32 store i32 %t16, ptr %t9 br i1 %t15, label %scend6, label %sc5 sc5: %t17 = load ptr, ptr %t2 %t18 = getelementptr inbounds %Cmp_Node, ptr %t17, i32 0, i32 0 %t19 = load i32, ptr %t18 %t20 = icmp eq i32 %t19, 35 %t21 = zext i1 %t20 to i32 %t22 = icmp ne i32 %t21, 0 %t23 = zext i1 %t22 to i32 store i32 %t23, ptr %t9 br label %scend6 scend6: %t24 = load i32, ptr %t9 %t25 = icmp ne i32 %t24, 0 %t26 = zext i1 %t25 to i32 store i32 %t26, ptr %t3 br label %scend4 scend4: %t27 = load i32, ptr %t3 %t28 = icmp ne i32 %t27, 0 br i1 %t28, label %wbody1, label %wend2 wbody1: %t29 = load ptr, ptr %t2 %t30 = getelementptr inbounds %Cmp_Node, ptr %t29, i32 0, i32 4 %t31 = load ptr, ptr %t30 store ptr %t31, ptr %t2 br label %wcond0 wend2: %t33 = load ptr, ptr %t2 %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 %scend8, label %sc7 sc7: %t38 = load ptr, ptr %t2 %t39 = getelementptr inbounds %Cmp_Node, ptr %t38, i32 0, i32 0 %t40 = load i32, ptr %t39 %t41 = icmp ne i32 %t40, 33 %t42 = zext i1 %t41 to i32 %t43 = icmp ne i32 %t42, 0 %t44 = zext i1 %t43 to i32 store i32 %t44, ptr %t32 br label %scend8 scend8: %t45 = load i32, ptr %t32 %t46 = icmp ne i32 %t45, 0 br i1 %t46, label %then9, label %ifend11 then9: store ptr null, ptr %retval br label %ret ifend11: %t47 = load ptr, ptr %t2 store ptr %t47, ptr %retval br label %ret ret: %t48 = load ptr, ptr %retval ret ptr %t48 } define ptr @fn_deps_state_owner(ptr %arg_t) { entry: %retval = alloca ptr %t0 = alloca ptr %t3 = alloca ptr %t12 = alloca i32 %t13 = alloca i32 %t48 = alloca ptr %t49 = alloca i32 %t68 = alloca ptr %t71 = alloca ptr %t72 = alloca i32 %t73 = alloca i32 %t93 = alloca ptr %t94 = alloca i32 %t108 = alloca i32 store ptr %arg_t, ptr %t0 %t1 = load ptr, ptr %t0 %t2 = call ptr @fn_deps_chain_root(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 = getelementptr inbounds %Cmp_Node, ptr %t8, i32 0, i32 1 %t10 = load ptr, ptr %t9 %t11 = call i32 @fn_loc_find(ptr %t10) store i32 %t11, ptr %t12 %t14 = load i32, ptr %t12 %t15 = icmp slt i32 %t14, 0 %t16 = zext i1 %t15 to i32 %t17 = icmp ne i32 %t16, 0 %t18 = zext i1 %t17 to i32 store i32 %t18, ptr %t13 br i1 %t17, label %scend4, label %sc3 sc3: %t19 = load ptr, ptr @g_loc_ty %t20 = load i32, ptr %t12 %t21 = getelementptr inbounds %LSlice, ptr %t19, i32 0, i32 0 %t22 = load ptr, ptr %t21 %t23 = getelementptr inbounds %LSlice, ptr %t19, i32 0, i32 1 %t24 = load i32, ptr %t23 %t25 = icmp ult i32 %t20, %t24 br i1 %t25, label %ixok5, label %ixbad6 ixbad6: store i32 4636, ptr @lp_site %t26 = call ptr @lp_win_stdio(i32 2) store i32 0, ptr @lp_site call i32 (ptr, ptr, ...) @fprintf(ptr %t26, ptr @.fmt_bounds, ptr @.str7689, i32 %t20, i32 %t24) call void @exit(i32 1) unreachable ixok5: %t27 = getelementptr inbounds ptr, ptr %t22, i32 %t20 %t28 = load ptr, ptr %t27 %t29 = call i32 @fn_is_state_ty(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 %t13 br label %scend4 scend4: %t34 = load i32, ptr %t13 %t35 = icmp ne i32 %t34, 0 br i1 %t35, label %then7, label %ifend9 then7: store ptr null, ptr %retval br label %ret ifend9: %t36 = load ptr, ptr @g_loc_ty %t37 = load i32, ptr %t12 %t38 = getelementptr inbounds %LSlice, ptr %t36, i32 0, i32 0 %t39 = load ptr, ptr %t38 %t40 = getelementptr inbounds %LSlice, ptr %t36, i32 0, i32 1 %t41 = load i32, ptr %t40 %t42 = icmp ult i32 %t37, %t41 br i1 %t42, label %ixok10, label %ixbad11 ixbad11: store i32 4637, ptr @lp_site %t43 = call ptr @lp_win_stdio(i32 2) store i32 0, ptr @lp_site call i32 (ptr, ptr, ...) @fprintf(ptr %t43, ptr @.fmt_bounds, ptr @.str7691, i32 %t37, i32 %t41) call void @exit(i32 1) unreachable ixok10: %t44 = getelementptr inbounds ptr, ptr %t39, i32 %t37 %t45 = load ptr, ptr %t44 %t46 = call ptr @fn_state_global(ptr %t45) %t47 = call ptr @fn_find_global(ptr %t46) store ptr %t47, ptr %t48 %t50 = load ptr, ptr %t48 %t51 = icmp eq ptr %t50, null %t52 = zext i1 %t51 to i32 %t53 = icmp ne i32 %t52, 0 %t54 = zext i1 %t53 to i32 store i32 %t54, ptr %t49 br i1 %t53, label %scend13, label %sc12 sc12: %t55 = load ptr, ptr %t48 %t56 = getelementptr inbounds %Cmp_Node, ptr %t55, i32 0, i32 9 %t57 = load ptr, ptr %t56 %t58 = icmp eq ptr %t57, null %t59 = zext i1 %t58 to i32 %t60 = icmp ne i32 %t59, 0 %t61 = zext i1 %t60 to i32 store i32 %t61, ptr %t49 br label %scend13 scend13: %t62 = load i32, ptr %t49 %t63 = icmp ne i32 %t62, 0 br i1 %t63, label %then14, label %ifend16 then14: store ptr null, ptr %retval br label %ret ifend16: %t64 = load ptr, ptr %t48 %t65 = getelementptr inbounds %Cmp_Node, ptr %t64, i32 0, i32 9 %t66 = load ptr, ptr %t65 %t67 = call ptr @fn_module_for_uses(ptr %t66) store ptr %t67, ptr %t68 %t69 = load ptr, ptr @g_g_err_file %t70 = call ptr @fn_module_of(ptr %t69) store ptr %t70, ptr %t71 %t74 = load ptr, ptr %t71 %t75 = call i32 @lp_str_eq(ptr %t74, ptr @.str7692) %t76 = icmp ne i32 %t75, 0 %t77 = zext i1 %t76 to i32 store i32 %t77, ptr %t73 br i1 %t76, label %scend18, label %sc17 sc17: %t78 = load ptr, ptr %t68 %t79 = call i32 @lp_str_eq(ptr %t78, ptr @.str7693) %t80 = icmp ne i32 %t79, 0 %t81 = zext i1 %t80 to i32 store i32 %t81, ptr %t73 br label %scend18 scend18: %t82 = load i32, ptr %t73 %t83 = icmp ne i32 %t82, 0 %t84 = zext i1 %t83 to i32 store i32 %t84, ptr %t72 br i1 %t83, label %scend20, label %sc19 sc19: %t85 = load ptr, ptr %t71 %t86 = load ptr, ptr %t68 %t87 = call i32 @lp_str_eq(ptr %t85, ptr %t86) %t88 = icmp ne i32 %t87, 0 %t89 = zext i1 %t88 to i32 store i32 %t89, ptr %t72 br label %scend20 scend20: %t90 = load i32, ptr %t72 %t91 = icmp ne i32 %t90, 0 br i1 %t91, label %then21, label %ifend23 then21: store ptr null, ptr %retval br label %ret ifend23: %t92 = load ptr, ptr %t0 store ptr %t92, ptr %t93 store ptr null, ptr @g_g_dp_st_field br label %wcond24 wcond24: %t95 = load ptr, ptr %t93 %t96 = icmp ne ptr %t95, null %t97 = zext i1 %t96 to i32 %t98 = icmp ne i32 %t97, 0 %t99 = zext i1 %t98 to i32 store i32 %t99, ptr %t94 br i1 %t98, label %sc27, label %scend28 sc27: %t100 = load ptr, ptr %t93 %t101 = load ptr, ptr %t3 %t102 = icmp ne ptr %t100, %t101 %t103 = zext i1 %t102 to i32 %t104 = icmp ne i32 %t103, 0 %t105 = zext i1 %t104 to i32 store i32 %t105, ptr %t94 br label %scend28 scend28: %t106 = load i32, ptr %t94 %t107 = icmp ne i32 %t106, 0 br i1 %t107, label %wbody25, label %wend26 wbody25: %t109 = load ptr, ptr %t93 %t110 = getelementptr inbounds %Cmp_Node, ptr %t109, i32 0, i32 0 %t111 = load i32, ptr %t110 %t112 = icmp eq i32 %t111, 35 %t113 = zext i1 %t112 to i32 %t114 = icmp ne i32 %t113, 0 %t115 = zext i1 %t114 to i32 store i32 %t115, ptr %t108 br i1 %t114, label %sc29, label %scend30 sc29: %t116 = load ptr, ptr %t93 %t117 = getelementptr inbounds %Cmp_Node, ptr %t116, i32 0, i32 4 %t118 = load ptr, ptr %t117 %t119 = load ptr, ptr %t3 %t120 = icmp eq ptr %t118, %t119 %t121 = zext i1 %t120 to i32 %t122 = icmp ne i32 %t121, 0 %t123 = zext i1 %t122 to i32 store i32 %t123, ptr %t108 br label %scend30 scend30: %t124 = load i32, ptr %t108 %t125 = icmp ne i32 %t124, 0 br i1 %t125, label %then31, label %ifend33 then31: %t126 = load ptr, ptr %t93 %t127 = getelementptr inbounds %Cmp_Node, ptr %t126, i32 0, i32 1 %t128 = load ptr, ptr %t127 store ptr %t128, ptr @g_g_dp_st_field br label %ifend33 ifend33: %t129 = load ptr, ptr %t93 %t130 = getelementptr inbounds %Cmp_Node, ptr %t129, i32 0, i32 4 %t131 = load ptr, ptr %t130 store ptr %t131, ptr %t93 br label %wcond24 wend26: %t132 = load ptr, ptr @g_g_dp_st_field %t133 = icmp eq ptr %t132, null %t134 = zext i1 %t133 to i32 %t135 = icmp ne i32 %t134, 0 br i1 %t135, label %then34, label %ifend36 then34: %t136 = load ptr, ptr @g_loc_ty %t137 = load i32, ptr %t12 %t138 = getelementptr inbounds %LSlice, ptr %t136, i32 0, i32 0 %t139 = load ptr, ptr %t138 %t140 = getelementptr inbounds %LSlice, ptr %t136, i32 0, i32 1 %t141 = load i32, ptr %t140 %t142 = icmp ult i32 %t137, %t141 br i1 %t142, label %ixok37, label %ixbad38 ixbad38: store i32 4638, ptr @lp_site %t143 = call ptr @lp_win_stdio(i32 2) store i32 0, ptr @lp_site call i32 (ptr, ptr, ...) @fprintf(ptr %t143, ptr @.fmt_bounds, ptr @.str7694, i32 %t137, i32 %t141) call void @exit(i32 1) unreachable ixok37: %t144 = getelementptr inbounds ptr, ptr %t139, i32 %t137 %t145 = load ptr, ptr %t144 store ptr %t145, ptr @g_g_dp_st_field br label %ifend36 ifend36: %t146 = load ptr, ptr %t68 store ptr %t146, ptr %retval br label %ret ret: %t147 = load ptr, ptr %retval ret ptr %t147 } define i32 @fn_deps_state_write(ptr %arg_t) { entry: %retval = alloca i32 %t0 = alloca ptr %t1 = alloca i32 %t16 = alloca ptr store ptr %arg_t, ptr %t0 %t2 = call i32 @fn_deps_on() %t3 = icmp eq i32 %t2, 0 %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 ptr, ptr @g_g_err_file %t8 = icmp eq 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 %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 0, ptr %retval br label %ret ifend4: %t14 = load ptr, ptr %t0 %t15 = call ptr @fn_deps_state_owner(ptr %t14) store ptr %t15, ptr %t16 %t17 = load ptr, ptr %t16 %t18 = icmp eq ptr %t17, null %t19 = zext i1 %t18 to i32 %t20 = icmp ne i32 %t19, 0 br i1 %t20, label %then5, label %ifend7 then5: store i32 0, ptr %retval br label %ret ifend7: %t21 = load ptr, ptr @g_g_dp_writes %t22 = load ptr, ptr %t16 store i32 4639, ptr @lp_site %t23 = call ptr @lp_str_concat(ptr @.str7695, ptr %t22) store i32 0, ptr @lp_site store i32 4640, ptr @lp_site %t24 = call ptr @lp_str_concat(ptr %t23, ptr @.str7697) store i32 0, ptr @lp_site call void @lp_free(ptr %t23) %t25 = load ptr, ptr @g_g_dp_st_field store i32 4641, ptr @lp_site %t26 = call ptr @lp_str_concat(ptr %t24, ptr %t25) store i32 0, ptr @lp_site call void @lp_free(ptr %t24) store i32 4642, ptr @lp_site %t27 = call ptr @lp_str_concat(ptr %t26, ptr @.str7698) store i32 0, ptr @lp_site call void @lp_free(ptr %t26) %t28 = load ptr, ptr @g_g_err_file %t29 = call ptr @fn_module_of(ptr %t28) store i32 4643, ptr @lp_site %t30 = call ptr @lp_str_concat(ptr %t27, ptr %t29) store i32 0, ptr @lp_site call void @lp_free(ptr %t27) store i32 4644, ptr @lp_site %t31 = call ptr @lp_str_concat(ptr %t30, ptr @.str7699) store i32 0, ptr @lp_site call void @lp_free(ptr %t30) %t32 = load ptr, ptr @g_g_err_file store i32 4645, ptr @lp_site %t33 = call ptr @lp_str_concat(ptr %t31, ptr %t32) store i32 0, ptr @lp_site call void @lp_free(ptr %t31) store i32 4646, ptr @lp_site %t34 = call ptr @lp_str_concat(ptr %t33, ptr @.str7700) store i32 0, ptr @lp_site call void @lp_free(ptr %t33) %t35 = load i32, ptr @g_g_err_line %t36 = call ptr @fn_itoa(i32 %t35) store i32 4647, ptr @lp_site %t37 = call ptr @lp_str_concat(ptr %t34, ptr %t36) store i32 0, ptr @lp_site call void @lp_free(ptr %t34) %t38 = getelementptr inbounds %LSlice, ptr %t21, i32 0, i32 1 %t39 = getelementptr inbounds %LSlice, ptr %t21, i32 0, i32 2 %t40 = getelementptr inbounds %LSlice, ptr %t21, i32 0, i32 0 %t41 = load i32, ptr %t38 %t42 = load i32, ptr %t39 %t43 = icmp sge i32 %t41, %t42 br i1 %t43, label %grow8, label %put9 grow8: %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 store i32 4648, ptr @lp_site %t52 = call ptr @lp_realloc(ptr %t51, i64 %t50) store i32 0, ptr @lp_site store ptr %t52, ptr %t40 store i32 %t46, ptr %t39 br label %put9 put9: %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 store i32 1, ptr %retval br label %ret ret: %t56 = load i32, ptr %retval ret i32 %t56 } define void @fn_deps_alias_let(ptr %arg_local, ptr %arg_e) { entry: %t0 = alloca ptr %t1 = alloca ptr %t2 = alloca i32 %t22 = alloca ptr %t36 = alloca ptr %t105 = alloca i32 %t192 = alloca ptr %t193 = alloca i32 %t212 = alloca ptr %t215 = alloca ptr %t216 = alloca i32 %t217 = alloca i32 store ptr %arg_local, ptr %t0 store ptr %arg_e, ptr %t1 %t3 = call i32 @fn_deps_on() %t4 = icmp eq i32 %t3, 0 %t5 = zext i1 %t4 to i32 %t6 = icmp ne i32 %t5, 0 %t7 = zext i1 %t6 to i32 store i32 %t7, ptr %t2 br i1 %t6, label %scend1, label %sc0 sc0: %t8 = load ptr, ptr @g_g_err_file %t9 = icmp eq ptr %t8, null %t10 = zext i1 %t9 to i32 %t11 = icmp ne i32 %t10, 0 %t12 = zext i1 %t11 to i32 store i32 %t12, ptr %t2 br label %scend1 scend1: %t13 = load i32, ptr %t2 %t14 = icmp ne i32 %t13, 0 br i1 %t14, label %then2, label %ifend4 then2: br label %ret ifend4: %t15 = load ptr, ptr %t0 call void @fn_deps_alias_drop(ptr %t15) %t16 = load ptr, ptr %t1 %t17 = icmp eq ptr %t16, null %t18 = zext i1 %t17 to i32 %t19 = icmp ne i32 %t18, 0 br i1 %t19, label %then5, label %ifend7 then5: br label %ret ifend7: %t20 = load ptr, ptr %t1 %t21 = call ptr @fn_deps_chain_root(ptr %t20) store ptr %t21, ptr %t22 %t23 = load ptr, ptr %t22 %t24 = icmp eq ptr %t23, null %t25 = zext i1 %t24 to i32 %t26 = icmp ne i32 %t25, 0 br i1 %t26, label %then8, label %ifend10 then8: br label %ret ifend10: %t27 = load ptr, ptr %t22 %t28 = getelementptr inbounds %Cmp_Node, ptr %t27, i32 0, i32 1 %t29 = load ptr, ptr %t28 %t30 = call i32 @fn_loc_find(ptr %t29) %t31 = icmp sge i32 %t30, 0 %t32 = zext i1 %t31 to i32 %t33 = icmp ne i32 %t32, 0 br i1 %t33, label %then11, label %ifend13 then11: %t34 = load ptr, ptr %t1 %t35 = call ptr @fn_deps_state_owner(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 %then14, label %ifend16 then14: %t41 = load ptr, ptr @g_g_dp_al_local %t42 = load ptr, ptr %t0 %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 %grow17, label %put18 grow17: %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 store i32 4649, ptr @lp_site %t57 = call ptr @lp_realloc(ptr %t56, i64 %t55) store i32 0, ptr @lp_site store ptr %t57, ptr %t45 store i32 %t51, ptr %t44 br label %put18 put18: %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 @g_g_dp_al_owner %t62 = load ptr, ptr %t36 %t63 = getelementptr inbounds %LSlice, ptr %t61, i32 0, i32 1 %t64 = getelementptr inbounds %LSlice, ptr %t61, i32 0, i32 2 %t65 = getelementptr inbounds %LSlice, ptr %t61, i32 0, i32 0 %t66 = load i32, ptr %t63 %t67 = load i32, ptr %t64 %t68 = icmp sge i32 %t66, %t67 br i1 %t68, label %grow19, label %put20 grow19: %t69 = mul i32 %t67, 2 %t70 = icmp eq i32 %t67, 0 %t71 = select i1 %t70, i32 8, i32 %t69 %t72 = getelementptr ptr, ptr null, i32 1 %t73 = ptrtoint ptr %t72 to i64 %t74 = zext i32 %t71 to i64 %t75 = mul i64 %t74, %t73 %t76 = load ptr, ptr %t65 store i32 4650, ptr @lp_site %t77 = call ptr @lp_realloc(ptr %t76, i64 %t75) store i32 0, ptr @lp_site store ptr %t77, ptr %t65 store i32 %t71, ptr %t64 br label %put20 put20: %t78 = load ptr, ptr %t65 %t79 = getelementptr inbounds ptr, ptr %t78, i32 %t66 store ptr %t62, ptr %t79 %t80 = add i32 %t66, 1 store i32 %t80, ptr %t63 %t81 = load ptr, ptr @g_g_dp_al_global %t82 = load ptr, ptr @g_g_dp_st_field %t83 = getelementptr inbounds %LSlice, ptr %t81, i32 0, i32 1 %t84 = getelementptr inbounds %LSlice, ptr %t81, i32 0, i32 2 %t85 = getelementptr inbounds %LSlice, ptr %t81, i32 0, i32 0 %t86 = load i32, ptr %t83 %t87 = load i32, ptr %t84 %t88 = icmp sge i32 %t86, %t87 br i1 %t88, label %grow21, label %put22 grow21: %t89 = mul i32 %t87, 2 %t90 = icmp eq i32 %t87, 0 %t91 = select i1 %t90, i32 8, i32 %t89 %t92 = getelementptr ptr, ptr null, i32 1 %t93 = ptrtoint ptr %t92 to i64 %t94 = zext i32 %t91 to i64 %t95 = mul i64 %t94, %t93 %t96 = load ptr, ptr %t85 store i32 4651, ptr @lp_site %t97 = call ptr @lp_realloc(ptr %t96, i64 %t95) store i32 0, ptr @lp_site store ptr %t97, ptr %t85 store i32 %t91, ptr %t84 br label %put22 put22: %t98 = load ptr, ptr %t85 %t99 = getelementptr inbounds ptr, ptr %t98, i32 %t86 store ptr %t82, ptr %t99 %t100 = add i32 %t86, 1 store i32 %t100, ptr %t83 br label %ret ifend16: %t101 = load ptr, ptr %t22 %t102 = getelementptr inbounds %Cmp_Node, ptr %t101, i32 0, i32 1 %t103 = load ptr, ptr %t102 %t104 = call i32 @fn_deps_alias_find(ptr %t103) store i32 %t104, ptr %t105 %t106 = load i32, ptr %t105 %t107 = icmp slt i32 %t106, 0 %t108 = zext i1 %t107 to i32 %t109 = icmp ne i32 %t108, 0 br i1 %t109, label %then23, label %ifend25 then23: br label %ret ifend25: %t110 = load ptr, ptr @g_g_dp_al_local %t111 = load ptr, ptr %t0 %t112 = getelementptr inbounds %LSlice, ptr %t110, i32 0, i32 1 %t113 = getelementptr inbounds %LSlice, ptr %t110, i32 0, i32 2 %t114 = getelementptr inbounds %LSlice, ptr %t110, i32 0, i32 0 %t115 = load i32, ptr %t112 %t116 = load i32, ptr %t113 %t117 = icmp sge i32 %t115, %t116 br i1 %t117, label %grow26, label %put27 grow26: %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 store i32 4652, ptr @lp_site %t126 = call ptr @lp_realloc(ptr %t125, i64 %t124) store i32 0, ptr @lp_site store ptr %t126, ptr %t114 store i32 %t120, ptr %t113 br label %put27 put27: %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 ptr, ptr @g_g_dp_al_owner %t131 = load ptr, ptr @g_g_dp_al_owner %t132 = load i32, ptr %t105 %t133 = getelementptr inbounds %LSlice, ptr %t131, i32 0, i32 0 %t134 = load ptr, ptr %t133 %t135 = getelementptr inbounds %LSlice, ptr %t131, i32 0, i32 1 %t136 = load i32, ptr %t135 %t137 = icmp ult i32 %t132, %t136 br i1 %t137, label %ixok28, label %ixbad29 ixbad29: store i32 4653, ptr @lp_site %t138 = call ptr @lp_win_stdio(i32 2) store i32 0, ptr @lp_site call i32 (ptr, ptr, ...) @fprintf(ptr %t138, ptr @.fmt_bounds, ptr @.str7702, i32 %t132, i32 %t136) call void @exit(i32 1) unreachable ixok28: %t139 = getelementptr inbounds ptr, ptr %t134, i32 %t132 %t140 = load ptr, ptr %t139 %t141 = getelementptr inbounds %LSlice, ptr %t130, i32 0, i32 1 %t142 = getelementptr inbounds %LSlice, ptr %t130, i32 0, i32 2 %t143 = getelementptr inbounds %LSlice, ptr %t130, i32 0, i32 0 %t144 = load i32, ptr %t141 %t145 = load i32, ptr %t142 %t146 = icmp sge i32 %t144, %t145 br i1 %t146, label %grow30, label %put31 grow30: %t147 = mul i32 %t145, 2 %t148 = icmp eq i32 %t145, 0 %t149 = select i1 %t148, i32 8, i32 %t147 %t150 = getelementptr ptr, ptr null, i32 1 %t151 = ptrtoint ptr %t150 to i64 %t152 = zext i32 %t149 to i64 %t153 = mul i64 %t152, %t151 %t154 = load ptr, ptr %t143 store i32 4654, ptr @lp_site %t155 = call ptr @lp_realloc(ptr %t154, i64 %t153) store i32 0, ptr @lp_site store ptr %t155, ptr %t143 store i32 %t149, ptr %t142 br label %put31 put31: %t156 = load ptr, ptr %t143 %t157 = getelementptr inbounds ptr, ptr %t156, i32 %t144 store ptr %t140, ptr %t157 %t158 = add i32 %t144, 1 store i32 %t158, ptr %t141 %t159 = load ptr, ptr @g_g_dp_al_global %t160 = load ptr, ptr @g_g_dp_al_global %t161 = load i32, ptr %t105 %t162 = getelementptr inbounds %LSlice, ptr %t160, i32 0, i32 0 %t163 = load ptr, ptr %t162 %t164 = getelementptr inbounds %LSlice, ptr %t160, i32 0, i32 1 %t165 = load i32, ptr %t164 %t166 = icmp ult i32 %t161, %t165 br i1 %t166, label %ixok32, label %ixbad33 ixbad33: store i32 4655, ptr @lp_site %t167 = call ptr @lp_win_stdio(i32 2) store i32 0, ptr @lp_site call i32 (ptr, ptr, ...) @fprintf(ptr %t167, ptr @.fmt_bounds, ptr @.str7703, i32 %t161, i32 %t165) call void @exit(i32 1) unreachable ixok32: %t168 = getelementptr inbounds ptr, ptr %t163, i32 %t161 %t169 = load ptr, ptr %t168 %t170 = getelementptr inbounds %LSlice, ptr %t159, i32 0, i32 1 %t171 = getelementptr inbounds %LSlice, ptr %t159, i32 0, i32 2 %t172 = getelementptr inbounds %LSlice, ptr %t159, i32 0, i32 0 %t173 = load i32, ptr %t170 %t174 = load i32, ptr %t171 %t175 = icmp sge i32 %t173, %t174 br i1 %t175, label %grow34, label %put35 grow34: %t176 = mul i32 %t174, 2 %t177 = icmp eq i32 %t174, 0 %t178 = select i1 %t177, i32 8, i32 %t176 %t179 = getelementptr ptr, ptr null, i32 1 %t180 = ptrtoint ptr %t179 to i64 %t181 = zext i32 %t178 to i64 %t182 = mul i64 %t181, %t180 %t183 = load ptr, ptr %t172 store i32 4656, ptr @lp_site %t184 = call ptr @lp_realloc(ptr %t183, i64 %t182) store i32 0, ptr @lp_site store ptr %t184, ptr %t172 store i32 %t178, ptr %t171 br label %put35 put35: %t185 = load ptr, ptr %t172 %t186 = getelementptr inbounds ptr, ptr %t185, i32 %t173 store ptr %t169, ptr %t186 %t187 = add i32 %t173, 1 store i32 %t187, ptr %t170 br label %ret ifend13: %t188 = load ptr, ptr %t22 %t189 = getelementptr inbounds %Cmp_Node, ptr %t188, i32 0, i32 1 %t190 = load ptr, ptr %t189 %t191 = call ptr @fn_find_global(ptr %t190) store ptr %t191, ptr %t192 %t194 = load ptr, ptr %t192 %t195 = icmp eq ptr %t194, null %t196 = zext i1 %t195 to i32 %t197 = icmp ne i32 %t196, 0 %t198 = zext i1 %t197 to i32 store i32 %t198, ptr %t193 br i1 %t197, label %scend37, label %sc36 sc36: %t199 = load ptr, ptr %t192 %t200 = getelementptr inbounds %Cmp_Node, ptr %t199, i32 0, i32 9 %t201 = load ptr, ptr %t200 %t202 = icmp eq ptr %t201, null %t203 = zext i1 %t202 to i32 %t204 = icmp ne i32 %t203, 0 %t205 = zext i1 %t204 to i32 store i32 %t205, ptr %t193 br label %scend37 scend37: %t206 = load i32, ptr %t193 %t207 = icmp ne i32 %t206, 0 br i1 %t207, label %then38, label %ifend40 then38: br label %ret ifend40: %t208 = load ptr, ptr %t192 %t209 = getelementptr inbounds %Cmp_Node, ptr %t208, i32 0, i32 9 %t210 = load ptr, ptr %t209 %t211 = call ptr @fn_module_for_uses(ptr %t210) store ptr %t211, ptr %t212 %t213 = load ptr, ptr @g_g_err_file %t214 = call ptr @fn_module_of(ptr %t213) store ptr %t214, ptr %t215 %t218 = load ptr, ptr %t215 %t219 = call i32 @lp_str_eq(ptr %t218, ptr @.str7704) %t220 = icmp ne i32 %t219, 0 %t221 = zext i1 %t220 to i32 store i32 %t221, ptr %t217 br i1 %t220, label %scend42, label %sc41 sc41: %t222 = load ptr, ptr %t212 %t223 = call i32 @lp_str_eq(ptr %t222, ptr @.str7705) %t224 = icmp ne i32 %t223, 0 %t225 = zext i1 %t224 to i32 store i32 %t225, ptr %t217 br label %scend42 scend42: %t226 = load i32, ptr %t217 %t227 = icmp ne i32 %t226, 0 %t228 = zext i1 %t227 to i32 store i32 %t228, ptr %t216 br i1 %t227, label %scend44, label %sc43 sc43: %t229 = load ptr, ptr %t215 %t230 = load ptr, ptr %t212 %t231 = call i32 @lp_str_eq(ptr %t229, ptr %t230) %t232 = icmp ne i32 %t231, 0 %t233 = zext i1 %t232 to i32 store i32 %t233, ptr %t216 br label %scend44 scend44: %t234 = load i32, ptr %t216 %t235 = icmp ne i32 %t234, 0 br i1 %t235, label %then45, label %ifend47 then45: br label %ret ifend47: %t236 = load ptr, ptr @g_g_dp_al_local %t237 = load ptr, ptr %t0 %t238 = getelementptr inbounds %LSlice, ptr %t236, i32 0, i32 1 %t239 = getelementptr inbounds %LSlice, ptr %t236, i32 0, i32 2 %t240 = getelementptr inbounds %LSlice, ptr %t236, i32 0, i32 0 %t241 = load i32, ptr %t238 %t242 = load i32, ptr %t239 %t243 = icmp sge i32 %t241, %t242 br i1 %t243, label %grow48, label %put49 grow48: %t244 = mul i32 %t242, 2 %t245 = icmp eq i32 %t242, 0 %t246 = select i1 %t245, i32 8, i32 %t244 %t247 = getelementptr ptr, ptr null, i32 1 %t248 = ptrtoint ptr %t247 to i64 %t249 = zext i32 %t246 to i64 %t250 = mul i64 %t249, %t248 %t251 = load ptr, ptr %t240 store i32 4657, ptr @lp_site %t252 = call ptr @lp_realloc(ptr %t251, i64 %t250) store i32 0, ptr @lp_site store ptr %t252, ptr %t240 store i32 %t246, ptr %t239 br label %put49 put49: %t253 = load ptr, ptr %t240 %t254 = getelementptr inbounds ptr, ptr %t253, i32 %t241 store ptr %t237, ptr %t254 %t255 = add i32 %t241, 1 store i32 %t255, ptr %t238 %t256 = load ptr, ptr @g_g_dp_al_owner %t257 = load ptr, ptr %t212 %t258 = getelementptr inbounds %LSlice, ptr %t256, i32 0, i32 1 %t259 = getelementptr inbounds %LSlice, ptr %t256, i32 0, i32 2 %t260 = getelementptr inbounds %LSlice, ptr %t256, i32 0, i32 0 %t261 = load i32, ptr %t258 %t262 = load i32, ptr %t259 %t263 = icmp sge i32 %t261, %t262 br i1 %t263, label %grow50, label %put51 grow50: %t264 = mul i32 %t262, 2 %t265 = icmp eq i32 %t262, 0 %t266 = select i1 %t265, i32 8, i32 %t264 %t267 = getelementptr ptr, ptr null, i32 1 %t268 = ptrtoint ptr %t267 to i64 %t269 = zext i32 %t266 to i64 %t270 = mul i64 %t269, %t268 %t271 = load ptr, ptr %t260 store i32 4658, ptr @lp_site %t272 = call ptr @lp_realloc(ptr %t271, i64 %t270) store i32 0, ptr @lp_site store ptr %t272, ptr %t260 store i32 %t266, ptr %t259 br label %put51 put51: %t273 = load ptr, ptr %t260 %t274 = getelementptr inbounds ptr, ptr %t273, i32 %t261 store ptr %t257, ptr %t274 %t275 = add i32 %t261, 1 store i32 %t275, ptr %t258 %t276 = load ptr, ptr @g_g_dp_al_global %t277 = load ptr, ptr %t22 %t278 = getelementptr inbounds %Cmp_Node, ptr %t277, i32 0, i32 1 %t279 = load ptr, ptr %t278 %t280 = getelementptr inbounds %LSlice, ptr %t276, i32 0, i32 1 %t281 = getelementptr inbounds %LSlice, ptr %t276, i32 0, i32 2 %t282 = getelementptr inbounds %LSlice, ptr %t276, i32 0, i32 0 %t283 = load i32, ptr %t280 %t284 = load i32, ptr %t281 %t285 = icmp sge i32 %t283, %t284 br i1 %t285, label %grow52, label %put53 grow52: %t286 = mul i32 %t284, 2 %t287 = icmp eq i32 %t284, 0 %t288 = select i1 %t287, i32 8, i32 %t286 %t289 = getelementptr ptr, ptr null, i32 1 %t290 = ptrtoint ptr %t289 to i64 %t291 = zext i32 %t288 to i64 %t292 = mul i64 %t291, %t290 %t293 = load ptr, ptr %t282 store i32 4659, ptr @lp_site %t294 = call ptr @lp_realloc(ptr %t293, i64 %t292) store i32 0, ptr @lp_site store ptr %t294, ptr %t282 store i32 %t288, ptr %t281 br label %put53 put53: %t295 = load ptr, ptr %t282 %t296 = getelementptr inbounds ptr, ptr %t295, i32 %t283 store ptr %t279, ptr %t296 %t297 = add i32 %t283, 1 store i32 %t297, ptr %t280 br label %ret ret: ret void } define void @fn_deps_alias_write(ptr %arg_t) { entry: %t0 = alloca ptr %t1 = alloca i32 %t16 = alloca ptr %t17 = alloca i32 %t37 = alloca i32 store ptr %arg_t, ptr %t0 %t2 = call i32 @fn_deps_on() %t3 = icmp eq i32 %t2, 0 %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 ptr, ptr @g_g_err_file %t8 = icmp eq 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 %t1 br label %scend1 scend1: %t12 = load i32, ptr %t1 %t13 = icmp ne i32 %t12, 0 br i1 %t13, label %then2, label %ifend4 then2: br label %ret ifend4: %t14 = load ptr, ptr %t0 %t15 = call ptr @fn_deps_chain_root(ptr %t14) store ptr %t15, ptr %t16 %t18 = load ptr, ptr %t16 %t19 = icmp eq 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 %t17 br i1 %t21, label %scend6, label %sc5 sc5: %t23 = load ptr, ptr %t16 %t24 = getelementptr inbounds %Cmp_Node, ptr %t23, i32 0, i32 1 %t25 = load ptr, ptr %t24 %t26 = call i32 @fn_loc_find(ptr %t25) %t27 = icmp slt i32 %t26, 0 %t28 = zext i1 %t27 to i32 %t29 = icmp ne i32 %t28, 0 %t30 = zext i1 %t29 to i32 store i32 %t30, ptr %t17 br label %scend6 scend6: %t31 = load i32, ptr %t17 %t32 = icmp ne i32 %t31, 0 br i1 %t32, label %then7, label %ifend9 then7: br label %ret ifend9: %t33 = load ptr, ptr %t16 %t34 = getelementptr inbounds %Cmp_Node, ptr %t33, i32 0, i32 1 %t35 = load ptr, ptr %t34 %t36 = call i32 @fn_deps_alias_find(ptr %t35) store i32 %t36, ptr %t37 %t38 = load i32, ptr %t37 %t39 = icmp slt i32 %t38, 0 %t40 = zext i1 %t39 to i32 %t41 = icmp ne i32 %t40, 0 br i1 %t41, label %then10, label %ifend12 then10: br label %ret ifend12: %t42 = load ptr, ptr @g_g_dp_aliases %t43 = load ptr, ptr @g_g_dp_al_owner %t44 = load i32, ptr %t37 %t45 = getelementptr inbounds %LSlice, ptr %t43, i32 0, i32 0 %t46 = load ptr, ptr %t45 %t47 = getelementptr inbounds %LSlice, ptr %t43, i32 0, i32 1 %t48 = load i32, ptr %t47 %t49 = icmp ult i32 %t44, %t48 br i1 %t49, label %ixok13, label %ixbad14 ixbad14: store i32 4660, ptr @lp_site %t50 = call ptr @lp_win_stdio(i32 2) store i32 0, ptr @lp_site call i32 (ptr, ptr, ...) @fprintf(ptr %t50, ptr @.fmt_bounds, ptr @.str7707, i32 %t44, i32 %t48) call void @exit(i32 1) unreachable ixok13: %t51 = getelementptr inbounds ptr, ptr %t46, i32 %t44 %t52 = load ptr, ptr %t51 store i32 4661, ptr @lp_site %t53 = call ptr @lp_str_concat(ptr @.str7706, ptr %t52) store i32 0, ptr @lp_site store i32 4662, ptr @lp_site %t54 = call ptr @lp_str_concat(ptr %t53, ptr @.str7709) store i32 0, ptr @lp_site call void @lp_free(ptr %t53) %t55 = load ptr, ptr @g_g_dp_al_global %t56 = load i32, ptr %t37 %t57 = getelementptr inbounds %LSlice, ptr %t55, i32 0, i32 0 %t58 = load ptr, ptr %t57 %t59 = getelementptr inbounds %LSlice, ptr %t55, i32 0, i32 1 %t60 = load i32, ptr %t59 %t61 = icmp ult i32 %t56, %t60 br i1 %t61, label %ixok15, label %ixbad16 ixbad16: store i32 4663, ptr @lp_site %t62 = call ptr @lp_win_stdio(i32 2) store i32 0, ptr @lp_site call i32 (ptr, ptr, ...) @fprintf(ptr %t62, ptr @.fmt_bounds, ptr @.str7710, i32 %t56, i32 %t60) call void @exit(i32 1) unreachable ixok15: %t63 = getelementptr inbounds ptr, ptr %t58, i32 %t56 %t64 = load ptr, ptr %t63 store i32 4664, ptr @lp_site %t65 = call ptr @lp_str_concat(ptr %t54, ptr %t64) store i32 0, ptr @lp_site call void @lp_free(ptr %t54) store i32 4665, ptr @lp_site %t66 = call ptr @lp_str_concat(ptr %t65, ptr @.str7711) store i32 0, ptr @lp_site call void @lp_free(ptr %t65) %t67 = load ptr, ptr @g_g_err_file %t68 = call ptr @fn_module_of(ptr %t67) store i32 4666, ptr @lp_site %t69 = call ptr @lp_str_concat(ptr %t66, ptr %t68) store i32 0, ptr @lp_site call void @lp_free(ptr %t66) store i32 4667, ptr @lp_site %t70 = call ptr @lp_str_concat(ptr %t69, ptr @.str7712) store i32 0, ptr @lp_site call void @lp_free(ptr %t69) %t71 = load ptr, ptr @g_g_err_file store i32 4668, ptr @lp_site %t72 = call ptr @lp_str_concat(ptr %t70, ptr %t71) store i32 0, ptr @lp_site call void @lp_free(ptr %t70) store i32 4669, ptr @lp_site %t73 = call ptr @lp_str_concat(ptr %t72, ptr @.str7713) store i32 0, ptr @lp_site call void @lp_free(ptr %t72) %t74 = load i32, ptr @g_g_err_line %t75 = call ptr @fn_itoa(i32 %t74) store i32 4670, ptr @lp_site %t76 = call ptr @lp_str_concat(ptr %t73, ptr %t75) store i32 0, ptr @lp_site call void @lp_free(ptr %t73) store i32 4671, ptr @lp_site %t77 = call ptr @lp_str_concat(ptr %t76, ptr @.str7714) store i32 0, ptr @lp_site call void @lp_free(ptr %t76) %t78 = load ptr, ptr %t16 %t79 = getelementptr inbounds %Cmp_Node, ptr %t78, i32 0, i32 1 %t80 = load ptr, ptr %t79 store i32 4672, ptr @lp_site %t81 = call ptr @lp_str_concat(ptr %t77, ptr %t80) store i32 0, ptr @lp_site call void @lp_free(ptr %t77) %t82 = getelementptr inbounds %LSlice, ptr %t42, i32 0, i32 1 %t83 = getelementptr inbounds %LSlice, ptr %t42, i32 0, i32 2 %t84 = getelementptr inbounds %LSlice, ptr %t42, i32 0, i32 0 %t85 = load i32, ptr %t82 %t86 = load i32, ptr %t83 %t87 = icmp sge i32 %t85, %t86 br i1 %t87, label %grow17, label %put18 grow17: %t88 = mul i32 %t86, 2 %t89 = icmp eq i32 %t86, 0 %t90 = select i1 %t89, i32 8, i32 %t88 %t91 = getelementptr ptr, ptr null, i32 1 %t92 = ptrtoint ptr %t91 to i64 %t93 = zext i32 %t90 to i64 %t94 = mul i64 %t93, %t92 %t95 = load ptr, ptr %t84 store i32 4673, ptr @lp_site %t96 = call ptr @lp_realloc(ptr %t95, i64 %t94) store i32 0, ptr @lp_site store ptr %t96, ptr %t84 store i32 %t90, ptr %t83 br label %put18 put18: %t97 = load ptr, ptr %t84 %t98 = getelementptr inbounds ptr, ptr %t97, i32 %t85 store ptr %t81, ptr %t98 %t99 = add i32 %t85, 1 store i32 %t99, ptr %t82 br label %ret ret: ret void } define i32 @fn_dr_state_ix(ptr %arg_t) { entry: %retval = alloca i32 %t0 = alloca ptr %t1 = alloca i32 store ptr %arg_t, ptr %t0 store i32 0, ptr %t1 br label %wcond0 wcond0: %t2 = load i32, ptr %t1 %t3 = load ptr, ptr @g_g_state_names %t4 = getelementptr inbounds %LSlice, ptr %t3, i32 0, i32 1 %t5 = load i32, ptr %t4 %t6 = icmp slt i32 %t2, %t5 %t7 = zext i1 %t6 to i32 %t8 = icmp ne i32 %t7, 0 br i1 %t8, label %wbody1, label %wend2 wbody1: %t9 = load ptr, ptr @g_g_state_names %t10 = load i32, ptr %t1 %t11 = getelementptr inbounds %LSlice, ptr %t9, i32 0, i32 0 %t12 = load ptr, ptr %t11 %t13 = getelementptr inbounds %LSlice, ptr %t9, i32 0, i32 1 %t14 = load i32, ptr %t13 %t15 = icmp ult i32 %t10, %t14 br i1 %t15, label %ixok3, label %ixbad4 ixbad4: store i32 4674, ptr @lp_site %t16 = call ptr @lp_win_stdio(i32 2) store i32 0, ptr @lp_site call i32 (ptr, ptr, ...) @fprintf(ptr %t16, ptr @.fmt_bounds, ptr @.str7715, i32 %t10, i32 %t14) call void @exit(i32 1) unreachable ixok3: %t17 = getelementptr inbounds ptr, ptr %t12, i32 %t10 %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 br i1 %t21, label %then5, label %ifend7 then5: %t22 = load i32, ptr %t1 store i32 %t22, ptr %retval br label %ret ifend7: %t23 = load i32, ptr %t1 %t24 = add i32 %t23, 1 store i32 %t24, ptr %t1 br label %wcond0 wend2: %t25 = sub i32 0, 1 store i32 %t25, ptr %retval br label %ret ret: %t26 = load i32, ptr %retval ret i32 %t26 } define void @fn_dr_set(ptr %arg_bits, i32 %arg_s) { entry: %t0 = alloca ptr %t1 = alloca i32 store ptr %arg_bits, ptr %t0 store i32 %arg_s, ptr %t1 %t2 = load ptr, ptr %t0 %t3 = load i32, ptr %t1 %t4 = sdiv i32 %t3, 60 %t5 = getelementptr inbounds %LSlice, ptr %t2, i32 0, i32 0 %t6 = load ptr, ptr %t5 %t7 = getelementptr inbounds %LSlice, ptr %t2, i32 0, i32 1 %t8 = load i32, ptr %t7 %t9 = icmp ult i32 %t4, %t8 br i1 %t9, label %ixok0, label %ixbad1 ixbad1: store i32 4675, ptr @lp_site %t10 = call ptr @lp_win_stdio(i32 2) store i32 0, ptr @lp_site call i32 (ptr, ptr, ...) @fprintf(ptr %t10, ptr @.fmt_bounds, ptr @.str7717, i32 %t4, i32 %t8) call void @exit(i32 1) unreachable ixok0: %t11 = getelementptr inbounds i32, ptr %t6, i32 %t4 %t12 = load ptr, ptr %t0 %t13 = load i32, ptr %t1 %t14 = sdiv i32 %t13, 60 %t15 = getelementptr inbounds %LSlice, ptr %t12, i32 0, i32 0 %t16 = load ptr, ptr %t15 %t17 = getelementptr inbounds %LSlice, ptr %t12, i32 0, i32 1 %t18 = load i32, ptr %t17 %t19 = icmp ult i32 %t14, %t18 br i1 %t19, label %ixok2, label %ixbad3 ixbad3: store i32 4676, ptr @lp_site %t20 = call ptr @lp_win_stdio(i32 2) store i32 0, ptr @lp_site call i32 (ptr, ptr, ...) @fprintf(ptr %t20, ptr @.fmt_bounds, ptr @.str7719, i32 %t14, i32 %t18) call void @exit(i32 1) unreachable ixok2: %t21 = getelementptr inbounds i32, ptr %t16, i32 %t14 %t22 = load i32, ptr %t21 %t23 = load i32, ptr %t1 %t24 = srem i32 %t23, 60 %t25 = shl i32 1, %t24 %t26 = or i32 %t22, %t25 store i32 %t26, ptr %t11 br label %ret ret: ret void } define i32 @fn_dr_words() { entry: %retval = alloca i32 %t0 = load ptr, ptr @g_g_state_names %t1 = getelementptr inbounds %LSlice, ptr %t0, i32 0, i32 1 %t2 = load i32, ptr %t1 %t3 = sdiv i32 %t2, 60 %t4 = add i32 %t3, 1 store i32 %t4, ptr %retval br label %ret ret: %t5 = load i32, ptr %retval ret i32 %t5 } define i32 @fn_dr_index(ptr %arg_name) { entry: %retval = alloca i32 %t0 = alloca ptr %t5 = alloca ptr store ptr %arg_name, ptr %t0 %t1 = load ptr, ptr @g_g_dr_find_k %t2 = load ptr, ptr @g_g_dr_find_v %t3 = load ptr, ptr %t0 %t4 = call ptr @fn_ck_tab_get(ptr %t1, ptr %t2, 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 = sub i32 0, 1 store i32 %t10, ptr %retval br label %ret ifend2: %t11 = load ptr, ptr %t5 %t12 = getelementptr inbounds %Cmp_Node, ptr %t11, i32 0, i32 2 %t13 = load i32, ptr %t12 store i32 %t13, ptr %retval br label %ret ret: %t14 = load i32, ptr %retval ret i32 %t14 } define i32 @fn_dr_is_local(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_dr_locals %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_dr_locals %t10 = load i32, ptr %t1 %t11 = getelementptr inbounds %LSlice, ptr %t9, i32 0, i32 0 %t12 = load ptr, ptr %t11 %t13 = getelementptr inbounds %LSlice, ptr %t9, i32 0, i32 1 %t14 = load i32, ptr %t13 %t15 = icmp ult i32 %t10, %t14 br i1 %t15, label %ixok3, label %ixbad4 ixbad4: store i32 4677, ptr @lp_site %t16 = call ptr @lp_win_stdio(i32 2) store i32 0, ptr @lp_site call i32 (ptr, ptr, ...) @fprintf(ptr %t16, ptr @.fmt_bounds, ptr @.str7720, i32 %t10, i32 %t14) call void @exit(i32 1) unreachable ixok3: %t17 = getelementptr inbounds ptr, ptr %t12, i32 %t10 %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 br i1 %t21, label %then5, label %ifend7 then5: store i32 1, ptr %retval br label %ret ifend7: %t22 = load i32, ptr %t1 %t23 = add i32 %t22, 1 store i32 %t23, ptr %t1 br label %wcond0 wend2: store i32 0, ptr %retval br label %ret ret: %t24 = load i32, ptr %retval ret i32 %t24 } define void @fn_dr_collect_locals(ptr %arg_n) { entry: %t0 = alloca ptr %t5 = alloca i32 %t6 = alloca i32 %t7 = alloca i32 %t81 = alloca i32 store ptr %arg_n, 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: br label %ret ifend2: %t8 = load ptr, ptr %t0 %t9 = getelementptr inbounds %Cmp_Node, ptr %t8, i32 0, i32 0 %t10 = load i32, ptr %t9 %t11 = icmp eq i32 %t10, 10 %t12 = zext i1 %t11 to i32 %t13 = icmp ne i32 %t12, 0 %t14 = zext i1 %t13 to i32 store i32 %t14, ptr %t7 br i1 %t13, label %scend4, label %sc3 sc3: %t15 = load ptr, ptr %t0 %t16 = getelementptr inbounds %Cmp_Node, ptr %t15, i32 0, i32 0 %t17 = load i32, ptr %t16 %t18 = icmp eq i32 %t17, 14 %t19 = zext i1 %t18 to i32 %t20 = icmp ne i32 %t19, 0 %t21 = zext i1 %t20 to i32 store i32 %t21, ptr %t7 br label %scend4 scend4: %t22 = load i32, ptr %t7 %t23 = icmp ne i32 %t22, 0 %t24 = zext i1 %t23 to i32 store i32 %t24, ptr %t6 br i1 %t23, label %scend6, label %sc5 sc5: %t25 = load ptr, ptr %t0 %t26 = getelementptr inbounds %Cmp_Node, ptr %t25, i32 0, i32 0 %t27 = load i32, ptr %t26 %t28 = icmp eq i32 %t27, 5 %t29 = zext i1 %t28 to i32 %t30 = icmp ne i32 %t29, 0 %t31 = zext i1 %t30 to i32 store i32 %t31, ptr %t6 br label %scend6 scend6: %t32 = load i32, ptr %t6 %t33 = icmp ne i32 %t32, 0 %t34 = zext i1 %t33 to i32 store i32 %t34, ptr %t5 br i1 %t33, label %sc7, label %scend8 sc7: %t35 = load ptr, ptr %t0 %t36 = getelementptr inbounds %Cmp_Node, ptr %t35, i32 0, i32 1 %t37 = load ptr, ptr %t36 %t38 = icmp ne 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 %t5 br label %scend8 scend8: %t42 = load i32, ptr %t5 %t43 = icmp ne i32 %t42, 0 br i1 %t43, label %then9, label %ifend11 then9: %t44 = load ptr, ptr @g_g_dr_locals %t45 = load ptr, ptr %t0 %t46 = getelementptr inbounds %Cmp_Node, ptr %t45, i32 0, i32 1 %t47 = load ptr, ptr %t46 %t48 = getelementptr inbounds %LSlice, ptr %t44, i32 0, i32 1 %t49 = getelementptr inbounds %LSlice, ptr %t44, i32 0, i32 2 %t50 = getelementptr inbounds %LSlice, ptr %t44, i32 0, i32 0 %t51 = load i32, ptr %t48 %t52 = load i32, ptr %t49 %t53 = icmp sge i32 %t51, %t52 br i1 %t53, label %grow12, label %put13 grow12: %t54 = mul i32 %t52, 2 %t55 = icmp eq i32 %t52, 0 %t56 = select i1 %t55, i32 8, i32 %t54 %t57 = getelementptr ptr, ptr null, i32 1 %t58 = ptrtoint ptr %t57 to i64 %t59 = zext i32 %t56 to i64 %t60 = mul i64 %t59, %t58 %t61 = load ptr, ptr %t50 store i32 4678, ptr @lp_site %t62 = call ptr @lp_realloc(ptr %t61, i64 %t60) store i32 0, ptr @lp_site store ptr %t62, ptr %t50 store i32 %t56, ptr %t49 br label %put13 put13: %t63 = load ptr, ptr %t50 %t64 = getelementptr inbounds ptr, ptr %t63, i32 %t51 store ptr %t47, ptr %t64 %t65 = add i32 %t51, 1 store i32 %t65, ptr %t48 br label %ifend11 ifend11: %t66 = load ptr, ptr %t0 %t67 = getelementptr inbounds %Cmp_Node, ptr %t66, i32 0, i32 4 %t68 = load ptr, ptr %t67 call void @fn_dr_collect_locals(ptr %t68) %t69 = load ptr, ptr %t0 %t70 = getelementptr inbounds %Cmp_Node, ptr %t69, i32 0, i32 5 %t71 = load ptr, ptr %t70 call void @fn_dr_collect_locals(ptr %t71) %t72 = load ptr, ptr %t0 %t73 = getelementptr inbounds %Cmp_Node, ptr %t72, i32 0, i32 6 %t74 = load ptr, ptr %t73 call void @fn_dr_collect_locals(ptr %t74) %t75 = load ptr, ptr %t0 %t76 = getelementptr inbounds %Cmp_Node, ptr %t75, i32 0, i32 7 %t77 = load ptr, ptr %t76 %t78 = icmp ne ptr %t77, null %t79 = zext i1 %t78 to i32 %t80 = icmp ne i32 %t79, 0 br i1 %t80, label %then14, label %ifend16 then14: store i32 0, ptr %t81 br label %wcond17 wcond17: %t82 = load i32, ptr %t81 %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 1 %t87 = load i32, ptr %t86 %t88 = icmp slt i32 %t82, %t87 %t89 = zext i1 %t88 to i32 %t90 = icmp ne i32 %t89, 0 br i1 %t90, label %wbody18, label %wend19 wbody18: %t91 = load ptr, ptr %t0 %t92 = getelementptr inbounds %Cmp_Node, ptr %t91, i32 0, i32 7 %t93 = load ptr, ptr %t92 %t94 = load i32, ptr %t81 %t95 = getelementptr inbounds %LSlice, ptr %t93, i32 0, i32 0 %t96 = load ptr, ptr %t95 %t97 = getelementptr inbounds %LSlice, ptr %t93, i32 0, i32 1 %t98 = load i32, ptr %t97 %t99 = icmp ult i32 %t94, %t98 br i1 %t99, label %ixok20, label %ixbad21 ixbad21: store i32 4679, ptr @lp_site %t100 = call ptr @lp_win_stdio(i32 2) store i32 0, ptr @lp_site call i32 (ptr, ptr, ...) @fprintf(ptr %t100, ptr @.fmt_bounds, ptr @.str7723, i32 %t94, i32 %t98) call void @exit(i32 1) unreachable ixok20: %t101 = getelementptr inbounds ptr, ptr %t96, i32 %t94 %t102 = load ptr, ptr %t101 call void @fn_dr_collect_locals(ptr %t102) %t103 = load i32, ptr %t81 %t104 = add i32 %t103, 1 store i32 %t104, ptr %t81 br label %wcond17 wend19: br label %ifend16 ifend16: br label %ret ret: ret void } define void @fn_dr_walk(ptr %arg_n, ptr %arg_refs) { entry: %t0 = alloca ptr %t1 = alloca ptr %t10 = alloca i32 %t11 = alloca i32 %t12 = alloca i32 %t13 = alloca i32 %t14 = alloca i32 %t15 = alloca i32 %t16 = alloca i32 %t168 = alloca i32 %t169 = alloca i32 %t201 = alloca ptr %t202 = alloca i32 %t265 = alloca i32 %t282 = alloca i32 %t316 = alloca i32 %t363 = alloca i32 %t364 = alloca i32 %t365 = alloca i32 %t393 = alloca i32 %t418 = alloca i32 %t443 = alloca i32 %t478 = alloca i32 %t479 = alloca i32 %t505 = alloca ptr %t506 = alloca i32 %t507 = alloca i32 %t589 = alloca i32 store ptr %arg_n, ptr %t0 store ptr %arg_refs, 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: br label %ret ifend2: %t6 = load ptr, ptr %t0 %t7 = load ptr, ptr %t1 %t8 = call i32 @fn_dr_port_member(ptr %t6, ptr %t7) %t9 = icmp ne i32 %t8, 0 br i1 %t9, label %then3, label %ifend5 then3: 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, 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 %sc6, label %scend7 sc6: %t24 = load ptr, ptr %t0 %t25 = getelementptr inbounds %Cmp_Node, ptr %t24, i32 0, i32 1 %t26 = load ptr, ptr %t25 %t27 = icmp ne ptr %t26, null %t28 = zext i1 %t27 to i32 %t29 = icmp ne i32 %t28, 0 %t30 = zext i1 %t29 to i32 store i32 %t30, ptr %t16 br label %scend7 scend7: %t31 = load i32, ptr %t16 %t32 = icmp ne i32 %t31, 0 %t33 = zext i1 %t32 to i32 store i32 %t33, ptr %t15 br i1 %t32, label %sc8, label %scend9 sc8: %t34 = load ptr, ptr %t0 %t35 = getelementptr inbounds %Cmp_Node, ptr %t34, i32 0, i32 4 %t36 = load ptr, ptr %t35 %t37 = icmp ne ptr %t36, null %t38 = zext i1 %t37 to i32 %t39 = icmp ne i32 %t38, 0 %t40 = zext i1 %t39 to i32 store i32 %t40, ptr %t15 br label %scend9 scend9: %t41 = load i32, ptr %t15 %t42 = icmp ne i32 %t41, 0 %t43 = zext i1 %t42 to i32 store i32 %t43, ptr %t14 br i1 %t42, label %sc10, label %scend11 sc10: %t44 = load ptr, ptr %t0 %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 0 %t48 = load i32, ptr %t47 %t49 = icmp eq i32 %t48, 36 %t50 = zext i1 %t49 to i32 %t51 = icmp ne i32 %t50, 0 %t52 = zext i1 %t51 to i32 store i32 %t52, ptr %t14 br label %scend11 scend11: %t53 = load i32, ptr %t14 %t54 = icmp ne i32 %t53, 0 %t55 = zext i1 %t54 to i32 store i32 %t55, ptr %t13 br i1 %t54, label %sc12, label %scend13 sc12: %t56 = load ptr, ptr %t0 %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 4 %t60 = load ptr, 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 %t13 br label %scend13 scend13: %t65 = load i32, ptr %t13 %t66 = icmp ne i32 %t65, 0 %t67 = zext i1 %t66 to i32 store i32 %t67, ptr %t12 br i1 %t66, label %sc14, label %scend15 sc14: %t68 = load ptr, ptr %t0 %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 4 %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 ne i32 %t76, 0 %t78 = zext i1 %t77 to i32 store i32 %t78, ptr %t12 br label %scend15 scend15: %t79 = load i32, ptr %t12 %t80 = icmp ne i32 %t79, 0 %t81 = zext i1 %t80 to i32 store i32 %t81, ptr %t11 br i1 %t80, label %sc16, label %scend17 sc16: %t82 = load ptr, ptr %t0 %t83 = getelementptr inbounds %Cmp_Node, ptr %t82, i32 0, i32 4 %t84 = load ptr, ptr %t83 %t85 = getelementptr inbounds %Cmp_Node, ptr %t84, i32 0, i32 4 %t86 = load ptr, ptr %t85 %t87 = getelementptr inbounds %Cmp_Node, ptr %t86, i32 0, i32 1 %t88 = load ptr, ptr %t87 %t89 = icmp ne ptr %t88, null %t90 = zext i1 %t89 to i32 %t91 = icmp ne i32 %t90, 0 %t92 = zext i1 %t91 to i32 store i32 %t92, ptr %t11 br label %scend17 scend17: %t93 = load i32, ptr %t11 %t94 = icmp ne i32 %t93, 0 %t95 = zext i1 %t94 to i32 store i32 %t95, ptr %t10 br i1 %t94, label %sc18, label %scend19 sc18: %t96 = load ptr, ptr %t0 %t97 = getelementptr inbounds %Cmp_Node, ptr %t96, i32 0, i32 4 %t98 = load ptr, ptr %t97 %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 @fn_reg_find(ptr %t102) %t104 = icmp sge i32 %t103, 0 %t105 = zext i1 %t104 to i32 %t106 = icmp ne i32 %t105, 0 %t107 = zext i1 %t106 to i32 store i32 %t107, ptr %t10 br label %scend19 scend19: %t108 = load i32, ptr %t10 %t109 = icmp ne i32 %t108, 0 br i1 %t109, label %then20, label %ifend22 then20: %t110 = load ptr, ptr @g_g_dr_rl_name %t111 = load ptr, ptr %t0 %t112 = getelementptr inbounds %Cmp_Node, ptr %t111, i32 0, i32 1 %t113 = load ptr, ptr %t112 %t114 = getelementptr inbounds %LSlice, ptr %t110, i32 0, i32 1 %t115 = getelementptr inbounds %LSlice, ptr %t110, i32 0, i32 2 %t116 = getelementptr inbounds %LSlice, ptr %t110, i32 0, i32 0 %t117 = load i32, ptr %t114 %t118 = load i32, ptr %t115 %t119 = icmp sge i32 %t117, %t118 br i1 %t119, label %grow23, label %put24 grow23: %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 store i32 4680, ptr @lp_site %t128 = call ptr @lp_realloc(ptr %t127, i64 %t126) store i32 0, ptr @lp_site store ptr %t128, ptr %t116 store i32 %t122, ptr %t115 br label %put24 put24: %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 %t132 = load ptr, ptr @g_g_dr_rl_reg %t133 = load ptr, ptr %t0 %t134 = getelementptr inbounds %Cmp_Node, ptr %t133, i32 0, i32 4 %t135 = load ptr, ptr %t134 %t136 = getelementptr inbounds %Cmp_Node, ptr %t135, i32 0, i32 4 %t137 = load ptr, ptr %t136 %t138 = getelementptr inbounds %Cmp_Node, ptr %t137, i32 0, i32 1 %t139 = load ptr, ptr %t138 %t140 = getelementptr inbounds %LSlice, ptr %t132, i32 0, i32 1 %t141 = getelementptr inbounds %LSlice, ptr %t132, i32 0, i32 2 %t142 = getelementptr inbounds %LSlice, ptr %t132, i32 0, i32 0 %t143 = load i32, ptr %t140 %t144 = load i32, ptr %t141 %t145 = icmp sge i32 %t143, %t144 br i1 %t145, label %grow25, label %put26 grow25: %t146 = mul i32 %t144, 2 %t147 = icmp eq i32 %t144, 0 %t148 = select i1 %t147, i32 8, i32 %t146 %t149 = getelementptr ptr, ptr null, i32 1 %t150 = ptrtoint ptr %t149 to i64 %t151 = zext i32 %t148 to i64 %t152 = mul i64 %t151, %t150 %t153 = load ptr, ptr %t142 store i32 4681, ptr @lp_site %t154 = call ptr @lp_realloc(ptr %t153, i64 %t152) store i32 0, ptr @lp_site store ptr %t154, ptr %t142 store i32 %t148, ptr %t141 br label %put26 put26: %t155 = load ptr, ptr %t142 %t156 = getelementptr inbounds ptr, ptr %t155, i32 %t143 store ptr %t139, ptr %t156 %t157 = add i32 %t143, 1 store i32 %t157, ptr %t140 %t158 = load ptr, ptr %t0 %t159 = getelementptr inbounds %Cmp_Node, ptr %t158, i32 0, i32 4 %t160 = load ptr, ptr %t159 %t161 = getelementptr inbounds %Cmp_Node, ptr %t160, i32 0, i32 5 %t162 = load ptr, ptr %t161 %t163 = load ptr, ptr %t1 call void @fn_dr_walk(ptr %t162, ptr %t163) br label %ret ifend22: %t164 = load ptr, ptr %t0 %t165 = load ptr, ptr %t1 %t166 = call i32 @fn_dr_reg_field(ptr %t164, ptr %t165) %t167 = icmp ne i32 %t166, 0 br i1 %t167, label %then27, label %ifend29 then27: br label %ret ifend29: %t170 = load ptr, ptr %t0 %t171 = getelementptr inbounds %Cmp_Node, ptr %t170, i32 0, i32 0 %t172 = load i32, ptr %t171 %t173 = icmp eq i32 %t172, 39 %t174 = zext i1 %t173 to i32 %t175 = icmp ne i32 %t174, 0 %t176 = zext i1 %t175 to i32 store i32 %t176, ptr %t169 br i1 %t175, label %sc30, label %scend31 sc30: %t177 = load ptr, ptr %t0 %t178 = getelementptr inbounds %Cmp_Node, ptr %t177, i32 0, i32 5 %t179 = load ptr, ptr %t178 %t180 = icmp ne ptr %t179, null %t181 = zext i1 %t180 to i32 %t182 = icmp ne i32 %t181, 0 %t183 = zext i1 %t182 to i32 store i32 %t183, ptr %t169 br label %scend31 scend31: %t184 = load i32, ptr %t169 %t185 = icmp ne i32 %t184, 0 %t186 = zext i1 %t185 to i32 store i32 %t186, ptr %t168 br i1 %t185, label %sc32, label %scend33 sc32: %t187 = load ptr, ptr %t0 %t188 = getelementptr inbounds %Cmp_Node, ptr %t187, i32 0, i32 1 %t189 = load ptr, ptr %t188 %t190 = icmp ne ptr %t189, null %t191 = zext i1 %t190 to i32 %t192 = icmp ne i32 %t191, 0 %t193 = zext i1 %t192 to i32 store i32 %t193, ptr %t168 br label %scend33 scend33: %t194 = load i32, ptr %t168 %t195 = icmp ne i32 %t194, 0 br i1 %t195, label %then34, label %ifend36 then34: %t196 = load ptr, ptr %t0 %t197 = getelementptr inbounds %Cmp_Node, ptr %t196, i32 0, i32 1 %t198 = load ptr, ptr %t197 store i32 4682, ptr @lp_site %t199 = call ptr @lp_str_concat(ptr @.str7725, ptr %t198) store i32 0, ptr @lp_site store i32 4683, ptr @lp_site %t200 = call ptr @lp_str_concat(ptr %t199, ptr @.str7726) store i32 0, ptr @lp_site call void @lp_free(ptr %t199) store ptr %t200, ptr %t201 store i32 0, ptr %t202 br label %wcond37 wcond37: %t203 = load i32, ptr %t202 %t204 = load ptr, ptr @g_g_dr_name %t205 = getelementptr inbounds %LSlice, ptr %t204, i32 0, i32 1 %t206 = load i32, ptr %t205 %t207 = icmp slt i32 %t203, %t206 %t208 = zext i1 %t207 to i32 %t209 = icmp ne i32 %t208, 0 br i1 %t209, label %wbody38, label %wend39 wbody38: %t210 = load ptr, ptr @g_g_dr_name %t211 = load i32, ptr %t202 %t212 = getelementptr inbounds %LSlice, ptr %t210, i32 0, i32 0 %t213 = load ptr, ptr %t212 %t214 = getelementptr inbounds %LSlice, ptr %t210, i32 0, i32 1 %t215 = load i32, ptr %t214 %t216 = icmp ult i32 %t211, %t215 br i1 %t216, label %ixok40, label %ixbad41 ixbad41: store i32 4684, ptr @lp_site %t217 = call ptr @lp_win_stdio(i32 2) store i32 0, ptr @lp_site call i32 (ptr, ptr, ...) @fprintf(ptr %t217, ptr @.fmt_bounds, ptr @.str7727, i32 %t211, i32 %t215) call void @exit(i32 1) unreachable ixok40: %t218 = getelementptr inbounds ptr, ptr %t213, i32 %t211 %t219 = load ptr, ptr %t218 %t220 = load ptr, ptr %t201 %t221 = call i32 @fn_str_starts(ptr %t219, ptr %t220) %t222 = icmp ne i32 %t221, 0 br i1 %t222, label %then42, label %ifend44 then42: %t223 = load ptr, ptr %t1 %t224 = load i32, ptr %t202 %t225 = getelementptr inbounds %LSlice, ptr %t223, i32 0, i32 1 %t226 = getelementptr inbounds %LSlice, ptr %t223, i32 0, i32 2 %t227 = getelementptr inbounds %LSlice, ptr %t223, i32 0, i32 0 %t228 = load i32, ptr %t225 %t229 = load i32, ptr %t226 %t230 = icmp sge i32 %t228, %t229 br i1 %t230, label %grow45, label %put46 grow45: %t231 = mul i32 %t229, 2 %t232 = icmp eq i32 %t229, 0 %t233 = select i1 %t232, i32 8, i32 %t231 %t234 = getelementptr i32, 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 store i32 4685, ptr @lp_site %t239 = call ptr @lp_realloc(ptr %t238, i64 %t237) store i32 0, ptr @lp_site store ptr %t239, ptr %t227 store i32 %t233, ptr %t226 br label %put46 put46: %t240 = load ptr, ptr %t227 %t241 = getelementptr inbounds i32, ptr %t240, i32 %t228 store i32 %t224, ptr %t241 %t242 = add i32 %t228, 1 store i32 %t242, ptr %t225 %t243 = load ptr, ptr @g_g_dr_cur2 %t244 = load i32, ptr %t202 %t245 = getelementptr inbounds %LSlice, ptr %t243, i32 0, i32 1 %t246 = getelementptr inbounds %LSlice, ptr %t243, i32 0, i32 2 %t247 = getelementptr inbounds %LSlice, ptr %t243, i32 0, i32 0 %t248 = load i32, ptr %t245 %t249 = load i32, ptr %t246 %t250 = icmp sge i32 %t248, %t249 br i1 %t250, label %grow47, label %put48 grow47: %t251 = mul i32 %t249, 2 %t252 = icmp eq i32 %t249, 0 %t253 = select i1 %t252, i32 8, i32 %t251 %t254 = getelementptr i32, ptr null, i32 1 %t255 = ptrtoint ptr %t254 to i64 %t256 = zext i32 %t253 to i64 %t257 = mul i64 %t256, %t255 %t258 = load ptr, ptr %t247 store i32 4686, ptr @lp_site %t259 = call ptr @lp_realloc(ptr %t258, i64 %t257) store i32 0, ptr @lp_site store ptr %t259, ptr %t247 store i32 %t253, ptr %t246 br label %put48 put48: %t260 = load ptr, ptr %t247 %t261 = getelementptr inbounds i32, ptr %t260, i32 %t248 store i32 %t244, ptr %t261 %t262 = add i32 %t248, 1 store i32 %t262, ptr %t245 br label %ifend44 ifend44: %t263 = load i32, ptr %t202 %t264 = add i32 %t263, 1 store i32 %t264, ptr %t202 br label %wcond37 wend39: br label %ifend36 ifend36: %t266 = load ptr, ptr %t0 %t267 = getelementptr inbounds %Cmp_Node, ptr %t266, i32 0, i32 0 %t268 = load i32, ptr %t267 %t269 = icmp eq i32 %t268, 49 %t270 = zext i1 %t269 to i32 %t271 = icmp ne i32 %t270, 0 %t272 = zext i1 %t271 to i32 store i32 %t272, ptr %t265 br i1 %t271, label %sc49, label %scend50 sc49: %t273 = load ptr, ptr %t0 %t274 = getelementptr inbounds %Cmp_Node, ptr %t273, i32 0, i32 1 %t275 = load ptr, ptr %t274 %t276 = icmp ne ptr %t275, null %t277 = zext i1 %t276 to i32 %t278 = icmp ne i32 %t277, 0 %t279 = zext i1 %t278 to i32 store i32 %t279, ptr %t265 br label %scend50 scend50: %t280 = load i32, ptr %t265 %t281 = icmp ne i32 %t280, 0 br i1 %t281, label %then51, label %ifend53 then51: store i32 0, ptr %t282 br label %wcond54 wcond54: %t283 = load i32, ptr %t282 %t284 = load ptr, ptr @g_g_onlisten %t285 = getelementptr inbounds %LSlice, ptr %t284, i32 0, i32 1 %t286 = load i32, ptr %t285 %t287 = icmp slt i32 %t283, %t286 %t288 = zext i1 %t287 to i32 %t289 = icmp ne i32 %t288, 0 br i1 %t289, label %wbody55, label %wend56 wbody55: %t290 = load ptr, ptr @g_g_onlisten %t291 = load i32, ptr %t282 %t292 = getelementptr inbounds %LSlice, ptr %t290, i32 0, i32 0 %t293 = load ptr, ptr %t292 %t294 = getelementptr inbounds %LSlice, ptr %t290, i32 0, i32 1 %t295 = load i32, ptr %t294 %t296 = icmp ult i32 %t291, %t295 br i1 %t296, label %ixok57, label %ixbad58 ixbad58: store i32 4687, ptr @lp_site %t297 = call ptr @lp_win_stdio(i32 2) store i32 0, ptr @lp_site call i32 (ptr, ptr, ...) @fprintf(ptr %t297, ptr @.fmt_bounds, ptr @.str7728, i32 %t291, i32 %t295) call void @exit(i32 1) unreachable ixok57: %t298 = getelementptr inbounds ptr, ptr %t293, i32 %t291 %t299 = load ptr, ptr %t298 %t300 = getelementptr inbounds %Cmp_Node, ptr %t299, i32 0, i32 1 %t301 = load ptr, ptr %t300 %t302 = load ptr, ptr %t0 %t303 = getelementptr inbounds %Cmp_Node, ptr %t302, i32 0, i32 1 %t304 = load ptr, ptr %t303 %t305 = call i32 @lp_str_eq(ptr %t301, ptr %t304) %t306 = icmp ne i32 %t305, 0 br i1 %t306, label %then59, label %ifend61 then59: %t307 = load ptr, ptr %t0 %t308 = getelementptr inbounds %Cmp_Node, ptr %t307, i32 0, i32 1 %t309 = load ptr, ptr %t308 store i32 4688, ptr @lp_site %t310 = call ptr @lp_str_concat(ptr @.str7729, ptr %t309) store i32 0, ptr @lp_site store i32 4689, ptr @lp_site %t311 = call ptr @lp_str_concat(ptr %t310, ptr @.str7730) store i32 0, ptr @lp_site call void @lp_free(ptr %t310) %t312 = load i32, ptr %t282 %t313 = call ptr @fn_itoa(i32 %t312) store i32 4690, ptr @lp_site %t314 = call ptr @lp_str_concat(ptr %t311, ptr %t313) store i32 0, ptr @lp_site call void @lp_free(ptr %t311) %t315 = call i32 @fn_dr_index(ptr %t314) store i32 %t315, ptr %t316 %t317 = load i32, ptr %t316 %t318 = icmp sge i32 %t317, 0 %t319 = zext i1 %t318 to i32 %t320 = icmp ne i32 %t319, 0 br i1 %t320, label %then62, label %ifend64 then62: %t321 = load ptr, ptr %t1 %t322 = load i32, ptr %t316 %t323 = getelementptr inbounds %LSlice, ptr %t321, i32 0, i32 1 %t324 = getelementptr inbounds %LSlice, ptr %t321, i32 0, i32 2 %t325 = getelementptr inbounds %LSlice, ptr %t321, i32 0, i32 0 %t326 = load i32, ptr %t323 %t327 = load i32, ptr %t324 %t328 = icmp sge i32 %t326, %t327 br i1 %t328, label %grow65, label %put66 grow65: %t329 = mul i32 %t327, 2 %t330 = icmp eq i32 %t327, 0 %t331 = select i1 %t330, i32 8, i32 %t329 %t332 = getelementptr i32, ptr null, i32 1 %t333 = ptrtoint ptr %t332 to i64 %t334 = zext i32 %t331 to i64 %t335 = mul i64 %t334, %t333 %t336 = load ptr, ptr %t325 store i32 4691, ptr @lp_site %t337 = call ptr @lp_realloc(ptr %t336, i64 %t335) store i32 0, ptr @lp_site store ptr %t337, ptr %t325 store i32 %t331, ptr %t324 br label %put66 put66: %t338 = load ptr, ptr %t325 %t339 = getelementptr inbounds i32, ptr %t338, i32 %t326 store i32 %t322, ptr %t339 %t340 = add i32 %t326, 1 store i32 %t340, ptr %t323 %t341 = load ptr, ptr @g_g_dr_cur2 %t342 = load i32, ptr %t316 %t343 = getelementptr inbounds %LSlice, ptr %t341, i32 0, i32 1 %t344 = getelementptr inbounds %LSlice, ptr %t341, i32 0, i32 2 %t345 = getelementptr inbounds %LSlice, ptr %t341, i32 0, i32 0 %t346 = load i32, ptr %t343 %t347 = load i32, ptr %t344 %t348 = icmp sge i32 %t346, %t347 br i1 %t348, label %grow67, label %put68 grow67: %t349 = mul i32 %t347, 2 %t350 = icmp eq i32 %t347, 0 %t351 = select i1 %t350, i32 8, i32 %t349 %t352 = getelementptr i32, 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 store i32 4692, ptr @lp_site %t357 = call ptr @lp_realloc(ptr %t356, i64 %t355) store i32 0, ptr @lp_site store ptr %t357, ptr %t345 store i32 %t351, ptr %t344 br label %put68 put68: %t358 = load ptr, ptr %t345 %t359 = getelementptr inbounds i32, ptr %t358, i32 %t346 store i32 %t342, ptr %t359 %t360 = add i32 %t346, 1 store i32 %t360, ptr %t343 br label %ifend64 ifend64: br label %ifend61 ifend61: %t361 = load i32, ptr %t282 %t362 = add i32 %t361, 1 store i32 %t362, ptr %t282 br label %wcond54 wend56: br label %ifend53 ifend53: %t366 = load ptr, ptr %t0 %t367 = getelementptr inbounds %Cmp_Node, ptr %t366, i32 0, i32 0 %t368 = load i32, ptr %t367 %t369 = icmp eq i32 %t368, 33 %t370 = zext i1 %t369 to i32 %t371 = icmp ne i32 %t370, 0 %t372 = zext i1 %t371 to i32 store i32 %t372, ptr %t365 br i1 %t371, label %scend70, label %sc69 sc69: %t373 = load ptr, ptr %t0 %t374 = getelementptr inbounds %Cmp_Node, ptr %t373, i32 0, i32 0 %t375 = load i32, ptr %t374 %t376 = icmp eq i32 %t375, 55 %t377 = zext i1 %t376 to i32 %t378 = icmp ne i32 %t377, 0 %t379 = zext i1 %t378 to i32 store i32 %t379, ptr %t365 br label %scend70 scend70: %t380 = load i32, ptr %t365 %t381 = icmp ne i32 %t380, 0 %t382 = zext i1 %t381 to i32 store i32 %t382, ptr %t364 br i1 %t381, label %sc71, label %scend72 sc71: %t383 = load ptr, ptr %t0 %t384 = getelementptr inbounds %Cmp_Node, ptr %t383, i32 0, i32 1 %t385 = load ptr, ptr %t384 %t386 = icmp ne ptr %t385, null %t387 = zext i1 %t386 to i32 %t388 = icmp ne i32 %t387, 0 %t389 = zext i1 %t388 to i32 store i32 %t389, ptr %t364 br label %scend72 scend72: %t390 = load i32, ptr %t364 %t391 = icmp ne i32 %t390, 0 %t392 = zext i1 %t391 to i32 store i32 %t392, ptr %t363 br i1 %t391, label %sc73, label %scend74 sc73: %t394 = load ptr, ptr %t0 %t395 = getelementptr inbounds %Cmp_Node, ptr %t394, i32 0, i32 0 %t396 = load i32, ptr %t395 %t397 = icmp eq i32 %t396, 33 %t398 = zext i1 %t397 to i32 %t399 = icmp ne i32 %t398, 0 %t400 = zext i1 %t399 to i32 store i32 %t400, ptr %t393 br i1 %t399, label %sc75, label %scend76 sc75: %t401 = load ptr, ptr %t0 %t402 = getelementptr inbounds %Cmp_Node, ptr %t401, i32 0, i32 1 %t403 = load ptr, ptr %t402 %t404 = call i32 @fn_dr_is_local(ptr %t403) %t405 = icmp ne i32 %t404, 0 %t406 = zext i1 %t405 to i32 store i32 %t406, ptr %t393 br label %scend76 scend76: %t407 = load i32, ptr %t393 %t408 = icmp eq i32 %t407, 0 %t409 = zext i1 %t408 to i32 %t410 = icmp ne i32 %t409, 0 %t411 = zext i1 %t410 to i32 store i32 %t411, ptr %t363 br label %scend74 scend74: %t412 = load i32, ptr %t363 %t413 = icmp ne i32 %t412, 0 br i1 %t413, label %then77, label %ifend79 then77: %t414 = load ptr, ptr %t0 %t415 = getelementptr inbounds %Cmp_Node, ptr %t414, i32 0, i32 1 %t416 = load ptr, ptr %t415 %t417 = call i32 @fn_dr_index(ptr %t416) store i32 %t417, ptr %t418 %t419 = load i32, ptr %t418 %t420 = icmp sge i32 %t419, 0 %t421 = zext i1 %t420 to i32 %t422 = icmp ne i32 %t421, 0 br i1 %t422, label %then80, label %ifend82 then80: %t423 = load ptr, ptr %t1 %t424 = load i32, ptr %t418 %t425 = getelementptr inbounds %LSlice, ptr %t423, i32 0, i32 1 %t426 = getelementptr inbounds %LSlice, ptr %t423, i32 0, i32 2 %t427 = getelementptr inbounds %LSlice, ptr %t423, i32 0, i32 0 %t428 = load i32, ptr %t425 %t429 = load i32, ptr %t426 %t430 = icmp sge i32 %t428, %t429 br i1 %t430, label %grow83, label %put84 grow83: %t431 = mul i32 %t429, 2 %t432 = icmp eq i32 %t429, 0 %t433 = select i1 %t432, i32 8, i32 %t431 %t434 = getelementptr i32, ptr null, i32 1 %t435 = ptrtoint ptr %t434 to i64 %t436 = zext i32 %t433 to i64 %t437 = mul i64 %t436, %t435 %t438 = load ptr, ptr %t427 store i32 4693, ptr @lp_site %t439 = call ptr @lp_realloc(ptr %t438, i64 %t437) store i32 0, ptr @lp_site store ptr %t439, ptr %t427 store i32 %t433, ptr %t426 br label %put84 put84: %t440 = load ptr, ptr %t427 %t441 = getelementptr inbounds i32, ptr %t440, i32 %t428 store i32 %t424, ptr %t441 %t442 = add i32 %t428, 1 store i32 %t442, ptr %t425 br label %ifend82 ifend82: %t444 = load i32, ptr %t418 %t445 = icmp sge i32 %t444, 0 %t446 = zext i1 %t445 to i32 %t447 = icmp ne i32 %t446, 0 %t448 = zext i1 %t447 to i32 store i32 %t448, ptr %t443 br i1 %t447, label %sc85, label %scend86 sc85: %t449 = load ptr, ptr %t0 %t450 = getelementptr inbounds %Cmp_Node, ptr %t449, i32 0, i32 0 %t451 = load i32, ptr %t450 %t452 = icmp eq i32 %t451, 33 %t453 = zext i1 %t452 to i32 %t454 = icmp ne i32 %t453, 0 %t455 = zext i1 %t454 to i32 store i32 %t455, ptr %t443 br label %scend86 scend86: %t456 = load i32, ptr %t443 %t457 = icmp ne i32 %t456, 0 br i1 %t457, label %then87, label %ifend89 then87: %t458 = load ptr, ptr @g_g_dr_cur2 %t459 = load i32, ptr %t418 %t460 = getelementptr inbounds %LSlice, ptr %t458, i32 0, i32 1 %t461 = getelementptr inbounds %LSlice, ptr %t458, i32 0, i32 2 %t462 = getelementptr inbounds %LSlice, ptr %t458, i32 0, i32 0 %t463 = load i32, ptr %t460 %t464 = load i32, ptr %t461 %t465 = icmp sge i32 %t463, %t464 br i1 %t465, label %grow90, label %put91 grow90: %t466 = mul i32 %t464, 2 %t467 = icmp eq i32 %t464, 0 %t468 = select i1 %t467, i32 8, i32 %t466 %t469 = getelementptr i32, ptr null, i32 1 %t470 = ptrtoint ptr %t469 to i64 %t471 = zext i32 %t468 to i64 %t472 = mul i64 %t471, %t470 %t473 = load ptr, ptr %t462 store i32 4694, ptr @lp_site %t474 = call ptr @lp_realloc(ptr %t473, i64 %t472) store i32 0, ptr @lp_site store ptr %t474, ptr %t462 store i32 %t468, ptr %t461 br label %put91 put91: %t475 = load ptr, ptr %t462 %t476 = getelementptr inbounds i32, ptr %t475, i32 %t463 store i32 %t459, ptr %t476 %t477 = add i32 %t463, 1 store i32 %t477, ptr %t460 br label %ifend89 ifend89: %t480 = load ptr, ptr %t0 %t481 = getelementptr inbounds %Cmp_Node, ptr %t480, i32 0, i32 0 %t482 = load i32, ptr %t481 %t483 = icmp eq i32 %t482, 33 %t484 = zext i1 %t483 to i32 %t485 = icmp ne i32 %t484, 0 %t486 = zext i1 %t485 to i32 store i32 %t486, ptr %t479 br i1 %t485, label %sc92, label %scend93 sc92: %t487 = load i32, ptr %t418 %t488 = icmp sge i32 %t487, 0 %t489 = zext i1 %t488 to i32 %t490 = icmp ne i32 %t489, 0 %t491 = zext i1 %t490 to i32 store i32 %t491, ptr %t479 br label %scend93 scend93: %t492 = load i32, ptr %t479 %t493 = icmp ne i32 %t492, 0 %t494 = zext i1 %t493 to i32 store i32 %t494, ptr %t478 br i1 %t493, label %sc94, label %scend95 sc94: %t495 = load i32, ptr %t418 %t496 = call i32 @fn_dr_holds_fn(i32 %t495) %t497 = icmp ne i32 %t496, 0 %t498 = zext i1 %t497 to i32 store i32 %t498, ptr %t478 br label %scend95 scend95: %t499 = load i32, ptr %t478 %t500 = icmp ne i32 %t499, 0 br i1 %t500, label %then96, label %ifend98 then96: store i32 1, ptr @g_g_dr_disp br label %ifend98 ifend98: %t501 = load ptr, ptr %t0 %t502 = getelementptr inbounds %Cmp_Node, ptr %t501, i32 0, i32 1 %t503 = load ptr, ptr %t502 %t504 = call ptr @fn_dr_reg_local(ptr %t503) store ptr %t504, ptr %t505 %t508 = load i32, ptr %t418 %t509 = icmp slt i32 %t508, 0 %t510 = zext i1 %t509 to i32 %t511 = icmp ne i32 %t510, 0 %t512 = zext i1 %t511 to i32 store i32 %t512, ptr %t507 br i1 %t511, label %sc99, label %scend100 sc99: %t513 = load ptr, ptr %t505 %t514 = icmp ne ptr %t513, null %t515 = zext i1 %t514 to i32 %t516 = icmp ne i32 %t515, 0 %t517 = zext i1 %t516 to i32 store i32 %t517, ptr %t507 br label %scend100 scend100: %t518 = load i32, ptr %t507 %t519 = icmp ne i32 %t518, 0 %t520 = zext i1 %t519 to i32 store i32 %t520, ptr %t506 br i1 %t519, label %sc101, label %scend102 sc101: %t521 = load ptr, ptr %t505 %t522 = call i32 @fn_dr_index(ptr %t521) %t523 = icmp sge i32 %t522, 0 %t524 = zext i1 %t523 to i32 %t525 = icmp ne i32 %t524, 0 %t526 = zext i1 %t525 to i32 store i32 %t526, ptr %t506 br label %scend102 scend102: %t527 = load i32, ptr %t506 %t528 = icmp ne i32 %t527, 0 br i1 %t528, label %then103, label %ifend105 then103: %t529 = load ptr, ptr %t1 %t530 = load ptr, ptr %t505 %t531 = call i32 @fn_dr_index(ptr %t530) %t532 = getelementptr inbounds %LSlice, ptr %t529, i32 0, i32 1 %t533 = getelementptr inbounds %LSlice, ptr %t529, i32 0, i32 2 %t534 = getelementptr inbounds %LSlice, ptr %t529, i32 0, i32 0 %t535 = load i32, ptr %t532 %t536 = load i32, ptr %t533 %t537 = icmp sge i32 %t535, %t536 br i1 %t537, label %grow106, label %put107 grow106: %t538 = mul i32 %t536, 2 %t539 = icmp eq i32 %t536, 0 %t540 = select i1 %t539, i32 8, i32 %t538 %t541 = getelementptr i32, ptr null, i32 1 %t542 = ptrtoint ptr %t541 to i64 %t543 = zext i32 %t540 to i64 %t544 = mul i64 %t543, %t542 %t545 = load ptr, ptr %t534 store i32 4695, ptr @lp_site %t546 = call ptr @lp_realloc(ptr %t545, i64 %t544) store i32 0, ptr @lp_site store ptr %t546, ptr %t534 store i32 %t540, ptr %t533 br label %put107 put107: %t547 = load ptr, ptr %t534 %t548 = getelementptr inbounds i32, ptr %t547, i32 %t535 store i32 %t531, ptr %t548 %t549 = add i32 %t535, 1 store i32 %t549, ptr %t532 %t550 = load ptr, ptr @g_g_dr_cur2 %t551 = load ptr, ptr %t505 %t552 = call i32 @fn_dr_index(ptr %t551) %t553 = getelementptr inbounds %LSlice, ptr %t550, i32 0, i32 1 %t554 = getelementptr inbounds %LSlice, ptr %t550, i32 0, i32 2 %t555 = getelementptr inbounds %LSlice, ptr %t550, i32 0, i32 0 %t556 = load i32, ptr %t553 %t557 = load i32, ptr %t554 %t558 = icmp sge i32 %t556, %t557 br i1 %t558, label %grow108, label %put109 grow108: %t559 = mul i32 %t557, 2 %t560 = icmp eq i32 %t557, 0 %t561 = select i1 %t560, i32 8, i32 %t559 %t562 = getelementptr i32, ptr null, i32 1 %t563 = ptrtoint ptr %t562 to i64 %t564 = zext i32 %t561 to i64 %t565 = mul i64 %t564, %t563 %t566 = load ptr, ptr %t555 store i32 4696, ptr @lp_site %t567 = call ptr @lp_realloc(ptr %t566, i64 %t565) store i32 0, ptr @lp_site store ptr %t567, ptr %t555 store i32 %t561, ptr %t554 br label %put109 put109: %t568 = load ptr, ptr %t555 %t569 = getelementptr inbounds i32, ptr %t568, i32 %t556 store i32 %t552, ptr %t569 %t570 = add i32 %t556, 1 store i32 %t570, ptr %t553 br label %ifend105 ifend105: br label %ifend79 ifend79: %t571 = load ptr, ptr %t0 %t572 = getelementptr inbounds %Cmp_Node, ptr %t571, i32 0, i32 4 %t573 = load ptr, ptr %t572 %t574 = load ptr, ptr %t1 call void @fn_dr_walk(ptr %t573, ptr %t574) %t575 = load ptr, ptr %t0 %t576 = getelementptr inbounds %Cmp_Node, ptr %t575, i32 0, i32 5 %t577 = load ptr, ptr %t576 %t578 = load ptr, ptr %t1 call void @fn_dr_walk(ptr %t577, ptr %t578) %t579 = load ptr, ptr %t0 %t580 = getelementptr inbounds %Cmp_Node, ptr %t579, i32 0, i32 6 %t581 = load ptr, ptr %t580 %t582 = load ptr, ptr %t1 call void @fn_dr_walk(ptr %t581, ptr %t582) %t583 = load ptr, ptr %t0 %t584 = getelementptr inbounds %Cmp_Node, ptr %t583, i32 0, i32 7 %t585 = load ptr, ptr %t584 %t586 = icmp ne ptr %t585, null %t587 = zext i1 %t586 to i32 %t588 = icmp ne i32 %t587, 0 br i1 %t588, label %then110, label %ifend112 then110: store i32 0, ptr %t589 br label %wcond113 wcond113: %t590 = load i32, ptr %t589 %t591 = load ptr, ptr %t0 %t592 = getelementptr inbounds %Cmp_Node, ptr %t591, i32 0, i32 7 %t593 = load ptr, ptr %t592 %t594 = getelementptr inbounds %LSlice, ptr %t593, i32 0, i32 1 %t595 = load i32, ptr %t594 %t596 = icmp slt i32 %t590, %t595 %t597 = zext i1 %t596 to i32 %t598 = icmp ne i32 %t597, 0 br i1 %t598, label %wbody114, label %wend115 wbody114: %t599 = load ptr, ptr %t0 %t600 = getelementptr inbounds %Cmp_Node, ptr %t599, i32 0, i32 7 %t601 = load ptr, ptr %t600 %t602 = load i32, ptr %t589 %t603 = getelementptr inbounds %LSlice, ptr %t601, i32 0, i32 0 %t604 = load ptr, ptr %t603 %t605 = getelementptr inbounds %LSlice, ptr %t601, i32 0, i32 1 %t606 = load i32, ptr %t605 %t607 = icmp ult i32 %t602, %t606 br i1 %t607, label %ixok116, label %ixbad117 ixbad117: store i32 4697, ptr @lp_site %t608 = call ptr @lp_win_stdio(i32 2) store i32 0, ptr @lp_site call i32 (ptr, ptr, ...) @fprintf(ptr %t608, ptr @.fmt_bounds, ptr @.str7731, i32 %t602, i32 %t606) call void @exit(i32 1) unreachable ixok116: %t609 = getelementptr inbounds ptr, ptr %t604, i32 %t602 %t610 = load ptr, ptr %t609 %t611 = load ptr, ptr %t1 call void @fn_dr_walk(ptr %t610, ptr %t611) %t612 = load i32, ptr %t589 %t613 = add i32 %t612, 1 store i32 %t613, ptr %t589 br label %wcond113 wend115: br label %ifend112 ifend112: br label %ret ret: ret void } define i32 @fn_dr_holds_fn(i32 %arg_k) { entry: %retval = alloca i32 %t0 = alloca i32 %t51 = alloca ptr %t61 = alloca i32 store i32 %arg_k, ptr %t0 br label %wcond0 wcond0: %t1 = load ptr, ptr @g_g_dr_hf %t2 = getelementptr inbounds %LSlice, ptr %t1, i32 0, i32 1 %t3 = load i32, ptr %t2 %t4 = load i32, ptr %t0 %t5 = icmp sle i32 %t3, %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_dr_hf %t9 = sub i32 0, 1 %t10 = getelementptr inbounds %LSlice, ptr %t8, i32 0, i32 1 %t11 = getelementptr inbounds %LSlice, ptr %t8, i32 0, i32 2 %t12 = getelementptr inbounds %LSlice, ptr %t8, i32 0, i32 0 %t13 = load i32, ptr %t10 %t14 = load i32, ptr %t11 %t15 = icmp sge i32 %t13, %t14 br i1 %t15, label %grow3, label %put4 grow3: %t16 = mul i32 %t14, 2 %t17 = icmp eq i32 %t14, 0 %t18 = select i1 %t17, i32 8, i32 %t16 %t19 = getelementptr i32, ptr null, i32 1 %t20 = ptrtoint ptr %t19 to i64 %t21 = zext i32 %t18 to i64 %t22 = mul i64 %t21, %t20 %t23 = load ptr, ptr %t12 store i32 4698, ptr @lp_site %t24 = call ptr @lp_realloc(ptr %t23, i64 %t22) store i32 0, ptr @lp_site store ptr %t24, ptr %t12 store i32 %t18, ptr %t11 br label %put4 put4: %t25 = load ptr, ptr %t12 %t26 = getelementptr inbounds i32, ptr %t25, i32 %t13 store i32 %t9, ptr %t26 %t27 = add i32 %t13, 1 store i32 %t27, ptr %t10 br label %wcond0 wend2: %t28 = load ptr, ptr @g_g_dr_hf %t29 = load i32, ptr %t0 %t30 = getelementptr inbounds %LSlice, ptr %t28, i32 0, i32 0 %t31 = load ptr, ptr %t30 %t32 = getelementptr inbounds %LSlice, ptr %t28, i32 0, i32 1 %t33 = load i32, ptr %t32 %t34 = icmp ult i32 %t29, %t33 br i1 %t34, label %ixok5, label %ixbad6 ixbad6: store i32 4699, ptr @lp_site %t35 = call ptr @lp_win_stdio(i32 2) store i32 0, ptr @lp_site call i32 (ptr, ptr, ...) @fprintf(ptr %t35, ptr @.fmt_bounds, ptr @.str7733, i32 %t29, i32 %t33) call void @exit(i32 1) unreachable ixok5: %t36 = getelementptr inbounds i32, ptr %t31, i32 %t29 %t37 = load i32, ptr %t36 %t38 = icmp slt i32 %t37, 0 %t39 = zext i1 %t38 to i32 %t40 = icmp ne i32 %t39, 0 br i1 %t40, label %then7, label %ifend9 then7: %t41 = load ptr, ptr @g_g_dr_node %t42 = load i32, ptr %t0 %t43 = getelementptr inbounds %LSlice, ptr %t41, i32 0, i32 0 %t44 = load ptr, ptr %t43 %t45 = getelementptr inbounds %LSlice, ptr %t41, i32 0, i32 1 %t46 = load i32, ptr %t45 %t47 = icmp ult i32 %t42, %t46 br i1 %t47, label %ixok10, label %ixbad11 ixbad11: store i32 4700, ptr @lp_site %t48 = call ptr @lp_win_stdio(i32 2) store i32 0, ptr @lp_site call i32 (ptr, ptr, ...) @fprintf(ptr %t48, ptr @.fmt_bounds, ptr @.str7734, i32 %t42, i32 %t46) call void @exit(i32 1) unreachable ixok10: %t49 = getelementptr inbounds ptr, ptr %t44, i32 %t42 %t50 = load ptr, ptr %t49 store ptr %t50, ptr %t51 %t52 = load ptr, ptr @g_g_dr_hf %t53 = load i32, ptr %t0 %t54 = getelementptr inbounds %LSlice, ptr %t52, i32 0, i32 0 %t55 = load ptr, ptr %t54 %t56 = getelementptr inbounds %LSlice, ptr %t52, i32 0, i32 1 %t57 = load i32, ptr %t56 %t58 = icmp ult i32 %t53, %t57 br i1 %t58, label %ixok12, label %ixbad13 ixbad13: store i32 4701, ptr @lp_site %t59 = call ptr @lp_win_stdio(i32 2) store i32 0, ptr @lp_site call i32 (ptr, ptr, ...) @fprintf(ptr %t59, ptr @.fmt_bounds, ptr @.str7735, i32 %t53, i32 %t57) call void @exit(i32 1) unreachable ixok12: %t60 = getelementptr inbounds i32, ptr %t55, i32 %t53 store i32 0, ptr %t60 %t62 = load ptr, ptr %t51 %t63 = getelementptr inbounds %Cmp_Node, ptr %t62, i32 0, i32 0 %t64 = load i32, ptr %t63 %t65 = icmp eq i32 %t64, 2 %t66 = zext i1 %t65 to i32 %t67 = icmp ne i32 %t66, 0 %t68 = zext i1 %t67 to i32 store i32 %t68, ptr %t61 br i1 %t67, label %sc14, label %scend15 sc14: %t69 = load ptr, ptr %t51 %t70 = getelementptr inbounds %Cmp_Node, ptr %t69, i32 0, i32 4 %t71 = load ptr, ptr %t70 %t72 = call i32 @fn_dr_has_fnref(ptr %t71, i32 0) %t73 = icmp ne i32 %t72, 0 %t74 = zext i1 %t73 to i32 store i32 %t74, ptr %t61 br label %scend15 scend15: %t75 = load i32, ptr %t61 %t76 = icmp ne i32 %t75, 0 br i1 %t76, label %then16, label %ifend18 then16: %t77 = load ptr, ptr @g_g_dr_hf %t78 = load i32, ptr %t0 %t79 = getelementptr inbounds %LSlice, ptr %t77, i32 0, i32 0 %t80 = load ptr, ptr %t79 %t81 = getelementptr inbounds %LSlice, ptr %t77, i32 0, i32 1 %t82 = load i32, ptr %t81 %t83 = icmp ult i32 %t78, %t82 br i1 %t83, label %ixok19, label %ixbad20 ixbad20: store i32 4702, ptr @lp_site %t84 = call ptr @lp_win_stdio(i32 2) store i32 0, ptr @lp_site call i32 (ptr, ptr, ...) @fprintf(ptr %t84, ptr @.fmt_bounds, ptr @.str7736, i32 %t78, i32 %t82) call void @exit(i32 1) unreachable ixok19: %t85 = getelementptr inbounds i32, ptr %t80, i32 %t78 store i32 1, ptr %t85 br label %ifend18 ifend18: br label %ifend9 ifend9: %t86 = load ptr, ptr @g_g_dr_hf %t87 = load i32, ptr %t0 %t88 = getelementptr inbounds %LSlice, ptr %t86, i32 0, i32 0 %t89 = load ptr, ptr %t88 %t90 = getelementptr inbounds %LSlice, ptr %t86, i32 0, i32 1 %t91 = load i32, ptr %t90 %t92 = icmp ult i32 %t87, %t91 br i1 %t92, label %ixok21, label %ixbad22 ixbad22: store i32 4703, ptr @lp_site %t93 = call ptr @lp_win_stdio(i32 2) store i32 0, ptr @lp_site call i32 (ptr, ptr, ...) @fprintf(ptr %t93, ptr @.fmt_bounds, ptr @.str7737, i32 %t87, i32 %t91) call void @exit(i32 1) unreachable ixok21: %t94 = getelementptr inbounds i32, ptr %t89, i32 %t87 %t95 = load i32, ptr %t94 %t96 = icmp eq i32 %t95, 1 %t97 = zext i1 %t96 to i32 store i32 %t97, ptr %retval br label %ret ret: %t98 = load i32, ptr %retval ret i32 %t98 } define i32 @fn_dr_has_fnref(ptr %arg_n, i32 %arg_depth) { entry: %retval = alloca i32 %t0 = alloca ptr %t1 = alloca i32 %t2 = alloca i32 %t21 = alloca i32 %t46 = alloca i32 store ptr %arg_n, ptr %t0 store i32 %arg_depth, ptr %t1 %t3 = load ptr, ptr %t0 %t4 = icmp eq ptr %t3, null %t5 = zext i1 %t4 to i32 %t6 = icmp ne i32 %t5, 0 %t7 = zext i1 %t6 to i32 store i32 %t7, ptr %t2 br i1 %t6, label %scend1, label %sc0 sc0: %t8 = load i32, ptr %t1 %t9 = icmp sgt i32 %t8, 6 %t10 = zext i1 %t9 to i32 %t11 = icmp ne i32 %t10, 0 %t12 = zext i1 %t11 to i32 store i32 %t12, ptr %t2 br label %scend1 scend1: %t13 = load i32, ptr %t2 %t14 = icmp ne i32 %t13, 0 br i1 %t14, label %then2, label %ifend4 then2: store i32 0, ptr %retval br label %ret ifend4: %t15 = load ptr, ptr %t0 %t16 = getelementptr inbounds %Cmp_Node, ptr %t15, i32 0, i32 0 %t17 = load i32, ptr %t16 %t18 = icmp eq i32 %t17, 55 %t19 = zext i1 %t18 to i32 %t20 = icmp ne i32 %t19, 0 br i1 %t20, label %then5, label %ifend7 then5: store i32 1, ptr %retval br label %ret ifend7: %t22 = load ptr, ptr %t0 %t23 = getelementptr inbounds %Cmp_Node, ptr %t22, i32 0, i32 4 %t24 = load ptr, ptr %t23 %t25 = load i32, ptr %t1 %t26 = add i32 %t25, 1 %t27 = call i32 @fn_dr_has_fnref(ptr %t24, i32 %t26) %t28 = icmp ne i32 %t27, 0 %t29 = zext i1 %t28 to i32 store i32 %t29, ptr %t21 br i1 %t28, label %scend9, label %sc8 sc8: %t30 = load ptr, ptr %t0 %t31 = getelementptr inbounds %Cmp_Node, ptr %t30, i32 0, i32 5 %t32 = load ptr, ptr %t31 %t33 = load i32, ptr %t1 %t34 = add i32 %t33, 1 %t35 = call i32 @fn_dr_has_fnref(ptr %t32, i32 %t34) %t36 = icmp ne i32 %t35, 0 %t37 = zext i1 %t36 to i32 store i32 %t37, ptr %t21 br label %scend9 scend9: %t38 = load i32, ptr %t21 %t39 = icmp ne i32 %t38, 0 br i1 %t39, label %then10, label %ifend12 then10: store i32 1, ptr %retval br label %ret ifend12: %t40 = load ptr, ptr %t0 %t41 = getelementptr inbounds %Cmp_Node, ptr %t40, i32 0, i32 7 %t42 = load ptr, ptr %t41 %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: store i32 0, ptr %t46 br label %wcond16 wcond16: %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 %wbody17, label %wend18 wbody17: %t56 = load ptr, ptr %t0 %t57 = getelementptr inbounds %Cmp_Node, ptr %t56, i32 0, i32 7 %t58 = load ptr, ptr %t57 %t59 = load i32, ptr %t46 %t60 = getelementptr inbounds %LSlice, ptr %t58, i32 0, i32 0 %t61 = load ptr, ptr %t60 %t62 = getelementptr inbounds %LSlice, ptr %t58, i32 0, i32 1 %t63 = load i32, ptr %t62 %t64 = icmp ult i32 %t59, %t63 br i1 %t64, label %ixok19, label %ixbad20 ixbad20: store i32 4704, ptr @lp_site %t65 = call ptr @lp_win_stdio(i32 2) store i32 0, ptr @lp_site call i32 (ptr, ptr, ...) @fprintf(ptr %t65, ptr @.fmt_bounds, ptr @.str7738, i32 %t59, i32 %t63) call void @exit(i32 1) unreachable ixok19: %t66 = getelementptr inbounds ptr, ptr %t61, i32 %t59 %t67 = load ptr, ptr %t66 %t68 = load i32, ptr %t1 %t69 = add i32 %t68, 1 %t70 = call i32 @fn_dr_has_fnref(ptr %t67, i32 %t69) %t71 = icmp ne i32 %t70, 0 br i1 %t71, label %then21, label %ifend23 then21: store i32 1, ptr %retval br label %ret ifend23: %t72 = load i32, ptr %t46 %t73 = add i32 %t72, 1 store i32 %t73, ptr %t46 br label %wcond16 wend18: br label %ifend15 ifend15: store i32 0, ptr %retval br label %ret ret: %t74 = load i32, ptr %retval ret i32 %t74 } define void @fn_dr_roots(i32 %arg_nw) { entry: %t0 = alloca i32 %t19 = alloca i32 %t62 = alloca ptr %t69 = alloca ptr %t70 = alloca i32 %t180 = alloca i32 %t200 = alloca ptr %t201 = alloca i32 store i32 %arg_nw, ptr %t0 %t1 = getelementptr %LSlice, ptr null, i32 1 %t2 = ptrtoint ptr %t1 to i64 store i32 4705, ptr @lp_site %t3 = call ptr @lp_malloc(i64 %t2) store i32 0, ptr @lp_site %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 @g_g_dr_root %t7 = getelementptr %LSlice, ptr null, i32 1 %t8 = ptrtoint ptr %t7 to i64 store i32 4706, ptr @lp_site %t9 = call ptr @lp_malloc(i64 %t8) store i32 0, ptr @lp_site %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 @g_g_dr_bits2 %t13 = getelementptr %LSlice, ptr null, i32 1 %t14 = ptrtoint ptr %t13 to i64 store i32 4707, ptr @lp_site %t15 = call ptr @lp_malloc(i64 %t14) store i32 0, ptr @lp_site %t16 = getelementptr inbounds %LSlice, ptr %t15, i32 0, i32 0 store ptr null, ptr %t16 %t17 = getelementptr inbounds %LSlice, ptr %t15, i32 0, i32 1 store i32 0, ptr %t17 %t18 = getelementptr inbounds %LSlice, ptr %t15, i32 0, i32 2 store i32 0, ptr %t18 store ptr %t15, ptr @g_g_dr_wbits2 store i32 0, ptr %t19 br label %wcond0 wcond0: %t20 = load i32, ptr %t19 %t21 = load ptr, ptr @g_g_dr_node %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 %wbody1, label %wend2 wbody1: %t27 = load ptr, ptr @g_g_dr_root %t28 = load ptr, ptr @g_g_dr_disp_of %t29 = load i32, ptr %t19 %t30 = getelementptr inbounds %LSlice, ptr %t28, i32 0, i32 0 %t31 = load ptr, ptr %t30 %t32 = getelementptr inbounds %LSlice, ptr %t28, i32 0, i32 1 %t33 = load i32, ptr %t32 %t34 = icmp ult i32 %t29, %t33 br i1 %t34, label %ixok3, label %ixbad4 ixbad4: store i32 4708, ptr @lp_site %t35 = call ptr @lp_win_stdio(i32 2) store i32 0, ptr @lp_site call i32 (ptr, ptr, ...) @fprintf(ptr %t35, ptr @.fmt_bounds, ptr @.str7742, i32 %t29, i32 %t33) call void @exit(i32 1) unreachable ixok3: %t36 = getelementptr inbounds i32, ptr %t31, i32 %t29 %t37 = load i32, 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 %grow5, label %put6 grow5: %t44 = mul i32 %t42, 2 %t45 = icmp eq i32 %t42, 0 %t46 = select i1 %t45, i32 8, i32 %t44 %t47 = getelementptr i32, 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 store i32 4709, ptr @lp_site %t52 = call ptr @lp_realloc(ptr %t51, i64 %t50) store i32 0, ptr @lp_site store ptr %t52, ptr %t40 store i32 %t46, ptr %t39 br label %put6 put6: %t53 = load ptr, ptr %t40 %t54 = getelementptr inbounds i32, ptr %t53, i32 %t41 store i32 %t37, ptr %t54 %t55 = add i32 %t41, 1 store i32 %t55, ptr %t38 %t56 = getelementptr %LSlice, ptr null, i32 1 %t57 = ptrtoint ptr %t56 to i64 store i32 4710, ptr @lp_site %t58 = call ptr @lp_malloc(i64 %t57) store i32 0, ptr @lp_site %t59 = getelementptr inbounds %LSlice, ptr %t58, i32 0, i32 0 store ptr null, ptr %t59 %t60 = getelementptr inbounds %LSlice, ptr %t58, i32 0, i32 1 store i32 0, ptr %t60 %t61 = getelementptr inbounds %LSlice, ptr %t58, i32 0, i32 2 store i32 0, ptr %t61 store ptr %t58, ptr %t62 %t63 = getelementptr %LSlice, ptr null, i32 1 %t64 = ptrtoint ptr %t63 to i64 store i32 4711, ptr @lp_site %t65 = call ptr @lp_malloc(i64 %t64) store i32 0, ptr @lp_site %t66 = getelementptr inbounds %LSlice, ptr %t65, i32 0, i32 0 store ptr null, ptr %t66 %t67 = getelementptr inbounds %LSlice, ptr %t65, i32 0, i32 1 store i32 0, ptr %t67 %t68 = getelementptr inbounds %LSlice, ptr %t65, i32 0, i32 2 store i32 0, ptr %t68 store ptr %t65, ptr %t69 store i32 0, ptr %t70 br label %wcond7 wcond7: %t71 = load i32, ptr %t70 %t72 = load i32, ptr %t0 %t73 = icmp slt i32 %t71, %t72 %t74 = zext i1 %t73 to i32 %t75 = icmp ne i32 %t74, 0 br i1 %t75, label %wbody8, label %wend9 wbody8: %t76 = load ptr, ptr %t62 %t77 = getelementptr inbounds %LSlice, ptr %t76, i32 0, i32 1 %t78 = getelementptr inbounds %LSlice, ptr %t76, i32 0, i32 2 %t79 = getelementptr inbounds %LSlice, ptr %t76, i32 0, i32 0 %t80 = load i32, ptr %t77 %t81 = load i32, ptr %t78 %t82 = icmp sge i32 %t80, %t81 br i1 %t82, label %grow10, label %put11 grow10: %t83 = mul i32 %t81, 2 %t84 = icmp eq i32 %t81, 0 %t85 = select i1 %t84, i32 8, i32 %t83 %t86 = getelementptr i32, ptr null, i32 1 %t87 = ptrtoint ptr %t86 to i64 %t88 = zext i32 %t85 to i64 %t89 = mul i64 %t88, %t87 %t90 = load ptr, ptr %t79 store i32 4712, ptr @lp_site %t91 = call ptr @lp_realloc(ptr %t90, i64 %t89) store i32 0, ptr @lp_site store ptr %t91, ptr %t79 store i32 %t85, ptr %t78 br label %put11 put11: %t92 = load ptr, ptr %t79 %t93 = getelementptr inbounds i32, ptr %t92, i32 %t80 store i32 0, ptr %t93 %t94 = add i32 %t80, 1 store i32 %t94, ptr %t77 %t95 = load ptr, ptr %t69 %t96 = getelementptr inbounds %LSlice, ptr %t95, i32 0, i32 1 %t97 = getelementptr inbounds %LSlice, ptr %t95, i32 0, i32 2 %t98 = getelementptr inbounds %LSlice, ptr %t95, i32 0, i32 0 %t99 = load i32, ptr %t96 %t100 = load i32, ptr %t97 %t101 = icmp sge i32 %t99, %t100 br i1 %t101, label %grow12, label %put13 grow12: %t102 = mul i32 %t100, 2 %t103 = icmp eq i32 %t100, 0 %t104 = select i1 %t103, i32 8, i32 %t102 %t105 = getelementptr i32, ptr null, i32 1 %t106 = ptrtoint ptr %t105 to i64 %t107 = zext i32 %t104 to i64 %t108 = mul i64 %t107, %t106 %t109 = load ptr, ptr %t98 store i32 4713, ptr @lp_site %t110 = call ptr @lp_realloc(ptr %t109, i64 %t108) store i32 0, ptr @lp_site store ptr %t110, ptr %t98 store i32 %t104, ptr %t97 br label %put13 put13: %t111 = load ptr, ptr %t98 %t112 = getelementptr inbounds i32, ptr %t111, i32 %t99 store i32 0, ptr %t112 %t113 = add i32 %t99, 1 store i32 %t113, ptr %t96 %t114 = load i32, ptr %t70 %t115 = add i32 %t114, 1 store i32 %t115, ptr %t70 br label %wcond7 wend9: %t116 = load ptr, ptr @g_g_dr_node %t117 = load i32, ptr %t19 %t118 = getelementptr inbounds %LSlice, ptr %t116, i32 0, i32 0 %t119 = load ptr, ptr %t118 %t120 = getelementptr inbounds %LSlice, ptr %t116, i32 0, i32 1 %t121 = load i32, ptr %t120 %t122 = icmp ult i32 %t117, %t121 br i1 %t122, label %ixok14, label %ixbad15 ixbad15: store i32 4714, ptr @lp_site %t123 = call ptr @lp_win_stdio(i32 2) store i32 0, ptr @lp_site call i32 (ptr, ptr, ...) @fprintf(ptr %t123, ptr @.fmt_bounds, ptr @.str7743, i32 %t117, i32 %t121) call void @exit(i32 1) unreachable ixok14: %t124 = getelementptr inbounds ptr, ptr %t119, i32 %t117 %t125 = load ptr, ptr %t124 %t126 = load ptr, ptr %t62 call void @fn_dr_own(ptr %t125, ptr %t126, i32 0) %t127 = load ptr, ptr @g_g_dr_node %t128 = load i32, ptr %t19 %t129 = getelementptr inbounds %LSlice, ptr %t127, i32 0, i32 0 %t130 = load ptr, ptr %t129 %t131 = getelementptr inbounds %LSlice, ptr %t127, i32 0, i32 1 %t132 = load i32, ptr %t131 %t133 = icmp ult i32 %t128, %t132 br i1 %t133, label %ixok16, label %ixbad17 ixbad17: store i32 4715, ptr @lp_site %t134 = call ptr @lp_win_stdio(i32 2) store i32 0, ptr @lp_site call i32 (ptr, ptr, ...) @fprintf(ptr %t134, ptr @.fmt_bounds, ptr @.str7744, i32 %t128, i32 %t132) call void @exit(i32 1) unreachable ixok16: %t135 = getelementptr inbounds ptr, ptr %t130, i32 %t128 %t136 = load ptr, ptr %t135 %t137 = load ptr, ptr %t69 call void @fn_dr_own(ptr %t136, ptr %t137, i32 1) %t138 = load ptr, ptr @g_g_dr_bits2 %t139 = load ptr, ptr %t62 %t140 = getelementptr inbounds %LSlice, ptr %t138, i32 0, i32 1 %t141 = getelementptr inbounds %LSlice, ptr %t138, i32 0, i32 2 %t142 = getelementptr inbounds %LSlice, ptr %t138, i32 0, i32 0 %t143 = load i32, ptr %t140 %t144 = load i32, ptr %t141 %t145 = icmp sge i32 %t143, %t144 br i1 %t145, label %grow18, label %put19 grow18: %t146 = mul i32 %t144, 2 %t147 = icmp eq i32 %t144, 0 %t148 = select i1 %t147, i32 8, i32 %t146 %t149 = getelementptr ptr, ptr null, i32 1 %t150 = ptrtoint ptr %t149 to i64 %t151 = zext i32 %t148 to i64 %t152 = mul i64 %t151, %t150 %t153 = load ptr, ptr %t142 store i32 4716, ptr @lp_site %t154 = call ptr @lp_realloc(ptr %t153, i64 %t152) store i32 0, ptr @lp_site store ptr %t154, ptr %t142 store i32 %t148, ptr %t141 br label %put19 put19: %t155 = load ptr, ptr %t142 %t156 = getelementptr inbounds ptr, ptr %t155, i32 %t143 store ptr %t139, ptr %t156 %t157 = add i32 %t143, 1 store i32 %t157, ptr %t140 %t158 = load ptr, ptr @g_g_dr_wbits2 %t159 = load ptr, ptr %t69 %t160 = getelementptr inbounds %LSlice, ptr %t158, i32 0, i32 1 %t161 = getelementptr inbounds %LSlice, ptr %t158, i32 0, i32 2 %t162 = getelementptr inbounds %LSlice, ptr %t158, i32 0, i32 0 %t163 = load i32, ptr %t160 %t164 = load i32, ptr %t161 %t165 = icmp sge i32 %t163, %t164 br i1 %t165, label %grow20, label %put21 grow20: %t166 = mul i32 %t164, 2 %t167 = icmp eq i32 %t164, 0 %t168 = select i1 %t167, i32 8, i32 %t166 %t169 = getelementptr ptr, ptr null, i32 1 %t170 = ptrtoint ptr %t169 to i64 %t171 = zext i32 %t168 to i64 %t172 = mul i64 %t171, %t170 %t173 = load ptr, ptr %t162 store i32 4717, ptr @lp_site %t174 = call ptr @lp_realloc(ptr %t173, i64 %t172) store i32 0, ptr @lp_site store ptr %t174, ptr %t162 store i32 %t168, ptr %t161 br label %put21 put21: %t175 = load ptr, ptr %t162 %t176 = getelementptr inbounds ptr, ptr %t175, i32 %t163 store ptr %t159, ptr %t176 %t177 = add i32 %t163, 1 store i32 %t177, ptr %t160 %t178 = load i32, ptr %t19 %t179 = add i32 %t178, 1 store i32 %t179, ptr %t19 br label %wcond0 wend2: store i32 1, ptr %t180 br label %wcond22 wcond22: %t181 = load i32, ptr %t180 %t182 = icmp ne i32 %t181, 0 br i1 %t182, label %wbody23, label %wend24 wbody23: store i32 0, ptr %t180 store i32 0, ptr %t19 br label %wcond25 wcond25: %t183 = load i32, ptr %t19 %t184 = load ptr, ptr @g_g_dr_node %t185 = getelementptr inbounds %LSlice, ptr %t184, i32 0, i32 1 %t186 = load i32, ptr %t185 %t187 = icmp slt i32 %t183, %t186 %t188 = zext i1 %t187 to i32 %t189 = icmp ne i32 %t188, 0 br i1 %t189, label %wbody26, label %wend27 wbody26: %t190 = load ptr, ptr @g_g_dr_refs2 %t191 = load i32, ptr %t19 %t192 = getelementptr inbounds %LSlice, ptr %t190, i32 0, i32 0 %t193 = load ptr, ptr %t192 %t194 = getelementptr inbounds %LSlice, ptr %t190, i32 0, i32 1 %t195 = load i32, ptr %t194 %t196 = icmp ult i32 %t191, %t195 br i1 %t196, label %ixok28, label %ixbad29 ixbad29: store i32 4718, ptr @lp_site %t197 = call ptr @lp_win_stdio(i32 2) store i32 0, ptr @lp_site call i32 (ptr, ptr, ...) @fprintf(ptr %t197, ptr @.fmt_bounds, ptr @.str7745, i32 %t191, i32 %t195) call void @exit(i32 1) unreachable ixok28: %t198 = getelementptr inbounds ptr, ptr %t193, i32 %t191 %t199 = load ptr, ptr %t198 store ptr %t199, ptr %t200 store i32 0, ptr %t201 br label %wcond30 wcond30: %t202 = load i32, ptr %t201 %t203 = load ptr, ptr %t200 %t204 = getelementptr inbounds %LSlice, ptr %t203, i32 0, i32 1 %t205 = load i32, ptr %t204 %t206 = icmp slt i32 %t202, %t205 %t207 = zext i1 %t206 to i32 %t208 = icmp ne i32 %t207, 0 br i1 %t208, label %wbody31, label %wend32 wbody31: %t209 = load ptr, ptr @g_g_dr_disp_of %t210 = load ptr, ptr %t200 %t211 = load i32, ptr %t201 %t212 = getelementptr inbounds %LSlice, ptr %t210, i32 0, i32 0 %t213 = load ptr, ptr %t212 %t214 = getelementptr inbounds %LSlice, ptr %t210, i32 0, i32 1 %t215 = load i32, ptr %t214 %t216 = icmp ult i32 %t211, %t215 br i1 %t216, label %ixok33, label %ixbad34 ixbad34: store i32 4719, ptr @lp_site %t217 = call ptr @lp_win_stdio(i32 2) store i32 0, ptr @lp_site call i32 (ptr, ptr, ...) @fprintf(ptr %t217, ptr @.fmt_bounds, ptr @.str7746, i32 %t211, i32 %t215) call void @exit(i32 1) unreachable ixok33: %t218 = getelementptr inbounds i32, ptr %t213, i32 %t211 %t219 = load i32, ptr %t218 %t220 = getelementptr inbounds %LSlice, ptr %t209, i32 0, i32 0 %t221 = load ptr, ptr %t220 %t222 = getelementptr inbounds %LSlice, ptr %t209, i32 0, i32 1 %t223 = load i32, ptr %t222 %t224 = icmp ult i32 %t219, %t223 br i1 %t224, label %ixok35, label %ixbad36 ixbad36: store i32 4720, ptr @lp_site %t225 = call ptr @lp_win_stdio(i32 2) store i32 0, ptr @lp_site call i32 (ptr, ptr, ...) @fprintf(ptr %t225, ptr @.fmt_bounds, ptr @.str7747, i32 %t219, i32 %t223) call void @exit(i32 1) unreachable ixok35: %t226 = getelementptr inbounds i32, ptr %t221, i32 %t219 %t227 = load i32, ptr %t226 %t228 = icmp eq i32 %t227, 0 %t229 = zext i1 %t228 to i32 %t230 = icmp ne i32 %t229, 0 br i1 %t230, label %then37, label %ifend39 then37: %t231 = load ptr, ptr @g_g_dr_bits2 %t232 = load i32, ptr %t19 %t233 = getelementptr inbounds %LSlice, ptr %t231, i32 0, i32 0 %t234 = load ptr, ptr %t233 %t235 = getelementptr inbounds %LSlice, ptr %t231, i32 0, i32 1 %t236 = load i32, ptr %t235 %t237 = icmp ult i32 %t232, %t236 br i1 %t237, label %ixok40, label %ixbad41 ixbad41: store i32 4721, ptr @lp_site %t238 = call ptr @lp_win_stdio(i32 2) store i32 0, ptr @lp_site call i32 (ptr, ptr, ...) @fprintf(ptr %t238, ptr @.fmt_bounds, ptr @.str7748, i32 %t232, i32 %t236) call void @exit(i32 1) unreachable ixok40: %t239 = getelementptr inbounds ptr, ptr %t234, i32 %t232 %t240 = load ptr, ptr %t239 %t241 = load ptr, ptr @g_g_dr_bits2 %t242 = load ptr, ptr %t200 %t243 = load i32, ptr %t201 %t244 = getelementptr inbounds %LSlice, ptr %t242, i32 0, i32 0 %t245 = load ptr, ptr %t244 %t246 = getelementptr inbounds %LSlice, ptr %t242, i32 0, i32 1 %t247 = load i32, ptr %t246 %t248 = icmp ult i32 %t243, %t247 br i1 %t248, label %ixok42, label %ixbad43 ixbad43: store i32 4722, ptr @lp_site %t249 = call ptr @lp_win_stdio(i32 2) store i32 0, ptr @lp_site call i32 (ptr, ptr, ...) @fprintf(ptr %t249, ptr @.fmt_bounds, ptr @.str7749, i32 %t243, i32 %t247) call void @exit(i32 1) unreachable ixok42: %t250 = getelementptr inbounds i32, ptr %t245, i32 %t243 %t251 = load i32, ptr %t250 %t252 = getelementptr inbounds %LSlice, ptr %t241, i32 0, i32 0 %t253 = load ptr, ptr %t252 %t254 = getelementptr inbounds %LSlice, ptr %t241, i32 0, i32 1 %t255 = load i32, ptr %t254 %t256 = icmp ult i32 %t251, %t255 br i1 %t256, label %ixok44, label %ixbad45 ixbad45: store i32 4723, ptr @lp_site %t257 = call ptr @lp_win_stdio(i32 2) store i32 0, ptr @lp_site call i32 (ptr, ptr, ...) @fprintf(ptr %t257, ptr @.fmt_bounds, ptr @.str7750, i32 %t251, i32 %t255) call void @exit(i32 1) unreachable ixok44: %t258 = getelementptr inbounds ptr, ptr %t253, i32 %t251 %t259 = load ptr, ptr %t258 %t260 = load i32, ptr %t0 %t261 = call i32 @fn_dr_join(ptr %t240, ptr %t259, i32 %t260) %t262 = icmp ne i32 %t261, 0 br i1 %t262, label %then46, label %ifend48 then46: store i32 1, ptr %t180 br label %ifend48 ifend48: %t263 = load ptr, ptr @g_g_dr_wbits2 %t264 = load i32, ptr %t19 %t265 = getelementptr inbounds %LSlice, ptr %t263, i32 0, i32 0 %t266 = load ptr, ptr %t265 %t267 = getelementptr inbounds %LSlice, ptr %t263, i32 0, i32 1 %t268 = load i32, ptr %t267 %t269 = icmp ult i32 %t264, %t268 br i1 %t269, label %ixok49, label %ixbad50 ixbad50: store i32 4724, ptr @lp_site %t270 = call ptr @lp_win_stdio(i32 2) store i32 0, ptr @lp_site call i32 (ptr, ptr, ...) @fprintf(ptr %t270, ptr @.fmt_bounds, ptr @.str7751, i32 %t264, i32 %t268) call void @exit(i32 1) unreachable ixok49: %t271 = getelementptr inbounds ptr, ptr %t266, i32 %t264 %t272 = load ptr, ptr %t271 %t273 = load ptr, ptr @g_g_dr_wbits2 %t274 = load ptr, ptr %t200 %t275 = load i32, ptr %t201 %t276 = getelementptr inbounds %LSlice, ptr %t274, i32 0, i32 0 %t277 = load ptr, ptr %t276 %t278 = getelementptr inbounds %LSlice, ptr %t274, i32 0, i32 1 %t279 = load i32, ptr %t278 %t280 = icmp ult i32 %t275, %t279 br i1 %t280, label %ixok51, label %ixbad52 ixbad52: store i32 4725, ptr @lp_site %t281 = call ptr @lp_win_stdio(i32 2) store i32 0, ptr @lp_site call i32 (ptr, ptr, ...) @fprintf(ptr %t281, ptr @.fmt_bounds, ptr @.str7752, i32 %t275, i32 %t279) call void @exit(i32 1) unreachable ixok51: %t282 = getelementptr inbounds i32, ptr %t277, i32 %t275 %t283 = load i32, ptr %t282 %t284 = getelementptr inbounds %LSlice, ptr %t273, i32 0, i32 0 %t285 = load ptr, ptr %t284 %t286 = getelementptr inbounds %LSlice, ptr %t273, i32 0, i32 1 %t287 = load i32, ptr %t286 %t288 = icmp ult i32 %t283, %t287 br i1 %t288, label %ixok53, label %ixbad54 ixbad54: store i32 4726, ptr @lp_site %t289 = call ptr @lp_win_stdio(i32 2) store i32 0, ptr @lp_site call i32 (ptr, ptr, ...) @fprintf(ptr %t289, ptr @.fmt_bounds, ptr @.str7753, i32 %t283, i32 %t287) call void @exit(i32 1) unreachable ixok53: %t290 = getelementptr inbounds ptr, ptr %t285, i32 %t283 %t291 = load ptr, ptr %t290 %t292 = load i32, ptr %t0 %t293 = call i32 @fn_dr_join(ptr %t272, ptr %t291, i32 %t292) %t294 = icmp ne i32 %t293, 0 br i1 %t294, label %then55, label %ifend57 then55: store i32 1, ptr %t180 br label %ifend57 ifend57: br label %ifend39 ifend39: %t295 = load i32, ptr %t201 %t296 = add i32 %t295, 1 store i32 %t296, ptr %t201 br label %wcond30 wend32: %t297 = load i32, ptr %t19 %t298 = add i32 %t297, 1 store i32 %t298, ptr %t19 br label %wcond25 wend27: br label %wcond22 wend24: br label %ret ret: ret void } define i32 @fn_dr_port_member(ptr %arg_n, ptr %arg_refs) { entry: %retval = alloca i32 %t0 = alloca ptr %t1 = alloca ptr %t2 = alloca i32 %t3 = alloca i32 %t4 = alloca i32 %t5 = alloca i32 %t62 = alloca i32 %t77 = alloca ptr %t83 = alloca i32 %t84 = alloca i32 %t120 = alloca ptr %t121 = alloca i32 %t180 = alloca ptr %t181 = alloca i32 store ptr %arg_n, ptr %t0 store ptr %arg_refs, ptr %t1 %t6 = load ptr, ptr %t0 %t7 = getelementptr inbounds %Cmp_Node, ptr %t6, i32 0, i32 0 %t8 = load i32, ptr %t7 %t9 = icmp ne i32 %t8, 35 %t10 = zext i1 %t9 to i32 %t11 = icmp ne i32 %t10, 0 %t12 = zext i1 %t11 to i32 store i32 %t12, ptr %t5 br i1 %t11, label %scend1, label %sc0 sc0: %t13 = load ptr, ptr %t0 %t14 = getelementptr inbounds %Cmp_Node, ptr %t13, i32 0, i32 4 %t15 = load ptr, ptr %t14 %t16 = icmp eq 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 %t5 br label %scend1 scend1: %t20 = load i32, ptr %t5 %t21 = icmp ne i32 %t20, 0 %t22 = zext i1 %t21 to i32 store i32 %t22, ptr %t4 br i1 %t21, label %scend3, label %sc2 sc2: %t23 = load ptr, ptr %t0 %t24 = getelementptr inbounds %Cmp_Node, ptr %t23, i32 0, i32 4 %t25 = load ptr, ptr %t24 %t26 = getelementptr inbounds %Cmp_Node, ptr %t25, i32 0, i32 0 %t27 = load i32, ptr %t26 %t28 = icmp ne i32 %t27, 33 %t29 = zext i1 %t28 to i32 %t30 = icmp ne i32 %t29, 0 %t31 = zext i1 %t30 to i32 store i32 %t31, ptr %t4 br label %scend3 scend3: %t32 = load i32, ptr %t4 %t33 = icmp ne i32 %t32, 0 %t34 = zext i1 %t33 to i32 store i32 %t34, ptr %t3 br i1 %t33, label %scend5, label %sc4 sc4: %t35 = load ptr, ptr %t0 %t36 = getelementptr inbounds %Cmp_Node, ptr %t35, i32 0, i32 4 %t37 = load ptr, ptr %t36 %t38 = getelementptr inbounds %Cmp_Node, ptr %t37, i32 0, i32 1 %t39 = load ptr, ptr %t38 %t40 = icmp eq 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 %t3 br label %scend5 scend5: %t44 = load i32, ptr %t3 %t45 = icmp ne i32 %t44, 0 %t46 = zext i1 %t45 to i32 store i32 %t46, ptr %t2 br i1 %t45, label %scend7, label %sc6 sc6: %t47 = load ptr, ptr %t0 %t48 = getelementptr inbounds %Cmp_Node, ptr %t47, i32 0, i32 1 %t49 = load ptr, ptr %t48 %t50 = icmp eq ptr %t49, null %t51 = zext i1 %t50 to i32 %t52 = icmp ne i32 %t51, 0 %t53 = zext i1 %t52 to i32 store i32 %t53, ptr %t2 br label %scend7 scend7: %t54 = load i32, ptr %t2 %t55 = icmp ne i32 %t54, 0 br i1 %t55, label %then8, label %ifend10 then8: store i32 0, ptr %retval br label %ret ifend10: %t56 = load ptr, ptr %t0 %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 1 %t60 = load ptr, ptr %t59 %t61 = call i32 @fn_dr_index(ptr %t60) store i32 %t61, ptr %t62 %t63 = load i32, ptr %t62 %t64 = icmp slt i32 %t63, 0 %t65 = zext i1 %t64 to i32 %t66 = icmp ne i32 %t65, 0 br i1 %t66, label %then11, label %ifend13 then11: store i32 0, ptr %retval br label %ret ifend13: %t67 = load ptr, ptr @g_g_dr_node %t68 = load i32, ptr %t62 %t69 = getelementptr inbounds %LSlice, ptr %t67, i32 0, i32 0 %t70 = load ptr, ptr %t69 %t71 = getelementptr inbounds %LSlice, ptr %t67, i32 0, i32 1 %t72 = load i32, ptr %t71 %t73 = icmp ult i32 %t68, %t72 br i1 %t73, label %ixok14, label %ixbad15 ixbad15: store i32 4727, ptr @lp_site %t74 = call ptr @lp_win_stdio(i32 2) store i32 0, ptr @lp_site call i32 (ptr, ptr, ...) @fprintf(ptr %t74, ptr @.fmt_bounds, ptr @.str7754, i32 %t68, i32 %t72) call void @exit(i32 1) unreachable ixok14: %t75 = getelementptr inbounds ptr, ptr %t70, i32 %t68 %t76 = load ptr, ptr %t75 store ptr %t76, ptr %t77 %t78 = load ptr, ptr %t77 %t79 = call i32 @fn_is_port_var(ptr %t78) %t80 = icmp eq i32 %t79, 0 %t81 = zext i1 %t80 to i32 %t82 = icmp ne i32 %t81, 0 br i1 %t82, label %then16, label %ifend18 then16: store i32 0, ptr %retval br label %ret ifend18: %t85 = load ptr, ptr %t77 %t86 = getelementptr inbounds %Cmp_Node, ptr %t85, i32 0, i32 4 %t87 = load ptr, ptr %t86 %t88 = icmp ne ptr %t87, null %t89 = zext i1 %t88 to i32 %t90 = icmp ne i32 %t89, 0 %t91 = zext i1 %t90 to i32 store i32 %t91, ptr %t84 br i1 %t90, label %sc19, label %scend20 sc19: %t92 = load ptr, ptr %t77 %t93 = getelementptr inbounds %Cmp_Node, ptr %t92, i32 0, i32 4 %t94 = load ptr, ptr %t93 %t95 = getelementptr inbounds %Cmp_Node, ptr %t94, i32 0, i32 0 %t96 = load i32, ptr %t95 %t97 = icmp eq i32 %t96, 39 %t98 = zext i1 %t97 to i32 %t99 = icmp ne i32 %t98, 0 %t100 = zext i1 %t99 to i32 store i32 %t100, ptr %t84 br label %scend20 scend20: %t101 = load i32, ptr %t84 %t102 = icmp ne i32 %t101, 0 %t103 = zext i1 %t102 to i32 store i32 %t103, ptr %t83 br i1 %t102, label %sc21, label %scend22 sc21: %t104 = load ptr, ptr %t77 %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 4 %t108 = load ptr, ptr %t107 %t109 = icmp ne ptr %t108, null %t110 = zext i1 %t109 to i32 %t111 = icmp ne i32 %t110, 0 %t112 = zext i1 %t111 to i32 store i32 %t112, ptr %t83 br label %scend22 scend22: %t113 = load i32, ptr %t83 %t114 = icmp ne i32 %t113, 0 br i1 %t114, label %then23, label %ifend25 then23: %t115 = load ptr, ptr %t77 %t116 = getelementptr inbounds %Cmp_Node, ptr %t115, i32 0, i32 4 %t117 = load ptr, ptr %t116 %t118 = getelementptr inbounds %Cmp_Node, ptr %t117, i32 0, i32 4 %t119 = load ptr, ptr %t118 store ptr %t119, ptr %t120 store i32 0, ptr %t121 br label %wcond26 wcond26: %t122 = load i32, ptr %t121 %t123 = load ptr, ptr %t120 %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 1 %t127 = load i32, ptr %t126 %t128 = icmp slt i32 %t122, %t127 %t129 = zext i1 %t128 to i32 %t130 = icmp ne i32 %t129, 0 br i1 %t130, label %wbody27, label %wend28 wbody27: %t131 = load ptr, ptr %t120 %t132 = getelementptr inbounds %Cmp_Node, ptr %t131, i32 0, i32 7 %t133 = load ptr, ptr %t132 %t134 = load i32, ptr %t121 %t135 = getelementptr inbounds %LSlice, ptr %t133, i32 0, i32 0 %t136 = load ptr, ptr %t135 %t137 = getelementptr inbounds %LSlice, ptr %t133, i32 0, i32 1 %t138 = load i32, ptr %t137 %t139 = icmp ult i32 %t134, %t138 br i1 %t139, label %ixok29, label %ixbad30 ixbad30: store i32 4728, ptr @lp_site %t140 = call ptr @lp_win_stdio(i32 2) store i32 0, ptr @lp_site call i32 (ptr, ptr, ...) @fprintf(ptr %t140, ptr @.fmt_bounds, ptr @.str7756, i32 %t134, i32 %t138) call void @exit(i32 1) unreachable ixok29: %t141 = getelementptr inbounds ptr, ptr %t136, i32 %t134 %t142 = load ptr, ptr %t141 %t143 = getelementptr inbounds %Cmp_Node, ptr %t142, i32 0, i32 1 %t144 = load ptr, ptr %t143 %t145 = load ptr, ptr %t0 %t146 = getelementptr inbounds %Cmp_Node, ptr %t145, i32 0, i32 1 %t147 = load ptr, ptr %t146 %t148 = call i32 @lp_str_eq(ptr %t144, ptr %t147) %t149 = icmp ne i32 %t148, 0 br i1 %t149, label %then31, label %ifend33 then31: %t150 = load ptr, ptr %t120 %t151 = getelementptr inbounds %Cmp_Node, ptr %t150, i32 0, i32 7 %t152 = load ptr, ptr %t151 %t153 = load i32, ptr %t121 %t154 = getelementptr inbounds %LSlice, ptr %t152, i32 0, i32 0 %t155 = load ptr, ptr %t154 %t156 = getelementptr inbounds %LSlice, ptr %t152, i32 0, i32 1 %t157 = load i32, ptr %t156 %t158 = icmp ult i32 %t153, %t157 br i1 %t158, label %ixok34, label %ixbad35 ixbad35: store i32 4729, ptr @lp_site %t159 = call ptr @lp_win_stdio(i32 2) store i32 0, ptr @lp_site call i32 (ptr, ptr, ...) @fprintf(ptr %t159, ptr @.fmt_bounds, ptr @.str7757, i32 %t153, i32 %t157) call void @exit(i32 1) unreachable ixok34: %t160 = getelementptr inbounds ptr, ptr %t155, i32 %t153 %t161 = load ptr, ptr %t160 %t162 = getelementptr inbounds %Cmp_Node, ptr %t161, i32 0, i32 4 %t163 = load ptr, ptr %t162 %t164 = load ptr, ptr %t1 call void @fn_dr_walk(ptr %t163, ptr %t164) store i32 1, ptr %retval br label %ret ifend33: %t165 = load i32, ptr %t121 %t166 = add i32 %t165, 1 store i32 %t166, ptr %t121 br label %wcond26 wend28: br label %ifend25 ifend25: %t167 = load ptr, ptr @g_g_pt_comp %t168 = load ptr, ptr %t77 %t169 = getelementptr inbounds %Cmp_Node, ptr %t168, i32 0, i32 1 %t170 = load ptr, ptr %t169 %t171 = call i32 @fn_port_find(ptr %t170) %t172 = getelementptr inbounds %LSlice, ptr %t167, i32 0, i32 0 %t173 = load ptr, ptr %t172 %t174 = getelementptr inbounds %LSlice, ptr %t167, i32 0, i32 1 %t175 = load i32, ptr %t174 %t176 = icmp ult i32 %t171, %t175 br i1 %t176, label %ixok36, label %ixbad37 ixbad37: store i32 4730, ptr @lp_site %t177 = call ptr @lp_win_stdio(i32 2) store i32 0, ptr @lp_site call i32 (ptr, ptr, ...) @fprintf(ptr %t177, ptr @.fmt_bounds, ptr @.str7758, i32 %t171, i32 %t175) call void @exit(i32 1) unreachable ixok36: %t178 = getelementptr inbounds ptr, ptr %t173, i32 %t171 %t179 = load ptr, ptr %t178 store ptr %t179, ptr %t180 store i32 0, ptr %t181 br label %wcond38 wcond38: %t182 = load i32, ptr %t181 %t183 = load ptr, ptr %t180 %t184 = getelementptr inbounds %Cmp_Node, ptr %t183, i32 0, i32 7 %t185 = load ptr, ptr %t184 %t186 = getelementptr inbounds %LSlice, ptr %t185, i32 0, i32 1 %t187 = load i32, ptr %t186 %t188 = icmp slt i32 %t182, %t187 %t189 = zext i1 %t188 to i32 %t190 = icmp ne i32 %t189, 0 br i1 %t190, label %wbody39, label %wend40 wbody39: %t191 = load ptr, ptr %t180 %t192 = getelementptr inbounds %Cmp_Node, ptr %t191, i32 0, i32 7 %t193 = load ptr, ptr %t192 %t194 = load i32, ptr %t181 %t195 = getelementptr inbounds %LSlice, ptr %t193, i32 0, i32 0 %t196 = load ptr, ptr %t195 %t197 = getelementptr inbounds %LSlice, ptr %t193, i32 0, i32 1 %t198 = load i32, ptr %t197 %t199 = icmp ult i32 %t194, %t198 br i1 %t199, label %ixok41, label %ixbad42 ixbad42: store i32 4731, ptr @lp_site %t200 = call ptr @lp_win_stdio(i32 2) store i32 0, ptr @lp_site call i32 (ptr, ptr, ...) @fprintf(ptr %t200, ptr @.fmt_bounds, ptr @.str7759, i32 %t194, i32 %t198) call void @exit(i32 1) unreachable ixok41: %t201 = getelementptr inbounds ptr, ptr %t196, i32 %t194 %t202 = load ptr, ptr %t201 %t203 = getelementptr inbounds %Cmp_Node, ptr %t202, i32 0, i32 1 %t204 = load ptr, ptr %t203 %t205 = load ptr, ptr %t0 %t206 = getelementptr inbounds %Cmp_Node, ptr %t205, i32 0, i32 1 %t207 = load ptr, ptr %t206 %t208 = call i32 @lp_str_eq(ptr %t204, ptr %t207) %t209 = icmp ne i32 %t208, 0 br i1 %t209, label %then43, label %ifend45 then43: %t210 = load ptr, ptr %t180 %t211 = getelementptr inbounds %Cmp_Node, ptr %t210, i32 0, i32 7 %t212 = load ptr, ptr %t211 %t213 = load i32, ptr %t181 %t214 = getelementptr inbounds %LSlice, ptr %t212, i32 0, i32 0 %t215 = load ptr, ptr %t214 %t216 = getelementptr inbounds %LSlice, ptr %t212, i32 0, i32 1 %t217 = load i32, ptr %t216 %t218 = icmp ult i32 %t213, %t217 br i1 %t218, label %ixok46, label %ixbad47 ixbad47: store i32 4732, ptr @lp_site %t219 = call ptr @lp_win_stdio(i32 2) store i32 0, ptr @lp_site call i32 (ptr, ptr, ...) @fprintf(ptr %t219, ptr @.fmt_bounds, ptr @.str7760, i32 %t213, i32 %t217) call void @exit(i32 1) unreachable ixok46: %t220 = getelementptr inbounds ptr, ptr %t215, i32 %t213 %t221 = load ptr, ptr %t220 %t222 = getelementptr inbounds %Cmp_Node, ptr %t221, i32 0, i32 4 %t223 = load ptr, ptr %t222 %t224 = load ptr, ptr %t1 call void @fn_dr_walk(ptr %t223, ptr %t224) br label %ifend45 ifend45: %t225 = load i32, ptr %t181 %t226 = add i32 %t225, 1 store i32 %t226, ptr %t181 br label %wcond38 wend40: store i32 1, ptr %retval br label %ret ret: %t227 = load i32, ptr %retval ret i32 %t227 } define ptr @fn_dr_reg_local(ptr %arg_name) { entry: %retval = alloca ptr %t0 = alloca ptr %t5 = alloca i32 store ptr %arg_name, ptr %t0 %t1 = load ptr, ptr @g_g_dr_rl_name %t2 = getelementptr inbounds %LSlice, ptr %t1, i32 0, i32 1 %t3 = load i32, ptr %t2 %t4 = sub i32 %t3, 1 store i32 %t4, ptr %t5 br label %wcond0 wcond0: %t6 = load i32, ptr %t5 %t7 = icmp sge 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 ptr, ptr @g_g_dr_rl_name %t11 = load i32, ptr %t5 %t12 = getelementptr inbounds %LSlice, ptr %t10, i32 0, i32 0 %t13 = load ptr, ptr %t12 %t14 = getelementptr inbounds %LSlice, ptr %t10, i32 0, i32 1 %t15 = load i32, ptr %t14 %t16 = icmp ult i32 %t11, %t15 br i1 %t16, label %ixok3, label %ixbad4 ixbad4: store i32 4733, ptr @lp_site %t17 = call ptr @lp_win_stdio(i32 2) store i32 0, ptr @lp_site call i32 (ptr, ptr, ...) @fprintf(ptr %t17, ptr @.fmt_bounds, ptr @.str7761, i32 %t11, i32 %t15) call void @exit(i32 1) unreachable ixok3: %t18 = getelementptr inbounds ptr, ptr %t13, i32 %t11 %t19 = load ptr, ptr %t18 %t20 = load ptr, ptr %t0 %t21 = call i32 @lp_str_eq(ptr %t19, ptr %t20) %t22 = icmp ne i32 %t21, 0 br i1 %t22, label %then5, label %ifend7 then5: %t23 = load ptr, ptr @g_g_dr_rl_reg %t24 = load i32, ptr %t5 %t25 = getelementptr inbounds %LSlice, ptr %t23, i32 0, i32 0 %t26 = load ptr, ptr %t25 %t27 = getelementptr inbounds %LSlice, ptr %t23, i32 0, i32 1 %t28 = load i32, ptr %t27 %t29 = icmp ult i32 %t24, %t28 br i1 %t29, label %ixok8, label %ixbad9 ixbad9: store i32 4734, ptr @lp_site %t30 = call ptr @lp_win_stdio(i32 2) store i32 0, ptr @lp_site call i32 (ptr, ptr, ...) @fprintf(ptr %t30, ptr @.fmt_bounds, ptr @.str7763, i32 %t24, i32 %t28) call void @exit(i32 1) unreachable ixok8: %t31 = getelementptr inbounds ptr, ptr %t26, i32 %t24 %t32 = load ptr, ptr %t31 store ptr %t32, ptr %retval br label %ret ifend7: %t33 = load i32, ptr %t5 %t34 = sub i32 %t33, 1 store i32 %t34, ptr %t5 br label %wcond0 wend2: store ptr null, ptr %retval br label %ret ret: %t35 = load ptr, ptr %retval ret ptr %t35 } define i32 @fn_dr_reg_field(ptr %arg_n, ptr %arg_refs) { entry: %retval = alloca i32 %t0 = alloca ptr %t1 = alloca ptr %t2 = alloca i32 %t3 = alloca i32 %t30 = alloca ptr %t31 = alloca i32 %t32 = alloca i32 %t33 = alloca i32 %t34 = alloca i32 %t111 = alloca i32 %t112 = alloca i32 %t153 = alloca i32 %t168 = alloca ptr %t169 = alloca i32 %t170 = alloca i32 %t199 = alloca i32 %t225 = alloca ptr %t226 = alloca i32 %t243 = alloca i32 %t276 = alloca i32 store ptr %arg_n, ptr %t0 store ptr %arg_refs, ptr %t1 %t4 = load ptr, ptr %t0 %t5 = getelementptr inbounds %Cmp_Node, ptr %t4, i32 0, i32 0 %t6 = load i32, ptr %t5 %t7 = icmp ne i32 %t6, 35 %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 %scend1, label %sc0 sc0: %t11 = load ptr, ptr %t0 %t12 = getelementptr inbounds %Cmp_Node, ptr %t11, i32 0, i32 1 %t13 = load ptr, ptr %t12 %t14 = icmp eq 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 %t3 br label %scend1 scend1: %t18 = load i32, ptr %t3 %t19 = icmp ne i32 %t18, 0 %t20 = zext i1 %t19 to i32 store i32 %t20, ptr %t2 br i1 %t19, label %scend3, label %sc2 sc2: %t21 = load ptr, ptr %t0 %t22 = getelementptr inbounds %Cmp_Node, ptr %t21, i32 0, i32 4 %t23 = load ptr, ptr %t22 %t24 = icmp eq ptr %t23, null %t25 = zext i1 %t24 to i32 %t26 = icmp ne i32 %t25, 0 %t27 = zext i1 %t26 to i32 store i32 %t27, ptr %t2 br label %scend3 scend3: %t28 = load i32, ptr %t2 %t29 = icmp ne i32 %t28, 0 br i1 %t29, label %then4, label %ifend6 then4: store i32 0, ptr %retval br label %ret ifend6: store ptr null, ptr %t30 %t35 = load ptr, ptr %t0 %t36 = getelementptr inbounds %Cmp_Node, ptr %t35, i32 0, i32 4 %t37 = load ptr, ptr %t36 %t38 = getelementptr inbounds %Cmp_Node, ptr %t37, i32 0, i32 0 %t39 = load i32, ptr %t38 %t40 = icmp eq i32 %t39, 36 %t41 = zext i1 %t40 to i32 %t42 = icmp ne i32 %t41, 0 %t43 = zext i1 %t42 to i32 store i32 %t43, ptr %t34 br i1 %t42, label %sc7, label %scend8 sc7: %t44 = load ptr, ptr %t0 %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 4 %t48 = load ptr, ptr %t47 %t49 = icmp ne ptr %t48, null %t50 = zext i1 %t49 to i32 %t51 = icmp ne i32 %t50, 0 %t52 = zext i1 %t51 to i32 store i32 %t52, ptr %t34 br label %scend8 scend8: %t53 = load i32, ptr %t34 %t54 = icmp ne i32 %t53, 0 %t55 = zext i1 %t54 to i32 store i32 %t55, ptr %t33 br i1 %t54, label %sc9, label %scend10 sc9: %t56 = load ptr, ptr %t0 %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 4 %t60 = load ptr, ptr %t59 %t61 = getelementptr inbounds %Cmp_Node, ptr %t60, i32 0, i32 0 %t62 = load i32, ptr %t61 %t63 = icmp eq i32 %t62, 33 %t64 = zext i1 %t63 to i32 %t65 = icmp ne i32 %t64, 0 %t66 = zext i1 %t65 to i32 store i32 %t66, ptr %t33 br label %scend10 scend10: %t67 = load i32, ptr %t33 %t68 = icmp ne i32 %t67, 0 %t69 = zext i1 %t68 to i32 store i32 %t69, ptr %t32 br i1 %t68, label %sc11, label %scend12 sc11: %t70 = load ptr, ptr %t0 %t71 = getelementptr inbounds %Cmp_Node, ptr %t70, i32 0, i32 4 %t72 = load ptr, ptr %t71 %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 1 %t76 = load ptr, ptr %t75 %t77 = icmp ne ptr %t76, null %t78 = zext i1 %t77 to i32 %t79 = icmp ne i32 %t78, 0 %t80 = zext i1 %t79 to i32 store i32 %t80, ptr %t32 br label %scend12 scend12: %t81 = load i32, ptr %t32 %t82 = icmp ne i32 %t81, 0 %t83 = zext i1 %t82 to i32 store i32 %t83, ptr %t31 br i1 %t82, label %sc13, label %scend14 sc13: %t84 = load ptr, ptr %t0 %t85 = getelementptr inbounds %Cmp_Node, ptr %t84, i32 0, i32 4 %t86 = load ptr, ptr %t85 %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 1 %t90 = load ptr, ptr %t89 %t91 = call i32 @fn_reg_find(ptr %t90) %t92 = icmp sge 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 %t31 br label %scend14 scend14: %t96 = load i32, ptr %t31 %t97 = icmp ne i32 %t96, 0 br i1 %t97, label %then15, label %ifend17 then15: %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 4 %t102 = load ptr, ptr %t101 %t103 = getelementptr inbounds %Cmp_Node, ptr %t102, i32 0, i32 1 %t104 = load ptr, ptr %t103 store ptr %t104, ptr %t30 %t105 = load ptr, ptr %t0 %t106 = getelementptr inbounds %Cmp_Node, ptr %t105, i32 0, i32 4 %t107 = load ptr, ptr %t106 %t108 = getelementptr inbounds %Cmp_Node, ptr %t107, i32 0, i32 5 %t109 = load ptr, ptr %t108 %t110 = load ptr, ptr %t1 call void @fn_dr_walk(ptr %t109, ptr %t110) br label %ifend17 ifend17: %t113 = load ptr, ptr %t30 %t114 = icmp eq ptr %t113, null %t115 = zext i1 %t114 to i32 %t116 = icmp ne i32 %t115, 0 %t117 = zext i1 %t116 to i32 store i32 %t117, ptr %t112 br i1 %t116, label %sc18, label %scend19 sc18: %t118 = load ptr, ptr %t0 %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 0 %t122 = load i32, ptr %t121 %t123 = icmp eq i32 %t122, 33 %t124 = zext i1 %t123 to i32 %t125 = icmp ne i32 %t124, 0 %t126 = zext i1 %t125 to i32 store i32 %t126, ptr %t112 br label %scend19 scend19: %t127 = load i32, ptr %t112 %t128 = icmp ne i32 %t127, 0 %t129 = zext i1 %t128 to i32 store i32 %t129, ptr %t111 br i1 %t128, label %sc20, label %scend21 sc20: %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 1 %t134 = load ptr, ptr %t133 %t135 = icmp ne ptr %t134, null %t136 = zext i1 %t135 to i32 %t137 = icmp ne i32 %t136, 0 %t138 = zext i1 %t137 to i32 store i32 %t138, ptr %t111 br label %scend21 scend21: %t139 = load i32, ptr %t111 %t140 = icmp ne i32 %t139, 0 br i1 %t140, label %then22, label %ifend24 then22: %t141 = load ptr, ptr %t0 %t142 = getelementptr inbounds %Cmp_Node, ptr %t141, i32 0, i32 4 %t143 = load ptr, ptr %t142 %t144 = getelementptr inbounds %Cmp_Node, ptr %t143, i32 0, i32 1 %t145 = load ptr, ptr %t144 %t146 = call ptr @fn_dr_reg_local(ptr %t145) store ptr %t146, ptr %t30 br label %ifend24 ifend24: %t147 = load ptr, ptr %t30 %t148 = icmp eq ptr %t147, null %t149 = zext i1 %t148 to i32 %t150 = icmp ne i32 %t149, 0 br i1 %t150, label %then25, label %ifend27 then25: store i32 0, ptr %retval br label %ret ifend27: %t151 = load ptr, ptr %t30 %t152 = call i32 @fn_dr_index(ptr %t151) store i32 %t152, ptr %t153 %t154 = load i32, ptr %t153 %t155 = icmp slt i32 %t154, 0 %t156 = zext i1 %t155 to i32 %t157 = icmp ne i32 %t156, 0 br i1 %t157, label %then28, label %ifend30 then28: store i32 0, ptr %retval br label %ret ifend30: %t158 = load ptr, ptr @g_g_dr_node %t159 = load i32, ptr %t153 %t160 = getelementptr inbounds %LSlice, ptr %t158, i32 0, i32 0 %t161 = load ptr, ptr %t160 %t162 = getelementptr inbounds %LSlice, ptr %t158, i32 0, i32 1 %t163 = load i32, ptr %t162 %t164 = icmp ult i32 %t159, %t163 br i1 %t164, label %ixok31, label %ixbad32 ixbad32: store i32 4735, ptr @lp_site %t165 = call ptr @lp_win_stdio(i32 2) store i32 0, ptr @lp_site call i32 (ptr, ptr, ...) @fprintf(ptr %t165, ptr @.fmt_bounds, ptr @.str7764, i32 %t159, i32 %t163) call void @exit(i32 1) unreachable ixok31: %t166 = getelementptr inbounds ptr, ptr %t161, i32 %t159 %t167 = load ptr, ptr %t166 store ptr %t167, ptr %t168 %t171 = load ptr, ptr %t168 %t172 = getelementptr inbounds %Cmp_Node, ptr %t171, i32 0, i32 0 %t173 = load i32, ptr %t172 %t174 = icmp ne i32 %t173, 2 %t175 = zext i1 %t174 to i32 %t176 = icmp ne i32 %t175, 0 %t177 = zext i1 %t176 to i32 store i32 %t177, ptr %t170 br i1 %t176, label %scend34, label %sc33 sc33: %t178 = load ptr, ptr %t168 %t179 = getelementptr inbounds %Cmp_Node, ptr %t178, i32 0, i32 4 %t180 = load ptr, ptr %t179 %t181 = icmp eq ptr %t180, null %t182 = zext i1 %t181 to i32 %t183 = icmp ne i32 %t182, 0 %t184 = zext i1 %t183 to i32 store i32 %t184, ptr %t170 br label %scend34 scend34: %t185 = load i32, ptr %t170 %t186 = icmp ne i32 %t185, 0 %t187 = zext i1 %t186 to i32 store i32 %t187, ptr %t169 br i1 %t186, label %scend36, label %sc35 sc35: %t188 = load ptr, ptr %t168 %t189 = getelementptr inbounds %Cmp_Node, ptr %t188, i32 0, i32 4 %t190 = load ptr, ptr %t189 %t191 = getelementptr inbounds %Cmp_Node, ptr %t190, i32 0, i32 0 %t192 = load i32, ptr %t191 %t193 = icmp ne i32 %t192, 54 %t194 = zext i1 %t193 to i32 %t195 = icmp ne i32 %t194, 0 %t196 = zext i1 %t195 to i32 store i32 %t196, ptr %t169 br label %scend36 scend36: %t197 = load i32, ptr %t169 %t198 = icmp ne i32 %t197, 0 br i1 %t198, label %then37, label %ifend39 then37: store i32 0, ptr %retval br label %ret ifend39: store i32 0, ptr %t199 br label %wcond40 wcond40: %t200 = load i32, ptr %t199 %t201 = load ptr, ptr %t168 %t202 = getelementptr inbounds %Cmp_Node, ptr %t201, i32 0, i32 4 %t203 = load ptr, ptr %t202 %t204 = getelementptr inbounds %Cmp_Node, ptr %t203, i32 0, i32 7 %t205 = load ptr, ptr %t204 %t206 = getelementptr inbounds %LSlice, ptr %t205, i32 0, i32 1 %t207 = load i32, ptr %t206 %t208 = icmp slt i32 %t200, %t207 %t209 = zext i1 %t208 to i32 %t210 = icmp ne i32 %t209, 0 br i1 %t210, label %wbody41, label %wend42 wbody41: %t211 = load ptr, ptr %t168 %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 7 %t215 = load ptr, ptr %t214 %t216 = load i32, ptr %t199 %t217 = getelementptr inbounds %LSlice, ptr %t215, i32 0, i32 0 %t218 = load ptr, ptr %t217 %t219 = getelementptr inbounds %LSlice, ptr %t215, i32 0, i32 1 %t220 = load i32, ptr %t219 %t221 = icmp ult i32 %t216, %t220 br i1 %t221, label %ixok43, label %ixbad44 ixbad44: store i32 4736, ptr @lp_site %t222 = call ptr @lp_win_stdio(i32 2) store i32 0, ptr @lp_site call i32 (ptr, ptr, ...) @fprintf(ptr %t222, ptr @.fmt_bounds, ptr @.str7766, i32 %t216, i32 %t220) call void @exit(i32 1) unreachable ixok43: %t223 = getelementptr inbounds ptr, ptr %t218, i32 %t216 %t224 = load ptr, ptr %t223 store ptr %t224, ptr %t225 %t227 = load ptr, ptr %t225 %t228 = getelementptr inbounds %Cmp_Node, ptr %t227, i32 0, i32 0 %t229 = load i32, ptr %t228 %t230 = icmp eq i32 %t229, 39 %t231 = zext i1 %t230 to i32 %t232 = icmp ne i32 %t231, 0 %t233 = zext i1 %t232 to i32 store i32 %t233, ptr %t226 br i1 %t232, label %sc45, label %scend46 sc45: %t234 = load ptr, ptr %t225 %t235 = getelementptr inbounds %Cmp_Node, ptr %t234, i32 0, i32 4 %t236 = load ptr, ptr %t235 %t237 = icmp ne ptr %t236, null %t238 = zext i1 %t237 to i32 %t239 = icmp ne i32 %t238, 0 %t240 = zext i1 %t239 to i32 store i32 %t240, ptr %t226 br label %scend46 scend46: %t241 = load i32, ptr %t226 %t242 = icmp ne i32 %t241, 0 br i1 %t242, label %then47, label %ifend49 then47: store i32 0, ptr %t243 br label %wcond50 wcond50: %t244 = load i32, ptr %t243 %t245 = load ptr, ptr %t225 %t246 = getelementptr inbounds %Cmp_Node, ptr %t245, i32 0, i32 4 %t247 = load ptr, ptr %t246 %t248 = getelementptr inbounds %Cmp_Node, ptr %t247, i32 0, i32 7 %t249 = load ptr, ptr %t248 %t250 = getelementptr inbounds %LSlice, ptr %t249, i32 0, i32 1 %t251 = load i32, ptr %t250 %t252 = icmp slt i32 %t244, %t251 %t253 = zext i1 %t252 to i32 %t254 = icmp ne i32 %t253, 0 br i1 %t254, label %wbody51, label %wend52 wbody51: %t255 = load ptr, ptr %t225 %t256 = getelementptr inbounds %Cmp_Node, ptr %t255, i32 0, i32 4 %t257 = load ptr, ptr %t256 %t258 = getelementptr inbounds %Cmp_Node, ptr %t257, i32 0, i32 7 %t259 = load ptr, ptr %t258 %t260 = load i32, ptr %t243 %t261 = getelementptr inbounds %LSlice, ptr %t259, i32 0, i32 0 %t262 = load ptr, ptr %t261 %t263 = getelementptr inbounds %LSlice, ptr %t259, i32 0, i32 1 %t264 = load i32, ptr %t263 %t265 = icmp ult i32 %t260, %t264 br i1 %t265, label %ixok53, label %ixbad54 ixbad54: store i32 4737, ptr @lp_site %t266 = call ptr @lp_win_stdio(i32 2) store i32 0, ptr @lp_site call i32 (ptr, ptr, ...) @fprintf(ptr %t266, ptr @.fmt_bounds, ptr @.str7767, i32 %t260, i32 %t264) call void @exit(i32 1) unreachable ixok53: %t267 = getelementptr inbounds ptr, ptr %t262, i32 %t260 %t268 = load ptr, ptr %t267 %t269 = getelementptr inbounds %Cmp_Node, ptr %t268, i32 0, i32 1 %t270 = load ptr, ptr %t269 %t271 = load ptr, ptr %t0 %t272 = getelementptr inbounds %Cmp_Node, ptr %t271, i32 0, i32 1 %t273 = load ptr, ptr %t272 %t274 = call i32 @lp_str_eq(ptr %t270, ptr %t273) %t275 = icmp ne i32 %t274, 0 br i1 %t275, label %then55, label %ifend57 then55: %t277 = load ptr, ptr %t225 %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 7 %t281 = load ptr, ptr %t280 %t282 = load i32, ptr %t243 %t283 = getelementptr inbounds %LSlice, ptr %t281, i32 0, i32 0 %t284 = load ptr, ptr %t283 %t285 = getelementptr inbounds %LSlice, ptr %t281, i32 0, i32 1 %t286 = load i32, ptr %t285 %t287 = icmp ult i32 %t282, %t286 br i1 %t287, label %ixok58, label %ixbad59 ixbad59: store i32 4738, ptr @lp_site %t288 = call ptr @lp_win_stdio(i32 2) store i32 0, ptr @lp_site call i32 (ptr, ptr, ...) @fprintf(ptr %t288, ptr @.fmt_bounds, ptr @.str7768, i32 %t282, i32 %t286) call void @exit(i32 1) unreachable ixok58: %t289 = getelementptr inbounds ptr, ptr %t284, i32 %t282 %t290 = load ptr, ptr %t289 %t291 = getelementptr inbounds %Cmp_Node, ptr %t290, i32 0, i32 4 %t292 = load ptr, ptr %t291 %t293 = icmp ne ptr %t292, null %t294 = zext i1 %t293 to i32 %t295 = icmp ne i32 %t294, 0 %t296 = zext i1 %t295 to i32 store i32 %t296, ptr %t276 br i1 %t295, label %sc60, label %scend61 sc60: %t297 = load ptr, ptr %t225 %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 7 %t301 = load ptr, ptr %t300 %t302 = load i32, ptr %t243 %t303 = getelementptr inbounds %LSlice, ptr %t301, i32 0, i32 0 %t304 = load ptr, ptr %t303 %t305 = getelementptr inbounds %LSlice, ptr %t301, i32 0, i32 1 %t306 = load i32, ptr %t305 %t307 = icmp ult i32 %t302, %t306 br i1 %t307, label %ixok62, label %ixbad63 ixbad63: store i32 4739, ptr @lp_site %t308 = call ptr @lp_win_stdio(i32 2) store i32 0, ptr @lp_site call i32 (ptr, ptr, ...) @fprintf(ptr %t308, ptr @.fmt_bounds, ptr @.str7769, i32 %t302, i32 %t306) call void @exit(i32 1) unreachable ixok62: %t309 = getelementptr inbounds ptr, ptr %t304, i32 %t302 %t310 = load ptr, ptr %t309 %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 0 %t314 = load i32, ptr %t313 %t315 = icmp eq i32 %t314, 55 %t316 = zext i1 %t315 to i32 %t317 = icmp ne i32 %t316, 0 %t318 = zext i1 %t317 to i32 store i32 %t318, ptr %t276 br label %scend61 scend61: %t319 = load i32, ptr %t276 %t320 = icmp ne i32 %t319, 0 br i1 %t320, label %then64, label %ifend66 then64: store i32 1, ptr @g_g_dr_disp br label %ifend66 ifend66: %t321 = load ptr, ptr %t225 %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 7 %t325 = load ptr, ptr %t324 %t326 = load i32, ptr %t243 %t327 = getelementptr inbounds %LSlice, ptr %t325, i32 0, i32 0 %t328 = load ptr, ptr %t327 %t329 = getelementptr inbounds %LSlice, ptr %t325, i32 0, i32 1 %t330 = load i32, ptr %t329 %t331 = icmp ult i32 %t326, %t330 br i1 %t331, label %ixok67, label %ixbad68 ixbad68: store i32 4740, ptr @lp_site %t332 = call ptr @lp_win_stdio(i32 2) store i32 0, ptr @lp_site call i32 (ptr, ptr, ...) @fprintf(ptr %t332, ptr @.fmt_bounds, ptr @.str7770, i32 %t326, i32 %t330) call void @exit(i32 1) unreachable ixok67: %t333 = getelementptr inbounds ptr, ptr %t328, i32 %t326 %t334 = load ptr, ptr %t333 %t335 = getelementptr inbounds %Cmp_Node, ptr %t334, i32 0, i32 4 %t336 = load ptr, ptr %t335 %t337 = load ptr, ptr %t1 call void @fn_dr_walk(ptr %t336, ptr %t337) br label %ifend57 ifend57: %t338 = load i32, ptr %t243 %t339 = add i32 %t338, 1 store i32 %t339, ptr %t243 br label %wcond50 wend52: br label %ifend49 ifend49: %t340 = load i32, ptr %t199 %t341 = add i32 %t340, 1 store i32 %t341, ptr %t199 br label %wcond40 wend42: store i32 1, ptr %retval br label %ret ret: %t342 = load i32, ptr %retval ret i32 %t342 } define void @fn_dr_own(ptr %arg_d, ptr %arg_bits, i32 %arg_only_mut) { entry: %t0 = alloca ptr %t1 = alloca ptr %t2 = alloca i32 %t9 = alloca i32 %t19 = alloca i32 %t38 = alloca i32 %t82 = alloca i32 store ptr %arg_d, ptr %t0 store ptr %arg_bits, ptr %t1 store i32 %arg_only_mut, ptr %t2 %t3 = load ptr, ptr %t0 %t4 = getelementptr inbounds %Cmp_Node, ptr %t3, i32 0, i32 0 %t5 = load i32, ptr %t4 %t6 = icmp eq i32 %t5, 4 %t7 = zext i1 %t6 to i32 %t8 = icmp ne i32 %t7, 0 br i1 %t8, label %then0, label %ifend2 then0: store i32 0, ptr %t9 br label %wcond3 wcond3: %t10 = load i32, ptr %t9 %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 1 %t15 = load i32, ptr %t14 %t16 = icmp slt i32 %t10, %t15 %t17 = zext i1 %t16 to i32 %t18 = icmp ne i32 %t17, 0 br i1 %t18, label %wbody4, label %wend5 wbody4: %t20 = load ptr, ptr %t0 %t21 = getelementptr inbounds %Cmp_Node, ptr %t20, i32 0, i32 7 %t22 = load ptr, ptr %t21 %t23 = load i32, ptr %t9 %t24 = getelementptr inbounds %LSlice, ptr %t22, i32 0, i32 0 %t25 = load ptr, ptr %t24 %t26 = getelementptr inbounds %LSlice, ptr %t22, i32 0, i32 1 %t27 = load i32, ptr %t26 %t28 = icmp ult i32 %t23, %t27 br i1 %t28, label %ixok6, label %ixbad7 ixbad7: store i32 4741, ptr @lp_site %t29 = call ptr @lp_win_stdio(i32 2) store i32 0, ptr @lp_site call i32 (ptr, ptr, ...) @fprintf(ptr %t29, ptr @.fmt_bounds, ptr @.str7771, i32 %t23, i32 %t27) call void @exit(i32 1) unreachable ixok6: %t30 = getelementptr inbounds ptr, ptr %t25, i32 %t23 %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, 5 %t35 = zext i1 %t34 to i32 %t36 = icmp ne i32 %t35, 0 %t37 = zext i1 %t36 to i32 store i32 %t37, ptr %t19 br i1 %t36, label %sc8, label %scend9 sc8: %t39 = load i32, ptr %t2 %t40 = icmp eq i32 %t39, 0 %t41 = zext i1 %t40 to i32 %t42 = icmp ne i32 %t41, 0 %t43 = zext i1 %t42 to i32 store i32 %t43, ptr %t38 br i1 %t42, label %scend11, label %sc10 sc10: %t44 = load ptr, ptr %t0 %t45 = getelementptr inbounds %Cmp_Node, ptr %t44, i32 0, i32 7 %t46 = load ptr, ptr %t45 %t47 = load i32, ptr %t9 %t48 = getelementptr inbounds %LSlice, ptr %t46, i32 0, i32 0 %t49 = load ptr, ptr %t48 %t50 = getelementptr inbounds %LSlice, ptr %t46, i32 0, i32 1 %t51 = load i32, ptr %t50 %t52 = icmp ult i32 %t47, %t51 br i1 %t52, label %ixok12, label %ixbad13 ixbad13: store i32 4742, ptr @lp_site %t53 = call ptr @lp_win_stdio(i32 2) store i32 0, ptr @lp_site call i32 (ptr, ptr, ...) @fprintf(ptr %t53, ptr @.fmt_bounds, ptr @.str7773, i32 %t47, i32 %t51) call void @exit(i32 1) unreachable ixok12: %t54 = getelementptr inbounds ptr, ptr %t49, i32 %t47 %t55 = load ptr, ptr %t54 %t56 = getelementptr inbounds %Cmp_Node, ptr %t55, i32 0, i32 12 %t57 = load i32, ptr %t56 %t58 = icmp eq i32 %t57, 1 %t59 = zext i1 %t58 to i32 %t60 = icmp ne i32 %t59, 0 %t61 = zext i1 %t60 to i32 store i32 %t61, ptr %t38 br label %scend11 scend11: %t62 = load i32, ptr %t38 %t63 = icmp ne i32 %t62, 0 %t64 = zext i1 %t63 to i32 store i32 %t64, ptr %t19 br label %scend9 scend9: %t65 = load i32, ptr %t19 %t66 = icmp ne i32 %t65, 0 br i1 %t66, label %then14, label %ifend16 then14: %t67 = load ptr, ptr %t0 %t68 = getelementptr inbounds %Cmp_Node, ptr %t67, i32 0, i32 7 %t69 = load ptr, ptr %t68 %t70 = load i32, ptr %t9 %t71 = getelementptr inbounds %LSlice, ptr %t69, i32 0, i32 0 %t72 = load ptr, ptr %t71 %t73 = getelementptr inbounds %LSlice, ptr %t69, i32 0, i32 1 %t74 = load i32, ptr %t73 %t75 = icmp ult i32 %t70, %t74 br i1 %t75, label %ixok17, label %ixbad18 ixbad18: store i32 4743, ptr @lp_site %t76 = call ptr @lp_win_stdio(i32 2) store i32 0, ptr @lp_site call i32 (ptr, ptr, ...) @fprintf(ptr %t76, ptr @.fmt_bounds, ptr @.str7774, i32 %t70, i32 %t74) call void @exit(i32 1) unreachable ixok17: %t77 = getelementptr inbounds ptr, ptr %t72, i32 %t70 %t78 = load ptr, ptr %t77 %t79 = getelementptr inbounds %Cmp_Node, ptr %t78, i32 0, i32 3 %t80 = load ptr, ptr %t79 %t81 = call i32 @fn_dr_state_ix(ptr %t80) store i32 %t81, ptr %t82 %t83 = load i32, ptr %t82 %t84 = icmp sge i32 %t83, 0 %t85 = zext i1 %t84 to i32 %t86 = icmp ne i32 %t85, 0 br i1 %t86, label %then19, label %ifend21 then19: %t87 = load ptr, ptr %t1 %t88 = load i32, ptr %t82 call void @fn_dr_set(ptr %t87, i32 %t88) br label %ifend21 ifend21: br label %ifend16 ifend16: %t89 = load i32, ptr %t9 %t90 = add i32 %t89, 1 store i32 %t90, ptr %t9 br label %wcond3 wend5: br label %ifend2 ifend2: br label %ret ret: ret void } define i32 @fn_dr_count(ptr %arg_bits) { entry: %retval = alloca i32 %t0 = alloca ptr %t1 = alloca i32 %t2 = alloca i32 %t20 = alloca i32 store ptr %arg_bits, 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 %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 = load i32, ptr %t2 %t12 = getelementptr inbounds %LSlice, ptr %t10, i32 0, i32 0 %t13 = load ptr, ptr %t12 %t14 = getelementptr inbounds %LSlice, ptr %t10, i32 0, i32 1 %t15 = load i32, ptr %t14 %t16 = icmp ult i32 %t11, %t15 br i1 %t16, label %ixok3, label %ixbad4 ixbad4: store i32 4744, ptr @lp_site %t17 = call ptr @lp_win_stdio(i32 2) store i32 0, ptr @lp_site call i32 (ptr, ptr, ...) @fprintf(ptr %t17, ptr @.fmt_bounds, ptr @.str7775, i32 %t11, i32 %t15) call void @exit(i32 1) unreachable ixok3: %t18 = getelementptr inbounds i32, ptr %t13, i32 %t11 %t19 = load i32, ptr %t18 store i32 %t19, ptr %t20 br label %wcond5 wcond5: %t21 = load i32, ptr %t20 %t22 = icmp ne i32 %t21, 0 %t23 = zext i1 %t22 to i32 %t24 = icmp ne i32 %t23, 0 br i1 %t24, label %wbody6, label %wend7 wbody6: %t25 = load i32, ptr %t20 %t26 = and i32 %t25, 1 %t27 = load i32, ptr %t1 %t28 = add i32 %t27, %t26 store i32 %t28, ptr %t1 %t29 = load i32, ptr %t20 %t30 = lshr i32 %t29, 1 store i32 %t30, ptr %t20 br label %wcond5 wend7: %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_dr_join(ptr %arg_mine, ptr %arg_theirs, i32 %arg_nw) { entry: %retval = alloca i32 %t0 = alloca ptr %t1 = alloca ptr %t2 = alloca i32 %t3 = alloca i32 %t4 = alloca i32 %t31 = alloca i32 store ptr %arg_mine, ptr %t0 store ptr %arg_theirs, ptr %t1 store i32 %arg_nw, ptr %t2 store i32 0, ptr %t3 store i32 0, ptr %t4 br label %wcond0 wcond0: %t5 = load i32, ptr %t4 %t6 = load i32, ptr %t2 %t7 = icmp slt i32 %t5, %t6 %t8 = zext i1 %t7 to i32 %t9 = icmp ne i32 %t8, 0 br i1 %t9, label %wbody1, label %wend2 wbody1: %t10 = load ptr, ptr %t0 %t11 = load i32, ptr %t4 %t12 = getelementptr inbounds %LSlice, ptr %t10, i32 0, i32 0 %t13 = load ptr, ptr %t12 %t14 = getelementptr inbounds %LSlice, ptr %t10, i32 0, i32 1 %t15 = load i32, ptr %t14 %t16 = icmp ult i32 %t11, %t15 br i1 %t16, label %ixok3, label %ixbad4 ixbad4: store i32 4745, ptr @lp_site %t17 = call ptr @lp_win_stdio(i32 2) store i32 0, ptr @lp_site call i32 (ptr, ptr, ...) @fprintf(ptr %t17, ptr @.fmt_bounds, ptr @.str7777, i32 %t11, i32 %t15) call void @exit(i32 1) unreachable ixok3: %t18 = getelementptr inbounds i32, ptr %t13, i32 %t11 %t19 = load i32, ptr %t18 %t20 = load ptr, ptr %t1 %t21 = load i32, ptr %t4 %t22 = getelementptr inbounds %LSlice, ptr %t20, i32 0, i32 0 %t23 = load ptr, ptr %t22 %t24 = getelementptr inbounds %LSlice, ptr %t20, i32 0, i32 1 %t25 = load i32, ptr %t24 %t26 = icmp ult i32 %t21, %t25 br i1 %t26, label %ixok5, label %ixbad6 ixbad6: store i32 4746, ptr @lp_site %t27 = call ptr @lp_win_stdio(i32 2) store i32 0, ptr @lp_site call i32 (ptr, ptr, ...) @fprintf(ptr %t27, ptr @.fmt_bounds, ptr @.str7779, i32 %t21, i32 %t25) call void @exit(i32 1) unreachable ixok5: %t28 = getelementptr inbounds i32, ptr %t23, i32 %t21 %t29 = load i32, ptr %t28 %t30 = or i32 %t19, %t29 store i32 %t30, ptr %t31 %t32 = load i32, ptr %t31 %t33 = load ptr, ptr %t0 %t34 = load i32, ptr %t4 %t35 = getelementptr inbounds %LSlice, ptr %t33, i32 0, i32 0 %t36 = load ptr, ptr %t35 %t37 = getelementptr inbounds %LSlice, ptr %t33, i32 0, i32 1 %t38 = load i32, ptr %t37 %t39 = icmp ult i32 %t34, %t38 br i1 %t39, label %ixok7, label %ixbad8 ixbad8: store i32 4747, ptr @lp_site %t40 = call ptr @lp_win_stdio(i32 2) store i32 0, ptr @lp_site call i32 (ptr, ptr, ...) @fprintf(ptr %t40, ptr @.fmt_bounds, ptr @.str7780, i32 %t34, i32 %t38) call void @exit(i32 1) unreachable ixok7: %t41 = getelementptr inbounds i32, ptr %t36, i32 %t34 %t42 = load i32, ptr %t41 %t43 = icmp ne i32 %t32, %t42 %t44 = zext i1 %t43 to i32 %t45 = icmp ne i32 %t44, 0 br i1 %t45, label %then9, label %ifend11 then9: %t46 = load ptr, ptr %t0 %t47 = load i32, ptr %t4 %t48 = getelementptr inbounds %LSlice, ptr %t46, i32 0, i32 0 %t49 = load ptr, ptr %t48 %t50 = getelementptr inbounds %LSlice, ptr %t46, i32 0, i32 1 %t51 = load i32, ptr %t50 %t52 = icmp ult i32 %t47, %t51 br i1 %t52, label %ixok12, label %ixbad13 ixbad13: store i32 4748, ptr @lp_site %t53 = call ptr @lp_win_stdio(i32 2) store i32 0, ptr @lp_site call i32 (ptr, ptr, ...) @fprintf(ptr %t53, ptr @.fmt_bounds, ptr @.str7781, i32 %t47, i32 %t51) call void @exit(i32 1) unreachable ixok12: %t54 = getelementptr inbounds i32, ptr %t49, i32 %t47 %t55 = load i32, ptr %t31 store i32 %t55, ptr %t54 store i32 1, ptr %t3 br label %ifend11 ifend11: %t56 = load i32, ptr %t4 %t57 = add i32 %t56, 1 store i32 %t57, ptr %t4 br label %wcond0 wend2: %t58 = load i32, ptr %t3 store i32 %t58, ptr %retval br label %ret ret: %t59 = load i32, ptr %retval ret i32 %t59 } define void @fn_deps_reach(ptr %arg_f) { entry: %t0 = alloca ptr %t3 = alloca i32 %t21 = alloca ptr %t22 = alloca i32 %t23 = alloca i32 %t31 = alloca i32 %t32 = alloca i32 %t33 = alloca i32 %t119 = alloca ptr %t175 = alloca i32 %t200 = alloca ptr %t234 = alloca ptr %t296 = alloca i32 %t297 = alloca i32 %t311 = alloca ptr %t340 = alloca ptr %t341 = alloca i32 %t342 = alloca i32 %t418 = alloca i32 %t440 = alloca ptr %t441 = alloca i32 %t530 = alloca ptr %t531 = alloca i32 %t595 = alloca ptr %t596 = alloca i32 %t656 = alloca i32 %t676 = alloca ptr %t677 = alloca i32 %t771 = alloca ptr %t772 = alloca i32 %t773 = alloca i32 %t812 = alloca i32 %t813 = alloca i32 %t822 = alloca ptr %t890 = alloca i32 store ptr %arg_f, ptr %t0 %t1 = load ptr, ptr @g_g_dr_find_k %t2 = load ptr, ptr @g_g_dr_find_v call void @fn_ck_tab_init(ptr %t1, 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 = load i32, ptr %t3 %t13 = getelementptr inbounds %LSlice, ptr %t11, i32 0, i32 0 %t14 = load ptr, ptr %t13 %t15 = getelementptr inbounds %LSlice, ptr %t11, i32 0, i32 1 %t16 = load i32, ptr %t15 %t17 = icmp ult i32 %t12, %t16 br i1 %t17, label %ixok3, label %ixbad4 ixbad4: store i32 4749, ptr @lp_site %t18 = call ptr @lp_win_stdio(i32 2) store i32 0, ptr @lp_site call i32 (ptr, ptr, ...) @fprintf(ptr %t18, ptr @.fmt_bounds, ptr @.str7782, i32 %t12, i32 %t16) call void @exit(i32 1) unreachable ixok3: %t19 = getelementptr inbounds ptr, ptr %t14, i32 %t12 %t20 = load ptr, ptr %t19 store ptr %t20, ptr %t21 %t24 = load ptr, ptr %t21 %t25 = getelementptr inbounds %Cmp_Node, ptr %t24, i32 0, i32 1 %t26 = load ptr, ptr %t25 %t27 = icmp ne ptr %t26, null %t28 = zext i1 %t27 to i32 %t29 = icmp ne i32 %t28, 0 %t30 = zext i1 %t29 to i32 store i32 %t30, ptr %t23 br i1 %t29, label %sc5, label %scend6 sc5: %t34 = load ptr, ptr %t21 %t35 = getelementptr inbounds %Cmp_Node, ptr %t34, i32 0, i32 0 %t36 = load i32, ptr %t35 %t37 = icmp eq i32 %t36, 4 %t38 = zext i1 %t37 to i32 %t39 = icmp ne i32 %t38, 0 %t40 = zext i1 %t39 to i32 store i32 %t40, ptr %t33 br i1 %t39, label %scend8, label %sc7 sc7: %t41 = load ptr, ptr %t21 %t42 = getelementptr inbounds %Cmp_Node, 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 %t47 = zext i1 %t46 to i32 store i32 %t47, ptr %t33 br label %scend8 scend8: %t48 = load i32, ptr %t33 %t49 = icmp ne i32 %t48, 0 %t50 = zext i1 %t49 to i32 store i32 %t50, ptr %t32 br i1 %t49, label %scend10, label %sc9 sc9: %t51 = load ptr, ptr %t21 %t52 = getelementptr inbounds %Cmp_Node, ptr %t51, i32 0, i32 0 %t53 = load i32, ptr %t52 %t54 = icmp eq i32 %t53, 3 %t55 = zext i1 %t54 to i32 %t56 = icmp ne i32 %t55, 0 %t57 = zext i1 %t56 to i32 store i32 %t57, ptr %t32 br label %scend10 scend10: %t58 = load i32, ptr %t32 %t59 = icmp ne i32 %t58, 0 %t60 = zext i1 %t59 to i32 store i32 %t60, ptr %t31 br i1 %t59, label %scend12, label %sc11 sc11: %t61 = load ptr, ptr %t21 %t62 = getelementptr inbounds %Cmp_Node, ptr %t61, i32 0, i32 0 %t63 = load i32, ptr %t62 %t64 = icmp eq i32 %t63, 9 %t65 = zext i1 %t64 to i32 %t66 = icmp ne i32 %t65, 0 %t67 = zext i1 %t66 to i32 store i32 %t67, ptr %t31 br label %scend12 scend12: %t68 = load i32, ptr %t31 %t69 = icmp ne i32 %t68, 0 %t70 = zext i1 %t69 to i32 store i32 %t70, ptr %t23 br label %scend6 scend6: %t71 = load i32, ptr %t23 %t72 = icmp ne i32 %t71, 0 %t73 = zext i1 %t72 to i32 store i32 %t73, ptr %t22 br i1 %t72, label %sc13, label %scend14 sc13: %t74 = load ptr, ptr @g_g_dr_find_k %t75 = load ptr, ptr @g_g_dr_find_v %t76 = load ptr, ptr %t21 %t77 = getelementptr inbounds %Cmp_Node, ptr %t76, i32 0, i32 1 %t78 = load ptr, ptr %t77 %t79 = call ptr @fn_ck_tab_get(ptr %t74, ptr %t75, ptr %t78) %t80 = icmp eq ptr %t79, null %t81 = zext i1 %t80 to i32 %t82 = icmp ne i32 %t81, 0 %t83 = zext i1 %t82 to i32 store i32 %t83, ptr %t22 br label %scend14 scend14: %t84 = load i32, ptr %t22 %t85 = icmp ne i32 %t84, 0 br i1 %t85, label %then15, label %ifend17 then15: %t86 = getelementptr %Cmp_Node, ptr null, i32 1 %t87 = ptrtoint ptr %t86 to i64 store i32 4750, ptr @lp_site %t88 = call ptr @lp_malloc(i64 %t87) store i32 0, ptr @lp_site %t89 = getelementptr inbounds %Cmp_Node, ptr %t88, i32 0, i32 0 store i32 0, ptr %t89 %t90 = getelementptr inbounds %Cmp_Node, ptr %t88, i32 0, i32 1 store ptr null, ptr %t90 %t91 = getelementptr inbounds %Cmp_Node, ptr %t88, i32 0, i32 2 store i32 0, ptr %t91 %t92 = getelementptr inbounds %Cmp_Node, ptr %t88, i32 0, i32 3 store ptr null, ptr %t92 %t93 = getelementptr inbounds %Cmp_Node, ptr %t88, i32 0, i32 4 store ptr null, ptr %t93 %t94 = getelementptr inbounds %Cmp_Node, ptr %t88, i32 0, i32 5 store ptr null, ptr %t94 %t95 = getelementptr inbounds %Cmp_Node, ptr %t88, i32 0, i32 6 store ptr null, ptr %t95 %t96 = getelementptr inbounds %Cmp_Node, ptr %t88, i32 0, i32 7 store ptr null, ptr %t96 %t97 = getelementptr inbounds %Cmp_Node, ptr %t88, i32 0, i32 8 store i32 0, ptr %t97 %t98 = getelementptr inbounds %Cmp_Node, ptr %t88, i32 0, i32 9 store ptr null, ptr %t98 %t99 = getelementptr inbounds %Cmp_Node, ptr %t88, i32 0, i32 10 store i32 0, ptr %t99 %t100 = getelementptr inbounds %Cmp_Node, ptr %t88, i32 0, i32 11 store ptr null, ptr %t100 %t101 = getelementptr inbounds %Cmp_Node, ptr %t88, i32 0, i32 12 store i32 0, ptr %t101 %t102 = getelementptr inbounds %Cmp_Node, ptr %t88, i32 0, i32 13 %t103 = sub i32 0, 1 store i32 %t103, ptr %t102 %t104 = getelementptr inbounds %Cmp_Node, ptr %t88, i32 0, i32 14 %t105 = sub i32 0, 1 store i32 %t105, ptr %t104 %t106 = getelementptr inbounds %Cmp_Node, ptr %t88, i32 0, i32 15 %t107 = sub i32 0, 1 store i32 %t107, ptr %t106 %t108 = getelementptr inbounds %Cmp_Node, ptr %t88, i32 0, i32 16 %t109 = sub i32 0, 1 store i32 %t109, ptr %t108 %t110 = getelementptr inbounds %Cmp_Node, ptr %t88, i32 0, i32 17 %t111 = sub i32 0, 1 store i32 %t111, ptr %t110 %t112 = getelementptr inbounds %Cmp_Node, ptr %t88, i32 0, i32 18 store i32 0, ptr %t112 %t113 = getelementptr inbounds %Cmp_Node, ptr %t88, i32 0, i32 19 %t114 = sub i32 0, 1 store i32 %t114, ptr %t113 %t115 = getelementptr inbounds %Cmp_Node, ptr %t88, i32 0, i32 20 %t116 = sub i32 0, 1 store i32 %t116, ptr %t115 %t117 = getelementptr inbounds %Cmp_Node, ptr %t88, i32 0, i32 21 %t118 = sub i32 0, 1 store i32 %t118, ptr %t117 store ptr %t88, ptr %t119 %t120 = load ptr, ptr %t119 %t121 = getelementptr inbounds %Cmp_Node, ptr %t120, i32 0, i32 2 %t122 = load ptr, ptr @g_g_dr_node %t123 = getelementptr inbounds %LSlice, ptr %t122, i32 0, i32 1 %t124 = load i32, ptr %t123 store i32 %t124, ptr %t121 %t125 = load ptr, ptr @g_g_dr_find_k %t126 = load ptr, ptr @g_g_dr_find_v %t127 = load ptr, ptr %t21 %t128 = getelementptr inbounds %Cmp_Node, ptr %t127, i32 0, i32 1 %t129 = load ptr, ptr %t128 %t130 = load ptr, ptr %t119 call void @fn_ck_tab_put(ptr %t125, ptr %t126, ptr %t129, ptr %t130) %t131 = load ptr, ptr @g_g_dr_name %t132 = load ptr, ptr %t21 %t133 = getelementptr inbounds %Cmp_Node, ptr %t132, i32 0, i32 1 %t134 = load ptr, ptr %t133 %t135 = getelementptr inbounds %LSlice, ptr %t131, i32 0, i32 1 %t136 = getelementptr inbounds %LSlice, ptr %t131, i32 0, i32 2 %t137 = getelementptr inbounds %LSlice, ptr %t131, i32 0, i32 0 %t138 = load i32, ptr %t135 %t139 = load i32, ptr %t136 %t140 = icmp sge i32 %t138, %t139 br i1 %t140, label %grow18, label %put19 grow18: %t141 = mul i32 %t139, 2 %t142 = icmp eq i32 %t139, 0 %t143 = select i1 %t142, i32 8, i32 %t141 %t144 = getelementptr ptr, ptr null, i32 1 %t145 = ptrtoint ptr %t144 to i64 %t146 = zext i32 %t143 to i64 %t147 = mul i64 %t146, %t145 %t148 = load ptr, ptr %t137 store i32 4751, ptr @lp_site %t149 = call ptr @lp_realloc(ptr %t148, i64 %t147) store i32 0, ptr @lp_site store ptr %t149, ptr %t137 store i32 %t143, ptr %t136 br label %put19 put19: %t150 = load ptr, ptr %t137 %t151 = getelementptr inbounds ptr, ptr %t150, i32 %t138 store ptr %t134, ptr %t151 %t152 = add i32 %t138, 1 store i32 %t152, ptr %t135 %t153 = load ptr, ptr @g_g_dr_node %t154 = load ptr, ptr %t21 %t155 = getelementptr inbounds %LSlice, ptr %t153, i32 0, i32 1 %t156 = getelementptr inbounds %LSlice, ptr %t153, i32 0, i32 2 %t157 = getelementptr inbounds %LSlice, ptr %t153, i32 0, i32 0 %t158 = load i32, ptr %t155 %t159 = load i32, ptr %t156 %t160 = icmp sge i32 %t158, %t159 br i1 %t160, label %grow20, label %put21 grow20: %t161 = mul i32 %t159, 2 %t162 = icmp eq i32 %t159, 0 %t163 = select i1 %t162, i32 8, i32 %t161 %t164 = getelementptr ptr, ptr null, i32 1 %t165 = ptrtoint ptr %t164 to i64 %t166 = zext i32 %t163 to i64 %t167 = mul i64 %t166, %t165 %t168 = load ptr, ptr %t157 store i32 4752, ptr @lp_site %t169 = call ptr @lp_realloc(ptr %t168, i64 %t167) store i32 0, ptr @lp_site store ptr %t169, ptr %t157 store i32 %t163, ptr %t156 br label %put21 put21: %t170 = load ptr, ptr %t157 %t171 = getelementptr inbounds ptr, ptr %t170, i32 %t158 store ptr %t154, ptr %t171 %t172 = add i32 %t158, 1 store i32 %t172, ptr %t155 br label %ifend17 ifend17: %t173 = load i32, ptr %t3 %t174 = add i32 %t173, 1 store i32 %t174, ptr %t3 br label %wcond0 wend2: store i32 0, ptr %t175 br label %wcond22 wcond22: %t176 = load i32, ptr %t175 %t177 = load ptr, ptr @g_g_onlisten %t178 = getelementptr inbounds %LSlice, ptr %t177, i32 0, i32 1 %t179 = load i32, ptr %t178 %t180 = icmp slt i32 %t176, %t179 %t181 = zext i1 %t180 to i32 %t182 = icmp ne i32 %t181, 0 br i1 %t182, label %wbody23, label %wend24 wbody23: %t183 = load ptr, ptr @g_g_onlisten %t184 = load i32, ptr %t175 %t185 = getelementptr inbounds %LSlice, ptr %t183, i32 0, i32 0 %t186 = load ptr, ptr %t185 %t187 = getelementptr inbounds %LSlice, ptr %t183, i32 0, i32 1 %t188 = load i32, ptr %t187 %t189 = icmp ult i32 %t184, %t188 br i1 %t189, label %ixok25, label %ixbad26 ixbad26: store i32 4753, ptr @lp_site %t190 = call ptr @lp_win_stdio(i32 2) store i32 0, ptr @lp_site call i32 (ptr, ptr, ...) @fprintf(ptr %t190, ptr @.fmt_bounds, ptr @.str7785, i32 %t184, i32 %t188) call void @exit(i32 1) unreachable ixok25: %t191 = getelementptr inbounds ptr, ptr %t186, i32 %t184 %t192 = load ptr, ptr %t191 %t193 = getelementptr inbounds %Cmp_Node, ptr %t192, i32 0, i32 1 %t194 = load ptr, ptr %t193 store i32 4754, ptr @lp_site %t195 = call ptr @lp_str_concat(ptr @.str7784, ptr %t194) store i32 0, ptr @lp_site store i32 4755, ptr @lp_site %t196 = call ptr @lp_str_concat(ptr %t195, ptr @.str7786) store i32 0, ptr @lp_site call void @lp_free(ptr %t195) %t197 = load i32, ptr %t175 %t198 = call ptr @fn_itoa(i32 %t197) store i32 4756, ptr @lp_site %t199 = call ptr @lp_str_concat(ptr %t196, ptr %t198) store i32 0, ptr @lp_site call void @lp_free(ptr %t196) store ptr %t199, ptr %t200 %t201 = getelementptr %Cmp_Node, ptr null, i32 1 %t202 = ptrtoint ptr %t201 to i64 store i32 4757, ptr @lp_site %t203 = call ptr @lp_malloc(i64 %t202) store i32 0, ptr @lp_site %t204 = getelementptr inbounds %Cmp_Node, ptr %t203, i32 0, i32 0 store i32 0, ptr %t204 %t205 = getelementptr inbounds %Cmp_Node, ptr %t203, i32 0, i32 1 store ptr null, ptr %t205 %t206 = getelementptr inbounds %Cmp_Node, ptr %t203, i32 0, i32 2 store i32 0, ptr %t206 %t207 = getelementptr inbounds %Cmp_Node, ptr %t203, i32 0, i32 3 store ptr null, ptr %t207 %t208 = getelementptr inbounds %Cmp_Node, ptr %t203, i32 0, i32 4 store ptr null, ptr %t208 %t209 = getelementptr inbounds %Cmp_Node, ptr %t203, i32 0, i32 5 store ptr null, ptr %t209 %t210 = getelementptr inbounds %Cmp_Node, ptr %t203, i32 0, i32 6 store ptr null, ptr %t210 %t211 = getelementptr inbounds %Cmp_Node, ptr %t203, i32 0, i32 7 store ptr null, ptr %t211 %t212 = getelementptr inbounds %Cmp_Node, ptr %t203, i32 0, i32 8 store i32 0, ptr %t212 %t213 = getelementptr inbounds %Cmp_Node, ptr %t203, i32 0, i32 9 store ptr null, ptr %t213 %t214 = getelementptr inbounds %Cmp_Node, ptr %t203, i32 0, i32 10 store i32 0, ptr %t214 %t215 = getelementptr inbounds %Cmp_Node, ptr %t203, i32 0, i32 11 store ptr null, ptr %t215 %t216 = getelementptr inbounds %Cmp_Node, ptr %t203, i32 0, i32 12 store i32 0, ptr %t216 %t217 = getelementptr inbounds %Cmp_Node, ptr %t203, i32 0, i32 13 %t218 = sub i32 0, 1 store i32 %t218, ptr %t217 %t219 = getelementptr inbounds %Cmp_Node, ptr %t203, i32 0, i32 14 %t220 = sub i32 0, 1 store i32 %t220, ptr %t219 %t221 = getelementptr inbounds %Cmp_Node, ptr %t203, i32 0, i32 15 %t222 = sub i32 0, 1 store i32 %t222, ptr %t221 %t223 = getelementptr inbounds %Cmp_Node, ptr %t203, i32 0, i32 16 %t224 = sub i32 0, 1 store i32 %t224, ptr %t223 %t225 = getelementptr inbounds %Cmp_Node, ptr %t203, i32 0, i32 17 %t226 = sub i32 0, 1 store i32 %t226, ptr %t225 %t227 = getelementptr inbounds %Cmp_Node, ptr %t203, i32 0, i32 18 store i32 0, ptr %t227 %t228 = getelementptr inbounds %Cmp_Node, ptr %t203, i32 0, i32 19 %t229 = sub i32 0, 1 store i32 %t229, ptr %t228 %t230 = getelementptr inbounds %Cmp_Node, ptr %t203, i32 0, i32 20 %t231 = sub i32 0, 1 store i32 %t231, ptr %t230 %t232 = getelementptr inbounds %Cmp_Node, ptr %t203, i32 0, i32 21 %t233 = sub i32 0, 1 store i32 %t233, ptr %t232 store ptr %t203, ptr %t234 %t235 = load ptr, ptr %t234 %t236 = getelementptr inbounds %Cmp_Node, ptr %t235, i32 0, i32 2 %t237 = load ptr, ptr @g_g_dr_node %t238 = getelementptr inbounds %LSlice, ptr %t237, i32 0, i32 1 %t239 = load i32, ptr %t238 store i32 %t239, ptr %t236 %t240 = load ptr, ptr @g_g_dr_find_k %t241 = load ptr, ptr @g_g_dr_find_v %t242 = load ptr, ptr %t200 %t243 = load ptr, ptr %t234 call void @fn_ck_tab_put(ptr %t240, ptr %t241, ptr %t242, ptr %t243) %t244 = load ptr, ptr @g_g_dr_name %t245 = load ptr, ptr %t200 %t246 = getelementptr inbounds %LSlice, ptr %t244, i32 0, i32 1 %t247 = getelementptr inbounds %LSlice, ptr %t244, i32 0, i32 2 %t248 = getelementptr inbounds %LSlice, ptr %t244, i32 0, i32 0 %t249 = load i32, ptr %t246 %t250 = load i32, ptr %t247 %t251 = icmp sge i32 %t249, %t250 br i1 %t251, label %grow27, label %put28 grow27: %t252 = mul i32 %t250, 2 %t253 = icmp eq i32 %t250, 0 %t254 = select i1 %t253, i32 8, i32 %t252 %t255 = getelementptr ptr, ptr null, i32 1 %t256 = ptrtoint ptr %t255 to i64 %t257 = zext i32 %t254 to i64 %t258 = mul i64 %t257, %t256 %t259 = load ptr, ptr %t248 store i32 4758, ptr @lp_site %t260 = call ptr @lp_realloc(ptr %t259, i64 %t258) store i32 0, ptr @lp_site store ptr %t260, ptr %t248 store i32 %t254, ptr %t247 br label %put28 put28: %t261 = load ptr, ptr %t248 %t262 = getelementptr inbounds ptr, ptr %t261, i32 %t249 store ptr %t245, ptr %t262 %t263 = add i32 %t249, 1 store i32 %t263, ptr %t246 %t264 = load ptr, ptr @g_g_dr_node %t265 = load ptr, ptr @g_g_onlisten %t266 = load i32, ptr %t175 %t267 = getelementptr inbounds %LSlice, ptr %t265, i32 0, i32 0 %t268 = load ptr, ptr %t267 %t269 = getelementptr inbounds %LSlice, ptr %t265, i32 0, i32 1 %t270 = load i32, ptr %t269 %t271 = icmp ult i32 %t266, %t270 br i1 %t271, label %ixok29, label %ixbad30 ixbad30: store i32 4759, ptr @lp_site %t272 = call ptr @lp_win_stdio(i32 2) store i32 0, ptr @lp_site call i32 (ptr, ptr, ...) @fprintf(ptr %t272, ptr @.fmt_bounds, ptr @.str7787, i32 %t266, i32 %t270) call void @exit(i32 1) unreachable ixok29: %t273 = getelementptr inbounds ptr, ptr %t268, i32 %t266 %t274 = load ptr, ptr %t273 %t275 = getelementptr inbounds %LSlice, ptr %t264, i32 0, i32 1 %t276 = getelementptr inbounds %LSlice, ptr %t264, i32 0, i32 2 %t277 = getelementptr inbounds %LSlice, ptr %t264, i32 0, i32 0 %t278 = load i32, ptr %t275 %t279 = load i32, ptr %t276 %t280 = icmp sge i32 %t278, %t279 br i1 %t280, label %grow31, label %put32 grow31: %t281 = mul i32 %t279, 2 %t282 = icmp eq i32 %t279, 0 %t283 = select i1 %t282, i32 8, i32 %t281 %t284 = getelementptr ptr, ptr null, i32 1 %t285 = ptrtoint ptr %t284 to i64 %t286 = zext i32 %t283 to i64 %t287 = mul i64 %t286, %t285 %t288 = load ptr, ptr %t277 store i32 4760, ptr @lp_site %t289 = call ptr @lp_realloc(ptr %t288, i64 %t287) store i32 0, ptr @lp_site store ptr %t289, ptr %t277 store i32 %t283, ptr %t276 br label %put32 put32: %t290 = load ptr, ptr %t277 %t291 = getelementptr inbounds ptr, ptr %t290, i32 %t278 store ptr %t274, ptr %t291 %t292 = add i32 %t278, 1 store i32 %t292, ptr %t275 %t293 = load i32, ptr %t175 %t294 = add i32 %t293, 1 store i32 %t294, ptr %t175 br label %wcond22 wend24: %t295 = call i32 @fn_dr_words() store i32 %t295, ptr %t296 store i32 0, ptr %t297 br label %wcond33 wcond33: %t298 = load i32, ptr %t297 %t299 = load ptr, ptr @g_g_dr_node %t300 = getelementptr inbounds %LSlice, ptr %t299, i32 0, i32 1 %t301 = load i32, ptr %t300 %t302 = icmp slt i32 %t298, %t301 %t303 = zext i1 %t302 to i32 %t304 = icmp ne i32 %t303, 0 br i1 %t304, label %wbody34, label %wend35 wbody34: %t305 = getelementptr %LSlice, ptr null, i32 1 %t306 = ptrtoint ptr %t305 to i64 store i32 4761, ptr @lp_site %t307 = call ptr @lp_malloc(i64 %t306) store i32 0, ptr @lp_site %t308 = getelementptr inbounds %LSlice, ptr %t307, i32 0, i32 0 store ptr null, ptr %t308 %t309 = getelementptr inbounds %LSlice, ptr %t307, i32 0, i32 1 store i32 0, ptr %t309 %t310 = getelementptr inbounds %LSlice, ptr %t307, i32 0, i32 2 store i32 0, ptr %t310 store ptr %t307, ptr %t311 %t312 = getelementptr %LSlice, ptr null, i32 1 %t313 = ptrtoint ptr %t312 to i64 store i32 4762, ptr @lp_site %t314 = call ptr @lp_malloc(i64 %t313) store i32 0, ptr @lp_site %t315 = getelementptr inbounds %LSlice, ptr %t314, i32 0, i32 0 store ptr null, ptr %t315 %t316 = getelementptr inbounds %LSlice, ptr %t314, i32 0, i32 1 store i32 0, ptr %t316 %t317 = getelementptr inbounds %LSlice, ptr %t314, i32 0, i32 2 store i32 0, ptr %t317 store ptr %t314, ptr @g_g_dr_rl_name %t318 = getelementptr %LSlice, ptr null, i32 1 %t319 = ptrtoint ptr %t318 to i64 store i32 4763, ptr @lp_site %t320 = call ptr @lp_malloc(i64 %t319) store i32 0, ptr @lp_site %t321 = getelementptr inbounds %LSlice, ptr %t320, i32 0, i32 0 store ptr null, ptr %t321 %t322 = getelementptr inbounds %LSlice, ptr %t320, i32 0, i32 1 store i32 0, ptr %t322 %t323 = getelementptr inbounds %LSlice, ptr %t320, i32 0, i32 2 store i32 0, ptr %t323 store ptr %t320, ptr @g_g_dr_rl_reg %t324 = getelementptr %LSlice, ptr null, i32 1 %t325 = ptrtoint ptr %t324 to i64 store i32 4764, ptr @lp_site %t326 = call ptr @lp_malloc(i64 %t325) store i32 0, ptr @lp_site %t327 = getelementptr inbounds %LSlice, ptr %t326, i32 0, i32 0 store ptr null, ptr %t327 %t328 = getelementptr inbounds %LSlice, ptr %t326, i32 0, i32 1 store i32 0, ptr %t328 %t329 = getelementptr inbounds %LSlice, ptr %t326, i32 0, i32 2 store i32 0, ptr %t329 store ptr %t326, ptr @g_g_dr_locals %t330 = load ptr, ptr @g_g_dr_node %t331 = load i32, ptr %t297 %t332 = getelementptr inbounds %LSlice, ptr %t330, i32 0, i32 0 %t333 = load ptr, ptr %t332 %t334 = getelementptr inbounds %LSlice, ptr %t330, i32 0, i32 1 %t335 = load i32, ptr %t334 %t336 = icmp ult i32 %t331, %t335 br i1 %t336, label %ixok36, label %ixbad37 ixbad37: store i32 4765, ptr @lp_site %t337 = call ptr @lp_win_stdio(i32 2) store i32 0, ptr @lp_site call i32 (ptr, ptr, ...) @fprintf(ptr %t337, ptr @.fmt_bounds, ptr @.str7788, i32 %t331, i32 %t335) call void @exit(i32 1) unreachable ixok36: %t338 = getelementptr inbounds ptr, ptr %t333, i32 %t331 %t339 = load ptr, ptr %t338 store ptr %t339, ptr %t340 %t343 = load ptr, ptr %t340 %t344 = getelementptr inbounds %Cmp_Node, ptr %t343, i32 0, i32 0 %t345 = load i32, ptr %t344 %t346 = icmp eq i32 %t345, 4 %t347 = zext i1 %t346 to i32 %t348 = icmp ne i32 %t347, 0 %t349 = zext i1 %t348 to i32 store i32 %t349, ptr %t342 br i1 %t348, label %scend39, label %sc38 sc38: %t350 = load ptr, ptr %t340 %t351 = getelementptr inbounds %Cmp_Node, ptr %t350, i32 0, i32 0 %t352 = load i32, ptr %t351 %t353 = icmp eq i32 %t352, 9 %t354 = zext i1 %t353 to i32 %t355 = icmp ne i32 %t354, 0 %t356 = zext i1 %t355 to i32 store i32 %t356, ptr %t342 br label %scend39 scend39: %t357 = load i32, ptr %t342 %t358 = icmp ne i32 %t357, 0 %t359 = zext i1 %t358 to i32 store i32 %t359, ptr %t341 br i1 %t358, label %scend41, label %sc40 sc40: %t360 = load ptr, ptr %t340 %t361 = getelementptr inbounds %Cmp_Node, ptr %t360, i32 0, i32 0 %t362 = load i32, ptr %t361 %t363 = icmp eq i32 %t362, 7 %t364 = zext i1 %t363 to i32 %t365 = icmp ne i32 %t364, 0 %t366 = zext i1 %t365 to i32 store i32 %t366, ptr %t341 br label %scend41 scend41: %t367 = load i32, ptr %t341 %t368 = icmp ne i32 %t367, 0 br i1 %t368, label %then42, label %ifend44 then42: %t369 = load ptr, ptr %t340 call void @fn_dr_collect_locals(ptr %t369) br label %ifend44 ifend44: store i32 0, ptr @g_g_dr_disp %t370 = getelementptr %LSlice, ptr null, i32 1 %t371 = ptrtoint ptr %t370 to i64 store i32 4766, ptr @lp_site %t372 = call ptr @lp_malloc(i64 %t371) store i32 0, ptr @lp_site %t373 = getelementptr inbounds %LSlice, ptr %t372, i32 0, i32 0 store ptr null, ptr %t373 %t374 = getelementptr inbounds %LSlice, ptr %t372, i32 0, i32 1 store i32 0, ptr %t374 %t375 = getelementptr inbounds %LSlice, ptr %t372, i32 0, i32 2 store i32 0, ptr %t375 store ptr %t372, ptr @g_g_dr_cur2 %t376 = load ptr, ptr %t340 %t377 = load ptr, ptr %t311 call void @fn_dr_walk(ptr %t376, ptr %t377) %t378 = load ptr, ptr @g_g_dr_disp_of %t379 = load i32, ptr @g_g_dr_disp %t380 = getelementptr inbounds %LSlice, ptr %t378, i32 0, i32 1 %t381 = getelementptr inbounds %LSlice, ptr %t378, i32 0, i32 2 %t382 = getelementptr inbounds %LSlice, ptr %t378, i32 0, i32 0 %t383 = load i32, ptr %t380 %t384 = load i32, ptr %t381 %t385 = icmp sge i32 %t383, %t384 br i1 %t385, label %grow45, label %put46 grow45: %t386 = mul i32 %t384, 2 %t387 = icmp eq i32 %t384, 0 %t388 = select i1 %t387, i32 8, i32 %t386 %t389 = getelementptr i32, ptr null, i32 1 %t390 = ptrtoint ptr %t389 to i64 %t391 = zext i32 %t388 to i64 %t392 = mul i64 %t391, %t390 %t393 = load ptr, ptr %t382 store i32 4767, ptr @lp_site %t394 = call ptr @lp_realloc(ptr %t393, i64 %t392) store i32 0, ptr @lp_site store ptr %t394, ptr %t382 store i32 %t388, ptr %t381 br label %put46 put46: %t395 = load ptr, ptr %t382 %t396 = getelementptr inbounds i32, ptr %t395, i32 %t383 store i32 %t379, ptr %t396 %t397 = add i32 %t383, 1 store i32 %t397, ptr %t380 %t398 = load ptr, ptr @g_g_dr_refs2 %t399 = load ptr, ptr @g_g_dr_cur2 %t400 = getelementptr inbounds %LSlice, ptr %t398, i32 0, i32 1 %t401 = getelementptr inbounds %LSlice, ptr %t398, i32 0, i32 2 %t402 = getelementptr inbounds %LSlice, ptr %t398, i32 0, i32 0 %t403 = load i32, ptr %t400 %t404 = load i32, ptr %t401 %t405 = icmp sge i32 %t403, %t404 br i1 %t405, label %grow47, label %put48 grow47: %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 store i32 4768, ptr @lp_site %t414 = call ptr @lp_realloc(ptr %t413, i64 %t412) store i32 0, ptr @lp_site store ptr %t414, ptr %t402 store i32 %t408, ptr %t401 br label %put48 put48: %t415 = load ptr, ptr %t402 %t416 = getelementptr inbounds ptr, ptr %t415, i32 %t403 store ptr %t399, ptr %t416 %t417 = add i32 %t403, 1 store i32 %t417, ptr %t400 %t419 = load ptr, ptr %t340 %t420 = getelementptr inbounds %Cmp_Node, ptr %t419, i32 0, i32 1 %t421 = load ptr, ptr %t420 %t422 = icmp ne ptr %t421, null %t423 = zext i1 %t422 to i32 %t424 = icmp ne i32 %t423, 0 %t425 = zext i1 %t424 to i32 store i32 %t425, ptr %t418 br i1 %t424, label %sc49, label %scend50 sc49: %t426 = load ptr, ptr %t340 %t427 = getelementptr inbounds %Cmp_Node, ptr %t426, i32 0, i32 1 %t428 = load ptr, ptr %t427 %t429 = call i32 @lp_str_eq(ptr %t428, ptr @.str7789) %t430 = icmp ne i32 %t429, 0 %t431 = zext i1 %t430 to i32 store i32 %t431, ptr %t418 br label %scend50 scend50: %t432 = load i32, ptr %t418 %t433 = icmp ne i32 %t432, 0 br i1 %t433, label %then51, label %ifend53 then51: %t434 = getelementptr %LSlice, ptr null, i32 1 %t435 = ptrtoint ptr %t434 to i64 store i32 4769, ptr @lp_site %t436 = call ptr @lp_malloc(i64 %t435) store i32 0, ptr @lp_site %t437 = getelementptr inbounds %LSlice, ptr %t436, i32 0, i32 0 store ptr null, ptr %t437 %t438 = getelementptr inbounds %LSlice, ptr %t436, i32 0, i32 1 store i32 0, ptr %t438 %t439 = getelementptr inbounds %LSlice, ptr %t436, i32 0, i32 2 store i32 0, ptr %t439 store ptr %t436, ptr %t440 store i32 0, ptr %t441 br label %wcond54 wcond54: %t442 = load i32, ptr %t441 %t443 = load ptr, ptr %t311 %t444 = getelementptr inbounds %LSlice, ptr %t443, i32 0, i32 1 %t445 = load i32, ptr %t444 %t446 = icmp slt i32 %t442, %t445 %t447 = zext i1 %t446 to i32 %t448 = icmp ne i32 %t447, 0 br i1 %t448, label %wbody55, label %wend56 wbody55: %t449 = load ptr, ptr @g_g_dr_name %t450 = load ptr, ptr %t311 %t451 = load i32, ptr %t441 %t452 = getelementptr inbounds %LSlice, ptr %t450, i32 0, i32 0 %t453 = load ptr, ptr %t452 %t454 = getelementptr inbounds %LSlice, ptr %t450, i32 0, i32 1 %t455 = load i32, ptr %t454 %t456 = icmp ult i32 %t451, %t455 br i1 %t456, label %ixok57, label %ixbad58 ixbad58: store i32 4770, ptr @lp_site %t457 = call ptr @lp_win_stdio(i32 2) store i32 0, ptr @lp_site call i32 (ptr, ptr, ...) @fprintf(ptr %t457, ptr @.fmt_bounds, ptr @.str7790, i32 %t451, i32 %t455) call void @exit(i32 1) unreachable ixok57: %t458 = getelementptr inbounds i32, ptr %t453, i32 %t451 %t459 = load i32, ptr %t458 %t460 = getelementptr inbounds %LSlice, ptr %t449, i32 0, i32 0 %t461 = load ptr, ptr %t460 %t462 = getelementptr inbounds %LSlice, ptr %t449, i32 0, i32 1 %t463 = load i32, ptr %t462 %t464 = icmp ult i32 %t459, %t463 br i1 %t464, label %ixok59, label %ixbad60 ixbad60: store i32 4771, ptr @lp_site %t465 = call ptr @lp_win_stdio(i32 2) store i32 0, ptr @lp_site call i32 (ptr, ptr, ...) @fprintf(ptr %t465, ptr @.fmt_bounds, ptr @.str7791, i32 %t459, i32 %t463) call void @exit(i32 1) unreachable ixok59: %t466 = getelementptr inbounds ptr, ptr %t461, i32 %t459 %t467 = load ptr, ptr %t466 %t468 = call i32 @fn_str_starts(ptr %t467, ptr @.str7792) %t469 = icmp eq i32 %t468, 0 %t470 = zext i1 %t469 to i32 %t471 = icmp ne i32 %t470, 0 br i1 %t471, label %then61, label %ifend63 then61: %t472 = load ptr, ptr %t440 %t473 = load ptr, ptr %t311 %t474 = load i32, ptr %t441 %t475 = getelementptr inbounds %LSlice, ptr %t473, i32 0, i32 0 %t476 = load ptr, ptr %t475 %t477 = getelementptr inbounds %LSlice, ptr %t473, i32 0, i32 1 %t478 = load i32, ptr %t477 %t479 = icmp ult i32 %t474, %t478 br i1 %t479, label %ixok64, label %ixbad65 ixbad65: store i32 4772, ptr @lp_site %t480 = call ptr @lp_win_stdio(i32 2) store i32 0, ptr @lp_site call i32 (ptr, ptr, ...) @fprintf(ptr %t480, ptr @.fmt_bounds, ptr @.str7793, i32 %t474, i32 %t478) call void @exit(i32 1) unreachable ixok64: %t481 = getelementptr inbounds i32, ptr %t476, i32 %t474 %t482 = load i32, ptr %t481 %t483 = getelementptr inbounds %LSlice, ptr %t472, i32 0, i32 1 %t484 = getelementptr inbounds %LSlice, ptr %t472, i32 0, i32 2 %t485 = getelementptr inbounds %LSlice, ptr %t472, i32 0, i32 0 %t486 = load i32, ptr %t483 %t487 = load i32, ptr %t484 %t488 = icmp sge i32 %t486, %t487 br i1 %t488, label %grow66, label %put67 grow66: %t489 = mul i32 %t487, 2 %t490 = icmp eq i32 %t487, 0 %t491 = select i1 %t490, i32 8, i32 %t489 %t492 = getelementptr i32, ptr null, i32 1 %t493 = ptrtoint ptr %t492 to i64 %t494 = zext i32 %t491 to i64 %t495 = mul i64 %t494, %t493 %t496 = load ptr, ptr %t485 store i32 4773, ptr @lp_site %t497 = call ptr @lp_realloc(ptr %t496, i64 %t495) store i32 0, ptr @lp_site store ptr %t497, ptr %t485 store i32 %t491, ptr %t484 br label %put67 put67: %t498 = load ptr, ptr %t485 %t499 = getelementptr inbounds i32, ptr %t498, i32 %t486 store i32 %t482, ptr %t499 %t500 = add i32 %t486, 1 store i32 %t500, ptr %t483 br label %ifend63 ifend63: %t501 = load i32, ptr %t441 %t502 = add i32 %t501, 1 store i32 %t502, ptr %t441 br label %wcond54 wend56: %t503 = load ptr, ptr %t440 store ptr %t503, ptr %t311 br label %ifend53 ifend53: %t504 = load ptr, ptr @g_g_dr_refs %t505 = load ptr, ptr %t311 %t506 = getelementptr inbounds %LSlice, ptr %t504, i32 0, i32 1 %t507 = getelementptr inbounds %LSlice, ptr %t504, i32 0, i32 2 %t508 = getelementptr inbounds %LSlice, ptr %t504, i32 0, i32 0 %t509 = load i32, ptr %t506 %t510 = load i32, ptr %t507 %t511 = icmp sge i32 %t509, %t510 br i1 %t511, label %grow68, label %put69 grow68: %t512 = mul i32 %t510, 2 %t513 = icmp eq i32 %t510, 0 %t514 = select i1 %t513, i32 8, i32 %t512 %t515 = getelementptr ptr, ptr null, i32 1 %t516 = ptrtoint ptr %t515 to i64 %t517 = zext i32 %t514 to i64 %t518 = mul i64 %t517, %t516 %t519 = load ptr, ptr %t508 store i32 4774, ptr @lp_site %t520 = call ptr @lp_realloc(ptr %t519, i64 %t518) store i32 0, ptr @lp_site store ptr %t520, ptr %t508 store i32 %t514, ptr %t507 br label %put69 put69: %t521 = load ptr, ptr %t508 %t522 = getelementptr inbounds ptr, ptr %t521, i32 %t509 store ptr %t505, ptr %t522 %t523 = add i32 %t509, 1 store i32 %t523, ptr %t506 %t524 = getelementptr %LSlice, ptr null, i32 1 %t525 = ptrtoint ptr %t524 to i64 store i32 4775, ptr @lp_site %t526 = call ptr @lp_malloc(i64 %t525) store i32 0, ptr @lp_site %t527 = getelementptr inbounds %LSlice, ptr %t526, i32 0, i32 0 store ptr null, ptr %t527 %t528 = getelementptr inbounds %LSlice, ptr %t526, i32 0, i32 1 store i32 0, ptr %t528 %t529 = getelementptr inbounds %LSlice, ptr %t526, i32 0, i32 2 store i32 0, ptr %t529 store ptr %t526, ptr %t530 store i32 0, ptr %t531 br label %wcond70 wcond70: %t532 = load i32, ptr %t531 %t533 = load i32, ptr %t296 %t534 = icmp slt i32 %t532, %t533 %t535 = zext i1 %t534 to i32 %t536 = icmp ne i32 %t535, 0 br i1 %t536, label %wbody71, label %wend72 wbody71: %t537 = load ptr, ptr %t530 %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 %grow73, label %put74 grow73: %t544 = mul i32 %t542, 2 %t545 = icmp eq i32 %t542, 0 %t546 = select i1 %t545, i32 8, i32 %t544 %t547 = getelementptr i32, 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 store i32 4776, ptr @lp_site %t552 = call ptr @lp_realloc(ptr %t551, i64 %t550) store i32 0, ptr @lp_site store ptr %t552, ptr %t540 store i32 %t546, ptr %t539 br label %put74 put74: %t553 = load ptr, ptr %t540 %t554 = getelementptr inbounds i32, ptr %t553, i32 %t541 store i32 0, ptr %t554 %t555 = add i32 %t541, 1 store i32 %t555, ptr %t538 %t556 = load i32, ptr %t531 %t557 = add i32 %t556, 1 store i32 %t557, ptr %t531 br label %wcond70 wend72: %t558 = load ptr, ptr @g_g_dr_node %t559 = load i32, ptr %t297 %t560 = getelementptr inbounds %LSlice, ptr %t558, i32 0, i32 0 %t561 = load ptr, ptr %t560 %t562 = getelementptr inbounds %LSlice, ptr %t558, i32 0, i32 1 %t563 = load i32, ptr %t562 %t564 = icmp ult i32 %t559, %t563 br i1 %t564, label %ixok75, label %ixbad76 ixbad76: store i32 4777, ptr @lp_site %t565 = call ptr @lp_win_stdio(i32 2) store i32 0, ptr @lp_site call i32 (ptr, ptr, ...) @fprintf(ptr %t565, ptr @.fmt_bounds, ptr @.str7794, i32 %t559, i32 %t563) call void @exit(i32 1) unreachable ixok75: %t566 = getelementptr inbounds ptr, ptr %t561, i32 %t559 %t567 = load ptr, ptr %t566 %t568 = load ptr, ptr %t530 call void @fn_dr_own(ptr %t567, ptr %t568, i32 0) %t569 = load ptr, ptr @g_g_dr_bits %t570 = load ptr, ptr %t530 %t571 = getelementptr inbounds %LSlice, ptr %t569, i32 0, i32 1 %t572 = getelementptr inbounds %LSlice, ptr %t569, i32 0, i32 2 %t573 = getelementptr inbounds %LSlice, ptr %t569, i32 0, i32 0 %t574 = load i32, ptr %t571 %t575 = load i32, ptr %t572 %t576 = icmp sge i32 %t574, %t575 br i1 %t576, label %grow77, label %put78 grow77: %t577 = mul i32 %t575, 2 %t578 = icmp eq i32 %t575, 0 %t579 = select i1 %t578, i32 8, i32 %t577 %t580 = getelementptr ptr, ptr null, i32 1 %t581 = ptrtoint ptr %t580 to i64 %t582 = zext i32 %t579 to i64 %t583 = mul i64 %t582, %t581 %t584 = load ptr, ptr %t573 store i32 4778, ptr @lp_site %t585 = call ptr @lp_realloc(ptr %t584, i64 %t583) store i32 0, ptr @lp_site store ptr %t585, ptr %t573 store i32 %t579, ptr %t572 br label %put78 put78: %t586 = load ptr, ptr %t573 %t587 = getelementptr inbounds ptr, ptr %t586, i32 %t574 store ptr %t570, ptr %t587 %t588 = add i32 %t574, 1 store i32 %t588, ptr %t571 %t589 = getelementptr %LSlice, ptr null, i32 1 %t590 = ptrtoint ptr %t589 to i64 store i32 4779, ptr @lp_site %t591 = call ptr @lp_malloc(i64 %t590) store i32 0, ptr @lp_site %t592 = getelementptr inbounds %LSlice, ptr %t591, i32 0, i32 0 store ptr null, ptr %t592 %t593 = getelementptr inbounds %LSlice, ptr %t591, i32 0, i32 1 store i32 0, ptr %t593 %t594 = getelementptr inbounds %LSlice, ptr %t591, i32 0, i32 2 store i32 0, ptr %t594 store ptr %t591, ptr %t595 store i32 0, ptr %t596 br label %wcond79 wcond79: %t597 = load i32, ptr %t596 %t598 = load i32, ptr %t296 %t599 = icmp slt i32 %t597, %t598 %t600 = zext i1 %t599 to i32 %t601 = icmp ne i32 %t600, 0 br i1 %t601, label %wbody80, label %wend81 wbody80: %t602 = load ptr, ptr %t595 %t603 = getelementptr inbounds %LSlice, ptr %t602, i32 0, i32 1 %t604 = getelementptr inbounds %LSlice, ptr %t602, i32 0, i32 2 %t605 = getelementptr inbounds %LSlice, ptr %t602, i32 0, i32 0 %t606 = load i32, ptr %t603 %t607 = load i32, ptr %t604 %t608 = icmp sge i32 %t606, %t607 br i1 %t608, label %grow82, label %put83 grow82: %t609 = mul i32 %t607, 2 %t610 = icmp eq i32 %t607, 0 %t611 = select i1 %t610, i32 8, i32 %t609 %t612 = getelementptr i32, ptr null, i32 1 %t613 = ptrtoint ptr %t612 to i64 %t614 = zext i32 %t611 to i64 %t615 = mul i64 %t614, %t613 %t616 = load ptr, ptr %t605 store i32 4780, ptr @lp_site %t617 = call ptr @lp_realloc(ptr %t616, i64 %t615) store i32 0, ptr @lp_site store ptr %t617, ptr %t605 store i32 %t611, ptr %t604 br label %put83 put83: %t618 = load ptr, ptr %t605 %t619 = getelementptr inbounds i32, ptr %t618, i32 %t606 store i32 0, ptr %t619 %t620 = add i32 %t606, 1 store i32 %t620, ptr %t603 %t621 = load i32, ptr %t596 %t622 = add i32 %t621, 1 store i32 %t622, ptr %t596 br label %wcond79 wend81: %t623 = load ptr, ptr @g_g_dr_node %t624 = load i32, ptr %t297 %t625 = getelementptr inbounds %LSlice, ptr %t623, i32 0, i32 0 %t626 = load ptr, ptr %t625 %t627 = getelementptr inbounds %LSlice, ptr %t623, i32 0, i32 1 %t628 = load i32, ptr %t627 %t629 = icmp ult i32 %t624, %t628 br i1 %t629, label %ixok84, label %ixbad85 ixbad85: store i32 4781, ptr @lp_site %t630 = call ptr @lp_win_stdio(i32 2) store i32 0, ptr @lp_site call i32 (ptr, ptr, ...) @fprintf(ptr %t630, ptr @.fmt_bounds, ptr @.str7795, i32 %t624, i32 %t628) call void @exit(i32 1) unreachable ixok84: %t631 = getelementptr inbounds ptr, ptr %t626, i32 %t624 %t632 = load ptr, ptr %t631 %t633 = load ptr, ptr %t595 call void @fn_dr_own(ptr %t632, ptr %t633, i32 1) %t634 = load ptr, ptr @g_g_dr_wbits %t635 = load ptr, ptr %t595 %t636 = getelementptr inbounds %LSlice, ptr %t634, i32 0, i32 1 %t637 = getelementptr inbounds %LSlice, ptr %t634, i32 0, i32 2 %t638 = getelementptr inbounds %LSlice, ptr %t634, i32 0, i32 0 %t639 = load i32, ptr %t636 %t640 = load i32, ptr %t637 %t641 = icmp sge i32 %t639, %t640 br i1 %t641, label %grow86, label %put87 grow86: %t642 = mul i32 %t640, 2 %t643 = icmp eq i32 %t640, 0 %t644 = select i1 %t643, i32 8, i32 %t642 %t645 = getelementptr ptr, ptr null, i32 1 %t646 = ptrtoint ptr %t645 to i64 %t647 = zext i32 %t644 to i64 %t648 = mul i64 %t647, %t646 %t649 = load ptr, ptr %t638 store i32 4782, ptr @lp_site %t650 = call ptr @lp_realloc(ptr %t649, i64 %t648) store i32 0, ptr @lp_site store ptr %t650, ptr %t638 store i32 %t644, ptr %t637 br label %put87 put87: %t651 = load ptr, ptr %t638 %t652 = getelementptr inbounds ptr, ptr %t651, i32 %t639 store ptr %t635, ptr %t652 %t653 = add i32 %t639, 1 store i32 %t653, ptr %t636 %t654 = load i32, ptr %t297 %t655 = add i32 %t654, 1 store i32 %t655, ptr %t297 br label %wcond33 wend35: store i32 1, ptr %t656 br label %wcond88 wcond88: %t657 = load i32, ptr %t656 %t658 = icmp ne i32 %t657, 0 br i1 %t658, label %wbody89, label %wend90 wbody89: store i32 0, ptr %t656 store i32 0, ptr %t297 br label %wcond91 wcond91: %t659 = load i32, ptr %t297 %t660 = load ptr, ptr @g_g_dr_node %t661 = getelementptr inbounds %LSlice, ptr %t660, i32 0, i32 1 %t662 = load i32, ptr %t661 %t663 = icmp slt i32 %t659, %t662 %t664 = zext i1 %t663 to i32 %t665 = icmp ne i32 %t664, 0 br i1 %t665, label %wbody92, label %wend93 wbody92: %t666 = load ptr, ptr @g_g_dr_refs %t667 = load i32, ptr %t297 %t668 = getelementptr inbounds %LSlice, ptr %t666, i32 0, i32 0 %t669 = load ptr, ptr %t668 %t670 = getelementptr inbounds %LSlice, ptr %t666, i32 0, i32 1 %t671 = load i32, ptr %t670 %t672 = icmp ult i32 %t667, %t671 br i1 %t672, label %ixok94, label %ixbad95 ixbad95: store i32 4783, ptr @lp_site %t673 = call ptr @lp_win_stdio(i32 2) store i32 0, ptr @lp_site call i32 (ptr, ptr, ...) @fprintf(ptr %t673, ptr @.fmt_bounds, ptr @.str7796, i32 %t667, i32 %t671) call void @exit(i32 1) unreachable ixok94: %t674 = getelementptr inbounds ptr, ptr %t669, i32 %t667 %t675 = load ptr, ptr %t674 store ptr %t675, ptr %t676 store i32 0, ptr %t677 br label %wcond96 wcond96: %t678 = load i32, ptr %t677 %t679 = load ptr, ptr %t676 %t680 = getelementptr inbounds %LSlice, ptr %t679, i32 0, i32 1 %t681 = load i32, ptr %t680 %t682 = icmp slt i32 %t678, %t681 %t683 = zext i1 %t682 to i32 %t684 = icmp ne i32 %t683, 0 br i1 %t684, label %wbody97, label %wend98 wbody97: %t685 = load ptr, ptr @g_g_dr_bits %t686 = load i32, ptr %t297 %t687 = getelementptr inbounds %LSlice, ptr %t685, i32 0, i32 0 %t688 = load ptr, ptr %t687 %t689 = getelementptr inbounds %LSlice, ptr %t685, i32 0, i32 1 %t690 = load i32, ptr %t689 %t691 = icmp ult i32 %t686, %t690 br i1 %t691, label %ixok99, label %ixbad100 ixbad100: store i32 4784, ptr @lp_site %t692 = call ptr @lp_win_stdio(i32 2) store i32 0, ptr @lp_site call i32 (ptr, ptr, ...) @fprintf(ptr %t692, ptr @.fmt_bounds, ptr @.str7797, i32 %t686, i32 %t690) call void @exit(i32 1) unreachable ixok99: %t693 = getelementptr inbounds ptr, ptr %t688, i32 %t686 %t694 = load ptr, ptr %t693 %t695 = load ptr, ptr @g_g_dr_bits %t696 = load ptr, ptr %t676 %t697 = load i32, ptr %t677 %t698 = getelementptr inbounds %LSlice, ptr %t696, i32 0, i32 0 %t699 = load ptr, ptr %t698 %t700 = getelementptr inbounds %LSlice, ptr %t696, i32 0, i32 1 %t701 = load i32, ptr %t700 %t702 = icmp ult i32 %t697, %t701 br i1 %t702, label %ixok101, label %ixbad102 ixbad102: store i32 4785, ptr @lp_site %t703 = call ptr @lp_win_stdio(i32 2) store i32 0, ptr @lp_site call i32 (ptr, ptr, ...) @fprintf(ptr %t703, ptr @.fmt_bounds, ptr @.str7798, i32 %t697, i32 %t701) call void @exit(i32 1) unreachable ixok101: %t704 = getelementptr inbounds i32, ptr %t699, i32 %t697 %t705 = load i32, ptr %t704 %t706 = getelementptr inbounds %LSlice, ptr %t695, i32 0, i32 0 %t707 = load ptr, ptr %t706 %t708 = getelementptr inbounds %LSlice, ptr %t695, i32 0, i32 1 %t709 = load i32, ptr %t708 %t710 = icmp ult i32 %t705, %t709 br i1 %t710, label %ixok103, label %ixbad104 ixbad104: store i32 4786, ptr @lp_site %t711 = call ptr @lp_win_stdio(i32 2) store i32 0, ptr @lp_site call i32 (ptr, ptr, ...) @fprintf(ptr %t711, ptr @.fmt_bounds, ptr @.str7799, i32 %t705, i32 %t709) call void @exit(i32 1) unreachable ixok103: %t712 = getelementptr inbounds ptr, ptr %t707, i32 %t705 %t713 = load ptr, ptr %t712 %t714 = load i32, ptr %t296 %t715 = call i32 @fn_dr_join(ptr %t694, ptr %t713, i32 %t714) %t716 = icmp ne i32 %t715, 0 br i1 %t716, label %then105, label %ifend107 then105: store i32 1, ptr %t656 br label %ifend107 ifend107: %t717 = load ptr, ptr @g_g_dr_wbits %t718 = load i32, ptr %t297 %t719 = getelementptr inbounds %LSlice, ptr %t717, i32 0, i32 0 %t720 = load ptr, ptr %t719 %t721 = getelementptr inbounds %LSlice, ptr %t717, i32 0, i32 1 %t722 = load i32, ptr %t721 %t723 = icmp ult i32 %t718, %t722 br i1 %t723, label %ixok108, label %ixbad109 ixbad109: store i32 4787, ptr @lp_site %t724 = call ptr @lp_win_stdio(i32 2) store i32 0, ptr @lp_site call i32 (ptr, ptr, ...) @fprintf(ptr %t724, ptr @.fmt_bounds, ptr @.str7800, i32 %t718, i32 %t722) call void @exit(i32 1) unreachable ixok108: %t725 = getelementptr inbounds ptr, ptr %t720, i32 %t718 %t726 = load ptr, ptr %t725 %t727 = load ptr, ptr @g_g_dr_wbits %t728 = load ptr, ptr %t676 %t729 = load i32, ptr %t677 %t730 = getelementptr inbounds %LSlice, ptr %t728, i32 0, i32 0 %t731 = load ptr, ptr %t730 %t732 = getelementptr inbounds %LSlice, ptr %t728, i32 0, i32 1 %t733 = load i32, ptr %t732 %t734 = icmp ult i32 %t729, %t733 br i1 %t734, label %ixok110, label %ixbad111 ixbad111: store i32 4788, ptr @lp_site %t735 = call ptr @lp_win_stdio(i32 2) store i32 0, ptr @lp_site call i32 (ptr, ptr, ...) @fprintf(ptr %t735, ptr @.fmt_bounds, ptr @.str7801, i32 %t729, i32 %t733) call void @exit(i32 1) unreachable ixok110: %t736 = getelementptr inbounds i32, ptr %t731, i32 %t729 %t737 = load i32, ptr %t736 %t738 = getelementptr inbounds %LSlice, ptr %t727, i32 0, i32 0 %t739 = load ptr, ptr %t738 %t740 = getelementptr inbounds %LSlice, ptr %t727, i32 0, i32 1 %t741 = load i32, ptr %t740 %t742 = icmp ult i32 %t737, %t741 br i1 %t742, label %ixok112, label %ixbad113 ixbad113: store i32 4789, ptr @lp_site %t743 = call ptr @lp_win_stdio(i32 2) store i32 0, ptr @lp_site call i32 (ptr, ptr, ...) @fprintf(ptr %t743, ptr @.fmt_bounds, ptr @.str7802, i32 %t737, i32 %t741) call void @exit(i32 1) unreachable ixok112: %t744 = getelementptr inbounds ptr, ptr %t739, i32 %t737 %t745 = load ptr, ptr %t744 %t746 = load i32, ptr %t296 %t747 = call i32 @fn_dr_join(ptr %t726, ptr %t745, i32 %t746) %t748 = icmp ne i32 %t747, 0 br i1 %t748, label %then114, label %ifend116 then114: store i32 1, ptr %t656 br label %ifend116 ifend116: %t749 = load i32, ptr %t677 %t750 = add i32 %t749, 1 store i32 %t750, ptr %t677 br label %wcond96 wend98: %t751 = load i32, ptr %t297 %t752 = add i32 %t751, 1 store i32 %t752, ptr %t297 br label %wcond91 wend93: br label %wcond88 wend90: %t753 = load i32, ptr %t296 call void @fn_dr_roots(i32 %t753) store i32 0, ptr %t297 br label %wcond117 wcond117: %t754 = load i32, ptr %t297 %t755 = load ptr, ptr @g_g_dr_node %t756 = getelementptr inbounds %LSlice, ptr %t755, i32 0, i32 1 %t757 = load i32, ptr %t756 %t758 = icmp slt i32 %t754, %t757 %t759 = zext i1 %t758 to i32 %t760 = icmp ne i32 %t759, 0 br i1 %t760, label %wbody118, label %wend119 wbody118: %t761 = load ptr, ptr @g_g_dr_node %t762 = load i32, ptr %t297 %t763 = getelementptr inbounds %LSlice, ptr %t761, i32 0, i32 0 %t764 = load ptr, ptr %t763 %t765 = getelementptr inbounds %LSlice, ptr %t761, i32 0, i32 1 %t766 = load i32, ptr %t765 %t767 = icmp ult i32 %t762, %t766 br i1 %t767, label %ixok120, label %ixbad121 ixbad121: store i32 4790, ptr @lp_site %t768 = call ptr @lp_win_stdio(i32 2) store i32 0, ptr @lp_site call i32 (ptr, ptr, ...) @fprintf(ptr %t768, ptr @.fmt_bounds, ptr @.str7803, i32 %t762, i32 %t766) call void @exit(i32 1) unreachable ixok120: %t769 = getelementptr inbounds ptr, ptr %t764, i32 %t762 %t770 = load ptr, ptr %t769 store ptr %t770, ptr %t771 %t774 = load ptr, ptr %t771 %t775 = getelementptr inbounds %Cmp_Node, ptr %t774, i32 0, i32 0 %t776 = load i32, ptr %t775 %t777 = icmp eq i32 %t776, 4 %t778 = zext i1 %t777 to i32 %t779 = icmp ne i32 %t778, 0 %t780 = zext i1 %t779 to i32 store i32 %t780, ptr %t773 br i1 %t779, label %sc122, label %scend123 sc122: %t781 = load ptr, ptr %t771 %t782 = getelementptr inbounds %Cmp_Node, ptr %t781, i32 0, i32 9 %t783 = load ptr, ptr %t782 %t784 = icmp ne ptr %t783, null %t785 = zext i1 %t784 to i32 %t786 = icmp ne i32 %t785, 0 %t787 = zext i1 %t786 to i32 store i32 %t787, ptr %t773 br label %scend123 scend123: %t788 = load i32, ptr %t773 %t789 = icmp ne i32 %t788, 0 %t790 = zext i1 %t789 to i32 store i32 %t790, ptr %t772 br i1 %t789, label %sc124, label %scend125 sc124: %t791 = load ptr, ptr %t771 %t792 = getelementptr inbounds %Cmp_Node, ptr %t791, i32 0, i32 9 %t793 = load ptr, ptr %t792 %t794 = call i32 @fn_is_runtime_file(ptr %t793) %t795 = icmp eq i32 %t794, 0 %t796 = zext i1 %t795 to i32 %t797 = icmp ne i32 %t796, 0 %t798 = zext i1 %t797 to i32 store i32 %t798, ptr %t772 br label %scend125 scend125: %t799 = load i32, ptr %t772 %t800 = icmp ne i32 %t799, 0 br i1 %t800, label %then126, label %ifend128 then126: %t801 = load ptr, ptr @g_g_dr_bits %t802 = load i32, ptr %t297 %t803 = getelementptr inbounds %LSlice, ptr %t801, i32 0, i32 0 %t804 = load ptr, ptr %t803 %t805 = getelementptr inbounds %LSlice, ptr %t801, i32 0, i32 1 %t806 = load i32, ptr %t805 %t807 = icmp ult i32 %t802, %t806 br i1 %t807, label %ixok129, label %ixbad130 ixbad130: store i32 4791, ptr @lp_site %t808 = call ptr @lp_win_stdio(i32 2) store i32 0, ptr @lp_site call i32 (ptr, ptr, ...) @fprintf(ptr %t808, ptr @.fmt_bounds, ptr @.str7804, i32 %t802, i32 %t806) call void @exit(i32 1) unreachable ixok129: %t809 = getelementptr inbounds ptr, ptr %t804, i32 %t802 %t810 = load ptr, ptr %t809 %t811 = call i32 @fn_dr_count(ptr %t810) store i32 %t811, ptr %t812 store i32 0, ptr %t813 %t814 = load ptr, ptr %t771 %t815 = getelementptr inbounds %Cmp_Node, ptr %t814, i32 0, i32 9 %t816 = load ptr, ptr %t815 %t817 = call ptr @fn_pkg_of_file(ptr %t816) %t818 = call i32 @lp_str_eq(ptr %t817, ptr @.str7805) %t819 = icmp eq i32 %t818, 0 %t820 = zext i1 %t819 to i32 %t821 = icmp ne i32 %t820, 0 br i1 %t821, label %then131, label %ifend133 then131: store i32 1, ptr %t813 br label %ifend133 ifend133: store ptr @.str7806, ptr %t822 %t823 = load ptr, ptr @g_g_dr_root %t824 = load i32, ptr %t297 %t825 = getelementptr inbounds %LSlice, ptr %t823, i32 0, i32 0 %t826 = load ptr, ptr %t825 %t827 = getelementptr inbounds %LSlice, ptr %t823, i32 0, i32 1 %t828 = load i32, ptr %t827 %t829 = icmp ult i32 %t824, %t828 br i1 %t829, label %ixok134, label %ixbad135 ixbad135: store i32 4792, ptr @lp_site %t830 = call ptr @lp_win_stdio(i32 2) store i32 0, ptr @lp_site call i32 (ptr, ptr, ...) @fprintf(ptr %t830, ptr @.fmt_bounds, ptr @.str7807, i32 %t824, i32 %t828) call void @exit(i32 1) unreachable ixok134: %t831 = getelementptr inbounds i32, ptr %t826, i32 %t824 %t832 = load i32, ptr %t831 %t833 = icmp ne i32 %t832, 0 br i1 %t833, label %then136, label %ifend138 then136: store ptr @.str7808, ptr %t822 br label %ifend138 ifend138: %t834 = load i32, ptr %t812 %t835 = icmp sgt i32 %t834, 0 %t836 = zext i1 %t835 to i32 %t837 = icmp ne i32 %t836, 0 br i1 %t837, label %then139, label %ifend141 then139: %t838 = load ptr, ptr %t0 %t839 = load i32, ptr %t812 %t840 = call ptr @fn_itoa(i32 %t839) store i32 4793, ptr @lp_site %t841 = call ptr @lp_str_concat(ptr @.str7809, ptr %t840) store i32 0, ptr @lp_site store i32 4794, ptr @lp_site %t842 = call ptr @lp_str_concat(ptr %t841, ptr @.str7810) store i32 0, ptr @lp_site call void @lp_free(ptr %t841) %t843 = load ptr, ptr %t771 %t844 = getelementptr inbounds %Cmp_Node, ptr %t843, i32 0, i32 1 %t845 = load ptr, ptr %t844 store i32 4795, ptr @lp_site %t846 = call ptr @lp_str_concat(ptr %t842, ptr %t845) store i32 0, ptr @lp_site call void @lp_free(ptr %t842) store i32 4796, ptr @lp_site %t847 = call ptr @lp_str_concat(ptr %t846, ptr @.str7811) store i32 0, ptr @lp_site call void @lp_free(ptr %t846) %t848 = load ptr, ptr %t771 %t849 = getelementptr inbounds %Cmp_Node, ptr %t848, i32 0, i32 9 %t850 = load ptr, ptr %t849 store i32 4797, ptr @lp_site %t851 = call ptr @lp_str_concat(ptr %t847, ptr %t850) store i32 0, ptr @lp_site call void @lp_free(ptr %t847) store i32 4798, ptr @lp_site %t852 = call ptr @lp_str_concat(ptr %t851, ptr @.str7812) store i32 0, ptr @lp_site call void @lp_free(ptr %t851) %t853 = load ptr, ptr %t771 %t854 = getelementptr inbounds %Cmp_Node, ptr %t853, i32 0, i32 8 %t855 = load i32, ptr %t854 %t856 = call ptr @fn_itoa(i32 %t855) store i32 4799, ptr @lp_site %t857 = call ptr @lp_str_concat(ptr %t852, ptr %t856) store i32 0, ptr @lp_site call void @lp_free(ptr %t852) store i32 4800, ptr @lp_site %t858 = call ptr @lp_str_concat(ptr %t857, ptr @.str7813) store i32 0, ptr @lp_site call void @lp_free(ptr %t857) %t859 = load i32, ptr %t813 %t860 = call ptr @fn_itoa(i32 %t859) store i32 4801, ptr @lp_site %t861 = call ptr @lp_str_concat(ptr %t858, ptr %t860) store i32 0, ptr @lp_site call void @lp_free(ptr %t858) store i32 4802, ptr @lp_site %t862 = call ptr @lp_str_concat(ptr %t861, ptr @.str7814) store i32 0, ptr @lp_site call void @lp_free(ptr %t861) %t863 = load ptr, ptr %t822 store i32 4803, ptr @lp_site %t864 = call ptr @lp_str_concat(ptr %t862, ptr %t863) store i32 0, ptr @lp_site call void @lp_free(ptr %t862) store i32 4804, ptr @lp_site %t865 = call ptr @lp_str_concat(ptr %t864, ptr @.str7815) store i32 0, ptr @lp_site call void @lp_free(ptr %t864) %t866 = load ptr, ptr @g_g_dr_bits2 %t867 = load i32, ptr %t297 %t868 = getelementptr inbounds %LSlice, ptr %t866, i32 0, i32 0 %t869 = load ptr, ptr %t868 %t870 = getelementptr inbounds %LSlice, ptr %t866, i32 0, i32 1 %t871 = load i32, ptr %t870 %t872 = icmp ult i32 %t867, %t871 br i1 %t872, label %ixok142, label %ixbad143 ixbad143: store i32 4805, ptr @lp_site %t873 = call ptr @lp_win_stdio(i32 2) store i32 0, ptr @lp_site call i32 (ptr, ptr, ...) @fprintf(ptr %t873, ptr @.fmt_bounds, ptr @.str7816, i32 %t867, i32 %t871) call void @exit(i32 1) unreachable ixok142: %t874 = getelementptr inbounds ptr, ptr %t869, i32 %t867 %t875 = load ptr, ptr %t874 %t876 = call i32 @fn_dr_count(ptr %t875) %t877 = call ptr @fn_itoa(i32 %t876) store i32 4806, ptr @lp_site %t878 = call ptr @lp_str_concat(ptr %t865, ptr %t877) store i32 0, ptr @lp_site call void @lp_free(ptr %t865) call void @fn_deps_line(ptr %t838, ptr %t878) br label %ifend141 ifend141: %t879 = load ptr, ptr @g_g_dr_wbits %t880 = load i32, ptr %t297 %t881 = getelementptr inbounds %LSlice, ptr %t879, i32 0, i32 0 %t882 = load ptr, ptr %t881 %t883 = getelementptr inbounds %LSlice, ptr %t879, i32 0, i32 1 %t884 = load i32, ptr %t883 %t885 = icmp ult i32 %t880, %t884 br i1 %t885, label %ixok144, label %ixbad145 ixbad145: store i32 4807, ptr @lp_site %t886 = call ptr @lp_win_stdio(i32 2) store i32 0, ptr @lp_site call i32 (ptr, ptr, ...) @fprintf(ptr %t886, ptr @.fmt_bounds, ptr @.str7817, i32 %t880, i32 %t884) call void @exit(i32 1) unreachable ixok144: %t887 = getelementptr inbounds ptr, ptr %t882, i32 %t880 %t888 = load ptr, ptr %t887 %t889 = call i32 @fn_dr_count(ptr %t888) store i32 %t889, ptr %t890 %t891 = load i32, ptr %t890 %t892 = icmp sgt i32 %t891, 0 %t893 = zext i1 %t892 to i32 %t894 = icmp ne i32 %t893, 0 br i1 %t894, label %then146, label %ifend148 then146: %t895 = load ptr, ptr %t0 %t896 = load i32, ptr %t890 %t897 = call ptr @fn_itoa(i32 %t896) store i32 4808, ptr @lp_site %t898 = call ptr @lp_str_concat(ptr @.str7818, ptr %t897) store i32 0, ptr @lp_site store i32 4809, ptr @lp_site %t899 = call ptr @lp_str_concat(ptr %t898, ptr @.str7819) store i32 0, ptr @lp_site call void @lp_free(ptr %t898) %t900 = load ptr, ptr %t771 %t901 = getelementptr inbounds %Cmp_Node, ptr %t900, i32 0, i32 1 %t902 = load ptr, ptr %t901 store i32 4810, ptr @lp_site %t903 = call ptr @lp_str_concat(ptr %t899, ptr %t902) store i32 0, ptr @lp_site call void @lp_free(ptr %t899) store i32 4811, ptr @lp_site %t904 = call ptr @lp_str_concat(ptr %t903, ptr @.str7820) store i32 0, ptr @lp_site call void @lp_free(ptr %t903) %t905 = load ptr, ptr %t771 %t906 = getelementptr inbounds %Cmp_Node, ptr %t905, i32 0, i32 9 %t907 = load ptr, ptr %t906 store i32 4812, ptr @lp_site %t908 = call ptr @lp_str_concat(ptr %t904, ptr %t907) store i32 0, ptr @lp_site call void @lp_free(ptr %t904) store i32 4813, ptr @lp_site %t909 = call ptr @lp_str_concat(ptr %t908, ptr @.str7821) store i32 0, ptr @lp_site call void @lp_free(ptr %t908) %t910 = load ptr, ptr %t771 %t911 = getelementptr inbounds %Cmp_Node, ptr %t910, i32 0, i32 8 %t912 = load i32, ptr %t911 %t913 = call ptr @fn_itoa(i32 %t912) store i32 4814, ptr @lp_site %t914 = call ptr @lp_str_concat(ptr %t909, ptr %t913) store i32 0, ptr @lp_site call void @lp_free(ptr %t909) store i32 4815, ptr @lp_site %t915 = call ptr @lp_str_concat(ptr %t914, ptr @.str7822) store i32 0, ptr @lp_site call void @lp_free(ptr %t914) %t916 = load i32, ptr %t813 %t917 = call ptr @fn_itoa(i32 %t916) store i32 4816, ptr @lp_site %t918 = call ptr @lp_str_concat(ptr %t915, ptr %t917) store i32 0, ptr @lp_site call void @lp_free(ptr %t915) store i32 4817, ptr @lp_site %t919 = call ptr @lp_str_concat(ptr %t918, ptr @.str7823) store i32 0, ptr @lp_site call void @lp_free(ptr %t918) %t920 = load ptr, ptr %t822 store i32 4818, ptr @lp_site %t921 = call ptr @lp_str_concat(ptr %t919, ptr %t920) store i32 0, ptr @lp_site call void @lp_free(ptr %t919) store i32 4819, ptr @lp_site %t922 = call ptr @lp_str_concat(ptr %t921, ptr @.str7824) store i32 0, ptr @lp_site call void @lp_free(ptr %t921) %t923 = load ptr, ptr @g_g_dr_wbits2 %t924 = load i32, ptr %t297 %t925 = getelementptr inbounds %LSlice, ptr %t923, i32 0, i32 0 %t926 = load ptr, ptr %t925 %t927 = getelementptr inbounds %LSlice, ptr %t923, i32 0, i32 1 %t928 = load i32, ptr %t927 %t929 = icmp ult i32 %t924, %t928 br i1 %t929, label %ixok149, label %ixbad150 ixbad150: store i32 4820, ptr @lp_site %t930 = call ptr @lp_win_stdio(i32 2) store i32 0, ptr @lp_site call i32 (ptr, ptr, ...) @fprintf(ptr %t930, ptr @.fmt_bounds, ptr @.str7825, i32 %t924, i32 %t928) call void @exit(i32 1) unreachable ixok149: %t931 = getelementptr inbounds ptr, ptr %t926, i32 %t924 %t932 = load ptr, ptr %t931 %t933 = call i32 @fn_dr_count(ptr %t932) %t934 = call ptr @fn_itoa(i32 %t933) store i32 4821, ptr @lp_site %t935 = call ptr @lp_str_concat(ptr %t922, ptr %t934) store i32 0, ptr @lp_site call void @lp_free(ptr %t922) call void @fn_deps_line(ptr %t895, ptr %t935) br label %ifend148 ifend148: br label %ifend128 ifend128: %t936 = load i32, ptr %t297 %t937 = add i32 %t936, 1 store i32 %t937, ptr %t297 br label %wcond117 wend119: %t938 = load ptr, ptr %t0 call void @fn_deps_frame(ptr %t938) 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 store i32 4822, ptr @lp_site %t18 = call ptr @lp_str_concat(ptr @.str7826, ptr %t17) store i32 0, ptr @lp_site 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 store i32 4823, ptr @lp_site %t32 = call ptr @lp_str_concat(ptr @.str7828, ptr %t31) store i32 0, ptr @lp_site 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 @.str7829) %t40 = load ptr, ptr %t39 call void @fn_emit(ptr %t40) call void @fn_emit(ptr @.str7830) %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 @.str7831) %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 @.str7832) %t48 = load i32, ptr %t24 %t49 = call ptr @fn_itoa(i32 %t48) call void @fn_emit(ptr %t49) call void @fn_emit(ptr @.str7833) %t50 = load ptr, ptr %t39 store ptr %t50, ptr %retval br label %ret ret: %t51 = load ptr, ptr %retval ret ptr %t51 } define ptr @fn_emit_index_addr(ptr %arg_e) { entry: %retval = alloca ptr %t0 = alloca ptr %t5 = alloca ptr %t17 = alloca ptr %t33 = alloca ptr %t50 = alloca ptr %t52 = alloca i32 %t67 = alloca ptr %t86 = alloca ptr %t104 = alloca ptr %t116 = alloca ptr %t122 = alloca ptr %t127 = alloca ptr %t129 = alloca ptr %t135 = alloca ptr %t141 = alloca ptr %t149 = alloca ptr %t158 = alloca ptr %t160 = alloca ptr %t162 = alloca ptr %t184 = alloca ptr %t187 = alloca ptr %t205 = 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 @.str7834) %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 store i32 4824, ptr @lp_site %t26 = call ptr @lp_str_concat(ptr @.str7835, ptr %t25) store i32 0, ptr @lp_site store i32 4825, ptr @lp_site %t27 = call ptr @lp_str_concat(ptr %t26, ptr @.str7837) store i32 0, ptr @lp_site call void @lp_free(ptr %t26) %t28 = load ptr, ptr %t17 %t29 = getelementptr inbounds %Cmp_Val, ptr %t28, i32 0, i32 0 %t30 = load ptr, ptr %t29 store i32 4826, ptr @lp_site %t31 = call ptr @lp_str_concat(ptr %t27, ptr %t30) store i32 0, ptr @lp_site call void @lp_free(ptr %t27) %t32 = call ptr @fn_emit_bind(ptr %t31) store ptr %t32, ptr %t33 store ptr @.str7838, 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 @.str7839) %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 store i32 4827, ptr @lp_site %t43 = call ptr @lp_str_concat(ptr @.str7840, ptr %t42) store i32 0, ptr @lp_site store i32 4828, ptr @lp_site %t44 = call ptr @lp_str_concat(ptr %t43, ptr @.str7841) store i32 0, ptr @lp_site call void @lp_free(ptr %t43) %t45 = load ptr, ptr %t17 %t46 = getelementptr inbounds %Cmp_Val, ptr %t45, i32 0, i32 0 %t47 = load ptr, ptr %t46 store i32 4829, ptr @lp_site %t48 = call ptr @lp_str_concat(ptr %t44, ptr %t47) store i32 0, ptr @lp_site call void @lp_free(ptr %t44) %t49 = call ptr @fn_emit_bind(ptr %t48) store ptr %t49, ptr %t50 store ptr @.str7842, ptr @g_g_addr_ty %t51 = load ptr, ptr %t50 store ptr %t51, ptr %retval br label %ret ifend8: %t53 = load ptr, ptr %t5 %t54 = getelementptr inbounds %Cmp_Val, ptr %t53, i32 0, i32 1 %t55 = load ptr, ptr %t54 %t56 = call i32 @lp_str_eq(ptr %t55, ptr @.str7843) %t57 = icmp ne i32 %t56, 0 %t58 = zext i1 %t57 to i32 store i32 %t58, ptr %t52 br i1 %t57, label %scend10, label %sc9 sc9: %t59 = load ptr, ptr %t5 %t60 = getelementptr inbounds %Cmp_Val, ptr %t59, i32 0, i32 1 %t61 = load ptr, ptr %t60 %t62 = call i32 @lp_str_eq(ptr %t61, ptr @.str7844) %t63 = icmp ne i32 %t62, 0 %t64 = zext i1 %t63 to i32 store i32 %t64, ptr %t52 br label %scend10 scend10: %t65 = load i32, ptr %t52 %t66 = icmp ne i32 %t65, 0 br i1 %t66, label %then11, label %ifend13 then11: store ptr @.str7845, ptr %t67 %t68 = load ptr, ptr %t5 %t69 = getelementptr inbounds %Cmp_Val, ptr %t68, i32 0, i32 1 %t70 = load ptr, ptr %t69 %t71 = call i32 @lp_str_eq(ptr %t70, ptr @.str7846) %t72 = icmp ne i32 %t71, 0 br i1 %t72, label %then14, label %ifend16 then14: store ptr @.str7847, ptr %t67 br label %ifend16 ifend16: %t73 = load ptr, ptr %t67 store i32 4830, ptr @lp_site %t74 = call ptr @lp_str_concat(ptr @.str7848, ptr %t73) store i32 0, ptr @lp_site store i32 4831, ptr @lp_site %t75 = call ptr @lp_str_concat(ptr %t74, ptr @.str7849) store i32 0, ptr @lp_site call void @lp_free(ptr %t74) %t76 = load ptr, ptr %t5 %t77 = getelementptr inbounds %Cmp_Val, ptr %t76, i32 0, i32 0 %t78 = load ptr, ptr %t77 store i32 4832, ptr @lp_site %t79 = call ptr @lp_str_concat(ptr %t75, ptr %t78) store i32 0, ptr @lp_site call void @lp_free(ptr %t75) store i32 4833, ptr @lp_site %t80 = call ptr @lp_str_concat(ptr %t79, ptr @.str7850) store i32 0, ptr @lp_site call void @lp_free(ptr %t79) %t81 = load ptr, ptr %t17 %t82 = getelementptr inbounds %Cmp_Val, ptr %t81, i32 0, i32 0 %t83 = load ptr, ptr %t82 store i32 4834, ptr @lp_site %t84 = call ptr @lp_str_concat(ptr %t80, ptr %t83) store i32 0, ptr @lp_site call void @lp_free(ptr %t80) %t85 = call ptr @fn_emit_bind(ptr %t84) store ptr %t85, ptr %t86 %t87 = load ptr, ptr %t67 store ptr %t87, ptr @g_g_addr_ty %t88 = load ptr, ptr %t86 store ptr %t88, ptr %retval br label %ret ifend13: %t89 = load ptr, ptr %t5 %t90 = getelementptr inbounds %Cmp_Val, ptr %t89, i32 0, i32 1 %t91 = load ptr, ptr %t90 %t92 = call i32 @lp_str_eq(ptr %t91, ptr @.str7851) %t93 = icmp ne i32 %t92, 0 br i1 %t93, label %then17, label %ifend19 then17: %t94 = load ptr, ptr %t5 %t95 = getelementptr inbounds %Cmp_Val, ptr %t94, i32 0, i32 0 %t96 = load ptr, ptr %t95 store i32 4835, ptr @lp_site %t97 = call ptr @lp_str_concat(ptr @.str7852, ptr %t96) store i32 0, ptr @lp_site store i32 4836, ptr @lp_site %t98 = call ptr @lp_str_concat(ptr %t97, ptr @.str7853) store i32 0, ptr @lp_site call void @lp_free(ptr %t97) %t99 = load ptr, ptr %t17 %t100 = getelementptr inbounds %Cmp_Val, ptr %t99, i32 0, i32 0 %t101 = load ptr, ptr %t100 store i32 4837, ptr @lp_site %t102 = call ptr @lp_str_concat(ptr %t98, ptr %t101) store i32 0, ptr @lp_site call void @lp_free(ptr %t98) %t103 = call ptr @fn_emit_bind(ptr %t102) store ptr %t103, ptr %t104 store ptr @.str7854, ptr @g_g_addr_ty %t105 = load ptr, ptr %t104 store ptr %t105, ptr %retval br label %ret ifend19: %t106 = load ptr, ptr %t5 %t107 = getelementptr inbounds %Cmp_Val, ptr %t106, i32 0, i32 0 %t108 = load ptr, ptr %t107 store i32 4838, ptr @lp_site %t109 = call ptr @lp_str_concat(ptr @.str7855, ptr %t108) store i32 0, ptr @lp_site store i32 4839, ptr @lp_site %t110 = call ptr @lp_str_concat(ptr %t109, ptr @.str7856) store i32 0, ptr @lp_site call void @lp_free(ptr %t109) %t111 = load ptr, ptr %t17 %t112 = getelementptr inbounds %Cmp_Val, ptr %t111, i32 0, i32 0 %t113 = load ptr, ptr %t112 store i32 4840, ptr @lp_site %t114 = call ptr @lp_str_concat(ptr %t110, ptr %t113) store i32 0, ptr @lp_site call void @lp_free(ptr %t110) %t115 = call ptr @fn_emit_bind(ptr %t114) store ptr %t115, ptr %t116 store ptr @.str7857, ptr @g_g_addr_ty %t117 = load ptr, ptr %t116 store ptr %t117, ptr %retval br label %ret ifend2: %t118 = load ptr, ptr %t5 %t119 = getelementptr inbounds %Cmp_Val, ptr %t118, i32 0, i32 1 %t120 = load ptr, ptr %t119 %t121 = call ptr @fn_slice_elem(ptr %t120) store ptr %t121, ptr %t122 %t123 = load ptr, ptr %t0 %t124 = getelementptr inbounds %Cmp_Node, ptr %t123, i32 0, i32 5 %t125 = load ptr, ptr %t124 %t126 = call ptr @fn_emit_expr(ptr %t125) store ptr %t126, ptr %t127 %t128 = call ptr @fn_nreg() store ptr %t128, ptr %t129 call void @fn_emit(ptr @.str7858) %t130 = load ptr, ptr %t129 call void @fn_emit(ptr %t130) call void @fn_emit(ptr @.str7859) %t131 = load ptr, ptr %t5 %t132 = getelementptr inbounds %Cmp_Val, ptr %t131, i32 0, i32 0 %t133 = load ptr, ptr %t132 call void @fn_emit(ptr %t133) call void @fn_emit(ptr @.str7860) %t134 = call ptr @fn_nreg() store ptr %t134, ptr %t135 call void @fn_emit(ptr @.str7861) %t136 = load ptr, ptr %t135 call void @fn_emit(ptr %t136) call void @fn_emit(ptr @.str7862) %t137 = load ptr, ptr %t129 call void @fn_emit(ptr %t137) call void @fn_emit(ptr @.str7863) %t138 = load i32, ptr @g_g_bounds %t139 = icmp ne i32 %t138, 0 br i1 %t139, label %then20, label %ifend22 then20: store i32 1, ptr @g_g_uses_bounds %t140 = call ptr @fn_nreg() store ptr %t140, ptr %t141 call void @fn_emit(ptr @.str7864) %t142 = load ptr, ptr %t141 call void @fn_emit(ptr %t142) call void @fn_emit(ptr @.str7865) %t143 = load ptr, ptr %t5 %t144 = getelementptr inbounds %Cmp_Val, ptr %t143, i32 0, i32 0 %t145 = load ptr, ptr %t144 call void @fn_emit(ptr %t145) call void @fn_emit(ptr @.str7866) %t146 = load ptr, ptr %t141 store i32 4841, ptr @lp_site %t147 = call ptr @lp_str_concat(ptr @.str7867, ptr %t146) store i32 0, ptr @lp_site %t148 = call ptr @fn_emit_bind(ptr %t147) store ptr %t148, ptr %t149 %t150 = load ptr, ptr %t127 %t151 = getelementptr inbounds %Cmp_Val, ptr %t150, i32 0, i32 0 %t152 = load ptr, ptr %t151 store i32 4842, ptr @lp_site %t153 = call ptr @lp_str_concat(ptr @.str7868, ptr %t152) store i32 0, ptr @lp_site store i32 4843, ptr @lp_site %t154 = call ptr @lp_str_concat(ptr %t153, ptr @.str7869) store i32 0, ptr @lp_site call void @lp_free(ptr %t153) %t155 = load ptr, ptr %t149 store i32 4844, ptr @lp_site %t156 = call ptr @lp_str_concat(ptr %t154, ptr %t155) store i32 0, ptr @lp_site call void @lp_free(ptr %t154) %t157 = call ptr @fn_emit_bind(ptr %t156) store ptr %t157, ptr %t158 %t159 = call ptr @fn_lbl(ptr @.str7870) store ptr %t159, ptr %t160 %t161 = call ptr @fn_lbl(ptr @.str7871) store ptr %t161, ptr %t162 %t163 = load ptr, ptr %t158 store i32 4845, ptr @lp_site %t164 = call ptr @lp_str_concat(ptr @.str7872, ptr %t163) store i32 0, ptr @lp_site store i32 4846, ptr @lp_site %t165 = call ptr @lp_str_concat(ptr %t164, ptr @.str7873) store i32 0, ptr @lp_site call void @lp_free(ptr %t164) %t166 = load ptr, ptr %t160 store i32 4847, ptr @lp_site %t167 = call ptr @lp_str_concat(ptr %t165, ptr %t166) store i32 0, ptr @lp_site call void @lp_free(ptr %t165) store i32 4848, ptr @lp_site %t168 = call ptr @lp_str_concat(ptr %t167, ptr @.str7874) store i32 0, ptr @lp_site call void @lp_free(ptr %t167) %t169 = load ptr, ptr %t162 store i32 4849, ptr @lp_site %t170 = call ptr @lp_str_concat(ptr %t168, ptr %t169) store i32 0, ptr @lp_site call void @lp_free(ptr %t168) store i32 4850, ptr @lp_site %t171 = call ptr @lp_str_concat(ptr %t170, ptr @.str7875) store i32 0, ptr @lp_site call void @lp_free(ptr %t170) call void @fn_emit(ptr %t171) %t172 = load ptr, ptr %t162 store i32 4851, ptr @lp_site %t173 = call ptr @lp_str_concat(ptr %t172, ptr @.str7876) store i32 0, ptr @lp_site call void @fn_emit(ptr %t173) %t174 = load ptr, ptr %t0 %t175 = call ptr @fn_src_name_of(ptr %t174) store i32 4852, ptr @lp_site %t176 = call ptr @lp_str_concat(ptr %t175, ptr @.str7877) store i32 0, ptr @lp_site %t177 = load ptr, ptr %t0 %t178 = getelementptr inbounds %Cmp_Node, ptr %t177, i32 0, i32 8 %t179 = load i32, ptr %t178 %t180 = call ptr @fn_itoa(i32 %t179) store i32 4853, ptr @lp_site %t181 = call ptr @lp_str_concat(ptr %t176, ptr %t180) store i32 0, ptr @lp_site call void @lp_free(ptr %t176) store i32 4854, ptr @lp_site %t182 = call ptr @lp_str_concat(ptr %t181, ptr @.str7878) store i32 0, ptr @lp_site call void @lp_free(ptr %t181) %t183 = call ptr @fn_emit_str_const(ptr %t182) store ptr %t183, ptr %t184 %t185 = call ptr @fn_stdstream_rhs(i32 2) %t186 = call ptr @fn_emit_bind(ptr %t185) store ptr %t186, ptr %t187 %t188 = load ptr, ptr %t187 store i32 4855, ptr @lp_site %t189 = call ptr @lp_str_concat(ptr @.str7879, ptr %t188) store i32 0, ptr @lp_site store i32 4856, ptr @lp_site %t190 = call ptr @lp_str_concat(ptr %t189, ptr @.str7880) store i32 0, ptr @lp_site call void @lp_free(ptr %t189) %t191 = load ptr, ptr %t184 store i32 4857, ptr @lp_site %t192 = call ptr @lp_str_concat(ptr %t190, ptr %t191) store i32 0, ptr @lp_site call void @lp_free(ptr %t190) store i32 4858, ptr @lp_site %t193 = call ptr @lp_str_concat(ptr %t192, ptr @.str7881) store i32 0, ptr @lp_site call void @lp_free(ptr %t192) %t194 = load ptr, ptr %t127 %t195 = getelementptr inbounds %Cmp_Val, ptr %t194, i32 0, i32 0 %t196 = load ptr, ptr %t195 store i32 4859, ptr @lp_site %t197 = call ptr @lp_str_concat(ptr %t193, ptr %t196) store i32 0, ptr @lp_site call void @lp_free(ptr %t193) store i32 4860, ptr @lp_site %t198 = call ptr @lp_str_concat(ptr %t197, ptr @.str7882) store i32 0, ptr @lp_site call void @lp_free(ptr %t197) %t199 = load ptr, ptr %t149 store i32 4861, ptr @lp_site %t200 = call ptr @lp_str_concat(ptr %t198, ptr %t199) store i32 0, ptr @lp_site call void @lp_free(ptr %t198) store i32 4862, ptr @lp_site %t201 = call ptr @lp_str_concat(ptr %t200, ptr @.str7883) store i32 0, ptr @lp_site call void @lp_free(ptr %t200) call void @fn_emit(ptr %t201) call void @fn_emit(ptr @.str7884) %t202 = load ptr, ptr %t160 store i32 4863, ptr @lp_site %t203 = call ptr @lp_str_concat(ptr %t202, ptr @.str7885) store i32 0, ptr @lp_site call void @fn_emit(ptr %t203) br label %ifend22 ifend22: %t204 = call ptr @fn_nreg() store ptr %t204, ptr %t205 call void @fn_emit(ptr @.str7886) %t206 = load ptr, ptr %t205 call void @fn_emit(ptr %t206) call void @fn_emit(ptr @.str7887) %t207 = load ptr, ptr %t122 %t208 = call ptr @fn_llty(ptr %t207) call void @fn_emit(ptr %t208) call void @fn_emit(ptr @.str7888) %t209 = load ptr, ptr %t135 call void @fn_emit(ptr %t209) call void @fn_emit(ptr @.str7889) %t210 = load ptr, ptr %t127 %t211 = getelementptr inbounds %Cmp_Val, ptr %t210, i32 0, i32 0 %t212 = load ptr, ptr %t211 call void @fn_emit(ptr %t212) call void @fn_emit(ptr @.str7890) %t213 = load ptr, ptr %t122 store ptr %t213, ptr @g_g_addr_ty %t214 = load ptr, ptr %t205 store ptr %t214, ptr %retval br label %ret ret: %t215 = load ptr, ptr %retval ret ptr %t215 } 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 @.str7891) %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 @.str7892) %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 @.str7893) %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 @.str7894) %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 @.str7895) %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 @.str7896) %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 @.str7897) %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 @.str7898) %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 @.str7899) %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 @.str7900) %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 @.str7901) %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 @.str7902) %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 @.str7903) %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 @.str7904) %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 @.str7905) %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 %t3 = alloca i32 %t5 = alloca ptr store ptr %arg_rest, ptr %t0 %t1 = load ptr, ptr %t0 %t2 = call i32 @fn_fence_bind(ptr %t1) store i32 %t2, ptr %t3 %t4 = call ptr @fn_nreg() store ptr %t4, ptr %t5 call void @fn_emit(ptr @.str7906) %t6 = load ptr, ptr %t5 call void @fn_emit(ptr %t6) call void @fn_emit(ptr @.str7907) %t7 = load ptr, ptr %t0 call void @fn_emit(ptr %t7) call void @fn_emit(ptr @.str7908) %t8 = load i32, ptr %t3 %t9 = icmp ne i32 %t8, 0 br i1 %t9, label %then0, label %ifend2 then0: call void @fn_emit(ptr @.str7909) br label %ifend2 ifend2: %t10 = load i32, ptr @g_g_site_reset %t11 = icmp ne i32 %t10, 0 br i1 %t11, label %then3, label %ifend5 then3: call void @fn_emit(ptr @.str7910) store i32 0, ptr @g_g_site_reset br label %ifend5 ifend5: %t12 = load ptr, ptr %t5 store ptr %t12, ptr %retval br label %ret ret: %t13 = load ptr, ptr %retval ret ptr %t13 } define ptr @fn_arg_code(ptr %arg_e, i32 %arg_i) { entry: %retval = alloca ptr %t0 = alloca ptr %t1 = alloca i32 %t15 = 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 = load i32, ptr %t1 %t6 = getelementptr inbounds %LSlice, ptr %t4, i32 0, i32 0 %t7 = load ptr, ptr %t6 %t8 = getelementptr inbounds %LSlice, ptr %t4, i32 0, i32 1 %t9 = load i32, ptr %t8 %t10 = icmp ult i32 %t5, %t9 br i1 %t10, label %ixok0, label %ixbad1 ixbad1: store i32 4864, ptr @lp_site %t11 = call ptr @lp_win_stdio(i32 2) store i32 0, ptr @lp_site call i32 (ptr, ptr, ...) @fprintf(ptr %t11, ptr @.fmt_bounds, ptr @.str7911, i32 %t5, i32 %t9) call void @exit(i32 1) unreachable ixok0: %t12 = getelementptr inbounds ptr, ptr %t7, i32 %t5 %t13 = load ptr, ptr %t12 %t14 = call ptr @fn_emit_expr(ptr %t13) store ptr %t14, ptr %t15 %t16 = load ptr, ptr %t15 %t17 = getelementptr inbounds %Cmp_Val, ptr %t16, i32 0, i32 0 %t18 = load ptr, ptr %t17 store ptr %t18, ptr %retval br label %ret ret: %t19 = load ptr, ptr %retval ret ptr %t19 } define ptr @fn_arg_buf(ptr %arg_e, i32 %arg_i) { entry: %retval = alloca ptr %t0 = alloca ptr %t1 = alloca i32 %t15 = 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 = load i32, ptr %t1 %t6 = getelementptr inbounds %LSlice, ptr %t4, i32 0, i32 0 %t7 = load ptr, ptr %t6 %t8 = getelementptr inbounds %LSlice, ptr %t4, i32 0, i32 1 %t9 = load i32, ptr %t8 %t10 = icmp ult i32 %t5, %t9 br i1 %t10, label %ixok0, label %ixbad1 ixbad1: store i32 4865, ptr @lp_site %t11 = call ptr @lp_win_stdio(i32 2) store i32 0, ptr @lp_site call i32 (ptr, ptr, ...) @fprintf(ptr %t11, ptr @.fmt_bounds, ptr @.str7913, i32 %t5, i32 %t9) call void @exit(i32 1) unreachable ixok0: %t12 = getelementptr inbounds ptr, ptr %t7, i32 %t5 %t13 = load ptr, ptr %t12 %t14 = call ptr @fn_emit_expr(ptr %t13) store ptr %t14, ptr %t15 %t16 = load ptr, ptr %t15 %t17 = getelementptr inbounds %Cmp_Val, ptr %t16, i32 0, i32 1 %t18 = load ptr, ptr %t17 %t19 = call i32 @fn_is_slice_ty(ptr %t18) %t20 = icmp ne i32 %t19, 0 br i1 %t20, label %then2, label %ifend4 then2: %t21 = load ptr, ptr %t15 %t22 = getelementptr inbounds %Cmp_Val, ptr %t21, i32 0, i32 0 %t23 = load ptr, ptr %t22 %t24 = call ptr @fn_slice_field(ptr %t23, i32 0) store i32 4866, ptr @lp_site %t25 = call ptr @lp_str_concat(ptr @.str7915, ptr %t24) store i32 0, ptr @lp_site %t26 = call ptr @fn_emit_bind(ptr %t25) store ptr %t26, ptr %retval br label %ret ifend4: %t27 = load ptr, ptr %t15 %t28 = getelementptr inbounds %Cmp_Val, ptr %t27, i32 0, i32 0 %t29 = load ptr, ptr %t28 store ptr %t29, ptr %retval br label %ret ret: %t30 = load ptr, ptr %retval ret ptr %t30 } 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 %t69 = alloca ptr %t72 = alloca ptr %t77 = alloca ptr %t78 = alloca ptr %t95 = alloca ptr %t106 = alloca ptr %t109 = alloca ptr %t112 = alloca ptr %t117 = alloca ptr %t134 = alloca ptr %t139 = alloca ptr %t150 = alloca ptr %t158 = alloca ptr %t171 = alloca ptr %t173 = alloca ptr %t180 = alloca ptr %t190 = alloca ptr %t210 = alloca ptr %t221 = 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 @.str7916) %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 store i32 4867, ptr @lp_site %t12 = call ptr @lp_str_concat(ptr @.str7917, ptr %t11) store i32 0, ptr @lp_site store i32 4868, ptr @lp_site %t13 = call ptr @lp_str_concat(ptr %t12, ptr @.str7919) store i32 0, ptr @lp_site call void @lp_free(ptr %t12) %t14 = call ptr @fn_emit_bind(ptr %t13) store ptr %t14, ptr %t15 %t16 = load ptr, ptr %t7 store i32 4869, ptr @lp_site %t17 = call ptr @lp_str_concat(ptr @.str7920, ptr %t16) store i32 0, ptr @lp_site store i32 4870, ptr @lp_site %t18 = call ptr @lp_str_concat(ptr %t17, ptr @.str7921) store i32 0, ptr @lp_site call void @lp_free(ptr %t17) %t19 = load ptr, ptr %t15 store i32 4871, ptr @lp_site %t20 = call ptr @lp_str_concat(ptr %t18, ptr %t19) store i32 0, ptr @lp_site call void @lp_free(ptr %t18) store i32 4872, ptr @lp_site %t21 = call ptr @lp_str_concat(ptr %t20, ptr @.str7922) store i32 0, ptr @lp_site call void @lp_free(ptr %t20) %t22 = call ptr @fn_emit_bind(ptr %t21) %t23 = call ptr @fn_val(ptr %t22, ptr @.str7923) store ptr %t23, ptr %retval br label %ret ifend2: %t24 = load ptr, ptr %t0 %t25 = call i32 @lp_str_eq(ptr %t24, ptr @.str7924) %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 store i32 4873, ptr @lp_site %t34 = call ptr @lp_str_concat(ptr @.str7925, ptr %t33) store i32 0, ptr @lp_site store i32 4874, ptr @lp_site %t35 = call ptr @lp_str_concat(ptr %t34, ptr @.str7926) store i32 0, ptr @lp_site call void @lp_free(ptr %t34) %t36 = load ptr, ptr %t32 store i32 4875, ptr @lp_site %t37 = call ptr @lp_str_concat(ptr %t35, ptr %t36) store i32 0, ptr @lp_site call void @lp_free(ptr %t35) store i32 4876, ptr @lp_site %t38 = call ptr @lp_str_concat(ptr %t37, ptr @.str7927) store i32 0, ptr @lp_site call void @lp_free(ptr %t37) %t39 = call ptr @fn_emit_bind(ptr %t38) %t40 = call ptr @fn_val(ptr %t39, ptr @.str7928) store ptr %t40, ptr %retval br label %ret ifend5: %t42 = load ptr, ptr %t0 %t43 = call i32 @lp_str_eq(ptr %t42, ptr @.str7929) %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 @.str7930) %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 = 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 %LSlice, ptr %t57, i32 0, i32 1 %t61 = load i32, ptr %t60 %t62 = icmp ult i32 1, %t61 br i1 %t62, label %ixok11, label %ixbad12 ixbad12: store i32 4877, ptr @lp_site %t63 = call ptr @lp_win_stdio(i32 2) store i32 0, ptr @lp_site call i32 (ptr, ptr, ...) @fprintf(ptr %t63, ptr @.fmt_bounds, ptr @.str7931, i32 1, i32 %t61) call void @exit(i32 1) unreachable ixok11: %t64 = getelementptr inbounds ptr, ptr %t59, i32 1 %t65 = load ptr, ptr %t64 %t66 = call ptr @fn_raw_expr(ptr %t65) %t67 = getelementptr inbounds %Cmp_Val, ptr %t66, i32 0, i32 0 %t68 = load ptr, ptr %t67 store ptr %t68, ptr %t69 %t70 = load ptr, ptr %t1 %t71 = call ptr @fn_arg_code(ptr %t70, i32 2) store ptr %t71, ptr %t72 %t73 = load ptr, ptr %t72 store i32 4878, ptr @lp_site %t74 = call ptr @lp_str_concat(ptr @.str7932, ptr %t73) store i32 0, ptr @lp_site store i32 4879, ptr @lp_site %t75 = call ptr @lp_str_concat(ptr %t74, ptr @.str7933) store i32 0, ptr @lp_site call void @lp_free(ptr %t74) %t76 = call ptr @fn_emit_bind(ptr %t75) store ptr %t76, ptr %t77 store ptr @.str7934, ptr %t78 %t79 = load ptr, ptr %t0 %t80 = call i32 @lp_str_eq(ptr %t79, ptr @.str7935) %t81 = icmp ne i32 %t80, 0 br i1 %t81, label %then13, label %ifend15 then13: store ptr @.str7936, ptr %t78 br label %ifend15 ifend15: %t82 = load ptr, ptr %t78 store i32 4880, ptr @lp_site %t83 = call ptr @lp_str_concat(ptr @.str7937, ptr %t82) store i32 0, ptr @lp_site store i32 4881, ptr @lp_site %t84 = call ptr @lp_str_concat(ptr %t83, ptr @.str7938) store i32 0, ptr @lp_site call void @lp_free(ptr %t83) %t85 = load ptr, ptr %t69 store i32 4882, ptr @lp_site %t86 = call ptr @lp_str_concat(ptr %t84, ptr %t85) store i32 0, ptr @lp_site call void @lp_free(ptr %t84) store i32 4883, ptr @lp_site %t87 = call ptr @lp_str_concat(ptr %t86, ptr @.str7939) store i32 0, ptr @lp_site call void @lp_free(ptr %t86) %t88 = load ptr, ptr %t77 store i32 4884, ptr @lp_site %t89 = call ptr @lp_str_concat(ptr %t87, ptr %t88) store i32 0, ptr @lp_site call void @lp_free(ptr %t87) store i32 4885, ptr @lp_site %t90 = call ptr @lp_str_concat(ptr %t89, ptr @.str7940) store i32 0, ptr @lp_site call void @lp_free(ptr %t89) %t91 = load ptr, ptr %t54 store i32 4886, ptr @lp_site %t92 = call ptr @lp_str_concat(ptr %t90, ptr %t91) store i32 0, ptr @lp_site call void @lp_free(ptr %t90) store i32 4887, ptr @lp_site %t93 = call ptr @lp_str_concat(ptr %t92, ptr @.str7941) store i32 0, ptr @lp_site call void @lp_free(ptr %t92) %t94 = call ptr @fn_emit_bind(ptr %t93) store ptr %t94, ptr %t95 %t96 = load ptr, ptr %t95 store i32 4888, ptr @lp_site %t97 = call ptr @lp_str_concat(ptr @.str7942, ptr %t96) store i32 0, ptr @lp_site store i32 4889, ptr @lp_site %t98 = call ptr @lp_str_concat(ptr %t97, ptr @.str7943) store i32 0, ptr @lp_site call void @lp_free(ptr %t97) %t99 = call ptr @fn_emit_bind(ptr %t98) %t100 = call ptr @fn_val(ptr %t99, ptr @.str7944) store ptr %t100, ptr %retval br label %ret ifend10: %t101 = load ptr, ptr %t0 %t102 = call i32 @lp_str_eq(ptr %t101, ptr @.str7945) %t103 = icmp ne i32 %t102, 0 br i1 %t103, label %then16, label %ifend18 then16: %t104 = load ptr, ptr %t1 %t105 = call ptr @fn_arg_code(ptr %t104, i32 0) store ptr %t105, ptr %t106 %t107 = load ptr, ptr %t1 %t108 = call ptr @fn_arg_code(ptr %t107, i32 1) store ptr %t108, ptr %t109 %t110 = load ptr, ptr %t1 %t111 = call ptr @fn_arg_code(ptr %t110, i32 2) store ptr %t111, ptr %t112 %t113 = load ptr, ptr %t109 store i32 4890, ptr @lp_site %t114 = call ptr @lp_str_concat(ptr @.str7946, ptr %t113) store i32 0, ptr @lp_site store i32 4891, ptr @lp_site %t115 = call ptr @lp_str_concat(ptr %t114, ptr @.str7947) store i32 0, ptr @lp_site call void @lp_free(ptr %t114) %t116 = call ptr @fn_emit_bind(ptr %t115) store ptr %t116, ptr %t117 %t118 = load ptr, ptr %t106 store i32 4892, ptr @lp_site %t119 = call ptr @lp_str_concat(ptr @.str7948, ptr %t118) store i32 0, ptr @lp_site store i32 4893, ptr @lp_site %t120 = call ptr @lp_str_concat(ptr %t119, ptr @.str7949) store i32 0, ptr @lp_site call void @lp_free(ptr %t119) %t121 = load ptr, ptr %t117 store i32 4894, ptr @lp_site %t122 = call ptr @lp_str_concat(ptr %t120, ptr %t121) store i32 0, ptr @lp_site call void @lp_free(ptr %t120) store i32 4895, ptr @lp_site %t123 = call ptr @lp_str_concat(ptr %t122, ptr @.str7950) store i32 0, ptr @lp_site call void @lp_free(ptr %t122) %t124 = load ptr, ptr %t112 store i32 4896, ptr @lp_site %t125 = call ptr @lp_str_concat(ptr %t123, ptr %t124) store i32 0, ptr @lp_site call void @lp_free(ptr %t123) store i32 4897, ptr @lp_site %t126 = call ptr @lp_str_concat(ptr %t125, ptr @.str7951) store i32 0, ptr @lp_site call void @lp_free(ptr %t125) %t127 = call ptr @fn_emit_bind(ptr %t126) %t128 = call ptr @fn_val(ptr %t127, ptr @.str7952) store ptr %t128, ptr %retval br label %ret ifend18: %t129 = load ptr, ptr %t0 %t130 = call i32 @lp_str_eq(ptr %t129, ptr @.str7953) %t131 = icmp ne i32 %t130, 0 br i1 %t131, label %then19, label %ifend21 then19: %t132 = load ptr, ptr %t1 %t133 = call ptr @fn_arg_code(ptr %t132, i32 0) store ptr %t133, ptr %t134 %t135 = load ptr, ptr %t134 store i32 4898, ptr @lp_site %t136 = call ptr @lp_str_concat(ptr @.str7954, ptr %t135) store i32 0, ptr @lp_site store i32 4899, ptr @lp_site %t137 = call ptr @lp_str_concat(ptr %t136, ptr @.str7955) store i32 0, ptr @lp_site call void @lp_free(ptr %t136) %t138 = call ptr @fn_emit_bind(ptr %t137) store ptr %t138, ptr %t139 %t140 = load ptr, ptr %t139 store i32 4900, ptr @lp_site %t141 = call ptr @lp_str_concat(ptr @.str7956, ptr %t140) store i32 0, ptr @lp_site store i32 4901, ptr @lp_site %t142 = call ptr @lp_str_concat(ptr %t141, ptr @.str7957) store i32 0, ptr @lp_site call void @lp_free(ptr %t141) %t143 = call ptr @fn_emit_bind(ptr %t142) %t144 = call ptr @fn_val(ptr %t143, ptr @.str7958) store ptr %t144, ptr %retval br label %ret ifend21: %t145 = load ptr, ptr %t0 %t146 = call i32 @lp_str_eq(ptr %t145, ptr @.str7959) %t147 = icmp ne i32 %t146, 0 br i1 %t147, label %then22, label %ifend24 then22: %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 @.str7960) %t151 = load ptr, ptr %t150 call void @fn_emit(ptr %t151) call void @fn_emit(ptr @.str7961) %t152 = call ptr @fn_val(ptr @.str7962, ptr @.str7963) store ptr %t152, ptr %retval br label %ret ifend24: %t153 = load ptr, ptr %t0 %t154 = call i32 @lp_str_eq(ptr %t153, ptr @.str7964) %t155 = icmp ne i32 %t154, 0 br i1 %t155, label %then25, label %ifend27 then25: store i32 1, ptr @g_g_uses_world_despawn %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 @.str7965) %t159 = load ptr, ptr %t158 call void @fn_emit(ptr %t159) call void @fn_emit(ptr @.str7966) %t160 = call ptr @fn_val(ptr @.str7967, ptr @.str7968) store ptr %t160, ptr %retval br label %ret ifend27: %t161 = load ptr, ptr %t0 %t162 = call i32 @lp_str_eq(ptr %t161, ptr @.str7969) %t163 = icmp ne i32 %t162, 0 br i1 %t163, label %then28, label %ifend30 then28: %t164 = call ptr @fn_emit_bind(ptr @.str7970) %t165 = call ptr @fn_val(ptr %t164, ptr @.str7971) store ptr %t165, ptr %retval br label %ret ifend30: %t166 = load ptr, ptr %t0 %t167 = call i32 @lp_str_eq(ptr %t166, ptr @.str7972) %t168 = icmp ne i32 %t167, 0 br i1 %t168, label %then31, label %ifend33 then31: %t169 = load ptr, ptr %t1 %t170 = call ptr @fn_arg_code(ptr %t169, i32 0) store ptr %t170, ptr %t171 %t172 = call ptr @fn_emit_bind(ptr @.str7973) store ptr %t172, ptr %t173 %t174 = load ptr, ptr %t173 store i32 4902, ptr @lp_site %t175 = call ptr @lp_str_concat(ptr @.str7974, ptr %t174) store i32 0, ptr @lp_site store i32 4903, ptr @lp_site %t176 = call ptr @lp_str_concat(ptr %t175, ptr @.str7975) store i32 0, ptr @lp_site call void @lp_free(ptr %t175) %t177 = load ptr, ptr %t171 store i32 4904, ptr @lp_site %t178 = call ptr @lp_str_concat(ptr %t176, ptr %t177) store i32 0, ptr @lp_site call void @lp_free(ptr %t176) %t179 = call ptr @fn_emit_bind(ptr %t178) store ptr %t179, ptr %t180 %t181 = load ptr, ptr %t180 store i32 4905, ptr @lp_site %t182 = call ptr @lp_str_concat(ptr @.str7976, ptr %t181) store i32 0, ptr @lp_site %t183 = call ptr @fn_emit_bind(ptr %t182) %t184 = call ptr @fn_val(ptr %t183, ptr @.str7977) store ptr %t184, ptr %retval br label %ret ifend33: %t185 = load ptr, ptr %t0 %t186 = call i32 @lp_str_eq(ptr %t185, ptr @.str7978) %t187 = icmp ne i32 %t186, 0 br i1 %t187, label %then34, label %ifend36 then34: %t188 = load ptr, ptr %t1 %t189 = call ptr @fn_arg_code(ptr %t188, i32 0) store ptr %t189, ptr %t190 call void @fn_emit(ptr @.str7979) %t191 = load ptr, ptr %t190 call void @fn_emit(ptr %t191) call void @fn_emit(ptr @.str7980) call void @fn_emit(ptr @.str7981) store i32 1, ptr @g_g_term %t192 = call ptr @fn_val(ptr @.str7982, ptr @.str7983) store ptr %t192, ptr %retval br label %ret ifend36: %t193 = load ptr, ptr %t0 %t194 = call i32 @lp_str_eq(ptr %t193, ptr @.str7984) %t195 = icmp ne i32 %t194, 0 br i1 %t195, label %then37, label %ifend39 then37: %t196 = call ptr @fn_stdstream_rhs(i32 2) %t197 = call ptr @fn_emit_bind(ptr %t196) %t198 = call ptr @fn_val(ptr %t197, ptr @.str7985) store ptr %t198, ptr %retval br label %ret ifend39: %t199 = load ptr, ptr %t0 %t200 = call i32 @lp_str_eq(ptr %t199, ptr @.str7986) %t201 = icmp ne i32 %t200, 0 br i1 %t201, label %then40, label %ifend42 then40: %t202 = call ptr @fn_stdstream_rhs(i32 1) %t203 = call ptr @fn_emit_bind(ptr %t202) %t204 = call ptr @fn_val(ptr %t203, ptr @.str7987) store ptr %t204, ptr %retval br label %ret ifend42: %t205 = load ptr, ptr %t0 %t206 = call i32 @lp_str_eq(ptr %t205, ptr @.str7988) %t207 = icmp ne i32 %t206, 0 br i1 %t207, label %then43, label %ifend45 then43: %t208 = load ptr, ptr %t1 %t209 = call ptr @fn_arg_code(ptr %t208, i32 0) store ptr %t209, ptr %t210 %t211 = load ptr, ptr %t210 store i32 4906, ptr @lp_site %t212 = call ptr @lp_str_concat(ptr @.str7989, ptr %t211) store i32 0, ptr @lp_site store i32 4907, ptr @lp_site %t213 = call ptr @lp_str_concat(ptr %t212, ptr @.str7990) store i32 0, ptr @lp_site call void @lp_free(ptr %t212) %t214 = call ptr @fn_emit_bind(ptr %t213) %t215 = call ptr @fn_val(ptr %t214, ptr @.str7991) store ptr %t215, ptr %retval br label %ret ifend45: %t216 = load ptr, ptr %t0 %t217 = call i32 @lp_str_eq(ptr %t216, ptr @.str7992) %t218 = icmp ne i32 %t217, 0 br i1 %t218, label %then46, label %ifend48 then46: %t219 = load ptr, ptr %t1 %t220 = call ptr @fn_arg_code(ptr %t219, i32 0) store ptr %t220, ptr %t221 %t222 = load ptr, ptr %t221 store i32 4908, ptr @lp_site %t223 = call ptr @lp_str_concat(ptr @.str7993, ptr %t222) store i32 0, ptr @lp_site store i32 4909, ptr @lp_site %t224 = call ptr @lp_str_concat(ptr %t223, ptr @.str7994) store i32 0, ptr @lp_site call void @lp_free(ptr %t223) %t225 = call ptr @fn_emit_bind(ptr %t224) %t226 = call ptr @fn_val(ptr %t225, ptr @.str7995) store ptr %t226, ptr %retval br label %ret ifend48: store i32 0, ptr @g_g_intrin_ok %t227 = call ptr @fn_val(ptr @.str7996, ptr @.str7997) store ptr %t227, ptr %retval br label %ret ret: %t228 = load ptr, ptr %retval ret ptr %t228 } 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) store i32 4910, ptr @lp_site %t5 = call ptr @lp_str_concat(ptr @.str7998, ptr %t4) store i32 0, ptr @lp_site store i32 4911, ptr @lp_site %t6 = call ptr @lp_str_concat(ptr %t5, ptr @.str8000) store i32 0, ptr @lp_site call void @lp_free(ptr %t5) 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 @.str8001, ptr %retval br label %ret ifend5: store ptr @.str8002, 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 %t35 = alloca i32 %t53 = alloca i32 %t54 = alloca i32 %t72 = alloca i32 %t83 = alloca i32 %t100 = alloca i32 %t114 = alloca i32 %t115 = alloca i32 %t133 = alloca i32 %t134 = alloca i32 %t135 = alloca i32 %t160 = alloca i32 %t161 = alloca i32 %t179 = alloca i32 %t180 = alloca i32 %t181 = alloca i32 %t206 = alloca i32 %t207 = alloca i32 store ptr %arg_name, ptr %t0 %t2 = load ptr, ptr %t0 %t3 = call i32 @lp_str_eq(ptr %t2, ptr @.str8003) %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 @.str8004) %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 @.str8005) %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 @.str8006) %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 @.str8007) %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 @.str8008) %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: %t36 = load ptr, ptr %t0 %t37 = call i32 @lp_str_eq(ptr %t36, ptr @.str8009) %t38 = icmp ne i32 %t37, 0 %t39 = zext i1 %t38 to i32 store i32 %t39, ptr %t35 br i1 %t38, label %scend16, label %sc15 sc15: %t40 = load ptr, ptr %t0 %t41 = call i32 @lp_str_eq(ptr %t40, ptr @.str8010) %t42 = icmp ne i32 %t41, 0 %t43 = zext i1 %t42 to i32 store i32 %t43, ptr %t35 br label %scend16 scend16: %t44 = load i32, ptr %t35 %t45 = icmp ne i32 %t44, 0 %t46 = zext i1 %t45 to i32 store i32 %t46, ptr %t34 br i1 %t45, label %scend18, label %sc17 sc17: %t47 = load ptr, ptr %t0 %t48 = call i32 @lp_str_eq(ptr %t47, ptr @.str8011) %t49 = icmp ne i32 %t48, 0 %t50 = zext i1 %t49 to i32 store i32 %t50, ptr %t34 br label %scend18 scend18: %t51 = load i32, ptr %t34 %t52 = icmp ne i32 %t51, 0 br i1 %t52, label %then19, label %ifend21 then19: store i32 1, ptr %retval br label %ret ifend21: %t55 = load ptr, ptr %t0 %t56 = call i32 @lp_str_eq(ptr %t55, ptr @.str8012) %t57 = icmp ne i32 %t56, 0 %t58 = zext i1 %t57 to i32 store i32 %t58, ptr %t54 br i1 %t57, label %scend23, label %sc22 sc22: %t59 = load ptr, ptr %t0 %t60 = call i32 @lp_str_eq(ptr %t59, ptr @.str8013) %t61 = icmp ne i32 %t60, 0 %t62 = zext i1 %t61 to i32 store i32 %t62, ptr %t54 br label %scend23 scend23: %t63 = load i32, ptr %t54 %t64 = icmp ne i32 %t63, 0 %t65 = zext i1 %t64 to i32 store i32 %t65, ptr %t53 br i1 %t64, label %scend25, label %sc24 sc24: %t66 = load ptr, ptr %t0 %t67 = call i32 @lp_str_eq(ptr %t66, ptr @.str8014) %t68 = icmp ne i32 %t67, 0 %t69 = zext i1 %t68 to i32 store i32 %t69, ptr %t53 br label %scend25 scend25: %t70 = load i32, ptr %t53 %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 @.str8015) %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 @.str8016) %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: %t84 = load ptr, ptr %t0 %t85 = call i32 @lp_str_eq(ptr %t84, ptr @.str8017) %t86 = icmp ne i32 %t85, 0 %t87 = zext i1 %t86 to i32 store i32 %t87, ptr %t83 br i1 %t86, label %scend35, label %sc34 sc34: %t88 = load ptr, ptr %t0 %t89 = call i32 @lp_str_eq(ptr %t88, ptr @.str8018) %t90 = icmp ne i32 %t89, 0 %t91 = zext i1 %t90 to i32 store i32 %t91, ptr %t83 br label %scend35 scend35: %t92 = load i32, ptr %t83 %t93 = icmp ne i32 %t92, 0 br i1 %t93, label %then36, label %ifend38 then36: store i32 1, ptr %retval br label %ret ifend38: %t94 = load ptr, ptr %t0 %t95 = call i32 @lp_str_eq(ptr %t94, ptr @.str8019) %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 @.str8020) %t99 = icmp ne i32 %t98, 0 br i1 %t99, label %then42, label %ifend44 then42: store i32 1, ptr %retval br label %ret ifend44: %t101 = load ptr, ptr %t0 %t102 = call i32 @lp_str_eq(ptr %t101, ptr @.str8021) %t103 = icmp ne i32 %t102, 0 %t104 = zext i1 %t103 to i32 store i32 %t104, ptr %t100 br i1 %t103, label %scend46, label %sc45 sc45: %t105 = load ptr, ptr %t0 %t106 = call i32 @lp_str_eq(ptr %t105, ptr @.str8022) %t107 = icmp ne i32 %t106, 0 %t108 = zext i1 %t107 to i32 store i32 %t108, ptr %t100 br label %scend46 scend46: %t109 = load i32, ptr %t100 %t110 = icmp ne i32 %t109, 0 br i1 %t110, label %then47, label %ifend49 then47: store i32 1, ptr %retval br label %ret ifend49: %t111 = load ptr, ptr %t0 %t112 = call i32 @lp_str_eq(ptr %t111, ptr @.str8023) %t113 = icmp ne i32 %t112, 0 br i1 %t113, label %then50, label %ifend52 then50: store i32 1, ptr %retval br label %ret ifend52: %t116 = load ptr, ptr %t0 %t117 = call i32 @lp_str_eq(ptr %t116, ptr @.str8024) %t118 = icmp ne i32 %t117, 0 %t119 = zext i1 %t118 to i32 store i32 %t119, ptr %t115 br i1 %t118, label %scend54, label %sc53 sc53: %t120 = load ptr, ptr %t0 %t121 = call i32 @lp_str_eq(ptr %t120, ptr @.str8025) %t122 = icmp ne i32 %t121, 0 %t123 = zext i1 %t122 to i32 store i32 %t123, ptr %t115 br label %scend54 scend54: %t124 = load i32, ptr %t115 %t125 = icmp ne i32 %t124, 0 %t126 = zext i1 %t125 to i32 store i32 %t126, ptr %t114 br i1 %t125, label %scend56, label %sc55 sc55: %t127 = load ptr, ptr %t0 %t128 = call i32 @lp_str_eq(ptr %t127, ptr @.str8026) %t129 = icmp ne i32 %t128, 0 %t130 = zext i1 %t129 to i32 store i32 %t130, ptr %t114 br label %scend56 scend56: %t131 = load i32, ptr %t114 %t132 = icmp ne i32 %t131, 0 br i1 %t132, label %then57, label %ifend59 then57: store i32 1, ptr %retval br label %ret ifend59: %t136 = load ptr, ptr %t0 %t137 = call i32 @lp_str_eq(ptr %t136, ptr @.str8027) %t138 = icmp ne i32 %t137, 0 %t139 = zext i1 %t138 to i32 store i32 %t139, ptr %t135 br i1 %t138, label %scend61, label %sc60 sc60: %t140 = load ptr, ptr %t0 %t141 = call i32 @lp_str_eq(ptr %t140, ptr @.str8028) %t142 = icmp ne i32 %t141, 0 %t143 = zext i1 %t142 to i32 store i32 %t143, ptr %t135 br label %scend61 scend61: %t144 = load i32, ptr %t135 %t145 = icmp ne i32 %t144, 0 %t146 = zext i1 %t145 to i32 store i32 %t146, ptr %t134 br i1 %t145, label %scend63, label %sc62 sc62: %t147 = load ptr, ptr %t0 %t148 = call i32 @lp_str_eq(ptr %t147, ptr @.str8029) %t149 = icmp ne i32 %t148, 0 %t150 = zext i1 %t149 to i32 store i32 %t150, ptr %t134 br label %scend63 scend63: %t151 = load i32, ptr %t134 %t152 = icmp ne i32 %t151, 0 %t153 = zext i1 %t152 to i32 store i32 %t153, ptr %t133 br i1 %t152, label %scend65, label %sc64 sc64: %t154 = load ptr, ptr %t0 %t155 = call i32 @lp_str_eq(ptr %t154, ptr @.str8030) %t156 = icmp ne i32 %t155, 0 %t157 = zext i1 %t156 to i32 store i32 %t157, ptr %t133 br label %scend65 scend65: %t158 = load i32, ptr %t133 %t159 = icmp ne i32 %t158, 0 br i1 %t159, label %then66, label %ifend68 then66: store i32 1, ptr %retval br label %ret ifend68: %t162 = load ptr, ptr %t0 %t163 = call i32 @lp_str_eq(ptr %t162, ptr @.str8031) %t164 = icmp ne i32 %t163, 0 %t165 = zext i1 %t164 to i32 store i32 %t165, ptr %t161 br i1 %t164, label %scend70, label %sc69 sc69: %t166 = load ptr, ptr %t0 %t167 = call i32 @lp_str_eq(ptr %t166, ptr @.str8032) %t168 = icmp ne i32 %t167, 0 %t169 = zext i1 %t168 to i32 store i32 %t169, ptr %t161 br label %scend70 scend70: %t170 = load i32, ptr %t161 %t171 = icmp ne i32 %t170, 0 %t172 = zext i1 %t171 to i32 store i32 %t172, ptr %t160 br i1 %t171, label %scend72, label %sc71 sc71: %t173 = load ptr, ptr %t0 %t174 = call i32 @lp_str_eq(ptr %t173, ptr @.str8033) %t175 = icmp ne i32 %t174, 0 %t176 = zext i1 %t175 to i32 store i32 %t176, ptr %t160 br label %scend72 scend72: %t177 = load i32, ptr %t160 %t178 = icmp ne i32 %t177, 0 br i1 %t178, label %then73, label %ifend75 then73: store i32 1, ptr %retval br label %ret ifend75: %t182 = load ptr, ptr %t0 %t183 = call i32 @lp_str_eq(ptr %t182, ptr @.str8034) %t184 = icmp ne i32 %t183, 0 %t185 = zext i1 %t184 to i32 store i32 %t185, ptr %t181 br i1 %t184, label %scend77, label %sc76 sc76: %t186 = load ptr, ptr %t0 %t187 = call i32 @lp_str_eq(ptr %t186, ptr @.str8035) %t188 = icmp ne i32 %t187, 0 %t189 = zext i1 %t188 to i32 store i32 %t189, ptr %t181 br label %scend77 scend77: %t190 = load i32, ptr %t181 %t191 = icmp ne i32 %t190, 0 %t192 = zext i1 %t191 to i32 store i32 %t192, ptr %t180 br i1 %t191, label %scend79, label %sc78 sc78: %t193 = load ptr, ptr %t0 %t194 = call i32 @lp_str_eq(ptr %t193, ptr @.str8036) %t195 = icmp ne i32 %t194, 0 %t196 = zext i1 %t195 to i32 store i32 %t196, ptr %t180 br label %scend79 scend79: %t197 = load i32, ptr %t180 %t198 = icmp ne i32 %t197, 0 %t199 = zext i1 %t198 to i32 store i32 %t199, ptr %t179 br i1 %t198, label %scend81, label %sc80 sc80: %t200 = load ptr, ptr %t0 %t201 = call i32 @lp_str_eq(ptr %t200, ptr @.str8037) %t202 = icmp ne i32 %t201, 0 %t203 = zext i1 %t202 to i32 store i32 %t203, ptr %t179 br label %scend81 scend81: %t204 = load i32, ptr %t179 %t205 = icmp ne i32 %t204, 0 br i1 %t205, label %then82, label %ifend84 then82: store i32 1, ptr %retval br label %ret ifend84: %t208 = load ptr, ptr %t0 %t209 = call i32 @lp_str_eq(ptr %t208, ptr @.str8038) %t210 = icmp ne i32 %t209, 0 %t211 = zext i1 %t210 to i32 store i32 %t211, ptr %t207 br i1 %t210, label %scend86, label %sc85 sc85: %t212 = load ptr, ptr %t0 %t213 = call i32 @lp_str_eq(ptr %t212, ptr @.str8039) %t214 = icmp ne i32 %t213, 0 %t215 = zext i1 %t214 to i32 store i32 %t215, ptr %t207 br label %scend86 scend86: %t216 = load i32, ptr %t207 %t217 = icmp ne i32 %t216, 0 %t218 = zext i1 %t217 to i32 store i32 %t218, ptr %t206 br i1 %t217, label %scend88, label %sc87 sc87: %t219 = load ptr, ptr %t0 %t220 = call i32 @lp_str_eq(ptr %t219, ptr @.str8040) %t221 = icmp ne i32 %t220, 0 %t222 = zext i1 %t221 to i32 store i32 %t222, ptr %t206 br label %scend88 scend88: %t223 = load i32, ptr %t206 %t224 = icmp ne i32 %t223, 0 br i1 %t224, label %then89, label %ifend91 then89: store i32 1, ptr %retval br label %ret ifend91: store i32 0, ptr %retval br label %ret ret: %t225 = load i32, ptr %retval ret i32 %t225 } define ptr @fn_emit_intrinsic2(ptr %arg_name, ptr %arg_e) { entry: %retval = alloca ptr %t0 = alloca ptr %t1 = alloca ptr %t17 = alloca ptr %t29 = alloca ptr %t56 = alloca ptr %t59 = alloca ptr %t62 = alloca ptr %t67 = alloca ptr %t89 = alloca ptr %t92 = alloca ptr %t94 = alloca ptr %t120 = alloca ptr %t140 = alloca ptr %t155 = alloca i32 %t187 = alloca ptr %t190 = alloca ptr %t193 = alloca ptr %t196 = alloca ptr %t207 = alloca ptr %t210 = alloca ptr %t213 = alloca ptr %t227 = alloca ptr %t235 = alloca ptr %t243 = alloca ptr %t254 = alloca ptr %t257 = alloca ptr %t271 = alloca ptr %t279 = alloca ptr %t287 = alloca ptr %t295 = alloca ptr %t306 = alloca ptr %t309 = alloca ptr %t312 = alloca ptr %t315 = alloca ptr %t326 = alloca ptr %t334 = alloca ptr %t345 = alloca ptr %t348 = alloca ptr %t357 = alloca ptr %t360 = alloca ptr %t369 = alloca ptr %t372 = alloca ptr %t381 = alloca ptr %t384 = alloca ptr %t398 = alloca ptr %t401 = alloca ptr %t404 = alloca ptr %t414 = alloca ptr %t417 = alloca ptr %t420 = alloca ptr %t430 = alloca ptr %t433 = alloca ptr %t442 = alloca ptr %t453 = alloca ptr %t464 = alloca ptr %t475 = alloca ptr %t486 = alloca ptr %t489 = alloca ptr %t503 = 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 @.str8041) %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 %LSlice, ptr %t7, i32 0, i32 1 %t11 = load i32, ptr %t10 %t12 = icmp ult i32 0, %t11 br i1 %t12, label %ixok3, label %ixbad4 ixbad4: store i32 4912, ptr @lp_site %t13 = call ptr @lp_win_stdio(i32 2) store i32 0, ptr @lp_site call i32 (ptr, ptr, ...) @fprintf(ptr %t13, ptr @.fmt_bounds, ptr @.str8042, i32 0, i32 %t11) call void @exit(i32 1) unreachable ixok3: %t14 = getelementptr inbounds ptr, ptr %t9, 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 i32 @fn_is_slice_ty(ptr %t20) %t22 = icmp ne i32 %t21, 0 br i1 %t22, label %then5, label %ifend7 then5: %t23 = load ptr, ptr %t17 %t24 = getelementptr inbounds %Cmp_Val, ptr %t23, i32 0, i32 0 %t25 = load ptr, ptr %t24 %t26 = call ptr @fn_slice_field(ptr %t25, i32 0) store i32 4913, ptr @lp_site %t27 = call ptr @lp_str_concat(ptr @.str8044, ptr %t26) store i32 0, ptr @lp_site %t28 = call ptr @fn_emit_bind(ptr %t27) store ptr %t28, ptr %t29 %t30 = load ptr, ptr %t29 store i32 4914, ptr @lp_site %t31 = call ptr @lp_str_concat(ptr @.str8045, ptr %t30) store i32 0, ptr @lp_site store i32 4915, ptr @lp_site %t32 = call ptr @lp_str_concat(ptr %t31, ptr @.str8046) store i32 0, ptr @lp_site call void @lp_free(ptr %t31) call void @fn_emit(ptr %t32) br label %ifend7 ifend7: %t33 = load ptr, ptr %t17 %t34 = getelementptr inbounds %Cmp_Val, ptr %t33, i32 0, i32 0 %t35 = load ptr, ptr %t34 store i32 4916, ptr @lp_site %t36 = call ptr @lp_str_concat(ptr @.str8047, ptr %t35) store i32 0, ptr @lp_site store i32 4917, ptr @lp_site %t37 = call ptr @lp_str_concat(ptr %t36, ptr @.str8048) store i32 0, ptr @lp_site call void @lp_free(ptr %t36) call void @fn_emit(ptr %t37) %t38 = call ptr @fn_val(ptr @.str8049, ptr @.str8050) store ptr %t38, ptr %retval br label %ret ifend2: %t39 = load ptr, ptr %t0 %t40 = call i32 @lp_str_eq(ptr %t39, ptr @.str8051) %t41 = icmp ne i32 %t40, 0 br i1 %t41, label %then8, label %ifend10 then8: %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 %LSlice, ptr %t44, i32 0, i32 1 %t48 = load i32, ptr %t47 %t49 = icmp ult i32 0, %t48 br i1 %t49, label %ixok11, label %ixbad12 ixbad12: store i32 4918, ptr @lp_site %t50 = call ptr @lp_win_stdio(i32 2) store i32 0, ptr @lp_site call i32 (ptr, ptr, ...) @fprintf(ptr %t50, ptr @.fmt_bounds, ptr @.str8052, i32 0, i32 %t48) call void @exit(i32 1) unreachable ixok11: %t51 = getelementptr inbounds ptr, ptr %t46, i32 0 %t52 = load ptr, ptr %t51 %t53 = call ptr @fn_raw_expr(ptr %t52) %t54 = getelementptr inbounds %Cmp_Val, ptr %t53, i32 0, i32 0 %t55 = load ptr, ptr %t54 store ptr %t55, ptr %t56 %t57 = load ptr, ptr %t1 %t58 = call ptr @fn_arg_code(ptr %t57, i32 1) store ptr %t58, ptr %t59 %t60 = load ptr, ptr %t1 %t61 = call ptr @fn_arg_code(ptr %t60, i32 2) store ptr %t61, ptr %t62 %t63 = load ptr, ptr %t62 store i32 4919, ptr @lp_site %t64 = call ptr @lp_str_concat(ptr @.str8053, ptr %t63) store i32 0, ptr @lp_site store i32 4920, ptr @lp_site %t65 = call ptr @lp_str_concat(ptr %t64, ptr @.str8054) store i32 0, ptr @lp_site call void @lp_free(ptr %t64) %t66 = call ptr @fn_emit_bind(ptr %t65) store ptr %t66, ptr %t67 call void @fn_emit(ptr @.str8055) %t68 = load ptr, ptr %t56 call void @fn_emit(ptr %t68) call void @fn_emit(ptr @.str8056) %t69 = load ptr, ptr %t59 call void @fn_emit(ptr %t69) call void @fn_emit(ptr @.str8057) %t70 = load ptr, ptr %t67 call void @fn_emit(ptr %t70) call void @fn_emit(ptr @.str8058) %t71 = call ptr @fn_val(ptr @.str8059, ptr @.str8060) store ptr %t71, ptr %retval br label %ret ifend10: %t72 = load ptr, ptr %t0 %t73 = call i32 @lp_str_eq(ptr %t72, ptr @.str8061) %t74 = icmp ne i32 %t73, 0 br i1 %t74, label %then13, label %ifend15 then13: %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 %LSlice, ptr %t77, i32 0, i32 1 %t81 = load i32, ptr %t80 %t82 = icmp ult i32 0, %t81 br i1 %t82, label %ixok16, label %ixbad17 ixbad17: store i32 4921, ptr @lp_site %t83 = call ptr @lp_win_stdio(i32 2) store i32 0, ptr @lp_site call i32 (ptr, ptr, ...) @fprintf(ptr %t83, ptr @.fmt_bounds, ptr @.str8062, i32 0, i32 %t81) call void @exit(i32 1) unreachable ixok16: %t84 = getelementptr inbounds ptr, ptr %t79, i32 0 %t85 = load ptr, ptr %t84 %t86 = call ptr @fn_raw_expr(ptr %t85) %t87 = getelementptr inbounds %Cmp_Val, ptr %t86, i32 0, i32 0 %t88 = load ptr, ptr %t87 store ptr %t88, ptr %t89 %t90 = load ptr, ptr %t1 %t91 = call ptr @fn_arg_code(ptr %t90, i32 1) store ptr %t91, ptr %t92 %t93 = call ptr @fn_nreg() store ptr %t93, ptr %t94 call void @fn_emit(ptr @.str8063) %t95 = load ptr, ptr %t94 call void @fn_emit(ptr %t95) call void @fn_emit(ptr @.str8064) %t96 = load ptr, ptr %t89 call void @fn_emit(ptr %t96) call void @fn_emit(ptr @.str8065) %t97 = load ptr, ptr %t92 call void @fn_emit(ptr %t97) call void @fn_emit(ptr @.str8066) %t98 = load ptr, ptr %t94 %t99 = call ptr @fn_val(ptr %t98, ptr @.str8067) store ptr %t99, ptr %retval br label %ret ifend15: %t100 = load ptr, ptr %t0 %t101 = call i32 @lp_str_eq(ptr %t100, ptr @.str8068) %t102 = icmp ne i32 %t101, 0 br i1 %t102, label %then18, label %ifend20 then18: %t103 = call ptr @fn_emit_bind(ptr @.str8069) %t104 = call ptr @fn_val(ptr %t103, ptr @.str8070) store ptr %t104, ptr %retval br label %ret ifend20: %t105 = load ptr, ptr %t0 %t106 = call i32 @lp_str_eq(ptr %t105, ptr @.str8071) %t107 = icmp ne i32 %t106, 0 br i1 %t107, label %then21, label %ifend23 then21: %t108 = load ptr, ptr %t1 %t109 = getelementptr inbounds %Cmp_Node, ptr %t108, i32 0, i32 7 %t110 = load ptr, ptr %t109 %t111 = getelementptr inbounds %LSlice, ptr %t110, i32 0, i32 0 %t112 = load ptr, ptr %t111 %t113 = getelementptr inbounds %LSlice, ptr %t110, i32 0, i32 1 %t114 = load i32, ptr %t113 %t115 = icmp ult i32 0, %t114 br i1 %t115, label %ixok24, label %ixbad25 ixbad25: store i32 4922, ptr @lp_site %t116 = call ptr @lp_win_stdio(i32 2) store i32 0, ptr @lp_site call i32 (ptr, ptr, ...) @fprintf(ptr %t116, ptr @.fmt_bounds, ptr @.str8072, i32 0, i32 %t114) call void @exit(i32 1) unreachable ixok24: %t117 = getelementptr inbounds ptr, ptr %t112, i32 0 %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 %t124 = call ptr @fn_val(ptr %t123, ptr @.str8073) store ptr %t124, ptr %retval br label %ret ifend23: %t125 = load ptr, ptr %t0 %t126 = call i32 @lp_str_eq(ptr %t125, ptr @.str8074) %t127 = icmp ne i32 %t126, 0 br i1 %t127, label %then26, label %ifend28 then26: %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 = getelementptr inbounds %LSlice, ptr %t130, i32 0, i32 1 %t134 = load i32, ptr %t133 %t135 = icmp ult i32 0, %t134 br i1 %t135, label %ixok29, label %ixbad30 ixbad30: store i32 4923, ptr @lp_site %t136 = call ptr @lp_win_stdio(i32 2) store i32 0, ptr @lp_site call i32 (ptr, ptr, ...) @fprintf(ptr %t136, ptr @.fmt_bounds, ptr @.str8075, i32 0, i32 %t134) call void @exit(i32 1) unreachable ixok29: %t137 = getelementptr inbounds ptr, ptr %t132, i32 0 %t138 = load ptr, ptr %t137 %t139 = call ptr @fn_emit_expr(ptr %t138) store ptr %t139, ptr %t140 %t141 = load ptr, ptr %t140 %t142 = getelementptr inbounds %Cmp_Val, ptr %t141, i32 0, i32 0 %t143 = load ptr, ptr %t142 %t144 = call ptr @fn_val(ptr %t143, ptr @.str8076) store ptr %t144, ptr %retval br label %ret ifend28: %t145 = load ptr, ptr %t0 %t146 = call i32 @lp_str_eq(ptr %t145, ptr @.str8077) %t147 = icmp ne i32 %t146, 0 br i1 %t147, label %then31, label %ifend33 then31: %t148 = load i32, ptr @g_g_windowed %t149 = icmp ne i32 %t148, 0 br i1 %t149, label %then34, label %ifend36 then34: %t150 = call ptr @fn_val(ptr @.str8078, ptr @.str8079) store ptr %t150, ptr %retval br label %ret ifend36: %t151 = call ptr @fn_val(ptr @.str8080, ptr @.str8081) store ptr %t151, ptr %retval br label %ret ifend33: %t152 = load ptr, ptr %t0 %t153 = call i32 @lp_str_eq(ptr %t152, ptr @.str8082) %t154 = icmp ne i32 %t153, 0 br i1 %t154, label %then37, label %ifend39 then37: %t156 = load i32, ptr @g_g_windowed %t157 = icmp ne i32 %t156, 0 %t158 = zext i1 %t157 to i32 store i32 %t158, ptr %t155 br i1 %t157, label %sc40, label %scend41 sc40: %t159 = call ptr @fn_find_fn(ptr @.str8083) %t160 = icmp ne ptr %t159, null %t161 = zext i1 %t160 to i32 %t162 = icmp ne i32 %t161, 0 %t163 = zext i1 %t162 to i32 store i32 %t163, ptr %t155 br label %scend41 scend41: %t164 = load i32, ptr %t155 %t165 = icmp ne i32 %t164, 0 br i1 %t165, label %then42, label %ifend44 then42: %t166 = call ptr @fn_val(ptr @.str8084, ptr @.str8085) store ptr %t166, ptr %retval br label %ret ifend44: %t167 = call ptr @fn_val(ptr @.str8086, ptr @.str8087) store ptr %t167, ptr %retval br label %ret ifend39: %t168 = load ptr, ptr %t0 %t169 = call i32 @lp_str_eq(ptr %t168, ptr @.str8088) %t170 = icmp ne i32 %t169, 0 br i1 %t170, label %then45, label %ifend47 then45: %t171 = call ptr @fn_val(ptr @.str8089, ptr @.str8090) store ptr %t171, ptr %retval br label %ret ifend47: %t172 = load ptr, ptr %t0 %t173 = call i32 @lp_str_eq(ptr %t172, ptr @.str8091) %t174 = icmp ne i32 %t173, 0 br i1 %t174, label %then48, label %ifend50 then48: %t175 = call ptr @fn_emit_bind(ptr @.str8092) %t176 = call ptr @fn_val(ptr %t175, ptr @.str8093) store ptr %t176, ptr %retval br label %ret ifend50: %t177 = load ptr, ptr %t0 %t178 = call i32 @lp_str_eq(ptr %t177, ptr @.str8094) %t179 = icmp ne i32 %t178, 0 br i1 %t179, label %then51, label %ifend53 then51: %t180 = call ptr @fn_emit_bind(ptr @.str8095) %t181 = call ptr @fn_val(ptr %t180, ptr @.str8096) store ptr %t181, ptr %retval br label %ret ifend53: %t182 = load ptr, ptr %t0 %t183 = call i32 @lp_str_eq(ptr %t182, ptr @.str8097) %t184 = icmp ne i32 %t183, 0 br i1 %t184, label %then54, label %ifend56 then54: %t185 = load ptr, ptr %t1 %t186 = call ptr @fn_arg_code(ptr %t185, i32 0) store ptr %t186, ptr %t187 %t188 = load ptr, ptr %t1 %t189 = call ptr @fn_arg_code(ptr %t188, i32 1) store ptr %t189, ptr %t190 %t191 = load ptr, ptr %t1 %t192 = call ptr @fn_arg_code(ptr %t191, i32 2) store ptr %t192, ptr %t193 %t194 = load ptr, ptr %t1 %t195 = call ptr @fn_arg_code(ptr %t194, i32 3) store ptr %t195, ptr %t196 call void @fn_emit(ptr @.str8098) %t197 = load ptr, ptr %t187 call void @fn_emit(ptr %t197) call void @fn_emit(ptr @.str8099) %t198 = load ptr, ptr %t190 call void @fn_emit(ptr %t198) call void @fn_emit(ptr @.str8100) %t199 = load ptr, ptr %t193 call void @fn_emit(ptr %t199) call void @fn_emit(ptr @.str8101) %t200 = load ptr, ptr %t196 call void @fn_emit(ptr %t200) call void @fn_emit(ptr @.str8102) %t201 = call ptr @fn_val(ptr @.str8103, ptr @.str8104) store ptr %t201, ptr %retval br label %ret ifend56: %t202 = load ptr, ptr %t0 %t203 = call i32 @lp_str_eq(ptr %t202, ptr @.str8105) %t204 = icmp ne i32 %t203, 0 br i1 %t204, label %then57, label %ifend59 then57: %t205 = load ptr, ptr %t1 %t206 = call ptr @fn_arg_buf(ptr %t205, i32 0) store ptr %t206, ptr %t207 %t208 = load ptr, ptr %t1 %t209 = call ptr @fn_arg_code(ptr %t208, i32 1) store ptr %t209, ptr %t210 %t211 = load ptr, ptr %t1 %t212 = call ptr @fn_arg_code(ptr %t211, i32 2) store ptr %t212, ptr %t213 call void @fn_emit(ptr @.str8106) %t214 = load ptr, ptr %t207 call void @fn_emit(ptr %t214) call void @fn_emit(ptr @.str8107) %t215 = load ptr, ptr %t210 call void @fn_emit(ptr %t215) call void @fn_emit(ptr @.str8108) %t216 = load ptr, ptr %t213 call void @fn_emit(ptr %t216) call void @fn_emit(ptr @.str8109) %t217 = call ptr @fn_val(ptr @.str8110, ptr @.str8111) store ptr %t217, ptr %retval br label %ret ifend59: %t218 = load ptr, ptr %t0 %t219 = call i32 @lp_str_eq(ptr %t218, ptr @.str8112) %t220 = icmp ne i32 %t219, 0 br i1 %t220, label %then60, label %ifend62 then60: call void @fn_emit(ptr @.str8113) %t221 = call ptr @fn_val(ptr @.str8114, ptr @.str8115) store ptr %t221, ptr %retval br label %ret ifend62: %t222 = load ptr, ptr %t0 %t223 = call i32 @lp_str_eq(ptr %t222, ptr @.str8116) %t224 = icmp ne i32 %t223, 0 br i1 %t224, label %then63, label %ifend65 then63: %t225 = load ptr, ptr %t1 %t226 = call ptr @fn_arg_buf(ptr %t225, i32 0) store ptr %t226, ptr %t227 call void @fn_emit(ptr @.str8117) %t228 = load ptr, ptr %t227 call void @fn_emit(ptr %t228) call void @fn_emit(ptr @.str8118) %t229 = call ptr @fn_val(ptr @.str8119, ptr @.str8120) store ptr %t229, ptr %retval br label %ret ifend65: %t230 = load ptr, ptr %t0 %t231 = call i32 @lp_str_eq(ptr %t230, ptr @.str8121) %t232 = icmp ne i32 %t231, 0 br i1 %t232, label %then66, label %ifend68 then66: %t233 = load ptr, ptr %t1 %t234 = call ptr @fn_arg_buf(ptr %t233, i32 0) store ptr %t234, ptr %t235 call void @fn_emit(ptr @.str8122) %t236 = load ptr, ptr %t235 call void @fn_emit(ptr %t236) call void @fn_emit(ptr @.str8123) %t237 = call ptr @fn_val(ptr @.str8124, ptr @.str8125) store ptr %t237, ptr %retval br label %ret ifend68: %t238 = load ptr, ptr %t0 %t239 = call i32 @lp_str_eq(ptr %t238, ptr @.str8126) %t240 = icmp ne i32 %t239, 0 br i1 %t240, label %then69, label %ifend71 then69: %t241 = load ptr, ptr %t1 %t242 = call ptr @fn_arg_code(ptr %t241, i32 0) store ptr %t242, ptr %t243 %t244 = load ptr, ptr %t243 store i32 4924, ptr @lp_site %t245 = call ptr @lp_str_concat(ptr @.str8127, ptr %t244) store i32 0, ptr @lp_site store i32 4925, ptr @lp_site %t246 = call ptr @lp_str_concat(ptr %t245, ptr @.str8128) store i32 0, ptr @lp_site call void @lp_free(ptr %t245) %t247 = call ptr @fn_emit_bind(ptr %t246) %t248 = call ptr @fn_val(ptr %t247, ptr @.str8129) store ptr %t248, ptr %retval br label %ret ifend71: %t249 = load ptr, ptr %t0 %t250 = call i32 @lp_str_eq(ptr %t249, ptr @.str8130) %t251 = icmp ne i32 %t250, 0 br i1 %t251, label %then72, label %ifend74 then72: %t252 = load ptr, ptr %t1 %t253 = call ptr @fn_arg_buf(ptr %t252, i32 0) store ptr %t253, ptr %t254 %t255 = load ptr, ptr %t1 %t256 = call ptr @fn_arg_code(ptr %t255, i32 1) store ptr %t256, ptr %t257 %t258 = load ptr, ptr %t254 store i32 4926, ptr @lp_site %t259 = call ptr @lp_str_concat(ptr @.str8131, ptr %t258) store i32 0, ptr @lp_site store i32 4927, ptr @lp_site %t260 = call ptr @lp_str_concat(ptr %t259, ptr @.str8132) store i32 0, ptr @lp_site call void @lp_free(ptr %t259) %t261 = load ptr, ptr %t257 store i32 4928, ptr @lp_site %t262 = call ptr @lp_str_concat(ptr %t260, ptr %t261) store i32 0, ptr @lp_site call void @lp_free(ptr %t260) store i32 4929, ptr @lp_site %t263 = call ptr @lp_str_concat(ptr %t262, ptr @.str8133) store i32 0, ptr @lp_site call void @lp_free(ptr %t262) %t264 = call ptr @fn_emit_bind(ptr %t263) %t265 = call ptr @fn_val(ptr %t264, ptr @.str8134) store ptr %t265, ptr %retval br label %ret ifend74: %t266 = load ptr, ptr %t0 %t267 = call i32 @lp_str_eq(ptr %t266, ptr @.str8135) %t268 = icmp ne i32 %t267, 0 br i1 %t268, label %then75, label %ifend77 then75: %t269 = load ptr, ptr %t1 %t270 = call ptr @fn_arg_buf(ptr %t269, i32 0) store ptr %t270, ptr %t271 call void @fn_emit(ptr @.str8136) %t272 = load ptr, ptr %t271 call void @fn_emit(ptr %t272) call void @fn_emit(ptr @.str8137) %t273 = call ptr @fn_val(ptr @.str8138, ptr @.str8139) store ptr %t273, ptr %retval br label %ret ifend77: %t274 = load ptr, ptr %t0 %t275 = call i32 @lp_str_eq(ptr %t274, ptr @.str8140) %t276 = icmp ne i32 %t275, 0 br i1 %t276, label %then78, label %ifend80 then78: %t277 = load ptr, ptr %t1 %t278 = call ptr @fn_arg_buf(ptr %t277, i32 0) store ptr %t278, ptr %t279 call void @fn_emit(ptr @.str8141) %t280 = load ptr, ptr %t279 call void @fn_emit(ptr %t280) call void @fn_emit(ptr @.str8142) %t281 = call ptr @fn_val(ptr @.str8143, ptr @.str8144) store ptr %t281, ptr %retval br label %ret ifend80: %t282 = load ptr, ptr %t0 %t283 = call i32 @lp_str_eq(ptr %t282, ptr @.str8145) %t284 = icmp ne i32 %t283, 0 br i1 %t284, label %then81, label %ifend83 then81: %t285 = load ptr, ptr %t1 %t286 = call ptr @fn_arg_code(ptr %t285, i32 0) store ptr %t286, ptr %t287 call void @fn_emit(ptr @.str8146) %t288 = load ptr, ptr %t287 call void @fn_emit(ptr %t288) call void @fn_emit(ptr @.str8147) %t289 = call ptr @fn_val(ptr @.str8148, ptr @.str8149) store ptr %t289, ptr %retval br label %ret ifend83: %t290 = load ptr, ptr %t0 %t291 = call i32 @lp_str_eq(ptr %t290, ptr @.str8150) %t292 = icmp ne i32 %t291, 0 br i1 %t292, label %then84, label %ifend86 then84: %t293 = load ptr, ptr %t1 %t294 = call ptr @fn_arg_code(ptr %t293, i32 0) store ptr %t294, ptr %t295 %t296 = load ptr, ptr %t295 store i32 4930, ptr @lp_site %t297 = call ptr @lp_str_concat(ptr @.str8151, ptr %t296) store i32 0, ptr @lp_site store i32 4931, ptr @lp_site %t298 = call ptr @lp_str_concat(ptr %t297, ptr @.str8152) store i32 0, ptr @lp_site call void @lp_free(ptr %t297) %t299 = call ptr @fn_emit_bind(ptr %t298) %t300 = call ptr @fn_val(ptr %t299, ptr @.str8153) store ptr %t300, ptr %retval br label %ret ifend86: %t301 = load ptr, ptr %t0 %t302 = call i32 @lp_str_eq(ptr %t301, ptr @.str8154) %t303 = icmp ne i32 %t302, 0 br i1 %t303, label %then87, label %ifend89 then87: %t304 = load ptr, ptr %t1 %t305 = call ptr @fn_arg_code(ptr %t304, i32 0) store ptr %t305, ptr %t306 %t307 = load ptr, ptr %t1 %t308 = call ptr @fn_arg_code(ptr %t307, i32 1) store ptr %t308, ptr %t309 %t310 = load ptr, ptr %t1 %t311 = call ptr @fn_arg_code(ptr %t310, i32 2) store ptr %t311, ptr %t312 %t313 = load ptr, ptr %t1 %t314 = call ptr @fn_arg_code(ptr %t313, i32 3) store ptr %t314, ptr %t315 call void @fn_emit(ptr @.str8155) %t316 = load ptr, ptr %t306 call void @fn_emit(ptr %t316) call void @fn_emit(ptr @.str8156) %t317 = load ptr, ptr %t309 call void @fn_emit(ptr %t317) call void @fn_emit(ptr @.str8157) %t318 = load ptr, ptr %t312 call void @fn_emit(ptr %t318) call void @fn_emit(ptr @.str8158) %t319 = load ptr, ptr %t315 call void @fn_emit(ptr %t319) call void @fn_emit(ptr @.str8159) %t320 = call ptr @fn_val(ptr @.str8160, ptr @.str8161) store ptr %t320, ptr %retval br label %ret ifend89: %t321 = load ptr, ptr %t0 %t322 = call i32 @lp_str_eq(ptr %t321, ptr @.str8162) %t323 = icmp ne i32 %t322, 0 br i1 %t323, label %then90, label %ifend92 then90: %t324 = load ptr, ptr %t1 %t325 = call ptr @fn_arg_code(ptr %t324, i32 0) store ptr %t325, ptr %t326 call void @fn_emit(ptr @.str8163) %t327 = load ptr, ptr %t326 call void @fn_emit(ptr %t327) call void @fn_emit(ptr @.str8164) %t328 = call ptr @fn_val(ptr @.str8165, ptr @.str8166) store ptr %t328, ptr %retval br label %ret ifend92: %t329 = load ptr, ptr %t0 %t330 = call i32 @lp_str_eq(ptr %t329, ptr @.str8167) %t331 = icmp ne i32 %t330, 0 br i1 %t331, label %then93, label %ifend95 then93: %t332 = load ptr, ptr %t1 %t333 = call ptr @fn_arg_code(ptr %t332, i32 0) store ptr %t333, ptr %t334 %t335 = load ptr, ptr %t334 store i32 4932, ptr @lp_site %t336 = call ptr @lp_str_concat(ptr @.str8168, ptr %t335) store i32 0, ptr @lp_site store i32 4933, ptr @lp_site %t337 = call ptr @lp_str_concat(ptr %t336, ptr @.str8169) store i32 0, ptr @lp_site call void @lp_free(ptr %t336) %t338 = call ptr @fn_emit_bind(ptr %t337) %t339 = call ptr @fn_val(ptr %t338, ptr @.str8170) store ptr %t339, ptr %retval br label %ret ifend95: %t340 = load ptr, ptr %t0 %t341 = call i32 @lp_str_eq(ptr %t340, ptr @.str8171) %t342 = icmp ne i32 %t341, 0 br i1 %t342, label %then96, label %ifend98 then96: %t343 = load ptr, ptr %t1 %t344 = call ptr @fn_arg_code(ptr %t343, i32 0) store ptr %t344, ptr %t345 %t346 = load ptr, ptr %t1 %t347 = call ptr @fn_arg_code(ptr %t346, i32 1) store ptr %t347, ptr %t348 call void @fn_emit(ptr @.str8172) %t349 = load ptr, ptr %t345 call void @fn_emit(ptr %t349) call void @fn_emit(ptr @.str8173) %t350 = load ptr, ptr %t348 call void @fn_emit(ptr %t350) call void @fn_emit(ptr @.str8174) %t351 = call ptr @fn_val(ptr @.str8175, ptr @.str8176) store ptr %t351, ptr %retval br label %ret ifend98: %t352 = load ptr, ptr %t0 %t353 = call i32 @lp_str_eq(ptr %t352, ptr @.str8177) %t354 = icmp ne i32 %t353, 0 br i1 %t354, label %then99, label %ifend101 then99: %t355 = load ptr, ptr %t1 %t356 = call ptr @fn_arg_code(ptr %t355, i32 0) store ptr %t356, ptr %t357 %t358 = load ptr, ptr %t1 %t359 = call ptr @fn_arg_code(ptr %t358, i32 1) store ptr %t359, ptr %t360 call void @fn_emit(ptr @.str8178) %t361 = load ptr, ptr %t357 call void @fn_emit(ptr %t361) call void @fn_emit(ptr @.str8179) %t362 = load ptr, ptr %t360 call void @fn_emit(ptr %t362) call void @fn_emit(ptr @.str8180) %t363 = call ptr @fn_val(ptr @.str8181, ptr @.str8182) store ptr %t363, ptr %retval br label %ret ifend101: %t364 = load ptr, ptr %t0 %t365 = call i32 @lp_str_eq(ptr %t364, ptr @.str8183) %t366 = icmp ne i32 %t365, 0 br i1 %t366, label %then102, label %ifend104 then102: %t367 = load ptr, ptr %t1 %t368 = call ptr @fn_arg_code(ptr %t367, i32 0) store ptr %t368, ptr %t369 %t370 = load ptr, ptr %t1 %t371 = call ptr @fn_arg_code(ptr %t370, i32 1) store ptr %t371, ptr %t372 call void @fn_emit(ptr @.str8184) %t373 = load ptr, ptr %t369 call void @fn_emit(ptr %t373) call void @fn_emit(ptr @.str8185) %t374 = load ptr, ptr %t372 call void @fn_emit(ptr %t374) call void @fn_emit(ptr @.str8186) %t375 = call ptr @fn_val(ptr @.str8187, ptr @.str8188) store ptr %t375, ptr %retval br label %ret ifend104: %t376 = load ptr, ptr %t0 %t377 = call i32 @lp_str_eq(ptr %t376, ptr @.str8189) %t378 = icmp ne i32 %t377, 0 br i1 %t378, label %then105, label %ifend107 then105: %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 store i32 4934, ptr @lp_site %t386 = call ptr @lp_str_concat(ptr @.str8190, ptr %t385) store i32 0, ptr @lp_site store i32 4935, ptr @lp_site %t387 = call ptr @lp_str_concat(ptr %t386, ptr @.str8191) store i32 0, ptr @lp_site call void @lp_free(ptr %t386) %t388 = load ptr, ptr %t384 store i32 4936, ptr @lp_site %t389 = call ptr @lp_str_concat(ptr %t387, ptr %t388) store i32 0, ptr @lp_site call void @lp_free(ptr %t387) store i32 4937, ptr @lp_site %t390 = call ptr @lp_str_concat(ptr %t389, ptr @.str8192) store i32 0, ptr @lp_site call void @lp_free(ptr %t389) %t391 = call ptr @fn_emit_bind(ptr %t390) %t392 = call ptr @fn_val(ptr %t391, ptr @.str8193) store ptr %t392, ptr %retval br label %ret ifend107: %t393 = load ptr, ptr %t0 %t394 = call i32 @lp_str_eq(ptr %t393, ptr @.str8194) %t395 = icmp ne i32 %t394, 0 br i1 %t395, label %then108, label %ifend110 then108: %t396 = load ptr, ptr %t1 %t397 = call ptr @fn_arg_code(ptr %t396, i32 0) store ptr %t397, ptr %t398 %t399 = load ptr, ptr %t1 %t400 = call ptr @fn_arg_code(ptr %t399, i32 1) store ptr %t400, ptr %t401 %t402 = load ptr, ptr %t1 %t403 = call ptr @fn_arg_code(ptr %t402, i32 2) store ptr %t403, ptr %t404 call void @fn_emit(ptr @.str8195) %t405 = load ptr, ptr %t398 call void @fn_emit(ptr %t405) call void @fn_emit(ptr @.str8196) %t406 = load ptr, ptr %t401 call void @fn_emit(ptr %t406) call void @fn_emit(ptr @.str8197) %t407 = load ptr, ptr %t404 call void @fn_emit(ptr %t407) call void @fn_emit(ptr @.str8198) %t408 = call ptr @fn_val(ptr @.str8199, ptr @.str8200) store ptr %t408, ptr %retval br label %ret ifend110: %t409 = load ptr, ptr %t0 %t410 = call i32 @lp_str_eq(ptr %t409, ptr @.str8201) %t411 = icmp ne i32 %t410, 0 br i1 %t411, label %then111, label %ifend113 then111: %t412 = load ptr, ptr %t1 %t413 = call ptr @fn_arg_code(ptr %t412, i32 0) store ptr %t413, ptr %t414 %t415 = load ptr, ptr %t1 %t416 = call ptr @fn_arg_code(ptr %t415, i32 1) store ptr %t416, ptr %t417 %t418 = load ptr, ptr %t1 %t419 = call ptr @fn_arg_code(ptr %t418, i32 2) store ptr %t419, ptr %t420 call void @fn_emit(ptr @.str8202) %t421 = load ptr, ptr %t414 call void @fn_emit(ptr %t421) call void @fn_emit(ptr @.str8203) %t422 = load ptr, ptr %t417 call void @fn_emit(ptr %t422) call void @fn_emit(ptr @.str8204) %t423 = load ptr, ptr %t420 call void @fn_emit(ptr %t423) call void @fn_emit(ptr @.str8205) %t424 = call ptr @fn_val(ptr @.str8206, ptr @.str8207) store ptr %t424, ptr %retval br label %ret ifend113: %t425 = load ptr, ptr %t0 %t426 = call i32 @lp_str_eq(ptr %t425, ptr @.str8208) %t427 = icmp ne i32 %t426, 0 br i1 %t427, label %then114, label %ifend116 then114: %t428 = load ptr, ptr %t1 %t429 = call ptr @fn_arg_code(ptr %t428, i32 0) store ptr %t429, ptr %t430 %t431 = load ptr, ptr %t1 %t432 = call ptr @fn_arg_code(ptr %t431, i32 1) store ptr %t432, ptr %t433 call void @fn_emit(ptr @.str8209) %t434 = load ptr, ptr %t430 call void @fn_emit(ptr %t434) call void @fn_emit(ptr @.str8210) %t435 = load ptr, ptr %t433 call void @fn_emit(ptr %t435) call void @fn_emit(ptr @.str8211) %t436 = call ptr @fn_val(ptr @.str8212, ptr @.str8213) store ptr %t436, ptr %retval br label %ret ifend116: %t437 = load ptr, ptr %t0 %t438 = call i32 @lp_str_eq(ptr %t437, ptr @.str8214) %t439 = icmp ne i32 %t438, 0 br i1 %t439, label %then117, label %ifend119 then117: %t440 = load ptr, ptr %t1 %t441 = call ptr @fn_arg_code(ptr %t440, i32 0) store ptr %t441, ptr %t442 %t443 = load ptr, ptr %t442 store i32 4938, ptr @lp_site %t444 = call ptr @lp_str_concat(ptr @.str8215, ptr %t443) store i32 0, ptr @lp_site store i32 4939, ptr @lp_site %t445 = call ptr @lp_str_concat(ptr %t444, ptr @.str8216) store i32 0, ptr @lp_site call void @lp_free(ptr %t444) %t446 = call ptr @fn_emit_bind(ptr %t445) %t447 = call ptr @fn_val(ptr %t446, ptr @.str8217) store ptr %t447, ptr %retval br label %ret ifend119: %t448 = load ptr, ptr %t0 %t449 = call i32 @lp_str_eq(ptr %t448, ptr @.str8218) %t450 = icmp ne i32 %t449, 0 br i1 %t450, label %then120, label %ifend122 then120: %t451 = load ptr, ptr %t1 %t452 = call ptr @fn_arg_code(ptr %t451, i32 0) store ptr %t452, ptr %t453 %t454 = load ptr, ptr %t453 store i32 4940, ptr @lp_site %t455 = call ptr @lp_str_concat(ptr @.str8219, ptr %t454) store i32 0, ptr @lp_site store i32 4941, ptr @lp_site %t456 = call ptr @lp_str_concat(ptr %t455, ptr @.str8220) store i32 0, ptr @lp_site call void @lp_free(ptr %t455) %t457 = call ptr @fn_emit_bind(ptr %t456) %t458 = call ptr @fn_val(ptr %t457, ptr @.str8221) store ptr %t458, ptr %retval br label %ret ifend122: %t459 = load ptr, ptr %t0 %t460 = call i32 @lp_str_eq(ptr %t459, ptr @.str8222) %t461 = icmp ne i32 %t460, 0 br i1 %t461, label %then123, label %ifend125 then123: %t462 = load ptr, ptr %t1 %t463 = call ptr @fn_arg_code(ptr %t462, i32 0) store ptr %t463, ptr %t464 %t465 = load ptr, ptr %t464 store i32 4942, ptr @lp_site %t466 = call ptr @lp_str_concat(ptr @.str8223, ptr %t465) store i32 0, ptr @lp_site store i32 4943, ptr @lp_site %t467 = call ptr @lp_str_concat(ptr %t466, ptr @.str8224) store i32 0, ptr @lp_site call void @lp_free(ptr %t466) %t468 = call ptr @fn_emit_bind(ptr %t467) %t469 = call ptr @fn_val(ptr %t468, ptr @.str8225) store ptr %t469, ptr %retval br label %ret ifend125: %t470 = load ptr, ptr %t0 %t471 = call i32 @lp_str_eq(ptr %t470, ptr @.str8226) %t472 = icmp ne i32 %t471, 0 br i1 %t472, label %then126, label %ifend128 then126: %t473 = load ptr, ptr %t1 %t474 = call ptr @fn_arg_code(ptr %t473, i32 0) store ptr %t474, ptr %t475 %t476 = load ptr, ptr %t475 store i32 4944, ptr @lp_site %t477 = call ptr @lp_str_concat(ptr @.str8227, ptr %t476) store i32 0, ptr @lp_site store i32 4945, ptr @lp_site %t478 = call ptr @lp_str_concat(ptr %t477, ptr @.str8228) store i32 0, ptr @lp_site call void @lp_free(ptr %t477) %t479 = call ptr @fn_emit_bind(ptr %t478) %t480 = call ptr @fn_val(ptr %t479, ptr @.str8229) store ptr %t480, ptr %retval br label %ret ifend128: %t481 = load ptr, ptr %t0 %t482 = call i32 @lp_str_eq(ptr %t481, ptr @.str8230) %t483 = icmp ne i32 %t482, 0 br i1 %t483, label %then129, label %ifend131 then129: %t484 = load ptr, ptr %t1 %t485 = call ptr @fn_arg_code(ptr %t484, i32 0) store ptr %t485, ptr %t486 %t487 = load ptr, ptr %t1 %t488 = call ptr @fn_arg_code(ptr %t487, i32 1) store ptr %t488, ptr %t489 %t490 = load ptr, ptr %t486 store i32 4946, ptr @lp_site %t491 = call ptr @lp_str_concat(ptr @.str8231, ptr %t490) store i32 0, ptr @lp_site store i32 4947, ptr @lp_site %t492 = call ptr @lp_str_concat(ptr %t491, ptr @.str8232) store i32 0, ptr @lp_site call void @lp_free(ptr %t491) %t493 = load ptr, ptr %t489 store i32 4948, ptr @lp_site %t494 = call ptr @lp_str_concat(ptr %t492, ptr %t493) store i32 0, ptr @lp_site call void @lp_free(ptr %t492) store i32 4949, ptr @lp_site %t495 = call ptr @lp_str_concat(ptr %t494, ptr @.str8233) store i32 0, ptr @lp_site call void @lp_free(ptr %t494) %t496 = call ptr @fn_emit_bind(ptr %t495) %t497 = call ptr @fn_val(ptr %t496, ptr @.str8234) store ptr %t497, ptr %retval br label %ret ifend131: %t498 = load ptr, ptr %t0 %t499 = call i32 @lp_str_eq(ptr %t498, ptr @.str8235) %t500 = icmp ne i32 %t499, 0 br i1 %t500, label %then132, label %ifend134 then132: %t501 = load ptr, ptr %t1 %t502 = call ptr @fn_arg_code(ptr %t501, i32 0) store ptr %t502, ptr %t503 call void @fn_emit(ptr @.str8236) %t504 = load ptr, ptr %t503 call void @fn_emit(ptr %t504) call void @fn_emit(ptr @.str8237) %t505 = call ptr @fn_val(ptr @.str8238, ptr @.str8239) store ptr %t505, ptr %retval br label %ret ifend134: %t506 = call ptr @fn_val(ptr @.str8240, ptr @.str8241) store ptr %t506, ptr %retval br label %ret ret: %t507 = load ptr, ptr %retval ret ptr %t507 } define i32 @fn_is_fp(ptr %arg_t) { entry: %retval = alloca i32 %t0 = alloca ptr %t1 = alloca i32 store ptr %arg_t, ptr %t0 %t2 = load ptr, ptr %t0 %t3 = call i32 @lp_str_eq(ptr %t2, ptr @.str8242) %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 @.str8243) %t8 = icmp ne i32 %t7, 0 %t9 = zext i1 %t8 to i32 store i32 %t9, ptr %t1 br label %scend1 scend1: %t10 = load i32, ptr %t1 store i32 %t10, ptr %retval br label %ret ret: %t11 = load i32, ptr %retval ret i32 %t11 } define void @fn_det_enter(ptr %arg_name) { entry: %t0 = alloca ptr %t1 = alloca i32 store ptr %arg_name, ptr %t0 store ptr @.str8244, ptr @g_g_det_ctx store i32 0, ptr %t1 br label %wcond0 wcond0: %t2 = load i32, ptr %t1 %t3 = load ptr, ptr @g_g_det_names %t4 = getelementptr inbounds %LSlice, ptr %t3, i32 0, i32 1 %t5 = load i32, ptr %t4 %t6 = icmp slt i32 %t2, %t5 %t7 = zext i1 %t6 to i32 %t8 = icmp ne i32 %t7, 0 br i1 %t8, label %wbody1, label %wend2 wbody1: %t9 = load ptr, ptr @g_g_det_names %t10 = load i32, ptr %t1 %t11 = getelementptr inbounds %LSlice, ptr %t9, i32 0, i32 0 %t12 = load ptr, ptr %t11 %t13 = getelementptr inbounds %LSlice, ptr %t9, i32 0, i32 1 %t14 = load i32, ptr %t13 %t15 = icmp ult i32 %t10, %t14 br i1 %t15, label %ixok3, label %ixbad4 ixbad4: store i32 4950, ptr @lp_site %t16 = call ptr @lp_win_stdio(i32 2) store i32 0, ptr @lp_site call i32 (ptr, ptr, ...) @fprintf(ptr %t16, ptr @.fmt_bounds, ptr @.str8245, i32 %t10, i32 %t14) call void @exit(i32 1) unreachable ixok3: %t17 = getelementptr inbounds ptr, ptr %t12, i32 %t10 %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 br i1 %t21, label %then5, label %ifend7 then5: %t22 = load ptr, ptr %t0 store ptr %t22, ptr @g_g_det_ctx br label %ifend7 ifend7: %t23 = load i32, ptr %t1 %t24 = add i32 %t23, 1 store i32 %t24, ptr %t1 br label %wcond0 wend2: br label %ret ret: ret void } define void @fn_fp_guard(ptr %arg_t) { entry: %t0 = alloca ptr store ptr %arg_t, ptr %t0 %t1 = load ptr, ptr @g_g_det_ctx %t2 = call i32 @lp_str_eq(ptr %t1, ptr @.str8247) %t3 = icmp eq i32 %t2, 0 %t4 = zext i1 %t3 to i32 %t5 = icmp ne i32 %t4, 0 br i1 %t5, label %then0, label %ifend2 then0: %t6 = load ptr, ptr @g_g_det_ctx store i32 4951, ptr @lp_site %t7 = call ptr @lp_str_concat(ptr @.str8248, ptr %t6) store i32 0, ptr @lp_site store i32 4952, ptr @lp_site %t8 = call ptr @lp_str_concat(ptr %t7, ptr @.str8250) store i32 0, ptr @lp_site call void @lp_free(ptr %t7) %t9 = load ptr, ptr %t0 store i32 4953, ptr @lp_site %t10 = call ptr @lp_str_concat(ptr %t8, ptr %t9) store i32 0, ptr @lp_site call void @lp_free(ptr %t8) store i32 4954, ptr @lp_site %t11 = call ptr @lp_str_concat(ptr %t10, ptr @.str8251) store i32 0, ptr @lp_site call void @lp_free(ptr %t10) call void @fn_perr(ptr %t11) br label %ifend2 ifend2: br label %ret ret: ret void } define ptr @fn_fp_result(ptr %arg_a, ptr %arg_b) { entry: %retval = alloca ptr %t0 = alloca ptr %t1 = alloca ptr %t2 = alloca i32 store ptr %arg_a, ptr %t0 store ptr %arg_b, ptr %t1 %t3 = load ptr, ptr %t0 %t4 = call i32 @lp_str_eq(ptr %t3, ptr @.str8252) %t5 = icmp ne i32 %t4, 0 %t6 = zext i1 %t5 to i32 store i32 %t6, ptr %t2 br i1 %t5, label %scend1, label %sc0 sc0: %t7 = load ptr, ptr %t1 %t8 = call i32 @lp_str_eq(ptr %t7, ptr @.str8253) %t9 = icmp ne i32 %t8, 0 %t10 = zext i1 %t9 to i32 store i32 %t10, ptr %t2 br label %scend1 scend1: %t11 = load i32, ptr %t2 %t12 = icmp ne i32 %t11, 0 br i1 %t12, label %then2, label %ifend4 then2: store ptr @.str8254, ptr %retval br label %ret ifend4: store ptr @.str8255, ptr %retval br label %ret ret: %t13 = load ptr, ptr %retval ret ptr %t13 } define ptr @fn_fp_const(ptr %arg_e, ptr %arg_t) { entry: %retval = alloca ptr %t0 = alloca ptr %t1 = alloca ptr %t34 = alloca ptr %t52 = alloca ptr %t58 = alloca ptr %t59 = alloca ptr store ptr %arg_e, ptr %t0 store ptr %arg_t, ptr %t1 %t2 = load ptr, ptr %t0 %t3 = getelementptr inbounds %Cmp_Node, ptr %t2, i32 0, i32 0 %t4 = load i32, ptr %t3 %t5 = icmp eq i32 %t4, 40 %t6 = zext i1 %t5 to i32 %t7 = icmp ne i32 %t6, 0 br i1 %t7, label %then0, label %ifend2 then0: %t8 = load ptr, ptr %t0 %t9 = getelementptr inbounds %Cmp_Node, ptr %t8, i32 0, i32 1 %t10 = load ptr, ptr %t9 %t11 = load ptr, ptr %t1 %t12 = call ptr @fn_fp_lit_code(ptr %t10, ptr %t11) store ptr %t12, ptr %retval br label %ret ifend2: %t13 = load ptr, ptr %t0 %t14 = getelementptr inbounds %Cmp_Node, ptr %t13, i32 0, i32 0 %t15 = load i32, ptr %t14 %t16 = icmp eq i32 %t15, 30 %t17 = zext i1 %t16 to i32 %t18 = icmp ne i32 %t17, 0 br i1 %t18, label %then3, label %ifend5 then3: %t19 = load ptr, ptr %t0 %t20 = call ptr @fn_int_lit_code(ptr %t19) %t21 = load ptr, ptr %t1 %t22 = call ptr @fn_fp_lit_code(ptr %t20, ptr %t21) store ptr %t22, ptr %retval br label %ret ifend5: %t23 = load ptr, ptr %t0 %t24 = getelementptr inbounds %Cmp_Node, ptr %t23, i32 0, i32 0 %t25 = load i32, ptr %t24 %t26 = icmp eq i32 %t25, 38 %t27 = zext i1 %t26 to i32 %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 4 %t31 = load ptr, ptr %t30 %t32 = load ptr, ptr %t1 %t33 = call ptr @fn_fp_const(ptr %t31, ptr %t32) store ptr %t33, ptr %t34 %t35 = load ptr, ptr %t1 store i32 4955, ptr @lp_site %t36 = call ptr @lp_str_concat(ptr @.str8256, ptr %t35) store i32 0, ptr @lp_site store i32 4956, ptr @lp_site %t37 = call ptr @lp_str_concat(ptr %t36, ptr @.str8258) store i32 0, ptr @lp_site call void @lp_free(ptr %t36) %t38 = load ptr, ptr %t34 store i32 4957, ptr @lp_site %t39 = call ptr @lp_str_concat(ptr %t37, ptr %t38) store i32 0, ptr @lp_site call void @lp_free(ptr %t37) %t40 = call ptr @fn_emit_bind(ptr %t39) store ptr %t40, ptr %retval br label %ret ifend8: %t41 = load ptr, ptr %t0 %t42 = getelementptr inbounds %Cmp_Node, ptr %t41, i32 0, i32 0 %t43 = load i32, ptr %t42 %t44 = icmp eq i32 %t43, 37 %t45 = zext i1 %t44 to i32 %t46 = icmp ne i32 %t45, 0 br i1 %t46, label %then9, label %ifend11 then9: %t47 = load ptr, ptr %t0 %t48 = getelementptr inbounds %Cmp_Node, ptr %t47, i32 0, i32 4 %t49 = load ptr, ptr %t48 %t50 = load ptr, ptr %t1 %t51 = call ptr @fn_fp_const(ptr %t49, ptr %t50) store ptr %t51, ptr %t52 %t53 = load ptr, ptr %t0 %t54 = getelementptr inbounds %Cmp_Node, ptr %t53, i32 0, i32 5 %t55 = load ptr, ptr %t54 %t56 = load ptr, ptr %t1 %t57 = call ptr @fn_fp_const(ptr %t55, ptr %t56) store ptr %t57, ptr %t58 store ptr @.str8259, ptr %t59 %t60 = load ptr, ptr %t0 %t61 = getelementptr inbounds %Cmp_Node, ptr %t60, i32 0, i32 1 %t62 = load ptr, ptr %t61 %t63 = call i32 @lp_str_eq(ptr %t62, ptr @.str8260) %t64 = icmp ne i32 %t63, 0 br i1 %t64, label %then12, label %ifend14 then12: store ptr @.str8261, ptr %t59 br label %ifend14 ifend14: %t65 = load ptr, ptr %t0 %t66 = getelementptr inbounds %Cmp_Node, ptr %t65, i32 0, i32 1 %t67 = load ptr, ptr %t66 %t68 = call i32 @lp_str_eq(ptr %t67, ptr @.str8262) %t69 = icmp ne i32 %t68, 0 br i1 %t69, label %then15, label %ifend17 then15: store ptr @.str8263, ptr %t59 br label %ifend17 ifend17: %t70 = load ptr, ptr %t0 %t71 = getelementptr inbounds %Cmp_Node, ptr %t70, i32 0, i32 1 %t72 = load ptr, ptr %t71 %t73 = call i32 @lp_str_eq(ptr %t72, ptr @.str8264) %t74 = icmp ne i32 %t73, 0 br i1 %t74, label %then18, label %ifend20 then18: store ptr @.str8265, ptr %t59 br label %ifend20 ifend20: %t75 = load ptr, ptr %t0 %t76 = getelementptr inbounds %Cmp_Node, ptr %t75, i32 0, i32 1 %t77 = load ptr, ptr %t76 %t78 = call i32 @lp_str_eq(ptr %t77, ptr @.str8266) %t79 = icmp ne i32 %t78, 0 br i1 %t79, label %then21, label %ifend23 then21: store ptr @.str8267, ptr %t59 br label %ifend23 ifend23: %t80 = load ptr, ptr %t59 store i32 4958, ptr @lp_site %t81 = call ptr @lp_str_concat(ptr %t80, ptr @.str8268) store i32 0, ptr @lp_site %t82 = load ptr, ptr %t1 store i32 4959, ptr @lp_site %t83 = call ptr @lp_str_concat(ptr %t81, ptr %t82) store i32 0, ptr @lp_site call void @lp_free(ptr %t81) store i32 4960, ptr @lp_site %t84 = call ptr @lp_str_concat(ptr %t83, ptr @.str8269) store i32 0, ptr @lp_site call void @lp_free(ptr %t83) %t85 = load ptr, ptr %t52 store i32 4961, ptr @lp_site %t86 = call ptr @lp_str_concat(ptr %t84, ptr %t85) store i32 0, ptr @lp_site call void @lp_free(ptr %t84) store i32 4962, ptr @lp_site %t87 = call ptr @lp_str_concat(ptr %t86, ptr @.str8270) store i32 0, ptr @lp_site call void @lp_free(ptr %t86) %t88 = load ptr, ptr %t58 store i32 4963, ptr @lp_site %t89 = call ptr @lp_str_concat(ptr %t87, ptr %t88) store i32 0, ptr @lp_site call void @lp_free(ptr %t87) %t90 = call ptr @fn_emit_bind(ptr %t89) store ptr %t90, ptr %retval br label %ret ifend11: call void @fn_perr(ptr @.str8271) store ptr @.str8272, ptr %retval br label %ret ret: %t91 = load ptr, ptr %retval ret ptr %t91 } define ptr @fn_zero_of(ptr %arg_lt) { entry: %retval = alloca ptr %t0 = alloca ptr %t4 = alloca i32 store ptr %arg_lt, ptr %t0 %t1 = load ptr, ptr %t0 %t2 = call i32 @lp_str_eq(ptr %t1, ptr @.str8273) %t3 = icmp ne i32 %t2, 0 br i1 %t3, label %then0, label %ifend2 then0: store ptr @.str8274, ptr %retval br label %ret ifend2: %t5 = load ptr, ptr %t0 %t6 = call i32 @lp_str_eq(ptr %t5, ptr @.str8275) %t7 = icmp ne i32 %t6, 0 %t8 = zext i1 %t7 to i32 store i32 %t8, ptr %t4 br i1 %t7, label %scend4, label %sc3 sc3: %t9 = load ptr, ptr %t0 %t10 = call i32 @lp_str_eq(ptr %t9, ptr @.str8276) %t11 = icmp ne i32 %t10, 0 %t12 = zext i1 %t11 to i32 store i32 %t12, ptr %t4 br label %scend4 scend4: %t13 = load i32, ptr %t4 %t14 = icmp ne i32 %t13, 0 br i1 %t14, label %then5, label %ifend7 then5: store ptr @.str8277, ptr %retval br label %ret ifend7: store ptr @.str8278, ptr %retval br label %ret ret: %t15 = load ptr, ptr %retval ret ptr %t15 } define ptr @fn_fp_lit_code(ptr %arg_text, ptr %arg_t) { entry: %retval = alloca ptr %t0 = alloca ptr %t1 = alloca ptr %t3 = alloca ptr store ptr %arg_text, ptr %t0 store ptr %arg_t, ptr %t1 %t2 = load ptr, ptr %t0 store ptr %t2, ptr %t3 %t4 = load ptr, ptr %t3 %t5 = call i32 @fn_str_has(ptr %t4, i32 46) %t6 = icmp eq i32 %t5, 0 %t7 = zext i1 %t6 to i32 %t8 = icmp ne i32 %t7, 0 br i1 %t8, label %then0, label %ifend2 then0: %t9 = load ptr, ptr %t3 store i32 4964, ptr @lp_site %t10 = call ptr @lp_str_concat(ptr %t9, ptr @.str8279) store i32 0, ptr @lp_site store ptr %t10, ptr %t3 br label %ifend2 ifend2: %t11 = load ptr, ptr %t1 %t12 = call i32 @lp_str_eq(ptr %t11, ptr @.str8281) %t13 = icmp ne i32 %t12, 0 br i1 %t13, label %then3, label %ifend5 then3: %t14 = load ptr, ptr %t3 store ptr %t14, ptr %retval br label %ret ifend5: %t15 = load ptr, ptr %t3 store i32 4965, ptr @lp_site %t16 = call ptr @lp_str_concat(ptr @.str8282, ptr %t15) store i32 0, ptr @lp_site store i32 4966, ptr @lp_site %t17 = call ptr @lp_str_concat(ptr %t16, ptr @.str8283) store i32 0, ptr @lp_site call void @lp_free(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_str_has(ptr %arg_s, i32 %arg_ch) { entry: %retval = alloca i32 %t0 = alloca ptr %t1 = alloca i32 %t2 = alloca i32 store ptr %arg_s, ptr %t0 store i32 %arg_ch, ptr %t1 store i32 0, ptr %t2 br label %wcond0 wcond0: %t3 = load i32, ptr %t2 %t4 = load ptr, ptr %t0 %t5 = call i64 @strlen(ptr %t4) %t6 = trunc i64 %t5 to i32 %t7 = icmp slt i32 %t3, %t6 %t8 = zext i1 %t7 to i32 %t9 = icmp ne i32 %t8, 0 br i1 %t9, label %wbody1, label %wend2 wbody1: %t10 = load ptr, ptr %t0 %t11 = load i32, ptr %t2 %t12 = getelementptr inbounds i8, ptr %t10, i32 %t11 %t13 = load i8, ptr %t12 %t14 = zext i8 %t13 to i32 %t15 = load i32, ptr %t1 %t16 = icmp eq i32 %t14, %t15 %t17 = zext i1 %t16 to i32 %t18 = icmp ne i32 %t17, 0 br i1 %t18, label %then3, label %ifend5 then3: store i32 1, ptr %retval br label %ret ifend5: %t19 = load i32, ptr %t2 %t20 = add i32 %t19, 1 store i32 %t20, ptr %t2 br label %wcond0 wend2: store i32 0, ptr %retval br label %ret ret: %t21 = load i32, ptr %retval ret i32 %t21 } define i32 @fn_is_int_const(ptr %arg_code) { entry: %retval = alloca i32 %t0 = alloca ptr %t4 = alloca i32 %t9 = alloca i32 %t27 = alloca i32 store ptr %arg_code, ptr %t0 %t1 = load ptr, ptr %t0 %t2 = call i64 @strlen(ptr %t1) %t3 = trunc i64 %t2 to i32 store i32 %t3, ptr %t4 %t5 = load i32, ptr %t4 %t6 = icmp eq i32 %t5, 0 %t7 = zext i1 %t6 to i32 %t8 = icmp ne i32 %t7, 0 br i1 %t8, label %then0, label %ifend2 then0: store i32 0, ptr %retval br label %ret ifend2: store i32 0, ptr %t9 %t10 = load ptr, ptr %t0 %t11 = getelementptr inbounds i8, ptr %t10, i32 0 %t12 = load i8, ptr %t11 %t13 = zext i8 %t12 to i32 %t14 = icmp eq i32 %t13, 45 %t15 = zext i1 %t14 to i32 %t16 = icmp ne i32 %t15, 0 br i1 %t16, label %then3, label %ifend5 then3: store i32 1, ptr %t9 br label %ifend5 ifend5: %t17 = load i32, ptr %t9 %t18 = load i32, ptr %t4 %t19 = icmp sge i32 %t17, %t18 %t20 = zext i1 %t19 to i32 %t21 = icmp ne i32 %t20, 0 br i1 %t21, label %then6, label %ifend8 then6: store i32 0, ptr %retval br label %ret ifend8: br label %wcond9 wcond9: %t22 = load i32, ptr %t9 %t23 = load i32, ptr %t4 %t24 = icmp slt i32 %t22, %t23 %t25 = zext i1 %t24 to i32 %t26 = icmp ne i32 %t25, 0 br i1 %t26, label %wbody10, label %wend11 wbody10: %t28 = load ptr, ptr %t0 %t29 = load i32, ptr %t9 %t30 = getelementptr inbounds i8, ptr %t28, i32 %t29 %t31 = load i8, ptr %t30 %t32 = zext i8 %t31 to i32 %t33 = icmp slt i32 %t32, 48 %t34 = zext i1 %t33 to i32 %t35 = icmp ne i32 %t34, 0 %t36 = zext i1 %t35 to i32 store i32 %t36, ptr %t27 br i1 %t35, label %scend13, label %sc12 sc12: %t37 = load ptr, ptr %t0 %t38 = load i32, ptr %t9 %t39 = getelementptr inbounds i8, ptr %t37, i32 %t38 %t40 = load i8, ptr %t39 %t41 = zext i8 %t40 to i32 %t42 = icmp sgt i32 %t41, 57 %t43 = zext i1 %t42 to i32 %t44 = icmp ne i32 %t43, 0 %t45 = zext i1 %t44 to i32 store i32 %t45, ptr %t27 br label %scend13 scend13: %t46 = load i32, ptr %t27 %t47 = icmp ne i32 %t46, 0 br i1 %t47, label %then14, label %ifend16 then14: store i32 0, ptr %retval br label %ret ifend16: %t48 = load i32, ptr %t9 %t49 = add i32 %t48, 1 store i32 %t49, ptr %t9 br label %wcond9 wend11: store i32 1, ptr %retval br label %ret ret: %t50 = load i32, ptr %retval ret i32 %t50 } define ptr @fn_to_fp(ptr %arg_v, ptr %arg_t, ptr %arg_what) { entry: %retval = alloca ptr %t0 = alloca ptr %t1 = alloca ptr %t2 = alloca ptr %t13 = alloca i32 %t32 = alloca i32 %t75 = alloca ptr %t76 = alloca i32 %t77 = alloca i32 %t78 = alloca i32 store ptr %arg_v, ptr %t0 store ptr %arg_t, ptr %t1 store ptr %arg_what, ptr %t2 %t3 = load ptr, ptr %t1 call void @fn_fp_guard(ptr %t3) %t4 = load ptr, ptr %t0 %t5 = getelementptr inbounds %Cmp_Val, ptr %t4, i32 0, i32 1 %t6 = load ptr, ptr %t5 %t7 = load ptr, ptr %t1 %t8 = call i32 @lp_str_eq(ptr %t6, ptr %t7) %t9 = icmp ne i32 %t8, 0 br i1 %t9, label %then0, label %ifend2 then0: %t10 = load ptr, ptr %t0 %t11 = getelementptr inbounds %Cmp_Val, ptr %t10, i32 0, i32 0 %t12 = load ptr, ptr %t11 store ptr %t12, ptr %retval br label %ret ifend2: %t14 = load ptr, ptr %t0 %t15 = getelementptr inbounds %Cmp_Val, ptr %t14, i32 0, i32 1 %t16 = load ptr, ptr %t15 %t17 = call i32 @lp_str_eq(ptr %t16, ptr @.str8284) %t18 = icmp ne i32 %t17, 0 %t19 = zext i1 %t18 to i32 store i32 %t19, ptr %t13 br i1 %t18, label %sc3, label %scend4 sc3: %t20 = load ptr, ptr %t1 %t21 = call i32 @lp_str_eq(ptr %t20, ptr @.str8285) %t22 = icmp ne i32 %t21, 0 %t23 = zext i1 %t22 to i32 store i32 %t23, ptr %t13 br label %scend4 scend4: %t24 = load i32, ptr %t13 %t25 = icmp ne i32 %t24, 0 br i1 %t25, label %then5, label %ifend7 then5: %t26 = load ptr, ptr %t0 %t27 = getelementptr inbounds %Cmp_Val, ptr %t26, i32 0, i32 0 %t28 = load ptr, ptr %t27 store i32 4967, ptr @lp_site %t29 = call ptr @lp_str_concat(ptr @.str8286, ptr %t28) store i32 0, ptr @lp_site store i32 4968, ptr @lp_site %t30 = call ptr @lp_str_concat(ptr %t29, ptr @.str8288) store i32 0, ptr @lp_site call void @lp_free(ptr %t29) %t31 = call ptr @fn_emit_bind(ptr %t30) store ptr %t31, ptr %retval br label %ret ifend7: %t33 = load ptr, ptr %t0 %t34 = getelementptr inbounds %Cmp_Val, ptr %t33, i32 0, i32 1 %t35 = load ptr, ptr %t34 %t36 = call i32 @lp_str_eq(ptr %t35, ptr @.str8289) %t37 = icmp ne i32 %t36, 0 %t38 = zext i1 %t37 to i32 store i32 %t38, ptr %t32 br i1 %t37, label %sc8, label %scend9 sc8: %t39 = load ptr, ptr %t1 %t40 = call i32 @lp_str_eq(ptr %t39, ptr @.str8290) %t41 = icmp ne i32 %t40, 0 %t42 = zext i1 %t41 to i32 store i32 %t42, ptr %t32 br label %scend9 scend9: %t43 = load i32, ptr %t32 %t44 = icmp ne i32 %t43, 0 br i1 %t44, label %then10, label %ifend12 then10: %t45 = load ptr, ptr %t2 store i32 4969, ptr @lp_site %t46 = call ptr @lp_str_concat(ptr %t45, ptr @.str8291) store i32 0, ptr @lp_site call void @fn_perr(ptr %t46) br label %ifend12 ifend12: %t47 = load ptr, ptr %t0 %t48 = getelementptr inbounds %Cmp_Val, ptr %t47, i32 0, i32 2 %t49 = load ptr, ptr %t48 %t50 = icmp ne ptr %t49, null %t51 = zext i1 %t50 to i32 %t52 = icmp ne i32 %t51, 0 br i1 %t52, label %then13, label %ifend15 then13: %t53 = load ptr, ptr %t0 %t54 = getelementptr inbounds %Cmp_Val, ptr %t53, i32 0, i32 2 %t55 = load ptr, ptr %t54 %t56 = load ptr, ptr %t1 %t57 = call ptr @fn_fp_const(ptr %t55, ptr %t56) store ptr %t57, ptr %retval br label %ret ifend15: %t58 = load ptr, ptr %t0 %t59 = getelementptr inbounds %Cmp_Val, ptr %t58, i32 0, i32 1 %t60 = load ptr, ptr %t59 %t61 = call i32 @lp_str_eq(ptr %t60, ptr @.str8292) %t62 = icmp ne i32 %t61, 0 br i1 %t62, label %then16, label %ifend18 then16: %t63 = load ptr, ptr %t2 store i32 4970, ptr @lp_site %t64 = call ptr @lp_str_concat(ptr %t63, ptr @.str8293) store i32 0, ptr @lp_site %t65 = load ptr, ptr %t1 store i32 4971, ptr @lp_site %t66 = call ptr @lp_str_concat(ptr %t64, ptr %t65) store i32 0, ptr @lp_site call void @lp_free(ptr %t64) store i32 4972, ptr @lp_site %t67 = call ptr @lp_str_concat(ptr %t66, ptr @.str8294) store i32 0, ptr @lp_site call void @lp_free(ptr %t66) %t68 = load ptr, ptr %t1 store i32 4973, ptr @lp_site %t69 = call ptr @lp_str_concat(ptr %t67, ptr %t68) store i32 0, ptr @lp_site call void @lp_free(ptr %t67) store i32 4974, ptr @lp_site %t70 = call ptr @lp_str_concat(ptr %t69, ptr @.str8295) store i32 0, ptr @lp_site call void @lp_free(ptr %t69) call void @fn_perr(ptr %t70) br label %ifend18 ifend18: %t71 = load ptr, ptr %t0 %t72 = getelementptr inbounds %Cmp_Val, ptr %t71, i32 0, i32 1 %t73 = load ptr, ptr %t72 %t74 = call ptr @fn_llty(ptr %t73) store ptr %t74, ptr %t75 %t79 = load ptr, ptr %t75 %t80 = call i32 @lp_str_eq(ptr %t79, ptr @.str8296) %t81 = icmp ne i32 %t80, 0 %t82 = zext i1 %t81 to i32 store i32 %t82, ptr %t78 br i1 %t81, label %scend20, label %sc19 sc19: %t83 = load ptr, ptr %t75 %t84 = call i32 @lp_str_eq(ptr %t83, ptr @.str8297) %t85 = icmp ne i32 %t84, 0 %t86 = zext i1 %t85 to i32 store i32 %t86, ptr %t78 br label %scend20 scend20: %t87 = load i32, ptr %t78 %t88 = icmp ne i32 %t87, 0 %t89 = zext i1 %t88 to i32 store i32 %t89, ptr %t77 br i1 %t88, label %sc21, label %scend22 sc21: %t90 = load ptr, ptr %t0 %t91 = getelementptr inbounds %Cmp_Val, ptr %t90, i32 0, i32 0 %t92 = load ptr, ptr %t91 %t93 = call i32 @fn_is_int_const(ptr %t92) %t94 = icmp eq i32 %t93, 0 %t95 = zext i1 %t94 to i32 %t96 = icmp ne i32 %t95, 0 %t97 = zext i1 %t96 to i32 store i32 %t97, ptr %t77 br label %scend22 scend22: %t98 = load i32, ptr %t77 %t99 = icmp ne i32 %t98, 0 %t100 = zext i1 %t99 to i32 store i32 %t100, ptr %t76 br i1 %t99, label %sc23, label %scend24 sc23: %t101 = call i32 @fn_strict_numbers() %t102 = icmp ne i32 %t101, 0 %t103 = zext i1 %t102 to i32 store i32 %t103, ptr %t76 br label %scend24 scend24: %t104 = load i32, ptr %t76 %t105 = icmp ne i32 %t104, 0 br i1 %t105, label %then25, label %ifend27 then25: %t106 = load ptr, ptr %t2 store i32 4975, ptr @lp_site %t107 = call ptr @lp_str_concat(ptr %t106, ptr @.str8298) store i32 0, ptr @lp_site %t108 = load ptr, ptr %t0 %t109 = getelementptr inbounds %Cmp_Val, ptr %t108, i32 0, i32 1 %t110 = load ptr, ptr %t109 store i32 4976, ptr @lp_site %t111 = call ptr @lp_str_concat(ptr %t107, ptr %t110) store i32 0, ptr @lp_site call void @lp_free(ptr %t107) store i32 4977, ptr @lp_site %t112 = call ptr @lp_str_concat(ptr %t111, ptr @.str8299) store i32 0, ptr @lp_site call void @lp_free(ptr %t111) %t113 = load ptr, ptr %t1 store i32 4978, ptr @lp_site %t114 = call ptr @lp_str_concat(ptr %t112, ptr %t113) store i32 0, ptr @lp_site call void @lp_free(ptr %t112) store i32 4979, ptr @lp_site %t115 = call ptr @lp_str_concat(ptr %t114, ptr @.str8300) store i32 0, ptr @lp_site call void @lp_free(ptr %t114) %t116 = load ptr, ptr %t1 store i32 4980, ptr @lp_site %t117 = call ptr @lp_str_concat(ptr %t115, ptr %t116) store i32 0, ptr @lp_site call void @lp_free(ptr %t115) store i32 4981, ptr @lp_site %t118 = call ptr @lp_str_concat(ptr %t117, ptr @.str8301) store i32 0, ptr @lp_site call void @lp_free(ptr %t117) call void @fn_perr(ptr %t118) br label %ifend27 ifend27: %t119 = load ptr, ptr %t75 %t120 = call i32 @lp_str_eq(ptr %t119, ptr @.str8302) %t121 = icmp ne i32 %t120, 0 br i1 %t121, label %then28, label %ifend30 then28: %t122 = load ptr, ptr %t0 %t123 = getelementptr inbounds %Cmp_Val, ptr %t122, i32 0, i32 1 %t124 = load ptr, ptr %t123 %t125 = load ptr, ptr %t1 call void @fn_fp_promote_note(ptr %t124, ptr %t125) %t126 = load ptr, ptr %t0 %t127 = getelementptr inbounds %Cmp_Val, ptr %t126, i32 0, i32 0 %t128 = load ptr, ptr %t127 store i32 4982, ptr @lp_site %t129 = call ptr @lp_str_concat(ptr @.str8303, ptr %t128) store i32 0, ptr @lp_site store i32 4983, ptr @lp_site %t130 = call ptr @lp_str_concat(ptr %t129, ptr @.str8304) store i32 0, ptr @lp_site call void @lp_free(ptr %t129) %t131 = load ptr, ptr %t1 store i32 4984, ptr @lp_site %t132 = call ptr @lp_str_concat(ptr %t130, ptr %t131) store i32 0, ptr @lp_site call void @lp_free(ptr %t130) %t133 = call ptr @fn_emit_bind(ptr %t132) store ptr %t133, ptr %retval br label %ret ifend30: %t134 = load ptr, ptr %t75 %t135 = call i32 @lp_str_eq(ptr %t134, ptr @.str8305) %t136 = icmp ne i32 %t135, 0 br i1 %t136, label %then31, label %ifend33 then31: %t137 = load ptr, ptr %t0 %t138 = getelementptr inbounds %Cmp_Val, ptr %t137, i32 0, i32 0 %t139 = load ptr, ptr %t138 %t140 = call i32 @fn_is_int_const(ptr %t139) %t141 = icmp ne i32 %t140, 0 br i1 %t141, label %then34, label %ifend36 then34: %t142 = load ptr, ptr %t0 %t143 = getelementptr inbounds %Cmp_Val, ptr %t142, i32 0, i32 0 %t144 = load ptr, ptr %t143 %t145 = load ptr, ptr %t1 %t146 = call ptr @fn_fp_lit_code(ptr %t144, ptr %t145) store ptr %t146, ptr %retval br label %ret ifend36: %t147 = load ptr, ptr %t0 %t148 = getelementptr inbounds %Cmp_Val, ptr %t147, i32 0, i32 1 %t149 = load ptr, ptr %t148 %t150 = load ptr, ptr %t1 call void @fn_fp_promote_note(ptr %t149, ptr %t150) %t151 = load ptr, ptr %t0 %t152 = getelementptr inbounds %Cmp_Val, ptr %t151, i32 0, i32 0 %t153 = load ptr, ptr %t152 store i32 4985, ptr @lp_site %t154 = call ptr @lp_str_concat(ptr @.str8306, ptr %t153) store i32 0, ptr @lp_site store i32 4986, ptr @lp_site %t155 = call ptr @lp_str_concat(ptr %t154, ptr @.str8307) store i32 0, ptr @lp_site call void @lp_free(ptr %t154) %t156 = load ptr, ptr %t1 store i32 4987, ptr @lp_site %t157 = call ptr @lp_str_concat(ptr %t155, ptr %t156) store i32 0, ptr @lp_site call void @lp_free(ptr %t155) %t158 = call ptr @fn_emit_bind(ptr %t157) store ptr %t158, ptr %retval br label %ret ifend33: %t159 = load ptr, ptr %t2 store i32 4988, ptr @lp_site %t160 = call ptr @lp_str_concat(ptr %t159, ptr @.str8308) store i32 0, ptr @lp_site %t161 = load ptr, ptr %t0 %t162 = getelementptr inbounds %Cmp_Val, ptr %t161, i32 0, i32 1 %t163 = load ptr, ptr %t162 store i32 4989, ptr @lp_site %t164 = call ptr @lp_str_concat(ptr %t160, ptr %t163) store i32 0, ptr @lp_site call void @lp_free(ptr %t160) store i32 4990, ptr @lp_site %t165 = call ptr @lp_str_concat(ptr %t164, ptr @.str8309) store i32 0, ptr @lp_site call void @lp_free(ptr %t164) call void @fn_perr(ptr %t165) %t166 = load ptr, ptr %t0 %t167 = getelementptr inbounds %Cmp_Val, ptr %t166, i32 0, i32 0 %t168 = load ptr, ptr %t167 store ptr %t168, ptr %retval br label %ret ret: %t169 = load ptr, ptr %retval ret ptr %t169 } define i32 @fn_strict_numbers() { entry: %retval = alloca i32 %t0 = load ptr, ptr @g_g_err_file %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 0, ptr %retval br label %ret ifend2: %t4 = load ptr, ptr @g_g_err_file %t5 = call i32 @fn_is_float_file(ptr %t4) store i32 %t5, ptr %retval br label %ret ret: %t6 = load i32, ptr %retval ret i32 %t6 } define void @fn_fp_promote_note(ptr %arg_from, ptr %arg_t) { entry: %t0 = alloca ptr %t1 = alloca ptr %t15 = alloca ptr %t41 = alloca ptr store ptr %arg_from, ptr %t0 store ptr %arg_t, ptr %t1 %t2 = load i32, ptr @g_g_warn_promote %t3 = icmp slt i32 %t2, 0 %t4 = zext i1 %t3 to i32 %t5 = icmp ne i32 %t4, 0 br i1 %t5, label %then0, label %ifend2 then0: store i32 0, ptr @g_g_warn_promote %t6 = call ptr @getenv(ptr @.str8310) %t7 = icmp ne ptr %t6, null %t8 = zext i1 %t7 to i32 %t9 = icmp ne i32 %t8, 0 br i1 %t9, label %then3, label %ifend5 then3: store i32 1, ptr @g_g_warn_promote br label %ifend5 ifend5: br label %ifend2 ifend2: %t10 = load i32, ptr @g_g_warn_promote %t11 = icmp eq i32 %t10, 0 %t12 = zext i1 %t11 to i32 %t13 = icmp ne i32 %t12, 0 br i1 %t13, label %then6, label %ifend8 then6: br label %ret ifend8: %t14 = load ptr, ptr @g_g_err_file store ptr %t14, ptr %t15 %t16 = load ptr, ptr %t15 %t17 = icmp eq ptr %t16, null %t18 = zext i1 %t17 to i32 %t19 = icmp ne i32 %t18, 0 br i1 %t19, label %then9, label %ifend11 then9: store ptr @.str8311, ptr %t15 br label %ifend11 ifend11: %t20 = load i32, ptr @g_g_diag_json %t21 = icmp ne i32 %t20, 0 br i1 %t21, label %then12, label %ifend14 then12: %t22 = load ptr, ptr %t15 %t23 = load i32, ptr @g_g_err_line %t24 = load ptr, ptr %t0 store i32 4991, ptr @lp_site %t25 = call ptr @lp_str_concat(ptr @.str8313, ptr %t24) store i32 0, ptr @lp_site store i32 4992, ptr @lp_site %t26 = call ptr @lp_str_concat(ptr %t25, ptr @.str8315) store i32 0, ptr @lp_site call void @lp_free(ptr %t25) %t27 = load ptr, ptr %t1 store i32 4993, ptr @lp_site %t28 = call ptr @lp_str_concat(ptr %t26, ptr %t27) store i32 0, ptr @lp_site call void @lp_free(ptr %t26) call void @fn_diag_add(ptr %t22, i32 %t23, i32 0, ptr @.str8312, ptr %t28) br label %ret ifend14: %t29 = load ptr, ptr %t15 store i32 4994, ptr @lp_site %t30 = call ptr @lp_str_concat(ptr %t29, ptr @.str8316) store i32 0, ptr @lp_site %t31 = load i32, ptr @g_g_err_line %t32 = call ptr @fn_itoa(i32 %t31) store i32 4995, ptr @lp_site %t33 = call ptr @lp_str_concat(ptr %t30, ptr %t32) store i32 0, ptr @lp_site call void @lp_free(ptr %t30) store i32 4996, ptr @lp_site %t34 = call ptr @lp_str_concat(ptr %t33, ptr @.str8317) store i32 0, ptr @lp_site call void @lp_free(ptr %t33) %t35 = load ptr, ptr %t0 store i32 4997, ptr @lp_site %t36 = call ptr @lp_str_concat(ptr %t34, ptr %t35) store i32 0, ptr @lp_site call void @lp_free(ptr %t34) store i32 4998, ptr @lp_site %t37 = call ptr @lp_str_concat(ptr %t36, ptr @.str8318) store i32 0, ptr @lp_site call void @lp_free(ptr %t36) %t38 = load ptr, ptr %t1 store i32 4999, ptr @lp_site %t39 = call ptr @lp_str_concat(ptr %t37, ptr %t38) store i32 0, ptr @lp_site call void @lp_free(ptr %t37) store i32 5000, ptr @lp_site %t40 = call ptr @lp_str_concat(ptr %t39, ptr @.str8319) store i32 0, ptr @lp_site call void @lp_free(ptr %t39) store ptr %t40, ptr %t41 store i32 5001, ptr @lp_site %t42 = call ptr @lp_win_stdio(i32 2) store i32 0, ptr @lp_site %t43 = load ptr, ptr %t41 %t44 = load ptr, ptr %t41 %t45 = call i64 @strlen(ptr %t44) %t46 = trunc i64 %t45 to i32 %t47 = zext i32 %t46 to i64 %t48 = call i64 @fwrite(ptr %t43, i64 1, i64 %t47, ptr %t42) %t49 = trunc i64 %t48 to i32 br label %ret ret: ret void } define ptr @fn_fcmp_code(ptr %arg_op) { entry: %retval = alloca ptr %t0 = alloca ptr store ptr %arg_op, ptr %t0 %t1 = load ptr, ptr %t0 %t2 = call i32 @lp_str_eq(ptr %t1, ptr @.str8320) %t3 = icmp ne i32 %t2, 0 br i1 %t3, label %then0, label %ifend2 then0: store ptr @.str8321, ptr %retval br label %ret ifend2: %t4 = load ptr, ptr %t0 %t5 = call i32 @lp_str_eq(ptr %t4, ptr @.str8322) %t6 = icmp ne i32 %t5, 0 br i1 %t6, label %then3, label %ifend5 then3: store ptr @.str8323, ptr %retval br label %ret ifend5: %t7 = load ptr, ptr %t0 %t8 = call i32 @lp_str_eq(ptr %t7, ptr @.str8324) %t9 = icmp ne i32 %t8, 0 br i1 %t9, label %then6, label %ifend8 then6: store ptr @.str8325, ptr %retval br label %ret ifend8: %t10 = load ptr, ptr %t0 %t11 = call i32 @lp_str_eq(ptr %t10, ptr @.str8326) %t12 = icmp ne i32 %t11, 0 br i1 %t12, label %then9, label %ifend11 then9: store ptr @.str8327, ptr %retval br label %ret ifend11: %t13 = load ptr, ptr %t0 %t14 = call i32 @lp_str_eq(ptr %t13, ptr @.str8328) %t15 = icmp ne i32 %t14, 0 br i1 %t15, label %then12, label %ifend14 then12: store ptr @.str8329, ptr %retval br label %ret ifend14: store ptr @.str8330, ptr %retval br label %ret ret: %t16 = load ptr, ptr %retval ret ptr %t16 } define ptr @fn_fixed_lit_code(ptr %arg_v) { entry: %retval = alloca ptr %t0 = alloca ptr %t1 = alloca i32 %t33 = alloca i32 %t34 = alloca i32 store ptr %arg_v, ptr %t0 %t2 = load ptr, ptr %t0 %t3 = getelementptr inbounds %Cmp_Val, ptr %t2, i32 0, i32 2 %t4 = load ptr, ptr %t3 %t5 = icmp eq ptr %t4, null %t6 = zext i1 %t5 to i32 %t7 = icmp ne i32 %t6, 0 %t8 = zext i1 %t7 to i32 store i32 %t8, ptr %t1 br i1 %t7, label %scend1, label %sc0 sc0: %t9 = load ptr, ptr %t0 %t10 = getelementptr inbounds %Cmp_Val, ptr %t9, i32 0, i32 1 %t11 = load ptr, ptr %t10 %t12 = call i32 @fn_is_fp(ptr %t11) %t13 = icmp eq i32 %t12, 0 %t14 = zext i1 %t13 to i32 %t15 = icmp ne i32 %t14, 0 %t16 = zext i1 %t15 to i32 store i32 %t16, ptr %t1 br label %scend1 scend1: %t17 = load i32, ptr %t1 %t18 = icmp ne i32 %t17, 0 br i1 %t18, label %then2, label %ifend4 then2: store ptr @.str8331, ptr %retval br label %ret ifend4: %t19 = load ptr, ptr %t0 %t20 = getelementptr inbounds %Cmp_Val, ptr %t19, i32 0, i32 2 %t21 = load ptr, ptr %t20 %t22 = getelementptr inbounds %Cmp_Node, ptr %t21, i32 0, i32 0 %t23 = load i32, ptr %t22 %t24 = icmp eq i32 %t23, 40 %t25 = zext i1 %t24 to i32 %t26 = icmp ne i32 %t25, 0 br i1 %t26, label %then5, label %ifend7 then5: %t27 = load ptr, ptr %t0 %t28 = getelementptr inbounds %Cmp_Val, ptr %t27, i32 0, i32 2 %t29 = load ptr, ptr %t28 %t30 = getelementptr inbounds %Cmp_Node, ptr %t29, i32 0, i32 2 %t31 = load i32, ptr %t30 %t32 = call ptr @fn_itoa(i32 %t31) store ptr %t32, ptr %retval br label %ret ifend7: %t35 = load ptr, ptr %t0 %t36 = getelementptr inbounds %Cmp_Val, ptr %t35, i32 0, i32 2 %t37 = load ptr, ptr %t36 %t38 = getelementptr inbounds %Cmp_Node, ptr %t37, i32 0, i32 0 %t39 = load i32, ptr %t38 %t40 = icmp eq i32 %t39, 38 %t41 = zext i1 %t40 to i32 %t42 = icmp ne i32 %t41, 0 %t43 = zext i1 %t42 to i32 store i32 %t43, ptr %t34 br i1 %t42, label %sc8, label %scend9 sc8: %t44 = load ptr, ptr %t0 %t45 = getelementptr inbounds %Cmp_Val, ptr %t44, i32 0, i32 2 %t46 = load ptr, ptr %t45 %t47 = getelementptr inbounds %Cmp_Node, ptr %t46, i32 0, i32 4 %t48 = load ptr, ptr %t47 %t49 = icmp ne ptr %t48, null %t50 = zext i1 %t49 to i32 %t51 = icmp ne i32 %t50, 0 %t52 = zext i1 %t51 to i32 store i32 %t52, ptr %t34 br label %scend9 scend9: %t53 = load i32, ptr %t34 %t54 = icmp ne i32 %t53, 0 %t55 = zext i1 %t54 to i32 store i32 %t55, ptr %t33 br i1 %t54, label %sc10, label %scend11 sc10: %t56 = load ptr, ptr %t0 %t57 = getelementptr inbounds %Cmp_Val, ptr %t56, i32 0, i32 2 %t58 = load ptr, ptr %t57 %t59 = getelementptr inbounds %Cmp_Node, ptr %t58, i32 0, i32 4 %t60 = load ptr, ptr %t59 %t61 = getelementptr inbounds %Cmp_Node, ptr %t60, i32 0, i32 0 %t62 = load i32, ptr %t61 %t63 = icmp eq i32 %t62, 40 %t64 = zext i1 %t63 to i32 %t65 = icmp ne i32 %t64, 0 %t66 = zext i1 %t65 to i32 store i32 %t66, ptr %t33 br label %scend11 scend11: %t67 = load i32, ptr %t33 %t68 = icmp ne i32 %t67, 0 br i1 %t68, label %then12, label %ifend14 then12: %t69 = load ptr, ptr %t0 %t70 = getelementptr inbounds %Cmp_Val, ptr %t69, i32 0, i32 2 %t71 = load ptr, ptr %t70 %t72 = getelementptr inbounds %Cmp_Node, ptr %t71, i32 0, i32 4 %t73 = load ptr, ptr %t72 %t74 = getelementptr inbounds %Cmp_Node, ptr %t73, i32 0, i32 2 %t75 = load i32, ptr %t74 %t76 = sub i32 0, %t75 %t77 = call ptr @fn_itoa(i32 %t76) store ptr %t77, ptr %retval br label %ret ifend14: store ptr @.str8332, ptr %retval br label %ret ret: %t78 = load ptr, ptr %retval ret ptr %t78 } define ptr @fn_lit_as_fixed(ptr %arg_v) { entry: %retval = alloca ptr %t0 = alloca ptr %t3 = alloca ptr %t10 = alloca ptr store ptr %arg_v, ptr %t0 %t1 = load ptr, ptr %t0 %t2 = call ptr @fn_fixed_lit_code(ptr %t1) store ptr %t2, ptr %t3 %t4 = load ptr, ptr %t3 %t5 = call i32 @lp_str_eq(ptr %t4, ptr @.str8333) %t6 = icmp ne i32 %t5, 0 br i1 %t6, label %then0, label %ifend2 then0: %t7 = load ptr, ptr %t0 store ptr %t7, ptr %retval br label %ret ifend2: %t8 = load ptr, ptr %t3 %t9 = call ptr @fn_val(ptr %t8, ptr @.str8334) store ptr %t9, ptr %t10 %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_emit_fp_bin(ptr %arg_op, ptr %arg_a, ptr %arg_b) { entry: %retval = alloca ptr %t0 = alloca ptr %t1 = alloca ptr %t2 = alloca ptr %t3 = alloca i32 %t24 = alloca i32 %t45 = alloca ptr %t46 = alloca i32 %t84 = alloca ptr %t90 = alloca ptr %t107 = alloca ptr %t113 = alloca ptr store ptr %arg_op, ptr %t0 store ptr %arg_a, ptr %t1 store ptr %arg_b, ptr %t2 %t4 = load ptr, ptr %t1 %t5 = getelementptr inbounds %Cmp_Val, ptr %t4, i32 0, i32 1 %t6 = load ptr, ptr %t5 %t7 = call i32 @lp_str_eq(ptr %t6, ptr @.str8335) %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: %t10 = load ptr, ptr %t2 %t11 = call ptr @fn_fixed_lit_code(ptr %t10) %t12 = call i32 @lp_str_eq(ptr %t11, ptr @.str8336) %t13 = icmp eq i32 %t12, 0 %t14 = zext i1 %t13 to i32 %t15 = icmp ne i32 %t14, 0 %t16 = zext i1 %t15 to i32 store i32 %t16, ptr %t3 br label %scend1 scend1: %t17 = load i32, ptr %t3 %t18 = icmp ne i32 %t17, 0 br i1 %t18, label %then2, label %ifend4 then2: %t19 = load ptr, ptr %t0 %t20 = load ptr, ptr %t1 %t21 = load ptr, ptr %t2 %t22 = call ptr @fn_lit_as_fixed(ptr %t21) %t23 = call ptr @fn_emit_bin_vals(ptr %t19, ptr %t20, ptr %t22, i32 0) store ptr %t23, ptr %retval br label %ret ifend4: %t25 = load ptr, ptr %t2 %t26 = getelementptr inbounds %Cmp_Val, ptr %t25, i32 0, i32 1 %t27 = load ptr, ptr %t26 %t28 = call i32 @lp_str_eq(ptr %t27, ptr @.str8337) %t29 = icmp ne i32 %t28, 0 %t30 = zext i1 %t29 to i32 store i32 %t30, ptr %t24 br i1 %t29, label %sc5, label %scend6 sc5: %t31 = load ptr, ptr %t1 %t32 = call ptr @fn_fixed_lit_code(ptr %t31) %t33 = call i32 @lp_str_eq(ptr %t32, ptr @.str8338) %t34 = icmp eq i32 %t33, 0 %t35 = zext i1 %t34 to i32 %t36 = icmp ne i32 %t35, 0 %t37 = zext i1 %t36 to i32 store i32 %t37, ptr %t24 br label %scend6 scend6: %t38 = load i32, ptr %t24 %t39 = icmp ne i32 %t38, 0 br i1 %t39, label %then7, label %ifend9 then7: %t40 = load ptr, ptr %t0 %t41 = load ptr, ptr %t1 %t42 = call ptr @fn_lit_as_fixed(ptr %t41) %t43 = load ptr, ptr %t2 %t44 = call ptr @fn_emit_bin_vals(ptr %t40, ptr %t42, ptr %t43, i32 0) store ptr %t44, ptr %retval br label %ret ifend9: store ptr @.str8339, ptr %t45 %t47 = load ptr, ptr %t1 %t48 = getelementptr inbounds %Cmp_Val, ptr %t47, i32 0, i32 1 %t49 = load ptr, ptr %t48 %t50 = call i32 @fn_is_fp(ptr %t49) %t51 = icmp ne i32 %t50, 0 %t52 = zext i1 %t51 to i32 store i32 %t52, ptr %t46 br i1 %t51, label %sc10, label %scend11 sc10: %t53 = load ptr, ptr %t2 %t54 = getelementptr inbounds %Cmp_Val, ptr %t53, i32 0, i32 1 %t55 = load ptr, ptr %t54 %t56 = call i32 @fn_is_fp(ptr %t55) %t57 = icmp ne i32 %t56, 0 %t58 = zext i1 %t57 to i32 store i32 %t58, ptr %t46 br label %scend11 scend11: %t59 = load i32, ptr %t46 %t60 = icmp ne i32 %t59, 0 br i1 %t60, label %then12, label %else13 then12: %t61 = load ptr, ptr %t1 %t62 = getelementptr inbounds %Cmp_Val, ptr %t61, i32 0, i32 1 %t63 = load ptr, ptr %t62 %t64 = load ptr, ptr %t2 %t65 = getelementptr inbounds %Cmp_Val, ptr %t64, i32 0, i32 1 %t66 = load ptr, ptr %t65 %t67 = call ptr @fn_fp_result(ptr %t63, ptr %t66) store ptr %t67, ptr %t45 br label %ifend14 else13: %t68 = load ptr, ptr %t1 %t69 = getelementptr inbounds %Cmp_Val, ptr %t68, i32 0, i32 1 %t70 = load ptr, ptr %t69 %t71 = call i32 @fn_is_fp(ptr %t70) %t72 = icmp ne i32 %t71, 0 br i1 %t72, label %then15, label %else16 then15: %t73 = load ptr, ptr %t1 %t74 = getelementptr inbounds %Cmp_Val, ptr %t73, i32 0, i32 1 %t75 = load ptr, ptr %t74 store ptr %t75, ptr %t45 br label %ifend17 else16: %t76 = load ptr, ptr %t2 %t77 = getelementptr inbounds %Cmp_Val, ptr %t76, i32 0, i32 1 %t78 = load ptr, ptr %t77 store ptr %t78, ptr %t45 br label %ifend17 ifend17: br label %ifend14 ifend14: %t79 = load ptr, ptr %t1 %t80 = load ptr, ptr %t45 %t81 = load ptr, ptr %t0 store i32 5002, ptr @lp_site %t82 = call ptr @lp_str_concat(ptr @.str8340, ptr %t81) store i32 0, ptr @lp_site %t83 = call ptr @fn_to_fp(ptr %t79, ptr %t80, ptr %t82) store ptr %t83, ptr %t84 %t85 = load ptr, ptr %t2 %t86 = load ptr, ptr %t45 %t87 = load ptr, ptr %t0 store i32 5003, ptr @lp_site %t88 = call ptr @lp_str_concat(ptr @.str8342, ptr %t87) store i32 0, ptr @lp_site %t89 = call ptr @fn_to_fp(ptr %t85, ptr %t86, ptr %t88) store ptr %t89, ptr %t90 %t91 = load ptr, ptr %t0 %t92 = call i32 @fn_is_cmp(ptr %t91) %t93 = icmp ne i32 %t92, 0 br i1 %t93, label %then18, label %ifend20 then18: %t94 = load ptr, ptr %t0 %t95 = call ptr @fn_fcmp_code(ptr %t94) store i32 5004, ptr @lp_site %t96 = call ptr @lp_str_concat(ptr @.str8343, ptr %t95) store i32 0, ptr @lp_site store i32 5005, ptr @lp_site %t97 = call ptr @lp_str_concat(ptr %t96, ptr @.str8344) store i32 0, ptr @lp_site call void @lp_free(ptr %t96) %t98 = load ptr, ptr %t45 store i32 5006, ptr @lp_site %t99 = call ptr @lp_str_concat(ptr %t97, ptr %t98) store i32 0, ptr @lp_site call void @lp_free(ptr %t97) store i32 5007, ptr @lp_site %t100 = call ptr @lp_str_concat(ptr %t99, ptr @.str8345) store i32 0, ptr @lp_site call void @lp_free(ptr %t99) %t101 = load ptr, ptr %t84 store i32 5008, ptr @lp_site %t102 = call ptr @lp_str_concat(ptr %t100, ptr %t101) store i32 0, ptr @lp_site call void @lp_free(ptr %t100) store i32 5009, ptr @lp_site %t103 = call ptr @lp_str_concat(ptr %t102, ptr @.str8346) store i32 0, ptr @lp_site call void @lp_free(ptr %t102) %t104 = load ptr, ptr %t90 store i32 5010, ptr @lp_site %t105 = call ptr @lp_str_concat(ptr %t103, ptr %t104) store i32 0, ptr @lp_site call void @lp_free(ptr %t103) %t106 = call ptr @fn_emit_bind(ptr %t105) store ptr %t106, ptr %t107 %t108 = load ptr, ptr %t107 store i32 5011, ptr @lp_site %t109 = call ptr @lp_str_concat(ptr @.str8347, ptr %t108) store i32 0, ptr @lp_site store i32 5012, ptr @lp_site %t110 = call ptr @lp_str_concat(ptr %t109, ptr @.str8348) store i32 0, ptr @lp_site call void @lp_free(ptr %t109) %t111 = call ptr @fn_emit_bind(ptr %t110) %t112 = call ptr @fn_val(ptr %t111, ptr @.str8349) store ptr %t112, ptr %retval br label %ret ifend20: store ptr @.str8350, ptr %t113 %t114 = load ptr, ptr %t0 %t115 = call i32 @lp_str_eq(ptr %t114, ptr @.str8351) %t116 = icmp ne i32 %t115, 0 br i1 %t116, label %then21, label %ifend23 then21: store ptr @.str8352, ptr %t113 br label %ifend23 ifend23: %t117 = load ptr, ptr %t0 %t118 = call i32 @lp_str_eq(ptr %t117, ptr @.str8353) %t119 = icmp ne i32 %t118, 0 br i1 %t119, label %then24, label %ifend26 then24: store ptr @.str8354, ptr %t113 br label %ifend26 ifend26: %t120 = load ptr, ptr %t0 %t121 = call i32 @lp_str_eq(ptr %t120, ptr @.str8355) %t122 = icmp ne i32 %t121, 0 br i1 %t122, label %then27, label %ifend29 then27: store ptr @.str8356, ptr %t113 br label %ifend29 ifend29: %t123 = load ptr, ptr %t0 %t124 = call i32 @lp_str_eq(ptr %t123, ptr @.str8357) %t125 = icmp ne i32 %t124, 0 br i1 %t125, label %then30, label %ifend32 then30: store ptr @.str8358, ptr %t113 br label %ifend32 ifend32: %t126 = load ptr, ptr %t0 %t127 = call i32 @lp_str_eq(ptr %t126, ptr @.str8359) %t128 = icmp ne i32 %t127, 0 br i1 %t128, label %then33, label %ifend35 then33: store ptr @.str8360, ptr %t113 br label %ifend35 ifend35: %t129 = load ptr, ptr %t113 %t130 = call i32 @lp_str_eq(ptr %t129, ptr @.str8361) %t131 = icmp ne i32 %t130, 0 br i1 %t131, label %then36, label %ifend38 then36: %t132 = load ptr, ptr %t0 store i32 5013, ptr @lp_site %t133 = call ptr @lp_str_concat(ptr @.str8362, ptr %t132) store i32 0, ptr @lp_site store i32 5014, ptr @lp_site %t134 = call ptr @lp_str_concat(ptr %t133, ptr @.str8363) store i32 0, ptr @lp_site call void @lp_free(ptr %t133) %t135 = load ptr, ptr %t45 store i32 5015, ptr @lp_site %t136 = call ptr @lp_str_concat(ptr %t134, ptr %t135) store i32 0, ptr @lp_site call void @lp_free(ptr %t134) call void @fn_perr(ptr %t136) br label %ifend38 ifend38: %t137 = load ptr, ptr %t113 store i32 5016, ptr @lp_site %t138 = call ptr @lp_str_concat(ptr %t137, ptr @.str8364) store i32 0, ptr @lp_site %t139 = load ptr, ptr %t45 store i32 5017, ptr @lp_site %t140 = call ptr @lp_str_concat(ptr %t138, ptr %t139) store i32 0, ptr @lp_site call void @lp_free(ptr %t138) store i32 5018, ptr @lp_site %t141 = call ptr @lp_str_concat(ptr %t140, ptr @.str8365) store i32 0, ptr @lp_site call void @lp_free(ptr %t140) %t142 = load ptr, ptr %t84 store i32 5019, ptr @lp_site %t143 = call ptr @lp_str_concat(ptr %t141, ptr %t142) store i32 0, ptr @lp_site call void @lp_free(ptr %t141) store i32 5020, ptr @lp_site %t144 = call ptr @lp_str_concat(ptr %t143, ptr @.str8366) store i32 0, ptr @lp_site call void @lp_free(ptr %t143) %t145 = load ptr, ptr %t90 store i32 5021, ptr @lp_site %t146 = call ptr @lp_str_concat(ptr %t144, ptr %t145) store i32 0, ptr @lp_site call void @lp_free(ptr %t144) %t147 = call ptr @fn_emit_bind(ptr %t146) %t148 = load ptr, ptr %t45 %t149 = call ptr @fn_val(ptr %t147, ptr %t148) store ptr %t149, ptr %retval br label %ret ret: %t150 = load ptr, ptr %retval ret ptr %t150 } define ptr @fn_emit_fp_convert(ptr %arg_t, ptr %arg_v) { entry: %retval = alloca ptr %t0 = alloca ptr %t1 = alloca ptr %t60 = alloca ptr %t74 = alloca ptr %t75 = alloca i32 store ptr %arg_t, ptr %t0 store ptr %arg_v, ptr %t1 %t2 = load ptr, ptr %t0 call void @fn_fp_guard(ptr %t2) %t3 = load ptr, ptr %t1 %t4 = getelementptr inbounds %Cmp_Val, ptr %t3, i32 0, i32 2 %t5 = load ptr, ptr %t4 %t6 = icmp ne ptr %t5, null %t7 = zext i1 %t6 to i32 %t8 = icmp ne i32 %t7, 0 br i1 %t8, label %then0, label %ifend2 then0: %t9 = load ptr, ptr %t1 %t10 = getelementptr inbounds %Cmp_Val, ptr %t9, i32 0, i32 2 %t11 = load ptr, ptr %t10 %t12 = load ptr, ptr %t0 %t13 = call ptr @fn_fp_const(ptr %t11, ptr %t12) %t14 = load ptr, ptr %t0 %t15 = call ptr @fn_val(ptr %t13, ptr %t14) store ptr %t15, ptr %retval br label %ret ifend2: %t16 = load ptr, ptr %t1 %t17 = getelementptr inbounds %Cmp_Val, ptr %t16, i32 0, i32 1 %t18 = load ptr, ptr %t17 %t19 = call i32 @fn_is_fp(ptr %t18) %t20 = icmp ne i32 %t19, 0 br i1 %t20, label %then3, label %ifend5 then3: %t21 = load ptr, ptr %t1 %t22 = getelementptr inbounds %Cmp_Val, ptr %t21, i32 0, i32 1 %t23 = load ptr, ptr %t22 %t24 = load ptr, ptr %t0 %t25 = call i32 @lp_str_eq(ptr %t23, ptr %t24) %t26 = icmp ne i32 %t25, 0 br i1 %t26, label %then6, label %ifend8 then6: %t27 = load ptr, ptr %t1 store ptr %t27, ptr %retval br label %ret ifend8: %t28 = load ptr, ptr %t0 %t29 = call i32 @lp_str_eq(ptr %t28, ptr @.str8367) %t30 = icmp ne i32 %t29, 0 br i1 %t30, label %then9, label %ifend11 then9: %t31 = load ptr, ptr %t1 %t32 = getelementptr inbounds %Cmp_Val, ptr %t31, i32 0, i32 0 %t33 = load ptr, ptr %t32 store i32 5022, ptr @lp_site %t34 = call ptr @lp_str_concat(ptr @.str8368, ptr %t33) store i32 0, ptr @lp_site store i32 5023, ptr @lp_site %t35 = call ptr @lp_str_concat(ptr %t34, ptr @.str8370) store i32 0, ptr @lp_site call void @lp_free(ptr %t34) %t36 = call ptr @fn_emit_bind(ptr %t35) %t37 = load ptr, ptr %t0 %t38 = call ptr @fn_val(ptr %t36, ptr %t37) store ptr %t38, ptr %retval br label %ret ifend11: %t39 = load ptr, ptr %t1 %t40 = getelementptr inbounds %Cmp_Val, ptr %t39, i32 0, i32 0 %t41 = load ptr, ptr %t40 store i32 5024, ptr @lp_site %t42 = call ptr @lp_str_concat(ptr @.str8371, ptr %t41) store i32 0, ptr @lp_site store i32 5025, ptr @lp_site %t43 = call ptr @lp_str_concat(ptr %t42, ptr @.str8372) store i32 0, ptr @lp_site call void @lp_free(ptr %t42) %t44 = call ptr @fn_emit_bind(ptr %t43) %t45 = load ptr, ptr %t0 %t46 = call ptr @fn_val(ptr %t44, ptr %t45) store ptr %t46, ptr %retval br label %ret ifend5: %t47 = load ptr, ptr %t1 %t48 = getelementptr inbounds %Cmp_Val, ptr %t47, i32 0, i32 1 %t49 = load ptr, ptr %t48 %t50 = call i32 @lp_str_eq(ptr %t49, ptr @.str8373) %t51 = icmp ne i32 %t50, 0 br i1 %t51, label %then12, label %ifend14 then12: %t52 = load ptr, ptr %t1 %t53 = getelementptr inbounds %Cmp_Val, ptr %t52, i32 0, i32 0 %t54 = load ptr, ptr %t53 store i32 5026, ptr @lp_site %t55 = call ptr @lp_str_concat(ptr @.str8374, ptr %t54) store i32 0, ptr @lp_site store i32 5027, ptr @lp_site %t56 = call ptr @lp_str_concat(ptr %t55, ptr @.str8375) store i32 0, ptr @lp_site call void @lp_free(ptr %t55) %t57 = load ptr, ptr %t0 store i32 5028, ptr @lp_site %t58 = call ptr @lp_str_concat(ptr %t56, ptr %t57) store i32 0, ptr @lp_site call void @lp_free(ptr %t56) %t59 = call ptr @fn_emit_bind(ptr %t58) store ptr %t59, ptr %t60 %t61 = load ptr, ptr %t0 store i32 5029, ptr @lp_site %t62 = call ptr @lp_str_concat(ptr @.str8376, ptr %t61) store i32 0, ptr @lp_site store i32 5030, ptr @lp_site %t63 = call ptr @lp_str_concat(ptr %t62, ptr @.str8377) store i32 0, ptr @lp_site call void @lp_free(ptr %t62) %t64 = load ptr, ptr %t60 store i32 5031, ptr @lp_site %t65 = call ptr @lp_str_concat(ptr %t63, ptr %t64) store i32 0, ptr @lp_site call void @lp_free(ptr %t63) store i32 5032, ptr @lp_site %t66 = call ptr @lp_str_concat(ptr %t65, ptr @.str8378) store i32 0, ptr @lp_site call void @lp_free(ptr %t65) %t67 = call ptr @fn_emit_bind(ptr %t66) %t68 = load ptr, ptr %t0 %t69 = call ptr @fn_val(ptr %t67, ptr %t68) store ptr %t69, ptr %retval br label %ret ifend14: %t70 = load ptr, ptr %t1 %t71 = getelementptr inbounds %Cmp_Val, ptr %t70, i32 0, i32 1 %t72 = load ptr, ptr %t71 %t73 = call ptr @fn_llty(ptr %t72) store ptr %t73, ptr %t74 %t76 = load ptr, ptr %t74 %t77 = call i32 @lp_str_eq(ptr %t76, ptr @.str8379) %t78 = icmp ne i32 %t77, 0 %t79 = zext i1 %t78 to i32 store i32 %t79, ptr %t75 br i1 %t78, label %scend16, label %sc15 sc15: %t80 = load ptr, ptr %t74 %t81 = call i32 @lp_str_eq(ptr %t80, ptr @.str8380) %t82 = icmp ne i32 %t81, 0 %t83 = zext i1 %t82 to i32 store i32 %t83, ptr %t75 br label %scend16 scend16: %t84 = load i32, ptr %t75 %t85 = icmp ne i32 %t84, 0 br i1 %t85, label %then17, label %ifend19 then17: %t86 = load ptr, ptr %t74 store i32 5033, ptr @lp_site %t87 = call ptr @lp_str_concat(ptr @.str8381, ptr %t86) store i32 0, ptr @lp_site store i32 5034, ptr @lp_site %t88 = call ptr @lp_str_concat(ptr %t87, ptr @.str8382) store i32 0, ptr @lp_site call void @lp_free(ptr %t87) %t89 = load ptr, ptr %t1 %t90 = getelementptr inbounds %Cmp_Val, ptr %t89, i32 0, i32 0 %t91 = load ptr, ptr %t90 store i32 5035, ptr @lp_site %t92 = call ptr @lp_str_concat(ptr %t88, ptr %t91) store i32 0, ptr @lp_site call void @lp_free(ptr %t88) store i32 5036, ptr @lp_site %t93 = call ptr @lp_str_concat(ptr %t92, ptr @.str8383) store i32 0, ptr @lp_site call void @lp_free(ptr %t92) %t94 = load ptr, ptr %t0 store i32 5037, ptr @lp_site %t95 = call ptr @lp_str_concat(ptr %t93, ptr %t94) store i32 0, ptr @lp_site call void @lp_free(ptr %t93) %t96 = call ptr @fn_emit_bind(ptr %t95) %t97 = load ptr, ptr %t0 %t98 = call ptr @fn_val(ptr %t96, ptr %t97) store ptr %t98, ptr %retval br label %ret ifend19: %t99 = load ptr, ptr %t1 %t100 = load ptr, ptr %t0 %t101 = load ptr, ptr %t0 store i32 5038, ptr @lp_site %t102 = call ptr @lp_str_concat(ptr %t101, ptr @.str8384) store i32 0, ptr @lp_site %t103 = call ptr @fn_to_fp(ptr %t99, ptr %t100, ptr %t102) %t104 = load ptr, ptr %t0 %t105 = call ptr @fn_val(ptr %t103, ptr %t104) store ptr %t105, ptr %retval br label %ret ret: %t106 = load ptr, ptr %retval ret ptr %t106 } define ptr @fn_emit_fp_to_int(ptr %arg_v) { entry: %retval = alloca ptr %t0 = alloca ptr store ptr %arg_v, ptr %t0 %t1 = load ptr, ptr %t0 %t2 = getelementptr inbounds %Cmp_Val, ptr %t1, i32 0, i32 1 %t3 = load ptr, ptr %t2 store i32 5039, ptr @lp_site %t4 = call ptr @lp_str_concat(ptr @.str8385, ptr %t3) store i32 0, ptr @lp_site store i32 5040, ptr @lp_site %t5 = call ptr @lp_str_concat(ptr %t4, ptr @.str8387) store i32 0, ptr @lp_site call void @lp_free(ptr %t4) %t6 = load ptr, ptr %t0 %t7 = getelementptr inbounds %Cmp_Val, ptr %t6, i32 0, i32 0 %t8 = load ptr, ptr %t7 store i32 5041, ptr @lp_site %t9 = call ptr @lp_str_concat(ptr %t5, ptr %t8) store i32 0, ptr @lp_site call void @lp_free(ptr %t5) store i32 5042, ptr @lp_site %t10 = call ptr @lp_str_concat(ptr %t9, ptr @.str8388) store i32 0, ptr @lp_site call void @lp_free(ptr %t9) %t11 = call ptr @fn_emit_bind(ptr %t10) %t12 = call ptr @fn_val(ptr %t11, ptr @.str8389) store ptr %t12, ptr %retval br label %ret ret: %t13 = load ptr, ptr %retval ret ptr %t13 } define ptr @fn_emit_fp_to_long(ptr %arg_v) { entry: %retval = alloca ptr %t0 = alloca ptr store ptr %arg_v, ptr %t0 %t1 = load ptr, ptr %t0 %t2 = getelementptr inbounds %Cmp_Val, ptr %t1, i32 0, i32 1 %t3 = load ptr, ptr %t2 store i32 5043, ptr @lp_site %t4 = call ptr @lp_str_concat(ptr @.str8390, ptr %t3) store i32 0, ptr @lp_site store i32 5044, ptr @lp_site %t5 = call ptr @lp_str_concat(ptr %t4, ptr @.str8392) store i32 0, ptr @lp_site call void @lp_free(ptr %t4) %t6 = load ptr, ptr %t0 %t7 = getelementptr inbounds %Cmp_Val, ptr %t6, i32 0, i32 0 %t8 = load ptr, ptr %t7 store i32 5045, ptr @lp_site %t9 = call ptr @lp_str_concat(ptr %t5, ptr %t8) store i32 0, ptr @lp_site call void @lp_free(ptr %t5) store i32 5046, ptr @lp_site %t10 = call ptr @lp_str_concat(ptr %t9, ptr @.str8393) store i32 0, ptr @lp_site call void @lp_free(ptr %t9) %t11 = call ptr @fn_emit_bind(ptr %t10) %t12 = call ptr @fn_val(ptr %t11, ptr @.str8394) store ptr %t12, ptr %retval br label %ret ret: %t13 = load ptr, ptr %retval ret ptr %t13 } define ptr @fn_emit_fp_to_fixed(ptr %arg_v) { entry: %retval = alloca ptr %t0 = alloca ptr %t12 = alloca ptr store ptr %arg_v, ptr %t0 %t1 = load ptr, ptr %t0 %t2 = getelementptr inbounds %Cmp_Val, ptr %t1, i32 0, i32 1 %t3 = load ptr, ptr %t2 store i32 5047, ptr @lp_site %t4 = call ptr @lp_str_concat(ptr @.str8395, ptr %t3) store i32 0, ptr @lp_site store i32 5048, ptr @lp_site %t5 = call ptr @lp_str_concat(ptr %t4, ptr @.str8397) store i32 0, ptr @lp_site call void @lp_free(ptr %t4) %t6 = load ptr, ptr %t0 %t7 = getelementptr inbounds %Cmp_Val, ptr %t6, i32 0, i32 0 %t8 = load ptr, ptr %t7 store i32 5049, ptr @lp_site %t9 = call ptr @lp_str_concat(ptr %t5, ptr %t8) store i32 0, ptr @lp_site call void @lp_free(ptr %t5) store i32 5050, ptr @lp_site %t10 = call ptr @lp_str_concat(ptr %t9, ptr @.str8398) store i32 0, ptr @lp_site call void @lp_free(ptr %t9) %t11 = call ptr @fn_emit_bind(ptr %t10) store ptr %t11, ptr %t12 %t13 = load ptr, ptr %t0 %t14 = getelementptr inbounds %Cmp_Val, ptr %t13, i32 0, i32 1 %t15 = load ptr, ptr %t14 store i32 5051, ptr @lp_site %t16 = call ptr @lp_str_concat(ptr @.str8399, ptr %t15) store i32 0, ptr @lp_site store i32 5052, ptr @lp_site %t17 = call ptr @lp_str_concat(ptr %t16, ptr @.str8400) store i32 0, ptr @lp_site call void @lp_free(ptr %t16) %t18 = load ptr, ptr %t12 store i32 5053, ptr @lp_site %t19 = call ptr @lp_str_concat(ptr %t17, ptr %t18) store i32 0, ptr @lp_site call void @lp_free(ptr %t17) store i32 5054, ptr @lp_site %t20 = call ptr @lp_str_concat(ptr %t19, ptr @.str8401) store i32 0, ptr @lp_site call void @lp_free(ptr %t19) %t21 = call ptr @fn_emit_bind(ptr %t20) %t22 = call ptr @fn_val(ptr %t21, ptr @.str8402) store ptr %t22, ptr %retval br label %ret ret: %t23 = load ptr, ptr %retval ret ptr %t23 } define ptr @fn_emit_float_bits(ptr %arg_v) { entry: %retval = alloca ptr %t0 = alloca ptr %t3 = alloca ptr store ptr %arg_v, ptr %t0 %t1 = load ptr, ptr %t0 %t2 = call ptr @fn_to_fp(ptr %t1, ptr @.str8403, ptr @.str8404) store ptr %t2, ptr %t3 %t4 = load ptr, ptr %t3 store i32 5055, ptr @lp_site %t5 = call ptr @lp_str_concat(ptr @.str8405, ptr %t4) store i32 0, ptr @lp_site store i32 5056, ptr @lp_site %t6 = call ptr @lp_str_concat(ptr %t5, ptr @.str8407) store i32 0, ptr @lp_site call void @lp_free(ptr %t5) %t7 = call ptr @fn_emit_bind(ptr %t6) %t8 = call ptr @fn_val(ptr %t7, ptr @.str8408) store ptr %t8, ptr %retval br label %ret ret: %t9 = load ptr, ptr %retval ret ptr %t9 } define ptr @fn_emit_float_from_bits(ptr %arg_v) { entry: %retval = alloca ptr %t0 = alloca ptr store ptr %arg_v, ptr %t0 %t1 = load ptr, ptr %t0 %t2 = getelementptr inbounds %Cmp_Val, ptr %t1, i32 0, i32 0 %t3 = load ptr, ptr %t2 store i32 5057, ptr @lp_site %t4 = call ptr @lp_str_concat(ptr @.str8409, ptr %t3) store i32 0, ptr @lp_site store i32 5058, ptr @lp_site %t5 = call ptr @lp_str_concat(ptr %t4, ptr @.str8411) store i32 0, ptr @lp_site call void @lp_free(ptr %t4) %t6 = call ptr @fn_emit_bind(ptr %t5) %t7 = call ptr @fn_val(ptr %t6, ptr @.str8412) store ptr %t7, ptr %retval br label %ret ret: %t8 = load ptr, ptr %retval ret ptr %t8 } define ptr @fn_emit_double_bits(ptr %arg_v) { entry: %retval = alloca ptr %t0 = alloca ptr %t3 = alloca ptr store ptr %arg_v, ptr %t0 %t1 = load ptr, ptr %t0 %t2 = call ptr @fn_to_fp(ptr %t1, ptr @.str8413, ptr @.str8414) store ptr %t2, ptr %t3 %t4 = load ptr, ptr %t3 store i32 5059, ptr @lp_site %t5 = call ptr @lp_str_concat(ptr @.str8415, ptr %t4) store i32 0, ptr @lp_site store i32 5060, ptr @lp_site %t6 = call ptr @lp_str_concat(ptr %t5, ptr @.str8417) store i32 0, ptr @lp_site call void @lp_free(ptr %t5) %t7 = call ptr @fn_emit_bind(ptr %t6) %t8 = call ptr @fn_val(ptr %t7, ptr @.str8418) store ptr %t8, ptr %retval br label %ret ret: %t9 = load ptr, ptr %retval ret ptr %t9 } define ptr @fn_emit_double_from_bits(ptr %arg_v) { entry: %retval = alloca ptr %t0 = alloca ptr store ptr %arg_v, ptr %t0 %t1 = load ptr, ptr %t0 %t2 = call ptr @fn_to_long(ptr %t1) store i32 5061, ptr @lp_site %t3 = call ptr @lp_str_concat(ptr @.str8419, ptr %t2) store i32 0, ptr @lp_site store i32 5062, ptr @lp_site %t4 = call ptr @lp_str_concat(ptr %t3, ptr @.str8421) store i32 0, ptr @lp_site call void @lp_free(ptr %t3) %t5 = call ptr @fn_emit_bind(ptr %t4) %t6 = call ptr @fn_val(ptr %t5, ptr @.str8422) store ptr %t6, ptr %retval br label %ret ret: %t7 = load ptr, ptr %retval ret ptr %t7 } define ptr @fn_emit_fp_str(ptr %arg_v) { entry: %retval = alloca ptr %t0 = alloca ptr %t4 = alloca ptr %t5 = alloca ptr store ptr %arg_v, ptr %t0 store i32 1, ptr @g_g_uses_fpstr %t1 = load ptr, ptr %t0 %t2 = getelementptr inbounds %Cmp_Val, ptr %t1, i32 0, i32 0 %t3 = load ptr, ptr %t2 store ptr %t3, ptr %t4 store ptr @.str8423, ptr %t5 %t6 = load ptr, ptr %t0 %t7 = getelementptr inbounds %Cmp_Val, ptr %t6, i32 0, i32 1 %t8 = load ptr, ptr %t7 %t9 = call i32 @lp_str_eq(ptr %t8, ptr @.str8424) %t10 = icmp ne i32 %t9, 0 br i1 %t10, label %then0, label %ifend2 then0: %t11 = load ptr, ptr %t0 %t12 = getelementptr inbounds %Cmp_Val, ptr %t11, i32 0, i32 0 %t13 = load ptr, ptr %t12 store i32 5063, ptr @lp_site %t14 = call ptr @lp_str_concat(ptr @.str8425, ptr %t13) store i32 0, ptr @lp_site store i32 5064, ptr @lp_site %t15 = call ptr @lp_str_concat(ptr %t14, ptr @.str8427) store i32 0, ptr @lp_site call void @lp_free(ptr %t14) %t16 = call ptr @fn_emit_bind(ptr %t15) store ptr %t16, ptr %t4 store ptr @.str8428, ptr %t5 br label %ifend2 ifend2: %t17 = load ptr, ptr %t4 store i32 5065, ptr @lp_site %t18 = call ptr @lp_str_concat(ptr @.str8429, ptr %t17) store i32 0, ptr @lp_site store i32 5066, ptr @lp_site %t19 = call ptr @lp_str_concat(ptr %t18, ptr @.str8430) store i32 0, ptr @lp_site call void @lp_free(ptr %t18) %t20 = load ptr, ptr %t5 store i32 5067, ptr @lp_site %t21 = call ptr @lp_str_concat(ptr %t19, ptr %t20) store i32 0, ptr @lp_site call void @lp_free(ptr %t19) store i32 5068, ptr @lp_site %t22 = call ptr @lp_str_concat(ptr %t21, ptr @.str8431) store i32 0, ptr @lp_site call void @lp_free(ptr %t21) %t23 = call ptr @fn_emit_bind(ptr %t22) %t24 = call ptr @fn_fresh_val(ptr %t23, ptr @.str8432) store ptr %t24, ptr %retval br label %ret ret: %t25 = load ptr, ptr %retval ret ptr %t25 } define void @fn_emit_fp_str_fn() { entry: call void @fn_fp_declare(ptr @.str8433) call void @fn_fp_declare(ptr @.str8434) call void @fn_fp_declare(ptr @.str8435) call void @fn_emith(ptr @.str8436) call void @fn_emith(ptr @.str8437) call void @fn_emith(ptr @.str8438) call void @fn_emith(ptr @.str8439) call void @fn_emith(ptr @.str8440) call void @fn_emith(ptr @.str8441) call void @fn_emith(ptr @.str8442) call void @fn_emith(ptr @.str8443) call void @fn_emith(ptr @.str8444) call void @fn_emith(ptr @.str8445) call void @fn_emith(ptr @.str8446) call void @fn_emith(ptr @.str8447) call void @fn_emith(ptr @.str8448) call void @fn_emith(ptr @.str8449) call void @fn_emith(ptr @.str8450) call void @fn_emith(ptr @.str8451) call void @fn_emith(ptr @.str8452) call void @fn_emith(ptr @.str8453) call void @fn_emith(ptr @.str8454) call void @fn_emith(ptr @.str8455) br label %ret ret: ret void } define ptr @fn_emit_fp_buffer(ptr %arg_t, ptr %arg_n) { entry: %retval = alloca ptr %t0 = alloca ptr %t1 = alloca ptr %t2 = alloca ptr %t3 = alloca ptr %t15 = alloca ptr %t20 = alloca ptr store ptr %arg_t, ptr %t0 store ptr %arg_n, ptr %t1 store ptr @.str8456, ptr %t2 store ptr @.str8457, ptr %t3 %t4 = load ptr, ptr %t0 %t5 = call i32 @lp_str_eq(ptr %t4, ptr @.str8458) %t6 = icmp ne i32 %t5, 0 br i1 %t6, label %then0, label %ifend2 then0: store ptr @.str8459, ptr %t2 store ptr @.str8460, ptr %t3 br label %ifend2 ifend2: %t7 = load ptr, ptr %t1 %t8 = getelementptr inbounds %Cmp_Val, ptr %t7, i32 0, i32 0 %t9 = load ptr, ptr %t8 store i32 5069, ptr @lp_site %t10 = call ptr @lp_str_concat(ptr @.str8461, ptr %t9) store i32 0, ptr @lp_site store i32 5070, ptr @lp_site %t11 = call ptr @lp_str_concat(ptr %t10, ptr @.str8463) store i32 0, ptr @lp_site call void @lp_free(ptr %t10) %t12 = load ptr, ptr %t2 store i32 5071, ptr @lp_site %t13 = call ptr @lp_str_concat(ptr %t11, ptr %t12) store i32 0, ptr @lp_site call void @lp_free(ptr %t11) %t14 = call ptr @fn_emit_bind(ptr %t13) store ptr %t14, ptr %t15 %t16 = load ptr, ptr %t15 store i32 5072, ptr @lp_site %t17 = call ptr @lp_str_concat(ptr @.str8464, ptr %t16) store i32 0, ptr @lp_site store i32 5073, ptr @lp_site %t18 = call ptr @lp_str_concat(ptr %t17, ptr @.str8465) store i32 0, ptr @lp_site call void @lp_free(ptr %t17) %t19 = call ptr @fn_emit_bind(ptr %t18) store ptr %t19, ptr %t20 %t21 = load ptr, ptr %t20 store i32 5074, ptr @lp_site %t22 = call ptr @lp_str_concat(ptr @.str8466, ptr %t21) store i32 0, ptr @lp_site store i32 5075, ptr @lp_site %t23 = call ptr @lp_str_concat(ptr %t22, ptr @.str8467) store i32 0, ptr @lp_site call void @lp_free(ptr %t22) %t24 = call ptr @fn_emit_bind(ptr %t23) %t25 = load ptr, ptr %t3 %t26 = call ptr @fn_val(ptr %t24, ptr %t25) store ptr %t26, ptr %retval br label %ret ret: %t27 = load ptr, ptr %retval ret ptr %t27 } define void @fn_fp_declare(ptr %arg_line) { entry: %t0 = alloca ptr %t1 = alloca i32 store ptr %arg_line, ptr %t0 store i32 0, ptr %t1 br label %wcond0 wcond0: %t2 = load i32, ptr %t1 %t3 = load ptr, ptr @g_g_fp_decls %t4 = getelementptr inbounds %LSlice, ptr %t3, i32 0, i32 1 %t5 = load i32, ptr %t4 %t6 = icmp slt i32 %t2, %t5 %t7 = zext i1 %t6 to i32 %t8 = icmp ne i32 %t7, 0 br i1 %t8, label %wbody1, label %wend2 wbody1: %t9 = load ptr, ptr @g_g_fp_decls %t10 = load i32, ptr %t1 %t11 = getelementptr inbounds %LSlice, ptr %t9, i32 0, i32 0 %t12 = load ptr, ptr %t11 %t13 = getelementptr inbounds %LSlice, ptr %t9, i32 0, i32 1 %t14 = load i32, ptr %t13 %t15 = icmp ult i32 %t10, %t14 br i1 %t15, label %ixok3, label %ixbad4 ixbad4: store i32 5076, ptr @lp_site %t16 = call ptr @lp_win_stdio(i32 2) store i32 0, ptr @lp_site call i32 (ptr, ptr, ...) @fprintf(ptr %t16, ptr @.fmt_bounds, ptr @.str8468, i32 %t10, i32 %t14) call void @exit(i32 1) unreachable ixok3: %t17 = getelementptr inbounds ptr, ptr %t12, i32 %t10 %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 br i1 %t21, label %then5, label %ifend7 then5: br label %ret ifend7: %t22 = load i32, ptr %t1 %t23 = add i32 %t22, 1 store i32 %t23, ptr %t1 br label %wcond0 wend2: %t24 = load ptr, ptr @g_g_fp_decls %t25 = load ptr, ptr %t0 %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 %grow8, label %put9 grow8: %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 store i32 5077, ptr @lp_site %t40 = call ptr @lp_realloc(ptr %t39, i64 %t38) store i32 0, ptr @lp_site store ptr %t40, ptr %t28 store i32 %t34, ptr %t27 br label %put9 put9: %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 %t44 = load ptr, ptr %t0 call void @fn_emith(ptr %t44) br label %ret ret: ret void } define ptr @fn_fp_call1(ptr %arg_base, ptr %arg_t, ptr %arg_x) { entry: %retval = alloca ptr %t0 = alloca ptr %t1 = alloca ptr %t2 = alloca ptr %t4 = alloca ptr store ptr %arg_base, ptr %t0 store ptr %arg_t, ptr %t1 store ptr %arg_x, ptr %t2 %t3 = load ptr, ptr %t0 store ptr %t3, ptr %t4 %t5 = load ptr, ptr %t1 %t6 = call i32 @lp_str_eq(ptr %t5, ptr @.str8470) %t7 = icmp ne i32 %t6, 0 br i1 %t7, label %then0, label %ifend2 then0: %t8 = load ptr, ptr %t0 store i32 5078, ptr @lp_site %t9 = call ptr @lp_str_concat(ptr %t8, ptr @.str8471) store i32 0, ptr @lp_site store ptr %t9, ptr %t4 br label %ifend2 ifend2: %t10 = load ptr, ptr %t1 store i32 5079, ptr @lp_site %t11 = call ptr @lp_str_concat(ptr @.str8473, ptr %t10) store i32 0, ptr @lp_site store i32 5080, ptr @lp_site %t12 = call ptr @lp_str_concat(ptr %t11, ptr @.str8474) store i32 0, ptr @lp_site call void @lp_free(ptr %t11) %t13 = load ptr, ptr %t4 store i32 5081, ptr @lp_site %t14 = call ptr @lp_str_concat(ptr %t12, ptr %t13) store i32 0, ptr @lp_site call void @lp_free(ptr %t12) store i32 5082, ptr @lp_site %t15 = call ptr @lp_str_concat(ptr %t14, ptr @.str8475) store i32 0, ptr @lp_site call void @lp_free(ptr %t14) %t16 = load ptr, ptr %t1 store i32 5083, ptr @lp_site %t17 = call ptr @lp_str_concat(ptr %t15, ptr %t16) store i32 0, ptr @lp_site call void @lp_free(ptr %t15) store i32 5084, ptr @lp_site %t18 = call ptr @lp_str_concat(ptr %t17, ptr @.str8476) store i32 0, ptr @lp_site call void @lp_free(ptr %t17) call void @fn_fp_declare(ptr %t18) %t19 = load ptr, ptr %t1 store i32 5085, ptr @lp_site %t20 = call ptr @lp_str_concat(ptr @.str8477, ptr %t19) store i32 0, ptr @lp_site store i32 5086, ptr @lp_site %t21 = call ptr @lp_str_concat(ptr %t20, ptr @.str8478) store i32 0, ptr @lp_site call void @lp_free(ptr %t20) %t22 = load ptr, ptr %t4 store i32 5087, ptr @lp_site %t23 = call ptr @lp_str_concat(ptr %t21, ptr %t22) store i32 0, ptr @lp_site call void @lp_free(ptr %t21) store i32 5088, ptr @lp_site %t24 = call ptr @lp_str_concat(ptr %t23, ptr @.str8479) store i32 0, ptr @lp_site call void @lp_free(ptr %t23) %t25 = load ptr, ptr %t1 store i32 5089, ptr @lp_site %t26 = call ptr @lp_str_concat(ptr %t24, ptr %t25) store i32 0, ptr @lp_site call void @lp_free(ptr %t24) store i32 5090, ptr @lp_site %t27 = call ptr @lp_str_concat(ptr %t26, ptr @.str8480) store i32 0, ptr @lp_site call void @lp_free(ptr %t26) %t28 = load ptr, ptr %t2 store i32 5091, ptr @lp_site %t29 = call ptr @lp_str_concat(ptr %t27, ptr %t28) store i32 0, ptr @lp_site call void @lp_free(ptr %t27) store i32 5092, ptr @lp_site %t30 = call ptr @lp_str_concat(ptr %t29, ptr @.str8481) store i32 0, ptr @lp_site call void @lp_free(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_fp_call2(ptr %arg_base, ptr %arg_t, ptr %arg_x, ptr %arg_y) { entry: %retval = alloca ptr %t0 = alloca ptr %t1 = alloca ptr %t2 = alloca ptr %t3 = alloca ptr %t5 = alloca ptr store ptr %arg_base, ptr %t0 store ptr %arg_t, ptr %t1 store ptr %arg_x, ptr %t2 store ptr %arg_y, ptr %t3 %t4 = load ptr, ptr %t0 store ptr %t4, ptr %t5 %t6 = load ptr, ptr %t1 %t7 = call i32 @lp_str_eq(ptr %t6, ptr @.str8482) %t8 = icmp ne i32 %t7, 0 br i1 %t8, label %then0, label %ifend2 then0: %t9 = load ptr, ptr %t0 store i32 5093, ptr @lp_site %t10 = call ptr @lp_str_concat(ptr %t9, ptr @.str8483) store i32 0, ptr @lp_site store ptr %t10, ptr %t5 br label %ifend2 ifend2: %t11 = load ptr, ptr %t1 store i32 5094, ptr @lp_site %t12 = call ptr @lp_str_concat(ptr @.str8485, ptr %t11) store i32 0, ptr @lp_site store i32 5095, ptr @lp_site %t13 = call ptr @lp_str_concat(ptr %t12, ptr @.str8486) store i32 0, ptr @lp_site call void @lp_free(ptr %t12) %t14 = load ptr, ptr %t5 store i32 5096, ptr @lp_site %t15 = call ptr @lp_str_concat(ptr %t13, ptr %t14) store i32 0, ptr @lp_site call void @lp_free(ptr %t13) store i32 5097, ptr @lp_site %t16 = call ptr @lp_str_concat(ptr %t15, ptr @.str8487) store i32 0, ptr @lp_site call void @lp_free(ptr %t15) %t17 = load ptr, ptr %t1 store i32 5098, ptr @lp_site %t18 = call ptr @lp_str_concat(ptr %t16, ptr %t17) store i32 0, ptr @lp_site call void @lp_free(ptr %t16) store i32 5099, ptr @lp_site %t19 = call ptr @lp_str_concat(ptr %t18, ptr @.str8488) store i32 0, ptr @lp_site call void @lp_free(ptr %t18) %t20 = load ptr, ptr %t1 store i32 5100, ptr @lp_site %t21 = call ptr @lp_str_concat(ptr %t19, ptr %t20) store i32 0, ptr @lp_site call void @lp_free(ptr %t19) store i32 5101, ptr @lp_site %t22 = call ptr @lp_str_concat(ptr %t21, ptr @.str8489) store i32 0, ptr @lp_site call void @lp_free(ptr %t21) call void @fn_fp_declare(ptr %t22) %t23 = load ptr, ptr %t1 store i32 5102, ptr @lp_site %t24 = call ptr @lp_str_concat(ptr @.str8490, ptr %t23) store i32 0, ptr @lp_site store i32 5103, ptr @lp_site %t25 = call ptr @lp_str_concat(ptr %t24, ptr @.str8491) store i32 0, ptr @lp_site call void @lp_free(ptr %t24) %t26 = load ptr, ptr %t5 store i32 5104, ptr @lp_site %t27 = call ptr @lp_str_concat(ptr %t25, ptr %t26) store i32 0, ptr @lp_site call void @lp_free(ptr %t25) store i32 5105, ptr @lp_site %t28 = call ptr @lp_str_concat(ptr %t27, ptr @.str8492) store i32 0, ptr @lp_site call void @lp_free(ptr %t27) %t29 = load ptr, ptr %t1 store i32 5106, ptr @lp_site %t30 = call ptr @lp_str_concat(ptr %t28, ptr %t29) store i32 0, ptr @lp_site call void @lp_free(ptr %t28) store i32 5107, ptr @lp_site %t31 = call ptr @lp_str_concat(ptr %t30, ptr @.str8493) store i32 0, ptr @lp_site call void @lp_free(ptr %t30) %t32 = load ptr, ptr %t2 store i32 5108, ptr @lp_site %t33 = call ptr @lp_str_concat(ptr %t31, ptr %t32) store i32 0, ptr @lp_site call void @lp_free(ptr %t31) store i32 5109, ptr @lp_site %t34 = call ptr @lp_str_concat(ptr %t33, ptr @.str8494) store i32 0, ptr @lp_site call void @lp_free(ptr %t33) %t35 = load ptr, ptr %t1 store i32 5110, ptr @lp_site %t36 = call ptr @lp_str_concat(ptr %t34, ptr %t35) store i32 0, ptr @lp_site call void @lp_free(ptr %t34) store i32 5111, ptr @lp_site %t37 = call ptr @lp_str_concat(ptr %t36, ptr @.str8495) store i32 0, ptr @lp_site call void @lp_free(ptr %t36) %t38 = load ptr, ptr %t3 store i32 5112, ptr @lp_site %t39 = call ptr @lp_str_concat(ptr %t37, ptr %t38) store i32 0, ptr @lp_site call void @lp_free(ptr %t37) store i32 5113, ptr @lp_site %t40 = call ptr @lp_str_concat(ptr %t39, ptr @.str8496) store i32 0, ptr @lp_site call void @lp_free(ptr %t39) %t41 = call ptr @fn_emit_bind(ptr %t40) store ptr %t41, ptr %retval br label %ret ret: %t42 = load ptr, ptr %retval ret ptr %t42 } define ptr @fn_fp_intrinsic1(ptr %arg_name, ptr %arg_t, ptr %arg_x) { entry: %retval = alloca ptr %t0 = alloca ptr %t1 = alloca ptr %t2 = alloca ptr %t3 = alloca ptr store ptr %arg_name, ptr %t0 store ptr %arg_t, ptr %t1 store ptr %arg_x, ptr %t2 store ptr @.str8497, ptr %t3 %t4 = load ptr, ptr %t1 %t5 = call i32 @lp_str_eq(ptr %t4, ptr @.str8498) %t6 = icmp ne i32 %t5, 0 br i1 %t6, label %then0, label %ifend2 then0: store ptr @.str8499, ptr %t3 br label %ifend2 ifend2: %t7 = load ptr, ptr %t1 store i32 5114, ptr @lp_site %t8 = call ptr @lp_str_concat(ptr @.str8500, ptr %t7) store i32 0, ptr @lp_site store i32 5115, ptr @lp_site %t9 = call ptr @lp_str_concat(ptr %t8, ptr @.str8502) store i32 0, ptr @lp_site call void @lp_free(ptr %t8) %t10 = load ptr, ptr %t0 store i32 5116, ptr @lp_site %t11 = call ptr @lp_str_concat(ptr %t9, ptr %t10) store i32 0, ptr @lp_site call void @lp_free(ptr %t9) store i32 5117, ptr @lp_site %t12 = call ptr @lp_str_concat(ptr %t11, ptr @.str8503) store i32 0, ptr @lp_site call void @lp_free(ptr %t11) %t13 = load ptr, ptr %t3 store i32 5118, ptr @lp_site %t14 = call ptr @lp_str_concat(ptr %t12, ptr %t13) store i32 0, ptr @lp_site call void @lp_free(ptr %t12) store i32 5119, ptr @lp_site %t15 = call ptr @lp_str_concat(ptr %t14, ptr @.str8504) store i32 0, ptr @lp_site call void @lp_free(ptr %t14) %t16 = load ptr, ptr %t1 store i32 5120, ptr @lp_site %t17 = call ptr @lp_str_concat(ptr %t15, ptr %t16) store i32 0, ptr @lp_site call void @lp_free(ptr %t15) store i32 5121, ptr @lp_site %t18 = call ptr @lp_str_concat(ptr %t17, ptr @.str8505) store i32 0, ptr @lp_site call void @lp_free(ptr %t17) call void @fn_fp_declare(ptr %t18) %t19 = load ptr, ptr %t1 store i32 5122, ptr @lp_site %t20 = call ptr @lp_str_concat(ptr @.str8506, ptr %t19) store i32 0, ptr @lp_site store i32 5123, ptr @lp_site %t21 = call ptr @lp_str_concat(ptr %t20, ptr @.str8507) store i32 0, ptr @lp_site call void @lp_free(ptr %t20) %t22 = load ptr, ptr %t0 store i32 5124, ptr @lp_site %t23 = call ptr @lp_str_concat(ptr %t21, ptr %t22) store i32 0, ptr @lp_site call void @lp_free(ptr %t21) store i32 5125, ptr @lp_site %t24 = call ptr @lp_str_concat(ptr %t23, ptr @.str8508) store i32 0, ptr @lp_site call void @lp_free(ptr %t23) %t25 = load ptr, ptr %t3 store i32 5126, ptr @lp_site %t26 = call ptr @lp_str_concat(ptr %t24, ptr %t25) store i32 0, ptr @lp_site call void @lp_free(ptr %t24) store i32 5127, ptr @lp_site %t27 = call ptr @lp_str_concat(ptr %t26, ptr @.str8509) store i32 0, ptr @lp_site call void @lp_free(ptr %t26) %t28 = load ptr, ptr %t1 store i32 5128, ptr @lp_site %t29 = call ptr @lp_str_concat(ptr %t27, ptr %t28) store i32 0, ptr @lp_site call void @lp_free(ptr %t27) store i32 5129, ptr @lp_site %t30 = call ptr @lp_str_concat(ptr %t29, ptr @.str8510) store i32 0, ptr @lp_site call void @lp_free(ptr %t29) %t31 = load ptr, ptr %t2 store i32 5130, ptr @lp_site %t32 = call ptr @lp_str_concat(ptr %t30, ptr %t31) store i32 0, ptr @lp_site call void @lp_free(ptr %t30) store i32 5131, ptr @lp_site %t33 = call ptr @lp_str_concat(ptr %t32, ptr @.str8511) store i32 0, ptr @lp_site call void @lp_free(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 ptr @fn_fp_intrinsic2(ptr %arg_name, ptr %arg_t, ptr %arg_x, ptr %arg_y) { entry: %retval = alloca ptr %t0 = alloca ptr %t1 = alloca ptr %t2 = alloca ptr %t3 = alloca ptr %t4 = alloca ptr store ptr %arg_name, ptr %t0 store ptr %arg_t, ptr %t1 store ptr %arg_x, ptr %t2 store ptr %arg_y, ptr %t3 store ptr @.str8512, ptr %t4 %t5 = load ptr, ptr %t1 %t6 = call i32 @lp_str_eq(ptr %t5, ptr @.str8513) %t7 = icmp ne i32 %t6, 0 br i1 %t7, label %then0, label %ifend2 then0: store ptr @.str8514, ptr %t4 br label %ifend2 ifend2: %t8 = load ptr, ptr %t1 store i32 5132, ptr @lp_site %t9 = call ptr @lp_str_concat(ptr @.str8515, ptr %t8) store i32 0, ptr @lp_site store i32 5133, ptr @lp_site %t10 = call ptr @lp_str_concat(ptr %t9, ptr @.str8517) store i32 0, ptr @lp_site call void @lp_free(ptr %t9) %t11 = load ptr, ptr %t0 store i32 5134, ptr @lp_site %t12 = call ptr @lp_str_concat(ptr %t10, ptr %t11) store i32 0, ptr @lp_site call void @lp_free(ptr %t10) store i32 5135, ptr @lp_site %t13 = call ptr @lp_str_concat(ptr %t12, ptr @.str8518) store i32 0, ptr @lp_site call void @lp_free(ptr %t12) %t14 = load ptr, ptr %t4 store i32 5136, ptr @lp_site %t15 = call ptr @lp_str_concat(ptr %t13, ptr %t14) store i32 0, ptr @lp_site call void @lp_free(ptr %t13) store i32 5137, ptr @lp_site %t16 = call ptr @lp_str_concat(ptr %t15, ptr @.str8519) store i32 0, ptr @lp_site call void @lp_free(ptr %t15) %t17 = load ptr, ptr %t1 store i32 5138, ptr @lp_site %t18 = call ptr @lp_str_concat(ptr %t16, ptr %t17) store i32 0, ptr @lp_site call void @lp_free(ptr %t16) store i32 5139, ptr @lp_site %t19 = call ptr @lp_str_concat(ptr %t18, ptr @.str8520) store i32 0, ptr @lp_site call void @lp_free(ptr %t18) %t20 = load ptr, ptr %t1 store i32 5140, ptr @lp_site %t21 = call ptr @lp_str_concat(ptr %t19, ptr %t20) store i32 0, ptr @lp_site call void @lp_free(ptr %t19) store i32 5141, ptr @lp_site %t22 = call ptr @lp_str_concat(ptr %t21, ptr @.str8521) store i32 0, ptr @lp_site call void @lp_free(ptr %t21) call void @fn_fp_declare(ptr %t22) %t23 = load ptr, ptr %t1 store i32 5142, ptr @lp_site %t24 = call ptr @lp_str_concat(ptr @.str8522, ptr %t23) store i32 0, ptr @lp_site store i32 5143, ptr @lp_site %t25 = call ptr @lp_str_concat(ptr %t24, ptr @.str8523) store i32 0, ptr @lp_site call void @lp_free(ptr %t24) %t26 = load ptr, ptr %t0 store i32 5144, ptr @lp_site %t27 = call ptr @lp_str_concat(ptr %t25, ptr %t26) store i32 0, ptr @lp_site call void @lp_free(ptr %t25) store i32 5145, ptr @lp_site %t28 = call ptr @lp_str_concat(ptr %t27, ptr @.str8524) store i32 0, ptr @lp_site call void @lp_free(ptr %t27) %t29 = load ptr, ptr %t4 store i32 5146, ptr @lp_site %t30 = call ptr @lp_str_concat(ptr %t28, ptr %t29) store i32 0, ptr @lp_site call void @lp_free(ptr %t28) store i32 5147, ptr @lp_site %t31 = call ptr @lp_str_concat(ptr %t30, ptr @.str8525) store i32 0, ptr @lp_site call void @lp_free(ptr %t30) %t32 = load ptr, ptr %t1 store i32 5148, ptr @lp_site %t33 = call ptr @lp_str_concat(ptr %t31, ptr %t32) store i32 0, ptr @lp_site call void @lp_free(ptr %t31) store i32 5149, ptr @lp_site %t34 = call ptr @lp_str_concat(ptr %t33, ptr @.str8526) store i32 0, ptr @lp_site call void @lp_free(ptr %t33) %t35 = load ptr, ptr %t2 store i32 5150, ptr @lp_site %t36 = call ptr @lp_str_concat(ptr %t34, ptr %t35) store i32 0, ptr @lp_site call void @lp_free(ptr %t34) store i32 5151, ptr @lp_site %t37 = call ptr @lp_str_concat(ptr %t36, ptr @.str8527) store i32 0, ptr @lp_site call void @lp_free(ptr %t36) %t38 = load ptr, ptr %t1 store i32 5152, ptr @lp_site %t39 = call ptr @lp_str_concat(ptr %t37, ptr %t38) store i32 0, ptr @lp_site call void @lp_free(ptr %t37) store i32 5153, ptr @lp_site %t40 = call ptr @lp_str_concat(ptr %t39, ptr @.str8528) store i32 0, ptr @lp_site call void @lp_free(ptr %t39) %t41 = load ptr, ptr %t3 store i32 5154, ptr @lp_site %t42 = call ptr @lp_str_concat(ptr %t40, ptr %t41) store i32 0, ptr @lp_site call void @lp_free(ptr %t40) store i32 5155, ptr @lp_site %t43 = call ptr @lp_str_concat(ptr %t42, ptr @.str8529) store i32 0, ptr @lp_site call void @lp_free(ptr %t42) %t44 = call ptr @fn_emit_bind(ptr %t43) store ptr %t44, ptr %retval br label %ret ret: %t45 = load ptr, ptr %retval ret ptr %t45 } define ptr @fn_fp_pick(ptr %arg_meth, ptr %arg_t, ptr %arg_x, ptr %arg_y) { entry: %retval = alloca ptr %t0 = alloca ptr %t1 = alloca ptr %t2 = alloca ptr %t3 = alloca ptr %t4 = alloca ptr %t20 = alloca ptr store ptr %arg_meth, ptr %t0 store ptr %arg_t, ptr %t1 store ptr %arg_x, ptr %t2 store ptr %arg_y, ptr %t3 store ptr @.str8530, ptr %t4 %t5 = load ptr, ptr %t0 %t6 = call i32 @lp_str_eq(ptr %t5, ptr @.str8531) %t7 = icmp ne i32 %t6, 0 br i1 %t7, label %then0, label %ifend2 then0: store ptr @.str8532, ptr %t4 br label %ifend2 ifend2: %t8 = load ptr, ptr %t4 store i32 5156, ptr @lp_site %t9 = call ptr @lp_str_concat(ptr @.str8533, ptr %t8) store i32 0, ptr @lp_site store i32 5157, ptr @lp_site %t10 = call ptr @lp_str_concat(ptr %t9, ptr @.str8535) store i32 0, ptr @lp_site call void @lp_free(ptr %t9) %t11 = load ptr, ptr %t1 store i32 5158, ptr @lp_site %t12 = call ptr @lp_str_concat(ptr %t10, ptr %t11) store i32 0, ptr @lp_site call void @lp_free(ptr %t10) store i32 5159, ptr @lp_site %t13 = call ptr @lp_str_concat(ptr %t12, ptr @.str8536) store i32 0, ptr @lp_site call void @lp_free(ptr %t12) %t14 = load ptr, ptr %t2 store i32 5160, ptr @lp_site %t15 = call ptr @lp_str_concat(ptr %t13, ptr %t14) store i32 0, ptr @lp_site call void @lp_free(ptr %t13) store i32 5161, ptr @lp_site %t16 = call ptr @lp_str_concat(ptr %t15, ptr @.str8537) store i32 0, ptr @lp_site call void @lp_free(ptr %t15) %t17 = load ptr, ptr %t3 store i32 5162, ptr @lp_site %t18 = call ptr @lp_str_concat(ptr %t16, ptr %t17) store i32 0, ptr @lp_site call void @lp_free(ptr %t16) %t19 = call ptr @fn_emit_bind(ptr %t18) store ptr %t19, ptr %t20 %t21 = load ptr, ptr %t20 store i32 5163, ptr @lp_site %t22 = call ptr @lp_str_concat(ptr @.str8538, ptr %t21) store i32 0, ptr @lp_site store i32 5164, ptr @lp_site %t23 = call ptr @lp_str_concat(ptr %t22, ptr @.str8539) store i32 0, ptr @lp_site call void @lp_free(ptr %t22) %t24 = load ptr, ptr %t1 store i32 5165, ptr @lp_site %t25 = call ptr @lp_str_concat(ptr %t23, ptr %t24) store i32 0, ptr @lp_site call void @lp_free(ptr %t23) store i32 5166, ptr @lp_site %t26 = call ptr @lp_str_concat(ptr %t25, ptr @.str8540) store i32 0, ptr @lp_site call void @lp_free(ptr %t25) %t27 = load ptr, ptr %t2 store i32 5167, ptr @lp_site %t28 = call ptr @lp_str_concat(ptr %t26, ptr %t27) store i32 0, ptr @lp_site call void @lp_free(ptr %t26) store i32 5168, ptr @lp_site %t29 = call ptr @lp_str_concat(ptr %t28, ptr @.str8541) store i32 0, ptr @lp_site call void @lp_free(ptr %t28) %t30 = load ptr, ptr %t1 store i32 5169, ptr @lp_site %t31 = call ptr @lp_str_concat(ptr %t29, ptr %t30) store i32 0, ptr @lp_site call void @lp_free(ptr %t29) store i32 5170, ptr @lp_site %t32 = call ptr @lp_str_concat(ptr %t31, ptr @.str8542) store i32 0, ptr @lp_site call void @lp_free(ptr %t31) %t33 = load ptr, ptr %t3 store i32 5171, ptr @lp_site %t34 = call ptr @lp_str_concat(ptr %t32, ptr %t33) store i32 0, ptr @lp_site call void @lp_free(ptr %t32) %t35 = call ptr @fn_emit_bind(ptr %t34) store ptr %t35, ptr %retval br label %ret ret: %t36 = load ptr, ptr %retval ret ptr %t36 } define ptr @fn_fp_math_type(ptr %arg_first, ptr %arg_e) { entry: %retval = alloca ptr %t0 = alloca ptr %t1 = alloca ptr %t2 = alloca ptr %t11 = alloca i32 %t34 = alloca ptr %t35 = alloca i32 store ptr %arg_first, ptr %t0 store ptr %arg_e, ptr %t1 store ptr @.str8543, ptr %t2 %t3 = load ptr, ptr %t0 %t4 = getelementptr inbounds %Cmp_Val, ptr %t3, i32 0, i32 1 %t5 = load ptr, ptr %t4 %t6 = call i32 @fn_is_fp(ptr %t5) %t7 = icmp ne i32 %t6, 0 br i1 %t7, label %then0, label %ifend2 then0: %t8 = load ptr, ptr %t0 %t9 = getelementptr inbounds %Cmp_Val, ptr %t8, i32 0, i32 1 %t10 = load ptr, ptr %t9 store ptr %t10, ptr %t2 br label %ifend2 ifend2: store i32 1, ptr %t11 br label %wcond3 wcond3: %t12 = load i32, ptr %t11 %t13 = load ptr, ptr %t1 %t14 = getelementptr inbounds %Cmp_Node, ptr %t13, i32 0, i32 7 %t15 = load ptr, ptr %t14 %t16 = getelementptr inbounds %LSlice, ptr %t15, i32 0, i32 1 %t17 = load i32, ptr %t16 %t18 = icmp slt i32 %t12, %t17 %t19 = zext i1 %t18 to i32 %t20 = icmp ne i32 %t19, 0 br i1 %t20, label %wbody4, label %wend5 wbody4: %t21 = load ptr, ptr %t1 %t22 = getelementptr inbounds %Cmp_Node, ptr %t21, i32 0, i32 7 %t23 = load ptr, ptr %t22 %t24 = load i32, ptr %t11 %t25 = getelementptr inbounds %LSlice, ptr %t23, i32 0, i32 0 %t26 = load ptr, ptr %t25 %t27 = getelementptr inbounds %LSlice, ptr %t23, i32 0, i32 1 %t28 = load i32, ptr %t27 %t29 = icmp ult i32 %t24, %t28 br i1 %t29, label %ixok6, label %ixbad7 ixbad7: store i32 5172, ptr @lp_site %t30 = call ptr @lp_win_stdio(i32 2) store i32 0, ptr @lp_site call i32 (ptr, ptr, ...) @fprintf(ptr %t30, ptr @.fmt_bounds, ptr @.str8544, i32 %t24, i32 %t28) call void @exit(i32 1) unreachable ixok6: %t31 = getelementptr inbounds ptr, ptr %t26, i32 %t24 %t32 = load ptr, ptr %t31 %t33 = call ptr @fn_static_type(ptr %t32) store ptr %t33, ptr %t34 %t36 = load ptr, ptr %t34 %t37 = icmp ne ptr %t36, null %t38 = zext i1 %t37 to i32 %t39 = icmp ne i32 %t38, 0 %t40 = zext i1 %t39 to i32 store i32 %t40, ptr %t35 br i1 %t39, label %sc8, label %scend9 sc8: %t41 = load ptr, ptr %t34 %t42 = call i32 @fn_is_fp(ptr %t41) %t43 = icmp ne i32 %t42, 0 %t44 = zext i1 %t43 to i32 store i32 %t44, ptr %t35 br label %scend9 scend9: %t45 = load i32, ptr %t35 %t46 = icmp ne i32 %t45, 0 br i1 %t46, label %then10, label %ifend12 then10: %t47 = load ptr, ptr %t2 %t48 = call i32 @lp_str_eq(ptr %t47, ptr @.str8546) %t49 = icmp ne i32 %t48, 0 br i1 %t49, label %then13, label %else14 then13: %t50 = load ptr, ptr %t34 store ptr %t50, ptr %t2 br label %ifend15 else14: %t51 = load ptr, ptr %t2 %t52 = load ptr, ptr %t34 %t53 = call ptr @fn_fp_result(ptr %t51, ptr %t52) store ptr %t53, ptr %t2 br label %ifend15 ifend15: br label %ifend12 ifend12: %t54 = load i32, ptr %t11 %t55 = add i32 %t54, 1 store i32 %t55, ptr %t11 br label %wcond3 wend5: %t56 = load ptr, ptr %t2 store ptr %t56, ptr %retval br label %ret ret: %t57 = load ptr, ptr %retval ret ptr %t57 } define ptr @fn_fp_arg(ptr %arg_e, i32 %arg_i, ptr %arg_t, ptr %arg_meth) { entry: %retval = alloca ptr %t0 = alloca ptr %t1 = alloca i32 %t2 = alloca ptr %t3 = alloca ptr %t17 = alloca ptr store ptr %arg_e, ptr %t0 store i32 %arg_i, ptr %t1 store ptr %arg_t, ptr %t2 store ptr %arg_meth, ptr %t3 %t4 = load ptr, ptr %t0 %t5 = getelementptr inbounds %Cmp_Node, ptr %t4, i32 0, i32 7 %t6 = load ptr, ptr %t5 %t7 = load i32, ptr %t1 %t8 = getelementptr inbounds %LSlice, ptr %t6, i32 0, i32 0 %t9 = load ptr, ptr %t8 %t10 = getelementptr inbounds %LSlice, ptr %t6, i32 0, i32 1 %t11 = load i32, ptr %t10 %t12 = icmp ult i32 %t7, %t11 br i1 %t12, label %ixok0, label %ixbad1 ixbad1: store i32 5173, ptr @lp_site %t13 = call ptr @lp_win_stdio(i32 2) store i32 0, ptr @lp_site call i32 (ptr, ptr, ...) @fprintf(ptr %t13, ptr @.fmt_bounds, ptr @.str8547, i32 %t7, i32 %t11) call void @exit(i32 1) unreachable ixok0: %t14 = getelementptr inbounds ptr, ptr %t9, i32 %t7 %t15 = load ptr, ptr %t14 %t16 = call ptr @fn_emit_expr(ptr %t15) store ptr %t16, ptr %t17 %t18 = load ptr, ptr %t17 %t19 = load ptr, ptr %t2 %t20 = load ptr, ptr %t3 store i32 5174, ptr @lp_site %t21 = call ptr @lp_str_concat(ptr @.str8549, ptr %t20) store i32 0, ptr @lp_site %t22 = call ptr @fn_to_fp(ptr %t18, ptr %t19, ptr %t21) store ptr %t22, ptr %retval br label %ret ret: %t23 = load ptr, ptr %retval ret ptr %t23 } define ptr @fn_emit_fp_math(ptr %arg_meth, ptr %arg_t, ptr %arg_first, ptr %arg_e) { entry: %retval = alloca ptr %t0 = alloca ptr %t1 = alloca ptr %t2 = alloca ptr %t3 = alloca ptr %t9 = alloca ptr %t132 = alloca ptr %t140 = alloca ptr %t145 = alloca ptr %t164 = alloca ptr %t186 = alloca ptr %t198 = alloca i32 %t213 = alloca ptr %t257 = alloca i32 %t272 = alloca ptr %t282 = alloca ptr %t292 = alloca ptr %t311 = alloca ptr %t316 = alloca ptr %t321 = alloca ptr %t335 = alloca ptr %t340 = alloca ptr %t350 = alloca ptr %t360 = alloca ptr %t379 = alloca ptr %t384 = alloca ptr %t394 = alloca ptr %t404 = alloca ptr %t423 = alloca ptr %t428 = alloca ptr %t433 = alloca ptr %t438 = alloca ptr %t448 = alloca ptr %t458 = alloca ptr %t468 = alloca ptr %t478 = alloca ptr %t488 = alloca ptr %t507 = alloca ptr %t512 = alloca ptr %t522 = alloca ptr %t532 = alloca ptr %t542 = alloca ptr %t546 = alloca ptr %t550 = alloca ptr %t560 = alloca ptr %t568 = alloca ptr %t575 = alloca ptr %t594 = alloca ptr %t599 = alloca ptr %t609 = alloca ptr %t613 = alloca ptr %t623 = alloca ptr %t631 = alloca ptr %t638 = alloca ptr %t654 = alloca ptr %t664 = alloca ptr %t682 = alloca i32 %t697 = alloca ptr %t702 = alloca ptr %t707 = alloca ptr %t717 = alloca ptr %t727 = alloca ptr %t737 = alloca ptr %t747 = alloca ptr %t757 = alloca ptr store ptr %arg_meth, ptr %t0 store ptr %arg_t, ptr %t1 store ptr %arg_first, ptr %t2 store ptr %arg_e, ptr %t3 %t4 = load ptr, ptr %t2 %t5 = load ptr, ptr %t1 %t6 = load ptr, ptr %t0 store i32 5175, ptr @lp_site %t7 = call ptr @lp_str_concat(ptr @.str8550, ptr %t6) store i32 0, ptr @lp_site %t8 = call ptr @fn_to_fp(ptr %t4, ptr %t5, ptr %t7) store ptr %t8, ptr %t9 %t10 = load ptr, ptr %t0 %t11 = call i32 @lp_str_eq(ptr %t10, ptr @.str8552) %t12 = icmp ne i32 %t11, 0 br i1 %t12, label %then0, label %ifend2 then0: %t13 = load ptr, ptr %t1 %t14 = load ptr, ptr %t9 %t15 = call ptr @fn_fp_intrinsic1(ptr @.str8553, ptr %t13, ptr %t14) %t16 = load ptr, ptr %t1 %t17 = call ptr @fn_val(ptr %t15, ptr %t16) store ptr %t17, ptr %retval br label %ret ifend2: %t18 = load ptr, ptr %t0 %t19 = call i32 @lp_str_eq(ptr %t18, ptr @.str8554) %t20 = icmp ne i32 %t19, 0 br i1 %t20, label %then3, label %ifend5 then3: %t21 = load ptr, ptr %t1 %t22 = load ptr, ptr %t9 %t23 = call ptr @fn_fp_intrinsic1(ptr @.str8555, ptr %t21, ptr %t22) %t24 = load ptr, ptr %t1 %t25 = call ptr @fn_val(ptr %t23, ptr %t24) store ptr %t25, ptr %retval br label %ret ifend5: %t26 = load ptr, ptr %t0 %t27 = call i32 @lp_str_eq(ptr %t26, ptr @.str8556) %t28 = icmp ne i32 %t27, 0 br i1 %t28, label %then6, label %ifend8 then6: %t29 = load ptr, ptr %t1 %t30 = load ptr, ptr %t9 %t31 = call ptr @fn_fp_call1(ptr @.str8557, ptr %t29, ptr %t30) %t32 = load ptr, ptr %t1 %t33 = call ptr @fn_val(ptr %t31, ptr %t32) store ptr %t33, ptr %retval br label %ret ifend8: %t34 = load ptr, ptr %t0 %t35 = call i32 @lp_str_eq(ptr %t34, ptr @.str8558) %t36 = icmp ne i32 %t35, 0 br i1 %t36, label %then9, label %ifend11 then9: %t37 = load ptr, ptr %t1 %t38 = load ptr, ptr %t9 %t39 = call ptr @fn_fp_call1(ptr @.str8559, ptr %t37, ptr %t38) %t40 = load ptr, ptr %t1 %t41 = call ptr @fn_val(ptr %t39, ptr %t40) store ptr %t41, ptr %retval br label %ret ifend11: %t42 = load ptr, ptr %t0 %t43 = call i32 @lp_str_eq(ptr %t42, ptr @.str8560) %t44 = icmp ne i32 %t43, 0 br i1 %t44, label %then12, label %ifend14 then12: %t45 = load ptr, ptr %t1 %t46 = load ptr, ptr %t9 %t47 = call ptr @fn_fp_call1(ptr @.str8561, ptr %t45, ptr %t46) %t48 = load ptr, ptr %t1 %t49 = call ptr @fn_val(ptr %t47, ptr %t48) store ptr %t49, ptr %retval br label %ret ifend14: %t50 = load ptr, ptr %t0 %t51 = call i32 @lp_str_eq(ptr %t50, ptr @.str8562) %t52 = icmp ne i32 %t51, 0 br i1 %t52, label %then15, label %ifend17 then15: %t53 = load ptr, ptr %t1 %t54 = load ptr, ptr %t9 %t55 = call ptr @fn_fp_call1(ptr @.str8563, ptr %t53, ptr %t54) %t56 = load ptr, ptr %t1 %t57 = call ptr @fn_val(ptr %t55, ptr %t56) store ptr %t57, ptr %retval br label %ret ifend17: %t58 = load ptr, ptr %t0 %t59 = call i32 @lp_str_eq(ptr %t58, ptr @.str8564) %t60 = icmp ne i32 %t59, 0 br i1 %t60, label %then18, label %ifend20 then18: %t61 = load ptr, ptr %t1 %t62 = load ptr, ptr %t9 %t63 = call ptr @fn_fp_call1(ptr @.str8565, ptr %t61, ptr %t62) %t64 = load ptr, ptr %t1 %t65 = call ptr @fn_val(ptr %t63, ptr %t64) store ptr %t65, ptr %retval br label %ret ifend20: %t66 = load ptr, ptr %t0 %t67 = call i32 @lp_str_eq(ptr %t66, ptr @.str8566) %t68 = icmp ne i32 %t67, 0 br i1 %t68, label %then21, label %ifend23 then21: %t69 = load ptr, ptr %t1 %t70 = load ptr, ptr %t9 %t71 = call ptr @fn_fp_call1(ptr @.str8567, ptr %t69, ptr %t70) %t72 = load ptr, ptr %t1 %t73 = call ptr @fn_val(ptr %t71, ptr %t72) store ptr %t73, ptr %retval br label %ret ifend23: %t74 = load ptr, ptr %t0 %t75 = call i32 @lp_str_eq(ptr %t74, ptr @.str8568) %t76 = icmp ne i32 %t75, 0 br i1 %t76, label %then24, label %ifend26 then24: %t77 = load ptr, ptr %t1 %t78 = load ptr, ptr %t9 %t79 = call ptr @fn_fp_call1(ptr @.str8569, ptr %t77, ptr %t78) %t80 = load ptr, ptr %t1 %t81 = call ptr @fn_val(ptr %t79, ptr %t80) store ptr %t81, ptr %retval br label %ret ifend26: %t82 = load ptr, ptr %t0 %t83 = call i32 @lp_str_eq(ptr %t82, ptr @.str8570) %t84 = icmp ne i32 %t83, 0 br i1 %t84, label %then27, label %ifend29 then27: %t85 = load ptr, ptr %t1 %t86 = load ptr, ptr %t9 %t87 = call ptr @fn_fp_call1(ptr @.str8571, ptr %t85, ptr %t86) %t88 = load ptr, ptr %t1 %t89 = call ptr @fn_val(ptr %t87, ptr %t88) store ptr %t89, ptr %retval br label %ret ifend29: %t90 = load ptr, ptr %t0 %t91 = call i32 @lp_str_eq(ptr %t90, ptr @.str8572) %t92 = icmp ne i32 %t91, 0 br i1 %t92, label %then30, label %ifend32 then30: %t93 = load ptr, ptr %t1 %t94 = load ptr, ptr %t9 %t95 = call ptr @fn_fp_call1(ptr @.str8573, ptr %t93, ptr %t94) %t96 = load ptr, ptr %t1 %t97 = call ptr @fn_val(ptr %t95, ptr %t96) store ptr %t97, ptr %retval br label %ret ifend32: %t98 = load ptr, ptr %t0 %t99 = call i32 @lp_str_eq(ptr %t98, ptr @.str8574) %t100 = icmp ne i32 %t99, 0 br i1 %t100, label %then33, label %ifend35 then33: %t101 = load ptr, ptr %t1 %t102 = load ptr, ptr %t9 %t103 = call ptr @fn_fp_call1(ptr @.str8575, ptr %t101, ptr %t102) %t104 = load ptr, ptr %t1 %t105 = call ptr @fn_val(ptr %t103, ptr %t104) store ptr %t105, ptr %retval br label %ret ifend35: %t106 = load ptr, ptr %t0 %t107 = call i32 @lp_str_eq(ptr %t106, ptr @.str8576) %t108 = icmp ne i32 %t107, 0 br i1 %t108, label %then36, label %ifend38 then36: %t109 = load ptr, ptr %t1 %t110 = load ptr, ptr %t9 %t111 = call ptr @fn_fp_call1(ptr @.str8577, ptr %t109, ptr %t110) %t112 = load ptr, ptr %t1 %t113 = call ptr @fn_val(ptr %t111, ptr %t112) store ptr %t113, ptr %retval br label %ret ifend38: %t114 = load ptr, ptr %t0 %t115 = call i32 @lp_str_eq(ptr %t114, ptr @.str8578) %t116 = icmp ne i32 %t115, 0 br i1 %t116, label %then39, label %ifend41 then39: %t117 = load ptr, ptr %t1 %t118 = load ptr, ptr %t9 %t119 = call ptr @fn_fp_intrinsic1(ptr @.str8579, ptr %t117, ptr %t118) %t120 = load ptr, ptr %t1 %t121 = call ptr @fn_val(ptr %t119, ptr %t120) store ptr %t121, ptr %retval br label %ret ifend41: %t122 = load ptr, ptr %t0 %t123 = call i32 @lp_str_eq(ptr %t122, ptr @.str8580) %t124 = icmp ne i32 %t123, 0 br i1 %t124, label %then42, label %ifend44 then42: %t125 = load ptr, ptr %t1 store i32 5176, ptr @lp_site %t126 = call ptr @lp_str_concat(ptr @.str8581, ptr %t125) store i32 0, ptr @lp_site store i32 5177, ptr @lp_site %t127 = call ptr @lp_str_concat(ptr %t126, ptr @.str8582) store i32 0, ptr @lp_site call void @lp_free(ptr %t126) %t128 = load ptr, ptr %t9 store i32 5178, ptr @lp_site %t129 = call ptr @lp_str_concat(ptr %t127, ptr %t128) store i32 0, ptr @lp_site call void @lp_free(ptr %t127) store i32 5179, ptr @lp_site %t130 = call ptr @lp_str_concat(ptr %t129, ptr @.str8583) store i32 0, ptr @lp_site call void @lp_free(ptr %t129) %t131 = call ptr @fn_emit_bind(ptr %t130) store ptr %t131, ptr %t132 %t133 = load ptr, ptr %t1 store i32 5180, ptr @lp_site %t134 = call ptr @lp_str_concat(ptr @.str8584, ptr %t133) store i32 0, ptr @lp_site store i32 5181, ptr @lp_site %t135 = call ptr @lp_str_concat(ptr %t134, ptr @.str8585) store i32 0, ptr @lp_site call void @lp_free(ptr %t134) %t136 = load ptr, ptr %t9 store i32 5182, ptr @lp_site %t137 = call ptr @lp_str_concat(ptr %t135, ptr %t136) store i32 0, ptr @lp_site call void @lp_free(ptr %t135) store i32 5183, ptr @lp_site %t138 = call ptr @lp_str_concat(ptr %t137, ptr @.str8586) store i32 0, ptr @lp_site call void @lp_free(ptr %t137) %t139 = call ptr @fn_emit_bind(ptr %t138) store ptr %t139, ptr %t140 %t141 = load ptr, ptr %t140 store i32 5184, ptr @lp_site %t142 = call ptr @lp_str_concat(ptr @.str8587, ptr %t141) store i32 0, ptr @lp_site store i32 5185, ptr @lp_site %t143 = call ptr @lp_str_concat(ptr %t142, ptr @.str8588) store i32 0, ptr @lp_site call void @lp_free(ptr %t142) %t144 = call ptr @fn_emit_bind(ptr %t143) store ptr %t144, ptr %t145 %t146 = load ptr, ptr %t132 store i32 5186, ptr @lp_site %t147 = call ptr @lp_str_concat(ptr @.str8589, ptr %t146) store i32 0, ptr @lp_site store i32 5187, ptr @lp_site %t148 = call ptr @lp_str_concat(ptr %t147, ptr @.str8590) store i32 0, ptr @lp_site call void @lp_free(ptr %t147) %t149 = load ptr, ptr %t145 store i32 5188, ptr @lp_site %t150 = call ptr @lp_str_concat(ptr %t148, ptr %t149) store i32 0, ptr @lp_site call void @lp_free(ptr %t148) %t151 = call ptr @fn_emit_bind(ptr %t150) %t152 = call ptr @fn_val(ptr %t151, ptr @.str8591) store ptr %t152, ptr %retval br label %ret ifend44: %t153 = load ptr, ptr %t0 %t154 = call i32 @lp_str_eq(ptr %t153, ptr @.str8592) %t155 = icmp ne i32 %t154, 0 br i1 %t155, label %then45, label %ifend47 then45: %t156 = load ptr, ptr %t1 store i32 5189, ptr @lp_site %t157 = call ptr @lp_str_concat(ptr @.str8593, ptr %t156) store i32 0, ptr @lp_site store i32 5190, ptr @lp_site %t158 = call ptr @lp_str_concat(ptr %t157, ptr @.str8594) store i32 0, ptr @lp_site call void @lp_free(ptr %t157) %t159 = load ptr, ptr %t1 %t160 = call ptr @fn_fp_lit_code(ptr @.str8595, ptr %t159) store i32 5191, ptr @lp_site %t161 = call ptr @lp_str_concat(ptr %t158, ptr %t160) store i32 0, ptr @lp_site call void @lp_free(ptr %t158) store i32 5192, ptr @lp_site %t162 = call ptr @lp_str_concat(ptr %t161, ptr @.str8596) store i32 0, ptr @lp_site call void @lp_free(ptr %t161) %t163 = call ptr @fn_emit_bind(ptr %t162) store ptr %t163, ptr %t164 %t165 = load ptr, ptr %t1 store i32 5193, ptr @lp_site %t166 = call ptr @lp_str_concat(ptr @.str8597, ptr %t165) store i32 0, ptr @lp_site store i32 5194, ptr @lp_site %t167 = call ptr @lp_str_concat(ptr %t166, ptr @.str8598) store i32 0, ptr @lp_site call void @lp_free(ptr %t166) %t168 = load ptr, ptr %t9 store i32 5195, ptr @lp_site %t169 = call ptr @lp_str_concat(ptr %t167, ptr %t168) store i32 0, ptr @lp_site call void @lp_free(ptr %t167) store i32 5196, ptr @lp_site %t170 = call ptr @lp_str_concat(ptr %t169, ptr @.str8599) store i32 0, ptr @lp_site call void @lp_free(ptr %t169) %t171 = load ptr, ptr %t164 store i32 5197, ptr @lp_site %t172 = call ptr @lp_str_concat(ptr %t170, ptr %t171) store i32 0, ptr @lp_site call void @lp_free(ptr %t170) %t173 = call ptr @fn_emit_bind(ptr %t172) %t174 = load ptr, ptr %t1 %t175 = call ptr @fn_val(ptr %t173, ptr %t174) store ptr %t175, ptr %retval br label %ret ifend47: %t176 = load ptr, ptr %t0 %t177 = call i32 @lp_str_eq(ptr %t176, ptr @.str8600) %t178 = icmp ne i32 %t177, 0 br i1 %t178, label %then48, label %ifend50 then48: %t179 = load ptr, ptr %t1 store i32 5198, ptr @lp_site %t180 = call ptr @lp_str_concat(ptr @.str8601, ptr %t179) store i32 0, ptr @lp_site store i32 5199, ptr @lp_site %t181 = call ptr @lp_str_concat(ptr %t180, ptr @.str8602) store i32 0, ptr @lp_site call void @lp_free(ptr %t180) %t182 = load ptr, ptr %t1 %t183 = call ptr @fn_fp_lit_code(ptr @.str8603, ptr %t182) store i32 5200, ptr @lp_site %t184 = call ptr @lp_str_concat(ptr %t181, ptr %t183) store i32 0, ptr @lp_site call void @lp_free(ptr %t181) %t185 = call ptr @fn_emit_bind(ptr %t184) store ptr %t185, ptr %t186 %t187 = load ptr, ptr %t1 store i32 5201, ptr @lp_site %t188 = call ptr @lp_str_concat(ptr @.str8604, ptr %t187) store i32 0, ptr @lp_site store i32 5202, ptr @lp_site %t189 = call ptr @lp_str_concat(ptr %t188, ptr @.str8605) store i32 0, ptr @lp_site call void @lp_free(ptr %t188) %t190 = load ptr, ptr %t9 store i32 5203, ptr @lp_site %t191 = call ptr @lp_str_concat(ptr %t189, ptr %t190) store i32 0, ptr @lp_site call void @lp_free(ptr %t189) store i32 5204, ptr @lp_site %t192 = call ptr @lp_str_concat(ptr %t191, ptr @.str8606) store i32 0, ptr @lp_site call void @lp_free(ptr %t191) %t193 = load ptr, ptr %t186 store i32 5205, ptr @lp_site %t194 = call ptr @lp_str_concat(ptr %t192, ptr %t193) store i32 0, ptr @lp_site call void @lp_free(ptr %t192) %t195 = call ptr @fn_emit_bind(ptr %t194) %t196 = load ptr, ptr %t1 %t197 = call ptr @fn_val(ptr %t195, ptr %t196) store ptr %t197, ptr %retval br label %ret ifend50: %t199 = load ptr, ptr %t0 %t200 = call i32 @lp_str_eq(ptr %t199, ptr @.str8607) %t201 = icmp ne i32 %t200, 0 %t202 = zext i1 %t201 to i32 store i32 %t202, ptr %t198 br i1 %t201, label %scend52, label %sc51 sc51: %t203 = load ptr, ptr %t0 %t204 = call i32 @lp_str_eq(ptr %t203, ptr @.str8608) %t205 = icmp ne i32 %t204, 0 %t206 = zext i1 %t205 to i32 store i32 %t206, ptr %t198 br label %scend52 scend52: %t207 = load i32, ptr %t198 %t208 = icmp ne i32 %t207, 0 br i1 %t208, label %then53, label %ifend55 then53: %t209 = load ptr, ptr %t3 %t210 = load ptr, ptr %t1 %t211 = load ptr, ptr %t0 %t212 = call ptr @fn_fp_arg(ptr %t209, i32 1, ptr %t210, ptr %t211) store ptr %t212, ptr %t213 %t214 = load ptr, ptr %t0 %t215 = load ptr, ptr %t1 %t216 = load ptr, ptr %t9 %t217 = load ptr, ptr %t213 %t218 = call ptr @fn_fp_pick(ptr %t214, ptr %t215, ptr %t216, ptr %t217) %t219 = load ptr, ptr %t1 %t220 = call ptr @fn_val(ptr %t218, ptr %t219) store ptr %t220, ptr %retval br label %ret ifend55: %t221 = load ptr, ptr %t0 %t222 = call i32 @lp_str_eq(ptr %t221, ptr @.str8609) %t223 = icmp ne i32 %t222, 0 br i1 %t223, label %then56, label %ifend58 then56: %t224 = load ptr, ptr %t1 %t225 = load ptr, ptr %t9 %t226 = load ptr, ptr %t3 %t227 = load ptr, ptr %t1 %t228 = load ptr, ptr %t0 %t229 = call ptr @fn_fp_arg(ptr %t226, i32 1, ptr %t227, ptr %t228) %t230 = call ptr @fn_fp_intrinsic2(ptr @.str8610, ptr %t224, ptr %t225, ptr %t229) %t231 = load ptr, ptr %t1 %t232 = call ptr @fn_val(ptr %t230, ptr %t231) store ptr %t232, ptr %retval br label %ret ifend58: %t233 = load ptr, ptr %t0 %t234 = call i32 @lp_str_eq(ptr %t233, ptr @.str8611) %t235 = icmp ne i32 %t234, 0 br i1 %t235, label %then59, label %ifend61 then59: %t236 = load ptr, ptr %t1 %t237 = load ptr, ptr %t9 %t238 = load ptr, ptr %t3 %t239 = load ptr, ptr %t1 %t240 = load ptr, ptr %t0 %t241 = call ptr @fn_fp_arg(ptr %t238, i32 1, ptr %t239, ptr %t240) %t242 = call ptr @fn_fp_call2(ptr @.str8612, ptr %t236, ptr %t237, ptr %t241) %t243 = load ptr, ptr %t1 %t244 = call ptr @fn_val(ptr %t242, ptr %t243) store ptr %t244, ptr %retval br label %ret ifend61: %t245 = load ptr, ptr %t0 %t246 = call i32 @lp_str_eq(ptr %t245, ptr @.str8613) %t247 = icmp ne i32 %t246, 0 br i1 %t247, label %then62, label %ifend64 then62: %t248 = load ptr, ptr %t1 %t249 = load ptr, ptr %t9 %t250 = load ptr, ptr %t3 %t251 = load ptr, ptr %t1 %t252 = load ptr, ptr %t0 %t253 = call ptr @fn_fp_arg(ptr %t250, i32 1, ptr %t251, ptr %t252) %t254 = call ptr @fn_fp_call2(ptr @.str8614, ptr %t248, ptr %t249, ptr %t253) %t255 = load ptr, ptr %t1 %t256 = call ptr @fn_val(ptr %t254, ptr %t255) store ptr %t256, ptr %retval br label %ret ifend64: %t258 = load ptr, ptr %t0 %t259 = call i32 @lp_str_eq(ptr %t258, ptr @.str8615) %t260 = icmp ne i32 %t259, 0 %t261 = zext i1 %t260 to i32 store i32 %t261, ptr %t257 br i1 %t260, label %scend66, label %sc65 sc65: %t262 = load ptr, ptr %t0 %t263 = call i32 @lp_str_eq(ptr %t262, ptr @.str8616) %t264 = icmp ne i32 %t263, 0 %t265 = zext i1 %t264 to i32 store i32 %t265, ptr %t257 br label %scend66 scend66: %t266 = load i32, ptr %t257 %t267 = icmp ne i32 %t266, 0 br i1 %t267, label %then67, label %ifend69 then67: %t268 = load ptr, ptr %t3 %t269 = load ptr, ptr %t1 %t270 = load ptr, ptr %t0 %t271 = call ptr @fn_fp_arg(ptr %t268, i32 1, ptr %t269, ptr %t270) store ptr %t271, ptr %t272 %t273 = load ptr, ptr %t1 store i32 5206, ptr @lp_site %t274 = call ptr @lp_str_concat(ptr @.str8617, ptr %t273) store i32 0, ptr @lp_site store i32 5207, ptr @lp_site %t275 = call ptr @lp_str_concat(ptr %t274, ptr @.str8618) store i32 0, ptr @lp_site call void @lp_free(ptr %t274) %t276 = load ptr, ptr %t9 store i32 5208, ptr @lp_site %t277 = call ptr @lp_str_concat(ptr %t275, ptr %t276) store i32 0, ptr @lp_site call void @lp_free(ptr %t275) store i32 5209, ptr @lp_site %t278 = call ptr @lp_str_concat(ptr %t277, ptr @.str8619) store i32 0, ptr @lp_site call void @lp_free(ptr %t277) %t279 = load ptr, ptr %t272 store i32 5210, ptr @lp_site %t280 = call ptr @lp_str_concat(ptr %t278, ptr %t279) store i32 0, ptr @lp_site call void @lp_free(ptr %t278) %t281 = call ptr @fn_emit_bind(ptr %t280) store ptr %t281, ptr %t282 %t283 = load ptr, ptr %t1 store i32 5211, ptr @lp_site %t284 = call ptr @lp_str_concat(ptr @.str8620, ptr %t283) store i32 0, ptr @lp_site store i32 5212, ptr @lp_site %t285 = call ptr @lp_str_concat(ptr %t284, ptr @.str8621) store i32 0, ptr @lp_site call void @lp_free(ptr %t284) %t286 = load ptr, ptr %t282 store i32 5213, ptr @lp_site %t287 = call ptr @lp_str_concat(ptr %t285, ptr %t286) store i32 0, ptr @lp_site call void @lp_free(ptr %t285) store i32 5214, ptr @lp_site %t288 = call ptr @lp_str_concat(ptr %t287, ptr @.str8622) store i32 0, ptr @lp_site call void @lp_free(ptr %t287) %t289 = load ptr, ptr %t272 store i32 5215, ptr @lp_site %t290 = call ptr @lp_str_concat(ptr %t288, ptr %t289) store i32 0, ptr @lp_site call void @lp_free(ptr %t288) %t291 = call ptr @fn_emit_bind(ptr %t290) store ptr %t291, ptr %t292 %t293 = load ptr, ptr %t1 store i32 5216, ptr @lp_site %t294 = call ptr @lp_str_concat(ptr @.str8623, ptr %t293) store i32 0, ptr @lp_site store i32 5217, ptr @lp_site %t295 = call ptr @lp_str_concat(ptr %t294, ptr @.str8624) store i32 0, ptr @lp_site call void @lp_free(ptr %t294) %t296 = load ptr, ptr %t292 store i32 5218, ptr @lp_site %t297 = call ptr @lp_str_concat(ptr %t295, ptr %t296) store i32 0, ptr @lp_site call void @lp_free(ptr %t295) store i32 5219, ptr @lp_site %t298 = call ptr @lp_str_concat(ptr %t297, ptr @.str8625) store i32 0, ptr @lp_site call void @lp_free(ptr %t297) %t299 = load ptr, ptr %t272 store i32 5220, ptr @lp_site %t300 = call ptr @lp_str_concat(ptr %t298, ptr %t299) store i32 0, ptr @lp_site call void @lp_free(ptr %t298) %t301 = call ptr @fn_emit_bind(ptr %t300) %t302 = load ptr, ptr %t1 %t303 = call ptr @fn_val(ptr %t301, ptr %t302) store ptr %t303, ptr %retval br label %ret ifend69: %t304 = load ptr, ptr %t0 %t305 = call i32 @lp_str_eq(ptr %t304, ptr @.str8626) %t306 = icmp ne i32 %t305, 0 br i1 %t306, label %then70, label %ifend72 then70: %t307 = load ptr, ptr %t3 %t308 = load ptr, ptr %t1 %t309 = load ptr, ptr %t0 %t310 = call ptr @fn_fp_arg(ptr %t307, i32 1, ptr %t308, ptr %t309) store ptr %t310, ptr %t311 %t312 = load ptr, ptr %t3 %t313 = load ptr, ptr %t1 %t314 = load ptr, ptr %t0 %t315 = call ptr @fn_fp_arg(ptr %t312, i32 2, ptr %t313, ptr %t314) store ptr %t315, ptr %t316 %t317 = load ptr, ptr %t1 %t318 = load ptr, ptr %t9 %t319 = load ptr, ptr %t311 %t320 = call ptr @fn_fp_pick(ptr @.str8627, ptr %t317, ptr %t318, ptr %t319) store ptr %t320, ptr %t321 %t322 = load ptr, ptr %t1 %t323 = load ptr, ptr %t321 %t324 = load ptr, ptr %t316 %t325 = call ptr @fn_fp_pick(ptr @.str8628, ptr %t322, ptr %t323, ptr %t324) %t326 = load ptr, ptr %t1 %t327 = call ptr @fn_val(ptr %t325, ptr %t326) store ptr %t327, ptr %retval br label %ret ifend72: %t328 = load ptr, ptr %t0 %t329 = call i32 @lp_str_eq(ptr %t328, ptr @.str8629) %t330 = icmp ne i32 %t329, 0 br i1 %t330, label %then73, label %ifend75 then73: %t331 = load ptr, ptr %t3 %t332 = load ptr, ptr %t1 %t333 = load ptr, ptr %t0 %t334 = call ptr @fn_fp_arg(ptr %t331, i32 1, ptr %t332, ptr %t333) store ptr %t334, ptr %t335 %t336 = load ptr, ptr %t3 %t337 = load ptr, ptr %t1 %t338 = load ptr, ptr %t0 %t339 = call ptr @fn_fp_arg(ptr %t336, i32 2, ptr %t337, ptr %t338) store ptr %t339, ptr %t340 %t341 = load ptr, ptr %t1 store i32 5221, ptr @lp_site %t342 = call ptr @lp_str_concat(ptr @.str8630, ptr %t341) store i32 0, ptr @lp_site store i32 5222, ptr @lp_site %t343 = call ptr @lp_str_concat(ptr %t342, ptr @.str8631) store i32 0, ptr @lp_site call void @lp_free(ptr %t342) %t344 = load ptr, ptr %t335 store i32 5223, ptr @lp_site %t345 = call ptr @lp_str_concat(ptr %t343, ptr %t344) store i32 0, ptr @lp_site call void @lp_free(ptr %t343) store i32 5224, ptr @lp_site %t346 = call ptr @lp_str_concat(ptr %t345, ptr @.str8632) store i32 0, ptr @lp_site call void @lp_free(ptr %t345) %t347 = load ptr, ptr %t9 store i32 5225, ptr @lp_site %t348 = call ptr @lp_str_concat(ptr %t346, ptr %t347) store i32 0, ptr @lp_site call void @lp_free(ptr %t346) %t349 = call ptr @fn_emit_bind(ptr %t348) store ptr %t349, ptr %t350 %t351 = load ptr, ptr %t1 store i32 5226, ptr @lp_site %t352 = call ptr @lp_str_concat(ptr @.str8633, ptr %t351) store i32 0, ptr @lp_site store i32 5227, ptr @lp_site %t353 = call ptr @lp_str_concat(ptr %t352, ptr @.str8634) store i32 0, ptr @lp_site call void @lp_free(ptr %t352) %t354 = load ptr, ptr %t350 store i32 5228, ptr @lp_site %t355 = call ptr @lp_str_concat(ptr %t353, ptr %t354) store i32 0, ptr @lp_site call void @lp_free(ptr %t353) store i32 5229, ptr @lp_site %t356 = call ptr @lp_str_concat(ptr %t355, ptr @.str8635) store i32 0, ptr @lp_site call void @lp_free(ptr %t355) %t357 = load ptr, ptr %t340 store i32 5230, ptr @lp_site %t358 = call ptr @lp_str_concat(ptr %t356, ptr %t357) store i32 0, ptr @lp_site call void @lp_free(ptr %t356) %t359 = call ptr @fn_emit_bind(ptr %t358) store ptr %t359, ptr %t360 %t361 = load ptr, ptr %t1 store i32 5231, ptr @lp_site %t362 = call ptr @lp_str_concat(ptr @.str8636, ptr %t361) store i32 0, ptr @lp_site store i32 5232, ptr @lp_site %t363 = call ptr @lp_str_concat(ptr %t362, ptr @.str8637) store i32 0, ptr @lp_site call void @lp_free(ptr %t362) %t364 = load ptr, ptr %t9 store i32 5233, ptr @lp_site %t365 = call ptr @lp_str_concat(ptr %t363, ptr %t364) store i32 0, ptr @lp_site call void @lp_free(ptr %t363) store i32 5234, ptr @lp_site %t366 = call ptr @lp_str_concat(ptr %t365, ptr @.str8638) store i32 0, ptr @lp_site call void @lp_free(ptr %t365) %t367 = load ptr, ptr %t360 store i32 5235, ptr @lp_site %t368 = call ptr @lp_str_concat(ptr %t366, ptr %t367) store i32 0, ptr @lp_site call void @lp_free(ptr %t366) %t369 = call ptr @fn_emit_bind(ptr %t368) %t370 = load ptr, ptr %t1 %t371 = call ptr @fn_val(ptr %t369, ptr %t370) store ptr %t371, ptr %retval br label %ret ifend75: %t372 = load ptr, ptr %t0 %t373 = call i32 @lp_str_eq(ptr %t372, ptr @.str8639) %t374 = icmp ne i32 %t373, 0 br i1 %t374, label %then76, label %ifend78 then76: %t375 = load ptr, ptr %t3 %t376 = load ptr, ptr %t1 %t377 = load ptr, ptr %t0 %t378 = call ptr @fn_fp_arg(ptr %t375, i32 1, ptr %t376, ptr %t377) store ptr %t378, ptr %t379 %t380 = load ptr, ptr %t3 %t381 = load ptr, ptr %t1 %t382 = load ptr, ptr %t0 %t383 = call ptr @fn_fp_arg(ptr %t380, i32 2, ptr %t381, ptr %t382) store ptr %t383, ptr %t384 %t385 = load ptr, ptr %t1 store i32 5236, ptr @lp_site %t386 = call ptr @lp_str_concat(ptr @.str8640, ptr %t385) store i32 0, ptr @lp_site store i32 5237, ptr @lp_site %t387 = call ptr @lp_str_concat(ptr %t386, ptr @.str8641) store i32 0, ptr @lp_site call void @lp_free(ptr %t386) %t388 = load ptr, ptr %t384 store i32 5238, ptr @lp_site %t389 = call ptr @lp_str_concat(ptr %t387, ptr %t388) store i32 0, ptr @lp_site call void @lp_free(ptr %t387) store i32 5239, ptr @lp_site %t390 = call ptr @lp_str_concat(ptr %t389, ptr @.str8642) store i32 0, ptr @lp_site call void @lp_free(ptr %t389) %t391 = load ptr, ptr %t9 store i32 5240, ptr @lp_site %t392 = call ptr @lp_str_concat(ptr %t390, ptr %t391) store i32 0, ptr @lp_site call void @lp_free(ptr %t390) %t393 = call ptr @fn_emit_bind(ptr %t392) store ptr %t393, ptr %t394 %t395 = load ptr, ptr %t1 store i32 5241, ptr @lp_site %t396 = call ptr @lp_str_concat(ptr @.str8643, ptr %t395) store i32 0, ptr @lp_site store i32 5242, ptr @lp_site %t397 = call ptr @lp_str_concat(ptr %t396, ptr @.str8644) store i32 0, ptr @lp_site call void @lp_free(ptr %t396) %t398 = load ptr, ptr %t379 store i32 5243, ptr @lp_site %t399 = call ptr @lp_str_concat(ptr %t397, ptr %t398) store i32 0, ptr @lp_site call void @lp_free(ptr %t397) store i32 5244, ptr @lp_site %t400 = call ptr @lp_str_concat(ptr %t399, ptr @.str8645) store i32 0, ptr @lp_site call void @lp_free(ptr %t399) %t401 = load ptr, ptr %t9 store i32 5245, ptr @lp_site %t402 = call ptr @lp_str_concat(ptr %t400, ptr %t401) store i32 0, ptr @lp_site call void @lp_free(ptr %t400) %t403 = call ptr @fn_emit_bind(ptr %t402) store ptr %t403, ptr %t404 %t405 = load ptr, ptr %t1 store i32 5246, ptr @lp_site %t406 = call ptr @lp_str_concat(ptr @.str8646, ptr %t405) store i32 0, ptr @lp_site store i32 5247, ptr @lp_site %t407 = call ptr @lp_str_concat(ptr %t406, ptr @.str8647) store i32 0, ptr @lp_site call void @lp_free(ptr %t406) %t408 = load ptr, ptr %t394 store i32 5248, ptr @lp_site %t409 = call ptr @lp_str_concat(ptr %t407, ptr %t408) store i32 0, ptr @lp_site call void @lp_free(ptr %t407) store i32 5249, ptr @lp_site %t410 = call ptr @lp_str_concat(ptr %t409, ptr @.str8648) store i32 0, ptr @lp_site call void @lp_free(ptr %t409) %t411 = load ptr, ptr %t404 store i32 5250, ptr @lp_site %t412 = call ptr @lp_str_concat(ptr %t410, ptr %t411) store i32 0, ptr @lp_site call void @lp_free(ptr %t410) %t413 = call ptr @fn_emit_bind(ptr %t412) %t414 = load ptr, ptr %t1 %t415 = call ptr @fn_val(ptr %t413, ptr %t414) store ptr %t415, ptr %retval br label %ret ifend78: %t416 = load ptr, ptr %t0 %t417 = call i32 @lp_str_eq(ptr %t416, ptr @.str8649) %t418 = icmp ne i32 %t417, 0 br i1 %t418, label %then79, label %ifend81 then79: %t419 = load ptr, ptr %t3 %t420 = load ptr, ptr %t1 %t421 = load ptr, ptr %t0 %t422 = call ptr @fn_fp_arg(ptr %t419, i32 1, ptr %t420, ptr %t421) store ptr %t422, ptr %t423 %t424 = load ptr, ptr %t3 %t425 = load ptr, ptr %t1 %t426 = load ptr, ptr %t0 %t427 = call ptr @fn_fp_arg(ptr %t424, i32 2, ptr %t425, ptr %t426) store ptr %t427, ptr %t428 %t429 = load ptr, ptr %t3 %t430 = load ptr, ptr %t1 %t431 = load ptr, ptr %t0 %t432 = call ptr @fn_fp_arg(ptr %t429, i32 3, ptr %t430, ptr %t431) store ptr %t432, ptr %t433 %t434 = load ptr, ptr %t3 %t435 = load ptr, ptr %t1 %t436 = load ptr, ptr %t0 %t437 = call ptr @fn_fp_arg(ptr %t434, i32 4, ptr %t435, ptr %t436) store ptr %t437, ptr %t438 %t439 = load ptr, ptr %t1 store i32 5251, ptr @lp_site %t440 = call ptr @lp_str_concat(ptr @.str8650, ptr %t439) store i32 0, ptr @lp_site store i32 5252, ptr @lp_site %t441 = call ptr @lp_str_concat(ptr %t440, ptr @.str8651) store i32 0, ptr @lp_site call void @lp_free(ptr %t440) %t442 = load ptr, ptr %t9 store i32 5253, ptr @lp_site %t443 = call ptr @lp_str_concat(ptr %t441, ptr %t442) store i32 0, ptr @lp_site call void @lp_free(ptr %t441) store i32 5254, ptr @lp_site %t444 = call ptr @lp_str_concat(ptr %t443, ptr @.str8652) store i32 0, ptr @lp_site call void @lp_free(ptr %t443) %t445 = load ptr, ptr %t423 store i32 5255, ptr @lp_site %t446 = call ptr @lp_str_concat(ptr %t444, ptr %t445) store i32 0, ptr @lp_site call void @lp_free(ptr %t444) %t447 = call ptr @fn_emit_bind(ptr %t446) store ptr %t447, ptr %t448 %t449 = load ptr, ptr %t1 store i32 5256, ptr @lp_site %t450 = call ptr @lp_str_concat(ptr @.str8653, ptr %t449) store i32 0, ptr @lp_site store i32 5257, ptr @lp_site %t451 = call ptr @lp_str_concat(ptr %t450, ptr @.str8654) store i32 0, ptr @lp_site call void @lp_free(ptr %t450) %t452 = load ptr, ptr %t428 store i32 5258, ptr @lp_site %t453 = call ptr @lp_str_concat(ptr %t451, ptr %t452) store i32 0, ptr @lp_site call void @lp_free(ptr %t451) store i32 5259, ptr @lp_site %t454 = call ptr @lp_str_concat(ptr %t453, ptr @.str8655) store i32 0, ptr @lp_site call void @lp_free(ptr %t453) %t455 = load ptr, ptr %t423 store i32 5260, ptr @lp_site %t456 = call ptr @lp_str_concat(ptr %t454, ptr %t455) store i32 0, ptr @lp_site call void @lp_free(ptr %t454) %t457 = call ptr @fn_emit_bind(ptr %t456) store ptr %t457, ptr %t458 %t459 = load ptr, ptr %t1 store i32 5261, ptr @lp_site %t460 = call ptr @lp_str_concat(ptr @.str8656, ptr %t459) store i32 0, ptr @lp_site store i32 5262, ptr @lp_site %t461 = call ptr @lp_str_concat(ptr %t460, ptr @.str8657) store i32 0, ptr @lp_site call void @lp_free(ptr %t460) %t462 = load ptr, ptr %t448 store i32 5263, ptr @lp_site %t463 = call ptr @lp_str_concat(ptr %t461, ptr %t462) store i32 0, ptr @lp_site call void @lp_free(ptr %t461) store i32 5264, ptr @lp_site %t464 = call ptr @lp_str_concat(ptr %t463, ptr @.str8658) store i32 0, ptr @lp_site call void @lp_free(ptr %t463) %t465 = load ptr, ptr %t458 store i32 5265, ptr @lp_site %t466 = call ptr @lp_str_concat(ptr %t464, ptr %t465) store i32 0, ptr @lp_site call void @lp_free(ptr %t464) %t467 = call ptr @fn_emit_bind(ptr %t466) store ptr %t467, ptr %t468 %t469 = load ptr, ptr %t1 store i32 5266, ptr @lp_site %t470 = call ptr @lp_str_concat(ptr @.str8659, ptr %t469) store i32 0, ptr @lp_site store i32 5267, ptr @lp_site %t471 = call ptr @lp_str_concat(ptr %t470, ptr @.str8660) store i32 0, ptr @lp_site call void @lp_free(ptr %t470) %t472 = load ptr, ptr %t438 store i32 5268, ptr @lp_site %t473 = call ptr @lp_str_concat(ptr %t471, ptr %t472) store i32 0, ptr @lp_site call void @lp_free(ptr %t471) store i32 5269, ptr @lp_site %t474 = call ptr @lp_str_concat(ptr %t473, ptr @.str8661) store i32 0, ptr @lp_site call void @lp_free(ptr %t473) %t475 = load ptr, ptr %t433 store i32 5270, ptr @lp_site %t476 = call ptr @lp_str_concat(ptr %t474, ptr %t475) store i32 0, ptr @lp_site call void @lp_free(ptr %t474) %t477 = call ptr @fn_emit_bind(ptr %t476) store ptr %t477, ptr %t478 %t479 = load ptr, ptr %t1 store i32 5271, ptr @lp_site %t480 = call ptr @lp_str_concat(ptr @.str8662, ptr %t479) store i32 0, ptr @lp_site store i32 5272, ptr @lp_site %t481 = call ptr @lp_str_concat(ptr %t480, ptr @.str8663) store i32 0, ptr @lp_site call void @lp_free(ptr %t480) %t482 = load ptr, ptr %t478 store i32 5273, ptr @lp_site %t483 = call ptr @lp_str_concat(ptr %t481, ptr %t482) store i32 0, ptr @lp_site call void @lp_free(ptr %t481) store i32 5274, ptr @lp_site %t484 = call ptr @lp_str_concat(ptr %t483, ptr @.str8664) store i32 0, ptr @lp_site call void @lp_free(ptr %t483) %t485 = load ptr, ptr %t468 store i32 5275, ptr @lp_site %t486 = call ptr @lp_str_concat(ptr %t484, ptr %t485) store i32 0, ptr @lp_site call void @lp_free(ptr %t484) %t487 = call ptr @fn_emit_bind(ptr %t486) store ptr %t487, ptr %t488 %t489 = load ptr, ptr %t1 store i32 5276, ptr @lp_site %t490 = call ptr @lp_str_concat(ptr @.str8665, ptr %t489) store i32 0, ptr @lp_site store i32 5277, ptr @lp_site %t491 = call ptr @lp_str_concat(ptr %t490, ptr @.str8666) store i32 0, ptr @lp_site call void @lp_free(ptr %t490) %t492 = load ptr, ptr %t433 store i32 5278, ptr @lp_site %t493 = call ptr @lp_str_concat(ptr %t491, ptr %t492) store i32 0, ptr @lp_site call void @lp_free(ptr %t491) store i32 5279, ptr @lp_site %t494 = call ptr @lp_str_concat(ptr %t493, ptr @.str8667) store i32 0, ptr @lp_site call void @lp_free(ptr %t493) %t495 = load ptr, ptr %t488 store i32 5280, ptr @lp_site %t496 = call ptr @lp_str_concat(ptr %t494, ptr %t495) store i32 0, ptr @lp_site call void @lp_free(ptr %t494) %t497 = call ptr @fn_emit_bind(ptr %t496) %t498 = load ptr, ptr %t1 %t499 = call ptr @fn_val(ptr %t497, ptr %t498) store ptr %t499, ptr %retval br label %ret ifend81: %t500 = load ptr, ptr %t0 %t501 = call i32 @lp_str_eq(ptr %t500, ptr @.str8668) %t502 = icmp ne i32 %t501, 0 br i1 %t502, label %then82, label %ifend84 then82: %t503 = load ptr, ptr %t3 %t504 = load ptr, ptr %t1 %t505 = load ptr, ptr %t0 %t506 = call ptr @fn_fp_arg(ptr %t503, i32 1, ptr %t504, ptr %t505) store ptr %t506, ptr %t507 %t508 = load ptr, ptr %t3 %t509 = load ptr, ptr %t1 %t510 = load ptr, ptr %t0 %t511 = call ptr @fn_fp_arg(ptr %t508, i32 2, ptr %t509, ptr %t510) store ptr %t511, ptr %t512 %t513 = load ptr, ptr %t1 store i32 5281, ptr @lp_site %t514 = call ptr @lp_str_concat(ptr @.str8669, ptr %t513) store i32 0, ptr @lp_site store i32 5282, ptr @lp_site %t515 = call ptr @lp_str_concat(ptr %t514, ptr @.str8670) store i32 0, ptr @lp_site call void @lp_free(ptr %t514) %t516 = load ptr, ptr %t512 store i32 5283, ptr @lp_site %t517 = call ptr @lp_str_concat(ptr %t515, ptr %t516) store i32 0, ptr @lp_site call void @lp_free(ptr %t515) store i32 5284, ptr @lp_site %t518 = call ptr @lp_str_concat(ptr %t517, ptr @.str8671) store i32 0, ptr @lp_site call void @lp_free(ptr %t517) %t519 = load ptr, ptr %t9 store i32 5285, ptr @lp_site %t520 = call ptr @lp_str_concat(ptr %t518, ptr %t519) store i32 0, ptr @lp_site call void @lp_free(ptr %t518) %t521 = call ptr @fn_emit_bind(ptr %t520) store ptr %t521, ptr %t522 %t523 = load ptr, ptr %t1 store i32 5286, ptr @lp_site %t524 = call ptr @lp_str_concat(ptr @.str8672, ptr %t523) store i32 0, ptr @lp_site store i32 5287, ptr @lp_site %t525 = call ptr @lp_str_concat(ptr %t524, ptr @.str8673) store i32 0, ptr @lp_site call void @lp_free(ptr %t524) %t526 = load ptr, ptr %t507 store i32 5288, ptr @lp_site %t527 = call ptr @lp_str_concat(ptr %t525, ptr %t526) store i32 0, ptr @lp_site call void @lp_free(ptr %t525) store i32 5289, ptr @lp_site %t528 = call ptr @lp_str_concat(ptr %t527, ptr @.str8674) store i32 0, ptr @lp_site call void @lp_free(ptr %t527) %t529 = load ptr, ptr %t9 store i32 5290, ptr @lp_site %t530 = call ptr @lp_str_concat(ptr %t528, ptr %t529) store i32 0, ptr @lp_site call void @lp_free(ptr %t528) %t531 = call ptr @fn_emit_bind(ptr %t530) store ptr %t531, ptr %t532 %t533 = load ptr, ptr %t1 store i32 5291, ptr @lp_site %t534 = call ptr @lp_str_concat(ptr @.str8675, ptr %t533) store i32 0, ptr @lp_site store i32 5292, ptr @lp_site %t535 = call ptr @lp_str_concat(ptr %t534, ptr @.str8676) store i32 0, ptr @lp_site call void @lp_free(ptr %t534) %t536 = load ptr, ptr %t522 store i32 5293, ptr @lp_site %t537 = call ptr @lp_str_concat(ptr %t535, ptr %t536) store i32 0, ptr @lp_site call void @lp_free(ptr %t535) store i32 5294, ptr @lp_site %t538 = call ptr @lp_str_concat(ptr %t537, ptr @.str8677) store i32 0, ptr @lp_site call void @lp_free(ptr %t537) %t539 = load ptr, ptr %t532 store i32 5295, ptr @lp_site %t540 = call ptr @lp_str_concat(ptr %t538, ptr %t539) store i32 0, ptr @lp_site call void @lp_free(ptr %t538) %t541 = call ptr @fn_emit_bind(ptr %t540) store ptr %t541, ptr %t542 %t543 = load ptr, ptr %t1 %t544 = load ptr, ptr %t542 %t545 = call ptr @fn_fp_pick(ptr @.str8678, ptr %t543, ptr %t544, ptr @.str8679) store ptr %t545, ptr %t546 %t547 = load ptr, ptr %t1 %t548 = load ptr, ptr %t546 %t549 = call ptr @fn_fp_pick(ptr @.str8680, ptr %t547, ptr %t548, ptr @.str8681) store ptr %t549, ptr %t550 %t551 = load ptr, ptr %t1 store i32 5296, ptr @lp_site %t552 = call ptr @lp_str_concat(ptr @.str8682, ptr %t551) store i32 0, ptr @lp_site store i32 5297, ptr @lp_site %t553 = call ptr @lp_str_concat(ptr %t552, ptr @.str8683) store i32 0, ptr @lp_site call void @lp_free(ptr %t552) %t554 = load ptr, ptr %t550 store i32 5298, ptr @lp_site %t555 = call ptr @lp_str_concat(ptr %t553, ptr %t554) store i32 0, ptr @lp_site call void @lp_free(ptr %t553) store i32 5299, ptr @lp_site %t556 = call ptr @lp_str_concat(ptr %t555, ptr @.str8684) store i32 0, ptr @lp_site call void @lp_free(ptr %t555) %t557 = load ptr, ptr %t550 store i32 5300, ptr @lp_site %t558 = call ptr @lp_str_concat(ptr %t556, ptr %t557) store i32 0, ptr @lp_site call void @lp_free(ptr %t556) %t559 = call ptr @fn_emit_bind(ptr %t558) store ptr %t559, ptr %t560 %t561 = load ptr, ptr %t1 store i32 5301, ptr @lp_site %t562 = call ptr @lp_str_concat(ptr @.str8685, ptr %t561) store i32 0, ptr @lp_site store i32 5302, ptr @lp_site %t563 = call ptr @lp_str_concat(ptr %t562, ptr @.str8686) store i32 0, ptr @lp_site call void @lp_free(ptr %t562) %t564 = load ptr, ptr %t550 store i32 5303, ptr @lp_site %t565 = call ptr @lp_str_concat(ptr %t563, ptr %t564) store i32 0, ptr @lp_site call void @lp_free(ptr %t563) store i32 5304, ptr @lp_site %t566 = call ptr @lp_str_concat(ptr %t565, ptr @.str8687) store i32 0, ptr @lp_site call void @lp_free(ptr %t565) %t567 = call ptr @fn_emit_bind(ptr %t566) store ptr %t567, ptr %t568 %t569 = load ptr, ptr %t1 store i32 5305, ptr @lp_site %t570 = call ptr @lp_str_concat(ptr @.str8688, ptr %t569) store i32 0, ptr @lp_site store i32 5306, ptr @lp_site %t571 = call ptr @lp_str_concat(ptr %t570, ptr @.str8689) store i32 0, ptr @lp_site call void @lp_free(ptr %t570) %t572 = load ptr, ptr %t568 store i32 5307, ptr @lp_site %t573 = call ptr @lp_str_concat(ptr %t571, ptr %t572) store i32 0, ptr @lp_site call void @lp_free(ptr %t571) %t574 = call ptr @fn_emit_bind(ptr %t573) store ptr %t574, ptr %t575 %t576 = load ptr, ptr %t1 store i32 5308, ptr @lp_site %t577 = call ptr @lp_str_concat(ptr @.str8690, ptr %t576) store i32 0, ptr @lp_site store i32 5309, ptr @lp_site %t578 = call ptr @lp_str_concat(ptr %t577, ptr @.str8691) store i32 0, ptr @lp_site call void @lp_free(ptr %t577) %t579 = load ptr, ptr %t560 store i32 5310, ptr @lp_site %t580 = call ptr @lp_str_concat(ptr %t578, ptr %t579) store i32 0, ptr @lp_site call void @lp_free(ptr %t578) store i32 5311, ptr @lp_site %t581 = call ptr @lp_str_concat(ptr %t580, ptr @.str8692) store i32 0, ptr @lp_site call void @lp_free(ptr %t580) %t582 = load ptr, ptr %t575 store i32 5312, ptr @lp_site %t583 = call ptr @lp_str_concat(ptr %t581, ptr %t582) store i32 0, ptr @lp_site call void @lp_free(ptr %t581) %t584 = call ptr @fn_emit_bind(ptr %t583) %t585 = load ptr, ptr %t1 %t586 = call ptr @fn_val(ptr %t584, ptr %t585) store ptr %t586, ptr %retval br label %ret ifend84: %t587 = load ptr, ptr %t0 %t588 = call i32 @lp_str_eq(ptr %t587, ptr @.str8693) %t589 = icmp ne i32 %t588, 0 br i1 %t589, label %then85, label %ifend87 then85: %t590 = load ptr, ptr %t3 %t591 = load ptr, ptr %t1 %t592 = load ptr, ptr %t0 %t593 = call ptr @fn_fp_arg(ptr %t590, i32 1, ptr %t591, ptr %t592) store ptr %t593, ptr %t594 %t595 = load ptr, ptr %t3 %t596 = load ptr, ptr %t1 %t597 = load ptr, ptr %t0 %t598 = call ptr @fn_fp_arg(ptr %t595, i32 2, ptr %t596, ptr %t597) store ptr %t598, ptr %t599 %t600 = load ptr, ptr %t1 store i32 5313, ptr @lp_site %t601 = call ptr @lp_str_concat(ptr @.str8694, ptr %t600) store i32 0, ptr @lp_site store i32 5314, ptr @lp_site %t602 = call ptr @lp_str_concat(ptr %t601, ptr @.str8695) store i32 0, ptr @lp_site call void @lp_free(ptr %t601) %t603 = load ptr, ptr %t594 store i32 5315, ptr @lp_site %t604 = call ptr @lp_str_concat(ptr %t602, ptr %t603) store i32 0, ptr @lp_site call void @lp_free(ptr %t602) store i32 5316, ptr @lp_site %t605 = call ptr @lp_str_concat(ptr %t604, ptr @.str8696) store i32 0, ptr @lp_site call void @lp_free(ptr %t604) %t606 = load ptr, ptr %t9 store i32 5317, ptr @lp_site %t607 = call ptr @lp_str_concat(ptr %t605, ptr %t606) store i32 0, ptr @lp_site call void @lp_free(ptr %t605) %t608 = call ptr @fn_emit_bind(ptr %t607) store ptr %t608, ptr %t609 %t610 = load ptr, ptr %t1 %t611 = load ptr, ptr %t609 %t612 = call ptr @fn_fp_intrinsic1(ptr @.str8697, ptr %t610, ptr %t611) store ptr %t612, ptr %t613 %t614 = load ptr, ptr %t1 store i32 5318, ptr @lp_site %t615 = call ptr @lp_str_concat(ptr @.str8698, ptr %t614) store i32 0, ptr @lp_site store i32 5319, ptr @lp_site %t616 = call ptr @lp_str_concat(ptr %t615, ptr @.str8699) store i32 0, ptr @lp_site call void @lp_free(ptr %t615) %t617 = load ptr, ptr %t613 store i32 5320, ptr @lp_site %t618 = call ptr @lp_str_concat(ptr %t616, ptr %t617) store i32 0, ptr @lp_site call void @lp_free(ptr %t616) store i32 5321, ptr @lp_site %t619 = call ptr @lp_str_concat(ptr %t618, ptr @.str8700) store i32 0, ptr @lp_site call void @lp_free(ptr %t618) %t620 = load ptr, ptr %t599 store i32 5322, ptr @lp_site %t621 = call ptr @lp_str_concat(ptr %t619, ptr %t620) store i32 0, ptr @lp_site call void @lp_free(ptr %t619) %t622 = call ptr @fn_emit_bind(ptr %t621) store ptr %t622, ptr %t623 %t624 = load ptr, ptr %t1 store i32 5323, ptr @lp_site %t625 = call ptr @lp_str_concat(ptr @.str8701, ptr %t624) store i32 0, ptr @lp_site store i32 5324, ptr @lp_site %t626 = call ptr @lp_str_concat(ptr %t625, ptr @.str8702) store i32 0, ptr @lp_site call void @lp_free(ptr %t625) %t627 = load ptr, ptr %t609 store i32 5325, ptr @lp_site %t628 = call ptr @lp_str_concat(ptr %t626, ptr %t627) store i32 0, ptr @lp_site call void @lp_free(ptr %t626) store i32 5326, ptr @lp_site %t629 = call ptr @lp_str_concat(ptr %t628, ptr @.str8703) store i32 0, ptr @lp_site call void @lp_free(ptr %t628) %t630 = call ptr @fn_emit_bind(ptr %t629) store ptr %t630, ptr %t631 %t632 = load ptr, ptr %t1 store i32 5327, ptr @lp_site %t633 = call ptr @lp_str_concat(ptr @.str8704, ptr %t632) store i32 0, ptr @lp_site store i32 5328, ptr @lp_site %t634 = call ptr @lp_str_concat(ptr %t633, ptr @.str8705) store i32 0, ptr @lp_site call void @lp_free(ptr %t633) %t635 = load ptr, ptr %t599 store i32 5329, ptr @lp_site %t636 = call ptr @lp_str_concat(ptr %t634, ptr %t635) store i32 0, ptr @lp_site call void @lp_free(ptr %t634) %t637 = call ptr @fn_emit_bind(ptr %t636) store ptr %t637, ptr %t638 %t639 = load ptr, ptr %t631 store i32 5330, ptr @lp_site %t640 = call ptr @lp_str_concat(ptr @.str8706, ptr %t639) store i32 0, ptr @lp_site store i32 5331, ptr @lp_site %t641 = call ptr @lp_str_concat(ptr %t640, ptr @.str8707) store i32 0, ptr @lp_site call void @lp_free(ptr %t640) %t642 = load ptr, ptr %t1 store i32 5332, ptr @lp_site %t643 = call ptr @lp_str_concat(ptr %t641, ptr %t642) store i32 0, ptr @lp_site call void @lp_free(ptr %t641) store i32 5333, ptr @lp_site %t644 = call ptr @lp_str_concat(ptr %t643, ptr @.str8708) store i32 0, ptr @lp_site call void @lp_free(ptr %t643) %t645 = load ptr, ptr %t638 store i32 5334, ptr @lp_site %t646 = call ptr @lp_str_concat(ptr %t644, ptr %t645) store i32 0, ptr @lp_site call void @lp_free(ptr %t644) store i32 5335, ptr @lp_site %t647 = call ptr @lp_str_concat(ptr %t646, ptr @.str8709) store i32 0, ptr @lp_site call void @lp_free(ptr %t646) %t648 = load ptr, ptr %t1 store i32 5336, ptr @lp_site %t649 = call ptr @lp_str_concat(ptr %t647, ptr %t648) store i32 0, ptr @lp_site call void @lp_free(ptr %t647) store i32 5337, ptr @lp_site %t650 = call ptr @lp_str_concat(ptr %t649, ptr @.str8710) store i32 0, ptr @lp_site call void @lp_free(ptr %t649) %t651 = load ptr, ptr %t599 store i32 5338, ptr @lp_site %t652 = call ptr @lp_str_concat(ptr %t650, ptr %t651) store i32 0, ptr @lp_site call void @lp_free(ptr %t650) %t653 = call ptr @fn_emit_bind(ptr %t652) store ptr %t653, ptr %t654 %t655 = load ptr, ptr %t1 store i32 5339, ptr @lp_site %t656 = call ptr @lp_str_concat(ptr @.str8711, ptr %t655) store i32 0, ptr @lp_site store i32 5340, ptr @lp_site %t657 = call ptr @lp_str_concat(ptr %t656, ptr @.str8712) store i32 0, ptr @lp_site call void @lp_free(ptr %t656) %t658 = load ptr, ptr %t9 store i32 5341, ptr @lp_site %t659 = call ptr @lp_str_concat(ptr %t657, ptr %t658) store i32 0, ptr @lp_site call void @lp_free(ptr %t657) store i32 5342, ptr @lp_site %t660 = call ptr @lp_str_concat(ptr %t659, ptr @.str8713) store i32 0, ptr @lp_site call void @lp_free(ptr %t659) %t661 = load ptr, ptr %t654 store i32 5343, ptr @lp_site %t662 = call ptr @lp_str_concat(ptr %t660, ptr %t661) store i32 0, ptr @lp_site call void @lp_free(ptr %t660) %t663 = call ptr @fn_emit_bind(ptr %t662) store ptr %t663, ptr %t664 %t665 = load ptr, ptr %t623 store i32 5344, ptr @lp_site %t666 = call ptr @lp_str_concat(ptr @.str8714, ptr %t665) store i32 0, ptr @lp_site store i32 5345, ptr @lp_site %t667 = call ptr @lp_str_concat(ptr %t666, ptr @.str8715) store i32 0, ptr @lp_site call void @lp_free(ptr %t666) %t668 = load ptr, ptr %t1 store i32 5346, ptr @lp_site %t669 = call ptr @lp_str_concat(ptr %t667, ptr %t668) store i32 0, ptr @lp_site call void @lp_free(ptr %t667) store i32 5347, ptr @lp_site %t670 = call ptr @lp_str_concat(ptr %t669, ptr @.str8716) store i32 0, ptr @lp_site call void @lp_free(ptr %t669) %t671 = load ptr, ptr %t594 store i32 5348, ptr @lp_site %t672 = call ptr @lp_str_concat(ptr %t670, ptr %t671) store i32 0, ptr @lp_site call void @lp_free(ptr %t670) store i32 5349, ptr @lp_site %t673 = call ptr @lp_str_concat(ptr %t672, ptr @.str8717) store i32 0, ptr @lp_site call void @lp_free(ptr %t672) %t674 = load ptr, ptr %t1 store i32 5350, ptr @lp_site %t675 = call ptr @lp_str_concat(ptr %t673, ptr %t674) store i32 0, ptr @lp_site call void @lp_free(ptr %t673) store i32 5351, ptr @lp_site %t676 = call ptr @lp_str_concat(ptr %t675, ptr @.str8718) store i32 0, ptr @lp_site call void @lp_free(ptr %t675) %t677 = load ptr, ptr %t664 store i32 5352, ptr @lp_site %t678 = call ptr @lp_str_concat(ptr %t676, ptr %t677) store i32 0, ptr @lp_site call void @lp_free(ptr %t676) %t679 = call ptr @fn_emit_bind(ptr %t678) %t680 = load ptr, ptr %t1 %t681 = call ptr @fn_val(ptr %t679, ptr %t680) store ptr %t681, ptr %retval br label %ret ifend87: %t683 = load ptr, ptr %t0 %t684 = call i32 @lp_str_eq(ptr %t683, ptr @.str8719) %t685 = icmp ne i32 %t684, 0 %t686 = zext i1 %t685 to i32 store i32 %t686, ptr %t682 br i1 %t685, label %scend89, label %sc88 sc88: %t687 = load ptr, ptr %t0 %t688 = call i32 @lp_str_eq(ptr %t687, ptr @.str8720) %t689 = icmp ne i32 %t688, 0 %t690 = zext i1 %t689 to i32 store i32 %t690, ptr %t682 br label %scend89 scend89: %t691 = load i32, ptr %t682 %t692 = icmp ne i32 %t691, 0 br i1 %t692, label %then90, label %ifend92 then90: %t693 = load ptr, ptr %t3 %t694 = load ptr, ptr %t1 %t695 = load ptr, ptr %t0 %t696 = call ptr @fn_fp_arg(ptr %t693, i32 1, ptr %t694, ptr %t695) store ptr %t696, ptr %t697 %t698 = load ptr, ptr %t3 %t699 = load ptr, ptr %t1 %t700 = load ptr, ptr %t0 %t701 = call ptr @fn_fp_arg(ptr %t698, i32 2, ptr %t699, ptr %t700) store ptr %t701, ptr %t702 %t703 = load ptr, ptr %t3 %t704 = load ptr, ptr %t1 %t705 = load ptr, ptr %t0 %t706 = call ptr @fn_fp_arg(ptr %t703, i32 3, ptr %t704, ptr %t705) store ptr %t706, ptr %t707 %t708 = load ptr, ptr %t1 store i32 5353, ptr @lp_site %t709 = call ptr @lp_str_concat(ptr @.str8721, ptr %t708) store i32 0, ptr @lp_site store i32 5354, ptr @lp_site %t710 = call ptr @lp_str_concat(ptr %t709, ptr @.str8722) store i32 0, ptr @lp_site call void @lp_free(ptr %t709) %t711 = load ptr, ptr %t702 store i32 5355, ptr @lp_site %t712 = call ptr @lp_str_concat(ptr %t710, ptr %t711) store i32 0, ptr @lp_site call void @lp_free(ptr %t710) store i32 5356, ptr @lp_site %t713 = call ptr @lp_str_concat(ptr %t712, ptr @.str8723) store i32 0, ptr @lp_site call void @lp_free(ptr %t712) %t714 = load ptr, ptr %t9 store i32 5357, ptr @lp_site %t715 = call ptr @lp_str_concat(ptr %t713, ptr %t714) store i32 0, ptr @lp_site call void @lp_free(ptr %t713) %t716 = call ptr @fn_emit_bind(ptr %t715) store ptr %t716, ptr %t717 %t718 = load ptr, ptr %t1 store i32 5358, ptr @lp_site %t719 = call ptr @lp_str_concat(ptr @.str8724, ptr %t718) store i32 0, ptr @lp_site store i32 5359, ptr @lp_site %t720 = call ptr @lp_str_concat(ptr %t719, ptr @.str8725) store i32 0, ptr @lp_site call void @lp_free(ptr %t719) %t721 = load ptr, ptr %t707 store i32 5360, ptr @lp_site %t722 = call ptr @lp_str_concat(ptr %t720, ptr %t721) store i32 0, ptr @lp_site call void @lp_free(ptr %t720) store i32 5361, ptr @lp_site %t723 = call ptr @lp_str_concat(ptr %t722, ptr @.str8726) store i32 0, ptr @lp_site call void @lp_free(ptr %t722) %t724 = load ptr, ptr %t697 store i32 5362, ptr @lp_site %t725 = call ptr @lp_str_concat(ptr %t723, ptr %t724) store i32 0, ptr @lp_site call void @lp_free(ptr %t723) %t726 = call ptr @fn_emit_bind(ptr %t725) store ptr %t726, ptr %t727 %t728 = load ptr, ptr %t1 store i32 5363, ptr @lp_site %t729 = call ptr @lp_str_concat(ptr @.str8727, ptr %t728) store i32 0, ptr @lp_site store i32 5364, ptr @lp_site %t730 = call ptr @lp_str_concat(ptr %t729, ptr @.str8728) store i32 0, ptr @lp_site call void @lp_free(ptr %t729) %t731 = load ptr, ptr %t717 store i32 5365, ptr @lp_site %t732 = call ptr @lp_str_concat(ptr %t730, ptr %t731) store i32 0, ptr @lp_site call void @lp_free(ptr %t730) store i32 5366, ptr @lp_site %t733 = call ptr @lp_str_concat(ptr %t732, ptr @.str8729) store i32 0, ptr @lp_site call void @lp_free(ptr %t732) %t734 = load ptr, ptr %t717 store i32 5367, ptr @lp_site %t735 = call ptr @lp_str_concat(ptr %t733, ptr %t734) store i32 0, ptr @lp_site call void @lp_free(ptr %t733) %t736 = call ptr @fn_emit_bind(ptr %t735) store ptr %t736, ptr %t737 %t738 = load ptr, ptr %t1 store i32 5368, ptr @lp_site %t739 = call ptr @lp_str_concat(ptr @.str8730, ptr %t738) store i32 0, ptr @lp_site store i32 5369, ptr @lp_site %t740 = call ptr @lp_str_concat(ptr %t739, ptr @.str8731) store i32 0, ptr @lp_site call void @lp_free(ptr %t739) %t741 = load ptr, ptr %t727 store i32 5370, ptr @lp_site %t742 = call ptr @lp_str_concat(ptr %t740, ptr %t741) store i32 0, ptr @lp_site call void @lp_free(ptr %t740) store i32 5371, ptr @lp_site %t743 = call ptr @lp_str_concat(ptr %t742, ptr @.str8732) store i32 0, ptr @lp_site call void @lp_free(ptr %t742) %t744 = load ptr, ptr %t727 store i32 5372, ptr @lp_site %t745 = call ptr @lp_str_concat(ptr %t743, ptr %t744) store i32 0, ptr @lp_site call void @lp_free(ptr %t743) %t746 = call ptr @fn_emit_bind(ptr %t745) store ptr %t746, ptr %t747 %t748 = load ptr, ptr %t1 store i32 5373, ptr @lp_site %t749 = call ptr @lp_str_concat(ptr @.str8733, ptr %t748) store i32 0, ptr @lp_site store i32 5374, ptr @lp_site %t750 = call ptr @lp_str_concat(ptr %t749, ptr @.str8734) store i32 0, ptr @lp_site call void @lp_free(ptr %t749) %t751 = load ptr, ptr %t737 store i32 5375, ptr @lp_site %t752 = call ptr @lp_str_concat(ptr %t750, ptr %t751) store i32 0, ptr @lp_site call void @lp_free(ptr %t750) store i32 5376, ptr @lp_site %t753 = call ptr @lp_str_concat(ptr %t752, ptr @.str8735) store i32 0, ptr @lp_site call void @lp_free(ptr %t752) %t754 = load ptr, ptr %t747 store i32 5377, ptr @lp_site %t755 = call ptr @lp_str_concat(ptr %t753, ptr %t754) store i32 0, ptr @lp_site call void @lp_free(ptr %t753) %t756 = call ptr @fn_emit_bind(ptr %t755) store ptr %t756, ptr %t757 %t758 = load ptr, ptr %t0 %t759 = call i32 @lp_str_eq(ptr %t758, ptr @.str8736) %t760 = icmp ne i32 %t759, 0 br i1 %t760, label %then93, label %ifend95 then93: %t761 = load ptr, ptr %t757 %t762 = load ptr, ptr %t1 %t763 = call ptr @fn_val(ptr %t761, ptr %t762) store ptr %t763, ptr %retval br label %ret ifend95: %t764 = load ptr, ptr %t1 %t765 = load ptr, ptr %t757 %t766 = call ptr @fn_fp_intrinsic1(ptr @.str8737, ptr %t764, ptr %t765) %t767 = load ptr, ptr %t1 %t768 = call ptr @fn_val(ptr %t766, ptr %t767) store ptr %t768, ptr %retval br label %ret ifend92: %t769 = load ptr, ptr %t0 store i32 5378, ptr @lp_site %t770 = call ptr @lp_str_concat(ptr @.str8738, ptr %t769) store i32 0, ptr @lp_site store i32 5379, ptr @lp_site %t771 = call ptr @lp_str_concat(ptr %t770, ptr @.str8739) store i32 0, ptr @lp_site call void @lp_free(ptr %t770) %t772 = load ptr, ptr %t1 store i32 5380, ptr @lp_site %t773 = call ptr @lp_str_concat(ptr %t771, ptr %t772) store i32 0, ptr @lp_site call void @lp_free(ptr %t771) store i32 5381, ptr @lp_site %t774 = call ptr @lp_str_concat(ptr %t773, ptr @.str8740) store i32 0, ptr @lp_site call void @lp_free(ptr %t773) call void @fn_perr(ptr %t774) %t775 = load ptr, ptr %t9 %t776 = load ptr, ptr %t1 %t777 = call ptr @fn_val(ptr %t775, ptr %t776) store ptr %t777, ptr %retval br label %ret ret: %t778 = load ptr, ptr %retval ret ptr %t778 } define ptr @fn_preval_node(ptr %arg_v) { entry: %retval = alloca ptr %t0 = alloca ptr %t22 = alloca ptr store ptr %arg_v, ptr %t0 %t1 = load ptr, ptr @g_g_prevals %t2 = load ptr, ptr %t0 %t3 = getelementptr inbounds %LSlice, ptr %t1, i32 0, i32 1 %t4 = getelementptr inbounds %LSlice, ptr %t1, i32 0, i32 2 %t5 = getelementptr inbounds %LSlice, ptr %t1, i32 0, i32 0 %t6 = load i32, ptr %t3 %t7 = load i32, ptr %t4 %t8 = icmp sge i32 %t6, %t7 br i1 %t8, label %grow0, label %put1 grow0: %t9 = mul i32 %t7, 2 %t10 = icmp eq i32 %t7, 0 %t11 = select i1 %t10, i32 8, i32 %t9 %t12 = getelementptr ptr, ptr null, i32 1 %t13 = ptrtoint ptr %t12 to i64 %t14 = zext i32 %t11 to i64 %t15 = mul i64 %t14, %t13 %t16 = load ptr, ptr %t5 store i32 5382, ptr @lp_site %t17 = call ptr @lp_realloc(ptr %t16, i64 %t15) store i32 0, ptr @lp_site store ptr %t17, ptr %t5 store i32 %t11, ptr %t4 br label %put1 put1: %t18 = load ptr, ptr %t5 %t19 = getelementptr inbounds ptr, ptr %t18, i32 %t6 store ptr %t2, ptr %t19 %t20 = add i32 %t6, 1 store i32 %t20, ptr %t3 %t21 = call ptr @fn_node(i32 190) store ptr %t21, ptr %t22 %t23 = load ptr, ptr %t22 %t24 = getelementptr inbounds %Cmp_Node, ptr %t23, i32 0, i32 2 %t25 = load ptr, ptr @g_g_prevals %t26 = getelementptr inbounds %LSlice, ptr %t25, i32 0, i32 1 %t27 = load i32, ptr %t26 %t28 = sub i32 %t27, 1 store i32 %t28, ptr %t24 %t29 = load ptr, ptr %t22 store ptr %t29, ptr %retval br label %ret ret: %t30 = load ptr, ptr %retval ret ptr %t30 } define i32 @fn_is_math_builtin(ptr %arg_name) { entry: %retval = alloca i32 %t0 = alloca ptr %t1 = alloca i32 %t2 = alloca i32 %t3 = alloca i32 store ptr %arg_name, ptr %t0 %t4 = load ptr, ptr %t0 %t5 = call i32 @lp_str_eq(ptr %t4, ptr @.str8742) %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 @.str8743) %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 @.str8744) %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 @.str8745) %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 %t24 = alloca ptr %t28 = alloca ptr %t37 = alloca ptr store ptr %arg_name, ptr %t0 store ptr %arg_e, ptr %t1 %t2 = load ptr, ptr %t1 %t3 = getelementptr inbounds %Cmp_Node, ptr %t2, i32 0, i32 7 %t4 = load ptr, ptr %t3 %t5 = getelementptr inbounds %LSlice, ptr %t4, i32 0, i32 1 %t6 = load i32, ptr %t5 %t7 = icmp eq i32 %t6, 0 %t8 = zext i1 %t7 to i32 %t9 = icmp ne i32 %t8, 0 br i1 %t9, label %then0, label %ifend2 then0: %t10 = load ptr, ptr %t0 %t11 = load ptr, ptr %t1 %t12 = call ptr @fn_emit_math_builtin_fixed(ptr %t10, ptr %t11) store ptr %t12, ptr %retval br label %ret ifend2: %t13 = load ptr, ptr %t1 %t14 = getelementptr inbounds %Cmp_Node, ptr %t13, i32 0, i32 7 %t15 = load ptr, ptr %t14 %t16 = getelementptr inbounds %LSlice, ptr %t15, i32 0, i32 0 %t17 = load ptr, ptr %t16 %t18 = getelementptr inbounds %LSlice, ptr %t15, i32 0, i32 1 %t19 = load i32, ptr %t18 %t20 = icmp ult i32 0, %t19 br i1 %t20, label %ixok3, label %ixbad4 ixbad4: store i32 5383, ptr @lp_site %t21 = call ptr @lp_win_stdio(i32 2) store i32 0, ptr @lp_site call i32 (ptr, ptr, ...) @fprintf(ptr %t21, ptr @.fmt_bounds, ptr @.str8746, i32 0, i32 %t19) call void @exit(i32 1) unreachable ixok3: %t22 = getelementptr inbounds ptr, ptr %t17, i32 0 %t23 = load ptr, ptr %t22 store ptr %t23, ptr %t24 %t25 = load ptr, ptr %t0 %t26 = load ptr, ptr %t1 %t27 = call ptr @fn_math_fp_route(ptr %t25, ptr %t26) store ptr %t27, ptr %t28 %t29 = load ptr, ptr %t28 %t30 = icmp ne ptr %t29, null %t31 = zext i1 %t30 to i32 %t32 = icmp ne i32 %t31, 0 br i1 %t32, label %then5, label %ifend7 then5: %t33 = load ptr, ptr %t28 store ptr %t33, ptr %retval br label %ret ifend7: %t34 = load ptr, ptr %t0 %t35 = load ptr, ptr %t1 %t36 = call ptr @fn_emit_math_builtin_fixed(ptr %t34, 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 %LSlice, ptr %t40, i32 0, i32 1 %t44 = load i32, ptr %t43 %t45 = icmp ult i32 0, %t44 br i1 %t45, label %ixok8, label %ixbad9 ixbad9: store i32 5384, ptr @lp_site %t46 = call ptr @lp_win_stdio(i32 2) store i32 0, ptr @lp_site call i32 (ptr, ptr, ...) @fprintf(ptr %t46, ptr @.fmt_bounds, ptr @.str8748, i32 0, i32 %t44) call void @exit(i32 1) unreachable ixok8: %t47 = getelementptr inbounds ptr, ptr %t42, i32 0 %t48 = load ptr, ptr %t24 store ptr %t48, ptr %t47 %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_math_builtin_fixed(ptr %arg_name, ptr %arg_e) { entry: %retval = alloca ptr %t0 = alloca ptr %t1 = alloca ptr %t17 = alloca ptr %t24 = alloca ptr %t30 = alloca ptr %t46 = alloca i32 %t69 = alloca ptr %t82 = alloca ptr %t83 = alloca ptr %t100 = alloca ptr %t130 = alloca ptr %t143 = alloca ptr %t156 = alloca ptr %t167 = alloca ptr %t181 = alloca ptr %t190 = 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 @.str8749) %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 %LSlice, ptr %t7, i32 0, i32 1 %t11 = load i32, ptr %t10 %t12 = icmp ult i32 0, %t11 br i1 %t12, label %ixok3, label %ixbad4 ixbad4: store i32 5385, ptr @lp_site %t13 = call ptr @lp_win_stdio(i32 2) store i32 0, ptr @lp_site call i32 (ptr, ptr, ...) @fprintf(ptr %t13, ptr @.fmt_bounds, ptr @.str8750, i32 0, i32 %t11) call void @exit(i32 1) unreachable ixok3: %t14 = getelementptr inbounds ptr, ptr %t9, 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 0 %t20 = load ptr, ptr %t19 store i32 5386, ptr @lp_site %t21 = call ptr @lp_str_concat(ptr @.str8752, ptr %t20) store i32 0, ptr @lp_site store i32 5387, ptr @lp_site %t22 = call ptr @lp_str_concat(ptr %t21, ptr @.str8753) store i32 0, ptr @lp_site call void @lp_free(ptr %t21) %t23 = call ptr @fn_emit_bind(ptr %t22) store ptr %t23, ptr %t24 %t25 = load ptr, ptr %t17 %t26 = getelementptr inbounds %Cmp_Val, ptr %t25, i32 0, i32 0 %t27 = load ptr, ptr %t26 store i32 5388, ptr @lp_site %t28 = call ptr @lp_str_concat(ptr @.str8754, ptr %t27) store i32 0, ptr @lp_site %t29 = call ptr @fn_emit_bind(ptr %t28) store ptr %t29, ptr %t30 %t31 = load ptr, ptr %t24 store i32 5389, ptr @lp_site %t32 = call ptr @lp_str_concat(ptr @.str8755, ptr %t31) store i32 0, ptr @lp_site store i32 5390, ptr @lp_site %t33 = call ptr @lp_str_concat(ptr %t32, ptr @.str8756) store i32 0, ptr @lp_site call void @lp_free(ptr %t32) %t34 = load ptr, ptr %t30 store i32 5391, ptr @lp_site %t35 = call ptr @lp_str_concat(ptr %t33, ptr %t34) store i32 0, ptr @lp_site call void @lp_free(ptr %t33) store i32 5392, ptr @lp_site %t36 = call ptr @lp_str_concat(ptr %t35, ptr @.str8757) store i32 0, ptr @lp_site call void @lp_free(ptr %t35) %t37 = load ptr, ptr %t17 %t38 = getelementptr inbounds %Cmp_Val, ptr %t37, i32 0, i32 0 %t39 = load ptr, ptr %t38 store i32 5393, ptr @lp_site %t40 = call ptr @lp_str_concat(ptr %t36, ptr %t39) store i32 0, ptr @lp_site call void @lp_free(ptr %t36) %t41 = call ptr @fn_emit_bind(ptr %t40) %t42 = load ptr, ptr %t17 %t43 = getelementptr inbounds %Cmp_Val, ptr %t42, i32 0, i32 1 %t44 = load ptr, ptr %t43 %t45 = call ptr @fn_val(ptr %t41, ptr %t44) store ptr %t45, ptr %retval br label %ret ifend2: %t47 = load ptr, ptr %t0 %t48 = call i32 @lp_str_eq(ptr %t47, ptr @.str8758) %t49 = icmp ne i32 %t48, 0 %t50 = zext i1 %t49 to i32 store i32 %t50, ptr %t46 br i1 %t49, label %scend6, label %sc5 sc5: %t51 = load ptr, ptr %t0 %t52 = call i32 @lp_str_eq(ptr %t51, ptr @.str8759) %t53 = icmp ne i32 %t52, 0 %t54 = zext i1 %t53 to i32 store i32 %t54, ptr %t46 br label %scend6 scend6: %t55 = load i32, ptr %t46 %t56 = icmp ne i32 %t55, 0 br i1 %t56, label %then7, label %ifend9 then7: %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 %LSlice, ptr %t59, i32 0, i32 1 %t63 = load i32, ptr %t62 %t64 = icmp ult i32 0, %t63 br i1 %t64, label %ixok10, label %ixbad11 ixbad11: store i32 5394, ptr @lp_site %t65 = call ptr @lp_win_stdio(i32 2) store i32 0, ptr @lp_site call i32 (ptr, ptr, ...) @fprintf(ptr %t65, ptr @.fmt_bounds, ptr @.str8760, i32 0, i32 %t63) call void @exit(i32 1) unreachable ixok10: %t66 = getelementptr inbounds ptr, ptr %t61, i32 0 %t67 = load ptr, ptr %t66 %t68 = call ptr @fn_emit_expr(ptr %t67) store ptr %t68, ptr %t69 %t70 = load ptr, ptr %t1 %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 0 %t74 = load ptr, ptr %t73 %t75 = getelementptr inbounds %LSlice, ptr %t72, i32 0, i32 1 %t76 = load i32, ptr %t75 %t77 = icmp ult i32 1, %t76 br i1 %t77, label %ixok12, label %ixbad13 ixbad13: store i32 5395, ptr @lp_site %t78 = call ptr @lp_win_stdio(i32 2) store i32 0, ptr @lp_site call i32 (ptr, ptr, ...) @fprintf(ptr %t78, ptr @.fmt_bounds, ptr @.str8761, i32 1, i32 %t76) call void @exit(i32 1) unreachable ixok12: %t79 = getelementptr inbounds ptr, ptr %t74, i32 1 %t80 = load ptr, ptr %t79 %t81 = call ptr @fn_emit_expr(ptr %t80) store ptr %t81, ptr %t82 store ptr @.str8762, ptr %t83 %t84 = load ptr, ptr %t0 %t85 = call i32 @lp_str_eq(ptr %t84, ptr @.str8763) %t86 = icmp ne i32 %t85, 0 br i1 %t86, label %then14, label %ifend16 then14: store ptr @.str8764, ptr %t83 br label %ifend16 ifend16: %t87 = load ptr, ptr %t83 store i32 5396, ptr @lp_site %t88 = call ptr @lp_str_concat(ptr @.str8765, ptr %t87) store i32 0, ptr @lp_site store i32 5397, ptr @lp_site %t89 = call ptr @lp_str_concat(ptr %t88, ptr @.str8766) store i32 0, ptr @lp_site call void @lp_free(ptr %t88) %t90 = load ptr, ptr %t69 %t91 = getelementptr inbounds %Cmp_Val, ptr %t90, i32 0, i32 0 %t92 = load ptr, ptr %t91 store i32 5398, ptr @lp_site %t93 = call ptr @lp_str_concat(ptr %t89, ptr %t92) store i32 0, ptr @lp_site call void @lp_free(ptr %t89) store i32 5399, ptr @lp_site %t94 = call ptr @lp_str_concat(ptr %t93, ptr @.str8767) store i32 0, ptr @lp_site call void @lp_free(ptr %t93) %t95 = load ptr, ptr %t82 %t96 = getelementptr inbounds %Cmp_Val, ptr %t95, i32 0, i32 0 %t97 = load ptr, ptr %t96 store i32 5400, ptr @lp_site %t98 = call ptr @lp_str_concat(ptr %t94, ptr %t97) store i32 0, ptr @lp_site call void @lp_free(ptr %t94) %t99 = call ptr @fn_emit_bind(ptr %t98) store ptr %t99, ptr %t100 %t101 = load ptr, ptr %t100 store i32 5401, ptr @lp_site %t102 = call ptr @lp_str_concat(ptr @.str8768, ptr %t101) store i32 0, ptr @lp_site store i32 5402, ptr @lp_site %t103 = call ptr @lp_str_concat(ptr %t102, ptr @.str8769) store i32 0, ptr @lp_site call void @lp_free(ptr %t102) %t104 = load ptr, ptr %t69 %t105 = getelementptr inbounds %Cmp_Val, ptr %t104, i32 0, i32 0 %t106 = load ptr, ptr %t105 store i32 5403, ptr @lp_site %t107 = call ptr @lp_str_concat(ptr %t103, ptr %t106) store i32 0, ptr @lp_site call void @lp_free(ptr %t103) store i32 5404, ptr @lp_site %t108 = call ptr @lp_str_concat(ptr %t107, ptr @.str8770) store i32 0, ptr @lp_site call void @lp_free(ptr %t107) %t109 = load ptr, ptr %t82 %t110 = getelementptr inbounds %Cmp_Val, ptr %t109, i32 0, i32 0 %t111 = load ptr, ptr %t110 store i32 5405, ptr @lp_site %t112 = call ptr @lp_str_concat(ptr %t108, ptr %t111) store i32 0, ptr @lp_site call void @lp_free(ptr %t108) %t113 = call ptr @fn_emit_bind(ptr %t112) %t114 = load ptr, ptr %t69 %t115 = getelementptr inbounds %Cmp_Val, ptr %t114, i32 0, i32 1 %t116 = load ptr, ptr %t115 %t117 = call ptr @fn_val(ptr %t113, ptr %t116) store ptr %t117, ptr %retval br label %ret ifend9: %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 %LSlice, ptr %t120, i32 0, i32 1 %t124 = load i32, ptr %t123 %t125 = icmp ult i32 0, %t124 br i1 %t125, label %ixok17, label %ixbad18 ixbad18: store i32 5406, ptr @lp_site %t126 = call ptr @lp_win_stdio(i32 2) store i32 0, ptr @lp_site call i32 (ptr, ptr, ...) @fprintf(ptr %t126, ptr @.fmt_bounds, ptr @.str8771, i32 0, i32 %t124) call void @exit(i32 1) unreachable ixok17: %t127 = getelementptr inbounds ptr, ptr %t122, i32 0 %t128 = load ptr, ptr %t127 %t129 = call ptr @fn_emit_expr(ptr %t128) store ptr %t129, ptr %t130 %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 %LSlice, ptr %t133, i32 0, i32 1 %t137 = load i32, ptr %t136 %t138 = icmp ult i32 1, %t137 br i1 %t138, label %ixok19, label %ixbad20 ixbad20: store i32 5407, ptr @lp_site %t139 = call ptr @lp_win_stdio(i32 2) store i32 0, ptr @lp_site call i32 (ptr, ptr, ...) @fprintf(ptr %t139, ptr @.fmt_bounds, ptr @.str8772, i32 1, i32 %t137) call void @exit(i32 1) unreachable ixok19: %t140 = getelementptr inbounds ptr, ptr %t135, i32 1 %t141 = load ptr, ptr %t140 %t142 = call ptr @fn_emit_expr(ptr %t141) store ptr %t142, ptr %t143 %t144 = load ptr, ptr %t1 %t145 = getelementptr inbounds %Cmp_Node, ptr %t144, i32 0, i32 7 %t146 = load ptr, ptr %t145 %t147 = getelementptr inbounds %LSlice, ptr %t146, i32 0, i32 0 %t148 = load ptr, ptr %t147 %t149 = getelementptr inbounds %LSlice, ptr %t146, i32 0, i32 1 %t150 = load i32, ptr %t149 %t151 = icmp ult i32 2, %t150 br i1 %t151, label %ixok21, label %ixbad22 ixbad22: store i32 5408, ptr @lp_site %t152 = call ptr @lp_win_stdio(i32 2) store i32 0, ptr @lp_site call i32 (ptr, ptr, ...) @fprintf(ptr %t152, ptr @.fmt_bounds, ptr @.str8773, i32 2, i32 %t150) call void @exit(i32 1) unreachable ixok21: %t153 = getelementptr inbounds ptr, ptr %t148, i32 2 %t154 = load ptr, ptr %t153 %t155 = call ptr @fn_emit_expr(ptr %t154) store ptr %t155, ptr %t156 %t157 = load ptr, ptr %t130 %t158 = getelementptr inbounds %Cmp_Val, ptr %t157, i32 0, i32 0 %t159 = load ptr, ptr %t158 store i32 5409, ptr @lp_site %t160 = call ptr @lp_str_concat(ptr @.str8774, ptr %t159) store i32 0, ptr @lp_site store i32 5410, ptr @lp_site %t161 = call ptr @lp_str_concat(ptr %t160, ptr @.str8775) store i32 0, ptr @lp_site call void @lp_free(ptr %t160) %t162 = load ptr, ptr %t156 %t163 = getelementptr inbounds %Cmp_Val, ptr %t162, i32 0, i32 0 %t164 = load ptr, ptr %t163 store i32 5411, ptr @lp_site %t165 = call ptr @lp_str_concat(ptr %t161, ptr %t164) store i32 0, ptr @lp_site call void @lp_free(ptr %t161) %t166 = call ptr @fn_emit_bind(ptr %t165) store ptr %t166, ptr %t167 %t168 = load ptr, ptr %t167 store i32 5412, ptr @lp_site %t169 = call ptr @lp_str_concat(ptr @.str8776, ptr %t168) store i32 0, ptr @lp_site store i32 5413, ptr @lp_site %t170 = call ptr @lp_str_concat(ptr %t169, ptr @.str8777) store i32 0, ptr @lp_site call void @lp_free(ptr %t169) %t171 = load ptr, ptr %t130 %t172 = getelementptr inbounds %Cmp_Val, ptr %t171, i32 0, i32 0 %t173 = load ptr, ptr %t172 store i32 5414, ptr @lp_site %t174 = call ptr @lp_str_concat(ptr %t170, ptr %t173) store i32 0, ptr @lp_site call void @lp_free(ptr %t170) store i32 5415, ptr @lp_site %t175 = call ptr @lp_str_concat(ptr %t174, ptr @.str8778) store i32 0, ptr @lp_site call void @lp_free(ptr %t174) %t176 = load ptr, ptr %t156 %t177 = getelementptr inbounds %Cmp_Val, ptr %t176, i32 0, i32 0 %t178 = load ptr, ptr %t177 store i32 5416, ptr @lp_site %t179 = call ptr @lp_str_concat(ptr %t175, ptr %t178) store i32 0, ptr @lp_site call void @lp_free(ptr %t175) %t180 = call ptr @fn_emit_bind(ptr %t179) store ptr %t180, ptr %t181 %t182 = load ptr, ptr %t143 %t183 = getelementptr inbounds %Cmp_Val, ptr %t182, i32 0, i32 0 %t184 = load ptr, ptr %t183 store i32 5417, ptr @lp_site %t185 = call ptr @lp_str_concat(ptr @.str8779, ptr %t184) store i32 0, ptr @lp_site store i32 5418, ptr @lp_site %t186 = call ptr @lp_str_concat(ptr %t185, ptr @.str8780) store i32 0, ptr @lp_site call void @lp_free(ptr %t185) %t187 = load ptr, ptr %t181 store i32 5419, ptr @lp_site %t188 = call ptr @lp_str_concat(ptr %t186, ptr %t187) store i32 0, ptr @lp_site call void @lp_free(ptr %t186) %t189 = call ptr @fn_emit_bind(ptr %t188) store ptr %t189, ptr %t190 %t191 = load ptr, ptr %t190 store i32 5420, ptr @lp_site %t192 = call ptr @lp_str_concat(ptr @.str8781, ptr %t191) store i32 0, ptr @lp_site store i32 5421, ptr @lp_site %t193 = call ptr @lp_str_concat(ptr %t192, ptr @.str8782) store i32 0, ptr @lp_site call void @lp_free(ptr %t192) %t194 = load ptr, ptr %t143 %t195 = getelementptr inbounds %Cmp_Val, ptr %t194, i32 0, i32 0 %t196 = load ptr, ptr %t195 store i32 5422, ptr @lp_site %t197 = call ptr @lp_str_concat(ptr %t193, ptr %t196) store i32 0, ptr @lp_site call void @lp_free(ptr %t193) store i32 5423, ptr @lp_site %t198 = call ptr @lp_str_concat(ptr %t197, ptr @.str8783) store i32 0, ptr @lp_site call void @lp_free(ptr %t197) %t199 = load ptr, ptr %t181 store i32 5424, ptr @lp_site %t200 = call ptr @lp_str_concat(ptr %t198, ptr %t199) store i32 0, ptr @lp_site call void @lp_free(ptr %t198) %t201 = call ptr @fn_emit_bind(ptr %t200) %t202 = load ptr, ptr %t130 %t203 = getelementptr inbounds %Cmp_Val, ptr %t202, i32 0, i32 1 %t204 = load ptr, ptr %t203 %t205 = call ptr @fn_val(ptr %t201, ptr %t204) store ptr %t205, ptr %retval br label %ret ret: %t206 = load ptr, ptr %retval ret ptr %t206 } 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 store i32 5425, ptr @lp_site %t3 = call ptr @lp_str_concat(ptr @.str8784, ptr %t2) store i32 0, ptr @lp_site store i32 5426, ptr @lp_site %t4 = call ptr @lp_str_concat(ptr %t3, ptr @.str8786) store i32 0, ptr @lp_site call void @lp_free(ptr %t3) %t5 = call ptr @fn_emit_bind(ptr %t4) store ptr %t5, ptr %t6 %t7 = load ptr, ptr %t1 store i32 5427, ptr @lp_site %t8 = call ptr @lp_str_concat(ptr @.str8787, ptr %t7) store i32 0, ptr @lp_site store i32 5428, ptr @lp_site %t9 = call ptr @lp_str_concat(ptr %t8, ptr @.str8788) store i32 0, ptr @lp_site call void @lp_free(ptr %t8) %t10 = call ptr @fn_emit_bind(ptr %t9) store ptr %t10, ptr %t11 %t12 = load ptr, ptr %t6 store i32 5429, ptr @lp_site %t13 = call ptr @lp_str_concat(ptr @.str8789, ptr %t12) store i32 0, ptr @lp_site store i32 5430, ptr @lp_site %t14 = call ptr @lp_str_concat(ptr %t13, ptr @.str8790) store i32 0, ptr @lp_site call void @lp_free(ptr %t13) %t15 = load ptr, ptr %t11 store i32 5431, ptr @lp_site %t16 = call ptr @lp_str_concat(ptr %t14, ptr %t15) store i32 0, ptr @lp_site call void @lp_free(ptr %t14) %t17 = call ptr @fn_emit_bind(ptr %t16) store ptr %t17, ptr %t18 %t19 = load ptr, ptr %t18 store i32 5432, ptr @lp_site %t20 = call ptr @lp_str_concat(ptr @.str8791, ptr %t19) store i32 0, ptr @lp_site store i32 5433, ptr @lp_site %t21 = call ptr @lp_str_concat(ptr %t20, ptr @.str8792) store i32 0, ptr @lp_site call void @lp_free(ptr %t20) %t22 = call ptr @fn_emit_bind(ptr %t21) store ptr %t22, ptr %t23 %t24 = load ptr, ptr %t23 store i32 5434, ptr @lp_site %t25 = call ptr @lp_str_concat(ptr @.str8793, ptr %t24) store i32 0, ptr @lp_site store i32 5435, ptr @lp_site %t26 = call ptr @lp_str_concat(ptr %t25, ptr @.str8794) store i32 0, ptr @lp_site call void @lp_free(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_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 store i32 5436, ptr @lp_site %t3 = call ptr @lp_str_concat(ptr @.str8795, ptr %t2) store i32 0, ptr @lp_site store i32 5437, ptr @lp_site %t4 = call ptr @lp_str_concat(ptr %t3, ptr @.str8797) store i32 0, ptr @lp_site call void @lp_free(ptr %t3) %t5 = call ptr @fn_emit_bind(ptr %t4) store ptr %t5, ptr %t6 %t7 = load ptr, ptr %t6 store i32 5438, ptr @lp_site %t8 = call ptr @lp_str_concat(ptr @.str8798, ptr %t7) store i32 0, ptr @lp_site store i32 5439, ptr @lp_site %t9 = call ptr @lp_str_concat(ptr %t8, ptr @.str8799) store i32 0, ptr @lp_site call void @lp_free(ptr %t8) %t10 = call ptr @fn_emit_bind(ptr %t9) store ptr %t10, ptr %t11 %t12 = load ptr, ptr %t1 store i32 5440, ptr @lp_site %t13 = call ptr @lp_str_concat(ptr @.str8800, ptr %t12) store i32 0, ptr @lp_site store i32 5441, ptr @lp_site %t14 = call ptr @lp_str_concat(ptr %t13, ptr @.str8801) store i32 0, ptr @lp_site call void @lp_free(ptr %t13) %t15 = call ptr @fn_emit_bind(ptr %t14) store ptr %t15, ptr %t16 %t17 = load ptr, ptr %t11 store i32 5442, ptr @lp_site %t18 = call ptr @lp_str_concat(ptr @.str8802, ptr %t17) store i32 0, ptr @lp_site store i32 5443, ptr @lp_site %t19 = call ptr @lp_str_concat(ptr %t18, ptr @.str8803) store i32 0, ptr @lp_site call void @lp_free(ptr %t18) %t20 = load ptr, ptr %t16 store i32 5444, ptr @lp_site %t21 = call ptr @lp_str_concat(ptr %t19, ptr %t20) store i32 0, ptr @lp_site call void @lp_free(ptr %t19) %t22 = call ptr @fn_emit_bind(ptr %t21) store ptr %t22, ptr %t23 %t24 = load ptr, ptr %t23 store i32 5445, ptr @lp_site %t25 = call ptr @lp_str_concat(ptr @.str8804, ptr %t24) store i32 0, ptr @lp_site store i32 5446, ptr @lp_site %t26 = call ptr @lp_str_concat(ptr %t25, ptr @.str8805) store i32 0, ptr @lp_site call void @lp_free(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_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 store i32 5447, ptr @lp_site %t4 = call ptr @lp_str_concat(ptr @.str8806, ptr %t3) store i32 0, ptr @lp_site store i32 5448, ptr @lp_site %t5 = call ptr @lp_str_concat(ptr %t4, ptr @.str8808) store i32 0, ptr @lp_site call void @lp_free(ptr %t4) %t6 = load ptr, ptr %t0 store i32 5449, ptr @lp_site %t7 = call ptr @lp_str_concat(ptr %t5, ptr %t6) store i32 0, ptr @lp_site call void @lp_free(ptr %t5) %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 store i32 5450, ptr @lp_site %t15 = call ptr @lp_str_concat(ptr @.str8809, ptr %t14) store i32 0, ptr @lp_site store i32 5451, ptr @lp_site %t16 = call ptr @lp_str_concat(ptr %t15, ptr @.str8810) store i32 0, ptr @lp_site call void @lp_free(ptr %t15) %t17 = load ptr, ptr %t13 store i32 5452, ptr @lp_site %t18 = call ptr @lp_str_concat(ptr %t16, ptr %t17) store i32 0, ptr @lp_site call void @lp_free(ptr %t16) %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 store i32 5453, ptr @lp_site %t4 = call ptr @lp_str_concat(ptr @.str8811, ptr %t3) store i32 0, ptr @lp_site store i32 5454, ptr @lp_site %t5 = call ptr @lp_str_concat(ptr %t4, ptr @.str8813) store i32 0, ptr @lp_site call void @lp_free(ptr %t4) %t6 = load ptr, ptr %t0 store i32 5455, ptr @lp_site %t7 = call ptr @lp_str_concat(ptr %t5, ptr %t6) store i32 0, ptr @lp_site call void @lp_free(ptr %t5) %t8 = call ptr @fn_emit_bind(ptr %t7) store ptr %t8, ptr %t9 %t10 = load ptr, ptr %t1 store i32 5456, ptr @lp_site %t11 = call ptr @lp_str_concat(ptr @.str8814, ptr %t10) store i32 0, ptr @lp_site store i32 5457, ptr @lp_site %t12 = call ptr @lp_str_concat(ptr %t11, ptr @.str8815) store i32 0, ptr @lp_site call void @lp_free(ptr %t11) %t13 = load ptr, ptr %t0 store i32 5458, ptr @lp_site %t14 = call ptr @lp_str_concat(ptr %t12, ptr %t13) store i32 0, ptr @lp_site call void @lp_free(ptr %t12) %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 @.str8816) %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 @.str8817) %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 @.str8818) %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 @.str8819) %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 @.str8820) %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 @.str8821) %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 @.str8822) %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 @.str8823) %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 @.str8824) %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 @.str8825) %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 @.str8826) %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 @.str8827) %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 @.str8828) %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 @.str8829) %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 @.str8830) %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 @.str8831) %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 @.str8832) %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 @.str8833) %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 @.str8834) %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 @.str8835) %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 @.str8836) %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 @.str8837) %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 @.str8838) %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 @.str8839) %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 @.str8840) %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 @.str8841) %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 @.str8842) %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 @.str8843) %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 @.str8844) %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 @.str8845) %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 @.str8846) %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 @.str8847) %t208 = icmp ne i32 %t207, 0 %t209 = zext i1 %t208 to i32 store i32 %t209, ptr %t193 br label %scend69 scend69: %t210 = load i32, ptr %t193 %t211 = icmp ne i32 %t210, 0 br i1 %t211, label %then70, label %ifend72 then70: store i32 1, ptr %retval br label %ret ifend72: store i32 0, ptr %retval br label %ret ret: %t212 = load i32, ptr %retval ret i32 %t212 } define ptr @fn_math_fp_route(ptr %arg_meth, ptr %arg_e) { entry: %retval = alloca ptr %t0 = alloca ptr %t1 = alloca ptr %t38 = alloca ptr %t42 = alloca ptr store ptr %arg_meth, ptr %t0 store ptr %arg_e, ptr %t1 %t2 = load ptr, ptr %t1 %t3 = getelementptr inbounds %Cmp_Node, ptr %t2, i32 0, i32 7 %t4 = load ptr, ptr %t3 %t5 = getelementptr inbounds %LSlice, ptr %t4, i32 0, i32 1 %t6 = load i32, ptr %t5 %t7 = icmp eq i32 %t6, 0 %t8 = zext i1 %t7 to i32 %t9 = icmp ne i32 %t8, 0 br i1 %t9, label %then0, label %ifend2 then0: store ptr null, ptr %retval br label %ret ifend2: %t10 = load ptr, ptr %t1 %t11 = getelementptr inbounds %Cmp_Node, ptr %t10, i32 0, i32 7 %t12 = load ptr, ptr %t11 %t13 = getelementptr inbounds %LSlice, ptr %t12, i32 0, i32 0 %t14 = load ptr, ptr %t13 %t15 = getelementptr inbounds %LSlice, ptr %t12, i32 0, i32 1 %t16 = load i32, ptr %t15 %t17 = icmp ult i32 0, %t16 br i1 %t17, label %ixok3, label %ixbad4 ixbad4: store i32 5459, ptr @lp_site %t18 = call ptr @lp_win_stdio(i32 2) store i32 0, ptr @lp_site call i32 (ptr, ptr, ...) @fprintf(ptr %t18, ptr @.fmt_bounds, ptr @.str8848, i32 0, i32 %t16) call void @exit(i32 1) unreachable ixok3: %t19 = getelementptr inbounds ptr, ptr %t14, i32 0 %t20 = load ptr, ptr %t19 %t21 = getelementptr inbounds %Cmp_Node, ptr %t20, i32 0, i32 0 %t22 = load i32, ptr %t21 %t23 = icmp eq i32 %t22, 190 %t24 = zext i1 %t23 to i32 %t25 = icmp ne i32 %t24, 0 br i1 %t25, label %then5, label %ifend7 then5: store ptr null, ptr %retval br label %ret ifend7: %t26 = load ptr, ptr %t1 %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 = getelementptr inbounds %LSlice, ptr %t28, i32 0, i32 1 %t32 = load i32, ptr %t31 %t33 = icmp ult i32 0, %t32 br i1 %t33, label %ixok8, label %ixbad9 ixbad9: store i32 5460, ptr @lp_site %t34 = call ptr @lp_win_stdio(i32 2) store i32 0, ptr @lp_site call i32 (ptr, ptr, ...) @fprintf(ptr %t34, ptr @.fmt_bounds, ptr @.str8850, i32 0, i32 %t32) call void @exit(i32 1) unreachable ixok8: %t35 = getelementptr inbounds ptr, ptr %t30, i32 0 %t36 = load ptr, ptr %t35 %t37 = call ptr @fn_emit_expr(ptr %t36) store ptr %t37, ptr %t38 %t39 = load ptr, ptr %t38 %t40 = load ptr, ptr %t1 %t41 = call ptr @fn_fp_math_type(ptr %t39, ptr %t40) store ptr %t41, ptr %t42 %t43 = load ptr, ptr %t42 %t44 = call i32 @lp_str_eq(ptr %t43, ptr @.str8851) %t45 = icmp eq i32 %t44, 0 %t46 = zext i1 %t45 to i32 %t47 = icmp ne i32 %t46, 0 br i1 %t47, label %then10, label %ifend12 then10: %t48 = load ptr, ptr %t0 %t49 = load ptr, ptr %t42 %t50 = load ptr, ptr %t38 %t51 = load ptr, ptr %t1 %t52 = call ptr @fn_emit_fp_math(ptr %t48, ptr %t49, ptr %t50, ptr %t51) store ptr %t52, ptr %retval br label %ret ifend12: %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 %LSlice, ptr %t55, i32 0, i32 1 %t59 = load i32, ptr %t58 %t60 = icmp ult i32 0, %t59 br i1 %t60, label %ixok13, label %ixbad14 ixbad14: store i32 5461, ptr @lp_site %t61 = call ptr @lp_win_stdio(i32 2) store i32 0, ptr @lp_site call i32 (ptr, ptr, ...) @fprintf(ptr %t61, ptr @.fmt_bounds, ptr @.str8852, i32 0, i32 %t59) call void @exit(i32 1) unreachable ixok13: %t62 = getelementptr inbounds ptr, ptr %t57, i32 0 %t63 = load ptr, ptr %t38 %t64 = call ptr @fn_preval_node(ptr %t63) store ptr %t64, ptr %t62 store ptr null, ptr %retval br label %ret ret: %t65 = load ptr, ptr %retval ret ptr %t65 } define ptr @fn_emit_math_ns(ptr %arg_meth, ptr %arg_e) { entry: %retval = alloca ptr %t0 = alloca ptr %t1 = alloca ptr %t24 = alloca ptr %t28 = 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 eq i32 %t6, 0 %t8 = zext i1 %t7 to i32 %t9 = icmp ne i32 %t8, 0 br i1 %t9, label %then0, label %ifend2 then0: %t10 = load ptr, ptr %t0 %t11 = load ptr, ptr %t1 %t12 = call ptr @fn_emit_math_ns_fixed(ptr %t10, ptr %t11) store ptr %t12, ptr %retval br label %ret ifend2: %t13 = load ptr, ptr %t1 %t14 = getelementptr inbounds %Cmp_Node, ptr %t13, i32 0, i32 7 %t15 = load ptr, ptr %t14 %t16 = getelementptr inbounds %LSlice, ptr %t15, i32 0, i32 0 %t17 = load ptr, ptr %t16 %t18 = getelementptr inbounds %LSlice, ptr %t15, i32 0, i32 1 %t19 = load i32, ptr %t18 %t20 = icmp ult i32 0, %t19 br i1 %t20, label %ixok3, label %ixbad4 ixbad4: store i32 5462, ptr @lp_site %t21 = call ptr @lp_win_stdio(i32 2) store i32 0, ptr @lp_site call i32 (ptr, ptr, ...) @fprintf(ptr %t21, ptr @.fmt_bounds, ptr @.str8853, i32 0, i32 %t19) call void @exit(i32 1) unreachable ixok3: %t22 = getelementptr inbounds ptr, ptr %t17, i32 0 %t23 = load ptr, ptr %t22 store ptr %t23, ptr %t24 %t25 = load ptr, ptr %t0 %t26 = load ptr, ptr %t1 %t27 = call ptr @fn_math_fp_route(ptr %t25, ptr %t26) store ptr %t27, ptr %t28 %t29 = load ptr, ptr %t28 %t30 = icmp ne ptr %t29, null %t31 = zext i1 %t30 to i32 %t32 = icmp ne i32 %t31, 0 br i1 %t32, label %then5, label %ifend7 then5: %t33 = load ptr, ptr %t28 store ptr %t33, ptr %retval br label %ret ifend7: %t34 = load ptr, ptr %t0 %t35 = load ptr, ptr %t1 %t36 = call ptr @fn_emit_math_ns_fixed(ptr %t34, 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 %LSlice, ptr %t40, i32 0, i32 1 %t44 = load i32, ptr %t43 %t45 = icmp ult i32 0, %t44 br i1 %t45, label %ixok8, label %ixbad9 ixbad9: store i32 5463, ptr @lp_site %t46 = call ptr @lp_win_stdio(i32 2) store i32 0, ptr @lp_site call i32 (ptr, ptr, ...) @fprintf(ptr %t46, ptr @.fmt_bounds, ptr @.str8855, i32 0, i32 %t44) call void @exit(i32 1) unreachable ixok8: %t47 = getelementptr inbounds ptr, ptr %t42, i32 0 %t48 = load ptr, ptr %t24 store ptr %t48, ptr %t47 %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_math_ns_fixed(ptr %arg_meth, ptr %arg_e) { entry: %retval = alloca ptr %t0 = alloca ptr %t1 = alloca ptr %t2 = alloca i32 %t3 = alloca i32 %t4 = alloca i32 %t47 = alloca ptr %t54 = alloca ptr %t61 = alloca ptr %t66 = alloca ptr %t89 = alloca ptr %t112 = alloca ptr %t119 = alloca ptr %t140 = alloca ptr %t147 = alloca ptr %t168 = alloca ptr %t181 = alloca ptr %t194 = alloca ptr %t221 = alloca ptr %t234 = alloca ptr %t247 = alloca ptr %t274 = alloca ptr %t297 = alloca ptr %t320 = alloca ptr %t327 = alloca ptr %t348 = alloca ptr %t355 = alloca ptr %t362 = alloca ptr %t367 = alloca ptr %t387 = alloca ptr %t400 = alloca ptr %t428 = alloca ptr %t436 = alloca ptr %t440 = alloca ptr %t445 = alloca ptr %t471 = alloca ptr %t479 = alloca ptr %t483 = alloca ptr %t488 = alloca ptr %t514 = alloca ptr %t527 = alloca ptr %t535 = alloca ptr %t543 = alloca ptr %t550 = alloca ptr %t571 = alloca ptr %t584 = alloca ptr %t597 = alloca ptr %t610 = alloca ptr %t621 = alloca ptr %t632 = alloca ptr %t636 = alloca ptr %t640 = alloca ptr %t663 = alloca ptr %t676 = alloca ptr %t689 = alloca ptr %t702 = alloca ptr %t713 = alloca ptr %t724 = alloca ptr %t728 = alloca ptr %t732 = alloca ptr %t739 = alloca ptr %t760 = alloca ptr %t765 = alloca ptr %t786 = alloca ptr %t793 = alloca ptr %t812 = alloca ptr %t825 = alloca ptr %t832 = alloca ptr %t838 = alloca ptr %t859 = alloca ptr %t880 = alloca ptr %t901 = alloca ptr %t914 = alloca ptr %t925 = alloca ptr %t934 = alloca ptr %t959 = alloca ptr %t972 = alloca ptr %t985 = alloca ptr %t996 = alloca ptr %t1007 = alloca ptr %t1014 = alloca ptr %t1021 = alloca ptr %t1028 = alloca ptr %t1053 = alloca ptr %t1066 = alloca ptr %t1073 = alloca ptr %t1082 = alloca ptr %t1089 = alloca ptr %t1096 = alloca ptr %t1105 = alloca ptr %t1109 = alloca ptr %t1114 = alloca ptr %t1124 = alloca ptr %t1149 = alloca ptr %t1162 = alloca ptr %t1170 = alloca ptr %t1175 = alloca ptr %t1180 = alloca ptr %t1205 = alloca ptr %t1218 = alloca ptr %t1231 = alloca ptr %t1242 = alloca ptr %t1246 = alloca ptr %t1251 = alloca ptr %t1261 = alloca ptr %t1266 = alloca ptr %t1271 = alloca ptr %t1276 = alloca ptr %t1283 = alloca ptr %t1292 = alloca ptr %t1301 = alloca ptr %t1310 = alloca ptr %t1338 = alloca ptr %t1351 = alloca ptr %t1364 = alloca ptr %t1375 = alloca ptr %t1380 = alloca ptr %t1387 = alloca ptr %t1392 = alloca ptr %t1399 = alloca ptr %t1404 = alloca ptr %t1408 = alloca ptr %t1412 = alloca ptr %t1429 = alloca ptr %t1442 = alloca ptr %t1455 = alloca ptr %t1468 = alloca ptr %t1481 = alloca ptr %t1492 = 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 @.str8856) %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 @.str8857) %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 @.str8858) %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 @.str8859) %t25 = icmp ne i32 %t24, 0 %t26 = zext i1 %t25 to i32 store i32 %t26, ptr %t2 br label %scend5 scend5: %t27 = load i32, ptr %t2 %t28 = icmp ne i32 %t27, 0 br i1 %t28, label %then6, label %ifend8 then6: %t29 = load ptr, ptr %t0 %t30 = load ptr, ptr %t1 %t31 = call ptr @fn_emit_math_builtin_fixed(ptr %t29, ptr %t30) store ptr %t31, ptr %retval br label %ret ifend8: %t32 = load ptr, ptr %t0 %t33 = call i32 @lp_str_eq(ptr %t32, ptr @.str8860) %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 %LSlice, ptr %t37, i32 0, i32 1 %t41 = load i32, ptr %t40 %t42 = icmp ult i32 0, %t41 br i1 %t42, label %ixok12, label %ixbad13 ixbad13: store i32 5464, ptr @lp_site %t43 = call ptr @lp_win_stdio(i32 2) store i32 0, ptr @lp_site call i32 (ptr, ptr, ...) @fprintf(ptr %t43, ptr @.fmt_bounds, ptr @.str8861, i32 0, i32 %t41) call void @exit(i32 1) unreachable ixok12: %t44 = getelementptr inbounds ptr, ptr %t39, i32 0 %t45 = load ptr, ptr %t44 %t46 = call ptr @fn_emit_expr(ptr %t45) store ptr %t46, ptr %t47 %t48 = load ptr, ptr %t47 %t49 = getelementptr inbounds %Cmp_Val, ptr %t48, i32 0, i32 0 %t50 = load ptr, ptr %t49 store i32 5465, ptr @lp_site %t51 = call ptr @lp_str_concat(ptr @.str8863, ptr %t50) store i32 0, ptr @lp_site store i32 5466, ptr @lp_site %t52 = call ptr @lp_str_concat(ptr %t51, ptr @.str8864) store i32 0, ptr @lp_site call void @lp_free(ptr %t51) %t53 = call ptr @fn_emit_bind(ptr %t52) store ptr %t53, ptr %t54 %t55 = load ptr, ptr %t47 %t56 = getelementptr inbounds %Cmp_Val, ptr %t55, i32 0, i32 0 %t57 = load ptr, ptr %t56 store i32 5467, ptr @lp_site %t58 = call ptr @lp_str_concat(ptr @.str8865, ptr %t57) store i32 0, ptr @lp_site store i32 5468, ptr @lp_site %t59 = call ptr @lp_str_concat(ptr %t58, ptr @.str8866) store i32 0, ptr @lp_site call void @lp_free(ptr %t58) %t60 = call ptr @fn_emit_bind(ptr %t59) store ptr %t60, ptr %t61 %t62 = load ptr, ptr %t61 store i32 5469, ptr @lp_site %t63 = call ptr @lp_str_concat(ptr @.str8867, ptr %t62) store i32 0, ptr @lp_site store i32 5470, ptr @lp_site %t64 = call ptr @lp_str_concat(ptr %t63, ptr @.str8868) store i32 0, ptr @lp_site call void @lp_free(ptr %t63) %t65 = call ptr @fn_emit_bind(ptr %t64) store ptr %t65, ptr %t66 %t67 = load ptr, ptr %t54 store i32 5471, ptr @lp_site %t68 = call ptr @lp_str_concat(ptr @.str8869, ptr %t67) store i32 0, ptr @lp_site store i32 5472, ptr @lp_site %t69 = call ptr @lp_str_concat(ptr %t68, ptr @.str8870) store i32 0, ptr @lp_site call void @lp_free(ptr %t68) %t70 = load ptr, ptr %t66 store i32 5473, ptr @lp_site %t71 = call ptr @lp_str_concat(ptr %t69, ptr %t70) store i32 0, ptr @lp_site call void @lp_free(ptr %t69) %t72 = call ptr @fn_emit_bind(ptr %t71) %t73 = call ptr @fn_val(ptr %t72, ptr @.str8871) store ptr %t73, ptr %retval br label %ret ifend11: %t74 = load ptr, ptr %t0 %t75 = call i32 @lp_str_eq(ptr %t74, ptr @.str8872) %t76 = icmp ne i32 %t75, 0 br i1 %t76, label %then14, label %ifend16 then14: %t77 = load ptr, ptr %t1 %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 = getelementptr inbounds %LSlice, ptr %t79, i32 0, i32 1 %t83 = load i32, ptr %t82 %t84 = icmp ult i32 0, %t83 br i1 %t84, label %ixok17, label %ixbad18 ixbad18: store i32 5474, ptr @lp_site %t85 = call ptr @lp_win_stdio(i32 2) store i32 0, ptr @lp_site call i32 (ptr, ptr, ...) @fprintf(ptr %t85, ptr @.fmt_bounds, ptr @.str8873, i32 0, i32 %t83) call void @exit(i32 1) unreachable ixok17: %t86 = getelementptr inbounds ptr, ptr %t81, i32 0 %t87 = load ptr, ptr %t86 %t88 = call ptr @fn_emit_expr(ptr %t87) store ptr %t88, ptr %t89 %t90 = load ptr, ptr %t89 %t91 = getelementptr inbounds %Cmp_Val, ptr %t90, i32 0, i32 0 %t92 = load ptr, ptr %t91 store i32 5475, ptr @lp_site %t93 = call ptr @lp_str_concat(ptr @.str8874, ptr %t92) store i32 0, ptr @lp_site store i32 5476, ptr @lp_site %t94 = call ptr @lp_str_concat(ptr %t93, ptr @.str8875) store i32 0, ptr @lp_site call void @lp_free(ptr %t93) %t95 = call ptr @fn_emit_bind(ptr %t94) %t96 = call ptr @fn_val(ptr %t95, ptr @.str8876) store ptr %t96, ptr %retval br label %ret ifend16: %t97 = load ptr, ptr %t0 %t98 = call i32 @lp_str_eq(ptr %t97, ptr @.str8877) %t99 = icmp ne i32 %t98, 0 br i1 %t99, label %then19, label %ifend21 then19: %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 %LSlice, ptr %t102, i32 0, i32 1 %t106 = load i32, ptr %t105 %t107 = icmp ult i32 0, %t106 br i1 %t107, label %ixok22, label %ixbad23 ixbad23: store i32 5477, ptr @lp_site %t108 = call ptr @lp_win_stdio(i32 2) store i32 0, ptr @lp_site call i32 (ptr, ptr, ...) @fprintf(ptr %t108, ptr @.fmt_bounds, ptr @.str8878, i32 0, i32 %t106) call void @exit(i32 1) unreachable ixok22: %t109 = getelementptr inbounds ptr, ptr %t104, i32 0 %t110 = load ptr, ptr %t109 %t111 = call ptr @fn_emit_expr(ptr %t110) store ptr %t111, ptr %t112 %t113 = load ptr, ptr %t112 %t114 = getelementptr inbounds %Cmp_Val, ptr %t113, i32 0, i32 0 %t115 = load ptr, ptr %t114 store i32 5478, ptr @lp_site %t116 = call ptr @lp_str_concat(ptr @.str8879, ptr %t115) store i32 0, ptr @lp_site store i32 5479, ptr @lp_site %t117 = call ptr @lp_str_concat(ptr %t116, ptr @.str8880) store i32 0, ptr @lp_site call void @lp_free(ptr %t116) %t118 = call ptr @fn_emit_bind(ptr %t117) store ptr %t118, ptr %t119 %t120 = load ptr, ptr %t119 store i32 5480, ptr @lp_site %t121 = call ptr @lp_str_concat(ptr @.str8881, ptr %t120) store i32 0, ptr @lp_site store i32 5481, ptr @lp_site %t122 = call ptr @lp_str_concat(ptr %t121, ptr @.str8882) store i32 0, ptr @lp_site call void @lp_free(ptr %t121) %t123 = call ptr @fn_emit_bind(ptr %t122) %t124 = call ptr @fn_val(ptr %t123, ptr @.str8883) store ptr %t124, ptr %retval br label %ret ifend21: %t125 = load ptr, ptr %t0 %t126 = call i32 @lp_str_eq(ptr %t125, ptr @.str8884) %t127 = icmp ne i32 %t126, 0 br i1 %t127, label %then24, label %ifend26 then24: %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 = getelementptr inbounds %LSlice, ptr %t130, i32 0, i32 1 %t134 = load i32, ptr %t133 %t135 = icmp ult i32 0, %t134 br i1 %t135, label %ixok27, label %ixbad28 ixbad28: store i32 5482, ptr @lp_site %t136 = call ptr @lp_win_stdio(i32 2) store i32 0, ptr @lp_site call i32 (ptr, ptr, ...) @fprintf(ptr %t136, ptr @.fmt_bounds, ptr @.str8885, i32 0, i32 %t134) call void @exit(i32 1) unreachable ixok27: %t137 = getelementptr inbounds ptr, ptr %t132, i32 0 %t138 = load ptr, ptr %t137 %t139 = call ptr @fn_emit_expr(ptr %t138) store ptr %t139, ptr %t140 %t141 = load ptr, ptr %t140 %t142 = getelementptr inbounds %Cmp_Val, ptr %t141, i32 0, i32 0 %t143 = load ptr, ptr %t142 store i32 5483, ptr @lp_site %t144 = call ptr @lp_str_concat(ptr @.str8886, ptr %t143) store i32 0, ptr @lp_site store i32 5484, ptr @lp_site %t145 = call ptr @lp_str_concat(ptr %t144, ptr @.str8887) store i32 0, ptr @lp_site call void @lp_free(ptr %t144) %t146 = call ptr @fn_emit_bind(ptr %t145) store ptr %t146, ptr %t147 %t148 = load ptr, ptr %t147 store i32 5485, ptr @lp_site %t149 = call ptr @lp_str_concat(ptr @.str8888, ptr %t148) store i32 0, ptr @lp_site store i32 5486, ptr @lp_site %t150 = call ptr @lp_str_concat(ptr %t149, ptr @.str8889) store i32 0, ptr @lp_site call void @lp_free(ptr %t149) %t151 = call ptr @fn_emit_bind(ptr %t150) %t152 = call ptr @fn_val(ptr %t151, ptr @.str8890) store ptr %t152, ptr %retval br label %ret ifend26: %t153 = load ptr, ptr %t0 %t154 = call i32 @lp_str_eq(ptr %t153, ptr @.str8891) %t155 = icmp ne i32 %t154, 0 br i1 %t155, label %then29, label %ifend31 then29: %t156 = load ptr, ptr %t1 %t157 = getelementptr inbounds %Cmp_Node, ptr %t156, i32 0, i32 7 %t158 = load ptr, ptr %t157 %t159 = getelementptr inbounds %LSlice, ptr %t158, i32 0, i32 0 %t160 = load ptr, ptr %t159 %t161 = getelementptr inbounds %LSlice, ptr %t158, i32 0, i32 1 %t162 = load i32, ptr %t161 %t163 = icmp ult i32 0, %t162 br i1 %t163, label %ixok32, label %ixbad33 ixbad33: store i32 5487, ptr @lp_site %t164 = call ptr @lp_win_stdio(i32 2) store i32 0, ptr @lp_site call i32 (ptr, ptr, ...) @fprintf(ptr %t164, ptr @.fmt_bounds, ptr @.str8892, i32 0, i32 %t162) call void @exit(i32 1) unreachable ixok32: %t165 = getelementptr inbounds ptr, ptr %t160, 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 %LSlice, ptr %t171, i32 0, i32 1 %t175 = load i32, ptr %t174 %t176 = icmp ult i32 1, %t175 br i1 %t176, label %ixok34, label %ixbad35 ixbad35: store i32 5488, ptr @lp_site %t177 = call ptr @lp_win_stdio(i32 2) store i32 0, ptr @lp_site call i32 (ptr, ptr, ...) @fprintf(ptr %t177, ptr @.fmt_bounds, ptr @.str8893, i32 1, i32 %t175) call void @exit(i32 1) unreachable ixok34: %t178 = getelementptr inbounds ptr, ptr %t173, i32 1 %t179 = load ptr, ptr %t178 %t180 = call ptr @fn_emit_expr(ptr %t179) store ptr %t180, ptr %t181 %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 %LSlice, ptr %t184, i32 0, i32 1 %t188 = load i32, ptr %t187 %t189 = icmp ult i32 2, %t188 br i1 %t189, label %ixok36, label %ixbad37 ixbad37: store i32 5489, ptr @lp_site %t190 = call ptr @lp_win_stdio(i32 2) store i32 0, ptr @lp_site call i32 (ptr, ptr, ...) @fprintf(ptr %t190, ptr @.fmt_bounds, ptr @.str8894, i32 2, i32 %t188) call void @exit(i32 1) unreachable ixok36: %t191 = getelementptr inbounds ptr, ptr %t186, i32 2 %t192 = load ptr, ptr %t191 %t193 = call ptr @fn_emit_expr(ptr %t192) store ptr %t193, ptr %t194 %t195 = load ptr, ptr %t168 %t196 = getelementptr inbounds %Cmp_Val, ptr %t195, i32 0, i32 0 %t197 = load ptr, ptr %t196 %t198 = load ptr, ptr %t181 %t199 = getelementptr inbounds %Cmp_Val, ptr %t198, i32 0, i32 0 %t200 = load ptr, ptr %t199 %t201 = load ptr, ptr %t194 %t202 = getelementptr inbounds %Cmp_Val, ptr %t201, i32 0, i32 0 %t203 = load ptr, ptr %t202 %t204 = call ptr @fn_fx_lerp_code(ptr %t197, ptr %t200, ptr %t203) %t205 = call ptr @fn_val(ptr %t204, ptr @.str8895) store ptr %t205, ptr %retval br label %ret ifend31: %t206 = load ptr, ptr %t0 %t207 = call i32 @lp_str_eq(ptr %t206, ptr @.str8896) %t208 = icmp ne i32 %t207, 0 br i1 %t208, label %then38, label %ifend40 then38: %t209 = load ptr, ptr %t1 %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 = getelementptr inbounds %LSlice, ptr %t211, i32 0, i32 1 %t215 = load i32, ptr %t214 %t216 = icmp ult i32 0, %t215 br i1 %t216, label %ixok41, label %ixbad42 ixbad42: store i32 5490, ptr @lp_site %t217 = call ptr @lp_win_stdio(i32 2) store i32 0, ptr @lp_site call i32 (ptr, ptr, ...) @fprintf(ptr %t217, ptr @.fmt_bounds, ptr @.str8897, i32 0, i32 %t215) call void @exit(i32 1) unreachable ixok41: %t218 = getelementptr inbounds ptr, ptr %t213, i32 0 %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 %LSlice, ptr %t224, i32 0, i32 1 %t228 = load i32, ptr %t227 %t229 = icmp ult i32 1, %t228 br i1 %t229, label %ixok43, label %ixbad44 ixbad44: store i32 5491, ptr @lp_site %t230 = call ptr @lp_win_stdio(i32 2) store i32 0, ptr @lp_site call i32 (ptr, ptr, ...) @fprintf(ptr %t230, ptr @.fmt_bounds, ptr @.str8898, i32 1, i32 %t228) call void @exit(i32 1) unreachable ixok43: %t231 = getelementptr inbounds ptr, ptr %t226, i32 1 %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 %LSlice, ptr %t237, i32 0, i32 1 %t241 = load i32, ptr %t240 %t242 = icmp ult i32 2, %t241 br i1 %t242, label %ixok45, label %ixbad46 ixbad46: store i32 5492, ptr @lp_site %t243 = call ptr @lp_win_stdio(i32 2) store i32 0, ptr @lp_site call i32 (ptr, ptr, ...) @fprintf(ptr %t243, ptr @.fmt_bounds, ptr @.str8899, i32 2, i32 %t241) call void @exit(i32 1) unreachable ixok45: %t244 = getelementptr inbounds ptr, ptr %t239, i32 2 %t245 = load ptr, ptr %t244 %t246 = call ptr @fn_emit_expr(ptr %t245) store ptr %t246, ptr %t247 %t248 = load ptr, ptr %t221 %t249 = getelementptr inbounds %Cmp_Val, ptr %t248, i32 0, i32 0 %t250 = load ptr, ptr %t249 %t251 = load ptr, ptr %t234 %t252 = getelementptr inbounds %Cmp_Val, ptr %t251, i32 0, i32 0 %t253 = load ptr, ptr %t252 %t254 = load ptr, ptr %t247 %t255 = getelementptr inbounds %Cmp_Val, ptr %t254, i32 0, i32 0 %t256 = load ptr, ptr %t255 %t257 = call ptr @fn_fx_inv_lerp_code(ptr %t250, ptr %t253, ptr %t256) %t258 = call ptr @fn_val(ptr %t257, ptr @.str8900) store ptr %t258, ptr %retval br label %ret ifend40: %t259 = load ptr, ptr %t0 %t260 = call i32 @lp_str_eq(ptr %t259, ptr @.str8901) %t261 = icmp ne i32 %t260, 0 br i1 %t261, label %then47, label %ifend49 then47: store i32 1, ptr @g_g_uses_mathrt %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 %LSlice, ptr %t264, i32 0, i32 1 %t268 = load i32, ptr %t267 %t269 = icmp ult i32 0, %t268 br i1 %t269, label %ixok50, label %ixbad51 ixbad51: store i32 5493, ptr @lp_site %t270 = call ptr @lp_win_stdio(i32 2) store i32 0, ptr @lp_site call i32 (ptr, ptr, ...) @fprintf(ptr %t270, ptr @.fmt_bounds, ptr @.str8902, i32 0, i32 %t268) call void @exit(i32 1) unreachable ixok50: %t271 = getelementptr inbounds ptr, ptr %t266, i32 0 %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 store i32 5494, ptr @lp_site %t278 = call ptr @lp_str_concat(ptr @.str8903, ptr %t277) store i32 0, ptr @lp_site store i32 5495, ptr @lp_site %t279 = call ptr @lp_str_concat(ptr %t278, ptr @.str8904) store i32 0, ptr @lp_site call void @lp_free(ptr %t278) %t280 = call ptr @fn_emit_bind(ptr %t279) %t281 = call ptr @fn_val(ptr %t280, ptr @.str8905) store ptr %t281, ptr %retval br label %ret ifend49: %t282 = load ptr, ptr %t0 %t283 = call i32 @lp_str_eq(ptr %t282, ptr @.str8906) %t284 = icmp ne i32 %t283, 0 br i1 %t284, label %then52, label %ifend54 then52: store i32 1, ptr @g_g_uses_mathrt %t285 = load ptr, ptr %t1 %t286 = getelementptr inbounds %Cmp_Node, ptr %t285, i32 0, i32 7 %t287 = load ptr, ptr %t286 %t288 = getelementptr inbounds %LSlice, ptr %t287, i32 0, i32 0 %t289 = load ptr, ptr %t288 %t290 = getelementptr inbounds %LSlice, ptr %t287, i32 0, i32 1 %t291 = load i32, ptr %t290 %t292 = icmp ult i32 0, %t291 br i1 %t292, label %ixok55, label %ixbad56 ixbad56: store i32 5496, ptr @lp_site %t293 = call ptr @lp_win_stdio(i32 2) store i32 0, ptr @lp_site call i32 (ptr, ptr, ...) @fprintf(ptr %t293, ptr @.fmt_bounds, ptr @.str8907, i32 0, i32 %t291) call void @exit(i32 1) unreachable ixok55: %t294 = getelementptr inbounds ptr, ptr %t289, i32 0 %t295 = load ptr, ptr %t294 %t296 = call ptr @fn_emit_expr(ptr %t295) store ptr %t296, ptr %t297 %t298 = load ptr, ptr %t297 %t299 = getelementptr inbounds %Cmp_Val, ptr %t298, i32 0, i32 0 %t300 = load ptr, ptr %t299 store i32 5497, ptr @lp_site %t301 = call ptr @lp_str_concat(ptr @.str8908, ptr %t300) store i32 0, ptr @lp_site store i32 5498, ptr @lp_site %t302 = call ptr @lp_str_concat(ptr %t301, ptr @.str8909) store i32 0, ptr @lp_site call void @lp_free(ptr %t301) %t303 = call ptr @fn_emit_bind(ptr %t302) %t304 = call ptr @fn_val(ptr %t303, ptr @.str8910) store ptr %t304, ptr %retval br label %ret ifend54: %t305 = load ptr, ptr %t0 %t306 = call i32 @lp_str_eq(ptr %t305, ptr @.str8911) %t307 = icmp ne i32 %t306, 0 br i1 %t307, label %then57, label %ifend59 then57: store i32 1, ptr @g_g_uses_mathrt %t308 = load ptr, ptr %t1 %t309 = getelementptr inbounds %Cmp_Node, ptr %t308, i32 0, i32 7 %t310 = load ptr, ptr %t309 %t311 = getelementptr inbounds %LSlice, ptr %t310, i32 0, i32 0 %t312 = load ptr, ptr %t311 %t313 = getelementptr inbounds %LSlice, ptr %t310, i32 0, i32 1 %t314 = load i32, ptr %t313 %t315 = icmp ult i32 0, %t314 br i1 %t315, label %ixok60, label %ixbad61 ixbad61: store i32 5499, ptr @lp_site %t316 = call ptr @lp_win_stdio(i32 2) store i32 0, ptr @lp_site call i32 (ptr, ptr, ...) @fprintf(ptr %t316, ptr @.fmt_bounds, ptr @.str8912, i32 0, i32 %t314) call void @exit(i32 1) unreachable ixok60: %t317 = getelementptr inbounds ptr, ptr %t312, i32 0 %t318 = load ptr, ptr %t317 %t319 = call ptr @fn_emit_expr(ptr %t318) store ptr %t319, ptr %t320 %t321 = load ptr, ptr %t320 %t322 = getelementptr inbounds %Cmp_Val, ptr %t321, i32 0, i32 0 %t323 = load ptr, ptr %t322 store i32 5500, ptr @lp_site %t324 = call ptr @lp_str_concat(ptr @.str8913, ptr %t323) store i32 0, ptr @lp_site store i32 5501, ptr @lp_site %t325 = call ptr @lp_str_concat(ptr %t324, ptr @.str8914) store i32 0, ptr @lp_site call void @lp_free(ptr %t324) %t326 = call ptr @fn_emit_bind(ptr %t325) store ptr %t326, ptr %t327 %t328 = load ptr, ptr %t327 store i32 5502, ptr @lp_site %t329 = call ptr @lp_str_concat(ptr @.str8915, ptr %t328) store i32 0, ptr @lp_site store i32 5503, ptr @lp_site %t330 = call ptr @lp_str_concat(ptr %t329, ptr @.str8916) store i32 0, ptr @lp_site call void @lp_free(ptr %t329) %t331 = call ptr @fn_emit_bind(ptr %t330) %t332 = call ptr @fn_val(ptr %t331, ptr @.str8917) store ptr %t332, ptr %retval br label %ret ifend59: %t333 = load ptr, ptr %t0 %t334 = call i32 @lp_str_eq(ptr %t333, ptr @.str8918) %t335 = icmp ne i32 %t334, 0 br i1 %t335, label %then62, label %ifend64 then62: store i32 1, ptr @g_g_uses_mathrt %t336 = load ptr, ptr %t1 %t337 = getelementptr inbounds %Cmp_Node, ptr %t336, i32 0, i32 7 %t338 = load ptr, ptr %t337 %t339 = getelementptr inbounds %LSlice, ptr %t338, i32 0, i32 0 %t340 = load ptr, ptr %t339 %t341 = getelementptr inbounds %LSlice, ptr %t338, i32 0, i32 1 %t342 = load i32, ptr %t341 %t343 = icmp ult i32 0, %t342 br i1 %t343, label %ixok65, label %ixbad66 ixbad66: store i32 5504, ptr @lp_site %t344 = call ptr @lp_win_stdio(i32 2) store i32 0, ptr @lp_site call i32 (ptr, ptr, ...) @fprintf(ptr %t344, ptr @.fmt_bounds, ptr @.str8919, i32 0, i32 %t342) call void @exit(i32 1) unreachable ixok65: %t345 = getelementptr inbounds ptr, ptr %t340, i32 0 %t346 = load ptr, ptr %t345 %t347 = call ptr @fn_emit_expr(ptr %t346) store ptr %t347, ptr %t348 %t349 = load ptr, ptr %t348 %t350 = getelementptr inbounds %Cmp_Val, ptr %t349, i32 0, i32 0 %t351 = load ptr, ptr %t350 store i32 5505, ptr @lp_site %t352 = call ptr @lp_str_concat(ptr @.str8920, ptr %t351) store i32 0, ptr @lp_site store i32 5506, ptr @lp_site %t353 = call ptr @lp_str_concat(ptr %t352, ptr @.str8921) store i32 0, ptr @lp_site call void @lp_free(ptr %t352) %t354 = call ptr @fn_emit_bind(ptr %t353) store ptr %t354, ptr %t355 %t356 = load ptr, ptr %t348 %t357 = getelementptr inbounds %Cmp_Val, ptr %t356, i32 0, i32 0 %t358 = load ptr, ptr %t357 store i32 5507, ptr @lp_site %t359 = call ptr @lp_str_concat(ptr @.str8922, ptr %t358) store i32 0, ptr @lp_site store i32 5508, ptr @lp_site %t360 = call ptr @lp_str_concat(ptr %t359, ptr @.str8923) store i32 0, ptr @lp_site call void @lp_free(ptr %t359) %t361 = call ptr @fn_emit_bind(ptr %t360) store ptr %t361, ptr %t362 %t363 = load ptr, ptr %t362 store i32 5509, ptr @lp_site %t364 = call ptr @lp_str_concat(ptr @.str8924, ptr %t363) store i32 0, ptr @lp_site store i32 5510, ptr @lp_site %t365 = call ptr @lp_str_concat(ptr %t364, ptr @.str8925) store i32 0, ptr @lp_site call void @lp_free(ptr %t364) %t366 = call ptr @fn_emit_bind(ptr %t365) store ptr %t366, ptr %t367 %t368 = load ptr, ptr %t355 %t369 = load ptr, ptr %t367 %t370 = call ptr @fn_fx_div_code(ptr %t368, ptr %t369) %t371 = call ptr @fn_val(ptr %t370, ptr @.str8926) store ptr %t371, ptr %retval br label %ret ifend64: %t372 = load ptr, ptr %t0 %t373 = call i32 @lp_str_eq(ptr %t372, ptr @.str8927) %t374 = icmp ne i32 %t373, 0 br i1 %t374, label %then67, label %ifend69 then67: store i32 1, ptr @g_g_uses_mathrt %t375 = load ptr, ptr %t1 %t376 = getelementptr inbounds %Cmp_Node, ptr %t375, i32 0, i32 7 %t377 = load ptr, ptr %t376 %t378 = getelementptr inbounds %LSlice, ptr %t377, i32 0, i32 0 %t379 = load ptr, ptr %t378 %t380 = getelementptr inbounds %LSlice, ptr %t377, i32 0, i32 1 %t381 = load i32, ptr %t380 %t382 = icmp ult i32 0, %t381 br i1 %t382, label %ixok70, label %ixbad71 ixbad71: store i32 5511, ptr @lp_site %t383 = call ptr @lp_win_stdio(i32 2) store i32 0, ptr @lp_site call i32 (ptr, ptr, ...) @fprintf(ptr %t383, ptr @.fmt_bounds, ptr @.str8928, i32 0, i32 %t381) call void @exit(i32 1) unreachable ixok70: %t384 = getelementptr inbounds ptr, ptr %t379, i32 0 %t385 = load ptr, ptr %t384 %t386 = call ptr @fn_emit_expr(ptr %t385) store ptr %t386, ptr %t387 %t388 = load ptr, ptr %t1 %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 0 %t392 = load ptr, ptr %t391 %t393 = getelementptr inbounds %LSlice, ptr %t390, i32 0, i32 1 %t394 = load i32, ptr %t393 %t395 = icmp ult i32 1, %t394 br i1 %t395, label %ixok72, label %ixbad73 ixbad73: store i32 5512, ptr @lp_site %t396 = call ptr @lp_win_stdio(i32 2) store i32 0, ptr @lp_site call i32 (ptr, ptr, ...) @fprintf(ptr %t396, ptr @.fmt_bounds, ptr @.str8929, i32 1, i32 %t394) call void @exit(i32 1) unreachable ixok72: %t397 = getelementptr inbounds ptr, ptr %t392, i32 1 %t398 = load ptr, ptr %t397 %t399 = call ptr @fn_emit_expr(ptr %t398) store ptr %t399, ptr %t400 %t401 = load ptr, ptr %t387 %t402 = getelementptr inbounds %Cmp_Val, ptr %t401, i32 0, i32 0 %t403 = load ptr, ptr %t402 store i32 5513, ptr @lp_site %t404 = call ptr @lp_str_concat(ptr @.str8930, ptr %t403) store i32 0, ptr @lp_site store i32 5514, ptr @lp_site %t405 = call ptr @lp_str_concat(ptr %t404, ptr @.str8931) store i32 0, ptr @lp_site call void @lp_free(ptr %t404) %t406 = load ptr, ptr %t400 %t407 = getelementptr inbounds %Cmp_Val, ptr %t406, i32 0, i32 0 %t408 = load ptr, ptr %t407 store i32 5515, ptr @lp_site %t409 = call ptr @lp_str_concat(ptr %t405, ptr %t408) store i32 0, ptr @lp_site call void @lp_free(ptr %t405) store i32 5516, ptr @lp_site %t410 = call ptr @lp_str_concat(ptr %t409, ptr @.str8932) store i32 0, ptr @lp_site call void @lp_free(ptr %t409) %t411 = call ptr @fn_emit_bind(ptr %t410) %t412 = call ptr @fn_val(ptr %t411, ptr @.str8933) store ptr %t412, ptr %retval br label %ret ifend69: %t413 = load ptr, ptr %t0 %t414 = call i32 @lp_str_eq(ptr %t413, ptr @.str8934) %t415 = icmp ne i32 %t414, 0 br i1 %t415, label %then74, label %ifend76 then74: store i32 1, ptr @g_g_uses_mathrt %t416 = load ptr, ptr %t1 %t417 = getelementptr inbounds %Cmp_Node, ptr %t416, i32 0, i32 7 %t418 = load ptr, ptr %t417 %t419 = getelementptr inbounds %LSlice, ptr %t418, i32 0, i32 0 %t420 = load ptr, ptr %t419 %t421 = getelementptr inbounds %LSlice, ptr %t418, i32 0, i32 1 %t422 = load i32, ptr %t421 %t423 = icmp ult i32 0, %t422 br i1 %t423, label %ixok77, label %ixbad78 ixbad78: store i32 5517, ptr @lp_site %t424 = call ptr @lp_win_stdio(i32 2) store i32 0, ptr @lp_site call i32 (ptr, ptr, ...) @fprintf(ptr %t424, ptr @.fmt_bounds, ptr @.str8935, i32 0, i32 %t422) call void @exit(i32 1) unreachable ixok77: %t425 = getelementptr inbounds ptr, ptr %t420, i32 0 %t426 = load ptr, ptr %t425 %t427 = call ptr @fn_emit_expr(ptr %t426) store ptr %t427, ptr %t428 %t429 = load ptr, ptr %t428 %t430 = getelementptr inbounds %Cmp_Val, ptr %t429, i32 0, i32 0 %t431 = load ptr, ptr %t430 %t432 = load ptr, ptr %t428 %t433 = getelementptr inbounds %Cmp_Val, ptr %t432, i32 0, i32 0 %t434 = load ptr, ptr %t433 %t435 = call ptr @fn_fx_mul_code(ptr %t431, ptr %t434) store ptr %t435, ptr %t436 %t437 = load ptr, ptr %t436 store i32 5518, ptr @lp_site %t438 = call ptr @lp_str_concat(ptr @.str8936, ptr %t437) store i32 0, ptr @lp_site %t439 = call ptr @fn_emit_bind(ptr %t438) store ptr %t439, ptr %t440 %t441 = load ptr, ptr %t440 store i32 5519, ptr @lp_site %t442 = call ptr @lp_str_concat(ptr @.str8937, ptr %t441) store i32 0, ptr @lp_site store i32 5520, ptr @lp_site %t443 = call ptr @lp_str_concat(ptr %t442, ptr @.str8938) store i32 0, ptr @lp_site call void @lp_free(ptr %t442) %t444 = call ptr @fn_emit_bind(ptr %t443) store ptr %t444, ptr %t445 %t446 = load ptr, ptr %t428 %t447 = getelementptr inbounds %Cmp_Val, ptr %t446, i32 0, i32 0 %t448 = load ptr, ptr %t447 store i32 5521, ptr @lp_site %t449 = call ptr @lp_str_concat(ptr @.str8939, ptr %t448) store i32 0, ptr @lp_site store i32 5522, ptr @lp_site %t450 = call ptr @lp_str_concat(ptr %t449, ptr @.str8940) store i32 0, ptr @lp_site call void @lp_free(ptr %t449) %t451 = load ptr, ptr %t445 store i32 5523, ptr @lp_site %t452 = call ptr @lp_str_concat(ptr %t450, ptr %t451) store i32 0, ptr @lp_site call void @lp_free(ptr %t450) store i32 5524, ptr @lp_site %t453 = call ptr @lp_str_concat(ptr %t452, ptr @.str8941) store i32 0, ptr @lp_site call void @lp_free(ptr %t452) %t454 = call ptr @fn_emit_bind(ptr %t453) %t455 = call ptr @fn_val(ptr %t454, ptr @.str8942) store ptr %t455, ptr %retval br label %ret ifend76: %t456 = load ptr, ptr %t0 %t457 = call i32 @lp_str_eq(ptr %t456, ptr @.str8943) %t458 = icmp ne i32 %t457, 0 br i1 %t458, label %then79, label %ifend81 then79: store i32 1, ptr @g_g_uses_mathrt %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 %LSlice, ptr %t461, i32 0, i32 1 %t465 = load i32, ptr %t464 %t466 = icmp ult i32 0, %t465 br i1 %t466, label %ixok82, label %ixbad83 ixbad83: store i32 5525, ptr @lp_site %t467 = call ptr @lp_win_stdio(i32 2) store i32 0, ptr @lp_site call i32 (ptr, ptr, ...) @fprintf(ptr %t467, ptr @.fmt_bounds, ptr @.str8944, i32 0, i32 %t465) call void @exit(i32 1) unreachable ixok82: %t468 = getelementptr inbounds ptr, ptr %t463, i32 0 %t469 = load ptr, ptr %t468 %t470 = call ptr @fn_emit_expr(ptr %t469) store ptr %t470, ptr %t471 %t472 = load ptr, ptr %t471 %t473 = getelementptr inbounds %Cmp_Val, ptr %t472, i32 0, i32 0 %t474 = load ptr, ptr %t473 %t475 = load ptr, ptr %t471 %t476 = getelementptr inbounds %Cmp_Val, ptr %t475, i32 0, i32 0 %t477 = load ptr, ptr %t476 %t478 = call ptr @fn_fx_mul_code(ptr %t474, ptr %t477) store ptr %t478, ptr %t479 %t480 = load ptr, ptr %t479 store i32 5526, ptr @lp_site %t481 = call ptr @lp_str_concat(ptr @.str8945, ptr %t480) store i32 0, ptr @lp_site %t482 = call ptr @fn_emit_bind(ptr %t481) store ptr %t482, ptr %t483 %t484 = load ptr, ptr %t483 store i32 5527, ptr @lp_site %t485 = call ptr @lp_str_concat(ptr @.str8946, ptr %t484) store i32 0, ptr @lp_site store i32 5528, ptr @lp_site %t486 = call ptr @lp_str_concat(ptr %t485, ptr @.str8947) store i32 0, ptr @lp_site call void @lp_free(ptr %t485) %t487 = call ptr @fn_emit_bind(ptr %t486) store ptr %t487, ptr %t488 %t489 = load ptr, ptr %t488 store i32 5529, ptr @lp_site %t490 = call ptr @lp_str_concat(ptr @.str8948, ptr %t489) store i32 0, ptr @lp_site store i32 5530, ptr @lp_site %t491 = call ptr @lp_str_concat(ptr %t490, ptr @.str8949) store i32 0, ptr @lp_site call void @lp_free(ptr %t490) %t492 = load ptr, ptr %t471 %t493 = getelementptr inbounds %Cmp_Val, ptr %t492, i32 0, i32 0 %t494 = load ptr, ptr %t493 store i32 5531, ptr @lp_site %t495 = call ptr @lp_str_concat(ptr %t491, ptr %t494) store i32 0, ptr @lp_site call void @lp_free(ptr %t491) store i32 5532, ptr @lp_site %t496 = call ptr @lp_str_concat(ptr %t495, ptr @.str8950) store i32 0, ptr @lp_site call void @lp_free(ptr %t495) %t497 = call ptr @fn_emit_bind(ptr %t496) %t498 = call ptr @fn_val(ptr %t497, ptr @.str8951) store ptr %t498, ptr %retval br label %ret ifend81: %t499 = load ptr, ptr %t0 %t500 = call i32 @lp_str_eq(ptr %t499, ptr @.str8952) %t501 = icmp ne i32 %t500, 0 br i1 %t501, label %then84, label %ifend86 then84: store i32 1, ptr @g_g_uses_mathrt %t502 = load ptr, ptr %t1 %t503 = getelementptr inbounds %Cmp_Node, ptr %t502, i32 0, i32 7 %t504 = load ptr, ptr %t503 %t505 = getelementptr inbounds %LSlice, ptr %t504, i32 0, i32 0 %t506 = load ptr, ptr %t505 %t507 = getelementptr inbounds %LSlice, ptr %t504, i32 0, i32 1 %t508 = load i32, ptr %t507 %t509 = icmp ult i32 0, %t508 br i1 %t509, label %ixok87, label %ixbad88 ixbad88: store i32 5533, ptr @lp_site %t510 = call ptr @lp_win_stdio(i32 2) store i32 0, ptr @lp_site call i32 (ptr, ptr, ...) @fprintf(ptr %t510, ptr @.fmt_bounds, ptr @.str8953, i32 0, i32 %t508) call void @exit(i32 1) unreachable ixok87: %t511 = getelementptr inbounds ptr, ptr %t506, i32 0 %t512 = load ptr, ptr %t511 %t513 = call ptr @fn_emit_expr(ptr %t512) store ptr %t513, ptr %t514 %t515 = load ptr, ptr %t1 %t516 = getelementptr inbounds %Cmp_Node, ptr %t515, i32 0, i32 7 %t517 = load ptr, ptr %t516 %t518 = getelementptr inbounds %LSlice, ptr %t517, i32 0, i32 0 %t519 = load ptr, ptr %t518 %t520 = getelementptr inbounds %LSlice, ptr %t517, i32 0, i32 1 %t521 = load i32, ptr %t520 %t522 = icmp ult i32 1, %t521 br i1 %t522, label %ixok89, label %ixbad90 ixbad90: store i32 5534, ptr @lp_site %t523 = call ptr @lp_win_stdio(i32 2) store i32 0, ptr @lp_site call i32 (ptr, ptr, ...) @fprintf(ptr %t523, ptr @.fmt_bounds, ptr @.str8954, i32 1, i32 %t521) call void @exit(i32 1) unreachable ixok89: %t524 = getelementptr inbounds ptr, ptr %t519, i32 1 %t525 = load ptr, ptr %t524 %t526 = call ptr @fn_emit_expr(ptr %t525) store ptr %t526, ptr %t527 %t528 = load ptr, ptr %t514 %t529 = getelementptr inbounds %Cmp_Val, ptr %t528, i32 0, i32 0 %t530 = load ptr, ptr %t529 %t531 = load ptr, ptr %t514 %t532 = getelementptr inbounds %Cmp_Val, ptr %t531, i32 0, i32 0 %t533 = load ptr, ptr %t532 %t534 = call ptr @fn_fx_mul_code(ptr %t530, ptr %t533) store ptr %t534, ptr %t535 %t536 = load ptr, ptr %t527 %t537 = getelementptr inbounds %Cmp_Val, ptr %t536, i32 0, i32 0 %t538 = load ptr, ptr %t537 %t539 = load ptr, ptr %t527 %t540 = getelementptr inbounds %Cmp_Val, ptr %t539, i32 0, i32 0 %t541 = load ptr, ptr %t540 %t542 = call ptr @fn_fx_mul_code(ptr %t538, ptr %t541) store ptr %t542, ptr %t543 %t544 = load ptr, ptr %t535 store i32 5535, ptr @lp_site %t545 = call ptr @lp_str_concat(ptr @.str8955, ptr %t544) store i32 0, ptr @lp_site store i32 5536, ptr @lp_site %t546 = call ptr @lp_str_concat(ptr %t545, ptr @.str8956) store i32 0, ptr @lp_site call void @lp_free(ptr %t545) %t547 = load ptr, ptr %t543 store i32 5537, ptr @lp_site %t548 = call ptr @lp_str_concat(ptr %t546, ptr %t547) store i32 0, ptr @lp_site call void @lp_free(ptr %t546) %t549 = call ptr @fn_emit_bind(ptr %t548) store ptr %t549, ptr %t550 %t551 = load ptr, ptr %t550 store i32 5538, ptr @lp_site %t552 = call ptr @lp_str_concat(ptr @.str8957, ptr %t551) store i32 0, ptr @lp_site store i32 5539, ptr @lp_site %t553 = call ptr @lp_str_concat(ptr %t552, ptr @.str8958) store i32 0, ptr @lp_site call void @lp_free(ptr %t552) %t554 = call ptr @fn_emit_bind(ptr %t553) %t555 = call ptr @fn_val(ptr %t554, ptr @.str8959) store ptr %t555, ptr %retval br label %ret ifend86: %t556 = load ptr, ptr %t0 %t557 = call i32 @lp_str_eq(ptr %t556, ptr @.str8960) %t558 = icmp ne i32 %t557, 0 br i1 %t558, label %then91, label %ifend93 then91: %t559 = load ptr, ptr %t1 %t560 = getelementptr inbounds %Cmp_Node, ptr %t559, i32 0, i32 7 %t561 = load ptr, ptr %t560 %t562 = getelementptr inbounds %LSlice, ptr %t561, i32 0, i32 0 %t563 = load ptr, ptr %t562 %t564 = getelementptr inbounds %LSlice, ptr %t561, i32 0, i32 1 %t565 = load i32, ptr %t564 %t566 = icmp ult i32 0, %t565 br i1 %t566, label %ixok94, label %ixbad95 ixbad95: store i32 5540, ptr @lp_site %t567 = call ptr @lp_win_stdio(i32 2) store i32 0, ptr @lp_site call i32 (ptr, ptr, ...) @fprintf(ptr %t567, ptr @.fmt_bounds, ptr @.str8961, i32 0, i32 %t565) call void @exit(i32 1) unreachable ixok94: %t568 = getelementptr inbounds ptr, ptr %t563, i32 0 %t569 = load ptr, ptr %t568 %t570 = call ptr @fn_emit_expr(ptr %t569) store ptr %t570, ptr %t571 %t572 = load ptr, ptr %t1 %t573 = getelementptr inbounds %Cmp_Node, ptr %t572, i32 0, i32 7 %t574 = load ptr, ptr %t573 %t575 = getelementptr inbounds %LSlice, ptr %t574, i32 0, i32 0 %t576 = load ptr, ptr %t575 %t577 = getelementptr inbounds %LSlice, ptr %t574, i32 0, i32 1 %t578 = load i32, ptr %t577 %t579 = icmp ult i32 1, %t578 br i1 %t579, label %ixok96, label %ixbad97 ixbad97: store i32 5541, ptr @lp_site %t580 = call ptr @lp_win_stdio(i32 2) store i32 0, ptr @lp_site call i32 (ptr, ptr, ...) @fprintf(ptr %t580, ptr @.fmt_bounds, ptr @.str8962, i32 1, i32 %t578) call void @exit(i32 1) unreachable ixok96: %t581 = getelementptr inbounds ptr, ptr %t576, i32 1 %t582 = load ptr, ptr %t581 %t583 = call ptr @fn_emit_expr(ptr %t582) store ptr %t583, ptr %t584 %t585 = load ptr, ptr %t1 %t586 = getelementptr inbounds %Cmp_Node, ptr %t585, i32 0, i32 7 %t587 = load ptr, ptr %t586 %t588 = getelementptr inbounds %LSlice, ptr %t587, i32 0, i32 0 %t589 = load ptr, ptr %t588 %t590 = getelementptr inbounds %LSlice, ptr %t587, i32 0, i32 1 %t591 = load i32, ptr %t590 %t592 = icmp ult i32 2, %t591 br i1 %t592, label %ixok98, label %ixbad99 ixbad99: store i32 5542, ptr @lp_site %t593 = call ptr @lp_win_stdio(i32 2) store i32 0, ptr @lp_site call i32 (ptr, ptr, ...) @fprintf(ptr %t593, ptr @.fmt_bounds, ptr @.str8963, i32 2, i32 %t591) call void @exit(i32 1) unreachable ixok98: %t594 = getelementptr inbounds ptr, ptr %t589, i32 2 %t595 = load ptr, ptr %t594 %t596 = call ptr @fn_emit_expr(ptr %t595) store ptr %t596, ptr %t597 %t598 = load ptr, ptr %t1 %t599 = getelementptr inbounds %Cmp_Node, ptr %t598, i32 0, i32 7 %t600 = load ptr, ptr %t599 %t601 = getelementptr inbounds %LSlice, ptr %t600, i32 0, i32 0 %t602 = load ptr, ptr %t601 %t603 = getelementptr inbounds %LSlice, ptr %t600, i32 0, i32 1 %t604 = load i32, ptr %t603 %t605 = icmp ult i32 3, %t604 br i1 %t605, label %ixok100, label %ixbad101 ixbad101: store i32 5543, ptr @lp_site %t606 = call ptr @lp_win_stdio(i32 2) store i32 0, ptr @lp_site call i32 (ptr, ptr, ...) @fprintf(ptr %t606, ptr @.fmt_bounds, ptr @.str8964, i32 3, i32 %t604) call void @exit(i32 1) unreachable ixok100: %t607 = getelementptr inbounds ptr, ptr %t602, i32 3 %t608 = load ptr, ptr %t607 %t609 = call ptr @fn_emit_expr(ptr %t608) store ptr %t609, ptr %t610 %t611 = load ptr, ptr %t597 %t612 = getelementptr inbounds %Cmp_Val, ptr %t611, i32 0, i32 0 %t613 = load ptr, ptr %t612 store i32 5544, ptr @lp_site %t614 = call ptr @lp_str_concat(ptr @.str8965, ptr %t613) store i32 0, ptr @lp_site store i32 5545, ptr @lp_site %t615 = call ptr @lp_str_concat(ptr %t614, ptr @.str8966) store i32 0, ptr @lp_site call void @lp_free(ptr %t614) %t616 = load ptr, ptr %t571 %t617 = getelementptr inbounds %Cmp_Val, ptr %t616, i32 0, i32 0 %t618 = load ptr, ptr %t617 store i32 5546, ptr @lp_site %t619 = call ptr @lp_str_concat(ptr %t615, ptr %t618) store i32 0, ptr @lp_site call void @lp_free(ptr %t615) %t620 = call ptr @fn_emit_bind(ptr %t619) store ptr %t620, ptr %t621 %t622 = load ptr, ptr %t610 %t623 = getelementptr inbounds %Cmp_Val, ptr %t622, i32 0, i32 0 %t624 = load ptr, ptr %t623 store i32 5547, ptr @lp_site %t625 = call ptr @lp_str_concat(ptr @.str8967, ptr %t624) store i32 0, ptr @lp_site store i32 5548, ptr @lp_site %t626 = call ptr @lp_str_concat(ptr %t625, ptr @.str8968) store i32 0, ptr @lp_site call void @lp_free(ptr %t625) %t627 = load ptr, ptr %t584 %t628 = getelementptr inbounds %Cmp_Val, ptr %t627, i32 0, i32 0 %t629 = load ptr, ptr %t628 store i32 5549, ptr @lp_site %t630 = call ptr @lp_str_concat(ptr %t626, ptr %t629) store i32 0, ptr @lp_site call void @lp_free(ptr %t626) %t631 = call ptr @fn_emit_bind(ptr %t630) store ptr %t631, ptr %t632 %t633 = load ptr, ptr %t621 %t634 = load ptr, ptr %t621 %t635 = call ptr @fn_fx_mul_code(ptr %t633, ptr %t634) store ptr %t635, ptr %t636 %t637 = load ptr, ptr %t632 %t638 = load ptr, ptr %t632 %t639 = call ptr @fn_fx_mul_code(ptr %t637, ptr %t638) store ptr %t639, ptr %t640 %t641 = load ptr, ptr %t636 store i32 5550, ptr @lp_site %t642 = call ptr @lp_str_concat(ptr @.str8969, ptr %t641) store i32 0, ptr @lp_site store i32 5551, ptr @lp_site %t643 = call ptr @lp_str_concat(ptr %t642, ptr @.str8970) store i32 0, ptr @lp_site call void @lp_free(ptr %t642) %t644 = load ptr, ptr %t640 store i32 5552, ptr @lp_site %t645 = call ptr @lp_str_concat(ptr %t643, ptr %t644) store i32 0, ptr @lp_site call void @lp_free(ptr %t643) %t646 = call ptr @fn_emit_bind(ptr %t645) %t647 = call ptr @fn_val(ptr %t646, ptr @.str8971) store ptr %t647, ptr %retval br label %ret ifend93: %t648 = load ptr, ptr %t0 %t649 = call i32 @lp_str_eq(ptr %t648, ptr @.str8972) %t650 = icmp ne i32 %t649, 0 br i1 %t650, label %then102, label %ifend104 then102: store i32 1, ptr @g_g_uses_mathrt %t651 = load ptr, ptr %t1 %t652 = getelementptr inbounds %Cmp_Node, ptr %t651, i32 0, i32 7 %t653 = load ptr, ptr %t652 %t654 = getelementptr inbounds %LSlice, ptr %t653, i32 0, i32 0 %t655 = load ptr, ptr %t654 %t656 = getelementptr inbounds %LSlice, ptr %t653, i32 0, i32 1 %t657 = load i32, ptr %t656 %t658 = icmp ult i32 0, %t657 br i1 %t658, label %ixok105, label %ixbad106 ixbad106: store i32 5553, ptr @lp_site %t659 = call ptr @lp_win_stdio(i32 2) store i32 0, ptr @lp_site call i32 (ptr, ptr, ...) @fprintf(ptr %t659, ptr @.fmt_bounds, ptr @.str8973, i32 0, i32 %t657) call void @exit(i32 1) unreachable ixok105: %t660 = getelementptr inbounds ptr, ptr %t655, i32 0 %t661 = load ptr, ptr %t660 %t662 = call ptr @fn_emit_expr(ptr %t661) store ptr %t662, ptr %t663 %t664 = load ptr, ptr %t1 %t665 = getelementptr inbounds %Cmp_Node, ptr %t664, i32 0, i32 7 %t666 = load ptr, ptr %t665 %t667 = getelementptr inbounds %LSlice, ptr %t666, i32 0, i32 0 %t668 = load ptr, ptr %t667 %t669 = getelementptr inbounds %LSlice, ptr %t666, i32 0, i32 1 %t670 = load i32, ptr %t669 %t671 = icmp ult i32 1, %t670 br i1 %t671, label %ixok107, label %ixbad108 ixbad108: store i32 5554, ptr @lp_site %t672 = call ptr @lp_win_stdio(i32 2) store i32 0, ptr @lp_site call i32 (ptr, ptr, ...) @fprintf(ptr %t672, ptr @.fmt_bounds, ptr @.str8974, i32 1, i32 %t670) call void @exit(i32 1) unreachable ixok107: %t673 = getelementptr inbounds ptr, ptr %t668, i32 1 %t674 = load ptr, ptr %t673 %t675 = call ptr @fn_emit_expr(ptr %t674) store ptr %t675, ptr %t676 %t677 = load ptr, ptr %t1 %t678 = getelementptr inbounds %Cmp_Node, ptr %t677, i32 0, i32 7 %t679 = load ptr, ptr %t678 %t680 = getelementptr inbounds %LSlice, ptr %t679, i32 0, i32 0 %t681 = load ptr, ptr %t680 %t682 = getelementptr inbounds %LSlice, ptr %t679, i32 0, i32 1 %t683 = load i32, ptr %t682 %t684 = icmp ult i32 2, %t683 br i1 %t684, label %ixok109, label %ixbad110 ixbad110: store i32 5555, ptr @lp_site %t685 = call ptr @lp_win_stdio(i32 2) store i32 0, ptr @lp_site call i32 (ptr, ptr, ...) @fprintf(ptr %t685, ptr @.fmt_bounds, ptr @.str8975, i32 2, i32 %t683) call void @exit(i32 1) unreachable ixok109: %t686 = getelementptr inbounds ptr, ptr %t681, i32 2 %t687 = load ptr, ptr %t686 %t688 = call ptr @fn_emit_expr(ptr %t687) store ptr %t688, ptr %t689 %t690 = load ptr, ptr %t1 %t691 = getelementptr inbounds %Cmp_Node, ptr %t690, i32 0, i32 7 %t692 = load ptr, ptr %t691 %t693 = getelementptr inbounds %LSlice, ptr %t692, i32 0, i32 0 %t694 = load ptr, ptr %t693 %t695 = getelementptr inbounds %LSlice, ptr %t692, i32 0, i32 1 %t696 = load i32, ptr %t695 %t697 = icmp ult i32 3, %t696 br i1 %t697, label %ixok111, label %ixbad112 ixbad112: store i32 5556, ptr @lp_site %t698 = call ptr @lp_win_stdio(i32 2) store i32 0, ptr @lp_site call i32 (ptr, ptr, ...) @fprintf(ptr %t698, ptr @.fmt_bounds, ptr @.str8976, i32 3, i32 %t696) call void @exit(i32 1) unreachable ixok111: %t699 = getelementptr inbounds ptr, ptr %t694, i32 3 %t700 = load ptr, ptr %t699 %t701 = call ptr @fn_emit_expr(ptr %t700) store ptr %t701, ptr %t702 %t703 = load ptr, ptr %t689 %t704 = getelementptr inbounds %Cmp_Val, ptr %t703, i32 0, i32 0 %t705 = load ptr, ptr %t704 store i32 5557, ptr @lp_site %t706 = call ptr @lp_str_concat(ptr @.str8977, ptr %t705) store i32 0, ptr @lp_site store i32 5558, ptr @lp_site %t707 = call ptr @lp_str_concat(ptr %t706, ptr @.str8978) store i32 0, ptr @lp_site call void @lp_free(ptr %t706) %t708 = load ptr, ptr %t663 %t709 = getelementptr inbounds %Cmp_Val, ptr %t708, i32 0, i32 0 %t710 = load ptr, ptr %t709 store i32 5559, ptr @lp_site %t711 = call ptr @lp_str_concat(ptr %t707, ptr %t710) store i32 0, ptr @lp_site call void @lp_free(ptr %t707) %t712 = call ptr @fn_emit_bind(ptr %t711) store ptr %t712, ptr %t713 %t714 = load ptr, ptr %t702 %t715 = getelementptr inbounds %Cmp_Val, ptr %t714, i32 0, i32 0 %t716 = load ptr, ptr %t715 store i32 5560, ptr @lp_site %t717 = call ptr @lp_str_concat(ptr @.str8979, ptr %t716) store i32 0, ptr @lp_site store i32 5561, ptr @lp_site %t718 = call ptr @lp_str_concat(ptr %t717, ptr @.str8980) store i32 0, ptr @lp_site call void @lp_free(ptr %t717) %t719 = load ptr, ptr %t676 %t720 = getelementptr inbounds %Cmp_Val, ptr %t719, i32 0, i32 0 %t721 = load ptr, ptr %t720 store i32 5562, ptr @lp_site %t722 = call ptr @lp_str_concat(ptr %t718, ptr %t721) store i32 0, ptr @lp_site call void @lp_free(ptr %t718) %t723 = call ptr @fn_emit_bind(ptr %t722) store ptr %t723, ptr %t724 %t725 = load ptr, ptr %t713 %t726 = load ptr, ptr %t713 %t727 = call ptr @fn_fx_mul_code(ptr %t725, ptr %t726) store ptr %t727, ptr %t728 %t729 = load ptr, ptr %t724 %t730 = load ptr, ptr %t724 %t731 = call ptr @fn_fx_mul_code(ptr %t729, ptr %t730) store ptr %t731, ptr %t732 %t733 = load ptr, ptr %t728 store i32 5563, ptr @lp_site %t734 = call ptr @lp_str_concat(ptr @.str8981, ptr %t733) store i32 0, ptr @lp_site store i32 5564, ptr @lp_site %t735 = call ptr @lp_str_concat(ptr %t734, ptr @.str8982) store i32 0, ptr @lp_site call void @lp_free(ptr %t734) %t736 = load ptr, ptr %t732 store i32 5565, ptr @lp_site %t737 = call ptr @lp_str_concat(ptr %t735, ptr %t736) store i32 0, ptr @lp_site call void @lp_free(ptr %t735) %t738 = call ptr @fn_emit_bind(ptr %t737) store ptr %t738, ptr %t739 %t740 = load ptr, ptr %t739 store i32 5566, ptr @lp_site %t741 = call ptr @lp_str_concat(ptr @.str8983, ptr %t740) store i32 0, ptr @lp_site store i32 5567, ptr @lp_site %t742 = call ptr @lp_str_concat(ptr %t741, ptr @.str8984) store i32 0, ptr @lp_site call void @lp_free(ptr %t741) %t743 = call ptr @fn_emit_bind(ptr %t742) %t744 = call ptr @fn_val(ptr %t743, ptr @.str8985) store ptr %t744, ptr %retval br label %ret ifend104: %t745 = load ptr, ptr %t0 %t746 = call i32 @lp_str_eq(ptr %t745, ptr @.str8986) %t747 = icmp ne i32 %t746, 0 br i1 %t747, label %then113, label %ifend115 then113: store i32 1, ptr @g_g_uses_mathrt %t748 = load ptr, ptr %t1 %t749 = getelementptr inbounds %Cmp_Node, ptr %t748, i32 0, i32 7 %t750 = load ptr, ptr %t749 %t751 = getelementptr inbounds %LSlice, ptr %t750, i32 0, i32 0 %t752 = load ptr, ptr %t751 %t753 = getelementptr inbounds %LSlice, ptr %t750, i32 0, i32 1 %t754 = load i32, ptr %t753 %t755 = icmp ult i32 0, %t754 br i1 %t755, label %ixok116, label %ixbad117 ixbad117: store i32 5568, ptr @lp_site %t756 = call ptr @lp_win_stdio(i32 2) store i32 0, ptr @lp_site call i32 (ptr, ptr, ...) @fprintf(ptr %t756, ptr @.fmt_bounds, ptr @.str8987, i32 0, i32 %t754) call void @exit(i32 1) unreachable ixok116: %t757 = getelementptr inbounds ptr, ptr %t752, i32 0 %t758 = load ptr, ptr %t757 %t759 = call ptr @fn_emit_expr(ptr %t758) store ptr %t759, ptr %t760 %t761 = load ptr, ptr %t760 %t762 = getelementptr inbounds %Cmp_Val, ptr %t761, i32 0, i32 0 %t763 = load ptr, ptr %t762 %t764 = call ptr @fn_fx_mul_code(ptr %t763, ptr @.str8988) store ptr %t764, ptr %t765 %t766 = load ptr, ptr %t765 store i32 5569, ptr @lp_site %t767 = call ptr @lp_str_concat(ptr @.str8989, ptr %t766) store i32 0, ptr @lp_site store i32 5570, ptr @lp_site %t768 = call ptr @lp_str_concat(ptr %t767, ptr @.str8990) store i32 0, ptr @lp_site call void @lp_free(ptr %t767) %t769 = call ptr @fn_emit_bind(ptr %t768) %t770 = call ptr @fn_val(ptr %t769, ptr @.str8991) store ptr %t770, ptr %retval br label %ret ifend115: %t771 = load ptr, ptr %t0 %t772 = call i32 @lp_str_eq(ptr %t771, ptr @.str8992) %t773 = icmp ne i32 %t772, 0 br i1 %t773, label %then118, label %ifend120 then118: store i32 1, ptr @g_g_uses_mathrt %t774 = load ptr, ptr %t1 %t775 = getelementptr inbounds %Cmp_Node, ptr %t774, i32 0, i32 7 %t776 = load ptr, ptr %t775 %t777 = getelementptr inbounds %LSlice, ptr %t776, i32 0, i32 0 %t778 = load ptr, ptr %t777 %t779 = getelementptr inbounds %LSlice, ptr %t776, i32 0, i32 1 %t780 = load i32, ptr %t779 %t781 = icmp ult i32 0, %t780 br i1 %t781, label %ixok121, label %ixbad122 ixbad122: store i32 5571, ptr @lp_site %t782 = call ptr @lp_win_stdio(i32 2) store i32 0, ptr @lp_site call i32 (ptr, ptr, ...) @fprintf(ptr %t782, ptr @.fmt_bounds, ptr @.str8993, i32 0, i32 %t780) call void @exit(i32 1) unreachable ixok121: %t783 = getelementptr inbounds ptr, ptr %t778, i32 0 %t784 = load ptr, ptr %t783 %t785 = call ptr @fn_emit_expr(ptr %t784) store ptr %t785, ptr %t786 %t787 = load ptr, ptr %t786 %t788 = getelementptr inbounds %Cmp_Val, ptr %t787, i32 0, i32 0 %t789 = load ptr, ptr %t788 store i32 5572, ptr @lp_site %t790 = call ptr @lp_str_concat(ptr @.str8994, ptr %t789) store i32 0, ptr @lp_site store i32 5573, ptr @lp_site %t791 = call ptr @lp_str_concat(ptr %t790, ptr @.str8995) store i32 0, ptr @lp_site call void @lp_free(ptr %t790) %t792 = call ptr @fn_emit_bind(ptr %t791) store ptr %t792, ptr %t793 %t794 = load ptr, ptr %t793 %t795 = call ptr @fn_fx_mul_code(ptr %t794, ptr @.str8996) %t796 = call ptr @fn_val(ptr %t795, ptr @.str8997) store ptr %t796, ptr %retval br label %ret ifend120: %t797 = load ptr, ptr %t0 %t798 = call i32 @lp_str_eq(ptr %t797, ptr @.str8998) %t799 = icmp ne i32 %t798, 0 br i1 %t799, label %then123, label %ifend125 then123: store i32 1, ptr @g_g_uses_mathrt %t800 = load ptr, ptr %t1 %t801 = getelementptr inbounds %Cmp_Node, ptr %t800, i32 0, i32 7 %t802 = load ptr, ptr %t801 %t803 = getelementptr inbounds %LSlice, ptr %t802, i32 0, i32 0 %t804 = load ptr, ptr %t803 %t805 = getelementptr inbounds %LSlice, ptr %t802, i32 0, i32 1 %t806 = load i32, ptr %t805 %t807 = icmp ult i32 0, %t806 br i1 %t807, label %ixok126, label %ixbad127 ixbad127: store i32 5574, ptr @lp_site %t808 = call ptr @lp_win_stdio(i32 2) store i32 0, ptr @lp_site call i32 (ptr, ptr, ...) @fprintf(ptr %t808, ptr @.fmt_bounds, ptr @.str8999, i32 0, i32 %t806) call void @exit(i32 1) unreachable ixok126: %t809 = getelementptr inbounds ptr, ptr %t804, i32 0 %t810 = load ptr, ptr %t809 %t811 = call ptr @fn_emit_expr(ptr %t810) store ptr %t811, ptr %t812 %t813 = load ptr, ptr %t1 %t814 = getelementptr inbounds %Cmp_Node, ptr %t813, i32 0, i32 7 %t815 = load ptr, ptr %t814 %t816 = getelementptr inbounds %LSlice, ptr %t815, i32 0, i32 0 %t817 = load ptr, ptr %t816 %t818 = getelementptr inbounds %LSlice, ptr %t815, i32 0, i32 1 %t819 = load i32, ptr %t818 %t820 = icmp ult i32 1, %t819 br i1 %t820, label %ixok128, label %ixbad129 ixbad129: store i32 5575, ptr @lp_site %t821 = call ptr @lp_win_stdio(i32 2) store i32 0, ptr @lp_site call i32 (ptr, ptr, ...) @fprintf(ptr %t821, ptr @.fmt_bounds, ptr @.str9000, i32 1, i32 %t819) call void @exit(i32 1) unreachable ixok128: %t822 = getelementptr inbounds ptr, ptr %t817, i32 1 %t823 = load ptr, ptr %t822 %t824 = call ptr @fn_emit_expr(ptr %t823) store ptr %t824, ptr %t825 %t826 = load ptr, ptr %t812 %t827 = getelementptr inbounds %Cmp_Val, ptr %t826, i32 0, i32 0 %t828 = load ptr, ptr %t827 store i32 5576, ptr @lp_site %t829 = call ptr @lp_str_concat(ptr @.str9001, ptr %t828) store i32 0, ptr @lp_site store i32 5577, ptr @lp_site %t830 = call ptr @lp_str_concat(ptr %t829, ptr @.str9002) store i32 0, ptr @lp_site call void @lp_free(ptr %t829) %t831 = call ptr @fn_emit_bind(ptr %t830) store ptr %t831, ptr %t832 %t833 = load ptr, ptr %t825 %t834 = getelementptr inbounds %Cmp_Val, ptr %t833, i32 0, i32 0 %t835 = load ptr, ptr %t834 %t836 = load ptr, ptr %t832 %t837 = call ptr @fn_fx_mul_code(ptr %t835, ptr %t836) store ptr %t837, ptr %t838 %t839 = load ptr, ptr %t838 store i32 5578, ptr @lp_site %t840 = call ptr @lp_str_concat(ptr @.str9003, ptr %t839) store i32 0, ptr @lp_site store i32 5579, ptr @lp_site %t841 = call ptr @lp_str_concat(ptr %t840, ptr @.str9004) store i32 0, ptr @lp_site call void @lp_free(ptr %t840) %t842 = call ptr @fn_emit_bind(ptr %t841) %t843 = call ptr @fn_val(ptr %t842, ptr @.str9005) store ptr %t843, ptr %retval br label %ret ifend125: %t844 = load ptr, ptr %t0 %t845 = call i32 @lp_str_eq(ptr %t844, ptr @.str9006) %t846 = icmp ne i32 %t845, 0 br i1 %t846, label %then130, label %ifend132 then130: %t847 = load ptr, ptr %t1 %t848 = getelementptr inbounds %Cmp_Node, ptr %t847, i32 0, i32 7 %t849 = load ptr, ptr %t848 %t850 = getelementptr inbounds %LSlice, ptr %t849, i32 0, i32 0 %t851 = load ptr, ptr %t850 %t852 = getelementptr inbounds %LSlice, ptr %t849, i32 0, i32 1 %t853 = load i32, ptr %t852 %t854 = icmp ult i32 0, %t853 br i1 %t854, label %ixok133, label %ixbad134 ixbad134: store i32 5580, ptr @lp_site %t855 = call ptr @lp_win_stdio(i32 2) store i32 0, ptr @lp_site call i32 (ptr, ptr, ...) @fprintf(ptr %t855, ptr @.fmt_bounds, ptr @.str9007, i32 0, i32 %t853) call void @exit(i32 1) unreachable ixok133: %t856 = getelementptr inbounds ptr, ptr %t851, i32 0 %t857 = load ptr, ptr %t856 %t858 = call ptr @fn_emit_expr(ptr %t857) store ptr %t858, ptr %t859 %t860 = load ptr, ptr %t859 %t861 = getelementptr inbounds %Cmp_Val, ptr %t860, i32 0, i32 0 %t862 = load ptr, ptr %t861 %t863 = call ptr @fn_fx_mul_code(ptr %t862, ptr @.str9008) %t864 = call ptr @fn_val(ptr %t863, ptr @.str9009) store ptr %t864, ptr %retval br label %ret ifend132: %t865 = load ptr, ptr %t0 %t866 = call i32 @lp_str_eq(ptr %t865, ptr @.str9010) %t867 = icmp ne i32 %t866, 0 br i1 %t867, label %then135, label %ifend137 then135: %t868 = load ptr, ptr %t1 %t869 = getelementptr inbounds %Cmp_Node, ptr %t868, i32 0, i32 7 %t870 = load ptr, ptr %t869 %t871 = getelementptr inbounds %LSlice, ptr %t870, i32 0, i32 0 %t872 = load ptr, ptr %t871 %t873 = getelementptr inbounds %LSlice, ptr %t870, i32 0, i32 1 %t874 = load i32, ptr %t873 %t875 = icmp ult i32 0, %t874 br i1 %t875, label %ixok138, label %ixbad139 ixbad139: store i32 5581, ptr @lp_site %t876 = call ptr @lp_win_stdio(i32 2) store i32 0, ptr @lp_site call i32 (ptr, ptr, ...) @fprintf(ptr %t876, ptr @.fmt_bounds, ptr @.str9011, i32 0, i32 %t874) call void @exit(i32 1) unreachable ixok138: %t877 = getelementptr inbounds ptr, ptr %t872, i32 0 %t878 = load ptr, ptr %t877 %t879 = call ptr @fn_emit_expr(ptr %t878) store ptr %t879, ptr %t880 %t881 = load ptr, ptr %t880 %t882 = getelementptr inbounds %Cmp_Val, ptr %t881, i32 0, i32 0 %t883 = load ptr, ptr %t882 %t884 = call ptr @fn_fx_mul_code(ptr %t883, ptr @.str9012) %t885 = call ptr @fn_val(ptr %t884, ptr @.str9013) store ptr %t885, ptr %retval br label %ret ifend137: %t886 = load ptr, ptr %t0 %t887 = call i32 @lp_str_eq(ptr %t886, ptr @.str9014) %t888 = icmp ne i32 %t887, 0 br i1 %t888, label %then140, label %ifend142 then140: %t889 = load ptr, ptr %t1 %t890 = getelementptr inbounds %Cmp_Node, ptr %t889, i32 0, i32 7 %t891 = load ptr, ptr %t890 %t892 = getelementptr inbounds %LSlice, ptr %t891, i32 0, i32 0 %t893 = load ptr, ptr %t892 %t894 = getelementptr inbounds %LSlice, ptr %t891, i32 0, i32 1 %t895 = load i32, ptr %t894 %t896 = icmp ult i32 0, %t895 br i1 %t896, label %ixok143, label %ixbad144 ixbad144: store i32 5582, ptr @lp_site %t897 = call ptr @lp_win_stdio(i32 2) store i32 0, ptr @lp_site call i32 (ptr, ptr, ...) @fprintf(ptr %t897, ptr @.fmt_bounds, ptr @.str9015, i32 0, i32 %t895) call void @exit(i32 1) unreachable ixok143: %t898 = getelementptr inbounds ptr, ptr %t893, i32 0 %t899 = load ptr, ptr %t898 %t900 = call ptr @fn_emit_expr(ptr %t899) store ptr %t900, ptr %t901 %t902 = load ptr, ptr %t1 %t903 = getelementptr inbounds %Cmp_Node, ptr %t902, i32 0, i32 7 %t904 = load ptr, ptr %t903 %t905 = getelementptr inbounds %LSlice, ptr %t904, i32 0, i32 0 %t906 = load ptr, ptr %t905 %t907 = getelementptr inbounds %LSlice, ptr %t904, i32 0, i32 1 %t908 = load i32, ptr %t907 %t909 = icmp ult i32 1, %t908 br i1 %t909, label %ixok145, label %ixbad146 ixbad146: store i32 5583, ptr @lp_site %t910 = call ptr @lp_win_stdio(i32 2) store i32 0, ptr @lp_site call i32 (ptr, ptr, ...) @fprintf(ptr %t910, ptr @.fmt_bounds, ptr @.str9016, i32 1, i32 %t908) call void @exit(i32 1) unreachable ixok145: %t911 = getelementptr inbounds ptr, ptr %t906, i32 1 %t912 = load ptr, ptr %t911 %t913 = call ptr @fn_emit_expr(ptr %t912) store ptr %t913, ptr %t914 %t915 = load ptr, ptr %t901 %t916 = getelementptr inbounds %Cmp_Val, ptr %t915, i32 0, i32 0 %t917 = load ptr, ptr %t916 store i32 5584, ptr @lp_site %t918 = call ptr @lp_str_concat(ptr @.str9017, ptr %t917) store i32 0, ptr @lp_site store i32 5585, ptr @lp_site %t919 = call ptr @lp_str_concat(ptr %t918, ptr @.str9018) store i32 0, ptr @lp_site call void @lp_free(ptr %t918) %t920 = load ptr, ptr %t914 %t921 = getelementptr inbounds %Cmp_Val, ptr %t920, i32 0, i32 0 %t922 = load ptr, ptr %t921 store i32 5586, ptr @lp_site %t923 = call ptr @lp_str_concat(ptr %t919, ptr %t922) store i32 0, ptr @lp_site call void @lp_free(ptr %t919) %t924 = call ptr @fn_emit_bind(ptr %t923) store ptr %t924, ptr %t925 %t926 = load ptr, ptr %t925 store i32 5587, ptr @lp_site %t927 = call ptr @lp_str_concat(ptr @.str9019, ptr %t926) store i32 0, ptr @lp_site store i32 5588, ptr @lp_site %t928 = call ptr @lp_str_concat(ptr %t927, ptr @.str9020) store i32 0, ptr @lp_site call void @lp_free(ptr %t927) %t929 = load ptr, ptr %t914 %t930 = getelementptr inbounds %Cmp_Val, ptr %t929, i32 0, i32 0 %t931 = load ptr, ptr %t930 store i32 5589, ptr @lp_site %t932 = call ptr @lp_str_concat(ptr %t928, ptr %t931) store i32 0, ptr @lp_site call void @lp_free(ptr %t928) %t933 = call ptr @fn_emit_bind(ptr %t932) store ptr %t933, ptr %t934 %t935 = load ptr, ptr %t934 store i32 5590, ptr @lp_site %t936 = call ptr @lp_str_concat(ptr @.str9021, ptr %t935) store i32 0, ptr @lp_site store i32 5591, ptr @lp_site %t937 = call ptr @lp_str_concat(ptr %t936, ptr @.str9022) store i32 0, ptr @lp_site call void @lp_free(ptr %t936) %t938 = load ptr, ptr %t914 %t939 = getelementptr inbounds %Cmp_Val, ptr %t938, i32 0, i32 0 %t940 = load ptr, ptr %t939 store i32 5592, ptr @lp_site %t941 = call ptr @lp_str_concat(ptr %t937, ptr %t940) store i32 0, ptr @lp_site call void @lp_free(ptr %t937) %t942 = call ptr @fn_emit_bind(ptr %t941) %t943 = call ptr @fn_val(ptr %t942, ptr @.str9023) store ptr %t943, ptr %retval br label %ret ifend142: %t944 = load ptr, ptr %t0 %t945 = call i32 @lp_str_eq(ptr %t944, ptr @.str9024) %t946 = icmp ne i32 %t945, 0 br i1 %t946, label %then147, label %ifend149 then147: %t947 = load ptr, ptr %t1 %t948 = getelementptr inbounds %Cmp_Node, ptr %t947, i32 0, i32 7 %t949 = load ptr, ptr %t948 %t950 = getelementptr inbounds %LSlice, ptr %t949, i32 0, i32 0 %t951 = load ptr, ptr %t950 %t952 = getelementptr inbounds %LSlice, ptr %t949, i32 0, i32 1 %t953 = load i32, ptr %t952 %t954 = icmp ult i32 0, %t953 br i1 %t954, label %ixok150, label %ixbad151 ixbad151: store i32 5593, ptr @lp_site %t955 = call ptr @lp_win_stdio(i32 2) store i32 0, ptr @lp_site call i32 (ptr, ptr, ...) @fprintf(ptr %t955, ptr @.fmt_bounds, ptr @.str9025, i32 0, i32 %t953) call void @exit(i32 1) unreachable ixok150: %t956 = getelementptr inbounds ptr, ptr %t951, i32 0 %t957 = load ptr, ptr %t956 %t958 = call ptr @fn_emit_expr(ptr %t957) store ptr %t958, ptr %t959 %t960 = load ptr, ptr %t1 %t961 = getelementptr inbounds %Cmp_Node, ptr %t960, i32 0, i32 7 %t962 = load ptr, ptr %t961 %t963 = getelementptr inbounds %LSlice, ptr %t962, i32 0, i32 0 %t964 = load ptr, ptr %t963 %t965 = getelementptr inbounds %LSlice, ptr %t962, i32 0, i32 1 %t966 = load i32, ptr %t965 %t967 = icmp ult i32 1, %t966 br i1 %t967, label %ixok152, label %ixbad153 ixbad153: store i32 5594, ptr @lp_site %t968 = call ptr @lp_win_stdio(i32 2) store i32 0, ptr @lp_site call i32 (ptr, ptr, ...) @fprintf(ptr %t968, ptr @.fmt_bounds, ptr @.str9026, i32 1, i32 %t966) call void @exit(i32 1) unreachable ixok152: %t969 = getelementptr inbounds ptr, ptr %t964, i32 1 %t970 = load ptr, ptr %t969 %t971 = call ptr @fn_emit_expr(ptr %t970) store ptr %t971, ptr %t972 %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 %LSlice, ptr %t975, i32 0, i32 1 %t979 = load i32, ptr %t978 %t980 = icmp ult i32 2, %t979 br i1 %t980, label %ixok154, label %ixbad155 ixbad155: store i32 5595, ptr @lp_site %t981 = call ptr @lp_win_stdio(i32 2) store i32 0, ptr @lp_site call i32 (ptr, ptr, ...) @fprintf(ptr %t981, ptr @.fmt_bounds, ptr @.str9027, i32 2, i32 %t979) call void @exit(i32 1) unreachable ixok154: %t982 = getelementptr inbounds ptr, ptr %t977, i32 2 %t983 = load ptr, ptr %t982 %t984 = call ptr @fn_emit_expr(ptr %t983) store ptr %t984, ptr %t985 %t986 = load ptr, ptr %t985 %t987 = getelementptr inbounds %Cmp_Val, ptr %t986, i32 0, i32 0 %t988 = load ptr, ptr %t987 store i32 5596, ptr @lp_site %t989 = call ptr @lp_str_concat(ptr @.str9028, ptr %t988) store i32 0, ptr @lp_site store i32 5597, ptr @lp_site %t990 = call ptr @lp_str_concat(ptr %t989, ptr @.str9029) store i32 0, ptr @lp_site call void @lp_free(ptr %t989) %t991 = load ptr, ptr %t972 %t992 = getelementptr inbounds %Cmp_Val, ptr %t991, i32 0, i32 0 %t993 = load ptr, ptr %t992 store i32 5598, ptr @lp_site %t994 = call ptr @lp_str_concat(ptr %t990, ptr %t993) store i32 0, ptr @lp_site call void @lp_free(ptr %t990) %t995 = call ptr @fn_emit_bind(ptr %t994) store ptr %t995, ptr %t996 %t997 = load ptr, ptr %t959 %t998 = getelementptr inbounds %Cmp_Val, ptr %t997, i32 0, i32 0 %t999 = load ptr, ptr %t998 store i32 5599, ptr @lp_site %t1000 = call ptr @lp_str_concat(ptr @.str9030, ptr %t999) store i32 0, ptr @lp_site store i32 5600, ptr @lp_site %t1001 = call ptr @lp_str_concat(ptr %t1000, ptr @.str9031) store i32 0, ptr @lp_site call void @lp_free(ptr %t1000) %t1002 = load ptr, ptr %t972 %t1003 = getelementptr inbounds %Cmp_Val, ptr %t1002, i32 0, i32 0 %t1004 = load ptr, ptr %t1003 store i32 5601, ptr @lp_site %t1005 = call ptr @lp_str_concat(ptr %t1001, ptr %t1004) store i32 0, ptr @lp_site call void @lp_free(ptr %t1001) %t1006 = call ptr @fn_emit_bind(ptr %t1005) store ptr %t1006, ptr %t1007 %t1008 = load ptr, ptr %t1007 store i32 5602, ptr @lp_site %t1009 = call ptr @lp_str_concat(ptr @.str9032, ptr %t1008) store i32 0, ptr @lp_site store i32 5603, ptr @lp_site %t1010 = call ptr @lp_str_concat(ptr %t1009, ptr @.str9033) store i32 0, ptr @lp_site call void @lp_free(ptr %t1009) %t1011 = load ptr, ptr %t996 store i32 5604, ptr @lp_site %t1012 = call ptr @lp_str_concat(ptr %t1010, ptr %t1011) store i32 0, ptr @lp_site call void @lp_free(ptr %t1010) %t1013 = call ptr @fn_emit_bind(ptr %t1012) store ptr %t1013, ptr %t1014 %t1015 = load ptr, ptr %t1014 store i32 5605, ptr @lp_site %t1016 = call ptr @lp_str_concat(ptr @.str9034, ptr %t1015) store i32 0, ptr @lp_site store i32 5606, ptr @lp_site %t1017 = call ptr @lp_str_concat(ptr %t1016, ptr @.str9035) store i32 0, ptr @lp_site call void @lp_free(ptr %t1016) %t1018 = load ptr, ptr %t996 store i32 5607, ptr @lp_site %t1019 = call ptr @lp_str_concat(ptr %t1017, ptr %t1018) store i32 0, ptr @lp_site call void @lp_free(ptr %t1017) %t1020 = call ptr @fn_emit_bind(ptr %t1019) store ptr %t1020, ptr %t1021 %t1022 = load ptr, ptr %t1021 store i32 5608, ptr @lp_site %t1023 = call ptr @lp_str_concat(ptr @.str9036, ptr %t1022) store i32 0, ptr @lp_site store i32 5609, ptr @lp_site %t1024 = call ptr @lp_str_concat(ptr %t1023, ptr @.str9037) store i32 0, ptr @lp_site call void @lp_free(ptr %t1023) %t1025 = load ptr, ptr %t996 store i32 5610, ptr @lp_site %t1026 = call ptr @lp_str_concat(ptr %t1024, ptr %t1025) store i32 0, ptr @lp_site call void @lp_free(ptr %t1024) %t1027 = call ptr @fn_emit_bind(ptr %t1026) store ptr %t1027, ptr %t1028 %t1029 = load ptr, ptr %t972 %t1030 = getelementptr inbounds %Cmp_Val, ptr %t1029, i32 0, i32 0 %t1031 = load ptr, ptr %t1030 store i32 5611, ptr @lp_site %t1032 = call ptr @lp_str_concat(ptr @.str9038, ptr %t1031) store i32 0, ptr @lp_site store i32 5612, ptr @lp_site %t1033 = call ptr @lp_str_concat(ptr %t1032, ptr @.str9039) store i32 0, ptr @lp_site call void @lp_free(ptr %t1032) %t1034 = load ptr, ptr %t1028 store i32 5613, ptr @lp_site %t1035 = call ptr @lp_str_concat(ptr %t1033, ptr %t1034) store i32 0, ptr @lp_site call void @lp_free(ptr %t1033) %t1036 = call ptr @fn_emit_bind(ptr %t1035) %t1037 = call ptr @fn_val(ptr %t1036, ptr @.str9040) store ptr %t1037, ptr %retval br label %ret ifend149: %t1038 = load ptr, ptr %t0 %t1039 = call i32 @lp_str_eq(ptr %t1038, ptr @.str9041) %t1040 = icmp ne i32 %t1039, 0 br i1 %t1040, label %then156, label %ifend158 then156: %t1041 = load ptr, ptr %t1 %t1042 = getelementptr inbounds %Cmp_Node, ptr %t1041, i32 0, i32 7 %t1043 = load ptr, ptr %t1042 %t1044 = getelementptr inbounds %LSlice, ptr %t1043, i32 0, i32 0 %t1045 = load ptr, ptr %t1044 %t1046 = getelementptr inbounds %LSlice, ptr %t1043, i32 0, i32 1 %t1047 = load i32, ptr %t1046 %t1048 = icmp ult i32 0, %t1047 br i1 %t1048, label %ixok159, label %ixbad160 ixbad160: store i32 5614, ptr @lp_site %t1049 = call ptr @lp_win_stdio(i32 2) store i32 0, ptr @lp_site call i32 (ptr, ptr, ...) @fprintf(ptr %t1049, ptr @.fmt_bounds, ptr @.str9042, i32 0, i32 %t1047) call void @exit(i32 1) unreachable ixok159: %t1050 = getelementptr inbounds ptr, ptr %t1045, i32 0 %t1051 = load ptr, ptr %t1050 %t1052 = call ptr @fn_emit_expr(ptr %t1051) store ptr %t1052, ptr %t1053 %t1054 = load ptr, ptr %t1 %t1055 = getelementptr inbounds %Cmp_Node, ptr %t1054, i32 0, i32 7 %t1056 = load ptr, ptr %t1055 %t1057 = getelementptr inbounds %LSlice, ptr %t1056, i32 0, i32 0 %t1058 = load ptr, ptr %t1057 %t1059 = getelementptr inbounds %LSlice, ptr %t1056, i32 0, i32 1 %t1060 = load i32, ptr %t1059 %t1061 = icmp ult i32 1, %t1060 br i1 %t1061, label %ixok161, label %ixbad162 ixbad162: store i32 5615, ptr @lp_site %t1062 = call ptr @lp_win_stdio(i32 2) store i32 0, ptr @lp_site call i32 (ptr, ptr, ...) @fprintf(ptr %t1062, ptr @.fmt_bounds, ptr @.str9043, i32 1, i32 %t1060) call void @exit(i32 1) unreachable ixok161: %t1063 = getelementptr inbounds ptr, ptr %t1058, i32 1 %t1064 = load ptr, ptr %t1063 %t1065 = call ptr @fn_emit_expr(ptr %t1064) store ptr %t1065, ptr %t1066 %t1067 = load ptr, ptr %t1066 %t1068 = getelementptr inbounds %Cmp_Val, ptr %t1067, i32 0, i32 0 %t1069 = load ptr, ptr %t1068 store i32 5616, ptr @lp_site %t1070 = call ptr @lp_str_concat(ptr @.str9044, ptr %t1069) store i32 0, ptr @lp_site store i32 5617, ptr @lp_site %t1071 = call ptr @lp_str_concat(ptr %t1070, ptr @.str9045) store i32 0, ptr @lp_site call void @lp_free(ptr %t1070) %t1072 = call ptr @fn_emit_bind(ptr %t1071) store ptr %t1072, ptr %t1073 %t1074 = load ptr, ptr %t1053 %t1075 = getelementptr inbounds %Cmp_Val, ptr %t1074, i32 0, i32 0 %t1076 = load ptr, ptr %t1075 store i32 5618, ptr @lp_site %t1077 = call ptr @lp_str_concat(ptr @.str9046, ptr %t1076) store i32 0, ptr @lp_site store i32 5619, ptr @lp_site %t1078 = call ptr @lp_str_concat(ptr %t1077, ptr @.str9047) store i32 0, ptr @lp_site call void @lp_free(ptr %t1077) %t1079 = load ptr, ptr %t1073 store i32 5620, ptr @lp_site %t1080 = call ptr @lp_str_concat(ptr %t1078, ptr %t1079) store i32 0, ptr @lp_site call void @lp_free(ptr %t1078) %t1081 = call ptr @fn_emit_bind(ptr %t1080) store ptr %t1081, ptr %t1082 %t1083 = load ptr, ptr %t1082 store i32 5621, ptr @lp_site %t1084 = call ptr @lp_str_concat(ptr @.str9048, ptr %t1083) store i32 0, ptr @lp_site store i32 5622, ptr @lp_site %t1085 = call ptr @lp_str_concat(ptr %t1084, ptr @.str9049) store i32 0, ptr @lp_site call void @lp_free(ptr %t1084) %t1086 = load ptr, ptr %t1073 store i32 5623, ptr @lp_site %t1087 = call ptr @lp_str_concat(ptr %t1085, ptr %t1086) store i32 0, ptr @lp_site call void @lp_free(ptr %t1085) %t1088 = call ptr @fn_emit_bind(ptr %t1087) store ptr %t1088, ptr %t1089 %t1090 = load ptr, ptr %t1089 store i32 5624, ptr @lp_site %t1091 = call ptr @lp_str_concat(ptr @.str9050, ptr %t1090) store i32 0, ptr @lp_site store i32 5625, ptr @lp_site %t1092 = call ptr @lp_str_concat(ptr %t1091, ptr @.str9051) store i32 0, ptr @lp_site call void @lp_free(ptr %t1091) %t1093 = load ptr, ptr %t1073 store i32 5626, ptr @lp_site %t1094 = call ptr @lp_str_concat(ptr %t1092, ptr %t1093) store i32 0, ptr @lp_site call void @lp_free(ptr %t1092) %t1095 = call ptr @fn_emit_bind(ptr %t1094) store ptr %t1095, ptr %t1096 %t1097 = load ptr, ptr %t1096 store i32 5627, ptr @lp_site %t1098 = call ptr @lp_str_concat(ptr @.str9052, ptr %t1097) store i32 0, ptr @lp_site store i32 5628, ptr @lp_site %t1099 = call ptr @lp_str_concat(ptr %t1098, ptr @.str9053) store i32 0, ptr @lp_site call void @lp_free(ptr %t1098) %t1100 = load ptr, ptr %t1066 %t1101 = getelementptr inbounds %Cmp_Val, ptr %t1100, i32 0, i32 0 %t1102 = load ptr, ptr %t1101 store i32 5629, ptr @lp_site %t1103 = call ptr @lp_str_concat(ptr %t1099, ptr %t1102) store i32 0, ptr @lp_site call void @lp_free(ptr %t1099) %t1104 = call ptr @fn_emit_bind(ptr %t1103) store ptr %t1104, ptr %t1105 %t1106 = load ptr, ptr %t1105 store i32 5630, ptr @lp_site %t1107 = call ptr @lp_str_concat(ptr @.str9054, ptr %t1106) store i32 0, ptr @lp_site %t1108 = call ptr @fn_emit_bind(ptr %t1107) store ptr %t1108, ptr %t1109 %t1110 = load ptr, ptr %t1105 store i32 5631, ptr @lp_site %t1111 = call ptr @lp_str_concat(ptr @.str9055, ptr %t1110) store i32 0, ptr @lp_site store i32 5632, ptr @lp_site %t1112 = call ptr @lp_str_concat(ptr %t1111, ptr @.str9056) store i32 0, ptr @lp_site call void @lp_free(ptr %t1111) %t1113 = call ptr @fn_emit_bind(ptr %t1112) store ptr %t1113, ptr %t1114 %t1115 = load ptr, ptr %t1114 store i32 5633, ptr @lp_site %t1116 = call ptr @lp_str_concat(ptr @.str9057, ptr %t1115) store i32 0, ptr @lp_site store i32 5634, ptr @lp_site %t1117 = call ptr @lp_str_concat(ptr %t1116, ptr @.str9058) store i32 0, ptr @lp_site call void @lp_free(ptr %t1116) %t1118 = load ptr, ptr %t1109 store i32 5635, ptr @lp_site %t1119 = call ptr @lp_str_concat(ptr %t1117, ptr %t1118) store i32 0, ptr @lp_site call void @lp_free(ptr %t1117) store i32 5636, ptr @lp_site %t1120 = call ptr @lp_str_concat(ptr %t1119, ptr @.str9059) store i32 0, ptr @lp_site call void @lp_free(ptr %t1119) %t1121 = load ptr, ptr %t1105 store i32 5637, ptr @lp_site %t1122 = call ptr @lp_str_concat(ptr %t1120, ptr %t1121) store i32 0, ptr @lp_site call void @lp_free(ptr %t1120) %t1123 = call ptr @fn_emit_bind(ptr %t1122) store ptr %t1123, ptr %t1124 %t1125 = load ptr, ptr %t1066 %t1126 = getelementptr inbounds %Cmp_Val, ptr %t1125, i32 0, i32 0 %t1127 = load ptr, ptr %t1126 store i32 5638, ptr @lp_site %t1128 = call ptr @lp_str_concat(ptr @.str9060, ptr %t1127) store i32 0, ptr @lp_site store i32 5639, ptr @lp_site %t1129 = call ptr @lp_str_concat(ptr %t1128, ptr @.str9061) store i32 0, ptr @lp_site call void @lp_free(ptr %t1128) %t1130 = load ptr, ptr %t1124 store i32 5640, ptr @lp_site %t1131 = call ptr @lp_str_concat(ptr %t1129, ptr %t1130) store i32 0, ptr @lp_site call void @lp_free(ptr %t1129) %t1132 = call ptr @fn_emit_bind(ptr %t1131) %t1133 = call ptr @fn_val(ptr %t1132, ptr @.str9062) store ptr %t1133, ptr %retval br label %ret ifend158: %t1134 = load ptr, ptr %t0 %t1135 = call i32 @lp_str_eq(ptr %t1134, ptr @.str9063) %t1136 = icmp ne i32 %t1135, 0 br i1 %t1136, label %then163, label %ifend165 then163: %t1137 = load ptr, ptr %t1 %t1138 = getelementptr inbounds %Cmp_Node, ptr %t1137, i32 0, i32 7 %t1139 = load ptr, ptr %t1138 %t1140 = getelementptr inbounds %LSlice, ptr %t1139, i32 0, i32 0 %t1141 = load ptr, ptr %t1140 %t1142 = getelementptr inbounds %LSlice, ptr %t1139, i32 0, i32 1 %t1143 = load i32, ptr %t1142 %t1144 = icmp ult i32 0, %t1143 br i1 %t1144, label %ixok166, label %ixbad167 ixbad167: store i32 5641, ptr @lp_site %t1145 = call ptr @lp_win_stdio(i32 2) store i32 0, ptr @lp_site call i32 (ptr, ptr, ...) @fprintf(ptr %t1145, ptr @.fmt_bounds, ptr @.str9064, i32 0, i32 %t1143) call void @exit(i32 1) unreachable ixok166: %t1146 = getelementptr inbounds ptr, ptr %t1141, i32 0 %t1147 = load ptr, ptr %t1146 %t1148 = call ptr @fn_emit_expr(ptr %t1147) store ptr %t1148, ptr %t1149 %t1150 = load ptr, ptr %t1 %t1151 = getelementptr inbounds %Cmp_Node, ptr %t1150, i32 0, i32 7 %t1152 = load ptr, ptr %t1151 %t1153 = getelementptr inbounds %LSlice, ptr %t1152, i32 0, i32 0 %t1154 = load ptr, ptr %t1153 %t1155 = getelementptr inbounds %LSlice, ptr %t1152, i32 0, i32 1 %t1156 = load i32, ptr %t1155 %t1157 = icmp ult i32 1, %t1156 br i1 %t1157, label %ixok168, label %ixbad169 ixbad169: store i32 5642, ptr @lp_site %t1158 = call ptr @lp_win_stdio(i32 2) store i32 0, ptr @lp_site call i32 (ptr, ptr, ...) @fprintf(ptr %t1158, ptr @.fmt_bounds, ptr @.str9065, i32 1, i32 %t1156) call void @exit(i32 1) unreachable ixok168: %t1159 = getelementptr inbounds ptr, ptr %t1154, i32 1 %t1160 = load ptr, ptr %t1159 %t1161 = call ptr @fn_emit_expr(ptr %t1160) store ptr %t1161, ptr %t1162 %t1163 = load ptr, ptr %t1149 %t1164 = getelementptr inbounds %Cmp_Val, ptr %t1163, i32 0, i32 0 %t1165 = load ptr, ptr %t1164 %t1166 = load ptr, ptr %t1162 %t1167 = getelementptr inbounds %Cmp_Val, ptr %t1166, i32 0, i32 0 %t1168 = load ptr, ptr %t1167 %t1169 = call ptr @fn_fx_div_code(ptr %t1165, ptr %t1168) store ptr %t1169, ptr %t1170 %t1171 = load ptr, ptr %t1170 store i32 5643, ptr @lp_site %t1172 = call ptr @lp_str_concat(ptr @.str9066, ptr %t1171) store i32 0, ptr @lp_site store i32 5644, ptr @lp_site %t1173 = call ptr @lp_str_concat(ptr %t1172, ptr @.str9067) store i32 0, ptr @lp_site call void @lp_free(ptr %t1172) %t1174 = call ptr @fn_emit_bind(ptr %t1173) store ptr %t1174, ptr %t1175 %t1176 = load ptr, ptr %t1175 store i32 5645, ptr @lp_site %t1177 = call ptr @lp_str_concat(ptr @.str9068, ptr %t1176) store i32 0, ptr @lp_site store i32 5646, ptr @lp_site %t1178 = call ptr @lp_str_concat(ptr %t1177, ptr @.str9069) store i32 0, ptr @lp_site call void @lp_free(ptr %t1177) %t1179 = call ptr @fn_emit_bind(ptr %t1178) store ptr %t1179, ptr %t1180 %t1181 = load ptr, ptr %t1180 store i32 5647, ptr @lp_site %t1182 = call ptr @lp_str_concat(ptr @.str9070, ptr %t1181) store i32 0, ptr @lp_site store i32 5648, ptr @lp_site %t1183 = call ptr @lp_str_concat(ptr %t1182, ptr @.str9071) store i32 0, ptr @lp_site call void @lp_free(ptr %t1182) %t1184 = load ptr, ptr %t1162 %t1185 = getelementptr inbounds %Cmp_Val, ptr %t1184, i32 0, i32 0 %t1186 = load ptr, ptr %t1185 store i32 5649, ptr @lp_site %t1187 = call ptr @lp_str_concat(ptr %t1183, ptr %t1186) store i32 0, ptr @lp_site call void @lp_free(ptr %t1183) %t1188 = call ptr @fn_emit_bind(ptr %t1187) %t1189 = call ptr @fn_val(ptr %t1188, ptr @.str9072) store ptr %t1189, ptr %retval br label %ret ifend165: %t1190 = load ptr, ptr %t0 %t1191 = call i32 @lp_str_eq(ptr %t1190, ptr @.str9073) %t1192 = icmp ne i32 %t1191, 0 br i1 %t1192, label %then170, label %ifend172 then170: %t1193 = load ptr, ptr %t1 %t1194 = getelementptr inbounds %Cmp_Node, ptr %t1193, i32 0, i32 7 %t1195 = load ptr, ptr %t1194 %t1196 = getelementptr inbounds %LSlice, ptr %t1195, i32 0, i32 0 %t1197 = load ptr, ptr %t1196 %t1198 = getelementptr inbounds %LSlice, ptr %t1195, i32 0, i32 1 %t1199 = load i32, ptr %t1198 %t1200 = icmp ult i32 0, %t1199 br i1 %t1200, label %ixok173, label %ixbad174 ixbad174: store i32 5650, ptr @lp_site %t1201 = call ptr @lp_win_stdio(i32 2) store i32 0, ptr @lp_site call i32 (ptr, ptr, ...) @fprintf(ptr %t1201, ptr @.fmt_bounds, ptr @.str9074, i32 0, i32 %t1199) call void @exit(i32 1) unreachable ixok173: %t1202 = getelementptr inbounds ptr, ptr %t1197, i32 0 %t1203 = load ptr, ptr %t1202 %t1204 = call ptr @fn_emit_expr(ptr %t1203) store ptr %t1204, ptr %t1205 %t1206 = load ptr, ptr %t1 %t1207 = getelementptr inbounds %Cmp_Node, ptr %t1206, i32 0, i32 7 %t1208 = load ptr, ptr %t1207 %t1209 = getelementptr inbounds %LSlice, ptr %t1208, i32 0, i32 0 %t1210 = load ptr, ptr %t1209 %t1211 = getelementptr inbounds %LSlice, ptr %t1208, i32 0, i32 1 %t1212 = load i32, ptr %t1211 %t1213 = icmp ult i32 1, %t1212 br i1 %t1213, label %ixok175, label %ixbad176 ixbad176: store i32 5651, ptr @lp_site %t1214 = call ptr @lp_win_stdio(i32 2) store i32 0, ptr @lp_site call i32 (ptr, ptr, ...) @fprintf(ptr %t1214, ptr @.fmt_bounds, ptr @.str9075, i32 1, i32 %t1212) call void @exit(i32 1) unreachable ixok175: %t1215 = getelementptr inbounds ptr, ptr %t1210, i32 1 %t1216 = load ptr, ptr %t1215 %t1217 = call ptr @fn_emit_expr(ptr %t1216) store ptr %t1217, ptr %t1218 %t1219 = load ptr, ptr %t1 %t1220 = getelementptr inbounds %Cmp_Node, ptr %t1219, i32 0, i32 7 %t1221 = load ptr, ptr %t1220 %t1222 = getelementptr inbounds %LSlice, ptr %t1221, i32 0, i32 0 %t1223 = load ptr, ptr %t1222 %t1224 = getelementptr inbounds %LSlice, ptr %t1221, i32 0, i32 1 %t1225 = load i32, ptr %t1224 %t1226 = icmp ult i32 2, %t1225 br i1 %t1226, label %ixok177, label %ixbad178 ixbad178: store i32 5652, ptr @lp_site %t1227 = call ptr @lp_win_stdio(i32 2) store i32 0, ptr @lp_site call i32 (ptr, ptr, ...) @fprintf(ptr %t1227, ptr @.fmt_bounds, ptr @.str9076, i32 2, i32 %t1225) call void @exit(i32 1) unreachable ixok177: %t1228 = getelementptr inbounds ptr, ptr %t1223, i32 2 %t1229 = load ptr, ptr %t1228 %t1230 = call ptr @fn_emit_expr(ptr %t1229) store ptr %t1230, ptr %t1231 %t1232 = load ptr, ptr %t1218 %t1233 = getelementptr inbounds %Cmp_Val, ptr %t1232, i32 0, i32 0 %t1234 = load ptr, ptr %t1233 store i32 5653, ptr @lp_site %t1235 = call ptr @lp_str_concat(ptr @.str9077, ptr %t1234) store i32 0, ptr @lp_site store i32 5654, ptr @lp_site %t1236 = call ptr @lp_str_concat(ptr %t1235, ptr @.str9078) store i32 0, ptr @lp_site call void @lp_free(ptr %t1235) %t1237 = load ptr, ptr %t1205 %t1238 = getelementptr inbounds %Cmp_Val, ptr %t1237, i32 0, i32 0 %t1239 = load ptr, ptr %t1238 store i32 5655, ptr @lp_site %t1240 = call ptr @lp_str_concat(ptr %t1236, ptr %t1239) store i32 0, ptr @lp_site call void @lp_free(ptr %t1236) %t1241 = call ptr @fn_emit_bind(ptr %t1240) store ptr %t1241, ptr %t1242 %t1243 = load ptr, ptr %t1242 store i32 5656, ptr @lp_site %t1244 = call ptr @lp_str_concat(ptr @.str9079, ptr %t1243) store i32 0, ptr @lp_site %t1245 = call ptr @fn_emit_bind(ptr %t1244) store ptr %t1245, ptr %t1246 %t1247 = load ptr, ptr %t1242 store i32 5657, ptr @lp_site %t1248 = call ptr @lp_str_concat(ptr @.str9080, ptr %t1247) store i32 0, ptr @lp_site store i32 5658, ptr @lp_site %t1249 = call ptr @lp_str_concat(ptr %t1248, ptr @.str9081) store i32 0, ptr @lp_site call void @lp_free(ptr %t1248) %t1250 = call ptr @fn_emit_bind(ptr %t1249) store ptr %t1250, ptr %t1251 %t1252 = load ptr, ptr %t1251 store i32 5659, ptr @lp_site %t1253 = call ptr @lp_str_concat(ptr @.str9082, ptr %t1252) store i32 0, ptr @lp_site store i32 5660, ptr @lp_site %t1254 = call ptr @lp_str_concat(ptr %t1253, ptr @.str9083) store i32 0, ptr @lp_site call void @lp_free(ptr %t1253) %t1255 = load ptr, ptr %t1246 store i32 5661, ptr @lp_site %t1256 = call ptr @lp_str_concat(ptr %t1254, ptr %t1255) store i32 0, ptr @lp_site call void @lp_free(ptr %t1254) store i32 5662, ptr @lp_site %t1257 = call ptr @lp_str_concat(ptr %t1256, ptr @.str9084) store i32 0, ptr @lp_site call void @lp_free(ptr %t1256) %t1258 = load ptr, ptr %t1242 store i32 5663, ptr @lp_site %t1259 = call ptr @lp_str_concat(ptr %t1257, ptr %t1258) store i32 0, ptr @lp_site call void @lp_free(ptr %t1257) %t1260 = call ptr @fn_emit_bind(ptr %t1259) store ptr %t1260, ptr %t1261 %t1262 = load ptr, ptr %t1242 store i32 5664, ptr @lp_site %t1263 = call ptr @lp_str_concat(ptr @.str9085, ptr %t1262) store i32 0, ptr @lp_site store i32 5665, ptr @lp_site %t1264 = call ptr @lp_str_concat(ptr %t1263, ptr @.str9086) store i32 0, ptr @lp_site call void @lp_free(ptr %t1263) %t1265 = call ptr @fn_emit_bind(ptr %t1264) store ptr %t1265, ptr %t1266 %t1267 = load ptr, ptr %t1242 store i32 5666, ptr @lp_site %t1268 = call ptr @lp_str_concat(ptr @.str9087, ptr %t1267) store i32 0, ptr @lp_site store i32 5667, ptr @lp_site %t1269 = call ptr @lp_str_concat(ptr %t1268, ptr @.str9088) store i32 0, ptr @lp_site call void @lp_free(ptr %t1268) %t1270 = call ptr @fn_emit_bind(ptr %t1269) store ptr %t1270, ptr %t1271 %t1272 = load ptr, ptr %t1271 store i32 5668, ptr @lp_site %t1273 = call ptr @lp_str_concat(ptr @.str9089, ptr %t1272) store i32 0, ptr @lp_site store i32 5669, ptr @lp_site %t1274 = call ptr @lp_str_concat(ptr %t1273, ptr @.str9090) store i32 0, ptr @lp_site call void @lp_free(ptr %t1273) %t1275 = call ptr @fn_emit_bind(ptr %t1274) store ptr %t1275, ptr %t1276 %t1277 = load ptr, ptr %t1266 store i32 5670, ptr @lp_site %t1278 = call ptr @lp_str_concat(ptr @.str9091, ptr %t1277) store i32 0, ptr @lp_site store i32 5671, ptr @lp_site %t1279 = call ptr @lp_str_concat(ptr %t1278, ptr @.str9092) store i32 0, ptr @lp_site call void @lp_free(ptr %t1278) %t1280 = load ptr, ptr %t1276 store i32 5672, ptr @lp_site %t1281 = call ptr @lp_str_concat(ptr %t1279, ptr %t1280) store i32 0, ptr @lp_site call void @lp_free(ptr %t1279) %t1282 = call ptr @fn_emit_bind(ptr %t1281) store ptr %t1282, ptr %t1283 %t1284 = load ptr, ptr %t1283 store i32 5673, ptr @lp_site %t1285 = call ptr @lp_str_concat(ptr @.str9093, ptr %t1284) store i32 0, ptr @lp_site store i32 5674, ptr @lp_site %t1286 = call ptr @lp_str_concat(ptr %t1285, ptr @.str9094) store i32 0, ptr @lp_site call void @lp_free(ptr %t1285) %t1287 = load ptr, ptr %t1231 %t1288 = getelementptr inbounds %Cmp_Val, ptr %t1287, i32 0, i32 0 %t1289 = load ptr, ptr %t1288 store i32 5675, ptr @lp_site %t1290 = call ptr @lp_str_concat(ptr %t1286, ptr %t1289) store i32 0, ptr @lp_site call void @lp_free(ptr %t1286) %t1291 = call ptr @fn_emit_bind(ptr %t1290) store ptr %t1291, ptr %t1292 %t1293 = load ptr, ptr %t1205 %t1294 = getelementptr inbounds %Cmp_Val, ptr %t1293, i32 0, i32 0 %t1295 = load ptr, ptr %t1294 store i32 5676, ptr @lp_site %t1296 = call ptr @lp_str_concat(ptr @.str9095, ptr %t1295) store i32 0, ptr @lp_site store i32 5677, ptr @lp_site %t1297 = call ptr @lp_str_concat(ptr %t1296, ptr @.str9096) store i32 0, ptr @lp_site call void @lp_free(ptr %t1296) %t1298 = load ptr, ptr %t1292 store i32 5678, ptr @lp_site %t1299 = call ptr @lp_str_concat(ptr %t1297, ptr %t1298) store i32 0, ptr @lp_site call void @lp_free(ptr %t1297) %t1300 = call ptr @fn_emit_bind(ptr %t1299) store ptr %t1300, ptr %t1301 %t1302 = load ptr, ptr %t1261 store i32 5679, ptr @lp_site %t1303 = call ptr @lp_str_concat(ptr @.str9097, ptr %t1302) store i32 0, ptr @lp_site store i32 5680, ptr @lp_site %t1304 = call ptr @lp_str_concat(ptr %t1303, ptr @.str9098) store i32 0, ptr @lp_site call void @lp_free(ptr %t1303) %t1305 = load ptr, ptr %t1231 %t1306 = getelementptr inbounds %Cmp_Val, ptr %t1305, i32 0, i32 0 %t1307 = load ptr, ptr %t1306 store i32 5681, ptr @lp_site %t1308 = call ptr @lp_str_concat(ptr %t1304, ptr %t1307) store i32 0, ptr @lp_site call void @lp_free(ptr %t1304) %t1309 = call ptr @fn_emit_bind(ptr %t1308) store ptr %t1309, ptr %t1310 %t1311 = load ptr, ptr %t1310 store i32 5682, ptr @lp_site %t1312 = call ptr @lp_str_concat(ptr @.str9099, ptr %t1311) store i32 0, ptr @lp_site store i32 5683, ptr @lp_site %t1313 = call ptr @lp_str_concat(ptr %t1312, ptr @.str9100) store i32 0, ptr @lp_site call void @lp_free(ptr %t1312) %t1314 = load ptr, ptr %t1218 %t1315 = getelementptr inbounds %Cmp_Val, ptr %t1314, i32 0, i32 0 %t1316 = load ptr, ptr %t1315 store i32 5684, ptr @lp_site %t1317 = call ptr @lp_str_concat(ptr %t1313, ptr %t1316) store i32 0, ptr @lp_site call void @lp_free(ptr %t1313) store i32 5685, ptr @lp_site %t1318 = call ptr @lp_str_concat(ptr %t1317, ptr @.str9101) store i32 0, ptr @lp_site call void @lp_free(ptr %t1317) %t1319 = load ptr, ptr %t1301 store i32 5686, ptr @lp_site %t1320 = call ptr @lp_str_concat(ptr %t1318, ptr %t1319) store i32 0, ptr @lp_site call void @lp_free(ptr %t1318) %t1321 = call ptr @fn_emit_bind(ptr %t1320) %t1322 = call ptr @fn_val(ptr %t1321, ptr @.str9102) store ptr %t1322, ptr %retval br label %ret ifend172: %t1323 = load ptr, ptr %t0 %t1324 = call i32 @lp_str_eq(ptr %t1323, ptr @.str9103) %t1325 = icmp ne i32 %t1324, 0 br i1 %t1325, label %then179, label %ifend181 then179: %t1326 = load ptr, ptr %t1 %t1327 = getelementptr inbounds %Cmp_Node, ptr %t1326, i32 0, i32 7 %t1328 = load ptr, ptr %t1327 %t1329 = getelementptr inbounds %LSlice, ptr %t1328, i32 0, i32 0 %t1330 = load ptr, ptr %t1329 %t1331 = getelementptr inbounds %LSlice, ptr %t1328, i32 0, i32 1 %t1332 = load i32, ptr %t1331 %t1333 = icmp ult i32 0, %t1332 br i1 %t1333, label %ixok182, label %ixbad183 ixbad183: store i32 5687, ptr @lp_site %t1334 = call ptr @lp_win_stdio(i32 2) store i32 0, ptr @lp_site call i32 (ptr, ptr, ...) @fprintf(ptr %t1334, ptr @.fmt_bounds, ptr @.str9104, i32 0, i32 %t1332) call void @exit(i32 1) unreachable ixok182: %t1335 = getelementptr inbounds ptr, ptr %t1330, i32 0 %t1336 = load ptr, ptr %t1335 %t1337 = call ptr @fn_emit_expr(ptr %t1336) store ptr %t1337, ptr %t1338 %t1339 = load ptr, ptr %t1 %t1340 = getelementptr inbounds %Cmp_Node, ptr %t1339, i32 0, i32 7 %t1341 = load ptr, ptr %t1340 %t1342 = getelementptr inbounds %LSlice, ptr %t1341, i32 0, i32 0 %t1343 = load ptr, ptr %t1342 %t1344 = getelementptr inbounds %LSlice, ptr %t1341, i32 0, i32 1 %t1345 = load i32, ptr %t1344 %t1346 = icmp ult i32 1, %t1345 br i1 %t1346, label %ixok184, label %ixbad185 ixbad185: store i32 5688, ptr @lp_site %t1347 = call ptr @lp_win_stdio(i32 2) store i32 0, ptr @lp_site call i32 (ptr, ptr, ...) @fprintf(ptr %t1347, ptr @.fmt_bounds, ptr @.str9105, i32 1, i32 %t1345) call void @exit(i32 1) unreachable ixok184: %t1348 = getelementptr inbounds ptr, ptr %t1343, i32 1 %t1349 = load ptr, ptr %t1348 %t1350 = call ptr @fn_emit_expr(ptr %t1349) store ptr %t1350, ptr %t1351 %t1352 = load ptr, ptr %t1 %t1353 = getelementptr inbounds %Cmp_Node, ptr %t1352, i32 0, i32 7 %t1354 = load ptr, ptr %t1353 %t1355 = getelementptr inbounds %LSlice, ptr %t1354, i32 0, i32 0 %t1356 = load ptr, ptr %t1355 %t1357 = getelementptr inbounds %LSlice, ptr %t1354, i32 0, i32 1 %t1358 = load i32, ptr %t1357 %t1359 = icmp ult i32 2, %t1358 br i1 %t1359, label %ixok186, label %ixbad187 ixbad187: store i32 5689, ptr @lp_site %t1360 = call ptr @lp_win_stdio(i32 2) store i32 0, ptr @lp_site call i32 (ptr, ptr, ...) @fprintf(ptr %t1360, ptr @.fmt_bounds, ptr @.str9106, i32 2, i32 %t1358) call void @exit(i32 1) unreachable ixok186: %t1361 = getelementptr inbounds ptr, ptr %t1356, i32 2 %t1362 = load ptr, ptr %t1361 %t1363 = call ptr @fn_emit_expr(ptr %t1362) store ptr %t1363, ptr %t1364 %t1365 = load ptr, ptr %t1338 %t1366 = getelementptr inbounds %Cmp_Val, ptr %t1365, i32 0, i32 0 %t1367 = load ptr, ptr %t1366 %t1368 = load ptr, ptr %t1351 %t1369 = getelementptr inbounds %Cmp_Val, ptr %t1368, i32 0, i32 0 %t1370 = load ptr, ptr %t1369 %t1371 = load ptr, ptr %t1364 %t1372 = getelementptr inbounds %Cmp_Val, ptr %t1371, i32 0, i32 0 %t1373 = load ptr, ptr %t1372 %t1374 = call ptr @fn_fx_inv_lerp_code(ptr %t1367, ptr %t1370, ptr %t1373) store ptr %t1374, ptr %t1375 %t1376 = load ptr, ptr %t1375 store i32 5690, ptr @lp_site %t1377 = call ptr @lp_str_concat(ptr @.str9107, ptr %t1376) store i32 0, ptr @lp_site store i32 5691, ptr @lp_site %t1378 = call ptr @lp_str_concat(ptr %t1377, ptr @.str9108) store i32 0, ptr @lp_site call void @lp_free(ptr %t1377) %t1379 = call ptr @fn_emit_bind(ptr %t1378) store ptr %t1379, ptr %t1380 %t1381 = load ptr, ptr %t1380 store i32 5692, ptr @lp_site %t1382 = call ptr @lp_str_concat(ptr @.str9109, ptr %t1381) store i32 0, ptr @lp_site store i32 5693, ptr @lp_site %t1383 = call ptr @lp_str_concat(ptr %t1382, ptr @.str9110) store i32 0, ptr @lp_site call void @lp_free(ptr %t1382) %t1384 = load ptr, ptr %t1375 store i32 5694, ptr @lp_site %t1385 = call ptr @lp_str_concat(ptr %t1383, ptr %t1384) store i32 0, ptr @lp_site call void @lp_free(ptr %t1383) %t1386 = call ptr @fn_emit_bind(ptr %t1385) store ptr %t1386, ptr %t1387 %t1388 = load ptr, ptr %t1387 store i32 5695, ptr @lp_site %t1389 = call ptr @lp_str_concat(ptr @.str9111, ptr %t1388) store i32 0, ptr @lp_site store i32 5696, ptr @lp_site %t1390 = call ptr @lp_str_concat(ptr %t1389, ptr @.str9112) store i32 0, ptr @lp_site call void @lp_free(ptr %t1389) %t1391 = call ptr @fn_emit_bind(ptr %t1390) store ptr %t1391, ptr %t1392 %t1393 = load ptr, ptr %t1392 store i32 5697, ptr @lp_site %t1394 = call ptr @lp_str_concat(ptr @.str9113, ptr %t1393) store i32 0, ptr @lp_site store i32 5698, ptr @lp_site %t1395 = call ptr @lp_str_concat(ptr %t1394, ptr @.str9114) store i32 0, ptr @lp_site call void @lp_free(ptr %t1394) %t1396 = load ptr, ptr %t1387 store i32 5699, ptr @lp_site %t1397 = call ptr @lp_str_concat(ptr %t1395, ptr %t1396) store i32 0, ptr @lp_site call void @lp_free(ptr %t1395) %t1398 = call ptr @fn_emit_bind(ptr %t1397) store ptr %t1398, ptr %t1399 %t1400 = load ptr, ptr %t1399 store i32 5700, ptr @lp_site %t1401 = call ptr @lp_str_concat(ptr @.str9115, ptr %t1400) store i32 0, ptr @lp_site store i32 5701, ptr @lp_site %t1402 = call ptr @lp_str_concat(ptr %t1401, ptr @.str9116) store i32 0, ptr @lp_site call void @lp_free(ptr %t1401) %t1403 = call ptr @fn_emit_bind(ptr %t1402) store ptr %t1403, ptr %t1404 %t1405 = load ptr, ptr %t1404 store i32 5702, ptr @lp_site %t1406 = call ptr @lp_str_concat(ptr @.str9117, ptr %t1405) store i32 0, ptr @lp_site %t1407 = call ptr @fn_emit_bind(ptr %t1406) store ptr %t1407, ptr %t1408 %t1409 = load ptr, ptr %t1399 %t1410 = load ptr, ptr %t1399 %t1411 = call ptr @fn_fx_mul_code(ptr %t1409, ptr %t1410) store ptr %t1411, ptr %t1412 %t1413 = load ptr, ptr %t1412 %t1414 = load ptr, ptr %t1408 %t1415 = call ptr @fn_fx_mul_code(ptr %t1413, ptr %t1414) %t1416 = call ptr @fn_val(ptr %t1415, ptr @.str9118) store ptr %t1416, ptr %retval br label %ret ifend181: %t1417 = load ptr, ptr %t1 %t1418 = getelementptr inbounds %Cmp_Node, ptr %t1417, i32 0, i32 7 %t1419 = load ptr, ptr %t1418 %t1420 = getelementptr inbounds %LSlice, ptr %t1419, i32 0, i32 0 %t1421 = load ptr, ptr %t1420 %t1422 = getelementptr inbounds %LSlice, ptr %t1419, i32 0, i32 1 %t1423 = load i32, ptr %t1422 %t1424 = icmp ult i32 0, %t1423 br i1 %t1424, label %ixok188, label %ixbad189 ixbad189: store i32 5703, ptr @lp_site %t1425 = call ptr @lp_win_stdio(i32 2) store i32 0, ptr @lp_site call i32 (ptr, ptr, ...) @fprintf(ptr %t1425, ptr @.fmt_bounds, ptr @.str9119, i32 0, i32 %t1423) call void @exit(i32 1) unreachable ixok188: %t1426 = getelementptr inbounds ptr, ptr %t1421, i32 0 %t1427 = load ptr, ptr %t1426 %t1428 = call ptr @fn_emit_expr(ptr %t1427) store ptr %t1428, ptr %t1429 %t1430 = load ptr, ptr %t1 %t1431 = getelementptr inbounds %Cmp_Node, ptr %t1430, i32 0, i32 7 %t1432 = load ptr, ptr %t1431 %t1433 = getelementptr inbounds %LSlice, ptr %t1432, i32 0, i32 0 %t1434 = load ptr, ptr %t1433 %t1435 = getelementptr inbounds %LSlice, ptr %t1432, i32 0, i32 1 %t1436 = load i32, ptr %t1435 %t1437 = icmp ult i32 1, %t1436 br i1 %t1437, label %ixok190, label %ixbad191 ixbad191: store i32 5704, ptr @lp_site %t1438 = call ptr @lp_win_stdio(i32 2) store i32 0, ptr @lp_site call i32 (ptr, ptr, ...) @fprintf(ptr %t1438, ptr @.fmt_bounds, ptr @.str9120, i32 1, i32 %t1436) call void @exit(i32 1) unreachable ixok190: %t1439 = getelementptr inbounds ptr, ptr %t1434, i32 1 %t1440 = load ptr, ptr %t1439 %t1441 = call ptr @fn_emit_expr(ptr %t1440) store ptr %t1441, ptr %t1442 %t1443 = load ptr, ptr %t1 %t1444 = getelementptr inbounds %Cmp_Node, ptr %t1443, i32 0, i32 7 %t1445 = load ptr, ptr %t1444 %t1446 = getelementptr inbounds %LSlice, ptr %t1445, i32 0, i32 0 %t1447 = load ptr, ptr %t1446 %t1448 = getelementptr inbounds %LSlice, ptr %t1445, i32 0, i32 1 %t1449 = load i32, ptr %t1448 %t1450 = icmp ult i32 2, %t1449 br i1 %t1450, label %ixok192, label %ixbad193 ixbad193: store i32 5705, ptr @lp_site %t1451 = call ptr @lp_win_stdio(i32 2) store i32 0, ptr @lp_site call i32 (ptr, ptr, ...) @fprintf(ptr %t1451, ptr @.fmt_bounds, ptr @.str9121, i32 2, i32 %t1449) call void @exit(i32 1) unreachable ixok192: %t1452 = getelementptr inbounds ptr, ptr %t1447, i32 2 %t1453 = load ptr, ptr %t1452 %t1454 = call ptr @fn_emit_expr(ptr %t1453) store ptr %t1454, ptr %t1455 %t1456 = load ptr, ptr %t1 %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 %LSlice, ptr %t1458, i32 0, i32 1 %t1462 = load i32, ptr %t1461 %t1463 = icmp ult i32 3, %t1462 br i1 %t1463, label %ixok194, label %ixbad195 ixbad195: store i32 5706, ptr @lp_site %t1464 = call ptr @lp_win_stdio(i32 2) store i32 0, ptr @lp_site call i32 (ptr, ptr, ...) @fprintf(ptr %t1464, ptr @.fmt_bounds, ptr @.str9122, i32 3, i32 %t1462) call void @exit(i32 1) unreachable ixok194: %t1465 = getelementptr inbounds ptr, ptr %t1460, i32 3 %t1466 = load ptr, ptr %t1465 %t1467 = call ptr @fn_emit_expr(ptr %t1466) store ptr %t1467, ptr %t1468 %t1469 = load ptr, ptr %t1 %t1470 = getelementptr inbounds %Cmp_Node, ptr %t1469, i32 0, i32 7 %t1471 = load ptr, ptr %t1470 %t1472 = getelementptr inbounds %LSlice, ptr %t1471, i32 0, i32 0 %t1473 = load ptr, ptr %t1472 %t1474 = getelementptr inbounds %LSlice, ptr %t1471, i32 0, i32 1 %t1475 = load i32, ptr %t1474 %t1476 = icmp ult i32 4, %t1475 br i1 %t1476, label %ixok196, label %ixbad197 ixbad197: store i32 5707, ptr @lp_site %t1477 = call ptr @lp_win_stdio(i32 2) store i32 0, ptr @lp_site call i32 (ptr, ptr, ...) @fprintf(ptr %t1477, ptr @.fmt_bounds, ptr @.str9123, i32 4, i32 %t1475) call void @exit(i32 1) unreachable ixok196: %t1478 = getelementptr inbounds ptr, ptr %t1473, i32 4 %t1479 = load ptr, ptr %t1478 %t1480 = call ptr @fn_emit_expr(ptr %t1479) store ptr %t1480, ptr %t1481 %t1482 = load ptr, ptr %t1442 %t1483 = getelementptr inbounds %Cmp_Val, ptr %t1482, i32 0, i32 0 %t1484 = load ptr, ptr %t1483 %t1485 = load ptr, ptr %t1455 %t1486 = getelementptr inbounds %Cmp_Val, ptr %t1485, i32 0, i32 0 %t1487 = load ptr, ptr %t1486 %t1488 = load ptr, ptr %t1429 %t1489 = getelementptr inbounds %Cmp_Val, ptr %t1488, i32 0, i32 0 %t1490 = load ptr, ptr %t1489 %t1491 = call ptr @fn_fx_inv_lerp_code(ptr %t1484, ptr %t1487, ptr %t1490) store ptr %t1491, ptr %t1492 %t1493 = load ptr, ptr %t1468 %t1494 = getelementptr inbounds %Cmp_Val, ptr %t1493, i32 0, i32 0 %t1495 = load ptr, ptr %t1494 %t1496 = load ptr, ptr %t1481 %t1497 = getelementptr inbounds %Cmp_Val, ptr %t1496, i32 0, i32 0 %t1498 = load ptr, ptr %t1497 %t1499 = load ptr, ptr %t1492 %t1500 = call ptr @fn_fx_lerp_code(ptr %t1495, ptr %t1498, ptr %t1499) %t1501 = call ptr @fn_val(ptr %t1500, ptr @.str9124) store ptr %t1501, ptr %retval br label %ret ret: %t1502 = load ptr, ptr %retval ret ptr %t1502 } define void @fn_emit_math_prelude() { entry: call void @fn_emith(ptr @.str9125) call void @fn_emith(ptr @.str9126) call void @fn_emith(ptr @.str9127) call void @fn_emith(ptr @.str9128) call void @fn_emith(ptr @.str9129) call void @fn_emith(ptr @.str9130) call void @fn_emith(ptr @.str9131) call void @fn_emith(ptr @.str9132) call void @fn_emith(ptr @.str9133) call void @fn_emith(ptr @.str9134) call void @fn_emith(ptr @.str9135) call void @fn_emith(ptr @.str9136) call void @fn_emith(ptr @.str9137) call void @fn_emith(ptr @.str9138) call void @fn_emith(ptr @.str9139) call void @fn_emith(ptr @.str9140) call void @fn_emith(ptr @.str9141) call void @fn_emith(ptr @.str9142) call void @fn_emith(ptr @.str9143) call void @fn_emith(ptr @.str9144) call void @fn_emith(ptr @.str9145) call void @fn_emith(ptr @.str9146) call void @fn_emith(ptr @.str9147) call void @fn_emith(ptr @.str9148) call void @fn_emith(ptr @.str9149) call void @fn_emith(ptr @.str9150) call void @fn_emith(ptr @.str9151) call void @fn_emith(ptr @.str9152) call void @fn_emith(ptr @.str9153) call void @fn_emith(ptr @.str9154) call void @fn_emith(ptr @.str9155) call void @fn_emith(ptr @.str9156) call void @fn_emith(ptr @.str9157) call void @fn_emith(ptr @.str9158) call void @fn_emith(ptr @.str9159) call void @fn_emith(ptr @.str9160) call void @fn_emith(ptr @.str9161) call void @fn_emith(ptr @.str9162) call void @fn_emith(ptr @.str9163) call void @fn_emith(ptr @.str9164) call void @fn_emith(ptr @.str9165) call void @fn_emith(ptr @.str9166) call void @fn_emith(ptr @.str9167) call void @fn_emith(ptr @.str9168) call void @fn_emith(ptr @.str9169) call void @fn_emith(ptr @.str9170) call void @fn_emith(ptr @.str9171) call void @fn_emith(ptr @.str9172) call void @fn_emith(ptr @.str9173) call void @fn_emith(ptr @.str9174) call void @fn_emith(ptr @.str9175) call void @fn_emith(ptr @.str9176) call void @fn_emith(ptr @.str9177) call void @fn_emith(ptr @.str9178) call void @fn_emith(ptr @.str9179) call void @fn_emith(ptr @.str9180) call void @fn_emith(ptr @.str9181) call void @fn_emith(ptr @.str9182) call void @fn_emith(ptr @.str9183) call void @fn_emith(ptr @.str9184) call void @fn_emith(ptr @.str9185) call void @fn_emith(ptr @.str9186) call void @fn_emith(ptr @.str9187) call void @fn_emith(ptr @.str9188) call void @fn_emith(ptr @.str9189) call void @fn_emith(ptr @.str9190) call void @fn_emith(ptr @.str9191) call void @fn_emith(ptr @.str9192) call void @fn_emith(ptr @.str9193) call void @fn_emith(ptr @.str9194) call void @fn_emith(ptr @.str9195) call void @fn_emith(ptr @.str9196) call void @fn_emith(ptr @.str9197) call void @fn_emith(ptr @.str9198) call void @fn_emith(ptr @.str9199) call void @fn_emith(ptr @.str9200) call void @fn_emith(ptr @.str9201) call void @fn_emith(ptr @.str9202) call void @fn_emith(ptr @.str9203) call void @fn_emith(ptr @.str9204) call void @fn_emith(ptr @.str9205) call void @fn_emith(ptr @.str9206) call void @fn_emith(ptr @.str9207) call void @fn_emith(ptr @.str9208) call void @fn_emith(ptr @.str9209) call void @fn_emith(ptr @.str9210) call void @fn_emith(ptr @.str9211) call void @fn_emith(ptr @.str9212) call void @fn_emith(ptr @.str9213) call void @fn_emith(ptr @.str9214) call void @fn_emith(ptr @.str9215) call void @fn_emith(ptr @.str9216) call void @fn_emith(ptr @.str9217) call void @fn_emith(ptr @.str9218) call void @fn_emith(ptr @.str9219) call void @fn_emith(ptr @.str9220) call void @fn_emith(ptr @.str9221) call void @fn_emith(ptr @.str9222) call void @fn_emith(ptr @.str9223) call void @fn_emith(ptr @.str9224) call void @fn_emith(ptr @.str9225) call void @fn_emith(ptr @.str9226) call void @fn_emith(ptr @.str9227) call void @fn_emith(ptr @.str9228) call void @fn_emith(ptr @.str9229) call void @fn_emith(ptr @.str9230) call void @fn_emith(ptr @.str9231) call void @fn_emith(ptr @.str9232) call void @fn_emith(ptr @.str9233) 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 store i32 5708, ptr @lp_site %t3 = call ptr @lp_str_concat(ptr @.str9234, ptr %t2) store i32 0, ptr @lp_site store i32 5709, ptr @lp_site %t4 = call ptr @lp_str_concat(ptr %t3, ptr @.str9236) store i32 0, ptr @lp_site call void @lp_free(ptr %t3) %t5 = call ptr @fn_emit_bind(ptr %t4) store ptr %t5, ptr %t6 %t7 = load ptr, ptr %t6 store i32 5710, ptr @lp_site %t8 = call ptr @lp_str_concat(ptr @.str9237, ptr %t7) store i32 0, ptr @lp_site store i32 5711, ptr @lp_site %t9 = call ptr @lp_str_concat(ptr %t8, ptr @.str9238) store i32 0, ptr @lp_site call void @lp_free(ptr %t8) %t10 = call ptr @fn_emit_bind(ptr %t9) store ptr %t10, ptr %t11 %t12 = load ptr, ptr %t1 store i32 5712, ptr @lp_site %t13 = call ptr @lp_str_concat(ptr @.str9239, ptr %t12) store i32 0, ptr @lp_site store i32 5713, ptr @lp_site %t14 = call ptr @lp_str_concat(ptr %t13, ptr @.str9240) store i32 0, ptr @lp_site call void @lp_free(ptr %t13) %t15 = call ptr @fn_emit_bind(ptr %t14) store ptr %t15, ptr %t16 %t17 = load ptr, ptr %t11 store i32 5714, ptr @lp_site %t18 = call ptr @lp_str_concat(ptr @.str9241, ptr %t17) store i32 0, ptr @lp_site store i32 5715, ptr @lp_site %t19 = call ptr @lp_str_concat(ptr %t18, ptr @.str9242) store i32 0, ptr @lp_site call void @lp_free(ptr %t18) %t20 = load ptr, ptr %t16 store i32 5716, ptr @lp_site %t21 = call ptr @lp_str_concat(ptr %t19, ptr %t20) store i32 0, ptr @lp_site call void @lp_free(ptr %t19) %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 store i32 5717, ptr @lp_site %t2 = call ptr @lp_str_concat(ptr @.str9243, ptr %t1) store i32 0, ptr @lp_site store i32 5718, ptr @lp_site %t3 = call ptr @lp_str_concat(ptr %t2, ptr @.str9245) store i32 0, ptr @lp_site call void @lp_free(ptr %t2) %t4 = call ptr @fn_emit_bind(ptr %t3) store ptr %t4, ptr %t5 %t6 = load ptr, ptr %t5 store i32 5719, ptr @lp_site %t7 = call ptr @lp_str_concat(ptr @.str9246, ptr %t6) store i32 0, ptr @lp_site store i32 5720, ptr @lp_site %t8 = call ptr @lp_str_concat(ptr %t7, ptr @.str9247) store i32 0, ptr @lp_site call void @lp_free(ptr %t7) %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 store i32 5721, ptr @lp_site %t2 = call ptr @lp_str_concat(ptr @.str9248, ptr %t1) store i32 0, ptr @lp_site store i32 5722, ptr @lp_site %t3 = call ptr @lp_str_concat(ptr %t2, ptr @.str9250) store i32 0, ptr @lp_site call void @lp_free(ptr %t2) %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 @.str9251) %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 @.str9252) %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 @.str9253) %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 @.str9254) %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 @.str9255) %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 @.str9256) %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 @.str9257) %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 @.str9258) %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 @.str9259) %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 @.str9260) %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 @.str9261) %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 @.str9262) %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 @.str9263) %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 @.str9264) %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 @.str9265) %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 %t21 = alloca ptr %t34 = alloca ptr %t58 = alloca ptr %t79 = alloca ptr %t100 = alloca ptr %t113 = alloca ptr %t118 = alloca ptr %t123 = alloca ptr %t128 = alloca ptr %t133 = alloca ptr %t140 = alloca ptr %t147 = alloca ptr %t167 = alloca ptr %t180 = alloca ptr %t185 = alloca ptr %t190 = alloca ptr %t195 = alloca ptr %t200 = alloca ptr %t207 = alloca ptr %t214 = alloca ptr %t234 = alloca ptr %t247 = alloca ptr %t252 = alloca ptr %t257 = alloca ptr %t263 = alloca ptr %t269 = alloca ptr %t289 = alloca ptr %t302 = alloca ptr %t307 = alloca ptr %t312 = alloca ptr %t317 = alloca ptr %t322 = alloca ptr %t326 = alloca ptr %t330 = alloca ptr %t353 = alloca ptr %t358 = alloca ptr %t363 = alloca ptr %t367 = alloca ptr %t371 = alloca ptr %t378 = alloca ptr %t399 = alloca ptr %t412 = alloca ptr %t417 = alloca ptr %t422 = alloca ptr %t427 = alloca ptr %t432 = alloca ptr %t439 = alloca ptr %t446 = alloca ptr %t450 = alloca ptr %t454 = alloca ptr %t461 = alloca ptr %t482 = alloca ptr %t487 = alloca ptr %t492 = alloca ptr %t496 = alloca ptr %t500 = alloca ptr %t507 = alloca ptr %t512 = alloca ptr %t517 = alloca ptr %t524 = alloca ptr %t527 = alloca ptr %t531 = alloca ptr %t535 = alloca ptr %t555 = alloca ptr %t568 = alloca ptr %t575 = alloca ptr %t582 = alloca ptr %t587 = alloca ptr %t592 = alloca ptr %t597 = alloca ptr %t601 = alloca ptr %t605 = alloca ptr %t609 = alloca ptr %t613 = alloca ptr %t620 = alloca ptr %t627 = alloca ptr %t647 = alloca ptr %t652 = alloca ptr %t657 = alloca ptr %t681 = alloca ptr %t688 = alloca ptr %t695 = alloca ptr %t700 = alloca ptr %t717 = alloca ptr %t730 = alloca ptr %t743 = alloca ptr %t748 = alloca ptr %t753 = alloca ptr %t758 = alloca ptr %t763 = alloca ptr %t770 = alloca ptr %t777 = 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 @.str9266) %t4 = icmp ne i32 %t3, 0 br i1 %t4, label %then0, label %ifend2 then0: %t5 = call ptr @fn_val(ptr @.str9267, ptr @.str9268) store ptr %t5, ptr %retval br label %ret ifend2: %t6 = load ptr, ptr %t0 %t7 = call i32 @lp_str_eq(ptr %t6, ptr @.str9269) %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 %LSlice, ptr %t11, i32 0, i32 1 %t15 = load i32, ptr %t14 %t16 = icmp ult i32 0, %t15 br i1 %t16, label %ixok6, label %ixbad7 ixbad7: store i32 5723, ptr @lp_site %t17 = call ptr @lp_win_stdio(i32 2) store i32 0, ptr @lp_site call i32 (ptr, ptr, ...) @fprintf(ptr %t17, ptr @.fmt_bounds, ptr @.str9270, i32 0, i32 %t15) call void @exit(i32 1) unreachable ixok6: %t18 = getelementptr inbounds ptr, ptr %t13, i32 0 %t19 = load ptr, ptr %t18 %t20 = call ptr @fn_emit_expr(ptr %t19) store ptr %t20, ptr %t21 %t22 = load ptr, ptr %t1 %t23 = getelementptr inbounds %Cmp_Node, ptr %t22, i32 0, i32 7 %t24 = load ptr, ptr %t23 %t25 = getelementptr inbounds %LSlice, ptr %t24, i32 0, i32 0 %t26 = load ptr, ptr %t25 %t27 = getelementptr inbounds %LSlice, ptr %t24, i32 0, i32 1 %t28 = load i32, ptr %t27 %t29 = icmp ult i32 1, %t28 br i1 %t29, label %ixok8, label %ixbad9 ixbad9: store i32 5724, ptr @lp_site %t30 = call ptr @lp_win_stdio(i32 2) store i32 0, ptr @lp_site call i32 (ptr, ptr, ...) @fprintf(ptr %t30, ptr @.fmt_bounds, ptr @.str9272, i32 1, i32 %t28) call void @exit(i32 1) unreachable ixok8: %t31 = getelementptr inbounds ptr, ptr %t26, i32 1 %t32 = load ptr, ptr %t31 %t33 = call ptr @fn_emit_expr(ptr %t32) store ptr %t33, ptr %t34 %t35 = load ptr, ptr %t21 %t36 = getelementptr inbounds %Cmp_Val, ptr %t35, i32 0, i32 0 %t37 = load ptr, ptr %t36 %t38 = load ptr, ptr %t34 %t39 = getelementptr inbounds %Cmp_Val, ptr %t38, i32 0, i32 0 %t40 = load ptr, ptr %t39 %t41 = call ptr @fn_vec_pack(ptr %t37, ptr %t40) %t42 = call ptr @fn_val(ptr %t41, ptr @.str9273) store ptr %t42, ptr %retval br label %ret ifend5: %t43 = load ptr, ptr %t0 %t44 = call i32 @lp_str_eq(ptr %t43, ptr @.str9274) %t45 = icmp ne i32 %t44, 0 br i1 %t45, label %then10, label %ifend12 then10: %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 %LSlice, ptr %t48, i32 0, i32 1 %t52 = load i32, ptr %t51 %t53 = icmp ult i32 0, %t52 br i1 %t53, label %ixok13, label %ixbad14 ixbad14: store i32 5725, ptr @lp_site %t54 = call ptr @lp_win_stdio(i32 2) store i32 0, ptr @lp_site call i32 (ptr, ptr, ...) @fprintf(ptr %t54, ptr @.fmt_bounds, ptr @.str9275, i32 0, i32 %t52) call void @exit(i32 1) unreachable ixok13: %t55 = getelementptr inbounds ptr, ptr %t50, i32 0 %t56 = load ptr, ptr %t55 %t57 = call ptr @fn_emit_expr(ptr %t56) store ptr %t57, ptr %t58 %t59 = load ptr, ptr %t58 %t60 = getelementptr inbounds %Cmp_Val, ptr %t59, i32 0, i32 0 %t61 = load ptr, ptr %t60 %t62 = call ptr @fn_vec_x(ptr %t61) %t63 = call ptr @fn_val(ptr %t62, ptr @.str9276) store ptr %t63, ptr %retval br label %ret ifend12: %t64 = load ptr, ptr %t0 %t65 = call i32 @lp_str_eq(ptr %t64, ptr @.str9277) %t66 = icmp ne i32 %t65, 0 br i1 %t66, label %then15, label %ifend17 then15: %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 %LSlice, ptr %t69, i32 0, i32 1 %t73 = load i32, ptr %t72 %t74 = icmp ult i32 0, %t73 br i1 %t74, label %ixok18, label %ixbad19 ixbad19: store i32 5726, ptr @lp_site %t75 = call ptr @lp_win_stdio(i32 2) store i32 0, ptr @lp_site call i32 (ptr, ptr, ...) @fprintf(ptr %t75, ptr @.fmt_bounds, ptr @.str9278, i32 0, i32 %t73) call void @exit(i32 1) unreachable ixok18: %t76 = getelementptr inbounds ptr, ptr %t71, 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_vec_y(ptr %t82) %t84 = call ptr @fn_val(ptr %t83, ptr @.str9279) store ptr %t84, ptr %retval br label %ret ifend17: %t85 = load ptr, ptr %t0 %t86 = call i32 @lp_str_eq(ptr %t85, ptr @.str9280) %t87 = icmp ne i32 %t86, 0 br i1 %t87, label %then20, label %ifend22 then20: %t88 = load ptr, ptr %t1 %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 = getelementptr inbounds %LSlice, ptr %t90, i32 0, i32 1 %t94 = load i32, ptr %t93 %t95 = icmp ult i32 0, %t94 br i1 %t95, label %ixok23, label %ixbad24 ixbad24: store i32 5727, ptr @lp_site %t96 = call ptr @lp_win_stdio(i32 2) store i32 0, ptr @lp_site call i32 (ptr, ptr, ...) @fprintf(ptr %t96, ptr @.fmt_bounds, ptr @.str9281, i32 0, i32 %t94) call void @exit(i32 1) unreachable ixok23: %t97 = getelementptr inbounds ptr, ptr %t92, i32 0 %t98 = load ptr, ptr %t97 %t99 = call ptr @fn_emit_expr(ptr %t98) store ptr %t99, ptr %t100 %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 %LSlice, ptr %t103, i32 0, i32 1 %t107 = load i32, ptr %t106 %t108 = icmp ult i32 1, %t107 br i1 %t108, label %ixok25, label %ixbad26 ixbad26: store i32 5728, ptr @lp_site %t109 = call ptr @lp_win_stdio(i32 2) store i32 0, ptr @lp_site call i32 (ptr, ptr, ...) @fprintf(ptr %t109, ptr @.fmt_bounds, ptr @.str9282, i32 1, i32 %t107) call void @exit(i32 1) unreachable ixok25: %t110 = getelementptr inbounds ptr, ptr %t105, i32 1 %t111 = load ptr, ptr %t110 %t112 = call ptr @fn_emit_expr(ptr %t111) store ptr %t112, ptr %t113 %t114 = load ptr, ptr %t100 %t115 = getelementptr inbounds %Cmp_Val, ptr %t114, i32 0, i32 0 %t116 = load ptr, ptr %t115 %t117 = call ptr @fn_vec_x(ptr %t116) store ptr %t117, ptr %t118 %t119 = load ptr, ptr %t100 %t120 = getelementptr inbounds %Cmp_Val, ptr %t119, i32 0, i32 0 %t121 = load ptr, ptr %t120 %t122 = call ptr @fn_vec_y(ptr %t121) store ptr %t122, ptr %t123 %t124 = load ptr, ptr %t113 %t125 = getelementptr inbounds %Cmp_Val, ptr %t124, i32 0, i32 0 %t126 = load ptr, ptr %t125 %t127 = call ptr @fn_vec_x(ptr %t126) store ptr %t127, ptr %t128 %t129 = load ptr, ptr %t113 %t130 = getelementptr inbounds %Cmp_Val, ptr %t129, i32 0, i32 0 %t131 = load ptr, ptr %t130 %t132 = call ptr @fn_vec_y(ptr %t131) store ptr %t132, ptr %t133 %t134 = load ptr, ptr %t118 store i32 5729, ptr @lp_site %t135 = call ptr @lp_str_concat(ptr @.str9283, ptr %t134) store i32 0, ptr @lp_site store i32 5730, ptr @lp_site %t136 = call ptr @lp_str_concat(ptr %t135, ptr @.str9284) store i32 0, ptr @lp_site call void @lp_free(ptr %t135) %t137 = load ptr, ptr %t128 store i32 5731, ptr @lp_site %t138 = call ptr @lp_str_concat(ptr %t136, ptr %t137) store i32 0, ptr @lp_site call void @lp_free(ptr %t136) %t139 = call ptr @fn_emit_bind(ptr %t138) store ptr %t139, ptr %t140 %t141 = load ptr, ptr %t123 store i32 5732, ptr @lp_site %t142 = call ptr @lp_str_concat(ptr @.str9285, ptr %t141) store i32 0, ptr @lp_site store i32 5733, ptr @lp_site %t143 = call ptr @lp_str_concat(ptr %t142, ptr @.str9286) store i32 0, ptr @lp_site call void @lp_free(ptr %t142) %t144 = load ptr, ptr %t133 store i32 5734, ptr @lp_site %t145 = call ptr @lp_str_concat(ptr %t143, ptr %t144) store i32 0, ptr @lp_site call void @lp_free(ptr %t143) %t146 = call ptr @fn_emit_bind(ptr %t145) store ptr %t146, ptr %t147 %t148 = load ptr, ptr %t140 %t149 = load ptr, ptr %t147 %t150 = call ptr @fn_vec_pack(ptr %t148, ptr %t149) %t151 = call ptr @fn_val(ptr %t150, ptr @.str9287) store ptr %t151, ptr %retval br label %ret ifend22: %t152 = load ptr, ptr %t0 %t153 = call i32 @lp_str_eq(ptr %t152, ptr @.str9288) %t154 = icmp ne i32 %t153, 0 br i1 %t154, label %then27, label %ifend29 then27: %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 %LSlice, ptr %t157, i32 0, i32 1 %t161 = load i32, ptr %t160 %t162 = icmp ult i32 0, %t161 br i1 %t162, label %ixok30, label %ixbad31 ixbad31: store i32 5735, ptr @lp_site %t163 = call ptr @lp_win_stdio(i32 2) store i32 0, ptr @lp_site call i32 (ptr, ptr, ...) @fprintf(ptr %t163, ptr @.fmt_bounds, ptr @.str9289, i32 0, i32 %t161) call void @exit(i32 1) unreachable ixok30: %t164 = getelementptr inbounds ptr, ptr %t159, i32 0 %t165 = load ptr, ptr %t164 %t166 = call ptr @fn_emit_expr(ptr %t165) store ptr %t166, ptr %t167 %t168 = load ptr, ptr %t1 %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 = getelementptr inbounds %LSlice, ptr %t170, i32 0, i32 1 %t174 = load i32, ptr %t173 %t175 = icmp ult i32 1, %t174 br i1 %t175, label %ixok32, label %ixbad33 ixbad33: store i32 5736, ptr @lp_site %t176 = call ptr @lp_win_stdio(i32 2) store i32 0, ptr @lp_site call i32 (ptr, ptr, ...) @fprintf(ptr %t176, ptr @.fmt_bounds, ptr @.str9290, i32 1, i32 %t174) call void @exit(i32 1) unreachable ixok32: %t177 = getelementptr inbounds ptr, ptr %t172, i32 1 %t178 = load ptr, ptr %t177 %t179 = call ptr @fn_emit_expr(ptr %t178) store ptr %t179, ptr %t180 %t181 = load ptr, ptr %t167 %t182 = getelementptr inbounds %Cmp_Val, ptr %t181, i32 0, i32 0 %t183 = load ptr, ptr %t182 %t184 = call ptr @fn_vec_x(ptr %t183) store ptr %t184, ptr %t185 %t186 = load ptr, ptr %t167 %t187 = getelementptr inbounds %Cmp_Val, ptr %t186, i32 0, i32 0 %t188 = load ptr, ptr %t187 %t189 = call ptr @fn_vec_y(ptr %t188) store ptr %t189, ptr %t190 %t191 = load ptr, ptr %t180 %t192 = getelementptr inbounds %Cmp_Val, ptr %t191, i32 0, i32 0 %t193 = load ptr, ptr %t192 %t194 = call ptr @fn_vec_x(ptr %t193) store ptr %t194, ptr %t195 %t196 = load ptr, ptr %t180 %t197 = getelementptr inbounds %Cmp_Val, ptr %t196, i32 0, i32 0 %t198 = load ptr, ptr %t197 %t199 = call ptr @fn_vec_y(ptr %t198) store ptr %t199, ptr %t200 %t201 = load ptr, ptr %t185 store i32 5737, ptr @lp_site %t202 = call ptr @lp_str_concat(ptr @.str9291, ptr %t201) store i32 0, ptr @lp_site store i32 5738, ptr @lp_site %t203 = call ptr @lp_str_concat(ptr %t202, ptr @.str9292) store i32 0, ptr @lp_site call void @lp_free(ptr %t202) %t204 = load ptr, ptr %t195 store i32 5739, ptr @lp_site %t205 = call ptr @lp_str_concat(ptr %t203, ptr %t204) store i32 0, ptr @lp_site call void @lp_free(ptr %t203) %t206 = call ptr @fn_emit_bind(ptr %t205) store ptr %t206, ptr %t207 %t208 = load ptr, ptr %t190 store i32 5740, ptr @lp_site %t209 = call ptr @lp_str_concat(ptr @.str9293, ptr %t208) store i32 0, ptr @lp_site store i32 5741, ptr @lp_site %t210 = call ptr @lp_str_concat(ptr %t209, ptr @.str9294) store i32 0, ptr @lp_site call void @lp_free(ptr %t209) %t211 = load ptr, ptr %t200 store i32 5742, ptr @lp_site %t212 = call ptr @lp_str_concat(ptr %t210, ptr %t211) store i32 0, ptr @lp_site call void @lp_free(ptr %t210) %t213 = call ptr @fn_emit_bind(ptr %t212) store ptr %t213, ptr %t214 %t215 = load ptr, ptr %t207 %t216 = load ptr, ptr %t214 %t217 = call ptr @fn_vec_pack(ptr %t215, ptr %t216) %t218 = call ptr @fn_val(ptr %t217, ptr @.str9295) store ptr %t218, ptr %retval br label %ret ifend29: %t219 = load ptr, ptr %t0 %t220 = call i32 @lp_str_eq(ptr %t219, ptr @.str9296) %t221 = icmp ne i32 %t220, 0 br i1 %t221, label %then34, label %ifend36 then34: %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 %LSlice, ptr %t224, i32 0, i32 1 %t228 = load i32, ptr %t227 %t229 = icmp ult i32 0, %t228 br i1 %t229, label %ixok37, label %ixbad38 ixbad38: store i32 5743, ptr @lp_site %t230 = call ptr @lp_win_stdio(i32 2) store i32 0, ptr @lp_site call i32 (ptr, ptr, ...) @fprintf(ptr %t230, ptr @.fmt_bounds, ptr @.str9297, i32 0, i32 %t228) call void @exit(i32 1) unreachable ixok37: %t231 = getelementptr inbounds ptr, ptr %t226, 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 %LSlice, ptr %t237, i32 0, i32 1 %t241 = load i32, ptr %t240 %t242 = icmp ult i32 1, %t241 br i1 %t242, label %ixok39, label %ixbad40 ixbad40: store i32 5744, ptr @lp_site %t243 = call ptr @lp_win_stdio(i32 2) store i32 0, ptr @lp_site call i32 (ptr, ptr, ...) @fprintf(ptr %t243, ptr @.fmt_bounds, ptr @.str9298, i32 1, i32 %t241) call void @exit(i32 1) unreachable ixok39: %t244 = getelementptr inbounds ptr, ptr %t239, i32 1 %t245 = load ptr, ptr %t244 %t246 = call ptr @fn_emit_expr(ptr %t245) store ptr %t246, ptr %t247 %t248 = load ptr, ptr %t234 %t249 = getelementptr inbounds %Cmp_Val, ptr %t248, i32 0, i32 0 %t250 = load ptr, ptr %t249 %t251 = call ptr @fn_vec_x(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 @fn_vec_y(ptr %t255) store ptr %t256, ptr %t257 %t258 = load ptr, ptr %t252 %t259 = load ptr, ptr %t247 %t260 = getelementptr inbounds %Cmp_Val, ptr %t259, i32 0, i32 0 %t261 = load ptr, ptr %t260 %t262 = call ptr @fn_fx_mul_code(ptr %t258, ptr %t261) store ptr %t262, ptr %t263 %t264 = load ptr, ptr %t257 %t265 = load ptr, ptr %t247 %t266 = getelementptr inbounds %Cmp_Val, ptr %t265, i32 0, i32 0 %t267 = load ptr, ptr %t266 %t268 = call ptr @fn_fx_mul_code(ptr %t264, ptr %t267) store ptr %t268, ptr %t269 %t270 = load ptr, ptr %t263 %t271 = load ptr, ptr %t269 %t272 = call ptr @fn_vec_pack(ptr %t270, ptr %t271) %t273 = call ptr @fn_val(ptr %t272, ptr @.str9299) store ptr %t273, ptr %retval br label %ret ifend36: %t274 = load ptr, ptr %t0 %t275 = call i32 @lp_str_eq(ptr %t274, ptr @.str9300) %t276 = icmp ne i32 %t275, 0 br i1 %t276, label %then41, label %ifend43 then41: %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 %LSlice, ptr %t279, i32 0, i32 1 %t283 = load i32, ptr %t282 %t284 = icmp ult i32 0, %t283 br i1 %t284, label %ixok44, label %ixbad45 ixbad45: store i32 5745, ptr @lp_site %t285 = call ptr @lp_win_stdio(i32 2) store i32 0, ptr @lp_site call i32 (ptr, ptr, ...) @fprintf(ptr %t285, ptr @.fmt_bounds, ptr @.str9301, i32 0, i32 %t283) call void @exit(i32 1) unreachable ixok44: %t286 = getelementptr inbounds ptr, ptr %t281, i32 0 %t287 = load ptr, ptr %t286 %t288 = call ptr @fn_emit_expr(ptr %t287) store ptr %t288, ptr %t289 %t290 = load ptr, ptr %t1 %t291 = getelementptr inbounds %Cmp_Node, ptr %t290, i32 0, i32 7 %t292 = load ptr, ptr %t291 %t293 = getelementptr inbounds %LSlice, ptr %t292, i32 0, i32 0 %t294 = load ptr, ptr %t293 %t295 = getelementptr inbounds %LSlice, ptr %t292, i32 0, i32 1 %t296 = load i32, ptr %t295 %t297 = icmp ult i32 1, %t296 br i1 %t297, label %ixok46, label %ixbad47 ixbad47: store i32 5746, ptr @lp_site %t298 = call ptr @lp_win_stdio(i32 2) store i32 0, ptr @lp_site call i32 (ptr, ptr, ...) @fprintf(ptr %t298, ptr @.fmt_bounds, ptr @.str9302, i32 1, i32 %t296) call void @exit(i32 1) unreachable ixok46: %t299 = getelementptr inbounds ptr, ptr %t294, i32 1 %t300 = load ptr, ptr %t299 %t301 = call ptr @fn_emit_expr(ptr %t300) store ptr %t301, ptr %t302 %t303 = load ptr, ptr %t289 %t304 = getelementptr inbounds %Cmp_Val, ptr %t303, i32 0, i32 0 %t305 = load ptr, ptr %t304 %t306 = call ptr @fn_vec_x(ptr %t305) store ptr %t306, ptr %t307 %t308 = load ptr, ptr %t289 %t309 = getelementptr inbounds %Cmp_Val, ptr %t308, i32 0, i32 0 %t310 = load ptr, ptr %t309 %t311 = call ptr @fn_vec_y(ptr %t310) store ptr %t311, ptr %t312 %t313 = load ptr, ptr %t302 %t314 = getelementptr inbounds %Cmp_Val, ptr %t313, i32 0, i32 0 %t315 = load ptr, ptr %t314 %t316 = call ptr @fn_vec_x(ptr %t315) store ptr %t316, ptr %t317 %t318 = load ptr, ptr %t302 %t319 = getelementptr inbounds %Cmp_Val, ptr %t318, i32 0, i32 0 %t320 = load ptr, ptr %t319 %t321 = call ptr @fn_vec_y(ptr %t320) store ptr %t321, ptr %t322 %t323 = load ptr, ptr %t307 %t324 = load ptr, ptr %t317 %t325 = call ptr @fn_fx_mul_code(ptr %t323, ptr %t324) store ptr %t325, ptr %t326 %t327 = load ptr, ptr %t312 %t328 = load ptr, ptr %t322 %t329 = call ptr @fn_fx_mul_code(ptr %t327, ptr %t328) store ptr %t329, ptr %t330 %t331 = load ptr, ptr %t326 store i32 5747, ptr @lp_site %t332 = call ptr @lp_str_concat(ptr @.str9303, ptr %t331) store i32 0, ptr @lp_site store i32 5748, ptr @lp_site %t333 = call ptr @lp_str_concat(ptr %t332, ptr @.str9304) store i32 0, ptr @lp_site call void @lp_free(ptr %t332) %t334 = load ptr, ptr %t330 store i32 5749, ptr @lp_site %t335 = call ptr @lp_str_concat(ptr %t333, ptr %t334) store i32 0, ptr @lp_site call void @lp_free(ptr %t333) %t336 = call ptr @fn_emit_bind(ptr %t335) %t337 = call ptr @fn_val(ptr %t336, ptr @.str9305) store ptr %t337, ptr %retval br label %ret ifend43: %t338 = load ptr, ptr %t0 %t339 = call i32 @lp_str_eq(ptr %t338, ptr @.str9306) %t340 = icmp ne i32 %t339, 0 br i1 %t340, label %then48, label %ifend50 then48: store i32 1, ptr @g_g_uses_mathrt %t341 = load ptr, ptr %t1 %t342 = getelementptr inbounds %Cmp_Node, ptr %t341, i32 0, i32 7 %t343 = load ptr, ptr %t342 %t344 = getelementptr inbounds %LSlice, ptr %t343, i32 0, i32 0 %t345 = load ptr, ptr %t344 %t346 = getelementptr inbounds %LSlice, ptr %t343, i32 0, i32 1 %t347 = load i32, ptr %t346 %t348 = icmp ult i32 0, %t347 br i1 %t348, label %ixok51, label %ixbad52 ixbad52: store i32 5750, ptr @lp_site %t349 = call ptr @lp_win_stdio(i32 2) store i32 0, ptr @lp_site call i32 (ptr, ptr, ...) @fprintf(ptr %t349, ptr @.fmt_bounds, ptr @.str9307, i32 0, i32 %t347) call void @exit(i32 1) unreachable ixok51: %t350 = getelementptr inbounds ptr, ptr %t345, i32 0 %t351 = load ptr, ptr %t350 %t352 = call ptr @fn_emit_expr(ptr %t351) store ptr %t352, ptr %t353 %t354 = load ptr, ptr %t353 %t355 = getelementptr inbounds %Cmp_Val, ptr %t354, i32 0, i32 0 %t356 = load ptr, ptr %t355 %t357 = call ptr @fn_vec_x(ptr %t356) store ptr %t357, ptr %t358 %t359 = load ptr, ptr %t353 %t360 = getelementptr inbounds %Cmp_Val, ptr %t359, i32 0, i32 0 %t361 = load ptr, ptr %t360 %t362 = call ptr @fn_vec_y(ptr %t361) store ptr %t362, ptr %t363 %t364 = load ptr, ptr %t358 %t365 = load ptr, ptr %t358 %t366 = call ptr @fn_fx_mul_code(ptr %t364, ptr %t365) store ptr %t366, ptr %t367 %t368 = load ptr, ptr %t363 %t369 = load ptr, ptr %t363 %t370 = call ptr @fn_fx_mul_code(ptr %t368, ptr %t369) store ptr %t370, ptr %t371 %t372 = load ptr, ptr %t367 store i32 5751, ptr @lp_site %t373 = call ptr @lp_str_concat(ptr @.str9308, ptr %t372) store i32 0, ptr @lp_site store i32 5752, ptr @lp_site %t374 = call ptr @lp_str_concat(ptr %t373, ptr @.str9309) store i32 0, ptr @lp_site call void @lp_free(ptr %t373) %t375 = load ptr, ptr %t371 store i32 5753, ptr @lp_site %t376 = call ptr @lp_str_concat(ptr %t374, ptr %t375) store i32 0, ptr @lp_site call void @lp_free(ptr %t374) %t377 = call ptr @fn_emit_bind(ptr %t376) store ptr %t377, ptr %t378 %t379 = load ptr, ptr %t378 store i32 5754, ptr @lp_site %t380 = call ptr @lp_str_concat(ptr @.str9310, ptr %t379) store i32 0, ptr @lp_site store i32 5755, ptr @lp_site %t381 = call ptr @lp_str_concat(ptr %t380, ptr @.str9311) store i32 0, ptr @lp_site call void @lp_free(ptr %t380) %t382 = call ptr @fn_emit_bind(ptr %t381) %t383 = call ptr @fn_val(ptr %t382, ptr @.str9312) store ptr %t383, ptr %retval br label %ret ifend50: %t384 = load ptr, ptr %t0 %t385 = call i32 @lp_str_eq(ptr %t384, ptr @.str9313) %t386 = icmp ne i32 %t385, 0 br i1 %t386, label %then53, label %ifend55 then53: store i32 1, ptr @g_g_uses_mathrt %t387 = load ptr, ptr %t1 %t388 = getelementptr inbounds %Cmp_Node, ptr %t387, i32 0, i32 7 %t389 = load ptr, ptr %t388 %t390 = getelementptr inbounds %LSlice, ptr %t389, i32 0, i32 0 %t391 = load ptr, ptr %t390 %t392 = getelementptr inbounds %LSlice, ptr %t389, i32 0, i32 1 %t393 = load i32, ptr %t392 %t394 = icmp ult i32 0, %t393 br i1 %t394, label %ixok56, label %ixbad57 ixbad57: store i32 5756, ptr @lp_site %t395 = call ptr @lp_win_stdio(i32 2) store i32 0, ptr @lp_site call i32 (ptr, ptr, ...) @fprintf(ptr %t395, ptr @.fmt_bounds, ptr @.str9314, i32 0, i32 %t393) call void @exit(i32 1) unreachable ixok56: %t396 = getelementptr inbounds ptr, ptr %t391, i32 0 %t397 = load ptr, ptr %t396 %t398 = call ptr @fn_emit_expr(ptr %t397) store ptr %t398, ptr %t399 %t400 = load ptr, ptr %t1 %t401 = getelementptr inbounds %Cmp_Node, ptr %t400, i32 0, i32 7 %t402 = load ptr, ptr %t401 %t403 = getelementptr inbounds %LSlice, ptr %t402, i32 0, i32 0 %t404 = load ptr, ptr %t403 %t405 = getelementptr inbounds %LSlice, ptr %t402, i32 0, i32 1 %t406 = load i32, ptr %t405 %t407 = icmp ult i32 1, %t406 br i1 %t407, label %ixok58, label %ixbad59 ixbad59: store i32 5757, ptr @lp_site %t408 = call ptr @lp_win_stdio(i32 2) store i32 0, ptr @lp_site call i32 (ptr, ptr, ...) @fprintf(ptr %t408, ptr @.fmt_bounds, ptr @.str9315, i32 1, i32 %t406) call void @exit(i32 1) unreachable ixok58: %t409 = getelementptr inbounds ptr, ptr %t404, i32 1 %t410 = load ptr, ptr %t409 %t411 = call ptr @fn_emit_expr(ptr %t410) store ptr %t411, ptr %t412 %t413 = load ptr, ptr %t399 %t414 = getelementptr inbounds %Cmp_Val, ptr %t413, i32 0, i32 0 %t415 = load ptr, ptr %t414 %t416 = call ptr @fn_vec_x(ptr %t415) store ptr %t416, ptr %t417 %t418 = load ptr, ptr %t399 %t419 = getelementptr inbounds %Cmp_Val, ptr %t418, i32 0, i32 0 %t420 = load ptr, ptr %t419 %t421 = call ptr @fn_vec_y(ptr %t420) store ptr %t421, ptr %t422 %t423 = load ptr, ptr %t412 %t424 = getelementptr inbounds %Cmp_Val, ptr %t423, i32 0, i32 0 %t425 = load ptr, ptr %t424 %t426 = call ptr @fn_vec_x(ptr %t425) store ptr %t426, ptr %t427 %t428 = load ptr, ptr %t412 %t429 = getelementptr inbounds %Cmp_Val, ptr %t428, i32 0, i32 0 %t430 = load ptr, ptr %t429 %t431 = call ptr @fn_vec_y(ptr %t430) store ptr %t431, ptr %t432 %t433 = load ptr, ptr %t417 store i32 5758, ptr @lp_site %t434 = call ptr @lp_str_concat(ptr @.str9316, ptr %t433) store i32 0, ptr @lp_site store i32 5759, ptr @lp_site %t435 = call ptr @lp_str_concat(ptr %t434, ptr @.str9317) store i32 0, ptr @lp_site call void @lp_free(ptr %t434) %t436 = load ptr, ptr %t427 store i32 5760, ptr @lp_site %t437 = call ptr @lp_str_concat(ptr %t435, ptr %t436) store i32 0, ptr @lp_site call void @lp_free(ptr %t435) %t438 = call ptr @fn_emit_bind(ptr %t437) store ptr %t438, ptr %t439 %t440 = load ptr, ptr %t422 store i32 5761, ptr @lp_site %t441 = call ptr @lp_str_concat(ptr @.str9318, ptr %t440) store i32 0, ptr @lp_site store i32 5762, ptr @lp_site %t442 = call ptr @lp_str_concat(ptr %t441, ptr @.str9319) store i32 0, ptr @lp_site call void @lp_free(ptr %t441) %t443 = load ptr, ptr %t432 store i32 5763, ptr @lp_site %t444 = call ptr @lp_str_concat(ptr %t442, ptr %t443) store i32 0, ptr @lp_site call void @lp_free(ptr %t442) %t445 = call ptr @fn_emit_bind(ptr %t444) store ptr %t445, ptr %t446 %t447 = load ptr, ptr %t439 %t448 = load ptr, ptr %t439 %t449 = call ptr @fn_fx_mul_code(ptr %t447, ptr %t448) store ptr %t449, ptr %t450 %t451 = load ptr, ptr %t446 %t452 = load ptr, ptr %t446 %t453 = call ptr @fn_fx_mul_code(ptr %t451, ptr %t452) store ptr %t453, ptr %t454 %t455 = load ptr, ptr %t450 store i32 5764, ptr @lp_site %t456 = call ptr @lp_str_concat(ptr @.str9320, ptr %t455) store i32 0, ptr @lp_site store i32 5765, ptr @lp_site %t457 = call ptr @lp_str_concat(ptr %t456, ptr @.str9321) store i32 0, ptr @lp_site call void @lp_free(ptr %t456) %t458 = load ptr, ptr %t454 store i32 5766, ptr @lp_site %t459 = call ptr @lp_str_concat(ptr %t457, ptr %t458) store i32 0, ptr @lp_site call void @lp_free(ptr %t457) %t460 = call ptr @fn_emit_bind(ptr %t459) store ptr %t460, ptr %t461 %t462 = load ptr, ptr %t461 store i32 5767, ptr @lp_site %t463 = call ptr @lp_str_concat(ptr @.str9322, ptr %t462) store i32 0, ptr @lp_site store i32 5768, ptr @lp_site %t464 = call ptr @lp_str_concat(ptr %t463, ptr @.str9323) store i32 0, ptr @lp_site call void @lp_free(ptr %t463) %t465 = call ptr @fn_emit_bind(ptr %t464) %t466 = call ptr @fn_val(ptr %t465, ptr @.str9324) store ptr %t466, ptr %retval br label %ret ifend55: %t467 = load ptr, ptr %t0 %t468 = call i32 @lp_str_eq(ptr %t467, ptr @.str9325) %t469 = icmp ne i32 %t468, 0 br i1 %t469, label %then60, label %ifend62 then60: store i32 1, ptr @g_g_uses_mathrt %t470 = load ptr, ptr %t1 %t471 = getelementptr inbounds %Cmp_Node, ptr %t470, i32 0, i32 7 %t472 = load ptr, ptr %t471 %t473 = getelementptr inbounds %LSlice, ptr %t472, i32 0, i32 0 %t474 = load ptr, ptr %t473 %t475 = getelementptr inbounds %LSlice, ptr %t472, i32 0, i32 1 %t476 = load i32, ptr %t475 %t477 = icmp ult i32 0, %t476 br i1 %t477, label %ixok63, label %ixbad64 ixbad64: store i32 5769, ptr @lp_site %t478 = call ptr @lp_win_stdio(i32 2) store i32 0, ptr @lp_site call i32 (ptr, ptr, ...) @fprintf(ptr %t478, ptr @.fmt_bounds, ptr @.str9326, i32 0, i32 %t476) call void @exit(i32 1) unreachable ixok63: %t479 = getelementptr inbounds ptr, ptr %t474, i32 0 %t480 = load ptr, ptr %t479 %t481 = call ptr @fn_emit_expr(ptr %t480) store ptr %t481, ptr %t482 %t483 = load ptr, ptr %t482 %t484 = getelementptr inbounds %Cmp_Val, ptr %t483, i32 0, i32 0 %t485 = load ptr, ptr %t484 %t486 = call ptr @fn_vec_x(ptr %t485) store ptr %t486, ptr %t487 %t488 = load ptr, ptr %t482 %t489 = getelementptr inbounds %Cmp_Val, ptr %t488, i32 0, i32 0 %t490 = load ptr, ptr %t489 %t491 = call ptr @fn_vec_y(ptr %t490) store ptr %t491, ptr %t492 %t493 = load ptr, ptr %t487 %t494 = load ptr, ptr %t487 %t495 = call ptr @fn_fx_mul_code(ptr %t493, ptr %t494) store ptr %t495, ptr %t496 %t497 = load ptr, ptr %t492 %t498 = load ptr, ptr %t492 %t499 = call ptr @fn_fx_mul_code(ptr %t497, ptr %t498) store ptr %t499, ptr %t500 %t501 = load ptr, ptr %t496 store i32 5770, ptr @lp_site %t502 = call ptr @lp_str_concat(ptr @.str9327, ptr %t501) store i32 0, ptr @lp_site store i32 5771, ptr @lp_site %t503 = call ptr @lp_str_concat(ptr %t502, ptr @.str9328) store i32 0, ptr @lp_site call void @lp_free(ptr %t502) %t504 = load ptr, ptr %t500 store i32 5772, ptr @lp_site %t505 = call ptr @lp_str_concat(ptr %t503, ptr %t504) store i32 0, ptr @lp_site call void @lp_free(ptr %t503) %t506 = call ptr @fn_emit_bind(ptr %t505) store ptr %t506, ptr %t507 %t508 = load ptr, ptr %t507 store i32 5773, ptr @lp_site %t509 = call ptr @lp_str_concat(ptr @.str9329, ptr %t508) store i32 0, ptr @lp_site store i32 5774, ptr @lp_site %t510 = call ptr @lp_str_concat(ptr %t509, ptr @.str9330) store i32 0, ptr @lp_site call void @lp_free(ptr %t509) %t511 = call ptr @fn_emit_bind(ptr %t510) store ptr %t511, ptr %t512 %t513 = load ptr, ptr %t512 store i32 5775, ptr @lp_site %t514 = call ptr @lp_str_concat(ptr @.str9331, ptr %t513) store i32 0, ptr @lp_site store i32 5776, ptr @lp_site %t515 = call ptr @lp_str_concat(ptr %t514, ptr @.str9332) store i32 0, ptr @lp_site call void @lp_free(ptr %t514) %t516 = call ptr @fn_emit_bind(ptr %t515) store ptr %t516, ptr %t517 %t518 = load ptr, ptr %t517 store i32 5777, ptr @lp_site %t519 = call ptr @lp_str_concat(ptr @.str9333, ptr %t518) store i32 0, ptr @lp_site store i32 5778, ptr @lp_site %t520 = call ptr @lp_str_concat(ptr %t519, ptr @.str9334) store i32 0, ptr @lp_site call void @lp_free(ptr %t519) %t521 = load ptr, ptr %t512 store i32 5779, ptr @lp_site %t522 = call ptr @lp_str_concat(ptr %t520, ptr %t521) store i32 0, ptr @lp_site call void @lp_free(ptr %t520) %t523 = call ptr @fn_emit_bind(ptr %t522) store ptr %t523, ptr %t524 %t525 = load ptr, ptr %t524 %t526 = call ptr @fn_fx_div_code(ptr @.str9335, ptr %t525) store ptr %t526, ptr %t527 %t528 = load ptr, ptr %t487 %t529 = load ptr, ptr %t527 %t530 = call ptr @fn_fx_mul_code(ptr %t528, ptr %t529) store ptr %t530, ptr %t531 %t532 = load ptr, ptr %t492 %t533 = load ptr, ptr %t527 %t534 = call ptr @fn_fx_mul_code(ptr %t532, ptr %t533) store ptr %t534, ptr %t535 %t536 = load ptr, ptr %t531 %t537 = load ptr, ptr %t535 %t538 = call ptr @fn_vec_pack(ptr %t536, ptr %t537) %t539 = call ptr @fn_val(ptr %t538, ptr @.str9336) store ptr %t539, ptr %retval br label %ret ifend62: %t540 = load ptr, ptr %t0 %t541 = call i32 @lp_str_eq(ptr %t540, ptr @.str9337) %t542 = icmp ne i32 %t541, 0 br i1 %t542, label %then65, label %ifend67 then65: store i32 1, ptr @g_g_uses_mathrt %t543 = load ptr, ptr %t1 %t544 = getelementptr inbounds %Cmp_Node, ptr %t543, i32 0, i32 7 %t545 = load ptr, ptr %t544 %t546 = getelementptr inbounds %LSlice, ptr %t545, i32 0, i32 0 %t547 = load ptr, ptr %t546 %t548 = getelementptr inbounds %LSlice, ptr %t545, i32 0, i32 1 %t549 = load i32, ptr %t548 %t550 = icmp ult i32 0, %t549 br i1 %t550, label %ixok68, label %ixbad69 ixbad69: store i32 5780, ptr @lp_site %t551 = call ptr @lp_win_stdio(i32 2) store i32 0, ptr @lp_site call i32 (ptr, ptr, ...) @fprintf(ptr %t551, ptr @.fmt_bounds, ptr @.str9338, i32 0, i32 %t549) call void @exit(i32 1) unreachable ixok68: %t552 = getelementptr inbounds ptr, ptr %t547, i32 0 %t553 = load ptr, ptr %t552 %t554 = call ptr @fn_emit_expr(ptr %t553) store ptr %t554, ptr %t555 %t556 = load ptr, ptr %t1 %t557 = getelementptr inbounds %Cmp_Node, ptr %t556, i32 0, i32 7 %t558 = load ptr, ptr %t557 %t559 = getelementptr inbounds %LSlice, ptr %t558, i32 0, i32 0 %t560 = load ptr, ptr %t559 %t561 = getelementptr inbounds %LSlice, ptr %t558, i32 0, i32 1 %t562 = load i32, ptr %t561 %t563 = icmp ult i32 1, %t562 br i1 %t563, label %ixok70, label %ixbad71 ixbad71: store i32 5781, ptr @lp_site %t564 = call ptr @lp_win_stdio(i32 2) store i32 0, ptr @lp_site call i32 (ptr, ptr, ...) @fprintf(ptr %t564, ptr @.fmt_bounds, ptr @.str9339, i32 1, i32 %t562) call void @exit(i32 1) unreachable ixok70: %t565 = getelementptr inbounds ptr, ptr %t560, i32 1 %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 store i32 5782, ptr @lp_site %t572 = call ptr @lp_str_concat(ptr @.str9340, ptr %t571) store i32 0, ptr @lp_site store i32 5783, ptr @lp_site %t573 = call ptr @lp_str_concat(ptr %t572, ptr @.str9341) store i32 0, ptr @lp_site call void @lp_free(ptr %t572) %t574 = call ptr @fn_emit_bind(ptr %t573) store ptr %t574, ptr %t575 %t576 = load ptr, ptr %t568 %t577 = getelementptr inbounds %Cmp_Val, ptr %t576, i32 0, i32 0 %t578 = load ptr, ptr %t577 store i32 5784, ptr @lp_site %t579 = call ptr @lp_str_concat(ptr @.str9342, ptr %t578) store i32 0, ptr @lp_site store i32 5785, ptr @lp_site %t580 = call ptr @lp_str_concat(ptr %t579, ptr @.str9343) store i32 0, ptr @lp_site call void @lp_free(ptr %t579) %t581 = call ptr @fn_emit_bind(ptr %t580) store ptr %t581, ptr %t582 %t583 = load ptr, ptr %t582 store i32 5786, ptr @lp_site %t584 = call ptr @lp_str_concat(ptr @.str9344, ptr %t583) store i32 0, ptr @lp_site store i32 5787, ptr @lp_site %t585 = call ptr @lp_str_concat(ptr %t584, ptr @.str9345) store i32 0, ptr @lp_site call void @lp_free(ptr %t584) %t586 = call ptr @fn_emit_bind(ptr %t585) store ptr %t586, ptr %t587 %t588 = load ptr, ptr %t555 %t589 = getelementptr inbounds %Cmp_Val, ptr %t588, i32 0, i32 0 %t590 = load ptr, ptr %t589 %t591 = call ptr @fn_vec_x(ptr %t590) store ptr %t591, ptr %t592 %t593 = load ptr, ptr %t555 %t594 = getelementptr inbounds %Cmp_Val, ptr %t593, i32 0, i32 0 %t595 = load ptr, ptr %t594 %t596 = call ptr @fn_vec_y(ptr %t595) store ptr %t596, ptr %t597 %t598 = load ptr, ptr %t592 %t599 = load ptr, ptr %t587 %t600 = call ptr @fn_fx_mul_code(ptr %t598, ptr %t599) store ptr %t600, ptr %t601 %t602 = load ptr, ptr %t597 %t603 = load ptr, ptr %t575 %t604 = call ptr @fn_fx_mul_code(ptr %t602, ptr %t603) store ptr %t604, ptr %t605 %t606 = load ptr, ptr %t592 %t607 = load ptr, ptr %t575 %t608 = call ptr @fn_fx_mul_code(ptr %t606, ptr %t607) store ptr %t608, ptr %t609 %t610 = load ptr, ptr %t597 %t611 = load ptr, ptr %t587 %t612 = call ptr @fn_fx_mul_code(ptr %t610, ptr %t611) store ptr %t612, ptr %t613 %t614 = load ptr, ptr %t601 store i32 5788, ptr @lp_site %t615 = call ptr @lp_str_concat(ptr @.str9346, ptr %t614) store i32 0, ptr @lp_site store i32 5789, ptr @lp_site %t616 = call ptr @lp_str_concat(ptr %t615, ptr @.str9347) store i32 0, ptr @lp_site call void @lp_free(ptr %t615) %t617 = load ptr, ptr %t605 store i32 5790, ptr @lp_site %t618 = call ptr @lp_str_concat(ptr %t616, ptr %t617) store i32 0, ptr @lp_site call void @lp_free(ptr %t616) %t619 = call ptr @fn_emit_bind(ptr %t618) store ptr %t619, ptr %t620 %t621 = load ptr, ptr %t609 store i32 5791, ptr @lp_site %t622 = call ptr @lp_str_concat(ptr @.str9348, ptr %t621) store i32 0, ptr @lp_site store i32 5792, ptr @lp_site %t623 = call ptr @lp_str_concat(ptr %t622, ptr @.str9349) store i32 0, ptr @lp_site call void @lp_free(ptr %t622) %t624 = load ptr, ptr %t613 store i32 5793, ptr @lp_site %t625 = call ptr @lp_str_concat(ptr %t623, ptr %t624) store i32 0, ptr @lp_site call void @lp_free(ptr %t623) %t626 = call ptr @fn_emit_bind(ptr %t625) store ptr %t626, ptr %t627 %t628 = load ptr, ptr %t620 %t629 = load ptr, ptr %t627 %t630 = call ptr @fn_vec_pack(ptr %t628, ptr %t629) %t631 = call ptr @fn_val(ptr %t630, ptr @.str9350) store ptr %t631, ptr %retval br label %ret ifend67: %t632 = load ptr, ptr %t0 %t633 = call i32 @lp_str_eq(ptr %t632, ptr @.str9351) %t634 = icmp ne i32 %t633, 0 br i1 %t634, label %then72, label %ifend74 then72: store i32 1, ptr @g_g_uses_mathrt %t635 = load ptr, ptr %t1 %t636 = getelementptr inbounds %Cmp_Node, ptr %t635, i32 0, i32 7 %t637 = load ptr, ptr %t636 %t638 = getelementptr inbounds %LSlice, ptr %t637, i32 0, i32 0 %t639 = load ptr, ptr %t638 %t640 = getelementptr inbounds %LSlice, ptr %t637, i32 0, i32 1 %t641 = load i32, ptr %t640 %t642 = icmp ult i32 0, %t641 br i1 %t642, label %ixok75, label %ixbad76 ixbad76: store i32 5794, ptr @lp_site %t643 = call ptr @lp_win_stdio(i32 2) store i32 0, ptr @lp_site call i32 (ptr, ptr, ...) @fprintf(ptr %t643, ptr @.fmt_bounds, ptr @.str9352, i32 0, i32 %t641) call void @exit(i32 1) unreachable ixok75: %t644 = getelementptr inbounds ptr, ptr %t639, i32 0 %t645 = load ptr, ptr %t644 %t646 = call ptr @fn_emit_expr(ptr %t645) store ptr %t646, ptr %t647 %t648 = load ptr, ptr %t647 %t649 = getelementptr inbounds %Cmp_Val, ptr %t648, i32 0, i32 0 %t650 = load ptr, ptr %t649 %t651 = call ptr @fn_vec_x(ptr %t650) store ptr %t651, ptr %t652 %t653 = load ptr, ptr %t647 %t654 = getelementptr inbounds %Cmp_Val, ptr %t653, i32 0, i32 0 %t655 = load ptr, ptr %t654 %t656 = call ptr @fn_vec_y(ptr %t655) store ptr %t656, ptr %t657 %t658 = load ptr, ptr %t657 store i32 5795, ptr @lp_site %t659 = call ptr @lp_str_concat(ptr @.str9353, ptr %t658) store i32 0, ptr @lp_site store i32 5796, ptr @lp_site %t660 = call ptr @lp_str_concat(ptr %t659, ptr @.str9354) store i32 0, ptr @lp_site call void @lp_free(ptr %t659) %t661 = load ptr, ptr %t652 store i32 5797, ptr @lp_site %t662 = call ptr @lp_str_concat(ptr %t660, ptr %t661) store i32 0, ptr @lp_site call void @lp_free(ptr %t660) store i32 5798, ptr @lp_site %t663 = call ptr @lp_str_concat(ptr %t662, ptr @.str9355) store i32 0, ptr @lp_site call void @lp_free(ptr %t662) %t664 = call ptr @fn_emit_bind(ptr %t663) %t665 = call ptr @fn_val(ptr %t664, ptr @.str9356) store ptr %t665, ptr %retval br label %ret ifend74: %t666 = load ptr, ptr %t0 %t667 = call i32 @lp_str_eq(ptr %t666, ptr @.str9357) %t668 = icmp ne i32 %t667, 0 br i1 %t668, label %then77, label %ifend79 then77: store i32 1, ptr @g_g_uses_mathrt %t669 = load ptr, ptr %t1 %t670 = getelementptr inbounds %Cmp_Node, ptr %t669, i32 0, i32 7 %t671 = load ptr, ptr %t670 %t672 = getelementptr inbounds %LSlice, ptr %t671, i32 0, i32 0 %t673 = load ptr, ptr %t672 %t674 = getelementptr inbounds %LSlice, ptr %t671, i32 0, i32 1 %t675 = load i32, ptr %t674 %t676 = icmp ult i32 0, %t675 br i1 %t676, label %ixok80, label %ixbad81 ixbad81: store i32 5799, ptr @lp_site %t677 = call ptr @lp_win_stdio(i32 2) store i32 0, ptr @lp_site call i32 (ptr, ptr, ...) @fprintf(ptr %t677, ptr @.fmt_bounds, ptr @.str9358, i32 0, i32 %t675) call void @exit(i32 1) unreachable ixok80: %t678 = getelementptr inbounds ptr, ptr %t673, i32 0 %t679 = load ptr, ptr %t678 %t680 = call ptr @fn_emit_expr(ptr %t679) store ptr %t680, ptr %t681 %t682 = load ptr, ptr %t681 %t683 = getelementptr inbounds %Cmp_Val, ptr %t682, i32 0, i32 0 %t684 = load ptr, ptr %t683 store i32 5800, ptr @lp_site %t685 = call ptr @lp_str_concat(ptr @.str9359, ptr %t684) store i32 0, ptr @lp_site store i32 5801, ptr @lp_site %t686 = call ptr @lp_str_concat(ptr %t685, ptr @.str9360) store i32 0, ptr @lp_site call void @lp_free(ptr %t685) %t687 = call ptr @fn_emit_bind(ptr %t686) store ptr %t687, ptr %t688 %t689 = load ptr, ptr %t681 %t690 = getelementptr inbounds %Cmp_Val, ptr %t689, i32 0, i32 0 %t691 = load ptr, ptr %t690 store i32 5802, ptr @lp_site %t692 = call ptr @lp_str_concat(ptr @.str9361, ptr %t691) store i32 0, ptr @lp_site store i32 5803, ptr @lp_site %t693 = call ptr @lp_str_concat(ptr %t692, ptr @.str9362) store i32 0, ptr @lp_site call void @lp_free(ptr %t692) %t694 = call ptr @fn_emit_bind(ptr %t693) store ptr %t694, ptr %t695 %t696 = load ptr, ptr %t695 store i32 5804, ptr @lp_site %t697 = call ptr @lp_str_concat(ptr @.str9363, ptr %t696) store i32 0, ptr @lp_site store i32 5805, ptr @lp_site %t698 = call ptr @lp_str_concat(ptr %t697, ptr @.str9364) store i32 0, ptr @lp_site call void @lp_free(ptr %t697) %t699 = call ptr @fn_emit_bind(ptr %t698) store ptr %t699, ptr %t700 %t701 = load ptr, ptr %t700 %t702 = load ptr, ptr %t688 %t703 = call ptr @fn_vec_pack(ptr %t701, ptr %t702) %t704 = call ptr @fn_val(ptr %t703, ptr @.str9365) store ptr %t704, ptr %retval br label %ret ifend79: %t705 = load ptr, ptr %t1 %t706 = getelementptr inbounds %Cmp_Node, ptr %t705, i32 0, i32 7 %t707 = load ptr, ptr %t706 %t708 = getelementptr inbounds %LSlice, ptr %t707, i32 0, i32 0 %t709 = load ptr, ptr %t708 %t710 = getelementptr inbounds %LSlice, ptr %t707, i32 0, i32 1 %t711 = load i32, ptr %t710 %t712 = icmp ult i32 0, %t711 br i1 %t712, label %ixok82, label %ixbad83 ixbad83: store i32 5806, ptr @lp_site %t713 = call ptr @lp_win_stdio(i32 2) store i32 0, ptr @lp_site call i32 (ptr, ptr, ...) @fprintf(ptr %t713, ptr @.fmt_bounds, ptr @.str9366, i32 0, i32 %t711) call void @exit(i32 1) unreachable ixok82: %t714 = getelementptr inbounds ptr, ptr %t709, i32 0 %t715 = load ptr, ptr %t714 %t716 = call ptr @fn_emit_expr(ptr %t715) store ptr %t716, ptr %t717 %t718 = load ptr, ptr %t1 %t719 = getelementptr inbounds %Cmp_Node, ptr %t718, i32 0, i32 7 %t720 = load ptr, ptr %t719 %t721 = getelementptr inbounds %LSlice, ptr %t720, i32 0, i32 0 %t722 = load ptr, ptr %t721 %t723 = getelementptr inbounds %LSlice, ptr %t720, i32 0, i32 1 %t724 = load i32, ptr %t723 %t725 = icmp ult i32 1, %t724 br i1 %t725, label %ixok84, label %ixbad85 ixbad85: store i32 5807, ptr @lp_site %t726 = call ptr @lp_win_stdio(i32 2) store i32 0, ptr @lp_site call i32 (ptr, ptr, ...) @fprintf(ptr %t726, ptr @.fmt_bounds, ptr @.str9367, i32 1, i32 %t724) call void @exit(i32 1) unreachable ixok84: %t727 = getelementptr inbounds ptr, ptr %t722, i32 1 %t728 = load ptr, ptr %t727 %t729 = call ptr @fn_emit_expr(ptr %t728) store ptr %t729, ptr %t730 %t731 = load ptr, ptr %t1 %t732 = getelementptr inbounds %Cmp_Node, ptr %t731, i32 0, i32 7 %t733 = load ptr, ptr %t732 %t734 = getelementptr inbounds %LSlice, ptr %t733, i32 0, i32 0 %t735 = load ptr, ptr %t734 %t736 = getelementptr inbounds %LSlice, ptr %t733, i32 0, i32 1 %t737 = load i32, ptr %t736 %t738 = icmp ult i32 2, %t737 br i1 %t738, label %ixok86, label %ixbad87 ixbad87: store i32 5808, ptr @lp_site %t739 = call ptr @lp_win_stdio(i32 2) store i32 0, ptr @lp_site call i32 (ptr, ptr, ...) @fprintf(ptr %t739, ptr @.fmt_bounds, ptr @.str9368, i32 2, i32 %t737) call void @exit(i32 1) unreachable ixok86: %t740 = getelementptr inbounds ptr, ptr %t735, i32 2 %t741 = load ptr, ptr %t740 %t742 = call ptr @fn_emit_expr(ptr %t741) store ptr %t742, ptr %t743 %t744 = load ptr, ptr %t717 %t745 = getelementptr inbounds %Cmp_Val, ptr %t744, i32 0, i32 0 %t746 = load ptr, ptr %t745 %t747 = call ptr @fn_vec_x(ptr %t746) store ptr %t747, ptr %t748 %t749 = load ptr, ptr %t717 %t750 = getelementptr inbounds %Cmp_Val, ptr %t749, i32 0, i32 0 %t751 = load ptr, ptr %t750 %t752 = call ptr @fn_vec_y(ptr %t751) store ptr %t752, ptr %t753 %t754 = load ptr, ptr %t730 %t755 = getelementptr inbounds %Cmp_Val, ptr %t754, i32 0, i32 0 %t756 = load ptr, ptr %t755 %t757 = call ptr @fn_vec_x(ptr %t756) store ptr %t757, ptr %t758 %t759 = load ptr, ptr %t730 %t760 = getelementptr inbounds %Cmp_Val, ptr %t759, i32 0, i32 0 %t761 = load ptr, ptr %t760 %t762 = call ptr @fn_vec_y(ptr %t761) store ptr %t762, ptr %t763 %t764 = load ptr, ptr %t748 %t765 = load ptr, ptr %t758 %t766 = load ptr, ptr %t743 %t767 = getelementptr inbounds %Cmp_Val, ptr %t766, i32 0, i32 0 %t768 = load ptr, ptr %t767 %t769 = call ptr @fn_fx_lerp_code(ptr %t764, ptr %t765, ptr %t768) store ptr %t769, ptr %t770 %t771 = load ptr, ptr %t753 %t772 = load ptr, ptr %t763 %t773 = load ptr, ptr %t743 %t774 = getelementptr inbounds %Cmp_Val, ptr %t773, i32 0, i32 0 %t775 = load ptr, ptr %t774 %t776 = call ptr @fn_fx_lerp_code(ptr %t771, ptr %t772, ptr %t775) store ptr %t776, ptr %t777 %t778 = load ptr, ptr %t770 %t779 = load ptr, ptr %t777 %t780 = call ptr @fn_vec_pack(ptr %t778, ptr %t779) %t781 = call ptr @fn_val(ptr %t780, ptr @.str9369) store ptr %t781, ptr %retval br label %ret ret: %t782 = load ptr, ptr %retval ret ptr %t782 } 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 store i32 5809, ptr @lp_site %t2 = call ptr @lp_str_concat(ptr @.str9370, ptr %t1) store i32 0, ptr @lp_site %t3 = call ptr @fn_emit_bind(ptr %t2) store ptr %t3, ptr %t4 %t5 = load ptr, ptr %t0 store i32 5810, ptr @lp_site %t6 = call ptr @lp_str_concat(ptr @.str9372, ptr %t5) store i32 0, ptr @lp_site store i32 5811, ptr @lp_site %t7 = call ptr @lp_str_concat(ptr %t6, ptr @.str9373) store i32 0, ptr @lp_site call void @lp_free(ptr %t6) %t8 = call ptr @fn_emit_bind(ptr %t7) store ptr %t8, ptr %t9 %t10 = load ptr, ptr %t9 store i32 5812, ptr @lp_site %t11 = call ptr @lp_str_concat(ptr @.str9374, ptr %t10) store i32 0, ptr @lp_site store i32 5813, ptr @lp_site %t12 = call ptr @lp_str_concat(ptr %t11, ptr @.str9375) store i32 0, ptr @lp_site call void @lp_free(ptr %t11) %t13 = load ptr, ptr %t4 store i32 5814, ptr @lp_site %t14 = call ptr @lp_str_concat(ptr %t12, ptr %t13) store i32 0, ptr @lp_site call void @lp_free(ptr %t12) store i32 5815, ptr @lp_site %t15 = call ptr @lp_str_concat(ptr %t14, ptr @.str9376) store i32 0, ptr @lp_site call void @lp_free(ptr %t14) %t16 = load ptr, ptr %t0 store i32 5816, ptr @lp_site %t17 = call ptr @lp_str_concat(ptr %t15, ptr %t16) store i32 0, ptr @lp_site call void @lp_free(ptr %t15) %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 @.str9377) %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 @.str9378) %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 @.str9379) %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 @.str9380) %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 @.str9381) %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 @.str9382) %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 @.str9383) %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 @.str9384) %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 @.str9385) %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 @.str9386) %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 @.str9387) %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 @.str9388) %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 @.str9389) %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 @.str9390) %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 @.str9391) %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 @.str9392) %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 %t21 = alloca ptr %t34 = alloca ptr %t58 = alloca ptr %t79 = alloca ptr %t85 = alloca i32 %t108 = alloca ptr %t121 = alloca ptr %t134 = alloca ptr %t147 = alloca ptr %t154 = alloca ptr %t161 = alloca ptr %t168 = alloca ptr %t186 = alloca ptr %t197 = alloca ptr %t204 = alloca ptr %t229 = alloca ptr %t242 = alloca ptr %t277 = alloca ptr %t290 = alloca ptr %t303 = alloca ptr %t343 = alloca ptr %t369 = alloca ptr %t382 = alloca ptr %t387 = alloca ptr %t392 = alloca ptr %t397 = alloca ptr %t402 = alloca ptr %t409 = alloca ptr %t416 = alloca ptr %t436 = alloca ptr %t449 = alloca ptr %t454 = alloca ptr %t459 = alloca ptr %t464 = alloca ptr %t469 = alloca ptr %t476 = alloca ptr %t483 = alloca ptr %t503 = alloca ptr %t516 = alloca ptr %t521 = alloca ptr %t526 = alloca ptr %t535 = alloca ptr %t544 = alloca ptr %t564 = alloca ptr %t577 = alloca ptr %t582 = alloca ptr %t587 = alloca ptr %t592 = alloca ptr %t597 = alloca ptr %t604 = alloca ptr %t611 = alloca ptr %t634 = alloca ptr %t647 = alloca ptr %t658 = alloca ptr %t679 = alloca ptr %t692 = alloca ptr %t697 = alloca ptr %t702 = alloca ptr %t707 = alloca ptr %t712 = alloca ptr %t719 = alloca ptr %t726 = alloca ptr %t729 = alloca ptr %t732 = alloca ptr %t752 = alloca ptr %t757 = alloca ptr %t762 = alloca ptr %t767 = alloca ptr %t772 = 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 @.str9393) %t4 = icmp ne i32 %t3, 0 br i1 %t4, label %then0, label %ifend2 then0: %t5 = call ptr @fn_val(ptr @.str9394, ptr @.str9395) store ptr %t5, ptr %retval br label %ret ifend2: %t6 = load ptr, ptr %t0 %t7 = call i32 @lp_str_eq(ptr %t6, ptr @.str9396) %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 %LSlice, ptr %t11, i32 0, i32 1 %t15 = load i32, ptr %t14 %t16 = icmp ult i32 0, %t15 br i1 %t16, label %ixok6, label %ixbad7 ixbad7: store i32 5817, ptr @lp_site %t17 = call ptr @lp_win_stdio(i32 2) store i32 0, ptr @lp_site call i32 (ptr, ptr, ...) @fprintf(ptr %t17, ptr @.fmt_bounds, ptr @.str9397, i32 0, i32 %t15) call void @exit(i32 1) unreachable ixok6: %t18 = getelementptr inbounds ptr, ptr %t13, i32 0 %t19 = load ptr, ptr %t18 %t20 = call ptr @fn_emit_expr(ptr %t19) store ptr %t20, ptr %t21 %t22 = load ptr, ptr %t1 %t23 = getelementptr inbounds %Cmp_Node, ptr %t22, i32 0, i32 7 %t24 = load ptr, ptr %t23 %t25 = getelementptr inbounds %LSlice, ptr %t24, i32 0, i32 0 %t26 = load ptr, ptr %t25 %t27 = getelementptr inbounds %LSlice, ptr %t24, i32 0, i32 1 %t28 = load i32, ptr %t27 %t29 = icmp ult i32 1, %t28 br i1 %t29, label %ixok8, label %ixbad9 ixbad9: store i32 5818, ptr @lp_site %t30 = call ptr @lp_win_stdio(i32 2) store i32 0, ptr @lp_site call i32 (ptr, ptr, ...) @fprintf(ptr %t30, ptr @.fmt_bounds, ptr @.str9399, i32 1, i32 %t28) call void @exit(i32 1) unreachable ixok8: %t31 = getelementptr inbounds ptr, ptr %t26, i32 1 %t32 = load ptr, ptr %t31 %t33 = call ptr @fn_emit_expr(ptr %t32) store ptr %t33, ptr %t34 %t35 = load ptr, ptr %t21 %t36 = getelementptr inbounds %Cmp_Val, ptr %t35, i32 0, i32 0 %t37 = load ptr, ptr %t36 %t38 = load ptr, ptr %t34 %t39 = getelementptr inbounds %Cmp_Val, ptr %t38, i32 0, i32 0 %t40 = load ptr, ptr %t39 %t41 = call ptr @fn_vec_pack(ptr %t37, ptr %t40) %t42 = call ptr @fn_val(ptr %t41, ptr @.str9400) store ptr %t42, ptr %retval br label %ret ifend5: %t43 = load ptr, ptr %t0 %t44 = call i32 @lp_str_eq(ptr %t43, ptr @.str9401) %t45 = icmp ne i32 %t44, 0 br i1 %t45, label %then10, label %ifend12 then10: %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 %LSlice, ptr %t48, i32 0, i32 1 %t52 = load i32, ptr %t51 %t53 = icmp ult i32 0, %t52 br i1 %t53, label %ixok13, label %ixbad14 ixbad14: store i32 5819, ptr @lp_site %t54 = call ptr @lp_win_stdio(i32 2) store i32 0, ptr @lp_site call i32 (ptr, ptr, ...) @fprintf(ptr %t54, ptr @.fmt_bounds, ptr @.str9402, i32 0, i32 %t52) call void @exit(i32 1) unreachable ixok13: %t55 = getelementptr inbounds ptr, ptr %t50, i32 0 %t56 = load ptr, ptr %t55 %t57 = call ptr @fn_emit_expr(ptr %t56) store ptr %t57, ptr %t58 %t59 = load ptr, ptr %t58 %t60 = getelementptr inbounds %Cmp_Val, ptr %t59, i32 0, i32 0 %t61 = load ptr, ptr %t60 %t62 = call ptr @fn_vec_x(ptr %t61) %t63 = call ptr @fn_val(ptr %t62, ptr @.str9403) store ptr %t63, ptr %retval br label %ret ifend12: %t64 = load ptr, ptr %t0 %t65 = call i32 @lp_str_eq(ptr %t64, ptr @.str9404) %t66 = icmp ne i32 %t65, 0 br i1 %t66, label %then15, label %ifend17 then15: %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 %LSlice, ptr %t69, i32 0, i32 1 %t73 = load i32, ptr %t72 %t74 = icmp ult i32 0, %t73 br i1 %t74, label %ixok18, label %ixbad19 ixbad19: store i32 5820, ptr @lp_site %t75 = call ptr @lp_win_stdio(i32 2) store i32 0, ptr @lp_site call i32 (ptr, ptr, ...) @fprintf(ptr %t75, ptr @.fmt_bounds, ptr @.str9405, i32 0, i32 %t73) call void @exit(i32 1) unreachable ixok18: %t76 = getelementptr inbounds ptr, ptr %t71, 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_vec_y(ptr %t82) %t84 = call ptr @fn_val(ptr %t83, ptr @.str9406) store ptr %t84, ptr %retval br label %ret ifend17: %t86 = load ptr, ptr %t0 %t87 = call i32 @lp_str_eq(ptr %t86, ptr @.str9407) %t88 = icmp ne i32 %t87, 0 %t89 = zext i1 %t88 to i32 store i32 %t89, ptr %t85 br i1 %t88, label %scend21, label %sc20 sc20: %t90 = load ptr, ptr %t0 %t91 = call i32 @lp_str_eq(ptr %t90, ptr @.str9408) %t92 = icmp ne i32 %t91, 0 %t93 = zext i1 %t92 to i32 store i32 %t93, ptr %t85 br label %scend21 scend21: %t94 = load i32, ptr %t85 %t95 = icmp ne i32 %t94, 0 br i1 %t95, label %then22, label %ifend24 then22: %t96 = load ptr, ptr %t1 %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 = getelementptr inbounds %LSlice, ptr %t98, i32 0, i32 1 %t102 = load i32, ptr %t101 %t103 = icmp ult i32 0, %t102 br i1 %t103, label %ixok25, label %ixbad26 ixbad26: store i32 5821, ptr @lp_site %t104 = call ptr @lp_win_stdio(i32 2) store i32 0, ptr @lp_site call i32 (ptr, ptr, ...) @fprintf(ptr %t104, ptr @.fmt_bounds, ptr @.str9409, i32 0, i32 %t102) call void @exit(i32 1) unreachable ixok25: %t105 = getelementptr inbounds ptr, ptr %t100, i32 0 %t106 = load ptr, ptr %t105 %t107 = call ptr @fn_emit_expr(ptr %t106) store ptr %t107, ptr %t108 %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 %LSlice, ptr %t111, i32 0, i32 1 %t115 = load i32, ptr %t114 %t116 = icmp ult i32 1, %t115 br i1 %t116, label %ixok27, label %ixbad28 ixbad28: store i32 5822, ptr @lp_site %t117 = call ptr @lp_win_stdio(i32 2) store i32 0, ptr @lp_site call i32 (ptr, ptr, ...) @fprintf(ptr %t117, ptr @.fmt_bounds, ptr @.str9410, i32 1, i32 %t115) call void @exit(i32 1) unreachable ixok27: %t118 = getelementptr inbounds ptr, ptr %t113, i32 1 %t119 = load ptr, ptr %t118 %t120 = call ptr @fn_emit_expr(ptr %t119) store ptr %t120, ptr %t121 %t122 = load ptr, ptr %t121 %t123 = getelementptr inbounds %Cmp_Val, ptr %t122, i32 0, i32 0 %t124 = load ptr, ptr %t123 %t125 = call ptr @fn_vec_x(ptr %t124) store i32 5823, ptr @lp_site %t126 = call ptr @lp_str_concat(ptr @.str9411, ptr %t125) store i32 0, ptr @lp_site store i32 5824, ptr @lp_site %t127 = call ptr @lp_str_concat(ptr %t126, ptr @.str9412) store i32 0, ptr @lp_site call void @lp_free(ptr %t126) %t128 = load ptr, ptr %t108 %t129 = getelementptr inbounds %Cmp_Val, ptr %t128, i32 0, i32 0 %t130 = load ptr, ptr %t129 %t131 = call ptr @fn_vec_x(ptr %t130) store i32 5825, ptr @lp_site %t132 = call ptr @lp_str_concat(ptr %t127, ptr %t131) store i32 0, ptr @lp_site call void @lp_free(ptr %t127) %t133 = call ptr @fn_emit_bind(ptr %t132) store ptr %t133, ptr %t134 %t135 = load ptr, ptr %t121 %t136 = getelementptr inbounds %Cmp_Val, ptr %t135, i32 0, i32 0 %t137 = load ptr, ptr %t136 %t138 = call ptr @fn_vec_y(ptr %t137) store i32 5826, ptr @lp_site %t139 = call ptr @lp_str_concat(ptr @.str9413, ptr %t138) store i32 0, ptr @lp_site store i32 5827, ptr @lp_site %t140 = call ptr @lp_str_concat(ptr %t139, ptr @.str9414) store i32 0, ptr @lp_site call void @lp_free(ptr %t139) %t141 = load ptr, ptr %t108 %t142 = getelementptr inbounds %Cmp_Val, ptr %t141, i32 0, i32 0 %t143 = load ptr, ptr %t142 %t144 = call ptr @fn_vec_y(ptr %t143) store i32 5828, ptr @lp_site %t145 = call ptr @lp_str_concat(ptr %t140, ptr %t144) store i32 0, ptr @lp_site call void @lp_free(ptr %t140) %t146 = call ptr @fn_emit_bind(ptr %t145) store ptr %t146, ptr %t147 %t148 = load ptr, ptr %t134 store i32 5829, ptr @lp_site %t149 = call ptr @lp_str_concat(ptr @.str9415, ptr %t148) store i32 0, ptr @lp_site store i32 5830, ptr @lp_site %t150 = call ptr @lp_str_concat(ptr %t149, ptr @.str9416) store i32 0, ptr @lp_site call void @lp_free(ptr %t149) %t151 = load ptr, ptr %t134 store i32 5831, ptr @lp_site %t152 = call ptr @lp_str_concat(ptr %t150, ptr %t151) store i32 0, ptr @lp_site call void @lp_free(ptr %t150) %t153 = call ptr @fn_emit_bind(ptr %t152) store ptr %t153, ptr %t154 %t155 = load ptr, ptr %t147 store i32 5832, ptr @lp_site %t156 = call ptr @lp_str_concat(ptr @.str9417, ptr %t155) store i32 0, ptr @lp_site store i32 5833, ptr @lp_site %t157 = call ptr @lp_str_concat(ptr %t156, ptr @.str9418) store i32 0, ptr @lp_site call void @lp_free(ptr %t156) %t158 = load ptr, ptr %t147 store i32 5834, ptr @lp_site %t159 = call ptr @lp_str_concat(ptr %t157, ptr %t158) store i32 0, ptr @lp_site call void @lp_free(ptr %t157) %t160 = call ptr @fn_emit_bind(ptr %t159) store ptr %t160, ptr %t161 %t162 = load ptr, ptr %t154 store i32 5835, ptr @lp_site %t163 = call ptr @lp_str_concat(ptr @.str9419, ptr %t162) store i32 0, ptr @lp_site store i32 5836, ptr @lp_site %t164 = call ptr @lp_str_concat(ptr %t163, ptr @.str9420) store i32 0, ptr @lp_site call void @lp_free(ptr %t163) %t165 = load ptr, ptr %t161 store i32 5837, ptr @lp_site %t166 = call ptr @lp_str_concat(ptr %t164, ptr %t165) store i32 0, ptr @lp_site call void @lp_free(ptr %t164) %t167 = call ptr @fn_emit_bind(ptr %t166) store ptr %t167, ptr %t168 %t169 = load ptr, ptr %t0 %t170 = call i32 @lp_str_eq(ptr %t169, ptr @.str9421) %t171 = icmp ne i32 %t170, 0 br i1 %t171, label %then29, label %ifend31 then29: %t172 = load ptr, ptr %t168 %t173 = call ptr @fn_val(ptr %t172, ptr @.str9422) store ptr %t173, ptr %retval br label %ret ifend31: %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 0 %t178 = load ptr, ptr %t177 %t179 = getelementptr inbounds %LSlice, ptr %t176, i32 0, i32 1 %t180 = load i32, ptr %t179 %t181 = icmp ult i32 2, %t180 br i1 %t181, label %ixok32, label %ixbad33 ixbad33: store i32 5838, ptr @lp_site %t182 = call ptr @lp_win_stdio(i32 2) store i32 0, ptr @lp_site call i32 (ptr, ptr, ...) @fprintf(ptr %t182, ptr @.fmt_bounds, ptr @.str9423, i32 2, i32 %t180) call void @exit(i32 1) unreachable ixok32: %t183 = getelementptr inbounds ptr, ptr %t178, i32 2 %t184 = load ptr, ptr %t183 %t185 = call ptr @fn_emit_expr(ptr %t184) store ptr %t185, ptr %t186 %t187 = load ptr, ptr %t186 %t188 = getelementptr inbounds %Cmp_Val, ptr %t187, i32 0, i32 0 %t189 = load ptr, ptr %t188 store i32 5839, ptr @lp_site %t190 = call ptr @lp_str_concat(ptr @.str9424, ptr %t189) store i32 0, ptr @lp_site store i32 5840, ptr @lp_site %t191 = call ptr @lp_str_concat(ptr %t190, ptr @.str9425) store i32 0, ptr @lp_site call void @lp_free(ptr %t190) %t192 = load ptr, ptr %t186 %t193 = getelementptr inbounds %Cmp_Val, ptr %t192, i32 0, i32 0 %t194 = load ptr, ptr %t193 store i32 5841, ptr @lp_site %t195 = call ptr @lp_str_concat(ptr %t191, ptr %t194) store i32 0, ptr @lp_site call void @lp_free(ptr %t191) %t196 = call ptr @fn_emit_bind(ptr %t195) store ptr %t196, ptr %t197 %t198 = load ptr, ptr %t168 store i32 5842, ptr @lp_site %t199 = call ptr @lp_str_concat(ptr @.str9426, ptr %t198) store i32 0, ptr @lp_site store i32 5843, ptr @lp_site %t200 = call ptr @lp_str_concat(ptr %t199, ptr @.str9427) store i32 0, ptr @lp_site call void @lp_free(ptr %t199) %t201 = load ptr, ptr %t197 store i32 5844, ptr @lp_site %t202 = call ptr @lp_str_concat(ptr %t200, ptr %t201) store i32 0, ptr @lp_site call void @lp_free(ptr %t200) %t203 = call ptr @fn_emit_bind(ptr %t202) store ptr %t203, ptr %t204 %t205 = load ptr, ptr %t204 store i32 5845, ptr @lp_site %t206 = call ptr @lp_str_concat(ptr @.str9428, ptr %t205) store i32 0, ptr @lp_site store i32 5846, ptr @lp_site %t207 = call ptr @lp_str_concat(ptr %t206, ptr @.str9429) store i32 0, ptr @lp_site call void @lp_free(ptr %t206) %t208 = call ptr @fn_emit_bind(ptr %t207) %t209 = call ptr @fn_val(ptr %t208, ptr @.str9430) store ptr %t209, ptr %retval br label %ret ifend24: %t210 = load ptr, ptr %t0 %t211 = call i32 @lp_str_eq(ptr %t210, ptr @.str9431) %t212 = icmp ne i32 %t211, 0 br i1 %t212, label %then34, label %ifend36 then34: %t213 = call ptr @fn_find_fn(ptr @.str9432) %t214 = icmp eq ptr %t213, null %t215 = zext i1 %t214 to i32 %t216 = icmp ne i32 %t215, 0 br i1 %t216, label %then37, label %ifend39 then37: call void @fn_perr(ptr @.str9433) br label %ifend39 ifend39: %t217 = load ptr, ptr %t1 %t218 = getelementptr inbounds %Cmp_Node, ptr %t217, i32 0, i32 7 %t219 = load ptr, ptr %t218 %t220 = getelementptr inbounds %LSlice, ptr %t219, i32 0, i32 0 %t221 = load ptr, ptr %t220 %t222 = getelementptr inbounds %LSlice, ptr %t219, i32 0, i32 1 %t223 = load i32, ptr %t222 %t224 = icmp ult i32 0, %t223 br i1 %t224, label %ixok40, label %ixbad41 ixbad41: store i32 5847, ptr @lp_site %t225 = call ptr @lp_win_stdio(i32 2) store i32 0, ptr @lp_site call i32 (ptr, ptr, ...) @fprintf(ptr %t225, ptr @.fmt_bounds, ptr @.str9434, i32 0, i32 %t223) call void @exit(i32 1) unreachable ixok40: %t226 = getelementptr inbounds ptr, ptr %t221, i32 0 %t227 = load ptr, ptr %t226 %t228 = call ptr @fn_emit_expr(ptr %t227) store ptr %t228, ptr %t229 %t230 = load ptr, ptr %t1 %t231 = getelementptr inbounds %Cmp_Node, ptr %t230, i32 0, i32 7 %t232 = load ptr, ptr %t231 %t233 = getelementptr inbounds %LSlice, ptr %t232, i32 0, i32 0 %t234 = load ptr, ptr %t233 %t235 = getelementptr inbounds %LSlice, ptr %t232, i32 0, i32 1 %t236 = load i32, ptr %t235 %t237 = icmp ult i32 1, %t236 br i1 %t237, label %ixok42, label %ixbad43 ixbad43: store i32 5848, ptr @lp_site %t238 = call ptr @lp_win_stdio(i32 2) store i32 0, ptr @lp_site call i32 (ptr, ptr, ...) @fprintf(ptr %t238, ptr @.fmt_bounds, ptr @.str9435, i32 1, i32 %t236) call void @exit(i32 1) unreachable ixok42: %t239 = getelementptr inbounds ptr, ptr %t234, i32 1 %t240 = load ptr, ptr %t239 %t241 = call ptr @fn_emit_expr(ptr %t240) store ptr %t241, ptr %t242 %t243 = call ptr @fn_fn_sym(ptr @.str9437) store i32 5849, ptr @lp_site %t244 = call ptr @lp_str_concat(ptr @.str9436, ptr %t243) store i32 0, ptr @lp_site store i32 5850, ptr @lp_site %t245 = call ptr @lp_str_concat(ptr %t244, ptr @.str9438) store i32 0, ptr @lp_site call void @lp_free(ptr %t244) %t246 = load ptr, ptr %t229 %t247 = getelementptr inbounds %Cmp_Val, ptr %t246, i32 0, i32 0 %t248 = load ptr, ptr %t247 store i32 5851, ptr @lp_site %t249 = call ptr @lp_str_concat(ptr %t245, ptr %t248) store i32 0, ptr @lp_site call void @lp_free(ptr %t245) store i32 5852, ptr @lp_site %t250 = call ptr @lp_str_concat(ptr %t249, ptr @.str9439) store i32 0, ptr @lp_site call void @lp_free(ptr %t249) %t251 = load ptr, ptr %t242 %t252 = getelementptr inbounds %Cmp_Val, ptr %t251, i32 0, i32 0 %t253 = load ptr, ptr %t252 store i32 5853, ptr @lp_site %t254 = call ptr @lp_str_concat(ptr %t250, ptr %t253) store i32 0, ptr @lp_site call void @lp_free(ptr %t250) store i32 5854, ptr @lp_site %t255 = call ptr @lp_str_concat(ptr %t254, ptr @.str9440) store i32 0, ptr @lp_site call void @lp_free(ptr %t254) %t256 = call ptr @fn_emit_bind(ptr %t255) %t257 = call ptr @fn_val(ptr %t256, ptr @.str9441) store ptr %t257, ptr %retval br label %ret ifend36: %t258 = load ptr, ptr %t0 %t259 = call i32 @lp_str_eq(ptr %t258, ptr @.str9442) %t260 = icmp ne i32 %t259, 0 br i1 %t260, label %then44, label %ifend46 then44: %t261 = call ptr @fn_find_fn(ptr @.str9443) %t262 = icmp eq ptr %t261, null %t263 = zext i1 %t262 to i32 %t264 = icmp ne i32 %t263, 0 br i1 %t264, label %then47, label %ifend49 then47: call void @fn_perr(ptr @.str9444) br label %ifend49 ifend49: %t265 = load ptr, ptr %t1 %t266 = getelementptr inbounds %Cmp_Node, ptr %t265, i32 0, i32 7 %t267 = load ptr, ptr %t266 %t268 = getelementptr inbounds %LSlice, ptr %t267, i32 0, i32 0 %t269 = load ptr, ptr %t268 %t270 = getelementptr inbounds %LSlice, ptr %t267, i32 0, i32 1 %t271 = load i32, ptr %t270 %t272 = icmp ult i32 0, %t271 br i1 %t272, label %ixok50, label %ixbad51 ixbad51: store i32 5855, ptr @lp_site %t273 = call ptr @lp_win_stdio(i32 2) store i32 0, ptr @lp_site call i32 (ptr, ptr, ...) @fprintf(ptr %t273, ptr @.fmt_bounds, ptr @.str9445, i32 0, i32 %t271) call void @exit(i32 1) unreachable ixok50: %t274 = getelementptr inbounds ptr, ptr %t269, 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 %LSlice, ptr %t280, i32 0, i32 1 %t284 = load i32, ptr %t283 %t285 = icmp ult i32 1, %t284 br i1 %t285, label %ixok52, label %ixbad53 ixbad53: store i32 5856, ptr @lp_site %t286 = call ptr @lp_win_stdio(i32 2) store i32 0, ptr @lp_site call i32 (ptr, ptr, ...) @fprintf(ptr %t286, ptr @.fmt_bounds, ptr @.str9446, i32 1, i32 %t284) call void @exit(i32 1) unreachable ixok52: %t287 = getelementptr inbounds ptr, ptr %t282, i32 1 %t288 = load ptr, ptr %t287 %t289 = call ptr @fn_emit_expr(ptr %t288) store ptr %t289, ptr %t290 %t291 = load ptr, ptr %t1 %t292 = getelementptr inbounds %Cmp_Node, ptr %t291, i32 0, i32 7 %t293 = load ptr, ptr %t292 %t294 = getelementptr inbounds %LSlice, ptr %t293, i32 0, i32 0 %t295 = load ptr, ptr %t294 %t296 = getelementptr inbounds %LSlice, ptr %t293, i32 0, i32 1 %t297 = load i32, ptr %t296 %t298 = icmp ult i32 2, %t297 br i1 %t298, label %ixok54, label %ixbad55 ixbad55: store i32 5857, ptr @lp_site %t299 = call ptr @lp_win_stdio(i32 2) store i32 0, ptr @lp_site call i32 (ptr, ptr, ...) @fprintf(ptr %t299, ptr @.fmt_bounds, ptr @.str9447, i32 2, i32 %t297) call void @exit(i32 1) unreachable ixok54: %t300 = getelementptr inbounds ptr, ptr %t295, i32 2 %t301 = load ptr, ptr %t300 %t302 = call ptr @fn_emit_expr(ptr %t301) store ptr %t302, ptr %t303 %t304 = call ptr @fn_fn_sym(ptr @.str9449) store i32 5858, ptr @lp_site %t305 = call ptr @lp_str_concat(ptr @.str9448, ptr %t304) store i32 0, ptr @lp_site store i32 5859, ptr @lp_site %t306 = call ptr @lp_str_concat(ptr %t305, ptr @.str9450) store i32 0, ptr @lp_site call void @lp_free(ptr %t305) %t307 = load ptr, ptr %t277 %t308 = getelementptr inbounds %Cmp_Val, ptr %t307, i32 0, i32 0 %t309 = load ptr, ptr %t308 store i32 5860, ptr @lp_site %t310 = call ptr @lp_str_concat(ptr %t306, ptr %t309) store i32 0, ptr @lp_site call void @lp_free(ptr %t306) store i32 5861, ptr @lp_site %t311 = call ptr @lp_str_concat(ptr %t310, ptr @.str9451) store i32 0, ptr @lp_site call void @lp_free(ptr %t310) %t312 = load ptr, ptr %t290 %t313 = getelementptr inbounds %Cmp_Val, ptr %t312, i32 0, i32 0 %t314 = load ptr, ptr %t313 store i32 5862, ptr @lp_site %t315 = call ptr @lp_str_concat(ptr %t311, ptr %t314) store i32 0, ptr @lp_site call void @lp_free(ptr %t311) store i32 5863, ptr @lp_site %t316 = call ptr @lp_str_concat(ptr %t315, ptr @.str9452) store i32 0, ptr @lp_site call void @lp_free(ptr %t315) %t317 = load ptr, ptr %t303 %t318 = getelementptr inbounds %Cmp_Val, ptr %t317, i32 0, i32 0 %t319 = load ptr, ptr %t318 store i32 5864, ptr @lp_site %t320 = call ptr @lp_str_concat(ptr %t316, ptr %t319) store i32 0, ptr @lp_site call void @lp_free(ptr %t316) store i32 5865, ptr @lp_site %t321 = call ptr @lp_str_concat(ptr %t320, ptr @.str9453) store i32 0, ptr @lp_site call void @lp_free(ptr %t320) %t322 = call ptr @fn_emit_bind(ptr %t321) %t323 = call ptr @fn_val(ptr %t322, ptr @.str9454) store ptr %t323, ptr %retval br label %ret ifend46: %t324 = load ptr, ptr %t0 %t325 = call i32 @lp_str_eq(ptr %t324, ptr @.str9455) %t326 = icmp ne i32 %t325, 0 br i1 %t326, label %then56, label %ifend58 then56: %t327 = call ptr @fn_find_fn(ptr @.str9456) %t328 = icmp eq ptr %t327, null %t329 = zext i1 %t328 to i32 %t330 = icmp ne i32 %t329, 0 br i1 %t330, label %then59, label %ifend61 then59: call void @fn_perr(ptr @.str9457) br label %ifend61 ifend61: %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 %LSlice, ptr %t333, i32 0, i32 1 %t337 = load i32, ptr %t336 %t338 = icmp ult i32 0, %t337 br i1 %t338, label %ixok62, label %ixbad63 ixbad63: store i32 5866, ptr @lp_site %t339 = call ptr @lp_win_stdio(i32 2) store i32 0, ptr @lp_site call i32 (ptr, ptr, ...) @fprintf(ptr %t339, ptr @.fmt_bounds, ptr @.str9458, i32 0, i32 %t337) call void @exit(i32 1) unreachable ixok62: %t340 = getelementptr inbounds ptr, ptr %t335, i32 0 %t341 = load ptr, ptr %t340 %t342 = call ptr @fn_emit_expr(ptr %t341) store ptr %t342, ptr %t343 %t344 = call ptr @fn_fn_sym(ptr @.str9460) store i32 5867, ptr @lp_site %t345 = call ptr @lp_str_concat(ptr @.str9459, ptr %t344) store i32 0, ptr @lp_site store i32 5868, ptr @lp_site %t346 = call ptr @lp_str_concat(ptr %t345, ptr @.str9461) store i32 0, ptr @lp_site call void @lp_free(ptr %t345) %t347 = load ptr, ptr %t343 %t348 = getelementptr inbounds %Cmp_Val, ptr %t347, i32 0, i32 0 %t349 = load ptr, ptr %t348 store i32 5869, ptr @lp_site %t350 = call ptr @lp_str_concat(ptr %t346, ptr %t349) store i32 0, ptr @lp_site call void @lp_free(ptr %t346) store i32 5870, ptr @lp_site %t351 = call ptr @lp_str_concat(ptr %t350, ptr @.str9462) store i32 0, ptr @lp_site call void @lp_free(ptr %t350) %t352 = call ptr @fn_emit_bind(ptr %t351) %t353 = call ptr @fn_val(ptr %t352, ptr @.str9463) store ptr %t353, ptr %retval br label %ret ifend58: %t354 = load ptr, ptr %t0 %t355 = call i32 @lp_str_eq(ptr %t354, ptr @.str9464) %t356 = icmp ne i32 %t355, 0 br i1 %t356, label %then64, label %ifend66 then64: %t357 = load ptr, ptr %t1 %t358 = getelementptr inbounds %Cmp_Node, ptr %t357, i32 0, i32 7 %t359 = load ptr, ptr %t358 %t360 = getelementptr inbounds %LSlice, ptr %t359, i32 0, i32 0 %t361 = load ptr, ptr %t360 %t362 = getelementptr inbounds %LSlice, ptr %t359, i32 0, i32 1 %t363 = load i32, ptr %t362 %t364 = icmp ult i32 0, %t363 br i1 %t364, label %ixok67, label %ixbad68 ixbad68: store i32 5871, ptr @lp_site %t365 = call ptr @lp_win_stdio(i32 2) store i32 0, ptr @lp_site call i32 (ptr, ptr, ...) @fprintf(ptr %t365, ptr @.fmt_bounds, ptr @.str9465, i32 0, i32 %t363) call void @exit(i32 1) unreachable ixok67: %t366 = getelementptr inbounds ptr, ptr %t361, i32 0 %t367 = load ptr, ptr %t366 %t368 = call ptr @fn_emit_expr(ptr %t367) store ptr %t368, ptr %t369 %t370 = load ptr, ptr %t1 %t371 = getelementptr inbounds %Cmp_Node, ptr %t370, i32 0, i32 7 %t372 = load ptr, ptr %t371 %t373 = getelementptr inbounds %LSlice, ptr %t372, i32 0, i32 0 %t374 = load ptr, ptr %t373 %t375 = getelementptr inbounds %LSlice, ptr %t372, i32 0, i32 1 %t376 = load i32, ptr %t375 %t377 = icmp ult i32 1, %t376 br i1 %t377, label %ixok69, label %ixbad70 ixbad70: store i32 5872, ptr @lp_site %t378 = call ptr @lp_win_stdio(i32 2) store i32 0, ptr @lp_site call i32 (ptr, ptr, ...) @fprintf(ptr %t378, ptr @.fmt_bounds, ptr @.str9466, i32 1, i32 %t376) call void @exit(i32 1) unreachable ixok69: %t379 = getelementptr inbounds ptr, ptr %t374, i32 1 %t380 = load ptr, ptr %t379 %t381 = call ptr @fn_emit_expr(ptr %t380) store ptr %t381, ptr %t382 %t383 = load ptr, ptr %t369 %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 %t369 %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 %t382 %t394 = getelementptr inbounds %Cmp_Val, ptr %t393, i32 0, i32 0 %t395 = load ptr, ptr %t394 %t396 = call ptr @fn_vec_x(ptr %t395) store ptr %t396, ptr %t397 %t398 = load ptr, ptr %t382 %t399 = getelementptr inbounds %Cmp_Val, ptr %t398, i32 0, i32 0 %t400 = load ptr, ptr %t399 %t401 = call ptr @fn_vec_y(ptr %t400) store ptr %t401, ptr %t402 %t403 = load ptr, ptr %t387 store i32 5873, ptr @lp_site %t404 = call ptr @lp_str_concat(ptr @.str9467, ptr %t403) store i32 0, ptr @lp_site store i32 5874, ptr @lp_site %t405 = call ptr @lp_str_concat(ptr %t404, ptr @.str9468) store i32 0, ptr @lp_site call void @lp_free(ptr %t404) %t406 = load ptr, ptr %t397 store i32 5875, ptr @lp_site %t407 = call ptr @lp_str_concat(ptr %t405, ptr %t406) store i32 0, ptr @lp_site call void @lp_free(ptr %t405) %t408 = call ptr @fn_emit_bind(ptr %t407) store ptr %t408, ptr %t409 %t410 = load ptr, ptr %t392 store i32 5876, ptr @lp_site %t411 = call ptr @lp_str_concat(ptr @.str9469, ptr %t410) store i32 0, ptr @lp_site store i32 5877, ptr @lp_site %t412 = call ptr @lp_str_concat(ptr %t411, ptr @.str9470) store i32 0, ptr @lp_site call void @lp_free(ptr %t411) %t413 = load ptr, ptr %t402 store i32 5878, ptr @lp_site %t414 = call ptr @lp_str_concat(ptr %t412, ptr %t413) store i32 0, ptr @lp_site call void @lp_free(ptr %t412) %t415 = call ptr @fn_emit_bind(ptr %t414) store ptr %t415, ptr %t416 %t417 = load ptr, ptr %t409 %t418 = load ptr, ptr %t416 %t419 = call ptr @fn_vec_pack(ptr %t417, ptr %t418) %t420 = call ptr @fn_val(ptr %t419, ptr @.str9471) store ptr %t420, ptr %retval br label %ret ifend66: %t421 = load ptr, ptr %t0 %t422 = call i32 @lp_str_eq(ptr %t421, ptr @.str9472) %t423 = icmp ne i32 %t422, 0 br i1 %t423, label %then71, label %ifend73 then71: %t424 = load ptr, ptr %t1 %t425 = getelementptr inbounds %Cmp_Node, ptr %t424, i32 0, i32 7 %t426 = load ptr, ptr %t425 %t427 = getelementptr inbounds %LSlice, ptr %t426, i32 0, i32 0 %t428 = load ptr, ptr %t427 %t429 = getelementptr inbounds %LSlice, ptr %t426, i32 0, i32 1 %t430 = load i32, ptr %t429 %t431 = icmp ult i32 0, %t430 br i1 %t431, label %ixok74, label %ixbad75 ixbad75: store i32 5879, ptr @lp_site %t432 = call ptr @lp_win_stdio(i32 2) store i32 0, ptr @lp_site call i32 (ptr, ptr, ...) @fprintf(ptr %t432, ptr @.fmt_bounds, ptr @.str9473, i32 0, i32 %t430) call void @exit(i32 1) unreachable ixok74: %t433 = getelementptr inbounds ptr, ptr %t428, i32 0 %t434 = load ptr, ptr %t433 %t435 = call ptr @fn_emit_expr(ptr %t434) store ptr %t435, ptr %t436 %t437 = load ptr, ptr %t1 %t438 = getelementptr inbounds %Cmp_Node, ptr %t437, i32 0, i32 7 %t439 = load ptr, ptr %t438 %t440 = getelementptr inbounds %LSlice, ptr %t439, i32 0, i32 0 %t441 = load ptr, ptr %t440 %t442 = getelementptr inbounds %LSlice, ptr %t439, i32 0, i32 1 %t443 = load i32, ptr %t442 %t444 = icmp ult i32 1, %t443 br i1 %t444, label %ixok76, label %ixbad77 ixbad77: store i32 5880, ptr @lp_site %t445 = call ptr @lp_win_stdio(i32 2) store i32 0, ptr @lp_site call i32 (ptr, ptr, ...) @fprintf(ptr %t445, ptr @.fmt_bounds, ptr @.str9474, i32 1, i32 %t443) call void @exit(i32 1) unreachable ixok76: %t446 = getelementptr inbounds ptr, ptr %t441, i32 1 %t447 = load ptr, ptr %t446 %t448 = call ptr @fn_emit_expr(ptr %t447) store ptr %t448, ptr %t449 %t450 = load ptr, ptr %t436 %t451 = getelementptr inbounds %Cmp_Val, ptr %t450, i32 0, i32 0 %t452 = load ptr, ptr %t451 %t453 = call ptr @fn_vec_x(ptr %t452) store ptr %t453, ptr %t454 %t455 = load ptr, ptr %t436 %t456 = getelementptr inbounds %Cmp_Val, ptr %t455, i32 0, i32 0 %t457 = load ptr, ptr %t456 %t458 = call ptr @fn_vec_y(ptr %t457) store ptr %t458, ptr %t459 %t460 = load ptr, ptr %t449 %t461 = getelementptr inbounds %Cmp_Val, ptr %t460, i32 0, i32 0 %t462 = load ptr, ptr %t461 %t463 = call ptr @fn_vec_x(ptr %t462) store ptr %t463, ptr %t464 %t465 = load ptr, ptr %t449 %t466 = getelementptr inbounds %Cmp_Val, ptr %t465, i32 0, i32 0 %t467 = load ptr, ptr %t466 %t468 = call ptr @fn_vec_y(ptr %t467) store ptr %t468, ptr %t469 %t470 = load ptr, ptr %t454 store i32 5881, ptr @lp_site %t471 = call ptr @lp_str_concat(ptr @.str9475, ptr %t470) store i32 0, ptr @lp_site store i32 5882, ptr @lp_site %t472 = call ptr @lp_str_concat(ptr %t471, ptr @.str9476) store i32 0, ptr @lp_site call void @lp_free(ptr %t471) %t473 = load ptr, ptr %t464 store i32 5883, ptr @lp_site %t474 = call ptr @lp_str_concat(ptr %t472, ptr %t473) store i32 0, ptr @lp_site call void @lp_free(ptr %t472) %t475 = call ptr @fn_emit_bind(ptr %t474) store ptr %t475, ptr %t476 %t477 = load ptr, ptr %t459 store i32 5884, ptr @lp_site %t478 = call ptr @lp_str_concat(ptr @.str9477, ptr %t477) store i32 0, ptr @lp_site store i32 5885, ptr @lp_site %t479 = call ptr @lp_str_concat(ptr %t478, ptr @.str9478) store i32 0, ptr @lp_site call void @lp_free(ptr %t478) %t480 = load ptr, ptr %t469 store i32 5886, ptr @lp_site %t481 = call ptr @lp_str_concat(ptr %t479, ptr %t480) store i32 0, ptr @lp_site call void @lp_free(ptr %t479) %t482 = call ptr @fn_emit_bind(ptr %t481) store ptr %t482, ptr %t483 %t484 = load ptr, ptr %t476 %t485 = load ptr, ptr %t483 %t486 = call ptr @fn_vec_pack(ptr %t484, ptr %t485) %t487 = call ptr @fn_val(ptr %t486, ptr @.str9479) store ptr %t487, ptr %retval br label %ret ifend73: %t488 = load ptr, ptr %t0 %t489 = call i32 @lp_str_eq(ptr %t488, ptr @.str9480) %t490 = icmp ne i32 %t489, 0 br i1 %t490, label %then78, label %ifend80 then78: %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 %LSlice, ptr %t493, i32 0, i32 1 %t497 = load i32, ptr %t496 %t498 = icmp ult i32 0, %t497 br i1 %t498, label %ixok81, label %ixbad82 ixbad82: store i32 5887, ptr @lp_site %t499 = call ptr @lp_win_stdio(i32 2) store i32 0, ptr @lp_site call i32 (ptr, ptr, ...) @fprintf(ptr %t499, ptr @.fmt_bounds, ptr @.str9481, i32 0, i32 %t497) call void @exit(i32 1) unreachable ixok81: %t500 = getelementptr inbounds ptr, ptr %t495, i32 0 %t501 = load ptr, ptr %t500 %t502 = call ptr @fn_emit_expr(ptr %t501) store ptr %t502, ptr %t503 %t504 = load ptr, ptr %t1 %t505 = getelementptr inbounds %Cmp_Node, ptr %t504, i32 0, i32 7 %t506 = load ptr, ptr %t505 %t507 = getelementptr inbounds %LSlice, ptr %t506, i32 0, i32 0 %t508 = load ptr, ptr %t507 %t509 = getelementptr inbounds %LSlice, ptr %t506, i32 0, i32 1 %t510 = load i32, ptr %t509 %t511 = icmp ult i32 1, %t510 br i1 %t511, label %ixok83, label %ixbad84 ixbad84: store i32 5888, ptr @lp_site %t512 = call ptr @lp_win_stdio(i32 2) store i32 0, ptr @lp_site call i32 (ptr, ptr, ...) @fprintf(ptr %t512, ptr @.fmt_bounds, ptr @.str9482, i32 1, i32 %t510) call void @exit(i32 1) unreachable ixok83: %t513 = getelementptr inbounds ptr, ptr %t508, i32 1 %t514 = load ptr, ptr %t513 %t515 = call ptr @fn_emit_expr(ptr %t514) store ptr %t515, ptr %t516 %t517 = load ptr, ptr %t503 %t518 = getelementptr inbounds %Cmp_Val, ptr %t517, i32 0, i32 0 %t519 = load ptr, ptr %t518 %t520 = call ptr @fn_vec_x(ptr %t519) store ptr %t520, ptr %t521 %t522 = load ptr, ptr %t503 %t523 = getelementptr inbounds %Cmp_Val, ptr %t522, i32 0, i32 0 %t524 = load ptr, ptr %t523 %t525 = call ptr @fn_vec_y(ptr %t524) store ptr %t525, ptr %t526 %t527 = load ptr, ptr %t521 store i32 5889, ptr @lp_site %t528 = call ptr @lp_str_concat(ptr @.str9483, ptr %t527) store i32 0, ptr @lp_site store i32 5890, ptr @lp_site %t529 = call ptr @lp_str_concat(ptr %t528, ptr @.str9484) store i32 0, ptr @lp_site call void @lp_free(ptr %t528) %t530 = load ptr, ptr %t516 %t531 = getelementptr inbounds %Cmp_Val, ptr %t530, i32 0, i32 0 %t532 = load ptr, ptr %t531 store i32 5891, ptr @lp_site %t533 = call ptr @lp_str_concat(ptr %t529, ptr %t532) store i32 0, ptr @lp_site call void @lp_free(ptr %t529) %t534 = call ptr @fn_emit_bind(ptr %t533) store ptr %t534, ptr %t535 %t536 = load ptr, ptr %t526 store i32 5892, ptr @lp_site %t537 = call ptr @lp_str_concat(ptr @.str9485, ptr %t536) store i32 0, ptr @lp_site store i32 5893, ptr @lp_site %t538 = call ptr @lp_str_concat(ptr %t537, ptr @.str9486) store i32 0, ptr @lp_site call void @lp_free(ptr %t537) %t539 = load ptr, ptr %t516 %t540 = getelementptr inbounds %Cmp_Val, ptr %t539, i32 0, i32 0 %t541 = load ptr, ptr %t540 store i32 5894, ptr @lp_site %t542 = call ptr @lp_str_concat(ptr %t538, ptr %t541) store i32 0, ptr @lp_site call void @lp_free(ptr %t538) %t543 = call ptr @fn_emit_bind(ptr %t542) store ptr %t543, ptr %t544 %t545 = load ptr, ptr %t535 %t546 = load ptr, ptr %t544 %t547 = call ptr @fn_vec_pack(ptr %t545, ptr %t546) %t548 = call ptr @fn_val(ptr %t547, ptr @.str9487) store ptr %t548, ptr %retval br label %ret ifend80: %t549 = load ptr, ptr %t0 %t550 = call i32 @lp_str_eq(ptr %t549, ptr @.str9488) %t551 = icmp ne i32 %t550, 0 br i1 %t551, label %then85, label %ifend87 then85: %t552 = load ptr, ptr %t1 %t553 = getelementptr inbounds %Cmp_Node, ptr %t552, i32 0, i32 7 %t554 = load ptr, ptr %t553 %t555 = getelementptr inbounds %LSlice, ptr %t554, i32 0, i32 0 %t556 = load ptr, ptr %t555 %t557 = getelementptr inbounds %LSlice, ptr %t554, i32 0, i32 1 %t558 = load i32, ptr %t557 %t559 = icmp ult i32 0, %t558 br i1 %t559, label %ixok88, label %ixbad89 ixbad89: store i32 5895, ptr @lp_site %t560 = call ptr @lp_win_stdio(i32 2) store i32 0, ptr @lp_site call i32 (ptr, ptr, ...) @fprintf(ptr %t560, ptr @.fmt_bounds, ptr @.str9489, i32 0, i32 %t558) call void @exit(i32 1) unreachable ixok88: %t561 = getelementptr inbounds ptr, ptr %t556, i32 0 %t562 = load ptr, ptr %t561 %t563 = call ptr @fn_emit_expr(ptr %t562) store ptr %t563, ptr %t564 %t565 = load ptr, ptr %t1 %t566 = getelementptr inbounds %Cmp_Node, ptr %t565, i32 0, i32 7 %t567 = load ptr, ptr %t566 %t568 = getelementptr inbounds %LSlice, ptr %t567, i32 0, i32 0 %t569 = load ptr, ptr %t568 %t570 = getelementptr inbounds %LSlice, ptr %t567, i32 0, i32 1 %t571 = load i32, ptr %t570 %t572 = icmp ult i32 1, %t571 br i1 %t572, label %ixok90, label %ixbad91 ixbad91: store i32 5896, ptr @lp_site %t573 = call ptr @lp_win_stdio(i32 2) store i32 0, ptr @lp_site call i32 (ptr, ptr, ...) @fprintf(ptr %t573, ptr @.fmt_bounds, ptr @.str9490, i32 1, i32 %t571) call void @exit(i32 1) unreachable ixok90: %t574 = getelementptr inbounds ptr, ptr %t569, i32 1 %t575 = load ptr, ptr %t574 %t576 = call ptr @fn_emit_expr(ptr %t575) store ptr %t576, ptr %t577 %t578 = load ptr, ptr %t564 %t579 = getelementptr inbounds %Cmp_Val, ptr %t578, i32 0, i32 0 %t580 = load ptr, ptr %t579 %t581 = call ptr @fn_vec_x(ptr %t580) store ptr %t581, ptr %t582 %t583 = load ptr, ptr %t564 %t584 = getelementptr inbounds %Cmp_Val, ptr %t583, i32 0, i32 0 %t585 = load ptr, ptr %t584 %t586 = call ptr @fn_vec_y(ptr %t585) store ptr %t586, ptr %t587 %t588 = load ptr, ptr %t577 %t589 = getelementptr inbounds %Cmp_Val, ptr %t588, i32 0, i32 0 %t590 = load ptr, ptr %t589 %t591 = call ptr @fn_vec_x(ptr %t590) store ptr %t591, ptr %t592 %t593 = load ptr, ptr %t577 %t594 = getelementptr inbounds %Cmp_Val, ptr %t593, i32 0, i32 0 %t595 = load ptr, ptr %t594 %t596 = call ptr @fn_vec_y(ptr %t595) store ptr %t596, ptr %t597 %t598 = load ptr, ptr %t582 store i32 5897, ptr @lp_site %t599 = call ptr @lp_str_concat(ptr @.str9491, ptr %t598) store i32 0, ptr @lp_site store i32 5898, ptr @lp_site %t600 = call ptr @lp_str_concat(ptr %t599, ptr @.str9492) store i32 0, ptr @lp_site call void @lp_free(ptr %t599) %t601 = load ptr, ptr %t592 store i32 5899, ptr @lp_site %t602 = call ptr @lp_str_concat(ptr %t600, ptr %t601) store i32 0, ptr @lp_site call void @lp_free(ptr %t600) %t603 = call ptr @fn_emit_bind(ptr %t602) store ptr %t603, ptr %t604 %t605 = load ptr, ptr %t587 store i32 5900, ptr @lp_site %t606 = call ptr @lp_str_concat(ptr @.str9493, ptr %t605) store i32 0, ptr @lp_site store i32 5901, ptr @lp_site %t607 = call ptr @lp_str_concat(ptr %t606, ptr @.str9494) store i32 0, ptr @lp_site call void @lp_free(ptr %t606) %t608 = load ptr, ptr %t597 store i32 5902, ptr @lp_site %t609 = call ptr @lp_str_concat(ptr %t607, ptr %t608) store i32 0, ptr @lp_site call void @lp_free(ptr %t607) %t610 = call ptr @fn_emit_bind(ptr %t609) store ptr %t610, ptr %t611 %t612 = load ptr, ptr %t604 store i32 5903, ptr @lp_site %t613 = call ptr @lp_str_concat(ptr @.str9495, ptr %t612) store i32 0, ptr @lp_site store i32 5904, ptr @lp_site %t614 = call ptr @lp_str_concat(ptr %t613, ptr @.str9496) store i32 0, ptr @lp_site call void @lp_free(ptr %t613) %t615 = load ptr, ptr %t611 store i32 5905, ptr @lp_site %t616 = call ptr @lp_str_concat(ptr %t614, ptr %t615) store i32 0, ptr @lp_site call void @lp_free(ptr %t614) %t617 = call ptr @fn_emit_bind(ptr %t616) %t618 = call ptr @fn_val(ptr %t617, ptr @.str9497) store ptr %t618, ptr %retval br label %ret ifend87: %t619 = load ptr, ptr %t0 %t620 = call i32 @lp_str_eq(ptr %t619, ptr @.str9498) %t621 = icmp ne i32 %t620, 0 br i1 %t621, label %then92, label %ifend94 then92: %t622 = load ptr, ptr %t1 %t623 = getelementptr inbounds %Cmp_Node, ptr %t622, i32 0, i32 7 %t624 = load ptr, ptr %t623 %t625 = getelementptr inbounds %LSlice, ptr %t624, i32 0, i32 0 %t626 = load ptr, ptr %t625 %t627 = getelementptr inbounds %LSlice, ptr %t624, i32 0, i32 1 %t628 = load i32, ptr %t627 %t629 = icmp ult i32 0, %t628 br i1 %t629, label %ixok95, label %ixbad96 ixbad96: store i32 5906, ptr @lp_site %t630 = call ptr @lp_win_stdio(i32 2) store i32 0, ptr @lp_site call i32 (ptr, ptr, ...) @fprintf(ptr %t630, ptr @.fmt_bounds, ptr @.str9499, i32 0, i32 %t628) call void @exit(i32 1) unreachable ixok95: %t631 = getelementptr inbounds ptr, ptr %t626, i32 0 %t632 = load ptr, ptr %t631 %t633 = call ptr @fn_emit_expr(ptr %t632) store ptr %t633, ptr %t634 %t635 = load ptr, ptr %t1 %t636 = getelementptr inbounds %Cmp_Node, ptr %t635, i32 0, i32 7 %t637 = load ptr, ptr %t636 %t638 = getelementptr inbounds %LSlice, ptr %t637, i32 0, i32 0 %t639 = load ptr, ptr %t638 %t640 = getelementptr inbounds %LSlice, ptr %t637, i32 0, i32 1 %t641 = load i32, ptr %t640 %t642 = icmp ult i32 1, %t641 br i1 %t642, label %ixok97, label %ixbad98 ixbad98: store i32 5907, ptr @lp_site %t643 = call ptr @lp_win_stdio(i32 2) store i32 0, ptr @lp_site call i32 (ptr, ptr, ...) @fprintf(ptr %t643, ptr @.fmt_bounds, ptr @.str9500, i32 1, i32 %t641) call void @exit(i32 1) unreachable ixok97: %t644 = getelementptr inbounds ptr, ptr %t639, i32 1 %t645 = load ptr, ptr %t644 %t646 = call ptr @fn_emit_expr(ptr %t645) store ptr %t646, ptr %t647 %t648 = load ptr, ptr %t634 %t649 = getelementptr inbounds %Cmp_Val, ptr %t648, i32 0, i32 0 %t650 = load ptr, ptr %t649 store i32 5908, ptr @lp_site %t651 = call ptr @lp_str_concat(ptr @.str9501, ptr %t650) store i32 0, ptr @lp_site store i32 5909, ptr @lp_site %t652 = call ptr @lp_str_concat(ptr %t651, ptr @.str9502) store i32 0, ptr @lp_site call void @lp_free(ptr %t651) %t653 = load ptr, ptr %t647 %t654 = getelementptr inbounds %Cmp_Val, ptr %t653, i32 0, i32 0 %t655 = load ptr, ptr %t654 store i32 5910, ptr @lp_site %t656 = call ptr @lp_str_concat(ptr %t652, ptr %t655) store i32 0, ptr @lp_site call void @lp_free(ptr %t652) %t657 = call ptr @fn_emit_bind(ptr %t656) store ptr %t657, ptr %t658 %t659 = load ptr, ptr %t658 store i32 5911, ptr @lp_site %t660 = call ptr @lp_str_concat(ptr @.str9503, ptr %t659) store i32 0, ptr @lp_site store i32 5912, ptr @lp_site %t661 = call ptr @lp_str_concat(ptr %t660, ptr @.str9504) store i32 0, ptr @lp_site call void @lp_free(ptr %t660) %t662 = call ptr @fn_emit_bind(ptr %t661) %t663 = call ptr @fn_val(ptr %t662, ptr @.str9505) store ptr %t663, ptr %retval br label %ret ifend94: %t664 = load ptr, ptr %t0 %t665 = call i32 @lp_str_eq(ptr %t664, ptr @.str9506) %t666 = icmp ne i32 %t665, 0 br i1 %t666, label %then99, label %ifend101 then99: %t667 = load ptr, ptr %t1 %t668 = getelementptr inbounds %Cmp_Node, ptr %t667, i32 0, i32 7 %t669 = load ptr, ptr %t668 %t670 = getelementptr inbounds %LSlice, ptr %t669, i32 0, i32 0 %t671 = load ptr, ptr %t670 %t672 = getelementptr inbounds %LSlice, ptr %t669, i32 0, i32 1 %t673 = load i32, ptr %t672 %t674 = icmp ult i32 0, %t673 br i1 %t674, label %ixok102, label %ixbad103 ixbad103: store i32 5913, ptr @lp_site %t675 = call ptr @lp_win_stdio(i32 2) store i32 0, ptr @lp_site call i32 (ptr, ptr, ...) @fprintf(ptr %t675, ptr @.fmt_bounds, ptr @.str9507, i32 0, i32 %t673) call void @exit(i32 1) unreachable ixok102: %t676 = getelementptr inbounds ptr, ptr %t671, i32 0 %t677 = load ptr, ptr %t676 %t678 = call ptr @fn_emit_expr(ptr %t677) store ptr %t678, ptr %t679 %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 %LSlice, ptr %t682, i32 0, i32 1 %t686 = load i32, ptr %t685 %t687 = icmp ult i32 1, %t686 br i1 %t687, label %ixok104, label %ixbad105 ixbad105: store i32 5914, ptr @lp_site %t688 = call ptr @lp_win_stdio(i32 2) store i32 0, ptr @lp_site call i32 (ptr, ptr, ...) @fprintf(ptr %t688, ptr @.fmt_bounds, ptr @.str9508, i32 1, i32 %t686) call void @exit(i32 1) unreachable ixok104: %t689 = getelementptr inbounds ptr, ptr %t684, i32 1 %t690 = load ptr, ptr %t689 %t691 = call ptr @fn_emit_expr(ptr %t690) store ptr %t691, ptr %t692 %t693 = load ptr, ptr %t679 %t694 = getelementptr inbounds %Cmp_Val, ptr %t693, i32 0, i32 0 %t695 = load ptr, ptr %t694 %t696 = call ptr @fn_vec_x(ptr %t695) store ptr %t696, ptr %t697 %t698 = load ptr, ptr %t679 %t699 = getelementptr inbounds %Cmp_Val, ptr %t698, i32 0, i32 0 %t700 = load ptr, ptr %t699 %t701 = call ptr @fn_vec_y(ptr %t700) store ptr %t701, ptr %t702 %t703 = load ptr, ptr %t692 %t704 = getelementptr inbounds %Cmp_Val, ptr %t703, i32 0, i32 0 %t705 = load ptr, ptr %t704 %t706 = call ptr @fn_vec_x(ptr %t705) store ptr %t706, ptr %t707 %t708 = load ptr, ptr %t692 %t709 = getelementptr inbounds %Cmp_Val, ptr %t708, i32 0, i32 0 %t710 = load ptr, ptr %t709 %t711 = call ptr @fn_vec_y(ptr %t710) store ptr %t711, ptr %t712 %t713 = load ptr, ptr %t697 store i32 5915, ptr @lp_site %t714 = call ptr @lp_str_concat(ptr @.str9509, ptr %t713) store i32 0, ptr @lp_site store i32 5916, ptr @lp_site %t715 = call ptr @lp_str_concat(ptr %t714, ptr @.str9510) store i32 0, ptr @lp_site call void @lp_free(ptr %t714) %t716 = load ptr, ptr %t707 store i32 5917, ptr @lp_site %t717 = call ptr @lp_str_concat(ptr %t715, ptr %t716) store i32 0, ptr @lp_site call void @lp_free(ptr %t715) %t718 = call ptr @fn_emit_bind(ptr %t717) store ptr %t718, ptr %t719 %t720 = load ptr, ptr %t702 store i32 5918, ptr @lp_site %t721 = call ptr @lp_str_concat(ptr @.str9511, ptr %t720) store i32 0, ptr @lp_site store i32 5919, ptr @lp_site %t722 = call ptr @lp_str_concat(ptr %t721, ptr @.str9512) store i32 0, ptr @lp_site call void @lp_free(ptr %t721) %t723 = load ptr, ptr %t712 store i32 5920, ptr @lp_site %t724 = call ptr @lp_str_concat(ptr %t722, ptr %t723) store i32 0, ptr @lp_site call void @lp_free(ptr %t722) %t725 = call ptr @fn_emit_bind(ptr %t724) store ptr %t725, ptr %t726 %t727 = load ptr, ptr %t719 %t728 = call ptr @fn_ivec_abs(ptr %t727) store ptr %t728, ptr %t729 %t730 = load ptr, ptr %t726 %t731 = call ptr @fn_ivec_abs(ptr %t730) store ptr %t731, ptr %t732 %t733 = load ptr, ptr %t729 store i32 5921, ptr @lp_site %t734 = call ptr @lp_str_concat(ptr @.str9513, ptr %t733) store i32 0, ptr @lp_site store i32 5922, ptr @lp_site %t735 = call ptr @lp_str_concat(ptr %t734, ptr @.str9514) store i32 0, ptr @lp_site call void @lp_free(ptr %t734) %t736 = load ptr, ptr %t732 store i32 5923, ptr @lp_site %t737 = call ptr @lp_str_concat(ptr %t735, ptr %t736) store i32 0, ptr @lp_site call void @lp_free(ptr %t735) %t738 = call ptr @fn_emit_bind(ptr %t737) %t739 = call ptr @fn_val(ptr %t738, ptr @.str9515) store ptr %t739, ptr %retval br label %ret ifend101: %t740 = load ptr, ptr %t1 %t741 = getelementptr inbounds %Cmp_Node, ptr %t740, i32 0, i32 7 %t742 = load ptr, ptr %t741 %t743 = getelementptr inbounds %LSlice, ptr %t742, i32 0, i32 0 %t744 = load ptr, ptr %t743 %t745 = getelementptr inbounds %LSlice, ptr %t742, i32 0, i32 1 %t746 = load i32, ptr %t745 %t747 = icmp ult i32 0, %t746 br i1 %t747, label %ixok106, label %ixbad107 ixbad107: store i32 5924, ptr @lp_site %t748 = call ptr @lp_win_stdio(i32 2) store i32 0, ptr @lp_site call i32 (ptr, ptr, ...) @fprintf(ptr %t748, ptr @.fmt_bounds, ptr @.str9516, i32 0, i32 %t746) call void @exit(i32 1) unreachable ixok106: %t749 = getelementptr inbounds ptr, ptr %t744, i32 0 %t750 = load ptr, ptr %t749 %t751 = call ptr @fn_emit_expr(ptr %t750) store ptr %t751, ptr %t752 %t753 = load ptr, ptr %t752 %t754 = getelementptr inbounds %Cmp_Val, ptr %t753, i32 0, i32 0 %t755 = load ptr, ptr %t754 %t756 = call ptr @fn_vec_x(ptr %t755) store ptr %t756, ptr %t757 %t758 = load ptr, ptr %t752 %t759 = getelementptr inbounds %Cmp_Val, ptr %t758, i32 0, i32 0 %t760 = load ptr, ptr %t759 %t761 = call ptr @fn_vec_y(ptr %t760) store ptr %t761, ptr %t762 %t763 = load ptr, ptr %t757 store i32 5925, ptr @lp_site %t764 = call ptr @lp_str_concat(ptr @.str9517, ptr %t763) store i32 0, ptr @lp_site store i32 5926, ptr @lp_site %t765 = call ptr @lp_str_concat(ptr %t764, ptr @.str9518) store i32 0, ptr @lp_site call void @lp_free(ptr %t764) %t766 = call ptr @fn_emit_bind(ptr %t765) store ptr %t766, ptr %t767 %t768 = load ptr, ptr %t762 store i32 5927, ptr @lp_site %t769 = call ptr @lp_str_concat(ptr @.str9519, ptr %t768) store i32 0, ptr @lp_site store i32 5928, ptr @lp_site %t770 = call ptr @lp_str_concat(ptr %t769, ptr @.str9520) store i32 0, ptr @lp_site call void @lp_free(ptr %t769) %t771 = call ptr @fn_emit_bind(ptr %t770) store ptr %t771, ptr %t772 %t773 = load ptr, ptr %t767 %t774 = load ptr, ptr %t772 %t775 = call ptr @fn_vec_pack(ptr %t773, ptr %t774) %t776 = call ptr @fn_val(ptr %t775, ptr @.str9521) store ptr %t776, ptr %retval br label %ret ret: %t777 = load ptr, ptr %retval ret ptr %t777 } 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 store i32 5929, ptr @lp_site %t5 = call ptr @lp_str_concat(ptr @.str9522, ptr %t4) store i32 0, ptr @lp_site store i32 5930, ptr @lp_site %t6 = call ptr @lp_str_concat(ptr %t5, ptr @.str9524) store i32 0, ptr @lp_site call void @lp_free(ptr %t5) %t7 = call ptr @fn_emit_bind(ptr %t6) store ptr %t7, ptr %t8 %t9 = load ptr, ptr %t8 store i32 5931, ptr @lp_site %t10 = call ptr @lp_str_concat(ptr @.str9525, ptr %t9) store i32 0, ptr @lp_site store i32 5932, ptr @lp_site %t11 = call ptr @lp_str_concat(ptr %t10, ptr @.str9526) store i32 0, ptr @lp_site call void @lp_free(ptr %t10) %t12 = call ptr @fn_emit_bind(ptr %t11) store ptr %t12, ptr %t13 %t14 = load ptr, ptr %t1 store i32 5933, ptr @lp_site %t15 = call ptr @lp_str_concat(ptr @.str9527, ptr %t14) store i32 0, ptr @lp_site store i32 5934, ptr @lp_site %t16 = call ptr @lp_str_concat(ptr %t15, ptr @.str9528) store i32 0, ptr @lp_site call void @lp_free(ptr %t15) %t17 = call ptr @fn_emit_bind(ptr %t16) store ptr %t17, ptr %t18 %t19 = load ptr, ptr %t18 store i32 5935, ptr @lp_site %t20 = call ptr @lp_str_concat(ptr @.str9529, ptr %t19) store i32 0, ptr @lp_site store i32 5936, ptr @lp_site %t21 = call ptr @lp_str_concat(ptr %t20, ptr @.str9530) store i32 0, ptr @lp_site call void @lp_free(ptr %t20) %t22 = call ptr @fn_emit_bind(ptr %t21) store ptr %t22, ptr %t23 %t24 = load ptr, ptr %t2 store i32 5937, ptr @lp_site %t25 = call ptr @lp_str_concat(ptr @.str9531, ptr %t24) store i32 0, ptr @lp_site store i32 5938, ptr @lp_site %t26 = call ptr @lp_str_concat(ptr %t25, ptr @.str9532) store i32 0, ptr @lp_site call void @lp_free(ptr %t25) %t27 = call ptr @fn_emit_bind(ptr %t26) store ptr %t27, ptr %t28 %t29 = load ptr, ptr %t28 store i32 5939, ptr @lp_site %t30 = call ptr @lp_str_concat(ptr @.str9533, ptr %t29) store i32 0, ptr @lp_site store i32 5940, ptr @lp_site %t31 = call ptr @lp_str_concat(ptr %t30, ptr @.str9534) store i32 0, ptr @lp_site call void @lp_free(ptr %t30) %t32 = call ptr @fn_emit_bind(ptr %t31) store ptr %t32, ptr %t33 %t34 = load ptr, ptr %t3 store i32 5941, ptr @lp_site %t35 = call ptr @lp_str_concat(ptr @.str9535, ptr %t34) store i32 0, ptr @lp_site store i32 5942, ptr @lp_site %t36 = call ptr @lp_str_concat(ptr %t35, ptr @.str9536) store i32 0, ptr @lp_site call void @lp_free(ptr %t35) %t37 = call ptr @fn_emit_bind(ptr %t36) store ptr %t37, ptr %t38 %t39 = load ptr, ptr %t13 store i32 5943, ptr @lp_site %t40 = call ptr @lp_str_concat(ptr @.str9537, ptr %t39) store i32 0, ptr @lp_site store i32 5944, ptr @lp_site %t41 = call ptr @lp_str_concat(ptr %t40, ptr @.str9538) store i32 0, ptr @lp_site call void @lp_free(ptr %t40) %t42 = load ptr, ptr %t23 store i32 5945, ptr @lp_site %t43 = call ptr @lp_str_concat(ptr %t41, ptr %t42) store i32 0, ptr @lp_site call void @lp_free(ptr %t41) %t44 = call ptr @fn_emit_bind(ptr %t43) store ptr %t44, ptr %t45 %t46 = load ptr, ptr %t45 store i32 5946, ptr @lp_site %t47 = call ptr @lp_str_concat(ptr @.str9539, ptr %t46) store i32 0, ptr @lp_site store i32 5947, ptr @lp_site %t48 = call ptr @lp_str_concat(ptr %t47, ptr @.str9540) store i32 0, ptr @lp_site call void @lp_free(ptr %t47) %t49 = load ptr, ptr %t33 store i32 5948, ptr @lp_site %t50 = call ptr @lp_str_concat(ptr %t48, ptr %t49) store i32 0, ptr @lp_site call void @lp_free(ptr %t48) %t51 = call ptr @fn_emit_bind(ptr %t50) store ptr %t51, ptr %t52 %t53 = load ptr, ptr %t52 store i32 5949, ptr @lp_site %t54 = call ptr @lp_str_concat(ptr @.str9541, ptr %t53) store i32 0, ptr @lp_site store i32 5950, ptr @lp_site %t55 = call ptr @lp_str_concat(ptr %t54, ptr @.str9542) store i32 0, ptr @lp_site call void @lp_free(ptr %t54) %t56 = load ptr, ptr %t38 store i32 5951, ptr @lp_site %t57 = call ptr @lp_str_concat(ptr %t55, ptr %t56) store i32 0, ptr @lp_site call void @lp_free(ptr %t55) %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 store i32 5952, ptr @lp_site %t7 = call ptr @lp_str_concat(ptr @.str9543, ptr %t6) store i32 0, ptr @lp_site store i32 5953, ptr @lp_site %t8 = call ptr @lp_str_concat(ptr %t7, ptr @.str9545) store i32 0, ptr @lp_site call void @lp_free(ptr %t7) %t9 = call ptr @fn_emit_bind(ptr %t8) store ptr %t9, ptr %retval br label %ret ifend2: %t10 = load ptr, ptr %t0 store i32 5954, ptr @lp_site %t11 = call ptr @lp_str_concat(ptr @.str9546, ptr %t10) store i32 0, ptr @lp_site store i32 5955, ptr @lp_site %t12 = call ptr @lp_str_concat(ptr %t11, ptr @.str9547) store i32 0, ptr @lp_site call void @lp_free(ptr %t11) %t13 = load i32, ptr %t1 %t14 = call ptr @fn_itoa(i32 %t13) store i32 5956, ptr @lp_site %t15 = call ptr @lp_str_concat(ptr %t12, ptr %t14) store i32 0, ptr @lp_site call void @lp_free(ptr %t12) %t16 = call ptr @fn_emit_bind(ptr %t15) store ptr %t16, ptr %t17 %t18 = load ptr, ptr %t17 store i32 5957, ptr @lp_site %t19 = call ptr @lp_str_concat(ptr @.str9548, ptr %t18) store i32 0, ptr @lp_site store i32 5958, ptr @lp_site %t20 = call ptr @lp_str_concat(ptr %t19, ptr @.str9549) store i32 0, ptr @lp_site call void @lp_free(ptr %t19) %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 store i32 5959, ptr @lp_site %t4 = call ptr @lp_str_concat(ptr @.str9550, ptr %t3) store i32 0, ptr @lp_site store i32 5960, ptr @lp_site %t5 = call ptr @lp_str_concat(ptr %t4, ptr @.str9552) store i32 0, ptr @lp_site call void @lp_free(ptr %t4) %t6 = load ptr, ptr %t1 store i32 5961, ptr @lp_site %t7 = call ptr @lp_str_concat(ptr %t5, ptr %t6) store i32 0, ptr @lp_site call void @lp_free(ptr %t5) store i32 5962, ptr @lp_site %t8 = call ptr @lp_str_concat(ptr %t7, ptr @.str9553) store i32 0, ptr @lp_site call void @lp_free(ptr %t7) %t9 = load ptr, ptr %t2 store i32 5963, ptr @lp_site %t10 = call ptr @lp_str_concat(ptr %t8, ptr %t9) store i32 0, ptr @lp_site call void @lp_free(ptr %t8) %t11 = call ptr @fn_emit_bind(ptr %t10) store ptr %t11, ptr %t12 %t13 = load ptr, ptr %t12 store i32 5964, ptr @lp_site %t14 = call ptr @lp_str_concat(ptr @.str9554, ptr %t13) store i32 0, ptr @lp_site store i32 5965, ptr @lp_site %t15 = call ptr @lp_str_concat(ptr %t14, ptr @.str9555) store i32 0, ptr @lp_site call void @lp_free(ptr %t14) %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 @.str9556) %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 @.str9557) %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 @.str9558) %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 @.str9559) %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 @.str9560) %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 @.str9561) %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 @.str9562) %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 @.str9563) %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 @.str9564) %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 @.str9565) %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 %t17 = alloca ptr %t30 = alloca ptr %t43 = alloca ptr %t56 = alloca ptr %t86 = alloca ptr %t107 = alloca ptr %t128 = alloca ptr %t149 = alloca ptr %t170 = alloca ptr %t175 = alloca ptr %t180 = alloca ptr %t203 = alloca ptr %t208 = alloca ptr %t213 = alloca ptr %t236 = alloca ptr %t241 = alloca ptr %t246 = alloca ptr %t251 = alloca ptr %t256 = alloca ptr %t261 = alloca ptr %t266 = alloca ptr %t273 = alloca ptr %t280 = alloca ptr %t300 = alloca ptr %t313 = alloca ptr %t326 = alloca ptr %t331 = alloca ptr %t336 = alloca ptr %t341 = alloca ptr %t346 = alloca ptr %t353 = alloca ptr %t360 = alloca ptr %t366 = alloca ptr %t372 = alloca ptr %t378 = alloca ptr %t384 = alloca ptr %t391 = alloca ptr %t398 = alloca ptr %t418 = alloca ptr %t431 = alloca ptr %t436 = alloca ptr %t441 = alloca ptr %t446 = alloca ptr %t451 = alloca ptr %t456 = alloca ptr %t461 = alloca ptr %t466 = alloca ptr %t471 = alloca ptr %t478 = alloca ptr %t485 = alloca ptr %t492 = alloca ptr %t499 = alloca ptr %t503 = alloca ptr %t507 = alloca ptr %t511 = alloca ptr %t515 = alloca ptr %t522 = alloca ptr %t529 = 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 @.str9566) %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 %LSlice, ptr %t7, i32 0, i32 1 %t11 = load i32, ptr %t10 %t12 = icmp ult i32 0, %t11 br i1 %t12, label %ixok3, label %ixbad4 ixbad4: store i32 5966, ptr @lp_site %t13 = call ptr @lp_win_stdio(i32 2) store i32 0, ptr @lp_site call i32 (ptr, ptr, ...) @fprintf(ptr %t13, ptr @.fmt_bounds, ptr @.str9567, i32 0, i32 %t11) call void @exit(i32 1) unreachable ixok3: %t14 = getelementptr inbounds ptr, ptr %t9, 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 %LSlice, ptr %t20, i32 0, i32 1 %t24 = load i32, ptr %t23 %t25 = icmp ult i32 1, %t24 br i1 %t25, label %ixok5, label %ixbad6 ixbad6: store i32 5967, ptr @lp_site %t26 = call ptr @lp_win_stdio(i32 2) store i32 0, ptr @lp_site call i32 (ptr, ptr, ...) @fprintf(ptr %t26, ptr @.fmt_bounds, ptr @.str9569, i32 1, i32 %t24) call void @exit(i32 1) unreachable ixok5: %t27 = getelementptr inbounds ptr, ptr %t22, i32 1 %t28 = load ptr, ptr %t27 %t29 = call ptr @fn_emit_expr(ptr %t28) store ptr %t29, ptr %t30 %t31 = load ptr, ptr %t1 %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 = getelementptr inbounds %LSlice, ptr %t33, i32 0, i32 1 %t37 = load i32, ptr %t36 %t38 = icmp ult i32 2, %t37 br i1 %t38, label %ixok7, label %ixbad8 ixbad8: store i32 5968, ptr @lp_site %t39 = call ptr @lp_win_stdio(i32 2) store i32 0, ptr @lp_site call i32 (ptr, ptr, ...) @fprintf(ptr %t39, ptr @.fmt_bounds, ptr @.str9570, i32 2, i32 %t37) call void @exit(i32 1) unreachable ixok7: %t40 = getelementptr inbounds ptr, ptr %t35, i32 2 %t41 = load ptr, ptr %t40 %t42 = call ptr @fn_emit_expr(ptr %t41) store ptr %t42, ptr %t43 %t44 = load ptr, ptr %t1 %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 = getelementptr inbounds %LSlice, ptr %t46, i32 0, i32 1 %t50 = load i32, ptr %t49 %t51 = icmp ult i32 3, %t50 br i1 %t51, label %ixok9, label %ixbad10 ixbad10: store i32 5969, ptr @lp_site %t52 = call ptr @lp_win_stdio(i32 2) store i32 0, ptr @lp_site call i32 (ptr, ptr, ...) @fprintf(ptr %t52, ptr @.fmt_bounds, ptr @.str9571, i32 3, i32 %t50) call void @exit(i32 1) unreachable ixok9: %t53 = getelementptr inbounds ptr, ptr %t48, i32 3 %t54 = load ptr, ptr %t53 %t55 = call ptr @fn_emit_expr(ptr %t54) store ptr %t55, ptr %t56 %t57 = load ptr, ptr %t17 %t58 = getelementptr inbounds %Cmp_Val, ptr %t57, i32 0, i32 0 %t59 = load ptr, ptr %t58 %t60 = load ptr, ptr %t30 %t61 = getelementptr inbounds %Cmp_Val, ptr %t60, i32 0, i32 0 %t62 = load ptr, ptr %t61 %t63 = load ptr, ptr %t43 %t64 = getelementptr inbounds %Cmp_Val, ptr %t63, i32 0, i32 0 %t65 = load ptr, ptr %t64 %t66 = load ptr, ptr %t56 %t67 = getelementptr inbounds %Cmp_Val, ptr %t66, i32 0, i32 0 %t68 = load ptr, ptr %t67 %t69 = call ptr @fn_rect_pack(ptr %t59, ptr %t62, ptr %t65, ptr %t68) %t70 = call ptr @fn_val(ptr %t69, ptr @.str9572) store ptr %t70, ptr %retval br label %ret ifend2: %t71 = load ptr, ptr %t0 %t72 = call i32 @lp_str_eq(ptr %t71, ptr @.str9573) %t73 = icmp ne i32 %t72, 0 br i1 %t73, label %then11, label %ifend13 then11: %t74 = load ptr, ptr %t1 %t75 = getelementptr inbounds %Cmp_Node, ptr %t74, i32 0, i32 7 %t76 = load ptr, ptr %t75 %t77 = getelementptr inbounds %LSlice, ptr %t76, i32 0, i32 0 %t78 = load ptr, ptr %t77 %t79 = getelementptr inbounds %LSlice, ptr %t76, i32 0, i32 1 %t80 = load i32, ptr %t79 %t81 = icmp ult i32 0, %t80 br i1 %t81, label %ixok14, label %ixbad15 ixbad15: store i32 5970, ptr @lp_site %t82 = call ptr @lp_win_stdio(i32 2) store i32 0, ptr @lp_site call i32 (ptr, ptr, ...) @fprintf(ptr %t82, ptr @.fmt_bounds, ptr @.str9574, i32 0, i32 %t80) call void @exit(i32 1) unreachable ixok14: %t83 = getelementptr inbounds ptr, ptr %t78, i32 0 %t84 = load ptr, ptr %t83 %t85 = call ptr @fn_emit_expr(ptr %t84) store ptr %t85, ptr %t86 %t87 = load ptr, ptr %t86 %t88 = getelementptr inbounds %Cmp_Val, ptr %t87, i32 0, i32 0 %t89 = load ptr, ptr %t88 %t90 = call ptr @fn_rect_field(ptr %t89, i32 96) %t91 = call ptr @fn_val(ptr %t90, ptr @.str9575) store ptr %t91, ptr %retval br label %ret ifend13: %t92 = load ptr, ptr %t0 %t93 = call i32 @lp_str_eq(ptr %t92, ptr @.str9576) %t94 = icmp ne i32 %t93, 0 br i1 %t94, label %then16, label %ifend18 then16: %t95 = load ptr, ptr %t1 %t96 = getelementptr inbounds %Cmp_Node, ptr %t95, i32 0, i32 7 %t97 = load ptr, ptr %t96 %t98 = getelementptr inbounds %LSlice, ptr %t97, i32 0, i32 0 %t99 = load ptr, ptr %t98 %t100 = getelementptr inbounds %LSlice, ptr %t97, i32 0, i32 1 %t101 = load i32, ptr %t100 %t102 = icmp ult i32 0, %t101 br i1 %t102, label %ixok19, label %ixbad20 ixbad20: store i32 5971, ptr @lp_site %t103 = call ptr @lp_win_stdio(i32 2) store i32 0, ptr @lp_site call i32 (ptr, ptr, ...) @fprintf(ptr %t103, ptr @.fmt_bounds, ptr @.str9577, i32 0, i32 %t101) call void @exit(i32 1) unreachable ixok19: %t104 = getelementptr inbounds ptr, ptr %t99, i32 0 %t105 = load ptr, ptr %t104 %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 @fn_rect_field(ptr %t110, i32 64) %t112 = call ptr @fn_val(ptr %t111, ptr @.str9578) store ptr %t112, ptr %retval br label %ret ifend18: %t113 = load ptr, ptr %t0 %t114 = call i32 @lp_str_eq(ptr %t113, ptr @.str9579) %t115 = icmp ne i32 %t114, 0 br i1 %t115, label %then21, label %ifend23 then21: %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 %LSlice, ptr %t118, i32 0, i32 1 %t122 = load i32, ptr %t121 %t123 = icmp ult i32 0, %t122 br i1 %t123, label %ixok24, label %ixbad25 ixbad25: store i32 5972, ptr @lp_site %t124 = call ptr @lp_win_stdio(i32 2) store i32 0, ptr @lp_site call i32 (ptr, ptr, ...) @fprintf(ptr %t124, ptr @.fmt_bounds, ptr @.str9580, i32 0, i32 %t122) call void @exit(i32 1) unreachable ixok24: %t125 = getelementptr inbounds ptr, ptr %t120, i32 0 %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 @fn_rect_field(ptr %t131, i32 32) %t133 = call ptr @fn_val(ptr %t132, ptr @.str9581) store ptr %t133, ptr %retval br label %ret ifend23: %t134 = load ptr, ptr %t0 %t135 = call i32 @lp_str_eq(ptr %t134, ptr @.str9582) %t136 = icmp ne i32 %t135, 0 br i1 %t136, label %then26, label %ifend28 then26: %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 %LSlice, ptr %t139, i32 0, i32 1 %t143 = load i32, ptr %t142 %t144 = icmp ult i32 0, %t143 br i1 %t144, label %ixok29, label %ixbad30 ixbad30: store i32 5973, ptr @lp_site %t145 = call ptr @lp_win_stdio(i32 2) store i32 0, ptr @lp_site call i32 (ptr, ptr, ...) @fprintf(ptr %t145, ptr @.fmt_bounds, ptr @.str9583, i32 0, i32 %t143) call void @exit(i32 1) unreachable ixok29: %t146 = getelementptr inbounds ptr, ptr %t141, i32 0 %t147 = load ptr, ptr %t146 %t148 = call ptr @fn_emit_expr(ptr %t147) store ptr %t148, ptr %t149 %t150 = load ptr, ptr %t149 %t151 = getelementptr inbounds %Cmp_Val, ptr %t150, i32 0, i32 0 %t152 = load ptr, ptr %t151 %t153 = call ptr @fn_rect_field(ptr %t152, i32 0) %t154 = call ptr @fn_val(ptr %t153, ptr @.str9584) store ptr %t154, ptr %retval br label %ret ifend28: %t155 = load ptr, ptr %t0 %t156 = call i32 @lp_str_eq(ptr %t155, ptr @.str9585) %t157 = icmp ne i32 %t156, 0 br i1 %t157, label %then31, label %ifend33 then31: %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 %LSlice, ptr %t160, i32 0, i32 1 %t164 = load i32, ptr %t163 %t165 = icmp ult i32 0, %t164 br i1 %t165, label %ixok34, label %ixbad35 ixbad35: store i32 5974, ptr @lp_site %t166 = call ptr @lp_win_stdio(i32 2) store i32 0, ptr @lp_site call i32 (ptr, ptr, ...) @fprintf(ptr %t166, ptr @.fmt_bounds, ptr @.str9586, i32 0, i32 %t164) call void @exit(i32 1) unreachable ixok34: %t167 = getelementptr inbounds ptr, ptr %t162, i32 0 %t168 = load ptr, ptr %t167 %t169 = call ptr @fn_emit_expr(ptr %t168) store ptr %t169, ptr %t170 %t171 = load ptr, ptr %t170 %t172 = getelementptr inbounds %Cmp_Val, ptr %t171, i32 0, i32 0 %t173 = load ptr, ptr %t172 %t174 = call ptr @fn_rect_field(ptr %t173, i32 96) store ptr %t174, ptr %t175 %t176 = load ptr, ptr %t170 %t177 = getelementptr inbounds %Cmp_Val, ptr %t176, i32 0, i32 0 %t178 = load ptr, ptr %t177 %t179 = call ptr @fn_rect_field(ptr %t178, i32 32) store ptr %t179, ptr %t180 %t181 = load ptr, ptr %t175 store i32 5975, ptr @lp_site %t182 = call ptr @lp_str_concat(ptr @.str9587, ptr %t181) store i32 0, ptr @lp_site store i32 5976, ptr @lp_site %t183 = call ptr @lp_str_concat(ptr %t182, ptr @.str9588) store i32 0, ptr @lp_site call void @lp_free(ptr %t182) %t184 = load ptr, ptr %t180 store i32 5977, ptr @lp_site %t185 = call ptr @lp_str_concat(ptr %t183, ptr %t184) store i32 0, ptr @lp_site call void @lp_free(ptr %t183) %t186 = call ptr @fn_emit_bind(ptr %t185) %t187 = call ptr @fn_val(ptr %t186, ptr @.str9589) store ptr %t187, ptr %retval br label %ret ifend33: %t188 = load ptr, ptr %t0 %t189 = call i32 @lp_str_eq(ptr %t188, ptr @.str9590) %t190 = icmp ne i32 %t189, 0 br i1 %t190, label %then36, label %ifend38 then36: %t191 = load ptr, ptr %t1 %t192 = getelementptr inbounds %Cmp_Node, ptr %t191, i32 0, i32 7 %t193 = load ptr, ptr %t192 %t194 = getelementptr inbounds %LSlice, ptr %t193, i32 0, i32 0 %t195 = load ptr, ptr %t194 %t196 = getelementptr inbounds %LSlice, ptr %t193, i32 0, i32 1 %t197 = load i32, ptr %t196 %t198 = icmp ult i32 0, %t197 br i1 %t198, label %ixok39, label %ixbad40 ixbad40: store i32 5978, ptr @lp_site %t199 = call ptr @lp_win_stdio(i32 2) store i32 0, ptr @lp_site call i32 (ptr, ptr, ...) @fprintf(ptr %t199, ptr @.fmt_bounds, ptr @.str9591, i32 0, i32 %t197) call void @exit(i32 1) unreachable ixok39: %t200 = getelementptr inbounds ptr, ptr %t195, i32 0 %t201 = load ptr, ptr %t200 %t202 = call ptr @fn_emit_expr(ptr %t201) store ptr %t202, ptr %t203 %t204 = load ptr, ptr %t203 %t205 = getelementptr inbounds %Cmp_Val, ptr %t204, i32 0, i32 0 %t206 = load ptr, ptr %t205 %t207 = call ptr @fn_rect_field(ptr %t206, i32 64) store ptr %t207, ptr %t208 %t209 = load ptr, ptr %t203 %t210 = getelementptr inbounds %Cmp_Val, ptr %t209, i32 0, i32 0 %t211 = load ptr, ptr %t210 %t212 = call ptr @fn_rect_field(ptr %t211, i32 0) store ptr %t212, ptr %t213 %t214 = load ptr, ptr %t208 store i32 5979, ptr @lp_site %t215 = call ptr @lp_str_concat(ptr @.str9592, ptr %t214) store i32 0, ptr @lp_site store i32 5980, ptr @lp_site %t216 = call ptr @lp_str_concat(ptr %t215, ptr @.str9593) store i32 0, ptr @lp_site call void @lp_free(ptr %t215) %t217 = load ptr, ptr %t213 store i32 5981, ptr @lp_site %t218 = call ptr @lp_str_concat(ptr %t216, ptr %t217) store i32 0, ptr @lp_site call void @lp_free(ptr %t216) %t219 = call ptr @fn_emit_bind(ptr %t218) %t220 = call ptr @fn_val(ptr %t219, ptr @.str9594) store ptr %t220, ptr %retval br label %ret ifend38: %t221 = load ptr, ptr %t0 %t222 = call i32 @lp_str_eq(ptr %t221, ptr @.str9595) %t223 = icmp ne i32 %t222, 0 br i1 %t223, label %then41, label %ifend43 then41: %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 %LSlice, ptr %t226, i32 0, i32 1 %t230 = load i32, ptr %t229 %t231 = icmp ult i32 0, %t230 br i1 %t231, label %ixok44, label %ixbad45 ixbad45: store i32 5982, ptr @lp_site %t232 = call ptr @lp_win_stdio(i32 2) store i32 0, ptr @lp_site call i32 (ptr, ptr, ...) @fprintf(ptr %t232, ptr @.fmt_bounds, ptr @.str9596, i32 0, i32 %t230) call void @exit(i32 1) unreachable ixok44: %t233 = getelementptr inbounds ptr, ptr %t228, i32 0 %t234 = load ptr, ptr %t233 %t235 = call ptr @fn_emit_expr(ptr %t234) store ptr %t235, ptr %t236 %t237 = load ptr, ptr %t236 %t238 = getelementptr inbounds %Cmp_Val, ptr %t237, i32 0, i32 0 %t239 = load ptr, ptr %t238 %t240 = call ptr @fn_rect_field(ptr %t239, i32 96) store ptr %t240, ptr %t241 %t242 = load ptr, ptr %t236 %t243 = getelementptr inbounds %Cmp_Val, ptr %t242, i32 0, i32 0 %t244 = load ptr, ptr %t243 %t245 = call ptr @fn_rect_field(ptr %t244, i32 64) store ptr %t245, ptr %t246 %t247 = load ptr, ptr %t236 %t248 = getelementptr inbounds %Cmp_Val, ptr %t247, i32 0, i32 0 %t249 = load ptr, ptr %t248 %t250 = call ptr @fn_rect_field(ptr %t249, i32 32) store ptr %t250, ptr %t251 %t252 = load ptr, ptr %t236 %t253 = getelementptr inbounds %Cmp_Val, ptr %t252, i32 0, i32 0 %t254 = load ptr, ptr %t253 %t255 = call ptr @fn_rect_field(ptr %t254, i32 0) store ptr %t255, ptr %t256 %t257 = load ptr, ptr %t251 store i32 5983, ptr @lp_site %t258 = call ptr @lp_str_concat(ptr @.str9597, ptr %t257) store i32 0, ptr @lp_site store i32 5984, ptr @lp_site %t259 = call ptr @lp_str_concat(ptr %t258, ptr @.str9598) store i32 0, ptr @lp_site call void @lp_free(ptr %t258) %t260 = call ptr @fn_emit_bind(ptr %t259) store ptr %t260, ptr %t261 %t262 = load ptr, ptr %t256 store i32 5985, ptr @lp_site %t263 = call ptr @lp_str_concat(ptr @.str9599, ptr %t262) store i32 0, ptr @lp_site store i32 5986, ptr @lp_site %t264 = call ptr @lp_str_concat(ptr %t263, ptr @.str9600) store i32 0, ptr @lp_site call void @lp_free(ptr %t263) %t265 = call ptr @fn_emit_bind(ptr %t264) store ptr %t265, ptr %t266 %t267 = load ptr, ptr %t241 store i32 5987, ptr @lp_site %t268 = call ptr @lp_str_concat(ptr @.str9601, ptr %t267) store i32 0, ptr @lp_site store i32 5988, ptr @lp_site %t269 = call ptr @lp_str_concat(ptr %t268, ptr @.str9602) store i32 0, ptr @lp_site call void @lp_free(ptr %t268) %t270 = load ptr, ptr %t261 store i32 5989, ptr @lp_site %t271 = call ptr @lp_str_concat(ptr %t269, ptr %t270) store i32 0, ptr @lp_site call void @lp_free(ptr %t269) %t272 = call ptr @fn_emit_bind(ptr %t271) store ptr %t272, ptr %t273 %t274 = load ptr, ptr %t246 store i32 5990, ptr @lp_site %t275 = call ptr @lp_str_concat(ptr @.str9603, ptr %t274) store i32 0, ptr @lp_site store i32 5991, ptr @lp_site %t276 = call ptr @lp_str_concat(ptr %t275, ptr @.str9604) store i32 0, ptr @lp_site call void @lp_free(ptr %t275) %t277 = load ptr, ptr %t266 store i32 5992, ptr @lp_site %t278 = call ptr @lp_str_concat(ptr %t276, ptr %t277) store i32 0, ptr @lp_site call void @lp_free(ptr %t276) %t279 = call ptr @fn_emit_bind(ptr %t278) store ptr %t279, ptr %t280 %t281 = load ptr, ptr %t273 %t282 = load ptr, ptr %t280 %t283 = call ptr @fn_vec_pack(ptr %t281, ptr %t282) %t284 = call ptr @fn_val(ptr %t283, ptr @.str9605) store ptr %t284, ptr %retval br label %ret ifend43: %t285 = load ptr, ptr %t0 %t286 = call i32 @lp_str_eq(ptr %t285, ptr @.str9606) %t287 = icmp ne i32 %t286, 0 br i1 %t287, label %then46, label %ifend48 then46: %t288 = load ptr, ptr %t1 %t289 = getelementptr inbounds %Cmp_Node, ptr %t288, i32 0, i32 7 %t290 = load ptr, ptr %t289 %t291 = getelementptr inbounds %LSlice, ptr %t290, i32 0, i32 0 %t292 = load ptr, ptr %t291 %t293 = getelementptr inbounds %LSlice, ptr %t290, i32 0, i32 1 %t294 = load i32, ptr %t293 %t295 = icmp ult i32 0, %t294 br i1 %t295, label %ixok49, label %ixbad50 ixbad50: store i32 5993, ptr @lp_site %t296 = call ptr @lp_win_stdio(i32 2) store i32 0, ptr @lp_site call i32 (ptr, ptr, ...) @fprintf(ptr %t296, ptr @.fmt_bounds, ptr @.str9607, i32 0, i32 %t294) call void @exit(i32 1) unreachable ixok49: %t297 = getelementptr inbounds ptr, ptr %t292, i32 0 %t298 = load ptr, ptr %t297 %t299 = call ptr @fn_emit_expr(ptr %t298) store ptr %t299, ptr %t300 %t301 = load ptr, ptr %t1 %t302 = getelementptr inbounds %Cmp_Node, ptr %t301, i32 0, i32 7 %t303 = load ptr, ptr %t302 %t304 = getelementptr inbounds %LSlice, ptr %t303, i32 0, i32 0 %t305 = load ptr, ptr %t304 %t306 = getelementptr inbounds %LSlice, ptr %t303, i32 0, i32 1 %t307 = load i32, ptr %t306 %t308 = icmp ult i32 1, %t307 br i1 %t308, label %ixok51, label %ixbad52 ixbad52: store i32 5994, ptr @lp_site %t309 = call ptr @lp_win_stdio(i32 2) store i32 0, ptr @lp_site call i32 (ptr, ptr, ...) @fprintf(ptr %t309, ptr @.fmt_bounds, ptr @.str9608, i32 1, i32 %t307) call void @exit(i32 1) unreachable ixok51: %t310 = getelementptr inbounds ptr, ptr %t305, 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 %LSlice, ptr %t316, i32 0, i32 1 %t320 = load i32, ptr %t319 %t321 = icmp ult i32 2, %t320 br i1 %t321, label %ixok53, label %ixbad54 ixbad54: store i32 5995, ptr @lp_site %t322 = call ptr @lp_win_stdio(i32 2) store i32 0, ptr @lp_site call i32 (ptr, ptr, ...) @fprintf(ptr %t322, ptr @.fmt_bounds, ptr @.str9609, i32 2, i32 %t320) call void @exit(i32 1) unreachable ixok53: %t323 = getelementptr inbounds ptr, ptr %t318, i32 2 %t324 = load ptr, ptr %t323 %t325 = call ptr @fn_emit_expr(ptr %t324) store ptr %t325, ptr %t326 %t327 = load ptr, ptr %t300 %t328 = getelementptr inbounds %Cmp_Val, ptr %t327, i32 0, i32 0 %t329 = load ptr, ptr %t328 %t330 = call ptr @fn_rect_field(ptr %t329, i32 96) store ptr %t330, ptr %t331 %t332 = load ptr, ptr %t300 %t333 = getelementptr inbounds %Cmp_Val, ptr %t332, i32 0, i32 0 %t334 = load ptr, ptr %t333 %t335 = call ptr @fn_rect_field(ptr %t334, i32 64) store ptr %t335, ptr %t336 %t337 = load ptr, ptr %t300 %t338 = getelementptr inbounds %Cmp_Val, ptr %t337, i32 0, i32 0 %t339 = load ptr, ptr %t338 %t340 = call ptr @fn_rect_field(ptr %t339, i32 32) store ptr %t340, ptr %t341 %t342 = load ptr, ptr %t300 %t343 = getelementptr inbounds %Cmp_Val, ptr %t342, i32 0, i32 0 %t344 = load ptr, ptr %t343 %t345 = call ptr @fn_rect_field(ptr %t344, i32 0) store ptr %t345, ptr %t346 %t347 = load ptr, ptr %t331 store i32 5996, ptr @lp_site %t348 = call ptr @lp_str_concat(ptr @.str9610, ptr %t347) store i32 0, ptr @lp_site store i32 5997, ptr @lp_site %t349 = call ptr @lp_str_concat(ptr %t348, ptr @.str9611) store i32 0, ptr @lp_site call void @lp_free(ptr %t348) %t350 = load ptr, ptr %t341 store i32 5998, ptr @lp_site %t351 = call ptr @lp_str_concat(ptr %t349, ptr %t350) store i32 0, ptr @lp_site call void @lp_free(ptr %t349) %t352 = call ptr @fn_emit_bind(ptr %t351) store ptr %t352, ptr %t353 %t354 = load ptr, ptr %t336 store i32 5999, ptr @lp_site %t355 = call ptr @lp_str_concat(ptr @.str9612, ptr %t354) store i32 0, ptr @lp_site store i32 6000, ptr @lp_site %t356 = call ptr @lp_str_concat(ptr %t355, ptr @.str9613) store i32 0, ptr @lp_site call void @lp_free(ptr %t355) %t357 = load ptr, ptr %t346 store i32 6001, ptr @lp_site %t358 = call ptr @lp_str_concat(ptr %t356, ptr %t357) store i32 0, ptr @lp_site call void @lp_free(ptr %t356) %t359 = call ptr @fn_emit_bind(ptr %t358) store ptr %t359, ptr %t360 %t361 = load ptr, ptr %t313 %t362 = getelementptr inbounds %Cmp_Val, ptr %t361, i32 0, i32 0 %t363 = load ptr, ptr %t362 %t364 = load ptr, ptr %t331 %t365 = call ptr @fn_rect_cmp(ptr @.str9614, ptr %t363, ptr %t364) store ptr %t365, ptr %t366 %t367 = load ptr, ptr %t313 %t368 = getelementptr inbounds %Cmp_Val, ptr %t367, i32 0, i32 0 %t369 = load ptr, ptr %t368 %t370 = load ptr, ptr %t353 %t371 = call ptr @fn_rect_cmp(ptr @.str9615, ptr %t369, ptr %t370) store ptr %t371, ptr %t372 %t373 = load ptr, ptr %t326 %t374 = getelementptr inbounds %Cmp_Val, ptr %t373, i32 0, i32 0 %t375 = load ptr, ptr %t374 %t376 = load ptr, ptr %t336 %t377 = call ptr @fn_rect_cmp(ptr @.str9616, ptr %t375, ptr %t376) store ptr %t377, ptr %t378 %t379 = load ptr, ptr %t326 %t380 = getelementptr inbounds %Cmp_Val, ptr %t379, i32 0, i32 0 %t381 = load ptr, ptr %t380 %t382 = load ptr, ptr %t360 %t383 = call ptr @fn_rect_cmp(ptr @.str9617, ptr %t381, ptr %t382) store ptr %t383, ptr %t384 %t385 = load ptr, ptr %t366 store i32 6002, ptr @lp_site %t386 = call ptr @lp_str_concat(ptr @.str9618, ptr %t385) store i32 0, ptr @lp_site store i32 6003, ptr @lp_site %t387 = call ptr @lp_str_concat(ptr %t386, ptr @.str9619) store i32 0, ptr @lp_site call void @lp_free(ptr %t386) %t388 = load ptr, ptr %t372 store i32 6004, ptr @lp_site %t389 = call ptr @lp_str_concat(ptr %t387, ptr %t388) store i32 0, ptr @lp_site call void @lp_free(ptr %t387) %t390 = call ptr @fn_emit_bind(ptr %t389) store ptr %t390, ptr %t391 %t392 = load ptr, ptr %t378 store i32 6005, ptr @lp_site %t393 = call ptr @lp_str_concat(ptr @.str9620, ptr %t392) store i32 0, ptr @lp_site store i32 6006, ptr @lp_site %t394 = call ptr @lp_str_concat(ptr %t393, ptr @.str9621) store i32 0, ptr @lp_site call void @lp_free(ptr %t393) %t395 = load ptr, ptr %t384 store i32 6007, ptr @lp_site %t396 = call ptr @lp_str_concat(ptr %t394, ptr %t395) store i32 0, ptr @lp_site call void @lp_free(ptr %t394) %t397 = call ptr @fn_emit_bind(ptr %t396) store ptr %t397, ptr %t398 %t399 = load ptr, ptr %t391 store i32 6008, ptr @lp_site %t400 = call ptr @lp_str_concat(ptr @.str9622, ptr %t399) store i32 0, ptr @lp_site store i32 6009, ptr @lp_site %t401 = call ptr @lp_str_concat(ptr %t400, ptr @.str9623) store i32 0, ptr @lp_site call void @lp_free(ptr %t400) %t402 = load ptr, ptr %t398 store i32 6010, ptr @lp_site %t403 = call ptr @lp_str_concat(ptr %t401, ptr %t402) store i32 0, ptr @lp_site call void @lp_free(ptr %t401) %t404 = call ptr @fn_emit_bind(ptr %t403) %t405 = call ptr @fn_val(ptr %t404, ptr @.str9624) store ptr %t405, ptr %retval br label %ret ifend48: %t406 = load ptr, ptr %t1 %t407 = getelementptr inbounds %Cmp_Node, ptr %t406, i32 0, i32 7 %t408 = load ptr, ptr %t407 %t409 = getelementptr inbounds %LSlice, ptr %t408, i32 0, i32 0 %t410 = load ptr, ptr %t409 %t411 = getelementptr inbounds %LSlice, ptr %t408, i32 0, i32 1 %t412 = load i32, ptr %t411 %t413 = icmp ult i32 0, %t412 br i1 %t413, label %ixok55, label %ixbad56 ixbad56: store i32 6011, ptr @lp_site %t414 = call ptr @lp_win_stdio(i32 2) store i32 0, ptr @lp_site call i32 (ptr, ptr, ...) @fprintf(ptr %t414, ptr @.fmt_bounds, ptr @.str9625, i32 0, i32 %t412) call void @exit(i32 1) unreachable ixok55: %t415 = getelementptr inbounds ptr, ptr %t410, i32 0 %t416 = load ptr, ptr %t415 %t417 = call ptr @fn_emit_expr(ptr %t416) store ptr %t417, ptr %t418 %t419 = load ptr, ptr %t1 %t420 = getelementptr inbounds %Cmp_Node, ptr %t419, i32 0, i32 7 %t421 = load ptr, ptr %t420 %t422 = getelementptr inbounds %LSlice, ptr %t421, i32 0, i32 0 %t423 = load ptr, ptr %t422 %t424 = getelementptr inbounds %LSlice, ptr %t421, i32 0, i32 1 %t425 = load i32, ptr %t424 %t426 = icmp ult i32 1, %t425 br i1 %t426, label %ixok57, label %ixbad58 ixbad58: store i32 6012, ptr @lp_site %t427 = call ptr @lp_win_stdio(i32 2) store i32 0, ptr @lp_site call i32 (ptr, ptr, ...) @fprintf(ptr %t427, ptr @.fmt_bounds, ptr @.str9626, i32 1, i32 %t425) call void @exit(i32 1) unreachable ixok57: %t428 = getelementptr inbounds ptr, ptr %t423, i32 1 %t429 = load ptr, ptr %t428 %t430 = call ptr @fn_emit_expr(ptr %t429) store ptr %t430, ptr %t431 %t432 = load ptr, ptr %t418 %t433 = getelementptr inbounds %Cmp_Val, ptr %t432, i32 0, i32 0 %t434 = load ptr, ptr %t433 %t435 = call ptr @fn_rect_field(ptr %t434, i32 96) store ptr %t435, ptr %t436 %t437 = load ptr, ptr %t418 %t438 = getelementptr inbounds %Cmp_Val, ptr %t437, i32 0, i32 0 %t439 = load ptr, ptr %t438 %t440 = call ptr @fn_rect_field(ptr %t439, i32 64) store ptr %t440, ptr %t441 %t442 = load ptr, ptr %t418 %t443 = getelementptr inbounds %Cmp_Val, ptr %t442, i32 0, i32 0 %t444 = load ptr, ptr %t443 %t445 = call ptr @fn_rect_field(ptr %t444, i32 32) store ptr %t445, ptr %t446 %t447 = load ptr, ptr %t418 %t448 = getelementptr inbounds %Cmp_Val, ptr %t447, i32 0, i32 0 %t449 = load ptr, ptr %t448 %t450 = call ptr @fn_rect_field(ptr %t449, i32 0) store ptr %t450, ptr %t451 %t452 = load ptr, ptr %t431 %t453 = getelementptr inbounds %Cmp_Val, ptr %t452, i32 0, i32 0 %t454 = load ptr, ptr %t453 %t455 = call ptr @fn_rect_field(ptr %t454, i32 96) store ptr %t455, ptr %t456 %t457 = load ptr, ptr %t431 %t458 = getelementptr inbounds %Cmp_Val, ptr %t457, i32 0, i32 0 %t459 = load ptr, ptr %t458 %t460 = call ptr @fn_rect_field(ptr %t459, i32 64) store ptr %t460, ptr %t461 %t462 = load ptr, ptr %t431 %t463 = getelementptr inbounds %Cmp_Val, ptr %t462, i32 0, i32 0 %t464 = load ptr, ptr %t463 %t465 = call ptr @fn_rect_field(ptr %t464, i32 32) store ptr %t465, ptr %t466 %t467 = load ptr, ptr %t431 %t468 = getelementptr inbounds %Cmp_Val, ptr %t467, i32 0, i32 0 %t469 = load ptr, ptr %t468 %t470 = call ptr @fn_rect_field(ptr %t469, i32 0) store ptr %t470, ptr %t471 %t472 = load ptr, ptr %t436 store i32 6013, ptr @lp_site %t473 = call ptr @lp_str_concat(ptr @.str9627, ptr %t472) store i32 0, ptr @lp_site store i32 6014, ptr @lp_site %t474 = call ptr @lp_str_concat(ptr %t473, ptr @.str9628) store i32 0, ptr @lp_site call void @lp_free(ptr %t473) %t475 = load ptr, ptr %t446 store i32 6015, ptr @lp_site %t476 = call ptr @lp_str_concat(ptr %t474, ptr %t475) store i32 0, ptr @lp_site call void @lp_free(ptr %t474) %t477 = call ptr @fn_emit_bind(ptr %t476) store ptr %t477, ptr %t478 %t479 = load ptr, ptr %t441 store i32 6016, ptr @lp_site %t480 = call ptr @lp_str_concat(ptr @.str9629, ptr %t479) store i32 0, ptr @lp_site store i32 6017, ptr @lp_site %t481 = call ptr @lp_str_concat(ptr %t480, ptr @.str9630) store i32 0, ptr @lp_site call void @lp_free(ptr %t480) %t482 = load ptr, ptr %t451 store i32 6018, ptr @lp_site %t483 = call ptr @lp_str_concat(ptr %t481, ptr %t482) store i32 0, ptr @lp_site call void @lp_free(ptr %t481) %t484 = call ptr @fn_emit_bind(ptr %t483) store ptr %t484, ptr %t485 %t486 = load ptr, ptr %t456 store i32 6019, ptr @lp_site %t487 = call ptr @lp_str_concat(ptr @.str9631, ptr %t486) store i32 0, ptr @lp_site store i32 6020, ptr @lp_site %t488 = call ptr @lp_str_concat(ptr %t487, ptr @.str9632) store i32 0, ptr @lp_site call void @lp_free(ptr %t487) %t489 = load ptr, ptr %t466 store i32 6021, ptr @lp_site %t490 = call ptr @lp_str_concat(ptr %t488, ptr %t489) store i32 0, ptr @lp_site call void @lp_free(ptr %t488) %t491 = call ptr @fn_emit_bind(ptr %t490) store ptr %t491, ptr %t492 %t493 = load ptr, ptr %t461 store i32 6022, ptr @lp_site %t494 = call ptr @lp_str_concat(ptr @.str9633, ptr %t493) store i32 0, ptr @lp_site store i32 6023, ptr @lp_site %t495 = call ptr @lp_str_concat(ptr %t494, ptr @.str9634) store i32 0, ptr @lp_site call void @lp_free(ptr %t494) %t496 = load ptr, ptr %t471 store i32 6024, ptr @lp_site %t497 = call ptr @lp_str_concat(ptr %t495, ptr %t496) store i32 0, ptr @lp_site call void @lp_free(ptr %t495) %t498 = call ptr @fn_emit_bind(ptr %t497) store ptr %t498, ptr %t499 %t500 = load ptr, ptr %t436 %t501 = load ptr, ptr %t492 %t502 = call ptr @fn_rect_cmp(ptr @.str9635, ptr %t500, ptr %t501) store ptr %t502, ptr %t503 %t504 = load ptr, ptr %t456 %t505 = load ptr, ptr %t478 %t506 = call ptr @fn_rect_cmp(ptr @.str9636, ptr %t504, ptr %t505) store ptr %t506, ptr %t507 %t508 = load ptr, ptr %t441 %t509 = load ptr, ptr %t499 %t510 = call ptr @fn_rect_cmp(ptr @.str9637, ptr %t508, ptr %t509) store ptr %t510, ptr %t511 %t512 = load ptr, ptr %t461 %t513 = load ptr, ptr %t485 %t514 = call ptr @fn_rect_cmp(ptr @.str9638, ptr %t512, ptr %t513) store ptr %t514, ptr %t515 %t516 = load ptr, ptr %t503 store i32 6025, ptr @lp_site %t517 = call ptr @lp_str_concat(ptr @.str9639, ptr %t516) store i32 0, ptr @lp_site store i32 6026, ptr @lp_site %t518 = call ptr @lp_str_concat(ptr %t517, ptr @.str9640) store i32 0, ptr @lp_site call void @lp_free(ptr %t517) %t519 = load ptr, ptr %t507 store i32 6027, ptr @lp_site %t520 = call ptr @lp_str_concat(ptr %t518, ptr %t519) store i32 0, ptr @lp_site call void @lp_free(ptr %t518) %t521 = call ptr @fn_emit_bind(ptr %t520) store ptr %t521, ptr %t522 %t523 = load ptr, ptr %t511 store i32 6028, ptr @lp_site %t524 = call ptr @lp_str_concat(ptr @.str9641, ptr %t523) store i32 0, ptr @lp_site store i32 6029, ptr @lp_site %t525 = call ptr @lp_str_concat(ptr %t524, ptr @.str9642) store i32 0, ptr @lp_site call void @lp_free(ptr %t524) %t526 = load ptr, ptr %t515 store i32 6030, ptr @lp_site %t527 = call ptr @lp_str_concat(ptr %t525, ptr %t526) store i32 0, ptr @lp_site call void @lp_free(ptr %t525) %t528 = call ptr @fn_emit_bind(ptr %t527) store ptr %t528, ptr %t529 %t530 = load ptr, ptr %t522 store i32 6031, ptr @lp_site %t531 = call ptr @lp_str_concat(ptr @.str9643, ptr %t530) store i32 0, ptr @lp_site store i32 6032, ptr @lp_site %t532 = call ptr @lp_str_concat(ptr %t531, ptr @.str9644) store i32 0, ptr @lp_site call void @lp_free(ptr %t531) %t533 = load ptr, ptr %t529 store i32 6033, ptr @lp_site %t534 = call ptr @lp_str_concat(ptr %t532, ptr %t533) store i32 0, ptr @lp_site call void @lp_free(ptr %t532) %t535 = call ptr @fn_emit_bind(ptr %t534) %t536 = call ptr @fn_val(ptr %t535, ptr @.str9645) store ptr %t536, ptr %retval br label %ret ret: %t537 = load ptr, ptr %retval ret ptr %t537 } 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 %t50 = alloca i32 %t61 = alloca i32 %t72 = alloca i32 %t73 = alloca i32 %t74 = alloca i32 %t99 = alloca i32 %t110 = alloca i32 %t111 = alloca i32 store ptr %arg_meth, ptr %t0 %t3 = load ptr, ptr %t0 %t4 = call i32 @lp_str_eq(ptr %t3, ptr @.str9646) %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 @.str9647) %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 @.str9648) %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 @.str9649) %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 @.str9650) %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 @.str9651) %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 @.str9652) %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: %t47 = load ptr, ptr %t0 %t48 = call i32 @lp_str_eq(ptr %t47, ptr @.str9653) %t49 = icmp ne i32 %t48, 0 br i1 %t49, label %then16, label %ifend18 then16: store i32 1, ptr %retval br label %ret ifend18: %t51 = load ptr, ptr %t0 %t52 = call i32 @lp_str_eq(ptr %t51, ptr @.str9654) %t53 = icmp ne i32 %t52, 0 %t54 = zext i1 %t53 to i32 store i32 %t54, ptr %t50 br i1 %t53, label %scend20, label %sc19 sc19: %t55 = load ptr, ptr %t0 %t56 = call i32 @lp_str_eq(ptr %t55, ptr @.str9655) %t57 = icmp ne i32 %t56, 0 %t58 = zext i1 %t57 to i32 store i32 %t58, ptr %t50 br label %scend20 scend20: %t59 = load i32, ptr %t50 %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 @.str9656) %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 @.str9657) %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: %t75 = load ptr, ptr %t0 %t76 = call i32 @lp_str_eq(ptr %t75, ptr @.str9658) %t77 = icmp ne i32 %t76, 0 %t78 = zext i1 %t77 to i32 store i32 %t78, ptr %t74 br i1 %t77, label %scend30, label %sc29 sc29: %t79 = load ptr, ptr %t0 %t80 = call i32 @lp_str_eq(ptr %t79, ptr @.str9659) %t81 = icmp ne i32 %t80, 0 %t82 = zext i1 %t81 to i32 store i32 %t82, ptr %t74 br label %scend30 scend30: %t83 = load i32, ptr %t74 %t84 = icmp ne i32 %t83, 0 %t85 = zext i1 %t84 to i32 store i32 %t85, ptr %t73 br i1 %t84, label %scend32, label %sc31 sc31: %t86 = load ptr, ptr %t0 %t87 = call i32 @lp_str_eq(ptr %t86, ptr @.str9660) %t88 = icmp ne i32 %t87, 0 %t89 = zext i1 %t88 to i32 store i32 %t89, ptr %t73 br label %scend32 scend32: %t90 = load i32, ptr %t73 %t91 = icmp ne i32 %t90, 0 %t92 = zext i1 %t91 to i32 store i32 %t92, ptr %t72 br i1 %t91, label %scend34, label %sc33 sc33: %t93 = load ptr, ptr %t0 %t94 = call i32 @lp_str_eq(ptr %t93, ptr @.str9661) %t95 = icmp ne i32 %t94, 0 %t96 = zext i1 %t95 to i32 store i32 %t96, ptr %t72 br label %scend34 scend34: %t97 = load i32, ptr %t72 %t98 = icmp ne i32 %t97, 0 br i1 %t98, label %then35, label %ifend37 then35: store i32 1, ptr %retval br label %ret ifend37: %t100 = load ptr, ptr %t0 %t101 = call i32 @lp_str_eq(ptr %t100, ptr @.str9662) %t102 = icmp ne i32 %t101, 0 %t103 = zext i1 %t102 to i32 store i32 %t103, ptr %t99 br i1 %t102, label %scend39, label %sc38 sc38: %t104 = load ptr, ptr %t0 %t105 = call i32 @lp_str_eq(ptr %t104, ptr @.str9663) %t106 = icmp ne i32 %t105, 0 %t107 = zext i1 %t106 to i32 store i32 %t107, ptr %t99 br label %scend39 scend39: %t108 = load i32, ptr %t99 %t109 = icmp ne i32 %t108, 0 br i1 %t109, label %then40, label %ifend42 then40: store i32 1, ptr %retval br label %ret ifend42: %t112 = load ptr, ptr %t0 %t113 = call i32 @lp_str_eq(ptr %t112, ptr @.str9664) %t114 = icmp ne i32 %t113, 0 %t115 = zext i1 %t114 to i32 store i32 %t115, ptr %t111 br i1 %t114, label %scend44, label %sc43 sc43: %t116 = load ptr, ptr %t0 %t117 = call i32 @lp_str_eq(ptr %t116, ptr @.str9665) %t118 = icmp ne i32 %t117, 0 %t119 = zext i1 %t118 to i32 store i32 %t119, ptr %t111 br label %scend44 scend44: %t120 = load i32, ptr %t111 %t121 = icmp ne i32 %t120, 0 %t122 = zext i1 %t121 to i32 store i32 %t122, ptr %t110 br i1 %t121, label %scend46, label %sc45 sc45: %t123 = load ptr, ptr %t0 %t124 = call i32 @lp_str_eq(ptr %t123, ptr @.str9666) %t125 = icmp ne i32 %t124, 0 %t126 = zext i1 %t125 to i32 store i32 %t126, ptr %t110 br label %scend46 scend46: %t127 = load i32, ptr %t110 %t128 = icmp ne i32 %t127, 0 br i1 %t128, label %then47, label %ifend49 then47: store i32 1, ptr %retval br label %ret ifend49: store i32 0, ptr %retval br label %ret ret: %t129 = load i32, ptr %retval ret i32 %t129 } define void @fn_text_gone(ptr %arg_v) { entry: %t0 = alloca ptr store ptr %arg_v, ptr %t0 %t1 = load ptr, ptr %t0 %t2 = getelementptr inbounds %Cmp_Val, ptr %t1, i32 0, i32 3 %t3 = load i32, ptr %t2 %t4 = icmp ne i32 %t3, 0 br i1 %t4, label %then0, label %ifend2 then0: %t5 = load ptr, ptr %t0 %t6 = getelementptr inbounds %Cmp_Val, ptr %t5, i32 0, i32 0 %t7 = load ptr, ptr %t6 store i32 6034, ptr @lp_site %t8 = call ptr @lp_str_concat(ptr @.str9667, ptr %t7) store i32 0, ptr @lp_site store i32 6035, ptr @lp_site %t9 = call ptr @lp_str_concat(ptr %t8, ptr @.str9669) store i32 0, ptr @lp_site call void @lp_free(ptr %t8) call void @fn_emit(ptr %t9) br label %ifend2 ifend2: br label %ret ret: ret void } define ptr @fn_emit_text_ns(ptr %arg_meth, ptr %arg_e) { entry: %retval = alloca ptr %t0 = alloca ptr %t1 = alloca ptr %t17 = alloca ptr %t40 = alloca ptr %t53 = alloca ptr %t66 = alloca ptr %t84 = alloca ptr %t102 = alloca ptr %t115 = alloca ptr %t134 = alloca ptr %t147 = alloca ptr %t163 = alloca ptr %t173 = alloca ptr %t195 = alloca ptr %t206 = alloca ptr %t210 = alloca ptr %t226 = alloca ptr %t242 = alloca ptr %t246 = alloca i32 %t247 = alloca i32 %t265 = alloca ptr %t282 = alloca ptr %t300 = alloca ptr %t313 = alloca ptr %t316 = alloca i32 %t339 = alloca ptr %t340 = alloca ptr %t359 = alloca ptr %t377 = alloca ptr %t390 = alloca ptr %t408 = alloca ptr %t428 = alloca ptr %t441 = alloca ptr %t460 = alloca ptr %t473 = alloca ptr %t476 = alloca i32 %t499 = alloca ptr %t511 = alloca ptr %t519 = alloca ptr %t531 = alloca ptr %t536 = alloca ptr %t543 = alloca ptr %t550 = alloca ptr %t555 = alloca ptr %t577 = alloca ptr %t584 = alloca ptr %t602 = alloca ptr %t607 = alloca ptr %t621 = alloca ptr %t628 = alloca ptr %t630 = alloca ptr %t636 = alloca ptr %t638 = alloca ptr %t640 = alloca ptr %t653 = alloca ptr %t666 = alloca ptr %t671 = alloca ptr %t676 = 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 @.str9670) %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 %LSlice, ptr %t7, i32 0, i32 1 %t11 = load i32, ptr %t10 %t12 = icmp ult i32 0, %t11 br i1 %t12, label %ixok3, label %ixbad4 ixbad4: store i32 6036, ptr @lp_site %t13 = call ptr @lp_win_stdio(i32 2) store i32 0, ptr @lp_site call i32 (ptr, ptr, ...) @fprintf(ptr %t13, ptr @.fmt_bounds, ptr @.str9671, i32 0, i32 %t11) call void @exit(i32 1) unreachable ixok3: %t14 = getelementptr inbounds ptr, ptr %t9, i32 0 %t15 = load ptr, ptr %t14 %t16 = call ptr @fn_emit_expr(ptr %t15) store ptr %t16, ptr %t17 store i32 1, ptr @g_g_uses_intstr %t18 = load ptr, ptr %t17 %t19 = getelementptr inbounds %Cmp_Val, ptr %t18, i32 0, i32 0 %t20 = load ptr, ptr %t19 store i32 6037, ptr @lp_site %t21 = call ptr @lp_str_concat(ptr @.str9673, ptr %t20) store i32 0, ptr @lp_site store i32 6038, ptr @lp_site %t22 = call ptr @lp_str_concat(ptr %t21, ptr @.str9674) store i32 0, ptr @lp_site call void @lp_free(ptr %t21) %t23 = call ptr @fn_emit_bind(ptr %t22) %t24 = call ptr @fn_fresh_val(ptr %t23, ptr @.str9675) store ptr %t24, ptr %retval br label %ret ifend2: %t25 = load ptr, ptr %t0 %t26 = call i32 @lp_str_eq(ptr %t25, ptr @.str9676) %t27 = icmp ne i32 %t26, 0 br i1 %t27, label %then5, label %ifend7 then5: %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 %LSlice, ptr %t30, i32 0, i32 1 %t34 = load i32, ptr %t33 %t35 = icmp ult i32 0, %t34 br i1 %t35, label %ixok8, label %ixbad9 ixbad9: store i32 6039, ptr @lp_site %t36 = call ptr @lp_win_stdio(i32 2) store i32 0, ptr @lp_site call i32 (ptr, ptr, ...) @fprintf(ptr %t36, ptr @.fmt_bounds, ptr @.str9677, i32 0, i32 %t34) call void @exit(i32 1) unreachable ixok8: %t37 = getelementptr inbounds ptr, ptr %t32, i32 0 %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 %LSlice, ptr %t43, i32 0, i32 1 %t47 = load i32, ptr %t46 %t48 = icmp ult i32 1, %t47 br i1 %t48, label %ixok10, label %ixbad11 ixbad11: store i32 6040, ptr @lp_site %t49 = call ptr @lp_win_stdio(i32 2) store i32 0, ptr @lp_site call i32 (ptr, ptr, ...) @fprintf(ptr %t49, ptr @.fmt_bounds, ptr @.str9678, i32 1, i32 %t47) call void @exit(i32 1) unreachable ixok10: %t50 = getelementptr inbounds ptr, ptr %t45, i32 1 %t51 = load ptr, ptr %t50 %t52 = call ptr @fn_emit_expr(ptr %t51) store ptr %t52, ptr %t53 %t54 = load ptr, ptr %t1 %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 = getelementptr inbounds %LSlice, ptr %t56, i32 0, i32 1 %t60 = load i32, ptr %t59 %t61 = icmp ult i32 2, %t60 br i1 %t61, label %ixok12, label %ixbad13 ixbad13: store i32 6041, ptr @lp_site %t62 = call ptr @lp_win_stdio(i32 2) store i32 0, ptr @lp_site call i32 (ptr, ptr, ...) @fprintf(ptr %t62, ptr @.fmt_bounds, ptr @.str9679, i32 2, i32 %t60) call void @exit(i32 1) unreachable ixok12: %t63 = getelementptr inbounds ptr, ptr %t58, i32 2 %t64 = load ptr, ptr %t63 %t65 = call ptr @fn_emit_expr(ptr %t64) store ptr %t65, ptr %t66 store i32 1, ptr @g_g_uses_strslice %t67 = load ptr, ptr %t40 %t68 = getelementptr inbounds %Cmp_Val, ptr %t67, i32 0, i32 0 %t69 = load ptr, ptr %t68 store i32 6042, ptr @lp_site %t70 = call ptr @lp_str_concat(ptr @.str9680, ptr %t69) store i32 0, ptr @lp_site store i32 6043, ptr @lp_site %t71 = call ptr @lp_str_concat(ptr %t70, ptr @.str9681) store i32 0, ptr @lp_site call void @lp_free(ptr %t70) %t72 = load ptr, ptr %t53 %t73 = getelementptr inbounds %Cmp_Val, ptr %t72, i32 0, i32 0 %t74 = load ptr, ptr %t73 store i32 6044, ptr @lp_site %t75 = call ptr @lp_str_concat(ptr %t71, ptr %t74) store i32 0, ptr @lp_site call void @lp_free(ptr %t71) store i32 6045, ptr @lp_site %t76 = call ptr @lp_str_concat(ptr %t75, ptr @.str9682) store i32 0, ptr @lp_site call void @lp_free(ptr %t75) %t77 = load ptr, ptr %t66 %t78 = getelementptr inbounds %Cmp_Val, ptr %t77, i32 0, i32 0 %t79 = load ptr, ptr %t78 store i32 6046, ptr @lp_site %t80 = call ptr @lp_str_concat(ptr %t76, ptr %t79) store i32 0, ptr @lp_site call void @lp_free(ptr %t76) store i32 6047, ptr @lp_site %t81 = call ptr @lp_str_concat(ptr %t80, ptr @.str9683) store i32 0, ptr @lp_site call void @lp_free(ptr %t80) %t82 = call ptr @fn_emit_bind(ptr %t81) %t83 = call ptr @fn_fresh_val(ptr %t82, ptr @.str9684) store ptr %t83, ptr %t84 %t85 = load ptr, ptr %t40 call void @fn_text_gone(ptr %t85) %t86 = load ptr, ptr %t84 store ptr %t86, ptr %retval br label %ret ifend7: %t87 = load ptr, ptr %t0 %t88 = call i32 @lp_str_eq(ptr %t87, ptr @.str9685) %t89 = icmp ne i32 %t88, 0 br i1 %t89, label %then14, label %ifend16 then14: %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 %LSlice, ptr %t92, i32 0, i32 1 %t96 = load i32, ptr %t95 %t97 = icmp ult i32 0, %t96 br i1 %t97, label %ixok17, label %ixbad18 ixbad18: store i32 6048, ptr @lp_site %t98 = call ptr @lp_win_stdio(i32 2) store i32 0, ptr @lp_site call i32 (ptr, ptr, ...) @fprintf(ptr %t98, ptr @.fmt_bounds, ptr @.str9686, i32 0, i32 %t96) call void @exit(i32 1) unreachable ixok17: %t99 = getelementptr inbounds ptr, ptr %t94, i32 0 %t100 = load ptr, ptr %t99 %t101 = call ptr @fn_emit_expr(ptr %t100) store ptr %t101, ptr %t102 %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 %LSlice, ptr %t105, i32 0, i32 1 %t109 = load i32, ptr %t108 %t110 = icmp ult i32 1, %t109 br i1 %t110, label %ixok19, label %ixbad20 ixbad20: store i32 6049, ptr @lp_site %t111 = call ptr @lp_win_stdio(i32 2) store i32 0, ptr @lp_site call i32 (ptr, ptr, ...) @fprintf(ptr %t111, ptr @.fmt_bounds, ptr @.str9687, i32 1, i32 %t109) call void @exit(i32 1) unreachable ixok19: %t112 = getelementptr inbounds ptr, ptr %t107, i32 1 %t113 = load ptr, ptr %t112 %t114 = call ptr @fn_emit_expr(ptr %t113) store ptr %t114, ptr %t115 %t116 = load ptr, ptr %t102 %t117 = load ptr, ptr %t115 %t118 = call ptr @fn_emit_str_op(ptr @.str9688, ptr %t116, ptr %t117) store ptr %t118, ptr %retval br label %ret ifend16: %t119 = load ptr, ptr %t0 %t120 = call i32 @lp_str_eq(ptr %t119, ptr @.str9689) %t121 = icmp ne i32 %t120, 0 br i1 %t121, label %then21, label %ifend23 then21: %t122 = load ptr, ptr %t1 %t123 = getelementptr inbounds %Cmp_Node, ptr %t122, i32 0, i32 7 %t124 = load ptr, ptr %t123 %t125 = getelementptr inbounds %LSlice, ptr %t124, i32 0, i32 0 %t126 = load ptr, ptr %t125 %t127 = getelementptr inbounds %LSlice, ptr %t124, i32 0, i32 1 %t128 = load i32, ptr %t127 %t129 = icmp ult i32 0, %t128 br i1 %t129, label %ixok24, label %ixbad25 ixbad25: store i32 6050, ptr @lp_site %t130 = call ptr @lp_win_stdio(i32 2) store i32 0, ptr @lp_site call i32 (ptr, ptr, ...) @fprintf(ptr %t130, ptr @.fmt_bounds, ptr @.str9690, i32 0, i32 %t128) call void @exit(i32 1) unreachable ixok24: %t131 = getelementptr inbounds ptr, ptr %t126, i32 0 %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 %LSlice, ptr %t137, i32 0, i32 1 %t141 = load i32, ptr %t140 %t142 = icmp ult i32 1, %t141 br i1 %t142, label %ixok26, label %ixbad27 ixbad27: store i32 6051, ptr @lp_site %t143 = call ptr @lp_win_stdio(i32 2) store i32 0, ptr @lp_site call i32 (ptr, ptr, ...) @fprintf(ptr %t143, ptr @.fmt_bounds, ptr @.str9691, i32 1, i32 %t141) call void @exit(i32 1) unreachable ixok26: %t144 = getelementptr inbounds ptr, ptr %t139, i32 1 %t145 = load ptr, ptr %t144 %t146 = call ptr @fn_emit_expr(ptr %t145) store ptr %t146, ptr %t147 %t148 = load ptr, ptr %t134 %t149 = load ptr, ptr %t147 %t150 = call ptr @fn_emit_str_op(ptr @.str9692, ptr %t148, ptr %t149) store ptr %t150, ptr %retval br label %ret ifend23: %t151 = load ptr, ptr %t1 %t152 = getelementptr inbounds %Cmp_Node, ptr %t151, i32 0, i32 7 %t153 = load ptr, ptr %t152 %t154 = getelementptr inbounds %LSlice, ptr %t153, i32 0, i32 0 %t155 = load ptr, ptr %t154 %t156 = getelementptr inbounds %LSlice, ptr %t153, i32 0, i32 1 %t157 = load i32, ptr %t156 %t158 = icmp ult i32 0, %t157 br i1 %t158, label %ixok28, label %ixbad29 ixbad29: store i32 6052, ptr @lp_site %t159 = call ptr @lp_win_stdio(i32 2) store i32 0, ptr @lp_site call i32 (ptr, ptr, ...) @fprintf(ptr %t159, ptr @.fmt_bounds, ptr @.str9693, i32 0, i32 %t157) call void @exit(i32 1) unreachable ixok28: %t160 = getelementptr inbounds ptr, ptr %t155, i32 0 %t161 = load ptr, ptr %t160 %t162 = call ptr @fn_emit_expr(ptr %t161) store ptr %t162, ptr %t163 %t164 = load ptr, ptr %t0 %t165 = call i32 @lp_str_eq(ptr %t164, ptr @.str9694) %t166 = icmp ne i32 %t165, 0 br i1 %t166, label %then30, label %ifend32 then30: %t167 = load ptr, ptr %t163 %t168 = getelementptr inbounds %Cmp_Val, ptr %t167, i32 0, i32 0 %t169 = load ptr, ptr %t168 store i32 6053, ptr @lp_site %t170 = call ptr @lp_str_concat(ptr @.str9695, ptr %t169) store i32 0, ptr @lp_site store i32 6054, ptr @lp_site %t171 = call ptr @lp_str_concat(ptr %t170, ptr @.str9696) store i32 0, ptr @lp_site call void @lp_free(ptr %t170) %t172 = call ptr @fn_emit_bind(ptr %t171) store ptr %t172, ptr %t173 %t174 = load ptr, ptr %t163 call void @fn_text_gone(ptr %t174) %t175 = load ptr, ptr %t173 store i32 6055, ptr @lp_site %t176 = call ptr @lp_str_concat(ptr @.str9697, ptr %t175) store i32 0, ptr @lp_site store i32 6056, ptr @lp_site %t177 = call ptr @lp_str_concat(ptr %t176, ptr @.str9698) store i32 0, ptr @lp_site call void @lp_free(ptr %t176) %t178 = call ptr @fn_emit_bind(ptr %t177) %t179 = call ptr @fn_val(ptr %t178, ptr @.str9699) store ptr %t179, ptr %retval br label %ret ifend32: %t180 = load ptr, ptr %t0 %t181 = call i32 @lp_str_eq(ptr %t180, ptr @.str9700) %t182 = icmp ne i32 %t181, 0 br i1 %t182, label %then33, label %ifend35 then33: %t183 = load ptr, ptr %t1 %t184 = getelementptr inbounds %Cmp_Node, ptr %t183, i32 0, i32 7 %t185 = load ptr, ptr %t184 %t186 = getelementptr inbounds %LSlice, ptr %t185, i32 0, i32 0 %t187 = load ptr, ptr %t186 %t188 = getelementptr inbounds %LSlice, ptr %t185, i32 0, i32 1 %t189 = load i32, ptr %t188 %t190 = icmp ult i32 1, %t189 br i1 %t190, label %ixok36, label %ixbad37 ixbad37: store i32 6057, ptr @lp_site %t191 = call ptr @lp_win_stdio(i32 2) store i32 0, ptr @lp_site call i32 (ptr, ptr, ...) @fprintf(ptr %t191, ptr @.fmt_bounds, ptr @.str9701, i32 1, i32 %t189) call void @exit(i32 1) unreachable ixok36: %t192 = getelementptr inbounds ptr, ptr %t187, i32 1 %t193 = load ptr, ptr %t192 %t194 = call ptr @fn_emit_expr(ptr %t193) store ptr %t194, ptr %t195 %t196 = load ptr, ptr %t163 %t197 = getelementptr inbounds %Cmp_Val, ptr %t196, i32 0, i32 0 %t198 = load ptr, ptr %t197 store i32 6058, ptr @lp_site %t199 = call ptr @lp_str_concat(ptr @.str9702, ptr %t198) store i32 0, ptr @lp_site store i32 6059, ptr @lp_site %t200 = call ptr @lp_str_concat(ptr %t199, ptr @.str9703) store i32 0, ptr @lp_site call void @lp_free(ptr %t199) %t201 = load ptr, ptr %t195 %t202 = getelementptr inbounds %Cmp_Val, ptr %t201, i32 0, i32 0 %t203 = load ptr, ptr %t202 store i32 6060, ptr @lp_site %t204 = call ptr @lp_str_concat(ptr %t200, ptr %t203) store i32 0, ptr @lp_site call void @lp_free(ptr %t200) %t205 = call ptr @fn_emit_bind(ptr %t204) store ptr %t205, ptr %t206 %t207 = load ptr, ptr %t206 store i32 6061, ptr @lp_site %t208 = call ptr @lp_str_concat(ptr @.str9704, ptr %t207) store i32 0, ptr @lp_site %t209 = call ptr @fn_emit_bind(ptr %t208) store ptr %t209, ptr %t210 %t211 = load ptr, ptr %t163 call void @fn_text_gone(ptr %t211) %t212 = load ptr, ptr %t210 store i32 6062, ptr @lp_site %t213 = call ptr @lp_str_concat(ptr @.str9705, ptr %t212) store i32 0, ptr @lp_site store i32 6063, ptr @lp_site %t214 = call ptr @lp_str_concat(ptr %t213, ptr @.str9706) store i32 0, ptr @lp_site call void @lp_free(ptr %t213) %t215 = call ptr @fn_emit_bind(ptr %t214) %t216 = call ptr @fn_val(ptr %t215, ptr @.str9707) store ptr %t216, ptr %retval br label %ret ifend35: %t217 = load ptr, ptr %t0 %t218 = call i32 @lp_str_eq(ptr %t217, ptr @.str9708) %t219 = icmp ne i32 %t218, 0 br i1 %t219, label %then38, label %ifend40 then38: call void @fn_fp_declare(ptr @.str9709) %t220 = load ptr, ptr %t163 %t221 = getelementptr inbounds %Cmp_Val, ptr %t220, i32 0, i32 0 %t222 = load ptr, ptr %t221 store i32 6064, ptr @lp_site %t223 = call ptr @lp_str_concat(ptr @.str9710, ptr %t222) store i32 0, ptr @lp_site store i32 6065, ptr @lp_site %t224 = call ptr @lp_str_concat(ptr %t223, ptr @.str9711) store i32 0, ptr @lp_site call void @lp_free(ptr %t223) %t225 = call ptr @fn_emit_bind(ptr %t224) store ptr %t225, ptr %t226 %t227 = load ptr, ptr %t163 call void @fn_text_gone(ptr %t227) %t228 = load ptr, ptr %t226 store i32 6066, ptr @lp_site %t229 = call ptr @lp_str_concat(ptr @.str9712, ptr %t228) store i32 0, ptr @lp_site store i32 6067, ptr @lp_site %t230 = call ptr @lp_str_concat(ptr %t229, ptr @.str9713) store i32 0, ptr @lp_site call void @lp_free(ptr %t229) %t231 = call ptr @fn_emit_bind(ptr %t230) %t232 = call ptr @fn_val(ptr %t231, ptr @.str9714) store ptr %t232, ptr %retval br label %ret ifend40: %t233 = load ptr, ptr %t0 %t234 = call i32 @lp_str_eq(ptr %t233, ptr @.str9715) %t235 = icmp ne i32 %t234, 0 br i1 %t235, label %then41, label %ifend43 then41: %t236 = load ptr, ptr %t163 %t237 = getelementptr inbounds %Cmp_Val, ptr %t236, i32 0, i32 0 %t238 = load ptr, ptr %t237 store i32 6068, ptr @lp_site %t239 = call ptr @lp_str_concat(ptr @.str9716, ptr %t238) store i32 0, ptr @lp_site store i32 6069, ptr @lp_site %t240 = call ptr @lp_str_concat(ptr %t239, ptr @.str9717) store i32 0, ptr @lp_site call void @lp_free(ptr %t239) %t241 = call ptr @fn_emit_bind(ptr %t240) store ptr %t241, ptr %t242 %t243 = load ptr, ptr %t163 call void @fn_text_gone(ptr %t243) %t244 = load ptr, ptr %t242 %t245 = call ptr @fn_val(ptr %t244, ptr @.str9718) store ptr %t245, ptr %retval br label %ret ifend43: %t248 = load ptr, ptr %t0 %t249 = call i32 @lp_str_eq(ptr %t248, ptr @.str9719) %t250 = icmp ne i32 %t249, 0 %t251 = zext i1 %t250 to i32 store i32 %t251, ptr %t247 br i1 %t250, label %scend45, label %sc44 sc44: %t252 = load ptr, ptr %t0 %t253 = call i32 @lp_str_eq(ptr %t252, ptr @.str9720) %t254 = icmp ne i32 %t253, 0 %t255 = zext i1 %t254 to i32 store i32 %t255, ptr %t247 br label %scend45 scend45: %t256 = load i32, ptr %t247 %t257 = icmp ne i32 %t256, 0 %t258 = zext i1 %t257 to i32 store i32 %t258, ptr %t246 br i1 %t257, label %scend47, label %sc46 sc46: %t259 = load ptr, ptr %t0 %t260 = call i32 @lp_str_eq(ptr %t259, ptr @.str9721) %t261 = icmp ne i32 %t260, 0 %t262 = zext i1 %t261 to i32 store i32 %t262, ptr %t246 br label %scend47 scend47: %t263 = load i32, ptr %t246 %t264 = icmp ne i32 %t263, 0 br i1 %t264, label %then48, label %ifend50 then48: store i32 1, ptr @g_g_uses_textrt store ptr @.str9722, ptr %t265 %t266 = load ptr, ptr %t0 %t267 = call i32 @lp_str_eq(ptr %t266, ptr @.str9723) %t268 = icmp ne i32 %t267, 0 br i1 %t268, label %then51, label %ifend53 then51: store ptr @.str9724, ptr %t265 br label %ifend53 ifend53: %t269 = load ptr, ptr %t0 %t270 = call i32 @lp_str_eq(ptr %t269, ptr @.str9725) %t271 = icmp ne i32 %t270, 0 br i1 %t271, label %then54, label %ifend56 then54: store ptr @.str9726, ptr %t265 br label %ifend56 ifend56: %t272 = load ptr, ptr %t265 store i32 6070, ptr @lp_site %t273 = call ptr @lp_str_concat(ptr @.str9727, ptr %t272) store i32 0, ptr @lp_site store i32 6071, ptr @lp_site %t274 = call ptr @lp_str_concat(ptr %t273, ptr @.str9728) store i32 0, ptr @lp_site call void @lp_free(ptr %t273) %t275 = load ptr, ptr %t163 %t276 = getelementptr inbounds %Cmp_Val, ptr %t275, i32 0, i32 0 %t277 = load ptr, ptr %t276 store i32 6072, ptr @lp_site %t278 = call ptr @lp_str_concat(ptr %t274, ptr %t277) store i32 0, ptr @lp_site call void @lp_free(ptr %t274) store i32 6073, ptr @lp_site %t279 = call ptr @lp_str_concat(ptr %t278, ptr @.str9729) store i32 0, ptr @lp_site call void @lp_free(ptr %t278) %t280 = call ptr @fn_emit_bind(ptr %t279) %t281 = call ptr @fn_fresh_val(ptr %t280, ptr @.str9730) store ptr %t281, ptr %t282 %t283 = load ptr, ptr %t163 call void @fn_text_gone(ptr %t283) %t284 = load ptr, ptr %t282 store ptr %t284, ptr %retval br label %ret ifend50: %t285 = load ptr, ptr %t0 %t286 = call i32 @lp_str_eq(ptr %t285, ptr @.str9731) %t287 = icmp ne i32 %t286, 0 br i1 %t287, label %then57, label %ifend59 then57: store i32 1, ptr @g_g_uses_textrt %t288 = load ptr, ptr %t1 %t289 = getelementptr inbounds %Cmp_Node, ptr %t288, i32 0, i32 7 %t290 = load ptr, ptr %t289 %t291 = getelementptr inbounds %LSlice, ptr %t290, i32 0, i32 0 %t292 = load ptr, ptr %t291 %t293 = getelementptr inbounds %LSlice, ptr %t290, i32 0, i32 1 %t294 = load i32, ptr %t293 %t295 = icmp ult i32 1, %t294 br i1 %t295, label %ixok60, label %ixbad61 ixbad61: store i32 6074, ptr @lp_site %t296 = call ptr @lp_win_stdio(i32 2) store i32 0, ptr @lp_site call i32 (ptr, ptr, ...) @fprintf(ptr %t296, ptr @.fmt_bounds, ptr @.str9732, i32 1, i32 %t294) call void @exit(i32 1) unreachable ixok60: %t297 = getelementptr inbounds ptr, ptr %t292, i32 1 %t298 = load ptr, ptr %t297 %t299 = call ptr @fn_emit_expr(ptr %t298) store ptr %t299, ptr %t300 %t301 = load ptr, ptr %t163 %t302 = getelementptr inbounds %Cmp_Val, ptr %t301, i32 0, i32 0 %t303 = load ptr, ptr %t302 store i32 6075, ptr @lp_site %t304 = call ptr @lp_str_concat(ptr @.str9733, ptr %t303) store i32 0, ptr @lp_site store i32 6076, ptr @lp_site %t305 = call ptr @lp_str_concat(ptr %t304, ptr @.str9734) store i32 0, ptr @lp_site call void @lp_free(ptr %t304) %t306 = load ptr, ptr %t300 %t307 = getelementptr inbounds %Cmp_Val, ptr %t306, i32 0, i32 0 %t308 = load ptr, ptr %t307 store i32 6077, ptr @lp_site %t309 = call ptr @lp_str_concat(ptr %t305, ptr %t308) store i32 0, ptr @lp_site call void @lp_free(ptr %t305) store i32 6078, ptr @lp_site %t310 = call ptr @lp_str_concat(ptr %t309, ptr @.str9735) store i32 0, ptr @lp_site call void @lp_free(ptr %t309) %t311 = call ptr @fn_emit_bind(ptr %t310) %t312 = call ptr @fn_fresh_val(ptr %t311, ptr @.str9736) store ptr %t312, ptr %t313 %t314 = load ptr, ptr %t163 call void @fn_text_gone(ptr %t314) %t315 = load ptr, ptr %t313 store ptr %t315, ptr %retval br label %ret ifend59: %t317 = load ptr, ptr %t0 %t318 = call i32 @lp_str_eq(ptr %t317, ptr @.str9737) %t319 = icmp ne i32 %t318, 0 %t320 = zext i1 %t319 to i32 store i32 %t320, ptr %t316 br i1 %t319, label %scend63, label %sc62 sc62: %t321 = load ptr, ptr %t0 %t322 = call i32 @lp_str_eq(ptr %t321, ptr @.str9738) %t323 = icmp ne i32 %t322, 0 %t324 = zext i1 %t323 to i32 store i32 %t324, ptr %t316 br label %scend63 scend63: %t325 = load i32, ptr %t316 %t326 = icmp ne i32 %t325, 0 br i1 %t326, label %then64, label %ifend66 then64: store i32 1, ptr @g_g_uses_textrt %t327 = load ptr, ptr %t1 %t328 = getelementptr inbounds %Cmp_Node, ptr %t327, i32 0, i32 7 %t329 = load ptr, ptr %t328 %t330 = getelementptr inbounds %LSlice, ptr %t329, i32 0, i32 0 %t331 = load ptr, ptr %t330 %t332 = getelementptr inbounds %LSlice, ptr %t329, i32 0, i32 1 %t333 = load i32, ptr %t332 %t334 = icmp ult i32 1, %t333 br i1 %t334, label %ixok67, label %ixbad68 ixbad68: store i32 6079, ptr @lp_site %t335 = call ptr @lp_win_stdio(i32 2) store i32 0, ptr @lp_site call i32 (ptr, ptr, ...) @fprintf(ptr %t335, ptr @.fmt_bounds, ptr @.str9739, i32 1, i32 %t333) call void @exit(i32 1) unreachable ixok67: %t336 = getelementptr inbounds ptr, ptr %t331, i32 1 %t337 = load ptr, ptr %t336 %t338 = call ptr @fn_emit_expr(ptr %t337) store ptr %t338, ptr %t339 store ptr @.str9740, ptr %t340 %t341 = load ptr, ptr %t0 %t342 = call i32 @lp_str_eq(ptr %t341, ptr @.str9741) %t343 = icmp ne i32 %t342, 0 br i1 %t343, label %then69, label %ifend71 then69: store ptr @.str9742, ptr %t340 br label %ifend71 ifend71: %t344 = load ptr, ptr %t163 %t345 = getelementptr inbounds %Cmp_Val, ptr %t344, i32 0, i32 0 %t346 = load ptr, ptr %t345 store i32 6080, ptr @lp_site %t347 = call ptr @lp_str_concat(ptr @.str9743, ptr %t346) store i32 0, ptr @lp_site store i32 6081, ptr @lp_site %t348 = call ptr @lp_str_concat(ptr %t347, ptr @.str9744) store i32 0, ptr @lp_site call void @lp_free(ptr %t347) %t349 = load ptr, ptr %t339 %t350 = getelementptr inbounds %Cmp_Val, ptr %t349, i32 0, i32 0 %t351 = load ptr, ptr %t350 store i32 6082, ptr @lp_site %t352 = call ptr @lp_str_concat(ptr %t348, ptr %t351) store i32 0, ptr @lp_site call void @lp_free(ptr %t348) store i32 6083, ptr @lp_site %t353 = call ptr @lp_str_concat(ptr %t352, ptr @.str9745) store i32 0, ptr @lp_site call void @lp_free(ptr %t352) %t354 = load ptr, ptr %t340 store i32 6084, ptr @lp_site %t355 = call ptr @lp_str_concat(ptr %t353, ptr %t354) store i32 0, ptr @lp_site call void @lp_free(ptr %t353) store i32 6085, ptr @lp_site %t356 = call ptr @lp_str_concat(ptr %t355, ptr @.str9746) store i32 0, ptr @lp_site call void @lp_free(ptr %t355) %t357 = call ptr @fn_emit_bind(ptr %t356) %t358 = call ptr @fn_fresh_val(ptr %t357, ptr @.str9747) store ptr %t358, ptr %t359 %t360 = load ptr, ptr %t163 call void @fn_text_gone(ptr %t360) %t361 = load ptr, ptr %t359 store ptr %t361, ptr %retval br label %ret ifend66: %t362 = load ptr, ptr %t0 %t363 = call i32 @lp_str_eq(ptr %t362, ptr @.str9748) %t364 = icmp ne i32 %t363, 0 br i1 %t364, label %then72, label %ifend74 then72: store i32 1, ptr @g_g_uses_textrt2 %t365 = load ptr, ptr %t1 %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 %LSlice, ptr %t367, i32 0, i32 1 %t371 = load i32, ptr %t370 %t372 = icmp ult i32 1, %t371 br i1 %t372, label %ixok75, label %ixbad76 ixbad76: store i32 6086, ptr @lp_site %t373 = call ptr @lp_win_stdio(i32 2) store i32 0, ptr @lp_site call i32 (ptr, ptr, ...) @fprintf(ptr %t373, ptr @.fmt_bounds, ptr @.str9749, i32 1, i32 %t371) call void @exit(i32 1) unreachable ixok75: %t374 = getelementptr inbounds ptr, ptr %t369, i32 1 %t375 = load ptr, ptr %t374 %t376 = call ptr @fn_emit_expr(ptr %t375) store ptr %t376, ptr %t377 %t378 = load ptr, ptr %t1 %t379 = getelementptr inbounds %Cmp_Node, ptr %t378, i32 0, i32 7 %t380 = load ptr, ptr %t379 %t381 = getelementptr inbounds %LSlice, ptr %t380, i32 0, i32 0 %t382 = load ptr, ptr %t381 %t383 = getelementptr inbounds %LSlice, ptr %t380, i32 0, i32 1 %t384 = load i32, ptr %t383 %t385 = icmp ult i32 2, %t384 br i1 %t385, label %ixok77, label %ixbad78 ixbad78: store i32 6087, ptr @lp_site %t386 = call ptr @lp_win_stdio(i32 2) store i32 0, ptr @lp_site call i32 (ptr, ptr, ...) @fprintf(ptr %t386, ptr @.fmt_bounds, ptr @.str9750, i32 2, i32 %t384) call void @exit(i32 1) unreachable ixok77: %t387 = getelementptr inbounds ptr, ptr %t382, i32 2 %t388 = load ptr, ptr %t387 %t389 = call ptr @fn_emit_expr(ptr %t388) store ptr %t389, ptr %t390 %t391 = load ptr, ptr %t163 %t392 = getelementptr inbounds %Cmp_Val, ptr %t391, i32 0, i32 0 %t393 = load ptr, ptr %t392 store i32 6088, ptr @lp_site %t394 = call ptr @lp_str_concat(ptr @.str9751, ptr %t393) store i32 0, ptr @lp_site store i32 6089, ptr @lp_site %t395 = call ptr @lp_str_concat(ptr %t394, ptr @.str9752) store i32 0, ptr @lp_site call void @lp_free(ptr %t394) %t396 = load ptr, ptr %t377 %t397 = getelementptr inbounds %Cmp_Val, ptr %t396, i32 0, i32 0 %t398 = load ptr, ptr %t397 store i32 6090, ptr @lp_site %t399 = call ptr @lp_str_concat(ptr %t395, ptr %t398) store i32 0, ptr @lp_site call void @lp_free(ptr %t395) store i32 6091, ptr @lp_site %t400 = call ptr @lp_str_concat(ptr %t399, ptr @.str9753) store i32 0, ptr @lp_site call void @lp_free(ptr %t399) %t401 = load ptr, ptr %t390 %t402 = getelementptr inbounds %Cmp_Val, ptr %t401, i32 0, i32 0 %t403 = load ptr, ptr %t402 store i32 6092, ptr @lp_site %t404 = call ptr @lp_str_concat(ptr %t400, ptr %t403) store i32 0, ptr @lp_site call void @lp_free(ptr %t400) store i32 6093, ptr @lp_site %t405 = call ptr @lp_str_concat(ptr %t404, ptr @.str9754) store i32 0, ptr @lp_site call void @lp_free(ptr %t404) %t406 = call ptr @fn_emit_bind(ptr %t405) %t407 = call ptr @fn_fresh_val(ptr %t406, ptr @.str9755) store ptr %t407, ptr %t408 %t409 = load ptr, ptr %t163 call void @fn_text_gone(ptr %t409) %t410 = load ptr, ptr %t377 call void @fn_text_gone(ptr %t410) %t411 = load ptr, ptr %t390 call void @fn_text_gone(ptr %t411) %t412 = load ptr, ptr %t408 store ptr %t412, ptr %retval br label %ret ifend74: %t413 = load ptr, ptr %t0 %t414 = call i32 @lp_str_eq(ptr %t413, ptr @.str9756) %t415 = icmp ne i32 %t414, 0 br i1 %t415, label %then79, label %ifend81 then79: store i32 1, ptr @g_g_uses_textrt2 %t416 = load ptr, ptr %t1 %t417 = getelementptr inbounds %Cmp_Node, ptr %t416, i32 0, i32 7 %t418 = load ptr, ptr %t417 %t419 = getelementptr inbounds %LSlice, ptr %t418, i32 0, i32 0 %t420 = load ptr, ptr %t419 %t421 = getelementptr inbounds %LSlice, ptr %t418, i32 0, i32 1 %t422 = load i32, ptr %t421 %t423 = icmp ult i32 1, %t422 br i1 %t423, label %ixok82, label %ixbad83 ixbad83: store i32 6094, ptr @lp_site %t424 = call ptr @lp_win_stdio(i32 2) store i32 0, ptr @lp_site call i32 (ptr, ptr, ...) @fprintf(ptr %t424, ptr @.fmt_bounds, ptr @.str9757, i32 1, i32 %t422) call void @exit(i32 1) unreachable ixok82: %t425 = getelementptr inbounds ptr, ptr %t420, i32 1 %t426 = load ptr, ptr %t425 %t427 = call ptr @fn_emit_expr(ptr %t426) store ptr %t427, ptr %t428 %t429 = load ptr, ptr %t163 %t430 = getelementptr inbounds %Cmp_Val, ptr %t429, i32 0, i32 0 %t431 = load ptr, ptr %t430 store i32 6095, ptr @lp_site %t432 = call ptr @lp_str_concat(ptr @.str9758, ptr %t431) store i32 0, ptr @lp_site store i32 6096, ptr @lp_site %t433 = call ptr @lp_str_concat(ptr %t432, ptr @.str9759) store i32 0, ptr @lp_site call void @lp_free(ptr %t432) %t434 = load ptr, ptr %t428 %t435 = getelementptr inbounds %Cmp_Val, ptr %t434, i32 0, i32 0 %t436 = load ptr, ptr %t435 store i32 6097, ptr @lp_site %t437 = call ptr @lp_str_concat(ptr %t433, ptr %t436) store i32 0, ptr @lp_site call void @lp_free(ptr %t433) store i32 6098, ptr @lp_site %t438 = call ptr @lp_str_concat(ptr %t437, ptr @.str9760) store i32 0, ptr @lp_site call void @lp_free(ptr %t437) %t439 = call ptr @fn_emit_bind(ptr %t438) %t440 = call ptr @fn_val(ptr %t439, ptr @.str9761) store ptr %t440, ptr %t441 %t442 = load ptr, ptr %t163 call void @fn_text_gone(ptr %t442) %t443 = load ptr, ptr %t428 call void @fn_text_gone(ptr %t443) %t444 = load ptr, ptr %t441 store ptr %t444, ptr %retval br label %ret ifend81: %t445 = load ptr, ptr %t0 %t446 = call i32 @lp_str_eq(ptr %t445, ptr @.str9762) %t447 = icmp ne i32 %t446, 0 br i1 %t447, label %then84, label %ifend86 then84: store i32 1, ptr @g_g_uses_textrt2 %t448 = load ptr, ptr %t1 %t449 = getelementptr inbounds %Cmp_Node, ptr %t448, i32 0, i32 7 %t450 = load ptr, ptr %t449 %t451 = getelementptr inbounds %LSlice, ptr %t450, i32 0, i32 0 %t452 = load ptr, ptr %t451 %t453 = getelementptr inbounds %LSlice, ptr %t450, i32 0, i32 1 %t454 = load i32, ptr %t453 %t455 = icmp ult i32 1, %t454 br i1 %t455, label %ixok87, label %ixbad88 ixbad88: store i32 6099, ptr @lp_site %t456 = call ptr @lp_win_stdio(i32 2) store i32 0, ptr @lp_site call i32 (ptr, ptr, ...) @fprintf(ptr %t456, ptr @.fmt_bounds, ptr @.str9763, i32 1, i32 %t454) call void @exit(i32 1) unreachable ixok87: %t457 = getelementptr inbounds ptr, ptr %t452, i32 1 %t458 = load ptr, ptr %t457 %t459 = call ptr @fn_emit_expr(ptr %t458) store ptr %t459, ptr %t460 %t461 = load ptr, ptr %t163 %t462 = getelementptr inbounds %Cmp_Val, ptr %t461, i32 0, i32 0 %t463 = load ptr, ptr %t462 store i32 6100, ptr @lp_site %t464 = call ptr @lp_str_concat(ptr @.str9764, ptr %t463) store i32 0, ptr @lp_site store i32 6101, ptr @lp_site %t465 = call ptr @lp_str_concat(ptr %t464, ptr @.str9765) store i32 0, ptr @lp_site call void @lp_free(ptr %t464) %t466 = load ptr, ptr %t460 %t467 = getelementptr inbounds %Cmp_Val, ptr %t466, i32 0, i32 0 %t468 = load ptr, ptr %t467 store i32 6102, ptr @lp_site %t469 = call ptr @lp_str_concat(ptr %t465, ptr %t468) store i32 0, ptr @lp_site call void @lp_free(ptr %t465) store i32 6103, ptr @lp_site %t470 = call ptr @lp_str_concat(ptr %t469, ptr @.str9766) store i32 0, ptr @lp_site call void @lp_free(ptr %t469) %t471 = call ptr @fn_emit_bind(ptr %t470) %t472 = call ptr @fn_fresh_val(ptr %t471, ptr @.str9767) store ptr %t472, ptr %t473 %t474 = load ptr, ptr %t460 call void @fn_text_gone(ptr %t474) %t475 = load ptr, ptr %t473 store ptr %t475, ptr %retval br label %ret ifend86: %t477 = load ptr, ptr %t0 %t478 = call i32 @lp_str_eq(ptr %t477, ptr @.str9768) %t479 = icmp ne i32 %t478, 0 %t480 = zext i1 %t479 to i32 store i32 %t480, ptr %t476 br i1 %t479, label %scend90, label %sc89 sc89: %t481 = load ptr, ptr %t0 %t482 = call i32 @lp_str_eq(ptr %t481, ptr @.str9769) %t483 = icmp ne i32 %t482, 0 %t484 = zext i1 %t483 to i32 store i32 %t484, ptr %t476 br label %scend90 scend90: %t485 = load i32, ptr %t476 %t486 = icmp ne i32 %t485, 0 br i1 %t486, label %then91, label %ifend93 then91: %t487 = load ptr, ptr %t1 %t488 = getelementptr inbounds %Cmp_Node, ptr %t487, i32 0, i32 7 %t489 = load ptr, ptr %t488 %t490 = getelementptr inbounds %LSlice, ptr %t489, i32 0, i32 0 %t491 = load ptr, ptr %t490 %t492 = getelementptr inbounds %LSlice, ptr %t489, i32 0, i32 1 %t493 = load i32, ptr %t492 %t494 = icmp ult i32 1, %t493 br i1 %t494, label %ixok94, label %ixbad95 ixbad95: store i32 6104, ptr @lp_site %t495 = call ptr @lp_win_stdio(i32 2) store i32 0, ptr @lp_site call i32 (ptr, ptr, ...) @fprintf(ptr %t495, ptr @.fmt_bounds, ptr @.str9770, i32 1, i32 %t493) call void @exit(i32 1) unreachable ixok94: %t496 = getelementptr inbounds ptr, ptr %t491, i32 1 %t497 = load ptr, ptr %t496 %t498 = call ptr @fn_emit_expr(ptr %t497) store ptr %t498, ptr %t499 %t500 = load ptr, ptr %t163 %t501 = getelementptr inbounds %Cmp_Val, ptr %t500, i32 0, i32 0 %t502 = load ptr, ptr %t501 store i32 6105, ptr @lp_site %t503 = call ptr @lp_str_concat(ptr @.str9771, ptr %t502) store i32 0, ptr @lp_site store i32 6106, ptr @lp_site %t504 = call ptr @lp_str_concat(ptr %t503, ptr @.str9772) store i32 0, ptr @lp_site call void @lp_free(ptr %t503) %t505 = load ptr, ptr %t499 %t506 = getelementptr inbounds %Cmp_Val, ptr %t505, i32 0, i32 0 %t507 = load ptr, ptr %t506 store i32 6107, ptr @lp_site %t508 = call ptr @lp_str_concat(ptr %t504, ptr %t507) store i32 0, ptr @lp_site call void @lp_free(ptr %t504) store i32 6108, ptr @lp_site %t509 = call ptr @lp_str_concat(ptr %t508, ptr @.str9773) store i32 0, ptr @lp_site call void @lp_free(ptr %t508) %t510 = call ptr @fn_emit_bind(ptr %t509) store ptr %t510, ptr %t511 %t512 = load ptr, ptr %t0 %t513 = call i32 @lp_str_eq(ptr %t512, ptr @.str9774) %t514 = icmp ne i32 %t513, 0 br i1 %t514, label %then96, label %ifend98 then96: %t515 = load ptr, ptr %t511 store i32 6109, ptr @lp_site %t516 = call ptr @lp_str_concat(ptr @.str9775, ptr %t515) store i32 0, ptr @lp_site store i32 6110, ptr @lp_site %t517 = call ptr @lp_str_concat(ptr %t516, ptr @.str9776) store i32 0, ptr @lp_site call void @lp_free(ptr %t516) %t518 = call ptr @fn_emit_bind(ptr %t517) store ptr %t518, ptr %t519 %t520 = load ptr, ptr %t163 call void @fn_text_gone(ptr %t520) %t521 = load ptr, ptr %t499 call void @fn_text_gone(ptr %t521) %t522 = load ptr, ptr %t519 store i32 6111, ptr @lp_site %t523 = call ptr @lp_str_concat(ptr @.str9777, ptr %t522) store i32 0, ptr @lp_site store i32 6112, ptr @lp_site %t524 = call ptr @lp_str_concat(ptr %t523, ptr @.str9778) store i32 0, ptr @lp_site call void @lp_free(ptr %t523) %t525 = call ptr @fn_emit_bind(ptr %t524) %t526 = call ptr @fn_val(ptr %t525, ptr @.str9779) store ptr %t526, ptr %retval br label %ret ifend98: %t527 = load ptr, ptr %t511 store i32 6113, ptr @lp_site %t528 = call ptr @lp_str_concat(ptr @.str9780, ptr %t527) store i32 0, ptr @lp_site store i32 6114, ptr @lp_site %t529 = call ptr @lp_str_concat(ptr %t528, ptr @.str9781) store i32 0, ptr @lp_site call void @lp_free(ptr %t528) %t530 = call ptr @fn_emit_bind(ptr %t529) store ptr %t530, ptr %t531 %t532 = load ptr, ptr %t511 store i32 6115, ptr @lp_site %t533 = call ptr @lp_str_concat(ptr @.str9782, ptr %t532) store i32 0, ptr @lp_site store i32 6116, ptr @lp_site %t534 = call ptr @lp_str_concat(ptr %t533, ptr @.str9783) store i32 0, ptr @lp_site call void @lp_free(ptr %t533) %t535 = call ptr @fn_emit_bind(ptr %t534) store ptr %t535, ptr %t536 %t537 = load ptr, ptr %t163 %t538 = getelementptr inbounds %Cmp_Val, ptr %t537, i32 0, i32 0 %t539 = load ptr, ptr %t538 store i32 6117, ptr @lp_site %t540 = call ptr @lp_str_concat(ptr @.str9784, ptr %t539) store i32 0, ptr @lp_site store i32 6118, ptr @lp_site %t541 = call ptr @lp_str_concat(ptr %t540, ptr @.str9785) store i32 0, ptr @lp_site call void @lp_free(ptr %t540) %t542 = call ptr @fn_emit_bind(ptr %t541) store ptr %t542, ptr %t543 %t544 = load ptr, ptr %t536 store i32 6119, ptr @lp_site %t545 = call ptr @lp_str_concat(ptr @.str9786, ptr %t544) store i32 0, ptr @lp_site store i32 6120, ptr @lp_site %t546 = call ptr @lp_str_concat(ptr %t545, ptr @.str9787) store i32 0, ptr @lp_site call void @lp_free(ptr %t545) %t547 = load ptr, ptr %t543 store i32 6121, ptr @lp_site %t548 = call ptr @lp_str_concat(ptr %t546, ptr %t547) store i32 0, ptr @lp_site call void @lp_free(ptr %t546) %t549 = call ptr @fn_emit_bind(ptr %t548) store ptr %t549, ptr %t550 %t551 = load ptr, ptr %t550 store i32 6122, ptr @lp_site %t552 = call ptr @lp_str_concat(ptr @.str9788, ptr %t551) store i32 0, ptr @lp_site store i32 6123, ptr @lp_site %t553 = call ptr @lp_str_concat(ptr %t552, ptr @.str9789) store i32 0, ptr @lp_site call void @lp_free(ptr %t552) %t554 = call ptr @fn_emit_bind(ptr %t553) store ptr %t554, ptr %t555 %t556 = load ptr, ptr %t163 call void @fn_text_gone(ptr %t556) %t557 = load ptr, ptr %t499 call void @fn_text_gone(ptr %t557) %t558 = load ptr, ptr %t531 store i32 6124, ptr @lp_site %t559 = call ptr @lp_str_concat(ptr @.str9790, ptr %t558) store i32 0, ptr @lp_site store i32 6125, ptr @lp_site %t560 = call ptr @lp_str_concat(ptr %t559, ptr @.str9791) store i32 0, ptr @lp_site call void @lp_free(ptr %t559) %t561 = load ptr, ptr %t555 store i32 6126, ptr @lp_site %t562 = call ptr @lp_str_concat(ptr %t560, ptr %t561) store i32 0, ptr @lp_site call void @lp_free(ptr %t560) %t563 = call ptr @fn_emit_bind(ptr %t562) %t564 = call ptr @fn_val(ptr %t563, ptr @.str9792) store ptr %t564, ptr %retval br label %ret ifend93: %t565 = load ptr, ptr %t1 %t566 = getelementptr inbounds %Cmp_Node, ptr %t565, i32 0, i32 7 %t567 = load ptr, ptr %t566 %t568 = getelementptr inbounds %LSlice, ptr %t567, i32 0, i32 0 %t569 = load ptr, ptr %t568 %t570 = getelementptr inbounds %LSlice, ptr %t567, i32 0, i32 1 %t571 = load i32, ptr %t570 %t572 = icmp ult i32 1, %t571 br i1 %t572, label %ixok99, label %ixbad100 ixbad100: store i32 6127, ptr @lp_site %t573 = call ptr @lp_win_stdio(i32 2) store i32 0, ptr @lp_site call i32 (ptr, ptr, ...) @fprintf(ptr %t573, ptr @.fmt_bounds, ptr @.str9793, i32 1, i32 %t571) call void @exit(i32 1) unreachable ixok99: %t574 = getelementptr inbounds ptr, ptr %t569, i32 1 %t575 = load ptr, ptr %t574 %t576 = call ptr @fn_emit_expr(ptr %t575) store ptr %t576, ptr %t577 %t578 = load ptr, ptr %t577 %t579 = getelementptr inbounds %Cmp_Val, ptr %t578, i32 0, i32 0 %t580 = load ptr, ptr %t579 store i32 6128, ptr @lp_site %t581 = call ptr @lp_str_concat(ptr @.str9794, ptr %t580) store i32 0, ptr @lp_site store i32 6129, ptr @lp_site %t582 = call ptr @lp_str_concat(ptr %t581, ptr @.str9795) store i32 0, ptr @lp_site call void @lp_free(ptr %t581) %t583 = call ptr @fn_emit_bind(ptr %t582) store ptr %t583, ptr %t584 %t585 = load ptr, ptr %t0 %t586 = call i32 @lp_str_eq(ptr %t585, ptr @.str9796) %t587 = icmp ne i32 %t586, 0 br i1 %t587, label %then101, label %ifend103 then101: %t588 = load ptr, ptr %t163 %t589 = getelementptr inbounds %Cmp_Val, ptr %t588, i32 0, i32 0 %t590 = load ptr, ptr %t589 store i32 6130, ptr @lp_site %t591 = call ptr @lp_str_concat(ptr @.str9797, ptr %t590) store i32 0, ptr @lp_site store i32 6131, ptr @lp_site %t592 = call ptr @lp_str_concat(ptr %t591, ptr @.str9798) store i32 0, ptr @lp_site call void @lp_free(ptr %t591) %t593 = load ptr, ptr %t577 %t594 = getelementptr inbounds %Cmp_Val, ptr %t593, i32 0, i32 0 %t595 = load ptr, ptr %t594 store i32 6132, ptr @lp_site %t596 = call ptr @lp_str_concat(ptr %t592, ptr %t595) store i32 0, ptr @lp_site call void @lp_free(ptr %t592) store i32 6133, ptr @lp_site %t597 = call ptr @lp_str_concat(ptr %t596, ptr @.str9799) store i32 0, ptr @lp_site call void @lp_free(ptr %t596) %t598 = load ptr, ptr %t584 store i32 6134, ptr @lp_site %t599 = call ptr @lp_str_concat(ptr %t597, ptr %t598) store i32 0, ptr @lp_site call void @lp_free(ptr %t597) store i32 6135, ptr @lp_site %t600 = call ptr @lp_str_concat(ptr %t599, ptr @.str9800) store i32 0, ptr @lp_site call void @lp_free(ptr %t599) %t601 = call ptr @fn_emit_bind(ptr %t600) store ptr %t601, ptr %t602 %t603 = load ptr, ptr %t602 store i32 6136, ptr @lp_site %t604 = call ptr @lp_str_concat(ptr @.str9801, ptr %t603) store i32 0, ptr @lp_site store i32 6137, ptr @lp_site %t605 = call ptr @lp_str_concat(ptr %t604, ptr @.str9802) store i32 0, ptr @lp_site call void @lp_free(ptr %t604) %t606 = call ptr @fn_emit_bind(ptr %t605) store ptr %t606, ptr %t607 %t608 = load ptr, ptr %t163 call void @fn_text_gone(ptr %t608) %t609 = load ptr, ptr %t577 call void @fn_text_gone(ptr %t609) %t610 = load ptr, ptr %t607 store i32 6138, ptr @lp_site %t611 = call ptr @lp_str_concat(ptr @.str9803, ptr %t610) store i32 0, ptr @lp_site store i32 6139, ptr @lp_site %t612 = call ptr @lp_str_concat(ptr %t611, ptr @.str9804) store i32 0, ptr @lp_site call void @lp_free(ptr %t611) %t613 = call ptr @fn_emit_bind(ptr %t612) %t614 = call ptr @fn_val(ptr %t613, ptr @.str9805) store ptr %t614, ptr %retval br label %ret ifend103: %t615 = load ptr, ptr %t163 %t616 = getelementptr inbounds %Cmp_Val, ptr %t615, i32 0, i32 0 %t617 = load ptr, ptr %t616 store i32 6140, ptr @lp_site %t618 = call ptr @lp_str_concat(ptr @.str9806, ptr %t617) store i32 0, ptr @lp_site store i32 6141, ptr @lp_site %t619 = call ptr @lp_str_concat(ptr %t618, ptr @.str9807) store i32 0, ptr @lp_site call void @lp_free(ptr %t618) %t620 = call ptr @fn_emit_bind(ptr %t619) store ptr %t620, ptr %t621 %t622 = load ptr, ptr %t621 store i32 6142, ptr @lp_site %t623 = call ptr @lp_str_concat(ptr @.str9808, ptr %t622) store i32 0, ptr @lp_site store i32 6143, ptr @lp_site %t624 = call ptr @lp_str_concat(ptr %t623, ptr @.str9809) store i32 0, ptr @lp_site call void @lp_free(ptr %t623) %t625 = load ptr, ptr %t584 store i32 6144, ptr @lp_site %t626 = call ptr @lp_str_concat(ptr %t624, ptr %t625) store i32 0, ptr @lp_site call void @lp_free(ptr %t624) %t627 = call ptr @fn_emit_bind(ptr %t626) store ptr %t627, ptr %t628 %t629 = call ptr @fn_emit_alloca(ptr @.str9810) store ptr %t629, ptr %t630 %t631 = load ptr, ptr %t630 call void @fn_store_at(ptr @.str9811, ptr @.str9812, ptr %t631) %t632 = load ptr, ptr %t628 store i32 6145, ptr @lp_site %t633 = call ptr @lp_str_concat(ptr @.str9813, ptr %t632) store i32 0, ptr @lp_site store i32 6146, ptr @lp_site %t634 = call ptr @lp_str_concat(ptr %t633, ptr @.str9814) store i32 0, ptr @lp_site call void @lp_free(ptr %t633) %t635 = call ptr @fn_emit_bind(ptr %t634) store ptr %t635, ptr %t636 %t637 = call ptr @fn_lbl(ptr @.str9815) store ptr %t637, ptr %t638 %t639 = call ptr @fn_lbl(ptr @.str9816) store ptr %t639, ptr %t640 call void @fn_emit(ptr @.str9817) %t641 = load ptr, ptr %t636 call void @fn_emit(ptr %t641) call void @fn_emit(ptr @.str9818) %t642 = load ptr, ptr %t640 call void @fn_emit(ptr %t642) call void @fn_emit(ptr @.str9819) %t643 = load ptr, ptr %t638 call void @fn_emit(ptr %t643) call void @fn_emit(ptr @.str9820) %t644 = load ptr, ptr %t638 call void @fn_emit(ptr %t644) call void @fn_emit(ptr @.str9821) %t645 = load ptr, ptr %t163 %t646 = getelementptr inbounds %Cmp_Val, ptr %t645, i32 0, i32 0 %t647 = load ptr, ptr %t646 store i32 6147, ptr @lp_site %t648 = call ptr @lp_str_concat(ptr @.str9822, ptr %t647) store i32 0, ptr @lp_site store i32 6148, ptr @lp_site %t649 = call ptr @lp_str_concat(ptr %t648, ptr @.str9823) store i32 0, ptr @lp_site call void @lp_free(ptr %t648) %t650 = load ptr, ptr %t628 store i32 6149, ptr @lp_site %t651 = call ptr @lp_str_concat(ptr %t649, ptr %t650) store i32 0, ptr @lp_site call void @lp_free(ptr %t649) %t652 = call ptr @fn_emit_bind(ptr %t651) store ptr %t652, ptr %t653 %t654 = load ptr, ptr %t653 store i32 6150, ptr @lp_site %t655 = call ptr @lp_str_concat(ptr @.str9824, ptr %t654) store i32 0, ptr @lp_site store i32 6151, ptr @lp_site %t656 = call ptr @lp_str_concat(ptr %t655, ptr @.str9825) store i32 0, ptr @lp_site call void @lp_free(ptr %t655) %t657 = load ptr, ptr %t577 %t658 = getelementptr inbounds %Cmp_Val, ptr %t657, i32 0, i32 0 %t659 = load ptr, ptr %t658 store i32 6152, ptr @lp_site %t660 = call ptr @lp_str_concat(ptr %t656, ptr %t659) store i32 0, ptr @lp_site call void @lp_free(ptr %t656) store i32 6153, ptr @lp_site %t661 = call ptr @lp_str_concat(ptr %t660, ptr @.str9826) store i32 0, ptr @lp_site call void @lp_free(ptr %t660) %t662 = load ptr, ptr %t584 store i32 6154, ptr @lp_site %t663 = call ptr @lp_str_concat(ptr %t661, ptr %t662) store i32 0, ptr @lp_site call void @lp_free(ptr %t661) store i32 6155, ptr @lp_site %t664 = call ptr @lp_str_concat(ptr %t663, ptr @.str9827) store i32 0, ptr @lp_site call void @lp_free(ptr %t663) %t665 = call ptr @fn_emit_bind(ptr %t664) store ptr %t665, ptr %t666 %t667 = load ptr, ptr %t666 store i32 6156, ptr @lp_site %t668 = call ptr @lp_str_concat(ptr @.str9828, ptr %t667) store i32 0, ptr @lp_site store i32 6157, ptr @lp_site %t669 = call ptr @lp_str_concat(ptr %t668, ptr @.str9829) store i32 0, ptr @lp_site call void @lp_free(ptr %t668) %t670 = call ptr @fn_emit_bind(ptr %t669) store ptr %t670, ptr %t671 %t672 = load ptr, ptr %t671 store i32 6158, ptr @lp_site %t673 = call ptr @lp_str_concat(ptr @.str9830, ptr %t672) store i32 0, ptr @lp_site store i32 6159, ptr @lp_site %t674 = call ptr @lp_str_concat(ptr %t673, ptr @.str9831) store i32 0, ptr @lp_site call void @lp_free(ptr %t673) %t675 = call ptr @fn_emit_bind(ptr %t674) store ptr %t675, ptr %t676 %t677 = load ptr, ptr %t676 %t678 = load ptr, ptr %t630 call void @fn_store_at(ptr @.str9832, ptr %t677, ptr %t678) call void @fn_emit(ptr @.str9833) %t679 = load ptr, ptr %t640 call void @fn_emit(ptr %t679) call void @fn_emit(ptr @.str9834) %t680 = load ptr, ptr %t640 call void @fn_emit(ptr %t680) call void @fn_emit(ptr @.str9835) %t681 = load ptr, ptr %t163 call void @fn_text_gone(ptr %t681) %t682 = load ptr, ptr %t577 call void @fn_text_gone(ptr %t682) %t683 = load ptr, ptr %t630 store i32 6160, ptr @lp_site %t684 = call ptr @lp_str_concat(ptr @.str9836, ptr %t683) store i32 0, ptr @lp_site %t685 = call ptr @fn_emit_bind(ptr %t684) %t686 = call ptr @fn_val(ptr %t685, ptr @.str9837) store ptr %t686, ptr %retval br label %ret ret: %t687 = load ptr, ptr %retval ret ptr %t687 } define void @fn_emit_text_prelude() { entry: call void @fn_emith(ptr @.str9838) call void @fn_emith(ptr @.str9839) call void @fn_emith(ptr @.str9840) call void @fn_emith(ptr @.str9841) call void @fn_emith(ptr @.str9842) call void @fn_emith(ptr @.str9843) call void @fn_emith(ptr @.str9844) call void @fn_emith(ptr @.str9845) call void @fn_emith(ptr @.str9846) call void @fn_emith(ptr @.str9847) call void @fn_emith(ptr @.str9848) call void @fn_emith(ptr @.str9849) call void @fn_emith(ptr @.str9850) call void @fn_emith(ptr @.str9851) call void @fn_emith(ptr @.str9852) call void @fn_emith(ptr @.str9853) call void @fn_emith(ptr @.str9854) call void @fn_emith(ptr @.str9855) call void @fn_emith(ptr @.str9856) call void @fn_emith(ptr @.str9857) call void @fn_emith(ptr @.str9858) call void @fn_emith(ptr @.str9859) call void @fn_emith(ptr @.str9860) call void @fn_emith(ptr @.str9861) call void @fn_emith(ptr @.str9862) call void @fn_emith(ptr @.str9863) call void @fn_emith(ptr @.str9864) call void @fn_emith(ptr @.str9865) call void @fn_emith(ptr @.str9866) call void @fn_emith(ptr @.str9867) call void @fn_emith(ptr @.str9868) call void @fn_emith(ptr @.str9869) call void @fn_emith(ptr @.str9870) call void @fn_emith(ptr @.str9871) call void @fn_emith(ptr @.str9872) call void @fn_emith(ptr @.str9873) call void @fn_emith(ptr @.str9874) call void @fn_emith(ptr @.str9875) call void @fn_emith(ptr @.str9876) call void @fn_emith(ptr @.str9877) call void @fn_emith(ptr @.str9878) call void @fn_emith(ptr @.str9879) call void @fn_emith(ptr @.str9880) call void @fn_emith(ptr @.str9881) call void @fn_emith(ptr @.str9882) call void @fn_emith(ptr @.str9883) call void @fn_emith(ptr @.str9884) call void @fn_emith(ptr @.str9885) call void @fn_emith(ptr @.str9886) call void @fn_emith(ptr @.str9887) call void @fn_emith(ptr @.str9888) call void @fn_emith(ptr @.str9889) call void @fn_emith(ptr @.str9890) call void @fn_emith(ptr @.str9891) call void @fn_emith(ptr @.str9892) call void @fn_emith(ptr @.str9893) call void @fn_emith(ptr @.str9894) call void @fn_emith(ptr @.str9895) call void @fn_emith(ptr @.str9896) call void @fn_emith(ptr @.str9897) call void @fn_emith(ptr @.str9898) call void @fn_emith(ptr @.str9899) call void @fn_emith(ptr @.str9900) call void @fn_emith(ptr @.str9901) call void @fn_emith(ptr @.str9902) call void @fn_emith(ptr @.str9903) call void @fn_emith(ptr @.str9904) call void @fn_emith(ptr @.str9905) call void @fn_emith(ptr @.str9906) call void @fn_emith(ptr @.str9907) call void @fn_emith(ptr @.str9908) call void @fn_emith(ptr @.str9909) call void @fn_emith(ptr @.str9910) call void @fn_emith(ptr @.str9911) call void @fn_emith(ptr @.str9912) call void @fn_emith(ptr @.str9913) call void @fn_emith(ptr @.str9914) call void @fn_emith(ptr @.str9915) call void @fn_emith(ptr @.str9916) call void @fn_emith(ptr @.str9917) call void @fn_emith(ptr @.str9918) call void @fn_emith(ptr @.str9919) call void @fn_emith(ptr @.str9920) call void @fn_emith(ptr @.str9921) call void @fn_emith(ptr @.str9922) call void @fn_emith(ptr @.str9923) call void @fn_emith(ptr @.str9924) call void @fn_emith(ptr @.str9925) call void @fn_emith(ptr @.str9926) call void @fn_emith(ptr @.str9927) call void @fn_emith(ptr @.str9928) call void @fn_emith(ptr @.str9929) call void @fn_emith(ptr @.str9930) call void @fn_emith(ptr @.str9931) call void @fn_emith(ptr @.str9932) call void @fn_emith(ptr @.str9933) call void @fn_emith(ptr @.str9934) call void @fn_emith(ptr @.str9935) call void @fn_emith(ptr @.str9936) call void @fn_emith(ptr @.str9937) call void @fn_emith(ptr @.str9938) call void @fn_emith(ptr @.str9939) call void @fn_emith(ptr @.str9940) call void @fn_emith(ptr @.str9941) call void @fn_emith(ptr @.str9942) call void @fn_emith(ptr @.str9943) call void @fn_emith(ptr @.str9944) call void @fn_emith(ptr @.str9945) call void @fn_emith(ptr @.str9946) call void @fn_emith(ptr @.str9947) call void @fn_emith(ptr @.str9948) call void @fn_emith(ptr @.str9949) call void @fn_emith(ptr @.str9950) call void @fn_emith(ptr @.str9951) call void @fn_emith(ptr @.str9952) call void @fn_emith(ptr @.str9953) call void @fn_emith(ptr @.str9954) call void @fn_emith(ptr @.str9955) call void @fn_emith(ptr @.str9956) call void @fn_emith(ptr @.str9957) call void @fn_emith(ptr @.str9958) call void @fn_emith(ptr @.str9959) call void @fn_emith(ptr @.str9960) call void @fn_emith(ptr @.str9961) call void @fn_emith(ptr @.str9962) call void @fn_emith(ptr @.str9963) call void @fn_emith(ptr @.str9964) call void @fn_emith(ptr @.str9965) call void @fn_emith(ptr @.str9966) call void @fn_emith(ptr @.str9967) call void @fn_emith(ptr @.str9968) call void @fn_emith(ptr @.str9969) call void @fn_emith(ptr @.str9970) call void @fn_emith(ptr @.str9971) call void @fn_emith(ptr @.str9972) call void @fn_emith(ptr @.str9973) call void @fn_emith(ptr @.str9974) call void @fn_emith(ptr @.str9975) call void @fn_emith(ptr @.str9976) call void @fn_emith(ptr @.str9977) call void @fn_emith(ptr @.str9978) call void @fn_emith(ptr @.str9979) call void @fn_emith(ptr @.str9980) call void @fn_emith(ptr @.str9981) call void @fn_emith(ptr @.str9982) call void @fn_emith(ptr @.str9983) call void @fn_emith(ptr @.str9984) call void @fn_emith(ptr @.str9985) call void @fn_emith(ptr @.str9986) call void @fn_emith(ptr @.str9987) call void @fn_emith(ptr @.str9988) call void @fn_emith(ptr @.str9989) call void @fn_emith(ptr @.str9990) call void @fn_emith(ptr @.str9991) call void @fn_emith(ptr @.str9992) call void @fn_emith(ptr @.str9993) call void @fn_emith(ptr @.str9994) call void @fn_emith(ptr @.str9995) call void @fn_emith(ptr @.str9996) call void @fn_emith(ptr @.str9997) call void @fn_emith(ptr @.str9998) call void @fn_emith(ptr @.str9999) call void @fn_emith(ptr @.str10000) call void @fn_emith(ptr @.str10001) call void @fn_emith(ptr @.str10002) call void @fn_emith(ptr @.str10003) call void @fn_emith(ptr @.str10004) call void @fn_emith(ptr @.str10005) call void @fn_emith(ptr @.str10006) call void @fn_emith(ptr @.str10007) call void @fn_emith(ptr @.str10008) call void @fn_emith(ptr @.str10009) call void @fn_emith(ptr @.str10010) call void @fn_emith(ptr @.str10011) call void @fn_emith(ptr @.str10012) call void @fn_emith(ptr @.str10013) call void @fn_emith(ptr @.str10014) call void @fn_emith(ptr @.str10015) call void @fn_emith(ptr @.str10016) call void @fn_emith(ptr @.str10017) call void @fn_emith(ptr @.str10018) call void @fn_emith(ptr @.str10019) call void @fn_emith(ptr @.str10020) call void @fn_emith(ptr @.str10021) call void @fn_emith(ptr @.str10022) call void @fn_emith(ptr @.str10023) call void @fn_emith(ptr @.str10024) call void @fn_emith(ptr @.str10025) call void @fn_emith(ptr @.str10026) call void @fn_emith(ptr @.str10027) call void @fn_emith(ptr @.str10028) call void @fn_emith(ptr @.str10029) call void @fn_emith(ptr @.str10030) call void @fn_emith(ptr @.str10031) call void @fn_emith(ptr @.str10032) call void @fn_emith(ptr @.str10033) call void @fn_emith(ptr @.str10034) call void @fn_emith(ptr @.str10035) br label %ret ret: ret void } define void @fn_emit_text2_prelude() { entry: call void @fn_emith(ptr @.str10036) call void @fn_emith(ptr @.str10037) call void @fn_emith(ptr @.str10038) call void @fn_emith(ptr @.str10039) call void @fn_emith(ptr @.str10040) call void @fn_emith(ptr @.str10041) call void @fn_emith(ptr @.str10042) call void @fn_emith(ptr @.str10043) call void @fn_emith(ptr @.str10044) call void @fn_emith(ptr @.str10045) call void @fn_emith(ptr @.str10046) call void @fn_emith(ptr @.str10047) call void @fn_emith(ptr @.str10048) call void @fn_emith(ptr @.str10049) call void @fn_emith(ptr @.str10050) call void @fn_emith(ptr @.str10051) call void @fn_emith(ptr @.str10052) call void @fn_emith(ptr @.str10053) call void @fn_emith(ptr @.str10054) call void @fn_emith(ptr @.str10055) call void @fn_emith(ptr @.str10056) call void @fn_emith(ptr @.str10057) call void @fn_emith(ptr @.str10058) call void @fn_emith(ptr @.str10059) call void @fn_emith(ptr @.str10060) call void @fn_emith(ptr @.str10061) call void @fn_emith(ptr @.str10062) call void @fn_emith(ptr @.str10063) call void @fn_emith(ptr @.str10064) call void @fn_emith(ptr @.str10065) call void @fn_emith(ptr @.str10066) call void @fn_emith(ptr @.str10067) call void @fn_emith(ptr @.str10068) call void @fn_emith(ptr @.str10069) call void @fn_emith(ptr @.str10070) call void @fn_emith(ptr @.str10071) call void @fn_emith(ptr @.str10072) call void @fn_emith(ptr @.str10073) call void @fn_emith(ptr @.str10074) call void @fn_emith(ptr @.str10075) call void @fn_emith(ptr @.str10076) call void @fn_emith(ptr @.str10077) call void @fn_emith(ptr @.str10078) call void @fn_emith(ptr @.str10079) call void @fn_emith(ptr @.str10080) call void @fn_emith(ptr @.str10081) call void @fn_emith(ptr @.str10082) call void @fn_emith(ptr @.str10083) call void @fn_emith(ptr @.str10084) call void @fn_emith(ptr @.str10085) call void @fn_emith(ptr @.str10086) call void @fn_emith(ptr @.str10087) call void @fn_emith(ptr @.str10088) call void @fn_emith(ptr @.str10089) call void @fn_emith(ptr @.str10090) call void @fn_emith(ptr @.str10091) call void @fn_emith(ptr @.str10092) call void @fn_emith(ptr @.str10093) call void @fn_emith(ptr @.str10094) call void @fn_emith(ptr @.str10095) call void @fn_emith(ptr @.str10096) call void @fn_emith(ptr @.str10097) call void @fn_emith(ptr @.str10098) call void @fn_emith(ptr @.str10099) call void @fn_emith(ptr @.str10100) call void @fn_emith(ptr @.str10101) call void @fn_emith(ptr @.str10102) call void @fn_emith(ptr @.str10103) call void @fn_emith(ptr @.str10104) call void @fn_emith(ptr @.str10105) call void @fn_emith(ptr @.str10106) call void @fn_emith(ptr @.str10107) call void @fn_emith(ptr @.str10108) call void @fn_emith(ptr @.str10109) call void @fn_emith(ptr @.str10110) call void @fn_emith(ptr @.str10111) call void @fn_emith(ptr @.str10112) call void @fn_emith(ptr @.str10113) call void @fn_emith(ptr @.str10114) call void @fn_emith(ptr @.str10115) call void @fn_emith(ptr @.str10116) call void @fn_emith(ptr @.str10117) call void @fn_emith(ptr @.str10118) call void @fn_emith(ptr @.str10119) call void @fn_emith(ptr @.str10120) call void @fn_emith(ptr @.str10121) call void @fn_emith(ptr @.str10122) call void @fn_emith(ptr @.str10123) call void @fn_emith(ptr @.str10124) call void @fn_emith(ptr @.str10125) call void @fn_emith(ptr @.str10126) call void @fn_emith(ptr @.str10127) call void @fn_emith(ptr @.str10128) call void @fn_emith(ptr @.str10129) call void @fn_emith(ptr @.str10130) call void @fn_emith(ptr @.str10131) call void @fn_emith(ptr @.str10132) call void @fn_emith(ptr @.str10133) call void @fn_emith(ptr @.str10134) call void @fn_emith(ptr @.str10135) call void @fn_emith(ptr @.str10136) call void @fn_emith(ptr @.str10137) call void @fn_emith(ptr @.str10138) call void @fn_emith(ptr @.str10139) call void @fn_emith(ptr @.str10140) call void @fn_emith(ptr @.str10141) call void @fn_emith(ptr @.str10142) call void @fn_emith(ptr @.str10143) call void @fn_emith(ptr @.str10144) call void @fn_emith(ptr @.str10145) call void @fn_emith(ptr @.str10146) call void @fn_emith(ptr @.str10147) call void @fn_emith(ptr @.str10148) call void @fn_emith(ptr @.str10149) call void @fn_emith(ptr @.str10150) 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_emith(ptr @.str10156) call void @fn_emith(ptr @.str10157) call void @fn_emith(ptr @.str10158) call void @fn_emith(ptr @.str10159) call void @fn_emith(ptr @.str10160) call void @fn_emith(ptr @.str10161) call void @fn_emith(ptr @.str10162) call void @fn_emith(ptr @.str10163) call void @fn_emith(ptr @.str10164) call void @fn_emith(ptr @.str10165) call void @fn_emith(ptr @.str10166) call void @fn_emith(ptr @.str10167) call void @fn_emith(ptr @.str10168) call void @fn_emith(ptr @.str10169) call void @fn_emith(ptr @.str10170) call void @fn_emith(ptr @.str10171) call void @fn_emith(ptr @.str10172) call void @fn_emith(ptr @.str10173) call void @fn_emith(ptr @.str10174) call void @fn_emith(ptr @.str10175) call void @fn_emith(ptr @.str10176) call void @fn_emith(ptr @.str10177) call void @fn_emith(ptr @.str10178) call void @fn_emith(ptr @.str10179) call void @fn_emith(ptr @.str10180) call void @fn_emith(ptr @.str10181) call void @fn_emith(ptr @.str10182) call void @fn_emith(ptr @.str10183) call void @fn_emith(ptr @.str10184) call void @fn_emith(ptr @.str10185) call void @fn_emith(ptr @.str10186) call void @fn_emith(ptr @.str10187) call void @fn_emith(ptr @.str10188) call void @fn_emith(ptr @.str10189) call void @fn_emith(ptr @.str10190) call void @fn_emith(ptr @.str10191) call void @fn_emith(ptr @.str10192) call void @fn_emith(ptr @.str10193) call void @fn_emith(ptr @.str10194) call void @fn_emith(ptr @.str10195) call void @fn_emith(ptr @.str10196) call void @fn_emith(ptr @.str10197) call void @fn_emith(ptr @.str10198) call void @fn_emith(ptr @.str10199) call void @fn_emith(ptr @.str10200) call void @fn_emith(ptr @.str10201) call void @fn_emith(ptr @.str10202) call void @fn_emith(ptr @.str10203) call void @fn_emith(ptr @.str10204) call void @fn_emith(ptr @.str10205) call void @fn_emith(ptr @.str10206) call void @fn_emith(ptr @.str10207) call void @fn_emith(ptr @.str10208) call void @fn_emith(ptr @.str10209) call void @fn_emith(ptr @.str10210) call void @fn_emith(ptr @.str10211) call void @fn_emith(ptr @.str10212) call void @fn_emith(ptr @.str10213) call void @fn_emith(ptr @.str10214) call void @fn_emith(ptr @.str10215) call void @fn_emith(ptr @.str10216) call void @fn_emith(ptr @.str10217) call void @fn_emith(ptr @.str10218) call void @fn_emith(ptr @.str10219) call void @fn_emith(ptr @.str10220) call void @fn_emith(ptr @.str10221) call void @fn_emith(ptr @.str10222) call void @fn_emith(ptr @.str10223) call void @fn_emith(ptr @.str10224) call void @fn_emith(ptr @.str10225) call void @fn_emith(ptr @.str10226) call void @fn_emith(ptr @.str10227) call void @fn_emith(ptr @.str10228) call void @fn_emith(ptr @.str10229) call void @fn_emith(ptr @.str10230) call void @fn_emith(ptr @.str10231) call void @fn_emith(ptr @.str10232) call void @fn_emith(ptr @.str10233) call void @fn_emith(ptr @.str10234) call void @fn_emith(ptr @.str10235) call void @fn_emith(ptr @.str10236) call void @fn_emith(ptr @.str10237) call void @fn_emith(ptr @.str10238) call void @fn_emith(ptr @.str10239) call void @fn_emith(ptr @.str10240) call void @fn_emith(ptr @.str10241) call void @fn_emith(ptr @.str10242) call void @fn_emith(ptr @.str10243) call void @fn_emith(ptr @.str10244) call void @fn_emith(ptr @.str10245) call void @fn_emith(ptr @.str10246) 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 @.str10247) %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 @.str10248) %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 @.str10249) %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 @.str10250) %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 @.str10251) %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 @.str10252) %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 @.str10253) %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 @.str10254) %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 store i32 6161, ptr @lp_site %t2 = call ptr @lp_str_concat(ptr @.str10255, ptr %t1) store i32 0, ptr @lp_site store i32 6162, ptr @lp_site %t3 = call ptr @lp_str_concat(ptr %t2, ptr @.str10257) store i32 0, ptr @lp_site call void @lp_free(ptr %t2) %t4 = call ptr @fn_emit_bind(ptr %t3) store ptr %t4, ptr %t5 %t6 = load ptr, ptr %t0 store i32 6163, ptr @lp_site %t7 = call ptr @lp_str_concat(ptr @.str10258, ptr %t6) store i32 0, ptr @lp_site store i32 6164, ptr @lp_site %t8 = call ptr @lp_str_concat(ptr %t7, ptr @.str10259) store i32 0, ptr @lp_site call void @lp_free(ptr %t7) %t9 = load ptr, ptr %t5 store i32 6165, ptr @lp_site %t10 = call ptr @lp_str_concat(ptr %t8, ptr %t9) store i32 0, ptr @lp_site call void @lp_free(ptr %t8) %t11 = call ptr @fn_emit_bind(ptr %t10) store ptr %t11, ptr %t12 %t13 = load ptr, ptr %t12 store i32 6166, ptr @lp_site %t14 = call ptr @lp_str_concat(ptr @.str10260, ptr %t13) store i32 0, ptr @lp_site store i32 6167, ptr @lp_site %t15 = call ptr @lp_str_concat(ptr %t14, ptr @.str10261) store i32 0, ptr @lp_site call void @lp_free(ptr %t14) %t16 = call ptr @fn_emit_bind(ptr %t15) store ptr %t16, ptr %t17 %t18 = load ptr, ptr %t17 store i32 6168, ptr @lp_site %t19 = call ptr @lp_str_concat(ptr @.str10262, ptr %t18) store i32 0, ptr @lp_site store i32 6169, ptr @lp_site %t20 = call ptr @lp_str_concat(ptr %t19, ptr @.str10263) store i32 0, ptr @lp_site call void @lp_free(ptr %t19) %t21 = call ptr @fn_emit_bind(ptr %t20) store ptr %t21, ptr %t22 %t23 = load ptr, ptr %t17 store i32 6170, ptr @lp_site %t24 = call ptr @lp_str_concat(ptr @.str10264, ptr %t23) store i32 0, ptr @lp_site store i32 6171, ptr @lp_site %t25 = call ptr @lp_str_concat(ptr %t24, ptr @.str10265) store i32 0, ptr @lp_site call void @lp_free(ptr %t24) %t26 = load ptr, ptr %t22 store i32 6172, ptr @lp_site %t27 = call ptr @lp_str_concat(ptr %t25, ptr %t26) store i32 0, ptr @lp_site call void @lp_free(ptr %t25) %t28 = call ptr @fn_emit_bind(ptr %t27) store ptr %t28, ptr %t29 %t30 = load ptr, ptr %t29 store i32 6173, ptr @lp_site %t31 = call ptr @lp_str_concat(ptr @.str10266, ptr %t30) store i32 0, ptr @lp_site store i32 6174, ptr @lp_site %t32 = call ptr @lp_str_concat(ptr %t31, ptr @.str10267) store i32 0, ptr @lp_site call void @lp_free(ptr %t31) %t33 = call ptr @fn_emit_bind(ptr %t32) store ptr %t33, ptr %t34 %t35 = load ptr, ptr %t34 store i32 6175, ptr @lp_site %t36 = call ptr @lp_str_concat(ptr @.str10268, ptr %t35) store i32 0, ptr @lp_site store i32 6176, ptr @lp_site %t37 = call ptr @lp_str_concat(ptr %t36, ptr @.str10269) store i32 0, ptr @lp_site call void @lp_free(ptr %t36) %t38 = call ptr @fn_emit_bind(ptr %t37) store ptr %t38, ptr %t39 %t40 = load ptr, ptr %t34 store i32 6177, ptr @lp_site %t41 = call ptr @lp_str_concat(ptr @.str10270, ptr %t40) store i32 0, ptr @lp_site store i32 6178, ptr @lp_site %t42 = call ptr @lp_str_concat(ptr %t41, ptr @.str10271) store i32 0, ptr @lp_site call void @lp_free(ptr %t41) %t43 = load ptr, ptr %t39 store i32 6179, ptr @lp_site %t44 = call ptr @lp_str_concat(ptr %t42, ptr %t43) store i32 0, ptr @lp_site call void @lp_free(ptr %t42) %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 store i32 6180, ptr @lp_site %t2 = call ptr @lp_str_concat(ptr @.str10272, ptr %t1) store i32 0, ptr @lp_site store i32 6181, ptr @lp_site %t3 = call ptr @lp_str_concat(ptr %t2, ptr @.str10274) store i32 0, ptr @lp_site call void @lp_free(ptr %t2) %t4 = call ptr @fn_emit_bind(ptr %t3) store ptr %t4, ptr %t5 %t6 = load ptr, ptr %t0 store i32 6182, ptr @lp_site %t7 = call ptr @lp_str_concat(ptr @.str10275, ptr %t6) store i32 0, ptr @lp_site store i32 6183, ptr @lp_site %t8 = call ptr @lp_str_concat(ptr %t7, ptr @.str10276) store i32 0, ptr @lp_site call void @lp_free(ptr %t7) %t9 = load ptr, ptr %t5 store i32 6184, ptr @lp_site %t10 = call ptr @lp_str_concat(ptr %t8, ptr %t9) store i32 0, ptr @lp_site call void @lp_free(ptr %t8) %t11 = call ptr @fn_emit_bind(ptr %t10) store ptr %t11, ptr %t12 %t13 = load ptr, ptr %t12 store i32 6185, ptr @lp_site %t14 = call ptr @lp_str_concat(ptr @.str10277, ptr %t13) store i32 0, ptr @lp_site store i32 6186, ptr @lp_site %t15 = call ptr @lp_str_concat(ptr %t14, ptr @.str10278) store i32 0, ptr @lp_site call void @lp_free(ptr %t14) %t16 = call ptr @fn_emit_bind(ptr %t15) store ptr %t16, ptr %t17 %t18 = load ptr, ptr %t17 store i32 6187, ptr @lp_site %t19 = call ptr @lp_str_concat(ptr @.str10279, ptr %t18) store i32 0, ptr @lp_site store i32 6188, ptr @lp_site %t20 = call ptr @lp_str_concat(ptr %t19, ptr @.str10280) store i32 0, ptr @lp_site call void @lp_free(ptr %t19) %t21 = call ptr @fn_emit_bind(ptr %t20) store ptr %t21, ptr %t22 %t23 = load ptr, ptr %t17 store i32 6189, ptr @lp_site %t24 = call ptr @lp_str_concat(ptr @.str10281, ptr %t23) store i32 0, ptr @lp_site store i32 6190, ptr @lp_site %t25 = call ptr @lp_str_concat(ptr %t24, ptr @.str10282) store i32 0, ptr @lp_site call void @lp_free(ptr %t24) %t26 = load ptr, ptr %t22 store i32 6191, ptr @lp_site %t27 = call ptr @lp_str_concat(ptr %t25, ptr %t26) store i32 0, ptr @lp_site call void @lp_free(ptr %t25) %t28 = call ptr @fn_emit_bind(ptr %t27) store ptr %t28, ptr %t29 %t30 = load ptr, ptr %t29 store i32 6192, ptr @lp_site %t31 = call ptr @lp_str_concat(ptr @.str10283, ptr %t30) store i32 0, ptr @lp_site store i32 6193, ptr @lp_site %t32 = call ptr @lp_str_concat(ptr %t31, ptr @.str10284) store i32 0, ptr @lp_site call void @lp_free(ptr %t31) %t33 = call ptr @fn_emit_bind(ptr %t32) store ptr %t33, ptr %t34 %t35 = load ptr, ptr %t34 store i32 6194, ptr @lp_site %t36 = call ptr @lp_str_concat(ptr @.str10285, ptr %t35) store i32 0, ptr @lp_site store i32 6195, ptr @lp_site %t37 = call ptr @lp_str_concat(ptr %t36, ptr @.str10286) store i32 0, ptr @lp_site call void @lp_free(ptr %t36) %t38 = call ptr @fn_emit_bind(ptr %t37) store ptr %t38, ptr %t39 %t40 = load ptr, ptr %t34 store i32 6196, ptr @lp_site %t41 = call ptr @lp_str_concat(ptr @.str10287, ptr %t40) store i32 0, ptr @lp_site store i32 6197, ptr @lp_site %t42 = call ptr @lp_str_concat(ptr %t41, ptr @.str10288) store i32 0, ptr @lp_site call void @lp_free(ptr %t41) %t43 = load ptr, ptr %t39 store i32 6198, ptr @lp_site %t44 = call ptr @lp_str_concat(ptr %t42, ptr %t43) store i32 0, ptr @lp_site call void @lp_free(ptr %t42) %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 %t25 = alloca ptr %t33 = alloca i32 %t56 = alloca ptr %t79 = alloca ptr %t99 = alloca ptr %t122 = alloca ptr %t128 = alloca ptr %t129 = alloca i32 %t152 = alloca ptr %t159 = alloca ptr %t164 = alloca ptr %t169 = alloca ptr %t176 = alloca ptr %t183 = 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 @.str10289) %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 @.str10290) %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 %LSlice, ptr %t15, i32 0, i32 1 %t19 = load i32, ptr %t18 %t20 = icmp ult i32 0, %t19 br i1 %t20, label %ixok5, label %ixbad6 ixbad6: store i32 6199, ptr @lp_site %t21 = call ptr @lp_win_stdio(i32 2) store i32 0, ptr @lp_site call i32 (ptr, ptr, ...) @fprintf(ptr %t21, ptr @.fmt_bounds, ptr @.str10291, i32 0, i32 %t19) call void @exit(i32 1) unreachable ixok5: %t22 = getelementptr inbounds ptr, ptr %t17, i32 0 %t23 = load ptr, ptr %t22 %t24 = call ptr @fn_emit_expr(ptr %t23) store ptr %t24, ptr %t25 %t26 = load ptr, ptr %t25 %t27 = getelementptr inbounds %Cmp_Val, ptr %t26, i32 0, i32 0 %t28 = load ptr, ptr %t27 store i32 6200, ptr @lp_site %t29 = call ptr @lp_str_concat(ptr @.str10293, ptr %t28) store i32 0, ptr @lp_site store i32 6201, ptr @lp_site %t30 = call ptr @lp_str_concat(ptr %t29, ptr @.str10294) store i32 0, ptr @lp_site call void @lp_free(ptr %t29) %t31 = call ptr @fn_emit_bind(ptr %t30) %t32 = call ptr @fn_val(ptr %t31, ptr @.str10295) store ptr %t32, ptr %retval br label %ret ifend4: %t34 = load ptr, ptr %t0 %t35 = call i32 @lp_str_eq(ptr %t34, ptr @.str10296) %t36 = icmp ne i32 %t35, 0 %t37 = zext i1 %t36 to i32 store i32 %t37, ptr %t33 br i1 %t36, label %scend8, label %sc7 sc7: %t38 = load ptr, ptr %t0 %t39 = call i32 @lp_str_eq(ptr %t38, ptr @.str10297) %t40 = icmp ne i32 %t39, 0 %t41 = zext i1 %t40 to i32 store i32 %t41, ptr %t33 br label %scend8 scend8: %t42 = load i32, ptr %t33 %t43 = icmp ne i32 %t42, 0 br i1 %t43, label %then9, label %ifend11 then9: store i32 1, ptr @g_g_uses_hashrt %t44 = load ptr, ptr %t1 %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 = getelementptr inbounds %LSlice, ptr %t46, i32 0, i32 1 %t50 = load i32, ptr %t49 %t51 = icmp ult i32 0, %t50 br i1 %t51, label %ixok12, label %ixbad13 ixbad13: store i32 6202, ptr @lp_site %t52 = call ptr @lp_win_stdio(i32 2) store i32 0, ptr @lp_site call i32 (ptr, ptr, ...) @fprintf(ptr %t52, ptr @.fmt_bounds, ptr @.str10298, i32 0, i32 %t50) call void @exit(i32 1) unreachable ixok12: %t53 = getelementptr inbounds ptr, ptr %t48, 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 store i32 6203, ptr @lp_site %t60 = call ptr @lp_str_concat(ptr @.str10299, ptr %t59) store i32 0, ptr @lp_site store i32 6204, ptr @lp_site %t61 = call ptr @lp_str_concat(ptr %t60, ptr @.str10300) store i32 0, ptr @lp_site call void @lp_free(ptr %t60) %t62 = call ptr @fn_emit_bind(ptr %t61) %t63 = call ptr @fn_val(ptr %t62, ptr @.str10301) store ptr %t63, ptr %retval br label %ret ifend11: %t64 = load ptr, ptr %t0 %t65 = call i32 @lp_str_eq(ptr %t64, ptr @.str10302) %t66 = icmp ne i32 %t65, 0 br i1 %t66, label %then14, label %ifend16 then14: %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 %LSlice, ptr %t69, i32 0, i32 1 %t73 = load i32, ptr %t72 %t74 = icmp ult i32 0, %t73 br i1 %t74, label %ixok17, label %ixbad18 ixbad18: store i32 6205, ptr @lp_site %t75 = call ptr @lp_win_stdio(i32 2) store i32 0, ptr @lp_site call i32 (ptr, ptr, ...) @fprintf(ptr %t75, ptr @.fmt_bounds, ptr @.str10303, i32 0, i32 %t73) call void @exit(i32 1) unreachable ixok17: %t76 = getelementptr inbounds ptr, ptr %t71, 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 = call ptr @fn_to_long(ptr %t80) %t82 = call ptr @fn_hash_mix64_code(ptr %t81) %t83 = call ptr @fn_val(ptr %t82, ptr @.str10304) store ptr %t83, ptr %retval br label %ret ifend16: %t84 = load ptr, ptr %t0 %t85 = call i32 @lp_str_eq(ptr %t84, ptr @.str10305) %t86 = icmp ne i32 %t85, 0 br i1 %t86, label %then19, label %ifend21 then19: store i32 1, ptr @g_g_uses_hashrt %t87 = load ptr, ptr %t1 %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 = getelementptr inbounds %LSlice, ptr %t89, i32 0, i32 1 %t93 = load i32, ptr %t92 %t94 = icmp ult i32 0, %t93 br i1 %t94, label %ixok22, label %ixbad23 ixbad23: store i32 6206, ptr @lp_site %t95 = call ptr @lp_win_stdio(i32 2) store i32 0, ptr @lp_site call i32 (ptr, ptr, ...) @fprintf(ptr %t95, ptr @.fmt_bounds, ptr @.str10306, i32 0, i32 %t93) call void @exit(i32 1) unreachable ixok22: %t96 = getelementptr inbounds ptr, ptr %t91, i32 0 %t97 = load ptr, ptr %t96 %t98 = call ptr @fn_emit_expr(ptr %t97) store ptr %t98, ptr %t99 %t100 = load ptr, ptr %t99 %t101 = getelementptr inbounds %Cmp_Val, ptr %t100, i32 0, i32 0 %t102 = load ptr, ptr %t101 store i32 6207, ptr @lp_site %t103 = call ptr @lp_str_concat(ptr @.str10307, ptr %t102) store i32 0, ptr @lp_site store i32 6208, ptr @lp_site %t104 = call ptr @lp_str_concat(ptr %t103, ptr @.str10308) store i32 0, ptr @lp_site call void @lp_free(ptr %t103) %t105 = call ptr @fn_emit_bind(ptr %t104) %t106 = call ptr @fn_val(ptr %t105, ptr @.str10309) store ptr %t106, ptr %retval br label %ret ifend21: %t107 = load ptr, ptr %t0 %t108 = call i32 @lp_str_eq(ptr %t107, ptr @.str10310) %t109 = icmp ne i32 %t108, 0 br i1 %t109, label %then24, label %ifend26 then24: %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 %LSlice, ptr %t112, i32 0, i32 1 %t116 = load i32, ptr %t115 %t117 = icmp ult i32 0, %t116 br i1 %t117, label %ixok27, label %ixbad28 ixbad28: store i32 6209, ptr @lp_site %t118 = call ptr @lp_win_stdio(i32 2) store i32 0, ptr @lp_site call i32 (ptr, ptr, ...) @fprintf(ptr %t118, ptr @.fmt_bounds, ptr @.str10311, i32 0, i32 %t116) call void @exit(i32 1) unreachable ixok27: %t119 = getelementptr inbounds ptr, ptr %t114, i32 0 %t120 = load ptr, ptr %t119 %t121 = call ptr @fn_emit_expr(ptr %t120) store ptr %t121, ptr %t122 %t123 = load ptr, ptr %t122 %t124 = getelementptr inbounds %Cmp_Val, ptr %t123, i32 0, i32 0 %t125 = load ptr, ptr %t124 %t126 = call ptr @fn_hash_mix_code(ptr %t125) %t127 = call ptr @fn_val(ptr %t126, ptr @.str10312) store ptr %t127, ptr %retval br label %ret ifend26: store ptr @.str10313, ptr %t128 store i32 0, ptr %t129 br label %wcond29 wcond29: %t130 = load i32, ptr %t129 %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 1 %t135 = load i32, ptr %t134 %t136 = icmp slt i32 %t130, %t135 %t137 = zext i1 %t136 to i32 %t138 = icmp ne i32 %t137, 0 br i1 %t138, label %wbody30, label %wend31 wbody30: %t139 = load ptr, ptr %t1 %t140 = getelementptr inbounds %Cmp_Node, ptr %t139, i32 0, i32 7 %t141 = load ptr, ptr %t140 %t142 = load i32, ptr %t129 %t143 = getelementptr inbounds %LSlice, ptr %t141, i32 0, i32 0 %t144 = load ptr, ptr %t143 %t145 = getelementptr inbounds %LSlice, ptr %t141, i32 0, i32 1 %t146 = load i32, ptr %t145 %t147 = icmp ult i32 %t142, %t146 br i1 %t147, label %ixok32, label %ixbad33 ixbad33: store i32 6210, ptr @lp_site %t148 = call ptr @lp_win_stdio(i32 2) store i32 0, ptr @lp_site call i32 (ptr, ptr, ...) @fprintf(ptr %t148, ptr @.fmt_bounds, ptr @.str10314, i32 %t142, i32 %t146) call void @exit(i32 1) unreachable ixok32: %t149 = getelementptr inbounds ptr, ptr %t144, i32 %t142 %t150 = load ptr, ptr %t149 %t151 = call ptr @fn_emit_expr(ptr %t150) store ptr %t151, ptr %t152 %t153 = load ptr, ptr %t152 %t154 = getelementptr inbounds %Cmp_Val, ptr %t153, i32 0, i32 0 %t155 = load ptr, ptr %t154 store i32 6211, ptr @lp_site %t156 = call ptr @lp_str_concat(ptr @.str10315, ptr %t155) store i32 0, ptr @lp_site store i32 6212, ptr @lp_site %t157 = call ptr @lp_str_concat(ptr %t156, ptr @.str10316) store i32 0, ptr @lp_site call void @lp_free(ptr %t156) %t158 = call ptr @fn_emit_bind(ptr %t157) store ptr %t158, ptr %t159 %t160 = load ptr, ptr %t128 store i32 6213, ptr @lp_site %t161 = call ptr @lp_str_concat(ptr @.str10317, ptr %t160) store i32 0, ptr @lp_site store i32 6214, ptr @lp_site %t162 = call ptr @lp_str_concat(ptr %t161, ptr @.str10318) store i32 0, ptr @lp_site call void @lp_free(ptr %t161) %t163 = call ptr @fn_emit_bind(ptr %t162) store ptr %t163, ptr %t164 %t165 = load ptr, ptr %t128 store i32 6215, ptr @lp_site %t166 = call ptr @lp_str_concat(ptr @.str10319, ptr %t165) store i32 0, ptr @lp_site store i32 6216, ptr @lp_site %t167 = call ptr @lp_str_concat(ptr %t166, ptr @.str10320) store i32 0, ptr @lp_site call void @lp_free(ptr %t166) %t168 = call ptr @fn_emit_bind(ptr %t167) store ptr %t168, ptr %t169 %t170 = load ptr, ptr %t159 store i32 6217, ptr @lp_site %t171 = call ptr @lp_str_concat(ptr @.str10321, ptr %t170) store i32 0, ptr @lp_site store i32 6218, ptr @lp_site %t172 = call ptr @lp_str_concat(ptr %t171, ptr @.str10322) store i32 0, ptr @lp_site call void @lp_free(ptr %t171) %t173 = load ptr, ptr %t164 store i32 6219, ptr @lp_site %t174 = call ptr @lp_str_concat(ptr %t172, ptr %t173) store i32 0, ptr @lp_site call void @lp_free(ptr %t172) %t175 = call ptr @fn_emit_bind(ptr %t174) store ptr %t175, ptr %t176 %t177 = load ptr, ptr %t176 store i32 6220, ptr @lp_site %t178 = call ptr @lp_str_concat(ptr @.str10323, ptr %t177) store i32 0, ptr @lp_site store i32 6221, ptr @lp_site %t179 = call ptr @lp_str_concat(ptr %t178, ptr @.str10324) store i32 0, ptr @lp_site call void @lp_free(ptr %t178) %t180 = load ptr, ptr %t169 store i32 6222, ptr @lp_site %t181 = call ptr @lp_str_concat(ptr %t179, ptr %t180) store i32 0, ptr @lp_site call void @lp_free(ptr %t179) %t182 = call ptr @fn_emit_bind(ptr %t181) store ptr %t182, ptr %t183 %t184 = load ptr, ptr %t128 store i32 6223, ptr @lp_site %t185 = call ptr @lp_str_concat(ptr @.str10325, ptr %t184) store i32 0, ptr @lp_site store i32 6224, ptr @lp_site %t186 = call ptr @lp_str_concat(ptr %t185, ptr @.str10326) store i32 0, ptr @lp_site call void @lp_free(ptr %t185) %t187 = load ptr, ptr %t183 store i32 6225, ptr @lp_site %t188 = call ptr @lp_str_concat(ptr %t186, ptr %t187) store i32 0, ptr @lp_site call void @lp_free(ptr %t186) %t189 = call ptr @fn_emit_bind(ptr %t188) store ptr %t189, ptr %t128 %t190 = load i32, ptr %t129 %t191 = add i32 %t190, 1 store i32 %t191, ptr %t129 br label %wcond29 wend31: %t192 = load ptr, ptr %t128 %t193 = call ptr @fn_val(ptr %t192, ptr @.str10327) store ptr %t193, ptr %retval br label %ret ret: %t194 = load ptr, ptr %retval ret ptr %t194 } define void @fn_emit_hash_prelude() { entry: call void @fn_emith(ptr @.str10328) call void @fn_emith(ptr @.str10329) call void @fn_emith(ptr @.str10330) call void @fn_emith(ptr @.str10331) call void @fn_emith(ptr @.str10332) call void @fn_emith(ptr @.str10333) call void @fn_emith(ptr @.str10334) call void @fn_emith(ptr @.str10335) call void @fn_emith(ptr @.str10336) call void @fn_emith(ptr @.str10337) call void @fn_emith(ptr @.str10338) call void @fn_emith(ptr @.str10339) call void @fn_emith(ptr @.str10340) call void @fn_emith(ptr @.str10341) call void @fn_emith(ptr @.str10342) call void @fn_emith(ptr @.str10343) call void @fn_emith(ptr @.str10344) call void @fn_emith(ptr @.str10345) call void @fn_emith(ptr @.str10346) call void @fn_emith(ptr @.str10347) call void @fn_emith(ptr @.str10348) call void @fn_emith(ptr @.str10349) call void @fn_emith(ptr @.str10350) call void @fn_emith(ptr @.str10351) call void @fn_emith(ptr @.str10352) call void @fn_emith(ptr @.str10353) call void @fn_emith(ptr @.str10354) call void @fn_emith(ptr @.str10355) call void @fn_emith(ptr @.str10356) call void @fn_emith(ptr @.str10357) call void @fn_emith(ptr @.str10358) call void @fn_emith(ptr @.str10359) call void @fn_emith(ptr @.str10360) call void @fn_emith(ptr @.str10361) call void @fn_emith(ptr @.str10362) call void @fn_emith(ptr @.str10363) call void @fn_emith(ptr @.str10364) call void @fn_emith(ptr @.str10365) call void @fn_emith(ptr @.str10366) call void @fn_emith(ptr @.str10367) call void @fn_emith(ptr @.str10368) call void @fn_emith(ptr @.str10369) call void @fn_emith(ptr @.str10370) call void @fn_emith(ptr @.str10371) call void @fn_emith(ptr @.str10372) call void @fn_emith(ptr @.str10373) call void @fn_emith(ptr @.str10374) call void @fn_emith(ptr @.str10375) call void @fn_emith(ptr @.str10376) call void @fn_emith(ptr @.str10377) call void @fn_emith(ptr @.str10378) call void @fn_emith(ptr @.str10379) call void @fn_emith(ptr @.str10380) call void @fn_emith(ptr @.str10381) call void @fn_emith(ptr @.str10382) call void @fn_emith(ptr @.str10383) call void @fn_emith(ptr @.str10384) call void @fn_emith(ptr @.str10385) call void @fn_emith(ptr @.str10386) call void @fn_emith(ptr @.str10387) call void @fn_emith(ptr @.str10388) call void @fn_emith(ptr @.str10389) call void @fn_emith(ptr @.str10390) call void @fn_emith(ptr @.str10391) call void @fn_emith(ptr @.str10392) call void @fn_emith(ptr @.str10393) call void @fn_emith(ptr @.str10394) call void @fn_emith(ptr @.str10395) call void @fn_emith(ptr @.str10396) call void @fn_emith(ptr @.str10397) call void @fn_emith(ptr @.str10398) call void @fn_emith(ptr @.str10399) call void @fn_emith(ptr @.str10400) call void @fn_emith(ptr @.str10401) call void @fn_emith(ptr @.str10402) call void @fn_emith(ptr @.str10403) call void @fn_emith(ptr @.str10404) call void @fn_emith(ptr @.str10405) call void @fn_emith(ptr @.str10406) call void @fn_emith(ptr @.str10407) call void @fn_emith(ptr @.str10408) call void @fn_emith(ptr @.str10409) call void @fn_emith(ptr @.str10410) call void @fn_emith(ptr @.str10411) call void @fn_emith(ptr @.str10412) call void @fn_emith(ptr @.str10413) call void @fn_emith(ptr @.str10414) call void @fn_emith(ptr @.str10415) call void @fn_emith(ptr @.str10416) call void @fn_emith(ptr @.str10417) call void @fn_emith(ptr @.str10418) call void @fn_emith(ptr @.str10419) call void @fn_emith(ptr @.str10420) call void @fn_emith(ptr @.str10421) call void @fn_emith(ptr @.str10422) call void @fn_emith(ptr @.str10423) call void @fn_emith(ptr @.str10424) 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 @.str10425) %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 @.str10426) %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 @.str10427) %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 @.str10428) %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 @.str10429) %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 @.str10430) %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 @.str10431) %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 @.str10432) %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 @.str10433) %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 %t17 = alloca ptr %t40 = alloca ptr %t53 = alloca ptr %t81 = alloca ptr %t104 = alloca ptr %t117 = alloca ptr %t130 = alloca i32 %t153 = alloca ptr %t160 = alloca ptr %t186 = alloca ptr %t206 = alloca ptr %t219 = alloca ptr %t232 = alloca ptr %t244 = 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 @.str10434) %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 %LSlice, ptr %t7, i32 0, i32 1 %t11 = load i32, ptr %t10 %t12 = icmp ult i32 0, %t11 br i1 %t12, label %ixok3, label %ixbad4 ixbad4: store i32 6226, ptr @lp_site %t13 = call ptr @lp_win_stdio(i32 2) store i32 0, ptr @lp_site call i32 (ptr, ptr, ...) @fprintf(ptr %t13, ptr @.fmt_bounds, ptr @.str10435, i32 0, i32 %t11) call void @exit(i32 1) unreachable ixok3: %t14 = getelementptr inbounds ptr, ptr %t9, 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 0 %t20 = load ptr, ptr %t19 store i32 6227, ptr @lp_site %t21 = call ptr @lp_str_concat(ptr @.str10437, ptr %t20) store i32 0, ptr @lp_site store i32 6228, ptr @lp_site %t22 = call ptr @lp_str_concat(ptr %t21, ptr @.str10438) store i32 0, ptr @lp_site call void @lp_free(ptr %t21) %t23 = call ptr @fn_emit_bind(ptr %t22) %t24 = call ptr @fn_val(ptr %t23, ptr @.str10439) store ptr %t24, ptr %retval br label %ret ifend2: %t25 = load ptr, ptr %t0 %t26 = call i32 @lp_str_eq(ptr %t25, ptr @.str10440) %t27 = icmp ne i32 %t26, 0 br i1 %t27, label %then5, label %ifend7 then5: %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 %LSlice, ptr %t30, i32 0, i32 1 %t34 = load i32, ptr %t33 %t35 = icmp ult i32 0, %t34 br i1 %t35, label %ixok8, label %ixbad9 ixbad9: store i32 6229, ptr @lp_site %t36 = call ptr @lp_win_stdio(i32 2) store i32 0, ptr @lp_site call i32 (ptr, ptr, ...) @fprintf(ptr %t36, ptr @.fmt_bounds, ptr @.str10441, i32 0, i32 %t34) call void @exit(i32 1) unreachable ixok8: %t37 = getelementptr inbounds ptr, ptr %t32, i32 0 %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 %LSlice, ptr %t43, i32 0, i32 1 %t47 = load i32, ptr %t46 %t48 = icmp ult i32 1, %t47 br i1 %t48, label %ixok10, label %ixbad11 ixbad11: store i32 6230, ptr @lp_site %t49 = call ptr @lp_win_stdio(i32 2) store i32 0, ptr @lp_site call i32 (ptr, ptr, ...) @fprintf(ptr %t49, ptr @.fmt_bounds, ptr @.str10442, i32 1, i32 %t47) call void @exit(i32 1) unreachable ixok10: %t50 = getelementptr inbounds ptr, ptr %t45, i32 1 %t51 = load ptr, ptr %t50 %t52 = call ptr @fn_emit_expr(ptr %t51) store ptr %t52, ptr %t53 %t54 = load ptr, ptr %t40 %t55 = getelementptr inbounds %Cmp_Val, ptr %t54, i32 0, i32 0 %t56 = load ptr, ptr %t55 store i32 6231, ptr @lp_site %t57 = call ptr @lp_str_concat(ptr @.str10443, ptr %t56) store i32 0, ptr @lp_site store i32 6232, ptr @lp_site %t58 = call ptr @lp_str_concat(ptr %t57, ptr @.str10444) store i32 0, ptr @lp_site call void @lp_free(ptr %t57) %t59 = load ptr, ptr %t53 %t60 = getelementptr inbounds %Cmp_Val, ptr %t59, i32 0, i32 0 %t61 = load ptr, ptr %t60 store i32 6233, ptr @lp_site %t62 = call ptr @lp_str_concat(ptr %t58, ptr %t61) store i32 0, ptr @lp_site call void @lp_free(ptr %t58) store i32 6234, ptr @lp_site %t63 = call ptr @lp_str_concat(ptr %t62, ptr @.str10445) store i32 0, ptr @lp_site call void @lp_free(ptr %t62) %t64 = call ptr @fn_emit_bind(ptr %t63) %t65 = call ptr @fn_val(ptr %t64, ptr @.str10446) store ptr %t65, ptr %retval br label %ret ifend7: %t66 = load ptr, ptr %t0 %t67 = call i32 @lp_str_eq(ptr %t66, ptr @.str10447) %t68 = icmp ne i32 %t67, 0 br i1 %t68, label %then12, label %ifend14 then12: %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 %LSlice, ptr %t71, i32 0, i32 1 %t75 = load i32, ptr %t74 %t76 = icmp ult i32 0, %t75 br i1 %t76, label %ixok15, label %ixbad16 ixbad16: store i32 6235, ptr @lp_site %t77 = call ptr @lp_win_stdio(i32 2) store i32 0, ptr @lp_site call i32 (ptr, ptr, ...) @fprintf(ptr %t77, ptr @.fmt_bounds, ptr @.str10448, i32 0, i32 %t75) call void @exit(i32 1) unreachable ixok15: %t78 = getelementptr inbounds ptr, ptr %t73, 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 store i32 6236, ptr @lp_site %t85 = call ptr @lp_str_concat(ptr @.str10449, ptr %t84) store i32 0, ptr @lp_site store i32 6237, ptr @lp_site %t86 = call ptr @lp_str_concat(ptr %t85, ptr @.str10450) store i32 0, ptr @lp_site call void @lp_free(ptr %t85) %t87 = call ptr @fn_emit_bind(ptr %t86) %t88 = call ptr @fn_val(ptr %t87, ptr @.str10451) store ptr %t88, ptr %retval br label %ret ifend14: %t89 = load ptr, ptr %t0 %t90 = call i32 @lp_str_eq(ptr %t89, ptr @.str10452) %t91 = icmp ne i32 %t90, 0 br i1 %t91, label %then17, label %ifend19 then17: %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 %LSlice, ptr %t94, i32 0, i32 1 %t98 = load i32, ptr %t97 %t99 = icmp ult i32 0, %t98 br i1 %t99, label %ixok20, label %ixbad21 ixbad21: store i32 6238, ptr @lp_site %t100 = call ptr @lp_win_stdio(i32 2) store i32 0, ptr @lp_site call i32 (ptr, ptr, ...) @fprintf(ptr %t100, ptr @.fmt_bounds, ptr @.str10453, i32 0, i32 %t98) call void @exit(i32 1) unreachable ixok20: %t101 = getelementptr inbounds ptr, ptr %t96, i32 0 %t102 = load ptr, ptr %t101 %t103 = call ptr @fn_emit_expr(ptr %t102) store ptr %t103, ptr %t104 %t105 = load ptr, ptr %t1 %t106 = getelementptr inbounds %Cmp_Node, ptr %t105, i32 0, i32 7 %t107 = load ptr, ptr %t106 %t108 = getelementptr inbounds %LSlice, ptr %t107, i32 0, i32 0 %t109 = load ptr, ptr %t108 %t110 = getelementptr inbounds %LSlice, ptr %t107, i32 0, i32 1 %t111 = load i32, ptr %t110 %t112 = icmp ult i32 1, %t111 br i1 %t112, label %ixok22, label %ixbad23 ixbad23: store i32 6239, ptr @lp_site %t113 = call ptr @lp_win_stdio(i32 2) store i32 0, ptr @lp_site call i32 (ptr, ptr, ...) @fprintf(ptr %t113, ptr @.fmt_bounds, ptr @.str10454, i32 1, i32 %t111) call void @exit(i32 1) unreachable ixok22: %t114 = getelementptr inbounds ptr, ptr %t109, i32 1 %t115 = load ptr, ptr %t114 %t116 = call ptr @fn_emit_expr(ptr %t115) store ptr %t116, ptr %t117 %t118 = load ptr, ptr %t104 %t119 = getelementptr inbounds %Cmp_Val, ptr %t118, i32 0, i32 0 %t120 = load ptr, ptr %t119 store i32 6240, ptr @lp_site %t121 = call ptr @lp_str_concat(ptr @.str10455, ptr %t120) store i32 0, ptr @lp_site store i32 6241, ptr @lp_site %t122 = call ptr @lp_str_concat(ptr %t121, ptr @.str10456) store i32 0, ptr @lp_site call void @lp_free(ptr %t121) %t123 = load ptr, ptr %t117 %t124 = getelementptr inbounds %Cmp_Val, ptr %t123, i32 0, i32 0 %t125 = load ptr, ptr %t124 store i32 6242, ptr @lp_site %t126 = call ptr @lp_str_concat(ptr %t122, ptr %t125) store i32 0, ptr @lp_site call void @lp_free(ptr %t122) store i32 6243, ptr @lp_site %t127 = call ptr @lp_str_concat(ptr %t126, ptr @.str10457) store i32 0, ptr @lp_site call void @lp_free(ptr %t126) %t128 = call ptr @fn_emit_bind(ptr %t127) %t129 = call ptr @fn_val(ptr %t128, ptr @.str10458) store ptr %t129, ptr %retval br label %ret ifend19: %t131 = load ptr, ptr %t0 %t132 = call i32 @lp_str_eq(ptr %t131, ptr @.str10459) %t133 = icmp ne i32 %t132, 0 %t134 = zext i1 %t133 to i32 store i32 %t134, ptr %t130 br i1 %t133, label %scend25, label %sc24 sc24: %t135 = load ptr, ptr %t0 %t136 = call i32 @lp_str_eq(ptr %t135, ptr @.str10460) %t137 = icmp ne i32 %t136, 0 %t138 = zext i1 %t137 to i32 store i32 %t138, ptr %t130 br label %scend25 scend25: %t139 = load i32, ptr %t130 %t140 = icmp ne i32 %t139, 0 br i1 %t140, label %then26, label %ifend28 then26: %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 %LSlice, ptr %t143, i32 0, i32 1 %t147 = load i32, ptr %t146 %t148 = icmp ult i32 0, %t147 br i1 %t148, label %ixok29, label %ixbad30 ixbad30: store i32 6244, ptr @lp_site %t149 = call ptr @lp_win_stdio(i32 2) store i32 0, ptr @lp_site call i32 (ptr, ptr, ...) @fprintf(ptr %t149, ptr @.fmt_bounds, ptr @.str10461, i32 0, i32 %t147) call void @exit(i32 1) unreachable ixok29: %t150 = getelementptr inbounds ptr, ptr %t145, i32 0 %t151 = load ptr, ptr %t150 %t152 = call ptr @fn_emit_expr(ptr %t151) store ptr %t152, ptr %t153 %t154 = load ptr, ptr %t153 %t155 = getelementptr inbounds %Cmp_Val, ptr %t154, i32 0, i32 0 %t156 = load ptr, ptr %t155 store i32 6245, ptr @lp_site %t157 = call ptr @lp_str_concat(ptr @.str10462, ptr %t156) store i32 0, ptr @lp_site store i32 6246, ptr @lp_site %t158 = call ptr @lp_str_concat(ptr %t157, ptr @.str10463) store i32 0, ptr @lp_site call void @lp_free(ptr %t157) %t159 = call ptr @fn_emit_bind(ptr %t158) store ptr %t159, ptr %t160 %t161 = load ptr, ptr %t160 store i32 6247, ptr @lp_site %t162 = call ptr @lp_str_concat(ptr @.str10464, ptr %t161) store i32 0, ptr @lp_site store i32 6248, ptr @lp_site %t163 = call ptr @lp_str_concat(ptr %t162, ptr @.str10465) store i32 0, ptr @lp_site call void @lp_free(ptr %t162) %t164 = call ptr @fn_emit_bind(ptr %t163) %t165 = call ptr @fn_val(ptr %t164, ptr @.str10466) store ptr %t165, ptr %retval br label %ret ifend28: %t166 = load ptr, ptr %t0 %t167 = call i32 @lp_str_eq(ptr %t166, ptr @.str10467) %t168 = icmp ne i32 %t167, 0 br i1 %t168, label %then31, label %ifend33 then31: %t169 = call ptr @fn_emit_bind(ptr @.str10468) %t170 = call ptr @fn_val(ptr %t169, ptr @.str10469) store ptr %t170, ptr %retval br label %ret ifend33: %t171 = load ptr, ptr %t0 %t172 = call i32 @lp_str_eq(ptr %t171, ptr @.str10470) %t173 = icmp ne i32 %t172, 0 br i1 %t173, label %then34, label %ifend36 then34: %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 0 %t178 = load ptr, ptr %t177 %t179 = getelementptr inbounds %LSlice, ptr %t176, i32 0, i32 1 %t180 = load i32, ptr %t179 %t181 = icmp ult i32 0, %t180 br i1 %t181, label %ixok37, label %ixbad38 ixbad38: store i32 6249, ptr @lp_site %t182 = call ptr @lp_win_stdio(i32 2) store i32 0, ptr @lp_site call i32 (ptr, ptr, ...) @fprintf(ptr %t182, ptr @.fmt_bounds, ptr @.str10471, i32 0, i32 %t180) call void @exit(i32 1) unreachable ixok37: %t183 = getelementptr inbounds ptr, ptr %t178, i32 0 %t184 = load ptr, ptr %t183 %t185 = call ptr @fn_emit_expr(ptr %t184) store ptr %t185, ptr %t186 %t187 = load ptr, ptr %t186 %t188 = getelementptr inbounds %Cmp_Val, ptr %t187, i32 0, i32 0 %t189 = load ptr, ptr %t188 store i32 6250, ptr @lp_site %t190 = call ptr @lp_str_concat(ptr @.str10472, ptr %t189) store i32 0, ptr @lp_site store i32 6251, ptr @lp_site %t191 = call ptr @lp_str_concat(ptr %t190, ptr @.str10473) store i32 0, ptr @lp_site call void @lp_free(ptr %t190) %t192 = call ptr @fn_emit_bind(ptr %t191) %t193 = call ptr @fn_val(ptr %t192, ptr @.str10474) store ptr %t193, ptr %retval br label %ret ifend36: %t194 = load ptr, ptr %t1 %t195 = getelementptr inbounds %Cmp_Node, ptr %t194, i32 0, i32 7 %t196 = load ptr, ptr %t195 %t197 = getelementptr inbounds %LSlice, ptr %t196, i32 0, i32 0 %t198 = load ptr, ptr %t197 %t199 = getelementptr inbounds %LSlice, ptr %t196, i32 0, i32 1 %t200 = load i32, ptr %t199 %t201 = icmp ult i32 0, %t200 br i1 %t201, label %ixok39, label %ixbad40 ixbad40: store i32 6252, ptr @lp_site %t202 = call ptr @lp_win_stdio(i32 2) store i32 0, ptr @lp_site call i32 (ptr, ptr, ...) @fprintf(ptr %t202, ptr @.fmt_bounds, ptr @.str10475, i32 0, i32 %t200) call void @exit(i32 1) unreachable ixok39: %t203 = getelementptr inbounds ptr, ptr %t198, 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 %LSlice, ptr %t209, i32 0, i32 1 %t213 = load i32, ptr %t212 %t214 = icmp ult i32 1, %t213 br i1 %t214, label %ixok41, label %ixbad42 ixbad42: store i32 6253, ptr @lp_site %t215 = call ptr @lp_win_stdio(i32 2) store i32 0, ptr @lp_site call i32 (ptr, ptr, ...) @fprintf(ptr %t215, ptr @.fmt_bounds, ptr @.str10476, i32 1, i32 %t213) call void @exit(i32 1) unreachable ixok41: %t216 = getelementptr inbounds ptr, ptr %t211, i32 1 %t217 = load ptr, ptr %t216 %t218 = call ptr @fn_emit_expr(ptr %t217) store ptr %t218, ptr %t219 %t220 = load ptr, ptr %t1 %t221 = getelementptr inbounds %Cmp_Node, ptr %t220, i32 0, i32 7 %t222 = load ptr, ptr %t221 %t223 = getelementptr inbounds %LSlice, ptr %t222, i32 0, i32 0 %t224 = load ptr, ptr %t223 %t225 = getelementptr inbounds %LSlice, ptr %t222, i32 0, i32 1 %t226 = load i32, ptr %t225 %t227 = icmp ult i32 2, %t226 br i1 %t227, label %ixok43, label %ixbad44 ixbad44: store i32 6254, ptr @lp_site %t228 = call ptr @lp_win_stdio(i32 2) store i32 0, ptr @lp_site call i32 (ptr, ptr, ...) @fprintf(ptr %t228, ptr @.fmt_bounds, ptr @.str10477, i32 2, i32 %t226) call void @exit(i32 1) unreachable ixok43: %t229 = getelementptr inbounds ptr, ptr %t224, i32 2 %t230 = load ptr, ptr %t229 %t231 = call ptr @fn_emit_expr(ptr %t230) store ptr %t231, ptr %t232 %t233 = load ptr, ptr %t206 %t234 = getelementptr inbounds %Cmp_Val, ptr %t233, i32 0, i32 0 %t235 = load ptr, ptr %t234 store i32 6255, ptr @lp_site %t236 = call ptr @lp_str_concat(ptr @.str10478, ptr %t235) store i32 0, ptr @lp_site store i32 6256, ptr @lp_site %t237 = call ptr @lp_str_concat(ptr %t236, ptr @.str10479) store i32 0, ptr @lp_site call void @lp_free(ptr %t236) %t238 = load ptr, ptr %t219 %t239 = getelementptr inbounds %Cmp_Val, ptr %t238, i32 0, i32 0 %t240 = load ptr, ptr %t239 store i32 6257, ptr @lp_site %t241 = call ptr @lp_str_concat(ptr %t237, ptr %t240) store i32 0, ptr @lp_site call void @lp_free(ptr %t237) store i32 6258, ptr @lp_site %t242 = call ptr @lp_str_concat(ptr %t241, ptr @.str10480) store i32 0, ptr @lp_site call void @lp_free(ptr %t241) %t243 = call ptr @fn_emit_bind(ptr %t242) store ptr %t243, ptr %t244 %t245 = load ptr, ptr %t244 store i32 6259, ptr @lp_site %t246 = call ptr @lp_str_concat(ptr @.str10481, ptr %t245) store i32 0, ptr @lp_site store i32 6260, ptr @lp_site %t247 = call ptr @lp_str_concat(ptr %t246, ptr @.str10482) store i32 0, ptr @lp_site call void @lp_free(ptr %t246) %t248 = load ptr, ptr %t232 %t249 = getelementptr inbounds %Cmp_Val, ptr %t248, i32 0, i32 0 %t250 = load ptr, ptr %t249 store i32 6261, ptr @lp_site %t251 = call ptr @lp_str_concat(ptr %t247, ptr %t250) store i32 0, ptr @lp_site call void @lp_free(ptr %t247) store i32 6262, ptr @lp_site %t252 = call ptr @lp_str_concat(ptr %t251, ptr @.str10483) store i32 0, ptr @lp_site call void @lp_free(ptr %t251) %t253 = call ptr @fn_emit_bind(ptr %t252) %t254 = call ptr @fn_val(ptr %t253, ptr @.str10484) store ptr %t254, ptr %retval br label %ret ret: %t255 = load ptr, ptr %retval ret ptr %t255 } define void @fn_emit_crypto_prelude() { entry: call void @fn_emith(ptr @.str10485) call void @fn_emith(ptr @.str10486) call void @fn_emith(ptr @.str10487) call void @fn_emith(ptr @.str10488) call void @fn_emith(ptr @.str10489) call void @fn_emith(ptr @.str10490) call void @fn_emith(ptr @.str10491) call void @fn_emith(ptr @.str10492) call void @fn_emith(ptr @.str10493) call void @fn_emith(ptr @.str10494) call void @fn_emith(ptr @.str10495) call void @fn_emith(ptr @.str10496) call void @fn_emith(ptr @.str10497) call void @fn_emith(ptr @.str10498) call void @fn_emith(ptr @.str10499) call void @fn_emith(ptr @.str10500) call void @fn_emith(ptr @.str10501) call void @fn_emith(ptr @.str10502) call void @fn_emith(ptr @.str10503) call void @fn_emith(ptr @.str10504) call void @fn_emith(ptr @.str10505) call void @fn_emith(ptr @.str10506) call void @fn_emith(ptr @.str10507) call void @fn_emith(ptr @.str10508) call void @fn_emith(ptr @.str10509) call void @fn_emith(ptr @.str10510) call void @fn_emith(ptr @.str10511) call void @fn_emith(ptr @.str10512) call void @fn_emith(ptr @.str10513) call void @fn_emith(ptr @.str10514) call void @fn_emith(ptr @.str10515) call void @fn_emith(ptr @.str10516) call void @fn_emith(ptr @.str10517) call void @fn_emith(ptr @.str10518) call void @fn_emith(ptr @.str10519) call void @fn_emith(ptr @.str10520) call void @fn_emith(ptr @.str10521) call void @fn_emith(ptr @.str10522) call void @fn_emith(ptr @.str10523) call void @fn_emith(ptr @.str10524) call void @fn_emith(ptr @.str10525) call void @fn_emith(ptr @.str10526) call void @fn_emith(ptr @.str10527) call void @fn_emith(ptr @.str10528) call void @fn_emith(ptr @.str10529) call void @fn_emith(ptr @.str10530) call void @fn_emith(ptr @.str10531) call void @fn_emith(ptr @.str10532) call void @fn_emith(ptr @.str10533) call void @fn_emith(ptr @.str10534) call void @fn_emith(ptr @.str10535) call void @fn_emith(ptr @.str10536) call void @fn_emith(ptr @.str10537) call void @fn_emith(ptr @.str10538) call void @fn_emith(ptr @.str10539) call void @fn_emith(ptr @.str10540) call void @fn_emith(ptr @.str10541) call void @fn_emith(ptr @.str10542) call void @fn_emith(ptr @.str10543) call void @fn_emith(ptr @.str10544) call void @fn_emith(ptr @.str10545) call void @fn_emith(ptr @.str10546) call void @fn_emith(ptr @.str10547) call void @fn_emith(ptr @.str10548) call void @fn_emith(ptr @.str10549) call void @fn_emith(ptr @.str10550) call void @fn_emith(ptr @.str10551) call void @fn_emith(ptr @.str10552) call void @fn_emith(ptr @.str10553) call void @fn_emith(ptr @.str10554) call void @fn_emith(ptr @.str10555) call void @fn_emith(ptr @.str10556) call void @fn_emith(ptr @.str10557) call void @fn_emith(ptr @.str10558) call void @fn_emith(ptr @.str10559) call void @fn_emith(ptr @.str10560) call void @fn_emith(ptr @.str10561) call void @fn_emith(ptr @.str10562) call void @fn_emith(ptr @.str10563) call void @fn_emith(ptr @.str10564) call void @fn_emith(ptr @.str10565) call void @fn_emith(ptr @.str10566) call void @fn_emith(ptr @.str10567) call void @fn_emith(ptr @.str10568) call void @fn_emith(ptr @.str10569) call void @fn_emith(ptr @.str10570) call void @fn_emith(ptr @.str10571) call void @fn_emith(ptr @.str10572) call void @fn_emith(ptr @.str10573) call void @fn_emith(ptr @.str10574) call void @fn_emith(ptr @.str10575) call void @fn_emith(ptr @.str10576) call void @fn_emith(ptr @.str10577) call void @fn_emith(ptr @.str10578) call void @fn_emith(ptr @.str10579) call void @fn_emith(ptr @.str10580) call void @fn_emith(ptr @.str10581) call void @fn_emith(ptr @.str10582) call void @fn_emith(ptr @.str10583) call void @fn_emith(ptr @.str10584) call void @fn_emith(ptr @.str10585) call void @fn_emith(ptr @.str10586) call void @fn_emith(ptr @.str10587) call void @fn_emith(ptr @.str10588) call void @fn_emith(ptr @.str10589) call void @fn_emith(ptr @.str10590) call void @fn_emith(ptr @.str10591) call void @fn_emith(ptr @.str10592) call void @fn_emith(ptr @.str10593) call void @fn_emith(ptr @.str10594) call void @fn_emith(ptr @.str10595) call void @fn_emith(ptr @.str10596) call void @fn_emith(ptr @.str10597) call void @fn_emith(ptr @.str10598) call void @fn_emith(ptr @.str10599) call void @fn_emith(ptr @.str10600) call void @fn_emith(ptr @.str10601) call void @fn_emith(ptr @.str10602) call void @fn_emith(ptr @.str10603) call void @fn_emith(ptr @.str10604) call void @fn_emith(ptr @.str10605) call void @fn_emith(ptr @.str10606) call void @fn_emith(ptr @.str10607) call void @fn_emith(ptr @.str10608) call void @fn_emith(ptr @.str10609) call void @fn_emith(ptr @.str10610) call void @fn_emith(ptr @.str10611) call void @fn_emith(ptr @.str10612) call void @fn_emith(ptr @.str10613) call void @fn_emith(ptr @.str10614) call void @fn_emith(ptr @.str10615) call void @fn_emith(ptr @.str10616) call void @fn_emith(ptr @.str10617) call void @fn_emith(ptr @.str10618) call void @fn_emith(ptr @.str10619) call void @fn_emith(ptr @.str10620) call void @fn_emith(ptr @.str10621) call void @fn_emith(ptr @.str10622) call void @fn_emith(ptr @.str10623) call void @fn_emith(ptr @.str10624) call void @fn_emith(ptr @.str10625) call void @fn_emith(ptr @.str10626) call void @fn_emith(ptr @.str10627) call void @fn_emith(ptr @.str10628) call void @fn_emith(ptr @.str10629) call void @fn_emith(ptr @.str10630) call void @fn_emith(ptr @.str10631) call void @fn_emith(ptr @.str10632) call void @fn_emith(ptr @.str10633) call void @fn_emith(ptr @.str10634) call void @fn_emith(ptr @.str10635) call void @fn_emith(ptr @.str10636) 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 @.str10637) call void @fn_emith(ptr @.str10638) call void @fn_emith(ptr @.str10639) %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 @.str10640) call void @fn_emith(ptr @.str10641) call void @fn_emith(ptr @.str10642) call void @fn_emith(ptr @.str10643) call void @fn_emith(ptr @.str10644) call void @fn_emith(ptr @.str10645) call void @fn_emith(ptr @.str10646) call void @fn_emith(ptr @.str10647) br label %ifend2 else1: call void @fn_emith(ptr @.str10648) call void @fn_emith(ptr @.str10649) call void @fn_emith(ptr @.str10650) call void @fn_emith(ptr @.str10651) call void @fn_emith(ptr @.str10652) call void @fn_emith(ptr @.str10653) br label %ifend2 ifend2: call void @fn_emith(ptr @.str10654) call void @fn_emith(ptr @.str10655) call void @fn_emith(ptr @.str10656) call void @fn_emith(ptr @.str10657) call void @fn_emith(ptr @.str10658) call void @fn_emith(ptr @.str10659) call void @fn_emith(ptr @.str10660) call void @fn_emith(ptr @.str10661) call void @fn_emith(ptr @.str10662) call void @fn_emith(ptr @.str10663) call void @fn_emith(ptr @.str10664) call void @fn_emith(ptr @.str10665) call void @fn_emith(ptr @.str10666) call void @fn_emith(ptr @.str10667) call void @fn_emith(ptr @.str10668) call void @fn_emith(ptr @.str10669) call void @fn_emith(ptr @.str10670) call void @fn_emith(ptr @.str10671) call void @fn_emith(ptr @.str10672) call void @fn_emith(ptr @.str10673) call void @fn_emith(ptr @.str10674) call void @fn_emith(ptr @.str10675) call void @fn_emith(ptr @.str10676) call void @fn_emith(ptr @.str10677) call void @fn_emith(ptr @.str10678) call void @fn_emith(ptr @.str10679) call void @fn_emith(ptr @.str10680) call void @fn_emith(ptr @.str10681) call void @fn_emith(ptr @.str10682) call void @fn_emith(ptr @.str10683) call void @fn_emith(ptr @.str10684) call void @fn_emith(ptr @.str10685) call void @fn_emith(ptr @.str10686) call void @fn_emith(ptr @.str10687) call void @fn_emith(ptr @.str10688) call void @fn_emith(ptr @.str10689) call void @fn_emith(ptr @.str10690) call void @fn_emith(ptr @.str10691) call void @fn_emith(ptr @.str10692) 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 @.str10693) %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 @.str10694) %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 @.str10695) %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 @.str10696) %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 @.str10697) %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 @.str10698) %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 @.str10699) %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 @.str10700) %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 @.str10701) %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 %t48 = alloca ptr %t71 = alloca ptr %t91 = alloca ptr %t104 = alloca ptr %t129 = 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 @.str10702) %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 @.str10703) %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 @.str10704) %t14 = call ptr @fn_val(ptr %t13, ptr @.str10705) store ptr %t14, ptr %retval br label %ret ifend4: %t16 = load ptr, ptr %t0 %t17 = call i32 @lp_str_eq(ptr %t16, ptr @.str10706) %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 @.str10707) %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 @.str10708) %t27 = call ptr @fn_val(ptr %t26, ptr @.str10709) store ptr %t27, ptr %retval br label %ret ifend9: %t28 = load ptr, ptr %t0 %t29 = call i32 @lp_str_eq(ptr %t28, ptr @.str10710) %t30 = icmp ne i32 %t29, 0 br i1 %t30, label %then10, label %ifend12 then10: %t31 = call ptr @fn_emit_bind(ptr @.str10711) %t32 = call ptr @fn_val(ptr %t31, ptr @.str10712) store ptr %t32, ptr %retval br label %ret ifend12: %t33 = load ptr, ptr %t0 %t34 = call i32 @lp_str_eq(ptr %t33, ptr @.str10713) %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 %LSlice, ptr %t38, i32 0, i32 1 %t42 = load i32, ptr %t41 %t43 = icmp ult i32 0, %t42 br i1 %t43, label %ixok16, label %ixbad17 ixbad17: store i32 6263, ptr @lp_site %t44 = call ptr @lp_win_stdio(i32 2) store i32 0, ptr @lp_site call i32 (ptr, ptr, ...) @fprintf(ptr %t44, ptr @.fmt_bounds, ptr @.str10714, i32 0, i32 %t42) call void @exit(i32 1) unreachable ixok16: %t45 = getelementptr inbounds ptr, ptr %t40, 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 store i32 6264, ptr @lp_site %t52 = call ptr @lp_str_concat(ptr @.str10716, ptr %t51) store i32 0, ptr @lp_site store i32 6265, ptr @lp_site %t53 = call ptr @lp_str_concat(ptr %t52, ptr @.str10717) store i32 0, ptr @lp_site call void @lp_free(ptr %t52) %t54 = call ptr @fn_emit_bind(ptr %t53) %t55 = call ptr @fn_val(ptr %t54, ptr @.str10718) store ptr %t55, ptr %retval br label %ret ifend15: %t56 = load ptr, ptr %t0 %t57 = call i32 @lp_str_eq(ptr %t56, ptr @.str10719) %t58 = icmp ne i32 %t57, 0 br i1 %t58, label %then18, label %ifend20 then18: %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 %LSlice, ptr %t61, i32 0, i32 1 %t65 = load i32, ptr %t64 %t66 = icmp ult i32 0, %t65 br i1 %t66, label %ixok21, label %ixbad22 ixbad22: store i32 6266, ptr @lp_site %t67 = call ptr @lp_win_stdio(i32 2) store i32 0, ptr @lp_site call i32 (ptr, ptr, ...) @fprintf(ptr %t67, ptr @.fmt_bounds, ptr @.str10720, i32 0, i32 %t65) call void @exit(i32 1) unreachable ixok21: %t68 = getelementptr inbounds ptr, ptr %t63, i32 0 %t69 = load ptr, ptr %t68 %t70 = call ptr @fn_emit_expr(ptr %t69) store ptr %t70, ptr %t71 %t72 = load ptr, ptr %t71 %t73 = getelementptr inbounds %Cmp_Val, ptr %t72, i32 0, i32 0 %t74 = load ptr, ptr %t73 %t75 = call ptr @fn_val(ptr %t74, ptr @.str10721) store ptr %t75, ptr %retval br label %ret ifend20: %t76 = load ptr, ptr %t0 %t77 = call i32 @lp_str_eq(ptr %t76, ptr @.str10722) %t78 = icmp ne i32 %t77, 0 br i1 %t78, label %then23, label %ifend25 then23: %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 %LSlice, ptr %t81, i32 0, i32 1 %t85 = load i32, ptr %t84 %t86 = icmp ult i32 0, %t85 br i1 %t86, label %ixok26, label %ixbad27 ixbad27: store i32 6267, ptr @lp_site %t87 = call ptr @lp_win_stdio(i32 2) store i32 0, ptr @lp_site call i32 (ptr, ptr, ...) @fprintf(ptr %t87, ptr @.fmt_bounds, ptr @.str10723, i32 0, i32 %t85) call void @exit(i32 1) unreachable ixok26: %t88 = getelementptr inbounds ptr, ptr %t83, i32 0 %t89 = load ptr, ptr %t88 %t90 = call ptr @fn_emit_expr(ptr %t89) store ptr %t90, ptr %t91 %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 %LSlice, ptr %t94, i32 0, i32 1 %t98 = load i32, ptr %t97 %t99 = icmp ult i32 1, %t98 br i1 %t99, label %ixok28, label %ixbad29 ixbad29: store i32 6268, ptr @lp_site %t100 = call ptr @lp_win_stdio(i32 2) store i32 0, ptr @lp_site call i32 (ptr, ptr, ...) @fprintf(ptr %t100, ptr @.fmt_bounds, ptr @.str10724, i32 1, i32 %t98) call void @exit(i32 1) unreachable ixok28: %t101 = getelementptr inbounds ptr, ptr %t96, i32 1 %t102 = load ptr, ptr %t101 %t103 = call ptr @fn_emit_expr(ptr %t102) store ptr %t103, ptr %t104 %t105 = load ptr, ptr %t91 %t106 = getelementptr inbounds %Cmp_Val, ptr %t105, i32 0, i32 0 %t107 = load ptr, ptr %t106 store i32 6269, ptr @lp_site %t108 = call ptr @lp_str_concat(ptr @.str10725, ptr %t107) store i32 0, ptr @lp_site store i32 6270, ptr @lp_site %t109 = call ptr @lp_str_concat(ptr %t108, ptr @.str10726) store i32 0, ptr @lp_site call void @lp_free(ptr %t108) %t110 = load ptr, ptr %t104 %t111 = getelementptr inbounds %Cmp_Val, ptr %t110, i32 0, i32 0 %t112 = load ptr, ptr %t111 store i32 6271, ptr @lp_site %t113 = call ptr @lp_str_concat(ptr %t109, ptr %t112) store i32 0, ptr @lp_site call void @lp_free(ptr %t109) store i32 6272, ptr @lp_site %t114 = call ptr @lp_str_concat(ptr %t113, ptr @.str10727) store i32 0, ptr @lp_site call void @lp_free(ptr %t113) %t115 = call ptr @fn_emit_bind(ptr %t114) %t116 = call ptr @fn_val(ptr %t115, ptr @.str10728) store ptr %t116, ptr %retval br label %ret ifend25: %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 %LSlice, ptr %t119, i32 0, i32 1 %t123 = load i32, ptr %t122 %t124 = icmp ult i32 0, %t123 br i1 %t124, label %ixok30, label %ixbad31 ixbad31: store i32 6273, ptr @lp_site %t125 = call ptr @lp_win_stdio(i32 2) store i32 0, ptr @lp_site call i32 (ptr, ptr, ...) @fprintf(ptr %t125, ptr @.fmt_bounds, ptr @.str10729, i32 0, i32 %t123) call void @exit(i32 1) unreachable ixok30: %t126 = getelementptr inbounds ptr, ptr %t121, i32 0 %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 store i32 6274, ptr @lp_site %t133 = call ptr @lp_str_concat(ptr @.str10730, ptr %t132) store i32 0, ptr @lp_site store i32 6275, ptr @lp_site %t134 = call ptr @lp_str_concat(ptr %t133, ptr @.str10731) store i32 0, ptr @lp_site call void @lp_free(ptr %t133) %t135 = call ptr @fn_emit_bind(ptr %t134) %t136 = call ptr @fn_val(ptr %t135, ptr @.str10732) store ptr %t136, ptr %retval br label %ret ret: %t137 = load ptr, ptr %retval ret ptr %t137 } define void @fn_emit_uuid_prelude() { entry: call void @fn_emith(ptr @.str10733) call void @fn_emith(ptr @.str10734) call void @fn_emith(ptr @.str10735) call void @fn_emith(ptr @.str10736) call void @fn_emith(ptr @.str10737) call void @fn_emith(ptr @.str10738) call void @fn_emith(ptr @.str10739) call void @fn_emith(ptr @.str10740) call void @fn_emith(ptr @.str10741) call void @fn_emith(ptr @.str10742) call void @fn_emith(ptr @.str10743) call void @fn_emith(ptr @.str10744) call void @fn_emith(ptr @.str10745) call void @fn_emith(ptr @.str10746) call void @fn_emith(ptr @.str10747) call void @fn_emith(ptr @.str10748) call void @fn_emith(ptr @.str10749) call void @fn_emith(ptr @.str10750) call void @fn_emith(ptr @.str10751) call void @fn_emith(ptr @.str10752) call void @fn_emith(ptr @.str10753) call void @fn_emith(ptr @.str10754) call void @fn_emith(ptr @.str10755) call void @fn_emith(ptr @.str10756) call void @fn_emith(ptr @.str10757) call void @fn_emith(ptr @.str10758) call void @fn_emith(ptr @.str10759) call void @fn_emith(ptr @.str10760) call void @fn_emith(ptr @.str10761) call void @fn_emith(ptr @.str10762) call void @fn_emith(ptr @.str10763) call void @fn_emith(ptr @.str10764) call void @fn_emith(ptr @.str10765) call void @fn_emith(ptr @.str10766) call void @fn_emith(ptr @.str10767) call void @fn_emith(ptr @.str10768) call void @fn_emith(ptr @.str10769) call void @fn_emith(ptr @.str10770) call void @fn_emith(ptr @.str10771) call void @fn_emith(ptr @.str10772) call void @fn_emith(ptr @.str10773) call void @fn_emith(ptr @.str10774) call void @fn_emith(ptr @.str10775) call void @fn_emith(ptr @.str10776) call void @fn_emith(ptr @.str10777) call void @fn_emith(ptr @.str10778) call void @fn_emith(ptr @.str10779) call void @fn_emith(ptr @.str10780) call void @fn_emith(ptr @.str10781) call void @fn_emith(ptr @.str10782) call void @fn_emith(ptr @.str10783) call void @fn_emith(ptr @.str10784) call void @fn_emith(ptr @.str10785) call void @fn_emith(ptr @.str10786) call void @fn_emith(ptr @.str10787) call void @fn_emith(ptr @.str10788) call void @fn_emith(ptr @.str10789) call void @fn_emith(ptr @.str10790) call void @fn_emith(ptr @.str10791) call void @fn_emith(ptr @.str10792) call void @fn_emith(ptr @.str10793) call void @fn_emith(ptr @.str10794) call void @fn_emith(ptr @.str10795) call void @fn_emith(ptr @.str10796) call void @fn_emith(ptr @.str10797) call void @fn_emith(ptr @.str10798) call void @fn_emith(ptr @.str10799) call void @fn_emith(ptr @.str10800) call void @fn_emith(ptr @.str10801) call void @fn_emith(ptr @.str10802) call void @fn_emith(ptr @.str10803) call void @fn_emith(ptr @.str10804) call void @fn_emith(ptr @.str10805) call void @fn_emith(ptr @.str10806) 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 @.str10807) %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 @.str10808) %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 @.str10809) %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 @.str10810) %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 @.str10811) %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 @.str10812) %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 @.str10813) %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 %t17 = alloca ptr %t24 = alloca ptr %t46 = alloca ptr %t59 = alloca ptr %t72 = alloca ptr %t106 = alloca ptr %t119 = alloca ptr %t132 = alloca ptr %t166 = alloca ptr %t179 = alloca ptr %t192 = alloca ptr %t226 = alloca ptr %t239 = alloca ptr %t252 = alloca ptr %t265 = alloca ptr %t304 = alloca ptr %t317 = alloca ptr %t330 = alloca ptr %t360 = alloca ptr %t373 = alloca ptr %t386 = 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 @.str10814) %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 %LSlice, ptr %t7, i32 0, i32 1 %t11 = load i32, ptr %t10 %t12 = icmp ult i32 0, %t11 br i1 %t12, label %ixok3, label %ixbad4 ixbad4: store i32 6276, ptr @lp_site %t13 = call ptr @lp_win_stdio(i32 2) store i32 0, ptr @lp_site call i32 (ptr, ptr, ...) @fprintf(ptr %t13, ptr @.fmt_bounds, ptr @.str10815, i32 0, i32 %t11) call void @exit(i32 1) unreachable ixok3: %t14 = getelementptr inbounds ptr, ptr %t9, 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 0 %t20 = load ptr, ptr %t19 store i32 6277, ptr @lp_site %t21 = call ptr @lp_str_concat(ptr @.str10817, ptr %t20) store i32 0, ptr @lp_site store i32 6278, ptr @lp_site %t22 = call ptr @lp_str_concat(ptr %t21, ptr @.str10818) store i32 0, ptr @lp_site call void @lp_free(ptr %t21) %t23 = call ptr @fn_emit_bind(ptr %t22) store ptr %t23, ptr %t24 %t25 = load ptr, ptr %t24 store i32 6279, ptr @lp_site %t26 = call ptr @lp_str_concat(ptr @.str10819, ptr %t25) store i32 0, ptr @lp_site store i32 6280, ptr @lp_site %t27 = call ptr @lp_str_concat(ptr %t26, ptr @.str10820) store i32 0, ptr @lp_site call void @lp_free(ptr %t26) %t28 = call ptr @fn_emit_bind(ptr %t27) %t29 = call ptr @fn_val(ptr %t28, ptr @.str10821) store ptr %t29, ptr %retval br label %ret ifend2: store i32 1, ptr @g_g_uses_noisert %t30 = load ptr, ptr %t0 %t31 = call i32 @lp_str_eq(ptr %t30, ptr @.str10822) %t32 = icmp ne i32 %t31, 0 br i1 %t32, label %then5, label %ifend7 then5: %t33 = load ptr, ptr %t1 call void @fn_noise_arity(ptr %t33, ptr @.str10823, i32 3) %t34 = load ptr, ptr %t1 %t35 = getelementptr inbounds %Cmp_Node, ptr %t34, i32 0, i32 7 %t36 = load ptr, ptr %t35 %t37 = getelementptr inbounds %LSlice, ptr %t36, i32 0, i32 0 %t38 = load ptr, ptr %t37 %t39 = getelementptr inbounds %LSlice, ptr %t36, i32 0, i32 1 %t40 = load i32, ptr %t39 %t41 = icmp ult i32 0, %t40 br i1 %t41, label %ixok8, label %ixbad9 ixbad9: store i32 6281, ptr @lp_site %t42 = call ptr @lp_win_stdio(i32 2) store i32 0, ptr @lp_site call i32 (ptr, ptr, ...) @fprintf(ptr %t42, ptr @.fmt_bounds, ptr @.str10824, i32 0, i32 %t40) call void @exit(i32 1) unreachable ixok8: %t43 = getelementptr inbounds ptr, ptr %t38, i32 0 %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 %LSlice, ptr %t49, i32 0, i32 1 %t53 = load i32, ptr %t52 %t54 = icmp ult i32 1, %t53 br i1 %t54, label %ixok10, label %ixbad11 ixbad11: store i32 6282, ptr @lp_site %t55 = call ptr @lp_win_stdio(i32 2) store i32 0, ptr @lp_site call i32 (ptr, ptr, ...) @fprintf(ptr %t55, ptr @.fmt_bounds, ptr @.str10825, i32 1, i32 %t53) call void @exit(i32 1) unreachable ixok10: %t56 = getelementptr inbounds ptr, ptr %t51, i32 1 %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 %LSlice, ptr %t62, i32 0, i32 1 %t66 = load i32, ptr %t65 %t67 = icmp ult i32 2, %t66 br i1 %t67, label %ixok12, label %ixbad13 ixbad13: store i32 6283, ptr @lp_site %t68 = call ptr @lp_win_stdio(i32 2) store i32 0, ptr @lp_site call i32 (ptr, ptr, ...) @fprintf(ptr %t68, ptr @.fmt_bounds, ptr @.str10826, i32 2, i32 %t66) call void @exit(i32 1) unreachable ixok12: %t69 = getelementptr inbounds ptr, ptr %t64, i32 2 %t70 = load ptr, ptr %t69 %t71 = call ptr @fn_emit_expr(ptr %t70) store ptr %t71, ptr %t72 %t73 = load ptr, ptr %t46 %t74 = getelementptr inbounds %Cmp_Val, ptr %t73, i32 0, i32 0 %t75 = load ptr, ptr %t74 store i32 6284, ptr @lp_site %t76 = call ptr @lp_str_concat(ptr @.str10827, ptr %t75) store i32 0, ptr @lp_site store i32 6285, ptr @lp_site %t77 = call ptr @lp_str_concat(ptr %t76, ptr @.str10828) store i32 0, ptr @lp_site call void @lp_free(ptr %t76) %t78 = load ptr, ptr %t59 %t79 = getelementptr inbounds %Cmp_Val, ptr %t78, i32 0, i32 0 %t80 = load ptr, ptr %t79 store i32 6286, ptr @lp_site %t81 = call ptr @lp_str_concat(ptr %t77, ptr %t80) store i32 0, ptr @lp_site call void @lp_free(ptr %t77) store i32 6287, ptr @lp_site %t82 = call ptr @lp_str_concat(ptr %t81, ptr @.str10829) store i32 0, ptr @lp_site call void @lp_free(ptr %t81) %t83 = load ptr, ptr %t72 %t84 = getelementptr inbounds %Cmp_Val, ptr %t83, i32 0, i32 0 %t85 = load ptr, ptr %t84 store i32 6288, ptr @lp_site %t86 = call ptr @lp_str_concat(ptr %t82, ptr %t85) store i32 0, ptr @lp_site call void @lp_free(ptr %t82) store i32 6289, ptr @lp_site %t87 = call ptr @lp_str_concat(ptr %t86, ptr @.str10830) store i32 0, ptr @lp_site call void @lp_free(ptr %t86) %t88 = call ptr @fn_emit_bind(ptr %t87) %t89 = call ptr @fn_val(ptr %t88, ptr @.str10831) store ptr %t89, ptr %retval br label %ret ifend7: %t90 = load ptr, ptr %t0 %t91 = call i32 @lp_str_eq(ptr %t90, ptr @.str10832) %t92 = icmp ne i32 %t91, 0 br i1 %t92, label %then14, label %ifend16 then14: %t93 = load ptr, ptr %t1 call void @fn_noise_arity(ptr %t93, ptr @.str10833, i32 3) %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 %LSlice, ptr %t96, i32 0, i32 1 %t100 = load i32, ptr %t99 %t101 = icmp ult i32 0, %t100 br i1 %t101, label %ixok17, label %ixbad18 ixbad18: store i32 6290, ptr @lp_site %t102 = call ptr @lp_win_stdio(i32 2) store i32 0, ptr @lp_site call i32 (ptr, ptr, ...) @fprintf(ptr %t102, ptr @.fmt_bounds, ptr @.str10834, i32 0, i32 %t100) call void @exit(i32 1) unreachable ixok17: %t103 = getelementptr inbounds ptr, ptr %t98, i32 0 %t104 = load ptr, ptr %t103 %t105 = call ptr @fn_emit_expr(ptr %t104) store ptr %t105, ptr %t106 %t107 = load ptr, ptr %t1 %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 = getelementptr inbounds %LSlice, ptr %t109, i32 0, i32 1 %t113 = load i32, ptr %t112 %t114 = icmp ult i32 1, %t113 br i1 %t114, label %ixok19, label %ixbad20 ixbad20: store i32 6291, ptr @lp_site %t115 = call ptr @lp_win_stdio(i32 2) store i32 0, ptr @lp_site call i32 (ptr, ptr, ...) @fprintf(ptr %t115, ptr @.fmt_bounds, ptr @.str10835, i32 1, i32 %t113) call void @exit(i32 1) unreachable ixok19: %t116 = getelementptr inbounds ptr, ptr %t111, i32 1 %t117 = load ptr, ptr %t116 %t118 = call ptr @fn_emit_expr(ptr %t117) store ptr %t118, ptr %t119 %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 %LSlice, ptr %t122, i32 0, i32 1 %t126 = load i32, ptr %t125 %t127 = icmp ult i32 2, %t126 br i1 %t127, label %ixok21, label %ixbad22 ixbad22: store i32 6292, ptr @lp_site %t128 = call ptr @lp_win_stdio(i32 2) store i32 0, ptr @lp_site call i32 (ptr, ptr, ...) @fprintf(ptr %t128, ptr @.fmt_bounds, ptr @.str10836, i32 2, i32 %t126) call void @exit(i32 1) unreachable ixok21: %t129 = getelementptr inbounds ptr, ptr %t124, i32 2 %t130 = load ptr, ptr %t129 %t131 = call ptr @fn_emit_expr(ptr %t130) store ptr %t131, ptr %t132 %t133 = load ptr, ptr %t106 %t134 = getelementptr inbounds %Cmp_Val, ptr %t133, i32 0, i32 0 %t135 = load ptr, ptr %t134 store i32 6293, ptr @lp_site %t136 = call ptr @lp_str_concat(ptr @.str10837, ptr %t135) store i32 0, ptr @lp_site store i32 6294, ptr @lp_site %t137 = call ptr @lp_str_concat(ptr %t136, ptr @.str10838) store i32 0, ptr @lp_site call void @lp_free(ptr %t136) %t138 = load ptr, ptr %t119 %t139 = getelementptr inbounds %Cmp_Val, ptr %t138, i32 0, i32 0 %t140 = load ptr, ptr %t139 store i32 6295, ptr @lp_site %t141 = call ptr @lp_str_concat(ptr %t137, ptr %t140) store i32 0, ptr @lp_site call void @lp_free(ptr %t137) store i32 6296, ptr @lp_site %t142 = call ptr @lp_str_concat(ptr %t141, ptr @.str10839) store i32 0, ptr @lp_site call void @lp_free(ptr %t141) %t143 = load ptr, ptr %t132 %t144 = getelementptr inbounds %Cmp_Val, ptr %t143, i32 0, i32 0 %t145 = load ptr, ptr %t144 store i32 6297, ptr @lp_site %t146 = call ptr @lp_str_concat(ptr %t142, ptr %t145) store i32 0, ptr @lp_site call void @lp_free(ptr %t142) store i32 6298, ptr @lp_site %t147 = call ptr @lp_str_concat(ptr %t146, ptr @.str10840) store i32 0, ptr @lp_site call void @lp_free(ptr %t146) %t148 = call ptr @fn_emit_bind(ptr %t147) %t149 = call ptr @fn_val(ptr %t148, ptr @.str10841) store ptr %t149, ptr %retval br label %ret ifend16: %t150 = load ptr, ptr %t0 %t151 = call i32 @lp_str_eq(ptr %t150, ptr @.str10842) %t152 = icmp ne i32 %t151, 0 br i1 %t152, label %then23, label %ifend25 then23: %t153 = load ptr, ptr %t1 call void @fn_noise_arity(ptr %t153, ptr @.str10843, i32 3) %t154 = load ptr, ptr %t1 %t155 = getelementptr inbounds %Cmp_Node, ptr %t154, i32 0, i32 7 %t156 = load ptr, ptr %t155 %t157 = getelementptr inbounds %LSlice, ptr %t156, i32 0, i32 0 %t158 = load ptr, ptr %t157 %t159 = getelementptr inbounds %LSlice, ptr %t156, i32 0, i32 1 %t160 = load i32, ptr %t159 %t161 = icmp ult i32 0, %t160 br i1 %t161, label %ixok26, label %ixbad27 ixbad27: store i32 6299, ptr @lp_site %t162 = call ptr @lp_win_stdio(i32 2) store i32 0, ptr @lp_site call i32 (ptr, ptr, ...) @fprintf(ptr %t162, ptr @.fmt_bounds, ptr @.str10844, i32 0, i32 %t160) call void @exit(i32 1) unreachable ixok26: %t163 = getelementptr inbounds ptr, ptr %t158, i32 0 %t164 = load ptr, ptr %t163 %t165 = call ptr @fn_emit_expr(ptr %t164) store ptr %t165, ptr %t166 %t167 = load ptr, ptr %t1 %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 %LSlice, ptr %t169, i32 0, i32 1 %t173 = load i32, ptr %t172 %t174 = icmp ult i32 1, %t173 br i1 %t174, label %ixok28, label %ixbad29 ixbad29: store i32 6300, ptr @lp_site %t175 = call ptr @lp_win_stdio(i32 2) store i32 0, ptr @lp_site call i32 (ptr, ptr, ...) @fprintf(ptr %t175, ptr @.fmt_bounds, ptr @.str10845, i32 1, i32 %t173) call void @exit(i32 1) unreachable ixok28: %t176 = getelementptr inbounds ptr, ptr %t171, 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 %LSlice, ptr %t182, i32 0, i32 1 %t186 = load i32, ptr %t185 %t187 = icmp ult i32 2, %t186 br i1 %t187, label %ixok30, label %ixbad31 ixbad31: store i32 6301, ptr @lp_site %t188 = call ptr @lp_win_stdio(i32 2) store i32 0, ptr @lp_site call i32 (ptr, ptr, ...) @fprintf(ptr %t188, ptr @.fmt_bounds, ptr @.str10846, i32 2, i32 %t186) call void @exit(i32 1) unreachable ixok30: %t189 = getelementptr inbounds ptr, ptr %t184, i32 2 %t190 = load ptr, ptr %t189 %t191 = call ptr @fn_emit_expr(ptr %t190) store ptr %t191, ptr %t192 %t193 = load ptr, ptr %t166 %t194 = getelementptr inbounds %Cmp_Val, ptr %t193, i32 0, i32 0 %t195 = load ptr, ptr %t194 store i32 6302, ptr @lp_site %t196 = call ptr @lp_str_concat(ptr @.str10847, ptr %t195) store i32 0, ptr @lp_site store i32 6303, ptr @lp_site %t197 = call ptr @lp_str_concat(ptr %t196, ptr @.str10848) store i32 0, ptr @lp_site call void @lp_free(ptr %t196) %t198 = load ptr, ptr %t179 %t199 = getelementptr inbounds %Cmp_Val, ptr %t198, i32 0, i32 0 %t200 = load ptr, ptr %t199 store i32 6304, ptr @lp_site %t201 = call ptr @lp_str_concat(ptr %t197, ptr %t200) store i32 0, ptr @lp_site call void @lp_free(ptr %t197) store i32 6305, ptr @lp_site %t202 = call ptr @lp_str_concat(ptr %t201, ptr @.str10849) store i32 0, ptr @lp_site call void @lp_free(ptr %t201) %t203 = load ptr, ptr %t192 %t204 = getelementptr inbounds %Cmp_Val, ptr %t203, i32 0, i32 0 %t205 = load ptr, ptr %t204 store i32 6306, ptr @lp_site %t206 = call ptr @lp_str_concat(ptr %t202, ptr %t205) store i32 0, ptr @lp_site call void @lp_free(ptr %t202) store i32 6307, ptr @lp_site %t207 = call ptr @lp_str_concat(ptr %t206, ptr @.str10850) store i32 0, ptr @lp_site call void @lp_free(ptr %t206) %t208 = call ptr @fn_emit_bind(ptr %t207) %t209 = call ptr @fn_val(ptr %t208, ptr @.str10851) store ptr %t209, ptr %retval br label %ret ifend25: %t210 = load ptr, ptr %t0 %t211 = call i32 @lp_str_eq(ptr %t210, ptr @.str10852) %t212 = icmp ne i32 %t211, 0 br i1 %t212, label %then32, label %ifend34 then32: %t213 = load ptr, ptr %t1 call void @fn_noise_arity(ptr %t213, ptr @.str10853, i32 4) store i32 1, ptr @g_g_uses_mathrt %t214 = load ptr, ptr %t1 %t215 = getelementptr inbounds %Cmp_Node, ptr %t214, i32 0, i32 7 %t216 = load ptr, ptr %t215 %t217 = getelementptr inbounds %LSlice, ptr %t216, i32 0, i32 0 %t218 = load ptr, ptr %t217 %t219 = getelementptr inbounds %LSlice, ptr %t216, i32 0, i32 1 %t220 = load i32, ptr %t219 %t221 = icmp ult i32 0, %t220 br i1 %t221, label %ixok35, label %ixbad36 ixbad36: store i32 6308, ptr @lp_site %t222 = call ptr @lp_win_stdio(i32 2) store i32 0, ptr @lp_site call i32 (ptr, ptr, ...) @fprintf(ptr %t222, ptr @.fmt_bounds, ptr @.str10854, i32 0, i32 %t220) call void @exit(i32 1) unreachable ixok35: %t223 = getelementptr inbounds ptr, ptr %t218, i32 0 %t224 = load ptr, ptr %t223 %t225 = call ptr @fn_emit_expr(ptr %t224) store ptr %t225, ptr %t226 %t227 = load ptr, ptr %t1 %t228 = getelementptr inbounds %Cmp_Node, ptr %t227, i32 0, i32 7 %t229 = load ptr, ptr %t228 %t230 = getelementptr inbounds %LSlice, ptr %t229, i32 0, i32 0 %t231 = load ptr, ptr %t230 %t232 = getelementptr inbounds %LSlice, ptr %t229, i32 0, i32 1 %t233 = load i32, ptr %t232 %t234 = icmp ult i32 1, %t233 br i1 %t234, label %ixok37, label %ixbad38 ixbad38: store i32 6309, ptr @lp_site %t235 = call ptr @lp_win_stdio(i32 2) store i32 0, ptr @lp_site call i32 (ptr, ptr, ...) @fprintf(ptr %t235, ptr @.fmt_bounds, ptr @.str10855, i32 1, i32 %t233) call void @exit(i32 1) unreachable ixok37: %t236 = getelementptr inbounds ptr, ptr %t231, i32 1 %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 %LSlice, ptr %t242, i32 0, i32 1 %t246 = load i32, ptr %t245 %t247 = icmp ult i32 2, %t246 br i1 %t247, label %ixok39, label %ixbad40 ixbad40: store i32 6310, ptr @lp_site %t248 = call ptr @lp_win_stdio(i32 2) store i32 0, ptr @lp_site call i32 (ptr, ptr, ...) @fprintf(ptr %t248, ptr @.fmt_bounds, ptr @.str10856, i32 2, i32 %t246) call void @exit(i32 1) unreachable ixok39: %t249 = getelementptr inbounds ptr, ptr %t244, i32 2 %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 %LSlice, ptr %t255, i32 0, i32 1 %t259 = load i32, ptr %t258 %t260 = icmp ult i32 3, %t259 br i1 %t260, label %ixok41, label %ixbad42 ixbad42: store i32 6311, ptr @lp_site %t261 = call ptr @lp_win_stdio(i32 2) store i32 0, ptr @lp_site call i32 (ptr, ptr, ...) @fprintf(ptr %t261, ptr @.fmt_bounds, ptr @.str10857, i32 3, i32 %t259) call void @exit(i32 1) unreachable ixok41: %t262 = getelementptr inbounds ptr, ptr %t257, i32 3 %t263 = load ptr, ptr %t262 %t264 = call ptr @fn_emit_expr(ptr %t263) store ptr %t264, ptr %t265 %t266 = load ptr, ptr %t226 %t267 = getelementptr inbounds %Cmp_Val, ptr %t266, i32 0, i32 0 %t268 = load ptr, ptr %t267 store i32 6312, ptr @lp_site %t269 = call ptr @lp_str_concat(ptr @.str10858, ptr %t268) store i32 0, ptr @lp_site store i32 6313, ptr @lp_site %t270 = call ptr @lp_str_concat(ptr %t269, ptr @.str10859) store i32 0, ptr @lp_site call void @lp_free(ptr %t269) %t271 = load ptr, ptr %t239 %t272 = getelementptr inbounds %Cmp_Val, ptr %t271, i32 0, i32 0 %t273 = load ptr, ptr %t272 store i32 6314, ptr @lp_site %t274 = call ptr @lp_str_concat(ptr %t270, ptr %t273) store i32 0, ptr @lp_site call void @lp_free(ptr %t270) store i32 6315, ptr @lp_site %t275 = call ptr @lp_str_concat(ptr %t274, ptr @.str10860) store i32 0, ptr @lp_site call void @lp_free(ptr %t274) %t276 = load ptr, ptr %t252 %t277 = getelementptr inbounds %Cmp_Val, ptr %t276, i32 0, i32 0 %t278 = load ptr, ptr %t277 store i32 6316, ptr @lp_site %t279 = call ptr @lp_str_concat(ptr %t275, ptr %t278) store i32 0, ptr @lp_site call void @lp_free(ptr %t275) store i32 6317, ptr @lp_site %t280 = call ptr @lp_str_concat(ptr %t279, ptr @.str10861) store i32 0, ptr @lp_site call void @lp_free(ptr %t279) %t281 = load ptr, ptr %t265 %t282 = getelementptr inbounds %Cmp_Val, ptr %t281, i32 0, i32 0 %t283 = load ptr, ptr %t282 store i32 6318, ptr @lp_site %t284 = call ptr @lp_str_concat(ptr %t280, ptr %t283) store i32 0, ptr @lp_site call void @lp_free(ptr %t280) store i32 6319, ptr @lp_site %t285 = call ptr @lp_str_concat(ptr %t284, ptr @.str10862) store i32 0, ptr @lp_site call void @lp_free(ptr %t284) %t286 = call ptr @fn_emit_bind(ptr %t285) %t287 = call ptr @fn_val(ptr %t286, ptr @.str10863) store ptr %t287, ptr %retval br label %ret ifend34: %t288 = load ptr, ptr %t0 %t289 = call i32 @lp_str_eq(ptr %t288, ptr @.str10864) %t290 = icmp ne i32 %t289, 0 br i1 %t290, label %then43, label %ifend45 then43: %t291 = load ptr, ptr %t1 call void @fn_noise_arity(ptr %t291, ptr @.str10865, i32 3) store i32 1, ptr @g_g_uses_mathrt %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 %LSlice, ptr %t294, i32 0, i32 1 %t298 = load i32, ptr %t297 %t299 = icmp ult i32 0, %t298 br i1 %t299, label %ixok46, label %ixbad47 ixbad47: store i32 6320, ptr @lp_site %t300 = call ptr @lp_win_stdio(i32 2) store i32 0, ptr @lp_site call i32 (ptr, ptr, ...) @fprintf(ptr %t300, ptr @.fmt_bounds, ptr @.str10866, i32 0, i32 %t298) call void @exit(i32 1) unreachable ixok46: %t301 = getelementptr inbounds ptr, ptr %t296, 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 %LSlice, ptr %t307, i32 0, i32 1 %t311 = load i32, ptr %t310 %t312 = icmp ult i32 1, %t311 br i1 %t312, label %ixok48, label %ixbad49 ixbad49: store i32 6321, ptr @lp_site %t313 = call ptr @lp_win_stdio(i32 2) store i32 0, ptr @lp_site call i32 (ptr, ptr, ...) @fprintf(ptr %t313, ptr @.fmt_bounds, ptr @.str10867, i32 1, i32 %t311) call void @exit(i32 1) unreachable ixok48: %t314 = getelementptr inbounds ptr, ptr %t309, i32 1 %t315 = load ptr, ptr %t314 %t316 = call ptr @fn_emit_expr(ptr %t315) store ptr %t316, ptr %t317 %t318 = load ptr, ptr %t1 %t319 = getelementptr inbounds %Cmp_Node, ptr %t318, i32 0, i32 7 %t320 = load ptr, ptr %t319 %t321 = getelementptr inbounds %LSlice, ptr %t320, i32 0, i32 0 %t322 = load ptr, ptr %t321 %t323 = getelementptr inbounds %LSlice, ptr %t320, i32 0, i32 1 %t324 = load i32, ptr %t323 %t325 = icmp ult i32 2, %t324 br i1 %t325, label %ixok50, label %ixbad51 ixbad51: store i32 6322, ptr @lp_site %t326 = call ptr @lp_win_stdio(i32 2) store i32 0, ptr @lp_site call i32 (ptr, ptr, ...) @fprintf(ptr %t326, ptr @.fmt_bounds, ptr @.str10868, i32 2, i32 %t324) call void @exit(i32 1) unreachable ixok50: %t327 = getelementptr inbounds ptr, ptr %t322, i32 2 %t328 = load ptr, ptr %t327 %t329 = call ptr @fn_emit_expr(ptr %t328) store ptr %t329, ptr %t330 %t331 = load ptr, ptr %t304 %t332 = getelementptr inbounds %Cmp_Val, ptr %t331, i32 0, i32 0 %t333 = load ptr, ptr %t332 store i32 6323, ptr @lp_site %t334 = call ptr @lp_str_concat(ptr @.str10869, ptr %t333) store i32 0, ptr @lp_site store i32 6324, ptr @lp_site %t335 = call ptr @lp_str_concat(ptr %t334, ptr @.str10870) store i32 0, ptr @lp_site call void @lp_free(ptr %t334) %t336 = load ptr, ptr %t317 %t337 = getelementptr inbounds %Cmp_Val, ptr %t336, i32 0, i32 0 %t338 = load ptr, ptr %t337 store i32 6325, ptr @lp_site %t339 = call ptr @lp_str_concat(ptr %t335, ptr %t338) store i32 0, ptr @lp_site call void @lp_free(ptr %t335) store i32 6326, ptr @lp_site %t340 = call ptr @lp_str_concat(ptr %t339, ptr @.str10871) store i32 0, ptr @lp_site call void @lp_free(ptr %t339) %t341 = load ptr, ptr %t330 %t342 = getelementptr inbounds %Cmp_Val, ptr %t341, i32 0, i32 0 %t343 = load ptr, ptr %t342 store i32 6327, ptr @lp_site %t344 = call ptr @lp_str_concat(ptr %t340, ptr %t343) store i32 0, ptr @lp_site call void @lp_free(ptr %t340) store i32 6328, ptr @lp_site %t345 = call ptr @lp_str_concat(ptr %t344, ptr @.str10872) store i32 0, ptr @lp_site call void @lp_free(ptr %t344) %t346 = call ptr @fn_emit_bind(ptr %t345) %t347 = call ptr @fn_val(ptr %t346, ptr @.str10873) store ptr %t347, ptr %retval br label %ret ifend45: %t348 = load ptr, ptr %t1 %t349 = getelementptr inbounds %Cmp_Node, ptr %t348, i32 0, i32 7 %t350 = load ptr, ptr %t349 %t351 = getelementptr inbounds %LSlice, ptr %t350, i32 0, i32 0 %t352 = load ptr, ptr %t351 %t353 = getelementptr inbounds %LSlice, ptr %t350, i32 0, i32 1 %t354 = load i32, ptr %t353 %t355 = icmp ult i32 0, %t354 br i1 %t355, label %ixok52, label %ixbad53 ixbad53: store i32 6329, ptr @lp_site %t356 = call ptr @lp_win_stdio(i32 2) store i32 0, ptr @lp_site call i32 (ptr, ptr, ...) @fprintf(ptr %t356, ptr @.fmt_bounds, ptr @.str10874, i32 0, i32 %t354) call void @exit(i32 1) unreachable ixok52: %t357 = getelementptr inbounds ptr, ptr %t352, i32 0 %t358 = load ptr, ptr %t357 %t359 = call ptr @fn_emit_expr(ptr %t358) store ptr %t359, ptr %t360 %t361 = load ptr, ptr %t1 %t362 = getelementptr inbounds %Cmp_Node, ptr %t361, i32 0, i32 7 %t363 = load ptr, ptr %t362 %t364 = getelementptr inbounds %LSlice, ptr %t363, i32 0, i32 0 %t365 = load ptr, ptr %t364 %t366 = getelementptr inbounds %LSlice, ptr %t363, i32 0, i32 1 %t367 = load i32, ptr %t366 %t368 = icmp ult i32 1, %t367 br i1 %t368, label %ixok54, label %ixbad55 ixbad55: store i32 6330, ptr @lp_site %t369 = call ptr @lp_win_stdio(i32 2) store i32 0, ptr @lp_site call i32 (ptr, ptr, ...) @fprintf(ptr %t369, ptr @.fmt_bounds, ptr @.str10875, i32 1, i32 %t367) call void @exit(i32 1) unreachable ixok54: %t370 = getelementptr inbounds ptr, ptr %t365, i32 1 %t371 = load ptr, ptr %t370 %t372 = call ptr @fn_emit_expr(ptr %t371) store ptr %t372, ptr %t373 %t374 = load ptr, ptr %t1 %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 %LSlice, ptr %t376, i32 0, i32 1 %t380 = load i32, ptr %t379 %t381 = icmp ult i32 2, %t380 br i1 %t381, label %ixok56, label %ixbad57 ixbad57: store i32 6331, ptr @lp_site %t382 = call ptr @lp_win_stdio(i32 2) store i32 0, ptr @lp_site call i32 (ptr, ptr, ...) @fprintf(ptr %t382, ptr @.fmt_bounds, ptr @.str10876, i32 2, i32 %t380) call void @exit(i32 1) unreachable ixok56: %t383 = getelementptr inbounds ptr, ptr %t378, i32 2 %t384 = load ptr, ptr %t383 %t385 = call ptr @fn_emit_expr(ptr %t384) store ptr %t385, ptr %t386 %t387 = load ptr, ptr %t360 %t388 = getelementptr inbounds %Cmp_Val, ptr %t387, i32 0, i32 0 %t389 = load ptr, ptr %t388 store i32 6332, ptr @lp_site %t390 = call ptr @lp_str_concat(ptr @.str10877, ptr %t389) store i32 0, ptr @lp_site store i32 6333, ptr @lp_site %t391 = call ptr @lp_str_concat(ptr %t390, ptr @.str10878) store i32 0, ptr @lp_site call void @lp_free(ptr %t390) %t392 = load ptr, ptr %t373 %t393 = getelementptr inbounds %Cmp_Val, ptr %t392, i32 0, i32 0 %t394 = load ptr, ptr %t393 store i32 6334, ptr @lp_site %t395 = call ptr @lp_str_concat(ptr %t391, ptr %t394) store i32 0, ptr @lp_site call void @lp_free(ptr %t391) store i32 6335, ptr @lp_site %t396 = call ptr @lp_str_concat(ptr %t395, ptr @.str10879) store i32 0, ptr @lp_site call void @lp_free(ptr %t395) %t397 = load ptr, ptr %t386 %t398 = getelementptr inbounds %Cmp_Val, ptr %t397, i32 0, i32 0 %t399 = load ptr, ptr %t398 store i32 6336, ptr @lp_site %t400 = call ptr @lp_str_concat(ptr %t396, ptr %t399) store i32 0, ptr @lp_site call void @lp_free(ptr %t396) store i32 6337, ptr @lp_site %t401 = call ptr @lp_str_concat(ptr %t400, ptr @.str10880) store i32 0, ptr @lp_site call void @lp_free(ptr %t400) %t402 = call ptr @fn_emit_bind(ptr %t401) %t403 = call ptr @fn_val(ptr %t402, ptr @.str10881) store ptr %t403, ptr %retval br label %ret ret: %t404 = load ptr, ptr %retval ret ptr %t404 } define void @fn_emit_noise_prelude() { entry: call void @fn_emith(ptr @.str10882) call void @fn_emith(ptr @.str10883) call void @fn_emith(ptr @.str10884) call void @fn_emith(ptr @.str10885) call void @fn_emith(ptr @.str10886) call void @fn_emith(ptr @.str10887) call void @fn_emith(ptr @.str10888) call void @fn_emith(ptr @.str10889) call void @fn_emith(ptr @.str10890) call void @fn_emith(ptr @.str10891) call void @fn_emith(ptr @.str10892) call void @fn_emith(ptr @.str10893) call void @fn_emith(ptr @.str10894) call void @fn_emith(ptr @.str10895) call void @fn_emith(ptr @.str10896) call void @fn_emith(ptr @.str10897) call void @fn_emith(ptr @.str10898) call void @fn_emith(ptr @.str10899) call void @fn_emith(ptr @.str10900) call void @fn_emith(ptr @.str10901) call void @fn_emith(ptr @.str10902) call void @fn_emith(ptr @.str10903) call void @fn_emith(ptr @.str10904) call void @fn_emith(ptr @.str10905) call void @fn_emith(ptr @.str10906) call void @fn_emith(ptr @.str10907) call void @fn_emith(ptr @.str10908) call void @fn_emith(ptr @.str10909) call void @fn_emith(ptr @.str10910) call void @fn_emith(ptr @.str10911) call void @fn_emith(ptr @.str10912) call void @fn_emith(ptr @.str10913) call void @fn_emith(ptr @.str10914) call void @fn_emith(ptr @.str10915) call void @fn_emith(ptr @.str10916) call void @fn_emith(ptr @.str10917) call void @fn_emith(ptr @.str10918) call void @fn_emith(ptr @.str10919) call void @fn_emith(ptr @.str10920) call void @fn_emith(ptr @.str10921) call void @fn_emith(ptr @.str10922) call void @fn_emith(ptr @.str10923) call void @fn_emith(ptr @.str10924) call void @fn_emith(ptr @.str10925) call void @fn_emith(ptr @.str10926) call void @fn_emith(ptr @.str10927) call void @fn_emith(ptr @.str10928) call void @fn_emith(ptr @.str10929) call void @fn_emith(ptr @.str10930) call void @fn_emith(ptr @.str10931) call void @fn_emith(ptr @.str10932) call void @fn_emith(ptr @.str10933) call void @fn_emith(ptr @.str10934) call void @fn_emith(ptr @.str10935) call void @fn_emith(ptr @.str10936) call void @fn_emith(ptr @.str10937) call void @fn_emith(ptr @.str10938) call void @fn_emith(ptr @.str10939) call void @fn_emith(ptr @.str10940) call void @fn_emith(ptr @.str10941) call void @fn_emith(ptr @.str10942) call void @fn_emith(ptr @.str10943) call void @fn_emith(ptr @.str10944) call void @fn_emith(ptr @.str10945) call void @fn_emith(ptr @.str10946) call void @fn_emith(ptr @.str10947) call void @fn_emith(ptr @.str10948) call void @fn_emith(ptr @.str10949) call void @fn_emith(ptr @.str10950) call void @fn_emith(ptr @.str10951) call void @fn_emith(ptr @.str10952) call void @fn_emith(ptr @.str10953) call void @fn_emith(ptr @.str10954) call void @fn_emith(ptr @.str10955) call void @fn_emith(ptr @.str10956) call void @fn_emith(ptr @.str10957) call void @fn_emith(ptr @.str10958) call void @fn_emith(ptr @.str10959) call void @fn_emith(ptr @.str10960) call void @fn_emith(ptr @.str10961) call void @fn_emith(ptr @.str10962) call void @fn_emith(ptr @.str10963) call void @fn_emith(ptr @.str10964) call void @fn_emith(ptr @.str10965) call void @fn_emit_noise_cellular() br label %ret ret: ret void } define void @fn_emit_noise_cellular() { entry: call void @fn_emith(ptr @.str10966) call void @fn_emith(ptr @.str10967) call void @fn_emith(ptr @.str10968) call void @fn_emith(ptr @.str10969) call void @fn_emith(ptr @.str10970) call void @fn_emith(ptr @.str10971) call void @fn_emith(ptr @.str10972) call void @fn_emith(ptr @.str10973) call void @fn_emith(ptr @.str10974) call void @fn_emith(ptr @.str10975) call void @fn_emith(ptr @.str10976) call void @fn_emith(ptr @.str10977) call void @fn_emith(ptr @.str10978) call void @fn_emith(ptr @.str10979) call void @fn_emith(ptr @.str10980) call void @fn_emith(ptr @.str10981) call void @fn_emith(ptr @.str10982) call void @fn_emith(ptr @.str10983) call void @fn_emith(ptr @.str10984) call void @fn_emith(ptr @.str10985) call void @fn_emith(ptr @.str10986) call void @fn_emith(ptr @.str10987) call void @fn_emith(ptr @.str10988) call void @fn_emith(ptr @.str10989) br label %ret ret: ret void } define void @fn_noise_arity(ptr %arg_e, ptr %arg_meth, i32 %arg_n) { entry: %t0 = alloca ptr %t1 = alloca ptr %t2 = alloca i32 store ptr %arg_e, ptr %t0 store ptr %arg_meth, ptr %t1 store i32 %arg_n, 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 1 %t7 = load i32, ptr %t6 %t8 = load i32, ptr %t2 %t9 = icmp ne i32 %t7, %t8 %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 store i32 6338, ptr @lp_site %t13 = call ptr @lp_str_concat(ptr @.str10990, ptr %t12) store i32 0, ptr @lp_site store i32 6339, ptr @lp_site %t14 = call ptr @lp_str_concat(ptr %t13, ptr @.str10992) store i32 0, ptr @lp_site call void @lp_free(ptr %t13) %t15 = load i32, ptr %t2 %t16 = call ptr @fn_itoa(i32 %t15) store i32 6340, ptr @lp_site %t17 = call ptr @lp_str_concat(ptr %t14, ptr %t16) store i32 0, ptr @lp_site call void @lp_free(ptr %t14) store i32 6341, ptr @lp_site %t18 = call ptr @lp_str_concat(ptr %t17, ptr @.str10993) store i32 0, ptr @lp_site call void @lp_free(ptr %t17) %t19 = load i32, ptr %t2 %t20 = call ptr @fn_noise_arity_more(i32 %t19) store i32 6342, ptr @lp_site %t21 = call ptr @lp_str_concat(ptr %t18, ptr %t20) store i32 0, ptr @lp_site call void @lp_free(ptr %t18) store i32 6343, ptr @lp_site %t22 = call ptr @lp_str_concat(ptr %t21, ptr @.str10994) store i32 0, ptr @lp_site call void @lp_free(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 = call ptr @fn_itoa(i32 %t27) store i32 6344, ptr @lp_site %t29 = call ptr @lp_str_concat(ptr %t22, ptr %t28) store i32 0, ptr @lp_site call void @lp_free(ptr %t22) call void @fn_perr(ptr %t29) br label %ifend2 ifend2: br label %ret ret: ret void } define ptr @fn_noise_arity_more(i32 %arg_n) { entry: %retval = alloca ptr %t0 = alloca i32 store i32 %arg_n, ptr %t0 %t1 = load i32, ptr %t0 %t2 = icmp eq i32 %t1, 4 %t3 = zext i1 %t2 to i32 %t4 = icmp ne i32 %t3, 0 br i1 %t4, label %then0, label %ifend2 then0: store ptr @.str10995, ptr %retval br label %ret ifend2: store ptr @.str10996, ptr %retval br label %ret ret: %t5 = load ptr, ptr %retval ret ptr %t5 } 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 @.str10997) %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 @.str10998) %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 @.str10999) %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 @.str11000) %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 @.str11001) %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 @.str11002) %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 @.str11003) %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 %t11 = 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 @.str11004) %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 %t10 = call ptr @fn_val(ptr %t9, ptr @.str11005) store ptr %t10, ptr %t11 %t12 = load ptr, ptr %t11 %t13 = getelementptr inbounds %Cmp_Val, ptr %t12, i32 0, i32 3 %t14 = load ptr, ptr %t0 %t15 = getelementptr inbounds %Cmp_Val, ptr %t14, i32 0, i32 3 %t16 = load i32, ptr %t15 store i32 %t16, ptr %t13 %t17 = load ptr, ptr %t11 store ptr %t17, ptr %retval br label %ret ifend2: %t18 = load ptr, ptr %t0 %t19 = getelementptr inbounds %Cmp_Val, ptr %t18, i32 0, i32 1 %t20 = load ptr, ptr %t19 %t21 = call ptr @fn_llty(ptr %t20) %t22 = call i32 @lp_str_eq(ptr %t21, ptr @.str11006) %t23 = icmp ne i32 %t22, 0 br i1 %t23, label %then3, label %ifend5 then3: store i32 1, ptr @g_g_uses_longstr %t24 = load ptr, ptr %t0 %t25 = getelementptr inbounds %Cmp_Val, ptr %t24, i32 0, i32 0 %t26 = load ptr, ptr %t25 store i32 6345, ptr @lp_site %t27 = call ptr @lp_str_concat(ptr @.str11007, ptr %t26) store i32 0, ptr @lp_site store i32 6346, ptr @lp_site %t28 = call ptr @lp_str_concat(ptr %t27, ptr @.str11009) store i32 0, ptr @lp_site call void @lp_free(ptr %t27) %t29 = call ptr @fn_emit_bind(ptr %t28) %t30 = call ptr @fn_fresh_val(ptr %t29, ptr @.str11010) store ptr %t30, ptr %retval br label %ret ifend5: store i32 1, ptr @g_g_uses_intstr %t31 = load ptr, ptr %t0 %t32 = getelementptr inbounds %Cmp_Val, ptr %t31, i32 0, i32 0 %t33 = load ptr, ptr %t32 store i32 6347, ptr @lp_site %t34 = call ptr @lp_str_concat(ptr @.str11011, ptr %t33) store i32 0, ptr @lp_site store i32 6348, ptr @lp_site %t35 = call ptr @lp_str_concat(ptr %t34, ptr @.str11012) store i32 0, ptr @lp_site call void @lp_free(ptr %t34) %t36 = call ptr @fn_emit_bind(ptr %t35) %t37 = call ptr @fn_fresh_val(ptr %t36, ptr @.str11013) store ptr %t37, ptr %retval br label %ret ret: %t38 = load ptr, ptr %retval ret ptr %t38 } define ptr @fn_emit_log_ns(ptr %arg_meth, ptr %arg_e) { entry: %retval = alloca ptr %t0 = alloca ptr %t1 = alloca ptr %t17 = alloca ptr %t29 = alloca ptr %t30 = alloca ptr %t44 = alloca ptr %t51 = alloca ptr %t53 = alloca ptr %t55 = alloca ptr %t70 = alloca ptr %t83 = alloca ptr %t88 = alloca i32 %t112 = alloca ptr %t127 = 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 @.str11014) %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 %LSlice, ptr %t7, i32 0, i32 1 %t11 = load i32, ptr %t10 %t12 = icmp ult i32 0, %t11 br i1 %t12, label %ixok3, label %ixbad4 ixbad4: store i32 6349, ptr @lp_site %t13 = call ptr @lp_win_stdio(i32 2) store i32 0, ptr @lp_site call i32 (ptr, ptr, ...) @fprintf(ptr %t13, ptr @.fmt_bounds, ptr @.str11015, i32 0, i32 %t11) call void @exit(i32 1) unreachable ixok3: %t14 = getelementptr inbounds ptr, ptr %t9, 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 0 %t20 = load ptr, ptr %t19 store i32 6350, ptr @lp_site %t21 = call ptr @lp_str_concat(ptr @.str11017, ptr %t20) store i32 0, ptr @lp_site store i32 6351, ptr @lp_site %t22 = call ptr @lp_str_concat(ptr %t21, ptr @.str11018) store i32 0, ptr @lp_site call void @lp_free(ptr %t21) call void @fn_emit(ptr %t22) %t23 = call ptr @fn_val(ptr @.str11019, ptr @.str11020) store ptr %t23, ptr %retval br label %ret ifend2: %t24 = load ptr, ptr %t0 %t25 = call i32 @lp_str_eq(ptr %t24, ptr @.str11021) %t26 = icmp ne i32 %t25, 0 br i1 %t26, label %then5, label %ifend7 then5: %t27 = call ptr @fn_emit_bind(ptr @.str11022) %t28 = call ptr @fn_val(ptr %t27, ptr @.str11023) store ptr %t28, ptr %retval br label %ret ifend7: store ptr @.str11024, ptr %t29 store ptr @.str11025, ptr %t30 %t31 = load ptr, ptr %t0 %t32 = call i32 @lp_str_eq(ptr %t31, ptr @.str11026) %t33 = icmp ne i32 %t32, 0 br i1 %t33, label %then8, label %ifend10 then8: store ptr @.str11027, ptr %t29 store ptr @.str11028, ptr %t30 br label %ifend10 ifend10: %t34 = load ptr, ptr %t0 %t35 = call i32 @lp_str_eq(ptr %t34, ptr @.str11029) %t36 = icmp ne i32 %t35, 0 br i1 %t36, label %then11, label %ifend13 then11: store ptr @.str11030, ptr %t29 store ptr @.str11031, ptr %t30 br label %ifend13 ifend13: %t37 = load ptr, ptr %t0 %t38 = call i32 @lp_str_eq(ptr %t37, ptr @.str11032) %t39 = icmp ne i32 %t38, 0 br i1 %t39, label %then14, label %ifend16 then14: store ptr @.str11033, ptr %t29 store ptr @.str11034, ptr %t30 br label %ifend16 ifend16: %t40 = load ptr, ptr %t0 %t41 = call i32 @lp_str_eq(ptr %t40, ptr @.str11035) %t42 = icmp ne i32 %t41, 0 br i1 %t42, label %then17, label %ifend19 then17: store ptr @.str11036, ptr %t29 store ptr @.str11037, ptr %t30 br label %ifend19 ifend19: store i32 1, ptr @g_g_uses_str %t43 = call ptr @fn_emit_bind(ptr @.str11038) store ptr %t43, ptr %t44 %t45 = load ptr, ptr %t29 store i32 6352, ptr @lp_site %t46 = call ptr @lp_str_concat(ptr @.str11039, ptr %t45) store i32 0, ptr @lp_site store i32 6353, ptr @lp_site %t47 = call ptr @lp_str_concat(ptr %t46, ptr @.str11040) store i32 0, ptr @lp_site call void @lp_free(ptr %t46) %t48 = load ptr, ptr %t44 store i32 6354, ptr @lp_site %t49 = call ptr @lp_str_concat(ptr %t47, ptr %t48) store i32 0, ptr @lp_site call void @lp_free(ptr %t47) %t50 = call ptr @fn_emit_bind(ptr %t49) store ptr %t50, ptr %t51 %t52 = call ptr @fn_lbl(ptr @.str11041) store ptr %t52, ptr %t53 %t54 = call ptr @fn_lbl(ptr @.str11042) store ptr %t54, ptr %t55 %t56 = load ptr, ptr %t51 store i32 6355, ptr @lp_site %t57 = call ptr @lp_str_concat(ptr @.str11043, ptr %t56) store i32 0, ptr @lp_site store i32 6356, ptr @lp_site %t58 = call ptr @lp_str_concat(ptr %t57, ptr @.str11044) store i32 0, ptr @lp_site call void @lp_free(ptr %t57) %t59 = load ptr, ptr %t53 store i32 6357, ptr @lp_site %t60 = call ptr @lp_str_concat(ptr %t58, ptr %t59) store i32 0, ptr @lp_site call void @lp_free(ptr %t58) store i32 6358, ptr @lp_site %t61 = call ptr @lp_str_concat(ptr %t60, ptr @.str11045) store i32 0, ptr @lp_site call void @lp_free(ptr %t60) %t62 = load ptr, ptr %t55 store i32 6359, ptr @lp_site %t63 = call ptr @lp_str_concat(ptr %t61, ptr %t62) store i32 0, ptr @lp_site call void @lp_free(ptr %t61) store i32 6360, ptr @lp_site %t64 = call ptr @lp_str_concat(ptr %t63, ptr @.str11046) store i32 0, ptr @lp_site call void @lp_free(ptr %t63) call void @fn_emit(ptr %t64) %t65 = load ptr, ptr %t53 store i32 6361, ptr @lp_site %t66 = call ptr @lp_str_concat(ptr %t65, ptr @.str11047) store i32 0, ptr @lp_site call void @fn_emit(ptr %t66) %t67 = load ptr, ptr %t30 %t68 = call ptr @fn_emit_str_const(ptr %t67) %t69 = call ptr @fn_val(ptr %t68, ptr @.str11048) store ptr %t69, ptr %t70 %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 %LSlice, ptr %t73, i32 0, i32 1 %t77 = load i32, ptr %t76 %t78 = icmp ult i32 0, %t77 br i1 %t78, label %ixok20, label %ixbad21 ixbad21: store i32 6362, ptr @lp_site %t79 = call ptr @lp_win_stdio(i32 2) store i32 0, ptr @lp_site call i32 (ptr, ptr, ...) @fprintf(ptr %t79, ptr @.fmt_bounds, ptr @.str11049, i32 0, i32 %t77) call void @exit(i32 1) unreachable ixok20: %t80 = getelementptr inbounds ptr, ptr %t75, i32 0 %t81 = load ptr, ptr %t80 %t82 = call ptr @fn_emit_expr(ptr %t81) store ptr %t82, ptr %t83 %t84 = load ptr, ptr %t70 %t85 = load ptr, ptr %t83 %t86 = call ptr @fn_log_stringify(ptr %t85) %t87 = call ptr @fn_emit_str_op(ptr @.str11050, ptr %t84, ptr %t86) store ptr %t87, ptr %t70 store i32 1, ptr %t88 br label %wcond22 wcond22: %t89 = load i32, ptr %t88 %t90 = add i32 %t89, 1 %t91 = load ptr, ptr %t1 %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 %t90, %t95 %t97 = zext i1 %t96 to i32 %t98 = icmp ne i32 %t97, 0 br i1 %t98, label %wbody23, label %wend24 wbody23: %t99 = load ptr, ptr %t1 %t100 = getelementptr inbounds %Cmp_Node, ptr %t99, i32 0, i32 7 %t101 = load ptr, ptr %t100 %t102 = load i32, ptr %t88 %t103 = getelementptr inbounds %LSlice, ptr %t101, i32 0, i32 0 %t104 = load ptr, ptr %t103 %t105 = getelementptr inbounds %LSlice, ptr %t101, i32 0, i32 1 %t106 = load i32, ptr %t105 %t107 = icmp ult i32 %t102, %t106 br i1 %t107, label %ixok25, label %ixbad26 ixbad26: store i32 6363, ptr @lp_site %t108 = call ptr @lp_win_stdio(i32 2) store i32 0, ptr @lp_site call i32 (ptr, ptr, ...) @fprintf(ptr %t108, ptr @.fmt_bounds, ptr @.str11051, i32 %t102, i32 %t106) call void @exit(i32 1) unreachable ixok25: %t109 = getelementptr inbounds ptr, ptr %t104, i32 %t102 %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 = load i32, ptr %t88 %t117 = add i32 %t116, 1 %t118 = getelementptr inbounds %LSlice, ptr %t115, i32 0, i32 0 %t119 = load ptr, ptr %t118 %t120 = getelementptr inbounds %LSlice, ptr %t115, i32 0, i32 1 %t121 = load i32, ptr %t120 %t122 = icmp ult i32 %t117, %t121 br i1 %t122, label %ixok27, label %ixbad28 ixbad28: store i32 6364, ptr @lp_site %t123 = call ptr @lp_win_stdio(i32 2) store i32 0, ptr @lp_site call i32 (ptr, ptr, ...) @fprintf(ptr %t123, ptr @.fmt_bounds, ptr @.str11052, i32 %t117, i32 %t121) call void @exit(i32 1) unreachable ixok27: %t124 = getelementptr inbounds ptr, ptr %t119, i32 %t117 %t125 = load ptr, ptr %t124 %t126 = call ptr @fn_emit_expr(ptr %t125) store ptr %t126, ptr %t127 %t128 = load ptr, ptr %t70 %t129 = call ptr @fn_emit_str_const(ptr @.str11054) %t130 = call ptr @fn_val(ptr %t129, ptr @.str11055) %t131 = call ptr @fn_emit_str_op(ptr @.str11053, ptr %t128, ptr %t130) store ptr %t131, ptr %t70 %t132 = load ptr, ptr %t70 %t133 = load ptr, ptr %t112 %t134 = call ptr @fn_log_stringify(ptr %t133) %t135 = call ptr @fn_emit_str_op(ptr @.str11056, ptr %t132, ptr %t134) store ptr %t135, ptr %t70 %t136 = load ptr, ptr %t70 %t137 = call ptr @fn_emit_str_const(ptr @.str11058) %t138 = call ptr @fn_val(ptr %t137, ptr @.str11059) %t139 = call ptr @fn_emit_str_op(ptr @.str11057, ptr %t136, ptr %t138) store ptr %t139, ptr %t70 %t140 = load ptr, ptr %t70 %t141 = load ptr, ptr %t127 %t142 = call ptr @fn_log_stringify(ptr %t141) %t143 = call ptr @fn_emit_str_op(ptr @.str11060, ptr %t140, ptr %t142) store ptr %t143, ptr %t70 %t144 = load i32, ptr %t88 %t145 = add i32 %t144, 2 store i32 %t145, ptr %t88 br label %wcond22 wend24: %t146 = load ptr, ptr %t29 store i32 6365, ptr @lp_site %t147 = call ptr @lp_str_concat(ptr @.str11061, ptr %t146) store i32 0, ptr @lp_site store i32 6366, ptr @lp_site %t148 = call ptr @lp_str_concat(ptr %t147, ptr @.str11062) store i32 0, ptr @lp_site call void @lp_free(ptr %t147) %t149 = load ptr, ptr %t70 %t150 = getelementptr inbounds %Cmp_Val, ptr %t149, i32 0, i32 0 %t151 = load ptr, ptr %t150 store i32 6367, ptr @lp_site %t152 = call ptr @lp_str_concat(ptr %t148, ptr %t151) store i32 0, ptr @lp_site call void @lp_free(ptr %t148) store i32 6368, ptr @lp_site %t153 = call ptr @lp_str_concat(ptr %t152, ptr @.str11063) store i32 0, ptr @lp_site call void @lp_free(ptr %t152) call void @fn_emit(ptr %t153) %t154 = load ptr, ptr %t70 %t155 = getelementptr inbounds %Cmp_Val, ptr %t154, i32 0, i32 0 %t156 = load ptr, ptr %t155 store i32 6369, ptr @lp_site %t157 = call ptr @lp_str_concat(ptr @.str11064, ptr %t156) store i32 0, ptr @lp_site store i32 6370, ptr @lp_site %t158 = call ptr @lp_str_concat(ptr %t157, ptr @.str11065) store i32 0, ptr @lp_site call void @lp_free(ptr %t157) call void @fn_emit(ptr %t158) %t159 = load ptr, ptr %t55 store i32 6371, ptr @lp_site %t160 = call ptr @lp_str_concat(ptr @.str11066, ptr %t159) store i32 0, ptr @lp_site store i32 6372, ptr @lp_site %t161 = call ptr @lp_str_concat(ptr %t160, ptr @.str11067) store i32 0, ptr @lp_site call void @lp_free(ptr %t160) call void @fn_emit(ptr %t161) %t162 = load ptr, ptr %t55 store i32 6373, ptr @lp_site %t163 = call ptr @lp_str_concat(ptr %t162, ptr @.str11068) store i32 0, ptr @lp_site call void @fn_emit(ptr %t163) %t164 = call ptr @fn_val(ptr @.str11069, ptr @.str11070) store ptr %t164, ptr %retval br label %ret ret: %t165 = load ptr, ptr %retval ret ptr %t165 } define void @fn_emit_log_prelude() { entry: call void @fn_emith(ptr @.str11071) call void @fn_emith(ptr @.str11072) call void @fn_emith(ptr @.str11073) call void @fn_emith(ptr @.str11074) %t0 = call ptr @fn_stdstream_rhs(i32 2) store i32 6374, ptr @lp_site %t1 = call ptr @lp_str_concat(ptr @.str11075, ptr %t0) store i32 0, ptr @lp_site store i32 6375, ptr @lp_site %t2 = call ptr @lp_str_concat(ptr %t1, ptr @.str11077) store i32 0, ptr @lp_site call void @lp_free(ptr %t1) call void @fn_emith(ptr %t2) call void @fn_emith(ptr @.str11078) call void @fn_emith(ptr @.str11079) 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 %t115 = alloca i32 store ptr %arg_meth, ptr %t0 %t3 = load ptr, ptr %t0 %t4 = call i32 @lp_str_eq(ptr %t3, ptr @.str11080) %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 @.str11081) %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 @.str11082) %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 @.str11083) %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 @.str11084) %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 @.str11085) %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 @.str11086) %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 @.str11087) %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 @.str11088) %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 @.str11089) %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 @.str11090) %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 @.str11091) %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 @.str11092) %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 @.str11093) %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 @.str11094) %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 @.str11095) %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 @.str11096) %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 @.str11097) %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: %t116 = load ptr, ptr %t0 %t117 = call i32 @lp_str_eq(ptr %t116, ptr @.str11098) %t118 = icmp ne i32 %t117, 0 %t119 = zext i1 %t118 to i32 store i32 %t119, ptr %t115 br i1 %t118, label %scend43, label %sc42 sc42: %t120 = load ptr, ptr %t0 %t121 = call i32 @lp_str_eq(ptr %t120, ptr @.str11099) %t122 = icmp ne i32 %t121, 0 %t123 = zext i1 %t122 to i32 store i32 %t123, ptr %t115 br label %scend43 scend43: %t124 = load i32, ptr %t115 %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_os_ns(ptr %arg_meth, ptr %arg_e) { entry: %retval = alloca ptr %t0 = alloca ptr %t1 = alloca ptr %t22 = alloca ptr %t24 = alloca ptr %t33 = alloca ptr %t71 = alloca ptr %t93 = alloca ptr %t116 = alloca ptr %t123 = alloca ptr %t128 = alloca ptr %t134 = alloca i32 %t145 = alloca i32 %t161 = alloca ptr %t165 = alloca ptr %t172 = alloca ptr %t205 = alloca ptr %t218 = alloca ptr %t246 = alloca ptr %t259 = alloca ptr %t271 = alloca ptr %t276 = alloca ptr %t297 = alloca ptr %t304 = alloca ptr %t309 = alloca ptr %t340 = alloca ptr %t363 = alloca ptr %t386 = 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 @.str11100) %t4 = icmp ne i32 %t3, 0 br i1 %t4, label %then0, label %ifend2 then0: %t5 = call ptr @fn_emit_bind(ptr @.str11101) %t6 = call ptr @fn_val(ptr %t5, ptr @.str11102) store ptr %t6, ptr %retval br label %ret ifend2: %t7 = load ptr, ptr %t0 %t8 = call i32 @lp_str_eq(ptr %t7, ptr @.str11103) %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 %LSlice, ptr %t12, i32 0, i32 1 %t16 = load i32, ptr %t15 %t17 = icmp ult i32 0, %t16 br i1 %t17, label %ixok6, label %ixbad7 ixbad7: store i32 6376, ptr @lp_site %t18 = call ptr @lp_win_stdio(i32 2) store i32 0, ptr @lp_site call i32 (ptr, ptr, ...) @fprintf(ptr %t18, ptr @.fmt_bounds, ptr @.str11104, i32 0, i32 %t16) call void @exit(i32 1) unreachable ixok6: %t19 = getelementptr inbounds ptr, ptr %t14, i32 0 %t20 = load ptr, ptr %t19 %t21 = call ptr @fn_emit_expr(ptr %t20) store ptr %t21, ptr %t22 %t23 = call ptr @fn_emit_bind(ptr @.str11106) store ptr %t23, ptr %t24 %t25 = load ptr, ptr %t24 store i32 6377, ptr @lp_site %t26 = call ptr @lp_str_concat(ptr @.str11107, ptr %t25) store i32 0, ptr @lp_site store i32 6378, ptr @lp_site %t27 = call ptr @lp_str_concat(ptr %t26, ptr @.str11108) store i32 0, ptr @lp_site call void @lp_free(ptr %t26) %t28 = load ptr, ptr %t22 %t29 = getelementptr inbounds %Cmp_Val, ptr %t28, i32 0, i32 0 %t30 = load ptr, ptr %t29 store i32 6379, ptr @lp_site %t31 = call ptr @lp_str_concat(ptr %t27, ptr %t30) store i32 0, ptr @lp_site call void @lp_free(ptr %t27) %t32 = call ptr @fn_emit_bind(ptr %t31) store ptr %t32, ptr %t33 %t34 = load ptr, ptr %t33 store i32 6380, ptr @lp_site %t35 = call ptr @lp_str_concat(ptr @.str11109, ptr %t34) store i32 0, ptr @lp_site %t36 = call ptr @fn_emit_bind(ptr %t35) %t37 = call ptr @fn_val(ptr %t36, ptr @.str11110) store ptr %t37, ptr %retval br label %ret ifend5: %t38 = load ptr, ptr %t0 %t39 = call i32 @lp_str_eq(ptr %t38, ptr @.str11111) %t40 = icmp ne i32 %t39, 0 br i1 %t40, label %then8, label %ifend10 then8: store i32 1, ptr @g_g_uses_pid %t41 = call ptr @fn_emit_bind(ptr @.str11112) %t42 = call ptr @fn_val(ptr %t41, ptr @.str11113) store ptr %t42, ptr %retval br label %ret ifend10: %t43 = load ptr, ptr %t0 %t44 = call i32 @lp_str_eq(ptr %t43, ptr @.str11114) %t45 = icmp ne i32 %t44, 0 br i1 %t45, label %then11, label %ifend13 then11: %t46 = load i32, ptr @g_g_target_win %t47 = icmp ne i32 %t46, 0 br i1 %t47, label %then14, label %ifend16 then14: %t48 = call ptr @fn_val(ptr @.str11115, ptr @.str11116) store ptr %t48, ptr %retval br label %ret ifend16: store i32 1, ptr @g_g_uses_heap %t49 = call ptr @fn_emit_bind(ptr @.str11117) %t50 = call ptr @fn_val(ptr %t49, ptr @.str11118) store ptr %t50, ptr %retval br label %ret ifend13: %t51 = load ptr, ptr %t0 %t52 = call i32 @lp_str_eq(ptr %t51, ptr @.str11119) %t53 = icmp ne i32 %t52, 0 br i1 %t53, label %then17, label %ifend19 then17: store i32 1, ptr @g_g_uses_relief %t54 = call ptr @fn_emit_bind(ptr @.str11120) %t55 = call ptr @fn_val(ptr %t54, ptr @.str11121) store ptr %t55, ptr %retval br label %ret ifend19: %t56 = load ptr, ptr %t0 %t57 = call i32 @lp_str_eq(ptr %t56, ptr @.str11122) %t58 = icmp ne i32 %t57, 0 br i1 %t58, label %then20, label %ifend22 then20: %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 %LSlice, ptr %t61, i32 0, i32 1 %t65 = load i32, ptr %t64 %t66 = icmp ult i32 0, %t65 br i1 %t66, label %ixok23, label %ixbad24 ixbad24: store i32 6381, ptr @lp_site %t67 = call ptr @lp_win_stdio(i32 2) store i32 0, ptr @lp_site call i32 (ptr, ptr, ...) @fprintf(ptr %t67, ptr @.fmt_bounds, ptr @.str11123, i32 0, i32 %t65) call void @exit(i32 1) unreachable ixok23: %t68 = getelementptr inbounds ptr, ptr %t63, i32 0 %t69 = load ptr, ptr %t68 %t70 = call ptr @fn_emit_expr(ptr %t69) store ptr %t70, ptr %t71 %t72 = load ptr, ptr %t71 %t73 = getelementptr inbounds %Cmp_Val, ptr %t72, i32 0, i32 0 %t74 = load ptr, ptr %t73 store i32 6382, ptr @lp_site %t75 = call ptr @lp_str_concat(ptr @.str11124, ptr %t74) store i32 0, ptr @lp_site store i32 6383, ptr @lp_site %t76 = call ptr @lp_str_concat(ptr %t75, ptr @.str11125) store i32 0, ptr @lp_site call void @lp_free(ptr %t75) call void @fn_emit(ptr %t76) call void @fn_emit(ptr @.str11126) store i32 1, ptr @g_g_term %t77 = call ptr @fn_val(ptr @.str11127, ptr @.str11128) store ptr %t77, ptr %retval br label %ret ifend22: %t78 = load ptr, ptr %t0 %t79 = call i32 @lp_str_eq(ptr %t78, ptr @.str11129) %t80 = icmp ne i32 %t79, 0 br i1 %t80, label %then25, label %ifend27 then25: %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 %LSlice, ptr %t83, i32 0, i32 1 %t87 = load i32, ptr %t86 %t88 = icmp ult i32 0, %t87 br i1 %t88, label %ixok28, label %ixbad29 ixbad29: store i32 6384, ptr @lp_site %t89 = call ptr @lp_win_stdio(i32 2) store i32 0, ptr @lp_site call i32 (ptr, ptr, ...) @fprintf(ptr %t89, ptr @.fmt_bounds, ptr @.str11130, i32 0, i32 %t87) call void @exit(i32 1) unreachable ixok28: %t90 = getelementptr inbounds ptr, ptr %t85, i32 0 %t91 = load ptr, ptr %t90 %t92 = call ptr @fn_emit_expr(ptr %t91) store ptr %t92, ptr %t93 %t94 = load ptr, ptr %t93 %t95 = getelementptr inbounds %Cmp_Val, ptr %t94, i32 0, i32 0 %t96 = load ptr, ptr %t95 store i32 6385, ptr @lp_site %t97 = call ptr @lp_str_concat(ptr @.str11131, ptr %t96) store i32 0, ptr @lp_site store i32 6386, ptr @lp_site %t98 = call ptr @lp_str_concat(ptr %t97, ptr @.str11132) store i32 0, ptr @lp_site call void @lp_free(ptr %t97) %t99 = call ptr @fn_emit_bind(ptr %t98) %t100 = call ptr @fn_val(ptr %t99, ptr @.str11133) store ptr %t100, ptr %retval br label %ret ifend27: %t101 = load ptr, ptr %t0 %t102 = call i32 @lp_str_eq(ptr %t101, ptr @.str11134) %t103 = icmp ne i32 %t102, 0 br i1 %t103, label %then30, label %ifend32 then30: %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 %LSlice, ptr %t106, i32 0, i32 1 %t110 = load i32, ptr %t109 %t111 = icmp ult i32 0, %t110 br i1 %t111, label %ixok33, label %ixbad34 ixbad34: store i32 6387, ptr @lp_site %t112 = call ptr @lp_win_stdio(i32 2) store i32 0, ptr @lp_site call i32 (ptr, ptr, ...) @fprintf(ptr %t112, ptr @.fmt_bounds, ptr @.str11135, i32 0, i32 %t110) call void @exit(i32 1) unreachable ixok33: %t113 = getelementptr inbounds ptr, ptr %t108, i32 0 %t114 = load ptr, ptr %t113 %t115 = call ptr @fn_emit_expr(ptr %t114) store ptr %t115, ptr %t116 %t117 = load ptr, ptr %t116 %t118 = getelementptr inbounds %Cmp_Val, ptr %t117, i32 0, i32 0 %t119 = load ptr, ptr %t118 store i32 6388, ptr @lp_site %t120 = call ptr @lp_str_concat(ptr @.str11136, ptr %t119) store i32 0, ptr @lp_site store i32 6389, ptr @lp_site %t121 = call ptr @lp_str_concat(ptr %t120, ptr @.str11137) store i32 0, ptr @lp_site call void @lp_free(ptr %t120) %t122 = call ptr @fn_emit_bind(ptr %t121) store ptr %t122, ptr %t123 %t124 = load ptr, ptr %t123 store i32 6390, ptr @lp_site %t125 = call ptr @lp_str_concat(ptr @.str11138, ptr %t124) store i32 0, ptr @lp_site store i32 6391, ptr @lp_site %t126 = call ptr @lp_str_concat(ptr %t125, ptr @.str11139) store i32 0, ptr @lp_site call void @lp_free(ptr %t125) %t127 = call ptr @fn_emit_bind(ptr %t126) store ptr %t127, ptr %t128 %t129 = load ptr, ptr %t128 store i32 6392, ptr @lp_site %t130 = call ptr @lp_str_concat(ptr @.str11140, ptr %t129) store i32 0, ptr @lp_site store i32 6393, ptr @lp_site %t131 = call ptr @lp_str_concat(ptr %t130, ptr @.str11141) store i32 0, ptr @lp_site call void @lp_free(ptr %t130) %t132 = call ptr @fn_emit_bind(ptr %t131) %t133 = call ptr @fn_val(ptr %t132, ptr @.str11142) store ptr %t133, ptr %retval br label %ret ifend32: %t135 = load ptr, ptr %t0 %t136 = call i32 @lp_str_eq(ptr %t135, ptr @.str11143) %t137 = icmp ne i32 %t136, 0 %t138 = zext i1 %t137 to i32 store i32 %t138, ptr %t134 br i1 %t137, label %scend36, label %sc35 sc35: %t139 = load ptr, ptr %t0 %t140 = call i32 @lp_str_eq(ptr %t139, ptr @.str11144) %t141 = icmp ne i32 %t140, 0 %t142 = zext i1 %t141 to i32 store i32 %t142, ptr %t134 br label %scend36 scend36: %t143 = load i32, ptr %t134 %t144 = icmp ne i32 %t143, 0 br i1 %t144, label %then37, label %ifend39 then37: store i32 1, ptr %t145 %t146 = load ptr, ptr %t0 %t147 = call i32 @lp_str_eq(ptr %t146, ptr @.str11145) %t148 = icmp ne i32 %t147, 0 br i1 %t148, label %then40, label %ifend42 then40: store i32 2, ptr %t145 br label %ifend42 ifend42: %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 %LSlice, ptr %t151, i32 0, i32 1 %t155 = load i32, ptr %t154 %t156 = icmp ult i32 0, %t155 br i1 %t156, label %ixok43, label %ixbad44 ixbad44: store i32 6394, ptr @lp_site %t157 = call ptr @lp_win_stdio(i32 2) store i32 0, ptr @lp_site call i32 (ptr, ptr, ...) @fprintf(ptr %t157, ptr @.fmt_bounds, ptr @.str11146, i32 0, i32 %t155) call void @exit(i32 1) unreachable ixok43: %t158 = getelementptr inbounds ptr, ptr %t153, i32 0 %t159 = load ptr, ptr %t158 %t160 = call ptr @fn_emit_expr(ptr %t159) store ptr %t160, ptr %t161 %t162 = load i32, ptr %t145 %t163 = call ptr @fn_stdstream_rhs(i32 %t162) %t164 = call ptr @fn_emit_bind(ptr %t163) store ptr %t164, ptr %t165 %t166 = load ptr, ptr %t161 %t167 = getelementptr inbounds %Cmp_Val, ptr %t166, i32 0, i32 0 %t168 = load ptr, ptr %t167 store i32 6395, ptr @lp_site %t169 = call ptr @lp_str_concat(ptr @.str11147, ptr %t168) store i32 0, ptr @lp_site store i32 6396, ptr @lp_site %t170 = call ptr @lp_str_concat(ptr %t169, ptr @.str11148) store i32 0, ptr @lp_site call void @lp_free(ptr %t169) %t171 = call ptr @fn_emit_bind(ptr %t170) store ptr %t171, ptr %t172 %t173 = load ptr, ptr %t161 %t174 = getelementptr inbounds %Cmp_Val, ptr %t173, i32 0, i32 0 %t175 = load ptr, ptr %t174 store i32 6397, ptr @lp_site %t176 = call ptr @lp_str_concat(ptr @.str11149, ptr %t175) store i32 0, ptr @lp_site store i32 6398, ptr @lp_site %t177 = call ptr @lp_str_concat(ptr %t176, ptr @.str11150) store i32 0, ptr @lp_site call void @lp_free(ptr %t176) %t178 = load ptr, ptr %t172 store i32 6399, ptr @lp_site %t179 = call ptr @lp_str_concat(ptr %t177, ptr %t178) store i32 0, ptr @lp_site call void @lp_free(ptr %t177) store i32 6400, ptr @lp_site %t180 = call ptr @lp_str_concat(ptr %t179, ptr @.str11151) store i32 0, ptr @lp_site call void @lp_free(ptr %t179) %t181 = load ptr, ptr %t165 store i32 6401, ptr @lp_site %t182 = call ptr @lp_str_concat(ptr %t180, ptr %t181) store i32 0, ptr @lp_site call void @lp_free(ptr %t180) store i32 6402, ptr @lp_site %t183 = call ptr @lp_str_concat(ptr %t182, ptr @.str11152) store i32 0, ptr @lp_site call void @lp_free(ptr %t182) call void @fn_emit(ptr %t183) %t184 = call ptr @fn_val(ptr @.str11153, ptr @.str11154) store ptr %t184, ptr %retval br label %ret ifend39: store i32 1, ptr @g_g_uses_osrt %t185 = load ptr, ptr %t0 %t186 = call i32 @lp_str_eq(ptr %t185, ptr @.str11155) %t187 = icmp ne i32 %t186, 0 br i1 %t187, label %then45, label %ifend47 then45: %t188 = call ptr @fn_emit_bind(ptr @.str11156) %t189 = call ptr @fn_val(ptr %t188, ptr @.str11157) store ptr %t189, ptr %retval br label %ret ifend47: %t190 = load ptr, ptr %t0 %t191 = call i32 @lp_str_eq(ptr %t190, ptr @.str11158) %t192 = icmp ne i32 %t191, 0 br i1 %t192, label %then48, label %ifend50 then48: %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 %LSlice, ptr %t195, i32 0, i32 1 %t199 = load i32, ptr %t198 %t200 = icmp ult i32 0, %t199 br i1 %t200, label %ixok51, label %ixbad52 ixbad52: store i32 6403, ptr @lp_site %t201 = call ptr @lp_win_stdio(i32 2) store i32 0, ptr @lp_site call i32 (ptr, ptr, ...) @fprintf(ptr %t201, ptr @.fmt_bounds, ptr @.str11159, i32 0, i32 %t199) call void @exit(i32 1) unreachable ixok51: %t202 = getelementptr inbounds ptr, ptr %t197, i32 0 %t203 = load ptr, ptr %t202 %t204 = call ptr @fn_emit_expr(ptr %t203) store ptr %t204, ptr %t205 %t206 = load ptr, ptr %t1 %t207 = getelementptr inbounds %Cmp_Node, ptr %t206, i32 0, i32 7 %t208 = load ptr, ptr %t207 %t209 = getelementptr inbounds %LSlice, ptr %t208, i32 0, i32 0 %t210 = load ptr, ptr %t209 %t211 = getelementptr inbounds %LSlice, ptr %t208, i32 0, i32 1 %t212 = load i32, ptr %t211 %t213 = icmp ult i32 1, %t212 br i1 %t213, label %ixok53, label %ixbad54 ixbad54: store i32 6404, ptr @lp_site %t214 = call ptr @lp_win_stdio(i32 2) store i32 0, ptr @lp_site call i32 (ptr, ptr, ...) @fprintf(ptr %t214, ptr @.fmt_bounds, ptr @.str11160, i32 1, i32 %t212) call void @exit(i32 1) unreachable ixok53: %t215 = getelementptr inbounds ptr, ptr %t210, i32 1 %t216 = load ptr, ptr %t215 %t217 = call ptr @fn_emit_expr(ptr %t216) store ptr %t217, ptr %t218 %t219 = load ptr, ptr %t205 %t220 = getelementptr inbounds %Cmp_Val, ptr %t219, i32 0, i32 0 %t221 = load ptr, ptr %t220 store i32 6405, ptr @lp_site %t222 = call ptr @lp_str_concat(ptr @.str11161, ptr %t221) store i32 0, ptr @lp_site store i32 6406, ptr @lp_site %t223 = call ptr @lp_str_concat(ptr %t222, ptr @.str11162) store i32 0, ptr @lp_site call void @lp_free(ptr %t222) %t224 = load ptr, ptr %t218 %t225 = getelementptr inbounds %Cmp_Val, ptr %t224, i32 0, i32 0 %t226 = load ptr, ptr %t225 store i32 6407, ptr @lp_site %t227 = call ptr @lp_str_concat(ptr %t223, ptr %t226) store i32 0, ptr @lp_site call void @lp_free(ptr %t223) store i32 6408, ptr @lp_site %t228 = call ptr @lp_str_concat(ptr %t227, ptr @.str11163) store i32 0, ptr @lp_site call void @lp_free(ptr %t227) %t229 = call ptr @fn_emit_bind(ptr %t228) %t230 = call ptr @fn_val(ptr %t229, ptr @.str11164) store ptr %t230, ptr %retval br label %ret ifend50: %t231 = load ptr, ptr %t0 %t232 = call i32 @lp_str_eq(ptr %t231, ptr @.str11165) %t233 = icmp ne i32 %t232, 0 br i1 %t233, label %then55, label %ifend57 then55: %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 %LSlice, ptr %t236, i32 0, i32 1 %t240 = load i32, ptr %t239 %t241 = icmp ult i32 0, %t240 br i1 %t241, label %ixok58, label %ixbad59 ixbad59: store i32 6409, ptr @lp_site %t242 = call ptr @lp_win_stdio(i32 2) store i32 0, ptr @lp_site call i32 (ptr, ptr, ...) @fprintf(ptr %t242, ptr @.fmt_bounds, ptr @.str11166, i32 0, i32 %t240) call void @exit(i32 1) unreachable ixok58: %t243 = getelementptr inbounds ptr, ptr %t238, i32 0 %t244 = load ptr, ptr %t243 %t245 = call ptr @fn_emit_expr(ptr %t244) store ptr %t245, ptr %t246 %t247 = load ptr, ptr %t1 %t248 = getelementptr inbounds %Cmp_Node, ptr %t247, i32 0, i32 7 %t249 = load ptr, ptr %t248 %t250 = getelementptr inbounds %LSlice, ptr %t249, i32 0, i32 0 %t251 = load ptr, ptr %t250 %t252 = getelementptr inbounds %LSlice, ptr %t249, i32 0, i32 1 %t253 = load i32, ptr %t252 %t254 = icmp ult i32 1, %t253 br i1 %t254, label %ixok60, label %ixbad61 ixbad61: store i32 6410, ptr @lp_site %t255 = call ptr @lp_win_stdio(i32 2) store i32 0, ptr @lp_site call i32 (ptr, ptr, ...) @fprintf(ptr %t255, ptr @.fmt_bounds, ptr @.str11167, i32 1, i32 %t253) call void @exit(i32 1) unreachable ixok60: %t256 = getelementptr inbounds ptr, ptr %t251, i32 1 %t257 = load ptr, ptr %t256 %t258 = call ptr @fn_emit_expr(ptr %t257) store ptr %t258, ptr %t259 %t260 = load ptr, ptr %t246 %t261 = getelementptr inbounds %Cmp_Val, ptr %t260, i32 0, i32 0 %t262 = load ptr, ptr %t261 store i32 6411, ptr @lp_site %t263 = call ptr @lp_str_concat(ptr @.str11168, ptr %t262) store i32 0, ptr @lp_site store i32 6412, ptr @lp_site %t264 = call ptr @lp_str_concat(ptr %t263, ptr @.str11169) store i32 0, ptr @lp_site call void @lp_free(ptr %t263) %t265 = load ptr, ptr %t259 %t266 = getelementptr inbounds %Cmp_Val, ptr %t265, i32 0, i32 0 %t267 = load ptr, ptr %t266 store i32 6413, ptr @lp_site %t268 = call ptr @lp_str_concat(ptr %t264, ptr %t267) store i32 0, ptr @lp_site call void @lp_free(ptr %t264) store i32 6414, ptr @lp_site %t269 = call ptr @lp_str_concat(ptr %t268, ptr @.str11170) store i32 0, ptr @lp_site call void @lp_free(ptr %t268) %t270 = call ptr @fn_emit_bind(ptr %t269) store ptr %t270, ptr %t271 %t272 = load ptr, ptr %t271 store i32 6415, ptr @lp_site %t273 = call ptr @lp_str_concat(ptr @.str11171, ptr %t272) store i32 0, ptr @lp_site store i32 6416, ptr @lp_site %t274 = call ptr @lp_str_concat(ptr %t273, ptr @.str11172) store i32 0, ptr @lp_site call void @lp_free(ptr %t273) %t275 = call ptr @fn_emit_bind(ptr %t274) store ptr %t275, ptr %t276 %t277 = load ptr, ptr %t276 store i32 6417, ptr @lp_site %t278 = call ptr @lp_str_concat(ptr @.str11173, ptr %t277) store i32 0, ptr @lp_site store i32 6418, ptr @lp_site %t279 = call ptr @lp_str_concat(ptr %t278, ptr @.str11174) store i32 0, ptr @lp_site call void @lp_free(ptr %t278) %t280 = call ptr @fn_emit_bind(ptr %t279) %t281 = call ptr @fn_val(ptr %t280, ptr @.str11175) store ptr %t281, ptr %retval br label %ret ifend57: %t282 = load ptr, ptr %t0 %t283 = call i32 @lp_str_eq(ptr %t282, ptr @.str11176) %t284 = icmp ne i32 %t283, 0 br i1 %t284, label %then62, label %ifend64 then62: %t285 = load ptr, ptr %t1 %t286 = getelementptr inbounds %Cmp_Node, ptr %t285, i32 0, i32 7 %t287 = load ptr, ptr %t286 %t288 = getelementptr inbounds %LSlice, ptr %t287, i32 0, i32 0 %t289 = load ptr, ptr %t288 %t290 = getelementptr inbounds %LSlice, ptr %t287, i32 0, i32 1 %t291 = load i32, ptr %t290 %t292 = icmp ult i32 0, %t291 br i1 %t292, label %ixok65, label %ixbad66 ixbad66: store i32 6419, ptr @lp_site %t293 = call ptr @lp_win_stdio(i32 2) store i32 0, ptr @lp_site call i32 (ptr, ptr, ...) @fprintf(ptr %t293, ptr @.fmt_bounds, ptr @.str11177, i32 0, i32 %t291) call void @exit(i32 1) unreachable ixok65: %t294 = getelementptr inbounds ptr, ptr %t289, i32 0 %t295 = load ptr, ptr %t294 %t296 = call ptr @fn_emit_expr(ptr %t295) store ptr %t296, ptr %t297 %t298 = load ptr, ptr %t297 %t299 = getelementptr inbounds %Cmp_Val, ptr %t298, i32 0, i32 0 %t300 = load ptr, ptr %t299 store i32 6420, ptr @lp_site %t301 = call ptr @lp_str_concat(ptr @.str11178, ptr %t300) store i32 0, ptr @lp_site store i32 6421, ptr @lp_site %t302 = call ptr @lp_str_concat(ptr %t301, ptr @.str11179) store i32 0, ptr @lp_site call void @lp_free(ptr %t301) %t303 = call ptr @fn_emit_bind(ptr %t302) store ptr %t303, ptr %t304 %t305 = load ptr, ptr %t304 store i32 6422, ptr @lp_site %t306 = call ptr @lp_str_concat(ptr @.str11180, ptr %t305) store i32 0, ptr @lp_site store i32 6423, ptr @lp_site %t307 = call ptr @lp_str_concat(ptr %t306, ptr @.str11181) store i32 0, ptr @lp_site call void @lp_free(ptr %t306) %t308 = call ptr @fn_emit_bind(ptr %t307) store ptr %t308, ptr %t309 %t310 = load ptr, ptr %t309 store i32 6424, ptr @lp_site %t311 = call ptr @lp_str_concat(ptr @.str11182, ptr %t310) store i32 0, ptr @lp_site store i32 6425, ptr @lp_site %t312 = call ptr @lp_str_concat(ptr %t311, ptr @.str11183) store i32 0, ptr @lp_site call void @lp_free(ptr %t311) %t313 = call ptr @fn_emit_bind(ptr %t312) %t314 = call ptr @fn_val(ptr %t313, ptr @.str11184) store ptr %t314, ptr %retval br label %ret ifend64: %t315 = load ptr, ptr %t0 %t316 = call i32 @lp_str_eq(ptr %t315, ptr @.str11185) %t317 = icmp ne i32 %t316, 0 br i1 %t317, label %then67, label %ifend69 then67: %t318 = call ptr @fn_emit_bind(ptr @.str11186) %t319 = call ptr @fn_val(ptr %t318, ptr @.str11187) store ptr %t319, ptr %retval br label %ret ifend69: %t320 = load ptr, ptr %t0 %t321 = call i32 @lp_str_eq(ptr %t320, ptr @.str11188) %t322 = icmp ne i32 %t321, 0 br i1 %t322, label %then70, label %ifend72 then70: %t323 = call ptr @fn_emit_bind(ptr @.str11189) %t324 = call ptr @fn_val(ptr %t323, ptr @.str11190) store ptr %t324, ptr %retval br label %ret ifend72: %t325 = load ptr, ptr %t0 %t326 = call i32 @lp_str_eq(ptr %t325, ptr @.str11191) %t327 = icmp ne i32 %t326, 0 br i1 %t327, label %then73, label %ifend75 then73: %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 %LSlice, ptr %t330, i32 0, i32 1 %t334 = load i32, ptr %t333 %t335 = icmp ult i32 0, %t334 br i1 %t335, label %ixok76, label %ixbad77 ixbad77: store i32 6426, ptr @lp_site %t336 = call ptr @lp_win_stdio(i32 2) store i32 0, ptr @lp_site call i32 (ptr, ptr, ...) @fprintf(ptr %t336, ptr @.fmt_bounds, ptr @.str11192, i32 0, i32 %t334) call void @exit(i32 1) unreachable ixok76: %t337 = getelementptr inbounds ptr, ptr %t332, i32 0 %t338 = load ptr, ptr %t337 %t339 = call ptr @fn_emit_expr(ptr %t338) store ptr %t339, ptr %t340 %t341 = load ptr, ptr %t340 %t342 = getelementptr inbounds %Cmp_Val, ptr %t341, i32 0, i32 0 %t343 = load ptr, ptr %t342 store i32 6427, ptr @lp_site %t344 = call ptr @lp_str_concat(ptr @.str11193, ptr %t343) store i32 0, ptr @lp_site store i32 6428, ptr @lp_site %t345 = call ptr @lp_str_concat(ptr %t344, ptr @.str11194) store i32 0, ptr @lp_site call void @lp_free(ptr %t344) %t346 = call ptr @fn_emit_bind(ptr %t345) %t347 = call ptr @fn_fresh_val(ptr %t346, ptr @.str11195) store ptr %t347, ptr %retval br label %ret ifend75: %t348 = load ptr, ptr %t0 %t349 = call i32 @lp_str_eq(ptr %t348, ptr @.str11196) %t350 = icmp ne i32 %t349, 0 br i1 %t350, label %then78, label %ifend80 then78: %t351 = load ptr, ptr %t1 %t352 = getelementptr inbounds %Cmp_Node, ptr %t351, i32 0, i32 7 %t353 = load ptr, ptr %t352 %t354 = getelementptr inbounds %LSlice, ptr %t353, i32 0, i32 0 %t355 = load ptr, ptr %t354 %t356 = getelementptr inbounds %LSlice, ptr %t353, i32 0, i32 1 %t357 = load i32, ptr %t356 %t358 = icmp ult i32 0, %t357 br i1 %t358, label %ixok81, label %ixbad82 ixbad82: store i32 6429, ptr @lp_site %t359 = call ptr @lp_win_stdio(i32 2) store i32 0, ptr @lp_site call i32 (ptr, ptr, ...) @fprintf(ptr %t359, ptr @.fmt_bounds, ptr @.str11197, i32 0, i32 %t357) call void @exit(i32 1) unreachable ixok81: %t360 = getelementptr inbounds ptr, ptr %t355, i32 0 %t361 = load ptr, ptr %t360 %t362 = call ptr @fn_emit_expr(ptr %t361) store ptr %t362, ptr %t363 %t364 = load ptr, ptr %t363 %t365 = getelementptr inbounds %Cmp_Val, ptr %t364, i32 0, i32 0 %t366 = load ptr, ptr %t365 store i32 6430, ptr @lp_site %t367 = call ptr @lp_str_concat(ptr @.str11198, ptr %t366) store i32 0, ptr @lp_site store i32 6431, ptr @lp_site %t368 = call ptr @lp_str_concat(ptr %t367, ptr @.str11199) store i32 0, ptr @lp_site call void @lp_free(ptr %t367) %t369 = call ptr @fn_emit_bind(ptr %t368) %t370 = call ptr @fn_fresh_val(ptr %t369, ptr @.str11200) store ptr %t370, ptr %retval br label %ret ifend80: %t371 = load ptr, ptr %t0 %t372 = call i32 @lp_str_eq(ptr %t371, ptr @.str11201) %t373 = icmp ne i32 %t372, 0 br i1 %t373, label %then83, label %ifend85 then83: %t374 = load ptr, ptr %t1 %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 %LSlice, ptr %t376, i32 0, i32 1 %t380 = load i32, ptr %t379 %t381 = icmp ult i32 0, %t380 br i1 %t381, label %ixok86, label %ixbad87 ixbad87: store i32 6432, ptr @lp_site %t382 = call ptr @lp_win_stdio(i32 2) store i32 0, ptr @lp_site call i32 (ptr, ptr, ...) @fprintf(ptr %t382, ptr @.fmt_bounds, ptr @.str11202, i32 0, i32 %t380) call void @exit(i32 1) unreachable ixok86: %t383 = getelementptr inbounds ptr, ptr %t378, i32 0 %t384 = load ptr, ptr %t383 %t385 = call ptr @fn_emit_expr(ptr %t384) store ptr %t385, ptr %t386 %t387 = load ptr, ptr %t386 %t388 = getelementptr inbounds %Cmp_Val, ptr %t387, i32 0, i32 0 %t389 = load ptr, ptr %t388 store i32 6433, ptr @lp_site %t390 = call ptr @lp_str_concat(ptr @.str11203, ptr %t389) store i32 0, ptr @lp_site store i32 6434, ptr @lp_site %t391 = call ptr @lp_str_concat(ptr %t390, ptr @.str11204) store i32 0, ptr @lp_site call void @lp_free(ptr %t390) %t392 = call ptr @fn_emit_bind(ptr %t391) %t393 = call ptr @fn_fresh_val(ptr %t392, ptr @.str11205) store ptr %t393, ptr %retval br label %ret ifend85: %t394 = load i32, ptr @g_g_target_win %t395 = icmp ne i32 %t394, 0 br i1 %t395, label %then88, label %ifend90 then88: %t396 = call ptr @fn_emit_bind(ptr @.str11206) %t397 = call ptr @fn_fresh_val(ptr %t396, ptr @.str11207) store ptr %t397, ptr %retval br label %ret ifend90: %t398 = call ptr @fn_emit_bind(ptr @.str11208) %t399 = call ptr @fn_val(ptr %t398, ptr @.str11209) store ptr %t399, ptr %retval br label %ret ret: %t400 = load ptr, ptr %retval ret ptr %t400 } 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 @.str11210) call void @fn_emith(ptr @.str11211) call void @fn_emith(ptr @.str11212) br label %ifend2 ifend2: %t4 = call ptr @fn_emit_str_const(ptr @.str11213) store ptr %t4, ptr %t5 %t6 = call ptr @fn_emit_str_const(ptr @.str11214) store ptr %t6, ptr %t7 %t8 = call ptr @fn_emit_str_const(ptr @.str11215) store ptr %t8, ptr %t9 %t10 = call ptr @fn_emit_str_const(ptr @.str11216) store ptr %t10, ptr %t11 %t12 = call ptr @fn_emit_str_const(ptr @.str11217) store ptr %t12, ptr %t13 %t14 = call ptr @fn_emit_str_const(ptr @.str11218) store ptr %t14, ptr %t15 %t16 = call ptr @fn_emit_str_const(ptr @.str11219) store ptr %t16, ptr %t17 %t18 = call ptr @fn_emit_str_const(ptr @.str11220) store ptr %t18, ptr %t19 %t20 = call ptr @fn_emit_str_const(ptr @.str11221) store ptr %t20, ptr %t21 %t22 = call ptr @fn_emit_str_const(ptr @.str11222) store ptr %t22, ptr %t23 %t24 = call ptr @fn_emit_str_const(ptr @.str11223) store ptr %t24, ptr %t25 %t26 = call ptr @fn_emit_str_const(ptr @.str11224) store ptr %t26, ptr %t27 %t28 = call ptr @fn_emit_str_const(ptr @.str11225) store ptr %t28, ptr %t29 %t30 = call ptr @fn_emit_str_const(ptr @.str11226) store ptr %t30, ptr %t31 %t32 = call ptr @fn_emit_str_const(ptr @.str11227) store ptr %t32, ptr %t33 %t34 = call ptr @fn_emit_str_const(ptr @.str11228) store ptr %t34, ptr %t35 %t36 = call ptr @fn_emit_str_const(ptr @.str11229) store ptr %t36, ptr %t37 call void @fn_emith(ptr @.str11230) call void @fn_emith(ptr @.str11231) call void @fn_emith(ptr @.str11232) call void @fn_emith(ptr @.str11233) call void @fn_emith(ptr @.str11234) call void @fn_emith(ptr @.str11235) call void @fn_emith(ptr @.str11236) call void @fn_emith(ptr @.str11237) call void @fn_emith(ptr @.str11238) call void @fn_emith(ptr @.str11239) call void @fn_emith(ptr @.str11240) call void @fn_emith(ptr @.str11241) %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 store i32 6435, ptr @lp_site %t43 = call ptr @lp_str_concat(ptr @.str11242, ptr %t42) store i32 0, ptr @lp_site store i32 6436, ptr @lp_site %t44 = call ptr @lp_str_concat(ptr %t43, ptr @.str11244) store i32 0, ptr @lp_site call void @lp_free(ptr %t43) %t45 = load ptr, ptr %t7 store i32 6437, ptr @lp_site %t46 = call ptr @lp_str_concat(ptr %t44, ptr %t45) store i32 0, ptr @lp_site call void @lp_free(ptr %t44) store i32 6438, ptr @lp_site %t47 = call ptr @lp_str_concat(ptr %t46, ptr @.str11245) store i32 0, ptr @lp_site call void @lp_free(ptr %t46) call void @fn_emith(ptr %t47) call void @fn_emith(ptr @.str11246) call void @fn_emith(ptr @.str11247) call void @fn_emith(ptr @.str11248) call void @fn_emith(ptr @.str11249) call void @fn_emith(ptr @.str11250) %t48 = load ptr, ptr %t17 store i32 6439, ptr @lp_site %t49 = call ptr @lp_str_concat(ptr @.str11251, ptr %t48) store i32 0, ptr @lp_site store i32 6440, ptr @lp_site %t50 = call ptr @lp_str_concat(ptr %t49, ptr @.str11252) store i32 0, ptr @lp_site call void @lp_free(ptr %t49) call void @fn_emith(ptr %t50) call void @fn_emith(ptr @.str11253) call void @fn_emith(ptr @.str11254) call void @fn_emith(ptr @.str11255) call void @fn_emith(ptr @.str11256) %t51 = load ptr, ptr %t31 store i32 6441, ptr @lp_site %t52 = call ptr @lp_str_concat(ptr @.str11257, ptr %t51) store i32 0, ptr @lp_site store i32 6442, ptr @lp_site %t53 = call ptr @lp_str_concat(ptr %t52, ptr @.str11258) store i32 0, ptr @lp_site call void @lp_free(ptr %t52) call void @fn_emith(ptr %t53) call void @fn_emith(ptr @.str11259) call void @fn_emith(ptr @.str11260) call void @fn_emith(ptr @.str11261) call void @fn_emith(ptr @.str11262) call void @fn_emith(ptr @.str11263) %t54 = load ptr, ptr %t9 store i32 6443, ptr @lp_site %t55 = call ptr @lp_str_concat(ptr @.str11264, ptr %t54) store i32 0, ptr @lp_site store i32 6444, ptr @lp_site %t56 = call ptr @lp_str_concat(ptr %t55, ptr @.str11265) store i32 0, ptr @lp_site call void @lp_free(ptr %t55) %t57 = load ptr, ptr %t19 store i32 6445, ptr @lp_site %t58 = call ptr @lp_str_concat(ptr %t56, ptr %t57) store i32 0, ptr @lp_site call void @lp_free(ptr %t56) store i32 6446, ptr @lp_site %t59 = call ptr @lp_str_concat(ptr %t58, ptr @.str11266) store i32 0, ptr @lp_site call void @lp_free(ptr %t58) %t60 = load ptr, ptr %t25 store i32 6447, ptr @lp_site %t61 = call ptr @lp_str_concat(ptr %t59, ptr %t60) store i32 0, ptr @lp_site call void @lp_free(ptr %t59) store i32 6448, ptr @lp_site %t62 = call ptr @lp_str_concat(ptr %t61, ptr @.str11267) store i32 0, ptr @lp_site call void @lp_free(ptr %t61) call void @fn_emith(ptr %t62) %t63 = load ptr, ptr %t9 store i32 6449, ptr @lp_site %t64 = call ptr @lp_str_concat(ptr @.str11268, ptr %t63) store i32 0, ptr @lp_site store i32 6450, ptr @lp_site %t65 = call ptr @lp_str_concat(ptr %t64, ptr @.str11269) store i32 0, ptr @lp_site call void @lp_free(ptr %t64) %t66 = load ptr, ptr %t21 store i32 6451, ptr @lp_site %t67 = call ptr @lp_str_concat(ptr %t65, ptr %t66) store i32 0, ptr @lp_site call void @lp_free(ptr %t65) store i32 6452, ptr @lp_site %t68 = call ptr @lp_str_concat(ptr %t67, ptr @.str11270) store i32 0, ptr @lp_site call void @lp_free(ptr %t67) %t69 = load ptr, ptr %t27 store i32 6453, ptr @lp_site %t70 = call ptr @lp_str_concat(ptr %t68, ptr %t69) store i32 0, ptr @lp_site call void @lp_free(ptr %t68) store i32 6454, ptr @lp_site %t71 = call ptr @lp_str_concat(ptr %t70, ptr @.str11271) store i32 0, ptr @lp_site call void @lp_free(ptr %t70) call void @fn_emith(ptr %t71) %t72 = load ptr, ptr %t11 store i32 6455, ptr @lp_site %t73 = call ptr @lp_str_concat(ptr @.str11272, ptr %t72) store i32 0, ptr @lp_site store i32 6456, ptr @lp_site %t74 = call ptr @lp_str_concat(ptr %t73, ptr @.str11273) store i32 0, ptr @lp_site call void @lp_free(ptr %t73) %t75 = load ptr, ptr %t23 store i32 6457, ptr @lp_site %t76 = call ptr @lp_str_concat(ptr %t74, ptr %t75) store i32 0, ptr @lp_site call void @lp_free(ptr %t74) store i32 6458, ptr @lp_site %t77 = call ptr @lp_str_concat(ptr %t76, ptr @.str11274) store i32 0, ptr @lp_site call void @lp_free(ptr %t76) %t78 = load ptr, ptr %t29 store i32 6459, ptr @lp_site %t79 = call ptr @lp_str_concat(ptr %t77, ptr %t78) store i32 0, ptr @lp_site call void @lp_free(ptr %t77) store i32 6460, ptr @lp_site %t80 = call ptr @lp_str_concat(ptr %t79, ptr @.str11275) store i32 0, ptr @lp_site call void @lp_free(ptr %t79) call void @fn_emith(ptr %t80) %t81 = load ptr, ptr %t13 store i32 6461, ptr @lp_site %t82 = call ptr @lp_str_concat(ptr @.str11276, ptr %t81) store i32 0, ptr @lp_site store i32 6462, ptr @lp_site %t83 = call ptr @lp_str_concat(ptr %t82, ptr @.str11277) store i32 0, ptr @lp_site call void @lp_free(ptr %t82) %t84 = load ptr, ptr %t15 store i32 6463, ptr @lp_site %t85 = call ptr @lp_str_concat(ptr %t83, ptr %t84) store i32 0, ptr @lp_site call void @lp_free(ptr %t83) store i32 6464, ptr @lp_site %t86 = call ptr @lp_str_concat(ptr %t85, ptr @.str11278) store i32 0, ptr @lp_site call void @lp_free(ptr %t85) call void @fn_emith(ptr %t86) call void @fn_emith(ptr @.str11279) call void @fn_emith(ptr @.str11280) call void @fn_emith(ptr @.str11281) call void @fn_emith(ptr @.str11282) call void @fn_emith(ptr @.str11283) call void @fn_emith(ptr @.str11284) call void @fn_emith(ptr @.str11285) call void @fn_emith(ptr @.str11286) call void @fn_emith(ptr @.str11287) call void @fn_emith(ptr @.str11288) call void @fn_emith(ptr @.str11289) call void @fn_emith(ptr @.str11290) call void @fn_emith(ptr @.str11291) call void @fn_emith(ptr @.str11292) %t87 = load ptr, ptr %t17 store i32 6465, ptr @lp_site %t88 = call ptr @lp_str_concat(ptr @.str11293, ptr %t87) store i32 0, ptr @lp_site store i32 6466, ptr @lp_site %t89 = call ptr @lp_str_concat(ptr %t88, ptr @.str11294) store i32 0, ptr @lp_site call void @lp_free(ptr %t88) call void @fn_emith(ptr %t89) %t90 = load ptr, ptr %t33 store i32 6467, ptr @lp_site %t91 = call ptr @lp_str_concat(ptr @.str11295, ptr %t90) store i32 0, ptr @lp_site store i32 6468, ptr @lp_site %t92 = call ptr @lp_str_concat(ptr %t91, ptr @.str11296) store i32 0, ptr @lp_site call void @lp_free(ptr %t91) call void @fn_emith(ptr %t92) %t93 = load ptr, ptr %t35 store i32 6469, ptr @lp_site %t94 = call ptr @lp_str_concat(ptr @.str11297, ptr %t93) store i32 0, ptr @lp_site store i32 6470, ptr @lp_site %t95 = call ptr @lp_str_concat(ptr %t94, ptr @.str11298) store i32 0, ptr @lp_site call void @lp_free(ptr %t94) call void @fn_emith(ptr %t95) %t96 = load ptr, ptr %t37 store i32 6471, ptr @lp_site %t97 = call ptr @lp_str_concat(ptr @.str11299, ptr %t96) store i32 0, ptr @lp_site store i32 6472, ptr @lp_site %t98 = call ptr @lp_str_concat(ptr %t97, ptr @.str11300) store i32 0, ptr @lp_site call void @lp_free(ptr %t97) call void @fn_emith(ptr %t98) call void @fn_emith(ptr @.str11301) call void @fn_emith(ptr @.str11302) call void @fn_emith(ptr @.str11303) call void @fn_emith(ptr @.str11304) br label %ret ret: ret void } define void @fn_emit_os_relief() { entry: call void @fn_emith(ptr @.str11305) %t0 = load i32, ptr @g_g_target_win %t1 = icmp ne i32 %t0, 0 br i1 %t1, label %then0, label %ifend2 then0: call void @fn_emith(ptr @.str11306) call void @fn_emith(ptr @.str11307) br label %ret ifend2: call void @fn_emith(ptr @.str11308) call void @fn_emith(ptr @.str11309) call void @fn_emith(ptr @.str11310) call void @fn_emith(ptr @.str11311) br label %ret ret: ret void } define void @fn_emit_os_heap() { entry: %t0 = load i32, ptr @g_g_mzs_declared %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 @.str11312) store i32 1, ptr @g_g_mzs_declared br label %ifend2 ifend2: call void @fn_emith(ptr @.str11313) call void @fn_emith(ptr @.str11314) call void @fn_emith(ptr @.str11315) call void @fn_emith(ptr @.str11316) call void @fn_emith(ptr @.str11317) 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 @.str11318) %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 @.str11319) %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 @.str11320) %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 @.str11321) %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 @.str11322) %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 @.str11323) %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 @.str11324) %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 @.str11325) %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 @.str11326) %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 %t17 = alloca ptr %t24 = alloca ptr %t45 = alloca ptr %t68 = alloca ptr %t91 = alloca ptr %t104 = alloca ptr %t132 = alloca ptr %t155 = alloca ptr %t178 = alloca ptr %t201 = alloca ptr %t214 = alloca ptr %t239 = 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 @.str11327) %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 %LSlice, ptr %t7, i32 0, i32 1 %t11 = load i32, ptr %t10 %t12 = icmp ult i32 0, %t11 br i1 %t12, label %ixok3, label %ixbad4 ixbad4: store i32 6473, ptr @lp_site %t13 = call ptr @lp_win_stdio(i32 2) store i32 0, ptr @lp_site call i32 (ptr, ptr, ...) @fprintf(ptr %t13, ptr @.fmt_bounds, ptr @.str11328, i32 0, i32 %t11) call void @exit(i32 1) unreachable ixok3: %t14 = getelementptr inbounds ptr, ptr %t9, 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 0 %t20 = load ptr, ptr %t19 store i32 6474, ptr @lp_site %t21 = call ptr @lp_str_concat(ptr @.str11330, ptr %t20) store i32 0, ptr @lp_site store i32 6475, ptr @lp_site %t22 = call ptr @lp_str_concat(ptr %t21, ptr @.str11331) store i32 0, ptr @lp_site call void @lp_free(ptr %t21) %t23 = call ptr @fn_emit_bind(ptr %t22) store ptr %t23, ptr %t24 %t25 = load ptr, ptr %t24 store i32 6476, ptr @lp_site %t26 = call ptr @lp_str_concat(ptr @.str11332, ptr %t25) store i32 0, ptr @lp_site store i32 6477, ptr @lp_site %t27 = call ptr @lp_str_concat(ptr %t26, ptr @.str11333) store i32 0, ptr @lp_site call void @lp_free(ptr %t26) %t28 = call ptr @fn_emit_bind(ptr %t27) %t29 = call ptr @fn_val(ptr %t28, ptr @.str11334) store ptr %t29, ptr %retval br label %ret ifend2: %t30 = load ptr, ptr %t0 %t31 = call i32 @lp_str_eq(ptr %t30, ptr @.str11335) %t32 = icmp ne i32 %t31, 0 br i1 %t32, label %then5, label %ifend7 then5: %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 %LSlice, ptr %t35, i32 0, i32 1 %t39 = load i32, ptr %t38 %t40 = icmp ult i32 0, %t39 br i1 %t40, label %ixok8, label %ixbad9 ixbad9: store i32 6478, ptr @lp_site %t41 = call ptr @lp_win_stdio(i32 2) store i32 0, ptr @lp_site call i32 (ptr, ptr, ...) @fprintf(ptr %t41, ptr @.fmt_bounds, ptr @.str11336, i32 0, i32 %t39) call void @exit(i32 1) unreachable ixok8: %t42 = getelementptr inbounds ptr, ptr %t37, i32 0 %t43 = load ptr, ptr %t42 %t44 = call ptr @fn_emit_expr(ptr %t43) store ptr %t44, ptr %t45 %t46 = load ptr, ptr %t45 %t47 = getelementptr inbounds %Cmp_Val, ptr %t46, i32 0, i32 0 %t48 = load ptr, ptr %t47 store i32 6479, ptr @lp_site %t49 = call ptr @lp_str_concat(ptr @.str11337, ptr %t48) store i32 0, ptr @lp_site store i32 6480, ptr @lp_site %t50 = call ptr @lp_str_concat(ptr %t49, ptr @.str11338) store i32 0, ptr @lp_site call void @lp_free(ptr %t49) %t51 = call ptr @fn_emit_bind(ptr %t50) %t52 = call ptr @fn_val(ptr %t51, ptr @.str11339) store ptr %t52, ptr %retval br label %ret ifend7: %t53 = load ptr, ptr %t0 %t54 = call i32 @lp_str_eq(ptr %t53, ptr @.str11340) %t55 = icmp ne i32 %t54, 0 br i1 %t55, label %then10, label %ifend12 then10: %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 0 %t60 = load ptr, ptr %t59 %t61 = getelementptr inbounds %LSlice, ptr %t58, i32 0, i32 1 %t62 = load i32, ptr %t61 %t63 = icmp ult i32 0, %t62 br i1 %t63, label %ixok13, label %ixbad14 ixbad14: store i32 6481, ptr @lp_site %t64 = call ptr @lp_win_stdio(i32 2) store i32 0, ptr @lp_site call i32 (ptr, ptr, ...) @fprintf(ptr %t64, ptr @.fmt_bounds, ptr @.str11341, i32 0, i32 %t62) call void @exit(i32 1) unreachable ixok13: %t65 = getelementptr inbounds ptr, ptr %t60, 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 store i32 6482, ptr @lp_site %t72 = call ptr @lp_str_concat(ptr @.str11342, ptr %t71) store i32 0, ptr @lp_site store i32 6483, ptr @lp_site %t73 = call ptr @lp_str_concat(ptr %t72, ptr @.str11343) store i32 0, ptr @lp_site call void @lp_free(ptr %t72) %t74 = call ptr @fn_emit_bind(ptr %t73) %t75 = call ptr @fn_val(ptr %t74, ptr @.str11344) store ptr %t75, ptr %retval br label %ret ifend12: %t76 = load ptr, ptr %t0 %t77 = call i32 @lp_str_eq(ptr %t76, ptr @.str11345) %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 %LSlice, ptr %t81, i32 0, i32 1 %t85 = load i32, ptr %t84 %t86 = icmp ult i32 0, %t85 br i1 %t86, label %ixok18, label %ixbad19 ixbad19: store i32 6484, ptr @lp_site %t87 = call ptr @lp_win_stdio(i32 2) store i32 0, ptr @lp_site call i32 (ptr, ptr, ...) @fprintf(ptr %t87, ptr @.fmt_bounds, ptr @.str11346, i32 0, i32 %t85) call void @exit(i32 1) unreachable ixok18: %t88 = getelementptr inbounds ptr, ptr %t83, i32 0 %t89 = load ptr, ptr %t88 %t90 = call ptr @fn_emit_expr(ptr %t89) store ptr %t90, ptr %t91 %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 %LSlice, ptr %t94, i32 0, i32 1 %t98 = load i32, ptr %t97 %t99 = icmp ult i32 1, %t98 br i1 %t99, label %ixok20, label %ixbad21 ixbad21: store i32 6485, ptr @lp_site %t100 = call ptr @lp_win_stdio(i32 2) store i32 0, ptr @lp_site call i32 (ptr, ptr, ...) @fprintf(ptr %t100, ptr @.fmt_bounds, ptr @.str11347, i32 1, i32 %t98) call void @exit(i32 1) unreachable ixok20: %t101 = getelementptr inbounds ptr, ptr %t96, i32 1 %t102 = load ptr, ptr %t101 %t103 = call ptr @fn_emit_expr(ptr %t102) store ptr %t103, ptr %t104 %t105 = load ptr, ptr %t91 %t106 = getelementptr inbounds %Cmp_Val, ptr %t105, i32 0, i32 0 %t107 = load ptr, ptr %t106 store i32 6486, ptr @lp_site %t108 = call ptr @lp_str_concat(ptr @.str11348, ptr %t107) store i32 0, ptr @lp_site store i32 6487, ptr @lp_site %t109 = call ptr @lp_str_concat(ptr %t108, ptr @.str11349) store i32 0, ptr @lp_site call void @lp_free(ptr %t108) %t110 = load ptr, ptr %t104 %t111 = getelementptr inbounds %Cmp_Val, ptr %t110, i32 0, i32 0 %t112 = load ptr, ptr %t111 store i32 6488, ptr @lp_site %t113 = call ptr @lp_str_concat(ptr %t109, ptr %t112) store i32 0, ptr @lp_site call void @lp_free(ptr %t109) store i32 6489, ptr @lp_site %t114 = call ptr @lp_str_concat(ptr %t113, ptr @.str11350) store i32 0, ptr @lp_site call void @lp_free(ptr %t113) %t115 = call ptr @fn_emit_bind(ptr %t114) %t116 = call ptr @fn_val(ptr %t115, ptr @.str11351) store ptr %t116, ptr %retval br label %ret ifend17: %t117 = load ptr, ptr %t0 %t118 = call i32 @lp_str_eq(ptr %t117, ptr @.str11352) %t119 = icmp ne i32 %t118, 0 br i1 %t119, label %then22, label %ifend24 then22: %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 %LSlice, ptr %t122, i32 0, i32 1 %t126 = load i32, ptr %t125 %t127 = icmp ult i32 0, %t126 br i1 %t127, label %ixok25, label %ixbad26 ixbad26: store i32 6490, ptr @lp_site %t128 = call ptr @lp_win_stdio(i32 2) store i32 0, ptr @lp_site call i32 (ptr, ptr, ...) @fprintf(ptr %t128, ptr @.fmt_bounds, ptr @.str11353, i32 0, i32 %t126) call void @exit(i32 1) unreachable ixok25: %t129 = getelementptr inbounds ptr, ptr %t124, i32 0 %t130 = load ptr, ptr %t129 %t131 = call ptr @fn_emit_expr(ptr %t130) store ptr %t131, ptr %t132 %t133 = load ptr, ptr %t132 %t134 = getelementptr inbounds %Cmp_Val, ptr %t133, i32 0, i32 0 %t135 = load ptr, ptr %t134 store i32 6491, ptr @lp_site %t136 = call ptr @lp_str_concat(ptr @.str11354, ptr %t135) store i32 0, ptr @lp_site store i32 6492, ptr @lp_site %t137 = call ptr @lp_str_concat(ptr %t136, ptr @.str11355) store i32 0, ptr @lp_site call void @lp_free(ptr %t136) %t138 = call ptr @fn_emit_bind(ptr %t137) %t139 = call ptr @fn_val(ptr %t138, ptr @.str11356) store ptr %t139, ptr %retval br label %ret ifend24: %t140 = load ptr, ptr %t0 %t141 = call i32 @lp_str_eq(ptr %t140, ptr @.str11357) %t142 = icmp ne i32 %t141, 0 br i1 %t142, label %then27, label %ifend29 then27: %t143 = load ptr, ptr %t1 %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 %LSlice, ptr %t145, i32 0, i32 1 %t149 = load i32, ptr %t148 %t150 = icmp ult i32 0, %t149 br i1 %t150, label %ixok30, label %ixbad31 ixbad31: store i32 6493, ptr @lp_site %t151 = call ptr @lp_win_stdio(i32 2) store i32 0, ptr @lp_site call i32 (ptr, ptr, ...) @fprintf(ptr %t151, ptr @.fmt_bounds, ptr @.str11358, i32 0, i32 %t149) call void @exit(i32 1) unreachable ixok30: %t152 = getelementptr inbounds ptr, ptr %t147, i32 0 %t153 = load ptr, ptr %t152 %t154 = call ptr @fn_emit_expr(ptr %t153) store ptr %t154, ptr %t155 %t156 = load ptr, ptr %t155 %t157 = getelementptr inbounds %Cmp_Val, ptr %t156, i32 0, i32 0 %t158 = load ptr, ptr %t157 store i32 6494, ptr @lp_site %t159 = call ptr @lp_str_concat(ptr @.str11359, ptr %t158) store i32 0, ptr @lp_site store i32 6495, ptr @lp_site %t160 = call ptr @lp_str_concat(ptr %t159, ptr @.str11360) store i32 0, ptr @lp_site call void @lp_free(ptr %t159) %t161 = call ptr @fn_emit_bind(ptr %t160) %t162 = call ptr @fn_val(ptr %t161, ptr @.str11361) store ptr %t162, ptr %retval br label %ret ifend29: %t163 = load ptr, ptr %t0 %t164 = call i32 @lp_str_eq(ptr %t163, ptr @.str11362) %t165 = icmp ne i32 %t164, 0 br i1 %t165, label %then32, label %ifend34 then32: %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 %LSlice, ptr %t168, i32 0, i32 1 %t172 = load i32, ptr %t171 %t173 = icmp ult i32 0, %t172 br i1 %t173, label %ixok35, label %ixbad36 ixbad36: store i32 6496, ptr @lp_site %t174 = call ptr @lp_win_stdio(i32 2) store i32 0, ptr @lp_site call i32 (ptr, ptr, ...) @fprintf(ptr %t174, ptr @.fmt_bounds, ptr @.str11363, i32 0, i32 %t172) call void @exit(i32 1) unreachable ixok35: %t175 = getelementptr inbounds ptr, ptr %t170, i32 0 %t176 = load ptr, ptr %t175 %t177 = call ptr @fn_emit_expr(ptr %t176) store ptr %t177, ptr %t178 %t179 = load ptr, ptr %t178 %t180 = getelementptr inbounds %Cmp_Val, ptr %t179, i32 0, i32 0 %t181 = load ptr, ptr %t180 store i32 6497, ptr @lp_site %t182 = call ptr @lp_str_concat(ptr @.str11364, ptr %t181) store i32 0, ptr @lp_site store i32 6498, ptr @lp_site %t183 = call ptr @lp_str_concat(ptr %t182, ptr @.str11365) store i32 0, ptr @lp_site call void @lp_free(ptr %t182) %t184 = call ptr @fn_emit_bind(ptr %t183) %t185 = call ptr @fn_val(ptr %t184, ptr @.str11366) store ptr %t185, ptr %retval br label %ret ifend34: %t186 = load ptr, ptr %t0 %t187 = call i32 @lp_str_eq(ptr %t186, ptr @.str11367) %t188 = icmp ne i32 %t187, 0 br i1 %t188, label %then37, label %ifend39 then37: %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 %LSlice, ptr %t191, i32 0, i32 1 %t195 = load i32, ptr %t194 %t196 = icmp ult i32 0, %t195 br i1 %t196, label %ixok40, label %ixbad41 ixbad41: store i32 6499, ptr @lp_site %t197 = call ptr @lp_win_stdio(i32 2) store i32 0, ptr @lp_site call i32 (ptr, ptr, ...) @fprintf(ptr %t197, ptr @.fmt_bounds, ptr @.str11368, i32 0, i32 %t195) call void @exit(i32 1) unreachable ixok40: %t198 = getelementptr inbounds ptr, ptr %t193, 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 %LSlice, ptr %t204, i32 0, i32 1 %t208 = load i32, ptr %t207 %t209 = icmp ult i32 1, %t208 br i1 %t209, label %ixok42, label %ixbad43 ixbad43: store i32 6500, ptr @lp_site %t210 = call ptr @lp_win_stdio(i32 2) store i32 0, ptr @lp_site call i32 (ptr, ptr, ...) @fprintf(ptr %t210, ptr @.fmt_bounds, ptr @.str11369, i32 1, i32 %t208) call void @exit(i32 1) unreachable ixok42: %t211 = getelementptr inbounds ptr, ptr %t206, i32 1 %t212 = load ptr, ptr %t211 %t213 = call ptr @fn_emit_expr(ptr %t212) store ptr %t213, ptr %t214 %t215 = load ptr, ptr %t201 %t216 = getelementptr inbounds %Cmp_Val, ptr %t215, i32 0, i32 0 %t217 = load ptr, ptr %t216 store i32 6501, ptr @lp_site %t218 = call ptr @lp_str_concat(ptr @.str11370, ptr %t217) store i32 0, ptr @lp_site store i32 6502, ptr @lp_site %t219 = call ptr @lp_str_concat(ptr %t218, ptr @.str11371) store i32 0, ptr @lp_site call void @lp_free(ptr %t218) %t220 = load ptr, ptr %t214 %t221 = getelementptr inbounds %Cmp_Val, ptr %t220, i32 0, i32 0 %t222 = load ptr, ptr %t221 store i32 6503, ptr @lp_site %t223 = call ptr @lp_str_concat(ptr %t219, ptr %t222) store i32 0, ptr @lp_site call void @lp_free(ptr %t219) store i32 6504, ptr @lp_site %t224 = call ptr @lp_str_concat(ptr %t223, ptr @.str11372) store i32 0, ptr @lp_site call void @lp_free(ptr %t223) %t225 = call ptr @fn_emit_bind(ptr %t224) %t226 = call ptr @fn_val(ptr %t225, ptr @.str11373) store ptr %t226, ptr %retval br label %ret ifend39: %t227 = load ptr, ptr %t1 %t228 = getelementptr inbounds %Cmp_Node, ptr %t227, i32 0, i32 7 %t229 = load ptr, ptr %t228 %t230 = getelementptr inbounds %LSlice, ptr %t229, i32 0, i32 0 %t231 = load ptr, ptr %t230 %t232 = getelementptr inbounds %LSlice, ptr %t229, i32 0, i32 1 %t233 = load i32, ptr %t232 %t234 = icmp ult i32 0, %t233 br i1 %t234, label %ixok44, label %ixbad45 ixbad45: store i32 6505, ptr @lp_site %t235 = call ptr @lp_win_stdio(i32 2) store i32 0, ptr @lp_site call i32 (ptr, ptr, ...) @fprintf(ptr %t235, ptr @.fmt_bounds, ptr @.str11374, i32 0, i32 %t233) call void @exit(i32 1) unreachable ixok44: %t236 = getelementptr inbounds ptr, ptr %t231, i32 0 %t237 = load ptr, ptr %t236 %t238 = call ptr @fn_emit_expr(ptr %t237) store ptr %t238, ptr %t239 %t240 = load ptr, ptr %t239 %t241 = getelementptr inbounds %Cmp_Val, ptr %t240, i32 0, i32 0 %t242 = load ptr, ptr %t241 store i32 6506, ptr @lp_site %t243 = call ptr @lp_str_concat(ptr @.str11375, ptr %t242) store i32 0, ptr @lp_site store i32 6507, ptr @lp_site %t244 = call ptr @lp_str_concat(ptr %t243, ptr @.str11376) store i32 0, ptr @lp_site call void @lp_free(ptr %t243) %t245 = call ptr @fn_emit_bind(ptr %t244) %t246 = call ptr @fn_val(ptr %t245, ptr @.str11377) store ptr %t246, ptr %retval br label %ret ret: %t247 = load ptr, ptr %retval ret ptr %t247 } 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 @.str11378) call void @fn_emith(ptr @.str11379) call void @fn_emith(ptr @.str11380) call void @fn_emith(ptr @.str11381) call void @fn_emith(ptr @.str11382) call void @fn_emith(ptr @.str11383) call void @fn_emith(ptr @.str11384) call void @fn_emith(ptr @.str11385) call void @fn_emith(ptr @.str11386) call void @fn_emith(ptr @.str11387) call void @fn_emith(ptr @.str11388) call void @fn_emith(ptr @.str11389) call void @fn_emith(ptr @.str11390) call void @fn_emith(ptr @.str11391) call void @fn_emith(ptr @.str11392) call void @fn_emith(ptr @.str11393) call void @fn_emith(ptr @.str11394) call void @fn_emith(ptr @.str11395) call void @fn_emith(ptr @.str11396) call void @fn_emith(ptr @.str11397) call void @fn_emith(ptr @.str11398) call void @fn_emith(ptr @.str11399) call void @fn_emith(ptr @.str11400) call void @fn_emith(ptr @.str11401) call void @fn_emith(ptr @.str11402) call void @fn_emith(ptr @.str11403) call void @fn_emith(ptr @.str11404) call void @fn_emith(ptr @.str11405) call void @fn_emith(ptr @.str11406) call void @fn_emith(ptr @.str11407) call void @fn_emith(ptr @.str11408) call void @fn_emith(ptr @.str11409) call void @fn_emith(ptr @.str11410) call void @fn_emith(ptr @.str11411) call void @fn_emith(ptr @.str11412) call void @fn_emith(ptr @.str11413) call void @fn_emith(ptr @.str11414) call void @fn_emith(ptr @.str11415) call void @fn_emith(ptr @.str11416) call void @fn_emith(ptr @.str11417) call void @fn_emith(ptr @.str11418) call void @fn_emith(ptr @.str11419) call void @fn_emith(ptr @.str11420) call void @fn_emith(ptr @.str11421) call void @fn_emith(ptr @.str11422) call void @fn_emith(ptr @.str11423) call void @fn_emith(ptr @.str11424) call void @fn_emith(ptr @.str11425) call void @fn_emith(ptr @.str11426) call void @fn_emith(ptr @.str11427) call void @fn_emith(ptr @.str11428) call void @fn_emith(ptr @.str11429) call void @fn_emith(ptr @.str11430) call void @fn_emith(ptr @.str11431) call void @fn_emith(ptr @.str11432) call void @fn_emith(ptr @.str11433) call void @fn_emith(ptr @.str11434) call void @fn_emith(ptr @.str11435) call void @fn_emith(ptr @.str11436) call void @fn_emith(ptr @.str11437) call void @fn_emith(ptr @.str11438) call void @fn_emith(ptr @.str11439) call void @fn_emith(ptr @.str11440) call void @fn_emith(ptr @.str11441) call void @fn_emith(ptr @.str11442) call void @fn_emith(ptr @.str11443) call void @fn_emith(ptr @.str11444) call void @fn_emith(ptr @.str11445) call void @fn_emith(ptr @.str11446) call void @fn_emith(ptr @.str11447) call void @fn_emith(ptr @.str11448) call void @fn_emith(ptr @.str11449) call void @fn_emith(ptr @.str11450) br label %ret ret: ret void } define void @fn_emit_uni_case_fns() { entry: call void @fn_emith(ptr @.str11451) call void @fn_emith(ptr @.str11452) call void @fn_emith(ptr @.str11453) call void @fn_emith(ptr @.str11454) call void @fn_emith(ptr @.str11455) call void @fn_emith(ptr @.str11456) call void @fn_emith(ptr @.str11457) call void @fn_emith(ptr @.str11458) call void @fn_emith(ptr @.str11459) call void @fn_emith(ptr @.str11460) call void @fn_emith(ptr @.str11461) call void @fn_emith(ptr @.str11462) call void @fn_emith(ptr @.str11463) call void @fn_emith(ptr @.str11464) call void @fn_emith(ptr @.str11465) call void @fn_emith(ptr @.str11466) call void @fn_emith(ptr @.str11467) call void @fn_emith(ptr @.str11468) call void @fn_emith(ptr @.str11469) call void @fn_emith(ptr @.str11470) call void @fn_emith(ptr @.str11471) call void @fn_emith(ptr @.str11472) call void @fn_emith(ptr @.str11473) call void @fn_emith(ptr @.str11474) call void @fn_emith(ptr @.str11475) call void @fn_emith(ptr @.str11476) call void @fn_emith(ptr @.str11477) call void @fn_emith(ptr @.str11478) call void @fn_emith(ptr @.str11479) call void @fn_emith(ptr @.str11480) call void @fn_emith(ptr @.str11481) call void @fn_emith(ptr @.str11482) call void @fn_emith(ptr @.str11483) call void @fn_emith(ptr @.str11484) call void @fn_emith(ptr @.str11485) call void @fn_emith(ptr @.str11486) call void @fn_emith(ptr @.str11487) call void @fn_emith(ptr @.str11488) call void @fn_emith(ptr @.str11489) call void @fn_emith(ptr @.str11490) br label %ret ret: ret void } define void @fn_emit_uni_str_fns() { entry: call void @fn_emith(ptr @.str11491) call void @fn_emith(ptr @.str11492) call void @fn_emith(ptr @.str11493) call void @fn_emith(ptr @.str11494) call void @fn_emith(ptr @.str11495) call void @fn_emith(ptr @.str11496) call void @fn_emith(ptr @.str11497) call void @fn_emith(ptr @.str11498) call void @fn_emith(ptr @.str11499) call void @fn_emith(ptr @.str11500) call void @fn_emith(ptr @.str11501) call void @fn_emith(ptr @.str11502) call void @fn_emith(ptr @.str11503) call void @fn_emith(ptr @.str11504) call void @fn_emith(ptr @.str11505) call void @fn_emith(ptr @.str11506) call void @fn_emith(ptr @.str11507) call void @fn_emith(ptr @.str11508) call void @fn_emith(ptr @.str11509) call void @fn_emith(ptr @.str11510) call void @fn_emith(ptr @.str11511) call void @fn_emith(ptr @.str11512) call void @fn_emith(ptr @.str11513) call void @fn_emith(ptr @.str11514) call void @fn_emith(ptr @.str11515) call void @fn_emith(ptr @.str11516) call void @fn_emith(ptr @.str11517) call void @fn_emith(ptr @.str11518) call void @fn_emith(ptr @.str11519) call void @fn_emith(ptr @.str11520) call void @fn_emith(ptr @.str11521) call void @fn_emith(ptr @.str11522) call void @fn_emith(ptr @.str11523) call void @fn_emith(ptr @.str11524) call void @fn_emith(ptr @.str11525) call void @fn_emith(ptr @.str11526) call void @fn_emith(ptr @.str11527) call void @fn_emit_uni_grapheme() br label %ret ret: ret void } define void @fn_emit_uni_grapheme() { entry: call void @fn_emith(ptr @.str11528) call void @fn_emith(ptr @.str11529) call void @fn_emith(ptr @.str11530) call void @fn_emith(ptr @.str11531) call void @fn_emith(ptr @.str11532) call void @fn_emith(ptr @.str11533) call void @fn_emith(ptr @.str11534) call void @fn_emith(ptr @.str11535) call void @fn_emith(ptr @.str11536) call void @fn_emith(ptr @.str11537) call void @fn_emith(ptr @.str11538) call void @fn_emith(ptr @.str11539) call void @fn_emith(ptr @.str11540) call void @fn_emith(ptr @.str11541) call void @fn_emith(ptr @.str11542) call void @fn_emith(ptr @.str11543) call void @fn_emith(ptr @.str11544) call void @fn_emith(ptr @.str11545) call void @fn_emith(ptr @.str11546) 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 %t66 = alloca i32 store ptr %arg_meth, ptr %t0 %t3 = load ptr, ptr %t0 %t4 = call i32 @lp_str_eq(ptr %t3, ptr @.str11547) %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 @.str11548) %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 @.str11549) %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 @.str11550) %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 @.str11551) %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 @.str11552) %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 @.str11553) %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 @.str11554) %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 @.str11555) %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 @.str11556) %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: %t67 = load ptr, ptr %t0 %t68 = call i32 @lp_str_eq(ptr %t67, ptr @.str11557) %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 @.str11558) %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 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 @.str11559) %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 @.str11560) %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 @.str11561) %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 @.str11562) %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 @.str11563) %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 @.str11564) %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 @.str11565) %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 @.str11566) %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 %t14 = alloca ptr %t117 = 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 %LSlice, ptr %t4, i32 0, i32 1 %t8 = load i32, ptr %t7 %t9 = icmp ult i32 0, %t8 br i1 %t9, label %ixok0, label %ixbad1 ixbad1: store i32 6508, ptr @lp_site %t10 = call ptr @lp_win_stdio(i32 2) store i32 0, ptr @lp_site call i32 (ptr, ptr, ...) @fprintf(ptr %t10, ptr @.fmt_bounds, ptr @.str11567, i32 0, i32 %t8) call void @exit(i32 1) unreachable ixok0: %t11 = getelementptr inbounds ptr, ptr %t6, i32 0 %t12 = load ptr, ptr %t11 %t13 = call ptr @fn_emit_expr(ptr %t12) store ptr %t13, ptr %t14 %t15 = load ptr, ptr %t0 %t16 = call i32 @lp_str_eq(ptr %t15, ptr @.str11569) %t17 = icmp ne i32 %t16, 0 br i1 %t17, label %then2, label %ifend4 then2: %t18 = load ptr, ptr %t14 %t19 = getelementptr inbounds %Cmp_Val, ptr %t18, i32 0, i32 0 %t20 = load ptr, ptr %t19 store i32 6509, ptr @lp_site %t21 = call ptr @lp_str_concat(ptr @.str11570, ptr %t20) store i32 0, ptr @lp_site store i32 6510, ptr @lp_site %t22 = call ptr @lp_str_concat(ptr %t21, ptr @.str11571) store i32 0, ptr @lp_site call void @lp_free(ptr %t21) %t23 = call ptr @fn_emit_bind(ptr %t22) %t24 = call ptr @fn_val(ptr %t23, ptr @.str11572) store ptr %t24, ptr %retval br label %ret ifend4: %t25 = load ptr, ptr %t0 %t26 = call i32 @lp_str_eq(ptr %t25, ptr @.str11573) %t27 = icmp ne i32 %t26, 0 br i1 %t27, label %then5, label %ifend7 then5: %t28 = load ptr, ptr %t14 %t29 = getelementptr inbounds %Cmp_Val, ptr %t28, i32 0, i32 0 %t30 = load ptr, ptr %t29 store i32 6511, ptr @lp_site %t31 = call ptr @lp_str_concat(ptr @.str11574, ptr %t30) store i32 0, ptr @lp_site store i32 6512, ptr @lp_site %t32 = call ptr @lp_str_concat(ptr %t31, ptr @.str11575) store i32 0, ptr @lp_site call void @lp_free(ptr %t31) %t33 = call ptr @fn_emit_bind(ptr %t32) %t34 = call ptr @fn_val(ptr %t33, ptr @.str11576) store ptr %t34, ptr %retval br label %ret ifend7: %t35 = load ptr, ptr %t0 %t36 = call i32 @lp_str_eq(ptr %t35, ptr @.str11577) %t37 = icmp ne i32 %t36, 0 br i1 %t37, label %then8, label %ifend10 then8: %t38 = load ptr, ptr %t14 %t39 = getelementptr inbounds %Cmp_Val, ptr %t38, i32 0, i32 0 %t40 = load ptr, ptr %t39 store i32 6513, ptr @lp_site %t41 = call ptr @lp_str_concat(ptr @.str11578, ptr %t40) store i32 0, ptr @lp_site store i32 6514, ptr @lp_site %t42 = call ptr @lp_str_concat(ptr %t41, ptr @.str11579) store i32 0, ptr @lp_site call void @lp_free(ptr %t41) %t43 = call ptr @fn_emit_bind(ptr %t42) %t44 = call ptr @fn_val(ptr %t43, ptr @.str11580) store ptr %t44, ptr %retval br label %ret ifend10: %t45 = load ptr, ptr %t0 %t46 = call i32 @lp_str_eq(ptr %t45, ptr @.str11581) %t47 = icmp ne i32 %t46, 0 br i1 %t47, label %then11, label %ifend13 then11: %t48 = load ptr, ptr %t14 %t49 = getelementptr inbounds %Cmp_Val, ptr %t48, i32 0, i32 0 %t50 = load ptr, ptr %t49 store i32 6515, ptr @lp_site %t51 = call ptr @lp_str_concat(ptr @.str11582, ptr %t50) store i32 0, ptr @lp_site store i32 6516, ptr @lp_site %t52 = call ptr @lp_str_concat(ptr %t51, ptr @.str11583) store i32 0, ptr @lp_site call void @lp_free(ptr %t51) %t53 = call ptr @fn_emit_bind(ptr %t52) %t54 = call ptr @fn_val(ptr %t53, ptr @.str11584) store ptr %t54, ptr %retval br label %ret ifend13: %t55 = load ptr, ptr %t0 %t56 = call i32 @lp_str_eq(ptr %t55, ptr @.str11585) %t57 = icmp ne i32 %t56, 0 br i1 %t57, label %then14, label %ifend16 then14: %t58 = load ptr, ptr %t14 %t59 = getelementptr inbounds %Cmp_Val, ptr %t58, i32 0, i32 0 %t60 = load ptr, ptr %t59 store i32 6517, ptr @lp_site %t61 = call ptr @lp_str_concat(ptr @.str11586, ptr %t60) store i32 0, ptr @lp_site store i32 6518, ptr @lp_site %t62 = call ptr @lp_str_concat(ptr %t61, ptr @.str11587) store i32 0, ptr @lp_site call void @lp_free(ptr %t61) %t63 = call ptr @fn_emit_bind(ptr %t62) %t64 = call ptr @fn_val(ptr %t63, ptr @.str11588) store ptr %t64, ptr %retval br label %ret ifend16: %t65 = load ptr, ptr %t0 %t66 = call i32 @lp_str_eq(ptr %t65, ptr @.str11589) %t67 = icmp ne i32 %t66, 0 br i1 %t67, label %then17, label %ifend19 then17: %t68 = load ptr, ptr %t14 %t69 = getelementptr inbounds %Cmp_Val, ptr %t68, i32 0, i32 0 %t70 = load ptr, ptr %t69 store i32 6519, ptr @lp_site %t71 = call ptr @lp_str_concat(ptr @.str11590, ptr %t70) store i32 0, ptr @lp_site store i32 6520, ptr @lp_site %t72 = call ptr @lp_str_concat(ptr %t71, ptr @.str11591) store i32 0, ptr @lp_site call void @lp_free(ptr %t71) %t73 = call ptr @fn_emit_bind(ptr %t72) %t74 = call ptr @fn_val(ptr %t73, ptr @.str11592) store ptr %t74, ptr %retval br label %ret ifend19: %t75 = load ptr, ptr %t0 %t76 = call i32 @lp_str_eq(ptr %t75, ptr @.str11593) %t77 = icmp ne i32 %t76, 0 br i1 %t77, label %then20, label %ifend22 then20: %t78 = load ptr, ptr %t14 %t79 = getelementptr inbounds %Cmp_Val, ptr %t78, i32 0, i32 0 %t80 = load ptr, ptr %t79 store i32 6521, ptr @lp_site %t81 = call ptr @lp_str_concat(ptr @.str11594, ptr %t80) store i32 0, ptr @lp_site store i32 6522, ptr @lp_site %t82 = call ptr @lp_str_concat(ptr %t81, ptr @.str11595) store i32 0, ptr @lp_site call void @lp_free(ptr %t81) %t83 = call ptr @fn_emit_bind(ptr %t82) %t84 = call ptr @fn_val(ptr %t83, ptr @.str11596) store ptr %t84, ptr %retval br label %ret ifend22: %t85 = load ptr, ptr %t0 %t86 = call i32 @lp_str_eq(ptr %t85, ptr @.str11597) %t87 = icmp ne i32 %t86, 0 br i1 %t87, label %then23, label %ifend25 then23: %t88 = load ptr, ptr %t14 %t89 = getelementptr inbounds %Cmp_Val, ptr %t88, i32 0, i32 0 %t90 = load ptr, ptr %t89 store i32 6523, ptr @lp_site %t91 = call ptr @lp_str_concat(ptr @.str11598, ptr %t90) store i32 0, ptr @lp_site store i32 6524, ptr @lp_site %t92 = call ptr @lp_str_concat(ptr %t91, ptr @.str11599) store i32 0, ptr @lp_site call void @lp_free(ptr %t91) %t93 = call ptr @fn_emit_bind(ptr %t92) %t94 = call ptr @fn_val(ptr %t93, ptr @.str11600) store ptr %t94, ptr %retval br label %ret ifend25: %t95 = load ptr, ptr %t0 %t96 = call i32 @lp_str_eq(ptr %t95, ptr @.str11601) %t97 = icmp ne i32 %t96, 0 br i1 %t97, label %then26, label %ifend28 then26: %t98 = load ptr, ptr %t14 %t99 = getelementptr inbounds %Cmp_Val, ptr %t98, i32 0, i32 0 %t100 = load ptr, ptr %t99 store i32 6525, ptr @lp_site %t101 = call ptr @lp_str_concat(ptr @.str11602, ptr %t100) store i32 0, ptr @lp_site store i32 6526, ptr @lp_site %t102 = call ptr @lp_str_concat(ptr %t101, ptr @.str11603) store i32 0, ptr @lp_site call void @lp_free(ptr %t101) %t103 = call ptr @fn_emit_bind(ptr %t102) %t104 = call ptr @fn_val(ptr %t103, ptr @.str11604) store ptr %t104, ptr %retval br label %ret ifend28: %t105 = load ptr, ptr %t1 %t106 = getelementptr inbounds %Cmp_Node, ptr %t105, i32 0, i32 7 %t107 = load ptr, ptr %t106 %t108 = getelementptr inbounds %LSlice, ptr %t107, i32 0, i32 0 %t109 = load ptr, ptr %t108 %t110 = getelementptr inbounds %LSlice, ptr %t107, i32 0, i32 1 %t111 = load i32, ptr %t110 %t112 = icmp ult i32 1, %t111 br i1 %t112, label %ixok29, label %ixbad30 ixbad30: store i32 6527, ptr @lp_site %t113 = call ptr @lp_win_stdio(i32 2) store i32 0, ptr @lp_site call i32 (ptr, ptr, ...) @fprintf(ptr %t113, ptr @.fmt_bounds, ptr @.str11605, i32 1, i32 %t111) call void @exit(i32 1) unreachable ixok29: %t114 = getelementptr inbounds ptr, ptr %t109, i32 1 %t115 = load ptr, ptr %t114 %t116 = call ptr @fn_emit_expr(ptr %t115) store ptr %t116, ptr %t117 %t118 = load ptr, ptr %t0 %t119 = call i32 @lp_str_eq(ptr %t118, ptr @.str11606) %t120 = icmp ne i32 %t119, 0 br i1 %t120, label %then31, label %ifend33 then31: %t121 = load ptr, ptr %t14 %t122 = getelementptr inbounds %Cmp_Val, ptr %t121, i32 0, i32 0 %t123 = load ptr, ptr %t122 store i32 6528, ptr @lp_site %t124 = call ptr @lp_str_concat(ptr @.str11607, ptr %t123) store i32 0, ptr @lp_site store i32 6529, ptr @lp_site %t125 = call ptr @lp_str_concat(ptr %t124, ptr @.str11608) store i32 0, ptr @lp_site call void @lp_free(ptr %t124) %t126 = load ptr, ptr %t117 %t127 = getelementptr inbounds %Cmp_Val, ptr %t126, i32 0, i32 0 %t128 = load ptr, ptr %t127 store i32 6530, ptr @lp_site %t129 = call ptr @lp_str_concat(ptr %t125, ptr %t128) store i32 0, ptr @lp_site call void @lp_free(ptr %t125) store i32 6531, ptr @lp_site %t130 = call ptr @lp_str_concat(ptr %t129, ptr @.str11609) store i32 0, ptr @lp_site call void @lp_free(ptr %t129) %t131 = call ptr @fn_emit_bind(ptr %t130) %t132 = call ptr @fn_val(ptr %t131, ptr @.str11610) store ptr %t132, ptr %retval br label %ret ifend33: %t133 = load ptr, ptr %t0 %t134 = call i32 @lp_str_eq(ptr %t133, ptr @.str11611) %t135 = icmp ne i32 %t134, 0 br i1 %t135, label %then34, label %ifend36 then34: %t136 = load ptr, ptr %t14 %t137 = getelementptr inbounds %Cmp_Val, ptr %t136, i32 0, i32 0 %t138 = load ptr, ptr %t137 store i32 6532, ptr @lp_site %t139 = call ptr @lp_str_concat(ptr @.str11612, ptr %t138) store i32 0, ptr @lp_site store i32 6533, ptr @lp_site %t140 = call ptr @lp_str_concat(ptr %t139, ptr @.str11613) store i32 0, ptr @lp_site call void @lp_free(ptr %t139) %t141 = load ptr, ptr %t117 %t142 = getelementptr inbounds %Cmp_Val, ptr %t141, i32 0, i32 0 %t143 = load ptr, ptr %t142 store i32 6534, ptr @lp_site %t144 = call ptr @lp_str_concat(ptr %t140, ptr %t143) store i32 0, ptr @lp_site call void @lp_free(ptr %t140) store i32 6535, ptr @lp_site %t145 = call ptr @lp_str_concat(ptr %t144, ptr @.str11614) store i32 0, ptr @lp_site call void @lp_free(ptr %t144) %t146 = call ptr @fn_emit_bind(ptr %t145) %t147 = call ptr @fn_val(ptr %t146, ptr @.str11615) store ptr %t147, ptr %retval br label %ret ifend36: %t148 = load ptr, ptr %t14 %t149 = getelementptr inbounds %Cmp_Val, ptr %t148, i32 0, i32 0 %t150 = load ptr, ptr %t149 store i32 6536, ptr @lp_site %t151 = call ptr @lp_str_concat(ptr @.str11616, ptr %t150) store i32 0, ptr @lp_site store i32 6537, ptr @lp_site %t152 = call ptr @lp_str_concat(ptr %t151, ptr @.str11617) store i32 0, ptr @lp_site call void @lp_free(ptr %t151) %t153 = load ptr, ptr %t117 %t154 = getelementptr inbounds %Cmp_Val, ptr %t153, i32 0, i32 0 %t155 = load ptr, ptr %t154 store i32 6538, ptr @lp_site %t156 = call ptr @lp_str_concat(ptr %t152, ptr %t155) store i32 0, ptr @lp_site call void @lp_free(ptr %t152) store i32 6539, ptr @lp_site %t157 = call ptr @lp_str_concat(ptr %t156, ptr @.str11618) store i32 0, ptr @lp_site call void @lp_free(ptr %t156) %t158 = call ptr @fn_emit_bind(ptr %t157) %t159 = call ptr @fn_val(ptr %t158, ptr @.str11619) store ptr %t159, ptr %retval br label %ret ret: %t160 = load ptr, ptr %retval ret ptr %t160 } define ptr @fn_emit_path_ns(ptr %arg_meth, ptr %arg_e) { entry: %retval = alloca ptr %t0 = alloca ptr %t1 = alloca ptr %t14 = alloca ptr %t77 = 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 %LSlice, ptr %t4, i32 0, i32 1 %t8 = load i32, ptr %t7 %t9 = icmp ult i32 0, %t8 br i1 %t9, label %ixok0, label %ixbad1 ixbad1: store i32 6540, ptr @lp_site %t10 = call ptr @lp_win_stdio(i32 2) store i32 0, ptr @lp_site call i32 (ptr, ptr, ...) @fprintf(ptr %t10, ptr @.fmt_bounds, ptr @.str11620, i32 0, i32 %t8) call void @exit(i32 1) unreachable ixok0: %t11 = getelementptr inbounds ptr, ptr %t6, i32 0 %t12 = load ptr, ptr %t11 %t13 = call ptr @fn_emit_expr(ptr %t12) store ptr %t13, ptr %t14 %t15 = load ptr, ptr %t0 %t16 = call i32 @lp_str_eq(ptr %t15, ptr @.str11622) %t17 = icmp ne i32 %t16, 0 br i1 %t17, label %then2, label %ifend4 then2: %t18 = load ptr, ptr %t14 %t19 = getelementptr inbounds %Cmp_Val, ptr %t18, i32 0, i32 0 %t20 = load ptr, ptr %t19 store i32 6541, ptr @lp_site %t21 = call ptr @lp_str_concat(ptr @.str11623, ptr %t20) store i32 0, ptr @lp_site store i32 6542, ptr @lp_site %t22 = call ptr @lp_str_concat(ptr %t21, ptr @.str11624) store i32 0, ptr @lp_site call void @lp_free(ptr %t21) %t23 = call ptr @fn_emit_bind(ptr %t22) %t24 = call ptr @fn_fresh_val(ptr %t23, ptr @.str11625) store ptr %t24, ptr %retval br label %ret ifend4: %t25 = load ptr, ptr %t0 %t26 = call i32 @lp_str_eq(ptr %t25, ptr @.str11626) %t27 = icmp ne i32 %t26, 0 br i1 %t27, label %then5, label %ifend7 then5: %t28 = load ptr, ptr %t14 %t29 = getelementptr inbounds %Cmp_Val, ptr %t28, i32 0, i32 0 %t30 = load ptr, ptr %t29 store i32 6543, ptr @lp_site %t31 = call ptr @lp_str_concat(ptr @.str11627, ptr %t30) store i32 0, ptr @lp_site store i32 6544, ptr @lp_site %t32 = call ptr @lp_str_concat(ptr %t31, ptr @.str11628) store i32 0, ptr @lp_site call void @lp_free(ptr %t31) %t33 = call ptr @fn_emit_bind(ptr %t32) %t34 = call ptr @fn_fresh_val(ptr %t33, ptr @.str11629) store ptr %t34, ptr %retval br label %ret ifend7: %t35 = load ptr, ptr %t0 %t36 = call i32 @lp_str_eq(ptr %t35, ptr @.str11630) %t37 = icmp ne i32 %t36, 0 br i1 %t37, label %then8, label %ifend10 then8: %t38 = load ptr, ptr %t14 %t39 = getelementptr inbounds %Cmp_Val, ptr %t38, i32 0, i32 0 %t40 = load ptr, ptr %t39 store i32 6545, ptr @lp_site %t41 = call ptr @lp_str_concat(ptr @.str11631, ptr %t40) store i32 0, ptr @lp_site store i32 6546, ptr @lp_site %t42 = call ptr @lp_str_concat(ptr %t41, ptr @.str11632) store i32 0, ptr @lp_site call void @lp_free(ptr %t41) %t43 = call ptr @fn_emit_bind(ptr %t42) %t44 = call ptr @fn_fresh_val(ptr %t43, ptr @.str11633) store ptr %t44, ptr %retval br label %ret ifend10: %t45 = load ptr, ptr %t0 %t46 = call i32 @lp_str_eq(ptr %t45, ptr @.str11634) %t47 = icmp ne i32 %t46, 0 br i1 %t47, label %then11, label %ifend13 then11: %t48 = load ptr, ptr %t14 %t49 = getelementptr inbounds %Cmp_Val, ptr %t48, i32 0, i32 0 %t50 = load ptr, ptr %t49 store i32 6547, ptr @lp_site %t51 = call ptr @lp_str_concat(ptr @.str11635, ptr %t50) store i32 0, ptr @lp_site store i32 6548, ptr @lp_site %t52 = call ptr @lp_str_concat(ptr %t51, ptr @.str11636) store i32 0, ptr @lp_site call void @lp_free(ptr %t51) %t53 = call ptr @fn_emit_bind(ptr %t52) %t54 = call ptr @fn_fresh_val(ptr %t53, ptr @.str11637) store ptr %t54, ptr %retval br label %ret ifend13: %t55 = load ptr, ptr %t0 %t56 = call i32 @lp_str_eq(ptr %t55, ptr @.str11638) %t57 = icmp ne i32 %t56, 0 br i1 %t57, label %then14, label %ifend16 then14: %t58 = load ptr, ptr %t14 %t59 = getelementptr inbounds %Cmp_Val, ptr %t58, i32 0, i32 0 %t60 = load ptr, ptr %t59 store i32 6549, ptr @lp_site %t61 = call ptr @lp_str_concat(ptr @.str11639, ptr %t60) store i32 0, ptr @lp_site store i32 6550, ptr @lp_site %t62 = call ptr @lp_str_concat(ptr %t61, ptr @.str11640) store i32 0, ptr @lp_site call void @lp_free(ptr %t61) %t63 = call ptr @fn_emit_bind(ptr %t62) %t64 = call ptr @fn_fresh_val(ptr %t63, ptr @.str11641) store ptr %t64, ptr %retval br label %ret ifend16: %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 = getelementptr inbounds %LSlice, ptr %t67, i32 0, i32 1 %t71 = load i32, ptr %t70 %t72 = icmp ult i32 1, %t71 br i1 %t72, label %ixok17, label %ixbad18 ixbad18: store i32 6551, ptr @lp_site %t73 = call ptr @lp_win_stdio(i32 2) store i32 0, ptr @lp_site call i32 (ptr, ptr, ...) @fprintf(ptr %t73, ptr @.fmt_bounds, ptr @.str11642, i32 1, i32 %t71) call void @exit(i32 1) unreachable ixok17: %t74 = getelementptr inbounds ptr, ptr %t69, i32 1 %t75 = load ptr, ptr %t74 %t76 = call ptr @fn_emit_expr(ptr %t75) store ptr %t76, ptr %t77 %t78 = load ptr, ptr %t14 %t79 = getelementptr inbounds %Cmp_Val, ptr %t78, i32 0, i32 0 %t80 = load ptr, ptr %t79 store i32 6552, ptr @lp_site %t81 = call ptr @lp_str_concat(ptr @.str11643, ptr %t80) store i32 0, ptr @lp_site store i32 6553, ptr @lp_site %t82 = call ptr @lp_str_concat(ptr %t81, ptr @.str11644) store i32 0, ptr @lp_site call void @lp_free(ptr %t81) %t83 = load ptr, ptr %t77 %t84 = getelementptr inbounds %Cmp_Val, ptr %t83, i32 0, i32 0 %t85 = load ptr, ptr %t84 store i32 6554, ptr @lp_site %t86 = call ptr @lp_str_concat(ptr %t82, ptr %t85) store i32 0, ptr @lp_site call void @lp_free(ptr %t82) store i32 6555, ptr @lp_site %t87 = call ptr @lp_str_concat(ptr %t86, ptr @.str11645) store i32 0, ptr @lp_site call void @lp_free(ptr %t86) %t88 = call ptr @fn_emit_bind(ptr %t87) %t89 = call ptr @fn_fresh_val(ptr %t88, ptr @.str11646) store ptr %t89, ptr %retval br label %ret ret: %t90 = load ptr, ptr %retval ret ptr %t90 } define ptr @fn_emit_mime_ns(ptr %arg_meth, ptr %arg_e) { entry: %retval = alloca ptr %t0 = alloca ptr %t1 = alloca ptr %t14 = 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 %LSlice, ptr %t4, i32 0, i32 1 %t8 = load i32, ptr %t7 %t9 = icmp ult i32 0, %t8 br i1 %t9, label %ixok0, label %ixbad1 ixbad1: store i32 6556, ptr @lp_site %t10 = call ptr @lp_win_stdio(i32 2) store i32 0, ptr @lp_site call i32 (ptr, ptr, ...) @fprintf(ptr %t10, ptr @.fmt_bounds, ptr @.str11647, i32 0, i32 %t8) call void @exit(i32 1) unreachable ixok0: %t11 = getelementptr inbounds ptr, ptr %t6, i32 0 %t12 = load ptr, ptr %t11 %t13 = call ptr @fn_emit_expr(ptr %t12) store ptr %t13, ptr %t14 %t15 = load ptr, ptr %t0 %t16 = call i32 @lp_str_eq(ptr %t15, ptr @.str11649) %t17 = icmp ne i32 %t16, 0 br i1 %t17, label %then2, label %ifend4 then2: %t18 = load ptr, ptr %t14 %t19 = getelementptr inbounds %Cmp_Val, ptr %t18, i32 0, i32 0 %t20 = load ptr, ptr %t19 store i32 6557, ptr @lp_site %t21 = call ptr @lp_str_concat(ptr @.str11650, ptr %t20) store i32 0, ptr @lp_site store i32 6558, ptr @lp_site %t22 = call ptr @lp_str_concat(ptr %t21, ptr @.str11651) store i32 0, ptr @lp_site call void @lp_free(ptr %t21) %t23 = call ptr @fn_emit_bind(ptr %t22) %t24 = call ptr @fn_fresh_val(ptr %t23, ptr @.str11652) store ptr %t24, ptr %retval br label %ret ifend4: %t25 = load ptr, ptr %t14 %t26 = getelementptr inbounds %Cmp_Val, ptr %t25, i32 0, i32 0 %t27 = load ptr, ptr %t26 store i32 6559, ptr @lp_site %t28 = call ptr @lp_str_concat(ptr @.str11653, ptr %t27) store i32 0, ptr @lp_site store i32 6560, ptr @lp_site %t29 = call ptr @lp_str_concat(ptr %t28, ptr @.str11654) store i32 0, ptr @lp_site call void @lp_free(ptr %t28) %t30 = call ptr @fn_emit_bind(ptr %t29) %t31 = call ptr @fn_fresh_val(ptr %t30, ptr @.str11655) store ptr %t31, ptr %retval br label %ret ret: %t32 = load ptr, ptr %retval ret ptr %t32 } 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 @.str11656) call void @fn_emith(ptr @.str11657) call void @fn_emith(ptr @.str11658) call void @fn_emith(ptr @.str11659) call void @fn_emith(ptr @.str11660) call void @fn_emith(ptr @.str11661) call void @fn_emith(ptr @.str11662) 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 @.str11663) call void @fn_emith(ptr @.str11664) call void @fn_emith(ptr @.str11665) call void @fn_emith(ptr @.str11666) call void @fn_emith(ptr @.str11667) call void @fn_emith(ptr @.str11668) call void @fn_emith(ptr @.str11669) call void @fn_emith(ptr @.str11670) call void @fn_emith(ptr @.str11671) call void @fn_emith(ptr @.str11672) call void @fn_emith(ptr @.str11673) call void @fn_emith(ptr @.str11674) call void @fn_emith(ptr @.str11675) br label %ret ret: ret void } define void @fn_emit_fs_path() { entry: call void @fn_emith(ptr @.str11676) call void @fn_emith(ptr @.str11677) call void @fn_emith(ptr @.str11678) call void @fn_emith(ptr @.str11679) call void @fn_emith(ptr @.str11680) call void @fn_emith(ptr @.str11681) call void @fn_emith(ptr @.str11682) call void @fn_emith(ptr @.str11683) call void @fn_emith(ptr @.str11684) call void @fn_emith(ptr @.str11685) call void @fn_emith(ptr @.str11686) call void @fn_emith(ptr @.str11687) call void @fn_emith(ptr @.str11688) call void @fn_emith(ptr @.str11689) call void @fn_emith(ptr @.str11690) call void @fn_emith(ptr @.str11691) call void @fn_emith(ptr @.str11692) call void @fn_emith(ptr @.str11693) call void @fn_emith(ptr @.str11694) call void @fn_emith(ptr @.str11695) call void @fn_emith(ptr @.str11696) call void @fn_emith(ptr @.str11697) call void @fn_emith(ptr @.str11698) call void @fn_emith(ptr @.str11699) call void @fn_emith(ptr @.str11700) call void @fn_emith(ptr @.str11701) call void @fn_emith(ptr @.str11702) call void @fn_emith(ptr @.str11703) call void @fn_emith(ptr @.str11704) call void @fn_emith(ptr @.str11705) call void @fn_emith(ptr @.str11706) call void @fn_emith(ptr @.str11707) call void @fn_emith(ptr @.str11708) call void @fn_emith(ptr @.str11709) call void @fn_emith(ptr @.str11710) call void @fn_emith(ptr @.str11711) call void @fn_emith(ptr @.str11712) call void @fn_emith(ptr @.str11713) call void @fn_emith(ptr @.str11714) call void @fn_emith(ptr @.str11715) call void @fn_emith(ptr @.str11716) call void @fn_emith(ptr @.str11717) call void @fn_emit_fs_normalize() br label %ret ret: ret void } define void @fn_emit_fs_normalize() { entry: call void @fn_emith(ptr @.str11718) call void @fn_emith(ptr @.str11719) call void @fn_emith(ptr @.str11720) call void @fn_emith(ptr @.str11721) call void @fn_emith(ptr @.str11722) call void @fn_emith(ptr @.str11723) call void @fn_emith(ptr @.str11724) call void @fn_emith(ptr @.str11725) call void @fn_emith(ptr @.str11726) call void @fn_emith(ptr @.str11727) call void @fn_emith(ptr @.str11728) call void @fn_emith(ptr @.str11729) call void @fn_emith(ptr @.str11730) call void @fn_emith(ptr @.str11731) call void @fn_emith(ptr @.str11732) call void @fn_emith(ptr @.str11733) call void @fn_emith(ptr @.str11734) call void @fn_emith(ptr @.str11735) call void @fn_emith(ptr @.str11736) call void @fn_emith(ptr @.str11737) call void @fn_emith(ptr @.str11738) call void @fn_emith(ptr @.str11739) call void @fn_emith(ptr @.str11740) call void @fn_emith(ptr @.str11741) call void @fn_emith(ptr @.str11742) call void @fn_emith(ptr @.str11743) call void @fn_emith(ptr @.str11744) call void @fn_emith(ptr @.str11745) call void @fn_emith(ptr @.str11746) call void @fn_emith(ptr @.str11747) call void @fn_emith(ptr @.str11748) call void @fn_emith(ptr @.str11749) call void @fn_emith(ptr @.str11750) call void @fn_emith(ptr @.str11751) call void @fn_emith(ptr @.str11752) call void @fn_emith(ptr @.str11753) call void @fn_emith(ptr @.str11754) br label %ret ret: ret void } define void @fn_emit_fs_io() { entry: call void @fn_emith(ptr @.str11755) call void @fn_emith(ptr @.str11756) call void @fn_emith(ptr @.str11757) call void @fn_emith(ptr @.str11758) call void @fn_emith(ptr @.str11759) call void @fn_emith(ptr @.str11760) call void @fn_emith(ptr @.str11761) call void @fn_emith(ptr @.str11762) call void @fn_emith(ptr @.str11763) call void @fn_emith(ptr @.str11764) call void @fn_emith(ptr @.str11765) call void @fn_emith(ptr @.str11766) call void @fn_emith(ptr @.str11767) call void @fn_emith(ptr @.str11768) call void @fn_emith(ptr @.str11769) call void @fn_emith(ptr @.str11770) call void @fn_emith(ptr @.str11771) call void @fn_emith(ptr @.str11772) call void @fn_emith(ptr @.str11773) call void @fn_emith(ptr @.str11774) call void @fn_emith(ptr @.str11775) call void @fn_emith(ptr @.str11776) call void @fn_emith(ptr @.str11777) call void @fn_emith(ptr @.str11778) call void @fn_emith(ptr @.str11779) call void @fn_emith(ptr @.str11780) call void @fn_emith(ptr @.str11781) call void @fn_emith(ptr @.str11782) call void @fn_emith(ptr @.str11783) call void @fn_emith(ptr @.str11784) call void @fn_emith(ptr @.str11785) call void @fn_emith(ptr @.str11786) call void @fn_emith(ptr @.str11787) call void @fn_emith(ptr @.str11788) call void @fn_emith(ptr @.str11789) call void @fn_emith(ptr @.str11790) call void @fn_emith(ptr @.str11791) call void @fn_emith(ptr @.str11792) call void @fn_emith(ptr @.str11793) call void @fn_emith(ptr @.str11794) call void @fn_emith(ptr @.str11795) call void @fn_emith(ptr @.str11796) call void @fn_emith(ptr @.str11797) call void @fn_emith(ptr @.str11798) call void @fn_emith(ptr @.str11799) call void @fn_emith(ptr @.str11800) call void @fn_emith(ptr @.str11801) call void @fn_emith(ptr @.str11802) call void @fn_emith(ptr @.str11803) br label %ret ret: ret void } define void @fn_emit_fs_dir() { entry: call void @fn_emith(ptr @.str11804) call void @fn_emith(ptr @.str11805) call void @fn_emith(ptr @.str11806) call void @fn_emith(ptr @.str11807) call void @fn_emith(ptr @.str11808) call void @fn_emith(ptr @.str11809) call void @fn_emith(ptr @.str11810) call void @fn_emith(ptr @.str11811) call void @fn_emith(ptr @.str11812) call void @fn_emith(ptr @.str11813) call void @fn_emith(ptr @.str11814) call void @fn_emith(ptr @.str11815) call void @fn_emith(ptr @.str11816) call void @fn_emith(ptr @.str11817) call void @fn_emith(ptr @.str11818) call void @fn_emith(ptr @.str11819) call void @fn_emith(ptr @.str11820) call void @fn_emith(ptr @.str11821) call void @fn_emith(ptr @.str11822) call void @fn_emith(ptr @.str11823) call void @fn_emith(ptr @.str11824) call void @fn_emith(ptr @.str11825) call void @fn_emith(ptr @.str11826) call void @fn_emith(ptr @.str11827) 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 %t1011 = alloca ptr %t1015 = alloca i32 %t0 = getelementptr %LSlice, ptr null, i32 1 %t1 = ptrtoint ptr %t0 to i64 store i32 6561, ptr @lp_site %t2 = call ptr @lp_malloc(i64 %t1) store i32 0, ptr @lp_site %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 store i32 6562, ptr @lp_site %t9 = call ptr @lp_malloc(i64 %t8) store i32 0, ptr @lp_site %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 store i32 6563, ptr @lp_site %t29 = call ptr @lp_realloc(ptr %t28, i64 %t27) store i32 0, ptr @lp_site 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 @.str11829, 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 store i32 6564, ptr @lp_site %t48 = call ptr @lp_realloc(ptr %t47, i64 %t46) store i32 0, ptr @lp_site 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 @.str11830, 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 store i32 6565, ptr @lp_site %t67 = call ptr @lp_realloc(ptr %t66, i64 %t65) store i32 0, ptr @lp_site 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 @.str11831, 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 store i32 6566, ptr @lp_site %t86 = call ptr @lp_realloc(ptr %t85, i64 %t84) store i32 0, ptr @lp_site 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 @.str11832, 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 store i32 6567, ptr @lp_site %t105 = call ptr @lp_realloc(ptr %t104, i64 %t103) store i32 0, ptr @lp_site 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 @.str11833, 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 store i32 6568, ptr @lp_site %t124 = call ptr @lp_realloc(ptr %t123, i64 %t122) store i32 0, ptr @lp_site 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 @.str11834, 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 store i32 6569, ptr @lp_site %t143 = call ptr @lp_realloc(ptr %t142, i64 %t141) store i32 0, ptr @lp_site 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 @.str11835, 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 store i32 6570, ptr @lp_site %t162 = call ptr @lp_realloc(ptr %t161, i64 %t160) store i32 0, ptr @lp_site 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 @.str11836, 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 store i32 6571, ptr @lp_site %t181 = call ptr @lp_realloc(ptr %t180, i64 %t179) store i32 0, ptr @lp_site 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 @.str11837, 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 store i32 6572, ptr @lp_site %t200 = call ptr @lp_realloc(ptr %t199, i64 %t198) store i32 0, ptr @lp_site 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 @.str11838, 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 store i32 6573, ptr @lp_site %t219 = call ptr @lp_realloc(ptr %t218, i64 %t217) store i32 0, ptr @lp_site 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 @.str11839, 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 store i32 6574, ptr @lp_site %t238 = call ptr @lp_realloc(ptr %t237, i64 %t236) store i32 0, ptr @lp_site 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 @.str11840, 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 store i32 6575, ptr @lp_site %t257 = call ptr @lp_realloc(ptr %t256, i64 %t255) store i32 0, ptr @lp_site 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 @.str11841, 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 store i32 6576, ptr @lp_site %t276 = call ptr @lp_realloc(ptr %t275, i64 %t274) store i32 0, ptr @lp_site 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 @.str11842, 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 store i32 6577, ptr @lp_site %t295 = call ptr @lp_realloc(ptr %t294, i64 %t293) store i32 0, ptr @lp_site 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 @.str11843, 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 store i32 6578, ptr @lp_site %t314 = call ptr @lp_realloc(ptr %t313, i64 %t312) store i32 0, ptr @lp_site 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 @.str11844, 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 store i32 6579, ptr @lp_site %t333 = call ptr @lp_realloc(ptr %t332, i64 %t331) store i32 0, ptr @lp_site 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 @.str11845, 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 store i32 6580, ptr @lp_site %t352 = call ptr @lp_realloc(ptr %t351, i64 %t350) store i32 0, ptr @lp_site 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 @.str11846, 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 store i32 6581, ptr @lp_site %t371 = call ptr @lp_realloc(ptr %t370, i64 %t369) store i32 0, ptr @lp_site 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 @.str11847, 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 store i32 6582, ptr @lp_site %t390 = call ptr @lp_realloc(ptr %t389, i64 %t388) store i32 0, ptr @lp_site 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 @.str11848, 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 store i32 6583, ptr @lp_site %t409 = call ptr @lp_realloc(ptr %t408, i64 %t407) store i32 0, ptr @lp_site 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 @.str11849, 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 store i32 6584, ptr @lp_site %t428 = call ptr @lp_realloc(ptr %t427, i64 %t426) store i32 0, ptr @lp_site 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 @.str11850, 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 store i32 6585, ptr @lp_site %t447 = call ptr @lp_realloc(ptr %t446, i64 %t445) store i32 0, ptr @lp_site 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 @.str11851, 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 store i32 6586, ptr @lp_site %t466 = call ptr @lp_realloc(ptr %t465, i64 %t464) store i32 0, ptr @lp_site 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 @.str11852, 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 store i32 6587, ptr @lp_site %t485 = call ptr @lp_realloc(ptr %t484, i64 %t483) store i32 0, ptr @lp_site 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 @.str11853, 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 store i32 6588, ptr @lp_site %t504 = call ptr @lp_realloc(ptr %t503, i64 %t502) store i32 0, ptr @lp_site 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 @.str11854, 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 store i32 6589, ptr @lp_site %t523 = call ptr @lp_realloc(ptr %t522, i64 %t521) store i32 0, ptr @lp_site 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 @.str11855, 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 store i32 6590, ptr @lp_site %t542 = call ptr @lp_realloc(ptr %t541, i64 %t540) store i32 0, ptr @lp_site 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 @.str11856, 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 store i32 6591, ptr @lp_site %t561 = call ptr @lp_realloc(ptr %t560, i64 %t559) store i32 0, ptr @lp_site 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 @.str11857, 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 store i32 6592, ptr @lp_site %t580 = call ptr @lp_realloc(ptr %t579, i64 %t578) store i32 0, ptr @lp_site 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 @.str11858, 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 store i32 6593, ptr @lp_site %t599 = call ptr @lp_realloc(ptr %t598, i64 %t597) store i32 0, ptr @lp_site 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 @.str11859, 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 store i32 6594, ptr @lp_site %t618 = call ptr @lp_realloc(ptr %t617, i64 %t616) store i32 0, ptr @lp_site 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 @.str11860, 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 store i32 6595, ptr @lp_site %t637 = call ptr @lp_realloc(ptr %t636, i64 %t635) store i32 0, ptr @lp_site 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 @.str11861, 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 store i32 6596, ptr @lp_site %t656 = call ptr @lp_realloc(ptr %t655, i64 %t654) store i32 0, ptr @lp_site 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 @.str11862, 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 store i32 6597, ptr @lp_site %t675 = call ptr @lp_realloc(ptr %t674, i64 %t673) store i32 0, ptr @lp_site 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 @.str11863, 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 store i32 6598, ptr @lp_site %t694 = call ptr @lp_realloc(ptr %t693, i64 %t692) store i32 0, ptr @lp_site 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 @.str11864, 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 store i32 6599, ptr @lp_site %t713 = call ptr @lp_realloc(ptr %t712, i64 %t711) store i32 0, ptr @lp_site 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 @.str11865, 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 store i32 6600, ptr @lp_site %t732 = call ptr @lp_realloc(ptr %t731, i64 %t730) store i32 0, ptr @lp_site 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 @.str11866, 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 store i32 6601, ptr @lp_site %t751 = call ptr @lp_realloc(ptr %t750, i64 %t749) store i32 0, ptr @lp_site 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 @.str11867, 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 store i32 6602, ptr @lp_site %t770 = call ptr @lp_realloc(ptr %t769, i64 %t768) store i32 0, ptr @lp_site 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 @.str11868, 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 store i32 6603, ptr @lp_site %t789 = call ptr @lp_realloc(ptr %t788, i64 %t787) store i32 0, ptr @lp_site 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 @.str11869, 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 store i32 6604, ptr @lp_site %t808 = call ptr @lp_realloc(ptr %t807, i64 %t806) store i32 0, ptr @lp_site 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 @.str11870, 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 store i32 6605, ptr @lp_site %t827 = call ptr @lp_realloc(ptr %t826, i64 %t825) store i32 0, ptr @lp_site 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 @.str11871, 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 store i32 6606, ptr @lp_site %t846 = call ptr @lp_realloc(ptr %t845, i64 %t844) store i32 0, ptr @lp_site 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 @.str11872, 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 store i32 6607, ptr @lp_site %t865 = call ptr @lp_realloc(ptr %t864, i64 %t863) store i32 0, ptr @lp_site 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 @.str11873, 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 store i32 6608, ptr @lp_site %t884 = call ptr @lp_realloc(ptr %t883, i64 %t882) store i32 0, ptr @lp_site 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 @.str11874, 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 store i32 6609, ptr @lp_site %t903 = call ptr @lp_realloc(ptr %t902, i64 %t901) store i32 0, ptr @lp_site 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 @.str11875, 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 store i32 6610, ptr @lp_site %t922 = call ptr @lp_realloc(ptr %t921, i64 %t920) store i32 0, ptr @lp_site 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 @.str11876, 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 store i32 6611, ptr @lp_site %t928 = call ptr @lp_malloc(i64 %t927) store i32 0, ptr @lp_site %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 store i32 6612, ptr @lp_site %t935 = call ptr @lp_malloc(i64 %t934) store i32 0, ptr @lp_site %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 = load i32, ptr %t940 %t951 = getelementptr inbounds %LSlice, ptr %t949, i32 0, i32 0 %t952 = load ptr, ptr %t951 %t953 = getelementptr inbounds %LSlice, ptr %t949, i32 0, i32 1 %t954 = load i32, ptr %t953 %t955 = icmp ult i32 %t950, %t954 br i1 %t955, label %ixok99, label %ixbad100 ixbad100: store i32 6613, ptr @lp_site %t956 = call ptr @lp_win_stdio(i32 2) store i32 0, ptr @lp_site call i32 (ptr, ptr, ...) @fprintf(ptr %t956, ptr @.fmt_bounds, ptr @.str11877, i32 %t950, i32 %t954) call void @exit(i32 1) unreachable ixok99: %t957 = getelementptr inbounds ptr, ptr %t952, i32 %t950 %t958 = load ptr, ptr %t957 %t959 = call ptr @fn_emit_str_const(ptr %t958) %t960 = getelementptr inbounds %LSlice, ptr %t948, i32 0, i32 1 %t961 = getelementptr inbounds %LSlice, ptr %t948, i32 0, i32 2 %t962 = getelementptr inbounds %LSlice, ptr %t948, i32 0, i32 0 %t963 = load i32, ptr %t960 %t964 = load i32, ptr %t961 %t965 = icmp sge i32 %t963, %t964 br i1 %t965, label %grow101, label %put102 grow101: %t966 = mul i32 %t964, 2 %t967 = icmp eq i32 %t964, 0 %t968 = select i1 %t967, i32 8, i32 %t966 %t969 = getelementptr ptr, ptr null, i32 1 %t970 = ptrtoint ptr %t969 to i64 %t971 = zext i32 %t968 to i64 %t972 = mul i64 %t971, %t970 %t973 = load ptr, ptr %t962 store i32 6614, ptr @lp_site %t974 = call ptr @lp_realloc(ptr %t973, i64 %t972) store i32 0, ptr @lp_site store ptr %t974, ptr %t962 store i32 %t968, ptr %t961 br label %put102 put102: %t975 = load ptr, ptr %t962 %t976 = getelementptr inbounds ptr, ptr %t975, i32 %t963 store ptr %t959, ptr %t976 %t977 = add i32 %t963, 1 store i32 %t977, ptr %t960 %t978 = load ptr, ptr %t939 %t979 = load ptr, ptr %t13 %t980 = load i32, ptr %t940 %t981 = getelementptr inbounds %LSlice, ptr %t979, i32 0, i32 0 %t982 = load ptr, ptr %t981 %t983 = getelementptr inbounds %LSlice, ptr %t979, i32 0, i32 1 %t984 = load i32, ptr %t983 %t985 = icmp ult i32 %t980, %t984 br i1 %t985, label %ixok103, label %ixbad104 ixbad104: store i32 6615, ptr @lp_site %t986 = call ptr @lp_win_stdio(i32 2) store i32 0, ptr @lp_site call i32 (ptr, ptr, ...) @fprintf(ptr %t986, ptr @.fmt_bounds, ptr @.str11878, i32 %t980, i32 %t984) call void @exit(i32 1) unreachable ixok103: %t987 = getelementptr inbounds ptr, ptr %t982, i32 %t980 %t988 = load ptr, ptr %t987 %t989 = call ptr @fn_emit_str_const(ptr %t988) %t990 = getelementptr inbounds %LSlice, ptr %t978, i32 0, i32 1 %t991 = getelementptr inbounds %LSlice, ptr %t978, i32 0, i32 2 %t992 = getelementptr inbounds %LSlice, ptr %t978, i32 0, i32 0 %t993 = load i32, ptr %t990 %t994 = load i32, ptr %t991 %t995 = icmp sge i32 %t993, %t994 br i1 %t995, label %grow105, label %put106 grow105: %t996 = mul i32 %t994, 2 %t997 = icmp eq i32 %t994, 0 %t998 = select i1 %t997, i32 8, i32 %t996 %t999 = getelementptr ptr, ptr null, i32 1 %t1000 = ptrtoint ptr %t999 to i64 %t1001 = zext i32 %t998 to i64 %t1002 = mul i64 %t1001, %t1000 %t1003 = load ptr, ptr %t992 store i32 6616, ptr @lp_site %t1004 = call ptr @lp_realloc(ptr %t1003, i64 %t1002) store i32 0, ptr @lp_site store ptr %t1004, ptr %t992 store i32 %t998, ptr %t991 br label %put106 put106: %t1005 = load ptr, ptr %t992 %t1006 = getelementptr inbounds ptr, ptr %t1005, i32 %t993 store ptr %t989, ptr %t1006 %t1007 = add i32 %t993, 1 store i32 %t1007, ptr %t990 %t1008 = load i32, ptr %t940 %t1009 = add i32 %t1008, 1 store i32 %t1009, ptr %t940 br label %wcond96 wend98: %t1010 = call ptr @fn_emit_str_const(ptr @.str11879) store ptr %t1010, ptr %t1011 %t1012 = load ptr, ptr %t6 %t1013 = getelementptr inbounds %LSlice, ptr %t1012, i32 0, i32 1 %t1014 = load i32, ptr %t1013 store i32 %t1014, ptr %t1015 %t1016 = load i32, ptr %t1015 %t1017 = call ptr @fn_itoa(i32 %t1016) store i32 6617, ptr @lp_site %t1018 = call ptr @lp_str_concat(ptr @.str11880, ptr %t1017) store i32 0, ptr @lp_site store i32 6618, ptr @lp_site %t1019 = call ptr @lp_str_concat(ptr %t1018, ptr @.str11881) store i32 0, ptr @lp_site call void @lp_free(ptr %t1018) call void @fn_emith(ptr %t1019) store i32 0, ptr %t940 br label %wcond107 wcond107: %t1020 = load i32, ptr %t940 %t1021 = load ptr, ptr %t6 %t1022 = getelementptr inbounds %LSlice, ptr %t1021, i32 0, i32 1 %t1023 = load i32, ptr %t1022 %t1024 = icmp slt i32 %t1020, %t1023 %t1025 = zext i1 %t1024 to i32 %t1026 = icmp ne i32 %t1025, 0 br i1 %t1026, label %wbody108, label %wend109 wbody108: %t1027 = load i32, ptr %t940 %t1028 = icmp sgt i32 %t1027, 0 %t1029 = zext i1 %t1028 to i32 %t1030 = icmp ne i32 %t1029, 0 br i1 %t1030, label %then110, label %ifend112 then110: call void @fn_emith(ptr @.str11882) br label %ifend112 ifend112: %t1031 = load ptr, ptr %t932 %t1032 = load i32, ptr %t940 %t1033 = getelementptr inbounds %LSlice, ptr %t1031, i32 0, i32 0 %t1034 = load ptr, ptr %t1033 %t1035 = getelementptr inbounds %LSlice, ptr %t1031, i32 0, i32 1 %t1036 = load i32, ptr %t1035 %t1037 = icmp ult i32 %t1032, %t1036 br i1 %t1037, label %ixok113, label %ixbad114 ixbad114: store i32 6619, ptr @lp_site %t1038 = call ptr @lp_win_stdio(i32 2) store i32 0, ptr @lp_site call i32 (ptr, ptr, ...) @fprintf(ptr %t1038, ptr @.fmt_bounds, ptr @.str11884, i32 %t1032, i32 %t1036) call void @exit(i32 1) unreachable ixok113: %t1039 = getelementptr inbounds ptr, ptr %t1034, i32 %t1032 %t1040 = load ptr, ptr %t1039 store i32 6620, ptr @lp_site %t1041 = call ptr @lp_str_concat(ptr @.str11883, ptr %t1040) store i32 0, ptr @lp_site store i32 6621, ptr @lp_site %t1042 = call ptr @lp_str_concat(ptr %t1041, ptr @.str11885) store i32 0, ptr @lp_site call void @lp_free(ptr %t1041) %t1043 = load ptr, ptr %t939 %t1044 = load i32, ptr %t940 %t1045 = getelementptr inbounds %LSlice, ptr %t1043, i32 0, i32 0 %t1046 = load ptr, ptr %t1045 %t1047 = getelementptr inbounds %LSlice, ptr %t1043, i32 0, i32 1 %t1048 = load i32, ptr %t1047 %t1049 = icmp ult i32 %t1044, %t1048 br i1 %t1049, label %ixok115, label %ixbad116 ixbad116: store i32 6622, ptr @lp_site %t1050 = call ptr @lp_win_stdio(i32 2) store i32 0, ptr @lp_site call i32 (ptr, ptr, ...) @fprintf(ptr %t1050, ptr @.fmt_bounds, ptr @.str11886, i32 %t1044, i32 %t1048) call void @exit(i32 1) unreachable ixok115: %t1051 = getelementptr inbounds ptr, ptr %t1046, i32 %t1044 %t1052 = load ptr, ptr %t1051 store i32 6623, ptr @lp_site %t1053 = call ptr @lp_str_concat(ptr %t1042, ptr %t1052) store i32 0, ptr @lp_site call void @lp_free(ptr %t1042) store i32 6624, ptr @lp_site %t1054 = call ptr @lp_str_concat(ptr %t1053, ptr @.str11887) store i32 0, ptr @lp_site call void @lp_free(ptr %t1053) call void @fn_emith(ptr %t1054) %t1055 = load i32, ptr %t940 %t1056 = add i32 %t1055, 1 store i32 %t1056, ptr %t940 br label %wcond107 wend109: call void @fn_emith(ptr @.str11888) call void @fn_emith(ptr @.str11889) call void @fn_emith(ptr @.str11890) %t1057 = load i32, ptr %t1015 %t1058 = call ptr @fn_itoa(i32 %t1057) store i32 6625, ptr @lp_site %t1059 = call ptr @lp_str_concat(ptr @.str11891, ptr %t1058) store i32 0, ptr @lp_site store i32 6626, ptr @lp_site %t1060 = call ptr @lp_str_concat(ptr %t1059, ptr @.str11892) store i32 0, ptr @lp_site call void @lp_free(ptr %t1059) call void @fn_emith(ptr %t1060) %t1061 = load i32, ptr %t1015 %t1062 = call ptr @fn_itoa(i32 %t1061) store i32 6627, ptr @lp_site %t1063 = call ptr @lp_str_concat(ptr @.str11893, ptr %t1062) store i32 0, ptr @lp_site store i32 6628, ptr @lp_site %t1064 = call ptr @lp_str_concat(ptr %t1063, ptr @.str11894) store i32 0, ptr @lp_site call void @lp_free(ptr %t1063) call void @fn_emith(ptr %t1064) %t1065 = load i32, ptr %t1015 %t1066 = call ptr @fn_itoa(i32 %t1065) store i32 6629, ptr @lp_site %t1067 = call ptr @lp_str_concat(ptr @.str11895, ptr %t1066) store i32 0, ptr @lp_site store i32 6630, ptr @lp_site %t1068 = call ptr @lp_str_concat(ptr %t1067, ptr @.str11896) store i32 0, ptr @lp_site call void @lp_free(ptr %t1067) call void @fn_emith(ptr %t1068) call void @fn_emith(ptr @.str11897) %t1069 = load ptr, ptr %t1011 store i32 6631, ptr @lp_site %t1070 = call ptr @lp_str_concat(ptr @.str11898, ptr %t1069) store i32 0, ptr @lp_site store i32 6632, ptr @lp_site %t1071 = call ptr @lp_str_concat(ptr %t1070, ptr @.str11899) store i32 0, ptr @lp_site call void @lp_free(ptr %t1070) call void @fn_emith(ptr %t1071) call void @fn_emith(ptr @.str11900) call void @fn_emith(ptr @.str11901) call void @fn_emith(ptr @.str11902) call void @fn_emith(ptr @.str11903) call void @fn_emith(ptr @.str11904) call void @fn_emith(ptr @.str11905) call void @fn_emith(ptr @.str11906) call void @fn_emit_fs_sniff() br label %ret ret: ret void } define void @fn_emit_fs_sniff() { entry: call void @fn_emith(ptr @.str11907) call void @fn_emith(ptr @.str11908) call void @fn_emith(ptr @.str11909) call void @fn_emith(ptr @.str11910) call void @fn_emith(ptr @.str11911) call void @fn_emith(ptr @.str11912) call void @fn_emith(ptr @.str11913) call void @fn_emith(ptr @.str11914) call void @fn_emith(ptr @.str11915) call void @fn_emith(ptr @.str11916) call void @fn_emith(ptr @.str11917) call void @fn_emith(ptr @.str11918) call void @fn_emith(ptr @.str11919) call void @fn_emith(ptr @.str11920) call void @fn_emith(ptr @.str11921) call void @fn_emith(ptr @.str11922) call void @fn_emith(ptr @.str11923) call void @fn_emith(ptr @.str11924) call void @fn_emith(ptr @.str11925) call void @fn_emith(ptr @.str11926) call void @fn_emith(ptr @.str11927) call void @fn_emith(ptr @.str11928) call void @fn_emith(ptr @.str11929) call void @fn_emith(ptr @.str11930) call void @fn_emith(ptr @.str11931) 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 @.str11932) call void @fn_emith(ptr @.str11933) call void @fn_emith(ptr @.str11934) %t4 = load i32, ptr @g_g_mmap_declared %t5 = icmp eq i32 %t4, 0 %t6 = zext i1 %t5 to i32 %t7 = icmp ne i32 %t6, 0 br i1 %t7, label %then3, label %ifend5 then3: call void @fn_emith(ptr @.str11935) store i32 1, ptr @g_g_mmap_declared br label %ifend5 ifend5: call void @fn_emith(ptr @.str11936) call void @fn_emith(ptr @.str11937) call void @fn_emith(ptr @.str11938) call void @fn_emith(ptr @.str11939) br label %ifend2 ifend2: call void @fn_emith(ptr @.str11940) call void @fn_emith(ptr @.str11941) call void @fn_emith(ptr @.str11942) call void @fn_emith(ptr @.str11943) call void @fn_emith(ptr @.str11944) call void @fn_emith(ptr @.str11945) call void @fn_emith(ptr @.str11946) call void @fn_emith(ptr @.str11947) call void @fn_emith(ptr @.str11948) call void @fn_emith(ptr @.str11949) call void @fn_emith(ptr @.str11950) %t8 = load i32, ptr @g_g_windowed %t9 = icmp ne i32 %t8, 0 br i1 %t9, label %then6, label %ifend8 then6: call void @fn_emith(ptr @.str11951) call void @fn_emith(ptr @.str11952) call void @fn_emith(ptr @.str11953) call void @fn_emith(ptr @.str11954) call void @fn_emith(ptr @.str11955) call void @fn_emith(ptr @.str11956) call void @fn_emith(ptr @.str11957) call void @fn_emith(ptr @.str11958) br label %ifend8 ifend8: call void @fn_emit_pak_mount() call void @fn_emit_pak_unmount() call void @fn_emit_pak_lookup() call void @fn_emit_pak_open() call void @fn_emit_pak_boot() call void @fn_emith(ptr @.str11959) call void @fn_emith(ptr @.str11960) br label %ret ret: ret void } define void @fn_emit_pak_mount() { entry: call void @fn_emith(ptr @.str11961) call void @fn_emith(ptr @.str11962) call void @fn_emith(ptr @.str11963) call void @fn_emith(ptr @.str11964) call void @fn_emith(ptr @.str11965) call void @fn_emith(ptr @.str11966) call void @fn_emith(ptr @.str11967) call void @fn_emith(ptr @.str11968) call void @fn_emith(ptr @.str11969) call void @fn_emith(ptr @.str11970) call void @fn_emith(ptr @.str11971) call void @fn_emith(ptr @.str11972) call void @fn_emith(ptr @.str11973) br label %ret ret: ret void } define void @fn_emit_pak_unmount() { entry: call void @fn_emith(ptr @.str11974) call void @fn_emith(ptr @.str11975) call void @fn_emith(ptr @.str11976) call void @fn_emith(ptr @.str11977) call void @fn_emith(ptr @.str11978) call void @fn_emith(ptr @.str11979) call void @fn_emith(ptr @.str11980) %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 @.str11981) br label %ifend2 else1: call void @fn_emith(ptr @.str11982) br label %ifend2 ifend2: call void @fn_emith(ptr @.str11983) call void @fn_emith(ptr @.str11984) call void @fn_emith(ptr @.str11985) call void @fn_emith(ptr @.str11986) call void @fn_emith(ptr @.str11987) call void @fn_emith(ptr @.str11988) call void @fn_emith(ptr @.str11989) call void @fn_emith(ptr @.str11990) br label %ret ret: ret void } define void @fn_emit_pak_lookup() { entry: call void @fn_emith(ptr @.str11991) call void @fn_emith(ptr @.str11992) call void @fn_emith(ptr @.str11993) call void @fn_emith(ptr @.str11994) call void @fn_emith(ptr @.str11995) call void @fn_emith(ptr @.str11996) call void @fn_emith(ptr @.str11997) call void @fn_emith(ptr @.str11998) call void @fn_emith(ptr @.str11999) call void @fn_emith(ptr @.str12000) call void @fn_emith(ptr @.str12001) call void @fn_emith(ptr @.str12002) call void @fn_emith(ptr @.str12003) call void @fn_emith(ptr @.str12004) call void @fn_emith(ptr @.str12005) call void @fn_emith(ptr @.str12006) call void @fn_emith(ptr @.str12007) call void @fn_emith(ptr @.str12008) call void @fn_emith(ptr @.str12009) call void @fn_emith(ptr @.str12010) call void @fn_emith(ptr @.str12011) call void @fn_emith(ptr @.str12012) call void @fn_emith(ptr @.str12013) call void @fn_emith(ptr @.str12014) call void @fn_emith(ptr @.str12015) call void @fn_emith(ptr @.str12016) call void @fn_emith(ptr @.str12017) call void @fn_emith(ptr @.str12018) call void @fn_emith(ptr @.str12019) call void @fn_emith(ptr @.str12020) call void @fn_emith(ptr @.str12021) call void @fn_emith(ptr @.str12022) call void @fn_emith(ptr @.str12023) call void @fn_emith(ptr @.str12024) call void @fn_emith(ptr @.str12025) br label %ret ret: ret void } define void @fn_emit_pak_open() { entry: call void @fn_emith(ptr @.str12026) call void @fn_emith(ptr @.str12027) call void @fn_emith(ptr @.str12028) call void @fn_emith(ptr @.str12029) call void @fn_emith(ptr @.str12030) call void @fn_emith(ptr @.str12031) br label %ret ret: ret void } define void @fn_emit_pak_boot() { entry: call void @fn_emith(ptr @.str12032) call void @fn_emith(ptr @.str12033) call void @fn_emith(ptr @.str12034) call void @fn_emith(ptr @.str12035) call void @fn_emith(ptr @.str12036) call void @fn_emith(ptr @.str12037) call void @fn_emith(ptr @.str12038) call void @fn_emith(ptr @.str12039) call void @fn_emith(ptr @.str12040) call void @fn_emith(ptr @.str12041) call void @fn_emith(ptr @.str12042) call void @fn_emith(ptr @.str12043) call void @fn_emith(ptr @.str12044) call void @fn_emith(ptr @.str12045) call void @fn_emith(ptr @.str12046) call void @fn_emith(ptr @.str12047) call void @fn_emith(ptr @.str12048) call void @fn_emith(ptr @.str12049) call void @fn_emith(ptr @.str12050) call void @fn_emith(ptr @.str12051) call void @fn_emith(ptr @.str12052) call void @fn_emith(ptr @.str12053) call void @fn_emith(ptr @.str12054) call void @fn_emith(ptr @.str12055) call void @fn_emith(ptr @.str12056) call void @fn_emith(ptr @.str12057) call void @fn_emith(ptr @.str12058) call void @fn_emith(ptr @.str12059) call void @fn_emith(ptr @.str12060) call void @fn_emith(ptr @.str12061) call void @fn_emith(ptr @.str12062) call void @fn_emith(ptr @.str12063) call void @fn_emith(ptr @.str12064) %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 @.str12065) call void @fn_emith(ptr @.str12066) br label %ifend2 else1: call void @fn_emith(ptr @.str12067) call void @fn_emith(ptr @.str12068) br label %ifend2 ifend2: call void @fn_emith(ptr @.str12069) call void @fn_emith(ptr @.str12070) call void @fn_emith(ptr @.str12071) call void @fn_emith(ptr @.str12072) call void @fn_emith(ptr @.str12073) call void @fn_emith(ptr @.str12074) call void @fn_emith(ptr @.str12075) call void @fn_emith(ptr @.str12076) call void @fn_emith(ptr @.str12077) call void @fn_emith(ptr @.str12078) %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 @.str12079) br label %ifend5 ifend5: call void @fn_emith(ptr @.str12080) call void @fn_emith(ptr @.str12081) %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 @.str12082) call void @fn_emith(ptr @.str12083) call void @fn_emith(ptr @.str12084) call void @fn_emith(ptr @.str12085) call void @fn_emith(ptr @.str12086) call void @fn_emith(ptr @.str12087) call void @fn_emith(ptr @.str12088) call void @fn_emith(ptr @.str12089) call void @fn_emith(ptr @.str12090) call void @fn_emith(ptr @.str12091) call void @fn_emith(ptr @.str12092) call void @fn_emith(ptr @.str12093) call void @fn_emith(ptr @.str12094) call void @fn_emith(ptr @.str12095) call void @fn_emith(ptr @.str12096) call void @fn_emith(ptr @.str12097) br label %ifend8 ifend8: br label %ret ret: ret void } define void @fn_emit_win_prelude() { entry: call void @fn_emith(ptr @.str12098) call void @fn_emith(ptr @.str12099) call void @fn_emith(ptr @.str12100) call void @fn_emith(ptr @.str12101) call void @fn_emith(ptr @.str12102) call void @fn_emith(ptr @.str12103) call void @fn_emith(ptr @.str12104) call void @fn_emith(ptr @.str12105) call void @fn_emith(ptr @.str12106) call void @fn_emith(ptr @.str12107) call void @fn_emith(ptr @.str12108) call void @fn_emith(ptr @.str12109) call void @fn_emith(ptr @.str12110) call void @fn_emith(ptr @.str12111) call void @fn_emith(ptr @.str12112) call void @fn_emith(ptr @.str12113) call void @fn_emith(ptr @.str12114) call void @fn_emith(ptr @.str12115) call void @fn_emith(ptr @.str12116) call void @fn_emith(ptr @.str12117) call void @fn_emith(ptr @.str12118) call void @fn_emith(ptr @.str12119) call void @fn_emith(ptr @.str12120) call void @fn_emith(ptr @.str12121) call void @fn_emith(ptr @.str12122) call void @fn_emith(ptr @.str12123) call void @fn_emith(ptr @.str12124) call void @fn_emith(ptr @.str12125) call void @fn_emith(ptr @.str12126) call void @fn_emith(ptr @.str12127) call void @fn_emith(ptr @.str12128) call void @fn_emith(ptr @.str12129) call void @fn_emith(ptr @.str12130) call void @fn_emith(ptr @.str12131) call void @fn_emith(ptr @.str12132) call void @fn_emith(ptr @.str12133) call void @fn_emith(ptr @.str12134) call void @fn_emith(ptr @.str12135) 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 @.str12136) call void @fn_emith(ptr @.str12137) call void @fn_emith(ptr @.str12138) call void @fn_emith(ptr @.str12139) call void @fn_emith(ptr @.str12140) call void @fn_emith(ptr @.str12141) call void @fn_emith(ptr @.str12142) call void @fn_emith(ptr @.str12143) call void @fn_emith(ptr @.str12144) call void @fn_emith(ptr @.str12145) call void @fn_emith(ptr @.str12146) call void @fn_emith(ptr @.str12147) br label %ret ret: ret void } define void @fn_emit_win_files() { entry: call void @fn_emith(ptr @.str12148) call void @fn_emith(ptr @.str12149) call void @fn_emith(ptr @.str12150) call void @fn_emith(ptr @.str12151) call void @fn_emith(ptr @.str12152) call void @fn_emith(ptr @.str12153) call void @fn_emith(ptr @.str12154) call void @fn_emith(ptr @.str12155) call void @fn_emith(ptr @.str12156) call void @fn_emith(ptr @.str12157) call void @fn_emith(ptr @.str12158) call void @fn_emith(ptr @.str12159) call void @fn_emith(ptr @.str12160) call void @fn_emith(ptr @.str12161) call void @fn_emith(ptr @.str12162) call void @fn_emith(ptr @.str12163) call void @fn_emith(ptr @.str12164) call void @fn_emith(ptr @.str12165) call void @fn_emith(ptr @.str12166) call void @fn_emith(ptr @.str12167) br label %ret ret: ret void } define void @fn_emit_win_dirs() { entry: call void @fn_emith(ptr @.str12168) call void @fn_emith(ptr @.str12169) call void @fn_emith(ptr @.str12170) call void @fn_emith(ptr @.str12171) call void @fn_emith(ptr @.str12172) call void @fn_emith(ptr @.str12173) call void @fn_emith(ptr @.str12174) call void @fn_emith(ptr @.str12175) call void @fn_emith(ptr @.str12176) call void @fn_emith(ptr @.str12177) call void @fn_emith(ptr @.str12178) call void @fn_emith(ptr @.str12179) call void @fn_emith(ptr @.str12180) call void @fn_emith(ptr @.str12181) br label %ret ret: ret void } define void @fn_emit_win_maps() { entry: call void @fn_emith(ptr @.str12182) call void @fn_emith(ptr @.str12183) call void @fn_emith(ptr @.str12184) call void @fn_emith(ptr @.str12185) call void @fn_emith(ptr @.str12186) call void @fn_emith(ptr @.str12187) call void @fn_emith(ptr @.str12188) call void @fn_emith(ptr @.str12189) call void @fn_emith(ptr @.str12190) call void @fn_emith(ptr @.str12191) call void @fn_emith(ptr @.str12192) call void @fn_emith(ptr @.str12193) call void @fn_emith(ptr @.str12194) call void @fn_emith(ptr @.str12195) call void @fn_emith(ptr @.str12196) br label %ret ret: ret void } define void @fn_emit_win_process() { entry: call void @fn_emith(ptr @.str12197) call void @fn_emith(ptr @.str12198) call void @fn_emith(ptr @.str12199) call void @fn_emith(ptr @.str12200) call void @fn_emith(ptr @.str12201) call void @fn_emith(ptr @.str12202) call void @fn_emith(ptr @.str12203) call void @fn_emith(ptr @.str12204) call void @fn_emith(ptr @.str12205) call void @fn_emith(ptr @.str12206) call void @fn_emith(ptr @.str12207) 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 @.str12208) store ptr %t2, ptr %t3 %t4 = call ptr @fn_emit_str_const(ptr @.str12209) store ptr %t4, ptr %t5 %t6 = call ptr @fn_emit_str_const(ptr @.str12210) store ptr %t6, ptr %t7 %t8 = call ptr @fn_emit_str_const(ptr @.str12211) store ptr %t8, ptr %t9 %t10 = call ptr @fn_emit_str_const(ptr @.str12212) store ptr %t10, ptr %t11 %t12 = call ptr @fn_emit_str_const(ptr @.str12213) store ptr %t12, ptr %t13 %t14 = call ptr @fn_emit_str_const(ptr @.str12214) store ptr %t14, ptr %t15 %t16 = load ptr, ptr %t3 store i32 6633, ptr @lp_site %t17 = call ptr @lp_str_concat(ptr @.str12215, ptr %t16) store i32 0, ptr @lp_site store i32 6634, ptr @lp_site %t18 = call ptr @lp_str_concat(ptr %t17, ptr @.str12217) store i32 0, ptr @lp_site call void @lp_free(ptr %t17) %t19 = load ptr, ptr %t0 store i32 6635, ptr @lp_site %t20 = call ptr @lp_str_concat(ptr %t18, ptr %t19) store i32 0, ptr @lp_site call void @lp_free(ptr %t18) store i32 6636, ptr @lp_site %t21 = call ptr @lp_str_concat(ptr %t20, ptr @.str12218) store i32 0, ptr @lp_site call void @lp_free(ptr %t20) call void @fn_emith(ptr %t21) call void @fn_emith(ptr @.str12219) call void @fn_emith(ptr @.str12220) call void @fn_emith(ptr @.str12221) call void @fn_emith(ptr @.str12222) %t22 = load ptr, ptr %t1 store i32 6637, ptr @lp_site %t23 = call ptr @lp_str_concat(ptr @.str12223, ptr %t22) store i32 0, ptr @lp_site store i32 6638, ptr @lp_site %t24 = call ptr @lp_str_concat(ptr %t23, ptr @.str12224) store i32 0, ptr @lp_site call void @lp_free(ptr %t23) call void @fn_emith(ptr %t24) %t25 = load ptr, ptr %t5 store i32 6639, ptr @lp_site %t26 = call ptr @lp_str_concat(ptr @.str12225, ptr %t25) store i32 0, ptr @lp_site store i32 6640, ptr @lp_site %t27 = call ptr @lp_str_concat(ptr %t26, ptr @.str12226) store i32 0, ptr @lp_site call void @lp_free(ptr %t26) call void @fn_emith(ptr %t27) %t28 = load ptr, ptr %t5 store i32 6641, ptr @lp_site %t29 = call ptr @lp_str_concat(ptr @.str12227, ptr %t28) store i32 0, ptr @lp_site store i32 6642, ptr @lp_site %t30 = call ptr @lp_str_concat(ptr %t29, ptr @.str12228) store i32 0, ptr @lp_site call void @lp_free(ptr %t29) call void @fn_emith(ptr %t30) %t31 = load ptr, ptr %t7 store i32 6643, ptr @lp_site %t32 = call ptr @lp_str_concat(ptr @.str12229, ptr %t31) store i32 0, ptr @lp_site store i32 6644, ptr @lp_site %t33 = call ptr @lp_str_concat(ptr %t32, ptr @.str12230) store i32 0, ptr @lp_site call void @lp_free(ptr %t32) call void @fn_emith(ptr %t33) %t34 = load ptr, ptr %t9 store i32 6645, ptr @lp_site %t35 = call ptr @lp_str_concat(ptr @.str12231, ptr %t34) store i32 0, ptr @lp_site store i32 6646, ptr @lp_site %t36 = call ptr @lp_str_concat(ptr %t35, ptr @.str12232) store i32 0, ptr @lp_site call void @lp_free(ptr %t35) %t37 = load ptr, ptr %t0 store i32 6647, ptr @lp_site %t38 = call ptr @lp_str_concat(ptr %t36, ptr %t37) store i32 0, ptr @lp_site call void @lp_free(ptr %t36) store i32 6648, ptr @lp_site %t39 = call ptr @lp_str_concat(ptr %t38, ptr @.str12233) store i32 0, ptr @lp_site call void @lp_free(ptr %t38) %t40 = load ptr, ptr %t11 store i32 6649, ptr @lp_site %t41 = call ptr @lp_str_concat(ptr %t39, ptr %t40) store i32 0, ptr @lp_site call void @lp_free(ptr %t39) store i32 6650, ptr @lp_site %t42 = call ptr @lp_str_concat(ptr %t41, ptr @.str12234) store i32 0, ptr @lp_site call void @lp_free(ptr %t41) call void @fn_emith(ptr %t42) %t43 = load ptr, ptr %t13 store i32 6651, ptr @lp_site %t44 = call ptr @lp_str_concat(ptr @.str12235, ptr %t43) store i32 0, ptr @lp_site store i32 6652, ptr @lp_site %t45 = call ptr @lp_str_concat(ptr %t44, ptr @.str12236) store i32 0, ptr @lp_site call void @lp_free(ptr %t44) call void @fn_emith(ptr %t45) %t46 = load ptr, ptr %t15 store i32 6653, ptr @lp_site %t47 = call ptr @lp_str_concat(ptr @.str12237, ptr %t46) store i32 0, ptr @lp_site store i32 6654, ptr @lp_site %t48 = call ptr @lp_str_concat(ptr %t47, ptr @.str12238) store i32 0, ptr @lp_site call void @lp_free(ptr %t47) call void @fn_emith(ptr %t48) call void @fn_emith(ptr @.str12239) call void @fn_emith(ptr @.str12240) call void @fn_emith(ptr @.str12241) call void @fn_emith(ptr @.str12242) call void @fn_emith(ptr @.str12243) call void @fn_emith(ptr @.str12244) call void @fn_emith(ptr @.str12245) 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 store i32 6655, ptr @lp_site %t7 = call ptr @lp_str_concat(ptr @.str12246, ptr %t6) store i32 0, ptr @lp_site %t8 = call ptr @fn_emit_bind(ptr %t7) store ptr %t8, ptr %t9 %t10 = load ptr, ptr %t1 store i32 6656, ptr @lp_site %t11 = call ptr @lp_str_concat(ptr @.str12248, ptr %t10) store i32 0, ptr @lp_site store i32 6657, ptr @lp_site %t12 = call ptr @lp_str_concat(ptr %t11, ptr @.str12249) store i32 0, ptr @lp_site call void @lp_free(ptr %t11) %t13 = load ptr, ptr %t9 store i32 6658, ptr @lp_site %t14 = call ptr @lp_str_concat(ptr %t12, ptr %t13) store i32 0, ptr @lp_site call void @lp_free(ptr %t12) store i32 6659, ptr @lp_site %t15 = call ptr @lp_str_concat(ptr %t14, ptr @.str12250) store i32 0, ptr @lp_site call void @lp_free(ptr %t14) %t16 = load ptr, ptr %t2 store i32 6660, ptr @lp_site %t17 = call ptr @lp_str_concat(ptr %t15, ptr %t16) store i32 0, ptr @lp_site call void @lp_free(ptr %t15) %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 @.str12251) %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 @.str12252) %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 @.str12253) %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 @.str12254) %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 @.str12255) %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 @.str12256) %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 @.str12257) %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 @.str12258) %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 @.str12259) %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 @.str12260) %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 @.str12261) %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 @.str12262) %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 @.str12263) %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 @.str12264) %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 @.str12265) %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 @.str12266) %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 @.str12267) %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 @.str12268) %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 store i32 6661, ptr @lp_site %t12 = call ptr @lp_str_concat(ptr @.str12269, ptr %t11) store i32 0, ptr @lp_site %t13 = call ptr @fn_emit_bind(ptr %t12) store ptr %t13, ptr %t14 %t15 = load ptr, ptr %t7 store i32 6662, ptr @lp_site %t16 = call ptr @lp_str_concat(ptr @.str12271, ptr %t15) store i32 0, ptr @lp_site %t17 = call ptr @fn_emit_bind(ptr %t16) store ptr %t17, ptr %t18 %t19 = load ptr, ptr %t14 store i32 6663, ptr @lp_site %t20 = call ptr @lp_str_concat(ptr @.str12272, ptr %t19) store i32 0, ptr @lp_site store i32 6664, ptr @lp_site %t21 = call ptr @lp_str_concat(ptr %t20, ptr @.str12273) store i32 0, ptr @lp_site call void @lp_free(ptr %t20) %t22 = load ptr, ptr %t18 store i32 6665, ptr @lp_site %t23 = call ptr @lp_str_concat(ptr %t21, ptr %t22) store i32 0, ptr @lp_site call void @lp_free(ptr %t21) %t24 = call ptr @fn_emit_bind(ptr %t23) store ptr %t24, ptr %t25 %t26 = call ptr @fn_lbl(ptr @.str12274) store ptr %t26, ptr %t27 %t28 = call ptr @fn_lbl(ptr @.str12275) store ptr %t28, ptr %t29 call void @fn_emit(ptr @.str12276) %t30 = load ptr, ptr %t25 call void @fn_emit(ptr %t30) call void @fn_emit(ptr @.str12277) %t31 = load ptr, ptr %t27 call void @fn_emit(ptr %t31) call void @fn_emit(ptr @.str12278) %t32 = load ptr, ptr %t29 call void @fn_emit(ptr %t32) call void @fn_emit(ptr @.str12279) %t33 = load ptr, ptr %t27 call void @fn_emit(ptr %t33) call void @fn_emit(ptr @.str12280) %t34 = load ptr, ptr %t18 store i32 6666, ptr @lp_site %t35 = call ptr @lp_str_concat(ptr @.str12281, ptr %t34) store i32 0, ptr @lp_site store i32 6667, ptr @lp_site %t36 = call ptr @lp_str_concat(ptr %t35, ptr @.str12282) store i32 0, ptr @lp_site call void @lp_free(ptr %t35) %t37 = call ptr @fn_emit_bind(ptr %t36) store ptr %t37, ptr %t38 %t39 = load ptr, ptr %t18 store i32 6668, ptr @lp_site %t40 = call ptr @lp_str_concat(ptr @.str12283, ptr %t39) store i32 0, ptr @lp_site store i32 6669, ptr @lp_site %t41 = call ptr @lp_str_concat(ptr %t40, ptr @.str12284) store i32 0, ptr @lp_site call void @lp_free(ptr %t40) %t42 = call ptr @fn_emit_bind(ptr %t41) store ptr %t42, ptr %t43 %t44 = load ptr, ptr %t43 store i32 6670, ptr @lp_site %t45 = call ptr @lp_str_concat(ptr @.str12285, ptr %t44) store i32 0, ptr @lp_site store i32 6671, ptr @lp_site %t46 = call ptr @lp_str_concat(ptr %t45, ptr @.str12286) store i32 0, ptr @lp_site call void @lp_free(ptr %t45) %t47 = load ptr, ptr %t38 store i32 6672, ptr @lp_site %t48 = call ptr @lp_str_concat(ptr %t46, ptr %t47) store i32 0, ptr @lp_site call void @lp_free(ptr %t46) %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 store i32 6673, ptr @lp_site %t55 = call ptr @lp_str_concat(ptr @.str12287, ptr %t54) store i32 0, ptr @lp_site store i32 6674, ptr @lp_site %t56 = call ptr @lp_str_concat(ptr %t55, ptr @.str12288) store i32 0, ptr @lp_site call void @lp_free(ptr %t55) %t57 = call ptr @fn_emit_bind(ptr %t56) store ptr %t57, ptr %t58 %t59 = load ptr, ptr %t58 store i32 6675, ptr @lp_site %t60 = call ptr @lp_str_concat(ptr @.str12289, ptr %t59) store i32 0, ptr @lp_site store i32 6676, ptr @lp_site %t61 = call ptr @lp_str_concat(ptr %t60, ptr @.str12290) store i32 0, ptr @lp_site call void @lp_free(ptr %t60) %t62 = load ptr, ptr %t53 store i32 6677, ptr @lp_site %t63 = call ptr @lp_str_concat(ptr %t61, ptr %t62) store i32 0, ptr @lp_site call void @lp_free(ptr %t61) %t64 = call ptr @fn_emit_bind(ptr %t63) store ptr %t64, ptr %t65 %t66 = load ptr, ptr %t10 store i32 6678, ptr @lp_site %t67 = call ptr @lp_str_concat(ptr @.str12291, ptr %t66) store i32 0, ptr @lp_site %t68 = call ptr @fn_emit_bind(ptr %t67) store ptr %t68, ptr %t69 %t70 = load ptr, ptr %t69 store i32 6679, ptr @lp_site %t71 = call ptr @lp_str_concat(ptr @.str12292, ptr %t70) store i32 0, ptr @lp_site store i32 6680, ptr @lp_site %t72 = call ptr @lp_str_concat(ptr %t71, ptr @.str12293) store i32 0, ptr @lp_site call void @lp_free(ptr %t71) %t73 = load ptr, ptr %t65 store i32 6681, ptr @lp_site %t74 = call ptr @lp_str_concat(ptr %t72, ptr %t73) store i32 0, ptr @lp_site call void @lp_free(ptr %t72) store i32 6682, ptr @lp_site %t75 = call ptr @lp_str_concat(ptr %t74, ptr @.str12294) store i32 0, ptr @lp_site call void @lp_free(ptr %t74) %t76 = call ptr @fn_emit_bind(ptr %t75) store ptr %t76, ptr %t77 call void @fn_emit(ptr @.str12295) %t78 = load ptr, ptr %t77 call void @fn_emit(ptr %t78) call void @fn_emit(ptr @.str12296) %t79 = load ptr, ptr %t10 call void @fn_emit(ptr %t79) call void @fn_emit(ptr @.str12297) call void @fn_emit(ptr @.str12298) %t80 = load ptr, ptr %t50 call void @fn_emit(ptr %t80) call void @fn_emit(ptr @.str12299) %t81 = load ptr, ptr %t7 call void @fn_emit(ptr %t81) call void @fn_emit(ptr @.str12300) call void @fn_emit(ptr @.str12301) %t82 = load ptr, ptr %t29 call void @fn_emit(ptr %t82) call void @fn_emit(ptr @.str12302) %t83 = load ptr, ptr %t29 call void @fn_emit(ptr %t83) call void @fn_emit(ptr @.str12303) 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 store i32 6683, ptr @lp_site %t4 = call ptr @lp_str_concat(ptr @.str12304, ptr %t3) store i32 0, ptr @lp_site store i32 6684, ptr @lp_site %t5 = call ptr @lp_str_concat(ptr %t4, ptr @.str12306) store i32 0, ptr @lp_site call void @lp_free(ptr %t4) %t6 = load ptr, ptr %t0 store i32 6685, ptr @lp_site %t7 = call ptr @lp_str_concat(ptr %t5, ptr %t6) store i32 0, ptr @lp_site call void @lp_free(ptr %t5) store i32 6686, ptr @lp_site %t8 = call ptr @lp_str_concat(ptr %t7, ptr @.str12307) store i32 0, ptr @lp_site call void @lp_free(ptr %t7) %t9 = load ptr, ptr %t2 store i32 6687, ptr @lp_site %t10 = call ptr @lp_str_concat(ptr %t8, ptr %t9) store i32 0, ptr @lp_site call void @lp_free(ptr %t8) %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 %t40 = alloca ptr %t59 = alloca ptr %t74 = 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 store i32 6688, ptr @lp_site %t11 = call ptr @lp_str_concat(ptr @.str12308, ptr %t10) store i32 0, ptr @lp_site store i32 6689, ptr @lp_site %t12 = call ptr @lp_str_concat(ptr %t11, ptr @.str12310) store i32 0, ptr @lp_site call void @lp_free(ptr %t11) %t13 = load ptr, ptr %t5 store i32 6690, ptr @lp_site %t14 = call ptr @lp_str_concat(ptr %t12, ptr %t13) store i32 0, ptr @lp_site call void @lp_free(ptr %t12) store i32 6691, ptr @lp_site %t15 = call ptr @lp_str_concat(ptr %t14, ptr @.str12311) store i32 0, ptr @lp_site call void @lp_free(ptr %t14) %t16 = load ptr, ptr %t4 store i32 6692, ptr @lp_site %t17 = call ptr @lp_str_concat(ptr %t15, ptr %t16) store i32 0, ptr @lp_site call void @lp_free(ptr %t15) %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 @fn_fn_sym(ptr %t23) store i32 6693, ptr @lp_site %t25 = call ptr @lp_str_concat(ptr @.str12312, ptr %t24) store i32 0, ptr @lp_site store i32 6694, ptr @lp_site %t26 = call ptr @lp_str_concat(ptr %t25, ptr @.str12313) store i32 0, ptr @lp_site call void @lp_free(ptr %t25) %t27 = load ptr, ptr %t0 store i32 6695, ptr @lp_site %t28 = call ptr @lp_str_concat(ptr %t26, ptr %t27) store i32 0, ptr @lp_site call void @lp_free(ptr %t26) store i32 6696, ptr @lp_site %t29 = call ptr @lp_str_concat(ptr %t28, ptr @.str12314) store i32 0, ptr @lp_site call void @lp_free(ptr %t28) %t30 = load ptr, ptr %t4 store i32 6697, ptr @lp_site %t31 = call ptr @lp_str_concat(ptr %t29, ptr %t30) store i32 0, ptr @lp_site call void @lp_free(ptr %t29) store i32 6698, ptr @lp_site %t32 = call ptr @lp_str_concat(ptr %t31, ptr @.str12315) store i32 0, ptr @lp_site call void @lp_free(ptr %t31) %t33 = load ptr, ptr %t0 store i32 6699, ptr @lp_site %t34 = call ptr @lp_str_concat(ptr %t32, ptr %t33) store i32 0, ptr @lp_site call void @lp_free(ptr %t32) store i32 6700, ptr @lp_site %t35 = call ptr @lp_str_concat(ptr %t34, ptr @.str12316) store i32 0, ptr @lp_site call void @lp_free(ptr %t34) %t36 = load ptr, ptr %t5 store i32 6701, ptr @lp_site %t37 = call ptr @lp_str_concat(ptr %t35, ptr %t36) store i32 0, ptr @lp_site call void @lp_free(ptr %t35) store i32 6702, ptr @lp_site %t38 = call ptr @lp_str_concat(ptr %t37, ptr @.str12317) store i32 0, ptr @lp_site call void @lp_free(ptr %t37) %t39 = call ptr @fn_emit_bind(ptr %t38) store ptr %t39, ptr %t40 %t41 = load ptr, ptr %t40 store i32 6703, ptr @lp_site %t42 = call ptr @lp_str_concat(ptr @.str12318, ptr %t41) store i32 0, ptr @lp_site store i32 6704, ptr @lp_site %t43 = call ptr @lp_str_concat(ptr %t42, ptr @.str12319) store i32 0, ptr @lp_site call void @lp_free(ptr %t42) %t44 = call ptr @fn_emit_bind(ptr %t43) store ptr %t44, ptr %retval br label %ret ifend5: %t45 = load ptr, ptr %t3 store i32 6705, ptr @lp_site %t46 = call ptr @lp_str_concat(ptr @.str12320, ptr %t45) store i32 0, ptr @lp_site store i32 6706, ptr @lp_site %t47 = call ptr @lp_str_concat(ptr %t46, ptr @.str12321) store i32 0, ptr @lp_site call void @lp_free(ptr %t46) %t48 = load ptr, ptr %t2 %t49 = call ptr @fn_fn_sym(ptr %t48) store i32 6707, ptr @lp_site %t50 = call ptr @lp_str_concat(ptr %t47, ptr %t49) store i32 0, ptr @lp_site call void @lp_free(ptr %t47) store i32 6708, ptr @lp_site %t51 = call ptr @lp_str_concat(ptr %t50, ptr @.str12322) store i32 0, ptr @lp_site call void @lp_free(ptr %t50) %t52 = load ptr, ptr %t0 store i32 6709, ptr @lp_site %t53 = call ptr @lp_str_concat(ptr %t51, ptr %t52) store i32 0, ptr @lp_site call void @lp_free(ptr %t51) store i32 6710, ptr @lp_site %t54 = call ptr @lp_str_concat(ptr %t53, ptr @.str12323) store i32 0, ptr @lp_site call void @lp_free(ptr %t53) %t55 = load ptr, ptr %t4 store i32 6711, ptr @lp_site %t56 = call ptr @lp_str_concat(ptr %t54, ptr %t55) store i32 0, ptr @lp_site call void @lp_free(ptr %t54) store i32 6712, ptr @lp_site %t57 = call ptr @lp_str_concat(ptr %t56, ptr @.str12324) store i32 0, ptr @lp_site call void @lp_free(ptr %t56) %t58 = call ptr @fn_emit_bind(ptr %t57) store ptr %t58, ptr %t59 %t60 = load ptr, ptr %t3 store i32 6713, ptr @lp_site %t61 = call ptr @lp_str_concat(ptr @.str12325, ptr %t60) store i32 0, ptr @lp_site store i32 6714, ptr @lp_site %t62 = call ptr @lp_str_concat(ptr %t61, ptr @.str12326) store i32 0, ptr @lp_site call void @lp_free(ptr %t61) %t63 = load ptr, ptr %t2 %t64 = call ptr @fn_fn_sym(ptr %t63) store i32 6715, ptr @lp_site %t65 = call ptr @lp_str_concat(ptr %t62, ptr %t64) store i32 0, ptr @lp_site call void @lp_free(ptr %t62) store i32 6716, ptr @lp_site %t66 = call ptr @lp_str_concat(ptr %t65, ptr @.str12327) store i32 0, ptr @lp_site call void @lp_free(ptr %t65) %t67 = load ptr, ptr %t0 store i32 6717, ptr @lp_site %t68 = call ptr @lp_str_concat(ptr %t66, ptr %t67) store i32 0, ptr @lp_site call void @lp_free(ptr %t66) store i32 6718, ptr @lp_site %t69 = call ptr @lp_str_concat(ptr %t68, ptr @.str12328) store i32 0, ptr @lp_site call void @lp_free(ptr %t68) %t70 = load ptr, ptr %t5 store i32 6719, ptr @lp_site %t71 = call ptr @lp_str_concat(ptr %t69, ptr %t70) store i32 0, ptr @lp_site call void @lp_free(ptr %t69) store i32 6720, ptr @lp_site %t72 = call ptr @lp_str_concat(ptr %t71, ptr @.str12329) store i32 0, ptr @lp_site call void @lp_free(ptr %t71) %t73 = call ptr @fn_emit_bind(ptr %t72) store ptr %t73, ptr %t74 %t75 = load i32, ptr %t1 %t76 = icmp eq i32 %t75, 2 %t77 = zext i1 %t76 to i32 %t78 = icmp ne i32 %t77, 0 br i1 %t78, label %then6, label %ifend8 then6: %t79 = load ptr, ptr %t3 store i32 6721, ptr @lp_site %t80 = call ptr @lp_str_concat(ptr @.str12330, ptr %t79) store i32 0, ptr @lp_site store i32 6722, ptr @lp_site %t81 = call ptr @lp_str_concat(ptr %t80, ptr @.str12331) store i32 0, ptr @lp_site call void @lp_free(ptr %t80) %t82 = load ptr, ptr %t59 store i32 6723, ptr @lp_site %t83 = call ptr @lp_str_concat(ptr %t81, ptr %t82) store i32 0, ptr @lp_site call void @lp_free(ptr %t81) store i32 6724, ptr @lp_site %t84 = call ptr @lp_str_concat(ptr %t83, ptr @.str12332) store i32 0, ptr @lp_site call void @lp_free(ptr %t83) %t85 = load ptr, ptr %t74 store i32 6725, ptr @lp_site %t86 = call ptr @lp_str_concat(ptr %t84, ptr %t85) store i32 0, ptr @lp_site call void @lp_free(ptr %t84) %t87 = call ptr @fn_emit_bind(ptr %t86) store ptr %t87, ptr %retval br label %ret ifend8: %t88 = load ptr, ptr %t3 store i32 6726, ptr @lp_site %t89 = call ptr @lp_str_concat(ptr @.str12333, ptr %t88) store i32 0, ptr @lp_site store i32 6727, ptr @lp_site %t90 = call ptr @lp_str_concat(ptr %t89, ptr @.str12334) store i32 0, ptr @lp_site call void @lp_free(ptr %t89) %t91 = load ptr, ptr %t59 store i32 6728, ptr @lp_site %t92 = call ptr @lp_str_concat(ptr %t90, ptr %t91) store i32 0, ptr @lp_site call void @lp_free(ptr %t90) store i32 6729, ptr @lp_site %t93 = call ptr @lp_str_concat(ptr %t92, ptr @.str12335) store i32 0, ptr @lp_site call void @lp_free(ptr %t92) %t94 = load ptr, ptr %t74 store i32 6730, ptr @lp_site %t95 = call ptr @lp_str_concat(ptr %t93, ptr %t94) store i32 0, ptr @lp_site call void @lp_free(ptr %t93) %t96 = call ptr @fn_emit_bind(ptr %t95) store ptr %t96, ptr %retval br label %ret ret: %t97 = load ptr, ptr %retval ret ptr %t97 } 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 store i32 6731, ptr @lp_site %t9 = call ptr @lp_str_concat(ptr @.str12336, ptr %t8) store i32 0, ptr @lp_site %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 store i32 6732, ptr @lp_site %t16 = call ptr @lp_str_concat(ptr @.str12338, ptr %t15) store i32 0, ptr @lp_site %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 store i32 6733, ptr @lp_site %t23 = call ptr @lp_str_concat(ptr @.str12339, ptr %t22) store i32 0, ptr @lp_site store i32 6734, ptr @lp_site %t24 = call ptr @lp_str_concat(ptr %t23, ptr @.str12340) store i32 0, ptr @lp_site call void @lp_free(ptr %t23) %t25 = call ptr @fn_emit_bind(ptr %t24) store ptr %t25, ptr %t26 %t27 = load ptr, ptr %t26 store i32 6735, ptr @lp_site %t28 = call ptr @lp_str_concat(ptr @.str12341, ptr %t27) store i32 0, ptr @lp_site store i32 6736, ptr @lp_site %t29 = call ptr @lp_str_concat(ptr %t28, ptr @.str12342) store i32 0, ptr @lp_site call void @lp_free(ptr %t28) %t30 = load ptr, ptr %t21 store i32 6737, ptr @lp_site %t31 = call ptr @lp_str_concat(ptr %t29, ptr %t30) store i32 0, ptr @lp_site call void @lp_free(ptr %t29) %t32 = call ptr @fn_emit_bind(ptr %t31) store ptr %t32, ptr %t33 %t34 = load ptr, ptr %t33 store i32 6738, ptr @lp_site %t35 = call ptr @lp_str_concat(ptr @.str12343, ptr %t34) store i32 0, ptr @lp_site store i32 6739, ptr @lp_site %t36 = call ptr @lp_str_concat(ptr %t35, ptr @.str12344) store i32 0, ptr @lp_site call void @lp_free(ptr %t35) %t37 = call ptr @fn_emit_bind(ptr %t36) store ptr %t37, ptr %t38 %t39 = call ptr @fn_emit_alloca(ptr @.str12345) store ptr %t39, ptr %t40 %t41 = load ptr, ptr %t40 call void @fn_store_at(ptr @.str12346, ptr @.str12347, ptr %t41) %t42 = call ptr @fn_lbl(ptr @.str12348) store ptr %t42, ptr %t43 %t44 = call ptr @fn_lbl(ptr @.str12349) store ptr %t44, ptr %t45 %t46 = call ptr @fn_lbl(ptr @.str12350) store ptr %t46, ptr %t47 call void @fn_emit(ptr @.str12351) %t48 = load ptr, ptr %t43 call void @fn_emit(ptr %t48) call void @fn_emit(ptr @.str12352) %t49 = load ptr, ptr %t43 call void @fn_emit(ptr %t49) call void @fn_emit(ptr @.str12353) %t50 = load ptr, ptr %t40 store i32 6740, ptr @lp_site %t51 = call ptr @lp_str_concat(ptr @.str12354, ptr %t50) store i32 0, ptr @lp_site %t52 = call ptr @fn_emit_bind(ptr %t51) store ptr %t52, ptr %t53 %t54 = load ptr, ptr %t53 store i32 6741, ptr @lp_site %t55 = call ptr @lp_str_concat(ptr @.str12355, ptr %t54) store i32 0, ptr @lp_site store i32 6742, ptr @lp_site %t56 = call ptr @lp_str_concat(ptr %t55, ptr @.str12356) store i32 0, ptr @lp_site call void @lp_free(ptr %t55) %t57 = load ptr, ptr %t18 store i32 6743, ptr @lp_site %t58 = call ptr @lp_str_concat(ptr %t56, ptr %t57) store i32 0, ptr @lp_site call void @lp_free(ptr %t56) %t59 = call ptr @fn_emit_bind(ptr %t58) store ptr %t59, ptr %t60 call void @fn_emit(ptr @.str12357) %t61 = load ptr, ptr %t60 call void @fn_emit(ptr %t61) call void @fn_emit(ptr @.str12358) %t62 = load ptr, ptr %t45 call void @fn_emit(ptr %t62) call void @fn_emit(ptr @.str12359) %t63 = load ptr, ptr %t47 call void @fn_emit(ptr %t63) call void @fn_emit(ptr @.str12360) %t64 = load ptr, ptr %t45 call void @fn_emit(ptr %t64) call void @fn_emit(ptr @.str12361) %t65 = load ptr, ptr %t53 store i32 6744, ptr @lp_site %t66 = call ptr @lp_str_concat(ptr @.str12362, ptr %t65) store i32 0, ptr @lp_site store i32 6745, ptr @lp_site %t67 = call ptr @lp_str_concat(ptr %t66, ptr @.str12363) store i32 0, ptr @lp_site call void @lp_free(ptr %t66) %t68 = call ptr @fn_emit_bind(ptr %t67) store ptr %t68, ptr %t69 %t70 = call ptr @fn_emit_alloca(ptr @.str12364) store ptr %t70, ptr %t71 %t72 = load ptr, ptr %t71 call void @fn_store_at(ptr @.str12365, ptr @.str12366, ptr %t72) %t73 = call ptr @fn_lbl(ptr @.str12367) store ptr %t73, ptr %t74 %t75 = call ptr @fn_lbl(ptr @.str12368) store ptr %t75, ptr %t76 %t77 = call ptr @fn_lbl(ptr @.str12369) store ptr %t77, ptr %t78 call void @fn_emit(ptr @.str12370) %t79 = load ptr, ptr %t74 call void @fn_emit(ptr %t79) call void @fn_emit(ptr @.str12371) %t80 = load ptr, ptr %t74 call void @fn_emit(ptr %t80) call void @fn_emit(ptr @.str12372) %t81 = load ptr, ptr %t71 store i32 6746, ptr @lp_site %t82 = call ptr @lp_str_concat(ptr @.str12373, ptr %t81) store i32 0, ptr @lp_site %t83 = call ptr @fn_emit_bind(ptr %t82) store ptr %t83, ptr %t84 %t85 = load ptr, ptr %t84 store i32 6747, ptr @lp_site %t86 = call ptr @lp_str_concat(ptr @.str12374, ptr %t85) store i32 0, ptr @lp_site store i32 6748, ptr @lp_site %t87 = call ptr @lp_str_concat(ptr %t86, ptr @.str12375) store i32 0, ptr @lp_site call void @lp_free(ptr %t86) %t88 = load ptr, ptr %t18 store i32 6749, ptr @lp_site %t89 = call ptr @lp_str_concat(ptr %t87, ptr %t88) store i32 0, ptr @lp_site call void @lp_free(ptr %t87) %t90 = call ptr @fn_emit_bind(ptr %t89) store ptr %t90, ptr %t91 call void @fn_emit(ptr @.str12376) %t92 = load ptr, ptr %t91 call void @fn_emit(ptr %t92) call void @fn_emit(ptr @.str12377) %t93 = load ptr, ptr %t76 call void @fn_emit(ptr %t93) call void @fn_emit(ptr @.str12378) %t94 = load ptr, ptr %t78 call void @fn_emit(ptr %t94) call void @fn_emit(ptr @.str12379) %t95 = load ptr, ptr %t76 call void @fn_emit(ptr %t95) call void @fn_emit(ptr @.str12380) %t96 = load ptr, ptr %t84 store i32 6750, ptr @lp_site %t97 = call ptr @lp_str_concat(ptr @.str12381, ptr %t96) store i32 0, ptr @lp_site store i32 6751, ptr @lp_site %t98 = call ptr @lp_str_concat(ptr %t97, ptr @.str12382) store i32 0, ptr @lp_site call void @lp_free(ptr %t97) %t99 = load ptr, ptr %t53 store i32 6752, ptr @lp_site %t100 = call ptr @lp_str_concat(ptr %t98, ptr %t99) store i32 0, ptr @lp_site call void @lp_free(ptr %t98) %t101 = call ptr @fn_emit_bind(ptr %t100) store ptr %t101, ptr %t102 %t103 = load ptr, ptr %t102 store i32 6753, ptr @lp_site %t104 = call ptr @lp_str_concat(ptr @.str12383, ptr %t103) store i32 0, ptr @lp_site store i32 6754, ptr @lp_site %t105 = call ptr @lp_str_concat(ptr %t104, ptr @.str12384) store i32 0, ptr @lp_site call void @lp_free(ptr %t104) %t106 = load ptr, ptr %t18 store i32 6755, ptr @lp_site %t107 = call ptr @lp_str_concat(ptr %t105, ptr %t106) store i32 0, ptr @lp_site call void @lp_free(ptr %t105) %t108 = call ptr @fn_emit_bind(ptr %t107) store ptr %t108, ptr %t109 %t110 = load ptr, ptr %t109 store i32 6756, ptr @lp_site %t111 = call ptr @lp_str_concat(ptr @.str12385, ptr %t110) store i32 0, ptr @lp_site store i32 6757, ptr @lp_site %t112 = call ptr @lp_str_concat(ptr %t111, ptr @.str12386) store i32 0, ptr @lp_site call void @lp_free(ptr %t111) %t113 = load ptr, ptr %t102 store i32 6758, ptr @lp_site %t114 = call ptr @lp_str_concat(ptr %t112, ptr %t113) store i32 0, ptr @lp_site call void @lp_free(ptr %t112) store i32 6759, ptr @lp_site %t115 = call ptr @lp_str_concat(ptr %t114, ptr @.str12387) store i32 0, ptr @lp_site call void @lp_free(ptr %t114) %t116 = load ptr, ptr %t18 store i32 6760, ptr @lp_site %t117 = call ptr @lp_str_concat(ptr %t115, ptr %t116) store i32 0, ptr @lp_site call void @lp_free(ptr %t115) %t118 = call ptr @fn_emit_bind(ptr %t117) store ptr %t118, ptr %t119 %t120 = load ptr, ptr %t84 store i32 6761, ptr @lp_site %t121 = call ptr @lp_str_concat(ptr @.str12388, ptr %t120) store i32 0, ptr @lp_site store i32 6762, ptr @lp_site %t122 = call ptr @lp_str_concat(ptr %t121, ptr @.str12389) store i32 0, ptr @lp_site call void @lp_free(ptr %t121) %t123 = load ptr, ptr %t69 store i32 6763, ptr @lp_site %t124 = call ptr @lp_str_concat(ptr %t122, ptr %t123) store i32 0, ptr @lp_site call void @lp_free(ptr %t122) %t125 = call ptr @fn_emit_bind(ptr %t124) store ptr %t125, ptr %t126 %t127 = load ptr, ptr %t126 store i32 6764, ptr @lp_site %t128 = call ptr @lp_str_concat(ptr @.str12390, ptr %t127) store i32 0, ptr @lp_site store i32 6765, ptr @lp_site %t129 = call ptr @lp_str_concat(ptr %t128, ptr @.str12391) store i32 0, ptr @lp_site call void @lp_free(ptr %t128) %t130 = load ptr, ptr %t18 store i32 6766, ptr @lp_site %t131 = call ptr @lp_str_concat(ptr %t129, ptr %t130) store i32 0, ptr @lp_site call void @lp_free(ptr %t129) %t132 = call ptr @fn_emit_bind(ptr %t131) store ptr %t132, ptr %t133 %t134 = load ptr, ptr %t133 store i32 6767, ptr @lp_site %t135 = call ptr @lp_str_concat(ptr @.str12392, ptr %t134) store i32 0, ptr @lp_site store i32 6768, ptr @lp_site %t136 = call ptr @lp_str_concat(ptr %t135, ptr @.str12393) store i32 0, ptr @lp_site call void @lp_free(ptr %t135) %t137 = load ptr, ptr %t126 store i32 6769, ptr @lp_site %t138 = call ptr @lp_str_concat(ptr %t136, ptr %t137) store i32 0, ptr @lp_site call void @lp_free(ptr %t136) store i32 6770, ptr @lp_site %t139 = call ptr @lp_str_concat(ptr %t138, ptr @.str12394) store i32 0, ptr @lp_site call void @lp_free(ptr %t138) %t140 = load ptr, ptr %t18 store i32 6771, ptr @lp_site %t141 = call ptr @lp_str_concat(ptr %t139, ptr %t140) store i32 0, ptr @lp_site call void @lp_free(ptr %t139) %t142 = call ptr @fn_emit_bind(ptr %t141) store ptr %t142, ptr %t143 %t144 = call ptr @fn_emit_alloca(ptr @.str12395) store ptr %t144, ptr %t145 %t146 = load ptr, ptr %t84 %t147 = load ptr, ptr %t145 call void @fn_store_at(ptr @.str12396, ptr %t146, ptr %t147) %t148 = call ptr @fn_emit_alloca(ptr @.str12397) store ptr %t148, ptr %t149 %t150 = load ptr, ptr %t119 %t151 = load ptr, ptr %t149 call void @fn_store_at(ptr @.str12398, ptr %t150, ptr %t151) %t152 = call ptr @fn_emit_alloca(ptr @.str12399) store ptr %t152, ptr %t153 %t154 = load ptr, ptr %t84 %t155 = load ptr, ptr %t153 call void @fn_store_at(ptr @.str12400, ptr %t154, ptr %t155) %t156 = call ptr @fn_lbl(ptr @.str12401) store ptr %t156, ptr %t157 %t158 = call ptr @fn_lbl(ptr @.str12402) store ptr %t158, ptr %t159 %t160 = call ptr @fn_lbl(ptr @.str12403) store ptr %t160, ptr %t161 call void @fn_emit(ptr @.str12404) %t162 = load ptr, ptr %t157 call void @fn_emit(ptr %t162) call void @fn_emit(ptr @.str12405) %t163 = load ptr, ptr %t157 call void @fn_emit(ptr %t163) call void @fn_emit(ptr @.str12406) %t164 = load ptr, ptr %t145 store i32 6772, ptr @lp_site %t165 = call ptr @lp_str_concat(ptr @.str12407, ptr %t164) store i32 0, ptr @lp_site %t166 = call ptr @fn_emit_bind(ptr %t165) store ptr %t166, ptr %t167 %t168 = load ptr, ptr %t149 store i32 6773, ptr @lp_site %t169 = call ptr @lp_str_concat(ptr @.str12408, ptr %t168) store i32 0, ptr @lp_site %t170 = call ptr @fn_emit_bind(ptr %t169) store ptr %t170, ptr %t171 %t172 = load ptr, ptr %t167 store i32 6774, ptr @lp_site %t173 = call ptr @lp_str_concat(ptr @.str12409, ptr %t172) store i32 0, ptr @lp_site store i32 6775, ptr @lp_site %t174 = call ptr @lp_str_concat(ptr %t173, ptr @.str12410) store i32 0, ptr @lp_site call void @lp_free(ptr %t173) %t175 = load ptr, ptr %t119 store i32 6776, ptr @lp_site %t176 = call ptr @lp_str_concat(ptr %t174, ptr %t175) store i32 0, ptr @lp_site call void @lp_free(ptr %t174) %t177 = call ptr @fn_emit_bind(ptr %t176) store ptr %t177, ptr %t178 %t179 = load ptr, ptr %t171 store i32 6777, ptr @lp_site %t180 = call ptr @lp_str_concat(ptr @.str12411, ptr %t179) store i32 0, ptr @lp_site store i32 6778, ptr @lp_site %t181 = call ptr @lp_str_concat(ptr %t180, ptr @.str12412) store i32 0, ptr @lp_site call void @lp_free(ptr %t180) %t182 = load ptr, ptr %t143 store i32 6779, ptr @lp_site %t183 = call ptr @lp_str_concat(ptr %t181, ptr %t182) store i32 0, ptr @lp_site call void @lp_free(ptr %t181) %t184 = call ptr @fn_emit_bind(ptr %t183) store ptr %t184, ptr %t185 %t186 = load ptr, ptr %t178 store i32 6780, ptr @lp_site %t187 = call ptr @lp_str_concat(ptr @.str12413, ptr %t186) store i32 0, ptr @lp_site store i32 6781, ptr @lp_site %t188 = call ptr @lp_str_concat(ptr %t187, ptr @.str12414) store i32 0, ptr @lp_site call void @lp_free(ptr %t187) %t189 = load ptr, ptr %t185 store i32 6782, ptr @lp_site %t190 = call ptr @lp_str_concat(ptr %t188, ptr %t189) store i32 0, ptr @lp_site call void @lp_free(ptr %t188) %t191 = call ptr @fn_emit_bind(ptr %t190) store ptr %t191, ptr %t192 call void @fn_emit(ptr @.str12415) %t193 = load ptr, ptr %t192 call void @fn_emit(ptr %t193) call void @fn_emit(ptr @.str12416) %t194 = load ptr, ptr %t159 call void @fn_emit(ptr %t194) call void @fn_emit(ptr @.str12417) %t195 = load ptr, ptr %t161 call void @fn_emit(ptr %t195) call void @fn_emit(ptr @.str12418) %t196 = load ptr, ptr %t159 call void @fn_emit(ptr %t196) call void @fn_emit(ptr @.str12419) %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 store i32 6783, ptr @lp_site %t203 = call ptr @lp_str_concat(ptr @.str12420, ptr %t202) store i32 0, ptr @lp_site store i32 6784, ptr @lp_site %t204 = call ptr @lp_str_concat(ptr %t203, ptr @.str12421) store i32 0, ptr @lp_site call void @lp_free(ptr %t203) %t205 = load ptr, ptr %t201 store i32 6785, ptr @lp_site %t206 = call ptr @lp_str_concat(ptr %t204, ptr %t205) store i32 0, ptr @lp_site call void @lp_free(ptr %t204) %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 store i32 6786, ptr @lp_site %t215 = call ptr @lp_str_concat(ptr @.str12422, ptr %t214) store i32 0, ptr @lp_site store i32 6787, ptr @lp_site %t216 = call ptr @lp_str_concat(ptr %t215, ptr @.str12423) store i32 0, ptr @lp_site call void @lp_free(ptr %t215) %t217 = load ptr, ptr %t213 store i32 6788, ptr @lp_site %t218 = call ptr @lp_str_concat(ptr %t216, ptr %t217) store i32 0, ptr @lp_site call void @lp_free(ptr %t216) %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 store i32 6789, ptr @lp_site %t230 = call ptr @lp_str_concat(ptr @.str12424, ptr %t229) store i32 0, ptr @lp_site %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 @.str12425) store ptr %t238, ptr %t239 %t240 = call ptr @fn_lbl(ptr @.str12426) store ptr %t240, ptr %t241 %t242 = call ptr @fn_lbl(ptr @.str12427) store ptr %t242, ptr %t243 call void @fn_emit(ptr @.str12428) %t244 = load ptr, ptr %t228 call void @fn_emit(ptr %t244) call void @fn_emit(ptr @.str12429) %t245 = load ptr, ptr %t239 call void @fn_emit(ptr %t245) call void @fn_emit(ptr @.str12430) %t246 = load ptr, ptr %t241 call void @fn_emit(ptr %t246) call void @fn_emit(ptr @.str12431) %t247 = load ptr, ptr %t239 call void @fn_emit(ptr %t247) call void @fn_emit(ptr @.str12432) call void @fn_emit(ptr @.str12433) %t248 = load ptr, ptr %t1 call void @fn_emit(ptr %t248) call void @fn_emit(ptr @.str12434) %t249 = load ptr, ptr %t220 call void @fn_emit(ptr %t249) call void @fn_emit(ptr @.str12435) %t250 = load ptr, ptr %t237 call void @fn_emit(ptr %t250) call void @fn_emit(ptr @.str12436) %t251 = load ptr, ptr %t171 store i32 6790, ptr @lp_site %t252 = call ptr @lp_str_concat(ptr @.str12437, ptr %t251) store i32 0, ptr @lp_site store i32 6791, ptr @lp_site %t253 = call ptr @lp_str_concat(ptr %t252, ptr @.str12438) store i32 0, ptr @lp_site call void @lp_free(ptr %t252) %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 @.str12439, ptr %t256, ptr %t257) call void @fn_emit(ptr @.str12440) %t258 = load ptr, ptr %t243 call void @fn_emit(ptr %t258) call void @fn_emit(ptr @.str12441) %t259 = load ptr, ptr %t241 call void @fn_emit(ptr %t259) call void @fn_emit(ptr @.str12442) call void @fn_emit(ptr @.str12443) %t260 = load ptr, ptr %t1 call void @fn_emit(ptr %t260) call void @fn_emit(ptr @.str12444) %t261 = load ptr, ptr %t208 call void @fn_emit(ptr %t261) call void @fn_emit(ptr @.str12445) %t262 = load ptr, ptr %t237 call void @fn_emit(ptr %t262) call void @fn_emit(ptr @.str12446) %t263 = load ptr, ptr %t167 store i32 6792, ptr @lp_site %t264 = call ptr @lp_str_concat(ptr @.str12447, ptr %t263) store i32 0, ptr @lp_site store i32 6793, ptr @lp_site %t265 = call ptr @lp_str_concat(ptr %t264, ptr @.str12448) store i32 0, ptr @lp_site call void @lp_free(ptr %t264) %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 @.str12449, ptr %t268, ptr %t269) call void @fn_emit(ptr @.str12450) %t270 = load ptr, ptr %t243 call void @fn_emit(ptr %t270) call void @fn_emit(ptr @.str12451) %t271 = load ptr, ptr %t243 call void @fn_emit(ptr %t271) call void @fn_emit(ptr @.str12452) %t272 = load ptr, ptr %t232 store i32 6794, ptr @lp_site %t273 = call ptr @lp_str_concat(ptr @.str12453, ptr %t272) store i32 0, ptr @lp_site store i32 6795, ptr @lp_site %t274 = call ptr @lp_str_concat(ptr %t273, ptr @.str12454) store i32 0, ptr @lp_site call void @lp_free(ptr %t273) %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 @.str12455, ptr %t277, ptr %t278) call void @fn_emit(ptr @.str12456) %t279 = load ptr, ptr %t157 call void @fn_emit(ptr %t279) call void @fn_emit(ptr @.str12457) %t280 = load ptr, ptr %t161 call void @fn_emit(ptr %t280) call void @fn_emit(ptr @.str12458) %t281 = call ptr @fn_lbl(ptr @.str12459) store ptr %t281, ptr %t282 %t283 = call ptr @fn_lbl(ptr @.str12460) store ptr %t283, ptr %t284 %t285 = call ptr @fn_lbl(ptr @.str12461) store ptr %t285, ptr %t286 call void @fn_emit(ptr @.str12462) %t287 = load ptr, ptr %t282 call void @fn_emit(ptr %t287) call void @fn_emit(ptr @.str12463) %t288 = load ptr, ptr %t282 call void @fn_emit(ptr %t288) call void @fn_emit(ptr @.str12464) %t289 = load ptr, ptr %t145 store i32 6796, ptr @lp_site %t290 = call ptr @lp_str_concat(ptr @.str12465, ptr %t289) store i32 0, ptr @lp_site %t291 = call ptr @fn_emit_bind(ptr %t290) store ptr %t291, ptr %t292 %t293 = load ptr, ptr %t292 store i32 6797, ptr @lp_site %t294 = call ptr @lp_str_concat(ptr @.str12466, ptr %t293) store i32 0, ptr @lp_site store i32 6798, ptr @lp_site %t295 = call ptr @lp_str_concat(ptr %t294, ptr @.str12467) store i32 0, ptr @lp_site call void @lp_free(ptr %t294) %t296 = load ptr, ptr %t119 store i32 6799, ptr @lp_site %t297 = call ptr @lp_str_concat(ptr %t295, ptr %t296) store i32 0, ptr @lp_site call void @lp_free(ptr %t295) %t298 = call ptr @fn_emit_bind(ptr %t297) store ptr %t298, ptr %t299 call void @fn_emit(ptr @.str12468) %t300 = load ptr, ptr %t299 call void @fn_emit(ptr %t300) call void @fn_emit(ptr @.str12469) %t301 = load ptr, ptr %t284 call void @fn_emit(ptr %t301) call void @fn_emit(ptr @.str12470) %t302 = load ptr, ptr %t286 call void @fn_emit(ptr %t302) call void @fn_emit(ptr @.str12471) %t303 = load ptr, ptr %t284 call void @fn_emit(ptr %t303) call void @fn_emit(ptr @.str12472) %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 store i32 6800, ptr @lp_site %t310 = call ptr @lp_str_concat(ptr @.str12473, ptr %t309) store i32 0, ptr @lp_site store i32 6801, ptr @lp_site %t311 = call ptr @lp_str_concat(ptr %t310, ptr @.str12474) store i32 0, ptr @lp_site call void @lp_free(ptr %t310) %t312 = load ptr, ptr %t308 store i32 6802, ptr @lp_site %t313 = call ptr @lp_str_concat(ptr %t311, ptr %t312) store i32 0, ptr @lp_site call void @lp_free(ptr %t311) %t314 = call ptr @fn_emit_bind(ptr %t313) store ptr %t314, ptr %t315 %t316 = load ptr, ptr %t153 store i32 6803, ptr @lp_site %t317 = call ptr @lp_str_concat(ptr @.str12475, ptr %t316) store i32 0, ptr @lp_site %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 @.str12476) %t325 = load ptr, ptr %t1 call void @fn_emit(ptr %t325) call void @fn_emit(ptr @.str12477) %t326 = load ptr, ptr %t315 call void @fn_emit(ptr %t326) call void @fn_emit(ptr @.str12478) %t327 = load ptr, ptr %t324 call void @fn_emit(ptr %t327) call void @fn_emit(ptr @.str12479) %t328 = load ptr, ptr %t292 store i32 6804, ptr @lp_site %t329 = call ptr @lp_str_concat(ptr @.str12480, ptr %t328) store i32 0, ptr @lp_site store i32 6805, ptr @lp_site %t330 = call ptr @lp_str_concat(ptr %t329, ptr @.str12481) store i32 0, ptr @lp_site call void @lp_free(ptr %t329) %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 @.str12482, ptr %t333, ptr %t334) %t335 = load ptr, ptr %t319 store i32 6806, ptr @lp_site %t336 = call ptr @lp_str_concat(ptr @.str12483, ptr %t335) store i32 0, ptr @lp_site store i32 6807, ptr @lp_site %t337 = call ptr @lp_str_concat(ptr %t336, ptr @.str12484) store i32 0, ptr @lp_site call void @lp_free(ptr %t336) %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 @.str12485, ptr %t340, ptr %t341) call void @fn_emit(ptr @.str12486) %t342 = load ptr, ptr %t282 call void @fn_emit(ptr %t342) call void @fn_emit(ptr @.str12487) %t343 = load ptr, ptr %t286 call void @fn_emit(ptr %t343) call void @fn_emit(ptr @.str12488) %t344 = call ptr @fn_lbl(ptr @.str12489) store ptr %t344, ptr %t345 %t346 = call ptr @fn_lbl(ptr @.str12490) store ptr %t346, ptr %t347 %t348 = call ptr @fn_lbl(ptr @.str12491) store ptr %t348, ptr %t349 call void @fn_emit(ptr @.str12492) %t350 = load ptr, ptr %t345 call void @fn_emit(ptr %t350) call void @fn_emit(ptr @.str12493) %t351 = load ptr, ptr %t345 call void @fn_emit(ptr %t351) call void @fn_emit(ptr @.str12494) %t352 = load ptr, ptr %t149 store i32 6808, ptr @lp_site %t353 = call ptr @lp_str_concat(ptr @.str12495, ptr %t352) store i32 0, ptr @lp_site %t354 = call ptr @fn_emit_bind(ptr %t353) store ptr %t354, ptr %t355 %t356 = load ptr, ptr %t355 store i32 6809, ptr @lp_site %t357 = call ptr @lp_str_concat(ptr @.str12496, ptr %t356) store i32 0, ptr @lp_site store i32 6810, ptr @lp_site %t358 = call ptr @lp_str_concat(ptr %t357, ptr @.str12497) store i32 0, ptr @lp_site call void @lp_free(ptr %t357) %t359 = load ptr, ptr %t143 store i32 6811, ptr @lp_site %t360 = call ptr @lp_str_concat(ptr %t358, ptr %t359) store i32 0, ptr @lp_site call void @lp_free(ptr %t358) %t361 = call ptr @fn_emit_bind(ptr %t360) store ptr %t361, ptr %t362 call void @fn_emit(ptr @.str12498) %t363 = load ptr, ptr %t362 call void @fn_emit(ptr %t363) call void @fn_emit(ptr @.str12499) %t364 = load ptr, ptr %t347 call void @fn_emit(ptr %t364) call void @fn_emit(ptr @.str12500) %t365 = load ptr, ptr %t349 call void @fn_emit(ptr %t365) call void @fn_emit(ptr @.str12501) %t366 = load ptr, ptr %t347 call void @fn_emit(ptr %t366) call void @fn_emit(ptr @.str12502) %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 store i32 6812, ptr @lp_site %t373 = call ptr @lp_str_concat(ptr @.str12503, ptr %t372) store i32 0, ptr @lp_site store i32 6813, ptr @lp_site %t374 = call ptr @lp_str_concat(ptr %t373, ptr @.str12504) store i32 0, ptr @lp_site call void @lp_free(ptr %t373) %t375 = load ptr, ptr %t371 store i32 6814, ptr @lp_site %t376 = call ptr @lp_str_concat(ptr %t374, ptr %t375) store i32 0, ptr @lp_site call void @lp_free(ptr %t374) %t377 = call ptr @fn_emit_bind(ptr %t376) store ptr %t377, ptr %t378 %t379 = load ptr, ptr %t153 store i32 6815, ptr @lp_site %t380 = call ptr @lp_str_concat(ptr @.str12505, ptr %t379) store i32 0, ptr @lp_site %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 @.str12506) %t388 = load ptr, ptr %t1 call void @fn_emit(ptr %t388) call void @fn_emit(ptr @.str12507) %t389 = load ptr, ptr %t378 call void @fn_emit(ptr %t389) call void @fn_emit(ptr @.str12508) %t390 = load ptr, ptr %t387 call void @fn_emit(ptr %t390) call void @fn_emit(ptr @.str12509) %t391 = load ptr, ptr %t355 store i32 6816, ptr @lp_site %t392 = call ptr @lp_str_concat(ptr @.str12510, ptr %t391) store i32 0, ptr @lp_site store i32 6817, ptr @lp_site %t393 = call ptr @lp_str_concat(ptr %t392, ptr @.str12511) store i32 0, ptr @lp_site call void @lp_free(ptr %t392) %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 @.str12512, ptr %t396, ptr %t397) %t398 = load ptr, ptr %t382 store i32 6818, ptr @lp_site %t399 = call ptr @lp_str_concat(ptr @.str12513, ptr %t398) store i32 0, ptr @lp_site store i32 6819, ptr @lp_site %t400 = call ptr @lp_str_concat(ptr %t399, ptr @.str12514) store i32 0, ptr @lp_site call void @lp_free(ptr %t399) %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 @.str12515, ptr %t403, ptr %t404) call void @fn_emit(ptr @.str12516) %t405 = load ptr, ptr %t345 call void @fn_emit(ptr %t405) call void @fn_emit(ptr @.str12517) %t406 = load ptr, ptr %t349 call void @fn_emit(ptr %t406) call void @fn_emit(ptr @.str12518) %t407 = call ptr @fn_emit_alloca(ptr @.str12519) store ptr %t407, ptr %t408 %t409 = load ptr, ptr %t84 %t410 = load ptr, ptr %t408 call void @fn_store_at(ptr @.str12520, ptr %t409, ptr %t410) %t411 = call ptr @fn_lbl(ptr @.str12521) store ptr %t411, ptr %t412 %t413 = call ptr @fn_lbl(ptr @.str12522) store ptr %t413, ptr %t414 %t415 = call ptr @fn_lbl(ptr @.str12523) store ptr %t415, ptr %t416 call void @fn_emit(ptr @.str12524) %t417 = load ptr, ptr %t412 call void @fn_emit(ptr %t417) call void @fn_emit(ptr @.str12525) %t418 = load ptr, ptr %t412 call void @fn_emit(ptr %t418) call void @fn_emit(ptr @.str12526) %t419 = load ptr, ptr %t408 store i32 6820, ptr @lp_site %t420 = call ptr @lp_str_concat(ptr @.str12527, ptr %t419) store i32 0, ptr @lp_site %t421 = call ptr @fn_emit_bind(ptr %t420) store ptr %t421, ptr %t422 %t423 = load ptr, ptr %t422 store i32 6821, ptr @lp_site %t424 = call ptr @lp_str_concat(ptr @.str12528, ptr %t423) store i32 0, ptr @lp_site store i32 6822, ptr @lp_site %t425 = call ptr @lp_str_concat(ptr %t424, ptr @.str12529) store i32 0, ptr @lp_site call void @lp_free(ptr %t424) %t426 = load ptr, ptr %t143 store i32 6823, ptr @lp_site %t427 = call ptr @lp_str_concat(ptr %t425, ptr %t426) store i32 0, ptr @lp_site call void @lp_free(ptr %t425) %t428 = call ptr @fn_emit_bind(ptr %t427) store ptr %t428, ptr %t429 call void @fn_emit(ptr @.str12530) %t430 = load ptr, ptr %t429 call void @fn_emit(ptr %t430) call void @fn_emit(ptr @.str12531) %t431 = load ptr, ptr %t414 call void @fn_emit(ptr %t431) call void @fn_emit(ptr @.str12532) %t432 = load ptr, ptr %t416 call void @fn_emit(ptr %t432) call void @fn_emit(ptr @.str12533) %t433 = load ptr, ptr %t414 call void @fn_emit(ptr %t433) call void @fn_emit(ptr @.str12534) %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 store i32 6824, ptr @lp_site %t440 = call ptr @lp_str_concat(ptr @.str12535, ptr %t439) store i32 0, ptr @lp_site store i32 6825, ptr @lp_site %t441 = call ptr @lp_str_concat(ptr %t440, ptr @.str12536) store i32 0, ptr @lp_site call void @lp_free(ptr %t440) %t442 = load ptr, ptr %t438 store i32 6826, ptr @lp_site %t443 = call ptr @lp_str_concat(ptr %t441, ptr %t442) store i32 0, ptr @lp_site call void @lp_free(ptr %t441) %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 @.str12537) %t451 = load ptr, ptr %t1 call void @fn_emit(ptr %t451) call void @fn_emit(ptr @.str12538) %t452 = load ptr, ptr %t445 call void @fn_emit(ptr %t452) call void @fn_emit(ptr @.str12539) %t453 = load ptr, ptr %t450 call void @fn_emit(ptr %t453) call void @fn_emit(ptr @.str12540) %t454 = load ptr, ptr %t422 store i32 6827, ptr @lp_site %t455 = call ptr @lp_str_concat(ptr @.str12541, ptr %t454) store i32 0, ptr @lp_site store i32 6828, ptr @lp_site %t456 = call ptr @lp_str_concat(ptr %t455, ptr @.str12542) store i32 0, ptr @lp_site call void @lp_free(ptr %t455) %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 @.str12543, ptr %t459, ptr %t460) call void @fn_emit(ptr @.str12544) %t461 = load ptr, ptr %t412 call void @fn_emit(ptr %t461) call void @fn_emit(ptr @.str12545) %t462 = load ptr, ptr %t416 call void @fn_emit(ptr %t462) call void @fn_emit(ptr @.str12546) %t463 = load ptr, ptr %t84 store i32 6829, ptr @lp_site %t464 = call ptr @lp_str_concat(ptr @.str12547, ptr %t463) store i32 0, ptr @lp_site store i32 6830, ptr @lp_site %t465 = call ptr @lp_str_concat(ptr %t464, ptr @.str12548) store i32 0, ptr @lp_site call void @lp_free(ptr %t464) %t466 = load ptr, ptr %t69 store i32 6831, ptr @lp_site %t467 = call ptr @lp_str_concat(ptr %t465, ptr %t466) store i32 0, ptr @lp_site call void @lp_free(ptr %t465) %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 @.str12549, ptr %t470, ptr %t471) call void @fn_emit(ptr @.str12550) %t472 = load ptr, ptr %t74 call void @fn_emit(ptr %t472) call void @fn_emit(ptr @.str12551) %t473 = load ptr, ptr %t78 call void @fn_emit(ptr %t473) call void @fn_emit(ptr @.str12552) %t474 = load ptr, ptr %t69 %t475 = load ptr, ptr %t40 call void @fn_store_at(ptr @.str12553, ptr %t474, ptr %t475) call void @fn_emit(ptr @.str12554) %t476 = load ptr, ptr %t43 call void @fn_emit(ptr %t476) call void @fn_emit(ptr @.str12555) %t477 = load ptr, ptr %t47 call void @fn_emit(ptr %t477) call void @fn_emit(ptr @.str12556) call void @fn_emit(ptr @.str12557) %t478 = load ptr, ptr %t38 call void @fn_emit(ptr %t478) call void @fn_emit(ptr @.str12558) 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 %t45 = 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 store i32 6832, ptr @lp_site %t11 = call ptr @lp_str_concat(ptr @.str12559, ptr %t10) store i32 0, ptr @lp_site store i32 6833, ptr @lp_site %t12 = call ptr @lp_str_concat(ptr %t11, ptr @.str12561) store i32 0, ptr @lp_site call void @lp_free(ptr %t11) 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 %LSlice, ptr %t15, i32 0, i32 1 %t19 = load i32, ptr %t18 %t20 = icmp ult i32 1, %t19 br i1 %t20, label %ixok3, label %ixbad4 ixbad4: store i32 6834, ptr @lp_site %t21 = call ptr @lp_win_stdio(i32 2) store i32 0, ptr @lp_site call i32 (ptr, ptr, ...) @fprintf(ptr %t21, ptr @.fmt_bounds, ptr @.str12562, i32 1, i32 %t19) call void @exit(i32 1) unreachable ixok3: %t22 = getelementptr inbounds ptr, ptr %t17, i32 1 %t23 = load ptr, ptr %t22 %t24 = getelementptr inbounds %Cmp_Node, ptr %t23, i32 0, i32 0 %t25 = load i32, ptr %t24 %t26 = icmp ne i32 %t25, 33 %t27 = zext i1 %t26 to i32 %t28 = icmp ne i32 %t27, 0 br i1 %t28, label %then5, label %ifend7 then5: %t29 = load ptr, ptr %t0 store i32 6835, ptr @lp_site %t30 = call ptr @lp_str_concat(ptr @.str12563, ptr %t29) store i32 0, ptr @lp_site store i32 6836, ptr @lp_site %t31 = call ptr @lp_str_concat(ptr %t30, ptr @.str12564) store i32 0, ptr @lp_site call void @lp_free(ptr %t30) call void @fn_perr(ptr %t31) br label %ifend7 ifend7: %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 %LSlice, ptr %t34, i32 0, i32 1 %t38 = load i32, ptr %t37 %t39 = icmp ult i32 1, %t38 br i1 %t39, label %ixok8, label %ixbad9 ixbad9: store i32 6837, ptr @lp_site %t40 = call ptr @lp_win_stdio(i32 2) store i32 0, ptr @lp_site call i32 (ptr, ptr, ...) @fprintf(ptr %t40, ptr @.fmt_bounds, ptr @.str12565, i32 1, i32 %t38) call void @exit(i32 1) unreachable ixok8: %t41 = getelementptr inbounds ptr, ptr %t36, i32 1 %t42 = load ptr, ptr %t41 %t43 = getelementptr inbounds %Cmp_Node, ptr %t42, i32 0, i32 1 %t44 = load ptr, ptr %t43 store ptr %t44, ptr %t45 %t46 = load ptr, ptr %t45 %t47 = call ptr @fn_find_fn(ptr %t46) %t48 = icmp eq ptr %t47, null %t49 = zext i1 %t48 to i32 %t50 = icmp ne i32 %t49, 0 br i1 %t50, label %then10, label %ifend12 then10: %t51 = load ptr, ptr %t0 store i32 6838, ptr @lp_site %t52 = call ptr @lp_str_concat(ptr @.str12566, ptr %t51) store i32 0, ptr @lp_site store i32 6839, ptr @lp_site %t53 = call ptr @lp_str_concat(ptr %t52, ptr @.str12567) store i32 0, ptr @lp_site call void @lp_free(ptr %t52) %t54 = load ptr, ptr %t45 store i32 6840, ptr @lp_site %t55 = call ptr @lp_str_concat(ptr %t53, ptr %t54) store i32 0, ptr @lp_site call void @lp_free(ptr %t53) store i32 6841, ptr @lp_site %t56 = call ptr @lp_str_concat(ptr %t55, ptr @.str12568) store i32 0, ptr @lp_site call void @lp_free(ptr %t55) call void @fn_perr(ptr %t56) br label %ifend12 ifend12: %t57 = load ptr, ptr %t45 store ptr %t57, ptr %retval br label %ret ret: %t58 = load ptr, ptr %retval ret ptr %t58 } define ptr @fn_emit_list_ns(ptr %arg_meth, ptr %arg_e) { entry: %retval = alloca ptr %t0 = alloca ptr %t1 = alloca ptr %t27 = alloca ptr %t40 = alloca ptr %t72 = alloca ptr %t87 = alloca ptr %t90 = alloca ptr %t94 = alloca ptr %t97 = alloca ptr %t109 = alloca ptr %t124 = alloca ptr %t129 = alloca ptr %t134 = alloca ptr %t149 = alloca ptr %t154 = alloca ptr %t159 = alloca ptr %t166 = alloca ptr %t187 = alloca ptr %t200 = alloca ptr %t207 = alloca ptr %t214 = alloca ptr %t221 = alloca ptr %t228 = alloca ptr %t236 = alloca i32 %t259 = alloca ptr %t263 = alloca ptr %t265 = alloca ptr %t268 = alloca ptr %t271 = alloca ptr %t273 = alloca ptr %t275 = alloca ptr %t277 = alloca ptr %t279 = alloca ptr %t285 = alloca ptr %t292 = alloca ptr %t301 = alloca ptr %t308 = alloca ptr %t320 = alloca ptr %t333 = alloca ptr %t341 = alloca ptr %t351 = alloca ptr %t372 = alloca ptr %t385 = alloca ptr %t391 = alloca ptr %t393 = alloca ptr %t397 = alloca ptr %t399 = alloca ptr %t401 = alloca ptr %t407 = alloca ptr %t416 = alloca ptr %t425 = alloca ptr %t430 = alloca ptr %t437 = alloca ptr %t442 = alloca ptr %t456 = alloca ptr %t466 = alloca ptr %t485 = alloca ptr %t489 = alloca ptr %t494 = alloca ptr %t496 = alloca ptr %t502 = alloca ptr %t504 = alloca ptr %t506 = alloca ptr %t512 = alloca ptr %t519 = alloca ptr %t528 = alloca ptr %t533 = alloca ptr %t540 = alloca ptr %t545 = alloca ptr %t571 = alloca ptr %t575 = alloca ptr %t577 = alloca ptr %t580 = alloca ptr %t583 = alloca ptr %t585 = alloca ptr %t587 = alloca ptr %t589 = alloca ptr %t591 = alloca ptr %t597 = alloca ptr %t604 = alloca ptr %t608 = alloca ptr %t613 = alloca ptr %t620 = alloca ptr %t629 = alloca ptr %t636 = alloca ptr %t648 = alloca ptr %t661 = alloca ptr %t669 = alloca ptr %t674 = alloca ptr %t676 = alloca ptr %t678 = alloca ptr %t687 = alloca ptr %t689 = alloca ptr %t693 = alloca ptr %t695 = alloca ptr %t697 = alloca ptr %t703 = alloca ptr %t710 = alloca ptr %t719 = alloca ptr %t724 = alloca ptr %t731 = alloca ptr %t736 = alloca ptr %t755 = alloca ptr %t760 = alloca ptr %t762 = alloca ptr %t764 = alloca ptr %t766 = alloca ptr %t774 = alloca ptr %t776 = alloca ptr %t779 = alloca ptr %t781 = alloca ptr %t783 = alloca ptr %t789 = alloca ptr %t796 = alloca ptr %t805 = alloca ptr %t812 = alloca ptr %t814 = alloca ptr %t819 = alloca ptr %t823 = alloca ptr %t825 = alloca ptr %t827 = alloca ptr %t833 = alloca ptr %t838 = alloca ptr %t843 = alloca ptr %t850 = alloca ptr %t860 = alloca ptr %t867 = alloca ptr %t876 = alloca ptr %t881 = alloca ptr %t889 = alloca ptr %t897 = alloca ptr %t902 = alloca ptr %t907 = alloca ptr %t915 = alloca ptr %t933 = alloca ptr %t949 = alloca i32 %t963 = alloca ptr %t966 = alloca ptr %t984 = alloca ptr %t985 = alloca i32 %t1002 = alloca i32 %t1015 = alloca ptr %t1017 = alloca ptr %t1020 = alloca ptr %t1025 = alloca ptr %t1029 = alloca ptr %t1031 = alloca ptr %t1033 = alloca ptr %t1039 = alloca ptr %t1043 = alloca ptr %t1050 = alloca ptr %t1059 = alloca ptr %t1064 = alloca ptr %t1071 = alloca ptr %t1078 = alloca ptr %t1089 = alloca ptr %t1096 = 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 @.str12569) %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 @.str12570) %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 @.str12571) %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 %LSlice, ptr %t17, i32 0, i32 1 %t21 = load i32, ptr %t20 %t22 = icmp ult i32 0, %t21 br i1 %t22, label %ixok9, label %ixbad10 ixbad10: store i32 6842, ptr @lp_site %t23 = call ptr @lp_win_stdio(i32 2) store i32 0, ptr @lp_site call i32 (ptr, ptr, ...) @fprintf(ptr %t23, ptr @.fmt_bounds, ptr @.str12572, i32 0, i32 %t21) call void @exit(i32 1) unreachable ixok9: %t24 = getelementptr inbounds ptr, ptr %t19, i32 0 %t25 = load ptr, ptr %t24 %t26 = call ptr @fn_emit_expr(ptr %t25) store ptr %t26, ptr %t27 %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 %LSlice, ptr %t30, i32 0, i32 1 %t34 = load i32, ptr %t33 %t35 = icmp ult i32 1, %t34 br i1 %t35, label %ixok11, label %ixbad12 ixbad12: store i32 6843, ptr @lp_site %t36 = call ptr @lp_win_stdio(i32 2) store i32 0, ptr @lp_site call i32 (ptr, ptr, ...) @fprintf(ptr %t36, ptr @.fmt_bounds, ptr @.str12574, i32 1, i32 %t34) call void @exit(i32 1) unreachable ixok11: %t37 = getelementptr inbounds ptr, ptr %t32, i32 1 %t38 = load ptr, ptr %t37 %t39 = call ptr @fn_emit_expr(ptr %t38) store ptr %t39, ptr %t40 %t41 = call ptr @fn_find_fn(ptr @.str12575) %t42 = icmp eq ptr %t41, null %t43 = zext i1 %t42 to i32 %t44 = icmp ne i32 %t43, 0 br i1 %t44, label %then13, label %ifend15 then13: call void @fn_perr(ptr @.str12576) br label %ifend15 ifend15: %t45 = call ptr @fn_fn_sym(ptr @.str12578) store i32 6844, ptr @lp_site %t46 = call ptr @lp_str_concat(ptr @.str12577, ptr %t45) store i32 0, ptr @lp_site store i32 6845, ptr @lp_site %t47 = call ptr @lp_str_concat(ptr %t46, ptr @.str12579) store i32 0, ptr @lp_site call void @lp_free(ptr %t46) %t48 = load ptr, ptr %t27 %t49 = getelementptr inbounds %Cmp_Val, ptr %t48, i32 0, i32 0 %t50 = load ptr, ptr %t49 store i32 6846, ptr @lp_site %t51 = call ptr @lp_str_concat(ptr %t47, ptr %t50) store i32 0, ptr @lp_site call void @lp_free(ptr %t47) store i32 6847, ptr @lp_site %t52 = call ptr @lp_str_concat(ptr %t51, ptr @.str12580) store i32 0, ptr @lp_site call void @lp_free(ptr %t51) %t53 = load ptr, ptr %t40 %t54 = getelementptr inbounds %Cmp_Val, ptr %t53, i32 0, i32 0 %t55 = load ptr, ptr %t54 store i32 6848, ptr @lp_site %t56 = call ptr @lp_str_concat(ptr %t52, ptr %t55) store i32 0, ptr @lp_site call void @lp_free(ptr %t52) store i32 6849, ptr @lp_site %t57 = call ptr @lp_str_concat(ptr %t56, ptr @.str12581) store i32 0, ptr @lp_site call void @lp_free(ptr %t56) %t58 = call ptr @fn_emit_bind(ptr %t57) %t59 = call ptr @fn_val(ptr %t58, ptr @.str12582) store ptr %t59, ptr %retval br label %ret ifend8: %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 %LSlice, ptr %t62, i32 0, i32 1 %t66 = load i32, ptr %t65 %t67 = icmp ult i32 0, %t66 br i1 %t67, label %ixok16, label %ixbad17 ixbad17: store i32 6850, ptr @lp_site %t68 = call ptr @lp_win_stdio(i32 2) store i32 0, ptr @lp_site call i32 (ptr, ptr, ...) @fprintf(ptr %t68, ptr @.fmt_bounds, ptr @.str12583, i32 0, i32 %t66) call void @exit(i32 1) unreachable ixok16: %t69 = getelementptr inbounds ptr, ptr %t64, i32 0 %t70 = load ptr, ptr %t69 %t71 = call ptr @fn_emit_expr(ptr %t70) store ptr %t71, ptr %t72 %t73 = load ptr, ptr %t72 %t74 = getelementptr inbounds %Cmp_Val, ptr %t73, i32 0, i32 1 %t75 = load ptr, ptr %t74 %t76 = call i32 @fn_is_slice_ty(ptr %t75) %t77 = icmp eq i32 %t76, 0 %t78 = zext i1 %t77 to i32 %t79 = icmp ne i32 %t78, 0 br i1 %t79, label %then18, label %ifend20 then18: %t80 = load ptr, ptr %t0 store i32 6851, ptr @lp_site %t81 = call ptr @lp_str_concat(ptr @.str12584, ptr %t80) store i32 0, ptr @lp_site store i32 6852, ptr @lp_site %t82 = call ptr @lp_str_concat(ptr %t81, ptr @.str12585) store i32 0, ptr @lp_site call void @lp_free(ptr %t81) call void @fn_perr(ptr %t82) br label %ifend20 ifend20: %t83 = load ptr, ptr %t72 %t84 = getelementptr inbounds %Cmp_Val, ptr %t83, i32 0, i32 1 %t85 = load ptr, ptr %t84 %t86 = call ptr @fn_slice_elem(ptr %t85) store ptr %t86, ptr %t87 %t88 = load ptr, ptr %t87 %t89 = call ptr @fn_llty(ptr %t88) store ptr %t89, ptr %t90 %t91 = load ptr, ptr %t72 %t92 = getelementptr inbounds %Cmp_Val, ptr %t91, i32 0, i32 0 %t93 = load ptr, ptr %t92 store ptr %t93, ptr %t94 %t95 = load ptr, ptr %t94 %t96 = call ptr @fn_slice_field(ptr %t95, i32 1) store ptr %t96, ptr %t97 %t98 = load ptr, ptr %t0 %t99 = call i32 @lp_str_eq(ptr %t98, ptr @.str12586) %t100 = icmp ne i32 %t99, 0 br i1 %t100, label %then21, label %ifend23 then21: call void @fn_emit(ptr @.str12587) %t101 = load ptr, ptr %t97 call void @fn_emit(ptr %t101) call void @fn_emit(ptr @.str12588) %t102 = call ptr @fn_val(ptr @.str12589, ptr @.str12590) store ptr %t102, ptr %retval br label %ret ifend23: %t103 = load ptr, ptr %t0 %t104 = call i32 @lp_str_eq(ptr %t103, ptr @.str12591) %t105 = icmp ne i32 %t104, 0 br i1 %t105, label %then24, label %ifend26 then24: %t106 = load ptr, ptr %t94 %t107 = load ptr, ptr %t90 %t108 = call ptr @fn_list_elem_addr(ptr %t106, ptr %t107, ptr @.str12592) store ptr %t108, ptr %t109 %t110 = load ptr, ptr %t90 store i32 6853, ptr @lp_site %t111 = call ptr @lp_str_concat(ptr @.str12593, ptr %t110) store i32 0, ptr @lp_site store i32 6854, ptr @lp_site %t112 = call ptr @lp_str_concat(ptr %t111, ptr @.str12594) store i32 0, ptr @lp_site call void @lp_free(ptr %t111) %t113 = load ptr, ptr %t109 store i32 6855, ptr @lp_site %t114 = call ptr @lp_str_concat(ptr %t112, ptr %t113) store i32 0, ptr @lp_site call void @lp_free(ptr %t112) %t115 = call ptr @fn_emit_bind(ptr %t114) %t116 = load ptr, ptr %t87 %t117 = call ptr @fn_val(ptr %t115, ptr %t116) store ptr %t117, ptr %retval br label %ret ifend26: %t118 = load ptr, ptr %t0 %t119 = call i32 @lp_str_eq(ptr %t118, ptr @.str12595) %t120 = icmp ne i32 %t119, 0 br i1 %t120, label %then27, label %ifend29 then27: %t121 = load ptr, ptr %t97 store i32 6856, ptr @lp_site %t122 = call ptr @lp_str_concat(ptr @.str12596, ptr %t121) store i32 0, ptr @lp_site %t123 = call ptr @fn_emit_bind(ptr %t122) store ptr %t123, ptr %t124 %t125 = load ptr, ptr %t124 store i32 6857, ptr @lp_site %t126 = call ptr @lp_str_concat(ptr @.str12597, ptr %t125) store i32 0, ptr @lp_site store i32 6858, ptr @lp_site %t127 = call ptr @lp_str_concat(ptr %t126, ptr @.str12598) store i32 0, ptr @lp_site call void @lp_free(ptr %t126) %t128 = call ptr @fn_emit_bind(ptr %t127) store ptr %t128, ptr %t129 %t130 = load ptr, ptr %t94 %t131 = load ptr, ptr %t90 %t132 = load ptr, ptr %t129 %t133 = call ptr @fn_list_elem_addr(ptr %t130, ptr %t131, ptr %t132) store ptr %t133, ptr %t134 %t135 = load ptr, ptr %t90 store i32 6859, ptr @lp_site %t136 = call ptr @lp_str_concat(ptr @.str12599, ptr %t135) store i32 0, ptr @lp_site store i32 6860, ptr @lp_site %t137 = call ptr @lp_str_concat(ptr %t136, ptr @.str12600) store i32 0, ptr @lp_site call void @lp_free(ptr %t136) %t138 = load ptr, ptr %t134 store i32 6861, ptr @lp_site %t139 = call ptr @lp_str_concat(ptr %t137, ptr %t138) store i32 0, ptr @lp_site call void @lp_free(ptr %t137) %t140 = call ptr @fn_emit_bind(ptr %t139) %t141 = load ptr, ptr %t87 %t142 = call ptr @fn_val(ptr %t140, ptr %t141) store ptr %t142, ptr %retval br label %ret ifend29: %t143 = load ptr, ptr %t0 %t144 = call i32 @lp_str_eq(ptr %t143, ptr @.str12601) %t145 = icmp ne i32 %t144, 0 br i1 %t145, label %then30, label %ifend32 then30: %t146 = load ptr, ptr %t97 store i32 6862, ptr @lp_site %t147 = call ptr @lp_str_concat(ptr @.str12602, ptr %t146) store i32 0, ptr @lp_site %t148 = call ptr @fn_emit_bind(ptr %t147) store ptr %t148, ptr %t149 %t150 = load ptr, ptr %t149 store i32 6863, ptr @lp_site %t151 = call ptr @lp_str_concat(ptr @.str12603, ptr %t150) store i32 0, ptr @lp_site store i32 6864, ptr @lp_site %t152 = call ptr @lp_str_concat(ptr %t151, ptr @.str12604) store i32 0, ptr @lp_site call void @lp_free(ptr %t151) %t153 = call ptr @fn_emit_bind(ptr %t152) store ptr %t153, ptr %t154 %t155 = load ptr, ptr %t94 %t156 = load ptr, ptr %t90 %t157 = load ptr, ptr %t154 %t158 = call ptr @fn_list_elem_addr(ptr %t155, ptr %t156, ptr %t157) store ptr %t158, ptr %t159 %t160 = load ptr, ptr %t90 store i32 6865, ptr @lp_site %t161 = call ptr @lp_str_concat(ptr @.str12605, ptr %t160) store i32 0, ptr @lp_site store i32 6866, ptr @lp_site %t162 = call ptr @lp_str_concat(ptr %t161, ptr @.str12606) store i32 0, ptr @lp_site call void @lp_free(ptr %t161) %t163 = load ptr, ptr %t159 store i32 6867, ptr @lp_site %t164 = call ptr @lp_str_concat(ptr %t162, ptr %t163) store i32 0, ptr @lp_site call void @lp_free(ptr %t162) %t165 = call ptr @fn_emit_bind(ptr %t164) store ptr %t165, ptr %t166 call void @fn_emit(ptr @.str12607) %t167 = load ptr, ptr %t154 call void @fn_emit(ptr %t167) call void @fn_emit(ptr @.str12608) %t168 = load ptr, ptr %t97 call void @fn_emit(ptr %t168) call void @fn_emit(ptr @.str12609) %t169 = load ptr, ptr %t166 %t170 = load ptr, ptr %t87 %t171 = call ptr @fn_val(ptr %t169, ptr %t170) store ptr %t171, ptr %retval br label %ret ifend32: %t172 = load ptr, ptr %t0 %t173 = call i32 @lp_str_eq(ptr %t172, ptr @.str12610) %t174 = icmp ne i32 %t173, 0 br i1 %t174, label %then33, label %ifend35 then33: %t175 = load ptr, ptr %t1 %t176 = getelementptr inbounds %Cmp_Node, ptr %t175, i32 0, i32 7 %t177 = load ptr, ptr %t176 %t178 = getelementptr inbounds %LSlice, ptr %t177, i32 0, i32 0 %t179 = load ptr, ptr %t178 %t180 = getelementptr inbounds %LSlice, ptr %t177, i32 0, i32 1 %t181 = load i32, ptr %t180 %t182 = icmp ult i32 1, %t181 br i1 %t182, label %ixok36, label %ixbad37 ixbad37: store i32 6868, ptr @lp_site %t183 = call ptr @lp_win_stdio(i32 2) store i32 0, ptr @lp_site call i32 (ptr, ptr, ...) @fprintf(ptr %t183, ptr @.fmt_bounds, ptr @.str12611, i32 1, i32 %t181) call void @exit(i32 1) unreachable ixok36: %t184 = getelementptr inbounds ptr, ptr %t179, 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 %LSlice, ptr %t190, i32 0, i32 1 %t194 = load i32, ptr %t193 %t195 = icmp ult i32 2, %t194 br i1 %t195, label %ixok38, label %ixbad39 ixbad39: store i32 6869, ptr @lp_site %t196 = call ptr @lp_win_stdio(i32 2) store i32 0, ptr @lp_site call i32 (ptr, ptr, ...) @fprintf(ptr %t196, ptr @.fmt_bounds, ptr @.str12612, i32 2, i32 %t194) call void @exit(i32 1) unreachable ixok38: %t197 = getelementptr inbounds ptr, ptr %t192, i32 2 %t198 = load ptr, ptr %t197 %t199 = call ptr @fn_emit_expr(ptr %t198) store ptr %t199, ptr %t200 %t201 = load ptr, ptr %t94 %t202 = load ptr, ptr %t90 %t203 = load ptr, ptr %t187 %t204 = getelementptr inbounds %Cmp_Val, ptr %t203, i32 0, i32 0 %t205 = load ptr, ptr %t204 %t206 = call ptr @fn_list_elem_addr(ptr %t201, ptr %t202, ptr %t205) store ptr %t206, ptr %t207 %t208 = load ptr, ptr %t94 %t209 = load ptr, ptr %t90 %t210 = load ptr, ptr %t200 %t211 = getelementptr inbounds %Cmp_Val, ptr %t210, i32 0, i32 0 %t212 = load ptr, ptr %t211 %t213 = call ptr @fn_list_elem_addr(ptr %t208, ptr %t209, ptr %t212) store ptr %t213, ptr %t214 %t215 = load ptr, ptr %t90 store i32 6870, ptr @lp_site %t216 = call ptr @lp_str_concat(ptr @.str12613, ptr %t215) store i32 0, ptr @lp_site store i32 6871, ptr @lp_site %t217 = call ptr @lp_str_concat(ptr %t216, ptr @.str12614) store i32 0, ptr @lp_site call void @lp_free(ptr %t216) %t218 = load ptr, ptr %t207 store i32 6872, ptr @lp_site %t219 = call ptr @lp_str_concat(ptr %t217, ptr %t218) store i32 0, ptr @lp_site call void @lp_free(ptr %t217) %t220 = call ptr @fn_emit_bind(ptr %t219) store ptr %t220, ptr %t221 %t222 = load ptr, ptr %t90 store i32 6873, ptr @lp_site %t223 = call ptr @lp_str_concat(ptr @.str12615, ptr %t222) store i32 0, ptr @lp_site store i32 6874, ptr @lp_site %t224 = call ptr @lp_str_concat(ptr %t223, ptr @.str12616) store i32 0, ptr @lp_site call void @lp_free(ptr %t223) %t225 = load ptr, ptr %t214 store i32 6875, ptr @lp_site %t226 = call ptr @lp_str_concat(ptr %t224, ptr %t225) store i32 0, ptr @lp_site call void @lp_free(ptr %t224) %t227 = call ptr @fn_emit_bind(ptr %t226) store ptr %t227, ptr %t228 call void @fn_emit(ptr @.str12617) %t229 = load ptr, ptr %t90 call void @fn_emit(ptr %t229) call void @fn_emit(ptr @.str12618) %t230 = load ptr, ptr %t228 call void @fn_emit(ptr %t230) call void @fn_emit(ptr @.str12619) %t231 = load ptr, ptr %t207 call void @fn_emit(ptr %t231) call void @fn_emit(ptr @.str12620) call void @fn_emit(ptr @.str12621) %t232 = load ptr, ptr %t90 call void @fn_emit(ptr %t232) call void @fn_emit(ptr @.str12622) %t233 = load ptr, ptr %t221 call void @fn_emit(ptr %t233) call void @fn_emit(ptr @.str12623) %t234 = load ptr, ptr %t214 call void @fn_emit(ptr %t234) call void @fn_emit(ptr @.str12624) %t235 = call ptr @fn_val(ptr @.str12625, ptr @.str12626) store ptr %t235, ptr %retval br label %ret ifend35: %t237 = load ptr, ptr %t0 %t238 = call i32 @lp_str_eq(ptr %t237, ptr @.str12627) %t239 = icmp ne i32 %t238, 0 %t240 = zext i1 %t239 to i32 store i32 %t240, ptr %t236 br i1 %t239, label %scend41, label %sc40 sc40: %t241 = load ptr, ptr %t0 %t242 = call i32 @lp_str_eq(ptr %t241, ptr @.str12628) %t243 = icmp ne i32 %t242, 0 %t244 = zext i1 %t243 to i32 store i32 %t244, ptr %t236 br label %scend41 scend41: %t245 = load i32, ptr %t236 %t246 = icmp ne i32 %t245, 0 br i1 %t246, label %then42, label %ifend44 then42: %t247 = load ptr, ptr %t1 %t248 = getelementptr inbounds %Cmp_Node, ptr %t247, i32 0, i32 7 %t249 = load ptr, ptr %t248 %t250 = getelementptr inbounds %LSlice, ptr %t249, i32 0, i32 0 %t251 = load ptr, ptr %t250 %t252 = getelementptr inbounds %LSlice, ptr %t249, i32 0, i32 1 %t253 = load i32, ptr %t252 %t254 = icmp ult i32 1, %t253 br i1 %t254, label %ixok45, label %ixbad46 ixbad46: store i32 6876, ptr @lp_site %t255 = call ptr @lp_win_stdio(i32 2) store i32 0, ptr @lp_site call i32 (ptr, ptr, ...) @fprintf(ptr %t255, ptr @.fmt_bounds, ptr @.str12629, i32 1, i32 %t253) call void @exit(i32 1) unreachable ixok45: %t256 = getelementptr inbounds ptr, ptr %t251, i32 1 %t257 = load ptr, ptr %t256 %t258 = call ptr @fn_emit_expr(ptr %t257) store ptr %t258, ptr %t259 %t260 = load ptr, ptr %t97 store i32 6877, ptr @lp_site %t261 = call ptr @lp_str_concat(ptr @.str12630, ptr %t260) store i32 0, ptr @lp_site %t262 = call ptr @fn_emit_bind(ptr %t261) store ptr %t262, ptr %t263 %t264 = call ptr @fn_emit_alloca(ptr @.str12631) store ptr %t264, ptr %t265 %t266 = load ptr, ptr %t265 call void @fn_store_at(ptr @.str12632, ptr @.str12633, ptr %t266) %t267 = call ptr @fn_emit_alloca(ptr @.str12634) store ptr %t267, ptr %t268 %t269 = load ptr, ptr %t268 call void @fn_store_at(ptr @.str12635, ptr @.str12636, ptr %t269) %t270 = call ptr @fn_lbl(ptr @.str12637) store ptr %t270, ptr %t271 %t272 = call ptr @fn_lbl(ptr @.str12638) store ptr %t272, ptr %t273 %t274 = call ptr @fn_lbl(ptr @.str12639) store ptr %t274, ptr %t275 %t276 = call ptr @fn_lbl(ptr @.str12640) store ptr %t276, ptr %t277 %t278 = call ptr @fn_lbl(ptr @.str12641) store ptr %t278, ptr %t279 call void @fn_emit(ptr @.str12642) %t280 = load ptr, ptr %t271 call void @fn_emit(ptr %t280) call void @fn_emit(ptr @.str12643) %t281 = load ptr, ptr %t271 call void @fn_emit(ptr %t281) call void @fn_emit(ptr @.str12644) %t282 = load ptr, ptr %t268 store i32 6878, ptr @lp_site %t283 = call ptr @lp_str_concat(ptr @.str12645, ptr %t282) store i32 0, ptr @lp_site %t284 = call ptr @fn_emit_bind(ptr %t283) store ptr %t284, ptr %t285 %t286 = load ptr, ptr %t285 store i32 6879, ptr @lp_site %t287 = call ptr @lp_str_concat(ptr @.str12646, ptr %t286) store i32 0, ptr @lp_site store i32 6880, ptr @lp_site %t288 = call ptr @lp_str_concat(ptr %t287, ptr @.str12647) store i32 0, ptr @lp_site call void @lp_free(ptr %t287) %t289 = load ptr, ptr %t263 store i32 6881, ptr @lp_site %t290 = call ptr @lp_str_concat(ptr %t288, ptr %t289) store i32 0, ptr @lp_site call void @lp_free(ptr %t288) %t291 = call ptr @fn_emit_bind(ptr %t290) store ptr %t291, ptr %t292 call void @fn_emit(ptr @.str12648) %t293 = load ptr, ptr %t292 call void @fn_emit(ptr %t293) call void @fn_emit(ptr @.str12649) %t294 = load ptr, ptr %t273 call void @fn_emit(ptr %t294) call void @fn_emit(ptr @.str12650) %t295 = load ptr, ptr %t279 call void @fn_emit(ptr %t295) call void @fn_emit(ptr @.str12651) %t296 = load ptr, ptr %t273 call void @fn_emit(ptr %t296) call void @fn_emit(ptr @.str12652) %t297 = load ptr, ptr %t94 %t298 = load ptr, ptr %t90 %t299 = load ptr, ptr %t285 %t300 = call ptr @fn_list_elem_addr(ptr %t297, ptr %t298, ptr %t299) store ptr %t300, ptr %t301 %t302 = load ptr, ptr %t90 store i32 6882, ptr @lp_site %t303 = call ptr @lp_str_concat(ptr @.str12653, ptr %t302) store i32 0, ptr @lp_site store i32 6883, ptr @lp_site %t304 = call ptr @lp_str_concat(ptr %t303, ptr @.str12654) store i32 0, ptr @lp_site call void @lp_free(ptr %t303) %t305 = load ptr, ptr %t301 store i32 6884, ptr @lp_site %t306 = call ptr @lp_str_concat(ptr %t304, ptr %t305) store i32 0, ptr @lp_site call void @lp_free(ptr %t304) %t307 = call ptr @fn_emit_bind(ptr %t306) store ptr %t307, ptr %t308 %t309 = load ptr, ptr %t90 store i32 6885, ptr @lp_site %t310 = call ptr @lp_str_concat(ptr @.str12655, ptr %t309) store i32 0, ptr @lp_site store i32 6886, ptr @lp_site %t311 = call ptr @lp_str_concat(ptr %t310, ptr @.str12656) store i32 0, ptr @lp_site call void @lp_free(ptr %t310) %t312 = load ptr, ptr %t308 store i32 6887, ptr @lp_site %t313 = call ptr @lp_str_concat(ptr %t311, ptr %t312) store i32 0, ptr @lp_site call void @lp_free(ptr %t311) store i32 6888, ptr @lp_site %t314 = call ptr @lp_str_concat(ptr %t313, ptr @.str12657) store i32 0, ptr @lp_site call void @lp_free(ptr %t313) %t315 = load ptr, ptr %t259 %t316 = getelementptr inbounds %Cmp_Val, ptr %t315, i32 0, i32 0 %t317 = load ptr, ptr %t316 store i32 6889, ptr @lp_site %t318 = call ptr @lp_str_concat(ptr %t314, ptr %t317) store i32 0, ptr @lp_site call void @lp_free(ptr %t314) %t319 = call ptr @fn_emit_bind(ptr %t318) store ptr %t319, ptr %t320 call void @fn_emit(ptr @.str12658) %t321 = load ptr, ptr %t320 call void @fn_emit(ptr %t321) call void @fn_emit(ptr @.str12659) %t322 = load ptr, ptr %t275 call void @fn_emit(ptr %t322) call void @fn_emit(ptr @.str12660) %t323 = load ptr, ptr %t277 call void @fn_emit(ptr %t323) call void @fn_emit(ptr @.str12661) %t324 = load ptr, ptr %t275 call void @fn_emit(ptr %t324) call void @fn_emit(ptr @.str12662) %t325 = load ptr, ptr %t285 %t326 = load ptr, ptr %t265 call void @fn_store_at(ptr @.str12663, ptr %t325, ptr %t326) call void @fn_emit(ptr @.str12664) %t327 = load ptr, ptr %t279 call void @fn_emit(ptr %t327) call void @fn_emit(ptr @.str12665) %t328 = load ptr, ptr %t277 call void @fn_emit(ptr %t328) call void @fn_emit(ptr @.str12666) %t329 = load ptr, ptr %t285 store i32 6890, ptr @lp_site %t330 = call ptr @lp_str_concat(ptr @.str12667, ptr %t329) store i32 0, ptr @lp_site store i32 6891, ptr @lp_site %t331 = call ptr @lp_str_concat(ptr %t330, ptr @.str12668) store i32 0, ptr @lp_site call void @lp_free(ptr %t330) %t332 = call ptr @fn_emit_bind(ptr %t331) store ptr %t332, ptr %t333 %t334 = load ptr, ptr %t333 %t335 = load ptr, ptr %t268 call void @fn_store_at(ptr @.str12669, ptr %t334, ptr %t335) call void @fn_emit(ptr @.str12670) %t336 = load ptr, ptr %t271 call void @fn_emit(ptr %t336) call void @fn_emit(ptr @.str12671) %t337 = load ptr, ptr %t279 call void @fn_emit(ptr %t337) call void @fn_emit(ptr @.str12672) %t338 = load ptr, ptr %t265 store i32 6892, ptr @lp_site %t339 = call ptr @lp_str_concat(ptr @.str12673, ptr %t338) store i32 0, ptr @lp_site %t340 = call ptr @fn_emit_bind(ptr %t339) store ptr %t340, ptr %t341 %t342 = load ptr, ptr %t0 %t343 = call i32 @lp_str_eq(ptr %t342, ptr @.str12674) %t344 = icmp ne i32 %t343, 0 br i1 %t344, label %then47, label %ifend49 then47: %t345 = load ptr, ptr %t341 %t346 = call ptr @fn_val(ptr %t345, ptr @.str12675) store ptr %t346, ptr %retval br label %ret ifend49: %t347 = load ptr, ptr %t341 store i32 6893, ptr @lp_site %t348 = call ptr @lp_str_concat(ptr @.str12676, ptr %t347) store i32 0, ptr @lp_site store i32 6894, ptr @lp_site %t349 = call ptr @lp_str_concat(ptr %t348, ptr @.str12677) store i32 0, ptr @lp_site call void @lp_free(ptr %t348) %t350 = call ptr @fn_emit_bind(ptr %t349) store ptr %t350, ptr %t351 %t352 = load ptr, ptr %t351 store i32 6895, ptr @lp_site %t353 = call ptr @lp_str_concat(ptr @.str12678, ptr %t352) store i32 0, ptr @lp_site store i32 6896, ptr @lp_site %t354 = call ptr @lp_str_concat(ptr %t353, ptr @.str12679) store i32 0, ptr @lp_site call void @lp_free(ptr %t353) %t355 = call ptr @fn_emit_bind(ptr %t354) %t356 = call ptr @fn_val(ptr %t355, ptr @.str12680) store ptr %t356, ptr %retval br label %ret ifend44: %t357 = load ptr, ptr %t0 %t358 = call i32 @lp_str_eq(ptr %t357, ptr @.str12681) %t359 = icmp ne i32 %t358, 0 br i1 %t359, label %then50, label %ifend52 then50: %t360 = load ptr, ptr %t1 %t361 = getelementptr inbounds %Cmp_Node, ptr %t360, i32 0, i32 7 %t362 = load ptr, ptr %t361 %t363 = getelementptr inbounds %LSlice, ptr %t362, i32 0, i32 0 %t364 = load ptr, ptr %t363 %t365 = getelementptr inbounds %LSlice, ptr %t362, i32 0, i32 1 %t366 = load i32, ptr %t365 %t367 = icmp ult i32 1, %t366 br i1 %t367, label %ixok53, label %ixbad54 ixbad54: store i32 6897, ptr @lp_site %t368 = call ptr @lp_win_stdio(i32 2) store i32 0, ptr @lp_site call i32 (ptr, ptr, ...) @fprintf(ptr %t368, ptr @.fmt_bounds, ptr @.str12682, i32 1, i32 %t366) call void @exit(i32 1) unreachable ixok53: %t369 = getelementptr inbounds ptr, ptr %t364, i32 1 %t370 = load ptr, ptr %t369 %t371 = call ptr @fn_emit_expr(ptr %t370) store ptr %t371, ptr %t372 %t373 = load ptr, ptr %t1 %t374 = getelementptr inbounds %Cmp_Node, ptr %t373, i32 0, i32 7 %t375 = load ptr, ptr %t374 %t376 = getelementptr inbounds %LSlice, ptr %t375, i32 0, i32 0 %t377 = load ptr, ptr %t376 %t378 = getelementptr inbounds %LSlice, ptr %t375, i32 0, i32 1 %t379 = load i32, ptr %t378 %t380 = icmp ult i32 2, %t379 br i1 %t380, label %ixok55, label %ixbad56 ixbad56: store i32 6898, ptr @lp_site %t381 = call ptr @lp_win_stdio(i32 2) store i32 0, ptr @lp_site call i32 (ptr, ptr, ...) @fprintf(ptr %t381, ptr @.fmt_bounds, ptr @.str12683, i32 2, i32 %t379) call void @exit(i32 1) unreachable ixok55: %t382 = getelementptr inbounds ptr, ptr %t377, i32 2 %t383 = load ptr, ptr %t382 %t384 = call ptr @fn_emit_expr(ptr %t383) store ptr %t384, ptr %t385 %t386 = load ptr, ptr %t94 %t387 = load ptr, ptr %t90 call void @fn_list_grow_if_full(ptr %t386, ptr %t387) %t388 = load ptr, ptr %t97 store i32 6899, ptr @lp_site %t389 = call ptr @lp_str_concat(ptr @.str12684, ptr %t388) store i32 0, ptr @lp_site %t390 = call ptr @fn_emit_bind(ptr %t389) store ptr %t390, ptr %t391 %t392 = call ptr @fn_emit_alloca(ptr @.str12685) store ptr %t392, ptr %t393 %t394 = load ptr, ptr %t391 %t395 = load ptr, ptr %t393 call void @fn_store_at(ptr @.str12686, ptr %t394, ptr %t395) %t396 = call ptr @fn_lbl(ptr @.str12687) store ptr %t396, ptr %t397 %t398 = call ptr @fn_lbl(ptr @.str12688) store ptr %t398, ptr %t399 %t400 = call ptr @fn_lbl(ptr @.str12689) store ptr %t400, ptr %t401 call void @fn_emit(ptr @.str12690) %t402 = load ptr, ptr %t397 call void @fn_emit(ptr %t402) call void @fn_emit(ptr @.str12691) %t403 = load ptr, ptr %t397 call void @fn_emit(ptr %t403) call void @fn_emit(ptr @.str12692) %t404 = load ptr, ptr %t393 store i32 6900, ptr @lp_site %t405 = call ptr @lp_str_concat(ptr @.str12693, ptr %t404) store i32 0, ptr @lp_site %t406 = call ptr @fn_emit_bind(ptr %t405) store ptr %t406, ptr %t407 %t408 = load ptr, ptr %t407 store i32 6901, ptr @lp_site %t409 = call ptr @lp_str_concat(ptr @.str12694, ptr %t408) store i32 0, ptr @lp_site store i32 6902, ptr @lp_site %t410 = call ptr @lp_str_concat(ptr %t409, ptr @.str12695) store i32 0, ptr @lp_site call void @lp_free(ptr %t409) %t411 = load ptr, ptr %t372 %t412 = getelementptr inbounds %Cmp_Val, ptr %t411, i32 0, i32 0 %t413 = load ptr, ptr %t412 store i32 6903, ptr @lp_site %t414 = call ptr @lp_str_concat(ptr %t410, ptr %t413) store i32 0, ptr @lp_site call void @lp_free(ptr %t410) %t415 = call ptr @fn_emit_bind(ptr %t414) store ptr %t415, ptr %t416 call void @fn_emit(ptr @.str12696) %t417 = load ptr, ptr %t416 call void @fn_emit(ptr %t417) call void @fn_emit(ptr @.str12697) %t418 = load ptr, ptr %t399 call void @fn_emit(ptr %t418) call void @fn_emit(ptr @.str12698) %t419 = load ptr, ptr %t401 call void @fn_emit(ptr %t419) call void @fn_emit(ptr @.str12699) %t420 = load ptr, ptr %t399 call void @fn_emit(ptr %t420) call void @fn_emit(ptr @.str12700) %t421 = load ptr, ptr %t407 store i32 6904, ptr @lp_site %t422 = call ptr @lp_str_concat(ptr @.str12701, ptr %t421) store i32 0, ptr @lp_site store i32 6905, ptr @lp_site %t423 = call ptr @lp_str_concat(ptr %t422, ptr @.str12702) store i32 0, ptr @lp_site call void @lp_free(ptr %t422) %t424 = call ptr @fn_emit_bind(ptr %t423) store ptr %t424, ptr %t425 %t426 = load ptr, ptr %t94 %t427 = load ptr, ptr %t90 %t428 = load ptr, ptr %t425 %t429 = call ptr @fn_list_elem_addr(ptr %t426, ptr %t427, ptr %t428) store ptr %t429, ptr %t430 %t431 = load ptr, ptr %t90 store i32 6906, ptr @lp_site %t432 = call ptr @lp_str_concat(ptr @.str12703, ptr %t431) store i32 0, ptr @lp_site store i32 6907, ptr @lp_site %t433 = call ptr @lp_str_concat(ptr %t432, ptr @.str12704) store i32 0, ptr @lp_site call void @lp_free(ptr %t432) %t434 = load ptr, ptr %t430 store i32 6908, ptr @lp_site %t435 = call ptr @lp_str_concat(ptr %t433, ptr %t434) store i32 0, ptr @lp_site call void @lp_free(ptr %t433) %t436 = call ptr @fn_emit_bind(ptr %t435) store ptr %t436, ptr %t437 %t438 = load ptr, ptr %t94 %t439 = load ptr, ptr %t90 %t440 = load ptr, ptr %t407 %t441 = call ptr @fn_list_elem_addr(ptr %t438, ptr %t439, ptr %t440) store ptr %t441, ptr %t442 call void @fn_emit(ptr @.str12705) %t443 = load ptr, ptr %t90 call void @fn_emit(ptr %t443) call void @fn_emit(ptr @.str12706) %t444 = load ptr, ptr %t437 call void @fn_emit(ptr %t444) call void @fn_emit(ptr @.str12707) %t445 = load ptr, ptr %t442 call void @fn_emit(ptr %t445) call void @fn_emit(ptr @.str12708) %t446 = load ptr, ptr %t425 %t447 = load ptr, ptr %t393 call void @fn_store_at(ptr @.str12709, ptr %t446, ptr %t447) call void @fn_emit(ptr @.str12710) %t448 = load ptr, ptr %t397 call void @fn_emit(ptr %t448) call void @fn_emit(ptr @.str12711) %t449 = load ptr, ptr %t401 call void @fn_emit(ptr %t449) call void @fn_emit(ptr @.str12712) %t450 = load ptr, ptr %t94 %t451 = load ptr, ptr %t90 %t452 = load ptr, ptr %t372 %t453 = getelementptr inbounds %Cmp_Val, ptr %t452, i32 0, i32 0 %t454 = load ptr, ptr %t453 %t455 = call ptr @fn_list_elem_addr(ptr %t450, ptr %t451, ptr %t454) store ptr %t455, ptr %t456 call void @fn_emit(ptr @.str12713) %t457 = load ptr, ptr %t90 call void @fn_emit(ptr %t457) call void @fn_emit(ptr @.str12714) %t458 = load ptr, ptr %t385 %t459 = getelementptr inbounds %Cmp_Val, ptr %t458, i32 0, i32 0 %t460 = load ptr, ptr %t459 call void @fn_emit(ptr %t460) call void @fn_emit(ptr @.str12715) %t461 = load ptr, ptr %t456 call void @fn_emit(ptr %t461) call void @fn_emit(ptr @.str12716) %t462 = load ptr, ptr %t391 store i32 6909, ptr @lp_site %t463 = call ptr @lp_str_concat(ptr @.str12717, ptr %t462) store i32 0, ptr @lp_site store i32 6910, ptr @lp_site %t464 = call ptr @lp_str_concat(ptr %t463, ptr @.str12718) store i32 0, ptr @lp_site call void @lp_free(ptr %t463) %t465 = call ptr @fn_emit_bind(ptr %t464) store ptr %t465, ptr %t466 call void @fn_emit(ptr @.str12719) %t467 = load ptr, ptr %t466 call void @fn_emit(ptr %t467) call void @fn_emit(ptr @.str12720) %t468 = load ptr, ptr %t97 call void @fn_emit(ptr %t468) call void @fn_emit(ptr @.str12721) %t469 = call ptr @fn_val(ptr @.str12722, ptr @.str12723) store ptr %t469, ptr %retval br label %ret ifend52: %t470 = load ptr, ptr %t0 %t471 = call i32 @lp_str_eq(ptr %t470, ptr @.str12724) %t472 = icmp ne i32 %t471, 0 br i1 %t472, label %then57, label %ifend59 then57: %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 %LSlice, ptr %t475, i32 0, i32 1 %t479 = load i32, ptr %t478 %t480 = icmp ult i32 1, %t479 br i1 %t480, label %ixok60, label %ixbad61 ixbad61: store i32 6911, ptr @lp_site %t481 = call ptr @lp_win_stdio(i32 2) store i32 0, ptr @lp_site call i32 (ptr, ptr, ...) @fprintf(ptr %t481, ptr @.fmt_bounds, ptr @.str12725, i32 1, i32 %t479) call void @exit(i32 1) unreachable ixok60: %t482 = getelementptr inbounds ptr, ptr %t477, i32 1 %t483 = load ptr, ptr %t482 %t484 = call ptr @fn_emit_expr(ptr %t483) store ptr %t484, ptr %t485 %t486 = load ptr, ptr %t97 store i32 6912, ptr @lp_site %t487 = call ptr @lp_str_concat(ptr @.str12726, ptr %t486) store i32 0, ptr @lp_site %t488 = call ptr @fn_emit_bind(ptr %t487) store ptr %t488, ptr %t489 %t490 = load ptr, ptr %t489 store i32 6913, ptr @lp_site %t491 = call ptr @lp_str_concat(ptr @.str12727, ptr %t490) store i32 0, ptr @lp_site store i32 6914, ptr @lp_site %t492 = call ptr @lp_str_concat(ptr %t491, ptr @.str12728) store i32 0, ptr @lp_site call void @lp_free(ptr %t491) %t493 = call ptr @fn_emit_bind(ptr %t492) store ptr %t493, ptr %t494 %t495 = call ptr @fn_emit_alloca(ptr @.str12729) store ptr %t495, ptr %t496 %t497 = load ptr, ptr %t485 %t498 = getelementptr inbounds %Cmp_Val, ptr %t497, i32 0, i32 0 %t499 = load ptr, ptr %t498 %t500 = load ptr, ptr %t496 call void @fn_store_at(ptr @.str12730, ptr %t499, ptr %t500) %t501 = call ptr @fn_lbl(ptr @.str12731) store ptr %t501, ptr %t502 %t503 = call ptr @fn_lbl(ptr @.str12732) store ptr %t503, ptr %t504 %t505 = call ptr @fn_lbl(ptr @.str12733) store ptr %t505, ptr %t506 call void @fn_emit(ptr @.str12734) %t507 = load ptr, ptr %t502 call void @fn_emit(ptr %t507) call void @fn_emit(ptr @.str12735) %t508 = load ptr, ptr %t502 call void @fn_emit(ptr %t508) call void @fn_emit(ptr @.str12736) %t509 = load ptr, ptr %t496 store i32 6915, ptr @lp_site %t510 = call ptr @lp_str_concat(ptr @.str12737, ptr %t509) store i32 0, ptr @lp_site %t511 = call ptr @fn_emit_bind(ptr %t510) store ptr %t511, ptr %t512 %t513 = load ptr, ptr %t512 store i32 6916, ptr @lp_site %t514 = call ptr @lp_str_concat(ptr @.str12738, ptr %t513) store i32 0, ptr @lp_site store i32 6917, ptr @lp_site %t515 = call ptr @lp_str_concat(ptr %t514, ptr @.str12739) store i32 0, ptr @lp_site call void @lp_free(ptr %t514) %t516 = load ptr, ptr %t494 store i32 6918, ptr @lp_site %t517 = call ptr @lp_str_concat(ptr %t515, ptr %t516) store i32 0, ptr @lp_site call void @lp_free(ptr %t515) %t518 = call ptr @fn_emit_bind(ptr %t517) store ptr %t518, ptr %t519 call void @fn_emit(ptr @.str12740) %t520 = load ptr, ptr %t519 call void @fn_emit(ptr %t520) call void @fn_emit(ptr @.str12741) %t521 = load ptr, ptr %t504 call void @fn_emit(ptr %t521) call void @fn_emit(ptr @.str12742) %t522 = load ptr, ptr %t506 call void @fn_emit(ptr %t522) call void @fn_emit(ptr @.str12743) %t523 = load ptr, ptr %t504 call void @fn_emit(ptr %t523) call void @fn_emit(ptr @.str12744) %t524 = load ptr, ptr %t512 store i32 6919, ptr @lp_site %t525 = call ptr @lp_str_concat(ptr @.str12745, ptr %t524) store i32 0, ptr @lp_site store i32 6920, ptr @lp_site %t526 = call ptr @lp_str_concat(ptr %t525, ptr @.str12746) store i32 0, ptr @lp_site call void @lp_free(ptr %t525) %t527 = call ptr @fn_emit_bind(ptr %t526) store ptr %t527, ptr %t528 %t529 = load ptr, ptr %t94 %t530 = load ptr, ptr %t90 %t531 = load ptr, ptr %t528 %t532 = call ptr @fn_list_elem_addr(ptr %t529, ptr %t530, ptr %t531) store ptr %t532, ptr %t533 %t534 = load ptr, ptr %t90 store i32 6921, ptr @lp_site %t535 = call ptr @lp_str_concat(ptr @.str12747, ptr %t534) store i32 0, ptr @lp_site store i32 6922, ptr @lp_site %t536 = call ptr @lp_str_concat(ptr %t535, ptr @.str12748) store i32 0, ptr @lp_site call void @lp_free(ptr %t535) %t537 = load ptr, ptr %t533 store i32 6923, ptr @lp_site %t538 = call ptr @lp_str_concat(ptr %t536, ptr %t537) store i32 0, ptr @lp_site call void @lp_free(ptr %t536) %t539 = call ptr @fn_emit_bind(ptr %t538) store ptr %t539, ptr %t540 %t541 = load ptr, ptr %t94 %t542 = load ptr, ptr %t90 %t543 = load ptr, ptr %t512 %t544 = call ptr @fn_list_elem_addr(ptr %t541, ptr %t542, ptr %t543) store ptr %t544, ptr %t545 call void @fn_emit(ptr @.str12749) %t546 = load ptr, ptr %t90 call void @fn_emit(ptr %t546) call void @fn_emit(ptr @.str12750) %t547 = load ptr, ptr %t540 call void @fn_emit(ptr %t547) call void @fn_emit(ptr @.str12751) %t548 = load ptr, ptr %t545 call void @fn_emit(ptr %t548) call void @fn_emit(ptr @.str12752) %t549 = load ptr, ptr %t528 %t550 = load ptr, ptr %t496 call void @fn_store_at(ptr @.str12753, ptr %t549, ptr %t550) call void @fn_emit(ptr @.str12754) %t551 = load ptr, ptr %t502 call void @fn_emit(ptr %t551) call void @fn_emit(ptr @.str12755) %t552 = load ptr, ptr %t506 call void @fn_emit(ptr %t552) call void @fn_emit(ptr @.str12756) call void @fn_emit(ptr @.str12757) %t553 = load ptr, ptr %t494 call void @fn_emit(ptr %t553) call void @fn_emit(ptr @.str12758) %t554 = load ptr, ptr %t97 call void @fn_emit(ptr %t554) call void @fn_emit(ptr @.str12759) %t555 = call ptr @fn_val(ptr @.str12760, ptr @.str12761) store ptr %t555, ptr %retval br label %ret ifend59: %t556 = load ptr, ptr %t0 %t557 = call i32 @lp_str_eq(ptr %t556, ptr @.str12762) %t558 = icmp ne i32 %t557, 0 br i1 %t558, label %then62, label %ifend64 then62: %t559 = load ptr, ptr %t1 %t560 = getelementptr inbounds %Cmp_Node, ptr %t559, i32 0, i32 7 %t561 = load ptr, ptr %t560 %t562 = getelementptr inbounds %LSlice, ptr %t561, i32 0, i32 0 %t563 = load ptr, ptr %t562 %t564 = getelementptr inbounds %LSlice, ptr %t561, i32 0, i32 1 %t565 = load i32, ptr %t564 %t566 = icmp ult i32 1, %t565 br i1 %t566, label %ixok65, label %ixbad66 ixbad66: store i32 6924, ptr @lp_site %t567 = call ptr @lp_win_stdio(i32 2) store i32 0, ptr @lp_site call i32 (ptr, ptr, ...) @fprintf(ptr %t567, ptr @.fmt_bounds, ptr @.str12763, i32 1, i32 %t565) call void @exit(i32 1) unreachable ixok65: %t568 = getelementptr inbounds ptr, ptr %t563, i32 1 %t569 = load ptr, ptr %t568 %t570 = call ptr @fn_emit_expr(ptr %t569) store ptr %t570, ptr %t571 %t572 = load ptr, ptr %t97 store i32 6925, ptr @lp_site %t573 = call ptr @lp_str_concat(ptr @.str12764, ptr %t572) store i32 0, ptr @lp_site %t574 = call ptr @fn_emit_bind(ptr %t573) store ptr %t574, ptr %t575 %t576 = call ptr @fn_emit_alloca(ptr @.str12765) store ptr %t576, ptr %t577 %t578 = load ptr, ptr %t577 call void @fn_store_at(ptr @.str12766, ptr @.str12767, ptr %t578) %t579 = call ptr @fn_emit_alloca(ptr @.str12768) store ptr %t579, ptr %t580 %t581 = load ptr, ptr %t580 call void @fn_store_at(ptr @.str12769, ptr @.str12770, ptr %t581) %t582 = call ptr @fn_lbl(ptr @.str12771) store ptr %t582, ptr %t583 %t584 = call ptr @fn_lbl(ptr @.str12772) store ptr %t584, ptr %t585 %t586 = call ptr @fn_lbl(ptr @.str12773) store ptr %t586, ptr %t587 %t588 = call ptr @fn_lbl(ptr @.str12774) store ptr %t588, ptr %t589 %t590 = call ptr @fn_lbl(ptr @.str12775) store ptr %t590, ptr %t591 call void @fn_emit(ptr @.str12776) %t592 = load ptr, ptr %t583 call void @fn_emit(ptr %t592) call void @fn_emit(ptr @.str12777) %t593 = load ptr, ptr %t583 call void @fn_emit(ptr %t593) call void @fn_emit(ptr @.str12778) %t594 = load ptr, ptr %t580 store i32 6926, ptr @lp_site %t595 = call ptr @lp_str_concat(ptr @.str12779, ptr %t594) store i32 0, ptr @lp_site %t596 = call ptr @fn_emit_bind(ptr %t595) store ptr %t596, ptr %t597 %t598 = load ptr, ptr %t597 store i32 6927, ptr @lp_site %t599 = call ptr @lp_str_concat(ptr @.str12780, ptr %t598) store i32 0, ptr @lp_site store i32 6928, ptr @lp_site %t600 = call ptr @lp_str_concat(ptr %t599, ptr @.str12781) store i32 0, ptr @lp_site call void @lp_free(ptr %t599) %t601 = load ptr, ptr %t575 store i32 6929, ptr @lp_site %t602 = call ptr @lp_str_concat(ptr %t600, ptr %t601) store i32 0, ptr @lp_site call void @lp_free(ptr %t600) %t603 = call ptr @fn_emit_bind(ptr %t602) store ptr %t603, ptr %t604 %t605 = load ptr, ptr %t577 store i32 6930, ptr @lp_site %t606 = call ptr @lp_str_concat(ptr @.str12782, ptr %t605) store i32 0, ptr @lp_site %t607 = call ptr @fn_emit_bind(ptr %t606) store ptr %t607, ptr %t608 %t609 = load ptr, ptr %t608 store i32 6931, ptr @lp_site %t610 = call ptr @lp_str_concat(ptr @.str12783, ptr %t609) store i32 0, ptr @lp_site store i32 6932, ptr @lp_site %t611 = call ptr @lp_str_concat(ptr %t610, ptr @.str12784) store i32 0, ptr @lp_site call void @lp_free(ptr %t610) %t612 = call ptr @fn_emit_bind(ptr %t611) store ptr %t612, ptr %t613 %t614 = load ptr, ptr %t604 store i32 6933, ptr @lp_site %t615 = call ptr @lp_str_concat(ptr @.str12785, ptr %t614) store i32 0, ptr @lp_site store i32 6934, ptr @lp_site %t616 = call ptr @lp_str_concat(ptr %t615, ptr @.str12786) store i32 0, ptr @lp_site call void @lp_free(ptr %t615) %t617 = load ptr, ptr %t613 store i32 6935, ptr @lp_site %t618 = call ptr @lp_str_concat(ptr %t616, ptr %t617) store i32 0, ptr @lp_site call void @lp_free(ptr %t616) %t619 = call ptr @fn_emit_bind(ptr %t618) store ptr %t619, ptr %t620 call void @fn_emit(ptr @.str12787) %t621 = load ptr, ptr %t620 call void @fn_emit(ptr %t621) call void @fn_emit(ptr @.str12788) %t622 = load ptr, ptr %t585 call void @fn_emit(ptr %t622) call void @fn_emit(ptr @.str12789) %t623 = load ptr, ptr %t591 call void @fn_emit(ptr %t623) call void @fn_emit(ptr @.str12790) %t624 = load ptr, ptr %t585 call void @fn_emit(ptr %t624) call void @fn_emit(ptr @.str12791) %t625 = load ptr, ptr %t94 %t626 = load ptr, ptr %t90 %t627 = load ptr, ptr %t597 %t628 = call ptr @fn_list_elem_addr(ptr %t625, ptr %t626, ptr %t627) store ptr %t628, ptr %t629 %t630 = load ptr, ptr %t90 store i32 6936, ptr @lp_site %t631 = call ptr @lp_str_concat(ptr @.str12792, ptr %t630) store i32 0, ptr @lp_site store i32 6937, ptr @lp_site %t632 = call ptr @lp_str_concat(ptr %t631, ptr @.str12793) store i32 0, ptr @lp_site call void @lp_free(ptr %t631) %t633 = load ptr, ptr %t629 store i32 6938, ptr @lp_site %t634 = call ptr @lp_str_concat(ptr %t632, ptr %t633) store i32 0, ptr @lp_site call void @lp_free(ptr %t632) %t635 = call ptr @fn_emit_bind(ptr %t634) store ptr %t635, ptr %t636 %t637 = load ptr, ptr %t90 store i32 6939, ptr @lp_site %t638 = call ptr @lp_str_concat(ptr @.str12794, ptr %t637) store i32 0, ptr @lp_site store i32 6940, ptr @lp_site %t639 = call ptr @lp_str_concat(ptr %t638, ptr @.str12795) store i32 0, ptr @lp_site call void @lp_free(ptr %t638) %t640 = load ptr, ptr %t636 store i32 6941, ptr @lp_site %t641 = call ptr @lp_str_concat(ptr %t639, ptr %t640) store i32 0, ptr @lp_site call void @lp_free(ptr %t639) store i32 6942, ptr @lp_site %t642 = call ptr @lp_str_concat(ptr %t641, ptr @.str12796) store i32 0, ptr @lp_site call void @lp_free(ptr %t641) %t643 = load ptr, ptr %t571 %t644 = getelementptr inbounds %Cmp_Val, ptr %t643, i32 0, i32 0 %t645 = load ptr, ptr %t644 store i32 6943, ptr @lp_site %t646 = call ptr @lp_str_concat(ptr %t642, ptr %t645) store i32 0, ptr @lp_site call void @lp_free(ptr %t642) %t647 = call ptr @fn_emit_bind(ptr %t646) store ptr %t647, ptr %t648 call void @fn_emit(ptr @.str12797) %t649 = load ptr, ptr %t648 call void @fn_emit(ptr %t649) call void @fn_emit(ptr @.str12798) %t650 = load ptr, ptr %t587 call void @fn_emit(ptr %t650) call void @fn_emit(ptr @.str12799) %t651 = load ptr, ptr %t589 call void @fn_emit(ptr %t651) call void @fn_emit(ptr @.str12800) %t652 = load ptr, ptr %t587 call void @fn_emit(ptr %t652) call void @fn_emit(ptr @.str12801) %t653 = load ptr, ptr %t597 %t654 = load ptr, ptr %t577 call void @fn_store_at(ptr @.str12802, ptr %t653, ptr %t654) call void @fn_emit(ptr @.str12803) %t655 = load ptr, ptr %t583 call void @fn_emit(ptr %t655) call void @fn_emit(ptr @.str12804) %t656 = load ptr, ptr %t589 call void @fn_emit(ptr %t656) call void @fn_emit(ptr @.str12805) %t657 = load ptr, ptr %t597 store i32 6944, ptr @lp_site %t658 = call ptr @lp_str_concat(ptr @.str12806, ptr %t657) store i32 0, ptr @lp_site store i32 6945, ptr @lp_site %t659 = call ptr @lp_str_concat(ptr %t658, ptr @.str12807) store i32 0, ptr @lp_site call void @lp_free(ptr %t658) %t660 = call ptr @fn_emit_bind(ptr %t659) store ptr %t660, ptr %t661 %t662 = load ptr, ptr %t661 %t663 = load ptr, ptr %t580 call void @fn_store_at(ptr @.str12808, ptr %t662, ptr %t663) call void @fn_emit(ptr @.str12809) %t664 = load ptr, ptr %t583 call void @fn_emit(ptr %t664) call void @fn_emit(ptr @.str12810) %t665 = load ptr, ptr %t591 call void @fn_emit(ptr %t665) call void @fn_emit(ptr @.str12811) %t666 = load ptr, ptr %t577 store i32 6946, ptr @lp_site %t667 = call ptr @lp_str_concat(ptr @.str12812, ptr %t666) store i32 0, ptr @lp_site %t668 = call ptr @fn_emit_bind(ptr %t667) store ptr %t668, ptr %t669 %t670 = load ptr, ptr %t669 store i32 6947, ptr @lp_site %t671 = call ptr @lp_str_concat(ptr @.str12813, ptr %t670) store i32 0, ptr @lp_site store i32 6948, ptr @lp_site %t672 = call ptr @lp_str_concat(ptr %t671, ptr @.str12814) store i32 0, ptr @lp_site call void @lp_free(ptr %t671) %t673 = call ptr @fn_emit_bind(ptr %t672) store ptr %t673, ptr %t674 %t675 = call ptr @fn_lbl(ptr @.str12815) store ptr %t675, ptr %t676 %t677 = call ptr @fn_lbl(ptr @.str12816) store ptr %t677, ptr %t678 call void @fn_emit(ptr @.str12817) %t679 = load ptr, ptr %t674 call void @fn_emit(ptr %t679) call void @fn_emit(ptr @.str12818) %t680 = load ptr, ptr %t676 call void @fn_emit(ptr %t680) call void @fn_emit(ptr @.str12819) %t681 = load ptr, ptr %t678 call void @fn_emit(ptr %t681) call void @fn_emit(ptr @.str12820) %t682 = load ptr, ptr %t676 call void @fn_emit(ptr %t682) call void @fn_emit(ptr @.str12821) %t683 = load ptr, ptr %t575 store i32 6949, ptr @lp_site %t684 = call ptr @lp_str_concat(ptr @.str12822, ptr %t683) store i32 0, ptr @lp_site store i32 6950, ptr @lp_site %t685 = call ptr @lp_str_concat(ptr %t684, ptr @.str12823) store i32 0, ptr @lp_site call void @lp_free(ptr %t684) %t686 = call ptr @fn_emit_bind(ptr %t685) store ptr %t686, ptr %t687 %t688 = call ptr @fn_emit_alloca(ptr @.str12824) store ptr %t688, ptr %t689 %t690 = load ptr, ptr %t669 %t691 = load ptr, ptr %t689 call void @fn_store_at(ptr @.str12825, ptr %t690, ptr %t691) %t692 = call ptr @fn_lbl(ptr @.str12826) store ptr %t692, ptr %t693 %t694 = call ptr @fn_lbl(ptr @.str12827) store ptr %t694, ptr %t695 %t696 = call ptr @fn_lbl(ptr @.str12828) store ptr %t696, ptr %t697 call void @fn_emit(ptr @.str12829) %t698 = load ptr, ptr %t693 call void @fn_emit(ptr %t698) call void @fn_emit(ptr @.str12830) %t699 = load ptr, ptr %t693 call void @fn_emit(ptr %t699) call void @fn_emit(ptr @.str12831) %t700 = load ptr, ptr %t689 store i32 6951, ptr @lp_site %t701 = call ptr @lp_str_concat(ptr @.str12832, ptr %t700) store i32 0, ptr @lp_site %t702 = call ptr @fn_emit_bind(ptr %t701) store ptr %t702, ptr %t703 %t704 = load ptr, ptr %t703 store i32 6952, ptr @lp_site %t705 = call ptr @lp_str_concat(ptr @.str12833, ptr %t704) store i32 0, ptr @lp_site store i32 6953, ptr @lp_site %t706 = call ptr @lp_str_concat(ptr %t705, ptr @.str12834) store i32 0, ptr @lp_site call void @lp_free(ptr %t705) %t707 = load ptr, ptr %t687 store i32 6954, ptr @lp_site %t708 = call ptr @lp_str_concat(ptr %t706, ptr %t707) store i32 0, ptr @lp_site call void @lp_free(ptr %t706) %t709 = call ptr @fn_emit_bind(ptr %t708) store ptr %t709, ptr %t710 call void @fn_emit(ptr @.str12835) %t711 = load ptr, ptr %t710 call void @fn_emit(ptr %t711) call void @fn_emit(ptr @.str12836) %t712 = load ptr, ptr %t695 call void @fn_emit(ptr %t712) call void @fn_emit(ptr @.str12837) %t713 = load ptr, ptr %t697 call void @fn_emit(ptr %t713) call void @fn_emit(ptr @.str12838) %t714 = load ptr, ptr %t695 call void @fn_emit(ptr %t714) call void @fn_emit(ptr @.str12839) %t715 = load ptr, ptr %t703 store i32 6955, ptr @lp_site %t716 = call ptr @lp_str_concat(ptr @.str12840, ptr %t715) store i32 0, ptr @lp_site store i32 6956, ptr @lp_site %t717 = call ptr @lp_str_concat(ptr %t716, ptr @.str12841) store i32 0, ptr @lp_site call void @lp_free(ptr %t716) %t718 = call ptr @fn_emit_bind(ptr %t717) store ptr %t718, ptr %t719 %t720 = load ptr, ptr %t94 %t721 = load ptr, ptr %t90 %t722 = load ptr, ptr %t719 %t723 = call ptr @fn_list_elem_addr(ptr %t720, ptr %t721, ptr %t722) store ptr %t723, ptr %t724 %t725 = load ptr, ptr %t90 store i32 6957, ptr @lp_site %t726 = call ptr @lp_str_concat(ptr @.str12842, ptr %t725) store i32 0, ptr @lp_site store i32 6958, ptr @lp_site %t727 = call ptr @lp_str_concat(ptr %t726, ptr @.str12843) store i32 0, ptr @lp_site call void @lp_free(ptr %t726) %t728 = load ptr, ptr %t724 store i32 6959, ptr @lp_site %t729 = call ptr @lp_str_concat(ptr %t727, ptr %t728) store i32 0, ptr @lp_site call void @lp_free(ptr %t727) %t730 = call ptr @fn_emit_bind(ptr %t729) store ptr %t730, ptr %t731 %t732 = load ptr, ptr %t94 %t733 = load ptr, ptr %t90 %t734 = load ptr, ptr %t703 %t735 = call ptr @fn_list_elem_addr(ptr %t732, ptr %t733, ptr %t734) store ptr %t735, ptr %t736 call void @fn_emit(ptr @.str12844) %t737 = load ptr, ptr %t90 call void @fn_emit(ptr %t737) call void @fn_emit(ptr @.str12845) %t738 = load ptr, ptr %t731 call void @fn_emit(ptr %t738) call void @fn_emit(ptr @.str12846) %t739 = load ptr, ptr %t736 call void @fn_emit(ptr %t739) call void @fn_emit(ptr @.str12847) %t740 = load ptr, ptr %t719 %t741 = load ptr, ptr %t689 call void @fn_store_at(ptr @.str12848, ptr %t740, ptr %t741) call void @fn_emit(ptr @.str12849) %t742 = load ptr, ptr %t693 call void @fn_emit(ptr %t742) call void @fn_emit(ptr @.str12850) %t743 = load ptr, ptr %t697 call void @fn_emit(ptr %t743) call void @fn_emit(ptr @.str12851) call void @fn_emit(ptr @.str12852) %t744 = load ptr, ptr %t687 call void @fn_emit(ptr %t744) call void @fn_emit(ptr @.str12853) %t745 = load ptr, ptr %t97 call void @fn_emit(ptr %t745) call void @fn_emit(ptr @.str12854) call void @fn_emit(ptr @.str12855) %t746 = load ptr, ptr %t678 call void @fn_emit(ptr %t746) call void @fn_emit(ptr @.str12856) %t747 = load ptr, ptr %t678 call void @fn_emit(ptr %t747) call void @fn_emit(ptr @.str12857) %t748 = call ptr @fn_val(ptr @.str12858, ptr @.str12859) store ptr %t748, ptr %retval br label %ret ifend64: %t749 = load ptr, ptr %t0 %t750 = call i32 @lp_str_eq(ptr %t749, ptr @.str12860) %t751 = icmp ne i32 %t750, 0 br i1 %t751, label %then67, label %ifend69 then67: %t752 = load ptr, ptr %t97 store i32 6960, ptr @lp_site %t753 = call ptr @lp_str_concat(ptr @.str12861, ptr %t752) store i32 0, ptr @lp_site %t754 = call ptr @fn_emit_bind(ptr %t753) store ptr %t754, ptr %t755 %t756 = load ptr, ptr %t755 store i32 6961, ptr @lp_site %t757 = call ptr @lp_str_concat(ptr @.str12862, ptr %t756) store i32 0, ptr @lp_site store i32 6962, ptr @lp_site %t758 = call ptr @lp_str_concat(ptr %t757, ptr @.str12863) store i32 0, ptr @lp_site call void @lp_free(ptr %t757) %t759 = call ptr @fn_emit_bind(ptr %t758) store ptr %t759, ptr %t760 %t761 = call ptr @fn_lbl(ptr @.str12864) store ptr %t761, ptr %t762 %t763 = call ptr @fn_lbl(ptr @.str12865) store ptr %t763, ptr %t764 %t765 = call ptr @fn_lbl(ptr @.str12866) store ptr %t765, ptr %t766 call void @fn_emit(ptr @.str12867) %t767 = load ptr, ptr %t760 call void @fn_emit(ptr %t767) call void @fn_emit(ptr @.str12868) %t768 = load ptr, ptr %t762 call void @fn_emit(ptr %t768) call void @fn_emit(ptr @.str12869) %t769 = load ptr, ptr %t764 call void @fn_emit(ptr %t769) call void @fn_emit(ptr @.str12870) %t770 = load ptr, ptr %t762 call void @fn_emit(ptr %t770) call void @fn_emit(ptr @.str12871) %t771 = load ptr, ptr %t97 store i32 6963, ptr @lp_site %t772 = call ptr @lp_str_concat(ptr @.str12872, ptr %t771) store i32 0, ptr @lp_site %t773 = call ptr @fn_emit_bind(ptr %t772) store ptr %t773, ptr %t774 %t775 = call ptr @fn_emit_alloca(ptr @.str12873) store ptr %t775, ptr %t776 %t777 = load ptr, ptr %t776 call void @fn_store_at(ptr @.str12874, ptr @.str12875, ptr %t777) %t778 = call ptr @fn_lbl(ptr @.str12876) store ptr %t778, ptr %t779 %t780 = call ptr @fn_lbl(ptr @.str12877) store ptr %t780, ptr %t781 %t782 = call ptr @fn_lbl(ptr @.str12878) store ptr %t782, ptr %t783 call void @fn_emit(ptr @.str12879) %t784 = load ptr, ptr %t779 call void @fn_emit(ptr %t784) call void @fn_emit(ptr @.str12880) %t785 = load ptr, ptr %t779 call void @fn_emit(ptr %t785) call void @fn_emit(ptr @.str12881) %t786 = load ptr, ptr %t776 store i32 6964, ptr @lp_site %t787 = call ptr @lp_str_concat(ptr @.str12882, ptr %t786) store i32 0, ptr @lp_site %t788 = call ptr @fn_emit_bind(ptr %t787) store ptr %t788, ptr %t789 %t790 = load ptr, ptr %t789 store i32 6965, ptr @lp_site %t791 = call ptr @lp_str_concat(ptr @.str12883, ptr %t790) store i32 0, ptr @lp_site store i32 6966, ptr @lp_site %t792 = call ptr @lp_str_concat(ptr %t791, ptr @.str12884) store i32 0, ptr @lp_site call void @lp_free(ptr %t791) %t793 = load ptr, ptr %t774 store i32 6967, ptr @lp_site %t794 = call ptr @lp_str_concat(ptr %t792, ptr %t793) store i32 0, ptr @lp_site call void @lp_free(ptr %t792) %t795 = call ptr @fn_emit_bind(ptr %t794) store ptr %t795, ptr %t796 call void @fn_emit(ptr @.str12885) %t797 = load ptr, ptr %t796 call void @fn_emit(ptr %t797) call void @fn_emit(ptr @.str12886) %t798 = load ptr, ptr %t781 call void @fn_emit(ptr %t798) call void @fn_emit(ptr @.str12887) %t799 = load ptr, ptr %t783 call void @fn_emit(ptr %t799) call void @fn_emit(ptr @.str12888) %t800 = load ptr, ptr %t781 call void @fn_emit(ptr %t800) call void @fn_emit(ptr @.str12889) %t801 = load ptr, ptr %t94 %t802 = load ptr, ptr %t90 %t803 = load ptr, ptr %t789 %t804 = call ptr @fn_list_elem_addr(ptr %t801, ptr %t802, ptr %t803) store ptr %t804, ptr %t805 %t806 = load ptr, ptr %t90 store i32 6968, ptr @lp_site %t807 = call ptr @lp_str_concat(ptr @.str12890, ptr %t806) store i32 0, ptr @lp_site store i32 6969, ptr @lp_site %t808 = call ptr @lp_str_concat(ptr %t807, ptr @.str12891) store i32 0, ptr @lp_site call void @lp_free(ptr %t807) %t809 = load ptr, ptr %t805 store i32 6970, ptr @lp_site %t810 = call ptr @lp_str_concat(ptr %t808, ptr %t809) store i32 0, ptr @lp_site call void @lp_free(ptr %t808) %t811 = call ptr @fn_emit_bind(ptr %t810) store ptr %t811, ptr %t812 %t813 = call ptr @fn_emit_alloca(ptr @.str12892) store ptr %t813, ptr %t814 %t815 = load ptr, ptr %t789 store i32 6971, ptr @lp_site %t816 = call ptr @lp_str_concat(ptr @.str12893, ptr %t815) store i32 0, ptr @lp_site store i32 6972, ptr @lp_site %t817 = call ptr @lp_str_concat(ptr %t816, ptr @.str12894) store i32 0, ptr @lp_site call void @lp_free(ptr %t816) %t818 = call ptr @fn_emit_bind(ptr %t817) store ptr %t818, ptr %t819 %t820 = load ptr, ptr %t819 %t821 = load ptr, ptr %t814 call void @fn_store_at(ptr @.str12895, ptr %t820, ptr %t821) %t822 = call ptr @fn_lbl(ptr @.str12896) store ptr %t822, ptr %t823 %t824 = call ptr @fn_lbl(ptr @.str12897) store ptr %t824, ptr %t825 %t826 = call ptr @fn_lbl(ptr @.str12898) store ptr %t826, ptr %t827 call void @fn_emit(ptr @.str12899) %t828 = load ptr, ptr %t823 call void @fn_emit(ptr %t828) call void @fn_emit(ptr @.str12900) %t829 = load ptr, ptr %t823 call void @fn_emit(ptr %t829) call void @fn_emit(ptr @.str12901) %t830 = load ptr, ptr %t814 store i32 6973, ptr @lp_site %t831 = call ptr @lp_str_concat(ptr @.str12902, ptr %t830) store i32 0, ptr @lp_site %t832 = call ptr @fn_emit_bind(ptr %t831) store ptr %t832, ptr %t833 %t834 = load ptr, ptr %t833 store i32 6974, ptr @lp_site %t835 = call ptr @lp_str_concat(ptr @.str12903, ptr %t834) store i32 0, ptr @lp_site store i32 6975, ptr @lp_site %t836 = call ptr @lp_str_concat(ptr %t835, ptr @.str12904) store i32 0, ptr @lp_site call void @lp_free(ptr %t835) %t837 = call ptr @fn_emit_bind(ptr %t836) store ptr %t837, ptr %t838 %t839 = load ptr, ptr %t94 %t840 = load ptr, ptr %t90 %t841 = load ptr, ptr %t833 %t842 = call ptr @fn_list_elem_addr(ptr %t839, ptr %t840, ptr %t841) store ptr %t842, ptr %t843 %t844 = load ptr, ptr %t90 store i32 6976, ptr @lp_site %t845 = call ptr @lp_str_concat(ptr @.str12905, ptr %t844) store i32 0, ptr @lp_site store i32 6977, ptr @lp_site %t846 = call ptr @lp_str_concat(ptr %t845, ptr @.str12906) store i32 0, ptr @lp_site call void @lp_free(ptr %t845) %t847 = load ptr, ptr %t843 store i32 6978, ptr @lp_site %t848 = call ptr @lp_str_concat(ptr %t846, ptr %t847) store i32 0, ptr @lp_site call void @lp_free(ptr %t846) %t849 = call ptr @fn_emit_bind(ptr %t848) store ptr %t849, ptr %t850 %t851 = load ptr, ptr %t90 store i32 6979, ptr @lp_site %t852 = call ptr @lp_str_concat(ptr @.str12907, ptr %t851) store i32 0, ptr @lp_site store i32 6980, ptr @lp_site %t853 = call ptr @lp_str_concat(ptr %t852, ptr @.str12908) store i32 0, ptr @lp_site call void @lp_free(ptr %t852) %t854 = load ptr, ptr %t850 store i32 6981, ptr @lp_site %t855 = call ptr @lp_str_concat(ptr %t853, ptr %t854) store i32 0, ptr @lp_site call void @lp_free(ptr %t853) store i32 6982, ptr @lp_site %t856 = call ptr @lp_str_concat(ptr %t855, ptr @.str12909) store i32 0, ptr @lp_site call void @lp_free(ptr %t855) %t857 = load ptr, ptr %t812 store i32 6983, ptr @lp_site %t858 = call ptr @lp_str_concat(ptr %t856, ptr %t857) store i32 0, ptr @lp_site call void @lp_free(ptr %t856) %t859 = call ptr @fn_emit_bind(ptr %t858) store ptr %t859, ptr %t860 %t861 = load ptr, ptr %t838 store i32 6984, ptr @lp_site %t862 = call ptr @lp_str_concat(ptr @.str12910, ptr %t861) store i32 0, ptr @lp_site store i32 6985, ptr @lp_site %t863 = call ptr @lp_str_concat(ptr %t862, ptr @.str12911) store i32 0, ptr @lp_site call void @lp_free(ptr %t862) %t864 = load ptr, ptr %t860 store i32 6986, ptr @lp_site %t865 = call ptr @lp_str_concat(ptr %t863, ptr %t864) store i32 0, ptr @lp_site call void @lp_free(ptr %t863) %t866 = call ptr @fn_emit_bind(ptr %t865) store ptr %t866, ptr %t867 call void @fn_emit(ptr @.str12912) %t868 = load ptr, ptr %t867 call void @fn_emit(ptr %t868) call void @fn_emit(ptr @.str12913) %t869 = load ptr, ptr %t825 call void @fn_emit(ptr %t869) call void @fn_emit(ptr @.str12914) %t870 = load ptr, ptr %t827 call void @fn_emit(ptr %t870) call void @fn_emit(ptr @.str12915) %t871 = load ptr, ptr %t825 call void @fn_emit(ptr %t871) call void @fn_emit(ptr @.str12916) %t872 = load ptr, ptr %t833 store i32 6987, ptr @lp_site %t873 = call ptr @lp_str_concat(ptr @.str12917, ptr %t872) store i32 0, ptr @lp_site store i32 6988, ptr @lp_site %t874 = call ptr @lp_str_concat(ptr %t873, ptr @.str12918) store i32 0, ptr @lp_site call void @lp_free(ptr %t873) %t875 = call ptr @fn_emit_bind(ptr %t874) store ptr %t875, ptr %t876 %t877 = load ptr, ptr %t94 %t878 = load ptr, ptr %t90 %t879 = load ptr, ptr %t876 %t880 = call ptr @fn_list_elem_addr(ptr %t877, ptr %t878, ptr %t879) store ptr %t880, ptr %t881 call void @fn_emit(ptr @.str12919) %t882 = load ptr, ptr %t90 call void @fn_emit(ptr %t882) call void @fn_emit(ptr @.str12920) %t883 = load ptr, ptr %t850 call void @fn_emit(ptr %t883) call void @fn_emit(ptr @.str12921) %t884 = load ptr, ptr %t881 call void @fn_emit(ptr %t884) call void @fn_emit(ptr @.str12922) %t885 = load ptr, ptr %t833 store i32 6989, ptr @lp_site %t886 = call ptr @lp_str_concat(ptr @.str12923, ptr %t885) store i32 0, ptr @lp_site store i32 6990, ptr @lp_site %t887 = call ptr @lp_str_concat(ptr %t886, ptr @.str12924) store i32 0, ptr @lp_site call void @lp_free(ptr %t886) %t888 = call ptr @fn_emit_bind(ptr %t887) store ptr %t888, ptr %t889 %t890 = load ptr, ptr %t889 %t891 = load ptr, ptr %t814 call void @fn_store_at(ptr @.str12925, ptr %t890, ptr %t891) call void @fn_emit(ptr @.str12926) %t892 = load ptr, ptr %t823 call void @fn_emit(ptr %t892) call void @fn_emit(ptr @.str12927) %t893 = load ptr, ptr %t827 call void @fn_emit(ptr %t893) call void @fn_emit(ptr @.str12928) %t894 = load ptr, ptr %t814 store i32 6991, ptr @lp_site %t895 = call ptr @lp_str_concat(ptr @.str12929, ptr %t894) store i32 0, ptr @lp_site %t896 = call ptr @fn_emit_bind(ptr %t895) store ptr %t896, ptr %t897 %t898 = load ptr, ptr %t897 store i32 6992, ptr @lp_site %t899 = call ptr @lp_str_concat(ptr @.str12930, ptr %t898) store i32 0, ptr @lp_site store i32 6993, ptr @lp_site %t900 = call ptr @lp_str_concat(ptr %t899, ptr @.str12931) store i32 0, ptr @lp_site call void @lp_free(ptr %t899) %t901 = call ptr @fn_emit_bind(ptr %t900) store ptr %t901, ptr %t902 %t903 = load ptr, ptr %t94 %t904 = load ptr, ptr %t90 %t905 = load ptr, ptr %t902 %t906 = call ptr @fn_list_elem_addr(ptr %t903, ptr %t904, ptr %t905) store ptr %t906, ptr %t907 call void @fn_emit(ptr @.str12932) %t908 = load ptr, ptr %t90 call void @fn_emit(ptr %t908) call void @fn_emit(ptr @.str12933) %t909 = load ptr, ptr %t812 call void @fn_emit(ptr %t909) call void @fn_emit(ptr @.str12934) %t910 = load ptr, ptr %t907 call void @fn_emit(ptr %t910) call void @fn_emit(ptr @.str12935) %t911 = load ptr, ptr %t789 store i32 6994, ptr @lp_site %t912 = call ptr @lp_str_concat(ptr @.str12936, ptr %t911) store i32 0, ptr @lp_site store i32 6995, ptr @lp_site %t913 = call ptr @lp_str_concat(ptr %t912, ptr @.str12937) store i32 0, ptr @lp_site call void @lp_free(ptr %t912) %t914 = call ptr @fn_emit_bind(ptr %t913) store ptr %t914, ptr %t915 %t916 = load ptr, ptr %t915 %t917 = load ptr, ptr %t776 call void @fn_store_at(ptr @.str12938, ptr %t916, ptr %t917) call void @fn_emit(ptr @.str12939) %t918 = load ptr, ptr %t779 call void @fn_emit(ptr %t918) call void @fn_emit(ptr @.str12940) %t919 = load ptr, ptr %t783 call void @fn_emit(ptr %t919) call void @fn_emit(ptr @.str12941) call void @fn_emit(ptr @.str12942) %t920 = load ptr, ptr %t766 call void @fn_emit(ptr %t920) call void @fn_emit(ptr @.str12943) %t921 = load ptr, ptr %t764 call void @fn_emit(ptr %t921) call void @fn_emit(ptr @.str12944) %t922 = load ptr, ptr %t94 %t923 = load ptr, ptr %t90 call void @fn_emit_merge_sort(ptr %t922, ptr %t923, i32 3, ptr @.str12945, ptr @.str12946) call void @fn_emit(ptr @.str12947) %t924 = load ptr, ptr %t766 call void @fn_emit(ptr %t924) call void @fn_emit(ptr @.str12948) %t925 = load ptr, ptr %t766 call void @fn_emit(ptr %t925) call void @fn_emit(ptr @.str12949) %t926 = call ptr @fn_val(ptr @.str12950, ptr @.str12951) store ptr %t926, ptr %retval br label %ret ifend69: %t927 = load ptr, ptr %t0 %t928 = call i32 @lp_str_eq(ptr %t927, ptr @.str12952) %t929 = icmp ne i32 %t928, 0 br i1 %t929, label %then70, label %ifend72 then70: %t930 = load ptr, ptr %t0 %t931 = load ptr, ptr %t1 %t932 = call ptr @fn_sort_fn_arg(ptr %t930, ptr %t931) store ptr %t932, ptr %t933 %t934 = load ptr, ptr %t933 %t935 = call ptr @fn_find_fn(ptr %t934) %t936 = call ptr @fn_param_types(ptr %t935) %t937 = getelementptr inbounds %LSlice, ptr %t936, i32 0, i32 1 %t938 = load i32, ptr %t937 %t939 = icmp ne i32 %t938, 2 %t940 = zext i1 %t939 to i32 %t941 = icmp ne i32 %t940, 0 br i1 %t941, label %then73, label %ifend75 then73: %t942 = load ptr, ptr %t933 store i32 6996, ptr @lp_site %t943 = call ptr @lp_str_concat(ptr @.str12953, ptr %t942) store i32 0, ptr @lp_site store i32 6997, ptr @lp_site %t944 = call ptr @lp_str_concat(ptr %t943, ptr @.str12954) store i32 0, ptr @lp_site call void @lp_free(ptr %t943) call void @fn_perr(ptr %t944) br label %ifend75 ifend75: %t945 = load ptr, ptr %t94 %t946 = load ptr, ptr %t90 %t947 = load ptr, ptr %t933 call void @fn_emit_merge_sort(ptr %t945, ptr %t946, i32 0, ptr %t947, ptr @.str12955) %t948 = call ptr @fn_val(ptr @.str12956, ptr @.str12957) store ptr %t948, ptr %retval br label %ret ifend72: %t950 = load ptr, ptr %t0 %t951 = call i32 @lp_str_eq(ptr %t950, ptr @.str12958) %t952 = icmp ne i32 %t951, 0 %t953 = zext i1 %t952 to i32 store i32 %t953, ptr %t949 br i1 %t952, label %scend77, label %sc76 sc76: %t954 = load ptr, ptr %t0 %t955 = call i32 @lp_str_eq(ptr %t954, ptr @.str12959) %t956 = icmp ne i32 %t955, 0 %t957 = zext i1 %t956 to i32 store i32 %t957, ptr %t949 br label %scend77 scend77: %t958 = load i32, ptr %t949 %t959 = icmp ne i32 %t958, 0 br i1 %t959, label %then78, label %ifend80 then78: %t960 = load ptr, ptr %t0 %t961 = load ptr, ptr %t1 %t962 = call ptr @fn_sort_fn_arg(ptr %t960, ptr %t961) store ptr %t962, ptr %t963 %t964 = load ptr, ptr %t963 %t965 = call ptr @fn_find_fn(ptr %t964) store ptr %t965, ptr %t966 %t967 = load ptr, ptr %t966 %t968 = call ptr @fn_param_types(ptr %t967) %t969 = getelementptr inbounds %LSlice, ptr %t968, i32 0, i32 1 %t970 = load i32, ptr %t969 %t971 = icmp ne i32 %t970, 1 %t972 = zext i1 %t971 to i32 %t973 = icmp ne i32 %t972, 0 br i1 %t973, label %then81, label %ifend83 then81: %t974 = load ptr, ptr %t0 store i32 6998, ptr @lp_site %t975 = call ptr @lp_str_concat(ptr @.str12960, ptr %t974) store i32 0, ptr @lp_site store i32 6999, ptr @lp_site %t976 = call ptr @lp_str_concat(ptr %t975, ptr @.str12961) store i32 0, ptr @lp_site call void @lp_free(ptr %t975) %t977 = load ptr, ptr %t963 store i32 7000, ptr @lp_site %t978 = call ptr @lp_str_concat(ptr %t976, ptr %t977) store i32 0, ptr @lp_site call void @lp_free(ptr %t976) store i32 7001, ptr @lp_site %t979 = call ptr @lp_str_concat(ptr %t978, ptr @.str12962) store i32 0, ptr @lp_site call void @lp_free(ptr %t978) call void @fn_perr(ptr %t979) br label %ifend83 ifend83: %t980 = load ptr, ptr %t966 %t981 = getelementptr inbounds %Cmp_Node, ptr %t980, i32 0, i32 3 %t982 = load ptr, ptr %t981 %t983 = call ptr @fn_llty(ptr %t982) store ptr %t983, ptr %t984 %t986 = load ptr, ptr %t984 %t987 = call i32 @lp_str_eq(ptr %t986, ptr @.str12963) %t988 = icmp ne i32 %t987, 0 %t989 = zext i1 %t988 to i32 store i32 %t989, ptr %t985 br i1 %t988, label %scend85, label %sc84 sc84: %t990 = load ptr, ptr %t984 %t991 = call i32 @lp_str_eq(ptr %t990, ptr @.str12964) %t992 = icmp ne i32 %t991, 0 %t993 = zext i1 %t992 to i32 store i32 %t993, ptr %t985 br label %scend85 scend85: %t994 = load i32, ptr %t985 %t995 = icmp ne i32 %t994, 0 br i1 %t995, label %then86, label %ifend88 then86: %t996 = load ptr, ptr %t0 store i32 7002, ptr @lp_site %t997 = call ptr @lp_str_concat(ptr @.str12965, ptr %t996) store i32 0, ptr @lp_site store i32 7003, ptr @lp_site %t998 = call ptr @lp_str_concat(ptr %t997, ptr @.str12966) store i32 0, ptr @lp_site call void @lp_free(ptr %t997) %t999 = load ptr, ptr %t963 store i32 7004, ptr @lp_site %t1000 = call ptr @lp_str_concat(ptr %t998, ptr %t999) store i32 0, ptr @lp_site call void @lp_free(ptr %t998) store i32 7005, ptr @lp_site %t1001 = call ptr @lp_str_concat(ptr %t1000, ptr @.str12967) store i32 0, ptr @lp_site call void @lp_free(ptr %t1000) call void @fn_perr(ptr %t1001) br label %ifend88 ifend88: store i32 1, ptr %t1002 %t1003 = load ptr, ptr %t0 %t1004 = call i32 @lp_str_eq(ptr %t1003, ptr @.str12968) %t1005 = icmp ne i32 %t1004, 0 br i1 %t1005, label %then89, label %ifend91 then89: store i32 2, ptr %t1002 br label %ifend91 ifend91: %t1006 = load ptr, ptr %t94 %t1007 = load ptr, ptr %t90 %t1008 = load i32, ptr %t1002 %t1009 = load ptr, ptr %t963 %t1010 = load ptr, ptr %t984 call void @fn_emit_merge_sort(ptr %t1006, ptr %t1007, i32 %t1008, ptr %t1009, ptr %t1010) %t1011 = call ptr @fn_val(ptr @.str12969, ptr @.str12970) store ptr %t1011, ptr %retval br label %ret ifend80: %t1012 = load ptr, ptr %t97 store i32 7006, ptr @lp_site %t1013 = call ptr @lp_str_concat(ptr @.str12971, ptr %t1012) store i32 0, ptr @lp_site %t1014 = call ptr @fn_emit_bind(ptr %t1013) store ptr %t1014, ptr %t1015 %t1016 = call ptr @fn_emit_alloca(ptr @.str12972) store ptr %t1016, ptr %t1017 %t1018 = load ptr, ptr %t1017 call void @fn_store_at(ptr @.str12973, ptr @.str12974, ptr %t1018) %t1019 = call ptr @fn_emit_alloca(ptr @.str12975) store ptr %t1019, ptr %t1020 %t1021 = load ptr, ptr %t1015 store i32 7007, ptr @lp_site %t1022 = call ptr @lp_str_concat(ptr @.str12976, ptr %t1021) store i32 0, ptr @lp_site store i32 7008, ptr @lp_site %t1023 = call ptr @lp_str_concat(ptr %t1022, ptr @.str12977) store i32 0, ptr @lp_site call void @lp_free(ptr %t1022) %t1024 = call ptr @fn_emit_bind(ptr %t1023) store ptr %t1024, ptr %t1025 %t1026 = load ptr, ptr %t1025 %t1027 = load ptr, ptr %t1020 call void @fn_store_at(ptr @.str12978, ptr %t1026, ptr %t1027) %t1028 = call ptr @fn_lbl(ptr @.str12979) store ptr %t1028, ptr %t1029 %t1030 = call ptr @fn_lbl(ptr @.str12980) store ptr %t1030, ptr %t1031 %t1032 = call ptr @fn_lbl(ptr @.str12981) store ptr %t1032, ptr %t1033 call void @fn_emit(ptr @.str12982) %t1034 = load ptr, ptr %t1029 call void @fn_emit(ptr %t1034) call void @fn_emit(ptr @.str12983) %t1035 = load ptr, ptr %t1029 call void @fn_emit(ptr %t1035) call void @fn_emit(ptr @.str12984) %t1036 = load ptr, ptr %t1017 store i32 7009, ptr @lp_site %t1037 = call ptr @lp_str_concat(ptr @.str12985, ptr %t1036) store i32 0, ptr @lp_site %t1038 = call ptr @fn_emit_bind(ptr %t1037) store ptr %t1038, ptr %t1039 %t1040 = load ptr, ptr %t1020 store i32 7010, ptr @lp_site %t1041 = call ptr @lp_str_concat(ptr @.str12986, ptr %t1040) store i32 0, ptr @lp_site %t1042 = call ptr @fn_emit_bind(ptr %t1041) store ptr %t1042, ptr %t1043 %t1044 = load ptr, ptr %t1039 store i32 7011, ptr @lp_site %t1045 = call ptr @lp_str_concat(ptr @.str12987, ptr %t1044) store i32 0, ptr @lp_site store i32 7012, ptr @lp_site %t1046 = call ptr @lp_str_concat(ptr %t1045, ptr @.str12988) store i32 0, ptr @lp_site call void @lp_free(ptr %t1045) %t1047 = load ptr, ptr %t1043 store i32 7013, ptr @lp_site %t1048 = call ptr @lp_str_concat(ptr %t1046, ptr %t1047) store i32 0, ptr @lp_site call void @lp_free(ptr %t1046) %t1049 = call ptr @fn_emit_bind(ptr %t1048) store ptr %t1049, ptr %t1050 call void @fn_emit(ptr @.str12989) %t1051 = load ptr, ptr %t1050 call void @fn_emit(ptr %t1051) call void @fn_emit(ptr @.str12990) %t1052 = load ptr, ptr %t1031 call void @fn_emit(ptr %t1052) call void @fn_emit(ptr @.str12991) %t1053 = load ptr, ptr %t1033 call void @fn_emit(ptr %t1053) call void @fn_emit(ptr @.str12992) %t1054 = load ptr, ptr %t1031 call void @fn_emit(ptr %t1054) call void @fn_emit(ptr @.str12993) %t1055 = load ptr, ptr %t94 %t1056 = load ptr, ptr %t90 %t1057 = load ptr, ptr %t1039 %t1058 = call ptr @fn_list_elem_addr(ptr %t1055, ptr %t1056, ptr %t1057) store ptr %t1058, ptr %t1059 %t1060 = load ptr, ptr %t94 %t1061 = load ptr, ptr %t90 %t1062 = load ptr, ptr %t1043 %t1063 = call ptr @fn_list_elem_addr(ptr %t1060, ptr %t1061, ptr %t1062) store ptr %t1063, ptr %t1064 %t1065 = load ptr, ptr %t90 store i32 7014, ptr @lp_site %t1066 = call ptr @lp_str_concat(ptr @.str12994, ptr %t1065) store i32 0, ptr @lp_site store i32 7015, ptr @lp_site %t1067 = call ptr @lp_str_concat(ptr %t1066, ptr @.str12995) store i32 0, ptr @lp_site call void @lp_free(ptr %t1066) %t1068 = load ptr, ptr %t1059 store i32 7016, ptr @lp_site %t1069 = call ptr @lp_str_concat(ptr %t1067, ptr %t1068) store i32 0, ptr @lp_site call void @lp_free(ptr %t1067) %t1070 = call ptr @fn_emit_bind(ptr %t1069) store ptr %t1070, ptr %t1071 %t1072 = load ptr, ptr %t90 store i32 7017, ptr @lp_site %t1073 = call ptr @lp_str_concat(ptr @.str12996, ptr %t1072) store i32 0, ptr @lp_site store i32 7018, ptr @lp_site %t1074 = call ptr @lp_str_concat(ptr %t1073, ptr @.str12997) store i32 0, ptr @lp_site call void @lp_free(ptr %t1073) %t1075 = load ptr, ptr %t1064 store i32 7019, ptr @lp_site %t1076 = call ptr @lp_str_concat(ptr %t1074, ptr %t1075) store i32 0, ptr @lp_site call void @lp_free(ptr %t1074) %t1077 = call ptr @fn_emit_bind(ptr %t1076) store ptr %t1077, ptr %t1078 call void @fn_emit(ptr @.str12998) %t1079 = load ptr, ptr %t90 call void @fn_emit(ptr %t1079) call void @fn_emit(ptr @.str12999) %t1080 = load ptr, ptr %t1078 call void @fn_emit(ptr %t1080) call void @fn_emit(ptr @.str13000) %t1081 = load ptr, ptr %t1059 call void @fn_emit(ptr %t1081) call void @fn_emit(ptr @.str13001) call void @fn_emit(ptr @.str13002) %t1082 = load ptr, ptr %t90 call void @fn_emit(ptr %t1082) call void @fn_emit(ptr @.str13003) %t1083 = load ptr, ptr %t1071 call void @fn_emit(ptr %t1083) call void @fn_emit(ptr @.str13004) %t1084 = load ptr, ptr %t1064 call void @fn_emit(ptr %t1084) call void @fn_emit(ptr @.str13005) %t1085 = load ptr, ptr %t1039 store i32 7020, ptr @lp_site %t1086 = call ptr @lp_str_concat(ptr @.str13006, ptr %t1085) store i32 0, ptr @lp_site store i32 7021, ptr @lp_site %t1087 = call ptr @lp_str_concat(ptr %t1086, ptr @.str13007) store i32 0, ptr @lp_site call void @lp_free(ptr %t1086) %t1088 = call ptr @fn_emit_bind(ptr %t1087) store ptr %t1088, ptr %t1089 %t1090 = load ptr, ptr %t1089 %t1091 = load ptr, ptr %t1017 call void @fn_store_at(ptr @.str13008, ptr %t1090, ptr %t1091) %t1092 = load ptr, ptr %t1043 store i32 7022, ptr @lp_site %t1093 = call ptr @lp_str_concat(ptr @.str13009, ptr %t1092) store i32 0, ptr @lp_site store i32 7023, ptr @lp_site %t1094 = call ptr @lp_str_concat(ptr %t1093, ptr @.str13010) store i32 0, ptr @lp_site call void @lp_free(ptr %t1093) %t1095 = call ptr @fn_emit_bind(ptr %t1094) store ptr %t1095, ptr %t1096 %t1097 = load ptr, ptr %t1096 %t1098 = load ptr, ptr %t1020 call void @fn_store_at(ptr @.str13011, ptr %t1097, ptr %t1098) call void @fn_emit(ptr @.str13012) %t1099 = load ptr, ptr %t1029 call void @fn_emit(ptr %t1099) call void @fn_emit(ptr @.str13013) %t1100 = load ptr, ptr %t1033 call void @fn_emit(ptr %t1100) call void @fn_emit(ptr @.str13014) %t1101 = call ptr @fn_val(ptr @.str13015, ptr @.str13016) store ptr %t1101, ptr %retval br label %ret ret: %t1102 = load ptr, ptr %retval ret ptr %t1102 } 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 @.str13017) %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 @.str13018) %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 @.str13019) %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 @.str13020) %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 @.str13021) %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 @.str13022) %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 @.str13023) 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 store i32 7024, ptr @lp_site %t5 = call ptr @lp_str_concat(ptr @.str13024, ptr %t4) store i32 0, ptr @lp_site store i32 7025, ptr @lp_site %t6 = call ptr @lp_str_concat(ptr %t5, ptr @.str13026) store i32 0, ptr @lp_site call void @lp_free(ptr %t5) %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 store i32 7026, ptr @lp_site %t13 = call ptr @lp_str_concat(ptr @.str13027, ptr %t12) store i32 0, ptr @lp_site store i32 7027, ptr @lp_site %t14 = call ptr @lp_str_concat(ptr %t13, ptr @.str13028) store i32 0, ptr @lp_site call void @lp_free(ptr %t13) %t15 = call ptr @fn_emit_bind(ptr %t14) store ptr %t15, ptr %t16 %t17 = load ptr, ptr %t0 store i32 7028, ptr @lp_site %t18 = call ptr @lp_str_concat(ptr @.str13029, ptr %t17) store i32 0, ptr @lp_site store i32 7029, ptr @lp_site %t19 = call ptr @lp_str_concat(ptr %t18, ptr @.str13030) store i32 0, ptr @lp_site call void @lp_free(ptr %t18) %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 store i32 7030, ptr @lp_site %t26 = call ptr @lp_str_concat(ptr @.str13031, ptr %t25) store i32 0, ptr @lp_site store i32 7031, ptr @lp_site %t27 = call ptr @lp_str_concat(ptr %t26, ptr @.str13032) store i32 0, ptr @lp_site call void @lp_free(ptr %t26) %t28 = call ptr @fn_emit_bind(ptr %t27) store ptr %t28, ptr %t29 %t30 = load ptr, ptr %t0 store i32 7032, ptr @lp_site %t31 = call ptr @lp_str_concat(ptr @.str13033, ptr %t30) store i32 0, ptr @lp_site store i32 7033, ptr @lp_site %t32 = call ptr @lp_str_concat(ptr %t31, ptr @.str13034) store i32 0, ptr @lp_site call void @lp_free(ptr %t31) %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 store i32 7034, ptr @lp_site %t39 = call ptr @lp_str_concat(ptr @.str13035, ptr %t38) store i32 0, ptr @lp_site store i32 7035, ptr @lp_site %t40 = call ptr @lp_str_concat(ptr %t39, ptr @.str13036) store i32 0, ptr @lp_site call void @lp_free(ptr %t39) %t41 = call ptr @fn_emit_bind(ptr %t40) store ptr %t41, ptr %t42 %t43 = load ptr, ptr %t0 store i32 7036, ptr @lp_site %t44 = call ptr @lp_str_concat(ptr @.str13037, ptr %t43) store i32 0, ptr @lp_site store i32 7037, ptr @lp_site %t45 = call ptr @lp_str_concat(ptr %t44, ptr @.str13038) store i32 0, ptr @lp_site call void @lp_free(ptr %t44) %t46 = call ptr @fn_emit_bind(ptr %t45) store ptr %t46, ptr %t47 %t48 = load ptr, ptr %t47 store i32 7038, ptr @lp_site %t49 = call ptr @lp_str_concat(ptr @.str13039, ptr %t48) store i32 0, ptr @lp_site store i32 7039, ptr @lp_site %t50 = call ptr @lp_str_concat(ptr %t49, ptr @.str13040) store i32 0, ptr @lp_site call void @lp_free(ptr %t49) %t51 = load ptr, ptr %t29 store i32 7040, ptr @lp_site %t52 = call ptr @lp_str_concat(ptr %t50, ptr %t51) store i32 0, ptr @lp_site call void @lp_free(ptr %t50) store i32 7041, ptr @lp_site %t53 = call ptr @lp_str_concat(ptr %t52, ptr @.str13041) store i32 0, ptr @lp_site call void @lp_free(ptr %t52) %t54 = load ptr, ptr %t42 store i32 7042, ptr @lp_site %t55 = call ptr @lp_str_concat(ptr %t53, ptr %t54) store i32 0, ptr @lp_site call void @lp_free(ptr %t53) %t56 = call ptr @fn_emit_bind(ptr %t55) store ptr %t56, ptr %t57 %t58 = load ptr, ptr %t0 store i32 7043, ptr @lp_site %t59 = call ptr @lp_str_concat(ptr @.str13042, ptr %t58) store i32 0, ptr @lp_site store i32 7044, ptr @lp_site %t60 = call ptr @lp_str_concat(ptr %t59, ptr @.str13043) store i32 0, ptr @lp_site call void @lp_free(ptr %t59) %t61 = call ptr @fn_emit_bind(ptr %t60) store ptr %t61, ptr %t62 %t63 = load ptr, ptr %t62 store i32 7045, ptr @lp_site %t64 = call ptr @lp_str_concat(ptr @.str13044, ptr %t63) store i32 0, ptr @lp_site store i32 7046, ptr @lp_site %t65 = call ptr @lp_str_concat(ptr %t64, ptr @.str13045) store i32 0, ptr @lp_site call void @lp_free(ptr %t64) %t66 = load ptr, ptr %t16 store i32 7047, ptr @lp_site %t67 = call ptr @lp_str_concat(ptr %t65, ptr %t66) store i32 0, ptr @lp_site call void @lp_free(ptr %t65) store i32 7048, ptr @lp_site %t68 = call ptr @lp_str_concat(ptr %t67, ptr @.str13046) store i32 0, ptr @lp_site call void @lp_free(ptr %t67) %t69 = load ptr, ptr %t57 store i32 7049, ptr @lp_site %t70 = call ptr @lp_str_concat(ptr %t68, ptr %t69) store i32 0, ptr @lp_site call void @lp_free(ptr %t68) %t71 = call ptr @fn_emit_bind(ptr %t70) store ptr %t71, ptr %t72 %t73 = load ptr, ptr %t0 store i32 7050, ptr @lp_site %t74 = call ptr @lp_str_concat(ptr @.str13047, ptr %t73) store i32 0, ptr @lp_site store i32 7051, ptr @lp_site %t75 = call ptr @lp_str_concat(ptr %t74, ptr @.str13048) store i32 0, ptr @lp_site call void @lp_free(ptr %t74) %t76 = call ptr @fn_emit_bind(ptr %t75) store ptr %t76, ptr %t77 %t78 = load ptr, ptr %t77 store i32 7052, ptr @lp_site %t79 = call ptr @lp_str_concat(ptr @.str13049, ptr %t78) store i32 0, ptr @lp_site store i32 7053, ptr @lp_site %t80 = call ptr @lp_str_concat(ptr %t79, ptr @.str13050) store i32 0, ptr @lp_site call void @lp_free(ptr %t79) %t81 = load ptr, ptr %t3 store i32 7054, ptr @lp_site %t82 = call ptr @lp_str_concat(ptr %t80, ptr %t81) store i32 0, ptr @lp_site call void @lp_free(ptr %t80) store i32 7055, ptr @lp_site %t83 = call ptr @lp_str_concat(ptr %t82, ptr @.str13051) store i32 0, ptr @lp_site call void @lp_free(ptr %t82) %t84 = load ptr, ptr %t72 store i32 7056, ptr @lp_site %t85 = call ptr @lp_str_concat(ptr %t83, ptr %t84) store i32 0, ptr @lp_site call void @lp_free(ptr %t83) %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 store i32 7057, ptr @lp_site %t19 = call ptr @lp_str_concat(ptr @.str13052, ptr %t18) store i32 0, ptr @lp_site %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 store i32 7058, ptr @lp_site %t38 = call ptr @lp_str_concat(ptr @.str13054, ptr %t37) store i32 0, ptr @lp_site store i32 7059, ptr @lp_site %t39 = call ptr @lp_str_concat(ptr %t38, ptr @.str13055) store i32 0, ptr @lp_site call void @lp_free(ptr %t38) %t40 = call ptr @fn_emit_bind(ptr %t39) store ptr %t40, ptr %t41 %t42 = load ptr, ptr %t36 store i32 7060, ptr @lp_site %t43 = call ptr @lp_str_concat(ptr @.str13056, ptr %t42) store i32 0, ptr @lp_site store i32 7061, ptr @lp_site %t44 = call ptr @lp_str_concat(ptr %t43, ptr @.str13057) store i32 0, ptr @lp_site call void @lp_free(ptr %t43) %t45 = call ptr @fn_emit_bind(ptr %t44) store ptr %t45, ptr %t46 %t47 = load ptr, ptr %t41 store i32 7062, ptr @lp_site %t48 = call ptr @lp_str_concat(ptr @.str13058, ptr %t47) store i32 0, ptr @lp_site store i32 7063, ptr @lp_site %t49 = call ptr @lp_str_concat(ptr %t48, ptr @.str13059) store i32 0, ptr @lp_site call void @lp_free(ptr %t48) %t50 = load ptr, ptr %t46 store i32 7064, ptr @lp_site %t51 = call ptr @lp_str_concat(ptr %t49, ptr %t50) store i32 0, ptr @lp_site call void @lp_free(ptr %t49) %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 @.str13060) store ptr %t66, ptr %t67 %t68 = load ptr, ptr %t60 %t69 = call ptr @fn_fx_mul_code(ptr %t68, ptr @.str13061) store ptr %t69, ptr %t70 %t71 = load ptr, ptr %t67 store i32 7065, ptr @lp_site %t72 = call ptr @lp_str_concat(ptr @.str13062, ptr %t71) store i32 0, ptr @lp_site store i32 7066, ptr @lp_site %t73 = call ptr @lp_str_concat(ptr %t72, ptr @.str13063) store i32 0, ptr @lp_site call void @lp_free(ptr %t72) %t74 = load ptr, ptr %t70 store i32 7067, ptr @lp_site %t75 = call ptr @lp_str_concat(ptr %t73, ptr %t74) store i32 0, ptr @lp_site call void @lp_free(ptr %t73) %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 store i32 7068, ptr @lp_site %t82 = call ptr @lp_str_concat(ptr @.str13064, ptr %t81) store i32 0, ptr @lp_site store i32 7069, ptr @lp_site %t83 = call ptr @lp_str_concat(ptr %t82, ptr @.str13065) store i32 0, ptr @lp_site call void @lp_free(ptr %t82) %t84 = call ptr @fn_emit_bind(ptr %t83) store ptr %t84, ptr %t85 %t86 = load ptr, ptr %t85 store i32 7070, ptr @lp_site %t87 = call ptr @lp_str_concat(ptr @.str13066, ptr %t86) store i32 0, ptr @lp_site %t88 = call ptr @fn_emit_bind(ptr %t87) store ptr %t88, ptr %t89 %t90 = load ptr, ptr %t89 store i32 7071, ptr @lp_site %t91 = call ptr @lp_str_concat(ptr @.str13067, ptr %t90) store i32 0, ptr @lp_site store i32 7072, ptr @lp_site %t92 = call ptr @lp_str_concat(ptr %t91, ptr @.str13068) store i32 0, ptr @lp_site call void @lp_free(ptr %t91) %t93 = call ptr @fn_emit_bind(ptr %t92) store ptr %t93, ptr %t94 %t95 = load ptr, ptr %t85 store i32 7073, ptr @lp_site %t96 = call ptr @lp_str_concat(ptr @.str13069, ptr %t95) store i32 0, ptr @lp_site store i32 7074, ptr @lp_site %t97 = call ptr @lp_str_concat(ptr %t96, ptr @.str13070) store i32 0, ptr @lp_site call void @lp_free(ptr %t96) %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 @.str13071) store ptr %t101, ptr %t102 %t103 = load ptr, ptr %t102 store i32 7075, ptr @lp_site %t104 = call ptr @lp_str_concat(ptr @.str13072, ptr %t103) store i32 0, ptr @lp_site store i32 7076, ptr @lp_site %t105 = call ptr @lp_str_concat(ptr %t104, ptr @.str13073) store i32 0, ptr @lp_site call void @lp_free(ptr %t104) %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 store i32 7077, ptr @lp_site %t113 = call ptr @lp_str_concat(ptr @.str13074, ptr %t112) store i32 0, ptr @lp_site store i32 7078, ptr @lp_site %t114 = call ptr @lp_str_concat(ptr %t113, ptr @.str13075) store i32 0, ptr @lp_site call void @lp_free(ptr %t113) %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 %t14 = 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 %LSlice, ptr %t4, i32 0, i32 1 %t8 = load i32, ptr %t7 %t9 = icmp ult i32 0, %t8 br i1 %t9, label %ixok0, label %ixbad1 ixbad1: store i32 7079, ptr @lp_site %t10 = call ptr @lp_win_stdio(i32 2) store i32 0, ptr @lp_site call i32 (ptr, ptr, ...) @fprintf(ptr %t10, ptr @.fmt_bounds, ptr @.str13076, i32 0, i32 %t8) call void @exit(i32 1) unreachable ixok0: %t11 = getelementptr inbounds ptr, ptr %t6, i32 0 %t12 = load ptr, ptr %t11 %t13 = call ptr @fn_emit_expr(ptr %t12) store ptr %t13, ptr %t14 %t15 = load ptr, ptr %t0 %t16 = call i32 @lp_str_eq(ptr %t15, ptr @.str13078) %t17 = icmp ne i32 %t16, 0 br i1 %t17, label %then2, label %ifend4 then2: %t18 = load ptr, ptr %t14 %t19 = getelementptr inbounds %Cmp_Val, ptr %t18, i32 0, i32 0 %t20 = load ptr, ptr %t19 %t21 = call ptr @fn_ease_eval(i32 1, ptr %t20) %t22 = call ptr @fn_val(ptr %t21, ptr @.str13079) store ptr %t22, ptr %retval br label %ret ifend4: %t23 = load ptr, ptr %t0 %t24 = call i32 @lp_str_eq(ptr %t23, ptr @.str13080) %t25 = icmp ne i32 %t24, 0 br i1 %t25, label %then5, label %ifend7 then5: %t26 = load ptr, ptr %t14 %t27 = getelementptr inbounds %Cmp_Val, ptr %t26, i32 0, i32 0 %t28 = load ptr, ptr %t27 %t29 = call ptr @fn_ease_eval(i32 2, ptr %t28) %t30 = call ptr @fn_val(ptr %t29, ptr @.str13081) store ptr %t30, ptr %retval br label %ret ifend7: %t31 = load ptr, ptr %t0 %t32 = call i32 @lp_str_eq(ptr %t31, ptr @.str13082) %t33 = icmp ne i32 %t32, 0 br i1 %t33, label %then8, label %ifend10 then8: %t34 = load ptr, ptr %t14 %t35 = getelementptr inbounds %Cmp_Val, ptr %t34, i32 0, i32 0 %t36 = load ptr, ptr %t35 %t37 = call ptr @fn_ease_eval(i32 3, ptr %t36) %t38 = call ptr @fn_val(ptr %t37, ptr @.str13083) store ptr %t38, ptr %retval br label %ret ifend10: %t39 = load ptr, ptr %t0 %t40 = call i32 @lp_str_eq(ptr %t39, ptr @.str13084) %t41 = icmp ne i32 %t40, 0 br i1 %t41, label %then11, label %ifend13 then11: %t42 = load ptr, ptr %t14 %t43 = getelementptr inbounds %Cmp_Val, ptr %t42, i32 0, i32 0 %t44 = load ptr, ptr %t43 %t45 = call ptr @fn_ease_eval(i32 4, ptr %t44) %t46 = call ptr @fn_val(ptr %t45, ptr @.str13085) store ptr %t46, ptr %retval br label %ret ifend13: %t47 = load ptr, ptr %t0 %t48 = call i32 @lp_str_eq(ptr %t47, ptr @.str13086) %t49 = icmp ne i32 %t48, 0 br i1 %t49, label %then14, label %ifend16 then14: %t50 = load ptr, ptr %t14 %t51 = getelementptr inbounds %Cmp_Val, ptr %t50, i32 0, i32 0 %t52 = load ptr, ptr %t51 %t53 = call ptr @fn_ease_eval(i32 5, ptr %t52) %t54 = call ptr @fn_val(ptr %t53, ptr @.str13087) store ptr %t54, ptr %retval br label %ret ifend16: %t55 = load ptr, ptr %t14 %t56 = getelementptr inbounds %Cmp_Val, ptr %t55, i32 0, i32 0 %t57 = load ptr, ptr %t56 %t58 = call ptr @fn_ease_eval(i32 6, ptr %t57) %t59 = call ptr @fn_val(ptr %t58, ptr @.str13088) store ptr %t59, ptr %retval br label %ret ret: %t60 = load ptr, ptr %retval ret ptr %t60 } 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 @.str13089) %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 @.str13090) %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 @.str13091) %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 @.str13092) %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 @.str13093) %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 @.str13094) %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 @.str13095) %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 store i32 7080, ptr @lp_site %t3 = call ptr @lp_str_concat(ptr @.str13096, ptr %t2) store i32 0, ptr @lp_site store i32 7081, ptr @lp_site %t4 = call ptr @lp_str_concat(ptr %t3, ptr @.str13098) store i32 0, ptr @lp_site call void @lp_free(ptr %t3) %t5 = call ptr @fn_emit_bind(ptr %t4) store ptr %t5, ptr %t6 %t7 = load ptr, ptr %t1 store i32 7082, ptr @lp_site %t8 = call ptr @lp_str_concat(ptr @.str13099, ptr %t7) store i32 0, ptr @lp_site store i32 7083, ptr @lp_site %t9 = call ptr @lp_str_concat(ptr %t8, ptr @.str13100) store i32 0, ptr @lp_site call void @lp_free(ptr %t8) %t10 = call ptr @fn_emit_bind(ptr %t9) store ptr %t10, ptr %t11 %t12 = load ptr, ptr %t6 store i32 7084, ptr @lp_site %t13 = call ptr @lp_str_concat(ptr @.str13101, ptr %t12) store i32 0, ptr @lp_site store i32 7085, ptr @lp_site %t14 = call ptr @lp_str_concat(ptr %t13, ptr @.str13102) store i32 0, ptr @lp_site call void @lp_free(ptr %t13) %t15 = load ptr, ptr %t11 store i32 7086, ptr @lp_site %t16 = call ptr @lp_str_concat(ptr %t14, ptr %t15) store i32 0, ptr @lp_site call void @lp_free(ptr %t14) %t17 = call ptr @fn_emit_bind(ptr %t16) store ptr %t17, ptr %t18 %t19 = load ptr, ptr %t18 store i32 7087, ptr @lp_site %t20 = call ptr @lp_str_concat(ptr @.str13103, ptr %t19) store i32 0, ptr @lp_site store i32 7088, ptr @lp_site %t21 = call ptr @lp_str_concat(ptr %t20, ptr @.str13104) store i32 0, ptr @lp_site call void @lp_free(ptr %t20) %t22 = call ptr @fn_emit_bind(ptr %t21) store ptr %t22, ptr %t23 %t24 = load ptr, ptr %t23 store i32 7089, ptr @lp_site %t25 = call ptr @lp_str_concat(ptr @.str13105, ptr %t24) store i32 0, ptr @lp_site store i32 7090, ptr @lp_site %t26 = call ptr @lp_str_concat(ptr %t25, ptr @.str13106) store i32 0, ptr @lp_site call void @lp_free(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_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 store i32 7091, ptr @lp_site %t2 = call ptr @lp_str_concat(ptr @.str13107, ptr %t1) store i32 0, ptr @lp_site store i32 7092, ptr @lp_site %t3 = call ptr @lp_str_concat(ptr %t2, ptr @.str13109) store i32 0, ptr @lp_site call void @lp_free(ptr %t2) %t4 = call ptr @fn_emit_bind(ptr %t3) store ptr %t4, ptr %t5 %t6 = load ptr, ptr %t5 store i32 7093, ptr @lp_site %t7 = call ptr @lp_str_concat(ptr @.str13110, ptr %t6) store i32 0, ptr @lp_site store i32 7094, ptr @lp_site %t8 = call ptr @lp_str_concat(ptr %t7, ptr @.str13111) store i32 0, ptr @lp_site call void @lp_free(ptr %t7) %t9 = load ptr, ptr %t0 store i32 7095, ptr @lp_site %t10 = call ptr @lp_str_concat(ptr %t8, ptr %t9) store i32 0, ptr @lp_site call void @lp_free(ptr %t8) %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 %t17 = alloca ptr %t30 = alloca ptr %t43 = alloca ptr %t51 = alloca ptr %t56 = alloca ptr %t79 = alloca ptr %t92 = alloca ptr %t105 = alloca ptr %t113 = alloca ptr %t120 = alloca ptr %t127 = alloca ptr %t153 = alloca ptr %t166 = alloca ptr %t179 = alloca ptr %t187 = alloca ptr %t194 = alloca ptr %t199 = alloca ptr %t202 = alloca ptr %t209 = alloca ptr %t216 = alloca ptr %t225 = alloca ptr %t251 = alloca ptr %t264 = alloca ptr %t277 = alloca ptr %t285 = alloca ptr %t294 = alloca ptr %t315 = alloca ptr %t328 = alloca ptr %t335 = alloca ptr %t340 = alloca ptr %t363 = alloca ptr %t376 = alloca ptr %t389 = alloca ptr %t394 = alloca ptr %t403 = alloca ptr %t425 = alloca ptr %t438 = alloca ptr %t451 = alloca ptr %t456 = 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 @.str13112) %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 %LSlice, ptr %t7, i32 0, i32 1 %t11 = load i32, ptr %t10 %t12 = icmp ult i32 0, %t11 br i1 %t12, label %ixok3, label %ixbad4 ixbad4: store i32 7096, ptr @lp_site %t13 = call ptr @lp_win_stdio(i32 2) store i32 0, ptr @lp_site call i32 (ptr, ptr, ...) @fprintf(ptr %t13, ptr @.fmt_bounds, ptr @.str13113, i32 0, i32 %t11) call void @exit(i32 1) unreachable ixok3: %t14 = getelementptr inbounds ptr, ptr %t9, 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 %LSlice, ptr %t20, i32 0, i32 1 %t24 = load i32, ptr %t23 %t25 = icmp ult i32 1, %t24 br i1 %t25, label %ixok5, label %ixbad6 ixbad6: store i32 7097, ptr @lp_site %t26 = call ptr @lp_win_stdio(i32 2) store i32 0, ptr @lp_site call i32 (ptr, ptr, ...) @fprintf(ptr %t26, ptr @.fmt_bounds, ptr @.str13115, i32 1, i32 %t24) call void @exit(i32 1) unreachable ixok5: %t27 = getelementptr inbounds ptr, ptr %t22, i32 1 %t28 = load ptr, ptr %t27 %t29 = call ptr @fn_emit_expr(ptr %t28) store ptr %t29, ptr %t30 %t31 = load ptr, ptr %t1 %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 = getelementptr inbounds %LSlice, ptr %t33, i32 0, i32 1 %t37 = load i32, ptr %t36 %t38 = icmp ult i32 2, %t37 br i1 %t38, label %ixok7, label %ixbad8 ixbad8: store i32 7098, ptr @lp_site %t39 = call ptr @lp_win_stdio(i32 2) store i32 0, ptr @lp_site call i32 (ptr, ptr, ...) @fprintf(ptr %t39, ptr @.fmt_bounds, ptr @.str13116, i32 2, i32 %t37) call void @exit(i32 1) unreachable ixok7: %t40 = getelementptr inbounds ptr, ptr %t35, i32 2 %t41 = load ptr, ptr %t40 %t42 = call ptr @fn_emit_expr(ptr %t41) store ptr %t42, ptr %t43 %t44 = load ptr, ptr %t17 %t45 = getelementptr inbounds %Cmp_Val, ptr %t44, i32 0, i32 0 %t46 = load ptr, ptr %t45 %t47 = load ptr, ptr %t30 %t48 = getelementptr inbounds %Cmp_Val, ptr %t47, i32 0, i32 0 %t49 = load ptr, ptr %t48 %t50 = call ptr @fn_anim_elapsed(ptr %t46, ptr %t49) store ptr %t50, ptr %t51 %t52 = load ptr, ptr %t43 %t53 = getelementptr inbounds %Cmp_Val, ptr %t52, i32 0, i32 0 %t54 = load ptr, ptr %t53 %t55 = call ptr @fn_anim_atleast1(ptr %t54) store ptr %t55, ptr %t56 %t57 = load ptr, ptr %t51 store i32 7099, ptr @lp_site %t58 = call ptr @lp_str_concat(ptr @.str13117, ptr %t57) store i32 0, ptr @lp_site store i32 7100, ptr @lp_site %t59 = call ptr @lp_str_concat(ptr %t58, ptr @.str13118) store i32 0, ptr @lp_site call void @lp_free(ptr %t58) %t60 = load ptr, ptr %t56 store i32 7101, ptr @lp_site %t61 = call ptr @lp_str_concat(ptr %t59, ptr %t60) store i32 0, ptr @lp_site call void @lp_free(ptr %t59) %t62 = call ptr @fn_emit_bind(ptr %t61) %t63 = call ptr @fn_val(ptr %t62, ptr @.str13119) store ptr %t63, ptr %retval br label %ret ifend2: %t64 = load ptr, ptr %t0 %t65 = call i32 @lp_str_eq(ptr %t64, ptr @.str13120) %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 %LSlice, ptr %t69, i32 0, i32 1 %t73 = load i32, ptr %t72 %t74 = icmp ult i32 0, %t73 br i1 %t74, label %ixok12, label %ixbad13 ixbad13: store i32 7102, ptr @lp_site %t75 = call ptr @lp_win_stdio(i32 2) store i32 0, ptr @lp_site call i32 (ptr, ptr, ...) @fprintf(ptr %t75, ptr @.fmt_bounds, ptr @.str13121, i32 0, i32 %t73) call void @exit(i32 1) unreachable ixok12: %t76 = getelementptr inbounds ptr, ptr %t71, 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 %LSlice, ptr %t82, i32 0, i32 1 %t86 = load i32, ptr %t85 %t87 = icmp ult i32 1, %t86 br i1 %t87, label %ixok14, label %ixbad15 ixbad15: store i32 7103, ptr @lp_site %t88 = call ptr @lp_win_stdio(i32 2) store i32 0, ptr @lp_site call i32 (ptr, ptr, ...) @fprintf(ptr %t88, ptr @.fmt_bounds, ptr @.str13122, i32 1, i32 %t86) call void @exit(i32 1) unreachable ixok14: %t89 = getelementptr inbounds ptr, ptr %t84, i32 1 %t90 = load ptr, ptr %t89 %t91 = call ptr @fn_emit_expr(ptr %t90) store ptr %t91, ptr %t92 %t93 = load ptr, ptr %t1 %t94 = getelementptr inbounds %Cmp_Node, ptr %t93, i32 0, i32 7 %t95 = load ptr, ptr %t94 %t96 = getelementptr inbounds %LSlice, ptr %t95, i32 0, i32 0 %t97 = load ptr, ptr %t96 %t98 = getelementptr inbounds %LSlice, ptr %t95, i32 0, i32 1 %t99 = load i32, ptr %t98 %t100 = icmp ult i32 2, %t99 br i1 %t100, label %ixok16, label %ixbad17 ixbad17: store i32 7104, ptr @lp_site %t101 = call ptr @lp_win_stdio(i32 2) store i32 0, ptr @lp_site call i32 (ptr, ptr, ...) @fprintf(ptr %t101, ptr @.fmt_bounds, ptr @.str13123, i32 2, i32 %t99) call void @exit(i32 1) unreachable ixok16: %t102 = getelementptr inbounds ptr, ptr %t97, i32 2 %t103 = load ptr, ptr %t102 %t104 = call ptr @fn_emit_expr(ptr %t103) store ptr %t104, ptr %t105 %t106 = load ptr, ptr %t79 %t107 = getelementptr inbounds %Cmp_Val, ptr %t106, i32 0, i32 0 %t108 = load ptr, ptr %t107 %t109 = load ptr, ptr %t92 %t110 = getelementptr inbounds %Cmp_Val, ptr %t109, i32 0, i32 0 %t111 = load ptr, ptr %t110 %t112 = call ptr @fn_anim_elapsed(ptr %t108, ptr %t111) store ptr %t112, ptr %t113 %t114 = load ptr, ptr %t105 %t115 = getelementptr inbounds %Cmp_Val, ptr %t114, i32 0, i32 0 %t116 = load ptr, ptr %t115 store i32 7105, ptr @lp_site %t117 = call ptr @lp_str_concat(ptr @.str13124, ptr %t116) store i32 0, ptr @lp_site store i32 7106, ptr @lp_site %t118 = call ptr @lp_str_concat(ptr %t117, ptr @.str13125) store i32 0, ptr @lp_site call void @lp_free(ptr %t117) %t119 = call ptr @fn_emit_bind(ptr %t118) store ptr %t119, ptr %t120 %t121 = load ptr, ptr %t113 store i32 7107, ptr @lp_site %t122 = call ptr @lp_str_concat(ptr @.str13126, ptr %t121) store i32 0, ptr @lp_site store i32 7108, ptr @lp_site %t123 = call ptr @lp_str_concat(ptr %t122, ptr @.str13127) store i32 0, ptr @lp_site call void @lp_free(ptr %t122) %t124 = load ptr, ptr %t120 store i32 7109, ptr @lp_site %t125 = call ptr @lp_str_concat(ptr %t123, ptr %t124) store i32 0, ptr @lp_site call void @lp_free(ptr %t123) %t126 = call ptr @fn_emit_bind(ptr %t125) store ptr %t126, ptr %t127 %t128 = load ptr, ptr %t127 store i32 7110, ptr @lp_site %t129 = call ptr @lp_str_concat(ptr @.str13128, ptr %t128) store i32 0, ptr @lp_site store i32 7111, ptr @lp_site %t130 = call ptr @lp_str_concat(ptr %t129, ptr @.str13129) store i32 0, ptr @lp_site call void @lp_free(ptr %t129) %t131 = load ptr, ptr %t113 store i32 7112, ptr @lp_site %t132 = call ptr @lp_str_concat(ptr %t130, ptr %t131) store i32 0, ptr @lp_site call void @lp_free(ptr %t130) store i32 7113, ptr @lp_site %t133 = call ptr @lp_str_concat(ptr %t132, ptr @.str13130) store i32 0, ptr @lp_site call void @lp_free(ptr %t132) %t134 = load ptr, ptr %t120 store i32 7114, ptr @lp_site %t135 = call ptr @lp_str_concat(ptr %t133, ptr %t134) store i32 0, ptr @lp_site call void @lp_free(ptr %t133) %t136 = call ptr @fn_emit_bind(ptr %t135) %t137 = call ptr @fn_val(ptr %t136, ptr @.str13131) store ptr %t137, ptr %retval br label %ret ifend11: %t138 = load ptr, ptr %t0 %t139 = call i32 @lp_str_eq(ptr %t138, ptr @.str13132) %t140 = icmp ne i32 %t139, 0 br i1 %t140, label %then18, label %ifend20 then18: %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 %LSlice, ptr %t143, i32 0, i32 1 %t147 = load i32, ptr %t146 %t148 = icmp ult i32 0, %t147 br i1 %t148, label %ixok21, label %ixbad22 ixbad22: store i32 7115, ptr @lp_site %t149 = call ptr @lp_win_stdio(i32 2) store i32 0, ptr @lp_site call i32 (ptr, ptr, ...) @fprintf(ptr %t149, ptr @.fmt_bounds, ptr @.str13133, i32 0, i32 %t147) call void @exit(i32 1) unreachable ixok21: %t150 = getelementptr inbounds ptr, ptr %t145, i32 0 %t151 = load ptr, ptr %t150 %t152 = call ptr @fn_emit_expr(ptr %t151) store ptr %t152, ptr %t153 %t154 = load ptr, ptr %t1 %t155 = getelementptr inbounds %Cmp_Node, ptr %t154, i32 0, i32 7 %t156 = load ptr, ptr %t155 %t157 = getelementptr inbounds %LSlice, ptr %t156, i32 0, i32 0 %t158 = load ptr, ptr %t157 %t159 = getelementptr inbounds %LSlice, ptr %t156, i32 0, i32 1 %t160 = load i32, ptr %t159 %t161 = icmp ult i32 1, %t160 br i1 %t161, label %ixok23, label %ixbad24 ixbad24: store i32 7116, ptr @lp_site %t162 = call ptr @lp_win_stdio(i32 2) store i32 0, ptr @lp_site call i32 (ptr, ptr, ...) @fprintf(ptr %t162, ptr @.fmt_bounds, ptr @.str13134, i32 1, i32 %t160) call void @exit(i32 1) unreachable ixok23: %t163 = getelementptr inbounds ptr, ptr %t158, i32 1 %t164 = load ptr, ptr %t163 %t165 = call ptr @fn_emit_expr(ptr %t164) store ptr %t165, ptr %t166 %t167 = load ptr, ptr %t1 %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 %LSlice, ptr %t169, i32 0, i32 1 %t173 = load i32, ptr %t172 %t174 = icmp ult i32 2, %t173 br i1 %t174, label %ixok25, label %ixbad26 ixbad26: store i32 7117, ptr @lp_site %t175 = call ptr @lp_win_stdio(i32 2) store i32 0, ptr @lp_site call i32 (ptr, ptr, ...) @fprintf(ptr %t175, ptr @.fmt_bounds, ptr @.str13135, i32 2, i32 %t173) call void @exit(i32 1) unreachable ixok25: %t176 = getelementptr inbounds ptr, ptr %t171, i32 2 %t177 = load ptr, ptr %t176 %t178 = call ptr @fn_emit_expr(ptr %t177) store ptr %t178, ptr %t179 %t180 = load ptr, ptr %t153 %t181 = getelementptr inbounds %Cmp_Val, ptr %t180, i32 0, i32 0 %t182 = load ptr, ptr %t181 %t183 = load ptr, ptr %t166 %t184 = getelementptr inbounds %Cmp_Val, ptr %t183, i32 0, i32 0 %t185 = load ptr, ptr %t184 %t186 = call ptr @fn_anim_elapsed(ptr %t182, ptr %t185) store ptr %t186, ptr %t187 %t188 = load ptr, ptr %t179 %t189 = getelementptr inbounds %Cmp_Val, ptr %t188, i32 0, i32 0 %t190 = load ptr, ptr %t189 store i32 7118, ptr @lp_site %t191 = call ptr @lp_str_concat(ptr @.str13136, ptr %t190) store i32 0, ptr @lp_site store i32 7119, ptr @lp_site %t192 = call ptr @lp_str_concat(ptr %t191, ptr @.str13137) store i32 0, ptr @lp_site call void @lp_free(ptr %t191) %t193 = call ptr @fn_emit_bind(ptr %t192) store ptr %t193, ptr %t194 %t195 = load ptr, ptr %t194 store i32 7120, ptr @lp_site %t196 = call ptr @lp_str_concat(ptr @.str13138, ptr %t195) store i32 0, ptr @lp_site store i32 7121, ptr @lp_site %t197 = call ptr @lp_str_concat(ptr %t196, ptr @.str13139) store i32 0, ptr @lp_site call void @lp_free(ptr %t196) %t198 = call ptr @fn_emit_bind(ptr %t197) store ptr %t198, ptr %t199 %t200 = load ptr, ptr %t199 %t201 = call ptr @fn_anim_atleast1(ptr %t200) store ptr %t201, ptr %t202 %t203 = load ptr, ptr %t187 store i32 7122, ptr @lp_site %t204 = call ptr @lp_str_concat(ptr @.str13140, ptr %t203) store i32 0, ptr @lp_site store i32 7123, ptr @lp_site %t205 = call ptr @lp_str_concat(ptr %t204, ptr @.str13141) store i32 0, ptr @lp_site call void @lp_free(ptr %t204) %t206 = load ptr, ptr %t202 store i32 7124, ptr @lp_site %t207 = call ptr @lp_str_concat(ptr %t205, ptr %t206) store i32 0, ptr @lp_site call void @lp_free(ptr %t205) %t208 = call ptr @fn_emit_bind(ptr %t207) store ptr %t208, ptr %t209 %t210 = load ptr, ptr %t202 store i32 7125, ptr @lp_site %t211 = call ptr @lp_str_concat(ptr @.str13142, ptr %t210) store i32 0, ptr @lp_site store i32 7126, ptr @lp_site %t212 = call ptr @lp_str_concat(ptr %t211, ptr @.str13143) store i32 0, ptr @lp_site call void @lp_free(ptr %t211) %t213 = load ptr, ptr %t209 store i32 7127, ptr @lp_site %t214 = call ptr @lp_str_concat(ptr %t212, ptr %t213) store i32 0, ptr @lp_site call void @lp_free(ptr %t212) %t215 = call ptr @fn_emit_bind(ptr %t214) store ptr %t215, ptr %t216 %t217 = load ptr, ptr %t209 store i32 7128, ptr @lp_site %t218 = call ptr @lp_str_concat(ptr @.str13144, ptr %t217) store i32 0, ptr @lp_site store i32 7129, ptr @lp_site %t219 = call ptr @lp_str_concat(ptr %t218, ptr @.str13145) store i32 0, ptr @lp_site call void @lp_free(ptr %t218) %t220 = load ptr, ptr %t179 %t221 = getelementptr inbounds %Cmp_Val, ptr %t220, i32 0, i32 0 %t222 = load ptr, ptr %t221 store i32 7130, ptr @lp_site %t223 = call ptr @lp_str_concat(ptr %t219, ptr %t222) store i32 0, ptr @lp_site call void @lp_free(ptr %t219) %t224 = call ptr @fn_emit_bind(ptr %t223) store ptr %t224, ptr %t225 %t226 = load ptr, ptr %t225 store i32 7131, ptr @lp_site %t227 = call ptr @lp_str_concat(ptr @.str13146, ptr %t226) store i32 0, ptr @lp_site store i32 7132, ptr @lp_site %t228 = call ptr @lp_str_concat(ptr %t227, ptr @.str13147) store i32 0, ptr @lp_site call void @lp_free(ptr %t227) %t229 = load ptr, ptr %t209 store i32 7133, ptr @lp_site %t230 = call ptr @lp_str_concat(ptr %t228, ptr %t229) store i32 0, ptr @lp_site call void @lp_free(ptr %t228) store i32 7134, ptr @lp_site %t231 = call ptr @lp_str_concat(ptr %t230, ptr @.str13148) store i32 0, ptr @lp_site call void @lp_free(ptr %t230) %t232 = load ptr, ptr %t216 store i32 7135, ptr @lp_site %t233 = call ptr @lp_str_concat(ptr %t231, ptr %t232) store i32 0, ptr @lp_site call void @lp_free(ptr %t231) %t234 = call ptr @fn_emit_bind(ptr %t233) %t235 = call ptr @fn_val(ptr %t234, ptr @.str13149) store ptr %t235, ptr %retval br label %ret ifend20: %t236 = load ptr, ptr %t0 %t237 = call i32 @lp_str_eq(ptr %t236, ptr @.str13150) %t238 = icmp ne i32 %t237, 0 br i1 %t238, label %then27, label %ifend29 then27: %t239 = load ptr, ptr %t1 %t240 = getelementptr inbounds %Cmp_Node, ptr %t239, i32 0, i32 7 %t241 = load ptr, ptr %t240 %t242 = getelementptr inbounds %LSlice, ptr %t241, i32 0, i32 0 %t243 = load ptr, ptr %t242 %t244 = getelementptr inbounds %LSlice, ptr %t241, i32 0, i32 1 %t245 = load i32, ptr %t244 %t246 = icmp ult i32 0, %t245 br i1 %t246, label %ixok30, label %ixbad31 ixbad31: store i32 7136, ptr @lp_site %t247 = call ptr @lp_win_stdio(i32 2) store i32 0, ptr @lp_site call i32 (ptr, ptr, ...) @fprintf(ptr %t247, ptr @.fmt_bounds, ptr @.str13151, i32 0, i32 %t245) call void @exit(i32 1) unreachable ixok30: %t248 = getelementptr inbounds ptr, ptr %t243, i32 0 %t249 = load ptr, ptr %t248 %t250 = call ptr @fn_emit_expr(ptr %t249) store ptr %t250, ptr %t251 %t252 = load ptr, ptr %t1 %t253 = getelementptr inbounds %Cmp_Node, ptr %t252, i32 0, i32 7 %t254 = load ptr, ptr %t253 %t255 = getelementptr inbounds %LSlice, ptr %t254, i32 0, i32 0 %t256 = load ptr, ptr %t255 %t257 = getelementptr inbounds %LSlice, ptr %t254, i32 0, i32 1 %t258 = load i32, ptr %t257 %t259 = icmp ult i32 1, %t258 br i1 %t259, label %ixok32, label %ixbad33 ixbad33: store i32 7137, ptr @lp_site %t260 = call ptr @lp_win_stdio(i32 2) store i32 0, ptr @lp_site call i32 (ptr, ptr, ...) @fprintf(ptr %t260, ptr @.fmt_bounds, ptr @.str13152, i32 1, i32 %t258) call void @exit(i32 1) unreachable ixok32: %t261 = getelementptr inbounds ptr, ptr %t256, i32 1 %t262 = load ptr, ptr %t261 %t263 = call ptr @fn_emit_expr(ptr %t262) store ptr %t263, ptr %t264 %t265 = load ptr, ptr %t1 %t266 = getelementptr inbounds %Cmp_Node, ptr %t265, i32 0, i32 7 %t267 = load ptr, ptr %t266 %t268 = getelementptr inbounds %LSlice, ptr %t267, i32 0, i32 0 %t269 = load ptr, ptr %t268 %t270 = getelementptr inbounds %LSlice, ptr %t267, i32 0, i32 1 %t271 = load i32, ptr %t270 %t272 = icmp ult i32 2, %t271 br i1 %t272, label %ixok34, label %ixbad35 ixbad35: store i32 7138, ptr @lp_site %t273 = call ptr @lp_win_stdio(i32 2) store i32 0, ptr @lp_site call i32 (ptr, ptr, ...) @fprintf(ptr %t273, ptr @.fmt_bounds, ptr @.str13153, i32 2, i32 %t271) call void @exit(i32 1) unreachable ixok34: %t274 = getelementptr inbounds ptr, ptr %t269, i32 2 %t275 = load ptr, ptr %t274 %t276 = call ptr @fn_emit_expr(ptr %t275) store ptr %t276, ptr %t277 %t278 = load ptr, ptr %t251 %t279 = getelementptr inbounds %Cmp_Val, ptr %t278, i32 0, i32 0 %t280 = load ptr, ptr %t279 %t281 = load ptr, ptr %t264 %t282 = getelementptr inbounds %Cmp_Val, ptr %t281, i32 0, i32 0 %t283 = load ptr, ptr %t282 %t284 = call ptr @fn_anim_elapsed(ptr %t280, ptr %t283) store ptr %t284, ptr %t285 %t286 = load ptr, ptr %t285 store i32 7139, ptr @lp_site %t287 = call ptr @lp_str_concat(ptr @.str13154, ptr %t286) store i32 0, ptr @lp_site store i32 7140, ptr @lp_site %t288 = call ptr @lp_str_concat(ptr %t287, ptr @.str13155) store i32 0, ptr @lp_site call void @lp_free(ptr %t287) %t289 = load ptr, ptr %t277 %t290 = getelementptr inbounds %Cmp_Val, ptr %t289, i32 0, i32 0 %t291 = load ptr, ptr %t290 store i32 7141, ptr @lp_site %t292 = call ptr @lp_str_concat(ptr %t288, ptr %t291) store i32 0, ptr @lp_site call void @lp_free(ptr %t288) %t293 = call ptr @fn_emit_bind(ptr %t292) store ptr %t293, ptr %t294 %t295 = load ptr, ptr %t294 store i32 7142, ptr @lp_site %t296 = call ptr @lp_str_concat(ptr @.str13156, ptr %t295) store i32 0, ptr @lp_site store i32 7143, ptr @lp_site %t297 = call ptr @lp_str_concat(ptr %t296, ptr @.str13157) store i32 0, ptr @lp_site call void @lp_free(ptr %t296) %t298 = call ptr @fn_emit_bind(ptr %t297) %t299 = call ptr @fn_val(ptr %t298, ptr @.str13158) store ptr %t299, ptr %retval br label %ret ifend29: %t300 = load ptr, ptr %t0 %t301 = call i32 @lp_str_eq(ptr %t300, ptr @.str13159) %t302 = icmp ne i32 %t301, 0 br i1 %t302, label %then36, label %ifend38 then36: %t303 = load ptr, ptr %t1 %t304 = getelementptr inbounds %Cmp_Node, ptr %t303, i32 0, i32 7 %t305 = load ptr, ptr %t304 %t306 = getelementptr inbounds %LSlice, ptr %t305, i32 0, i32 0 %t307 = load ptr, ptr %t306 %t308 = getelementptr inbounds %LSlice, ptr %t305, i32 0, i32 1 %t309 = load i32, ptr %t308 %t310 = icmp ult i32 0, %t309 br i1 %t310, label %ixok39, label %ixbad40 ixbad40: store i32 7144, ptr @lp_site %t311 = call ptr @lp_win_stdio(i32 2) store i32 0, ptr @lp_site call i32 (ptr, ptr, ...) @fprintf(ptr %t311, ptr @.fmt_bounds, ptr @.str13160, i32 0, i32 %t309) call void @exit(i32 1) unreachable ixok39: %t312 = getelementptr inbounds ptr, ptr %t307, i32 0 %t313 = load ptr, ptr %t312 %t314 = call ptr @fn_emit_expr(ptr %t313) store ptr %t314, ptr %t315 %t316 = load ptr, ptr %t1 %t317 = getelementptr inbounds %Cmp_Node, ptr %t316, i32 0, i32 7 %t318 = load ptr, ptr %t317 %t319 = getelementptr inbounds %LSlice, ptr %t318, i32 0, i32 0 %t320 = load ptr, ptr %t319 %t321 = getelementptr inbounds %LSlice, ptr %t318, i32 0, i32 1 %t322 = load i32, ptr %t321 %t323 = icmp ult i32 1, %t322 br i1 %t323, label %ixok41, label %ixbad42 ixbad42: store i32 7145, ptr @lp_site %t324 = call ptr @lp_win_stdio(i32 2) store i32 0, ptr @lp_site call i32 (ptr, ptr, ...) @fprintf(ptr %t324, ptr @.fmt_bounds, ptr @.str13161, i32 1, i32 %t322) call void @exit(i32 1) unreachable ixok41: %t325 = getelementptr inbounds ptr, ptr %t320, i32 1 %t326 = load ptr, ptr %t325 %t327 = call ptr @fn_emit_expr(ptr %t326) store ptr %t327, ptr %t328 %t329 = load ptr, ptr %t328 %t330 = getelementptr inbounds %Cmp_Val, ptr %t329, i32 0, i32 0 %t331 = load ptr, ptr %t330 store i32 7146, ptr @lp_site %t332 = call ptr @lp_str_concat(ptr @.str13162, ptr %t331) store i32 0, ptr @lp_site store i32 7147, ptr @lp_site %t333 = call ptr @lp_str_concat(ptr %t332, ptr @.str13163) store i32 0, ptr @lp_site call void @lp_free(ptr %t332) %t334 = call ptr @fn_emit_bind(ptr %t333) store ptr %t334, ptr %t335 %t336 = load ptr, ptr %t315 %t337 = getelementptr inbounds %Cmp_Val, ptr %t336, i32 0, i32 0 %t338 = load ptr, ptr %t337 %t339 = call ptr @fn_anim_atleast1(ptr %t338) store ptr %t339, ptr %t340 %t341 = load ptr, ptr %t335 store i32 7148, ptr @lp_site %t342 = call ptr @lp_str_concat(ptr @.str13164, ptr %t341) store i32 0, ptr @lp_site store i32 7149, ptr @lp_site %t343 = call ptr @lp_str_concat(ptr %t342, ptr @.str13165) store i32 0, ptr @lp_site call void @lp_free(ptr %t342) %t344 = load ptr, ptr %t340 store i32 7150, ptr @lp_site %t345 = call ptr @lp_str_concat(ptr %t343, ptr %t344) store i32 0, ptr @lp_site call void @lp_free(ptr %t343) %t346 = call ptr @fn_emit_bind(ptr %t345) %t347 = call ptr @fn_val(ptr %t346, ptr @.str13166) store ptr %t347, ptr %retval br label %ret ifend38: %t348 = load ptr, ptr %t0 %t349 = call i32 @lp_str_eq(ptr %t348, ptr @.str13167) %t350 = icmp ne i32 %t349, 0 br i1 %t350, label %then43, label %ifend45 then43: %t351 = load ptr, ptr %t1 %t352 = getelementptr inbounds %Cmp_Node, ptr %t351, i32 0, i32 7 %t353 = load ptr, ptr %t352 %t354 = getelementptr inbounds %LSlice, ptr %t353, i32 0, i32 0 %t355 = load ptr, ptr %t354 %t356 = getelementptr inbounds %LSlice, ptr %t353, i32 0, i32 1 %t357 = load i32, ptr %t356 %t358 = icmp ult i32 0, %t357 br i1 %t358, label %ixok46, label %ixbad47 ixbad47: store i32 7151, ptr @lp_site %t359 = call ptr @lp_win_stdio(i32 2) store i32 0, ptr @lp_site call i32 (ptr, ptr, ...) @fprintf(ptr %t359, ptr @.fmt_bounds, ptr @.str13168, i32 0, i32 %t357) call void @exit(i32 1) unreachable ixok46: %t360 = getelementptr inbounds ptr, ptr %t355, 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 %LSlice, ptr %t366, i32 0, i32 1 %t370 = load i32, ptr %t369 %t371 = icmp ult i32 1, %t370 br i1 %t371, label %ixok48, label %ixbad49 ixbad49: store i32 7152, ptr @lp_site %t372 = call ptr @lp_win_stdio(i32 2) store i32 0, ptr @lp_site call i32 (ptr, ptr, ...) @fprintf(ptr %t372, ptr @.fmt_bounds, ptr @.str13169, i32 1, i32 %t370) call void @exit(i32 1) unreachable ixok48: %t373 = getelementptr inbounds ptr, ptr %t368, i32 1 %t374 = load ptr, ptr %t373 %t375 = call ptr @fn_emit_expr(ptr %t374) store ptr %t375, ptr %t376 %t377 = load ptr, ptr %t1 %t378 = getelementptr inbounds %Cmp_Node, ptr %t377, i32 0, i32 7 %t379 = load ptr, ptr %t378 %t380 = getelementptr inbounds %LSlice, ptr %t379, i32 0, i32 0 %t381 = load ptr, ptr %t380 %t382 = getelementptr inbounds %LSlice, ptr %t379, i32 0, i32 1 %t383 = load i32, ptr %t382 %t384 = icmp ult i32 2, %t383 br i1 %t384, label %ixok50, label %ixbad51 ixbad51: store i32 7153, ptr @lp_site %t385 = call ptr @lp_win_stdio(i32 2) store i32 0, ptr @lp_site call i32 (ptr, ptr, ...) @fprintf(ptr %t385, ptr @.fmt_bounds, ptr @.str13170, i32 2, i32 %t383) call void @exit(i32 1) unreachable ixok50: %t386 = getelementptr inbounds ptr, ptr %t381, i32 2 %t387 = load ptr, ptr %t386 %t388 = call ptr @fn_emit_expr(ptr %t387) store ptr %t388, ptr %t389 %t390 = load ptr, ptr %t376 %t391 = getelementptr inbounds %Cmp_Val, ptr %t390, i32 0, i32 0 %t392 = load ptr, ptr %t391 %t393 = call ptr @fn_anim_atleast1(ptr %t392) store ptr %t393, ptr %t394 %t395 = load ptr, ptr %t363 %t396 = getelementptr inbounds %Cmp_Val, ptr %t395, i32 0, i32 0 %t397 = load ptr, ptr %t396 store i32 7154, ptr @lp_site %t398 = call ptr @lp_str_concat(ptr @.str13171, ptr %t397) store i32 0, ptr @lp_site store i32 7155, ptr @lp_site %t399 = call ptr @lp_str_concat(ptr %t398, ptr @.str13172) store i32 0, ptr @lp_site call void @lp_free(ptr %t398) %t400 = load ptr, ptr %t394 store i32 7156, ptr @lp_site %t401 = call ptr @lp_str_concat(ptr %t399, ptr %t400) store i32 0, ptr @lp_site call void @lp_free(ptr %t399) %t402 = call ptr @fn_emit_bind(ptr %t401) store ptr %t402, ptr %t403 %t404 = load ptr, ptr %t403 store i32 7157, ptr @lp_site %t405 = call ptr @lp_str_concat(ptr @.str13173, ptr %t404) store i32 0, ptr @lp_site store i32 7158, ptr @lp_site %t406 = call ptr @lp_str_concat(ptr %t405, ptr @.str13174) store i32 0, ptr @lp_site call void @lp_free(ptr %t405) %t407 = load ptr, ptr %t389 %t408 = getelementptr inbounds %Cmp_Val, ptr %t407, i32 0, i32 0 %t409 = load ptr, ptr %t408 store i32 7159, ptr @lp_site %t410 = call ptr @lp_str_concat(ptr %t406, ptr %t409) store i32 0, ptr @lp_site call void @lp_free(ptr %t406) %t411 = call ptr @fn_emit_bind(ptr %t410) %t412 = call ptr @fn_val(ptr %t411, ptr @.str13175) store ptr %t412, ptr %retval br label %ret ifend45: %t413 = load ptr, ptr %t1 %t414 = getelementptr inbounds %Cmp_Node, ptr %t413, i32 0, i32 7 %t415 = load ptr, ptr %t414 %t416 = getelementptr inbounds %LSlice, ptr %t415, i32 0, i32 0 %t417 = load ptr, ptr %t416 %t418 = getelementptr inbounds %LSlice, ptr %t415, i32 0, i32 1 %t419 = load i32, ptr %t418 %t420 = icmp ult i32 0, %t419 br i1 %t420, label %ixok52, label %ixbad53 ixbad53: store i32 7160, ptr @lp_site %t421 = call ptr @lp_win_stdio(i32 2) store i32 0, ptr @lp_site call i32 (ptr, ptr, ...) @fprintf(ptr %t421, ptr @.fmt_bounds, ptr @.str13176, i32 0, i32 %t419) call void @exit(i32 1) unreachable ixok52: %t422 = getelementptr inbounds ptr, ptr %t417, i32 0 %t423 = load ptr, ptr %t422 %t424 = call ptr @fn_emit_expr(ptr %t423) store ptr %t424, ptr %t425 %t426 = load ptr, ptr %t1 %t427 = getelementptr inbounds %Cmp_Node, ptr %t426, i32 0, i32 7 %t428 = load ptr, ptr %t427 %t429 = getelementptr inbounds %LSlice, ptr %t428, i32 0, i32 0 %t430 = load ptr, ptr %t429 %t431 = getelementptr inbounds %LSlice, ptr %t428, i32 0, i32 1 %t432 = load i32, ptr %t431 %t433 = icmp ult i32 1, %t432 br i1 %t433, label %ixok54, label %ixbad55 ixbad55: store i32 7161, ptr @lp_site %t434 = call ptr @lp_win_stdio(i32 2) store i32 0, ptr @lp_site call i32 (ptr, ptr, ...) @fprintf(ptr %t434, ptr @.fmt_bounds, ptr @.str13177, i32 1, i32 %t432) call void @exit(i32 1) unreachable ixok54: %t435 = getelementptr inbounds ptr, ptr %t430, i32 1 %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 %LSlice, ptr %t441, i32 0, i32 1 %t445 = load i32, ptr %t444 %t446 = icmp ult i32 2, %t445 br i1 %t446, label %ixok56, label %ixbad57 ixbad57: store i32 7162, ptr @lp_site %t447 = call ptr @lp_win_stdio(i32 2) store i32 0, ptr @lp_site call i32 (ptr, ptr, ...) @fprintf(ptr %t447, ptr @.fmt_bounds, ptr @.str13178, i32 2, i32 %t445) call void @exit(i32 1) unreachable ixok56: %t448 = getelementptr inbounds ptr, ptr %t443, i32 2 %t449 = load ptr, ptr %t448 %t450 = call ptr @fn_emit_expr(ptr %t449) store ptr %t450, ptr %t451 %t452 = load ptr, ptr %t438 %t453 = getelementptr inbounds %Cmp_Val, ptr %t452, i32 0, i32 0 %t454 = load ptr, ptr %t453 %t455 = call ptr @fn_anim_atleast1(ptr %t454) store ptr %t455, ptr %t456 %t457 = load ptr, ptr %t425 %t458 = getelementptr inbounds %Cmp_Val, ptr %t457, i32 0, i32 0 %t459 = load ptr, ptr %t458 store i32 7163, ptr @lp_site %t460 = call ptr @lp_str_concat(ptr @.str13179, ptr %t459) store i32 0, ptr @lp_site store i32 7164, ptr @lp_site %t461 = call ptr @lp_str_concat(ptr %t460, ptr @.str13180) store i32 0, ptr @lp_site call void @lp_free(ptr %t460) %t462 = load ptr, ptr %t456 store i32 7165, ptr @lp_site %t463 = call ptr @lp_str_concat(ptr %t461, ptr %t462) store i32 0, ptr @lp_site call void @lp_free(ptr %t461) %t464 = call ptr @fn_emit_bind(ptr %t463) store ptr %t464, ptr %t465 %t466 = load ptr, ptr %t465 store i32 7166, ptr @lp_site %t467 = call ptr @lp_str_concat(ptr @.str13181, ptr %t466) store i32 0, ptr @lp_site store i32 7167, ptr @lp_site %t468 = call ptr @lp_str_concat(ptr %t467, ptr @.str13182) store i32 0, ptr @lp_site call void @lp_free(ptr %t467) %t469 = load ptr, ptr %t451 %t470 = getelementptr inbounds %Cmp_Val, ptr %t469, i32 0, i32 0 %t471 = load ptr, ptr %t470 store i32 7168, ptr @lp_site %t472 = call ptr @lp_str_concat(ptr %t468, ptr %t471) store i32 0, ptr @lp_site call void @lp_free(ptr %t468) %t473 = call ptr @fn_emit_bind(ptr %t472) %t474 = call ptr @fn_val(ptr %t473, ptr @.str13183) store ptr %t474, ptr %retval br label %ret ret: %t475 = load ptr, ptr %retval ret ptr %t475 } 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 @.str13184) %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 @.str13185) %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 @.str13186) %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 @.str13187) %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 @.str13188) %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 @.str13189) %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 @.str13190) %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 @.str13191) %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 @.str13192) %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 store i32 7169, ptr @lp_site %t2 = call ptr @lp_str_concat(ptr @.str13193, ptr %t1) store i32 0, ptr @lp_site store i32 7170, ptr @lp_site %t3 = call ptr @lp_str_concat(ptr %t2, ptr @.str13195) store i32 0, ptr @lp_site call void @lp_free(ptr %t2) %t4 = call ptr @fn_emit_bind(ptr %t3) store ptr %t4, ptr %t5 %t6 = load ptr, ptr %t5 store i32 7171, ptr @lp_site %t7 = call ptr @lp_str_concat(ptr @.str13196, ptr %t6) store i32 0, ptr @lp_site store i32 7172, ptr @lp_site %t8 = call ptr @lp_str_concat(ptr %t7, ptr @.str13197) store i32 0, ptr @lp_site call void @lp_free(ptr %t7) %t9 = load ptr, ptr %t0 store i32 7173, ptr @lp_site %t10 = call ptr @lp_str_concat(ptr %t8, ptr %t9) store i32 0, ptr @lp_site call void @lp_free(ptr %t8) store i32 7174, ptr @lp_site %t11 = call ptr @lp_str_concat(ptr %t10, ptr @.str13198) store i32 0, ptr @lp_site call void @lp_free(ptr %t10) %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 %t17 = alloca ptr %t30 = alloca ptr %t37 = alloca ptr %t47 = alloca ptr %t53 = alloca ptr %t58 = alloca ptr %t65 = alloca ptr %t70 = alloca ptr %t77 = alloca ptr %t101 = alloca ptr %t114 = alloca ptr %t119 = alloca ptr %t125 = alloca ptr %t146 = alloca ptr %t159 = alloca ptr %t164 = alloca ptr %t170 = alloca ptr %t175 = alloca ptr %t179 = alloca ptr %t184 = alloca ptr %t218 = alloca ptr %t241 = alloca ptr %t254 = alloca ptr %t265 = alloca ptr %t286 = alloca ptr %t298 = alloca ptr %t328 = alloca ptr %t341 = alloca ptr %t354 = alloca ptr %t381 = alloca ptr %t394 = alloca ptr %t407 = alloca ptr %t418 = alloca ptr %t423 = alloca ptr %t430 = alloca ptr %t437 = alloca ptr %t442 = alloca ptr %t447 = alloca ptr %t452 = alloca ptr %t477 = alloca ptr %t490 = alloca ptr %t503 = alloca ptr %t508 = alloca ptr %t513 = alloca ptr %t518 = alloca ptr %t523 = alloca ptr %t530 = alloca ptr %t537 = alloca ptr %t554 = alloca ptr %t567 = alloca ptr %t580 = alloca ptr %t593 = alloca ptr %t606 = alloca ptr %t619 = 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 @.str13199) %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 %LSlice, ptr %t7, i32 0, i32 1 %t11 = load i32, ptr %t10 %t12 = icmp ult i32 0, %t11 br i1 %t12, label %ixok3, label %ixbad4 ixbad4: store i32 7175, ptr @lp_site %t13 = call ptr @lp_win_stdio(i32 2) store i32 0, ptr @lp_site call i32 (ptr, ptr, ...) @fprintf(ptr %t13, ptr @.fmt_bounds, ptr @.str13200, i32 0, i32 %t11) call void @exit(i32 1) unreachable ixok3: %t14 = getelementptr inbounds ptr, ptr %t9, 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 %LSlice, ptr %t20, i32 0, i32 1 %t24 = load i32, ptr %t23 %t25 = icmp ult i32 1, %t24 br i1 %t25, label %ixok5, label %ixbad6 ixbad6: store i32 7176, ptr @lp_site %t26 = call ptr @lp_win_stdio(i32 2) store i32 0, ptr @lp_site call i32 (ptr, ptr, ...) @fprintf(ptr %t26, ptr @.fmt_bounds, ptr @.str13202, i32 1, i32 %t24) call void @exit(i32 1) unreachable ixok5: %t27 = getelementptr inbounds ptr, ptr %t22, i32 1 %t28 = load ptr, ptr %t27 %t29 = call ptr @fn_emit_expr(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 store i32 7177, ptr @lp_site %t34 = call ptr @lp_str_concat(ptr @.str13203, ptr %t33) store i32 0, ptr @lp_site store i32 7178, ptr @lp_site %t35 = call ptr @lp_str_concat(ptr %t34, ptr @.str13204) store i32 0, ptr @lp_site call void @lp_free(ptr %t34) %t36 = call ptr @fn_emit_bind(ptr %t35) store ptr %t36, ptr %t37 %t38 = load ptr, ptr %t37 store i32 7179, ptr @lp_site %t39 = call ptr @lp_str_concat(ptr @.str13205, ptr %t38) store i32 0, ptr @lp_site store i32 7180, ptr @lp_site %t40 = call ptr @lp_str_concat(ptr %t39, ptr @.str13206) store i32 0, ptr @lp_site call void @lp_free(ptr %t39) %t41 = load ptr, ptr %t30 %t42 = getelementptr inbounds %Cmp_Val, ptr %t41, i32 0, i32 0 %t43 = load ptr, ptr %t42 store i32 7181, ptr @lp_site %t44 = call ptr @lp_str_concat(ptr %t40, ptr %t43) store i32 0, ptr @lp_site call void @lp_free(ptr %t40) store i32 7182, ptr @lp_site %t45 = call ptr @lp_str_concat(ptr %t44, ptr @.str13207) store i32 0, ptr @lp_site call void @lp_free(ptr %t44) %t46 = call ptr @fn_emit_bind(ptr %t45) store ptr %t46, ptr %t47 %t48 = load ptr, ptr %t17 %t49 = getelementptr inbounds %Cmp_Val, ptr %t48, i32 0, i32 0 %t50 = load ptr, ptr %t49 %t51 = load ptr, ptr %t47 %t52 = call ptr @fn_fx_div_code(ptr %t50, ptr %t51) store ptr %t52, ptr %t53 %t54 = load ptr, ptr %t53 store i32 7183, ptr @lp_site %t55 = call ptr @lp_str_concat(ptr @.str13208, ptr %t54) store i32 0, ptr @lp_site store i32 7184, ptr @lp_site %t56 = call ptr @lp_str_concat(ptr %t55, ptr @.str13209) store i32 0, ptr @lp_site call void @lp_free(ptr %t55) %t57 = call ptr @fn_emit_bind(ptr %t56) store ptr %t57, ptr %t58 %t59 = load ptr, ptr %t58 store i32 7185, ptr @lp_site %t60 = call ptr @lp_str_concat(ptr @.str13210, ptr %t59) store i32 0, ptr @lp_site store i32 7186, ptr @lp_site %t61 = call ptr @lp_str_concat(ptr %t60, ptr @.str13211) store i32 0, ptr @lp_site call void @lp_free(ptr %t60) %t62 = load ptr, ptr %t53 store i32 7187, ptr @lp_site %t63 = call ptr @lp_str_concat(ptr %t61, ptr %t62) store i32 0, ptr @lp_site call void @lp_free(ptr %t61) %t64 = call ptr @fn_emit_bind(ptr %t63) store ptr %t64, ptr %t65 %t66 = load ptr, ptr %t65 store i32 7188, ptr @lp_site %t67 = call ptr @lp_str_concat(ptr @.str13212, ptr %t66) store i32 0, ptr @lp_site store i32 7189, ptr @lp_site %t68 = call ptr @lp_str_concat(ptr %t67, ptr @.str13213) store i32 0, ptr @lp_site call void @lp_free(ptr %t67) %t69 = call ptr @fn_emit_bind(ptr %t68) store ptr %t69, ptr %t70 %t71 = load ptr, ptr %t70 store i32 7190, ptr @lp_site %t72 = call ptr @lp_str_concat(ptr @.str13214, ptr %t71) store i32 0, ptr @lp_site store i32 7191, ptr @lp_site %t73 = call ptr @lp_str_concat(ptr %t72, ptr @.str13215) store i32 0, ptr @lp_site call void @lp_free(ptr %t72) %t74 = load ptr, ptr %t65 store i32 7192, ptr @lp_site %t75 = call ptr @lp_str_concat(ptr %t73, ptr %t74) store i32 0, ptr @lp_site call void @lp_free(ptr %t73) %t76 = call ptr @fn_emit_bind(ptr %t75) store ptr %t76, ptr %t77 %t78 = load ptr, ptr %t37 store i32 7193, ptr @lp_site %t79 = call ptr @lp_str_concat(ptr @.str13216, ptr %t78) store i32 0, ptr @lp_site store i32 7194, ptr @lp_site %t80 = call ptr @lp_str_concat(ptr %t79, ptr @.str13217) store i32 0, ptr @lp_site call void @lp_free(ptr %t79) %t81 = load ptr, ptr %t77 store i32 7195, ptr @lp_site %t82 = call ptr @lp_str_concat(ptr %t80, ptr %t81) store i32 0, ptr @lp_site call void @lp_free(ptr %t80) store i32 7196, ptr @lp_site %t83 = call ptr @lp_str_concat(ptr %t82, ptr @.str13218) store i32 0, ptr @lp_site call void @lp_free(ptr %t82) %t84 = call ptr @fn_emit_bind(ptr %t83) %t85 = call ptr @fn_val(ptr %t84, ptr @.str13219) store ptr %t85, ptr %retval br label %ret ifend2: %t86 = load ptr, ptr %t0 %t87 = call i32 @lp_str_eq(ptr %t86, ptr @.str13220) %t88 = icmp ne i32 %t87, 0 br i1 %t88, label %then7, label %ifend9 then7: %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 %LSlice, ptr %t91, i32 0, i32 1 %t95 = load i32, ptr %t94 %t96 = icmp ult i32 0, %t95 br i1 %t96, label %ixok10, label %ixbad11 ixbad11: store i32 7197, ptr @lp_site %t97 = call ptr @lp_win_stdio(i32 2) store i32 0, ptr @lp_site call i32 (ptr, ptr, ...) @fprintf(ptr %t97, ptr @.fmt_bounds, ptr @.str13221, i32 0, i32 %t95) call void @exit(i32 1) unreachable ixok10: %t98 = getelementptr inbounds ptr, ptr %t93, i32 0 %t99 = load ptr, ptr %t98 %t100 = call ptr @fn_emit_expr(ptr %t99) store ptr %t100, ptr %t101 %t102 = load ptr, ptr %t1 %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 %LSlice, ptr %t104, i32 0, i32 1 %t108 = load i32, ptr %t107 %t109 = icmp ult i32 1, %t108 br i1 %t109, label %ixok12, label %ixbad13 ixbad13: store i32 7198, ptr @lp_site %t110 = call ptr @lp_win_stdio(i32 2) store i32 0, ptr @lp_site call i32 (ptr, ptr, ...) @fprintf(ptr %t110, ptr @.fmt_bounds, ptr @.str13222, i32 1, i32 %t108) call void @exit(i32 1) unreachable ixok12: %t111 = getelementptr inbounds ptr, ptr %t106, i32 1 %t112 = load ptr, ptr %t111 %t113 = call ptr @fn_emit_expr(ptr %t112) store ptr %t113, ptr %t114 %t115 = load ptr, ptr %t114 %t116 = getelementptr inbounds %Cmp_Val, ptr %t115, i32 0, i32 0 %t117 = load ptr, ptr %t116 %t118 = call ptr @fn_tween_den(ptr %t117) store ptr %t118, ptr %t119 %t120 = load ptr, ptr %t101 %t121 = getelementptr inbounds %Cmp_Val, ptr %t120, i32 0, i32 0 %t122 = load ptr, ptr %t121 %t123 = load ptr, ptr %t119 %t124 = call ptr @fn_fx_div_code(ptr %t122, ptr %t123) store ptr %t124, ptr %t125 %t126 = load ptr, ptr %t125 store i32 7199, ptr @lp_site %t127 = call ptr @lp_str_concat(ptr @.str13223, ptr %t126) store i32 0, ptr @lp_site store i32 7200, ptr @lp_site %t128 = call ptr @lp_str_concat(ptr %t127, ptr @.str13224) store i32 0, ptr @lp_site call void @lp_free(ptr %t127) %t129 = call ptr @fn_emit_bind(ptr %t128) %t130 = call ptr @fn_val(ptr %t129, ptr @.str13225) store ptr %t130, ptr %retval br label %ret ifend9: %t131 = load ptr, ptr %t0 %t132 = call i32 @lp_str_eq(ptr %t131, ptr @.str13226) %t133 = icmp ne i32 %t132, 0 br i1 %t133, label %then14, label %ifend16 then14: %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 %LSlice, ptr %t136, i32 0, i32 1 %t140 = load i32, ptr %t139 %t141 = icmp ult i32 0, %t140 br i1 %t141, label %ixok17, label %ixbad18 ixbad18: store i32 7201, ptr @lp_site %t142 = call ptr @lp_win_stdio(i32 2) store i32 0, ptr @lp_site call i32 (ptr, ptr, ...) @fprintf(ptr %t142, ptr @.fmt_bounds, ptr @.str13227, i32 0, i32 %t140) call void @exit(i32 1) unreachable ixok17: %t143 = getelementptr inbounds ptr, ptr %t138, i32 0 %t144 = load ptr, ptr %t143 %t145 = call ptr @fn_emit_expr(ptr %t144) store ptr %t145, ptr %t146 %t147 = load ptr, ptr %t1 %t148 = getelementptr inbounds %Cmp_Node, ptr %t147, i32 0, i32 7 %t149 = load ptr, ptr %t148 %t150 = getelementptr inbounds %LSlice, ptr %t149, i32 0, i32 0 %t151 = load ptr, ptr %t150 %t152 = getelementptr inbounds %LSlice, ptr %t149, i32 0, i32 1 %t153 = load i32, ptr %t152 %t154 = icmp ult i32 1, %t153 br i1 %t154, label %ixok19, label %ixbad20 ixbad20: store i32 7202, ptr @lp_site %t155 = call ptr @lp_win_stdio(i32 2) store i32 0, ptr @lp_site call i32 (ptr, ptr, ...) @fprintf(ptr %t155, ptr @.fmt_bounds, ptr @.str13228, i32 1, i32 %t153) call void @exit(i32 1) unreachable ixok19: %t156 = getelementptr inbounds ptr, ptr %t151, i32 1 %t157 = load ptr, ptr %t156 %t158 = call ptr @fn_emit_expr(ptr %t157) store ptr %t158, ptr %t159 %t160 = load ptr, ptr %t159 %t161 = getelementptr inbounds %Cmp_Val, ptr %t160, i32 0, i32 0 %t162 = load ptr, ptr %t161 %t163 = call ptr @fn_tween_den(ptr %t162) store ptr %t163, ptr %t164 %t165 = load ptr, ptr %t146 %t166 = getelementptr inbounds %Cmp_Val, ptr %t165, i32 0, i32 0 %t167 = load ptr, ptr %t166 %t168 = load ptr, ptr %t164 %t169 = call ptr @fn_fx_div_code(ptr %t167, ptr %t168) store ptr %t169, ptr %t170 %t171 = load ptr, ptr %t170 store i32 7203, ptr @lp_site %t172 = call ptr @lp_str_concat(ptr @.str13229, ptr %t171) store i32 0, ptr @lp_site store i32 7204, ptr @lp_site %t173 = call ptr @lp_str_concat(ptr %t172, ptr @.str13230) store i32 0, ptr @lp_site call void @lp_free(ptr %t172) %t174 = call ptr @fn_emit_bind(ptr %t173) store ptr %t174, ptr %t175 %t176 = load ptr, ptr %t175 store i32 7205, ptr @lp_site %t177 = call ptr @lp_str_concat(ptr @.str13231, ptr %t176) store i32 0, ptr @lp_site %t178 = call ptr @fn_emit_bind(ptr %t177) store ptr %t178, ptr %t179 %t180 = load ptr, ptr %t175 store i32 7206, ptr @lp_site %t181 = call ptr @lp_str_concat(ptr @.str13232, ptr %t180) store i32 0, ptr @lp_site store i32 7207, ptr @lp_site %t182 = call ptr @lp_str_concat(ptr %t181, ptr @.str13233) store i32 0, ptr @lp_site call void @lp_free(ptr %t181) %t183 = call ptr @fn_emit_bind(ptr %t182) store ptr %t183, ptr %t184 %t185 = load ptr, ptr %t184 store i32 7208, ptr @lp_site %t186 = call ptr @lp_str_concat(ptr @.str13234, ptr %t185) store i32 0, ptr @lp_site store i32 7209, ptr @lp_site %t187 = call ptr @lp_str_concat(ptr %t186, ptr @.str13235) store i32 0, ptr @lp_site call void @lp_free(ptr %t186) %t188 = load ptr, ptr %t175 store i32 7210, ptr @lp_site %t189 = call ptr @lp_str_concat(ptr %t187, ptr %t188) store i32 0, ptr @lp_site call void @lp_free(ptr %t187) store i32 7211, ptr @lp_site %t190 = call ptr @lp_str_concat(ptr %t189, ptr @.str13236) store i32 0, ptr @lp_site call void @lp_free(ptr %t189) %t191 = load ptr, ptr %t179 store i32 7212, ptr @lp_site %t192 = call ptr @lp_str_concat(ptr %t190, ptr %t191) store i32 0, ptr @lp_site call void @lp_free(ptr %t190) %t193 = call ptr @fn_emit_bind(ptr %t192) %t194 = call ptr @fn_val(ptr %t193, ptr @.str13237) store ptr %t194, ptr %retval br label %ret ifend16: %t195 = load ptr, ptr %t0 %t196 = call i32 @lp_str_eq(ptr %t195, ptr @.str13238) %t197 = icmp ne i32 %t196, 0 br i1 %t197, label %then21, label %ifend23 then21: %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 1 %t202 = load i32, ptr %t201 %t203 = icmp eq i32 %t202, 1 %t204 = zext i1 %t203 to i32 %t205 = icmp ne i32 %t204, 0 br i1 %t205, label %then24, label %ifend26 then24: %t206 = load ptr, ptr %t1 %t207 = getelementptr inbounds %Cmp_Node, ptr %t206, i32 0, i32 7 %t208 = load ptr, ptr %t207 %t209 = getelementptr inbounds %LSlice, ptr %t208, i32 0, i32 0 %t210 = load ptr, ptr %t209 %t211 = getelementptr inbounds %LSlice, ptr %t208, i32 0, i32 1 %t212 = load i32, ptr %t211 %t213 = icmp ult i32 0, %t212 br i1 %t213, label %ixok27, label %ixbad28 ixbad28: store i32 7213, ptr @lp_site %t214 = call ptr @lp_win_stdio(i32 2) store i32 0, ptr @lp_site call i32 (ptr, ptr, ...) @fprintf(ptr %t214, ptr @.fmt_bounds, ptr @.str13239, i32 0, i32 %t212) call void @exit(i32 1) unreachable ixok27: %t215 = getelementptr inbounds ptr, ptr %t210, i32 0 %t216 = load ptr, ptr %t215 %t217 = call ptr @fn_emit_expr(ptr %t216) store ptr %t217, ptr %t218 %t219 = call ptr @fn_fn_sym(ptr @.str13241) store i32 7214, ptr @lp_site %t220 = call ptr @lp_str_concat(ptr @.str13240, ptr %t219) store i32 0, ptr @lp_site store i32 7215, ptr @lp_site %t221 = call ptr @lp_str_concat(ptr %t220, ptr @.str13242) store i32 0, ptr @lp_site call void @lp_free(ptr %t220) %t222 = load ptr, ptr %t218 %t223 = getelementptr inbounds %Cmp_Val, ptr %t222, i32 0, i32 0 %t224 = load ptr, ptr %t223 store i32 7216, ptr @lp_site %t225 = call ptr @lp_str_concat(ptr %t221, ptr %t224) store i32 0, ptr @lp_site call void @lp_free(ptr %t221) store i32 7217, ptr @lp_site %t226 = call ptr @lp_str_concat(ptr %t225, ptr @.str13243) store i32 0, ptr @lp_site call void @lp_free(ptr %t225) %t227 = call ptr @fn_emit_bind(ptr %t226) %t228 = call ptr @fn_val(ptr %t227, ptr @.str13244) store ptr %t228, ptr %retval br label %ret ifend26: %t229 = load ptr, ptr %t1 %t230 = getelementptr inbounds %Cmp_Node, ptr %t229, i32 0, i32 7 %t231 = load ptr, ptr %t230 %t232 = getelementptr inbounds %LSlice, ptr %t231, i32 0, i32 0 %t233 = load ptr, ptr %t232 %t234 = getelementptr inbounds %LSlice, ptr %t231, i32 0, i32 1 %t235 = load i32, ptr %t234 %t236 = icmp ult i32 0, %t235 br i1 %t236, label %ixok29, label %ixbad30 ixbad30: store i32 7218, ptr @lp_site %t237 = call ptr @lp_win_stdio(i32 2) store i32 0, ptr @lp_site call i32 (ptr, ptr, ...) @fprintf(ptr %t237, ptr @.fmt_bounds, ptr @.str13245, i32 0, i32 %t235) call void @exit(i32 1) unreachable ixok29: %t238 = getelementptr inbounds ptr, ptr %t233, i32 0 %t239 = load ptr, ptr %t238 %t240 = call ptr @fn_emit_expr(ptr %t239) store ptr %t240, ptr %t241 %t242 = load ptr, ptr %t1 %t243 = getelementptr inbounds %Cmp_Node, ptr %t242, i32 0, i32 7 %t244 = load ptr, ptr %t243 %t245 = getelementptr inbounds %LSlice, ptr %t244, i32 0, i32 0 %t246 = load ptr, ptr %t245 %t247 = getelementptr inbounds %LSlice, ptr %t244, i32 0, i32 1 %t248 = load i32, ptr %t247 %t249 = icmp ult i32 1, %t248 br i1 %t249, label %ixok31, label %ixbad32 ixbad32: store i32 7219, ptr @lp_site %t250 = call ptr @lp_win_stdio(i32 2) store i32 0, ptr @lp_site call i32 (ptr, ptr, ...) @fprintf(ptr %t250, ptr @.fmt_bounds, ptr @.str13246, i32 1, i32 %t248) call void @exit(i32 1) unreachable ixok31: %t251 = getelementptr inbounds ptr, ptr %t246, i32 1 %t252 = load ptr, ptr %t251 %t253 = call ptr @fn_emit_expr(ptr %t252) store ptr %t253, ptr %t254 %t255 = load ptr, ptr %t241 %t256 = getelementptr inbounds %Cmp_Val, ptr %t255, i32 0, i32 0 %t257 = load ptr, ptr %t256 store i32 7220, ptr @lp_site %t258 = call ptr @lp_str_concat(ptr @.str13247, ptr %t257) store i32 0, ptr @lp_site store i32 7221, ptr @lp_site %t259 = call ptr @lp_str_concat(ptr %t258, ptr @.str13248) store i32 0, ptr @lp_site call void @lp_free(ptr %t258) %t260 = load ptr, ptr %t254 %t261 = getelementptr inbounds %Cmp_Val, ptr %t260, i32 0, i32 0 %t262 = load ptr, ptr %t261 store i32 7222, ptr @lp_site %t263 = call ptr @lp_str_concat(ptr %t259, ptr %t262) store i32 0, ptr @lp_site call void @lp_free(ptr %t259) %t264 = call ptr @fn_emit_bind(ptr %t263) store ptr %t264, ptr %t265 %t266 = load ptr, ptr %t265 store i32 7223, ptr @lp_site %t267 = call ptr @lp_str_concat(ptr @.str13249, ptr %t266) store i32 0, ptr @lp_site store i32 7224, ptr @lp_site %t268 = call ptr @lp_str_concat(ptr %t267, ptr @.str13250) store i32 0, ptr @lp_site call void @lp_free(ptr %t267) %t269 = call ptr @fn_emit_bind(ptr %t268) %t270 = call ptr @fn_val(ptr %t269, ptr @.str13251) store ptr %t270, ptr %retval br label %ret ifend23: %t271 = load ptr, ptr %t0 %t272 = call i32 @lp_str_eq(ptr %t271, ptr @.str13252) %t273 = icmp ne i32 %t272, 0 br i1 %t273, label %then33, label %ifend35 then33: %t274 = load ptr, ptr %t1 %t275 = getelementptr inbounds %Cmp_Node, ptr %t274, i32 0, i32 7 %t276 = load ptr, ptr %t275 %t277 = getelementptr inbounds %LSlice, ptr %t276, i32 0, i32 0 %t278 = load ptr, ptr %t277 %t279 = getelementptr inbounds %LSlice, ptr %t276, i32 0, i32 1 %t280 = load i32, ptr %t279 %t281 = icmp ult i32 0, %t280 br i1 %t281, label %ixok36, label %ixbad37 ixbad37: store i32 7225, ptr @lp_site %t282 = call ptr @lp_win_stdio(i32 2) store i32 0, ptr @lp_site call i32 (ptr, ptr, ...) @fprintf(ptr %t282, ptr @.fmt_bounds, ptr @.str13253, i32 0, i32 %t280) call void @exit(i32 1) unreachable ixok36: %t283 = getelementptr inbounds ptr, ptr %t278, i32 0 %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 %LSlice, ptr %t289, i32 0, i32 1 %t293 = load i32, ptr %t292 %t294 = icmp ult i32 1, %t293 br i1 %t294, label %ixok38, label %ixbad39 ixbad39: store i32 7226, ptr @lp_site %t295 = call ptr @lp_win_stdio(i32 2) store i32 0, ptr @lp_site call i32 (ptr, ptr, ...) @fprintf(ptr %t295, ptr @.fmt_bounds, ptr @.str13254, i32 1, i32 %t293) call void @exit(i32 1) unreachable ixok38: %t296 = getelementptr inbounds ptr, ptr %t291, i32 1 %t297 = load ptr, ptr %t296 store ptr %t297, ptr %t298 %t299 = load ptr, ptr %t298 %t300 = getelementptr inbounds %Cmp_Node, ptr %t299, i32 0, i32 0 %t301 = load i32, ptr %t300 %t302 = icmp ne i32 %t301, 30 %t303 = zext i1 %t302 to i32 %t304 = icmp ne i32 %t303, 0 br i1 %t304, label %then40, label %ifend42 then40: call void @fn_perr(ptr @.str13255) br label %ifend42 ifend42: %t305 = load ptr, ptr %t298 %t306 = getelementptr inbounds %Cmp_Node, ptr %t305, i32 0, i32 2 %t307 = load i32, ptr %t306 %t308 = load ptr, ptr %t286 %t309 = getelementptr inbounds %Cmp_Val, ptr %t308, i32 0, i32 0 %t310 = load ptr, ptr %t309 %t311 = call ptr @fn_ease_eval(i32 %t307, ptr %t310) %t312 = call ptr @fn_val(ptr %t311, ptr @.str13256) store ptr %t312, ptr %retval br label %ret ifend35: %t313 = load ptr, ptr %t0 %t314 = call i32 @lp_str_eq(ptr %t313, ptr @.str13257) %t315 = icmp ne i32 %t314, 0 br i1 %t315, label %then43, label %ifend45 then43: %t316 = load ptr, ptr %t1 %t317 = getelementptr inbounds %Cmp_Node, ptr %t316, i32 0, i32 7 %t318 = load ptr, ptr %t317 %t319 = getelementptr inbounds %LSlice, ptr %t318, i32 0, i32 0 %t320 = load ptr, ptr %t319 %t321 = getelementptr inbounds %LSlice, ptr %t318, i32 0, i32 1 %t322 = load i32, ptr %t321 %t323 = icmp ult i32 0, %t322 br i1 %t323, label %ixok46, label %ixbad47 ixbad47: store i32 7227, ptr @lp_site %t324 = call ptr @lp_win_stdio(i32 2) store i32 0, ptr @lp_site call i32 (ptr, ptr, ...) @fprintf(ptr %t324, ptr @.fmt_bounds, ptr @.str13258, i32 0, i32 %t322) call void @exit(i32 1) unreachable ixok46: %t325 = getelementptr inbounds ptr, ptr %t320, i32 0 %t326 = load ptr, ptr %t325 %t327 = call ptr @fn_emit_expr(ptr %t326) store ptr %t327, ptr %t328 %t329 = load ptr, ptr %t1 %t330 = getelementptr inbounds %Cmp_Node, ptr %t329, i32 0, i32 7 %t331 = load ptr, ptr %t330 %t332 = getelementptr inbounds %LSlice, ptr %t331, i32 0, i32 0 %t333 = load ptr, ptr %t332 %t334 = getelementptr inbounds %LSlice, ptr %t331, i32 0, i32 1 %t335 = load i32, ptr %t334 %t336 = icmp ult i32 1, %t335 br i1 %t336, label %ixok48, label %ixbad49 ixbad49: store i32 7228, ptr @lp_site %t337 = call ptr @lp_win_stdio(i32 2) store i32 0, ptr @lp_site call i32 (ptr, ptr, ...) @fprintf(ptr %t337, ptr @.fmt_bounds, ptr @.str13259, i32 1, i32 %t335) call void @exit(i32 1) unreachable ixok48: %t338 = getelementptr inbounds ptr, ptr %t333, 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 %LSlice, ptr %t344, i32 0, i32 1 %t348 = load i32, ptr %t347 %t349 = icmp ult i32 2, %t348 br i1 %t349, label %ixok50, label %ixbad51 ixbad51: store i32 7229, ptr @lp_site %t350 = call ptr @lp_win_stdio(i32 2) store i32 0, ptr @lp_site call i32 (ptr, ptr, ...) @fprintf(ptr %t350, ptr @.fmt_bounds, ptr @.str13260, i32 2, i32 %t348) call void @exit(i32 1) unreachable ixok50: %t351 = getelementptr inbounds ptr, ptr %t346, i32 2 %t352 = load ptr, ptr %t351 %t353 = call ptr @fn_emit_expr(ptr %t352) store ptr %t353, ptr %t354 %t355 = load ptr, ptr %t328 %t356 = getelementptr inbounds %Cmp_Val, ptr %t355, i32 0, i32 0 %t357 = load ptr, ptr %t356 %t358 = load ptr, ptr %t341 %t359 = getelementptr inbounds %Cmp_Val, ptr %t358, i32 0, i32 0 %t360 = load ptr, ptr %t359 %t361 = load ptr, ptr %t354 %t362 = getelementptr inbounds %Cmp_Val, ptr %t361, i32 0, i32 0 %t363 = load ptr, ptr %t362 %t364 = call ptr @fn_fx_lerp_code(ptr %t357, ptr %t360, ptr %t363) %t365 = call ptr @fn_val(ptr %t364, ptr @.str13261) store ptr %t365, ptr %retval br label %ret ifend45: %t366 = load ptr, ptr %t0 %t367 = call i32 @lp_str_eq(ptr %t366, ptr @.str13262) %t368 = icmp ne i32 %t367, 0 br i1 %t368, label %then52, label %ifend54 then52: %t369 = load ptr, ptr %t1 %t370 = getelementptr inbounds %Cmp_Node, ptr %t369, i32 0, i32 7 %t371 = load ptr, ptr %t370 %t372 = getelementptr inbounds %LSlice, ptr %t371, i32 0, i32 0 %t373 = load ptr, ptr %t372 %t374 = getelementptr inbounds %LSlice, ptr %t371, i32 0, i32 1 %t375 = load i32, ptr %t374 %t376 = icmp ult i32 0, %t375 br i1 %t376, label %ixok55, label %ixbad56 ixbad56: store i32 7230, ptr @lp_site %t377 = call ptr @lp_win_stdio(i32 2) store i32 0, ptr @lp_site call i32 (ptr, ptr, ...) @fprintf(ptr %t377, ptr @.fmt_bounds, ptr @.str13263, i32 0, i32 %t375) call void @exit(i32 1) unreachable ixok55: %t378 = getelementptr inbounds ptr, ptr %t373, i32 0 %t379 = load ptr, ptr %t378 %t380 = call ptr @fn_emit_expr(ptr %t379) store ptr %t380, ptr %t381 %t382 = load ptr, ptr %t1 %t383 = getelementptr inbounds %Cmp_Node, ptr %t382, i32 0, i32 7 %t384 = load ptr, ptr %t383 %t385 = getelementptr inbounds %LSlice, ptr %t384, i32 0, i32 0 %t386 = load ptr, ptr %t385 %t387 = getelementptr inbounds %LSlice, ptr %t384, i32 0, i32 1 %t388 = load i32, ptr %t387 %t389 = icmp ult i32 1, %t388 br i1 %t389, label %ixok57, label %ixbad58 ixbad58: store i32 7231, ptr @lp_site %t390 = call ptr @lp_win_stdio(i32 2) store i32 0, ptr @lp_site call i32 (ptr, ptr, ...) @fprintf(ptr %t390, ptr @.fmt_bounds, ptr @.str13264, i32 1, i32 %t388) call void @exit(i32 1) unreachable ixok57: %t391 = getelementptr inbounds ptr, ptr %t386, i32 1 %t392 = load ptr, ptr %t391 %t393 = call ptr @fn_emit_expr(ptr %t392) store ptr %t393, ptr %t394 %t395 = load ptr, ptr %t1 %t396 = getelementptr inbounds %Cmp_Node, ptr %t395, i32 0, i32 7 %t397 = load ptr, ptr %t396 %t398 = getelementptr inbounds %LSlice, ptr %t397, i32 0, i32 0 %t399 = load ptr, ptr %t398 %t400 = getelementptr inbounds %LSlice, ptr %t397, i32 0, i32 1 %t401 = load i32, ptr %t400 %t402 = icmp ult i32 2, %t401 br i1 %t402, label %ixok59, label %ixbad60 ixbad60: store i32 7232, ptr @lp_site %t403 = call ptr @lp_win_stdio(i32 2) store i32 0, ptr @lp_site call i32 (ptr, ptr, ...) @fprintf(ptr %t403, ptr @.fmt_bounds, ptr @.str13265, i32 2, i32 %t401) call void @exit(i32 1) unreachable ixok59: %t404 = getelementptr inbounds ptr, ptr %t399, i32 2 %t405 = load ptr, ptr %t404 %t406 = call ptr @fn_emit_expr(ptr %t405) store ptr %t406, ptr %t407 %t408 = load ptr, ptr %t394 %t409 = getelementptr inbounds %Cmp_Val, ptr %t408, i32 0, i32 0 %t410 = load ptr, ptr %t409 store i32 7233, ptr @lp_site %t411 = call ptr @lp_str_concat(ptr @.str13266, ptr %t410) store i32 0, ptr @lp_site store i32 7234, ptr @lp_site %t412 = call ptr @lp_str_concat(ptr %t411, ptr @.str13267) store i32 0, ptr @lp_site call void @lp_free(ptr %t411) %t413 = load ptr, ptr %t381 %t414 = getelementptr inbounds %Cmp_Val, ptr %t413, i32 0, i32 0 %t415 = load ptr, ptr %t414 store i32 7235, ptr @lp_site %t416 = call ptr @lp_str_concat(ptr %t412, ptr %t415) store i32 0, ptr @lp_site call void @lp_free(ptr %t412) %t417 = call ptr @fn_emit_bind(ptr %t416) store ptr %t417, ptr %t418 %t419 = load ptr, ptr %t418 store i32 7236, ptr @lp_site %t420 = call ptr @lp_str_concat(ptr @.str13268, ptr %t419) store i32 0, ptr @lp_site store i32 7237, ptr @lp_site %t421 = call ptr @lp_str_concat(ptr %t420, ptr @.str13269) store i32 0, ptr @lp_site call void @lp_free(ptr %t420) %t422 = call ptr @fn_emit_bind(ptr %t421) store ptr %t422, ptr %t423 %t424 = load ptr, ptr %t407 %t425 = getelementptr inbounds %Cmp_Val, ptr %t424, i32 0, i32 0 %t426 = load ptr, ptr %t425 store i32 7238, ptr @lp_site %t427 = call ptr @lp_str_concat(ptr @.str13270, ptr %t426) store i32 0, ptr @lp_site store i32 7239, ptr @lp_site %t428 = call ptr @lp_str_concat(ptr %t427, ptr @.str13271) store i32 0, ptr @lp_site call void @lp_free(ptr %t427) %t429 = call ptr @fn_emit_bind(ptr %t428) store ptr %t429, ptr %t430 %t431 = load ptr, ptr %t423 store i32 7240, ptr @lp_site %t432 = call ptr @lp_str_concat(ptr @.str13272, ptr %t431) store i32 0, ptr @lp_site store i32 7241, ptr @lp_site %t433 = call ptr @lp_str_concat(ptr %t432, ptr @.str13273) store i32 0, ptr @lp_site call void @lp_free(ptr %t432) %t434 = load ptr, ptr %t430 store i32 7242, ptr @lp_site %t435 = call ptr @lp_str_concat(ptr %t433, ptr %t434) store i32 0, ptr @lp_site call void @lp_free(ptr %t433) %t436 = call ptr @fn_emit_bind(ptr %t435) store ptr %t436, ptr %t437 %t438 = load ptr, ptr %t437 store i32 7243, ptr @lp_site %t439 = call ptr @lp_str_concat(ptr @.str13274, ptr %t438) store i32 0, ptr @lp_site store i32 7244, ptr @lp_site %t440 = call ptr @lp_str_concat(ptr %t439, ptr @.str13275) store i32 0, ptr @lp_site call void @lp_free(ptr %t439) %t441 = call ptr @fn_emit_bind(ptr %t440) store ptr %t441, ptr %t442 %t443 = load ptr, ptr %t442 store i32 7245, ptr @lp_site %t444 = call ptr @lp_str_concat(ptr @.str13276, ptr %t443) store i32 0, ptr @lp_site store i32 7246, ptr @lp_site %t445 = call ptr @lp_str_concat(ptr %t444, ptr @.str13277) store i32 0, ptr @lp_site call void @lp_free(ptr %t444) %t446 = call ptr @fn_emit_bind(ptr %t445) store ptr %t446, ptr %t447 %t448 = load ptr, ptr %t447 store i32 7247, ptr @lp_site %t449 = call ptr @lp_str_concat(ptr @.str13278, ptr %t448) store i32 0, ptr @lp_site store i32 7248, ptr @lp_site %t450 = call ptr @lp_str_concat(ptr %t449, ptr @.str13279) store i32 0, ptr @lp_site call void @lp_free(ptr %t449) %t451 = call ptr @fn_emit_bind(ptr %t450) store ptr %t451, ptr %t452 %t453 = load ptr, ptr %t381 %t454 = getelementptr inbounds %Cmp_Val, ptr %t453, i32 0, i32 0 %t455 = load ptr, ptr %t454 store i32 7249, ptr @lp_site %t456 = call ptr @lp_str_concat(ptr @.str13280, ptr %t455) store i32 0, ptr @lp_site store i32 7250, ptr @lp_site %t457 = call ptr @lp_str_concat(ptr %t456, ptr @.str13281) store i32 0, ptr @lp_site call void @lp_free(ptr %t456) %t458 = load ptr, ptr %t452 store i32 7251, ptr @lp_site %t459 = call ptr @lp_str_concat(ptr %t457, ptr %t458) store i32 0, ptr @lp_site call void @lp_free(ptr %t457) %t460 = call ptr @fn_emit_bind(ptr %t459) %t461 = call ptr @fn_val(ptr %t460, ptr @.str13282) store ptr %t461, ptr %retval br label %ret ifend54: %t462 = load ptr, ptr %t0 %t463 = call i32 @lp_str_eq(ptr %t462, ptr @.str13283) %t464 = icmp ne i32 %t463, 0 br i1 %t464, label %then61, label %ifend63 then61: %t465 = load ptr, ptr %t1 %t466 = getelementptr inbounds %Cmp_Node, ptr %t465, i32 0, i32 7 %t467 = load ptr, ptr %t466 %t468 = getelementptr inbounds %LSlice, ptr %t467, i32 0, i32 0 %t469 = load ptr, ptr %t468 %t470 = getelementptr inbounds %LSlice, ptr %t467, i32 0, i32 1 %t471 = load i32, ptr %t470 %t472 = icmp ult i32 0, %t471 br i1 %t472, label %ixok64, label %ixbad65 ixbad65: store i32 7252, ptr @lp_site %t473 = call ptr @lp_win_stdio(i32 2) store i32 0, ptr @lp_site call i32 (ptr, ptr, ...) @fprintf(ptr %t473, ptr @.fmt_bounds, ptr @.str13284, i32 0, i32 %t471) call void @exit(i32 1) unreachable ixok64: %t474 = getelementptr inbounds ptr, ptr %t469, i32 0 %t475 = load ptr, ptr %t474 %t476 = call ptr @fn_emit_expr(ptr %t475) store ptr %t476, ptr %t477 %t478 = load ptr, ptr %t1 %t479 = getelementptr inbounds %Cmp_Node, ptr %t478, i32 0, i32 7 %t480 = load ptr, ptr %t479 %t481 = getelementptr inbounds %LSlice, ptr %t480, i32 0, i32 0 %t482 = load ptr, ptr %t481 %t483 = getelementptr inbounds %LSlice, ptr %t480, i32 0, i32 1 %t484 = load i32, ptr %t483 %t485 = icmp ult i32 1, %t484 br i1 %t485, label %ixok66, label %ixbad67 ixbad67: store i32 7253, ptr @lp_site %t486 = call ptr @lp_win_stdio(i32 2) store i32 0, ptr @lp_site call i32 (ptr, ptr, ...) @fprintf(ptr %t486, ptr @.fmt_bounds, ptr @.str13285, i32 1, i32 %t484) call void @exit(i32 1) unreachable ixok66: %t487 = getelementptr inbounds ptr, ptr %t482, i32 1 %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 %LSlice, ptr %t493, i32 0, i32 1 %t497 = load i32, ptr %t496 %t498 = icmp ult i32 2, %t497 br i1 %t498, label %ixok68, label %ixbad69 ixbad69: store i32 7254, ptr @lp_site %t499 = call ptr @lp_win_stdio(i32 2) store i32 0, ptr @lp_site call i32 (ptr, ptr, ...) @fprintf(ptr %t499, ptr @.fmt_bounds, ptr @.str13286, i32 2, i32 %t497) call void @exit(i32 1) unreachable ixok68: %t500 = getelementptr inbounds ptr, ptr %t495, i32 2 %t501 = load ptr, ptr %t500 %t502 = call ptr @fn_emit_expr(ptr %t501) store ptr %t502, ptr %t503 %t504 = load ptr, ptr %t477 %t505 = getelementptr inbounds %Cmp_Val, ptr %t504, i32 0, i32 0 %t506 = load ptr, ptr %t505 %t507 = call ptr @fn_vec_x(ptr %t506) store ptr %t507, ptr %t508 %t509 = load ptr, ptr %t477 %t510 = getelementptr inbounds %Cmp_Val, ptr %t509, i32 0, i32 0 %t511 = load ptr, ptr %t510 %t512 = call ptr @fn_vec_y(ptr %t511) store ptr %t512, ptr %t513 %t514 = load ptr, ptr %t490 %t515 = getelementptr inbounds %Cmp_Val, ptr %t514, i32 0, i32 0 %t516 = load ptr, ptr %t515 %t517 = call ptr @fn_vec_x(ptr %t516) store ptr %t517, ptr %t518 %t519 = load ptr, ptr %t490 %t520 = getelementptr inbounds %Cmp_Val, ptr %t519, i32 0, i32 0 %t521 = load ptr, ptr %t520 %t522 = call ptr @fn_vec_y(ptr %t521) store ptr %t522, ptr %t523 %t524 = load ptr, ptr %t508 %t525 = load ptr, ptr %t518 %t526 = load ptr, ptr %t503 %t527 = getelementptr inbounds %Cmp_Val, ptr %t526, i32 0, i32 0 %t528 = load ptr, ptr %t527 %t529 = call ptr @fn_fx_lerp_code(ptr %t524, ptr %t525, ptr %t528) store ptr %t529, ptr %t530 %t531 = load ptr, ptr %t513 %t532 = load ptr, ptr %t523 %t533 = load ptr, ptr %t503 %t534 = getelementptr inbounds %Cmp_Val, ptr %t533, i32 0, i32 0 %t535 = load ptr, ptr %t534 %t536 = call ptr @fn_fx_lerp_code(ptr %t531, ptr %t532, ptr %t535) store ptr %t536, ptr %t537 %t538 = load ptr, ptr %t530 %t539 = load ptr, ptr %t537 %t540 = call ptr @fn_vec_pack(ptr %t538, ptr %t539) %t541 = call ptr @fn_val(ptr %t540, ptr @.str13287) store ptr %t541, ptr %retval br label %ret ifend63: %t542 = load ptr, ptr %t1 %t543 = getelementptr inbounds %Cmp_Node, ptr %t542, i32 0, i32 7 %t544 = load ptr, ptr %t543 %t545 = getelementptr inbounds %LSlice, ptr %t544, i32 0, i32 0 %t546 = load ptr, ptr %t545 %t547 = getelementptr inbounds %LSlice, ptr %t544, i32 0, i32 1 %t548 = load i32, ptr %t547 %t549 = icmp ult i32 0, %t548 br i1 %t549, label %ixok70, label %ixbad71 ixbad71: store i32 7255, ptr @lp_site %t550 = call ptr @lp_win_stdio(i32 2) store i32 0, ptr @lp_site call i32 (ptr, ptr, ...) @fprintf(ptr %t550, ptr @.fmt_bounds, ptr @.str13288, i32 0, i32 %t548) call void @exit(i32 1) unreachable ixok70: %t551 = getelementptr inbounds ptr, ptr %t546, i32 0 %t552 = load ptr, ptr %t551 %t553 = call ptr @fn_emit_expr(ptr %t552) store ptr %t553, ptr %t554 %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 %LSlice, ptr %t557, i32 0, i32 1 %t561 = load i32, ptr %t560 %t562 = icmp ult i32 1, %t561 br i1 %t562, label %ixok72, label %ixbad73 ixbad73: store i32 7256, ptr @lp_site %t563 = call ptr @lp_win_stdio(i32 2) store i32 0, ptr @lp_site call i32 (ptr, ptr, ...) @fprintf(ptr %t563, ptr @.fmt_bounds, ptr @.str13289, i32 1, i32 %t561) call void @exit(i32 1) unreachable ixok72: %t564 = getelementptr inbounds ptr, ptr %t559, i32 1 %t565 = load ptr, ptr %t564 %t566 = call ptr @fn_emit_expr(ptr %t565) store ptr %t566, ptr %t567 %t568 = load ptr, ptr %t1 %t569 = getelementptr inbounds %Cmp_Node, ptr %t568, i32 0, i32 7 %t570 = load ptr, ptr %t569 %t571 = getelementptr inbounds %LSlice, ptr %t570, i32 0, i32 0 %t572 = load ptr, ptr %t571 %t573 = getelementptr inbounds %LSlice, ptr %t570, i32 0, i32 1 %t574 = load i32, ptr %t573 %t575 = icmp ult i32 2, %t574 br i1 %t575, label %ixok74, label %ixbad75 ixbad75: store i32 7257, ptr @lp_site %t576 = call ptr @lp_win_stdio(i32 2) store i32 0, ptr @lp_site call i32 (ptr, ptr, ...) @fprintf(ptr %t576, ptr @.fmt_bounds, ptr @.str13290, i32 2, i32 %t574) call void @exit(i32 1) unreachable ixok74: %t577 = getelementptr inbounds ptr, ptr %t572, i32 2 %t578 = load ptr, ptr %t577 %t579 = call ptr @fn_emit_expr(ptr %t578) store ptr %t579, ptr %t580 %t581 = load ptr, ptr %t554 %t582 = getelementptr inbounds %Cmp_Val, ptr %t581, i32 0, i32 0 %t583 = load ptr, ptr %t582 %t584 = call ptr @fn_color_ch(ptr %t583, ptr @.str13291) %t585 = load ptr, ptr %t567 %t586 = getelementptr inbounds %Cmp_Val, ptr %t585, i32 0, i32 0 %t587 = load ptr, ptr %t586 %t588 = call ptr @fn_color_ch(ptr %t587, ptr @.str13292) %t589 = load ptr, ptr %t580 %t590 = getelementptr inbounds %Cmp_Val, ptr %t589, i32 0, i32 0 %t591 = load ptr, ptr %t590 %t592 = call ptr @fn_color_lerp_ch(ptr %t584, ptr %t588, ptr %t591) store ptr %t592, ptr %t593 %t594 = load ptr, ptr %t554 %t595 = getelementptr inbounds %Cmp_Val, ptr %t594, i32 0, i32 0 %t596 = load ptr, ptr %t595 %t597 = call ptr @fn_color_ch(ptr %t596, ptr @.str13293) %t598 = load ptr, ptr %t567 %t599 = getelementptr inbounds %Cmp_Val, ptr %t598, i32 0, i32 0 %t600 = load ptr, ptr %t599 %t601 = call ptr @fn_color_ch(ptr %t600, ptr @.str13294) %t602 = load ptr, ptr %t580 %t603 = getelementptr inbounds %Cmp_Val, ptr %t602, i32 0, i32 0 %t604 = load ptr, ptr %t603 %t605 = call ptr @fn_color_lerp_ch(ptr %t597, ptr %t601, ptr %t604) store ptr %t605, ptr %t606 %t607 = load ptr, ptr %t554 %t608 = getelementptr inbounds %Cmp_Val, ptr %t607, i32 0, i32 0 %t609 = load ptr, ptr %t608 %t610 = call ptr @fn_color_ch(ptr %t609, ptr @.str13295) %t611 = load ptr, ptr %t567 %t612 = getelementptr inbounds %Cmp_Val, ptr %t611, i32 0, i32 0 %t613 = load ptr, ptr %t612 %t614 = call ptr @fn_color_ch(ptr %t613, ptr @.str13296) %t615 = load ptr, ptr %t580 %t616 = getelementptr inbounds %Cmp_Val, ptr %t615, i32 0, i32 0 %t617 = load ptr, ptr %t616 %t618 = call ptr @fn_color_lerp_ch(ptr %t610, ptr %t614, ptr %t617) store ptr %t618, ptr %t619 %t620 = load ptr, ptr %t593 %t621 = load ptr, ptr %t606 %t622 = load ptr, ptr %t619 %t623 = call ptr @fn_color_pack(ptr %t620, ptr %t621, ptr %t622) %t624 = call ptr @fn_val(ptr %t623, ptr @.str13297) store ptr %t624, ptr %retval br label %ret ret: %t625 = load ptr, ptr %retval ret ptr %t625 } 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 @.str13298) %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 @.str13299) %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 @.str13300) %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 @.str13301) %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 store i32 7258, ptr @lp_site %t3 = call ptr @lp_str_concat(ptr @.str13302, ptr %t2) store i32 0, ptr @lp_site store i32 7259, ptr @lp_site %t4 = call ptr @lp_str_concat(ptr %t3, ptr @.str13304) store i32 0, ptr @lp_site call void @lp_free(ptr %t3) %t5 = call ptr @fn_emit_bind(ptr %t4) store ptr %t5, ptr %t6 %t7 = load ptr, ptr %t1 store i32 7260, ptr @lp_site %t8 = call ptr @lp_str_concat(ptr @.str13305, ptr %t7) store i32 0, ptr @lp_site store i32 7261, ptr @lp_site %t9 = call ptr @lp_str_concat(ptr %t8, ptr @.str13306) store i32 0, ptr @lp_site call void @lp_free(ptr %t8) %t10 = call ptr @fn_emit_bind(ptr %t9) store ptr %t10, ptr %t11 %t12 = load ptr, ptr %t6 store i32 7262, ptr @lp_site %t13 = call ptr @lp_str_concat(ptr @.str13307, ptr %t12) store i32 0, ptr @lp_site store i32 7263, ptr @lp_site %t14 = call ptr @lp_str_concat(ptr %t13, ptr @.str13308) store i32 0, ptr @lp_site call void @lp_free(ptr %t13) %t15 = load ptr, ptr %t6 store i32 7264, ptr @lp_site %t16 = call ptr @lp_str_concat(ptr %t14, ptr %t15) store i32 0, ptr @lp_site call void @lp_free(ptr %t14) %t17 = call ptr @fn_emit_bind(ptr %t16) store ptr %t17, ptr %t18 %t19 = load ptr, ptr %t11 store i32 7265, ptr @lp_site %t20 = call ptr @lp_str_concat(ptr @.str13309, ptr %t19) store i32 0, ptr @lp_site store i32 7266, ptr @lp_site %t21 = call ptr @lp_str_concat(ptr %t20, ptr @.str13310) store i32 0, ptr @lp_site call void @lp_free(ptr %t20) %t22 = load ptr, ptr %t11 store i32 7267, ptr @lp_site %t23 = call ptr @lp_str_concat(ptr %t21, ptr %t22) store i32 0, ptr @lp_site call void @lp_free(ptr %t21) %t24 = call ptr @fn_emit_bind(ptr %t23) store ptr %t24, ptr %t25 %t26 = load ptr, ptr %t18 store i32 7268, ptr @lp_site %t27 = call ptr @lp_str_concat(ptr @.str13311, ptr %t26) store i32 0, ptr @lp_site store i32 7269, ptr @lp_site %t28 = call ptr @lp_str_concat(ptr %t27, ptr @.str13312) store i32 0, ptr @lp_site call void @lp_free(ptr %t27) %t29 = load ptr, ptr %t25 store i32 7270, ptr @lp_site %t30 = call ptr @lp_str_concat(ptr %t28, ptr %t29) store i32 0, ptr @lp_site call void @lp_free(ptr %t28) %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 store i32 7271, ptr @lp_site %t4 = call ptr @lp_str_concat(ptr @.str13313, ptr %t3) store i32 0, ptr @lp_site store i32 7272, ptr @lp_site %t5 = call ptr @lp_str_concat(ptr %t4, ptr @.str13315) store i32 0, ptr @lp_site call void @lp_free(ptr %t4) %t6 = load ptr, ptr %t2 store i32 7273, ptr @lp_site %t7 = call ptr @lp_str_concat(ptr %t5, ptr %t6) store i32 0, ptr @lp_site call void @lp_free(ptr %t5) %t8 = call ptr @fn_emit_bind(ptr %t7) store ptr %t8, ptr %t9 %t10 = load ptr, ptr %t9 store i32 7274, ptr @lp_site %t11 = call ptr @lp_str_concat(ptr @.str13316, ptr %t10) store i32 0, ptr @lp_site store i32 7275, ptr @lp_site %t12 = call ptr @lp_str_concat(ptr %t11, ptr @.str13317) store i32 0, ptr @lp_site call void @lp_free(ptr %t11) %t13 = load ptr, ptr %t0 store i32 7276, ptr @lp_site %t14 = call ptr @lp_str_concat(ptr %t12, ptr %t13) store i32 0, ptr @lp_site call void @lp_free(ptr %t12) store i32 7277, ptr @lp_site %t15 = call ptr @lp_str_concat(ptr %t14, ptr @.str13318) store i32 0, ptr @lp_site call void @lp_free(ptr %t14) %t16 = load ptr, ptr %t2 store i32 7278, ptr @lp_site %t17 = call ptr @lp_str_concat(ptr %t15, ptr %t16) store i32 0, ptr @lp_site call void @lp_free(ptr %t15) %t18 = call ptr @fn_emit_bind(ptr %t17) store ptr %t18, ptr %t19 %t20 = load ptr, ptr %t1 store i32 7279, ptr @lp_site %t21 = call ptr @lp_str_concat(ptr @.str13319, ptr %t20) store i32 0, ptr @lp_site store i32 7280, ptr @lp_site %t22 = call ptr @lp_str_concat(ptr %t21, ptr @.str13320) store i32 0, ptr @lp_site call void @lp_free(ptr %t21) %t23 = load ptr, ptr %t19 store i32 7281, ptr @lp_site %t24 = call ptr @lp_str_concat(ptr %t22, ptr %t23) store i32 0, ptr @lp_site call void @lp_free(ptr %t22) %t25 = call ptr @fn_emit_bind(ptr %t24) store ptr %t25, ptr %t26 %t27 = load ptr, ptr %t26 store i32 7282, ptr @lp_site %t28 = call ptr @lp_str_concat(ptr @.str13321, ptr %t27) store i32 0, ptr @lp_site store i32 7283, ptr @lp_site %t29 = call ptr @lp_str_concat(ptr %t28, ptr @.str13322) store i32 0, ptr @lp_site call void @lp_free(ptr %t28) %t30 = load ptr, ptr %t1 store i32 7284, ptr @lp_site %t31 = call ptr @lp_str_concat(ptr %t29, ptr %t30) store i32 0, ptr @lp_site call void @lp_free(ptr %t29) store i32 7285, ptr @lp_site %t32 = call ptr @lp_str_concat(ptr %t31, ptr @.str13323) store i32 0, ptr @lp_site call void @lp_free(ptr %t31) %t33 = load ptr, ptr %t19 store i32 7286, ptr @lp_site %t34 = call ptr @lp_str_concat(ptr %t32, ptr %t33) store i32 0, ptr @lp_site call void @lp_free(ptr %t32) %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 %t17 = alloca ptr %t30 = alloca ptr %t43 = alloca ptr %t56 = alloca ptr %t69 = alloca ptr %t82 = alloca ptr %t95 = alloca ptr %t108 = alloca ptr %t119 = alloca ptr %t130 = alloca ptr %t141 = alloca ptr %t152 = alloca ptr %t161 = alloca ptr %t170 = alloca ptr %t179 = alloca ptr %t188 = alloca ptr %t195 = alloca ptr %t202 = alloca ptr %t209 = alloca ptr %t230 = alloca ptr %t243 = alloca ptr %t256 = alloca ptr %t269 = alloca ptr %t282 = alloca ptr %t295 = alloca ptr %t306 = alloca ptr %t317 = alloca ptr %t328 = alloca ptr %t337 = alloca ptr %t348 = alloca ptr %t357 = alloca ptr %t364 = alloca ptr %t371 = alloca ptr %t378 = alloca ptr %t399 = alloca ptr %t412 = alloca ptr %t425 = alloca ptr %t438 = alloca ptr %t451 = alloca ptr %t464 = alloca ptr %t475 = alloca ptr %t486 = alloca ptr %t490 = alloca ptr %t501 = alloca ptr %t506 = alloca ptr %t513 = alloca ptr %t520 = alloca ptr %t538 = alloca ptr %t551 = alloca ptr %t564 = alloca ptr %t577 = alloca ptr %t590 = alloca ptr %t603 = alloca ptr %t616 = alloca ptr %t627 = alloca ptr %t638 = alloca ptr %t647 = alloca ptr %t656 = alloca ptr %t665 = alloca ptr %t674 = alloca ptr %t678 = alloca ptr %t685 = alloca ptr %t692 = alloca ptr %t699 = 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 @.str13324) %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 %LSlice, ptr %t7, i32 0, i32 1 %t11 = load i32, ptr %t10 %t12 = icmp ult i32 0, %t11 br i1 %t12, label %ixok3, label %ixbad4 ixbad4: store i32 7287, ptr @lp_site %t13 = call ptr @lp_win_stdio(i32 2) store i32 0, ptr @lp_site call i32 (ptr, ptr, ...) @fprintf(ptr %t13, ptr @.fmt_bounds, ptr @.str13325, i32 0, i32 %t11) call void @exit(i32 1) unreachable ixok3: %t14 = getelementptr inbounds ptr, ptr %t9, 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 %LSlice, ptr %t20, i32 0, i32 1 %t24 = load i32, ptr %t23 %t25 = icmp ult i32 1, %t24 br i1 %t25, label %ixok5, label %ixbad6 ixbad6: store i32 7288, ptr @lp_site %t26 = call ptr @lp_win_stdio(i32 2) store i32 0, ptr @lp_site call i32 (ptr, ptr, ...) @fprintf(ptr %t26, ptr @.fmt_bounds, ptr @.str13327, i32 1, i32 %t24) call void @exit(i32 1) unreachable ixok5: %t27 = getelementptr inbounds ptr, ptr %t22, i32 1 %t28 = load ptr, ptr %t27 %t29 = call ptr @fn_emit_expr(ptr %t28) store ptr %t29, ptr %t30 %t31 = load ptr, ptr %t1 %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 = getelementptr inbounds %LSlice, ptr %t33, i32 0, i32 1 %t37 = load i32, ptr %t36 %t38 = icmp ult i32 2, %t37 br i1 %t38, label %ixok7, label %ixbad8 ixbad8: store i32 7289, ptr @lp_site %t39 = call ptr @lp_win_stdio(i32 2) store i32 0, ptr @lp_site call i32 (ptr, ptr, ...) @fprintf(ptr %t39, ptr @.fmt_bounds, ptr @.str13328, i32 2, i32 %t37) call void @exit(i32 1) unreachable ixok7: %t40 = getelementptr inbounds ptr, ptr %t35, i32 2 %t41 = load ptr, ptr %t40 %t42 = call ptr @fn_emit_expr(ptr %t41) store ptr %t42, ptr %t43 %t44 = load ptr, ptr %t1 %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 = getelementptr inbounds %LSlice, ptr %t46, i32 0, i32 1 %t50 = load i32, ptr %t49 %t51 = icmp ult i32 3, %t50 br i1 %t51, label %ixok9, label %ixbad10 ixbad10: store i32 7290, ptr @lp_site %t52 = call ptr @lp_win_stdio(i32 2) store i32 0, ptr @lp_site call i32 (ptr, ptr, ...) @fprintf(ptr %t52, ptr @.fmt_bounds, ptr @.str13329, i32 3, i32 %t50) call void @exit(i32 1) unreachable ixok9: %t53 = getelementptr inbounds ptr, ptr %t48, i32 3 %t54 = load ptr, ptr %t53 %t55 = call ptr @fn_emit_expr(ptr %t54) store ptr %t55, ptr %t56 %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 %LSlice, ptr %t59, i32 0, i32 1 %t63 = load i32, ptr %t62 %t64 = icmp ult i32 4, %t63 br i1 %t64, label %ixok11, label %ixbad12 ixbad12: store i32 7291, ptr @lp_site %t65 = call ptr @lp_win_stdio(i32 2) store i32 0, ptr @lp_site call i32 (ptr, ptr, ...) @fprintf(ptr %t65, ptr @.fmt_bounds, ptr @.str13330, i32 4, i32 %t63) call void @exit(i32 1) unreachable ixok11: %t66 = getelementptr inbounds ptr, ptr %t61, i32 4 %t67 = load ptr, ptr %t66 %t68 = call ptr @fn_emit_expr(ptr %t67) store ptr %t68, ptr %t69 %t70 = load ptr, ptr %t1 %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 0 %t74 = load ptr, ptr %t73 %t75 = getelementptr inbounds %LSlice, ptr %t72, i32 0, i32 1 %t76 = load i32, ptr %t75 %t77 = icmp ult i32 5, %t76 br i1 %t77, label %ixok13, label %ixbad14 ixbad14: store i32 7292, ptr @lp_site %t78 = call ptr @lp_win_stdio(i32 2) store i32 0, ptr @lp_site call i32 (ptr, ptr, ...) @fprintf(ptr %t78, ptr @.fmt_bounds, ptr @.str13331, i32 5, i32 %t76) call void @exit(i32 1) unreachable ixok13: %t79 = getelementptr inbounds ptr, ptr %t74, i32 5 %t80 = load ptr, ptr %t79 %t81 = call ptr @fn_emit_expr(ptr %t80) store ptr %t81, ptr %t82 %t83 = load ptr, ptr %t1 %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 %LSlice, ptr %t85, i32 0, i32 1 %t89 = load i32, ptr %t88 %t90 = icmp ult i32 6, %t89 br i1 %t90, label %ixok15, label %ixbad16 ixbad16: store i32 7293, ptr @lp_site %t91 = call ptr @lp_win_stdio(i32 2) store i32 0, ptr @lp_site call i32 (ptr, ptr, ...) @fprintf(ptr %t91, ptr @.fmt_bounds, ptr @.str13332, i32 6, i32 %t89) call void @exit(i32 1) unreachable ixok15: %t92 = getelementptr inbounds ptr, ptr %t87, i32 6 %t93 = load ptr, ptr %t92 %t94 = call ptr @fn_emit_expr(ptr %t93) store ptr %t94, ptr %t95 %t96 = load ptr, ptr %t1 %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 = getelementptr inbounds %LSlice, ptr %t98, i32 0, i32 1 %t102 = load i32, ptr %t101 %t103 = icmp ult i32 7, %t102 br i1 %t103, label %ixok17, label %ixbad18 ixbad18: store i32 7294, ptr @lp_site %t104 = call ptr @lp_win_stdio(i32 2) store i32 0, ptr @lp_site call i32 (ptr, ptr, ...) @fprintf(ptr %t104, ptr @.fmt_bounds, ptr @.str13333, i32 7, i32 %t102) call void @exit(i32 1) unreachable ixok17: %t105 = getelementptr inbounds ptr, ptr %t100, i32 7 %t106 = load ptr, ptr %t105 %t107 = call ptr @fn_emit_expr(ptr %t106) store ptr %t107, ptr %t108 %t109 = load ptr, ptr %t17 %t110 = getelementptr inbounds %Cmp_Val, ptr %t109, i32 0, i32 0 %t111 = load ptr, ptr %t110 store i32 7295, ptr @lp_site %t112 = call ptr @lp_str_concat(ptr @.str13334, ptr %t111) store i32 0, ptr @lp_site store i32 7296, ptr @lp_site %t113 = call ptr @lp_str_concat(ptr %t112, ptr @.str13335) store i32 0, ptr @lp_site call void @lp_free(ptr %t112) %t114 = load ptr, ptr %t43 %t115 = getelementptr inbounds %Cmp_Val, ptr %t114, i32 0, i32 0 %t116 = load ptr, ptr %t115 store i32 7297, ptr @lp_site %t117 = call ptr @lp_str_concat(ptr %t113, ptr %t116) store i32 0, ptr @lp_site call void @lp_free(ptr %t113) %t118 = call ptr @fn_emit_bind(ptr %t117) store ptr %t118, ptr %t119 %t120 = load ptr, ptr %t69 %t121 = getelementptr inbounds %Cmp_Val, ptr %t120, i32 0, i32 0 %t122 = load ptr, ptr %t121 store i32 7298, ptr @lp_site %t123 = call ptr @lp_str_concat(ptr @.str13336, ptr %t122) store i32 0, ptr @lp_site store i32 7299, ptr @lp_site %t124 = call ptr @lp_str_concat(ptr %t123, ptr @.str13337) store i32 0, ptr @lp_site call void @lp_free(ptr %t123) %t125 = load ptr, ptr %t95 %t126 = getelementptr inbounds %Cmp_Val, ptr %t125, i32 0, i32 0 %t127 = load ptr, ptr %t126 store i32 7300, ptr @lp_site %t128 = call ptr @lp_str_concat(ptr %t124, ptr %t127) store i32 0, ptr @lp_site call void @lp_free(ptr %t124) %t129 = call ptr @fn_emit_bind(ptr %t128) store ptr %t129, ptr %t130 %t131 = load ptr, ptr %t30 %t132 = getelementptr inbounds %Cmp_Val, ptr %t131, i32 0, i32 0 %t133 = load ptr, ptr %t132 store i32 7301, ptr @lp_site %t134 = call ptr @lp_str_concat(ptr @.str13338, ptr %t133) store i32 0, ptr @lp_site store i32 7302, ptr @lp_site %t135 = call ptr @lp_str_concat(ptr %t134, ptr @.str13339) store i32 0, ptr @lp_site call void @lp_free(ptr %t134) %t136 = load ptr, ptr %t56 %t137 = getelementptr inbounds %Cmp_Val, ptr %t136, i32 0, i32 0 %t138 = load ptr, ptr %t137 store i32 7303, ptr @lp_site %t139 = call ptr @lp_str_concat(ptr %t135, ptr %t138) store i32 0, ptr @lp_site call void @lp_free(ptr %t135) %t140 = call ptr @fn_emit_bind(ptr %t139) store ptr %t140, ptr %t141 %t142 = load ptr, ptr %t82 %t143 = getelementptr inbounds %Cmp_Val, ptr %t142, i32 0, i32 0 %t144 = load ptr, ptr %t143 store i32 7304, ptr @lp_site %t145 = call ptr @lp_str_concat(ptr @.str13340, ptr %t144) store i32 0, ptr @lp_site store i32 7305, ptr @lp_site %t146 = call ptr @lp_str_concat(ptr %t145, ptr @.str13341) store i32 0, ptr @lp_site call void @lp_free(ptr %t145) %t147 = load ptr, ptr %t108 %t148 = getelementptr inbounds %Cmp_Val, ptr %t147, i32 0, i32 0 %t149 = load ptr, ptr %t148 store i32 7306, ptr @lp_site %t150 = call ptr @lp_str_concat(ptr %t146, ptr %t149) store i32 0, ptr @lp_site call void @lp_free(ptr %t146) %t151 = call ptr @fn_emit_bind(ptr %t150) store ptr %t151, ptr %t152 %t153 = load ptr, ptr %t17 %t154 = getelementptr inbounds %Cmp_Val, ptr %t153, i32 0, i32 0 %t155 = load ptr, ptr %t154 store i32 7307, ptr @lp_site %t156 = call ptr @lp_str_concat(ptr @.str13342, ptr %t155) store i32 0, ptr @lp_site store i32 7308, ptr @lp_site %t157 = call ptr @lp_str_concat(ptr %t156, ptr @.str13343) store i32 0, ptr @lp_site call void @lp_free(ptr %t156) %t158 = load ptr, ptr %t130 store i32 7309, ptr @lp_site %t159 = call ptr @lp_str_concat(ptr %t157, ptr %t158) store i32 0, ptr @lp_site call void @lp_free(ptr %t157) %t160 = call ptr @fn_emit_bind(ptr %t159) store ptr %t160, ptr %t161 %t162 = load ptr, ptr %t69 %t163 = getelementptr inbounds %Cmp_Val, ptr %t162, i32 0, i32 0 %t164 = load ptr, ptr %t163 store i32 7310, ptr @lp_site %t165 = call ptr @lp_str_concat(ptr @.str13344, ptr %t164) store i32 0, ptr @lp_site store i32 7311, ptr @lp_site %t166 = call ptr @lp_str_concat(ptr %t165, ptr @.str13345) store i32 0, ptr @lp_site call void @lp_free(ptr %t165) %t167 = load ptr, ptr %t119 store i32 7312, ptr @lp_site %t168 = call ptr @lp_str_concat(ptr %t166, ptr %t167) store i32 0, ptr @lp_site call void @lp_free(ptr %t166) %t169 = call ptr @fn_emit_bind(ptr %t168) store ptr %t169, ptr %t170 %t171 = load ptr, ptr %t30 %t172 = getelementptr inbounds %Cmp_Val, ptr %t171, i32 0, i32 0 %t173 = load ptr, ptr %t172 store i32 7313, ptr @lp_site %t174 = call ptr @lp_str_concat(ptr @.str13346, ptr %t173) store i32 0, ptr @lp_site store i32 7314, ptr @lp_site %t175 = call ptr @lp_str_concat(ptr %t174, ptr @.str13347) store i32 0, ptr @lp_site call void @lp_free(ptr %t174) %t176 = load ptr, ptr %t152 store i32 7315, ptr @lp_site %t177 = call ptr @lp_str_concat(ptr %t175, ptr %t176) store i32 0, ptr @lp_site call void @lp_free(ptr %t175) %t178 = call ptr @fn_emit_bind(ptr %t177) store ptr %t178, ptr %t179 %t180 = load ptr, ptr %t82 %t181 = getelementptr inbounds %Cmp_Val, ptr %t180, i32 0, i32 0 %t182 = load ptr, ptr %t181 store i32 7316, ptr @lp_site %t183 = call ptr @lp_str_concat(ptr @.str13348, ptr %t182) store i32 0, ptr @lp_site store i32 7317, ptr @lp_site %t184 = call ptr @lp_str_concat(ptr %t183, ptr @.str13349) store i32 0, ptr @lp_site call void @lp_free(ptr %t183) %t185 = load ptr, ptr %t141 store i32 7318, ptr @lp_site %t186 = call ptr @lp_str_concat(ptr %t184, ptr %t185) store i32 0, ptr @lp_site call void @lp_free(ptr %t184) %t187 = call ptr @fn_emit_bind(ptr %t186) store ptr %t187, ptr %t188 %t189 = load ptr, ptr %t161 store i32 7319, ptr @lp_site %t190 = call ptr @lp_str_concat(ptr @.str13350, ptr %t189) store i32 0, ptr @lp_site store i32 7320, ptr @lp_site %t191 = call ptr @lp_str_concat(ptr %t190, ptr @.str13351) store i32 0, ptr @lp_site call void @lp_free(ptr %t190) %t192 = load ptr, ptr %t170 store i32 7321, ptr @lp_site %t193 = call ptr @lp_str_concat(ptr %t191, ptr %t192) store i32 0, ptr @lp_site call void @lp_free(ptr %t191) %t194 = call ptr @fn_emit_bind(ptr %t193) store ptr %t194, ptr %t195 %t196 = load ptr, ptr %t179 store i32 7322, ptr @lp_site %t197 = call ptr @lp_str_concat(ptr @.str13352, ptr %t196) store i32 0, ptr @lp_site store i32 7323, ptr @lp_site %t198 = call ptr @lp_str_concat(ptr %t197, ptr @.str13353) store i32 0, ptr @lp_site call void @lp_free(ptr %t197) %t199 = load ptr, ptr %t188 store i32 7324, ptr @lp_site %t200 = call ptr @lp_str_concat(ptr %t198, ptr %t199) store i32 0, ptr @lp_site call void @lp_free(ptr %t198) %t201 = call ptr @fn_emit_bind(ptr %t200) store ptr %t201, ptr %t202 %t203 = load ptr, ptr %t195 store i32 7325, ptr @lp_site %t204 = call ptr @lp_str_concat(ptr @.str13354, ptr %t203) store i32 0, ptr @lp_site store i32 7326, ptr @lp_site %t205 = call ptr @lp_str_concat(ptr %t204, ptr @.str13355) store i32 0, ptr @lp_site call void @lp_free(ptr %t204) %t206 = load ptr, ptr %t202 store i32 7327, ptr @lp_site %t207 = call ptr @lp_str_concat(ptr %t205, ptr %t206) store i32 0, ptr @lp_site call void @lp_free(ptr %t205) %t208 = call ptr @fn_emit_bind(ptr %t207) store ptr %t208, ptr %t209 %t210 = load ptr, ptr %t209 store i32 7328, ptr @lp_site %t211 = call ptr @lp_str_concat(ptr @.str13356, ptr %t210) store i32 0, ptr @lp_site store i32 7329, ptr @lp_site %t212 = call ptr @lp_str_concat(ptr %t211, ptr @.str13357) store i32 0, ptr @lp_site call void @lp_free(ptr %t211) %t213 = call ptr @fn_emit_bind(ptr %t212) %t214 = call ptr @fn_val(ptr %t213, ptr @.str13358) store ptr %t214, ptr %retval br label %ret ifend2: %t215 = load ptr, ptr %t0 %t216 = call i32 @lp_str_eq(ptr %t215, ptr @.str13359) %t217 = icmp ne i32 %t216, 0 br i1 %t217, label %then19, label %ifend21 then19: %t218 = load ptr, ptr %t1 %t219 = getelementptr inbounds %Cmp_Node, ptr %t218, i32 0, i32 7 %t220 = load ptr, ptr %t219 %t221 = getelementptr inbounds %LSlice, ptr %t220, i32 0, i32 0 %t222 = load ptr, ptr %t221 %t223 = getelementptr inbounds %LSlice, ptr %t220, i32 0, i32 1 %t224 = load i32, ptr %t223 %t225 = icmp ult i32 0, %t224 br i1 %t225, label %ixok22, label %ixbad23 ixbad23: store i32 7330, ptr @lp_site %t226 = call ptr @lp_win_stdio(i32 2) store i32 0, ptr @lp_site call i32 (ptr, ptr, ...) @fprintf(ptr %t226, ptr @.fmt_bounds, ptr @.str13360, i32 0, i32 %t224) call void @exit(i32 1) unreachable ixok22: %t227 = getelementptr inbounds ptr, ptr %t222, i32 0 %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 %LSlice, ptr %t233, i32 0, i32 1 %t237 = load i32, ptr %t236 %t238 = icmp ult i32 1, %t237 br i1 %t238, label %ixok24, label %ixbad25 ixbad25: store i32 7331, ptr @lp_site %t239 = call ptr @lp_win_stdio(i32 2) store i32 0, ptr @lp_site call i32 (ptr, ptr, ...) @fprintf(ptr %t239, ptr @.fmt_bounds, ptr @.str13361, i32 1, i32 %t237) call void @exit(i32 1) unreachable ixok24: %t240 = getelementptr inbounds ptr, ptr %t235, 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 %LSlice, ptr %t246, i32 0, i32 1 %t250 = load i32, ptr %t249 %t251 = icmp ult i32 2, %t250 br i1 %t251, label %ixok26, label %ixbad27 ixbad27: store i32 7332, ptr @lp_site %t252 = call ptr @lp_win_stdio(i32 2) store i32 0, ptr @lp_site call i32 (ptr, ptr, ...) @fprintf(ptr %t252, ptr @.fmt_bounds, ptr @.str13362, i32 2, i32 %t250) call void @exit(i32 1) unreachable ixok26: %t253 = getelementptr inbounds ptr, ptr %t248, i32 2 %t254 = load ptr, ptr %t253 %t255 = call ptr @fn_emit_expr(ptr %t254) store ptr %t255, ptr %t256 %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 %LSlice, ptr %t259, i32 0, i32 1 %t263 = load i32, ptr %t262 %t264 = icmp ult i32 3, %t263 br i1 %t264, label %ixok28, label %ixbad29 ixbad29: store i32 7333, ptr @lp_site %t265 = call ptr @lp_win_stdio(i32 2) store i32 0, ptr @lp_site call i32 (ptr, ptr, ...) @fprintf(ptr %t265, ptr @.fmt_bounds, ptr @.str13363, i32 3, i32 %t263) call void @exit(i32 1) unreachable ixok28: %t266 = getelementptr inbounds ptr, ptr %t261, i32 3 %t267 = load ptr, ptr %t266 %t268 = call ptr @fn_emit_expr(ptr %t267) store ptr %t268, ptr %t269 %t270 = load ptr, ptr %t1 %t271 = getelementptr inbounds %Cmp_Node, ptr %t270, i32 0, i32 7 %t272 = load ptr, ptr %t271 %t273 = getelementptr inbounds %LSlice, ptr %t272, i32 0, i32 0 %t274 = load ptr, ptr %t273 %t275 = getelementptr inbounds %LSlice, ptr %t272, i32 0, i32 1 %t276 = load i32, ptr %t275 %t277 = icmp ult i32 4, %t276 br i1 %t277, label %ixok30, label %ixbad31 ixbad31: store i32 7334, ptr @lp_site %t278 = call ptr @lp_win_stdio(i32 2) store i32 0, ptr @lp_site call i32 (ptr, ptr, ...) @fprintf(ptr %t278, ptr @.fmt_bounds, ptr @.str13364, i32 4, i32 %t276) call void @exit(i32 1) unreachable ixok30: %t279 = getelementptr inbounds ptr, ptr %t274, i32 4 %t280 = load ptr, ptr %t279 %t281 = call ptr @fn_emit_expr(ptr %t280) store ptr %t281, ptr %t282 %t283 = load ptr, ptr %t1 %t284 = getelementptr inbounds %Cmp_Node, ptr %t283, i32 0, i32 7 %t285 = load ptr, ptr %t284 %t286 = getelementptr inbounds %LSlice, ptr %t285, i32 0, i32 0 %t287 = load ptr, ptr %t286 %t288 = getelementptr inbounds %LSlice, ptr %t285, i32 0, i32 1 %t289 = load i32, ptr %t288 %t290 = icmp ult i32 5, %t289 br i1 %t290, label %ixok32, label %ixbad33 ixbad33: store i32 7335, ptr @lp_site %t291 = call ptr @lp_win_stdio(i32 2) store i32 0, ptr @lp_site call i32 (ptr, ptr, ...) @fprintf(ptr %t291, ptr @.fmt_bounds, ptr @.str13365, i32 5, i32 %t289) call void @exit(i32 1) unreachable ixok32: %t292 = getelementptr inbounds ptr, ptr %t287, i32 5 %t293 = load ptr, ptr %t292 %t294 = call ptr @fn_emit_expr(ptr %t293) store ptr %t294, ptr %t295 %t296 = load ptr, ptr %t256 %t297 = getelementptr inbounds %Cmp_Val, ptr %t296, i32 0, i32 0 %t298 = load ptr, ptr %t297 store i32 7336, ptr @lp_site %t299 = call ptr @lp_str_concat(ptr @.str13366, ptr %t298) store i32 0, ptr @lp_site store i32 7337, ptr @lp_site %t300 = call ptr @lp_str_concat(ptr %t299, ptr @.str13367) store i32 0, ptr @lp_site call void @lp_free(ptr %t299) %t301 = load ptr, ptr %t282 %t302 = getelementptr inbounds %Cmp_Val, ptr %t301, i32 0, i32 0 %t303 = load ptr, ptr %t302 store i32 7338, ptr @lp_site %t304 = call ptr @lp_str_concat(ptr %t300, ptr %t303) store i32 0, ptr @lp_site call void @lp_free(ptr %t300) %t305 = call ptr @fn_emit_bind(ptr %t304) store ptr %t305, ptr %t306 %t307 = load ptr, ptr %t269 %t308 = getelementptr inbounds %Cmp_Val, ptr %t307, i32 0, i32 0 %t309 = load ptr, ptr %t308 store i32 7339, ptr @lp_site %t310 = call ptr @lp_str_concat(ptr @.str13368, ptr %t309) store i32 0, ptr @lp_site store i32 7340, ptr @lp_site %t311 = call ptr @lp_str_concat(ptr %t310, ptr @.str13369) store i32 0, ptr @lp_site call void @lp_free(ptr %t310) %t312 = load ptr, ptr %t295 %t313 = getelementptr inbounds %Cmp_Val, ptr %t312, i32 0, i32 0 %t314 = load ptr, ptr %t313 store i32 7341, ptr @lp_site %t315 = call ptr @lp_str_concat(ptr %t311, ptr %t314) store i32 0, ptr @lp_site call void @lp_free(ptr %t311) %t316 = call ptr @fn_emit_bind(ptr %t315) store ptr %t316, ptr %t317 %t318 = load ptr, ptr %t230 %t319 = getelementptr inbounds %Cmp_Val, ptr %t318, i32 0, i32 0 %t320 = load ptr, ptr %t319 store i32 7342, ptr @lp_site %t321 = call ptr @lp_str_concat(ptr @.str13370, ptr %t320) store i32 0, ptr @lp_site store i32 7343, ptr @lp_site %t322 = call ptr @lp_str_concat(ptr %t321, ptr @.str13371) store i32 0, ptr @lp_site call void @lp_free(ptr %t321) %t323 = load ptr, ptr %t256 %t324 = getelementptr inbounds %Cmp_Val, ptr %t323, i32 0, i32 0 %t325 = load ptr, ptr %t324 store i32 7344, ptr @lp_site %t326 = call ptr @lp_str_concat(ptr %t322, ptr %t325) store i32 0, ptr @lp_site call void @lp_free(ptr %t322) %t327 = call ptr @fn_emit_bind(ptr %t326) store ptr %t327, ptr %t328 %t329 = load ptr, ptr %t230 %t330 = getelementptr inbounds %Cmp_Val, ptr %t329, i32 0, i32 0 %t331 = load ptr, ptr %t330 store i32 7345, ptr @lp_site %t332 = call ptr @lp_str_concat(ptr @.str13372, ptr %t331) store i32 0, ptr @lp_site store i32 7346, ptr @lp_site %t333 = call ptr @lp_str_concat(ptr %t332, ptr @.str13373) store i32 0, ptr @lp_site call void @lp_free(ptr %t332) %t334 = load ptr, ptr %t306 store i32 7347, ptr @lp_site %t335 = call ptr @lp_str_concat(ptr %t333, ptr %t334) store i32 0, ptr @lp_site call void @lp_free(ptr %t333) %t336 = call ptr @fn_emit_bind(ptr %t335) store ptr %t336, ptr %t337 %t338 = load ptr, ptr %t243 %t339 = getelementptr inbounds %Cmp_Val, ptr %t338, i32 0, i32 0 %t340 = load ptr, ptr %t339 store i32 7348, ptr @lp_site %t341 = call ptr @lp_str_concat(ptr @.str13374, ptr %t340) store i32 0, ptr @lp_site store i32 7349, ptr @lp_site %t342 = call ptr @lp_str_concat(ptr %t341, ptr @.str13375) store i32 0, ptr @lp_site call void @lp_free(ptr %t341) %t343 = load ptr, ptr %t269 %t344 = getelementptr inbounds %Cmp_Val, ptr %t343, i32 0, i32 0 %t345 = load ptr, ptr %t344 store i32 7350, ptr @lp_site %t346 = call ptr @lp_str_concat(ptr %t342, ptr %t345) store i32 0, ptr @lp_site call void @lp_free(ptr %t342) %t347 = call ptr @fn_emit_bind(ptr %t346) store ptr %t347, ptr %t348 %t349 = load ptr, ptr %t243 %t350 = getelementptr inbounds %Cmp_Val, ptr %t349, i32 0, i32 0 %t351 = load ptr, ptr %t350 store i32 7351, ptr @lp_site %t352 = call ptr @lp_str_concat(ptr @.str13376, ptr %t351) store i32 0, ptr @lp_site store i32 7352, ptr @lp_site %t353 = call ptr @lp_str_concat(ptr %t352, ptr @.str13377) store i32 0, ptr @lp_site call void @lp_free(ptr %t352) %t354 = load ptr, ptr %t317 store i32 7353, ptr @lp_site %t355 = call ptr @lp_str_concat(ptr %t353, ptr %t354) store i32 0, ptr @lp_site call void @lp_free(ptr %t353) %t356 = call ptr @fn_emit_bind(ptr %t355) store ptr %t356, ptr %t357 %t358 = load ptr, ptr %t328 store i32 7354, ptr @lp_site %t359 = call ptr @lp_str_concat(ptr @.str13378, ptr %t358) store i32 0, ptr @lp_site store i32 7355, ptr @lp_site %t360 = call ptr @lp_str_concat(ptr %t359, ptr @.str13379) store i32 0, ptr @lp_site call void @lp_free(ptr %t359) %t361 = load ptr, ptr %t337 store i32 7356, ptr @lp_site %t362 = call ptr @lp_str_concat(ptr %t360, ptr %t361) store i32 0, ptr @lp_site call void @lp_free(ptr %t360) %t363 = call ptr @fn_emit_bind(ptr %t362) store ptr %t363, ptr %t364 %t365 = load ptr, ptr %t348 store i32 7357, ptr @lp_site %t366 = call ptr @lp_str_concat(ptr @.str13380, ptr %t365) store i32 0, ptr @lp_site store i32 7358, ptr @lp_site %t367 = call ptr @lp_str_concat(ptr %t366, ptr @.str13381) store i32 0, ptr @lp_site call void @lp_free(ptr %t366) %t368 = load ptr, ptr %t357 store i32 7359, ptr @lp_site %t369 = call ptr @lp_str_concat(ptr %t367, ptr %t368) store i32 0, ptr @lp_site call void @lp_free(ptr %t367) %t370 = call ptr @fn_emit_bind(ptr %t369) store ptr %t370, ptr %t371 %t372 = load ptr, ptr %t364 store i32 7360, ptr @lp_site %t373 = call ptr @lp_str_concat(ptr @.str13382, ptr %t372) store i32 0, ptr @lp_site store i32 7361, ptr @lp_site %t374 = call ptr @lp_str_concat(ptr %t373, ptr @.str13383) store i32 0, ptr @lp_site call void @lp_free(ptr %t373) %t375 = load ptr, ptr %t371 store i32 7362, ptr @lp_site %t376 = call ptr @lp_str_concat(ptr %t374, ptr %t375) store i32 0, ptr @lp_site call void @lp_free(ptr %t374) %t377 = call ptr @fn_emit_bind(ptr %t376) store ptr %t377, ptr %t378 %t379 = load ptr, ptr %t378 store i32 7363, ptr @lp_site %t380 = call ptr @lp_str_concat(ptr @.str13384, ptr %t379) store i32 0, ptr @lp_site store i32 7364, ptr @lp_site %t381 = call ptr @lp_str_concat(ptr %t380, ptr @.str13385) store i32 0, ptr @lp_site call void @lp_free(ptr %t380) %t382 = call ptr @fn_emit_bind(ptr %t381) %t383 = call ptr @fn_val(ptr %t382, ptr @.str13386) store ptr %t383, ptr %retval br label %ret ifend21: %t384 = load ptr, ptr %t0 %t385 = call i32 @lp_str_eq(ptr %t384, ptr @.str13387) %t386 = icmp ne i32 %t385, 0 br i1 %t386, label %then34, label %ifend36 then34: %t387 = load ptr, ptr %t1 %t388 = getelementptr inbounds %Cmp_Node, ptr %t387, i32 0, i32 7 %t389 = load ptr, ptr %t388 %t390 = getelementptr inbounds %LSlice, ptr %t389, i32 0, i32 0 %t391 = load ptr, ptr %t390 %t392 = getelementptr inbounds %LSlice, ptr %t389, i32 0, i32 1 %t393 = load i32, ptr %t392 %t394 = icmp ult i32 0, %t393 br i1 %t394, label %ixok37, label %ixbad38 ixbad38: store i32 7365, ptr @lp_site %t395 = call ptr @lp_win_stdio(i32 2) store i32 0, ptr @lp_site call i32 (ptr, ptr, ...) @fprintf(ptr %t395, ptr @.fmt_bounds, ptr @.str13388, i32 0, i32 %t393) call void @exit(i32 1) unreachable ixok37: %t396 = getelementptr inbounds ptr, ptr %t391, i32 0 %t397 = load ptr, ptr %t396 %t398 = call ptr @fn_emit_expr(ptr %t397) store ptr %t398, ptr %t399 %t400 = load ptr, ptr %t1 %t401 = getelementptr inbounds %Cmp_Node, ptr %t400, i32 0, i32 7 %t402 = load ptr, ptr %t401 %t403 = getelementptr inbounds %LSlice, ptr %t402, i32 0, i32 0 %t404 = load ptr, ptr %t403 %t405 = getelementptr inbounds %LSlice, ptr %t402, i32 0, i32 1 %t406 = load i32, ptr %t405 %t407 = icmp ult i32 1, %t406 br i1 %t407, label %ixok39, label %ixbad40 ixbad40: store i32 7366, ptr @lp_site %t408 = call ptr @lp_win_stdio(i32 2) store i32 0, ptr @lp_site call i32 (ptr, ptr, ...) @fprintf(ptr %t408, ptr @.fmt_bounds, ptr @.str13389, i32 1, i32 %t406) call void @exit(i32 1) unreachable ixok39: %t409 = getelementptr inbounds ptr, ptr %t404, i32 1 %t410 = load ptr, ptr %t409 %t411 = call ptr @fn_emit_expr(ptr %t410) store ptr %t411, ptr %t412 %t413 = load ptr, ptr %t1 %t414 = getelementptr inbounds %Cmp_Node, ptr %t413, i32 0, i32 7 %t415 = load ptr, ptr %t414 %t416 = getelementptr inbounds %LSlice, ptr %t415, i32 0, i32 0 %t417 = load ptr, ptr %t416 %t418 = getelementptr inbounds %LSlice, ptr %t415, i32 0, i32 1 %t419 = load i32, ptr %t418 %t420 = icmp ult i32 2, %t419 br i1 %t420, label %ixok41, label %ixbad42 ixbad42: store i32 7367, ptr @lp_site %t421 = call ptr @lp_win_stdio(i32 2) store i32 0, ptr @lp_site call i32 (ptr, ptr, ...) @fprintf(ptr %t421, ptr @.fmt_bounds, ptr @.str13390, i32 2, i32 %t419) call void @exit(i32 1) unreachable ixok41: %t422 = getelementptr inbounds ptr, ptr %t417, i32 2 %t423 = load ptr, ptr %t422 %t424 = call ptr @fn_emit_expr(ptr %t423) store ptr %t424, ptr %t425 %t426 = load ptr, ptr %t1 %t427 = getelementptr inbounds %Cmp_Node, ptr %t426, i32 0, i32 7 %t428 = load ptr, ptr %t427 %t429 = getelementptr inbounds %LSlice, ptr %t428, i32 0, i32 0 %t430 = load ptr, ptr %t429 %t431 = getelementptr inbounds %LSlice, ptr %t428, i32 0, i32 1 %t432 = load i32, ptr %t431 %t433 = icmp ult i32 3, %t432 br i1 %t433, label %ixok43, label %ixbad44 ixbad44: store i32 7368, ptr @lp_site %t434 = call ptr @lp_win_stdio(i32 2) store i32 0, ptr @lp_site call i32 (ptr, ptr, ...) @fprintf(ptr %t434, ptr @.fmt_bounds, ptr @.str13391, i32 3, i32 %t432) call void @exit(i32 1) unreachable ixok43: %t435 = getelementptr inbounds ptr, ptr %t430, i32 3 %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 %LSlice, ptr %t441, i32 0, i32 1 %t445 = load i32, ptr %t444 %t446 = icmp ult i32 4, %t445 br i1 %t446, label %ixok45, label %ixbad46 ixbad46: store i32 7369, ptr @lp_site %t447 = call ptr @lp_win_stdio(i32 2) store i32 0, ptr @lp_site call i32 (ptr, ptr, ...) @fprintf(ptr %t447, ptr @.fmt_bounds, ptr @.str13392, i32 4, i32 %t445) call void @exit(i32 1) unreachable ixok45: %t448 = getelementptr inbounds ptr, ptr %t443, i32 4 %t449 = load ptr, ptr %t448 %t450 = call ptr @fn_emit_expr(ptr %t449) store ptr %t450, ptr %t451 %t452 = load ptr, ptr %t1 %t453 = getelementptr inbounds %Cmp_Node, ptr %t452, i32 0, i32 7 %t454 = load ptr, ptr %t453 %t455 = getelementptr inbounds %LSlice, ptr %t454, i32 0, i32 0 %t456 = load ptr, ptr %t455 %t457 = getelementptr inbounds %LSlice, ptr %t454, i32 0, i32 1 %t458 = load i32, ptr %t457 %t459 = icmp ult i32 5, %t458 br i1 %t459, label %ixok47, label %ixbad48 ixbad48: store i32 7370, ptr @lp_site %t460 = call ptr @lp_win_stdio(i32 2) store i32 0, ptr @lp_site call i32 (ptr, ptr, ...) @fprintf(ptr %t460, ptr @.fmt_bounds, ptr @.str13393, i32 5, i32 %t458) call void @exit(i32 1) unreachable ixok47: %t461 = getelementptr inbounds ptr, ptr %t456, i32 5 %t462 = load ptr, ptr %t461 %t463 = call ptr @fn_emit_expr(ptr %t462) store ptr %t463, ptr %t464 %t465 = load ptr, ptr %t399 %t466 = getelementptr inbounds %Cmp_Val, ptr %t465, i32 0, i32 0 %t467 = load ptr, ptr %t466 store i32 7371, ptr @lp_site %t468 = call ptr @lp_str_concat(ptr @.str13394, ptr %t467) store i32 0, ptr @lp_site store i32 7372, ptr @lp_site %t469 = call ptr @lp_str_concat(ptr %t468, ptr @.str13395) store i32 0, ptr @lp_site call void @lp_free(ptr %t468) %t470 = load ptr, ptr %t438 %t471 = getelementptr inbounds %Cmp_Val, ptr %t470, i32 0, i32 0 %t472 = load ptr, ptr %t471 store i32 7373, ptr @lp_site %t473 = call ptr @lp_str_concat(ptr %t469, ptr %t472) store i32 0, ptr @lp_site call void @lp_free(ptr %t469) %t474 = call ptr @fn_emit_bind(ptr %t473) store ptr %t474, ptr %t475 %t476 = load ptr, ptr %t412 %t477 = getelementptr inbounds %Cmp_Val, ptr %t476, i32 0, i32 0 %t478 = load ptr, ptr %t477 store i32 7374, ptr @lp_site %t479 = call ptr @lp_str_concat(ptr @.str13396, ptr %t478) store i32 0, ptr @lp_site store i32 7375, ptr @lp_site %t480 = call ptr @lp_str_concat(ptr %t479, ptr @.str13397) store i32 0, ptr @lp_site call void @lp_free(ptr %t479) %t481 = load ptr, ptr %t451 %t482 = getelementptr inbounds %Cmp_Val, ptr %t481, i32 0, i32 0 %t483 = load ptr, ptr %t482 store i32 7376, ptr @lp_site %t484 = call ptr @lp_str_concat(ptr %t480, ptr %t483) store i32 0, ptr @lp_site call void @lp_free(ptr %t480) %t485 = call ptr @fn_emit_bind(ptr %t484) store ptr %t485, ptr %t486 %t487 = load ptr, ptr %t475 %t488 = load ptr, ptr %t486 %t489 = call ptr @fn_coll_sq_sum(ptr %t487, ptr %t488) store ptr %t489, ptr %t490 %t491 = load ptr, ptr %t425 %t492 = getelementptr inbounds %Cmp_Val, ptr %t491, i32 0, i32 0 %t493 = load ptr, ptr %t492 store i32 7377, ptr @lp_site %t494 = call ptr @lp_str_concat(ptr @.str13398, ptr %t493) store i32 0, ptr @lp_site store i32 7378, ptr @lp_site %t495 = call ptr @lp_str_concat(ptr %t494, ptr @.str13399) store i32 0, ptr @lp_site call void @lp_free(ptr %t494) %t496 = load ptr, ptr %t464 %t497 = getelementptr inbounds %Cmp_Val, ptr %t496, i32 0, i32 0 %t498 = load ptr, ptr %t497 store i32 7379, ptr @lp_site %t499 = call ptr @lp_str_concat(ptr %t495, ptr %t498) store i32 0, ptr @lp_site call void @lp_free(ptr %t495) %t500 = call ptr @fn_emit_bind(ptr %t499) store ptr %t500, ptr %t501 %t502 = load ptr, ptr %t501 store i32 7380, ptr @lp_site %t503 = call ptr @lp_str_concat(ptr @.str13400, ptr %t502) store i32 0, ptr @lp_site store i32 7381, ptr @lp_site %t504 = call ptr @lp_str_concat(ptr %t503, ptr @.str13401) store i32 0, ptr @lp_site call void @lp_free(ptr %t503) %t505 = call ptr @fn_emit_bind(ptr %t504) store ptr %t505, ptr %t506 %t507 = load ptr, ptr %t506 store i32 7382, ptr @lp_site %t508 = call ptr @lp_str_concat(ptr @.str13402, ptr %t507) store i32 0, ptr @lp_site store i32 7383, ptr @lp_site %t509 = call ptr @lp_str_concat(ptr %t508, ptr @.str13403) store i32 0, ptr @lp_site call void @lp_free(ptr %t508) %t510 = load ptr, ptr %t506 store i32 7384, ptr @lp_site %t511 = call ptr @lp_str_concat(ptr %t509, ptr %t510) store i32 0, ptr @lp_site call void @lp_free(ptr %t509) %t512 = call ptr @fn_emit_bind(ptr %t511) store ptr %t512, ptr %t513 %t514 = load ptr, ptr %t490 store i32 7385, ptr @lp_site %t515 = call ptr @lp_str_concat(ptr @.str13404, ptr %t514) store i32 0, ptr @lp_site store i32 7386, ptr @lp_site %t516 = call ptr @lp_str_concat(ptr %t515, ptr @.str13405) store i32 0, ptr @lp_site call void @lp_free(ptr %t515) %t517 = load ptr, ptr %t513 store i32 7387, ptr @lp_site %t518 = call ptr @lp_str_concat(ptr %t516, ptr %t517) store i32 0, ptr @lp_site call void @lp_free(ptr %t516) %t519 = call ptr @fn_emit_bind(ptr %t518) store ptr %t519, ptr %t520 %t521 = load ptr, ptr %t520 store i32 7388, ptr @lp_site %t522 = call ptr @lp_str_concat(ptr @.str13406, ptr %t521) store i32 0, ptr @lp_site store i32 7389, ptr @lp_site %t523 = call ptr @lp_str_concat(ptr %t522, ptr @.str13407) store i32 0, ptr @lp_site call void @lp_free(ptr %t522) %t524 = call ptr @fn_emit_bind(ptr %t523) %t525 = call ptr @fn_val(ptr %t524, ptr @.str13408) store ptr %t525, ptr %retval br label %ret ifend36: %t526 = load ptr, ptr %t1 %t527 = getelementptr inbounds %Cmp_Node, ptr %t526, i32 0, i32 7 %t528 = load ptr, ptr %t527 %t529 = getelementptr inbounds %LSlice, ptr %t528, i32 0, i32 0 %t530 = load ptr, ptr %t529 %t531 = getelementptr inbounds %LSlice, ptr %t528, i32 0, i32 1 %t532 = load i32, ptr %t531 %t533 = icmp ult i32 0, %t532 br i1 %t533, label %ixok49, label %ixbad50 ixbad50: store i32 7390, ptr @lp_site %t534 = call ptr @lp_win_stdio(i32 2) store i32 0, ptr @lp_site call i32 (ptr, ptr, ...) @fprintf(ptr %t534, ptr @.fmt_bounds, ptr @.str13409, i32 0, i32 %t532) call void @exit(i32 1) unreachable ixok49: %t535 = getelementptr inbounds ptr, ptr %t530, i32 0 %t536 = load ptr, ptr %t535 %t537 = call ptr @fn_emit_expr(ptr %t536) store ptr %t537, ptr %t538 %t539 = load ptr, ptr %t1 %t540 = getelementptr inbounds %Cmp_Node, ptr %t539, i32 0, i32 7 %t541 = load ptr, ptr %t540 %t542 = getelementptr inbounds %LSlice, ptr %t541, i32 0, i32 0 %t543 = load ptr, ptr %t542 %t544 = getelementptr inbounds %LSlice, ptr %t541, i32 0, i32 1 %t545 = load i32, ptr %t544 %t546 = icmp ult i32 1, %t545 br i1 %t546, label %ixok51, label %ixbad52 ixbad52: store i32 7391, ptr @lp_site %t547 = call ptr @lp_win_stdio(i32 2) store i32 0, ptr @lp_site call i32 (ptr, ptr, ...) @fprintf(ptr %t547, ptr @.fmt_bounds, ptr @.str13410, i32 1, i32 %t545) call void @exit(i32 1) unreachable ixok51: %t548 = getelementptr inbounds ptr, ptr %t543, i32 1 %t549 = load ptr, ptr %t548 %t550 = call ptr @fn_emit_expr(ptr %t549) store ptr %t550, ptr %t551 %t552 = load ptr, ptr %t1 %t553 = getelementptr inbounds %Cmp_Node, ptr %t552, i32 0, i32 7 %t554 = load ptr, ptr %t553 %t555 = getelementptr inbounds %LSlice, ptr %t554, i32 0, i32 0 %t556 = load ptr, ptr %t555 %t557 = getelementptr inbounds %LSlice, ptr %t554, i32 0, i32 1 %t558 = load i32, ptr %t557 %t559 = icmp ult i32 2, %t558 br i1 %t559, label %ixok53, label %ixbad54 ixbad54: store i32 7392, ptr @lp_site %t560 = call ptr @lp_win_stdio(i32 2) store i32 0, ptr @lp_site call i32 (ptr, ptr, ...) @fprintf(ptr %t560, ptr @.fmt_bounds, ptr @.str13411, i32 2, i32 %t558) call void @exit(i32 1) unreachable ixok53: %t561 = getelementptr inbounds ptr, ptr %t556, i32 2 %t562 = load ptr, ptr %t561 %t563 = call ptr @fn_emit_expr(ptr %t562) store ptr %t563, ptr %t564 %t565 = load ptr, ptr %t1 %t566 = getelementptr inbounds %Cmp_Node, ptr %t565, i32 0, i32 7 %t567 = load ptr, ptr %t566 %t568 = getelementptr inbounds %LSlice, ptr %t567, i32 0, i32 0 %t569 = load ptr, ptr %t568 %t570 = getelementptr inbounds %LSlice, ptr %t567, i32 0, i32 1 %t571 = load i32, ptr %t570 %t572 = icmp ult i32 3, %t571 br i1 %t572, label %ixok55, label %ixbad56 ixbad56: store i32 7393, ptr @lp_site %t573 = call ptr @lp_win_stdio(i32 2) store i32 0, ptr @lp_site call i32 (ptr, ptr, ...) @fprintf(ptr %t573, ptr @.fmt_bounds, ptr @.str13412, i32 3, i32 %t571) call void @exit(i32 1) unreachable ixok55: %t574 = getelementptr inbounds ptr, ptr %t569, i32 3 %t575 = load ptr, ptr %t574 %t576 = call ptr @fn_emit_expr(ptr %t575) store ptr %t576, ptr %t577 %t578 = load ptr, ptr %t1 %t579 = getelementptr inbounds %Cmp_Node, ptr %t578, i32 0, i32 7 %t580 = load ptr, ptr %t579 %t581 = getelementptr inbounds %LSlice, ptr %t580, i32 0, i32 0 %t582 = load ptr, ptr %t581 %t583 = getelementptr inbounds %LSlice, ptr %t580, i32 0, i32 1 %t584 = load i32, ptr %t583 %t585 = icmp ult i32 4, %t584 br i1 %t585, label %ixok57, label %ixbad58 ixbad58: store i32 7394, ptr @lp_site %t586 = call ptr @lp_win_stdio(i32 2) store i32 0, ptr @lp_site call i32 (ptr, ptr, ...) @fprintf(ptr %t586, ptr @.fmt_bounds, ptr @.str13413, i32 4, i32 %t584) call void @exit(i32 1) unreachable ixok57: %t587 = getelementptr inbounds ptr, ptr %t582, i32 4 %t588 = load ptr, ptr %t587 %t589 = call ptr @fn_emit_expr(ptr %t588) store ptr %t589, ptr %t590 %t591 = load ptr, ptr %t1 %t592 = getelementptr inbounds %Cmp_Node, ptr %t591, i32 0, i32 7 %t593 = load ptr, ptr %t592 %t594 = getelementptr inbounds %LSlice, ptr %t593, i32 0, i32 0 %t595 = load ptr, ptr %t594 %t596 = getelementptr inbounds %LSlice, ptr %t593, i32 0, i32 1 %t597 = load i32, ptr %t596 %t598 = icmp ult i32 5, %t597 br i1 %t598, label %ixok59, label %ixbad60 ixbad60: store i32 7395, ptr @lp_site %t599 = call ptr @lp_win_stdio(i32 2) store i32 0, ptr @lp_site call i32 (ptr, ptr, ...) @fprintf(ptr %t599, ptr @.fmt_bounds, ptr @.str13414, i32 5, i32 %t597) call void @exit(i32 1) unreachable ixok59: %t600 = getelementptr inbounds ptr, ptr %t595, i32 5 %t601 = load ptr, ptr %t600 %t602 = call ptr @fn_emit_expr(ptr %t601) store ptr %t602, ptr %t603 %t604 = load ptr, ptr %t1 %t605 = getelementptr inbounds %Cmp_Node, ptr %t604, i32 0, i32 7 %t606 = load ptr, ptr %t605 %t607 = getelementptr inbounds %LSlice, ptr %t606, i32 0, i32 0 %t608 = load ptr, ptr %t607 %t609 = getelementptr inbounds %LSlice, ptr %t606, i32 0, i32 1 %t610 = load i32, ptr %t609 %t611 = icmp ult i32 6, %t610 br i1 %t611, label %ixok61, label %ixbad62 ixbad62: store i32 7396, ptr @lp_site %t612 = call ptr @lp_win_stdio(i32 2) store i32 0, ptr @lp_site call i32 (ptr, ptr, ...) @fprintf(ptr %t612, ptr @.fmt_bounds, ptr @.str13415, i32 6, i32 %t610) call void @exit(i32 1) unreachable ixok61: %t613 = getelementptr inbounds ptr, ptr %t608, i32 6 %t614 = load ptr, ptr %t613 %t615 = call ptr @fn_emit_expr(ptr %t614) store ptr %t615, ptr %t616 %t617 = load ptr, ptr %t538 %t618 = getelementptr inbounds %Cmp_Val, ptr %t617, i32 0, i32 0 %t619 = load ptr, ptr %t618 store i32 7397, ptr @lp_site %t620 = call ptr @lp_str_concat(ptr @.str13416, ptr %t619) store i32 0, ptr @lp_site store i32 7398, ptr @lp_site %t621 = call ptr @lp_str_concat(ptr %t620, ptr @.str13417) store i32 0, ptr @lp_site call void @lp_free(ptr %t620) %t622 = load ptr, ptr %t564 %t623 = getelementptr inbounds %Cmp_Val, ptr %t622, i32 0, i32 0 %t624 = load ptr, ptr %t623 store i32 7399, ptr @lp_site %t625 = call ptr @lp_str_concat(ptr %t621, ptr %t624) store i32 0, ptr @lp_site call void @lp_free(ptr %t621) %t626 = call ptr @fn_emit_bind(ptr %t625) store ptr %t626, ptr %t627 %t628 = load ptr, ptr %t551 %t629 = getelementptr inbounds %Cmp_Val, ptr %t628, i32 0, i32 0 %t630 = load ptr, ptr %t629 store i32 7400, ptr @lp_site %t631 = call ptr @lp_str_concat(ptr @.str13418, ptr %t630) store i32 0, ptr @lp_site store i32 7401, ptr @lp_site %t632 = call ptr @lp_str_concat(ptr %t631, ptr @.str13419) store i32 0, ptr @lp_site call void @lp_free(ptr %t631) %t633 = load ptr, ptr %t577 %t634 = getelementptr inbounds %Cmp_Val, ptr %t633, i32 0, i32 0 %t635 = load ptr, ptr %t634 store i32 7402, ptr @lp_site %t636 = call ptr @lp_str_concat(ptr %t632, ptr %t635) store i32 0, ptr @lp_site call void @lp_free(ptr %t632) %t637 = call ptr @fn_emit_bind(ptr %t636) store ptr %t637, ptr %t638 %t639 = load ptr, ptr %t590 %t640 = getelementptr inbounds %Cmp_Val, ptr %t639, i32 0, i32 0 %t641 = load ptr, ptr %t640 %t642 = load ptr, ptr %t538 %t643 = getelementptr inbounds %Cmp_Val, ptr %t642, i32 0, i32 0 %t644 = load ptr, ptr %t643 %t645 = load ptr, ptr %t627 %t646 = call ptr @fn_coll_clamp(ptr %t641, ptr %t644, ptr %t645) store ptr %t646, ptr %t647 %t648 = load ptr, ptr %t603 %t649 = getelementptr inbounds %Cmp_Val, ptr %t648, i32 0, i32 0 %t650 = load ptr, ptr %t649 %t651 = load ptr, ptr %t551 %t652 = getelementptr inbounds %Cmp_Val, ptr %t651, i32 0, i32 0 %t653 = load ptr, ptr %t652 %t654 = load ptr, ptr %t638 %t655 = call ptr @fn_coll_clamp(ptr %t650, ptr %t653, ptr %t654) store ptr %t655, ptr %t656 %t657 = load ptr, ptr %t590 %t658 = getelementptr inbounds %Cmp_Val, ptr %t657, i32 0, i32 0 %t659 = load ptr, ptr %t658 store i32 7403, ptr @lp_site %t660 = call ptr @lp_str_concat(ptr @.str13420, ptr %t659) store i32 0, ptr @lp_site store i32 7404, ptr @lp_site %t661 = call ptr @lp_str_concat(ptr %t660, ptr @.str13421) store i32 0, ptr @lp_site call void @lp_free(ptr %t660) %t662 = load ptr, ptr %t647 store i32 7405, ptr @lp_site %t663 = call ptr @lp_str_concat(ptr %t661, ptr %t662) store i32 0, ptr @lp_site call void @lp_free(ptr %t661) %t664 = call ptr @fn_emit_bind(ptr %t663) store ptr %t664, ptr %t665 %t666 = load ptr, ptr %t603 %t667 = getelementptr inbounds %Cmp_Val, ptr %t666, i32 0, i32 0 %t668 = load ptr, ptr %t667 store i32 7406, ptr @lp_site %t669 = call ptr @lp_str_concat(ptr @.str13422, ptr %t668) store i32 0, ptr @lp_site store i32 7407, ptr @lp_site %t670 = call ptr @lp_str_concat(ptr %t669, ptr @.str13423) store i32 0, ptr @lp_site call void @lp_free(ptr %t669) %t671 = load ptr, ptr %t656 store i32 7408, ptr @lp_site %t672 = call ptr @lp_str_concat(ptr %t670, ptr %t671) store i32 0, ptr @lp_site call void @lp_free(ptr %t670) %t673 = call ptr @fn_emit_bind(ptr %t672) store ptr %t673, ptr %t674 %t675 = load ptr, ptr %t665 %t676 = load ptr, ptr %t674 %t677 = call ptr @fn_coll_sq_sum(ptr %t675, ptr %t676) store ptr %t677, ptr %t678 %t679 = load ptr, ptr %t616 %t680 = getelementptr inbounds %Cmp_Val, ptr %t679, i32 0, i32 0 %t681 = load ptr, ptr %t680 store i32 7409, ptr @lp_site %t682 = call ptr @lp_str_concat(ptr @.str13424, ptr %t681) store i32 0, ptr @lp_site store i32 7410, ptr @lp_site %t683 = call ptr @lp_str_concat(ptr %t682, ptr @.str13425) store i32 0, ptr @lp_site call void @lp_free(ptr %t682) %t684 = call ptr @fn_emit_bind(ptr %t683) store ptr %t684, ptr %t685 %t686 = load ptr, ptr %t685 store i32 7411, ptr @lp_site %t687 = call ptr @lp_str_concat(ptr @.str13426, ptr %t686) store i32 0, ptr @lp_site store i32 7412, ptr @lp_site %t688 = call ptr @lp_str_concat(ptr %t687, ptr @.str13427) store i32 0, ptr @lp_site call void @lp_free(ptr %t687) %t689 = load ptr, ptr %t685 store i32 7413, ptr @lp_site %t690 = call ptr @lp_str_concat(ptr %t688, ptr %t689) store i32 0, ptr @lp_site call void @lp_free(ptr %t688) %t691 = call ptr @fn_emit_bind(ptr %t690) store ptr %t691, ptr %t692 %t693 = load ptr, ptr %t678 store i32 7414, ptr @lp_site %t694 = call ptr @lp_str_concat(ptr @.str13428, ptr %t693) store i32 0, ptr @lp_site store i32 7415, ptr @lp_site %t695 = call ptr @lp_str_concat(ptr %t694, ptr @.str13429) store i32 0, ptr @lp_site call void @lp_free(ptr %t694) %t696 = load ptr, ptr %t692 store i32 7416, ptr @lp_site %t697 = call ptr @lp_str_concat(ptr %t695, ptr %t696) store i32 0, ptr @lp_site call void @lp_free(ptr %t695) %t698 = call ptr @fn_emit_bind(ptr %t697) store ptr %t698, ptr %t699 %t700 = load ptr, ptr %t699 store i32 7417, ptr @lp_site %t701 = call ptr @lp_str_concat(ptr @.str13430, ptr %t700) store i32 0, ptr @lp_site store i32 7418, ptr @lp_site %t702 = call ptr @lp_str_concat(ptr %t701, ptr @.str13431) store i32 0, ptr @lp_site call void @lp_free(ptr %t701) %t703 = call ptr @fn_emit_bind(ptr %t702) %t704 = call ptr @fn_val(ptr %t703, ptr @.str13432) store ptr %t704, ptr %retval br label %ret ret: %t705 = load ptr, ptr %retval ret ptr %t705 } 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 @.str13433) %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 @.str13434) %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 @.str13435) %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 @.str13436) %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 @.str13437) %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 @.str13438) %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 %t17 = alloca ptr %t24 = alloca ptr %t45 = alloca ptr %t52 = alloca ptr %t57 = alloca ptr %t75 = alloca ptr %t88 = alloca ptr %t101 = alloca ptr %t108 = alloca ptr %t132 = alloca ptr %t145 = alloca ptr %t158 = alloca ptr %t165 = alloca ptr %t189 = alloca ptr %t202 = alloca ptr %t213 = alloca ptr %t217 = alloca ptr %t235 = alloca ptr %t248 = alloca ptr %t261 = alloca ptr %t272 = alloca ptr %t279 = 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 @.str13439) %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 %LSlice, ptr %t7, i32 0, i32 1 %t11 = load i32, ptr %t10 %t12 = icmp ult i32 0, %t11 br i1 %t12, label %ixok3, label %ixbad4 ixbad4: store i32 7419, ptr @lp_site %t13 = call ptr @lp_win_stdio(i32 2) store i32 0, ptr @lp_site call i32 (ptr, ptr, ...) @fprintf(ptr %t13, ptr @.fmt_bounds, ptr @.str13440, i32 0, i32 %t11) call void @exit(i32 1) unreachable ixok3: %t14 = getelementptr inbounds ptr, ptr %t9, 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 0 %t20 = load ptr, ptr %t19 store i32 7420, ptr @lp_site %t21 = call ptr @lp_str_concat(ptr @.str13442, ptr %t20) store i32 0, ptr @lp_site store i32 7421, ptr @lp_site %t22 = call ptr @lp_str_concat(ptr %t21, ptr @.str13443) store i32 0, ptr @lp_site call void @lp_free(ptr %t21) %t23 = call ptr @fn_emit_bind(ptr %t22) store ptr %t23, ptr %t24 %t25 = load ptr, ptr %t24 store i32 7422, ptr @lp_site %t26 = call ptr @lp_str_concat(ptr @.str13444, ptr %t25) store i32 0, ptr @lp_site store i32 7423, ptr @lp_site %t27 = call ptr @lp_str_concat(ptr %t26, ptr @.str13445) store i32 0, ptr @lp_site call void @lp_free(ptr %t26) %t28 = call ptr @fn_emit_bind(ptr %t27) %t29 = call ptr @fn_val(ptr %t28, ptr @.str13446) store ptr %t29, ptr %retval br label %ret ifend2: %t30 = load ptr, ptr %t0 %t31 = call i32 @lp_str_eq(ptr %t30, ptr @.str13447) %t32 = icmp ne i32 %t31, 0 br i1 %t32, label %then5, label %ifend7 then5: %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 %LSlice, ptr %t35, i32 0, i32 1 %t39 = load i32, ptr %t38 %t40 = icmp ult i32 0, %t39 br i1 %t40, label %ixok8, label %ixbad9 ixbad9: store i32 7424, ptr @lp_site %t41 = call ptr @lp_win_stdio(i32 2) store i32 0, ptr @lp_site call i32 (ptr, ptr, ...) @fprintf(ptr %t41, ptr @.fmt_bounds, ptr @.str13448, i32 0, i32 %t39) call void @exit(i32 1) unreachable ixok8: %t42 = getelementptr inbounds ptr, ptr %t37, i32 0 %t43 = load ptr, ptr %t42 %t44 = call ptr @fn_emit_expr(ptr %t43) store ptr %t44, ptr %t45 %t46 = load ptr, ptr %t45 %t47 = getelementptr inbounds %Cmp_Val, ptr %t46, i32 0, i32 0 %t48 = load ptr, ptr %t47 store i32 7425, ptr @lp_site %t49 = call ptr @lp_str_concat(ptr @.str13449, ptr %t48) store i32 0, ptr @lp_site store i32 7426, ptr @lp_site %t50 = call ptr @lp_str_concat(ptr %t49, ptr @.str13450) store i32 0, ptr @lp_site call void @lp_free(ptr %t49) %t51 = call ptr @fn_emit_bind(ptr %t50) store ptr %t51, ptr %t52 %t53 = load ptr, ptr %t52 store i32 7427, ptr @lp_site %t54 = call ptr @lp_str_concat(ptr @.str13451, ptr %t53) store i32 0, ptr @lp_site store i32 7428, ptr @lp_site %t55 = call ptr @lp_str_concat(ptr %t54, ptr @.str13452) store i32 0, ptr @lp_site call void @lp_free(ptr %t54) %t56 = call ptr @fn_emit_bind(ptr %t55) store ptr %t56, ptr %t57 %t58 = load ptr, ptr %t45 %t59 = call ptr @fn_emit_sized_slice(ptr @.str13453, ptr %t58) store ptr %t59, ptr %retval br label %ret ifend7: %t60 = load ptr, ptr %t0 %t61 = call i32 @lp_str_eq(ptr %t60, ptr @.str13454) %t62 = icmp ne i32 %t61, 0 br i1 %t62, label %then10, label %ifend12 then10: %t63 = load ptr, ptr %t1 %t64 = getelementptr inbounds %Cmp_Node, ptr %t63, i32 0, i32 7 %t65 = load ptr, ptr %t64 %t66 = getelementptr inbounds %LSlice, ptr %t65, i32 0, i32 0 %t67 = load ptr, ptr %t66 %t68 = getelementptr inbounds %LSlice, ptr %t65, i32 0, i32 1 %t69 = load i32, ptr %t68 %t70 = icmp ult i32 0, %t69 br i1 %t70, label %ixok13, label %ixbad14 ixbad14: store i32 7429, ptr @lp_site %t71 = call ptr @lp_win_stdio(i32 2) store i32 0, ptr @lp_site call i32 (ptr, ptr, ...) @fprintf(ptr %t71, ptr @.fmt_bounds, ptr @.str13455, i32 0, i32 %t69) call void @exit(i32 1) unreachable ixok13: %t72 = getelementptr inbounds ptr, ptr %t67, i32 0 %t73 = load ptr, ptr %t72 %t74 = call ptr @fn_raw_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 %LSlice, ptr %t78, i32 0, i32 1 %t82 = load i32, ptr %t81 %t83 = icmp ult i32 1, %t82 br i1 %t83, label %ixok15, label %ixbad16 ixbad16: store i32 7430, ptr @lp_site %t84 = call ptr @lp_win_stdio(i32 2) store i32 0, ptr @lp_site call i32 (ptr, ptr, ...) @fprintf(ptr %t84, ptr @.fmt_bounds, ptr @.str13456, i32 1, i32 %t82) call void @exit(i32 1) unreachable ixok15: %t85 = getelementptr inbounds ptr, ptr %t80, i32 1 %t86 = load ptr, ptr %t85 %t87 = call ptr @fn_raw_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 %LSlice, ptr %t91, i32 0, i32 1 %t95 = load i32, ptr %t94 %t96 = icmp ult i32 2, %t95 br i1 %t96, label %ixok17, label %ixbad18 ixbad18: store i32 7431, ptr @lp_site %t97 = call ptr @lp_win_stdio(i32 2) store i32 0, ptr @lp_site call i32 (ptr, ptr, ...) @fprintf(ptr %t97, ptr @.fmt_bounds, ptr @.str13457, i32 2, i32 %t95) call void @exit(i32 1) unreachable ixok17: %t98 = getelementptr inbounds ptr, ptr %t93, i32 2 %t99 = load ptr, ptr %t98 %t100 = call ptr @fn_emit_expr(ptr %t99) store ptr %t100, ptr %t101 %t102 = load ptr, ptr %t101 %t103 = getelementptr inbounds %Cmp_Val, ptr %t102, i32 0, i32 0 %t104 = load ptr, ptr %t103 store i32 7432, ptr @lp_site %t105 = call ptr @lp_str_concat(ptr @.str13458, ptr %t104) store i32 0, ptr @lp_site store i32 7433, ptr @lp_site %t106 = call ptr @lp_str_concat(ptr %t105, ptr @.str13459) store i32 0, ptr @lp_site call void @lp_free(ptr %t105) %t107 = call ptr @fn_emit_bind(ptr %t106) store ptr %t107, ptr %t108 call void @fn_emit(ptr @.str13460) %t109 = load ptr, ptr %t75 %t110 = getelementptr inbounds %Cmp_Val, ptr %t109, i32 0, i32 0 %t111 = load ptr, ptr %t110 call void @fn_emit(ptr %t111) call void @fn_emit(ptr @.str13461) %t112 = load ptr, ptr %t88 %t113 = getelementptr inbounds %Cmp_Val, ptr %t112, i32 0, i32 0 %t114 = load ptr, ptr %t113 call void @fn_emit(ptr %t114) call void @fn_emit(ptr @.str13462) %t115 = load ptr, ptr %t108 call void @fn_emit(ptr %t115) call void @fn_emit(ptr @.str13463) %t116 = call ptr @fn_val(ptr @.str13464, ptr @.str13465) store ptr %t116, ptr %retval br label %ret ifend12: %t117 = load ptr, ptr %t0 %t118 = call i32 @lp_str_eq(ptr %t117, ptr @.str13466) %t119 = icmp ne i32 %t118, 0 br i1 %t119, label %then19, label %ifend21 then19: %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 %LSlice, ptr %t122, i32 0, i32 1 %t126 = load i32, ptr %t125 %t127 = icmp ult i32 0, %t126 br i1 %t127, label %ixok22, label %ixbad23 ixbad23: store i32 7434, ptr @lp_site %t128 = call ptr @lp_win_stdio(i32 2) store i32 0, ptr @lp_site call i32 (ptr, ptr, ...) @fprintf(ptr %t128, ptr @.fmt_bounds, ptr @.str13467, i32 0, i32 %t126) call void @exit(i32 1) unreachable ixok22: %t129 = getelementptr inbounds ptr, ptr %t124, i32 0 %t130 = load ptr, ptr %t129 %t131 = call ptr @fn_raw_expr(ptr %t130) store ptr %t131, ptr %t132 %t133 = load ptr, ptr %t1 %t134 = getelementptr inbounds %Cmp_Node, ptr %t133, i32 0, i32 7 %t135 = load ptr, ptr %t134 %t136 = getelementptr inbounds %LSlice, ptr %t135, i32 0, i32 0 %t137 = load ptr, ptr %t136 %t138 = getelementptr inbounds %LSlice, ptr %t135, i32 0, i32 1 %t139 = load i32, ptr %t138 %t140 = icmp ult i32 1, %t139 br i1 %t140, label %ixok24, label %ixbad25 ixbad25: store i32 7435, ptr @lp_site %t141 = call ptr @lp_win_stdio(i32 2) store i32 0, ptr @lp_site call i32 (ptr, ptr, ...) @fprintf(ptr %t141, ptr @.fmt_bounds, ptr @.str13468, i32 1, i32 %t139) call void @exit(i32 1) unreachable ixok24: %t142 = getelementptr inbounds ptr, ptr %t137, i32 1 %t143 = load ptr, ptr %t142 %t144 = call ptr @fn_emit_expr(ptr %t143) store ptr %t144, ptr %t145 %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 %LSlice, ptr %t148, i32 0, i32 1 %t152 = load i32, ptr %t151 %t153 = icmp ult i32 2, %t152 br i1 %t153, label %ixok26, label %ixbad27 ixbad27: store i32 7436, ptr @lp_site %t154 = call ptr @lp_win_stdio(i32 2) store i32 0, ptr @lp_site call i32 (ptr, ptr, ...) @fprintf(ptr %t154, ptr @.fmt_bounds, ptr @.str13469, i32 2, i32 %t152) call void @exit(i32 1) unreachable ixok26: %t155 = getelementptr inbounds ptr, ptr %t150, 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 store i32 7437, ptr @lp_site %t162 = call ptr @lp_str_concat(ptr @.str13470, ptr %t161) store i32 0, ptr @lp_site store i32 7438, ptr @lp_site %t163 = call ptr @lp_str_concat(ptr %t162, ptr @.str13471) store i32 0, ptr @lp_site call void @lp_free(ptr %t162) %t164 = call ptr @fn_emit_bind(ptr %t163) store ptr %t164, ptr %t165 call void @fn_emit(ptr @.str13472) %t166 = load ptr, ptr %t132 %t167 = getelementptr inbounds %Cmp_Val, ptr %t166, i32 0, i32 0 %t168 = load ptr, ptr %t167 call void @fn_emit(ptr %t168) call void @fn_emit(ptr @.str13473) %t169 = load ptr, ptr %t145 %t170 = getelementptr inbounds %Cmp_Val, ptr %t169, i32 0, i32 0 %t171 = load ptr, ptr %t170 call void @fn_emit(ptr %t171) call void @fn_emit(ptr @.str13474) %t172 = load ptr, ptr %t165 call void @fn_emit(ptr %t172) call void @fn_emit(ptr @.str13475) %t173 = call ptr @fn_val(ptr @.str13476, ptr @.str13477) store ptr %t173, ptr %retval br label %ret ifend21: %t174 = load ptr, ptr %t0 %t175 = call i32 @lp_str_eq(ptr %t174, ptr @.str13478) %t176 = icmp ne i32 %t175, 0 br i1 %t176, label %then28, label %ifend30 then28: %t177 = load ptr, ptr %t1 %t178 = getelementptr inbounds %Cmp_Node, ptr %t177, i32 0, i32 7 %t179 = load ptr, ptr %t178 %t180 = getelementptr inbounds %LSlice, ptr %t179, i32 0, i32 0 %t181 = load ptr, ptr %t180 %t182 = getelementptr inbounds %LSlice, ptr %t179, i32 0, i32 1 %t183 = load i32, ptr %t182 %t184 = icmp ult i32 0, %t183 br i1 %t184, label %ixok31, label %ixbad32 ixbad32: store i32 7439, ptr @lp_site %t185 = call ptr @lp_win_stdio(i32 2) store i32 0, ptr @lp_site call i32 (ptr, ptr, ...) @fprintf(ptr %t185, ptr @.fmt_bounds, ptr @.str13479, i32 0, i32 %t183) call void @exit(i32 1) unreachable ixok31: %t186 = getelementptr inbounds ptr, ptr %t181, i32 0 %t187 = load ptr, ptr %t186 %t188 = call ptr @fn_raw_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 %LSlice, ptr %t192, i32 0, i32 1 %t196 = load i32, ptr %t195 %t197 = icmp ult i32 1, %t196 br i1 %t197, label %ixok33, label %ixbad34 ixbad34: store i32 7440, ptr @lp_site %t198 = call ptr @lp_win_stdio(i32 2) store i32 0, ptr @lp_site call i32 (ptr, ptr, ...) @fprintf(ptr %t198, ptr @.fmt_bounds, ptr @.str13480, i32 1, i32 %t196) call void @exit(i32 1) unreachable ixok33: %t199 = getelementptr inbounds ptr, ptr %t194, i32 1 %t200 = load ptr, ptr %t199 %t201 = call ptr @fn_emit_expr(ptr %t200) store ptr %t201, ptr %t202 %t203 = load ptr, ptr %t189 %t204 = getelementptr inbounds %Cmp_Val, ptr %t203, i32 0, i32 0 %t205 = load ptr, ptr %t204 store i32 7441, ptr @lp_site %t206 = call ptr @lp_str_concat(ptr @.str13481, ptr %t205) store i32 0, ptr @lp_site store i32 7442, ptr @lp_site %t207 = call ptr @lp_str_concat(ptr %t206, ptr @.str13482) store i32 0, ptr @lp_site call void @lp_free(ptr %t206) %t208 = load ptr, ptr %t202 %t209 = getelementptr inbounds %Cmp_Val, ptr %t208, i32 0, i32 0 %t210 = load ptr, ptr %t209 store i32 7443, ptr @lp_site %t211 = call ptr @lp_str_concat(ptr %t207, ptr %t210) store i32 0, ptr @lp_site call void @lp_free(ptr %t207) %t212 = call ptr @fn_emit_bind(ptr %t211) store ptr %t212, ptr %t213 %t214 = load ptr, ptr %t213 store i32 7444, ptr @lp_site %t215 = call ptr @lp_str_concat(ptr @.str13483, ptr %t214) store i32 0, ptr @lp_site %t216 = call ptr @fn_emit_bind(ptr %t215) store ptr %t216, ptr %t217 %t218 = load ptr, ptr %t217 store i32 7445, ptr @lp_site %t219 = call ptr @lp_str_concat(ptr @.str13484, ptr %t218) store i32 0, ptr @lp_site store i32 7446, ptr @lp_site %t220 = call ptr @lp_str_concat(ptr %t219, ptr @.str13485) store i32 0, ptr @lp_site call void @lp_free(ptr %t219) %t221 = call ptr @fn_emit_bind(ptr %t220) %t222 = call ptr @fn_val(ptr %t221, ptr @.str13486) store ptr %t222, ptr %retval br label %ret ifend30: %t223 = load ptr, ptr %t1 %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 0 %t227 = load ptr, ptr %t226 %t228 = getelementptr inbounds %LSlice, ptr %t225, i32 0, i32 1 %t229 = load i32, ptr %t228 %t230 = icmp ult i32 0, %t229 br i1 %t230, label %ixok35, label %ixbad36 ixbad36: store i32 7447, ptr @lp_site %t231 = call ptr @lp_win_stdio(i32 2) store i32 0, ptr @lp_site call i32 (ptr, ptr, ...) @fprintf(ptr %t231, ptr @.fmt_bounds, ptr @.str13487, i32 0, i32 %t229) call void @exit(i32 1) unreachable ixok35: %t232 = getelementptr inbounds ptr, ptr %t227, i32 0 %t233 = load ptr, ptr %t232 %t234 = call ptr @fn_raw_expr(ptr %t233) store ptr %t234, ptr %t235 %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 %LSlice, ptr %t238, i32 0, i32 1 %t242 = load i32, ptr %t241 %t243 = icmp ult i32 1, %t242 br i1 %t243, label %ixok37, label %ixbad38 ixbad38: store i32 7448, ptr @lp_site %t244 = call ptr @lp_win_stdio(i32 2) store i32 0, ptr @lp_site call i32 (ptr, ptr, ...) @fprintf(ptr %t244, ptr @.fmt_bounds, ptr @.str13488, i32 1, i32 %t242) call void @exit(i32 1) unreachable ixok37: %t245 = getelementptr inbounds ptr, ptr %t240, 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 %LSlice, ptr %t251, i32 0, i32 1 %t255 = load i32, ptr %t254 %t256 = icmp ult i32 2, %t255 br i1 %t256, label %ixok39, label %ixbad40 ixbad40: store i32 7449, ptr @lp_site %t257 = call ptr @lp_win_stdio(i32 2) store i32 0, ptr @lp_site call i32 (ptr, ptr, ...) @fprintf(ptr %t257, ptr @.fmt_bounds, ptr @.str13489, i32 2, i32 %t255) call void @exit(i32 1) unreachable ixok39: %t258 = getelementptr inbounds ptr, ptr %t253, i32 2 %t259 = load ptr, ptr %t258 %t260 = call ptr @fn_emit_expr(ptr %t259) store ptr %t260, ptr %t261 %t262 = load ptr, ptr %t235 %t263 = getelementptr inbounds %Cmp_Val, ptr %t262, i32 0, i32 0 %t264 = load ptr, ptr %t263 store i32 7450, ptr @lp_site %t265 = call ptr @lp_str_concat(ptr @.str13490, ptr %t264) store i32 0, ptr @lp_site store i32 7451, ptr @lp_site %t266 = call ptr @lp_str_concat(ptr %t265, ptr @.str13491) store i32 0, ptr @lp_site call void @lp_free(ptr %t265) %t267 = load ptr, ptr %t248 %t268 = getelementptr inbounds %Cmp_Val, ptr %t267, i32 0, i32 0 %t269 = load ptr, ptr %t268 store i32 7452, ptr @lp_site %t270 = call ptr @lp_str_concat(ptr %t266, ptr %t269) store i32 0, ptr @lp_site call void @lp_free(ptr %t266) %t271 = call ptr @fn_emit_bind(ptr %t270) store ptr %t271, ptr %t272 %t273 = load ptr, ptr %t261 %t274 = getelementptr inbounds %Cmp_Val, ptr %t273, i32 0, i32 0 %t275 = load ptr, ptr %t274 store i32 7453, ptr @lp_site %t276 = call ptr @lp_str_concat(ptr @.str13492, ptr %t275) store i32 0, ptr @lp_site store i32 7454, ptr @lp_site %t277 = call ptr @lp_str_concat(ptr %t276, ptr @.str13493) store i32 0, ptr @lp_site call void @lp_free(ptr %t276) %t278 = call ptr @fn_emit_bind(ptr %t277) store ptr %t278, ptr %t279 call void @fn_emit(ptr @.str13494) %t280 = load ptr, ptr %t279 call void @fn_emit(ptr %t280) call void @fn_emit(ptr @.str13495) %t281 = load ptr, ptr %t272 call void @fn_emit(ptr %t281) call void @fn_emit(ptr @.str13496) %t282 = call ptr @fn_val(ptr @.str13497, ptr @.str13498) store ptr %t282, ptr %retval br label %ret ret: %t283 = load ptr, ptr %retval ret ptr %t283 } 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 @.str13499) %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 @.str13500) %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 @.str13501) %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 @.str13502) %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 @.str13503) %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 %t36 = alloca ptr %t38 = alloca ptr %t43 = alloca ptr %t54 = 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 @.str13504) %t4 = icmp ne i32 %t3, 0 br i1 %t4, label %then0, label %ifend2 then0: %t5 = call ptr @fn_emit_bind(ptr @.str13505) %t6 = call ptr @fn_val(ptr %t5, ptr @.str13506) store ptr %t6, ptr %retval br label %ret ifend2: %t7 = load ptr, ptr %t0 %t8 = call i32 @lp_str_eq(ptr %t7, ptr @.str13507) %t9 = icmp ne i32 %t8, 0 br i1 %t9, label %then3, label %ifend5 then3: %t10 = call ptr @fn_val(ptr @.str13508, ptr @.str13509) store ptr %t10, ptr %retval br label %ret ifend5: %t11 = load ptr, ptr %t0 %t12 = call i32 @lp_str_eq(ptr %t11, ptr @.str13510) %t13 = icmp ne i32 %t12, 0 br i1 %t13, label %then6, label %ifend8 then6: %t14 = call ptr @fn_emit_bind(ptr @.str13511) store ptr %t14, ptr %t15 %t16 = load ptr, ptr %t15 store i32 7455, ptr @lp_site %t17 = call ptr @lp_str_concat(ptr @.str13512, ptr %t16) store i32 0, ptr @lp_site store i32 7456, ptr @lp_site %t18 = call ptr @lp_str_concat(ptr %t17, ptr @.str13514) store i32 0, ptr @lp_site call void @lp_free(ptr %t17) %t19 = call ptr @fn_emit_bind(ptr %t18) %t20 = call ptr @fn_val(ptr %t19, ptr @.str13515) store ptr %t20, ptr %retval br label %ret ifend8: %t21 = load ptr, ptr %t0 %t22 = call i32 @lp_str_eq(ptr %t21, ptr @.str13516) %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 %LSlice, ptr %t26, i32 0, i32 1 %t30 = load i32, ptr %t29 %t31 = icmp ult i32 0, %t30 br i1 %t31, label %ixok12, label %ixbad13 ixbad13: store i32 7457, ptr @lp_site %t32 = call ptr @lp_win_stdio(i32 2) store i32 0, ptr @lp_site call i32 (ptr, ptr, ...) @fprintf(ptr %t32, ptr @.fmt_bounds, ptr @.str13517, i32 0, i32 %t30) call void @exit(i32 1) unreachable ixok12: %t33 = getelementptr inbounds ptr, ptr %t28, i32 0 %t34 = load ptr, ptr %t33 %t35 = call ptr @fn_emit_expr(ptr %t34) store ptr %t35, ptr %t36 %t37 = call ptr @fn_emit_bind(ptr @.str13518) store ptr %t37, ptr %t38 %t39 = load ptr, ptr %t38 store i32 7458, ptr @lp_site %t40 = call ptr @lp_str_concat(ptr @.str13519, ptr %t39) store i32 0, ptr @lp_site store i32 7459, ptr @lp_site %t41 = call ptr @lp_str_concat(ptr %t40, ptr @.str13520) store i32 0, ptr @lp_site call void @lp_free(ptr %t40) %t42 = call ptr @fn_emit_bind(ptr %t41) store ptr %t42, ptr %t43 %t44 = load ptr, ptr %t43 store i32 7460, ptr @lp_site %t45 = call ptr @lp_str_concat(ptr @.str13521, ptr %t44) store i32 0, ptr @lp_site store i32 7461, ptr @lp_site %t46 = call ptr @lp_str_concat(ptr %t45, ptr @.str13522) store i32 0, ptr @lp_site call void @lp_free(ptr %t45) %t47 = load ptr, ptr %t36 %t48 = getelementptr inbounds %Cmp_Val, ptr %t47, i32 0, i32 0 %t49 = load ptr, ptr %t48 store i32 7462, ptr @lp_site %t50 = call ptr @lp_str_concat(ptr %t46, ptr %t49) store i32 0, ptr @lp_site call void @lp_free(ptr %t46) %t51 = call ptr @fn_emit_bind(ptr %t50) %t52 = call ptr @fn_val(ptr %t51, ptr @.str13523) store ptr %t52, ptr %retval br label %ret ifend11: %t53 = call ptr @fn_emit_bind(ptr @.str13524) store ptr %t53, ptr %t54 %t55 = load ptr, ptr %t54 store i32 7463, ptr @lp_site %t56 = call ptr @lp_str_concat(ptr @.str13525, ptr %t55) store i32 0, ptr @lp_site store i32 7464, ptr @lp_site %t57 = call ptr @lp_str_concat(ptr %t56, ptr @.str13526) store i32 0, ptr @lp_site call void @lp_free(ptr %t56) %t58 = call ptr @fn_emit_bind(ptr %t57) %t59 = call ptr @fn_val(ptr %t58, ptr @.str13527) store ptr %t59, ptr %retval br label %ret ret: %t60 = load ptr, ptr %retval ret ptr %t60 } 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 @.str13528) %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 @.str13529) %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 @.str13530) %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 @.str13531) %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 @.str13532) %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 @.str13533) %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 @.str13534) %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 @.str13535) %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 %t14 = 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 %LSlice, ptr %t4, i32 0, i32 1 %t8 = load i32, ptr %t7 %t9 = icmp ult i32 0, %t8 br i1 %t9, label %ixok0, label %ixbad1 ixbad1: store i32 7465, ptr @lp_site %t10 = call ptr @lp_win_stdio(i32 2) store i32 0, ptr @lp_site call i32 (ptr, ptr, ...) @fprintf(ptr %t10, ptr @.fmt_bounds, ptr @.str13536, i32 0, i32 %t8) call void @exit(i32 1) unreachable ixok0: %t11 = getelementptr inbounds ptr, ptr %t6, i32 0 %t12 = load ptr, ptr %t11 %t13 = call ptr @fn_emit_expr(ptr %t12) store ptr %t13, ptr %t14 %t15 = load ptr, ptr %t0 %t16 = call i32 @lp_str_eq(ptr %t15, ptr @.str13538) %t17 = icmp ne i32 %t16, 0 br i1 %t17, label %then2, label %ifend4 then2: %t18 = load ptr, ptr %t14 %t19 = getelementptr inbounds %Cmp_Val, ptr %t18, i32 0, i32 0 %t20 = load ptr, ptr %t19 %t21 = call ptr @fn_val(ptr %t20, ptr @.str13539) store ptr %t21, ptr %retval br label %ret ifend4: %t22 = load ptr, ptr %t0 %t23 = call i32 @lp_str_eq(ptr %t22, ptr @.str13540) %t24 = icmp ne i32 %t23, 0 br i1 %t24, label %then5, label %ifend7 then5: %t25 = load ptr, ptr %t14 %t26 = getelementptr inbounds %Cmp_Val, ptr %t25, i32 0, i32 0 %t27 = load ptr, ptr %t26 store i32 7466, ptr @lp_site %t28 = call ptr @lp_str_concat(ptr @.str13541, ptr %t27) store i32 0, ptr @lp_site store i32 7467, ptr @lp_site %t29 = call ptr @lp_str_concat(ptr %t28, ptr @.str13542) store i32 0, ptr @lp_site call void @lp_free(ptr %t28) %t30 = call ptr @fn_emit_bind(ptr %t29) %t31 = call ptr @fn_val(ptr %t30, ptr @.str13543) store ptr %t31, ptr %retval br label %ret ifend7: %t32 = load ptr, ptr %t0 %t33 = call i32 @lp_str_eq(ptr %t32, ptr @.str13544) %t34 = icmp ne i32 %t33, 0 br i1 %t34, label %then8, label %ifend10 then8: %t35 = load ptr, ptr %t14 %t36 = getelementptr inbounds %Cmp_Val, ptr %t35, i32 0, i32 0 %t37 = load ptr, ptr %t36 store i32 7468, ptr @lp_site %t38 = call ptr @lp_str_concat(ptr @.str13545, ptr %t37) store i32 0, ptr @lp_site store i32 7469, ptr @lp_site %t39 = call ptr @lp_str_concat(ptr %t38, ptr @.str13546) store i32 0, ptr @lp_site call void @lp_free(ptr %t38) %t40 = call ptr @fn_emit_bind(ptr %t39) %t41 = call ptr @fn_val(ptr %t40, ptr @.str13547) store ptr %t41, ptr %retval br label %ret ifend10: %t42 = load ptr, ptr %t0 %t43 = call i32 @lp_str_eq(ptr %t42, ptr @.str13548) %t44 = icmp ne i32 %t43, 0 br i1 %t44, label %then11, label %ifend13 then11: %t45 = load ptr, ptr %t14 %t46 = getelementptr inbounds %Cmp_Val, ptr %t45, i32 0, i32 0 %t47 = load ptr, ptr %t46 store i32 7470, ptr @lp_site %t48 = call ptr @lp_str_concat(ptr @.str13549, ptr %t47) store i32 0, ptr @lp_site store i32 7471, ptr @lp_site %t49 = call ptr @lp_str_concat(ptr %t48, ptr @.str13550) store i32 0, ptr @lp_site call void @lp_free(ptr %t48) %t50 = call ptr @fn_emit_bind(ptr %t49) %t51 = call ptr @fn_val(ptr %t50, ptr @.str13551) store ptr %t51, ptr %retval br label %ret ifend13: %t52 = load ptr, ptr %t0 %t53 = call i32 @lp_str_eq(ptr %t52, ptr @.str13552) %t54 = icmp ne i32 %t53, 0 br i1 %t54, label %then14, label %ifend16 then14: %t55 = load ptr, ptr %t14 %t56 = getelementptr inbounds %Cmp_Val, ptr %t55, i32 0, i32 0 %t57 = load ptr, ptr %t56 %t58 = call ptr @fn_val(ptr %t57, ptr @.str13553) store ptr %t58, ptr %retval br label %ret ifend16: %t59 = load ptr, ptr %t0 %t60 = call i32 @lp_str_eq(ptr %t59, ptr @.str13554) %t61 = icmp ne i32 %t60, 0 br i1 %t61, label %then17, label %ifend19 then17: %t62 = load ptr, ptr %t14 %t63 = getelementptr inbounds %Cmp_Val, ptr %t62, i32 0, i32 0 %t64 = load ptr, ptr %t63 store i32 7472, ptr @lp_site %t65 = call ptr @lp_str_concat(ptr @.str13555, ptr %t64) store i32 0, ptr @lp_site store i32 7473, ptr @lp_site %t66 = call ptr @lp_str_concat(ptr %t65, ptr @.str13556) store i32 0, ptr @lp_site call void @lp_free(ptr %t65) %t67 = call ptr @fn_emit_bind(ptr %t66) %t68 = call ptr @fn_val(ptr %t67, ptr @.str13557) store ptr %t68, ptr %retval br label %ret ifend19: %t69 = load ptr, ptr %t0 %t70 = call i32 @lp_str_eq(ptr %t69, ptr @.str13558) %t71 = icmp ne i32 %t70, 0 br i1 %t71, label %then20, label %ifend22 then20: %t72 = load ptr, ptr %t14 %t73 = getelementptr inbounds %Cmp_Val, ptr %t72, i32 0, i32 0 %t74 = load ptr, ptr %t73 store i32 7474, ptr @lp_site %t75 = call ptr @lp_str_concat(ptr @.str13559, ptr %t74) store i32 0, ptr @lp_site store i32 7475, ptr @lp_site %t76 = call ptr @lp_str_concat(ptr %t75, ptr @.str13560) store i32 0, ptr @lp_site call void @lp_free(ptr %t75) %t77 = call ptr @fn_emit_bind(ptr %t76) %t78 = call ptr @fn_val(ptr %t77, ptr @.str13561) store ptr %t78, ptr %retval br label %ret ifend22: %t79 = load ptr, ptr %t14 %t80 = getelementptr inbounds %Cmp_Val, ptr %t79, i32 0, i32 0 %t81 = load ptr, ptr %t80 store i32 7476, ptr @lp_site %t82 = call ptr @lp_str_concat(ptr @.str13562, ptr %t81) store i32 0, ptr @lp_site store i32 7477, ptr @lp_site %t83 = call ptr @lp_str_concat(ptr %t82, ptr @.str13563) store i32 0, ptr @lp_site call void @lp_free(ptr %t82) %t84 = call ptr @fn_emit_bind(ptr %t83) %t85 = call ptr @fn_val(ptr %t84, ptr @.str13564) store ptr %t85, ptr %retval br label %ret ret: %t86 = load ptr, ptr %retval ret ptr %t86 } 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 @.str13565) store ptr %t2, ptr %t3 %t4 = call ptr @fn_emit_alloca(ptr @.str13566) store ptr %t4, ptr %t5 %t6 = call ptr @fn_emit_alloca(ptr @.str13567) store ptr %t6, ptr %t7 %t8 = load ptr, ptr %t0 store i32 7478, ptr @lp_site %t9 = call ptr @lp_str_concat(ptr @.str13568, ptr %t8) store i32 0, ptr @lp_site store i32 7479, ptr @lp_site %t10 = call ptr @lp_str_concat(ptr %t9, ptr @.str13570) store i32 0, ptr @lp_site call void @lp_free(ptr %t9) %t11 = load ptr, ptr %t3 store i32 7480, ptr @lp_site %t12 = call ptr @lp_str_concat(ptr %t10, ptr %t11) store i32 0, ptr @lp_site call void @lp_free(ptr %t10) store i32 7481, ptr @lp_site %t13 = call ptr @lp_str_concat(ptr %t12, ptr @.str13571) store i32 0, ptr @lp_site call void @lp_free(ptr %t12) %t14 = load ptr, ptr %t5 store i32 7482, ptr @lp_site %t15 = call ptr @lp_str_concat(ptr %t13, ptr %t14) store i32 0, ptr @lp_site call void @lp_free(ptr %t13) store i32 7483, ptr @lp_site %t16 = call ptr @lp_str_concat(ptr %t15, ptr @.str13572) store i32 0, ptr @lp_site call void @lp_free(ptr %t15) %t17 = load ptr, ptr %t7 store i32 7484, ptr @lp_site %t18 = call ptr @lp_str_concat(ptr %t16, ptr %t17) store i32 0, ptr @lp_site call void @lp_free(ptr %t16) store i32 7485, ptr @lp_site %t19 = call ptr @lp_str_concat(ptr %t18, ptr @.str13573) store i32 0, ptr @lp_site call void @lp_free(ptr %t18) 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 store i32 7486, ptr @lp_site %t33 = call ptr @lp_str_concat(ptr @.str13574, ptr %t32) store i32 0, ptr @lp_site %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 @.str13575) %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 @.str13576) %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 @.str13577) %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 @.str13578) %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 @.str13579) %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 @.str13580) %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 @.str13581) %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 @.str13582) %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 @.str13583) %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 @.str13584) %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 %t17 = alloca ptr %t30 = alloca ptr %t43 = alloca ptr %t76 = alloca ptr %t97 = alloca ptr %t118 = alloca ptr %t139 = alloca ptr %t146 = alloca ptr %t151 = alloca ptr %t156 = alloca ptr %t177 = alloca ptr %t184 = alloca ptr %t189 = alloca ptr %t196 = alloca ptr %t201 = alloca ptr %t208 = alloca ptr %t213 = alloca ptr %t220 = alloca ptr %t227 = alloca ptr %t248 = alloca ptr %t261 = alloca ptr %t273 = alloca ptr %t280 = alloca ptr %t287 = alloca ptr %t299 = alloca ptr %t306 = alloca ptr %t313 = alloca ptr %t321 = alloca ptr %t344 = alloca ptr %t367 = alloca ptr %t380 = alloca ptr %t404 = alloca ptr %t417 = 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 @.str13585) %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 %LSlice, ptr %t7, i32 0, i32 1 %t11 = load i32, ptr %t10 %t12 = icmp ult i32 0, %t11 br i1 %t12, label %ixok3, label %ixbad4 ixbad4: store i32 7487, ptr @lp_site %t13 = call ptr @lp_win_stdio(i32 2) store i32 0, ptr @lp_site call i32 (ptr, ptr, ...) @fprintf(ptr %t13, ptr @.fmt_bounds, ptr @.str13586, i32 0, i32 %t11) call void @exit(i32 1) unreachable ixok3: %t14 = getelementptr inbounds ptr, ptr %t9, 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 %LSlice, ptr %t20, i32 0, i32 1 %t24 = load i32, ptr %t23 %t25 = icmp ult i32 1, %t24 br i1 %t25, label %ixok5, label %ixbad6 ixbad6: store i32 7488, ptr @lp_site %t26 = call ptr @lp_win_stdio(i32 2) store i32 0, ptr @lp_site call i32 (ptr, ptr, ...) @fprintf(ptr %t26, ptr @.fmt_bounds, ptr @.str13588, i32 1, i32 %t24) call void @exit(i32 1) unreachable ixok5: %t27 = getelementptr inbounds ptr, ptr %t22, i32 1 %t28 = load ptr, ptr %t27 %t29 = call ptr @fn_emit_expr(ptr %t28) store ptr %t29, ptr %t30 %t31 = load ptr, ptr %t1 %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 = getelementptr inbounds %LSlice, ptr %t33, i32 0, i32 1 %t37 = load i32, ptr %t36 %t38 = icmp ult i32 2, %t37 br i1 %t38, label %ixok7, label %ixbad8 ixbad8: store i32 7489, ptr @lp_site %t39 = call ptr @lp_win_stdio(i32 2) store i32 0, ptr @lp_site call i32 (ptr, ptr, ...) @fprintf(ptr %t39, ptr @.fmt_bounds, ptr @.str13589, i32 2, i32 %t37) call void @exit(i32 1) unreachable ixok7: %t40 = getelementptr inbounds ptr, ptr %t35, i32 2 %t41 = load ptr, ptr %t40 %t42 = call ptr @fn_emit_expr(ptr %t41) store ptr %t42, ptr %t43 %t44 = load ptr, ptr %t17 %t45 = getelementptr inbounds %Cmp_Val, ptr %t44, i32 0, i32 0 %t46 = load ptr, ptr %t45 store i32 7490, ptr @lp_site %t47 = call ptr @lp_str_concat(ptr @.str13590, ptr %t46) store i32 0, ptr @lp_site store i32 7491, ptr @lp_site %t48 = call ptr @lp_str_concat(ptr %t47, ptr @.str13591) store i32 0, ptr @lp_site call void @lp_free(ptr %t47) %t49 = load ptr, ptr %t30 %t50 = getelementptr inbounds %Cmp_Val, ptr %t49, i32 0, i32 0 %t51 = load ptr, ptr %t50 store i32 7492, ptr @lp_site %t52 = call ptr @lp_str_concat(ptr %t48, ptr %t51) store i32 0, ptr @lp_site call void @lp_free(ptr %t48) store i32 7493, ptr @lp_site %t53 = call ptr @lp_str_concat(ptr %t52, ptr @.str13592) store i32 0, ptr @lp_site call void @lp_free(ptr %t52) %t54 = load ptr, ptr %t43 %t55 = getelementptr inbounds %Cmp_Val, ptr %t54, i32 0, i32 0 %t56 = load ptr, ptr %t55 store i32 7494, ptr @lp_site %t57 = call ptr @lp_str_concat(ptr %t53, ptr %t56) store i32 0, ptr @lp_site call void @lp_free(ptr %t53) store i32 7495, ptr @lp_site %t58 = call ptr @lp_str_concat(ptr %t57, ptr @.str13593) store i32 0, ptr @lp_site call void @lp_free(ptr %t57) %t59 = call ptr @fn_emit_bind(ptr %t58) %t60 = call ptr @fn_val(ptr %t59, ptr @.str13594) store ptr %t60, ptr %retval br label %ret ifend2: %t61 = load ptr, ptr %t0 %t62 = call i32 @lp_str_eq(ptr %t61, ptr @.str13595) %t63 = icmp ne i32 %t62, 0 br i1 %t63, label %then9, label %ifend11 then9: %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 %LSlice, ptr %t66, i32 0, i32 1 %t70 = load i32, ptr %t69 %t71 = icmp ult i32 0, %t70 br i1 %t71, label %ixok12, label %ixbad13 ixbad13: store i32 7496, ptr @lp_site %t72 = call ptr @lp_win_stdio(i32 2) store i32 0, ptr @lp_site call i32 (ptr, ptr, ...) @fprintf(ptr %t72, ptr @.fmt_bounds, ptr @.str13596, i32 0, i32 %t70) call void @exit(i32 1) unreachable ixok12: %t73 = getelementptr inbounds ptr, ptr %t68, i32 0 %t74 = load ptr, ptr %t73 %t75 = call ptr @fn_emit_expr(ptr %t74) store ptr %t75, ptr %t76 %t77 = load ptr, ptr %t76 %t78 = getelementptr inbounds %Cmp_Val, ptr %t77, i32 0, i32 0 %t79 = load ptr, ptr %t78 %t80 = call ptr @fn_date_component(ptr %t79, i32 0) %t81 = call ptr @fn_val(ptr %t80, ptr @.str13597) store ptr %t81, ptr %retval br label %ret ifend11: %t82 = load ptr, ptr %t0 %t83 = call i32 @lp_str_eq(ptr %t82, ptr @.str13598) %t84 = icmp ne i32 %t83, 0 br i1 %t84, label %then14, label %ifend16 then14: %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 %LSlice, ptr %t87, i32 0, i32 1 %t91 = load i32, ptr %t90 %t92 = icmp ult i32 0, %t91 br i1 %t92, label %ixok17, label %ixbad18 ixbad18: store i32 7497, ptr @lp_site %t93 = call ptr @lp_win_stdio(i32 2) store i32 0, ptr @lp_site call i32 (ptr, ptr, ...) @fprintf(ptr %t93, ptr @.fmt_bounds, ptr @.str13599, i32 0, i32 %t91) call void @exit(i32 1) unreachable ixok17: %t94 = getelementptr inbounds ptr, ptr %t89, i32 0 %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_date_component(ptr %t100, i32 1) %t102 = call ptr @fn_val(ptr %t101, ptr @.str13600) store ptr %t102, ptr %retval br label %ret ifend16: %t103 = load ptr, ptr %t0 %t104 = call i32 @lp_str_eq(ptr %t103, ptr @.str13601) %t105 = icmp ne i32 %t104, 0 br i1 %t105, label %then19, label %ifend21 then19: %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 %LSlice, ptr %t108, i32 0, i32 1 %t112 = load i32, ptr %t111 %t113 = icmp ult i32 0, %t112 br i1 %t113, label %ixok22, label %ixbad23 ixbad23: store i32 7498, ptr @lp_site %t114 = call ptr @lp_win_stdio(i32 2) store i32 0, ptr @lp_site call i32 (ptr, ptr, ...) @fprintf(ptr %t114, ptr @.fmt_bounds, ptr @.str13602, i32 0, i32 %t112) call void @exit(i32 1) unreachable ixok22: %t115 = getelementptr inbounds ptr, ptr %t110, i32 0 %t116 = load ptr, ptr %t115 %t117 = call ptr @fn_emit_expr(ptr %t116) store ptr %t117, ptr %t118 %t119 = load ptr, ptr %t118 %t120 = getelementptr inbounds %Cmp_Val, ptr %t119, i32 0, i32 0 %t121 = load ptr, ptr %t120 %t122 = call ptr @fn_date_component(ptr %t121, i32 2) %t123 = call ptr @fn_val(ptr %t122, ptr @.str13603) store ptr %t123, ptr %retval br label %ret ifend21: %t124 = load ptr, ptr %t0 %t125 = call i32 @lp_str_eq(ptr %t124, ptr @.str13604) %t126 = icmp ne i32 %t125, 0 br i1 %t126, label %then24, label %ifend26 then24: %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 %LSlice, ptr %t129, i32 0, i32 1 %t133 = load i32, ptr %t132 %t134 = icmp ult i32 0, %t133 br i1 %t134, label %ixok27, label %ixbad28 ixbad28: store i32 7499, ptr @lp_site %t135 = call ptr @lp_win_stdio(i32 2) store i32 0, ptr @lp_site call i32 (ptr, ptr, ...) @fprintf(ptr %t135, ptr @.fmt_bounds, ptr @.str13605, i32 0, i32 %t133) call void @exit(i32 1) unreachable ixok27: %t136 = getelementptr inbounds ptr, ptr %t131, 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 store i32 7500, ptr @lp_site %t143 = call ptr @lp_str_concat(ptr @.str13606, ptr %t142) store i32 0, ptr @lp_site store i32 7501, ptr @lp_site %t144 = call ptr @lp_str_concat(ptr %t143, ptr @.str13607) store i32 0, ptr @lp_site call void @lp_free(ptr %t143) %t145 = call ptr @fn_emit_bind(ptr %t144) store ptr %t145, ptr %t146 %t147 = load ptr, ptr %t146 store i32 7502, ptr @lp_site %t148 = call ptr @lp_str_concat(ptr @.str13608, ptr %t147) store i32 0, ptr @lp_site store i32 7503, ptr @lp_site %t149 = call ptr @lp_str_concat(ptr %t148, ptr @.str13609) store i32 0, ptr @lp_site call void @lp_free(ptr %t148) %t150 = call ptr @fn_emit_bind(ptr %t149) store ptr %t150, ptr %t151 %t152 = load ptr, ptr %t151 store i32 7504, ptr @lp_site %t153 = call ptr @lp_str_concat(ptr @.str13610, ptr %t152) store i32 0, ptr @lp_site store i32 7505, ptr @lp_site %t154 = call ptr @lp_str_concat(ptr %t153, ptr @.str13611) store i32 0, ptr @lp_site call void @lp_free(ptr %t153) %t155 = call ptr @fn_emit_bind(ptr %t154) store ptr %t155, ptr %t156 %t157 = load ptr, ptr %t156 store i32 7506, ptr @lp_site %t158 = call ptr @lp_str_concat(ptr @.str13612, ptr %t157) store i32 0, ptr @lp_site store i32 7507, ptr @lp_site %t159 = call ptr @lp_str_concat(ptr %t158, ptr @.str13613) store i32 0, ptr @lp_site call void @lp_free(ptr %t158) %t160 = call ptr @fn_emit_bind(ptr %t159) %t161 = call ptr @fn_val(ptr %t160, ptr @.str13614) store ptr %t161, ptr %retval br label %ret ifend26: %t162 = load ptr, ptr %t0 %t163 = call i32 @lp_str_eq(ptr %t162, ptr @.str13615) %t164 = icmp ne i32 %t163, 0 br i1 %t164, label %then29, label %ifend31 then29: %t165 = load ptr, ptr %t1 %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 0 %t169 = load ptr, ptr %t168 %t170 = getelementptr inbounds %LSlice, ptr %t167, i32 0, i32 1 %t171 = load i32, ptr %t170 %t172 = icmp ult i32 0, %t171 br i1 %t172, label %ixok32, label %ixbad33 ixbad33: store i32 7508, ptr @lp_site %t173 = call ptr @lp_win_stdio(i32 2) store i32 0, ptr @lp_site call i32 (ptr, ptr, ...) @fprintf(ptr %t173, ptr @.fmt_bounds, ptr @.str13616, i32 0, i32 %t171) call void @exit(i32 1) unreachable ixok32: %t174 = getelementptr inbounds ptr, ptr %t169, i32 0 %t175 = load ptr, ptr %t174 %t176 = call ptr @fn_emit_expr(ptr %t175) store ptr %t176, ptr %t177 %t178 = load ptr, ptr %t177 %t179 = getelementptr inbounds %Cmp_Val, ptr %t178, i32 0, i32 0 %t180 = load ptr, ptr %t179 store i32 7509, ptr @lp_site %t181 = call ptr @lp_str_concat(ptr @.str13617, ptr %t180) store i32 0, ptr @lp_site store i32 7510, ptr @lp_site %t182 = call ptr @lp_str_concat(ptr %t181, ptr @.str13618) store i32 0, ptr @lp_site call void @lp_free(ptr %t181) %t183 = call ptr @fn_emit_bind(ptr %t182) store ptr %t183, ptr %t184 %t185 = load ptr, ptr %t184 store i32 7511, ptr @lp_site %t186 = call ptr @lp_str_concat(ptr @.str13619, ptr %t185) store i32 0, ptr @lp_site store i32 7512, ptr @lp_site %t187 = call ptr @lp_str_concat(ptr %t186, ptr @.str13620) store i32 0, ptr @lp_site call void @lp_free(ptr %t186) %t188 = call ptr @fn_emit_bind(ptr %t187) store ptr %t188, ptr %t189 %t190 = load ptr, ptr %t177 %t191 = getelementptr inbounds %Cmp_Val, ptr %t190, i32 0, i32 0 %t192 = load ptr, ptr %t191 store i32 7513, ptr @lp_site %t193 = call ptr @lp_str_concat(ptr @.str13621, ptr %t192) store i32 0, ptr @lp_site store i32 7514, ptr @lp_site %t194 = call ptr @lp_str_concat(ptr %t193, ptr @.str13622) store i32 0, ptr @lp_site call void @lp_free(ptr %t193) %t195 = call ptr @fn_emit_bind(ptr %t194) store ptr %t195, ptr %t196 %t197 = load ptr, ptr %t196 store i32 7515, ptr @lp_site %t198 = call ptr @lp_str_concat(ptr @.str13623, ptr %t197) store i32 0, ptr @lp_site store i32 7516, ptr @lp_site %t199 = call ptr @lp_str_concat(ptr %t198, ptr @.str13624) store i32 0, ptr @lp_site call void @lp_free(ptr %t198) %t200 = call ptr @fn_emit_bind(ptr %t199) store ptr %t200, ptr %t201 %t202 = load ptr, ptr %t177 %t203 = getelementptr inbounds %Cmp_Val, ptr %t202, i32 0, i32 0 %t204 = load ptr, ptr %t203 store i32 7517, ptr @lp_site %t205 = call ptr @lp_str_concat(ptr @.str13625, ptr %t204) store i32 0, ptr @lp_site store i32 7518, ptr @lp_site %t206 = call ptr @lp_str_concat(ptr %t205, ptr @.str13626) store i32 0, ptr @lp_site call void @lp_free(ptr %t205) %t207 = call ptr @fn_emit_bind(ptr %t206) store ptr %t207, ptr %t208 %t209 = load ptr, ptr %t208 store i32 7519, ptr @lp_site %t210 = call ptr @lp_str_concat(ptr @.str13627, ptr %t209) store i32 0, ptr @lp_site store i32 7520, ptr @lp_site %t211 = call ptr @lp_str_concat(ptr %t210, ptr @.str13628) store i32 0, ptr @lp_site call void @lp_free(ptr %t210) %t212 = call ptr @fn_emit_bind(ptr %t211) store ptr %t212, ptr %t213 %t214 = load ptr, ptr %t189 store i32 7521, ptr @lp_site %t215 = call ptr @lp_str_concat(ptr @.str13629, ptr %t214) store i32 0, ptr @lp_site store i32 7522, ptr @lp_site %t216 = call ptr @lp_str_concat(ptr %t215, ptr @.str13630) store i32 0, ptr @lp_site call void @lp_free(ptr %t215) %t217 = load ptr, ptr %t201 store i32 7523, ptr @lp_site %t218 = call ptr @lp_str_concat(ptr %t216, ptr %t217) store i32 0, ptr @lp_site call void @lp_free(ptr %t216) %t219 = call ptr @fn_emit_bind(ptr %t218) store ptr %t219, ptr %t220 %t221 = load ptr, ptr %t220 store i32 7524, ptr @lp_site %t222 = call ptr @lp_str_concat(ptr @.str13631, ptr %t221) store i32 0, ptr @lp_site store i32 7525, ptr @lp_site %t223 = call ptr @lp_str_concat(ptr %t222, ptr @.str13632) store i32 0, ptr @lp_site call void @lp_free(ptr %t222) %t224 = load ptr, ptr %t213 store i32 7526, ptr @lp_site %t225 = call ptr @lp_str_concat(ptr %t223, ptr %t224) store i32 0, ptr @lp_site call void @lp_free(ptr %t223) %t226 = call ptr @fn_emit_bind(ptr %t225) store ptr %t226, ptr %t227 %t228 = load ptr, ptr %t227 store i32 7527, ptr @lp_site %t229 = call ptr @lp_str_concat(ptr @.str13633, ptr %t228) store i32 0, ptr @lp_site store i32 7528, ptr @lp_site %t230 = call ptr @lp_str_concat(ptr %t229, ptr @.str13634) store i32 0, ptr @lp_site call void @lp_free(ptr %t229) %t231 = call ptr @fn_emit_bind(ptr %t230) %t232 = call ptr @fn_val(ptr %t231, ptr @.str13635) store ptr %t232, ptr %retval br label %ret ifend31: %t233 = load ptr, ptr %t0 %t234 = call i32 @lp_str_eq(ptr %t233, ptr @.str13636) %t235 = icmp ne i32 %t234, 0 br i1 %t235, label %then34, label %ifend36 then34: store i32 1, ptr @g_g_uses_datert %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 %LSlice, ptr %t238, i32 0, i32 1 %t242 = load i32, ptr %t241 %t243 = icmp ult i32 0, %t242 br i1 %t243, label %ixok37, label %ixbad38 ixbad38: store i32 7529, ptr @lp_site %t244 = call ptr @lp_win_stdio(i32 2) store i32 0, ptr @lp_site call i32 (ptr, ptr, ...) @fprintf(ptr %t244, ptr @.fmt_bounds, ptr @.str13637, i32 0, i32 %t242) call void @exit(i32 1) unreachable ixok37: %t245 = getelementptr inbounds ptr, ptr %t240, i32 0 %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 %LSlice, ptr %t251, i32 0, i32 1 %t255 = load i32, ptr %t254 %t256 = icmp ult i32 1, %t255 br i1 %t256, label %ixok39, label %ixbad40 ixbad40: store i32 7530, ptr @lp_site %t257 = call ptr @lp_win_stdio(i32 2) store i32 0, ptr @lp_site call i32 (ptr, ptr, ...) @fprintf(ptr %t257, ptr @.fmt_bounds, ptr @.str13638, i32 1, i32 %t255) call void @exit(i32 1) unreachable ixok39: %t258 = getelementptr inbounds ptr, ptr %t253, i32 1 %t259 = load ptr, ptr %t258 %t260 = call ptr @fn_emit_expr(ptr %t259) store ptr %t260, ptr %t261 %t262 = load ptr, ptr %t248 %t263 = getelementptr inbounds %Cmp_Val, ptr %t262, i32 0, i32 0 %t264 = load ptr, ptr %t263 store i32 7531, ptr @lp_site %t265 = call ptr @lp_str_concat(ptr @.str13639, ptr %t264) store i32 0, ptr @lp_site store i32 7532, ptr @lp_site %t266 = call ptr @lp_str_concat(ptr %t265, ptr @.str13640) store i32 0, ptr @lp_site call void @lp_free(ptr %t265) %t267 = load ptr, ptr %t261 %t268 = getelementptr inbounds %Cmp_Val, ptr %t267, i32 0, i32 0 %t269 = load ptr, ptr %t268 store i32 7533, ptr @lp_site %t270 = call ptr @lp_str_concat(ptr %t266, ptr %t269) store i32 0, ptr @lp_site call void @lp_free(ptr %t266) store i32 7534, ptr @lp_site %t271 = call ptr @lp_str_concat(ptr %t270, ptr @.str13641) store i32 0, ptr @lp_site call void @lp_free(ptr %t270) %t272 = call ptr @fn_emit_bind(ptr %t271) store ptr %t272, ptr %t273 %t274 = load ptr, ptr %t261 %t275 = getelementptr inbounds %Cmp_Val, ptr %t274, i32 0, i32 0 %t276 = load ptr, ptr %t275 store i32 7535, ptr @lp_site %t277 = call ptr @lp_str_concat(ptr @.str13642, ptr %t276) store i32 0, ptr @lp_site store i32 7536, ptr @lp_site %t278 = call ptr @lp_str_concat(ptr %t277, ptr @.str13643) store i32 0, ptr @lp_site call void @lp_free(ptr %t277) %t279 = call ptr @fn_emit_bind(ptr %t278) store ptr %t279, ptr %t280 %t281 = load ptr, ptr %t248 %t282 = getelementptr inbounds %Cmp_Val, ptr %t281, i32 0, i32 0 %t283 = load ptr, ptr %t282 store i32 7537, ptr @lp_site %t284 = call ptr @lp_str_concat(ptr @.str13644, ptr %t283) store i32 0, ptr @lp_site store i32 7538, ptr @lp_site %t285 = call ptr @lp_str_concat(ptr %t284, ptr @.str13645) store i32 0, ptr @lp_site call void @lp_free(ptr %t284) %t286 = call ptr @fn_emit_bind(ptr %t285) store ptr %t286, ptr %t287 %t288 = load ptr, ptr %t280 store i32 7539, ptr @lp_site %t289 = call ptr @lp_str_concat(ptr @.str13646, ptr %t288) store i32 0, ptr @lp_site store i32 7540, ptr @lp_site %t290 = call ptr @lp_str_concat(ptr %t289, ptr @.str13647) store i32 0, ptr @lp_site call void @lp_free(ptr %t289) %t291 = load ptr, ptr %t287 store i32 7541, ptr @lp_site %t292 = call ptr @lp_str_concat(ptr %t290, ptr %t291) store i32 0, ptr @lp_site call void @lp_free(ptr %t290) store i32 7542, ptr @lp_site %t293 = call ptr @lp_str_concat(ptr %t292, ptr @.str13648) store i32 0, ptr @lp_site call void @lp_free(ptr %t292) %t294 = load ptr, ptr %t248 %t295 = getelementptr inbounds %Cmp_Val, ptr %t294, i32 0, i32 0 %t296 = load ptr, ptr %t295 store i32 7543, ptr @lp_site %t297 = call ptr @lp_str_concat(ptr %t293, ptr %t296) store i32 0, ptr @lp_site call void @lp_free(ptr %t293) %t298 = call ptr @fn_emit_bind(ptr %t297) store ptr %t298, ptr %t299 %t300 = load ptr, ptr %t261 %t301 = getelementptr inbounds %Cmp_Val, ptr %t300, i32 0, i32 0 %t302 = load ptr, ptr %t301 store i32 7544, ptr @lp_site %t303 = call ptr @lp_str_concat(ptr @.str13649, ptr %t302) store i32 0, ptr @lp_site store i32 7545, ptr @lp_site %t304 = call ptr @lp_str_concat(ptr %t303, ptr @.str13650) store i32 0, ptr @lp_site call void @lp_free(ptr %t303) %t305 = call ptr @fn_emit_bind(ptr %t304) store ptr %t305, ptr %t306 %t307 = load ptr, ptr %t280 store i32 7546, ptr @lp_site %t308 = call ptr @lp_str_concat(ptr @.str13651, ptr %t307) store i32 0, ptr @lp_site store i32 7547, ptr @lp_site %t309 = call ptr @lp_str_concat(ptr %t308, ptr @.str13652) store i32 0, ptr @lp_site call void @lp_free(ptr %t308) %t310 = load ptr, ptr %t306 store i32 7548, ptr @lp_site %t311 = call ptr @lp_str_concat(ptr %t309, ptr %t310) store i32 0, ptr @lp_site call void @lp_free(ptr %t309) %t312 = call ptr @fn_emit_bind(ptr %t311) store ptr %t312, ptr %t313 %t314 = load ptr, ptr %t299 store i32 7549, ptr @lp_site %t315 = call ptr @lp_str_concat(ptr @.str13653, ptr %t314) store i32 0, ptr @lp_site store i32 7550, ptr @lp_site %t316 = call ptr @lp_str_concat(ptr %t315, ptr @.str13654) store i32 0, ptr @lp_site call void @lp_free(ptr %t315) %t317 = load ptr, ptr %t313 store i32 7551, ptr @lp_site %t318 = call ptr @lp_str_concat(ptr %t316, ptr %t317) store i32 0, ptr @lp_site call void @lp_free(ptr %t316) store i32 7552, ptr @lp_site %t319 = call ptr @lp_str_concat(ptr %t318, ptr @.str13655) store i32 0, ptr @lp_site call void @lp_free(ptr %t318) %t320 = call ptr @fn_emit_bind(ptr %t319) store ptr %t320, ptr %t321 %t322 = load ptr, ptr %t321 store i32 7553, ptr @lp_site %t323 = call ptr @lp_str_concat(ptr @.str13656, ptr %t322) store i32 0, ptr @lp_site store i32 7554, ptr @lp_site %t324 = call ptr @lp_str_concat(ptr %t323, ptr @.str13657) store i32 0, ptr @lp_site call void @lp_free(ptr %t323) %t325 = load ptr, ptr %t273 store i32 7555, ptr @lp_site %t326 = call ptr @lp_str_concat(ptr %t324, ptr %t325) store i32 0, ptr @lp_site call void @lp_free(ptr %t324) %t327 = call ptr @fn_emit_bind(ptr %t326) %t328 = call ptr @fn_val(ptr %t327, ptr @.str13658) store ptr %t328, ptr %retval br label %ret ifend36: %t329 = load ptr, ptr %t0 %t330 = call i32 @lp_str_eq(ptr %t329, ptr @.str13659) %t331 = icmp ne i32 %t330, 0 br i1 %t331, label %then41, label %ifend43 then41: %t332 = load ptr, ptr %t1 %t333 = getelementptr inbounds %Cmp_Node, ptr %t332, i32 0, i32 7 %t334 = load ptr, ptr %t333 %t335 = getelementptr inbounds %LSlice, ptr %t334, i32 0, i32 0 %t336 = load ptr, ptr %t335 %t337 = getelementptr inbounds %LSlice, ptr %t334, i32 0, i32 1 %t338 = load i32, ptr %t337 %t339 = icmp ult i32 0, %t338 br i1 %t339, label %ixok44, label %ixbad45 ixbad45: store i32 7556, ptr @lp_site %t340 = call ptr @lp_win_stdio(i32 2) store i32 0, ptr @lp_site call i32 (ptr, ptr, ...) @fprintf(ptr %t340, ptr @.fmt_bounds, ptr @.str13660, i32 0, i32 %t338) call void @exit(i32 1) unreachable ixok44: %t341 = getelementptr inbounds ptr, ptr %t336, i32 0 %t342 = load ptr, ptr %t341 %t343 = call ptr @fn_emit_expr(ptr %t342) store ptr %t343, ptr %t344 %t345 = load ptr, ptr %t344 %t346 = getelementptr inbounds %Cmp_Val, ptr %t345, i32 0, i32 0 %t347 = load ptr, ptr %t346 store i32 7557, ptr @lp_site %t348 = call ptr @lp_str_concat(ptr @.str13661, ptr %t347) store i32 0, ptr @lp_site store i32 7558, ptr @lp_site %t349 = call ptr @lp_str_concat(ptr %t348, ptr @.str13662) store i32 0, ptr @lp_site call void @lp_free(ptr %t348) %t350 = call ptr @fn_emit_bind(ptr %t349) %t351 = call ptr @fn_val(ptr %t350, ptr @.str13663) store ptr %t351, ptr %retval br label %ret ifend43: %t352 = load ptr, ptr %t0 %t353 = call i32 @lp_str_eq(ptr %t352, ptr @.str13664) %t354 = icmp ne i32 %t353, 0 br i1 %t354, label %then46, label %ifend48 then46: %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 %LSlice, ptr %t357, i32 0, i32 1 %t361 = load i32, ptr %t360 %t362 = icmp ult i32 0, %t361 br i1 %t362, label %ixok49, label %ixbad50 ixbad50: store i32 7559, ptr @lp_site %t363 = call ptr @lp_win_stdio(i32 2) store i32 0, ptr @lp_site call i32 (ptr, ptr, ...) @fprintf(ptr %t363, ptr @.fmt_bounds, ptr @.str13665, i32 0, i32 %t361) call void @exit(i32 1) unreachable ixok49: %t364 = getelementptr inbounds ptr, ptr %t359, i32 0 %t365 = load ptr, ptr %t364 %t366 = call ptr @fn_emit_expr(ptr %t365) store ptr %t366, ptr %t367 %t368 = load ptr, ptr %t1 %t369 = getelementptr inbounds %Cmp_Node, ptr %t368, i32 0, i32 7 %t370 = load ptr, ptr %t369 %t371 = getelementptr inbounds %LSlice, ptr %t370, i32 0, i32 0 %t372 = load ptr, ptr %t371 %t373 = getelementptr inbounds %LSlice, ptr %t370, i32 0, i32 1 %t374 = load i32, ptr %t373 %t375 = icmp ult i32 1, %t374 br i1 %t375, label %ixok51, label %ixbad52 ixbad52: store i32 7560, ptr @lp_site %t376 = call ptr @lp_win_stdio(i32 2) store i32 0, ptr @lp_site call i32 (ptr, ptr, ...) @fprintf(ptr %t376, ptr @.fmt_bounds, ptr @.str13666, i32 1, i32 %t374) call void @exit(i32 1) unreachable ixok51: %t377 = getelementptr inbounds ptr, ptr %t372, i32 1 %t378 = load ptr, ptr %t377 %t379 = call ptr @fn_emit_expr(ptr %t378) store ptr %t379, ptr %t380 %t381 = load ptr, ptr %t367 %t382 = getelementptr inbounds %Cmp_Val, ptr %t381, i32 0, i32 0 %t383 = load ptr, ptr %t382 store i32 7561, ptr @lp_site %t384 = call ptr @lp_str_concat(ptr @.str13667, ptr %t383) store i32 0, ptr @lp_site store i32 7562, ptr @lp_site %t385 = call ptr @lp_str_concat(ptr %t384, ptr @.str13668) store i32 0, ptr @lp_site call void @lp_free(ptr %t384) %t386 = load ptr, ptr %t380 %t387 = getelementptr inbounds %Cmp_Val, ptr %t386, i32 0, i32 0 %t388 = load ptr, ptr %t387 store i32 7563, ptr @lp_site %t389 = call ptr @lp_str_concat(ptr %t385, ptr %t388) store i32 0, ptr @lp_site call void @lp_free(ptr %t385) %t390 = call ptr @fn_emit_bind(ptr %t389) %t391 = call ptr @fn_val(ptr %t390, ptr @.str13669) store ptr %t391, ptr %retval br label %ret ifend48: %t392 = load ptr, ptr %t1 %t393 = getelementptr inbounds %Cmp_Node, ptr %t392, i32 0, i32 7 %t394 = load ptr, ptr %t393 %t395 = getelementptr inbounds %LSlice, ptr %t394, i32 0, i32 0 %t396 = load ptr, ptr %t395 %t397 = getelementptr inbounds %LSlice, ptr %t394, i32 0, i32 1 %t398 = load i32, ptr %t397 %t399 = icmp ult i32 0, %t398 br i1 %t399, label %ixok53, label %ixbad54 ixbad54: store i32 7564, ptr @lp_site %t400 = call ptr @lp_win_stdio(i32 2) store i32 0, ptr @lp_site call i32 (ptr, ptr, ...) @fprintf(ptr %t400, ptr @.fmt_bounds, ptr @.str13670, i32 0, i32 %t398) call void @exit(i32 1) unreachable ixok53: %t401 = getelementptr inbounds ptr, ptr %t396, i32 0 %t402 = load ptr, ptr %t401 %t403 = call ptr @fn_emit_expr(ptr %t402) store ptr %t403, ptr %t404 %t405 = load ptr, ptr %t1 %t406 = getelementptr inbounds %Cmp_Node, ptr %t405, i32 0, i32 7 %t407 = load ptr, ptr %t406 %t408 = getelementptr inbounds %LSlice, ptr %t407, i32 0, i32 0 %t409 = load ptr, ptr %t408 %t410 = getelementptr inbounds %LSlice, ptr %t407, i32 0, i32 1 %t411 = load i32, ptr %t410 %t412 = icmp ult i32 1, %t411 br i1 %t412, label %ixok55, label %ixbad56 ixbad56: store i32 7565, ptr @lp_site %t413 = call ptr @lp_win_stdio(i32 2) store i32 0, ptr @lp_site call i32 (ptr, ptr, ...) @fprintf(ptr %t413, ptr @.fmt_bounds, ptr @.str13671, i32 1, i32 %t411) call void @exit(i32 1) unreachable ixok55: %t414 = getelementptr inbounds ptr, ptr %t409, i32 1 %t415 = load ptr, ptr %t414 %t416 = call ptr @fn_emit_expr(ptr %t415) store ptr %t416, ptr %t417 %t418 = load ptr, ptr %t404 %t419 = getelementptr inbounds %Cmp_Val, ptr %t418, i32 0, i32 0 %t420 = load ptr, ptr %t419 store i32 7566, ptr @lp_site %t421 = call ptr @lp_str_concat(ptr @.str13672, ptr %t420) store i32 0, ptr @lp_site store i32 7567, ptr @lp_site %t422 = call ptr @lp_str_concat(ptr %t421, ptr @.str13673) store i32 0, ptr @lp_site call void @lp_free(ptr %t421) %t423 = load ptr, ptr %t417 %t424 = getelementptr inbounds %Cmp_Val, ptr %t423, i32 0, i32 0 %t425 = load ptr, ptr %t424 store i32 7568, ptr @lp_site %t426 = call ptr @lp_str_concat(ptr %t422, ptr %t425) store i32 0, ptr @lp_site call void @lp_free(ptr %t422) %t427 = call ptr @fn_emit_bind(ptr %t426) %t428 = call ptr @fn_val(ptr %t427, ptr @.str13674) store ptr %t428, ptr %retval br label %ret ret: %t429 = load ptr, ptr %retval ret ptr %t429 } 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 store i32 7569, ptr @lp_site %t2 = call ptr @lp_str_concat(ptr @.str13675, ptr %t1) store i32 0, ptr @lp_site store i32 7570, ptr @lp_site %t3 = call ptr @lp_str_concat(ptr %t2, ptr @.str13677) store i32 0, ptr @lp_site call void @lp_free(ptr %t2) %t4 = call ptr @fn_emit_bind(ptr %t3) store ptr %t4, ptr %t5 %t6 = load ptr, ptr %t5 store i32 7571, ptr @lp_site %t7 = call ptr @lp_str_concat(ptr @.str13678, ptr %t6) store i32 0, ptr @lp_site store i32 7572, ptr @lp_site %t8 = call ptr @lp_str_concat(ptr %t7, ptr @.str13679) store i32 0, ptr @lp_site call void @lp_free(ptr %t7) %t9 = call ptr @fn_emit_bind(ptr %t8) store ptr %t9, ptr %t10 %t11 = load ptr, ptr %t10 store i32 7573, ptr @lp_site %t12 = call ptr @lp_str_concat(ptr @.str13680, ptr %t11) store i32 0, ptr @lp_site store i32 7574, ptr @lp_site %t13 = call ptr @lp_str_concat(ptr %t12, ptr @.str13681) store i32 0, ptr @lp_site call void @lp_free(ptr %t12) %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 store i32 7575, ptr @lp_site %t5 = call ptr @lp_str_concat(ptr @.str13682, ptr %t4) store i32 0, ptr @lp_site store i32 7576, ptr @lp_site %t6 = call ptr @lp_str_concat(ptr %t5, ptr @.str13684) store i32 0, ptr @lp_site call void @lp_free(ptr %t5) %t7 = load ptr, ptr %t3 store i32 7577, ptr @lp_site %t8 = call ptr @lp_str_concat(ptr %t6, ptr %t7) store i32 0, ptr @lp_site call void @lp_free(ptr %t6) %t9 = call ptr @fn_emit_bind(ptr %t8) store ptr %t9, ptr %t10 %t11 = load ptr, ptr %t10 store i32 7578, ptr @lp_site %t12 = call ptr @lp_str_concat(ptr @.str13685, ptr %t11) store i32 0, ptr @lp_site store i32 7579, ptr @lp_site %t13 = call ptr @lp_str_concat(ptr %t12, ptr @.str13686) store i32 0, ptr @lp_site call void @lp_free(ptr %t12) %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 @.str13687) %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 @.str13688) %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 @.str13689) %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 @.str13690) %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 @.str13691) %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 @.str13692) %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 @.str13693) %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 @.str13694) %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 @.str13695) %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 @.str13696) %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 @.str13697) %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 @.str13698) %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 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 %t29 = alloca ptr %t43 = alloca ptr %t47 = alloca i32 %t52 = alloca ptr %t54 = alloca ptr %t56 = alloca ptr %t58 = alloca ptr %t74 = alloca ptr %t78 = alloca ptr %t82 = alloca ptr %t87 = alloca ptr %t92 = alloca ptr %t97 = alloca ptr %t102 = alloca ptr %t107 = alloca ptr %t112 = alloca ptr %t115 = alloca ptr %t117 = alloca ptr %t118 = alloca i32 %t124 = alloca ptr %t125 = alloca i32 %t126 = alloca i32 %t183 = alloca ptr %t204 = alloca ptr %t215 = 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 %LSlice, ptr %t3, i32 0, i32 1 %t7 = load i32, ptr %t6 %t8 = icmp ult i32 1, %t7 br i1 %t8, label %ixok0, label %ixbad1 ixbad1: store i32 7580, ptr @lp_site %t9 = call ptr @lp_win_stdio(i32 2) store i32 0, ptr @lp_site call i32 (ptr, ptr, ...) @fprintf(ptr %t9, ptr @.fmt_bounds, ptr @.str13699, i32 1, i32 %t7) call void @exit(i32 1) unreachable ixok0: %t10 = getelementptr inbounds ptr, ptr %t5, i32 1 %t11 = load ptr, ptr %t10 %t12 = getelementptr inbounds %Cmp_Node, ptr %t11, i32 0, i32 0 %t13 = load i32, ptr %t12 %t14 = icmp ne i32 %t13, 31 %t15 = zext i1 %t14 to i32 %t16 = icmp ne i32 %t15, 0 br i1 %t16, label %then2, label %ifend4 then2: call void @fn_perr(ptr @.str13701) br label %ifend4 ifend4: %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 = getelementptr inbounds %LSlice, ptr %t19, i32 0, i32 1 %t23 = load i32, ptr %t22 %t24 = icmp ult i32 0, %t23 br i1 %t24, label %ixok5, label %ixbad6 ixbad6: store i32 7581, ptr @lp_site %t25 = call ptr @lp_win_stdio(i32 2) store i32 0, ptr @lp_site call i32 (ptr, ptr, ...) @fprintf(ptr %t25, ptr @.fmt_bounds, ptr @.str13702, i32 0, i32 %t23) call void @exit(i32 1) unreachable ixok5: %t26 = getelementptr inbounds ptr, ptr %t21, i32 0 %t27 = load ptr, ptr %t26 %t28 = call ptr @fn_emit_expr(ptr %t27) store ptr %t28, ptr %t29 %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 = getelementptr inbounds %LSlice, ptr %t32, i32 0, i32 1 %t36 = load i32, ptr %t35 %t37 = icmp ult i32 1, %t36 br i1 %t37, label %ixok7, label %ixbad8 ixbad8: store i32 7582, ptr @lp_site %t38 = call ptr @lp_win_stdio(i32 2) store i32 0, ptr @lp_site call i32 (ptr, ptr, ...) @fprintf(ptr %t38, ptr @.fmt_bounds, ptr @.str13703, i32 1, i32 %t36) call void @exit(i32 1) unreachable ixok7: %t39 = getelementptr inbounds ptr, ptr %t34, i32 1 %t40 = load ptr, ptr %t39 %t41 = getelementptr inbounds %Cmp_Node, ptr %t40, i32 0, i32 1 %t42 = load ptr, ptr %t41 store ptr %t42, ptr %t43 %t44 = load ptr, ptr %t43 %t45 = call i64 @strlen(ptr %t44) %t46 = trunc i64 %t45 to i32 store i32 %t46, ptr %t47 %t48 = load ptr, ptr %t29 %t49 = getelementptr inbounds %Cmp_Val, ptr %t48, i32 0, i32 0 %t50 = load ptr, ptr %t49 %t51 = call ptr @fn_dt_epochday(ptr %t50) store ptr %t51, ptr %t52 %t53 = call ptr @fn_emit_alloca(ptr @.str13704) store ptr %t53, ptr %t54 %t55 = call ptr @fn_emit_alloca(ptr @.str13705) store ptr %t55, ptr %t56 %t57 = call ptr @fn_emit_alloca(ptr @.str13706) store ptr %t57, ptr %t58 %t59 = load ptr, ptr %t52 store i32 7583, ptr @lp_site %t60 = call ptr @lp_str_concat(ptr @.str13707, ptr %t59) store i32 0, ptr @lp_site store i32 7584, ptr @lp_site %t61 = call ptr @lp_str_concat(ptr %t60, ptr @.str13708) store i32 0, ptr @lp_site call void @lp_free(ptr %t60) %t62 = load ptr, ptr %t54 store i32 7585, ptr @lp_site %t63 = call ptr @lp_str_concat(ptr %t61, ptr %t62) store i32 0, ptr @lp_site call void @lp_free(ptr %t61) store i32 7586, ptr @lp_site %t64 = call ptr @lp_str_concat(ptr %t63, ptr @.str13709) store i32 0, ptr @lp_site call void @lp_free(ptr %t63) %t65 = load ptr, ptr %t56 store i32 7587, ptr @lp_site %t66 = call ptr @lp_str_concat(ptr %t64, ptr %t65) store i32 0, ptr @lp_site call void @lp_free(ptr %t64) store i32 7588, ptr @lp_site %t67 = call ptr @lp_str_concat(ptr %t66, ptr @.str13710) store i32 0, ptr @lp_site call void @lp_free(ptr %t66) %t68 = load ptr, ptr %t58 store i32 7589, ptr @lp_site %t69 = call ptr @lp_str_concat(ptr %t67, ptr %t68) store i32 0, ptr @lp_site call void @lp_free(ptr %t67) store i32 7590, ptr @lp_site %t70 = call ptr @lp_str_concat(ptr %t69, ptr @.str13711) store i32 0, ptr @lp_site call void @lp_free(ptr %t69) call void @fn_emit(ptr %t70) %t71 = load ptr, ptr %t54 store i32 7591, ptr @lp_site %t72 = call ptr @lp_str_concat(ptr @.str13712, ptr %t71) store i32 0, ptr @lp_site %t73 = call ptr @fn_emit_bind(ptr %t72) store ptr %t73, ptr %t74 %t75 = load ptr, ptr %t56 store i32 7592, ptr @lp_site %t76 = call ptr @lp_str_concat(ptr @.str13713, ptr %t75) store i32 0, ptr @lp_site %t77 = call ptr @fn_emit_bind(ptr %t76) store ptr %t77, ptr %t78 %t79 = load ptr, ptr %t58 store i32 7593, ptr @lp_site %t80 = call ptr @lp_str_concat(ptr @.str13714, ptr %t79) store i32 0, ptr @lp_site %t81 = call ptr @fn_emit_bind(ptr %t80) store ptr %t81, ptr %t82 %t83 = load ptr, ptr %t29 %t84 = getelementptr inbounds %Cmp_Val, ptr %t83, i32 0, i32 0 %t85 = load ptr, ptr %t84 %t86 = call ptr @fn_dt_secofday(ptr %t85) store ptr %t86, ptr %t87 %t88 = load ptr, ptr %t87 store i32 7594, ptr @lp_site %t89 = call ptr @lp_str_concat(ptr @.str13715, ptr %t88) store i32 0, ptr @lp_site store i32 7595, ptr @lp_site %t90 = call ptr @lp_str_concat(ptr %t89, ptr @.str13716) store i32 0, ptr @lp_site call void @lp_free(ptr %t89) %t91 = call ptr @fn_emit_bind(ptr %t90) store ptr %t91, ptr %t92 %t93 = load ptr, ptr %t87 store i32 7596, ptr @lp_site %t94 = call ptr @lp_str_concat(ptr @.str13717, ptr %t93) store i32 0, ptr @lp_site store i32 7597, ptr @lp_site %t95 = call ptr @lp_str_concat(ptr %t94, ptr @.str13718) store i32 0, ptr @lp_site call void @lp_free(ptr %t94) %t96 = call ptr @fn_emit_bind(ptr %t95) store ptr %t96, ptr %t97 %t98 = load ptr, ptr %t97 store i32 7598, ptr @lp_site %t99 = call ptr @lp_str_concat(ptr @.str13719, ptr %t98) store i32 0, ptr @lp_site store i32 7599, ptr @lp_site %t100 = call ptr @lp_str_concat(ptr %t99, ptr @.str13720) store i32 0, ptr @lp_site call void @lp_free(ptr %t99) %t101 = call ptr @fn_emit_bind(ptr %t100) store ptr %t101, ptr %t102 %t103 = load ptr, ptr %t87 store i32 7600, ptr @lp_site %t104 = call ptr @lp_str_concat(ptr @.str13721, ptr %t103) store i32 0, ptr @lp_site store i32 7601, ptr @lp_site %t105 = call ptr @lp_str_concat(ptr %t104, ptr @.str13722) store i32 0, ptr @lp_site call void @lp_free(ptr %t104) %t106 = call ptr @fn_emit_bind(ptr %t105) store ptr %t106, ptr %t107 %t108 = load ptr, ptr %t74 store i32 7602, ptr @lp_site %t109 = call ptr @lp_str_concat(ptr @.str13723, ptr %t108) store i32 0, ptr @lp_site store i32 7603, ptr @lp_site %t110 = call ptr @lp_str_concat(ptr %t109, ptr @.str13724) store i32 0, ptr @lp_site call void @lp_free(ptr %t109) %t111 = call ptr @fn_emit_bind(ptr %t110) store ptr %t111, ptr %t112 %t113 = call ptr @fn_emit_str_const(ptr @.str13725) %t114 = call ptr @fn_val(ptr %t113, ptr @.str13726) store ptr %t114, ptr %t115 %t116 = call ptr @fn_buf_new() store ptr %t116, ptr %t117 store i32 0, ptr %t118 br label %wcond9 wcond9: %t119 = load i32, ptr %t118 %t120 = load i32, ptr %t47 %t121 = icmp slt i32 %t119, %t120 %t122 = zext i1 %t121 to i32 %t123 = icmp ne i32 %t122, 0 br i1 %t123, label %wbody10, label %wend11 wbody10: store ptr null, ptr %t124 store i32 0, ptr %t125 store i32 0, ptr %t126 %t127 = load ptr, ptr %t43 %t128 = load i32, ptr %t47 %t129 = load i32, ptr %t118 %t130 = call i32 @fn_dt_tok_at(ptr %t127, i32 %t128, i32 %t129, ptr @.str13727, i32 4) %t131 = icmp ne i32 %t130, 0 br i1 %t131, label %then12, label %else13 then12: %t132 = load ptr, ptr %t74 store ptr %t132, ptr %t124 store i32 4, ptr %t125 store i32 4, ptr %t126 br label %ifend14 else13: %t133 = load ptr, ptr %t43 %t134 = load i32, ptr %t47 %t135 = load i32, ptr %t118 %t136 = call i32 @fn_dt_tok_at(ptr %t133, i32 %t134, i32 %t135, ptr @.str13728, i32 2) %t137 = icmp ne i32 %t136, 0 br i1 %t137, label %then15, label %else16 then15: %t138 = load ptr, ptr %t112 store ptr %t138, ptr %t124 store i32 2, ptr %t125 store i32 2, ptr %t126 br label %ifend17 else16: %t139 = load ptr, ptr %t43 %t140 = load i32, ptr %t47 %t141 = load i32, ptr %t118 %t142 = call i32 @fn_dt_tok_at(ptr %t139, i32 %t140, i32 %t141, ptr @.str13729, i32 2) %t143 = icmp ne i32 %t142, 0 br i1 %t143, label %then18, label %else19 then18: %t144 = load ptr, ptr %t78 store ptr %t144, ptr %t124 store i32 2, ptr %t125 store i32 2, ptr %t126 br label %ifend20 else19: %t145 = load ptr, ptr %t43 %t146 = load i32, ptr %t47 %t147 = load i32, ptr %t118 %t148 = call i32 @fn_dt_tok_at(ptr %t145, i32 %t146, i32 %t147, ptr @.str13730, i32 2) %t149 = icmp ne i32 %t148, 0 br i1 %t149, label %then21, label %else22 then21: %t150 = load ptr, ptr %t82 store ptr %t150, ptr %t124 store i32 2, ptr %t125 store i32 2, ptr %t126 br label %ifend23 else22: %t151 = load ptr, ptr %t43 %t152 = load i32, ptr %t47 %t153 = load i32, ptr %t118 %t154 = call i32 @fn_dt_tok_at(ptr %t151, i32 %t152, i32 %t153, ptr @.str13731, i32 2) %t155 = icmp ne i32 %t154, 0 br i1 %t155, label %then24, label %else25 then24: %t156 = load ptr, ptr %t92 store ptr %t156, ptr %t124 store i32 2, ptr %t125 store i32 2, ptr %t126 br label %ifend26 else25: %t157 = load ptr, ptr %t43 %t158 = load i32, ptr %t47 %t159 = load i32, ptr %t118 %t160 = call i32 @fn_dt_tok_at(ptr %t157, i32 %t158, i32 %t159, ptr @.str13732, i32 2) %t161 = icmp ne i32 %t160, 0 br i1 %t161, label %then27, label %else28 then27: %t162 = load ptr, ptr %t102 store ptr %t162, ptr %t124 store i32 2, ptr %t125 store i32 2, ptr %t126 br label %ifend29 else28: %t163 = load ptr, ptr %t43 %t164 = load i32, ptr %t47 %t165 = load i32, ptr %t118 %t166 = call i32 @fn_dt_tok_at(ptr %t163, i32 %t164, i32 %t165, ptr @.str13733, i32 2) %t167 = icmp ne i32 %t166, 0 br i1 %t167, label %then30, label %ifend32 then30: %t168 = load ptr, ptr %t107 store ptr %t168, ptr %t124 store i32 2, ptr %t125 store i32 2, ptr %t126 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: %t169 = load ptr, ptr %t124 %t170 = icmp eq ptr %t169, null %t171 = zext i1 %t170 to i32 %t172 = icmp ne i32 %t171, 0 br i1 %t172, label %then33, label %else34 then33: %t173 = load ptr, ptr %t117 %t174 = load ptr, ptr %t43 %t175 = load i32, ptr %t118 %t176 = getelementptr inbounds i8, ptr %t174, i32 %t175 %t177 = load i8, ptr %t176 %t178 = zext i8 %t177 to i32 call void @fn_buf_putc(ptr %t173, i32 %t178) %t179 = load i32, ptr %t118 %t180 = add i32 %t179, 1 store i32 %t180, ptr %t118 br label %ifend35 else34: %t181 = load ptr, ptr %t117 %t182 = call ptr @fn_buf_str(ptr %t181) store ptr %t182, ptr %t183 %t184 = load ptr, ptr %t183 %t185 = call i64 @strlen(ptr %t184) %t186 = trunc i64 %t185 to i32 %t187 = icmp sgt i32 %t186, 0 %t188 = zext i1 %t187 to i32 %t189 = icmp ne i32 %t188, 0 br i1 %t189, label %then36, label %ifend38 then36: %t190 = load ptr, ptr %t115 %t191 = load ptr, ptr %t183 %t192 = call ptr @fn_emit_str_const(ptr %t191) %t193 = call ptr @fn_val(ptr %t192, ptr @.str13735) %t194 = call ptr @fn_emit_str_op(ptr @.str13734, ptr %t190, ptr %t193) store ptr %t194, ptr %t115 br label %ifend38 ifend38: %t195 = load ptr, ptr %t124 store i32 7604, ptr @lp_site %t196 = call ptr @lp_str_concat(ptr @.str13736, ptr %t195) store i32 0, ptr @lp_site store i32 7605, ptr @lp_site %t197 = call ptr @lp_str_concat(ptr %t196, ptr @.str13737) store i32 0, ptr @lp_site call void @lp_free(ptr %t196) %t198 = load i32, ptr %t125 store i32 7606, ptr @lp_site %t199 = call ptr @lp_int_str(i32 %t198) store i32 0, ptr @lp_site store i32 7607, ptr @lp_site %t200 = call ptr @lp_str_concat(ptr %t197, ptr %t199) store i32 0, ptr @lp_site call void @lp_free(ptr %t197) call void @lp_free(ptr %t199) store i32 7608, ptr @lp_site %t201 = call ptr @lp_str_concat(ptr %t200, ptr @.str13738) store i32 0, ptr @lp_site call void @lp_free(ptr %t200) %t202 = call ptr @fn_emit_bind(ptr %t201) %t203 = call ptr @fn_fresh_val(ptr %t202, ptr @.str13739) store ptr %t203, ptr %t204 %t205 = load ptr, ptr %t115 %t206 = load ptr, ptr %t204 %t207 = call ptr @fn_emit_str_op(ptr @.str13740, ptr %t205, ptr %t206) store ptr %t207, ptr %t115 %t208 = load ptr, ptr %t117 %t209 = getelementptr inbounds %Cmp_Buf, ptr %t208, i32 0, i32 1 store i32 0, ptr %t209 %t210 = load i32, ptr %t126 %t211 = load i32, ptr %t118 %t212 = add i32 %t211, %t210 store i32 %t212, ptr %t118 br label %ifend35 ifend35: br label %wcond9 wend11: %t213 = load ptr, ptr %t117 %t214 = call ptr @fn_buf_str(ptr %t213) store ptr %t214, ptr %t215 %t216 = load ptr, ptr %t215 %t217 = call i64 @strlen(ptr %t216) %t218 = trunc i64 %t217 to i32 %t219 = icmp sgt i32 %t218, 0 %t220 = zext i1 %t219 to i32 %t221 = icmp ne i32 %t220, 0 br i1 %t221, label %then39, label %ifend41 then39: %t222 = load ptr, ptr %t115 %t223 = load ptr, ptr %t215 %t224 = call ptr @fn_emit_str_const(ptr %t223) %t225 = call ptr @fn_val(ptr %t224, ptr @.str13742) %t226 = call ptr @fn_emit_str_op(ptr @.str13741, ptr %t222, ptr %t225) store ptr %t226, ptr %t115 br label %ifend41 ifend41: %t227 = load ptr, ptr %t115 store ptr %t227, ptr %retval br label %ret ret: %t228 = load ptr, ptr %retval ret ptr %t228 } define ptr @fn_emit_datetime_parse(ptr %arg_e) { entry: %retval = alloca ptr %t0 = alloca ptr %t29 = alloca ptr %t43 = alloca ptr %t47 = alloca i32 %t49 = alloca ptr %t52 = alloca ptr %t55 = alloca ptr %t58 = alloca ptr %t61 = alloca ptr %t64 = alloca ptr %t67 = alloca ptr %t69 = alloca i32 %t70 = alloca i32 %t76 = alloca ptr %t77 = alloca i32 %t78 = alloca i32 %t140 = alloca ptr %t152 = alloca ptr %t156 = alloca ptr %t160 = alloca ptr %t164 = alloca ptr %t168 = alloca ptr %t172 = alloca ptr %t183 = alloca ptr %t188 = alloca ptr %t193 = alloca ptr %t198 = alloca ptr %t205 = alloca ptr %t212 = alloca ptr %t219 = alloca ptr %t223 = alloca ptr %t228 = 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 %LSlice, ptr %t3, i32 0, i32 1 %t7 = load i32, ptr %t6 %t8 = icmp ult i32 1, %t7 br i1 %t8, label %ixok0, label %ixbad1 ixbad1: store i32 7609, ptr @lp_site %t9 = call ptr @lp_win_stdio(i32 2) store i32 0, ptr @lp_site call i32 (ptr, ptr, ...) @fprintf(ptr %t9, ptr @.fmt_bounds, ptr @.str13743, i32 1, i32 %t7) call void @exit(i32 1) unreachable ixok0: %t10 = getelementptr inbounds ptr, ptr %t5, i32 1 %t11 = load ptr, ptr %t10 %t12 = getelementptr inbounds %Cmp_Node, ptr %t11, i32 0, i32 0 %t13 = load i32, ptr %t12 %t14 = icmp ne i32 %t13, 31 %t15 = zext i1 %t14 to i32 %t16 = icmp ne i32 %t15, 0 br i1 %t16, label %then2, label %ifend4 then2: call void @fn_perr(ptr @.str13745) br label %ifend4 ifend4: %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 = getelementptr inbounds %LSlice, ptr %t19, i32 0, i32 1 %t23 = load i32, ptr %t22 %t24 = icmp ult i32 0, %t23 br i1 %t24, label %ixok5, label %ixbad6 ixbad6: store i32 7610, ptr @lp_site %t25 = call ptr @lp_win_stdio(i32 2) store i32 0, ptr @lp_site call i32 (ptr, ptr, ...) @fprintf(ptr %t25, ptr @.fmt_bounds, ptr @.str13746, i32 0, i32 %t23) call void @exit(i32 1) unreachable ixok5: %t26 = getelementptr inbounds ptr, ptr %t21, i32 0 %t27 = load ptr, ptr %t26 %t28 = call ptr @fn_emit_expr(ptr %t27) store ptr %t28, ptr %t29 %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 = getelementptr inbounds %LSlice, ptr %t32, i32 0, i32 1 %t36 = load i32, ptr %t35 %t37 = icmp ult i32 1, %t36 br i1 %t37, label %ixok7, label %ixbad8 ixbad8: store i32 7611, ptr @lp_site %t38 = call ptr @lp_win_stdio(i32 2) store i32 0, ptr @lp_site call i32 (ptr, ptr, ...) @fprintf(ptr %t38, ptr @.fmt_bounds, ptr @.str13747, i32 1, i32 %t36) call void @exit(i32 1) unreachable ixok7: %t39 = getelementptr inbounds ptr, ptr %t34, i32 1 %t40 = load ptr, ptr %t39 %t41 = getelementptr inbounds %Cmp_Node, ptr %t40, i32 0, i32 1 %t42 = load ptr, ptr %t41 store ptr %t42, ptr %t43 %t44 = load ptr, ptr %t43 %t45 = call i64 @strlen(ptr %t44) %t46 = trunc i64 %t45 to i32 store i32 %t46, ptr %t47 %t48 = call ptr @fn_emit_alloca(ptr @.str13748) store ptr %t48, ptr %t49 %t50 = load ptr, ptr %t49 call void @fn_store_at(ptr @.str13749, ptr @.str13750, ptr %t50) %t51 = call ptr @fn_emit_alloca(ptr @.str13751) store ptr %t51, ptr %t52 %t53 = load ptr, ptr %t52 call void @fn_store_at(ptr @.str13752, ptr @.str13753, ptr %t53) %t54 = call ptr @fn_emit_alloca(ptr @.str13754) store ptr %t54, ptr %t55 %t56 = load ptr, ptr %t55 call void @fn_store_at(ptr @.str13755, ptr @.str13756, ptr %t56) %t57 = call ptr @fn_emit_alloca(ptr @.str13757) store ptr %t57, ptr %t58 %t59 = load ptr, ptr %t58 call void @fn_store_at(ptr @.str13758, ptr @.str13759, ptr %t59) %t60 = call ptr @fn_emit_alloca(ptr @.str13760) store ptr %t60, ptr %t61 %t62 = load ptr, ptr %t61 call void @fn_store_at(ptr @.str13761, ptr @.str13762, ptr %t62) %t63 = call ptr @fn_emit_alloca(ptr @.str13763) store ptr %t63, ptr %t64 %t65 = load ptr, ptr %t64 call void @fn_store_at(ptr @.str13764, ptr @.str13765, ptr %t65) %t66 = call ptr @fn_emit_alloca(ptr @.str13766) store ptr %t66, ptr %t67 %t68 = load ptr, ptr %t67 call void @fn_store_at(ptr @.str13767, ptr @.str13768, ptr %t68) store i32 0, ptr %t69 store i32 0, ptr %t70 br label %wcond9 wcond9: %t71 = load i32, ptr %t70 %t72 = load i32, ptr %t47 %t73 = icmp slt i32 %t71, %t72 %t74 = zext i1 %t73 to i32 %t75 = icmp ne i32 %t74, 0 br i1 %t75, label %wbody10, label %wend11 wbody10: store ptr null, ptr %t76 store i32 0, ptr %t77 store i32 0, ptr %t78 %t79 = load ptr, ptr %t43 %t80 = load i32, ptr %t47 %t81 = load i32, ptr %t70 %t82 = call i32 @fn_dt_tok_at(ptr %t79, i32 %t80, i32 %t81, ptr @.str13769, i32 4) %t83 = icmp ne i32 %t82, 0 br i1 %t83, label %then12, label %else13 then12: %t84 = load ptr, ptr %t52 store ptr %t84, ptr %t76 store i32 4, ptr %t77 store i32 4, ptr %t78 br label %ifend14 else13: %t85 = load ptr, ptr %t43 %t86 = load i32, ptr %t47 %t87 = load i32, ptr %t70 %t88 = call i32 @fn_dt_tok_at(ptr %t85, i32 %t86, i32 %t87, ptr @.str13770, i32 2) %t89 = icmp ne i32 %t88, 0 br i1 %t89, label %then15, label %else16 then15: %t90 = load ptr, ptr %t55 store ptr %t90, ptr %t76 store i32 2, ptr %t77 store i32 2, ptr %t78 br label %ifend17 else16: %t91 = load ptr, ptr %t43 %t92 = load i32, ptr %t47 %t93 = load i32, ptr %t70 %t94 = call i32 @fn_dt_tok_at(ptr %t91, i32 %t92, i32 %t93, ptr @.str13771, i32 2) %t95 = icmp ne i32 %t94, 0 br i1 %t95, label %then18, label %else19 then18: %t96 = load ptr, ptr %t58 store ptr %t96, ptr %t76 store i32 2, ptr %t77 store i32 2, ptr %t78 br label %ifend20 else19: %t97 = load ptr, ptr %t43 %t98 = load i32, ptr %t47 %t99 = load i32, ptr %t70 %t100 = call i32 @fn_dt_tok_at(ptr %t97, i32 %t98, i32 %t99, ptr @.str13772, i32 2) %t101 = icmp ne i32 %t100, 0 br i1 %t101, label %then21, label %else22 then21: %t102 = load ptr, ptr %t61 store ptr %t102, ptr %t76 store i32 2, ptr %t77 store i32 2, ptr %t78 br label %ifend23 else22: %t103 = load ptr, ptr %t43 %t104 = load i32, ptr %t47 %t105 = load i32, ptr %t70 %t106 = call i32 @fn_dt_tok_at(ptr %t103, i32 %t104, i32 %t105, ptr @.str13773, i32 2) %t107 = icmp ne i32 %t106, 0 br i1 %t107, label %then24, label %else25 then24: %t108 = load ptr, ptr %t64 store ptr %t108, ptr %t76 store i32 2, ptr %t77 store i32 2, ptr %t78 br label %ifend26 else25: %t109 = load ptr, ptr %t43 %t110 = load i32, ptr %t47 %t111 = load i32, ptr %t70 %t112 = call i32 @fn_dt_tok_at(ptr %t109, i32 %t110, i32 %t111, ptr @.str13774, i32 2) %t113 = icmp ne i32 %t112, 0 br i1 %t113, label %then27, label %ifend29 then27: %t114 = load ptr, ptr %t67 store ptr %t114, ptr %t76 store i32 2, ptr %t77 store i32 2, ptr %t78 br label %ifend29 ifend29: br label %ifend26 ifend26: br label %ifend23 ifend23: br label %ifend20 ifend20: br label %ifend17 ifend17: br label %ifend14 ifend14: %t115 = load ptr, ptr %t76 %t116 = icmp eq ptr %t115, null %t117 = zext i1 %t116 to i32 %t118 = icmp ne i32 %t117, 0 br i1 %t118, label %then30, label %else31 then30: %t119 = load i32, ptr %t69 %t120 = add i32 %t119, 1 store i32 %t120, ptr %t69 %t121 = load i32, ptr %t70 %t122 = add i32 %t121, 1 store i32 %t122, ptr %t70 br label %ifend32 else31: %t123 = load ptr, ptr %t29 %t124 = getelementptr inbounds %Cmp_Val, ptr %t123, i32 0, i32 0 %t125 = load ptr, ptr %t124 store i32 7612, ptr @lp_site %t126 = call ptr @lp_str_concat(ptr @.str13775, ptr %t125) store i32 0, ptr @lp_site store i32 7613, ptr @lp_site %t127 = call ptr @lp_str_concat(ptr %t126, ptr @.str13776) store i32 0, ptr @lp_site call void @lp_free(ptr %t126) %t128 = load i32, ptr %t69 %t129 = call ptr @fn_itoa(i32 %t128) store i32 7614, ptr @lp_site %t130 = call ptr @lp_str_concat(ptr %t127, ptr %t129) store i32 0, ptr @lp_site call void @lp_free(ptr %t127) store i32 7615, ptr @lp_site %t131 = call ptr @lp_str_concat(ptr %t130, ptr @.str13777) store i32 0, ptr @lp_site call void @lp_free(ptr %t130) %t132 = load i32, ptr %t77 store i32 7616, ptr @lp_site %t133 = call ptr @lp_int_str(i32 %t132) store i32 0, ptr @lp_site store i32 7617, ptr @lp_site %t134 = call ptr @lp_str_concat(ptr %t131, ptr %t133) store i32 0, ptr @lp_site call void @lp_free(ptr %t131) call void @lp_free(ptr %t133) store i32 7618, ptr @lp_site %t135 = call ptr @lp_str_concat(ptr %t134, ptr @.str13778) store i32 0, ptr @lp_site call void @lp_free(ptr %t134) %t136 = load ptr, ptr %t49 store i32 7619, ptr @lp_site %t137 = call ptr @lp_str_concat(ptr %t135, ptr %t136) store i32 0, ptr @lp_site call void @lp_free(ptr %t135) store i32 7620, ptr @lp_site %t138 = call ptr @lp_str_concat(ptr %t137, ptr @.str13779) store i32 0, ptr @lp_site call void @lp_free(ptr %t137) %t139 = call ptr @fn_emit_bind(ptr %t138) store ptr %t139, ptr %t140 %t141 = load ptr, ptr %t140 %t142 = load ptr, ptr %t76 call void @fn_store_at(ptr @.str13780, ptr %t141, ptr %t142) %t143 = load i32, ptr %t77 %t144 = load i32, ptr %t69 %t145 = add i32 %t144, %t143 store i32 %t145, ptr %t69 %t146 = load i32, ptr %t78 %t147 = load i32, ptr %t70 %t148 = add i32 %t147, %t146 store i32 %t148, ptr %t70 br label %ifend32 ifend32: br label %wcond9 wend11: %t149 = load ptr, ptr %t52 store i32 7621, ptr @lp_site %t150 = call ptr @lp_str_concat(ptr @.str13781, ptr %t149) store i32 0, ptr @lp_site %t151 = call ptr @fn_emit_bind(ptr %t150) store ptr %t151, ptr %t152 %t153 = load ptr, ptr %t55 store i32 7622, ptr @lp_site %t154 = call ptr @lp_str_concat(ptr @.str13782, ptr %t153) store i32 0, ptr @lp_site %t155 = call ptr @fn_emit_bind(ptr %t154) store ptr %t155, ptr %t156 %t157 = load ptr, ptr %t58 store i32 7623, ptr @lp_site %t158 = call ptr @lp_str_concat(ptr @.str13783, ptr %t157) store i32 0, ptr @lp_site %t159 = call ptr @fn_emit_bind(ptr %t158) store ptr %t159, ptr %t160 %t161 = load ptr, ptr %t61 store i32 7624, ptr @lp_site %t162 = call ptr @lp_str_concat(ptr @.str13784, ptr %t161) store i32 0, ptr @lp_site %t163 = call ptr @fn_emit_bind(ptr %t162) store ptr %t163, ptr %t164 %t165 = load ptr, ptr %t64 store i32 7625, ptr @lp_site %t166 = call ptr @lp_str_concat(ptr @.str13785, ptr %t165) store i32 0, ptr @lp_site %t167 = call ptr @fn_emit_bind(ptr %t166) store ptr %t167, ptr %t168 %t169 = load ptr, ptr %t67 store i32 7626, ptr @lp_site %t170 = call ptr @lp_str_concat(ptr @.str13786, ptr %t169) store i32 0, ptr @lp_site %t171 = call ptr @fn_emit_bind(ptr %t170) store ptr %t171, ptr %t172 %t173 = load ptr, ptr %t152 store i32 7627, ptr @lp_site %t174 = call ptr @lp_str_concat(ptr @.str13787, ptr %t173) store i32 0, ptr @lp_site store i32 7628, ptr @lp_site %t175 = call ptr @lp_str_concat(ptr %t174, ptr @.str13788) store i32 0, ptr @lp_site call void @lp_free(ptr %t174) %t176 = load ptr, ptr %t156 store i32 7629, ptr @lp_site %t177 = call ptr @lp_str_concat(ptr %t175, ptr %t176) store i32 0, ptr @lp_site call void @lp_free(ptr %t175) store i32 7630, ptr @lp_site %t178 = call ptr @lp_str_concat(ptr %t177, ptr @.str13789) store i32 0, ptr @lp_site call void @lp_free(ptr %t177) %t179 = load ptr, ptr %t160 store i32 7631, ptr @lp_site %t180 = call ptr @lp_str_concat(ptr %t178, ptr %t179) store i32 0, ptr @lp_site call void @lp_free(ptr %t178) store i32 7632, ptr @lp_site %t181 = call ptr @lp_str_concat(ptr %t180, ptr @.str13790) store i32 0, ptr @lp_site call void @lp_free(ptr %t180) %t182 = call ptr @fn_emit_bind(ptr %t181) store ptr %t182, ptr %t183 %t184 = load ptr, ptr %t183 store i32 7633, ptr @lp_site %t185 = call ptr @lp_str_concat(ptr @.str13791, ptr %t184) store i32 0, ptr @lp_site store i32 7634, ptr @lp_site %t186 = call ptr @lp_str_concat(ptr %t185, ptr @.str13792) store i32 0, ptr @lp_site call void @lp_free(ptr %t185) %t187 = call ptr @fn_emit_bind(ptr %t186) store ptr %t187, ptr %t188 %t189 = load ptr, ptr %t164 store i32 7635, ptr @lp_site %t190 = call ptr @lp_str_concat(ptr @.str13793, ptr %t189) store i32 0, ptr @lp_site store i32 7636, ptr @lp_site %t191 = call ptr @lp_str_concat(ptr %t190, ptr @.str13794) store i32 0, ptr @lp_site call void @lp_free(ptr %t190) %t192 = call ptr @fn_emit_bind(ptr %t191) store ptr %t192, ptr %t193 %t194 = load ptr, ptr %t168 store i32 7637, ptr @lp_site %t195 = call ptr @lp_str_concat(ptr @.str13795, ptr %t194) store i32 0, ptr @lp_site store i32 7638, ptr @lp_site %t196 = call ptr @lp_str_concat(ptr %t195, ptr @.str13796) store i32 0, ptr @lp_site call void @lp_free(ptr %t195) %t197 = call ptr @fn_emit_bind(ptr %t196) store ptr %t197, ptr %t198 %t199 = load ptr, ptr %t188 store i32 7639, ptr @lp_site %t200 = call ptr @lp_str_concat(ptr @.str13797, ptr %t199) store i32 0, ptr @lp_site store i32 7640, ptr @lp_site %t201 = call ptr @lp_str_concat(ptr %t200, ptr @.str13798) store i32 0, ptr @lp_site call void @lp_free(ptr %t200) %t202 = load ptr, ptr %t193 store i32 7641, ptr @lp_site %t203 = call ptr @lp_str_concat(ptr %t201, ptr %t202) store i32 0, ptr @lp_site call void @lp_free(ptr %t201) %t204 = call ptr @fn_emit_bind(ptr %t203) store ptr %t204, ptr %t205 %t206 = load ptr, ptr %t205 store i32 7642, ptr @lp_site %t207 = call ptr @lp_str_concat(ptr @.str13799, ptr %t206) store i32 0, ptr @lp_site store i32 7643, ptr @lp_site %t208 = call ptr @lp_str_concat(ptr %t207, ptr @.str13800) store i32 0, ptr @lp_site call void @lp_free(ptr %t207) %t209 = load ptr, ptr %t198 store i32 7644, ptr @lp_site %t210 = call ptr @lp_str_concat(ptr %t208, ptr %t209) store i32 0, ptr @lp_site call void @lp_free(ptr %t208) %t211 = call ptr @fn_emit_bind(ptr %t210) store ptr %t211, ptr %t212 %t213 = load ptr, ptr %t212 store i32 7645, ptr @lp_site %t214 = call ptr @lp_str_concat(ptr @.str13801, ptr %t213) store i32 0, ptr @lp_site store i32 7646, ptr @lp_site %t215 = call ptr @lp_str_concat(ptr %t214, ptr @.str13802) store i32 0, ptr @lp_site call void @lp_free(ptr %t214) %t216 = load ptr, ptr %t172 store i32 7647, ptr @lp_site %t217 = call ptr @lp_str_concat(ptr %t215, ptr %t216) store i32 0, ptr @lp_site call void @lp_free(ptr %t215) %t218 = call ptr @fn_emit_bind(ptr %t217) store ptr %t218, ptr %t219 %t220 = load ptr, ptr %t49 store i32 7648, ptr @lp_site %t221 = call ptr @lp_str_concat(ptr @.str13803, ptr %t220) store i32 0, ptr @lp_site %t222 = call ptr @fn_emit_bind(ptr %t221) store ptr %t222, ptr %t223 %t224 = load ptr, ptr %t223 store i32 7649, ptr @lp_site %t225 = call ptr @lp_str_concat(ptr @.str13804, ptr %t224) store i32 0, ptr @lp_site store i32 7650, ptr @lp_site %t226 = call ptr @lp_str_concat(ptr %t225, ptr @.str13805) store i32 0, ptr @lp_site call void @lp_free(ptr %t225) %t227 = call ptr @fn_emit_bind(ptr %t226) store ptr %t227, ptr %t228 %t229 = load ptr, ptr %t228 store i32 7651, ptr @lp_site %t230 = call ptr @lp_str_concat(ptr @.str13806, ptr %t229) store i32 0, ptr @lp_site store i32 7652, ptr @lp_site %t231 = call ptr @lp_str_concat(ptr %t230, ptr @.str13807) store i32 0, ptr @lp_site call void @lp_free(ptr %t230) %t232 = load ptr, ptr %t219 store i32 7653, ptr @lp_site %t233 = call ptr @lp_str_concat(ptr %t231, ptr %t232) store i32 0, ptr @lp_site call void @lp_free(ptr %t231) %t234 = call ptr @fn_emit_bind(ptr %t233) %t235 = call ptr @fn_val(ptr %t234, ptr @.str13808) store ptr %t235, ptr %retval br label %ret ret: %t236 = load ptr, ptr %retval ret ptr %t236 } define ptr @fn_emit_datetime_ns(ptr %arg_meth, ptr %arg_e) { entry: %retval = alloca ptr %t0 = alloca ptr %t1 = alloca ptr %t27 = alloca ptr %t40 = alloca ptr %t53 = alloca ptr %t66 = alloca ptr %t79 = alloca ptr %t92 = alloca ptr %t109 = alloca ptr %t114 = alloca ptr %t121 = alloca ptr %t128 = alloca ptr %t135 = alloca ptr %t142 = alloca ptr %t167 = alloca ptr %t188 = alloca ptr %t201 = alloca ptr %t228 = alloca ptr %t250 = alloca ptr %t272 = alloca ptr %t294 = alloca ptr %t299 = alloca ptr %t304 = alloca ptr %t309 = alloca ptr %t314 = alloca ptr %t335 = alloca ptr %t340 = alloca ptr %t361 = alloca ptr %t366 = alloca ptr %t371 = alloca ptr %t389 = alloca ptr %t394 = 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 @.str13809) %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 @.str13810) %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 @.str13811) %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 %LSlice, ptr %t17, i32 0, i32 1 %t21 = load i32, ptr %t20 %t22 = icmp ult i32 0, %t21 br i1 %t22, label %ixok9, label %ixbad10 ixbad10: store i32 7654, ptr @lp_site %t23 = call ptr @lp_win_stdio(i32 2) store i32 0, ptr @lp_site call i32 (ptr, ptr, ...) @fprintf(ptr %t23, ptr @.fmt_bounds, ptr @.str13812, i32 0, i32 %t21) call void @exit(i32 1) unreachable ixok9: %t24 = getelementptr inbounds ptr, ptr %t19, i32 0 %t25 = load ptr, ptr %t24 %t26 = call ptr @fn_emit_expr(ptr %t25) store ptr %t26, ptr %t27 %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 %LSlice, ptr %t30, i32 0, i32 1 %t34 = load i32, ptr %t33 %t35 = icmp ult i32 1, %t34 br i1 %t35, label %ixok11, label %ixbad12 ixbad12: store i32 7655, ptr @lp_site %t36 = call ptr @lp_win_stdio(i32 2) store i32 0, ptr @lp_site call i32 (ptr, ptr, ...) @fprintf(ptr %t36, ptr @.fmt_bounds, ptr @.str13814, i32 1, i32 %t34) call void @exit(i32 1) unreachable ixok11: %t37 = getelementptr inbounds ptr, ptr %t32, i32 1 %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 %LSlice, ptr %t43, i32 0, i32 1 %t47 = load i32, ptr %t46 %t48 = icmp ult i32 2, %t47 br i1 %t48, label %ixok13, label %ixbad14 ixbad14: store i32 7656, ptr @lp_site %t49 = call ptr @lp_win_stdio(i32 2) store i32 0, ptr @lp_site call i32 (ptr, ptr, ...) @fprintf(ptr %t49, ptr @.fmt_bounds, ptr @.str13815, i32 2, i32 %t47) call void @exit(i32 1) unreachable ixok13: %t50 = getelementptr inbounds ptr, ptr %t45, i32 2 %t51 = load ptr, ptr %t50 %t52 = call ptr @fn_emit_expr(ptr %t51) store ptr %t52, ptr %t53 %t54 = load ptr, ptr %t1 %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 = getelementptr inbounds %LSlice, ptr %t56, i32 0, i32 1 %t60 = load i32, ptr %t59 %t61 = icmp ult i32 3, %t60 br i1 %t61, label %ixok15, label %ixbad16 ixbad16: store i32 7657, ptr @lp_site %t62 = call ptr @lp_win_stdio(i32 2) store i32 0, ptr @lp_site call i32 (ptr, ptr, ...) @fprintf(ptr %t62, ptr @.fmt_bounds, ptr @.str13816, i32 3, i32 %t60) call void @exit(i32 1) unreachable ixok15: %t63 = getelementptr inbounds ptr, ptr %t58, i32 3 %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 %LSlice, ptr %t69, i32 0, i32 1 %t73 = load i32, ptr %t72 %t74 = icmp ult i32 4, %t73 br i1 %t74, label %ixok17, label %ixbad18 ixbad18: store i32 7658, ptr @lp_site %t75 = call ptr @lp_win_stdio(i32 2) store i32 0, ptr @lp_site call i32 (ptr, ptr, ...) @fprintf(ptr %t75, ptr @.fmt_bounds, ptr @.str13817, i32 4, i32 %t73) call void @exit(i32 1) unreachable ixok17: %t76 = getelementptr inbounds ptr, ptr %t71, i32 4 %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 %LSlice, ptr %t82, i32 0, i32 1 %t86 = load i32, ptr %t85 %t87 = icmp ult i32 5, %t86 br i1 %t87, label %ixok19, label %ixbad20 ixbad20: store i32 7659, ptr @lp_site %t88 = call ptr @lp_win_stdio(i32 2) store i32 0, ptr @lp_site call i32 (ptr, ptr, ...) @fprintf(ptr %t88, ptr @.fmt_bounds, ptr @.str13818, i32 5, i32 %t86) call void @exit(i32 1) unreachable ixok19: %t89 = getelementptr inbounds ptr, ptr %t84, i32 5 %t90 = load ptr, ptr %t89 %t91 = call ptr @fn_emit_expr(ptr %t90) store ptr %t91, ptr %t92 %t93 = load ptr, ptr %t27 %t94 = getelementptr inbounds %Cmp_Val, ptr %t93, i32 0, i32 0 %t95 = load ptr, ptr %t94 store i32 7660, ptr @lp_site %t96 = call ptr @lp_str_concat(ptr @.str13819, ptr %t95) store i32 0, ptr @lp_site store i32 7661, ptr @lp_site %t97 = call ptr @lp_str_concat(ptr %t96, ptr @.str13820) store i32 0, ptr @lp_site call void @lp_free(ptr %t96) %t98 = load ptr, ptr %t40 %t99 = getelementptr inbounds %Cmp_Val, ptr %t98, i32 0, i32 0 %t100 = load ptr, ptr %t99 store i32 7662, ptr @lp_site %t101 = call ptr @lp_str_concat(ptr %t97, ptr %t100) store i32 0, ptr @lp_site call void @lp_free(ptr %t97) store i32 7663, ptr @lp_site %t102 = call ptr @lp_str_concat(ptr %t101, ptr @.str13821) store i32 0, ptr @lp_site call void @lp_free(ptr %t101) %t103 = load ptr, ptr %t53 %t104 = getelementptr inbounds %Cmp_Val, ptr %t103, i32 0, i32 0 %t105 = load ptr, ptr %t104 store i32 7664, ptr @lp_site %t106 = call ptr @lp_str_concat(ptr %t102, ptr %t105) store i32 0, ptr @lp_site call void @lp_free(ptr %t102) store i32 7665, ptr @lp_site %t107 = call ptr @lp_str_concat(ptr %t106, ptr @.str13822) store i32 0, ptr @lp_site call void @lp_free(ptr %t106) %t108 = call ptr @fn_emit_bind(ptr %t107) store ptr %t108, ptr %t109 %t110 = load ptr, ptr %t109 store i32 7666, ptr @lp_site %t111 = call ptr @lp_str_concat(ptr @.str13823, ptr %t110) store i32 0, ptr @lp_site store i32 7667, ptr @lp_site %t112 = call ptr @lp_str_concat(ptr %t111, ptr @.str13824) store i32 0, ptr @lp_site call void @lp_free(ptr %t111) %t113 = call ptr @fn_emit_bind(ptr %t112) store ptr %t113, ptr %t114 %t115 = load ptr, ptr %t66 %t116 = getelementptr inbounds %Cmp_Val, ptr %t115, i32 0, i32 0 %t117 = load ptr, ptr %t116 store i32 7668, ptr @lp_site %t118 = call ptr @lp_str_concat(ptr @.str13825, ptr %t117) store i32 0, ptr @lp_site store i32 7669, ptr @lp_site %t119 = call ptr @lp_str_concat(ptr %t118, ptr @.str13826) store i32 0, ptr @lp_site call void @lp_free(ptr %t118) %t120 = call ptr @fn_emit_bind(ptr %t119) store ptr %t120, ptr %t121 %t122 = load ptr, ptr %t79 %t123 = getelementptr inbounds %Cmp_Val, ptr %t122, i32 0, i32 0 %t124 = load ptr, ptr %t123 store i32 7670, ptr @lp_site %t125 = call ptr @lp_str_concat(ptr @.str13827, ptr %t124) store i32 0, ptr @lp_site store i32 7671, ptr @lp_site %t126 = call ptr @lp_str_concat(ptr %t125, ptr @.str13828) store i32 0, ptr @lp_site call void @lp_free(ptr %t125) %t127 = call ptr @fn_emit_bind(ptr %t126) store ptr %t127, ptr %t128 %t129 = load ptr, ptr %t114 store i32 7672, ptr @lp_site %t130 = call ptr @lp_str_concat(ptr @.str13829, ptr %t129) store i32 0, ptr @lp_site store i32 7673, ptr @lp_site %t131 = call ptr @lp_str_concat(ptr %t130, ptr @.str13830) store i32 0, ptr @lp_site call void @lp_free(ptr %t130) %t132 = load ptr, ptr %t121 store i32 7674, ptr @lp_site %t133 = call ptr @lp_str_concat(ptr %t131, ptr %t132) store i32 0, ptr @lp_site call void @lp_free(ptr %t131) %t134 = call ptr @fn_emit_bind(ptr %t133) store ptr %t134, ptr %t135 %t136 = load ptr, ptr %t135 store i32 7675, ptr @lp_site %t137 = call ptr @lp_str_concat(ptr @.str13831, ptr %t136) store i32 0, ptr @lp_site store i32 7676, ptr @lp_site %t138 = call ptr @lp_str_concat(ptr %t137, ptr @.str13832) store i32 0, ptr @lp_site call void @lp_free(ptr %t137) %t139 = load ptr, ptr %t128 store i32 7677, ptr @lp_site %t140 = call ptr @lp_str_concat(ptr %t138, ptr %t139) store i32 0, ptr @lp_site call void @lp_free(ptr %t138) %t141 = call ptr @fn_emit_bind(ptr %t140) store ptr %t141, ptr %t142 %t143 = load ptr, ptr %t142 store i32 7678, ptr @lp_site %t144 = call ptr @lp_str_concat(ptr @.str13833, ptr %t143) store i32 0, ptr @lp_site store i32 7679, ptr @lp_site %t145 = call ptr @lp_str_concat(ptr %t144, ptr @.str13834) store i32 0, ptr @lp_site call void @lp_free(ptr %t144) %t146 = load ptr, ptr %t92 %t147 = getelementptr inbounds %Cmp_Val, ptr %t146, i32 0, i32 0 %t148 = load ptr, ptr %t147 store i32 7680, ptr @lp_site %t149 = call ptr @lp_str_concat(ptr %t145, ptr %t148) store i32 0, ptr @lp_site call void @lp_free(ptr %t145) %t150 = call ptr @fn_emit_bind(ptr %t149) %t151 = call ptr @fn_val(ptr %t150, ptr @.str13835) store ptr %t151, ptr %retval br label %ret ifend8: %t152 = load ptr, ptr %t0 %t153 = call i32 @lp_str_eq(ptr %t152, ptr @.str13836) %t154 = icmp ne i32 %t153, 0 br i1 %t154, label %then21, label %ifend23 then21: %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 %LSlice, ptr %t157, i32 0, i32 1 %t161 = load i32, ptr %t160 %t162 = icmp ult i32 0, %t161 br i1 %t162, label %ixok24, label %ixbad25 ixbad25: store i32 7681, ptr @lp_site %t163 = call ptr @lp_win_stdio(i32 2) store i32 0, ptr @lp_site call i32 (ptr, ptr, ...) @fprintf(ptr %t163, ptr @.fmt_bounds, ptr @.str13837, i32 0, i32 %t161) call void @exit(i32 1) unreachable ixok24: %t164 = getelementptr inbounds ptr, ptr %t159, i32 0 %t165 = load ptr, ptr %t164 %t166 = call ptr @fn_emit_expr(ptr %t165) store ptr %t166, ptr %t167 %t168 = load ptr, ptr %t167 %t169 = getelementptr inbounds %Cmp_Val, ptr %t168, i32 0, i32 0 %t170 = load ptr, ptr %t169 %t171 = call ptr @fn_dt_epochday(ptr %t170) %t172 = call ptr @fn_val(ptr %t171, ptr @.str13838) store ptr %t172, ptr %retval br label %ret ifend23: %t173 = load ptr, ptr %t0 %t174 = call i32 @lp_str_eq(ptr %t173, ptr @.str13839) %t175 = icmp ne i32 %t174, 0 br i1 %t175, label %then26, label %ifend28 then26: %t176 = load ptr, ptr %t1 %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 %LSlice, ptr %t178, i32 0, i32 1 %t182 = load i32, ptr %t181 %t183 = icmp ult i32 0, %t182 br i1 %t183, label %ixok29, label %ixbad30 ixbad30: store i32 7682, ptr @lp_site %t184 = call ptr @lp_win_stdio(i32 2) store i32 0, ptr @lp_site call i32 (ptr, ptr, ...) @fprintf(ptr %t184, ptr @.fmt_bounds, ptr @.str13840, i32 0, i32 %t182) call void @exit(i32 1) unreachable ixok29: %t185 = getelementptr inbounds ptr, ptr %t180, i32 0 %t186 = load ptr, ptr %t185 %t187 = call ptr @fn_emit_expr(ptr %t186) store ptr %t187, ptr %t188 %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 %LSlice, ptr %t191, i32 0, i32 1 %t195 = load i32, ptr %t194 %t196 = icmp ult i32 1, %t195 br i1 %t196, label %ixok31, label %ixbad32 ixbad32: store i32 7683, ptr @lp_site %t197 = call ptr @lp_win_stdio(i32 2) store i32 0, ptr @lp_site call i32 (ptr, ptr, ...) @fprintf(ptr %t197, ptr @.fmt_bounds, ptr @.str13841, i32 1, i32 %t195) call void @exit(i32 1) unreachable ixok31: %t198 = getelementptr inbounds ptr, ptr %t193, i32 1 %t199 = load ptr, ptr %t198 %t200 = call ptr @fn_emit_expr(ptr %t199) store ptr %t200, ptr %t201 %t202 = load ptr, ptr %t188 %t203 = getelementptr inbounds %Cmp_Val, ptr %t202, i32 0, i32 0 %t204 = load ptr, ptr %t203 store i32 7684, ptr @lp_site %t205 = call ptr @lp_str_concat(ptr @.str13842, ptr %t204) store i32 0, ptr @lp_site store i32 7685, ptr @lp_site %t206 = call ptr @lp_str_concat(ptr %t205, ptr @.str13843) store i32 0, ptr @lp_site call void @lp_free(ptr %t205) %t207 = load ptr, ptr %t201 %t208 = getelementptr inbounds %Cmp_Val, ptr %t207, i32 0, i32 0 %t209 = load ptr, ptr %t208 store i32 7686, ptr @lp_site %t210 = call ptr @lp_str_concat(ptr %t206, ptr %t209) store i32 0, ptr @lp_site call void @lp_free(ptr %t206) %t211 = call ptr @fn_emit_bind(ptr %t210) %t212 = call ptr @fn_val(ptr %t211, ptr @.str13844) store ptr %t212, ptr %retval br label %ret ifend28: %t213 = load ptr, ptr %t0 %t214 = call i32 @lp_str_eq(ptr %t213, ptr @.str13845) %t215 = icmp ne i32 %t214, 0 br i1 %t215, label %then33, label %ifend35 then33: %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 %LSlice, ptr %t218, i32 0, i32 1 %t222 = load i32, ptr %t221 %t223 = icmp ult i32 0, %t222 br i1 %t223, label %ixok36, label %ixbad37 ixbad37: store i32 7687, ptr @lp_site %t224 = call ptr @lp_win_stdio(i32 2) store i32 0, ptr @lp_site call i32 (ptr, ptr, ...) @fprintf(ptr %t224, ptr @.fmt_bounds, ptr @.str13846, i32 0, i32 %t222) call void @exit(i32 1) unreachable ixok36: %t225 = getelementptr inbounds ptr, ptr %t220, i32 0 %t226 = load ptr, ptr %t225 %t227 = call ptr @fn_emit_expr(ptr %t226) store ptr %t227, ptr %t228 %t229 = load ptr, ptr %t228 %t230 = getelementptr inbounds %Cmp_Val, ptr %t229, i32 0, i32 0 %t231 = load ptr, ptr %t230 %t232 = call ptr @fn_dt_epochday(ptr %t231) %t233 = call ptr @fn_date_component(ptr %t232, i32 0) %t234 = call ptr @fn_val(ptr %t233, ptr @.str13847) store ptr %t234, ptr %retval br label %ret ifend35: %t235 = load ptr, ptr %t0 %t236 = call i32 @lp_str_eq(ptr %t235, ptr @.str13848) %t237 = icmp ne i32 %t236, 0 br i1 %t237, label %then38, label %ifend40 then38: %t238 = load ptr, ptr %t1 %t239 = getelementptr inbounds %Cmp_Node, ptr %t238, i32 0, i32 7 %t240 = load ptr, ptr %t239 %t241 = getelementptr inbounds %LSlice, ptr %t240, i32 0, i32 0 %t242 = load ptr, ptr %t241 %t243 = getelementptr inbounds %LSlice, ptr %t240, i32 0, i32 1 %t244 = load i32, ptr %t243 %t245 = icmp ult i32 0, %t244 br i1 %t245, label %ixok41, label %ixbad42 ixbad42: store i32 7688, ptr @lp_site %t246 = call ptr @lp_win_stdio(i32 2) store i32 0, ptr @lp_site call i32 (ptr, ptr, ...) @fprintf(ptr %t246, ptr @.fmt_bounds, ptr @.str13849, i32 0, i32 %t244) call void @exit(i32 1) unreachable ixok41: %t247 = getelementptr inbounds ptr, ptr %t242, i32 0 %t248 = load ptr, ptr %t247 %t249 = call ptr @fn_emit_expr(ptr %t248) store ptr %t249, ptr %t250 %t251 = load ptr, ptr %t250 %t252 = getelementptr inbounds %Cmp_Val, ptr %t251, i32 0, i32 0 %t253 = load ptr, ptr %t252 %t254 = call ptr @fn_dt_epochday(ptr %t253) %t255 = call ptr @fn_date_component(ptr %t254, i32 1) %t256 = call ptr @fn_val(ptr %t255, ptr @.str13850) store ptr %t256, ptr %retval br label %ret ifend40: %t257 = load ptr, ptr %t0 %t258 = call i32 @lp_str_eq(ptr %t257, ptr @.str13851) %t259 = icmp ne i32 %t258, 0 br i1 %t259, label %then43, label %ifend45 then43: %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 %LSlice, ptr %t262, i32 0, i32 1 %t266 = load i32, ptr %t265 %t267 = icmp ult i32 0, %t266 br i1 %t267, label %ixok46, label %ixbad47 ixbad47: store i32 7689, ptr @lp_site %t268 = call ptr @lp_win_stdio(i32 2) store i32 0, ptr @lp_site call i32 (ptr, ptr, ...) @fprintf(ptr %t268, ptr @.fmt_bounds, ptr @.str13852, i32 0, i32 %t266) call void @exit(i32 1) unreachable ixok46: %t269 = getelementptr inbounds ptr, ptr %t264, i32 0 %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 @fn_dt_epochday(ptr %t275) %t277 = call ptr @fn_date_component(ptr %t276, i32 2) %t278 = call ptr @fn_val(ptr %t277, ptr @.str13853) store ptr %t278, ptr %retval br label %ret ifend45: %t279 = load ptr, ptr %t0 %t280 = call i32 @lp_str_eq(ptr %t279, ptr @.str13854) %t281 = icmp ne i32 %t280, 0 br i1 %t281, label %then48, label %ifend50 then48: %t282 = load ptr, ptr %t1 %t283 = getelementptr inbounds %Cmp_Node, ptr %t282, i32 0, i32 7 %t284 = load ptr, ptr %t283 %t285 = getelementptr inbounds %LSlice, ptr %t284, i32 0, i32 0 %t286 = load ptr, ptr %t285 %t287 = getelementptr inbounds %LSlice, ptr %t284, i32 0, i32 1 %t288 = load i32, ptr %t287 %t289 = icmp ult i32 0, %t288 br i1 %t289, label %ixok51, label %ixbad52 ixbad52: store i32 7690, ptr @lp_site %t290 = call ptr @lp_win_stdio(i32 2) store i32 0, ptr @lp_site call i32 (ptr, ptr, ...) @fprintf(ptr %t290, ptr @.fmt_bounds, ptr @.str13855, i32 0, i32 %t288) call void @exit(i32 1) unreachable ixok51: %t291 = getelementptr inbounds ptr, ptr %t286, i32 0 %t292 = load ptr, ptr %t291 %t293 = call ptr @fn_emit_expr(ptr %t292) store ptr %t293, ptr %t294 %t295 = load ptr, ptr %t294 %t296 = getelementptr inbounds %Cmp_Val, ptr %t295, i32 0, i32 0 %t297 = load ptr, ptr %t296 %t298 = call ptr @fn_dt_epochday(ptr %t297) store ptr %t298, ptr %t299 %t300 = load ptr, ptr %t299 store i32 7691, ptr @lp_site %t301 = call ptr @lp_str_concat(ptr @.str13856, ptr %t300) store i32 0, ptr @lp_site store i32 7692, ptr @lp_site %t302 = call ptr @lp_str_concat(ptr %t301, ptr @.str13857) store i32 0, ptr @lp_site call void @lp_free(ptr %t301) %t303 = call ptr @fn_emit_bind(ptr %t302) store ptr %t303, ptr %t304 %t305 = load ptr, ptr %t304 store i32 7693, ptr @lp_site %t306 = call ptr @lp_str_concat(ptr @.str13858, ptr %t305) store i32 0, ptr @lp_site store i32 7694, ptr @lp_site %t307 = call ptr @lp_str_concat(ptr %t306, ptr @.str13859) store i32 0, ptr @lp_site call void @lp_free(ptr %t306) %t308 = call ptr @fn_emit_bind(ptr %t307) store ptr %t308, ptr %t309 %t310 = load ptr, ptr %t309 store i32 7695, ptr @lp_site %t311 = call ptr @lp_str_concat(ptr @.str13860, ptr %t310) store i32 0, ptr @lp_site store i32 7696, ptr @lp_site %t312 = call ptr @lp_str_concat(ptr %t311, ptr @.str13861) store i32 0, ptr @lp_site call void @lp_free(ptr %t311) %t313 = call ptr @fn_emit_bind(ptr %t312) store ptr %t313, ptr %t314 %t315 = load ptr, ptr %t314 store i32 7697, ptr @lp_site %t316 = call ptr @lp_str_concat(ptr @.str13862, ptr %t315) store i32 0, ptr @lp_site store i32 7698, ptr @lp_site %t317 = call ptr @lp_str_concat(ptr %t316, ptr @.str13863) store i32 0, ptr @lp_site call void @lp_free(ptr %t316) %t318 = call ptr @fn_emit_bind(ptr %t317) %t319 = call ptr @fn_val(ptr %t318, ptr @.str13864) store ptr %t319, ptr %retval br label %ret ifend50: %t320 = load ptr, ptr %t0 %t321 = call i32 @lp_str_eq(ptr %t320, ptr @.str13865) %t322 = icmp ne i32 %t321, 0 br i1 %t322, label %then53, label %ifend55 then53: %t323 = load ptr, ptr %t1 %t324 = getelementptr inbounds %Cmp_Node, ptr %t323, i32 0, i32 7 %t325 = load ptr, ptr %t324 %t326 = getelementptr inbounds %LSlice, ptr %t325, i32 0, i32 0 %t327 = load ptr, ptr %t326 %t328 = getelementptr inbounds %LSlice, ptr %t325, i32 0, i32 1 %t329 = load i32, ptr %t328 %t330 = icmp ult i32 0, %t329 br i1 %t330, label %ixok56, label %ixbad57 ixbad57: store i32 7699, ptr @lp_site %t331 = call ptr @lp_win_stdio(i32 2) store i32 0, ptr @lp_site call i32 (ptr, ptr, ...) @fprintf(ptr %t331, ptr @.fmt_bounds, ptr @.str13866, i32 0, i32 %t329) call void @exit(i32 1) unreachable ixok56: %t332 = getelementptr inbounds ptr, ptr %t327, i32 0 %t333 = load ptr, ptr %t332 %t334 = call ptr @fn_emit_expr(ptr %t333) store ptr %t334, ptr %t335 %t336 = load ptr, ptr %t335 %t337 = getelementptr inbounds %Cmp_Val, ptr %t336, i32 0, i32 0 %t338 = load ptr, ptr %t337 %t339 = call ptr @fn_dt_secofday(ptr %t338) store ptr %t339, ptr %t340 %t341 = load ptr, ptr %t340 store i32 7700, ptr @lp_site %t342 = call ptr @lp_str_concat(ptr @.str13867, ptr %t341) store i32 0, ptr @lp_site store i32 7701, ptr @lp_site %t343 = call ptr @lp_str_concat(ptr %t342, ptr @.str13868) store i32 0, ptr @lp_site call void @lp_free(ptr %t342) %t344 = call ptr @fn_emit_bind(ptr %t343) %t345 = call ptr @fn_val(ptr %t344, ptr @.str13869) store ptr %t345, ptr %retval br label %ret ifend55: %t346 = load ptr, ptr %t0 %t347 = call i32 @lp_str_eq(ptr %t346, ptr @.str13870) %t348 = icmp ne i32 %t347, 0 br i1 %t348, label %then58, label %ifend60 then58: %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 %LSlice, ptr %t351, i32 0, i32 1 %t355 = load i32, ptr %t354 %t356 = icmp ult i32 0, %t355 br i1 %t356, label %ixok61, label %ixbad62 ixbad62: store i32 7702, ptr @lp_site %t357 = call ptr @lp_win_stdio(i32 2) store i32 0, ptr @lp_site call i32 (ptr, ptr, ...) @fprintf(ptr %t357, ptr @.fmt_bounds, ptr @.str13871, i32 0, i32 %t355) call void @exit(i32 1) unreachable ixok61: %t358 = getelementptr inbounds ptr, ptr %t353, i32 0 %t359 = load ptr, ptr %t358 %t360 = call ptr @fn_emit_expr(ptr %t359) store ptr %t360, ptr %t361 %t362 = load ptr, ptr %t361 %t363 = getelementptr inbounds %Cmp_Val, ptr %t362, i32 0, i32 0 %t364 = load ptr, ptr %t363 %t365 = call ptr @fn_dt_secofday(ptr %t364) store ptr %t365, ptr %t366 %t367 = load ptr, ptr %t366 store i32 7703, ptr @lp_site %t368 = call ptr @lp_str_concat(ptr @.str13872, ptr %t367) store i32 0, ptr @lp_site store i32 7704, ptr @lp_site %t369 = call ptr @lp_str_concat(ptr %t368, ptr @.str13873) store i32 0, ptr @lp_site call void @lp_free(ptr %t368) %t370 = call ptr @fn_emit_bind(ptr %t369) store ptr %t370, ptr %t371 %t372 = load ptr, ptr %t371 store i32 7705, ptr @lp_site %t373 = call ptr @lp_str_concat(ptr @.str13874, ptr %t372) store i32 0, ptr @lp_site store i32 7706, ptr @lp_site %t374 = call ptr @lp_str_concat(ptr %t373, ptr @.str13875) store i32 0, ptr @lp_site call void @lp_free(ptr %t373) %t375 = call ptr @fn_emit_bind(ptr %t374) %t376 = call ptr @fn_val(ptr %t375, ptr @.str13876) store ptr %t376, ptr %retval br label %ret ifend60: %t377 = load ptr, ptr %t1 %t378 = getelementptr inbounds %Cmp_Node, ptr %t377, i32 0, i32 7 %t379 = load ptr, ptr %t378 %t380 = getelementptr inbounds %LSlice, ptr %t379, i32 0, i32 0 %t381 = load ptr, ptr %t380 %t382 = getelementptr inbounds %LSlice, ptr %t379, i32 0, i32 1 %t383 = load i32, ptr %t382 %t384 = icmp ult i32 0, %t383 br i1 %t384, label %ixok63, label %ixbad64 ixbad64: store i32 7707, ptr @lp_site %t385 = call ptr @lp_win_stdio(i32 2) store i32 0, ptr @lp_site call i32 (ptr, ptr, ...) @fprintf(ptr %t385, ptr @.fmt_bounds, ptr @.str13877, i32 0, i32 %t383) call void @exit(i32 1) unreachable ixok63: %t386 = getelementptr inbounds ptr, ptr %t381, i32 0 %t387 = load ptr, ptr %t386 %t388 = call ptr @fn_emit_expr(ptr %t387) store ptr %t388, ptr %t389 %t390 = load ptr, ptr %t389 %t391 = getelementptr inbounds %Cmp_Val, ptr %t390, i32 0, i32 0 %t392 = load ptr, ptr %t391 %t393 = call ptr @fn_dt_secofday(ptr %t392) store ptr %t393, ptr %t394 %t395 = load ptr, ptr %t394 store i32 7708, ptr @lp_site %t396 = call ptr @lp_str_concat(ptr @.str13878, ptr %t395) store i32 0, ptr @lp_site store i32 7709, ptr @lp_site %t397 = call ptr @lp_str_concat(ptr %t396, ptr @.str13879) store i32 0, ptr @lp_site call void @lp_free(ptr %t396) %t398 = call ptr @fn_emit_bind(ptr %t397) %t399 = call ptr @fn_val(ptr %t398, ptr @.str13880) store ptr %t399, ptr %retval br label %ret ret: %t400 = load ptr, ptr %retval ret ptr %t400 } define void @fn_emit_datetime_prelude() { entry: call void @fn_emith(ptr @.str13881) call void @fn_emith(ptr @.str13882) call void @fn_emith(ptr @.str13883) call void @fn_emith(ptr @.str13884) call void @fn_emith(ptr @.str13885) call void @fn_emith(ptr @.str13886) call void @fn_emith(ptr @.str13887) call void @fn_emith(ptr @.str13888) call void @fn_emith(ptr @.str13889) call void @fn_emith(ptr @.str13890) call void @fn_emith(ptr @.str13891) call void @fn_emith(ptr @.str13892) call void @fn_emith(ptr @.str13893) call void @fn_emith(ptr @.str13894) call void @fn_emith(ptr @.str13895) call void @fn_emith(ptr @.str13896) call void @fn_emith(ptr @.str13897) call void @fn_emith(ptr @.str13898) call void @fn_emith(ptr @.str13899) call void @fn_emith(ptr @.str13900) call void @fn_emith(ptr @.str13901) call void @fn_emith(ptr @.str13902) call void @fn_emith(ptr @.str13903) call void @fn_emith(ptr @.str13904) call void @fn_emith(ptr @.str13905) call void @fn_emith(ptr @.str13906) call void @fn_emith(ptr @.str13907) call void @fn_emith(ptr @.str13908) call void @fn_emith(ptr @.str13909) call void @fn_emith(ptr @.str13910) call void @fn_emith(ptr @.str13911) call void @fn_emith(ptr @.str13912) call void @fn_emith(ptr @.str13913) call void @fn_emith(ptr @.str13914) call void @fn_emith(ptr @.str13915) call void @fn_emith(ptr @.str13916) call void @fn_emith(ptr @.str13917) call void @fn_emith(ptr @.str13918) call void @fn_emith(ptr @.str13919) call void @fn_emith(ptr @.str13920) call void @fn_emith(ptr @.str13921) call void @fn_emith(ptr @.str13922) call void @fn_emith(ptr @.str13923) call void @fn_emith(ptr @.str13924) call void @fn_emith(ptr @.str13925) call void @fn_emith(ptr @.str13926) call void @fn_emith(ptr @.str13927) call void @fn_emith(ptr @.str13928) call void @fn_emith(ptr @.str13929) call void @fn_emith(ptr @.str13930) call void @fn_emith(ptr @.str13931) call void @fn_emith(ptr @.str13932) call void @fn_emith(ptr @.str13933) call void @fn_emith(ptr @.str13934) call void @fn_emith(ptr @.str13935) call void @fn_emith(ptr @.str13936) call void @fn_emith(ptr @.str13937) call void @fn_emith(ptr @.str13938) call void @fn_emith(ptr @.str13939) call void @fn_emith(ptr @.str13940) call void @fn_emith(ptr @.str13941) call void @fn_emith(ptr @.str13942) call void @fn_emith(ptr @.str13943) call void @fn_emith(ptr @.str13944) call void @fn_emith(ptr @.str13945) call void @fn_emith(ptr @.str13946) call void @fn_emith(ptr @.str13947) call void @fn_emith(ptr @.str13948) call void @fn_emith(ptr @.str13949) call void @fn_emith(ptr @.str13950) call void @fn_emith(ptr @.str13951) call void @fn_emith(ptr @.str13952) call void @fn_emith(ptr @.str13953) call void @fn_emith(ptr @.str13954) call void @fn_emith(ptr @.str13955) call void @fn_emith(ptr @.str13956) call void @fn_emith(ptr @.str13957) call void @fn_emith(ptr @.str13958) call void @fn_emith(ptr @.str13959) call void @fn_emith(ptr @.str13960) call void @fn_emith(ptr @.str13961) call void @fn_emith(ptr @.str13962) call void @fn_emith(ptr @.str13963) call void @fn_emith(ptr @.str13964) call void @fn_emith(ptr @.str13965) call void @fn_emith(ptr @.str13966) call void @fn_emith(ptr @.str13967) call void @fn_emith(ptr @.str13968) call void @fn_emith(ptr @.str13969) call void @fn_emith(ptr @.str13970) call void @fn_emith(ptr @.str13971) call void @fn_emith(ptr @.str13972) call void @fn_emith(ptr @.str13973) call void @fn_emith(ptr @.str13974) call void @fn_emith(ptr @.str13975) call void @fn_emith(ptr @.str13976) call void @fn_emith(ptr @.str13977) call void @fn_emith(ptr @.str13978) 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 @.str13979) %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 @.str13980) %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 @.str13981) %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 @.str13982) %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 %t26 = alloca ptr %t45 = alloca ptr %t47 = alloca ptr %t56 = 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 @.str13983) %t4 = icmp ne i32 %t3, 0 br i1 %t4, label %then0, label %ifend2 then0: %t5 = call ptr @fn_emit_bind(ptr @.str13984) %t6 = call ptr @fn_val(ptr %t5, ptr @.str13985) store ptr %t6, ptr %retval br label %ret ifend2: %t7 = load ptr, ptr %t0 %t8 = call i32 @lp_str_eq(ptr %t7, ptr @.str13986) %t9 = icmp ne i32 %t8, 0 br i1 %t9, label %then3, label %ifend5 then3: call void @fn_emit(ptr @.str13987) %t10 = call ptr @fn_val(ptr @.str13988, ptr @.str13989) store ptr %t10, ptr %retval br label %ret ifend5: %t11 = load ptr, ptr %t0 %t12 = call i32 @lp_str_eq(ptr %t11, ptr @.str13990) %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 %LSlice, ptr %t16, i32 0, i32 1 %t20 = load i32, ptr %t19 %t21 = icmp ult i32 0, %t20 br i1 %t21, label %ixok9, label %ixbad10 ixbad10: store i32 7710, ptr @lp_site %t22 = call ptr @lp_win_stdio(i32 2) store i32 0, ptr @lp_site call i32 (ptr, ptr, ...) @fprintf(ptr %t22, ptr @.fmt_bounds, ptr @.str13991, i32 0, i32 %t20) call void @exit(i32 1) unreachable ixok9: %t23 = getelementptr inbounds ptr, ptr %t18, i32 0 %t24 = load ptr, ptr %t23 %t25 = call ptr @fn_emit_expr(ptr %t24) store ptr %t25, ptr %t26 %t27 = load ptr, ptr %t26 %t28 = getelementptr inbounds %Cmp_Val, ptr %t27, i32 0, i32 0 %t29 = load ptr, ptr %t28 store i32 7711, ptr @lp_site %t30 = call ptr @lp_str_concat(ptr @.str13993, ptr %t29) store i32 0, ptr @lp_site store i32 7712, ptr @lp_site %t31 = call ptr @lp_str_concat(ptr %t30, ptr @.str13994) store i32 0, ptr @lp_site call void @lp_free(ptr %t30) call void @fn_emit(ptr %t31) %t32 = call ptr @fn_val(ptr @.str13995, ptr @.str13996) store ptr %t32, ptr %retval br label %ret ifend8: %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 %LSlice, ptr %t35, i32 0, i32 1 %t39 = load i32, ptr %t38 %t40 = icmp ult i32 0, %t39 br i1 %t40, label %ixok11, label %ixbad12 ixbad12: store i32 7713, ptr @lp_site %t41 = call ptr @lp_win_stdio(i32 2) store i32 0, ptr @lp_site call i32 (ptr, ptr, ...) @fprintf(ptr %t41, ptr @.fmt_bounds, ptr @.str13997, i32 0, i32 %t39) call void @exit(i32 1) unreachable ixok11: %t42 = getelementptr inbounds ptr, ptr %t37, i32 0 %t43 = load ptr, ptr %t42 %t44 = call ptr @fn_emit_expr(ptr %t43) store ptr %t44, ptr %t45 %t46 = call ptr @fn_emit_bind(ptr @.str13998) store ptr %t46, ptr %t47 %t48 = load ptr, ptr %t47 store i32 7714, ptr @lp_site %t49 = call ptr @lp_str_concat(ptr @.str13999, ptr %t48) store i32 0, ptr @lp_site store i32 7715, ptr @lp_site %t50 = call ptr @lp_str_concat(ptr %t49, ptr @.str14000) store i32 0, ptr @lp_site call void @lp_free(ptr %t49) %t51 = load ptr, ptr %t45 %t52 = getelementptr inbounds %Cmp_Val, ptr %t51, i32 0, i32 0 %t53 = load ptr, ptr %t52 store i32 7716, ptr @lp_site %t54 = call ptr @lp_str_concat(ptr %t50, ptr %t53) store i32 0, ptr @lp_site call void @lp_free(ptr %t50) %t55 = call ptr @fn_emit_bind(ptr %t54) store ptr %t55, ptr %t56 %t57 = load ptr, ptr %t56 store i32 7717, ptr @lp_site %t58 = call ptr @lp_str_concat(ptr @.str14001, ptr %t57) store i32 0, ptr @lp_site store i32 7718, ptr @lp_site %t59 = call ptr @lp_str_concat(ptr %t58, ptr @.str14002) store i32 0, ptr @lp_site call void @lp_free(ptr %t58) call void @fn_emit(ptr %t59) %t60 = call ptr @fn_val(ptr @.str14003, ptr @.str14004) store ptr %t60, ptr %retval br label %ret ret: %t61 = load ptr, ptr %retval ret ptr %t61 } 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 @.str14005) %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 @.str14006) %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 @.str14007) %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 @.str14008) %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 @.str14009) %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 @.str14010) %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 store i32 7719, ptr @lp_site %t3 = call ptr @lp_str_concat(ptr @.str14011, ptr %t2) store i32 0, ptr @lp_site store i32 7720, ptr @lp_site %t4 = call ptr @lp_str_concat(ptr %t3, ptr @.str14013) store i32 0, ptr @lp_site call void @lp_free(ptr %t3) %t5 = load ptr, ptr %t1 store i32 7721, ptr @lp_site %t6 = call ptr @lp_str_concat(ptr %t4, ptr %t5) store i32 0, ptr @lp_site call void @lp_free(ptr %t4) %t7 = call ptr @fn_emit_bind(ptr %t6) store ptr %t7, ptr %t8 %t9 = load ptr, ptr %t8 store i32 7722, ptr @lp_site %t10 = call ptr @lp_str_concat(ptr @.str14014, ptr %t9) store i32 0, ptr @lp_site store i32 7723, ptr @lp_site %t11 = call ptr @lp_str_concat(ptr %t10, ptr @.str14015) store i32 0, ptr @lp_site call void @lp_free(ptr %t10) %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 store i32 7724, ptr @lp_site %t4 = call ptr @lp_str_concat(ptr @.str14016, ptr %t3) store i32 0, ptr @lp_site store i32 7725, ptr @lp_site %t5 = call ptr @lp_str_concat(ptr %t4, ptr @.str14018) store i32 0, ptr @lp_site call void @lp_free(ptr %t4) %t6 = call ptr @fn_emit_bind(ptr %t5) store ptr %t6, ptr %t7 %t8 = load ptr, ptr %t1 store i32 7726, ptr @lp_site %t9 = call ptr @lp_str_concat(ptr @.str14019, ptr %t8) store i32 0, ptr @lp_site store i32 7727, ptr @lp_site %t10 = call ptr @lp_str_concat(ptr %t9, ptr @.str14020) store i32 0, ptr @lp_site call void @lp_free(ptr %t9) %t11 = call ptr @fn_emit_bind(ptr %t10) store ptr %t11, ptr %t12 %t13 = load ptr, ptr %t7 store i32 7728, ptr @lp_site %t14 = call ptr @lp_str_concat(ptr @.str14021, ptr %t13) store i32 0, ptr @lp_site store i32 7729, ptr @lp_site %t15 = call ptr @lp_str_concat(ptr %t14, ptr @.str14022) store i32 0, ptr @lp_site call void @lp_free(ptr %t14) %t16 = load ptr, ptr %t12 store i32 7730, ptr @lp_site %t17 = call ptr @lp_str_concat(ptr %t15, ptr %t16) store i32 0, ptr @lp_site call void @lp_free(ptr %t15) %t18 = call ptr @fn_emit_bind(ptr %t17) store ptr %t18, ptr %t19 %t20 = load ptr, ptr %t19 store i32 7731, ptr @lp_site %t21 = call ptr @lp_str_concat(ptr @.str14023, ptr %t20) store i32 0, ptr @lp_site store i32 7732, ptr @lp_site %t22 = call ptr @lp_str_concat(ptr %t21, ptr @.str14024) store i32 0, ptr @lp_site call void @lp_free(ptr %t21) %t23 = load ptr, ptr %t2 store i32 7733, ptr @lp_site %t24 = call ptr @lp_str_concat(ptr %t22, ptr %t23) store i32 0, ptr @lp_site call void @lp_free(ptr %t22) %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 store i32 7734, ptr @lp_site %t4 = call ptr @lp_str_concat(ptr @.str14025, ptr %t3) store i32 0, ptr @lp_site store i32 7735, ptr @lp_site %t5 = call ptr @lp_str_concat(ptr %t4, ptr @.str14027) store i32 0, ptr @lp_site call void @lp_free(ptr %t4) %t6 = load ptr, ptr %t0 store i32 7736, ptr @lp_site %t7 = call ptr @lp_str_concat(ptr %t5, ptr %t6) store i32 0, ptr @lp_site call void @lp_free(ptr %t5) %t8 = call ptr @fn_emit_bind(ptr %t7) store ptr %t8, ptr %t9 %t10 = load ptr, ptr %t9 store i32 7737, ptr @lp_site %t11 = call ptr @lp_str_concat(ptr @.str14028, ptr %t10) store i32 0, ptr @lp_site store i32 7738, ptr @lp_site %t12 = call ptr @lp_str_concat(ptr %t11, ptr @.str14029) store i32 0, ptr @lp_site call void @lp_free(ptr %t11) %t13 = load ptr, ptr %t2 store i32 7739, ptr @lp_site %t14 = call ptr @lp_str_concat(ptr %t12, ptr %t13) store i32 0, ptr @lp_site call void @lp_free(ptr %t12) %t15 = call ptr @fn_emit_bind(ptr %t14) store ptr %t15, ptr %t16 %t17 = load ptr, ptr %t16 store i32 7740, ptr @lp_site %t18 = call ptr @lp_str_concat(ptr @.str14030, ptr %t17) store i32 0, ptr @lp_site store i32 7741, ptr @lp_site %t19 = call ptr @lp_str_concat(ptr %t18, ptr @.str14031) store i32 0, ptr @lp_site call void @lp_free(ptr %t18) %t20 = call ptr @fn_emit_bind(ptr %t19) store ptr %t20, ptr %t21 %t22 = load ptr, ptr %t0 store i32 7742, ptr @lp_site %t23 = call ptr @lp_str_concat(ptr @.str14032, ptr %t22) store i32 0, ptr @lp_site store i32 7743, ptr @lp_site %t24 = call ptr @lp_str_concat(ptr %t23, ptr @.str14033) store i32 0, ptr @lp_site call void @lp_free(ptr %t23) %t25 = load ptr, ptr %t21 store i32 7744, ptr @lp_site %t26 = call ptr @lp_str_concat(ptr %t24, ptr %t25) store i32 0, ptr @lp_site call void @lp_free(ptr %t24) %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 %t17 = alloca ptr %t30 = alloca ptr %t43 = alloca ptr %t70 = alloca ptr %t83 = alloca ptr %t96 = alloca ptr %t109 = alloca ptr %t120 = alloca ptr %t127 = alloca ptr %t150 = alloca ptr %t163 = alloca ptr %t170 = alloca ptr %t177 = alloca ptr %t200 = alloca ptr %t213 = alloca ptr %t226 = alloca ptr %t239 = alloca ptr %t252 = alloca ptr %t265 = alloca ptr %t286 = alloca ptr %t299 = alloca ptr %t305 = alloca ptr %t310 = alloca ptr %t315 = alloca ptr %t320 = alloca ptr %t327 = alloca ptr %t332 = alloca ptr %t339 = alloca ptr %t344 = alloca ptr %t351 = alloca ptr %t356 = alloca ptr %t374 = alloca ptr %t387 = alloca ptr %t392 = alloca ptr %t397 = alloca ptr %t402 = alloca ptr %t406 = alloca ptr %t415 = alloca ptr %t420 = alloca ptr %t427 = alloca ptr %t431 = alloca ptr %t440 = alloca ptr %t445 = alloca ptr %t452 = alloca ptr %t456 = alloca ptr %t465 = alloca ptr %t470 = alloca ptr %t477 = 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 @.str14034) %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 %LSlice, ptr %t7, i32 0, i32 1 %t11 = load i32, ptr %t10 %t12 = icmp ult i32 0, %t11 br i1 %t12, label %ixok3, label %ixbad4 ixbad4: store i32 7745, ptr @lp_site %t13 = call ptr @lp_win_stdio(i32 2) store i32 0, ptr @lp_site call i32 (ptr, ptr, ...) @fprintf(ptr %t13, ptr @.fmt_bounds, ptr @.str14035, i32 0, i32 %t11) call void @exit(i32 1) unreachable ixok3: %t14 = getelementptr inbounds ptr, ptr %t9, 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 %LSlice, ptr %t20, i32 0, i32 1 %t24 = load i32, ptr %t23 %t25 = icmp ult i32 1, %t24 br i1 %t25, label %ixok5, label %ixbad6 ixbad6: store i32 7746, ptr @lp_site %t26 = call ptr @lp_win_stdio(i32 2) store i32 0, ptr @lp_site call i32 (ptr, ptr, ...) @fprintf(ptr %t26, ptr @.fmt_bounds, ptr @.str14037, i32 1, i32 %t24) call void @exit(i32 1) unreachable ixok5: %t27 = getelementptr inbounds ptr, ptr %t22, i32 1 %t28 = load ptr, ptr %t27 %t29 = call ptr @fn_emit_expr(ptr %t28) store ptr %t29, ptr %t30 %t31 = load ptr, ptr %t1 %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 = getelementptr inbounds %LSlice, ptr %t33, i32 0, i32 1 %t37 = load i32, ptr %t36 %t38 = icmp ult i32 2, %t37 br i1 %t38, label %ixok7, label %ixbad8 ixbad8: store i32 7747, ptr @lp_site %t39 = call ptr @lp_win_stdio(i32 2) store i32 0, ptr @lp_site call i32 (ptr, ptr, ...) @fprintf(ptr %t39, ptr @.fmt_bounds, ptr @.str14038, i32 2, i32 %t37) call void @exit(i32 1) unreachable ixok7: %t40 = getelementptr inbounds ptr, ptr %t35, i32 2 %t41 = load ptr, ptr %t40 %t42 = call ptr @fn_emit_expr(ptr %t41) store ptr %t42, ptr %t43 %t44 = load ptr, ptr %t17 %t45 = getelementptr inbounds %Cmp_Val, ptr %t44, i32 0, i32 0 %t46 = load ptr, ptr %t45 %t47 = load ptr, ptr %t30 %t48 = getelementptr inbounds %Cmp_Val, ptr %t47, i32 0, i32 0 %t49 = load ptr, ptr %t48 %t50 = load ptr, ptr %t43 %t51 = getelementptr inbounds %Cmp_Val, ptr %t50, i32 0, i32 0 %t52 = load ptr, ptr %t51 %t53 = call ptr @fn_color_pack(ptr %t46, ptr %t49, ptr %t52) %t54 = call ptr @fn_val(ptr %t53, ptr @.str14039) store ptr %t54, ptr %retval br label %ret ifend2: %t55 = load ptr, ptr %t0 %t56 = call i32 @lp_str_eq(ptr %t55, ptr @.str14040) %t57 = icmp ne i32 %t56, 0 br i1 %t57, label %then9, label %ifend11 then9: %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 %LSlice, ptr %t60, i32 0, i32 1 %t64 = load i32, ptr %t63 %t65 = icmp ult i32 0, %t64 br i1 %t65, label %ixok12, label %ixbad13 ixbad13: store i32 7748, ptr @lp_site %t66 = call ptr @lp_win_stdio(i32 2) store i32 0, ptr @lp_site call i32 (ptr, ptr, ...) @fprintf(ptr %t66, ptr @.fmt_bounds, ptr @.str14041, i32 0, i32 %t64) call void @exit(i32 1) unreachable ixok12: %t67 = getelementptr inbounds ptr, ptr %t62, i32 0 %t68 = load ptr, ptr %t67 %t69 = call ptr @fn_emit_expr(ptr %t68) store ptr %t69, ptr %t70 %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 %LSlice, ptr %t73, i32 0, i32 1 %t77 = load i32, ptr %t76 %t78 = icmp ult i32 1, %t77 br i1 %t78, label %ixok14, label %ixbad15 ixbad15: store i32 7749, ptr @lp_site %t79 = call ptr @lp_win_stdio(i32 2) store i32 0, ptr @lp_site call i32 (ptr, ptr, ...) @fprintf(ptr %t79, ptr @.fmt_bounds, ptr @.str14042, i32 1, i32 %t77) call void @exit(i32 1) unreachable ixok14: %t80 = getelementptr inbounds ptr, ptr %t75, i32 1 %t81 = load ptr, ptr %t80 %t82 = call ptr @fn_emit_expr(ptr %t81) store ptr %t82, ptr %t83 %t84 = load ptr, ptr %t1 %t85 = getelementptr inbounds %Cmp_Node, ptr %t84, i32 0, i32 7 %t86 = load ptr, ptr %t85 %t87 = getelementptr inbounds %LSlice, ptr %t86, i32 0, i32 0 %t88 = load ptr, ptr %t87 %t89 = getelementptr inbounds %LSlice, ptr %t86, i32 0, i32 1 %t90 = load i32, ptr %t89 %t91 = icmp ult i32 2, %t90 br i1 %t91, label %ixok16, label %ixbad17 ixbad17: store i32 7750, ptr @lp_site %t92 = call ptr @lp_win_stdio(i32 2) store i32 0, ptr @lp_site call i32 (ptr, ptr, ...) @fprintf(ptr %t92, ptr @.fmt_bounds, ptr @.str14043, i32 2, i32 %t90) call void @exit(i32 1) unreachable ixok16: %t93 = getelementptr inbounds ptr, ptr %t88, i32 2 %t94 = load ptr, ptr %t93 %t95 = call ptr @fn_emit_expr(ptr %t94) store ptr %t95, ptr %t96 %t97 = load ptr, ptr %t1 %t98 = getelementptr inbounds %Cmp_Node, ptr %t97, i32 0, i32 7 %t99 = load ptr, ptr %t98 %t100 = getelementptr inbounds %LSlice, ptr %t99, i32 0, i32 0 %t101 = load ptr, ptr %t100 %t102 = getelementptr inbounds %LSlice, ptr %t99, i32 0, i32 1 %t103 = load i32, ptr %t102 %t104 = icmp ult i32 3, %t103 br i1 %t104, label %ixok18, label %ixbad19 ixbad19: store i32 7751, ptr @lp_site %t105 = call ptr @lp_win_stdio(i32 2) store i32 0, ptr @lp_site call i32 (ptr, ptr, ...) @fprintf(ptr %t105, ptr @.fmt_bounds, ptr @.str14044, i32 3, i32 %t103) call void @exit(i32 1) unreachable ixok18: %t106 = getelementptr inbounds ptr, ptr %t101, i32 3 %t107 = load ptr, ptr %t106 %t108 = call ptr @fn_emit_expr(ptr %t107) store ptr %t108, ptr %t109 %t110 = load ptr, ptr %t70 %t111 = getelementptr inbounds %Cmp_Val, ptr %t110, i32 0, i32 0 %t112 = load ptr, ptr %t111 %t113 = load ptr, ptr %t83 %t114 = getelementptr inbounds %Cmp_Val, ptr %t113, i32 0, i32 0 %t115 = load ptr, ptr %t114 %t116 = load ptr, ptr %t96 %t117 = getelementptr inbounds %Cmp_Val, ptr %t116, i32 0, i32 0 %t118 = load ptr, ptr %t117 %t119 = call ptr @fn_color_pack(ptr %t112, ptr %t115, ptr %t118) store ptr %t119, ptr %t120 %t121 = load ptr, ptr %t109 %t122 = getelementptr inbounds %Cmp_Val, ptr %t121, i32 0, i32 0 %t123 = load ptr, ptr %t122 store i32 7752, ptr @lp_site %t124 = call ptr @lp_str_concat(ptr @.str14045, ptr %t123) store i32 0, ptr @lp_site store i32 7753, ptr @lp_site %t125 = call ptr @lp_str_concat(ptr %t124, ptr @.str14046) store i32 0, ptr @lp_site call void @lp_free(ptr %t124) %t126 = call ptr @fn_emit_bind(ptr %t125) store ptr %t126, ptr %t127 %t128 = load ptr, ptr %t120 store i32 7754, ptr @lp_site %t129 = call ptr @lp_str_concat(ptr @.str14047, ptr %t128) store i32 0, ptr @lp_site store i32 7755, ptr @lp_site %t130 = call ptr @lp_str_concat(ptr %t129, ptr @.str14048) store i32 0, ptr @lp_site call void @lp_free(ptr %t129) %t131 = load ptr, ptr %t127 store i32 7756, ptr @lp_site %t132 = call ptr @lp_str_concat(ptr %t130, ptr %t131) store i32 0, ptr @lp_site call void @lp_free(ptr %t130) %t133 = call ptr @fn_emit_bind(ptr %t132) %t134 = call ptr @fn_val(ptr %t133, ptr @.str14049) store ptr %t134, ptr %retval br label %ret ifend11: %t135 = load ptr, ptr %t0 %t136 = call i32 @lp_str_eq(ptr %t135, ptr @.str14050) %t137 = icmp ne i32 %t136, 0 br i1 %t137, label %then20, label %ifend22 then20: %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 %LSlice, ptr %t140, i32 0, i32 1 %t144 = load i32, ptr %t143 %t145 = icmp ult i32 0, %t144 br i1 %t145, label %ixok23, label %ixbad24 ixbad24: store i32 7757, ptr @lp_site %t146 = call ptr @lp_win_stdio(i32 2) store i32 0, ptr @lp_site call i32 (ptr, ptr, ...) @fprintf(ptr %t146, ptr @.fmt_bounds, ptr @.str14051, i32 0, i32 %t144) call void @exit(i32 1) unreachable ixok23: %t147 = getelementptr inbounds ptr, ptr %t142, i32 0 %t148 = load ptr, ptr %t147 %t149 = call ptr @fn_emit_expr(ptr %t148) store ptr %t149, ptr %t150 %t151 = load ptr, ptr %t1 %t152 = getelementptr inbounds %Cmp_Node, ptr %t151, i32 0, i32 7 %t153 = load ptr, ptr %t152 %t154 = getelementptr inbounds %LSlice, ptr %t153, i32 0, i32 0 %t155 = load ptr, ptr %t154 %t156 = getelementptr inbounds %LSlice, ptr %t153, i32 0, i32 1 %t157 = load i32, ptr %t156 %t158 = icmp ult i32 1, %t157 br i1 %t158, label %ixok25, label %ixbad26 ixbad26: store i32 7758, ptr @lp_site %t159 = call ptr @lp_win_stdio(i32 2) store i32 0, ptr @lp_site call i32 (ptr, ptr, ...) @fprintf(ptr %t159, ptr @.fmt_bounds, ptr @.str14052, i32 1, i32 %t157) call void @exit(i32 1) unreachable ixok25: %t160 = getelementptr inbounds ptr, ptr %t155, i32 1 %t161 = load ptr, ptr %t160 %t162 = call ptr @fn_emit_expr(ptr %t161) store ptr %t162, ptr %t163 %t164 = load ptr, ptr %t150 %t165 = getelementptr inbounds %Cmp_Val, ptr %t164, i32 0, i32 0 %t166 = load ptr, ptr %t165 store i32 7759, ptr @lp_site %t167 = call ptr @lp_str_concat(ptr @.str14053, ptr %t166) store i32 0, ptr @lp_site store i32 7760, ptr @lp_site %t168 = call ptr @lp_str_concat(ptr %t167, ptr @.str14054) store i32 0, ptr @lp_site call void @lp_free(ptr %t167) %t169 = call ptr @fn_emit_bind(ptr %t168) store ptr %t169, ptr %t170 %t171 = load ptr, ptr %t163 %t172 = getelementptr inbounds %Cmp_Val, ptr %t171, i32 0, i32 0 %t173 = load ptr, ptr %t172 store i32 7761, ptr @lp_site %t174 = call ptr @lp_str_concat(ptr @.str14055, ptr %t173) store i32 0, ptr @lp_site store i32 7762, ptr @lp_site %t175 = call ptr @lp_str_concat(ptr %t174, ptr @.str14056) store i32 0, ptr @lp_site call void @lp_free(ptr %t174) %t176 = call ptr @fn_emit_bind(ptr %t175) store ptr %t176, ptr %t177 %t178 = load ptr, ptr %t170 store i32 7763, ptr @lp_site %t179 = call ptr @lp_str_concat(ptr @.str14057, ptr %t178) store i32 0, ptr @lp_site store i32 7764, ptr @lp_site %t180 = call ptr @lp_str_concat(ptr %t179, ptr @.str14058) store i32 0, ptr @lp_site call void @lp_free(ptr %t179) %t181 = load ptr, ptr %t177 store i32 7765, ptr @lp_site %t182 = call ptr @lp_str_concat(ptr %t180, ptr %t181) store i32 0, ptr @lp_site call void @lp_free(ptr %t180) %t183 = call ptr @fn_emit_bind(ptr %t182) %t184 = call ptr @fn_val(ptr %t183, ptr @.str14059) store ptr %t184, ptr %retval br label %ret ifend22: %t185 = load ptr, ptr %t0 %t186 = call i32 @lp_str_eq(ptr %t185, ptr @.str14060) %t187 = icmp ne i32 %t186, 0 br i1 %t187, label %then27, label %ifend29 then27: %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 %LSlice, ptr %t190, i32 0, i32 1 %t194 = load i32, ptr %t193 %t195 = icmp ult i32 0, %t194 br i1 %t195, label %ixok30, label %ixbad31 ixbad31: store i32 7766, ptr @lp_site %t196 = call ptr @lp_win_stdio(i32 2) store i32 0, ptr @lp_site call i32 (ptr, ptr, ...) @fprintf(ptr %t196, ptr @.fmt_bounds, ptr @.str14061, i32 0, i32 %t194) call void @exit(i32 1) unreachable ixok30: %t197 = getelementptr inbounds ptr, ptr %t192, i32 0 %t198 = load ptr, ptr %t197 %t199 = call ptr @fn_emit_expr(ptr %t198) store ptr %t199, ptr %t200 %t201 = load ptr, ptr %t1 %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 0 %t205 = load ptr, ptr %t204 %t206 = getelementptr inbounds %LSlice, ptr %t203, i32 0, i32 1 %t207 = load i32, ptr %t206 %t208 = icmp ult i32 1, %t207 br i1 %t208, label %ixok32, label %ixbad33 ixbad33: store i32 7767, ptr @lp_site %t209 = call ptr @lp_win_stdio(i32 2) store i32 0, ptr @lp_site call i32 (ptr, ptr, ...) @fprintf(ptr %t209, ptr @.fmt_bounds, ptr @.str14062, i32 1, i32 %t207) call void @exit(i32 1) unreachable ixok32: %t210 = getelementptr inbounds ptr, ptr %t205, i32 1 %t211 = load ptr, ptr %t210 %t212 = call ptr @fn_emit_expr(ptr %t211) store ptr %t212, ptr %t213 %t214 = load ptr, ptr %t1 %t215 = getelementptr inbounds %Cmp_Node, ptr %t214, i32 0, i32 7 %t216 = load ptr, ptr %t215 %t217 = getelementptr inbounds %LSlice, ptr %t216, i32 0, i32 0 %t218 = load ptr, ptr %t217 %t219 = getelementptr inbounds %LSlice, ptr %t216, i32 0, i32 1 %t220 = load i32, ptr %t219 %t221 = icmp ult i32 2, %t220 br i1 %t221, label %ixok34, label %ixbad35 ixbad35: store i32 7768, ptr @lp_site %t222 = call ptr @lp_win_stdio(i32 2) store i32 0, ptr @lp_site call i32 (ptr, ptr, ...) @fprintf(ptr %t222, ptr @.fmt_bounds, ptr @.str14063, i32 2, i32 %t220) call void @exit(i32 1) unreachable ixok34: %t223 = getelementptr inbounds ptr, ptr %t218, i32 2 %t224 = load ptr, ptr %t223 %t225 = call ptr @fn_emit_expr(ptr %t224) store ptr %t225, ptr %t226 %t227 = load ptr, ptr %t200 %t228 = getelementptr inbounds %Cmp_Val, ptr %t227, i32 0, i32 0 %t229 = load ptr, ptr %t228 %t230 = call ptr @fn_color_ch(ptr %t229, ptr @.str14064) %t231 = load ptr, ptr %t213 %t232 = getelementptr inbounds %Cmp_Val, ptr %t231, i32 0, i32 0 %t233 = load ptr, ptr %t232 %t234 = call ptr @fn_color_ch(ptr %t233, ptr @.str14065) %t235 = load ptr, ptr %t226 %t236 = getelementptr inbounds %Cmp_Val, ptr %t235, i32 0, i32 0 %t237 = load ptr, ptr %t236 %t238 = call ptr @fn_color_lerp_ch(ptr %t230, ptr %t234, ptr %t237) store ptr %t238, ptr %t239 %t240 = load ptr, ptr %t200 %t241 = getelementptr inbounds %Cmp_Val, ptr %t240, i32 0, i32 0 %t242 = load ptr, ptr %t241 %t243 = call ptr @fn_color_ch(ptr %t242, ptr @.str14066) %t244 = load ptr, ptr %t213 %t245 = getelementptr inbounds %Cmp_Val, ptr %t244, i32 0, i32 0 %t246 = load ptr, ptr %t245 %t247 = call ptr @fn_color_ch(ptr %t246, ptr @.str14067) %t248 = load ptr, ptr %t226 %t249 = getelementptr inbounds %Cmp_Val, ptr %t248, i32 0, i32 0 %t250 = load ptr, ptr %t249 %t251 = call ptr @fn_color_lerp_ch(ptr %t243, ptr %t247, ptr %t250) store ptr %t251, ptr %t252 %t253 = load ptr, ptr %t200 %t254 = getelementptr inbounds %Cmp_Val, ptr %t253, i32 0, i32 0 %t255 = load ptr, ptr %t254 %t256 = call ptr @fn_color_ch(ptr %t255, ptr @.str14068) %t257 = load ptr, ptr %t213 %t258 = getelementptr inbounds %Cmp_Val, ptr %t257, i32 0, i32 0 %t259 = load ptr, ptr %t258 %t260 = call ptr @fn_color_ch(ptr %t259, ptr @.str14069) %t261 = load ptr, ptr %t226 %t262 = getelementptr inbounds %Cmp_Val, ptr %t261, i32 0, i32 0 %t263 = load ptr, ptr %t262 %t264 = call ptr @fn_color_lerp_ch(ptr %t256, ptr %t260, ptr %t263) store ptr %t264, ptr %t265 %t266 = load ptr, ptr %t239 %t267 = load ptr, ptr %t252 %t268 = load ptr, ptr %t265 %t269 = call ptr @fn_color_pack(ptr %t266, ptr %t267, ptr %t268) %t270 = call ptr @fn_val(ptr %t269, ptr @.str14070) store ptr %t270, ptr %retval br label %ret ifend29: %t271 = load ptr, ptr %t0 %t272 = call i32 @lp_str_eq(ptr %t271, ptr @.str14071) %t273 = icmp ne i32 %t272, 0 br i1 %t273, label %then36, label %ifend38 then36: %t274 = load ptr, ptr %t1 %t275 = getelementptr inbounds %Cmp_Node, ptr %t274, i32 0, i32 7 %t276 = load ptr, ptr %t275 %t277 = getelementptr inbounds %LSlice, ptr %t276, i32 0, i32 0 %t278 = load ptr, ptr %t277 %t279 = getelementptr inbounds %LSlice, ptr %t276, i32 0, i32 1 %t280 = load i32, ptr %t279 %t281 = icmp ult i32 0, %t280 br i1 %t281, label %ixok39, label %ixbad40 ixbad40: store i32 7769, ptr @lp_site %t282 = call ptr @lp_win_stdio(i32 2) store i32 0, ptr @lp_site call i32 (ptr, ptr, ...) @fprintf(ptr %t282, ptr @.fmt_bounds, ptr @.str14072, i32 0, i32 %t280) call void @exit(i32 1) unreachable ixok39: %t283 = getelementptr inbounds ptr, ptr %t278, i32 0 %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 %LSlice, ptr %t289, i32 0, i32 1 %t293 = load i32, ptr %t292 %t294 = icmp ult i32 1, %t293 br i1 %t294, label %ixok41, label %ixbad42 ixbad42: store i32 7770, ptr @lp_site %t295 = call ptr @lp_win_stdio(i32 2) store i32 0, ptr @lp_site call i32 (ptr, ptr, ...) @fprintf(ptr %t295, ptr @.fmt_bounds, ptr @.str14073, i32 1, i32 %t293) call void @exit(i32 1) unreachable ixok41: %t296 = getelementptr inbounds ptr, ptr %t291, i32 1 %t297 = load ptr, ptr %t296 %t298 = call ptr @fn_emit_expr(ptr %t297) store ptr %t298, ptr %t299 %t300 = load ptr, ptr %t299 %t301 = getelementptr inbounds %Cmp_Val, ptr %t300, i32 0, i32 0 %t302 = load ptr, ptr %t301 store i32 7771, ptr @lp_site %t303 = call ptr @lp_str_concat(ptr @.str14074, ptr %t302) store i32 0, ptr @lp_site %t304 = call ptr @fn_emit_bind(ptr %t303) store ptr %t304, ptr %t305 %t306 = load ptr, ptr %t286 %t307 = getelementptr inbounds %Cmp_Val, ptr %t306, i32 0, i32 0 %t308 = load ptr, ptr %t307 %t309 = call ptr @fn_color_ch(ptr %t308, ptr @.str14075) store ptr %t309, ptr %t310 %t311 = load ptr, ptr %t286 %t312 = getelementptr inbounds %Cmp_Val, ptr %t311, i32 0, i32 0 %t313 = load ptr, ptr %t312 %t314 = call ptr @fn_color_ch(ptr %t313, ptr @.str14076) store ptr %t314, ptr %t315 %t316 = load ptr, ptr %t286 %t317 = getelementptr inbounds %Cmp_Val, ptr %t316, i32 0, i32 0 %t318 = load ptr, ptr %t317 %t319 = call ptr @fn_color_ch(ptr %t318, ptr @.str14077) store ptr %t319, ptr %t320 %t321 = load ptr, ptr %t310 store i32 7772, ptr @lp_site %t322 = call ptr @lp_str_concat(ptr @.str14078, ptr %t321) store i32 0, ptr @lp_site store i32 7773, ptr @lp_site %t323 = call ptr @lp_str_concat(ptr %t322, ptr @.str14079) store i32 0, ptr @lp_site call void @lp_free(ptr %t322) %t324 = load ptr, ptr %t305 store i32 7774, ptr @lp_site %t325 = call ptr @lp_str_concat(ptr %t323, ptr %t324) store i32 0, ptr @lp_site call void @lp_free(ptr %t323) %t326 = call ptr @fn_emit_bind(ptr %t325) store ptr %t326, ptr %t327 %t328 = load ptr, ptr %t327 store i32 7775, ptr @lp_site %t329 = call ptr @lp_str_concat(ptr @.str14080, ptr %t328) store i32 0, ptr @lp_site store i32 7776, ptr @lp_site %t330 = call ptr @lp_str_concat(ptr %t329, ptr @.str14081) store i32 0, ptr @lp_site call void @lp_free(ptr %t329) %t331 = call ptr @fn_emit_bind(ptr %t330) store ptr %t331, ptr %t332 %t333 = load ptr, ptr %t315 store i32 7777, ptr @lp_site %t334 = call ptr @lp_str_concat(ptr @.str14082, ptr %t333) store i32 0, ptr @lp_site store i32 7778, ptr @lp_site %t335 = call ptr @lp_str_concat(ptr %t334, ptr @.str14083) store i32 0, ptr @lp_site call void @lp_free(ptr %t334) %t336 = load ptr, ptr %t305 store i32 7779, ptr @lp_site %t337 = call ptr @lp_str_concat(ptr %t335, ptr %t336) store i32 0, ptr @lp_site call void @lp_free(ptr %t335) %t338 = call ptr @fn_emit_bind(ptr %t337) store ptr %t338, ptr %t339 %t340 = load ptr, ptr %t339 store i32 7780, ptr @lp_site %t341 = call ptr @lp_str_concat(ptr @.str14084, ptr %t340) store i32 0, ptr @lp_site store i32 7781, ptr @lp_site %t342 = call ptr @lp_str_concat(ptr %t341, ptr @.str14085) store i32 0, ptr @lp_site call void @lp_free(ptr %t341) %t343 = call ptr @fn_emit_bind(ptr %t342) store ptr %t343, ptr %t344 %t345 = load ptr, ptr %t320 store i32 7782, ptr @lp_site %t346 = call ptr @lp_str_concat(ptr @.str14086, ptr %t345) store i32 0, ptr @lp_site store i32 7783, ptr @lp_site %t347 = call ptr @lp_str_concat(ptr %t346, ptr @.str14087) store i32 0, ptr @lp_site call void @lp_free(ptr %t346) %t348 = load ptr, ptr %t305 store i32 7784, ptr @lp_site %t349 = call ptr @lp_str_concat(ptr %t347, ptr %t348) store i32 0, ptr @lp_site call void @lp_free(ptr %t347) %t350 = call ptr @fn_emit_bind(ptr %t349) store ptr %t350, ptr %t351 %t352 = load ptr, ptr %t351 store i32 7785, ptr @lp_site %t353 = call ptr @lp_str_concat(ptr @.str14088, ptr %t352) store i32 0, ptr @lp_site store i32 7786, ptr @lp_site %t354 = call ptr @lp_str_concat(ptr %t353, ptr @.str14089) store i32 0, ptr @lp_site call void @lp_free(ptr %t353) %t355 = call ptr @fn_emit_bind(ptr %t354) store ptr %t355, ptr %t356 %t357 = load ptr, ptr %t332 %t358 = load ptr, ptr %t344 %t359 = load ptr, ptr %t356 %t360 = call ptr @fn_color_pack(ptr %t357, ptr %t358, ptr %t359) %t361 = call ptr @fn_val(ptr %t360, ptr @.str14090) store ptr %t361, ptr %retval br label %ret ifend38: %t362 = load ptr, ptr %t1 %t363 = getelementptr inbounds %Cmp_Node, ptr %t362, i32 0, i32 7 %t364 = load ptr, ptr %t363 %t365 = getelementptr inbounds %LSlice, ptr %t364, i32 0, i32 0 %t366 = load ptr, ptr %t365 %t367 = getelementptr inbounds %LSlice, ptr %t364, i32 0, i32 1 %t368 = load i32, ptr %t367 %t369 = icmp ult i32 0, %t368 br i1 %t369, label %ixok43, label %ixbad44 ixbad44: store i32 7787, ptr @lp_site %t370 = call ptr @lp_win_stdio(i32 2) store i32 0, ptr @lp_site call i32 (ptr, ptr, ...) @fprintf(ptr %t370, ptr @.fmt_bounds, ptr @.str14091, i32 0, i32 %t368) call void @exit(i32 1) unreachable ixok43: %t371 = getelementptr inbounds ptr, ptr %t366, i32 0 %t372 = load ptr, ptr %t371 %t373 = call ptr @fn_emit_expr(ptr %t372) store ptr %t373, ptr %t374 %t375 = load ptr, ptr %t1 %t376 = getelementptr inbounds %Cmp_Node, ptr %t375, i32 0, i32 7 %t377 = load ptr, ptr %t376 %t378 = getelementptr inbounds %LSlice, ptr %t377, i32 0, i32 0 %t379 = load ptr, ptr %t378 %t380 = getelementptr inbounds %LSlice, ptr %t377, i32 0, i32 1 %t381 = load i32, ptr %t380 %t382 = icmp ult i32 1, %t381 br i1 %t382, label %ixok45, label %ixbad46 ixbad46: store i32 7788, ptr @lp_site %t383 = call ptr @lp_win_stdio(i32 2) store i32 0, ptr @lp_site call i32 (ptr, ptr, ...) @fprintf(ptr %t383, ptr @.fmt_bounds, ptr @.str14092, i32 1, i32 %t381) call void @exit(i32 1) unreachable ixok45: %t384 = getelementptr inbounds ptr, ptr %t379, i32 1 %t385 = load ptr, ptr %t384 %t386 = call ptr @fn_emit_expr(ptr %t385) store ptr %t386, ptr %t387 %t388 = load ptr, ptr %t374 %t389 = getelementptr inbounds %Cmp_Val, ptr %t388, i32 0, i32 0 %t390 = load ptr, ptr %t389 %t391 = call ptr @fn_color_ch(ptr %t390, ptr @.str14093) store ptr %t391, ptr %t392 %t393 = load ptr, ptr %t374 %t394 = getelementptr inbounds %Cmp_Val, ptr %t393, i32 0, i32 0 %t395 = load ptr, ptr %t394 %t396 = call ptr @fn_color_ch(ptr %t395, ptr @.str14094) store ptr %t396, ptr %t397 %t398 = load ptr, ptr %t374 %t399 = getelementptr inbounds %Cmp_Val, ptr %t398, i32 0, i32 0 %t400 = load ptr, ptr %t399 %t401 = call ptr @fn_color_ch(ptr %t400, ptr @.str14095) store ptr %t401, ptr %t402 %t403 = load ptr, ptr %t392 store i32 7789, ptr @lp_site %t404 = call ptr @lp_str_concat(ptr @.str14096, ptr %t403) store i32 0, ptr @lp_site %t405 = call ptr @fn_emit_bind(ptr %t404) store ptr %t405, ptr %t406 %t407 = load ptr, ptr %t406 store i32 7790, ptr @lp_site %t408 = call ptr @lp_str_concat(ptr @.str14097, ptr %t407) store i32 0, ptr @lp_site store i32 7791, ptr @lp_site %t409 = call ptr @lp_str_concat(ptr %t408, ptr @.str14098) store i32 0, ptr @lp_site call void @lp_free(ptr %t408) %t410 = load ptr, ptr %t387 %t411 = getelementptr inbounds %Cmp_Val, ptr %t410, i32 0, i32 0 %t412 = load ptr, ptr %t411 store i32 7792, ptr @lp_site %t413 = call ptr @lp_str_concat(ptr %t409, ptr %t412) store i32 0, ptr @lp_site call void @lp_free(ptr %t409) %t414 = call ptr @fn_emit_bind(ptr %t413) store ptr %t414, ptr %t415 %t416 = load ptr, ptr %t415 store i32 7793, ptr @lp_site %t417 = call ptr @lp_str_concat(ptr @.str14099, ptr %t416) store i32 0, ptr @lp_site store i32 7794, ptr @lp_site %t418 = call ptr @lp_str_concat(ptr %t417, ptr @.str14100) store i32 0, ptr @lp_site call void @lp_free(ptr %t417) %t419 = call ptr @fn_emit_bind(ptr %t418) store ptr %t419, ptr %t420 %t421 = load ptr, ptr %t392 store i32 7795, ptr @lp_site %t422 = call ptr @lp_str_concat(ptr @.str14101, ptr %t421) store i32 0, ptr @lp_site store i32 7796, ptr @lp_site %t423 = call ptr @lp_str_concat(ptr %t422, ptr @.str14102) store i32 0, ptr @lp_site call void @lp_free(ptr %t422) %t424 = load ptr, ptr %t420 store i32 7797, ptr @lp_site %t425 = call ptr @lp_str_concat(ptr %t423, ptr %t424) store i32 0, ptr @lp_site call void @lp_free(ptr %t423) %t426 = call ptr @fn_emit_bind(ptr %t425) store ptr %t426, ptr %t427 %t428 = load ptr, ptr %t397 store i32 7798, ptr @lp_site %t429 = call ptr @lp_str_concat(ptr @.str14103, ptr %t428) store i32 0, ptr @lp_site %t430 = call ptr @fn_emit_bind(ptr %t429) store ptr %t430, ptr %t431 %t432 = load ptr, ptr %t431 store i32 7799, ptr @lp_site %t433 = call ptr @lp_str_concat(ptr @.str14104, ptr %t432) store i32 0, ptr @lp_site store i32 7800, ptr @lp_site %t434 = call ptr @lp_str_concat(ptr %t433, ptr @.str14105) store i32 0, ptr @lp_site call void @lp_free(ptr %t433) %t435 = load ptr, ptr %t387 %t436 = getelementptr inbounds %Cmp_Val, ptr %t435, i32 0, i32 0 %t437 = load ptr, ptr %t436 store i32 7801, ptr @lp_site %t438 = call ptr @lp_str_concat(ptr %t434, ptr %t437) store i32 0, ptr @lp_site call void @lp_free(ptr %t434) %t439 = call ptr @fn_emit_bind(ptr %t438) store ptr %t439, ptr %t440 %t441 = load ptr, ptr %t440 store i32 7802, ptr @lp_site %t442 = call ptr @lp_str_concat(ptr @.str14106, ptr %t441) store i32 0, ptr @lp_site store i32 7803, ptr @lp_site %t443 = call ptr @lp_str_concat(ptr %t442, ptr @.str14107) store i32 0, ptr @lp_site call void @lp_free(ptr %t442) %t444 = call ptr @fn_emit_bind(ptr %t443) store ptr %t444, ptr %t445 %t446 = load ptr, ptr %t397 store i32 7804, ptr @lp_site %t447 = call ptr @lp_str_concat(ptr @.str14108, ptr %t446) store i32 0, ptr @lp_site store i32 7805, ptr @lp_site %t448 = call ptr @lp_str_concat(ptr %t447, ptr @.str14109) store i32 0, ptr @lp_site call void @lp_free(ptr %t447) %t449 = load ptr, ptr %t445 store i32 7806, ptr @lp_site %t450 = call ptr @lp_str_concat(ptr %t448, ptr %t449) store i32 0, ptr @lp_site call void @lp_free(ptr %t448) %t451 = call ptr @fn_emit_bind(ptr %t450) store ptr %t451, ptr %t452 %t453 = load ptr, ptr %t402 store i32 7807, ptr @lp_site %t454 = call ptr @lp_str_concat(ptr @.str14110, ptr %t453) store i32 0, ptr @lp_site %t455 = call ptr @fn_emit_bind(ptr %t454) store ptr %t455, ptr %t456 %t457 = load ptr, ptr %t456 store i32 7808, ptr @lp_site %t458 = call ptr @lp_str_concat(ptr @.str14111, ptr %t457) store i32 0, ptr @lp_site store i32 7809, ptr @lp_site %t459 = call ptr @lp_str_concat(ptr %t458, ptr @.str14112) store i32 0, ptr @lp_site call void @lp_free(ptr %t458) %t460 = load ptr, ptr %t387 %t461 = getelementptr inbounds %Cmp_Val, ptr %t460, i32 0, i32 0 %t462 = load ptr, ptr %t461 store i32 7810, ptr @lp_site %t463 = call ptr @lp_str_concat(ptr %t459, ptr %t462) store i32 0, ptr @lp_site call void @lp_free(ptr %t459) %t464 = call ptr @fn_emit_bind(ptr %t463) store ptr %t464, ptr %t465 %t466 = load ptr, ptr %t465 store i32 7811, ptr @lp_site %t467 = call ptr @lp_str_concat(ptr @.str14113, ptr %t466) store i32 0, ptr @lp_site store i32 7812, ptr @lp_site %t468 = call ptr @lp_str_concat(ptr %t467, ptr @.str14114) store i32 0, ptr @lp_site call void @lp_free(ptr %t467) %t469 = call ptr @fn_emit_bind(ptr %t468) store ptr %t469, ptr %t470 %t471 = load ptr, ptr %t402 store i32 7813, ptr @lp_site %t472 = call ptr @lp_str_concat(ptr @.str14115, ptr %t471) store i32 0, ptr @lp_site store i32 7814, ptr @lp_site %t473 = call ptr @lp_str_concat(ptr %t472, ptr @.str14116) store i32 0, ptr @lp_site call void @lp_free(ptr %t472) %t474 = load ptr, ptr %t470 store i32 7815, ptr @lp_site %t475 = call ptr @lp_str_concat(ptr %t473, ptr %t474) store i32 0, ptr @lp_site call void @lp_free(ptr %t473) %t476 = call ptr @fn_emit_bind(ptr %t475) store ptr %t476, ptr %t477 %t478 = load ptr, ptr %t427 %t479 = load ptr, ptr %t452 %t480 = load ptr, ptr %t477 %t481 = call ptr @fn_color_pack(ptr %t478, ptr %t479, ptr %t480) %t482 = call ptr @fn_val(ptr %t481, ptr @.str14117) store ptr %t482, ptr %retval br label %ret ret: %t483 = load ptr, ptr %retval ret ptr %t483 } 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 @.str14118) %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 @.str14119) %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 @.str14120) %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 @.str14121) %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 @.str14122) %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 @.str14123) %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 @.str14124) %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 @.str14125) %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 @.str14126) %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 @.str14127) %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 @.str14128) %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 @.str14129) %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 @.str14130) %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 @.str14131) %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 @.str14132) %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 @.str14133) %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 @.str14134) %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 @.str14135) %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 @.str14136) %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 @.str14137) %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 @.str14138) %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 @.str14139) %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 @.str14140) %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 @.str14141) %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 @.str14142) %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 @.str14143) %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 @.str14144) %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 @.str14145) %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 @.str14146) %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 @.str14147) %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 @.str14148) %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 @.str14149) %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 @.str14150) %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 @.str14151) %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 @.str14152) %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 @.str14153) %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 @.str14154) %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 @.str14155) %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 @.str14156) %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 @.str14157) %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 @.str14158) %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 @.str14159) %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 @.str14160) %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 @.str14161) %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 @.str14162) %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 @.str14163) %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 @.str14164) %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 @.str14165) %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 @.str14166) %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 @.str14167) %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 @.str14168) %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 @.str14169) %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 @.str14170) %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 @.str14171) %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 @.str14172) %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 @.str14173) %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 @.str14174) %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 @.str14175) %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 @.str14176) %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 @.str14177) %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 @.str14178) %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 @.str14179) %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 @.str14180) %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 @.str14181) %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 @.str14182) %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 @.str14183) %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 @.str14184) %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 @.str14185) %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 @.str14186) %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 @.str14187) %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 @.str14188) %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 @.str14189) %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 @.str14190) %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 @.str14191) %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 @.str14192) %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 @.str14193) %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 @.str14194) %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 @.str14195) %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 @.str14196) %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 @.str14197) %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 @.str14198) %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 @.str14199) %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 @.str14200) %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 @.str14201) %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 @.str14202) %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 @.str14203) %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 @.str14204) %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 @.str14205) %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 @.str14206) %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 @.str14207) %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 @.str14208) %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 @.str14209) %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 @.str14210) %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 @.str14211) %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 @.str14212) %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 @.str14213) %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 @.str14214) %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 @.str14215) %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 @.str14216) %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 @.str14217) %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 @.str14218) %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 @.str14219) %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 @.str14220) %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 @.str14221) %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 @.str14222) %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 @.str14223) %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 @.str14224) %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 @.str14225) %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 @.str14226) %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 @.str14227) %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 @.str14228) %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 @.str14229) %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 @.str14230) %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 @.str14231) %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 @.str14232) %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 @.str14233) %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 @.str14234) %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 @.str14235) %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 @.str14236) %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 @.str14237) %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 @.str14238) %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 @.str14239) %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 @.str14240) %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 @.str14241) %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 @.str14242) %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 @.str14243) %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 @.str14244) %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 @.str14245) %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 @.str14246) %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 @.str14247) %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 @.str14248) %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 @.str14249) %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 @.str14250) %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 @.str14251) %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 @.str14252) %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 @.str14253) %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 @.str14254) %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 @.str14255) %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 @.str14256) %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 @.str14257) %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 @.str14258) %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 @.str14259) %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 @.str14260) %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 @.str14261) %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 @.str14262) %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 @.str14263) %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 @.str14264) %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 @.str14265) %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 @.str14266) %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 @.str14267) %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 @.str14268) %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 @.str14269) %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 @.str14270) %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 @.str14271) %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 @.str14272) %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 @.str14273) %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 @.str14274) %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 @.str14275) %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 @.str14276) %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 @.str14277) %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 @.str14278) %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 @.str14279) %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 @.str14280) %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 @.str14281) %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 @.str14282) %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 @.str14283) %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 @.str14284) %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 @.str14285) %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 @.str14286) %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 @.str14287) %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 @.str14288) %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 @.str14289) %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 @.str14290) %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 @.str14291) %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 @.str14292) %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 @.str14293) %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 @.str14294) %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 @.str14295) %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 @.str14296) %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 @.str14297) %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 @.str14298) %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 @.str14299) %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 @.str14300) %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 @.str14301) %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 @.str14302) %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 @.str14303) %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 @.str14304) %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 @.str14305) %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 @.str14306) %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 @.str14307) %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 @.str14308) %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 @.str14309) %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 @.str14310) %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 @.str14311) %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 @.str14312) %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 @.str14313) %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 @.str14314) %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 @.str14315) %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 @.str14316) %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 @.str14317) %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 @.str14318) %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 @.str14319) %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 @.str14320) %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 @.str14321) %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 @.str14322) %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 @.str14323) %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 @.str14324) %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 @.str14325) %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 @.str14326) %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 @.str14327) %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 @.str14328) %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 @.str14329) %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 @.str14330) %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 @.str14331) %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 @.str14332) %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 @.str14333) %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 @.str14334) %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 @.str14335) %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 @.str14336) %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 @.str14337) %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 @.str14338) %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 %t180 = alloca i32 %t181 = alloca i32 store ptr %arg_name, ptr %t0 %t1 = load ptr, ptr %t0 %t2 = call i32 @lp_str_eq(ptr %t1, ptr @.str14339) %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 @.str14340) %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 @.str14341) %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 @.str14342) %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 @.str14343) %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 @.str14344) %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 @.str14345) %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 @.str14346) %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 @.str14347) %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 @.str14348) %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 @.str14349) %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 @.str14350) %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 @.str14351) %t39 = icmp ne i32 %t38, 0 br i1 %t39, label %then36, label %ifend38 then36: store i32 132, ptr %retval br label %ret ifend38: %t40 = load ptr, ptr %t0 %t41 = call i32 @lp_str_eq(ptr %t40, ptr @.str14352) %t42 = icmp ne i32 %t41, 0 br i1 %t42, label %then39, label %ifend41 then39: store i32 133, ptr %retval br label %ret ifend41: %t43 = load ptr, ptr %t0 %t44 = call i32 @lp_str_eq(ptr %t43, ptr @.str14353) %t45 = icmp ne i32 %t44, 0 br i1 %t45, label %then42, label %ifend44 then42: store i32 134, ptr %retval br label %ret ifend44: %t46 = load ptr, ptr %t0 %t47 = call i32 @lp_str_eq(ptr %t46, ptr @.str14354) %t48 = icmp ne i32 %t47, 0 br i1 %t48, label %then45, label %ifend47 then45: store i32 135, ptr %retval br label %ret ifend47: %t49 = load ptr, ptr %t0 %t50 = call i32 @lp_str_eq(ptr %t49, ptr @.str14355) %t51 = icmp ne i32 %t50, 0 br i1 %t51, label %then48, label %ifend50 then48: store i32 136, ptr %retval br label %ret ifend50: %t52 = load ptr, ptr %t0 %t53 = call i32 @lp_str_eq(ptr %t52, ptr @.str14356) %t54 = icmp ne i32 %t53, 0 br i1 %t54, label %then51, label %ifend53 then51: store i32 137, ptr %retval br label %ret ifend53: %t55 = load ptr, ptr %t0 %t56 = call i32 @lp_str_eq(ptr %t55, ptr @.str14357) %t57 = icmp ne i32 %t56, 0 br i1 %t57, label %then54, label %ifend56 then54: store i32 138, ptr %retval br label %ret ifend56: %t58 = load ptr, ptr %t0 %t59 = call i32 @lp_str_eq(ptr %t58, ptr @.str14358) %t60 = icmp ne i32 %t59, 0 br i1 %t60, label %then57, label %ifend59 then57: store i32 139, ptr %retval br label %ret ifend59: %t61 = load ptr, ptr %t0 %t62 = call i32 @lp_str_eq(ptr %t61, ptr @.str14359) %t63 = icmp ne i32 %t62, 0 br i1 %t63, label %then60, label %ifend62 then60: store i32 140, ptr %retval br label %ret ifend62: %t64 = load ptr, ptr %t0 %t65 = call i32 @lp_str_eq(ptr %t64, ptr @.str14360) %t66 = icmp ne i32 %t65, 0 br i1 %t66, label %then63, label %ifend65 then63: store i32 141, ptr %retval br label %ret ifend65: %t67 = load ptr, ptr %t0 %t68 = call i32 @lp_str_eq(ptr %t67, ptr @.str14361) %t69 = icmp ne i32 %t68, 0 br i1 %t69, label %then66, label %ifend68 then66: store i32 142, ptr %retval br label %ret ifend68: %t70 = load ptr, ptr %t0 %t71 = call i32 @lp_str_eq(ptr %t70, ptr @.str14362) %t72 = icmp ne i32 %t71, 0 br i1 %t72, label %then69, label %ifend71 then69: store i32 143, ptr %retval br label %ret ifend71: %t73 = load ptr, ptr %t0 %t74 = call i32 @lp_str_eq(ptr %t73, ptr @.str14363) %t75 = icmp ne i32 %t74, 0 br i1 %t75, label %then72, label %ifend74 then72: store i32 144, ptr %retval br label %ret ifend74: %t76 = load ptr, ptr %t0 %t77 = call i32 @lp_str_eq(ptr %t76, ptr @.str14364) %t78 = icmp ne i32 %t77, 0 br i1 %t78, label %then75, label %ifend77 then75: store i32 145, ptr %retval br label %ret ifend77: %t79 = load ptr, ptr %t0 %t80 = call i32 @lp_str_eq(ptr %t79, ptr @.str14365) %t81 = icmp ne i32 %t80, 0 br i1 %t81, label %then78, label %ifend80 then78: store i32 146, ptr %retval br label %ret ifend80: %t82 = load ptr, ptr %t0 %t83 = call i32 @lp_str_eq(ptr %t82, ptr @.str14366) %t84 = icmp ne i32 %t83, 0 br i1 %t84, label %then81, label %ifend83 then81: store i32 147, ptr %retval br label %ret ifend83: %t85 = load ptr, ptr %t0 %t86 = call i32 @lp_str_eq(ptr %t85, ptr @.str14367) %t87 = icmp ne i32 %t86, 0 br i1 %t87, label %then84, label %ifend86 then84: store i32 148, ptr %retval br label %ret ifend86: %t88 = load ptr, ptr %t0 %t89 = call i32 @lp_str_eq(ptr %t88, ptr @.str14368) %t90 = icmp ne i32 %t89, 0 br i1 %t90, label %then87, label %ifend89 then87: store i32 149, ptr %retval br label %ret ifend89: %t91 = load ptr, ptr %t0 %t92 = call i32 @lp_str_eq(ptr %t91, ptr @.str14369) %t93 = icmp ne i32 %t92, 0 br i1 %t93, label %then90, label %ifend92 then90: store i32 150, ptr %retval br label %ret ifend92: %t94 = load ptr, ptr %t0 %t95 = call i32 @lp_str_eq(ptr %t94, ptr @.str14370) %t96 = icmp ne i32 %t95, 0 br i1 %t96, label %then93, label %ifend95 then93: store i32 152, ptr %retval br label %ret ifend95: %t97 = load ptr, ptr %t0 %t98 = call i32 @lp_str_eq(ptr %t97, ptr @.str14371) %t99 = icmp ne i32 %t98, 0 br i1 %t99, label %then96, label %ifend98 then96: store i32 153, ptr %retval br label %ret ifend98: %t100 = load ptr, ptr %t0 %t101 = call i32 @lp_str_eq(ptr %t100, ptr @.str14372) %t102 = icmp ne i32 %t101, 0 br i1 %t102, label %then99, label %ifend101 then99: store i32 154, ptr %retval br label %ret ifend101: %t103 = load ptr, ptr %t0 %t104 = call i32 @lp_str_eq(ptr %t103, ptr @.str14373) %t105 = icmp ne i32 %t104, 0 br i1 %t105, label %then102, label %ifend104 then102: store i32 155, ptr %retval br label %ret ifend104: %t106 = load ptr, ptr %t0 %t107 = call i32 @lp_str_eq(ptr %t106, ptr @.str14374) %t108 = icmp ne i32 %t107, 0 br i1 %t108, label %then105, label %ifend107 then105: store i32 156, ptr %retval br label %ret ifend107: %t109 = load ptr, ptr %t0 %t110 = call i32 @lp_str_eq(ptr %t109, ptr @.str14375) %t111 = icmp ne i32 %t110, 0 br i1 %t111, label %then108, label %ifend110 then108: store i32 157, ptr %retval br label %ret ifend110: %t112 = load ptr, ptr %t0 %t113 = call i32 @lp_str_eq(ptr %t112, ptr @.str14376) %t114 = icmp ne i32 %t113, 0 br i1 %t114, label %then111, label %ifend113 then111: store i32 158, ptr %retval br label %ret ifend113: %t115 = load ptr, ptr %t0 %t116 = call i32 @lp_str_eq(ptr %t115, ptr @.str14377) %t117 = icmp ne i32 %t116, 0 br i1 %t117, label %then114, label %ifend116 then114: store i32 159, ptr %retval br label %ret ifend116: %t118 = load ptr, ptr %t0 %t119 = call i32 @lp_str_eq(ptr %t118, ptr @.str14378) %t120 = icmp ne i32 %t119, 0 br i1 %t120, label %then117, label %ifend119 then117: store i32 160, ptr %retval br label %ret ifend119: %t121 = load ptr, ptr %t0 %t122 = call i32 @lp_str_eq(ptr %t121, ptr @.str14379) %t123 = icmp ne i32 %t122, 0 br i1 %t123, label %then120, label %ifend122 then120: store i32 161, ptr %retval br label %ret ifend122: %t124 = load ptr, ptr %t0 %t125 = call i32 @lp_str_eq(ptr %t124, ptr @.str14380) %t126 = icmp ne i32 %t125, 0 br i1 %t126, label %then123, label %ifend125 then123: store i32 162, ptr %retval br label %ret ifend125: %t127 = load ptr, ptr %t0 %t128 = call i32 @lp_str_eq(ptr %t127, ptr @.str14381) %t129 = icmp ne i32 %t128, 0 br i1 %t129, label %then126, label %ifend128 then126: store i32 163, ptr %retval br label %ret ifend128: %t130 = load ptr, ptr %t0 %t131 = call i32 @lp_str_eq(ptr %t130, ptr @.str14382) %t132 = icmp ne i32 %t131, 0 br i1 %t132, label %then129, label %ifend131 then129: store i32 164, ptr %retval br label %ret ifend131: %t133 = load ptr, ptr %t0 %t134 = call i32 @lp_str_eq(ptr %t133, ptr @.str14383) %t135 = icmp ne i32 %t134, 0 br i1 %t135, label %then132, label %ifend134 then132: store i32 165, ptr %retval br label %ret ifend134: %t136 = load ptr, ptr %t0 %t137 = call i32 @lp_str_eq(ptr %t136, ptr @.str14384) %t138 = icmp ne i32 %t137, 0 br i1 %t138, label %then135, label %ifend137 then135: store i32 166, ptr %retval br label %ret ifend137: %t139 = load ptr, ptr %t0 %t140 = call i32 @lp_str_eq(ptr %t139, ptr @.str14385) %t141 = icmp ne i32 %t140, 0 br i1 %t141, label %then138, label %ifend140 then138: store i32 48, ptr %retval br label %ret ifend140: %t142 = load ptr, ptr %t0 %t143 = call i32 @lp_str_eq(ptr %t142, ptr @.str14386) %t144 = icmp ne i32 %t143, 0 br i1 %t144, label %then141, label %ifend143 then141: store i32 49, ptr %retval br label %ret ifend143: %t145 = load ptr, ptr %t0 %t146 = call i32 @lp_str_eq(ptr %t145, ptr @.str14387) %t147 = icmp ne i32 %t146, 0 br i1 %t147, label %then144, label %ifend146 then144: store i32 50, ptr %retval br label %ret ifend146: %t148 = load ptr, ptr %t0 %t149 = call i32 @lp_str_eq(ptr %t148, ptr @.str14388) %t150 = icmp ne i32 %t149, 0 br i1 %t150, label %then147, label %ifend149 then147: store i32 51, ptr %retval br label %ret ifend149: %t151 = load ptr, ptr %t0 %t152 = call i32 @lp_str_eq(ptr %t151, ptr @.str14389) %t153 = icmp ne i32 %t152, 0 br i1 %t153, label %then150, label %ifend152 then150: store i32 52, ptr %retval br label %ret ifend152: %t154 = load ptr, ptr %t0 %t155 = call i32 @lp_str_eq(ptr %t154, ptr @.str14390) %t156 = icmp ne i32 %t155, 0 br i1 %t156, label %then153, label %ifend155 then153: store i32 53, ptr %retval br label %ret ifend155: %t157 = load ptr, ptr %t0 %t158 = call i32 @lp_str_eq(ptr %t157, ptr @.str14391) %t159 = icmp ne i32 %t158, 0 br i1 %t159, label %then156, label %ifend158 then156: store i32 54, ptr %retval br label %ret ifend158: %t160 = load ptr, ptr %t0 %t161 = call i32 @lp_str_eq(ptr %t160, ptr @.str14392) %t162 = icmp ne i32 %t161, 0 br i1 %t162, label %then159, label %ifend161 then159: store i32 55, ptr %retval br label %ret ifend161: %t163 = load ptr, ptr %t0 %t164 = call i32 @lp_str_eq(ptr %t163, ptr @.str14393) %t165 = icmp ne i32 %t164, 0 br i1 %t165, label %then162, label %ifend164 then162: store i32 56, ptr %retval br label %ret ifend164: %t166 = load ptr, ptr %t0 %t167 = call i32 @lp_str_eq(ptr %t166, ptr @.str14394) %t168 = icmp ne i32 %t167, 0 br i1 %t168, label %then165, label %ifend167 then165: store i32 57, ptr %retval br label %ret ifend167: %t169 = load ptr, ptr %t0 %t170 = getelementptr inbounds i8, ptr %t169, i32 1 %t171 = load i8, ptr %t170 %t172 = zext i8 %t171 to i32 %t173 = icmp eq i32 %t172, 0 %t174 = zext i1 %t173 to i32 %t175 = icmp ne i32 %t174, 0 br i1 %t175, label %then168, label %ifend170 then168: %t176 = load ptr, ptr %t0 %t177 = getelementptr inbounds i8, ptr %t176, i32 0 %t178 = load i8, ptr %t177 %t179 = zext i8 %t178 to i32 store i32 %t179, ptr %t180 %t182 = load i32, ptr %t180 %t183 = icmp sge i32 %t182, 65 %t184 = zext i1 %t183 to i32 %t185 = icmp ne i32 %t184, 0 %t186 = zext i1 %t185 to i32 store i32 %t186, ptr %t181 br i1 %t185, label %sc171, label %scend172 sc171: %t187 = load i32, ptr %t180 %t188 = icmp sle i32 %t187, 90 %t189 = zext i1 %t188 to i32 %t190 = icmp ne i32 %t189, 0 %t191 = zext i1 %t190 to i32 store i32 %t191, ptr %t181 br label %scend172 scend172: %t192 = load i32, ptr %t181 %t193 = icmp ne i32 %t192, 0 br i1 %t193, label %then173, label %ifend175 then173: %t194 = load i32, ptr %t180 %t195 = add i32 %t194, 32 store i32 %t195, ptr %retval br label %ret ifend175: br label %ifend170 ifend170: %t196 = sub i32 0, 1 store i32 %t196, ptr %retval br label %ret ret: %t197 = load i32, ptr %retval ret i32 %t197 } 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 store i32 7816, ptr @lp_site %t2 = call ptr @lp_str_concat(ptr @.str14395, ptr %t1) store i32 0, ptr @lp_site store i32 7817, ptr @lp_site %t3 = call ptr @lp_str_concat(ptr %t2, ptr @.str14397) store i32 0, ptr @lp_site call void @lp_free(ptr %t2) %t4 = call ptr @fn_emit_bind(ptr %t3) store ptr %t4, ptr %t5 %t6 = load ptr, ptr %t5 store i32 7818, ptr @lp_site %t7 = call ptr @lp_str_concat(ptr @.str14398, ptr %t6) store i32 0, ptr @lp_site store i32 7819, ptr @lp_site %t8 = call ptr @lp_str_concat(ptr %t7, ptr @.str14399) store i32 0, ptr @lp_site call void @lp_free(ptr %t7) %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 %t28 = 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 = load i32, ptr %t6 %t20 = getelementptr inbounds %LSlice, ptr %t18, i32 0, i32 0 %t21 = load ptr, ptr %t20 %t22 = getelementptr inbounds %LSlice, ptr %t18, i32 0, i32 1 %t23 = load i32, ptr %t22 %t24 = icmp ult i32 %t19, %t23 br i1 %t24, label %ixok6, label %ixbad7 ixbad7: store i32 7820, ptr @lp_site %t25 = call ptr @lp_win_stdio(i32 2) store i32 0, ptr @lp_site call i32 (ptr, ptr, ...) @fprintf(ptr %t25, ptr @.fmt_bounds, ptr @.str14400, i32 %t19, i32 %t23) call void @exit(i32 1) unreachable ixok6: %t26 = getelementptr inbounds ptr, ptr %t21, i32 %t19 %t27 = load ptr, ptr %t26 store ptr %t27, ptr %t28 %t29 = load ptr, ptr %t28 %t30 = getelementptr inbounds %Cmp_Node, ptr %t29, i32 0, i32 1 %t31 = load ptr, ptr %t30 %t32 = load ptr, ptr %t1 %t33 = call i32 @lp_str_eq(ptr %t31, ptr %t32) %t34 = icmp ne i32 %t33, 0 br i1 %t34, label %then8, label %ifend10 then8: %t35 = load ptr, ptr %t28 %t36 = getelementptr inbounds %Cmp_Node, ptr %t35, i32 0, i32 4 %t37 = load ptr, ptr %t36 store ptr %t37, ptr %retval br label %ret ifend10: %t38 = load i32, ptr %t6 %t39 = add i32 %t38, 1 store i32 %t39, ptr %t6 br label %wcond3 wend5: store ptr null, ptr %retval br label %ret ret: %t40 = load ptr, ptr %retval ret ptr %t40 } define ptr @fn_emit_new_struct(ptr %arg_name, ptr %arg_rec, ptr %arg_into) { entry: %retval = alloca ptr %t0 = alloca ptr %t1 = alloca ptr %t2 = alloca ptr %t5 = alloca ptr %t6 = alloca i32 %t36 = alloca ptr %t39 = alloca ptr %t40 = alloca ptr %t55 = alloca i32 %t77 = alloca ptr %t79 = alloca ptr %t89 = alloca ptr %t92 = alloca ptr %t103 = alloca ptr %t114 = alloca ptr %t121 = alloca ptr store ptr %arg_name, ptr %t0 store ptr %arg_rec, ptr %t1 store ptr %arg_into, ptr %t2 %t3 = load ptr, ptr %t0 %t4 = call ptr @fn_layout_node(ptr %t3) store ptr %t4, ptr %t5 %t7 = load ptr, ptr %t5 %t8 = icmp eq 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 %t6 br i1 %t10, label %sc0, label %scend1 sc0: %t12 = load ptr, ptr %t0 %t13 = call i32 @fn_port_find(ptr %t12) %t14 = icmp sge i32 %t13, 0 %t15 = zext i1 %t14 to i32 %t16 = icmp ne i32 %t15, 0 %t17 = zext i1 %t16 to i32 store i32 %t17, ptr %t6 br label %scend1 scend1: %t18 = load i32, ptr %t6 %t19 = icmp ne i32 %t18, 0 br i1 %t19, label %then2, label %ifend4 then2: %t20 = load ptr, ptr %t0 store i32 7821, ptr @lp_site %t21 = call ptr @lp_str_concat(ptr %t20, ptr @.str14402) store i32 0, ptr @lp_site %t22 = load ptr, ptr %t0 store i32 7822, ptr @lp_site %t23 = call ptr @lp_str_concat(ptr %t21, ptr %t22) store i32 0, ptr @lp_site call void @lp_free(ptr %t21) store i32 7823, ptr @lp_site %t24 = call ptr @lp_str_concat(ptr %t23, ptr @.str14404) store i32 0, ptr @lp_site call void @lp_free(ptr %t23) call void @fn_perr(ptr %t24) br label %ifend4 ifend4: %t25 = load ptr, ptr %t5 %t26 = icmp eq ptr %t25, null %t27 = zext i1 %t26 to i32 %t28 = icmp ne i32 %t27, 0 br i1 %t28, label %then5, label %ifend7 then5: %t29 = load ptr, ptr %t0 store i32 7824, ptr @lp_site %t30 = call ptr @lp_str_concat(ptr @.str14405, ptr %t29) store i32 0, ptr @lp_site store i32 7825, ptr @lp_site %t31 = call ptr @lp_str_concat(ptr %t30, ptr @.str14406) store i32 0, ptr @lp_site call void @lp_free(ptr %t30) call void @fn_perr(ptr %t31) br label %ifend7 ifend7: %t32 = load ptr, ptr %t5 %t33 = load ptr, ptr %t0 call void @fn_vis_check(ptr %t32, ptr %t33) %t34 = load ptr, ptr %t0 %t35 = call ptr @fn_layout_ty(ptr %t34) store ptr %t35, ptr %t36 %t37 = load ptr, ptr %t36 %t38 = call ptr @fn_emit_sizeof(ptr %t37) store ptr %t38, ptr %t39 store ptr @.str14407, ptr %t40 %t41 = load ptr, ptr %t2 %t42 = icmp ne ptr %t41, null %t43 = zext i1 %t42 to i32 %t44 = icmp ne i32 %t43, 0 br i1 %t44, label %then8, label %else9 then8: %t45 = load ptr, ptr %t2 %t46 = call ptr @fn_emit_expr(ptr %t45) %t47 = getelementptr inbounds %Cmp_Val, ptr %t46, i32 0, i32 0 %t48 = load ptr, ptr %t47 store ptr %t48, ptr %t40 br label %ifend10 else9: %t49 = load ptr, ptr %t0 store i32 7826, ptr @lp_site %t50 = call ptr @lp_str_concat(ptr @.str14408, ptr %t49) store i32 0, ptr @lp_site store ptr %t50, ptr @g_g_site_next %t51 = load ptr, ptr %t39 store i32 7827, ptr @lp_site %t52 = call ptr @lp_str_concat(ptr @.str14409, ptr %t51) store i32 0, ptr @lp_site store i32 7828, ptr @lp_site %t53 = call ptr @lp_str_concat(ptr %t52, ptr @.str14410) store i32 0, ptr @lp_site call void @lp_free(ptr %t52) %t54 = call ptr @fn_emit_bind(ptr %t53) store ptr %t54, ptr %t40 br label %ifend10 ifend10: store i32 0, ptr %t55 br label %wcond11 wcond11: %t56 = load i32, ptr %t55 %t57 = load ptr, ptr %t5 %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 %wbody12, label %wend13 wbody12: %t65 = load ptr, ptr %t5 %t66 = getelementptr inbounds %Cmp_Node, ptr %t65, i32 0, i32 7 %t67 = load ptr, ptr %t66 %t68 = load i32, ptr %t55 %t69 = getelementptr inbounds %LSlice, ptr %t67, i32 0, i32 0 %t70 = load ptr, ptr %t69 %t71 = getelementptr inbounds %LSlice, ptr %t67, i32 0, i32 1 %t72 = load i32, ptr %t71 %t73 = icmp ult i32 %t68, %t72 br i1 %t73, label %ixok14, label %ixbad15 ixbad15: store i32 7829, ptr @lp_site %t74 = call ptr @lp_win_stdio(i32 2) store i32 0, ptr @lp_site call i32 (ptr, ptr, ...) @fprintf(ptr %t74, ptr @.fmt_bounds, ptr @.str14411, i32 %t68, i32 %t72) call void @exit(i32 1) unreachable ixok14: %t75 = getelementptr inbounds ptr, ptr %t70, i32 %t68 %t76 = load ptr, ptr %t75 store ptr %t76, ptr %t77 %t78 = call ptr @fn_nreg() store ptr %t78, ptr %t79 call void @fn_emit(ptr @.str14412) %t80 = load ptr, ptr %t79 call void @fn_emit(ptr %t80) call void @fn_emit(ptr @.str14413) %t81 = load ptr, ptr %t36 call void @fn_emit(ptr %t81) call void @fn_emit(ptr @.str14414) %t82 = load ptr, ptr %t40 call void @fn_emit(ptr %t82) call void @fn_emit(ptr @.str14415) %t83 = load i32, ptr %t55 %t84 = call ptr @fn_itoa(i32 %t83) call void @fn_emit(ptr %t84) call void @fn_emit(ptr @.str14416) %t85 = load ptr, ptr %t77 %t86 = getelementptr inbounds %Cmp_Node, ptr %t85, i32 0, i32 3 %t87 = load ptr, ptr %t86 %t88 = call ptr @fn_llty(ptr %t87) store ptr %t88, ptr %t89 %t90 = load ptr, ptr %t89 %t91 = call ptr @fn_zero_of(ptr %t90) store ptr %t91, ptr %t92 %t93 = load ptr, ptr %t77 %t94 = getelementptr inbounds %Cmp_Node, ptr %t93, i32 0, i32 4 %t95 = load ptr, ptr %t94 %t96 = icmp ne ptr %t95, null %t97 = zext i1 %t96 to i32 %t98 = icmp ne i32 %t97, 0 br i1 %t98, label %then16, label %ifend18 then16: %t99 = load ptr, ptr %t77 %t100 = getelementptr inbounds %Cmp_Node, ptr %t99, i32 0, i32 4 %t101 = load ptr, ptr %t100 %t102 = call ptr @fn_emit_expr(ptr %t101) store ptr %t102, ptr %t103 %t104 = load ptr, ptr %t103 %t105 = load ptr, ptr %t77 %t106 = getelementptr inbounds %Cmp_Node, ptr %t105, i32 0, i32 3 %t107 = load ptr, ptr %t106 %t108 = call ptr @fn_coerce_code(ptr %t104, ptr %t107) store ptr %t108, ptr %t92 br label %ifend18 ifend18: %t109 = load ptr, ptr %t1 %t110 = load ptr, ptr %t77 %t111 = getelementptr inbounds %Cmp_Node, ptr %t110, i32 0, i32 1 %t112 = load ptr, ptr %t111 %t113 = call ptr @fn_rec_field(ptr %t109, ptr %t112) store ptr %t113, ptr %t114 %t115 = load ptr, ptr %t114 %t116 = icmp ne ptr %t115, null %t117 = zext i1 %t116 to i32 %t118 = icmp ne i32 %t117, 0 br i1 %t118, label %then19, label %ifend21 then19: %t119 = load ptr, ptr %t114 %t120 = call ptr @fn_emit_expr(ptr %t119) store ptr %t120, ptr %t121 %t122 = load ptr, ptr %t121 %t123 = load ptr, ptr %t77 %t124 = getelementptr inbounds %Cmp_Node, ptr %t123, i32 0, i32 3 %t125 = load ptr, ptr %t124 %t126 = call ptr @fn_coerce_code(ptr %t122, ptr %t125) store ptr %t126, ptr %t92 br label %ifend21 ifend21: call void @fn_emit(ptr @.str14417) %t127 = load ptr, ptr %t89 call void @fn_emit(ptr %t127) call void @fn_emit(ptr @.str14418) %t128 = load ptr, ptr %t92 call void @fn_emit(ptr %t128) call void @fn_emit(ptr @.str14419) %t129 = load ptr, ptr %t79 call void @fn_emit(ptr %t129) call void @fn_emit(ptr @.str14420) %t130 = load i32, ptr %t55 %t131 = add i32 %t130, 1 store i32 %t131, ptr %t55 br label %wcond11 wend13: %t132 = load ptr, ptr %t40 %t133 = load ptr, ptr %t0 %t134 = call ptr @fn_val(ptr %t132, ptr %t133) store ptr %t134, ptr %retval br label %ret ret: %t135 = load ptr, ptr %retval ret ptr %t135 } define ptr @fn_emit_new_slice(ptr %arg_ty) { entry: %retval = alloca ptr %t0 = alloca ptr %t2 = alloca ptr %t9 = alloca ptr %t11 = alloca ptr %t16 = alloca ptr %t21 = alloca ptr store ptr %arg_ty, ptr %t0 %t1 = call ptr @fn_emit_sizeof(ptr @.str14421) store ptr %t1, ptr %t2 %t3 = load ptr, ptr %t0 store i32 7830, ptr @lp_site %t4 = call ptr @lp_str_concat(ptr @.str14422, ptr %t3) store i32 0, ptr @lp_site store ptr %t4, ptr @g_g_site_next %t5 = load ptr, ptr %t2 store i32 7831, ptr @lp_site %t6 = call ptr @lp_str_concat(ptr @.str14424, ptr %t5) store i32 0, ptr @lp_site store i32 7832, ptr @lp_site %t7 = call ptr @lp_str_concat(ptr %t6, ptr @.str14425) store i32 0, ptr @lp_site call void @lp_free(ptr %t6) %t8 = call ptr @fn_emit_bind(ptr %t7) store ptr %t8, ptr %t9 %t10 = call ptr @fn_nreg() store ptr %t10, ptr %t11 call void @fn_emit(ptr @.str14426) %t12 = load ptr, ptr %t11 call void @fn_emit(ptr %t12) call void @fn_emit(ptr @.str14427) %t13 = load ptr, ptr %t9 call void @fn_emit(ptr %t13) call void @fn_emit(ptr @.str14428) call void @fn_emit(ptr @.str14429) %t14 = load ptr, ptr %t11 call void @fn_emit(ptr %t14) call void @fn_emit(ptr @.str14430) %t15 = call ptr @fn_nreg() store ptr %t15, ptr %t16 call void @fn_emit(ptr @.str14431) %t17 = load ptr, ptr %t16 call void @fn_emit(ptr %t17) call void @fn_emit(ptr @.str14432) %t18 = load ptr, ptr %t9 call void @fn_emit(ptr %t18) call void @fn_emit(ptr @.str14433) call void @fn_emit(ptr @.str14434) %t19 = load ptr, ptr %t16 call void @fn_emit(ptr %t19) call void @fn_emit(ptr @.str14435) %t20 = call ptr @fn_nreg() store ptr %t20, ptr %t21 call void @fn_emit(ptr @.str14436) %t22 = load ptr, ptr %t21 call void @fn_emit(ptr %t22) call void @fn_emit(ptr @.str14437) %t23 = load ptr, ptr %t9 call void @fn_emit(ptr %t23) call void @fn_emit(ptr @.str14438) call void @fn_emit(ptr @.str14439) %t24 = load ptr, ptr %t21 call void @fn_emit(ptr %t24) call void @fn_emit(ptr @.str14440) %t25 = load ptr, ptr %t9 %t26 = load ptr, ptr %t0 %t27 = call ptr @fn_val(ptr %t25, ptr %t26) store ptr %t27, ptr %retval br label %ret ret: %t28 = load ptr, ptr %retval ret ptr %t28 } define ptr @fn_emit_sized_slice(ptr %arg_el, ptr %arg_n) { entry: %retval = alloca ptr %t0 = alloca ptr %t1 = alloca ptr %t5 = alloca ptr %t9 = alloca ptr %t16 = alloca ptr %t24 = alloca ptr store ptr %arg_el, ptr %t0 store ptr %arg_n, ptr %t1 %t2 = load ptr, ptr %t0 store i32 7833, ptr @lp_site %t3 = call ptr @lp_str_concat(ptr @.str14441, ptr %t2) store i32 0, ptr @lp_site %t4 = call ptr @fn_emit_new_slice(ptr %t3) store ptr %t4, ptr %t5 %t6 = load ptr, ptr %t0 %t7 = call ptr @fn_llty(ptr %t6) %t8 = call ptr @fn_emit_sizeof(ptr %t7) store ptr %t8, ptr %t9 %t10 = load ptr, ptr %t1 %t11 = getelementptr inbounds %Cmp_Val, ptr %t10, i32 0, i32 0 %t12 = load ptr, ptr %t11 store i32 7834, ptr @lp_site %t13 = call ptr @lp_str_concat(ptr @.str14443, ptr %t12) store i32 0, ptr @lp_site store i32 7835, ptr @lp_site %t14 = call ptr @lp_str_concat(ptr %t13, ptr @.str14444) store i32 0, ptr @lp_site call void @lp_free(ptr %t13) %t15 = call ptr @fn_emit_bind(ptr %t14) store ptr %t15, ptr %t16 %t17 = load ptr, ptr %t16 store i32 7836, ptr @lp_site %t18 = call ptr @lp_str_concat(ptr @.str14445, ptr %t17) store i32 0, ptr @lp_site store i32 7837, ptr @lp_site %t19 = call ptr @lp_str_concat(ptr %t18, ptr @.str14446) store i32 0, ptr @lp_site call void @lp_free(ptr %t18) %t20 = load ptr, ptr %t9 store i32 7838, ptr @lp_site %t21 = call ptr @lp_str_concat(ptr %t19, ptr %t20) store i32 0, ptr @lp_site call void @lp_free(ptr %t19) store i32 7839, ptr @lp_site %t22 = call ptr @lp_str_concat(ptr %t21, ptr @.str14447) store i32 0, ptr @lp_site call void @lp_free(ptr %t21) %t23 = call ptr @fn_emit_bind(ptr %t22) store ptr %t23, ptr %t24 %t25 = load ptr, ptr %t24 store i32 7840, ptr @lp_site %t26 = call ptr @lp_str_concat(ptr @.str14448, ptr %t25) store i32 0, ptr @lp_site store i32 7841, ptr @lp_site %t27 = call ptr @lp_str_concat(ptr %t26, ptr @.str14449) store i32 0, ptr @lp_site call void @lp_free(ptr %t26) %t28 = load ptr, ptr %t5 %t29 = getelementptr inbounds %Cmp_Val, ptr %t28, i32 0, i32 0 %t30 = load ptr, ptr %t29 %t31 = call ptr @fn_slice_field(ptr %t30, i32 0) store i32 7842, ptr @lp_site %t32 = call ptr @lp_str_concat(ptr %t27, ptr %t31) store i32 0, ptr @lp_site call void @lp_free(ptr %t27) store i32 7843, ptr @lp_site %t33 = call ptr @lp_str_concat(ptr %t32, ptr @.str14450) store i32 0, ptr @lp_site call void @lp_free(ptr %t32) call void @fn_emit(ptr %t33) %t34 = load ptr, ptr %t1 %t35 = getelementptr inbounds %Cmp_Val, ptr %t34, i32 0, i32 0 %t36 = load ptr, ptr %t35 store i32 7844, ptr @lp_site %t37 = call ptr @lp_str_concat(ptr @.str14451, ptr %t36) store i32 0, ptr @lp_site store i32 7845, ptr @lp_site %t38 = call ptr @lp_str_concat(ptr %t37, ptr @.str14452) store i32 0, ptr @lp_site call void @lp_free(ptr %t37) %t39 = load ptr, ptr %t5 %t40 = getelementptr inbounds %Cmp_Val, ptr %t39, i32 0, i32 0 %t41 = load ptr, ptr %t40 %t42 = call ptr @fn_slice_field(ptr %t41, i32 1) store i32 7846, ptr @lp_site %t43 = call ptr @lp_str_concat(ptr %t38, ptr %t42) store i32 0, ptr @lp_site call void @lp_free(ptr %t38) store i32 7847, ptr @lp_site %t44 = call ptr @lp_str_concat(ptr %t43, ptr @.str14453) store i32 0, ptr @lp_site call void @lp_free(ptr %t43) call void @fn_emit(ptr %t44) %t45 = load ptr, ptr %t1 %t46 = getelementptr inbounds %Cmp_Val, ptr %t45, i32 0, i32 0 %t47 = load ptr, ptr %t46 store i32 7848, ptr @lp_site %t48 = call ptr @lp_str_concat(ptr @.str14454, ptr %t47) store i32 0, ptr @lp_site store i32 7849, ptr @lp_site %t49 = call ptr @lp_str_concat(ptr %t48, ptr @.str14455) store i32 0, ptr @lp_site call void @lp_free(ptr %t48) %t50 = load ptr, ptr %t5 %t51 = getelementptr inbounds %Cmp_Val, ptr %t50, i32 0, i32 0 %t52 = load ptr, ptr %t51 %t53 = call ptr @fn_slice_field(ptr %t52, i32 2) store i32 7850, ptr @lp_site %t54 = call ptr @lp_str_concat(ptr %t49, ptr %t53) store i32 0, ptr @lp_site call void @lp_free(ptr %t49) store i32 7851, ptr @lp_site %t55 = call ptr @lp_str_concat(ptr %t54, ptr @.str14456) store i32 0, ptr @lp_site call void @lp_free(ptr %t54) call void @fn_emit(ptr %t55) %t56 = load ptr, ptr %t5 store ptr %t56, ptr %retval br label %ret ret: %t57 = load ptr, ptr %retval ret ptr %t57 } define ptr @fn_src_name_of(ptr %arg_e) { entry: %retval = alloca ptr %t0 = alloca ptr %t1 = alloca i32 store ptr %arg_e, ptr %t0 %t2 = load ptr, ptr %t0 %t3 = icmp eq ptr %t2, null %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 ptr, ptr %t0 %t8 = getelementptr inbounds %Cmp_Node, ptr %t7, i32 0, i32 9 %t9 = load ptr, ptr %t8 %t10 = icmp eq ptr %t9, null %t11 = zext i1 %t10 to i32 %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 @g_g_src_name store ptr %t16, ptr %retval br label %ret ifend4: %t17 = load ptr, ptr %t0 %t18 = getelementptr inbounds %Cmp_Node, ptr %t17, i32 0, i32 9 %t19 = load ptr, ptr %t18 store ptr %t19, ptr %retval br label %ret ret: %t20 = load ptr, ptr %retval ret ptr %t20 } define ptr @fn_emit_view(ptr %arg_e) { entry: %retval = alloca ptr %t0 = alloca ptr %t13 = alloca ptr %t37 = alloca ptr %t50 = alloca ptr %t55 = alloca ptr %t62 = alloca ptr %t73 = alloca ptr %t80 = alloca ptr %t87 = alloca ptr %t94 = alloca ptr %t101 = alloca ptr %t108 = alloca ptr %t110 = alloca ptr %t112 = alloca ptr %t134 = alloca ptr %t137 = alloca ptr %t158 = alloca ptr %t171 = alloca ptr %t176 = 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 %LSlice, ptr %t3, i32 0, i32 1 %t7 = load i32, ptr %t6 %t8 = icmp ult i32 0, %t7 br i1 %t8, label %ixok0, label %ixbad1 ixbad1: store i32 7852, ptr @lp_site %t9 = call ptr @lp_win_stdio(i32 2) store i32 0, ptr @lp_site call i32 (ptr, ptr, ...) @fprintf(ptr %t9, ptr @.fmt_bounds, ptr @.str14457, i32 0, i32 %t7) call void @exit(i32 1) unreachable ixok0: %t10 = getelementptr inbounds ptr, ptr %t5, 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 1 %t16 = load ptr, ptr %t15 %t17 = call i32 @fn_is_slice_ty(ptr %t16) %t18 = icmp eq i32 %t17, 0 %t19 = zext i1 %t18 to i32 %t20 = icmp ne i32 %t19, 0 br i1 %t20, label %then2, label %ifend4 then2: %t21 = load ptr, ptr %t13 %t22 = getelementptr inbounds %Cmp_Val, ptr %t21, i32 0, i32 1 %t23 = load ptr, ptr %t22 store i32 7853, ptr @lp_site %t24 = call ptr @lp_str_concat(ptr @.str14459, ptr %t23) store i32 0, ptr @lp_site call void @fn_perr(ptr %t24) br label %ifend4 ifend4: %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 = getelementptr inbounds %LSlice, ptr %t27, i32 0, i32 1 %t31 = load i32, ptr %t30 %t32 = icmp ult i32 1, %t31 br i1 %t32, label %ixok5, label %ixbad6 ixbad6: store i32 7854, ptr @lp_site %t33 = call ptr @lp_win_stdio(i32 2) store i32 0, ptr @lp_site call i32 (ptr, ptr, ...) @fprintf(ptr %t33, ptr @.fmt_bounds, ptr @.str14460, i32 1, i32 %t31) call void @exit(i32 1) unreachable ixok5: %t34 = getelementptr inbounds ptr, ptr %t29, i32 1 %t35 = load ptr, ptr %t34 %t36 = call ptr @fn_emit_expr(ptr %t35) store ptr %t36, ptr %t37 %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 0 %t42 = load ptr, ptr %t41 %t43 = getelementptr inbounds %LSlice, ptr %t40, i32 0, i32 1 %t44 = load i32, ptr %t43 %t45 = icmp ult i32 2, %t44 br i1 %t45, label %ixok7, label %ixbad8 ixbad8: store i32 7855, ptr @lp_site %t46 = call ptr @lp_win_stdio(i32 2) store i32 0, ptr @lp_site call i32 (ptr, ptr, ...) @fprintf(ptr %t46, ptr @.fmt_bounds, ptr @.str14461, i32 2, i32 %t44) call void @exit(i32 1) unreachable ixok7: %t47 = getelementptr inbounds ptr, ptr %t42, i32 2 %t48 = load ptr, ptr %t47 %t49 = call ptr @fn_emit_expr(ptr %t48) store ptr %t49, ptr %t50 %t51 = load ptr, ptr %t13 %t52 = getelementptr inbounds %Cmp_Val, ptr %t51, i32 0, i32 1 %t53 = load ptr, ptr %t52 %t54 = call ptr @fn_slice_elem(ptr %t53) store ptr %t54, ptr %t55 %t56 = load ptr, ptr %t13 %t57 = getelementptr inbounds %Cmp_Val, ptr %t56, i32 0, i32 0 %t58 = load ptr, ptr %t57 %t59 = call ptr @fn_slice_field(ptr %t58, i32 1) store i32 7856, ptr @lp_site %t60 = call ptr @lp_str_concat(ptr @.str14462, ptr %t59) store i32 0, ptr @lp_site %t61 = call ptr @fn_emit_bind(ptr %t60) store ptr %t61, ptr %t62 %t63 = load ptr, ptr %t37 %t64 = getelementptr inbounds %Cmp_Val, ptr %t63, i32 0, i32 0 %t65 = load ptr, ptr %t64 store i32 7857, ptr @lp_site %t66 = call ptr @lp_str_concat(ptr @.str14463, ptr %t65) store i32 0, ptr @lp_site store i32 7858, ptr @lp_site %t67 = call ptr @lp_str_concat(ptr %t66, ptr @.str14464) store i32 0, ptr @lp_site call void @lp_free(ptr %t66) %t68 = load ptr, ptr %t50 %t69 = getelementptr inbounds %Cmp_Val, ptr %t68, i32 0, i32 0 %t70 = load ptr, ptr %t69 store i32 7859, ptr @lp_site %t71 = call ptr @lp_str_concat(ptr %t67, ptr %t70) store i32 0, ptr @lp_site call void @lp_free(ptr %t67) %t72 = call ptr @fn_emit_bind(ptr %t71) store ptr %t72, ptr %t73 %t74 = load ptr, ptr %t73 store i32 7860, ptr @lp_site %t75 = call ptr @lp_str_concat(ptr @.str14465, ptr %t74) store i32 0, ptr @lp_site store i32 7861, ptr @lp_site %t76 = call ptr @lp_str_concat(ptr %t75, ptr @.str14466) store i32 0, ptr @lp_site call void @lp_free(ptr %t75) %t77 = load ptr, ptr %t62 store i32 7862, ptr @lp_site %t78 = call ptr @lp_str_concat(ptr %t76, ptr %t77) store i32 0, ptr @lp_site call void @lp_free(ptr %t76) %t79 = call ptr @fn_emit_bind(ptr %t78) store ptr %t79, ptr %t80 %t81 = load ptr, ptr %t37 %t82 = getelementptr inbounds %Cmp_Val, ptr %t81, i32 0, i32 0 %t83 = load ptr, ptr %t82 store i32 7863, ptr @lp_site %t84 = call ptr @lp_str_concat(ptr @.str14467, ptr %t83) store i32 0, ptr @lp_site store i32 7864, ptr @lp_site %t85 = call ptr @lp_str_concat(ptr %t84, ptr @.str14468) store i32 0, ptr @lp_site call void @lp_free(ptr %t84) %t86 = call ptr @fn_emit_bind(ptr %t85) store ptr %t86, ptr %t87 %t88 = load ptr, ptr %t50 %t89 = getelementptr inbounds %Cmp_Val, ptr %t88, i32 0, i32 0 %t90 = load ptr, ptr %t89 store i32 7865, ptr @lp_site %t91 = call ptr @lp_str_concat(ptr @.str14469, ptr %t90) store i32 0, ptr @lp_site store i32 7866, ptr @lp_site %t92 = call ptr @lp_str_concat(ptr %t91, ptr @.str14470) store i32 0, ptr @lp_site call void @lp_free(ptr %t91) %t93 = call ptr @fn_emit_bind(ptr %t92) store ptr %t93, ptr %t94 %t95 = load ptr, ptr %t80 store i32 7867, ptr @lp_site %t96 = call ptr @lp_str_concat(ptr @.str14471, ptr %t95) store i32 0, ptr @lp_site store i32 7868, ptr @lp_site %t97 = call ptr @lp_str_concat(ptr %t96, ptr @.str14472) store i32 0, ptr @lp_site call void @lp_free(ptr %t96) %t98 = load ptr, ptr %t87 store i32 7869, ptr @lp_site %t99 = call ptr @lp_str_concat(ptr %t97, ptr %t98) store i32 0, ptr @lp_site call void @lp_free(ptr %t97) %t100 = call ptr @fn_emit_bind(ptr %t99) store ptr %t100, ptr %t101 %t102 = load ptr, ptr %t101 store i32 7870, ptr @lp_site %t103 = call ptr @lp_str_concat(ptr @.str14473, ptr %t102) store i32 0, ptr @lp_site store i32 7871, ptr @lp_site %t104 = call ptr @lp_str_concat(ptr %t103, ptr @.str14474) store i32 0, ptr @lp_site call void @lp_free(ptr %t103) %t105 = load ptr, ptr %t94 store i32 7872, ptr @lp_site %t106 = call ptr @lp_str_concat(ptr %t104, ptr %t105) store i32 0, ptr @lp_site call void @lp_free(ptr %t104) %t107 = call ptr @fn_emit_bind(ptr %t106) store ptr %t107, ptr %t108 %t109 = call ptr @fn_lbl(ptr @.str14475) store ptr %t109, ptr %t110 %t111 = call ptr @fn_lbl(ptr @.str14476) store ptr %t111, ptr %t112 %t113 = load ptr, ptr %t108 store i32 7873, ptr @lp_site %t114 = call ptr @lp_str_concat(ptr @.str14477, ptr %t113) store i32 0, ptr @lp_site store i32 7874, ptr @lp_site %t115 = call ptr @lp_str_concat(ptr %t114, ptr @.str14478) store i32 0, ptr @lp_site call void @lp_free(ptr %t114) %t116 = load ptr, ptr %t110 store i32 7875, ptr @lp_site %t117 = call ptr @lp_str_concat(ptr %t115, ptr %t116) store i32 0, ptr @lp_site call void @lp_free(ptr %t115) store i32 7876, ptr @lp_site %t118 = call ptr @lp_str_concat(ptr %t117, ptr @.str14479) store i32 0, ptr @lp_site call void @lp_free(ptr %t117) %t119 = load ptr, ptr %t112 store i32 7877, ptr @lp_site %t120 = call ptr @lp_str_concat(ptr %t118, ptr %t119) store i32 0, ptr @lp_site call void @lp_free(ptr %t118) store i32 7878, ptr @lp_site %t121 = call ptr @lp_str_concat(ptr %t120, ptr @.str14480) store i32 0, ptr @lp_site call void @lp_free(ptr %t120) call void @fn_emit(ptr %t121) %t122 = load ptr, ptr %t112 store i32 7879, ptr @lp_site %t123 = call ptr @lp_str_concat(ptr %t122, ptr @.str14481) store i32 0, ptr @lp_site call void @fn_emit(ptr %t123) store i32 1, ptr @g_g_uses_bounds %t124 = load ptr, ptr %t0 %t125 = call ptr @fn_src_name_of(ptr %t124) store i32 7880, ptr @lp_site %t126 = call ptr @lp_str_concat(ptr %t125, ptr @.str14482) store i32 0, ptr @lp_site %t127 = load ptr, ptr %t0 %t128 = getelementptr inbounds %Cmp_Node, ptr %t127, i32 0, i32 8 %t129 = load i32, ptr %t128 %t130 = call ptr @fn_itoa(i32 %t129) store i32 7881, ptr @lp_site %t131 = call ptr @lp_str_concat(ptr %t126, ptr %t130) store i32 0, ptr @lp_site call void @lp_free(ptr %t126) store i32 7882, ptr @lp_site %t132 = call ptr @lp_str_concat(ptr %t131, ptr @.str14483) store i32 0, ptr @lp_site call void @lp_free(ptr %t131) %t133 = call ptr @fn_emit_str_const(ptr %t132) store ptr %t133, ptr %t134 %t135 = call ptr @fn_stdstream_rhs(i32 2) %t136 = call ptr @fn_emit_bind(ptr %t135) store ptr %t136, ptr %t137 %t138 = load ptr, ptr %t137 store i32 7883, ptr @lp_site %t139 = call ptr @lp_str_concat(ptr @.str14484, ptr %t138) store i32 0, ptr @lp_site store i32 7884, ptr @lp_site %t140 = call ptr @lp_str_concat(ptr %t139, ptr @.str14485) store i32 0, ptr @lp_site call void @lp_free(ptr %t139) %t141 = load ptr, ptr %t134 store i32 7885, ptr @lp_site %t142 = call ptr @lp_str_concat(ptr %t140, ptr %t141) store i32 0, ptr @lp_site call void @lp_free(ptr %t140) store i32 7886, ptr @lp_site %t143 = call ptr @lp_str_concat(ptr %t142, ptr @.str14486) store i32 0, ptr @lp_site call void @lp_free(ptr %t142) %t144 = load ptr, ptr %t73 store i32 7887, ptr @lp_site %t145 = call ptr @lp_str_concat(ptr %t143, ptr %t144) store i32 0, ptr @lp_site call void @lp_free(ptr %t143) store i32 7888, ptr @lp_site %t146 = call ptr @lp_str_concat(ptr %t145, ptr @.str14487) store i32 0, ptr @lp_site call void @lp_free(ptr %t145) %t147 = load ptr, ptr %t62 store i32 7889, ptr @lp_site %t148 = call ptr @lp_str_concat(ptr %t146, ptr %t147) store i32 0, ptr @lp_site call void @lp_free(ptr %t146) store i32 7890, ptr @lp_site %t149 = call ptr @lp_str_concat(ptr %t148, ptr @.str14488) store i32 0, ptr @lp_site call void @lp_free(ptr %t148) call void @fn_emit(ptr %t149) call void @fn_emit(ptr @.str14489) %t150 = load ptr, ptr %t110 store i32 7891, ptr @lp_site %t151 = call ptr @lp_str_concat(ptr %t150, ptr @.str14490) store i32 0, ptr @lp_site call void @fn_emit(ptr %t151) %t152 = load ptr, ptr %t13 %t153 = getelementptr inbounds %Cmp_Val, ptr %t152, i32 0, i32 0 %t154 = load ptr, ptr %t153 %t155 = call ptr @fn_slice_field(ptr %t154, i32 0) store i32 7892, ptr @lp_site %t156 = call ptr @lp_str_concat(ptr @.str14491, ptr %t155) store i32 0, ptr @lp_site %t157 = call ptr @fn_emit_bind(ptr %t156) store ptr %t157, ptr %t158 %t159 = load ptr, ptr %t55 %t160 = call ptr @fn_llty(ptr %t159) store i32 7893, ptr @lp_site %t161 = call ptr @lp_str_concat(ptr @.str14492, ptr %t160) store i32 0, ptr @lp_site store i32 7894, ptr @lp_site %t162 = call ptr @lp_str_concat(ptr %t161, ptr @.str14493) store i32 0, ptr @lp_site call void @lp_free(ptr %t161) %t163 = load ptr, ptr %t158 store i32 7895, ptr @lp_site %t164 = call ptr @lp_str_concat(ptr %t162, ptr %t163) store i32 0, ptr @lp_site call void @lp_free(ptr %t162) store i32 7896, ptr @lp_site %t165 = call ptr @lp_str_concat(ptr %t164, ptr @.str14494) store i32 0, ptr @lp_site call void @lp_free(ptr %t164) %t166 = load ptr, ptr %t37 %t167 = getelementptr inbounds %Cmp_Val, ptr %t166, i32 0, i32 0 %t168 = load ptr, ptr %t167 store i32 7897, ptr @lp_site %t169 = call ptr @lp_str_concat(ptr %t165, ptr %t168) store i32 0, ptr @lp_site call void @lp_free(ptr %t165) %t170 = call ptr @fn_emit_bind(ptr %t169) store ptr %t170, ptr %t171 %t172 = load ptr, ptr %t13 %t173 = getelementptr inbounds %Cmp_Val, ptr %t172, i32 0, i32 1 %t174 = load ptr, ptr %t173 %t175 = call ptr @fn_emit_new_slice(ptr %t174) store ptr %t175, ptr %t176 %t177 = load ptr, ptr %t171 store i32 7898, ptr @lp_site %t178 = call ptr @lp_str_concat(ptr @.str14495, ptr %t177) store i32 0, ptr @lp_site store i32 7899, ptr @lp_site %t179 = call ptr @lp_str_concat(ptr %t178, ptr @.str14496) store i32 0, ptr @lp_site call void @lp_free(ptr %t178) %t180 = load ptr, ptr %t176 %t181 = getelementptr inbounds %Cmp_Val, ptr %t180, i32 0, i32 0 %t182 = load ptr, ptr %t181 %t183 = call ptr @fn_slice_field(ptr %t182, i32 0) store i32 7900, ptr @lp_site %t184 = call ptr @lp_str_concat(ptr %t179, ptr %t183) store i32 0, ptr @lp_site call void @lp_free(ptr %t179) store i32 7901, ptr @lp_site %t185 = call ptr @lp_str_concat(ptr %t184, ptr @.str14497) store i32 0, ptr @lp_site call void @lp_free(ptr %t184) call void @fn_emit(ptr %t185) %t186 = load ptr, ptr %t50 %t187 = getelementptr inbounds %Cmp_Val, ptr %t186, i32 0, i32 0 %t188 = load ptr, ptr %t187 store i32 7902, ptr @lp_site %t189 = call ptr @lp_str_concat(ptr @.str14498, ptr %t188) store i32 0, ptr @lp_site store i32 7903, ptr @lp_site %t190 = call ptr @lp_str_concat(ptr %t189, ptr @.str14499) store i32 0, ptr @lp_site call void @lp_free(ptr %t189) %t191 = load ptr, ptr %t176 %t192 = getelementptr inbounds %Cmp_Val, ptr %t191, i32 0, i32 0 %t193 = load ptr, ptr %t192 %t194 = call ptr @fn_slice_field(ptr %t193, i32 1) store i32 7904, ptr @lp_site %t195 = call ptr @lp_str_concat(ptr %t190, ptr %t194) store i32 0, ptr @lp_site call void @lp_free(ptr %t190) store i32 7905, ptr @lp_site %t196 = call ptr @lp_str_concat(ptr %t195, ptr @.str14500) store i32 0, ptr @lp_site call void @lp_free(ptr %t195) call void @fn_emit(ptr %t196) %t197 = load ptr, ptr %t50 %t198 = getelementptr inbounds %Cmp_Val, ptr %t197, i32 0, i32 0 %t199 = load ptr, ptr %t198 store i32 7906, ptr @lp_site %t200 = call ptr @lp_str_concat(ptr @.str14501, ptr %t199) store i32 0, ptr @lp_site store i32 7907, ptr @lp_site %t201 = call ptr @lp_str_concat(ptr %t200, ptr @.str14502) store i32 0, ptr @lp_site call void @lp_free(ptr %t200) %t202 = load ptr, ptr %t176 %t203 = getelementptr inbounds %Cmp_Val, ptr %t202, i32 0, i32 0 %t204 = load ptr, ptr %t203 %t205 = call ptr @fn_slice_field(ptr %t204, i32 2) store i32 7908, ptr @lp_site %t206 = call ptr @lp_str_concat(ptr %t201, ptr %t205) store i32 0, ptr @lp_site call void @lp_free(ptr %t201) store i32 7909, ptr @lp_site %t207 = call ptr @lp_str_concat(ptr %t206, ptr @.str14503) store i32 0, ptr @lp_site call void @lp_free(ptr %t206) call void @fn_emit(ptr %t207) %t208 = load ptr, ptr %t176 store ptr %t208, ptr %retval br label %ret ret: %t209 = load ptr, ptr %retval ret ptr %t209 } define ptr @fn_raw_expr(ptr %arg_n) { entry: %retval = alloca ptr %t0 = alloca ptr %t3 = alloca ptr store ptr %arg_n, ptr %t0 %t1 = load ptr, ptr %t0 %t2 = call ptr @fn_emit_expr(ptr %t1) store ptr %t2, ptr %t3 %t4 = load ptr, ptr %t3 %t5 = getelementptr inbounds %Cmp_Val, ptr %t4, i32 0, i32 1 %t6 = load ptr, ptr %t5 %t7 = call i32 @fn_is_slice_ty(ptr %t6) %t8 = icmp ne i32 %t7, 0 br i1 %t8, label %then0, label %ifend2 then0: %t9 = load ptr, ptr %t3 %t10 = getelementptr inbounds %Cmp_Val, ptr %t9, i32 0, i32 0 %t11 = load ptr, ptr %t10 %t12 = call ptr @fn_slice_field(ptr %t11, i32 0) store i32 7910, ptr @lp_site %t13 = call ptr @lp_str_concat(ptr @.str14504, ptr %t12) store i32 0, ptr @lp_site %t14 = call ptr @fn_emit_bind(ptr %t13) %t15 = call ptr @fn_val(ptr %t14, ptr @.str14506) store ptr %t15, ptr %retval br label %ret ifend2: %t16 = load ptr, ptr %t3 store ptr %t16, ptr %retval br label %ret ret: %t17 = load ptr, ptr %retval ret ptr %t17 } 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 @.str14507) %t4 = load ptr, ptr %t3 call void @fn_emit(ptr %t4) call void @fn_emit(ptr @.str14508) %t5 = load ptr, ptr %t0 call void @fn_emit(ptr %t5) call void @fn_emit(ptr @.str14509) %t6 = load i32, ptr %t1 %t7 = call ptr @fn_itoa(i32 %t6) call void @fn_emit(ptr %t7) call void @fn_emit(ptr @.str14510) %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 %t13 = alloca ptr %t23 = alloca ptr %t34 = 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 %LSlice, ptr %t3, i32 0, i32 1 %t7 = load i32, ptr %t6 %t8 = icmp ult i32 0, %t7 br i1 %t8, label %ixok0, label %ixbad1 ixbad1: store i32 7911, ptr @lp_site %t9 = call ptr @lp_win_stdio(i32 2) store i32 0, ptr @lp_site call i32 (ptr, ptr, ...) @fprintf(ptr %t9, ptr @.fmt_bounds, ptr @.str14511, i32 0, i32 %t7) call void @exit(i32 1) unreachable ixok0: %t10 = getelementptr inbounds ptr, ptr %t5, 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 1 %t16 = load ptr, ptr %t15 %t17 = call i32 @fn_is_slice_ty(ptr %t16) %t18 = icmp ne i32 %t17, 0 br i1 %t18, label %then2, label %ifend4 then2: %t19 = load ptr, ptr %t13 %t20 = getelementptr inbounds %Cmp_Val, ptr %t19, i32 0, i32 0 %t21 = load ptr, ptr %t20 %t22 = call ptr @fn_slice_field(ptr %t21, i32 1) store ptr %t22, ptr %t23 %t24 = load ptr, ptr %t23 store i32 7912, ptr @lp_site %t25 = call ptr @lp_str_concat(ptr @.str14513, ptr %t24) store i32 0, ptr @lp_site %t26 = call ptr @fn_emit_bind(ptr %t25) %t27 = call ptr @fn_val(ptr %t26, ptr @.str14514) store ptr %t27, ptr %retval br label %ret ifend4: %t28 = load ptr, ptr %t13 %t29 = getelementptr inbounds %Cmp_Val, ptr %t28, i32 0, i32 0 %t30 = load ptr, ptr %t29 store i32 7913, ptr @lp_site %t31 = call ptr @lp_str_concat(ptr @.str14515, ptr %t30) store i32 0, ptr @lp_site store i32 7914, ptr @lp_site %t32 = call ptr @lp_str_concat(ptr %t31, ptr @.str14516) store i32 0, ptr @lp_site call void @lp_free(ptr %t31) %t33 = call ptr @fn_emit_bind(ptr %t32) store ptr %t33, ptr %t34 %t35 = load ptr, ptr %t34 store i32 7915, ptr @lp_site %t36 = call ptr @lp_str_concat(ptr @.str14517, ptr %t35) store i32 0, ptr @lp_site store i32 7916, ptr @lp_site %t37 = call ptr @lp_str_concat(ptr %t36, ptr @.str14518) store i32 0, ptr @lp_site call void @lp_free(ptr %t36) %t38 = call ptr @fn_emit_bind(ptr %t37) %t39 = call ptr @fn_val(ptr %t38, ptr @.str14519) store ptr %t39, ptr %retval br label %ret ret: %t40 = load ptr, ptr %retval ret ptr %t40 } define ptr @fn_emit_push(ptr %arg_e) { entry: %retval = alloca ptr %t0 = alloca ptr %t13 = alloca ptr %t26 = alloca ptr %t40 = 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 %LSlice, ptr %t3, i32 0, i32 1 %t7 = load i32, ptr %t6 %t8 = icmp ult i32 0, %t7 br i1 %t8, label %ixok0, label %ixbad1 ixbad1: store i32 7917, ptr @lp_site %t9 = call ptr @lp_win_stdio(i32 2) store i32 0, ptr @lp_site call i32 (ptr, ptr, ...) @fprintf(ptr %t9, ptr @.fmt_bounds, ptr @.str14520, i32 0, i32 %t7) call void @exit(i32 1) unreachable ixok0: %t10 = getelementptr inbounds ptr, ptr %t5, i32 0 %t11 = load ptr, ptr %t10 %t12 = call ptr @fn_emit_expr(ptr %t11) store ptr %t12, ptr %t13 %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 = getelementptr inbounds %LSlice, ptr %t16, i32 0, i32 1 %t20 = load i32, ptr %t19 %t21 = icmp ult i32 1, %t20 br i1 %t21, label %ixok2, label %ixbad3 ixbad3: store i32 7918, ptr @lp_site %t22 = call ptr @lp_win_stdio(i32 2) store i32 0, ptr @lp_site call i32 (ptr, ptr, ...) @fprintf(ptr %t22, ptr @.fmt_bounds, ptr @.str14522, i32 1, i32 %t20) call void @exit(i32 1) unreachable ixok2: %t23 = getelementptr inbounds ptr, ptr %t18, i32 1 %t24 = load ptr, ptr %t23 %t25 = call ptr @fn_emit_expr(ptr %t24) store ptr %t25, ptr %t26 %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 = getelementptr inbounds %LSlice, ptr %t29, i32 0, i32 1 %t33 = load i32, ptr %t32 %t34 = icmp ult i32 0, %t33 br i1 %t34, label %ixok4, label %ixbad5 ixbad5: store i32 7919, ptr @lp_site %t35 = call ptr @lp_win_stdio(i32 2) store i32 0, ptr @lp_site call i32 (ptr, ptr, ...) @fprintf(ptr %t35, ptr @.fmt_bounds, ptr @.str14523, i32 0, i32 %t33) call void @exit(i32 1) unreachable ixok4: %t36 = getelementptr inbounds ptr, ptr %t31, i32 0 %t37 = load ptr, ptr %t36 %t38 = call i32 @fn_fence_cap_of(ptr %t37) store i32 %t38, ptr @g_g_push_cap %t39 = load ptr, ptr @g_g_push_capname 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 %t13 %t45 = getelementptr inbounds %Cmp_Val, ptr %t44, i32 0, i32 1 %t46 = load ptr, ptr %t45 %t47 = call ptr @fn_slice_elem(ptr %t46) %t48 = call ptr @fn_llty(ptr %t47) %t49 = load ptr, ptr %t26 call void @fn_emit_push_into(ptr %t43, ptr %t48, ptr %t49) %t50 = load ptr, ptr %t40 store ptr %t50, ptr @g_g_push_capname %t51 = call ptr @fn_val(ptr @.str14524, ptr @.str14525) store ptr %t51, ptr %retval br label %ret ret: %t52 = load ptr, ptr %retval ret ptr %t52 } define ptr @fn_emit_list(ptr %arg_e) { entry: %retval = alloca ptr %t0 = alloca ptr %t21 = alloca ptr %t26 = alloca ptr %t31 = alloca ptr %t34 = alloca ptr %t40 = alloca i32 %t63 = 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 @.str14526) 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 %LSlice, ptr %t11, i32 0, i32 1 %t15 = load i32, ptr %t14 %t16 = icmp ult i32 0, %t15 br i1 %t16, label %ixok3, label %ixbad4 ixbad4: store i32 7920, ptr @lp_site %t17 = call ptr @lp_win_stdio(i32 2) store i32 0, ptr @lp_site call i32 (ptr, ptr, ...) @fprintf(ptr %t17, ptr @.fmt_bounds, ptr @.str14527, i32 0, i32 %t15) call void @exit(i32 1) unreachable ixok3: %t18 = getelementptr inbounds ptr, ptr %t13, i32 0 %t19 = load ptr, ptr %t18 %t20 = call ptr @fn_emit_list_elem(ptr %t19) store ptr %t20, ptr %t21 %t22 = load ptr, ptr %t21 %t23 = getelementptr inbounds %Cmp_Val, ptr %t22, i32 0, i32 1 %t24 = load ptr, ptr %t23 store i32 7921, ptr @lp_site %t25 = call ptr @lp_str_concat(ptr @.str14529, ptr %t24) store i32 0, ptr @lp_site store ptr %t25, ptr %t26 %t27 = load ptr, ptr %t21 %t28 = getelementptr inbounds %Cmp_Val, ptr %t27, i32 0, i32 1 %t29 = load ptr, ptr %t28 %t30 = call ptr @fn_llty(ptr %t29) store ptr %t30, ptr %t31 %t32 = load ptr, ptr %t26 %t33 = call ptr @fn_emit_new_slice(ptr %t32) store ptr %t33, ptr %t34 %t35 = load ptr, ptr %t34 %t36 = getelementptr inbounds %Cmp_Val, ptr %t35, i32 0, i32 0 %t37 = load ptr, ptr %t36 %t38 = load ptr, ptr %t31 %t39 = load ptr, ptr %t21 call void @fn_emit_push_into(ptr %t37, ptr %t38, ptr %t39) store i32 1, ptr %t40 br label %wcond5 wcond5: %t41 = load i32, ptr %t40 %t42 = load ptr, ptr %t0 %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 1 %t46 = load i32, ptr %t45 %t47 = icmp slt i32 %t41, %t46 %t48 = zext i1 %t47 to i32 %t49 = icmp ne i32 %t48, 0 br i1 %t49, label %wbody6, label %wend7 wbody6: %t50 = load ptr, ptr %t0 %t51 = getelementptr inbounds %Cmp_Node, ptr %t50, i32 0, i32 7 %t52 = load ptr, ptr %t51 %t53 = load i32, ptr %t40 %t54 = getelementptr inbounds %LSlice, ptr %t52, i32 0, i32 0 %t55 = load ptr, ptr %t54 %t56 = getelementptr inbounds %LSlice, ptr %t52, i32 0, i32 1 %t57 = load i32, ptr %t56 %t58 = icmp ult i32 %t53, %t57 br i1 %t58, label %ixok8, label %ixbad9 ixbad9: store i32 7922, ptr @lp_site %t59 = call ptr @lp_win_stdio(i32 2) store i32 0, ptr @lp_site call i32 (ptr, ptr, ...) @fprintf(ptr %t59, ptr @.fmt_bounds, ptr @.str14530, i32 %t53, i32 %t57) call void @exit(i32 1) unreachable ixok8: %t60 = getelementptr inbounds ptr, ptr %t55, i32 %t53 %t61 = load ptr, ptr %t60 %t62 = call ptr @fn_emit_list_elem(ptr %t61) store ptr %t62, ptr %t63 %t64 = load ptr, ptr %t63 %t65 = getelementptr inbounds %Cmp_Val, ptr %t64, i32 0, i32 1 %t66 = load ptr, ptr %t65 %t67 = load ptr, ptr %t21 %t68 = getelementptr inbounds %Cmp_Val, ptr %t67, i32 0, i32 1 %t69 = load ptr, ptr %t68 %t70 = call i32 @lp_str_eq(ptr %t66, ptr %t69) %t71 = icmp eq i32 %t70, 0 %t72 = zext i1 %t71 to i32 %t73 = icmp ne i32 %t72, 0 br i1 %t73, label %then10, label %ifend12 then10: %t74 = load ptr, ptr %t21 %t75 = getelementptr inbounds %Cmp_Val, ptr %t74, i32 0, i32 1 %t76 = load ptr, ptr %t75 store i32 7923, ptr @lp_site %t77 = call ptr @lp_str_concat(ptr @.str14531, ptr %t76) store i32 0, ptr @lp_site store i32 7924, ptr @lp_site %t78 = call ptr @lp_str_concat(ptr %t77, ptr @.str14532) store i32 0, ptr @lp_site call void @lp_free(ptr %t77) %t79 = load ptr, ptr %t63 %t80 = getelementptr inbounds %Cmp_Val, ptr %t79, i32 0, i32 1 %t81 = load ptr, ptr %t80 store i32 7925, ptr @lp_site %t82 = call ptr @lp_str_concat(ptr %t78, ptr %t81) store i32 0, ptr @lp_site call void @lp_free(ptr %t78) call void @fn_perr(ptr %t82) br label %ifend12 ifend12: %t83 = load ptr, ptr %t34 %t84 = getelementptr inbounds %Cmp_Val, ptr %t83, i32 0, i32 0 %t85 = load ptr, ptr %t84 %t86 = load ptr, ptr %t31 %t87 = load ptr, ptr %t63 call void @fn_emit_push_into(ptr %t85, ptr %t86, ptr %t87) %t88 = load i32, ptr %t40 %t89 = add i32 %t88, 1 store i32 %t89, ptr %t40 br label %wcond5 wend7: %t90 = load ptr, ptr %t34 store ptr %t90, ptr %retval br label %ret ret: %t91 = load ptr, ptr %retval ret ptr %t91 } define ptr @fn_emit_list_elem(ptr %arg_k) { entry: %retval = alloca ptr %t0 = alloca ptr %t2 = alloca ptr %t14 = alloca ptr store ptr %arg_k, ptr %t0 %t1 = load ptr, ptr @g_g_err_file store ptr %t1, ptr %t2 %t3 = load ptr, ptr %t0 %t4 = getelementptr inbounds %Cmp_Node, ptr %t3, i32 0, i32 9 %t5 = load ptr, ptr %t4 %t6 = icmp ne ptr %t5, null %t7 = zext i1 %t6 to i32 %t8 = icmp ne i32 %t7, 0 br i1 %t8, label %then0, label %ifend2 then0: %t9 = load ptr, ptr %t0 %t10 = getelementptr inbounds %Cmp_Node, ptr %t9, i32 0, i32 9 %t11 = load ptr, ptr %t10 store ptr %t11, ptr @g_g_err_file br label %ifend2 ifend2: %t12 = load ptr, ptr %t0 %t13 = call ptr @fn_emit_expr(ptr %t12) store ptr %t13, ptr %t14 %t15 = load ptr, ptr %t2 store ptr %t15, ptr @g_g_err_file %t16 = load ptr, ptr %t14 store ptr %t16, ptr %retval br label %ret ret: %t17 = load ptr, ptr %retval ret ptr %t17 } 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 %t46 = alloca ptr %t49 = alloca ptr %t51 = alloca ptr %t53 = alloca ptr %t84 = alloca ptr %t89 = alloca ptr %t96 = alloca ptr %t99 = alloca ptr %t104 = alloca ptr %t111 = alloca ptr %t115 = alloca ptr %t123 = alloca ptr %t133 = alloca ptr %t135 = alloca ptr %t149 = 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 store i32 7926, ptr @lp_site %t13 = call ptr @lp_str_concat(ptr @.str14533, ptr %t12) store i32 0, ptr @lp_site %t14 = call ptr @fn_emit_bind(ptr %t13) store ptr %t14, ptr %t15 %t16 = load ptr, ptr %t8 store i32 7927, ptr @lp_site %t17 = call ptr @lp_str_concat(ptr @.str14535, ptr %t16) store i32 0, ptr @lp_site %t18 = call ptr @fn_emit_bind(ptr %t17) store ptr %t18, ptr %t19 %t20 = load ptr, ptr %t15 store i32 7928, ptr @lp_site %t21 = call ptr @lp_str_concat(ptr @.str14536, ptr %t20) store i32 0, ptr @lp_site store i32 7929, ptr @lp_site %t22 = call ptr @lp_str_concat(ptr %t21, ptr @.str14537) store i32 0, ptr @lp_site call void @lp_free(ptr %t21) %t23 = load ptr, ptr %t19 store i32 7930, ptr @lp_site %t24 = call ptr @lp_str_concat(ptr %t22, ptr %t23) store i32 0, ptr @lp_site call void @lp_free(ptr %t22) %t25 = call ptr @fn_emit_bind(ptr %t24) store ptr %t25, ptr %t26 %t27 = call ptr @fn_lbl(ptr @.str14538) store ptr %t27, ptr %t28 %t29 = call ptr @fn_lbl(ptr @.str14539) store ptr %t29, ptr %t30 call void @fn_emit(ptr @.str14540) %t31 = load ptr, ptr %t26 call void @fn_emit(ptr %t31) call void @fn_emit(ptr @.str14541) %t32 = load ptr, ptr %t28 call void @fn_emit(ptr %t32) call void @fn_emit(ptr @.str14542) %t33 = load ptr, ptr %t30 call void @fn_emit(ptr %t33) call void @fn_emit(ptr @.str14543) %t34 = load ptr, ptr %t28 call void @fn_emit(ptr %t34) call void @fn_emit(ptr @.str14544) %t35 = load i32, ptr @g_g_push_cap %t36 = icmp sgt i32 %t35, 0 %t37 = zext i1 %t36 to i32 %t38 = icmp ne i32 %t37, 0 br i1 %t38, label %then0, label %ifend2 then0: %t39 = load ptr, ptr %t15 store i32 7931, ptr @lp_site %t40 = call ptr @lp_str_concat(ptr @.str14545, ptr %t39) store i32 0, ptr @lp_site store i32 7932, ptr @lp_site %t41 = call ptr @lp_str_concat(ptr %t40, ptr @.str14546) store i32 0, ptr @lp_site call void @lp_free(ptr %t40) %t42 = load i32, ptr @g_g_push_cap %t43 = call ptr @fn_itoa(i32 %t42) store i32 7933, ptr @lp_site %t44 = call ptr @lp_str_concat(ptr %t41, ptr %t43) store i32 0, ptr @lp_site call void @lp_free(ptr %t41) %t45 = call ptr @fn_emit_bind(ptr %t44) store ptr %t45, ptr %t46 %t47 = load ptr, ptr @g_g_push_capname %t48 = call ptr @fn_emit_str_const(ptr %t47) store ptr %t48, ptr %t49 %t50 = call ptr @fn_lbl(ptr @.str14547) store ptr %t50, ptr %t51 %t52 = call ptr @fn_lbl(ptr @.str14548) store ptr %t52, ptr %t53 %t54 = load ptr, ptr %t46 store i32 7934, ptr @lp_site %t55 = call ptr @lp_str_concat(ptr @.str14549, ptr %t54) store i32 0, ptr @lp_site store i32 7935, ptr @lp_site %t56 = call ptr @lp_str_concat(ptr %t55, ptr @.str14550) store i32 0, ptr @lp_site call void @lp_free(ptr %t55) %t57 = load ptr, ptr %t51 store i32 7936, ptr @lp_site %t58 = call ptr @lp_str_concat(ptr %t56, ptr %t57) store i32 0, ptr @lp_site call void @lp_free(ptr %t56) store i32 7937, ptr @lp_site %t59 = call ptr @lp_str_concat(ptr %t58, ptr @.str14551) store i32 0, ptr @lp_site call void @lp_free(ptr %t58) %t60 = load ptr, ptr %t53 store i32 7938, ptr @lp_site %t61 = call ptr @lp_str_concat(ptr %t59, ptr %t60) store i32 0, ptr @lp_site call void @lp_free(ptr %t59) store i32 7939, ptr @lp_site %t62 = call ptr @lp_str_concat(ptr %t61, ptr @.str14552) store i32 0, ptr @lp_site call void @lp_free(ptr %t61) call void @fn_emit(ptr %t62) %t63 = load ptr, ptr %t51 store i32 7940, ptr @lp_site %t64 = call ptr @lp_str_concat(ptr %t63, ptr @.str14553) store i32 0, ptr @lp_site call void @fn_emit(ptr %t64) %t65 = load ptr, ptr %t49 store i32 7941, ptr @lp_site %t66 = call ptr @lp_str_concat(ptr @.str14554, ptr %t65) store i32 0, ptr @lp_site store i32 7942, ptr @lp_site %t67 = call ptr @lp_str_concat(ptr %t66, ptr @.str14555) store i32 0, ptr @lp_site call void @lp_free(ptr %t66) %t68 = load i32, ptr @g_g_push_cap %t69 = call ptr @fn_itoa(i32 %t68) store i32 7943, ptr @lp_site %t70 = call ptr @lp_str_concat(ptr %t67, ptr %t69) store i32 0, ptr @lp_site call void @lp_free(ptr %t67) store i32 7944, ptr @lp_site %t71 = call ptr @lp_str_concat(ptr %t70, ptr @.str14556) store i32 0, ptr @lp_site call void @lp_free(ptr %t70) %t72 = load ptr, ptr %t15 store i32 7945, ptr @lp_site %t73 = call ptr @lp_str_concat(ptr %t71, ptr %t72) store i32 0, ptr @lp_site call void @lp_free(ptr %t71) store i32 7946, ptr @lp_site %t74 = call ptr @lp_str_concat(ptr %t73, ptr @.str14557) store i32 0, ptr @lp_site call void @lp_free(ptr %t73) call void @fn_emit(ptr %t74) %t75 = load ptr, ptr %t53 store i32 7947, ptr @lp_site %t76 = call ptr @lp_str_concat(ptr @.str14558, ptr %t75) store i32 0, ptr @lp_site store i32 7948, ptr @lp_site %t77 = call ptr @lp_str_concat(ptr %t76, ptr @.str14559) store i32 0, ptr @lp_site call void @lp_free(ptr %t76) call void @fn_emit(ptr %t77) %t78 = load ptr, ptr %t53 store i32 7949, ptr @lp_site %t79 = call ptr @lp_str_concat(ptr %t78, ptr @.str14560) store i32 0, ptr @lp_site call void @fn_emit(ptr %t79) store i32 0, ptr @g_g_push_cap br label %ifend2 ifend2: %t80 = load ptr, ptr %t19 store i32 7950, ptr @lp_site %t81 = call ptr @lp_str_concat(ptr @.str14561, ptr %t80) store i32 0, ptr @lp_site store i32 7951, ptr @lp_site %t82 = call ptr @lp_str_concat(ptr %t81, ptr @.str14562) store i32 0, ptr @lp_site call void @lp_free(ptr %t81) %t83 = call ptr @fn_emit_bind(ptr %t82) store ptr %t83, ptr %t84 %t85 = load ptr, ptr %t19 store i32 7952, ptr @lp_site %t86 = call ptr @lp_str_concat(ptr @.str14563, ptr %t85) store i32 0, ptr @lp_site store i32 7953, ptr @lp_site %t87 = call ptr @lp_str_concat(ptr %t86, ptr @.str14564) store i32 0, ptr @lp_site call void @lp_free(ptr %t86) %t88 = call ptr @fn_emit_bind(ptr %t87) store ptr %t88, ptr %t89 %t90 = load ptr, ptr %t89 store i32 7954, ptr @lp_site %t91 = call ptr @lp_str_concat(ptr @.str14565, ptr %t90) store i32 0, ptr @lp_site store i32 7955, ptr @lp_site %t92 = call ptr @lp_str_concat(ptr %t91, ptr @.str14566) store i32 0, ptr @lp_site call void @lp_free(ptr %t91) %t93 = load ptr, ptr %t84 store i32 7956, ptr @lp_site %t94 = call ptr @lp_str_concat(ptr %t92, ptr %t93) store i32 0, ptr @lp_site call void @lp_free(ptr %t92) %t95 = call ptr @fn_emit_bind(ptr %t94) store ptr %t95, ptr %t96 %t97 = load ptr, ptr %t1 %t98 = call ptr @fn_emit_sizeof(ptr %t97) store ptr %t98, ptr %t99 %t100 = load ptr, ptr %t96 store i32 7957, ptr @lp_site %t101 = call ptr @lp_str_concat(ptr @.str14567, ptr %t100) store i32 0, ptr @lp_site store i32 7958, ptr @lp_site %t102 = call ptr @lp_str_concat(ptr %t101, ptr @.str14568) store i32 0, ptr @lp_site call void @lp_free(ptr %t101) %t103 = call ptr @fn_emit_bind(ptr %t102) store ptr %t103, ptr %t104 %t105 = load ptr, ptr %t104 store i32 7959, ptr @lp_site %t106 = call ptr @lp_str_concat(ptr @.str14569, ptr %t105) store i32 0, ptr @lp_site store i32 7960, ptr @lp_site %t107 = call ptr @lp_str_concat(ptr %t106, ptr @.str14570) store i32 0, ptr @lp_site call void @lp_free(ptr %t106) %t108 = load ptr, ptr %t99 store i32 7961, ptr @lp_site %t109 = call ptr @lp_str_concat(ptr %t107, ptr %t108) store i32 0, ptr @lp_site call void @lp_free(ptr %t107) %t110 = call ptr @fn_emit_bind(ptr %t109) store ptr %t110, ptr %t111 %t112 = load ptr, ptr %t11 store i32 7962, ptr @lp_site %t113 = call ptr @lp_str_concat(ptr @.str14571, ptr %t112) store i32 0, ptr @lp_site %t114 = call ptr @fn_emit_bind(ptr %t113) store ptr %t114, ptr %t115 %t116 = load ptr, ptr %t115 store i32 7963, ptr @lp_site %t117 = call ptr @lp_str_concat(ptr @.str14572, ptr %t116) store i32 0, ptr @lp_site store i32 7964, ptr @lp_site %t118 = call ptr @lp_str_concat(ptr %t117, ptr @.str14573) store i32 0, ptr @lp_site call void @lp_free(ptr %t117) %t119 = load ptr, ptr %t111 store i32 7965, ptr @lp_site %t120 = call ptr @lp_str_concat(ptr %t118, ptr %t119) store i32 0, ptr @lp_site call void @lp_free(ptr %t118) store i32 7966, ptr @lp_site %t121 = call ptr @lp_str_concat(ptr %t120, ptr @.str14574) store i32 0, ptr @lp_site call void @lp_free(ptr %t120) %t122 = call ptr @fn_emit_bind(ptr %t121) store ptr %t122, ptr %t123 call void @fn_emit(ptr @.str14575) %t124 = load ptr, ptr %t123 call void @fn_emit(ptr %t124) call void @fn_emit(ptr @.str14576) %t125 = load ptr, ptr %t11 call void @fn_emit(ptr %t125) call void @fn_emit(ptr @.str14577) call void @fn_emit(ptr @.str14578) %t126 = load ptr, ptr %t96 call void @fn_emit(ptr %t126) call void @fn_emit(ptr @.str14579) %t127 = load ptr, ptr %t8 call void @fn_emit(ptr %t127) call void @fn_emit(ptr @.str14580) call void @fn_emit(ptr @.str14581) %t128 = load ptr, ptr %t30 call void @fn_emit(ptr %t128) call void @fn_emit(ptr @.str14582) %t129 = load ptr, ptr %t30 call void @fn_emit(ptr %t129) call void @fn_emit(ptr @.str14583) %t130 = load ptr, ptr %t11 store i32 7967, ptr @lp_site %t131 = call ptr @lp_str_concat(ptr @.str14584, ptr %t130) store i32 0, ptr @lp_site %t132 = call ptr @fn_emit_bind(ptr %t131) store ptr %t132, ptr %t133 %t134 = call ptr @fn_nreg() store ptr %t134, ptr %t135 call void @fn_emit(ptr @.str14585) %t136 = load ptr, ptr %t135 call void @fn_emit(ptr %t136) call void @fn_emit(ptr @.str14586) %t137 = load ptr, ptr %t1 call void @fn_emit(ptr %t137) call void @fn_emit(ptr @.str14587) %t138 = load ptr, ptr %t133 call void @fn_emit(ptr %t138) call void @fn_emit(ptr @.str14588) %t139 = load ptr, ptr %t15 call void @fn_emit(ptr %t139) call void @fn_emit(ptr @.str14589) call void @fn_emit(ptr @.str14590) %t140 = load ptr, ptr %t1 call void @fn_emit(ptr %t140) call void @fn_emit(ptr @.str14591) %t141 = load ptr, ptr %t2 %t142 = getelementptr inbounds %Cmp_Val, ptr %t141, i32 0, i32 0 %t143 = load ptr, ptr %t142 call void @fn_emit(ptr %t143) call void @fn_emit(ptr @.str14592) %t144 = load ptr, ptr %t135 call void @fn_emit(ptr %t144) call void @fn_emit(ptr @.str14593) %t145 = load ptr, ptr %t15 store i32 7968, ptr @lp_site %t146 = call ptr @lp_str_concat(ptr @.str14594, ptr %t145) store i32 0, ptr @lp_site store i32 7969, ptr @lp_site %t147 = call ptr @lp_str_concat(ptr %t146, ptr @.str14595) store i32 0, ptr @lp_site call void @lp_free(ptr %t146) %t148 = call ptr @fn_emit_bind(ptr %t147) store ptr %t148, ptr %t149 call void @fn_emit(ptr @.str14596) %t150 = load ptr, ptr %t149 call void @fn_emit(ptr %t150) call void @fn_emit(ptr @.str14597) %t151 = load ptr, ptr %t5 call void @fn_emit(ptr %t151) call void @fn_emit(ptr @.str14598) 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 %t26 = alloca ptr %t27 = alloca i32 %t55 = 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 = load i32, ptr %t2 %t18 = getelementptr inbounds %LSlice, ptr %t16, i32 0, i32 0 %t19 = load ptr, ptr %t18 %t20 = getelementptr inbounds %LSlice, ptr %t16, i32 0, i32 1 %t21 = load i32, ptr %t20 %t22 = icmp ult i32 %t17, %t21 br i1 %t22, label %ixok6, label %ixbad7 ixbad7: store i32 7970, ptr @lp_site %t23 = call ptr @lp_win_stdio(i32 2) store i32 0, ptr @lp_site call i32 (ptr, ptr, ...) @fprintf(ptr %t23, ptr @.fmt_bounds, ptr @.str14599, i32 %t17, i32 %t21) call void @exit(i32 1) unreachable ixok6: %t24 = getelementptr inbounds ptr, ptr %t19, i32 %t17 %t25 = load ptr, ptr %t24 store ptr %t25, ptr %t26 %t28 = load i32, ptr %t2 %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 1 %t33 = load i32, ptr %t32 %t34 = sub i32 %t33, 1 %t35 = icmp eq i32 %t28, %t34 %t36 = zext i1 %t35 to i32 %t37 = icmp ne i32 %t36, 0 %t38 = zext i1 %t37 to i32 store i32 %t38, ptr %t27 br i1 %t37, label %sc8, label %scend9 sc8: %t39 = load ptr, ptr %t26 %t40 = getelementptr inbounds %Cmp_Node, ptr %t39, i32 0, i32 0 %t41 = load i32, ptr %t40 %t42 = icmp eq i32 %t41, 16 %t43 = zext i1 %t42 to i32 %t44 = icmp ne i32 %t43, 0 %t45 = zext i1 %t44 to i32 store i32 %t45, ptr %t27 br label %scend9 scend9: %t46 = load i32, ptr %t27 %t47 = icmp ne i32 %t46, 0 br i1 %t47, label %then10, label %else11 then10: %t48 = load ptr, ptr %t26 %t49 = getelementptr inbounds %Cmp_Node, ptr %t48, i32 0, i32 8 %t50 = load i32, ptr %t49 call void @fn_emit_cov_hit(i32 %t50) %t51 = load ptr, ptr %t26 %t52 = getelementptr inbounds %Cmp_Node, ptr %t51, i32 0, i32 4 %t53 = load ptr, ptr %t52 %t54 = call ptr @fn_emit_expr(ptr %t53) store ptr %t54, ptr %t55 %t56 = load ptr, ptr %t55 %t57 = call ptr @fn_coerce_code(ptr %t56, ptr @.str14602) store i32 7971, ptr @lp_site %t58 = call ptr @lp_str_concat(ptr @.str14601, ptr %t57) store i32 0, ptr @lp_site store i32 7972, ptr @lp_site %t59 = call ptr @lp_str_concat(ptr %t58, ptr @.str14603) store i32 0, ptr @lp_site call void @lp_free(ptr %t58) %t60 = load ptr, ptr %t1 store i32 7973, ptr @lp_site %t61 = call ptr @lp_str_concat(ptr %t59, ptr %t60) store i32 0, ptr @lp_site call void @lp_free(ptr %t59) store i32 7974, ptr @lp_site %t62 = call ptr @lp_str_concat(ptr %t61, ptr @.str14604) store i32 0, ptr @lp_site call void @lp_free(ptr %t61) call void @fn_emit(ptr %t62) br label %ifend12 else11: %t63 = load ptr, ptr %t26 call void @fn_emit_stmt(ptr %t63) br label %ifend12 ifend12: %t64 = load i32, ptr %t2 %t65 = add i32 %t64, 1 store i32 %t65, 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 @.str14605) %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 store i32 7975, ptr @lp_site %t16 = call ptr @lp_str_concat(ptr @.str14606, ptr %t15) store i32 0, ptr @lp_site store i32 7976, ptr @lp_site %t17 = call ptr @lp_str_concat(ptr %t16, ptr @.str14608) store i32 0, ptr @lp_site call void @lp_free(ptr %t16) %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) store i32 7977, ptr @lp_site %t22 = call ptr @lp_str_concat(ptr %t17, ptr %t21) store i32 0, ptr @lp_site call void @lp_free(ptr %t17) call void @fn_perr(ptr %t22) br label %ifend2 ifend2: %t23 = call ptr @fn_emit_alloca(ptr @.str14609) store ptr %t23, ptr %t24 %t25 = load ptr, ptr %t24 store i32 7978, ptr @lp_site %t26 = call ptr @lp_str_concat(ptr @.str14610, ptr %t25) store i32 0, ptr @lp_site store i32 7979, ptr @lp_site %t27 = call ptr @lp_str_concat(ptr %t26, ptr @.str14611) store i32 0, ptr @lp_site call void @lp_free(ptr %t26) 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 store i32 7980, ptr @lp_site %t31 = call ptr @lp_str_concat(ptr @.str14612, ptr %t30) store i32 0, ptr @lp_site store i32 7981, ptr @lp_site %t32 = call ptr @lp_str_concat(ptr %t31, ptr @.str14613) store i32 0, ptr @lp_site call void @lp_free(ptr %t31) %t33 = call ptr @fn_emit_bind(ptr %t32) store ptr %t33, ptr %t34 %t35 = load ptr, ptr %t34 store i32 7982, ptr @lp_site %t36 = call ptr @lp_str_concat(ptr @.str14614, ptr %t35) store i32 0, ptr @lp_site %t37 = call ptr @fn_emit_bind(ptr %t36) store ptr %t37, ptr %t38 %t39 = load ptr, ptr %t38 store i32 7983, ptr @lp_site %t40 = call ptr @lp_str_concat(ptr @.str14615, ptr %t39) store i32 0, ptr @lp_site store i32 7984, ptr @lp_site %t41 = call ptr @lp_str_concat(ptr %t40, ptr @.str14616) store i32 0, ptr @lp_site call void @lp_free(ptr %t40) %t42 = call ptr @fn_emit_bind(ptr %t41) store ptr %t42, ptr %t43 %t44 = call ptr @fn_lbl(ptr @.str14617) store ptr %t44, ptr %t45 %t46 = call ptr @fn_lbl(ptr @.str14618) store ptr %t46, ptr %t47 %t48 = call ptr @fn_lbl(ptr @.str14619) store ptr %t48, ptr %t49 %t50 = load ptr, ptr %t43 store i32 7985, ptr @lp_site %t51 = call ptr @lp_str_concat(ptr @.str14620, ptr %t50) store i32 0, ptr @lp_site store i32 7986, ptr @lp_site %t52 = call ptr @lp_str_concat(ptr %t51, ptr @.str14621) store i32 0, ptr @lp_site call void @lp_free(ptr %t51) %t53 = load ptr, ptr %t45 store i32 7987, ptr @lp_site %t54 = call ptr @lp_str_concat(ptr %t52, ptr %t53) store i32 0, ptr @lp_site call void @lp_free(ptr %t52) store i32 7988, ptr @lp_site %t55 = call ptr @lp_str_concat(ptr %t54, ptr @.str14622) store i32 0, ptr @lp_site call void @lp_free(ptr %t54) %t56 = load ptr, ptr %t47 store i32 7989, ptr @lp_site %t57 = call ptr @lp_str_concat(ptr %t55, ptr %t56) store i32 0, ptr @lp_site call void @lp_free(ptr %t55) store i32 7990, ptr @lp_site %t58 = call ptr @lp_str_concat(ptr %t57, ptr @.str14623) store i32 0, ptr @lp_site call void @lp_free(ptr %t57) call void @fn_emit(ptr %t58) %t59 = load ptr, ptr %t45 store i32 7991, ptr @lp_site %t60 = call ptr @lp_str_concat(ptr %t59, ptr @.str14624) store i32 0, ptr @lp_site 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 store i32 7992, ptr @lp_site %t64 = call ptr @lp_str_concat(ptr @.str14625, ptr %t63) store i32 0, ptr @lp_site store i32 7993, ptr @lp_site %t65 = call ptr @lp_str_concat(ptr %t64, ptr @.str14626) store i32 0, ptr @lp_site call void @lp_free(ptr %t64) %t66 = call ptr @fn_emit_bind(ptr %t65) store ptr %t66, ptr %t67 %t68 = load ptr, ptr %t67 store i32 7994, ptr @lp_site %t69 = call ptr @lp_str_concat(ptr @.str14627, ptr %t68) store i32 0, ptr @lp_site %t70 = call ptr @fn_emit_bind(ptr %t69) store ptr %t70, ptr %t71 %t72 = load ptr, ptr %t71 store i32 7995, ptr @lp_site %t73 = call ptr @lp_str_concat(ptr @.str14628, ptr %t72) store i32 0, ptr @lp_site store i32 7996, ptr @lp_site %t74 = call ptr @lp_str_concat(ptr %t73, ptr @.str14629) store i32 0, ptr @lp_site call void @lp_free(ptr %t73) %t75 = load ptr, ptr %t24 store i32 7997, ptr @lp_site %t76 = call ptr @lp_str_concat(ptr %t74, ptr %t75) store i32 0, ptr @lp_site call void @lp_free(ptr %t74) store i32 7998, ptr @lp_site %t77 = call ptr @lp_str_concat(ptr %t76, ptr @.str14630) store i32 0, ptr @lp_site call void @lp_free(ptr %t76) call void @fn_emit(ptr %t77) %t78 = load ptr, ptr %t49 store i32 7999, ptr @lp_site %t79 = call ptr @lp_str_concat(ptr @.str14631, ptr %t78) store i32 0, ptr @lp_site store i32 8000, ptr @lp_site %t80 = call ptr @lp_str_concat(ptr %t79, ptr @.str14632) store i32 0, ptr @lp_site call void @lp_free(ptr %t79) call void @fn_emit(ptr %t80) %t81 = load ptr, ptr %t47 store i32 8001, ptr @lp_site %t82 = call ptr @lp_str_concat(ptr %t81, ptr @.str14633) store i32 0, ptr @lp_site 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 store i32 8002, ptr @lp_site %t86 = call ptr @lp_str_concat(ptr @.str14634, ptr %t85) store i32 0, ptr @lp_site store i32 8003, ptr @lp_site %t87 = call ptr @lp_str_concat(ptr %t86, ptr @.str14635) store i32 0, ptr @lp_site call void @lp_free(ptr %t86) %t88 = call ptr @fn_emit_bind(ptr %t87) store ptr %t88, ptr %t89 %t90 = load ptr, ptr %t89 store i32 8004, ptr @lp_site %t91 = call ptr @lp_str_concat(ptr @.str14636, ptr %t90) store i32 0, ptr @lp_site %t92 = call ptr @fn_emit_bind(ptr %t91) store ptr %t92, ptr %t93 %t94 = call ptr @fn_emit_alloca(ptr @.str14637) store ptr %t94, ptr %t95 %t96 = load ptr, ptr %t93 store i32 8005, ptr @lp_site %t97 = call ptr @lp_str_concat(ptr @.str14638, ptr %t96) store i32 0, ptr @lp_site store i32 8006, ptr @lp_site %t98 = call ptr @lp_str_concat(ptr %t97, ptr @.str14639) store i32 0, ptr @lp_site call void @lp_free(ptr %t97) %t99 = load ptr, ptr %t95 store i32 8007, ptr @lp_site %t100 = call ptr @lp_str_concat(ptr %t98, ptr %t99) store i32 0, ptr @lp_site call void @lp_free(ptr %t98) store i32 8008, ptr @lp_site %t101 = call ptr @lp_str_concat(ptr %t100, ptr @.str14640) store i32 0, ptr @lp_site call void @lp_free(ptr %t100) 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 @.str14641, ptr %t104, ptr @.str14642) %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 store i32 8009, ptr @lp_site %t115 = call ptr @lp_str_concat(ptr @.str14643, ptr %t114) store i32 0, ptr @lp_site store i32 8010, ptr @lp_site %t116 = call ptr @lp_str_concat(ptr %t115, ptr @.str14644) store i32 0, ptr @lp_site call void @lp_free(ptr %t115) call void @fn_emit(ptr %t116) br label %ifend5 ifend5: %t117 = load ptr, ptr %t49 store i32 8011, ptr @lp_site %t118 = call ptr @lp_str_concat(ptr %t117, ptr @.str14645) store i32 0, ptr @lp_site call void @fn_emit(ptr %t118) store i32 0, ptr @g_g_term %t119 = load ptr, ptr %t24 store i32 8012, ptr @lp_site %t120 = call ptr @lp_str_concat(ptr @.str14646, ptr %t119) store i32 0, ptr @lp_site %t121 = call ptr @fn_emit_bind(ptr %t120) %t122 = call ptr @fn_val(ptr %t121, ptr @.str14647) 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) store i32 8013, ptr @lp_site %t4 = call ptr @lp_str_concat(ptr @.str14648, ptr %t3) store i32 0, ptr @lp_site store i32 8014, ptr @lp_site %t5 = call ptr @lp_str_concat(ptr %t4, ptr @.str14650) store i32 0, ptr @lp_site call void @lp_free(ptr %t4) %t6 = load ptr, ptr %t0 store i32 8015, ptr @lp_site %t7 = call ptr @lp_str_concat(ptr %t5, ptr %t6) store i32 0, ptr @lp_site call void @lp_free(ptr %t5) %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 @.str14651) 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 store i32 8016, ptr @lp_site %t11 = call ptr @lp_str_concat(ptr @.str14652, ptr %t10) store i32 0, ptr @lp_site store i32 8017, ptr @lp_site %t12 = call ptr @lp_str_concat(ptr %t11, ptr @.str14654) store i32 0, ptr @lp_site call void @lp_free(ptr %t11) %t13 = call ptr @fn_emit_bind(ptr %t12) store ptr %t13, ptr %t14 %t15 = load ptr, ptr %t14 store i32 8018, ptr @lp_site %t16 = call ptr @lp_str_concat(ptr @.str14655, ptr %t15) store i32 0, ptr @lp_site store i32 8019, ptr @lp_site %t17 = call ptr @lp_str_concat(ptr %t16, ptr @.str14656) store i32 0, ptr @lp_site call void @lp_free(ptr %t16) %t18 = call ptr @fn_emit_bind(ptr %t17) store ptr %t18, ptr %t19 call void @fn_emit(ptr @.str14657) %t20 = load ptr, ptr %t19 call void @fn_emit(ptr %t20) call void @fn_emit(ptr @.str14658) %t21 = load ptr, ptr %t2 call void @fn_emit(ptr %t21) call void @fn_emit(ptr @.str14659) %t22 = call ptr @fn_lbl(ptr @.str14660) store ptr %t22, ptr %t23 %t24 = call ptr @fn_lbl(ptr @.str14661) 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 @.str14662) %t30 = icmp ne i32 %t29, 0 br i1 %t30, label %then0, label %else1 then0: call void @fn_emit(ptr @.str14663) %t31 = load ptr, ptr %t14 call void @fn_emit(ptr %t31) call void @fn_emit(ptr @.str14664) %t32 = load ptr, ptr %t23 call void @fn_emit(ptr %t32) call void @fn_emit(ptr @.str14665) %t33 = load ptr, ptr %t25 call void @fn_emit(ptr %t33) call void @fn_emit(ptr @.str14666) br label %ifend2 else1: call void @fn_emit(ptr @.str14667) %t34 = load ptr, ptr %t14 call void @fn_emit(ptr %t34) call void @fn_emit(ptr @.str14668) %t35 = load ptr, ptr %t25 call void @fn_emit(ptr %t35) call void @fn_emit(ptr @.str14669) %t36 = load ptr, ptr %t23 call void @fn_emit(ptr %t36) call void @fn_emit(ptr @.str14670) br label %ifend2 ifend2: %t37 = load ptr, ptr %t23 call void @fn_emit(ptr %t37) call void @fn_emit(ptr @.str14671) %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 store i32 8020, ptr @lp_site %t46 = call ptr @lp_str_concat(ptr @.str14672, ptr %t45) store i32 0, ptr @lp_site store i32 8021, ptr @lp_site %t47 = call ptr @lp_str_concat(ptr %t46, ptr @.str14673) store i32 0, ptr @lp_site call void @lp_free(ptr %t46) %t48 = call ptr @fn_emit_bind(ptr %t47) store ptr %t48, ptr %t49 %t50 = load ptr, ptr %t49 store i32 8022, ptr @lp_site %t51 = call ptr @lp_str_concat(ptr @.str14674, ptr %t50) store i32 0, ptr @lp_site store i32 8023, ptr @lp_site %t52 = call ptr @lp_str_concat(ptr %t51, ptr @.str14675) store i32 0, ptr @lp_site call void @lp_free(ptr %t51) %t53 = call ptr @fn_emit_bind(ptr %t52) store ptr %t53, ptr %t54 call void @fn_emit(ptr @.str14676) %t55 = load ptr, ptr %t54 call void @fn_emit(ptr %t55) call void @fn_emit(ptr @.str14677) %t56 = load ptr, ptr %t2 call void @fn_emit(ptr %t56) call void @fn_emit(ptr @.str14678) call void @fn_emit(ptr @.str14679) %t57 = load ptr, ptr %t25 call void @fn_emit(ptr %t57) call void @fn_emit(ptr @.str14680) %t58 = load ptr, ptr %t25 call void @fn_emit(ptr %t58) call void @fn_emit(ptr @.str14681) %t59 = load ptr, ptr %t2 store i32 8024, ptr @lp_site %t60 = call ptr @lp_str_concat(ptr @.str14682, ptr %t59) store i32 0, ptr @lp_site %t61 = call ptr @fn_emit_bind(ptr %t60) %t62 = call ptr @fn_val(ptr %t61, ptr @.str14683) 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 @.str14684) %t3 = icmp ne i32 %t2, 0 br i1 %t3, label %then0, label %ifend2 then0: store ptr @.str14685, ptr %retval br label %ret ifend2: %t4 = load ptr, ptr %t0 %t5 = call i32 @lp_str_eq(ptr %t4, ptr @.str14686) %t6 = icmp ne i32 %t5, 0 br i1 %t6, label %then3, label %ifend5 then3: store ptr @.str14687, ptr %retval br label %ret ifend5: %t7 = load ptr, ptr %t0 %t8 = call i32 @lp_str_eq(ptr %t7, ptr @.str14688) %t9 = icmp ne i32 %t8, 0 br i1 %t9, label %then6, label %ifend8 then6: store ptr @.str14689, ptr %retval br label %ret ifend8: %t10 = load ptr, ptr %t0 %t11 = call i32 @lp_str_eq(ptr %t10, ptr @.str14690) %t12 = icmp ne i32 %t11, 0 br i1 %t12, label %then9, label %ifend11 then9: store ptr @.str14691, ptr %retval br label %ret ifend11: %t13 = load ptr, ptr %t0 %t14 = call i32 @lp_str_eq(ptr %t13, ptr @.str14692) %t15 = icmp ne i32 %t14, 0 br i1 %t15, label %then12, label %ifend14 then12: store ptr @.str14693, ptr %retval br label %ret ifend14: store ptr @.str14694, 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 @.str14695) %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 @.str14696) %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 @.str14697) %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 @.str14698) %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 @.str14699) %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 @.str14700) %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 @.str14701) %t3 = icmp ne i32 %t2, 0 br i1 %t3, label %then0, label %ifend2 then0: store ptr @.str14702, ptr %retval br label %ret ifend2: %t4 = load ptr, ptr %t0 %t5 = call i32 @lp_str_eq(ptr %t4, ptr @.str14703) %t6 = icmp ne i32 %t5, 0 br i1 %t6, label %then3, label %ifend5 then3: store ptr @.str14704, ptr %retval br label %ret ifend5: %t7 = load ptr, ptr %t0 %t8 = call i32 @lp_str_eq(ptr %t7, ptr @.str14705) %t9 = icmp ne i32 %t8, 0 br i1 %t9, label %then6, label %ifend8 then6: store ptr @.str14706, ptr %retval br label %ret ifend8: %t10 = load ptr, ptr %t0 %t11 = call i32 @lp_str_eq(ptr %t10, ptr @.str14707) %t12 = icmp ne i32 %t11, 0 br i1 %t12, label %then9, label %ifend11 then9: store ptr @.str14708, ptr %retval br label %ret ifend11: %t13 = load ptr, ptr %t0 %t14 = call i32 @lp_str_eq(ptr %t13, ptr @.str14709) %t15 = icmp ne i32 %t14, 0 br i1 %t15, label %then12, label %ifend14 then12: store ptr @.str14710, ptr %retval br label %ret ifend14: %t16 = load ptr, ptr %t0 %t17 = call i32 @lp_str_eq(ptr %t16, ptr @.str14711) %t18 = icmp ne i32 %t17, 0 br i1 %t18, label %then15, label %ifend17 then15: store ptr @.str14712, ptr %retval br label %ret ifend17: %t19 = load ptr, ptr %t0 %t20 = call i32 @lp_str_eq(ptr %t19, ptr @.str14713) %t21 = icmp ne i32 %t20, 0 br i1 %t21, label %then18, label %ifend20 then18: store ptr @.str14714, ptr %retval br label %ret ifend20: %t22 = load ptr, ptr %t0 %t23 = call i32 @lp_str_eq(ptr %t22, ptr @.str14715) %t24 = icmp ne i32 %t23, 0 br i1 %t24, label %then21, label %ifend23 then21: store ptr @.str14716, ptr %retval br label %ret ifend23: %t25 = load ptr, ptr %t0 %t26 = call i32 @lp_str_eq(ptr %t25, ptr @.str14717) %t27 = icmp ne i32 %t26, 0 br i1 %t27, label %then24, label %ifend26 then24: store ptr @.str14718, ptr %retval br label %ret ifend26: store ptr @.str14719, 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 @.str14720) %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 store i32 8025, ptr @lp_site %t12 = call ptr @lp_str_concat(ptr @.str14721, ptr %t11) store i32 0, ptr @lp_site store i32 8026, ptr @lp_site %t13 = call ptr @lp_str_concat(ptr %t12, ptr @.str14723) store i32 0, ptr @lp_site call void @lp_free(ptr %t12) %t14 = call ptr @fn_emit_bind(ptr %t13) store ptr %t14, ptr %retval br label %ret ret: %t15 = load ptr, ptr %retval ret ptr %t15 } define ptr @fn_coerce_code(ptr %arg_v, ptr %arg_target) { entry: %retval = alloca ptr %t0 = alloca ptr %t1 = alloca ptr %t11 = alloca i32 %t12 = alloca i32 %t44 = alloca i32 %t60 = alloca i32 %t61 = alloca i32 %t96 = alloca ptr %t101 = alloca ptr %t109 = alloca i32 %t126 = alloca i32 store ptr %arg_v, ptr %t0 store ptr %arg_target, ptr %t1 %t2 = load ptr, ptr %t1 %t3 = call i32 @fn_is_fp(ptr %t2) %t4 = icmp ne i32 %t3, 0 br i1 %t4, label %then0, label %ifend2 then0: %t5 = load ptr, ptr %t0 %t6 = load ptr, ptr %t1 %t7 = load ptr, ptr %t1 store i32 8027, ptr @lp_site %t8 = call ptr @lp_str_concat(ptr @.str14724, ptr %t7) store i32 0, ptr @lp_site store i32 8028, ptr @lp_site %t9 = call ptr @lp_str_concat(ptr %t8, ptr @.str14726) store i32 0, ptr @lp_site call void @lp_free(ptr %t8) %t10 = call ptr @fn_to_fp(ptr %t5, ptr %t6, ptr %t9) store ptr %t10, ptr %retval br label %ret ifend2: %t13 = load ptr, ptr %t1 %t14 = call i32 @fn_is_fn_type(ptr %t13) %t15 = icmp ne i32 %t14, 0 %t16 = zext i1 %t15 to i32 store i32 %t16, ptr %t12 br i1 %t15, label %sc3, label %scend4 sc3: %t17 = load ptr, ptr %t0 %t18 = getelementptr inbounds %Cmp_Val, ptr %t17, i32 0, i32 1 %t19 = load ptr, ptr %t18 %t20 = call i32 @fn_is_fn_type(ptr %t19) %t21 = icmp ne i32 %t20, 0 %t22 = zext i1 %t21 to i32 store i32 %t22, ptr %t12 br label %scend4 scend4: %t23 = load i32, ptr %t12 %t24 = icmp ne i32 %t23, 0 %t25 = zext i1 %t24 to i32 store i32 %t25, ptr %t11 br i1 %t24, label %sc5, label %scend6 sc5: %t26 = load ptr, ptr %t0 %t27 = getelementptr inbounds %Cmp_Val, ptr %t26, i32 0, i32 1 %t28 = load ptr, ptr %t27 %t29 = load ptr, ptr %t1 %t30 = call i32 @lp_str_eq(ptr %t28, ptr %t29) %t31 = icmp eq i32 %t30, 0 %t32 = zext i1 %t31 to i32 %t33 = icmp ne i32 %t32, 0 %t34 = zext i1 %t33 to i32 store i32 %t34, ptr %t11 br label %scend6 scend6: %t35 = load i32, ptr %t11 %t36 = icmp ne i32 %t35, 0 br i1 %t36, label %then7, label %ifend9 then7: %t37 = load ptr, ptr %t0 %t38 = getelementptr inbounds %Cmp_Val, ptr %t37, i32 0, i32 1 %t39 = load ptr, ptr %t38 store i32 8029, ptr @lp_site %t40 = call ptr @lp_str_concat(ptr @.str14727, ptr %t39) store i32 0, ptr @lp_site store i32 8030, ptr @lp_site %t41 = call ptr @lp_str_concat(ptr %t40, ptr @.str14728) store i32 0, ptr @lp_site call void @lp_free(ptr %t40) %t42 = load ptr, ptr %t1 store i32 8031, ptr @lp_site %t43 = call ptr @lp_str_concat(ptr %t41, ptr %t42) store i32 0, ptr @lp_site call void @lp_free(ptr %t41) call void @fn_perr(ptr %t43) br label %ifend9 ifend9: %t45 = load ptr, ptr %t1 %t46 = call i32 @lp_str_eq(ptr %t45, ptr @.str14729) %t47 = icmp ne i32 %t46, 0 %t48 = zext i1 %t47 to i32 store i32 %t48, ptr %t44 br i1 %t47, label %sc10, label %scend11 sc10: %t49 = load ptr, ptr %t0 %t50 = call ptr @fn_fixed_lit_code(ptr %t49) %t51 = call i32 @lp_str_eq(ptr %t50, ptr @.str14730) %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 %t44 br label %scend11 scend11: %t56 = load i32, ptr %t44 %t57 = icmp ne i32 %t56, 0 br i1 %t57, label %then12, label %ifend14 then12: %t58 = load ptr, ptr %t0 %t59 = call ptr @fn_fixed_lit_code(ptr %t58) store ptr %t59, ptr %retval br label %ret ifend14: %t62 = load ptr, ptr %t0 %t63 = getelementptr inbounds %Cmp_Val, ptr %t62, i32 0, i32 1 %t64 = load ptr, ptr %t63 %t65 = call i32 @fn_is_fp(ptr %t64) %t66 = icmp ne i32 %t65, 0 %t67 = zext i1 %t66 to i32 store i32 %t67, ptr %t61 br i1 %t66, label %sc15, label %scend16 sc15: %t68 = load ptr, ptr %t1 %t69 = call i32 @fn_is_fp(ptr %t68) %t70 = icmp eq i32 %t69, 0 %t71 = zext i1 %t70 to i32 %t72 = icmp ne i32 %t71, 0 %t73 = zext i1 %t72 to i32 store i32 %t73, ptr %t61 br label %scend16 scend16: %t74 = load i32, ptr %t61 %t75 = icmp ne i32 %t74, 0 %t76 = zext i1 %t75 to i32 store i32 %t76, ptr %t60 br i1 %t75, label %sc17, label %scend18 sc17: %t77 = load ptr, ptr %t1 %t78 = call ptr @fn_llty(ptr %t77) %t79 = call i32 @lp_str_eq(ptr %t78, ptr @.str14731) %t80 = icmp eq i32 %t79, 0 %t81 = zext i1 %t80 to i32 %t82 = icmp ne i32 %t81, 0 %t83 = zext i1 %t82 to i32 store i32 %t83, ptr %t60 br label %scend18 scend18: %t84 = load i32, ptr %t60 %t85 = icmp ne i32 %t84, 0 br i1 %t85, label %then19, label %ifend21 then19: %t86 = load ptr, ptr %t0 %t87 = getelementptr inbounds %Cmp_Val, ptr %t86, i32 0, i32 1 %t88 = load ptr, ptr %t87 store i32 8032, ptr @lp_site %t89 = call ptr @lp_str_concat(ptr @.str14732, ptr %t88) store i32 0, ptr @lp_site store i32 8033, ptr @lp_site %t90 = call ptr @lp_str_concat(ptr %t89, ptr @.str14733) store i32 0, ptr @lp_site call void @lp_free(ptr %t89) %t91 = load ptr, ptr %t1 store i32 8034, ptr @lp_site %t92 = call ptr @lp_str_concat(ptr %t90, ptr %t91) store i32 0, ptr @lp_site call void @lp_free(ptr %t90) store i32 8035, ptr @lp_site %t93 = call ptr @lp_str_concat(ptr %t92, ptr @.str14734) store i32 0, ptr @lp_site call void @lp_free(ptr %t92) call void @fn_perr(ptr %t93) br label %ifend21 ifend21: %t94 = load ptr, ptr %t1 %t95 = call ptr @fn_llty(ptr %t94) store ptr %t95, ptr %t96 %t97 = load ptr, ptr %t0 %t98 = getelementptr inbounds %Cmp_Val, ptr %t97, i32 0, i32 1 %t99 = load ptr, ptr %t98 %t100 = call ptr @fn_llty(ptr %t99) store ptr %t100, ptr %t101 %t102 = load ptr, ptr %t96 %t103 = load ptr, ptr %t101 %t104 = call i32 @lp_str_eq(ptr %t102, ptr %t103) %t105 = icmp ne i32 %t104, 0 br i1 %t105, label %then22, label %ifend24 then22: %t106 = load ptr, ptr %t0 %t107 = getelementptr inbounds %Cmp_Val, ptr %t106, i32 0, i32 0 %t108 = load ptr, ptr %t107 store ptr %t108, ptr %retval br label %ret ifend24: %t110 = load ptr, ptr %t96 %t111 = call i32 @lp_str_eq(ptr %t110, ptr @.str14735) %t112 = icmp ne i32 %t111, 0 %t113 = zext i1 %t112 to i32 store i32 %t113, ptr %t109 br i1 %t112, label %sc25, label %scend26 sc25: %t114 = load ptr, ptr %t101 %t115 = call i32 @lp_str_eq(ptr %t114, ptr @.str14736) %t116 = icmp ne i32 %t115, 0 %t117 = zext i1 %t116 to i32 store i32 %t117, ptr %t109 br label %scend26 scend26: %t118 = load i32, ptr %t109 %t119 = icmp ne i32 %t118, 0 br i1 %t119, label %then27, label %ifend29 then27: %t120 = load ptr, ptr %t0 %t121 = getelementptr inbounds %Cmp_Val, ptr %t120, i32 0, i32 0 %t122 = load ptr, ptr %t121 store i32 8036, ptr @lp_site %t123 = call ptr @lp_str_concat(ptr @.str14737, ptr %t122) store i32 0, ptr @lp_site store i32 8037, ptr @lp_site %t124 = call ptr @lp_str_concat(ptr %t123, ptr @.str14738) store i32 0, ptr @lp_site call void @lp_free(ptr %t123) %t125 = call ptr @fn_emit_bind(ptr %t124) store ptr %t125, ptr %retval br label %ret ifend29: %t127 = load ptr, ptr %t96 %t128 = call i32 @lp_str_eq(ptr %t127, ptr @.str14739) %t129 = icmp ne i32 %t128, 0 %t130 = zext i1 %t129 to i32 store i32 %t130, ptr %t126 br i1 %t129, label %sc30, label %scend31 sc30: %t131 = load ptr, ptr %t101 %t132 = call i32 @lp_str_eq(ptr %t131, ptr @.str14740) %t133 = icmp ne i32 %t132, 0 %t134 = zext i1 %t133 to i32 store i32 %t134, ptr %t126 br label %scend31 scend31: %t135 = load i32, ptr %t126 %t136 = icmp ne i32 %t135, 0 br i1 %t136, label %then32, label %ifend34 then32: %t137 = load ptr, ptr %t0 %t138 = getelementptr inbounds %Cmp_Val, ptr %t137, i32 0, i32 0 %t139 = load ptr, ptr %t138 store i32 8038, ptr @lp_site %t140 = call ptr @lp_str_concat(ptr @.str14741, ptr %t139) store i32 0, ptr @lp_site store i32 8039, ptr @lp_site %t141 = call ptr @lp_str_concat(ptr %t140, ptr @.str14742) store i32 0, ptr @lp_site call void @lp_free(ptr %t140) %t142 = call ptr @fn_emit_bind(ptr %t141) store ptr %t142, ptr %retval br label %ret ifend34: %t143 = load ptr, ptr %t0 %t144 = getelementptr inbounds %Cmp_Val, ptr %t143, i32 0, i32 0 %t145 = load ptr, ptr %t144 store ptr %t145, ptr %retval br label %ret ret: %t146 = load ptr, ptr %retval ret ptr %t146 } 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 @.str14743) %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 store i32 8040, ptr @lp_site %t13 = call ptr @lp_str_concat(ptr @.str14744, ptr %t12) store i32 0, ptr @lp_site store i32 8041, ptr @lp_site %t14 = call ptr @lp_str_concat(ptr %t13, ptr @.str14746) store i32 0, ptr @lp_site call void @lp_free(ptr %t13) %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 %t18 = alloca ptr %t28 = alloca i32 %t64 = alloca ptr %t74 = alloca i32 %t105 = 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 @.str14747) %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 store i32 8042, ptr @lp_site %t9 = call ptr @lp_str_concat(ptr @.str14748, ptr %t8) store i32 0, ptr @lp_site store i32 8043, ptr @lp_site %t10 = call ptr @lp_str_concat(ptr %t9, ptr @.str14750) store i32 0, ptr @lp_site call void @lp_free(ptr %t9) %t11 = load ptr, ptr %t2 %t12 = getelementptr inbounds %Cmp_Val, ptr %t11, i32 0, i32 0 %t13 = load ptr, ptr %t12 store i32 8044, ptr @lp_site %t14 = call ptr @lp_str_concat(ptr %t10, ptr %t13) store i32 0, ptr @lp_site call void @lp_free(ptr %t10) store i32 8045, ptr @lp_site %t15 = call ptr @lp_str_concat(ptr %t14, ptr @.str14751) store i32 0, ptr @lp_site call void @lp_free(ptr %t14) %t16 = call ptr @fn_emit_bind(ptr %t15) %t17 = call ptr @fn_fresh_val(ptr %t16, ptr @.str14752) store ptr %t17, ptr %t18 %t19 = load ptr, ptr %t1 %t20 = getelementptr inbounds %Cmp_Val, ptr %t19, i32 0, i32 3 %t21 = load i32, ptr %t20 %t22 = icmp ne i32 %t21, 0 br i1 %t22, label %then3, label %ifend5 then3: %t23 = load ptr, ptr %t1 %t24 = getelementptr inbounds %Cmp_Val, ptr %t23, i32 0, i32 0 %t25 = load ptr, ptr %t24 store i32 8046, ptr @lp_site %t26 = call ptr @lp_str_concat(ptr @.str14753, ptr %t25) store i32 0, ptr @lp_site store i32 8047, ptr @lp_site %t27 = call ptr @lp_str_concat(ptr %t26, ptr @.str14754) store i32 0, ptr @lp_site call void @lp_free(ptr %t26) call void @fn_emit(ptr %t27) br label %ifend5 ifend5: %t29 = load ptr, ptr %t2 %t30 = getelementptr inbounds %Cmp_Val, ptr %t29, i32 0, i32 3 %t31 = load i32, ptr %t30 %t32 = icmp ne i32 %t31, 0 %t33 = zext i1 %t32 to i32 store i32 %t33, ptr %t28 br i1 %t32, label %sc6, label %scend7 sc6: %t34 = load ptr, ptr %t2 %t35 = getelementptr inbounds %Cmp_Val, ptr %t34, i32 0, i32 0 %t36 = load ptr, ptr %t35 %t37 = load ptr, ptr %t1 %t38 = getelementptr inbounds %Cmp_Val, ptr %t37, i32 0, i32 0 %t39 = load ptr, ptr %t38 %t40 = call i32 @lp_str_eq(ptr %t36, ptr %t39) %t41 = icmp eq i32 %t40, 0 %t42 = zext i1 %t41 to i32 %t43 = icmp ne i32 %t42, 0 %t44 = zext i1 %t43 to i32 store i32 %t44, ptr %t28 br label %scend7 scend7: %t45 = load i32, ptr %t28 %t46 = icmp ne i32 %t45, 0 br i1 %t46, label %then8, label %ifend10 then8: %t47 = load ptr, ptr %t2 %t48 = getelementptr inbounds %Cmp_Val, ptr %t47, i32 0, i32 0 %t49 = load ptr, ptr %t48 store i32 8048, ptr @lp_site %t50 = call ptr @lp_str_concat(ptr @.str14755, ptr %t49) store i32 0, ptr @lp_site store i32 8049, ptr @lp_site %t51 = call ptr @lp_str_concat(ptr %t50, ptr @.str14756) store i32 0, ptr @lp_site call void @lp_free(ptr %t50) call void @fn_emit(ptr %t51) br label %ifend10 ifend10: %t52 = load ptr, ptr %t18 store ptr %t52, ptr %retval br label %ret ifend2: %t53 = load ptr, ptr %t1 %t54 = getelementptr inbounds %Cmp_Val, ptr %t53, i32 0, i32 0 %t55 = load ptr, ptr %t54 store i32 8050, ptr @lp_site %t56 = call ptr @lp_str_concat(ptr @.str14757, ptr %t55) store i32 0, ptr @lp_site store i32 8051, ptr @lp_site %t57 = call ptr @lp_str_concat(ptr %t56, ptr @.str14758) store i32 0, ptr @lp_site call void @lp_free(ptr %t56) %t58 = load ptr, ptr %t2 %t59 = getelementptr inbounds %Cmp_Val, ptr %t58, i32 0, i32 0 %t60 = load ptr, ptr %t59 store i32 8052, ptr @lp_site %t61 = call ptr @lp_str_concat(ptr %t57, ptr %t60) store i32 0, ptr @lp_site call void @lp_free(ptr %t57) store i32 8053, ptr @lp_site %t62 = call ptr @lp_str_concat(ptr %t61, ptr @.str14759) store i32 0, ptr @lp_site call void @lp_free(ptr %t61) %t63 = call ptr @fn_emit_bind(ptr %t62) store ptr %t63, ptr %t64 %t65 = load ptr, ptr %t1 %t66 = getelementptr inbounds %Cmp_Val, ptr %t65, i32 0, i32 3 %t67 = load i32, ptr %t66 %t68 = icmp ne i32 %t67, 0 br i1 %t68, label %then11, label %ifend13 then11: %t69 = load ptr, ptr %t1 %t70 = getelementptr inbounds %Cmp_Val, ptr %t69, i32 0, i32 0 %t71 = load ptr, ptr %t70 store i32 8054, ptr @lp_site %t72 = call ptr @lp_str_concat(ptr @.str14760, ptr %t71) store i32 0, ptr @lp_site store i32 8055, ptr @lp_site %t73 = call ptr @lp_str_concat(ptr %t72, ptr @.str14761) store i32 0, ptr @lp_site call void @lp_free(ptr %t72) call void @fn_emit(ptr %t73) br label %ifend13 ifend13: %t75 = load ptr, ptr %t2 %t76 = getelementptr inbounds %Cmp_Val, ptr %t75, i32 0, i32 3 %t77 = load i32, ptr %t76 %t78 = icmp ne i32 %t77, 0 %t79 = zext i1 %t78 to i32 store i32 %t79, ptr %t74 br i1 %t78, label %sc14, label %scend15 sc14: %t80 = load ptr, ptr %t2 %t81 = getelementptr inbounds %Cmp_Val, ptr %t80, i32 0, i32 0 %t82 = load ptr, ptr %t81 %t83 = load ptr, ptr %t1 %t84 = getelementptr inbounds %Cmp_Val, ptr %t83, i32 0, i32 0 %t85 = load ptr, ptr %t84 %t86 = call i32 @lp_str_eq(ptr %t82, ptr %t85) %t87 = icmp eq i32 %t86, 0 %t88 = zext i1 %t87 to i32 %t89 = icmp ne i32 %t88, 0 %t90 = zext i1 %t89 to i32 store i32 %t90, ptr %t74 br label %scend15 scend15: %t91 = load i32, ptr %t74 %t92 = icmp ne i32 %t91, 0 br i1 %t92, label %then16, label %ifend18 then16: %t93 = load ptr, ptr %t2 %t94 = getelementptr inbounds %Cmp_Val, ptr %t93, i32 0, i32 0 %t95 = load ptr, ptr %t94 store i32 8056, ptr @lp_site %t96 = call ptr @lp_str_concat(ptr @.str14762, ptr %t95) store i32 0, ptr @lp_site store i32 8057, ptr @lp_site %t97 = call ptr @lp_str_concat(ptr %t96, ptr @.str14763) store i32 0, ptr @lp_site call void @lp_free(ptr %t96) call void @fn_emit(ptr %t97) br label %ifend18 ifend18: %t98 = load ptr, ptr %t0 %t99 = call i32 @lp_str_eq(ptr %t98, ptr @.str14764) %t100 = icmp ne i32 %t99, 0 br i1 %t100, label %then19, label %ifend21 then19: %t101 = load ptr, ptr %t64 store i32 8058, ptr @lp_site %t102 = call ptr @lp_str_concat(ptr @.str14765, ptr %t101) store i32 0, ptr @lp_site store i32 8059, ptr @lp_site %t103 = call ptr @lp_str_concat(ptr %t102, ptr @.str14766) store i32 0, ptr @lp_site call void @lp_free(ptr %t102) %t104 = call ptr @fn_emit_bind(ptr %t103) store ptr %t104, ptr %t105 %t106 = load ptr, ptr %t105 store i32 8060, ptr @lp_site %t107 = call ptr @lp_str_concat(ptr @.str14767, ptr %t106) store i32 0, ptr @lp_site store i32 8061, ptr @lp_site %t108 = call ptr @lp_str_concat(ptr %t107, ptr @.str14768) store i32 0, ptr @lp_site call void @lp_free(ptr %t107) %t109 = call ptr @fn_emit_bind(ptr %t108) %t110 = call ptr @fn_val(ptr %t109, ptr @.str14769) store ptr %t110, ptr %retval br label %ret ifend21: %t111 = load ptr, ptr %t64 %t112 = call ptr @fn_val(ptr %t111, ptr @.str14770) store ptr %t112, ptr %retval br label %ret ret: %t113 = load ptr, ptr %retval ret ptr %t113 } define ptr @fn_arith_ty(ptr %arg_ty) { entry: %retval = alloca ptr %t0 = alloca ptr %t1 = alloca i32 %t2 = alloca i32 store ptr %arg_ty, ptr %t0 %t3 = load ptr, ptr %t0 %t4 = call i32 @lp_str_eq(ptr %t3, ptr @.str14771) %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 @.str14772) %t9 = icmp ne i32 %t8, 0 %t10 = zext i1 %t9 to i32 store i32 %t10, ptr %t2 br label %scend1 scend1: %t11 = load i32, ptr %t2 %t12 = icmp ne i32 %t11, 0 %t13 = zext i1 %t12 to i32 store i32 %t13, ptr %t1 br i1 %t12, label %scend3, label %sc2 sc2: %t14 = load ptr, ptr %t0 %t15 = call i32 @fn_is_fp(ptr %t14) %t16 = icmp ne i32 %t15, 0 %t17 = zext i1 %t16 to i32 store i32 %t17, ptr %t1 br label %scend3 scend3: %t18 = load i32, ptr %t1 %t19 = icmp ne i32 %t18, 0 br i1 %t19, label %then4, label %ifend6 then4: %t20 = load ptr, ptr %t0 store ptr %t20, ptr %retval br label %ret ifend6: store ptr @.str14773, ptr %retval br label %ret ret: %t21 = load ptr, ptr %retval ret ptr %t21 } define ptr @fn_emit_bin(ptr %arg_e) { entry: %retval = alloca ptr %t0 = alloca ptr %t1 = alloca i32 %t22 = alloca ptr %t27 = alloca ptr %t28 = alloca i32 %t48 = alloca i32 %t56 = alloca ptr %t57 = alloca i32 %t58 = alloca i32 %t78 = alloca i32 %t98 = alloca i32 %t99 = alloca i32 %t119 = alloca i32 store ptr %arg_e, ptr %t0 %t2 = load ptr, ptr %t0 %t3 = getelementptr inbounds %Cmp_Node, ptr %t2, i32 0, i32 1 %t4 = load ptr, ptr %t3 %t5 = call i32 @lp_str_eq(ptr %t4, ptr @.str14774) %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 @.str14775) %t12 = icmp ne i32 %t11, 0 %t13 = zext i1 %t12 to i32 store i32 %t13, ptr %t1 br label %scend1 scend1: %t14 = load i32, ptr %t1 %t15 = icmp ne i32 %t14, 0 br i1 %t15, label %then2, label %ifend4 then2: %t16 = load ptr, ptr %t0 %t17 = call ptr @fn_emit_logic(ptr %t16) store ptr %t17, ptr %retval br label %ret ifend4: %t18 = load ptr, ptr %t0 %t19 = getelementptr inbounds %Cmp_Node, ptr %t18, i32 0, i32 4 %t20 = load ptr, ptr %t19 %t21 = call ptr @fn_emit_expr(ptr %t20) store ptr %t21, ptr %t22 %t23 = load ptr, ptr %t0 %t24 = getelementptr inbounds %Cmp_Node, ptr %t23, i32 0, i32 5 %t25 = load ptr, ptr %t24 %t26 = call ptr @fn_emit_expr(ptr %t25) store ptr %t26, ptr %t27 %t29 = load ptr, ptr %t0 %t30 = getelementptr inbounds %Cmp_Node, ptr %t29, i32 0, i32 4 %t31 = load ptr, ptr %t30 %t32 = getelementptr inbounds %Cmp_Node, ptr %t31, i32 0, i32 0 %t33 = load i32, ptr %t32 %t34 = icmp eq i32 %t33, 43 %t35 = zext i1 %t34 to i32 %t36 = icmp ne i32 %t35, 0 %t37 = zext i1 %t36 to i32 store i32 %t37, ptr %t28 br i1 %t36, label %scend6, label %sc5 sc5: %t38 = load ptr, ptr %t0 %t39 = getelementptr inbounds %Cmp_Node, ptr %t38, i32 0, i32 5 %t40 = load ptr, ptr %t39 %t41 = getelementptr inbounds %Cmp_Node, ptr %t40, i32 0, i32 0 %t42 = load i32, ptr %t41 %t43 = icmp eq i32 %t42, 43 %t44 = zext i1 %t43 to i32 %t45 = icmp ne i32 %t44, 0 %t46 = zext i1 %t45 to i32 store i32 %t46, ptr %t28 br label %scend6 scend6: %t47 = load i32, ptr %t28 store i32 %t47, ptr %t48 %t49 = load ptr, ptr %t0 %t50 = getelementptr inbounds %Cmp_Node, ptr %t49, i32 0, i32 1 %t51 = load ptr, ptr %t50 %t52 = load ptr, ptr %t22 %t53 = load ptr, ptr %t27 %t54 = load i32, ptr %t48 %t55 = call ptr @fn_emit_bin_vals(ptr %t51, ptr %t52, ptr %t53, i32 %t54) store ptr %t55, ptr %t56 %t59 = load ptr, ptr %t0 %t60 = getelementptr inbounds %Cmp_Node, ptr %t59, i32 0, i32 1 %t61 = load ptr, ptr %t60 %t62 = call i32 @fn_is_cmp(ptr %t61) %t63 = icmp eq i32 %t62, 0 %t64 = zext i1 %t63 to i32 %t65 = icmp ne i32 %t64, 0 %t66 = zext i1 %t65 to i32 store i32 %t66, ptr %t58 br i1 %t65, label %sc7, label %scend8 sc7: %t67 = load ptr, ptr %t56 %t68 = getelementptr inbounds %Cmp_Val, ptr %t67, i32 0, i32 1 %t69 = load ptr, ptr %t68 %t70 = call i32 @fn_is_fp(ptr %t69) %t71 = icmp eq i32 %t70, 0 %t72 = zext i1 %t71 to i32 %t73 = icmp ne i32 %t72, 0 %t74 = zext i1 %t73 to i32 store i32 %t74, ptr %t58 br label %scend8 scend8: %t75 = load i32, ptr %t58 %t76 = icmp ne i32 %t75, 0 %t77 = zext i1 %t76 to i32 store i32 %t77, ptr %t57 br i1 %t76, label %sc9, label %scend10 sc9: %t79 = load ptr, ptr %t22 %t80 = getelementptr inbounds %Cmp_Val, ptr %t79, i32 0, i32 2 %t81 = load ptr, ptr %t80 %t82 = icmp ne ptr %t81, null %t83 = zext i1 %t82 to i32 %t84 = icmp ne i32 %t83, 0 %t85 = zext i1 %t84 to i32 store i32 %t85, ptr %t78 br i1 %t84, label %scend12, label %sc11 sc11: %t86 = load ptr, ptr %t27 %t87 = getelementptr inbounds %Cmp_Val, ptr %t86, i32 0, i32 2 %t88 = load ptr, ptr %t87 %t89 = icmp ne ptr %t88, null %t90 = zext i1 %t89 to i32 %t91 = icmp ne i32 %t90, 0 %t92 = zext i1 %t91 to i32 store i32 %t92, ptr %t78 br label %scend12 scend12: %t93 = load i32, ptr %t78 %t94 = icmp ne i32 %t93, 0 %t95 = zext i1 %t94 to i32 store i32 %t95, ptr %t57 br label %scend10 scend10: %t96 = load i32, ptr %t57 %t97 = icmp ne i32 %t96, 0 br i1 %t97, label %then13, label %ifend15 then13: %t100 = load ptr, ptr %t22 %t101 = getelementptr inbounds %Cmp_Val, ptr %t100, i32 0, i32 2 %t102 = load ptr, ptr %t101 %t103 = icmp ne ptr %t102, null %t104 = zext i1 %t103 to i32 %t105 = icmp ne i32 %t104, 0 %t106 = zext i1 %t105 to i32 store i32 %t106, ptr %t99 br i1 %t105, label %scend17, label %sc16 sc16: %t107 = load ptr, ptr %t0 %t108 = getelementptr inbounds %Cmp_Node, ptr %t107, i32 0, i32 4 %t109 = load ptr, ptr %t108 %t110 = getelementptr inbounds %Cmp_Node, ptr %t109, i32 0, i32 0 %t111 = load i32, ptr %t110 %t112 = icmp eq i32 %t111, 30 %t113 = zext i1 %t112 to i32 %t114 = icmp ne i32 %t113, 0 %t115 = zext i1 %t114 to i32 store i32 %t115, ptr %t99 br label %scend17 scend17: %t116 = load i32, ptr %t99 %t117 = icmp ne i32 %t116, 0 %t118 = zext i1 %t117 to i32 store i32 %t118, ptr %t98 br i1 %t117, label %sc18, label %scend19 sc18: %t120 = load ptr, ptr %t27 %t121 = getelementptr inbounds %Cmp_Val, ptr %t120, i32 0, i32 2 %t122 = load ptr, ptr %t121 %t123 = icmp ne ptr %t122, null %t124 = zext i1 %t123 to i32 %t125 = icmp ne i32 %t124, 0 %t126 = zext i1 %t125 to i32 store i32 %t126, ptr %t119 br i1 %t125, label %scend21, label %sc20 sc20: %t127 = load ptr, ptr %t0 %t128 = getelementptr inbounds %Cmp_Node, ptr %t127, i32 0, i32 5 %t129 = load ptr, ptr %t128 %t130 = getelementptr inbounds %Cmp_Node, ptr %t129, i32 0, i32 0 %t131 = load i32, ptr %t130 %t132 = icmp eq i32 %t131, 30 %t133 = zext i1 %t132 to i32 %t134 = icmp ne i32 %t133, 0 %t135 = zext i1 %t134 to i32 store i32 %t135, ptr %t119 br label %scend21 scend21: %t136 = load i32, ptr %t119 %t137 = icmp ne i32 %t136, 0 %t138 = zext i1 %t137 to i32 store i32 %t138, ptr %t98 br label %scend19 scend19: %t139 = load i32, ptr %t98 %t140 = icmp ne i32 %t139, 0 br i1 %t140, label %then22, label %ifend24 then22: %t141 = load ptr, ptr %t56 %t142 = getelementptr inbounds %Cmp_Val, ptr %t141, i32 0, i32 2 %t143 = load ptr, ptr %t0 store ptr %t143, ptr %t142 br label %ifend24 ifend24: br label %ifend15 ifend15: %t144 = load ptr, ptr %t56 store ptr %t144, ptr %retval br label %ret ret: %t145 = load ptr, ptr %retval ret ptr %t145 } define i32 @fn_is_textish(ptr %arg_t) { entry: %retval = alloca i32 %t0 = alloca ptr %t1 = alloca i32 %t2 = alloca i32 %t3 = alloca i32 %t22 = alloca i32 store ptr %arg_t, ptr %t0 %t4 = load ptr, ptr %t0 %t5 = call i32 @lp_str_eq(ptr %t4, ptr @.str14776) %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 @.str14777) %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 @.str14778) %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: %t23 = load ptr, ptr %t0 %t24 = call i32 @lp_str_eq(ptr %t23, ptr @.str14779) %t25 = icmp ne i32 %t24, 0 %t26 = zext i1 %t25 to i32 store i32 %t26, ptr %t22 br i1 %t25, label %sc6, label %scend7 sc6: %t27 = load ptr, ptr %t0 %t28 = call ptr @fn_find_comp(ptr %t27) %t29 = icmp eq ptr %t28, null %t30 = zext i1 %t29 to i32 %t31 = icmp ne i32 %t30, 0 %t32 = zext i1 %t31 to i32 store i32 %t32, ptr %t22 br label %scend7 scend7: %t33 = load i32, ptr %t22 %t34 = icmp ne i32 %t33, 0 %t35 = zext i1 %t34 to i32 store i32 %t35, ptr %t1 br label %scend5 scend5: %t36 = load i32, ptr %t1 store i32 %t36, ptr %retval br label %ret ret: %t37 = load i32, ptr %retval ret i32 %t37 } define ptr @fn_emit_bin_vals(ptr %arg_op, ptr %arg_a, ptr %arg_b, i32 %arg_isnull) { entry: %retval = alloca ptr %t0 = alloca ptr %t1 = alloca ptr %t2 = alloca ptr %t3 = alloca i32 %t4 = alloca i32 %t20 = alloca i32 %t29 = alloca i32 %t30 = alloca i32 %t49 = alloca i32 %t68 = alloca i32 %t69 = alloca i32 %t86 = alloca i32 %t118 = alloca i32 %t132 = alloca i32 %t133 = alloca i32 %t134 = alloca i32 %t135 = alloca i32 %t167 = alloca i32 %t168 = alloca i32 %t193 = alloca ptr %t197 = alloca ptr %t198 = alloca ptr %t211 = alloca i32 %t241 = alloca ptr %t251 = alloca ptr %t254 = alloca ptr %t269 = alloca ptr %t272 = alloca ptr %t280 = alloca ptr %t285 = alloca ptr %t292 = alloca ptr %t297 = alloca ptr %t310 = alloca ptr %t315 = alloca ptr %t320 = alloca ptr %t327 = alloca ptr %t342 = alloca ptr %t358 = alloca ptr store ptr %arg_op, ptr %t0 store ptr %arg_a, ptr %t1 store ptr %arg_b, ptr %t2 store i32 %arg_isnull, ptr %t3 %t5 = load ptr, ptr %t1 %t6 = getelementptr inbounds %Cmp_Val, ptr %t5, i32 0, i32 1 %t7 = load ptr, ptr %t6 %t8 = call ptr @fn_llty(ptr %t7) %t9 = call i32 @lp_str_eq(ptr %t8, ptr @.str14780) %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 @.str14781) %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 @.str14782) %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 @.str14783, 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 @.str14784) %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 @.str14785) %t37 = icmp ne i32 %t36, 0 %t38 = zext i1 %t37 to i32 store i32 %t38, ptr %t30 br label %scend9 scend9: %t39 = load i32, ptr %t30 %t40 = icmp ne i32 %t39, 0 %t41 = zext i1 %t40 to i32 store i32 %t41, ptr %t29 br i1 %t40, label %sc10, label %scend11 sc10: %t42 = load i32, ptr %t3 %t43 = icmp eq i32 %t42, 0 %t44 = zext i1 %t43 to i32 %t45 = icmp ne i32 %t44, 0 %t46 = zext i1 %t45 to i32 store i32 %t46, ptr %t29 br label %scend11 scend11: %t47 = load i32, ptr %t29 %t48 = icmp ne i32 %t47, 0 br i1 %t48, label %then12, label %ifend14 then12: %t50 = load ptr, ptr %t1 %t51 = getelementptr inbounds %Cmp_Val, ptr %t50, i32 0, i32 1 %t52 = load ptr, ptr %t51 %t53 = call i32 @fn_is_textish(ptr %t52) %t54 = icmp ne i32 %t53, 0 %t55 = zext i1 %t54 to i32 store i32 %t55, ptr %t49 br i1 %t54, label %sc15, label %scend16 sc15: %t56 = load ptr, ptr %t2 %t57 = getelementptr inbounds %Cmp_Val, ptr %t56, i32 0, i32 1 %t58 = load ptr, ptr %t57 %t59 = call i32 @fn_is_textish(ptr %t58) %t60 = icmp ne i32 %t59, 0 %t61 = zext i1 %t60 to i32 store i32 %t61, ptr %t49 br label %scend16 scend16: %t62 = load i32, ptr %t49 %t63 = icmp ne i32 %t62, 0 br i1 %t63, label %then17, label %ifend19 then17: %t64 = load ptr, ptr %t0 %t65 = load ptr, ptr %t1 %t66 = load ptr, ptr %t2 %t67 = call ptr @fn_emit_str_op(ptr %t64, ptr %t65, ptr %t66) store ptr %t67, ptr %retval br label %ret ifend19: %t70 = load ptr, ptr %t1 %t71 = getelementptr inbounds %Cmp_Val, ptr %t70, i32 0, i32 1 %t72 = load ptr, ptr %t71 %t73 = call i32 @lp_str_eq(ptr %t72, ptr @.str14786) %t74 = icmp ne i32 %t73, 0 %t75 = zext i1 %t74 to i32 store i32 %t75, ptr %t69 br i1 %t74, label %sc20, label %scend21 sc20: %t76 = load ptr, ptr %t2 %t77 = getelementptr inbounds %Cmp_Val, ptr %t76, i32 0, i32 1 %t78 = load ptr, ptr %t77 %t79 = call ptr @fn_llty(ptr %t78) %t80 = call i32 @lp_str_eq(ptr %t79, ptr @.str14787) %t81 = icmp ne i32 %t80, 0 %t82 = zext i1 %t81 to i32 store i32 %t82, ptr %t69 br label %scend21 scend21: %t83 = load i32, ptr %t69 %t84 = icmp ne i32 %t83, 0 %t85 = zext i1 %t84 to i32 store i32 %t85, ptr %t68 br i1 %t84, label %scend23, label %sc22 sc22: %t87 = load ptr, ptr %t2 %t88 = getelementptr inbounds %Cmp_Val, ptr %t87, i32 0, i32 1 %t89 = load ptr, ptr %t88 %t90 = call i32 @lp_str_eq(ptr %t89, ptr @.str14788) %t91 = icmp ne i32 %t90, 0 %t92 = zext i1 %t91 to i32 store i32 %t92, ptr %t86 br i1 %t91, label %sc24, label %scend25 sc24: %t93 = load ptr, ptr %t1 %t94 = getelementptr inbounds %Cmp_Val, ptr %t93, i32 0, i32 1 %t95 = load ptr, ptr %t94 %t96 = call ptr @fn_llty(ptr %t95) %t97 = call i32 @lp_str_eq(ptr %t96, ptr @.str14789) %t98 = icmp ne i32 %t97, 0 %t99 = zext i1 %t98 to i32 store i32 %t99, ptr %t86 br label %scend25 scend25: %t100 = load i32, ptr %t86 %t101 = icmp ne i32 %t100, 0 %t102 = zext i1 %t101 to i32 store i32 %t102, ptr %t68 br label %scend23 scend23: %t103 = load i32, ptr %t68 %t104 = icmp ne i32 %t103, 0 br i1 %t104, label %then26, label %ifend28 then26: %t105 = load ptr, ptr %t1 %t106 = getelementptr inbounds %Cmp_Val, ptr %t105, i32 0, i32 1 %t107 = load ptr, ptr %t106 store i32 8062, ptr @lp_site %t108 = call ptr @lp_str_concat(ptr @.str14790, ptr %t107) store i32 0, ptr @lp_site store i32 8063, ptr @lp_site %t109 = call ptr @lp_str_concat(ptr %t108, ptr @.str14792) store i32 0, ptr @lp_site call void @lp_free(ptr %t108) %t110 = load ptr, ptr %t2 %t111 = getelementptr inbounds %Cmp_Val, ptr %t110, i32 0, i32 1 %t112 = load ptr, ptr %t111 store i32 8064, ptr @lp_site %t113 = call ptr @lp_str_concat(ptr %t109, ptr %t112) store i32 0, ptr @lp_site call void @lp_free(ptr %t109) store i32 8065, ptr @lp_site %t114 = call ptr @lp_str_concat(ptr %t113, ptr @.str14793) store i32 0, ptr @lp_site call void @lp_free(ptr %t113) %t115 = load ptr, ptr %t0 store i32 8066, ptr @lp_site %t116 = call ptr @lp_str_concat(ptr %t114, ptr %t115) store i32 0, ptr @lp_site call void @lp_free(ptr %t114) store i32 8067, ptr @lp_site %t117 = call ptr @lp_str_concat(ptr %t116, ptr @.str14794) store i32 0, ptr @lp_site call void @lp_free(ptr %t116) call void @fn_perr(ptr %t117) br label %ifend28 ifend28: br label %ifend14 ifend14: br label %ifend4 ifend4: %t119 = load ptr, ptr %t1 %t120 = getelementptr inbounds %Cmp_Val, ptr %t119, i32 0, i32 1 %t121 = load ptr, ptr %t120 %t122 = call i32 @lp_str_eq(ptr %t121, ptr @.str14795) %t123 = icmp ne i32 %t122, 0 %t124 = zext i1 %t123 to i32 store i32 %t124, ptr %t118 br i1 %t123, label %scend30, label %sc29 sc29: %t125 = load ptr, ptr %t2 %t126 = getelementptr inbounds %Cmp_Val, ptr %t125, i32 0, i32 1 %t127 = load ptr, ptr %t126 %t128 = call i32 @lp_str_eq(ptr %t127, ptr @.str14796) %t129 = icmp ne i32 %t128, 0 %t130 = zext i1 %t129 to i32 store i32 %t130, ptr %t118 br label %scend30 scend30: %t131 = load i32, ptr %t118 store i32 %t131, ptr %t132 %t136 = load ptr, ptr %t1 %t137 = getelementptr inbounds %Cmp_Val, ptr %t136, i32 0, i32 1 %t138 = load ptr, ptr %t137 %t139 = call ptr @fn_llty(ptr %t138) %t140 = call i32 @lp_str_eq(ptr %t139, ptr @.str14797) %t141 = icmp ne i32 %t140, 0 %t142 = zext i1 %t141 to i32 store i32 %t142, ptr %t135 br i1 %t141, label %scend32, label %sc31 sc31: %t143 = load ptr, ptr %t2 %t144 = getelementptr inbounds %Cmp_Val, ptr %t143, i32 0, i32 1 %t145 = load ptr, ptr %t144 %t146 = call ptr @fn_llty(ptr %t145) %t147 = call i32 @lp_str_eq(ptr %t146, ptr @.str14798) %t148 = icmp ne i32 %t147, 0 %t149 = zext i1 %t148 to i32 store i32 %t149, ptr %t135 br label %scend32 scend32: %t150 = load i32, ptr %t135 %t151 = icmp ne i32 %t150, 0 %t152 = zext i1 %t151 to i32 store i32 %t152, ptr %t134 br i1 %t151, label %sc33, label %scend34 sc33: %t153 = load i32, ptr %t132 %t154 = icmp eq i32 %t153, 0 %t155 = zext i1 %t154 to i32 %t156 = icmp ne i32 %t155, 0 %t157 = zext i1 %t156 to i32 store i32 %t157, ptr %t134 br label %scend34 scend34: %t158 = load i32, ptr %t134 %t159 = icmp ne i32 %t158, 0 %t160 = zext i1 %t159 to i32 store i32 %t160, ptr %t133 br i1 %t159, label %sc35, label %scend36 sc35: %t161 = load i32, ptr %t20 %t162 = icmp eq i32 %t161, 0 %t163 = zext i1 %t162 to i32 %t164 = icmp ne i32 %t163, 0 %t165 = zext i1 %t164 to i32 store i32 %t165, ptr %t133 br label %scend36 scend36: %t166 = load i32, ptr %t133 store i32 %t166, ptr %t167 %t169 = load ptr, ptr %t1 %t170 = getelementptr inbounds %Cmp_Val, ptr %t169, i32 0, i32 1 %t171 = load ptr, ptr %t170 %t172 = call i32 @fn_is_fp(ptr %t171) %t173 = icmp ne i32 %t172, 0 %t174 = zext i1 %t173 to i32 store i32 %t174, ptr %t168 br i1 %t173, label %scend38, label %sc37 sc37: %t175 = load ptr, ptr %t2 %t176 = getelementptr inbounds %Cmp_Val, ptr %t175, i32 0, i32 1 %t177 = load ptr, ptr %t176 %t178 = call i32 @fn_is_fp(ptr %t177) %t179 = icmp ne i32 %t178, 0 %t180 = zext i1 %t179 to i32 store i32 %t180, ptr %t168 br label %scend38 scend38: %t181 = load i32, ptr %t168 %t182 = icmp ne i32 %t181, 0 br i1 %t182, label %then39, label %ifend41 then39: %t183 = load ptr, ptr %t0 %t184 = load ptr, ptr %t1 %t185 = load ptr, ptr %t2 %t186 = call ptr @fn_emit_fp_bin(ptr %t183, ptr %t184, ptr %t185) store ptr %t186, ptr %retval br label %ret ifend41: %t187 = load ptr, ptr %t0 %t188 = call i32 @fn_is_cmp(ptr %t187) %t189 = icmp ne i32 %t188, 0 br i1 %t189, label %then42, label %ifend44 then42: %t190 = load ptr, ptr %t1 %t191 = getelementptr inbounds %Cmp_Val, ptr %t190, i32 0, i32 0 %t192 = load ptr, ptr %t191 store ptr %t192, ptr %t193 %t194 = load ptr, ptr %t2 %t195 = getelementptr inbounds %Cmp_Val, ptr %t194, i32 0, i32 0 %t196 = load ptr, ptr %t195 store ptr %t196, ptr %t197 store ptr @.str14799, ptr %t198 %t199 = load i32, ptr %t132 %t200 = icmp ne i32 %t199, 0 br i1 %t200, label %then45, label %else46 then45: %t201 = load ptr, ptr %t1 %t202 = call ptr @fn_to_fixed(ptr %t201) store ptr %t202, ptr %t193 %t203 = load ptr, ptr %t2 %t204 = call ptr @fn_to_fixed(ptr %t203) store ptr %t204, ptr %t197 br label %ifend47 else46: %t205 = load i32, ptr %t167 %t206 = icmp ne i32 %t205, 0 br i1 %t206, label %then48, label %else49 then48: store ptr @.str14800, ptr %t198 %t207 = load ptr, ptr %t1 %t208 = call ptr @fn_to_long(ptr %t207) store ptr %t208, ptr %t193 %t209 = load ptr, ptr %t2 %t210 = call ptr @fn_to_long(ptr %t209) store ptr %t210, ptr %t197 br label %ifend50 else49: %t212 = load ptr, ptr %t1 %t213 = getelementptr inbounds %Cmp_Val, ptr %t212, i32 0, i32 1 %t214 = load ptr, ptr %t213 %t215 = call ptr @fn_llty(ptr %t214) %t216 = call i32 @lp_str_eq(ptr %t215, ptr @.str14801) %t217 = icmp ne i32 %t216, 0 %t218 = zext i1 %t217 to i32 store i32 %t218, ptr %t211 br i1 %t217, label %scend52, label %sc51 sc51: %t219 = load ptr, ptr %t2 %t220 = getelementptr inbounds %Cmp_Val, ptr %t219, i32 0, i32 1 %t221 = load ptr, ptr %t220 %t222 = call ptr @fn_llty(ptr %t221) %t223 = call i32 @lp_str_eq(ptr %t222, ptr @.str14802) %t224 = icmp ne i32 %t223, 0 %t225 = zext i1 %t224 to i32 store i32 %t225, ptr %t211 br label %scend52 scend52: %t226 = load i32, ptr %t211 %t227 = icmp ne i32 %t226, 0 br i1 %t227, label %then53, label %ifend55 then53: store ptr @.str14803, ptr %t198 br label %ifend55 ifend55: br label %ifend50 ifend50: br label %ifend47 ifend47: %t228 = load ptr, ptr %t0 %t229 = call ptr @fn_cmp_code(ptr %t228) store i32 8068, ptr @lp_site %t230 = call ptr @lp_str_concat(ptr @.str14804, ptr %t229) store i32 0, ptr @lp_site store i32 8069, ptr @lp_site %t231 = call ptr @lp_str_concat(ptr %t230, ptr @.str14805) store i32 0, ptr @lp_site call void @lp_free(ptr %t230) %t232 = load ptr, ptr %t198 store i32 8070, ptr @lp_site %t233 = call ptr @lp_str_concat(ptr %t231, ptr %t232) store i32 0, ptr @lp_site call void @lp_free(ptr %t231) store i32 8071, ptr @lp_site %t234 = call ptr @lp_str_concat(ptr %t233, ptr @.str14806) store i32 0, ptr @lp_site call void @lp_free(ptr %t233) %t235 = load ptr, ptr %t193 store i32 8072, ptr @lp_site %t236 = call ptr @lp_str_concat(ptr %t234, ptr %t235) store i32 0, ptr @lp_site call void @lp_free(ptr %t234) store i32 8073, ptr @lp_site %t237 = call ptr @lp_str_concat(ptr %t236, ptr @.str14807) store i32 0, ptr @lp_site call void @lp_free(ptr %t236) %t238 = load ptr, ptr %t197 store i32 8074, ptr @lp_site %t239 = call ptr @lp_str_concat(ptr %t237, ptr %t238) store i32 0, ptr @lp_site call void @lp_free(ptr %t237) %t240 = call ptr @fn_emit_bind(ptr %t239) store ptr %t240, ptr %t241 %t242 = load ptr, ptr %t241 store i32 8075, ptr @lp_site %t243 = call ptr @lp_str_concat(ptr @.str14808, ptr %t242) store i32 0, ptr @lp_site store i32 8076, ptr @lp_site %t244 = call ptr @lp_str_concat(ptr %t243, ptr @.str14809) store i32 0, ptr @lp_site call void @lp_free(ptr %t243) %t245 = call ptr @fn_emit_bind(ptr %t244) %t246 = call ptr @fn_val(ptr %t245, ptr @.str14810) store ptr %t246, ptr %retval br label %ret ifend44: %t247 = load i32, ptr %t167 %t248 = icmp ne i32 %t247, 0 br i1 %t248, label %then56, label %ifend58 then56: %t249 = load ptr, ptr %t1 %t250 = call ptr @fn_to_long(ptr %t249) store ptr %t250, ptr %t251 %t252 = load ptr, ptr %t2 %t253 = call ptr @fn_to_long(ptr %t252) store ptr %t253, ptr %t254 %t255 = load ptr, ptr %t0 %t256 = call ptr @fn_arith_code(ptr %t255) store i32 8077, ptr @lp_site %t257 = call ptr @lp_str_concat(ptr %t256, ptr @.str14811) store i32 0, ptr @lp_site %t258 = load ptr, ptr %t251 store i32 8078, ptr @lp_site %t259 = call ptr @lp_str_concat(ptr %t257, ptr %t258) store i32 0, ptr @lp_site call void @lp_free(ptr %t257) store i32 8079, ptr @lp_site %t260 = call ptr @lp_str_concat(ptr %t259, ptr @.str14812) store i32 0, ptr @lp_site call void @lp_free(ptr %t259) %t261 = load ptr, ptr %t254 store i32 8080, ptr @lp_site %t262 = call ptr @lp_str_concat(ptr %t260, ptr %t261) store i32 0, ptr @lp_site call void @lp_free(ptr %t260) %t263 = call ptr @fn_emit_bind(ptr %t262) %t264 = call ptr @fn_val(ptr %t263, ptr @.str14813) store ptr %t264, ptr %retval br label %ret ifend58: %t265 = load i32, ptr %t132 %t266 = icmp ne i32 %t265, 0 br i1 %t266, label %then59, label %ifend61 then59: %t267 = load ptr, ptr %t1 %t268 = call ptr @fn_to_fixed(ptr %t267) store ptr %t268, ptr %t269 %t270 = load ptr, ptr %t2 %t271 = call ptr @fn_to_fixed(ptr %t270) store ptr %t271, ptr %t272 %t273 = load ptr, ptr %t0 %t274 = call i32 @lp_str_eq(ptr %t273, ptr @.str14814) %t275 = icmp ne i32 %t274, 0 br i1 %t275, label %then62, label %ifend64 then62: %t276 = load ptr, ptr %t269 store i32 8081, ptr @lp_site %t277 = call ptr @lp_str_concat(ptr @.str14815, ptr %t276) store i32 0, ptr @lp_site store i32 8082, ptr @lp_site %t278 = call ptr @lp_str_concat(ptr %t277, ptr @.str14816) store i32 0, ptr @lp_site call void @lp_free(ptr %t277) %t279 = call ptr @fn_emit_bind(ptr %t278) store ptr %t279, ptr %t280 %t281 = load ptr, ptr %t272 store i32 8083, ptr @lp_site %t282 = call ptr @lp_str_concat(ptr @.str14817, ptr %t281) store i32 0, ptr @lp_site store i32 8084, ptr @lp_site %t283 = call ptr @lp_str_concat(ptr %t282, ptr @.str14818) store i32 0, ptr @lp_site call void @lp_free(ptr %t282) %t284 = call ptr @fn_emit_bind(ptr %t283) store ptr %t284, ptr %t285 %t286 = load ptr, ptr %t280 store i32 8085, ptr @lp_site %t287 = call ptr @lp_str_concat(ptr @.str14819, ptr %t286) store i32 0, ptr @lp_site store i32 8086, ptr @lp_site %t288 = call ptr @lp_str_concat(ptr %t287, ptr @.str14820) store i32 0, ptr @lp_site call void @lp_free(ptr %t287) %t289 = load ptr, ptr %t285 store i32 8087, ptr @lp_site %t290 = call ptr @lp_str_concat(ptr %t288, ptr %t289) store i32 0, ptr @lp_site call void @lp_free(ptr %t288) %t291 = call ptr @fn_emit_bind(ptr %t290) store ptr %t291, ptr %t292 %t293 = load ptr, ptr %t292 store i32 8088, ptr @lp_site %t294 = call ptr @lp_str_concat(ptr @.str14821, ptr %t293) store i32 0, ptr @lp_site store i32 8089, ptr @lp_site %t295 = call ptr @lp_str_concat(ptr %t294, ptr @.str14822) store i32 0, ptr @lp_site call void @lp_free(ptr %t294) %t296 = call ptr @fn_emit_bind(ptr %t295) store ptr %t296, ptr %t297 %t298 = load ptr, ptr %t297 store i32 8090, ptr @lp_site %t299 = call ptr @lp_str_concat(ptr @.str14823, ptr %t298) store i32 0, ptr @lp_site store i32 8091, ptr @lp_site %t300 = call ptr @lp_str_concat(ptr %t299, ptr @.str14824) store i32 0, ptr @lp_site call void @lp_free(ptr %t299) %t301 = call ptr @fn_emit_bind(ptr %t300) %t302 = call ptr @fn_val(ptr %t301, ptr @.str14825) store ptr %t302, ptr %retval br label %ret ifend64: %t303 = load ptr, ptr %t0 %t304 = call i32 @lp_str_eq(ptr %t303, ptr @.str14826) %t305 = icmp ne i32 %t304, 0 br i1 %t305, label %then65, label %ifend67 then65: %t306 = load ptr, ptr %t269 store i32 8092, ptr @lp_site %t307 = call ptr @lp_str_concat(ptr @.str14827, ptr %t306) store i32 0, ptr @lp_site store i32 8093, ptr @lp_site %t308 = call ptr @lp_str_concat(ptr %t307, ptr @.str14828) store i32 0, ptr @lp_site call void @lp_free(ptr %t307) %t309 = call ptr @fn_emit_bind(ptr %t308) store ptr %t309, ptr %t310 %t311 = load ptr, ptr %t310 store i32 8094, ptr @lp_site %t312 = call ptr @lp_str_concat(ptr @.str14829, ptr %t311) store i32 0, ptr @lp_site store i32 8095, ptr @lp_site %t313 = call ptr @lp_str_concat(ptr %t312, ptr @.str14830) store i32 0, ptr @lp_site call void @lp_free(ptr %t312) %t314 = call ptr @fn_emit_bind(ptr %t313) store ptr %t314, ptr %t315 %t316 = load ptr, ptr %t272 store i32 8096, ptr @lp_site %t317 = call ptr @lp_str_concat(ptr @.str14831, ptr %t316) store i32 0, ptr @lp_site store i32 8097, ptr @lp_site %t318 = call ptr @lp_str_concat(ptr %t317, ptr @.str14832) store i32 0, ptr @lp_site call void @lp_free(ptr %t317) %t319 = call ptr @fn_emit_bind(ptr %t318) store ptr %t319, ptr %t320 %t321 = load ptr, ptr %t315 store i32 8098, ptr @lp_site %t322 = call ptr @lp_str_concat(ptr @.str14833, ptr %t321) store i32 0, ptr @lp_site store i32 8099, ptr @lp_site %t323 = call ptr @lp_str_concat(ptr %t322, ptr @.str14834) store i32 0, ptr @lp_site call void @lp_free(ptr %t322) %t324 = load ptr, ptr %t320 store i32 8100, ptr @lp_site %t325 = call ptr @lp_str_concat(ptr %t323, ptr %t324) store i32 0, ptr @lp_site call void @lp_free(ptr %t323) %t326 = call ptr @fn_emit_bind(ptr %t325) store ptr %t326, ptr %t327 %t328 = load ptr, ptr %t327 store i32 8101, ptr @lp_site %t329 = call ptr @lp_str_concat(ptr @.str14835, ptr %t328) store i32 0, ptr @lp_site store i32 8102, ptr @lp_site %t330 = call ptr @lp_str_concat(ptr %t329, ptr @.str14836) store i32 0, ptr @lp_site call void @lp_free(ptr %t329) %t331 = call ptr @fn_emit_bind(ptr %t330) %t332 = call ptr @fn_val(ptr %t331, ptr @.str14837) store ptr %t332, ptr %retval br label %ret ifend67: %t333 = load ptr, ptr %t0 %t334 = call ptr @fn_arith_code(ptr %t333) store i32 8103, ptr @lp_site %t335 = call ptr @lp_str_concat(ptr %t334, ptr @.str14838) store i32 0, ptr @lp_site %t336 = load ptr, ptr %t269 store i32 8104, ptr @lp_site %t337 = call ptr @lp_str_concat(ptr %t335, ptr %t336) store i32 0, ptr @lp_site call void @lp_free(ptr %t335) store i32 8105, ptr @lp_site %t338 = call ptr @lp_str_concat(ptr %t337, ptr @.str14839) store i32 0, ptr @lp_site call void @lp_free(ptr %t337) %t339 = load ptr, ptr %t272 store i32 8106, ptr @lp_site %t340 = call ptr @lp_str_concat(ptr %t338, ptr %t339) store i32 0, ptr @lp_site call void @lp_free(ptr %t338) %t341 = call ptr @fn_emit_bind(ptr %t340) store ptr %t341, ptr %t342 %t343 = load ptr, ptr %t342 %t344 = call ptr @fn_val(ptr %t343, ptr @.str14840) store ptr %t344, ptr %retval br label %ret ifend61: %t345 = load ptr, ptr %t0 %t346 = call ptr @fn_arith_code(ptr %t345) store i32 8107, ptr @lp_site %t347 = call ptr @lp_str_concat(ptr %t346, ptr @.str14841) store i32 0, ptr @lp_site %t348 = load ptr, ptr %t1 %t349 = getelementptr inbounds %Cmp_Val, ptr %t348, i32 0, i32 0 %t350 = load ptr, ptr %t349 store i32 8108, ptr @lp_site %t351 = call ptr @lp_str_concat(ptr %t347, ptr %t350) store i32 0, ptr @lp_site call void @lp_free(ptr %t347) store i32 8109, ptr @lp_site %t352 = call ptr @lp_str_concat(ptr %t351, ptr @.str14842) store i32 0, ptr @lp_site call void @lp_free(ptr %t351) %t353 = load ptr, ptr %t2 %t354 = getelementptr inbounds %Cmp_Val, ptr %t353, i32 0, i32 0 %t355 = load ptr, ptr %t354 store i32 8110, ptr @lp_site %t356 = call ptr @lp_str_concat(ptr %t352, ptr %t355) store i32 0, ptr @lp_site call void @lp_free(ptr %t352) %t357 = call ptr @fn_emit_bind(ptr %t356) store ptr %t357, ptr %t358 %t359 = load ptr, ptr %t358 %t360 = call ptr @fn_val(ptr %t359, ptr @.str14843) store ptr %t360, ptr %retval br label %ret ret: %t361 = load ptr, ptr %retval ret ptr %t361 } define i32 @fn_args_are_named(ptr %arg_e) { entry: %retval = alloca i32 %t0 = alloca ptr %t1 = alloca i32 store ptr %arg_e, ptr %t0 store i32 0, ptr %t1 br label %wcond0 wcond0: %t2 = load i32, ptr %t1 %t3 = load ptr, ptr %t0 %t4 = getelementptr inbounds %Cmp_Node, ptr %t3, i32 0, i32 7 %t5 = load ptr, ptr %t4 %t6 = getelementptr inbounds %LSlice, ptr %t5, i32 0, i32 1 %t7 = load i32, ptr %t6 %t8 = icmp slt i32 %t2, %t7 %t9 = zext i1 %t8 to i32 %t10 = icmp ne i32 %t9, 0 br i1 %t10, label %wbody1, label %wend2 wbody1: %t11 = load ptr, ptr %t0 %t12 = getelementptr inbounds %Cmp_Node, ptr %t11, i32 0, i32 7 %t13 = load ptr, ptr %t12 %t14 = load i32, ptr %t1 %t15 = getelementptr inbounds %LSlice, ptr %t13, i32 0, i32 0 %t16 = load ptr, ptr %t15 %t17 = getelementptr inbounds %LSlice, ptr %t13, i32 0, i32 1 %t18 = load i32, ptr %t17 %t19 = icmp ult i32 %t14, %t18 br i1 %t19, label %ixok3, label %ixbad4 ixbad4: store i32 8111, ptr @lp_site %t20 = call ptr @lp_win_stdio(i32 2) store i32 0, ptr @lp_site call i32 (ptr, ptr, ...) @fprintf(ptr %t20, ptr @.fmt_bounds, ptr @.str14844, i32 %t14, i32 %t18) call void @exit(i32 1) unreachable ixok3: %t21 = getelementptr inbounds ptr, ptr %t16, i32 %t14 %t22 = load ptr, ptr %t21 %t23 = getelementptr inbounds %Cmp_Node, ptr %t22, i32 0, i32 0 %t24 = load i32, ptr %t23 %t25 = icmp eq i32 %t24, 42 %t26 = zext i1 %t25 to i32 %t27 = icmp ne i32 %t26, 0 br i1 %t27, label %then5, label %ifend7 then5: store i32 1, ptr %retval br label %ret ifend7: %t28 = load i32, ptr %t1 %t29 = add i32 %t28, 1 store i32 %t29, ptr %t1 br label %wcond0 wend2: store i32 0, ptr %retval br label %ret ret: %t30 = load i32, ptr %retval ret i32 %t30 } define void @fn_reorder_named(ptr %arg_e, ptr %arg_labels) { entry: %t0 = alloca ptr %t1 = alloca ptr %t7 = alloca i32 %t53 = alloca ptr %t54 = alloca i32 %t62 = alloca ptr %t63 = 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 = load i32, ptr %t7 %t21 = getelementptr inbounds %LSlice, ptr %t19, i32 0, i32 0 %t22 = load ptr, ptr %t21 %t23 = getelementptr inbounds %LSlice, ptr %t19, i32 0, i32 1 %t24 = load i32, ptr %t23 %t25 = icmp ult i32 %t20, %t24 br i1 %t25, label %ixok6, label %ixbad7 ixbad7: store i32 8112, ptr @lp_site %t26 = call ptr @lp_win_stdio(i32 2) store i32 0, ptr @lp_site call i32 (ptr, ptr, ...) @fprintf(ptr %t26, ptr @.fmt_bounds, ptr @.str14846, i32 %t20, i32 %t24) call void @exit(i32 1) unreachable ixok6: %t27 = getelementptr inbounds ptr, ptr %t22, i32 %t20 %t28 = load ptr, ptr %t27 %t29 = getelementptr inbounds %Cmp_Node, ptr %t28, i32 0, i32 0 %t30 = load i32, ptr %t29 %t31 = icmp ne i32 %t30, 42 %t32 = zext i1 %t31 to i32 %t33 = icmp ne i32 %t32, 0 br i1 %t33, label %then8, label %ifend10 then8: call void @fn_perr(ptr @.str14848) br label %ifend10 ifend10: %t34 = load i32, ptr %t7 %t35 = add i32 %t34, 1 store i32 %t35, ptr %t7 br label %wcond3 wend5: %t36 = load ptr, ptr %t0 %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 = load ptr, ptr %t1 %t42 = getelementptr inbounds %LSlice, ptr %t41, i32 0, i32 1 %t43 = load i32, ptr %t42 %t44 = icmp ne i32 %t40, %t43 %t45 = zext i1 %t44 to i32 %t46 = icmp ne i32 %t45, 0 br i1 %t46, label %then11, label %ifend13 then11: call void @fn_perr(ptr @.str14849) br label %ifend13 ifend13: %t47 = getelementptr %LSlice, ptr null, i32 1 %t48 = ptrtoint ptr %t47 to i64 store i32 8113, ptr @lp_site %t49 = call ptr @lp_malloc(i64 %t48) store i32 0, ptr @lp_site %t50 = getelementptr inbounds %LSlice, ptr %t49, i32 0, i32 0 store ptr null, ptr %t50 %t51 = getelementptr inbounds %LSlice, ptr %t49, i32 0, i32 1 store i32 0, ptr %t51 %t52 = getelementptr inbounds %LSlice, ptr %t49, i32 0, i32 2 store i32 0, ptr %t52 store ptr %t49, ptr %t53 store i32 0, ptr %t54 br label %wcond14 wcond14: %t55 = load i32, ptr %t54 %t56 = load ptr, ptr %t1 %t57 = getelementptr inbounds %LSlice, ptr %t56, i32 0, i32 1 %t58 = load i32, ptr %t57 %t59 = icmp slt i32 %t55, %t58 %t60 = zext i1 %t59 to i32 %t61 = icmp ne i32 %t60, 0 br i1 %t61, label %wbody15, label %wend16 wbody15: store ptr null, ptr %t62 store i32 0, ptr %t63 br label %wcond17 wcond17: %t64 = load i32, ptr %t63 %t65 = load ptr, ptr %t0 %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 1 %t69 = load i32, ptr %t68 %t70 = icmp slt i32 %t64, %t69 %t71 = zext i1 %t70 to i32 %t72 = icmp ne i32 %t71, 0 br i1 %t72, label %wbody18, label %wend19 wbody18: %t73 = load ptr, ptr %t0 %t74 = getelementptr inbounds %Cmp_Node, ptr %t73, i32 0, i32 7 %t75 = load ptr, ptr %t74 %t76 = load i32, ptr %t63 %t77 = getelementptr inbounds %LSlice, ptr %t75, i32 0, i32 0 %t78 = load ptr, ptr %t77 %t79 = getelementptr inbounds %LSlice, ptr %t75, i32 0, i32 1 %t80 = load i32, ptr %t79 %t81 = icmp ult i32 %t76, %t80 br i1 %t81, label %ixok20, label %ixbad21 ixbad21: store i32 8114, ptr @lp_site %t82 = call ptr @lp_win_stdio(i32 2) store i32 0, ptr @lp_site call i32 (ptr, ptr, ...) @fprintf(ptr %t82, ptr @.fmt_bounds, ptr @.str14850, i32 %t76, i32 %t80) call void @exit(i32 1) unreachable ixok20: %t83 = getelementptr inbounds ptr, ptr %t78, i32 %t76 %t84 = load ptr, ptr %t83 %t85 = getelementptr inbounds %Cmp_Node, ptr %t84, i32 0, i32 1 %t86 = load ptr, ptr %t85 %t87 = load ptr, ptr %t1 %t88 = load i32, ptr %t54 %t89 = getelementptr inbounds %LSlice, ptr %t87, i32 0, i32 0 %t90 = load ptr, ptr %t89 %t91 = getelementptr inbounds %LSlice, ptr %t87, i32 0, i32 1 %t92 = load i32, ptr %t91 %t93 = icmp ult i32 %t88, %t92 br i1 %t93, label %ixok22, label %ixbad23 ixbad23: store i32 8115, ptr @lp_site %t94 = call ptr @lp_win_stdio(i32 2) store i32 0, ptr @lp_site call i32 (ptr, ptr, ...) @fprintf(ptr %t94, ptr @.fmt_bounds, ptr @.str14851, i32 %t88, i32 %t92) call void @exit(i32 1) unreachable ixok22: %t95 = getelementptr inbounds ptr, ptr %t90, i32 %t88 %t96 = load ptr, ptr %t95 %t97 = call i32 @lp_str_eq(ptr %t86, ptr %t96) %t98 = icmp ne i32 %t97, 0 br i1 %t98, label %then24, label %ifend26 then24: %t99 = load ptr, ptr %t0 %t100 = getelementptr inbounds %Cmp_Node, ptr %t99, i32 0, i32 7 %t101 = load ptr, ptr %t100 %t102 = load i32, ptr %t63 %t103 = getelementptr inbounds %LSlice, ptr %t101, i32 0, i32 0 %t104 = load ptr, ptr %t103 %t105 = getelementptr inbounds %LSlice, ptr %t101, i32 0, i32 1 %t106 = load i32, ptr %t105 %t107 = icmp ult i32 %t102, %t106 br i1 %t107, label %ixok27, label %ixbad28 ixbad28: store i32 8116, ptr @lp_site %t108 = call ptr @lp_win_stdio(i32 2) store i32 0, ptr @lp_site call i32 (ptr, ptr, ...) @fprintf(ptr %t108, ptr @.fmt_bounds, ptr @.str14852, i32 %t102, i32 %t106) call void @exit(i32 1) unreachable ixok27: %t109 = getelementptr inbounds ptr, ptr %t104, i32 %t102 %t110 = load ptr, ptr %t109 store ptr %t110, ptr %t62 br label %ifend26 ifend26: %t111 = load i32, ptr %t63 %t112 = add i32 %t111, 1 store i32 %t112, ptr %t63 br label %wcond17 wend19: %t113 = load ptr, ptr %t62 %t114 = icmp eq ptr %t113, null %t115 = zext i1 %t114 to i32 %t116 = icmp ne i32 %t115, 0 br i1 %t116, label %then29, label %ifend31 then29: %t117 = load ptr, ptr %t1 %t118 = load i32, ptr %t54 %t119 = getelementptr inbounds %LSlice, ptr %t117, i32 0, i32 0 %t120 = load ptr, ptr %t119 %t121 = getelementptr inbounds %LSlice, ptr %t117, i32 0, i32 1 %t122 = load i32, ptr %t121 %t123 = icmp ult i32 %t118, %t122 br i1 %t123, label %ixok32, label %ixbad33 ixbad33: store i32 8117, ptr @lp_site %t124 = call ptr @lp_win_stdio(i32 2) store i32 0, ptr @lp_site call i32 (ptr, ptr, ...) @fprintf(ptr %t124, ptr @.fmt_bounds, ptr @.str14854, i32 %t118, i32 %t122) call void @exit(i32 1) unreachable ixok32: %t125 = getelementptr inbounds ptr, ptr %t120, i32 %t118 %t126 = load ptr, ptr %t125 store i32 8118, ptr @lp_site %t127 = call ptr @lp_str_concat(ptr @.str14853, ptr %t126) store i32 0, ptr @lp_site call void @fn_perr(ptr %t127) br label %ifend31 ifend31: %t128 = load ptr, ptr %t53 %t129 = load ptr, ptr %t62 %t130 = getelementptr inbounds %Cmp_Node, ptr %t129, i32 0, i32 4 %t131 = load ptr, ptr %t130 %t132 = getelementptr inbounds %LSlice, ptr %t128, i32 0, i32 1 %t133 = getelementptr inbounds %LSlice, ptr %t128, i32 0, i32 2 %t134 = getelementptr inbounds %LSlice, ptr %t128, i32 0, i32 0 %t135 = load i32, ptr %t132 %t136 = load i32, ptr %t133 %t137 = icmp sge i32 %t135, %t136 br i1 %t137, label %grow34, label %put35 grow34: %t138 = mul i32 %t136, 2 %t139 = icmp eq i32 %t136, 0 %t140 = select i1 %t139, i32 8, i32 %t138 %t141 = getelementptr ptr, ptr null, i32 1 %t142 = ptrtoint ptr %t141 to i64 %t143 = zext i32 %t140 to i64 %t144 = mul i64 %t143, %t142 %t145 = load ptr, ptr %t134 store i32 8119, ptr @lp_site %t146 = call ptr @lp_realloc(ptr %t145, i64 %t144) store i32 0, ptr @lp_site store ptr %t146, ptr %t134 store i32 %t140, ptr %t133 br label %put35 put35: %t147 = load ptr, ptr %t134 %t148 = getelementptr inbounds ptr, ptr %t147, i32 %t135 store ptr %t131, ptr %t148 %t149 = add i32 %t135, 1 store i32 %t149, ptr %t132 %t150 = load i32, ptr %t54 %t151 = add i32 %t150, 1 store i32 %t151, ptr %t54 br label %wcond14 wend16: %t152 = load ptr, ptr %t0 %t153 = getelementptr inbounds %Cmp_Node, ptr %t152, i32 0, i32 7 %t154 = load ptr, ptr %t53 store ptr %t154, ptr %t153 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 store i32 8120, ptr @lp_site %t3 = call ptr @lp_malloc(i64 %t2) store i32 0, ptr @lp_site %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 = load i32, ptr %t8 %t22 = getelementptr inbounds %LSlice, ptr %t20, i32 0, i32 0 %t23 = load ptr, ptr %t22 %t24 = getelementptr inbounds %LSlice, ptr %t20, i32 0, i32 1 %t25 = load i32, ptr %t24 %t26 = icmp ult i32 %t21, %t25 br i1 %t26, label %ixok3, label %ixbad4 ixbad4: store i32 8121, ptr @lp_site %t27 = call ptr @lp_win_stdio(i32 2) store i32 0, ptr @lp_site call i32 (ptr, ptr, ...) @fprintf(ptr %t27, ptr @.fmt_bounds, ptr @.str14856, i32 %t21, i32 %t25) call void @exit(i32 1) unreachable ixok3: %t28 = getelementptr inbounds ptr, ptr %t23, i32 %t21 %t29 = load ptr, ptr %t28 %t30 = getelementptr inbounds %Cmp_Node, ptr %t29, i32 0, i32 0 %t31 = load i32, ptr %t30 %t32 = icmp eq i32 %t31, 5 %t33 = zext i1 %t32 to i32 %t34 = icmp ne i32 %t33, 0 br i1 %t34, label %then5, label %ifend7 then5: %t35 = load ptr, ptr %t7 %t36 = load ptr, ptr %t0 %t37 = getelementptr inbounds %Cmp_Node, ptr %t36, i32 0, i32 7 %t38 = load ptr, ptr %t37 %t39 = load i32, ptr %t8 %t40 = getelementptr inbounds %LSlice, ptr %t38, i32 0, i32 0 %t41 = load ptr, ptr %t40 %t42 = getelementptr inbounds %LSlice, ptr %t38, i32 0, i32 1 %t43 = load i32, ptr %t42 %t44 = icmp ult i32 %t39, %t43 br i1 %t44, label %ixok8, label %ixbad9 ixbad9: store i32 8122, ptr @lp_site %t45 = call ptr @lp_win_stdio(i32 2) store i32 0, ptr @lp_site call i32 (ptr, ptr, ...) @fprintf(ptr %t45, ptr @.fmt_bounds, ptr @.str14857, i32 %t39, i32 %t43) call void @exit(i32 1) unreachable ixok8: %t46 = getelementptr inbounds ptr, ptr %t41, i32 %t39 %t47 = load ptr, ptr %t46 %t48 = getelementptr inbounds %Cmp_Node, ptr %t47, i32 0, i32 1 %t49 = load ptr, ptr %t48 %t50 = getelementptr inbounds %LSlice, ptr %t35, i32 0, i32 1 %t51 = getelementptr inbounds %LSlice, ptr %t35, i32 0, i32 2 %t52 = getelementptr inbounds %LSlice, ptr %t35, i32 0, i32 0 %t53 = load i32, ptr %t50 %t54 = load i32, ptr %t51 %t55 = icmp sge i32 %t53, %t54 br i1 %t55, label %grow10, label %put11 grow10: %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 store i32 8123, ptr @lp_site %t64 = call ptr @lp_realloc(ptr %t63, i64 %t62) store i32 0, ptr @lp_site store ptr %t64, ptr %t52 store i32 %t58, ptr %t51 br label %put11 put11: %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 %ifend7 ifend7: %t68 = load i32, ptr %t8 %t69 = add i32 %t68, 1 store i32 %t69, ptr %t8 br label %wcond0 wend2: %t70 = load ptr, ptr %t7 store ptr %t70, ptr %retval br label %ret ret: %t71 = load ptr, ptr %retval ret ptr %t71 } 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 store i32 8124, ptr @lp_site %t3 = call ptr @lp_malloc(i64 %t2) store i32 0, ptr @lp_site %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 = load i32, ptr %t8 %t22 = getelementptr inbounds %LSlice, ptr %t20, i32 0, i32 0 %t23 = load ptr, ptr %t22 %t24 = getelementptr inbounds %LSlice, ptr %t20, i32 0, i32 1 %t25 = load i32, ptr %t24 %t26 = icmp ult i32 %t21, %t25 br i1 %t26, label %ixok3, label %ixbad4 ixbad4: store i32 8125, ptr @lp_site %t27 = call ptr @lp_win_stdio(i32 2) store i32 0, ptr @lp_site call i32 (ptr, ptr, ...) @fprintf(ptr %t27, ptr @.fmt_bounds, ptr @.str14859, i32 %t21, i32 %t25) call void @exit(i32 1) unreachable ixok3: %t28 = getelementptr inbounds ptr, ptr %t23, i32 %t21 %t29 = load ptr, ptr %t28 %t30 = getelementptr inbounds %Cmp_Node, ptr %t29, i32 0, i32 0 %t31 = load i32, ptr %t30 %t32 = icmp eq i32 %t31, 5 %t33 = zext i1 %t32 to i32 %t34 = icmp ne i32 %t33, 0 br i1 %t34, label %then5, label %ifend7 then5: %t35 = load ptr, ptr %t7 %t36 = load ptr, ptr %t0 %t37 = getelementptr inbounds %Cmp_Node, ptr %t36, i32 0, i32 7 %t38 = load ptr, ptr %t37 %t39 = load i32, ptr %t8 %t40 = getelementptr inbounds %LSlice, ptr %t38, i32 0, i32 0 %t41 = load ptr, ptr %t40 %t42 = getelementptr inbounds %LSlice, ptr %t38, i32 0, i32 1 %t43 = load i32, ptr %t42 %t44 = icmp ult i32 %t39, %t43 br i1 %t44, label %ixok8, label %ixbad9 ixbad9: store i32 8126, ptr @lp_site %t45 = call ptr @lp_win_stdio(i32 2) store i32 0, ptr @lp_site call i32 (ptr, ptr, ...) @fprintf(ptr %t45, ptr @.fmt_bounds, ptr @.str14860, i32 %t39, i32 %t43) call void @exit(i32 1) unreachable ixok8: %t46 = getelementptr inbounds ptr, ptr %t41, i32 %t39 %t47 = load ptr, ptr %t46 %t48 = getelementptr inbounds %Cmp_Node, ptr %t47, i32 0, i32 3 %t49 = load ptr, ptr %t48 %t50 = getelementptr inbounds %LSlice, ptr %t35, i32 0, i32 1 %t51 = getelementptr inbounds %LSlice, ptr %t35, i32 0, i32 2 %t52 = getelementptr inbounds %LSlice, ptr %t35, i32 0, i32 0 %t53 = load i32, ptr %t50 %t54 = load i32, ptr %t51 %t55 = icmp sge i32 %t53, %t54 br i1 %t55, label %grow10, label %put11 grow10: %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 store i32 8127, ptr @lp_site %t64 = call ptr @lp_realloc(ptr %t63, i64 %t62) store i32 0, ptr @lp_site store ptr %t64, ptr %t52 store i32 %t58, ptr %t51 br label %put11 put11: %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 %ifend7 ifend7: %t68 = load i32, ptr %t8 %t69 = add i32 %t68, 1 store i32 %t69, ptr %t8 br label %wcond0 wend2: %t70 = load ptr, ptr %t7 store ptr %t70, ptr %retval br label %ret ret: %t71 = load ptr, ptr %retval ret ptr %t71 } 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 @.str14861) store ptr %t4, ptr %t5 %t6 = call ptr @fn_lbl(ptr @.str14862) store ptr %t6, ptr %t7 %t8 = load ptr, ptr %t0 store i32 8128, ptr @lp_site %t9 = call ptr @lp_str_concat(ptr @.str14863, ptr %t8) store i32 0, ptr @lp_site store i32 8129, ptr @lp_site %t10 = call ptr @lp_str_concat(ptr %t9, ptr @.str14865) store i32 0, ptr @lp_site call void @lp_free(ptr %t9) %t11 = load ptr, ptr %t5 store i32 8130, ptr @lp_site %t12 = call ptr @lp_str_concat(ptr %t10, ptr %t11) store i32 0, ptr @lp_site call void @lp_free(ptr %t10) store i32 8131, ptr @lp_site %t13 = call ptr @lp_str_concat(ptr %t12, ptr @.str14866) store i32 0, ptr @lp_site call void @lp_free(ptr %t12) %t14 = load ptr, ptr %t7 store i32 8132, ptr @lp_site %t15 = call ptr @lp_str_concat(ptr %t13, ptr %t14) store i32 0, ptr @lp_site call void @lp_free(ptr %t13) store i32 8133, ptr @lp_site %t16 = call ptr @lp_str_concat(ptr %t15, ptr @.str14867) store i32 0, ptr @lp_site call void @lp_free(ptr %t15) call void @fn_emit(ptr %t16) %t17 = load ptr, ptr %t7 store i32 8134, ptr @lp_site %t18 = call ptr @lp_str_concat(ptr %t17, ptr @.str14868) store i32 0, ptr @lp_site call void @fn_emit(ptr %t18) call void @fn_emit(ptr @.str14869) %t19 = load ptr, ptr %t2 %t20 = call i32 @lp_str_eq(ptr %t19, ptr @.str14870) %t21 = icmp ne i32 %t20, 0 br i1 %t21, label %then0, label %else1 then0: %t22 = load ptr, ptr %t1 store i32 8135, ptr @lp_site %t23 = call ptr @lp_str_concat(ptr @.str14871, ptr %t22) store i32 0, ptr @lp_site store i32 8136, ptr @lp_site %t24 = call ptr @lp_str_concat(ptr %t23, ptr @.str14872) store i32 0, ptr @lp_site call void @lp_free(ptr %t23) call void @fn_emit(ptr %t24) br label %ifend2 else1: %t25 = load ptr, ptr %t1 store i32 8137, ptr @lp_site %t26 = call ptr @lp_str_concat(ptr @.str14873, ptr %t25) store i32 0, ptr @lp_site store i32 8138, ptr @lp_site %t27 = call ptr @lp_str_concat(ptr %t26, ptr @.str14874) store i32 0, ptr @lp_site call void @lp_free(ptr %t26) %t28 = load ptr, ptr %t2 store i32 8139, ptr @lp_site %t29 = call ptr @lp_str_concat(ptr %t27, ptr %t28) store i32 0, ptr @lp_site call void @lp_free(ptr %t27) store i32 8140, ptr @lp_site %t30 = call ptr @lp_str_concat(ptr %t29, ptr @.str14875) store i32 0, ptr @lp_site call void @lp_free(ptr %t29) %t31 = load ptr, ptr %t3 store i32 8141, ptr @lp_site %t32 = call ptr @lp_str_concat(ptr %t30, ptr %t31) store i32 0, ptr @lp_site call void @lp_free(ptr %t30) store i32 8142, ptr @lp_site %t33 = call ptr @lp_str_concat(ptr %t32, ptr @.str14876) store i32 0, ptr @lp_site call void @lp_free(ptr %t32) call void @fn_emit(ptr %t33) br label %ifend2 ifend2: %t34 = load ptr, ptr %t5 store i32 8143, ptr @lp_site %t35 = call ptr @lp_str_concat(ptr @.str14877, ptr %t34) store i32 0, ptr @lp_site store i32 8144, ptr @lp_site %t36 = call ptr @lp_str_concat(ptr %t35, ptr @.str14878) store i32 0, ptr @lp_site call void @lp_free(ptr %t35) call void @fn_emit(ptr %t36) %t37 = load ptr, ptr %t5 store i32 8145, ptr @lp_site %t38 = call ptr @lp_str_concat(ptr %t37, ptr @.str14879) store i32 0, ptr @lp_site call void @fn_emit(ptr %t38) br label %ret ret: ret void } define ptr @fn_emit_expect_fp(ptr %arg_e, ptr %arg_a, ptr %arg_b, ptr %arg_tol) { entry: %retval = alloca ptr %t0 = alloca ptr %t1 = alloca ptr %t2 = alloca ptr %t3 = alloca ptr %t4 = alloca ptr %t5 = alloca i32 %t20 = alloca i32 %t37 = alloca ptr %t41 = alloca ptr %t42 = alloca ptr %t43 = alloca ptr %t60 = alloca ptr %t70 = alloca ptr %t77 = alloca ptr %t85 = alloca ptr %t101 = alloca ptr %t118 = alloca ptr %t120 = alloca ptr %t122 = alloca ptr %t135 = alloca ptr %t137 = alloca ptr store ptr %arg_e, ptr %t0 store ptr %arg_a, ptr %t1 store ptr %arg_b, ptr %t2 store ptr %arg_tol, ptr %t3 store i32 1, ptr @g_g_uses_expect_fp store ptr @.str14880, ptr %t4 %t6 = load ptr, ptr %t1 %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 @.str14881) %t10 = icmp ne i32 %t9, 0 %t11 = zext i1 %t10 to i32 store i32 %t11, ptr %t5 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 i32 @lp_str_eq(ptr %t14, ptr @.str14882) %t16 = icmp ne i32 %t15, 0 %t17 = zext i1 %t16 to i32 store i32 %t17, ptr %t5 br label %scend1 scend1: %t18 = load i32, ptr %t5 %t19 = icmp ne i32 %t18, 0 br i1 %t19, label %then2, label %ifend4 then2: store ptr @.str14883, ptr %t4 br label %ifend4 ifend4: %t21 = load ptr, ptr %t3 %t22 = icmp ne ptr %t21, null %t23 = zext i1 %t22 to i32 %t24 = icmp ne i32 %t23, 0 %t25 = zext i1 %t24 to i32 store i32 %t25, ptr %t20 br i1 %t24, label %sc5, label %scend6 sc5: %t26 = load ptr, ptr %t3 %t27 = getelementptr inbounds %Cmp_Val, ptr %t26, i32 0, i32 1 %t28 = load ptr, ptr %t27 %t29 = call i32 @lp_str_eq(ptr %t28, ptr @.str14884) %t30 = icmp ne i32 %t29, 0 %t31 = zext i1 %t30 to i32 store i32 %t31, ptr %t20 br label %scend6 scend6: %t32 = load i32, ptr %t20 %t33 = icmp ne i32 %t32, 0 br i1 %t33, label %then7, label %ifend9 then7: store ptr @.str14885, ptr %t4 br label %ifend9 ifend9: %t34 = load ptr, ptr %t1 %t35 = load ptr, ptr %t4 %t36 = call ptr @fn_to_fp(ptr %t34, ptr %t35, ptr @.str14886) store ptr %t36, ptr %t37 %t38 = load ptr, ptr %t2 %t39 = load ptr, ptr %t4 %t40 = call ptr @fn_to_fp(ptr %t38, ptr %t39, ptr @.str14887) store ptr %t40, ptr %t41 store ptr @.str14888, ptr %t42 store ptr @.str14889, ptr %t43 %t44 = load ptr, ptr %t3 %t45 = icmp eq ptr %t44, null %t46 = zext i1 %t45 to i32 %t47 = icmp ne i32 %t46, 0 br i1 %t47, label %then10, label %else11 then10: %t48 = load ptr, ptr %t4 store i32 8146, ptr @lp_site %t49 = call ptr @lp_str_concat(ptr @.str14890, ptr %t48) store i32 0, ptr @lp_site store i32 8147, ptr @lp_site %t50 = call ptr @lp_str_concat(ptr %t49, ptr @.str14892) store i32 0, ptr @lp_site call void @lp_free(ptr %t49) %t51 = load ptr, ptr %t37 store i32 8148, ptr @lp_site %t52 = call ptr @lp_str_concat(ptr %t50, ptr %t51) store i32 0, ptr @lp_site call void @lp_free(ptr %t50) store i32 8149, ptr @lp_site %t53 = call ptr @lp_str_concat(ptr %t52, ptr @.str14893) store i32 0, ptr @lp_site call void @lp_free(ptr %t52) %t54 = load ptr, ptr %t41 store i32 8150, ptr @lp_site %t55 = call ptr @lp_str_concat(ptr %t53, ptr %t54) store i32 0, ptr @lp_site call void @lp_free(ptr %t53) %t56 = call ptr @fn_emit_bind(ptr %t55) store ptr %t56, ptr %t42 br label %ifend12 else11: store ptr @.str14894, ptr %t43 %t57 = load ptr, ptr %t3 %t58 = load ptr, ptr %t4 %t59 = call ptr @fn_to_fp(ptr %t57, ptr %t58, ptr @.str14895) store ptr %t59, ptr %t60 %t61 = load ptr, ptr %t4 store i32 8151, ptr @lp_site %t62 = call ptr @lp_str_concat(ptr @.str14896, ptr %t61) store i32 0, ptr @lp_site store i32 8152, ptr @lp_site %t63 = call ptr @lp_str_concat(ptr %t62, ptr @.str14897) store i32 0, ptr @lp_site call void @lp_free(ptr %t62) %t64 = load ptr, ptr %t37 store i32 8153, ptr @lp_site %t65 = call ptr @lp_str_concat(ptr %t63, ptr %t64) store i32 0, ptr @lp_site call void @lp_free(ptr %t63) store i32 8154, ptr @lp_site %t66 = call ptr @lp_str_concat(ptr %t65, ptr @.str14898) store i32 0, ptr @lp_site call void @lp_free(ptr %t65) %t67 = load ptr, ptr %t41 store i32 8155, ptr @lp_site %t68 = call ptr @lp_str_concat(ptr %t66, ptr %t67) store i32 0, ptr @lp_site call void @lp_free(ptr %t66) %t69 = call ptr @fn_emit_bind(ptr %t68) store ptr %t69, ptr %t70 %t71 = load ptr, ptr %t4 store i32 8156, ptr @lp_site %t72 = call ptr @lp_str_concat(ptr @.str14899, ptr %t71) store i32 0, ptr @lp_site store i32 8157, ptr @lp_site %t73 = call ptr @lp_str_concat(ptr %t72, ptr @.str14900) store i32 0, ptr @lp_site call void @lp_free(ptr %t72) %t74 = load ptr, ptr %t70 store i32 8158, ptr @lp_site %t75 = call ptr @lp_str_concat(ptr %t73, ptr %t74) store i32 0, ptr @lp_site call void @lp_free(ptr %t73) %t76 = call ptr @fn_emit_bind(ptr %t75) store ptr %t76, ptr %t77 %t78 = load ptr, ptr %t4 store i32 8159, ptr @lp_site %t79 = call ptr @lp_str_concat(ptr @.str14901, ptr %t78) store i32 0, ptr @lp_site store i32 8160, ptr @lp_site %t80 = call ptr @lp_str_concat(ptr %t79, ptr @.str14902) store i32 0, ptr @lp_site call void @lp_free(ptr %t79) %t81 = load ptr, ptr %t70 store i32 8161, ptr @lp_site %t82 = call ptr @lp_str_concat(ptr %t80, ptr %t81) store i32 0, ptr @lp_site call void @lp_free(ptr %t80) store i32 8162, ptr @lp_site %t83 = call ptr @lp_str_concat(ptr %t82, ptr @.str14903) store i32 0, ptr @lp_site call void @lp_free(ptr %t82) %t84 = call ptr @fn_emit_bind(ptr %t83) store ptr %t84, ptr %t85 %t86 = load ptr, ptr %t85 store i32 8163, ptr @lp_site %t87 = call ptr @lp_str_concat(ptr @.str14904, ptr %t86) store i32 0, ptr @lp_site store i32 8164, ptr @lp_site %t88 = call ptr @lp_str_concat(ptr %t87, ptr @.str14905) store i32 0, ptr @lp_site call void @lp_free(ptr %t87) %t89 = load ptr, ptr %t4 store i32 8165, ptr @lp_site %t90 = call ptr @lp_str_concat(ptr %t88, ptr %t89) store i32 0, ptr @lp_site call void @lp_free(ptr %t88) store i32 8166, ptr @lp_site %t91 = call ptr @lp_str_concat(ptr %t90, ptr @.str14906) store i32 0, ptr @lp_site call void @lp_free(ptr %t90) %t92 = load ptr, ptr %t77 store i32 8167, ptr @lp_site %t93 = call ptr @lp_str_concat(ptr %t91, ptr %t92) store i32 0, ptr @lp_site call void @lp_free(ptr %t91) store i32 8168, ptr @lp_site %t94 = call ptr @lp_str_concat(ptr %t93, ptr @.str14907) store i32 0, ptr @lp_site call void @lp_free(ptr %t93) %t95 = load ptr, ptr %t4 store i32 8169, ptr @lp_site %t96 = call ptr @lp_str_concat(ptr %t94, ptr %t95) store i32 0, ptr @lp_site call void @lp_free(ptr %t94) store i32 8170, ptr @lp_site %t97 = call ptr @lp_str_concat(ptr %t96, ptr @.str14908) store i32 0, ptr @lp_site call void @lp_free(ptr %t96) %t98 = load ptr, ptr %t70 store i32 8171, ptr @lp_site %t99 = call ptr @lp_str_concat(ptr %t97, ptr %t98) store i32 0, ptr @lp_site call void @lp_free(ptr %t97) %t100 = call ptr @fn_emit_bind(ptr %t99) store ptr %t100, ptr %t101 %t102 = load ptr, ptr %t4 store i32 8172, ptr @lp_site %t103 = call ptr @lp_str_concat(ptr @.str14909, ptr %t102) store i32 0, ptr @lp_site store i32 8173, ptr @lp_site %t104 = call ptr @lp_str_concat(ptr %t103, ptr @.str14910) store i32 0, ptr @lp_site call void @lp_free(ptr %t103) %t105 = load ptr, ptr %t101 store i32 8174, ptr @lp_site %t106 = call ptr @lp_str_concat(ptr %t104, ptr %t105) store i32 0, ptr @lp_site call void @lp_free(ptr %t104) store i32 8175, ptr @lp_site %t107 = call ptr @lp_str_concat(ptr %t106, ptr @.str14911) store i32 0, ptr @lp_site call void @lp_free(ptr %t106) %t108 = load ptr, ptr %t60 store i32 8176, ptr @lp_site %t109 = call ptr @lp_str_concat(ptr %t107, ptr %t108) store i32 0, ptr @lp_site call void @lp_free(ptr %t107) %t110 = call ptr @fn_emit_bind(ptr %t109) store ptr %t110, ptr %t42 br label %ifend12 ifend12: %t111 = load ptr, ptr %t0 %t112 = call ptr @fn_expect_where(ptr %t111) store i32 8177, ptr @lp_site %t113 = call ptr @lp_str_concat(ptr %t112, ptr @.str14912) store i32 0, ptr @lp_site %t114 = load ptr, ptr %t43 store i32 8178, ptr @lp_site %t115 = call ptr @lp_str_concat(ptr %t113, ptr %t114) store i32 0, ptr @lp_site call void @lp_free(ptr %t113) store i32 8179, ptr @lp_site %t116 = call ptr @lp_str_concat(ptr %t115, ptr @.str14913) store i32 0, ptr @lp_site call void @lp_free(ptr %t115) %t117 = call ptr @fn_emit_str_const(ptr %t116) store ptr %t117, ptr %t118 %t119 = load ptr, ptr %t37 store ptr %t119, ptr %t120 %t121 = load ptr, ptr %t41 store ptr %t121, ptr %t122 %t123 = load ptr, ptr %t4 %t124 = call i32 @lp_str_eq(ptr %t123, ptr @.str14914) %t125 = icmp ne i32 %t124, 0 br i1 %t125, label %then13, label %ifend15 then13: %t126 = load ptr, ptr %t37 store i32 8180, ptr @lp_site %t127 = call ptr @lp_str_concat(ptr @.str14915, ptr %t126) store i32 0, ptr @lp_site store i32 8181, ptr @lp_site %t128 = call ptr @lp_str_concat(ptr %t127, ptr @.str14916) store i32 0, ptr @lp_site call void @lp_free(ptr %t127) %t129 = call ptr @fn_emit_bind(ptr %t128) store ptr %t129, ptr %t120 %t130 = load ptr, ptr %t41 store i32 8182, ptr @lp_site %t131 = call ptr @lp_str_concat(ptr @.str14917, ptr %t130) store i32 0, ptr @lp_site store i32 8183, ptr @lp_site %t132 = call ptr @lp_str_concat(ptr %t131, ptr @.str14918) store i32 0, ptr @lp_site call void @lp_free(ptr %t131) %t133 = call ptr @fn_emit_bind(ptr %t132) store ptr %t133, ptr %t122 br label %ifend15 ifend15: %t134 = call ptr @fn_lbl(ptr @.str14919) store ptr %t134, ptr %t135 %t136 = call ptr @fn_lbl(ptr @.str14920) store ptr %t136, ptr %t137 %t138 = load ptr, ptr %t42 store i32 8184, ptr @lp_site %t139 = call ptr @lp_str_concat(ptr @.str14921, ptr %t138) store i32 0, ptr @lp_site store i32 8185, ptr @lp_site %t140 = call ptr @lp_str_concat(ptr %t139, ptr @.str14922) store i32 0, ptr @lp_site call void @lp_free(ptr %t139) %t141 = load ptr, ptr %t135 store i32 8186, ptr @lp_site %t142 = call ptr @lp_str_concat(ptr %t140, ptr %t141) store i32 0, ptr @lp_site call void @lp_free(ptr %t140) store i32 8187, ptr @lp_site %t143 = call ptr @lp_str_concat(ptr %t142, ptr @.str14923) store i32 0, ptr @lp_site call void @lp_free(ptr %t142) %t144 = load ptr, ptr %t137 store i32 8188, ptr @lp_site %t145 = call ptr @lp_str_concat(ptr %t143, ptr %t144) store i32 0, ptr @lp_site call void @lp_free(ptr %t143) store i32 8189, ptr @lp_site %t146 = call ptr @lp_str_concat(ptr %t145, ptr @.str14924) store i32 0, ptr @lp_site call void @lp_free(ptr %t145) call void @fn_emit(ptr %t146) %t147 = load ptr, ptr %t137 store i32 8190, ptr @lp_site %t148 = call ptr @lp_str_concat(ptr %t147, ptr @.str14925) store i32 0, ptr @lp_site call void @fn_emit(ptr %t148) call void @fn_emit(ptr @.str14926) %t149 = load ptr, ptr %t118 store i32 8191, ptr @lp_site %t150 = call ptr @lp_str_concat(ptr @.str14927, ptr %t149) store i32 0, ptr @lp_site store i32 8192, ptr @lp_site %t151 = call ptr @lp_str_concat(ptr %t150, ptr @.str14928) store i32 0, ptr @lp_site call void @lp_free(ptr %t150) %t152 = load ptr, ptr %t120 store i32 8193, ptr @lp_site %t153 = call ptr @lp_str_concat(ptr %t151, ptr %t152) store i32 0, ptr @lp_site call void @lp_free(ptr %t151) store i32 8194, ptr @lp_site %t154 = call ptr @lp_str_concat(ptr %t153, ptr @.str14929) store i32 0, ptr @lp_site call void @lp_free(ptr %t153) %t155 = load ptr, ptr %t122 store i32 8195, ptr @lp_site %t156 = call ptr @lp_str_concat(ptr %t154, ptr %t155) store i32 0, ptr @lp_site call void @lp_free(ptr %t154) store i32 8196, ptr @lp_site %t157 = call ptr @lp_str_concat(ptr %t156, ptr @.str14930) store i32 0, ptr @lp_site call void @lp_free(ptr %t156) call void @fn_emit(ptr %t157) %t158 = load ptr, ptr %t135 store i32 8197, ptr @lp_site %t159 = call ptr @lp_str_concat(ptr @.str14931, ptr %t158) store i32 0, ptr @lp_site store i32 8198, ptr @lp_site %t160 = call ptr @lp_str_concat(ptr %t159, ptr @.str14932) store i32 0, ptr @lp_site call void @lp_free(ptr %t159) call void @fn_emit(ptr %t160) %t161 = load ptr, ptr %t135 store i32 8199, ptr @lp_site %t162 = call ptr @lp_str_concat(ptr %t161, ptr @.str14933) store i32 0, ptr @lp_site call void @fn_emit(ptr %t162) %t163 = call ptr @fn_val(ptr @.str14934, ptr @.str14935) store ptr %t163, ptr %retval br label %ret ret: %t164 = load ptr, ptr %retval ret ptr %t164 } define ptr @fn_emit_expect_str(ptr %arg_e, ptr %arg_a, ptr %arg_b) { entry: %retval = alloca ptr %t0 = alloca ptr %t1 = alloca ptr %t2 = alloca ptr %t9 = alloca ptr %t16 = alloca ptr %t23 = alloca ptr %t34 = alloca ptr %t36 = alloca ptr %t48 = alloca ptr %t60 = alloca ptr %t68 = alloca ptr %t73 = alloca ptr %t83 = alloca ptr %t88 = alloca ptr %t90 = alloca ptr %t92 = alloca ptr %t94 = alloca ptr %t117 = alloca ptr %t129 = alloca ptr store ptr %arg_e, ptr %t0 store ptr %arg_a, ptr %t1 store ptr %arg_b, ptr %t2 store i32 1, ptr @g_g_uses_expect_str %t3 = load ptr, ptr %t1 %t4 = getelementptr inbounds %Cmp_Val, ptr %t3, i32 0, i32 0 %t5 = load ptr, ptr %t4 store i32 8200, ptr @lp_site %t6 = call ptr @lp_str_concat(ptr @.str14936, ptr %t5) store i32 0, ptr @lp_site store i32 8201, ptr @lp_site %t7 = call ptr @lp_str_concat(ptr %t6, ptr @.str14938) store i32 0, ptr @lp_site call void @lp_free(ptr %t6) %t8 = call ptr @fn_emit_bind(ptr %t7) store ptr %t8, ptr %t9 %t10 = load ptr, ptr %t2 %t11 = getelementptr inbounds %Cmp_Val, ptr %t10, i32 0, i32 0 %t12 = load ptr, ptr %t11 store i32 8202, ptr @lp_site %t13 = call ptr @lp_str_concat(ptr @.str14939, ptr %t12) store i32 0, ptr @lp_site store i32 8203, ptr @lp_site %t14 = call ptr @lp_str_concat(ptr %t13, ptr @.str14940) store i32 0, ptr @lp_site call void @lp_free(ptr %t13) %t15 = call ptr @fn_emit_bind(ptr %t14) store ptr %t15, ptr %t16 %t17 = load ptr, ptr %t9 store i32 8204, ptr @lp_site %t18 = call ptr @lp_str_concat(ptr @.str14941, ptr %t17) store i32 0, ptr @lp_site store i32 8205, ptr @lp_site %t19 = call ptr @lp_str_concat(ptr %t18, ptr @.str14942) store i32 0, ptr @lp_site call void @lp_free(ptr %t18) %t20 = load ptr, ptr %t16 store i32 8206, ptr @lp_site %t21 = call ptr @lp_str_concat(ptr %t19, ptr %t20) store i32 0, ptr @lp_site call void @lp_free(ptr %t19) %t22 = call ptr @fn_emit_bind(ptr %t21) store ptr %t22, ptr %t23 %t24 = load ptr, ptr %t1 %t25 = getelementptr inbounds %Cmp_Val, ptr %t24, i32 0, i32 0 %t26 = load ptr, ptr %t25 store i32 8207, ptr @lp_site %t27 = call ptr @lp_str_concat(ptr @.str14943, ptr %t26) store i32 0, ptr @lp_site store i32 8208, ptr @lp_site %t28 = call ptr @lp_str_concat(ptr %t27, ptr @.str14944) store i32 0, ptr @lp_site call void @lp_free(ptr %t27) %t29 = load ptr, ptr %t2 %t30 = getelementptr inbounds %Cmp_Val, ptr %t29, i32 0, i32 0 %t31 = load ptr, ptr %t30 store i32 8209, ptr @lp_site %t32 = call ptr @lp_str_concat(ptr %t28, ptr %t31) store i32 0, ptr @lp_site call void @lp_free(ptr %t28) %t33 = call ptr @fn_emit_bind(ptr %t32) store ptr %t33, ptr %t34 %t35 = call ptr @fn_emit_str_const(ptr @.str14945) store ptr %t35, ptr %t36 %t37 = load ptr, ptr %t23 store i32 8210, ptr @lp_site %t38 = call ptr @lp_str_concat(ptr @.str14946, ptr %t37) store i32 0, ptr @lp_site store i32 8211, ptr @lp_site %t39 = call ptr @lp_str_concat(ptr %t38, ptr @.str14947) store i32 0, ptr @lp_site call void @lp_free(ptr %t38) %t40 = load ptr, ptr %t36 store i32 8212, ptr @lp_site %t41 = call ptr @lp_str_concat(ptr %t39, ptr %t40) store i32 0, ptr @lp_site call void @lp_free(ptr %t39) store i32 8213, ptr @lp_site %t42 = call ptr @lp_str_concat(ptr %t41, ptr @.str14948) store i32 0, ptr @lp_site call void @lp_free(ptr %t41) %t43 = load ptr, ptr %t1 %t44 = getelementptr inbounds %Cmp_Val, ptr %t43, i32 0, i32 0 %t45 = load ptr, ptr %t44 store i32 8214, ptr @lp_site %t46 = call ptr @lp_str_concat(ptr %t42, ptr %t45) store i32 0, ptr @lp_site call void @lp_free(ptr %t42) %t47 = call ptr @fn_emit_bind(ptr %t46) store ptr %t47, ptr %t48 %t49 = load ptr, ptr %t23 store i32 8215, ptr @lp_site %t50 = call ptr @lp_str_concat(ptr @.str14949, ptr %t49) store i32 0, ptr @lp_site store i32 8216, ptr @lp_site %t51 = call ptr @lp_str_concat(ptr %t50, ptr @.str14950) store i32 0, ptr @lp_site call void @lp_free(ptr %t50) %t52 = load ptr, ptr %t36 store i32 8217, ptr @lp_site %t53 = call ptr @lp_str_concat(ptr %t51, ptr %t52) store i32 0, ptr @lp_site call void @lp_free(ptr %t51) store i32 8218, ptr @lp_site %t54 = call ptr @lp_str_concat(ptr %t53, ptr @.str14951) store i32 0, ptr @lp_site call void @lp_free(ptr %t53) %t55 = load ptr, ptr %t2 %t56 = getelementptr inbounds %Cmp_Val, ptr %t55, i32 0, i32 0 %t57 = load ptr, ptr %t56 store i32 8219, ptr @lp_site %t58 = call ptr @lp_str_concat(ptr %t54, ptr %t57) store i32 0, ptr @lp_site call void @lp_free(ptr %t54) %t59 = call ptr @fn_emit_bind(ptr %t58) store ptr %t59, ptr %t60 %t61 = load ptr, ptr %t48 store i32 8220, ptr @lp_site %t62 = call ptr @lp_str_concat(ptr @.str14952, ptr %t61) store i32 0, ptr @lp_site store i32 8221, ptr @lp_site %t63 = call ptr @lp_str_concat(ptr %t62, ptr @.str14953) store i32 0, ptr @lp_site call void @lp_free(ptr %t62) %t64 = load ptr, ptr %t60 store i32 8222, ptr @lp_site %t65 = call ptr @lp_str_concat(ptr %t63, ptr %t64) store i32 0, ptr @lp_site call void @lp_free(ptr %t63) store i32 8223, ptr @lp_site %t66 = call ptr @lp_str_concat(ptr %t65, ptr @.str14954) store i32 0, ptr @lp_site call void @lp_free(ptr %t65) %t67 = call ptr @fn_emit_bind(ptr %t66) store ptr %t67, ptr %t68 %t69 = load ptr, ptr %t68 store i32 8224, ptr @lp_site %t70 = call ptr @lp_str_concat(ptr @.str14955, ptr %t69) store i32 0, ptr @lp_site store i32 8225, ptr @lp_site %t71 = call ptr @lp_str_concat(ptr %t70, ptr @.str14956) store i32 0, ptr @lp_site call void @lp_free(ptr %t70) %t72 = call ptr @fn_emit_bind(ptr %t71) store ptr %t72, ptr %t73 %t74 = load ptr, ptr %t23 store i32 8226, ptr @lp_site %t75 = call ptr @lp_str_concat(ptr @.str14957, ptr %t74) store i32 0, ptr @lp_site store i32 8227, ptr @lp_site %t76 = call ptr @lp_str_concat(ptr %t75, ptr @.str14958) store i32 0, ptr @lp_site call void @lp_free(ptr %t75) %t77 = load ptr, ptr %t34 store i32 8228, ptr @lp_site %t78 = call ptr @lp_str_concat(ptr %t76, ptr %t77) store i32 0, ptr @lp_site call void @lp_free(ptr %t76) store i32 8229, ptr @lp_site %t79 = call ptr @lp_str_concat(ptr %t78, ptr @.str14959) store i32 0, ptr @lp_site call void @lp_free(ptr %t78) %t80 = load ptr, ptr %t73 store i32 8230, ptr @lp_site %t81 = call ptr @lp_str_concat(ptr %t79, ptr %t80) store i32 0, ptr @lp_site call void @lp_free(ptr %t79) %t82 = call ptr @fn_emit_bind(ptr %t81) store ptr %t82, ptr %t83 %t84 = load ptr, ptr %t0 %t85 = call ptr @fn_expect_where(ptr %t84) store i32 8231, ptr @lp_site %t86 = call ptr @lp_str_concat(ptr %t85, ptr @.str14960) store i32 0, ptr @lp_site %t87 = call ptr @fn_emit_str_const(ptr %t86) store ptr %t87, ptr %t88 %t89 = call ptr @fn_emit_str_const(ptr @.str14961) store ptr %t89, ptr %t90 %t91 = call ptr @fn_lbl(ptr @.str14962) store ptr %t91, ptr %t92 %t93 = call ptr @fn_lbl(ptr @.str14963) store ptr %t93, ptr %t94 %t95 = load ptr, ptr %t83 store i32 8232, ptr @lp_site %t96 = call ptr @lp_str_concat(ptr @.str14964, ptr %t95) store i32 0, ptr @lp_site store i32 8233, ptr @lp_site %t97 = call ptr @lp_str_concat(ptr %t96, ptr @.str14965) store i32 0, ptr @lp_site call void @lp_free(ptr %t96) %t98 = load ptr, ptr %t92 store i32 8234, ptr @lp_site %t99 = call ptr @lp_str_concat(ptr %t97, ptr %t98) store i32 0, ptr @lp_site call void @lp_free(ptr %t97) store i32 8235, ptr @lp_site %t100 = call ptr @lp_str_concat(ptr %t99, ptr @.str14966) store i32 0, ptr @lp_site call void @lp_free(ptr %t99) %t101 = load ptr, ptr %t94 store i32 8236, ptr @lp_site %t102 = call ptr @lp_str_concat(ptr %t100, ptr %t101) store i32 0, ptr @lp_site call void @lp_free(ptr %t100) store i32 8237, ptr @lp_site %t103 = call ptr @lp_str_concat(ptr %t102, ptr @.str14967) store i32 0, ptr @lp_site call void @lp_free(ptr %t102) call void @fn_emit(ptr %t103) %t104 = load ptr, ptr %t94 store i32 8238, ptr @lp_site %t105 = call ptr @lp_str_concat(ptr %t104, ptr @.str14968) store i32 0, ptr @lp_site call void @fn_emit(ptr %t105) call void @fn_emit(ptr @.str14969) %t106 = load ptr, ptr %t9 store i32 8239, ptr @lp_site %t107 = call ptr @lp_str_concat(ptr @.str14970, ptr %t106) store i32 0, ptr @lp_site store i32 8240, ptr @lp_site %t108 = call ptr @lp_str_concat(ptr %t107, ptr @.str14971) store i32 0, ptr @lp_site call void @lp_free(ptr %t107) %t109 = load ptr, ptr %t90 store i32 8241, ptr @lp_site %t110 = call ptr @lp_str_concat(ptr %t108, ptr %t109) store i32 0, ptr @lp_site call void @lp_free(ptr %t108) store i32 8242, ptr @lp_site %t111 = call ptr @lp_str_concat(ptr %t110, ptr @.str14972) store i32 0, ptr @lp_site call void @lp_free(ptr %t110) %t112 = load ptr, ptr %t1 %t113 = getelementptr inbounds %Cmp_Val, ptr %t112, i32 0, i32 0 %t114 = load ptr, ptr %t113 store i32 8243, ptr @lp_site %t115 = call ptr @lp_str_concat(ptr %t111, ptr %t114) store i32 0, ptr @lp_site call void @lp_free(ptr %t111) %t116 = call ptr @fn_emit_bind(ptr %t115) store ptr %t116, ptr %t117 %t118 = load ptr, ptr %t16 store i32 8244, ptr @lp_site %t119 = call ptr @lp_str_concat(ptr @.str14973, ptr %t118) store i32 0, ptr @lp_site store i32 8245, ptr @lp_site %t120 = call ptr @lp_str_concat(ptr %t119, ptr @.str14974) store i32 0, ptr @lp_site call void @lp_free(ptr %t119) %t121 = load ptr, ptr %t90 store i32 8246, ptr @lp_site %t122 = call ptr @lp_str_concat(ptr %t120, ptr %t121) store i32 0, ptr @lp_site call void @lp_free(ptr %t120) store i32 8247, ptr @lp_site %t123 = call ptr @lp_str_concat(ptr %t122, ptr @.str14975) store i32 0, ptr @lp_site call void @lp_free(ptr %t122) %t124 = load ptr, ptr %t2 %t125 = getelementptr inbounds %Cmp_Val, ptr %t124, i32 0, i32 0 %t126 = load ptr, ptr %t125 store i32 8248, ptr @lp_site %t127 = call ptr @lp_str_concat(ptr %t123, ptr %t126) store i32 0, ptr @lp_site call void @lp_free(ptr %t123) %t128 = call ptr @fn_emit_bind(ptr %t127) store ptr %t128, ptr %t129 %t130 = load ptr, ptr %t88 store i32 8249, ptr @lp_site %t131 = call ptr @lp_str_concat(ptr @.str14976, ptr %t130) store i32 0, ptr @lp_site store i32 8250, ptr @lp_site %t132 = call ptr @lp_str_concat(ptr %t131, ptr @.str14977) store i32 0, ptr @lp_site call void @lp_free(ptr %t131) %t133 = load ptr, ptr %t117 store i32 8251, ptr @lp_site %t134 = call ptr @lp_str_concat(ptr %t132, ptr %t133) store i32 0, ptr @lp_site call void @lp_free(ptr %t132) store i32 8252, ptr @lp_site %t135 = call ptr @lp_str_concat(ptr %t134, ptr @.str14978) store i32 0, ptr @lp_site call void @lp_free(ptr %t134) %t136 = load ptr, ptr %t129 store i32 8253, ptr @lp_site %t137 = call ptr @lp_str_concat(ptr %t135, ptr %t136) store i32 0, ptr @lp_site call void @lp_free(ptr %t135) store i32 8254, ptr @lp_site %t138 = call ptr @lp_str_concat(ptr %t137, ptr @.str14979) store i32 0, ptr @lp_site call void @lp_free(ptr %t137) call void @fn_emit(ptr %t138) %t139 = load ptr, ptr %t92 store i32 8255, ptr @lp_site %t140 = call ptr @lp_str_concat(ptr @.str14980, ptr %t139) store i32 0, ptr @lp_site store i32 8256, ptr @lp_site %t141 = call ptr @lp_str_concat(ptr %t140, ptr @.str14981) store i32 0, ptr @lp_site call void @lp_free(ptr %t140) call void @fn_emit(ptr %t141) %t142 = load ptr, ptr %t92 store i32 8257, ptr @lp_site %t143 = call ptr @lp_str_concat(ptr %t142, ptr @.str14982) store i32 0, ptr @lp_site call void @fn_emit(ptr %t143) %t144 = call ptr @fn_val(ptr @.str14983, ptr @.str14984) store ptr %t144, ptr %retval br label %ret ret: %t145 = load ptr, ptr %retval ret ptr %t145 } define ptr @fn_expect_where(ptr %arg_e) { entry: %retval = alloca ptr %t0 = alloca ptr store ptr %arg_e, ptr %t0 %t1 = load ptr, ptr %t0 %t2 = getelementptr inbounds %Cmp_Node, ptr %t1, i32 0, i32 9 %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 9 %t9 = load ptr, ptr %t8 store i32 8258, ptr @lp_site %t10 = call ptr @lp_str_concat(ptr %t9, ptr @.str14985) store i32 0, ptr @lp_site %t11 = load ptr, ptr %t0 %t12 = getelementptr inbounds %Cmp_Node, ptr %t11, i32 0, i32 8 %t13 = load i32, ptr %t12 %t14 = call ptr @fn_itoa(i32 %t13) store i32 8259, ptr @lp_site %t15 = call ptr @lp_str_concat(ptr %t10, ptr %t14) store i32 0, ptr @lp_site call void @lp_free(ptr %t10) store ptr %t15, ptr %retval br label %ret ifend2: %t16 = load ptr, ptr @g_g_src_name store i32 8260, ptr @lp_site %t17 = call ptr @lp_str_concat(ptr %t16, ptr @.str14987) store i32 0, ptr @lp_site %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) store i32 8261, ptr @lp_site %t22 = call ptr @lp_str_concat(ptr %t17, ptr %t21) store i32 0, ptr @lp_site call void @lp_free(ptr %t17) store ptr %t22, ptr %retval br label %ret ret: %t23 = load ptr, ptr %retval ret ptr %t23 } 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 store i32 8262, ptr @lp_site %t7 = call ptr @lp_malloc(i64 %t6) store i32 0, ptr @lp_site 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 %t176 = alloca ptr %t183 = alloca ptr %t187 = alloca ptr %t191 = alloca ptr %t198 = alloca ptr %t202 = alloca ptr %t207 = alloca ptr %t214 = alloca ptr %t218 = alloca ptr %t225 = alloca ptr %t234 = alloca ptr %t268 = alloca ptr %t275 = alloca ptr %t287 = alloca ptr %t292 = alloca ptr %t301 = alloca ptr %t311 = alloca ptr %t313 = alloca ptr %t320 = alloca ptr %t324 = alloca ptr %t329 = alloca ptr %t333 = alloca ptr %t340 = alloca ptr %t344 = alloca ptr %t349 = alloca ptr %t356 = alloca ptr %t363 = 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 @.str14989) %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 store i32 8263, ptr @lp_site %t17 = call ptr @lp_str_concat(ptr %t16, ptr @.str14990) store i32 0, ptr @lp_site 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 store i32 8264, ptr @lp_site %t24 = call ptr @lp_malloc(i64 %t23) store i32 0, ptr @lp_site %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 store i32 8265, ptr @lp_site %t56 = call ptr @lp_realloc(ptr %t55, i64 %t54) store i32 0, ptr @lp_site 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 @.str14992, 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 store i32 8266, ptr @lp_site %t82 = call ptr @lp_realloc(ptr %t81, i64 %t80) store i32 0, ptr @lp_site 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 @.str14993, 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 store i32 8267, ptr @lp_site %t123 = call ptr @lp_realloc(ptr %t122, i64 %t121) store i32 0, ptr @lp_site 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 @.str14994, ptr @.str14995) store ptr %t128, ptr %retval br label %ret ifend2: %t129 = load ptr, ptr %t1 %t130 = call i32 @lp_str_eq(ptr %t129, ptr @.str14996) %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 store i32 8268, ptr @lp_site %t141 = call ptr @lp_str_concat(ptr %t140, ptr @.str14997) store i32 0, ptr @lp_site call void @fn_perr(ptr %t141) br label %ifend17 ifend17: %t142 = call ptr @fn_emit_alloca(ptr @.str14998) store ptr %t142, ptr %t143 %t144 = load ptr, ptr %t143 call void @fn_store_at(ptr @.str14999, ptr @.str15000, ptr %t144) %t145 = call ptr @fn_emit_alloca(ptr @.str15001) store ptr %t145, ptr %t146 %t147 = load ptr, ptr %t146 call void @fn_store_at(ptr @.str15002, ptr @.str15003, ptr %t147) %t148 = call ptr @fn_lbl(ptr @.str15004) store ptr %t148, ptr %t149 %t150 = call ptr @fn_lbl(ptr @.str15005) store ptr %t150, ptr %t151 %t152 = call ptr @fn_lbl(ptr @.str15006) store ptr %t152, ptr %t153 %t154 = call ptr @fn_lbl(ptr @.str15007) store ptr %t154, ptr %t155 call void @fn_emit(ptr @.str15008) %t156 = load ptr, ptr %t149 call void @fn_emit(ptr %t156) call void @fn_emit(ptr @.str15009) %t157 = load ptr, ptr %t149 call void @fn_emit(ptr %t157) call void @fn_emit(ptr @.str15010) %t158 = load ptr, ptr %t143 store i32 8269, ptr @lp_site %t159 = call ptr @lp_str_concat(ptr @.str15011, ptr %t158) store i32 0, ptr @lp_site %t160 = call ptr @fn_emit_bind(ptr %t159) store ptr %t160, ptr %t161 %t162 = call ptr @fn_emit_bind(ptr @.str15012) store ptr %t162, ptr %t163 %t164 = load ptr, ptr %t161 store i32 8270, ptr @lp_site %t165 = call ptr @lp_str_concat(ptr @.str15013, ptr %t164) store i32 0, ptr @lp_site store i32 8271, ptr @lp_site %t166 = call ptr @lp_str_concat(ptr %t165, ptr @.str15014) store i32 0, ptr @lp_site call void @lp_free(ptr %t165) %t167 = load ptr, ptr %t163 store i32 8272, ptr @lp_site %t168 = call ptr @lp_str_concat(ptr %t166, ptr %t167) store i32 0, ptr @lp_site call void @lp_free(ptr %t166) %t169 = call ptr @fn_emit_bind(ptr %t168) store ptr %t169, ptr %t170 call void @fn_emit(ptr @.str15015) %t171 = load ptr, ptr %t170 call void @fn_emit(ptr %t171) call void @fn_emit(ptr @.str15016) %t172 = load ptr, ptr %t151 call void @fn_emit(ptr %t172) call void @fn_emit(ptr @.str15017) %t173 = load ptr, ptr %t155 call void @fn_emit(ptr %t173) call void @fn_emit(ptr @.str15018) %t174 = load ptr, ptr %t151 call void @fn_emit(ptr %t174) call void @fn_emit(ptr @.str15019) %t175 = call ptr @fn_ecs_base(ptr @.str15020) store ptr %t175, ptr %t176 %t177 = load ptr, ptr %t176 store i32 8273, ptr @lp_site %t178 = call ptr @lp_str_concat(ptr @.str15021, ptr %t177) store i32 0, ptr @lp_site store i32 8274, ptr @lp_site %t179 = call ptr @lp_str_concat(ptr %t178, ptr @.str15022) store i32 0, ptr @lp_site call void @lp_free(ptr %t178) %t180 = load ptr, ptr %t161 store i32 8275, ptr @lp_site %t181 = call ptr @lp_str_concat(ptr %t179, ptr %t180) store i32 0, ptr @lp_site call void @lp_free(ptr %t179) %t182 = call ptr @fn_emit_bind(ptr %t181) store ptr %t182, ptr %t183 %t184 = load ptr, ptr %t183 store i32 8276, ptr @lp_site %t185 = call ptr @lp_str_concat(ptr @.str15023, ptr %t184) store i32 0, ptr @lp_site %t186 = call ptr @fn_emit_bind(ptr %t185) store ptr %t186, ptr %t187 %t188 = load ptr, ptr %t0 store i32 8277, ptr @lp_site %t189 = call ptr @lp_str_concat(ptr @.str15024, ptr %t188) store i32 0, ptr @lp_site %t190 = call ptr @fn_ecs_base(ptr %t189) store ptr %t190, ptr %t191 %t192 = load ptr, ptr %t191 store i32 8278, ptr @lp_site %t193 = call ptr @lp_str_concat(ptr @.str15025, ptr %t192) store i32 0, ptr @lp_site store i32 8279, ptr @lp_site %t194 = call ptr @lp_str_concat(ptr %t193, ptr @.str15026) store i32 0, ptr @lp_site call void @lp_free(ptr %t193) %t195 = load ptr, ptr %t161 store i32 8280, ptr @lp_site %t196 = call ptr @lp_str_concat(ptr %t194, ptr %t195) store i32 0, ptr @lp_site call void @lp_free(ptr %t194) %t197 = call ptr @fn_emit_bind(ptr %t196) store ptr %t197, ptr %t198 %t199 = load ptr, ptr %t198 store i32 8281, ptr @lp_site %t200 = call ptr @lp_str_concat(ptr @.str15027, ptr %t199) store i32 0, ptr @lp_site %t201 = call ptr @fn_emit_bind(ptr %t200) store ptr %t201, ptr %t202 %t203 = load ptr, ptr %t202 store i32 8282, ptr @lp_site %t204 = call ptr @lp_str_concat(ptr @.str15028, ptr %t203) store i32 0, ptr @lp_site store i32 8283, ptr @lp_site %t205 = call ptr @lp_str_concat(ptr %t204, ptr @.str15029) store i32 0, ptr @lp_site call void @lp_free(ptr %t204) %t206 = call ptr @fn_emit_bind(ptr %t205) store ptr %t206, ptr %t207 %t208 = load ptr, ptr %t187 store i32 8284, ptr @lp_site %t209 = call ptr @lp_str_concat(ptr @.str15030, ptr %t208) store i32 0, ptr @lp_site store i32 8285, ptr @lp_site %t210 = call ptr @lp_str_concat(ptr %t209, ptr @.str15031) store i32 0, ptr @lp_site call void @lp_free(ptr %t209) %t211 = load ptr, ptr %t207 store i32 8286, ptr @lp_site %t212 = call ptr @lp_str_concat(ptr %t210, ptr %t211) store i32 0, ptr @lp_site call void @lp_free(ptr %t210) %t213 = call ptr @fn_emit_bind(ptr %t212) store ptr %t213, ptr %t214 %t215 = load ptr, ptr %t146 store i32 8287, ptr @lp_site %t216 = call ptr @lp_str_concat(ptr @.str15032, ptr %t215) store i32 0, ptr @lp_site %t217 = call ptr @fn_emit_bind(ptr %t216) store ptr %t217, ptr %t218 %t219 = load ptr, ptr %t218 store i32 8288, ptr @lp_site %t220 = call ptr @lp_str_concat(ptr @.str15033, ptr %t219) store i32 0, ptr @lp_site store i32 8289, ptr @lp_site %t221 = call ptr @lp_str_concat(ptr %t220, ptr @.str15034) store i32 0, ptr @lp_site call void @lp_free(ptr %t220) %t222 = load ptr, ptr %t214 store i32 8290, ptr @lp_site %t223 = call ptr @lp_str_concat(ptr %t221, ptr %t222) store i32 0, ptr @lp_site call void @lp_free(ptr %t221) %t224 = call ptr @fn_emit_bind(ptr %t223) store ptr %t224, ptr %t225 %t226 = load ptr, ptr %t225 %t227 = load ptr, ptr %t146 call void @fn_store_at(ptr @.str15035, ptr %t226, ptr %t227) call void @fn_emit(ptr @.str15036) %t228 = load ptr, ptr %t153 call void @fn_emit(ptr %t228) call void @fn_emit(ptr @.str15037) %t229 = load ptr, ptr %t153 call void @fn_emit(ptr %t229) call void @fn_emit(ptr @.str15038) %t230 = load ptr, ptr %t161 store i32 8291, ptr @lp_site %t231 = call ptr @lp_str_concat(ptr @.str15039, ptr %t230) store i32 0, ptr @lp_site store i32 8292, ptr @lp_site %t232 = call ptr @lp_str_concat(ptr %t231, ptr @.str15040) store i32 0, ptr @lp_site call void @lp_free(ptr %t231) %t233 = call ptr @fn_emit_bind(ptr %t232) store ptr %t233, ptr %t234 %t235 = load ptr, ptr %t234 %t236 = load ptr, ptr %t143 call void @fn_store_at(ptr @.str15041, ptr %t235, ptr %t236) call void @fn_emit(ptr @.str15042) %t237 = load ptr, ptr %t149 call void @fn_emit(ptr %t237) call void @fn_emit(ptr @.str15043) %t238 = load ptr, ptr %t155 call void @fn_emit(ptr %t238) call void @fn_emit(ptr @.str15044) %t239 = load ptr, ptr %t146 store i32 8293, ptr @lp_site %t240 = call ptr @lp_str_concat(ptr @.str15045, ptr %t239) store i32 0, ptr @lp_site %t241 = call ptr @fn_emit_bind(ptr %t240) %t242 = call ptr @fn_val(ptr %t241, ptr @.str15046) store ptr %t242, ptr %retval br label %ret ifend14: %t243 = load ptr, ptr %t2 %t244 = getelementptr inbounds %Cmp_Node, ptr %t243, i32 0, i32 7 %t245 = load ptr, ptr %t244 %t246 = getelementptr inbounds %LSlice, ptr %t245, i32 0, i32 1 %t247 = load i32, ptr %t246 %t248 = icmp ne i32 %t247, 1 %t249 = zext i1 %t248 to i32 %t250 = icmp ne i32 %t249, 0 br i1 %t250, label %then18, label %ifend20 then18: %t251 = load ptr, ptr %t0 store i32 8294, ptr @lp_site %t252 = call ptr @lp_str_concat(ptr %t251, ptr @.str15047) store i32 0, ptr @lp_site %t253 = load ptr, ptr %t1 store i32 8295, ptr @lp_site %t254 = call ptr @lp_str_concat(ptr %t252, ptr %t253) store i32 0, ptr @lp_site call void @lp_free(ptr %t252) store i32 8296, ptr @lp_site %t255 = call ptr @lp_str_concat(ptr %t254, ptr @.str15048) store i32 0, ptr @lp_site call void @lp_free(ptr %t254) call void @fn_perr(ptr %t255) br label %ifend20 ifend20: %t256 = load ptr, ptr %t2 %t257 = getelementptr inbounds %Cmp_Node, ptr %t256, i32 0, i32 7 %t258 = load ptr, ptr %t257 %t259 = getelementptr inbounds %LSlice, ptr %t258, i32 0, i32 0 %t260 = load ptr, ptr %t259 %t261 = getelementptr inbounds %LSlice, ptr %t258, i32 0, i32 1 %t262 = load i32, ptr %t261 %t263 = icmp ult i32 0, %t262 br i1 %t263, label %ixok21, label %ixbad22 ixbad22: store i32 8297, ptr @lp_site %t264 = call ptr @lp_win_stdio(i32 2) store i32 0, ptr @lp_site call i32 (ptr, ptr, ...) @fprintf(ptr %t264, ptr @.fmt_bounds, ptr @.str15049, i32 0, i32 %t262) call void @exit(i32 1) unreachable ixok21: %t265 = getelementptr inbounds ptr, ptr %t260, i32 0 %t266 = load ptr, ptr %t265 %t267 = call ptr @fn_emit_expr(ptr %t266) store ptr %t267, ptr %t268 %t269 = load ptr, ptr %t1 %t270 = call i32 @lp_str_eq(ptr %t269, ptr @.str15050) %t271 = icmp ne i32 %t270, 0 br i1 %t271, label %then23, label %ifend25 then23: %t272 = load ptr, ptr %t0 store i32 8298, ptr @lp_site %t273 = call ptr @lp_str_concat(ptr @.str15051, ptr %t272) store i32 0, ptr @lp_site %t274 = call ptr @fn_ecs_base(ptr %t273) store ptr %t274, ptr %t275 %t276 = load ptr, ptr %t0 store i32 8299, ptr @lp_site %t277 = call ptr @lp_str_concat(ptr @.str15052, ptr %t276) store i32 0, ptr @lp_site store i32 8300, ptr @lp_site %t278 = call ptr @lp_str_concat(ptr %t277, ptr @.str15053) store i32 0, ptr @lp_site call void @lp_free(ptr %t277) %t279 = load ptr, ptr %t275 store i32 8301, ptr @lp_site %t280 = call ptr @lp_str_concat(ptr %t278, ptr %t279) store i32 0, ptr @lp_site call void @lp_free(ptr %t278) store i32 8302, ptr @lp_site %t281 = call ptr @lp_str_concat(ptr %t280, ptr @.str15054) store i32 0, ptr @lp_site call void @lp_free(ptr %t280) %t282 = load ptr, ptr %t268 %t283 = getelementptr inbounds %Cmp_Val, ptr %t282, i32 0, i32 0 %t284 = load ptr, ptr %t283 store i32 8303, ptr @lp_site %t285 = call ptr @lp_str_concat(ptr %t281, ptr %t284) store i32 0, ptr @lp_site call void @lp_free(ptr %t281) %t286 = call ptr @fn_emit_bind(ptr %t285) store ptr %t286, ptr %t287 %t288 = load ptr, ptr %t287 %t289 = load ptr, ptr %t0 %t290 = call ptr @fn_val(ptr %t288, ptr %t289) store ptr %t290, ptr %retval br label %ret ifend25: %t291 = call ptr @fn_emit_bind(ptr @.str15055) store ptr %t291, ptr %t292 %t293 = load ptr, ptr %t268 %t294 = getelementptr inbounds %Cmp_Val, ptr %t293, i32 0, i32 0 %t295 = load ptr, ptr %t294 store i32 8304, ptr @lp_site %t296 = call ptr @lp_str_concat(ptr @.str15056, ptr %t295) store i32 0, ptr @lp_site store i32 8305, ptr @lp_site %t297 = call ptr @lp_str_concat(ptr %t296, ptr @.str15057) store i32 0, ptr @lp_site call void @lp_free(ptr %t296) %t298 = load ptr, ptr %t292 store i32 8306, ptr @lp_site %t299 = call ptr @lp_str_concat(ptr %t297, ptr %t298) store i32 0, ptr @lp_site call void @lp_free(ptr %t297) %t300 = call ptr @fn_emit_bind(ptr %t299) store ptr %t300, ptr %t301 %t302 = load ptr, ptr %t301 store i32 8307, ptr @lp_site %t303 = call ptr @lp_str_concat(ptr @.str15058, ptr %t302) store i32 0, ptr @lp_site store i32 8308, ptr @lp_site %t304 = call ptr @lp_str_concat(ptr %t303, ptr @.str15059) store i32 0, ptr @lp_site call void @lp_free(ptr %t303) %t305 = load ptr, ptr %t268 %t306 = getelementptr inbounds %Cmp_Val, ptr %t305, i32 0, i32 0 %t307 = load ptr, ptr %t306 store i32 8309, ptr @lp_site %t308 = call ptr @lp_str_concat(ptr %t304, ptr %t307) store i32 0, ptr @lp_site call void @lp_free(ptr %t304) store i32 8310, ptr @lp_site %t309 = call ptr @lp_str_concat(ptr %t308, ptr @.str15060) store i32 0, ptr @lp_site call void @lp_free(ptr %t308) %t310 = call ptr @fn_emit_bind(ptr %t309) store ptr %t310, ptr %t311 %t312 = call ptr @fn_ecs_base(ptr @.str15061) store ptr %t312, ptr %t313 %t314 = load ptr, ptr %t313 store i32 8311, ptr @lp_site %t315 = call ptr @lp_str_concat(ptr @.str15062, ptr %t314) store i32 0, ptr @lp_site store i32 8312, ptr @lp_site %t316 = call ptr @lp_str_concat(ptr %t315, ptr @.str15063) store i32 0, ptr @lp_site call void @lp_free(ptr %t315) %t317 = load ptr, ptr %t311 store i32 8313, ptr @lp_site %t318 = call ptr @lp_str_concat(ptr %t316, ptr %t317) store i32 0, ptr @lp_site call void @lp_free(ptr %t316) %t319 = call ptr @fn_emit_bind(ptr %t318) store ptr %t319, ptr %t320 %t321 = load ptr, ptr %t320 store i32 8314, ptr @lp_site %t322 = call ptr @lp_str_concat(ptr @.str15064, ptr %t321) store i32 0, ptr @lp_site %t323 = call ptr @fn_emit_bind(ptr %t322) store ptr %t323, ptr %t324 %t325 = load ptr, ptr %t324 store i32 8315, ptr @lp_site %t326 = call ptr @lp_str_concat(ptr @.str15065, ptr %t325) store i32 0, ptr @lp_site store i32 8316, ptr @lp_site %t327 = call ptr @lp_str_concat(ptr %t326, ptr @.str15066) store i32 0, ptr @lp_site call void @lp_free(ptr %t326) %t328 = call ptr @fn_emit_bind(ptr %t327) store ptr %t328, ptr %t329 %t330 = load ptr, ptr %t0 store i32 8317, ptr @lp_site %t331 = call ptr @lp_str_concat(ptr @.str15067, ptr %t330) store i32 0, ptr @lp_site %t332 = call ptr @fn_ecs_base(ptr %t331) store ptr %t332, ptr %t333 %t334 = load ptr, ptr %t333 store i32 8318, ptr @lp_site %t335 = call ptr @lp_str_concat(ptr @.str15068, ptr %t334) store i32 0, ptr @lp_site store i32 8319, ptr @lp_site %t336 = call ptr @lp_str_concat(ptr %t335, ptr @.str15069) store i32 0, ptr @lp_site call void @lp_free(ptr %t335) %t337 = load ptr, ptr %t311 store i32 8320, ptr @lp_site %t338 = call ptr @lp_str_concat(ptr %t336, ptr %t337) store i32 0, ptr @lp_site call void @lp_free(ptr %t336) %t339 = call ptr @fn_emit_bind(ptr %t338) store ptr %t339, ptr %t340 %t341 = load ptr, ptr %t340 store i32 8321, ptr @lp_site %t342 = call ptr @lp_str_concat(ptr @.str15070, ptr %t341) store i32 0, ptr @lp_site %t343 = call ptr @fn_emit_bind(ptr %t342) store ptr %t343, ptr %t344 %t345 = load ptr, ptr %t344 store i32 8322, ptr @lp_site %t346 = call ptr @lp_str_concat(ptr @.str15071, ptr %t345) store i32 0, ptr @lp_site store i32 8323, ptr @lp_site %t347 = call ptr @lp_str_concat(ptr %t346, ptr @.str15072) store i32 0, ptr @lp_site call void @lp_free(ptr %t346) %t348 = call ptr @fn_emit_bind(ptr %t347) store ptr %t348, ptr %t349 %t350 = load ptr, ptr %t301 store i32 8324, ptr @lp_site %t351 = call ptr @lp_str_concat(ptr @.str15073, ptr %t350) store i32 0, ptr @lp_site store i32 8325, ptr @lp_site %t352 = call ptr @lp_str_concat(ptr %t351, ptr @.str15074) store i32 0, ptr @lp_site call void @lp_free(ptr %t351) %t353 = load ptr, ptr %t329 store i32 8326, ptr @lp_site %t354 = call ptr @lp_str_concat(ptr %t352, ptr %t353) store i32 0, ptr @lp_site call void @lp_free(ptr %t352) %t355 = call ptr @fn_emit_bind(ptr %t354) store ptr %t355, ptr %t356 %t357 = load ptr, ptr %t356 store i32 8327, ptr @lp_site %t358 = call ptr @lp_str_concat(ptr @.str15075, ptr %t357) store i32 0, ptr @lp_site store i32 8328, ptr @lp_site %t359 = call ptr @lp_str_concat(ptr %t358, ptr @.str15076) store i32 0, ptr @lp_site call void @lp_free(ptr %t358) %t360 = load ptr, ptr %t349 store i32 8329, ptr @lp_site %t361 = call ptr @lp_str_concat(ptr %t359, ptr %t360) store i32 0, ptr @lp_site call void @lp_free(ptr %t359) %t362 = call ptr @fn_emit_bind(ptr %t361) store ptr %t362, ptr %t363 %t364 = load ptr, ptr %t363 store i32 8330, ptr @lp_site %t365 = call ptr @lp_str_concat(ptr @.str15077, ptr %t364) store i32 0, ptr @lp_site store i32 8331, ptr @lp_site %t366 = call ptr @lp_str_concat(ptr %t365, ptr @.str15078) store i32 0, ptr @lp_site call void @lp_free(ptr %t365) %t367 = call ptr @fn_emit_bind(ptr %t366) %t368 = call ptr @fn_val(ptr %t367, ptr @.str15079) store ptr %t368, ptr %retval br label %ret ret: %t369 = load ptr, ptr %retval ret ptr %t369 } define i32 @fn_first_arg_is_text(ptr %arg_e) { entry: %retval = alloca i32 %t0 = alloca ptr %t20 = alloca ptr %t43 = 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 %LSlice, ptr %t11, i32 0, i32 1 %t15 = load i32, ptr %t14 %t16 = icmp ult i32 0, %t15 br i1 %t16, label %ixok3, label %ixbad4 ixbad4: store i32 8332, ptr @lp_site %t17 = call ptr @lp_win_stdio(i32 2) store i32 0, ptr @lp_site call i32 (ptr, ptr, ...) @fprintf(ptr %t17, ptr @.fmt_bounds, ptr @.str15080, i32 0, i32 %t15) call void @exit(i32 1) unreachable ixok3: %t18 = getelementptr inbounds ptr, ptr %t13, i32 0 %t19 = load ptr, ptr %t18 store ptr %t19, ptr %t20 %t21 = load ptr, ptr %t20 %t22 = getelementptr inbounds %Cmp_Node, ptr %t21, i32 0, i32 0 %t23 = load i32, ptr %t22 %t24 = icmp eq i32 %t23, 42 %t25 = zext i1 %t24 to i32 %t26 = icmp ne i32 %t25, 0 br i1 %t26, label %then5, label %ifend7 then5: %t27 = load ptr, ptr %t20 %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 @.str15082) %t31 = icmp ne i32 %t30, 0 br i1 %t31, label %then8, label %ifend10 then8: store i32 1, ptr %retval br label %ret ifend10: %t32 = load ptr, ptr %t20 %t33 = getelementptr inbounds %Cmp_Node, ptr %t32, i32 0, i32 4 %t34 = load ptr, ptr %t33 store ptr %t34, ptr %t20 br label %ifend7 ifend7: %t35 = load ptr, ptr %t20 %t36 = getelementptr inbounds %Cmp_Node, ptr %t35, i32 0, i32 0 %t37 = load i32, ptr %t36 %t38 = icmp eq i32 %t37, 31 %t39 = zext i1 %t38 to i32 %t40 = icmp ne i32 %t39, 0 br i1 %t40, label %then11, label %ifend13 then11: store i32 1, ptr %retval br label %ret ifend13: %t41 = load ptr, ptr %t20 %t42 = call ptr @fn_static_type(ptr %t41) store ptr %t42, ptr %t43 %t44 = load ptr, ptr %t43 %t45 = icmp eq ptr %t44, null %t46 = zext i1 %t45 to i32 %t47 = icmp ne i32 %t46, 0 br i1 %t47, label %then14, label %ifend16 then14: store i32 0, ptr %retval br label %ret ifend16: %t48 = load ptr, ptr %t43 %t49 = call i32 @lp_str_eq(ptr %t48, ptr @.str15083) store i32 %t49, ptr %retval br label %ret ret: %t50 = load i32, ptr %retval ret i32 %t50 } define ptr @fn_tpl_empty() { entry: %retval = alloca ptr %t1 = alloca ptr %t0 = call ptr @fn_node(i32 31) store ptr %t0, ptr %t1 %t2 = load ptr, ptr %t1 %t3 = getelementptr inbounds %Cmp_Node, ptr %t2, i32 0, i32 1 store ptr @.str15084, ptr %t3 %t4 = load ptr, ptr %t1 store ptr %t4, ptr %retval br label %ret ret: %t5 = load ptr, ptr %retval ret ptr %t5 } define ptr @fn_emit_alias_or_fail(ptr %arg_ns, ptr %arg_meth, ptr %arg_e) { entry: %retval = alloca ptr %t0 = alloca ptr %t1 = alloca ptr %t2 = alloca ptr %t6 = alloca i32 store ptr %arg_ns, ptr %t0 store ptr %arg_meth, ptr %t1 store ptr %arg_e, ptr %t2 %t3 = load ptr, ptr %t0 %t4 = load ptr, ptr %t1 %t5 = call i32 @fn_ns_alias_find(ptr %t3, ptr %t4) store i32 %t5, ptr %t6 %t7 = load i32, ptr %t6 %t8 = icmp slt i32 %t7, 0 %t9 = zext i1 %t8 to i32 %t10 = icmp ne i32 %t9, 0 br i1 %t10, label %then0, label %ifend2 then0: %t11 = load ptr, ptr %t0 store i32 8333, ptr @lp_site %t12 = call ptr @lp_str_concat(ptr @.str15085, ptr %t11) store i32 0, ptr @lp_site store i32 8334, ptr @lp_site %t13 = call ptr @lp_str_concat(ptr %t12, ptr @.str15087) store i32 0, ptr @lp_site call void @lp_free(ptr %t12) %t14 = load ptr, ptr %t1 store i32 8335, ptr @lp_site %t15 = call ptr @lp_str_concat(ptr %t13, ptr %t14) store i32 0, ptr @lp_site call void @lp_free(ptr %t13) call void @fn_perr(ptr %t15) br label %ifend2 ifend2: %t16 = load i32, ptr %t6 %t17 = load ptr, ptr %t2 %t18 = call ptr @fn_emit_alias_call(i32 %t16, ptr %t17) store ptr %t18, ptr %retval br label %ret ret: %t19 = load ptr, ptr %retval ret ptr %t19 } 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 %t409 = alloca ptr %t429 = alloca ptr %t441 = alloca ptr %t448 = alloca i32 %t490 = alloca ptr %t492 = alloca ptr %t506 = alloca i32 %t514 = alloca ptr %t515 = alloca ptr %t522 = alloca ptr %t534 = alloca ptr %t545 = alloca ptr %t598 = alloca ptr %t611 = alloca ptr %t618 = alloca ptr %t620 = alloca ptr %t622 = alloca ptr %t629 = alloca ptr %t638 = alloca ptr %t647 = alloca ptr %t652 = alloca ptr %t657 = alloca ptr %t677 = alloca ptr %t719 = alloca ptr %t1173 = alloca i32 %t1189 = alloca ptr %t1202 = alloca ptr %t1203 = alloca i32 %t1251 = alloca i32 %t1267 = alloca ptr %t1280 = alloca ptr %t1281 = alloca i32 %t1329 = alloca i32 %t1346 = alloca i32 %t1374 = alloca ptr %t1377 = alloca i32 %t1430 = 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 @.str15088) %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 @.str15089) %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 @.str15090) %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 @.str15091) %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) store i32 8336, ptr @lp_site %t42 = call ptr @lp_str_concat(ptr %t41, ptr @.str15092) store i32 0, ptr @lp_site %t43 = load ptr, ptr %t1 store i32 8337, ptr @lp_site %t44 = call ptr @lp_str_concat(ptr %t42, ptr %t43) store i32 0, ptr @lp_site call void @lp_free(ptr %t42) %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 @.str15094) %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 = load ptr, ptr %t2 %t64 = call ptr @fn_emit_alias_or_fail(ptr @.str15095, ptr %t62, ptr %t63) store ptr %t64, ptr %retval br label %ret ifend16: %t65 = load ptr, ptr %t0 %t66 = call i32 @lp_str_eq(ptr %t65, ptr @.str15096) %t67 = icmp ne i32 %t66, 0 br i1 %t67, label %then20, label %ifend22 then20: %t68 = load ptr, ptr %t1 %t69 = call i32 @fn_is_text_ns(ptr %t68) %t70 = icmp ne i32 %t69, 0 br i1 %t70, label %then23, label %ifend25 then23: %t71 = load ptr, ptr %t1 %t72 = load ptr, ptr %t2 %t73 = call ptr @fn_emit_text_ns(ptr %t71, ptr %t72) store ptr %t73, ptr %retval br label %ret ifend25: %t74 = load ptr, ptr %t1 %t75 = load ptr, ptr %t2 %t76 = call ptr @fn_emit_alias_or_fail(ptr @.str15097, ptr %t74, ptr %t75) store ptr %t76, ptr %retval br label %ret ifend22: %t77 = load ptr, ptr %t0 %t78 = call i32 @lp_str_eq(ptr %t77, ptr @.str15098) %t79 = icmp ne i32 %t78, 0 br i1 %t79, label %then26, label %ifend28 then26: %t80 = load ptr, ptr %t1 %t81 = call i32 @fn_is_list_ns(ptr %t80) %t82 = icmp ne i32 %t81, 0 br i1 %t82, label %then29, label %ifend31 then29: %t83 = load ptr, ptr %t1 %t84 = load ptr, ptr %t2 %t85 = call ptr @fn_emit_list_ns(ptr %t83, ptr %t84) store ptr %t85, ptr %retval br label %ret ifend31: %t86 = load ptr, ptr %t1 %t87 = load ptr, ptr %t2 %t88 = call ptr @fn_emit_alias_or_fail(ptr @.str15099, ptr %t86, ptr %t87) store ptr %t88, ptr %retval br label %ret ifend28: %t89 = load ptr, ptr %t0 %t90 = call i32 @lp_str_eq(ptr %t89, ptr @.str15100) %t91 = icmp ne i32 %t90, 0 br i1 %t91, label %then32, label %ifend34 then32: %t92 = load ptr, ptr %t1 %t93 = call i32 @fn_is_ease_ns(ptr %t92) %t94 = icmp ne i32 %t93, 0 br i1 %t94, label %then35, label %ifend37 then35: %t95 = load ptr, ptr %t1 %t96 = load ptr, ptr %t2 %t97 = call ptr @fn_emit_ease_ns(ptr %t95, ptr %t96) store ptr %t97, ptr %retval br label %ret ifend37: %t98 = load ptr, ptr %t1 %t99 = load ptr, ptr %t2 %t100 = call ptr @fn_emit_alias_or_fail(ptr @.str15101, ptr %t98, ptr %t99) store ptr %t100, ptr %retval br label %ret ifend34: %t101 = load ptr, ptr %t0 %t102 = call i32 @lp_str_eq(ptr %t101, ptr @.str15102) %t103 = icmp ne i32 %t102, 0 br i1 %t103, label %then38, label %ifend40 then38: %t104 = load ptr, ptr %t1 %t105 = call i32 @fn_is_anim_ns(ptr %t104) %t106 = icmp ne i32 %t105, 0 br i1 %t106, label %then41, label %ifend43 then41: %t107 = load ptr, ptr %t1 %t108 = load ptr, ptr %t2 %t109 = call ptr @fn_emit_anim_ns(ptr %t107, ptr %t108) store ptr %t109, ptr %retval br label %ret ifend43: br label %ifend40 ifend40: %t110 = load ptr, ptr %t0 %t111 = call i32 @lp_str_eq(ptr %t110, ptr @.str15103) %t112 = icmp ne i32 %t111, 0 br i1 %t112, label %then44, label %ifend46 then44: %t113 = load ptr, ptr %t1 %t114 = call i32 @fn_is_tween_ns(ptr %t113) %t115 = icmp ne i32 %t114, 0 br i1 %t115, label %then47, label %ifend49 then47: %t116 = load ptr, ptr %t1 %t117 = load ptr, ptr %t2 %t118 = call ptr @fn_emit_tween_ns(ptr %t116, ptr %t117) store ptr %t118, ptr %retval br label %ret ifend49: br label %ifend46 ifend46: %t119 = load ptr, ptr %t0 %t120 = call i32 @lp_str_eq(ptr %t119, ptr @.str15104) %t121 = icmp ne i32 %t120, 0 br i1 %t121, label %then50, label %ifend52 then50: %t122 = load ptr, ptr %t1 %t123 = call i32 @fn_is_collide_ns(ptr %t122) %t124 = icmp ne i32 %t123, 0 br i1 %t124, label %then53, label %ifend55 then53: %t125 = load ptr, ptr %t1 %t126 = load ptr, ptr %t2 %t127 = call ptr @fn_emit_collide_ns(ptr %t125, ptr %t126) store ptr %t127, ptr %retval br label %ret ifend55: %t128 = load ptr, ptr %t1 %t129 = load ptr, ptr %t2 %t130 = call ptr @fn_emit_alias_or_fail(ptr @.str15105, ptr %t128, ptr %t129) store ptr %t130, ptr %retval br label %ret ifend52: %t131 = load ptr, ptr %t0 %t132 = call i32 @lp_str_eq(ptr %t131, ptr @.str15106) %t133 = icmp ne i32 %t132, 0 br i1 %t133, label %then56, label %ifend58 then56: %t134 = load ptr, ptr %t1 %t135 = call i32 @fn_is_mem_ns(ptr %t134) %t136 = icmp ne i32 %t135, 0 br i1 %t136, label %then59, label %ifend61 then59: %t137 = load ptr, ptr %t1 %t138 = load ptr, ptr %t2 %t139 = call ptr @fn_emit_mem_ns(ptr %t137, ptr %t138) store ptr %t139, ptr %retval br label %ret ifend61: %t140 = load ptr, ptr %t1 %t141 = load ptr, ptr %t2 %t142 = call ptr @fn_emit_alias_or_fail(ptr @.str15107, ptr %t140, ptr %t141) store ptr %t142, ptr %retval br label %ret ifend58: %t143 = load ptr, ptr %t0 %t144 = call i32 @lp_str_eq(ptr %t143, ptr @.str15108) %t145 = icmp ne i32 %t144, 0 br i1 %t145, label %then62, label %ifend64 then62: %t146 = load ptr, ptr %t1 %t147 = call i32 @fn_is_colorfn_ns(ptr %t146) %t148 = icmp ne i32 %t147, 0 br i1 %t148, label %then65, label %ifend67 then65: %t149 = load ptr, ptr %t1 %t150 = load ptr, ptr %t2 %t151 = call ptr @fn_emit_colorfn_ns(ptr %t149, ptr %t150) store ptr %t151, ptr %retval br label %ret ifend67: %t152 = load ptr, ptr %t1 %t153 = load ptr, ptr %t2 %t154 = call ptr @fn_emit_alias_or_fail(ptr @.str15109, ptr %t152, ptr %t153) store ptr %t154, ptr %retval br label %ret ifend64: %t155 = load ptr, ptr %t0 %t156 = call i32 @lp_str_eq(ptr %t155, ptr @.str15110) %t157 = icmp ne i32 %t156, 0 br i1 %t157, label %then68, label %ifend70 then68: %t158 = load ptr, ptr %t1 %t159 = call i32 @fn_is_time_ns(ptr %t158) %t160 = icmp ne i32 %t159, 0 br i1 %t160, label %then71, label %ifend73 then71: %t161 = load ptr, ptr %t1 %t162 = load ptr, ptr %t2 %t163 = call ptr @fn_emit_time_ns(ptr %t161, ptr %t162) store ptr %t163, ptr %retval br label %ret ifend73: %t164 = load ptr, ptr %t1 %t165 = load ptr, ptr %t2 %t166 = call ptr @fn_emit_alias_or_fail(ptr @.str15111, ptr %t164, ptr %t165) store ptr %t166, ptr %retval br label %ret ifend70: %t167 = load ptr, ptr %t0 %t168 = call i32 @lp_str_eq(ptr %t167, ptr @.str15112) %t169 = icmp ne i32 %t168, 0 br i1 %t169, label %then74, label %ifend76 then74: %t170 = load ptr, ptr %t1 %t171 = call i32 @fn_is_hash_ns(ptr %t170) %t172 = icmp ne i32 %t171, 0 br i1 %t172, label %then77, label %ifend79 then77: %t173 = load ptr, ptr %t1 %t174 = load ptr, ptr %t2 %t175 = call ptr @fn_emit_hash_ns(ptr %t173, ptr %t174) store ptr %t175, ptr %retval br label %ret ifend79: %t176 = load ptr, ptr %t1 %t177 = load ptr, ptr %t2 %t178 = call ptr @fn_emit_alias_or_fail(ptr @.str15113, ptr %t176, ptr %t177) store ptr %t178, ptr %retval br label %ret ifend76: %t179 = load ptr, ptr %t0 %t180 = call i32 @lp_str_eq(ptr %t179, ptr @.str15114) %t181 = icmp ne i32 %t180, 0 br i1 %t181, label %then80, label %ifend82 then80: %t182 = load ptr, ptr %t1 %t183 = call i32 @fn_is_crypto_ns(ptr %t182) %t184 = icmp ne i32 %t183, 0 br i1 %t184, label %then83, label %ifend85 then83: %t185 = load ptr, ptr %t1 %t186 = load ptr, ptr %t2 %t187 = call ptr @fn_emit_crypto_ns(ptr %t185, ptr %t186) store ptr %t187, ptr %retval br label %ret ifend85: %t188 = load ptr, ptr %t1 %t189 = load ptr, ptr %t2 %t190 = call ptr @fn_emit_alias_or_fail(ptr @.str15115, ptr %t188, ptr %t189) store ptr %t190, ptr %retval br label %ret ifend82: %t191 = load ptr, ptr %t0 %t192 = call i32 @lp_str_eq(ptr %t191, ptr @.str15116) %t193 = icmp ne i32 %t192, 0 br i1 %t193, label %then86, label %ifend88 then86: %t194 = load ptr, ptr %t1 %t195 = call i32 @fn_is_uuid_ns(ptr %t194) %t196 = icmp ne i32 %t195, 0 br i1 %t196, label %then89, label %ifend91 then89: %t197 = load ptr, ptr %t1 %t198 = load ptr, ptr %t2 %t199 = call ptr @fn_emit_uuid_ns(ptr %t197, ptr %t198) store ptr %t199, ptr %retval br label %ret ifend91: %t200 = load ptr, ptr %t1 %t201 = load ptr, ptr %t2 %t202 = call ptr @fn_emit_alias_or_fail(ptr @.str15117, ptr %t200, ptr %t201) store ptr %t202, ptr %retval br label %ret ifend88: %t203 = load ptr, ptr %t0 %t204 = call i32 @lp_str_eq(ptr %t203, ptr @.str15118) %t205 = icmp ne i32 %t204, 0 br i1 %t205, label %then92, label %ifend94 then92: %t206 = load ptr, ptr %t1 %t207 = call i32 @fn_is_noise_ns(ptr %t206) %t208 = icmp ne i32 %t207, 0 br i1 %t208, label %then95, label %ifend97 then95: %t209 = load ptr, ptr %t1 %t210 = load ptr, ptr %t2 %t211 = call ptr @fn_emit_noise_ns(ptr %t209, ptr %t210) store ptr %t211, ptr %retval br label %ret ifend97: %t212 = load ptr, ptr %t1 %t213 = load ptr, ptr %t2 %t214 = call ptr @fn_emit_alias_or_fail(ptr @.str15119, ptr %t212, ptr %t213) store ptr %t214, ptr %retval br label %ret ifend94: %t215 = load ptr, ptr %t0 %t216 = call i32 @lp_str_eq(ptr %t215, ptr @.str15120) %t217 = icmp ne i32 %t216, 0 br i1 %t217, label %then98, label %ifend100 then98: %t218 = load ptr, ptr %t1 %t219 = call i32 @fn_is_log_ns(ptr %t218) %t220 = icmp ne i32 %t219, 0 br i1 %t220, label %then101, label %ifend103 then101: %t221 = load ptr, ptr %t1 %t222 = load ptr, ptr %t2 %t223 = call ptr @fn_emit_log_ns(ptr %t221, ptr %t222) store ptr %t223, ptr %retval br label %ret ifend103: %t224 = load ptr, ptr %t1 %t225 = load ptr, ptr %t2 %t226 = call ptr @fn_emit_alias_or_fail(ptr @.str15121, ptr %t224, ptr %t225) store ptr %t226, ptr %retval br label %ret ifend100: %t227 = load ptr, ptr %t0 %t228 = call i32 @lp_str_eq(ptr %t227, ptr @.str15122) %t229 = icmp ne i32 %t228, 0 br i1 %t229, label %then104, label %ifend106 then104: %t230 = load ptr, ptr %t1 %t231 = call i32 @fn_is_mem_fence_ns(ptr %t230) %t232 = icmp ne i32 %t231, 0 br i1 %t232, label %then107, label %ifend109 then107: %t233 = load ptr, ptr %t1 %t234 = load ptr, ptr %t2 %t235 = call ptr @fn_emit_mem_fence_ns(ptr %t233, ptr %t234) store ptr %t235, ptr %retval br label %ret ifend109: %t236 = load ptr, ptr %t1 %t237 = load ptr, ptr %t2 %t238 = call ptr @fn_emit_alias_or_fail(ptr @.str15123, ptr %t236, ptr %t237) store ptr %t238, ptr %retval br label %ret ifend106: %t239 = load ptr, ptr %t0 %t240 = call i32 @lp_str_eq(ptr %t239, ptr @.str15124) %t241 = icmp ne i32 %t240, 0 br i1 %t241, label %then110, label %ifend112 then110: %t242 = load ptr, ptr %t1 %t243 = call i32 @fn_is_os_ns(ptr %t242) %t244 = icmp ne i32 %t243, 0 br i1 %t244, label %then113, label %ifend115 then113: %t245 = load ptr, ptr %t1 %t246 = load ptr, ptr %t2 %t247 = call ptr @fn_emit_os_ns(ptr %t245, ptr %t246) store ptr %t247, ptr %retval br label %ret ifend115: %t248 = load ptr, ptr %t1 %t249 = load ptr, ptr %t2 %t250 = call ptr @fn_emit_alias_or_fail(ptr @.str15125, ptr %t248, ptr %t249) store ptr %t250, ptr %retval br label %ret ifend112: %t251 = load ptr, ptr %t0 %t252 = call i32 @lp_str_eq(ptr %t251, ptr @.str15126) %t253 = icmp ne i32 %t252, 0 br i1 %t253, label %then116, label %ifend118 then116: %t254 = load ptr, ptr %t1 %t255 = call i32 @fn_is_unicode_ns(ptr %t254) %t256 = icmp ne i32 %t255, 0 br i1 %t256, label %then119, label %ifend121 then119: %t257 = load ptr, ptr %t1 %t258 = load ptr, ptr %t2 %t259 = call ptr @fn_emit_unicode_ns(ptr %t257, ptr %t258) store ptr %t259, ptr %retval br label %ret ifend121: %t260 = load ptr, ptr %t1 %t261 = load ptr, ptr %t2 %t262 = call ptr @fn_emit_alias_or_fail(ptr @.str15127, ptr %t260, ptr %t261) store ptr %t262, ptr %retval br label %ret ifend118: %t263 = load ptr, ptr %t0 %t264 = call i32 @lp_str_eq(ptr %t263, ptr @.str15128) %t265 = icmp ne i32 %t264, 0 br i1 %t265, label %then122, label %ifend124 then122: %t266 = load ptr, ptr %t1 %t267 = call i32 @fn_is_fs_ns(ptr %t266) %t268 = icmp ne i32 %t267, 0 br i1 %t268, label %then125, label %ifend127 then125: %t269 = load ptr, ptr %t1 %t270 = load ptr, ptr %t2 %t271 = call ptr @fn_emit_fs_ns(ptr %t269, ptr %t270) store ptr %t271, ptr %retval br label %ret ifend127: %t272 = load ptr, ptr %t1 %t273 = load ptr, ptr %t2 %t274 = call ptr @fn_emit_alias_or_fail(ptr @.str15129, ptr %t272, ptr %t273) store ptr %t274, ptr %retval br label %ret ifend124: %t275 = load ptr, ptr %t0 %t276 = call i32 @lp_str_eq(ptr %t275, ptr @.str15130) %t277 = icmp ne i32 %t276, 0 br i1 %t277, label %then128, label %ifend130 then128: %t278 = load ptr, ptr %t1 %t279 = call i32 @fn_is_path_ns(ptr %t278) %t280 = icmp ne i32 %t279, 0 br i1 %t280, label %then131, label %ifend133 then131: %t281 = load ptr, ptr %t1 %t282 = load ptr, ptr %t2 %t283 = call ptr @fn_emit_path_ns(ptr %t281, ptr %t282) store ptr %t283, ptr %retval br label %ret ifend133: %t284 = load ptr, ptr %t1 %t285 = load ptr, ptr %t2 %t286 = call ptr @fn_emit_alias_or_fail(ptr @.str15131, ptr %t284, ptr %t285) store ptr %t286, ptr %retval br label %ret ifend130: %t287 = load ptr, ptr %t0 %t288 = call i32 @lp_str_eq(ptr %t287, ptr @.str15132) %t289 = icmp ne i32 %t288, 0 br i1 %t289, label %then134, label %ifend136 then134: %t290 = load ptr, ptr %t1 %t291 = call i32 @fn_is_build_ns(ptr %t290) %t292 = icmp ne i32 %t291, 0 br i1 %t292, label %then137, label %ifend139 then137: %t293 = load ptr, ptr %t1 %t294 = load ptr, ptr %t2 %t295 = call ptr @fn_emit_build_ns(ptr %t293, ptr %t294) store ptr %t295, ptr %retval br label %ret ifend139: %t296 = load ptr, ptr %t1 %t297 = load ptr, ptr %t2 %t298 = call ptr @fn_emit_alias_or_fail(ptr @.str15133, ptr %t296, ptr %t297) store ptr %t298, ptr %retval br label %ret ifend136: %t299 = load ptr, ptr %t0 %t300 = call i32 @lp_str_eq(ptr %t299, ptr @.str15134) %t301 = icmp ne i32 %t300, 0 br i1 %t301, label %then140, label %ifend142 then140: %t302 = load ptr, ptr %t1 %t303 = call i32 @fn_is_mime_ns(ptr %t302) %t304 = icmp ne i32 %t303, 0 br i1 %t304, label %then143, label %ifend145 then143: %t305 = load ptr, ptr %t1 %t306 = load ptr, ptr %t2 %t307 = call ptr @fn_emit_mime_ns(ptr %t305, ptr %t306) store ptr %t307, ptr %retval br label %ret ifend145: %t308 = load ptr, ptr %t1 %t309 = load ptr, ptr %t2 %t310 = call ptr @fn_emit_alias_or_fail(ptr @.str15135, ptr %t308, ptr %t309) store ptr %t310, ptr %retval br label %ret ifend142: %t311 = load ptr, ptr %t0 %t312 = call i32 @lp_str_eq(ptr %t311, ptr @.str15136) %t313 = icmp ne i32 %t312, 0 br i1 %t313, label %then146, label %ifend148 then146: %t314 = load ptr, ptr %t1 %t315 = call i32 @fn_is_vector_ns(ptr %t314) %t316 = icmp ne i32 %t315, 0 br i1 %t316, label %then149, label %ifend151 then149: %t317 = load ptr, ptr %t1 %t318 = load ptr, ptr %t2 %t319 = call ptr @fn_emit_vector_ns(ptr %t317, ptr %t318) store ptr %t319, ptr %retval br label %ret ifend151: %t320 = load ptr, ptr %t1 %t321 = load ptr, ptr %t2 %t322 = call ptr @fn_emit_alias_or_fail(ptr @.str15137, ptr %t320, ptr %t321) store ptr %t322, ptr %retval br label %ret ifend148: %t323 = load ptr, ptr %t0 %t324 = call i32 @lp_str_eq(ptr %t323, ptr @.str15138) %t325 = icmp ne i32 %t324, 0 br i1 %t325, label %then152, label %ifend154 then152: %t326 = load ptr, ptr %t1 %t327 = call i32 @fn_is_ivec_ns(ptr %t326) %t328 = icmp ne i32 %t327, 0 br i1 %t328, label %then155, label %ifend157 then155: %t329 = load ptr, ptr %t1 %t330 = load ptr, ptr %t2 %t331 = call ptr @fn_emit_ivec_ns(ptr %t329, ptr %t330) store ptr %t331, ptr %retval br label %ret ifend157: %t332 = load ptr, ptr %t1 %t333 = load ptr, ptr %t2 %t334 = call ptr @fn_emit_alias_or_fail(ptr @.str15139, ptr %t332, ptr %t333) store ptr %t334, ptr %retval br label %ret ifend154: %t335 = load ptr, ptr %t0 %t336 = call i32 @lp_str_eq(ptr %t335, ptr @.str15140) %t337 = icmp ne i32 %t336, 0 br i1 %t337, label %then158, label %ifend160 then158: %t338 = load ptr, ptr %t1 %t339 = call i32 @fn_is_rect_ns(ptr %t338) %t340 = icmp ne i32 %t339, 0 br i1 %t340, label %then161, label %ifend163 then161: %t341 = load ptr, ptr %t1 %t342 = load ptr, ptr %t2 %t343 = call ptr @fn_emit_rect_ns(ptr %t341, ptr %t342) store ptr %t343, ptr %retval br label %ret ifend163: %t344 = load ptr, ptr %t1 %t345 = load ptr, ptr %t2 %t346 = call ptr @fn_emit_alias_or_fail(ptr @.str15141, ptr %t344, ptr %t345) store ptr %t346, ptr %retval br label %ret ifend160: %t347 = load ptr, ptr %t0 %t348 = call i32 @lp_str_eq(ptr %t347, ptr @.str15142) %t349 = icmp ne i32 %t348, 0 br i1 %t349, label %then164, label %ifend166 then164: %t350 = load ptr, ptr %t1 %t351 = call i32 @fn_is_duration_ns(ptr %t350) %t352 = icmp ne i32 %t351, 0 br i1 %t352, label %then167, label %ifend169 then167: %t353 = load ptr, ptr %t1 %t354 = load ptr, ptr %t2 %t355 = call ptr @fn_emit_duration_ns(ptr %t353, ptr %t354) store ptr %t355, ptr %retval br label %ret ifend169: %t356 = load ptr, ptr %t1 %t357 = load ptr, ptr %t2 %t358 = call ptr @fn_emit_alias_or_fail(ptr @.str15143, ptr %t356, ptr %t357) store ptr %t358, ptr %retval br label %ret ifend166: %t359 = load ptr, ptr %t0 %t360 = call i32 @lp_str_eq(ptr %t359, ptr @.str15144) %t361 = icmp ne i32 %t360, 0 br i1 %t361, label %then170, label %ifend172 then170: %t362 = load ptr, ptr %t1 %t363 = call i32 @fn_is_date_ns(ptr %t362) %t364 = icmp ne i32 %t363, 0 br i1 %t364, label %then173, label %ifend175 then173: %t365 = load ptr, ptr %t1 %t366 = load ptr, ptr %t2 %t367 = call ptr @fn_emit_date_ns(ptr %t365, ptr %t366) store ptr %t367, ptr %retval br label %ret ifend175: %t368 = load ptr, ptr %t1 %t369 = load ptr, ptr %t2 %t370 = call ptr @fn_emit_alias_or_fail(ptr @.str15145, ptr %t368, ptr %t369) store ptr %t370, ptr %retval br label %ret ifend172: %t371 = load ptr, ptr %t0 %t372 = call i32 @lp_str_eq(ptr %t371, ptr @.str15146) %t373 = icmp ne i32 %t372, 0 br i1 %t373, label %then176, label %ifend178 then176: %t374 = load ptr, ptr %t1 %t375 = call i32 @fn_is_datetime_ns(ptr %t374) %t376 = icmp ne i32 %t375, 0 br i1 %t376, label %then179, label %ifend181 then179: %t377 = load ptr, ptr %t1 %t378 = load ptr, ptr %t2 %t379 = call ptr @fn_emit_datetime_ns(ptr %t377, ptr %t378) store ptr %t379, ptr %retval br label %ret ifend181: %t380 = load ptr, ptr %t1 %t381 = load ptr, ptr %t2 %t382 = call ptr @fn_emit_alias_or_fail(ptr @.str15147, ptr %t380, ptr %t381) store ptr %t382, ptr %retval br label %ret ifend178: %t383 = load ptr, ptr %t0 %t384 = call i32 @lp_str_eq(ptr %t383, ptr @.str15148) %t385 = icmp ne i32 %t384, 0 br i1 %t385, label %then182, label %ifend184 then182: %t386 = load ptr, ptr %t1 %t387 = call i32 @fn_is_clock_ns(ptr %t386) %t388 = icmp ne i32 %t387, 0 br i1 %t388, label %then185, label %ifend187 then185: %t389 = load ptr, ptr %t1 %t390 = load ptr, ptr %t2 %t391 = call ptr @fn_emit_clock_ns(ptr %t389, ptr %t390) store ptr %t391, ptr %retval br label %ret ifend187: %t392 = load ptr, ptr %t1 %t393 = load ptr, ptr %t2 %t394 = call ptr @fn_emit_alias_or_fail(ptr @.str15149, ptr %t392, ptr %t393) store ptr %t394, ptr %retval br label %ret ifend184: %t395 = load ptr, ptr %t0 %t396 = call i32 @lp_str_eq(ptr %t395, ptr @.str15150) %t397 = icmp ne i32 %t396, 0 br i1 %t397, label %then188, label %ifend190 then188: %t398 = load ptr, ptr %t1 %t399 = call i32 @lp_str_eq(ptr %t398, ptr @.str15151) %t400 = icmp ne i32 %t399, 0 br i1 %t400, label %then191, label %ifend193 then191: call void @fn_use_pak() %t401 = load i32, ptr @g_g_windowed %t402 = icmp ne i32 %t401, 0 br i1 %t402, label %then194, label %ifend196 then194: call void @fn_emit(ptr @.str15152) br label %ifend196 ifend196: %t403 = call ptr @fn_val(ptr @.str15153, ptr @.str15154) store ptr %t403, ptr %retval br label %ret ifend193: %t404 = load ptr, ptr %t1 %t405 = call i32 @lp_str_eq(ptr %t404, ptr @.str15155) %t406 = icmp ne i32 %t405, 0 br i1 %t406, label %then197, label %ifend199 then197: call void @fn_use_pak() %t407 = load ptr, ptr %t2 %t408 = call ptr @fn_arg_code(ptr %t407, i32 0) store ptr %t408, ptr %t409 %t410 = load i32, ptr @g_g_windowed %t411 = icmp ne i32 %t410, 0 br i1 %t411, label %then200, label %ifend202 then200: %t412 = load ptr, ptr %t409 store i32 8338, ptr @lp_site %t413 = call ptr @lp_str_concat(ptr @.str15156, ptr %t412) store i32 0, ptr @lp_site store i32 8339, ptr @lp_site %t414 = call ptr @lp_str_concat(ptr %t413, ptr @.str15157) store i32 0, ptr @lp_site call void @lp_free(ptr %t413) call void @fn_emit(ptr %t414) br label %ifend202 ifend202: %t415 = call ptr @fn_val(ptr @.str15158, ptr @.str15159) store ptr %t415, ptr %retval br label %ret ifend199: %t416 = load ptr, ptr %t1 %t417 = call i32 @lp_str_eq(ptr %t416, ptr @.str15160) %t418 = icmp ne i32 %t417, 0 br i1 %t418, label %then203, label %ifend205 then203: call void @fn_use_pak() %t419 = load i32, ptr @g_g_windowed %t420 = icmp ne i32 %t419, 0 br i1 %t420, label %then206, label %ifend208 then206: %t421 = call ptr @fn_emit_bind(ptr @.str15161) %t422 = call ptr @fn_val(ptr %t421, ptr @.str15162) store ptr %t422, ptr %retval br label %ret ifend208: %t423 = call ptr @fn_val(ptr @.str15163, ptr @.str15164) store ptr %t423, ptr %retval br label %ret ifend205: %t424 = load ptr, ptr %t1 %t425 = call i32 @lp_str_eq(ptr %t424, ptr @.str15165) %t426 = icmp ne i32 %t425, 0 br i1 %t426, label %then209, label %ifend211 then209: call void @fn_use_pak() %t427 = load ptr, ptr %t2 %t428 = call ptr @fn_arg_code(ptr %t427, i32 0) store ptr %t428, ptr %t429 %t430 = load i32, ptr @g_g_windowed %t431 = icmp ne i32 %t430, 0 br i1 %t431, label %then212, label %ifend214 then212: %t432 = load ptr, ptr %t429 store i32 8340, ptr @lp_site %t433 = call ptr @lp_str_concat(ptr @.str15166, ptr %t432) store i32 0, ptr @lp_site store i32 8341, ptr @lp_site %t434 = call ptr @lp_str_concat(ptr %t433, ptr @.str15167) store i32 0, ptr @lp_site call void @lp_free(ptr %t433) call void @fn_emit(ptr %t434) br label %ifend214 ifend214: %t435 = call ptr @fn_val(ptr @.str15168, ptr @.str15169) store ptr %t435, ptr %retval br label %ret ifend211: %t436 = load ptr, ptr %t1 %t437 = call i32 @lp_str_eq(ptr %t436, ptr @.str15170) %t438 = icmp ne i32 %t437, 0 br i1 %t438, label %then215, label %ifend217 then215: call void @fn_use_pak() %t439 = load ptr, ptr %t2 %t440 = call ptr @fn_arg_code(ptr %t439, i32 0) store ptr %t440, ptr %t441 %t442 = load i32, ptr @g_g_windowed %t443 = icmp ne i32 %t442, 0 br i1 %t443, label %then218, label %ifend220 then218: %t444 = load ptr, ptr %t441 store i32 8342, ptr @lp_site %t445 = call ptr @lp_str_concat(ptr @.str15171, ptr %t444) store i32 0, ptr @lp_site store i32 8343, ptr @lp_site %t446 = call ptr @lp_str_concat(ptr %t445, ptr @.str15172) store i32 0, ptr @lp_site call void @lp_free(ptr %t445) call void @fn_emit(ptr %t446) br label %ifend220 ifend220: %t447 = call ptr @fn_val(ptr @.str15173, ptr @.str15174) store ptr %t447, ptr %retval br label %ret ifend217: %t449 = load ptr, ptr %t1 %t450 = call i32 @lp_str_eq(ptr %t449, ptr @.str15175) %t451 = icmp ne i32 %t450, 0 %t452 = zext i1 %t451 to i32 store i32 %t452, ptr %t448 br i1 %t451, label %scend222, label %sc221 sc221: %t453 = load ptr, ptr %t1 %t454 = call i32 @lp_str_eq(ptr %t453, ptr @.str15176) %t455 = icmp ne i32 %t454, 0 %t456 = zext i1 %t455 to i32 store i32 %t456, ptr %t448 br label %scend222 scend222: %t457 = load i32, ptr %t448 %t458 = icmp ne i32 %t457, 0 br i1 %t458, label %then223, label %ifend225 then223: call void @fn_use_pak() %t459 = load i32, ptr @g_g_windowed %t460 = icmp ne i32 %t459, 0 br i1 %t460, label %then226, label %ifend228 then226: %t461 = load ptr, ptr %t1 store i32 8344, ptr @lp_site %t462 = call ptr @lp_str_concat(ptr @.str15177, ptr %t461) store i32 0, ptr @lp_site store i32 8345, ptr @lp_site %t463 = call ptr @lp_str_concat(ptr %t462, ptr @.str15178) store i32 0, ptr @lp_site call void @lp_free(ptr %t462) call void @fn_emit(ptr %t463) br label %ifend228 ifend228: %t464 = call ptr @fn_val(ptr @.str15179, ptr @.str15180) store ptr %t464, ptr %retval br label %ret ifend225: %t465 = load ptr, ptr %t1 %t466 = load ptr, ptr %t2 %t467 = call ptr @fn_emit_alias_or_fail(ptr @.str15181, ptr %t465, ptr %t466) store ptr %t467, ptr %retval br label %ret ifend190: %t468 = load ptr, ptr %t0 %t469 = call i32 @lp_str_eq(ptr %t468, ptr @.str15182) %t470 = icmp ne i32 %t469, 0 br i1 %t470, label %then229, label %ifend231 then229: %t471 = load ptr, ptr %t1 %t472 = call i32 @lp_str_eq(ptr %t471, ptr @.str15183) %t473 = icmp ne i32 %t472, 0 br i1 %t473, label %then232, label %ifend234 then232: %t474 = call ptr @fn_emit_bind(ptr @.str15184) %t475 = call ptr @fn_val(ptr %t474, ptr @.str15185) store ptr %t475, ptr %retval br label %ret ifend234: %t476 = load ptr, ptr %t1 %t477 = call i32 @lp_str_eq(ptr %t476, ptr @.str15186) %t478 = icmp ne i32 %t477, 0 br i1 %t478, label %then235, label %ifend237 then235: %t479 = call ptr @fn_emit_bind(ptr @.str15187) %t480 = call ptr @fn_val(ptr %t479, ptr @.str15188) store ptr %t480, ptr %retval br label %ret ifend237: %t481 = load ptr, ptr %t1 %t482 = call i32 @lp_str_eq(ptr %t481, ptr @.str15189) %t483 = icmp ne i32 %t482, 0 br i1 %t483, label %then238, label %ifend240 then238: %t484 = call ptr @fn_emit_bind(ptr @.str15190) %t485 = call ptr @fn_val(ptr %t484, ptr @.str15191) store ptr %t485, ptr %retval br label %ret ifend240: %t486 = load ptr, ptr %t1 %t487 = call i32 @lp_str_eq(ptr %t486, ptr @.str15192) %t488 = icmp ne i32 %t487, 0 br i1 %t488, label %then241, label %ifend243 then241: %t489 = call ptr @fn_emit_bind(ptr @.str15193) store ptr %t489, ptr %t490 %t491 = call ptr @fn_emit_bind(ptr @.str15194) store ptr %t491, ptr %t492 %t493 = load ptr, ptr %t490 store i32 8346, ptr @lp_site %t494 = call ptr @lp_str_concat(ptr @.str15195, ptr %t493) store i32 0, ptr @lp_site store i32 8347, ptr @lp_site %t495 = call ptr @lp_str_concat(ptr %t494, ptr @.str15196) store i32 0, ptr @lp_site call void @lp_free(ptr %t494) %t496 = load ptr, ptr %t492 store i32 8348, ptr @lp_site %t497 = call ptr @lp_str_concat(ptr %t495, ptr %t496) store i32 0, ptr @lp_site call void @lp_free(ptr %t495) %t498 = call ptr @fn_emit_bind(ptr %t497) %t499 = call ptr @fn_val(ptr %t498, ptr @.str15197) store ptr %t499, ptr %retval br label %ret ifend243: %t500 = load ptr, ptr %t1 %t501 = load ptr, ptr %t2 %t502 = call ptr @fn_emit_alias_or_fail(ptr @.str15198, ptr %t500, ptr %t501) store ptr %t502, ptr %retval br label %ret ifend231: %t503 = load ptr, ptr %t0 %t504 = load ptr, ptr %t1 %t505 = call i32 @fn_ns_alias_find(ptr %t503, ptr %t504) store i32 %t505, ptr %t506 %t507 = load i32, ptr %t506 %t508 = icmp sge i32 %t507, 0 %t509 = zext i1 %t508 to i32 %t510 = icmp ne i32 %t509, 0 br i1 %t510, label %then244, label %ifend246 then244: %t511 = load i32, ptr %t506 %t512 = load ptr, ptr %t2 %t513 = call ptr @fn_emit_alias_call(i32 %t511, ptr %t512) store ptr %t513, ptr %retval br label %ret ifend246: store ptr null, ptr %t514 store ptr null, ptr %t515 %t516 = getelementptr %LSlice, ptr null, i32 1 %t517 = ptrtoint ptr %t516 to i64 store i32 8349, ptr @lp_site %t518 = call ptr @lp_malloc(i64 %t517) store i32 0, ptr @lp_site %t519 = getelementptr inbounds %LSlice, ptr %t518, i32 0, i32 0 store ptr null, ptr %t519 %t520 = getelementptr inbounds %LSlice, ptr %t518, i32 0, i32 1 store i32 0, ptr %t520 %t521 = getelementptr inbounds %LSlice, ptr %t518, i32 0, i32 2 store i32 0, ptr %t521 store ptr %t518, ptr %t522 %t523 = load ptr, ptr %t0 %t524 = call i32 @lp_str_eq(ptr %t523, ptr @.str15199) %t525 = icmp ne i32 %t524, 0 br i1 %t525, label %then247, label %ifend249 then247: %t526 = load ptr, ptr %t1 %t527 = call i32 @lp_str_eq(ptr %t526, ptr @.str15200) %t528 = icmp ne i32 %t527, 0 br i1 %t528, label %then250, label %ifend252 then250: %t529 = call i32 @fn_has_prefabs() %t530 = icmp eq i32 %t529, 0 %t531 = zext i1 %t530 to i32 %t532 = icmp ne i32 %t531, 0 br i1 %t532, label %then253, label %ifend255 then253: call void @fn_perr(ptr @.str15201) br label %ifend255 ifend255: %t533 = call ptr @fn_find_comp(ptr @.str15202) store ptr %t533, ptr %t534 %t535 = load ptr, ptr %t534 %t536 = icmp eq ptr %t535, null %t537 = zext i1 %t536 to i32 %t538 = icmp ne i32 %t537, 0 br i1 %t538, label %then256, label %ifend258 then256: call void @fn_perr(ptr @.str15203) br label %ifend258 ifend258: %t539 = getelementptr %LSlice, ptr null, i32 1 %t540 = ptrtoint ptr %t539 to i64 store i32 8350, ptr @lp_site %t541 = call ptr @lp_malloc(i64 %t540) store i32 0, ptr @lp_site %t542 = getelementptr inbounds %LSlice, ptr %t541, i32 0, i32 0 store ptr null, ptr %t542 %t543 = getelementptr inbounds %LSlice, ptr %t541, i32 0, i32 1 store i32 0, ptr %t543 %t544 = getelementptr inbounds %LSlice, ptr %t541, i32 0, i32 2 store i32 0, ptr %t544 store ptr %t541, ptr %t545 %t546 = load ptr, ptr %t545 %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 %grow259, label %put260 grow259: %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 store i32 8351, ptr @lp_site %t561 = call ptr @lp_realloc(ptr %t560, i64 %t559) store i32 0, ptr @lp_site store ptr %t561, ptr %t549 store i32 %t555, ptr %t548 br label %put260 put260: %t562 = load ptr, ptr %t549 %t563 = getelementptr inbounds ptr, ptr %t562, i32 %t550 store ptr @.str15204, ptr %t563 %t564 = add i32 %t550, 1 store i32 %t564, ptr %t547 %t565 = load ptr, ptr %t545 %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 %grow261, label %put262 grow261: %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 store i32 8352, ptr @lp_site %t580 = call ptr @lp_realloc(ptr %t579, i64 %t578) store i32 0, ptr @lp_site store ptr %t580, ptr %t568 store i32 %t574, ptr %t567 br label %put262 put262: %t581 = load ptr, ptr %t568 %t582 = getelementptr inbounds ptr, ptr %t581, i32 %t569 store ptr @.str15205, ptr %t582 %t583 = add i32 %t569, 1 store i32 %t583, ptr %t566 %t584 = load ptr, ptr %t2 %t585 = load ptr, ptr %t545 call void @fn_reorder_named(ptr %t584, ptr %t585) %t586 = load ptr, ptr %t2 %t587 = getelementptr inbounds %Cmp_Node, ptr %t586, i32 0, i32 7 %t588 = load ptr, ptr %t587 %t589 = getelementptr inbounds %LSlice, ptr %t588, i32 0, i32 0 %t590 = load ptr, ptr %t589 %t591 = getelementptr inbounds %LSlice, ptr %t588, i32 0, i32 1 %t592 = load i32, ptr %t591 %t593 = icmp ult i32 0, %t592 br i1 %t593, label %ixok263, label %ixbad264 ixbad264: store i32 8353, ptr @lp_site %t594 = call ptr @lp_win_stdio(i32 2) store i32 0, ptr @lp_site call i32 (ptr, ptr, ...) @fprintf(ptr %t594, ptr @.fmt_bounds, ptr @.str15206, i32 0, i32 %t592) call void @exit(i32 1) unreachable ixok263: %t595 = getelementptr inbounds ptr, ptr %t590, i32 0 %t596 = load ptr, ptr %t595 %t597 = call ptr @fn_emit_expr(ptr %t596) store ptr %t597, ptr %t598 %t599 = load ptr, ptr %t2 %t600 = getelementptr inbounds %Cmp_Node, ptr %t599, i32 0, i32 7 %t601 = load ptr, ptr %t600 %t602 = getelementptr inbounds %LSlice, ptr %t601, i32 0, i32 0 %t603 = load ptr, ptr %t602 %t604 = getelementptr inbounds %LSlice, ptr %t601, i32 0, i32 1 %t605 = load i32, ptr %t604 %t606 = icmp ult i32 1, %t605 br i1 %t606, label %ixok265, label %ixbad266 ixbad266: store i32 8354, ptr @lp_site %t607 = call ptr @lp_win_stdio(i32 2) store i32 0, ptr @lp_site call i32 (ptr, ptr, ...) @fprintf(ptr %t607, ptr @.fmt_bounds, ptr @.str15207, i32 1, i32 %t605) call void @exit(i32 1) unreachable ixok265: %t608 = getelementptr inbounds ptr, ptr %t603, i32 1 %t609 = load ptr, ptr %t608 %t610 = call ptr @fn_emit_expr(ptr %t609) store ptr %t610, ptr %t611 %t612 = load ptr, ptr %t598 %t613 = getelementptr inbounds %Cmp_Val, ptr %t612, i32 0, i32 0 %t614 = load ptr, ptr %t613 store i32 8355, ptr @lp_site %t615 = call ptr @lp_str_concat(ptr @.str15208, ptr %t614) store i32 0, ptr @lp_site store i32 8356, ptr @lp_site %t616 = call ptr @lp_str_concat(ptr %t615, ptr @.str15209) store i32 0, ptr @lp_site call void @lp_free(ptr %t615) %t617 = call ptr @fn_emit_bind(ptr %t616) store ptr %t617, ptr %t618 %t619 = call ptr @fn_itoa(i32 1024) store ptr %t619, ptr %t620 %t621 = call ptr @fn_ecs_base(ptr @.str15210) store ptr %t621, ptr %t622 %t623 = load ptr, ptr %t622 store i32 8357, ptr @lp_site %t624 = call ptr @lp_str_concat(ptr @.str15211, ptr %t623) store i32 0, ptr @lp_site store i32 8358, ptr @lp_site %t625 = call ptr @lp_str_concat(ptr %t624, ptr @.str15212) store i32 0, ptr @lp_site call void @lp_free(ptr %t624) %t626 = load ptr, ptr %t618 store i32 8359, ptr @lp_site %t627 = call ptr @lp_str_concat(ptr %t625, ptr %t626) store i32 0, ptr @lp_site call void @lp_free(ptr %t625) %t628 = call ptr @fn_emit_bind(ptr %t627) store ptr %t628, ptr %t629 %t630 = load ptr, ptr %t629 store i32 8360, ptr @lp_site %t631 = call ptr @lp_str_concat(ptr @.str15213, ptr %t630) store i32 0, ptr @lp_site store i32 8361, ptr @lp_site %t632 = call ptr @lp_str_concat(ptr %t631, ptr @.str15214) store i32 0, ptr @lp_site call void @lp_free(ptr %t631) %t633 = load ptr, ptr %t534 %t634 = call i32 @fn_field_index(ptr %t633, ptr @.str15215) %t635 = call ptr @fn_itoa(i32 %t634) store i32 8362, ptr @lp_site %t636 = call ptr @lp_str_concat(ptr %t632, ptr %t635) store i32 0, ptr @lp_site call void @lp_free(ptr %t632) %t637 = call ptr @fn_emit_bind(ptr %t636) store ptr %t637, ptr %t638 %t639 = load ptr, ptr %t629 store i32 8363, ptr @lp_site %t640 = call ptr @lp_str_concat(ptr @.str15216, ptr %t639) store i32 0, ptr @lp_site store i32 8364, ptr @lp_site %t641 = call ptr @lp_str_concat(ptr %t640, ptr @.str15217) store i32 0, ptr @lp_site call void @lp_free(ptr %t640) %t642 = load ptr, ptr %t534 %t643 = call i32 @fn_field_index(ptr %t642, ptr @.str15218) %t644 = call ptr @fn_itoa(i32 %t643) store i32 8365, ptr @lp_site %t645 = call ptr @lp_str_concat(ptr %t641, ptr %t644) store i32 0, ptr @lp_site call void @lp_free(ptr %t641) %t646 = call ptr @fn_emit_bind(ptr %t645) store ptr %t646, ptr %t647 %t648 = load ptr, ptr %t611 %t649 = getelementptr inbounds %Cmp_Val, ptr %t648, i32 0, i32 0 %t650 = load ptr, ptr %t649 %t651 = call ptr @fn_vec_x(ptr %t650) store ptr %t651, ptr %t652 %t653 = load ptr, ptr %t611 %t654 = getelementptr inbounds %Cmp_Val, ptr %t653, i32 0, i32 0 %t655 = load ptr, ptr %t654 %t656 = call ptr @fn_vec_y(ptr %t655) store ptr %t656, ptr %t657 call void @fn_emit(ptr @.str15219) %t658 = load ptr, ptr %t652 call void @fn_emit(ptr %t658) call void @fn_emit(ptr @.str15220) %t659 = load ptr, ptr %t638 call void @fn_emit(ptr %t659) call void @fn_emit(ptr @.str15221) call void @fn_emit(ptr @.str15222) %t660 = load ptr, ptr %t657 call void @fn_emit(ptr %t660) call void @fn_emit(ptr @.str15223) %t661 = load ptr, ptr %t647 call void @fn_emit(ptr %t661) call void @fn_emit(ptr @.str15224) %t662 = load ptr, ptr %t618 %t663 = call ptr @fn_val(ptr %t662, ptr @.str15225) store ptr %t663, ptr %retval br label %ret ifend252: %t664 = load ptr, ptr %t1 %t665 = call i32 @lp_str_eq(ptr %t664, ptr @.str15226) %t666 = icmp ne i32 %t665, 0 br i1 %t666, label %then267, label %ifend269 then267: %t667 = call i32 @fn_has_prefabs() %t668 = icmp eq i32 %t667, 0 %t669 = zext i1 %t668 to i32 %t670 = icmp ne i32 %t669, 0 br i1 %t670, label %then270, label %ifend272 then270: call void @fn_perr(ptr @.str15227) br label %ifend272 ifend272: %t671 = getelementptr %LSlice, ptr null, i32 1 %t672 = ptrtoint ptr %t671 to i64 store i32 8366, ptr @lp_site %t673 = call ptr @lp_malloc(i64 %t672) store i32 0, ptr @lp_site %t674 = getelementptr inbounds %LSlice, ptr %t673, i32 0, i32 0 store ptr null, ptr %t674 %t675 = getelementptr inbounds %LSlice, ptr %t673, i32 0, i32 1 store i32 0, ptr %t675 %t676 = getelementptr inbounds %LSlice, ptr %t673, i32 0, i32 2 store i32 0, ptr %t676 store ptr %t673, ptr %t677 %t678 = load ptr, ptr %t677 %t679 = getelementptr inbounds %LSlice, ptr %t678, i32 0, i32 1 %t680 = getelementptr inbounds %LSlice, ptr %t678, i32 0, i32 2 %t681 = getelementptr inbounds %LSlice, ptr %t678, i32 0, i32 0 %t682 = load i32, ptr %t679 %t683 = load i32, ptr %t680 %t684 = icmp sge i32 %t682, %t683 br i1 %t684, label %grow273, label %put274 grow273: %t685 = mul i32 %t683, 2 %t686 = icmp eq i32 %t683, 0 %t687 = select i1 %t686, i32 8, i32 %t685 %t688 = getelementptr ptr, ptr null, i32 1 %t689 = ptrtoint ptr %t688 to i64 %t690 = zext i32 %t687 to i64 %t691 = mul i64 %t690, %t689 %t692 = load ptr, ptr %t681 store i32 8367, ptr @lp_site %t693 = call ptr @lp_realloc(ptr %t692, i64 %t691) store i32 0, ptr @lp_site store ptr %t693, ptr %t681 store i32 %t687, ptr %t680 br label %put274 put274: %t694 = load ptr, ptr %t681 %t695 = getelementptr inbounds ptr, ptr %t694, i32 %t682 store ptr @.str15228, ptr %t695 %t696 = add i32 %t682, 1 store i32 %t696, ptr %t679 %t697 = load ptr, ptr %t2 %t698 = load ptr, ptr %t677 call void @fn_reorder_named(ptr %t697, ptr %t698) %t699 = load ptr, ptr %t2 %t700 = getelementptr inbounds %Cmp_Node, ptr %t699, i32 0, i32 7 %t701 = load ptr, ptr %t700 %t702 = getelementptr inbounds %LSlice, ptr %t701, i32 0, i32 1 %t703 = load i32, ptr %t702 %t704 = icmp ne i32 %t703, 1 %t705 = zext i1 %t704 to i32 %t706 = icmp ne i32 %t705, 0 br i1 %t706, label %then275, label %ifend277 then275: call void @fn_perr(ptr @.str15229) br label %ifend277 ifend277: %t707 = load ptr, ptr %t2 %t708 = getelementptr inbounds %Cmp_Node, ptr %t707, i32 0, i32 7 %t709 = load ptr, ptr %t708 %t710 = getelementptr inbounds %LSlice, ptr %t709, i32 0, i32 0 %t711 = load ptr, ptr %t710 %t712 = getelementptr inbounds %LSlice, ptr %t709, i32 0, i32 1 %t713 = load i32, ptr %t712 %t714 = icmp ult i32 0, %t713 br i1 %t714, label %ixok278, label %ixbad279 ixbad279: store i32 8368, ptr @lp_site %t715 = call ptr @lp_win_stdio(i32 2) store i32 0, ptr @lp_site call i32 (ptr, ptr, ...) @fprintf(ptr %t715, ptr @.fmt_bounds, ptr @.str15230, i32 0, i32 %t713) call void @exit(i32 1) unreachable ixok278: %t716 = getelementptr inbounds ptr, ptr %t711, i32 0 %t717 = load ptr, ptr %t716 %t718 = call ptr @fn_emit_expr(ptr %t717) store ptr %t718, ptr %t719 %t720 = load ptr, ptr %t719 %t721 = getelementptr inbounds %Cmp_Val, ptr %t720, i32 0, i32 0 %t722 = load ptr, ptr %t721 store i32 8369, ptr @lp_site %t723 = call ptr @lp_str_concat(ptr @.str15231, ptr %t722) store i32 0, ptr @lp_site store i32 8370, ptr @lp_site %t724 = call ptr @lp_str_concat(ptr %t723, ptr @.str15232) store i32 0, ptr @lp_site call void @lp_free(ptr %t723) %t725 = call ptr @fn_emit_bind(ptr %t724) %t726 = call ptr @fn_val(ptr %t725, ptr @.str15233) store ptr %t726, ptr %retval br label %ret ifend269: %t727 = load ptr, ptr %t1 %t728 = load ptr, ptr %t2 %t729 = call ptr @fn_emit_alias_or_fail(ptr @.str15234, ptr %t727, ptr %t728) store ptr %t729, ptr %retval br label %ret ifend249: %t730 = load ptr, ptr %t0 %t731 = call i32 @lp_str_eq(ptr %t730, ptr @.str15235) %t732 = icmp ne i32 %t731, 0 br i1 %t732, label %then280, label %ifend282 then280: %t733 = load ptr, ptr %t1 %t734 = call i32 @lp_str_eq(ptr %t733, ptr @.str15236) %t735 = icmp ne i32 %t734, 0 br i1 %t735, label %then283, label %ifend285 then283: %t736 = load ptr, ptr %t2 %t737 = call i32 @fn_first_arg_is_text(ptr %t736) %t738 = icmp ne i32 %t737, 0 br i1 %t738, label %then286, label %else287 then286: store ptr @.str15237, ptr %t514 %t739 = load ptr, ptr %t522 %t740 = getelementptr inbounds %LSlice, ptr %t739, i32 0, i32 1 %t741 = getelementptr inbounds %LSlice, ptr %t739, i32 0, i32 2 %t742 = getelementptr inbounds %LSlice, ptr %t739, i32 0, i32 0 %t743 = load i32, ptr %t740 %t744 = load i32, ptr %t741 %t745 = icmp sge i32 %t743, %t744 br i1 %t745, label %grow289, label %put290 grow289: %t746 = mul i32 %t744, 2 %t747 = icmp eq i32 %t744, 0 %t748 = select i1 %t747, i32 8, i32 %t746 %t749 = getelementptr ptr, ptr null, i32 1 %t750 = ptrtoint ptr %t749 to i64 %t751 = zext i32 %t748 to i64 %t752 = mul i64 %t751, %t750 %t753 = load ptr, ptr %t742 store i32 8371, ptr @lp_site %t754 = call ptr @lp_realloc(ptr %t753, i64 %t752) store i32 0, ptr @lp_site store ptr %t754, ptr %t742 store i32 %t748, ptr %t741 br label %put290 put290: %t755 = load ptr, ptr %t742 %t756 = getelementptr inbounds ptr, ptr %t755, i32 %t743 store ptr @.str15238, ptr %t756 %t757 = add i32 %t743, 1 store i32 %t757, ptr %t740 br label %ifend288 else287: store ptr @.str15239, ptr %t514 %t758 = load ptr, ptr %t522 %t759 = getelementptr inbounds %LSlice, ptr %t758, i32 0, i32 1 %t760 = getelementptr inbounds %LSlice, ptr %t758, i32 0, i32 2 %t761 = getelementptr inbounds %LSlice, ptr %t758, i32 0, i32 0 %t762 = load i32, ptr %t759 %t763 = load i32, ptr %t760 %t764 = icmp sge i32 %t762, %t763 br i1 %t764, label %grow291, label %put292 grow291: %t765 = mul i32 %t763, 2 %t766 = icmp eq i32 %t763, 0 %t767 = select i1 %t766, i32 8, i32 %t765 %t768 = getelementptr ptr, ptr null, i32 1 %t769 = ptrtoint ptr %t768 to i64 %t770 = zext i32 %t767 to i64 %t771 = mul i64 %t770, %t769 %t772 = load ptr, ptr %t761 store i32 8372, ptr @lp_site %t773 = call ptr @lp_realloc(ptr %t772, i64 %t771) store i32 0, ptr @lp_site store ptr %t773, ptr %t761 store i32 %t767, ptr %t760 br label %put292 put292: %t774 = load ptr, ptr %t761 %t775 = getelementptr inbounds ptr, ptr %t774, i32 %t762 store ptr @.str15240, ptr %t775 %t776 = add i32 %t762, 1 store i32 %t776, ptr %t759 br label %ifend288 ifend288: br label %ifend285 ifend285: %t777 = load ptr, ptr %t1 %t778 = call i32 @lp_str_eq(ptr %t777, ptr @.str15241) %t779 = icmp ne i32 %t778, 0 br i1 %t779, label %then293, label %ifend295 then293: %t780 = load ptr, ptr %t2 %t781 = call i32 @fn_first_arg_is_text(ptr %t780) %t782 = icmp ne i32 %t781, 0 br i1 %t782, label %then296, label %else297 then296: store ptr @.str15242, ptr %t514 %t783 = load ptr, ptr %t522 %t784 = getelementptr inbounds %LSlice, ptr %t783, i32 0, i32 1 %t785 = getelementptr inbounds %LSlice, ptr %t783, i32 0, i32 2 %t786 = getelementptr inbounds %LSlice, ptr %t783, i32 0, i32 0 %t787 = load i32, ptr %t784 %t788 = load i32, ptr %t785 %t789 = icmp sge i32 %t787, %t788 br i1 %t789, label %grow299, label %put300 grow299: %t790 = mul i32 %t788, 2 %t791 = icmp eq i32 %t788, 0 %t792 = select i1 %t791, i32 8, i32 %t790 %t793 = getelementptr ptr, ptr null, i32 1 %t794 = ptrtoint ptr %t793 to i64 %t795 = zext i32 %t792 to i64 %t796 = mul i64 %t795, %t794 %t797 = load ptr, ptr %t786 store i32 8373, ptr @lp_site %t798 = call ptr @lp_realloc(ptr %t797, i64 %t796) store i32 0, ptr @lp_site store ptr %t798, ptr %t786 store i32 %t792, ptr %t785 br label %put300 put300: %t799 = load ptr, ptr %t786 %t800 = getelementptr inbounds ptr, ptr %t799, i32 %t787 store ptr @.str15243, ptr %t800 %t801 = add i32 %t787, 1 store i32 %t801, ptr %t784 br label %ifend298 else297: store ptr @.str15244, ptr %t514 %t802 = load ptr, ptr %t522 %t803 = getelementptr inbounds %LSlice, ptr %t802, i32 0, i32 1 %t804 = getelementptr inbounds %LSlice, ptr %t802, i32 0, i32 2 %t805 = getelementptr inbounds %LSlice, ptr %t802, i32 0, i32 0 %t806 = load i32, ptr %t803 %t807 = load i32, ptr %t804 %t808 = icmp sge i32 %t806, %t807 br i1 %t808, label %grow301, label %put302 grow301: %t809 = mul i32 %t807, 2 %t810 = icmp eq i32 %t807, 0 %t811 = select i1 %t810, i32 8, i32 %t809 %t812 = getelementptr ptr, ptr null, i32 1 %t813 = ptrtoint ptr %t812 to i64 %t814 = zext i32 %t811 to i64 %t815 = mul i64 %t814, %t813 %t816 = load ptr, ptr %t805 store i32 8374, ptr @lp_site %t817 = call ptr @lp_realloc(ptr %t816, i64 %t815) store i32 0, ptr @lp_site store ptr %t817, ptr %t805 store i32 %t811, ptr %t804 br label %put302 put302: %t818 = load ptr, ptr %t805 %t819 = getelementptr inbounds ptr, ptr %t818, i32 %t806 store ptr @.str15245, ptr %t819 %t820 = add i32 %t806, 1 store i32 %t820, ptr %t803 br label %ifend298 ifend298: br label %ifend295 ifend295: br label %ifend282 ifend282: %t821 = load ptr, ptr %t0 %t822 = call i32 @lp_str_eq(ptr %t821, ptr @.str15246) %t823 = icmp ne i32 %t822, 0 br i1 %t823, label %then303, label %ifend305 then303: %t824 = load ptr, ptr %t1 %t825 = call i32 @lp_str_eq(ptr %t824, ptr @.str15247) %t826 = icmp ne i32 %t825, 0 br i1 %t826, label %then306, label %ifend308 then306: store ptr @.str15248, ptr %t514 %t827 = load ptr, ptr %t522 %t828 = getelementptr inbounds %LSlice, ptr %t827, i32 0, i32 1 %t829 = getelementptr inbounds %LSlice, ptr %t827, i32 0, i32 2 %t830 = getelementptr inbounds %LSlice, ptr %t827, i32 0, i32 0 %t831 = load i32, ptr %t828 %t832 = load i32, ptr %t829 %t833 = icmp sge i32 %t831, %t832 br i1 %t833, label %grow309, label %put310 grow309: %t834 = mul i32 %t832, 2 %t835 = icmp eq i32 %t832, 0 %t836 = select i1 %t835, i32 8, i32 %t834 %t837 = getelementptr ptr, ptr null, i32 1 %t838 = ptrtoint ptr %t837 to i64 %t839 = zext i32 %t836 to i64 %t840 = mul i64 %t839, %t838 %t841 = load ptr, ptr %t830 store i32 8375, ptr @lp_site %t842 = call ptr @lp_realloc(ptr %t841, i64 %t840) store i32 0, ptr @lp_site store ptr %t842, ptr %t830 store i32 %t836, ptr %t829 br label %put310 put310: %t843 = load ptr, ptr %t830 %t844 = getelementptr inbounds ptr, ptr %t843, i32 %t831 store ptr @.str15249, ptr %t844 %t845 = add i32 %t831, 1 store i32 %t845, ptr %t828 %t846 = load ptr, ptr %t522 %t847 = getelementptr inbounds %LSlice, ptr %t846, i32 0, i32 1 %t848 = getelementptr inbounds %LSlice, ptr %t846, i32 0, i32 2 %t849 = getelementptr inbounds %LSlice, ptr %t846, i32 0, i32 0 %t850 = load i32, ptr %t847 %t851 = load i32, ptr %t848 %t852 = icmp sge i32 %t850, %t851 br i1 %t852, label %grow311, label %put312 grow311: %t853 = mul i32 %t851, 2 %t854 = icmp eq i32 %t851, 0 %t855 = select i1 %t854, i32 8, i32 %t853 %t856 = getelementptr ptr, ptr null, i32 1 %t857 = ptrtoint ptr %t856 to i64 %t858 = zext i32 %t855 to i64 %t859 = mul i64 %t858, %t857 %t860 = load ptr, ptr %t849 store i32 8376, ptr @lp_site %t861 = call ptr @lp_realloc(ptr %t860, i64 %t859) store i32 0, ptr @lp_site store ptr %t861, ptr %t849 store i32 %t855, ptr %t848 br label %put312 put312: %t862 = load ptr, ptr %t849 %t863 = getelementptr inbounds ptr, ptr %t862, i32 %t850 store ptr @.str15250, ptr %t863 %t864 = add i32 %t850, 1 store i32 %t864, ptr %t847 %t865 = load ptr, ptr %t522 %t866 = getelementptr inbounds %LSlice, ptr %t865, i32 0, i32 1 %t867 = getelementptr inbounds %LSlice, ptr %t865, i32 0, i32 2 %t868 = getelementptr inbounds %LSlice, ptr %t865, i32 0, i32 0 %t869 = load i32, ptr %t866 %t870 = load i32, ptr %t867 %t871 = icmp sge i32 %t869, %t870 br i1 %t871, label %grow313, label %put314 grow313: %t872 = mul i32 %t870, 2 %t873 = icmp eq i32 %t870, 0 %t874 = select i1 %t873, i32 8, i32 %t872 %t875 = getelementptr ptr, ptr null, i32 1 %t876 = ptrtoint ptr %t875 to i64 %t877 = zext i32 %t874 to i64 %t878 = mul i64 %t877, %t876 %t879 = load ptr, ptr %t868 store i32 8377, ptr @lp_site %t880 = call ptr @lp_realloc(ptr %t879, i64 %t878) store i32 0, ptr @lp_site store ptr %t880, ptr %t868 store i32 %t874, ptr %t867 br label %put314 put314: %t881 = load ptr, ptr %t868 %t882 = getelementptr inbounds ptr, ptr %t881, i32 %t869 store ptr @.str15251, ptr %t882 %t883 = add i32 %t869, 1 store i32 %t883, ptr %t866 %t884 = load ptr, ptr %t2 %t885 = getelementptr inbounds %Cmp_Node, ptr %t884, i32 0, i32 7 %t886 = load ptr, ptr %t885 %t887 = getelementptr inbounds %LSlice, ptr %t886, i32 0, i32 1 %t888 = load i32, ptr %t887 %t889 = icmp sgt i32 %t888, 1 %t890 = zext i1 %t889 to i32 %t891 = icmp ne i32 %t890, 0 br i1 %t891, label %then315, label %ifend317 then315: %t892 = load ptr, ptr %t2 %t893 = getelementptr inbounds %Cmp_Node, ptr %t892, i32 0, i32 7 %t894 = load ptr, ptr %t893 %t895 = getelementptr inbounds %LSlice, ptr %t894, i32 0, i32 0 %t896 = load ptr, ptr %t895 %t897 = getelementptr inbounds %LSlice, ptr %t894, i32 0, i32 1 %t898 = load i32, ptr %t897 %t899 = icmp ult i32 1, %t898 br i1 %t899, label %ixok318, label %ixbad319 ixbad319: store i32 8378, ptr @lp_site %t900 = call ptr @lp_win_stdio(i32 2) store i32 0, ptr @lp_site call i32 (ptr, ptr, ...) @fprintf(ptr %t900, ptr @.fmt_bounds, ptr @.str15252, i32 1, i32 %t898) call void @exit(i32 1) unreachable ixok318: %t901 = getelementptr inbounds ptr, ptr %t896, i32 1 %t902 = load ptr, ptr %t901 call void @fn_check_worker_ref(ptr %t902) br label %ifend317 ifend317: br label %ifend308 ifend308: br label %ifend305 ifend305: %t903 = load ptr, ptr %t0 %t904 = call i32 @lp_str_eq(ptr %t903, ptr @.str15253) %t905 = icmp ne i32 %t904, 0 br i1 %t905, label %then320, label %ifend322 then320: %t906 = load ptr, ptr %t1 %t907 = call i32 @lp_str_eq(ptr %t906, ptr @.str15254) %t908 = icmp ne i32 %t907, 0 br i1 %t908, label %then323, label %ifend325 then323: store ptr @.str15255, ptr %t514 %t909 = load ptr, ptr %t522 %t910 = getelementptr inbounds %LSlice, ptr %t909, i32 0, i32 1 %t911 = getelementptr inbounds %LSlice, ptr %t909, i32 0, i32 2 %t912 = getelementptr inbounds %LSlice, ptr %t909, i32 0, i32 0 %t913 = load i32, ptr %t910 %t914 = load i32, ptr %t911 %t915 = icmp sge i32 %t913, %t914 br i1 %t915, label %grow326, label %put327 grow326: %t916 = mul i32 %t914, 2 %t917 = icmp eq i32 %t914, 0 %t918 = select i1 %t917, i32 8, i32 %t916 %t919 = getelementptr ptr, ptr null, i32 1 %t920 = ptrtoint ptr %t919 to i64 %t921 = zext i32 %t918 to i64 %t922 = mul i64 %t921, %t920 %t923 = load ptr, ptr %t912 store i32 8379, ptr @lp_site %t924 = call ptr @lp_realloc(ptr %t923, i64 %t922) store i32 0, ptr @lp_site store ptr %t924, ptr %t912 store i32 %t918, ptr %t911 br label %put327 put327: %t925 = load ptr, ptr %t912 %t926 = getelementptr inbounds ptr, ptr %t925, i32 %t913 store ptr @.str15256, ptr %t926 %t927 = add i32 %t913, 1 store i32 %t927, ptr %t910 %t928 = load ptr, ptr %t522 %t929 = getelementptr inbounds %LSlice, ptr %t928, i32 0, i32 1 %t930 = getelementptr inbounds %LSlice, ptr %t928, i32 0, i32 2 %t931 = getelementptr inbounds %LSlice, ptr %t928, i32 0, i32 0 %t932 = load i32, ptr %t929 %t933 = load i32, ptr %t930 %t934 = icmp sge i32 %t932, %t933 br i1 %t934, label %grow328, label %put329 grow328: %t935 = mul i32 %t933, 2 %t936 = icmp eq i32 %t933, 0 %t937 = select i1 %t936, i32 8, i32 %t935 %t938 = getelementptr ptr, ptr null, i32 1 %t939 = ptrtoint ptr %t938 to i64 %t940 = zext i32 %t937 to i64 %t941 = mul i64 %t940, %t939 %t942 = load ptr, ptr %t931 store i32 8380, ptr @lp_site %t943 = call ptr @lp_realloc(ptr %t942, i64 %t941) store i32 0, ptr @lp_site store ptr %t943, ptr %t931 store i32 %t937, ptr %t930 br label %put329 put329: %t944 = load ptr, ptr %t931 %t945 = getelementptr inbounds ptr, ptr %t944, i32 %t932 store ptr @.str15257, ptr %t945 %t946 = add i32 %t932, 1 store i32 %t946, ptr %t929 %t947 = load ptr, ptr %t522 %t948 = getelementptr inbounds %LSlice, ptr %t947, i32 0, i32 1 %t949 = getelementptr inbounds %LSlice, ptr %t947, i32 0, i32 2 %t950 = getelementptr inbounds %LSlice, ptr %t947, i32 0, i32 0 %t951 = load i32, ptr %t948 %t952 = load i32, ptr %t949 %t953 = icmp sge i32 %t951, %t952 br i1 %t953, label %grow330, label %put331 grow330: %t954 = mul i32 %t952, 2 %t955 = icmp eq i32 %t952, 0 %t956 = select i1 %t955, i32 8, i32 %t954 %t957 = getelementptr ptr, ptr null, i32 1 %t958 = ptrtoint ptr %t957 to i64 %t959 = zext i32 %t956 to i64 %t960 = mul i64 %t959, %t958 %t961 = load ptr, ptr %t950 store i32 8381, ptr @lp_site %t962 = call ptr @lp_realloc(ptr %t961, i64 %t960) store i32 0, ptr @lp_site store ptr %t962, ptr %t950 store i32 %t956, ptr %t949 br label %put331 put331: %t963 = load ptr, ptr %t950 %t964 = getelementptr inbounds ptr, ptr %t963, i32 %t951 store ptr @.str15258, ptr %t964 %t965 = add i32 %t951, 1 store i32 %t965, ptr %t948 %t966 = load ptr, ptr %t522 %t967 = getelementptr inbounds %LSlice, ptr %t966, i32 0, i32 1 %t968 = getelementptr inbounds %LSlice, ptr %t966, i32 0, i32 2 %t969 = getelementptr inbounds %LSlice, ptr %t966, i32 0, i32 0 %t970 = load i32, ptr %t967 %t971 = load i32, ptr %t968 %t972 = icmp sge i32 %t970, %t971 br i1 %t972, label %grow332, label %put333 grow332: %t973 = mul i32 %t971, 2 %t974 = icmp eq i32 %t971, 0 %t975 = select i1 %t974, i32 8, i32 %t973 %t976 = getelementptr ptr, ptr null, i32 1 %t977 = ptrtoint ptr %t976 to i64 %t978 = zext i32 %t975 to i64 %t979 = mul i64 %t978, %t977 %t980 = load ptr, ptr %t969 store i32 8382, ptr @lp_site %t981 = call ptr @lp_realloc(ptr %t980, i64 %t979) store i32 0, ptr @lp_site store ptr %t981, ptr %t969 store i32 %t975, ptr %t968 br label %put333 put333: %t982 = load ptr, ptr %t969 %t983 = getelementptr inbounds ptr, ptr %t982, i32 %t970 store ptr @.str15259, ptr %t983 %t984 = add i32 %t970, 1 store i32 %t984, ptr %t967 br label %ifend325 ifend325: %t985 = load ptr, ptr %t1 %t986 = call i32 @lp_str_eq(ptr %t985, ptr @.str15260) %t987 = icmp ne i32 %t986, 0 br i1 %t987, label %then334, label %ifend336 then334: store ptr @.str15261, ptr %t514 %t988 = load ptr, ptr %t522 %t989 = getelementptr inbounds %LSlice, ptr %t988, i32 0, i32 1 %t990 = getelementptr inbounds %LSlice, ptr %t988, i32 0, i32 2 %t991 = getelementptr inbounds %LSlice, ptr %t988, i32 0, i32 0 %t992 = load i32, ptr %t989 %t993 = load i32, ptr %t990 %t994 = icmp sge i32 %t992, %t993 br i1 %t994, label %grow337, label %put338 grow337: %t995 = mul i32 %t993, 2 %t996 = icmp eq i32 %t993, 0 %t997 = select i1 %t996, i32 8, i32 %t995 %t998 = getelementptr ptr, ptr null, i32 1 %t999 = ptrtoint ptr %t998 to i64 %t1000 = zext i32 %t997 to i64 %t1001 = mul i64 %t1000, %t999 %t1002 = load ptr, ptr %t991 store i32 8383, ptr @lp_site %t1003 = call ptr @lp_realloc(ptr %t1002, i64 %t1001) store i32 0, ptr @lp_site store ptr %t1003, ptr %t991 store i32 %t997, ptr %t990 br label %put338 put338: %t1004 = load ptr, ptr %t991 %t1005 = getelementptr inbounds ptr, ptr %t1004, i32 %t992 store ptr @.str15262, ptr %t1005 %t1006 = add i32 %t992, 1 store i32 %t1006, ptr %t989 %t1007 = load ptr, ptr %t522 %t1008 = getelementptr inbounds %LSlice, ptr %t1007, i32 0, i32 1 %t1009 = getelementptr inbounds %LSlice, ptr %t1007, i32 0, i32 2 %t1010 = getelementptr inbounds %LSlice, ptr %t1007, i32 0, i32 0 %t1011 = load i32, ptr %t1008 %t1012 = load i32, ptr %t1009 %t1013 = icmp sge i32 %t1011, %t1012 br i1 %t1013, label %grow339, label %put340 grow339: %t1014 = mul i32 %t1012, 2 %t1015 = icmp eq i32 %t1012, 0 %t1016 = select i1 %t1015, i32 8, i32 %t1014 %t1017 = getelementptr ptr, ptr null, i32 1 %t1018 = ptrtoint ptr %t1017 to i64 %t1019 = zext i32 %t1016 to i64 %t1020 = mul i64 %t1019, %t1018 %t1021 = load ptr, ptr %t1010 store i32 8384, ptr @lp_site %t1022 = call ptr @lp_realloc(ptr %t1021, i64 %t1020) store i32 0, ptr @lp_site store ptr %t1022, ptr %t1010 store i32 %t1016, ptr %t1009 br label %put340 put340: %t1023 = load ptr, ptr %t1010 %t1024 = getelementptr inbounds ptr, ptr %t1023, i32 %t1011 store ptr @.str15263, ptr %t1024 %t1025 = add i32 %t1011, 1 store i32 %t1025, ptr %t1008 br label %ifend336 ifend336: %t1026 = load ptr, ptr %t1 %t1027 = call i32 @lp_str_eq(ptr %t1026, ptr @.str15264) %t1028 = icmp ne i32 %t1027, 0 br i1 %t1028, label %then341, label %ifend343 then341: store ptr @.str15265, ptr %t514 %t1029 = load ptr, ptr %t522 %t1030 = getelementptr inbounds %LSlice, ptr %t1029, i32 0, i32 1 %t1031 = getelementptr inbounds %LSlice, ptr %t1029, i32 0, i32 2 %t1032 = getelementptr inbounds %LSlice, ptr %t1029, i32 0, i32 0 %t1033 = load i32, ptr %t1030 %t1034 = load i32, ptr %t1031 %t1035 = icmp sge i32 %t1033, %t1034 br i1 %t1035, label %grow344, label %put345 grow344: %t1036 = mul i32 %t1034, 2 %t1037 = icmp eq i32 %t1034, 0 %t1038 = select i1 %t1037, i32 8, i32 %t1036 %t1039 = getelementptr ptr, ptr null, i32 1 %t1040 = ptrtoint ptr %t1039 to i64 %t1041 = zext i32 %t1038 to i64 %t1042 = mul i64 %t1041, %t1040 %t1043 = load ptr, ptr %t1032 store i32 8385, ptr @lp_site %t1044 = call ptr @lp_realloc(ptr %t1043, i64 %t1042) store i32 0, ptr @lp_site store ptr %t1044, ptr %t1032 store i32 %t1038, ptr %t1031 br label %put345 put345: %t1045 = load ptr, ptr %t1032 %t1046 = getelementptr inbounds ptr, ptr %t1045, i32 %t1033 store ptr @.str15266, ptr %t1046 %t1047 = add i32 %t1033, 1 store i32 %t1047, ptr %t1030 br label %ifend343 ifend343: %t1048 = load ptr, ptr %t1 %t1049 = call i32 @lp_str_eq(ptr %t1048, ptr @.str15267) %t1050 = icmp ne i32 %t1049, 0 br i1 %t1050, label %then346, label %ifend348 then346: %t1051 = load ptr, ptr %t2 %t1052 = getelementptr inbounds %Cmp_Node, ptr %t1051, i32 0, i32 7 %t1053 = load ptr, ptr %t1052 %t1054 = getelementptr inbounds %LSlice, ptr %t1053, i32 0, i32 1 %t1055 = load i32, ptr %t1054 %t1056 = icmp eq i32 %t1055, 2 %t1057 = zext i1 %t1056 to i32 %t1058 = icmp ne i32 %t1057, 0 br i1 %t1058, label %then349, label %else350 then349: store ptr @.str15268, ptr %t514 %t1059 = load ptr, ptr %t522 %t1060 = getelementptr inbounds %LSlice, ptr %t1059, i32 0, i32 1 %t1061 = getelementptr inbounds %LSlice, ptr %t1059, i32 0, i32 2 %t1062 = getelementptr inbounds %LSlice, ptr %t1059, i32 0, i32 0 %t1063 = load i32, ptr %t1060 %t1064 = load i32, ptr %t1061 %t1065 = icmp sge i32 %t1063, %t1064 br i1 %t1065, label %grow352, label %put353 grow352: %t1066 = mul i32 %t1064, 2 %t1067 = icmp eq i32 %t1064, 0 %t1068 = select i1 %t1067, i32 8, i32 %t1066 %t1069 = getelementptr ptr, ptr null, i32 1 %t1070 = ptrtoint ptr %t1069 to i64 %t1071 = zext i32 %t1068 to i64 %t1072 = mul i64 %t1071, %t1070 %t1073 = load ptr, ptr %t1062 store i32 8386, ptr @lp_site %t1074 = call ptr @lp_realloc(ptr %t1073, i64 %t1072) store i32 0, ptr @lp_site store ptr %t1074, ptr %t1062 store i32 %t1068, ptr %t1061 br label %put353 put353: %t1075 = load ptr, ptr %t1062 %t1076 = getelementptr inbounds ptr, ptr %t1075, i32 %t1063 store ptr @.str15269, ptr %t1076 %t1077 = add i32 %t1063, 1 store i32 %t1077, ptr %t1060 %t1078 = load ptr, ptr %t522 %t1079 = getelementptr inbounds %LSlice, ptr %t1078, i32 0, i32 1 %t1080 = getelementptr inbounds %LSlice, ptr %t1078, i32 0, i32 2 %t1081 = getelementptr inbounds %LSlice, ptr %t1078, i32 0, i32 0 %t1082 = load i32, ptr %t1079 %t1083 = load i32, ptr %t1080 %t1084 = icmp sge i32 %t1082, %t1083 br i1 %t1084, label %grow354, label %put355 grow354: %t1085 = mul i32 %t1083, 2 %t1086 = icmp eq i32 %t1083, 0 %t1087 = select i1 %t1086, i32 8, i32 %t1085 %t1088 = getelementptr ptr, ptr null, i32 1 %t1089 = ptrtoint ptr %t1088 to i64 %t1090 = zext i32 %t1087 to i64 %t1091 = mul i64 %t1090, %t1089 %t1092 = load ptr, ptr %t1081 store i32 8387, ptr @lp_site %t1093 = call ptr @lp_realloc(ptr %t1092, i64 %t1091) store i32 0, ptr @lp_site store ptr %t1093, ptr %t1081 store i32 %t1087, ptr %t1080 br label %put355 put355: %t1094 = load ptr, ptr %t1081 %t1095 = getelementptr inbounds ptr, ptr %t1094, i32 %t1082 store ptr @.str15270, ptr %t1095 %t1096 = add i32 %t1082, 1 store i32 %t1096, ptr %t1079 br label %ifend351 else350: store ptr @.str15271, ptr %t514 %t1097 = load ptr, ptr %t522 %t1098 = getelementptr inbounds %LSlice, ptr %t1097, i32 0, i32 1 %t1099 = getelementptr inbounds %LSlice, ptr %t1097, i32 0, i32 2 %t1100 = getelementptr inbounds %LSlice, ptr %t1097, i32 0, i32 0 %t1101 = load i32, ptr %t1098 %t1102 = load i32, ptr %t1099 %t1103 = icmp sge i32 %t1101, %t1102 br i1 %t1103, label %grow356, label %put357 grow356: %t1104 = mul i32 %t1102, 2 %t1105 = icmp eq i32 %t1102, 0 %t1106 = select i1 %t1105, i32 8, i32 %t1104 %t1107 = getelementptr ptr, ptr null, i32 1 %t1108 = ptrtoint ptr %t1107 to i64 %t1109 = zext i32 %t1106 to i64 %t1110 = mul i64 %t1109, %t1108 %t1111 = load ptr, ptr %t1100 store i32 8388, ptr @lp_site %t1112 = call ptr @lp_realloc(ptr %t1111, i64 %t1110) store i32 0, ptr @lp_site store ptr %t1112, ptr %t1100 store i32 %t1106, ptr %t1099 br label %put357 put357: %t1113 = load ptr, ptr %t1100 %t1114 = getelementptr inbounds ptr, ptr %t1113, i32 %t1101 store ptr @.str15272, ptr %t1114 %t1115 = add i32 %t1101, 1 store i32 %t1115, ptr %t1098 %t1116 = load ptr, ptr %t522 %t1117 = getelementptr inbounds %LSlice, ptr %t1116, i32 0, i32 1 %t1118 = getelementptr inbounds %LSlice, ptr %t1116, i32 0, i32 2 %t1119 = getelementptr inbounds %LSlice, ptr %t1116, i32 0, i32 0 %t1120 = load i32, ptr %t1117 %t1121 = load i32, ptr %t1118 %t1122 = icmp sge i32 %t1120, %t1121 br i1 %t1122, label %grow358, label %put359 grow358: %t1123 = mul i32 %t1121, 2 %t1124 = icmp eq i32 %t1121, 0 %t1125 = select i1 %t1124, i32 8, i32 %t1123 %t1126 = getelementptr ptr, ptr null, i32 1 %t1127 = ptrtoint ptr %t1126 to i64 %t1128 = zext i32 %t1125 to i64 %t1129 = mul i64 %t1128, %t1127 %t1130 = load ptr, ptr %t1119 store i32 8389, ptr @lp_site %t1131 = call ptr @lp_realloc(ptr %t1130, i64 %t1129) store i32 0, ptr @lp_site store ptr %t1131, ptr %t1119 store i32 %t1125, ptr %t1118 br label %put359 put359: %t1132 = load ptr, ptr %t1119 %t1133 = getelementptr inbounds ptr, ptr %t1132, i32 %t1120 store ptr @.str15273, ptr %t1133 %t1134 = add i32 %t1120, 1 store i32 %t1134, ptr %t1117 %t1135 = load ptr, ptr %t522 %t1136 = getelementptr inbounds %LSlice, ptr %t1135, i32 0, i32 1 %t1137 = getelementptr inbounds %LSlice, ptr %t1135, i32 0, i32 2 %t1138 = getelementptr inbounds %LSlice, ptr %t1135, i32 0, i32 0 %t1139 = load i32, ptr %t1136 %t1140 = load i32, ptr %t1137 %t1141 = icmp sge i32 %t1139, %t1140 br i1 %t1141, label %grow360, label %put361 grow360: %t1142 = mul i32 %t1140, 2 %t1143 = icmp eq i32 %t1140, 0 %t1144 = select i1 %t1143, i32 8, i32 %t1142 %t1145 = getelementptr ptr, ptr null, i32 1 %t1146 = ptrtoint ptr %t1145 to i64 %t1147 = zext i32 %t1144 to i64 %t1148 = mul i64 %t1147, %t1146 %t1149 = load ptr, ptr %t1138 store i32 8390, ptr @lp_site %t1150 = call ptr @lp_realloc(ptr %t1149, i64 %t1148) store i32 0, ptr @lp_site store ptr %t1150, ptr %t1138 store i32 %t1144, ptr %t1137 br label %put361 put361: %t1151 = load ptr, ptr %t1138 %t1152 = getelementptr inbounds ptr, ptr %t1151, i32 %t1139 store ptr @.str15274, ptr %t1152 %t1153 = add i32 %t1139, 1 store i32 %t1153, ptr %t1136 %t1154 = load ptr, ptr %t522 %t1155 = getelementptr inbounds %LSlice, ptr %t1154, i32 0, i32 1 %t1156 = getelementptr inbounds %LSlice, ptr %t1154, i32 0, i32 2 %t1157 = getelementptr inbounds %LSlice, ptr %t1154, i32 0, i32 0 %t1158 = load i32, ptr %t1155 %t1159 = load i32, ptr %t1156 %t1160 = icmp sge i32 %t1158, %t1159 br i1 %t1160, label %grow362, label %put363 grow362: %t1161 = mul i32 %t1159, 2 %t1162 = icmp eq i32 %t1159, 0 %t1163 = select i1 %t1162, i32 8, i32 %t1161 %t1164 = getelementptr ptr, ptr null, i32 1 %t1165 = ptrtoint ptr %t1164 to i64 %t1166 = zext i32 %t1163 to i64 %t1167 = mul i64 %t1166, %t1165 %t1168 = load ptr, ptr %t1157 store i32 8391, ptr @lp_site %t1169 = call ptr @lp_realloc(ptr %t1168, i64 %t1167) store i32 0, ptr @lp_site store ptr %t1169, ptr %t1157 store i32 %t1163, ptr %t1156 br label %put363 put363: %t1170 = load ptr, ptr %t1157 %t1171 = getelementptr inbounds ptr, ptr %t1170, i32 %t1158 store ptr @.str15275, ptr %t1171 %t1172 = add i32 %t1158, 1 store i32 %t1172, ptr %t1155 br label %ifend351 ifend351: br label %ifend348 ifend348: br label %ifend322 ifend322: %t1174 = load ptr, ptr %t0 %t1175 = call i32 @lp_str_eq(ptr %t1174, ptr @.str15276) %t1176 = icmp ne i32 %t1175, 0 %t1177 = zext i1 %t1176 to i32 store i32 %t1177, ptr %t1173 br i1 %t1176, label %sc364, label %scend365 sc364: %t1178 = load ptr, ptr %t514 %t1179 = icmp eq ptr %t1178, null %t1180 = zext i1 %t1179 to i32 %t1181 = icmp ne i32 %t1180, 0 %t1182 = zext i1 %t1181 to i32 store i32 %t1182, ptr %t1173 br label %scend365 scend365: %t1183 = load i32, ptr %t1173 %t1184 = icmp ne i32 %t1183, 0 br i1 %t1184, label %then366, label %ifend368 then366: %t1185 = load ptr, ptr %t1 store i32 8392, ptr @lp_site %t1186 = call ptr @lp_str_concat(ptr @.str15277, ptr %t1185) store i32 0, ptr @lp_site store ptr %t1186, ptr %t514 %t1187 = load ptr, ptr %t514 %t1188 = call ptr @fn_find_fn(ptr %t1187) store ptr %t1188, ptr %t1189 %t1190 = load ptr, ptr %t1189 %t1191 = icmp eq ptr %t1190, null %t1192 = zext i1 %t1191 to i32 %t1193 = icmp ne i32 %t1192, 0 br i1 %t1193, label %then369, label %ifend371 then369: %t1194 = load ptr, ptr %t514 %t1195 = call ptr @fn_find_extern(ptr %t1194) store ptr %t1195, ptr %t1189 br label %ifend371 ifend371: %t1196 = load ptr, ptr %t1189 %t1197 = icmp ne ptr %t1196, null %t1198 = zext i1 %t1197 to i32 %t1199 = icmp ne i32 %t1198, 0 br i1 %t1199, label %then372, label %ifend374 then372: %t1200 = load ptr, ptr %t1189 %t1201 = call ptr @fn_param_labels(ptr %t1200) store ptr %t1201, ptr %t1202 store i32 0, ptr %t1203 %t1204 = load ptr, ptr %t1189 %t1205 = getelementptr inbounds %Cmp_Node, ptr %t1204, i32 0, i32 0 %t1206 = load i32, ptr %t1205 %t1207 = icmp eq i32 %t1206, 4 %t1208 = zext i1 %t1207 to i32 %t1209 = icmp ne i32 %t1208, 0 br i1 %t1209, label %then375, label %ifend377 then375: %t1210 = load ptr, ptr %t1189 store ptr %t1210, ptr %t515 %t1211 = load ptr, ptr %t1189 %t1212 = call i32 @fn_state_lead(ptr %t1211) store i32 %t1212, ptr %t1203 br label %ifend377 ifend377: br label %wcond378 wcond378: %t1213 = load i32, ptr %t1203 %t1214 = load ptr, ptr %t1202 %t1215 = getelementptr inbounds %LSlice, ptr %t1214, i32 0, i32 1 %t1216 = load i32, ptr %t1215 %t1217 = icmp slt i32 %t1213, %t1216 %t1218 = zext i1 %t1217 to i32 %t1219 = icmp ne i32 %t1218, 0 br i1 %t1219, label %wbody379, label %wend380 wbody379: %t1220 = load ptr, ptr %t522 %t1221 = load ptr, ptr %t1202 %t1222 = load i32, ptr %t1203 %t1223 = getelementptr inbounds %LSlice, ptr %t1221, i32 0, i32 0 %t1224 = load ptr, ptr %t1223 %t1225 = getelementptr inbounds %LSlice, ptr %t1221, i32 0, i32 1 %t1226 = load i32, ptr %t1225 %t1227 = icmp ult i32 %t1222, %t1226 br i1 %t1227, label %ixok381, label %ixbad382 ixbad382: store i32 8393, ptr @lp_site %t1228 = call ptr @lp_win_stdio(i32 2) store i32 0, ptr @lp_site call i32 (ptr, ptr, ...) @fprintf(ptr %t1228, ptr @.fmt_bounds, ptr @.str15278, i32 %t1222, i32 %t1226) call void @exit(i32 1) unreachable ixok381: %t1229 = getelementptr inbounds ptr, ptr %t1224, i32 %t1222 %t1230 = load ptr, ptr %t1229 %t1231 = getelementptr inbounds %LSlice, ptr %t1220, i32 0, i32 1 %t1232 = getelementptr inbounds %LSlice, ptr %t1220, i32 0, i32 2 %t1233 = getelementptr inbounds %LSlice, ptr %t1220, i32 0, i32 0 %t1234 = load i32, ptr %t1231 %t1235 = load i32, ptr %t1232 %t1236 = icmp sge i32 %t1234, %t1235 br i1 %t1236, label %grow383, label %put384 grow383: %t1237 = mul i32 %t1235, 2 %t1238 = icmp eq i32 %t1235, 0 %t1239 = select i1 %t1238, i32 8, i32 %t1237 %t1240 = getelementptr ptr, ptr null, i32 1 %t1241 = ptrtoint ptr %t1240 to i64 %t1242 = zext i32 %t1239 to i64 %t1243 = mul i64 %t1242, %t1241 %t1244 = load ptr, ptr %t1233 store i32 8394, ptr @lp_site %t1245 = call ptr @lp_realloc(ptr %t1244, i64 %t1243) store i32 0, ptr @lp_site store ptr %t1245, ptr %t1233 store i32 %t1239, ptr %t1232 br label %put384 put384: %t1246 = load ptr, ptr %t1233 %t1247 = getelementptr inbounds ptr, ptr %t1246, i32 %t1234 store ptr %t1230, ptr %t1247 %t1248 = add i32 %t1234, 1 store i32 %t1248, ptr %t1231 %t1249 = load i32, ptr %t1203 %t1250 = add i32 %t1249, 1 store i32 %t1250, ptr %t1203 br label %wcond378 wend380: br label %ifend374 ifend374: br label %ifend368 ifend368: %t1252 = load ptr, ptr %t0 %t1253 = call i32 @lp_str_eq(ptr %t1252, ptr @.str15279) %t1254 = icmp ne i32 %t1253, 0 %t1255 = zext i1 %t1254 to i32 store i32 %t1255, ptr %t1251 br i1 %t1254, label %sc385, label %scend386 sc385: %t1256 = load ptr, ptr %t514 %t1257 = icmp eq ptr %t1256, null %t1258 = zext i1 %t1257 to i32 %t1259 = icmp ne i32 %t1258, 0 %t1260 = zext i1 %t1259 to i32 store i32 %t1260, ptr %t1251 br label %scend386 scend386: %t1261 = load i32, ptr %t1251 %t1262 = icmp ne i32 %t1261, 0 br i1 %t1262, label %then387, label %ifend389 then387: %t1263 = load ptr, ptr %t1 store i32 8395, ptr @lp_site %t1264 = call ptr @lp_str_concat(ptr @.str15280, ptr %t1263) store i32 0, ptr @lp_site store ptr %t1264, ptr %t514 %t1265 = load ptr, ptr %t514 %t1266 = call ptr @fn_find_fn(ptr %t1265) store ptr %t1266, ptr %t1267 %t1268 = load ptr, ptr %t1267 %t1269 = icmp eq ptr %t1268, null %t1270 = zext i1 %t1269 to i32 %t1271 = icmp ne i32 %t1270, 0 br i1 %t1271, label %then390, label %ifend392 then390: %t1272 = load ptr, ptr %t514 %t1273 = call ptr @fn_find_extern(ptr %t1272) store ptr %t1273, ptr %t1267 br label %ifend392 ifend392: %t1274 = load ptr, ptr %t1267 %t1275 = icmp ne ptr %t1274, null %t1276 = zext i1 %t1275 to i32 %t1277 = icmp ne i32 %t1276, 0 br i1 %t1277, label %then393, label %ifend395 then393: %t1278 = load ptr, ptr %t1267 %t1279 = call ptr @fn_param_labels(ptr %t1278) store ptr %t1279, ptr %t1280 store i32 0, ptr %t1281 %t1282 = load ptr, ptr %t1267 %t1283 = getelementptr inbounds %Cmp_Node, ptr %t1282, i32 0, i32 0 %t1284 = load i32, ptr %t1283 %t1285 = icmp eq i32 %t1284, 4 %t1286 = zext i1 %t1285 to i32 %t1287 = icmp ne i32 %t1286, 0 br i1 %t1287, label %then396, label %ifend398 then396: %t1288 = load ptr, ptr %t1267 store ptr %t1288, ptr %t515 %t1289 = load ptr, ptr %t1267 %t1290 = call i32 @fn_state_lead(ptr %t1289) store i32 %t1290, ptr %t1281 br label %ifend398 ifend398: br label %wcond399 wcond399: %t1291 = load i32, ptr %t1281 %t1292 = load ptr, ptr %t1280 %t1293 = getelementptr inbounds %LSlice, ptr %t1292, i32 0, i32 1 %t1294 = load i32, ptr %t1293 %t1295 = icmp slt i32 %t1291, %t1294 %t1296 = zext i1 %t1295 to i32 %t1297 = icmp ne i32 %t1296, 0 br i1 %t1297, label %wbody400, label %wend401 wbody400: %t1298 = load ptr, ptr %t522 %t1299 = load ptr, ptr %t1280 %t1300 = load i32, ptr %t1281 %t1301 = getelementptr inbounds %LSlice, ptr %t1299, i32 0, i32 0 %t1302 = load ptr, ptr %t1301 %t1303 = getelementptr inbounds %LSlice, ptr %t1299, i32 0, i32 1 %t1304 = load i32, ptr %t1303 %t1305 = icmp ult i32 %t1300, %t1304 br i1 %t1305, label %ixok402, label %ixbad403 ixbad403: store i32 8396, ptr @lp_site %t1306 = call ptr @lp_win_stdio(i32 2) store i32 0, ptr @lp_site call i32 (ptr, ptr, ...) @fprintf(ptr %t1306, ptr @.fmt_bounds, ptr @.str15281, i32 %t1300, i32 %t1304) call void @exit(i32 1) unreachable ixok402: %t1307 = getelementptr inbounds ptr, ptr %t1302, i32 %t1300 %t1308 = load ptr, ptr %t1307 %t1309 = getelementptr inbounds %LSlice, ptr %t1298, i32 0, i32 1 %t1310 = getelementptr inbounds %LSlice, ptr %t1298, i32 0, i32 2 %t1311 = getelementptr inbounds %LSlice, ptr %t1298, i32 0, i32 0 %t1312 = load i32, ptr %t1309 %t1313 = load i32, ptr %t1310 %t1314 = icmp sge i32 %t1312, %t1313 br i1 %t1314, label %grow404, label %put405 grow404: %t1315 = mul i32 %t1313, 2 %t1316 = icmp eq i32 %t1313, 0 %t1317 = select i1 %t1316, i32 8, i32 %t1315 %t1318 = getelementptr ptr, ptr null, i32 1 %t1319 = ptrtoint ptr %t1318 to i64 %t1320 = zext i32 %t1317 to i64 %t1321 = mul i64 %t1320, %t1319 %t1322 = load ptr, ptr %t1311 store i32 8397, ptr @lp_site %t1323 = call ptr @lp_realloc(ptr %t1322, i64 %t1321) store i32 0, ptr @lp_site store ptr %t1323, ptr %t1311 store i32 %t1317, ptr %t1310 br label %put405 put405: %t1324 = load ptr, ptr %t1311 %t1325 = getelementptr inbounds ptr, ptr %t1324, i32 %t1312 store ptr %t1308, ptr %t1325 %t1326 = add i32 %t1312, 1 store i32 %t1326, ptr %t1309 %t1327 = load i32, ptr %t1281 %t1328 = add i32 %t1327, 1 store i32 %t1328, ptr %t1281 br label %wcond399 wend401: br label %ifend395 ifend395: br label %ifend389 ifend389: %t1330 = load ptr, ptr %t514 %t1331 = icmp eq ptr %t1330, null %t1332 = zext i1 %t1331 to i32 %t1333 = icmp ne i32 %t1332, 0 %t1334 = zext i1 %t1333 to i32 store i32 %t1334, ptr %t1329 br i1 %t1333, label %sc406, label %scend407 sc406: %t1335 = load ptr, ptr %t0 %t1336 = call i32 @fn_is_registered_namespace(ptr %t1335) %t1337 = icmp ne i32 %t1336, 0 %t1338 = zext i1 %t1337 to i32 store i32 %t1338, ptr %t1329 br label %scend407 scend407: %t1339 = load i32, ptr %t1329 %t1340 = icmp ne i32 %t1339, 0 br i1 %t1340, label %then408, label %ifend410 then408: %t1341 = load ptr, ptr %t0 %t1342 = call ptr @fn_ns_lower(ptr %t1341) store i32 8398, ptr @lp_site %t1343 = call ptr @lp_str_concat(ptr %t1342, ptr @.str15282) store i32 0, ptr @lp_site %t1344 = load ptr, ptr %t1 store i32 8399, ptr @lp_site %t1345 = call ptr @lp_str_concat(ptr %t1343, ptr %t1344) store i32 0, ptr @lp_site call void @lp_free(ptr %t1343) store ptr %t1345, ptr %t514 %t1347 = load ptr, ptr %t0 %t1348 = call i32 @fn_is_ns_block(ptr %t1347) %t1349 = icmp ne i32 %t1348, 0 %t1350 = zext i1 %t1349 to i32 store i32 %t1350, ptr %t1346 br i1 %t1349, label %sc411, label %scend412 sc411: %t1351 = load ptr, ptr %t514 %t1352 = call i32 @fn_ns_export_has(ptr %t1351) %t1353 = icmp eq i32 %t1352, 0 %t1354 = zext i1 %t1353 to i32 %t1355 = icmp ne i32 %t1354, 0 %t1356 = zext i1 %t1355 to i32 store i32 %t1356, ptr %t1346 br label %scend412 scend412: %t1357 = load i32, ptr %t1346 %t1358 = icmp ne i32 %t1357, 0 br i1 %t1358, label %then413, label %ifend415 then413: %t1359 = load ptr, ptr %t0 store i32 8400, ptr @lp_site %t1360 = call ptr @lp_str_concat(ptr %t1359, ptr @.str15283) store i32 0, ptr @lp_site %t1361 = load ptr, ptr %t1 store i32 8401, ptr @lp_site %t1362 = call ptr @lp_str_concat(ptr %t1360, ptr %t1361) store i32 0, ptr @lp_site call void @lp_free(ptr %t1360) store i32 8402, ptr @lp_site %t1363 = call ptr @lp_str_concat(ptr %t1362, ptr @.str15284) store i32 0, ptr @lp_site call void @lp_free(ptr %t1362) %t1364 = load ptr, ptr %t0 store i32 8403, ptr @lp_site %t1365 = call ptr @lp_str_concat(ptr %t1363, ptr %t1364) store i32 0, ptr @lp_site call void @lp_free(ptr %t1363) call void @fn_perr(ptr %t1365) br label %ifend415 ifend415: %t1366 = load ptr, ptr %t514 %t1367 = call ptr @fn_find_fn(ptr %t1366) store ptr %t1367, ptr %t515 %t1368 = load ptr, ptr %t515 %t1369 = icmp ne ptr %t1368, null %t1370 = zext i1 %t1369 to i32 %t1371 = icmp ne i32 %t1370, 0 br i1 %t1371, label %then416, label %ifend418 then416: %t1372 = load ptr, ptr %t515 %t1373 = call ptr @fn_param_labels(ptr %t1372) store ptr %t1373, ptr %t1374 %t1375 = load ptr, ptr %t515 %t1376 = call i32 @fn_state_lead(ptr %t1375) store i32 %t1376, ptr %t1377 br label %wcond419 wcond419: %t1378 = load i32, ptr %t1377 %t1379 = load ptr, ptr %t1374 %t1380 = getelementptr inbounds %LSlice, ptr %t1379, i32 0, i32 1 %t1381 = load i32, ptr %t1380 %t1382 = icmp slt i32 %t1378, %t1381 %t1383 = zext i1 %t1382 to i32 %t1384 = icmp ne i32 %t1383, 0 br i1 %t1384, label %wbody420, label %wend421 wbody420: %t1385 = load ptr, ptr %t522 %t1386 = load ptr, ptr %t1374 %t1387 = load i32, ptr %t1377 %t1388 = getelementptr inbounds %LSlice, ptr %t1386, i32 0, i32 0 %t1389 = load ptr, ptr %t1388 %t1390 = getelementptr inbounds %LSlice, ptr %t1386, i32 0, i32 1 %t1391 = load i32, ptr %t1390 %t1392 = icmp ult i32 %t1387, %t1391 br i1 %t1392, label %ixok422, label %ixbad423 ixbad423: store i32 8404, ptr @lp_site %t1393 = call ptr @lp_win_stdio(i32 2) store i32 0, ptr @lp_site call i32 (ptr, ptr, ...) @fprintf(ptr %t1393, ptr @.fmt_bounds, ptr @.str15285, i32 %t1387, i32 %t1391) call void @exit(i32 1) unreachable ixok422: %t1394 = getelementptr inbounds ptr, ptr %t1389, i32 %t1387 %t1395 = load ptr, ptr %t1394 %t1396 = getelementptr inbounds %LSlice, ptr %t1385, i32 0, i32 1 %t1397 = getelementptr inbounds %LSlice, ptr %t1385, i32 0, i32 2 %t1398 = getelementptr inbounds %LSlice, ptr %t1385, i32 0, i32 0 %t1399 = load i32, ptr %t1396 %t1400 = load i32, ptr %t1397 %t1401 = icmp sge i32 %t1399, %t1400 br i1 %t1401, label %grow424, label %put425 grow424: %t1402 = mul i32 %t1400, 2 %t1403 = icmp eq i32 %t1400, 0 %t1404 = select i1 %t1403, i32 8, i32 %t1402 %t1405 = getelementptr ptr, ptr null, i32 1 %t1406 = ptrtoint ptr %t1405 to i64 %t1407 = zext i32 %t1404 to i64 %t1408 = mul i64 %t1407, %t1406 %t1409 = load ptr, ptr %t1398 store i32 8405, ptr @lp_site %t1410 = call ptr @lp_realloc(ptr %t1409, i64 %t1408) store i32 0, ptr @lp_site store ptr %t1410, ptr %t1398 store i32 %t1404, ptr %t1397 br label %put425 put425: %t1411 = load ptr, ptr %t1398 %t1412 = getelementptr inbounds ptr, ptr %t1411, i32 %t1399 store ptr %t1395, ptr %t1412 %t1413 = add i32 %t1399, 1 store i32 %t1413, ptr %t1396 %t1414 = load i32, ptr %t1377 %t1415 = add i32 %t1414, 1 store i32 %t1415, ptr %t1377 br label %wcond419 wend421: br label %ifend418 ifend418: br label %ifend410 ifend410: %t1416 = load ptr, ptr %t514 %t1417 = icmp eq ptr %t1416, null %t1418 = zext i1 %t1417 to i32 %t1419 = icmp ne i32 %t1418, 0 br i1 %t1419, label %then426, label %ifend428 then426: %t1420 = load ptr, ptr %t0 store i32 8406, ptr @lp_site %t1421 = call ptr @lp_str_concat(ptr @.str15286, ptr %t1420) store i32 0, ptr @lp_site store i32 8407, ptr @lp_site %t1422 = call ptr @lp_str_concat(ptr %t1421, ptr @.str15287) store i32 0, ptr @lp_site call void @lp_free(ptr %t1421) %t1423 = load ptr, ptr %t1 store i32 8408, ptr @lp_site %t1424 = call ptr @lp_str_concat(ptr %t1422, ptr %t1423) store i32 0, ptr @lp_site call void @lp_free(ptr %t1422) call void @fn_perr(ptr %t1424) br label %ifend428 ifend428: %t1425 = load ptr, ptr %t2 %t1426 = load ptr, ptr %t522 call void @fn_reorder_named(ptr %t1425, ptr %t1426) %t1427 = load ptr, ptr %t2 %t1428 = load ptr, ptr %t515 call void @fn_state_inject(ptr %t1427, ptr %t1428) %t1429 = call ptr @fn_node(i32 33) store ptr %t1429, ptr %t1430 %t1431 = load ptr, ptr %t1430 %t1432 = getelementptr inbounds %Cmp_Node, ptr %t1431, i32 0, i32 1 %t1433 = load ptr, ptr %t514 store ptr %t1433, ptr %t1432 %t1434 = load ptr, ptr %t2 %t1435 = getelementptr inbounds %Cmp_Node, ptr %t1434, i32 0, i32 4 %t1436 = load ptr, ptr %t1430 store ptr %t1436, ptr %t1435 %t1437 = load ptr, ptr %t2 %t1438 = call ptr @fn_emit_call(ptr %t1437) store ptr %t1438, ptr %retval br label %ret ret: %t1439 = load ptr, ptr %retval ret ptr %t1439 } 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 %t15 = alloca ptr %t21 = alloca i32 %t49 = alloca ptr %t53 = alloca i32 %t73 = alloca ptr %t85 = alloca ptr %t89 = alloca ptr %t91 = 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 = load i32, ptr %t1 %t7 = getelementptr inbounds %LSlice, ptr %t5, i32 0, i32 0 %t8 = load ptr, ptr %t7 %t9 = getelementptr inbounds %LSlice, ptr %t5, i32 0, i32 1 %t10 = load i32, ptr %t9 %t11 = icmp ult i32 %t6, %t10 br i1 %t11, label %ixok0, label %ixbad1 ixbad1: store i32 8409, ptr @lp_site %t12 = call ptr @lp_win_stdio(i32 2) store i32 0, ptr @lp_site call i32 (ptr, ptr, ...) @fprintf(ptr %t12, ptr @.fmt_bounds, ptr @.str15288, i32 %t6, i32 %t10) call void @exit(i32 1) unreachable ixok0: %t13 = getelementptr inbounds ptr, ptr %t8, i32 %t6 %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 7 %t18 = load ptr, ptr %t17 %t19 = getelementptr inbounds %LSlice, ptr %t18, i32 0, i32 1 %t20 = load i32, ptr %t19 store i32 %t20, ptr %t21 %t22 = load ptr, ptr %t2 %t23 = getelementptr inbounds %LSlice, ptr %t22, i32 0, i32 1 %t24 = load i32, ptr %t23 %t25 = load i32, ptr %t21 %t26 = icmp ne i32 %t24, %t25 %t27 = zext i1 %t26 to i32 %t28 = icmp ne i32 %t27, 0 br i1 %t28, label %then2, label %ifend4 then2: %t29 = load ptr, ptr %t15 %t30 = getelementptr inbounds %Cmp_Node, ptr %t29, i32 0, i32 1 %t31 = load ptr, ptr %t30 store i32 8410, ptr @lp_site %t32 = call ptr @lp_str_concat(ptr @.str15290, ptr %t31) store i32 0, ptr @lp_site store i32 8411, ptr @lp_site %t33 = call ptr @lp_str_concat(ptr %t32, ptr @.str15291) store i32 0, ptr @lp_site call void @lp_free(ptr %t32) %t34 = load i32, ptr %t21 %t35 = call ptr @fn_itoa(i32 %t34) store i32 8412, ptr @lp_site %t36 = call ptr @lp_str_concat(ptr %t33, ptr %t35) store i32 0, ptr @lp_site call void @lp_free(ptr %t33) store i32 8413, ptr @lp_site %t37 = call ptr @lp_str_concat(ptr %t36, ptr @.str15292) store i32 0, ptr @lp_site call void @lp_free(ptr %t36) %t38 = load ptr, ptr %t2 %t39 = getelementptr inbounds %LSlice, ptr %t38, i32 0, i32 1 %t40 = load i32, ptr %t39 %t41 = call ptr @fn_itoa(i32 %t40) store i32 8414, ptr @lp_site %t42 = call ptr @lp_str_concat(ptr %t37, ptr %t41) store i32 0, ptr @lp_site call void @lp_free(ptr %t37) call void @fn_perr(ptr %t42) br label %ifend4 ifend4: %t43 = load ptr, ptr %t0 %t44 = call i32 @fn_enum_box_size(ptr %t43) %t45 = call ptr @fn_itoa(i32 %t44) store i32 8415, ptr @lp_site %t46 = call ptr @lp_str_concat(ptr @.str15293, ptr %t45) store i32 0, ptr @lp_site store i32 8416, ptr @lp_site %t47 = call ptr @lp_str_concat(ptr %t46, ptr @.str15294) store i32 0, ptr @lp_site call void @lp_free(ptr %t46) %t48 = call ptr @fn_emit_bind(ptr %t47) store ptr %t48, ptr %t49 call void @fn_emit(ptr @.str15295) %t50 = load i32, ptr %t1 %t51 = call ptr @fn_itoa(i32 %t50) call void @fn_emit(ptr %t51) call void @fn_emit(ptr @.str15296) %t52 = load ptr, ptr %t49 call void @fn_emit(ptr %t52) call void @fn_emit(ptr @.str15297) store i32 0, ptr %t53 br label %wcond5 wcond5: %t54 = load i32, ptr %t53 %t55 = load i32, ptr %t21 %t56 = icmp slt i32 %t54, %t55 %t57 = zext i1 %t56 to i32 %t58 = icmp ne i32 %t57, 0 br i1 %t58, label %wbody6, label %wend7 wbody6: %t59 = load ptr, ptr %t15 %t60 = getelementptr inbounds %Cmp_Node, ptr %t59, i32 0, i32 7 %t61 = load ptr, ptr %t60 %t62 = load i32, ptr %t53 %t63 = getelementptr inbounds %LSlice, ptr %t61, i32 0, i32 0 %t64 = load ptr, ptr %t63 %t65 = getelementptr inbounds %LSlice, ptr %t61, i32 0, i32 1 %t66 = load i32, ptr %t65 %t67 = icmp ult i32 %t62, %t66 br i1 %t67, label %ixok8, label %ixbad9 ixbad9: store i32 8417, ptr @lp_site %t68 = call ptr @lp_win_stdio(i32 2) store i32 0, ptr @lp_site call i32 (ptr, ptr, ...) @fprintf(ptr %t68, ptr @.fmt_bounds, ptr @.str15298, i32 %t62, i32 %t66) call void @exit(i32 1) unreachable ixok8: %t69 = getelementptr inbounds ptr, ptr %t64, i32 %t62 %t70 = load ptr, ptr %t69 %t71 = getelementptr inbounds %Cmp_Node, ptr %t70, i32 0, i32 3 %t72 = load ptr, ptr %t71 store ptr %t72, ptr %t73 %t74 = load ptr, ptr %t2 %t75 = load i32, ptr %t53 %t76 = getelementptr inbounds %LSlice, ptr %t74, i32 0, i32 0 %t77 = load ptr, ptr %t76 %t78 = getelementptr inbounds %LSlice, ptr %t74, i32 0, i32 1 %t79 = load i32, ptr %t78 %t80 = icmp ult i32 %t75, %t79 br i1 %t80, label %ixok10, label %ixbad11 ixbad11: store i32 8418, ptr @lp_site %t81 = call ptr @lp_win_stdio(i32 2) store i32 0, ptr @lp_site call i32 (ptr, ptr, ...) @fprintf(ptr %t81, ptr @.fmt_bounds, ptr @.str15299, i32 %t75, i32 %t79) call void @exit(i32 1) unreachable ixok10: %t82 = getelementptr inbounds ptr, ptr %t77, i32 %t75 %t83 = load ptr, ptr %t82 %t84 = call ptr @fn_emit_expr(ptr %t83) store ptr %t84, ptr %t85 %t86 = load ptr, ptr %t85 %t87 = load ptr, ptr %t73 %t88 = call ptr @fn_coerce_code(ptr %t86, ptr %t87) store ptr %t88, ptr %t89 %t90 = call ptr @fn_nreg() store ptr %t90, ptr %t91 call void @fn_emit(ptr @.str15300) %t92 = load ptr, ptr %t91 call void @fn_emit(ptr %t92) call void @fn_emit(ptr @.str15301) %t93 = load ptr, ptr %t49 call void @fn_emit(ptr %t93) call void @fn_emit(ptr @.str15302) %t94 = load i32, ptr %t53 %t95 = add i32 %t94, 1 %t96 = mul i32 8, %t95 %t97 = call ptr @fn_itoa(i32 %t96) call void @fn_emit(ptr %t97) call void @fn_emit(ptr @.str15303) call void @fn_emit(ptr @.str15304) %t98 = load ptr, ptr %t73 %t99 = call ptr @fn_llty(ptr %t98) call void @fn_emit(ptr %t99) call void @fn_emit(ptr @.str15305) %t100 = load ptr, ptr %t89 call void @fn_emit(ptr %t100) call void @fn_emit(ptr @.str15306) %t101 = load ptr, ptr %t91 call void @fn_emit(ptr %t101) call void @fn_emit(ptr @.str15307) %t102 = load i32, ptr %t53 %t103 = add i32 %t102, 1 store i32 %t103, ptr %t53 br label %wcond5 wend7: %t104 = load ptr, ptr %t49 %t105 = load ptr, ptr %t0 %t106 = getelementptr inbounds %Cmp_Node, ptr %t105, i32 0, i32 1 %t107 = load ptr, ptr %t106 %t108 = call ptr @fn_val(ptr %t104, ptr %t107) store ptr %t108, ptr %retval br label %ret ret: %t109 = load ptr, ptr %retval ret ptr %t109 } define ptr @fn_emit_call(ptr %arg_e) { entry: %retval = alloca ptr %t0 = alloca ptr %t3 = alloca ptr %t48 = alloca ptr %t80 = alloca i32 %t119 = alloca ptr %t142 = alloca ptr %t155 = alloca ptr %t182 = alloca ptr %t195 = alloca ptr %t223 = alloca ptr %t236 = alloca ptr %t249 = alloca ptr %t275 = alloca ptr %t298 = alloca ptr %t321 = alloca ptr %t334 = alloca ptr %t357 = alloca ptr %t369 = alloca ptr %t374 = alloca ptr %t412 = alloca ptr %t432 = alloca ptr %t437 = alloca i32 %t461 = alloca ptr %t474 = alloca ptr %t487 = alloca ptr %t498 = alloca i32 %t522 = alloca ptr %t535 = alloca ptr %t558 = alloca i32 %t587 = alloca i32 %t615 = alloca ptr %t638 = alloca ptr %t639 = alloca i32 %t640 = alloca i32 %t722 = alloca ptr %t782 = alloca ptr %t789 = alloca ptr %t811 = alloca i32 %t837 = alloca i32 %t863 = alloca i32 %t909 = alloca ptr %t932 = alloca ptr %t957 = alloca i32 %t958 = alloca i32 %t959 = alloca i32 %t1005 = alloca i32 %t1006 = alloca i32 %t1043 = alloca ptr %t1080 = alloca i32 %t1081 = alloca i32 %t1118 = alloca ptr %t1129 = alloca i32 %t1155 = alloca i32 %t1181 = alloca i32 %t1207 = alloca i32 %t1233 = alloca i32 %t1234 = alloca i32 %t1254 = alloca ptr %t1287 = alloca ptr %t1310 = alloca ptr %t1317 = alloca ptr %t1322 = alloca ptr %t1341 = alloca ptr %t1354 = alloca ptr %t1355 = alloca i32 %t1374 = alloca i32 %t1403 = alloca ptr %t1408 = alloca ptr %t1433 = alloca ptr %t1446 = alloca ptr %t1459 = alloca ptr %t1460 = alloca i32 %t1461 = alloca i32 %t1500 = alloca ptr %t1504 = alloca ptr %t1509 = alloca ptr %t1519 = alloca ptr %t1528 = alloca ptr %t1533 = alloca ptr %t1558 = alloca ptr %t1568 = alloca ptr %t1571 = alloca ptr %t1599 = alloca ptr %t1606 = alloca ptr %t1608 = alloca ptr %t1610 = alloca ptr %t1634 = alloca ptr %t1644 = alloca ptr %t1647 = alloca ptr %t1662 = alloca i32 %t1686 = alloca ptr %t1688 = alloca ptr %t1693 = alloca ptr %t1701 = alloca ptr %t1713 = alloca ptr %t1719 = alloca i32 %t1743 = alloca ptr %t1745 = alloca ptr %t1750 = alloca ptr %t1758 = alloca ptr %t1766 = alloca ptr %t1777 = alloca i32 %t1801 = alloca ptr %t1808 = alloca ptr %t1812 = alloca ptr %t1817 = alloca ptr %t1823 = alloca i32 %t1847 = alloca ptr %t1854 = alloca ptr %t1858 = alloca ptr %t1863 = alloca ptr %t1869 = alloca i32 %t1893 = alloca ptr %t1895 = alloca ptr %t1900 = alloca ptr %t1908 = alloca ptr %t1918 = alloca i32 %t1931 = alloca ptr %t1936 = alloca ptr %t1944 = alloca ptr %t1950 = alloca i32 %t1974 = alloca ptr %t1981 = alloca ptr %t1985 = alloca ptr %t1990 = alloca ptr %t1996 = alloca i32 %t2020 = alloca ptr %t2027 = alloca ptr %t2031 = alloca ptr %t2036 = alloca ptr %t2042 = alloca i32 %t2066 = alloca ptr %t2079 = alloca ptr %t2086 = alloca ptr %t2090 = alloca ptr %t2097 = alloca ptr %t2101 = alloca ptr %t2106 = alloca ptr %t2133 = alloca ptr %t2156 = alloca ptr %t2169 = alloca ptr %t2197 = alloca ptr %t2210 = alloca ptr %t2223 = alloca ptr %t2240 = alloca ptr %t2261 = alloca ptr %t2274 = alloca ptr %t2287 = alloca ptr %t2300 = alloca ptr %t2307 = alloca ptr %t2334 = alloca ptr %t2347 = alloca ptr %t2380 = alloca ptr %t2403 = alloca ptr %t2426 = alloca ptr %t2439 = alloca ptr %t2467 = alloca ptr %t2480 = alloca ptr %t2508 = alloca ptr %t2521 = alloca ptr %t2544 = alloca ptr %t2557 = alloca ptr %t2580 = alloca ptr %t2608 = alloca ptr %t2631 = alloca ptr %t2654 = alloca ptr %t2667 = alloca ptr %t2695 = alloca ptr %t2708 = alloca ptr %t2741 = alloca ptr %t2751 = alloca ptr %t2758 = alloca ptr %t2765 = alloca ptr %t2766 = alloca i32 %t2789 = alloca ptr %t2805 = alloca ptr %t2874 = alloca ptr %t2875 = alloca ptr %t2930 = alloca ptr %t2943 = alloca ptr %t2945 = alloca ptr %t2952 = alloca ptr %t2984 = alloca ptr %t2991 = alloca ptr %t2998 = alloca ptr %t2999 = alloca i32 %t3022 = alloca ptr %t3026 = alloca ptr %t3092 = alloca ptr %t3093 = alloca ptr store ptr %arg_e, ptr %t0 %t1 = load ptr, ptr %t0 %t2 = call ptr @fn_callee_value(ptr %t1) store ptr %t2, ptr %t3 %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 %t3 %t9 = load ptr, ptr %t0 %t10 = call ptr @fn_emit_indirect_call(ptr %t8, ptr %t9) store ptr %t10, ptr %retval br label %ret ifend2: %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 0 %t15 = load i32, ptr %t14 %t16 = icmp eq i32 %t15, 35 %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 0 %t25 = load i32, ptr %t24 %t26 = icmp eq i32 %t25, 33 %t27 = zext i1 %t26 to i32 %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 4 %t31 = load ptr, ptr %t30 %t32 = getelementptr inbounds %Cmp_Node, ptr %t31, i32 0, i32 4 %t33 = load ptr, ptr %t32 %t34 = getelementptr inbounds %Cmp_Node, ptr %t33, i32 0, i32 1 %t35 = load ptr, ptr %t34 %t36 = load ptr, ptr %t0 %t37 = getelementptr inbounds %Cmp_Node, ptr %t36, i32 0, i32 4 %t38 = load ptr, ptr %t37 %t39 = getelementptr inbounds %Cmp_Node, ptr %t38, i32 0, i32 1 %t40 = load ptr, ptr %t39 %t41 = load ptr, ptr %t0 %t42 = call ptr @fn_emit_ns_call(ptr %t35, ptr %t40, ptr %t41) store ptr %t42, ptr %retval br label %ret ifend8: call void @fn_perr(ptr @.str15308) br label %ifend5 ifend5: %t43 = load ptr, ptr %t0 %t44 = getelementptr inbounds %Cmp_Node, ptr %t43, i32 0, i32 4 %t45 = load ptr, ptr %t44 %t46 = getelementptr inbounds %Cmp_Node, ptr %t45, i32 0, i32 1 %t47 = load ptr, ptr %t46 store ptr %t47, ptr %t48 %t49 = load ptr, ptr %t48 %t50 = call i32 @lp_str_eq(ptr %t49, ptr @.str15309) %t51 = icmp ne i32 %t50, 0 br i1 %t51, label %then9, label %ifend11 then9: %t52 = load i32, ptr @g_nself %t53 = icmp eq i32 %t52, 0 %t54 = zext i1 %t53 to i32 %t55 = icmp ne i32 %t54, 0 br i1 %t55, label %then12, label %ifend14 then12: %t56 = call ptr @fn_val(ptr @.str15310, ptr @.str15311) store ptr %t56, ptr %retval br label %ret ifend14: %t57 = load ptr, ptr @g_self_stk %t58 = load i32, ptr @g_nself %t59 = sub i32 %t58, 1 %t60 = getelementptr inbounds %LSlice, ptr %t57, i32 0, i32 0 %t61 = load ptr, ptr %t60 %t62 = getelementptr inbounds %LSlice, ptr %t57, i32 0, i32 1 %t63 = load i32, ptr %t62 %t64 = icmp ult i32 %t59, %t63 br i1 %t64, label %ixok15, label %ixbad16 ixbad16: store i32 8419, ptr @lp_site %t65 = call ptr @lp_win_stdio(i32 2) store i32 0, ptr @lp_site call i32 (ptr, ptr, ...) @fprintf(ptr %t65, ptr @.fmt_bounds, ptr @.str15313, i32 %t59, i32 %t63) call void @exit(i32 1) unreachable ixok15: %t66 = getelementptr inbounds ptr, ptr %t61, i32 %t59 %t67 = load ptr, ptr %t66 store i32 8420, ptr @lp_site %t68 = call ptr @lp_str_concat(ptr @.str15312, ptr %t67) store i32 0, ptr @lp_site %t69 = call ptr @fn_emit_bind(ptr %t68) %t70 = call ptr @fn_val(ptr %t69, ptr @.str15315) store ptr %t70, ptr %retval br label %ret ifend11: %t71 = load ptr, ptr %t48 %t72 = call i32 @lp_str_eq(ptr %t71, ptr @.str15316) %t73 = icmp ne i32 %t72, 0 br i1 %t73, label %then17, label %ifend19 then17: %t74 = call ptr @fn_emit_bind(ptr @.str15317) %t75 = call ptr @fn_val(ptr %t74, ptr @.str15318) store ptr %t75, ptr %retval br label %ret ifend19: %t76 = load ptr, ptr %t48 %t77 = call i32 @lp_str_eq(ptr %t76, ptr @.str15319) %t78 = icmp ne i32 %t77, 0 br i1 %t78, label %then20, label %ifend22 then20: call void @fn_emit(ptr @.str15320) %t79 = call ptr @fn_val(ptr @.str15321, ptr @.str15322) store ptr %t79, ptr %retval br label %ret ifend22: %t81 = load ptr, ptr %t48 %t82 = call i32 @lp_str_eq(ptr %t81, ptr @.str15323) %t83 = icmp ne i32 %t82, 0 %t84 = zext i1 %t83 to i32 store i32 %t84, ptr %t80 br i1 %t83, label %sc23, label %scend24 sc23: %t85 = load ptr, ptr %t48 %t86 = call ptr @fn_find_fn(ptr %t85) %t87 = icmp eq ptr %t86, null %t88 = zext i1 %t87 to i32 %t89 = icmp ne i32 %t88, 0 %t90 = zext i1 %t89 to i32 store i32 %t90, ptr %t80 br label %scend24 scend24: %t91 = load i32, ptr %t80 %t92 = icmp ne i32 %t91, 0 br i1 %t92, label %then25, label %ifend27 then25: call void @fn_emit(ptr @.str15324) %t93 = call ptr @fn_val(ptr @.str15325, ptr @.str15326) store ptr %t93, ptr %retval br label %ret ifend27: %t94 = load ptr, ptr %t48 %t95 = call i32 @lp_str_eq(ptr %t94, ptr @.str15327) %t96 = icmp ne i32 %t95, 0 br i1 %t96, label %then28, label %ifend30 then28: %t97 = call ptr @fn_emit_bind(ptr @.str15328) %t98 = call ptr @fn_val(ptr %t97, ptr @.str15329) store ptr %t98, ptr %retval br label %ret ifend30: %t99 = load ptr, ptr %t48 %t100 = call i32 @lp_str_eq(ptr %t99, ptr @.str15330) %t101 = icmp ne i32 %t100, 0 br i1 %t101, label %then31, label %ifend33 then31: %t102 = call ptr @fn_emit_bind(ptr @.str15331) %t103 = call ptr @fn_val(ptr %t102, ptr @.str15332) store ptr %t103, ptr %retval br label %ret ifend33: %t104 = load ptr, ptr %t48 %t105 = call i32 @lp_str_eq(ptr %t104, ptr @.str15333) %t106 = icmp ne i32 %t105, 0 br i1 %t106, label %then34, label %ifend36 then34: %t107 = load ptr, ptr %t0 %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 = getelementptr inbounds %LSlice, ptr %t109, i32 0, i32 1 %t113 = load i32, ptr %t112 %t114 = icmp ult i32 0, %t113 br i1 %t114, label %ixok37, label %ixbad38 ixbad38: store i32 8421, ptr @lp_site %t115 = call ptr @lp_win_stdio(i32 2) store i32 0, ptr @lp_site call i32 (ptr, ptr, ...) @fprintf(ptr %t115, ptr @.fmt_bounds, ptr @.str15334, i32 0, i32 %t113) call void @exit(i32 1) unreachable ixok37: %t116 = getelementptr inbounds ptr, ptr %t111, i32 0 %t117 = load ptr, ptr %t116 %t118 = call ptr @fn_emit_expr(ptr %t117) store ptr %t118, ptr %t119 %t120 = load ptr, ptr %t119 %t121 = getelementptr inbounds %Cmp_Val, ptr %t120, i32 0, i32 0 %t122 = load ptr, ptr %t121 store i32 8422, ptr @lp_site %t123 = call ptr @lp_str_concat(ptr @.str15335, ptr %t122) store i32 0, ptr @lp_site store i32 8423, ptr @lp_site %t124 = call ptr @lp_str_concat(ptr %t123, ptr @.str15336) store i32 0, ptr @lp_site call void @lp_free(ptr %t123) %t125 = call ptr @fn_emit_bind(ptr %t124) %t126 = call ptr @fn_val(ptr %t125, ptr @.str15337) store ptr %t126, ptr %retval br label %ret ifend36: %t127 = load ptr, ptr %t48 %t128 = call i32 @lp_str_eq(ptr %t127, ptr @.str15338) %t129 = icmp ne i32 %t128, 0 br i1 %t129, label %then39, label %ifend41 then39: %t130 = load ptr, ptr %t0 %t131 = getelementptr inbounds %Cmp_Node, ptr %t130, i32 0, i32 7 %t132 = load ptr, ptr %t131 %t133 = getelementptr inbounds %LSlice, ptr %t132, i32 0, i32 0 %t134 = load ptr, ptr %t133 %t135 = getelementptr inbounds %LSlice, ptr %t132, i32 0, i32 1 %t136 = load i32, ptr %t135 %t137 = icmp ult i32 0, %t136 br i1 %t137, label %ixok42, label %ixbad43 ixbad43: store i32 8424, ptr @lp_site %t138 = call ptr @lp_win_stdio(i32 2) store i32 0, ptr @lp_site call i32 (ptr, ptr, ...) @fprintf(ptr %t138, ptr @.fmt_bounds, ptr @.str15339, i32 0, i32 %t136) call void @exit(i32 1) unreachable ixok42: %t139 = getelementptr inbounds ptr, ptr %t134, 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 %LSlice, ptr %t145, i32 0, i32 1 %t149 = load i32, ptr %t148 %t150 = icmp ult i32 1, %t149 br i1 %t150, label %ixok44, label %ixbad45 ixbad45: store i32 8425, ptr @lp_site %t151 = call ptr @lp_win_stdio(i32 2) store i32 0, ptr @lp_site call i32 (ptr, ptr, ...) @fprintf(ptr %t151, ptr @.fmt_bounds, ptr @.str15340, i32 1, i32 %t149) call void @exit(i32 1) unreachable ixok44: %t152 = getelementptr inbounds ptr, ptr %t147, i32 1 %t153 = load ptr, ptr %t152 %t154 = call ptr @fn_emit_expr(ptr %t153) store ptr %t154, ptr %t155 call void @fn_emit(ptr @.str15341) %t156 = load ptr, ptr %t142 %t157 = getelementptr inbounds %Cmp_Val, ptr %t156, i32 0, i32 0 %t158 = load ptr, ptr %t157 call void @fn_emit(ptr %t158) call void @fn_emit(ptr @.str15342) %t159 = load ptr, ptr %t155 %t160 = getelementptr inbounds %Cmp_Val, ptr %t159, i32 0, i32 0 %t161 = load ptr, ptr %t160 call void @fn_emit(ptr %t161) call void @fn_emit(ptr @.str15343) %t162 = call ptr @fn_val(ptr @.str15344, ptr @.str15345) store ptr %t162, ptr %retval br label %ret ifend41: %t163 = load ptr, ptr %t48 %t164 = call i32 @lp_str_eq(ptr %t163, ptr @.str15346) %t165 = icmp ne i32 %t164, 0 br i1 %t165, label %then46, label %ifend48 then46: store i32 1, ptr @g_g_uses_quit call void @fn_emit(ptr @.str15347) %t166 = call ptr @fn_val(ptr @.str15348, ptr @.str15349) store ptr %t166, ptr %retval br label %ret ifend48: %t167 = load ptr, ptr %t48 %t168 = call i32 @lp_str_eq(ptr %t167, ptr @.str15350) %t169 = icmp ne i32 %t168, 0 br i1 %t169, label %then49, label %ifend51 then49: %t170 = load ptr, ptr %t0 %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 %LSlice, ptr %t172, i32 0, i32 1 %t176 = load i32, ptr %t175 %t177 = icmp ult i32 0, %t176 br i1 %t177, label %ixok52, label %ixbad53 ixbad53: store i32 8426, ptr @lp_site %t178 = call ptr @lp_win_stdio(i32 2) store i32 0, ptr @lp_site call i32 (ptr, ptr, ...) @fprintf(ptr %t178, ptr @.fmt_bounds, ptr @.str15351, i32 0, i32 %t176) call void @exit(i32 1) unreachable ixok52: %t179 = getelementptr inbounds ptr, ptr %t174, i32 0 %t180 = load ptr, ptr %t179 %t181 = call ptr @fn_emit_expr(ptr %t180) store ptr %t181, ptr %t182 %t183 = load ptr, ptr %t0 %t184 = getelementptr inbounds %Cmp_Node, ptr %t183, i32 0, i32 7 %t185 = load ptr, ptr %t184 %t186 = getelementptr inbounds %LSlice, ptr %t185, i32 0, i32 0 %t187 = load ptr, ptr %t186 %t188 = getelementptr inbounds %LSlice, ptr %t185, i32 0, i32 1 %t189 = load i32, ptr %t188 %t190 = icmp ult i32 1, %t189 br i1 %t190, label %ixok54, label %ixbad55 ixbad55: store i32 8427, ptr @lp_site %t191 = call ptr @lp_win_stdio(i32 2) store i32 0, ptr @lp_site call i32 (ptr, ptr, ...) @fprintf(ptr %t191, ptr @.fmt_bounds, ptr @.str15352, i32 1, i32 %t189) call void @exit(i32 1) unreachable ixok54: %t192 = getelementptr inbounds ptr, ptr %t187, i32 1 %t193 = load ptr, ptr %t192 %t194 = call ptr @fn_emit_expr(ptr %t193) store ptr %t194, ptr %t195 %t196 = load ptr, ptr %t182 %t197 = getelementptr inbounds %Cmp_Val, ptr %t196, i32 0, i32 0 %t198 = load ptr, ptr %t197 store i32 8428, ptr @lp_site %t199 = call ptr @lp_str_concat(ptr @.str15353, ptr %t198) store i32 0, ptr @lp_site store i32 8429, ptr @lp_site %t200 = call ptr @lp_str_concat(ptr %t199, ptr @.str15354) store i32 0, ptr @lp_site call void @lp_free(ptr %t199) %t201 = load ptr, ptr %t195 %t202 = getelementptr inbounds %Cmp_Val, ptr %t201, i32 0, i32 0 %t203 = load ptr, ptr %t202 store i32 8430, ptr @lp_site %t204 = call ptr @lp_str_concat(ptr %t200, ptr %t203) store i32 0, ptr @lp_site call void @lp_free(ptr %t200) store i32 8431, ptr @lp_site %t205 = call ptr @lp_str_concat(ptr %t204, ptr @.str15355) store i32 0, ptr @lp_site call void @lp_free(ptr %t204) %t206 = call ptr @fn_emit_bind(ptr %t205) %t207 = call ptr @fn_val(ptr %t206, ptr @.str15356) store ptr %t207, ptr %retval br label %ret ifend51: %t208 = load ptr, ptr %t48 %t209 = call i32 @lp_str_eq(ptr %t208, ptr @.str15357) %t210 = icmp ne i32 %t209, 0 br i1 %t210, label %then56, label %ifend58 then56: %t211 = load ptr, ptr %t0 %t212 = getelementptr inbounds %Cmp_Node, ptr %t211, i32 0, i32 7 %t213 = load ptr, ptr %t212 %t214 = getelementptr inbounds %LSlice, ptr %t213, i32 0, i32 0 %t215 = load ptr, ptr %t214 %t216 = getelementptr inbounds %LSlice, ptr %t213, i32 0, i32 1 %t217 = load i32, ptr %t216 %t218 = icmp ult i32 0, %t217 br i1 %t218, label %ixok59, label %ixbad60 ixbad60: store i32 8432, ptr @lp_site %t219 = call ptr @lp_win_stdio(i32 2) store i32 0, ptr @lp_site call i32 (ptr, ptr, ...) @fprintf(ptr %t219, ptr @.fmt_bounds, ptr @.str15358, i32 0, i32 %t217) call void @exit(i32 1) unreachable ixok59: %t220 = getelementptr inbounds ptr, ptr %t215, i32 0 %t221 = load ptr, ptr %t220 %t222 = call ptr @fn_emit_expr(ptr %t221) store ptr %t222, ptr %t223 %t224 = load ptr, ptr %t0 %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 %LSlice, ptr %t226, i32 0, i32 1 %t230 = load i32, ptr %t229 %t231 = icmp ult i32 1, %t230 br i1 %t231, label %ixok61, label %ixbad62 ixbad62: store i32 8433, ptr @lp_site %t232 = call ptr @lp_win_stdio(i32 2) store i32 0, ptr @lp_site call i32 (ptr, ptr, ...) @fprintf(ptr %t232, ptr @.fmt_bounds, ptr @.str15359, i32 1, i32 %t230) call void @exit(i32 1) unreachable ixok61: %t233 = getelementptr inbounds ptr, ptr %t228, i32 1 %t234 = load ptr, ptr %t233 %t235 = call ptr @fn_emit_expr(ptr %t234) store ptr %t235, ptr %t236 %t237 = load ptr, ptr %t0 %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 %LSlice, ptr %t239, i32 0, i32 1 %t243 = load i32, ptr %t242 %t244 = icmp ult i32 2, %t243 br i1 %t244, label %ixok63, label %ixbad64 ixbad64: store i32 8434, ptr @lp_site %t245 = call ptr @lp_win_stdio(i32 2) store i32 0, ptr @lp_site call i32 (ptr, ptr, ...) @fprintf(ptr %t245, ptr @.fmt_bounds, ptr @.str15360, i32 2, i32 %t243) call void @exit(i32 1) unreachable ixok63: %t246 = getelementptr inbounds ptr, ptr %t241, i32 2 %t247 = load ptr, ptr %t246 %t248 = call ptr @fn_emit_expr(ptr %t247) store ptr %t248, ptr %t249 call void @fn_emit(ptr @.str15361) %t250 = load ptr, ptr %t223 %t251 = getelementptr inbounds %Cmp_Val, ptr %t250, i32 0, i32 0 %t252 = load ptr, ptr %t251 call void @fn_emit(ptr %t252) call void @fn_emit(ptr @.str15362) %t253 = load ptr, ptr %t236 %t254 = getelementptr inbounds %Cmp_Val, ptr %t253, i32 0, i32 0 %t255 = load ptr, ptr %t254 call void @fn_emit(ptr %t255) call void @fn_emit(ptr @.str15363) %t256 = load ptr, ptr %t249 %t257 = getelementptr inbounds %Cmp_Val, ptr %t256, i32 0, i32 0 %t258 = load ptr, ptr %t257 call void @fn_emit(ptr %t258) call void @fn_emit(ptr @.str15364) %t259 = call ptr @fn_val(ptr @.str15365, ptr @.str15366) store ptr %t259, ptr %retval br label %ret ifend58: %t260 = load ptr, ptr %t48 %t261 = call i32 @lp_str_eq(ptr %t260, ptr @.str15367) %t262 = icmp ne i32 %t261, 0 br i1 %t262, label %then65, label %ifend67 then65: %t263 = load ptr, ptr %t0 %t264 = getelementptr inbounds %Cmp_Node, ptr %t263, i32 0, i32 7 %t265 = load ptr, ptr %t264 %t266 = getelementptr inbounds %LSlice, ptr %t265, i32 0, i32 0 %t267 = load ptr, ptr %t266 %t268 = getelementptr inbounds %LSlice, ptr %t265, i32 0, i32 1 %t269 = load i32, ptr %t268 %t270 = icmp ult i32 0, %t269 br i1 %t270, label %ixok68, label %ixbad69 ixbad69: store i32 8435, ptr @lp_site %t271 = call ptr @lp_win_stdio(i32 2) store i32 0, ptr @lp_site call i32 (ptr, ptr, ...) @fprintf(ptr %t271, ptr @.fmt_bounds, ptr @.str15368, i32 0, i32 %t269) call void @exit(i32 1) unreachable ixok68: %t272 = getelementptr inbounds ptr, ptr %t267, i32 0 %t273 = load ptr, ptr %t272 %t274 = call ptr @fn_emit_expr(ptr %t273) store ptr %t274, ptr %t275 %t276 = load ptr, ptr %t275 %t277 = getelementptr inbounds %Cmp_Val, ptr %t276, i32 0, i32 0 %t278 = load ptr, ptr %t277 store i32 8436, ptr @lp_site %t279 = call ptr @lp_str_concat(ptr @.str15369, ptr %t278) store i32 0, ptr @lp_site store i32 8437, ptr @lp_site %t280 = call ptr @lp_str_concat(ptr %t279, ptr @.str15370) store i32 0, ptr @lp_site call void @lp_free(ptr %t279) %t281 = call ptr @fn_emit_bind(ptr %t280) %t282 = call ptr @fn_val(ptr %t281, ptr @.str15371) store ptr %t282, ptr %retval br label %ret ifend67: %t283 = load ptr, ptr %t48 %t284 = call i32 @lp_str_eq(ptr %t283, ptr @.str15372) %t285 = icmp ne i32 %t284, 0 br i1 %t285, label %then70, label %ifend72 then70: %t286 = load ptr, ptr %t0 %t287 = getelementptr inbounds %Cmp_Node, ptr %t286, i32 0, i32 7 %t288 = load ptr, ptr %t287 %t289 = getelementptr inbounds %LSlice, ptr %t288, i32 0, i32 0 %t290 = load ptr, ptr %t289 %t291 = getelementptr inbounds %LSlice, ptr %t288, i32 0, i32 1 %t292 = load i32, ptr %t291 %t293 = icmp ult i32 0, %t292 br i1 %t293, label %ixok73, label %ixbad74 ixbad74: store i32 8438, ptr @lp_site %t294 = call ptr @lp_win_stdio(i32 2) store i32 0, ptr @lp_site call i32 (ptr, ptr, ...) @fprintf(ptr %t294, ptr @.fmt_bounds, ptr @.str15373, i32 0, i32 %t292) call void @exit(i32 1) unreachable ixok73: %t295 = getelementptr inbounds ptr, ptr %t290, i32 0 %t296 = load ptr, ptr %t295 %t297 = call ptr @fn_emit_expr(ptr %t296) store ptr %t297, ptr %t298 %t299 = load ptr, ptr %t298 %t300 = getelementptr inbounds %Cmp_Val, ptr %t299, i32 0, i32 0 %t301 = load ptr, ptr %t300 store i32 8439, ptr @lp_site %t302 = call ptr @lp_str_concat(ptr @.str15374, ptr %t301) store i32 0, ptr @lp_site store i32 8440, ptr @lp_site %t303 = call ptr @lp_str_concat(ptr %t302, ptr @.str15375) store i32 0, ptr @lp_site call void @lp_free(ptr %t302) %t304 = call ptr @fn_emit_bind(ptr %t303) %t305 = call ptr @fn_val(ptr %t304, ptr @.str15376) store ptr %t305, ptr %retval br label %ret ifend72: %t306 = load ptr, ptr %t48 %t307 = call i32 @lp_str_eq(ptr %t306, ptr @.str15377) %t308 = icmp ne i32 %t307, 0 br i1 %t308, label %then75, label %ifend77 then75: %t309 = load ptr, ptr %t0 %t310 = getelementptr inbounds %Cmp_Node, ptr %t309, i32 0, i32 7 %t311 = load ptr, ptr %t310 %t312 = getelementptr inbounds %LSlice, ptr %t311, i32 0, i32 0 %t313 = load ptr, ptr %t312 %t314 = getelementptr inbounds %LSlice, ptr %t311, i32 0, i32 1 %t315 = load i32, ptr %t314 %t316 = icmp ult i32 0, %t315 br i1 %t316, label %ixok78, label %ixbad79 ixbad79: store i32 8441, ptr @lp_site %t317 = call ptr @lp_win_stdio(i32 2) store i32 0, ptr @lp_site call i32 (ptr, ptr, ...) @fprintf(ptr %t317, ptr @.fmt_bounds, ptr @.str15378, i32 0, i32 %t315) call void @exit(i32 1) unreachable ixok78: %t318 = getelementptr inbounds ptr, ptr %t313, i32 0 %t319 = load ptr, ptr %t318 %t320 = call ptr @fn_emit_expr(ptr %t319) store ptr %t320, ptr %t321 %t322 = load ptr, ptr %t0 %t323 = getelementptr inbounds %Cmp_Node, ptr %t322, i32 0, i32 7 %t324 = load ptr, ptr %t323 %t325 = getelementptr inbounds %LSlice, ptr %t324, i32 0, i32 0 %t326 = load ptr, ptr %t325 %t327 = getelementptr inbounds %LSlice, ptr %t324, i32 0, i32 1 %t328 = load i32, ptr %t327 %t329 = icmp ult i32 1, %t328 br i1 %t329, label %ixok80, label %ixbad81 ixbad81: store i32 8442, ptr @lp_site %t330 = call ptr @lp_win_stdio(i32 2) store i32 0, ptr @lp_site call i32 (ptr, ptr, ...) @fprintf(ptr %t330, ptr @.fmt_bounds, ptr @.str15379, i32 1, i32 %t328) call void @exit(i32 1) unreachable ixok80: %t331 = getelementptr inbounds ptr, ptr %t326, i32 1 %t332 = load ptr, ptr %t331 %t333 = call ptr @fn_emit_expr(ptr %t332) store ptr %t333, ptr %t334 call void @fn_emit(ptr @.str15380) %t335 = load ptr, ptr %t321 %t336 = getelementptr inbounds %Cmp_Val, ptr %t335, i32 0, i32 0 %t337 = load ptr, ptr %t336 call void @fn_emit(ptr %t337) call void @fn_emit(ptr @.str15381) %t338 = load ptr, ptr %t334 %t339 = getelementptr inbounds %Cmp_Val, ptr %t338, i32 0, i32 0 %t340 = load ptr, ptr %t339 call void @fn_emit(ptr %t340) call void @fn_emit(ptr @.str15382) %t341 = call ptr @fn_val(ptr @.str15383, ptr @.str15384) store ptr %t341, ptr %retval br label %ret ifend77: %t342 = load ptr, ptr %t48 %t343 = call i32 @lp_str_eq(ptr %t342, ptr @.str15385) %t344 = icmp ne i32 %t343, 0 br i1 %t344, label %then82, label %ifend84 then82: %t345 = load ptr, ptr %t0 %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 %LSlice, ptr %t347, i32 0, i32 1 %t351 = load i32, ptr %t350 %t352 = icmp ult i32 0, %t351 br i1 %t352, label %ixok85, label %ixbad86 ixbad86: store i32 8443, ptr @lp_site %t353 = call ptr @lp_win_stdio(i32 2) store i32 0, ptr @lp_site call i32 (ptr, ptr, ...) @fprintf(ptr %t353, ptr @.fmt_bounds, ptr @.str15386, i32 0, i32 %t351) call void @exit(i32 1) unreachable ixok85: %t354 = getelementptr inbounds ptr, ptr %t349, i32 0 %t355 = load ptr, ptr %t354 %t356 = call ptr @fn_emit_expr(ptr %t355) store ptr %t356, ptr %t357 %t358 = load ptr, ptr %t357 %t359 = getelementptr inbounds %Cmp_Val, ptr %t358, i32 0, i32 0 %t360 = load ptr, ptr %t359 store i32 8444, ptr @lp_site %t361 = call ptr @lp_str_concat(ptr @.str15387, ptr %t360) store i32 0, ptr @lp_site store i32 8445, ptr @lp_site %t362 = call ptr @lp_str_concat(ptr %t361, ptr @.str15388) store i32 0, ptr @lp_site call void @lp_free(ptr %t361) %t363 = call ptr @fn_emit_bind(ptr %t362) %t364 = call ptr @fn_val(ptr %t363, ptr @.str15389) store ptr %t364, ptr %retval br label %ret ifend84: %t365 = load ptr, ptr %t48 %t366 = call i32 @lp_str_eq(ptr %t365, ptr @.str15390) %t367 = icmp ne i32 %t366, 0 br i1 %t367, label %then87, label %ifend89 then87: %t368 = call ptr @fn_emit_bind(ptr @.str15391) store ptr %t368, ptr %t369 %t370 = load ptr, ptr %t369 store i32 8446, ptr @lp_site %t371 = call ptr @lp_str_concat(ptr @.str15392, ptr %t370) store i32 0, ptr @lp_site store i32 8447, ptr @lp_site %t372 = call ptr @lp_str_concat(ptr %t371, ptr @.str15393) store i32 0, ptr @lp_site call void @lp_free(ptr %t371) %t373 = call ptr @fn_emit_bind(ptr %t372) store ptr %t373, ptr %t374 %t375 = load ptr, ptr %t374 store i32 8448, ptr @lp_site %t376 = call ptr @lp_str_concat(ptr @.str15394, ptr %t375) store i32 0, ptr @lp_site store i32 8449, ptr @lp_site %t377 = call ptr @lp_str_concat(ptr %t376, ptr @.str15395) store i32 0, ptr @lp_site call void @lp_free(ptr %t376) %t378 = call ptr @fn_emit_bind(ptr %t377) %t379 = call ptr @fn_val(ptr %t378, ptr @.str15396) store ptr %t379, ptr %retval br label %ret ifend89: %t380 = load ptr, ptr %t48 %t381 = call i32 @lp_str_eq(ptr %t380, ptr @.str15397) %t382 = icmp ne i32 %t381, 0 br i1 %t382, label %then90, label %ifend92 then90: %t383 = call ptr @fn_emit_bind(ptr @.str15398) %t384 = call ptr @fn_val(ptr %t383, ptr @.str15399) store ptr %t384, ptr %retval br label %ret ifend92: %t385 = load ptr, ptr %t48 %t386 = call i32 @lp_str_eq(ptr %t385, ptr @.str15400) %t387 = icmp ne i32 %t386, 0 br i1 %t387, label %then93, label %ifend95 then93: call void @fn_emit(ptr @.str15401) %t388 = call ptr @fn_val(ptr @.str15402, ptr @.str15403) store ptr %t388, ptr %retval br label %ret ifend95: %t389 = load ptr, ptr %t48 %t390 = call i32 @lp_str_eq(ptr %t389, ptr @.str15404) %t391 = icmp ne i32 %t390, 0 br i1 %t391, label %then96, label %ifend98 then96: call void @fn_emit(ptr @.str15405) %t392 = call ptr @fn_val(ptr @.str15406, ptr @.str15407) store ptr %t392, ptr %retval br label %ret ifend98: %t393 = load ptr, ptr %t48 %t394 = call i32 @lp_str_eq(ptr %t393, ptr @.str15408) %t395 = icmp ne i32 %t394, 0 br i1 %t395, label %then99, label %ifend101 then99: call void @fn_emit(ptr @.str15409) %t396 = call ptr @fn_val(ptr @.str15410, ptr @.str15411) store ptr %t396, ptr %retval br label %ret ifend101: %t397 = load ptr, ptr %t48 %t398 = call i32 @lp_str_eq(ptr %t397, ptr @.str15412) %t399 = icmp ne i32 %t398, 0 br i1 %t399, label %then102, label %ifend104 then102: %t400 = load ptr, ptr %t0 %t401 = getelementptr inbounds %Cmp_Node, ptr %t400, i32 0, i32 7 %t402 = load ptr, ptr %t401 %t403 = getelementptr inbounds %LSlice, ptr %t402, i32 0, i32 0 %t404 = load ptr, ptr %t403 %t405 = getelementptr inbounds %LSlice, ptr %t402, i32 0, i32 1 %t406 = load i32, ptr %t405 %t407 = icmp ult i32 0, %t406 br i1 %t407, label %ixok105, label %ixbad106 ixbad106: store i32 8450, ptr @lp_site %t408 = call ptr @lp_win_stdio(i32 2) store i32 0, ptr @lp_site call i32 (ptr, ptr, ...) @fprintf(ptr %t408, ptr @.fmt_bounds, ptr @.str15413, i32 0, i32 %t406) call void @exit(i32 1) unreachable ixok105: %t409 = getelementptr inbounds ptr, ptr %t404, i32 0 %t410 = load ptr, ptr %t409 %t411 = call ptr @fn_emit_expr(ptr %t410) store ptr %t411, ptr %t412 call void @fn_emit(ptr @.str15414) %t413 = load ptr, ptr %t412 %t414 = getelementptr inbounds %Cmp_Val, ptr %t413, i32 0, i32 0 %t415 = load ptr, ptr %t414 call void @fn_emit(ptr %t415) call void @fn_emit(ptr @.str15415) %t416 = call ptr @fn_val(ptr @.str15416, ptr @.str15417) store ptr %t416, ptr %retval br label %ret ifend104: %t417 = load ptr, ptr %t48 %t418 = call i32 @lp_str_eq(ptr %t417, ptr @.str15418) %t419 = icmp ne i32 %t418, 0 br i1 %t419, label %then107, label %ifend109 then107: %t420 = load ptr, ptr %t0 %t421 = getelementptr inbounds %Cmp_Node, ptr %t420, i32 0, i32 7 %t422 = load ptr, ptr %t421 %t423 = getelementptr inbounds %LSlice, ptr %t422, i32 0, i32 0 %t424 = load ptr, ptr %t423 %t425 = getelementptr inbounds %LSlice, ptr %t422, i32 0, i32 1 %t426 = load i32, ptr %t425 %t427 = icmp ult i32 0, %t426 br i1 %t427, label %ixok110, label %ixbad111 ixbad111: store i32 8451, ptr @lp_site %t428 = call ptr @lp_win_stdio(i32 2) store i32 0, ptr @lp_site call i32 (ptr, ptr, ...) @fprintf(ptr %t428, ptr @.fmt_bounds, ptr @.str15419, i32 0, i32 %t426) call void @exit(i32 1) unreachable ixok110: %t429 = getelementptr inbounds ptr, ptr %t424, i32 0 %t430 = load ptr, ptr %t429 %t431 = call ptr @fn_emit_expr(ptr %t430) store ptr %t431, ptr %t432 call void @fn_emit(ptr @.str15420) %t433 = load ptr, ptr %t432 %t434 = getelementptr inbounds %Cmp_Val, ptr %t433, i32 0, i32 0 %t435 = load ptr, ptr %t434 call void @fn_emit(ptr %t435) call void @fn_emit(ptr @.str15421) %t436 = call ptr @fn_val(ptr @.str15422, ptr @.str15423) store ptr %t436, ptr %retval br label %ret ifend109: %t438 = load ptr, ptr %t48 %t439 = call i32 @lp_str_eq(ptr %t438, ptr @.str15424) %t440 = icmp ne i32 %t439, 0 %t441 = zext i1 %t440 to i32 store i32 %t441, ptr %t437 br i1 %t440, label %sc112, label %scend113 sc112: %t442 = call ptr @fn_find_extern(ptr @.str15425) %t443 = icmp eq ptr %t442, null %t444 = zext i1 %t443 to i32 %t445 = icmp ne i32 %t444, 0 %t446 = zext i1 %t445 to i32 store i32 %t446, ptr %t437 br label %scend113 scend113: %t447 = load i32, ptr %t437 %t448 = icmp ne i32 %t447, 0 br i1 %t448, label %then114, label %ifend116 then114: store i32 1, ptr @g_g_uses_loopback %t449 = load ptr, ptr %t0 %t450 = getelementptr inbounds %Cmp_Node, ptr %t449, i32 0, i32 7 %t451 = load ptr, ptr %t450 %t452 = getelementptr inbounds %LSlice, ptr %t451, i32 0, i32 0 %t453 = load ptr, ptr %t452 %t454 = getelementptr inbounds %LSlice, ptr %t451, i32 0, i32 1 %t455 = load i32, ptr %t454 %t456 = icmp ult i32 0, %t455 br i1 %t456, label %ixok117, label %ixbad118 ixbad118: store i32 8452, ptr @lp_site %t457 = call ptr @lp_win_stdio(i32 2) store i32 0, ptr @lp_site call i32 (ptr, ptr, ...) @fprintf(ptr %t457, ptr @.fmt_bounds, ptr @.str15426, i32 0, i32 %t455) call void @exit(i32 1) unreachable ixok117: %t458 = getelementptr inbounds ptr, ptr %t453, i32 0 %t459 = load ptr, ptr %t458 %t460 = call ptr @fn_emit_expr(ptr %t459) store ptr %t460, ptr %t461 %t462 = load ptr, ptr %t0 %t463 = getelementptr inbounds %Cmp_Node, ptr %t462, i32 0, i32 7 %t464 = load ptr, ptr %t463 %t465 = getelementptr inbounds %LSlice, ptr %t464, i32 0, i32 0 %t466 = load ptr, ptr %t465 %t467 = getelementptr inbounds %LSlice, ptr %t464, i32 0, i32 1 %t468 = load i32, ptr %t467 %t469 = icmp ult i32 1, %t468 br i1 %t469, label %ixok119, label %ixbad120 ixbad120: store i32 8453, ptr @lp_site %t470 = call ptr @lp_win_stdio(i32 2) store i32 0, ptr @lp_site call i32 (ptr, ptr, ...) @fprintf(ptr %t470, ptr @.fmt_bounds, ptr @.str15427, i32 1, i32 %t468) call void @exit(i32 1) unreachable ixok119: %t471 = getelementptr inbounds ptr, ptr %t466, i32 1 %t472 = load ptr, ptr %t471 %t473 = call ptr @fn_emit_expr(ptr %t472) store ptr %t473, ptr %t474 %t475 = load ptr, ptr %t0 %t476 = getelementptr inbounds %Cmp_Node, ptr %t475, i32 0, i32 7 %t477 = load ptr, ptr %t476 %t478 = getelementptr inbounds %LSlice, ptr %t477, i32 0, i32 0 %t479 = load ptr, ptr %t478 %t480 = getelementptr inbounds %LSlice, ptr %t477, i32 0, i32 1 %t481 = load i32, ptr %t480 %t482 = icmp ult i32 2, %t481 br i1 %t482, label %ixok121, label %ixbad122 ixbad122: store i32 8454, ptr @lp_site %t483 = call ptr @lp_win_stdio(i32 2) store i32 0, ptr @lp_site call i32 (ptr, ptr, ...) @fprintf(ptr %t483, ptr @.fmt_bounds, ptr @.str15428, i32 2, i32 %t481) call void @exit(i32 1) unreachable ixok121: %t484 = getelementptr inbounds ptr, ptr %t479, i32 2 %t485 = load ptr, ptr %t484 %t486 = call ptr @fn_emit_expr(ptr %t485) store ptr %t486, ptr %t487 call void @fn_emit(ptr @.str15429) %t488 = load ptr, ptr %t461 %t489 = getelementptr inbounds %Cmp_Val, ptr %t488, i32 0, i32 0 %t490 = load ptr, ptr %t489 call void @fn_emit(ptr %t490) call void @fn_emit(ptr @.str15430) %t491 = load ptr, ptr %t474 %t492 = getelementptr inbounds %Cmp_Val, ptr %t491, i32 0, i32 0 %t493 = load ptr, ptr %t492 call void @fn_emit(ptr %t493) call void @fn_emit(ptr @.str15431) %t494 = load ptr, ptr %t487 %t495 = getelementptr inbounds %Cmp_Val, ptr %t494, i32 0, i32 0 %t496 = load ptr, ptr %t495 call void @fn_emit(ptr %t496) call void @fn_emit(ptr @.str15432) %t497 = call ptr @fn_val(ptr @.str15433, ptr @.str15434) store ptr %t497, ptr %retval br label %ret ifend116: %t499 = load ptr, ptr %t48 %t500 = call i32 @lp_str_eq(ptr %t499, ptr @.str15435) %t501 = icmp ne i32 %t500, 0 %t502 = zext i1 %t501 to i32 store i32 %t502, ptr %t498 br i1 %t501, label %sc123, label %scend124 sc123: %t503 = call ptr @fn_find_extern(ptr @.str15436) %t504 = icmp eq ptr %t503, null %t505 = zext i1 %t504 to i32 %t506 = icmp ne i32 %t505, 0 %t507 = zext i1 %t506 to i32 store i32 %t507, ptr %t498 br label %scend124 scend124: %t508 = load i32, ptr %t498 %t509 = icmp ne i32 %t508, 0 br i1 %t509, label %then125, label %ifend127 then125: store i32 1, ptr @g_g_uses_loopback %t510 = load ptr, ptr %t0 %t511 = getelementptr inbounds %Cmp_Node, ptr %t510, i32 0, i32 7 %t512 = load ptr, ptr %t511 %t513 = getelementptr inbounds %LSlice, ptr %t512, i32 0, i32 0 %t514 = load ptr, ptr %t513 %t515 = getelementptr inbounds %LSlice, ptr %t512, i32 0, i32 1 %t516 = load i32, ptr %t515 %t517 = icmp ult i32 0, %t516 br i1 %t517, label %ixok128, label %ixbad129 ixbad129: store i32 8455, ptr @lp_site %t518 = call ptr @lp_win_stdio(i32 2) store i32 0, ptr @lp_site call i32 (ptr, ptr, ...) @fprintf(ptr %t518, ptr @.fmt_bounds, ptr @.str15437, i32 0, i32 %t516) call void @exit(i32 1) unreachable ixok128: %t519 = getelementptr inbounds ptr, ptr %t514, i32 0 %t520 = load ptr, ptr %t519 %t521 = call ptr @fn_emit_expr(ptr %t520) store ptr %t521, ptr %t522 %t523 = load ptr, ptr %t0 %t524 = getelementptr inbounds %Cmp_Node, ptr %t523, i32 0, i32 7 %t525 = load ptr, ptr %t524 %t526 = getelementptr inbounds %LSlice, ptr %t525, i32 0, i32 0 %t527 = load ptr, ptr %t526 %t528 = getelementptr inbounds %LSlice, ptr %t525, i32 0, i32 1 %t529 = load i32, ptr %t528 %t530 = icmp ult i32 1, %t529 br i1 %t530, label %ixok130, label %ixbad131 ixbad131: store i32 8456, ptr @lp_site %t531 = call ptr @lp_win_stdio(i32 2) store i32 0, ptr @lp_site call i32 (ptr, ptr, ...) @fprintf(ptr %t531, ptr @.fmt_bounds, ptr @.str15438, i32 1, i32 %t529) call void @exit(i32 1) unreachable ixok130: %t532 = getelementptr inbounds ptr, ptr %t527, i32 1 %t533 = load ptr, ptr %t532 %t534 = call ptr @fn_emit_expr(ptr %t533) store ptr %t534, ptr %t535 %t536 = load ptr, ptr %t522 %t537 = getelementptr inbounds %Cmp_Val, ptr %t536, i32 0, i32 0 %t538 = load ptr, ptr %t537 store i32 8457, ptr @lp_site %t539 = call ptr @lp_str_concat(ptr @.str15439, ptr %t538) store i32 0, ptr @lp_site store i32 8458, ptr @lp_site %t540 = call ptr @lp_str_concat(ptr %t539, ptr @.str15440) store i32 0, ptr @lp_site call void @lp_free(ptr %t539) %t541 = load ptr, ptr %t535 %t542 = getelementptr inbounds %Cmp_Val, ptr %t541, i32 0, i32 0 %t543 = load ptr, ptr %t542 store i32 8459, ptr @lp_site %t544 = call ptr @lp_str_concat(ptr %t540, ptr %t543) store i32 0, ptr @lp_site call void @lp_free(ptr %t540) store i32 8460, ptr @lp_site %t545 = call ptr @lp_str_concat(ptr %t544, ptr @.str15441) store i32 0, ptr @lp_site call void @lp_free(ptr %t544) %t546 = call ptr @fn_emit_bind(ptr %t545) %t547 = call ptr @fn_val(ptr %t546, ptr @.str15442) store ptr %t547, ptr %retval br label %ret ifend127: %t548 = load ptr, ptr %t48 %t549 = call i32 @lp_str_eq(ptr %t548, ptr @.str15443) %t550 = icmp ne i32 %t549, 0 br i1 %t550, label %then132, label %ifend134 then132: %t551 = load ptr, ptr %t0 %t552 = call ptr @fn_emit_len(ptr %t551) store ptr %t552, ptr %retval br label %ret ifend134: %t553 = load ptr, ptr %t48 %t554 = call i32 @lp_str_eq(ptr %t553, ptr @.str15444) %t555 = icmp ne i32 %t554, 0 br i1 %t555, label %then135, label %ifend137 then135: %t556 = load ptr, ptr %t0 %t557 = call ptr @fn_emit_push(ptr %t556) store ptr %t557, ptr %retval br label %ret ifend137: %t559 = load ptr, ptr %t48 %t560 = call i32 @lp_str_eq(ptr %t559, ptr @.str15445) %t561 = icmp ne i32 %t560, 0 %t562 = zext i1 %t561 to i32 store i32 %t562, ptr %t558 br i1 %t561, label %sc138, label %scend139 sc138: %t563 = load ptr, ptr %t0 %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 1 %t567 = load i32, ptr %t566 %t568 = icmp eq i32 %t567, 1 %t569 = zext i1 %t568 to i32 %t570 = icmp ne i32 %t569, 0 %t571 = zext i1 %t570 to i32 store i32 %t571, ptr %t558 br label %scend139 scend139: %t572 = load i32, ptr %t558 %t573 = icmp ne i32 %t572, 0 br i1 %t573, label %then140, label %ifend142 then140: %t574 = load ptr, ptr %t0 %t575 = getelementptr inbounds %Cmp_Node, ptr %t574, i32 0, i32 7 %t576 = load ptr, ptr %t575 %t577 = getelementptr inbounds %LSlice, ptr %t576, i32 0, i32 0 %t578 = load ptr, ptr %t577 %t579 = getelementptr inbounds %LSlice, ptr %t576, i32 0, i32 1 %t580 = load i32, ptr %t579 %t581 = icmp ult i32 0, %t580 br i1 %t581, label %ixok143, label %ixbad144 ixbad144: store i32 8461, ptr @lp_site %t582 = call ptr @lp_win_stdio(i32 2) store i32 0, ptr @lp_site call i32 (ptr, ptr, ...) @fprintf(ptr %t582, ptr @.fmt_bounds, ptr @.str15446, i32 0, i32 %t580) call void @exit(i32 1) unreachable ixok143: %t583 = getelementptr inbounds ptr, ptr %t578, i32 0 %t584 = load ptr, ptr %t583 %t585 = call ptr @fn_emit_expr(ptr %t584) %t586 = call ptr @fn_emit_keep(ptr %t585) store ptr %t586, ptr %retval br label %ret ifend142: %t588 = load ptr, ptr %t48 %t589 = call i32 @lp_str_eq(ptr %t588, ptr @.str15447) %t590 = icmp ne i32 %t589, 0 %t591 = zext i1 %t590 to i32 store i32 %t591, ptr %t587 br i1 %t590, label %sc145, label %scend146 sc145: %t592 = load ptr, ptr %t0 %t593 = getelementptr inbounds %Cmp_Node, ptr %t592, i32 0, i32 7 %t594 = load ptr, ptr %t593 %t595 = getelementptr inbounds %LSlice, ptr %t594, i32 0, i32 1 %t596 = load i32, ptr %t595 %t597 = icmp eq i32 %t596, 1 %t598 = zext i1 %t597 to i32 %t599 = icmp ne i32 %t598, 0 %t600 = zext i1 %t599 to i32 store i32 %t600, ptr %t587 br label %scend146 scend146: %t601 = load i32, ptr %t587 %t602 = icmp ne i32 %t601, 0 br i1 %t602, label %then147, label %ifend149 then147: %t603 = load ptr, ptr %t0 %t604 = getelementptr inbounds %Cmp_Node, ptr %t603, i32 0, i32 7 %t605 = load ptr, ptr %t604 %t606 = getelementptr inbounds %LSlice, ptr %t605, i32 0, i32 0 %t607 = load ptr, ptr %t606 %t608 = getelementptr inbounds %LSlice, ptr %t605, i32 0, i32 1 %t609 = load i32, ptr %t608 %t610 = icmp ult i32 0, %t609 br i1 %t610, label %ixok150, label %ixbad151 ixbad151: store i32 8462, ptr @lp_site %t611 = call ptr @lp_win_stdio(i32 2) store i32 0, ptr @lp_site call i32 (ptr, ptr, ...) @fprintf(ptr %t611, ptr @.fmt_bounds, ptr @.str15448, i32 0, i32 %t609) call void @exit(i32 1) unreachable ixok150: %t612 = getelementptr inbounds ptr, ptr %t607, i32 0 %t613 = load ptr, ptr %t612 %t614 = call ptr @fn_emit_expr(ptr %t613) store ptr %t614, ptr %t615 %t616 = load ptr, ptr %t615 %t617 = getelementptr inbounds %Cmp_Val, ptr %t616, i32 0, i32 0 %t618 = load ptr, ptr %t617 store i32 8463, ptr @lp_site %t619 = call ptr @lp_str_concat(ptr @.str15449, ptr %t618) store i32 0, ptr @lp_site store i32 8464, ptr @lp_site %t620 = call ptr @lp_str_concat(ptr %t619, ptr @.str15450) store i32 0, ptr @lp_site call void @lp_free(ptr %t619) %t621 = call ptr @fn_emit_bind(ptr %t620) %t622 = call ptr @fn_val(ptr %t621, ptr @.str15451) store ptr %t622, ptr %retval br label %ret ifend149: %t623 = load ptr, ptr %t48 %t624 = call i32 @lp_str_eq(ptr %t623, ptr @.str15452) %t625 = icmp ne i32 %t624, 0 br i1 %t625, label %then152, label %ifend154 then152: %t626 = load ptr, ptr %t0 %t627 = getelementptr inbounds %Cmp_Node, ptr %t626, i32 0, i32 7 %t628 = load ptr, ptr %t627 %t629 = getelementptr inbounds %LSlice, ptr %t628, i32 0, i32 0 %t630 = load ptr, ptr %t629 %t631 = getelementptr inbounds %LSlice, ptr %t628, i32 0, i32 1 %t632 = load i32, ptr %t631 %t633 = icmp ult i32 0, %t632 br i1 %t633, label %ixok155, label %ixbad156 ixbad156: store i32 8465, ptr @lp_site %t634 = call ptr @lp_win_stdio(i32 2) store i32 0, ptr @lp_site call i32 (ptr, ptr, ...) @fprintf(ptr %t634, ptr @.fmt_bounds, ptr @.str15453, i32 0, i32 %t632) call void @exit(i32 1) unreachable ixok155: %t635 = getelementptr inbounds ptr, ptr %t630, i32 0 %t636 = load ptr, ptr %t635 %t637 = call ptr @fn_emit_expr(ptr %t636) store ptr %t637, ptr %t638 %t641 = load ptr, ptr %t638 %t642 = getelementptr inbounds %Cmp_Val, ptr %t641, i32 0, i32 1 %t643 = load ptr, ptr %t642 %t644 = call ptr @fn_llty(ptr %t643) %t645 = call i32 @lp_str_eq(ptr %t644, ptr @.str15454) %t646 = icmp ne i32 %t645, 0 %t647 = zext i1 %t646 to i32 store i32 %t647, ptr %t640 br i1 %t646, label %sc157, label %scend158 sc157: %t648 = load ptr, ptr %t0 %t649 = getelementptr inbounds %Cmp_Node, ptr %t648, i32 0, i32 4 %t650 = load ptr, ptr %t649 %t651 = getelementptr inbounds %Cmp_Node, ptr %t650, i32 0, i32 12 %t652 = load i32, ptr %t651 %t653 = icmp eq i32 %t652, 91 %t654 = zext i1 %t653 to i32 %t655 = icmp ne i32 %t654, 0 %t656 = zext i1 %t655 to i32 store i32 %t656, ptr %t640 br label %scend158 scend158: %t657 = load i32, ptr %t640 %t658 = icmp ne i32 %t657, 0 %t659 = zext i1 %t658 to i32 store i32 %t659, ptr %t639 br i1 %t658, label %sc159, label %scend160 sc159: %t660 = load ptr, ptr %t638 %t661 = getelementptr inbounds %Cmp_Val, ptr %t660, i32 0, i32 3 %t662 = load i32, ptr %t661 %t663 = icmp eq i32 %t662, 0 %t664 = zext i1 %t663 to i32 %t665 = icmp ne i32 %t664, 0 %t666 = zext i1 %t665 to i32 store i32 %t666, ptr %t639 br label %scend160 scend160: %t667 = load i32, ptr %t639 %t668 = icmp ne i32 %t667, 0 br i1 %t668, label %then161, label %ifend163 then161: %t669 = load ptr, ptr %t638 %t670 = call ptr @fn_tpl_empty() %t671 = call ptr @fn_emit_expr(ptr %t670) %t672 = call ptr @fn_emit_str_op(ptr @.str15455, ptr %t669, ptr %t671) store ptr %t672, ptr %retval br label %ret ifend163: %t673 = load ptr, ptr %t638 %t674 = getelementptr inbounds %Cmp_Val, ptr %t673, i32 0, i32 1 %t675 = load ptr, ptr %t674 %t676 = call ptr @fn_llty(ptr %t675) %t677 = call i32 @lp_str_eq(ptr %t676, ptr @.str15456) %t678 = icmp ne i32 %t677, 0 br i1 %t678, label %then164, label %ifend166 then164: %t679 = load ptr, ptr %t638 store ptr %t679, ptr %retval br label %ret ifend166: %t680 = load ptr, ptr %t638 %t681 = getelementptr inbounds %Cmp_Val, ptr %t680, i32 0, i32 1 %t682 = load ptr, ptr %t681 %t683 = call i32 @fn_is_fp(ptr %t682) %t684 = icmp ne i32 %t683, 0 br i1 %t684, label %then167, label %ifend169 then167: %t685 = load ptr, ptr %t638 %t686 = call ptr @fn_emit_fp_str(ptr %t685) store ptr %t686, ptr %retval br label %ret ifend169: %t687 = load ptr, ptr %t638 %t688 = getelementptr inbounds %Cmp_Val, ptr %t687, i32 0, i32 1 %t689 = load ptr, ptr %t688 %t690 = call ptr @fn_llty(ptr %t689) %t691 = call i32 @lp_str_eq(ptr %t690, ptr @.str15457) %t692 = icmp ne i32 %t691, 0 br i1 %t692, label %then170, label %ifend172 then170: store i32 1, ptr @g_g_uses_longstr %t693 = load ptr, ptr %t638 %t694 = getelementptr inbounds %Cmp_Val, ptr %t693, i32 0, i32 0 %t695 = load ptr, ptr %t694 store i32 8466, ptr @lp_site %t696 = call ptr @lp_str_concat(ptr @.str15458, ptr %t695) store i32 0, ptr @lp_site store i32 8467, ptr @lp_site %t697 = call ptr @lp_str_concat(ptr %t696, ptr @.str15459) store i32 0, ptr @lp_site call void @lp_free(ptr %t696) %t698 = call ptr @fn_emit_bind(ptr %t697) %t699 = call ptr @fn_fresh_val(ptr %t698, ptr @.str15460) store ptr %t699, ptr %retval br label %ret ifend172: store i32 1, ptr @g_g_uses_intstr %t700 = load ptr, ptr %t638 %t701 = getelementptr inbounds %Cmp_Val, ptr %t700, i32 0, i32 0 %t702 = load ptr, ptr %t701 store i32 8468, ptr @lp_site %t703 = call ptr @lp_str_concat(ptr @.str15461, ptr %t702) store i32 0, ptr @lp_site store i32 8469, ptr @lp_site %t704 = call ptr @lp_str_concat(ptr %t703, ptr @.str15462) store i32 0, ptr @lp_site call void @lp_free(ptr %t703) %t705 = call ptr @fn_emit_bind(ptr %t704) %t706 = call ptr @fn_fresh_val(ptr %t705, ptr @.str15463) store ptr %t706, ptr %retval br label %ret ifend154: %t707 = load ptr, ptr %t48 %t708 = call i32 @lp_str_eq(ptr %t707, ptr @.str15464) %t709 = icmp ne i32 %t708, 0 br i1 %t709, label %then173, label %ifend175 then173: %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 %LSlice, ptr %t712, i32 0, i32 1 %t716 = load i32, ptr %t715 %t717 = icmp ult i32 0, %t716 br i1 %t717, label %ixok176, label %ixbad177 ixbad177: store i32 8470, ptr @lp_site %t718 = call ptr @lp_win_stdio(i32 2) store i32 0, ptr @lp_site call i32 (ptr, ptr, ...) @fprintf(ptr %t718, ptr @.fmt_bounds, ptr @.str15465, i32 0, i32 %t716) call void @exit(i32 1) unreachable ixok176: %t719 = getelementptr inbounds ptr, ptr %t714, i32 0 %t720 = load ptr, ptr %t719 %t721 = call ptr @fn_emit_expr(ptr %t720) store ptr %t721, ptr %t722 %t723 = load ptr, ptr %t722 %t724 = getelementptr inbounds %Cmp_Val, ptr %t723, i32 0, i32 1 %t725 = load ptr, ptr %t724 %t726 = call i32 @fn_is_fp(ptr %t725) %t727 = icmp ne i32 %t726, 0 br i1 %t727, label %then178, label %ifend180 then178: %t728 = load ptr, ptr %t722 %t729 = call ptr @fn_emit_fp_str(ptr %t728) store ptr %t729, ptr %t722 br label %ifend180 ifend180: %t730 = load ptr, ptr %t722 %t731 = getelementptr inbounds %Cmp_Val, ptr %t730, i32 0, i32 1 %t732 = load ptr, ptr %t731 %t733 = call ptr @fn_llty(ptr %t732) %t734 = call i32 @lp_str_eq(ptr %t733, ptr @.str15466) %t735 = icmp ne i32 %t734, 0 br i1 %t735, label %then181, label %else182 then181: %t736 = load ptr, ptr %t722 %t737 = getelementptr inbounds %Cmp_Val, ptr %t736, i32 0, i32 0 %t738 = load ptr, ptr %t737 store i32 8471, ptr @lp_site %t739 = call ptr @lp_str_concat(ptr %t738, ptr @.str15468) store i32 0, ptr @lp_site store i32 8472, ptr @lp_site %t740 = call ptr @lp_str_concat(ptr @.str15467, ptr %t739) store i32 0, ptr @lp_site call void @lp_free(ptr %t739) call void @fn_emit(ptr %t740) br label %ifend183 else182: %t741 = load ptr, ptr %t722 %t742 = getelementptr inbounds %Cmp_Val, ptr %t741, i32 0, i32 1 %t743 = load ptr, ptr %t742 %t744 = call ptr @fn_llty(ptr %t743) %t745 = call i32 @lp_str_eq(ptr %t744, ptr @.str15469) %t746 = icmp ne i32 %t745, 0 br i1 %t746, label %then184, label %else185 then184: %t747 = load ptr, ptr %t722 %t748 = getelementptr inbounds %Cmp_Val, ptr %t747, i32 0, i32 0 %t749 = load ptr, ptr %t748 store i32 8473, ptr @lp_site %t750 = call ptr @lp_str_concat(ptr %t749, ptr @.str15471) store i32 0, ptr @lp_site store i32 8474, ptr @lp_site %t751 = call ptr @lp_str_concat(ptr @.str15470, ptr %t750) store i32 0, ptr @lp_site call void @lp_free(ptr %t750) call void @fn_emit(ptr %t751) br label %ifend186 else185: %t752 = load ptr, ptr %t722 %t753 = getelementptr inbounds %Cmp_Val, ptr %t752, i32 0, i32 0 %t754 = load ptr, ptr %t753 store i32 8475, ptr @lp_site %t755 = call ptr @lp_str_concat(ptr %t754, ptr @.str15473) store i32 0, ptr @lp_site store i32 8476, ptr @lp_site %t756 = call ptr @lp_str_concat(ptr @.str15472, ptr %t755) store i32 0, ptr @lp_site call void @lp_free(ptr %t755) call void @fn_emit(ptr %t756) br label %ifend186 ifend186: br label %ifend183 ifend183: %t757 = load ptr, ptr %t722 %t758 = getelementptr inbounds %Cmp_Val, ptr %t757, i32 0, i32 3 %t759 = load i32, ptr %t758 %t760 = icmp ne i32 %t759, 0 br i1 %t760, label %then187, label %ifend189 then187: %t761 = load ptr, ptr %t722 %t762 = getelementptr inbounds %Cmp_Val, ptr %t761, i32 0, i32 0 %t763 = load ptr, ptr %t762 store i32 8477, ptr @lp_site %t764 = call ptr @lp_str_concat(ptr @.str15474, ptr %t763) store i32 0, ptr @lp_site store i32 8478, ptr @lp_site %t765 = call ptr @lp_str_concat(ptr %t764, ptr @.str15475) store i32 0, ptr @lp_site call void @lp_free(ptr %t764) call void @fn_emit(ptr %t765) br label %ifend189 ifend189: %t766 = call ptr @fn_val(ptr @.str15476, ptr @.str15477) store ptr %t766, ptr %retval br label %ret ifend175: %t767 = load ptr, ptr %t48 %t768 = call i32 @lp_str_eq(ptr %t767, ptr @.str15478) %t769 = icmp ne i32 %t768, 0 br i1 %t769, label %then190, label %ifend192 then190: %t770 = load ptr, ptr %t0 %t771 = getelementptr inbounds %Cmp_Node, ptr %t770, i32 0, i32 7 %t772 = load ptr, ptr %t771 %t773 = getelementptr inbounds %LSlice, ptr %t772, i32 0, i32 0 %t774 = load ptr, ptr %t773 %t775 = getelementptr inbounds %LSlice, ptr %t772, i32 0, i32 1 %t776 = load i32, ptr %t775 %t777 = icmp ult i32 0, %t776 br i1 %t777, label %ixok193, label %ixbad194 ixbad194: store i32 8479, ptr @lp_site %t778 = call ptr @lp_win_stdio(i32 2) store i32 0, ptr @lp_site call i32 (ptr, ptr, ...) @fprintf(ptr %t778, ptr @.fmt_bounds, ptr @.str15479, i32 0, i32 %t776) call void @exit(i32 1) unreachable ixok193: %t779 = getelementptr inbounds ptr, ptr %t774, i32 0 %t780 = load ptr, ptr %t779 %t781 = call ptr @fn_emit_expr(ptr %t780) store ptr %t781, ptr %t782 %t783 = load ptr, ptr %t782 %t784 = getelementptr inbounds %Cmp_Val, ptr %t783, i32 0, i32 0 %t785 = load ptr, ptr %t784 store i32 8480, ptr @lp_site %t786 = call ptr @lp_str_concat(ptr @.str15480, ptr %t785) store i32 0, ptr @lp_site store i32 8481, ptr @lp_site %t787 = call ptr @lp_str_concat(ptr %t786, ptr @.str15481) store i32 0, ptr @lp_site call void @lp_free(ptr %t786) %t788 = call ptr @fn_emit_bind(ptr %t787) store ptr %t788, ptr %t789 %t790 = load ptr, ptr %t789 store i32 8482, ptr @lp_site %t791 = call ptr @lp_str_concat(ptr @.str15482, ptr %t790) store i32 0, ptr @lp_site store i32 8483, ptr @lp_site %t792 = call ptr @lp_str_concat(ptr %t791, ptr @.str15483) store i32 0, ptr @lp_site call void @lp_free(ptr %t791) %t793 = call ptr @fn_emit_bind(ptr %t792) %t794 = call ptr @fn_val(ptr %t793, ptr @.str15484) store ptr %t794, ptr %retval br label %ret ifend192: %t795 = load ptr, ptr %t48 %t796 = call i32 @lp_str_eq(ptr %t795, ptr @.str15485) %t797 = icmp ne i32 %t796, 0 br i1 %t797, label %then195, label %ifend197 then195: %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 %LSlice, ptr %t800, i32 0, i32 1 %t804 = load i32, ptr %t803 %t805 = icmp ult i32 0, %t804 br i1 %t805, label %ixok198, label %ixbad199 ixbad199: store i32 8484, ptr @lp_site %t806 = call ptr @lp_win_stdio(i32 2) store i32 0, ptr @lp_site call i32 (ptr, ptr, ...) @fprintf(ptr %t806, ptr @.fmt_bounds, ptr @.str15487, i32 0, i32 %t804) call void @exit(i32 1) unreachable ixok198: %t807 = getelementptr inbounds ptr, ptr %t802, i32 0 %t808 = load ptr, ptr %t807 %t809 = call ptr @fn_emit_expr(ptr %t808) %t810 = call ptr @fn_emit_sized_slice(ptr @.str15486, ptr %t809) store ptr %t810, ptr %retval br label %ret ifend197: %t812 = load ptr, ptr %t48 %t813 = call i32 @lp_str_eq(ptr %t812, ptr @.str15488) %t814 = icmp ne i32 %t813, 0 %t815 = zext i1 %t814 to i32 store i32 %t815, ptr %t811 br i1 %t814, label %sc200, label %scend201 sc200: %t816 = load ptr, ptr %t48 %t817 = call ptr @fn_find_fn(ptr %t816) %t818 = icmp eq ptr %t817, null %t819 = zext i1 %t818 to i32 %t820 = icmp ne i32 %t819, 0 %t821 = zext i1 %t820 to i32 store i32 %t821, ptr %t811 br label %scend201 scend201: %t822 = load i32, ptr %t811 %t823 = icmp ne i32 %t822, 0 br i1 %t823, label %then202, label %ifend204 then202: %t824 = load ptr, ptr %t0 %t825 = getelementptr inbounds %Cmp_Node, ptr %t824, i32 0, i32 7 %t826 = load ptr, ptr %t825 %t827 = getelementptr inbounds %LSlice, ptr %t826, i32 0, i32 0 %t828 = load ptr, ptr %t827 %t829 = getelementptr inbounds %LSlice, ptr %t826, i32 0, i32 1 %t830 = load i32, ptr %t829 %t831 = icmp ult i32 0, %t830 br i1 %t831, label %ixok205, label %ixbad206 ixbad206: store i32 8485, ptr @lp_site %t832 = call ptr @lp_win_stdio(i32 2) store i32 0, ptr @lp_site call i32 (ptr, ptr, ...) @fprintf(ptr %t832, ptr @.fmt_bounds, ptr @.str15490, i32 0, i32 %t830) call void @exit(i32 1) unreachable ixok205: %t833 = getelementptr inbounds ptr, ptr %t828, i32 0 %t834 = load ptr, ptr %t833 %t835 = call ptr @fn_emit_expr(ptr %t834) %t836 = call ptr @fn_emit_sized_slice(ptr @.str15489, ptr %t835) store ptr %t836, ptr %retval br label %ret ifend204: %t838 = load ptr, ptr %t48 %t839 = call i32 @lp_str_eq(ptr %t838, ptr @.str15491) %t840 = icmp ne i32 %t839, 0 %t841 = zext i1 %t840 to i32 store i32 %t841, ptr %t837 br i1 %t840, label %sc207, label %scend208 sc207: %t842 = load ptr, ptr %t48 %t843 = call ptr @fn_find_fn(ptr %t842) %t844 = icmp eq ptr %t843, null %t845 = zext i1 %t844 to i32 %t846 = icmp ne i32 %t845, 0 %t847 = zext i1 %t846 to i32 store i32 %t847, ptr %t837 br label %scend208 scend208: %t848 = load i32, ptr %t837 %t849 = icmp ne i32 %t848, 0 br i1 %t849, label %then209, label %ifend211 then209: %t850 = load ptr, ptr %t0 %t851 = getelementptr inbounds %Cmp_Node, ptr %t850, i32 0, i32 7 %t852 = load ptr, ptr %t851 %t853 = getelementptr inbounds %LSlice, ptr %t852, i32 0, i32 0 %t854 = load ptr, ptr %t853 %t855 = getelementptr inbounds %LSlice, ptr %t852, i32 0, i32 1 %t856 = load i32, ptr %t855 %t857 = icmp ult i32 0, %t856 br i1 %t857, label %ixok212, label %ixbad213 ixbad213: store i32 8486, ptr @lp_site %t858 = call ptr @lp_win_stdio(i32 2) store i32 0, ptr @lp_site call i32 (ptr, ptr, ...) @fprintf(ptr %t858, ptr @.fmt_bounds, ptr @.str15493, i32 0, i32 %t856) call void @exit(i32 1) unreachable ixok212: %t859 = getelementptr inbounds ptr, ptr %t854, i32 0 %t860 = load ptr, ptr %t859 %t861 = call ptr @fn_emit_expr(ptr %t860) %t862 = call ptr @fn_emit_sized_slice(ptr @.str15492, ptr %t861) store ptr %t862, ptr %retval br label %ret ifend211: %t864 = load ptr, ptr %t48 %t865 = call i32 @lp_str_eq(ptr %t864, ptr @.str15494) %t866 = icmp ne i32 %t865, 0 %t867 = zext i1 %t866 to i32 store i32 %t867, ptr %t863 br i1 %t866, label %sc214, label %scend215 sc214: %t868 = load ptr, ptr %t48 %t869 = call ptr @fn_find_fn(ptr %t868) %t870 = icmp eq ptr %t869, null %t871 = zext i1 %t870 to i32 %t872 = icmp ne i32 %t871, 0 %t873 = zext i1 %t872 to i32 store i32 %t873, ptr %t863 br label %scend215 scend215: %t874 = load i32, ptr %t863 %t875 = icmp ne i32 %t874, 0 br i1 %t875, label %then216, label %ifend218 then216: %t876 = load ptr, ptr %t0 %t877 = getelementptr inbounds %Cmp_Node, ptr %t876, i32 0, i32 7 %t878 = load ptr, ptr %t877 %t879 = getelementptr inbounds %LSlice, ptr %t878, i32 0, i32 0 %t880 = load ptr, ptr %t879 %t881 = getelementptr inbounds %LSlice, ptr %t878, i32 0, i32 1 %t882 = load i32, ptr %t881 %t883 = icmp ult i32 0, %t882 br i1 %t883, label %ixok219, label %ixbad220 ixbad220: store i32 8487, ptr @lp_site %t884 = call ptr @lp_win_stdio(i32 2) store i32 0, ptr @lp_site call i32 (ptr, ptr, ...) @fprintf(ptr %t884, ptr @.fmt_bounds, ptr @.str15496, i32 0, i32 %t882) call void @exit(i32 1) unreachable ixok219: %t885 = getelementptr inbounds ptr, ptr %t880, i32 0 %t886 = load ptr, ptr %t885 %t887 = call ptr @fn_emit_expr(ptr %t886) %t888 = call ptr @fn_emit_sized_slice(ptr @.str15495, ptr %t887) store ptr %t888, ptr %retval br label %ret ifend218: %t889 = load ptr, ptr %t48 %t890 = call i32 @lp_str_eq(ptr %t889, ptr @.str15497) %t891 = icmp ne i32 %t890, 0 br i1 %t891, label %then221, label %ifend223 then221: %t892 = load ptr, ptr %t0 %t893 = call ptr @fn_emit_view(ptr %t892) store ptr %t893, ptr %retval br label %ret ifend223: %t894 = load ptr, ptr %t48 %t895 = call i32 @lp_str_eq(ptr %t894, ptr @.str15498) %t896 = icmp ne i32 %t895, 0 br i1 %t896, label %then224, label %ifend226 then224: %t897 = load ptr, ptr %t0 %t898 = getelementptr inbounds %Cmp_Node, ptr %t897, i32 0, i32 7 %t899 = load ptr, ptr %t898 %t900 = getelementptr inbounds %LSlice, ptr %t899, i32 0, i32 0 %t901 = load ptr, ptr %t900 %t902 = getelementptr inbounds %LSlice, ptr %t899, i32 0, i32 1 %t903 = load i32, ptr %t902 %t904 = icmp ult i32 0, %t903 br i1 %t904, label %ixok227, label %ixbad228 ixbad228: store i32 8488, ptr @lp_site %t905 = call ptr @lp_win_stdio(i32 2) store i32 0, ptr @lp_site call i32 (ptr, ptr, ...) @fprintf(ptr %t905, ptr @.fmt_bounds, ptr @.str15499, i32 0, i32 %t903) call void @exit(i32 1) unreachable ixok227: %t906 = getelementptr inbounds ptr, ptr %t901, i32 0 %t907 = load ptr, ptr %t906 %t908 = call ptr @fn_emit_expr(ptr %t907) store ptr %t908, ptr %t909 %t910 = load ptr, ptr %t909 %t911 = getelementptr inbounds %Cmp_Val, ptr %t910, i32 0, i32 0 %t912 = load ptr, ptr %t911 %t913 = call ptr @fn_slice_field(ptr %t912, i32 0) store i32 8489, ptr @lp_site %t914 = call ptr @lp_str_concat(ptr @.str15500, ptr %t913) store i32 0, ptr @lp_site %t915 = call ptr @fn_emit_bind(ptr %t914) %t916 = call ptr @fn_val(ptr %t915, ptr @.str15501) store ptr %t916, ptr %retval br label %ret ifend226: %t917 = load ptr, ptr %t48 %t918 = call i32 @lp_str_eq(ptr %t917, ptr @.str15502) %t919 = icmp ne i32 %t918, 0 br i1 %t919, label %then229, label %ifend231 then229: %t920 = load ptr, ptr %t0 %t921 = getelementptr inbounds %Cmp_Node, ptr %t920, i32 0, i32 7 %t922 = load ptr, ptr %t921 %t923 = getelementptr inbounds %LSlice, ptr %t922, i32 0, i32 0 %t924 = load ptr, ptr %t923 %t925 = getelementptr inbounds %LSlice, ptr %t922, i32 0, i32 1 %t926 = load i32, ptr %t925 %t927 = icmp ult i32 0, %t926 br i1 %t927, label %ixok232, label %ixbad233 ixbad233: store i32 8490, ptr @lp_site %t928 = call ptr @lp_win_stdio(i32 2) store i32 0, ptr @lp_site call i32 (ptr, ptr, ...) @fprintf(ptr %t928, ptr @.fmt_bounds, ptr @.str15503, i32 0, i32 %t926) call void @exit(i32 1) unreachable ixok232: %t929 = getelementptr inbounds ptr, ptr %t924, i32 0 %t930 = load ptr, ptr %t929 %t931 = call ptr @fn_emit_expr(ptr %t930) store ptr %t931, ptr %t932 %t933 = load ptr, ptr %t932 %t934 = getelementptr inbounds %Cmp_Val, ptr %t933, i32 0, i32 1 %t935 = load ptr, ptr %t934 %t936 = call i32 @fn_is_fp(ptr %t935) %t937 = icmp ne i32 %t936, 0 br i1 %t937, label %then234, label %ifend236 then234: %t938 = load ptr, ptr %t932 %t939 = call ptr @fn_emit_fp_to_fixed(ptr %t938) store ptr %t939, ptr %retval br label %ret ifend236: %t940 = load ptr, ptr %t932 %t941 = getelementptr inbounds %Cmp_Val, ptr %t940, i32 0, i32 2 %t942 = load ptr, ptr %t941 %t943 = icmp ne ptr %t942, null %t944 = zext i1 %t943 to i32 %t945 = icmp ne i32 %t944, 0 br i1 %t945, label %then237, label %ifend239 then237: %t946 = load ptr, ptr %t932 %t947 = getelementptr inbounds %Cmp_Val, ptr %t946, i32 0, i32 0 %t948 = load ptr, ptr %t947 %t949 = call ptr @fn_val(ptr %t948, ptr @.str15504) store ptr %t949, ptr %retval br label %ret ifend239: %t950 = load ptr, ptr %t932 %t951 = getelementptr inbounds %Cmp_Val, ptr %t950, i32 0, i32 0 %t952 = load ptr, ptr %t951 store i32 8491, ptr @lp_site %t953 = call ptr @lp_str_concat(ptr @.str15505, ptr %t952) store i32 0, ptr @lp_site store i32 8492, ptr @lp_site %t954 = call ptr @lp_str_concat(ptr %t953, ptr @.str15506) store i32 0, ptr @lp_site call void @lp_free(ptr %t953) %t955 = call ptr @fn_emit_bind(ptr %t954) %t956 = call ptr @fn_val(ptr %t955, ptr @.str15507) store ptr %t956, ptr %retval br label %ret ifend231: %t960 = load ptr, ptr %t48 %t961 = call i32 @lp_str_eq(ptr %t960, ptr @.str15508) %t962 = icmp ne i32 %t961, 0 %t963 = zext i1 %t962 to i32 store i32 %t963, ptr %t959 br i1 %t962, label %scend241, label %sc240 sc240: %t964 = load ptr, ptr %t48 %t965 = call i32 @lp_str_eq(ptr %t964, ptr @.str15509) %t966 = icmp ne i32 %t965, 0 %t967 = zext i1 %t966 to i32 store i32 %t967, ptr %t959 br label %scend241 scend241: %t968 = load i32, ptr %t959 %t969 = icmp ne i32 %t968, 0 %t970 = zext i1 %t969 to i32 store i32 %t970, ptr %t958 br i1 %t969, label %sc242, label %scend243 sc242: %t971 = load ptr, ptr %t48 %t972 = call ptr @fn_find_fn(ptr %t971) %t973 = icmp eq ptr %t972, null %t974 = zext i1 %t973 to i32 %t975 = icmp ne i32 %t974, 0 %t976 = zext i1 %t975 to i32 store i32 %t976, ptr %t958 br label %scend243 scend243: %t977 = load i32, ptr %t958 %t978 = icmp ne i32 %t977, 0 %t979 = zext i1 %t978 to i32 store i32 %t979, ptr %t957 br i1 %t978, label %sc244, label %scend245 sc244: %t980 = load ptr, ptr %t0 %t981 = getelementptr inbounds %Cmp_Node, ptr %t980, i32 0, i32 7 %t982 = load ptr, ptr %t981 %t983 = getelementptr inbounds %LSlice, ptr %t982, i32 0, i32 1 %t984 = load i32, ptr %t983 %t985 = icmp eq i32 %t984, 1 %t986 = zext i1 %t985 to i32 %t987 = icmp ne i32 %t986, 0 %t988 = zext i1 %t987 to i32 store i32 %t988, ptr %t957 br label %scend245 scend245: %t989 = load i32, ptr %t957 %t990 = icmp ne i32 %t989, 0 br i1 %t990, label %then246, label %ifend248 then246: %t991 = load ptr, ptr %t48 %t992 = load ptr, ptr %t0 %t993 = getelementptr inbounds %Cmp_Node, ptr %t992, i32 0, i32 7 %t994 = load ptr, ptr %t993 %t995 = getelementptr inbounds %LSlice, ptr %t994, i32 0, i32 0 %t996 = load ptr, ptr %t995 %t997 = getelementptr inbounds %LSlice, ptr %t994, i32 0, i32 1 %t998 = load i32, ptr %t997 %t999 = icmp ult i32 0, %t998 br i1 %t999, label %ixok249, label %ixbad250 ixbad250: store i32 8493, ptr @lp_site %t1000 = call ptr @lp_win_stdio(i32 2) store i32 0, ptr @lp_site call i32 (ptr, ptr, ...) @fprintf(ptr %t1000, ptr @.fmt_bounds, ptr @.str15510, i32 0, i32 %t998) call void @exit(i32 1) unreachable ixok249: %t1001 = getelementptr inbounds ptr, ptr %t996, i32 0 %t1002 = load ptr, ptr %t1001 %t1003 = call ptr @fn_emit_expr(ptr %t1002) %t1004 = call ptr @fn_emit_fp_convert(ptr %t991, ptr %t1003) store ptr %t1004, ptr %retval br label %ret ifend248: %t1007 = load ptr, ptr %t48 %t1008 = call i32 @lp_str_eq(ptr %t1007, ptr @.str15511) %t1009 = icmp ne i32 %t1008, 0 %t1010 = zext i1 %t1009 to i32 store i32 %t1010, ptr %t1006 br i1 %t1009, label %sc251, label %scend252 sc251: %t1011 = load ptr, ptr %t48 %t1012 = call ptr @fn_find_fn(ptr %t1011) %t1013 = icmp eq ptr %t1012, null %t1014 = zext i1 %t1013 to i32 %t1015 = icmp ne i32 %t1014, 0 %t1016 = zext i1 %t1015 to i32 store i32 %t1016, ptr %t1006 br label %scend252 scend252: %t1017 = load i32, ptr %t1006 %t1018 = icmp ne i32 %t1017, 0 %t1019 = zext i1 %t1018 to i32 store i32 %t1019, ptr %t1005 br i1 %t1018, label %sc253, label %scend254 sc253: %t1020 = load ptr, ptr %t0 %t1021 = getelementptr inbounds %Cmp_Node, ptr %t1020, i32 0, i32 7 %t1022 = load ptr, ptr %t1021 %t1023 = getelementptr inbounds %LSlice, ptr %t1022, i32 0, i32 1 %t1024 = load i32, ptr %t1023 %t1025 = icmp eq i32 %t1024, 1 %t1026 = zext i1 %t1025 to i32 %t1027 = icmp ne i32 %t1026, 0 %t1028 = zext i1 %t1027 to i32 store i32 %t1028, ptr %t1005 br label %scend254 scend254: %t1029 = load i32, ptr %t1005 %t1030 = icmp ne i32 %t1029, 0 br i1 %t1030, label %then255, label %ifend257 then255: %t1031 = load ptr, ptr %t0 %t1032 = getelementptr inbounds %Cmp_Node, ptr %t1031, i32 0, i32 7 %t1033 = load ptr, ptr %t1032 %t1034 = getelementptr inbounds %LSlice, ptr %t1033, i32 0, i32 0 %t1035 = load ptr, ptr %t1034 %t1036 = getelementptr inbounds %LSlice, ptr %t1033, i32 0, i32 1 %t1037 = load i32, ptr %t1036 %t1038 = icmp ult i32 0, %t1037 br i1 %t1038, label %ixok258, label %ixbad259 ixbad259: store i32 8494, ptr @lp_site %t1039 = call ptr @lp_win_stdio(i32 2) store i32 0, ptr @lp_site call i32 (ptr, ptr, ...) @fprintf(ptr %t1039, ptr @.fmt_bounds, ptr @.str15512, i32 0, i32 %t1037) call void @exit(i32 1) unreachable ixok258: %t1040 = getelementptr inbounds ptr, ptr %t1035, i32 0 %t1041 = load ptr, ptr %t1040 %t1042 = call ptr @fn_emit_expr(ptr %t1041) store ptr %t1042, ptr %t1043 %t1044 = load ptr, ptr %t1043 %t1045 = getelementptr inbounds %Cmp_Val, ptr %t1044, i32 0, i32 1 %t1046 = load ptr, ptr %t1045 %t1047 = call i32 @fn_is_fp(ptr %t1046) %t1048 = icmp ne i32 %t1047, 0 br i1 %t1048, label %then260, label %ifend262 then260: %t1049 = load ptr, ptr %t1043 %t1050 = call ptr @fn_emit_fp_to_int(ptr %t1049) store ptr %t1050, ptr %retval br label %ret ifend262: %t1051 = load ptr, ptr %t1043 %t1052 = getelementptr inbounds %Cmp_Val, ptr %t1051, i32 0, i32 1 %t1053 = load ptr, ptr %t1052 %t1054 = call i32 @lp_str_eq(ptr %t1053, ptr @.str15513) %t1055 = icmp ne i32 %t1054, 0 br i1 %t1055, label %then263, label %ifend265 then263: %t1056 = load ptr, ptr %t1043 %t1057 = getelementptr inbounds %Cmp_Val, ptr %t1056, i32 0, i32 0 %t1058 = load ptr, ptr %t1057 store i32 8495, ptr @lp_site %t1059 = call ptr @lp_str_concat(ptr @.str15514, ptr %t1058) store i32 0, ptr @lp_site store i32 8496, ptr @lp_site %t1060 = call ptr @lp_str_concat(ptr %t1059, ptr @.str15515) store i32 0, ptr @lp_site call void @lp_free(ptr %t1059) %t1061 = call ptr @fn_emit_bind(ptr %t1060) %t1062 = call ptr @fn_val(ptr %t1061, ptr @.str15516) store ptr %t1062, ptr %retval br label %ret ifend265: %t1063 = load ptr, ptr %t1043 %t1064 = getelementptr inbounds %Cmp_Val, ptr %t1063, i32 0, i32 1 %t1065 = load ptr, ptr %t1064 %t1066 = call ptr @fn_llty(ptr %t1065) %t1067 = call i32 @lp_str_eq(ptr %t1066, ptr @.str15517) %t1068 = icmp ne i32 %t1067, 0 br i1 %t1068, label %then266, label %ifend268 then266: %t1069 = load ptr, ptr %t1043 %t1070 = getelementptr inbounds %Cmp_Val, ptr %t1069, i32 0, i32 0 %t1071 = load ptr, ptr %t1070 store i32 8497, ptr @lp_site %t1072 = call ptr @lp_str_concat(ptr @.str15518, ptr %t1071) store i32 0, ptr @lp_site store i32 8498, ptr @lp_site %t1073 = call ptr @lp_str_concat(ptr %t1072, ptr @.str15519) store i32 0, ptr @lp_site call void @lp_free(ptr %t1072) %t1074 = call ptr @fn_emit_bind(ptr %t1073) %t1075 = call ptr @fn_val(ptr %t1074, ptr @.str15520) store ptr %t1075, ptr %retval br label %ret ifend268: %t1076 = load ptr, ptr %t1043 %t1077 = getelementptr inbounds %Cmp_Val, ptr %t1076, i32 0, i32 0 %t1078 = load ptr, ptr %t1077 %t1079 = call ptr @fn_val(ptr %t1078, ptr @.str15521) store ptr %t1079, ptr %retval br label %ret ifend257: %t1082 = load ptr, ptr %t48 %t1083 = call i32 @lp_str_eq(ptr %t1082, ptr @.str15522) %t1084 = icmp ne i32 %t1083, 0 %t1085 = zext i1 %t1084 to i32 store i32 %t1085, ptr %t1081 br i1 %t1084, label %sc269, label %scend270 sc269: %t1086 = load ptr, ptr %t48 %t1087 = call ptr @fn_find_fn(ptr %t1086) %t1088 = icmp eq ptr %t1087, null %t1089 = zext i1 %t1088 to i32 %t1090 = icmp ne i32 %t1089, 0 %t1091 = zext i1 %t1090 to i32 store i32 %t1091, ptr %t1081 br label %scend270 scend270: %t1092 = load i32, ptr %t1081 %t1093 = icmp ne i32 %t1092, 0 %t1094 = zext i1 %t1093 to i32 store i32 %t1094, ptr %t1080 br i1 %t1093, label %sc271, label %scend272 sc271: %t1095 = load ptr, ptr %t0 %t1096 = getelementptr inbounds %Cmp_Node, ptr %t1095, i32 0, i32 7 %t1097 = load ptr, ptr %t1096 %t1098 = getelementptr inbounds %LSlice, ptr %t1097, i32 0, i32 1 %t1099 = load i32, ptr %t1098 %t1100 = icmp eq i32 %t1099, 1 %t1101 = zext i1 %t1100 to i32 %t1102 = icmp ne i32 %t1101, 0 %t1103 = zext i1 %t1102 to i32 store i32 %t1103, ptr %t1080 br label %scend272 scend272: %t1104 = load i32, ptr %t1080 %t1105 = icmp ne i32 %t1104, 0 br i1 %t1105, label %then273, label %ifend275 then273: %t1106 = load ptr, ptr %t0 %t1107 = getelementptr inbounds %Cmp_Node, ptr %t1106, i32 0, i32 7 %t1108 = load ptr, ptr %t1107 %t1109 = getelementptr inbounds %LSlice, ptr %t1108, i32 0, i32 0 %t1110 = load ptr, ptr %t1109 %t1111 = getelementptr inbounds %LSlice, ptr %t1108, i32 0, i32 1 %t1112 = load i32, ptr %t1111 %t1113 = icmp ult i32 0, %t1112 br i1 %t1113, label %ixok276, label %ixbad277 ixbad277: store i32 8499, ptr @lp_site %t1114 = call ptr @lp_win_stdio(i32 2) store i32 0, ptr @lp_site call i32 (ptr, ptr, ...) @fprintf(ptr %t1114, ptr @.fmt_bounds, ptr @.str15523, i32 0, i32 %t1112) call void @exit(i32 1) unreachable ixok276: %t1115 = getelementptr inbounds ptr, ptr %t1110, i32 0 %t1116 = load ptr, ptr %t1115 %t1117 = call ptr @fn_emit_expr(ptr %t1116) store ptr %t1117, ptr %t1118 %t1119 = load ptr, ptr %t1118 %t1120 = getelementptr inbounds %Cmp_Val, ptr %t1119, i32 0, i32 1 %t1121 = load ptr, ptr %t1120 %t1122 = call i32 @fn_is_fp(ptr %t1121) %t1123 = icmp ne i32 %t1122, 0 br i1 %t1123, label %then278, label %ifend280 then278: %t1124 = load ptr, ptr %t1118 %t1125 = call ptr @fn_emit_fp_to_long(ptr %t1124) store ptr %t1125, ptr %retval br label %ret ifend280: %t1126 = load ptr, ptr %t1118 %t1127 = call ptr @fn_to_long(ptr %t1126) %t1128 = call ptr @fn_val(ptr %t1127, ptr @.str15524) store ptr %t1128, ptr %retval br label %ret ifend275: %t1130 = load ptr, ptr %t48 %t1131 = call i32 @lp_str_eq(ptr %t1130, ptr @.str15525) %t1132 = icmp ne i32 %t1131, 0 %t1133 = zext i1 %t1132 to i32 store i32 %t1133, ptr %t1129 br i1 %t1132, label %sc281, label %scend282 sc281: %t1134 = load ptr, ptr %t48 %t1135 = call ptr @fn_find_fn(ptr %t1134) %t1136 = icmp eq ptr %t1135, null %t1137 = zext i1 %t1136 to i32 %t1138 = icmp ne i32 %t1137, 0 %t1139 = zext i1 %t1138 to i32 store i32 %t1139, ptr %t1129 br label %scend282 scend282: %t1140 = load i32, ptr %t1129 %t1141 = icmp ne i32 %t1140, 0 br i1 %t1141, label %then283, label %ifend285 then283: %t1142 = load ptr, ptr %t0 %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 %LSlice, ptr %t1144, i32 0, i32 1 %t1148 = load i32, ptr %t1147 %t1149 = icmp ult i32 0, %t1148 br i1 %t1149, label %ixok286, label %ixbad287 ixbad287: store i32 8500, ptr @lp_site %t1150 = call ptr @lp_win_stdio(i32 2) store i32 0, ptr @lp_site call i32 (ptr, ptr, ...) @fprintf(ptr %t1150, ptr @.fmt_bounds, ptr @.str15526, i32 0, i32 %t1148) call void @exit(i32 1) unreachable ixok286: %t1151 = getelementptr inbounds ptr, ptr %t1146, i32 0 %t1152 = load ptr, ptr %t1151 %t1153 = call ptr @fn_emit_expr(ptr %t1152) %t1154 = call ptr @fn_emit_float_bits(ptr %t1153) store ptr %t1154, ptr %retval br label %ret ifend285: %t1156 = load ptr, ptr %t48 %t1157 = call i32 @lp_str_eq(ptr %t1156, ptr @.str15527) %t1158 = icmp ne i32 %t1157, 0 %t1159 = zext i1 %t1158 to i32 store i32 %t1159, ptr %t1155 br i1 %t1158, label %sc288, label %scend289 sc288: %t1160 = load ptr, ptr %t48 %t1161 = call ptr @fn_find_fn(ptr %t1160) %t1162 = icmp eq ptr %t1161, null %t1163 = zext i1 %t1162 to i32 %t1164 = icmp ne i32 %t1163, 0 %t1165 = zext i1 %t1164 to i32 store i32 %t1165, ptr %t1155 br label %scend289 scend289: %t1166 = load i32, ptr %t1155 %t1167 = icmp ne i32 %t1166, 0 br i1 %t1167, label %then290, label %ifend292 then290: %t1168 = load ptr, ptr %t0 %t1169 = getelementptr inbounds %Cmp_Node, ptr %t1168, i32 0, i32 7 %t1170 = load ptr, ptr %t1169 %t1171 = getelementptr inbounds %LSlice, ptr %t1170, i32 0, i32 0 %t1172 = load ptr, ptr %t1171 %t1173 = getelementptr inbounds %LSlice, ptr %t1170, i32 0, i32 1 %t1174 = load i32, ptr %t1173 %t1175 = icmp ult i32 0, %t1174 br i1 %t1175, label %ixok293, label %ixbad294 ixbad294: store i32 8501, ptr @lp_site %t1176 = call ptr @lp_win_stdio(i32 2) store i32 0, ptr @lp_site call i32 (ptr, ptr, ...) @fprintf(ptr %t1176, ptr @.fmt_bounds, ptr @.str15528, i32 0, i32 %t1174) call void @exit(i32 1) unreachable ixok293: %t1177 = getelementptr inbounds ptr, ptr %t1172, i32 0 %t1178 = load ptr, ptr %t1177 %t1179 = call ptr @fn_emit_expr(ptr %t1178) %t1180 = call ptr @fn_emit_float_from_bits(ptr %t1179) store ptr %t1180, ptr %retval br label %ret ifend292: %t1182 = load ptr, ptr %t48 %t1183 = call i32 @lp_str_eq(ptr %t1182, ptr @.str15529) %t1184 = icmp ne i32 %t1183, 0 %t1185 = zext i1 %t1184 to i32 store i32 %t1185, ptr %t1181 br i1 %t1184, label %sc295, label %scend296 sc295: %t1186 = load ptr, ptr %t48 %t1187 = call ptr @fn_find_fn(ptr %t1186) %t1188 = icmp eq ptr %t1187, null %t1189 = zext i1 %t1188 to i32 %t1190 = icmp ne i32 %t1189, 0 %t1191 = zext i1 %t1190 to i32 store i32 %t1191, ptr %t1181 br label %scend296 scend296: %t1192 = load i32, ptr %t1181 %t1193 = icmp ne i32 %t1192, 0 br i1 %t1193, label %then297, label %ifend299 then297: %t1194 = load ptr, ptr %t0 %t1195 = getelementptr inbounds %Cmp_Node, ptr %t1194, i32 0, i32 7 %t1196 = load ptr, ptr %t1195 %t1197 = getelementptr inbounds %LSlice, ptr %t1196, i32 0, i32 0 %t1198 = load ptr, ptr %t1197 %t1199 = getelementptr inbounds %LSlice, ptr %t1196, i32 0, i32 1 %t1200 = load i32, ptr %t1199 %t1201 = icmp ult i32 0, %t1200 br i1 %t1201, label %ixok300, label %ixbad301 ixbad301: store i32 8502, ptr @lp_site %t1202 = call ptr @lp_win_stdio(i32 2) store i32 0, ptr @lp_site call i32 (ptr, ptr, ...) @fprintf(ptr %t1202, ptr @.fmt_bounds, ptr @.str15530, i32 0, i32 %t1200) call void @exit(i32 1) unreachable ixok300: %t1203 = getelementptr inbounds ptr, ptr %t1198, i32 0 %t1204 = load ptr, ptr %t1203 %t1205 = call ptr @fn_emit_expr(ptr %t1204) %t1206 = call ptr @fn_emit_double_bits(ptr %t1205) store ptr %t1206, ptr %retval br label %ret ifend299: %t1208 = load ptr, ptr %t48 %t1209 = call i32 @lp_str_eq(ptr %t1208, ptr @.str15531) %t1210 = icmp ne i32 %t1209, 0 %t1211 = zext i1 %t1210 to i32 store i32 %t1211, ptr %t1207 br i1 %t1210, label %sc302, label %scend303 sc302: %t1212 = load ptr, ptr %t48 %t1213 = call ptr @fn_find_fn(ptr %t1212) %t1214 = icmp eq ptr %t1213, null %t1215 = zext i1 %t1214 to i32 %t1216 = icmp ne i32 %t1215, 0 %t1217 = zext i1 %t1216 to i32 store i32 %t1217, ptr %t1207 br label %scend303 scend303: %t1218 = load i32, ptr %t1207 %t1219 = icmp ne i32 %t1218, 0 br i1 %t1219, label %then304, label %ifend306 then304: %t1220 = load ptr, ptr %t0 %t1221 = getelementptr inbounds %Cmp_Node, ptr %t1220, i32 0, i32 7 %t1222 = load ptr, ptr %t1221 %t1223 = getelementptr inbounds %LSlice, ptr %t1222, i32 0, i32 0 %t1224 = load ptr, ptr %t1223 %t1225 = getelementptr inbounds %LSlice, ptr %t1222, i32 0, i32 1 %t1226 = load i32, ptr %t1225 %t1227 = icmp ult i32 0, %t1226 br i1 %t1227, label %ixok307, label %ixbad308 ixbad308: store i32 8503, ptr @lp_site %t1228 = call ptr @lp_win_stdio(i32 2) store i32 0, ptr @lp_site call i32 (ptr, ptr, ...) @fprintf(ptr %t1228, ptr @.fmt_bounds, ptr @.str15532, i32 0, i32 %t1226) call void @exit(i32 1) unreachable ixok307: %t1229 = getelementptr inbounds ptr, ptr %t1224, i32 0 %t1230 = load ptr, ptr %t1229 %t1231 = call ptr @fn_emit_expr(ptr %t1230) %t1232 = call ptr @fn_emit_double_from_bits(ptr %t1231) store ptr %t1232, ptr %retval br label %ret ifend306: %t1235 = load ptr, ptr %t48 %t1236 = call i32 @lp_str_eq(ptr %t1235, ptr @.str15533) %t1237 = icmp ne i32 %t1236, 0 %t1238 = zext i1 %t1237 to i32 store i32 %t1238, ptr %t1234 br i1 %t1237, label %scend310, label %sc309 sc309: %t1239 = load ptr, ptr %t48 %t1240 = call i32 @lp_str_eq(ptr %t1239, ptr @.str15534) %t1241 = icmp ne i32 %t1240, 0 %t1242 = zext i1 %t1241 to i32 store i32 %t1242, ptr %t1234 br label %scend310 scend310: %t1243 = load i32, ptr %t1234 %t1244 = icmp ne i32 %t1243, 0 %t1245 = zext i1 %t1244 to i32 store i32 %t1245, ptr %t1233 br i1 %t1244, label %sc311, label %scend312 sc311: %t1246 = load ptr, ptr %t48 %t1247 = call ptr @fn_find_fn(ptr %t1246) %t1248 = icmp eq ptr %t1247, null %t1249 = zext i1 %t1248 to i32 %t1250 = icmp ne i32 %t1249, 0 %t1251 = zext i1 %t1250 to i32 store i32 %t1251, ptr %t1233 br label %scend312 scend312: %t1252 = load i32, ptr %t1233 %t1253 = icmp ne i32 %t1252, 0 br i1 %t1253, label %then313, label %ifend315 then313: store ptr @.str15535, ptr %t1254 %t1255 = load ptr, ptr %t48 %t1256 = call i32 @lp_str_eq(ptr %t1255, ptr @.str15536) %t1257 = icmp ne i32 %t1256, 0 br i1 %t1257, label %then316, label %ifend318 then316: store ptr @.str15537, ptr %t1254 br label %ifend318 ifend318: %t1258 = load ptr, ptr %t1254 %t1259 = load ptr, ptr %t0 %t1260 = getelementptr inbounds %Cmp_Node, ptr %t1259, i32 0, i32 7 %t1261 = load ptr, ptr %t1260 %t1262 = getelementptr inbounds %LSlice, ptr %t1261, i32 0, i32 0 %t1263 = load ptr, ptr %t1262 %t1264 = getelementptr inbounds %LSlice, ptr %t1261, i32 0, i32 1 %t1265 = load i32, ptr %t1264 %t1266 = icmp ult i32 0, %t1265 br i1 %t1266, label %ixok319, label %ixbad320 ixbad320: store i32 8504, ptr @lp_site %t1267 = call ptr @lp_win_stdio(i32 2) store i32 0, ptr @lp_site call i32 (ptr, ptr, ...) @fprintf(ptr %t1267, ptr @.fmt_bounds, ptr @.str15538, i32 0, i32 %t1265) call void @exit(i32 1) unreachable ixok319: %t1268 = getelementptr inbounds ptr, ptr %t1263, i32 0 %t1269 = load ptr, ptr %t1268 %t1270 = call ptr @fn_emit_expr(ptr %t1269) %t1271 = call ptr @fn_emit_sized_slice(ptr %t1258, ptr %t1270) store ptr %t1271, ptr %retval br label %ret ifend315: %t1272 = load ptr, ptr %t48 %t1273 = call i32 @lp_str_eq(ptr %t1272, ptr @.str15539) %t1274 = icmp ne i32 %t1273, 0 br i1 %t1274, label %then321, label %ifend323 then321: %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 %LSlice, ptr %t1277, i32 0, i32 1 %t1281 = load i32, ptr %t1280 %t1282 = icmp ult i32 0, %t1281 br i1 %t1282, label %ixok324, label %ixbad325 ixbad325: store i32 8505, ptr @lp_site %t1283 = call ptr @lp_win_stdio(i32 2) store i32 0, ptr @lp_site call i32 (ptr, ptr, ...) @fprintf(ptr %t1283, ptr @.fmt_bounds, ptr @.str15540, i32 0, i32 %t1281) call void @exit(i32 1) unreachable ixok324: %t1284 = getelementptr inbounds ptr, ptr %t1279, i32 0 %t1285 = load ptr, ptr %t1284 %t1286 = call ptr @fn_emit_expr(ptr %t1285) store ptr %t1286, ptr %t1287 %t1288 = load ptr, ptr %t1287 %t1289 = getelementptr inbounds %Cmp_Val, ptr %t1288, i32 0, i32 0 %t1290 = load ptr, ptr %t1289 store i32 8506, ptr @lp_site %t1291 = call ptr @lp_str_concat(ptr @.str15541, ptr %t1290) store i32 0, ptr @lp_site store i32 8507, ptr @lp_site %t1292 = call ptr @lp_str_concat(ptr %t1291, ptr @.str15542) store i32 0, ptr @lp_site call void @lp_free(ptr %t1291) %t1293 = call ptr @fn_emit_bind(ptr %t1292) %t1294 = call ptr @fn_val(ptr %t1293, ptr @.str15543) store ptr %t1294, ptr %retval br label %ret ifend323: %t1295 = load ptr, ptr %t48 %t1296 = call i32 @lp_str_eq(ptr %t1295, ptr @.str15544) %t1297 = icmp ne i32 %t1296, 0 br i1 %t1297, label %then326, label %ifend328 then326: store i32 1, ptr @g_g_uses_expect %t1298 = load ptr, ptr %t0 %t1299 = getelementptr inbounds %Cmp_Node, ptr %t1298, i32 0, i32 7 %t1300 = load ptr, ptr %t1299 %t1301 = getelementptr inbounds %LSlice, ptr %t1300, i32 0, i32 0 %t1302 = load ptr, ptr %t1301 %t1303 = getelementptr inbounds %LSlice, ptr %t1300, i32 0, i32 1 %t1304 = load i32, ptr %t1303 %t1305 = icmp ult i32 0, %t1304 br i1 %t1305, label %ixok329, label %ixbad330 ixbad330: store i32 8508, ptr @lp_site %t1306 = call ptr @lp_win_stdio(i32 2) store i32 0, ptr @lp_site call i32 (ptr, ptr, ...) @fprintf(ptr %t1306, ptr @.fmt_bounds, ptr @.str15545, i32 0, i32 %t1304) call void @exit(i32 1) unreachable ixok329: %t1307 = getelementptr inbounds ptr, ptr %t1302, i32 0 %t1308 = load ptr, ptr %t1307 %t1309 = call ptr @fn_emit_expr(ptr %t1308) store ptr %t1309, ptr %t1310 %t1311 = load ptr, ptr %t1310 %t1312 = getelementptr inbounds %Cmp_Val, ptr %t1311, i32 0, i32 0 %t1313 = load ptr, ptr %t1312 store i32 8509, ptr @lp_site %t1314 = call ptr @lp_str_concat(ptr @.str15546, ptr %t1313) store i32 0, ptr @lp_site store i32 8510, ptr @lp_site %t1315 = call ptr @lp_str_concat(ptr %t1314, ptr @.str15547) store i32 0, ptr @lp_site call void @lp_free(ptr %t1314) %t1316 = call ptr @fn_emit_bind(ptr %t1315) store ptr %t1316, ptr %t1317 %t1318 = load ptr, ptr %t0 %t1319 = call ptr @fn_expect_where(ptr %t1318) store i32 8511, ptr @lp_site %t1320 = call ptr @lp_str_concat(ptr %t1319, ptr @.str15548) store i32 0, ptr @lp_site %t1321 = call ptr @fn_emit_str_const(ptr %t1320) store ptr %t1321, ptr %t1322 %t1323 = load ptr, ptr %t1317 %t1324 = load ptr, ptr %t1322 call void @fn_emit_expect_fail(ptr %t1323, ptr %t1324, ptr @.str15549, ptr @.str15550) %t1325 = call ptr @fn_val(ptr @.str15551, ptr @.str15552) store ptr %t1325, ptr %retval br label %ret ifend328: %t1326 = load ptr, ptr %t48 %t1327 = call i32 @lp_str_eq(ptr %t1326, ptr @.str15553) %t1328 = icmp ne i32 %t1327, 0 br i1 %t1328, label %then331, label %ifend333 then331: store i32 1, ptr @g_g_uses_expect %t1329 = load ptr, ptr %t0 %t1330 = getelementptr inbounds %Cmp_Node, ptr %t1329, i32 0, i32 7 %t1331 = load ptr, ptr %t1330 %t1332 = getelementptr inbounds %LSlice, ptr %t1331, i32 0, i32 0 %t1333 = load ptr, ptr %t1332 %t1334 = getelementptr inbounds %LSlice, ptr %t1331, i32 0, i32 1 %t1335 = load i32, ptr %t1334 %t1336 = icmp ult i32 0, %t1335 br i1 %t1336, label %ixok334, label %ixbad335 ixbad335: store i32 8512, ptr @lp_site %t1337 = call ptr @lp_win_stdio(i32 2) store i32 0, ptr @lp_site call i32 (ptr, ptr, ...) @fprintf(ptr %t1337, ptr @.fmt_bounds, ptr @.str15554, i32 0, i32 %t1335) call void @exit(i32 1) unreachable ixok334: %t1338 = getelementptr inbounds ptr, ptr %t1333, i32 0 %t1339 = load ptr, ptr %t1338 %t1340 = call ptr @fn_emit_expr(ptr %t1339) store ptr %t1340, ptr %t1341 %t1342 = load ptr, ptr %t0 %t1343 = getelementptr inbounds %Cmp_Node, ptr %t1342, i32 0, i32 7 %t1344 = load ptr, ptr %t1343 %t1345 = getelementptr inbounds %LSlice, ptr %t1344, i32 0, i32 0 %t1346 = load ptr, ptr %t1345 %t1347 = getelementptr inbounds %LSlice, ptr %t1344, i32 0, i32 1 %t1348 = load i32, ptr %t1347 %t1349 = icmp ult i32 1, %t1348 br i1 %t1349, label %ixok336, label %ixbad337 ixbad337: store i32 8513, ptr @lp_site %t1350 = call ptr @lp_win_stdio(i32 2) store i32 0, ptr @lp_site call i32 (ptr, ptr, ...) @fprintf(ptr %t1350, ptr @.fmt_bounds, ptr @.str15555, i32 1, i32 %t1348) call void @exit(i32 1) unreachable ixok336: %t1351 = getelementptr inbounds ptr, ptr %t1346, i32 1 %t1352 = load ptr, ptr %t1351 %t1353 = call ptr @fn_emit_expr(ptr %t1352) store ptr %t1353, ptr %t1354 %t1356 = load ptr, ptr %t1341 %t1357 = getelementptr inbounds %Cmp_Val, ptr %t1356, i32 0, i32 1 %t1358 = load ptr, ptr %t1357 %t1359 = call i32 @fn_is_fp(ptr %t1358) %t1360 = icmp ne i32 %t1359, 0 %t1361 = zext i1 %t1360 to i32 store i32 %t1361, ptr %t1355 br i1 %t1360, label %scend339, label %sc338 sc338: %t1362 = load ptr, ptr %t1354 %t1363 = getelementptr inbounds %Cmp_Val, ptr %t1362, i32 0, i32 1 %t1364 = load ptr, ptr %t1363 %t1365 = call i32 @fn_is_fp(ptr %t1364) %t1366 = icmp ne i32 %t1365, 0 %t1367 = zext i1 %t1366 to i32 store i32 %t1367, ptr %t1355 br label %scend339 scend339: %t1368 = load i32, ptr %t1355 %t1369 = icmp ne i32 %t1368, 0 br i1 %t1369, label %then340, label %ifend342 then340: %t1370 = load ptr, ptr %t0 %t1371 = load ptr, ptr %t1341 %t1372 = load ptr, ptr %t1354 %t1373 = call ptr @fn_emit_expect_fp(ptr %t1370, ptr %t1371, ptr %t1372, ptr null) store ptr %t1373, ptr %retval br label %ret ifend342: %t1375 = load ptr, ptr %t1341 %t1376 = getelementptr inbounds %Cmp_Val, ptr %t1375, i32 0, i32 1 %t1377 = load ptr, ptr %t1376 %t1378 = call i32 @lp_str_eq(ptr %t1377, ptr @.str15556) %t1379 = icmp ne i32 %t1378, 0 %t1380 = zext i1 %t1379 to i32 store i32 %t1380, ptr %t1374 br i1 %t1379, label %scend344, label %sc343 sc343: %t1381 = load ptr, ptr %t1354 %t1382 = getelementptr inbounds %Cmp_Val, ptr %t1381, i32 0, i32 1 %t1383 = load ptr, ptr %t1382 %t1384 = call i32 @lp_str_eq(ptr %t1383, ptr @.str15557) %t1385 = icmp ne i32 %t1384, 0 %t1386 = zext i1 %t1385 to i32 store i32 %t1386, ptr %t1374 br label %scend344 scend344: %t1387 = load i32, ptr %t1374 %t1388 = icmp ne i32 %t1387, 0 br i1 %t1388, label %then345, label %ifend347 then345: %t1389 = load ptr, ptr %t0 %t1390 = load ptr, ptr %t1341 %t1391 = load ptr, ptr %t1354 %t1392 = call ptr @fn_emit_expect_str(ptr %t1389, ptr %t1390, ptr %t1391) store ptr %t1392, ptr %retval br label %ret ifend347: %t1393 = load ptr, ptr %t1341 %t1394 = getelementptr inbounds %Cmp_Val, ptr %t1393, i32 0, i32 0 %t1395 = load ptr, ptr %t1394 store i32 8514, ptr @lp_site %t1396 = call ptr @lp_str_concat(ptr @.str15558, ptr %t1395) store i32 0, ptr @lp_site store i32 8515, ptr @lp_site %t1397 = call ptr @lp_str_concat(ptr %t1396, ptr @.str15559) store i32 0, ptr @lp_site call void @lp_free(ptr %t1396) %t1398 = load ptr, ptr %t1354 %t1399 = getelementptr inbounds %Cmp_Val, ptr %t1398, i32 0, i32 0 %t1400 = load ptr, ptr %t1399 store i32 8516, ptr @lp_site %t1401 = call ptr @lp_str_concat(ptr %t1397, ptr %t1400) store i32 0, ptr @lp_site call void @lp_free(ptr %t1397) %t1402 = call ptr @fn_emit_bind(ptr %t1401) store ptr %t1402, ptr %t1403 %t1404 = load ptr, ptr %t0 %t1405 = call ptr @fn_expect_where(ptr %t1404) store i32 8517, ptr @lp_site %t1406 = call ptr @lp_str_concat(ptr %t1405, ptr @.str15560) store i32 0, ptr @lp_site %t1407 = call ptr @fn_emit_str_const(ptr %t1406) store ptr %t1407, ptr %t1408 %t1409 = load ptr, ptr %t1403 %t1410 = load ptr, ptr %t1408 %t1411 = load ptr, ptr %t1341 %t1412 = getelementptr inbounds %Cmp_Val, ptr %t1411, i32 0, i32 0 %t1413 = load ptr, ptr %t1412 %t1414 = load ptr, ptr %t1354 %t1415 = getelementptr inbounds %Cmp_Val, ptr %t1414, i32 0, i32 0 %t1416 = load ptr, ptr %t1415 call void @fn_emit_expect_fail(ptr %t1409, ptr %t1410, ptr %t1413, ptr %t1416) %t1417 = call ptr @fn_val(ptr @.str15561, ptr @.str15562) store ptr %t1417, ptr %retval br label %ret ifend333: %t1418 = load ptr, ptr %t48 %t1419 = call i32 @lp_str_eq(ptr %t1418, ptr @.str15563) %t1420 = icmp ne i32 %t1419, 0 br i1 %t1420, label %then348, label %ifend350 then348: store i32 1, ptr @g_g_uses_expect %t1421 = load ptr, ptr %t0 %t1422 = getelementptr inbounds %Cmp_Node, ptr %t1421, i32 0, i32 7 %t1423 = load ptr, ptr %t1422 %t1424 = getelementptr inbounds %LSlice, ptr %t1423, i32 0, i32 0 %t1425 = load ptr, ptr %t1424 %t1426 = getelementptr inbounds %LSlice, ptr %t1423, i32 0, i32 1 %t1427 = load i32, ptr %t1426 %t1428 = icmp ult i32 0, %t1427 br i1 %t1428, label %ixok351, label %ixbad352 ixbad352: store i32 8518, ptr @lp_site %t1429 = call ptr @lp_win_stdio(i32 2) store i32 0, ptr @lp_site call i32 (ptr, ptr, ...) @fprintf(ptr %t1429, ptr @.fmt_bounds, ptr @.str15564, i32 0, i32 %t1427) call void @exit(i32 1) unreachable ixok351: %t1430 = getelementptr inbounds ptr, ptr %t1425, i32 0 %t1431 = load ptr, ptr %t1430 %t1432 = call ptr @fn_emit_expr(ptr %t1431) store ptr %t1432, ptr %t1433 %t1434 = load ptr, ptr %t0 %t1435 = getelementptr inbounds %Cmp_Node, ptr %t1434, i32 0, i32 7 %t1436 = load ptr, ptr %t1435 %t1437 = getelementptr inbounds %LSlice, ptr %t1436, i32 0, i32 0 %t1438 = load ptr, ptr %t1437 %t1439 = getelementptr inbounds %LSlice, ptr %t1436, i32 0, i32 1 %t1440 = load i32, ptr %t1439 %t1441 = icmp ult i32 1, %t1440 br i1 %t1441, label %ixok353, label %ixbad354 ixbad354: store i32 8519, ptr @lp_site %t1442 = call ptr @lp_win_stdio(i32 2) store i32 0, ptr @lp_site call i32 (ptr, ptr, ...) @fprintf(ptr %t1442, ptr @.fmt_bounds, ptr @.str15565, i32 1, i32 %t1440) call void @exit(i32 1) unreachable ixok353: %t1443 = getelementptr inbounds ptr, ptr %t1438, 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 %LSlice, ptr %t1449, i32 0, i32 1 %t1453 = load i32, ptr %t1452 %t1454 = icmp ult i32 2, %t1453 br i1 %t1454, label %ixok355, label %ixbad356 ixbad356: store i32 8520, ptr @lp_site %t1455 = call ptr @lp_win_stdio(i32 2) store i32 0, ptr @lp_site call i32 (ptr, ptr, ...) @fprintf(ptr %t1455, ptr @.fmt_bounds, ptr @.str15566, i32 2, i32 %t1453) call void @exit(i32 1) unreachable ixok355: %t1456 = getelementptr inbounds ptr, ptr %t1451, i32 2 %t1457 = load ptr, ptr %t1456 %t1458 = call ptr @fn_emit_expr(ptr %t1457) store ptr %t1458, ptr %t1459 %t1462 = load ptr, ptr %t1433 %t1463 = getelementptr inbounds %Cmp_Val, ptr %t1462, i32 0, i32 1 %t1464 = load ptr, ptr %t1463 %t1465 = call i32 @fn_is_fp(ptr %t1464) %t1466 = icmp ne i32 %t1465, 0 %t1467 = zext i1 %t1466 to i32 store i32 %t1467, ptr %t1461 br i1 %t1466, label %scend358, label %sc357 sc357: %t1468 = load ptr, ptr %t1446 %t1469 = getelementptr inbounds %Cmp_Val, ptr %t1468, i32 0, i32 1 %t1470 = load ptr, ptr %t1469 %t1471 = call i32 @fn_is_fp(ptr %t1470) %t1472 = icmp ne i32 %t1471, 0 %t1473 = zext i1 %t1472 to i32 store i32 %t1473, ptr %t1461 br label %scend358 scend358: %t1474 = load i32, ptr %t1461 %t1475 = icmp ne i32 %t1474, 0 %t1476 = zext i1 %t1475 to i32 store i32 %t1476, ptr %t1460 br i1 %t1475, label %scend360, label %sc359 sc359: %t1477 = load ptr, ptr %t1459 %t1478 = getelementptr inbounds %Cmp_Val, ptr %t1477, i32 0, i32 1 %t1479 = load ptr, ptr %t1478 %t1480 = call i32 @fn_is_fp(ptr %t1479) %t1481 = icmp ne i32 %t1480, 0 %t1482 = zext i1 %t1481 to i32 store i32 %t1482, ptr %t1460 br label %scend360 scend360: %t1483 = load i32, ptr %t1460 %t1484 = icmp ne i32 %t1483, 0 br i1 %t1484, label %then361, label %ifend363 then361: %t1485 = load ptr, ptr %t0 %t1486 = load ptr, ptr %t1433 %t1487 = load ptr, ptr %t1446 %t1488 = load ptr, ptr %t1459 %t1489 = call ptr @fn_emit_expect_fp(ptr %t1485, ptr %t1486, ptr %t1487, ptr %t1488) store ptr %t1489, ptr %retval br label %ret ifend363: %t1490 = load ptr, ptr %t1433 %t1491 = getelementptr inbounds %Cmp_Val, ptr %t1490, i32 0, i32 0 %t1492 = load ptr, ptr %t1491 store i32 8521, ptr @lp_site %t1493 = call ptr @lp_str_concat(ptr @.str15567, ptr %t1492) store i32 0, ptr @lp_site store i32 8522, ptr @lp_site %t1494 = call ptr @lp_str_concat(ptr %t1493, ptr @.str15568) store i32 0, ptr @lp_site call void @lp_free(ptr %t1493) %t1495 = load ptr, ptr %t1446 %t1496 = getelementptr inbounds %Cmp_Val, ptr %t1495, i32 0, i32 0 %t1497 = load ptr, ptr %t1496 store i32 8523, ptr @lp_site %t1498 = call ptr @lp_str_concat(ptr %t1494, ptr %t1497) store i32 0, ptr @lp_site call void @lp_free(ptr %t1494) %t1499 = call ptr @fn_emit_bind(ptr %t1498) store ptr %t1499, ptr %t1500 %t1501 = load ptr, ptr %t1500 store i32 8524, ptr @lp_site %t1502 = call ptr @lp_str_concat(ptr @.str15569, ptr %t1501) store i32 0, ptr @lp_site %t1503 = call ptr @fn_emit_bind(ptr %t1502) store ptr %t1503, ptr %t1504 %t1505 = load ptr, ptr %t1500 store i32 8525, ptr @lp_site %t1506 = call ptr @lp_str_concat(ptr @.str15570, ptr %t1505) store i32 0, ptr @lp_site store i32 8526, ptr @lp_site %t1507 = call ptr @lp_str_concat(ptr %t1506, ptr @.str15571) store i32 0, ptr @lp_site call void @lp_free(ptr %t1506) %t1508 = call ptr @fn_emit_bind(ptr %t1507) store ptr %t1508, ptr %t1509 %t1510 = load ptr, ptr %t1509 store i32 8527, ptr @lp_site %t1511 = call ptr @lp_str_concat(ptr @.str15572, ptr %t1510) store i32 0, ptr @lp_site store i32 8528, ptr @lp_site %t1512 = call ptr @lp_str_concat(ptr %t1511, ptr @.str15573) store i32 0, ptr @lp_site call void @lp_free(ptr %t1511) %t1513 = load ptr, ptr %t1504 store i32 8529, ptr @lp_site %t1514 = call ptr @lp_str_concat(ptr %t1512, ptr %t1513) store i32 0, ptr @lp_site call void @lp_free(ptr %t1512) store i32 8530, ptr @lp_site %t1515 = call ptr @lp_str_concat(ptr %t1514, ptr @.str15574) store i32 0, ptr @lp_site call void @lp_free(ptr %t1514) %t1516 = load ptr, ptr %t1500 store i32 8531, ptr @lp_site %t1517 = call ptr @lp_str_concat(ptr %t1515, ptr %t1516) store i32 0, ptr @lp_site call void @lp_free(ptr %t1515) %t1518 = call ptr @fn_emit_bind(ptr %t1517) store ptr %t1518, ptr %t1519 %t1520 = load ptr, ptr %t1519 store i32 8532, ptr @lp_site %t1521 = call ptr @lp_str_concat(ptr @.str15575, ptr %t1520) store i32 0, ptr @lp_site store i32 8533, ptr @lp_site %t1522 = call ptr @lp_str_concat(ptr %t1521, ptr @.str15576) store i32 0, ptr @lp_site call void @lp_free(ptr %t1521) %t1523 = load ptr, ptr %t1459 %t1524 = getelementptr inbounds %Cmp_Val, ptr %t1523, i32 0, i32 0 %t1525 = load ptr, ptr %t1524 store i32 8534, ptr @lp_site %t1526 = call ptr @lp_str_concat(ptr %t1522, ptr %t1525) store i32 0, ptr @lp_site call void @lp_free(ptr %t1522) %t1527 = call ptr @fn_emit_bind(ptr %t1526) store ptr %t1527, ptr %t1528 %t1529 = load ptr, ptr %t0 %t1530 = call ptr @fn_expect_where(ptr %t1529) store i32 8535, ptr @lp_site %t1531 = call ptr @lp_str_concat(ptr %t1530, ptr @.str15577) store i32 0, ptr @lp_site %t1532 = call ptr @fn_emit_str_const(ptr %t1531) store ptr %t1532, ptr %t1533 %t1534 = load ptr, ptr %t1528 %t1535 = load ptr, ptr %t1533 %t1536 = load ptr, ptr %t1433 %t1537 = getelementptr inbounds %Cmp_Val, ptr %t1536, i32 0, i32 0 %t1538 = load ptr, ptr %t1537 %t1539 = load ptr, ptr %t1446 %t1540 = getelementptr inbounds %Cmp_Val, ptr %t1539, i32 0, i32 0 %t1541 = load ptr, ptr %t1540 call void @fn_emit_expect_fail(ptr %t1534, ptr %t1535, ptr %t1538, ptr %t1541) %t1542 = call ptr @fn_val(ptr @.str15578, ptr @.str15579) store ptr %t1542, ptr %retval br label %ret ifend350: %t1543 = load ptr, ptr %t48 %t1544 = call i32 @lp_str_eq(ptr %t1543, ptr @.str15580) %t1545 = icmp ne i32 %t1544, 0 br i1 %t1545, label %then364, label %ifend366 then364: store i32 1, ptr @g_g_uses_panic %t1546 = load ptr, ptr %t0 %t1547 = getelementptr inbounds %Cmp_Node, ptr %t1546, i32 0, i32 7 %t1548 = load ptr, ptr %t1547 %t1549 = getelementptr inbounds %LSlice, ptr %t1548, i32 0, i32 0 %t1550 = load ptr, ptr %t1549 %t1551 = getelementptr inbounds %LSlice, ptr %t1548, i32 0, i32 1 %t1552 = load i32, ptr %t1551 %t1553 = icmp ult i32 0, %t1552 br i1 %t1553, label %ixok367, label %ixbad368 ixbad368: store i32 8536, ptr @lp_site %t1554 = call ptr @lp_win_stdio(i32 2) store i32 0, ptr @lp_site call i32 (ptr, ptr, ...) @fprintf(ptr %t1554, ptr @.fmt_bounds, ptr @.str15581, i32 0, i32 %t1552) call void @exit(i32 1) unreachable ixok367: %t1555 = getelementptr inbounds ptr, ptr %t1550, i32 0 %t1556 = load ptr, ptr %t1555 %t1557 = call ptr @fn_emit_expr(ptr %t1556) store ptr %t1557, ptr %t1558 %t1559 = load ptr, ptr @g_g_src_name store i32 8537, ptr @lp_site %t1560 = call ptr @lp_str_concat(ptr %t1559, ptr @.str15582) store i32 0, ptr @lp_site %t1561 = load ptr, ptr %t0 %t1562 = getelementptr inbounds %Cmp_Node, ptr %t1561, i32 0, i32 8 %t1563 = load i32, ptr %t1562 %t1564 = call ptr @fn_itoa(i32 %t1563) store i32 8538, ptr @lp_site %t1565 = call ptr @lp_str_concat(ptr %t1560, ptr %t1564) store i32 0, ptr @lp_site call void @lp_free(ptr %t1560) store i32 8539, ptr @lp_site %t1566 = call ptr @lp_str_concat(ptr %t1565, ptr @.str15583) store i32 0, ptr @lp_site call void @lp_free(ptr %t1565) %t1567 = call ptr @fn_emit_str_const(ptr %t1566) store ptr %t1567, ptr %t1568 %t1569 = call ptr @fn_stdstream_rhs(i32 2) %t1570 = call ptr @fn_emit_bind(ptr %t1569) store ptr %t1570, ptr %t1571 %t1572 = load ptr, ptr %t1571 store i32 8540, ptr @lp_site %t1573 = call ptr @lp_str_concat(ptr @.str15584, ptr %t1572) store i32 0, ptr @lp_site store i32 8541, ptr @lp_site %t1574 = call ptr @lp_str_concat(ptr %t1573, ptr @.str15585) store i32 0, ptr @lp_site call void @lp_free(ptr %t1573) %t1575 = load ptr, ptr %t1568 store i32 8542, ptr @lp_site %t1576 = call ptr @lp_str_concat(ptr %t1574, ptr %t1575) store i32 0, ptr @lp_site call void @lp_free(ptr %t1574) store i32 8543, ptr @lp_site %t1577 = call ptr @lp_str_concat(ptr %t1576, ptr @.str15586) store i32 0, ptr @lp_site call void @lp_free(ptr %t1576) %t1578 = load ptr, ptr %t1558 %t1579 = getelementptr inbounds %Cmp_Val, ptr %t1578, i32 0, i32 0 %t1580 = load ptr, ptr %t1579 store i32 8544, ptr @lp_site %t1581 = call ptr @lp_str_concat(ptr %t1577, ptr %t1580) store i32 0, ptr @lp_site call void @lp_free(ptr %t1577) store i32 8545, ptr @lp_site %t1582 = call ptr @lp_str_concat(ptr %t1581, ptr @.str15587) store i32 0, ptr @lp_site call void @lp_free(ptr %t1581) call void @fn_emit(ptr %t1582) call void @fn_emit(ptr @.str15588) store i32 1, ptr @g_g_term %t1583 = call ptr @fn_val(ptr @.str15589, ptr @.str15590) store ptr %t1583, ptr %retval br label %ret ifend366: %t1584 = load ptr, ptr %t48 %t1585 = call i32 @lp_str_eq(ptr %t1584, ptr @.str15591) %t1586 = icmp ne i32 %t1585, 0 br i1 %t1586, label %then369, label %ifend371 then369: store i32 1, ptr @g_g_uses_panic %t1587 = load ptr, ptr %t0 %t1588 = getelementptr inbounds %Cmp_Node, ptr %t1587, i32 0, i32 7 %t1589 = load ptr, ptr %t1588 %t1590 = getelementptr inbounds %LSlice, ptr %t1589, i32 0, i32 0 %t1591 = load ptr, ptr %t1590 %t1592 = getelementptr inbounds %LSlice, ptr %t1589, i32 0, i32 1 %t1593 = load i32, ptr %t1592 %t1594 = icmp ult i32 0, %t1593 br i1 %t1594, label %ixok372, label %ixbad373 ixbad373: store i32 8546, ptr @lp_site %t1595 = call ptr @lp_win_stdio(i32 2) store i32 0, ptr @lp_site call i32 (ptr, ptr, ...) @fprintf(ptr %t1595, ptr @.fmt_bounds, ptr @.str15592, i32 0, i32 %t1593) call void @exit(i32 1) unreachable ixok372: %t1596 = getelementptr inbounds ptr, ptr %t1591, i32 0 %t1597 = load ptr, ptr %t1596 %t1598 = call ptr @fn_emit_expr(ptr %t1597) store ptr %t1598, ptr %t1599 %t1600 = load ptr, ptr %t1599 %t1601 = getelementptr inbounds %Cmp_Val, ptr %t1600, i32 0, i32 0 %t1602 = load ptr, ptr %t1601 store i32 8547, ptr @lp_site %t1603 = call ptr @lp_str_concat(ptr @.str15593, ptr %t1602) store i32 0, ptr @lp_site store i32 8548, ptr @lp_site %t1604 = call ptr @lp_str_concat(ptr %t1603, ptr @.str15594) store i32 0, ptr @lp_site call void @lp_free(ptr %t1603) %t1605 = call ptr @fn_emit_bind(ptr %t1604) store ptr %t1605, ptr %t1606 %t1607 = call ptr @fn_lbl(ptr @.str15595) store ptr %t1607, ptr %t1608 %t1609 = call ptr @fn_lbl(ptr @.str15596) store ptr %t1609, ptr %t1610 %t1611 = load ptr, ptr %t1606 store i32 8549, ptr @lp_site %t1612 = call ptr @lp_str_concat(ptr @.str15597, ptr %t1611) store i32 0, ptr @lp_site store i32 8550, ptr @lp_site %t1613 = call ptr @lp_str_concat(ptr %t1612, ptr @.str15598) store i32 0, ptr @lp_site call void @lp_free(ptr %t1612) %t1614 = load ptr, ptr %t1608 store i32 8551, ptr @lp_site %t1615 = call ptr @lp_str_concat(ptr %t1613, ptr %t1614) store i32 0, ptr @lp_site call void @lp_free(ptr %t1613) store i32 8552, ptr @lp_site %t1616 = call ptr @lp_str_concat(ptr %t1615, ptr @.str15599) store i32 0, ptr @lp_site call void @lp_free(ptr %t1615) %t1617 = load ptr, ptr %t1610 store i32 8553, ptr @lp_site %t1618 = call ptr @lp_str_concat(ptr %t1616, ptr %t1617) store i32 0, ptr @lp_site call void @lp_free(ptr %t1616) store i32 8554, ptr @lp_site %t1619 = call ptr @lp_str_concat(ptr %t1618, ptr @.str15600) store i32 0, ptr @lp_site call void @lp_free(ptr %t1618) call void @fn_emit(ptr %t1619) %t1620 = load ptr, ptr %t1610 store i32 8555, ptr @lp_site %t1621 = call ptr @lp_str_concat(ptr %t1620, ptr @.str15601) store i32 0, ptr @lp_site call void @fn_emit(ptr %t1621) %t1622 = load ptr, ptr %t0 %t1623 = getelementptr inbounds %Cmp_Node, ptr %t1622, i32 0, i32 7 %t1624 = load ptr, ptr %t1623 %t1625 = getelementptr inbounds %LSlice, ptr %t1624, i32 0, i32 0 %t1626 = load ptr, ptr %t1625 %t1627 = getelementptr inbounds %LSlice, ptr %t1624, i32 0, i32 1 %t1628 = load i32, ptr %t1627 %t1629 = icmp ult i32 1, %t1628 br i1 %t1629, label %ixok374, label %ixbad375 ixbad375: store i32 8556, ptr @lp_site %t1630 = call ptr @lp_win_stdio(i32 2) store i32 0, ptr @lp_site call i32 (ptr, ptr, ...) @fprintf(ptr %t1630, ptr @.fmt_bounds, ptr @.str15602, i32 1, i32 %t1628) call void @exit(i32 1) unreachable ixok374: %t1631 = getelementptr inbounds ptr, ptr %t1626, i32 1 %t1632 = load ptr, ptr %t1631 %t1633 = call ptr @fn_emit_expr(ptr %t1632) store ptr %t1633, ptr %t1634 %t1635 = load ptr, ptr @g_g_src_name store i32 8557, ptr @lp_site %t1636 = call ptr @lp_str_concat(ptr %t1635, ptr @.str15603) store i32 0, ptr @lp_site %t1637 = load ptr, ptr %t0 %t1638 = getelementptr inbounds %Cmp_Node, ptr %t1637, i32 0, i32 8 %t1639 = load i32, ptr %t1638 %t1640 = call ptr @fn_itoa(i32 %t1639) store i32 8558, ptr @lp_site %t1641 = call ptr @lp_str_concat(ptr %t1636, ptr %t1640) store i32 0, ptr @lp_site call void @lp_free(ptr %t1636) store i32 8559, ptr @lp_site %t1642 = call ptr @lp_str_concat(ptr %t1641, ptr @.str15604) store i32 0, ptr @lp_site call void @lp_free(ptr %t1641) %t1643 = call ptr @fn_emit_str_const(ptr %t1642) store ptr %t1643, ptr %t1644 %t1645 = call ptr @fn_stdstream_rhs(i32 2) %t1646 = call ptr @fn_emit_bind(ptr %t1645) store ptr %t1646, ptr %t1647 %t1648 = load ptr, ptr %t1647 store i32 8560, ptr @lp_site %t1649 = call ptr @lp_str_concat(ptr @.str15605, ptr %t1648) store i32 0, ptr @lp_site store i32 8561, ptr @lp_site %t1650 = call ptr @lp_str_concat(ptr %t1649, ptr @.str15606) store i32 0, ptr @lp_site call void @lp_free(ptr %t1649) %t1651 = load ptr, ptr %t1644 store i32 8562, ptr @lp_site %t1652 = call ptr @lp_str_concat(ptr %t1650, ptr %t1651) store i32 0, ptr @lp_site call void @lp_free(ptr %t1650) store i32 8563, ptr @lp_site %t1653 = call ptr @lp_str_concat(ptr %t1652, ptr @.str15607) store i32 0, ptr @lp_site call void @lp_free(ptr %t1652) %t1654 = load ptr, ptr %t1634 %t1655 = getelementptr inbounds %Cmp_Val, ptr %t1654, i32 0, i32 0 %t1656 = load ptr, ptr %t1655 store i32 8564, ptr @lp_site %t1657 = call ptr @lp_str_concat(ptr %t1653, ptr %t1656) store i32 0, ptr @lp_site call void @lp_free(ptr %t1653) store i32 8565, ptr @lp_site %t1658 = call ptr @lp_str_concat(ptr %t1657, ptr @.str15608) store i32 0, ptr @lp_site call void @lp_free(ptr %t1657) call void @fn_emit(ptr %t1658) call void @fn_emit(ptr @.str15609) %t1659 = load ptr, ptr %t1608 store i32 8566, ptr @lp_site %t1660 = call ptr @lp_str_concat(ptr %t1659, ptr @.str15610) store i32 0, ptr @lp_site call void @fn_emit(ptr %t1660) %t1661 = call ptr @fn_val(ptr @.str15611, ptr @.str15612) store ptr %t1661, ptr %retval br label %ret ifend371: %t1663 = load ptr, ptr %t48 %t1664 = call i32 @lp_str_eq(ptr %t1663, ptr @.str15613) %t1665 = icmp ne i32 %t1664, 0 %t1666 = zext i1 %t1665 to i32 store i32 %t1666, ptr %t1662 br i1 %t1665, label %sc376, label %scend377 sc376: %t1667 = call ptr @fn_find_fn(ptr @.str15614) %t1668 = icmp eq ptr %t1667, null %t1669 = zext i1 %t1668 to i32 %t1670 = icmp ne i32 %t1669, 0 %t1671 = zext i1 %t1670 to i32 store i32 %t1671, ptr %t1662 br label %scend377 scend377: %t1672 = load i32, ptr %t1662 %t1673 = icmp ne i32 %t1672, 0 br i1 %t1673, label %then378, label %ifend380 then378: store i32 1, ptr @g_g_uses_result %t1674 = load ptr, ptr %t0 %t1675 = getelementptr inbounds %Cmp_Node, ptr %t1674, i32 0, i32 7 %t1676 = load ptr, ptr %t1675 %t1677 = getelementptr inbounds %LSlice, ptr %t1676, i32 0, i32 0 %t1678 = load ptr, ptr %t1677 %t1679 = getelementptr inbounds %LSlice, ptr %t1676, i32 0, i32 1 %t1680 = load i32, ptr %t1679 %t1681 = icmp ult i32 0, %t1680 br i1 %t1681, label %ixok381, label %ixbad382 ixbad382: store i32 8567, ptr @lp_site %t1682 = call ptr @lp_win_stdio(i32 2) store i32 0, ptr @lp_site call i32 (ptr, ptr, ...) @fprintf(ptr %t1682, ptr @.fmt_bounds, ptr @.str15615, i32 0, i32 %t1680) call void @exit(i32 1) unreachable ixok381: %t1683 = getelementptr inbounds ptr, ptr %t1678, i32 0 %t1684 = load ptr, ptr %t1683 %t1685 = call ptr @fn_emit_expr(ptr %t1684) store ptr %t1685, ptr %t1686 %t1687 = call ptr @fn_emit_bind(ptr @.str15616) store ptr %t1687, ptr %t1688 %t1689 = load ptr, ptr %t1688 store i32 8568, ptr @lp_site %t1690 = call ptr @lp_str_concat(ptr @.str15617, ptr %t1689) store i32 0, ptr @lp_site store i32 8569, ptr @lp_site %t1691 = call ptr @lp_str_concat(ptr %t1690, ptr @.str15618) store i32 0, ptr @lp_site call void @lp_free(ptr %t1690) %t1692 = call ptr @fn_emit_bind(ptr %t1691) store ptr %t1692, ptr %t1693 %t1694 = load ptr, ptr %t1693 store i32 8570, ptr @lp_site %t1695 = call ptr @lp_str_concat(ptr @.str15619, ptr %t1694) store i32 0, ptr @lp_site store i32 8571, ptr @lp_site %t1696 = call ptr @lp_str_concat(ptr %t1695, ptr @.str15620) store i32 0, ptr @lp_site call void @lp_free(ptr %t1695) call void @fn_emit(ptr %t1696) %t1697 = load ptr, ptr %t1688 store i32 8572, ptr @lp_site %t1698 = call ptr @lp_str_concat(ptr @.str15621, ptr %t1697) store i32 0, ptr @lp_site store i32 8573, ptr @lp_site %t1699 = call ptr @lp_str_concat(ptr %t1698, ptr @.str15622) store i32 0, ptr @lp_site call void @lp_free(ptr %t1698) %t1700 = call ptr @fn_emit_bind(ptr %t1699) store ptr %t1700, ptr %t1701 %t1702 = load ptr, ptr %t1686 %t1703 = call ptr @fn_coerce_code(ptr %t1702, ptr @.str15624) store i32 8574, ptr @lp_site %t1704 = call ptr @lp_str_concat(ptr @.str15623, ptr %t1703) store i32 0, ptr @lp_site store i32 8575, ptr @lp_site %t1705 = call ptr @lp_str_concat(ptr %t1704, ptr @.str15625) store i32 0, ptr @lp_site call void @lp_free(ptr %t1704) %t1706 = load ptr, ptr %t1701 store i32 8576, ptr @lp_site %t1707 = call ptr @lp_str_concat(ptr %t1705, ptr %t1706) store i32 0, ptr @lp_site call void @lp_free(ptr %t1705) store i32 8577, ptr @lp_site %t1708 = call ptr @lp_str_concat(ptr %t1707, ptr @.str15626) store i32 0, ptr @lp_site call void @lp_free(ptr %t1707) call void @fn_emit(ptr %t1708) %t1709 = load ptr, ptr %t1688 store i32 8578, ptr @lp_site %t1710 = call ptr @lp_str_concat(ptr @.str15627, ptr %t1709) store i32 0, ptr @lp_site store i32 8579, ptr @lp_site %t1711 = call ptr @lp_str_concat(ptr %t1710, ptr @.str15628) store i32 0, ptr @lp_site call void @lp_free(ptr %t1710) %t1712 = call ptr @fn_emit_bind(ptr %t1711) store ptr %t1712, ptr %t1713 %t1714 = load ptr, ptr %t1713 store i32 8580, ptr @lp_site %t1715 = call ptr @lp_str_concat(ptr @.str15629, ptr %t1714) store i32 0, ptr @lp_site store i32 8581, ptr @lp_site %t1716 = call ptr @lp_str_concat(ptr %t1715, ptr @.str15630) store i32 0, ptr @lp_site call void @lp_free(ptr %t1715) call void @fn_emit(ptr %t1716) %t1717 = load ptr, ptr %t1688 %t1718 = call ptr @fn_val(ptr %t1717, ptr @.str15631) store ptr %t1718, ptr %retval br label %ret ifend380: %t1720 = load ptr, ptr %t48 %t1721 = call i32 @lp_str_eq(ptr %t1720, ptr @.str15632) %t1722 = icmp ne i32 %t1721, 0 %t1723 = zext i1 %t1722 to i32 store i32 %t1723, ptr %t1719 br i1 %t1722, label %sc383, label %scend384 sc383: %t1724 = call ptr @fn_find_fn(ptr @.str15633) %t1725 = icmp eq ptr %t1724, null %t1726 = zext i1 %t1725 to i32 %t1727 = icmp ne i32 %t1726, 0 %t1728 = zext i1 %t1727 to i32 store i32 %t1728, ptr %t1719 br label %scend384 scend384: %t1729 = load i32, ptr %t1719 %t1730 = icmp ne i32 %t1729, 0 br i1 %t1730, label %then385, label %ifend387 then385: store i32 1, ptr @g_g_uses_result %t1731 = load ptr, ptr %t0 %t1732 = getelementptr inbounds %Cmp_Node, ptr %t1731, i32 0, i32 7 %t1733 = load ptr, ptr %t1732 %t1734 = getelementptr inbounds %LSlice, ptr %t1733, i32 0, i32 0 %t1735 = load ptr, ptr %t1734 %t1736 = getelementptr inbounds %LSlice, ptr %t1733, i32 0, i32 1 %t1737 = load i32, ptr %t1736 %t1738 = icmp ult i32 0, %t1737 br i1 %t1738, label %ixok388, label %ixbad389 ixbad389: store i32 8582, ptr @lp_site %t1739 = call ptr @lp_win_stdio(i32 2) store i32 0, ptr @lp_site call i32 (ptr, ptr, ...) @fprintf(ptr %t1739, ptr @.fmt_bounds, ptr @.str15634, i32 0, i32 %t1737) call void @exit(i32 1) unreachable ixok388: %t1740 = getelementptr inbounds ptr, ptr %t1735, i32 0 %t1741 = load ptr, ptr %t1740 %t1742 = call ptr @fn_emit_expr(ptr %t1741) store ptr %t1742, ptr %t1743 %t1744 = call ptr @fn_emit_bind(ptr @.str15635) store ptr %t1744, ptr %t1745 %t1746 = load ptr, ptr %t1745 store i32 8583, ptr @lp_site %t1747 = call ptr @lp_str_concat(ptr @.str15636, ptr %t1746) store i32 0, ptr @lp_site store i32 8584, ptr @lp_site %t1748 = call ptr @lp_str_concat(ptr %t1747, ptr @.str15637) store i32 0, ptr @lp_site call void @lp_free(ptr %t1747) %t1749 = call ptr @fn_emit_bind(ptr %t1748) store ptr %t1749, ptr %t1750 %t1751 = load ptr, ptr %t1750 store i32 8585, ptr @lp_site %t1752 = call ptr @lp_str_concat(ptr @.str15638, ptr %t1751) store i32 0, ptr @lp_site store i32 8586, ptr @lp_site %t1753 = call ptr @lp_str_concat(ptr %t1752, ptr @.str15639) store i32 0, ptr @lp_site call void @lp_free(ptr %t1752) call void @fn_emit(ptr %t1753) %t1754 = load ptr, ptr %t1745 store i32 8587, ptr @lp_site %t1755 = call ptr @lp_str_concat(ptr @.str15640, ptr %t1754) store i32 0, ptr @lp_site store i32 8588, ptr @lp_site %t1756 = call ptr @lp_str_concat(ptr %t1755, ptr @.str15641) store i32 0, ptr @lp_site call void @lp_free(ptr %t1755) %t1757 = call ptr @fn_emit_bind(ptr %t1756) store ptr %t1757, ptr %t1758 %t1759 = load ptr, ptr %t1758 store i32 8589, ptr @lp_site %t1760 = call ptr @lp_str_concat(ptr @.str15642, ptr %t1759) store i32 0, ptr @lp_site store i32 8590, ptr @lp_site %t1761 = call ptr @lp_str_concat(ptr %t1760, ptr @.str15643) store i32 0, ptr @lp_site call void @lp_free(ptr %t1760) call void @fn_emit(ptr %t1761) %t1762 = load ptr, ptr %t1745 store i32 8591, ptr @lp_site %t1763 = call ptr @lp_str_concat(ptr @.str15644, ptr %t1762) store i32 0, ptr @lp_site store i32 8592, ptr @lp_site %t1764 = call ptr @lp_str_concat(ptr %t1763, ptr @.str15645) store i32 0, ptr @lp_site call void @lp_free(ptr %t1763) %t1765 = call ptr @fn_emit_bind(ptr %t1764) store ptr %t1765, ptr %t1766 %t1767 = load ptr, ptr %t1743 %t1768 = getelementptr inbounds %Cmp_Val, ptr %t1767, i32 0, i32 0 %t1769 = load ptr, ptr %t1768 store i32 8593, ptr @lp_site %t1770 = call ptr @lp_str_concat(ptr @.str15646, ptr %t1769) store i32 0, ptr @lp_site store i32 8594, ptr @lp_site %t1771 = call ptr @lp_str_concat(ptr %t1770, ptr @.str15647) store i32 0, ptr @lp_site call void @lp_free(ptr %t1770) %t1772 = load ptr, ptr %t1766 store i32 8595, ptr @lp_site %t1773 = call ptr @lp_str_concat(ptr %t1771, ptr %t1772) store i32 0, ptr @lp_site call void @lp_free(ptr %t1771) store i32 8596, ptr @lp_site %t1774 = call ptr @lp_str_concat(ptr %t1773, ptr @.str15648) store i32 0, ptr @lp_site call void @lp_free(ptr %t1773) call void @fn_emit(ptr %t1774) %t1775 = load ptr, ptr %t1745 %t1776 = call ptr @fn_val(ptr %t1775, ptr @.str15649) store ptr %t1776, ptr %retval br label %ret ifend387: %t1778 = load ptr, ptr %t48 %t1779 = call i32 @lp_str_eq(ptr %t1778, ptr @.str15650) %t1780 = icmp ne i32 %t1779, 0 %t1781 = zext i1 %t1780 to i32 store i32 %t1781, ptr %t1777 br i1 %t1780, label %sc390, label %scend391 sc390: %t1782 = call ptr @fn_find_fn(ptr @.str15651) %t1783 = icmp eq ptr %t1782, null %t1784 = zext i1 %t1783 to i32 %t1785 = icmp ne i32 %t1784, 0 %t1786 = zext i1 %t1785 to i32 store i32 %t1786, ptr %t1777 br label %scend391 scend391: %t1787 = load i32, ptr %t1777 %t1788 = icmp ne i32 %t1787, 0 br i1 %t1788, label %then392, label %ifend394 then392: %t1789 = load ptr, ptr %t0 %t1790 = getelementptr inbounds %Cmp_Node, ptr %t1789, i32 0, i32 7 %t1791 = load ptr, ptr %t1790 %t1792 = getelementptr inbounds %LSlice, ptr %t1791, i32 0, i32 0 %t1793 = load ptr, ptr %t1792 %t1794 = getelementptr inbounds %LSlice, ptr %t1791, i32 0, i32 1 %t1795 = load i32, ptr %t1794 %t1796 = icmp ult i32 0, %t1795 br i1 %t1796, label %ixok395, label %ixbad396 ixbad396: store i32 8597, ptr @lp_site %t1797 = call ptr @lp_win_stdio(i32 2) store i32 0, ptr @lp_site call i32 (ptr, ptr, ...) @fprintf(ptr %t1797, ptr @.fmt_bounds, ptr @.str15652, i32 0, i32 %t1795) call void @exit(i32 1) unreachable ixok395: %t1798 = getelementptr inbounds ptr, ptr %t1793, i32 0 %t1799 = load ptr, ptr %t1798 %t1800 = call ptr @fn_emit_expr(ptr %t1799) store ptr %t1800, ptr %t1801 %t1802 = load ptr, ptr %t1801 %t1803 = getelementptr inbounds %Cmp_Val, ptr %t1802, i32 0, i32 0 %t1804 = load ptr, ptr %t1803 store i32 8598, ptr @lp_site %t1805 = call ptr @lp_str_concat(ptr @.str15653, ptr %t1804) store i32 0, ptr @lp_site store i32 8599, ptr @lp_site %t1806 = call ptr @lp_str_concat(ptr %t1805, ptr @.str15654) store i32 0, ptr @lp_site call void @lp_free(ptr %t1805) %t1807 = call ptr @fn_emit_bind(ptr %t1806) store ptr %t1807, ptr %t1808 %t1809 = load ptr, ptr %t1808 store i32 8600, ptr @lp_site %t1810 = call ptr @lp_str_concat(ptr @.str15655, ptr %t1809) store i32 0, ptr @lp_site %t1811 = call ptr @fn_emit_bind(ptr %t1810) store ptr %t1811, ptr %t1812 %t1813 = load ptr, ptr %t1812 store i32 8601, ptr @lp_site %t1814 = call ptr @lp_str_concat(ptr @.str15656, ptr %t1813) store i32 0, ptr @lp_site store i32 8602, ptr @lp_site %t1815 = call ptr @lp_str_concat(ptr %t1814, ptr @.str15657) store i32 0, ptr @lp_site call void @lp_free(ptr %t1814) %t1816 = call ptr @fn_emit_bind(ptr %t1815) store ptr %t1816, ptr %t1817 %t1818 = load ptr, ptr %t1817 store i32 8603, ptr @lp_site %t1819 = call ptr @lp_str_concat(ptr @.str15658, ptr %t1818) store i32 0, ptr @lp_site store i32 8604, ptr @lp_site %t1820 = call ptr @lp_str_concat(ptr %t1819, ptr @.str15659) store i32 0, ptr @lp_site call void @lp_free(ptr %t1819) %t1821 = call ptr @fn_emit_bind(ptr %t1820) %t1822 = call ptr @fn_val(ptr %t1821, ptr @.str15660) store ptr %t1822, ptr %retval br label %ret ifend394: %t1824 = load ptr, ptr %t48 %t1825 = call i32 @lp_str_eq(ptr %t1824, ptr @.str15661) %t1826 = icmp ne i32 %t1825, 0 %t1827 = zext i1 %t1826 to i32 store i32 %t1827, ptr %t1823 br i1 %t1826, label %sc397, label %scend398 sc397: %t1828 = call ptr @fn_find_fn(ptr @.str15662) %t1829 = icmp eq ptr %t1828, null %t1830 = zext i1 %t1829 to i32 %t1831 = icmp ne i32 %t1830, 0 %t1832 = zext i1 %t1831 to i32 store i32 %t1832, ptr %t1823 br label %scend398 scend398: %t1833 = load i32, ptr %t1823 %t1834 = icmp ne i32 %t1833, 0 br i1 %t1834, label %then399, label %ifend401 then399: %t1835 = load ptr, ptr %t0 %t1836 = getelementptr inbounds %Cmp_Node, ptr %t1835, i32 0, i32 7 %t1837 = load ptr, ptr %t1836 %t1838 = getelementptr inbounds %LSlice, ptr %t1837, i32 0, i32 0 %t1839 = load ptr, ptr %t1838 %t1840 = getelementptr inbounds %LSlice, ptr %t1837, i32 0, i32 1 %t1841 = load i32, ptr %t1840 %t1842 = icmp ult i32 0, %t1841 br i1 %t1842, label %ixok402, label %ixbad403 ixbad403: store i32 8605, ptr @lp_site %t1843 = call ptr @lp_win_stdio(i32 2) store i32 0, ptr @lp_site call i32 (ptr, ptr, ...) @fprintf(ptr %t1843, ptr @.fmt_bounds, ptr @.str15663, i32 0, i32 %t1841) call void @exit(i32 1) unreachable ixok402: %t1844 = getelementptr inbounds ptr, ptr %t1839, i32 0 %t1845 = load ptr, ptr %t1844 %t1846 = call ptr @fn_emit_expr(ptr %t1845) store ptr %t1846, ptr %t1847 %t1848 = load ptr, ptr %t1847 %t1849 = getelementptr inbounds %Cmp_Val, ptr %t1848, i32 0, i32 0 %t1850 = load ptr, ptr %t1849 store i32 8606, ptr @lp_site %t1851 = call ptr @lp_str_concat(ptr @.str15664, ptr %t1850) store i32 0, ptr @lp_site store i32 8607, ptr @lp_site %t1852 = call ptr @lp_str_concat(ptr %t1851, ptr @.str15665) store i32 0, ptr @lp_site call void @lp_free(ptr %t1851) %t1853 = call ptr @fn_emit_bind(ptr %t1852) store ptr %t1853, ptr %t1854 %t1855 = load ptr, ptr %t1854 store i32 8608, ptr @lp_site %t1856 = call ptr @lp_str_concat(ptr @.str15666, ptr %t1855) store i32 0, ptr @lp_site %t1857 = call ptr @fn_emit_bind(ptr %t1856) store ptr %t1857, ptr %t1858 %t1859 = load ptr, ptr %t1858 store i32 8609, ptr @lp_site %t1860 = call ptr @lp_str_concat(ptr @.str15667, ptr %t1859) store i32 0, ptr @lp_site store i32 8610, ptr @lp_site %t1861 = call ptr @lp_str_concat(ptr %t1860, ptr @.str15668) store i32 0, ptr @lp_site call void @lp_free(ptr %t1860) %t1862 = call ptr @fn_emit_bind(ptr %t1861) store ptr %t1862, ptr %t1863 %t1864 = load ptr, ptr %t1863 store i32 8611, ptr @lp_site %t1865 = call ptr @lp_str_concat(ptr @.str15669, ptr %t1864) store i32 0, ptr @lp_site store i32 8612, ptr @lp_site %t1866 = call ptr @lp_str_concat(ptr %t1865, ptr @.str15670) store i32 0, ptr @lp_site call void @lp_free(ptr %t1865) %t1867 = call ptr @fn_emit_bind(ptr %t1866) %t1868 = call ptr @fn_val(ptr %t1867, ptr @.str15671) store ptr %t1868, ptr %retval br label %ret ifend401: %t1870 = load ptr, ptr %t48 %t1871 = call i32 @lp_str_eq(ptr %t1870, ptr @.str15672) %t1872 = icmp ne i32 %t1871, 0 %t1873 = zext i1 %t1872 to i32 store i32 %t1873, ptr %t1869 br i1 %t1872, label %sc404, label %scend405 sc404: %t1874 = call ptr @fn_find_fn(ptr @.str15673) %t1875 = icmp eq ptr %t1874, null %t1876 = zext i1 %t1875 to i32 %t1877 = icmp ne i32 %t1876, 0 %t1878 = zext i1 %t1877 to i32 store i32 %t1878, ptr %t1869 br label %scend405 scend405: %t1879 = load i32, ptr %t1869 %t1880 = icmp ne i32 %t1879, 0 br i1 %t1880, label %then406, label %ifend408 then406: store i32 1, ptr @g_g_uses_option %t1881 = load ptr, ptr %t0 %t1882 = getelementptr inbounds %Cmp_Node, ptr %t1881, i32 0, i32 7 %t1883 = load ptr, ptr %t1882 %t1884 = getelementptr inbounds %LSlice, ptr %t1883, i32 0, i32 0 %t1885 = load ptr, ptr %t1884 %t1886 = getelementptr inbounds %LSlice, ptr %t1883, i32 0, i32 1 %t1887 = load i32, ptr %t1886 %t1888 = icmp ult i32 0, %t1887 br i1 %t1888, label %ixok409, label %ixbad410 ixbad410: store i32 8613, ptr @lp_site %t1889 = call ptr @lp_win_stdio(i32 2) store i32 0, ptr @lp_site call i32 (ptr, ptr, ...) @fprintf(ptr %t1889, ptr @.fmt_bounds, ptr @.str15674, i32 0, i32 %t1887) call void @exit(i32 1) unreachable ixok409: %t1890 = getelementptr inbounds ptr, ptr %t1885, i32 0 %t1891 = load ptr, ptr %t1890 %t1892 = call ptr @fn_emit_expr(ptr %t1891) store ptr %t1892, ptr %t1893 %t1894 = call ptr @fn_emit_bind(ptr @.str15675) store ptr %t1894, ptr %t1895 %t1896 = load ptr, ptr %t1895 store i32 8614, ptr @lp_site %t1897 = call ptr @lp_str_concat(ptr @.str15676, ptr %t1896) store i32 0, ptr @lp_site store i32 8615, ptr @lp_site %t1898 = call ptr @lp_str_concat(ptr %t1897, ptr @.str15677) store i32 0, ptr @lp_site call void @lp_free(ptr %t1897) %t1899 = call ptr @fn_emit_bind(ptr %t1898) store ptr %t1899, ptr %t1900 %t1901 = load ptr, ptr %t1900 store i32 8616, ptr @lp_site %t1902 = call ptr @lp_str_concat(ptr @.str15678, ptr %t1901) store i32 0, ptr @lp_site store i32 8617, ptr @lp_site %t1903 = call ptr @lp_str_concat(ptr %t1902, ptr @.str15679) store i32 0, ptr @lp_site call void @lp_free(ptr %t1902) call void @fn_emit(ptr %t1903) %t1904 = load ptr, ptr %t1895 store i32 8618, ptr @lp_site %t1905 = call ptr @lp_str_concat(ptr @.str15680, ptr %t1904) store i32 0, ptr @lp_site store i32 8619, ptr @lp_site %t1906 = call ptr @lp_str_concat(ptr %t1905, ptr @.str15681) store i32 0, ptr @lp_site call void @lp_free(ptr %t1905) %t1907 = call ptr @fn_emit_bind(ptr %t1906) store ptr %t1907, ptr %t1908 %t1909 = load ptr, ptr %t1893 %t1910 = call ptr @fn_coerce_code(ptr %t1909, ptr @.str15683) store i32 8620, ptr @lp_site %t1911 = call ptr @lp_str_concat(ptr @.str15682, ptr %t1910) store i32 0, ptr @lp_site store i32 8621, ptr @lp_site %t1912 = call ptr @lp_str_concat(ptr %t1911, ptr @.str15684) store i32 0, ptr @lp_site call void @lp_free(ptr %t1911) %t1913 = load ptr, ptr %t1908 store i32 8622, ptr @lp_site %t1914 = call ptr @lp_str_concat(ptr %t1912, ptr %t1913) store i32 0, ptr @lp_site call void @lp_free(ptr %t1912) store i32 8623, ptr @lp_site %t1915 = call ptr @lp_str_concat(ptr %t1914, ptr @.str15685) store i32 0, ptr @lp_site call void @lp_free(ptr %t1914) call void @fn_emit(ptr %t1915) %t1916 = load ptr, ptr %t1895 %t1917 = call ptr @fn_val(ptr %t1916, ptr @.str15686) store ptr %t1917, ptr %retval br label %ret ifend408: %t1919 = load ptr, ptr %t48 %t1920 = call i32 @lp_str_eq(ptr %t1919, ptr @.str15687) %t1921 = icmp ne i32 %t1920, 0 %t1922 = zext i1 %t1921 to i32 store i32 %t1922, ptr %t1918 br i1 %t1921, label %sc411, label %scend412 sc411: %t1923 = call ptr @fn_find_fn(ptr @.str15688) %t1924 = icmp eq ptr %t1923, null %t1925 = zext i1 %t1924 to i32 %t1926 = icmp ne i32 %t1925, 0 %t1927 = zext i1 %t1926 to i32 store i32 %t1927, ptr %t1918 br label %scend412 scend412: %t1928 = load i32, ptr %t1918 %t1929 = icmp ne i32 %t1928, 0 br i1 %t1929, label %then413, label %ifend415 then413: store i32 1, ptr @g_g_uses_option %t1930 = call ptr @fn_emit_bind(ptr @.str15689) store ptr %t1930, ptr %t1931 %t1932 = load ptr, ptr %t1931 store i32 8624, ptr @lp_site %t1933 = call ptr @lp_str_concat(ptr @.str15690, ptr %t1932) store i32 0, ptr @lp_site store i32 8625, ptr @lp_site %t1934 = call ptr @lp_str_concat(ptr %t1933, ptr @.str15691) store i32 0, ptr @lp_site call void @lp_free(ptr %t1933) %t1935 = call ptr @fn_emit_bind(ptr %t1934) store ptr %t1935, ptr %t1936 %t1937 = load ptr, ptr %t1936 store i32 8626, ptr @lp_site %t1938 = call ptr @lp_str_concat(ptr @.str15692, ptr %t1937) store i32 0, ptr @lp_site store i32 8627, ptr @lp_site %t1939 = call ptr @lp_str_concat(ptr %t1938, ptr @.str15693) store i32 0, ptr @lp_site call void @lp_free(ptr %t1938) call void @fn_emit(ptr %t1939) %t1940 = load ptr, ptr %t1931 store i32 8628, ptr @lp_site %t1941 = call ptr @lp_str_concat(ptr @.str15694, ptr %t1940) store i32 0, ptr @lp_site store i32 8629, ptr @lp_site %t1942 = call ptr @lp_str_concat(ptr %t1941, ptr @.str15695) store i32 0, ptr @lp_site call void @lp_free(ptr %t1941) %t1943 = call ptr @fn_emit_bind(ptr %t1942) store ptr %t1943, ptr %t1944 %t1945 = load ptr, ptr %t1944 store i32 8630, ptr @lp_site %t1946 = call ptr @lp_str_concat(ptr @.str15696, ptr %t1945) store i32 0, ptr @lp_site store i32 8631, ptr @lp_site %t1947 = call ptr @lp_str_concat(ptr %t1946, ptr @.str15697) store i32 0, ptr @lp_site call void @lp_free(ptr %t1946) call void @fn_emit(ptr %t1947) %t1948 = load ptr, ptr %t1931 %t1949 = call ptr @fn_val(ptr %t1948, ptr @.str15698) store ptr %t1949, ptr %retval br label %ret ifend415: %t1951 = load ptr, ptr %t48 %t1952 = call i32 @lp_str_eq(ptr %t1951, ptr @.str15699) %t1953 = icmp ne i32 %t1952, 0 %t1954 = zext i1 %t1953 to i32 store i32 %t1954, ptr %t1950 br i1 %t1953, label %sc416, label %scend417 sc416: %t1955 = call ptr @fn_find_fn(ptr @.str15700) %t1956 = icmp eq ptr %t1955, null %t1957 = zext i1 %t1956 to i32 %t1958 = icmp ne i32 %t1957, 0 %t1959 = zext i1 %t1958 to i32 store i32 %t1959, ptr %t1950 br label %scend417 scend417: %t1960 = load i32, ptr %t1950 %t1961 = icmp ne i32 %t1960, 0 br i1 %t1961, label %then418, label %ifend420 then418: %t1962 = load ptr, ptr %t0 %t1963 = getelementptr inbounds %Cmp_Node, ptr %t1962, i32 0, i32 7 %t1964 = load ptr, ptr %t1963 %t1965 = getelementptr inbounds %LSlice, ptr %t1964, i32 0, i32 0 %t1966 = load ptr, ptr %t1965 %t1967 = getelementptr inbounds %LSlice, ptr %t1964, i32 0, i32 1 %t1968 = load i32, ptr %t1967 %t1969 = icmp ult i32 0, %t1968 br i1 %t1969, label %ixok421, label %ixbad422 ixbad422: store i32 8632, ptr @lp_site %t1970 = call ptr @lp_win_stdio(i32 2) store i32 0, ptr @lp_site call i32 (ptr, ptr, ...) @fprintf(ptr %t1970, ptr @.fmt_bounds, ptr @.str15701, i32 0, i32 %t1968) call void @exit(i32 1) unreachable ixok421: %t1971 = getelementptr inbounds ptr, ptr %t1966, i32 0 %t1972 = load ptr, ptr %t1971 %t1973 = call ptr @fn_emit_expr(ptr %t1972) store ptr %t1973, ptr %t1974 %t1975 = load ptr, ptr %t1974 %t1976 = getelementptr inbounds %Cmp_Val, ptr %t1975, i32 0, i32 0 %t1977 = load ptr, ptr %t1976 store i32 8633, ptr @lp_site %t1978 = call ptr @lp_str_concat(ptr @.str15702, ptr %t1977) store i32 0, ptr @lp_site store i32 8634, ptr @lp_site %t1979 = call ptr @lp_str_concat(ptr %t1978, ptr @.str15703) store i32 0, ptr @lp_site call void @lp_free(ptr %t1978) %t1980 = call ptr @fn_emit_bind(ptr %t1979) store ptr %t1980, ptr %t1981 %t1982 = load ptr, ptr %t1981 store i32 8635, ptr @lp_site %t1983 = call ptr @lp_str_concat(ptr @.str15704, ptr %t1982) store i32 0, ptr @lp_site %t1984 = call ptr @fn_emit_bind(ptr %t1983) store ptr %t1984, ptr %t1985 %t1986 = load ptr, ptr %t1985 store i32 8636, ptr @lp_site %t1987 = call ptr @lp_str_concat(ptr @.str15705, ptr %t1986) store i32 0, ptr @lp_site store i32 8637, ptr @lp_site %t1988 = call ptr @lp_str_concat(ptr %t1987, ptr @.str15706) store i32 0, ptr @lp_site call void @lp_free(ptr %t1987) %t1989 = call ptr @fn_emit_bind(ptr %t1988) store ptr %t1989, ptr %t1990 %t1991 = load ptr, ptr %t1990 store i32 8638, ptr @lp_site %t1992 = call ptr @lp_str_concat(ptr @.str15707, ptr %t1991) store i32 0, ptr @lp_site store i32 8639, ptr @lp_site %t1993 = call ptr @lp_str_concat(ptr %t1992, ptr @.str15708) store i32 0, ptr @lp_site call void @lp_free(ptr %t1992) %t1994 = call ptr @fn_emit_bind(ptr %t1993) %t1995 = call ptr @fn_val(ptr %t1994, ptr @.str15709) store ptr %t1995, ptr %retval br label %ret ifend420: %t1997 = load ptr, ptr %t48 %t1998 = call i32 @lp_str_eq(ptr %t1997, ptr @.str15710) %t1999 = icmp ne i32 %t1998, 0 %t2000 = zext i1 %t1999 to i32 store i32 %t2000, ptr %t1996 br i1 %t1999, label %sc423, label %scend424 sc423: %t2001 = call ptr @fn_find_fn(ptr @.str15711) %t2002 = icmp eq ptr %t2001, null %t2003 = zext i1 %t2002 to i32 %t2004 = icmp ne i32 %t2003, 0 %t2005 = zext i1 %t2004 to i32 store i32 %t2005, ptr %t1996 br label %scend424 scend424: %t2006 = load i32, ptr %t1996 %t2007 = icmp ne i32 %t2006, 0 br i1 %t2007, label %then425, label %ifend427 then425: %t2008 = load ptr, ptr %t0 %t2009 = getelementptr inbounds %Cmp_Node, ptr %t2008, i32 0, i32 7 %t2010 = load ptr, ptr %t2009 %t2011 = getelementptr inbounds %LSlice, ptr %t2010, i32 0, i32 0 %t2012 = load ptr, ptr %t2011 %t2013 = getelementptr inbounds %LSlice, ptr %t2010, i32 0, i32 1 %t2014 = load i32, ptr %t2013 %t2015 = icmp ult i32 0, %t2014 br i1 %t2015, label %ixok428, label %ixbad429 ixbad429: store i32 8640, ptr @lp_site %t2016 = call ptr @lp_win_stdio(i32 2) store i32 0, ptr @lp_site call i32 (ptr, ptr, ...) @fprintf(ptr %t2016, ptr @.fmt_bounds, ptr @.str15712, i32 0, i32 %t2014) call void @exit(i32 1) unreachable ixok428: %t2017 = getelementptr inbounds ptr, ptr %t2012, i32 0 %t2018 = load ptr, ptr %t2017 %t2019 = call ptr @fn_emit_expr(ptr %t2018) store ptr %t2019, ptr %t2020 %t2021 = load ptr, ptr %t2020 %t2022 = getelementptr inbounds %Cmp_Val, ptr %t2021, i32 0, i32 0 %t2023 = load ptr, ptr %t2022 store i32 8641, ptr @lp_site %t2024 = call ptr @lp_str_concat(ptr @.str15713, ptr %t2023) store i32 0, ptr @lp_site store i32 8642, ptr @lp_site %t2025 = call ptr @lp_str_concat(ptr %t2024, ptr @.str15714) store i32 0, ptr @lp_site call void @lp_free(ptr %t2024) %t2026 = call ptr @fn_emit_bind(ptr %t2025) store ptr %t2026, ptr %t2027 %t2028 = load ptr, ptr %t2027 store i32 8643, ptr @lp_site %t2029 = call ptr @lp_str_concat(ptr @.str15715, ptr %t2028) store i32 0, ptr @lp_site %t2030 = call ptr @fn_emit_bind(ptr %t2029) store ptr %t2030, ptr %t2031 %t2032 = load ptr, ptr %t2031 store i32 8644, ptr @lp_site %t2033 = call ptr @lp_str_concat(ptr @.str15716, ptr %t2032) store i32 0, ptr @lp_site store i32 8645, ptr @lp_site %t2034 = call ptr @lp_str_concat(ptr %t2033, ptr @.str15717) store i32 0, ptr @lp_site call void @lp_free(ptr %t2033) %t2035 = call ptr @fn_emit_bind(ptr %t2034) store ptr %t2035, ptr %t2036 %t2037 = load ptr, ptr %t2036 store i32 8646, ptr @lp_site %t2038 = call ptr @lp_str_concat(ptr @.str15718, ptr %t2037) store i32 0, ptr @lp_site store i32 8647, ptr @lp_site %t2039 = call ptr @lp_str_concat(ptr %t2038, ptr @.str15719) store i32 0, ptr @lp_site call void @lp_free(ptr %t2038) %t2040 = call ptr @fn_emit_bind(ptr %t2039) %t2041 = call ptr @fn_val(ptr %t2040, ptr @.str15720) store ptr %t2041, ptr %retval br label %ret ifend427: %t2043 = load ptr, ptr %t48 %t2044 = call i32 @lp_str_eq(ptr %t2043, ptr @.str15721) %t2045 = icmp ne i32 %t2044, 0 %t2046 = zext i1 %t2045 to i32 store i32 %t2046, ptr %t2042 br i1 %t2045, label %sc430, label %scend431 sc430: %t2047 = call ptr @fn_find_fn(ptr @.str15722) %t2048 = icmp eq ptr %t2047, null %t2049 = zext i1 %t2048 to i32 %t2050 = icmp ne i32 %t2049, 0 %t2051 = zext i1 %t2050 to i32 store i32 %t2051, ptr %t2042 br label %scend431 scend431: %t2052 = load i32, ptr %t2042 %t2053 = icmp ne i32 %t2052, 0 br i1 %t2053, label %then432, label %ifend434 then432: %t2054 = load ptr, ptr %t0 %t2055 = getelementptr inbounds %Cmp_Node, ptr %t2054, i32 0, i32 7 %t2056 = load ptr, ptr %t2055 %t2057 = getelementptr inbounds %LSlice, ptr %t2056, i32 0, i32 0 %t2058 = load ptr, ptr %t2057 %t2059 = getelementptr inbounds %LSlice, ptr %t2056, i32 0, i32 1 %t2060 = load i32, ptr %t2059 %t2061 = icmp ult i32 0, %t2060 br i1 %t2061, label %ixok435, label %ixbad436 ixbad436: store i32 8648, ptr @lp_site %t2062 = call ptr @lp_win_stdio(i32 2) store i32 0, ptr @lp_site call i32 (ptr, ptr, ...) @fprintf(ptr %t2062, ptr @.fmt_bounds, ptr @.str15723, i32 0, i32 %t2060) call void @exit(i32 1) unreachable ixok435: %t2063 = getelementptr inbounds ptr, ptr %t2058, i32 0 %t2064 = load ptr, ptr %t2063 %t2065 = call ptr @fn_emit_expr(ptr %t2064) store ptr %t2065, ptr %t2066 %t2067 = load ptr, ptr %t0 %t2068 = getelementptr inbounds %Cmp_Node, ptr %t2067, i32 0, i32 7 %t2069 = load ptr, ptr %t2068 %t2070 = getelementptr inbounds %LSlice, ptr %t2069, i32 0, i32 0 %t2071 = load ptr, ptr %t2070 %t2072 = getelementptr inbounds %LSlice, ptr %t2069, i32 0, i32 1 %t2073 = load i32, ptr %t2072 %t2074 = icmp ult i32 1, %t2073 br i1 %t2074, label %ixok437, label %ixbad438 ixbad438: store i32 8649, ptr @lp_site %t2075 = call ptr @lp_win_stdio(i32 2) store i32 0, ptr @lp_site call i32 (ptr, ptr, ...) @fprintf(ptr %t2075, ptr @.fmt_bounds, ptr @.str15724, i32 1, i32 %t2073) call void @exit(i32 1) unreachable ixok437: %t2076 = getelementptr inbounds ptr, ptr %t2071, i32 1 %t2077 = load ptr, ptr %t2076 %t2078 = call ptr @fn_emit_expr(ptr %t2077) store ptr %t2078, ptr %t2079 %t2080 = load ptr, ptr %t2066 %t2081 = getelementptr inbounds %Cmp_Val, ptr %t2080, i32 0, i32 0 %t2082 = load ptr, ptr %t2081 store i32 8650, ptr @lp_site %t2083 = call ptr @lp_str_concat(ptr @.str15725, ptr %t2082) store i32 0, ptr @lp_site store i32 8651, ptr @lp_site %t2084 = call ptr @lp_str_concat(ptr %t2083, ptr @.str15726) store i32 0, ptr @lp_site call void @lp_free(ptr %t2083) %t2085 = call ptr @fn_emit_bind(ptr %t2084) store ptr %t2085, ptr %t2086 %t2087 = load ptr, ptr %t2086 store i32 8652, ptr @lp_site %t2088 = call ptr @lp_str_concat(ptr @.str15727, ptr %t2087) store i32 0, ptr @lp_site %t2089 = call ptr @fn_emit_bind(ptr %t2088) store ptr %t2089, ptr %t2090 %t2091 = load ptr, ptr %t2066 %t2092 = getelementptr inbounds %Cmp_Val, ptr %t2091, i32 0, i32 0 %t2093 = load ptr, ptr %t2092 store i32 8653, ptr @lp_site %t2094 = call ptr @lp_str_concat(ptr @.str15728, ptr %t2093) store i32 0, ptr @lp_site store i32 8654, ptr @lp_site %t2095 = call ptr @lp_str_concat(ptr %t2094, ptr @.str15729) store i32 0, ptr @lp_site call void @lp_free(ptr %t2094) %t2096 = call ptr @fn_emit_bind(ptr %t2095) store ptr %t2096, ptr %t2097 %t2098 = load ptr, ptr %t2097 store i32 8655, ptr @lp_site %t2099 = call ptr @lp_str_concat(ptr @.str15730, ptr %t2098) store i32 0, ptr @lp_site %t2100 = call ptr @fn_emit_bind(ptr %t2099) store ptr %t2100, ptr %t2101 %t2102 = load ptr, ptr %t2090 store i32 8656, ptr @lp_site %t2103 = call ptr @lp_str_concat(ptr @.str15731, ptr %t2102) store i32 0, ptr @lp_site store i32 8657, ptr @lp_site %t2104 = call ptr @lp_str_concat(ptr %t2103, ptr @.str15732) store i32 0, ptr @lp_site call void @lp_free(ptr %t2103) %t2105 = call ptr @fn_emit_bind(ptr %t2104) store ptr %t2105, ptr %t2106 %t2107 = load ptr, ptr %t2106 store i32 8658, ptr @lp_site %t2108 = call ptr @lp_str_concat(ptr @.str15733, ptr %t2107) store i32 0, ptr @lp_site store i32 8659, ptr @lp_site %t2109 = call ptr @lp_str_concat(ptr %t2108, ptr @.str15734) store i32 0, ptr @lp_site call void @lp_free(ptr %t2108) %t2110 = load ptr, ptr %t2101 store i32 8660, ptr @lp_site %t2111 = call ptr @lp_str_concat(ptr %t2109, ptr %t2110) store i32 0, ptr @lp_site call void @lp_free(ptr %t2109) store i32 8661, ptr @lp_site %t2112 = call ptr @lp_str_concat(ptr %t2111, ptr @.str15735) store i32 0, ptr @lp_site call void @lp_free(ptr %t2111) %t2113 = load ptr, ptr %t2079 %t2114 = call ptr @fn_coerce_code(ptr %t2113, ptr @.str15736) store i32 8662, ptr @lp_site %t2115 = call ptr @lp_str_concat(ptr %t2112, ptr %t2114) store i32 0, ptr @lp_site call void @lp_free(ptr %t2112) %t2116 = call ptr @fn_emit_bind(ptr %t2115) %t2117 = call ptr @fn_val(ptr %t2116, ptr @.str15737) store ptr %t2117, ptr %retval br label %ret ifend434: %t2118 = load ptr, ptr %t48 %t2119 = call i32 @lp_str_eq(ptr %t2118, ptr @.str15738) %t2120 = icmp ne i32 %t2119, 0 br i1 %t2120, label %then439, label %ifend441 then439: %t2121 = load ptr, ptr %t0 %t2122 = getelementptr inbounds %Cmp_Node, ptr %t2121, i32 0, i32 7 %t2123 = load ptr, ptr %t2122 %t2124 = getelementptr inbounds %LSlice, ptr %t2123, i32 0, i32 0 %t2125 = load ptr, ptr %t2124 %t2126 = getelementptr inbounds %LSlice, ptr %t2123, i32 0, i32 1 %t2127 = load i32, ptr %t2126 %t2128 = icmp ult i32 0, %t2127 br i1 %t2128, label %ixok442, label %ixbad443 ixbad443: store i32 8663, ptr @lp_site %t2129 = call ptr @lp_win_stdio(i32 2) store i32 0, ptr @lp_site call i32 (ptr, ptr, ...) @fprintf(ptr %t2129, ptr @.fmt_bounds, ptr @.str15739, i32 0, i32 %t2127) call void @exit(i32 1) unreachable ixok442: %t2130 = getelementptr inbounds ptr, ptr %t2125, i32 0 %t2131 = load ptr, ptr %t2130 %t2132 = call ptr @fn_emit_expr(ptr %t2131) store ptr %t2132, ptr %t2133 %t2134 = load ptr, ptr %t2133 %t2135 = getelementptr inbounds %Cmp_Val, ptr %t2134, i32 0, i32 0 %t2136 = load ptr, ptr %t2135 store i32 8664, ptr @lp_site %t2137 = call ptr @lp_str_concat(ptr @.str15740, ptr %t2136) store i32 0, ptr @lp_site store i32 8665, ptr @lp_site %t2138 = call ptr @lp_str_concat(ptr %t2137, ptr @.str15741) store i32 0, ptr @lp_site call void @lp_free(ptr %t2137) %t2139 = call ptr @fn_emit_bind(ptr %t2138) %t2140 = call ptr @fn_val(ptr %t2139, ptr @.str15742) store ptr %t2140, ptr %retval br label %ret ifend441: %t2141 = load ptr, ptr %t48 %t2142 = call i32 @lp_str_eq(ptr %t2141, ptr @.str15743) %t2143 = icmp ne i32 %t2142, 0 br i1 %t2143, label %then444, label %ifend446 then444: %t2144 = load ptr, ptr %t0 %t2145 = getelementptr inbounds %Cmp_Node, ptr %t2144, i32 0, i32 7 %t2146 = load ptr, ptr %t2145 %t2147 = getelementptr inbounds %LSlice, ptr %t2146, i32 0, i32 0 %t2148 = load ptr, ptr %t2147 %t2149 = getelementptr inbounds %LSlice, ptr %t2146, i32 0, i32 1 %t2150 = load i32, ptr %t2149 %t2151 = icmp ult i32 0, %t2150 br i1 %t2151, label %ixok447, label %ixbad448 ixbad448: store i32 8666, ptr @lp_site %t2152 = call ptr @lp_win_stdio(i32 2) store i32 0, ptr @lp_site call i32 (ptr, ptr, ...) @fprintf(ptr %t2152, ptr @.fmt_bounds, ptr @.str15744, i32 0, i32 %t2150) call void @exit(i32 1) unreachable ixok447: %t2153 = getelementptr inbounds ptr, ptr %t2148, i32 0 %t2154 = load ptr, ptr %t2153 %t2155 = call ptr @fn_emit_expr(ptr %t2154) store ptr %t2155, ptr %t2156 %t2157 = load ptr, ptr %t0 %t2158 = getelementptr inbounds %Cmp_Node, ptr %t2157, i32 0, i32 7 %t2159 = load ptr, ptr %t2158 %t2160 = getelementptr inbounds %LSlice, ptr %t2159, i32 0, i32 0 %t2161 = load ptr, ptr %t2160 %t2162 = getelementptr inbounds %LSlice, ptr %t2159, i32 0, i32 1 %t2163 = load i32, ptr %t2162 %t2164 = icmp ult i32 1, %t2163 br i1 %t2164, label %ixok449, label %ixbad450 ixbad450: store i32 8667, ptr @lp_site %t2165 = call ptr @lp_win_stdio(i32 2) store i32 0, ptr @lp_site call i32 (ptr, ptr, ...) @fprintf(ptr %t2165, ptr @.fmt_bounds, ptr @.str15745, i32 1, i32 %t2163) call void @exit(i32 1) unreachable ixok449: %t2166 = getelementptr inbounds ptr, ptr %t2161, i32 1 %t2167 = load ptr, ptr %t2166 %t2168 = call ptr @fn_emit_expr(ptr %t2167) store ptr %t2168, ptr %t2169 %t2170 = load ptr, ptr %t2156 %t2171 = getelementptr inbounds %Cmp_Val, ptr %t2170, i32 0, i32 0 %t2172 = load ptr, ptr %t2171 store i32 8668, ptr @lp_site %t2173 = call ptr @lp_str_concat(ptr @.str15746, ptr %t2172) store i32 0, ptr @lp_site store i32 8669, ptr @lp_site %t2174 = call ptr @lp_str_concat(ptr %t2173, ptr @.str15747) store i32 0, ptr @lp_site call void @lp_free(ptr %t2173) %t2175 = load ptr, ptr %t2169 %t2176 = getelementptr inbounds %Cmp_Val, ptr %t2175, i32 0, i32 0 %t2177 = load ptr, ptr %t2176 store i32 8670, ptr @lp_site %t2178 = call ptr @lp_str_concat(ptr %t2174, ptr %t2177) store i32 0, ptr @lp_site call void @lp_free(ptr %t2174) store i32 8671, ptr @lp_site %t2179 = call ptr @lp_str_concat(ptr %t2178, ptr @.str15748) store i32 0, ptr @lp_site call void @lp_free(ptr %t2178) %t2180 = call ptr @fn_emit_bind(ptr %t2179) %t2181 = call ptr @fn_val(ptr %t2180, ptr @.str15749) store ptr %t2181, ptr %retval br label %ret ifend446: %t2182 = load ptr, ptr %t48 %t2183 = call i32 @lp_str_eq(ptr %t2182, ptr @.str15750) %t2184 = icmp ne i32 %t2183, 0 br i1 %t2184, label %then451, label %ifend453 then451: %t2185 = load ptr, ptr %t0 %t2186 = getelementptr inbounds %Cmp_Node, ptr %t2185, i32 0, i32 7 %t2187 = load ptr, ptr %t2186 %t2188 = getelementptr inbounds %LSlice, ptr %t2187, i32 0, i32 0 %t2189 = load ptr, ptr %t2188 %t2190 = getelementptr inbounds %LSlice, ptr %t2187, i32 0, i32 1 %t2191 = load i32, ptr %t2190 %t2192 = icmp ult i32 0, %t2191 br i1 %t2192, label %ixok454, label %ixbad455 ixbad455: store i32 8672, ptr @lp_site %t2193 = call ptr @lp_win_stdio(i32 2) store i32 0, ptr @lp_site call i32 (ptr, ptr, ...) @fprintf(ptr %t2193, ptr @.fmt_bounds, ptr @.str15751, i32 0, i32 %t2191) call void @exit(i32 1) unreachable ixok454: %t2194 = getelementptr inbounds ptr, ptr %t2189, i32 0 %t2195 = load ptr, ptr %t2194 %t2196 = call ptr @fn_emit_expr(ptr %t2195) store ptr %t2196, ptr %t2197 %t2198 = load ptr, ptr %t0 %t2199 = getelementptr inbounds %Cmp_Node, ptr %t2198, i32 0, i32 7 %t2200 = load ptr, ptr %t2199 %t2201 = getelementptr inbounds %LSlice, ptr %t2200, i32 0, i32 0 %t2202 = load ptr, ptr %t2201 %t2203 = getelementptr inbounds %LSlice, ptr %t2200, i32 0, i32 1 %t2204 = load i32, ptr %t2203 %t2205 = icmp ult i32 1, %t2204 br i1 %t2205, label %ixok456, label %ixbad457 ixbad457: store i32 8673, ptr @lp_site %t2206 = call ptr @lp_win_stdio(i32 2) store i32 0, ptr @lp_site call i32 (ptr, ptr, ...) @fprintf(ptr %t2206, ptr @.fmt_bounds, ptr @.str15752, i32 1, i32 %t2204) call void @exit(i32 1) unreachable ixok456: %t2207 = getelementptr inbounds ptr, ptr %t2202, i32 1 %t2208 = load ptr, ptr %t2207 %t2209 = call ptr @fn_emit_expr(ptr %t2208) store ptr %t2209, ptr %t2210 %t2211 = load ptr, ptr %t0 %t2212 = getelementptr inbounds %Cmp_Node, ptr %t2211, i32 0, i32 7 %t2213 = load ptr, ptr %t2212 %t2214 = getelementptr inbounds %LSlice, ptr %t2213, i32 0, i32 0 %t2215 = load ptr, ptr %t2214 %t2216 = getelementptr inbounds %LSlice, ptr %t2213, i32 0, i32 1 %t2217 = load i32, ptr %t2216 %t2218 = icmp ult i32 2, %t2217 br i1 %t2218, label %ixok458, label %ixbad459 ixbad459: store i32 8674, ptr @lp_site %t2219 = call ptr @lp_win_stdio(i32 2) store i32 0, ptr @lp_site call i32 (ptr, ptr, ...) @fprintf(ptr %t2219, ptr @.fmt_bounds, ptr @.str15753, i32 2, i32 %t2217) call void @exit(i32 1) unreachable ixok458: %t2220 = getelementptr inbounds ptr, ptr %t2215, i32 2 %t2221 = load ptr, ptr %t2220 %t2222 = call ptr @fn_emit_expr(ptr %t2221) store ptr %t2222, ptr %t2223 %t2224 = load ptr, ptr %t2197 %t2225 = getelementptr inbounds %Cmp_Val, ptr %t2224, i32 0, i32 0 %t2226 = load ptr, ptr %t2225 store i32 8675, ptr @lp_site %t2227 = call ptr @lp_str_concat(ptr @.str15754, ptr %t2226) store i32 0, ptr @lp_site store i32 8676, ptr @lp_site %t2228 = call ptr @lp_str_concat(ptr %t2227, ptr @.str15755) store i32 0, ptr @lp_site call void @lp_free(ptr %t2227) %t2229 = load ptr, ptr %t2210 %t2230 = getelementptr inbounds %Cmp_Val, ptr %t2229, i32 0, i32 0 %t2231 = load ptr, ptr %t2230 store i32 8677, ptr @lp_site %t2232 = call ptr @lp_str_concat(ptr %t2228, ptr %t2231) store i32 0, ptr @lp_site call void @lp_free(ptr %t2228) store i32 8678, ptr @lp_site %t2233 = call ptr @lp_str_concat(ptr %t2232, ptr @.str15756) store i32 0, ptr @lp_site call void @lp_free(ptr %t2232) %t2234 = load ptr, ptr %t2223 %t2235 = getelementptr inbounds %Cmp_Val, ptr %t2234, i32 0, i32 0 %t2236 = load ptr, ptr %t2235 store i32 8679, ptr @lp_site %t2237 = call ptr @lp_str_concat(ptr %t2233, ptr %t2236) store i32 0, ptr @lp_site call void @lp_free(ptr %t2233) store i32 8680, ptr @lp_site %t2238 = call ptr @lp_str_concat(ptr %t2237, ptr @.str15757) store i32 0, ptr @lp_site call void @lp_free(ptr %t2237) %t2239 = call ptr @fn_emit_bind(ptr %t2238) store ptr %t2239, ptr %t2240 %t2241 = load ptr, ptr %t2240 store i32 8681, ptr @lp_site %t2242 = call ptr @lp_str_concat(ptr @.str15758, ptr %t2241) store i32 0, ptr @lp_site store i32 8682, ptr @lp_site %t2243 = call ptr @lp_str_concat(ptr %t2242, ptr @.str15759) store i32 0, ptr @lp_site call void @lp_free(ptr %t2242) %t2244 = call ptr @fn_emit_bind(ptr %t2243) %t2245 = call ptr @fn_val(ptr %t2244, ptr @.str15760) store ptr %t2245, ptr %retval br label %ret ifend453: %t2246 = load ptr, ptr %t48 %t2247 = call i32 @lp_str_eq(ptr %t2246, ptr @.str15761) %t2248 = icmp ne i32 %t2247, 0 br i1 %t2248, label %then460, label %ifend462 then460: %t2249 = load ptr, ptr %t0 %t2250 = getelementptr inbounds %Cmp_Node, ptr %t2249, i32 0, i32 7 %t2251 = load ptr, ptr %t2250 %t2252 = getelementptr inbounds %LSlice, ptr %t2251, i32 0, i32 0 %t2253 = load ptr, ptr %t2252 %t2254 = getelementptr inbounds %LSlice, ptr %t2251, i32 0, i32 1 %t2255 = load i32, ptr %t2254 %t2256 = icmp ult i32 0, %t2255 br i1 %t2256, label %ixok463, label %ixbad464 ixbad464: store i32 8683, ptr @lp_site %t2257 = call ptr @lp_win_stdio(i32 2) store i32 0, ptr @lp_site call i32 (ptr, ptr, ...) @fprintf(ptr %t2257, ptr @.fmt_bounds, ptr @.str15762, i32 0, i32 %t2255) call void @exit(i32 1) unreachable ixok463: %t2258 = getelementptr inbounds ptr, ptr %t2253, i32 0 %t2259 = load ptr, ptr %t2258 %t2260 = call ptr @fn_emit_expr(ptr %t2259) store ptr %t2260, ptr %t2261 %t2262 = load ptr, ptr %t0 %t2263 = getelementptr inbounds %Cmp_Node, ptr %t2262, i32 0, i32 7 %t2264 = load ptr, ptr %t2263 %t2265 = getelementptr inbounds %LSlice, ptr %t2264, i32 0, i32 0 %t2266 = load ptr, ptr %t2265 %t2267 = getelementptr inbounds %LSlice, ptr %t2264, i32 0, i32 1 %t2268 = load i32, ptr %t2267 %t2269 = icmp ult i32 1, %t2268 br i1 %t2269, label %ixok465, label %ixbad466 ixbad466: store i32 8684, ptr @lp_site %t2270 = call ptr @lp_win_stdio(i32 2) store i32 0, ptr @lp_site call i32 (ptr, ptr, ...) @fprintf(ptr %t2270, ptr @.fmt_bounds, ptr @.str15763, i32 1, i32 %t2268) call void @exit(i32 1) unreachable ixok465: %t2271 = getelementptr inbounds ptr, ptr %t2266, i32 1 %t2272 = load ptr, ptr %t2271 %t2273 = call ptr @fn_emit_expr(ptr %t2272) store ptr %t2273, ptr %t2274 %t2275 = load ptr, ptr %t0 %t2276 = getelementptr inbounds %Cmp_Node, ptr %t2275, i32 0, i32 7 %t2277 = load ptr, ptr %t2276 %t2278 = getelementptr inbounds %LSlice, ptr %t2277, i32 0, i32 0 %t2279 = load ptr, ptr %t2278 %t2280 = getelementptr inbounds %LSlice, ptr %t2277, i32 0, i32 1 %t2281 = load i32, ptr %t2280 %t2282 = icmp ult i32 2, %t2281 br i1 %t2282, label %ixok467, label %ixbad468 ixbad468: store i32 8685, ptr @lp_site %t2283 = call ptr @lp_win_stdio(i32 2) store i32 0, ptr @lp_site call i32 (ptr, ptr, ...) @fprintf(ptr %t2283, ptr @.fmt_bounds, ptr @.str15764, i32 2, i32 %t2281) call void @exit(i32 1) unreachable ixok467: %t2284 = getelementptr inbounds ptr, ptr %t2279, i32 2 %t2285 = load ptr, ptr %t2284 %t2286 = call ptr @fn_emit_expr(ptr %t2285) store ptr %t2286, ptr %t2287 %t2288 = load ptr, ptr %t0 %t2289 = getelementptr inbounds %Cmp_Node, ptr %t2288, i32 0, i32 7 %t2290 = load ptr, ptr %t2289 %t2291 = getelementptr inbounds %LSlice, ptr %t2290, i32 0, i32 0 %t2292 = load ptr, ptr %t2291 %t2293 = getelementptr inbounds %LSlice, ptr %t2290, i32 0, i32 1 %t2294 = load i32, ptr %t2293 %t2295 = icmp ult i32 3, %t2294 br i1 %t2295, label %ixok469, label %ixbad470 ixbad470: store i32 8686, ptr @lp_site %t2296 = call ptr @lp_win_stdio(i32 2) store i32 0, ptr @lp_site call i32 (ptr, ptr, ...) @fprintf(ptr %t2296, ptr @.fmt_bounds, ptr @.str15765, i32 3, i32 %t2294) call void @exit(i32 1) unreachable ixok469: %t2297 = getelementptr inbounds ptr, ptr %t2292, i32 3 %t2298 = load ptr, ptr %t2297 %t2299 = call ptr @fn_emit_expr(ptr %t2298) store ptr %t2299, ptr %t2300 %t2301 = load ptr, ptr %t2300 %t2302 = getelementptr inbounds %Cmp_Val, ptr %t2301, i32 0, i32 0 %t2303 = load ptr, ptr %t2302 store i32 8687, ptr @lp_site %t2304 = call ptr @lp_str_concat(ptr @.str15766, ptr %t2303) store i32 0, ptr @lp_site store i32 8688, ptr @lp_site %t2305 = call ptr @lp_str_concat(ptr %t2304, ptr @.str15767) store i32 0, ptr @lp_site call void @lp_free(ptr %t2304) %t2306 = call ptr @fn_emit_bind(ptr %t2305) store ptr %t2306, ptr %t2307 call void @fn_emit(ptr @.str15768) %t2308 = load ptr, ptr %t2261 %t2309 = getelementptr inbounds %Cmp_Val, ptr %t2308, i32 0, i32 0 %t2310 = load ptr, ptr %t2309 call void @fn_emit(ptr %t2310) call void @fn_emit(ptr @.str15769) %t2311 = load ptr, ptr %t2274 %t2312 = getelementptr inbounds %Cmp_Val, ptr %t2311, i32 0, i32 0 %t2313 = load ptr, ptr %t2312 call void @fn_emit(ptr %t2313) call void @fn_emit(ptr @.str15770) %t2314 = load ptr, ptr %t2287 %t2315 = getelementptr inbounds %Cmp_Val, ptr %t2314, i32 0, i32 0 %t2316 = load ptr, ptr %t2315 call void @fn_emit(ptr %t2316) call void @fn_emit(ptr @.str15771) %t2317 = load ptr, ptr %t2307 call void @fn_emit(ptr %t2317) call void @fn_emit(ptr @.str15772) %t2318 = call ptr @fn_val(ptr @.str15773, ptr @.str15774) store ptr %t2318, ptr %retval br label %ret ifend462: %t2319 = load ptr, ptr %t48 %t2320 = call i32 @lp_str_eq(ptr %t2319, ptr @.str15775) %t2321 = icmp ne i32 %t2320, 0 br i1 %t2321, label %then471, label %ifend473 then471: %t2322 = load ptr, ptr %t0 %t2323 = getelementptr inbounds %Cmp_Node, ptr %t2322, i32 0, i32 7 %t2324 = load ptr, ptr %t2323 %t2325 = getelementptr inbounds %LSlice, ptr %t2324, i32 0, i32 0 %t2326 = load ptr, ptr %t2325 %t2327 = getelementptr inbounds %LSlice, ptr %t2324, i32 0, i32 1 %t2328 = load i32, ptr %t2327 %t2329 = icmp ult i32 0, %t2328 br i1 %t2329, label %ixok474, label %ixbad475 ixbad475: store i32 8689, ptr @lp_site %t2330 = call ptr @lp_win_stdio(i32 2) store i32 0, ptr @lp_site call i32 (ptr, ptr, ...) @fprintf(ptr %t2330, ptr @.fmt_bounds, ptr @.str15776, i32 0, i32 %t2328) call void @exit(i32 1) unreachable ixok474: %t2331 = getelementptr inbounds ptr, ptr %t2326, i32 0 %t2332 = load ptr, ptr %t2331 %t2333 = call ptr @fn_emit_expr(ptr %t2332) store ptr %t2333, ptr %t2334 %t2335 = load ptr, ptr %t0 %t2336 = getelementptr inbounds %Cmp_Node, ptr %t2335, i32 0, i32 7 %t2337 = load ptr, ptr %t2336 %t2338 = getelementptr inbounds %LSlice, ptr %t2337, i32 0, i32 0 %t2339 = load ptr, ptr %t2338 %t2340 = getelementptr inbounds %LSlice, ptr %t2337, i32 0, i32 1 %t2341 = load i32, ptr %t2340 %t2342 = icmp ult i32 1, %t2341 br i1 %t2342, label %ixok476, label %ixbad477 ixbad477: store i32 8690, ptr @lp_site %t2343 = call ptr @lp_win_stdio(i32 2) store i32 0, ptr @lp_site call i32 (ptr, ptr, ...) @fprintf(ptr %t2343, ptr @.fmt_bounds, ptr @.str15777, i32 1, i32 %t2341) call void @exit(i32 1) unreachable ixok476: %t2344 = getelementptr inbounds ptr, ptr %t2339, i32 1 %t2345 = load ptr, ptr %t2344 %t2346 = call ptr @fn_emit_expr(ptr %t2345) store ptr %t2346, ptr %t2347 %t2348 = load ptr, ptr %t2334 %t2349 = getelementptr inbounds %Cmp_Val, ptr %t2348, i32 0, i32 0 %t2350 = load ptr, ptr %t2349 store i32 8691, ptr @lp_site %t2351 = call ptr @lp_str_concat(ptr @.str15778, ptr %t2350) store i32 0, ptr @lp_site store i32 8692, ptr @lp_site %t2352 = call ptr @lp_str_concat(ptr %t2351, ptr @.str15779) store i32 0, ptr @lp_site call void @lp_free(ptr %t2351) %t2353 = load ptr, ptr %t2347 %t2354 = getelementptr inbounds %Cmp_Val, ptr %t2353, i32 0, i32 0 %t2355 = load ptr, ptr %t2354 store i32 8693, ptr @lp_site %t2356 = call ptr @lp_str_concat(ptr %t2352, ptr %t2355) store i32 0, ptr @lp_site call void @lp_free(ptr %t2352) store i32 8694, ptr @lp_site %t2357 = call ptr @lp_str_concat(ptr %t2356, ptr @.str15780) store i32 0, ptr @lp_site call void @lp_free(ptr %t2356) %t2358 = call ptr @fn_emit_bind(ptr %t2357) %t2359 = call ptr @fn_val(ptr %t2358, ptr @.str15781) store ptr %t2359, ptr %retval br label %ret ifend473: %t2360 = load ptr, ptr %t48 %t2361 = call i32 @lp_str_eq(ptr %t2360, ptr @.str15782) %t2362 = icmp ne i32 %t2361, 0 br i1 %t2362, label %then478, label %ifend480 then478: %t2363 = call ptr @fn_emit_bind(ptr @.str15783) %t2364 = call ptr @fn_val(ptr %t2363, ptr @.str15784) store ptr %t2364, ptr %retval br label %ret ifend480: %t2365 = load ptr, ptr %t48 %t2366 = call i32 @lp_str_eq(ptr %t2365, ptr @.str15785) %t2367 = icmp ne i32 %t2366, 0 br i1 %t2367, label %then481, label %ifend483 then481: %t2368 = load ptr, ptr %t0 %t2369 = getelementptr inbounds %Cmp_Node, ptr %t2368, i32 0, i32 7 %t2370 = load ptr, ptr %t2369 %t2371 = getelementptr inbounds %LSlice, ptr %t2370, i32 0, i32 0 %t2372 = load ptr, ptr %t2371 %t2373 = getelementptr inbounds %LSlice, ptr %t2370, i32 0, i32 1 %t2374 = load i32, ptr %t2373 %t2375 = icmp ult i32 0, %t2374 br i1 %t2375, label %ixok484, label %ixbad485 ixbad485: store i32 8695, ptr @lp_site %t2376 = call ptr @lp_win_stdio(i32 2) store i32 0, ptr @lp_site call i32 (ptr, ptr, ...) @fprintf(ptr %t2376, ptr @.fmt_bounds, ptr @.str15786, i32 0, i32 %t2374) call void @exit(i32 1) unreachable ixok484: %t2377 = getelementptr inbounds ptr, ptr %t2372, i32 0 %t2378 = load ptr, ptr %t2377 %t2379 = call ptr @fn_emit_expr(ptr %t2378) store ptr %t2379, ptr %t2380 %t2381 = load ptr, ptr %t2380 %t2382 = getelementptr inbounds %Cmp_Val, ptr %t2381, i32 0, i32 0 %t2383 = load ptr, ptr %t2382 store i32 8696, ptr @lp_site %t2384 = call ptr @lp_str_concat(ptr @.str15787, ptr %t2383) store i32 0, ptr @lp_site store i32 8697, ptr @lp_site %t2385 = call ptr @lp_str_concat(ptr %t2384, ptr @.str15788) store i32 0, ptr @lp_site call void @lp_free(ptr %t2384) %t2386 = call ptr @fn_emit_bind(ptr %t2385) %t2387 = call ptr @fn_val(ptr %t2386, ptr @.str15789) store ptr %t2387, ptr %retval br label %ret ifend483: %t2388 = load ptr, ptr %t48 %t2389 = call i32 @lp_str_eq(ptr %t2388, ptr @.str15790) %t2390 = icmp ne i32 %t2389, 0 br i1 %t2390, label %then486, label %ifend488 then486: %t2391 = load ptr, ptr %t0 %t2392 = getelementptr inbounds %Cmp_Node, ptr %t2391, i32 0, i32 7 %t2393 = load ptr, ptr %t2392 %t2394 = getelementptr inbounds %LSlice, ptr %t2393, i32 0, i32 0 %t2395 = load ptr, ptr %t2394 %t2396 = getelementptr inbounds %LSlice, ptr %t2393, i32 0, i32 1 %t2397 = load i32, ptr %t2396 %t2398 = icmp ult i32 0, %t2397 br i1 %t2398, label %ixok489, label %ixbad490 ixbad490: store i32 8698, ptr @lp_site %t2399 = call ptr @lp_win_stdio(i32 2) store i32 0, ptr @lp_site call i32 (ptr, ptr, ...) @fprintf(ptr %t2399, ptr @.fmt_bounds, ptr @.str15791, i32 0, i32 %t2397) call void @exit(i32 1) unreachable ixok489: %t2400 = getelementptr inbounds ptr, ptr %t2395, i32 0 %t2401 = load ptr, ptr %t2400 %t2402 = call ptr @fn_emit_expr(ptr %t2401) store ptr %t2402, ptr %t2403 %t2404 = load ptr, ptr %t2403 %t2405 = getelementptr inbounds %Cmp_Val, ptr %t2404, i32 0, i32 0 %t2406 = load ptr, ptr %t2405 store i32 8699, ptr @lp_site %t2407 = call ptr @lp_str_concat(ptr @.str15792, ptr %t2406) store i32 0, ptr @lp_site store i32 8700, ptr @lp_site %t2408 = call ptr @lp_str_concat(ptr %t2407, ptr @.str15793) store i32 0, ptr @lp_site call void @lp_free(ptr %t2407) %t2409 = call ptr @fn_emit_bind(ptr %t2408) %t2410 = call ptr @fn_val(ptr %t2409, ptr @.str15794) store ptr %t2410, ptr %retval br label %ret ifend488: %t2411 = load ptr, ptr %t48 %t2412 = call i32 @lp_str_eq(ptr %t2411, ptr @.str15795) %t2413 = icmp ne i32 %t2412, 0 br i1 %t2413, label %then491, label %ifend493 then491: %t2414 = load ptr, ptr %t0 %t2415 = getelementptr inbounds %Cmp_Node, ptr %t2414, i32 0, i32 7 %t2416 = load ptr, ptr %t2415 %t2417 = getelementptr inbounds %LSlice, ptr %t2416, i32 0, i32 0 %t2418 = load ptr, ptr %t2417 %t2419 = getelementptr inbounds %LSlice, ptr %t2416, i32 0, i32 1 %t2420 = load i32, ptr %t2419 %t2421 = icmp ult i32 0, %t2420 br i1 %t2421, label %ixok494, label %ixbad495 ixbad495: store i32 8701, ptr @lp_site %t2422 = call ptr @lp_win_stdio(i32 2) store i32 0, ptr @lp_site call i32 (ptr, ptr, ...) @fprintf(ptr %t2422, ptr @.fmt_bounds, ptr @.str15796, i32 0, i32 %t2420) call void @exit(i32 1) unreachable ixok494: %t2423 = getelementptr inbounds ptr, ptr %t2418, i32 0 %t2424 = load ptr, ptr %t2423 %t2425 = call ptr @fn_emit_expr(ptr %t2424) store ptr %t2425, ptr %t2426 %t2427 = load ptr, ptr %t0 %t2428 = getelementptr inbounds %Cmp_Node, ptr %t2427, i32 0, i32 7 %t2429 = load ptr, ptr %t2428 %t2430 = getelementptr inbounds %LSlice, ptr %t2429, i32 0, i32 0 %t2431 = load ptr, ptr %t2430 %t2432 = getelementptr inbounds %LSlice, ptr %t2429, i32 0, i32 1 %t2433 = load i32, ptr %t2432 %t2434 = icmp ult i32 1, %t2433 br i1 %t2434, label %ixok496, label %ixbad497 ixbad497: store i32 8702, ptr @lp_site %t2435 = call ptr @lp_win_stdio(i32 2) store i32 0, ptr @lp_site call i32 (ptr, ptr, ...) @fprintf(ptr %t2435, ptr @.fmt_bounds, ptr @.str15797, i32 1, i32 %t2433) call void @exit(i32 1) unreachable ixok496: %t2436 = getelementptr inbounds ptr, ptr %t2431, i32 1 %t2437 = load ptr, ptr %t2436 %t2438 = call ptr @fn_emit_expr(ptr %t2437) store ptr %t2438, ptr %t2439 %t2440 = load ptr, ptr %t2426 %t2441 = getelementptr inbounds %Cmp_Val, ptr %t2440, i32 0, i32 0 %t2442 = load ptr, ptr %t2441 store i32 8703, ptr @lp_site %t2443 = call ptr @lp_str_concat(ptr @.str15798, ptr %t2442) store i32 0, ptr @lp_site store i32 8704, ptr @lp_site %t2444 = call ptr @lp_str_concat(ptr %t2443, ptr @.str15799) store i32 0, ptr @lp_site call void @lp_free(ptr %t2443) %t2445 = load ptr, ptr %t2439 %t2446 = getelementptr inbounds %Cmp_Val, ptr %t2445, i32 0, i32 0 %t2447 = load ptr, ptr %t2446 store i32 8705, ptr @lp_site %t2448 = call ptr @lp_str_concat(ptr %t2444, ptr %t2447) store i32 0, ptr @lp_site call void @lp_free(ptr %t2444) store i32 8706, ptr @lp_site %t2449 = call ptr @lp_str_concat(ptr %t2448, ptr @.str15800) store i32 0, ptr @lp_site call void @lp_free(ptr %t2448) %t2450 = call ptr @fn_emit_bind(ptr %t2449) %t2451 = call ptr @fn_val(ptr %t2450, ptr @.str15801) store ptr %t2451, ptr %retval br label %ret ifend493: %t2452 = load ptr, ptr %t48 %t2453 = call i32 @lp_str_eq(ptr %t2452, ptr @.str15802) %t2454 = icmp ne i32 %t2453, 0 br i1 %t2454, label %then498, label %ifend500 then498: %t2455 = load ptr, ptr %t0 %t2456 = getelementptr inbounds %Cmp_Node, ptr %t2455, i32 0, i32 7 %t2457 = load ptr, ptr %t2456 %t2458 = getelementptr inbounds %LSlice, ptr %t2457, i32 0, i32 0 %t2459 = load ptr, ptr %t2458 %t2460 = getelementptr inbounds %LSlice, ptr %t2457, i32 0, i32 1 %t2461 = load i32, ptr %t2460 %t2462 = icmp ult i32 0, %t2461 br i1 %t2462, label %ixok501, label %ixbad502 ixbad502: store i32 8707, ptr @lp_site %t2463 = call ptr @lp_win_stdio(i32 2) store i32 0, ptr @lp_site call i32 (ptr, ptr, ...) @fprintf(ptr %t2463, ptr @.fmt_bounds, ptr @.str15803, i32 0, i32 %t2461) call void @exit(i32 1) unreachable ixok501: %t2464 = getelementptr inbounds ptr, ptr %t2459, i32 0 %t2465 = load ptr, ptr %t2464 %t2466 = call ptr @fn_emit_expr(ptr %t2465) store ptr %t2466, ptr %t2467 %t2468 = load ptr, ptr %t0 %t2469 = getelementptr inbounds %Cmp_Node, ptr %t2468, i32 0, i32 7 %t2470 = load ptr, ptr %t2469 %t2471 = getelementptr inbounds %LSlice, ptr %t2470, i32 0, i32 0 %t2472 = load ptr, ptr %t2471 %t2473 = getelementptr inbounds %LSlice, ptr %t2470, i32 0, i32 1 %t2474 = load i32, ptr %t2473 %t2475 = icmp ult i32 1, %t2474 br i1 %t2475, label %ixok503, label %ixbad504 ixbad504: store i32 8708, ptr @lp_site %t2476 = call ptr @lp_win_stdio(i32 2) store i32 0, ptr @lp_site call i32 (ptr, ptr, ...) @fprintf(ptr %t2476, ptr @.fmt_bounds, ptr @.str15804, i32 1, i32 %t2474) call void @exit(i32 1) unreachable ixok503: %t2477 = getelementptr inbounds ptr, ptr %t2472, i32 1 %t2478 = load ptr, ptr %t2477 %t2479 = call ptr @fn_emit_expr(ptr %t2478) store ptr %t2479, ptr %t2480 %t2481 = load ptr, ptr %t2467 %t2482 = getelementptr inbounds %Cmp_Val, ptr %t2481, i32 0, i32 0 %t2483 = load ptr, ptr %t2482 store i32 8709, ptr @lp_site %t2484 = call ptr @lp_str_concat(ptr @.str15805, ptr %t2483) store i32 0, ptr @lp_site store i32 8710, ptr @lp_site %t2485 = call ptr @lp_str_concat(ptr %t2484, ptr @.str15806) store i32 0, ptr @lp_site call void @lp_free(ptr %t2484) %t2486 = load ptr, ptr %t2480 %t2487 = getelementptr inbounds %Cmp_Val, ptr %t2486, i32 0, i32 0 %t2488 = load ptr, ptr %t2487 store i32 8711, ptr @lp_site %t2489 = call ptr @lp_str_concat(ptr %t2485, ptr %t2488) store i32 0, ptr @lp_site call void @lp_free(ptr %t2485) store i32 8712, ptr @lp_site %t2490 = call ptr @lp_str_concat(ptr %t2489, ptr @.str15807) store i32 0, ptr @lp_site call void @lp_free(ptr %t2489) %t2491 = call ptr @fn_emit_bind(ptr %t2490) %t2492 = call ptr @fn_val(ptr %t2491, ptr @.str15808) store ptr %t2492, ptr %retval br label %ret ifend500: %t2493 = load ptr, ptr %t48 %t2494 = call i32 @lp_str_eq(ptr %t2493, ptr @.str15809) %t2495 = icmp ne i32 %t2494, 0 br i1 %t2495, label %then505, label %ifend507 then505: %t2496 = load ptr, ptr %t0 %t2497 = getelementptr inbounds %Cmp_Node, ptr %t2496, i32 0, i32 7 %t2498 = load ptr, ptr %t2497 %t2499 = getelementptr inbounds %LSlice, ptr %t2498, i32 0, i32 0 %t2500 = load ptr, ptr %t2499 %t2501 = getelementptr inbounds %LSlice, ptr %t2498, i32 0, i32 1 %t2502 = load i32, ptr %t2501 %t2503 = icmp ult i32 0, %t2502 br i1 %t2503, label %ixok508, label %ixbad509 ixbad509: store i32 8713, ptr @lp_site %t2504 = call ptr @lp_win_stdio(i32 2) store i32 0, ptr @lp_site call i32 (ptr, ptr, ...) @fprintf(ptr %t2504, ptr @.fmt_bounds, ptr @.str15810, i32 0, i32 %t2502) call void @exit(i32 1) unreachable ixok508: %t2505 = getelementptr inbounds ptr, ptr %t2500, i32 0 %t2506 = load ptr, ptr %t2505 %t2507 = call ptr @fn_emit_expr(ptr %t2506) store ptr %t2507, ptr %t2508 %t2509 = load ptr, ptr %t0 %t2510 = getelementptr inbounds %Cmp_Node, ptr %t2509, i32 0, i32 7 %t2511 = load ptr, ptr %t2510 %t2512 = getelementptr inbounds %LSlice, ptr %t2511, i32 0, i32 0 %t2513 = load ptr, ptr %t2512 %t2514 = getelementptr inbounds %LSlice, ptr %t2511, i32 0, i32 1 %t2515 = load i32, ptr %t2514 %t2516 = icmp ult i32 1, %t2515 br i1 %t2516, label %ixok510, label %ixbad511 ixbad511: store i32 8714, ptr @lp_site %t2517 = call ptr @lp_win_stdio(i32 2) store i32 0, ptr @lp_site call i32 (ptr, ptr, ...) @fprintf(ptr %t2517, ptr @.fmt_bounds, ptr @.str15811, i32 1, i32 %t2515) call void @exit(i32 1) unreachable ixok510: %t2518 = getelementptr inbounds ptr, ptr %t2513, i32 1 %t2519 = load ptr, ptr %t2518 %t2520 = call ptr @fn_emit_expr(ptr %t2519) store ptr %t2520, ptr %t2521 call void @fn_emit(ptr @.str15812) %t2522 = load ptr, ptr %t2508 %t2523 = getelementptr inbounds %Cmp_Val, ptr %t2522, i32 0, i32 0 %t2524 = load ptr, ptr %t2523 call void @fn_emit(ptr %t2524) call void @fn_emit(ptr @.str15813) %t2525 = load ptr, ptr %t2521 %t2526 = getelementptr inbounds %Cmp_Val, ptr %t2525, i32 0, i32 0 %t2527 = load ptr, ptr %t2526 call void @fn_emit(ptr %t2527) call void @fn_emit(ptr @.str15814) %t2528 = call ptr @fn_val(ptr @.str15815, ptr @.str15816) store ptr %t2528, ptr %retval br label %ret ifend507: %t2529 = load ptr, ptr %t48 %t2530 = call i32 @lp_str_eq(ptr %t2529, ptr @.str15817) %t2531 = icmp ne i32 %t2530, 0 br i1 %t2531, label %then512, label %ifend514 then512: %t2532 = load ptr, ptr %t0 %t2533 = getelementptr inbounds %Cmp_Node, ptr %t2532, i32 0, i32 7 %t2534 = load ptr, ptr %t2533 %t2535 = getelementptr inbounds %LSlice, ptr %t2534, i32 0, i32 0 %t2536 = load ptr, ptr %t2535 %t2537 = getelementptr inbounds %LSlice, ptr %t2534, i32 0, i32 1 %t2538 = load i32, ptr %t2537 %t2539 = icmp ult i32 0, %t2538 br i1 %t2539, label %ixok515, label %ixbad516 ixbad516: store i32 8715, ptr @lp_site %t2540 = call ptr @lp_win_stdio(i32 2) store i32 0, ptr @lp_site call i32 (ptr, ptr, ...) @fprintf(ptr %t2540, ptr @.fmt_bounds, ptr @.str15818, i32 0, i32 %t2538) call void @exit(i32 1) unreachable ixok515: %t2541 = getelementptr inbounds ptr, ptr %t2536, i32 0 %t2542 = load ptr, ptr %t2541 %t2543 = call ptr @fn_emit_expr(ptr %t2542) store ptr %t2543, ptr %t2544 %t2545 = load ptr, ptr %t0 %t2546 = getelementptr inbounds %Cmp_Node, ptr %t2545, i32 0, i32 7 %t2547 = load ptr, ptr %t2546 %t2548 = getelementptr inbounds %LSlice, ptr %t2547, i32 0, i32 0 %t2549 = load ptr, ptr %t2548 %t2550 = getelementptr inbounds %LSlice, ptr %t2547, i32 0, i32 1 %t2551 = load i32, ptr %t2550 %t2552 = icmp ult i32 1, %t2551 br i1 %t2552, label %ixok517, label %ixbad518 ixbad518: store i32 8716, ptr @lp_site %t2553 = call ptr @lp_win_stdio(i32 2) store i32 0, ptr @lp_site call i32 (ptr, ptr, ...) @fprintf(ptr %t2553, ptr @.fmt_bounds, ptr @.str15819, i32 1, i32 %t2551) call void @exit(i32 1) unreachable ixok517: %t2554 = getelementptr inbounds ptr, ptr %t2549, i32 1 %t2555 = load ptr, ptr %t2554 %t2556 = call ptr @fn_emit_expr(ptr %t2555) store ptr %t2556, ptr %t2557 call void @fn_emit(ptr @.str15820) %t2558 = load ptr, ptr %t2544 %t2559 = getelementptr inbounds %Cmp_Val, ptr %t2558, i32 0, i32 0 %t2560 = load ptr, ptr %t2559 call void @fn_emit(ptr %t2560) call void @fn_emit(ptr @.str15821) %t2561 = load ptr, ptr %t2557 %t2562 = getelementptr inbounds %Cmp_Val, ptr %t2561, i32 0, i32 0 %t2563 = load ptr, ptr %t2562 call void @fn_emit(ptr %t2563) call void @fn_emit(ptr @.str15822) %t2564 = call ptr @fn_val(ptr @.str15823, ptr @.str15824) store ptr %t2564, ptr %retval br label %ret ifend514: %t2565 = load ptr, ptr %t48 %t2566 = call i32 @lp_str_eq(ptr %t2565, ptr @.str15825) %t2567 = icmp ne i32 %t2566, 0 br i1 %t2567, label %then519, label %ifend521 then519: %t2568 = load ptr, ptr %t0 %t2569 = getelementptr inbounds %Cmp_Node, ptr %t2568, i32 0, i32 7 %t2570 = load ptr, ptr %t2569 %t2571 = getelementptr inbounds %LSlice, ptr %t2570, i32 0, i32 0 %t2572 = load ptr, ptr %t2571 %t2573 = getelementptr inbounds %LSlice, ptr %t2570, i32 0, i32 1 %t2574 = load i32, ptr %t2573 %t2575 = icmp ult i32 0, %t2574 br i1 %t2575, label %ixok522, label %ixbad523 ixbad523: store i32 8717, ptr @lp_site %t2576 = call ptr @lp_win_stdio(i32 2) store i32 0, ptr @lp_site call i32 (ptr, ptr, ...) @fprintf(ptr %t2576, ptr @.fmt_bounds, ptr @.str15826, i32 0, i32 %t2574) call void @exit(i32 1) unreachable ixok522: %t2577 = getelementptr inbounds ptr, ptr %t2572, i32 0 %t2578 = load ptr, ptr %t2577 %t2579 = call ptr @fn_emit_expr(ptr %t2578) store ptr %t2579, ptr %t2580 %t2581 = load ptr, ptr %t2580 %t2582 = getelementptr inbounds %Cmp_Val, ptr %t2581, i32 0, i32 0 %t2583 = load ptr, ptr %t2582 store i32 8718, ptr @lp_site %t2584 = call ptr @lp_str_concat(ptr @.str15827, ptr %t2583) store i32 0, ptr @lp_site store i32 8719, ptr @lp_site %t2585 = call ptr @lp_str_concat(ptr %t2584, ptr @.str15828) store i32 0, ptr @lp_site call void @lp_free(ptr %t2584) %t2586 = call ptr @fn_emit_bind(ptr %t2585) %t2587 = call ptr @fn_val(ptr %t2586, ptr @.str15829) store ptr %t2587, ptr %retval br label %ret ifend521: %t2588 = load ptr, ptr %t48 %t2589 = call i32 @lp_str_eq(ptr %t2588, ptr @.str15830) %t2590 = icmp ne i32 %t2589, 0 br i1 %t2590, label %then524, label %ifend526 then524: %t2591 = call ptr @fn_emit_bind(ptr @.str15831) %t2592 = call ptr @fn_val(ptr %t2591, ptr @.str15832) store ptr %t2592, ptr %retval br label %ret ifend526: %t2593 = load ptr, ptr %t48 %t2594 = call i32 @lp_str_eq(ptr %t2593, ptr @.str15833) %t2595 = icmp ne i32 %t2594, 0 br i1 %t2595, label %then527, label %ifend529 then527: %t2596 = load ptr, ptr %t0 %t2597 = getelementptr inbounds %Cmp_Node, ptr %t2596, i32 0, i32 7 %t2598 = load ptr, ptr %t2597 %t2599 = getelementptr inbounds %LSlice, ptr %t2598, i32 0, i32 0 %t2600 = load ptr, ptr %t2599 %t2601 = getelementptr inbounds %LSlice, ptr %t2598, i32 0, i32 1 %t2602 = load i32, ptr %t2601 %t2603 = icmp ult i32 0, %t2602 br i1 %t2603, label %ixok530, label %ixbad531 ixbad531: store i32 8720, ptr @lp_site %t2604 = call ptr @lp_win_stdio(i32 2) store i32 0, ptr @lp_site call i32 (ptr, ptr, ...) @fprintf(ptr %t2604, ptr @.fmt_bounds, ptr @.str15834, i32 0, i32 %t2602) call void @exit(i32 1) unreachable ixok530: %t2605 = getelementptr inbounds ptr, ptr %t2600, i32 0 %t2606 = load ptr, ptr %t2605 %t2607 = call ptr @fn_emit_expr(ptr %t2606) store ptr %t2607, ptr %t2608 %t2609 = load ptr, ptr %t2608 %t2610 = getelementptr inbounds %Cmp_Val, ptr %t2609, i32 0, i32 0 %t2611 = load ptr, ptr %t2610 store i32 8721, ptr @lp_site %t2612 = call ptr @lp_str_concat(ptr @.str15835, ptr %t2611) store i32 0, ptr @lp_site store i32 8722, ptr @lp_site %t2613 = call ptr @lp_str_concat(ptr %t2612, ptr @.str15836) store i32 0, ptr @lp_site call void @lp_free(ptr %t2612) %t2614 = call ptr @fn_emit_bind(ptr %t2613) %t2615 = call ptr @fn_val(ptr %t2614, ptr @.str15837) store ptr %t2615, ptr %retval br label %ret ifend529: %t2616 = load ptr, ptr %t48 %t2617 = call i32 @lp_str_eq(ptr %t2616, ptr @.str15838) %t2618 = icmp ne i32 %t2617, 0 br i1 %t2618, label %then532, label %ifend534 then532: %t2619 = load ptr, ptr %t0 %t2620 = getelementptr inbounds %Cmp_Node, ptr %t2619, i32 0, i32 7 %t2621 = load ptr, ptr %t2620 %t2622 = getelementptr inbounds %LSlice, ptr %t2621, i32 0, i32 0 %t2623 = load ptr, ptr %t2622 %t2624 = getelementptr inbounds %LSlice, ptr %t2621, i32 0, i32 1 %t2625 = load i32, ptr %t2624 %t2626 = icmp ult i32 0, %t2625 br i1 %t2626, label %ixok535, label %ixbad536 ixbad536: store i32 8723, ptr @lp_site %t2627 = call ptr @lp_win_stdio(i32 2) store i32 0, ptr @lp_site call i32 (ptr, ptr, ...) @fprintf(ptr %t2627, ptr @.fmt_bounds, ptr @.str15839, i32 0, i32 %t2625) call void @exit(i32 1) unreachable ixok535: %t2628 = getelementptr inbounds ptr, ptr %t2623, i32 0 %t2629 = load ptr, ptr %t2628 %t2630 = call ptr @fn_emit_expr(ptr %t2629) store ptr %t2630, ptr %t2631 %t2632 = load ptr, ptr %t2631 %t2633 = getelementptr inbounds %Cmp_Val, ptr %t2632, i32 0, i32 0 %t2634 = load ptr, ptr %t2633 store i32 8724, ptr @lp_site %t2635 = call ptr @lp_str_concat(ptr @.str15840, ptr %t2634) store i32 0, ptr @lp_site store i32 8725, ptr @lp_site %t2636 = call ptr @lp_str_concat(ptr %t2635, ptr @.str15841) store i32 0, ptr @lp_site call void @lp_free(ptr %t2635) %t2637 = call ptr @fn_emit_bind(ptr %t2636) %t2638 = call ptr @fn_val(ptr %t2637, ptr @.str15842) store ptr %t2638, ptr %retval br label %ret ifend534: %t2639 = load ptr, ptr %t48 %t2640 = call i32 @lp_str_eq(ptr %t2639, ptr @.str15843) %t2641 = icmp ne i32 %t2640, 0 br i1 %t2641, label %then537, label %ifend539 then537: %t2642 = load ptr, ptr %t0 %t2643 = getelementptr inbounds %Cmp_Node, ptr %t2642, i32 0, i32 7 %t2644 = load ptr, ptr %t2643 %t2645 = getelementptr inbounds %LSlice, ptr %t2644, i32 0, i32 0 %t2646 = load ptr, ptr %t2645 %t2647 = getelementptr inbounds %LSlice, ptr %t2644, i32 0, i32 1 %t2648 = load i32, ptr %t2647 %t2649 = icmp ult i32 0, %t2648 br i1 %t2649, label %ixok540, label %ixbad541 ixbad541: store i32 8726, ptr @lp_site %t2650 = call ptr @lp_win_stdio(i32 2) store i32 0, ptr @lp_site call i32 (ptr, ptr, ...) @fprintf(ptr %t2650, ptr @.fmt_bounds, ptr @.str15844, i32 0, i32 %t2648) call void @exit(i32 1) unreachable ixok540: %t2651 = getelementptr inbounds ptr, ptr %t2646, i32 0 %t2652 = load ptr, ptr %t2651 %t2653 = call ptr @fn_emit_expr(ptr %t2652) store ptr %t2653, ptr %t2654 %t2655 = load ptr, ptr %t0 %t2656 = getelementptr inbounds %Cmp_Node, ptr %t2655, i32 0, i32 7 %t2657 = load ptr, ptr %t2656 %t2658 = getelementptr inbounds %LSlice, ptr %t2657, i32 0, i32 0 %t2659 = load ptr, ptr %t2658 %t2660 = getelementptr inbounds %LSlice, ptr %t2657, i32 0, i32 1 %t2661 = load i32, ptr %t2660 %t2662 = icmp ult i32 1, %t2661 br i1 %t2662, label %ixok542, label %ixbad543 ixbad543: store i32 8727, ptr @lp_site %t2663 = call ptr @lp_win_stdio(i32 2) store i32 0, ptr @lp_site call i32 (ptr, ptr, ...) @fprintf(ptr %t2663, ptr @.fmt_bounds, ptr @.str15845, i32 1, i32 %t2661) call void @exit(i32 1) unreachable ixok542: %t2664 = getelementptr inbounds ptr, ptr %t2659, i32 1 %t2665 = load ptr, ptr %t2664 %t2666 = call ptr @fn_emit_expr(ptr %t2665) store ptr %t2666, ptr %t2667 %t2668 = load ptr, ptr %t2654 %t2669 = getelementptr inbounds %Cmp_Val, ptr %t2668, i32 0, i32 0 %t2670 = load ptr, ptr %t2669 store i32 8728, ptr @lp_site %t2671 = call ptr @lp_str_concat(ptr @.str15846, ptr %t2670) store i32 0, ptr @lp_site store i32 8729, ptr @lp_site %t2672 = call ptr @lp_str_concat(ptr %t2671, ptr @.str15847) store i32 0, ptr @lp_site call void @lp_free(ptr %t2671) %t2673 = load ptr, ptr %t2667 %t2674 = getelementptr inbounds %Cmp_Val, ptr %t2673, i32 0, i32 0 %t2675 = load ptr, ptr %t2674 store i32 8730, ptr @lp_site %t2676 = call ptr @lp_str_concat(ptr %t2672, ptr %t2675) store i32 0, ptr @lp_site call void @lp_free(ptr %t2672) store i32 8731, ptr @lp_site %t2677 = call ptr @lp_str_concat(ptr %t2676, ptr @.str15848) store i32 0, ptr @lp_site call void @lp_free(ptr %t2676) %t2678 = call ptr @fn_emit_bind(ptr %t2677) %t2679 = call ptr @fn_val(ptr %t2678, ptr @.str15849) store ptr %t2679, ptr %retval br label %ret ifend539: %t2680 = load ptr, ptr %t48 %t2681 = call i32 @lp_str_eq(ptr %t2680, ptr @.str15850) %t2682 = icmp ne i32 %t2681, 0 br i1 %t2682, label %then544, label %ifend546 then544: %t2683 = load ptr, ptr %t0 %t2684 = getelementptr inbounds %Cmp_Node, ptr %t2683, i32 0, i32 7 %t2685 = load ptr, ptr %t2684 %t2686 = getelementptr inbounds %LSlice, ptr %t2685, i32 0, i32 0 %t2687 = load ptr, ptr %t2686 %t2688 = getelementptr inbounds %LSlice, ptr %t2685, i32 0, i32 1 %t2689 = load i32, ptr %t2688 %t2690 = icmp ult i32 0, %t2689 br i1 %t2690, label %ixok547, label %ixbad548 ixbad548: store i32 8732, ptr @lp_site %t2691 = call ptr @lp_win_stdio(i32 2) store i32 0, ptr @lp_site call i32 (ptr, ptr, ...) @fprintf(ptr %t2691, ptr @.fmt_bounds, ptr @.str15851, i32 0, i32 %t2689) call void @exit(i32 1) unreachable ixok547: %t2692 = getelementptr inbounds ptr, ptr %t2687, i32 0 %t2693 = load ptr, ptr %t2692 %t2694 = call ptr @fn_emit_expr(ptr %t2693) store ptr %t2694, ptr %t2695 %t2696 = load ptr, ptr %t0 %t2697 = getelementptr inbounds %Cmp_Node, ptr %t2696, i32 0, i32 7 %t2698 = load ptr, ptr %t2697 %t2699 = getelementptr inbounds %LSlice, ptr %t2698, i32 0, i32 0 %t2700 = load ptr, ptr %t2699 %t2701 = getelementptr inbounds %LSlice, ptr %t2698, i32 0, i32 1 %t2702 = load i32, ptr %t2701 %t2703 = icmp ult i32 1, %t2702 br i1 %t2703, label %ixok549, label %ixbad550 ixbad550: store i32 8733, ptr @lp_site %t2704 = call ptr @lp_win_stdio(i32 2) store i32 0, ptr @lp_site call i32 (ptr, ptr, ...) @fprintf(ptr %t2704, ptr @.fmt_bounds, ptr @.str15852, i32 1, i32 %t2702) call void @exit(i32 1) unreachable ixok549: %t2705 = getelementptr inbounds ptr, ptr %t2700, i32 1 %t2706 = load ptr, ptr %t2705 %t2707 = call ptr @fn_emit_expr(ptr %t2706) store ptr %t2707, ptr %t2708 %t2709 = load ptr, ptr %t2695 %t2710 = getelementptr inbounds %Cmp_Val, ptr %t2709, i32 0, i32 0 %t2711 = load ptr, ptr %t2710 store i32 8734, ptr @lp_site %t2712 = call ptr @lp_str_concat(ptr @.str15853, ptr %t2711) store i32 0, ptr @lp_site store i32 8735, ptr @lp_site %t2713 = call ptr @lp_str_concat(ptr %t2712, ptr @.str15854) store i32 0, ptr @lp_site call void @lp_free(ptr %t2712) %t2714 = load ptr, ptr %t2708 %t2715 = getelementptr inbounds %Cmp_Val, ptr %t2714, i32 0, i32 0 %t2716 = load ptr, ptr %t2715 store i32 8736, ptr @lp_site %t2717 = call ptr @lp_str_concat(ptr %t2713, ptr %t2716) store i32 0, ptr @lp_site call void @lp_free(ptr %t2713) store i32 8737, ptr @lp_site %t2718 = call ptr @lp_str_concat(ptr %t2717, ptr @.str15855) store i32 0, ptr @lp_site call void @lp_free(ptr %t2717) %t2719 = call ptr @fn_emit_bind(ptr %t2718) %t2720 = call ptr @fn_val(ptr %t2719, ptr @.str15856) store ptr %t2720, ptr %retval br label %ret ifend546: %t2721 = load ptr, ptr %t48 %t2722 = call i32 @fn_is_intrinsic(ptr %t2721) %t2723 = icmp ne i32 %t2722, 0 br i1 %t2723, label %then551, label %ifend553 then551: %t2724 = load ptr, ptr %t48 %t2725 = load ptr, ptr %t0 %t2726 = call ptr @fn_emit_intrinsic(ptr %t2724, ptr %t2725) store ptr %t2726, ptr %retval br label %ret ifend553: %t2727 = load ptr, ptr %t48 %t2728 = call i32 @fn_is_intrinsic2(ptr %t2727) %t2729 = icmp ne i32 %t2728, 0 br i1 %t2729, label %then554, label %ifend556 then554: %t2730 = load ptr, ptr %t48 %t2731 = load ptr, ptr %t0 %t2732 = call ptr @fn_emit_intrinsic2(ptr %t2730, ptr %t2731) store ptr %t2732, ptr %retval br label %ret ifend556: %t2733 = load ptr, ptr %t48 %t2734 = call i32 @fn_is_math_builtin(ptr %t2733) %t2735 = icmp ne i32 %t2734, 0 br i1 %t2735, label %then557, label %ifend559 then557: %t2736 = load ptr, ptr %t48 %t2737 = load ptr, ptr %t0 %t2738 = call ptr @fn_emit_math_builtin(ptr %t2736, ptr %t2737) store ptr %t2738, ptr %retval br label %ret ifend559: %t2739 = load ptr, ptr %t48 %t2740 = call ptr @fn_find_extern(ptr %t2739) store ptr %t2740, ptr %t2741 %t2742 = load ptr, ptr %t2741 %t2743 = icmp ne ptr %t2742, null %t2744 = zext i1 %t2743 to i32 %t2745 = icmp ne i32 %t2744, 0 br i1 %t2745, label %then560, label %ifend562 then560: %t2746 = load ptr, ptr %t0 %t2747 = load ptr, ptr %t2741 %t2748 = call ptr @fn_param_labels(ptr %t2747) call void @fn_reorder_named(ptr %t2746, ptr %t2748) %t2749 = load ptr, ptr %t2741 %t2750 = call ptr @fn_param_types(ptr %t2749) store ptr %t2750, ptr %t2751 %t2752 = getelementptr %LSlice, ptr null, i32 1 %t2753 = ptrtoint ptr %t2752 to i64 store i32 8738, ptr @lp_site %t2754 = call ptr @lp_malloc(i64 %t2753) store i32 0, ptr @lp_site %t2755 = getelementptr inbounds %LSlice, ptr %t2754, i32 0, i32 0 store ptr null, ptr %t2755 %t2756 = getelementptr inbounds %LSlice, ptr %t2754, i32 0, i32 1 store i32 0, ptr %t2756 %t2757 = getelementptr inbounds %LSlice, ptr %t2754, i32 0, i32 2 store i32 0, ptr %t2757 store ptr %t2754, ptr %t2758 %t2759 = getelementptr %LSlice, ptr null, i32 1 %t2760 = ptrtoint ptr %t2759 to i64 store i32 8739, ptr @lp_site %t2761 = call ptr @lp_malloc(i64 %t2760) store i32 0, ptr @lp_site %t2762 = getelementptr inbounds %LSlice, ptr %t2761, i32 0, i32 0 store ptr null, ptr %t2762 %t2763 = getelementptr inbounds %LSlice, ptr %t2761, i32 0, i32 1 store i32 0, ptr %t2763 %t2764 = getelementptr inbounds %LSlice, ptr %t2761, i32 0, i32 2 store i32 0, ptr %t2764 store ptr %t2761, ptr %t2765 store i32 0, ptr %t2766 br label %wcond563 wcond563: %t2767 = load i32, ptr %t2766 %t2768 = load ptr, ptr %t0 %t2769 = getelementptr inbounds %Cmp_Node, ptr %t2768, i32 0, i32 7 %t2770 = load ptr, ptr %t2769 %t2771 = getelementptr inbounds %LSlice, ptr %t2770, i32 0, i32 1 %t2772 = load i32, ptr %t2771 %t2773 = icmp slt i32 %t2767, %t2772 %t2774 = zext i1 %t2773 to i32 %t2775 = icmp ne i32 %t2774, 0 br i1 %t2775, label %wbody564, label %wend565 wbody564: %t2776 = load ptr, ptr %t0 %t2777 = getelementptr inbounds %Cmp_Node, ptr %t2776, i32 0, i32 7 %t2778 = load ptr, ptr %t2777 %t2779 = load i32, ptr %t2766 %t2780 = getelementptr inbounds %LSlice, ptr %t2778, i32 0, i32 0 %t2781 = load ptr, ptr %t2780 %t2782 = getelementptr inbounds %LSlice, ptr %t2778, i32 0, i32 1 %t2783 = load i32, ptr %t2782 %t2784 = icmp ult i32 %t2779, %t2783 br i1 %t2784, label %ixok566, label %ixbad567 ixbad567: store i32 8740, ptr @lp_site %t2785 = call ptr @lp_win_stdio(i32 2) store i32 0, ptr @lp_site call i32 (ptr, ptr, ...) @fprintf(ptr %t2785, ptr @.fmt_bounds, ptr @.str15857, i32 %t2779, i32 %t2783) call void @exit(i32 1) unreachable ixok566: %t2786 = getelementptr inbounds ptr, ptr %t2781, i32 %t2779 %t2787 = load ptr, ptr %t2786 %t2788 = call ptr @fn_emit_expr(ptr %t2787) store ptr %t2788, ptr %t2789 %t2790 = load ptr, ptr %t2789 %t2791 = getelementptr inbounds %Cmp_Val, ptr %t2790, i32 0, i32 1 %t2792 = load ptr, ptr %t2791 %t2793 = call i32 @fn_is_slice_ty(ptr %t2792) %t2794 = icmp ne i32 %t2793, 0 br i1 %t2794, label %then568, label %ifend570 then568: %t2795 = load ptr, ptr %t2789 %t2796 = getelementptr inbounds %Cmp_Val, ptr %t2795, i32 0, i32 0 %t2797 = load ptr, ptr %t2796 %t2798 = call ptr @fn_slice_field(ptr %t2797, i32 0) store i32 8741, ptr @lp_site %t2799 = call ptr @lp_str_concat(ptr @.str15858, ptr %t2798) store i32 0, ptr @lp_site %t2800 = call ptr @fn_emit_bind(ptr %t2799) %t2801 = call ptr @fn_val(ptr %t2800, ptr @.str15859) store ptr %t2801, ptr %t2789 br label %ifend570 ifend570: %t2802 = load ptr, ptr %t2789 %t2803 = getelementptr inbounds %Cmp_Val, ptr %t2802, i32 0, i32 1 %t2804 = load ptr, ptr %t2803 store ptr %t2804, ptr %t2805 %t2806 = load i32, ptr %t2766 %t2807 = load ptr, ptr %t2751 %t2808 = getelementptr inbounds %LSlice, ptr %t2807, i32 0, i32 1 %t2809 = load i32, ptr %t2808 %t2810 = icmp slt i32 %t2806, %t2809 %t2811 = zext i1 %t2810 to i32 %t2812 = icmp ne i32 %t2811, 0 br i1 %t2812, label %then571, label %ifend573 then571: %t2813 = load ptr, ptr %t2751 %t2814 = load i32, ptr %t2766 %t2815 = getelementptr inbounds %LSlice, ptr %t2813, i32 0, i32 0 %t2816 = load ptr, ptr %t2815 %t2817 = getelementptr inbounds %LSlice, ptr %t2813, i32 0, i32 1 %t2818 = load i32, ptr %t2817 %t2819 = icmp ult i32 %t2814, %t2818 br i1 %t2819, label %ixok574, label %ixbad575 ixbad575: store i32 8742, ptr @lp_site %t2820 = call ptr @lp_win_stdio(i32 2) store i32 0, ptr @lp_site call i32 (ptr, ptr, ...) @fprintf(ptr %t2820, ptr @.fmt_bounds, ptr @.str15860, i32 %t2814, i32 %t2818) call void @exit(i32 1) unreachable ixok574: %t2821 = getelementptr inbounds ptr, ptr %t2816, i32 %t2814 %t2822 = load ptr, ptr %t2821 store ptr %t2822, ptr %t2805 br label %ifend573 ifend573: %t2823 = load ptr, ptr %t2805 %t2824 = call i32 @fn_is_slice_ty(ptr %t2823) %t2825 = icmp ne i32 %t2824, 0 br i1 %t2825, label %then576, label %ifend578 then576: store ptr @.str15861, ptr %t2805 br label %ifend578 ifend578: %t2826 = load ptr, ptr %t2758 %t2827 = load ptr, ptr %t2789 %t2828 = load ptr, ptr %t2805 %t2829 = call ptr @fn_coerce_code(ptr %t2827, ptr %t2828) %t2830 = getelementptr inbounds %LSlice, ptr %t2826, i32 0, i32 1 %t2831 = getelementptr inbounds %LSlice, ptr %t2826, i32 0, i32 2 %t2832 = getelementptr inbounds %LSlice, ptr %t2826, i32 0, i32 0 %t2833 = load i32, ptr %t2830 %t2834 = load i32, ptr %t2831 %t2835 = icmp sge i32 %t2833, %t2834 br i1 %t2835, label %grow579, label %put580 grow579: %t2836 = mul i32 %t2834, 2 %t2837 = icmp eq i32 %t2834, 0 %t2838 = select i1 %t2837, i32 8, i32 %t2836 %t2839 = getelementptr ptr, ptr null, i32 1 %t2840 = ptrtoint ptr %t2839 to i64 %t2841 = zext i32 %t2838 to i64 %t2842 = mul i64 %t2841, %t2840 %t2843 = load ptr, ptr %t2832 store i32 8743, ptr @lp_site %t2844 = call ptr @lp_realloc(ptr %t2843, i64 %t2842) store i32 0, ptr @lp_site store ptr %t2844, ptr %t2832 store i32 %t2838, ptr %t2831 br label %put580 put580: %t2845 = load ptr, ptr %t2832 %t2846 = getelementptr inbounds ptr, ptr %t2845, i32 %t2833 store ptr %t2829, ptr %t2846 %t2847 = add i32 %t2833, 1 store i32 %t2847, ptr %t2830 %t2848 = load ptr, ptr %t2765 %t2849 = load ptr, ptr %t2805 %t2850 = getelementptr inbounds %LSlice, ptr %t2848, i32 0, i32 1 %t2851 = getelementptr inbounds %LSlice, ptr %t2848, i32 0, i32 2 %t2852 = getelementptr inbounds %LSlice, ptr %t2848, i32 0, i32 0 %t2853 = load i32, ptr %t2850 %t2854 = load i32, ptr %t2851 %t2855 = icmp sge i32 %t2853, %t2854 br i1 %t2855, label %grow581, label %put582 grow581: %t2856 = mul i32 %t2854, 2 %t2857 = icmp eq i32 %t2854, 0 %t2858 = select i1 %t2857, i32 8, i32 %t2856 %t2859 = getelementptr ptr, ptr null, i32 1 %t2860 = ptrtoint ptr %t2859 to i64 %t2861 = zext i32 %t2858 to i64 %t2862 = mul i64 %t2861, %t2860 %t2863 = load ptr, ptr %t2852 store i32 8744, ptr @lp_site %t2864 = call ptr @lp_realloc(ptr %t2863, i64 %t2862) store i32 0, ptr @lp_site store ptr %t2864, ptr %t2852 store i32 %t2858, ptr %t2851 br label %put582 put582: %t2865 = load ptr, ptr %t2852 %t2866 = getelementptr inbounds ptr, ptr %t2865, i32 %t2853 store ptr %t2849, ptr %t2866 %t2867 = add i32 %t2853, 1 store i32 %t2867, ptr %t2850 %t2868 = load i32, ptr %t2766 %t2869 = add i32 %t2868, 1 store i32 %t2869, ptr %t2766 br label %wcond563 wend565: %t2870 = load ptr, ptr %t2741 %t2871 = getelementptr inbounds %Cmp_Node, ptr %t2870, i32 0, i32 3 %t2872 = load ptr, ptr %t2871 %t2873 = call ptr @fn_llty(ptr %t2872) store ptr %t2873, ptr %t2874 call void @fn_emit(ptr @.str15862) store ptr @.str15863, ptr %t2875 %t2876 = load ptr, ptr %t2874 %t2877 = call i32 @lp_str_eq(ptr %t2876, ptr @.str15864) %t2878 = icmp eq i32 %t2877, 0 %t2879 = zext i1 %t2878 to i32 %t2880 = icmp ne i32 %t2879, 0 br i1 %t2880, label %then583, label %ifend585 then583: %t2881 = call ptr @fn_nreg() store ptr %t2881, ptr %t2875 %t2882 = load ptr, ptr %t2875 call void @fn_emit(ptr %t2882) call void @fn_emit(ptr @.str15865) br label %ifend585 ifend585: call void @fn_emit(ptr @.str15866) %t2883 = load ptr, ptr %t2874 call void @fn_emit(ptr %t2883) call void @fn_emit(ptr @.str15867) %t2884 = load ptr, ptr %t2741 %t2885 = getelementptr inbounds %Cmp_Node, ptr %t2884, i32 0, i32 4 %t2886 = load ptr, ptr %t2885 %t2887 = getelementptr inbounds %Cmp_Node, ptr %t2886, i32 0, i32 1 %t2888 = load ptr, ptr %t2887 call void @fn_emit(ptr %t2888) call void @fn_emit(ptr @.str15868) store i32 0, ptr %t2766 br label %wcond586 wcond586: %t2889 = load i32, ptr %t2766 %t2890 = load ptr, ptr %t2758 %t2891 = getelementptr inbounds %LSlice, ptr %t2890, i32 0, i32 1 %t2892 = load i32, ptr %t2891 %t2893 = icmp slt i32 %t2889, %t2892 %t2894 = zext i1 %t2893 to i32 %t2895 = icmp ne i32 %t2894, 0 br i1 %t2895, label %wbody587, label %wend588 wbody587: %t2896 = load i32, ptr %t2766 %t2897 = icmp sgt i32 %t2896, 0 %t2898 = zext i1 %t2897 to i32 %t2899 = icmp ne i32 %t2898, 0 br i1 %t2899, label %then589, label %ifend591 then589: call void @fn_emit(ptr @.str15869) br label %ifend591 ifend591: %t2900 = load ptr, ptr %t2765 %t2901 = load i32, ptr %t2766 %t2902 = getelementptr inbounds %LSlice, ptr %t2900, i32 0, i32 0 %t2903 = load ptr, ptr %t2902 %t2904 = getelementptr inbounds %LSlice, ptr %t2900, i32 0, i32 1 %t2905 = load i32, ptr %t2904 %t2906 = icmp ult i32 %t2901, %t2905 br i1 %t2906, label %ixok592, label %ixbad593 ixbad593: store i32 8745, ptr @lp_site %t2907 = call ptr @lp_win_stdio(i32 2) store i32 0, ptr @lp_site call i32 (ptr, ptr, ...) @fprintf(ptr %t2907, ptr @.fmt_bounds, ptr @.str15870, i32 %t2901, i32 %t2905) call void @exit(i32 1) unreachable ixok592: %t2908 = getelementptr inbounds ptr, ptr %t2903, i32 %t2901 %t2909 = load ptr, ptr %t2908 %t2910 = call ptr @fn_llty(ptr %t2909) call void @fn_emit(ptr %t2910) call void @fn_emit(ptr @.str15871) %t2911 = load ptr, ptr %t2758 %t2912 = load i32, ptr %t2766 %t2913 = getelementptr inbounds %LSlice, ptr %t2911, i32 0, i32 0 %t2914 = load ptr, ptr %t2913 %t2915 = getelementptr inbounds %LSlice, ptr %t2911, i32 0, i32 1 %t2916 = load i32, ptr %t2915 %t2917 = icmp ult i32 %t2912, %t2916 br i1 %t2917, label %ixok594, label %ixbad595 ixbad595: store i32 8746, ptr @lp_site %t2918 = call ptr @lp_win_stdio(i32 2) store i32 0, ptr @lp_site call i32 (ptr, ptr, ...) @fprintf(ptr %t2918, ptr @.fmt_bounds, ptr @.str15872, i32 %t2912, i32 %t2916) call void @exit(i32 1) unreachable ixok594: %t2919 = getelementptr inbounds ptr, ptr %t2914, i32 %t2912 %t2920 = load ptr, ptr %t2919 call void @fn_emit(ptr %t2920) %t2921 = load i32, ptr %t2766 %t2922 = add i32 %t2921, 1 store i32 %t2922, ptr %t2766 br label %wcond586 wend588: call void @fn_emit(ptr @.str15873) %t2923 = load ptr, ptr %t2875 %t2924 = load ptr, ptr %t2741 %t2925 = getelementptr inbounds %Cmp_Node, ptr %t2924, i32 0, i32 3 %t2926 = load ptr, ptr %t2925 %t2927 = call ptr @fn_val(ptr %t2923, ptr %t2926) store ptr %t2927, ptr %retval br label %ret ifend562: %t2928 = load ptr, ptr %t48 %t2929 = call ptr @fn_variant_enum(ptr %t2928) store ptr %t2929, ptr %t2930 %t2931 = load ptr, ptr %t2930 %t2932 = icmp ne ptr %t2931, null %t2933 = zext i1 %t2932 to i32 %t2934 = icmp ne i32 %t2933, 0 br i1 %t2934, label %then596, label %ifend598 then596: %t2935 = load ptr, ptr %t2930 %t2936 = load i32, ptr @g_g_var_ord %t2937 = load ptr, ptr %t0 %t2938 = getelementptr inbounds %Cmp_Node, ptr %t2937, i32 0, i32 7 %t2939 = load ptr, ptr %t2938 %t2940 = call ptr @fn_emit_variant_new(ptr %t2935, i32 %t2936, ptr %t2939) store ptr %t2940, ptr %retval br label %ret ifend598: %t2941 = load ptr, ptr %t48 %t2942 = call ptr @fn_find_fn(ptr %t2941) store ptr %t2942, ptr %t2943 %t2944 = load ptr, ptr %t48 store ptr %t2944, ptr %t2945 %t2946 = load ptr, ptr %t2943 %t2947 = icmp eq ptr %t2946, null %t2948 = zext i1 %t2947 to i32 %t2949 = icmp ne i32 %t2948, 0 br i1 %t2949, label %then599, label %ifend601 then599: %t2950 = load ptr, ptr %t48 store i32 8747, ptr @lp_site %t2951 = call ptr @lp_str_concat(ptr @.str15874, ptr %t2950) store i32 0, ptr @lp_site store ptr %t2951, ptr %t2952 %t2953 = load ptr, ptr %t2952 %t2954 = call ptr @fn_find_fn(ptr %t2953) store ptr %t2954, ptr %t2943 %t2955 = load ptr, ptr %t2943 %t2956 = icmp eq ptr %t2955, null %t2957 = zext i1 %t2956 to i32 %t2958 = icmp ne i32 %t2957, 0 br i1 %t2958, label %then602, label %ifend604 then602: %t2959 = load ptr, ptr %t48 store i32 8748, ptr @lp_site %t2960 = call ptr @lp_str_concat(ptr @.str15875, ptr %t2959) store i32 0, ptr @lp_site call void @fn_perr(ptr %t2960) br label %ifend604 ifend604: %t2961 = load ptr, ptr %t0 %t2962 = load ptr, ptr %t2943 call void @fn_state_inject(ptr %t2961, ptr %t2962) %t2963 = load ptr, ptr %t2952 store ptr %t2963, ptr %t2945 br label %ifend601 ifend601: %t2964 = load ptr, ptr %t2943 %t2965 = load ptr, ptr %t48 call void @fn_vis_check(ptr %t2964, ptr %t2965) %t2966 = load ptr, ptr %t0 %t2967 = load ptr, ptr %t2943 call void @fn_state_inject_generated(ptr %t2966, ptr %t2967) %t2968 = load ptr, ptr %t0 %t2969 = load ptr, ptr %t2943 call void @fn_state_inject_runtime(ptr %t2968, ptr %t2969) %t2970 = load ptr, ptr %t2943 %t2971 = getelementptr inbounds %Cmp_Node, ptr %t2970, i32 0, i32 1 %t2972 = load ptr, ptr %t2971 %t2973 = call i32 @fn_is_action_builtin(ptr %t2972) %t2974 = icmp ne i32 %t2973, 0 br i1 %t2974, label %then605, label %ifend607 then605: %t2975 = load ptr, ptr %t0 %t2976 = load ptr, ptr %t2943 call void @fn_state_inject(ptr %t2975, ptr %t2976) br label %ifend607 ifend607: %t2977 = load ptr, ptr %t0 %t2978 = load ptr, ptr %t2943 call void @fn_call_fill_defaults(ptr %t2977, ptr %t2978) %t2979 = load ptr, ptr %t0 %t2980 = load ptr, ptr %t2943 %t2981 = call ptr @fn_param_labels(ptr %t2980) call void @fn_reorder_named(ptr %t2979, ptr %t2981) %t2982 = load ptr, ptr %t2943 %t2983 = call ptr @fn_param_types(ptr %t2982) store ptr %t2983, ptr %t2984 %t2985 = getelementptr %LSlice, ptr null, i32 1 %t2986 = ptrtoint ptr %t2985 to i64 store i32 8749, ptr @lp_site %t2987 = call ptr @lp_malloc(i64 %t2986) store i32 0, ptr @lp_site %t2988 = getelementptr inbounds %LSlice, ptr %t2987, i32 0, i32 0 store ptr null, ptr %t2988 %t2989 = getelementptr inbounds %LSlice, ptr %t2987, i32 0, i32 1 store i32 0, ptr %t2989 %t2990 = getelementptr inbounds %LSlice, ptr %t2987, i32 0, i32 2 store i32 0, ptr %t2990 store ptr %t2987, ptr %t2991 %t2992 = getelementptr %LSlice, ptr null, i32 1 %t2993 = ptrtoint ptr %t2992 to i64 store i32 8750, ptr @lp_site %t2994 = call ptr @lp_malloc(i64 %t2993) store i32 0, ptr @lp_site %t2995 = getelementptr inbounds %LSlice, ptr %t2994, i32 0, i32 0 store ptr null, ptr %t2995 %t2996 = getelementptr inbounds %LSlice, ptr %t2994, i32 0, i32 1 store i32 0, ptr %t2996 %t2997 = getelementptr inbounds %LSlice, ptr %t2994, i32 0, i32 2 store i32 0, ptr %t2997 store ptr %t2994, ptr %t2998 store i32 0, ptr %t2999 br label %wcond608 wcond608: %t3000 = load i32, ptr %t2999 %t3001 = load ptr, ptr %t0 %t3002 = getelementptr inbounds %Cmp_Node, ptr %t3001, i32 0, i32 7 %t3003 = load ptr, ptr %t3002 %t3004 = getelementptr inbounds %LSlice, ptr %t3003, i32 0, i32 1 %t3005 = load i32, ptr %t3004 %t3006 = icmp slt i32 %t3000, %t3005 %t3007 = zext i1 %t3006 to i32 %t3008 = icmp ne i32 %t3007, 0 br i1 %t3008, label %wbody609, label %wend610 wbody609: %t3009 = load ptr, ptr %t0 %t3010 = getelementptr inbounds %Cmp_Node, ptr %t3009, i32 0, i32 7 %t3011 = load ptr, ptr %t3010 %t3012 = load i32, ptr %t2999 %t3013 = getelementptr inbounds %LSlice, ptr %t3011, i32 0, i32 0 %t3014 = load ptr, ptr %t3013 %t3015 = getelementptr inbounds %LSlice, ptr %t3011, i32 0, i32 1 %t3016 = load i32, ptr %t3015 %t3017 = icmp ult i32 %t3012, %t3016 br i1 %t3017, label %ixok611, label %ixbad612 ixbad612: store i32 8751, ptr @lp_site %t3018 = call ptr @lp_win_stdio(i32 2) store i32 0, ptr @lp_site call i32 (ptr, ptr, ...) @fprintf(ptr %t3018, ptr @.fmt_bounds, ptr @.str15876, i32 %t3012, i32 %t3016) call void @exit(i32 1) unreachable ixok611: %t3019 = getelementptr inbounds ptr, ptr %t3014, i32 %t3012 %t3020 = load ptr, ptr %t3019 %t3021 = call ptr @fn_emit_expr(ptr %t3020) store ptr %t3021, ptr %t3022 %t3023 = load ptr, ptr %t3022 %t3024 = getelementptr inbounds %Cmp_Val, ptr %t3023, i32 0, i32 1 %t3025 = load ptr, ptr %t3024 store ptr %t3025, ptr %t3026 %t3027 = load i32, ptr %t2999 %t3028 = load ptr, ptr %t2984 %t3029 = getelementptr inbounds %LSlice, ptr %t3028, i32 0, i32 1 %t3030 = load i32, ptr %t3029 %t3031 = icmp slt i32 %t3027, %t3030 %t3032 = zext i1 %t3031 to i32 %t3033 = icmp ne i32 %t3032, 0 br i1 %t3033, label %then613, label %ifend615 then613: %t3034 = load ptr, ptr %t2984 %t3035 = load i32, ptr %t2999 %t3036 = getelementptr inbounds %LSlice, ptr %t3034, i32 0, i32 0 %t3037 = load ptr, ptr %t3036 %t3038 = getelementptr inbounds %LSlice, ptr %t3034, i32 0, i32 1 %t3039 = load i32, ptr %t3038 %t3040 = icmp ult i32 %t3035, %t3039 br i1 %t3040, label %ixok616, label %ixbad617 ixbad617: store i32 8752, ptr @lp_site %t3041 = call ptr @lp_win_stdio(i32 2) store i32 0, ptr @lp_site call i32 (ptr, ptr, ...) @fprintf(ptr %t3041, ptr @.fmt_bounds, ptr @.str15877, i32 %t3035, i32 %t3039) call void @exit(i32 1) unreachable ixok616: %t3042 = getelementptr inbounds ptr, ptr %t3037, i32 %t3035 %t3043 = load ptr, ptr %t3042 store ptr %t3043, ptr %t3026 br label %ifend615 ifend615: %t3044 = load ptr, ptr %t2991 %t3045 = load ptr, ptr %t3022 %t3046 = load ptr, ptr %t3026 %t3047 = call ptr @fn_coerce_code(ptr %t3045, ptr %t3046) %t3048 = getelementptr inbounds %LSlice, ptr %t3044, i32 0, i32 1 %t3049 = getelementptr inbounds %LSlice, ptr %t3044, i32 0, i32 2 %t3050 = getelementptr inbounds %LSlice, ptr %t3044, i32 0, i32 0 %t3051 = load i32, ptr %t3048 %t3052 = load i32, ptr %t3049 %t3053 = icmp sge i32 %t3051, %t3052 br i1 %t3053, label %grow618, label %put619 grow618: %t3054 = mul i32 %t3052, 2 %t3055 = icmp eq i32 %t3052, 0 %t3056 = select i1 %t3055, i32 8, i32 %t3054 %t3057 = getelementptr ptr, ptr null, i32 1 %t3058 = ptrtoint ptr %t3057 to i64 %t3059 = zext i32 %t3056 to i64 %t3060 = mul i64 %t3059, %t3058 %t3061 = load ptr, ptr %t3050 store i32 8753, ptr @lp_site %t3062 = call ptr @lp_realloc(ptr %t3061, i64 %t3060) store i32 0, ptr @lp_site store ptr %t3062, ptr %t3050 store i32 %t3056, ptr %t3049 br label %put619 put619: %t3063 = load ptr, ptr %t3050 %t3064 = getelementptr inbounds ptr, ptr %t3063, i32 %t3051 store ptr %t3047, ptr %t3064 %t3065 = add i32 %t3051, 1 store i32 %t3065, ptr %t3048 %t3066 = load ptr, ptr %t2998 %t3067 = load ptr, ptr %t3026 %t3068 = getelementptr inbounds %LSlice, ptr %t3066, i32 0, i32 1 %t3069 = getelementptr inbounds %LSlice, ptr %t3066, i32 0, i32 2 %t3070 = getelementptr inbounds %LSlice, ptr %t3066, i32 0, i32 0 %t3071 = load i32, ptr %t3068 %t3072 = load i32, ptr %t3069 %t3073 = icmp sge i32 %t3071, %t3072 br i1 %t3073, label %grow620, label %put621 grow620: %t3074 = mul i32 %t3072, 2 %t3075 = icmp eq i32 %t3072, 0 %t3076 = select i1 %t3075, i32 8, i32 %t3074 %t3077 = getelementptr ptr, ptr null, i32 1 %t3078 = ptrtoint ptr %t3077 to i64 %t3079 = zext i32 %t3076 to i64 %t3080 = mul i64 %t3079, %t3078 %t3081 = load ptr, ptr %t3070 store i32 8754, ptr @lp_site %t3082 = call ptr @lp_realloc(ptr %t3081, i64 %t3080) store i32 0, ptr @lp_site store ptr %t3082, ptr %t3070 store i32 %t3076, ptr %t3069 br label %put621 put621: %t3083 = load ptr, ptr %t3070 %t3084 = getelementptr inbounds ptr, ptr %t3083, i32 %t3071 store ptr %t3067, ptr %t3084 %t3085 = add i32 %t3071, 1 store i32 %t3085, ptr %t3068 %t3086 = load i32, ptr %t2999 %t3087 = add i32 %t3086, 1 store i32 %t3087, ptr %t2999 br label %wcond608 wend610: %t3088 = load ptr, ptr %t2943 %t3089 = getelementptr inbounds %Cmp_Node, ptr %t3088, i32 0, i32 3 %t3090 = load ptr, ptr %t3089 %t3091 = call ptr @fn_llty(ptr %t3090) store ptr %t3091, ptr %t3092 call void @fn_emit(ptr @.str15878) store ptr @.str15879, ptr %t3093 %t3094 = load ptr, ptr %t3092 %t3095 = call i32 @lp_str_eq(ptr %t3094, ptr @.str15880) %t3096 = icmp eq i32 %t3095, 0 %t3097 = zext i1 %t3096 to i32 %t3098 = icmp ne i32 %t3097, 0 br i1 %t3098, label %then622, label %ifend624 then622: %t3099 = call ptr @fn_nreg() store ptr %t3099, ptr %t3093 %t3100 = load ptr, ptr %t3093 call void @fn_emit(ptr %t3100) call void @fn_emit(ptr @.str15881) br label %ifend624 ifend624: call void @fn_emit(ptr @.str15882) %t3101 = load ptr, ptr %t3092 call void @fn_emit(ptr %t3101) call void @fn_emit(ptr @.str15883) %t3102 = load ptr, ptr %t2945 call void @fn_emit(ptr %t3102) call void @fn_emit(ptr @.str15884) store i32 0, ptr %t2999 br label %wcond625 wcond625: %t3103 = load i32, ptr %t2999 %t3104 = load ptr, ptr %t2991 %t3105 = getelementptr inbounds %LSlice, ptr %t3104, i32 0, i32 1 %t3106 = load i32, ptr %t3105 %t3107 = icmp slt i32 %t3103, %t3106 %t3108 = zext i1 %t3107 to i32 %t3109 = icmp ne i32 %t3108, 0 br i1 %t3109, label %wbody626, label %wend627 wbody626: %t3110 = load i32, ptr %t2999 %t3111 = icmp sgt i32 %t3110, 0 %t3112 = zext i1 %t3111 to i32 %t3113 = icmp ne i32 %t3112, 0 br i1 %t3113, label %then628, label %ifend630 then628: call void @fn_emit(ptr @.str15885) br label %ifend630 ifend630: %t3114 = load ptr, ptr %t2998 %t3115 = load i32, ptr %t2999 %t3116 = getelementptr inbounds %LSlice, ptr %t3114, i32 0, i32 0 %t3117 = load ptr, ptr %t3116 %t3118 = getelementptr inbounds %LSlice, ptr %t3114, i32 0, i32 1 %t3119 = load i32, ptr %t3118 %t3120 = icmp ult i32 %t3115, %t3119 br i1 %t3120, label %ixok631, label %ixbad632 ixbad632: store i32 8755, ptr @lp_site %t3121 = call ptr @lp_win_stdio(i32 2) store i32 0, ptr @lp_site call i32 (ptr, ptr, ...) @fprintf(ptr %t3121, ptr @.fmt_bounds, ptr @.str15886, i32 %t3115, i32 %t3119) call void @exit(i32 1) unreachable ixok631: %t3122 = getelementptr inbounds ptr, ptr %t3117, i32 %t3115 %t3123 = load ptr, ptr %t3122 %t3124 = call ptr @fn_llty(ptr %t3123) call void @fn_emit(ptr %t3124) call void @fn_emit(ptr @.str15887) %t3125 = load ptr, ptr %t2991 %t3126 = load i32, ptr %t2999 %t3127 = getelementptr inbounds %LSlice, ptr %t3125, i32 0, i32 0 %t3128 = load ptr, ptr %t3127 %t3129 = getelementptr inbounds %LSlice, ptr %t3125, i32 0, i32 1 %t3130 = load i32, ptr %t3129 %t3131 = icmp ult i32 %t3126, %t3130 br i1 %t3131, label %ixok633, label %ixbad634 ixbad634: store i32 8756, ptr @lp_site %t3132 = call ptr @lp_win_stdio(i32 2) store i32 0, ptr @lp_site call i32 (ptr, ptr, ...) @fprintf(ptr %t3132, ptr @.fmt_bounds, ptr @.str15888, i32 %t3126, i32 %t3130) call void @exit(i32 1) unreachable ixok633: %t3133 = getelementptr inbounds ptr, ptr %t3128, i32 %t3126 %t3134 = load ptr, ptr %t3133 call void @fn_emit(ptr %t3134) %t3135 = load i32, ptr %t2999 %t3136 = add i32 %t3135, 1 store i32 %t3136, ptr %t2999 br label %wcond625 wend627: call void @fn_emit(ptr @.str15889) %t3137 = load ptr, ptr %t3093 %t3138 = load ptr, ptr %t2943 %t3139 = getelementptr inbounds %Cmp_Node, ptr %t3138, i32 0, i32 3 %t3140 = load ptr, ptr %t3139 %t3141 = call ptr @fn_val(ptr %t3137, ptr %t3140) store ptr %t3141, ptr %retval br label %ret ret: %t3142 = load ptr, ptr %retval ret ptr %t3142 } define ptr @fn_emit_expr(ptr %arg_e) { entry: %retval = alloca ptr %t0 = alloca ptr %t7 = alloca ptr %t17 = 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 @.str15890, ptr @.str15891) store ptr %t5, ptr %retval br label %ret ifend2: %t6 = load ptr, ptr @g_g_es_node store ptr %t6, ptr %t7 %t8 = load ptr, ptr %t0 %t9 = getelementptr inbounds %Cmp_Node, ptr %t8, i32 0, i32 12 %t10 = load i32, ptr %t9 %t11 = icmp eq i32 %t10, 77 %t12 = zext i1 %t11 to i32 %t13 = icmp ne i32 %t12, 0 br i1 %t13, label %then3, label %else4 then3: %t14 = load ptr, ptr %t0 store ptr %t14, ptr @g_g_es_node br label %ifend5 else4: store ptr null, ptr @g_g_es_node br label %ifend5 ifend5: %t15 = load ptr, ptr %t0 %t16 = call ptr @fn_emit_expr_raw(ptr %t15) store ptr %t16, ptr %t17 %t18 = load ptr, ptr %t7 store ptr %t18, ptr @g_g_es_node %t19 = load ptr, ptr %t17 store ptr %t19, ptr %retval br label %ret ret: %t20 = load ptr, ptr %retval ret ptr %t20 } define ptr @fn_emit_expr_raw(ptr %arg_e) { entry: %retval = alloca ptr %t0 = alloca ptr %t27 = alloca i32 %t48 = alloca ptr %t64 = alloca ptr %t124 = alloca ptr %t129 = alloca ptr %t134 = alloca ptr %t158 = alloca i32 %t236 = alloca i32 %t266 = alloca ptr %t285 = alloca ptr %t310 = alloca ptr %t331 = alloca ptr %t352 = alloca ptr %t395 = alloca i32 %t418 = alloca i32 %t439 = alloca i32 %t451 = alloca ptr %t456 = alloca i32 %t461 = alloca i32 %t483 = alloca ptr %t504 = alloca ptr %t517 = alloca ptr %t529 = alloca ptr %t536 = alloca ptr %t587 = alloca ptr %t612 = alloca ptr %t632 = alloca i32 %t654 = alloca ptr %t725 = 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 @.str15892, ptr @.str15893) 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 1 %t14 = load ptr, ptr %t13 %t15 = icmp ne ptr %t14, null %t16 = zext i1 %t15 to i32 %t17 = icmp ne i32 %t16, 0 br i1 %t17, label %then6, label %ifend8 then6: %t18 = load ptr, ptr %t0 %t19 = getelementptr inbounds %Cmp_Node, ptr %t18, i32 0, i32 1 %t20 = load ptr, ptr %t19 %t21 = call ptr @fn_val(ptr %t20, ptr @.str15894) store ptr %t21, ptr %retval br label %ret ifend8: %t22 = load ptr, ptr %t0 %t23 = getelementptr inbounds %Cmp_Node, ptr %t22, i32 0, i32 2 %t24 = load i32, ptr %t23 %t25 = call ptr @fn_itoa(i32 %t24) %t26 = call ptr @fn_val(ptr %t25, ptr @.str15895) store ptr %t26, ptr %retval br label %ret ifend5: %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, 40 %t32 = zext i1 %t31 to i32 %t33 = icmp ne i32 %t32, 0 %t34 = zext i1 %t33 to i32 store i32 %t34, ptr %t27 br i1 %t33, label %sc9, label %scend10 sc9: %t35 = load ptr, ptr %t0 %t36 = getelementptr inbounds %Cmp_Node, ptr %t35, i32 0, i32 9 %t37 = load ptr, ptr %t36 %t38 = call i32 @fn_is_float_file(ptr %t37) %t39 = icmp ne i32 %t38, 0 %t40 = zext i1 %t39 to i32 store i32 %t40, ptr %t27 br label %scend10 scend10: %t41 = load i32, ptr %t27 %t42 = icmp ne i32 %t41, 0 br i1 %t42, label %then11, label %ifend13 then11: %t43 = load ptr, ptr %t0 %t44 = getelementptr inbounds %Cmp_Node, ptr %t43, i32 0, i32 1 %t45 = load ptr, ptr %t44 %t46 = call ptr @fn_fp_lit_code(ptr %t45, ptr @.str15896) %t47 = call ptr @fn_val(ptr %t46, ptr @.str15897) store ptr %t47, ptr %t48 %t49 = load ptr, ptr %t48 %t50 = getelementptr inbounds %Cmp_Val, ptr %t49, i32 0, i32 2 %t51 = load ptr, ptr %t0 store ptr %t51, ptr %t50 %t52 = load ptr, ptr %t48 store ptr %t52, ptr %retval br label %ret ifend13: %t53 = load ptr, ptr %t0 %t54 = getelementptr inbounds %Cmp_Node, ptr %t53, i32 0, i32 0 %t55 = load i32, ptr %t54 %t56 = icmp eq i32 %t55, 40 %t57 = zext i1 %t56 to i32 %t58 = icmp ne i32 %t57, 0 br i1 %t58, label %then14, label %ifend16 then14: %t59 = load ptr, ptr %t0 %t60 = getelementptr inbounds %Cmp_Node, ptr %t59, i32 0, i32 2 %t61 = load i32, ptr %t60 %t62 = call ptr @fn_itoa(i32 %t61) %t63 = call ptr @fn_val(ptr %t62, ptr @.str15898) store ptr %t63, ptr %t64 %t65 = load ptr, ptr %t64 %t66 = getelementptr inbounds %Cmp_Val, ptr %t65, i32 0, i32 2 %t67 = load ptr, ptr %t0 store ptr %t67, ptr %t66 %t68 = load ptr, ptr %t64 store ptr %t68, ptr %retval br label %ret ifend16: %t69 = load ptr, ptr %t0 %t70 = getelementptr inbounds %Cmp_Node, ptr %t69, i32 0, i32 0 %t71 = load i32, ptr %t70 %t72 = icmp eq i32 %t71, 190 %t73 = zext i1 %t72 to i32 %t74 = icmp ne i32 %t73, 0 br i1 %t74, label %then17, label %ifend19 then17: %t75 = load ptr, ptr @g_g_prevals %t76 = load ptr, ptr %t0 %t77 = getelementptr inbounds %Cmp_Node, ptr %t76, i32 0, i32 2 %t78 = load i32, ptr %t77 %t79 = getelementptr inbounds %LSlice, ptr %t75, i32 0, i32 0 %t80 = load ptr, ptr %t79 %t81 = getelementptr inbounds %LSlice, ptr %t75, i32 0, i32 1 %t82 = load i32, ptr %t81 %t83 = icmp ult i32 %t78, %t82 br i1 %t83, label %ixok20, label %ixbad21 ixbad21: store i32 8757, ptr @lp_site %t84 = call ptr @lp_win_stdio(i32 2) store i32 0, ptr @lp_site call i32 (ptr, ptr, ...) @fprintf(ptr %t84, ptr @.fmt_bounds, ptr @.str15899, i32 %t78, i32 %t82) call void @exit(i32 1) unreachable ixok20: %t85 = getelementptr inbounds ptr, ptr %t80, i32 %t78 %t86 = load ptr, ptr %t85 store ptr %t86, ptr %retval br label %ret ifend19: %t87 = load ptr, ptr %t0 %t88 = getelementptr inbounds %Cmp_Node, ptr %t87, i32 0, i32 0 %t89 = load i32, ptr %t88 %t90 = icmp eq i32 %t89, 32 %t91 = zext i1 %t90 to i32 %t92 = icmp ne i32 %t91, 0 br i1 %t92, label %then22, label %ifend24 then22: %t93 = load ptr, ptr %t0 %t94 = getelementptr inbounds %Cmp_Node, ptr %t93, i32 0, i32 2 %t95 = load i32, ptr %t94 %t96 = call ptr @fn_itoa(i32 %t95) %t97 = call ptr @fn_val(ptr %t96, ptr @.str15901) store ptr %t97, ptr %retval br label %ret ifend24: %t98 = load ptr, ptr %t0 %t99 = getelementptr inbounds %Cmp_Node, ptr %t98, i32 0, i32 0 %t100 = load i32, ptr %t99 %t101 = icmp eq i32 %t100, 43 %t102 = zext i1 %t101 to i32 %t103 = icmp ne i32 %t102, 0 br i1 %t103, label %then25, label %ifend27 then25: %t104 = call ptr @fn_val(ptr @.str15902, ptr @.str15903) store ptr %t104, ptr %retval br label %ret ifend27: %t105 = load ptr, ptr %t0 %t106 = getelementptr inbounds %Cmp_Node, ptr %t105, i32 0, i32 0 %t107 = load i32, ptr %t106 %t108 = icmp eq i32 %t107, 22 %t109 = zext i1 %t108 to i32 %t110 = icmp ne i32 %t109, 0 br i1 %t110, label %then28, label %ifend30 then28: %t111 = load ptr, ptr %t0 %t112 = call ptr @fn_emit_spawn(ptr %t111) %t113 = call ptr @fn_val(ptr %t112, ptr @.str15904) store ptr %t113, ptr %retval br label %ret ifend30: %t114 = load ptr, ptr %t0 %t115 = getelementptr inbounds %Cmp_Node, ptr %t114, i32 0, i32 0 %t116 = load i32, ptr %t115 %t117 = icmp eq i32 %t116, 44 %t118 = zext i1 %t117 to i32 %t119 = icmp ne i32 %t118, 0 br i1 %t119, label %then31, label %ifend33 then31: %t120 = load ptr, ptr %t0 %t121 = getelementptr inbounds %Cmp_Node, ptr %t120, i32 0, i32 4 %t122 = load ptr, ptr %t121 %t123 = call ptr @fn_emit_expr(ptr %t122) store ptr %t123, ptr %t124 %t125 = load ptr, ptr %t0 %t126 = getelementptr inbounds %Cmp_Node, ptr %t125, i32 0, i32 5 %t127 = load ptr, ptr %t126 %t128 = call ptr @fn_emit_expr(ptr %t127) store ptr %t128, ptr %t129 %t130 = load ptr, ptr %t0 %t131 = getelementptr inbounds %Cmp_Node, ptr %t130, i32 0, i32 6 %t132 = load ptr, ptr %t131 %t133 = call ptr @fn_emit_expr(ptr %t132) store ptr %t133, ptr %t134 store i32 1, ptr @g_g_uses_strslice %t135 = load ptr, ptr %t124 %t136 = getelementptr inbounds %Cmp_Val, ptr %t135, i32 0, i32 0 %t137 = load ptr, ptr %t136 store i32 8758, ptr @lp_site %t138 = call ptr @lp_str_concat(ptr @.str15905, ptr %t137) store i32 0, ptr @lp_site store i32 8759, ptr @lp_site %t139 = call ptr @lp_str_concat(ptr %t138, ptr @.str15906) store i32 0, ptr @lp_site call void @lp_free(ptr %t138) %t140 = load ptr, ptr %t129 %t141 = getelementptr inbounds %Cmp_Val, ptr %t140, i32 0, i32 0 %t142 = load ptr, ptr %t141 store i32 8760, ptr @lp_site %t143 = call ptr @lp_str_concat(ptr %t139, ptr %t142) store i32 0, ptr @lp_site call void @lp_free(ptr %t139) store i32 8761, ptr @lp_site %t144 = call ptr @lp_str_concat(ptr %t143, ptr @.str15907) store i32 0, ptr @lp_site call void @lp_free(ptr %t143) %t145 = load ptr, ptr %t134 %t146 = getelementptr inbounds %Cmp_Val, ptr %t145, i32 0, i32 0 %t147 = load ptr, ptr %t146 store i32 8762, ptr @lp_site %t148 = call ptr @lp_str_concat(ptr %t144, ptr %t147) store i32 0, ptr @lp_site call void @lp_free(ptr %t144) store i32 8763, ptr @lp_site %t149 = call ptr @lp_str_concat(ptr %t148, ptr @.str15908) store i32 0, ptr @lp_site call void @lp_free(ptr %t148) %t150 = call ptr @fn_emit_bind(ptr %t149) %t151 = call ptr @fn_fresh_val(ptr %t150, ptr @.str15909) store ptr %t151, ptr %retval br label %ret ifend33: %t152 = load ptr, ptr %t0 %t153 = getelementptr inbounds %Cmp_Node, ptr %t152, i32 0, i32 0 %t154 = load i32, ptr %t153 %t155 = icmp eq i32 %t154, 31 %t156 = zext i1 %t155 to i32 %t157 = icmp ne i32 %t156, 0 br i1 %t157, label %then34, label %ifend36 then34: %t159 = load ptr, ptr %t0 %t160 = getelementptr inbounds %Cmp_Node, ptr %t159, i32 0, i32 2 %t161 = load i32, ptr %t160 %t162 = icmp eq i32 %t161, 1 %t163 = zext i1 %t162 to i32 %t164 = icmp ne i32 %t163, 0 %t165 = zext i1 %t164 to i32 store i32 %t165, ptr %t158 br i1 %t164, label %scend38, label %sc37 sc37: %t166 = load ptr, ptr %t0 %t167 = getelementptr inbounds %Cmp_Node, ptr %t166, i32 0, i32 2 %t168 = load i32, ptr %t167 %t169 = icmp eq i32 %t168, 2 %t170 = zext i1 %t169 to i32 %t171 = icmp ne i32 %t170, 0 %t172 = zext i1 %t171 to i32 store i32 %t172, ptr %t158 br label %scend38 scend38: %t173 = load i32, ptr %t158 %t174 = icmp ne i32 %t173, 0 br i1 %t174, label %then39, label %ifend41 then39: %t175 = load ptr, ptr %t0 %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) %t179 = call ptr @fn_val(ptr %t178, ptr @.str15910) store ptr %t179, ptr %retval br label %ret ifend41: %t180 = load ptr, ptr %t0 %t181 = getelementptr inbounds %Cmp_Node, ptr %t180, i32 0, i32 1 %t182 = load ptr, ptr %t181 %t183 = call ptr @fn_emit_str_const(ptr %t182) %t184 = call ptr @fn_val(ptr %t183, ptr @.str15911) store ptr %t184, ptr %retval br label %ret ifend36: %t185 = load ptr, ptr %t0 %t186 = getelementptr inbounds %Cmp_Node, ptr %t185, i32 0, i32 0 %t187 = load i32, ptr %t186 %t188 = icmp eq i32 %t187, 39 %t189 = zext i1 %t188 to i32 %t190 = icmp ne i32 %t189, 0 br i1 %t190, label %then42, label %ifend44 then42: %t191 = load ptr, ptr %t0 %t192 = getelementptr inbounds %Cmp_Node, ptr %t191, i32 0, i32 1 %t193 = load ptr, ptr %t192 %t194 = call i32 @fn_is_slice_ty(ptr %t193) %t195 = icmp ne i32 %t194, 0 br i1 %t195, label %then45, label %ifend47 then45: %t196 = load ptr, ptr %t0 %t197 = getelementptr inbounds %Cmp_Node, ptr %t196, i32 0, i32 1 %t198 = load ptr, ptr %t197 %t199 = call ptr @fn_emit_new_slice(ptr %t198) store ptr %t199, ptr %retval br label %ret ifend47: %t200 = load ptr, ptr %t0 %t201 = getelementptr inbounds %Cmp_Node, ptr %t200, i32 0, i32 1 %t202 = load ptr, ptr %t201 %t203 = load ptr, ptr %t0 %t204 = getelementptr inbounds %Cmp_Node, ptr %t203, i32 0, i32 4 %t205 = load ptr, ptr %t204 %t206 = load ptr, ptr %t0 %t207 = getelementptr inbounds %Cmp_Node, ptr %t206, i32 0, i32 5 %t208 = load ptr, ptr %t207 %t209 = call ptr @fn_emit_new_struct(ptr %t202, ptr %t205, ptr %t208) store ptr %t209, ptr %retval br label %ret ifend44: %t210 = load ptr, ptr %t0 %t211 = getelementptr inbounds %Cmp_Node, ptr %t210, i32 0, i32 0 %t212 = load i32, ptr %t211 %t213 = icmp eq i32 %t212, 54 %t214 = zext i1 %t213 to i32 %t215 = icmp ne i32 %t214, 0 br i1 %t215, label %then48, label %ifend50 then48: %t216 = load ptr, ptr %t0 %t217 = call ptr @fn_emit_list(ptr %t216) store ptr %t217, ptr %retval br label %ret ifend50: %t218 = load ptr, ptr %t0 %t219 = getelementptr inbounds %Cmp_Node, ptr %t218, i32 0, i32 0 %t220 = load i32, ptr %t219 %t221 = icmp eq i32 %t220, 55 %t222 = zext i1 %t221 to i32 %t223 = icmp ne i32 %t222, 0 br i1 %t223, label %then51, label %ifend53 then51: %t224 = load ptr, ptr %t0 %t225 = call ptr @fn_emit_fnref(ptr %t224) store ptr %t225, ptr %retval br label %ret ifend53: %t226 = load ptr, ptr %t0 %t227 = getelementptr inbounds %Cmp_Node, ptr %t226, i32 0, i32 0 %t228 = load i32, ptr %t227 %t229 = icmp eq i32 %t228, 33 %t230 = zext i1 %t229 to i32 %t231 = icmp ne i32 %t230, 0 br i1 %t231, label %then54, label %ifend56 then54: %t232 = load ptr, ptr %t0 %t233 = getelementptr inbounds %Cmp_Node, ptr %t232, i32 0, i32 1 %t234 = load ptr, ptr %t233 %t235 = call i32 @fn_loc_find(ptr %t234) store i32 %t235, ptr %t236 %t237 = load i32, ptr %t236 %t238 = icmp sge i32 %t237, 0 %t239 = zext i1 %t238 to i32 %t240 = icmp ne i32 %t239, 0 br i1 %t240, label %then57, label %ifend59 then57: %t241 = load ptr, ptr @g_loc_reg %t242 = load i32, ptr %t236 %t243 = getelementptr inbounds %LSlice, ptr %t241, i32 0, i32 0 %t244 = load ptr, ptr %t243 %t245 = getelementptr inbounds %LSlice, ptr %t241, i32 0, i32 1 %t246 = load i32, ptr %t245 %t247 = icmp ult i32 %t242, %t246 br i1 %t247, label %ixok60, label %ixbad61 ixbad61: store i32 8764, ptr @lp_site %t248 = call ptr @lp_win_stdio(i32 2) store i32 0, ptr @lp_site call i32 (ptr, ptr, ...) @fprintf(ptr %t248, ptr @.fmt_bounds, ptr @.str15912, i32 %t242, i32 %t246) call void @exit(i32 1) unreachable ixok60: %t249 = getelementptr inbounds ptr, ptr %t244, i32 %t242 %t250 = load ptr, ptr %t249 %t251 = load ptr, ptr @g_loc_ty %t252 = load i32, ptr %t236 %t253 = getelementptr inbounds %LSlice, ptr %t251, i32 0, i32 0 %t254 = load ptr, ptr %t253 %t255 = getelementptr inbounds %LSlice, ptr %t251, i32 0, i32 1 %t256 = load i32, ptr %t255 %t257 = icmp ult i32 %t252, %t256 br i1 %t257, label %ixok62, label %ixbad63 ixbad63: store i32 8765, ptr @lp_site %t258 = call ptr @lp_win_stdio(i32 2) store i32 0, ptr @lp_site call i32 (ptr, ptr, ...) @fprintf(ptr %t258, ptr @.fmt_bounds, ptr @.str15913, i32 %t252, i32 %t256) call void @exit(i32 1) unreachable ixok62: %t259 = getelementptr inbounds ptr, ptr %t254, i32 %t252 %t260 = load ptr, ptr %t259 %t261 = call ptr @fn_emit_load_at(ptr %t250, ptr %t260) store ptr %t261, ptr %retval br label %ret ifend59: %t262 = load ptr, ptr %t0 %t263 = getelementptr inbounds %Cmp_Node, ptr %t262, i32 0, i32 1 %t264 = load ptr, ptr %t263 %t265 = call ptr @fn_find_global(ptr %t264) store ptr %t265, ptr %t266 %t267 = load ptr, ptr %t266 %t268 = icmp ne ptr %t267, null %t269 = zext i1 %t268 to i32 %t270 = icmp ne i32 %t269, 0 br i1 %t270, label %then64, label %ifend66 then64: %t271 = load ptr, ptr %t266 %t272 = load ptr, ptr %t0 %t273 = getelementptr inbounds %Cmp_Node, ptr %t272, i32 0, i32 1 %t274 = load ptr, ptr %t273 call void @fn_vis_check(ptr %t271, ptr %t274) %t275 = load ptr, ptr %t266 %t276 = getelementptr inbounds %Cmp_Node, ptr %t275, i32 0, i32 0 %t277 = load i32, ptr %t276 %t278 = icmp eq i32 %t277, 3 %t279 = zext i1 %t278 to i32 %t280 = icmp ne i32 %t279, 0 br i1 %t280, label %then67, label %ifend69 then67: %t281 = load ptr, ptr %t266 %t282 = getelementptr inbounds %Cmp_Node, ptr %t281, i32 0, i32 4 %t283 = load ptr, ptr %t282 %t284 = call ptr @fn_emit_expr(ptr %t283) store ptr %t284, ptr %t285 %t286 = load ptr, ptr %t266 %t287 = getelementptr inbounds %Cmp_Node, ptr %t286, i32 0, i32 3 %t288 = load ptr, ptr %t287 %t289 = call i32 @fn_is_fp(ptr %t288) %t290 = icmp ne i32 %t289, 0 br i1 %t290, label %then70, label %ifend72 then70: %t291 = load ptr, ptr %t285 %t292 = load ptr, ptr %t266 %t293 = getelementptr inbounds %Cmp_Node, ptr %t292, i32 0, i32 3 %t294 = load ptr, ptr %t293 %t295 = load ptr, ptr %t0 %t296 = getelementptr inbounds %Cmp_Node, ptr %t295, i32 0, i32 1 %t297 = load ptr, ptr %t296 store i32 8766, ptr @lp_site %t298 = call ptr @lp_str_concat(ptr @.str15914, ptr %t297) store i32 0, ptr @lp_site %t299 = call ptr @fn_to_fp(ptr %t291, ptr %t294, ptr %t298) %t300 = load ptr, ptr %t266 %t301 = getelementptr inbounds %Cmp_Node, ptr %t300, i32 0, i32 3 %t302 = load ptr, ptr %t301 %t303 = call ptr @fn_val(ptr %t299, ptr %t302) store ptr %t303, ptr %retval br label %ret ifend72: %t304 = load ptr, ptr %t285 store ptr %t304, ptr %retval br label %ret ifend69: %t305 = load ptr, ptr %t266 %t306 = load ptr, ptr %t0 %t307 = getelementptr inbounds %Cmp_Node, ptr %t306, i32 0, i32 1 %t308 = load ptr, ptr %t307 %t309 = call ptr @fn_lazy_state_read(ptr %t305, ptr %t308) store ptr %t309, ptr %t310 %t311 = load ptr, ptr %t310 %t312 = icmp ne ptr %t311, null %t313 = zext i1 %t312 to i32 %t314 = icmp ne i32 %t313, 0 br i1 %t314, label %then73, label %ifend75 then73: %t315 = load ptr, ptr %t310 %t316 = load ptr, ptr %t266 %t317 = getelementptr inbounds %Cmp_Node, ptr %t316, i32 0, i32 3 %t318 = load ptr, ptr %t317 %t319 = call ptr @fn_val(ptr %t315, ptr %t318) store ptr %t319, ptr %retval br label %ret ifend75: %t320 = load ptr, ptr %t266 %t321 = getelementptr inbounds %Cmp_Node, ptr %t320, i32 0, i32 3 %t322 = load ptr, ptr %t321 %t323 = call ptr @fn_llty(ptr %t322) store i32 8767, ptr @lp_site %t324 = call ptr @lp_str_concat(ptr @.str15915, ptr %t323) store i32 0, ptr @lp_site store i32 8768, ptr @lp_site %t325 = call ptr @lp_str_concat(ptr %t324, ptr @.str15916) store i32 0, ptr @lp_site call void @lp_free(ptr %t324) %t326 = load ptr, ptr %t0 %t327 = getelementptr inbounds %Cmp_Node, ptr %t326, i32 0, i32 1 %t328 = load ptr, ptr %t327 store i32 8769, ptr @lp_site %t329 = call ptr @lp_str_concat(ptr %t325, ptr %t328) store i32 0, ptr @lp_site call void @lp_free(ptr %t325) %t330 = call ptr @fn_emit_bind(ptr %t329) store ptr %t330, ptr %t331 %t332 = load ptr, ptr %t331 %t333 = load ptr, ptr %t266 %t334 = getelementptr inbounds %Cmp_Node, ptr %t333, i32 0, i32 3 %t335 = load ptr, ptr %t334 %t336 = call ptr @fn_val(ptr %t332, ptr %t335) store ptr %t336, ptr %retval br label %ret ifend66: %t337 = load ptr, ptr %t0 %t338 = getelementptr inbounds %Cmp_Node, ptr %t337, i32 0, i32 1 %t339 = load ptr, ptr %t338 %t340 = call i32 @fn_is_ui_ident(ptr %t339) %t341 = icmp ne i32 %t340, 0 br i1 %t341, label %then76, label %ifend78 then76: %t342 = load ptr, ptr %t0 %t343 = getelementptr inbounds %Cmp_Node, ptr %t342, i32 0, i32 1 %t344 = load ptr, ptr %t343 %t345 = call i32 @fn_ui_index_of(ptr %t344) %t346 = call ptr @fn_itoa(i32 %t345) %t347 = call ptr @fn_val(ptr %t346, ptr @.str15917) store ptr %t347, ptr %retval br label %ret ifend78: %t348 = load ptr, ptr %t0 %t349 = getelementptr inbounds %Cmp_Node, ptr %t348, i32 0, i32 1 %t350 = load ptr, ptr %t349 %t351 = call ptr @fn_variant_enum(ptr %t350) store ptr %t351, ptr %t352 %t353 = load ptr, ptr %t352 %t354 = icmp ne ptr %t353, null %t355 = zext i1 %t354 to i32 %t356 = icmp ne i32 %t355, 0 br i1 %t356, label %then79, label %ifend81 then79: %t357 = load ptr, ptr %t352 %t358 = load i32, ptr @g_g_var_ord %t359 = getelementptr %LSlice, ptr null, i32 1 %t360 = ptrtoint ptr %t359 to i64 store i32 8770, ptr @lp_site %t361 = call ptr @lp_malloc(i64 %t360) store i32 0, ptr @lp_site %t362 = getelementptr inbounds %LSlice, ptr %t361, i32 0, i32 0 store ptr null, ptr %t362 %t363 = getelementptr inbounds %LSlice, ptr %t361, i32 0, i32 1 store i32 0, ptr %t363 %t364 = getelementptr inbounds %LSlice, ptr %t361, i32 0, i32 2 store i32 0, ptr %t364 %t365 = call ptr @fn_emit_variant_new(ptr %t357, i32 %t358, ptr %t361) store ptr %t365, ptr %retval br label %ret ifend81: %t366 = load ptr, ptr %t0 %t367 = getelementptr inbounds %Cmp_Node, ptr %t366, i32 0, i32 1 %t368 = load ptr, ptr %t367 store i32 8771, ptr @lp_site %t369 = call ptr @lp_str_concat(ptr @.str15918, ptr %t368) store i32 0, ptr @lp_site call void @fn_perr(ptr %t369) br label %ifend56 ifend56: %t370 = load ptr, ptr %t0 %t371 = getelementptr inbounds %Cmp_Node, ptr %t370, i32 0, i32 0 %t372 = load i32, ptr %t371 %t373 = icmp eq i32 %t372, 35 %t374 = zext i1 %t373 to i32 %t375 = icmp ne i32 %t374, 0 br i1 %t375, label %then82, label %ifend84 then82: %t376 = load ptr, ptr %t0 %t377 = getelementptr inbounds %Cmp_Node, ptr %t376, i32 0, i32 4 %t378 = load ptr, ptr %t377 %t379 = getelementptr inbounds %Cmp_Node, ptr %t378, i32 0, i32 0 %t380 = load i32, ptr %t379 %t381 = icmp eq i32 %t380, 33 %t382 = zext i1 %t381 to i32 %t383 = icmp ne i32 %t382, 0 br i1 %t383, label %then85, label %ifend87 then85: %t384 = load ptr, ptr %t0 %t385 = getelementptr inbounds %Cmp_Node, ptr %t384, i32 0, i32 4 %t386 = load ptr, ptr %t385 %t387 = getelementptr inbounds %Cmp_Node, ptr %t386, i32 0, i32 1 %t388 = load ptr, ptr %t387 %t389 = call i32 @lp_str_eq(ptr %t388, ptr @.str15919) %t390 = icmp ne i32 %t389, 0 br i1 %t390, label %then88, label %ifend90 then88: %t391 = load ptr, ptr %t0 %t392 = getelementptr inbounds %Cmp_Node, ptr %t391, i32 0, i32 1 %t393 = load ptr, ptr %t392 %t394 = call i32 @fn_color_lookup(ptr %t393) store i32 %t394, ptr %t395 %t396 = load i32, ptr %t395 %t397 = icmp slt i32 %t396, 0 %t398 = zext i1 %t397 to i32 %t399 = icmp ne i32 %t398, 0 br i1 %t399, label %then91, label %ifend93 then91: %t400 = load ptr, ptr %t0 %t401 = getelementptr inbounds %Cmp_Node, ptr %t400, i32 0, i32 1 %t402 = load ptr, ptr %t401 store i32 8772, ptr @lp_site %t403 = call ptr @lp_str_concat(ptr @.str15920, ptr %t402) store i32 0, ptr @lp_site call void @fn_perr(ptr %t403) br label %ifend93 ifend93: %t404 = load i32, ptr %t395 %t405 = call ptr @fn_itoa(i32 %t404) %t406 = call ptr @fn_val(ptr %t405, ptr @.str15921) store ptr %t406, ptr %retval br label %ret ifend90: %t407 = load ptr, ptr %t0 %t408 = getelementptr inbounds %Cmp_Node, ptr %t407, i32 0, i32 4 %t409 = load ptr, ptr %t408 %t410 = getelementptr inbounds %Cmp_Node, ptr %t409, i32 0, i32 1 %t411 = load ptr, ptr %t410 %t412 = call i32 @lp_str_eq(ptr %t411, ptr @.str15922) %t413 = icmp ne i32 %t412, 0 br i1 %t413, label %then94, label %ifend96 then94: %t414 = load ptr, ptr %t0 %t415 = getelementptr inbounds %Cmp_Node, ptr %t414, i32 0, i32 1 %t416 = load ptr, ptr %t415 %t417 = call i32 @fn_key_lookup(ptr %t416) store i32 %t417, ptr %t418 %t419 = load i32, ptr %t418 %t420 = icmp slt i32 %t419, 0 %t421 = zext i1 %t420 to i32 %t422 = icmp ne i32 %t421, 0 br i1 %t422, label %then97, label %ifend99 then97: %t423 = load ptr, ptr %t0 %t424 = getelementptr inbounds %Cmp_Node, ptr %t423, i32 0, i32 1 %t425 = load ptr, ptr %t424 store i32 8773, ptr @lp_site %t426 = call ptr @lp_str_concat(ptr @.str15923, ptr %t425) store i32 0, ptr @lp_site call void @fn_perr(ptr %t426) br label %ifend99 ifend99: %t427 = load i32, ptr %t418 %t428 = call ptr @fn_itoa(i32 %t427) %t429 = call ptr @fn_val(ptr %t428, ptr @.str15924) store ptr %t429, ptr %retval br label %ret ifend96: %t430 = load ptr, ptr %t0 %t431 = getelementptr inbounds %Cmp_Node, ptr %t430, i32 0, i32 4 %t432 = load ptr, ptr %t431 %t433 = getelementptr inbounds %Cmp_Node, ptr %t432, i32 0, i32 1 %t434 = load ptr, ptr %t433 %t435 = load ptr, ptr %t0 %t436 = getelementptr inbounds %Cmp_Node, ptr %t435, i32 0, i32 1 %t437 = load ptr, ptr %t436 %t438 = call i32 @fn_enum_ordinal(ptr %t434, ptr %t437) store i32 %t438, ptr %t439 %t440 = load i32, ptr %t439 %t441 = icmp sge i32 %t440, 0 %t442 = zext i1 %t441 to i32 %t443 = icmp ne i32 %t442, 0 br i1 %t443, label %then100, label %ifend102 then100: %t444 = load i32, ptr %t439 %t445 = call ptr @fn_itoa(i32 %t444) %t446 = call ptr @fn_val(ptr %t445, ptr @.str15925) store ptr %t446, ptr %retval br label %ret ifend102: br label %ifend87 ifend87: %t447 = load ptr, ptr %t0 %t448 = getelementptr inbounds %Cmp_Node, ptr %t447, i32 0, i32 4 %t449 = load ptr, ptr %t448 %t450 = call ptr @fn_static_type(ptr %t449) store ptr %t450, ptr %t451 %t452 = load ptr, ptr %t451 %t453 = icmp ne ptr %t452, null %t454 = zext i1 %t453 to i32 %t455 = icmp ne i32 %t454, 0 br i1 %t455, label %then103, label %ifend105 then103: %t457 = load ptr, ptr %t451 %t458 = call i32 @lp_str_eq(ptr %t457, ptr @.str15926) %t459 = icmp ne i32 %t458, 0 %t460 = zext i1 %t459 to i32 store i32 %t460, ptr %t456 br i1 %t459, label %sc106, label %scend107 sc106: %t462 = load ptr, ptr %t0 %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 @.str15927) %t466 = icmp ne i32 %t465, 0 %t467 = zext i1 %t466 to i32 store i32 %t467, ptr %t461 br i1 %t466, label %scend109, label %sc108 sc108: %t468 = load ptr, ptr %t0 %t469 = getelementptr inbounds %Cmp_Node, ptr %t468, i32 0, i32 1 %t470 = load ptr, ptr %t469 %t471 = call i32 @lp_str_eq(ptr %t470, ptr @.str15928) %t472 = icmp ne i32 %t471, 0 %t473 = zext i1 %t472 to i32 store i32 %t473, ptr %t461 br label %scend109 scend109: %t474 = load i32, ptr %t461 %t475 = icmp ne i32 %t474, 0 %t476 = zext i1 %t475 to i32 store i32 %t476, ptr %t456 br label %scend107 scend107: %t477 = load i32, ptr %t456 %t478 = icmp ne i32 %t477, 0 br i1 %t478, label %then110, label %ifend112 then110: %t479 = load ptr, ptr %t0 %t480 = getelementptr inbounds %Cmp_Node, ptr %t479, i32 0, i32 4 %t481 = load ptr, ptr %t480 %t482 = call ptr @fn_emit_expr(ptr %t481) store ptr %t482, ptr %t483 %t484 = load ptr, ptr %t0 %t485 = getelementptr inbounds %Cmp_Node, ptr %t484, i32 0, i32 1 %t486 = load ptr, ptr %t485 %t487 = call i32 @lp_str_eq(ptr %t486, ptr @.str15929) %t488 = icmp ne i32 %t487, 0 br i1 %t488, label %then113, label %ifend115 then113: %t489 = load ptr, ptr %t483 %t490 = getelementptr inbounds %Cmp_Val, ptr %t489, i32 0, i32 0 %t491 = load ptr, ptr %t490 %t492 = call ptr @fn_vec_x(ptr %t491) %t493 = call ptr @fn_val(ptr %t492, ptr @.str15930) store ptr %t493, ptr %retval br label %ret ifend115: %t494 = load ptr, ptr %t483 %t495 = getelementptr inbounds %Cmp_Val, ptr %t494, i32 0, i32 0 %t496 = load ptr, ptr %t495 %t497 = call ptr @fn_vec_y(ptr %t496) %t498 = call ptr @fn_val(ptr %t497, ptr @.str15931) store ptr %t498, ptr %retval br label %ret ifend112: %t499 = load ptr, ptr %t451 %t500 = load ptr, ptr %t0 %t501 = getelementptr inbounds %Cmp_Node, ptr %t500, i32 0, i32 1 %t502 = load ptr, ptr %t501 %t503 = call ptr @fn_computed_expr(ptr %t499, ptr %t502) store ptr %t503, ptr %t504 %t505 = load ptr, ptr %t504 %t506 = icmp ne ptr %t505, null %t507 = zext i1 %t506 to i32 %t508 = icmp ne i32 %t507, 0 br i1 %t508, label %then116, label %ifend118 then116: %t509 = load ptr, ptr %t504 %t510 = load ptr, ptr %t0 %t511 = getelementptr inbounds %Cmp_Node, ptr %t510, i32 0, i32 4 %t512 = load ptr, ptr %t511 %t513 = call ptr @fn_qualify_fields(ptr %t509, ptr %t512) %t514 = call ptr @fn_emit_expr(ptr %t513) store ptr %t514, ptr %retval br label %ret ifend118: br label %ifend105 ifend105: %t515 = load ptr, ptr %t0 %t516 = call ptr @fn_emit_member_addr(ptr %t515) store ptr %t516, ptr %t517 %t518 = load ptr, ptr %t517 %t519 = load ptr, ptr @g_g_addr_ty %t520 = call ptr @fn_emit_load_at(ptr %t518, ptr %t519) store ptr %t520, ptr %retval br label %ret ifend84: %t521 = load ptr, ptr %t0 %t522 = getelementptr inbounds %Cmp_Node, ptr %t521, i32 0, i32 0 %t523 = load i32, ptr %t522 %t524 = icmp eq i32 %t523, 36 %t525 = zext i1 %t524 to i32 %t526 = icmp ne i32 %t525, 0 br i1 %t526, label %then119, label %ifend121 then119: %t527 = load ptr, ptr %t0 %t528 = call ptr @fn_emit_index_addr(ptr %t527) store ptr %t528, ptr %t529 %t530 = load ptr, ptr @g_g_addr_ty %t531 = call i32 @lp_str_eq(ptr %t530, ptr @.str15932) %t532 = icmp ne i32 %t531, 0 br i1 %t532, label %then122, label %ifend124 then122: %t533 = load ptr, ptr %t529 store i32 8774, ptr @lp_site %t534 = call ptr @lp_str_concat(ptr @.str15933, ptr %t533) store i32 0, ptr @lp_site %t535 = call ptr @fn_emit_bind(ptr %t534) store ptr %t535, ptr %t536 %t537 = load ptr, ptr %t536 store i32 8775, ptr @lp_site %t538 = call ptr @lp_str_concat(ptr @.str15934, ptr %t537) store i32 0, ptr @lp_site store i32 8776, ptr @lp_site %t539 = call ptr @lp_str_concat(ptr %t538, ptr @.str15935) store i32 0, ptr @lp_site call void @lp_free(ptr %t538) %t540 = call ptr @fn_emit_bind(ptr %t539) %t541 = call ptr @fn_val(ptr %t540, ptr @.str15936) store ptr %t541, ptr %retval br label %ret ifend124: %t542 = load ptr, ptr %t529 %t543 = load ptr, ptr @g_g_addr_ty %t544 = call ptr @fn_emit_load_at(ptr %t542, ptr %t543) store ptr %t544, ptr %retval br label %ret ifend121: %t545 = load ptr, ptr %t0 %t546 = getelementptr inbounds %Cmp_Node, ptr %t545, i32 0, i32 0 %t547 = load i32, ptr %t546 %t548 = icmp eq i32 %t547, 49 %t549 = zext i1 %t548 to i32 %t550 = icmp ne i32 %t549, 0 br i1 %t550, label %then125, label %ifend127 then125: %t551 = load ptr, ptr %t0 %t552 = call ptr @fn_emit_emit(ptr %t551) store ptr %t552, ptr %retval br label %ret ifend127: %t553 = load ptr, ptr %t0 %t554 = getelementptr inbounds %Cmp_Node, ptr %t553, i32 0, i32 0 %t555 = load i32, ptr %t554 %t556 = icmp eq i32 %t555, 52 %t557 = zext i1 %t556 to i32 %t558 = icmp ne i32 %t557, 0 br i1 %t558, label %then128, label %ifend130 then128: %t559 = load ptr, ptr %t0 %t560 = call ptr @fn_emit_try(ptr %t559) store ptr %t560, ptr %retval br label %ret ifend130: %t561 = load ptr, ptr %t0 %t562 = getelementptr inbounds %Cmp_Node, ptr %t561, i32 0, i32 0 %t563 = load i32, ptr %t562 %t564 = icmp eq i32 %t563, 34 %t565 = zext i1 %t564 to i32 %t566 = icmp ne i32 %t565, 0 br i1 %t566, label %then131, label %ifend133 then131: %t567 = load ptr, ptr %t0 %t568 = call ptr @fn_emit_call(ptr %t567) store ptr %t568, ptr %retval br label %ret ifend133: %t569 = load ptr, ptr %t0 %t570 = getelementptr inbounds %Cmp_Node, ptr %t569, i32 0, i32 0 %t571 = load i32, ptr %t570 %t572 = icmp eq i32 %t571, 37 %t573 = zext i1 %t572 to i32 %t574 = icmp ne i32 %t573, 0 br i1 %t574, label %then134, label %ifend136 then134: %t575 = load ptr, ptr %t0 %t576 = call ptr @fn_emit_bin(ptr %t575) store ptr %t576, ptr %retval br label %ret ifend136: %t577 = load ptr, ptr %t0 %t578 = getelementptr inbounds %Cmp_Node, ptr %t577, i32 0, i32 0 %t579 = load i32, ptr %t578 %t580 = icmp eq i32 %t579, 38 %t581 = zext i1 %t580 to i32 %t582 = icmp ne i32 %t581, 0 br i1 %t582, label %then137, label %ifend139 then137: %t583 = load ptr, ptr %t0 %t584 = getelementptr inbounds %Cmp_Node, ptr %t583, i32 0, i32 4 %t585 = load ptr, ptr %t584 %t586 = call ptr @fn_emit_expr(ptr %t585) store ptr %t586, ptr %t587 %t588 = load ptr, ptr %t587 %t589 = getelementptr inbounds %Cmp_Val, ptr %t588, i32 0, i32 1 %t590 = load ptr, ptr %t589 %t591 = call i32 @fn_is_fp(ptr %t590) %t592 = icmp ne i32 %t591, 0 br i1 %t592, label %then140, label %ifend142 then140: %t593 = load ptr, ptr %t0 %t594 = getelementptr inbounds %Cmp_Node, ptr %t593, i32 0, i32 1 %t595 = load ptr, ptr %t594 %t596 = call i32 @lp_str_eq(ptr %t595, ptr @.str15937) %t597 = icmp ne i32 %t596, 0 br i1 %t597, label %then143, label %ifend145 then143: %t598 = load ptr, ptr %t587 %t599 = getelementptr inbounds %Cmp_Val, ptr %t598, i32 0, i32 1 %t600 = load ptr, ptr %t599 store i32 8777, ptr @lp_site %t601 = call ptr @lp_str_concat(ptr @.str15938, ptr %t600) store i32 0, ptr @lp_site store i32 8778, ptr @lp_site %t602 = call ptr @lp_str_concat(ptr %t601, ptr @.str15939) store i32 0, ptr @lp_site call void @lp_free(ptr %t601) %t603 = load ptr, ptr %t587 %t604 = getelementptr inbounds %Cmp_Val, ptr %t603, i32 0, i32 0 %t605 = load ptr, ptr %t604 store i32 8779, ptr @lp_site %t606 = call ptr @lp_str_concat(ptr %t602, ptr %t605) store i32 0, ptr @lp_site call void @lp_free(ptr %t602) %t607 = call ptr @fn_emit_bind(ptr %t606) %t608 = load ptr, ptr %t587 %t609 = getelementptr inbounds %Cmp_Val, ptr %t608, i32 0, i32 1 %t610 = load ptr, ptr %t609 %t611 = call ptr @fn_val(ptr %t607, ptr %t610) store ptr %t611, ptr %t612 %t613 = load ptr, ptr %t587 %t614 = getelementptr inbounds %Cmp_Val, ptr %t613, i32 0, i32 2 %t615 = load ptr, ptr %t614 %t616 = icmp ne ptr %t615, null %t617 = zext i1 %t616 to i32 %t618 = icmp ne i32 %t617, 0 br i1 %t618, label %then146, label %ifend148 then146: %t619 = load ptr, ptr %t612 %t620 = getelementptr inbounds %Cmp_Val, ptr %t619, i32 0, i32 2 %t621 = load ptr, ptr %t0 store ptr %t621, ptr %t620 br label %ifend148 ifend148: %t622 = load ptr, ptr %t612 store ptr %t622, ptr %retval br label %ret ifend145: %t623 = load ptr, ptr %t0 %t624 = getelementptr inbounds %Cmp_Node, ptr %t623, i32 0, i32 1 %t625 = load ptr, ptr %t624 store i32 8780, ptr @lp_site %t626 = call ptr @lp_str_concat(ptr @.str15940, ptr %t625) store i32 0, ptr @lp_site store i32 8781, ptr @lp_site %t627 = call ptr @lp_str_concat(ptr %t626, ptr @.str15941) store i32 0, ptr @lp_site call void @lp_free(ptr %t626) %t628 = load ptr, ptr %t587 %t629 = getelementptr inbounds %Cmp_Val, ptr %t628, i32 0, i32 1 %t630 = load ptr, ptr %t629 store i32 8782, ptr @lp_site %t631 = call ptr @lp_str_concat(ptr %t627, ptr %t630) store i32 0, ptr @lp_site call void @lp_free(ptr %t627) call void @fn_perr(ptr %t631) br label %ifend142 ifend142: %t633 = load ptr, ptr %t0 %t634 = getelementptr inbounds %Cmp_Node, ptr %t633, i32 0, i32 1 %t635 = load ptr, ptr %t634 %t636 = call i32 @lp_str_eq(ptr %t635, ptr @.str15942) %t637 = icmp ne i32 %t636, 0 %t638 = zext i1 %t637 to i32 store i32 %t638, ptr %t632 br i1 %t637, label %sc149, label %scend150 sc149: %t639 = load ptr, ptr %t587 %t640 = getelementptr inbounds %Cmp_Val, ptr %t639, i32 0, i32 2 %t641 = load ptr, ptr %t640 %t642 = icmp ne ptr %t641, null %t643 = zext i1 %t642 to i32 %t644 = icmp ne i32 %t643, 0 %t645 = zext i1 %t644 to i32 store i32 %t645, ptr %t632 br label %scend150 scend150: %t646 = load i32, ptr %t632 %t647 = icmp ne i32 %t646, 0 br i1 %t647, label %then151, label %ifend153 then151: %t648 = load ptr, ptr %t587 %t649 = getelementptr inbounds %Cmp_Val, ptr %t648, i32 0, i32 0 %t650 = load ptr, ptr %t649 store i32 8783, ptr @lp_site %t651 = call ptr @lp_str_concat(ptr @.str15943, ptr %t650) store i32 0, ptr @lp_site %t652 = call ptr @fn_emit_bind(ptr %t651) %t653 = call ptr @fn_val(ptr %t652, ptr @.str15944) store ptr %t653, ptr %t654 %t655 = load ptr, ptr %t654 %t656 = getelementptr inbounds %Cmp_Val, ptr %t655, i32 0, i32 2 %t657 = load ptr, ptr %t0 store ptr %t657, ptr %t656 %t658 = load ptr, ptr %t654 store ptr %t658, ptr %retval br label %ret ifend153: %t659 = load ptr, ptr %t587 %t660 = getelementptr inbounds %Cmp_Val, ptr %t659, i32 0, i32 1 %t661 = load ptr, ptr %t660 %t662 = call ptr @fn_llty(ptr %t661) %t663 = call i32 @lp_str_eq(ptr %t662, ptr @.str15945) %t664 = icmp ne i32 %t663, 0 br i1 %t664, label %then154, label %ifend156 then154: %t665 = load ptr, ptr %t0 %t666 = getelementptr inbounds %Cmp_Node, ptr %t665, i32 0, i32 1 %t667 = load ptr, ptr %t666 %t668 = call i32 @lp_str_eq(ptr %t667, ptr @.str15946) %t669 = icmp ne i32 %t668, 0 br i1 %t669, label %then157, label %ifend159 then157: %t670 = load ptr, ptr %t587 %t671 = getelementptr inbounds %Cmp_Val, ptr %t670, i32 0, i32 0 %t672 = load ptr, ptr %t671 store i32 8784, ptr @lp_site %t673 = call ptr @lp_str_concat(ptr @.str15947, ptr %t672) store i32 0, ptr @lp_site %t674 = call ptr @fn_emit_bind(ptr %t673) %t675 = call ptr @fn_val(ptr %t674, ptr @.str15948) store ptr %t675, ptr %retval br label %ret ifend159: %t676 = load ptr, ptr %t0 %t677 = getelementptr inbounds %Cmp_Node, ptr %t676, i32 0, i32 1 %t678 = load ptr, ptr %t677 %t679 = call i32 @lp_str_eq(ptr %t678, ptr @.str15949) %t680 = icmp ne i32 %t679, 0 br i1 %t680, label %then160, label %ifend162 then160: %t681 = load ptr, ptr %t587 %t682 = getelementptr inbounds %Cmp_Val, ptr %t681, i32 0, i32 0 %t683 = load ptr, ptr %t682 store i32 8785, ptr @lp_site %t684 = call ptr @lp_str_concat(ptr @.str15950, ptr %t683) store i32 0, ptr @lp_site store i32 8786, ptr @lp_site %t685 = call ptr @lp_str_concat(ptr %t684, ptr @.str15951) store i32 0, ptr @lp_site call void @lp_free(ptr %t684) %t686 = call ptr @fn_emit_bind(ptr %t685) %t687 = call ptr @fn_val(ptr %t686, ptr @.str15952) store ptr %t687, ptr %retval br label %ret ifend162: br label %ifend156 ifend156: %t688 = load ptr, ptr %t0 %t689 = getelementptr inbounds %Cmp_Node, ptr %t688, i32 0, i32 1 %t690 = load ptr, ptr %t689 %t691 = call i32 @lp_str_eq(ptr %t690, ptr @.str15953) %t692 = icmp ne i32 %t691, 0 br i1 %t692, label %then163, label %ifend165 then163: %t693 = load ptr, ptr %t587 %t694 = getelementptr inbounds %Cmp_Val, ptr %t693, i32 0, i32 0 %t695 = load ptr, ptr %t694 store i32 8787, ptr @lp_site %t696 = call ptr @lp_str_concat(ptr @.str15954, ptr %t695) store i32 0, ptr @lp_site %t697 = call ptr @fn_emit_bind(ptr %t696) %t698 = load ptr, ptr %t587 %t699 = getelementptr inbounds %Cmp_Val, ptr %t698, i32 0, i32 1 %t700 = load ptr, ptr %t699 %t701 = call ptr @fn_arith_ty(ptr %t700) %t702 = call ptr @fn_val(ptr %t697, ptr %t701) store ptr %t702, ptr %retval br label %ret ifend165: %t703 = load ptr, ptr %t0 %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 @.str15955) %t707 = icmp ne i32 %t706, 0 br i1 %t707, label %then166, label %ifend168 then166: %t708 = load ptr, ptr %t587 %t709 = getelementptr inbounds %Cmp_Val, ptr %t708, i32 0, i32 0 %t710 = load ptr, ptr %t709 store i32 8788, ptr @lp_site %t711 = call ptr @lp_str_concat(ptr @.str15956, ptr %t710) store i32 0, ptr @lp_site store i32 8789, ptr @lp_site %t712 = call ptr @lp_str_concat(ptr %t711, ptr @.str15957) store i32 0, ptr @lp_site call void @lp_free(ptr %t711) %t713 = call ptr @fn_emit_bind(ptr %t712) %t714 = load ptr, ptr %t587 %t715 = getelementptr inbounds %Cmp_Val, ptr %t714, i32 0, i32 1 %t716 = load ptr, ptr %t715 %t717 = call ptr @fn_arith_ty(ptr %t716) %t718 = call ptr @fn_val(ptr %t713, ptr %t717) store ptr %t718, ptr %retval br label %ret ifend168: %t719 = load ptr, ptr %t587 %t720 = getelementptr inbounds %Cmp_Val, ptr %t719, i32 0, i32 0 %t721 = load ptr, ptr %t720 store i32 8790, ptr @lp_site %t722 = call ptr @lp_str_concat(ptr @.str15958, ptr %t721) store i32 0, ptr @lp_site store i32 8791, ptr @lp_site %t723 = call ptr @lp_str_concat(ptr %t722, ptr @.str15959) store i32 0, ptr @lp_site call void @lp_free(ptr %t722) %t724 = call ptr @fn_emit_bind(ptr %t723) store ptr %t724, ptr %t725 %t726 = load ptr, ptr %t725 store i32 8792, ptr @lp_site %t727 = call ptr @lp_str_concat(ptr @.str15960, ptr %t726) store i32 0, ptr @lp_site store i32 8793, ptr @lp_site %t728 = call ptr @lp_str_concat(ptr %t727, ptr @.str15961) store i32 0, ptr @lp_site call void @lp_free(ptr %t727) %t729 = call ptr @fn_emit_bind(ptr %t728) %t730 = call ptr @fn_val(ptr %t729, ptr @.str15962) store ptr %t730, ptr %retval br label %ret ifend139: %t731 = load ptr, ptr %t0 %t732 = getelementptr inbounds %Cmp_Node, ptr %t731, i32 0, i32 0 %t733 = load i32, ptr %t732 %t734 = call ptr @fn_itoa(i32 %t733) store i32 8794, ptr @lp_site %t735 = call ptr @lp_str_concat(ptr @.str15963, ptr %t734) store i32 0, ptr @lp_site store i32 8795, ptr @lp_site %t736 = call ptr @lp_str_concat(ptr %t735, ptr @.str15964) store i32 0, ptr @lp_site call void @lp_free(ptr %t735) call void @fn_perr(ptr %t736) %t737 = call ptr @fn_val(ptr @.str15965, ptr @.str15966) store ptr %t737, ptr %retval br label %ret ret: %t738 = load ptr, ptr %retval ret ptr %t738 } define i32 @fn_is_fn_type(ptr %arg_t) { entry: %retval = alloca i32 %t0 = alloca ptr %t5 = alloca i32 %t6 = alloca i32 %t7 = alloca i32 store ptr %arg_t, 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: store i32 0, ptr %retval br label %ret ifend2: %t8 = load ptr, ptr %t0 %t9 = call i64 @strlen(ptr %t8) %t10 = trunc i64 %t9 to i32 %t11 = icmp sgt i32 %t10, 3 %t12 = zext i1 %t11 to i32 %t13 = icmp ne i32 %t12, 0 %t14 = zext i1 %t13 to i32 store i32 %t14, ptr %t7 br i1 %t13, label %sc3, label %scend4 sc3: %t15 = load ptr, ptr %t0 %t16 = getelementptr inbounds i8, ptr %t15, i32 0 %t17 = load i8, ptr %t16 %t18 = zext i8 %t17 to i32 %t19 = icmp eq i32 %t18, 102 %t20 = zext i1 %t19 to i32 %t21 = icmp ne i32 %t20, 0 %t22 = zext i1 %t21 to i32 store i32 %t22, ptr %t7 br label %scend4 scend4: %t23 = load i32, ptr %t7 %t24 = icmp ne i32 %t23, 0 %t25 = zext i1 %t24 to i32 store i32 %t25, ptr %t6 br i1 %t24, label %sc5, label %scend6 sc5: %t26 = load ptr, ptr %t0 %t27 = getelementptr inbounds i8, ptr %t26, i32 1 %t28 = load i8, ptr %t27 %t29 = zext i8 %t28 to i32 %t30 = icmp eq i32 %t29, 110 %t31 = zext i1 %t30 to i32 %t32 = icmp ne i32 %t31, 0 %t33 = zext i1 %t32 to i32 store i32 %t33, ptr %t6 br label %scend6 scend6: %t34 = load i32, ptr %t6 %t35 = icmp ne i32 %t34, 0 %t36 = zext i1 %t35 to i32 store i32 %t36, ptr %t5 br i1 %t35, label %sc7, label %scend8 sc7: %t37 = load ptr, ptr %t0 %t38 = getelementptr inbounds i8, ptr %t37, i32 2 %t39 = load i8, ptr %t38 %t40 = zext i8 %t39 to i32 %t41 = icmp eq i32 %t40, 40 %t42 = zext i1 %t41 to i32 %t43 = icmp ne i32 %t42, 0 %t44 = zext i1 %t43 to i32 store i32 %t44, ptr %t5 br label %scend8 scend8: %t45 = load i32, ptr %t5 store i32 %t45, ptr %retval br label %ret ret: %t46 = load i32, ptr %retval ret i32 %t46 } define ptr @fn_fn_sig_of(ptr %arg_d) { entry: %retval = alloca ptr %t0 = alloca ptr %t1 = alloca ptr %t4 = alloca i32 %t6 = alloca i32 %t44 = alloca ptr store ptr %arg_d, ptr %t0 store ptr @.str15967, ptr %t1 %t2 = load ptr, ptr %t0 %t3 = call i32 @fn_state_lead(ptr %t2) store i32 %t3, ptr %t4 %t5 = load i32, ptr %t4 store i32 %t5, ptr %t6 br label %wcond0 wcond0: %t7 = load i32, ptr %t4 %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 %wbody1, label %wend2 wbody1: %t16 = load i32, ptr %t4 %t17 = load i32, ptr %t6 %t18 = icmp sgt 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 ptr, ptr %t1 store i32 8796, ptr @lp_site %t22 = call ptr @lp_str_concat(ptr %t21, ptr @.str15968) store i32 0, ptr @lp_site store ptr %t22, ptr %t1 br label %ifend5 ifend5: %t23 = load ptr, ptr %t1 %t24 = load ptr, ptr %t0 %t25 = getelementptr inbounds %Cmp_Node, ptr %t24, i32 0, i32 7 %t26 = load ptr, ptr %t25 %t27 = load i32, ptr %t4 %t28 = getelementptr inbounds %LSlice, ptr %t26, i32 0, i32 0 %t29 = load ptr, ptr %t28 %t30 = getelementptr inbounds %LSlice, ptr %t26, i32 0, i32 1 %t31 = load i32, ptr %t30 %t32 = icmp ult i32 %t27, %t31 br i1 %t32, label %ixok6, label %ixbad7 ixbad7: store i32 8797, ptr @lp_site %t33 = call ptr @lp_win_stdio(i32 2) store i32 0, ptr @lp_site call i32 (ptr, ptr, ...) @fprintf(ptr %t33, ptr @.fmt_bounds, ptr @.str15970, i32 %t27, i32 %t31) call void @exit(i32 1) unreachable ixok6: %t34 = getelementptr inbounds ptr, ptr %t29, i32 %t27 %t35 = load ptr, ptr %t34 %t36 = getelementptr inbounds %Cmp_Node, ptr %t35, i32 0, i32 3 %t37 = load ptr, ptr %t36 store i32 8798, ptr @lp_site %t38 = call ptr @lp_str_concat(ptr %t23, ptr %t37) store i32 0, ptr @lp_site store ptr %t38, ptr %t1 %t39 = load i32, ptr %t4 %t40 = add i32 %t39, 1 store i32 %t40, ptr %t4 br label %wcond0 wend2: %t41 = load ptr, ptr %t0 %t42 = getelementptr inbounds %Cmp_Node, ptr %t41, i32 0, i32 3 %t43 = load ptr, ptr %t42 store ptr %t43, ptr %t44 %t45 = load ptr, ptr %t44 %t46 = icmp eq ptr %t45, null %t47 = zext i1 %t46 to i32 %t48 = icmp ne i32 %t47, 0 br i1 %t48, label %then8, label %ifend10 then8: store ptr @.str15971, ptr %t44 br label %ifend10 ifend10: %t49 = load ptr, ptr %t1 store i32 8799, ptr @lp_site %t50 = call ptr @lp_str_concat(ptr %t49, ptr @.str15972) store i32 0, ptr @lp_site %t51 = load ptr, ptr %t44 store i32 8800, ptr @lp_site %t52 = call ptr @lp_str_concat(ptr %t50, ptr %t51) store i32 0, ptr @lp_site call void @lp_free(ptr %t50) store ptr %t52, ptr %retval br label %ret ret: %t53 = load ptr, ptr %retval ret ptr %t53 } define ptr @fn_fn_ty_params(ptr %arg_t) { entry: %retval = alloca ptr %t0 = alloca ptr %t7 = alloca ptr %t8 = alloca i32 %t9 = alloca i32 %t10 = alloca i32 %t24 = alloca i32 %t70 = alloca i32 store ptr %arg_t, ptr %t0 %t1 = getelementptr %LSlice, ptr null, i32 1 %t2 = ptrtoint ptr %t1 to i64 store i32 8801, ptr @lp_site %t3 = call ptr @lp_malloc(i64 %t2) store i32 0, ptr @lp_site %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 store i32 3, ptr %t9 store i32 3, ptr %t10 br label %wcond0 wcond0: %t11 = load ptr, ptr %t0 %t12 = load i32, ptr %t10 %t13 = getelementptr inbounds i8, ptr %t11, i32 %t12 %t14 = load i8, ptr %t13 %t15 = zext i8 %t14 to i32 %t16 = icmp ne i32 %t15, 0 %t17 = zext i1 %t16 to i32 %t18 = icmp ne i32 %t17, 0 br i1 %t18, label %wbody1, label %wend2 wbody1: %t19 = load ptr, ptr %t0 %t20 = load i32, ptr %t10 %t21 = getelementptr inbounds i8, ptr %t19, i32 %t20 %t22 = load i8, ptr %t21 %t23 = zext i8 %t22 to i32 store i32 %t23, ptr %t24 %t25 = load i32, ptr %t24 %t26 = icmp eq i32 %t25, 40 %t27 = zext i1 %t26 to i32 %t28 = icmp ne i32 %t27, 0 br i1 %t28, label %then3, label %ifend5 then3: %t29 = load i32, ptr %t8 %t30 = add i32 %t29, 1 store i32 %t30, ptr %t8 br label %ifend5 ifend5: %t31 = load i32, ptr %t24 %t32 = icmp eq i32 %t31, 41 %t33 = zext i1 %t32 to i32 %t34 = icmp ne i32 %t33, 0 br i1 %t34, label %then6, label %ifend8 then6: %t35 = load i32, ptr %t8 %t36 = icmp eq i32 %t35, 0 %t37 = zext i1 %t36 to i32 %t38 = icmp ne i32 %t37, 0 br i1 %t38, label %then9, label %ifend11 then9: %t39 = load i32, ptr %t10 %t40 = load i32, ptr %t9 %t41 = icmp sgt i32 %t39, %t40 %t42 = zext i1 %t41 to i32 %t43 = icmp ne i32 %t42, 0 br i1 %t43, label %then12, label %ifend14 then12: %t44 = load ptr, ptr %t7 %t45 = load ptr, ptr %t0 %t46 = load i32, ptr %t9 %t47 = load i32, ptr %t10 store i32 8802, ptr @lp_site %t48 = call ptr @lp_str_slice(ptr %t45, i32 %t46, i32 %t47) store i32 0, ptr @lp_site %t49 = getelementptr inbounds %LSlice, ptr %t44, i32 0, i32 1 %t50 = getelementptr inbounds %LSlice, ptr %t44, i32 0, i32 2 %t51 = getelementptr inbounds %LSlice, ptr %t44, i32 0, i32 0 %t52 = load i32, ptr %t49 %t53 = load i32, ptr %t50 %t54 = icmp sge i32 %t52, %t53 br i1 %t54, label %grow15, label %put16 grow15: %t55 = mul i32 %t53, 2 %t56 = icmp eq i32 %t53, 0 %t57 = select i1 %t56, i32 8, i32 %t55 %t58 = getelementptr ptr, ptr null, i32 1 %t59 = ptrtoint ptr %t58 to i64 %t60 = zext i32 %t57 to i64 %t61 = mul i64 %t60, %t59 %t62 = load ptr, ptr %t51 store i32 8803, ptr @lp_site %t63 = call ptr @lp_realloc(ptr %t62, i64 %t61) store i32 0, ptr @lp_site store ptr %t63, ptr %t51 store i32 %t57, ptr %t50 br label %put16 put16: %t64 = load ptr, ptr %t51 %t65 = getelementptr inbounds ptr, ptr %t64, i32 %t52 store ptr %t48, ptr %t65 %t66 = add i32 %t52, 1 store i32 %t66, ptr %t49 br label %ifend14 ifend14: %t67 = load ptr, ptr %t7 store ptr %t67, ptr %retval br label %ret ifend11: %t68 = load i32, ptr %t8 %t69 = sub i32 %t68, 1 store i32 %t69, ptr %t8 br label %ifend8 ifend8: %t71 = load i32, ptr %t24 %t72 = icmp eq i32 %t71, 44 %t73 = zext i1 %t72 to i32 %t74 = icmp ne i32 %t73, 0 %t75 = zext i1 %t74 to i32 store i32 %t75, ptr %t70 br i1 %t74, label %sc17, label %scend18 sc17: %t76 = load i32, ptr %t8 %t77 = icmp eq i32 %t76, 0 %t78 = zext i1 %t77 to i32 %t79 = icmp ne i32 %t78, 0 %t80 = zext i1 %t79 to i32 store i32 %t80, ptr %t70 br label %scend18 scend18: %t81 = load i32, ptr %t70 %t82 = icmp ne i32 %t81, 0 br i1 %t82, label %then19, label %ifend21 then19: %t83 = load ptr, ptr %t7 %t84 = load ptr, ptr %t0 %t85 = load i32, ptr %t9 %t86 = load i32, ptr %t10 store i32 8804, ptr @lp_site %t87 = call ptr @lp_str_slice(ptr %t84, i32 %t85, i32 %t86) store i32 0, ptr @lp_site %t88 = getelementptr inbounds %LSlice, ptr %t83, i32 0, i32 1 %t89 = getelementptr inbounds %LSlice, ptr %t83, i32 0, i32 2 %t90 = getelementptr inbounds %LSlice, ptr %t83, i32 0, i32 0 %t91 = load i32, ptr %t88 %t92 = load i32, ptr %t89 %t93 = icmp sge i32 %t91, %t92 br i1 %t93, label %grow22, label %put23 grow22: %t94 = mul i32 %t92, 2 %t95 = icmp eq i32 %t92, 0 %t96 = select i1 %t95, i32 8, i32 %t94 %t97 = getelementptr ptr, 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 store i32 8805, ptr @lp_site %t102 = call ptr @lp_realloc(ptr %t101, i64 %t100) store i32 0, ptr @lp_site store ptr %t102, ptr %t90 store i32 %t96, ptr %t89 br label %put23 put23: %t103 = load ptr, ptr %t90 %t104 = getelementptr inbounds ptr, ptr %t103, i32 %t91 store ptr %t87, ptr %t104 %t105 = add i32 %t91, 1 store i32 %t105, ptr %t88 %t106 = load i32, ptr %t10 %t107 = add i32 %t106, 1 store i32 %t107, ptr %t9 br label %ifend21 ifend21: %t108 = load i32, ptr %t10 %t109 = add i32 %t108, 1 store i32 %t109, ptr %t10 br label %wcond0 wend2: %t110 = load ptr, ptr %t7 store ptr %t110, ptr %retval br label %ret ret: %t111 = load ptr, ptr %retval ret ptr %t111 } define ptr @fn_fn_ty_ret(ptr %arg_t) { entry: %retval = alloca ptr %t0 = alloca ptr %t1 = alloca i32 %t2 = alloca i32 store ptr %arg_t, ptr %t0 store i32 0, ptr %t1 store i32 3, ptr %t2 br label %wcond0 wcond0: %t3 = load ptr, ptr %t0 %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 = icmp eq i32 %t15, 40 %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 %t20 = add i32 %t19, 1 store i32 %t20, ptr %t1 br label %ifend5 ifend5: %t21 = load ptr, ptr %t0 %t22 = load i32, ptr %t2 %t23 = getelementptr inbounds i8, ptr %t21, i32 %t22 %t24 = load i8, ptr %t23 %t25 = zext i8 %t24 to i32 %t26 = icmp eq i32 %t25, 41 %t27 = zext i1 %t26 to i32 %t28 = icmp ne i32 %t27, 0 br i1 %t28, label %then6, label %ifend8 then6: %t29 = load i32, ptr %t1 %t30 = icmp eq 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 ptr, ptr %t0 %t34 = load i32, ptr %t2 %t35 = add i32 %t34, 3 %t36 = load ptr, ptr %t0 %t37 = call i64 @strlen(ptr %t36) %t38 = trunc i64 %t37 to i32 store i32 8806, ptr @lp_site %t39 = call ptr @lp_str_slice(ptr %t33, i32 %t35, i32 %t38) store i32 0, ptr @lp_site store ptr %t39, ptr %retval br label %ret ifend11: %t40 = load i32, ptr %t1 %t41 = sub i32 %t40, 1 store i32 %t41, ptr %t1 br label %ifend8 ifend8: %t42 = load i32, ptr %t2 %t43 = add i32 %t42, 1 store i32 %t43, ptr %t2 br label %wcond0 wend2: store ptr @.str15975, ptr %retval br label %ret ret: %t44 = load ptr, ptr %retval ret ptr %t44 } define ptr @fn_emit_fnref(ptr %arg_e) { entry: %retval = alloca ptr %t0 = alloca ptr %t5 = alloca ptr store ptr %arg_e, 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_fn(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 store i32 8807, ptr @lp_site %t13 = call ptr @lp_str_concat(ptr @.str15976, ptr %t12) store i32 0, ptr @lp_site store i32 8808, ptr @lp_site %t14 = call ptr @lp_str_concat(ptr %t13, ptr @.str15978) store i32 0, ptr @lp_site call void @lp_free(ptr %t13) %t15 = load ptr, ptr %t0 %t16 = getelementptr inbounds %Cmp_Node, ptr %t15, i32 0, i32 1 %t17 = load ptr, ptr %t16 store i32 8809, ptr @lp_site %t18 = call ptr @lp_str_concat(ptr %t14, ptr %t17) store i32 0, ptr @lp_site call void @lp_free(ptr %t14) call void @fn_perr(ptr %t18) br label %ifend2 ifend2: %t19 = load ptr, ptr %t5 %t20 = load ptr, ptr %t0 %t21 = getelementptr inbounds %Cmp_Node, ptr %t20, i32 0, i32 1 %t22 = load ptr, ptr %t21 call void @fn_vis_check(ptr %t19, ptr %t22) %t23 = load ptr, ptr %t5 %t24 = call i32 @fn_state_lead(ptr %t23) %t25 = icmp sgt i32 %t24, 0 %t26 = zext i1 %t25 to i32 %t27 = icmp ne i32 %t26, 0 br i1 %t27, label %then3, label %ifend5 then3: %t28 = load ptr, ptr %t5 %t29 = call ptr @fn_emit_inj_thunk(ptr %t28) %t30 = load ptr, ptr %t5 %t31 = call ptr @fn_fn_sig_of(ptr %t30) %t32 = call ptr @fn_val(ptr %t29, ptr %t31) store ptr %t32, ptr %retval br label %ret ifend5: %t33 = load ptr, ptr %t0 %t34 = getelementptr inbounds %Cmp_Node, ptr %t33, i32 0, i32 1 %t35 = load ptr, ptr %t34 store i32 8810, ptr @lp_site %t36 = call ptr @lp_str_concat(ptr @.str15979, ptr %t35) store i32 0, ptr @lp_site %t37 = load ptr, ptr %t5 %t38 = call ptr @fn_fn_sig_of(ptr %t37) %t39 = call ptr @fn_val(ptr %t36, ptr %t38) store ptr %t39, ptr %retval br label %ret ret: %t40 = load ptr, ptr %retval ret ptr %t40 } define i32 @fn_state_lead(ptr %arg_d) { entry: %retval = alloca i32 %t0 = alloca ptr %t1 = alloca i32 %t2 = alloca i32 %t3 = alloca i32 store ptr %arg_d, ptr %t0 store i32 0, ptr %t1 br label %wcond0 wcond0: %t4 = load i32, ptr %t1 %t5 = load ptr, ptr %t0 %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 1 %t9 = load i32, ptr %t8 %t10 = icmp slt i32 %t4, %t9 %t11 = zext i1 %t10 to i32 %t12 = icmp ne i32 %t11, 0 %t13 = zext i1 %t12 to i32 store i32 %t13, ptr %t3 br i1 %t12, label %sc3, label %scend4 sc3: %t14 = load ptr, ptr %t0 %t15 = getelementptr inbounds %Cmp_Node, ptr %t14, i32 0, i32 7 %t16 = load ptr, ptr %t15 %t17 = load i32, ptr %t1 %t18 = getelementptr inbounds %LSlice, ptr %t16, i32 0, i32 0 %t19 = load ptr, ptr %t18 %t20 = getelementptr inbounds %LSlice, ptr %t16, i32 0, i32 1 %t21 = load i32, ptr %t20 %t22 = icmp ult i32 %t17, %t21 br i1 %t22, label %ixok5, label %ixbad6 ixbad6: store i32 8811, ptr @lp_site %t23 = call ptr @lp_win_stdio(i32 2) store i32 0, ptr @lp_site call i32 (ptr, ptr, ...) @fprintf(ptr %t23, ptr @.fmt_bounds, ptr @.str15980, i32 %t17, i32 %t21) call void @exit(i32 1) unreachable ixok5: %t24 = getelementptr inbounds ptr, ptr %t19, i32 %t17 %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 %t31 = zext i1 %t30 to i32 store i32 %t31, ptr %t3 br label %scend4 scend4: %t32 = load i32, ptr %t3 %t33 = icmp ne i32 %t32, 0 %t34 = zext i1 %t33 to i32 store i32 %t34, ptr %t2 br i1 %t33, label %sc7, label %scend8 sc7: %t35 = load ptr, ptr %t0 %t36 = getelementptr inbounds %Cmp_Node, ptr %t35, i32 0, i32 7 %t37 = load ptr, ptr %t36 %t38 = load i32, ptr %t1 %t39 = getelementptr inbounds %LSlice, ptr %t37, i32 0, i32 0 %t40 = load ptr, ptr %t39 %t41 = getelementptr inbounds %LSlice, ptr %t37, i32 0, i32 1 %t42 = load i32, ptr %t41 %t43 = icmp ult i32 %t38, %t42 br i1 %t43, label %ixok9, label %ixbad10 ixbad10: store i32 8812, ptr @lp_site %t44 = call ptr @lp_win_stdio(i32 2) store i32 0, ptr @lp_site call i32 (ptr, ptr, ...) @fprintf(ptr %t44, ptr @.fmt_bounds, ptr @.str15982, i32 %t38, i32 %t42) call void @exit(i32 1) unreachable ixok9: %t45 = getelementptr inbounds ptr, ptr %t40, i32 %t38 %t46 = load ptr, ptr %t45 %t47 = getelementptr inbounds %Cmp_Node, ptr %t46, i32 0, i32 3 %t48 = load ptr, ptr %t47 %t49 = call i32 @fn_is_state_ty(ptr %t48) %t50 = icmp ne i32 %t49, 0 %t51 = zext i1 %t50 to i32 store i32 %t51, ptr %t2 br label %scend8 scend8: %t52 = load i32, ptr %t2 %t53 = icmp ne i32 %t52, 0 br i1 %t53, label %wbody1, label %wend2 wbody1: %t54 = load i32, ptr %t1 %t55 = add i32 %t54, 1 store i32 %t55, ptr %t1 br label %wcond0 wend2: %t56 = load i32, ptr %t1 store i32 %t56, ptr %retval br label %ret ret: %t57 = load i32, ptr %retval ret i32 %t57 } define ptr @fn_emit_inj_thunk(ptr %arg_d) { entry: %retval = alloca ptr %t0 = alloca ptr %t6 = alloca ptr %t7 = alloca i32 %t57 = alloca i32 %t58 = alloca ptr %t69 = alloca ptr %t70 = alloca ptr %t71 = alloca ptr %t93 = alloca ptr %t190 = 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 store i32 8813, ptr @lp_site %t4 = call ptr @lp_str_concat(ptr @.str15983, ptr %t3) store i32 0, ptr @lp_site store i32 8814, ptr @lp_site %t5 = call ptr @lp_str_concat(ptr %t4, ptr @.str15985) store i32 0, ptr @lp_site call void @lp_free(ptr %t4) store ptr %t5, ptr %t6 store i32 0, ptr %t7 br label %wcond0 wcond0: %t8 = load i32, ptr %t7 %t9 = load ptr, ptr @g_g_inj_done %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 %wbody1, label %wend2 wbody1: %t15 = load ptr, ptr @g_g_inj_done %t16 = load i32, ptr %t7 %t17 = getelementptr inbounds %LSlice, ptr %t15, i32 0, i32 0 %t18 = load ptr, ptr %t17 %t19 = getelementptr inbounds %LSlice, ptr %t15, i32 0, i32 1 %t20 = load i32, ptr %t19 %t21 = icmp ult i32 %t16, %t20 br i1 %t21, label %ixok3, label %ixbad4 ixbad4: store i32 8815, ptr @lp_site %t22 = call ptr @lp_win_stdio(i32 2) store i32 0, ptr @lp_site call i32 (ptr, ptr, ...) @fprintf(ptr %t22, ptr @.fmt_bounds, ptr @.str15986, i32 %t16, i32 %t20) call void @exit(i32 1) unreachable ixok3: %t23 = getelementptr inbounds ptr, ptr %t18, i32 %t16 %t24 = load ptr, ptr %t23 %t25 = load ptr, ptr %t0 %t26 = getelementptr inbounds %Cmp_Node, ptr %t25, i32 0, i32 1 %t27 = load ptr, ptr %t26 %t28 = call i32 @lp_str_eq(ptr %t24, ptr %t27) %t29 = icmp ne i32 %t28, 0 br i1 %t29, label %then5, label %ifend7 then5: %t30 = load ptr, ptr %t6 store ptr %t30, ptr %retval br label %ret ifend7: %t31 = load i32, ptr %t7 %t32 = add i32 %t31, 1 store i32 %t32, ptr %t7 br label %wcond0 wend2: %t33 = load ptr, ptr @g_g_inj_done %t34 = load ptr, ptr %t0 %t35 = getelementptr inbounds %Cmp_Node, ptr %t34, i32 0, i32 1 %t36 = load ptr, ptr %t35 %t37 = getelementptr inbounds %LSlice, ptr %t33, i32 0, i32 1 %t38 = getelementptr inbounds %LSlice, ptr %t33, i32 0, i32 2 %t39 = getelementptr inbounds %LSlice, ptr %t33, i32 0, i32 0 %t40 = load i32, ptr %t37 %t41 = load i32, ptr %t38 %t42 = icmp sge i32 %t40, %t41 br i1 %t42, label %grow8, label %put9 grow8: %t43 = mul i32 %t41, 2 %t44 = icmp eq i32 %t41, 0 %t45 = select i1 %t44, i32 8, i32 %t43 %t46 = getelementptr ptr, ptr null, i32 1 %t47 = ptrtoint ptr %t46 to i64 %t48 = zext i32 %t45 to i64 %t49 = mul i64 %t48, %t47 %t50 = load ptr, ptr %t39 store i32 8816, ptr @lp_site %t51 = call ptr @lp_realloc(ptr %t50, i64 %t49) store i32 0, ptr @lp_site store ptr %t51, ptr %t39 store i32 %t45, ptr %t38 br label %put9 put9: %t52 = load ptr, ptr %t39 %t53 = getelementptr inbounds ptr, ptr %t52, i32 %t40 store ptr %t36, ptr %t53 %t54 = add i32 %t40, 1 store i32 %t54, ptr %t37 %t55 = load ptr, ptr %t0 %t56 = call i32 @fn_state_lead(ptr %t55) store i32 %t56, ptr %t57 store ptr @.str15987, ptr %t58 %t59 = load ptr, ptr %t0 %t60 = getelementptr inbounds %Cmp_Node, ptr %t59, i32 0, i32 3 %t61 = load ptr, ptr %t60 %t62 = icmp ne ptr %t61, null %t63 = zext i1 %t62 to i32 %t64 = icmp ne i32 %t63, 0 br i1 %t64, label %then10, label %ifend12 then10: %t65 = load ptr, ptr %t0 %t66 = getelementptr inbounds %Cmp_Node, ptr %t65, i32 0, i32 3 %t67 = load ptr, ptr %t66 %t68 = call ptr @fn_llty(ptr %t67) store ptr %t68, ptr %t58 br label %ifend12 ifend12: store ptr @.str15988, ptr %t69 store ptr @.str15989, ptr %t70 store ptr @.str15990, ptr %t71 store i32 0, ptr %t7 br label %wcond13 wcond13: %t72 = load i32, ptr %t7 %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 = load i32, ptr %t7 %t85 = getelementptr inbounds %LSlice, ptr %t83, i32 0, i32 0 %t86 = load ptr, ptr %t85 %t87 = getelementptr inbounds %LSlice, ptr %t83, i32 0, i32 1 %t88 = load i32, ptr %t87 %t89 = icmp ult i32 %t84, %t88 br i1 %t89, label %ixok16, label %ixbad17 ixbad17: store i32 8817, ptr @lp_site %t90 = call ptr @lp_win_stdio(i32 2) store i32 0, ptr @lp_site call i32 (ptr, ptr, ...) @fprintf(ptr %t90, ptr @.fmt_bounds, ptr @.str15991, i32 %t84, i32 %t88) call void @exit(i32 1) unreachable ixok16: %t91 = getelementptr inbounds ptr, ptr %t86, i32 %t84 %t92 = load ptr, ptr %t91 store ptr %t92, ptr %t93 %t94 = load i32, ptr %t7 %t95 = load i32, ptr %t57 %t96 = icmp slt i32 %t94, %t95 %t97 = zext i1 %t96 to i32 %t98 = icmp ne i32 %t97, 0 br i1 %t98, label %then18, label %else19 then18: %t99 = load ptr, ptr %t93 %t100 = getelementptr inbounds %Cmp_Node, ptr %t99, i32 0, i32 3 %t101 = load ptr, ptr %t100 %t102 = call ptr @fn_state_global(ptr %t101) %t103 = call ptr @fn_find_global(ptr %t102) %t104 = call i32 @fn_is_lazy_state(ptr %t103) %t105 = icmp ne i32 %t104, 0 br i1 %t105, label %then21, label %else22 then21: %t106 = load ptr, ptr %t71 %t107 = load i32, ptr %t7 %t108 = call ptr @fn_itoa(i32 %t107) store i32 8818, ptr @lp_site %t109 = call ptr @lp_str_concat(ptr @.str15992, ptr %t108) store i32 0, ptr @lp_site store i32 8819, ptr @lp_site %t110 = call ptr @lp_str_concat(ptr %t109, ptr @.str15993) store i32 0, ptr @lp_site call void @lp_free(ptr %t109) %t111 = load ptr, ptr %t93 %t112 = getelementptr inbounds %Cmp_Node, ptr %t111, i32 0, i32 3 %t113 = load ptr, ptr %t112 store i32 8820, ptr @lp_site %t114 = call ptr @lp_str_concat(ptr %t110, ptr %t113) store i32 0, ptr @lp_site call void @lp_free(ptr %t110) store i32 8821, ptr @lp_site %t115 = call ptr @lp_str_concat(ptr %t114, ptr @.str15994) store i32 0, ptr @lp_site call void @lp_free(ptr %t114) store i32 8822, ptr @lp_site %t116 = call ptr @lp_str_concat(ptr %t106, ptr %t115) store i32 0, ptr @lp_site call void @lp_free(ptr %t115) store ptr %t116, ptr %t71 br label %ifend23 else22: %t117 = load ptr, ptr %t71 %t118 = load i32, ptr %t7 %t119 = call ptr @fn_itoa(i32 %t118) store i32 8823, ptr @lp_site %t120 = call ptr @lp_str_concat(ptr @.str15995, ptr %t119) store i32 0, ptr @lp_site store i32 8824, ptr @lp_site %t121 = call ptr @lp_str_concat(ptr %t120, ptr @.str15996) store i32 0, ptr @lp_site call void @lp_free(ptr %t120) %t122 = load ptr, ptr %t93 %t123 = getelementptr inbounds %Cmp_Node, ptr %t122, i32 0, i32 3 %t124 = load ptr, ptr %t123 store i32 8825, ptr @lp_site %t125 = call ptr @lp_str_concat(ptr %t121, ptr %t124) store i32 0, ptr @lp_site call void @lp_free(ptr %t121) store i32 8826, ptr @lp_site %t126 = call ptr @lp_str_concat(ptr %t125, ptr @.str15997) store i32 0, ptr @lp_site call void @lp_free(ptr %t125) store i32 8827, ptr @lp_site %t127 = call ptr @lp_str_concat(ptr %t117, ptr %t126) store i32 0, ptr @lp_site call void @lp_free(ptr %t126) store ptr %t127, ptr %t71 br label %ifend23 ifend23: %t128 = load ptr, ptr %t70 %t129 = call i64 @strlen(ptr %t128) %t130 = trunc i64 %t129 to i32 %t131 = icmp sgt i32 %t130, 0 %t132 = zext i1 %t131 to i32 %t133 = icmp ne i32 %t132, 0 br i1 %t133, label %then24, label %ifend26 then24: %t134 = load ptr, ptr %t70 store i32 8828, ptr @lp_site %t135 = call ptr @lp_str_concat(ptr %t134, ptr @.str15998) store i32 0, ptr @lp_site store ptr %t135, ptr %t70 br label %ifend26 ifend26: %t136 = load ptr, ptr %t70 %t137 = load i32, ptr %t7 %t138 = call ptr @fn_itoa(i32 %t137) store i32 8829, ptr @lp_site %t139 = call ptr @lp_str_concat(ptr @.str15999, ptr %t138) store i32 0, ptr @lp_site store i32 8830, ptr @lp_site %t140 = call ptr @lp_str_concat(ptr %t136, ptr %t139) store i32 0, ptr @lp_site call void @lp_free(ptr %t139) store ptr %t140, ptr %t70 br label %ifend20 else19: %t141 = load ptr, ptr %t69 %t142 = call i64 @strlen(ptr %t141) %t143 = trunc i64 %t142 to i32 %t144 = icmp sgt i32 %t143, 0 %t145 = zext i1 %t144 to i32 %t146 = icmp ne i32 %t145, 0 br i1 %t146, label %then27, label %ifend29 then27: %t147 = load ptr, ptr %t69 store i32 8831, ptr @lp_site %t148 = call ptr @lp_str_concat(ptr %t147, ptr @.str16000) store i32 0, ptr @lp_site store ptr %t148, ptr %t69 br label %ifend29 ifend29: %t149 = load ptr, ptr %t69 %t150 = load ptr, ptr %t93 %t151 = getelementptr inbounds %Cmp_Node, ptr %t150, i32 0, i32 3 %t152 = load ptr, ptr %t151 %t153 = call ptr @fn_llty(ptr %t152) store i32 8832, ptr @lp_site %t154 = call ptr @lp_str_concat(ptr %t153, ptr @.str16001) store i32 0, ptr @lp_site %t155 = load i32, ptr %t7 %t156 = call ptr @fn_itoa(i32 %t155) store i32 8833, ptr @lp_site %t157 = call ptr @lp_str_concat(ptr %t154, ptr %t156) store i32 0, ptr @lp_site call void @lp_free(ptr %t154) store i32 8834, ptr @lp_site %t158 = call ptr @lp_str_concat(ptr %t149, ptr %t157) store i32 0, ptr @lp_site call void @lp_free(ptr %t157) store ptr %t158, ptr %t69 %t159 = load ptr, ptr %t70 %t160 = call i64 @strlen(ptr %t159) %t161 = trunc i64 %t160 to i32 %t162 = icmp sgt i32 %t161, 0 %t163 = zext i1 %t162 to i32 %t164 = icmp ne i32 %t163, 0 br i1 %t164, label %then30, label %ifend32 then30: %t165 = load ptr, ptr %t70 store i32 8835, ptr @lp_site %t166 = call ptr @lp_str_concat(ptr %t165, ptr @.str16002) store i32 0, ptr @lp_site store ptr %t166, ptr %t70 br label %ifend32 ifend32: %t167 = load ptr, ptr %t70 %t168 = load ptr, ptr %t93 %t169 = getelementptr inbounds %Cmp_Node, ptr %t168, i32 0, i32 3 %t170 = load ptr, ptr %t169 %t171 = call ptr @fn_llty(ptr %t170) store i32 8836, ptr @lp_site %t172 = call ptr @lp_str_concat(ptr %t171, ptr @.str16003) store i32 0, ptr @lp_site %t173 = load i32, ptr %t7 %t174 = call ptr @fn_itoa(i32 %t173) store i32 8837, ptr @lp_site %t175 = call ptr @lp_str_concat(ptr %t172, ptr %t174) store i32 0, ptr @lp_site call void @lp_free(ptr %t172) store i32 8838, ptr @lp_site %t176 = call ptr @lp_str_concat(ptr %t167, ptr %t175) store i32 0, ptr @lp_site call void @lp_free(ptr %t175) store ptr %t176, ptr %t70 br label %ifend20 ifend20: %t177 = load i32, ptr %t7 %t178 = add i32 %t177, 1 store i32 %t178, ptr %t7 br label %wcond13 wend15: %t179 = load ptr, ptr %t58 store i32 8839, ptr @lp_site %t180 = call ptr @lp_str_concat(ptr @.str16004, ptr %t179) store i32 0, ptr @lp_site store i32 8840, ptr @lp_site %t181 = call ptr @lp_str_concat(ptr %t180, ptr @.str16005) store i32 0, ptr @lp_site call void @lp_free(ptr %t180) %t182 = load ptr, ptr %t0 %t183 = getelementptr inbounds %Cmp_Node, ptr %t182, i32 0, i32 1 %t184 = load ptr, ptr %t183 store i32 8841, ptr @lp_site %t185 = call ptr @lp_str_concat(ptr %t181, ptr %t184) store i32 0, ptr @lp_site call void @lp_free(ptr %t181) store i32 8842, ptr @lp_site %t186 = call ptr @lp_str_concat(ptr %t185, ptr @.str16006) store i32 0, ptr @lp_site call void @lp_free(ptr %t185) %t187 = load ptr, ptr %t70 store i32 8843, ptr @lp_site %t188 = call ptr @lp_str_concat(ptr %t186, ptr %t187) store i32 0, ptr @lp_site call void @lp_free(ptr %t186) store i32 8844, ptr @lp_site %t189 = call ptr @lp_str_concat(ptr %t188, ptr @.str16007) store i32 0, ptr @lp_site call void @lp_free(ptr %t188) store ptr %t189, ptr %t190 %t191 = load ptr, ptr %t58 %t192 = call i32 @lp_str_eq(ptr %t191, ptr @.str16008) %t193 = icmp eq i32 %t192, 0 %t194 = zext i1 %t193 to i32 %t195 = icmp ne i32 %t194, 0 br i1 %t195, label %then33, label %ifend35 then33: %t196 = load ptr, ptr %t58 store i32 8845, ptr @lp_site %t197 = call ptr @lp_str_concat(ptr @.str16009, ptr %t196) store i32 0, ptr @lp_site store i32 8846, ptr @lp_site %t198 = call ptr @lp_str_concat(ptr %t197, ptr @.str16010) store i32 0, ptr @lp_site call void @lp_free(ptr %t197) %t199 = load ptr, ptr %t0 %t200 = getelementptr inbounds %Cmp_Node, ptr %t199, i32 0, i32 1 %t201 = load ptr, ptr %t200 store i32 8847, ptr @lp_site %t202 = call ptr @lp_str_concat(ptr %t198, ptr %t201) store i32 0, ptr @lp_site call void @lp_free(ptr %t198) store i32 8848, ptr @lp_site %t203 = call ptr @lp_str_concat(ptr %t202, ptr @.str16011) store i32 0, ptr @lp_site call void @lp_free(ptr %t202) %t204 = load ptr, ptr %t70 store i32 8849, ptr @lp_site %t205 = call ptr @lp_str_concat(ptr %t203, ptr %t204) store i32 0, ptr @lp_site call void @lp_free(ptr %t203) store i32 8850, ptr @lp_site %t206 = call ptr @lp_str_concat(ptr %t205, ptr @.str16012) store i32 0, ptr @lp_site call void @lp_free(ptr %t205) %t207 = load ptr, ptr %t58 store i32 8851, ptr @lp_site %t208 = call ptr @lp_str_concat(ptr %t206, ptr %t207) store i32 0, ptr @lp_site call void @lp_free(ptr %t206) store i32 8852, ptr @lp_site %t209 = call ptr @lp_str_concat(ptr %t208, ptr @.str16013) store i32 0, ptr @lp_site call void @lp_free(ptr %t208) store ptr %t209, ptr %t190 br label %ifend35 ifend35: %t210 = load ptr, ptr %t58 store i32 8853, ptr @lp_site %t211 = call ptr @lp_str_concat(ptr @.str16014, ptr %t210) store i32 0, ptr @lp_site store i32 8854, ptr @lp_site %t212 = call ptr @lp_str_concat(ptr %t211, ptr @.str16015) store i32 0, ptr @lp_site call void @lp_free(ptr %t211) %t213 = load ptr, ptr %t6 store i32 8855, ptr @lp_site %t214 = call ptr @lp_str_concat(ptr %t212, ptr %t213) store i32 0, ptr @lp_site call void @lp_free(ptr %t212) store i32 8856, ptr @lp_site %t215 = call ptr @lp_str_concat(ptr %t214, ptr @.str16016) store i32 0, ptr @lp_site call void @lp_free(ptr %t214) %t216 = load ptr, ptr %t69 store i32 8857, ptr @lp_site %t217 = call ptr @lp_str_concat(ptr %t215, ptr %t216) store i32 0, ptr @lp_site call void @lp_free(ptr %t215) store i32 8858, ptr @lp_site %t218 = call ptr @lp_str_concat(ptr %t217, ptr @.str16017) store i32 0, ptr @lp_site call void @lp_free(ptr %t217) %t219 = load ptr, ptr %t71 store i32 8859, ptr @lp_site %t220 = call ptr @lp_str_concat(ptr %t218, ptr %t219) store i32 0, ptr @lp_site call void @lp_free(ptr %t218) %t221 = load ptr, ptr %t190 store i32 8860, ptr @lp_site %t222 = call ptr @lp_str_concat(ptr %t220, ptr %t221) store i32 0, ptr @lp_site call void @lp_free(ptr %t220) store i32 8861, ptr @lp_site %t223 = call ptr @lp_str_concat(ptr %t222, ptr @.str16018) store i32 0, ptr @lp_site call void @lp_free(ptr %t222) call void @fn_emith(ptr %t223) %t224 = load ptr, ptr %t6 store ptr %t224, ptr %retval br label %ret ret: %t225 = load ptr, ptr %retval ret ptr %t225 } define ptr @fn_fn_sym(ptr %arg_name) { entry: %retval = alloca ptr %t0 = alloca ptr %t3 = alloca ptr %t4 = alloca i32 store ptr %arg_name, ptr %t0 %t1 = load ptr, ptr %t0 %t2 = call ptr @fn_find_fn(ptr %t1) store ptr %t2, ptr %t3 %t5 = load ptr, ptr %t3 %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 %t4 br i1 %t8, label %sc0, label %scend1 sc0: %t10 = load ptr, ptr %t3 %t11 = call i32 @fn_state_lead(ptr %t10) %t12 = icmp sgt 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 %t4 br label %scend1 scend1: %t16 = load i32, ptr %t4 %t17 = icmp ne i32 %t16, 0 br i1 %t17, label %then2, label %ifend4 then2: %t18 = load ptr, ptr %t3 %t19 = call ptr @fn_emit_inj_thunk(ptr %t18) store ptr %t19, ptr %retval br label %ret ifend4: %t20 = load ptr, ptr %t0 store i32 8862, ptr @lp_site %t21 = call ptr @lp_str_concat(ptr @.str16019, ptr %t20) store i32 0, ptr @lp_site store ptr %t21, ptr %retval br label %ret ret: %t22 = load ptr, ptr %retval ret ptr %t22 } define ptr @fn_emit_indirect_call(ptr %arg_fv, ptr %arg_e) { entry: %retval = alloca ptr %t0 = alloca ptr %t1 = alloca ptr %t6 = alloca ptr %t11 = alloca ptr %t47 = alloca ptr %t48 = alloca i32 %t71 = alloca ptr %t107 = alloca ptr %t108 = alloca ptr store ptr %arg_fv, ptr %t0 store ptr %arg_e, ptr %t1 %t2 = load ptr, ptr %t0 %t3 = getelementptr inbounds %Cmp_Val, ptr %t2, i32 0, i32 1 %t4 = load ptr, ptr %t3 %t5 = call ptr @fn_fn_ty_params(ptr %t4) store ptr %t5, ptr %t6 %t7 = load ptr, ptr %t0 %t8 = getelementptr inbounds %Cmp_Val, ptr %t7, i32 0, i32 1 %t9 = load ptr, ptr %t8 %t10 = call ptr @fn_fn_ty_ret(ptr %t9) store ptr %t10, ptr %t11 %t12 = load ptr, ptr %t1 %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 %t17 = load ptr, ptr %t6 %t18 = getelementptr inbounds %LSlice, ptr %t17, i32 0, i32 1 %t19 = load i32, ptr %t18 %t20 = icmp ne i32 %t16, %t19 %t21 = zext i1 %t20 to i32 %t22 = icmp ne i32 %t21, 0 br i1 %t22, label %then0, label %ifend2 then0: %t23 = load ptr, ptr %t0 %t24 = getelementptr inbounds %Cmp_Val, ptr %t23, i32 0, i32 1 %t25 = load ptr, ptr %t24 store i32 8863, ptr @lp_site %t26 = call ptr @lp_str_concat(ptr @.str16021, ptr %t25) store i32 0, ptr @lp_site store i32 8864, ptr @lp_site %t27 = call ptr @lp_str_concat(ptr %t26, ptr @.str16023) store i32 0, ptr @lp_site call void @lp_free(ptr %t26) %t28 = load ptr, ptr %t6 %t29 = getelementptr inbounds %LSlice, ptr %t28, i32 0, i32 1 %t30 = load i32, ptr %t29 %t31 = call ptr @fn_itoa(i32 %t30) store i32 8865, ptr @lp_site %t32 = call ptr @lp_str_concat(ptr %t27, ptr %t31) store i32 0, ptr @lp_site call void @lp_free(ptr %t27) store i32 8866, ptr @lp_site %t33 = call ptr @lp_str_concat(ptr %t32, ptr @.str16024) store i32 0, ptr @lp_site call void @lp_free(ptr %t32) %t34 = load ptr, ptr %t1 %t35 = getelementptr inbounds %Cmp_Node, ptr %t34, i32 0, i32 7 %t36 = load ptr, ptr %t35 %t37 = getelementptr inbounds %LSlice, ptr %t36, i32 0, i32 1 %t38 = load i32, ptr %t37 %t39 = call ptr @fn_itoa(i32 %t38) store i32 8867, ptr @lp_site %t40 = call ptr @lp_str_concat(ptr %t33, ptr %t39) store i32 0, ptr @lp_site call void @lp_free(ptr %t33) call void @fn_perr(ptr %t40) br label %ifend2 ifend2: %t41 = getelementptr %LSlice, ptr null, i32 1 %t42 = ptrtoint ptr %t41 to i64 store i32 8868, ptr @lp_site %t43 = call ptr @lp_malloc(i64 %t42) store i32 0, ptr @lp_site %t44 = getelementptr inbounds %LSlice, ptr %t43, i32 0, i32 0 store ptr null, ptr %t44 %t45 = getelementptr inbounds %LSlice, ptr %t43, i32 0, i32 1 store i32 0, ptr %t45 %t46 = getelementptr inbounds %LSlice, ptr %t43, i32 0, i32 2 store i32 0, ptr %t46 store ptr %t43, ptr %t47 store i32 0, ptr %t48 br label %wcond3 wcond3: %t49 = load i32, ptr %t48 %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 1 %t54 = load i32, ptr %t53 %t55 = icmp slt i32 %t49, %t54 %t56 = zext i1 %t55 to i32 %t57 = icmp ne i32 %t56, 0 br i1 %t57, label %wbody4, label %wend5 wbody4: %t58 = load ptr, ptr %t1 %t59 = getelementptr inbounds %Cmp_Node, ptr %t58, i32 0, i32 7 %t60 = load ptr, ptr %t59 %t61 = load i32, ptr %t48 %t62 = getelementptr inbounds %LSlice, ptr %t60, i32 0, i32 0 %t63 = load ptr, ptr %t62 %t64 = getelementptr inbounds %LSlice, ptr %t60, i32 0, i32 1 %t65 = load i32, ptr %t64 %t66 = icmp ult i32 %t61, %t65 br i1 %t66, label %ixok6, label %ixbad7 ixbad7: store i32 8869, ptr @lp_site %t67 = call ptr @lp_win_stdio(i32 2) store i32 0, ptr @lp_site call i32 (ptr, ptr, ...) @fprintf(ptr %t67, ptr @.fmt_bounds, ptr @.str16025, i32 %t61, i32 %t65) call void @exit(i32 1) unreachable ixok6: %t68 = getelementptr inbounds ptr, ptr %t63, i32 %t61 %t69 = load ptr, ptr %t68 %t70 = call ptr @fn_emit_expr(ptr %t69) store ptr %t70, ptr %t71 %t72 = load ptr, ptr %t47 %t73 = load ptr, ptr %t71 %t74 = load ptr, ptr %t6 %t75 = load i32, ptr %t48 %t76 = getelementptr inbounds %LSlice, ptr %t74, i32 0, i32 0 %t77 = load ptr, ptr %t76 %t78 = getelementptr inbounds %LSlice, ptr %t74, i32 0, i32 1 %t79 = load i32, ptr %t78 %t80 = icmp ult i32 %t75, %t79 br i1 %t80, label %ixok8, label %ixbad9 ixbad9: store i32 8870, ptr @lp_site %t81 = call ptr @lp_win_stdio(i32 2) store i32 0, ptr @lp_site call i32 (ptr, ptr, ...) @fprintf(ptr %t81, ptr @.fmt_bounds, ptr @.str16026, i32 %t75, i32 %t79) call void @exit(i32 1) unreachable ixok8: %t82 = getelementptr inbounds ptr, ptr %t77, i32 %t75 %t83 = load ptr, ptr %t82 %t84 = call ptr @fn_coerce_code(ptr %t73, ptr %t83) %t85 = getelementptr inbounds %LSlice, ptr %t72, i32 0, i32 1 %t86 = getelementptr inbounds %LSlice, ptr %t72, i32 0, i32 2 %t87 = getelementptr inbounds %LSlice, ptr %t72, i32 0, i32 0 %t88 = load i32, ptr %t85 %t89 = load i32, ptr %t86 %t90 = icmp sge i32 %t88, %t89 br i1 %t90, label %grow10, label %put11 grow10: %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 store i32 8871, ptr @lp_site %t99 = call ptr @lp_realloc(ptr %t98, i64 %t97) store i32 0, ptr @lp_site store ptr %t99, ptr %t87 store i32 %t93, ptr %t86 br label %put11 put11: %t100 = load ptr, ptr %t87 %t101 = getelementptr inbounds ptr, ptr %t100, i32 %t88 store ptr %t84, ptr %t101 %t102 = add i32 %t88, 1 store i32 %t102, ptr %t85 %t103 = load i32, ptr %t48 %t104 = add i32 %t103, 1 store i32 %t104, ptr %t48 br label %wcond3 wend5: %t105 = load ptr, ptr %t11 %t106 = call ptr @fn_llty(ptr %t105) store ptr %t106, ptr %t107 call void @fn_emit(ptr @.str16027) store ptr @.str16028, ptr %t108 %t109 = load ptr, ptr %t107 %t110 = call i32 @lp_str_eq(ptr %t109, ptr @.str16029) %t111 = icmp eq i32 %t110, 0 %t112 = zext i1 %t111 to i32 %t113 = icmp ne i32 %t112, 0 br i1 %t113, label %then12, label %ifend14 then12: %t114 = call ptr @fn_nreg() store ptr %t114, ptr %t108 %t115 = load ptr, ptr %t108 call void @fn_emit(ptr %t115) call void @fn_emit(ptr @.str16030) br label %ifend14 ifend14: %t116 = load ptr, ptr %t107 store i32 8872, ptr @lp_site %t117 = call ptr @lp_str_concat(ptr @.str16031, ptr %t116) store i32 0, ptr @lp_site store i32 8873, ptr @lp_site %t118 = call ptr @lp_str_concat(ptr %t117, ptr @.str16032) store i32 0, ptr @lp_site call void @lp_free(ptr %t117) %t119 = load ptr, ptr %t0 %t120 = getelementptr inbounds %Cmp_Val, ptr %t119, i32 0, i32 0 %t121 = load ptr, ptr %t120 store i32 8874, ptr @lp_site %t122 = call ptr @lp_str_concat(ptr %t118, ptr %t121) store i32 0, ptr @lp_site call void @lp_free(ptr %t118) store i32 8875, ptr @lp_site %t123 = call ptr @lp_str_concat(ptr %t122, ptr @.str16033) store i32 0, ptr @lp_site call void @lp_free(ptr %t122) call void @fn_emit(ptr %t123) store i32 0, ptr %t48 br label %wcond15 wcond15: %t124 = load i32, ptr %t48 %t125 = load ptr, ptr %t47 %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 %wbody16, label %wend17 wbody16: %t131 = load i32, ptr %t48 %t132 = icmp sgt i32 %t131, 0 %t133 = zext i1 %t132 to i32 %t134 = icmp ne i32 %t133, 0 br i1 %t134, label %then18, label %ifend20 then18: call void @fn_emit(ptr @.str16034) br label %ifend20 ifend20: %t135 = load ptr, ptr %t6 %t136 = load i32, ptr %t48 %t137 = getelementptr inbounds %LSlice, ptr %t135, i32 0, i32 0 %t138 = load ptr, ptr %t137 %t139 = getelementptr inbounds %LSlice, ptr %t135, i32 0, i32 1 %t140 = load i32, ptr %t139 %t141 = icmp ult i32 %t136, %t140 br i1 %t141, label %ixok21, label %ixbad22 ixbad22: store i32 8876, ptr @lp_site %t142 = call ptr @lp_win_stdio(i32 2) store i32 0, ptr @lp_site call i32 (ptr, ptr, ...) @fprintf(ptr %t142, ptr @.fmt_bounds, ptr @.str16035, i32 %t136, i32 %t140) call void @exit(i32 1) unreachable ixok21: %t143 = getelementptr inbounds ptr, ptr %t138, i32 %t136 %t144 = load ptr, ptr %t143 %t145 = call ptr @fn_llty(ptr %t144) store i32 8877, ptr @lp_site %t146 = call ptr @lp_str_concat(ptr %t145, ptr @.str16036) store i32 0, ptr @lp_site %t147 = load ptr, ptr %t47 %t148 = load i32, ptr %t48 %t149 = getelementptr inbounds %LSlice, ptr %t147, i32 0, i32 0 %t150 = load ptr, ptr %t149 %t151 = getelementptr inbounds %LSlice, ptr %t147, i32 0, i32 1 %t152 = load i32, ptr %t151 %t153 = icmp ult i32 %t148, %t152 br i1 %t153, label %ixok23, label %ixbad24 ixbad24: store i32 8878, ptr @lp_site %t154 = call ptr @lp_win_stdio(i32 2) store i32 0, ptr @lp_site call i32 (ptr, ptr, ...) @fprintf(ptr %t154, ptr @.fmt_bounds, ptr @.str16037, i32 %t148, i32 %t152) call void @exit(i32 1) unreachable ixok23: %t155 = getelementptr inbounds ptr, ptr %t150, i32 %t148 %t156 = load ptr, ptr %t155 store i32 8879, ptr @lp_site %t157 = call ptr @lp_str_concat(ptr %t146, ptr %t156) store i32 0, ptr @lp_site call void @lp_free(ptr %t146) call void @fn_emit(ptr %t157) %t158 = load i32, ptr %t48 %t159 = add i32 %t158, 1 store i32 %t159, ptr %t48 br label %wcond15 wend17: call void @fn_emit(ptr @.str16038) %t160 = load ptr, ptr %t108 %t161 = load ptr, ptr %t11 %t162 = call ptr @fn_val(ptr %t160, ptr %t161) store ptr %t162, ptr %retval br label %ret ret: %t163 = load ptr, ptr %retval ret ptr %t163 } define ptr @fn_callee_value(ptr %arg_e) { entry: %retval = alloca ptr %t0 = alloca ptr %t4 = alloca ptr %t15 = alloca i32 %t16 = alloca i32 %t47 = alloca ptr %t48 = alloca i32 %t70 = alloca i32 %t71 = alloca i32 %t108 = alloca ptr %t117 = 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 store ptr %t3, ptr %t4 %t5 = load ptr, ptr %t4 %t6 = getelementptr inbounds %Cmp_Node, ptr %t5, i32 0, i32 0 %t7 = load i32, ptr %t6 %t8 = icmp eq i32 %t7, 33 %t9 = zext i1 %t8 to i32 %t10 = icmp ne i32 %t9, 0 br i1 %t10, label %then0, label %ifend2 then0: %t11 = load ptr, ptr %t4 %t12 = getelementptr inbounds %Cmp_Node, ptr %t11, i32 0, i32 1 %t13 = load ptr, ptr %t12 %t14 = call i32 @fn_loc_find(ptr %t13) store i32 %t14, ptr %t15 %t17 = load i32, ptr %t15 %t18 = icmp sge 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 %t16 br i1 %t20, label %sc3, label %scend4 sc3: %t22 = load ptr, ptr @g_loc_ty %t23 = load i32, ptr %t15 %t24 = getelementptr inbounds %LSlice, ptr %t22, i32 0, i32 0 %t25 = load ptr, ptr %t24 %t26 = getelementptr inbounds %LSlice, ptr %t22, i32 0, i32 1 %t27 = load i32, ptr %t26 %t28 = icmp ult i32 %t23, %t27 br i1 %t28, label %ixok5, label %ixbad6 ixbad6: store i32 8880, ptr @lp_site %t29 = call ptr @lp_win_stdio(i32 2) store i32 0, ptr @lp_site call i32 (ptr, ptr, ...) @fprintf(ptr %t29, ptr @.fmt_bounds, ptr @.str16039, i32 %t23, i32 %t27) call void @exit(i32 1) unreachable ixok5: %t30 = getelementptr inbounds ptr, ptr %t25, i32 %t23 %t31 = load ptr, ptr %t30 %t32 = call i32 @fn_is_fn_type(ptr %t31) %t33 = icmp ne i32 %t32, 0 %t34 = zext i1 %t33 to i32 store i32 %t34, ptr %t16 br label %scend4 scend4: %t35 = load i32, ptr %t16 %t36 = icmp ne i32 %t35, 0 br i1 %t36, label %then7, label %ifend9 then7: %t37 = load ptr, ptr %t4 %t38 = call ptr @fn_emit_expr(ptr %t37) store ptr %t38, ptr %retval br label %ret ifend9: %t39 = load i32, ptr %t15 %t40 = icmp slt i32 %t39, 0 %t41 = zext i1 %t40 to i32 %t42 = icmp ne i32 %t41, 0 br i1 %t42, label %then10, label %ifend12 then10: %t43 = load ptr, ptr %t4 %t44 = getelementptr inbounds %Cmp_Node, ptr %t43, i32 0, i32 1 %t45 = load ptr, ptr %t44 %t46 = call ptr @fn_find_global(ptr %t45) store ptr %t46, ptr %t47 %t49 = load ptr, ptr %t47 %t50 = icmp ne ptr %t49, null %t51 = zext i1 %t50 to i32 %t52 = icmp ne i32 %t51, 0 %t53 = zext i1 %t52 to i32 store i32 %t53, ptr %t48 br i1 %t52, label %sc13, label %scend14 sc13: %t54 = load ptr, ptr %t47 %t55 = getelementptr inbounds %Cmp_Node, ptr %t54, i32 0, i32 3 %t56 = load ptr, ptr %t55 %t57 = call i32 @fn_is_fn_type(ptr %t56) %t58 = icmp ne i32 %t57, 0 %t59 = zext i1 %t58 to i32 store i32 %t59, ptr %t48 br label %scend14 scend14: %t60 = load i32, ptr %t48 %t61 = icmp ne i32 %t60, 0 br i1 %t61, label %then15, label %ifend17 then15: %t62 = load ptr, ptr %t4 %t63 = call ptr @fn_emit_expr(ptr %t62) store ptr %t63, ptr %retval br label %ret ifend17: br label %ifend12 ifend12: store ptr null, ptr %retval br label %ret ifend2: %t64 = load ptr, ptr %t4 %t65 = getelementptr inbounds %Cmp_Node, ptr %t64, i32 0, i32 0 %t66 = load i32, ptr %t65 %t67 = icmp eq i32 %t66, 35 %t68 = zext i1 %t67 to i32 %t69 = icmp ne i32 %t68, 0 br i1 %t69, label %then18, label %ifend20 then18: %t72 = load ptr, ptr %t4 %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 0 %t76 = load i32, ptr %t75 %t77 = icmp eq i32 %t76, 33 %t78 = zext i1 %t77 to i32 %t79 = icmp ne i32 %t78, 0 %t80 = zext i1 %t79 to i32 store i32 %t80, ptr %t71 br i1 %t79, label %sc21, label %scend22 sc21: %t81 = load ptr, ptr %t4 %t82 = getelementptr inbounds %Cmp_Node, ptr %t81, i32 0, i32 4 %t83 = load ptr, ptr %t82 %t84 = getelementptr inbounds %Cmp_Node, ptr %t83, i32 0, i32 1 %t85 = load ptr, ptr %t84 %t86 = call i32 @fn_loc_find(ptr %t85) %t87 = icmp slt i32 %t86, 0 %t88 = zext i1 %t87 to i32 %t89 = icmp ne i32 %t88, 0 %t90 = zext i1 %t89 to i32 store i32 %t90, ptr %t71 br label %scend22 scend22: %t91 = load i32, ptr %t71 %t92 = icmp ne i32 %t91, 0 %t93 = zext i1 %t92 to i32 store i32 %t93, ptr %t70 br i1 %t92, label %sc23, label %scend24 sc23: %t94 = load ptr, ptr %t4 %t95 = getelementptr inbounds %Cmp_Node, ptr %t94, i32 0, i32 4 %t96 = load ptr, ptr %t95 %t97 = getelementptr inbounds %Cmp_Node, ptr %t96, i32 0, i32 1 %t98 = load ptr, ptr %t97 %t99 = call ptr @fn_find_global(ptr %t98) %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 %t70 br label %scend24 scend24: %t104 = load i32, ptr %t70 %t105 = icmp ne i32 %t104, 0 br i1 %t105, label %then25, label %ifend27 then25: store ptr null, ptr %retval br label %ret ifend27: %t106 = load ptr, ptr %t4 %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 1 %t111 = load ptr, ptr %t110 %t112 = call i32 @fn_is_fn_type(ptr %t111) %t113 = icmp ne i32 %t112, 0 br i1 %t113, label %then28, label %ifend30 then28: %t114 = load ptr, ptr %t108 store ptr %t114, ptr %retval br label %ret ifend30: store ptr null, ptr %retval br label %ret ifend20: %t115 = load ptr, ptr %t4 %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 1 %t120 = load ptr, ptr %t119 %t121 = call i32 @fn_is_fn_type(ptr %t120) %t122 = icmp eq i32 %t121, 0 %t123 = zext i1 %t122 to i32 %t124 = icmp ne i32 %t123, 0 br i1 %t124, label %then31, label %ifend33 then31: %t125 = load ptr, ptr %t117 %t126 = getelementptr inbounds %Cmp_Val, ptr %t125, i32 0, i32 1 %t127 = load ptr, ptr %t126 store i32 8881, ptr @lp_site %t128 = call ptr @lp_str_concat(ptr @.str16041, ptr %t127) store i32 0, ptr @lp_site store i32 8882, ptr @lp_site %t129 = call ptr @lp_str_concat(ptr %t128, ptr @.str16042) store i32 0, ptr @lp_site call void @lp_free(ptr %t128) call void @fn_perr(ptr %t129) br label %ifend33 ifend33: %t130 = load ptr, ptr %t117 store ptr %t130, ptr %retval br label %ret ret: %t131 = load ptr, ptr %retval ret ptr %t131 } define void @fn_check_worker_ref(ptr %arg_e) { entry: %t0 = alloca ptr %t11 = alloca ptr %t18 = alloca i32 %t19 = alloca i32 %t39 = alloca i32 %t42 = alloca i32 %t90 = alloca i32 %t108 = alloca ptr 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 ne i32 %t3, 55 %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 = 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_fn(ptr %t9) store ptr %t10, ptr %t11 %t12 = load ptr, ptr %t11 %t13 = icmp eq ptr %t12, null %t14 = zext i1 %t13 to i32 %t15 = icmp ne i32 %t14, 0 br i1 %t15, label %then3, label %ifend5 then3: br label %ret ifend5: %t16 = load ptr, ptr %t11 %t17 = call i32 @fn_state_lead(ptr %t16) store i32 %t17, ptr %t18 %t20 = load ptr, ptr %t11 %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 i32, ptr %t18 %t26 = add i32 %t25, 2 %t27 = icmp eq i32 %t24, %t26 %t28 = zext i1 %t27 to i32 %t29 = icmp ne i32 %t28, 0 %t30 = zext i1 %t29 to i32 store i32 %t30, ptr %t19 br i1 %t29, label %sc6, label %scend7 sc6: %t31 = load ptr, ptr %t11 %t32 = getelementptr inbounds %Cmp_Node, ptr %t31, i32 0, i32 3 %t33 = load ptr, ptr %t32 %t34 = call ptr @fn_llty(ptr %t33) %t35 = call i32 @lp_str_eq(ptr %t34, ptr @.str16043) %t36 = icmp ne i32 %t35, 0 %t37 = zext i1 %t36 to i32 store i32 %t37, ptr %t19 br label %scend7 scend7: %t38 = load i32, ptr %t19 store i32 %t38, ptr %t39 %t40 = load i32, ptr %t39 %t41 = icmp ne i32 %t40, 0 br i1 %t41, label %then8, label %ifend10 then8: %t43 = load ptr, ptr %t11 %t44 = getelementptr inbounds %Cmp_Node, ptr %t43, i32 0, i32 7 %t45 = load ptr, ptr %t44 %t46 = load i32, ptr %t18 %t47 = getelementptr inbounds %LSlice, ptr %t45, i32 0, i32 0 %t48 = load ptr, ptr %t47 %t49 = getelementptr inbounds %LSlice, ptr %t45, i32 0, i32 1 %t50 = load i32, ptr %t49 %t51 = icmp ult i32 %t46, %t50 br i1 %t51, label %ixok11, label %ixbad12 ixbad12: store i32 8883, ptr @lp_site %t52 = call ptr @lp_win_stdio(i32 2) store i32 0, ptr @lp_site call i32 (ptr, ptr, ...) @fprintf(ptr %t52, ptr @.fmt_bounds, ptr @.str16044, i32 %t46, i32 %t50) call void @exit(i32 1) unreachable ixok11: %t53 = getelementptr inbounds ptr, ptr %t48, i32 %t46 %t54 = load ptr, ptr %t53 %t55 = getelementptr inbounds %Cmp_Node, ptr %t54, i32 0, i32 3 %t56 = load ptr, ptr %t55 %t57 = call ptr @fn_llty(ptr %t56) %t58 = call i32 @lp_str_eq(ptr %t57, ptr @.str16046) %t59 = icmp ne i32 %t58, 0 %t60 = zext i1 %t59 to i32 store i32 %t60, ptr %t42 br i1 %t59, label %sc13, label %scend14 sc13: %t61 = load ptr, ptr %t11 %t62 = getelementptr inbounds %Cmp_Node, ptr %t61, i32 0, i32 7 %t63 = load ptr, ptr %t62 %t64 = load i32, ptr %t18 %t65 = add i32 %t64, 1 %t66 = getelementptr inbounds %LSlice, ptr %t63, i32 0, i32 0 %t67 = load ptr, ptr %t66 %t68 = getelementptr inbounds %LSlice, ptr %t63, i32 0, i32 1 %t69 = load i32, ptr %t68 %t70 = icmp ult i32 %t65, %t69 br i1 %t70, label %ixok15, label %ixbad16 ixbad16: store i32 8884, ptr @lp_site %t71 = call ptr @lp_win_stdio(i32 2) store i32 0, ptr @lp_site call i32 (ptr, ptr, ...) @fprintf(ptr %t71, ptr @.fmt_bounds, ptr @.str16047, i32 %t65, i32 %t69) call void @exit(i32 1) unreachable ixok15: %t72 = getelementptr inbounds ptr, ptr %t67, i32 %t65 %t73 = load ptr, ptr %t72 %t74 = getelementptr inbounds %Cmp_Node, ptr %t73, i32 0, i32 3 %t75 = load ptr, ptr %t74 %t76 = call ptr @fn_llty(ptr %t75) %t77 = call i32 @lp_str_eq(ptr %t76, ptr @.str16048) %t78 = icmp ne i32 %t77, 0 %t79 = zext i1 %t78 to i32 store i32 %t79, ptr %t42 br label %scend14 scend14: %t80 = load i32, ptr %t42 store i32 %t80, ptr %t39 br label %ifend10 ifend10: %t81 = load i32, ptr %t39 %t82 = icmp eq i32 %t81, 0 %t83 = zext i1 %t82 to i32 %t84 = icmp ne i32 %t83, 0 br i1 %t84, label %then17, label %ifend19 then17: %t85 = load ptr, ptr %t0 %t86 = getelementptr inbounds %Cmp_Node, ptr %t85, i32 0, i32 1 %t87 = load ptr, ptr %t86 store i32 8885, ptr @lp_site %t88 = call ptr @lp_str_concat(ptr @.str16049, ptr %t87) store i32 0, ptr @lp_site store i32 8886, ptr @lp_site %t89 = call ptr @lp_str_concat(ptr %t88, ptr @.str16050) store i32 0, ptr @lp_site call void @lp_free(ptr %t88) call void @fn_perr(ptr %t89) br label %ifend19 ifend19: store i32 0, ptr %t90 br label %wcond20 wcond20: %t91 = load i32, ptr %t90 %t92 = load i32, ptr %t18 %t93 = icmp slt i32 %t91, %t92 %t94 = zext i1 %t93 to i32 %t95 = icmp ne i32 %t94, 0 br i1 %t95, label %wbody21, label %wend22 wbody21: %t96 = load ptr, ptr %t11 %t97 = getelementptr inbounds %Cmp_Node, ptr %t96, i32 0, i32 7 %t98 = load ptr, ptr %t97 %t99 = load i32, ptr %t90 %t100 = getelementptr inbounds %LSlice, ptr %t98, i32 0, i32 0 %t101 = load ptr, ptr %t100 %t102 = getelementptr inbounds %LSlice, ptr %t98, i32 0, i32 1 %t103 = load i32, ptr %t102 %t104 = icmp ult i32 %t99, %t103 br i1 %t104, label %ixok23, label %ixbad24 ixbad24: store i32 8887, ptr @lp_site %t105 = call ptr @lp_win_stdio(i32 2) store i32 0, ptr @lp_site call i32 (ptr, ptr, ...) @fprintf(ptr %t105, ptr @.fmt_bounds, ptr @.str16051, i32 %t99, i32 %t103) call void @exit(i32 1) unreachable ixok23: %t106 = getelementptr inbounds ptr, ptr %t101, i32 %t99 %t107 = load ptr, ptr %t106 store ptr %t107, ptr %t108 %t109 = load ptr, ptr %t108 %t110 = getelementptr inbounds %Cmp_Node, ptr %t109, i32 0, i32 12 %t111 = load i32, ptr %t110 %t112 = icmp eq i32 %t111, 1 %t113 = zext i1 %t112 to i32 %t114 = icmp ne i32 %t113, 0 br i1 %t114, label %then25, label %ifend27 then25: %t115 = load ptr, ptr %t0 %t116 = getelementptr inbounds %Cmp_Node, ptr %t115, i32 0, i32 1 %t117 = load ptr, ptr %t116 store i32 8888, ptr @lp_site %t118 = call ptr @lp_str_concat(ptr @.str16052, ptr %t117) store i32 0, ptr @lp_site store i32 8889, ptr @lp_site %t119 = call ptr @lp_str_concat(ptr %t118, ptr @.str16053) store i32 0, ptr @lp_site call void @lp_free(ptr %t118) %t120 = load ptr, ptr %t108 %t121 = getelementptr inbounds %Cmp_Node, ptr %t120, i32 0, i32 3 %t122 = load ptr, ptr %t121 store i32 8890, ptr @lp_site %t123 = call ptr @lp_str_concat(ptr %t119, ptr %t122) store i32 0, ptr @lp_site call void @lp_free(ptr %t119) store i32 8891, ptr @lp_site %t124 = call ptr @lp_str_concat(ptr %t123, ptr @.str16054) store i32 0, ptr @lp_site call void @lp_free(ptr %t123) %t125 = load ptr, ptr %t108 %t126 = getelementptr inbounds %Cmp_Node, ptr %t125, i32 0, i32 1 %t127 = load ptr, ptr %t126 store i32 8892, ptr @lp_site %t128 = call ptr @lp_str_concat(ptr %t124, ptr %t127) store i32 0, ptr @lp_site call void @lp_free(ptr %t124) store i32 8893, ptr @lp_site %t129 = call ptr @lp_str_concat(ptr %t128, ptr @.str16055) store i32 0, ptr @lp_site call void @lp_free(ptr %t128) %t130 = load ptr, ptr %t108 %t131 = getelementptr inbounds %Cmp_Node, ptr %t130, i32 0, i32 3 %t132 = load ptr, ptr %t131 store i32 8894, ptr @lp_site %t133 = call ptr @lp_str_concat(ptr %t129, ptr %t132) store i32 0, ptr @lp_site call void @lp_free(ptr %t129) store i32 8895, ptr @lp_site %t134 = call ptr @lp_str_concat(ptr %t133, ptr @.str16056) store i32 0, ptr @lp_site call void @lp_free(ptr %t133) call void @fn_perr(ptr %t134) br label %ifend27 ifend27: %t135 = load i32, ptr %t90 %t136 = add i32 %t135, 1 store i32 %t136, ptr %t90 br label %wcond20 wend22: br label %ret ret: ret void } define i32 @fn_vis_reporting() { entry: %retval = alloca i32 %t0 = load i32, ptr @g_g_vis_report %t1 = icmp slt i32 %t0, 0 %t2 = zext i1 %t1 to i32 %t3 = icmp ne i32 %t2, 0 br i1 %t3, label %then0, label %ifend2 then0: store i32 0, ptr @g_g_vis_report %t4 = call ptr @getenv(ptr @.str16057) %t5 = icmp ne ptr %t4, null %t6 = zext i1 %t5 to i32 %t7 = icmp ne i32 %t6, 0 br i1 %t7, label %then3, label %ifend5 then3: store i32 1, ptr @g_g_vis_report br label %ifend5 ifend5: br label %ifend2 ifend2: %t8 = load i32, ptr @g_g_vis_report %t9 = icmp eq i32 %t8, 1 %t10 = zext i1 %t9 to i32 store i32 %t10, ptr %retval br label %ret ret: %t11 = load i32, ptr %retval ret i32 %t11 } define ptr @fn_vis_plain(ptr %arg_what) { entry: %retval = alloca ptr %t0 = alloca ptr %t1 = alloca i32 store ptr %arg_what, ptr %t0 store i32 0, ptr %t1 br label %wcond0 wcond0: %t2 = load i32, ptr %t1 %t3 = load ptr, ptr %t0 %t4 = call i64 @strlen(ptr %t3) %t5 = trunc i64 %t4 to i32 %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 %t0 %t10 = load i32, ptr %t1 %t11 = getelementptr inbounds i8, ptr %t9, i32 %t10 %t12 = load i8, ptr %t11 %t13 = zext i8 %t12 to i32 %t14 = icmp eq i32 %t13, 36 %t15 = zext i1 %t14 to i32 %t16 = icmp ne i32 %t15, 0 br i1 %t16, label %then3, label %ifend5 then3: %t17 = load ptr, ptr %t0 %t18 = load i32, ptr %t1 store i32 8896, ptr @lp_site %t19 = call ptr @lp_str_slice(ptr %t17, i32 0, i32 %t18) store i32 0, ptr @lp_site store ptr %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 %t0 store ptr %t22, ptr %retval br label %ret ret: %t23 = load ptr, ptr %retval ret ptr %t23 } define void @fn_vis_say(ptr %arg_m) { entry: %t0 = alloca ptr store ptr %arg_m, ptr %t0 store i32 8897, ptr @lp_site %t1 = call ptr @lp_win_stdio(i32 2) store i32 0, ptr @lp_site %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 br label %ret ret: ret void } define i32 @fn_str_prefix(ptr %arg_s, ptr %arg_p) { entry: %retval = alloca i32 %t0 = alloca ptr %t1 = alloca ptr %t9 = alloca i32 %t17 = alloca i32 store ptr %arg_s, ptr %t0 store ptr %arg_p, 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 i32 0, ptr %retval br label %ret ifend2: %t6 = load ptr, ptr %t1 %t7 = call i64 @strlen(ptr %t6) %t8 = trunc i64 %t7 to i32 store i32 %t8, ptr %t9 %t10 = load ptr, ptr %t0 %t11 = call i64 @strlen(ptr %t10) %t12 = trunc i64 %t11 to i32 %t13 = load i32, ptr %t9 %t14 = icmp slt i32 %t12, %t13 %t15 = zext i1 %t14 to i32 %t16 = icmp ne i32 %t15, 0 br i1 %t16, label %then3, label %ifend5 then3: store i32 0, ptr %retval br label %ret ifend5: store i32 0, ptr %t17 br label %wcond6 wcond6: %t18 = load i32, ptr %t17 %t19 = load i32, ptr %t9 %t20 = icmp slt i32 %t18, %t19 %t21 = zext i1 %t20 to i32 %t22 = icmp ne i32 %t21, 0 br i1 %t22, label %wbody7, label %wend8 wbody7: %t23 = load ptr, ptr %t0 %t24 = load i32, ptr %t17 %t25 = getelementptr inbounds i8, ptr %t23, i32 %t24 %t26 = load i8, ptr %t25 %t27 = zext i8 %t26 to i32 %t28 = load ptr, ptr %t1 %t29 = load i32, ptr %t17 %t30 = getelementptr inbounds i8, ptr %t28, i32 %t29 %t31 = load i8, ptr %t30 %t32 = zext i8 %t31 to i32 %t33 = icmp ne i32 %t27, %t32 %t34 = zext i1 %t33 to i32 %t35 = icmp ne i32 %t34, 0 br i1 %t35, label %then9, label %ifend11 then9: store i32 0, ptr %retval br label %ret ifend11: %t36 = load i32, ptr %t17 %t37 = add i32 %t36, 1 store i32 %t37, ptr %t17 br label %wcond6 wend8: store i32 1, ptr %retval br label %ret ret: %t38 = load i32, ptr %retval ret i32 %t38 } define void @fn_vis_check(ptr %arg_d, ptr %arg_what0) { entry: %t0 = alloca ptr %t1 = alloca ptr %t7 = alloca i32 %t8 = alloca i32 %t9 = alloca i32 %t44 = alloca i32 %t52 = alloca i32 %t82 = alloca ptr %t84 = alloca ptr %t91 = alloca ptr %t96 = alloca ptr %t97 = alloca i32 %t98 = alloca i32 %t99 = alloca i32 %t185 = alloca ptr %t196 = alloca ptr %t197 = alloca i32 %t251 = alloca ptr store ptr %arg_d, ptr %t0 store ptr %arg_what0, 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: br label %ret ifend2: %t6 = load ptr, ptr %t0 call void @fn_port_check_bound(ptr %t6) %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, 2 %t14 = zext i1 %t13 to i32 %t15 = icmp ne i32 %t14, 0 %t16 = zext i1 %t15 to i32 store i32 %t16, ptr %t9 br i1 %t15, label %sc3, label %scend4 sc3: %t17 = load ptr, ptr %t0 %t18 = getelementptr inbounds %Cmp_Node, ptr %t17, i32 0, i32 12 %t19 = load i32, ptr %t18 %t20 = icmp eq i32 %t19, 1 %t21 = zext i1 %t20 to i32 %t22 = icmp ne i32 %t21, 0 %t23 = zext i1 %t22 to i32 store i32 %t23, ptr %t9 br label %scend4 scend4: %t24 = load i32, ptr %t9 %t25 = icmp ne i32 %t24, 0 %t26 = zext i1 %t25 to i32 store i32 %t26, ptr %t8 br i1 %t25, label %sc5, label %scend6 sc5: %t27 = load ptr, ptr %t0 %t28 = getelementptr inbounds %Cmp_Node, ptr %t27, i32 0, i32 1 %t29 = load ptr, ptr %t28 %t30 = call i32 @fn_str_prefix(ptr %t29, ptr @.str16060) %t31 = icmp ne i32 %t30, 0 %t32 = zext i1 %t31 to i32 store i32 %t32, ptr %t8 br label %scend6 scend6: %t33 = load i32, ptr %t8 %t34 = icmp ne i32 %t33, 0 %t35 = zext i1 %t34 to i32 store i32 %t35, ptr %t7 br i1 %t34, label %sc7, label %scend8 sc7: %t36 = load ptr, ptr %t0 %t37 = getelementptr inbounds %Cmp_Node, ptr %t36, i32 0, i32 3 %t38 = load ptr, ptr %t37 %t39 = call i32 @fn_is_state_ty(ptr %t38) %t40 = icmp ne i32 %t39, 0 %t41 = zext i1 %t40 to i32 store i32 %t41, ptr %t7 br label %scend8 scend8: %t42 = load i32, ptr %t7 %t43 = icmp ne i32 %t42, 0 br i1 %t43, label %then9, label %ifend11 then9: br label %ret ifend11: %t45 = load ptr, ptr %t0 %t46 = getelementptr inbounds %Cmp_Node, ptr %t45, i32 0, i32 0 %t47 = load i32, ptr %t46 %t48 = icmp eq i32 %t47, 4 %t49 = zext i1 %t48 to i32 %t50 = icmp ne i32 %t49, 0 %t51 = zext i1 %t50 to i32 store i32 %t51, ptr %t44 br i1 %t50, label %sc12, label %scend13 sc12: %t53 = load ptr, ptr %t0 %t54 = getelementptr inbounds %Cmp_Node, ptr %t53, i32 0, i32 1 %t55 = load ptr, ptr %t54 %t56 = call i32 @fn_str_prefix(ptr %t55, ptr @.str16061) %t57 = icmp ne i32 %t56, 0 %t58 = zext i1 %t57 to i32 store i32 %t58, ptr %t52 br i1 %t57, label %scend15, label %sc14 sc14: %t59 = load ptr, ptr %t0 %t60 = getelementptr inbounds %Cmp_Node, ptr %t59, i32 0, i32 1 %t61 = load ptr, ptr %t60 %t62 = call i32 @fn_is_action_builtin(ptr %t61) %t63 = icmp ne i32 %t62, 0 %t64 = zext i1 %t63 to i32 store i32 %t64, ptr %t52 br label %scend15 scend15: %t65 = load i32, ptr %t52 %t66 = icmp ne i32 %t65, 0 %t67 = zext i1 %t66 to i32 store i32 %t67, ptr %t44 br label %scend13 scend13: %t68 = load i32, ptr %t44 %t69 = icmp ne i32 %t68, 0 br i1 %t69, label %then16, label %ifend18 then16: br label %ret ifend18: %t70 = load ptr, ptr %t0 %t71 = load ptr, ptr %t1 call void @fn_deps_edge(ptr %t70, ptr %t71) %t72 = load i32, ptr @g_g_vis_off %t73 = icmp ne i32 %t72, 0 br i1 %t73, label %then19, label %ifend21 then19: br label %ret ifend21: %t74 = load ptr, ptr %t0 %t75 = getelementptr inbounds %Cmp_Node, ptr %t74, i32 0, i32 9 %t76 = load ptr, ptr %t75 %t77 = icmp eq ptr %t76, null %t78 = zext i1 %t77 to i32 %t79 = icmp ne i32 %t78, 0 br i1 %t79, label %then22, label %ifend24 then22: br label %ret ifend24: %t80 = load ptr, ptr %t1 %t81 = call ptr @fn_vis_plain(ptr %t80) store ptr %t81, ptr %t82 %t83 = load ptr, ptr @g_g_err_file store ptr %t83, ptr %t84 %t85 = load ptr, ptr %t84 %t86 = icmp eq ptr %t85, null %t87 = zext i1 %t86 to i32 %t88 = icmp ne i32 %t87, 0 br i1 %t88, label %then25, label %ifend27 then25: br label %ret ifend27: %t89 = load ptr, ptr %t84 %t90 = call ptr @fn_module_of(ptr %t89) store ptr %t90, ptr %t91 %t92 = load ptr, ptr %t0 %t93 = getelementptr inbounds %Cmp_Node, ptr %t92, i32 0, i32 9 %t94 = load ptr, ptr %t93 %t95 = call ptr @fn_module_for_uses(ptr %t94) store ptr %t95, ptr %t96 %t100 = load ptr, ptr %t96 %t101 = call i32 @lp_str_eq(ptr %t100, ptr @.str16062) %t102 = icmp eq i32 %t101, 0 %t103 = zext i1 %t102 to i32 %t104 = icmp ne i32 %t103, 0 %t105 = zext i1 %t104 to i32 store i32 %t105, ptr %t99 br i1 %t104, label %sc28, label %scend29 sc28: %t106 = load ptr, ptr %t91 %t107 = load ptr, ptr %t96 %t108 = call i32 @lp_str_eq(ptr %t106, ptr %t107) %t109 = icmp eq i32 %t108, 0 %t110 = zext i1 %t109 to i32 %t111 = icmp ne i32 %t110, 0 %t112 = zext i1 %t111 to i32 store i32 %t112, ptr %t99 br label %scend29 scend29: %t113 = load i32, ptr %t99 %t114 = icmp ne i32 %t113, 0 %t115 = zext i1 %t114 to i32 store i32 %t115, ptr %t98 br i1 %t114, label %sc30, label %scend31 sc30: %t116 = load ptr, ptr %t91 %t117 = load ptr, ptr %t96 %t118 = call i32 @fn_module_friend_of(ptr %t116, ptr %t117) %t119 = icmp eq i32 %t118, 0 %t120 = zext i1 %t119 to i32 %t121 = icmp ne i32 %t120, 0 %t122 = zext i1 %t121 to i32 store i32 %t122, ptr %t98 br label %scend31 scend31: %t123 = load i32, ptr %t98 %t124 = icmp ne i32 %t123, 0 %t125 = zext i1 %t124 to i32 store i32 %t125, ptr %t97 br i1 %t124, label %sc32, label %scend33 sc32: %t126 = load ptr, ptr %t91 %t127 = load ptr, ptr %t96 %t128 = call i32 @fn_module_may_use(ptr %t126, ptr %t127) %t129 = icmp eq i32 %t128, 0 %t130 = zext i1 %t129 to i32 %t131 = icmp ne i32 %t130, 0 %t132 = zext i1 %t131 to i32 store i32 %t132, ptr %t97 br label %scend33 scend33: %t133 = load i32, ptr %t97 %t134 = icmp ne i32 %t133, 0 br i1 %t134, label %then34, label %ifend36 then34: %t135 = call i32 @fn_vis_reporting() %t136 = icmp ne i32 %t135, 0 br i1 %t136, label %then37, label %else38 then37: %t137 = load ptr, ptr %t0 %t138 = getelementptr inbounds %Cmp_Node, ptr %t137, i32 0, i32 9 %t139 = load ptr, ptr %t138 store i32 8898, ptr @lp_site %t140 = call ptr @lp_str_concat(ptr @.str16063, ptr %t139) store i32 0, ptr @lp_site store i32 8899, ptr @lp_site %t141 = call ptr @lp_str_concat(ptr %t140, ptr @.str16065) store i32 0, ptr @lp_site call void @lp_free(ptr %t140) %t142 = load ptr, ptr %t0 %t143 = getelementptr inbounds %Cmp_Node, ptr %t142, i32 0, i32 8 %t144 = load i32, ptr %t143 %t145 = call ptr @fn_itoa(i32 %t144) store i32 8900, ptr @lp_site %t146 = call ptr @lp_str_concat(ptr %t141, ptr %t145) store i32 0, ptr @lp_site call void @lp_free(ptr %t141) store i32 8901, ptr @lp_site %t147 = call ptr @lp_str_concat(ptr %t146, ptr @.str16066) store i32 0, ptr @lp_site call void @lp_free(ptr %t146) %t148 = load ptr, ptr %t96 store i32 8902, ptr @lp_site %t149 = call ptr @lp_str_concat(ptr %t147, ptr %t148) store i32 0, ptr @lp_site call void @lp_free(ptr %t147) store i32 8903, ptr @lp_site %t150 = call ptr @lp_str_concat(ptr %t149, ptr @.str16067) store i32 0, ptr @lp_site call void @lp_free(ptr %t149) %t151 = load ptr, ptr %t82 store i32 8904, ptr @lp_site %t152 = call ptr @lp_str_concat(ptr %t150, ptr %t151) store i32 0, ptr @lp_site call void @lp_free(ptr %t150) store i32 8905, ptr @lp_site %t153 = call ptr @lp_str_concat(ptr %t152, ptr @.str16068) store i32 0, ptr @lp_site call void @lp_free(ptr %t152) %t154 = load ptr, ptr %t84 store i32 8906, ptr @lp_site %t155 = call ptr @lp_str_concat(ptr %t153, ptr %t154) store i32 0, ptr @lp_site call void @lp_free(ptr %t153) store i32 8907, ptr @lp_site %t156 = call ptr @lp_str_concat(ptr %t155, ptr @.str16069) store i32 0, ptr @lp_site call void @lp_free(ptr %t155) %t157 = load ptr, ptr %t91 store i32 8908, ptr @lp_site %t158 = call ptr @lp_str_concat(ptr %t156, ptr %t157) store i32 0, ptr @lp_site call void @lp_free(ptr %t156) store i32 8909, ptr @lp_site %t159 = call ptr @lp_str_concat(ptr %t158, ptr @.str16070) store i32 0, ptr @lp_site call void @lp_free(ptr %t158) call void @fn_vis_say(ptr %t159) br label %ifend39 else38: %t160 = load ptr, ptr %t91 store i32 8910, ptr @lp_site %t161 = call ptr @lp_str_concat(ptr %t160, ptr @.str16071) store i32 0, ptr @lp_site %t162 = load ptr, ptr %t96 store i32 8911, ptr @lp_site %t163 = call ptr @lp_str_concat(ptr %t161, ptr %t162) store i32 0, ptr @lp_site call void @lp_free(ptr %t161) store i32 8912, ptr @lp_site %t164 = call ptr @lp_str_concat(ptr %t163, ptr @.str16072) store i32 0, ptr @lp_site call void @lp_free(ptr %t163) %t165 = load ptr, ptr %t82 store i32 8913, ptr @lp_site %t166 = call ptr @lp_str_concat(ptr %t164, ptr %t165) store i32 0, ptr @lp_site call void @lp_free(ptr %t164) store i32 8914, ptr @lp_site %t167 = call ptr @lp_str_concat(ptr %t166, ptr @.str16073) store i32 0, ptr @lp_site call void @lp_free(ptr %t166) %t168 = load ptr, ptr %t0 %t169 = getelementptr inbounds %Cmp_Node, ptr %t168, i32 0, i32 9 %t170 = load ptr, ptr %t169 store i32 8915, ptr @lp_site %t171 = call ptr @lp_str_concat(ptr %t167, ptr %t170) store i32 0, ptr @lp_site call void @lp_free(ptr %t167) store i32 8916, ptr @lp_site %t172 = call ptr @lp_str_concat(ptr %t171, ptr @.str16074) store i32 0, ptr @lp_site call void @lp_free(ptr %t171) %t173 = load ptr, ptr %t0 %t174 = getelementptr inbounds %Cmp_Node, ptr %t173, i32 0, i32 8 %t175 = load i32, ptr %t174 %t176 = call ptr @fn_itoa(i32 %t175) store i32 8917, ptr @lp_site %t177 = call ptr @lp_str_concat(ptr %t172, ptr %t176) store i32 0, ptr @lp_site call void @lp_free(ptr %t172) store i32 8918, ptr @lp_site %t178 = call ptr @lp_str_concat(ptr %t177, ptr @.str16075) store i32 0, ptr @lp_site call void @lp_free(ptr %t177) %t179 = load ptr, ptr %t96 store i32 8919, ptr @lp_site %t180 = call ptr @lp_str_concat(ptr %t178, ptr %t179) store i32 0, ptr @lp_site call void @lp_free(ptr %t178) store i32 8920, ptr @lp_site %t181 = call ptr @lp_str_concat(ptr %t180, ptr @.str16076) store i32 0, ptr @lp_site call void @lp_free(ptr %t180) %t182 = load ptr, ptr %t91 store i32 8921, ptr @lp_site %t183 = call ptr @lp_str_concat(ptr %t181, ptr %t182) store i32 0, ptr @lp_site call void @lp_free(ptr %t181) store i32 8922, ptr @lp_site %t184 = call ptr @lp_str_concat(ptr %t183, ptr @.str16077) store i32 0, ptr @lp_site call void @lp_free(ptr %t183) store ptr %t184, ptr %t185 %t186 = load i32, ptr @g_g_diag_json %t187 = icmp ne i32 %t186, 0 br i1 %t187, label %then40, label %else41 then40: %t188 = load ptr, ptr %t84 %t189 = load i32, ptr @g_g_err_line %t190 = load ptr, ptr %t185 call void @fn_diag_add(ptr %t188, i32 %t189, i32 0, ptr @.str16078, ptr %t190) br label %ifend42 else41: %t191 = load ptr, ptr %t185 call void @fn_perr(ptr %t191) br label %ifend42 ifend42: br label %ifend39 ifend39: br label %ifend36 ifend36: %t192 = load ptr, ptr %t0 %t193 = getelementptr inbounds %Cmp_Node, ptr %t192, i32 0, i32 9 %t194 = load ptr, ptr %t193 %t195 = call ptr @fn_module_of(ptr %t194) store ptr %t195, ptr %t196 %t198 = load ptr, ptr %t196 %t199 = call i32 @lp_str_eq(ptr %t198, ptr @.str16079) %t200 = icmp ne i32 %t199, 0 %t201 = zext i1 %t200 to i32 store i32 %t201, ptr %t197 br i1 %t200, label %scend44, label %sc43 sc43: %t202 = load ptr, ptr %t91 %t203 = load ptr, ptr %t196 %t204 = call i32 @lp_str_eq(ptr %t202, ptr %t203) %t205 = icmp ne i32 %t204, 0 %t206 = zext i1 %t205 to i32 store i32 %t206, ptr %t197 br label %scend44 scend44: %t207 = load i32, ptr %t197 %t208 = icmp ne i32 %t207, 0 br i1 %t208, label %then45, label %ifend47 then45: br label %ret ifend47: %t209 = load ptr, ptr %t91 %t210 = load ptr, ptr %t196 %t211 = call i32 @fn_module_friend_of(ptr %t209, ptr %t210) %t212 = icmp ne i32 %t211, 0 br i1 %t212, label %then48, label %ifend50 then48: br label %ret ifend50: %t213 = load ptr, ptr %t0 %t214 = getelementptr inbounds %Cmp_Node, ptr %t213, i32 0, i32 10 %t215 = load i32, ptr %t214 %t216 = icmp eq i32 %t215, 1 %t217 = zext i1 %t216 to i32 %t218 = icmp ne i32 %t217, 0 br i1 %t218, label %then51, label %ifend53 then51: br label %ret ifend53: %t219 = call i32 @fn_vis_reporting() %t220 = icmp ne i32 %t219, 0 br i1 %t220, label %then54, label %ifend56 then54: %t221 = load ptr, ptr %t0 %t222 = getelementptr inbounds %Cmp_Node, ptr %t221, i32 0, i32 9 %t223 = load ptr, ptr %t222 store i32 8923, ptr @lp_site %t224 = call ptr @lp_str_concat(ptr @.str16080, ptr %t223) store i32 0, ptr @lp_site store i32 8924, ptr @lp_site %t225 = call ptr @lp_str_concat(ptr %t224, ptr @.str16081) store i32 0, ptr @lp_site call void @lp_free(ptr %t224) %t226 = load ptr, ptr %t0 %t227 = getelementptr inbounds %Cmp_Node, ptr %t226, i32 0, i32 8 %t228 = load i32, ptr %t227 %t229 = call ptr @fn_itoa(i32 %t228) store i32 8925, ptr @lp_site %t230 = call ptr @lp_str_concat(ptr %t225, ptr %t229) store i32 0, ptr @lp_site call void @lp_free(ptr %t225) store i32 8926, ptr @lp_site %t231 = call ptr @lp_str_concat(ptr %t230, ptr @.str16082) store i32 0, ptr @lp_site call void @lp_free(ptr %t230) %t232 = load ptr, ptr %t196 store i32 8927, ptr @lp_site %t233 = call ptr @lp_str_concat(ptr %t231, ptr %t232) store i32 0, ptr @lp_site call void @lp_free(ptr %t231) store i32 8928, ptr @lp_site %t234 = call ptr @lp_str_concat(ptr %t233, ptr @.str16083) store i32 0, ptr @lp_site call void @lp_free(ptr %t233) %t235 = load ptr, ptr %t82 store i32 8929, ptr @lp_site %t236 = call ptr @lp_str_concat(ptr %t234, ptr %t235) store i32 0, ptr @lp_site call void @lp_free(ptr %t234) store i32 8930, ptr @lp_site %t237 = call ptr @lp_str_concat(ptr %t236, ptr @.str16084) store i32 0, ptr @lp_site call void @lp_free(ptr %t236) %t238 = load ptr, ptr %t84 store i32 8931, ptr @lp_site %t239 = call ptr @lp_str_concat(ptr %t237, ptr %t238) store i32 0, ptr @lp_site call void @lp_free(ptr %t237) store i32 8932, ptr @lp_site %t240 = call ptr @lp_str_concat(ptr %t239, ptr @.str16085) store i32 0, ptr @lp_site call void @lp_free(ptr %t239) call void @fn_vis_say(ptr %t240) br label %ret ifend56: %t241 = load ptr, ptr %t82 store i32 8933, ptr @lp_site %t242 = call ptr @lp_str_concat(ptr %t241, ptr @.str16086) store i32 0, ptr @lp_site %t243 = load ptr, ptr %t196 store i32 8934, ptr @lp_site %t244 = call ptr @lp_str_concat(ptr %t242, ptr %t243) store i32 0, ptr @lp_site call void @lp_free(ptr %t242) store i32 8935, ptr @lp_site %t245 = call ptr @lp_str_concat(ptr %t244, ptr @.str16087) store i32 0, ptr @lp_site call void @lp_free(ptr %t244) %t246 = load ptr, ptr %t0 %t247 = getelementptr inbounds %Cmp_Node, ptr %t246, i32 0, i32 9 %t248 = load ptr, ptr %t247 store i32 8936, ptr @lp_site %t249 = call ptr @lp_str_concat(ptr %t245, ptr %t248) store i32 0, ptr @lp_site call void @lp_free(ptr %t245) store i32 8937, ptr @lp_site %t250 = call ptr @lp_str_concat(ptr %t249, ptr @.str16088) store i32 0, ptr @lp_site call void @lp_free(ptr %t249) store ptr %t250, ptr %t251 %t252 = load i32, ptr @g_g_diag_json %t253 = icmp ne i32 %t252, 0 br i1 %t253, label %then57, label %ifend59 then57: %t254 = load ptr, ptr %t84 %t255 = load i32, ptr @g_g_err_line %t256 = load ptr, ptr %t251 call void @fn_diag_add(ptr %t254, i32 %t255, i32 0, ptr @.str16089, ptr %t256) br label %ret ifend59: %t257 = load ptr, ptr %t251 call void @fn_perr(ptr %t257) br label %ret ret: ret void } define i32 @fn_schema_write(ptr %arg_path) { entry: %retval = alloca i32 %t0 = alloca ptr %t2 = alloca ptr %t5 = alloca ptr store ptr %arg_path, ptr %t0 %t1 = call ptr @fn_schema_buf() store ptr %t1, ptr %t2 %t3 = load ptr, ptr %t0 store i32 8938, ptr @lp_site %t4 = call ptr @lp_pak_open(ptr %t3, ptr @.str16090) store i32 0, ptr @lp_site 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: store i32 0, ptr %retval br label %ret ifend2: %t10 = load ptr, ptr %t5 %t11 = load ptr, ptr %t2 %t12 = call ptr @fn_buf_str(ptr %t11) %t13 = load ptr, ptr %t2 %t14 = getelementptr inbounds %Cmp_Buf, ptr %t13, i32 0, i32 1 %t15 = load i32, ptr %t14 %t16 = zext i32 %t15 to i64 %t17 = call i64 @fwrite(ptr %t12, i64 1, i64 %t16, ptr %t10) %t18 = trunc i64 %t17 to i32 %t19 = load ptr, ptr %t5 call i32 @fclose(ptr %t19) store i32 1, ptr %retval br label %ret ret: %t20 = load i32, ptr %retval ret i32 %t20 } define ptr @fn_schema_buf() { entry: %retval = alloca ptr %t1 = alloca ptr %t0 = call ptr @fn_buf_new() store ptr %t0, ptr %t1 %t2 = load ptr, ptr %t1 call void @fn_buf_puts(ptr %t2, ptr @.str16092) %t3 = load ptr, ptr %t1 %t4 = load ptr, ptr @g_g_mg_entry call void @fn_jq_put(ptr %t3, ptr %t4) %t5 = load ptr, ptr %t1 call void @fn_buf_puts(ptr %t5, ptr @.str16093) %t6 = load ptr, ptr %t1 call void @fn_sc_records(ptr %t6) %t7 = load ptr, ptr %t1 call void @fn_buf_puts(ptr %t7, ptr @.str16094) %t8 = load ptr, ptr %t1 call void @fn_sc_registries(ptr %t8) %t9 = load ptr, ptr %t1 call void @fn_buf_puts(ptr %t9, ptr @.str16095) %t10 = load ptr, ptr %t1 call void @fn_sc_consts(ptr %t10) %t11 = load ptr, ptr %t1 call void @fn_buf_puts(ptr %t11, ptr @.str16096) %t12 = load ptr, ptr %t1 call void @fn_sc_functions(ptr %t12) call void @fn_sc_natives_find() %t13 = load ptr, ptr %t1 call void @fn_buf_puts(ptr %t13, ptr @.str16097) %t14 = load ptr, ptr %t1 call void @fn_sc_components(ptr %t14) %t15 = load ptr, ptr %t1 call void @fn_buf_puts(ptr %t15, ptr @.str16098) %t16 = load ptr, ptr %t1 call void @fn_sc_natives(ptr %t16) %t17 = load ptr, ptr %t1 call void @fn_buf_puts(ptr %t17, ptr @.str16099) %t18 = load ptr, ptr %t1 call void @fn_sc_units(ptr %t18) %t19 = load ptr, ptr %t1 call void @fn_buf_puts(ptr %t19, ptr @.str16100) %t20 = load ptr, ptr %t1 call void @fn_sc_lang(ptr %t20) %t21 = load ptr, ptr %t1 call void @fn_buf_puts(ptr %t21, ptr @.str16101) %t22 = load ptr, ptr %t1 store ptr %t22, ptr %retval br label %ret ret: %t23 = load ptr, ptr %retval ret ptr %t23 } define ptr @fn_sc_name(ptr %arg_s) { entry: %retval = alloca ptr %t0 = alloca ptr %t5 = alloca i32 store ptr %arg_s, 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: store ptr @.str16102, ptr %retval br label %ret ifend2: store i32 0, ptr %t5 br label %wcond3 wcond3: %t6 = load i32, ptr %t5 %t7 = load ptr, ptr @g_g_rt_new %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 %wbody4, label %wend5 wbody4: %t13 = load ptr, ptr @g_g_rt_new %t14 = load i32, ptr %t5 %t15 = getelementptr inbounds %LSlice, ptr %t13, i32 0, i32 0 %t16 = load ptr, ptr %t15 %t17 = getelementptr inbounds %LSlice, ptr %t13, i32 0, i32 1 %t18 = load i32, ptr %t17 %t19 = icmp ult i32 %t14, %t18 br i1 %t19, label %ixok6, label %ixbad7 ixbad7: store i32 8939, ptr @lp_site %t20 = call ptr @lp_win_stdio(i32 2) store i32 0, ptr @lp_site call i32 (ptr, ptr, ...) @fprintf(ptr %t20, ptr @.fmt_bounds, ptr @.str16103, i32 %t14, i32 %t18) call void @exit(i32 1) unreachable ixok6: %t21 = getelementptr inbounds ptr, ptr %t16, i32 %t14 %t22 = load ptr, ptr %t21 %t23 = load ptr, ptr %t0 %t24 = call i32 @lp_str_eq(ptr %t22, ptr %t23) %t25 = icmp ne i32 %t24, 0 br i1 %t25, label %then8, label %ifend10 then8: %t26 = load ptr, ptr @g_g_rt_old %t27 = load i32, ptr %t5 %t28 = getelementptr inbounds %LSlice, ptr %t26, i32 0, i32 0 %t29 = load ptr, ptr %t28 %t30 = getelementptr inbounds %LSlice, ptr %t26, i32 0, i32 1 %t31 = load i32, ptr %t30 %t32 = icmp ult i32 %t27, %t31 br i1 %t32, label %ixok11, label %ixbad12 ixbad12: store i32 8940, ptr @lp_site %t33 = call ptr @lp_win_stdio(i32 2) store i32 0, ptr @lp_site call i32 (ptr, ptr, ...) @fprintf(ptr %t33, ptr @.fmt_bounds, ptr @.str16105, i32 %t27, i32 %t31) call void @exit(i32 1) unreachable ixok11: %t34 = getelementptr inbounds ptr, ptr %t29, i32 %t27 %t35 = load ptr, ptr %t34 store ptr %t35, ptr %retval br label %ret ifend10: %t36 = load i32, ptr %t5 %t37 = add i32 %t36, 1 store i32 %t37, ptr %t5 br label %wcond3 wend5: store i32 0, ptr %t5 br label %wcond13 wcond13: %t38 = load i32, ptr %t5 %t39 = load ptr, ptr @g_g_re_new %t40 = getelementptr inbounds %LSlice, ptr %t39, i32 0, i32 1 %t41 = load i32, ptr %t40 %t42 = icmp slt i32 %t38, %t41 %t43 = zext i1 %t42 to i32 %t44 = icmp ne i32 %t43, 0 br i1 %t44, label %wbody14, label %wend15 wbody14: %t45 = load ptr, ptr @g_g_re_new %t46 = load i32, ptr %t5 %t47 = getelementptr inbounds %LSlice, ptr %t45, i32 0, i32 0 %t48 = load ptr, ptr %t47 %t49 = getelementptr inbounds %LSlice, ptr %t45, i32 0, i32 1 %t50 = load i32, ptr %t49 %t51 = icmp ult i32 %t46, %t50 br i1 %t51, label %ixok16, label %ixbad17 ixbad17: store i32 8941, ptr @lp_site %t52 = call ptr @lp_win_stdio(i32 2) store i32 0, ptr @lp_site call i32 (ptr, ptr, ...) @fprintf(ptr %t52, ptr @.fmt_bounds, ptr @.str16106, i32 %t46, i32 %t50) call void @exit(i32 1) unreachable ixok16: %t53 = getelementptr inbounds ptr, ptr %t48, i32 %t46 %t54 = load ptr, ptr %t53 %t55 = load ptr, ptr %t0 %t56 = call i32 @lp_str_eq(ptr %t54, ptr %t55) %t57 = icmp ne i32 %t56, 0 br i1 %t57, label %then18, label %ifend20 then18: %t58 = load ptr, ptr @g_g_re_old %t59 = load i32, ptr %t5 %t60 = getelementptr inbounds %LSlice, ptr %t58, i32 0, i32 0 %t61 = load ptr, ptr %t60 %t62 = getelementptr inbounds %LSlice, ptr %t58, i32 0, i32 1 %t63 = load i32, ptr %t62 %t64 = icmp ult i32 %t59, %t63 br i1 %t64, label %ixok21, label %ixbad22 ixbad22: store i32 8942, ptr @lp_site %t65 = call ptr @lp_win_stdio(i32 2) store i32 0, ptr @lp_site call i32 (ptr, ptr, ...) @fprintf(ptr %t65, ptr @.fmt_bounds, ptr @.str16107, i32 %t59, i32 %t63) call void @exit(i32 1) unreachable ixok21: %t66 = getelementptr inbounds ptr, ptr %t61, i32 %t59 %t67 = load ptr, ptr %t66 store ptr %t67, ptr %retval br label %ret ifend20: %t68 = load i32, ptr %t5 %t69 = add i32 %t68, 1 store i32 %t69, ptr %t5 br label %wcond13 wend15: %t70 = load ptr, ptr %t0 %t71 = call ptr @fn_vis_plain(ptr %t70) store ptr %t71, ptr %retval br label %ret ret: %t72 = load ptr, ptr %retval ret ptr %t72 } define ptr @fn_sc_ty(ptr %arg_t) { entry: %retval = alloca ptr %t0 = alloca ptr %t5 = alloca ptr %t6 = alloca i32 %t7 = alloca i32 %t11 = alloca i32 %t17 = alloca i32 store ptr %arg_t, 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: store ptr @.str16108, ptr %retval br label %ret ifend2: store ptr @.str16109, ptr %t5 store i32 0, ptr %t6 store i32 0, ptr %t7 %t8 = load ptr, ptr %t0 %t9 = call i64 @strlen(ptr %t8) %t10 = trunc i64 %t9 to i32 store i32 %t10, ptr %t11 br label %wcond3 wcond3: %t12 = load i32, ptr %t7 %t13 = load i32, ptr %t11 %t14 = icmp sle i32 %t12, %t13 %t15 = zext i1 %t14 to i32 %t16 = icmp ne i32 %t15, 0 br i1 %t16, label %wbody4, label %wend5 wbody4: %t18 = load i32, ptr %t7 %t19 = load i32, ptr %t11 %t20 = icmp eq i32 %t18, %t19 %t21 = zext i1 %t20 to i32 %t22 = icmp ne i32 %t21, 0 %t23 = zext i1 %t22 to i32 store i32 %t23, ptr %t17 br i1 %t22, label %scend7, label %sc6 sc6: %t24 = load ptr, ptr %t0 %t25 = load i32, ptr %t7 %t26 = getelementptr inbounds i8, ptr %t24, i32 %t25 %t27 = load i8, ptr %t26 %t28 = zext i8 %t27 to i32 %t29 = call i32 @fn_gen_name_ch(i32 %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 %t17 br label %scend7 scend7: %t34 = load i32, ptr %t17 %t35 = icmp ne i32 %t34, 0 br i1 %t35, label %then8, label %ifend10 then8: %t36 = load i32, ptr %t7 %t37 = load i32, ptr %t6 %t38 = icmp sgt i32 %t36, %t37 %t39 = zext i1 %t38 to i32 %t40 = icmp ne i32 %t39, 0 br i1 %t40, label %then11, label %ifend13 then11: %t41 = load ptr, ptr %t5 %t42 = load ptr, ptr %t0 %t43 = load i32, ptr %t6 %t44 = load i32, ptr %t7 store i32 8943, ptr @lp_site %t45 = call ptr @lp_str_slice(ptr %t42, i32 %t43, i32 %t44) store i32 0, ptr @lp_site %t46 = call ptr @fn_sc_ty_word(ptr %t45) store i32 8944, ptr @lp_site %t47 = call ptr @lp_str_concat(ptr %t41, ptr %t46) store i32 0, ptr @lp_site store ptr %t47, ptr %t5 br label %ifend13 ifend13: %t48 = load i32, ptr %t7 %t49 = load i32, ptr %t11 %t50 = icmp slt i32 %t48, %t49 %t51 = zext i1 %t50 to i32 %t52 = icmp ne i32 %t51, 0 br i1 %t52, label %then14, label %ifend16 then14: %t53 = load ptr, ptr %t5 %t54 = load ptr, ptr %t0 %t55 = load i32, ptr %t7 %t56 = load i32, ptr %t7 %t57 = add i32 %t56, 1 store i32 8945, ptr @lp_site %t58 = call ptr @lp_str_slice(ptr %t54, i32 %t55, i32 %t57) store i32 0, ptr @lp_site store i32 8946, ptr @lp_site %t59 = call ptr @lp_str_concat(ptr %t53, ptr %t58) store i32 0, ptr @lp_site call void @lp_free(ptr %t58) store ptr %t59, ptr %t5 br label %ifend16 ifend16: %t60 = load i32, ptr %t7 %t61 = add i32 %t60, 1 store i32 %t61, ptr %t6 br label %ifend10 ifend10: %t62 = load i32, ptr %t7 %t63 = add i32 %t62, 1 store i32 %t63, ptr %t7 br label %wcond3 wend5: %t64 = load ptr, ptr %t5 store ptr %t64, ptr %retval br label %ret ret: %t65 = load ptr, ptr %retval ret ptr %t65 } define ptr @fn_sc_ty_word(ptr %arg_w) { entry: %retval = alloca ptr %t0 = alloca ptr %t3 = alloca i32 %t21 = alloca ptr %t34 = alloca ptr %t35 = alloca i32 store ptr %arg_w, ptr %t0 %t1 = load ptr, ptr %t0 %t2 = call i32 @fn_gen_find(ptr %t1) store i32 %t2, ptr %t3 %t4 = load i32, ptr %t3 %t5 = icmp slt i32 %t4, 0 %t6 = zext i1 %t5 to i32 %t7 = icmp ne i32 %t6, 0 br i1 %t7, label %then0, label %ifend2 then0: %t8 = load ptr, ptr %t0 %t9 = call ptr @fn_sc_name(ptr %t8) store ptr %t9, ptr %retval br label %ret ifend2: %t10 = load ptr, ptr @g_g_gi_args %t11 = load i32, ptr %t3 %t12 = getelementptr inbounds %LSlice, ptr %t10, i32 0, i32 0 %t13 = load ptr, ptr %t12 %t14 = getelementptr inbounds %LSlice, ptr %t10, i32 0, i32 1 %t15 = load i32, ptr %t14 %t16 = icmp ult i32 %t11, %t15 br i1 %t16, label %ixok3, label %ixbad4 ixbad4: store i32 8947, ptr @lp_site %t17 = call ptr @lp_win_stdio(i32 2) store i32 0, ptr @lp_site call i32 (ptr, ptr, ...) @fprintf(ptr %t17, ptr @.fmt_bounds, ptr @.str16111, i32 %t11, i32 %t15) call void @exit(i32 1) unreachable ixok3: %t18 = getelementptr inbounds ptr, ptr %t13, i32 %t11 %t19 = load ptr, ptr %t18 %t20 = call ptr @fn_gen_split(ptr %t19) store ptr %t20, ptr %t21 %t22 = load ptr, ptr @g_g_gi_gen %t23 = load i32, ptr %t3 %t24 = getelementptr inbounds %LSlice, ptr %t22, i32 0, i32 0 %t25 = load ptr, ptr %t24 %t26 = getelementptr inbounds %LSlice, ptr %t22, i32 0, i32 1 %t27 = load i32, ptr %t26 %t28 = icmp ult i32 %t23, %t27 br i1 %t28, label %ixok5, label %ixbad6 ixbad6: store i32 8948, ptr @lp_site %t29 = call ptr @lp_win_stdio(i32 2) store i32 0, ptr @lp_site call i32 (ptr, ptr, ...) @fprintf(ptr %t29, ptr @.fmt_bounds, ptr @.str16113, i32 %t23, i32 %t27) call void @exit(i32 1) unreachable ixok5: %t30 = getelementptr inbounds ptr, ptr %t25, i32 %t23 %t31 = load ptr, ptr %t30 %t32 = call ptr @fn_sc_name(ptr %t31) store i32 8949, ptr @lp_site %t33 = call ptr @lp_str_concat(ptr %t32, ptr @.str16114) store i32 0, ptr @lp_site store ptr %t33, ptr %t34 store i32 0, ptr %t35 br label %wcond7 wcond7: %t36 = load i32, ptr %t35 %t37 = load ptr, ptr %t21 %t38 = getelementptr inbounds %LSlice, ptr %t37, i32 0, i32 1 %t39 = load i32, ptr %t38 %t40 = icmp slt i32 %t36, %t39 %t41 = zext i1 %t40 to i32 %t42 = icmp ne i32 %t41, 0 br i1 %t42, label %wbody8, label %wend9 wbody8: %t43 = load i32, ptr %t35 %t44 = icmp sgt i32 %t43, 0 %t45 = zext i1 %t44 to i32 %t46 = icmp ne i32 %t45, 0 br i1 %t46, label %then10, label %ifend12 then10: %t47 = load ptr, ptr %t34 store i32 8950, ptr @lp_site %t48 = call ptr @lp_str_concat(ptr %t47, ptr @.str16115) store i32 0, ptr @lp_site store ptr %t48, ptr %t34 br label %ifend12 ifend12: %t49 = load ptr, ptr %t34 %t50 = load ptr, ptr %t21 %t51 = load i32, ptr %t35 %t52 = getelementptr inbounds %LSlice, ptr %t50, i32 0, i32 0 %t53 = load ptr, ptr %t52 %t54 = getelementptr inbounds %LSlice, ptr %t50, i32 0, i32 1 %t55 = load i32, ptr %t54 %t56 = icmp ult i32 %t51, %t55 br i1 %t56, label %ixok13, label %ixbad14 ixbad14: store i32 8951, ptr @lp_site %t57 = call ptr @lp_win_stdio(i32 2) store i32 0, ptr @lp_site call i32 (ptr, ptr, ...) @fprintf(ptr %t57, ptr @.fmt_bounds, ptr @.str16116, i32 %t51, i32 %t55) call void @exit(i32 1) unreachable ixok13: %t58 = getelementptr inbounds ptr, ptr %t53, i32 %t51 %t59 = load ptr, ptr %t58 %t60 = call ptr @fn_sc_ty(ptr %t59) store i32 8952, ptr @lp_site %t61 = call ptr @lp_str_concat(ptr %t49, ptr %t60) store i32 0, ptr @lp_site store ptr %t61, ptr %t34 %t62 = load i32, ptr %t35 %t63 = add i32 %t62, 1 store i32 %t63, ptr %t35 br label %wcond7 wend9: %t64 = load ptr, ptr %t34 store i32 8953, ptr @lp_site %t65 = call ptr @lp_str_concat(ptr %t64, ptr @.str16117) store i32 0, ptr @lp_site store ptr %t65, ptr %retval br label %ret ret: %t66 = load ptr, ptr %retval ret ptr %t66 } define ptr @fn_sc_src_of(ptr %arg_file) { entry: %retval = alloca ptr %t0 = alloca ptr %t8 = alloca ptr %t9 = alloca i32 store ptr %arg_file, 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: store ptr null, ptr %retval br label %ret ifend2: %t5 = load ptr, ptr @g_g_fm_src %t6 = load ptr, ptr %t0 %t7 = call ptr @fn_fm_get(ptr %t5, ptr %t6) store ptr %t7, ptr %t8 %t10 = load ptr, ptr %t8 %t11 = icmp eq ptr %t10, null %t12 = zext i1 %t11 to i32 %t13 = icmp ne i32 %t12, 0 %t14 = zext i1 %t13 to i32 store i32 %t14, ptr %t9 br i1 %t13, label %scend4, label %sc3 sc3: %t15 = load ptr, ptr %t8 %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 %t21 = zext i1 %t20 to i32 store i32 %t21, ptr %t9 br label %scend4 scend4: %t22 = load i32, ptr %t9 %t23 = icmp ne i32 %t22, 0 br i1 %t23, label %then5, label %ifend7 then5: store ptr null, ptr %retval br label %ret ifend7: %t24 = load ptr, ptr %t8 store ptr %t24, ptr %retval br label %ret ret: %t25 = load ptr, ptr %retval ret ptr %t25 } define ptr @fn_sc_text(ptr %arg_file, i32 %arg_a, i32 %arg_b) { entry: %retval = alloca ptr %t0 = alloca ptr %t1 = alloca i32 %t2 = alloca i32 %t5 = alloca ptr %t6 = alloca i32 %t7 = alloca i32 %t8 = alloca i32 store ptr %arg_file, ptr %t0 store i32 %arg_a, ptr %t1 store i32 %arg_b, ptr %t2 %t3 = load ptr, ptr %t0 %t4 = call ptr @fn_sc_src_of(ptr %t3) store ptr %t4, ptr %t5 %t9 = load ptr, ptr %t5 %t10 = icmp eq ptr %t9, null %t11 = zext i1 %t10 to i32 %t12 = icmp ne i32 %t11, 0 %t13 = zext i1 %t12 to i32 store i32 %t13, ptr %t8 br i1 %t12, label %scend1, label %sc0 sc0: %t14 = load i32, ptr %t1 %t15 = icmp slt i32 %t14, 0 %t16 = zext i1 %t15 to i32 %t17 = icmp ne i32 %t16, 0 %t18 = zext i1 %t17 to i32 store i32 %t18, ptr %t8 br label %scend1 scend1: %t19 = load i32, ptr %t8 %t20 = icmp ne i32 %t19, 0 %t21 = zext i1 %t20 to i32 store i32 %t21, ptr %t7 br i1 %t20, label %scend3, label %sc2 sc2: %t22 = load i32, ptr %t2 %t23 = load i32, ptr %t1 %t24 = icmp sle i32 %t22, %t23 %t25 = zext i1 %t24 to i32 %t26 = icmp ne i32 %t25, 0 %t27 = zext i1 %t26 to i32 store i32 %t27, ptr %t7 br label %scend3 scend3: %t28 = load i32, ptr %t7 %t29 = icmp ne i32 %t28, 0 %t30 = zext i1 %t29 to i32 store i32 %t30, ptr %t6 br i1 %t29, label %scend5, label %sc4 sc4: %t31 = load i32, ptr %t2 %t32 = load ptr, ptr %t5 %t33 = call i64 @strlen(ptr %t32) %t34 = trunc i64 %t33 to i32 %t35 = icmp sgt i32 %t31, %t34 %t36 = zext i1 %t35 to i32 %t37 = icmp ne i32 %t36, 0 %t38 = zext i1 %t37 to i32 store i32 %t38, ptr %t6 br label %scend5 scend5: %t39 = load i32, ptr %t6 %t40 = icmp ne i32 %t39, 0 br i1 %t40, label %then6, label %ifend8 then6: store ptr null, ptr %retval br label %ret ifend8: %t41 = load ptr, ptr %t5 %t42 = load i32, ptr %t1 %t43 = load i32, ptr %t2 store i32 8954, ptr @lp_site %t44 = call ptr @lp_str_slice(ptr %t41, i32 %t42, i32 %t43) store i32 0, ptr @lp_site store ptr %t44, ptr %retval br label %ret ret: %t45 = load ptr, ptr %retval ret ptr %t45 } define ptr @fn_sc_doc(ptr %arg_file, i32 %arg_pos) { entry: %retval = alloca ptr %t0 = alloca ptr %t1 = alloca i32 %t4 = alloca ptr %t5 = alloca i32 %t6 = alloca i32 %t31 = alloca i32 %t32 = alloca i32 %t58 = alloca ptr %t60 = alloca i32 %t67 = alloca i32 %t69 = alloca i32 %t70 = alloca i32 %t91 = alloca i32 %t92 = alloca i32 %t99 = alloca i32 %t125 = alloca i32 %t167 = alloca i32 %t192 = alloca ptr %t197 = alloca i32 %t224 = alloca i32 %t225 = alloca i32 %t226 = alloca i32 %t251 = alloca i32 %t267 = alloca i32 %t286 = alloca i32 %t287 = alloca i32 store ptr %arg_file, ptr %t0 store i32 %arg_pos, ptr %t1 %t2 = load ptr, ptr %t0 %t3 = call ptr @fn_sc_src_of(ptr %t2) store ptr %t3, ptr %t4 %t7 = load ptr, ptr %t4 %t8 = icmp eq 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 %t6 br i1 %t10, label %scend1, label %sc0 sc0: %t12 = load i32, ptr %t1 %t13 = icmp slt i32 %t12, 0 %t14 = zext i1 %t13 to i32 %t15 = icmp ne i32 %t14, 0 %t16 = zext i1 %t15 to i32 store i32 %t16, ptr %t6 br label %scend1 scend1: %t17 = load i32, ptr %t6 %t18 = icmp ne i32 %t17, 0 %t19 = zext i1 %t18 to i32 store i32 %t19, ptr %t5 br i1 %t18, label %scend3, label %sc2 sc2: %t20 = load i32, ptr %t1 %t21 = load ptr, ptr %t4 %t22 = call i64 @strlen(ptr %t21) %t23 = trunc i64 %t22 to i32 %t24 = icmp sge i32 %t20, %t23 %t25 = zext i1 %t24 to i32 %t26 = icmp ne i32 %t25, 0 %t27 = zext i1 %t26 to i32 store i32 %t27, ptr %t5 br label %scend3 scend3: %t28 = load i32, ptr %t5 %t29 = icmp ne i32 %t28, 0 br i1 %t29, label %then4, label %ifend6 then4: store ptr null, ptr %retval br label %ret ifend6: %t30 = load i32, ptr %t1 store i32 %t30, ptr %t31 br label %wcond7 wcond7: %t33 = load i32, ptr %t31 %t34 = icmp sgt i32 %t33, 0 %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 %sc10, label %scend11 sc10: %t38 = load ptr, ptr %t4 %t39 = load i32, ptr %t31 %t40 = sub i32 %t39, 1 %t41 = getelementptr inbounds i8, ptr %t38, i32 %t40 %t42 = load i8, ptr %t41 %t43 = zext i8 %t42 to i32 %t44 = icmp ne i32 %t43, 10 %t45 = zext i1 %t44 to i32 %t46 = icmp ne i32 %t45, 0 %t47 = zext i1 %t46 to i32 store i32 %t47, ptr %t32 br label %scend11 scend11: %t48 = load i32, ptr %t32 %t49 = icmp ne i32 %t48, 0 br i1 %t49, label %wbody8, label %wend9 wbody8: %t50 = load i32, ptr %t31 %t51 = sub i32 %t50, 1 store i32 %t51, ptr %t31 br label %wcond7 wend9: %t52 = getelementptr %LSlice, ptr null, i32 1 %t53 = ptrtoint ptr %t52 to i64 store i32 8955, ptr @lp_site %t54 = call ptr @lp_malloc(i64 %t53) store i32 0, ptr @lp_site %t55 = getelementptr inbounds %LSlice, ptr %t54, i32 0, i32 0 store ptr null, ptr %t55 %t56 = getelementptr inbounds %LSlice, ptr %t54, i32 0, i32 1 store i32 0, ptr %t56 %t57 = getelementptr inbounds %LSlice, ptr %t54, i32 0, i32 2 store i32 0, ptr %t57 store ptr %t54, ptr %t58 %t59 = load i32, ptr %t31 store i32 %t59, ptr %t60 br label %wcond12 wcond12: %t61 = load i32, ptr %t60 %t62 = icmp sgt i32 %t61, 0 %t63 = zext i1 %t62 to i32 %t64 = icmp ne i32 %t63, 0 br i1 %t64, label %wbody13, label %wend14 wbody13: %t65 = load i32, ptr %t60 %t66 = sub i32 %t65, 1 store i32 %t66, ptr %t67 %t68 = load i32, ptr %t67 store i32 %t68, ptr %t69 br label %wcond15 wcond15: %t71 = load i32, ptr %t69 %t72 = icmp sgt i32 %t71, 0 %t73 = zext i1 %t72 to i32 %t74 = icmp ne i32 %t73, 0 %t75 = zext i1 %t74 to i32 store i32 %t75, ptr %t70 br i1 %t74, label %sc18, label %scend19 sc18: %t76 = load ptr, ptr %t4 %t77 = load i32, ptr %t69 %t78 = sub i32 %t77, 1 %t79 = getelementptr inbounds i8, ptr %t76, i32 %t78 %t80 = load i8, ptr %t79 %t81 = zext i8 %t80 to i32 %t82 = icmp ne i32 %t81, 10 %t83 = zext i1 %t82 to i32 %t84 = icmp ne i32 %t83, 0 %t85 = zext i1 %t84 to i32 store i32 %t85, ptr %t70 br label %scend19 scend19: %t86 = load i32, ptr %t70 %t87 = icmp ne i32 %t86, 0 br i1 %t87, label %wbody16, label %wend17 wbody16: %t88 = load i32, ptr %t69 %t89 = sub i32 %t88, 1 store i32 %t89, ptr %t69 br label %wcond15 wend17: %t90 = load i32, ptr %t69 store i32 %t90, ptr %t91 br label %wcond20 wcond20: %t93 = load i32, ptr %t91 %t94 = load i32, ptr %t67 %t95 = icmp slt i32 %t93, %t94 %t96 = zext i1 %t95 to i32 %t97 = icmp ne i32 %t96, 0 %t98 = zext i1 %t97 to i32 store i32 %t98, ptr %t92 br i1 %t97, label %sc23, label %scend24 sc23: %t100 = load ptr, ptr %t4 %t101 = load i32, ptr %t91 %t102 = getelementptr inbounds i8, ptr %t100, i32 %t101 %t103 = load i8, ptr %t102 %t104 = zext i8 %t103 to i32 %t105 = icmp eq i32 %t104, 32 %t106 = zext i1 %t105 to i32 %t107 = icmp ne i32 %t106, 0 %t108 = zext i1 %t107 to i32 store i32 %t108, ptr %t99 br i1 %t107, label %scend26, label %sc25 sc25: %t109 = load ptr, ptr %t4 %t110 = load i32, ptr %t91 %t111 = getelementptr inbounds i8, ptr %t109, i32 %t110 %t112 = load i8, ptr %t111 %t113 = zext i8 %t112 to i32 %t114 = icmp eq i32 %t113, 9 %t115 = zext i1 %t114 to i32 %t116 = icmp ne i32 %t115, 0 %t117 = zext i1 %t116 to i32 store i32 %t117, ptr %t99 br label %scend26 scend26: %t118 = load i32, ptr %t99 %t119 = icmp ne i32 %t118, 0 %t120 = zext i1 %t119 to i32 store i32 %t120, ptr %t92 br label %scend24 scend24: %t121 = load i32, ptr %t92 %t122 = icmp ne i32 %t121, 0 br i1 %t122, label %wbody21, label %wend22 wbody21: %t123 = load i32, ptr %t91 %t124 = add i32 %t123, 1 store i32 %t124, ptr %t91 br label %wcond20 wend22: %t126 = load i32, ptr %t91 %t127 = load i32, ptr %t67 %t128 = icmp slt i32 %t126, %t127 %t129 = zext i1 %t128 to i32 %t130 = icmp ne i32 %t129, 0 %t131 = zext i1 %t130 to i32 store i32 %t131, ptr %t125 br i1 %t130, label %sc27, label %scend28 sc27: %t132 = load ptr, ptr %t4 %t133 = load i32, ptr %t91 %t134 = getelementptr inbounds i8, ptr %t132, i32 %t133 %t135 = load i8, ptr %t134 %t136 = zext i8 %t135 to i32 %t137 = icmp eq i32 %t136, 35 %t138 = zext i1 %t137 to i32 %t139 = icmp ne i32 %t138, 0 %t140 = zext i1 %t139 to i32 store i32 %t140, ptr %t125 br label %scend28 scend28: %t141 = load i32, ptr %t125 %t142 = icmp ne i32 %t141, 0 br i1 %t142, label %then29, label %else30 then29: %t143 = load ptr, ptr %t58 %t144 = load ptr, ptr %t4 %t145 = load i32, ptr %t91 %t146 = load i32, ptr %t67 %t147 = call ptr @fn_sc_comment(ptr %t144, i32 %t145, i32 %t146) %t148 = getelementptr inbounds %LSlice, ptr %t143, i32 0, i32 1 %t149 = getelementptr inbounds %LSlice, ptr %t143, i32 0, i32 2 %t150 = getelementptr inbounds %LSlice, ptr %t143, i32 0, i32 0 %t151 = load i32, ptr %t148 %t152 = load i32, ptr %t149 %t153 = icmp sge i32 %t151, %t152 br i1 %t153, label %grow32, label %put33 grow32: %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 store i32 8956, ptr @lp_site %t162 = call ptr @lp_realloc(ptr %t161, i64 %t160) store i32 0, ptr @lp_site store ptr %t162, ptr %t150 store i32 %t156, ptr %t149 br label %put33 put33: %t163 = load ptr, ptr %t150 %t164 = getelementptr inbounds ptr, ptr %t163, i32 %t151 store ptr %t147, ptr %t164 %t165 = add i32 %t151, 1 store i32 %t165, ptr %t148 %t166 = load i32, ptr %t69 store i32 %t166, ptr %t60 br label %ifend31 else30: %t168 = load i32, ptr %t91 %t169 = load i32, ptr %t67 %t170 = icmp slt i32 %t168, %t169 %t171 = zext i1 %t170 to i32 %t172 = icmp ne i32 %t171, 0 %t173 = zext i1 %t172 to i32 store i32 %t173, ptr %t167 br i1 %t172, label %sc34, label %scend35 sc34: %t174 = load ptr, ptr %t4 %t175 = load i32, ptr %t91 %t176 = getelementptr inbounds i8, ptr %t174, i32 %t175 %t177 = load i8, ptr %t176 %t178 = zext i8 %t177 to i32 %t179 = icmp eq i32 %t178, 64 %t180 = zext i1 %t179 to i32 %t181 = icmp ne i32 %t180, 0 %t182 = zext i1 %t181 to i32 store i32 %t182, ptr %t167 br label %scend35 scend35: %t183 = load i32, ptr %t167 %t184 = icmp ne i32 %t183, 0 br i1 %t184, label %then36, label %else37 then36: %t185 = load i32, ptr %t69 store i32 %t185, ptr %t60 br label %ifend38 else37: br label %wend14 ifend38: br label %ifend31 ifend31: br label %wcond12 wend14: %t186 = load ptr, ptr %t58 %t187 = getelementptr inbounds %LSlice, ptr %t186, i32 0, i32 1 %t188 = load i32, ptr %t187 %t189 = icmp sgt i32 %t188, 0 %t190 = zext i1 %t189 to i32 %t191 = icmp ne i32 %t190, 0 br i1 %t191, label %then39, label %ifend41 then39: store ptr @.str16120, ptr %t192 %t193 = load ptr, ptr %t58 %t194 = getelementptr inbounds %LSlice, ptr %t193, i32 0, i32 1 %t195 = load i32, ptr %t194 %t196 = sub i32 %t195, 1 store i32 %t196, ptr %t197 br label %wcond42 wcond42: %t198 = load i32, ptr %t197 %t199 = icmp sge i32 %t198, 0 %t200 = zext i1 %t199 to i32 %t201 = icmp ne i32 %t200, 0 br i1 %t201, label %wbody43, label %wend44 wbody43: %t202 = load ptr, ptr %t192 %t203 = load ptr, ptr %t58 %t204 = load i32, ptr %t197 %t205 = getelementptr inbounds %LSlice, ptr %t203, i32 0, i32 0 %t206 = load ptr, ptr %t205 %t207 = getelementptr inbounds %LSlice, ptr %t203, i32 0, i32 1 %t208 = load i32, ptr %t207 %t209 = icmp ult i32 %t204, %t208 br i1 %t209, label %ixok45, label %ixbad46 ixbad46: store i32 8957, ptr @lp_site %t210 = call ptr @lp_win_stdio(i32 2) store i32 0, ptr @lp_site call i32 (ptr, ptr, ...) @fprintf(ptr %t210, ptr @.fmt_bounds, ptr @.str16121, i32 %t204, i32 %t208) call void @exit(i32 1) unreachable ixok45: %t211 = getelementptr inbounds ptr, ptr %t206, i32 %t204 %t212 = load ptr, ptr %t211 store i32 8958, ptr @lp_site %t213 = call ptr @lp_str_concat(ptr %t202, ptr %t212) store i32 0, ptr @lp_site store ptr %t213, ptr %t192 %t214 = load i32, ptr %t197 %t215 = icmp sgt i32 %t214, 0 %t216 = zext i1 %t215 to i32 %t217 = icmp ne i32 %t216, 0 br i1 %t217, label %then47, label %ifend49 then47: %t218 = load ptr, ptr %t192 store i32 8959, ptr @lp_site %t219 = call ptr @lp_str_concat(ptr %t218, ptr @.str16122) store i32 0, ptr @lp_site store ptr %t219, ptr %t192 br label %ifend49 ifend49: %t220 = load i32, ptr %t197 %t221 = sub i32 %t220, 1 store i32 %t221, ptr %t197 br label %wcond42 wend44: %t222 = load ptr, ptr %t192 store ptr %t222, ptr %retval br label %ret ifend41: %t223 = load i32, ptr %t1 store i32 %t223, ptr %t224 store i32 0, ptr %t225 br label %wcond50 wcond50: %t227 = load i32, ptr %t224 %t228 = load ptr, ptr %t4 %t229 = call i64 @strlen(ptr %t228) %t230 = trunc i64 %t229 to i32 %t231 = icmp slt i32 %t227, %t230 %t232 = zext i1 %t231 to i32 %t233 = icmp ne i32 %t232, 0 %t234 = zext i1 %t233 to i32 store i32 %t234, ptr %t226 br i1 %t233, label %sc53, label %scend54 sc53: %t235 = load ptr, ptr %t4 %t236 = load i32, ptr %t224 %t237 = getelementptr inbounds i8, ptr %t235, i32 %t236 %t238 = load i8, ptr %t237 %t239 = zext i8 %t238 to i32 %t240 = icmp ne i32 %t239, 10 %t241 = zext i1 %t240 to i32 %t242 = icmp ne i32 %t241, 0 %t243 = zext i1 %t242 to i32 store i32 %t243, ptr %t226 br label %scend54 scend54: %t244 = load i32, ptr %t226 %t245 = icmp ne i32 %t244, 0 br i1 %t245, label %wbody51, label %wend52 wbody51: %t246 = load ptr, ptr %t4 %t247 = load i32, ptr %t224 %t248 = getelementptr inbounds i8, ptr %t246, i32 %t247 %t249 = load i8, ptr %t248 %t250 = zext i8 %t249 to i32 store i32 %t250, ptr %t251 %t252 = load i32, ptr %t225 %t253 = icmp ne i32 %t252, 0 %t254 = zext i1 %t253 to i32 %t255 = icmp ne i32 %t254, 0 br i1 %t255, label %then55, label %else56 then55: %t256 = load i32, ptr %t251 %t257 = icmp eq i32 %t256, 92 %t258 = zext i1 %t257 to i32 %t259 = icmp ne i32 %t258, 0 br i1 %t259, label %then58, label %else59 then58: %t260 = load i32, ptr %t224 %t261 = add i32 %t260, 1 store i32 %t261, ptr %t224 br label %ifend60 else59: %t262 = load i32, ptr %t251 %t263 = load i32, ptr %t225 %t264 = icmp eq i32 %t262, %t263 %t265 = zext i1 %t264 to i32 %t266 = icmp ne i32 %t265, 0 br i1 %t266, label %then61, label %ifend63 then61: store i32 0, ptr %t225 br label %ifend63 ifend63: br label %ifend60 ifend60: br label %ifend57 else56: %t268 = load i32, ptr %t251 %t269 = icmp eq i32 %t268, 34 %t270 = zext i1 %t269 to i32 %t271 = icmp ne i32 %t270, 0 %t272 = zext i1 %t271 to i32 store i32 %t272, ptr %t267 br i1 %t271, label %scend65, label %sc64 sc64: %t273 = load i32, ptr %t251 %t274 = icmp eq i32 %t273, 96 %t275 = zext i1 %t274 to i32 %t276 = icmp ne i32 %t275, 0 %t277 = zext i1 %t276 to i32 store i32 %t277, ptr %t267 br label %scend65 scend65: %t278 = load i32, ptr %t267 %t279 = icmp ne i32 %t278, 0 br i1 %t279, label %then66, label %else67 then66: %t280 = load i32, ptr %t251 store i32 %t280, ptr %t225 br label %ifend68 else67: %t281 = load i32, ptr %t251 %t282 = icmp eq i32 %t281, 35 %t283 = zext i1 %t282 to i32 %t284 = icmp ne i32 %t283, 0 br i1 %t284, label %then69, label %ifend71 then69: %t285 = load i32, ptr %t224 store i32 %t285, ptr %t286 br label %wcond72 wcond72: %t288 = load i32, ptr %t286 %t289 = load ptr, ptr %t4 %t290 = call i64 @strlen(ptr %t289) %t291 = trunc i64 %t290 to i32 %t292 = icmp slt i32 %t288, %t291 %t293 = zext i1 %t292 to i32 %t294 = icmp ne i32 %t293, 0 %t295 = zext i1 %t294 to i32 store i32 %t295, ptr %t287 br i1 %t294, label %sc75, label %scend76 sc75: %t296 = load ptr, ptr %t4 %t297 = load i32, ptr %t286 %t298 = getelementptr inbounds i8, ptr %t296, i32 %t297 %t299 = load i8, ptr %t298 %t300 = zext i8 %t299 to i32 %t301 = icmp ne i32 %t300, 10 %t302 = zext i1 %t301 to i32 %t303 = icmp ne i32 %t302, 0 %t304 = zext i1 %t303 to i32 store i32 %t304, ptr %t287 br label %scend76 scend76: %t305 = load i32, ptr %t287 %t306 = icmp ne i32 %t305, 0 br i1 %t306, label %wbody73, label %wend74 wbody73: %t307 = load i32, ptr %t286 %t308 = add i32 %t307, 1 store i32 %t308, ptr %t286 br label %wcond72 wend74: %t309 = load ptr, ptr %t4 %t310 = load i32, ptr %t224 %t311 = load i32, ptr %t286 %t312 = call ptr @fn_sc_comment(ptr %t309, i32 %t310, i32 %t311) store ptr %t312, ptr %retval br label %ret ifend71: br label %ifend68 ifend68: br label %ifend57 ifend57: %t313 = load i32, ptr %t224 %t314 = add i32 %t313, 1 store i32 %t314, ptr %t224 br label %wcond50 wend52: store ptr null, ptr %retval br label %ret ret: %t315 = load ptr, ptr %retval ret ptr %t315 } define ptr @fn_sc_comment(ptr %arg_s, i32 %arg_hash, i32 %arg_le) { entry: %retval = alloca ptr %t0 = alloca ptr %t1 = alloca i32 %t2 = alloca i32 %t5 = alloca i32 %t6 = alloca i32 %t27 = alloca i32 %t28 = alloca i32 %t35 = alloca i32 %t36 = alloca i32 store ptr %arg_s, ptr %t0 store i32 %arg_hash, ptr %t1 store i32 %arg_le, ptr %t2 %t3 = load i32, ptr %t1 %t4 = add i32 %t3, 1 store i32 %t4, ptr %t5 %t7 = load i32, ptr %t5 %t8 = load i32, ptr %t2 %t9 = icmp slt i32 %t7, %t8 %t10 = zext i1 %t9 to i32 %t11 = icmp ne i32 %t10, 0 %t12 = zext i1 %t11 to i32 store i32 %t12, ptr %t6 br i1 %t11, label %sc0, label %scend1 sc0: %t13 = load ptr, ptr %t0 %t14 = load i32, ptr %t5 %t15 = getelementptr inbounds i8, ptr %t13, i32 %t14 %t16 = load i8, ptr %t15 %t17 = zext i8 %t16 to i32 %t18 = icmp eq i32 %t17, 32 %t19 = zext i1 %t18 to i32 %t20 = icmp ne i32 %t19, 0 %t21 = zext i1 %t20 to i32 store i32 %t21, ptr %t6 br label %scend1 scend1: %t22 = load i32, ptr %t6 %t23 = icmp ne i32 %t22, 0 br i1 %t23, label %then2, label %ifend4 then2: %t24 = load i32, ptr %t5 %t25 = add i32 %t24, 1 store i32 %t25, ptr %t5 br label %ifend4 ifend4: %t26 = load i32, ptr %t2 store i32 %t26, ptr %t27 br label %wcond5 wcond5: %t29 = load i32, ptr %t27 %t30 = load i32, ptr %t5 %t31 = icmp sgt i32 %t29, %t30 %t32 = zext i1 %t31 to i32 %t33 = icmp ne i32 %t32, 0 %t34 = zext i1 %t33 to i32 store i32 %t34, ptr %t28 br i1 %t33, label %sc8, label %scend9 sc8: %t37 = load ptr, ptr %t0 %t38 = load i32, ptr %t27 %t39 = sub i32 %t38, 1 %t40 = getelementptr inbounds i8, ptr %t37, i32 %t39 %t41 = load i8, ptr %t40 %t42 = zext i8 %t41 to i32 %t43 = icmp eq i32 %t42, 32 %t44 = zext i1 %t43 to i32 %t45 = icmp ne i32 %t44, 0 %t46 = zext i1 %t45 to i32 store i32 %t46, ptr %t36 br i1 %t45, label %scend11, label %sc10 sc10: %t47 = load ptr, ptr %t0 %t48 = load i32, ptr %t27 %t49 = sub i32 %t48, 1 %t50 = getelementptr inbounds i8, ptr %t47, i32 %t49 %t51 = load i8, ptr %t50 %t52 = zext i8 %t51 to i32 %t53 = icmp eq i32 %t52, 9 %t54 = zext i1 %t53 to i32 %t55 = icmp ne i32 %t54, 0 %t56 = zext i1 %t55 to i32 store i32 %t56, ptr %t36 br label %scend11 scend11: %t57 = load i32, ptr %t36 %t58 = icmp ne i32 %t57, 0 %t59 = zext i1 %t58 to i32 store i32 %t59, ptr %t35 br i1 %t58, label %scend13, label %sc12 sc12: %t60 = load ptr, ptr %t0 %t61 = load i32, ptr %t27 %t62 = sub i32 %t61, 1 %t63 = getelementptr inbounds i8, ptr %t60, i32 %t62 %t64 = load i8, ptr %t63 %t65 = zext i8 %t64 to i32 %t66 = icmp eq i32 %t65, 13 %t67 = zext i1 %t66 to i32 %t68 = icmp ne i32 %t67, 0 %t69 = zext i1 %t68 to i32 store i32 %t69, ptr %t35 br label %scend13 scend13: %t70 = load i32, ptr %t35 %t71 = icmp ne i32 %t70, 0 %t72 = zext i1 %t71 to i32 store i32 %t72, ptr %t28 br label %scend9 scend9: %t73 = load i32, ptr %t28 %t74 = icmp ne i32 %t73, 0 br i1 %t74, label %wbody6, label %wend7 wbody6: %t75 = load i32, ptr %t27 %t76 = sub i32 %t75, 1 store i32 %t76, ptr %t27 br label %wcond5 wend7: %t77 = load ptr, ptr %t0 %t78 = load i32, ptr %t5 %t79 = load i32, ptr %t27 store i32 8960, ptr @lp_site %t80 = call ptr @lp_str_slice(ptr %t77, i32 %t78, i32 %t79) store i32 0, ptr @lp_site store ptr %t80, ptr %retval br label %ret ret: %t81 = load ptr, ptr %retval ret ptr %t81 } define void @fn_sc_str(ptr %arg_b, ptr %arg_s) { entry: %t0 = alloca ptr %t1 = alloca ptr store ptr %arg_b, ptr %t0 store ptr %arg_s, 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 %else1 then0: %t6 = load ptr, ptr %t0 call void @fn_buf_puts(ptr %t6, ptr @.str16124) br label %ifend2 else1: %t7 = load ptr, ptr %t0 %t8 = load ptr, ptr %t1 call void @fn_jq_put(ptr %t7, ptr %t8) br label %ifend2 ifend2: br label %ret ret: ret void } define ptr @fn_sc_mod(ptr %arg_file) { entry: %retval = alloca ptr %t0 = alloca ptr %t3 = alloca ptr %t4 = alloca i32 store ptr %arg_file, ptr %t0 %t1 = load ptr, ptr %t0 %t2 = call ptr @fn_module_of(ptr %t1) store ptr %t2, ptr %t3 %t5 = load ptr, ptr %t3 %t6 = icmp eq 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 %t4 br i1 %t8, label %scend1, label %sc0 sc0: %t10 = load ptr, ptr %t3 %t11 = call i64 @strlen(ptr %t10) %t12 = trunc i64 %t11 to i32 %t13 = icmp eq i32 %t12, 0 %t14 = zext i1 %t13 to i32 %t15 = icmp ne i32 %t14, 0 %t16 = zext i1 %t15 to i32 store i32 %t16, ptr %t4 br label %scend1 scend1: %t17 = load i32, ptr %t4 %t18 = icmp ne i32 %t17, 0 br i1 %t18, label %then2, label %ifend4 then2: store ptr null, ptr %retval br label %ret ifend4: %t19 = load ptr, ptr %t3 store ptr %t19, ptr %retval br label %ret ret: %t20 = load ptr, ptr %retval ret ptr %t20 } define void @fn_sc_bool(ptr %arg_b, i32 %arg_v) { entry: %t0 = alloca ptr %t1 = alloca i32 store ptr %arg_b, ptr %t0 store i32 %arg_v, ptr %t1 %t2 = load i32, ptr %t1 %t3 = icmp ne i32 %t2, 0 br i1 %t3, label %then0, label %else1 then0: %t4 = load ptr, ptr %t0 call void @fn_buf_puts(ptr %t4, ptr @.str16125) br label %ifend2 else1: %t5 = load ptr, ptr %t0 call void @fn_buf_puts(ptr %t5, ptr @.str16126) br label %ifend2 ifend2: br label %ret ret: ret void } define void @fn_sc_attrs(ptr %arg_b, i32 %arg_g) { entry: %t0 = alloca ptr %t1 = alloca i32 %t17 = alloca i32 %t94 = alloca i32 %t128 = alloca i32 %t129 = alloca i32 store ptr %arg_b, ptr %t0 store i32 %arg_g, ptr %t1 %t2 = load ptr, ptr %t0 call void @fn_buf_puts(ptr %t2, ptr @.str16127) %t3 = load i32, ptr %t1 %t4 = icmp sge i32 %t3, 0 %t5 = zext i1 %t4 to i32 %t6 = icmp ne i32 %t5, 0 br i1 %t6, label %then0, label %ifend2 then0: %t7 = load ptr, ptr @g_g_at_start %t8 = load i32, ptr %t1 %t9 = getelementptr inbounds %LSlice, ptr %t7, i32 0, i32 0 %t10 = load ptr, ptr %t9 %t11 = getelementptr inbounds %LSlice, ptr %t7, i32 0, i32 1 %t12 = load i32, ptr %t11 %t13 = icmp ult i32 %t8, %t12 br i1 %t13, label %ixok3, label %ixbad4 ixbad4: store i32 8961, ptr @lp_site %t14 = call ptr @lp_win_stdio(i32 2) store i32 0, ptr @lp_site call i32 (ptr, ptr, ...) @fprintf(ptr %t14, ptr @.fmt_bounds, ptr @.str16128, i32 %t8, i32 %t12) call void @exit(i32 1) unreachable ixok3: %t15 = getelementptr inbounds i32, ptr %t10, i32 %t8 %t16 = load i32, ptr %t15 store i32 %t16, ptr %t17 br label %wcond5 wcond5: %t18 = load i32, ptr %t17 %t19 = load ptr, ptr @g_g_at_start %t20 = load i32, ptr %t1 %t21 = getelementptr inbounds %LSlice, ptr %t19, i32 0, i32 0 %t22 = load ptr, ptr %t21 %t23 = getelementptr inbounds %LSlice, ptr %t19, i32 0, i32 1 %t24 = load i32, ptr %t23 %t25 = icmp ult i32 %t20, %t24 br i1 %t25, label %ixok8, label %ixbad9 ixbad9: store i32 8962, ptr @lp_site %t26 = call ptr @lp_win_stdio(i32 2) store i32 0, ptr @lp_site call i32 (ptr, ptr, ...) @fprintf(ptr %t26, ptr @.fmt_bounds, ptr @.str16130, i32 %t20, i32 %t24) call void @exit(i32 1) unreachable ixok8: %t27 = getelementptr inbounds i32, ptr %t22, i32 %t20 %t28 = load i32, ptr %t27 %t29 = load ptr, ptr @g_g_at_count %t30 = load i32, ptr %t1 %t31 = getelementptr inbounds %LSlice, ptr %t29, i32 0, i32 0 %t32 = load ptr, ptr %t31 %t33 = getelementptr inbounds %LSlice, ptr %t29, i32 0, i32 1 %t34 = load i32, ptr %t33 %t35 = icmp ult i32 %t30, %t34 br i1 %t35, label %ixok10, label %ixbad11 ixbad11: store i32 8963, ptr @lp_site %t36 = call ptr @lp_win_stdio(i32 2) store i32 0, ptr @lp_site call i32 (ptr, ptr, ...) @fprintf(ptr %t36, ptr @.fmt_bounds, ptr @.str16131, i32 %t30, i32 %t34) call void @exit(i32 1) unreachable ixok10: %t37 = getelementptr inbounds i32, ptr %t32, i32 %t30 %t38 = load i32, ptr %t37 %t39 = add i32 %t28, %t38 %t40 = icmp slt i32 %t18, %t39 %t41 = zext i1 %t40 to i32 %t42 = icmp ne i32 %t41, 0 br i1 %t42, label %wbody6, label %wend7 wbody6: %t43 = load i32, ptr %t17 %t44 = load ptr, ptr @g_g_at_start %t45 = load i32, ptr %t1 %t46 = getelementptr inbounds %LSlice, ptr %t44, i32 0, i32 0 %t47 = load ptr, ptr %t46 %t48 = getelementptr inbounds %LSlice, ptr %t44, i32 0, i32 1 %t49 = load i32, ptr %t48 %t50 = icmp ult i32 %t45, %t49 br i1 %t50, label %ixok12, label %ixbad13 ixbad13: store i32 8964, ptr @lp_site %t51 = call ptr @lp_win_stdio(i32 2) store i32 0, ptr @lp_site call i32 (ptr, ptr, ...) @fprintf(ptr %t51, ptr @.fmt_bounds, ptr @.str16132, i32 %t45, i32 %t49) call void @exit(i32 1) unreachable ixok12: %t52 = getelementptr inbounds i32, ptr %t47, i32 %t45 %t53 = load i32, ptr %t52 %t54 = icmp sgt i32 %t43, %t53 %t55 = zext i1 %t54 to i32 %t56 = icmp ne i32 %t55, 0 br i1 %t56, label %then14, label %ifend16 then14: %t57 = load ptr, ptr %t0 call void @fn_buf_puts(ptr %t57, ptr @.str16133) br label %ifend16 ifend16: %t58 = load ptr, ptr %t0 call void @fn_buf_puts(ptr %t58, ptr @.str16134) %t59 = load ptr, ptr %t0 %t60 = load ptr, ptr @g_g_at_name %t61 = load i32, ptr %t17 %t62 = getelementptr inbounds %LSlice, ptr %t60, i32 0, i32 0 %t63 = load ptr, ptr %t62 %t64 = getelementptr inbounds %LSlice, ptr %t60, i32 0, i32 1 %t65 = load i32, ptr %t64 %t66 = icmp ult i32 %t61, %t65 br i1 %t66, label %ixok17, label %ixbad18 ixbad18: store i32 8965, ptr @lp_site %t67 = call ptr @lp_win_stdio(i32 2) store i32 0, ptr @lp_site call i32 (ptr, ptr, ...) @fprintf(ptr %t67, ptr @.fmt_bounds, ptr @.str16135, i32 %t61, i32 %t65) call void @exit(i32 1) unreachable ixok17: %t68 = getelementptr inbounds ptr, ptr %t63, i32 %t61 %t69 = load ptr, ptr %t68 call void @fn_jq_put(ptr %t59, ptr %t69) %t70 = load ptr, ptr %t0 call void @fn_buf_puts(ptr %t70, ptr @.str16136) %t71 = load ptr, ptr %t0 %t72 = load ptr, ptr @g_g_at_args %t73 = load i32, ptr %t17 %t74 = getelementptr inbounds %LSlice, ptr %t72, i32 0, i32 0 %t75 = load ptr, ptr %t74 %t76 = getelementptr inbounds %LSlice, ptr %t72, i32 0, i32 1 %t77 = load i32, ptr %t76 %t78 = icmp ult i32 %t73, %t77 br i1 %t78, label %ixok19, label %ixbad20 ixbad20: store i32 8966, ptr @lp_site %t79 = call ptr @lp_win_stdio(i32 2) store i32 0, ptr @lp_site call i32 (ptr, ptr, ...) @fprintf(ptr %t79, ptr @.fmt_bounds, ptr @.str16137, i32 %t73, i32 %t77) call void @exit(i32 1) unreachable ixok19: %t80 = getelementptr inbounds ptr, ptr %t75, i32 %t73 %t81 = load ptr, ptr %t80 call void @fn_buf_puts(ptr %t71, ptr %t81) %t82 = load ptr, ptr @g_g_at_unres %t83 = load i32, ptr %t17 %t84 = getelementptr inbounds %LSlice, ptr %t82, i32 0, i32 0 %t85 = load ptr, ptr %t84 %t86 = getelementptr inbounds %LSlice, ptr %t82, i32 0, i32 1 %t87 = load i32, ptr %t86 %t88 = icmp ult i32 %t83, %t87 br i1 %t88, label %ixok21, label %ixbad22 ixbad22: store i32 8967, ptr @lp_site %t89 = call ptr @lp_win_stdio(i32 2) store i32 0, ptr @lp_site call i32 (ptr, ptr, ...) @fprintf(ptr %t89, ptr @.fmt_bounds, ptr @.str16138, i32 %t83, i32 %t87) call void @exit(i32 1) unreachable ixok21: %t90 = getelementptr inbounds i32, ptr %t85, i32 %t83 %t91 = load i32, ptr %t90 %t92 = icmp ne i32 %t91, 0 br i1 %t92, label %then23, label %ifend25 then23: %t93 = load ptr, ptr %t0 call void @fn_buf_puts(ptr %t93, ptr @.str16139) br label %ifend25 ifend25: %t95 = load ptr, ptr @g_g_at_name %t96 = load i32, ptr %t17 %t97 = getelementptr inbounds %LSlice, ptr %t95, i32 0, i32 0 %t98 = load ptr, ptr %t97 %t99 = getelementptr inbounds %LSlice, ptr %t95, i32 0, i32 1 %t100 = load i32, ptr %t99 %t101 = icmp ult i32 %t96, %t100 br i1 %t101, label %ixok26, label %ixbad27 ixbad27: store i32 8968, ptr @lp_site %t102 = call ptr @lp_win_stdio(i32 2) store i32 0, ptr @lp_site call i32 (ptr, ptr, ...) @fprintf(ptr %t102, ptr @.fmt_bounds, ptr @.str16140, i32 %t96, i32 %t100) call void @exit(i32 1) unreachable ixok26: %t103 = getelementptr inbounds ptr, ptr %t98, i32 %t96 %t104 = load ptr, ptr %t103 %t105 = call i32 @lp_str_eq(ptr %t104, ptr @.str16141) %t106 = icmp ne i32 %t105, 0 %t107 = zext i1 %t106 to i32 store i32 %t107, ptr %t94 br i1 %t106, label %sc28, label %scend29 sc28: %t108 = load ptr, ptr @g_g_at_args %t109 = load i32, ptr %t17 %t110 = getelementptr inbounds %LSlice, ptr %t108, i32 0, i32 0 %t111 = load ptr, ptr %t110 %t112 = getelementptr inbounds %LSlice, ptr %t108, i32 0, i32 1 %t113 = load i32, ptr %t112 %t114 = icmp ult i32 %t109, %t113 br i1 %t114, label %ixok30, label %ixbad31 ixbad31: store i32 8969, ptr @lp_site %t115 = call ptr @lp_win_stdio(i32 2) store i32 0, ptr @lp_site call i32 (ptr, ptr, ...) @fprintf(ptr %t115, ptr @.fmt_bounds, ptr @.str16142, i32 %t109, i32 %t113) call void @exit(i32 1) unreachable ixok30: %t116 = getelementptr inbounds ptr, ptr %t111, i32 %t109 %t117 = load ptr, ptr %t116 %t118 = call ptr @fn_at_arg_names(ptr %t117) %t119 = getelementptr inbounds %LSlice, ptr %t118, i32 0, i32 1 %t120 = load i32, ptr %t119 %t121 = icmp sge i32 %t120, 2 %t122 = zext i1 %t121 to i32 %t123 = icmp ne i32 %t122, 0 %t124 = zext i1 %t123 to i32 store i32 %t124, ptr %t94 br label %scend29 scend29: %t125 = load i32, ptr %t94 %t126 = icmp ne i32 %t125, 0 br i1 %t126, label %then32, label %ifend34 then32: %t127 = load ptr, ptr %t0 call void @fn_buf_puts(ptr %t127, ptr @.str16143) br label %ifend34 ifend34: %t130 = load ptr, ptr @g_g_at_name %t131 = load i32, ptr %t17 %t132 = getelementptr inbounds %LSlice, ptr %t130, i32 0, i32 0 %t133 = load ptr, ptr %t132 %t134 = getelementptr inbounds %LSlice, ptr %t130, i32 0, i32 1 %t135 = load i32, ptr %t134 %t136 = icmp ult i32 %t131, %t135 br i1 %t136, label %ixok35, label %ixbad36 ixbad36: store i32 8970, ptr @lp_site %t137 = call ptr @lp_win_stdio(i32 2) store i32 0, ptr @lp_site call i32 (ptr, ptr, ...) @fprintf(ptr %t137, ptr @.fmt_bounds, ptr @.str16144, i32 %t131, i32 %t135) call void @exit(i32 1) unreachable ixok35: %t138 = getelementptr inbounds ptr, ptr %t133, i32 %t131 %t139 = load ptr, ptr %t138 %t140 = call i32 @lp_str_eq(ptr %t139, ptr @.str16145) %t141 = icmp ne i32 %t140, 0 %t142 = zext i1 %t141 to i32 store i32 %t142, ptr %t129 br i1 %t141, label %sc37, label %scend38 sc37: %t143 = load ptr, ptr @g_g_at_first %t144 = load i32, ptr %t17 %t145 = getelementptr inbounds %LSlice, ptr %t143, i32 0, i32 0 %t146 = load ptr, ptr %t145 %t147 = getelementptr inbounds %LSlice, ptr %t143, i32 0, i32 1 %t148 = load i32, ptr %t147 %t149 = icmp ult i32 %t144, %t148 br i1 %t149, label %ixok39, label %ixbad40 ixbad40: store i32 8971, ptr @lp_site %t150 = call ptr @lp_win_stdio(i32 2) store i32 0, ptr @lp_site call i32 (ptr, ptr, ...) @fprintf(ptr %t150, ptr @.fmt_bounds, ptr @.str16146, i32 %t144, i32 %t148) call void @exit(i32 1) unreachable ixok39: %t151 = getelementptr inbounds ptr, ptr %t146, i32 %t144 %t152 = load ptr, ptr %t151 %t153 = icmp ne ptr %t152, null %t154 = zext i1 %t153 to i32 %t155 = icmp ne i32 %t154, 0 %t156 = zext i1 %t155 to i32 store i32 %t156, ptr %t129 br label %scend38 scend38: %t157 = load i32, ptr %t129 %t158 = icmp ne i32 %t157, 0 %t159 = zext i1 %t158 to i32 store i32 %t159, ptr %t128 br i1 %t158, label %sc41, label %scend42 sc41: %t160 = load ptr, ptr @g_g_at_first %t161 = load i32, ptr %t17 %t162 = getelementptr inbounds %LSlice, ptr %t160, i32 0, i32 0 %t163 = load ptr, ptr %t162 %t164 = getelementptr inbounds %LSlice, ptr %t160, i32 0, i32 1 %t165 = load i32, ptr %t164 %t166 = icmp ult i32 %t161, %t165 br i1 %t166, label %ixok43, label %ixbad44 ixbad44: store i32 8972, ptr @lp_site %t167 = call ptr @lp_win_stdio(i32 2) store i32 0, ptr @lp_site call i32 (ptr, ptr, ...) @fprintf(ptr %t167, ptr @.fmt_bounds, ptr @.str16147, i32 %t161, i32 %t165) call void @exit(i32 1) unreachable ixok43: %t168 = getelementptr inbounds ptr, ptr %t163, i32 %t161 %t169 = load ptr, ptr %t168 %t170 = call i32 @fn_pm_named(ptr %t169) %t171 = icmp ne i32 %t170, 0 %t172 = zext i1 %t171 to i32 store i32 %t172, ptr %t128 br label %scend42 scend42: %t173 = load i32, ptr %t128 %t174 = icmp ne i32 %t173, 0 br i1 %t174, label %then45, label %ifend47 then45: %t175 = load ptr, ptr %t0 call void @fn_buf_puts(ptr %t175, ptr @.str16148) br label %ifend47 ifend47: %t176 = load ptr, ptr %t0 call void @fn_buf_puts(ptr %t176, ptr @.str16149) %t177 = load i32, ptr %t17 %t178 = add i32 %t177, 1 store i32 %t178, ptr %t17 br label %wcond5 wend7: br label %ifend2 ifend2: %t179 = load ptr, ptr %t0 call void @fn_buf_puts(ptr %t179, ptr @.str16150) br label %ret ret: ret void } define void @fn_sc_at(ptr %arg_b, ptr %arg_file, i32 %arg_line, i32 %arg_col) { entry: %t0 = alloca ptr %t1 = alloca ptr %t2 = alloca i32 %t3 = alloca i32 store ptr %arg_b, ptr %t0 store ptr %arg_file, ptr %t1 store i32 %arg_line, ptr %t2 store i32 %arg_col, ptr %t3 %t4 = load ptr, ptr %t0 call void @fn_buf_puts(ptr %t4, ptr @.str16151) %t5 = load ptr, ptr %t0 %t6 = load ptr, ptr %t1 call void @fn_sc_str(ptr %t5, ptr %t6) %t7 = load ptr, ptr %t0 call void @fn_buf_puts(ptr %t7, ptr @.str16152) %t8 = load ptr, ptr %t0 %t9 = load i32, ptr %t2 call void @fn_buf_puti(ptr %t8, i32 %t9) %t10 = load ptr, ptr %t0 call void @fn_buf_puts(ptr %t10, ptr @.str16153) %t11 = load ptr, ptr %t0 %t12 = load i32, ptr %t3 call void @fn_buf_puti(ptr %t11, i32 %t12) br label %ret ret: ret void } define void @fn_sc_sep(ptr %arg_b, i32 %arg_first, ptr %arg_indent) { entry: %t0 = alloca ptr %t1 = alloca i32 %t2 = alloca ptr store ptr %arg_b, ptr %t0 store i32 %arg_first, ptr %t1 store ptr %arg_indent, ptr %t2 %t3 = load i32, ptr %t1 %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: %t7 = load ptr, ptr %t0 call void @fn_buf_puts(ptr %t7, ptr @.str16154) br label %ifend2 ifend2: %t8 = load ptr, ptr %t0 call void @fn_buf_puts(ptr %t8, ptr @.str16155) %t9 = load ptr, ptr %t0 %t10 = load ptr, ptr %t2 call void @fn_buf_puts(ptr %t9, ptr %t10) br label %ret ret: ret void } define void @fn_sc_sort(ptr %arg_xs, ptr %arg_keys) { entry: %t0 = alloca ptr %t1 = alloca ptr %t8 = alloca ptr %t9 = alloca i32 store ptr %arg_xs, ptr %t0 store ptr %arg_keys, ptr %t1 %t2 = getelementptr %LSlice, ptr null, i32 1 %t3 = ptrtoint ptr %t2 to i64 store i32 8973, ptr @lp_site %t4 = call ptr @lp_malloc(i64 %t3) store i32 0, ptr @lp_site %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 %t8 store i32 0, ptr %t9 br label %wcond0 wcond0: %t10 = load i32, ptr %t9 %t11 = load ptr, ptr %t0 %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 %wbody1, label %wend2 wbody1: %t17 = load ptr, ptr %t8 %t18 = getelementptr inbounds %LSlice, ptr %t17, i32 0, i32 1 %t19 = getelementptr inbounds %LSlice, ptr %t17, i32 0, i32 2 %t20 = getelementptr inbounds %LSlice, ptr %t17, i32 0, i32 0 %t21 = load i32, ptr %t18 %t22 = load i32, ptr %t19 %t23 = icmp sge i32 %t21, %t22 br i1 %t23, label %grow3, label %put4 grow3: %t24 = mul i32 %t22, 2 %t25 = icmp eq i32 %t22, 0 %t26 = select i1 %t25, i32 8, i32 %t24 %t27 = getelementptr i32, 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 store i32 8974, ptr @lp_site %t32 = call ptr @lp_realloc(ptr %t31, i64 %t30) store i32 0, ptr @lp_site store ptr %t32, ptr %t20 store i32 %t26, ptr %t19 br label %put4 put4: %t33 = load ptr, ptr %t20 %t34 = getelementptr inbounds i32, ptr %t33, i32 %t21 store i32 0, ptr %t34 %t35 = add i32 %t21, 1 store i32 %t35, ptr %t18 %t36 = load i32, ptr %t9 %t37 = add i32 %t36, 1 store i32 %t37, ptr %t9 br label %wcond0 wend2: %t38 = load ptr, ptr %t0 %t39 = load ptr, ptr %t1 %t40 = load ptr, ptr %t0 %t41 = getelementptr inbounds %LSlice, ptr %t40, i32 0, i32 1 %t42 = load i32, ptr %t41 %t43 = load ptr, ptr %t8 call void @fn_sc_msort(ptr %t38, ptr %t39, i32 0, i32 %t42, ptr %t43) br label %ret ret: ret void } define void @fn_sc_msort(ptr %arg_xs, ptr %arg_keys, i32 %arg_lo, i32 %arg_hi, ptr %arg_tmp) { entry: %t0 = alloca ptr %t1 = alloca ptr %t2 = alloca i32 %t3 = alloca i32 %t4 = alloca ptr %t15 = alloca i32 %t27 = alloca i32 %t29 = alloca i32 %t31 = alloca i32 %t37 = alloca i32 %t44 = alloca i32 store ptr %arg_xs, ptr %t0 store ptr %arg_keys, ptr %t1 store i32 %arg_lo, ptr %t2 store i32 %arg_hi, ptr %t3 store ptr %arg_tmp, ptr %t4 %t5 = load i32, ptr %t3 %t6 = load i32, ptr %t2 %t7 = sub i32 %t5, %t6 %t8 = icmp slt i32 %t7, 2 %t9 = zext i1 %t8 to i32 %t10 = icmp ne i32 %t9, 0 br i1 %t10, label %then0, label %ifend2 then0: br label %ret ifend2: %t11 = load i32, ptr %t2 %t12 = load i32, ptr %t3 %t13 = add i32 %t11, %t12 %t14 = sdiv i32 %t13, 2 store i32 %t14, ptr %t15 %t16 = load ptr, ptr %t0 %t17 = load ptr, ptr %t1 %t18 = load i32, ptr %t2 %t19 = load i32, ptr %t15 %t20 = load ptr, ptr %t4 call void @fn_sc_msort(ptr %t16, ptr %t17, i32 %t18, i32 %t19, ptr %t20) %t21 = load ptr, ptr %t0 %t22 = load ptr, ptr %t1 %t23 = load i32, ptr %t15 %t24 = load i32, ptr %t3 %t25 = load ptr, ptr %t4 call void @fn_sc_msort(ptr %t21, ptr %t22, i32 %t23, i32 %t24, ptr %t25) %t26 = load i32, ptr %t2 store i32 %t26, ptr %t27 %t28 = load i32, ptr %t15 store i32 %t28, ptr %t29 %t30 = load i32, ptr %t2 store i32 %t30, ptr %t31 br label %wcond3 wcond3: %t32 = load i32, ptr %t31 %t33 = load i32, ptr %t3 %t34 = icmp slt i32 %t32, %t33 %t35 = zext i1 %t34 to i32 %t36 = icmp ne i32 %t35, 0 br i1 %t36, label %wbody4, label %wend5 wbody4: %t38 = load i32, ptr %t29 %t39 = load i32, ptr %t3 %t40 = icmp sge i32 %t38, %t39 %t41 = zext i1 %t40 to i32 %t42 = icmp ne i32 %t41, 0 %t43 = zext i1 %t42 to i32 store i32 %t43, ptr %t37 br i1 %t42, label %scend7, label %sc6 sc6: %t45 = load i32, ptr %t27 %t46 = load i32, ptr %t15 %t47 = icmp slt i32 %t45, %t46 %t48 = zext i1 %t47 to i32 %t49 = icmp ne i32 %t48, 0 %t50 = zext i1 %t49 to i32 store i32 %t50, ptr %t44 br i1 %t49, label %sc8, label %scend9 sc8: %t51 = load ptr, ptr %t1 %t52 = load ptr, ptr %t0 %t53 = load i32, ptr %t29 %t54 = getelementptr inbounds %LSlice, ptr %t52, i32 0, i32 0 %t55 = load ptr, ptr %t54 %t56 = getelementptr inbounds %LSlice, ptr %t52, i32 0, i32 1 %t57 = load i32, ptr %t56 %t58 = icmp ult i32 %t53, %t57 br i1 %t58, label %ixok10, label %ixbad11 ixbad11: store i32 8975, ptr @lp_site %t59 = call ptr @lp_win_stdio(i32 2) store i32 0, ptr @lp_site call i32 (ptr, ptr, ...) @fprintf(ptr %t59, ptr @.fmt_bounds, ptr @.str16157, i32 %t53, i32 %t57) call void @exit(i32 1) unreachable ixok10: %t60 = getelementptr inbounds i32, ptr %t55, i32 %t53 %t61 = load i32, ptr %t60 %t62 = getelementptr inbounds %LSlice, ptr %t51, i32 0, i32 0 %t63 = load ptr, ptr %t62 %t64 = getelementptr inbounds %LSlice, ptr %t51, i32 0, i32 1 %t65 = load i32, ptr %t64 %t66 = icmp ult i32 %t61, %t65 br i1 %t66, label %ixok12, label %ixbad13 ixbad13: store i32 8976, ptr @lp_site %t67 = call ptr @lp_win_stdio(i32 2) store i32 0, ptr @lp_site call i32 (ptr, ptr, ...) @fprintf(ptr %t67, ptr @.fmt_bounds, ptr @.str16159, i32 %t61, i32 %t65) call void @exit(i32 1) unreachable ixok12: %t68 = getelementptr inbounds ptr, ptr %t63, i32 %t61 %t69 = load ptr, ptr %t68 %t70 = load ptr, ptr %t1 %t71 = load ptr, ptr %t0 %t72 = load i32, ptr %t27 %t73 = getelementptr inbounds %LSlice, ptr %t71, i32 0, i32 0 %t74 = load ptr, ptr %t73 %t75 = getelementptr inbounds %LSlice, ptr %t71, i32 0, i32 1 %t76 = load i32, ptr %t75 %t77 = icmp ult i32 %t72, %t76 br i1 %t77, label %ixok14, label %ixbad15 ixbad15: store i32 8977, ptr @lp_site %t78 = call ptr @lp_win_stdio(i32 2) store i32 0, ptr @lp_site call i32 (ptr, ptr, ...) @fprintf(ptr %t78, ptr @.fmt_bounds, ptr @.str16160, i32 %t72, i32 %t76) call void @exit(i32 1) unreachable ixok14: %t79 = getelementptr inbounds i32, ptr %t74, i32 %t72 %t80 = load i32, ptr %t79 %t81 = getelementptr inbounds %LSlice, ptr %t70, i32 0, i32 0 %t82 = load ptr, ptr %t81 %t83 = getelementptr inbounds %LSlice, ptr %t70, i32 0, i32 1 %t84 = load i32, ptr %t83 %t85 = icmp ult i32 %t80, %t84 br i1 %t85, label %ixok16, label %ixbad17 ixbad17: store i32 8978, ptr @lp_site %t86 = call ptr @lp_win_stdio(i32 2) store i32 0, ptr @lp_site call i32 (ptr, ptr, ...) @fprintf(ptr %t86, ptr @.fmt_bounds, ptr @.str16161, i32 %t80, i32 %t84) call void @exit(i32 1) unreachable ixok16: %t87 = getelementptr inbounds ptr, ptr %t82, i32 %t80 %t88 = load ptr, ptr %t87 %t89 = call i32 @fn_reg_str_less(ptr %t69, ptr %t88) %t90 = icmp eq i32 %t89, 0 %t91 = zext i1 %t90 to i32 %t92 = icmp ne i32 %t91, 0 %t93 = zext i1 %t92 to i32 store i32 %t93, ptr %t44 br label %scend9 scend9: %t94 = load i32, ptr %t44 %t95 = icmp ne i32 %t94, 0 %t96 = zext i1 %t95 to i32 store i32 %t96, ptr %t37 br label %scend7 scend7: %t97 = load i32, ptr %t37 %t98 = icmp ne i32 %t97, 0 br i1 %t98, label %then18, label %else19 then18: %t99 = load ptr, ptr %t4 %t100 = load i32, ptr %t31 %t101 = getelementptr inbounds %LSlice, ptr %t99, i32 0, i32 0 %t102 = load ptr, ptr %t101 %t103 = getelementptr inbounds %LSlice, ptr %t99, i32 0, i32 1 %t104 = load i32, ptr %t103 %t105 = icmp ult i32 %t100, %t104 br i1 %t105, label %ixok21, label %ixbad22 ixbad22: store i32 8979, ptr @lp_site %t106 = call ptr @lp_win_stdio(i32 2) store i32 0, ptr @lp_site call i32 (ptr, ptr, ...) @fprintf(ptr %t106, ptr @.fmt_bounds, ptr @.str16162, i32 %t100, i32 %t104) call void @exit(i32 1) unreachable ixok21: %t107 = getelementptr inbounds i32, ptr %t102, i32 %t100 %t108 = load ptr, ptr %t0 %t109 = load i32, ptr %t27 %t110 = getelementptr inbounds %LSlice, ptr %t108, i32 0, i32 0 %t111 = load ptr, ptr %t110 %t112 = getelementptr inbounds %LSlice, ptr %t108, i32 0, i32 1 %t113 = load i32, ptr %t112 %t114 = icmp ult i32 %t109, %t113 br i1 %t114, label %ixok23, label %ixbad24 ixbad24: store i32 8980, ptr @lp_site %t115 = call ptr @lp_win_stdio(i32 2) store i32 0, ptr @lp_site call i32 (ptr, ptr, ...) @fprintf(ptr %t115, ptr @.fmt_bounds, ptr @.str16163, i32 %t109, i32 %t113) call void @exit(i32 1) unreachable ixok23: %t116 = getelementptr inbounds i32, ptr %t111, i32 %t109 %t117 = load i32, ptr %t116 store i32 %t117, ptr %t107 %t118 = load i32, ptr %t27 %t119 = add i32 %t118, 1 store i32 %t119, ptr %t27 br label %ifend20 else19: %t120 = load ptr, ptr %t4 %t121 = load i32, ptr %t31 %t122 = getelementptr inbounds %LSlice, ptr %t120, i32 0, i32 0 %t123 = load ptr, ptr %t122 %t124 = getelementptr inbounds %LSlice, ptr %t120, i32 0, i32 1 %t125 = load i32, ptr %t124 %t126 = icmp ult i32 %t121, %t125 br i1 %t126, label %ixok25, label %ixbad26 ixbad26: store i32 8981, ptr @lp_site %t127 = call ptr @lp_win_stdio(i32 2) store i32 0, ptr @lp_site call i32 (ptr, ptr, ...) @fprintf(ptr %t127, ptr @.fmt_bounds, ptr @.str16164, i32 %t121, i32 %t125) call void @exit(i32 1) unreachable ixok25: %t128 = getelementptr inbounds i32, ptr %t123, i32 %t121 %t129 = load ptr, ptr %t0 %t130 = load i32, ptr %t29 %t131 = getelementptr inbounds %LSlice, ptr %t129, i32 0, i32 0 %t132 = load ptr, ptr %t131 %t133 = getelementptr inbounds %LSlice, ptr %t129, i32 0, i32 1 %t134 = load i32, ptr %t133 %t135 = icmp ult i32 %t130, %t134 br i1 %t135, label %ixok27, label %ixbad28 ixbad28: store i32 8982, ptr @lp_site %t136 = call ptr @lp_win_stdio(i32 2) store i32 0, ptr @lp_site call i32 (ptr, ptr, ...) @fprintf(ptr %t136, ptr @.fmt_bounds, ptr @.str16165, i32 %t130, i32 %t134) call void @exit(i32 1) unreachable ixok27: %t137 = getelementptr inbounds i32, ptr %t132, i32 %t130 %t138 = load i32, ptr %t137 store i32 %t138, ptr %t128 %t139 = load i32, ptr %t29 %t140 = add i32 %t139, 1 store i32 %t140, ptr %t29 br label %ifend20 ifend20: %t141 = load i32, ptr %t31 %t142 = add i32 %t141, 1 store i32 %t142, ptr %t31 br label %wcond3 wend5: %t143 = load i32, ptr %t2 store i32 %t143, ptr %t31 br label %wcond29 wcond29: %t144 = load i32, ptr %t31 %t145 = load i32, ptr %t3 %t146 = icmp slt i32 %t144, %t145 %t147 = zext i1 %t146 to i32 %t148 = icmp ne i32 %t147, 0 br i1 %t148, label %wbody30, label %wend31 wbody30: %t149 = load ptr, ptr %t0 %t150 = load i32, ptr %t31 %t151 = getelementptr inbounds %LSlice, ptr %t149, i32 0, i32 0 %t152 = load ptr, ptr %t151 %t153 = getelementptr inbounds %LSlice, ptr %t149, i32 0, i32 1 %t154 = load i32, ptr %t153 %t155 = icmp ult i32 %t150, %t154 br i1 %t155, label %ixok32, label %ixbad33 ixbad33: store i32 8983, ptr @lp_site %t156 = call ptr @lp_win_stdio(i32 2) store i32 0, ptr @lp_site call i32 (ptr, ptr, ...) @fprintf(ptr %t156, ptr @.fmt_bounds, ptr @.str16166, i32 %t150, i32 %t154) call void @exit(i32 1) unreachable ixok32: %t157 = getelementptr inbounds i32, ptr %t152, i32 %t150 %t158 = load ptr, ptr %t4 %t159 = load i32, ptr %t31 %t160 = getelementptr inbounds %LSlice, ptr %t158, i32 0, i32 0 %t161 = load ptr, ptr %t160 %t162 = getelementptr inbounds %LSlice, ptr %t158, i32 0, i32 1 %t163 = load i32, ptr %t162 %t164 = icmp ult i32 %t159, %t163 br i1 %t164, label %ixok34, label %ixbad35 ixbad35: store i32 8984, ptr @lp_site %t165 = call ptr @lp_win_stdio(i32 2) store i32 0, ptr @lp_site call i32 (ptr, ptr, ...) @fprintf(ptr %t165, ptr @.fmt_bounds, ptr @.str16167, i32 %t159, i32 %t163) call void @exit(i32 1) unreachable ixok34: %t166 = getelementptr inbounds i32, ptr %t161, i32 %t159 %t167 = load i32, ptr %t166 store i32 %t167, ptr %t157 %t168 = load i32, ptr %t31 %t169 = add i32 %t168, 1 store i32 %t169, ptr %t31 br label %wcond29 wend31: br label %ret ret: ret void } define ptr @fn_sc_key(ptr %arg_name, ptr %arg_file, i32 %arg_line) { entry: %retval = alloca ptr %t0 = alloca ptr %t1 = alloca ptr %t2 = alloca i32 %t4 = alloca ptr %t12 = alloca ptr store ptr %arg_name, ptr %t0 store ptr %arg_file, ptr %t1 store i32 %arg_line, ptr %t2 %t3 = load ptr, ptr %t1 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 @.str16168, ptr %t4 br label %ifend2 ifend2: %t9 = load i32, ptr %t2 %t10 = add i32 1000000, %t9 %t11 = call ptr @fn_itoa(i32 %t10) store ptr %t11, ptr %t12 %t13 = load ptr, ptr %t0 store i32 8985, ptr @lp_site %t14 = call ptr @lp_str_concat(ptr %t13, ptr @.str16169) store i32 0, ptr @lp_site %t15 = load ptr, ptr %t4 store i32 8986, ptr @lp_site %t16 = call ptr @lp_str_concat(ptr %t14, ptr %t15) store i32 0, ptr @lp_site call void @lp_free(ptr %t14) store i32 8987, ptr @lp_site %t17 = call ptr @lp_str_concat(ptr %t16, ptr @.str16171) store i32 0, ptr @lp_site call void @lp_free(ptr %t16) %t18 = load ptr, ptr %t12 store i32 8988, ptr @lp_site %t19 = call ptr @lp_str_concat(ptr %t17, ptr %t18) store i32 0, ptr @lp_site call void @lp_free(ptr %t17) store ptr %t19, ptr %retval br label %ret ret: %t20 = load ptr, ptr %retval ret ptr %t20 } define i32 @fn_sc_written(ptr %arg_d) { entry: %retval = alloca i32 %t0 = alloca ptr %t1 = alloca i32 %t2 = alloca i32 store ptr %arg_d, ptr %t0 %t3 = load ptr, ptr %t0 %t4 = getelementptr inbounds %Cmp_Node, ptr %t3, i32 0, i32 9 %t5 = load ptr, 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 %t2 br i1 %t8, label %sc0, label %scend1 sc0: %t10 = load ptr, ptr %t0 %t11 = getelementptr inbounds %Cmp_Node, ptr %t10, i32 0, i32 13 %t12 = load i32, ptr %t11 %t13 = icmp sge i32 %t12, 0 %t14 = zext i1 %t13 to i32 %t15 = icmp ne i32 %t14, 0 %t16 = zext i1 %t15 to i32 store i32 %t16, ptr %t2 br label %scend1 scend1: %t17 = load i32, ptr %t2 %t18 = icmp ne i32 %t17, 0 %t19 = zext i1 %t18 to i32 store i32 %t19, ptr %t1 br i1 %t18, label %sc2, label %scend3 sc2: %t20 = load ptr, ptr %t0 %t21 = getelementptr inbounds %Cmp_Node, ptr %t20, i32 0, i32 9 %t22 = load ptr, ptr %t21 %t23 = call i32 @fn_is_runtime_file(ptr %t22) %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 %t1 br label %scend3 scend3: %t28 = load i32, ptr %t1 store i32 %t28, ptr %retval br label %ret ret: %t29 = load i32, ptr %retval ret i32 %t29 } define void @fn_sc_records(ptr %arg_b) { entry: %t0 = alloca ptr %t7 = alloca ptr %t14 = alloca ptr %t21 = alloca ptr %t22 = alloca i32 %t40 = alloca ptr %t41 = alloca i32 %t42 = alloca i32 %t43 = alloca i32 %t169 = alloca ptr %t170 = alloca i32 store ptr %arg_b, ptr %t0 %t1 = getelementptr %LSlice, ptr null, i32 1 %t2 = ptrtoint ptr %t1 to i64 store i32 8989, ptr @lp_site %t3 = call ptr @lp_malloc(i64 %t2) store i32 0, ptr @lp_site %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 %t8 = getelementptr %LSlice, ptr null, i32 1 %t9 = ptrtoint ptr %t8 to i64 store i32 8990, ptr @lp_site %t10 = call ptr @lp_malloc(i64 %t9) store i32 0, ptr @lp_site %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 %t15 = getelementptr %LSlice, ptr null, i32 1 %t16 = ptrtoint ptr %t15 to i64 store i32 8991, ptr @lp_site %t17 = call ptr @lp_malloc(i64 %t16) store i32 0, ptr @lp_site %t18 = getelementptr inbounds %LSlice, ptr %t17, i32 0, i32 0 store ptr null, ptr %t18 %t19 = getelementptr inbounds %LSlice, ptr %t17, i32 0, i32 1 store i32 0, ptr %t19 %t20 = getelementptr inbounds %LSlice, ptr %t17, i32 0, i32 2 store i32 0, ptr %t20 store ptr %t17, ptr %t21 store i32 0, ptr %t22 br label %wcond0 wcond0: %t23 = load i32, ptr %t22 %t24 = load ptr, ptr @g_prog %t25 = getelementptr inbounds %LSlice, ptr %t24, i32 0, i32 1 %t26 = load i32, ptr %t25 %t27 = icmp slt i32 %t23, %t26 %t28 = zext i1 %t27 to i32 %t29 = icmp ne i32 %t28, 0 br i1 %t29, label %wbody1, label %wend2 wbody1: %t30 = load ptr, ptr @g_prog %t31 = load i32, ptr %t22 %t32 = getelementptr inbounds %LSlice, ptr %t30, i32 0, i32 0 %t33 = load ptr, ptr %t32 %t34 = getelementptr inbounds %LSlice, ptr %t30, i32 0, i32 1 %t35 = load i32, ptr %t34 %t36 = icmp ult i32 %t31, %t35 br i1 %t36, label %ixok3, label %ixbad4 ixbad4: store i32 8992, ptr @lp_site %t37 = call ptr @lp_win_stdio(i32 2) store i32 0, ptr @lp_site call i32 (ptr, ptr, ...) @fprintf(ptr %t37, ptr @.fmt_bounds, ptr @.str16173, i32 %t31, i32 %t35) call void @exit(i32 1) unreachable ixok3: %t38 = getelementptr inbounds ptr, ptr %t33, i32 %t31 %t39 = load ptr, ptr %t38 store ptr %t39, ptr %t40 %t44 = load ptr, ptr %t40 %t45 = getelementptr inbounds %Cmp_Node, ptr %t44, i32 0, i32 0 %t46 = load i32, ptr %t45 %t47 = icmp eq i32 %t46, 8 %t48 = zext i1 %t47 to i32 %t49 = icmp ne i32 %t48, 0 %t50 = zext i1 %t49 to i32 store i32 %t50, ptr %t43 br i1 %t49, label %sc5, label %scend6 sc5: %t51 = load ptr, ptr %t40 %t52 = getelementptr inbounds %Cmp_Node, ptr %t51, i32 0, i32 1 %t53 = load ptr, ptr %t52 %t54 = icmp ne ptr %t53, null %t55 = zext i1 %t54 to i32 %t56 = icmp ne i32 %t55, 0 %t57 = zext i1 %t56 to i32 store i32 %t57, ptr %t43 br label %scend6 scend6: %t58 = load i32, ptr %t43 %t59 = icmp ne i32 %t58, 0 %t60 = zext i1 %t59 to i32 store i32 %t60, ptr %t42 br i1 %t59, label %sc7, label %scend8 sc7: %t61 = load ptr, ptr %t40 %t62 = call i32 @fn_sc_written(ptr %t61) %t63 = icmp ne i32 %t62, 0 %t64 = zext i1 %t63 to i32 store i32 %t64, ptr %t42 br label %scend8 scend8: %t65 = load i32, ptr %t42 %t66 = icmp ne i32 %t65, 0 %t67 = zext i1 %t66 to i32 store i32 %t67, ptr %t41 br i1 %t66, label %sc9, label %scend10 sc9: %t68 = load ptr, ptr %t40 %t69 = getelementptr inbounds %Cmp_Node, ptr %t68, i32 0, i32 1 %t70 = load ptr, ptr %t69 %t71 = call i32 @fn_gen_find(ptr %t70) %t72 = icmp slt i32 %t71, 0 %t73 = zext i1 %t72 to i32 %t74 = icmp ne i32 %t73, 0 %t75 = zext i1 %t74 to i32 store i32 %t75, ptr %t41 br label %scend10 scend10: %t76 = load i32, ptr %t41 %t77 = icmp ne i32 %t76, 0 br i1 %t77, label %then11, label %ifend13 then11: %t78 = load ptr, ptr %t14 %t79 = load ptr, ptr %t7 %t80 = getelementptr inbounds %LSlice, ptr %t79, i32 0, i32 1 %t81 = load i32, ptr %t80 %t82 = getelementptr inbounds %LSlice, ptr %t78, i32 0, i32 1 %t83 = getelementptr inbounds %LSlice, ptr %t78, i32 0, i32 2 %t84 = getelementptr inbounds %LSlice, ptr %t78, i32 0, i32 0 %t85 = load i32, ptr %t82 %t86 = load i32, ptr %t83 %t87 = icmp sge i32 %t85, %t86 br i1 %t87, label %grow14, label %put15 grow14: %t88 = mul i32 %t86, 2 %t89 = icmp eq i32 %t86, 0 %t90 = select i1 %t89, i32 8, i32 %t88 %t91 = getelementptr i32, ptr null, i32 1 %t92 = ptrtoint ptr %t91 to i64 %t93 = zext i32 %t90 to i64 %t94 = mul i64 %t93, %t92 %t95 = load ptr, ptr %t84 store i32 8993, ptr @lp_site %t96 = call ptr @lp_realloc(ptr %t95, i64 %t94) store i32 0, ptr @lp_site store ptr %t96, ptr %t84 store i32 %t90, ptr %t83 br label %put15 put15: %t97 = load ptr, ptr %t84 %t98 = getelementptr inbounds i32, ptr %t97, i32 %t85 store i32 %t81, ptr %t98 %t99 = add i32 %t85, 1 store i32 %t99, ptr %t82 %t100 = load ptr, ptr %t21 %t101 = load ptr, ptr %t40 %t102 = getelementptr inbounds %Cmp_Node, ptr %t101, i32 0, i32 1 %t103 = load ptr, ptr %t102 %t104 = call ptr @fn_sc_name(ptr %t103) %t105 = load ptr, ptr %t40 %t106 = getelementptr inbounds %Cmp_Node, ptr %t105, i32 0, i32 9 %t107 = load ptr, ptr %t106 %t108 = load ptr, ptr %t40 %t109 = getelementptr inbounds %Cmp_Node, ptr %t108, i32 0, i32 8 %t110 = load i32, ptr %t109 %t111 = call ptr @fn_sc_key(ptr %t104, ptr %t107, i32 %t110) %t112 = getelementptr inbounds %LSlice, ptr %t100, i32 0, i32 1 %t113 = getelementptr inbounds %LSlice, ptr %t100, i32 0, i32 2 %t114 = getelementptr inbounds %LSlice, ptr %t100, i32 0, i32 0 %t115 = load i32, ptr %t112 %t116 = load i32, ptr %t113 %t117 = icmp sge i32 %t115, %t116 br i1 %t117, label %grow16, label %put17 grow16: %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 store i32 8994, ptr @lp_site %t126 = call ptr @lp_realloc(ptr %t125, i64 %t124) store i32 0, ptr @lp_site store ptr %t126, ptr %t114 store i32 %t120, ptr %t113 br label %put17 put17: %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 ptr, ptr %t7 %t131 = load ptr, ptr %t40 %t132 = getelementptr inbounds %LSlice, ptr %t130, i32 0, i32 1 %t133 = getelementptr inbounds %LSlice, ptr %t130, i32 0, i32 2 %t134 = getelementptr inbounds %LSlice, ptr %t130, i32 0, i32 0 %t135 = load i32, ptr %t132 %t136 = load i32, ptr %t133 %t137 = icmp sge i32 %t135, %t136 br i1 %t137, label %grow18, label %put19 grow18: %t138 = mul i32 %t136, 2 %t139 = icmp eq i32 %t136, 0 %t140 = select i1 %t139, i32 8, i32 %t138 %t141 = getelementptr ptr, ptr null, i32 1 %t142 = ptrtoint ptr %t141 to i64 %t143 = zext i32 %t140 to i64 %t144 = mul i64 %t143, %t142 %t145 = load ptr, ptr %t134 store i32 8995, ptr @lp_site %t146 = call ptr @lp_realloc(ptr %t145, i64 %t144) store i32 0, ptr @lp_site store ptr %t146, ptr %t134 store i32 %t140, ptr %t133 br label %put19 put19: %t147 = load ptr, ptr %t134 %t148 = getelementptr inbounds ptr, ptr %t147, i32 %t135 store ptr %t131, ptr %t148 %t149 = add i32 %t135, 1 store i32 %t149, ptr %t132 br label %ifend13 ifend13: %t150 = load i32, ptr %t22 %t151 = add i32 %t150, 1 store i32 %t151, ptr %t22 br label %wcond0 wend2: store i32 0, ptr %t22 br label %wcond20 wcond20: %t152 = load i32, ptr %t22 %t153 = load ptr, ptr @g_g_events %t154 = getelementptr inbounds %LSlice, ptr %t153, i32 0, i32 1 %t155 = load i32, ptr %t154 %t156 = icmp slt i32 %t152, %t155 %t157 = zext i1 %t156 to i32 %t158 = icmp ne i32 %t157, 0 br i1 %t158, label %wbody21, label %wend22 wbody21: %t159 = load ptr, ptr @g_g_events %t160 = load i32, ptr %t22 %t161 = getelementptr inbounds %LSlice, ptr %t159, i32 0, i32 0 %t162 = load ptr, ptr %t161 %t163 = getelementptr inbounds %LSlice, ptr %t159, i32 0, i32 1 %t164 = load i32, ptr %t163 %t165 = icmp ult i32 %t160, %t164 br i1 %t165, label %ixok23, label %ixbad24 ixbad24: store i32 8996, ptr @lp_site %t166 = call ptr @lp_win_stdio(i32 2) store i32 0, ptr @lp_site call i32 (ptr, ptr, ...) @fprintf(ptr %t166, ptr @.fmt_bounds, ptr @.str16174, i32 %t160, i32 %t164) call void @exit(i32 1) unreachable ixok23: %t167 = getelementptr inbounds ptr, ptr %t162, i32 %t160 %t168 = load ptr, ptr %t167 store ptr %t168, ptr %t169 %t171 = load ptr, ptr %t169 %t172 = getelementptr inbounds %Cmp_Node, ptr %t171, i32 0, i32 1 %t173 = load ptr, ptr %t172 %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 %t170 br i1 %t176, label %sc25, label %scend26 sc25: %t178 = load ptr, ptr %t169 %t179 = call i32 @fn_sc_written(ptr %t178) %t180 = icmp ne i32 %t179, 0 %t181 = zext i1 %t180 to i32 store i32 %t181, ptr %t170 br label %scend26 scend26: %t182 = load i32, ptr %t170 %t183 = icmp ne i32 %t182, 0 br i1 %t183, label %then27, label %ifend29 then27: %t184 = load ptr, ptr %t14 %t185 = load ptr, ptr %t7 %t186 = getelementptr inbounds %LSlice, ptr %t185, i32 0, i32 1 %t187 = load i32, ptr %t186 %t188 = getelementptr inbounds %LSlice, ptr %t184, i32 0, i32 1 %t189 = getelementptr inbounds %LSlice, ptr %t184, i32 0, i32 2 %t190 = getelementptr inbounds %LSlice, ptr %t184, i32 0, i32 0 %t191 = load i32, ptr %t188 %t192 = load i32, ptr %t189 %t193 = icmp sge i32 %t191, %t192 br i1 %t193, label %grow30, label %put31 grow30: %t194 = mul i32 %t192, 2 %t195 = icmp eq i32 %t192, 0 %t196 = select i1 %t195, i32 8, i32 %t194 %t197 = getelementptr i32, ptr null, i32 1 %t198 = ptrtoint ptr %t197 to i64 %t199 = zext i32 %t196 to i64 %t200 = mul i64 %t199, %t198 %t201 = load ptr, ptr %t190 store i32 8997, ptr @lp_site %t202 = call ptr @lp_realloc(ptr %t201, i64 %t200) store i32 0, ptr @lp_site store ptr %t202, ptr %t190 store i32 %t196, ptr %t189 br label %put31 put31: %t203 = load ptr, ptr %t190 %t204 = getelementptr inbounds i32, ptr %t203, i32 %t191 store i32 %t187, ptr %t204 %t205 = add i32 %t191, 1 store i32 %t205, ptr %t188 %t206 = load ptr, ptr %t21 %t207 = load ptr, ptr %t169 %t208 = getelementptr inbounds %Cmp_Node, ptr %t207, i32 0, i32 1 %t209 = load ptr, ptr %t208 %t210 = call ptr @fn_sc_name(ptr %t209) %t211 = load ptr, ptr %t169 %t212 = getelementptr inbounds %Cmp_Node, ptr %t211, i32 0, i32 9 %t213 = load ptr, ptr %t212 %t214 = load ptr, ptr %t169 %t215 = getelementptr inbounds %Cmp_Node, ptr %t214, i32 0, i32 8 %t216 = load i32, ptr %t215 %t217 = call ptr @fn_sc_key(ptr %t210, ptr %t213, i32 %t216) %t218 = getelementptr inbounds %LSlice, ptr %t206, i32 0, i32 1 %t219 = getelementptr inbounds %LSlice, ptr %t206, i32 0, i32 2 %t220 = getelementptr inbounds %LSlice, ptr %t206, i32 0, i32 0 %t221 = load i32, ptr %t218 %t222 = load i32, ptr %t219 %t223 = icmp sge i32 %t221, %t222 br i1 %t223, label %grow32, label %put33 grow32: %t224 = mul i32 %t222, 2 %t225 = icmp eq i32 %t222, 0 %t226 = select i1 %t225, i32 8, i32 %t224 %t227 = getelementptr ptr, ptr null, i32 1 %t228 = ptrtoint ptr %t227 to i64 %t229 = zext i32 %t226 to i64 %t230 = mul i64 %t229, %t228 %t231 = load ptr, ptr %t220 store i32 8998, ptr @lp_site %t232 = call ptr @lp_realloc(ptr %t231, i64 %t230) store i32 0, ptr @lp_site store ptr %t232, ptr %t220 store i32 %t226, ptr %t219 br label %put33 put33: %t233 = load ptr, ptr %t220 %t234 = getelementptr inbounds ptr, ptr %t233, i32 %t221 store ptr %t217, ptr %t234 %t235 = add i32 %t221, 1 store i32 %t235, ptr %t218 %t236 = load ptr, ptr %t7 %t237 = load ptr, ptr %t169 %t238 = getelementptr inbounds %LSlice, ptr %t236, i32 0, i32 1 %t239 = getelementptr inbounds %LSlice, ptr %t236, i32 0, i32 2 %t240 = getelementptr inbounds %LSlice, ptr %t236, i32 0, i32 0 %t241 = load i32, ptr %t238 %t242 = load i32, ptr %t239 %t243 = icmp sge i32 %t241, %t242 br i1 %t243, label %grow34, label %put35 grow34: %t244 = mul i32 %t242, 2 %t245 = icmp eq i32 %t242, 0 %t246 = select i1 %t245, i32 8, i32 %t244 %t247 = getelementptr ptr, ptr null, i32 1 %t248 = ptrtoint ptr %t247 to i64 %t249 = zext i32 %t246 to i64 %t250 = mul i64 %t249, %t248 %t251 = load ptr, ptr %t240 store i32 8999, ptr @lp_site %t252 = call ptr @lp_realloc(ptr %t251, i64 %t250) store i32 0, ptr @lp_site store ptr %t252, ptr %t240 store i32 %t246, ptr %t239 br label %put35 put35: %t253 = load ptr, ptr %t240 %t254 = getelementptr inbounds ptr, ptr %t253, i32 %t241 store ptr %t237, ptr %t254 %t255 = add i32 %t241, 1 store i32 %t255, ptr %t238 br label %ifend29 ifend29: %t256 = load i32, ptr %t22 %t257 = add i32 %t256, 1 store i32 %t257, ptr %t22 br label %wcond20 wend22: %t258 = load ptr, ptr %t14 %t259 = load ptr, ptr %t21 call void @fn_sc_sort(ptr %t258, ptr %t259) store i32 0, ptr %t22 br label %wcond36 wcond36: %t260 = load i32, ptr %t22 %t261 = load ptr, ptr %t14 %t262 = getelementptr inbounds %LSlice, ptr %t261, i32 0, i32 1 %t263 = load i32, ptr %t262 %t264 = icmp slt i32 %t260, %t263 %t265 = zext i1 %t264 to i32 %t266 = icmp ne i32 %t265, 0 br i1 %t266, label %wbody37, label %wend38 wbody37: %t267 = load ptr, ptr %t0 %t268 = load ptr, ptr %t7 %t269 = load ptr, ptr %t14 %t270 = load i32, ptr %t22 %t271 = getelementptr inbounds %LSlice, ptr %t269, i32 0, i32 0 %t272 = load ptr, ptr %t271 %t273 = getelementptr inbounds %LSlice, ptr %t269, i32 0, i32 1 %t274 = load i32, ptr %t273 %t275 = icmp ult i32 %t270, %t274 br i1 %t275, label %ixok39, label %ixbad40 ixbad40: store i32 9000, ptr @lp_site %t276 = call ptr @lp_win_stdio(i32 2) store i32 0, ptr @lp_site call i32 (ptr, ptr, ...) @fprintf(ptr %t276, ptr @.fmt_bounds, ptr @.str16175, i32 %t270, i32 %t274) call void @exit(i32 1) unreachable ixok39: %t277 = getelementptr inbounds i32, ptr %t272, i32 %t270 %t278 = load i32, ptr %t277 %t279 = getelementptr inbounds %LSlice, ptr %t268, i32 0, i32 0 %t280 = load ptr, ptr %t279 %t281 = getelementptr inbounds %LSlice, ptr %t268, i32 0, i32 1 %t282 = load i32, ptr %t281 %t283 = icmp ult i32 %t278, %t282 br i1 %t283, label %ixok41, label %ixbad42 ixbad42: store i32 9001, ptr @lp_site %t284 = call ptr @lp_win_stdio(i32 2) store i32 0, ptr @lp_site call i32 (ptr, ptr, ...) @fprintf(ptr %t284, ptr @.fmt_bounds, ptr @.str16176, i32 %t278, i32 %t282) call void @exit(i32 1) unreachable ixok41: %t285 = getelementptr inbounds ptr, ptr %t280, i32 %t278 %t286 = load ptr, ptr %t285 %t287 = load i32, ptr %t22 %t288 = icmp eq i32 %t287, 0 %t289 = zext i1 %t288 to i32 call void @fn_sc_record(ptr %t267, ptr %t286, i32 %t289) %t290 = load i32, ptr %t22 %t291 = add i32 %t290, 1 store i32 %t291, ptr %t22 br label %wcond36 wend38: br label %ret ret: ret void } define void @fn_sc_record(ptr %arg_b, ptr %arg_d, i32 %arg_first) { entry: %t0 = alloca ptr %t1 = alloca ptr %t2 = alloca i32 %t5 = alloca ptr %t73 = alloca i32 %t74 = alloca i32 %t96 = alloca ptr %t97 = alloca i32 store ptr %arg_b, ptr %t0 store ptr %arg_d, ptr %t1 store i32 %arg_first, ptr %t2 %t3 = load ptr, ptr %t0 %t4 = load i32, ptr %t2 call void @fn_sc_sep(ptr %t3, i32 %t4, ptr @.str16177) store ptr @.str16178, ptr %t5 %t6 = load ptr, ptr %t1 %t7 = getelementptr inbounds %Cmp_Node, ptr %t6, i32 0, i32 0 %t8 = load i32, ptr %t7 %t9 = icmp eq i32 %t8, 48 %t10 = zext i1 %t9 to i32 %t11 = icmp ne i32 %t10, 0 br i1 %t11, label %then0, label %else1 then0: store ptr @.str16179, ptr %t5 br label %ifend2 else1: %t12 = load ptr, ptr %t1 %t13 = getelementptr inbounds %Cmp_Node, ptr %t12, i32 0, i32 12 %t14 = load i32, ptr %t13 %t15 = icmp eq i32 %t14, 2 %t16 = zext i1 %t15 to i32 %t17 = icmp ne i32 %t16, 0 br i1 %t17, label %then3, label %ifend5 then3: store ptr @.str16180, ptr %t5 br label %ifend5 ifend5: br label %ifend2 ifend2: %t18 = load ptr, ptr %t0 call void @fn_buf_puts(ptr %t18, ptr @.str16181) %t19 = load ptr, ptr %t0 %t20 = load ptr, ptr %t1 %t21 = getelementptr inbounds %Cmp_Node, ptr %t20, i32 0, i32 1 %t22 = load ptr, ptr %t21 %t23 = call ptr @fn_sc_name(ptr %t22) call void @fn_jq_put(ptr %t19, ptr %t23) %t24 = load ptr, ptr %t0 call void @fn_buf_puts(ptr %t24, ptr @.str16182) %t25 = load ptr, ptr %t0 %t26 = load ptr, ptr %t5 call void @fn_jq_put(ptr %t25, ptr %t26) %t27 = load ptr, ptr %t0 call void @fn_buf_puts(ptr %t27, ptr @.str16183) %t28 = load ptr, ptr %t0 %t29 = load ptr, ptr %t1 %t30 = getelementptr inbounds %Cmp_Node, ptr %t29, i32 0, i32 9 %t31 = load ptr, ptr %t30 %t32 = call ptr @fn_sc_mod(ptr %t31) call void @fn_sc_str(ptr %t28, ptr %t32) %t33 = load ptr, ptr %t0 call void @fn_buf_puts(ptr %t33, ptr @.str16184) %t34 = load ptr, ptr %t0 %t35 = load ptr, ptr %t1 %t36 = getelementptr inbounds %Cmp_Node, ptr %t35, i32 0, i32 10 %t37 = load i32, ptr %t36 %t38 = icmp eq i32 %t37, 1 %t39 = zext i1 %t38 to i32 call void @fn_sc_bool(ptr %t34, i32 %t39) %t40 = load ptr, ptr %t0 call void @fn_buf_puts(ptr %t40, ptr @.str16185) %t41 = load ptr, ptr %t0 %t42 = load ptr, ptr %t1 %t43 = getelementptr inbounds %Cmp_Node, ptr %t42, i32 0, i32 9 %t44 = load ptr, ptr %t43 %t45 = load ptr, ptr %t1 %t46 = getelementptr inbounds %Cmp_Node, ptr %t45, i32 0, i32 8 %t47 = load i32, ptr %t46 %t48 = load ptr, ptr %t1 %t49 = getelementptr inbounds %Cmp_Node, ptr %t48, i32 0, i32 18 %t50 = load i32, ptr %t49 call void @fn_sc_at(ptr %t41, ptr %t44, i32 %t47, i32 %t50) %t51 = load ptr, ptr %t0 call void @fn_buf_puts(ptr %t51, ptr @.str16186) %t52 = load ptr, ptr %t1 %t53 = getelementptr inbounds %Cmp_Node, ptr %t52, i32 0, i32 11 %t54 = load ptr, ptr %t53 %t55 = icmp eq ptr %t54, null %t56 = zext i1 %t55 to i32 %t57 = icmp ne i32 %t56, 0 br i1 %t57, label %then6, label %else7 then6: %t58 = load ptr, ptr %t0 call void @fn_buf_puts(ptr %t58, ptr @.str16187) br label %ifend8 else7: %t59 = load ptr, ptr %t0 %t60 = load ptr, ptr %t1 %t61 = getelementptr inbounds %Cmp_Node, ptr %t60, i32 0, i32 11 %t62 = load ptr, ptr %t61 call void @fn_jq_put(ptr %t59, ptr %t62) br label %ifend8 ifend8: %t63 = load ptr, ptr %t0 call void @fn_buf_puts(ptr %t63, ptr @.str16188) %t64 = load ptr, ptr %t0 %t65 = load ptr, ptr %t1 %t66 = getelementptr inbounds %Cmp_Node, ptr %t65, i32 0, i32 9 %t67 = load ptr, ptr %t66 %t68 = load ptr, ptr %t1 %t69 = getelementptr inbounds %Cmp_Node, ptr %t68, i32 0, i32 13 %t70 = load i32, ptr %t69 %t71 = call ptr @fn_sc_doc(ptr %t67, i32 %t70) call void @fn_sc_str(ptr %t64, ptr %t71) %t72 = load ptr, ptr %t0 call void @fn_buf_puts(ptr %t72, ptr @.str16189) store i32 0, ptr %t73 store i32 0, ptr %t74 br label %wcond9 wcond9: %t75 = load i32, ptr %t74 %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 1 %t80 = load i32, ptr %t79 %t81 = icmp slt i32 %t75, %t80 %t82 = zext i1 %t81 to i32 %t83 = icmp ne i32 %t82, 0 br i1 %t83, label %wbody10, label %wend11 wbody10: %t84 = load ptr, ptr %t1 %t85 = getelementptr inbounds %Cmp_Node, ptr %t84, i32 0, i32 7 %t86 = load ptr, ptr %t85 %t87 = load i32, ptr %t74 %t88 = getelementptr inbounds %LSlice, ptr %t86, i32 0, i32 0 %t89 = load ptr, ptr %t88 %t90 = getelementptr inbounds %LSlice, ptr %t86, i32 0, i32 1 %t91 = load i32, ptr %t90 %t92 = icmp ult i32 %t87, %t91 br i1 %t92, label %ixok12, label %ixbad13 ixbad13: store i32 9002, ptr @lp_site %t93 = call ptr @lp_win_stdio(i32 2) store i32 0, ptr @lp_site call i32 (ptr, ptr, ...) @fprintf(ptr %t93, ptr @.fmt_bounds, ptr @.str16190, i32 %t87, i32 %t91) call void @exit(i32 1) unreachable ixok12: %t94 = getelementptr inbounds ptr, ptr %t89, i32 %t87 %t95 = load ptr, ptr %t94 store ptr %t95, ptr %t96 %t98 = load ptr, ptr %t96 %t99 = getelementptr inbounds %Cmp_Node, ptr %t98, i32 0, i32 0 %t100 = load i32, ptr %t99 %t101 = icmp eq i32 %t100, 1 %t102 = zext i1 %t101 to i32 %t103 = icmp ne i32 %t102, 0 %t104 = zext i1 %t103 to i32 store i32 %t104, ptr %t97 br i1 %t103, label %sc14, label %scend15 sc14: %t105 = load ptr, ptr %t96 %t106 = getelementptr inbounds %Cmp_Node, ptr %t105, i32 0, i32 13 %t107 = load i32, ptr %t106 %t108 = icmp sge i32 %t107, 0 %t109 = zext i1 %t108 to i32 %t110 = icmp ne i32 %t109, 0 %t111 = zext i1 %t110 to i32 store i32 %t111, ptr %t97 br label %scend15 scend15: %t112 = load i32, ptr %t97 %t113 = icmp ne i32 %t112, 0 br i1 %t113, label %then16, label %ifend18 then16: %t114 = load ptr, ptr %t0 %t115 = load ptr, ptr %t96 %t116 = load i32, ptr %t73 %t117 = icmp eq i32 %t116, 0 %t118 = zext i1 %t117 to i32 call void @fn_sc_field(ptr %t114, ptr %t115, i32 %t118) %t119 = load i32, ptr %t73 %t120 = add i32 %t119, 1 store i32 %t120, ptr %t73 br label %ifend18 ifend18: %t121 = load i32, ptr %t74 %t122 = add i32 %t121, 1 store i32 %t122, ptr %t74 br label %wcond9 wend11: %t123 = load i32, ptr %t73 %t124 = icmp sgt i32 %t123, 0 %t125 = zext i1 %t124 to i32 %t126 = icmp ne i32 %t125, 0 br i1 %t126, label %then19, label %ifend21 then19: %t127 = load ptr, ptr %t0 call void @fn_buf_puts(ptr %t127, ptr @.str16192) br label %ifend21 ifend21: %t128 = load ptr, ptr %t0 call void @fn_buf_puts(ptr %t128, ptr @.str16193) br label %ret ret: ret void } define void @fn_sc_field(ptr %arg_b, ptr %arg_f, i32 %arg_first) { entry: %t0 = alloca ptr %t1 = alloca ptr %t2 = alloca i32 store ptr %arg_b, ptr %t0 store ptr %arg_f, ptr %t1 store i32 %arg_first, ptr %t2 %t3 = load ptr, ptr %t0 %t4 = load i32, ptr %t2 call void @fn_sc_sep(ptr %t3, i32 %t4, ptr @.str16194) %t5 = load ptr, ptr %t0 call void @fn_buf_puts(ptr %t5, ptr @.str16195) %t6 = load ptr, ptr %t0 %t7 = load ptr, ptr %t1 %t8 = getelementptr inbounds %Cmp_Node, ptr %t7, i32 0, i32 1 %t9 = load ptr, ptr %t8 call void @fn_jq_put(ptr %t6, ptr %t9) %t10 = load ptr, ptr %t0 call void @fn_buf_puts(ptr %t10, ptr @.str16196) %t11 = load ptr, ptr %t0 %t12 = load ptr, ptr %t1 %t13 = getelementptr inbounds %Cmp_Node, ptr %t12, i32 0, i32 3 %t14 = load ptr, ptr %t13 %t15 = call ptr @fn_sc_ty(ptr %t14) call void @fn_jq_put(ptr %t11, ptr %t15) %t16 = load ptr, ptr %t0 call void @fn_buf_puts(ptr %t16, ptr @.str16197) %t17 = load ptr, ptr %t0 %t18 = load ptr, ptr %t1 %t19 = getelementptr inbounds %Cmp_Node, ptr %t18, i32 0, i32 9 %t20 = load ptr, ptr %t19 %t21 = load ptr, ptr %t1 %t22 = getelementptr inbounds %Cmp_Node, ptr %t21, i32 0, i32 20 %t23 = load i32, ptr %t22 %t24 = load ptr, ptr %t1 %t25 = getelementptr inbounds %Cmp_Node, ptr %t24, i32 0, i32 21 %t26 = load i32, ptr %t25 %t27 = call ptr @fn_sc_text(ptr %t20, i32 %t23, i32 %t26) call void @fn_sc_str(ptr %t17, ptr %t27) %t28 = load ptr, ptr %t0 call void @fn_buf_puts(ptr %t28, ptr @.str16198) %t29 = load ptr, ptr %t0 %t30 = load ptr, ptr %t1 %t31 = getelementptr inbounds %Cmp_Node, ptr %t30, i32 0, i32 9 %t32 = load ptr, ptr %t31 %t33 = load ptr, ptr %t1 %t34 = getelementptr inbounds %Cmp_Node, ptr %t33, i32 0, i32 8 %t35 = load i32, ptr %t34 %t36 = load ptr, ptr %t1 %t37 = getelementptr inbounds %Cmp_Node, ptr %t36, i32 0, i32 18 %t38 = load i32, ptr %t37 call void @fn_sc_at(ptr %t29, ptr %t32, i32 %t35, i32 %t38) %t39 = load ptr, ptr %t0 call void @fn_buf_puts(ptr %t39, ptr @.str16199) %t40 = load ptr, ptr %t0 %t41 = load ptr, ptr %t1 %t42 = getelementptr inbounds %Cmp_Node, ptr %t41, i32 0, i32 19 %t43 = load i32, ptr %t42 call void @fn_sc_attrs(ptr %t40, i32 %t43) %t44 = load ptr, ptr %t0 call void @fn_buf_puts(ptr %t44, ptr @.str16200) %t45 = load ptr, ptr %t0 %t46 = load ptr, ptr %t1 %t47 = getelementptr inbounds %Cmp_Node, ptr %t46, i32 0, i32 9 %t48 = load ptr, ptr %t47 %t49 = load ptr, ptr %t1 %t50 = getelementptr inbounds %Cmp_Node, ptr %t49, i32 0, i32 13 %t51 = load i32, ptr %t50 %t52 = call ptr @fn_sc_doc(ptr %t48, i32 %t51) call void @fn_sc_str(ptr %t45, ptr %t52) %t53 = load ptr, ptr %t0 call void @fn_buf_puts(ptr %t53, ptr @.str16201) br label %ret ret: ret void } define void @fn_sc_registries(ptr %arg_b) { entry: %t0 = alloca ptr %t7 = alloca ptr %t14 = alloca ptr %t15 = alloca i32 %t33 = alloca ptr %t34 = alloca i32 %t131 = alloca i32 store ptr %arg_b, ptr %t0 %t1 = getelementptr %LSlice, ptr null, i32 1 %t2 = ptrtoint ptr %t1 to i64 store i32 9003, ptr @lp_site %t3 = call ptr @lp_malloc(i64 %t2) store i32 0, ptr @lp_site %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 %t8 = getelementptr %LSlice, ptr null, i32 1 %t9 = ptrtoint ptr %t8 to i64 store i32 9004, ptr @lp_site %t10 = call ptr @lp_malloc(i64 %t9) store i32 0, ptr @lp_site %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 @g_g_rg_name %t18 = getelementptr inbounds %LSlice, ptr %t17, i32 0, i32 1 %t19 = load i32, ptr %t18 %t20 = icmp slt i32 %t16, %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 @g_g_rg_var %t24 = load i32, ptr %t15 %t25 = getelementptr inbounds %LSlice, ptr %t23, i32 0, i32 0 %t26 = load ptr, ptr %t25 %t27 = getelementptr inbounds %LSlice, ptr %t23, i32 0, i32 1 %t28 = load i32, ptr %t27 %t29 = icmp ult i32 %t24, %t28 br i1 %t29, label %ixok3, label %ixbad4 ixbad4: store i32 9005, ptr @lp_site %t30 = call ptr @lp_win_stdio(i32 2) store i32 0, ptr @lp_site call i32 (ptr, ptr, ...) @fprintf(ptr %t30, ptr @.fmt_bounds, ptr @.str16203, i32 %t24, i32 %t28) call void @exit(i32 1) unreachable ixok3: %t31 = getelementptr inbounds ptr, ptr %t26, i32 %t24 %t32 = load ptr, ptr %t31 store ptr %t32, ptr %t33 %t35 = load ptr, ptr %t33 %t36 = getelementptr inbounds %Cmp_Node, ptr %t35, i32 0, i32 9 %t37 = load ptr, ptr %t36 %t38 = icmp ne 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 %t34 br i1 %t40, label %sc5, label %scend6 sc5: %t42 = load ptr, ptr %t33 %t43 = getelementptr inbounds %Cmp_Node, ptr %t42, i32 0, i32 9 %t44 = load ptr, ptr %t43 %t45 = call i32 @fn_is_runtime_file(ptr %t44) %t46 = icmp eq i32 %t45, 0 %t47 = zext i1 %t46 to i32 %t48 = icmp ne i32 %t47, 0 %t49 = zext i1 %t48 to i32 store i32 %t49, ptr %t34 br label %scend6 scend6: %t50 = load i32, ptr %t34 %t51 = icmp ne i32 %t50, 0 br i1 %t51, label %then7, label %else8 then7: %t52 = load ptr, ptr %t7 %t53 = load i32, ptr %t15 %t54 = getelementptr inbounds %LSlice, ptr %t52, i32 0, i32 1 %t55 = getelementptr inbounds %LSlice, ptr %t52, i32 0, i32 2 %t56 = getelementptr inbounds %LSlice, ptr %t52, i32 0, i32 0 %t57 = load i32, ptr %t54 %t58 = load i32, ptr %t55 %t59 = icmp sge i32 %t57, %t58 br i1 %t59, label %grow10, label %put11 grow10: %t60 = mul i32 %t58, 2 %t61 = icmp eq i32 %t58, 0 %t62 = select i1 %t61, i32 8, i32 %t60 %t63 = getelementptr i32, ptr null, i32 1 %t64 = ptrtoint ptr %t63 to i64 %t65 = zext i32 %t62 to i64 %t66 = mul i64 %t65, %t64 %t67 = load ptr, ptr %t56 store i32 9006, ptr @lp_site %t68 = call ptr @lp_realloc(ptr %t67, i64 %t66) store i32 0, ptr @lp_site store ptr %t68, ptr %t56 store i32 %t62, ptr %t55 br label %put11 put11: %t69 = load ptr, ptr %t56 %t70 = getelementptr inbounds i32, ptr %t69, i32 %t57 store i32 %t53, ptr %t70 %t71 = add i32 %t57, 1 store i32 %t71, ptr %t54 %t72 = load ptr, ptr %t14 %t73 = load ptr, ptr @g_g_rg_name %t74 = load i32, ptr %t15 %t75 = getelementptr inbounds %LSlice, ptr %t73, i32 0, i32 0 %t76 = load ptr, ptr %t75 %t77 = getelementptr inbounds %LSlice, ptr %t73, i32 0, i32 1 %t78 = load i32, ptr %t77 %t79 = icmp ult i32 %t74, %t78 br i1 %t79, label %ixok12, label %ixbad13 ixbad13: store i32 9007, ptr @lp_site %t80 = call ptr @lp_win_stdio(i32 2) store i32 0, ptr @lp_site call i32 (ptr, ptr, ...) @fprintf(ptr %t80, ptr @.fmt_bounds, ptr @.str16204, i32 %t74, i32 %t78) call void @exit(i32 1) unreachable ixok12: %t81 = getelementptr inbounds ptr, ptr %t76, i32 %t74 %t82 = load ptr, ptr %t81 %t83 = load ptr, ptr %t33 %t84 = getelementptr inbounds %Cmp_Node, ptr %t83, i32 0, i32 9 %t85 = load ptr, ptr %t84 %t86 = load ptr, ptr %t33 %t87 = getelementptr inbounds %Cmp_Node, ptr %t86, i32 0, i32 8 %t88 = load i32, ptr %t87 %t89 = call ptr @fn_sc_key(ptr %t82, ptr %t85, i32 %t88) %t90 = getelementptr inbounds %LSlice, ptr %t72, i32 0, i32 1 %t91 = getelementptr inbounds %LSlice, ptr %t72, i32 0, i32 2 %t92 = getelementptr inbounds %LSlice, ptr %t72, i32 0, i32 0 %t93 = load i32, ptr %t90 %t94 = load i32, ptr %t91 %t95 = icmp sge i32 %t93, %t94 br i1 %t95, label %grow14, label %put15 grow14: %t96 = mul i32 %t94, 2 %t97 = icmp eq i32 %t94, 0 %t98 = select i1 %t97, i32 8, i32 %t96 %t99 = getelementptr ptr, ptr null, i32 1 %t100 = ptrtoint ptr %t99 to i64 %t101 = zext i32 %t98 to i64 %t102 = mul i64 %t101, %t100 %t103 = load ptr, ptr %t92 store i32 9008, ptr @lp_site %t104 = call ptr @lp_realloc(ptr %t103, i64 %t102) store i32 0, ptr @lp_site store ptr %t104, ptr %t92 store i32 %t98, ptr %t91 br label %put15 put15: %t105 = load ptr, ptr %t92 %t106 = getelementptr inbounds ptr, ptr %t105, i32 %t93 store ptr %t89, ptr %t106 %t107 = add i32 %t93, 1 store i32 %t107, ptr %t90 br label %ifend9 else8: %t108 = load ptr, ptr %t14 %t109 = getelementptr inbounds %LSlice, ptr %t108, i32 0, i32 1 %t110 = getelementptr inbounds %LSlice, ptr %t108, i32 0, i32 2 %t111 = getelementptr inbounds %LSlice, ptr %t108, i32 0, i32 0 %t112 = load i32, ptr %t109 %t113 = load i32, ptr %t110 %t114 = icmp sge i32 %t112, %t113 br i1 %t114, label %grow16, label %put17 grow16: %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 store i32 9009, ptr @lp_site %t123 = call ptr @lp_realloc(ptr %t122, i64 %t121) store i32 0, ptr @lp_site store ptr %t123, ptr %t111 store i32 %t117, ptr %t110 br label %put17 put17: %t124 = load ptr, ptr %t111 %t125 = getelementptr inbounds ptr, ptr %t124, i32 %t112 store ptr @.str16205, ptr %t125 %t126 = add i32 %t112, 1 store i32 %t126, ptr %t109 br label %ifend9 ifend9: %t127 = load i32, ptr %t15 %t128 = add i32 %t127, 1 store i32 %t128, ptr %t15 br label %wcond0 wend2: %t129 = load ptr, ptr %t7 %t130 = load ptr, ptr %t14 call void @fn_sc_sort(ptr %t129, ptr %t130) store i32 0, ptr %t131 br label %wcond18 wcond18: %t132 = load i32, ptr %t131 %t133 = load ptr, ptr %t7 %t134 = getelementptr inbounds %LSlice, ptr %t133, i32 0, i32 1 %t135 = load i32, ptr %t134 %t136 = icmp slt i32 %t132, %t135 %t137 = zext i1 %t136 to i32 %t138 = icmp ne i32 %t137, 0 br i1 %t138, label %wbody19, label %wend20 wbody19: %t139 = load ptr, ptr %t0 %t140 = load ptr, ptr %t7 %t141 = load i32, ptr %t131 %t142 = getelementptr inbounds %LSlice, ptr %t140, i32 0, i32 0 %t143 = load ptr, ptr %t142 %t144 = getelementptr inbounds %LSlice, ptr %t140, i32 0, i32 1 %t145 = load i32, ptr %t144 %t146 = icmp ult i32 %t141, %t145 br i1 %t146, label %ixok21, label %ixbad22 ixbad22: store i32 9010, ptr @lp_site %t147 = call ptr @lp_win_stdio(i32 2) store i32 0, ptr @lp_site call i32 (ptr, ptr, ...) @fprintf(ptr %t147, ptr @.fmt_bounds, ptr @.str16206, i32 %t141, i32 %t145) call void @exit(i32 1) unreachable ixok21: %t148 = getelementptr inbounds i32, ptr %t143, i32 %t141 %t149 = load i32, ptr %t148 %t150 = load i32, ptr %t131 %t151 = icmp eq i32 %t150, 0 %t152 = zext i1 %t151 to i32 call void @fn_sc_registry(ptr %t139, i32 %t149, i32 %t152) %t153 = load i32, ptr %t131 %t154 = add i32 %t153, 1 store i32 %t154, ptr %t131 br label %wcond18 wend20: br label %ret ret: ret void } define void @fn_sc_registry(ptr %arg_b, i32 %arg_r, i32 %arg_first) { entry: %t0 = alloca ptr %t1 = alloca i32 %t2 = alloca i32 %t13 = alloca ptr %t163 = alloca ptr %t173 = alloca i32 store ptr %arg_b, ptr %t0 store i32 %arg_r, ptr %t1 store i32 %arg_first, ptr %t2 %t3 = load ptr, ptr @g_g_rg_var %t4 = load i32, ptr %t1 %t5 = getelementptr inbounds %LSlice, ptr %t3, i32 0, i32 0 %t6 = load ptr, ptr %t5 %t7 = getelementptr inbounds %LSlice, ptr %t3, i32 0, i32 1 %t8 = load i32, ptr %t7 %t9 = icmp ult i32 %t4, %t8 br i1 %t9, label %ixok0, label %ixbad1 ixbad1: store i32 9011, ptr @lp_site %t10 = call ptr @lp_win_stdio(i32 2) store i32 0, ptr @lp_site call i32 (ptr, ptr, ...) @fprintf(ptr %t10, ptr @.fmt_bounds, ptr @.str16207, i32 %t4, i32 %t8) call void @exit(i32 1) unreachable ixok0: %t11 = getelementptr inbounds ptr, ptr %t6, i32 %t4 %t12 = load ptr, ptr %t11 store ptr %t12, ptr %t13 %t14 = load ptr, ptr %t0 %t15 = load i32, ptr %t2 call void @fn_sc_sep(ptr %t14, i32 %t15, ptr @.str16209) %t16 = load ptr, ptr %t0 call void @fn_buf_puts(ptr %t16, ptr @.str16210) %t17 = load ptr, ptr %t0 %t18 = load ptr, ptr @g_g_rg_name %t19 = load i32, ptr %t1 %t20 = getelementptr inbounds %LSlice, ptr %t18, i32 0, i32 0 %t21 = load ptr, ptr %t20 %t22 = getelementptr inbounds %LSlice, ptr %t18, i32 0, i32 1 %t23 = load i32, ptr %t22 %t24 = icmp ult i32 %t19, %t23 br i1 %t24, label %ixok2, label %ixbad3 ixbad3: store i32 9012, ptr @lp_site %t25 = call ptr @lp_win_stdio(i32 2) store i32 0, ptr @lp_site call i32 (ptr, ptr, ...) @fprintf(ptr %t25, ptr @.fmt_bounds, ptr @.str16211, i32 %t19, i32 %t23) call void @exit(i32 1) unreachable ixok2: %t26 = getelementptr inbounds ptr, ptr %t21, i32 %t19 %t27 = load ptr, ptr %t26 call void @fn_jq_put(ptr %t17, ptr %t27) %t28 = load ptr, ptr %t0 call void @fn_buf_puts(ptr %t28, ptr @.str16212) %t29 = load ptr, ptr %t0 %t30 = load ptr, ptr @g_g_rg_type %t31 = load i32, ptr %t1 %t32 = getelementptr inbounds %LSlice, ptr %t30, i32 0, i32 0 %t33 = load ptr, ptr %t32 %t34 = getelementptr inbounds %LSlice, ptr %t30, i32 0, i32 1 %t35 = load i32, ptr %t34 %t36 = icmp ult i32 %t31, %t35 br i1 %t36, label %ixok4, label %ixbad5 ixbad5: store i32 9013, ptr @lp_site %t37 = call ptr @lp_win_stdio(i32 2) store i32 0, ptr @lp_site call i32 (ptr, ptr, ...) @fprintf(ptr %t37, ptr @.fmt_bounds, ptr @.str16213, i32 %t31, i32 %t35) call void @exit(i32 1) unreachable ixok4: %t38 = getelementptr inbounds ptr, ptr %t33, i32 %t31 %t39 = load ptr, ptr %t38 %t40 = call ptr @fn_sc_ty(ptr %t39) call void @fn_jq_put(ptr %t29, ptr %t40) %t41 = load ptr, ptr %t0 call void @fn_buf_puts(ptr %t41, ptr @.str16214) %t42 = load i32, ptr %t1 %t43 = call i32 @fn_pm_is(i32 %t42) %t44 = icmp ne i32 %t43, 0 br i1 %t44, label %then6, label %else7 then6: %t45 = load ptr, ptr %t0 call void @fn_buf_puts(ptr %t45, ptr @.str16215) br label %ifend8 else7: %t46 = load ptr, ptr %t0 %t47 = load ptr, ptr @g_g_rg_prefix %t48 = load i32, ptr %t1 %t49 = getelementptr inbounds %LSlice, ptr %t47, i32 0, i32 0 %t50 = load ptr, ptr %t49 %t51 = getelementptr inbounds %LSlice, ptr %t47, i32 0, i32 1 %t52 = load i32, ptr %t51 %t53 = icmp ult i32 %t48, %t52 br i1 %t53, label %ixok9, label %ixbad10 ixbad10: store i32 9014, ptr @lp_site %t54 = call ptr @lp_win_stdio(i32 2) store i32 0, ptr @lp_site call i32 (ptr, ptr, ...) @fprintf(ptr %t54, ptr @.fmt_bounds, ptr @.str16216, i32 %t48, i32 %t52) call void @exit(i32 1) unreachable ixok9: %t55 = getelementptr inbounds ptr, ptr %t50, i32 %t48 %t56 = load ptr, ptr %t55 call void @fn_jq_put(ptr %t46, ptr %t56) br label %ifend8 ifend8: %t57 = load ptr, ptr %t0 call void @fn_buf_puts(ptr %t57, ptr @.str16217) %t58 = load ptr, ptr %t0 %t59 = load ptr, ptr @g_g_rg_from %t60 = load i32, ptr %t1 %t61 = getelementptr inbounds %LSlice, ptr %t59, i32 0, i32 0 %t62 = load ptr, ptr %t61 %t63 = getelementptr inbounds %LSlice, ptr %t59, i32 0, i32 1 %t64 = load i32, ptr %t63 %t65 = icmp ult i32 %t60, %t64 br i1 %t65, label %ixok11, label %ixbad12 ixbad12: store i32 9015, ptr @lp_site %t66 = call ptr @lp_win_stdio(i32 2) store i32 0, ptr @lp_site call i32 (ptr, ptr, ...) @fprintf(ptr %t66, ptr @.fmt_bounds, ptr @.str16218, i32 %t60, i32 %t64) call void @exit(i32 1) unreachable ixok11: %t67 = getelementptr inbounds ptr, ptr %t62, i32 %t60 %t68 = load ptr, ptr %t67 call void @fn_sc_str(ptr %t58, ptr %t68) %t69 = load ptr, ptr %t0 call void @fn_buf_puts(ptr %t69, ptr @.str16219) %t70 = load ptr, ptr %t0 %t71 = load ptr, ptr @g_g_rg_open %t72 = load i32, ptr %t1 %t73 = getelementptr inbounds %LSlice, ptr %t71, i32 0, i32 0 %t74 = load ptr, ptr %t73 %t75 = getelementptr inbounds %LSlice, ptr %t71, i32 0, i32 1 %t76 = load i32, ptr %t75 %t77 = icmp ult i32 %t72, %t76 br i1 %t77, label %ixok13, label %ixbad14 ixbad14: store i32 9016, ptr @lp_site %t78 = call ptr @lp_win_stdio(i32 2) store i32 0, ptr @lp_site call i32 (ptr, ptr, ...) @fprintf(ptr %t78, ptr @.fmt_bounds, ptr @.str16220, i32 %t72, i32 %t76) call void @exit(i32 1) unreachable ixok13: %t79 = getelementptr inbounds i32, ptr %t74, i32 %t72 %t80 = load i32, ptr %t79 %t81 = icmp eq i32 %t80, 1 %t82 = zext i1 %t81 to i32 call void @fn_sc_bool(ptr %t70, i32 %t82) %t83 = load ptr, ptr %t0 call void @fn_buf_puts(ptr %t83, ptr @.str16221) %t84 = load ptr, ptr %t0 %t85 = load ptr, ptr %t13 %t86 = getelementptr inbounds %Cmp_Node, ptr %t85, i32 0, i32 10 %t87 = load i32, ptr %t86 %t88 = icmp eq i32 %t87, 1 %t89 = zext i1 %t88 to i32 call void @fn_sc_bool(ptr %t84, i32 %t89) %t90 = load ptr, ptr %t0 call void @fn_buf_puts(ptr %t90, ptr @.str16222) %t91 = load ptr, ptr %t0 %t92 = load ptr, ptr %t13 %t93 = getelementptr inbounds %Cmp_Node, ptr %t92, i32 0, i32 9 %t94 = load ptr, ptr %t93 %t95 = call ptr @fn_sc_mod(ptr %t94) call void @fn_sc_str(ptr %t91, ptr %t95) %t96 = load i32, ptr %t1 %t97 = call i32 @fn_pm_is(i32 %t96) %t98 = icmp ne i32 %t97, 0 br i1 %t98, label %then15, label %else16 then15: %t99 = load ptr, ptr %t0 call void @fn_buf_puts(ptr %t99, ptr @.str16223) %t100 = load ptr, ptr @g_g_rg_chunk %t101 = load i32, ptr %t1 %t102 = getelementptr inbounds %LSlice, ptr %t100, i32 0, i32 0 %t103 = load ptr, ptr %t102 %t104 = getelementptr inbounds %LSlice, ptr %t100, i32 0, i32 1 %t105 = load i32, ptr %t104 %t106 = icmp ult i32 %t101, %t105 br i1 %t106, label %ixok18, label %ixbad19 ixbad19: store i32 9017, ptr @lp_site %t107 = call ptr @lp_win_stdio(i32 2) store i32 0, ptr @lp_site call i32 (ptr, ptr, ...) @fprintf(ptr %t107, ptr @.fmt_bounds, ptr @.str16224, i32 %t101, i32 %t105) call void @exit(i32 1) unreachable ixok18: %t108 = getelementptr inbounds i32, ptr %t103, i32 %t101 %t109 = load i32, ptr %t108 %t110 = icmp sgt i32 %t109, 0 %t111 = zext i1 %t110 to i32 %t112 = icmp ne i32 %t111, 0 br i1 %t112, label %then20, label %else21 then20: %t113 = load ptr, ptr %t0 %t114 = load ptr, ptr @g_g_rg_chunk %t115 = load i32, ptr %t1 %t116 = getelementptr inbounds %LSlice, ptr %t114, i32 0, i32 0 %t117 = load ptr, ptr %t116 %t118 = getelementptr inbounds %LSlice, ptr %t114, i32 0, i32 1 %t119 = load i32, ptr %t118 %t120 = icmp ult i32 %t115, %t119 br i1 %t120, label %ixok23, label %ixbad24 ixbad24: store i32 9018, ptr @lp_site %t121 = call ptr @lp_win_stdio(i32 2) store i32 0, ptr @lp_site call i32 (ptr, ptr, ...) @fprintf(ptr %t121, ptr @.fmt_bounds, ptr @.str16225, i32 %t115, i32 %t119) call void @exit(i32 1) unreachable ixok23: %t122 = getelementptr inbounds i32, ptr %t117, i32 %t115 %t123 = load i32, ptr %t122 call void @fn_buf_puti(ptr %t113, i32 %t123) br label %ifend22 else21: %t124 = load ptr, ptr %t0 call void @fn_buf_puts(ptr %t124, ptr @.str16226) br label %ifend22 ifend22: %t125 = load ptr, ptr %t0 call void @fn_buf_puts(ptr %t125, ptr @.str16227) %t126 = load ptr, ptr %t0 %t127 = load ptr, ptr @g_g_pm_root call void @fn_jq_put(ptr %t126, ptr %t127) br label %ifend17 else16: %t128 = load ptr, ptr %t0 call void @fn_buf_puts(ptr %t128, ptr @.str16228) br label %ifend17 ifend17: %t129 = load ptr, ptr %t0 call void @fn_buf_puts(ptr %t129, ptr @.str16229) %t130 = load ptr, ptr %t0 %t131 = load ptr, ptr %t13 %t132 = getelementptr inbounds %Cmp_Node, ptr %t131, i32 0, i32 9 %t133 = load ptr, ptr %t132 %t134 = load ptr, ptr %t13 %t135 = getelementptr inbounds %Cmp_Node, ptr %t134, i32 0, i32 8 %t136 = load i32, ptr %t135 %t137 = load ptr, ptr %t13 %t138 = getelementptr inbounds %Cmp_Node, ptr %t137, i32 0, i32 18 %t139 = load i32, ptr %t138 call void @fn_sc_at(ptr %t130, ptr %t133, i32 %t136, i32 %t139) %t140 = load ptr, ptr %t0 call void @fn_buf_puts(ptr %t140, ptr @.str16230) %t141 = load ptr, ptr %t0 %t142 = load ptr, ptr @g_g_rg_at %t143 = load i32, ptr %t1 %t144 = getelementptr inbounds %LSlice, ptr %t142, i32 0, i32 0 %t145 = load ptr, ptr %t144 %t146 = getelementptr inbounds %LSlice, ptr %t142, i32 0, i32 1 %t147 = load i32, ptr %t146 %t148 = icmp ult i32 %t143, %t147 br i1 %t148, label %ixok25, label %ixbad26 ixbad26: store i32 9019, ptr @lp_site %t149 = call ptr @lp_win_stdio(i32 2) store i32 0, ptr @lp_site call i32 (ptr, ptr, ...) @fprintf(ptr %t149, ptr @.fmt_bounds, ptr @.str16231, i32 %t143, i32 %t147) call void @exit(i32 1) unreachable ixok25: %t150 = getelementptr inbounds i32, ptr %t145, i32 %t143 %t151 = load i32, ptr %t150 call void @fn_sc_attrs(ptr %t141, i32 %t151) %t152 = load ptr, ptr %t0 call void @fn_buf_puts(ptr %t152, ptr @.str16232) %t153 = load ptr, ptr %t0 %t154 = load ptr, ptr %t13 %t155 = getelementptr inbounds %Cmp_Node, ptr %t154, i32 0, i32 9 %t156 = load ptr, ptr %t155 %t157 = load ptr, ptr %t13 %t158 = getelementptr inbounds %Cmp_Node, ptr %t157, i32 0, i32 13 %t159 = load i32, ptr %t158 %t160 = call ptr @fn_sc_doc(ptr %t156, i32 %t159) call void @fn_sc_str(ptr %t153, ptr %t160) %t161 = load i32, ptr %t1 %t162 = call ptr @fn_reg_order(i32 %t161) store ptr %t162, ptr %t163 %t164 = load ptr, ptr %t0 call void @fn_buf_puts(ptr %t164, ptr @.str16233) %t165 = load ptr, ptr %t0 %t166 = load ptr, ptr %t163 %t167 = getelementptr inbounds %LSlice, ptr %t166, i32 0, i32 1 %t168 = load i32, ptr %t167 call void @fn_buf_puti(ptr %t165, i32 %t168) %t169 = load ptr, ptr %t0 call void @fn_buf_puts(ptr %t169, ptr @.str16234) %t170 = load ptr, ptr %t0 %t171 = load ptr, ptr %t163 call void @fn_sc_contributors(ptr %t170, ptr %t171) %t172 = load ptr, ptr %t0 call void @fn_buf_puts(ptr %t172, ptr @.str16235) store i32 0, ptr %t173 br label %wcond27 wcond27: %t174 = load i32, ptr %t173 %t175 = load ptr, ptr %t163 %t176 = getelementptr inbounds %LSlice, ptr %t175, i32 0, i32 1 %t177 = load i32, ptr %t176 %t178 = icmp slt i32 %t174, %t177 %t179 = zext i1 %t178 to i32 %t180 = icmp ne i32 %t179, 0 br i1 %t180, label %wbody28, label %wend29 wbody28: %t181 = load ptr, ptr %t0 %t182 = load i32, ptr %t1 %t183 = load ptr, ptr %t163 %t184 = load i32, ptr %t173 %t185 = getelementptr inbounds %LSlice, ptr %t183, i32 0, i32 0 %t186 = load ptr, ptr %t185 %t187 = getelementptr inbounds %LSlice, ptr %t183, i32 0, i32 1 %t188 = load i32, ptr %t187 %t189 = icmp ult i32 %t184, %t188 br i1 %t189, label %ixok30, label %ixbad31 ixbad31: store i32 9020, ptr @lp_site %t190 = call ptr @lp_win_stdio(i32 2) store i32 0, ptr @lp_site call i32 (ptr, ptr, ...) @fprintf(ptr %t190, ptr @.fmt_bounds, ptr @.str16236, i32 %t184, i32 %t188) call void @exit(i32 1) unreachable ixok30: %t191 = getelementptr inbounds i32, ptr %t186, i32 %t184 %t192 = load i32, ptr %t191 %t193 = load i32, ptr %t173 call void @fn_sc_entry(ptr %t181, i32 %t182, i32 %t192, i32 %t193) %t194 = load i32, ptr %t173 %t195 = add i32 %t194, 1 store i32 %t195, ptr %t173 br label %wcond27 wend29: %t196 = load ptr, ptr %t163 %t197 = getelementptr inbounds %LSlice, ptr %t196, i32 0, i32 1 %t198 = load i32, ptr %t197 %t199 = icmp sgt i32 %t198, 0 %t200 = zext i1 %t199 to i32 %t201 = icmp ne i32 %t200, 0 br i1 %t201, label %then32, label %ifend34 then32: %t202 = load ptr, ptr %t0 call void @fn_buf_puts(ptr %t202, ptr @.str16237) br label %ifend34 ifend34: %t203 = load ptr, ptr %t0 call void @fn_buf_puts(ptr %t203, ptr @.str16238) br label %ret ret: ret void } define ptr @fn_sc_contrib_id(i32 %arg_d) { entry: %retval = alloca ptr %t0 = alloca i32 store i32 %arg_d, ptr %t0 %t1 = load ptr, ptr @g_g_df_src %t2 = load i32, ptr %t0 %t3 = getelementptr inbounds %LSlice, ptr %t1, i32 0, i32 0 %t4 = load ptr, ptr %t3 %t5 = getelementptr inbounds %LSlice, ptr %t1, i32 0, i32 1 %t6 = load i32, ptr %t5 %t7 = icmp ult i32 %t2, %t6 br i1 %t7, label %ixok0, label %ixbad1 ixbad1: store i32 9021, ptr @lp_site %t8 = call ptr @lp_win_stdio(i32 2) store i32 0, ptr @lp_site call i32 (ptr, ptr, ...) @fprintf(ptr %t8, ptr @.fmt_bounds, ptr @.str16239, i32 %t2, i32 %t6) call void @exit(i32 1) unreachable ixok0: %t9 = getelementptr inbounds ptr, ptr %t4, i32 %t2 %t10 = load ptr, ptr %t9 %t11 = call i64 @strlen(ptr %t10) %t12 = trunc i64 %t11 to i32 %t13 = icmp eq i32 %t12, 0 %t14 = zext i1 %t13 to i32 %t15 = icmp ne i32 %t14, 0 br i1 %t15, label %then2, label %ifend4 then2: %t16 = load ptr, ptr @g_g_df_rec %t17 = load i32, ptr %t0 %t18 = getelementptr inbounds %LSlice, ptr %t16, i32 0, i32 0 %t19 = load ptr, ptr %t18 %t20 = getelementptr inbounds %LSlice, ptr %t16, i32 0, i32 1 %t21 = load i32, ptr %t20 %t22 = icmp ult i32 %t17, %t21 br i1 %t22, label %ixok5, label %ixbad6 ixbad6: store i32 9022, ptr @lp_site %t23 = call ptr @lp_win_stdio(i32 2) store i32 0, ptr @lp_site call i32 (ptr, ptr, ...) @fprintf(ptr %t23, ptr @.fmt_bounds, ptr @.str16242, i32 %t17, i32 %t21) call void @exit(i32 1) unreachable ixok5: %t24 = getelementptr inbounds ptr, ptr %t19, i32 %t17 %t25 = load ptr, ptr %t24 %t26 = getelementptr inbounds %Cmp_Node, ptr %t25, i32 0, i32 9 %t27 = load ptr, ptr %t26 store i32 9023, ptr @lp_site %t28 = call ptr @lp_str_concat(ptr @.str16241, ptr %t27) store i32 0, ptr @lp_site store ptr %t28, ptr %retval br label %ret ifend4: %t29 = load ptr, ptr @g_g_df_src %t30 = load i32, ptr %t0 %t31 = getelementptr inbounds %LSlice, ptr %t29, i32 0, i32 0 %t32 = load ptr, ptr %t31 %t33 = getelementptr inbounds %LSlice, ptr %t29, i32 0, i32 1 %t34 = load i32, ptr %t33 %t35 = icmp ult i32 %t30, %t34 br i1 %t35, label %ixok7, label %ixbad8 ixbad8: store i32 9024, ptr @lp_site %t36 = call ptr @lp_win_stdio(i32 2) store i32 0, ptr @lp_site call i32 (ptr, ptr, ...) @fprintf(ptr %t36, ptr @.fmt_bounds, ptr @.str16243, i32 %t30, i32 %t34) call void @exit(i32 1) unreachable ixok7: %t37 = getelementptr inbounds ptr, ptr %t32, i32 %t30 %t38 = load ptr, ptr %t37 store i32 9025, ptr @lp_site %t39 = call ptr @lp_str_concat(ptr %t38, ptr @.str16244) store i32 0, ptr @lp_site %t40 = load ptr, ptr @g_g_df_via %t41 = load i32, ptr %t0 %t42 = getelementptr inbounds %LSlice, ptr %t40, i32 0, i32 0 %t43 = load ptr, ptr %t42 %t44 = getelementptr inbounds %LSlice, ptr %t40, i32 0, i32 1 %t45 = load i32, ptr %t44 %t46 = icmp ult i32 %t41, %t45 br i1 %t46, label %ixok9, label %ixbad10 ixbad10: store i32 9026, ptr @lp_site %t47 = call ptr @lp_win_stdio(i32 2) store i32 0, ptr @lp_site call i32 (ptr, ptr, ...) @fprintf(ptr %t47, ptr @.fmt_bounds, ptr @.str16245, i32 %t41, i32 %t45) call void @exit(i32 1) unreachable ixok9: %t48 = getelementptr inbounds ptr, ptr %t43, i32 %t41 %t49 = load ptr, ptr %t48 store i32 9027, ptr @lp_site %t50 = call ptr @lp_str_concat(ptr %t39, ptr %t49) store i32 0, ptr @lp_site call void @lp_free(ptr %t39) store ptr %t50, ptr %retval br label %ret ret: %t51 = load ptr, ptr %retval ret ptr %t51 } define void @fn_sc_contributors(ptr %arg_b, ptr %arg_order) { entry: %t0 = alloca ptr %t1 = alloca ptr %t8 = alloca ptr %t9 = alloca i32 %t27 = alloca i32 %t30 = alloca ptr %t31 = alloca i32 %t32 = alloca i32 %t97 = alloca ptr %t149 = alloca i32 %t151 = alloca i32 %t169 = alloca i32 store ptr %arg_b, ptr %t0 store ptr %arg_order, ptr %t1 %t2 = getelementptr %LSlice, ptr null, i32 1 %t3 = ptrtoint ptr %t2 to i64 store i32 9028, ptr @lp_site %t4 = call ptr @lp_malloc(i64 %t3) store i32 0, ptr @lp_site %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 %t8 store i32 0, ptr %t9 br label %wcond0 wcond0: %t10 = load i32, ptr %t9 %t11 = load ptr, ptr %t1 %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 %wbody1, label %wend2 wbody1: %t17 = load ptr, ptr %t1 %t18 = load i32, ptr %t9 %t19 = getelementptr inbounds %LSlice, ptr %t17, i32 0, i32 0 %t20 = load ptr, ptr %t19 %t21 = getelementptr inbounds %LSlice, ptr %t17, i32 0, i32 1 %t22 = load i32, ptr %t21 %t23 = icmp ult i32 %t18, %t22 br i1 %t23, label %ixok3, label %ixbad4 ixbad4: store i32 9029, ptr @lp_site %t24 = call ptr @lp_win_stdio(i32 2) store i32 0, ptr @lp_site call i32 (ptr, ptr, ...) @fprintf(ptr %t24, ptr @.fmt_bounds, ptr @.str16247, i32 %t18, i32 %t22) call void @exit(i32 1) unreachable ixok3: %t25 = getelementptr inbounds i32, ptr %t20, i32 %t18 %t26 = load i32, ptr %t25 store i32 %t26, ptr %t27 %t28 = load i32, ptr %t27 %t29 = call ptr @fn_sc_contrib_id(i32 %t28) store ptr %t29, ptr %t30 store i32 0, ptr %t31 store i32 0, ptr %t32 br label %wcond5 wcond5: %t33 = load i32, ptr %t32 %t34 = load ptr, ptr %t8 %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 %wbody6, label %wend7 wbody6: %t40 = load ptr, ptr %t8 %t41 = load i32, ptr %t32 %t42 = getelementptr inbounds %LSlice, ptr %t40, i32 0, i32 0 %t43 = load ptr, ptr %t42 %t44 = getelementptr inbounds %LSlice, ptr %t40, i32 0, i32 1 %t45 = load i32, ptr %t44 %t46 = icmp ult i32 %t41, %t45 br i1 %t46, label %ixok8, label %ixbad9 ixbad9: store i32 9030, ptr @lp_site %t47 = call ptr @lp_win_stdio(i32 2) store i32 0, ptr @lp_site call i32 (ptr, ptr, ...) @fprintf(ptr %t47, ptr @.fmt_bounds, ptr @.str16248, i32 %t41, i32 %t45) call void @exit(i32 1) unreachable ixok8: %t48 = getelementptr inbounds ptr, ptr %t43, i32 %t41 %t49 = load ptr, ptr %t48 %t50 = load ptr, ptr %t30 %t51 = call i32 @lp_str_eq(ptr %t49, ptr %t50) %t52 = icmp ne i32 %t51, 0 br i1 %t52, label %then10, label %ifend12 then10: store i32 1, ptr %t31 br label %ifend12 ifend12: %t53 = load i32, ptr %t32 %t54 = add i32 %t53, 1 store i32 %t54, ptr %t32 br label %wcond5 wend7: %t55 = load i32, ptr %t31 %t56 = icmp eq i32 %t55, 0 %t57 = zext i1 %t56 to i32 %t58 = icmp ne i32 %t57, 0 br i1 %t58, label %then13, label %ifend15 then13: %t59 = load ptr, ptr %t8 %t60 = load ptr, ptr %t30 %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 %grow16, label %put17 grow16: %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 store i32 9031, ptr @lp_site %t75 = call ptr @lp_realloc(ptr %t74, i64 %t73) store i32 0, ptr @lp_site store ptr %t75, ptr %t63 store i32 %t69, ptr %t62 br label %put17 put17: %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 %t79 = load ptr, ptr %t8 %t80 = getelementptr inbounds %LSlice, ptr %t79, i32 0, i32 1 %t81 = load i32, ptr %t80 %t82 = icmp sgt i32 %t81, 1 %t83 = zext i1 %t82 to i32 %t84 = icmp ne i32 %t83, 0 br i1 %t84, label %then18, label %ifend20 then18: %t85 = load ptr, ptr %t0 call void @fn_buf_puts(ptr %t85, ptr @.str16249) br label %ifend20 ifend20: %t86 = load ptr, ptr %t0 call void @fn_buf_puts(ptr %t86, ptr @.str16250) %t87 = load ptr, ptr @g_g_df_src %t88 = load i32, ptr %t27 %t89 = getelementptr inbounds %LSlice, ptr %t87, i32 0, i32 0 %t90 = load ptr, ptr %t89 %t91 = getelementptr inbounds %LSlice, ptr %t87, i32 0, i32 1 %t92 = load i32, ptr %t91 %t93 = icmp ult i32 %t88, %t92 br i1 %t93, label %ixok21, label %ixbad22 ixbad22: store i32 9032, ptr @lp_site %t94 = call ptr @lp_win_stdio(i32 2) store i32 0, ptr @lp_site call i32 (ptr, ptr, ...) @fprintf(ptr %t94, ptr @.fmt_bounds, ptr @.str16251, i32 %t88, i32 %t92) call void @exit(i32 1) unreachable ixok21: %t95 = getelementptr inbounds ptr, ptr %t90, i32 %t88 %t96 = load ptr, ptr %t95 store ptr %t96, ptr %t97 %t98 = load ptr, ptr %t97 %t99 = call i64 @strlen(ptr %t98) %t100 = trunc i64 %t99 to i32 %t101 = icmp eq i32 %t100, 0 %t102 = zext i1 %t101 to i32 %t103 = icmp ne i32 %t102, 0 br i1 %t103, label %then23, label %else24 then23: %t104 = load ptr, ptr %t0 call void @fn_jq_put(ptr %t104, ptr @.str16252) %t105 = load ptr, ptr @g_g_df_rec %t106 = load i32, ptr %t27 %t107 = getelementptr inbounds %LSlice, ptr %t105, i32 0, i32 0 %t108 = load ptr, ptr %t107 %t109 = getelementptr inbounds %LSlice, ptr %t105, i32 0, i32 1 %t110 = load i32, ptr %t109 %t111 = icmp ult i32 %t106, %t110 br i1 %t111, label %ixok26, label %ixbad27 ixbad27: store i32 9033, ptr @lp_site %t112 = call ptr @lp_win_stdio(i32 2) store i32 0, ptr @lp_site call i32 (ptr, ptr, ...) @fprintf(ptr %t112, ptr @.fmt_bounds, ptr @.str16253, i32 %t106, i32 %t110) call void @exit(i32 1) unreachable ixok26: %t113 = getelementptr inbounds ptr, ptr %t108, i32 %t106 %t114 = load ptr, ptr %t113 %t115 = getelementptr inbounds %Cmp_Node, ptr %t114, i32 0, i32 9 %t116 = load ptr, ptr %t115 store ptr %t116, ptr %t97 br label %ifend25 else24: %t117 = load ptr, ptr %t0 call void @fn_jq_put(ptr %t117, ptr @.str16254) br label %ifend25 ifend25: %t118 = load ptr, ptr %t0 call void @fn_buf_puts(ptr %t118, ptr @.str16255) %t119 = load ptr, ptr %t0 %t120 = load ptr, ptr %t97 call void @fn_sc_str(ptr %t119, ptr %t120) %t121 = load ptr, ptr %t0 call void @fn_buf_puts(ptr %t121, ptr @.str16256) %t122 = load ptr, ptr %t0 %t123 = load ptr, ptr @g_g_df_via %t124 = load i32, ptr %t27 %t125 = getelementptr inbounds %LSlice, ptr %t123, i32 0, i32 0 %t126 = load ptr, ptr %t125 %t127 = getelementptr inbounds %LSlice, ptr %t123, i32 0, i32 1 %t128 = load i32, ptr %t127 %t129 = icmp ult i32 %t124, %t128 br i1 %t129, label %ixok28, label %ixbad29 ixbad29: store i32 9034, ptr @lp_site %t130 = call ptr @lp_win_stdio(i32 2) store i32 0, ptr @lp_site call i32 (ptr, ptr, ...) @fprintf(ptr %t130, ptr @.fmt_bounds, ptr @.str16257, i32 %t124, i32 %t128) call void @exit(i32 1) unreachable ixok28: %t131 = getelementptr inbounds ptr, ptr %t126, i32 %t124 %t132 = load ptr, ptr %t131 call void @fn_jq_put(ptr %t122, ptr %t132) %t133 = load ptr, ptr %t0 call void @fn_buf_puts(ptr %t133, ptr @.str16258) %t134 = load ptr, ptr %t0 %t135 = load ptr, ptr @g_g_df_rec %t136 = load i32, ptr %t27 %t137 = getelementptr inbounds %LSlice, ptr %t135, i32 0, i32 0 %t138 = load ptr, ptr %t137 %t139 = getelementptr inbounds %LSlice, ptr %t135, i32 0, i32 1 %t140 = load i32, ptr %t139 %t141 = icmp ult i32 %t136, %t140 br i1 %t141, label %ixok30, label %ixbad31 ixbad31: store i32 9035, ptr @lp_site %t142 = call ptr @lp_win_stdio(i32 2) store i32 0, ptr @lp_site call i32 (ptr, ptr, ...) @fprintf(ptr %t142, ptr @.fmt_bounds, ptr @.str16259, i32 %t136, i32 %t140) call void @exit(i32 1) unreachable ixok30: %t143 = getelementptr inbounds ptr, ptr %t138, i32 %t136 %t144 = load ptr, ptr %t143 %t145 = getelementptr inbounds %Cmp_Node, ptr %t144, i32 0, i32 9 %t146 = load ptr, ptr %t145 %t147 = call ptr @fn_sc_mod(ptr %t146) call void @fn_sc_str(ptr %t134, ptr %t147) %t148 = load ptr, ptr %t0 call void @fn_buf_puts(ptr %t148, ptr @.str16260) store i32 0, ptr %t149 %t150 = load i32, ptr %t9 store i32 %t150, ptr %t151 br label %wcond32 wcond32: %t152 = load i32, ptr %t151 %t153 = load ptr, ptr %t1 %t154 = getelementptr inbounds %LSlice, ptr %t153, i32 0, i32 1 %t155 = load i32, ptr %t154 %t156 = icmp slt i32 %t152, %t155 %t157 = zext i1 %t156 to i32 %t158 = icmp ne i32 %t157, 0 br i1 %t158, label %wbody33, label %wend34 wbody33: %t159 = load ptr, ptr %t1 %t160 = load i32, ptr %t151 %t161 = getelementptr inbounds %LSlice, ptr %t159, i32 0, i32 0 %t162 = load ptr, ptr %t161 %t163 = getelementptr inbounds %LSlice, ptr %t159, i32 0, i32 1 %t164 = load i32, ptr %t163 %t165 = icmp ult i32 %t160, %t164 br i1 %t165, label %ixok35, label %ixbad36 ixbad36: store i32 9036, ptr @lp_site %t166 = call ptr @lp_win_stdio(i32 2) store i32 0, ptr @lp_site call i32 (ptr, ptr, ...) @fprintf(ptr %t166, ptr @.fmt_bounds, ptr @.str16261, i32 %t160, i32 %t164) call void @exit(i32 1) unreachable ixok35: %t167 = getelementptr inbounds i32, ptr %t162, i32 %t160 %t168 = load i32, ptr %t167 store i32 %t168, ptr %t169 %t170 = load i32, ptr %t169 %t171 = call ptr @fn_sc_contrib_id(i32 %t170) %t172 = load ptr, ptr %t30 %t173 = call i32 @lp_str_eq(ptr %t171, ptr %t172) %t174 = icmp ne i32 %t173, 0 br i1 %t174, label %then37, label %ifend39 then37: %t175 = load i32, ptr %t149 %t176 = icmp sgt i32 %t175, 0 %t177 = zext i1 %t176 to i32 %t178 = icmp ne i32 %t177, 0 br i1 %t178, label %then40, label %ifend42 then40: %t179 = load ptr, ptr %t0 call void @fn_buf_puts(ptr %t179, ptr @.str16262) br label %ifend42 ifend42: %t180 = load ptr, ptr %t0 %t181 = load ptr, ptr @g_g_df_key %t182 = load i32, ptr %t169 %t183 = getelementptr inbounds %LSlice, ptr %t181, i32 0, i32 0 %t184 = load ptr, ptr %t183 %t185 = getelementptr inbounds %LSlice, ptr %t181, i32 0, i32 1 %t186 = load i32, ptr %t185 %t187 = icmp ult i32 %t182, %t186 br i1 %t187, label %ixok43, label %ixbad44 ixbad44: store i32 9037, ptr @lp_site %t188 = call ptr @lp_win_stdio(i32 2) store i32 0, ptr @lp_site call i32 (ptr, ptr, ...) @fprintf(ptr %t188, ptr @.fmt_bounds, ptr @.str16263, i32 %t182, i32 %t186) call void @exit(i32 1) unreachable ixok43: %t189 = getelementptr inbounds ptr, ptr %t184, i32 %t182 %t190 = load ptr, ptr %t189 call void @fn_jq_put(ptr %t180, ptr %t190) %t191 = load i32, ptr %t149 %t192 = add i32 %t191, 1 store i32 %t192, ptr %t149 br label %ifend39 ifend39: %t193 = load i32, ptr %t151 %t194 = add i32 %t193, 1 store i32 %t194, ptr %t151 br label %wcond32 wend34: %t195 = load ptr, ptr %t0 call void @fn_buf_puts(ptr %t195, ptr @.str16264) br label %ifend15 ifend15: %t196 = load i32, ptr %t9 %t197 = add i32 %t196, 1 store i32 %t197, ptr %t9 br label %wcond0 wend2: %t198 = load ptr, ptr %t8 %t199 = getelementptr inbounds %LSlice, ptr %t198, i32 0, i32 1 %t200 = load i32, ptr %t199 %t201 = icmp sgt i32 %t200, 0 %t202 = zext i1 %t201 to i32 %t203 = icmp ne i32 %t202, 0 br i1 %t203, label %then45, label %ifend47 then45: %t204 = load ptr, ptr %t0 call void @fn_buf_puts(ptr %t204, ptr @.str16265) br label %ifend47 ifend47: br label %ret ret: ret void } define void @fn_sc_entry(ptr %arg_b, i32 %arg_r, i32 %arg_d, i32 %arg_index) { entry: %t0 = alloca ptr %t1 = alloca i32 %t2 = alloca i32 %t3 = alloca i32 %t14 = alloca ptr %t85 = alloca i32 %t86 = alloca i32 %t108 = alloca ptr %t109 = alloca i32 store ptr %arg_b, ptr %t0 store i32 %arg_r, ptr %t1 store i32 %arg_d, ptr %t2 store i32 %arg_index, ptr %t3 %t4 = load ptr, ptr @g_g_df_rec %t5 = load i32, ptr %t2 %t6 = getelementptr inbounds %LSlice, ptr %t4, i32 0, i32 0 %t7 = load ptr, ptr %t6 %t8 = getelementptr inbounds %LSlice, ptr %t4, i32 0, i32 1 %t9 = load i32, ptr %t8 %t10 = icmp ult i32 %t5, %t9 br i1 %t10, label %ixok0, label %ixbad1 ixbad1: store i32 9038, ptr @lp_site %t11 = call ptr @lp_win_stdio(i32 2) store i32 0, ptr @lp_site call i32 (ptr, ptr, ...) @fprintf(ptr %t11, ptr @.fmt_bounds, ptr @.str16266, i32 %t5, i32 %t9) call void @exit(i32 1) unreachable ixok0: %t12 = getelementptr inbounds ptr, ptr %t7, i32 %t5 %t13 = load ptr, ptr %t12 store ptr %t13, ptr %t14 %t15 = load ptr, ptr %t0 %t16 = load i32, ptr %t3 %t17 = icmp eq i32 %t16, 0 %t18 = zext i1 %t17 to i32 call void @fn_sc_sep(ptr %t15, i32 %t18, ptr @.str16268) %t19 = load ptr, ptr %t0 call void @fn_buf_puts(ptr %t19, ptr @.str16269) %t20 = load ptr, ptr %t0 %t21 = load ptr, ptr @g_g_df_key %t22 = load i32, ptr %t2 %t23 = getelementptr inbounds %LSlice, ptr %t21, i32 0, i32 0 %t24 = load ptr, ptr %t23 %t25 = getelementptr inbounds %LSlice, ptr %t21, i32 0, i32 1 %t26 = load i32, ptr %t25 %t27 = icmp ult i32 %t22, %t26 br i1 %t27, label %ixok2, label %ixbad3 ixbad3: store i32 9039, ptr @lp_site %t28 = call ptr @lp_win_stdio(i32 2) store i32 0, ptr @lp_site call i32 (ptr, ptr, ...) @fprintf(ptr %t28, ptr @.fmt_bounds, ptr @.str16270, i32 %t22, i32 %t26) call void @exit(i32 1) unreachable ixok2: %t29 = getelementptr inbounds ptr, ptr %t24, i32 %t22 %t30 = load ptr, ptr %t29 call void @fn_jq_put(ptr %t20, ptr %t30) %t31 = load ptr, ptr %t0 call void @fn_buf_puts(ptr %t31, ptr @.str16271) %t32 = load ptr, ptr %t0 %t33 = load ptr, ptr @g_g_rg_prefix %t34 = load i32, ptr %t1 %t35 = getelementptr inbounds %LSlice, ptr %t33, i32 0, i32 0 %t36 = load ptr, ptr %t35 %t37 = getelementptr inbounds %LSlice, ptr %t33, i32 0, i32 1 %t38 = load i32, ptr %t37 %t39 = icmp ult i32 %t34, %t38 br i1 %t39, label %ixok4, label %ixbad5 ixbad5: store i32 9040, ptr @lp_site %t40 = call ptr @lp_win_stdio(i32 2) store i32 0, ptr @lp_site call i32 (ptr, ptr, ...) @fprintf(ptr %t40, ptr @.fmt_bounds, ptr @.str16272, i32 %t34, i32 %t38) call void @exit(i32 1) unreachable ixok4: %t41 = getelementptr inbounds ptr, ptr %t36, i32 %t34 %t42 = load ptr, ptr %t41 store i32 9041, ptr @lp_site %t43 = call ptr @lp_str_concat(ptr %t42, ptr @.str16273) store i32 0, ptr @lp_site %t44 = load ptr, ptr @g_g_df_key %t45 = load i32, ptr %t2 %t46 = getelementptr inbounds %LSlice, ptr %t44, i32 0, i32 0 %t47 = load ptr, ptr %t46 %t48 = getelementptr inbounds %LSlice, ptr %t44, i32 0, i32 1 %t49 = load i32, ptr %t48 %t50 = icmp ult i32 %t45, %t49 br i1 %t50, label %ixok6, label %ixbad7 ixbad7: store i32 9042, ptr @lp_site %t51 = call ptr @lp_win_stdio(i32 2) store i32 0, ptr @lp_site call i32 (ptr, ptr, ...) @fprintf(ptr %t51, ptr @.fmt_bounds, ptr @.str16274, i32 %t45, i32 %t49) call void @exit(i32 1) unreachable ixok6: %t52 = getelementptr inbounds ptr, ptr %t47, i32 %t45 %t53 = load ptr, ptr %t52 %t54 = call ptr @fn_reg_upper(ptr %t53) store i32 9043, ptr @lp_site %t55 = call ptr @lp_str_concat(ptr %t43, ptr %t54) store i32 0, ptr @lp_site call void @lp_free(ptr %t43) call void @fn_jq_put(ptr %t32, ptr %t55) %t56 = load ptr, ptr %t0 call void @fn_buf_puts(ptr %t56, ptr @.str16275) %t57 = load ptr, ptr %t0 %t58 = load i32, ptr %t3 call void @fn_buf_puti(ptr %t57, i32 %t58) %t59 = load ptr, ptr %t0 call void @fn_buf_puts(ptr %t59, ptr @.str16276) %t60 = load ptr, ptr %t0 %t61 = load ptr, ptr %t14 %t62 = getelementptr inbounds %Cmp_Node, ptr %t61, i32 0, i32 9 %t63 = load ptr, ptr %t62 %t64 = load ptr, ptr @g_g_df_kline %t65 = load i32, ptr %t2 %t66 = getelementptr inbounds %LSlice, ptr %t64, i32 0, i32 0 %t67 = load ptr, ptr %t66 %t68 = getelementptr inbounds %LSlice, ptr %t64, i32 0, i32 1 %t69 = load i32, ptr %t68 %t70 = icmp ult i32 %t65, %t69 br i1 %t70, label %ixok8, label %ixbad9 ixbad9: store i32 9044, ptr @lp_site %t71 = call ptr @lp_win_stdio(i32 2) store i32 0, ptr @lp_site call i32 (ptr, ptr, ...) @fprintf(ptr %t71, ptr @.fmt_bounds, ptr @.str16277, i32 %t65, i32 %t69) call void @exit(i32 1) unreachable ixok8: %t72 = getelementptr inbounds i32, ptr %t67, i32 %t65 %t73 = load i32, ptr %t72 %t74 = load ptr, ptr @g_g_df_kcol %t75 = load i32, ptr %t2 %t76 = getelementptr inbounds %LSlice, ptr %t74, i32 0, i32 0 %t77 = load ptr, ptr %t76 %t78 = getelementptr inbounds %LSlice, ptr %t74, i32 0, i32 1 %t79 = load i32, ptr %t78 %t80 = icmp ult i32 %t75, %t79 br i1 %t80, label %ixok10, label %ixbad11 ixbad11: store i32 9045, ptr @lp_site %t81 = call ptr @lp_win_stdio(i32 2) store i32 0, ptr @lp_site call i32 (ptr, ptr, ...) @fprintf(ptr %t81, ptr @.fmt_bounds, ptr @.str16278, i32 %t75, i32 %t79) call void @exit(i32 1) unreachable ixok10: %t82 = getelementptr inbounds i32, ptr %t77, i32 %t75 %t83 = load i32, ptr %t82 call void @fn_sc_at(ptr %t60, ptr %t63, i32 %t73, i32 %t83) %t84 = load ptr, ptr %t0 call void @fn_buf_puts(ptr %t84, ptr @.str16279) store i32 0, ptr %t85 store i32 0, ptr %t86 br label %wcond12 wcond12: %t87 = load i32, ptr %t86 %t88 = load ptr, ptr %t14 %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 %wbody13, label %wend14 wbody13: %t96 = load ptr, ptr %t14 %t97 = getelementptr inbounds %Cmp_Node, ptr %t96, i32 0, i32 7 %t98 = load ptr, ptr %t97 %t99 = load i32, ptr %t86 %t100 = getelementptr inbounds %LSlice, ptr %t98, i32 0, i32 0 %t101 = load ptr, ptr %t100 %t102 = getelementptr inbounds %LSlice, ptr %t98, i32 0, i32 1 %t103 = load i32, ptr %t102 %t104 = icmp ult i32 %t99, %t103 br i1 %t104, label %ixok15, label %ixbad16 ixbad16: store i32 9046, ptr @lp_site %t105 = call ptr @lp_win_stdio(i32 2) store i32 0, ptr @lp_site call i32 (ptr, ptr, ...) @fprintf(ptr %t105, ptr @.fmt_bounds, ptr @.str16280, i32 %t99, i32 %t103) call void @exit(i32 1) unreachable ixok15: %t106 = getelementptr inbounds ptr, ptr %t101, i32 %t99 %t107 = load ptr, ptr %t106 store ptr %t107, ptr %t108 %t110 = load ptr, ptr %t108 %t111 = getelementptr inbounds %Cmp_Node, ptr %t110, i32 0, i32 0 %t112 = load i32, ptr %t111 %t113 = icmp eq i32 %t112, 42 %t114 = zext i1 %t113 to i32 %t115 = icmp ne i32 %t114, 0 %t116 = zext i1 %t115 to i32 store i32 %t116, ptr %t109 br i1 %t115, label %sc17, label %scend18 sc17: %t117 = load ptr, ptr %t108 %t118 = getelementptr inbounds %Cmp_Node, ptr %t117, i32 0, i32 20 %t119 = load i32, ptr %t118 %t120 = icmp sge i32 %t119, 0 %t121 = zext i1 %t120 to i32 %t122 = icmp ne i32 %t121, 0 %t123 = zext i1 %t122 to i32 store i32 %t123, ptr %t109 br label %scend18 scend18: %t124 = load i32, ptr %t109 %t125 = icmp ne i32 %t124, 0 br i1 %t125, label %then19, label %ifend21 then19: %t126 = load i32, ptr %t85 %t127 = icmp sgt i32 %t126, 0 %t128 = zext i1 %t127 to i32 %t129 = icmp ne i32 %t128, 0 br i1 %t129, label %then22, label %ifend24 then22: %t130 = load ptr, ptr %t0 call void @fn_buf_puts(ptr %t130, ptr @.str16281) br label %ifend24 ifend24: %t131 = load ptr, ptr %t0 call void @fn_buf_puts(ptr %t131, ptr @.str16282) %t132 = load ptr, ptr %t0 %t133 = load ptr, ptr %t108 %t134 = getelementptr inbounds %Cmp_Node, ptr %t133, i32 0, i32 1 %t135 = load ptr, ptr %t134 call void @fn_jq_put(ptr %t132, ptr %t135) %t136 = load ptr, ptr %t0 call void @fn_buf_puts(ptr %t136, ptr @.str16283) %t137 = load ptr, ptr %t0 %t138 = load ptr, ptr %t108 %t139 = getelementptr inbounds %Cmp_Node, ptr %t138, i32 0, i32 9 %t140 = load ptr, ptr %t139 %t141 = load ptr, ptr %t108 %t142 = getelementptr inbounds %Cmp_Node, ptr %t141, i32 0, i32 20 %t143 = load i32, ptr %t142 %t144 = load ptr, ptr %t108 %t145 = getelementptr inbounds %Cmp_Node, ptr %t144, i32 0, i32 21 %t146 = load i32, ptr %t145 %t147 = call ptr @fn_sc_text(ptr %t140, i32 %t143, i32 %t146) call void @fn_sc_str(ptr %t137, ptr %t147) %t148 = load ptr, ptr %t0 call void @fn_buf_puts(ptr %t148, ptr @.str16284) %t149 = load ptr, ptr %t0 %t150 = load ptr, ptr %t108 %t151 = getelementptr inbounds %Cmp_Node, ptr %t150, i32 0, i32 9 %t152 = load ptr, ptr %t151 %t153 = load ptr, ptr %t108 %t154 = getelementptr inbounds %Cmp_Node, ptr %t153, i32 0, i32 8 %t155 = load i32, ptr %t154 %t156 = load ptr, ptr %t108 %t157 = getelementptr inbounds %Cmp_Node, ptr %t156, i32 0, i32 18 %t158 = load i32, ptr %t157 call void @fn_sc_at(ptr %t149, ptr %t152, i32 %t155, i32 %t158) %t159 = load ptr, ptr %t0 call void @fn_buf_puts(ptr %t159, ptr @.str16285) %t160 = load i32, ptr %t85 %t161 = add i32 %t160, 1 store i32 %t161, ptr %t85 br label %ifend21 ifend21: %t162 = load i32, ptr %t86 %t163 = add i32 %t162, 1 store i32 %t163, ptr %t86 br label %wcond12 wend14: %t164 = load i32, ptr %t85 %t165 = icmp sgt i32 %t164, 0 %t166 = zext i1 %t165 to i32 %t167 = icmp ne i32 %t166, 0 br i1 %t167, label %then25, label %ifend27 then25: %t168 = load ptr, ptr %t0 call void @fn_buf_puts(ptr %t168, ptr @.str16286) br label %ifend27 ifend27: %t169 = load ptr, ptr %t0 call void @fn_buf_puts(ptr %t169, ptr @.str16287) br label %ret ret: ret void } define void @fn_sc_consts(ptr %arg_b) { entry: %t0 = alloca ptr %t7 = alloca ptr %t14 = alloca ptr %t15 = alloca i32 %t33 = alloca ptr %t34 = alloca i32 %t35 = alloca i32 %t158 = alloca ptr store ptr %arg_b, ptr %t0 %t1 = getelementptr %LSlice, ptr null, i32 1 %t2 = ptrtoint ptr %t1 to i64 store i32 9047, ptr @lp_site %t3 = call ptr @lp_malloc(i64 %t2) store i32 0, ptr @lp_site %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 %t8 = getelementptr %LSlice, ptr null, i32 1 %t9 = ptrtoint ptr %t8 to i64 store i32 9048, ptr @lp_site %t10 = call ptr @lp_malloc(i64 %t9) store i32 0, ptr @lp_site %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 @g_prog %t18 = getelementptr inbounds %LSlice, ptr %t17, i32 0, i32 1 %t19 = load i32, ptr %t18 %t20 = icmp slt i32 %t16, %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 @g_prog %t24 = load i32, ptr %t15 %t25 = getelementptr inbounds %LSlice, ptr %t23, i32 0, i32 0 %t26 = load ptr, ptr %t25 %t27 = getelementptr inbounds %LSlice, ptr %t23, i32 0, i32 1 %t28 = load i32, ptr %t27 %t29 = icmp ult i32 %t24, %t28 br i1 %t29, label %ixok3, label %ixbad4 ixbad4: store i32 9049, ptr @lp_site %t30 = call ptr @lp_win_stdio(i32 2) store i32 0, ptr @lp_site call i32 (ptr, ptr, ...) @fprintf(ptr %t30, ptr @.fmt_bounds, ptr @.str16289, i32 %t24, i32 %t28) call void @exit(i32 1) unreachable ixok3: %t31 = getelementptr inbounds ptr, ptr %t26, i32 %t24 %t32 = load ptr, ptr %t31 store ptr %t32, ptr %t33 %t36 = load ptr, ptr %t33 %t37 = getelementptr inbounds %Cmp_Node, ptr %t36, i32 0, i32 0 %t38 = load i32, ptr %t37 %t39 = icmp eq i32 %t38, 3 %t40 = zext i1 %t39 to i32 %t41 = icmp ne i32 %t40, 0 %t42 = zext i1 %t41 to i32 store i32 %t42, ptr %t35 br i1 %t41, label %sc5, label %scend6 sc5: %t43 = load ptr, ptr %t33 %t44 = getelementptr inbounds %Cmp_Node, ptr %t43, i32 0, i32 1 %t45 = load ptr, ptr %t44 %t46 = icmp ne ptr %t45, null %t47 = zext i1 %t46 to i32 %t48 = icmp ne i32 %t47, 0 %t49 = zext i1 %t48 to i32 store i32 %t49, ptr %t35 br label %scend6 scend6: %t50 = load i32, ptr %t35 %t51 = icmp ne i32 %t50, 0 %t52 = zext i1 %t51 to i32 store i32 %t52, ptr %t34 br i1 %t51, label %sc7, label %scend8 sc7: %t53 = load ptr, ptr %t33 %t54 = call i32 @fn_sc_written(ptr %t53) %t55 = icmp ne i32 %t54, 0 %t56 = zext i1 %t55 to i32 store i32 %t56, ptr %t34 br label %scend8 scend8: %t57 = load i32, ptr %t34 %t58 = icmp ne i32 %t57, 0 br i1 %t58, label %then9, label %else10 then9: %t59 = load ptr, ptr %t7 %t60 = load i32, ptr %t15 %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 %grow12, label %put13 grow12: %t67 = mul i32 %t65, 2 %t68 = icmp eq i32 %t65, 0 %t69 = select i1 %t68, i32 8, i32 %t67 %t70 = getelementptr i32, 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 store i32 9050, ptr @lp_site %t75 = call ptr @lp_realloc(ptr %t74, i64 %t73) store i32 0, ptr @lp_site store ptr %t75, ptr %t63 store i32 %t69, ptr %t62 br label %put13 put13: %t76 = load ptr, ptr %t63 %t77 = getelementptr inbounds i32, ptr %t76, i32 %t64 store i32 %t60, ptr %t77 %t78 = add i32 %t64, 1 store i32 %t78, ptr %t61 %t79 = load ptr, ptr %t14 %t80 = load ptr, ptr %t33 %t81 = getelementptr inbounds %Cmp_Node, ptr %t80, i32 0, i32 1 %t82 = load ptr, ptr %t81 %t83 = call ptr @fn_sc_name(ptr %t82) %t84 = load ptr, ptr %t33 %t85 = getelementptr inbounds %Cmp_Node, ptr %t84, i32 0, i32 9 %t86 = load ptr, ptr %t85 %t87 = load ptr, ptr %t33 %t88 = getelementptr inbounds %Cmp_Node, ptr %t87, i32 0, i32 8 %t89 = load i32, ptr %t88 %t90 = call ptr @fn_sc_key(ptr %t83, ptr %t86, i32 %t89) %t91 = getelementptr inbounds %LSlice, ptr %t79, i32 0, i32 1 %t92 = getelementptr inbounds %LSlice, ptr %t79, i32 0, i32 2 %t93 = getelementptr inbounds %LSlice, ptr %t79, i32 0, i32 0 %t94 = load i32, ptr %t91 %t95 = load i32, ptr %t92 %t96 = icmp sge i32 %t94, %t95 br i1 %t96, label %grow14, label %put15 grow14: %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 store i32 9051, ptr @lp_site %t105 = call ptr @lp_realloc(ptr %t104, i64 %t103) store i32 0, ptr @lp_site store ptr %t105, ptr %t93 store i32 %t99, ptr %t92 br label %put15 put15: %t106 = load ptr, ptr %t93 %t107 = getelementptr inbounds ptr, ptr %t106, i32 %t94 store ptr %t90, ptr %t107 %t108 = add i32 %t94, 1 store i32 %t108, ptr %t91 br label %ifend11 else10: %t109 = load ptr, ptr %t14 %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 %grow16, label %put17 grow16: %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 store i32 9052, ptr @lp_site %t124 = call ptr @lp_realloc(ptr %t123, i64 %t122) store i32 0, ptr @lp_site store ptr %t124, ptr %t112 store i32 %t118, ptr %t111 br label %put17 put17: %t125 = load ptr, ptr %t112 %t126 = getelementptr inbounds ptr, ptr %t125, i32 %t113 store ptr @.str16290, ptr %t126 %t127 = add i32 %t113, 1 store i32 %t127, ptr %t110 br label %ifend11 ifend11: %t128 = load i32, ptr %t15 %t129 = add i32 %t128, 1 store i32 %t129, ptr %t15 br label %wcond0 wend2: %t130 = load ptr, ptr %t7 %t131 = load ptr, ptr %t14 call void @fn_sc_sort(ptr %t130, ptr %t131) store i32 0, ptr %t15 br label %wcond18 wcond18: %t132 = load i32, ptr %t15 %t133 = load ptr, ptr %t7 %t134 = getelementptr inbounds %LSlice, ptr %t133, i32 0, i32 1 %t135 = load i32, ptr %t134 %t136 = icmp slt i32 %t132, %t135 %t137 = zext i1 %t136 to i32 %t138 = icmp ne i32 %t137, 0 br i1 %t138, label %wbody19, label %wend20 wbody19: %t139 = load ptr, ptr @g_prog %t140 = load ptr, ptr %t7 %t141 = load i32, ptr %t15 %t142 = getelementptr inbounds %LSlice, ptr %t140, i32 0, i32 0 %t143 = load ptr, ptr %t142 %t144 = getelementptr inbounds %LSlice, ptr %t140, i32 0, i32 1 %t145 = load i32, ptr %t144 %t146 = icmp ult i32 %t141, %t145 br i1 %t146, label %ixok21, label %ixbad22 ixbad22: store i32 9053, ptr @lp_site %t147 = call ptr @lp_win_stdio(i32 2) store i32 0, ptr @lp_site call i32 (ptr, ptr, ...) @fprintf(ptr %t147, ptr @.fmt_bounds, ptr @.str16291, i32 %t141, i32 %t145) call void @exit(i32 1) unreachable ixok21: %t148 = getelementptr inbounds i32, ptr %t143, i32 %t141 %t149 = load i32, ptr %t148 %t150 = getelementptr inbounds %LSlice, ptr %t139, i32 0, i32 0 %t151 = load ptr, ptr %t150 %t152 = getelementptr inbounds %LSlice, ptr %t139, i32 0, i32 1 %t153 = load i32, ptr %t152 %t154 = icmp ult i32 %t149, %t153 br i1 %t154, label %ixok23, label %ixbad24 ixbad24: store i32 9054, ptr @lp_site %t155 = call ptr @lp_win_stdio(i32 2) store i32 0, ptr @lp_site call i32 (ptr, ptr, ...) @fprintf(ptr %t155, ptr @.fmt_bounds, ptr @.str16292, i32 %t149, i32 %t153) call void @exit(i32 1) unreachable ixok23: %t156 = getelementptr inbounds ptr, ptr %t151, i32 %t149 %t157 = load ptr, ptr %t156 store ptr %t157, ptr %t158 %t159 = load ptr, ptr %t0 %t160 = load i32, ptr %t15 %t161 = icmp eq i32 %t160, 0 %t162 = zext i1 %t161 to i32 call void @fn_sc_sep(ptr %t159, i32 %t162, ptr @.str16293) %t163 = load ptr, ptr %t0 call void @fn_buf_puts(ptr %t163, ptr @.str16294) %t164 = load ptr, ptr %t0 %t165 = load ptr, ptr %t158 %t166 = getelementptr inbounds %Cmp_Node, ptr %t165, i32 0, i32 1 %t167 = load ptr, ptr %t166 %t168 = call ptr @fn_sc_name(ptr %t167) call void @fn_jq_put(ptr %t164, ptr %t168) %t169 = load ptr, ptr %t0 call void @fn_buf_puts(ptr %t169, ptr @.str16295) %t170 = load ptr, ptr %t0 %t171 = load ptr, ptr %t158 %t172 = getelementptr inbounds %Cmp_Node, ptr %t171, i32 0, i32 3 %t173 = load ptr, ptr %t172 %t174 = call ptr @fn_sc_ty(ptr %t173) call void @fn_jq_put(ptr %t170, ptr %t174) %t175 = load ptr, ptr %t0 call void @fn_buf_puts(ptr %t175, ptr @.str16296) %t176 = load ptr, ptr %t0 %t177 = load ptr, ptr %t158 %t178 = getelementptr inbounds %Cmp_Node, ptr %t177, i32 0, i32 9 %t179 = load ptr, ptr %t178 %t180 = load ptr, ptr %t158 %t181 = getelementptr inbounds %Cmp_Node, ptr %t180, i32 0, i32 20 %t182 = load i32, ptr %t181 %t183 = load ptr, ptr %t158 %t184 = getelementptr inbounds %Cmp_Node, ptr %t183, i32 0, i32 21 %t185 = load i32, ptr %t184 %t186 = call ptr @fn_sc_text(ptr %t179, i32 %t182, i32 %t185) call void @fn_sc_str(ptr %t176, ptr %t186) %t187 = load ptr, ptr %t0 call void @fn_buf_puts(ptr %t187, ptr @.str16297) %t188 = load ptr, ptr %t0 %t189 = load ptr, ptr %t158 %t190 = getelementptr inbounds %Cmp_Node, ptr %t189, i32 0, i32 9 %t191 = load ptr, ptr %t190 %t192 = call ptr @fn_sc_mod(ptr %t191) call void @fn_sc_str(ptr %t188, ptr %t192) %t193 = load ptr, ptr %t0 call void @fn_buf_puts(ptr %t193, ptr @.str16298) %t194 = load ptr, ptr %t0 %t195 = load ptr, ptr %t158 %t196 = getelementptr inbounds %Cmp_Node, ptr %t195, i32 0, i32 10 %t197 = load i32, ptr %t196 %t198 = icmp eq i32 %t197, 1 %t199 = zext i1 %t198 to i32 call void @fn_sc_bool(ptr %t194, i32 %t199) %t200 = load ptr, ptr %t0 call void @fn_buf_puts(ptr %t200, ptr @.str16299) %t201 = load ptr, ptr %t0 %t202 = load ptr, ptr %t158 %t203 = getelementptr inbounds %Cmp_Node, ptr %t202, i32 0, i32 9 %t204 = load ptr, ptr %t203 %t205 = load ptr, ptr %t158 %t206 = getelementptr inbounds %Cmp_Node, ptr %t205, i32 0, i32 8 %t207 = load i32, ptr %t206 %t208 = load ptr, ptr %t158 %t209 = getelementptr inbounds %Cmp_Node, ptr %t208, i32 0, i32 18 %t210 = load i32, ptr %t209 call void @fn_sc_at(ptr %t201, ptr %t204, i32 %t207, i32 %t210) %t211 = load ptr, ptr %t0 call void @fn_buf_puts(ptr %t211, ptr @.str16300) %t212 = load ptr, ptr %t0 %t213 = load ptr, ptr %t158 %t214 = getelementptr inbounds %Cmp_Node, ptr %t213, i32 0, i32 9 %t215 = load ptr, ptr %t214 %t216 = load ptr, ptr %t158 %t217 = getelementptr inbounds %Cmp_Node, ptr %t216, i32 0, i32 13 %t218 = load i32, ptr %t217 %t219 = call ptr @fn_sc_doc(ptr %t215, i32 %t218) call void @fn_sc_str(ptr %t212, ptr %t219) %t220 = load ptr, ptr %t0 call void @fn_buf_puts(ptr %t220, ptr @.str16301) %t221 = load i32, ptr %t15 %t222 = add i32 %t221, 1 store i32 %t222, ptr %t15 br label %wcond18 wend20: br label %ret ret: ret void } define i32 @fn_sc_is_state_param(ptr %arg_p) { entry: %retval = alloca i32 %t0 = alloca ptr %t1 = alloca i32 store ptr %arg_p, ptr %t0 %t2 = load ptr, ptr %t0 %t3 = getelementptr inbounds %Cmp_Node, ptr %t2, i32 0, i32 3 %t4 = load ptr, ptr %t3 %t5 = call i32 @fn_is_state_ty(ptr %t4) %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 3 %t10 = load ptr, ptr %t9 %t11 = call ptr @fn_sc_name(ptr %t10) %t12 = call i32 @fn_is_state_ty(ptr %t11) %t13 = icmp ne i32 %t12, 0 %t14 = zext i1 %t13 to i32 store i32 %t14, ptr %t1 br label %scend1 scend1: %t15 = load i32, ptr %t1 store i32 %t15, ptr %retval br label %ret ret: %t16 = load i32, ptr %retval ret i32 %t16 } define i32 @fn_sc_generic_fn(ptr %arg_names, ptr %arg_s) { entry: %retval = alloca i32 %t0 = alloca ptr %t1 = alloca ptr %t4 = alloca ptr %t5 = alloca i32 store ptr %arg_names, ptr %t0 store ptr %arg_s, ptr %t1 %t2 = load ptr, ptr %t1 %t3 = call ptr @fn_vis_plain(ptr %t2) store ptr %t3, ptr %t4 store i32 0, ptr %t5 br label %wcond0 wcond0: %t6 = load i32, ptr %t5 %t7 = load ptr, ptr %t0 %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 %t0 %t14 = load i32, ptr %t5 %t15 = getelementptr inbounds %LSlice, ptr %t13, i32 0, i32 0 %t16 = load ptr, ptr %t15 %t17 = getelementptr inbounds %LSlice, ptr %t13, i32 0, i32 1 %t18 = load i32, ptr %t17 %t19 = icmp ult i32 %t14, %t18 br i1 %t19, label %ixok3, label %ixbad4 ixbad4: store i32 9055, ptr @lp_site %t20 = call ptr @lp_win_stdio(i32 2) store i32 0, ptr @lp_site call i32 (ptr, ptr, ...) @fprintf(ptr %t20, ptr @.fmt_bounds, ptr @.str16302, i32 %t14, i32 %t18) call void @exit(i32 1) unreachable ixok3: %t21 = getelementptr inbounds ptr, ptr %t16, i32 %t14 %t22 = load ptr, ptr %t21 %t23 = load ptr, ptr %t4 %t24 = call i32 @lp_str_eq(ptr %t22, ptr %t23) %t25 = icmp ne i32 %t24, 0 br i1 %t25, label %then5, label %ifend7 then5: store i32 1, ptr %retval br label %ret ifend7: %t26 = load i32, ptr %t5 %t27 = add i32 %t26, 1 store i32 %t27, ptr %t5 br label %wcond0 wend2: store i32 0, ptr %retval br label %ret ret: %t28 = load i32, ptr %retval ret i32 %t28 } define void @fn_sc_functions(ptr %arg_b) { entry: %t0 = alloca ptr %t7 = alloca ptr %t8 = alloca i32 %t16 = alloca i32 %t17 = alloca i32 %t111 = alloca ptr %t118 = alloca ptr %t136 = alloca ptr %t137 = alloca i32 %t138 = alloca i32 %t139 = alloca i32 %t172 = alloca i32 store ptr %arg_b, ptr %t0 %t1 = getelementptr %LSlice, ptr null, i32 1 %t2 = ptrtoint ptr %t1 to i64 store i32 9056, ptr @lp_site %t3 = call ptr @lp_malloc(i64 %t2) store i32 0, ptr @lp_site %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 @g_prog %t11 = getelementptr inbounds %LSlice, ptr %t10, i32 0, i32 1 %t12 = load i32, ptr %t11 %t13 = icmp slt i32 %t9, %t12 %t14 = zext i1 %t13 to i32 %t15 = icmp ne i32 %t14, 0 br i1 %t15, label %wbody1, label %wend2 wbody1: %t18 = load ptr, ptr @g_prog %t19 = load i32, ptr %t8 %t20 = getelementptr inbounds %LSlice, ptr %t18, i32 0, i32 0 %t21 = load ptr, ptr %t20 %t22 = getelementptr inbounds %LSlice, ptr %t18, i32 0, i32 1 %t23 = load i32, ptr %t22 %t24 = icmp ult i32 %t19, %t23 br i1 %t24, label %ixok3, label %ixbad4 ixbad4: store i32 9057, ptr @lp_site %t25 = call ptr @lp_win_stdio(i32 2) store i32 0, ptr @lp_site call i32 (ptr, ptr, ...) @fprintf(ptr %t25, ptr @.fmt_bounds, ptr @.str16305, i32 %t19, i32 %t23) call void @exit(i32 1) unreachable ixok3: %t26 = getelementptr inbounds ptr, ptr %t21, i32 %t19 %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, 4 %t31 = zext i1 %t30 to i32 %t32 = icmp ne i32 %t31, 0 %t33 = zext i1 %t32 to i32 store i32 %t33, ptr %t17 br i1 %t32, label %sc5, label %scend6 sc5: %t34 = load ptr, ptr @g_prog %t35 = load i32, ptr %t8 %t36 = getelementptr inbounds %LSlice, ptr %t34, i32 0, i32 0 %t37 = load ptr, ptr %t36 %t38 = getelementptr inbounds %LSlice, ptr %t34, i32 0, i32 1 %t39 = load i32, ptr %t38 %t40 = icmp ult i32 %t35, %t39 br i1 %t40, label %ixok7, label %ixbad8 ixbad8: store i32 9058, ptr @lp_site %t41 = call ptr @lp_win_stdio(i32 2) store i32 0, ptr @lp_site call i32 (ptr, ptr, ...) @fprintf(ptr %t41, ptr @.fmt_bounds, ptr @.str16306, i32 %t35, i32 %t39) call void @exit(i32 1) unreachable ixok7: %t42 = getelementptr inbounds ptr, ptr %t37, i32 %t35 %t43 = load ptr, ptr %t42 %t44 = getelementptr inbounds %Cmp_Node, ptr %t43, i32 0, i32 11 %t45 = load ptr, ptr %t44 %t46 = icmp ne ptr %t45, null %t47 = zext i1 %t46 to i32 %t48 = icmp ne i32 %t47, 0 %t49 = zext i1 %t48 to i32 store i32 %t49, ptr %t17 br label %scend6 scend6: %t50 = load i32, ptr %t17 %t51 = icmp ne i32 %t50, 0 %t52 = zext i1 %t51 to i32 store i32 %t52, ptr %t16 br i1 %t51, label %sc9, label %scend10 sc9: %t53 = load ptr, ptr @g_prog %t54 = load i32, ptr %t8 %t55 = getelementptr inbounds %LSlice, ptr %t53, i32 0, i32 0 %t56 = load ptr, ptr %t55 %t57 = getelementptr inbounds %LSlice, ptr %t53, i32 0, i32 1 %t58 = load i32, ptr %t57 %t59 = icmp ult i32 %t54, %t58 br i1 %t59, label %ixok11, label %ixbad12 ixbad12: store i32 9059, ptr @lp_site %t60 = call ptr @lp_win_stdio(i32 2) store i32 0, ptr @lp_site call i32 (ptr, ptr, ...) @fprintf(ptr %t60, ptr @.fmt_bounds, ptr @.str16307, i32 %t54, i32 %t58) call void @exit(i32 1) unreachable ixok11: %t61 = getelementptr inbounds ptr, ptr %t56, i32 %t54 %t62 = load ptr, ptr %t61 %t63 = getelementptr inbounds %Cmp_Node, ptr %t62, i32 0, i32 1 %t64 = load ptr, ptr %t63 %t65 = icmp ne ptr %t64, null %t66 = zext i1 %t65 to i32 %t67 = icmp ne i32 %t66, 0 %t68 = zext i1 %t67 to i32 store i32 %t68, ptr %t16 br label %scend10 scend10: %t69 = load i32, ptr %t16 %t70 = icmp ne i32 %t69, 0 br i1 %t70, label %then13, label %ifend15 then13: %t71 = load ptr, ptr %t7 %t72 = load ptr, ptr @g_prog %t73 = load i32, ptr %t8 %t74 = getelementptr inbounds %LSlice, ptr %t72, i32 0, i32 0 %t75 = load ptr, ptr %t74 %t76 = getelementptr inbounds %LSlice, ptr %t72, i32 0, i32 1 %t77 = load i32, ptr %t76 %t78 = icmp ult i32 %t73, %t77 br i1 %t78, label %ixok16, label %ixbad17 ixbad17: store i32 9060, ptr @lp_site %t79 = call ptr @lp_win_stdio(i32 2) store i32 0, ptr @lp_site call i32 (ptr, ptr, ...) @fprintf(ptr %t79, ptr @.fmt_bounds, ptr @.str16308, i32 %t73, i32 %t77) call void @exit(i32 1) unreachable ixok16: %t80 = getelementptr inbounds ptr, ptr %t75, i32 %t73 %t81 = load ptr, ptr %t80 %t82 = getelementptr inbounds %Cmp_Node, ptr %t81, i32 0, i32 1 %t83 = load ptr, ptr %t82 %t84 = call ptr @fn_vis_plain(ptr %t83) %t85 = getelementptr inbounds %LSlice, ptr %t71, i32 0, i32 1 %t86 = getelementptr inbounds %LSlice, ptr %t71, i32 0, i32 2 %t87 = getelementptr inbounds %LSlice, ptr %t71, i32 0, i32 0 %t88 = load i32, ptr %t85 %t89 = load i32, ptr %t86 %t90 = icmp sge i32 %t88, %t89 br i1 %t90, label %grow18, label %put19 grow18: %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 store i32 9061, ptr @lp_site %t99 = call ptr @lp_realloc(ptr %t98, i64 %t97) store i32 0, ptr @lp_site store ptr %t99, ptr %t87 store i32 %t93, ptr %t86 br label %put19 put19: %t100 = load ptr, ptr %t87 %t101 = getelementptr inbounds ptr, ptr %t100, i32 %t88 store ptr %t84, ptr %t101 %t102 = add i32 %t88, 1 store i32 %t102, ptr %t85 br label %ifend15 ifend15: %t103 = load i32, ptr %t8 %t104 = add i32 %t103, 1 store i32 %t104, ptr %t8 br label %wcond0 wend2: %t105 = getelementptr %LSlice, ptr null, i32 1 %t106 = ptrtoint ptr %t105 to i64 store i32 9062, ptr @lp_site %t107 = call ptr @lp_malloc(i64 %t106) store i32 0, ptr @lp_site %t108 = getelementptr inbounds %LSlice, ptr %t107, i32 0, i32 0 store ptr null, ptr %t108 %t109 = getelementptr inbounds %LSlice, ptr %t107, i32 0, i32 1 store i32 0, ptr %t109 %t110 = getelementptr inbounds %LSlice, ptr %t107, i32 0, i32 2 store i32 0, ptr %t110 store ptr %t107, ptr %t111 %t112 = getelementptr %LSlice, ptr null, i32 1 %t113 = ptrtoint ptr %t112 to i64 store i32 9063, ptr @lp_site %t114 = call ptr @lp_malloc(i64 %t113) store i32 0, ptr @lp_site %t115 = getelementptr inbounds %LSlice, ptr %t114, i32 0, i32 0 store ptr null, ptr %t115 %t116 = getelementptr inbounds %LSlice, ptr %t114, i32 0, i32 1 store i32 0, ptr %t116 %t117 = getelementptr inbounds %LSlice, ptr %t114, i32 0, i32 2 store i32 0, ptr %t117 store ptr %t114, ptr %t118 store i32 0, ptr %t8 br label %wcond20 wcond20: %t119 = load i32, ptr %t8 %t120 = load ptr, ptr @g_prog %t121 = getelementptr inbounds %LSlice, ptr %t120, i32 0, i32 1 %t122 = load i32, ptr %t121 %t123 = icmp slt i32 %t119, %t122 %t124 = zext i1 %t123 to i32 %t125 = icmp ne i32 %t124, 0 br i1 %t125, label %wbody21, label %wend22 wbody21: %t126 = load ptr, ptr @g_prog %t127 = load i32, ptr %t8 %t128 = getelementptr inbounds %LSlice, ptr %t126, i32 0, i32 0 %t129 = load ptr, ptr %t128 %t130 = getelementptr inbounds %LSlice, ptr %t126, i32 0, i32 1 %t131 = load i32, ptr %t130 %t132 = icmp ult i32 %t127, %t131 br i1 %t132, label %ixok23, label %ixbad24 ixbad24: store i32 9064, ptr @lp_site %t133 = call ptr @lp_win_stdio(i32 2) store i32 0, ptr @lp_site call i32 (ptr, ptr, ...) @fprintf(ptr %t133, ptr @.fmt_bounds, ptr @.str16309, i32 %t127, i32 %t131) call void @exit(i32 1) unreachable ixok23: %t134 = getelementptr inbounds ptr, ptr %t129, i32 %t127 %t135 = load ptr, ptr %t134 store ptr %t135, ptr %t136 %t140 = load ptr, ptr %t136 %t141 = getelementptr inbounds %Cmp_Node, ptr %t140, i32 0, i32 0 %t142 = load i32, ptr %t141 %t143 = icmp eq i32 %t142, 4 %t144 = zext i1 %t143 to i32 %t145 = icmp ne i32 %t144, 0 %t146 = zext i1 %t145 to i32 store i32 %t146, ptr %t139 br i1 %t145, label %sc25, label %scend26 sc25: %t147 = load ptr, ptr %t136 %t148 = getelementptr inbounds %Cmp_Node, ptr %t147, i32 0, i32 1 %t149 = load ptr, ptr %t148 %t150 = icmp ne ptr %t149, null %t151 = zext i1 %t150 to i32 %t152 = icmp ne i32 %t151, 0 %t153 = zext i1 %t152 to i32 store i32 %t153, ptr %t139 br label %scend26 scend26: %t154 = load i32, ptr %t139 %t155 = icmp ne i32 %t154, 0 %t156 = zext i1 %t155 to i32 store i32 %t156, ptr %t138 br i1 %t155, label %sc27, label %scend28 sc27: %t157 = load ptr, ptr %t136 %t158 = getelementptr inbounds %Cmp_Node, ptr %t157, i32 0, i32 11 %t159 = load ptr, ptr %t158 %t160 = icmp eq ptr %t159, null %t161 = zext i1 %t160 to i32 %t162 = icmp ne i32 %t161, 0 %t163 = zext i1 %t162 to i32 store i32 %t163, ptr %t138 br label %scend28 scend28: %t164 = load i32, ptr %t138 %t165 = icmp ne i32 %t164, 0 %t166 = zext i1 %t165 to i32 store i32 %t166, ptr %t137 br i1 %t165, label %sc29, label %scend30 sc29: %t167 = load ptr, ptr %t136 %t168 = call i32 @fn_sc_written(ptr %t167) %t169 = icmp ne i32 %t168, 0 %t170 = zext i1 %t169 to i32 store i32 %t170, ptr %t137 br label %scend30 scend30: %t171 = load i32, ptr %t137 store i32 %t171, ptr %t172 %t173 = load i32, ptr %t172 %t174 = icmp ne i32 %t173, 0 br i1 %t174, label %then31, label %ifend33 then31: %t175 = load ptr, ptr %t7 %t176 = load ptr, ptr %t136 %t177 = getelementptr inbounds %Cmp_Node, ptr %t176, i32 0, i32 1 %t178 = load ptr, ptr %t177 %t179 = call i32 @fn_sc_generic_fn(ptr %t175, ptr %t178) %t180 = icmp eq i32 %t179, 0 %t181 = zext i1 %t180 to i32 store i32 %t181, ptr %t172 br label %ifend33 ifend33: %t182 = load i32, ptr %t172 %t183 = icmp ne i32 %t182, 0 br i1 %t183, label %then34, label %else35 then34: %t184 = load ptr, ptr %t111 %t185 = load i32, ptr %t8 %t186 = getelementptr inbounds %LSlice, ptr %t184, i32 0, i32 1 %t187 = getelementptr inbounds %LSlice, ptr %t184, i32 0, i32 2 %t188 = getelementptr inbounds %LSlice, ptr %t184, i32 0, i32 0 %t189 = load i32, ptr %t186 %t190 = load i32, ptr %t187 %t191 = icmp sge i32 %t189, %t190 br i1 %t191, label %grow37, label %put38 grow37: %t192 = mul i32 %t190, 2 %t193 = icmp eq i32 %t190, 0 %t194 = select i1 %t193, i32 8, i32 %t192 %t195 = getelementptr i32, 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 store i32 9065, ptr @lp_site %t200 = call ptr @lp_realloc(ptr %t199, i64 %t198) store i32 0, ptr @lp_site store ptr %t200, ptr %t188 store i32 %t194, ptr %t187 br label %put38 put38: %t201 = load ptr, ptr %t188 %t202 = getelementptr inbounds i32, ptr %t201, i32 %t189 store i32 %t185, ptr %t202 %t203 = add i32 %t189, 1 store i32 %t203, ptr %t186 %t204 = load ptr, ptr %t118 %t205 = load ptr, ptr %t136 %t206 = getelementptr inbounds %Cmp_Node, ptr %t205, i32 0, i32 1 %t207 = load ptr, ptr %t206 %t208 = call ptr @fn_sc_name(ptr %t207) %t209 = load ptr, ptr %t136 %t210 = getelementptr inbounds %Cmp_Node, ptr %t209, i32 0, i32 9 %t211 = load ptr, ptr %t210 %t212 = load ptr, ptr %t136 %t213 = getelementptr inbounds %Cmp_Node, ptr %t212, i32 0, i32 8 %t214 = load i32, ptr %t213 %t215 = call ptr @fn_sc_key(ptr %t208, ptr %t211, i32 %t214) %t216 = getelementptr inbounds %LSlice, ptr %t204, i32 0, i32 1 %t217 = getelementptr inbounds %LSlice, ptr %t204, i32 0, i32 2 %t218 = getelementptr inbounds %LSlice, ptr %t204, i32 0, i32 0 %t219 = load i32, ptr %t216 %t220 = load i32, ptr %t217 %t221 = icmp sge i32 %t219, %t220 br i1 %t221, label %grow39, label %put40 grow39: %t222 = mul i32 %t220, 2 %t223 = icmp eq i32 %t220, 0 %t224 = select i1 %t223, i32 8, i32 %t222 %t225 = getelementptr ptr, ptr null, i32 1 %t226 = ptrtoint ptr %t225 to i64 %t227 = zext i32 %t224 to i64 %t228 = mul i64 %t227, %t226 %t229 = load ptr, ptr %t218 store i32 9066, ptr @lp_site %t230 = call ptr @lp_realloc(ptr %t229, i64 %t228) store i32 0, ptr @lp_site store ptr %t230, ptr %t218 store i32 %t224, ptr %t217 br label %put40 put40: %t231 = load ptr, ptr %t218 %t232 = getelementptr inbounds ptr, ptr %t231, i32 %t219 store ptr %t215, ptr %t232 %t233 = add i32 %t219, 1 store i32 %t233, ptr %t216 br label %ifend36 else35: %t234 = load ptr, ptr %t118 %t235 = getelementptr inbounds %LSlice, ptr %t234, i32 0, i32 1 %t236 = getelementptr inbounds %LSlice, ptr %t234, i32 0, i32 2 %t237 = getelementptr inbounds %LSlice, ptr %t234, i32 0, i32 0 %t238 = load i32, ptr %t235 %t239 = load i32, ptr %t236 %t240 = icmp sge i32 %t238, %t239 br i1 %t240, label %grow41, label %put42 grow41: %t241 = mul i32 %t239, 2 %t242 = icmp eq i32 %t239, 0 %t243 = select i1 %t242, i32 8, i32 %t241 %t244 = getelementptr ptr, ptr null, i32 1 %t245 = ptrtoint ptr %t244 to i64 %t246 = zext i32 %t243 to i64 %t247 = mul i64 %t246, %t245 %t248 = load ptr, ptr %t237 store i32 9067, ptr @lp_site %t249 = call ptr @lp_realloc(ptr %t248, i64 %t247) store i32 0, ptr @lp_site store ptr %t249, ptr %t237 store i32 %t243, ptr %t236 br label %put42 put42: %t250 = load ptr, ptr %t237 %t251 = getelementptr inbounds ptr, ptr %t250, i32 %t238 store ptr @.str16310, ptr %t251 %t252 = add i32 %t238, 1 store i32 %t252, ptr %t235 br label %ifend36 ifend36: %t253 = load i32, ptr %t8 %t254 = add i32 %t253, 1 store i32 %t254, ptr %t8 br label %wcond20 wend22: %t255 = load ptr, ptr %t111 %t256 = load ptr, ptr %t118 call void @fn_sc_sort(ptr %t255, ptr %t256) store i32 0, ptr %t8 br label %wcond43 wcond43: %t257 = load i32, ptr %t8 %t258 = load ptr, ptr %t111 %t259 = getelementptr inbounds %LSlice, ptr %t258, i32 0, i32 1 %t260 = load i32, ptr %t259 %t261 = icmp slt i32 %t257, %t260 %t262 = zext i1 %t261 to i32 %t263 = icmp ne i32 %t262, 0 br i1 %t263, label %wbody44, label %wend45 wbody44: %t264 = load ptr, ptr %t0 %t265 = load ptr, ptr @g_prog %t266 = load ptr, ptr %t111 %t267 = load i32, ptr %t8 %t268 = getelementptr inbounds %LSlice, ptr %t266, i32 0, i32 0 %t269 = load ptr, ptr %t268 %t270 = getelementptr inbounds %LSlice, ptr %t266, i32 0, i32 1 %t271 = load i32, ptr %t270 %t272 = icmp ult i32 %t267, %t271 br i1 %t272, label %ixok46, label %ixbad47 ixbad47: store i32 9068, ptr @lp_site %t273 = call ptr @lp_win_stdio(i32 2) store i32 0, ptr @lp_site call i32 (ptr, ptr, ...) @fprintf(ptr %t273, ptr @.fmt_bounds, ptr @.str16311, i32 %t267, i32 %t271) call void @exit(i32 1) unreachable ixok46: %t274 = getelementptr inbounds i32, ptr %t269, i32 %t267 %t275 = load i32, ptr %t274 %t276 = getelementptr inbounds %LSlice, ptr %t265, i32 0, i32 0 %t277 = load ptr, ptr %t276 %t278 = getelementptr inbounds %LSlice, ptr %t265, i32 0, i32 1 %t279 = load i32, ptr %t278 %t280 = icmp ult i32 %t275, %t279 br i1 %t280, label %ixok48, label %ixbad49 ixbad49: store i32 9069, ptr @lp_site %t281 = call ptr @lp_win_stdio(i32 2) store i32 0, ptr @lp_site call i32 (ptr, ptr, ...) @fprintf(ptr %t281, ptr @.fmt_bounds, ptr @.str16312, i32 %t275, i32 %t279) call void @exit(i32 1) unreachable ixok48: %t282 = getelementptr inbounds ptr, ptr %t277, i32 %t275 %t283 = load ptr, ptr %t282 %t284 = load i32, ptr %t8 %t285 = icmp eq i32 %t284, 0 %t286 = zext i1 %t285 to i32 call void @fn_sc_function(ptr %t264, ptr %t283, i32 %t286) %t287 = load i32, ptr %t8 %t288 = add i32 %t287, 1 store i32 %t288, ptr %t8 br label %wcond43 wend45: br label %ret ret: ret void } define void @fn_sc_function(ptr %arg_b, ptr %arg_d, i32 %arg_first) { entry: %t0 = alloca ptr %t1 = alloca ptr %t2 = alloca i32 %t7 = alloca ptr %t8 = alloca ptr %t9 = alloca ptr %t10 = alloca ptr %t11 = alloca ptr %t12 = alloca i32 %t34 = alloca ptr %t41 = alloca ptr %t70 = alloca ptr store ptr %arg_b, ptr %t0 store ptr %arg_d, ptr %t1 store i32 %arg_first, ptr %t2 %t3 = load ptr, ptr %t1 %t4 = getelementptr inbounds %Cmp_Node, ptr %t3, i32 0, i32 3 %t5 = load ptr, ptr %t4 %t6 = call ptr @fn_sc_ty(ptr %t5) store ptr %t6, ptr %t7 store ptr @.str16313, ptr %t8 store ptr @.str16314, ptr %t9 store ptr @.str16315, ptr %t10 store ptr @.str16316, ptr %t11 store i32 0, ptr %t12 br label %wcond0 wcond0: %t13 = load i32, ptr %t12 %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 1 %t18 = load i32, ptr %t17 %t19 = icmp slt i32 %t13, %t18 %t20 = zext i1 %t19 to i32 %t21 = icmp ne i32 %t20, 0 br i1 %t21, label %wbody1, label %wend2 wbody1: %t22 = load ptr, ptr %t1 %t23 = getelementptr inbounds %Cmp_Node, ptr %t22, i32 0, i32 7 %t24 = load ptr, ptr %t23 %t25 = load i32, ptr %t12 %t26 = getelementptr inbounds %LSlice, ptr %t24, i32 0, i32 0 %t27 = load ptr, ptr %t26 %t28 = getelementptr inbounds %LSlice, ptr %t24, i32 0, i32 1 %t29 = load i32, ptr %t28 %t30 = icmp ult i32 %t25, %t29 br i1 %t30, label %ixok3, label %ixbad4 ixbad4: store i32 9070, ptr @lp_site %t31 = call ptr @lp_win_stdio(i32 2) store i32 0, ptr @lp_site call i32 (ptr, ptr, ...) @fprintf(ptr %t31, ptr @.fmt_bounds, ptr @.str16317, i32 %t25, i32 %t29) call void @exit(i32 1) unreachable ixok3: %t32 = getelementptr inbounds ptr, ptr %t27, i32 %t25 %t33 = load ptr, ptr %t32 store ptr %t33, ptr %t34 %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, 5 %t39 = zext i1 %t38 to i32 %t40 = icmp ne i32 %t39, 0 br i1 %t40, label %then5, label %ifend7 then5: store ptr @.str16319, ptr %t41 %t42 = load ptr, ptr %t34 %t43 = getelementptr inbounds %Cmp_Node, ptr %t42, i32 0, i32 12 %t44 = load i32, ptr %t43 %t45 = icmp eq i32 %t44, 1 %t46 = zext i1 %t45 to i32 %t47 = icmp ne i32 %t46, 0 br i1 %t47, label %then8, label %ifend10 then8: store ptr @.str16320, ptr %t41 br label %ifend10 ifend10: %t48 = load ptr, ptr %t8 %t49 = call i64 @strlen(ptr %t48) %t50 = trunc i64 %t49 to i32 %t51 = icmp sgt i32 %t50, 0 %t52 = zext i1 %t51 to i32 %t53 = icmp ne i32 %t52, 0 br i1 %t53, label %then11, label %ifend13 then11: %t54 = load ptr, ptr %t8 store i32 9071, ptr @lp_site %t55 = call ptr @lp_str_concat(ptr %t54, ptr @.str16321) store i32 0, ptr @lp_site store ptr %t55, ptr %t8 br label %ifend13 ifend13: %t56 = load ptr, ptr %t8 %t57 = load ptr, ptr %t34 %t58 = getelementptr inbounds %Cmp_Node, ptr %t57, i32 0, i32 1 %t59 = load ptr, ptr %t58 store i32 9072, ptr @lp_site %t60 = call ptr @lp_str_concat(ptr %t56, ptr %t59) store i32 0, ptr @lp_site store i32 9073, ptr @lp_site %t61 = call ptr @lp_str_concat(ptr %t60, ptr @.str16322) store i32 0, ptr @lp_site call void @lp_free(ptr %t60) %t62 = load ptr, ptr %t41 store i32 9074, ptr @lp_site %t63 = call ptr @lp_str_concat(ptr %t61, ptr %t62) store i32 0, ptr @lp_site call void @lp_free(ptr %t61) %t64 = load ptr, ptr %t34 %t65 = getelementptr inbounds %Cmp_Node, ptr %t64, i32 0, i32 3 %t66 = load ptr, ptr %t65 %t67 = call ptr @fn_sc_ty(ptr %t66) store i32 9075, ptr @lp_site %t68 = call ptr @lp_str_concat(ptr %t63, ptr %t67) store i32 0, ptr @lp_site call void @lp_free(ptr %t63) store ptr %t68, ptr %t8 %t69 = call ptr @fn_buf_new() store ptr %t69, ptr %t70 %t71 = load ptr, ptr %t70 %t72 = load ptr, ptr %t34 %t73 = getelementptr inbounds %Cmp_Node, ptr %t72, i32 0, i32 3 %t74 = load ptr, ptr %t73 %t75 = call ptr @fn_sc_ty(ptr %t74) call void @fn_jq_put(ptr %t71, ptr %t75) %t76 = load ptr, ptr %t34 %t77 = call i32 @fn_sc_is_state_param(ptr %t76) %t78 = icmp ne i32 %t77, 0 br i1 %t78, label %then14, label %else15 then14: %t79 = load ptr, ptr %t11 %t80 = call i64 @strlen(ptr %t79) %t81 = trunc i64 %t80 to i32 %t82 = icmp sgt i32 %t81, 0 %t83 = zext i1 %t82 to i32 %t84 = icmp ne i32 %t83, 0 br i1 %t84, label %then17, label %ifend19 then17: %t85 = load ptr, ptr %t11 store i32 9076, ptr @lp_site %t86 = call ptr @lp_str_concat(ptr %t85, ptr @.str16323) store i32 0, ptr @lp_site store ptr %t86, ptr %t11 br label %ifend19 ifend19: %t87 = load ptr, ptr %t11 %t88 = load ptr, ptr %t70 %t89 = call ptr @fn_buf_str(ptr %t88) store i32 9077, ptr @lp_site %t90 = call ptr @lp_str_concat(ptr %t87, ptr %t89) store i32 0, ptr @lp_site store ptr %t90, ptr %t11 br label %ifend16 else15: %t91 = load ptr, ptr %t9 %t92 = call i64 @strlen(ptr %t91) %t93 = trunc i64 %t92 to i32 %t94 = icmp sgt i32 %t93, 0 %t95 = zext i1 %t94 to i32 %t96 = icmp ne i32 %t95, 0 br i1 %t96, label %then20, label %ifend22 then20: %t97 = load ptr, ptr %t9 store i32 9078, ptr @lp_site %t98 = call ptr @lp_str_concat(ptr %t97, ptr @.str16324) store i32 0, ptr @lp_site store ptr %t98, ptr %t9 br label %ifend22 ifend22: %t99 = load ptr, ptr %t9 %t100 = load ptr, ptr %t34 %t101 = getelementptr inbounds %Cmp_Node, ptr %t100, i32 0, i32 3 %t102 = load ptr, ptr %t101 %t103 = call ptr @fn_sc_ty(ptr %t102) store i32 9079, ptr @lp_site %t104 = call ptr @lp_str_concat(ptr %t99, ptr %t103) store i32 0, ptr @lp_site store ptr %t104, ptr %t9 %t105 = load ptr, ptr %t10 %t106 = call i64 @strlen(ptr %t105) %t107 = trunc i64 %t106 to i32 %t108 = icmp sgt i32 %t107, 0 %t109 = zext i1 %t108 to i32 %t110 = icmp ne i32 %t109, 0 br i1 %t110, label %then23, label %ifend25 then23: %t111 = load ptr, ptr %t10 store i32 9080, ptr @lp_site %t112 = call ptr @lp_str_concat(ptr %t111, ptr @.str16325) store i32 0, ptr @lp_site store ptr %t112, ptr %t10 br label %ifend25 ifend25: %t113 = load ptr, ptr %t10 %t114 = load ptr, ptr %t70 %t115 = call ptr @fn_buf_str(ptr %t114) store i32 9081, ptr @lp_site %t116 = call ptr @lp_str_concat(ptr %t113, ptr %t115) store i32 0, ptr @lp_site store ptr %t116, ptr %t10 br label %ifend16 ifend16: br label %ifend7 ifend7: %t117 = load i32, ptr %t12 %t118 = add i32 %t117, 1 store i32 %t118, ptr %t12 br label %wcond0 wend2: %t119 = load ptr, ptr %t0 %t120 = load i32, ptr %t2 call void @fn_sc_sep(ptr %t119, i32 %t120, ptr @.str16326) %t121 = load ptr, ptr %t0 call void @fn_buf_puts(ptr %t121, ptr @.str16327) %t122 = load ptr, ptr %t0 %t123 = load ptr, ptr %t1 %t124 = getelementptr inbounds %Cmp_Node, ptr %t123, i32 0, i32 1 %t125 = load ptr, ptr %t124 %t126 = call ptr @fn_sc_name(ptr %t125) call void @fn_jq_put(ptr %t122, ptr %t126) %t127 = load ptr, ptr %t0 call void @fn_buf_puts(ptr %t127, ptr @.str16328) %t128 = load ptr, ptr %t0 %t129 = load ptr, ptr %t1 %t130 = getelementptr inbounds %Cmp_Node, ptr %t129, i32 0, i32 9 %t131 = load ptr, ptr %t130 %t132 = call ptr @fn_sc_mod(ptr %t131) call void @fn_sc_str(ptr %t128, ptr %t132) %t133 = load ptr, ptr %t0 call void @fn_buf_puts(ptr %t133, ptr @.str16329) %t134 = load ptr, ptr %t0 %t135 = load ptr, ptr %t1 %t136 = getelementptr inbounds %Cmp_Node, ptr %t135, i32 0, i32 10 %t137 = load i32, ptr %t136 %t138 = icmp eq i32 %t137, 1 %t139 = zext i1 %t138 to i32 call void @fn_sc_bool(ptr %t134, i32 %t139) %t140 = load ptr, ptr %t0 call void @fn_buf_puts(ptr %t140, ptr @.str16330) %t141 = load ptr, ptr %t0 %t142 = load ptr, ptr %t1 %t143 = getelementptr inbounds %Cmp_Node, ptr %t142, i32 0, i32 9 %t144 = load ptr, ptr %t143 %t145 = load ptr, ptr %t1 %t146 = getelementptr inbounds %Cmp_Node, ptr %t145, i32 0, i32 8 %t147 = load i32, ptr %t146 %t148 = load ptr, ptr %t1 %t149 = getelementptr inbounds %Cmp_Node, ptr %t148, i32 0, i32 18 %t150 = load i32, ptr %t149 call void @fn_sc_at(ptr %t141, ptr %t144, i32 %t147, i32 %t150) %t151 = load ptr, ptr %t0 call void @fn_buf_puts(ptr %t151, ptr @.str16331) %t152 = load ptr, ptr %t0 %t153 = load ptr, ptr %t7 call void @fn_jq_put(ptr %t152, ptr %t153) %t154 = load ptr, ptr %t0 call void @fn_buf_puts(ptr %t154, ptr @.str16332) %t155 = load ptr, ptr %t0 %t156 = load ptr, ptr %t9 store i32 9082, ptr @lp_site %t157 = call ptr @lp_str_concat(ptr @.str16333, ptr %t156) store i32 0, ptr @lp_site store i32 9083, ptr @lp_site %t158 = call ptr @lp_str_concat(ptr %t157, ptr @.str16334) store i32 0, ptr @lp_site call void @lp_free(ptr %t157) %t159 = load ptr, ptr %t7 store i32 9084, ptr @lp_site %t160 = call ptr @lp_str_concat(ptr %t158, ptr %t159) store i32 0, ptr @lp_site call void @lp_free(ptr %t158) call void @fn_jq_put(ptr %t155, ptr %t160) %t161 = load ptr, ptr %t0 call void @fn_buf_puts(ptr %t161, ptr @.str16335) %t162 = load ptr, ptr %t0 %t163 = load ptr, ptr %t10 call void @fn_buf_puts(ptr %t162, ptr %t163) %t164 = load ptr, ptr %t0 call void @fn_buf_puts(ptr %t164, ptr @.str16336) %t165 = load ptr, ptr %t0 call void @fn_buf_puts(ptr %t165, ptr @.str16337) %t166 = load ptr, ptr %t0 %t167 = load ptr, ptr %t1 %t168 = getelementptr inbounds %Cmp_Node, ptr %t167, i32 0, i32 1 %t169 = load ptr, ptr %t168 %t170 = call ptr @fn_sc_name(ptr %t169) store i32 9085, ptr @lp_site %t171 = call ptr @lp_str_concat(ptr @.str16338, ptr %t170) store i32 0, ptr @lp_site store i32 9086, ptr @lp_site %t172 = call ptr @lp_str_concat(ptr %t171, ptr @.str16339) store i32 0, ptr @lp_site call void @lp_free(ptr %t171) %t173 = load ptr, ptr %t8 store i32 9087, ptr @lp_site %t174 = call ptr @lp_str_concat(ptr %t172, ptr %t173) store i32 0, ptr @lp_site call void @lp_free(ptr %t172) store i32 9088, ptr @lp_site %t175 = call ptr @lp_str_concat(ptr %t174, ptr @.str16340) store i32 0, ptr @lp_site call void @lp_free(ptr %t174) %t176 = load ptr, ptr %t7 store i32 9089, ptr @lp_site %t177 = call ptr @lp_str_concat(ptr %t175, ptr %t176) store i32 0, ptr @lp_site call void @lp_free(ptr %t175) call void @fn_jq_put(ptr %t166, ptr %t177) %t178 = load ptr, ptr %t0 call void @fn_buf_puts(ptr %t178, ptr @.str16341) %t179 = load ptr, ptr %t0 %t180 = load ptr, ptr %t11 call void @fn_buf_puts(ptr %t179, ptr %t180) %t181 = load ptr, ptr %t0 call void @fn_buf_puts(ptr %t181, ptr @.str16342) %t182 = load ptr, ptr %t0 %t183 = load ptr, ptr %t1 %t184 = getelementptr inbounds %Cmp_Node, ptr %t183, i32 0, i32 9 %t185 = load ptr, ptr %t184 %t186 = load ptr, ptr %t1 %t187 = getelementptr inbounds %Cmp_Node, ptr %t186, i32 0, i32 13 %t188 = load i32, ptr %t187 %t189 = call ptr @fn_sc_doc(ptr %t185, i32 %t188) call void @fn_sc_str(ptr %t182, ptr %t189) %t190 = load ptr, ptr %t0 call void @fn_buf_puts(ptr %t190, ptr @.str16343) br label %ret ret: ret void } define void @fn_sc_units(ptr %arg_b) { entry: %t0 = alloca ptr %t2 = alloca ptr %t3 = alloca i32 store ptr %arg_b, ptr %t0 %t1 = call ptr @fn_at_units() store ptr %t1, ptr %t2 store i32 0, ptr %t3 br label %wcond0 wcond0: %t4 = load i32, ptr %t3 %t5 = load ptr, ptr %t2 %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 i32, ptr %t3 %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: %t15 = load ptr, ptr %t0 call void @fn_buf_puts(ptr %t15, ptr @.str16344) br label %ifend5 ifend5: %t16 = load ptr, ptr %t0 %t17 = load ptr, ptr %t2 %t18 = load i32, ptr %t3 %t19 = getelementptr inbounds %LSlice, ptr %t17, i32 0, i32 0 %t20 = load ptr, ptr %t19 %t21 = getelementptr inbounds %LSlice, ptr %t17, i32 0, i32 1 %t22 = load i32, ptr %t21 %t23 = icmp ult i32 %t18, %t22 br i1 %t23, label %ixok6, label %ixbad7 ixbad7: store i32 9090, ptr @lp_site %t24 = call ptr @lp_win_stdio(i32 2) store i32 0, ptr @lp_site call i32 (ptr, ptr, ...) @fprintf(ptr %t24, ptr @.fmt_bounds, ptr @.str16345, i32 %t18, i32 %t22) call void @exit(i32 1) unreachable ixok6: %t25 = getelementptr inbounds ptr, ptr %t20, i32 %t18 %t26 = load ptr, ptr %t25 call void @fn_jq_put(ptr %t16, ptr %t26) %t27 = load i32, ptr %t3 %t28 = add i32 %t27, 1 store i32 %t28, ptr %t3 br label %wcond0 wend2: br label %ret ret: ret void } define void @fn_sc_natives_find() { entry: %t24 = alloca i32 %t0 = getelementptr %LSlice, ptr null, i32 1 %t1 = ptrtoint ptr %t0 to i64 store i32 9091, ptr @lp_site %t2 = call ptr @lp_malloc(i64 %t1) store i32 0, ptr @lp_site %t3 = getelementptr inbounds %LSlice, ptr %t2, i32 0, i32 0 store ptr null, ptr %t3 %t4 = getelementptr inbounds %LSlice, ptr %t2, i32 0, i32 1 store i32 0, ptr %t4 %t5 = getelementptr inbounds %LSlice, ptr %t2, i32 0, i32 2 store i32 0, ptr %t5 store ptr %t2, ptr @g_g_sn_tag %t6 = getelementptr %LSlice, ptr null, i32 1 %t7 = ptrtoint ptr %t6 to i64 store i32 9092, ptr @lp_site %t8 = call ptr @lp_malloc(i64 %t7) store i32 0, ptr @lp_site %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_sn_via %t12 = getelementptr %LSlice, ptr null, i32 1 %t13 = ptrtoint ptr %t12 to i64 store i32 9093, ptr @lp_site %t14 = call ptr @lp_malloc(i64 %t13) store i32 0, ptr @lp_site %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_sn_fn %t18 = getelementptr %LSlice, ptr null, i32 1 %t19 = ptrtoint ptr %t18 to i64 store i32 9094, ptr @lp_site %t20 = call ptr @lp_malloc(i64 %t19) store i32 0, ptr @lp_site %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_sn_call store i32 0, ptr %t24 br label %wcond0 wcond0: %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 %wbody1, label %wend2 wbody1: %t32 = load ptr, ptr @g_prog %t33 = load i32, ptr %t24 %t34 = getelementptr inbounds %LSlice, ptr %t32, i32 0, i32 0 %t35 = load ptr, ptr %t34 %t36 = getelementptr inbounds %LSlice, ptr %t32, i32 0, i32 1 %t37 = load i32, ptr %t36 %t38 = icmp ult i32 %t33, %t37 br i1 %t38, label %ixok3, label %ixbad4 ixbad4: store i32 9095, ptr @lp_site %t39 = call ptr @lp_win_stdio(i32 2) store i32 0, ptr @lp_site call i32 (ptr, ptr, ...) @fprintf(ptr %t39, ptr @.fmt_bounds, ptr @.str16348, i32 %t33, i32 %t37) call void @exit(i32 1) unreachable ixok3: %t40 = getelementptr inbounds ptr, ptr %t35, i32 %t33 %t41 = load ptr, ptr %t40 call void @fn_sc_nt_walk(ptr %t41) %t42 = load i32, ptr %t24 %t43 = add i32 %t42, 1 store i32 %t43, ptr %t24 br label %wcond0 wend2: br label %ret ret: ret void } define void @fn_sc_nt_walk(ptr %arg_n) { entry: %t0 = alloca ptr %t5 = alloca i32 %t6 = alloca i32 %t45 = alloca i32 store ptr %arg_n, 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: 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, 34 %t11 = zext i1 %t10 to i32 %t12 = icmp ne i32 %t11, 0 %t13 = zext i1 %t12 to i32 store i32 %t13, ptr %t6 br i1 %t12, label %sc3, label %scend4 sc3: %t14 = load ptr, ptr %t0 %t15 = getelementptr inbounds %Cmp_Node, ptr %t14, i32 0, i32 4 %t16 = load ptr, ptr %t15 %t17 = icmp ne ptr %t16, null %t18 = zext i1 %t17 to i32 %t19 = icmp ne i32 %t18, 0 %t20 = zext i1 %t19 to i32 store i32 %t20, ptr %t6 br label %scend4 scend4: %t21 = load i32, ptr %t6 %t22 = icmp ne i32 %t21, 0 %t23 = zext i1 %t22 to i32 store i32 %t23, ptr %t5 br i1 %t22, label %sc5, label %scend6 sc5: %t24 = load ptr, ptr %t0 %t25 = getelementptr inbounds %Cmp_Node, ptr %t24, i32 0, i32 4 %t26 = load ptr, ptr %t25 %t27 = getelementptr inbounds %Cmp_Node, ptr %t26, i32 0, i32 0 %t28 = load i32, ptr %t27 %t29 = icmp eq i32 %t28, 33 %t30 = zext i1 %t29 to i32 %t31 = icmp ne i32 %t30, 0 %t32 = zext i1 %t31 to i32 store i32 %t32, ptr %t5 br label %scend6 scend6: %t33 = load i32, ptr %t5 %t34 = icmp ne i32 %t33, 0 br i1 %t34, label %then7, label %ifend9 then7: %t35 = load ptr, ptr %t0 call void @fn_sc_nt_call(ptr %t35) br label %ifend9 ifend9: %t36 = load ptr, ptr %t0 %t37 = getelementptr inbounds %Cmp_Node, ptr %t36, i32 0, i32 4 %t38 = load ptr, ptr %t37 call void @fn_sc_nt_walk(ptr %t38) %t39 = load ptr, ptr %t0 %t40 = getelementptr inbounds %Cmp_Node, ptr %t39, i32 0, i32 5 %t41 = load ptr, ptr %t40 call void @fn_sc_nt_walk(ptr %t41) %t42 = load ptr, ptr %t0 %t43 = getelementptr inbounds %Cmp_Node, ptr %t42, i32 0, i32 6 %t44 = load ptr, ptr %t43 call void @fn_sc_nt_walk(ptr %t44) store i32 0, ptr %t45 br label %wcond10 wcond10: %t46 = load i32, ptr %t45 %t47 = load ptr, ptr %t0 %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 1 %t51 = load i32, ptr %t50 %t52 = icmp slt i32 %t46, %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 %t0 %t56 = getelementptr inbounds %Cmp_Node, ptr %t55, i32 0, i32 7 %t57 = load ptr, ptr %t56 %t58 = load i32, ptr %t45 %t59 = getelementptr inbounds %LSlice, ptr %t57, i32 0, i32 0 %t60 = load ptr, ptr %t59 %t61 = getelementptr inbounds %LSlice, ptr %t57, i32 0, i32 1 %t62 = load i32, ptr %t61 %t63 = icmp ult i32 %t58, %t62 br i1 %t63, label %ixok13, label %ixbad14 ixbad14: store i32 9096, ptr @lp_site %t64 = call ptr @lp_win_stdio(i32 2) store i32 0, ptr @lp_site call i32 (ptr, ptr, ...) @fprintf(ptr %t64, ptr @.fmt_bounds, ptr @.str16349, i32 %t58, i32 %t62) call void @exit(i32 1) unreachable ixok13: %t65 = getelementptr inbounds ptr, ptr %t60, i32 %t58 %t66 = load ptr, ptr %t65 call void @fn_sc_nt_walk(ptr %t66) %t67 = load i32, ptr %t45 %t68 = add i32 %t67, 1 store i32 %t68, ptr %t45 br label %wcond10 wend12: br label %ret ret: ret void } define void @fn_sc_nt_call(ptr %arg_n) { entry: %t0 = alloca ptr %t7 = alloca ptr %t8 = alloca i32 %t23 = alloca i32 %t24 = alloca i32 %t56 = alloca ptr %t61 = alloca i32 %t63 = alloca i32 %t64 = alloca i32 %t125 = alloca i32 %t126 = alloca i32 %t156 = alloca ptr %t157 = alloca i32 %t174 = alloca i32 %t192 = alloca ptr %t193 = alloca i32 %t194 = alloca i32 %t195 = alloca i32 %t196 = alloca i32 %t277 = alloca ptr %t295 = alloca ptr %t296 = alloca i32 store ptr %arg_n, 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 1 %t5 = load ptr, ptr %t4 %t6 = call ptr @fn_vis_plain(ptr %t5) store ptr %t6, ptr %t7 %t9 = load ptr, ptr %t7 %t10 = call i32 @lp_str_eq(ptr %t9, ptr @.str16351) %t11 = icmp eq i32 %t10, 0 %t12 = zext i1 %t11 to i32 %t13 = icmp ne i32 %t12, 0 %t14 = zext i1 %t13 to i32 store i32 %t14, ptr %t8 br i1 %t13, label %sc0, label %scend1 sc0: %t15 = load ptr, ptr %t7 %t16 = call i32 @lp_str_eq(ptr %t15, ptr @.str16352) %t17 = icmp eq i32 %t16, 0 %t18 = zext i1 %t17 to i32 %t19 = icmp ne i32 %t18, 0 %t20 = zext i1 %t19 to i32 store i32 %t20, ptr %t8 br label %scend1 scend1: %t21 = load i32, ptr %t8 %t22 = icmp ne i32 %t21, 0 br i1 %t22, label %then2, label %ifend4 then2: br label %ret ifend4: %t25 = load ptr, ptr %t0 %t26 = getelementptr inbounds %Cmp_Node, ptr %t25, i32 0, i32 9 %t27 = load ptr, ptr %t26 %t28 = icmp eq 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 %scend6, label %sc5 sc5: %t32 = load ptr, ptr %t0 %t33 = getelementptr inbounds %Cmp_Node, ptr %t32, i32 0, i32 13 %t34 = load i32, ptr %t33 %t35 = icmp slt i32 %t34, 0 %t36 = zext i1 %t35 to i32 %t37 = icmp ne i32 %t36, 0 %t38 = zext i1 %t37 to i32 store i32 %t38, ptr %t24 br label %scend6 scend6: %t39 = load i32, ptr %t24 %t40 = icmp ne i32 %t39, 0 %t41 = zext i1 %t40 to i32 store i32 %t41, ptr %t23 br i1 %t40, label %scend8, label %sc7 sc7: %t42 = load ptr, ptr %t0 %t43 = getelementptr inbounds %Cmp_Node, ptr %t42, i32 0, i32 9 %t44 = load ptr, ptr %t43 %t45 = call i32 @fn_is_runtime_file(ptr %t44) %t46 = icmp ne i32 %t45, 0 %t47 = zext i1 %t46 to i32 store i32 %t47, ptr %t23 br label %scend8 scend8: %t48 = load i32, ptr %t23 %t49 = icmp ne i32 %t48, 0 br i1 %t49, label %then9, label %ifend11 then9: br label %ret ifend11: %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 @fn_find_fn(ptr %t54) store ptr %t55, ptr %t56 %t57 = load ptr, ptr %t56 %t58 = icmp eq ptr %t57, null %t59 = zext i1 %t58 to i32 %t60 = icmp ne i32 %t59, 0 br i1 %t60, label %then12, label %ifend14 then12: br label %ret ifend14: store i32 0, ptr %t61 %t62 = sub i32 0, 1 store i32 %t62, ptr %t63 store i32 0, ptr %t64 br label %wcond15 wcond15: %t65 = load i32, ptr %t64 %t66 = load ptr, ptr %t56 %t67 = getelementptr inbounds %Cmp_Node, ptr %t66, i32 0, i32 7 %t68 = load ptr, ptr %t67 %t69 = getelementptr inbounds %LSlice, ptr %t68, i32 0, i32 1 %t70 = load i32, ptr %t69 %t71 = icmp slt i32 %t65, %t70 %t72 = zext i1 %t71 to i32 %t73 = icmp ne i32 %t72, 0 br i1 %t73, label %wbody16, label %wend17 wbody16: %t74 = load ptr, ptr %t56 %t75 = getelementptr inbounds %Cmp_Node, ptr %t74, i32 0, i32 7 %t76 = load ptr, ptr %t75 %t77 = load i32, ptr %t64 %t78 = getelementptr inbounds %LSlice, ptr %t76, i32 0, i32 0 %t79 = load ptr, ptr %t78 %t80 = getelementptr inbounds %LSlice, ptr %t76, i32 0, i32 1 %t81 = load i32, ptr %t80 %t82 = icmp ult i32 %t77, %t81 br i1 %t82, label %ixok18, label %ixbad19 ixbad19: store i32 9097, ptr @lp_site %t83 = call ptr @lp_win_stdio(i32 2) store i32 0, ptr @lp_site call i32 (ptr, ptr, ...) @fprintf(ptr %t83, ptr @.fmt_bounds, ptr @.str16353, i32 %t77, i32 %t81) call void @exit(i32 1) unreachable ixok18: %t84 = getelementptr inbounds ptr, ptr %t79, i32 %t77 %t85 = load ptr, ptr %t84 %t86 = getelementptr inbounds %Cmp_Node, ptr %t85, i32 0, i32 0 %t87 = load i32, ptr %t86 %t88 = icmp eq i32 %t87, 5 %t89 = zext i1 %t88 to i32 %t90 = icmp ne i32 %t89, 0 br i1 %t90, label %then20, label %ifend22 then20: %t91 = load ptr, ptr %t56 %t92 = getelementptr inbounds %Cmp_Node, ptr %t91, i32 0, i32 7 %t93 = load ptr, ptr %t92 %t94 = load i32, ptr %t64 %t95 = getelementptr inbounds %LSlice, ptr %t93, i32 0, i32 0 %t96 = load ptr, ptr %t95 %t97 = getelementptr inbounds %LSlice, ptr %t93, i32 0, i32 1 %t98 = load i32, ptr %t97 %t99 = icmp ult i32 %t94, %t98 br i1 %t99, label %ixok23, label %ixbad24 ixbad24: store i32 9098, ptr @lp_site %t100 = call ptr @lp_win_stdio(i32 2) store i32 0, ptr @lp_site call i32 (ptr, ptr, ...) @fprintf(ptr %t100, ptr @.fmt_bounds, ptr @.str16355, i32 %t94, i32 %t98) call void @exit(i32 1) unreachable ixok23: %t101 = getelementptr inbounds ptr, ptr %t96, i32 %t94 %t102 = load ptr, ptr %t101 %t103 = getelementptr inbounds %Cmp_Node, ptr %t102, i32 0, i32 1 %t104 = load ptr, ptr %t103 %t105 = call i32 @lp_str_eq(ptr %t104, ptr @.str16356) %t106 = icmp ne i32 %t105, 0 br i1 %t106, label %then25, label %ifend27 then25: %t107 = load i32, ptr %t61 store i32 %t107, ptr %t63 br label %ifend27 ifend27: %t108 = load i32, ptr %t61 %t109 = add i32 %t108, 1 store i32 %t109, ptr %t61 br label %ifend22 ifend22: %t110 = load i32, ptr %t64 %t111 = add i32 %t110, 1 store i32 %t111, ptr %t64 br label %wcond15 wend17: %t112 = load i32, ptr %t63 %t113 = icmp slt i32 %t112, 0 %t114 = zext i1 %t113 to i32 %t115 = icmp ne i32 %t114, 0 br i1 %t115, label %then28, label %ifend30 then28: br label %ret ifend30: %t116 = load ptr, ptr %t0 %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 1 %t120 = load i32, ptr %t119 %t121 = load i32, ptr %t61 %t122 = load i32, ptr %t63 %t123 = sub i32 %t121, %t122 %t124 = sub i32 %t120, %t123 store i32 %t124, ptr %t125 %t127 = load i32, ptr %t125 %t128 = icmp slt i32 %t127, 0 %t129 = zext i1 %t128 to i32 %t130 = icmp ne i32 %t129, 0 %t131 = zext i1 %t130 to i32 store i32 %t131, ptr %t126 br i1 %t130, label %scend32, label %sc31 sc31: %t132 = load i32, ptr %t125 %t133 = load ptr, ptr %t0 %t134 = getelementptr inbounds %Cmp_Node, ptr %t133, i32 0, i32 7 %t135 = load ptr, ptr %t134 %t136 = getelementptr inbounds %LSlice, ptr %t135, i32 0, i32 1 %t137 = load i32, ptr %t136 %t138 = icmp sge i32 %t132, %t137 %t139 = zext i1 %t138 to i32 %t140 = icmp ne i32 %t139, 0 %t141 = zext i1 %t140 to i32 store i32 %t141, ptr %t126 br label %scend32 scend32: %t142 = load i32, ptr %t126 %t143 = icmp ne i32 %t142, 0 br i1 %t143, label %then33, label %ifend35 then33: br label %ret ifend35: %t144 = load ptr, ptr %t0 %t145 = getelementptr inbounds %Cmp_Node, ptr %t144, i32 0, i32 7 %t146 = load ptr, ptr %t145 %t147 = load i32, ptr %t125 %t148 = getelementptr inbounds %LSlice, ptr %t146, i32 0, i32 0 %t149 = load ptr, ptr %t148 %t150 = getelementptr inbounds %LSlice, ptr %t146, i32 0, i32 1 %t151 = load i32, ptr %t150 %t152 = icmp ult i32 %t147, %t151 br i1 %t152, label %ixok36, label %ixbad37 ixbad37: store i32 9099, ptr @lp_site %t153 = call ptr @lp_win_stdio(i32 2) store i32 0, ptr @lp_site call i32 (ptr, ptr, ...) @fprintf(ptr %t153, ptr @.fmt_bounds, ptr @.str16357, i32 %t147, i32 %t151) call void @exit(i32 1) unreachable ixok36: %t154 = getelementptr inbounds ptr, ptr %t149, i32 %t147 %t155 = load ptr, ptr %t154 store ptr %t155, ptr %t156 %t158 = load ptr, ptr %t156 %t159 = getelementptr inbounds %Cmp_Node, ptr %t158, i32 0, i32 0 %t160 = load i32, ptr %t159 %t161 = icmp ne i32 %t160, 31 %t162 = zext i1 %t161 to i32 %t163 = icmp ne i32 %t162, 0 %t164 = zext i1 %t163 to i32 store i32 %t164, ptr %t157 br i1 %t163, label %scend39, label %sc38 sc38: %t165 = load ptr, ptr %t156 %t166 = getelementptr inbounds %Cmp_Node, ptr %t165, i32 0, i32 1 %t167 = load ptr, ptr %t166 %t168 = icmp eq ptr %t167, null %t169 = zext i1 %t168 to i32 %t170 = icmp ne i32 %t169, 0 %t171 = zext i1 %t170 to i32 store i32 %t171, ptr %t157 br label %scend39 scend39: %t172 = load i32, ptr %t157 %t173 = icmp ne i32 %t172, 0 br i1 %t173, label %then40, label %ifend42 then40: br label %ret ifend42: store i32 0, ptr %t174 br label %wcond43 wcond43: %t175 = load i32, ptr %t174 %t176 = load ptr, ptr @g_g_sn_call %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 %wbody44, label %wend45 wbody44: %t182 = load ptr, ptr @g_g_sn_call %t183 = load i32, ptr %t174 %t184 = getelementptr inbounds %LSlice, ptr %t182, i32 0, i32 0 %t185 = load ptr, ptr %t184 %t186 = getelementptr inbounds %LSlice, ptr %t182, i32 0, i32 1 %t187 = load i32, ptr %t186 %t188 = icmp ult i32 %t183, %t187 br i1 %t188, label %ixok46, label %ixbad47 ixbad47: store i32 9100, ptr @lp_site %t189 = call ptr @lp_win_stdio(i32 2) store i32 0, ptr @lp_site call i32 (ptr, ptr, ...) @fprintf(ptr %t189, ptr @.fmt_bounds, ptr @.str16358, i32 %t183, i32 %t187) call void @exit(i32 1) unreachable ixok46: %t190 = getelementptr inbounds ptr, ptr %t185, i32 %t183 %t191 = load ptr, ptr %t190 store ptr %t191, ptr %t192 %t197 = load ptr, ptr @g_g_sn_tag %t198 = load i32, ptr %t174 %t199 = getelementptr inbounds %LSlice, ptr %t197, i32 0, i32 0 %t200 = load ptr, ptr %t199 %t201 = getelementptr inbounds %LSlice, ptr %t197, i32 0, i32 1 %t202 = load i32, ptr %t201 %t203 = icmp ult i32 %t198, %t202 br i1 %t203, label %ixok48, label %ixbad49 ixbad49: store i32 9101, ptr @lp_site %t204 = call ptr @lp_win_stdio(i32 2) store i32 0, ptr @lp_site call i32 (ptr, ptr, ...) @fprintf(ptr %t204, ptr @.fmt_bounds, ptr @.str16359, i32 %t198, i32 %t202) call void @exit(i32 1) unreachable ixok48: %t205 = getelementptr inbounds ptr, ptr %t200, i32 %t198 %t206 = load ptr, ptr %t205 %t207 = load ptr, ptr %t156 %t208 = getelementptr inbounds %Cmp_Node, ptr %t207, i32 0, i32 1 %t209 = load ptr, ptr %t208 %t210 = call i32 @lp_str_eq(ptr %t206, ptr %t209) %t211 = icmp ne i32 %t210, 0 %t212 = zext i1 %t211 to i32 store i32 %t212, ptr %t196 br i1 %t211, label %sc50, label %scend51 sc50: %t213 = load ptr, ptr @g_g_sn_via %t214 = load i32, ptr %t174 %t215 = getelementptr inbounds %LSlice, ptr %t213, i32 0, i32 0 %t216 = load ptr, ptr %t215 %t217 = getelementptr inbounds %LSlice, ptr %t213, i32 0, i32 1 %t218 = load i32, ptr %t217 %t219 = icmp ult i32 %t214, %t218 br i1 %t219, label %ixok52, label %ixbad53 ixbad53: store i32 9102, ptr @lp_site %t220 = call ptr @lp_win_stdio(i32 2) store i32 0, ptr @lp_site call i32 (ptr, ptr, ...) @fprintf(ptr %t220, ptr @.fmt_bounds, ptr @.str16360, i32 %t214, i32 %t218) call void @exit(i32 1) unreachable ixok52: %t221 = getelementptr inbounds ptr, ptr %t216, i32 %t214 %t222 = load ptr, ptr %t221 %t223 = load ptr, ptr %t7 %t224 = call i32 @lp_str_eq(ptr %t222, ptr %t223) %t225 = icmp ne i32 %t224, 0 %t226 = zext i1 %t225 to i32 store i32 %t226, ptr %t196 br label %scend51 scend51: %t227 = load i32, ptr %t196 %t228 = icmp ne i32 %t227, 0 %t229 = zext i1 %t228 to i32 store i32 %t229, ptr %t195 br i1 %t228, label %sc54, label %scend55 sc54: %t230 = load ptr, ptr %t192 %t231 = getelementptr inbounds %Cmp_Node, ptr %t230, i32 0, i32 9 %t232 = load ptr, ptr %t231 %t233 = load ptr, ptr %t0 %t234 = getelementptr inbounds %Cmp_Node, ptr %t233, i32 0, i32 9 %t235 = load ptr, ptr %t234 %t236 = call i32 @lp_str_eq(ptr %t232, ptr %t235) %t237 = icmp ne i32 %t236, 0 %t238 = zext i1 %t237 to i32 store i32 %t238, ptr %t195 br label %scend55 scend55: %t239 = load i32, ptr %t195 %t240 = icmp ne i32 %t239, 0 %t241 = zext i1 %t240 to i32 store i32 %t241, ptr %t194 br i1 %t240, label %sc56, label %scend57 sc56: %t242 = load ptr, ptr %t192 %t243 = getelementptr inbounds %Cmp_Node, ptr %t242, i32 0, i32 4 %t244 = load ptr, ptr %t243 %t245 = getelementptr inbounds %Cmp_Node, ptr %t244, i32 0, i32 8 %t246 = load i32, ptr %t245 %t247 = load ptr, ptr %t0 %t248 = getelementptr inbounds %Cmp_Node, ptr %t247, i32 0, i32 4 %t249 = load ptr, ptr %t248 %t250 = getelementptr inbounds %Cmp_Node, ptr %t249, i32 0, i32 8 %t251 = load i32, ptr %t250 %t252 = icmp eq i32 %t246, %t251 %t253 = zext i1 %t252 to i32 %t254 = icmp ne i32 %t253, 0 %t255 = zext i1 %t254 to i32 store i32 %t255, ptr %t194 br label %scend57 scend57: %t256 = load i32, ptr %t194 %t257 = icmp ne i32 %t256, 0 %t258 = zext i1 %t257 to i32 store i32 %t258, ptr %t193 br i1 %t257, label %sc58, label %scend59 sc58: %t259 = load ptr, ptr %t192 %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 18 %t263 = load i32, ptr %t262 %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 18 %t268 = load i32, ptr %t267 %t269 = icmp eq i32 %t263, %t268 %t270 = zext i1 %t269 to i32 %t271 = icmp ne i32 %t270, 0 %t272 = zext i1 %t271 to i32 store i32 %t272, ptr %t193 br label %scend59 scend59: %t273 = load i32, ptr %t193 %t274 = icmp ne i32 %t273, 0 br i1 %t274, label %then60, label %ifend62 then60: br label %ret ifend62: %t275 = load i32, ptr %t174 %t276 = add i32 %t275, 1 store i32 %t276, ptr %t174 br label %wcond43 wend45: store ptr null, ptr %t277 %t278 = load ptr, ptr %t0 %t279 = getelementptr inbounds %Cmp_Node, ptr %t278, i32 0, i32 7 %t280 = load ptr, ptr %t279 %t281 = load ptr, ptr %t0 %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 1 %t285 = load i32, ptr %t284 %t286 = sub i32 %t285, 1 %t287 = getelementptr inbounds %LSlice, ptr %t280, i32 0, i32 0 %t288 = load ptr, ptr %t287 %t289 = getelementptr inbounds %LSlice, ptr %t280, i32 0, i32 1 %t290 = load i32, ptr %t289 %t291 = icmp ult i32 %t286, %t290 br i1 %t291, label %ixok63, label %ixbad64 ixbad64: store i32 9103, ptr @lp_site %t292 = call ptr @lp_win_stdio(i32 2) store i32 0, ptr @lp_site call i32 (ptr, ptr, ...) @fprintf(ptr %t292, ptr @.fmt_bounds, ptr @.str16361, i32 %t286, i32 %t290) call void @exit(i32 1) unreachable ixok63: %t293 = getelementptr inbounds ptr, ptr %t288, i32 %t286 %t294 = load ptr, ptr %t293 store ptr %t294, ptr %t295 %t297 = load ptr, ptr %t295 %t298 = getelementptr inbounds %Cmp_Node, ptr %t297, i32 0, i32 0 %t299 = load i32, ptr %t298 %t300 = icmp eq i32 %t299, 55 %t301 = zext i1 %t300 to i32 %t302 = icmp ne i32 %t301, 0 %t303 = zext i1 %t302 to i32 store i32 %t303, ptr %t296 br i1 %t302, label %sc65, label %scend66 sc65: %t304 = load ptr, ptr %t295 %t305 = getelementptr inbounds %Cmp_Node, ptr %t304, i32 0, i32 1 %t306 = load ptr, ptr %t305 %t307 = icmp ne ptr %t306, null %t308 = zext i1 %t307 to i32 %t309 = icmp ne i32 %t308, 0 %t310 = zext i1 %t309 to i32 store i32 %t310, ptr %t296 br label %scend66 scend66: %t311 = load i32, ptr %t296 %t312 = icmp ne i32 %t311, 0 br i1 %t312, label %then67, label %ifend69 then67: %t313 = load ptr, ptr %t295 %t314 = getelementptr inbounds %Cmp_Node, ptr %t313, i32 0, i32 1 %t315 = load ptr, ptr %t314 %t316 = call ptr @fn_sc_name(ptr %t315) store ptr %t316, ptr %t277 br label %ifend69 ifend69: %t317 = load ptr, ptr @g_g_sn_tag %t318 = load ptr, ptr %t156 %t319 = getelementptr inbounds %Cmp_Node, ptr %t318, i32 0, i32 1 %t320 = load ptr, ptr %t319 %t321 = getelementptr inbounds %LSlice, ptr %t317, i32 0, i32 1 %t322 = getelementptr inbounds %LSlice, ptr %t317, i32 0, i32 2 %t323 = getelementptr inbounds %LSlice, ptr %t317, i32 0, i32 0 %t324 = load i32, ptr %t321 %t325 = load i32, ptr %t322 %t326 = icmp sge i32 %t324, %t325 br i1 %t326, label %grow70, label %put71 grow70: %t327 = mul i32 %t325, 2 %t328 = icmp eq i32 %t325, 0 %t329 = select i1 %t328, i32 8, i32 %t327 %t330 = getelementptr ptr, ptr null, i32 1 %t331 = ptrtoint ptr %t330 to i64 %t332 = zext i32 %t329 to i64 %t333 = mul i64 %t332, %t331 %t334 = load ptr, ptr %t323 store i32 9104, ptr @lp_site %t335 = call ptr @lp_realloc(ptr %t334, i64 %t333) store i32 0, ptr @lp_site store ptr %t335, ptr %t323 store i32 %t329, ptr %t322 br label %put71 put71: %t336 = load ptr, ptr %t323 %t337 = getelementptr inbounds ptr, ptr %t336, i32 %t324 store ptr %t320, ptr %t337 %t338 = add i32 %t324, 1 store i32 %t338, ptr %t321 %t339 = load ptr, ptr @g_g_sn_via %t340 = load ptr, ptr %t7 %t341 = getelementptr inbounds %LSlice, ptr %t339, i32 0, i32 1 %t342 = getelementptr inbounds %LSlice, ptr %t339, i32 0, i32 2 %t343 = getelementptr inbounds %LSlice, ptr %t339, i32 0, i32 0 %t344 = load i32, ptr %t341 %t345 = load i32, ptr %t342 %t346 = icmp sge i32 %t344, %t345 br i1 %t346, label %grow72, label %put73 grow72: %t347 = mul i32 %t345, 2 %t348 = icmp eq i32 %t345, 0 %t349 = select i1 %t348, i32 8, i32 %t347 %t350 = getelementptr ptr, ptr null, i32 1 %t351 = ptrtoint ptr %t350 to i64 %t352 = zext i32 %t349 to i64 %t353 = mul i64 %t352, %t351 %t354 = load ptr, ptr %t343 store i32 9105, ptr @lp_site %t355 = call ptr @lp_realloc(ptr %t354, i64 %t353) store i32 0, ptr @lp_site store ptr %t355, ptr %t343 store i32 %t349, ptr %t342 br label %put73 put73: %t356 = load ptr, ptr %t343 %t357 = getelementptr inbounds ptr, ptr %t356, i32 %t344 store ptr %t340, ptr %t357 %t358 = add i32 %t344, 1 store i32 %t358, ptr %t341 %t359 = load ptr, ptr @g_g_sn_fn %t360 = load ptr, ptr %t277 %t361 = getelementptr inbounds %LSlice, ptr %t359, i32 0, i32 1 %t362 = getelementptr inbounds %LSlice, ptr %t359, i32 0, i32 2 %t363 = getelementptr inbounds %LSlice, ptr %t359, i32 0, i32 0 %t364 = load i32, ptr %t361 %t365 = load i32, ptr %t362 %t366 = icmp sge i32 %t364, %t365 br i1 %t366, label %grow74, label %put75 grow74: %t367 = mul i32 %t365, 2 %t368 = icmp eq i32 %t365, 0 %t369 = select i1 %t368, i32 8, i32 %t367 %t370 = getelementptr ptr, ptr null, i32 1 %t371 = ptrtoint ptr %t370 to i64 %t372 = zext i32 %t369 to i64 %t373 = mul i64 %t372, %t371 %t374 = load ptr, ptr %t363 store i32 9106, ptr @lp_site %t375 = call ptr @lp_realloc(ptr %t374, i64 %t373) store i32 0, ptr @lp_site store ptr %t375, ptr %t363 store i32 %t369, ptr %t362 br label %put75 put75: %t376 = load ptr, ptr %t363 %t377 = getelementptr inbounds ptr, ptr %t376, i32 %t364 store ptr %t360, ptr %t377 %t378 = add i32 %t364, 1 store i32 %t378, ptr %t361 %t379 = load ptr, ptr @g_g_sn_call %t380 = load ptr, ptr %t0 %t381 = getelementptr inbounds %LSlice, ptr %t379, i32 0, i32 1 %t382 = getelementptr inbounds %LSlice, ptr %t379, i32 0, i32 2 %t383 = getelementptr inbounds %LSlice, ptr %t379, i32 0, i32 0 %t384 = load i32, ptr %t381 %t385 = load i32, ptr %t382 %t386 = icmp sge i32 %t384, %t385 br i1 %t386, label %grow76, label %put77 grow76: %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 store i32 9107, ptr @lp_site %t395 = call ptr @lp_realloc(ptr %t394, i64 %t393) store i32 0, ptr @lp_site store ptr %t395, ptr %t383 store i32 %t389, ptr %t382 br label %put77 put77: %t396 = load ptr, ptr %t383 %t397 = getelementptr inbounds ptr, ptr %t396, i32 %t384 store ptr %t380, ptr %t397 %t398 = add i32 %t384, 1 store i32 %t398, ptr %t381 br label %ret ret: ret void } define void @fn_sc_natives(ptr %arg_b) { entry: %t0 = alloca ptr %t7 = alloca ptr %t14 = alloca ptr %t15 = alloca i32 %t33 = alloca ptr %t125 = alloca i32 %t136 = alloca ptr store ptr %arg_b, ptr %t0 %t1 = getelementptr %LSlice, ptr null, i32 1 %t2 = ptrtoint ptr %t1 to i64 store i32 9108, ptr @lp_site %t3 = call ptr @lp_malloc(i64 %t2) store i32 0, ptr @lp_site %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 %t8 = getelementptr %LSlice, ptr null, i32 1 %t9 = ptrtoint ptr %t8 to i64 store i32 9109, ptr @lp_site %t10 = call ptr @lp_malloc(i64 %t9) store i32 0, ptr @lp_site %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 @g_g_sn_tag %t18 = getelementptr inbounds %LSlice, ptr %t17, i32 0, i32 1 %t19 = load i32, ptr %t18 %t20 = icmp slt i32 %t16, %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 @g_g_sn_call %t24 = load i32, ptr %t15 %t25 = getelementptr inbounds %LSlice, ptr %t23, i32 0, i32 0 %t26 = load ptr, ptr %t25 %t27 = getelementptr inbounds %LSlice, ptr %t23, i32 0, i32 1 %t28 = load i32, ptr %t27 %t29 = icmp ult i32 %t24, %t28 br i1 %t29, label %ixok3, label %ixbad4 ixbad4: store i32 9110, ptr @lp_site %t30 = call ptr @lp_win_stdio(i32 2) store i32 0, ptr @lp_site call i32 (ptr, ptr, ...) @fprintf(ptr %t30, ptr @.fmt_bounds, ptr @.str16363, i32 %t24, i32 %t28) call void @exit(i32 1) unreachable ixok3: %t31 = getelementptr inbounds ptr, ptr %t26, i32 %t24 %t32 = load ptr, ptr %t31 store ptr %t32, ptr %t33 %t34 = load ptr, ptr %t7 %t35 = load i32, ptr %t15 %t36 = getelementptr inbounds %LSlice, ptr %t34, i32 0, i32 1 %t37 = getelementptr inbounds %LSlice, ptr %t34, i32 0, i32 2 %t38 = getelementptr inbounds %LSlice, ptr %t34, i32 0, i32 0 %t39 = load i32, ptr %t36 %t40 = load i32, ptr %t37 %t41 = icmp sge i32 %t39, %t40 br i1 %t41, label %grow5, label %put6 grow5: %t42 = mul i32 %t40, 2 %t43 = icmp eq i32 %t40, 0 %t44 = select i1 %t43, i32 8, i32 %t42 %t45 = getelementptr i32, ptr null, i32 1 %t46 = ptrtoint ptr %t45 to i64 %t47 = zext i32 %t44 to i64 %t48 = mul i64 %t47, %t46 %t49 = load ptr, ptr %t38 store i32 9111, ptr @lp_site %t50 = call ptr @lp_realloc(ptr %t49, i64 %t48) store i32 0, ptr @lp_site store ptr %t50, ptr %t38 store i32 %t44, ptr %t37 br label %put6 put6: %t51 = load ptr, ptr %t38 %t52 = getelementptr inbounds i32, ptr %t51, i32 %t39 store i32 %t35, ptr %t52 %t53 = add i32 %t39, 1 store i32 %t53, ptr %t36 %t54 = load ptr, ptr %t14 %t55 = load ptr, ptr @g_g_sn_tag %t56 = load i32, ptr %t15 %t57 = getelementptr inbounds %LSlice, ptr %t55, i32 0, i32 0 %t58 = load ptr, ptr %t57 %t59 = getelementptr inbounds %LSlice, ptr %t55, i32 0, i32 1 %t60 = load i32, ptr %t59 %t61 = icmp ult i32 %t56, %t60 br i1 %t61, label %ixok7, label %ixbad8 ixbad8: store i32 9112, ptr @lp_site %t62 = call ptr @lp_win_stdio(i32 2) store i32 0, ptr @lp_site call i32 (ptr, ptr, ...) @fprintf(ptr %t62, ptr @.fmt_bounds, ptr @.str16364, i32 %t56, i32 %t60) call void @exit(i32 1) unreachable ixok7: %t63 = getelementptr inbounds ptr, ptr %t58, i32 %t56 %t64 = load ptr, ptr %t63 %t65 = load ptr, ptr %t33 %t66 = getelementptr inbounds %Cmp_Node, ptr %t65, i32 0, i32 9 %t67 = load ptr, ptr %t66 %t68 = load ptr, ptr %t33 %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 8 %t72 = load i32, ptr %t71 %t73 = call ptr @fn_sc_key(ptr %t64, ptr %t67, i32 %t72) store i32 9113, ptr @lp_site %t74 = call ptr @lp_str_concat(ptr %t73, ptr @.str16365) store i32 0, ptr @lp_site %t75 = load ptr, ptr @g_g_sn_via %t76 = load i32, ptr %t15 %t77 = getelementptr inbounds %LSlice, ptr %t75, i32 0, i32 0 %t78 = load ptr, ptr %t77 %t79 = getelementptr inbounds %LSlice, ptr %t75, i32 0, i32 1 %t80 = load i32, ptr %t79 %t81 = icmp ult i32 %t76, %t80 br i1 %t81, label %ixok9, label %ixbad10 ixbad10: store i32 9114, ptr @lp_site %t82 = call ptr @lp_win_stdio(i32 2) store i32 0, ptr @lp_site call i32 (ptr, ptr, ...) @fprintf(ptr %t82, ptr @.fmt_bounds, ptr @.str16366, i32 %t76, i32 %t80) call void @exit(i32 1) unreachable ixok9: %t83 = getelementptr inbounds ptr, ptr %t78, i32 %t76 %t84 = load ptr, ptr %t83 store i32 9115, ptr @lp_site %t85 = call ptr @lp_str_concat(ptr %t74, ptr %t84) store i32 0, ptr @lp_site call void @lp_free(ptr %t74) %t86 = getelementptr inbounds %LSlice, ptr %t54, i32 0, i32 1 %t87 = getelementptr inbounds %LSlice, ptr %t54, i32 0, i32 2 %t88 = getelementptr inbounds %LSlice, ptr %t54, i32 0, i32 0 %t89 = load i32, ptr %t86 %t90 = load i32, ptr %t87 %t91 = icmp sge i32 %t89, %t90 br i1 %t91, label %grow11, label %put12 grow11: %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 store i32 9116, ptr @lp_site %t100 = call ptr @lp_realloc(ptr %t99, i64 %t98) store i32 0, ptr @lp_site store ptr %t100, ptr %t88 store i32 %t94, ptr %t87 br label %put12 put12: %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 %t104 = load i32, ptr %t15 %t105 = add i32 %t104, 1 store i32 %t105, ptr %t15 br label %wcond0 wend2: %t106 = load ptr, ptr %t7 %t107 = load ptr, ptr %t14 call void @fn_sc_sort(ptr %t106, ptr %t107) store i32 0, ptr %t15 br label %wcond13 wcond13: %t108 = load i32, ptr %t15 %t109 = load ptr, ptr %t7 %t110 = getelementptr inbounds %LSlice, ptr %t109, i32 0, i32 1 %t111 = load i32, ptr %t110 %t112 = icmp slt i32 %t108, %t111 %t113 = zext i1 %t112 to i32 %t114 = icmp ne i32 %t113, 0 br i1 %t114, label %wbody14, label %wend15 wbody14: %t115 = load ptr, ptr %t7 %t116 = load i32, ptr %t15 %t117 = getelementptr inbounds %LSlice, ptr %t115, i32 0, i32 0 %t118 = load ptr, ptr %t117 %t119 = getelementptr inbounds %LSlice, ptr %t115, i32 0, i32 1 %t120 = load i32, ptr %t119 %t121 = icmp ult i32 %t116, %t120 br i1 %t121, label %ixok16, label %ixbad17 ixbad17: store i32 9117, ptr @lp_site %t122 = call ptr @lp_win_stdio(i32 2) store i32 0, ptr @lp_site call i32 (ptr, ptr, ...) @fprintf(ptr %t122, ptr @.fmt_bounds, ptr @.str16367, i32 %t116, i32 %t120) call void @exit(i32 1) unreachable ixok16: %t123 = getelementptr inbounds i32, ptr %t118, i32 %t116 %t124 = load i32, ptr %t123 store i32 %t124, ptr %t125 %t126 = load ptr, ptr @g_g_sn_call %t127 = load i32, ptr %t125 %t128 = getelementptr inbounds %LSlice, ptr %t126, i32 0, i32 0 %t129 = load ptr, ptr %t128 %t130 = getelementptr inbounds %LSlice, ptr %t126, i32 0, i32 1 %t131 = load i32, ptr %t130 %t132 = icmp ult i32 %t127, %t131 br i1 %t132, label %ixok18, label %ixbad19 ixbad19: store i32 9118, ptr @lp_site %t133 = call ptr @lp_win_stdio(i32 2) store i32 0, ptr @lp_site call i32 (ptr, ptr, ...) @fprintf(ptr %t133, ptr @.fmt_bounds, ptr @.str16368, i32 %t127, i32 %t131) call void @exit(i32 1) unreachable ixok18: %t134 = getelementptr inbounds ptr, ptr %t129, i32 %t127 %t135 = load ptr, ptr %t134 store ptr %t135, ptr %t136 %t137 = load ptr, ptr %t0 %t138 = load i32, ptr %t15 %t139 = icmp eq i32 %t138, 0 %t140 = zext i1 %t139 to i32 call void @fn_sc_sep(ptr %t137, i32 %t140, ptr @.str16369) %t141 = load ptr, ptr %t0 call void @fn_buf_puts(ptr %t141, ptr @.str16370) %t142 = load ptr, ptr %t0 %t143 = load ptr, ptr @g_g_sn_tag %t144 = load i32, ptr %t125 %t145 = getelementptr inbounds %LSlice, ptr %t143, i32 0, i32 0 %t146 = load ptr, ptr %t145 %t147 = getelementptr inbounds %LSlice, ptr %t143, i32 0, i32 1 %t148 = load i32, ptr %t147 %t149 = icmp ult i32 %t144, %t148 br i1 %t149, label %ixok20, label %ixbad21 ixbad21: store i32 9119, ptr @lp_site %t150 = call ptr @lp_win_stdio(i32 2) store i32 0, ptr @lp_site call i32 (ptr, ptr, ...) @fprintf(ptr %t150, ptr @.fmt_bounds, ptr @.str16371, i32 %t144, i32 %t148) call void @exit(i32 1) unreachable ixok20: %t151 = getelementptr inbounds ptr, ptr %t146, i32 %t144 %t152 = load ptr, ptr %t151 call void @fn_jq_put(ptr %t142, ptr %t152) %t153 = load ptr, ptr %t0 call void @fn_buf_puts(ptr %t153, ptr @.str16372) %t154 = load ptr, ptr %t0 %t155 = load ptr, ptr @g_g_sn_via %t156 = load i32, ptr %t125 %t157 = getelementptr inbounds %LSlice, ptr %t155, i32 0, i32 0 %t158 = load ptr, ptr %t157 %t159 = getelementptr inbounds %LSlice, ptr %t155, i32 0, i32 1 %t160 = load i32, ptr %t159 %t161 = icmp ult i32 %t156, %t160 br i1 %t161, label %ixok22, label %ixbad23 ixbad23: store i32 9120, ptr @lp_site %t162 = call ptr @lp_win_stdio(i32 2) store i32 0, ptr @lp_site call i32 (ptr, ptr, ...) @fprintf(ptr %t162, ptr @.fmt_bounds, ptr @.str16373, i32 %t156, i32 %t160) call void @exit(i32 1) unreachable ixok22: %t163 = getelementptr inbounds ptr, ptr %t158, i32 %t156 %t164 = load ptr, ptr %t163 call void @fn_jq_put(ptr %t154, ptr %t164) %t165 = load ptr, ptr %t0 call void @fn_buf_puts(ptr %t165, ptr @.str16374) %t166 = load ptr, ptr %t0 %t167 = load ptr, ptr @g_g_sn_fn %t168 = load i32, ptr %t125 %t169 = getelementptr inbounds %LSlice, ptr %t167, i32 0, i32 0 %t170 = load ptr, ptr %t169 %t171 = getelementptr inbounds %LSlice, ptr %t167, i32 0, i32 1 %t172 = load i32, ptr %t171 %t173 = icmp ult i32 %t168, %t172 br i1 %t173, label %ixok24, label %ixbad25 ixbad25: store i32 9121, ptr @lp_site %t174 = call ptr @lp_win_stdio(i32 2) store i32 0, ptr @lp_site call i32 (ptr, ptr, ...) @fprintf(ptr %t174, ptr @.fmt_bounds, ptr @.str16375, i32 %t168, i32 %t172) call void @exit(i32 1) unreachable ixok24: %t175 = getelementptr inbounds ptr, ptr %t170, i32 %t168 %t176 = load ptr, ptr %t175 call void @fn_sc_str(ptr %t166, ptr %t176) %t177 = load ptr, ptr %t0 call void @fn_buf_puts(ptr %t177, ptr @.str16376) %t178 = load ptr, ptr %t0 %t179 = load ptr, ptr %t136 %t180 = getelementptr inbounds %Cmp_Node, ptr %t179, i32 0, i32 9 %t181 = load ptr, ptr %t180 %t182 = call ptr @fn_sc_mod(ptr %t181) call void @fn_sc_str(ptr %t178, ptr %t182) %t183 = load ptr, ptr %t0 call void @fn_buf_puts(ptr %t183, ptr @.str16377) %t184 = load ptr, ptr %t0 %t185 = load ptr, ptr %t136 %t186 = getelementptr inbounds %Cmp_Node, ptr %t185, i32 0, i32 9 %t187 = load ptr, ptr %t186 %t188 = load ptr, ptr %t136 %t189 = getelementptr inbounds %Cmp_Node, ptr %t188, i32 0, i32 4 %t190 = load ptr, ptr %t189 %t191 = getelementptr inbounds %Cmp_Node, ptr %t190, i32 0, i32 8 %t192 = load i32, ptr %t191 %t193 = load ptr, ptr %t136 %t194 = getelementptr inbounds %Cmp_Node, ptr %t193, i32 0, i32 4 %t195 = load ptr, ptr %t194 %t196 = getelementptr inbounds %Cmp_Node, ptr %t195, i32 0, i32 18 %t197 = load i32, ptr %t196 call void @fn_sc_at(ptr %t184, ptr %t187, i32 %t192, i32 %t197) %t198 = load ptr, ptr %t0 call void @fn_buf_puts(ptr %t198, ptr @.str16378) %t199 = load i32, ptr %t15 %t200 = add i32 %t199, 1 store i32 %t200, ptr %t15 br label %wcond13 wend15: br label %ret ret: ret void } define void @fn_sc_components(ptr %arg_b) { entry: %t0 = alloca ptr %t7 = alloca ptr %t14 = alloca ptr %t15 = alloca i32 %t138 = alloca i32 store ptr %arg_b, ptr %t0 %t1 = getelementptr %LSlice, ptr null, i32 1 %t2 = ptrtoint ptr %t1 to i64 store i32 9122, ptr @lp_site %t3 = call ptr @lp_malloc(i64 %t2) store i32 0, ptr @lp_site %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 %t8 = getelementptr %LSlice, ptr null, i32 1 %t9 = ptrtoint ptr %t8 to i64 store i32 9123, ptr @lp_site %t10 = call ptr @lp_malloc(i64 %t9) store i32 0, ptr @lp_site %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 @g_g_cm_name %t18 = getelementptr inbounds %LSlice, ptr %t17, i32 0, i32 1 %t19 = load i32, ptr %t18 %t20 = icmp slt i32 %t16, %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 @g_g_cm_file %t24 = load i32, ptr %t15 %t25 = getelementptr inbounds %LSlice, ptr %t23, i32 0, i32 0 %t26 = load ptr, ptr %t25 %t27 = getelementptr inbounds %LSlice, ptr %t23, i32 0, i32 1 %t28 = load i32, ptr %t27 %t29 = icmp ult i32 %t24, %t28 br i1 %t29, label %ixok3, label %ixbad4 ixbad4: store i32 9124, ptr @lp_site %t30 = call ptr @lp_win_stdio(i32 2) store i32 0, ptr @lp_site call i32 (ptr, ptr, ...) @fprintf(ptr %t30, ptr @.fmt_bounds, ptr @.str16380, i32 %t24, i32 %t28) call void @exit(i32 1) unreachable ixok3: %t31 = getelementptr inbounds ptr, ptr %t26, i32 %t24 %t32 = load ptr, ptr %t31 %t33 = call i32 @fn_is_runtime_file(ptr %t32) %t34 = icmp eq i32 %t33, 0 %t35 = zext i1 %t34 to i32 %t36 = icmp ne i32 %t35, 0 br i1 %t36, label %then5, label %else6 then5: %t37 = load ptr, ptr %t7 %t38 = load i32, ptr %t15 %t39 = getelementptr inbounds %LSlice, ptr %t37, i32 0, i32 1 %t40 = getelementptr inbounds %LSlice, ptr %t37, i32 0, i32 2 %t41 = getelementptr inbounds %LSlice, ptr %t37, i32 0, i32 0 %t42 = load i32, ptr %t39 %t43 = load i32, ptr %t40 %t44 = icmp sge i32 %t42, %t43 br i1 %t44, label %grow8, label %put9 grow8: %t45 = mul i32 %t43, 2 %t46 = icmp eq i32 %t43, 0 %t47 = select i1 %t46, i32 8, i32 %t45 %t48 = getelementptr i32, ptr null, i32 1 %t49 = ptrtoint ptr %t48 to i64 %t50 = zext i32 %t47 to i64 %t51 = mul i64 %t50, %t49 %t52 = load ptr, ptr %t41 store i32 9125, ptr @lp_site %t53 = call ptr @lp_realloc(ptr %t52, i64 %t51) store i32 0, ptr @lp_site store ptr %t53, ptr %t41 store i32 %t47, ptr %t40 br label %put9 put9: %t54 = load ptr, ptr %t41 %t55 = getelementptr inbounds i32, ptr %t54, i32 %t42 store i32 %t38, ptr %t55 %t56 = add i32 %t42, 1 store i32 %t56, ptr %t39 %t57 = load ptr, ptr %t14 %t58 = load ptr, ptr @g_g_cm_name %t59 = load i32, ptr %t15 %t60 = getelementptr inbounds %LSlice, ptr %t58, i32 0, i32 0 %t61 = load ptr, ptr %t60 %t62 = getelementptr inbounds %LSlice, ptr %t58, i32 0, i32 1 %t63 = load i32, ptr %t62 %t64 = icmp ult i32 %t59, %t63 br i1 %t64, label %ixok10, label %ixbad11 ixbad11: store i32 9126, ptr @lp_site %t65 = call ptr @lp_win_stdio(i32 2) store i32 0, ptr @lp_site call i32 (ptr, ptr, ...) @fprintf(ptr %t65, ptr @.fmt_bounds, ptr @.str16381, i32 %t59, i32 %t63) call void @exit(i32 1) unreachable ixok10: %t66 = getelementptr inbounds ptr, ptr %t61, i32 %t59 %t67 = load ptr, ptr %t66 %t68 = load ptr, ptr @g_g_cm_file %t69 = load i32, ptr %t15 %t70 = getelementptr inbounds %LSlice, ptr %t68, i32 0, i32 0 %t71 = load ptr, ptr %t70 %t72 = getelementptr inbounds %LSlice, ptr %t68, i32 0, i32 1 %t73 = load i32, ptr %t72 %t74 = icmp ult i32 %t69, %t73 br i1 %t74, label %ixok12, label %ixbad13 ixbad13: store i32 9127, ptr @lp_site %t75 = call ptr @lp_win_stdio(i32 2) store i32 0, ptr @lp_site call i32 (ptr, ptr, ...) @fprintf(ptr %t75, ptr @.fmt_bounds, ptr @.str16382, i32 %t69, i32 %t73) call void @exit(i32 1) unreachable ixok12: %t76 = getelementptr inbounds ptr, ptr %t71, i32 %t69 %t77 = load ptr, ptr %t76 %t78 = load ptr, ptr @g_g_cm_at %t79 = load i32, ptr %t15 %t80 = getelementptr inbounds %LSlice, ptr %t78, i32 0, i32 0 %t81 = load ptr, ptr %t80 %t82 = getelementptr inbounds %LSlice, ptr %t78, i32 0, i32 1 %t83 = load i32, ptr %t82 %t84 = icmp ult i32 %t79, %t83 br i1 %t84, label %ixok14, label %ixbad15 ixbad15: store i32 9128, ptr @lp_site %t85 = call ptr @lp_win_stdio(i32 2) store i32 0, ptr @lp_site call i32 (ptr, ptr, ...) @fprintf(ptr %t85, ptr @.fmt_bounds, ptr @.str16383, i32 %t79, i32 %t83) call void @exit(i32 1) unreachable ixok14: %t86 = getelementptr inbounds ptr, ptr %t81, i32 %t79 %t87 = load ptr, ptr %t86 %t88 = getelementptr inbounds %LSlice, ptr %t87, i32 0, i32 0 %t89 = load ptr, ptr %t88 %t90 = getelementptr inbounds %LSlice, ptr %t87, i32 0, i32 1 %t91 = load i32, ptr %t90 %t92 = icmp ult i32 0, %t91 br i1 %t92, label %ixok16, label %ixbad17 ixbad17: store i32 9129, ptr @lp_site %t93 = call ptr @lp_win_stdio(i32 2) store i32 0, ptr @lp_site call i32 (ptr, ptr, ...) @fprintf(ptr %t93, ptr @.fmt_bounds, ptr @.str16384, i32 0, i32 %t91) call void @exit(i32 1) unreachable ixok16: %t94 = getelementptr inbounds i32, ptr %t89, i32 0 %t95 = load i32, ptr %t94 %t96 = call ptr @fn_sc_key(ptr %t67, ptr %t77, i32 %t95) %t97 = getelementptr inbounds %LSlice, ptr %t57, i32 0, i32 1 %t98 = getelementptr inbounds %LSlice, ptr %t57, i32 0, i32 2 %t99 = getelementptr inbounds %LSlice, ptr %t57, i32 0, i32 0 %t100 = load i32, ptr %t97 %t101 = load i32, ptr %t98 %t102 = icmp sge i32 %t100, %t101 br i1 %t102, label %grow18, label %put19 grow18: %t103 = mul i32 %t101, 2 %t104 = icmp eq i32 %t101, 0 %t105 = select i1 %t104, i32 8, i32 %t103 %t106 = getelementptr ptr, ptr null, i32 1 %t107 = ptrtoint ptr %t106 to i64 %t108 = zext i32 %t105 to i64 %t109 = mul i64 %t108, %t107 %t110 = load ptr, ptr %t99 store i32 9130, ptr @lp_site %t111 = call ptr @lp_realloc(ptr %t110, i64 %t109) store i32 0, ptr @lp_site store ptr %t111, ptr %t99 store i32 %t105, ptr %t98 br label %put19 put19: %t112 = load ptr, ptr %t99 %t113 = getelementptr inbounds ptr, ptr %t112, i32 %t100 store ptr %t96, ptr %t113 %t114 = add i32 %t100, 1 store i32 %t114, ptr %t97 br label %ifend7 else6: %t115 = load ptr, ptr %t14 %t116 = getelementptr inbounds %LSlice, ptr %t115, i32 0, i32 1 %t117 = getelementptr inbounds %LSlice, ptr %t115, i32 0, i32 2 %t118 = getelementptr inbounds %LSlice, ptr %t115, i32 0, i32 0 %t119 = load i32, ptr %t116 %t120 = load i32, ptr %t117 %t121 = icmp sge i32 %t119, %t120 br i1 %t121, label %grow20, label %put21 grow20: %t122 = mul i32 %t120, 2 %t123 = icmp eq i32 %t120, 0 %t124 = select i1 %t123, i32 8, i32 %t122 %t125 = getelementptr ptr, ptr null, i32 1 %t126 = ptrtoint ptr %t125 to i64 %t127 = zext i32 %t124 to i64 %t128 = mul i64 %t127, %t126 %t129 = load ptr, ptr %t118 store i32 9131, ptr @lp_site %t130 = call ptr @lp_realloc(ptr %t129, i64 %t128) store i32 0, ptr @lp_site store ptr %t130, ptr %t118 store i32 %t124, ptr %t117 br label %put21 put21: %t131 = load ptr, ptr %t118 %t132 = getelementptr inbounds ptr, ptr %t131, i32 %t119 store ptr @.str16385, ptr %t132 %t133 = add i32 %t119, 1 store i32 %t133, ptr %t116 br label %ifend7 ifend7: %t134 = load i32, ptr %t15 %t135 = add i32 %t134, 1 store i32 %t135, ptr %t15 br label %wcond0 wend2: %t136 = load ptr, ptr %t7 %t137 = load ptr, ptr %t14 call void @fn_sc_sort(ptr %t136, ptr %t137) store i32 0, ptr %t138 br label %wcond22 wcond22: %t139 = load i32, ptr %t138 %t140 = load ptr, ptr %t7 %t141 = getelementptr inbounds %LSlice, ptr %t140, i32 0, i32 1 %t142 = load i32, ptr %t141 %t143 = icmp slt i32 %t139, %t142 %t144 = zext i1 %t143 to i32 %t145 = icmp ne i32 %t144, 0 br i1 %t145, label %wbody23, label %wend24 wbody23: %t146 = load ptr, ptr %t0 %t147 = load ptr, ptr %t7 %t148 = load i32, ptr %t138 %t149 = getelementptr inbounds %LSlice, ptr %t147, i32 0, i32 0 %t150 = load ptr, ptr %t149 %t151 = getelementptr inbounds %LSlice, ptr %t147, i32 0, i32 1 %t152 = load i32, ptr %t151 %t153 = icmp ult i32 %t148, %t152 br i1 %t153, label %ixok25, label %ixbad26 ixbad26: store i32 9132, ptr @lp_site %t154 = call ptr @lp_win_stdio(i32 2) store i32 0, ptr @lp_site call i32 (ptr, ptr, ...) @fprintf(ptr %t154, ptr @.fmt_bounds, ptr @.str16386, i32 %t148, i32 %t152) call void @exit(i32 1) unreachable ixok25: %t155 = getelementptr inbounds i32, ptr %t150, i32 %t148 %t156 = load i32, ptr %t155 %t157 = load i32, ptr %t138 %t158 = icmp eq i32 %t157, 0 %t159 = zext i1 %t158 to i32 call void @fn_sc_component(ptr %t146, i32 %t156, i32 %t159) %t160 = load i32, ptr %t138 %t161 = add i32 %t160, 1 store i32 %t161, ptr %t138 br label %wcond22 wend24: br label %ret ret: ret void } define void @fn_sc_component(ptr %arg_b, i32 %arg_c, i32 %arg_first) { entry: %t0 = alloca ptr %t1 = alloca i32 %t2 = alloca i32 %t13 = alloca ptr %t100 = alloca ptr %t148 = alloca i32 store ptr %arg_b, ptr %t0 store i32 %arg_c, ptr %t1 store i32 %arg_first, ptr %t2 %t3 = load ptr, ptr @g_g_cm_file %t4 = load i32, ptr %t1 %t5 = getelementptr inbounds %LSlice, ptr %t3, i32 0, i32 0 %t6 = load ptr, ptr %t5 %t7 = getelementptr inbounds %LSlice, ptr %t3, i32 0, i32 1 %t8 = load i32, ptr %t7 %t9 = icmp ult i32 %t4, %t8 br i1 %t9, label %ixok0, label %ixbad1 ixbad1: store i32 9133, ptr @lp_site %t10 = call ptr @lp_win_stdio(i32 2) store i32 0, ptr @lp_site call i32 (ptr, ptr, ...) @fprintf(ptr %t10, ptr @.fmt_bounds, ptr @.str16387, i32 %t4, i32 %t8) call void @exit(i32 1) unreachable ixok0: %t11 = getelementptr inbounds ptr, ptr %t6, i32 %t4 %t12 = load ptr, ptr %t11 store ptr %t12, ptr %t13 %t14 = load ptr, ptr %t0 %t15 = load i32, ptr %t2 call void @fn_sc_sep(ptr %t14, i32 %t15, ptr @.str16389) %t16 = load ptr, ptr %t0 call void @fn_buf_puts(ptr %t16, ptr @.str16390) %t17 = load ptr, ptr %t0 %t18 = load ptr, ptr @g_g_cm_name %t19 = load i32, ptr %t1 %t20 = getelementptr inbounds %LSlice, ptr %t18, i32 0, i32 0 %t21 = load ptr, ptr %t20 %t22 = getelementptr inbounds %LSlice, ptr %t18, i32 0, i32 1 %t23 = load i32, ptr %t22 %t24 = icmp ult i32 %t19, %t23 br i1 %t24, label %ixok2, label %ixbad3 ixbad3: store i32 9134, ptr @lp_site %t25 = call ptr @lp_win_stdio(i32 2) store i32 0, ptr @lp_site call i32 (ptr, ptr, ...) @fprintf(ptr %t25, ptr @.fmt_bounds, ptr @.str16391, i32 %t19, i32 %t23) call void @exit(i32 1) unreachable ixok2: %t26 = getelementptr inbounds ptr, ptr %t21, i32 %t19 %t27 = load ptr, ptr %t26 call void @fn_jq_put(ptr %t17, ptr %t27) %t28 = load ptr, ptr %t0 call void @fn_buf_puts(ptr %t28, ptr @.str16392) %t29 = load ptr, ptr %t0 %t30 = load ptr, ptr %t13 %t31 = call ptr @fn_sc_mod(ptr %t30) call void @fn_sc_str(ptr %t29, ptr %t31) %t32 = load ptr, ptr %t0 call void @fn_buf_puts(ptr %t32, ptr @.str16393) %t33 = load ptr, ptr %t0 %t34 = load ptr, ptr @g_g_cm_head %t35 = load i32, ptr %t1 %t36 = getelementptr inbounds %LSlice, ptr %t34, i32 0, i32 0 %t37 = load ptr, ptr %t36 %t38 = getelementptr inbounds %LSlice, ptr %t34, i32 0, i32 1 %t39 = load i32, ptr %t38 %t40 = icmp ult i32 %t35, %t39 br i1 %t40, label %ixok4, label %ixbad5 ixbad5: store i32 9135, ptr @lp_site %t41 = call ptr @lp_win_stdio(i32 2) store i32 0, ptr @lp_site call i32 (ptr, ptr, ...) @fprintf(ptr %t41, ptr @.fmt_bounds, ptr @.str16394, i32 %t35, i32 %t39) call void @exit(i32 1) unreachable ixok4: %t42 = getelementptr inbounds ptr, ptr %t37, i32 %t35 %t43 = load ptr, ptr %t42 %t44 = getelementptr inbounds %Cmp_Node, ptr %t43, i32 0, i32 10 %t45 = load i32, ptr %t44 %t46 = icmp eq i32 %t45, 1 %t47 = zext i1 %t46 to i32 call void @fn_sc_bool(ptr %t33, i32 %t47) %t48 = load ptr, ptr %t0 call void @fn_buf_puts(ptr %t48, ptr @.str16395) %t49 = load ptr, ptr %t0 %t50 = load ptr, ptr %t13 %t51 = load ptr, ptr @g_g_cm_at %t52 = load i32, ptr %t1 %t53 = getelementptr inbounds %LSlice, ptr %t51, i32 0, i32 0 %t54 = load ptr, ptr %t53 %t55 = getelementptr inbounds %LSlice, ptr %t51, i32 0, i32 1 %t56 = load i32, ptr %t55 %t57 = icmp ult i32 %t52, %t56 br i1 %t57, label %ixok6, label %ixbad7 ixbad7: store i32 9136, ptr @lp_site %t58 = call ptr @lp_win_stdio(i32 2) store i32 0, ptr @lp_site call i32 (ptr, ptr, ...) @fprintf(ptr %t58, ptr @.fmt_bounds, ptr @.str16396, i32 %t52, i32 %t56) call void @exit(i32 1) unreachable ixok6: %t59 = getelementptr inbounds ptr, ptr %t54, i32 %t52 %t60 = load ptr, ptr %t59 %t61 = getelementptr inbounds %LSlice, ptr %t60, i32 0, i32 0 %t62 = load ptr, ptr %t61 %t63 = getelementptr inbounds %LSlice, ptr %t60, i32 0, i32 1 %t64 = load i32, ptr %t63 %t65 = icmp ult i32 0, %t64 br i1 %t65, label %ixok8, label %ixbad9 ixbad9: store i32 9137, ptr @lp_site %t66 = call ptr @lp_win_stdio(i32 2) store i32 0, ptr @lp_site call i32 (ptr, ptr, ...) @fprintf(ptr %t66, ptr @.fmt_bounds, ptr @.str16397, i32 0, i32 %t64) call void @exit(i32 1) unreachable ixok8: %t67 = getelementptr inbounds i32, ptr %t62, i32 0 %t68 = load i32, ptr %t67 %t69 = load ptr, ptr @g_g_cm_at %t70 = load i32, ptr %t1 %t71 = getelementptr inbounds %LSlice, ptr %t69, i32 0, i32 0 %t72 = load ptr, ptr %t71 %t73 = getelementptr inbounds %LSlice, ptr %t69, i32 0, i32 1 %t74 = load i32, ptr %t73 %t75 = icmp ult i32 %t70, %t74 br i1 %t75, label %ixok10, label %ixbad11 ixbad11: store i32 9138, ptr @lp_site %t76 = call ptr @lp_win_stdio(i32 2) store i32 0, ptr @lp_site call i32 (ptr, ptr, ...) @fprintf(ptr %t76, ptr @.fmt_bounds, ptr @.str16398, i32 %t70, i32 %t74) call void @exit(i32 1) unreachable ixok10: %t77 = getelementptr inbounds ptr, ptr %t72, i32 %t70 %t78 = load ptr, ptr %t77 %t79 = getelementptr inbounds %LSlice, ptr %t78, i32 0, i32 0 %t80 = load ptr, ptr %t79 %t81 = getelementptr inbounds %LSlice, ptr %t78, i32 0, i32 1 %t82 = load i32, ptr %t81 %t83 = icmp ult i32 1, %t82 br i1 %t83, label %ixok12, label %ixbad13 ixbad13: store i32 9139, ptr @lp_site %t84 = call ptr @lp_win_stdio(i32 2) store i32 0, ptr @lp_site call i32 (ptr, ptr, ...) @fprintf(ptr %t84, ptr @.fmt_bounds, ptr @.str16399, i32 1, i32 %t82) call void @exit(i32 1) unreachable ixok12: %t85 = getelementptr inbounds i32, ptr %t80, i32 1 %t86 = load i32, ptr %t85 call void @fn_sc_at(ptr %t49, ptr %t50, i32 %t68, i32 %t86) %t87 = load ptr, ptr %t0 call void @fn_buf_puts(ptr %t87, ptr @.str16400) %t88 = load ptr, ptr %t0 %t89 = load ptr, ptr @g_g_cm_xml_path %t90 = load i32, ptr %t1 %t91 = getelementptr inbounds %LSlice, ptr %t89, i32 0, i32 0 %t92 = load ptr, ptr %t91 %t93 = getelementptr inbounds %LSlice, ptr %t89, i32 0, i32 1 %t94 = load i32, ptr %t93 %t95 = icmp ult i32 %t90, %t94 br i1 %t95, label %ixok14, label %ixbad15 ixbad15: store i32 9140, ptr @lp_site %t96 = call ptr @lp_win_stdio(i32 2) store i32 0, ptr @lp_site call i32 (ptr, ptr, ...) @fprintf(ptr %t96, ptr @.fmt_bounds, ptr @.str16401, i32 %t90, i32 %t94) call void @exit(i32 1) unreachable ixok14: %t97 = getelementptr inbounds ptr, ptr %t92, i32 %t90 %t98 = load ptr, ptr %t97 call void @fn_jq_put(ptr %t88, ptr %t98) %t99 = load ptr, ptr %t0 call void @fn_buf_puts(ptr %t99, ptr @.str16402) %t101 = load ptr, ptr @g_g_cm_lss_path %t102 = load i32, ptr %t1 %t103 = getelementptr inbounds %LSlice, ptr %t101, i32 0, i32 0 %t104 = load ptr, ptr %t103 %t105 = getelementptr inbounds %LSlice, ptr %t101, i32 0, i32 1 %t106 = load i32, ptr %t105 %t107 = icmp ult i32 %t102, %t106 br i1 %t107, label %ixok16, label %ixbad17 ixbad17: store i32 9141, ptr @lp_site %t108 = call ptr @lp_win_stdio(i32 2) store i32 0, ptr @lp_site call i32 (ptr, ptr, ...) @fprintf(ptr %t108, ptr @.fmt_bounds, ptr @.str16403, i32 %t102, i32 %t106) call void @exit(i32 1) unreachable ixok16: %t109 = getelementptr inbounds ptr, ptr %t104, i32 %t102 %t110 = load ptr, ptr %t109 store ptr %t110, ptr %t100 %t111 = load ptr, ptr %t100 %t112 = call i64 @strlen(ptr %t111) %t113 = trunc i64 %t112 to i32 %t114 = icmp eq i32 %t113, 0 %t115 = zext i1 %t114 to i32 %t116 = icmp ne i32 %t115, 0 br i1 %t116, label %then18, label %ifend20 then18: store ptr null, ptr %t100 br label %ifend20 ifend20: %t117 = load ptr, ptr %t0 %t118 = load ptr, ptr %t100 call void @fn_sc_str(ptr %t117, ptr %t118) %t119 = load ptr, ptr %t0 call void @fn_buf_puts(ptr %t119, ptr @.str16404) %t120 = load ptr, ptr %t0 %t121 = load ptr, ptr %t13 %t122 = load ptr, ptr @g_g_cm_at %t123 = load i32, ptr %t1 %t124 = getelementptr inbounds %LSlice, ptr %t122, i32 0, i32 0 %t125 = load ptr, ptr %t124 %t126 = getelementptr inbounds %LSlice, ptr %t122, i32 0, i32 1 %t127 = load i32, ptr %t126 %t128 = icmp ult i32 %t123, %t127 br i1 %t128, label %ixok21, label %ixbad22 ixbad22: store i32 9142, ptr @lp_site %t129 = call ptr @lp_win_stdio(i32 2) store i32 0, ptr @lp_site call i32 (ptr, ptr, ...) @fprintf(ptr %t129, ptr @.fmt_bounds, ptr @.str16405, i32 %t123, i32 %t127) call void @exit(i32 1) unreachable ixok21: %t130 = getelementptr inbounds ptr, ptr %t125, i32 %t123 %t131 = load ptr, ptr %t130 %t132 = getelementptr inbounds %LSlice, ptr %t131, i32 0, i32 0 %t133 = load ptr, ptr %t132 %t134 = getelementptr inbounds %LSlice, ptr %t131, i32 0, i32 1 %t135 = load i32, ptr %t134 %t136 = icmp ult i32 2, %t135 br i1 %t136, label %ixok23, label %ixbad24 ixbad24: store i32 9143, ptr @lp_site %t137 = call ptr @lp_win_stdio(i32 2) store i32 0, ptr @lp_site call i32 (ptr, ptr, ...) @fprintf(ptr %t137, ptr @.fmt_bounds, ptr @.str16406, i32 2, i32 %t135) call void @exit(i32 1) unreachable ixok23: %t138 = getelementptr inbounds i32, ptr %t133, i32 2 %t139 = load i32, ptr %t138 %t140 = call ptr @fn_sc_doc(ptr %t121, i32 %t139) call void @fn_sc_str(ptr %t120, ptr %t140) %t141 = load ptr, ptr %t0 call void @fn_buf_puts(ptr %t141, ptr @.str16407) %t142 = load ptr, ptr %t0 %t143 = load i32, ptr %t1 call void @fn_sc_cm_keeps(ptr %t142, i32 %t143, i32 1) %t144 = load ptr, ptr %t0 call void @fn_buf_puts(ptr %t144, ptr @.str16408) %t145 = load ptr, ptr %t0 %t146 = load i32, ptr %t1 call void @fn_sc_cm_keeps(ptr %t145, i32 %t146, i32 0) %t147 = load ptr, ptr %t0 call void @fn_buf_puts(ptr %t147, ptr @.str16409) store i32 0, ptr %t148 br label %wcond25 wcond25: %t149 = load i32, ptr %t148 %t150 = load ptr, ptr @g_g_cm_ps %t151 = load i32, ptr %t1 %t152 = getelementptr inbounds %LSlice, ptr %t150, i32 0, i32 0 %t153 = load ptr, ptr %t152 %t154 = getelementptr inbounds %LSlice, ptr %t150, i32 0, i32 1 %t155 = load i32, ptr %t154 %t156 = icmp ult i32 %t151, %t155 br i1 %t156, label %ixok28, label %ixbad29 ixbad29: store i32 9144, ptr @lp_site %t157 = call ptr @lp_win_stdio(i32 2) store i32 0, ptr @lp_site call i32 (ptr, ptr, ...) @fprintf(ptr %t157, ptr @.fmt_bounds, ptr @.str16410, i32 %t151, i32 %t155) call void @exit(i32 1) unreachable ixok28: %t158 = getelementptr inbounds ptr, ptr %t153, i32 %t151 %t159 = load ptr, ptr %t158 %t160 = getelementptr inbounds %LSlice, ptr %t159, i32 0, i32 1 %t161 = load i32, ptr %t160 %t162 = icmp slt i32 %t149, %t161 %t163 = zext i1 %t162 to i32 %t164 = icmp ne i32 %t163, 0 br i1 %t164, label %wbody26, label %wend27 wbody26: %t165 = load i32, ptr %t148 %t166 = icmp sgt i32 %t165, 0 %t167 = zext i1 %t166 to i32 %t168 = icmp ne i32 %t167, 0 br i1 %t168, label %then30, label %ifend32 then30: %t169 = load ptr, ptr %t0 call void @fn_buf_puts(ptr %t169, ptr @.str16411) br label %ifend32 ifend32: %t170 = load ptr, ptr %t0 %t171 = load ptr, ptr @g_g_cm_ps %t172 = load i32, ptr %t1 %t173 = getelementptr inbounds %LSlice, ptr %t171, i32 0, i32 0 %t174 = load ptr, ptr %t173 %t175 = getelementptr inbounds %LSlice, ptr %t171, i32 0, i32 1 %t176 = load i32, ptr %t175 %t177 = icmp ult i32 %t172, %t176 br i1 %t177, label %ixok33, label %ixbad34 ixbad34: store i32 9145, ptr @lp_site %t178 = call ptr @lp_win_stdio(i32 2) store i32 0, ptr @lp_site call i32 (ptr, ptr, ...) @fprintf(ptr %t178, ptr @.fmt_bounds, ptr @.str16412, i32 %t172, i32 %t176) call void @exit(i32 1) unreachable ixok33: %t179 = getelementptr inbounds ptr, ptr %t174, i32 %t172 %t180 = load ptr, ptr %t179 %t181 = load i32, ptr %t148 %t182 = getelementptr inbounds %LSlice, ptr %t180, i32 0, i32 0 %t183 = load ptr, ptr %t182 %t184 = getelementptr inbounds %LSlice, ptr %t180, i32 0, i32 1 %t185 = load i32, ptr %t184 %t186 = icmp ult i32 %t181, %t185 br i1 %t186, label %ixok35, label %ixbad36 ixbad36: store i32 9146, ptr @lp_site %t187 = call ptr @lp_win_stdio(i32 2) store i32 0, ptr @lp_site call i32 (ptr, ptr, ...) @fprintf(ptr %t187, ptr @.fmt_bounds, ptr @.str16413, i32 %t181, i32 %t185) call void @exit(i32 1) unreachable ixok35: %t188 = getelementptr inbounds ptr, ptr %t183, i32 %t181 %t189 = load ptr, ptr %t188 %t190 = getelementptr inbounds %Cmp_Node, ptr %t189, i32 0, i32 3 %t191 = load ptr, ptr %t190 %t192 = call ptr @fn_sc_ty(ptr %t191) call void @fn_jq_put(ptr %t170, ptr %t192) %t193 = load i32, ptr %t148 %t194 = add i32 %t193, 1 store i32 %t194, ptr %t148 br label %wcond25 wend27: %t195 = load ptr, ptr %t0 call void @fn_buf_puts(ptr %t195, ptr @.str16414) store i32 0, ptr %t148 br label %wcond37 wcond37: %t196 = load i32, ptr %t148 %t197 = load ptr, ptr @g_g_cm_fields %t198 = load i32, ptr %t1 %t199 = getelementptr inbounds %LSlice, ptr %t197, i32 0, i32 0 %t200 = load ptr, ptr %t199 %t201 = getelementptr inbounds %LSlice, ptr %t197, i32 0, i32 1 %t202 = load i32, ptr %t201 %t203 = icmp ult i32 %t198, %t202 br i1 %t203, label %ixok40, label %ixbad41 ixbad41: store i32 9147, ptr @lp_site %t204 = call ptr @lp_win_stdio(i32 2) store i32 0, ptr @lp_site call i32 (ptr, ptr, ...) @fprintf(ptr %t204, ptr @.fmt_bounds, ptr @.str16415, i32 %t198, i32 %t202) call void @exit(i32 1) unreachable ixok40: %t205 = getelementptr inbounds ptr, ptr %t200, i32 %t198 %t206 = load ptr, ptr %t205 %t207 = getelementptr inbounds %LSlice, ptr %t206, i32 0, i32 1 %t208 = load i32, ptr %t207 %t209 = icmp slt i32 %t196, %t208 %t210 = zext i1 %t209 to i32 %t211 = icmp ne i32 %t210, 0 br i1 %t211, label %wbody38, label %wend39 wbody38: %t212 = load ptr, ptr %t0 %t213 = load i32, ptr %t148 %t214 = icmp eq i32 %t213, 0 %t215 = zext i1 %t214 to i32 call void @fn_sc_sep(ptr %t212, i32 %t215, ptr @.str16416) %t216 = load ptr, ptr %t0 call void @fn_buf_puts(ptr %t216, ptr @.str16417) %t217 = load ptr, ptr %t0 %t218 = load ptr, ptr @g_g_cm_fnames %t219 = load i32, ptr %t1 %t220 = getelementptr inbounds %LSlice, ptr %t218, i32 0, i32 0 %t221 = load ptr, ptr %t220 %t222 = getelementptr inbounds %LSlice, ptr %t218, i32 0, i32 1 %t223 = load i32, ptr %t222 %t224 = icmp ult i32 %t219, %t223 br i1 %t224, label %ixok42, label %ixbad43 ixbad43: store i32 9148, ptr @lp_site %t225 = call ptr @lp_win_stdio(i32 2) store i32 0, ptr @lp_site call i32 (ptr, ptr, ...) @fprintf(ptr %t225, ptr @.fmt_bounds, ptr @.str16418, i32 %t219, i32 %t223) call void @exit(i32 1) unreachable ixok42: %t226 = getelementptr inbounds ptr, ptr %t221, i32 %t219 %t227 = load ptr, ptr %t226 %t228 = load i32, ptr %t148 %t229 = getelementptr inbounds %LSlice, ptr %t227, i32 0, i32 0 %t230 = load ptr, ptr %t229 %t231 = getelementptr inbounds %LSlice, ptr %t227, i32 0, i32 1 %t232 = load i32, ptr %t231 %t233 = icmp ult i32 %t228, %t232 br i1 %t233, label %ixok44, label %ixbad45 ixbad45: store i32 9149, ptr @lp_site %t234 = call ptr @lp_win_stdio(i32 2) store i32 0, ptr @lp_site call i32 (ptr, ptr, ...) @fprintf(ptr %t234, ptr @.fmt_bounds, ptr @.str16419, i32 %t228, i32 %t232) call void @exit(i32 1) unreachable ixok44: %t235 = getelementptr inbounds ptr, ptr %t230, i32 %t228 %t236 = load ptr, ptr %t235 call void @fn_jq_put(ptr %t217, ptr %t236) %t237 = load ptr, ptr %t0 call void @fn_buf_puts(ptr %t237, ptr @.str16420) %t238 = load ptr, ptr %t0 %t239 = load ptr, ptr @g_g_cm_fields %t240 = load i32, ptr %t1 %t241 = getelementptr inbounds %LSlice, ptr %t239, i32 0, i32 0 %t242 = load ptr, ptr %t241 %t243 = getelementptr inbounds %LSlice, ptr %t239, i32 0, i32 1 %t244 = load i32, ptr %t243 %t245 = icmp ult i32 %t240, %t244 br i1 %t245, label %ixok46, label %ixbad47 ixbad47: store i32 9150, ptr @lp_site %t246 = call ptr @lp_win_stdio(i32 2) store i32 0, ptr @lp_site call i32 (ptr, ptr, ...) @fprintf(ptr %t246, ptr @.fmt_bounds, ptr @.str16421, i32 %t240, i32 %t244) call void @exit(i32 1) unreachable ixok46: %t247 = getelementptr inbounds ptr, ptr %t242, i32 %t240 %t248 = load ptr, ptr %t247 %t249 = load i32, ptr %t148 %t250 = getelementptr inbounds %LSlice, ptr %t248, i32 0, i32 0 %t251 = load ptr, ptr %t250 %t252 = getelementptr inbounds %LSlice, ptr %t248, i32 0, i32 1 %t253 = load i32, ptr %t252 %t254 = icmp ult i32 %t249, %t253 br i1 %t254, label %ixok48, label %ixbad49 ixbad49: store i32 9151, ptr @lp_site %t255 = call ptr @lp_win_stdio(i32 2) store i32 0, ptr @lp_site call i32 (ptr, ptr, ...) @fprintf(ptr %t255, ptr @.fmt_bounds, ptr @.str16422, i32 %t249, i32 %t253) call void @exit(i32 1) unreachable ixok48: %t256 = getelementptr inbounds ptr, ptr %t251, i32 %t249 %t257 = load ptr, ptr %t256 %t258 = getelementptr inbounds %Cmp_Node, ptr %t257, i32 0, i32 3 %t259 = load ptr, ptr %t258 %t260 = call ptr @fn_sc_ty(ptr %t259) call void @fn_jq_put(ptr %t238, ptr %t260) %t261 = load ptr, ptr %t0 call void @fn_buf_puts(ptr %t261, ptr @.str16423) %t262 = load ptr, ptr %t0 %t263 = load ptr, ptr @g_g_cm_fline %t264 = load i32, ptr %t1 %t265 = getelementptr inbounds %LSlice, ptr %t263, i32 0, i32 0 %t266 = load ptr, ptr %t265 %t267 = getelementptr inbounds %LSlice, ptr %t263, i32 0, i32 1 %t268 = load i32, ptr %t267 %t269 = icmp ult i32 %t264, %t268 br i1 %t269, label %ixok50, label %ixbad51 ixbad51: store i32 9152, ptr @lp_site %t270 = call ptr @lp_win_stdio(i32 2) store i32 0, ptr @lp_site call i32 (ptr, ptr, ...) @fprintf(ptr %t270, ptr @.fmt_bounds, ptr @.str16424, i32 %t264, i32 %t268) call void @exit(i32 1) unreachable ixok50: %t271 = getelementptr inbounds ptr, ptr %t266, i32 %t264 %t272 = load ptr, ptr %t271 %t273 = load i32, ptr %t148 %t274 = getelementptr inbounds %LSlice, ptr %t272, i32 0, i32 0 %t275 = load ptr, ptr %t274 %t276 = getelementptr inbounds %LSlice, ptr %t272, i32 0, i32 1 %t277 = load i32, ptr %t276 %t278 = icmp ult i32 %t273, %t277 br i1 %t278, label %ixok52, label %ixbad53 ixbad53: store i32 9153, ptr @lp_site %t279 = call ptr @lp_win_stdio(i32 2) store i32 0, ptr @lp_site call i32 (ptr, ptr, ...) @fprintf(ptr %t279, ptr @.fmt_bounds, ptr @.str16425, i32 %t273, i32 %t277) call void @exit(i32 1) unreachable ixok52: %t280 = getelementptr inbounds i32, ptr %t275, i32 %t273 %t281 = load i32, ptr %t280 call void @fn_buf_puti(ptr %t262, i32 %t281) %t282 = load ptr, ptr %t0 call void @fn_buf_puts(ptr %t282, ptr @.str16426) %t283 = load i32, ptr %t148 %t284 = add i32 %t283, 1 store i32 %t284, ptr %t148 br label %wcond37 wend39: %t285 = load ptr, ptr @g_g_cm_fields %t286 = load i32, ptr %t1 %t287 = getelementptr inbounds %LSlice, ptr %t285, i32 0, i32 0 %t288 = load ptr, ptr %t287 %t289 = getelementptr inbounds %LSlice, ptr %t285, i32 0, i32 1 %t290 = load i32, ptr %t289 %t291 = icmp ult i32 %t286, %t290 br i1 %t291, label %ixok54, label %ixbad55 ixbad55: store i32 9154, ptr @lp_site %t292 = call ptr @lp_win_stdio(i32 2) store i32 0, ptr @lp_site call i32 (ptr, ptr, ...) @fprintf(ptr %t292, ptr @.fmt_bounds, ptr @.str16427, i32 %t286, i32 %t290) call void @exit(i32 1) unreachable ixok54: %t293 = getelementptr inbounds ptr, ptr %t288, i32 %t286 %t294 = load ptr, ptr %t293 %t295 = getelementptr inbounds %LSlice, ptr %t294, i32 0, i32 1 %t296 = load i32, ptr %t295 %t297 = icmp sgt i32 %t296, 0 %t298 = zext i1 %t297 to i32 %t299 = icmp ne i32 %t298, 0 br i1 %t299, label %then56, label %ifend58 then56: %t300 = load ptr, ptr %t0 call void @fn_buf_puts(ptr %t300, ptr @.str16428) br label %ifend58 ifend58: %t301 = load ptr, ptr %t0 call void @fn_buf_puts(ptr %t301, ptr @.str16429) %t302 = load ptr, ptr %t0 %t303 = load i32, ptr %t1 call void @fn_sc_cm_calls(ptr %t302, i32 %t303, i32 0) %t304 = load ptr, ptr %t0 call void @fn_buf_puts(ptr %t304, ptr @.str16430) %t305 = load ptr, ptr %t0 %t306 = load i32, ptr %t1 call void @fn_sc_cm_calls(ptr %t305, i32 %t306, i32 1) %t307 = load ptr, ptr %t0 call void @fn_buf_puts(ptr %t307, ptr @.str16431) %t308 = load ptr, ptr %t0 %t309 = load i32, ptr %t1 call void @fn_sc_cm_natives(ptr %t308, i32 %t309) %t310 = load ptr, ptr %t0 call void @fn_buf_puts(ptr %t310, ptr @.str16432) br label %ret ret: ret void } define void @fn_sc_cm_keeps(ptr %arg_b, i32 %arg_c, i32 %arg_props) { entry: %t0 = alloca ptr %t1 = alloca i32 %t2 = alloca i32 %t13 = alloca ptr %t14 = alloca i32 %t15 = alloca i32 %t57 = alloca i32 store ptr %arg_b, ptr %t0 store i32 %arg_c, ptr %t1 store i32 %arg_props, ptr %t2 %t3 = load ptr, ptr @g_g_cm_file %t4 = load i32, ptr %t1 %t5 = getelementptr inbounds %LSlice, ptr %t3, i32 0, i32 0 %t6 = load ptr, ptr %t5 %t7 = getelementptr inbounds %LSlice, ptr %t3, i32 0, i32 1 %t8 = load i32, ptr %t7 %t9 = icmp ult i32 %t4, %t8 br i1 %t9, label %ixok0, label %ixbad1 ixbad1: store i32 9155, ptr @lp_site %t10 = call ptr @lp_win_stdio(i32 2) store i32 0, ptr @lp_site call i32 (ptr, ptr, ...) @fprintf(ptr %t10, ptr @.fmt_bounds, ptr @.str16433, i32 %t4, i32 %t8) call void @exit(i32 1) unreachable ixok0: %t11 = getelementptr inbounds ptr, ptr %t6, i32 %t4 %t12 = load ptr, ptr %t11 store ptr %t12, ptr %t13 store i32 0, ptr %t14 store i32 0, ptr %t15 br label %wcond2 wcond2: %t16 = load i32, ptr %t15 %t17 = load ptr, ptr @g_g_cm_keep %t18 = load i32, ptr %t1 %t19 = getelementptr inbounds %LSlice, ptr %t17, i32 0, i32 0 %t20 = load ptr, ptr %t19 %t21 = getelementptr inbounds %LSlice, ptr %t17, i32 0, i32 1 %t22 = load i32, ptr %t21 %t23 = icmp ult i32 %t18, %t22 br i1 %t23, label %ixok5, label %ixbad6 ixbad6: store i32 9156, ptr @lp_site %t24 = call ptr @lp_win_stdio(i32 2) store i32 0, ptr @lp_site call i32 (ptr, ptr, ...) @fprintf(ptr %t24, ptr @.fmt_bounds, ptr @.str16435, i32 %t18, i32 %t22) call void @exit(i32 1) unreachable ixok5: %t25 = getelementptr inbounds ptr, ptr %t20, i32 %t18 %t26 = load ptr, ptr %t25 %t27 = getelementptr inbounds %LSlice, ptr %t26, i32 0, i32 1 %t28 = load i32, ptr %t27 %t29 = icmp slt i32 %t16, %t28 %t30 = zext i1 %t29 to i32 %t31 = icmp ne i32 %t30, 0 br i1 %t31, label %wbody3, label %wend4 wbody3: %t32 = load ptr, ptr @g_g_cm_prop %t33 = load i32, ptr %t1 %t34 = getelementptr inbounds %LSlice, ptr %t32, i32 0, i32 0 %t35 = load ptr, ptr %t34 %t36 = getelementptr inbounds %LSlice, ptr %t32, i32 0, i32 1 %t37 = load i32, ptr %t36 %t38 = icmp ult i32 %t33, %t37 br i1 %t38, label %ixok7, label %ixbad8 ixbad8: store i32 9157, ptr @lp_site %t39 = call ptr @lp_win_stdio(i32 2) store i32 0, ptr @lp_site call i32 (ptr, ptr, ...) @fprintf(ptr %t39, ptr @.fmt_bounds, ptr @.str16436, i32 %t33, i32 %t37) call void @exit(i32 1) unreachable ixok7: %t40 = getelementptr inbounds ptr, ptr %t35, i32 %t33 %t41 = load ptr, ptr %t40 %t42 = load i32, ptr %t15 %t43 = getelementptr inbounds %LSlice, ptr %t41, i32 0, i32 0 %t44 = load ptr, ptr %t43 %t45 = getelementptr inbounds %LSlice, ptr %t41, i32 0, i32 1 %t46 = load i32, ptr %t45 %t47 = icmp ult i32 %t42, %t46 br i1 %t47, label %ixok9, label %ixbad10 ixbad10: store i32 9158, ptr @lp_site %t48 = call ptr @lp_win_stdio(i32 2) store i32 0, ptr @lp_site call i32 (ptr, ptr, ...) @fprintf(ptr %t48, ptr @.fmt_bounds, ptr @.str16437, i32 %t42, i32 %t46) call void @exit(i32 1) unreachable ixok9: %t49 = getelementptr inbounds i32, ptr %t44, i32 %t42 %t50 = load i32, ptr %t49 %t51 = load i32, ptr %t2 %t52 = icmp eq i32 %t50, %t51 %t53 = zext i1 %t52 to i32 %t54 = icmp ne i32 %t53, 0 br i1 %t54, label %then11, label %ifend13 then11: %t55 = load i32, ptr %t15 %t56 = mul i32 %t55, 5 store i32 %t56, ptr %t57 %t58 = load ptr, ptr %t0 %t59 = load i32, ptr %t14 %t60 = icmp eq i32 %t59, 0 %t61 = zext i1 %t60 to i32 call void @fn_sc_sep(ptr %t58, i32 %t61, ptr @.str16438) %t62 = load ptr, ptr %t0 call void @fn_buf_puts(ptr %t62, ptr @.str16439) %t63 = load ptr, ptr %t0 %t64 = load ptr, ptr @g_g_cm_keep %t65 = load i32, ptr %t1 %t66 = getelementptr inbounds %LSlice, ptr %t64, i32 0, i32 0 %t67 = load ptr, ptr %t66 %t68 = getelementptr inbounds %LSlice, ptr %t64, i32 0, i32 1 %t69 = load i32, ptr %t68 %t70 = icmp ult i32 %t65, %t69 br i1 %t70, label %ixok14, label %ixbad15 ixbad15: store i32 9159, ptr @lp_site %t71 = call ptr @lp_win_stdio(i32 2) store i32 0, ptr @lp_site call i32 (ptr, ptr, ...) @fprintf(ptr %t71, ptr @.fmt_bounds, ptr @.str16440, i32 %t65, i32 %t69) call void @exit(i32 1) unreachable ixok14: %t72 = getelementptr inbounds ptr, ptr %t67, i32 %t65 %t73 = load ptr, ptr %t72 %t74 = load i32, ptr %t15 %t75 = getelementptr inbounds %LSlice, ptr %t73, i32 0, i32 0 %t76 = load ptr, ptr %t75 %t77 = getelementptr inbounds %LSlice, ptr %t73, i32 0, i32 1 %t78 = load i32, ptr %t77 %t79 = icmp ult i32 %t74, %t78 br i1 %t79, label %ixok16, label %ixbad17 ixbad17: store i32 9160, ptr @lp_site %t80 = call ptr @lp_win_stdio(i32 2) store i32 0, ptr @lp_site call i32 (ptr, ptr, ...) @fprintf(ptr %t80, ptr @.fmt_bounds, ptr @.str16441, i32 %t74, i32 %t78) call void @exit(i32 1) unreachable ixok16: %t81 = getelementptr inbounds ptr, ptr %t76, i32 %t74 %t82 = load ptr, ptr %t81 call void @fn_jq_put(ptr %t63, ptr %t82) %t83 = load ptr, ptr %t0 call void @fn_buf_puts(ptr %t83, ptr @.str16442) %t84 = load ptr, ptr %t0 %t85 = load ptr, ptr @g_g_cm_keep_ty %t86 = load i32, ptr %t1 %t87 = getelementptr inbounds %LSlice, ptr %t85, i32 0, i32 0 %t88 = load ptr, ptr %t87 %t89 = getelementptr inbounds %LSlice, ptr %t85, i32 0, i32 1 %t90 = load i32, ptr %t89 %t91 = icmp ult i32 %t86, %t90 br i1 %t91, label %ixok18, label %ixbad19 ixbad19: store i32 9161, ptr @lp_site %t92 = call ptr @lp_win_stdio(i32 2) store i32 0, ptr @lp_site call i32 (ptr, ptr, ...) @fprintf(ptr %t92, ptr @.fmt_bounds, ptr @.str16443, i32 %t86, i32 %t90) call void @exit(i32 1) unreachable ixok18: %t93 = getelementptr inbounds ptr, ptr %t88, i32 %t86 %t94 = load ptr, ptr %t93 %t95 = load i32, ptr %t15 %t96 = getelementptr inbounds %LSlice, ptr %t94, i32 0, i32 0 %t97 = load ptr, ptr %t96 %t98 = getelementptr inbounds %LSlice, ptr %t94, i32 0, i32 1 %t99 = load i32, ptr %t98 %t100 = icmp ult i32 %t95, %t99 br i1 %t100, label %ixok20, label %ixbad21 ixbad21: store i32 9162, ptr @lp_site %t101 = call ptr @lp_win_stdio(i32 2) store i32 0, ptr @lp_site call i32 (ptr, ptr, ...) @fprintf(ptr %t101, ptr @.fmt_bounds, ptr @.str16444, i32 %t95, i32 %t99) call void @exit(i32 1) unreachable ixok20: %t102 = getelementptr inbounds ptr, ptr %t97, i32 %t95 %t103 = load ptr, ptr %t102 %t104 = call ptr @fn_sc_ty(ptr %t103) call void @fn_jq_put(ptr %t84, ptr %t104) %t105 = load ptr, ptr %t0 call void @fn_buf_puts(ptr %t105, ptr @.str16445) %t106 = load ptr, ptr %t0 %t107 = load ptr, ptr %t13 %t108 = load ptr, ptr @g_g_cm_kat %t109 = load i32, ptr %t1 %t110 = getelementptr inbounds %LSlice, ptr %t108, i32 0, i32 0 %t111 = load ptr, ptr %t110 %t112 = getelementptr inbounds %LSlice, ptr %t108, i32 0, i32 1 %t113 = load i32, ptr %t112 %t114 = icmp ult i32 %t109, %t113 br i1 %t114, label %ixok22, label %ixbad23 ixbad23: store i32 9163, ptr @lp_site %t115 = call ptr @lp_win_stdio(i32 2) store i32 0, ptr @lp_site call i32 (ptr, ptr, ...) @fprintf(ptr %t115, ptr @.fmt_bounds, ptr @.str16446, i32 %t109, i32 %t113) call void @exit(i32 1) unreachable ixok22: %t116 = getelementptr inbounds ptr, ptr %t111, i32 %t109 %t117 = load ptr, ptr %t116 %t118 = load i32, ptr %t57 %t119 = add i32 %t118, 3 %t120 = getelementptr inbounds %LSlice, ptr %t117, i32 0, i32 0 %t121 = load ptr, ptr %t120 %t122 = getelementptr inbounds %LSlice, ptr %t117, i32 0, i32 1 %t123 = load i32, ptr %t122 %t124 = icmp ult i32 %t119, %t123 br i1 %t124, label %ixok24, label %ixbad25 ixbad25: store i32 9164, ptr @lp_site %t125 = call ptr @lp_win_stdio(i32 2) store i32 0, ptr @lp_site call i32 (ptr, ptr, ...) @fprintf(ptr %t125, ptr @.fmt_bounds, ptr @.str16447, i32 %t119, i32 %t123) call void @exit(i32 1) unreachable ixok24: %t126 = getelementptr inbounds i32, ptr %t121, i32 %t119 %t127 = load i32, ptr %t126 %t128 = load ptr, ptr @g_g_cm_kat %t129 = load i32, ptr %t1 %t130 = getelementptr inbounds %LSlice, ptr %t128, i32 0, i32 0 %t131 = load ptr, ptr %t130 %t132 = getelementptr inbounds %LSlice, ptr %t128, i32 0, i32 1 %t133 = load i32, ptr %t132 %t134 = icmp ult i32 %t129, %t133 br i1 %t134, label %ixok26, label %ixbad27 ixbad27: store i32 9165, ptr @lp_site %t135 = call ptr @lp_win_stdio(i32 2) store i32 0, ptr @lp_site call i32 (ptr, ptr, ...) @fprintf(ptr %t135, ptr @.fmt_bounds, ptr @.str16448, i32 %t129, i32 %t133) call void @exit(i32 1) unreachable ixok26: %t136 = getelementptr inbounds ptr, ptr %t131, i32 %t129 %t137 = load ptr, ptr %t136 %t138 = load i32, ptr %t57 %t139 = add i32 %t138, 4 %t140 = getelementptr inbounds %LSlice, ptr %t137, i32 0, i32 0 %t141 = load ptr, ptr %t140 %t142 = getelementptr inbounds %LSlice, ptr %t137, i32 0, i32 1 %t143 = load i32, ptr %t142 %t144 = icmp ult i32 %t139, %t143 br i1 %t144, label %ixok28, label %ixbad29 ixbad29: store i32 9166, ptr @lp_site %t145 = call ptr @lp_win_stdio(i32 2) store i32 0, ptr @lp_site call i32 (ptr, ptr, ...) @fprintf(ptr %t145, ptr @.fmt_bounds, ptr @.str16449, i32 %t139, i32 %t143) call void @exit(i32 1) unreachable ixok28: %t146 = getelementptr inbounds i32, ptr %t141, i32 %t139 %t147 = load i32, ptr %t146 %t148 = call ptr @fn_sc_text(ptr %t107, i32 %t127, i32 %t147) call void @fn_sc_str(ptr %t106, ptr %t148) %t149 = load ptr, ptr %t0 call void @fn_buf_puts(ptr %t149, ptr @.str16450) %t150 = load ptr, ptr %t0 %t151 = load ptr, ptr %t13 %t152 = load ptr, ptr @g_g_cm_kat %t153 = load i32, ptr %t1 %t154 = getelementptr inbounds %LSlice, ptr %t152, i32 0, i32 0 %t155 = load ptr, ptr %t154 %t156 = getelementptr inbounds %LSlice, ptr %t152, i32 0, i32 1 %t157 = load i32, ptr %t156 %t158 = icmp ult i32 %t153, %t157 br i1 %t158, label %ixok30, label %ixbad31 ixbad31: store i32 9167, ptr @lp_site %t159 = call ptr @lp_win_stdio(i32 2) store i32 0, ptr @lp_site call i32 (ptr, ptr, ...) @fprintf(ptr %t159, ptr @.fmt_bounds, ptr @.str16451, i32 %t153, i32 %t157) call void @exit(i32 1) unreachable ixok30: %t160 = getelementptr inbounds ptr, ptr %t155, i32 %t153 %t161 = load ptr, ptr %t160 %t162 = load i32, ptr %t57 %t163 = getelementptr inbounds %LSlice, ptr %t161, i32 0, i32 0 %t164 = load ptr, ptr %t163 %t165 = getelementptr inbounds %LSlice, ptr %t161, i32 0, i32 1 %t166 = load i32, ptr %t165 %t167 = icmp ult i32 %t162, %t166 br i1 %t167, label %ixok32, label %ixbad33 ixbad33: store i32 9168, ptr @lp_site %t168 = call ptr @lp_win_stdio(i32 2) store i32 0, ptr @lp_site call i32 (ptr, ptr, ...) @fprintf(ptr %t168, ptr @.fmt_bounds, ptr @.str16452, i32 %t162, i32 %t166) call void @exit(i32 1) unreachable ixok32: %t169 = getelementptr inbounds i32, ptr %t164, i32 %t162 %t170 = load i32, ptr %t169 %t171 = load ptr, ptr @g_g_cm_kat %t172 = load i32, ptr %t1 %t173 = getelementptr inbounds %LSlice, ptr %t171, i32 0, i32 0 %t174 = load ptr, ptr %t173 %t175 = getelementptr inbounds %LSlice, ptr %t171, i32 0, i32 1 %t176 = load i32, ptr %t175 %t177 = icmp ult i32 %t172, %t176 br i1 %t177, label %ixok34, label %ixbad35 ixbad35: store i32 9169, ptr @lp_site %t178 = call ptr @lp_win_stdio(i32 2) store i32 0, ptr @lp_site call i32 (ptr, ptr, ...) @fprintf(ptr %t178, ptr @.fmt_bounds, ptr @.str16453, i32 %t172, i32 %t176) call void @exit(i32 1) unreachable ixok34: %t179 = getelementptr inbounds ptr, ptr %t174, i32 %t172 %t180 = load ptr, ptr %t179 %t181 = load i32, ptr %t57 %t182 = add i32 %t181, 1 %t183 = getelementptr inbounds %LSlice, ptr %t180, i32 0, i32 0 %t184 = load ptr, ptr %t183 %t185 = getelementptr inbounds %LSlice, ptr %t180, i32 0, i32 1 %t186 = load i32, ptr %t185 %t187 = icmp ult i32 %t182, %t186 br i1 %t187, label %ixok36, label %ixbad37 ixbad37: store i32 9170, ptr @lp_site %t188 = call ptr @lp_win_stdio(i32 2) store i32 0, ptr @lp_site call i32 (ptr, ptr, ...) @fprintf(ptr %t188, ptr @.fmt_bounds, ptr @.str16454, i32 %t182, i32 %t186) call void @exit(i32 1) unreachable ixok36: %t189 = getelementptr inbounds i32, ptr %t184, i32 %t182 %t190 = load i32, ptr %t189 call void @fn_sc_at(ptr %t150, ptr %t151, i32 %t170, i32 %t190) %t191 = load i32, ptr %t2 %t192 = icmp ne i32 %t191, 0 br i1 %t192, label %then38, label %ifend40 then38: %t193 = load ptr, ptr %t0 call void @fn_buf_puts(ptr %t193, ptr @.str16455) br label %ifend40 ifend40: %t194 = load ptr, ptr %t0 call void @fn_buf_puts(ptr %t194, ptr @.str16456) %t195 = load ptr, ptr %t0 %t196 = load ptr, ptr %t13 %t197 = load ptr, ptr @g_g_cm_kat %t198 = load i32, ptr %t1 %t199 = getelementptr inbounds %LSlice, ptr %t197, i32 0, i32 0 %t200 = load ptr, ptr %t199 %t201 = getelementptr inbounds %LSlice, ptr %t197, i32 0, i32 1 %t202 = load i32, ptr %t201 %t203 = icmp ult i32 %t198, %t202 br i1 %t203, label %ixok41, label %ixbad42 ixbad42: store i32 9171, ptr @lp_site %t204 = call ptr @lp_win_stdio(i32 2) store i32 0, ptr @lp_site call i32 (ptr, ptr, ...) @fprintf(ptr %t204, ptr @.fmt_bounds, ptr @.str16457, i32 %t198, i32 %t202) call void @exit(i32 1) unreachable ixok41: %t205 = getelementptr inbounds ptr, ptr %t200, i32 %t198 %t206 = load ptr, ptr %t205 %t207 = load i32, ptr %t57 %t208 = add i32 %t207, 2 %t209 = getelementptr inbounds %LSlice, ptr %t206, i32 0, i32 0 %t210 = load ptr, ptr %t209 %t211 = getelementptr inbounds %LSlice, ptr %t206, i32 0, i32 1 %t212 = load i32, ptr %t211 %t213 = icmp ult i32 %t208, %t212 br i1 %t213, label %ixok43, label %ixbad44 ixbad44: store i32 9172, ptr @lp_site %t214 = call ptr @lp_win_stdio(i32 2) store i32 0, ptr @lp_site call i32 (ptr, ptr, ...) @fprintf(ptr %t214, ptr @.fmt_bounds, ptr @.str16458, i32 %t208, i32 %t212) call void @exit(i32 1) unreachable ixok43: %t215 = getelementptr inbounds i32, ptr %t210, i32 %t208 %t216 = load i32, ptr %t215 %t217 = call ptr @fn_sc_doc(ptr %t196, i32 %t216) call void @fn_sc_str(ptr %t195, ptr %t217) %t218 = load ptr, ptr %t0 call void @fn_buf_puts(ptr %t218, ptr @.str16459) %t219 = load i32, ptr %t14 %t220 = add i32 %t219, 1 store i32 %t220, ptr %t14 br label %ifend13 ifend13: %t221 = load i32, ptr %t15 %t222 = add i32 %t221, 1 store i32 %t222, ptr %t15 br label %wcond2 wend4: %t223 = load i32, ptr %t14 %t224 = icmp sgt i32 %t223, 0 %t225 = zext i1 %t224 to i32 %t226 = icmp ne i32 %t225, 0 br i1 %t226, label %then45, label %ifend47 then45: %t227 = load ptr, ptr %t0 call void @fn_buf_puts(ptr %t227, ptr @.str16460) br label %ifend47 ifend47: br label %ret ret: ret void } define void @fn_sc_cm_calls(ptr %arg_b, i32 %arg_c, i32 %arg_events) { entry: %t0 = alloca ptr %t1 = alloca i32 %t2 = alloca i32 %t3 = alloca i32 %t4 = alloca i32 %t63 = alloca ptr %t90 = alloca i32 %t91 = alloca i32 %t113 = alloca ptr %t114 = alloca i32 %t115 = alloca i32 store ptr %arg_b, ptr %t0 store i32 %arg_c, ptr %t1 store i32 %arg_events, ptr %t2 store i32 0, ptr %t3 store i32 0, ptr %t4 br label %wcond0 wcond0: %t5 = load i32, ptr %t4 %t6 = load ptr, ptr @g_g_cm_calls %t7 = load i32, ptr %t1 %t8 = getelementptr inbounds %LSlice, ptr %t6, i32 0, i32 0 %t9 = load ptr, ptr %t8 %t10 = getelementptr inbounds %LSlice, ptr %t6, i32 0, i32 1 %t11 = load i32, ptr %t10 %t12 = icmp ult i32 %t7, %t11 br i1 %t12, label %ixok3, label %ixbad4 ixbad4: store i32 9173, ptr @lp_site %t13 = call ptr @lp_win_stdio(i32 2) store i32 0, ptr @lp_site call i32 (ptr, ptr, ...) @fprintf(ptr %t13, ptr @.fmt_bounds, ptr @.str16461, i32 %t7, i32 %t11) call void @exit(i32 1) unreachable ixok3: %t14 = getelementptr inbounds ptr, ptr %t9, i32 %t7 %t15 = load ptr, ptr %t14 %t16 = getelementptr inbounds %LSlice, ptr %t15, i32 0, i32 1 %t17 = load i32, ptr %t16 %t18 = icmp slt i32 %t5, %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 @g_g_cm_isev %t22 = load i32, ptr %t1 %t23 = getelementptr inbounds %LSlice, ptr %t21, i32 0, i32 0 %t24 = load ptr, ptr %t23 %t25 = getelementptr inbounds %LSlice, ptr %t21, i32 0, i32 1 %t26 = load i32, ptr %t25 %t27 = icmp ult i32 %t22, %t26 br i1 %t27, label %ixok5, label %ixbad6 ixbad6: store i32 9174, ptr @lp_site %t28 = call ptr @lp_win_stdio(i32 2) store i32 0, ptr @lp_site call i32 (ptr, ptr, ...) @fprintf(ptr %t28, ptr @.fmt_bounds, ptr @.str16463, i32 %t22, i32 %t26) call void @exit(i32 1) unreachable ixok5: %t29 = getelementptr inbounds ptr, ptr %t24, i32 %t22 %t30 = load ptr, ptr %t29 %t31 = load i32, ptr %t4 %t32 = getelementptr inbounds %LSlice, ptr %t30, i32 0, i32 0 %t33 = load ptr, ptr %t32 %t34 = getelementptr inbounds %LSlice, ptr %t30, i32 0, i32 1 %t35 = load i32, ptr %t34 %t36 = icmp ult i32 %t31, %t35 br i1 %t36, label %ixok7, label %ixbad8 ixbad8: store i32 9175, ptr @lp_site %t37 = call ptr @lp_win_stdio(i32 2) store i32 0, ptr @lp_site call i32 (ptr, ptr, ...) @fprintf(ptr %t37, ptr @.fmt_bounds, ptr @.str16464, i32 %t31, i32 %t35) call void @exit(i32 1) unreachable ixok7: %t38 = getelementptr inbounds i32, ptr %t33, i32 %t31 %t39 = load i32, ptr %t38 %t40 = load i32, ptr %t2 %t41 = icmp eq i32 %t39, %t40 %t42 = zext i1 %t41 to i32 %t43 = icmp ne i32 %t42, 0 br i1 %t43, label %then9, label %ifend11 then9: %t44 = load ptr, ptr @g_g_cm_calls %t45 = load i32, ptr %t1 %t46 = getelementptr inbounds %LSlice, ptr %t44, i32 0, i32 0 %t47 = load ptr, ptr %t46 %t48 = getelementptr inbounds %LSlice, ptr %t44, i32 0, i32 1 %t49 = load i32, ptr %t48 %t50 = icmp ult i32 %t45, %t49 br i1 %t50, label %ixok12, label %ixbad13 ixbad13: store i32 9176, ptr @lp_site %t51 = call ptr @lp_win_stdio(i32 2) store i32 0, ptr @lp_site call i32 (ptr, ptr, ...) @fprintf(ptr %t51, ptr @.fmt_bounds, ptr @.str16465, i32 %t45, i32 %t49) call void @exit(i32 1) unreachable ixok12: %t52 = getelementptr inbounds ptr, ptr %t47, i32 %t45 %t53 = load ptr, ptr %t52 %t54 = load i32, ptr %t4 %t55 = getelementptr inbounds %LSlice, ptr %t53, i32 0, i32 0 %t56 = load ptr, ptr %t55 %t57 = getelementptr inbounds %LSlice, ptr %t53, i32 0, i32 1 %t58 = load i32, ptr %t57 %t59 = icmp ult i32 %t54, %t58 br i1 %t59, label %ixok14, label %ixbad15 ixbad15: store i32 9177, ptr @lp_site %t60 = call ptr @lp_win_stdio(i32 2) store i32 0, ptr @lp_site call i32 (ptr, ptr, ...) @fprintf(ptr %t60, ptr @.fmt_bounds, ptr @.str16466, i32 %t54, i32 %t58) call void @exit(i32 1) unreachable ixok14: %t61 = getelementptr inbounds ptr, ptr %t56, i32 %t54 %t62 = load ptr, ptr %t61 store ptr %t62, ptr %t63 %t64 = load ptr, ptr %t0 %t65 = load i32, ptr %t3 %t66 = icmp eq i32 %t65, 0 %t67 = zext i1 %t66 to i32 call void @fn_sc_sep(ptr %t64, i32 %t67, ptr @.str16467) %t68 = load ptr, ptr %t0 call void @fn_buf_puts(ptr %t68, ptr @.str16468) %t69 = load ptr, ptr %t0 %t70 = load ptr, ptr @g_g_cm_cnames %t71 = load i32, ptr %t1 %t72 = getelementptr inbounds %LSlice, ptr %t70, i32 0, i32 0 %t73 = load ptr, ptr %t72 %t74 = getelementptr inbounds %LSlice, ptr %t70, i32 0, i32 1 %t75 = load i32, ptr %t74 %t76 = icmp ult i32 %t71, %t75 br i1 %t76, label %ixok16, label %ixbad17 ixbad17: store i32 9178, ptr @lp_site %t77 = call ptr @lp_win_stdio(i32 2) store i32 0, ptr @lp_site call i32 (ptr, ptr, ...) @fprintf(ptr %t77, ptr @.fmt_bounds, ptr @.str16469, i32 %t71, i32 %t75) call void @exit(i32 1) unreachable ixok16: %t78 = getelementptr inbounds ptr, ptr %t73, i32 %t71 %t79 = load ptr, ptr %t78 %t80 = load i32, ptr %t4 %t81 = getelementptr inbounds %LSlice, ptr %t79, i32 0, i32 0 %t82 = load ptr, ptr %t81 %t83 = getelementptr inbounds %LSlice, ptr %t79, i32 0, i32 1 %t84 = load i32, ptr %t83 %t85 = icmp ult i32 %t80, %t84 br i1 %t85, label %ixok18, label %ixbad19 ixbad19: store i32 9179, ptr @lp_site %t86 = call ptr @lp_win_stdio(i32 2) store i32 0, ptr @lp_site call i32 (ptr, ptr, ...) @fprintf(ptr %t86, ptr @.fmt_bounds, ptr @.str16470, i32 %t80, i32 %t84) call void @exit(i32 1) unreachable ixok18: %t87 = getelementptr inbounds ptr, ptr %t82, i32 %t80 %t88 = load ptr, ptr %t87 call void @fn_jq_put(ptr %t69, ptr %t88) %t89 = load ptr, ptr %t0 call void @fn_buf_puts(ptr %t89, ptr @.str16471) store i32 0, ptr %t90 store i32 0, ptr %t91 br label %wcond20 wcond20: %t92 = load i32, ptr %t90 %t93 = load ptr, ptr %t63 %t94 = getelementptr inbounds %Cmp_Node, ptr %t93, i32 0, i32 7 %t95 = load ptr, ptr %t94 %t96 = getelementptr inbounds %LSlice, ptr %t95, i32 0, i32 1 %t97 = load i32, ptr %t96 %t98 = icmp slt i32 %t92, %t97 %t99 = zext i1 %t98 to i32 %t100 = icmp ne i32 %t99, 0 br i1 %t100, label %wbody21, label %wend22 wbody21: %t101 = load ptr, ptr %t63 %t102 = getelementptr inbounds %Cmp_Node, ptr %t101, i32 0, i32 7 %t103 = load ptr, ptr %t102 %t104 = load i32, ptr %t90 %t105 = getelementptr inbounds %LSlice, ptr %t103, i32 0, i32 0 %t106 = load ptr, ptr %t105 %t107 = getelementptr inbounds %LSlice, ptr %t103, i32 0, i32 1 %t108 = load i32, ptr %t107 %t109 = icmp ult i32 %t104, %t108 br i1 %t109, label %ixok23, label %ixbad24 ixbad24: store i32 9180, ptr @lp_site %t110 = call ptr @lp_win_stdio(i32 2) store i32 0, ptr @lp_site call i32 (ptr, ptr, ...) @fprintf(ptr %t110, ptr @.fmt_bounds, ptr @.str16472, i32 %t104, i32 %t108) call void @exit(i32 1) unreachable ixok23: %t111 = getelementptr inbounds ptr, ptr %t106, i32 %t104 %t112 = load ptr, ptr %t111 store ptr %t112, ptr %t113 %t116 = load ptr, ptr %t113 %t117 = getelementptr inbounds %Cmp_Node, ptr %t116, i32 0, i32 0 %t118 = load i32, ptr %t117 %t119 = icmp eq i32 %t118, 5 %t120 = zext i1 %t119 to i32 %t121 = icmp ne i32 %t120, 0 %t122 = zext i1 %t121 to i32 store i32 %t122, ptr %t115 br i1 %t121, label %sc25, label %scend26 sc25: %t123 = load ptr, ptr %t113 %t124 = getelementptr inbounds %Cmp_Node, ptr %t123, i32 0, i32 1 %t125 = load ptr, ptr %t124 %t126 = call i32 @lp_str_eq(ptr %t125, ptr @.str16473) %t127 = icmp eq i32 %t126, 0 %t128 = zext i1 %t127 to i32 %t129 = icmp ne i32 %t128, 0 %t130 = zext i1 %t129 to i32 store i32 %t130, ptr %t115 br label %scend26 scend26: %t131 = load i32, ptr %t115 %t132 = icmp ne i32 %t131, 0 %t133 = zext i1 %t132 to i32 store i32 %t133, ptr %t114 br i1 %t132, label %sc27, label %scend28 sc27: %t134 = load ptr, ptr %t113 %t135 = call i32 @fn_sc_is_state_param(ptr %t134) %t136 = icmp eq i32 %t135, 0 %t137 = zext i1 %t136 to i32 %t138 = icmp ne i32 %t137, 0 %t139 = zext i1 %t138 to i32 store i32 %t139, ptr %t114 br label %scend28 scend28: %t140 = load i32, ptr %t114 %t141 = icmp ne i32 %t140, 0 br i1 %t141, label %then29, label %ifend31 then29: %t142 = load i32, ptr %t91 %t143 = icmp sgt i32 %t142, 0 %t144 = zext i1 %t143 to i32 %t145 = icmp ne i32 %t144, 0 br i1 %t145, label %then32, label %ifend34 then32: %t146 = load ptr, ptr %t0 call void @fn_buf_puts(ptr %t146, ptr @.str16474) br label %ifend34 ifend34: %t147 = load ptr, ptr %t0 call void @fn_buf_puts(ptr %t147, ptr @.str16475) %t148 = load ptr, ptr %t0 %t149 = load ptr, ptr %t113 %t150 = getelementptr inbounds %Cmp_Node, ptr %t149, i32 0, i32 1 %t151 = load ptr, ptr %t150 call void @fn_jq_put(ptr %t148, ptr %t151) %t152 = load ptr, ptr %t0 call void @fn_buf_puts(ptr %t152, ptr @.str16476) %t153 = load ptr, ptr %t0 %t154 = load ptr, ptr %t113 %t155 = getelementptr inbounds %Cmp_Node, ptr %t154, i32 0, i32 3 %t156 = load ptr, ptr %t155 %t157 = call ptr @fn_sc_ty(ptr %t156) call void @fn_jq_put(ptr %t153, ptr %t157) %t158 = load ptr, ptr %t0 call void @fn_buf_puts(ptr %t158, ptr @.str16477) %t159 = load i32, ptr %t91 %t160 = add i32 %t159, 1 store i32 %t160, ptr %t91 br label %ifend31 ifend31: %t161 = load i32, ptr %t90 %t162 = add i32 %t161, 1 store i32 %t162, ptr %t90 br label %wcond20 wend22: %t163 = load ptr, ptr %t0 call void @fn_buf_puts(ptr %t163, ptr @.str16478) %t164 = load i32, ptr %t2 %t165 = icmp eq i32 %t164, 0 %t166 = zext i1 %t165 to i32 %t167 = icmp ne i32 %t166, 0 br i1 %t167, label %then35, label %ifend37 then35: %t168 = load ptr, ptr %t0 call void @fn_buf_puts(ptr %t168, ptr @.str16479) %t169 = load ptr, ptr %t0 %t170 = load ptr, ptr %t63 %t171 = getelementptr inbounds %Cmp_Node, ptr %t170, i32 0, i32 3 %t172 = load ptr, ptr %t171 %t173 = call ptr @fn_sc_ty(ptr %t172) call void @fn_jq_put(ptr %t169, ptr %t173) br label %ifend37 ifend37: %t174 = load ptr, ptr %t0 call void @fn_buf_puts(ptr %t174, ptr @.str16480) %t175 = load ptr, ptr %t0 %t176 = load ptr, ptr %t63 %t177 = getelementptr inbounds %Cmp_Node, ptr %t176, i32 0, i32 8 %t178 = load i32, ptr %t177 call void @fn_buf_puti(ptr %t175, i32 %t178) %t179 = load ptr, ptr %t0 call void @fn_buf_puts(ptr %t179, ptr @.str16481) %t180 = load i32, ptr %t3 %t181 = add i32 %t180, 1 store i32 %t181, ptr %t3 br label %ifend11 ifend11: %t182 = load i32, ptr %t4 %t183 = add i32 %t182, 1 store i32 %t183, ptr %t4 br label %wcond0 wend2: %t184 = load i32, ptr %t3 %t185 = icmp sgt i32 %t184, 0 %t186 = zext i1 %t185 to i32 %t187 = icmp ne i32 %t186, 0 br i1 %t187, label %then38, label %ifend40 then38: %t188 = load ptr, ptr %t0 call void @fn_buf_puts(ptr %t188, ptr @.str16482) br label %ifend40 ifend40: br label %ret ret: ret void } define void @fn_sc_cm_natives(ptr %arg_b, i32 %arg_c) { entry: %t0 = alloca ptr %t1 = alloca i32 %t12 = alloca ptr %t19 = alloca ptr %t26 = alloca ptr %t27 = alloca i32 %t45 = alloca ptr %t46 = alloca i32 %t47 = alloca i32 %t70 = alloca i32 store ptr %arg_b, ptr %t0 store i32 %arg_c, ptr %t1 %t2 = load ptr, ptr @g_g_cm_xml %t3 = load i32, ptr %t1 %t4 = getelementptr inbounds %LSlice, ptr %t2, i32 0, i32 0 %t5 = load ptr, ptr %t4 %t6 = getelementptr inbounds %LSlice, ptr %t2, i32 0, i32 1 %t7 = load i32, ptr %t6 %t8 = icmp ult i32 %t3, %t7 br i1 %t8, label %ixok0, label %ixbad1 ixbad1: store i32 9181, ptr @lp_site %t9 = call ptr @lp_win_stdio(i32 2) store i32 0, ptr @lp_site call i32 (ptr, ptr, ...) @fprintf(ptr %t9, ptr @.fmt_bounds, ptr @.str16483, i32 %t3, i32 %t7) call void @exit(i32 1) unreachable ixok0: %t10 = getelementptr inbounds ptr, ptr %t5, i32 %t3 %t11 = load ptr, ptr %t10 store ptr %t11, ptr %t12 %t13 = getelementptr %LSlice, ptr null, i32 1 %t14 = ptrtoint ptr %t13 to i64 store i32 9182, ptr @lp_site %t15 = call ptr @lp_malloc(i64 %t14) store i32 0, ptr @lp_site %t16 = getelementptr inbounds %LSlice, ptr %t15, i32 0, i32 0 store ptr null, ptr %t16 %t17 = getelementptr inbounds %LSlice, ptr %t15, i32 0, i32 1 store i32 0, ptr %t17 %t18 = getelementptr inbounds %LSlice, ptr %t15, i32 0, i32 2 store i32 0, ptr %t18 store ptr %t15, ptr %t19 %t20 = getelementptr %LSlice, ptr null, i32 1 %t21 = ptrtoint ptr %t20 to i64 store i32 9183, ptr @lp_site %t22 = call ptr @lp_malloc(i64 %t21) store i32 0, ptr @lp_site %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 %t26 store i32 0, ptr %t27 br label %wcond2 wcond2: %t28 = load i32, ptr %t27 %t29 = load ptr, ptr @g_g_sn_tag %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 %wbody3, label %wend4 wbody3: %t35 = load ptr, ptr @g_g_sn_tag %t36 = load i32, ptr %t27 %t37 = getelementptr inbounds %LSlice, ptr %t35, i32 0, i32 0 %t38 = load ptr, ptr %t37 %t39 = getelementptr inbounds %LSlice, ptr %t35, i32 0, i32 1 %t40 = load i32, ptr %t39 %t41 = icmp ult i32 %t36, %t40 br i1 %t41, label %ixok5, label %ixbad6 ixbad6: store i32 9184, ptr @lp_site %t42 = call ptr @lp_win_stdio(i32 2) store i32 0, ptr @lp_site call i32 (ptr, ptr, ...) @fprintf(ptr %t42, ptr @.fmt_bounds, ptr @.str16485, i32 %t36, i32 %t40) call void @exit(i32 1) unreachable ixok5: %t43 = getelementptr inbounds ptr, ptr %t38, i32 %t36 %t44 = load ptr, ptr %t43 store ptr %t44, ptr %t45 store i32 0, ptr %t46 store i32 0, ptr %t47 br label %wcond7 wcond7: %t48 = load i32, ptr %t47 %t49 = load ptr, ptr %t19 %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 %wbody8, label %wend9 wbody8: %t55 = load ptr, ptr %t19 %t56 = load i32, ptr %t47 %t57 = getelementptr inbounds %LSlice, ptr %t55, i32 0, i32 0 %t58 = load ptr, ptr %t57 %t59 = getelementptr inbounds %LSlice, ptr %t55, i32 0, i32 1 %t60 = load i32, ptr %t59 %t61 = icmp ult i32 %t56, %t60 br i1 %t61, label %ixok10, label %ixbad11 ixbad11: store i32 9185, ptr @lp_site %t62 = call ptr @lp_win_stdio(i32 2) store i32 0, ptr @lp_site call i32 (ptr, ptr, ...) @fprintf(ptr %t62, ptr @.fmt_bounds, ptr @.str16486, i32 %t56, i32 %t60) call void @exit(i32 1) unreachable ixok10: %t63 = getelementptr inbounds ptr, ptr %t58, i32 %t56 %t64 = load ptr, ptr %t63 %t65 = load ptr, ptr %t45 %t66 = call i32 @lp_str_eq(ptr %t64, ptr %t65) %t67 = icmp ne i32 %t66, 0 br i1 %t67, label %then12, label %ifend14 then12: store i32 1, ptr %t46 br label %ifend14 ifend14: %t68 = load i32, ptr %t47 %t69 = add i32 %t68, 1 store i32 %t69, ptr %t47 br label %wcond7 wend9: %t71 = load i32, ptr %t46 %t72 = icmp eq i32 %t71, 0 %t73 = zext i1 %t72 to i32 %t74 = icmp ne i32 %t73, 0 %t75 = zext i1 %t74 to i32 store i32 %t75, ptr %t70 br i1 %t74, label %sc15, label %scend16 sc15: %t76 = load ptr, ptr %t12 %t77 = load ptr, ptr %t45 %t78 = call i32 @fn_sc_xml_uses(ptr %t76, ptr %t77) %t79 = icmp ne i32 %t78, 0 %t80 = zext i1 %t79 to i32 store i32 %t80, ptr %t70 br label %scend16 scend16: %t81 = load i32, ptr %t70 %t82 = icmp ne i32 %t81, 0 br i1 %t82, label %then17, label %ifend19 then17: %t83 = load ptr, ptr %t26 %t84 = load ptr, ptr %t19 %t85 = getelementptr inbounds %LSlice, ptr %t84, i32 0, i32 1 %t86 = load i32, ptr %t85 %t87 = getelementptr inbounds %LSlice, ptr %t83, i32 0, i32 1 %t88 = getelementptr inbounds %LSlice, ptr %t83, i32 0, i32 2 %t89 = getelementptr inbounds %LSlice, ptr %t83, i32 0, i32 0 %t90 = load i32, ptr %t87 %t91 = load i32, ptr %t88 %t92 = icmp sge i32 %t90, %t91 br i1 %t92, label %grow20, label %put21 grow20: %t93 = mul i32 %t91, 2 %t94 = icmp eq i32 %t91, 0 %t95 = select i1 %t94, i32 8, i32 %t93 %t96 = getelementptr i32, ptr null, i32 1 %t97 = ptrtoint ptr %t96 to i64 %t98 = zext i32 %t95 to i64 %t99 = mul i64 %t98, %t97 %t100 = load ptr, ptr %t89 store i32 9186, ptr @lp_site %t101 = call ptr @lp_realloc(ptr %t100, i64 %t99) store i32 0, ptr @lp_site store ptr %t101, ptr %t89 store i32 %t95, ptr %t88 br label %put21 put21: %t102 = load ptr, ptr %t89 %t103 = getelementptr inbounds i32, ptr %t102, i32 %t90 store i32 %t86, ptr %t103 %t104 = add i32 %t90, 1 store i32 %t104, ptr %t87 %t105 = load ptr, ptr %t19 %t106 = load ptr, ptr %t45 %t107 = getelementptr inbounds %LSlice, ptr %t105, i32 0, i32 1 %t108 = getelementptr inbounds %LSlice, ptr %t105, i32 0, i32 2 %t109 = getelementptr inbounds %LSlice, ptr %t105, i32 0, i32 0 %t110 = load i32, ptr %t107 %t111 = load i32, ptr %t108 %t112 = icmp sge i32 %t110, %t111 br i1 %t112, label %grow22, label %put23 grow22: %t113 = mul i32 %t111, 2 %t114 = icmp eq i32 %t111, 0 %t115 = select i1 %t114, i32 8, i32 %t113 %t116 = getelementptr ptr, ptr null, i32 1 %t117 = ptrtoint ptr %t116 to i64 %t118 = zext i32 %t115 to i64 %t119 = mul i64 %t118, %t117 %t120 = load ptr, ptr %t109 store i32 9187, ptr @lp_site %t121 = call ptr @lp_realloc(ptr %t120, i64 %t119) store i32 0, ptr @lp_site store ptr %t121, ptr %t109 store i32 %t115, ptr %t108 br label %put23 put23: %t122 = load ptr, ptr %t109 %t123 = getelementptr inbounds ptr, ptr %t122, i32 %t110 store ptr %t106, ptr %t123 %t124 = add i32 %t110, 1 store i32 %t124, ptr %t107 br label %ifend19 ifend19: %t125 = load i32, ptr %t27 %t126 = add i32 %t125, 1 store i32 %t126, ptr %t27 br label %wcond2 wend4: %t127 = load ptr, ptr %t26 %t128 = load ptr, ptr %t19 call void @fn_sc_sort(ptr %t127, ptr %t128) store i32 0, ptr %t27 br label %wcond24 wcond24: %t129 = load i32, ptr %t27 %t130 = load ptr, ptr %t26 %t131 = getelementptr inbounds %LSlice, ptr %t130, i32 0, i32 1 %t132 = load i32, ptr %t131 %t133 = icmp slt i32 %t129, %t132 %t134 = zext i1 %t133 to i32 %t135 = icmp ne i32 %t134, 0 br i1 %t135, label %wbody25, label %wend26 wbody25: %t136 = load i32, ptr %t27 %t137 = icmp sgt i32 %t136, 0 %t138 = zext i1 %t137 to i32 %t139 = icmp ne i32 %t138, 0 br i1 %t139, label %then27, label %ifend29 then27: %t140 = load ptr, ptr %t0 call void @fn_buf_puts(ptr %t140, ptr @.str16487) br label %ifend29 ifend29: %t141 = load ptr, ptr %t0 %t142 = load ptr, ptr %t19 %t143 = load ptr, ptr %t26 %t144 = load i32, ptr %t27 %t145 = getelementptr inbounds %LSlice, ptr %t143, i32 0, i32 0 %t146 = load ptr, ptr %t145 %t147 = getelementptr inbounds %LSlice, ptr %t143, i32 0, i32 1 %t148 = load i32, ptr %t147 %t149 = icmp ult i32 %t144, %t148 br i1 %t149, label %ixok30, label %ixbad31 ixbad31: store i32 9188, ptr @lp_site %t150 = call ptr @lp_win_stdio(i32 2) store i32 0, ptr @lp_site call i32 (ptr, ptr, ...) @fprintf(ptr %t150, ptr @.fmt_bounds, ptr @.str16488, i32 %t144, i32 %t148) call void @exit(i32 1) unreachable ixok30: %t151 = getelementptr inbounds i32, ptr %t146, i32 %t144 %t152 = load i32, ptr %t151 %t153 = getelementptr inbounds %LSlice, ptr %t142, i32 0, i32 0 %t154 = load ptr, ptr %t153 %t155 = getelementptr inbounds %LSlice, ptr %t142, i32 0, i32 1 %t156 = load i32, ptr %t155 %t157 = icmp ult i32 %t152, %t156 br i1 %t157, label %ixok32, label %ixbad33 ixbad33: store i32 9189, ptr @lp_site %t158 = call ptr @lp_win_stdio(i32 2) store i32 0, ptr @lp_site call i32 (ptr, ptr, ...) @fprintf(ptr %t158, ptr @.fmt_bounds, ptr @.str16489, i32 %t152, i32 %t156) call void @exit(i32 1) unreachable ixok32: %t159 = getelementptr inbounds ptr, ptr %t154, i32 %t152 %t160 = load ptr, ptr %t159 call void @fn_jq_put(ptr %t141, ptr %t160) %t161 = load i32, ptr %t27 %t162 = add i32 %t161, 1 store i32 %t162, ptr %t27 br label %wcond24 wend26: br label %ret ret: ret void } define i32 @fn_sc_xml_uses(ptr %arg_xml, ptr %arg_tag) { entry: %retval = alloca i32 %t0 = alloca ptr %t1 = alloca ptr %t9 = alloca i32 %t13 = alloca i32 %t14 = alloca i32 %t23 = alloca i32 %t24 = alloca i32 %t73 = alloca i32 %t74 = alloca i32 %t75 = alloca i32 %t76 = alloca i32 %t77 = alloca i32 %t78 = alloca i32 store ptr %arg_xml, ptr %t0 store ptr %arg_tag, 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 i32 0, ptr %retval br label %ret ifend2: %t6 = load ptr, ptr %t0 %t7 = call i64 @strlen(ptr %t6) %t8 = trunc i64 %t7 to i32 store i32 %t8, ptr %t9 %t10 = load ptr, ptr %t1 %t11 = call i64 @strlen(ptr %t10) %t12 = trunc i64 %t11 to i32 store i32 %t12, ptr %t13 store i32 0, ptr %t14 br label %wcond3 wcond3: %t15 = load i32, ptr %t14 %t16 = load i32, ptr %t13 %t17 = add i32 %t15, %t16 %t18 = add i32 %t17, 1 %t19 = load i32, ptr %t9 %t20 = icmp slt i32 %t18, %t19 %t21 = zext i1 %t20 to i32 %t22 = icmp ne i32 %t21, 0 br i1 %t22, label %wbody4, label %wend5 wbody4: %t25 = load ptr, ptr %t0 %t26 = load i32, ptr %t14 %t27 = getelementptr inbounds i8, ptr %t25, i32 %t26 %t28 = load i8, ptr %t27 %t29 = zext i8 %t28 to i32 %t30 = icmp eq i32 %t29, 60 %t31 = zext i1 %t30 to i32 %t32 = icmp ne i32 %t31, 0 %t33 = zext i1 %t32 to i32 store i32 %t33, ptr %t24 br i1 %t32, label %sc6, label %scend7 sc6: %t34 = load ptr, ptr %t0 %t35 = load i32, ptr %t14 %t36 = add i32 %t35, 1 %t37 = getelementptr inbounds i8, ptr %t34, i32 %t36 %t38 = load i8, ptr %t37 %t39 = zext i8 %t38 to i32 %t40 = load ptr, ptr %t1 %t41 = getelementptr inbounds i8, ptr %t40, i32 0 %t42 = load i8, ptr %t41 %t43 = zext i8 %t42 to i32 %t44 = icmp eq i32 %t39, %t43 %t45 = zext i1 %t44 to i32 %t46 = icmp ne i32 %t45, 0 %t47 = zext i1 %t46 to i32 store i32 %t47, ptr %t24 br label %scend7 scend7: %t48 = load i32, ptr %t24 %t49 = icmp ne i32 %t48, 0 %t50 = zext i1 %t49 to i32 store i32 %t50, ptr %t23 br i1 %t49, label %sc8, label %scend9 sc8: %t51 = load ptr, ptr %t0 %t52 = load i32, ptr %t14 %t53 = add i32 %t52, 1 %t54 = load i32, ptr %t14 %t55 = add i32 %t54, 1 %t56 = load i32, ptr %t13 %t57 = add i32 %t55, %t56 store i32 9190, ptr @lp_site %t58 = call ptr @lp_str_slice(ptr %t51, i32 %t53, i32 %t57) store i32 0, ptr @lp_site %t59 = load ptr, ptr %t1 %t60 = call i32 @lp_str_eq(ptr %t58, ptr %t59) call void @lp_free(ptr %t58) %t61 = icmp ne i32 %t60, 0 %t62 = zext i1 %t61 to i32 store i32 %t62, ptr %t23 br label %scend9 scend9: %t63 = load i32, ptr %t23 %t64 = icmp ne i32 %t63, 0 br i1 %t64, label %then10, label %ifend12 then10: %t65 = load ptr, ptr %t0 %t66 = load i32, ptr %t14 %t67 = add i32 %t66, 1 %t68 = load i32, ptr %t13 %t69 = add i32 %t67, %t68 %t70 = getelementptr inbounds i8, ptr %t65, i32 %t69 %t71 = load i8, ptr %t70 %t72 = zext i8 %t71 to i32 store i32 %t72, ptr %t73 %t79 = load i32, ptr %t73 %t80 = icmp eq i32 %t79, 32 %t81 = zext i1 %t80 to i32 %t82 = icmp ne i32 %t81, 0 %t83 = zext i1 %t82 to i32 store i32 %t83, ptr %t78 br i1 %t82, label %scend14, label %sc13 sc13: %t84 = load i32, ptr %t73 %t85 = icmp eq i32 %t84, 47 %t86 = zext i1 %t85 to i32 %t87 = icmp ne i32 %t86, 0 %t88 = zext i1 %t87 to i32 store i32 %t88, ptr %t78 br label %scend14 scend14: %t89 = load i32, ptr %t78 %t90 = icmp ne i32 %t89, 0 %t91 = zext i1 %t90 to i32 store i32 %t91, ptr %t77 br i1 %t90, label %scend16, label %sc15 sc15: %t92 = load i32, ptr %t73 %t93 = icmp eq i32 %t92, 62 %t94 = zext i1 %t93 to i32 %t95 = icmp ne i32 %t94, 0 %t96 = zext i1 %t95 to i32 store i32 %t96, ptr %t77 br label %scend16 scend16: %t97 = load i32, ptr %t77 %t98 = icmp ne i32 %t97, 0 %t99 = zext i1 %t98 to i32 store i32 %t99, ptr %t76 br i1 %t98, label %scend18, label %sc17 sc17: %t100 = load i32, ptr %t73 %t101 = icmp eq i32 %t100, 10 %t102 = zext i1 %t101 to i32 %t103 = icmp ne i32 %t102, 0 %t104 = zext i1 %t103 to i32 store i32 %t104, ptr %t76 br label %scend18 scend18: %t105 = load i32, ptr %t76 %t106 = icmp ne i32 %t105, 0 %t107 = zext i1 %t106 to i32 store i32 %t107, ptr %t75 br i1 %t106, label %scend20, label %sc19 sc19: %t108 = load i32, ptr %t73 %t109 = icmp eq i32 %t108, 9 %t110 = zext i1 %t109 to i32 %t111 = icmp ne i32 %t110, 0 %t112 = zext i1 %t111 to i32 store i32 %t112, ptr %t75 br label %scend20 scend20: %t113 = load i32, ptr %t75 %t114 = icmp ne i32 %t113, 0 %t115 = zext i1 %t114 to i32 store i32 %t115, ptr %t74 br i1 %t114, label %scend22, label %sc21 sc21: %t116 = load i32, ptr %t73 %t117 = icmp eq i32 %t116, 13 %t118 = zext i1 %t117 to i32 %t119 = icmp ne i32 %t118, 0 %t120 = zext i1 %t119 to i32 store i32 %t120, ptr %t74 br label %scend22 scend22: %t121 = load i32, ptr %t74 %t122 = icmp ne i32 %t121, 0 br i1 %t122, label %then23, label %ifend25 then23: store i32 1, ptr %retval br label %ret ifend25: br label %ifend12 ifend12: %t123 = load i32, ptr %t14 %t124 = add i32 %t123, 1 store i32 %t124, ptr %t14 br label %wcond3 wend5: store i32 0, ptr %retval br label %ret ret: %t125 = load i32, ptr %retval ret i32 %t125 } define void @fn_schema_hash_compute() { entry: %t0 = alloca i32 %t12 = alloca ptr %t15 = alloca ptr %t16 = alloca i32 %t17 = alloca i32 %t18 = alloca i32 %t19 = alloca i32 %t20 = alloca i32 %t38 = alloca i32 %t44 = alloca i32 %t53 = alloca i32 %t62 = alloca i32 %t1 = load i32, ptr @g_g_release %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 = load i32, ptr @g_g_uses_schema_hash %t5 = icmp eq i32 %t4, 0 %t6 = zext i1 %t5 to i32 %t7 = icmp ne i32 %t6, 0 %t8 = zext i1 %t7 to i32 store i32 %t8, ptr %t0 br label %scend1 scend1: %t9 = load i32, ptr %t0 %t10 = icmp ne i32 %t9, 0 br i1 %t10, label %then2, label %ifend4 then2: br label %ret ifend4: %t11 = call ptr @fn_schema_buf() store ptr %t11, ptr %t12 %t13 = load ptr, ptr %t12 %t14 = call ptr @fn_buf_str(ptr %t13) store ptr %t14, ptr %t15 store i32 8997, ptr %t16 store i32 33826, ptr %t17 store i32 40164, ptr %t18 store i32 52210, ptr %t19 store i32 0, ptr %t20 br label %wcond5 wcond5: %t21 = load i32, ptr %t20 %t22 = load ptr, ptr %t12 %t23 = getelementptr inbounds %Cmp_Buf, 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 %wbody6, label %wend7 wbody6: %t28 = load i32, ptr %t16 %t29 = load ptr, ptr %t15 %t30 = load i32, ptr %t20 %t31 = getelementptr inbounds i8, ptr %t29, i32 %t30 %t32 = load i8, ptr %t31 %t33 = zext i8 %t32 to i32 %t34 = and i32 %t33, 255 %t35 = xor i32 %t28, %t34 store i32 %t35, ptr %t16 %t36 = load i32, ptr %t16 %t37 = mul i32 %t36, 435 store i32 %t37, ptr %t38 %t39 = load i32, ptr %t17 %t40 = mul i32 %t39, 435 %t41 = load i32, ptr %t38 %t42 = lshr i32 %t41, 16 %t43 = add i32 %t40, %t42 store i32 %t43, ptr %t44 %t45 = load i32, ptr %t18 %t46 = mul i32 %t45, 435 %t47 = load i32, ptr %t16 %t48 = mul i32 %t47, 256 %t49 = add i32 %t46, %t48 %t50 = load i32, ptr %t44 %t51 = lshr i32 %t50, 16 %t52 = add i32 %t49, %t51 store i32 %t52, ptr %t53 %t54 = load i32, ptr %t19 %t55 = mul i32 %t54, 435 %t56 = load i32, ptr %t17 %t57 = mul i32 %t56, 256 %t58 = add i32 %t55, %t57 %t59 = load i32, ptr %t53 %t60 = lshr i32 %t59, 16 %t61 = add i32 %t58, %t60 store i32 %t61, ptr %t62 %t63 = load i32, ptr %t38 %t64 = and i32 %t63, 65535 store i32 %t64, ptr %t16 %t65 = load i32, ptr %t44 %t66 = and i32 %t65, 65535 store i32 %t66, ptr %t17 %t67 = load i32, ptr %t53 %t68 = and i32 %t67, 65535 store i32 %t68, ptr %t18 %t69 = load i32, ptr %t62 %t70 = and i32 %t69, 65535 store i32 %t70, ptr %t19 %t71 = load i32, ptr %t20 %t72 = add i32 %t71, 1 store i32 %t72, ptr %t20 br label %wcond5 wend7: %t73 = load i32, ptr %t17 %t74 = shl i32 %t73, 16 %t75 = load i32, ptr %t16 %t76 = or i32 %t74, %t75 store i32 %t76, ptr @g_g_sh_lo %t77 = load i32, ptr %t19 %t78 = shl i32 %t77, 16 %t79 = load i32, ptr %t18 %t80 = or i32 %t78, %t79 store i32 %t80, ptr @g_g_sh_hi store i32 1, ptr @g_g_sh_done br label %ret ret: ret void } define i32 @fn_is_build_ns(ptr %arg_meth) { entry: %retval = alloca i32 %t0 = alloca ptr store ptr %arg_meth, ptr %t0 %t1 = load ptr, ptr %t0 %t2 = call i32 @lp_str_eq(ptr %t1, ptr @.str16491) store i32 %t2, ptr %retval br label %ret ret: %t3 = load i32, ptr %retval ret i32 %t3 } define ptr @fn_emit_build_ns(ptr %arg_meth, ptr %arg_e) { entry: %retval = alloca ptr %t0 = alloca ptr %t1 = alloca ptr %t12 = alloca ptr %t18 = alloca ptr %t23 = alloca ptr store ptr %arg_meth, ptr %t0 store ptr %arg_e, ptr %t1 %t2 = load i32, ptr @g_g_sh_done %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 = call ptr @fn_val(ptr @.str16492, ptr @.str16493) store ptr %t6, ptr %retval br label %ret ifend2: %t7 = load i32, ptr @g_g_sh_lo %t8 = call ptr @fn_itoa(i32 %t7) store i32 9191, ptr @lp_site %t9 = call ptr @lp_str_concat(ptr @.str16494, ptr %t8) store i32 0, ptr @lp_site store i32 9192, ptr @lp_site %t10 = call ptr @lp_str_concat(ptr %t9, ptr @.str16496) store i32 0, ptr @lp_site call void @lp_free(ptr %t9) %t11 = call ptr @fn_emit_bind(ptr %t10) store ptr %t11, ptr %t12 %t13 = load i32, ptr @g_g_sh_hi %t14 = call ptr @fn_itoa(i32 %t13) store i32 9193, ptr @lp_site %t15 = call ptr @lp_str_concat(ptr @.str16497, ptr %t14) store i32 0, ptr @lp_site store i32 9194, ptr @lp_site %t16 = call ptr @lp_str_concat(ptr %t15, ptr @.str16498) store i32 0, ptr @lp_site call void @lp_free(ptr %t15) %t17 = call ptr @fn_emit_bind(ptr %t16) store ptr %t17, ptr %t18 %t19 = load ptr, ptr %t18 store i32 9195, ptr @lp_site %t20 = call ptr @lp_str_concat(ptr @.str16499, ptr %t19) store i32 0, ptr @lp_site store i32 9196, ptr @lp_site %t21 = call ptr @lp_str_concat(ptr %t20, ptr @.str16500) store i32 0, ptr @lp_site call void @lp_free(ptr %t20) %t22 = call ptr @fn_emit_bind(ptr %t21) store ptr %t22, ptr %t23 %t24 = load ptr, ptr %t23 store i32 9197, ptr @lp_site %t25 = call ptr @lp_str_concat(ptr @.str16501, ptr %t24) store i32 0, ptr @lp_site store i32 9198, ptr @lp_site %t26 = call ptr @lp_str_concat(ptr %t25, ptr @.str16502) store i32 0, ptr @lp_site call void @lp_free(ptr %t25) %t27 = load ptr, ptr %t12 store i32 9199, ptr @lp_site %t28 = call ptr @lp_str_concat(ptr %t26, ptr %t27) store i32 0, ptr @lp_site call void @lp_free(ptr %t26) %t29 = call ptr @fn_emit_bind(ptr %t28) %t30 = call ptr @fn_val(ptr %t29, ptr @.str16503) store ptr %t30, ptr %retval br label %ret ret: %t31 = load ptr, ptr %retval ret ptr %t31 } define void @fn_sc_lang(ptr %arg_b) { entry: %t0 = alloca ptr %t7 = alloca ptr %t24 = alloca ptr store ptr %arg_b, ptr %t0 %t1 = load i32, ptr @g_g_i18n_on %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 = load ptr, ptr %t0 call void @fn_buf_puts(ptr %t5, ptr @.str16504) br label %ret ifend2: %t6 = load ptr, ptr @g_g_i18n_en store ptr %t6, ptr %t7 %t8 = load ptr, ptr %t0 call void @fn_buf_puts(ptr %t8, ptr @.str16505) %t9 = load ptr, ptr %t0 %t10 = load ptr, ptr @g_g_i18n_dir call void @fn_jq_put(ptr %t9, ptr %t10) %t11 = load ptr, ptr %t0 call void @fn_buf_puts(ptr %t11, ptr @.str16506) %t12 = load ptr, ptr %t0 %t13 = load ptr, ptr @g_g_i18n_src call void @fn_jq_put(ptr %t12, ptr %t13) %t14 = load ptr, ptr %t0 call void @fn_buf_puts(ptr %t14, ptr @.str16507) %t15 = load ptr, ptr %t7 %t16 = icmp eq ptr %t15, null %t17 = zext i1 %t16 to i32 %t18 = icmp ne i32 %t17, 0 br i1 %t18, label %then3, label %else4 then3: %t19 = load ptr, ptr %t0 call void @fn_buf_puts(ptr %t19, ptr @.str16508) br label %ifend5 else4: %t20 = load ptr, ptr %t0 %t21 = load ptr, ptr @g_g_i18n_en_path call void @fn_jq_put(ptr %t20, ptr %t21) br label %ifend5 ifend5: %t22 = load ptr, ptr %t0 call void @fn_buf_puts(ptr %t22, ptr @.str16509) %t23 = call ptr @fn_ss_new(i32 1024) store ptr %t23, ptr %t24 %t25 = load ptr, ptr %t0 %t26 = load ptr, ptr %t24 call void @fn_sc_lang_keys(ptr %t25, ptr %t26) %t27 = load ptr, ptr %t0 call void @fn_buf_puts(ptr %t27, ptr @.str16510) %t28 = load ptr, ptr %t7 %t29 = icmp ne ptr %t28, null %t30 = zext i1 %t29 to i32 %t31 = icmp ne i32 %t30, 0 br i1 %t31, label %then6, label %ifend8 then6: %t32 = load ptr, ptr %t0 %t33 = load ptr, ptr %t7 %t34 = load ptr, ptr %t24 call void @fn_sc_lang_ids(ptr %t32, ptr %t33, ptr %t34, i32 0) br label %ifend8 ifend8: %t35 = load ptr, ptr %t0 call void @fn_buf_puts(ptr %t35, ptr @.str16511) %t36 = load ptr, ptr %t7 %t37 = icmp ne ptr %t36, null %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 = load ptr, ptr %t7 %t42 = load ptr, ptr %t24 call void @fn_sc_lang_ids(ptr %t40, ptr %t41, ptr %t42, i32 1) br label %ifend11 ifend11: %t43 = load ptr, ptr %t0 call void @fn_buf_puts(ptr %t43, ptr @.str16512) %t44 = load ptr, ptr %t7 %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 %t0 %t49 = load ptr, ptr %t7 call void @fn_sc_lang_split(ptr %t48, ptr %t49) br label %ifend14 ifend14: %t50 = load ptr, ptr %t0 call void @fn_buf_puts(ptr %t50, ptr @.str16513) %t51 = load ptr, ptr %t0 %t52 = load ptr, ptr %t7 call void @fn_sc_lang_others(ptr %t51, ptr %t52) %t53 = load ptr, ptr %t0 call void @fn_buf_puts(ptr %t53, ptr @.str16514) br label %ret ret: ret void } define void @fn_sc_lang_keys(ptr %arg_b, ptr %arg_used) { entry: %t0 = alloca ptr %t1 = alloca ptr %t8 = alloca ptr %t15 = alloca ptr %t16 = alloca i32 %t117 = alloca i32 %t118 = alloca i32 %t145 = alloca ptr %t148 = alloca i32 %t149 = alloca i32 %t188 = alloca i32 %t217 = alloca i32 %t218 = alloca i32 %t223 = alloca i32 %t225 = alloca i32 %t272 = alloca i32 %t288 = alloca i32 %t338 = alloca i32 %t365 = alloca i32 store ptr %arg_b, ptr %t0 store ptr %arg_used, ptr %t1 %t2 = getelementptr %LSlice, ptr null, i32 1 %t3 = ptrtoint ptr %t2 to i64 store i32 9200, ptr @lp_site %t4 = call ptr @lp_malloc(i64 %t3) store i32 0, ptr @lp_site %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 %t8 %t9 = getelementptr %LSlice, ptr null, i32 1 %t10 = ptrtoint ptr %t9 to i64 store i32 9201, ptr @lp_site %t11 = call ptr @lp_malloc(i64 %t10) store i32 0, ptr @lp_site %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 %t16 br label %wcond0 wcond0: %t17 = load i32, ptr %t16 %t18 = load ptr, ptr @g_g_ks_key %t19 = getelementptr inbounds %LSlice, ptr %t18, i32 0, i32 1 %t20 = load i32, ptr %t19 %t21 = icmp slt i32 %t17, %t20 %t22 = zext i1 %t21 to i32 %t23 = icmp ne i32 %t22, 0 br i1 %t23, label %wbody1, label %wend2 wbody1: %t24 = load ptr, ptr %t8 %t25 = load i32, ptr %t16 %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 %grow3, label %put4 grow3: %t32 = mul i32 %t30, 2 %t33 = icmp eq i32 %t30, 0 %t34 = select i1 %t33, i32 8, i32 %t32 %t35 = getelementptr i32, 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 store i32 9202, ptr @lp_site %t40 = call ptr @lp_realloc(ptr %t39, i64 %t38) store i32 0, ptr @lp_site store ptr %t40, ptr %t28 store i32 %t34, ptr %t27 br label %put4 put4: %t41 = load ptr, ptr %t28 %t42 = getelementptr inbounds i32, ptr %t41, i32 %t29 store i32 %t25, ptr %t42 %t43 = add i32 %t29, 1 store i32 %t43, ptr %t26 %t44 = load ptr, ptr %t15 %t45 = load ptr, ptr @g_g_ks_key %t46 = load i32, ptr %t16 %t47 = getelementptr inbounds %LSlice, ptr %t45, i32 0, i32 0 %t48 = load ptr, ptr %t47 %t49 = getelementptr inbounds %LSlice, ptr %t45, i32 0, i32 1 %t50 = load i32, ptr %t49 %t51 = icmp ult i32 %t46, %t50 br i1 %t51, label %ixok5, label %ixbad6 ixbad6: store i32 9203, ptr @lp_site %t52 = call ptr @lp_win_stdio(i32 2) store i32 0, ptr @lp_site call i32 (ptr, ptr, ...) @fprintf(ptr %t52, ptr @.fmt_bounds, ptr @.str16516, i32 %t46, i32 %t50) call void @exit(i32 1) unreachable ixok5: %t53 = getelementptr inbounds ptr, ptr %t48, i32 %t46 %t54 = load ptr, ptr %t53 store i32 9204, ptr @lp_site %t55 = call ptr @lp_str_concat(ptr %t54, ptr @.str16517) store i32 0, ptr @lp_site %t56 = load ptr, ptr @g_g_ks_file %t57 = load i32, ptr %t16 %t58 = getelementptr inbounds %LSlice, ptr %t56, i32 0, i32 0 %t59 = load ptr, ptr %t58 %t60 = getelementptr inbounds %LSlice, ptr %t56, i32 0, i32 1 %t61 = load i32, ptr %t60 %t62 = icmp ult i32 %t57, %t61 br i1 %t62, label %ixok7, label %ixbad8 ixbad8: store i32 9205, ptr @lp_site %t63 = call ptr @lp_win_stdio(i32 2) store i32 0, ptr @lp_site call i32 (ptr, ptr, ...) @fprintf(ptr %t63, ptr @.fmt_bounds, ptr @.str16518, i32 %t57, i32 %t61) call void @exit(i32 1) unreachable ixok7: %t64 = getelementptr inbounds ptr, ptr %t59, i32 %t57 %t65 = load ptr, ptr %t64 store i32 9206, ptr @lp_site %t66 = call ptr @lp_str_concat(ptr %t55, ptr %t65) store i32 0, ptr @lp_site call void @lp_free(ptr %t55) store i32 9207, ptr @lp_site %t67 = call ptr @lp_str_concat(ptr %t66, ptr @.str16519) store i32 0, ptr @lp_site call void @lp_free(ptr %t66) %t68 = load ptr, ptr @g_g_ks_line %t69 = load i32, ptr %t16 %t70 = getelementptr inbounds %LSlice, ptr %t68, i32 0, i32 0 %t71 = load ptr, ptr %t70 %t72 = getelementptr inbounds %LSlice, ptr %t68, i32 0, i32 1 %t73 = load i32, ptr %t72 %t74 = icmp ult i32 %t69, %t73 br i1 %t74, label %ixok9, label %ixbad10 ixbad10: store i32 9208, ptr @lp_site %t75 = call ptr @lp_win_stdio(i32 2) store i32 0, ptr @lp_site call i32 (ptr, ptr, ...) @fprintf(ptr %t75, ptr @.fmt_bounds, ptr @.str16520, i32 %t69, i32 %t73) call void @exit(i32 1) unreachable ixok9: %t76 = getelementptr inbounds i32, ptr %t71, i32 %t69 %t77 = load i32, ptr %t76 %t78 = add i32 1000000, %t77 %t79 = call ptr @fn_itoa(i32 %t78) store i32 9209, ptr @lp_site %t80 = call ptr @lp_str_concat(ptr %t67, ptr %t79) store i32 0, ptr @lp_site call void @lp_free(ptr %t67) store i32 9210, ptr @lp_site %t81 = call ptr @lp_str_concat(ptr %t80, ptr @.str16521) store i32 0, ptr @lp_site call void @lp_free(ptr %t80) %t82 = load ptr, ptr @g_g_ks_col %t83 = load i32, ptr %t16 %t84 = getelementptr inbounds %LSlice, ptr %t82, i32 0, i32 0 %t85 = load ptr, ptr %t84 %t86 = getelementptr inbounds %LSlice, ptr %t82, i32 0, i32 1 %t87 = load i32, ptr %t86 %t88 = icmp ult i32 %t83, %t87 br i1 %t88, label %ixok11, label %ixbad12 ixbad12: store i32 9211, ptr @lp_site %t89 = call ptr @lp_win_stdio(i32 2) store i32 0, ptr @lp_site call i32 (ptr, ptr, ...) @fprintf(ptr %t89, ptr @.fmt_bounds, ptr @.str16522, i32 %t83, i32 %t87) call void @exit(i32 1) unreachable ixok11: %t90 = getelementptr inbounds i32, ptr %t85, i32 %t83 %t91 = load i32, ptr %t90 %t92 = add i32 1000000, %t91 %t93 = call ptr @fn_itoa(i32 %t92) store i32 9212, ptr @lp_site %t94 = call ptr @lp_str_concat(ptr %t81, ptr %t93) store i32 0, ptr @lp_site call void @lp_free(ptr %t81) %t95 = getelementptr inbounds %LSlice, ptr %t44, i32 0, i32 1 %t96 = getelementptr inbounds %LSlice, ptr %t44, i32 0, i32 2 %t97 = getelementptr inbounds %LSlice, ptr %t44, i32 0, i32 0 %t98 = load i32, ptr %t95 %t99 = load i32, ptr %t96 %t100 = icmp sge i32 %t98, %t99 br i1 %t100, label %grow13, label %put14 grow13: %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 store i32 9213, ptr @lp_site %t109 = call ptr @lp_realloc(ptr %t108, i64 %t107) store i32 0, ptr @lp_site store ptr %t109, ptr %t97 store i32 %t103, ptr %t96 br label %put14 put14: %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 %t113 = load i32, ptr %t16 %t114 = add i32 %t113, 1 store i32 %t114, ptr %t16 br label %wcond0 wend2: %t115 = load ptr, ptr %t8 %t116 = load ptr, ptr %t15 call void @fn_sc_sort(ptr %t115, ptr %t116) store i32 0, ptr %t117 store i32 1, ptr %t118 br label %wcond15 wcond15: %t119 = load i32, ptr %t117 %t120 = load ptr, ptr %t8 %t121 = getelementptr inbounds %LSlice, ptr %t120, i32 0, i32 1 %t122 = load i32, ptr %t121 %t123 = icmp slt i32 %t119, %t122 %t124 = zext i1 %t123 to i32 %t125 = icmp ne i32 %t124, 0 br i1 %t125, label %wbody16, label %wend17 wbody16: %t126 = load ptr, ptr @g_g_ks_key %t127 = load ptr, ptr %t8 %t128 = load i32, ptr %t117 %t129 = getelementptr inbounds %LSlice, ptr %t127, i32 0, i32 0 %t130 = load ptr, ptr %t129 %t131 = getelementptr inbounds %LSlice, ptr %t127, i32 0, i32 1 %t132 = load i32, ptr %t131 %t133 = icmp ult i32 %t128, %t132 br i1 %t133, label %ixok18, label %ixbad19 ixbad19: store i32 9214, ptr @lp_site %t134 = call ptr @lp_win_stdio(i32 2) store i32 0, ptr @lp_site call i32 (ptr, ptr, ...) @fprintf(ptr %t134, ptr @.fmt_bounds, ptr @.str16523, i32 %t128, i32 %t132) call void @exit(i32 1) unreachable ixok18: %t135 = getelementptr inbounds i32, ptr %t130, i32 %t128 %t136 = load i32, ptr %t135 %t137 = getelementptr inbounds %LSlice, ptr %t126, i32 0, i32 0 %t138 = load ptr, ptr %t137 %t139 = getelementptr inbounds %LSlice, ptr %t126, i32 0, i32 1 %t140 = load i32, ptr %t139 %t141 = icmp ult i32 %t136, %t140 br i1 %t141, label %ixok20, label %ixbad21 ixbad21: store i32 9215, ptr @lp_site %t142 = call ptr @lp_win_stdio(i32 2) store i32 0, ptr @lp_site call i32 (ptr, ptr, ...) @fprintf(ptr %t142, ptr @.fmt_bounds, ptr @.str16524, i32 %t136, i32 %t140) call void @exit(i32 1) unreachable ixok20: %t143 = getelementptr inbounds ptr, ptr %t138, i32 %t136 %t144 = load ptr, ptr %t143 store ptr %t144, ptr %t145 %t146 = load i32, ptr %t117 %t147 = add i32 %t146, 1 store i32 %t147, ptr %t148 br label %wcond22 wcond22: %t150 = load i32, ptr %t148 %t151 = load ptr, ptr %t8 %t152 = getelementptr inbounds %LSlice, ptr %t151, i32 0, i32 1 %t153 = load i32, ptr %t152 %t154 = icmp slt i32 %t150, %t153 %t155 = zext i1 %t154 to i32 %t156 = icmp ne i32 %t155, 0 %t157 = zext i1 %t156 to i32 store i32 %t157, ptr %t149 br i1 %t156, label %sc25, label %scend26 sc25: %t158 = load ptr, ptr @g_g_ks_key %t159 = load ptr, ptr %t8 %t160 = load i32, ptr %t148 %t161 = getelementptr inbounds %LSlice, ptr %t159, i32 0, i32 0 %t162 = load ptr, ptr %t161 %t163 = getelementptr inbounds %LSlice, ptr %t159, i32 0, i32 1 %t164 = load i32, ptr %t163 %t165 = icmp ult i32 %t160, %t164 br i1 %t165, label %ixok27, label %ixbad28 ixbad28: store i32 9216, ptr @lp_site %t166 = call ptr @lp_win_stdio(i32 2) store i32 0, ptr @lp_site call i32 (ptr, ptr, ...) @fprintf(ptr %t166, ptr @.fmt_bounds, ptr @.str16525, i32 %t160, i32 %t164) call void @exit(i32 1) unreachable ixok27: %t167 = getelementptr inbounds i32, ptr %t162, i32 %t160 %t168 = load i32, ptr %t167 %t169 = getelementptr inbounds %LSlice, ptr %t158, i32 0, i32 0 %t170 = load ptr, ptr %t169 %t171 = getelementptr inbounds %LSlice, ptr %t158, i32 0, i32 1 %t172 = load i32, ptr %t171 %t173 = icmp ult i32 %t168, %t172 br i1 %t173, label %ixok29, label %ixbad30 ixbad30: store i32 9217, ptr @lp_site %t174 = call ptr @lp_win_stdio(i32 2) store i32 0, ptr @lp_site call i32 (ptr, ptr, ...) @fprintf(ptr %t174, ptr @.fmt_bounds, ptr @.str16526, i32 %t168, i32 %t172) call void @exit(i32 1) unreachable ixok29: %t175 = getelementptr inbounds ptr, ptr %t170, i32 %t168 %t176 = load ptr, ptr %t175 %t177 = load ptr, ptr %t145 %t178 = call i32 @lp_str_eq(ptr %t176, ptr %t177) %t179 = icmp ne i32 %t178, 0 %t180 = zext i1 %t179 to i32 store i32 %t180, ptr %t149 br label %scend26 scend26: %t181 = load i32, ptr %t149 %t182 = icmp ne i32 %t181, 0 br i1 %t182, label %wbody23, label %wend24 wbody23: %t183 = load i32, ptr %t148 %t184 = add i32 %t183, 1 store i32 %t184, ptr %t148 br label %wcond22 wend24: %t185 = load ptr, ptr %t1 %t186 = load ptr, ptr %t145 %t187 = call i32 @fn_ss_add(ptr %t185, ptr %t186) store i32 %t187, ptr %t188 %t189 = load ptr, ptr %t0 %t190 = load i32, ptr %t118 call void @fn_sc_sep(ptr %t189, i32 %t190, ptr @.str16527) store i32 0, ptr %t118 %t191 = load ptr, ptr %t0 call void @fn_buf_puts(ptr %t191, ptr @.str16528) %t192 = load ptr, ptr %t0 %t193 = load ptr, ptr %t145 call void @fn_jq_put(ptr %t192, ptr %t193) %t194 = load ptr, ptr %t0 call void @fn_buf_puts(ptr %t194, ptr @.str16529) %t195 = load ptr, ptr %t0 %t196 = load ptr, ptr @g_g_ks_kind %t197 = load ptr, ptr %t8 %t198 = load i32, ptr %t117 %t199 = getelementptr inbounds %LSlice, ptr %t197, i32 0, i32 0 %t200 = load ptr, ptr %t199 %t201 = getelementptr inbounds %LSlice, ptr %t197, i32 0, i32 1 %t202 = load i32, ptr %t201 %t203 = icmp ult i32 %t198, %t202 br i1 %t203, label %ixok31, label %ixbad32 ixbad32: store i32 9218, ptr @lp_site %t204 = call ptr @lp_win_stdio(i32 2) store i32 0, ptr @lp_site call i32 (ptr, ptr, ...) @fprintf(ptr %t204, ptr @.fmt_bounds, ptr @.str16530, i32 %t198, i32 %t202) call void @exit(i32 1) unreachable ixok31: %t205 = getelementptr inbounds i32, ptr %t200, i32 %t198 %t206 = load i32, ptr %t205 %t207 = getelementptr inbounds %LSlice, ptr %t196, i32 0, i32 0 %t208 = load ptr, ptr %t207 %t209 = getelementptr inbounds %LSlice, ptr %t196, i32 0, i32 1 %t210 = load i32, ptr %t209 %t211 = icmp ult i32 %t206, %t210 br i1 %t211, label %ixok33, label %ixbad34 ixbad34: store i32 9219, ptr @lp_site %t212 = call ptr @lp_win_stdio(i32 2) store i32 0, ptr @lp_site call i32 (ptr, ptr, ...) @fprintf(ptr %t212, ptr @.fmt_bounds, ptr @.str16531, i32 %t206, i32 %t210) call void @exit(i32 1) unreachable ixok33: %t213 = getelementptr inbounds i32, ptr %t208, i32 %t206 %t214 = load i32, ptr %t213 %t215 = call ptr @fn_i18n_ks_name(i32 %t214) call void @fn_jq_put(ptr %t195, ptr %t215) %t216 = load ptr, ptr %t0 call void @fn_buf_puts(ptr %t216, ptr @.str16532) store i32 0, ptr %t217 store i32 0, ptr %t218 br label %wcond35 wcond35: %t219 = load i32, ptr %t217 %t220 = icmp slt i32 %t219, 3 %t221 = zext i1 %t220 to i32 %t222 = icmp ne i32 %t221, 0 br i1 %t222, label %wbody36, label %wend37 wbody36: store i32 0, ptr %t223 %t224 = load i32, ptr %t117 store i32 %t224, ptr %t225 br label %wcond38 wcond38: %t226 = load i32, ptr %t225 %t227 = load i32, ptr %t148 %t228 = icmp slt i32 %t226, %t227 %t229 = zext i1 %t228 to i32 %t230 = icmp ne i32 %t229, 0 br i1 %t230, label %wbody39, label %wend40 wbody39: %t231 = load ptr, ptr @g_g_ks_kind %t232 = load ptr, ptr %t8 %t233 = load i32, ptr %t225 %t234 = getelementptr inbounds %LSlice, ptr %t232, i32 0, i32 0 %t235 = load ptr, ptr %t234 %t236 = getelementptr inbounds %LSlice, ptr %t232, i32 0, i32 1 %t237 = load i32, ptr %t236 %t238 = icmp ult i32 %t233, %t237 br i1 %t238, label %ixok41, label %ixbad42 ixbad42: store i32 9220, ptr @lp_site %t239 = call ptr @lp_win_stdio(i32 2) store i32 0, ptr @lp_site call i32 (ptr, ptr, ...) @fprintf(ptr %t239, ptr @.fmt_bounds, ptr @.str16533, i32 %t233, i32 %t237) call void @exit(i32 1) unreachable ixok41: %t240 = getelementptr inbounds i32, ptr %t235, i32 %t233 %t241 = load i32, ptr %t240 %t242 = getelementptr inbounds %LSlice, ptr %t231, i32 0, i32 0 %t243 = load ptr, ptr %t242 %t244 = getelementptr inbounds %LSlice, ptr %t231, i32 0, i32 1 %t245 = load i32, ptr %t244 %t246 = icmp ult i32 %t241, %t245 br i1 %t246, label %ixok43, label %ixbad44 ixbad44: store i32 9221, ptr @lp_site %t247 = call ptr @lp_win_stdio(i32 2) store i32 0, ptr @lp_site call i32 (ptr, ptr, ...) @fprintf(ptr %t247, ptr @.fmt_bounds, ptr @.str16534, i32 %t241, i32 %t245) call void @exit(i32 1) unreachable ixok43: %t248 = getelementptr inbounds i32, ptr %t243, i32 %t241 %t249 = load i32, ptr %t248 %t250 = load i32, ptr %t217 %t251 = icmp eq i32 %t249, %t250 %t252 = zext i1 %t251 to i32 %t253 = icmp ne i32 %t252, 0 br i1 %t253, label %then45, label %ifend47 then45: store i32 1, ptr %t223 br label %ifend47 ifend47: %t254 = load i32, ptr %t225 %t255 = add i32 %t254, 1 store i32 %t255, ptr %t225 br label %wcond38 wend40: %t256 = load i32, ptr %t223 %t257 = icmp ne i32 %t256, 0 br i1 %t257, label %then48, label %ifend50 then48: %t258 = load i32, ptr %t218 %t259 = icmp sgt i32 %t258, 0 %t260 = zext i1 %t259 to i32 %t261 = icmp ne i32 %t260, 0 br i1 %t261, label %then51, label %ifend53 then51: %t262 = load ptr, ptr %t0 call void @fn_buf_puts(ptr %t262, ptr @.str16535) br label %ifend53 ifend53: %t263 = load ptr, ptr %t0 %t264 = load i32, ptr %t217 %t265 = call ptr @fn_i18n_ks_name(i32 %t264) call void @fn_jq_put(ptr %t263, ptr %t265) %t266 = load i32, ptr %t218 %t267 = add i32 %t266, 1 store i32 %t267, ptr %t218 br label %ifend50 ifend50: %t268 = load i32, ptr %t217 %t269 = add i32 %t268, 1 store i32 %t269, ptr %t217 br label %wcond35 wend37: %t270 = load ptr, ptr %t0 call void @fn_buf_puts(ptr %t270, ptr @.str16536) %t271 = load i32, ptr %t117 store i32 %t271, ptr %t272 br label %wcond54 wcond54: %t273 = load i32, ptr %t272 %t274 = load i32, ptr %t148 %t275 = icmp slt i32 %t273, %t274 %t276 = zext i1 %t275 to i32 %t277 = icmp ne i32 %t276, 0 br i1 %t277, label %wbody55, label %wend56 wbody55: %t278 = load ptr, ptr %t8 %t279 = load i32, ptr %t272 %t280 = getelementptr inbounds %LSlice, ptr %t278, i32 0, i32 0 %t281 = load ptr, ptr %t280 %t282 = getelementptr inbounds %LSlice, ptr %t278, i32 0, i32 1 %t283 = load i32, ptr %t282 %t284 = icmp ult i32 %t279, %t283 br i1 %t284, label %ixok57, label %ixbad58 ixbad58: store i32 9222, ptr @lp_site %t285 = call ptr @lp_win_stdio(i32 2) store i32 0, ptr @lp_site call i32 (ptr, ptr, ...) @fprintf(ptr %t285, ptr @.fmt_bounds, ptr @.str16537, i32 %t279, i32 %t283) call void @exit(i32 1) unreachable ixok57: %t286 = getelementptr inbounds i32, ptr %t281, i32 %t279 %t287 = load i32, ptr %t286 store i32 %t287, ptr %t288 %t289 = load i32, ptr %t272 %t290 = load i32, ptr %t117 %t291 = icmp sgt i32 %t289, %t290 %t292 = zext i1 %t291 to i32 %t293 = icmp ne i32 %t292, 0 br i1 %t293, label %then59, label %ifend61 then59: %t294 = load ptr, ptr %t0 call void @fn_buf_puts(ptr %t294, ptr @.str16538) br label %ifend61 ifend61: %t295 = load ptr, ptr %t0 %t296 = load ptr, ptr @g_g_ks_file %t297 = load i32, ptr %t288 %t298 = getelementptr inbounds %LSlice, ptr %t296, i32 0, i32 0 %t299 = load ptr, ptr %t298 %t300 = getelementptr inbounds %LSlice, ptr %t296, i32 0, i32 1 %t301 = load i32, ptr %t300 %t302 = icmp ult i32 %t297, %t301 br i1 %t302, label %ixok62, label %ixbad63 ixbad63: store i32 9223, ptr @lp_site %t303 = call ptr @lp_win_stdio(i32 2) store i32 0, ptr @lp_site call i32 (ptr, ptr, ...) @fprintf(ptr %t303, ptr @.fmt_bounds, ptr @.str16539, i32 %t297, i32 %t301) call void @exit(i32 1) unreachable ixok62: %t304 = getelementptr inbounds ptr, ptr %t299, i32 %t297 %t305 = load ptr, ptr %t304 store i32 9224, ptr @lp_site %t306 = call ptr @lp_str_concat(ptr %t305, ptr @.str16540) store i32 0, ptr @lp_site %t307 = load ptr, ptr @g_g_ks_line %t308 = load i32, ptr %t288 %t309 = getelementptr inbounds %LSlice, ptr %t307, i32 0, i32 0 %t310 = load ptr, ptr %t309 %t311 = getelementptr inbounds %LSlice, ptr %t307, i32 0, i32 1 %t312 = load i32, ptr %t311 %t313 = icmp ult i32 %t308, %t312 br i1 %t313, label %ixok64, label %ixbad65 ixbad65: store i32 9225, ptr @lp_site %t314 = call ptr @lp_win_stdio(i32 2) store i32 0, ptr @lp_site call i32 (ptr, ptr, ...) @fprintf(ptr %t314, ptr @.fmt_bounds, ptr @.str16541, i32 %t308, i32 %t312) call void @exit(i32 1) unreachable ixok64: %t315 = getelementptr inbounds i32, ptr %t310, i32 %t308 %t316 = load i32, ptr %t315 %t317 = call ptr @fn_itoa(i32 %t316) store i32 9226, ptr @lp_site %t318 = call ptr @lp_str_concat(ptr %t306, ptr %t317) store i32 0, ptr @lp_site call void @lp_free(ptr %t306) store i32 9227, ptr @lp_site %t319 = call ptr @lp_str_concat(ptr %t318, ptr @.str16542) store i32 0, ptr @lp_site call void @lp_free(ptr %t318) %t320 = load ptr, ptr @g_g_ks_col %t321 = load i32, ptr %t288 %t322 = getelementptr inbounds %LSlice, ptr %t320, i32 0, i32 0 %t323 = load ptr, ptr %t322 %t324 = getelementptr inbounds %LSlice, ptr %t320, i32 0, i32 1 %t325 = load i32, ptr %t324 %t326 = icmp ult i32 %t321, %t325 br i1 %t326, label %ixok66, label %ixbad67 ixbad67: store i32 9228, ptr @lp_site %t327 = call ptr @lp_win_stdio(i32 2) store i32 0, ptr @lp_site call i32 (ptr, ptr, ...) @fprintf(ptr %t327, ptr @.fmt_bounds, ptr @.str16543, i32 %t321, i32 %t325) call void @exit(i32 1) unreachable ixok66: %t328 = getelementptr inbounds i32, ptr %t323, i32 %t321 %t329 = load i32, ptr %t328 %t330 = call ptr @fn_itoa(i32 %t329) store i32 9229, ptr @lp_site %t331 = call ptr @lp_str_concat(ptr %t319, ptr %t330) store i32 0, ptr @lp_site call void @lp_free(ptr %t319) call void @fn_jq_put(ptr %t295, ptr %t331) %t332 = load i32, ptr %t272 %t333 = add i32 %t332, 1 store i32 %t333, ptr %t272 br label %wcond54 wend56: %t334 = load ptr, ptr %t0 call void @fn_buf_puts(ptr %t334, ptr @.str16544) %t335 = load ptr, ptr @g_g_i18n_en %t336 = load ptr, ptr %t145 %t337 = call i32 @fn_po_find(ptr %t335, ptr %t336) store i32 %t337, ptr %t338 %t339 = load ptr, ptr %t0 call void @fn_buf_puts(ptr %t339, ptr @.str16545) %t340 = load ptr, ptr %t0 %t341 = load i32, ptr %t338 %t342 = icmp sge i32 %t341, 0 %t343 = zext i1 %t342 to i32 call void @fn_sc_bool(ptr %t340, i32 %t343) %t344 = load ptr, ptr %t0 call void @fn_buf_puts(ptr %t344, ptr @.str16546) %t345 = load i32, ptr %t338 %t346 = icmp sge i32 %t345, 0 %t347 = zext i1 %t346 to i32 %t348 = icmp ne i32 %t347, 0 br i1 %t348, label %then68, label %else69 then68: %t349 = load ptr, ptr %t0 %t350 = load ptr, ptr @g_g_i18n_en %t351 = getelementptr inbounds %Cmp_PoFile, ptr %t350, i32 0, i32 4 %t352 = load ptr, ptr %t351 %t353 = load i32, ptr %t338 %t354 = getelementptr inbounds %LSlice, ptr %t352, i32 0, i32 0 %t355 = load ptr, ptr %t354 %t356 = getelementptr inbounds %LSlice, ptr %t352, i32 0, i32 1 %t357 = load i32, ptr %t356 %t358 = icmp ult i32 %t353, %t357 br i1 %t358, label %ixok71, label %ixbad72 ixbad72: store i32 9230, ptr @lp_site %t359 = call ptr @lp_win_stdio(i32 2) store i32 0, ptr @lp_site call i32 (ptr, ptr, ...) @fprintf(ptr %t359, ptr @.fmt_bounds, ptr @.str16547, i32 %t353, i32 %t357) call void @exit(i32 1) unreachable ixok71: %t360 = getelementptr inbounds ptr, ptr %t355, i32 %t353 %t361 = load ptr, ptr %t360 call void @fn_jq_put(ptr %t349, ptr %t361) br label %ifend70 else69: %t362 = load ptr, ptr %t0 call void @fn_buf_puts(ptr %t362, ptr @.str16548) br label %ifend70 ifend70: %t363 = load ptr, ptr %t0 call void @fn_buf_puts(ptr %t363, ptr @.str16549) %t364 = load ptr, ptr %t0 %t366 = load i32, ptr %t338 %t367 = icmp sge i32 %t366, 0 %t368 = zext i1 %t367 to i32 %t369 = icmp ne i32 %t368, 0 %t370 = zext i1 %t369 to i32 store i32 %t370, ptr %t365 br i1 %t369, label %sc73, label %scend74 sc73: %t371 = load ptr, ptr @g_g_i18n_en %t372 = getelementptr inbounds %Cmp_PoFile, ptr %t371, i32 0, i32 2 %t373 = load ptr, ptr %t372 %t374 = load i32, ptr %t338 %t375 = getelementptr inbounds %LSlice, ptr %t373, i32 0, i32 0 %t376 = load ptr, ptr %t375 %t377 = getelementptr inbounds %LSlice, ptr %t373, i32 0, i32 1 %t378 = load i32, ptr %t377 %t379 = icmp ult i32 %t374, %t378 br i1 %t379, label %ixok75, label %ixbad76 ixbad76: store i32 9231, ptr @lp_site %t380 = call ptr @lp_win_stdio(i32 2) store i32 0, ptr @lp_site call i32 (ptr, ptr, ...) @fprintf(ptr %t380, ptr @.fmt_bounds, ptr @.str16550, i32 %t374, i32 %t378) call void @exit(i32 1) unreachable ixok75: %t381 = getelementptr inbounds i32, ptr %t376, i32 %t374 %t382 = load i32, ptr %t381 %t383 = icmp ne i32 %t382, 0 %t384 = zext i1 %t383 to i32 store i32 %t384, ptr %t365 br label %scend74 scend74: %t385 = load i32, ptr %t365 call void @fn_sc_bool(ptr %t364, i32 %t385) %t386 = load ptr, ptr %t0 call void @fn_buf_puts(ptr %t386, ptr @.str16551) %t387 = load i32, ptr %t338 %t388 = icmp sge i32 %t387, 0 %t389 = zext i1 %t388 to i32 %t390 = icmp ne i32 %t389, 0 br i1 %t390, label %then77, label %else78 then77: %t391 = load ptr, ptr %t0 %t392 = load ptr, ptr @g_g_i18n_en %t393 = getelementptr inbounds %Cmp_PoFile, ptr %t392, i32 0, i32 6 %t394 = load ptr, ptr %t393 %t395 = load i32, ptr %t338 %t396 = getelementptr inbounds %LSlice, ptr %t394, i32 0, i32 0 %t397 = load ptr, ptr %t396 %t398 = getelementptr inbounds %LSlice, ptr %t394, i32 0, i32 1 %t399 = load i32, ptr %t398 %t400 = icmp ult i32 %t395, %t399 br i1 %t400, label %ixok80, label %ixbad81 ixbad81: store i32 9232, ptr @lp_site %t401 = call ptr @lp_win_stdio(i32 2) store i32 0, ptr @lp_site call i32 (ptr, ptr, ...) @fprintf(ptr %t401, ptr @.fmt_bounds, ptr @.str16552, i32 %t395, i32 %t399) call void @exit(i32 1) unreachable ixok80: %t402 = getelementptr inbounds ptr, ptr %t397, i32 %t395 %t403 = load ptr, ptr %t402 call void @fn_sc_str(ptr %t391, ptr %t403) br label %ifend79 else78: %t404 = load ptr, ptr %t0 call void @fn_buf_puts(ptr %t404, ptr @.str16553) br label %ifend79 ifend79: %t405 = load ptr, ptr %t0 call void @fn_buf_puts(ptr %t405, ptr @.str16554) %t406 = load i32, ptr %t148 store i32 %t406, ptr %t117 br label %wcond15 wend17: br label %ret ret: ret void } define void @fn_sc_lang_ids(ptr %arg_b, ptr %arg_en, ptr %arg_used, i32 %arg_what) { entry: %t0 = alloca ptr %t1 = alloca ptr %t2 = alloca ptr %t3 = alloca i32 %t10 = alloca ptr %t11 = alloca i32 %t21 = alloca i32 store ptr %arg_b, ptr %t0 store ptr %arg_en, ptr %t1 store ptr %arg_used, ptr %t2 store i32 %arg_what, ptr %t3 %t4 = getelementptr %LSlice, ptr null, i32 1 %t5 = ptrtoint ptr %t4 to i64 store i32 9233, ptr @lp_site %t6 = call ptr @lp_malloc(i64 %t5) store i32 0, ptr @lp_site %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 store i32 0, ptr %t11 br label %wcond0 wcond0: %t12 = load i32, ptr %t11 %t13 = load ptr, ptr %t1 %t14 = getelementptr inbounds %Cmp_PoFile, ptr %t13, i32 0, i32 1 %t15 = load ptr, ptr %t14 %t16 = getelementptr inbounds %LSlice, ptr %t15, i32 0, i32 1 %t17 = load i32, ptr %t16 %t18 = icmp slt i32 %t12, %t17 %t19 = zext i1 %t18 to i32 %t20 = icmp ne i32 %t19, 0 br i1 %t20, label %wbody1, label %wend2 wbody1: store i32 0, ptr %t21 %t22 = load i32, ptr %t3 %t23 = icmp eq i32 %t22, 0 %t24 = zext i1 %t23 to i32 %t25 = icmp ne i32 %t24, 0 br i1 %t25, label %then3, label %ifend5 then3: %t26 = load ptr, ptr %t2 %t27 = load ptr, ptr %t1 %t28 = getelementptr inbounds %Cmp_PoFile, ptr %t27, i32 0, i32 1 %t29 = load ptr, ptr %t28 %t30 = load i32, ptr %t11 %t31 = getelementptr inbounds %LSlice, ptr %t29, i32 0, i32 0 %t32 = load ptr, ptr %t31 %t33 = getelementptr inbounds %LSlice, ptr %t29, i32 0, i32 1 %t34 = load i32, ptr %t33 %t35 = icmp ult i32 %t30, %t34 br i1 %t35, label %ixok6, label %ixbad7 ixbad7: store i32 9234, ptr @lp_site %t36 = call ptr @lp_win_stdio(i32 2) store i32 0, ptr @lp_site call i32 (ptr, ptr, ...) @fprintf(ptr %t36, ptr @.fmt_bounds, ptr @.str16556, i32 %t30, i32 %t34) call void @exit(i32 1) unreachable ixok6: %t37 = getelementptr inbounds ptr, ptr %t32, i32 %t30 %t38 = load ptr, ptr %t37 %t39 = call i32 @fn_ss_has(ptr %t26, ptr %t38) %t40 = icmp eq i32 %t39, 0 %t41 = zext i1 %t40 to i32 store i32 %t41, ptr %t21 br label %ifend5 ifend5: %t42 = load i32, ptr %t3 %t43 = icmp eq i32 %t42, 1 %t44 = zext i1 %t43 to i32 %t45 = icmp ne i32 %t44, 0 br i1 %t45, label %then8, label %ifend10 then8: %t46 = load ptr, ptr %t1 %t47 = getelementptr inbounds %Cmp_PoFile, ptr %t46, i32 0, i32 6 %t48 = load ptr, ptr %t47 %t49 = load i32, ptr %t11 %t50 = getelementptr inbounds %LSlice, ptr %t48, i32 0, i32 0 %t51 = load ptr, ptr %t50 %t52 = getelementptr inbounds %LSlice, ptr %t48, i32 0, i32 1 %t53 = load i32, ptr %t52 %t54 = icmp ult i32 %t49, %t53 br i1 %t54, label %ixok11, label %ixbad12 ixbad12: store i32 9235, ptr @lp_site %t55 = call ptr @lp_win_stdio(i32 2) store i32 0, ptr @lp_site call i32 (ptr, ptr, ...) @fprintf(ptr %t55, ptr @.fmt_bounds, ptr @.str16557, i32 %t49, i32 %t53) call void @exit(i32 1) unreachable ixok11: %t56 = getelementptr inbounds ptr, ptr %t51, i32 %t49 %t57 = load ptr, ptr %t56 %t58 = icmp eq ptr %t57, null %t59 = zext i1 %t58 to i32 store i32 %t59, ptr %t21 br label %ifend10 ifend10: %t60 = load i32, ptr %t21 %t61 = icmp ne i32 %t60, 0 br i1 %t61, label %then13, label %ifend15 then13: %t62 = load ptr, ptr %t10 %t63 = load i32, ptr %t11 %t64 = getelementptr inbounds %LSlice, ptr %t62, i32 0, i32 1 %t65 = getelementptr inbounds %LSlice, ptr %t62, i32 0, i32 2 %t66 = getelementptr inbounds %LSlice, ptr %t62, i32 0, i32 0 %t67 = load i32, ptr %t64 %t68 = load i32, ptr %t65 %t69 = icmp sge i32 %t67, %t68 br i1 %t69, label %grow16, label %put17 grow16: %t70 = mul i32 %t68, 2 %t71 = icmp eq i32 %t68, 0 %t72 = select i1 %t71, i32 8, i32 %t70 %t73 = getelementptr i32, ptr null, i32 1 %t74 = ptrtoint ptr %t73 to i64 %t75 = zext i32 %t72 to i64 %t76 = mul i64 %t75, %t74 %t77 = load ptr, ptr %t66 store i32 9236, ptr @lp_site %t78 = call ptr @lp_realloc(ptr %t77, i64 %t76) store i32 0, ptr @lp_site store ptr %t78, ptr %t66 store i32 %t72, ptr %t65 br label %put17 put17: %t79 = load ptr, ptr %t66 %t80 = getelementptr inbounds i32, ptr %t79, i32 %t67 store i32 %t63, ptr %t80 %t81 = add i32 %t67, 1 store i32 %t81, ptr %t64 br label %ifend15 ifend15: %t82 = load i32, ptr %t11 %t83 = add i32 %t82, 1 store i32 %t83, ptr %t11 br label %wcond0 wend2: %t84 = load ptr, ptr %t10 %t85 = load ptr, ptr %t1 %t86 = getelementptr inbounds %Cmp_PoFile, ptr %t85, i32 0, i32 1 %t87 = load ptr, ptr %t86 call void @fn_sc_sort(ptr %t84, ptr %t87) store i32 0, ptr %t11 br label %wcond18 wcond18: %t88 = load i32, ptr %t11 %t89 = load ptr, ptr %t10 %t90 = getelementptr inbounds %LSlice, ptr %t89, i32 0, i32 1 %t91 = load i32, ptr %t90 %t92 = icmp slt i32 %t88, %t91 %t93 = zext i1 %t92 to i32 %t94 = icmp ne i32 %t93, 0 br i1 %t94, label %wbody19, label %wend20 wbody19: %t95 = load i32, ptr %t11 %t96 = icmp sgt i32 %t95, 0 %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 call void @fn_buf_puts(ptr %t99, ptr @.str16558) br label %ifend23 ifend23: %t100 = load ptr, ptr %t0 %t101 = load ptr, ptr %t1 %t102 = getelementptr inbounds %Cmp_PoFile, ptr %t101, i32 0, i32 1 %t103 = load ptr, ptr %t102 %t104 = load ptr, ptr %t10 %t105 = load i32, ptr %t11 %t106 = getelementptr inbounds %LSlice, ptr %t104, i32 0, i32 0 %t107 = load ptr, ptr %t106 %t108 = getelementptr inbounds %LSlice, ptr %t104, i32 0, i32 1 %t109 = load i32, ptr %t108 %t110 = icmp ult i32 %t105, %t109 br i1 %t110, label %ixok24, label %ixbad25 ixbad25: store i32 9237, ptr @lp_site %t111 = call ptr @lp_win_stdio(i32 2) store i32 0, ptr @lp_site call i32 (ptr, ptr, ...) @fprintf(ptr %t111, ptr @.fmt_bounds, ptr @.str16559, i32 %t105, i32 %t109) call void @exit(i32 1) unreachable ixok24: %t112 = getelementptr inbounds i32, ptr %t107, i32 %t105 %t113 = load i32, ptr %t112 %t114 = getelementptr inbounds %LSlice, ptr %t103, i32 0, i32 0 %t115 = load ptr, ptr %t114 %t116 = getelementptr inbounds %LSlice, ptr %t103, i32 0, i32 1 %t117 = load i32, ptr %t116 %t118 = icmp ult i32 %t113, %t117 br i1 %t118, label %ixok26, label %ixbad27 ixbad27: store i32 9238, ptr @lp_site %t119 = call ptr @lp_win_stdio(i32 2) store i32 0, ptr @lp_site call i32 (ptr, ptr, ...) @fprintf(ptr %t119, ptr @.fmt_bounds, ptr @.str16560, i32 %t113, i32 %t117) call void @exit(i32 1) unreachable ixok26: %t120 = getelementptr inbounds ptr, ptr %t115, i32 %t113 %t121 = load ptr, ptr %t120 call void @fn_jq_put(ptr %t100, ptr %t121) %t122 = load i32, ptr %t11 %t123 = add i32 %t122, 1 store i32 %t123, ptr %t11 br label %wcond18 wend20: br label %ret ret: ret void } define void @fn_sc_lang_split(ptr %arg_b, ptr %arg_en) { entry: %t0 = alloca ptr %t1 = alloca ptr %t8 = alloca ptr %t15 = alloca ptr %t16 = alloca i32 %t95 = alloca i32 %t96 = alloca i32 %t106 = alloca i32 %t107 = alloca i32 %t165 = alloca i32 %t229 = alloca i32 store ptr %arg_b, ptr %t0 store ptr %arg_en, ptr %t1 %t2 = getelementptr %LSlice, ptr null, i32 1 %t3 = ptrtoint ptr %t2 to i64 store i32 9239, ptr @lp_site %t4 = call ptr @lp_malloc(i64 %t3) store i32 0, ptr @lp_site %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 %t8 %t9 = getelementptr %LSlice, ptr null, i32 1 %t10 = ptrtoint ptr %t9 to i64 store i32 9240, ptr @lp_site %t11 = call ptr @lp_malloc(i64 %t10) store i32 0, ptr @lp_site %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 %t16 br label %wcond0 wcond0: %t17 = load i32, ptr %t16 %t18 = load ptr, ptr %t1 %t19 = getelementptr inbounds %Cmp_PoFile, ptr %t18, i32 0, i32 1 %t20 = load ptr, ptr %t19 %t21 = getelementptr inbounds %LSlice, ptr %t20, i32 0, i32 1 %t22 = load i32, ptr %t21 %t23 = icmp slt i32 %t17, %t22 %t24 = zext i1 %t23 to i32 %t25 = icmp ne i32 %t24, 0 br i1 %t25, label %wbody1, label %wend2 wbody1: %t26 = load ptr, ptr %t8 %t27 = load i32, ptr %t16 %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 %grow3, label %put4 grow3: %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 store i32 9241, ptr @lp_site %t42 = call ptr @lp_realloc(ptr %t41, i64 %t40) store i32 0, ptr @lp_site store ptr %t42, ptr %t30 store i32 %t36, ptr %t29 br label %put4 put4: %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 %t46 = load ptr, ptr %t15 %t47 = load ptr, ptr %t1 %t48 = getelementptr inbounds %Cmp_PoFile, ptr %t47, i32 0, i32 4 %t49 = load ptr, ptr %t48 %t50 = load i32, ptr %t16 %t51 = getelementptr inbounds %LSlice, ptr %t49, i32 0, i32 0 %t52 = load ptr, ptr %t51 %t53 = getelementptr inbounds %LSlice, ptr %t49, i32 0, i32 1 %t54 = load i32, ptr %t53 %t55 = icmp ult i32 %t50, %t54 br i1 %t55, label %ixok5, label %ixbad6 ixbad6: store i32 9242, ptr @lp_site %t56 = call ptr @lp_win_stdio(i32 2) store i32 0, ptr @lp_site call i32 (ptr, ptr, ...) @fprintf(ptr %t56, ptr @.fmt_bounds, ptr @.str16562, i32 %t50, i32 %t54) call void @exit(i32 1) unreachable ixok5: %t57 = getelementptr inbounds ptr, ptr %t52, i32 %t50 %t58 = load ptr, ptr %t57 store i32 9243, ptr @lp_site %t59 = call ptr @lp_str_concat(ptr %t58, ptr @.str16563) store i32 0, ptr @lp_site %t60 = load ptr, ptr %t1 %t61 = getelementptr inbounds %Cmp_PoFile, ptr %t60, i32 0, i32 1 %t62 = load ptr, ptr %t61 %t63 = load i32, ptr %t16 %t64 = getelementptr inbounds %LSlice, ptr %t62, i32 0, i32 0 %t65 = load ptr, ptr %t64 %t66 = getelementptr inbounds %LSlice, ptr %t62, i32 0, i32 1 %t67 = load i32, ptr %t66 %t68 = icmp ult i32 %t63, %t67 br i1 %t68, label %ixok7, label %ixbad8 ixbad8: store i32 9244, ptr @lp_site %t69 = call ptr @lp_win_stdio(i32 2) store i32 0, ptr @lp_site call i32 (ptr, ptr, ...) @fprintf(ptr %t69, ptr @.fmt_bounds, ptr @.str16564, i32 %t63, i32 %t67) call void @exit(i32 1) unreachable ixok7: %t70 = getelementptr inbounds ptr, ptr %t65, i32 %t63 %t71 = load ptr, ptr %t70 store i32 9245, ptr @lp_site %t72 = call ptr @lp_str_concat(ptr %t59, ptr %t71) store i32 0, ptr @lp_site call void @lp_free(ptr %t59) %t73 = getelementptr inbounds %LSlice, ptr %t46, i32 0, i32 1 %t74 = getelementptr inbounds %LSlice, ptr %t46, i32 0, i32 2 %t75 = getelementptr inbounds %LSlice, ptr %t46, i32 0, i32 0 %t76 = load i32, ptr %t73 %t77 = load i32, ptr %t74 %t78 = icmp sge i32 %t76, %t77 br i1 %t78, label %grow9, label %put10 grow9: %t79 = mul i32 %t77, 2 %t80 = icmp eq i32 %t77, 0 %t81 = select i1 %t80, i32 8, i32 %t79 %t82 = getelementptr ptr, ptr null, i32 1 %t83 = ptrtoint ptr %t82 to i64 %t84 = zext i32 %t81 to i64 %t85 = mul i64 %t84, %t83 %t86 = load ptr, ptr %t75 store i32 9246, ptr @lp_site %t87 = call ptr @lp_realloc(ptr %t86, i64 %t85) store i32 0, ptr @lp_site store ptr %t87, ptr %t75 store i32 %t81, ptr %t74 br label %put10 put10: %t88 = load ptr, ptr %t75 %t89 = getelementptr inbounds ptr, ptr %t88, i32 %t76 store ptr %t72, ptr %t89 %t90 = add i32 %t76, 1 store i32 %t90, ptr %t73 %t91 = load i32, ptr %t16 %t92 = add i32 %t91, 1 store i32 %t92, ptr %t16 br label %wcond0 wend2: %t93 = load ptr, ptr %t8 %t94 = load ptr, ptr %t15 call void @fn_sc_sort(ptr %t93, ptr %t94) store i32 1, ptr %t95 store i32 0, ptr %t96 br label %wcond11 wcond11: %t97 = load i32, ptr %t96 %t98 = load ptr, ptr %t8 %t99 = getelementptr inbounds %LSlice, ptr %t98, i32 0, i32 1 %t100 = load i32, ptr %t99 %t101 = icmp slt i32 %t97, %t100 %t102 = zext i1 %t101 to i32 %t103 = icmp ne i32 %t102, 0 br i1 %t103, label %wbody12, label %wend13 wbody12: %t104 = load i32, ptr %t96 %t105 = add i32 %t104, 1 store i32 %t105, ptr %t106 br label %wcond14 wcond14: %t108 = load i32, ptr %t106 %t109 = load ptr, ptr %t8 %t110 = getelementptr inbounds %LSlice, ptr %t109, i32 0, i32 1 %t111 = load i32, ptr %t110 %t112 = icmp slt i32 %t108, %t111 %t113 = zext i1 %t112 to i32 %t114 = icmp ne i32 %t113, 0 %t115 = zext i1 %t114 to i32 store i32 %t115, ptr %t107 br i1 %t114, label %sc17, label %scend18 sc17: %t116 = load ptr, ptr %t1 %t117 = getelementptr inbounds %Cmp_PoFile, ptr %t116, i32 0, i32 4 %t118 = load ptr, ptr %t117 %t119 = load ptr, ptr %t8 %t120 = load i32, ptr %t106 %t121 = getelementptr inbounds %LSlice, ptr %t119, i32 0, i32 0 %t122 = load ptr, ptr %t121 %t123 = getelementptr inbounds %LSlice, ptr %t119, i32 0, i32 1 %t124 = load i32, ptr %t123 %t125 = icmp ult i32 %t120, %t124 br i1 %t125, label %ixok19, label %ixbad20 ixbad20: store i32 9247, ptr @lp_site %t126 = call ptr @lp_win_stdio(i32 2) store i32 0, ptr @lp_site call i32 (ptr, ptr, ...) @fprintf(ptr %t126, ptr @.fmt_bounds, ptr @.str16565, i32 %t120, i32 %t124) call void @exit(i32 1) unreachable ixok19: %t127 = getelementptr inbounds i32, ptr %t122, i32 %t120 %t128 = load i32, ptr %t127 %t129 = getelementptr inbounds %LSlice, ptr %t118, i32 0, i32 0 %t130 = load ptr, ptr %t129 %t131 = getelementptr inbounds %LSlice, ptr %t118, i32 0, i32 1 %t132 = load i32, ptr %t131 %t133 = icmp ult i32 %t128, %t132 br i1 %t133, label %ixok21, label %ixbad22 ixbad22: store i32 9248, ptr @lp_site %t134 = call ptr @lp_win_stdio(i32 2) store i32 0, ptr @lp_site call i32 (ptr, ptr, ...) @fprintf(ptr %t134, ptr @.fmt_bounds, ptr @.str16566, i32 %t128, i32 %t132) call void @exit(i32 1) unreachable ixok21: %t135 = getelementptr inbounds ptr, ptr %t130, i32 %t128 %t136 = load ptr, ptr %t135 %t137 = load ptr, ptr %t1 %t138 = getelementptr inbounds %Cmp_PoFile, ptr %t137, i32 0, i32 4 %t139 = load ptr, ptr %t138 %t140 = load ptr, ptr %t8 %t141 = load i32, ptr %t96 %t142 = getelementptr inbounds %LSlice, ptr %t140, i32 0, i32 0 %t143 = load ptr, ptr %t142 %t144 = getelementptr inbounds %LSlice, ptr %t140, i32 0, i32 1 %t145 = load i32, ptr %t144 %t146 = icmp ult i32 %t141, %t145 br i1 %t146, label %ixok23, label %ixbad24 ixbad24: store i32 9249, ptr @lp_site %t147 = call ptr @lp_win_stdio(i32 2) store i32 0, ptr @lp_site call i32 (ptr, ptr, ...) @fprintf(ptr %t147, ptr @.fmt_bounds, ptr @.str16567, i32 %t141, i32 %t145) call void @exit(i32 1) unreachable ixok23: %t148 = getelementptr inbounds i32, ptr %t143, i32 %t141 %t149 = load i32, ptr %t148 %t150 = getelementptr inbounds %LSlice, ptr %t139, i32 0, i32 0 %t151 = load ptr, ptr %t150 %t152 = getelementptr inbounds %LSlice, ptr %t139, i32 0, i32 1 %t153 = load i32, ptr %t152 %t154 = icmp ult i32 %t149, %t153 br i1 %t154, label %ixok25, label %ixbad26 ixbad26: store i32 9250, ptr @lp_site %t155 = call ptr @lp_win_stdio(i32 2) store i32 0, ptr @lp_site call i32 (ptr, ptr, ...) @fprintf(ptr %t155, ptr @.fmt_bounds, ptr @.str16568, i32 %t149, i32 %t153) call void @exit(i32 1) unreachable ixok25: %t156 = getelementptr inbounds ptr, ptr %t151, i32 %t149 %t157 = load ptr, ptr %t156 %t158 = call i32 @lp_str_eq(ptr %t136, ptr %t157) %t159 = icmp ne i32 %t158, 0 %t160 = zext i1 %t159 to i32 store i32 %t160, ptr %t107 br label %scend18 scend18: %t161 = load i32, ptr %t107 %t162 = icmp ne i32 %t161, 0 br i1 %t162, label %wbody15, label %wend16 wbody15: %t163 = load i32, ptr %t106 %t164 = add i32 %t163, 1 store i32 %t164, ptr %t106 br label %wcond14 wend16: %t166 = load i32, ptr %t106 %t167 = load i32, ptr %t96 %t168 = sub i32 %t166, %t167 %t169 = icmp sgt i32 %t168, 1 %t170 = zext i1 %t169 to i32 %t171 = icmp ne i32 %t170, 0 %t172 = zext i1 %t171 to i32 store i32 %t172, ptr %t165 br i1 %t171, label %sc27, label %scend28 sc27: %t173 = load ptr, ptr %t1 %t174 = getelementptr inbounds %Cmp_PoFile, ptr %t173, i32 0, i32 4 %t175 = load ptr, ptr %t174 %t176 = load ptr, ptr %t8 %t177 = load i32, ptr %t96 %t178 = getelementptr inbounds %LSlice, ptr %t176, i32 0, i32 0 %t179 = load ptr, ptr %t178 %t180 = getelementptr inbounds %LSlice, ptr %t176, i32 0, i32 1 %t181 = load i32, ptr %t180 %t182 = icmp ult i32 %t177, %t181 br i1 %t182, label %ixok29, label %ixbad30 ixbad30: store i32 9251, ptr @lp_site %t183 = call ptr @lp_win_stdio(i32 2) store i32 0, ptr @lp_site call i32 (ptr, ptr, ...) @fprintf(ptr %t183, ptr @.fmt_bounds, ptr @.str16569, i32 %t177, i32 %t181) call void @exit(i32 1) unreachable ixok29: %t184 = getelementptr inbounds i32, ptr %t179, i32 %t177 %t185 = load i32, ptr %t184 %t186 = getelementptr inbounds %LSlice, ptr %t175, i32 0, i32 0 %t187 = load ptr, ptr %t186 %t188 = getelementptr inbounds %LSlice, ptr %t175, i32 0, i32 1 %t189 = load i32, ptr %t188 %t190 = icmp ult i32 %t185, %t189 br i1 %t190, label %ixok31, label %ixbad32 ixbad32: store i32 9252, ptr @lp_site %t191 = call ptr @lp_win_stdio(i32 2) store i32 0, ptr @lp_site call i32 (ptr, ptr, ...) @fprintf(ptr %t191, ptr @.fmt_bounds, ptr @.str16570, i32 %t185, i32 %t189) call void @exit(i32 1) unreachable ixok31: %t192 = getelementptr inbounds ptr, ptr %t187, i32 %t185 %t193 = load ptr, ptr %t192 %t194 = call i64 @strlen(ptr %t193) %t195 = trunc i64 %t194 to i32 %t196 = icmp sgt i32 %t195, 0 %t197 = zext i1 %t196 to i32 %t198 = icmp ne i32 %t197, 0 %t199 = zext i1 %t198 to i32 store i32 %t199, ptr %t165 br label %scend28 scend28: %t200 = load i32, ptr %t165 %t201 = icmp ne i32 %t200, 0 br i1 %t201, label %then33, label %ifend35 then33: %t202 = load ptr, ptr %t0 %t203 = load i32, ptr %t95 call void @fn_sc_sep(ptr %t202, i32 %t203, ptr @.str16571) store i32 0, ptr %t95 %t204 = load ptr, ptr %t0 call void @fn_buf_puts(ptr %t204, ptr @.str16572) %t205 = load ptr, ptr %t0 %t206 = load ptr, ptr %t1 %t207 = getelementptr inbounds %Cmp_PoFile, ptr %t206, i32 0, i32 4 %t208 = load ptr, ptr %t207 %t209 = load ptr, ptr %t8 %t210 = load i32, ptr %t96 %t211 = getelementptr inbounds %LSlice, ptr %t209, i32 0, i32 0 %t212 = load ptr, ptr %t211 %t213 = getelementptr inbounds %LSlice, ptr %t209, i32 0, i32 1 %t214 = load i32, ptr %t213 %t215 = icmp ult i32 %t210, %t214 br i1 %t215, label %ixok36, label %ixbad37 ixbad37: store i32 9253, ptr @lp_site %t216 = call ptr @lp_win_stdio(i32 2) store i32 0, ptr @lp_site call i32 (ptr, ptr, ...) @fprintf(ptr %t216, ptr @.fmt_bounds, ptr @.str16573, i32 %t210, i32 %t214) call void @exit(i32 1) unreachable ixok36: %t217 = getelementptr inbounds i32, ptr %t212, i32 %t210 %t218 = load i32, ptr %t217 %t219 = getelementptr inbounds %LSlice, ptr %t208, i32 0, i32 0 %t220 = load ptr, ptr %t219 %t221 = getelementptr inbounds %LSlice, ptr %t208, i32 0, i32 1 %t222 = load i32, ptr %t221 %t223 = icmp ult i32 %t218, %t222 br i1 %t223, label %ixok38, label %ixbad39 ixbad39: store i32 9254, ptr @lp_site %t224 = call ptr @lp_win_stdio(i32 2) store i32 0, ptr @lp_site call i32 (ptr, ptr, ...) @fprintf(ptr %t224, ptr @.fmt_bounds, ptr @.str16574, i32 %t218, i32 %t222) call void @exit(i32 1) unreachable ixok38: %t225 = getelementptr inbounds ptr, ptr %t220, i32 %t218 %t226 = load ptr, ptr %t225 call void @fn_jq_put(ptr %t205, ptr %t226) %t227 = load ptr, ptr %t0 call void @fn_buf_puts(ptr %t227, ptr @.str16575) %t228 = load i32, ptr %t96 store i32 %t228, ptr %t229 br label %wcond40 wcond40: %t230 = load i32, ptr %t229 %t231 = load i32, ptr %t106 %t232 = icmp slt i32 %t230, %t231 %t233 = zext i1 %t232 to i32 %t234 = icmp ne i32 %t233, 0 br i1 %t234, label %wbody41, label %wend42 wbody41: %t235 = load i32, ptr %t229 %t236 = load i32, ptr %t96 %t237 = icmp sgt i32 %t235, %t236 %t238 = zext i1 %t237 to i32 %t239 = icmp ne i32 %t238, 0 br i1 %t239, label %then43, label %ifend45 then43: %t240 = load ptr, ptr %t0 call void @fn_buf_puts(ptr %t240, ptr @.str16576) br label %ifend45 ifend45: %t241 = load ptr, ptr %t0 %t242 = load ptr, ptr %t1 %t243 = getelementptr inbounds %Cmp_PoFile, ptr %t242, i32 0, i32 1 %t244 = load ptr, ptr %t243 %t245 = load ptr, ptr %t8 %t246 = load i32, ptr %t229 %t247 = getelementptr inbounds %LSlice, ptr %t245, i32 0, i32 0 %t248 = load ptr, ptr %t247 %t249 = getelementptr inbounds %LSlice, ptr %t245, i32 0, i32 1 %t250 = load i32, ptr %t249 %t251 = icmp ult i32 %t246, %t250 br i1 %t251, label %ixok46, label %ixbad47 ixbad47: store i32 9255, ptr @lp_site %t252 = call ptr @lp_win_stdio(i32 2) store i32 0, ptr @lp_site call i32 (ptr, ptr, ...) @fprintf(ptr %t252, ptr @.fmt_bounds, ptr @.str16577, i32 %t246, i32 %t250) call void @exit(i32 1) unreachable ixok46: %t253 = getelementptr inbounds i32, ptr %t248, i32 %t246 %t254 = load i32, ptr %t253 %t255 = getelementptr inbounds %LSlice, ptr %t244, i32 0, i32 0 %t256 = load ptr, ptr %t255 %t257 = getelementptr inbounds %LSlice, ptr %t244, i32 0, i32 1 %t258 = load i32, ptr %t257 %t259 = icmp ult i32 %t254, %t258 br i1 %t259, label %ixok48, label %ixbad49 ixbad49: store i32 9256, ptr @lp_site %t260 = call ptr @lp_win_stdio(i32 2) store i32 0, ptr @lp_site call i32 (ptr, ptr, ...) @fprintf(ptr %t260, ptr @.fmt_bounds, ptr @.str16578, i32 %t254, i32 %t258) call void @exit(i32 1) unreachable ixok48: %t261 = getelementptr inbounds ptr, ptr %t256, i32 %t254 %t262 = load ptr, ptr %t261 call void @fn_jq_put(ptr %t241, ptr %t262) %t263 = load i32, ptr %t229 %t264 = add i32 %t263, 1 store i32 %t264, ptr %t229 br label %wcond40 wend42: %t265 = load ptr, ptr %t0 call void @fn_buf_puts(ptr %t265, ptr @.str16579) br label %ifend35 ifend35: %t266 = load i32, ptr %t106 store i32 %t266, ptr %t96 br label %wcond11 wend13: br label %ret ret: ret void } define void @fn_sc_lang_others(ptr %arg_b, ptr %arg_en) { entry: %t0 = alloca ptr %t1 = alloca ptr %t4 = alloca ptr %t5 = alloca i32 %t6 = alloca i32 %t24 = alloca ptr %t28 = alloca i32 %t29 = alloca i32 %t30 = alloca i32 %t64 = alloca ptr store ptr %arg_b, ptr %t0 store ptr %arg_en, ptr %t1 %t2 = load ptr, ptr @g_g_i18n_dir %t3 = call ptr @fn_pmk_list(ptr %t2, i32 0) store ptr %t3, ptr %t4 store i32 1, ptr %t5 store i32 0, ptr %t6 br label %wcond0 wcond0: %t7 = load i32, ptr %t6 %t8 = load ptr, ptr %t4 %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 %t4 %t15 = load i32, ptr %t6 %t16 = getelementptr inbounds %LSlice, ptr %t14, i32 0, i32 0 %t17 = load ptr, ptr %t16 %t18 = getelementptr inbounds %LSlice, ptr %t14, i32 0, i32 1 %t19 = load i32, ptr %t18 %t20 = icmp ult i32 %t15, %t19 br i1 %t20, label %ixok3, label %ixbad4 ixbad4: store i32 9257, ptr @lp_site %t21 = call ptr @lp_win_stdio(i32 2) store i32 0, ptr @lp_site call i32 (ptr, ptr, ...) @fprintf(ptr %t21, ptr @.fmt_bounds, ptr @.str16580, i32 %t15, i32 %t19) call void @exit(i32 1) unreachable ixok3: %t22 = getelementptr inbounds ptr, ptr %t17, i32 %t15 %t23 = load ptr, ptr %t22 store ptr %t23, ptr %t24 %t25 = load ptr, ptr %t24 %t26 = call i64 @strlen(ptr %t25) %t27 = trunc i64 %t26 to i32 store i32 %t27, ptr %t28 %t31 = load i32, ptr %t28 %t32 = icmp sgt 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 %t30 br i1 %t34, label %sc5, label %scend6 sc5: %t36 = load ptr, ptr %t24 %t37 = load i32, ptr %t28 %t38 = sub i32 %t37, 3 %t39 = load i32, ptr %t28 store i32 9258, ptr @lp_site %t40 = call ptr @lp_str_slice(ptr %t36, i32 %t38, i32 %t39) store i32 0, ptr @lp_site %t41 = call i32 @lp_str_eq(ptr %t40, ptr @.str16582) call void @lp_free(ptr %t40) %t42 = icmp ne i32 %t41, 0 %t43 = zext i1 %t42 to i32 store i32 %t43, ptr %t30 br label %scend6 scend6: %t44 = load i32, ptr %t30 %t45 = icmp ne i32 %t44, 0 %t46 = zext i1 %t45 to i32 store i32 %t46, ptr %t29 br i1 %t45, label %sc7, label %scend8 sc7: %t47 = load ptr, ptr %t24 %t48 = load i32, ptr %t28 %t49 = sub i32 %t48, 3 store i32 9259, ptr @lp_site %t50 = call ptr @lp_str_slice(ptr %t47, i32 0, i32 %t49) store i32 0, ptr @lp_site %t51 = load ptr, ptr @g_g_i18n_src %t52 = call i32 @lp_str_eq(ptr %t50, ptr %t51) call void @lp_free(ptr %t50) %t53 = icmp eq i32 %t52, 0 %t54 = zext i1 %t53 to i32 %t55 = icmp ne i32 %t54, 0 %t56 = zext i1 %t55 to i32 store i32 %t56, ptr %t29 br label %scend8 scend8: %t57 = load i32, ptr %t29 %t58 = icmp ne i32 %t57, 0 br i1 %t58, label %then9, label %ifend11 then9: %t59 = load ptr, ptr @g_g_i18n_dir store i32 9260, ptr @lp_site %t60 = call ptr @lp_str_concat(ptr %t59, ptr @.str16583) store i32 0, ptr @lp_site %t61 = load ptr, ptr %t24 store i32 9261, ptr @lp_site %t62 = call ptr @lp_str_concat(ptr %t60, ptr %t61) store i32 0, ptr @lp_site call void @lp_free(ptr %t60) %t63 = call ptr @fn_po_read(ptr %t62) store ptr %t63, ptr %t64 %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 %then12, label %ifend14 then12: %t69 = load ptr, ptr %t0 %t70 = load i32, ptr %t5 call void @fn_sc_sep(ptr %t69, i32 %t70, ptr @.str16584) store i32 0, ptr %t5 %t71 = load ptr, ptr %t0 %t72 = load ptr, ptr %t24 %t73 = load i32, ptr %t28 %t74 = sub i32 %t73, 3 store i32 9262, ptr @lp_site %t75 = call ptr @lp_str_slice(ptr %t72, i32 0, i32 %t74) store i32 0, ptr @lp_site call void @fn_jq_put(ptr %t71, ptr %t75) %t76 = load ptr, ptr %t0 call void @fn_buf_puts(ptr %t76, ptr @.str16585) %t77 = load ptr, ptr %t0 %t78 = load ptr, ptr %t64 %t79 = getelementptr inbounds %Cmp_PoFile, ptr %t78, i32 0, i32 0 %t80 = load ptr, ptr %t79 call void @fn_jq_put(ptr %t77, ptr %t80) %t81 = load ptr, ptr %t0 call void @fn_buf_puts(ptr %t81, ptr @.str16586) %t82 = load ptr, ptr %t0 %t83 = load ptr, ptr %t1 %t84 = load ptr, ptr %t64 call void @fn_sc_lang_diff(ptr %t82, ptr %t83, ptr %t84, i32 0) %t85 = load ptr, ptr %t0 call void @fn_buf_puts(ptr %t85, ptr @.str16587) %t86 = load ptr, ptr %t0 %t87 = load ptr, ptr %t1 %t88 = load ptr, ptr %t64 call void @fn_sc_lang_diff(ptr %t86, ptr %t87, ptr %t88, i32 1) %t89 = load ptr, ptr %t0 call void @fn_buf_puts(ptr %t89, ptr @.str16588) %t90 = load ptr, ptr %t0 %t91 = load ptr, ptr %t1 %t92 = load ptr, ptr %t64 call void @fn_sc_lang_diff(ptr %t90, ptr %t91, ptr %t92, i32 2) %t93 = load ptr, ptr %t0 call void @fn_buf_puts(ptr %t93, ptr @.str16589) br label %ifend14 ifend14: br label %ifend11 ifend11: %t94 = load i32, ptr %t6 %t95 = add i32 %t94, 1 store i32 %t95, ptr %t6 br label %wcond0 wend2: br label %ret ret: ret void } define void @fn_sc_lang_diff(ptr %arg_b, ptr %arg_en, ptr %arg_p, i32 %arg_what) { entry: %t0 = alloca ptr %t1 = alloca ptr %t2 = alloca ptr %t3 = alloca i32 %t10 = alloca ptr %t11 = alloca i32 %t12 = alloca i32 %t48 = alloca i32 %t49 = alloca i32 %t233 = alloca ptr store ptr %arg_b, ptr %t0 store ptr %arg_en, ptr %t1 store ptr %arg_p, ptr %t2 store i32 %arg_what, ptr %t3 %t4 = getelementptr %LSlice, ptr null, i32 1 %t5 = ptrtoint ptr %t4 to i64 store i32 9263, ptr @lp_site %t6 = call ptr @lp_malloc(i64 %t5) store i32 0, ptr @lp_site %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 store i32 0, ptr %t11 %t13 = load i32, ptr %t3 %t14 = icmp eq i32 %t13, 0 %t15 = zext i1 %t14 to i32 %t16 = icmp ne i32 %t15, 0 %t17 = zext i1 %t16 to i32 store i32 %t17, ptr %t12 br i1 %t16, label %sc0, label %scend1 sc0: %t18 = load ptr, ptr %t1 %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 %t12 br label %scend1 scend1: %t23 = load i32, ptr %t12 %t24 = icmp ne i32 %t23, 0 br i1 %t24, label %then2, label %ifend4 then2: br label %wcond5 wcond5: %t25 = load i32, ptr %t11 %t26 = load ptr, ptr %t1 %t27 = getelementptr inbounds %Cmp_PoFile, ptr %t26, i32 0, i32 1 %t28 = load ptr, ptr %t27 %t29 = getelementptr inbounds %LSlice, ptr %t28, i32 0, i32 1 %t30 = load i32, ptr %t29 %t31 = icmp slt i32 %t25, %t30 %t32 = zext i1 %t31 to i32 %t33 = icmp ne i32 %t32, 0 br i1 %t33, label %wbody6, label %wend7 wbody6: %t34 = load ptr, ptr %t2 %t35 = load ptr, ptr %t1 %t36 = getelementptr inbounds %Cmp_PoFile, ptr %t35, i32 0, i32 1 %t37 = load ptr, ptr %t36 %t38 = load i32, ptr %t11 %t39 = getelementptr inbounds %LSlice, ptr %t37, i32 0, i32 0 %t40 = load ptr, ptr %t39 %t41 = getelementptr inbounds %LSlice, ptr %t37, i32 0, i32 1 %t42 = load i32, ptr %t41 %t43 = icmp ult i32 %t38, %t42 br i1 %t43, label %ixok8, label %ixbad9 ixbad9: store i32 9264, ptr @lp_site %t44 = call ptr @lp_win_stdio(i32 2) store i32 0, ptr @lp_site call i32 (ptr, ptr, ...) @fprintf(ptr %t44, ptr @.fmt_bounds, ptr @.str16591, i32 %t38, i32 %t42) call void @exit(i32 1) unreachable ixok8: %t45 = getelementptr inbounds ptr, ptr %t40, i32 %t38 %t46 = load ptr, ptr %t45 %t47 = call i32 @fn_po_find(ptr %t34, ptr %t46) store i32 %t47, ptr %t48 %t50 = load i32, ptr %t48 %t51 = icmp slt i32 %t50, 0 %t52 = zext i1 %t51 to i32 %t53 = icmp ne i32 %t52, 0 %t54 = zext i1 %t53 to i32 store i32 %t54, ptr %t49 br i1 %t53, label %scend11, label %sc10 sc10: %t55 = load ptr, ptr %t2 %t56 = getelementptr inbounds %Cmp_PoFile, ptr %t55, i32 0, i32 3 %t57 = load ptr, ptr %t56 %t58 = load i32, ptr %t48 %t59 = getelementptr inbounds %LSlice, ptr %t57, i32 0, i32 0 %t60 = load ptr, ptr %t59 %t61 = getelementptr inbounds %LSlice, ptr %t57, i32 0, i32 1 %t62 = load i32, ptr %t61 %t63 = icmp ult i32 %t58, %t62 br i1 %t63, label %ixok12, label %ixbad13 ixbad13: store i32 9265, ptr @lp_site %t64 = call ptr @lp_win_stdio(i32 2) store i32 0, ptr @lp_site call i32 (ptr, ptr, ...) @fprintf(ptr %t64, ptr @.fmt_bounds, ptr @.str16592, i32 %t58, i32 %t62) call void @exit(i32 1) unreachable ixok12: %t65 = getelementptr inbounds ptr, ptr %t60, i32 %t58 %t66 = load ptr, ptr %t65 %t67 = call i32 @fn_sc_lang_empty(ptr %t66) %t68 = icmp ne i32 %t67, 0 %t69 = zext i1 %t68 to i32 store i32 %t69, ptr %t49 br label %scend11 scend11: %t70 = load i32, ptr %t49 %t71 = icmp ne i32 %t70, 0 br i1 %t71, label %then14, label %ifend16 then14: %t72 = load ptr, ptr %t10 %t73 = load ptr, ptr %t1 %t74 = getelementptr inbounds %Cmp_PoFile, ptr %t73, i32 0, i32 1 %t75 = load ptr, ptr %t74 %t76 = load i32, ptr %t11 %t77 = getelementptr inbounds %LSlice, ptr %t75, i32 0, i32 0 %t78 = load ptr, ptr %t77 %t79 = getelementptr inbounds %LSlice, ptr %t75, i32 0, i32 1 %t80 = load i32, ptr %t79 %t81 = icmp ult i32 %t76, %t80 br i1 %t81, label %ixok17, label %ixbad18 ixbad18: store i32 9266, ptr @lp_site %t82 = call ptr @lp_win_stdio(i32 2) store i32 0, ptr @lp_site call i32 (ptr, ptr, ...) @fprintf(ptr %t82, ptr @.fmt_bounds, ptr @.str16593, i32 %t76, i32 %t80) call void @exit(i32 1) unreachable ixok17: %t83 = getelementptr inbounds ptr, ptr %t78, i32 %t76 %t84 = load ptr, ptr %t83 %t85 = getelementptr inbounds %LSlice, ptr %t72, i32 0, i32 1 %t86 = getelementptr inbounds %LSlice, ptr %t72, i32 0, i32 2 %t87 = getelementptr inbounds %LSlice, ptr %t72, i32 0, i32 0 %t88 = load i32, ptr %t85 %t89 = load i32, ptr %t86 %t90 = icmp sge i32 %t88, %t89 br i1 %t90, label %grow19, label %put20 grow19: %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 store i32 9267, ptr @lp_site %t99 = call ptr @lp_realloc(ptr %t98, i64 %t97) store i32 0, ptr @lp_site store ptr %t99, ptr %t87 store i32 %t93, ptr %t86 br label %put20 put20: %t100 = load ptr, ptr %t87 %t101 = getelementptr inbounds ptr, ptr %t100, i32 %t88 store ptr %t84, ptr %t101 %t102 = add i32 %t88, 1 store i32 %t102, ptr %t85 br label %ifend16 ifend16: %t103 = load i32, ptr %t11 %t104 = add i32 %t103, 1 store i32 %t104, ptr %t11 br label %wcond5 wend7: br label %ifend4 ifend4: %t105 = load i32, ptr %t3 %t106 = icmp eq i32 %t105, 1 %t107 = zext i1 %t106 to i32 %t108 = icmp ne i32 %t107, 0 br i1 %t108, label %then21, label %ifend23 then21: br label %wcond24 wcond24: %t109 = load i32, ptr %t11 %t110 = load ptr, ptr %t2 %t111 = getelementptr inbounds %Cmp_PoFile, ptr %t110, i32 0, i32 1 %t112 = load ptr, ptr %t111 %t113 = getelementptr inbounds %LSlice, ptr %t112, i32 0, i32 1 %t114 = load i32, ptr %t113 %t115 = icmp slt i32 %t109, %t114 %t116 = zext i1 %t115 to i32 %t117 = icmp ne i32 %t116, 0 br i1 %t117, label %wbody25, label %wend26 wbody25: %t118 = load ptr, ptr %t2 %t119 = getelementptr inbounds %Cmp_PoFile, ptr %t118, i32 0, i32 5 %t120 = load ptr, ptr %t119 %t121 = load i32, ptr %t11 %t122 = getelementptr inbounds %LSlice, ptr %t120, i32 0, i32 0 %t123 = load ptr, ptr %t122 %t124 = getelementptr inbounds %LSlice, ptr %t120, i32 0, i32 1 %t125 = load i32, ptr %t124 %t126 = icmp ult i32 %t121, %t125 br i1 %t126, label %ixok27, label %ixbad28 ixbad28: store i32 9268, ptr @lp_site %t127 = call ptr @lp_win_stdio(i32 2) store i32 0, ptr @lp_site call i32 (ptr, ptr, ...) @fprintf(ptr %t127, ptr @.fmt_bounds, ptr @.str16594, i32 %t121, i32 %t125) call void @exit(i32 1) unreachable ixok27: %t128 = getelementptr inbounds i32, ptr %t123, i32 %t121 %t129 = load i32, ptr %t128 %t130 = icmp ne i32 %t129, 0 br i1 %t130, label %then29, label %ifend31 then29: %t131 = load ptr, ptr %t10 %t132 = load ptr, ptr %t2 %t133 = getelementptr inbounds %Cmp_PoFile, ptr %t132, i32 0, i32 1 %t134 = load ptr, ptr %t133 %t135 = load i32, ptr %t11 %t136 = getelementptr inbounds %LSlice, ptr %t134, i32 0, i32 0 %t137 = load ptr, ptr %t136 %t138 = getelementptr inbounds %LSlice, ptr %t134, i32 0, i32 1 %t139 = load i32, ptr %t138 %t140 = icmp ult i32 %t135, %t139 br i1 %t140, label %ixok32, label %ixbad33 ixbad33: store i32 9269, ptr @lp_site %t141 = call ptr @lp_win_stdio(i32 2) store i32 0, ptr @lp_site call i32 (ptr, ptr, ...) @fprintf(ptr %t141, ptr @.fmt_bounds, ptr @.str16595, i32 %t135, i32 %t139) call void @exit(i32 1) unreachable ixok32: %t142 = getelementptr inbounds ptr, ptr %t137, i32 %t135 %t143 = load ptr, ptr %t142 %t144 = getelementptr inbounds %LSlice, ptr %t131, i32 0, i32 1 %t145 = getelementptr inbounds %LSlice, ptr %t131, i32 0, i32 2 %t146 = getelementptr inbounds %LSlice, ptr %t131, i32 0, i32 0 %t147 = load i32, ptr %t144 %t148 = load i32, ptr %t145 %t149 = icmp sge i32 %t147, %t148 br i1 %t149, label %grow34, label %put35 grow34: %t150 = mul i32 %t148, 2 %t151 = icmp eq i32 %t148, 0 %t152 = select i1 %t151, i32 8, i32 %t150 %t153 = getelementptr ptr, ptr null, i32 1 %t154 = ptrtoint ptr %t153 to i64 %t155 = zext i32 %t152 to i64 %t156 = mul i64 %t155, %t154 %t157 = load ptr, ptr %t146 store i32 9270, ptr @lp_site %t158 = call ptr @lp_realloc(ptr %t157, i64 %t156) store i32 0, ptr @lp_site store ptr %t158, ptr %t146 store i32 %t152, ptr %t145 br label %put35 put35: %t159 = load ptr, ptr %t146 %t160 = getelementptr inbounds ptr, ptr %t159, i32 %t147 store ptr %t143, ptr %t160 %t161 = add i32 %t147, 1 store i32 %t161, ptr %t144 br label %ifend31 ifend31: %t162 = load i32, ptr %t11 %t163 = add i32 %t162, 1 store i32 %t163, ptr %t11 br label %wcond24 wend26: br label %ifend23 ifend23: %t164 = load i32, ptr %t3 %t165 = icmp eq i32 %t164, 2 %t166 = zext i1 %t165 to i32 %t167 = icmp ne i32 %t166, 0 br i1 %t167, label %then36, label %ifend38 then36: br label %wcond39 wcond39: %t168 = load i32, ptr %t11 %t169 = load ptr, ptr %t2 %t170 = getelementptr inbounds %Cmp_PoFile, ptr %t169, i32 0, i32 1 %t171 = load ptr, ptr %t170 %t172 = getelementptr inbounds %LSlice, ptr %t171, i32 0, i32 1 %t173 = load i32, ptr %t172 %t174 = icmp slt i32 %t168, %t173 %t175 = zext i1 %t174 to i32 %t176 = icmp ne i32 %t175, 0 br i1 %t176, label %wbody40, label %wend41 wbody40: %t177 = load ptr, ptr %t1 %t178 = load ptr, ptr %t2 %t179 = getelementptr inbounds %Cmp_PoFile, ptr %t178, i32 0, i32 1 %t180 = load ptr, ptr %t179 %t181 = load i32, ptr %t11 %t182 = getelementptr inbounds %LSlice, ptr %t180, i32 0, i32 0 %t183 = load ptr, ptr %t182 %t184 = getelementptr inbounds %LSlice, ptr %t180, i32 0, i32 1 %t185 = load i32, ptr %t184 %t186 = icmp ult i32 %t181, %t185 br i1 %t186, label %ixok42, label %ixbad43 ixbad43: store i32 9271, ptr @lp_site %t187 = call ptr @lp_win_stdio(i32 2) store i32 0, ptr @lp_site call i32 (ptr, ptr, ...) @fprintf(ptr %t187, ptr @.fmt_bounds, ptr @.str16596, i32 %t181, i32 %t185) call void @exit(i32 1) unreachable ixok42: %t188 = getelementptr inbounds ptr, ptr %t183, i32 %t181 %t189 = load ptr, ptr %t188 %t190 = call i32 @fn_po_find(ptr %t177, ptr %t189) %t191 = icmp slt i32 %t190, 0 %t192 = zext i1 %t191 to i32 %t193 = icmp ne i32 %t192, 0 br i1 %t193, label %then44, label %ifend46 then44: %t194 = load ptr, ptr %t10 %t195 = load ptr, ptr %t2 %t196 = getelementptr inbounds %Cmp_PoFile, ptr %t195, i32 0, i32 1 %t197 = load ptr, ptr %t196 %t198 = load i32, ptr %t11 %t199 = getelementptr inbounds %LSlice, ptr %t197, i32 0, i32 0 %t200 = load ptr, ptr %t199 %t201 = getelementptr inbounds %LSlice, ptr %t197, i32 0, i32 1 %t202 = load i32, ptr %t201 %t203 = icmp ult i32 %t198, %t202 br i1 %t203, label %ixok47, label %ixbad48 ixbad48: store i32 9272, ptr @lp_site %t204 = call ptr @lp_win_stdio(i32 2) store i32 0, ptr @lp_site call i32 (ptr, ptr, ...) @fprintf(ptr %t204, ptr @.fmt_bounds, ptr @.str16597, i32 %t198, i32 %t202) call void @exit(i32 1) unreachable ixok47: %t205 = getelementptr inbounds ptr, ptr %t200, i32 %t198 %t206 = load ptr, ptr %t205 %t207 = getelementptr inbounds %LSlice, ptr %t194, i32 0, i32 1 %t208 = getelementptr inbounds %LSlice, ptr %t194, i32 0, i32 2 %t209 = getelementptr inbounds %LSlice, ptr %t194, i32 0, i32 0 %t210 = load i32, ptr %t207 %t211 = load i32, ptr %t208 %t212 = icmp sge i32 %t210, %t211 br i1 %t212, label %grow49, label %put50 grow49: %t213 = mul i32 %t211, 2 %t214 = icmp eq i32 %t211, 0 %t215 = select i1 %t214, i32 8, i32 %t213 %t216 = getelementptr ptr, ptr null, i32 1 %t217 = ptrtoint ptr %t216 to i64 %t218 = zext i32 %t215 to i64 %t219 = mul i64 %t218, %t217 %t220 = load ptr, ptr %t209 store i32 9273, ptr @lp_site %t221 = call ptr @lp_realloc(ptr %t220, i64 %t219) store i32 0, ptr @lp_site store ptr %t221, ptr %t209 store i32 %t215, ptr %t208 br label %put50 put50: %t222 = load ptr, ptr %t209 %t223 = getelementptr inbounds ptr, ptr %t222, i32 %t210 store ptr %t206, ptr %t223 %t224 = add i32 %t210, 1 store i32 %t224, ptr %t207 br label %ifend46 ifend46: %t225 = load i32, ptr %t11 %t226 = add i32 %t225, 1 store i32 %t226, ptr %t11 br label %wcond39 wend41: br label %ifend38 ifend38: %t227 = getelementptr %LSlice, ptr null, i32 1 %t228 = ptrtoint ptr %t227 to i64 store i32 9274, ptr @lp_site %t229 = call ptr @lp_malloc(i64 %t228) store i32 0, ptr @lp_site %t230 = getelementptr inbounds %LSlice, ptr %t229, i32 0, i32 0 store ptr null, ptr %t230 %t231 = getelementptr inbounds %LSlice, ptr %t229, i32 0, i32 1 store i32 0, ptr %t231 %t232 = getelementptr inbounds %LSlice, ptr %t229, i32 0, i32 2 store i32 0, ptr %t232 store ptr %t229, ptr %t233 store i32 0, ptr %t11 br label %wcond51 wcond51: %t234 = load i32, ptr %t11 %t235 = load ptr, ptr %t10 %t236 = getelementptr inbounds %LSlice, ptr %t235, i32 0, i32 1 %t237 = load i32, ptr %t236 %t238 = icmp slt i32 %t234, %t237 %t239 = zext i1 %t238 to i32 %t240 = icmp ne i32 %t239, 0 br i1 %t240, label %wbody52, label %wend53 wbody52: %t241 = load ptr, ptr %t233 %t242 = load i32, ptr %t11 %t243 = getelementptr inbounds %LSlice, ptr %t241, i32 0, i32 1 %t244 = getelementptr inbounds %LSlice, ptr %t241, i32 0, i32 2 %t245 = getelementptr inbounds %LSlice, ptr %t241, i32 0, i32 0 %t246 = load i32, ptr %t243 %t247 = load i32, ptr %t244 %t248 = icmp sge i32 %t246, %t247 br i1 %t248, label %grow54, label %put55 grow54: %t249 = mul i32 %t247, 2 %t250 = icmp eq i32 %t247, 0 %t251 = select i1 %t250, i32 8, i32 %t249 %t252 = getelementptr i32, 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 store i32 9275, ptr @lp_site %t257 = call ptr @lp_realloc(ptr %t256, i64 %t255) store i32 0, ptr @lp_site store ptr %t257, ptr %t245 store i32 %t251, ptr %t244 br label %put55 put55: %t258 = load ptr, ptr %t245 %t259 = getelementptr inbounds i32, ptr %t258, i32 %t246 store i32 %t242, ptr %t259 %t260 = add i32 %t246, 1 store i32 %t260, ptr %t243 %t261 = load i32, ptr %t11 %t262 = add i32 %t261, 1 store i32 %t262, ptr %t11 br label %wcond51 wend53: %t263 = load ptr, ptr %t233 %t264 = load ptr, ptr %t10 call void @fn_sc_sort(ptr %t263, ptr %t264) store i32 0, ptr %t11 br label %wcond56 wcond56: %t265 = load i32, ptr %t11 %t266 = load ptr, ptr %t233 %t267 = getelementptr inbounds %LSlice, ptr %t266, i32 0, i32 1 %t268 = load i32, ptr %t267 %t269 = icmp slt i32 %t265, %t268 %t270 = zext i1 %t269 to i32 %t271 = icmp ne i32 %t270, 0 br i1 %t271, label %wbody57, label %wend58 wbody57: %t272 = load i32, ptr %t11 %t273 = icmp sgt i32 %t272, 0 %t274 = zext i1 %t273 to i32 %t275 = icmp ne i32 %t274, 0 br i1 %t275, label %then59, label %ifend61 then59: %t276 = load ptr, ptr %t0 call void @fn_buf_puts(ptr %t276, ptr @.str16598) br label %ifend61 ifend61: %t277 = load ptr, ptr %t0 %t278 = load ptr, ptr %t10 %t279 = load ptr, ptr %t233 %t280 = load i32, ptr %t11 %t281 = getelementptr inbounds %LSlice, ptr %t279, i32 0, i32 0 %t282 = load ptr, ptr %t281 %t283 = getelementptr inbounds %LSlice, ptr %t279, i32 0, i32 1 %t284 = load i32, ptr %t283 %t285 = icmp ult i32 %t280, %t284 br i1 %t285, label %ixok62, label %ixbad63 ixbad63: store i32 9276, ptr @lp_site %t286 = call ptr @lp_win_stdio(i32 2) store i32 0, ptr @lp_site call i32 (ptr, ptr, ...) @fprintf(ptr %t286, ptr @.fmt_bounds, ptr @.str16599, i32 %t280, i32 %t284) call void @exit(i32 1) unreachable ixok62: %t287 = getelementptr inbounds i32, ptr %t282, i32 %t280 %t288 = load i32, ptr %t287 %t289 = getelementptr inbounds %LSlice, ptr %t278, i32 0, i32 0 %t290 = load ptr, ptr %t289 %t291 = getelementptr inbounds %LSlice, ptr %t278, i32 0, i32 1 %t292 = load i32, ptr %t291 %t293 = icmp ult i32 %t288, %t292 br i1 %t293, label %ixok64, label %ixbad65 ixbad65: store i32 9277, ptr @lp_site %t294 = call ptr @lp_win_stdio(i32 2) store i32 0, ptr @lp_site call i32 (ptr, ptr, ...) @fprintf(ptr %t294, ptr @.fmt_bounds, ptr @.str16600, i32 %t288, i32 %t292) call void @exit(i32 1) unreachable ixok64: %t295 = getelementptr inbounds ptr, ptr %t290, i32 %t288 %t296 = load ptr, ptr %t295 call void @fn_jq_put(ptr %t277, ptr %t296) %t297 = load i32, ptr %t11 %t298 = add i32 %t297, 1 store i32 %t298, ptr %t11 br label %wcond56 wend58: br label %ret ret: ret void } define i32 @fn_sc_lang_empty(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 i32, ptr %t1 %t3 = load ptr, ptr %t0 %t4 = call i64 @strlen(ptr %t3) %t5 = trunc i64 %t4 to i32 %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 %t0 %t10 = load i32, ptr %t1 %t11 = getelementptr inbounds i8, ptr %t9, i32 %t10 %t12 = load i8, ptr %t11 %t13 = zext i8 %t12 to i32 %t14 = icmp ne i32 %t13, 10 %t15 = zext i1 %t14 to i32 %t16 = icmp ne i32 %t15, 0 br i1 %t16, label %then3, label %ifend5 then3: store i32 0, ptr %retval br label %ret ifend5: %t17 = load i32, ptr %t1 %t18 = add i32 %t17, 1 store i32 %t18, ptr %t1 br label %wcond0 wend2: store i32 1, ptr %retval br label %ret ret: %t19 = load i32, ptr %retval ret i32 %t19 } define void @fn_ck_set_ro(i32 %arg_ro) { entry: %t0 = alloca i32 %t3 = alloca i32 store i32 %arg_ro, ptr %t0 %t1 = load i32, ptr @g_ck_top %t2 = sub i32 %t1, 1 store i32 %t2, ptr %t3 br label %wcond0 wcond0: %t4 = load ptr, ptr @g_ck_ro %t5 = getelementptr inbounds %LSlice, ptr %t4, i32 0, i32 1 %t6 = load i32, ptr %t5 %t7 = load ptr, ptr @g_ck_names %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_ck_ro %t14 = getelementptr inbounds %LSlice, ptr %t13, i32 0, i32 1 %t15 = getelementptr inbounds %LSlice, ptr %t13, i32 0, i32 2 %t16 = getelementptr inbounds %LSlice, ptr %t13, i32 0, i32 0 %t17 = load i32, ptr %t14 %t18 = load i32, ptr %t15 %t19 = icmp sge i32 %t17, %t18 br i1 %t19, label %grow3, label %put4 grow3: %t20 = mul i32 %t18, 2 %t21 = icmp eq i32 %t18, 0 %t22 = select i1 %t21, i32 8, i32 %t20 %t23 = getelementptr i32, 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 store i32 9278, ptr @lp_site %t28 = call ptr @lp_realloc(ptr %t27, i64 %t26) store i32 0, ptr @lp_site store ptr %t28, ptr %t16 store i32 %t22, ptr %t15 br label %put4 put4: %t29 = load ptr, ptr %t16 %t30 = getelementptr inbounds i32, ptr %t29, i32 %t17 store i32 0, ptr %t30 %t31 = add i32 %t17, 1 store i32 %t31, ptr %t14 br label %wcond0 wend2: br label %wcond5 wcond5: %t32 = load ptr, ptr @g_ck_alias %t33 = getelementptr inbounds %LSlice, ptr %t32, i32 0, i32 1 %t34 = load i32, ptr %t33 %t35 = load ptr, ptr @g_ck_names %t36 = getelementptr inbounds %LSlice, ptr %t35, i32 0, i32 1 %t37 = load i32, ptr %t36 %t38 = icmp slt i32 %t34, %t37 %t39 = zext i1 %t38 to i32 %t40 = icmp ne i32 %t39, 0 br i1 %t40, label %wbody6, label %wend7 wbody6: %t41 = load ptr, ptr @g_ck_alias %t42 = getelementptr inbounds %LSlice, ptr %t41, i32 0, i32 1 %t43 = getelementptr inbounds %LSlice, ptr %t41, i32 0, i32 2 %t44 = getelementptr inbounds %LSlice, ptr %t41, i32 0, i32 0 %t45 = load i32, ptr %t42 %t46 = load i32, ptr %t43 %t47 = icmp sge i32 %t45, %t46 br i1 %t47, label %grow8, label %put9 grow8: %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 store i32 9279, ptr @lp_site %t56 = call ptr @lp_realloc(ptr %t55, i64 %t54) store i32 0, ptr @lp_site store ptr %t56, ptr %t44 store i32 %t50, ptr %t43 br label %put9 put9: %t57 = load ptr, ptr %t44 %t58 = getelementptr inbounds ptr, ptr %t57, i32 %t45 store ptr null, ptr %t58 %t59 = add i32 %t45, 1 store i32 %t59, ptr %t42 br label %wcond5 wend7: br label %wcond10 wcond10: %t60 = load ptr, ptr @g_ck_ro_st %t61 = getelementptr inbounds %LSlice, ptr %t60, i32 0, i32 1 %t62 = load i32, ptr %t61 %t63 = load ptr, ptr @g_ck_names %t64 = getelementptr inbounds %LSlice, ptr %t63, i32 0, i32 1 %t65 = load i32, ptr %t64 %t66 = icmp slt i32 %t62, %t65 %t67 = zext i1 %t66 to i32 %t68 = icmp ne i32 %t67, 0 br i1 %t68, label %wbody11, label %wend12 wbody11: %t69 = load ptr, ptr @g_ck_ro_st %t70 = getelementptr inbounds %LSlice, ptr %t69, i32 0, i32 1 %t71 = getelementptr inbounds %LSlice, ptr %t69, i32 0, i32 2 %t72 = getelementptr inbounds %LSlice, ptr %t69, i32 0, i32 0 %t73 = load i32, ptr %t70 %t74 = load i32, ptr %t71 %t75 = icmp sge i32 %t73, %t74 br i1 %t75, label %grow13, label %put14 grow13: %t76 = mul i32 %t74, 2 %t77 = icmp eq i32 %t74, 0 %t78 = select i1 %t77, i32 8, i32 %t76 %t79 = getelementptr ptr, ptr null, i32 1 %t80 = ptrtoint ptr %t79 to i64 %t81 = zext i32 %t78 to i64 %t82 = mul i64 %t81, %t80 %t83 = load ptr, ptr %t72 store i32 9280, ptr @lp_site %t84 = call ptr @lp_realloc(ptr %t83, i64 %t82) store i32 0, ptr @lp_site store ptr %t84, ptr %t72 store i32 %t78, ptr %t71 br label %put14 put14: %t85 = load ptr, ptr %t72 %t86 = getelementptr inbounds ptr, ptr %t85, i32 %t73 store ptr null, ptr %t86 %t87 = add i32 %t73, 1 store i32 %t87, ptr %t70 br label %wcond10 wend12: br label %wcond15 wcond15: %t88 = load ptr, ptr @g_ck_from_st %t89 = getelementptr inbounds %LSlice, ptr %t88, i32 0, i32 1 %t90 = load i32, ptr %t89 %t91 = load ptr, ptr @g_ck_names %t92 = getelementptr inbounds %LSlice, ptr %t91, i32 0, i32 1 %t93 = load i32, ptr %t92 %t94 = icmp slt i32 %t90, %t93 %t95 = zext i1 %t94 to i32 %t96 = icmp ne i32 %t95, 0 br i1 %t96, label %wbody16, label %wend17 wbody16: %t97 = load ptr, ptr @g_ck_from_st %t98 = getelementptr inbounds %LSlice, ptr %t97, i32 0, i32 1 %t99 = getelementptr inbounds %LSlice, ptr %t97, i32 0, i32 2 %t100 = getelementptr inbounds %LSlice, ptr %t97, i32 0, i32 0 %t101 = load i32, ptr %t98 %t102 = load i32, ptr %t99 %t103 = icmp sge i32 %t101, %t102 br i1 %t103, label %grow18, label %put19 grow18: %t104 = mul i32 %t102, 2 %t105 = icmp eq i32 %t102, 0 %t106 = select i1 %t105, i32 8, i32 %t104 %t107 = getelementptr ptr, ptr null, i32 1 %t108 = ptrtoint ptr %t107 to i64 %t109 = zext i32 %t106 to i64 %t110 = mul i64 %t109, %t108 %t111 = load ptr, ptr %t100 store i32 9281, ptr @lp_site %t112 = call ptr @lp_realloc(ptr %t111, i64 %t110) store i32 0, ptr @lp_site store ptr %t112, ptr %t100 store i32 %t106, ptr %t99 br label %put19 put19: %t113 = load ptr, ptr %t100 %t114 = getelementptr inbounds ptr, ptr %t113, i32 %t101 store ptr null, ptr %t114 %t115 = add i32 %t101, 1 store i32 %t115, ptr %t98 br label %wcond15 wend17: %t116 = load i32, ptr %t0 %t117 = icmp ne i32 %t116, 0 br i1 %t117, label %then20, label %else21 then20: %t118 = load ptr, ptr @g_ck_ro %t119 = load i32, ptr %t3 %t120 = getelementptr inbounds %LSlice, ptr %t118, i32 0, i32 0 %t121 = load ptr, ptr %t120 %t122 = getelementptr inbounds %LSlice, ptr %t118, i32 0, i32 1 %t123 = load i32, ptr %t122 %t124 = icmp ult i32 %t119, %t123 br i1 %t124, label %ixok23, label %ixbad24 ixbad24: store i32 9282, ptr @lp_site %t125 = call ptr @lp_win_stdio(i32 2) store i32 0, ptr @lp_site call i32 (ptr, ptr, ...) @fprintf(ptr %t125, ptr @.fmt_bounds, ptr @.str16602, i32 %t119, i32 %t123) call void @exit(i32 1) unreachable ixok23: %t126 = getelementptr inbounds i32, ptr %t121, i32 %t119 store i32 1, ptr %t126 br label %ifend22 else21: %t127 = load ptr, ptr @g_ck_ro %t128 = load i32, ptr %t3 %t129 = getelementptr inbounds %LSlice, ptr %t127, i32 0, i32 0 %t130 = load ptr, ptr %t129 %t131 = getelementptr inbounds %LSlice, ptr %t127, i32 0, i32 1 %t132 = load i32, ptr %t131 %t133 = icmp ult i32 %t128, %t132 br i1 %t133, label %ixok25, label %ixbad26 ixbad26: store i32 9283, ptr @lp_site %t134 = call ptr @lp_win_stdio(i32 2) store i32 0, ptr @lp_site call i32 (ptr, ptr, ...) @fprintf(ptr %t134, ptr @.fmt_bounds, ptr @.str16603, i32 %t128, i32 %t132) call void @exit(i32 1) unreachable ixok25: %t135 = getelementptr inbounds i32, ptr %t130, i32 %t128 store i32 0, ptr %t135 br label %ifend22 ifend22: %t136 = load ptr, ptr @g_ck_alias %t137 = load i32, ptr %t3 %t138 = getelementptr inbounds %LSlice, ptr %t136, i32 0, i32 0 %t139 = load ptr, ptr %t138 %t140 = getelementptr inbounds %LSlice, ptr %t136, i32 0, i32 1 %t141 = load i32, ptr %t140 %t142 = icmp ult i32 %t137, %t141 br i1 %t142, label %ixok27, label %ixbad28 ixbad28: store i32 9284, ptr @lp_site %t143 = call ptr @lp_win_stdio(i32 2) store i32 0, ptr @lp_site call i32 (ptr, ptr, ...) @fprintf(ptr %t143, ptr @.fmt_bounds, ptr @.str16604, i32 %t137, i32 %t141) call void @exit(i32 1) unreachable ixok27: %t144 = getelementptr inbounds ptr, ptr %t139, i32 %t137 store ptr null, ptr %t144 %t145 = load ptr, ptr @g_ck_ro_st %t146 = load i32, ptr %t3 %t147 = getelementptr inbounds %LSlice, ptr %t145, i32 0, i32 0 %t148 = load ptr, ptr %t147 %t149 = getelementptr inbounds %LSlice, ptr %t145, i32 0, i32 1 %t150 = load i32, ptr %t149 %t151 = icmp ult i32 %t146, %t150 br i1 %t151, label %ixok29, label %ixbad30 ixbad30: store i32 9285, ptr @lp_site %t152 = call ptr @lp_win_stdio(i32 2) store i32 0, ptr @lp_site call i32 (ptr, ptr, ...) @fprintf(ptr %t152, ptr @.fmt_bounds, ptr @.str16605, i32 %t146, i32 %t150) call void @exit(i32 1) unreachable ixok29: %t153 = getelementptr inbounds ptr, ptr %t148, i32 %t146 store ptr null, ptr %t153 %t154 = load ptr, ptr @g_ck_from_st %t155 = load i32, ptr %t3 %t156 = getelementptr inbounds %LSlice, ptr %t154, i32 0, i32 0 %t157 = load ptr, ptr %t156 %t158 = getelementptr inbounds %LSlice, ptr %t154, i32 0, i32 1 %t159 = load i32, ptr %t158 %t160 = icmp ult i32 %t155, %t159 br i1 %t160, label %ixok31, label %ixbad32 ixbad32: store i32 9286, ptr @lp_site %t161 = call ptr @lp_win_stdio(i32 2) store i32 0, ptr @lp_site call i32 (ptr, ptr, ...) @fprintf(ptr %t161, ptr @.fmt_bounds, ptr @.str16606, i32 %t155, i32 %t159) call void @exit(i32 1) unreachable ixok31: %t162 = getelementptr inbounds ptr, ptr %t157, i32 %t155 store ptr null, ptr %t162 %t163 = load ptr, ptr @g_ck_tys %t164 = load i32, ptr %t3 %t165 = getelementptr inbounds %LSlice, ptr %t163, i32 0, i32 0 %t166 = load ptr, ptr %t165 %t167 = getelementptr inbounds %LSlice, ptr %t163, i32 0, i32 1 %t168 = load i32, ptr %t167 %t169 = icmp ult i32 %t164, %t168 br i1 %t169, label %ixok33, label %ixbad34 ixbad34: store i32 9287, ptr @lp_site %t170 = call ptr @lp_win_stdio(i32 2) store i32 0, ptr @lp_site call i32 (ptr, ptr, ...) @fprintf(ptr %t170, ptr @.fmt_bounds, ptr @.str16607, i32 %t164, i32 %t168) call void @exit(i32 1) unreachable ixok33: %t171 = getelementptr inbounds ptr, ptr %t166, i32 %t164 %t172 = load ptr, ptr %t171 %t173 = call i32 @fn_is_state_ty(ptr %t172) %t174 = icmp ne i32 %t173, 0 br i1 %t174, label %then35, label %ifend37 then35: %t175 = load ptr, ptr @g_ck_from_st %t176 = load i32, ptr %t3 %t177 = getelementptr inbounds %LSlice, ptr %t175, i32 0, i32 0 %t178 = load ptr, ptr %t177 %t179 = getelementptr inbounds %LSlice, ptr %t175, i32 0, i32 1 %t180 = load i32, ptr %t179 %t181 = icmp ult i32 %t176, %t180 br i1 %t181, label %ixok38, label %ixbad39 ixbad39: store i32 9288, ptr @lp_site %t182 = call ptr @lp_win_stdio(i32 2) store i32 0, ptr @lp_site call i32 (ptr, ptr, ...) @fprintf(ptr %t182, ptr @.fmt_bounds, ptr @.str16608, i32 %t176, i32 %t180) call void @exit(i32 1) unreachable ixok38: %t183 = getelementptr inbounds ptr, ptr %t178, i32 %t176 %t184 = load ptr, ptr @g_ck_tys %t185 = load i32, ptr %t3 %t186 = getelementptr inbounds %LSlice, ptr %t184, i32 0, i32 0 %t187 = load ptr, ptr %t186 %t188 = getelementptr inbounds %LSlice, ptr %t184, i32 0, i32 1 %t189 = load i32, ptr %t188 %t190 = icmp ult i32 %t185, %t189 br i1 %t190, label %ixok40, label %ixbad41 ixbad41: store i32 9289, ptr @lp_site %t191 = call ptr @lp_win_stdio(i32 2) store i32 0, ptr @lp_site call i32 (ptr, ptr, ...) @fprintf(ptr %t191, ptr @.fmt_bounds, ptr @.str16609, i32 %t185, i32 %t189) call void @exit(i32 1) unreachable ixok40: %t192 = getelementptr inbounds ptr, ptr %t187, i32 %t185 %t193 = load ptr, ptr %t192 store ptr %t193, ptr %t183 br label %ifend37 ifend37: %t194 = load i32, ptr %t0 %t195 = icmp ne i32 %t194, 0 br i1 %t195, label %then42, label %ifend44 then42: %t196 = load ptr, ptr @g_ck_ro_st %t197 = load i32, ptr %t3 %t198 = getelementptr inbounds %LSlice, ptr %t196, i32 0, i32 0 %t199 = load ptr, ptr %t198 %t200 = getelementptr inbounds %LSlice, ptr %t196, i32 0, i32 1 %t201 = load i32, ptr %t200 %t202 = icmp ult i32 %t197, %t201 br i1 %t202, label %ixok45, label %ixbad46 ixbad46: store i32 9290, ptr @lp_site %t203 = call ptr @lp_win_stdio(i32 2) store i32 0, ptr @lp_site call i32 (ptr, ptr, ...) @fprintf(ptr %t203, ptr @.fmt_bounds, ptr @.str16610, i32 %t197, i32 %t201) call void @exit(i32 1) unreachable ixok45: %t204 = getelementptr inbounds ptr, ptr %t199, i32 %t197 %t205 = load ptr, ptr @g_ck_tys %t206 = load i32, ptr %t3 %t207 = getelementptr inbounds %LSlice, ptr %t205, i32 0, i32 0 %t208 = load ptr, ptr %t207 %t209 = getelementptr inbounds %LSlice, ptr %t205, i32 0, i32 1 %t210 = load i32, ptr %t209 %t211 = icmp ult i32 %t206, %t210 br i1 %t211, label %ixok47, label %ixbad48 ixbad48: store i32 9291, ptr @lp_site %t212 = call ptr @lp_win_stdio(i32 2) store i32 0, ptr @lp_site call i32 (ptr, ptr, ...) @fprintf(ptr %t212, ptr @.fmt_bounds, ptr @.str16611, i32 %t206, i32 %t210) call void @exit(i32 1) unreachable ixok47: %t213 = getelementptr inbounds ptr, ptr %t208, i32 %t206 %t214 = load ptr, ptr %t213 store ptr %t214, ptr %t204 br label %ifend44 ifend44: br label %ret ret: ret void } define void @fn_ck_ro_like(i32 %arg_li) { entry: %t0 = alloca i32 %t3 = alloca i32 store i32 %arg_li, ptr %t0 %t1 = load i32, ptr @g_ck_top %t2 = sub i32 %t1, 1 store i32 %t2, ptr %t3 %t4 = load ptr, ptr @g_ck_ro %t5 = load i32, ptr %t3 %t6 = getelementptr inbounds %LSlice, ptr %t4, i32 0, i32 0 %t7 = load ptr, ptr %t6 %t8 = getelementptr inbounds %LSlice, ptr %t4, i32 0, i32 1 %t9 = load i32, ptr %t8 %t10 = icmp ult i32 %t5, %t9 br i1 %t10, label %ixok0, label %ixbad1 ixbad1: store i32 9292, ptr @lp_site %t11 = call ptr @lp_win_stdio(i32 2) store i32 0, ptr @lp_site call i32 (ptr, ptr, ...) @fprintf(ptr %t11, ptr @.fmt_bounds, ptr @.str16612, i32 %t5, i32 %t9) call void @exit(i32 1) unreachable ixok0: %t12 = getelementptr inbounds i32, ptr %t7, i32 %t5 store i32 1, ptr %t12 %t13 = load ptr, ptr @g_ck_ro_st %t14 = load i32, ptr %t3 %t15 = getelementptr inbounds %LSlice, ptr %t13, i32 0, i32 0 %t16 = load ptr, ptr %t15 %t17 = getelementptr inbounds %LSlice, ptr %t13, i32 0, i32 1 %t18 = load i32, ptr %t17 %t19 = icmp ult i32 %t14, %t18 br i1 %t19, label %ixok2, label %ixbad3 ixbad3: store i32 9293, ptr @lp_site %t20 = call ptr @lp_win_stdio(i32 2) store i32 0, ptr @lp_site call i32 (ptr, ptr, ...) @fprintf(ptr %t20, ptr @.fmt_bounds, ptr @.str16614, i32 %t14, i32 %t18) call void @exit(i32 1) unreachable ixok2: %t21 = getelementptr inbounds ptr, ptr %t16, i32 %t14 %t22 = load ptr, ptr @g_ck_ro_st %t23 = load i32, ptr %t0 %t24 = getelementptr inbounds %LSlice, ptr %t22, i32 0, i32 0 %t25 = load ptr, ptr %t24 %t26 = getelementptr inbounds %LSlice, ptr %t22, i32 0, i32 1 %t27 = load i32, ptr %t26 %t28 = icmp ult i32 %t23, %t27 br i1 %t28, label %ixok4, label %ixbad5 ixbad5: store i32 9294, ptr @lp_site %t29 = call ptr @lp_win_stdio(i32 2) store i32 0, ptr @lp_site call i32 (ptr, ptr, ...) @fprintf(ptr %t29, ptr @.fmt_bounds, ptr @.str16615, i32 %t23, i32 %t27) call void @exit(i32 1) unreachable ixok4: %t30 = getelementptr inbounds ptr, ptr %t25, i32 %t23 %t31 = load ptr, ptr %t30 store ptr %t31, ptr %t21 br label %ret ret: ret void } define i32 @fn_ck_scalar(ptr %arg_t) { entry: %retval = alloca i32 %t0 = alloca ptr %t1 = alloca i32 %t2 = alloca i32 %t3 = alloca i32 %t4 = alloca i32 %t5 = alloca i32 %t45 = alloca i32 %t46 = alloca i32 %t47 = alloca i32 store ptr %arg_t, ptr %t0 %t6 = load ptr, ptr %t0 %t7 = icmp eq ptr %t6, null %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 %scend1, label %sc0 sc0: %t11 = load ptr, ptr %t0 %t12 = call i32 @lp_str_eq(ptr %t11, ptr @.str16616) %t13 = icmp ne i32 %t12, 0 %t14 = zext i1 %t13 to i32 store i32 %t14, ptr %t5 br label %scend1 scend1: %t15 = load i32, ptr %t5 %t16 = icmp ne i32 %t15, 0 %t17 = zext i1 %t16 to i32 store i32 %t17, ptr %t4 br i1 %t16, label %scend3, label %sc2 sc2: %t18 = load ptr, ptr %t0 %t19 = call i32 @lp_str_eq(ptr %t18, ptr @.str16617) %t20 = icmp ne i32 %t19, 0 %t21 = zext i1 %t20 to i32 store i32 %t21, ptr %t4 br label %scend3 scend3: %t22 = load i32, ptr %t4 %t23 = icmp ne i32 %t22, 0 %t24 = zext i1 %t23 to i32 store i32 %t24, ptr %t3 br i1 %t23, label %scend5, label %sc4 sc4: %t25 = load ptr, ptr %t0 %t26 = call i32 @lp_str_eq(ptr %t25, ptr @.str16618) %t27 = icmp ne i32 %t26, 0 %t28 = zext i1 %t27 to i32 store i32 %t28, ptr %t3 br label %scend5 scend5: %t29 = load i32, ptr %t3 %t30 = icmp ne i32 %t29, 0 %t31 = zext i1 %t30 to i32 store i32 %t31, ptr %t2 br i1 %t30, label %scend7, label %sc6 sc6: %t32 = load ptr, ptr %t0 %t33 = call i32 @lp_str_eq(ptr %t32, ptr @.str16619) %t34 = icmp ne i32 %t33, 0 %t35 = zext i1 %t34 to i32 store i32 %t35, ptr %t2 br label %scend7 scend7: %t36 = load i32, ptr %t2 %t37 = icmp ne i32 %t36, 0 %t38 = zext i1 %t37 to i32 store i32 %t38, ptr %t1 br i1 %t37, label %scend9, label %sc8 sc8: %t39 = load ptr, ptr %t0 %t40 = call i32 @lp_str_eq(ptr %t39, ptr @.str16620) %t41 = icmp ne i32 %t40, 0 %t42 = zext i1 %t41 to i32 store i32 %t42, ptr %t1 br label %scend9 scend9: %t43 = load i32, ptr %t1 %t44 = icmp ne i32 %t43, 0 br i1 %t44, label %then10, label %ifend12 then10: store i32 1, ptr %retval br label %ret ifend12: %t48 = load ptr, ptr %t0 %t49 = call i32 @lp_str_eq(ptr %t48, ptr @.str16621) %t50 = icmp ne i32 %t49, 0 %t51 = zext i1 %t50 to i32 store i32 %t51, ptr %t47 br i1 %t50, label %scend14, label %sc13 sc13: %t52 = load ptr, ptr %t0 %t53 = call i32 @lp_str_eq(ptr %t52, ptr @.str16622) %t54 = icmp ne i32 %t53, 0 %t55 = zext i1 %t54 to i32 store i32 %t55, ptr %t47 br label %scend14 scend14: %t56 = load i32, ptr %t47 %t57 = icmp ne i32 %t56, 0 %t58 = zext i1 %t57 to i32 store i32 %t58, ptr %t46 br i1 %t57, label %scend16, label %sc15 sc15: %t59 = load ptr, ptr %t0 %t60 = call i32 @lp_str_eq(ptr %t59, ptr @.str16623) %t61 = icmp ne i32 %t60, 0 %t62 = zext i1 %t61 to i32 store i32 %t62, ptr %t46 br label %scend16 scend16: %t63 = load i32, ptr %t46 %t64 = icmp ne i32 %t63, 0 %t65 = zext i1 %t64 to i32 store i32 %t65, ptr %t45 br i1 %t64, label %scend18, label %sc17 sc17: %t66 = load ptr, ptr %t0 %t67 = call i32 @lp_str_eq(ptr %t66, ptr @.str16624) %t68 = icmp ne i32 %t67, 0 %t69 = zext i1 %t68 to i32 store i32 %t69, ptr %t45 br label %scend18 scend18: %t70 = load i32, ptr %t45 %t71 = icmp ne i32 %t70, 0 br i1 %t71, label %then19, label %ifend21 then19: store i32 1, ptr %retval br label %ret ifend21: %t72 = load ptr, ptr %t0 %t73 = call i32 @fn_is_fn_type(ptr %t72) %t74 = icmp ne i32 %t73, 0 br i1 %t74, label %then22, label %ifend24 then22: store i32 1, ptr %retval br label %ret ifend24: %t75 = load ptr, ptr %t0 %t76 = call ptr @fn_find_enum(ptr %t75) %t77 = icmp ne ptr %t76, null %t78 = zext i1 %t77 to i32 store i32 %t78, ptr %retval br label %ret ret: %t79 = load i32, ptr %retval ret i32 %t79 } define void @fn_ck_let_from(ptr %arg_e, ptr %arg_ty) { entry: %t0 = alloca ptr %t1 = alloca ptr %t2 = alloca i32 %t16 = alloca ptr %t23 = alloca i32 %t28 = alloca i32 %t29 = alloca i32 %t73 = alloca i32 %t119 = alloca ptr %t128 = alloca i32 store ptr %arg_e, ptr %t0 store ptr %arg_ty, ptr %t1 %t3 = load ptr, ptr %t0 %t4 = icmp eq ptr %t3, null %t5 = zext i1 %t4 to i32 %t6 = icmp ne i32 %t5, 0 %t7 = zext i1 %t6 to i32 store i32 %t7, ptr %t2 br i1 %t6, label %scend1, label %sc0 sc0: %t8 = load ptr, ptr %t1 %t9 = call i32 @fn_ck_scalar(ptr %t8) %t10 = icmp ne i32 %t9, 0 %t11 = zext i1 %t10 to i32 store i32 %t11, ptr %t2 br label %scend1 scend1: %t12 = load i32, ptr %t2 %t13 = icmp ne i32 %t12, 0 br i1 %t13, label %then2, label %ifend4 then2: br label %ret ifend4: %t14 = load ptr, ptr %t0 %t15 = call ptr @fn_ck_chain_root(ptr %t14) store ptr %t15, ptr %t16 %t17 = load ptr, ptr %t16 %t18 = icmp eq ptr %t17, null %t19 = zext i1 %t18 to i32 %t20 = icmp ne i32 %t19, 0 br i1 %t20, label %then5, label %ifend7 then5: br label %ret ifend7: %t21 = load i32, ptr @g_ck_top %t22 = sub i32 %t21, 1 store i32 %t22, ptr %t23 %t24 = load ptr, ptr %t16 %t25 = getelementptr inbounds %Cmp_Node, ptr %t24, i32 0, i32 1 %t26 = load ptr, ptr %t25 %t27 = call i32 @fn_ck_local(ptr %t26) store i32 %t27, ptr %t28 %t30 = load i32, ptr %t28 %t31 = icmp sge i32 %t30, 0 %t32 = zext i1 %t31 to i32 %t33 = icmp ne i32 %t32, 0 %t34 = zext i1 %t33 to i32 store i32 %t34, ptr %t29 br i1 %t33, label %sc8, label %scend9 sc8: %t35 = load i32, ptr %t28 %t36 = load i32, ptr %t23 %t37 = icmp slt i32 %t35, %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 %scend9 scend9: %t41 = load i32, ptr %t29 %t42 = icmp ne i32 %t41, 0 br i1 %t42, label %then10, label %ifend12 then10: %t43 = load i32, ptr %t28 %t44 = call i32 @fn_ck_is_ro(i32 %t43) %t45 = icmp ne i32 %t44, 0 br i1 %t45, label %then13, label %ifend15 then13: %t46 = load i32, ptr %t28 call void @fn_ck_ro_like(i32 %t46) br label %ifend15 ifend15: %t47 = load i32, ptr %t28 %t48 = load ptr, ptr @g_ck_alias %t49 = getelementptr inbounds %LSlice, ptr %t48, i32 0, i32 1 %t50 = load i32, ptr %t49 %t51 = icmp slt i32 %t47, %t50 %t52 = zext i1 %t51 to i32 %t53 = icmp ne i32 %t52, 0 br i1 %t53, label %then16, label %ifend18 then16: %t54 = load ptr, ptr @g_ck_alias %t55 = load i32, ptr %t23 %t56 = getelementptr inbounds %LSlice, ptr %t54, i32 0, i32 0 %t57 = load ptr, ptr %t56 %t58 = getelementptr inbounds %LSlice, ptr %t54, i32 0, i32 1 %t59 = load i32, ptr %t58 %t60 = icmp ult i32 %t55, %t59 br i1 %t60, label %ixok19, label %ixbad20 ixbad20: store i32 9295, ptr @lp_site %t61 = call ptr @lp_win_stdio(i32 2) store i32 0, ptr @lp_site call i32 (ptr, ptr, ...) @fprintf(ptr %t61, ptr @.fmt_bounds, ptr @.str16625, i32 %t55, i32 %t59) call void @exit(i32 1) unreachable ixok19: %t62 = getelementptr inbounds ptr, ptr %t57, i32 %t55 %t63 = load ptr, ptr @g_ck_alias %t64 = load i32, ptr %t28 %t65 = getelementptr inbounds %LSlice, ptr %t63, i32 0, i32 0 %t66 = load ptr, ptr %t65 %t67 = getelementptr inbounds %LSlice, ptr %t63, i32 0, i32 1 %t68 = load i32, ptr %t67 %t69 = icmp ult i32 %t64, %t68 br i1 %t69, label %ixok21, label %ixbad22 ixbad22: store i32 9296, ptr @lp_site %t70 = call ptr @lp_win_stdio(i32 2) store i32 0, ptr @lp_site call i32 (ptr, ptr, ...) @fprintf(ptr %t70, ptr @.fmt_bounds, ptr @.str16627, i32 %t64, i32 %t68) call void @exit(i32 1) unreachable ixok21: %t71 = getelementptr inbounds ptr, ptr %t66, i32 %t64 %t72 = load ptr, ptr %t71 store ptr %t72, ptr %t62 br label %ifend18 ifend18: %t74 = load i32, ptr %t28 %t75 = load ptr, ptr @g_ck_from_st %t76 = getelementptr inbounds %LSlice, ptr %t75, i32 0, i32 1 %t77 = load i32, ptr %t76 %t78 = icmp slt i32 %t74, %t77 %t79 = zext i1 %t78 to i32 %t80 = icmp ne i32 %t79, 0 %t81 = zext i1 %t80 to i32 store i32 %t81, ptr %t73 br i1 %t80, label %sc23, label %scend24 sc23: %t82 = load i32, ptr %t23 %t83 = load ptr, ptr @g_ck_from_st %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 %t89 = zext i1 %t88 to i32 store i32 %t89, ptr %t73 br label %scend24 scend24: %t90 = load i32, ptr %t73 %t91 = icmp ne i32 %t90, 0 br i1 %t91, label %then25, label %ifend27 then25: %t92 = load ptr, ptr @g_ck_from_st %t93 = load i32, ptr %t23 %t94 = getelementptr inbounds %LSlice, ptr %t92, i32 0, i32 0 %t95 = load ptr, ptr %t94 %t96 = getelementptr inbounds %LSlice, ptr %t92, i32 0, i32 1 %t97 = load i32, ptr %t96 %t98 = icmp ult i32 %t93, %t97 br i1 %t98, label %ixok28, label %ixbad29 ixbad29: store i32 9297, ptr @lp_site %t99 = call ptr @lp_win_stdio(i32 2) store i32 0, ptr @lp_site call i32 (ptr, ptr, ...) @fprintf(ptr %t99, ptr @.fmt_bounds, ptr @.str16628, i32 %t93, i32 %t97) call void @exit(i32 1) unreachable ixok28: %t100 = getelementptr inbounds ptr, ptr %t95, i32 %t93 %t101 = load ptr, ptr @g_ck_from_st %t102 = load i32, ptr %t28 %t103 = getelementptr inbounds %LSlice, ptr %t101, i32 0, i32 0 %t104 = load ptr, ptr %t103 %t105 = getelementptr inbounds %LSlice, ptr %t101, i32 0, i32 1 %t106 = load i32, ptr %t105 %t107 = icmp ult i32 %t102, %t106 br i1 %t107, label %ixok30, label %ixbad31 ixbad31: store i32 9298, ptr @lp_site %t108 = call ptr @lp_win_stdio(i32 2) store i32 0, ptr @lp_site call i32 (ptr, ptr, ...) @fprintf(ptr %t108, ptr @.fmt_bounds, ptr @.str16629, i32 %t102, i32 %t106) call void @exit(i32 1) unreachable ixok30: %t109 = getelementptr inbounds ptr, ptr %t104, i32 %t102 %t110 = load ptr, ptr %t109 store ptr %t110, ptr %t100 br label %ifend27 ifend27: br label %ret ifend12: %t111 = load i32, ptr %t28 %t112 = icmp sge i32 %t111, 0 %t113 = zext i1 %t112 to i32 %t114 = icmp ne i32 %t113, 0 br i1 %t114, label %then32, label %ifend34 then32: br label %ret ifend34: %t115 = load ptr, ptr %t16 %t116 = getelementptr inbounds %Cmp_Node, ptr %t115, i32 0, i32 1 %t117 = load ptr, ptr %t116 %t118 = call ptr @fn_ck_global(ptr %t117) store ptr %t118, ptr %t119 %t120 = load ptr, ptr %t119 %t121 = icmp eq ptr %t120, null %t122 = zext i1 %t121 to i32 %t123 = icmp ne i32 %t122, 0 br i1 %t123, label %then35, label %ifend37 then35: %t124 = load ptr, ptr %t16 %t125 = getelementptr inbounds %Cmp_Node, ptr %t124, i32 0, i32 1 %t126 = load ptr, ptr %t125 %t127 = call ptr @fn_mg_field_var(ptr %t126) store ptr %t127, ptr %t119 br label %ifend37 ifend37: %t129 = load ptr, ptr %t119 %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 %t128 br i1 %t132, label %sc38, label %scend39 sc38: %t134 = load ptr, ptr %t119 %t135 = getelementptr inbounds %Cmp_Node, ptr %t134, i32 0, i32 0 %t136 = load i32, ptr %t135 %t137 = icmp eq i32 %t136, 2 %t138 = zext i1 %t137 to i32 %t139 = icmp ne i32 %t138, 0 %t140 = zext i1 %t139 to i32 store i32 %t140, ptr %t128 br label %scend39 scend39: %t141 = load i32, ptr %t128 %t142 = icmp ne i32 %t141, 0 br i1 %t142, label %then40, label %ifend42 then40: %t143 = load ptr, ptr @g_ck_alias %t144 = load i32, ptr %t23 %t145 = getelementptr inbounds %LSlice, ptr %t143, i32 0, i32 0 %t146 = load ptr, ptr %t145 %t147 = getelementptr inbounds %LSlice, ptr %t143, i32 0, i32 1 %t148 = load i32, ptr %t147 %t149 = icmp ult i32 %t144, %t148 br i1 %t149, label %ixok43, label %ixbad44 ixbad44: store i32 9299, ptr @lp_site %t150 = call ptr @lp_win_stdio(i32 2) store i32 0, ptr @lp_site call i32 (ptr, ptr, ...) @fprintf(ptr %t150, ptr @.fmt_bounds, ptr @.str16630, i32 %t144, i32 %t148) call void @exit(i32 1) unreachable ixok43: %t151 = getelementptr inbounds ptr, ptr %t146, i32 %t144 %t152 = load ptr, ptr %t119 store ptr %t152, ptr %t151 br label %ifend42 ifend42: br label %ret ret: ret void } define i32 @fn_ck_is_ro(i32 %arg_li) { entry: %retval = alloca i32 %t0 = alloca i32 %t1 = alloca i32 store i32 %arg_li, ptr %t0 %t2 = load i32, ptr %t0 %t3 = icmp slt i32 %t2, 0 %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 = load ptr, ptr @g_ck_ro %t9 = getelementptr inbounds %LSlice, ptr %t8, i32 0, i32 1 %t10 = load i32, ptr %t9 %t11 = icmp sge i32 %t7, %t10 %t12 = zext i1 %t11 to i32 %t13 = icmp ne i32 %t12, 0 %t14 = zext i1 %t13 to i32 store i32 %t14, ptr %t1 br label %scend1 scend1: %t15 = load i32, ptr %t1 %t16 = icmp ne i32 %t15, 0 br i1 %t16, label %then2, label %ifend4 then2: store i32 0, ptr %retval br label %ret ifend4: %t17 = load ptr, ptr @g_ck_ro %t18 = load i32, ptr %t0 %t19 = getelementptr inbounds %LSlice, ptr %t17, i32 0, i32 0 %t20 = load ptr, ptr %t19 %t21 = getelementptr inbounds %LSlice, ptr %t17, i32 0, i32 1 %t22 = load i32, ptr %t21 %t23 = icmp ult i32 %t18, %t22 br i1 %t23, label %ixok5, label %ixbad6 ixbad6: store i32 9300, ptr @lp_site %t24 = call ptr @lp_win_stdio(i32 2) store i32 0, ptr @lp_site call i32 (ptr, ptr, ...) @fprintf(ptr %t24, ptr @.fmt_bounds, ptr @.str16631, i32 %t18, i32 %t22) call void @exit(i32 1) unreachable ixok5: %t25 = getelementptr inbounds i32, ptr %t20, i32 %t18 %t26 = load i32, ptr %t25 %t27 = icmp eq i32 %t26, 1 %t28 = zext i1 %t27 to i32 store i32 %t28, ptr %retval br label %ret ret: %t29 = load i32, ptr %retval ret i32 %t29 } define ptr @fn_ck_chain_root(ptr %arg_t) { entry: %retval = alloca ptr %t0 = alloca ptr %t2 = alloca ptr %t3 = alloca i32 %t9 = alloca i32 %t32 = alloca i32 store ptr %arg_t, ptr %t0 %t1 = load ptr, ptr %t0 store ptr %t1, ptr %t2 br label %wcond0 wcond0: %t4 = load ptr, ptr %t2 %t5 = icmp ne ptr %t4, null %t6 = zext i1 %t5 to i32 %t7 = icmp ne i32 %t6, 0 %t8 = zext i1 %t7 to i32 store i32 %t8, ptr %t3 br i1 %t7, label %sc3, label %scend4 sc3: %t10 = load ptr, ptr %t2 %t11 = getelementptr inbounds %Cmp_Node, ptr %t10, i32 0, i32 0 %t12 = load i32, ptr %t11 %t13 = icmp eq i32 %t12, 36 %t14 = zext i1 %t13 to i32 %t15 = icmp ne i32 %t14, 0 %t16 = zext i1 %t15 to i32 store i32 %t16, ptr %t9 br i1 %t15, label %scend6, label %sc5 sc5: %t17 = load ptr, ptr %t2 %t18 = getelementptr inbounds %Cmp_Node, ptr %t17, i32 0, i32 0 %t19 = load i32, ptr %t18 %t20 = icmp eq i32 %t19, 35 %t21 = zext i1 %t20 to i32 %t22 = icmp ne i32 %t21, 0 %t23 = zext i1 %t22 to i32 store i32 %t23, ptr %t9 br label %scend6 scend6: %t24 = load i32, ptr %t9 %t25 = icmp ne i32 %t24, 0 %t26 = zext i1 %t25 to i32 store i32 %t26, ptr %t3 br label %scend4 scend4: %t27 = load i32, ptr %t3 %t28 = icmp ne i32 %t27, 0 br i1 %t28, label %wbody1, label %wend2 wbody1: %t29 = load ptr, ptr %t2 %t30 = getelementptr inbounds %Cmp_Node, ptr %t29, i32 0, i32 4 %t31 = load ptr, ptr %t30 store ptr %t31, ptr %t2 br label %wcond0 wend2: %t33 = load ptr, ptr %t2 %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 %scend8, label %sc7 sc7: %t38 = load ptr, ptr %t2 %t39 = getelementptr inbounds %Cmp_Node, ptr %t38, i32 0, i32 0 %t40 = load i32, ptr %t39 %t41 = icmp ne i32 %t40, 33 %t42 = zext i1 %t41 to i32 %t43 = icmp ne i32 %t42, 0 %t44 = zext i1 %t43 to i32 store i32 %t44, ptr %t32 br label %scend8 scend8: %t45 = load i32, ptr %t32 %t46 = icmp ne i32 %t45, 0 br i1 %t46, label %then9, label %ifend11 then9: store ptr null, ptr %retval br label %ret ifend11: %t47 = load ptr, ptr %t2 store ptr %t47, ptr %retval br label %ret ret: %t48 = load ptr, ptr %retval ret ptr %t48 } define i32 @fn_ck_module_let(ptr %arg_g) { entry: %retval = alloca i32 %t0 = alloca ptr store ptr %arg_g, 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: store i32 0, ptr %retval br label %ret ifend2: %t5 = load ptr, ptr %t0 %t6 = getelementptr inbounds %Cmp_Node, ptr %t5, i32 0, i32 0 %t7 = load i32, ptr %t6 %t8 = icmp eq i32 %t7, 3 %t9 = zext i1 %t8 to i32 %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 %t0 %t12 = getelementptr inbounds %Cmp_Node, ptr %t11, i32 0, i32 0 %t13 = load i32, ptr %t12 %t14 = icmp ne i32 %t13, 2 %t15 = zext i1 %t14 to i32 %t16 = icmp ne i32 %t15, 0 br i1 %t16, label %then6, label %ifend8 then6: store i32 0, ptr %retval br label %ret ifend8: %t17 = load ptr, ptr %t0 %t18 = getelementptr inbounds %Cmp_Node, ptr %t17, i32 0, i32 12 %t19 = load i32, ptr %t18 %t20 = icmp eq i32 %t19, 1 %t21 = zext i1 %t20 to i32 %t22 = icmp ne i32 %t21, 0 br i1 %t22, label %then9, label %ifend11 then9: store i32 1, ptr %retval br label %ret ifend11: %t23 = load ptr, ptr %t0 %t24 = getelementptr inbounds %Cmp_Node, ptr %t23, i32 0, i32 1 %t25 = load ptr, ptr %t24 %t26 = call i32 @fn_reg_find(ptr %t25) %t27 = icmp sge i32 %t26, 0 %t28 = zext i1 %t27 to i32 store i32 %t28, ptr %retval br label %ret ret: %t29 = load i32, ptr %retval ret i32 %t29 } define void @fn_ck_write_check(ptr %arg_t, ptr %arg_what) { entry: %t0 = alloca ptr %t1 = alloca ptr %t4 = alloca ptr %t13 = alloca i32 %t45 = alloca i32 %t80 = alloca i32 %t115 = alloca ptr %t135 = alloca i32 %t136 = alloca i32 %t137 = alloca i32 %t185 = alloca i32 %t186 = alloca i32 %t187 = alloca i32 %t328 = alloca ptr %t345 = alloca ptr %t346 = alloca i32 store ptr %arg_t, ptr %t0 store ptr %arg_what, ptr %t1 %t2 = load ptr, ptr %t0 %t3 = call ptr @fn_ck_chain_root(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: br label %ret ifend2: %t9 = load ptr, ptr %t4 %t10 = getelementptr inbounds %Cmp_Node, ptr %t9, i32 0, i32 1 %t11 = load ptr, ptr %t10 %t12 = call i32 @fn_ck_local(ptr %t11) store i32 %t12, ptr %t13 %t14 = load i32, ptr %t13 %t15 = icmp sge i32 %t14, 0 %t16 = zext i1 %t15 to i32 %t17 = icmp ne i32 %t16, 0 br i1 %t17, label %then3, label %ifend5 then3: %t18 = load ptr, ptr @g_ck_tys %t19 = load i32, ptr %t13 %t20 = getelementptr inbounds %LSlice, ptr %t18, i32 0, i32 0 %t21 = load ptr, ptr %t20 %t22 = getelementptr inbounds %LSlice, ptr %t18, i32 0, i32 1 %t23 = load i32, ptr %t22 %t24 = icmp ult i32 %t19, %t23 br i1 %t24, label %ixok6, label %ixbad7 ixbad7: store i32 9301, ptr @lp_site %t25 = call ptr @lp_win_stdio(i32 2) store i32 0, ptr @lp_site call i32 (ptr, ptr, ...) @fprintf(ptr %t25, ptr @.fmt_bounds, ptr @.str16633, i32 %t19, i32 %t23) call void @exit(i32 1) unreachable ixok6: %t26 = getelementptr inbounds ptr, ptr %t21, i32 %t19 %t27 = load ptr, ptr %t26 call void @fn_mg_local_write(ptr %t27) %t28 = load i32, ptr %t13 %t29 = load ptr, ptr @g_ck_ro_st %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 %then8, label %ifend10 then8: %t35 = load ptr, ptr @g_ck_ro_st %t36 = load i32, ptr %t13 %t37 = getelementptr inbounds %LSlice, ptr %t35, i32 0, i32 0 %t38 = load ptr, ptr %t37 %t39 = getelementptr inbounds %LSlice, ptr %t35, i32 0, i32 1 %t40 = load i32, ptr %t39 %t41 = icmp ult i32 %t36, %t40 br i1 %t41, label %ixok11, label %ixbad12 ixbad12: store i32 9302, ptr @lp_site %t42 = call ptr @lp_win_stdio(i32 2) store i32 0, ptr @lp_site call i32 (ptr, ptr, ...) @fprintf(ptr %t42, ptr @.fmt_bounds, ptr @.str16635, i32 %t36, i32 %t40) call void @exit(i32 1) unreachable ixok11: %t43 = getelementptr inbounds ptr, ptr %t38, i32 %t36 %t44 = load ptr, ptr %t43 call void @fn_mg_local_write(ptr %t44) br label %ifend10 ifend10: %t46 = load i32, ptr %t13 %t47 = load ptr, ptr @g_ck_from_st %t48 = getelementptr inbounds %LSlice, ptr %t47, i32 0, i32 1 %t49 = load i32, ptr %t48 %t50 = icmp slt i32 %t46, %t49 %t51 = zext i1 %t50 to i32 %t52 = icmp ne i32 %t51, 0 %t53 = zext i1 %t52 to i32 store i32 %t53, ptr %t45 br i1 %t52, label %sc13, label %scend14 sc13: %t54 = load ptr, ptr @g_ck_from_st %t55 = load i32, ptr %t13 %t56 = getelementptr inbounds %LSlice, ptr %t54, i32 0, i32 0 %t57 = load ptr, ptr %t56 %t58 = getelementptr inbounds %LSlice, ptr %t54, i32 0, i32 1 %t59 = load i32, ptr %t58 %t60 = icmp ult i32 %t55, %t59 br i1 %t60, label %ixok15, label %ixbad16 ixbad16: store i32 9303, ptr @lp_site %t61 = call ptr @lp_win_stdio(i32 2) store i32 0, ptr @lp_site call i32 (ptr, ptr, ...) @fprintf(ptr %t61, ptr @.fmt_bounds, ptr @.str16636, i32 %t55, i32 %t59) call void @exit(i32 1) unreachable ixok15: %t62 = getelementptr inbounds ptr, ptr %t57, i32 %t55 %t63 = load ptr, ptr %t62 %t64 = icmp ne ptr %t63, null %t65 = zext i1 %t64 to i32 %t66 = icmp ne i32 %t65, 0 %t67 = zext i1 %t66 to i32 store i32 %t67, ptr %t45 br label %scend14 scend14: %t68 = load i32, ptr %t45 %t69 = icmp ne i32 %t68, 0 br i1 %t69, label %then17, label %ifend19 then17: %t70 = load ptr, ptr @g_ck_from_st %t71 = load i32, ptr %t13 %t72 = getelementptr inbounds %LSlice, ptr %t70, i32 0, i32 0 %t73 = load ptr, ptr %t72 %t74 = getelementptr inbounds %LSlice, ptr %t70, i32 0, i32 1 %t75 = load i32, ptr %t74 %t76 = icmp ult i32 %t71, %t75 br i1 %t76, label %ixok20, label %ixbad21 ixbad21: store i32 9304, ptr @lp_site %t77 = call ptr @lp_win_stdio(i32 2) store i32 0, ptr @lp_site call i32 (ptr, ptr, ...) @fprintf(ptr %t77, ptr @.fmt_bounds, ptr @.str16637, i32 %t71, i32 %t75) call void @exit(i32 1) unreachable ixok20: %t78 = getelementptr inbounds ptr, ptr %t73, i32 %t71 %t79 = load ptr, ptr %t78 call void @fn_mg_local_write(ptr %t79) br label %ifend19 ifend19: %t81 = load i32, ptr %t13 %t82 = load ptr, ptr @g_ck_alias %t83 = getelementptr inbounds %LSlice, ptr %t82, i32 0, i32 1 %t84 = load i32, ptr %t83 %t85 = icmp slt i32 %t81, %t84 %t86 = zext i1 %t85 to i32 %t87 = icmp ne i32 %t86, 0 %t88 = zext i1 %t87 to i32 store i32 %t88, ptr %t80 br i1 %t87, label %sc22, label %scend23 sc22: %t89 = load ptr, ptr @g_ck_alias %t90 = load i32, ptr %t13 %t91 = getelementptr inbounds %LSlice, ptr %t89, i32 0, i32 0 %t92 = load ptr, ptr %t91 %t93 = getelementptr inbounds %LSlice, ptr %t89, i32 0, i32 1 %t94 = load i32, ptr %t93 %t95 = icmp ult i32 %t90, %t94 br i1 %t95, label %ixok24, label %ixbad25 ixbad25: store i32 9305, ptr @lp_site %t96 = call ptr @lp_win_stdio(i32 2) store i32 0, ptr @lp_site call i32 (ptr, ptr, ...) @fprintf(ptr %t96, ptr @.fmt_bounds, ptr @.str16638, i32 %t90, i32 %t94) call void @exit(i32 1) unreachable ixok24: %t97 = getelementptr inbounds ptr, ptr %t92, i32 %t90 %t98 = load ptr, ptr %t97 %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 %t80 br label %scend23 scend23: %t103 = load i32, ptr %t80 %t104 = icmp ne i32 %t103, 0 br i1 %t104, label %then26, label %ifend28 then26: %t105 = load ptr, ptr @g_ck_alias %t106 = load i32, ptr %t13 %t107 = getelementptr inbounds %LSlice, ptr %t105, i32 0, i32 0 %t108 = load ptr, ptr %t107 %t109 = getelementptr inbounds %LSlice, ptr %t105, i32 0, i32 1 %t110 = load i32, ptr %t109 %t111 = icmp ult i32 %t106, %t110 br i1 %t111, label %ixok29, label %ixbad30 ixbad30: store i32 9306, ptr @lp_site %t112 = call ptr @lp_win_stdio(i32 2) store i32 0, ptr @lp_site call i32 (ptr, ptr, ...) @fprintf(ptr %t112, ptr @.fmt_bounds, ptr @.str16639, i32 %t106, i32 %t110) call void @exit(i32 1) unreachable ixok29: %t113 = getelementptr inbounds ptr, ptr %t108, i32 %t106 %t114 = load ptr, ptr %t113 store ptr %t114, ptr %t115 %t116 = load ptr, ptr %t0 %t117 = load ptr, ptr %t115 call void @fn_mg_write(ptr %t116, ptr %t117) %t118 = load ptr, ptr %t115 %t119 = call i32 @fn_ck_module_let(ptr %t118) %t120 = icmp ne i32 %t119, 0 br i1 %t120, label %then31, label %ifend33 then31: %t121 = load ptr, ptr %t0 %t122 = load ptr, ptr %t1 store i32 9307, ptr @lp_site %t123 = call ptr @lp_str_concat(ptr %t122, ptr @.str16641) store i32 0, ptr @lp_site %t124 = load ptr, ptr %t4 %t125 = getelementptr inbounds %Cmp_Node, ptr %t124, i32 0, i32 1 %t126 = load ptr, ptr %t125 store i32 9308, ptr @lp_site %t127 = call ptr @lp_str_concat(ptr %t123, ptr %t126) store i32 0, ptr @lp_site call void @lp_free(ptr %t123) store i32 9309, ptr @lp_site %t128 = call ptr @lp_str_concat(ptr %t127, ptr @.str16642) store i32 0, ptr @lp_site call void @lp_free(ptr %t127) %t129 = load ptr, ptr %t115 %t130 = getelementptr inbounds %Cmp_Node, ptr %t129, i32 0, i32 1 %t131 = load ptr, ptr %t130 %t132 = call ptr @fn_mg_src_name(ptr %t131) store i32 9310, ptr @lp_site %t133 = call ptr @lp_str_concat(ptr %t128, ptr %t132) store i32 0, ptr @lp_site call void @lp_free(ptr %t128) store i32 9311, ptr @lp_site %t134 = call ptr @lp_str_concat(ptr %t133, ptr @.str16643) store i32 0, ptr @lp_site call void @lp_free(ptr %t133) call void @fn_ck_err(ptr @.str16640, ptr %t121, ptr %t134) br label %ifend33 ifend33: br label %ifend28 ifend28: %t138 = load i32, ptr %t13 %t139 = call i32 @fn_ck_is_ro(i32 %t138) %t140 = icmp ne i32 %t139, 0 %t141 = zext i1 %t140 to i32 store i32 %t141, ptr %t137 br i1 %t140, label %sc34, label %scend35 sc34: %t142 = load i32, ptr @g_g_migrate %t143 = icmp ne i32 %t142, 0 %t144 = zext i1 %t143 to i32 store i32 %t144, ptr %t137 br label %scend35 scend35: %t145 = load i32, ptr %t137 %t146 = icmp ne i32 %t145, 0 %t147 = zext i1 %t146 to i32 store i32 %t147, ptr %t136 br i1 %t146, label %sc36, label %scend37 sc36: %t148 = load i32, ptr @g_g_mg_cur %t149 = icmp sge i32 %t148, 0 %t150 = zext i1 %t149 to i32 %t151 = icmp ne i32 %t150, 0 %t152 = zext i1 %t151 to i32 store i32 %t152, ptr %t136 br label %scend37 scend37: %t153 = load i32, ptr %t136 %t154 = icmp ne i32 %t153, 0 %t155 = zext i1 %t154 to i32 store i32 %t155, ptr %t135 br i1 %t154, label %sc38, label %scend39 sc38: %t156 = load ptr, ptr @g_ck_ro_st %t157 = load i32, ptr %t13 %t158 = getelementptr inbounds %LSlice, ptr %t156, i32 0, i32 0 %t159 = load ptr, ptr %t158 %t160 = getelementptr inbounds %LSlice, ptr %t156, i32 0, i32 1 %t161 = load i32, ptr %t160 %t162 = icmp ult i32 %t157, %t161 br i1 %t162, label %ixok40, label %ixbad41 ixbad41: store i32 9312, ptr @lp_site %t163 = call ptr @lp_win_stdio(i32 2) store i32 0, ptr @lp_site call i32 (ptr, ptr, ...) @fprintf(ptr %t163, ptr @.fmt_bounds, ptr @.str16644, i32 %t157, i32 %t161) call void @exit(i32 1) unreachable ixok40: %t164 = getelementptr inbounds ptr, ptr %t159, i32 %t157 %t165 = load ptr, ptr %t164 %t166 = icmp ne ptr %t165, null %t167 = zext i1 %t166 to i32 %t168 = icmp ne i32 %t167, 0 %t169 = zext i1 %t168 to i32 store i32 %t169, ptr %t135 br label %scend39 scend39: %t170 = load i32, ptr %t135 %t171 = icmp ne i32 %t170, 0 br i1 %t171, label %then42, label %ifend44 then42: %t172 = load i32, ptr @g_g_mg_cur %t173 = load ptr, ptr @g_ck_ro_st %t174 = load i32, ptr %t13 %t175 = getelementptr inbounds %LSlice, ptr %t173, i32 0, i32 0 %t176 = load ptr, ptr %t175 %t177 = getelementptr inbounds %LSlice, ptr %t173, i32 0, i32 1 %t178 = load i32, ptr %t177 %t179 = icmp ult i32 %t174, %t178 br i1 %t179, label %ixok45, label %ixbad46 ixbad46: store i32 9313, ptr @lp_site %t180 = call ptr @lp_win_stdio(i32 2) store i32 0, ptr @lp_site call i32 (ptr, ptr, ...) @fprintf(ptr %t180, ptr @.fmt_bounds, ptr @.str16645, i32 %t174, i32 %t178) call void @exit(i32 1) unreachable ixok45: %t181 = getelementptr inbounds ptr, ptr %t176, i32 %t174 %t182 = load ptr, ptr %t181 %t183 = call i32 @fn_mg_state_named(ptr %t182) %t184 = call i32 @fn_mg_need(i32 %t172, i32 %t183, i32 1) br label %ret ifend44: %t188 = load i32, ptr %t13 %t189 = call i32 @fn_ck_is_ro(i32 %t188) %t190 = icmp ne i32 %t189, 0 %t191 = zext i1 %t190 to i32 store i32 %t191, ptr %t187 br i1 %t190, label %sc47, label %scend48 sc47: %t192 = load i32, ptr %t13 %t193 = load ptr, ptr @g_ck_ro_st %t194 = getelementptr inbounds %LSlice, ptr %t193, i32 0, i32 1 %t195 = load i32, ptr %t194 %t196 = icmp slt i32 %t192, %t195 %t197 = zext i1 %t196 to i32 %t198 = icmp ne i32 %t197, 0 %t199 = zext i1 %t198 to i32 store i32 %t199, ptr %t187 br label %scend48 scend48: %t200 = load i32, ptr %t187 %t201 = icmp ne i32 %t200, 0 %t202 = zext i1 %t201 to i32 store i32 %t202, ptr %t186 br i1 %t201, label %sc49, label %scend50 sc49: %t203 = load ptr, ptr @g_ck_ro_st %t204 = load i32, ptr %t13 %t205 = getelementptr inbounds %LSlice, ptr %t203, i32 0, i32 0 %t206 = load ptr, ptr %t205 %t207 = getelementptr inbounds %LSlice, ptr %t203, i32 0, i32 1 %t208 = load i32, ptr %t207 %t209 = icmp ult i32 %t204, %t208 br i1 %t209, label %ixok51, label %ixbad52 ixbad52: store i32 9314, ptr @lp_site %t210 = call ptr @lp_win_stdio(i32 2) store i32 0, ptr @lp_site call i32 (ptr, ptr, ...) @fprintf(ptr %t210, ptr @.fmt_bounds, ptr @.str16646, i32 %t204, i32 %t208) call void @exit(i32 1) unreachable ixok51: %t211 = getelementptr inbounds ptr, ptr %t206, i32 %t204 %t212 = load ptr, ptr %t211 %t213 = icmp ne ptr %t212, null %t214 = zext i1 %t213 to i32 %t215 = icmp ne i32 %t214, 0 %t216 = zext i1 %t215 to i32 store i32 %t216, ptr %t186 br label %scend50 scend50: %t217 = load i32, ptr %t186 %t218 = icmp ne i32 %t217, 0 %t219 = zext i1 %t218 to i32 store i32 %t219, ptr %t185 br i1 %t218, label %sc53, label %scend54 sc53: %t220 = load ptr, ptr @g_ck_ro_st %t221 = load i32, ptr %t13 %t222 = getelementptr inbounds %LSlice, ptr %t220, i32 0, i32 0 %t223 = load ptr, ptr %t222 %t224 = getelementptr inbounds %LSlice, ptr %t220, i32 0, i32 1 %t225 = load i32, ptr %t224 %t226 = icmp ult i32 %t221, %t225 br i1 %t226, label %ixok55, label %ixbad56 ixbad56: store i32 9315, ptr @lp_site %t227 = call ptr @lp_win_stdio(i32 2) store i32 0, ptr @lp_site call i32 (ptr, ptr, ...) @fprintf(ptr %t227, ptr @.fmt_bounds, ptr @.str16647, i32 %t221, i32 %t225) call void @exit(i32 1) unreachable ixok55: %t228 = getelementptr inbounds ptr, ptr %t223, i32 %t221 %t229 = load ptr, ptr %t228 %t230 = load ptr, ptr @g_ck_tys %t231 = load i32, ptr %t13 %t232 = getelementptr inbounds %LSlice, ptr %t230, i32 0, i32 0 %t233 = load ptr, ptr %t232 %t234 = getelementptr inbounds %LSlice, ptr %t230, i32 0, i32 1 %t235 = load i32, ptr %t234 %t236 = icmp ult i32 %t231, %t235 br i1 %t236, label %ixok57, label %ixbad58 ixbad58: store i32 9316, ptr @lp_site %t237 = call ptr @lp_win_stdio(i32 2) store i32 0, ptr @lp_site call i32 (ptr, ptr, ...) @fprintf(ptr %t237, ptr @.fmt_bounds, ptr @.str16648, i32 %t231, i32 %t235) call void @exit(i32 1) unreachable ixok57: %t238 = getelementptr inbounds ptr, ptr %t233, i32 %t231 %t239 = load ptr, ptr %t238 %t240 = call i32 @lp_str_eq(ptr %t229, ptr %t239) %t241 = icmp eq i32 %t240, 0 %t242 = zext i1 %t241 to i32 %t243 = icmp ne i32 %t242, 0 %t244 = zext i1 %t243 to i32 store i32 %t244, ptr %t185 br label %scend54 scend54: %t245 = load i32, ptr %t185 %t246 = icmp ne i32 %t245, 0 br i1 %t246, label %then59, label %ifend61 then59: %t247 = load ptr, ptr %t0 %t248 = load ptr, ptr %t1 store i32 9317, ptr @lp_site %t249 = call ptr @lp_str_concat(ptr %t248, ptr @.str16650) store i32 0, ptr @lp_site %t250 = load ptr, ptr %t4 %t251 = getelementptr inbounds %Cmp_Node, ptr %t250, i32 0, i32 1 %t252 = load ptr, ptr %t251 store i32 9318, ptr @lp_site %t253 = call ptr @lp_str_concat(ptr %t249, ptr %t252) store i32 0, ptr @lp_site call void @lp_free(ptr %t249) store i32 9319, ptr @lp_site %t254 = call ptr @lp_str_concat(ptr %t253, ptr @.str16651) store i32 0, ptr @lp_site call void @lp_free(ptr %t253) %t255 = load ptr, ptr @g_ck_ro_st %t256 = load i32, ptr %t13 %t257 = getelementptr inbounds %LSlice, ptr %t255, i32 0, i32 0 %t258 = load ptr, ptr %t257 %t259 = getelementptr inbounds %LSlice, ptr %t255, i32 0, i32 1 %t260 = load i32, ptr %t259 %t261 = icmp ult i32 %t256, %t260 br i1 %t261, label %ixok62, label %ixbad63 ixbad63: store i32 9320, ptr @lp_site %t262 = call ptr @lp_win_stdio(i32 2) store i32 0, ptr @lp_site call i32 (ptr, ptr, ...) @fprintf(ptr %t262, ptr @.fmt_bounds, ptr @.str16652, i32 %t256, i32 %t260) call void @exit(i32 1) unreachable ixok62: %t263 = getelementptr inbounds ptr, ptr %t258, i32 %t256 %t264 = load ptr, ptr %t263 store i32 9321, ptr @lp_site %t265 = call ptr @lp_str_concat(ptr %t254, ptr %t264) store i32 0, ptr @lp_site call void @lp_free(ptr %t254) store i32 9322, ptr @lp_site %t266 = call ptr @lp_str_concat(ptr %t265, ptr @.str16653) store i32 0, ptr @lp_site call void @lp_free(ptr %t265) %t267 = load ptr, ptr @g_ck_ro_st %t268 = load i32, ptr %t13 %t269 = getelementptr inbounds %LSlice, ptr %t267, i32 0, i32 0 %t270 = load ptr, ptr %t269 %t271 = getelementptr inbounds %LSlice, ptr %t267, i32 0, i32 1 %t272 = load i32, ptr %t271 %t273 = icmp ult i32 %t268, %t272 br i1 %t273, label %ixok64, label %ixbad65 ixbad65: store i32 9323, ptr @lp_site %t274 = call ptr @lp_win_stdio(i32 2) store i32 0, ptr @lp_site call i32 (ptr, ptr, ...) @fprintf(ptr %t274, ptr @.fmt_bounds, ptr @.str16654, i32 %t268, i32 %t272) call void @exit(i32 1) unreachable ixok64: %t275 = getelementptr inbounds ptr, ptr %t270, i32 %t268 %t276 = load ptr, ptr %t275 store i32 9324, ptr @lp_site %t277 = call ptr @lp_str_concat(ptr %t266, ptr %t276) store i32 0, ptr @lp_site call void @lp_free(ptr %t266) store i32 9325, ptr @lp_site %t278 = call ptr @lp_str_concat(ptr %t277, ptr @.str16655) store i32 0, ptr @lp_site call void @lp_free(ptr %t277) call void @fn_ck_err(ptr @.str16649, ptr %t247, ptr %t278) br label %ret ifend61: %t279 = load i32, ptr %t13 %t280 = call i32 @fn_ck_is_ro(i32 %t279) %t281 = icmp ne i32 %t280, 0 br i1 %t281, label %then66, label %ifend68 then66: %t282 = load ptr, ptr %t0 %t283 = load ptr, ptr %t1 store i32 9326, ptr @lp_site %t284 = call ptr @lp_str_concat(ptr %t283, ptr @.str16657) store i32 0, ptr @lp_site %t285 = load ptr, ptr %t4 %t286 = getelementptr inbounds %Cmp_Node, ptr %t285, i32 0, i32 1 %t287 = load ptr, ptr %t286 store i32 9327, ptr @lp_site %t288 = call ptr @lp_str_concat(ptr %t284, ptr %t287) store i32 0, ptr @lp_site call void @lp_free(ptr %t284) store i32 9328, ptr @lp_site %t289 = call ptr @lp_str_concat(ptr %t288, ptr @.str16658) store i32 0, ptr @lp_site call void @lp_free(ptr %t288) %t290 = load ptr, ptr %t4 %t291 = getelementptr inbounds %Cmp_Node, ptr %t290, i32 0, i32 1 %t292 = load ptr, ptr %t291 store i32 9329, ptr @lp_site %t293 = call ptr @lp_str_concat(ptr %t289, ptr %t292) store i32 0, ptr @lp_site call void @lp_free(ptr %t289) store i32 9330, ptr @lp_site %t294 = call ptr @lp_str_concat(ptr %t293, ptr @.str16659) store i32 0, ptr @lp_site call void @lp_free(ptr %t293) %t295 = load ptr, ptr @g_ck_tys %t296 = load i32, ptr %t13 %t297 = getelementptr inbounds %LSlice, ptr %t295, i32 0, i32 0 %t298 = load ptr, ptr %t297 %t299 = getelementptr inbounds %LSlice, ptr %t295, i32 0, i32 1 %t300 = load i32, ptr %t299 %t301 = icmp ult i32 %t296, %t300 br i1 %t301, label %ixok69, label %ixbad70 ixbad70: store i32 9331, ptr @lp_site %t302 = call ptr @lp_win_stdio(i32 2) store i32 0, ptr @lp_site call i32 (ptr, ptr, ...) @fprintf(ptr %t302, ptr @.fmt_bounds, ptr @.str16660, i32 %t296, i32 %t300) call void @exit(i32 1) unreachable ixok69: %t303 = getelementptr inbounds ptr, ptr %t298, i32 %t296 %t304 = load ptr, ptr %t303 store i32 9332, ptr @lp_site %t305 = call ptr @lp_str_concat(ptr %t294, ptr %t304) store i32 0, ptr @lp_site call void @lp_free(ptr %t294) store i32 9333, ptr @lp_site %t306 = call ptr @lp_str_concat(ptr %t305, ptr @.str16661) store i32 0, ptr @lp_site call void @lp_free(ptr %t305) %t307 = load ptr, ptr %t4 %t308 = getelementptr inbounds %Cmp_Node, ptr %t307, i32 0, i32 1 %t309 = load ptr, ptr %t308 store i32 9334, ptr @lp_site %t310 = call ptr @lp_str_concat(ptr %t306, ptr %t309) store i32 0, ptr @lp_site call void @lp_free(ptr %t306) store i32 9335, ptr @lp_site %t311 = call ptr @lp_str_concat(ptr %t310, ptr @.str16662) store i32 0, ptr @lp_site call void @lp_free(ptr %t310) %t312 = load ptr, ptr @g_ck_tys %t313 = load i32, ptr %t13 %t314 = getelementptr inbounds %LSlice, ptr %t312, i32 0, i32 0 %t315 = load ptr, ptr %t314 %t316 = getelementptr inbounds %LSlice, ptr %t312, i32 0, i32 1 %t317 = load i32, ptr %t316 %t318 = icmp ult i32 %t313, %t317 br i1 %t318, label %ixok71, label %ixbad72 ixbad72: store i32 9336, ptr @lp_site %t319 = call ptr @lp_win_stdio(i32 2) store i32 0, ptr @lp_site call i32 (ptr, ptr, ...) @fprintf(ptr %t319, ptr @.fmt_bounds, ptr @.str16663, i32 %t313, i32 %t317) call void @exit(i32 1) unreachable ixok71: %t320 = getelementptr inbounds ptr, ptr %t315, i32 %t313 %t321 = load ptr, ptr %t320 store i32 9337, ptr @lp_site %t322 = call ptr @lp_str_concat(ptr %t311, ptr %t321) store i32 0, ptr @lp_site call void @lp_free(ptr %t311) store i32 9338, ptr @lp_site %t323 = call ptr @lp_str_concat(ptr %t322, ptr @.str16664) store i32 0, ptr @lp_site call void @lp_free(ptr %t322) call void @fn_ck_err(ptr @.str16656, ptr %t282, ptr %t323) br label %ifend68 ifend68: br label %ret ifend5: %t324 = load ptr, ptr %t4 %t325 = getelementptr inbounds %Cmp_Node, ptr %t324, i32 0, i32 1 %t326 = load ptr, ptr %t325 %t327 = call ptr @fn_ck_global(ptr %t326) store ptr %t327, ptr %t328 %t329 = load ptr, ptr %t328 %t330 = icmp eq ptr %t329, null %t331 = zext i1 %t330 to i32 %t332 = icmp ne i32 %t331, 0 br i1 %t332, label %then73, label %ifend75 then73: %t333 = load ptr, ptr %t4 %t334 = getelementptr inbounds %Cmp_Node, ptr %t333, i32 0, i32 1 %t335 = load ptr, ptr %t334 %t336 = call ptr @fn_mg_field_var(ptr %t335) store ptr %t336, ptr %t328 br label %ifend75 ifend75: %t337 = load ptr, ptr %t0 %t338 = load ptr, ptr %t328 call void @fn_mg_write(ptr %t337, ptr %t338) %t339 = load ptr, ptr %t328 %t340 = call i32 @fn_ck_module_let(ptr %t339) %t341 = icmp ne i32 %t340, 0 br i1 %t341, label %then76, label %ifend78 then76: %t342 = load ptr, ptr %t4 %t343 = getelementptr inbounds %Cmp_Node, ptr %t342, i32 0, i32 1 %t344 = load ptr, ptr %t343 store ptr %t344, ptr %t345 %t347 = load ptr, ptr %t328 %t348 = getelementptr inbounds %Cmp_Node, ptr %t347, i32 0, i32 3 %t349 = load ptr, ptr %t348 %t350 = call i32 @fn_is_state_ty(ptr %t349) %t351 = icmp ne i32 %t350, 0 %t352 = zext i1 %t351 to i32 store i32 %t352, ptr %t346 br i1 %t351, label %sc79, label %scend80 sc79: %t353 = load ptr, ptr %t328 %t354 = getelementptr inbounds %Cmp_Node, ptr %t353, i32 0, i32 12 %t355 = load i32, ptr %t354 %t356 = icmp eq i32 %t355, 1 %t357 = zext i1 %t356 to i32 %t358 = icmp ne i32 %t357, 0 %t359 = zext i1 %t358 to i32 store i32 %t359, ptr %t346 br label %scend80 scend80: %t360 = load i32, ptr %t346 %t361 = icmp ne i32 %t360, 0 br i1 %t361, label %then81, label %ifend83 then81: %t362 = load ptr, ptr %t328 %t363 = getelementptr inbounds %Cmp_Node, ptr %t362, i32 0, i32 3 %t364 = load ptr, ptr %t363 store i32 9339, ptr @lp_site %t365 = call ptr @lp_str_concat(ptr @.str16665, ptr %t364) store i32 0, ptr @lp_site store ptr %t365, ptr %t345 br label %ifend83 ifend83: %t366 = load ptr, ptr %t0 %t367 = load ptr, ptr %t1 store i32 9340, ptr @lp_site %t368 = call ptr @lp_str_concat(ptr %t367, ptr @.str16667) store i32 0, ptr @lp_site %t369 = load ptr, ptr %t345 store i32 9341, ptr @lp_site %t370 = call ptr @lp_str_concat(ptr %t368, ptr %t369) store i32 0, ptr @lp_site call void @lp_free(ptr %t368) store i32 9342, ptr @lp_site %t371 = call ptr @lp_str_concat(ptr %t370, ptr @.str16668) store i32 0, ptr @lp_site call void @lp_free(ptr %t370) call void @fn_ck_err(ptr @.str16666, ptr %t366, ptr %t371) br label %ifend78 ifend78: br label %ret ret: ret void } define void @fn_ck_bind_param(ptr %arg_p) { entry: %t0 = alloca ptr %t7 = alloca i32 %t40 = alloca i32 store ptr %arg_p, ptr %t0 %t1 = load ptr, ptr %t0 %t2 = getelementptr inbounds %Cmp_Node, ptr %t1, i32 0, i32 1 %t3 = load ptr, ptr %t2 %t4 = load ptr, ptr %t0 %t5 = getelementptr inbounds %Cmp_Node, ptr %t4, i32 0, i32 3 %t6 = load ptr, ptr %t5 call void @fn_ck_bind(ptr %t3, ptr %t6) %t8 = load ptr, ptr %t0 %t9 = getelementptr inbounds %Cmp_Node, ptr %t8, i32 0, i32 12 %t10 = load i32, ptr %t9 %t11 = icmp eq i32 %t10, 1 %t12 = zext i1 %t11 to i32 %t13 = icmp ne i32 %t12, 0 %t14 = zext i1 %t13 to i32 store i32 %t14, ptr %t7 br i1 %t13, label %sc0, label %scend1 sc0: %t15 = load ptr, ptr %t0 %t16 = getelementptr inbounds %Cmp_Node, ptr %t15, i32 0, i32 3 %t17 = load ptr, ptr %t16 %t18 = call i32 @fn_is_state_ty(ptr %t17) %t19 = icmp eq i32 %t18, 0 %t20 = zext i1 %t19 to i32 %t21 = icmp ne i32 %t20, 0 %t22 = zext i1 %t21 to i32 store i32 %t22, ptr %t7 br label %scend1 scend1: %t23 = load i32, ptr %t7 %t24 = icmp ne i32 %t23, 0 br i1 %t24, label %then2, label %ifend4 then2: %t25 = load ptr, ptr %t0 %t26 = load ptr, ptr %t0 %t27 = getelementptr inbounds %Cmp_Node, ptr %t26, i32 0, i32 1 %t28 = load ptr, ptr %t27 store i32 9343, ptr @lp_site %t29 = call ptr @lp_str_concat(ptr %t28, ptr @.str16670) store i32 0, ptr @lp_site %t30 = load ptr, ptr %t0 %t31 = getelementptr inbounds %Cmp_Node, ptr %t30, i32 0, i32 3 %t32 = load ptr, ptr %t31 store i32 9344, ptr @lp_site %t33 = call ptr @lp_str_concat(ptr %t29, ptr %t32) store i32 0, ptr @lp_site call void @lp_free(ptr %t29) store i32 9345, ptr @lp_site %t34 = call ptr @lp_str_concat(ptr %t33, ptr @.str16672) store i32 0, ptr @lp_site call void @lp_free(ptr %t33) %t35 = load ptr, ptr %t0 %t36 = getelementptr inbounds %Cmp_Node, ptr %t35, i32 0, i32 3 %t37 = load ptr, ptr %t36 store i32 9346, ptr @lp_site %t38 = call ptr @lp_str_concat(ptr %t34, ptr %t37) store i32 0, ptr @lp_site call void @lp_free(ptr %t34) store i32 9347, ptr @lp_site %t39 = call ptr @lp_str_concat(ptr %t38, ptr @.str16673) store i32 0, ptr @lp_site call void @lp_free(ptr %t38) call void @fn_ck_err(ptr @.str16669, ptr %t25, ptr %t39) br label %ifend4 ifend4: %t41 = load ptr, ptr %t0 %t42 = getelementptr inbounds %Cmp_Node, ptr %t41, i32 0, i32 3 %t43 = load ptr, ptr %t42 %t44 = call i32 @fn_is_state_ty(ptr %t43) %t45 = icmp ne i32 %t44, 0 %t46 = zext i1 %t45 to i32 store i32 %t46, ptr %t40 br i1 %t45, label %sc5, label %scend6 sc5: %t47 = load ptr, ptr %t0 %t48 = getelementptr inbounds %Cmp_Node, ptr %t47, i32 0, i32 12 %t49 = load i32, ptr %t48 %t50 = icmp eq i32 %t49, 0 %t51 = zext i1 %t50 to i32 %t52 = icmp ne i32 %t51, 0 %t53 = zext i1 %t52 to i32 store i32 %t53, ptr %t40 br label %scend6 scend6: %t54 = load i32, ptr %t40 call void @fn_ck_set_ro(i32 %t54) br label %ret ret: ret void } define void @fn_ck_state_args(ptr %arg_e, ptr %arg_f) { entry: %t0 = alloca ptr %t1 = alloca ptr %t2 = alloca i32 %t3 = alloca i32 %t25 = alloca ptr %t32 = alloca i32 %t33 = alloca i32 %t74 = alloca ptr %t85 = alloca i32 %t86 = alloca i32 store ptr %arg_e, ptr %t0 store ptr %arg_f, 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 %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 1 %t9 = load i32, ptr %t8 %t10 = icmp slt i32 %t4, %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 %t1 %t14 = getelementptr inbounds %Cmp_Node, ptr %t13, i32 0, i32 7 %t15 = load ptr, ptr %t14 %t16 = load i32, ptr %t3 %t17 = getelementptr inbounds %LSlice, ptr %t15, i32 0, i32 0 %t18 = load ptr, ptr %t17 %t19 = getelementptr inbounds %LSlice, ptr %t15, i32 0, i32 1 %t20 = load i32, ptr %t19 %t21 = icmp ult i32 %t16, %t20 br i1 %t21, label %ixok3, label %ixbad4 ixbad4: store i32 9348, ptr @lp_site %t22 = call ptr @lp_win_stdio(i32 2) store i32 0, ptr @lp_site call i32 (ptr, ptr, ...) @fprintf(ptr %t22, ptr @.fmt_bounds, ptr @.str16674, i32 %t16, i32 %t20) call void @exit(i32 1) unreachable ixok3: %t23 = getelementptr inbounds ptr, ptr %t18, i32 %t16 %t24 = load ptr, ptr %t23 store ptr %t24, ptr %t25 %t26 = load ptr, ptr %t25 %t27 = getelementptr inbounds %Cmp_Node, ptr %t26, i32 0, i32 0 %t28 = load i32, ptr %t27 %t29 = icmp eq i32 %t28, 5 %t30 = zext i1 %t29 to i32 %t31 = icmp ne i32 %t30, 0 br i1 %t31, label %then5, label %ifend7 then5: %t34 = load ptr, ptr %t25 %t35 = getelementptr inbounds %Cmp_Node, ptr %t34, i32 0, i32 12 %t36 = load i32, ptr %t35 %t37 = icmp eq i32 %t36, 1 %t38 = zext i1 %t37 to i32 %t39 = icmp ne i32 %t38, 0 %t40 = zext i1 %t39 to i32 store i32 %t40, ptr %t33 br i1 %t39, label %sc8, label %scend9 sc8: %t41 = load ptr, ptr %t25 %t42 = getelementptr inbounds %Cmp_Node, ptr %t41, i32 0, i32 3 %t43 = load ptr, ptr %t42 %t44 = call i32 @fn_is_state_ty(ptr %t43) %t45 = icmp ne i32 %t44, 0 %t46 = zext i1 %t45 to i32 store i32 %t46, ptr %t33 br label %scend9 scend9: %t47 = load i32, ptr %t33 %t48 = icmp ne i32 %t47, 0 %t49 = zext i1 %t48 to i32 store i32 %t49, ptr %t32 br i1 %t48, label %sc10, label %scend11 sc10: %t50 = load i32, ptr %t2 %t51 = load ptr, ptr %t0 %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 1 %t55 = load i32, ptr %t54 %t56 = icmp slt i32 %t50, %t55 %t57 = zext i1 %t56 to i32 %t58 = icmp ne i32 %t57, 0 %t59 = zext i1 %t58 to i32 store i32 %t59, ptr %t32 br label %scend11 scend11: %t60 = load i32, ptr %t32 %t61 = icmp ne i32 %t60, 0 br i1 %t61, label %then12, label %ifend14 then12: %t62 = load ptr, ptr %t0 %t63 = getelementptr inbounds %Cmp_Node, ptr %t62, i32 0, i32 7 %t64 = load ptr, ptr %t63 %t65 = load i32, ptr %t2 %t66 = getelementptr inbounds %LSlice, ptr %t64, i32 0, i32 0 %t67 = load ptr, ptr %t66 %t68 = getelementptr inbounds %LSlice, ptr %t64, i32 0, i32 1 %t69 = load i32, ptr %t68 %t70 = icmp ult i32 %t65, %t69 br i1 %t70, label %ixok15, label %ixbad16 ixbad16: store i32 9349, ptr @lp_site %t71 = call ptr @lp_win_stdio(i32 2) store i32 0, ptr @lp_site call i32 (ptr, ptr, ...) @fprintf(ptr %t71, ptr @.fmt_bounds, ptr @.str16676, i32 %t65, i32 %t69) call void @exit(i32 1) unreachable ixok15: %t72 = getelementptr inbounds ptr, ptr %t67, i32 %t65 %t73 = load ptr, ptr %t72 store ptr %t73, ptr %t74 %t75 = load ptr, ptr %t74 %t76 = getelementptr inbounds %Cmp_Node, ptr %t75, i32 0, i32 0 %t77 = load i32, ptr %t76 %t78 = icmp eq i32 %t77, 33 %t79 = zext i1 %t78 to i32 %t80 = icmp ne i32 %t79, 0 br i1 %t80, label %then17, label %ifend19 then17: %t81 = load ptr, ptr %t74 %t82 = getelementptr inbounds %Cmp_Node, ptr %t81, i32 0, i32 1 %t83 = load ptr, ptr %t82 %t84 = call i32 @fn_ck_local(ptr %t83) store i32 %t84, ptr %t85 %t87 = load i32, ptr %t85 %t88 = icmp sge i32 %t87, 0 %t89 = zext i1 %t88 to i32 %t90 = icmp ne i32 %t89, 0 %t91 = zext i1 %t90 to i32 store i32 %t91, ptr %t86 br i1 %t90, label %sc20, label %scend21 sc20: %t92 = load i32, ptr %t85 %t93 = call i32 @fn_ck_is_ro(i32 %t92) %t94 = icmp ne i32 %t93, 0 %t95 = zext i1 %t94 to i32 store i32 %t95, ptr %t86 br label %scend21 scend21: %t96 = load i32, ptr %t86 %t97 = icmp ne i32 %t96, 0 br i1 %t97, label %then22, label %ifend24 then22: %t98 = load ptr, ptr %t74 %t99 = load ptr, ptr %t1 %t100 = getelementptr inbounds %Cmp_Node, ptr %t99, i32 0, i32 1 %t101 = load ptr, ptr %t100 store i32 9350, ptr @lp_site %t102 = call ptr @lp_str_concat(ptr %t101, ptr @.str16678) store i32 0, ptr @lp_site %t103 = load ptr, ptr %t25 %t104 = getelementptr inbounds %Cmp_Node, ptr %t103, i32 0, i32 3 %t105 = load ptr, ptr %t104 store i32 9351, ptr @lp_site %t106 = call ptr @lp_str_concat(ptr %t102, ptr %t105) store i32 0, ptr @lp_site call void @lp_free(ptr %t102) store i32 9352, ptr @lp_site %t107 = call ptr @lp_str_concat(ptr %t106, ptr @.str16679) store i32 0, ptr @lp_site call void @lp_free(ptr %t106) %t108 = load ptr, ptr %t25 %t109 = getelementptr inbounds %Cmp_Node, ptr %t108, i32 0, i32 1 %t110 = load ptr, ptr %t109 store i32 9353, ptr @lp_site %t111 = call ptr @lp_str_concat(ptr %t107, ptr %t110) store i32 0, ptr @lp_site call void @lp_free(ptr %t107) store i32 9354, ptr @lp_site %t112 = call ptr @lp_str_concat(ptr %t111, ptr @.str16680) store i32 0, ptr @lp_site call void @lp_free(ptr %t111) %t113 = load ptr, ptr %t25 %t114 = getelementptr inbounds %Cmp_Node, ptr %t113, i32 0, i32 3 %t115 = load ptr, ptr %t114 store i32 9355, ptr @lp_site %t116 = call ptr @lp_str_concat(ptr %t112, ptr %t115) store i32 0, ptr @lp_site call void @lp_free(ptr %t112) store i32 9356, ptr @lp_site %t117 = call ptr @lp_str_concat(ptr %t116, ptr @.str16681) store i32 0, ptr @lp_site call void @lp_free(ptr %t116) %t118 = load ptr, ptr %t74 %t119 = getelementptr inbounds %Cmp_Node, ptr %t118, i32 0, i32 1 %t120 = load ptr, ptr %t119 store i32 9357, ptr @lp_site %t121 = call ptr @lp_str_concat(ptr %t117, ptr %t120) store i32 0, ptr @lp_site call void @lp_free(ptr %t117) store i32 9358, ptr @lp_site %t122 = call ptr @lp_str_concat(ptr %t121, ptr @.str16682) store i32 0, ptr @lp_site call void @lp_free(ptr %t121) call void @fn_ck_err(ptr @.str16677, ptr %t98, ptr %t122) br label %ifend24 ifend24: br label %ifend19 ifend19: br label %ifend14 ifend14: %t123 = load i32, ptr %t2 %t124 = add i32 %t123, 1 store i32 %t124, ptr %t2 br label %ifend7 ifend7: %t125 = load i32, ptr %t3 %t126 = add i32 %t125, 1 store i32 %t126, ptr %t3 br label %wcond0 wend2: br label %ret ret: ret void } define void @fn_ck_extern_writes(ptr %arg_e) { entry: %t0 = alloca ptr %t1 = alloca i32 %t23 = alloca ptr %t35 = alloca ptr %t44 = alloca i32 %t45 = alloca i32 %t46 = alloca i32 %t47 = 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 = load i32, ptr %t1 %t15 = getelementptr inbounds %LSlice, ptr %t13, i32 0, i32 0 %t16 = load ptr, ptr %t15 %t17 = getelementptr inbounds %LSlice, ptr %t13, i32 0, i32 1 %t18 = load i32, ptr %t17 %t19 = icmp ult i32 %t14, %t18 br i1 %t19, label %ixok3, label %ixbad4 ixbad4: store i32 9359, ptr @lp_site %t20 = call ptr @lp_win_stdio(i32 2) store i32 0, ptr @lp_site call i32 (ptr, ptr, ...) @fprintf(ptr %t20, ptr @.fmt_bounds, ptr @.str16683, i32 %t14, i32 %t18) call void @exit(i32 1) unreachable ixok3: %t21 = getelementptr inbounds ptr, ptr %t16, i32 %t14 %t22 = load ptr, ptr %t21 store ptr %t22, ptr %t23 %t24 = load ptr, ptr %t23 %t25 = getelementptr inbounds %Cmp_Node, ptr %t24, i32 0, i32 0 %t26 = load i32, ptr %t25 %t27 = icmp eq i32 %t26, 42 %t28 = zext i1 %t27 to i32 %t29 = icmp ne i32 %t28, 0 br i1 %t29, label %then5, label %ifend7 then5: %t30 = load ptr, ptr %t23 %t31 = getelementptr inbounds %Cmp_Node, ptr %t30, i32 0, i32 4 %t32 = load ptr, ptr %t31 store ptr %t32, ptr %t23 br label %ifend7 ifend7: %t33 = load ptr, ptr %t23 %t34 = call ptr @fn_ck_chain_root(ptr %t33) store ptr %t34, ptr %t35 %t36 = load ptr, ptr %t35 %t37 = icmp ne ptr %t36, null %t38 = zext i1 %t37 to i32 %t39 = icmp ne i32 %t38, 0 br i1 %t39, label %then8, label %ifend10 then8: %t40 = load ptr, ptr %t35 %t41 = getelementptr inbounds %Cmp_Node, ptr %t40, i32 0, i32 1 %t42 = load ptr, ptr %t41 %t43 = call i32 @fn_ck_local(ptr %t42) store i32 %t43, ptr %t44 %t48 = load i32, ptr %t44 %t49 = icmp sge i32 %t48, 0 %t50 = zext i1 %t49 to i32 %t51 = icmp ne i32 %t50, 0 %t52 = zext i1 %t51 to i32 store i32 %t52, ptr %t47 br i1 %t51, label %sc11, label %scend12 sc11: %t53 = load i32, ptr %t44 %t54 = load ptr, ptr @g_ck_from_st %t55 = getelementptr inbounds %LSlice, ptr %t54, i32 0, i32 1 %t56 = load i32, ptr %t55 %t57 = icmp slt i32 %t53, %t56 %t58 = zext i1 %t57 to i32 %t59 = icmp ne i32 %t58, 0 %t60 = zext i1 %t59 to i32 store i32 %t60, ptr %t47 br label %scend12 scend12: %t61 = load i32, ptr %t47 %t62 = icmp ne i32 %t61, 0 %t63 = zext i1 %t62 to i32 store i32 %t63, ptr %t46 br i1 %t62, label %sc13, label %scend14 sc13: %t64 = load ptr, ptr @g_ck_from_st %t65 = load i32, ptr %t44 %t66 = getelementptr inbounds %LSlice, ptr %t64, i32 0, i32 0 %t67 = load ptr, ptr %t66 %t68 = getelementptr inbounds %LSlice, ptr %t64, i32 0, i32 1 %t69 = load i32, ptr %t68 %t70 = icmp ult i32 %t65, %t69 br i1 %t70, label %ixok15, label %ixbad16 ixbad16: store i32 9360, ptr @lp_site %t71 = call ptr @lp_win_stdio(i32 2) store i32 0, ptr @lp_site call i32 (ptr, ptr, ...) @fprintf(ptr %t71, ptr @.fmt_bounds, ptr @.str16685, i32 %t65, i32 %t69) call void @exit(i32 1) unreachable ixok15: %t72 = getelementptr inbounds ptr, ptr %t67, i32 %t65 %t73 = load ptr, ptr %t72 %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 %t46 br label %scend14 scend14: %t78 = load i32, ptr %t46 %t79 = icmp ne i32 %t78, 0 %t80 = zext i1 %t79 to i32 store i32 %t80, ptr %t45 br i1 %t79, label %sc17, label %scend18 sc17: %t81 = load i32, ptr %t44 %t82 = call i32 @fn_ck_is_ro(i32 %t81) %t83 = icmp eq i32 %t82, 0 %t84 = zext i1 %t83 to i32 %t85 = icmp ne i32 %t84, 0 %t86 = zext i1 %t85 to i32 store i32 %t86, ptr %t45 br label %scend18 scend18: %t87 = load i32, ptr %t45 %t88 = icmp ne i32 %t87, 0 br i1 %t88, label %then19, label %ifend21 then19: %t89 = load ptr, ptr @g_ck_from_st %t90 = load i32, ptr %t44 %t91 = getelementptr inbounds %LSlice, ptr %t89, i32 0, i32 0 %t92 = load ptr, ptr %t91 %t93 = getelementptr inbounds %LSlice, ptr %t89, i32 0, i32 1 %t94 = load i32, ptr %t93 %t95 = icmp ult i32 %t90, %t94 br i1 %t95, label %ixok22, label %ixbad23 ixbad23: store i32 9361, ptr @lp_site %t96 = call ptr @lp_win_stdio(i32 2) store i32 0, ptr @lp_site call i32 (ptr, ptr, ...) @fprintf(ptr %t96, ptr @.fmt_bounds, ptr @.str16686, i32 %t90, i32 %t94) call void @exit(i32 1) unreachable ixok22: %t97 = getelementptr inbounds ptr, ptr %t92, i32 %t90 %t98 = load ptr, ptr %t97 call void @fn_mg_local_write(ptr %t98) br label %ifend21 ifend21: br label %ifend10 ifend10: %t99 = load i32, ptr %t1 %t100 = add i32 %t99, 1 store i32 %t100, ptr %t1 br label %wcond0 wend2: br label %ret ret: ret void } define i32 @fn_ck_hash(ptr %arg_s) { entry: %retval = alloca i32 %t0 = alloca ptr %t1 = alloca i32 %t2 = alloca i32 %t6 = alloca i32 store ptr %arg_s, ptr %t0 store i32 5381, ptr %t1 store i32 0, ptr %t2 %t3 = load ptr, ptr %t0 %t4 = call i64 @strlen(ptr %t3) %t5 = trunc i64 %t4 to i32 store i32 %t5, ptr %t6 br label %wcond0 wcond0: %t7 = load i32, ptr %t2 %t8 = load i32, ptr %t6 %t9 = icmp slt i32 %t7, %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 %t1 %t13 = mul i32 %t12, 33 %t14 = load ptr, ptr %t0 %t15 = load i32, ptr %t2 %t16 = getelementptr inbounds i8, ptr %t14, i32 %t15 %t17 = load i8, ptr %t16 %t18 = zext i8 %t17 to i32 %t19 = add i32 %t13, %t18 %t20 = srem i32 %t19, 1000003 store i32 %t20, ptr %t1 %t21 = load i32, ptr %t2 %t22 = add i32 %t21, 1 store i32 %t22, ptr %t2 br label %wcond0 wend2: %t23 = load i32, ptr %t1 %t24 = srem i32 %t23, 65536 store i32 %t24, ptr %retval br label %ret ret: %t25 = load i32, ptr %retval ret i32 %t25 } define void @fn_ck_tab_init(ptr %arg_k, ptr %arg_v) { entry: %t0 = alloca ptr %t1 = alloca ptr %t2 = alloca i32 store ptr %arg_k, ptr %t0 store ptr %arg_v, ptr %t1 store i32 0, ptr %t2 br label %wcond0 wcond0: %t3 = load i32, ptr %t2 %t4 = icmp slt i32 %t3, 65536 %t5 = zext i1 %t4 to i32 %t6 = icmp ne i32 %t5, 0 br i1 %t6, label %wbody1, label %wend2 wbody1: %t7 = load ptr, ptr %t0 %t8 = getelementptr inbounds %LSlice, ptr %t7, i32 0, i32 1 %t9 = getelementptr inbounds %LSlice, ptr %t7, i32 0, i32 2 %t10 = getelementptr inbounds %LSlice, ptr %t7, i32 0, i32 0 %t11 = load i32, ptr %t8 %t12 = load i32, ptr %t9 %t13 = icmp sge i32 %t11, %t12 br i1 %t13, label %grow3, label %put4 grow3: %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 store i32 9362, ptr @lp_site %t22 = call ptr @lp_realloc(ptr %t21, i64 %t20) store i32 0, ptr @lp_site store ptr %t22, ptr %t10 store i32 %t16, ptr %t9 br label %put4 put4: %t23 = load ptr, ptr %t10 %t24 = getelementptr inbounds ptr, ptr %t23, i32 %t11 store ptr null, ptr %t24 %t25 = add i32 %t11, 1 store i32 %t25, ptr %t8 %t26 = load ptr, ptr %t1 %t27 = getelementptr inbounds %LSlice, ptr %t26, i32 0, i32 1 %t28 = getelementptr inbounds %LSlice, ptr %t26, i32 0, i32 2 %t29 = getelementptr inbounds %LSlice, ptr %t26, i32 0, i32 0 %t30 = load i32, ptr %t27 %t31 = load i32, ptr %t28 %t32 = icmp sge i32 %t30, %t31 br i1 %t32, label %grow5, label %put6 grow5: %t33 = mul i32 %t31, 2 %t34 = icmp eq i32 %t31, 0 %t35 = select i1 %t34, i32 8, i32 %t33 %t36 = getelementptr ptr, ptr null, i32 1 %t37 = ptrtoint ptr %t36 to i64 %t38 = zext i32 %t35 to i64 %t39 = mul i64 %t38, %t37 %t40 = load ptr, ptr %t29 store i32 9363, ptr @lp_site %t41 = call ptr @lp_realloc(ptr %t40, i64 %t39) store i32 0, ptr @lp_site store ptr %t41, ptr %t29 store i32 %t35, ptr %t28 br label %put6 put6: %t42 = load ptr, ptr %t29 %t43 = getelementptr inbounds ptr, ptr %t42, i32 %t30 store ptr null, ptr %t43 %t44 = add i32 %t30, 1 store i32 %t44, ptr %t27 %t45 = load i32, ptr %t2 %t46 = add i32 %t45, 1 store i32 %t46, ptr %t2 br label %wcond0 wend2: br label %ret ret: ret void } define void @fn_ck_tab_put(ptr %arg_k, ptr %arg_v, ptr %arg_name, ptr %arg_d) { entry: %t0 = alloca ptr %t1 = alloca ptr %t2 = alloca ptr %t3 = alloca ptr %t6 = alloca i32 store ptr %arg_k, ptr %t0 store ptr %arg_v, ptr %t1 store ptr %arg_name, ptr %t2 store ptr %arg_d, ptr %t3 %t4 = load ptr, ptr %t2 %t5 = call i32 @fn_ck_hash(ptr %t4) store i32 %t5, ptr %t6 br label %wcond0 wcond0: %t7 = load ptr, ptr %t0 %t8 = load i32, ptr %t6 %t9 = getelementptr inbounds %LSlice, ptr %t7, i32 0, i32 0 %t10 = load ptr, ptr %t9 %t11 = getelementptr inbounds %LSlice, ptr %t7, i32 0, i32 1 %t12 = load i32, ptr %t11 %t13 = icmp ult i32 %t8, %t12 br i1 %t13, label %ixok3, label %ixbad4 ixbad4: store i32 9364, ptr @lp_site %t14 = call ptr @lp_win_stdio(i32 2) store i32 0, ptr @lp_site call i32 (ptr, ptr, ...) @fprintf(ptr %t14, ptr @.fmt_bounds, ptr @.str16688, i32 %t8, i32 %t12) call void @exit(i32 1) unreachable ixok3: %t15 = getelementptr inbounds ptr, ptr %t10, i32 %t8 %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 %wbody1, label %wend2 wbody1: %t20 = load ptr, ptr %t0 %t21 = load i32, ptr %t6 %t22 = getelementptr inbounds %LSlice, ptr %t20, i32 0, i32 0 %t23 = load ptr, ptr %t22 %t24 = getelementptr inbounds %LSlice, ptr %t20, i32 0, i32 1 %t25 = load i32, ptr %t24 %t26 = icmp ult i32 %t21, %t25 br i1 %t26, label %ixok5, label %ixbad6 ixbad6: store i32 9365, ptr @lp_site %t27 = call ptr @lp_win_stdio(i32 2) store i32 0, ptr @lp_site call i32 (ptr, ptr, ...) @fprintf(ptr %t27, ptr @.fmt_bounds, ptr @.str16690, i32 %t21, i32 %t25) call void @exit(i32 1) unreachable ixok5: %t28 = getelementptr inbounds ptr, ptr %t23, i32 %t21 %t29 = load ptr, ptr %t28 %t30 = load ptr, ptr %t2 %t31 = call i32 @lp_str_eq(ptr %t29, ptr %t30) %t32 = icmp ne i32 %t31, 0 br i1 %t32, label %then7, label %ifend9 then7: br label %ret ifend9: %t33 = load i32, ptr %t6 %t34 = add i32 %t33, 1 %t35 = srem i32 %t34, 65536 store i32 %t35, ptr %t6 br label %wcond0 wend2: %t36 = load ptr, ptr %t0 %t37 = load i32, ptr %t6 %t38 = getelementptr inbounds %LSlice, ptr %t36, i32 0, i32 0 %t39 = load ptr, ptr %t38 %t40 = getelementptr inbounds %LSlice, ptr %t36, i32 0, i32 1 %t41 = load i32, ptr %t40 %t42 = icmp ult i32 %t37, %t41 br i1 %t42, label %ixok10, label %ixbad11 ixbad11: store i32 9366, ptr @lp_site %t43 = call ptr @lp_win_stdio(i32 2) store i32 0, ptr @lp_site call i32 (ptr, ptr, ...) @fprintf(ptr %t43, ptr @.fmt_bounds, ptr @.str16691, i32 %t37, i32 %t41) call void @exit(i32 1) unreachable ixok10: %t44 = getelementptr inbounds ptr, ptr %t39, i32 %t37 %t45 = load ptr, ptr %t2 store ptr %t45, ptr %t44 %t46 = load ptr, ptr %t1 %t47 = load i32, ptr %t6 %t48 = getelementptr inbounds %LSlice, ptr %t46, i32 0, i32 0 %t49 = load ptr, ptr %t48 %t50 = getelementptr inbounds %LSlice, ptr %t46, i32 0, i32 1 %t51 = load i32, ptr %t50 %t52 = icmp ult i32 %t47, %t51 br i1 %t52, label %ixok12, label %ixbad13 ixbad13: store i32 9367, ptr @lp_site %t53 = call ptr @lp_win_stdio(i32 2) store i32 0, ptr @lp_site call i32 (ptr, ptr, ...) @fprintf(ptr %t53, ptr @.fmt_bounds, ptr @.str16692, i32 %t47, i32 %t51) call void @exit(i32 1) unreachable ixok12: %t54 = getelementptr inbounds ptr, ptr %t49, i32 %t47 %t55 = load ptr, ptr %t3 store ptr %t55, ptr %t54 br label %ret ret: ret void } define ptr @fn_ck_tab_get(ptr %arg_k, ptr %arg_v, ptr %arg_name) { entry: %retval = alloca ptr %t0 = alloca ptr %t1 = alloca ptr %t2 = alloca ptr %t9 = alloca i32 store ptr %arg_k, ptr %t0 store ptr %arg_v, ptr %t1 store ptr %arg_name, 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 null, ptr %retval br label %ret ifend2: %t7 = load ptr, ptr %t2 %t8 = call i32 @fn_ck_hash(ptr %t7) store i32 %t8, ptr %t9 br label %wcond3 wcond3: %t10 = load ptr, ptr %t0 %t11 = load i32, ptr %t9 %t12 = getelementptr inbounds %LSlice, ptr %t10, i32 0, i32 0 %t13 = load ptr, ptr %t12 %t14 = getelementptr inbounds %LSlice, ptr %t10, i32 0, i32 1 %t15 = load i32, ptr %t14 %t16 = icmp ult i32 %t11, %t15 br i1 %t16, label %ixok6, label %ixbad7 ixbad7: store i32 9368, ptr @lp_site %t17 = call ptr @lp_win_stdio(i32 2) store i32 0, ptr @lp_site call i32 (ptr, ptr, ...) @fprintf(ptr %t17, ptr @.fmt_bounds, ptr @.str16693, i32 %t11, i32 %t15) call void @exit(i32 1) unreachable ixok6: %t18 = getelementptr inbounds ptr, ptr %t13, i32 %t11 %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 %wbody4, label %wend5 wbody4: %t23 = load ptr, ptr %t0 %t24 = load i32, ptr %t9 %t25 = getelementptr inbounds %LSlice, ptr %t23, i32 0, i32 0 %t26 = load ptr, ptr %t25 %t27 = getelementptr inbounds %LSlice, ptr %t23, i32 0, i32 1 %t28 = load i32, ptr %t27 %t29 = icmp ult i32 %t24, %t28 br i1 %t29, label %ixok8, label %ixbad9 ixbad9: store i32 9369, ptr @lp_site %t30 = call ptr @lp_win_stdio(i32 2) store i32 0, ptr @lp_site call i32 (ptr, ptr, ...) @fprintf(ptr %t30, ptr @.fmt_bounds, ptr @.str16695, i32 %t24, i32 %t28) call void @exit(i32 1) unreachable ixok8: %t31 = getelementptr inbounds ptr, ptr %t26, i32 %t24 %t32 = load ptr, ptr %t31 %t33 = load ptr, ptr %t2 %t34 = call i32 @lp_str_eq(ptr %t32, ptr %t33) %t35 = icmp ne i32 %t34, 0 br i1 %t35, label %then10, label %ifend12 then10: %t36 = load ptr, ptr %t1 %t37 = load i32, ptr %t9 %t38 = getelementptr inbounds %LSlice, ptr %t36, i32 0, i32 0 %t39 = load ptr, ptr %t38 %t40 = getelementptr inbounds %LSlice, ptr %t36, i32 0, i32 1 %t41 = load i32, ptr %t40 %t42 = icmp ult i32 %t37, %t41 br i1 %t42, label %ixok13, label %ixbad14 ixbad14: store i32 9370, ptr @lp_site %t43 = call ptr @lp_win_stdio(i32 2) store i32 0, ptr @lp_site call i32 (ptr, ptr, ...) @fprintf(ptr %t43, ptr @.fmt_bounds, ptr @.str16696, i32 %t37, i32 %t41) call void @exit(i32 1) unreachable ixok13: %t44 = getelementptr inbounds ptr, ptr %t39, i32 %t37 %t45 = load ptr, ptr %t44 store ptr %t45, ptr %retval br label %ret ifend12: %t46 = load i32, ptr %t9 %t47 = add i32 %t46, 1 %t48 = srem i32 %t47, 65536 store i32 %t48, ptr %t9 br label %wcond3 wend5: store ptr null, ptr %retval br label %ret ret: %t49 = load ptr, ptr %retval ret ptr %t49 } define void @fn_ck_index() { entry: %t10 = alloca i32 %t28 = alloca ptr %t41 = alloca i32 %t0 = load ptr, ptr @g_ck_fn_k %t1 = load ptr, ptr @g_ck_fn_v call void @fn_ck_tab_init(ptr %t0, ptr %t1) %t2 = load ptr, ptr @g_ck_gl_k %t3 = load ptr, ptr @g_ck_gl_v call void @fn_ck_tab_init(ptr %t2, ptr %t3) %t4 = load ptr, ptr @g_ck_rec_k %t5 = load ptr, ptr @g_ck_rec_v call void @fn_ck_tab_init(ptr %t4, ptr %t5) %t6 = load ptr, ptr @g_ck_en_k %t7 = load ptr, ptr @g_ck_en_v call void @fn_ck_tab_init(ptr %t6, ptr %t7) %t8 = load ptr, ptr @g_ck_ex_k %t9 = load ptr, ptr @g_ck_ex_v call void @fn_ck_tab_init(ptr %t8, ptr %t9) store i32 0, ptr %t10 br label %wcond0 wcond0: %t11 = load i32, ptr %t10 %t12 = load ptr, ptr @g_prog %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_prog %t19 = load i32, ptr %t10 %t20 = getelementptr inbounds %LSlice, ptr %t18, i32 0, i32 0 %t21 = load ptr, ptr %t20 %t22 = getelementptr inbounds %LSlice, ptr %t18, i32 0, i32 1 %t23 = load i32, ptr %t22 %t24 = icmp ult i32 %t19, %t23 br i1 %t24, label %ixok3, label %ixbad4 ixbad4: store i32 9371, ptr @lp_site %t25 = call ptr @lp_win_stdio(i32 2) store i32 0, ptr @lp_site call i32 (ptr, ptr, ...) @fprintf(ptr %t25, ptr @.fmt_bounds, ptr @.str16697, i32 %t19, i32 %t23) call void @exit(i32 1) unreachable ixok3: %t26 = getelementptr inbounds ptr, ptr %t21, i32 %t19 %t27 = load ptr, ptr %t26 store ptr %t27, ptr %t28 %t29 = load ptr, ptr %t28 %t30 = getelementptr inbounds %Cmp_Node, ptr %t29, i32 0, i32 0 %t31 = load i32, ptr %t30 %t32 = icmp eq i32 %t31, 4 %t33 = zext i1 %t32 to i32 %t34 = icmp ne i32 %t33, 0 br i1 %t34, label %then5, label %ifend7 then5: %t35 = load ptr, ptr @g_ck_fn_k %t36 = load ptr, ptr @g_ck_fn_v %t37 = load ptr, ptr %t28 %t38 = getelementptr inbounds %Cmp_Node, ptr %t37, i32 0, i32 1 %t39 = load ptr, ptr %t38 %t40 = load ptr, ptr %t28 call void @fn_ck_tab_put(ptr %t35, ptr %t36, ptr %t39, ptr %t40) br label %ifend7 ifend7: %t42 = load ptr, ptr %t28 %t43 = getelementptr inbounds %Cmp_Node, ptr %t42, i32 0, i32 0 %t44 = load i32, ptr %t43 %t45 = icmp eq i32 %t44, 2 %t46 = zext i1 %t45 to i32 %t47 = icmp ne i32 %t46, 0 %t48 = zext i1 %t47 to i32 store i32 %t48, ptr %t41 br i1 %t47, label %scend9, label %sc8 sc8: %t49 = load ptr, ptr %t28 %t50 = getelementptr inbounds %Cmp_Node, ptr %t49, i32 0, i32 0 %t51 = load i32, ptr %t50 %t52 = icmp eq i32 %t51, 3 %t53 = zext i1 %t52 to i32 %t54 = icmp ne i32 %t53, 0 %t55 = zext i1 %t54 to i32 store i32 %t55, ptr %t41 br label %scend9 scend9: %t56 = load i32, ptr %t41 %t57 = icmp ne i32 %t56, 0 br i1 %t57, label %then10, label %ifend12 then10: %t58 = load ptr, ptr @g_ck_gl_k %t59 = load ptr, ptr @g_ck_gl_v %t60 = load ptr, ptr %t28 %t61 = getelementptr inbounds %Cmp_Node, ptr %t60, i32 0, i32 1 %t62 = load ptr, ptr %t61 %t63 = load ptr, ptr %t28 call void @fn_ck_tab_put(ptr %t58, ptr %t59, ptr %t62, ptr %t63) br label %ifend12 ifend12: %t64 = load ptr, ptr %t28 %t65 = getelementptr inbounds %Cmp_Node, ptr %t64, i32 0, i32 0 %t66 = load i32, ptr %t65 %t67 = icmp eq i32 %t66, 8 %t68 = zext i1 %t67 to i32 %t69 = icmp ne i32 %t68, 0 br i1 %t69, label %then13, label %ifend15 then13: %t70 = load ptr, ptr @g_ck_rec_k %t71 = load ptr, ptr @g_ck_rec_v %t72 = load ptr, ptr %t28 %t73 = getelementptr inbounds %Cmp_Node, ptr %t72, i32 0, i32 1 %t74 = load ptr, ptr %t73 %t75 = load ptr, ptr %t28 call void @fn_ck_tab_put(ptr %t70, ptr %t71, ptr %t74, ptr %t75) br label %ifend15 ifend15: %t76 = load ptr, ptr %t28 %t77 = getelementptr inbounds %Cmp_Node, ptr %t76, i32 0, i32 0 %t78 = load i32, ptr %t77 %t79 = icmp eq i32 %t78, 27 %t80 = zext i1 %t79 to i32 %t81 = icmp ne i32 %t80, 0 br i1 %t81, label %then16, label %ifend18 then16: %t82 = load ptr, ptr @g_ck_en_k %t83 = load ptr, ptr @g_ck_en_v %t84 = load ptr, ptr %t28 %t85 = getelementptr inbounds %Cmp_Node, ptr %t84, i32 0, i32 1 %t86 = load ptr, ptr %t85 %t87 = load ptr, ptr %t28 call void @fn_ck_tab_put(ptr %t82, ptr %t83, ptr %t86, ptr %t87) br label %ifend18 ifend18: %t88 = load ptr, ptr %t28 %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 %then19, label %ifend21 then19: %t94 = load ptr, ptr @g_ck_ex_k %t95 = load ptr, ptr @g_ck_ex_v %t96 = load ptr, ptr %t28 %t97 = getelementptr inbounds %Cmp_Node, ptr %t96, i32 0, i32 1 %t98 = load ptr, ptr %t97 %t99 = load ptr, ptr %t28 call void @fn_ck_tab_put(ptr %t94, ptr %t95, ptr %t98, ptr %t99) br label %ifend21 ifend21: %t100 = load i32, ptr %t10 %t101 = add i32 %t100, 1 store i32 %t101, ptr %t10 br label %wcond0 wend2: br label %ret ret: ret void } define ptr @fn_ck_fn(ptr %arg_name) { entry: %retval = alloca ptr %t0 = alloca ptr store ptr %arg_name, ptr %t0 %t1 = load ptr, ptr @g_ck_fn_k %t2 = load ptr, ptr @g_ck_fn_v %t3 = load ptr, ptr %t0 %t4 = call ptr @fn_ck_tab_get(ptr %t1, ptr %t2, ptr %t3) store ptr %t4, ptr %retval br label %ret ret: %t5 = load ptr, ptr %retval ret ptr %t5 } define ptr @fn_ck_global(ptr %arg_name) { entry: %retval = alloca ptr %t0 = alloca ptr store ptr %arg_name, ptr %t0 %t1 = load ptr, ptr @g_ck_gl_k %t2 = load ptr, ptr @g_ck_gl_v %t3 = load ptr, ptr %t0 %t4 = call ptr @fn_ck_tab_get(ptr %t1, ptr %t2, ptr %t3) store ptr %t4, ptr %retval br label %ret ret: %t5 = load ptr, ptr %retval ret ptr %t5 } define ptr @fn_ck_record(ptr %arg_name) { entry: %retval = alloca ptr %t0 = alloca ptr %t5 = alloca ptr store ptr %arg_name, ptr %t0 %t1 = load ptr, ptr @g_ck_rec_k %t2 = load ptr, ptr @g_ck_rec_v %t3 = load ptr, ptr %t0 %t4 = call ptr @fn_ck_tab_get(ptr %t1, ptr %t2, ptr %t3) store ptr %t4, ptr %t5 %t6 = load ptr, ptr %t5 %t7 = icmp ne 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 %t5 store ptr %t10, ptr %retval br label %ret ifend2: %t11 = load ptr, ptr %t0 %t12 = call ptr @fn_gen_record(ptr %t11) store ptr %t12, ptr %retval br label %ret ret: %t13 = load ptr, ptr %retval ret ptr %t13 } define ptr @fn_ck_enum(ptr %arg_name) { entry: %retval = alloca ptr %t0 = alloca ptr store ptr %arg_name, ptr %t0 %t1 = load ptr, ptr @g_ck_en_k %t2 = load ptr, ptr @g_ck_en_v %t3 = load ptr, ptr %t0 %t4 = call ptr @fn_ck_tab_get(ptr %t1, ptr %t2, ptr %t3) store ptr %t4, ptr %retval br label %ret ret: %t5 = load ptr, ptr %retval ret ptr %t5 } define ptr @fn_ck_extern(ptr %arg_name) { entry: %retval = alloca ptr %t0 = alloca ptr store ptr %arg_name, ptr %t0 %t1 = load ptr, ptr @g_ck_ex_k %t2 = load ptr, ptr @g_ck_ex_v %t3 = load ptr, ptr %t0 %t4 = call ptr @fn_ck_tab_get(ptr %t1, ptr %t2, ptr %t3) store ptr %t4, ptr %retval br label %ret ret: %t5 = load ptr, ptr %retval ret ptr %t5 } define i32 @fn_ck_unknown(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 = icmp eq ptr %t2, null %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 ptr, ptr %t0 %t8 = call i32 @lp_str_eq(ptr %t7, ptr @.str16699) %t9 = icmp ne i32 %t8, 0 %t10 = zext i1 %t9 to i32 store i32 %t10, ptr %t1 br label %scend1 scend1: %t11 = load i32, ptr %t1 store i32 %t11, ptr %retval br label %ret ret: %t12 = load i32, ptr %retval ret i32 %t12 } define i32 @fn_ck_is_key(ptr %arg_t) { entry: %retval = alloca i32 %t0 = alloca ptr %t1 = alloca i32 %t15 = alloca i32 store ptr %arg_t, ptr %t0 %t2 = load ptr, ptr %t0 %t3 = icmp eq ptr %t2, null %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 ptr, ptr %t0 %t8 = call i32 @lp_str_eq(ptr %t7, ptr @.str16700) %t9 = icmp eq i32 %t8, 0 %t10 = zext i1 %t9 to i32 %t11 = icmp ne i32 %t10, 0 %t12 = zext i1 %t11 to i32 store i32 %t12, ptr %t1 br label %scend1 scend1: %t13 = load i32, ptr %t1 %t14 = icmp ne i32 %t13, 0 br i1 %t14, label %then2, label %ifend4 then2: store i32 0, ptr %retval br label %ret ifend4: %t16 = load ptr, ptr %t0 %t17 = call ptr @fn_ck_record(ptr %t16) %t18 = icmp eq ptr %t17, null %t19 = zext i1 %t18 to i32 %t20 = icmp ne i32 %t19, 0 %t21 = zext i1 %t20 to i32 store i32 %t21, ptr %t15 br i1 %t20, label %sc5, label %scend6 sc5: %t22 = load ptr, ptr %t0 %t23 = call ptr @fn_ck_enum(ptr %t22) %t24 = icmp eq ptr %t23, null %t25 = zext i1 %t24 to i32 %t26 = icmp ne i32 %t25, 0 %t27 = zext i1 %t26 to i32 store i32 %t27, ptr %t15 br label %scend6 scend6: %t28 = load i32, ptr %t15 store i32 %t28, ptr %retval br label %ret ret: %t29 = load i32, ptr %retval ret i32 %t29 } define i32 @fn_ck_is_int(ptr %arg_t) { entry: %retval = alloca i32 %t0 = alloca ptr %t1 = alloca i32 %t2 = alloca i32 %t3 = alloca i32 %t4 = alloca i32 %t38 = alloca ptr store ptr %arg_t, ptr %t0 %t5 = load ptr, ptr %t0 %t6 = call i32 @lp_str_eq(ptr %t5, ptr @.str16701) %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 @.str16702) %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 @.str16703) %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 @.str16704) %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 @.str16705) %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: %t36 = load ptr, ptr %t0 %t37 = call ptr @fn_ck_enum(ptr %t36) store ptr %t37, ptr %t38 %t39 = load ptr, ptr %t38 %t40 = icmp ne ptr %t39, null %t41 = zext i1 %t40 to i32 %t42 = icmp ne i32 %t41, 0 br i1 %t42, label %then11, label %ifend13 then11: %t43 = load ptr, ptr %t38 %t44 = call i32 @fn_enum_is_tagged(ptr %t43) %t45 = icmp eq i32 %t44, 0 %t46 = zext i1 %t45 to i32 store i32 %t46, ptr %retval br label %ret ifend13: store i32 0, ptr %retval br label %ret ret: %t47 = load i32, ptr %retval ret i32 %t47 } define ptr @fn_ck_a(ptr %arg_t0) { entry: %retval = alloca ptr %t0 = alloca ptr %t3 = alloca ptr %t8 = alloca i32 %t9 = alloca i32 %t10 = alloca i32 %t11 = alloca i32 %t12 = alloca i32 %t13 = alloca i32 %t14 = alloca i32 %t15 = alloca i32 %t16 = alloca i32 %t17 = alloca i32 store ptr %arg_t0, ptr %t0 %t1 = load ptr, ptr %t0 %t2 = call ptr @fn_gen_show(ptr %t1) store ptr %t2, ptr %t3 %t4 = load ptr, ptr %t3 %t5 = getelementptr inbounds i8, ptr %t4, i32 0 %t6 = load i8, ptr %t5 %t7 = zext i8 %t6 to i32 store i32 %t7, ptr %t8 %t18 = load i32, ptr %t8 %t19 = icmp eq i32 %t18, 97 %t20 = zext i1 %t19 to i32 %t21 = icmp ne i32 %t20, 0 %t22 = zext i1 %t21 to i32 store i32 %t22, ptr %t17 br i1 %t21, label %scend1, label %sc0 sc0: %t23 = load i32, ptr %t8 %t24 = icmp eq i32 %t23, 101 %t25 = zext i1 %t24 to i32 %t26 = icmp ne i32 %t25, 0 %t27 = zext i1 %t26 to i32 store i32 %t27, ptr %t17 br label %scend1 scend1: %t28 = load i32, ptr %t17 %t29 = icmp ne i32 %t28, 0 %t30 = zext i1 %t29 to i32 store i32 %t30, ptr %t16 br i1 %t29, label %scend3, label %sc2 sc2: %t31 = load i32, ptr %t8 %t32 = icmp eq i32 %t31, 105 %t33 = zext i1 %t32 to i32 %t34 = icmp ne i32 %t33, 0 %t35 = zext i1 %t34 to i32 store i32 %t35, ptr %t16 br label %scend3 scend3: %t36 = load i32, ptr %t16 %t37 = icmp ne i32 %t36, 0 %t38 = zext i1 %t37 to i32 store i32 %t38, ptr %t15 br i1 %t37, label %scend5, label %sc4 sc4: %t39 = load i32, ptr %t8 %t40 = icmp eq i32 %t39, 111 %t41 = zext i1 %t40 to i32 %t42 = icmp ne i32 %t41, 0 %t43 = zext i1 %t42 to i32 store i32 %t43, ptr %t15 br label %scend5 scend5: %t44 = load i32, ptr %t15 %t45 = icmp ne i32 %t44, 0 %t46 = zext i1 %t45 to i32 store i32 %t46, ptr %t14 br i1 %t45, label %scend7, label %sc6 sc6: %t47 = load i32, ptr %t8 %t48 = icmp eq i32 %t47, 117 %t49 = zext i1 %t48 to i32 %t50 = icmp ne i32 %t49, 0 %t51 = zext i1 %t50 to i32 store i32 %t51, ptr %t14 br label %scend7 scend7: %t52 = load i32, ptr %t14 %t53 = icmp ne i32 %t52, 0 %t54 = zext i1 %t53 to i32 store i32 %t54, ptr %t13 br i1 %t53, label %scend9, label %sc8 sc8: %t55 = load i32, ptr %t8 %t56 = icmp eq i32 %t55, 65 %t57 = zext i1 %t56 to i32 %t58 = icmp ne i32 %t57, 0 %t59 = zext i1 %t58 to i32 store i32 %t59, ptr %t13 br label %scend9 scend9: %t60 = load i32, ptr %t13 %t61 = icmp ne i32 %t60, 0 %t62 = zext i1 %t61 to i32 store i32 %t62, ptr %t12 br i1 %t61, label %scend11, label %sc10 sc10: %t63 = load i32, ptr %t8 %t64 = icmp eq i32 %t63, 69 %t65 = zext i1 %t64 to i32 %t66 = icmp ne i32 %t65, 0 %t67 = zext i1 %t66 to i32 store i32 %t67, ptr %t12 br label %scend11 scend11: %t68 = load i32, ptr %t12 %t69 = icmp ne i32 %t68, 0 %t70 = zext i1 %t69 to i32 store i32 %t70, ptr %t11 br i1 %t69, label %scend13, label %sc12 sc12: %t71 = load i32, ptr %t8 %t72 = icmp eq i32 %t71, 73 %t73 = zext i1 %t72 to i32 %t74 = icmp ne i32 %t73, 0 %t75 = zext i1 %t74 to i32 store i32 %t75, ptr %t11 br label %scend13 scend13: %t76 = load i32, ptr %t11 %t77 = icmp ne i32 %t76, 0 %t78 = zext i1 %t77 to i32 store i32 %t78, ptr %t10 br i1 %t77, label %scend15, label %sc14 sc14: %t79 = load i32, ptr %t8 %t80 = icmp eq i32 %t79, 79 %t81 = zext i1 %t80 to i32 %t82 = icmp ne i32 %t81, 0 %t83 = zext i1 %t82 to i32 store i32 %t83, ptr %t10 br label %scend15 scend15: %t84 = load i32, ptr %t10 %t85 = icmp ne i32 %t84, 0 %t86 = zext i1 %t85 to i32 store i32 %t86, ptr %t9 br i1 %t85, label %scend17, label %sc16 sc16: %t87 = load i32, ptr %t8 %t88 = icmp eq i32 %t87, 85 %t89 = zext i1 %t88 to i32 %t90 = icmp ne i32 %t89, 0 %t91 = zext i1 %t90 to i32 store i32 %t91, ptr %t9 br label %scend17 scend17: %t92 = load i32, ptr %t9 %t93 = icmp ne i32 %t92, 0 br i1 %t93, label %then18, label %ifend20 then18: %t94 = load ptr, ptr %t3 store i32 9372, ptr @lp_site %t95 = call ptr @lp_str_concat(ptr @.str16706, ptr %t94) store i32 0, ptr @lp_site store ptr %t95, ptr %retval br label %ret ifend20: %t96 = load ptr, ptr %t3 store i32 9373, ptr @lp_site %t97 = call ptr @lp_str_concat(ptr @.str16708, ptr %t96) store i32 0, ptr @lp_site store ptr %t97, ptr %retval br label %ret ret: %t98 = load ptr, ptr %retval ret ptr %t98 } define i32 @fn_ck_is_float(ptr %arg_t) { entry: %retval = alloca i32 %t0 = alloca ptr %t1 = alloca i32 store ptr %arg_t, ptr %t0 %t2 = load ptr, ptr %t0 %t3 = call i32 @lp_str_eq(ptr %t2, ptr @.str16709) %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 @.str16710) %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_ck_is_num(ptr %arg_t) { entry: %retval = alloca i32 %t0 = alloca ptr %t1 = alloca i32 %t2 = alloca i32 store ptr %arg_t, ptr %t0 %t3 = load ptr, ptr %t0 %t4 = call i32 @fn_ck_is_int(ptr %t3) %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 @fn_ck_is_float(ptr %t7) %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 @.str16711) %t16 = icmp ne i32 %t15, 0 %t17 = zext i1 %t16 to i32 store i32 %t17, ptr %t1 br label %scend3 scend3: %t18 = load i32, ptr %t1 store i32 %t18, ptr %retval br label %ret ret: %t19 = load i32, ptr %retval ret i32 %t19 } define i32 @fn_ck_is_rec(ptr %arg_t) { entry: %retval = alloca i32 %t0 = alloca ptr store ptr %arg_t, ptr %t0 %t1 = load ptr, ptr %t0 %t2 = call ptr @fn_ck_record(ptr %t1) %t3 = icmp ne ptr %t2, null %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_ck_is_ref(ptr %arg_t) { entry: %retval = alloca i32 %t0 = alloca ptr %t1 = alloca i32 %t2 = alloca i32 %t3 = alloca i32 store ptr %arg_t, ptr %t0 %t4 = load ptr, ptr %t0 %t5 = call i32 @fn_ck_is_num(ptr %t4) %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 @.str16712) %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 @.str16713) %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 @.str16714) %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 0, ptr %retval br label %ret ifend8: store i32 1, ptr %retval br label %ret ret: %t28 = load i32, ptr %retval ret i32 %t28 } define i32 @fn_ck_is_lit(ptr %arg_e) { entry: %retval = alloca i32 %t0 = alloca ptr %t5 = alloca i32 %t22 = alloca i32 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: store i32 0, 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 %t12 = zext i1 %t11 to i32 store i32 %t12, ptr %t5 br i1 %t11, label %scend4, label %sc3 sc3: %t13 = load ptr, ptr %t0 %t14 = getelementptr inbounds %Cmp_Node, ptr %t13, i32 0, i32 0 %t15 = load i32, ptr %t14 %t16 = icmp eq i32 %t15, 40 %t17 = zext i1 %t16 to i32 %t18 = icmp ne i32 %t17, 0 %t19 = zext i1 %t18 to i32 store i32 %t19, ptr %t5 br label %scend4 scend4: %t20 = load i32, ptr %t5 %t21 = icmp ne i32 %t20, 0 br i1 %t21, label %then5, label %ifend7 then5: store i32 1, ptr %retval br label %ret ifend7: %t23 = load ptr, ptr %t0 %t24 = getelementptr inbounds %Cmp_Node, ptr %t23, i32 0, i32 0 %t25 = load i32, ptr %t24 %t26 = icmp eq i32 %t25, 38 %t27 = zext i1 %t26 to i32 %t28 = icmp ne i32 %t27, 0 %t29 = zext i1 %t28 to i32 store i32 %t29, ptr %t22 br i1 %t28, label %sc8, label %scend9 sc8: %t30 = load ptr, ptr %t0 %t31 = getelementptr inbounds %Cmp_Node, ptr %t30, i32 0, i32 1 %t32 = load ptr, ptr %t31 %t33 = call i32 @lp_str_eq(ptr %t32, ptr @.str16715) %t34 = icmp ne i32 %t33, 0 %t35 = zext i1 %t34 to i32 store i32 %t35, ptr %t22 br label %scend9 scend9: %t36 = load i32, ptr %t22 %t37 = icmp ne i32 %t36, 0 br i1 %t37, label %then10, label %ifend12 then10: %t38 = load ptr, ptr %t0 %t39 = getelementptr inbounds %Cmp_Node, ptr %t38, i32 0, i32 4 %t40 = load ptr, ptr %t39 %t41 = call i32 @fn_ck_is_lit(ptr %t40) store i32 %t41, ptr %retval br label %ret ifend12: store i32 0, ptr %retval br label %ret ret: %t42 = load i32, ptr %retval ret i32 %t42 } define ptr @fn_ck_class(ptr %arg_t) { entry: %retval = alloca ptr %t0 = alloca ptr store ptr %arg_t, ptr %t0 %t1 = load ptr, ptr %t0 %t2 = call i32 @fn_ck_is_num(ptr %t1) %t3 = icmp ne i32 %t2, 0 br i1 %t3, label %then0, label %ifend2 then0: store ptr @.str16716, ptr %retval br label %ret ifend2: %t4 = load ptr, ptr %t0 %t5 = call i32 @lp_str_eq(ptr %t4, ptr @.str16717) %t6 = icmp ne i32 %t5, 0 br i1 %t6, label %then3, label %ifend5 then3: store ptr @.str16718, ptr %retval br label %ret ifend5: %t7 = load ptr, ptr %t0 %t8 = call i32 @fn_ck_is_key(ptr %t7) %t9 = icmp ne i32 %t8, 0 br i1 %t9, label %then6, label %ifend8 then6: store ptr @.str16719, ptr %retval br label %ret ifend8: %t10 = load ptr, ptr %t0 %t11 = call i32 @lp_str_eq(ptr %t10, ptr @.str16720) %t12 = icmp ne i32 %t11, 0 br i1 %t12, label %then9, label %ifend11 then9: store ptr @.str16721, ptr %retval br label %ret ifend11: store ptr @.str16722, ptr %retval br label %ret ret: %t13 = load ptr, ptr %retval ret ptr %t13 } define ptr @fn_ck_mismatch(ptr %arg_to, ptr %arg_from, ptr %arg_e) { entry: %retval = alloca ptr %t0 = alloca ptr %t1 = alloca ptr %t2 = alloca ptr %t3 = alloca i32 %t14 = alloca i32 %t32 = alloca i32 %t43 = alloca i32 %t44 = alloca i32 %t49 = alloca i32 %t64 = alloca i32 %t90 = alloca i32 %t110 = alloca i32 %t127 = alloca i32 %t140 = alloca i32 %t151 = alloca i32 %t164 = alloca i32 %t175 = alloca i32 %t186 = alloca i32 %t200 = alloca i32 %t211 = alloca i32 %t216 = alloca i32 %t230 = alloca i32 %t241 = alloca i32 %t252 = alloca i32 %t263 = alloca i32 %t268 = alloca i32 %t269 = alloca i32 store ptr %arg_to, ptr %t0 store ptr %arg_from, ptr %t1 store ptr %arg_e, ptr %t2 %t4 = load ptr, ptr %t0 %t5 = call i32 @fn_ck_unknown(ptr %t4) %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 %t1 %t9 = call i32 @fn_ck_unknown(ptr %t8) %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 br i1 %t13, label %then2, label %ifend4 then2: store ptr null, ptr %retval br label %ret ifend4: %t15 = load ptr, ptr %t0 %t16 = load ptr, ptr %t1 %t17 = call i32 @lp_str_eq(ptr %t15, ptr %t16) %t18 = icmp ne i32 %t17, 0 %t19 = zext i1 %t18 to i32 store i32 %t19, ptr %t14 br i1 %t18, label %scend6, label %sc5 sc5: %t20 = load ptr, ptr %t0 %t21 = call i32 @lp_str_eq(ptr %t20, ptr @.str16723) %t22 = icmp ne i32 %t21, 0 %t23 = zext i1 %t22 to i32 store i32 %t23, ptr %t14 br label %scend6 scend6: %t24 = load i32, ptr %t14 %t25 = icmp ne i32 %t24, 0 br i1 %t25, label %then7, label %ifend9 then7: store ptr null, ptr %retval br label %ret ifend9: %t26 = load ptr, ptr %t1 %t27 = call i32 @lp_str_eq(ptr %t26, ptr @.str16724) %t28 = icmp ne i32 %t27, 0 br i1 %t28, label %then10, label %ifend12 then10: %t29 = load ptr, ptr %t0 %t30 = call i32 @fn_ck_is_ref(ptr %t29) %t31 = icmp ne i32 %t30, 0 br i1 %t31, label %then13, label %ifend15 then13: store ptr null, ptr %retval br label %ret ifend15: store ptr @.str16725, ptr %retval br label %ret ifend12: %t33 = load ptr, ptr %t0 %t34 = call i32 @lp_str_eq(ptr %t33, ptr @.str16726) %t35 = icmp ne i32 %t34, 0 %t36 = zext i1 %t35 to i32 store i32 %t36, ptr %t32 br i1 %t35, label %scend17, label %sc16 sc16: %t37 = load ptr, ptr %t1 %t38 = call i32 @lp_str_eq(ptr %t37, ptr @.str16727) %t39 = icmp ne i32 %t38, 0 %t40 = zext i1 %t39 to i32 store i32 %t40, ptr %t32 br label %scend17 scend17: %t41 = load i32, ptr %t32 %t42 = icmp ne i32 %t41, 0 br i1 %t42, label %then18, label %ifend20 then18: store ptr @.str16728, ptr %retval br label %ret ifend20: %t45 = load ptr, ptr %t2 %t46 = call i32 @fn_ck_is_lit(ptr %t45) %t47 = icmp ne i32 %t46, 0 %t48 = zext i1 %t47 to i32 store i32 %t48, ptr %t44 br i1 %t47, label %sc21, label %scend22 sc21: %t50 = load ptr, ptr %t1 %t51 = call i32 @lp_str_eq(ptr %t50, ptr @.str16729) %t52 = icmp ne i32 %t51, 0 %t53 = zext i1 %t52 to i32 store i32 %t53, ptr %t49 br i1 %t52, label %scend24, label %sc23 sc23: %t54 = load ptr, ptr %t1 %t55 = call i32 @fn_ck_is_float(ptr %t54) %t56 = icmp ne i32 %t55, 0 %t57 = zext i1 %t56 to i32 store i32 %t57, ptr %t49 br label %scend24 scend24: %t58 = load i32, ptr %t49 %t59 = icmp ne i32 %t58, 0 %t60 = zext i1 %t59 to i32 store i32 %t60, ptr %t44 br label %scend22 scend22: %t61 = load i32, ptr %t44 %t62 = icmp ne i32 %t61, 0 %t63 = zext i1 %t62 to i32 store i32 %t63, ptr %t43 br i1 %t62, label %sc25, label %scend26 sc25: %t65 = load ptr, ptr %t0 %t66 = call i32 @lp_str_eq(ptr %t65, ptr @.str16730) %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 @fn_ck_is_float(ptr %t69) %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 %t75 = zext i1 %t74 to i32 store i32 %t75, ptr %t43 br label %scend26 scend26: %t76 = load i32, ptr %t43 %t77 = icmp ne i32 %t76, 0 br i1 %t77, label %then29, label %ifend31 then29: store ptr null, ptr %retval br label %ret ifend31: %t78 = load ptr, ptr %t0 %t79 = call i32 @fn_ck_is_int(ptr %t78) %t80 = icmp ne i32 %t79, 0 br i1 %t80, label %then32, label %ifend34 then32: %t81 = load ptr, ptr %t1 %t82 = call i32 @fn_ck_is_int(ptr %t81) %t83 = icmp ne i32 %t82, 0 br i1 %t83, label %then35, label %ifend37 then35: store ptr null, ptr %retval br label %ret ifend37: %t84 = load ptr, ptr %t1 %t85 = call i32 @fn_ck_is_num(ptr %t84) %t86 = icmp ne i32 %t85, 0 br i1 %t86, label %then38, label %ifend40 then38: store ptr @.str16731, ptr %retval br label %ret ifend40: store ptr @.str16732, ptr %retval br label %ret ifend34: %t87 = load ptr, ptr %t0 %t88 = call i32 @fn_ck_is_float(ptr %t87) %t89 = icmp ne i32 %t88, 0 br i1 %t89, label %then41, label %ifend43 then41: %t91 = load ptr, ptr %t1 %t92 = call i32 @fn_ck_is_int(ptr %t91) %t93 = icmp ne i32 %t92, 0 %t94 = zext i1 %t93 to i32 store i32 %t94, ptr %t90 br i1 %t93, label %scend45, label %sc44 sc44: %t95 = load ptr, ptr %t1 %t96 = call i32 @fn_ck_is_float(ptr %t95) %t97 = icmp ne i32 %t96, 0 %t98 = zext i1 %t97 to i32 store i32 %t98, ptr %t90 br label %scend45 scend45: %t99 = load i32, ptr %t90 %t100 = icmp ne i32 %t99, 0 br i1 %t100, label %then46, label %ifend48 then46: store ptr null, ptr %retval br label %ret ifend48: %t101 = load ptr, ptr %t1 %t102 = call i32 @lp_str_eq(ptr %t101, ptr @.str16733) %t103 = icmp ne i32 %t102, 0 br i1 %t103, label %then49, label %ifend51 then49: store ptr @.str16734, ptr %retval br label %ret ifend51: store ptr @.str16735, ptr %retval br label %ret ifend43: %t104 = load ptr, ptr %t0 %t105 = call i32 @lp_str_eq(ptr %t104, ptr @.str16736) %t106 = icmp ne i32 %t105, 0 br i1 %t106, label %then52, label %ifend54 then52: %t107 = load ptr, ptr %t1 %t108 = call i32 @fn_ck_is_int(ptr %t107) %t109 = icmp ne i32 %t108, 0 br i1 %t109, label %then55, label %ifend57 then55: store ptr null, ptr %retval br label %ret ifend57: %t111 = load ptr, ptr %t1 %t112 = call i32 @fn_ck_is_float(ptr %t111) %t113 = icmp ne i32 %t112, 0 %t114 = zext i1 %t113 to i32 store i32 %t114, ptr %t110 br i1 %t113, label %sc58, label %scend59 sc58: %t115 = load ptr, ptr %t2 %t116 = call i32 @fn_ck_is_lit(ptr %t115) %t117 = icmp ne i32 %t116, 0 %t118 = zext i1 %t117 to i32 store i32 %t118, ptr %t110 br label %scend59 scend59: %t119 = load i32, ptr %t110 %t120 = icmp ne i32 %t119, 0 br i1 %t120, label %then60, label %ifend62 then60: store ptr null, ptr %retval br label %ret ifend62: %t121 = load ptr, ptr %t1 %t122 = call i32 @fn_ck_is_float(ptr %t121) %t123 = icmp ne i32 %t122, 0 br i1 %t123, label %then63, label %ifend65 then63: store ptr @.str16737, ptr %retval br label %ret ifend65: store ptr @.str16738, ptr %retval br label %ret ifend54: %t124 = load ptr, ptr %t1 %t125 = call i32 @fn_ck_is_num(ptr %t124) %t126 = icmp ne i32 %t125, 0 br i1 %t126, label %then66, label %ifend68 then66: store ptr @.str16739, ptr %retval br label %ret ifend68: %t128 = load ptr, ptr %t0 %t129 = call i32 @lp_str_eq(ptr %t128, ptr @.str16740) %t130 = icmp ne i32 %t129, 0 %t131 = zext i1 %t130 to i32 store i32 %t131, ptr %t127 br i1 %t130, label %sc69, label %scend70 sc69: %t132 = load ptr, ptr %t1 %t133 = call i32 @fn_is_slice_ty(ptr %t132) %t134 = icmp ne i32 %t133, 0 %t135 = zext i1 %t134 to i32 store i32 %t135, ptr %t127 br label %scend70 scend70: %t136 = load i32, ptr %t127 %t137 = icmp ne i32 %t136, 0 br i1 %t137, label %then71, label %ifend73 then71: %t138 = load i32, ptr @g_ck_extern_arg %t139 = icmp ne i32 %t138, 0 br i1 %t139, label %then74, label %ifend76 then74: store ptr null, ptr %retval br label %ret ifend76: store ptr @.str16741, ptr %retval br label %ret ifend73: %t141 = load ptr, ptr %t1 %t142 = call i32 @lp_str_eq(ptr %t141, ptr @.str16742) %t143 = icmp ne i32 %t142, 0 %t144 = zext i1 %t143 to i32 store i32 %t144, ptr %t140 br i1 %t143, label %sc77, label %scend78 sc77: %t145 = load ptr, ptr %t0 %t146 = call i32 @fn_is_slice_ty(ptr %t145) %t147 = icmp ne i32 %t146, 0 %t148 = zext i1 %t147 to i32 store i32 %t148, ptr %t140 br label %scend78 scend78: %t149 = load i32, ptr %t140 %t150 = icmp ne i32 %t149, 0 br i1 %t150, label %then79, label %ifend81 then79: store ptr @.str16743, ptr %retval br label %ret ifend81: %t152 = load ptr, ptr %t0 %t153 = call i32 @lp_str_eq(ptr %t152, ptr @.str16744) %t154 = icmp ne i32 %t153, 0 %t155 = zext i1 %t154 to i32 store i32 %t155, ptr %t151 br i1 %t154, label %sc82, label %scend83 sc82: %t156 = load ptr, ptr %t1 %t157 = call i32 @fn_is_slice_ty(ptr %t156) %t158 = icmp ne i32 %t157, 0 %t159 = zext i1 %t158 to i32 store i32 %t159, ptr %t151 br label %scend83 scend83: %t160 = load i32, ptr %t151 %t161 = icmp ne i32 %t160, 0 br i1 %t161, label %then84, label %ifend86 then84: %t162 = load i32, ptr @g_ck_extern_arg %t163 = icmp ne i32 %t162, 0 br i1 %t163, label %then87, label %ifend89 then87: store ptr null, ptr %retval br label %ret ifend89: store ptr @.str16745, ptr %retval br label %ret ifend86: %t165 = load ptr, ptr %t1 %t166 = call i32 @lp_str_eq(ptr %t165, ptr @.str16746) %t167 = icmp ne i32 %t166, 0 %t168 = zext i1 %t167 to i32 store i32 %t168, ptr %t164 br i1 %t167, label %sc90, label %scend91 sc90: %t169 = load ptr, ptr %t0 %t170 = call i32 @fn_is_slice_ty(ptr %t169) %t171 = icmp ne i32 %t170, 0 %t172 = zext i1 %t171 to i32 store i32 %t172, ptr %t164 br label %scend91 scend91: %t173 = load i32, ptr %t164 %t174 = icmp ne i32 %t173, 0 br i1 %t174, label %then92, label %ifend94 then92: store ptr @.str16747, ptr %retval br label %ret ifend94: %t176 = load ptr, ptr %t0 %t177 = call i32 @lp_str_eq(ptr %t176, ptr @.str16748) %t178 = icmp ne i32 %t177, 0 %t179 = zext i1 %t178 to i32 store i32 %t179, ptr %t175 br i1 %t178, label %scend96, label %sc95 sc95: %t180 = load ptr, ptr %t1 %t181 = call i32 @lp_str_eq(ptr %t180, ptr @.str16749) %t182 = icmp ne i32 %t181, 0 %t183 = zext i1 %t182 to i32 store i32 %t183, ptr %t175 br label %scend96 scend96: %t184 = load i32, ptr %t175 %t185 = icmp ne i32 %t184, 0 br i1 %t185, label %then97, label %ifend99 then97: store ptr null, ptr %retval br label %ret ifend99: %t187 = load ptr, ptr %t0 %t188 = call i32 @fn_ck_is_key(ptr %t187) %t189 = icmp ne i32 %t188, 0 %t190 = zext i1 %t189 to i32 store i32 %t190, ptr %t186 br i1 %t189, label %scend101, label %sc100 sc100: %t191 = load ptr, ptr %t1 %t192 = call i32 @fn_ck_is_key(ptr %t191) %t193 = icmp ne i32 %t192, 0 %t194 = zext i1 %t193 to i32 store i32 %t194, ptr %t186 br label %scend101 scend101: %t195 = load i32, ptr %t186 %t196 = icmp ne i32 %t195, 0 br i1 %t196, label %then102, label %ifend104 then102: store ptr @.str16750, ptr %retval br label %ret ifend104: %t197 = load ptr, ptr %t0 %t198 = call i32 @lp_str_eq(ptr %t197, ptr @.str16751) %t199 = icmp ne i32 %t198, 0 br i1 %t199, label %then105, label %ifend107 then105: store ptr @.str16752, ptr %retval br label %ret ifend107: %t201 = load ptr, ptr %t0 %t202 = call i32 @fn_ck_is_rec(ptr %t201) %t203 = icmp ne i32 %t202, 0 %t204 = zext i1 %t203 to i32 store i32 %t204, ptr %t200 br i1 %t203, label %sc108, label %scend109 sc108: %t205 = load ptr, ptr %t1 %t206 = call i32 @fn_ck_is_rec(ptr %t205) %t207 = icmp ne i32 %t206, 0 %t208 = zext i1 %t207 to i32 store i32 %t208, ptr %t200 br label %scend109 scend109: %t209 = load i32, ptr %t200 %t210 = icmp ne i32 %t209, 0 br i1 %t210, label %then110, label %ifend112 then110: store ptr @.str16753, ptr %retval br label %ret ifend112: %t212 = load ptr, ptr %t0 %t213 = call i32 @fn_ck_is_rec(ptr %t212) %t214 = icmp ne i32 %t213, 0 %t215 = zext i1 %t214 to i32 store i32 %t215, ptr %t211 br i1 %t214, label %sc113, label %scend114 sc113: %t217 = load ptr, ptr %t1 %t218 = call i32 @lp_str_eq(ptr %t217, ptr @.str16754) %t219 = icmp ne i32 %t218, 0 %t220 = zext i1 %t219 to i32 store i32 %t220, ptr %t216 br i1 %t219, label %scend116, label %sc115 sc115: %t221 = load ptr, ptr %t1 %t222 = call i32 @fn_is_slice_ty(ptr %t221) %t223 = icmp ne i32 %t222, 0 %t224 = zext i1 %t223 to i32 store i32 %t224, ptr %t216 br label %scend116 scend116: %t225 = load i32, ptr %t216 %t226 = icmp ne i32 %t225, 0 %t227 = zext i1 %t226 to i32 store i32 %t227, ptr %t211 br label %scend114 scend114: %t228 = load i32, ptr %t211 %t229 = icmp ne i32 %t228, 0 br i1 %t229, label %then117, label %ifend119 then117: store ptr @.str16755, ptr %retval br label %ret ifend119: %t231 = load ptr, ptr %t0 %t232 = call i32 @lp_str_eq(ptr %t231, ptr @.str16756) %t233 = icmp ne i32 %t232, 0 %t234 = zext i1 %t233 to i32 store i32 %t234, ptr %t230 br i1 %t233, label %scend121, label %sc120 sc120: %t235 = load ptr, ptr %t1 %t236 = call i32 @lp_str_eq(ptr %t235, ptr @.str16757) %t237 = icmp ne i32 %t236, 0 %t238 = zext i1 %t237 to i32 store i32 %t238, ptr %t230 br label %scend121 scend121: %t239 = load i32, ptr %t230 %t240 = icmp ne i32 %t239, 0 br i1 %t240, label %then122, label %ifend124 then122: store ptr null, ptr %retval br label %ret ifend124: %t242 = load ptr, ptr %t0 %t243 = call i32 @fn_is_slice_ty(ptr %t242) %t244 = icmp ne i32 %t243, 0 %t245 = zext i1 %t244 to i32 store i32 %t245, ptr %t241 br i1 %t244, label %sc125, label %scend126 sc125: %t246 = load ptr, ptr %t1 %t247 = call i32 @fn_is_slice_ty(ptr %t246) %t248 = icmp ne i32 %t247, 0 %t249 = zext i1 %t248 to i32 store i32 %t249, ptr %t241 br label %scend126 scend126: %t250 = load i32, ptr %t241 %t251 = icmp ne i32 %t250, 0 br i1 %t251, label %then127, label %ifend129 then127: store ptr @.str16758, ptr %retval br label %ret ifend129: %t253 = load ptr, ptr %t0 %t254 = call i32 @fn_is_fn_type(ptr %t253) %t255 = icmp ne i32 %t254, 0 %t256 = zext i1 %t255 to i32 store i32 %t256, ptr %t252 br i1 %t255, label %sc130, label %scend131 sc130: %t257 = load ptr, ptr %t1 %t258 = call i32 @fn_is_fn_type(ptr %t257) %t259 = icmp ne i32 %t258, 0 %t260 = zext i1 %t259 to i32 store i32 %t260, ptr %t252 br label %scend131 scend131: %t261 = load i32, ptr %t252 %t262 = icmp ne i32 %t261, 0 br i1 %t262, label %then132, label %ifend134 then132: store ptr @.str16759, ptr %retval br label %ret ifend134: %t264 = load ptr, ptr %t1 %t265 = call i32 @lp_str_eq(ptr %t264, ptr @.str16760) %t266 = icmp ne i32 %t265, 0 %t267 = zext i1 %t266 to i32 store i32 %t267, ptr %t263 br i1 %t266, label %sc135, label %scend136 sc135: %t270 = load ptr, ptr %t0 %t271 = call i32 @fn_ck_is_rec(ptr %t270) %t272 = icmp ne i32 %t271, 0 %t273 = zext i1 %t272 to i32 store i32 %t273, ptr %t269 br i1 %t272, label %scend138, label %sc137 sc137: %t274 = load ptr, ptr %t0 %t275 = call i32 @fn_is_slice_ty(ptr %t274) %t276 = icmp ne i32 %t275, 0 %t277 = zext i1 %t276 to i32 store i32 %t277, ptr %t269 br label %scend138 scend138: %t278 = load i32, ptr %t269 %t279 = icmp ne i32 %t278, 0 %t280 = zext i1 %t279 to i32 store i32 %t280, ptr %t268 br i1 %t279, label %scend140, label %sc139 sc139: %t281 = load ptr, ptr %t0 %t282 = call i32 @fn_is_fn_type(ptr %t281) %t283 = icmp ne i32 %t282, 0 %t284 = zext i1 %t283 to i32 store i32 %t284, ptr %t268 br label %scend140 scend140: %t285 = load i32, ptr %t268 %t286 = icmp ne i32 %t285, 0 %t287 = zext i1 %t286 to i32 store i32 %t287, ptr %t263 br label %scend136 scend136: %t288 = load i32, ptr %t263 %t289 = icmp ne i32 %t288, 0 br i1 %t289, label %then141, label %ifend143 then141: store ptr @.str16761, ptr %retval br label %ret ifend143: store ptr null, ptr %retval br label %ret ret: %t290 = load ptr, ptr %retval ret ptr %t290 } define void @fn_ck_bind(ptr %arg_name, ptr %arg_ty) { entry: %t0 = alloca ptr %t1 = alloca ptr %t3 = alloca ptr %t4 = alloca i32 store ptr %arg_name, ptr %t0 store ptr %arg_ty, ptr %t1 %t2 = load ptr, ptr %t1 store ptr %t2, ptr %t3 %t5 = load ptr, ptr %t3 %t6 = call i32 @lp_str_eq(ptr %t5, ptr @.str16762) %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 %t3 %t10 = icmp eq ptr %t9, null %t11 = zext i1 %t10 to i32 %t12 = icmp ne i32 %t11, 0 %t13 = zext i1 %t12 to i32 store i32 %t13, ptr %t4 br label %scend1 scend1: %t14 = load i32, ptr %t4 %t15 = icmp ne i32 %t14, 0 br i1 %t15, label %then2, label %ifend4 then2: store ptr @.str16763, ptr %t3 br label %ifend4 ifend4: %t16 = load i32, ptr @g_ck_top %t17 = load ptr, ptr @g_ck_names %t18 = getelementptr inbounds %LSlice, ptr %t17, i32 0, i32 1 %t19 = load i32, ptr %t18 %t20 = icmp slt i32 %t16, %t19 %t21 = zext i1 %t20 to i32 %t22 = icmp ne i32 %t21, 0 br i1 %t22, label %then5, label %else6 then5: %t23 = load ptr, ptr @g_ck_names %t24 = load i32, ptr @g_ck_top %t25 = getelementptr inbounds %LSlice, ptr %t23, i32 0, i32 0 %t26 = load ptr, ptr %t25 %t27 = getelementptr inbounds %LSlice, ptr %t23, i32 0, i32 1 %t28 = load i32, ptr %t27 %t29 = icmp ult i32 %t24, %t28 br i1 %t29, label %ixok8, label %ixbad9 ixbad9: store i32 9374, ptr @lp_site %t30 = call ptr @lp_win_stdio(i32 2) store i32 0, ptr @lp_site call i32 (ptr, ptr, ...) @fprintf(ptr %t30, ptr @.fmt_bounds, ptr @.str16764, i32 %t24, i32 %t28) call void @exit(i32 1) unreachable ixok8: %t31 = getelementptr inbounds ptr, ptr %t26, i32 %t24 %t32 = load ptr, ptr %t0 store ptr %t32, ptr %t31 %t33 = load ptr, ptr @g_ck_tys %t34 = load i32, ptr @g_ck_top %t35 = getelementptr inbounds %LSlice, ptr %t33, i32 0, i32 0 %t36 = load ptr, ptr %t35 %t37 = getelementptr inbounds %LSlice, ptr %t33, i32 0, i32 1 %t38 = load i32, ptr %t37 %t39 = icmp ult i32 %t34, %t38 br i1 %t39, label %ixok10, label %ixbad11 ixbad11: store i32 9375, ptr @lp_site %t40 = call ptr @lp_win_stdio(i32 2) store i32 0, ptr @lp_site call i32 (ptr, ptr, ...) @fprintf(ptr %t40, ptr @.fmt_bounds, ptr @.str16766, i32 %t34, i32 %t38) call void @exit(i32 1) unreachable ixok10: %t41 = getelementptr inbounds ptr, ptr %t36, i32 %t34 %t42 = load ptr, ptr %t3 store ptr %t42, ptr %t41 br label %ifend7 else6: %t43 = load ptr, ptr @g_ck_names %t44 = load ptr, ptr %t0 %t45 = getelementptr inbounds %LSlice, ptr %t43, i32 0, i32 1 %t46 = getelementptr inbounds %LSlice, ptr %t43, i32 0, i32 2 %t47 = getelementptr inbounds %LSlice, ptr %t43, i32 0, i32 0 %t48 = load i32, ptr %t45 %t49 = load i32, ptr %t46 %t50 = icmp sge i32 %t48, %t49 br i1 %t50, label %grow12, label %put13 grow12: %t51 = mul i32 %t49, 2 %t52 = icmp eq i32 %t49, 0 %t53 = select i1 %t52, i32 8, i32 %t51 %t54 = getelementptr ptr, ptr null, i32 1 %t55 = ptrtoint ptr %t54 to i64 %t56 = zext i32 %t53 to i64 %t57 = mul i64 %t56, %t55 %t58 = load ptr, ptr %t47 store i32 9376, ptr @lp_site %t59 = call ptr @lp_realloc(ptr %t58, i64 %t57) store i32 0, ptr @lp_site store ptr %t59, ptr %t47 store i32 %t53, ptr %t46 br label %put13 put13: %t60 = load ptr, ptr %t47 %t61 = getelementptr inbounds ptr, ptr %t60, i32 %t48 store ptr %t44, ptr %t61 %t62 = add i32 %t48, 1 store i32 %t62, ptr %t45 %t63 = load ptr, ptr @g_ck_tys %t64 = load ptr, ptr %t3 %t65 = getelementptr inbounds %LSlice, ptr %t63, i32 0, i32 1 %t66 = getelementptr inbounds %LSlice, ptr %t63, i32 0, i32 2 %t67 = getelementptr inbounds %LSlice, ptr %t63, i32 0, i32 0 %t68 = load i32, ptr %t65 %t69 = load i32, ptr %t66 %t70 = icmp sge i32 %t68, %t69 br i1 %t70, label %grow14, label %put15 grow14: %t71 = mul i32 %t69, 2 %t72 = icmp eq i32 %t69, 0 %t73 = select i1 %t72, i32 8, i32 %t71 %t74 = getelementptr ptr, ptr null, i32 1 %t75 = ptrtoint ptr %t74 to i64 %t76 = zext i32 %t73 to i64 %t77 = mul i64 %t76, %t75 %t78 = load ptr, ptr %t67 store i32 9377, ptr @lp_site %t79 = call ptr @lp_realloc(ptr %t78, i64 %t77) store i32 0, ptr @lp_site store ptr %t79, ptr %t67 store i32 %t73, ptr %t66 br label %put15 put15: %t80 = load ptr, ptr %t67 %t81 = getelementptr inbounds ptr, ptr %t80, i32 %t68 store ptr %t64, ptr %t81 %t82 = add i32 %t68, 1 store i32 %t82, ptr %t65 br label %ifend7 ifend7: %t83 = load i32, ptr @g_ck_top %t84 = add i32 %t83, 1 store i32 %t84, ptr @g_ck_top call void @fn_ck_set_ro(i32 0) br label %ret ret: ret void } define i32 @fn_ck_mark() { entry: %retval = alloca i32 %t0 = load i32, ptr @g_ck_top store i32 %t0, ptr %retval br label %ret ret: %t1 = load i32, ptr %retval ret i32 %t1 } define void @fn_ck_pop(i32 %arg_m) { entry: %t0 = alloca i32 store i32 %arg_m, ptr %t0 %t1 = load i32, ptr %t0 store i32 %t1, ptr @g_ck_top br label %ret ret: ret void } define i32 @fn_ck_local(ptr %arg_name) { entry: %retval = alloca i32 %t0 = alloca ptr %t3 = alloca i32 store ptr %arg_name, ptr %t0 %t1 = load i32, ptr @g_ck_top %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_ck_names %t9 = load i32, ptr %t3 %t10 = getelementptr inbounds %LSlice, ptr %t8, i32 0, i32 0 %t11 = load ptr, ptr %t10 %t12 = getelementptr inbounds %LSlice, ptr %t8, i32 0, i32 1 %t13 = load i32, ptr %t12 %t14 = icmp ult i32 %t9, %t13 br i1 %t14, label %ixok3, label %ixbad4 ixbad4: store i32 9378, ptr @lp_site %t15 = call ptr @lp_win_stdio(i32 2) store i32 0, ptr @lp_site call i32 (ptr, ptr, ...) @fprintf(ptr %t15, ptr @.fmt_bounds, ptr @.str16767, i32 %t9, i32 %t13) call void @exit(i32 1) unreachable ixok3: %t16 = getelementptr inbounds ptr, ptr %t11, i32 %t9 %t17 = load ptr, ptr %t16 %t18 = load ptr, ptr %t0 %t19 = call i32 @lp_str_eq(ptr %t17, ptr %t18) %t20 = icmp ne i32 %t19, 0 br i1 %t20, label %then5, label %ifend7 then5: %t21 = load i32, ptr %t3 store i32 %t21, ptr %retval br label %ret ifend7: %t22 = load i32, ptr %t3 %t23 = sub i32 %t22, 1 store i32 %t23, ptr %t3 br label %wcond0 wend2: %t24 = sub i32 0, 1 store i32 %t24, ptr %retval br label %ret ret: %t25 = load i32, ptr %retval ret i32 %t25 } define i32 @fn_ck_reporting() { entry: %retval = alloca i32 %t0 = load i32, ptr @g_ck_report %t1 = icmp slt i32 %t0, 0 %t2 = zext i1 %t1 to i32 %t3 = icmp ne i32 %t2, 0 br i1 %t3, label %then0, label %ifend2 then0: store i32 0, ptr @g_ck_report %t4 = call ptr @getenv(ptr @.str16769) %t5 = icmp ne ptr %t4, null %t6 = zext i1 %t5 to i32 %t7 = icmp ne i32 %t6, 0 br i1 %t7, label %then3, label %ifend5 then3: store i32 1, ptr @g_ck_report br label %ifend5 ifend5: br label %ifend2 ifend2: %t8 = load i32, ptr @g_ck_report %t9 = icmp eq i32 %t8, 1 %t10 = zext i1 %t9 to i32 store i32 %t10, ptr %retval br label %ret ret: %t11 = load i32, ptr %retval ret i32 %t11 } define void @fn_ck_err(ptr %arg_cat, ptr %arg_n, ptr %arg_msg) { entry: %t0 = alloca ptr %t1 = alloca ptr %t2 = alloca ptr %t3 = alloca ptr %t4 = alloca i32 %t5 = alloca i32 %t25 = alloca i32 %t51 = alloca ptr store ptr %arg_cat, ptr %t0 store ptr %arg_n, ptr %t1 store ptr %arg_msg, ptr %t2 store ptr @.str16770, ptr %t3 store i32 0, ptr %t4 store i32 0, ptr %t5 %t6 = load ptr, ptr %t1 %t7 = icmp ne 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 %t1 %t11 = getelementptr inbounds %Cmp_Node, ptr %t10, i32 0, i32 9 %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 %t1 %t17 = getelementptr inbounds %Cmp_Node, ptr %t16, i32 0, i32 9 %t18 = load ptr, ptr %t17 store ptr %t18, ptr %t3 br label %ifend5 ifend5: %t19 = load ptr, ptr %t1 %t20 = getelementptr inbounds %Cmp_Node, ptr %t19, i32 0, i32 8 %t21 = load i32, ptr %t20 store i32 %t21, ptr %t4 %t22 = load ptr, ptr %t1 %t23 = getelementptr inbounds %Cmp_Node, ptr %t22, i32 0, i32 18 %t24 = load i32, ptr %t23 store i32 %t24, ptr %t5 br label %ifend2 ifend2: %t26 = load i32, ptr @g_g_diag_json %t27 = icmp ne i32 %t26, 0 %t28 = zext i1 %t27 to i32 store i32 %t28, ptr %t25 br i1 %t27, label %sc6, label %scend7 sc6: %t29 = call i32 @fn_ck_reporting() %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 %t25 br label %scend7 scend7: %t34 = load i32, ptr %t25 %t35 = icmp ne i32 %t34, 0 br i1 %t35, label %then8, label %ifend10 then8: %t36 = load ptr, ptr %t3 %t37 = load i32, ptr %t4 %t38 = load i32, ptr %t5 %t39 = load ptr, ptr %t2 call void @fn_diag_add(ptr %t36, i32 %t37, i32 %t38, ptr @.str16771, ptr %t39) %t40 = load i32, ptr @g_ck_errors %t41 = add i32 %t40, 1 store i32 %t41, ptr @g_ck_errors br label %ret ifend10: %t42 = load ptr, ptr %t3 store i32 9379, ptr @lp_site %t43 = call ptr @lp_str_concat(ptr %t42, ptr @.str16772) store i32 0, ptr @lp_site %t44 = load i32, ptr %t4 %t45 = call ptr @fn_itoa(i32 %t44) store i32 9380, ptr @lp_site %t46 = call ptr @lp_str_concat(ptr %t43, ptr %t45) store i32 0, ptr @lp_site call void @lp_free(ptr %t43) store i32 9381, ptr @lp_site %t47 = call ptr @lp_str_concat(ptr %t46, ptr @.str16774) store i32 0, ptr @lp_site call void @lp_free(ptr %t46) %t48 = load ptr, ptr %t2 store i32 9382, ptr @lp_site %t49 = call ptr @lp_str_concat(ptr %t47, ptr %t48) store i32 0, ptr @lp_site call void @lp_free(ptr %t47) store i32 9383, ptr @lp_site %t50 = call ptr @lp_str_concat(ptr %t49, ptr @.str16775) store i32 0, ptr @lp_site call void @lp_free(ptr %t49) store ptr %t50, ptr %t51 %t52 = call i32 @fn_ck_reporting() %t53 = icmp ne i32 %t52, 0 br i1 %t53, label %then11, label %ifend13 then11: %t54 = load ptr, ptr %t0 store i32 9384, ptr @lp_site %t55 = call ptr @lp_str_concat(ptr @.str16776, ptr %t54) store i32 0, ptr @lp_site store i32 9385, ptr @lp_site %t56 = call ptr @lp_str_concat(ptr %t55, ptr @.str16777) store i32 0, ptr @lp_site call void @lp_free(ptr %t55) %t57 = load ptr, ptr %t3 store i32 9386, ptr @lp_site %t58 = call ptr @lp_str_concat(ptr %t56, ptr %t57) store i32 0, ptr @lp_site call void @lp_free(ptr %t56) store i32 9387, ptr @lp_site %t59 = call ptr @lp_str_concat(ptr %t58, ptr @.str16778) store i32 0, ptr @lp_site call void @lp_free(ptr %t58) %t60 = load i32, ptr %t4 %t61 = call ptr @fn_itoa(i32 %t60) store i32 9388, ptr @lp_site %t62 = call ptr @lp_str_concat(ptr %t59, ptr %t61) store i32 0, ptr @lp_site call void @lp_free(ptr %t59) store i32 9389, ptr @lp_site %t63 = call ptr @lp_str_concat(ptr %t62, ptr @.str16779) store i32 0, ptr @lp_site call void @lp_free(ptr %t62) %t64 = load ptr, ptr %t2 store i32 9390, ptr @lp_site %t65 = call ptr @lp_str_concat(ptr %t63, ptr %t64) store i32 0, ptr @lp_site call void @lp_free(ptr %t63) store i32 9391, ptr @lp_site %t66 = call ptr @lp_str_concat(ptr %t65, ptr @.str16780) store i32 0, ptr @lp_site call void @lp_free(ptr %t65) store ptr %t66, ptr %t51 br label %ifend13 ifend13: store i32 9392, ptr @lp_site %t67 = call ptr @lp_win_stdio(i32 2) store i32 0, ptr @lp_site %t68 = load ptr, ptr %t51 %t69 = load ptr, ptr %t51 %t70 = call i64 @strlen(ptr %t69) %t71 = trunc i64 %t70 to i32 %t72 = zext i32 %t71 to i64 %t73 = call i64 @fwrite(ptr %t68, i64 1, i64 %t72, ptr %t67) %t74 = trunc i64 %t73 to i32 %t75 = load i32, ptr @g_ck_errors %t76 = add i32 %t75, 1 store i32 %t76, ptr @g_ck_errors br label %ret ret: ret void } define void @fn_ck_give(ptr %arg_to, ptr %arg_from, ptr %arg_e, ptr %arg_what) { entry: %t0 = alloca ptr %t1 = alloca ptr %t2 = alloca ptr %t3 = alloca ptr %t4 = alloca i32 %t5 = alloca i32 %t6 = alloca i32 %t32 = alloca i32 %t33 = alloca i32 %t70 = alloca ptr %t97 = alloca i32 store ptr %arg_to, ptr %t0 store ptr %arg_from, ptr %t1 store ptr %arg_e, ptr %t2 store ptr %arg_what, ptr %t3 %t7 = load ptr, ptr %t2 %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 %t6 br i1 %t10, label %sc0, label %scend1 sc0: %t12 = load ptr, ptr %t2 %t13 = getelementptr inbounds %Cmp_Node, ptr %t12, i32 0, i32 0 %t14 = load i32, ptr %t13 %t15 = icmp eq i32 %t14, 30 %t16 = zext i1 %t15 to i32 %t17 = icmp ne i32 %t16, 0 %t18 = zext i1 %t17 to i32 store i32 %t18, ptr %t6 br label %scend1 scend1: %t19 = load i32, ptr %t6 %t20 = icmp ne i32 %t19, 0 %t21 = zext i1 %t20 to i32 store i32 %t21, ptr %t5 br i1 %t20, label %sc2, label %scend3 sc2: %t22 = load ptr, ptr %t2 %t23 = getelementptr inbounds %Cmp_Node, ptr %t22, i32 0, i32 1 %t24 = load ptr, ptr %t23 %t25 = icmp ne ptr %t24, null %t26 = zext i1 %t25 to i32 %t27 = icmp ne i32 %t26, 0 %t28 = zext i1 %t27 to i32 store i32 %t28, ptr %t5 br label %scend3 scend3: %t29 = load i32, ptr %t5 %t30 = icmp ne i32 %t29, 0 %t31 = zext i1 %t30 to i32 store i32 %t31, ptr %t4 br i1 %t30, label %sc4, label %scend5 sc4: %t34 = load ptr, ptr %t0 %t35 = call i32 @lp_str_eq(ptr %t34, ptr @.str16781) %t36 = icmp ne i32 %t35, 0 %t37 = zext i1 %t36 to i32 store i32 %t37, ptr %t33 br i1 %t36, label %scend7, label %sc6 sc6: %t38 = load ptr, ptr %t0 %t39 = call i32 @lp_str_eq(ptr %t38, ptr @.str16782) %t40 = icmp ne i32 %t39, 0 %t41 = zext i1 %t40 to i32 store i32 %t41, ptr %t33 br label %scend7 scend7: %t42 = load i32, ptr %t33 %t43 = icmp ne i32 %t42, 0 %t44 = zext i1 %t43 to i32 store i32 %t44, ptr %t32 br i1 %t43, label %scend9, label %sc8 sc8: %t45 = load ptr, ptr %t0 %t46 = call i32 @lp_str_eq(ptr %t45, ptr @.str16783) %t47 = icmp ne i32 %t46, 0 %t48 = zext i1 %t47 to i32 store i32 %t48, ptr %t32 br label %scend9 scend9: %t49 = load i32, ptr %t32 %t50 = icmp ne i32 %t49, 0 %t51 = zext i1 %t50 to i32 store i32 %t51, ptr %t4 br label %scend5 scend5: %t52 = load i32, ptr %t4 %t53 = icmp ne i32 %t52, 0 br i1 %t53, label %then10, label %ifend12 then10: %t54 = load ptr, ptr %t2 %t55 = load ptr, ptr %t3 store i32 9393, ptr @lp_site %t56 = call ptr @lp_str_concat(ptr %t55, ptr @.str16785) store i32 0, ptr @lp_site %t57 = load ptr, ptr %t0 %t58 = call ptr @fn_ck_a(ptr %t57) store i32 9394, ptr @lp_site %t59 = call ptr @lp_str_concat(ptr %t56, ptr %t58) store i32 0, ptr @lp_site call void @lp_free(ptr %t56) store i32 9395, ptr @lp_site %t60 = call ptr @lp_str_concat(ptr %t59, ptr @.str16787) store i32 0, ptr @lp_site call void @lp_free(ptr %t59) %t61 = load ptr, ptr %t2 %t62 = getelementptr inbounds %Cmp_Node, ptr %t61, i32 0, i32 1 %t63 = load ptr, ptr %t62 store i32 9396, ptr @lp_site %t64 = call ptr @lp_str_concat(ptr %t60, ptr %t63) store i32 0, ptr @lp_site call void @lp_free(ptr %t60) store i32 9397, ptr @lp_site %t65 = call ptr @lp_str_concat(ptr %t64, ptr @.str16788) store i32 0, ptr @lp_site call void @lp_free(ptr %t64) call void @fn_ck_err(ptr @.str16784, ptr %t54, ptr %t65) br label %ret ifend12: %t66 = load ptr, ptr %t0 %t67 = load ptr, ptr %t1 %t68 = load ptr, ptr %t2 %t69 = call ptr @fn_ck_mismatch(ptr %t66, ptr %t67, ptr %t68) store ptr %t69, ptr %t70 %t71 = load ptr, ptr %t70 %t72 = icmp eq ptr %t71, null %t73 = zext i1 %t72 to i32 %t74 = icmp ne i32 %t73, 0 br i1 %t74, label %then13, label %ifend15 then13: br label %ret ifend15: %t75 = load ptr, ptr %t70 %t76 = call i32 @lp_str_eq(ptr %t75, ptr @.str16789) %t77 = icmp ne i32 %t76, 0 br i1 %t77, label %then16, label %ifend18 then16: %t78 = load ptr, ptr %t70 %t79 = load ptr, ptr %t2 %t80 = load ptr, ptr %t3 store i32 9398, ptr @lp_site %t81 = call ptr @lp_str_concat(ptr %t80, ptr @.str16790) store i32 0, ptr @lp_site %t82 = load ptr, ptr %t1 %t83 = call ptr @fn_ck_a(ptr %t82) store i32 9399, ptr @lp_site %t84 = call ptr @lp_str_concat(ptr %t81, ptr %t83) store i32 0, ptr @lp_site call void @lp_free(ptr %t81) store i32 9400, ptr @lp_site %t85 = call ptr @lp_str_concat(ptr %t84, ptr @.str16791) store i32 0, ptr @lp_site call void @lp_free(ptr %t84) call void @fn_ck_err(ptr %t78, ptr %t79, ptr %t85) br label %ret ifend18: %t86 = load ptr, ptr %t70 %t87 = call i32 @lp_str_eq(ptr %t86, ptr @.str16792) %t88 = icmp ne i32 %t87, 0 br i1 %t88, label %then19, label %ifend21 then19: %t89 = load ptr, ptr %t70 %t90 = load ptr, ptr %t2 %t91 = load ptr, ptr %t3 store i32 9401, ptr @lp_site %t92 = call ptr @lp_str_concat(ptr %t91, ptr @.str16793) store i32 0, ptr @lp_site %t93 = load ptr, ptr %t0 %t94 = call ptr @fn_ck_a(ptr %t93) store i32 9402, ptr @lp_site %t95 = call ptr @lp_str_concat(ptr %t92, ptr %t94) store i32 0, ptr @lp_site call void @lp_free(ptr %t92) store i32 9403, ptr @lp_site %t96 = call ptr @lp_str_concat(ptr %t95, ptr @.str16794) store i32 0, ptr @lp_site call void @lp_free(ptr %t95) call void @fn_ck_err(ptr %t89, ptr %t90, ptr %t96) br label %ret ifend21: %t98 = load ptr, ptr %t70 %t99 = call i32 @lp_str_eq(ptr %t98, ptr @.str16795) %t100 = icmp ne i32 %t99, 0 %t101 = zext i1 %t100 to i32 store i32 %t101, ptr %t97 br i1 %t100, label %sc22, label %scend23 sc22: %t102 = load ptr, ptr %t0 %t103 = call i32 @fn_ck_is_key(ptr %t102) %t104 = icmp ne i32 %t103, 0 %t105 = zext i1 %t104 to i32 store i32 %t105, ptr %t97 br label %scend23 scend23: %t106 = load i32, ptr %t97 %t107 = icmp ne i32 %t106, 0 br i1 %t107, label %then24, label %ifend26 then24: %t108 = load ptr, ptr %t70 %t109 = load ptr, ptr %t2 %t110 = load ptr, ptr %t3 store i32 9404, ptr @lp_site %t111 = call ptr @lp_str_concat(ptr %t110, ptr @.str16796) store i32 0, ptr @lp_site %t112 = load ptr, ptr %t1 %t113 = call ptr @fn_ck_a(ptr %t112) store i32 9405, ptr @lp_site %t114 = call ptr @lp_str_concat(ptr %t111, ptr %t113) store i32 0, ptr @lp_site call void @lp_free(ptr %t111) store i32 9406, ptr @lp_site %t115 = call ptr @lp_str_concat(ptr %t114, ptr @.str16797) store i32 0, ptr @lp_site call void @lp_free(ptr %t114) call void @fn_ck_err(ptr %t108, ptr %t109, ptr %t115) br label %ret ifend26: %t116 = load ptr, ptr %t70 %t117 = call i32 @lp_str_eq(ptr %t116, ptr @.str16798) %t118 = icmp ne i32 %t117, 0 br i1 %t118, label %then27, label %ifend29 then27: %t119 = load ptr, ptr %t70 %t120 = load ptr, ptr %t2 %t121 = load ptr, ptr %t3 store i32 9407, ptr @lp_site %t122 = call ptr @lp_str_concat(ptr %t121, ptr @.str16799) store i32 0, ptr @lp_site %t123 = load ptr, ptr %t0 %t124 = call ptr @fn_ck_a(ptr %t123) store i32 9408, ptr @lp_site %t125 = call ptr @lp_str_concat(ptr %t122, ptr %t124) store i32 0, ptr @lp_site call void @lp_free(ptr %t122) store i32 9409, ptr @lp_site %t126 = call ptr @lp_str_concat(ptr %t125, ptr @.str16800) store i32 0, ptr @lp_site call void @lp_free(ptr %t125) call void @fn_ck_err(ptr %t119, ptr %t120, ptr %t126) br label %ret ifend29: %t127 = load ptr, ptr %t70 %t128 = load ptr, ptr %t2 %t129 = load ptr, ptr %t3 store i32 9410, ptr @lp_site %t130 = call ptr @lp_str_concat(ptr %t129, ptr @.str16801) store i32 0, ptr @lp_site %t131 = load ptr, ptr %t0 %t132 = call ptr @fn_ck_a(ptr %t131) store i32 9411, ptr @lp_site %t133 = call ptr @lp_str_concat(ptr %t130, ptr %t132) store i32 0, ptr @lp_site call void @lp_free(ptr %t130) store i32 9412, ptr @lp_site %t134 = call ptr @lp_str_concat(ptr %t133, ptr @.str16802) store i32 0, ptr @lp_site call void @lp_free(ptr %t133) %t135 = load ptr, ptr %t1 %t136 = call ptr @fn_ck_a(ptr %t135) store i32 9413, ptr @lp_site %t137 = call ptr @lp_str_concat(ptr %t134, ptr %t136) store i32 0, ptr @lp_site call void @lp_free(ptr %t134) call void @fn_ck_err(ptr %t127, ptr %t128, ptr %t137) br label %ret ret: ret void } define ptr @fn_ck_field(ptr %arg_r, ptr %arg_name) { entry: %retval = alloca ptr %t0 = alloca ptr %t1 = alloca ptr %t2 = alloca i32 store ptr %arg_r, ptr %t0 store ptr %arg_name, 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 = load i32, ptr %t2 %t16 = getelementptr inbounds %LSlice, ptr %t14, i32 0, i32 0 %t17 = load ptr, ptr %t16 %t18 = getelementptr inbounds %LSlice, ptr %t14, i32 0, i32 1 %t19 = load i32, ptr %t18 %t20 = icmp ult i32 %t15, %t19 br i1 %t20, label %ixok3, label %ixbad4 ixbad4: store i32 9414, ptr @lp_site %t21 = call ptr @lp_win_stdio(i32 2) store i32 0, ptr @lp_site call i32 (ptr, ptr, ...) @fprintf(ptr %t21, ptr @.fmt_bounds, ptr @.str16803, i32 %t15, i32 %t19) call void @exit(i32 1) unreachable ixok3: %t22 = getelementptr inbounds ptr, ptr %t17, i32 %t15 %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 %then5, label %ifend7 then5: %t29 = load ptr, ptr %t0 %t30 = getelementptr inbounds %Cmp_Node, ptr %t29, i32 0, i32 7 %t31 = load ptr, ptr %t30 %t32 = load i32, ptr %t2 %t33 = getelementptr inbounds %LSlice, ptr %t31, i32 0, i32 0 %t34 = load ptr, ptr %t33 %t35 = getelementptr inbounds %LSlice, ptr %t31, i32 0, i32 1 %t36 = load i32, ptr %t35 %t37 = icmp ult i32 %t32, %t36 br i1 %t37, label %ixok8, label %ixbad9 ixbad9: store i32 9415, ptr @lp_site %t38 = call ptr @lp_win_stdio(i32 2) store i32 0, ptr @lp_site call i32 (ptr, ptr, ...) @fprintf(ptr %t38, ptr @.fmt_bounds, ptr @.str16805, i32 %t32, i32 %t36) call void @exit(i32 1) unreachable ixok8: %t39 = getelementptr inbounds ptr, ptr %t34, i32 %t32 %t40 = load ptr, ptr %t39 %t41 = getelementptr inbounds %Cmp_Node, ptr %t40, i32 0, i32 3 %t42 = load ptr, ptr %t41 store ptr %t42, ptr %retval br label %ret ifend7: %t43 = load i32, ptr %t2 %t44 = add i32 %t43, 1 store i32 %t44, ptr %t2 br label %wcond0 wend2: store ptr null, ptr %retval br label %ret ret: %t45 = load ptr, ptr %retval ret ptr %t45 } define void @fn_ck_walk(ptr %arg_e) { entry: %t0 = alloca ptr %t14 = alloca i32 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: br label %ret ifend2: %t5 = load ptr, ptr %t0 %t6 = getelementptr inbounds %Cmp_Node, ptr %t5, i32 0, i32 4 %t7 = load ptr, ptr %t6 call void @fn_ck_any(ptr %t7) %t8 = load ptr, ptr %t0 %t9 = getelementptr inbounds %Cmp_Node, ptr %t8, i32 0, i32 5 %t10 = load ptr, ptr %t9 call void @fn_ck_any(ptr %t10) %t11 = load ptr, ptr %t0 %t12 = getelementptr inbounds %Cmp_Node, ptr %t11, i32 0, i32 6 %t13 = load ptr, ptr %t12 call void @fn_ck_any(ptr %t13) store i32 0, ptr %t14 br label %wcond3 wcond3: %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 %wbody4, label %wend5 wbody4: %t24 = load ptr, ptr %t0 %t25 = getelementptr inbounds %Cmp_Node, ptr %t24, i32 0, i32 7 %t26 = load ptr, ptr %t25 %t27 = load i32, ptr %t14 %t28 = getelementptr inbounds %LSlice, ptr %t26, i32 0, i32 0 %t29 = load ptr, ptr %t28 %t30 = getelementptr inbounds %LSlice, ptr %t26, i32 0, i32 1 %t31 = load i32, ptr %t30 %t32 = icmp ult i32 %t27, %t31 br i1 %t32, label %ixok6, label %ixbad7 ixbad7: store i32 9416, ptr @lp_site %t33 = call ptr @lp_win_stdio(i32 2) store i32 0, ptr @lp_site call i32 (ptr, ptr, ...) @fprintf(ptr %t33, ptr @.fmt_bounds, ptr @.str16806, i32 %t27, i32 %t31) call void @exit(i32 1) unreachable ixok6: %t34 = getelementptr inbounds ptr, ptr %t29, i32 %t27 %t35 = load ptr, ptr %t34 call void @fn_ck_any(ptr %t35) %t36 = load i32, ptr %t14 %t37 = add i32 %t36, 1 store i32 %t37, ptr %t14 br label %wcond3 wend5: br label %ret ret: ret void } define void @fn_ck_any(ptr %arg_n) { entry: %t0 = alloca ptr %t22 = alloca i32 %t23 = alloca i32 %t24 = alloca i32 store ptr %arg_n, 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: br label %ret ifend2: %t5 = load ptr, ptr %t0 %t6 = getelementptr inbounds %Cmp_Node, ptr %t5, i32 0, i32 0 %t7 = load i32, ptr %t6 %t8 = icmp eq i32 %t7, 7 %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 call void @fn_ck_block(ptr %t11) br label %ret ifend5: %t12 = load ptr, ptr %t0 %t13 = getelementptr inbounds %Cmp_Node, ptr %t12, i32 0, i32 0 %t14 = load i32, ptr %t13 %t15 = icmp eq i32 %t14, 42 %t16 = zext i1 %t15 to i32 %t17 = icmp ne i32 %t16, 0 br i1 %t17, label %then6, label %ifend8 then6: %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_ck_expr(ptr %t20) br label %ret ifend8: %t25 = load ptr, ptr %t0 %t26 = getelementptr inbounds %Cmp_Node, ptr %t25, i32 0, i32 0 %t27 = load i32, ptr %t26 %t28 = icmp sge i32 %t27, 10 %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 %sc9, label %scend10 sc9: %t32 = load ptr, ptr %t0 %t33 = getelementptr inbounds %Cmp_Node, ptr %t32, i32 0, i32 0 %t34 = load i32, ptr %t33 %t35 = icmp sle i32 %t34, 26 %t36 = zext i1 %t35 to i32 %t37 = icmp ne i32 %t36, 0 %t38 = zext i1 %t37 to i32 store i32 %t38, ptr %t24 br label %scend10 scend10: %t39 = load i32, ptr %t24 %t40 = icmp ne i32 %t39, 0 %t41 = zext i1 %t40 to i32 store i32 %t41, ptr %t23 br i1 %t40, label %scend12, label %sc11 sc11: %t42 = load ptr, ptr %t0 %t43 = getelementptr inbounds %Cmp_Node, ptr %t42, i32 0, i32 0 %t44 = load i32, ptr %t43 %t45 = icmp eq i32 %t44, 49 %t46 = zext i1 %t45 to i32 %t47 = icmp ne i32 %t46, 0 %t48 = zext i1 %t47 to i32 store i32 %t48, ptr %t23 br label %scend12 scend12: %t49 = load i32, ptr %t23 %t50 = icmp ne i32 %t49, 0 %t51 = zext i1 %t50 to i32 store i32 %t51, ptr %t22 br i1 %t50, label %scend14, label %sc13 sc13: %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, 56 %t56 = zext i1 %t55 to i32 %t57 = icmp ne i32 %t56, 0 %t58 = zext i1 %t57 to i32 store i32 %t58, ptr %t22 br label %scend14 scend14: %t59 = load i32, ptr %t22 %t60 = icmp ne i32 %t59, 0 br i1 %t60, label %then15, label %ifend17 then15: %t61 = load ptr, ptr %t0 call void @fn_ck_stmt(ptr %t61) br label %ret ifend17: %t62 = load ptr, ptr %t0 %t63 = call ptr @fn_ck_expr(ptr %t62) br label %ret ret: ret void } define ptr @fn_ck_expr(ptr %arg_e) { entry: %retval = alloca ptr %t0 = alloca ptr %t6 = alloca ptr %t10 = alloca i32 %t34 = alloca i32 %t78 = 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: store ptr @.str16808, ptr %retval br label %ret ifend2: %t5 = load ptr, ptr @g_ck_expect store ptr %t5, ptr %t6 store ptr null, ptr @g_ck_expect %t7 = load ptr, ptr %t0 %t8 = getelementptr inbounds %Cmp_Node, ptr %t7, i32 0, i32 0 %t9 = load i32, ptr %t8 store i32 %t9, ptr %t10 %t11 = load i32, ptr %t10 %t12 = icmp eq i32 %t11, 30 %t13 = zext i1 %t12 to i32 %t14 = icmp ne i32 %t13, 0 br i1 %t14, label %then3, label %ifend5 then3: %t15 = load ptr, ptr %t0 %t16 = getelementptr inbounds %Cmp_Node, ptr %t15, i32 0, i32 1 %t17 = load ptr, ptr %t16 %t18 = icmp ne ptr %t17, null %t19 = zext i1 %t18 to i32 %t20 = icmp ne i32 %t19, 0 br i1 %t20, label %then6, label %ifend8 then6: store ptr @.str16809, ptr %retval br label %ret ifend8: store ptr @.str16810, ptr %retval br label %ret ifend5: %t21 = load i32, ptr %t10 %t22 = icmp eq i32 %t21, 40 %t23 = zext i1 %t22 to i32 %t24 = icmp ne i32 %t23, 0 br i1 %t24, label %then9, label %ifend11 then9: %t25 = load ptr, ptr %t0 %t26 = getelementptr inbounds %Cmp_Node, ptr %t25, i32 0, i32 9 %t27 = load ptr, ptr %t26 %t28 = call i32 @fn_is_float_file(ptr %t27) %t29 = icmp ne i32 %t28, 0 br i1 %t29, label %then12, label %ifend14 then12: store ptr @.str16811, ptr %retval br label %ret ifend14: store ptr @.str16812, ptr %retval br label %ret ifend11: %t30 = load i32, ptr %t10 %t31 = icmp eq i32 %t30, 31 %t32 = zext i1 %t31 to i32 %t33 = icmp ne i32 %t32, 0 br i1 %t33, label %then15, label %ifend17 then15: %t35 = load ptr, ptr %t0 %t36 = getelementptr inbounds %Cmp_Node, ptr %t35, i32 0, i32 2 %t37 = load i32, ptr %t36 %t38 = icmp eq i32 %t37, 1 %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 %scend19, label %sc18 sc18: %t42 = load ptr, ptr %t0 %t43 = getelementptr inbounds %Cmp_Node, ptr %t42, i32 0, i32 2 %t44 = load i32, ptr %t43 %t45 = icmp eq i32 %t44, 2 %t46 = zext i1 %t45 to i32 %t47 = icmp ne i32 %t46, 0 %t48 = zext i1 %t47 to i32 store i32 %t48, ptr %t34 br label %scend19 scend19: %t49 = load i32, ptr %t34 %t50 = icmp ne i32 %t49, 0 br i1 %t50, label %then20, label %ifend22 then20: store ptr @.str16813, ptr %retval br label %ret ifend22: store ptr @.str16814, ptr %retval br label %ret ifend17: %t51 = load i32, ptr %t10 %t52 = icmp eq i32 %t51, 44 %t53 = zext i1 %t52 to i32 %t54 = icmp ne i32 %t53, 0 br i1 %t54, label %then23, label %ifend25 then23: %t55 = load ptr, ptr %t0 call void @fn_ck_walk(ptr %t55) store ptr @.str16815, ptr %retval br label %ret ifend25: %t56 = load i32, ptr %t10 %t57 = icmp eq i32 %t56, 32 %t58 = zext i1 %t57 to i32 %t59 = icmp ne i32 %t58, 0 br i1 %t59, label %then26, label %ifend28 then26: store ptr @.str16816, ptr %retval br label %ret ifend28: %t60 = load i32, ptr %t10 %t61 = icmp eq i32 %t60, 43 %t62 = zext i1 %t61 to i32 %t63 = icmp ne i32 %t62, 0 br i1 %t63, label %then29, label %ifend31 then29: store ptr @.str16817, ptr %retval br label %ret ifend31: %t64 = load i32, ptr %t10 %t65 = icmp eq i32 %t64, 33 %t66 = zext i1 %t65 to i32 %t67 = icmp ne i32 %t66, 0 br i1 %t67, label %then32, label %ifend34 then32: %t68 = load ptr, ptr %t0 %t69 = call ptr @fn_ck_id(ptr %t68) store ptr %t69, ptr %retval br label %ret ifend34: %t70 = load i32, ptr %t10 %t71 = icmp eq i32 %t70, 55 %t72 = zext i1 %t71 to i32 %t73 = icmp ne i32 %t72, 0 br i1 %t73, label %then35, label %ifend37 then35: %t74 = load ptr, ptr %t0 %t75 = getelementptr inbounds %Cmp_Node, ptr %t74, i32 0, i32 1 %t76 = load ptr, ptr %t75 %t77 = call ptr @fn_ck_fn(ptr %t76) store ptr %t77, ptr %t78 %t79 = load ptr, ptr %t78 %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 %t0 call void @fn_ck_vis(ptr %t79, ptr %t82, ptr %t83) %t84 = load ptr, ptr %t78 %t85 = icmp ne ptr %t84, null %t86 = zext i1 %t85 to i32 %t87 = icmp ne i32 %t86, 0 br i1 %t87, label %then38, label %ifend40 then38: %t88 = load ptr, ptr %t78 %t89 = call ptr @fn_fn_sig_of(ptr %t88) store ptr %t89, ptr %retval br label %ret ifend40: %t90 = load ptr, ptr %t0 %t91 = getelementptr inbounds %Cmp_Node, ptr %t90, i32 0, i32 1 %t92 = load ptr, ptr %t91 %t93 = call ptr @fn_find_fn(ptr %t92) %t94 = icmp eq ptr %t93, null %t95 = zext i1 %t94 to i32 %t96 = icmp ne i32 %t95, 0 br i1 %t96, label %then41, label %ifend43 then41: %t97 = load ptr, ptr %t0 %t98 = load ptr, ptr %t0 %t99 = getelementptr inbounds %Cmp_Node, ptr %t98, i32 0, i32 1 %t100 = load ptr, ptr %t99 store i32 9417, ptr @lp_site %t101 = call ptr @lp_str_concat(ptr @.str16819, ptr %t100) store i32 0, ptr @lp_site store i32 9418, ptr @lp_site %t102 = call ptr @lp_str_concat(ptr %t101, ptr @.str16821) store i32 0, ptr @lp_site call void @lp_free(ptr %t101) %t103 = load ptr, ptr %t0 %t104 = getelementptr inbounds %Cmp_Node, ptr %t103, i32 0, i32 1 %t105 = load ptr, ptr %t104 store i32 9419, ptr @lp_site %t106 = call ptr @lp_str_concat(ptr %t102, ptr %t105) store i32 0, ptr @lp_site call void @lp_free(ptr %t102) call void @fn_ck_err(ptr @.str16818, ptr %t97, ptr %t106) br label %ifend43 ifend43: store ptr @.str16822, ptr %retval br label %ret ifend37: %t107 = load i32, ptr %t10 %t108 = icmp eq i32 %t107, 39 %t109 = zext i1 %t108 to i32 %t110 = icmp ne i32 %t109, 0 br i1 %t110, label %then44, label %ifend46 then44: %t111 = load ptr, ptr %t0 %t112 = call ptr @fn_ck_new(ptr %t111) store ptr %t112, ptr %retval br label %ret ifend46: %t113 = load i32, ptr %t10 %t114 = icmp eq i32 %t113, 54 %t115 = zext i1 %t114 to i32 %t116 = icmp ne i32 %t115, 0 br i1 %t116, label %then47, label %ifend49 then47: %t117 = load ptr, ptr %t0 %t118 = call ptr @fn_ck_list(ptr %t117) store ptr %t118, ptr %retval br label %ret ifend49: %t119 = load i32, ptr %t10 %t120 = icmp eq i32 %t119, 37 %t121 = zext i1 %t120 to i32 %t122 = icmp ne i32 %t121, 0 br i1 %t122, label %then50, label %ifend52 then50: %t123 = load ptr, ptr %t0 %t124 = call ptr @fn_ck_bin(ptr %t123) store ptr %t124, ptr %retval br label %ret ifend52: %t125 = load i32, ptr %t10 %t126 = icmp eq i32 %t125, 38 %t127 = zext i1 %t126 to i32 %t128 = icmp ne i32 %t127, 0 br i1 %t128, label %then53, label %ifend55 then53: %t129 = load ptr, ptr %t0 %t130 = call ptr @fn_ck_un(ptr %t129) store ptr %t130, ptr %retval br label %ret ifend55: %t131 = load i32, ptr %t10 %t132 = icmp eq i32 %t131, 35 %t133 = zext i1 %t132 to i32 %t134 = icmp ne i32 %t133, 0 br i1 %t134, label %then56, label %ifend58 then56: %t135 = load ptr, ptr %t0 %t136 = call ptr @fn_ck_member(ptr %t135) store ptr %t136, ptr %retval br label %ret ifend58: %t137 = load i32, ptr %t10 %t138 = icmp eq i32 %t137, 36 %t139 = zext i1 %t138 to i32 %t140 = icmp ne i32 %t139, 0 br i1 %t140, label %then59, label %ifend61 then59: %t141 = load ptr, ptr %t0 %t142 = call ptr @fn_ck_index_of(ptr %t141) store ptr %t142, ptr %retval br label %ret ifend61: %t143 = load i32, ptr %t10 %t144 = icmp eq i32 %t143, 34 %t145 = zext i1 %t144 to i32 %t146 = icmp ne i32 %t145, 0 br i1 %t146, label %then62, label %ifend64 then62: %t147 = load ptr, ptr %t6 store ptr %t147, ptr @g_ck_call_expect %t148 = load ptr, ptr %t0 %t149 = call ptr @fn_ck_call(ptr %t148) store ptr %t149, ptr %retval br label %ret ifend64: %t150 = load i32, ptr %t10 %t151 = icmp eq i32 %t150, 49 %t152 = zext i1 %t151 to i32 %t153 = icmp ne i32 %t152, 0 br i1 %t153, label %then65, label %ifend67 then65: %t154 = load ptr, ptr %t0 call void @fn_ck_emit(ptr %t154) store ptr @.str16823, ptr %retval br label %ret ifend67: %t155 = load ptr, ptr %t0 call void @fn_ck_walk(ptr %t155) store ptr @.str16824, ptr %retval br label %ret ret: %t156 = load ptr, ptr %retval ret ptr %t156 } define ptr @fn_ck_id(ptr %arg_e) { entry: %retval = alloca ptr %t0 = alloca ptr %t5 = alloca i32 %t35 = alloca ptr %t54 = alloca ptr store ptr %arg_e, 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 i32 @fn_ck_local(ptr %t3) store i32 %t4, ptr %t5 %t6 = load i32, ptr %t5 %t7 = icmp sge i32 %t6, 0 %t8 = zext i1 %t7 to i32 %t9 = icmp ne i32 %t8, 0 br i1 %t9, label %then0, label %ifend2 then0: %t10 = load ptr, ptr %t0 %t11 = load ptr, ptr @g_ck_tys %t12 = load i32, ptr %t5 %t13 = getelementptr inbounds %LSlice, ptr %t11, i32 0, i32 0 %t14 = load ptr, ptr %t13 %t15 = getelementptr inbounds %LSlice, ptr %t11, i32 0, i32 1 %t16 = load i32, ptr %t15 %t17 = icmp ult i32 %t12, %t16 br i1 %t17, label %ixok3, label %ixbad4 ixbad4: store i32 9420, ptr @lp_site %t18 = call ptr @lp_win_stdio(i32 2) store i32 0, ptr @lp_site call i32 (ptr, ptr, ...) @fprintf(ptr %t18, ptr @.fmt_bounds, ptr @.str16825, i32 %t12, i32 %t16) call void @exit(i32 1) unreachable ixok3: %t19 = getelementptr inbounds ptr, ptr %t14, i32 %t12 %t20 = load ptr, ptr %t19 call void @fn_mg_local_use(ptr %t10, ptr %t20) %t21 = load ptr, ptr @g_ck_tys %t22 = load i32, ptr %t5 %t23 = getelementptr inbounds %LSlice, ptr %t21, i32 0, i32 0 %t24 = load ptr, ptr %t23 %t25 = getelementptr inbounds %LSlice, ptr %t21, i32 0, i32 1 %t26 = load i32, ptr %t25 %t27 = icmp ult i32 %t22, %t26 br i1 %t27, label %ixok5, label %ixbad6 ixbad6: store i32 9421, ptr @lp_site %t28 = call ptr @lp_win_stdio(i32 2) store i32 0, ptr @lp_site call i32 (ptr, ptr, ...) @fprintf(ptr %t28, ptr @.fmt_bounds, ptr @.str16827, i32 %t22, i32 %t26) call void @exit(i32 1) unreachable ixok5: %t29 = getelementptr inbounds ptr, ptr %t24, i32 %t22 %t30 = load ptr, ptr %t29 store ptr %t30, ptr %retval br label %ret ifend2: %t31 = load ptr, ptr %t0 %t32 = getelementptr inbounds %Cmp_Node, ptr %t31, i32 0, i32 1 %t33 = load ptr, ptr %t32 %t34 = call ptr @fn_ck_global(ptr %t33) store ptr %t34, ptr %t35 %t36 = load ptr, ptr %t35 %t37 = icmp ne ptr %t36, null %t38 = zext i1 %t37 to i32 %t39 = icmp ne i32 %t38, 0 br i1 %t39, label %then7, label %ifend9 then7: %t40 = load ptr, ptr %t0 %t41 = load ptr, ptr %t35 call void @fn_mg_ref(ptr %t40, ptr %t41) %t42 = load ptr, ptr %t35 %t43 = load ptr, ptr %t0 %t44 = getelementptr inbounds %Cmp_Node, ptr %t43, i32 0, i32 1 %t45 = load ptr, ptr %t44 %t46 = load ptr, ptr %t0 call void @fn_ck_vis(ptr %t42, ptr %t45, ptr %t46) %t47 = load ptr, ptr %t35 %t48 = getelementptr inbounds %Cmp_Node, ptr %t47, i32 0, i32 3 %t49 = load ptr, ptr %t48 store ptr %t49, ptr %retval br label %ret ifend9: %t50 = load ptr, ptr %t0 %t51 = getelementptr inbounds %Cmp_Node, ptr %t50, i32 0, i32 1 %t52 = load ptr, ptr %t51 %t53 = call ptr @fn_mg_field_var(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 %then10, label %ifend12 then10: %t59 = load ptr, ptr %t0 %t60 = load ptr, ptr %t54 call void @fn_mg_ref(ptr %t59, ptr %t60) %t61 = load ptr, ptr %t54 %t62 = getelementptr inbounds %Cmp_Node, ptr %t61, i32 0, i32 3 %t63 = load ptr, ptr %t62 store ptr %t63, ptr %retval br label %ret ifend12: store ptr @.str16828, ptr %retval br label %ret ret: %t64 = load ptr, ptr %retval ret ptr %t64 } define void @fn_ck_vis(ptr %arg_d, ptr %arg_name, ptr %arg_at) { entry: %t0 = alloca ptr %t1 = alloca ptr %t2 = alloca ptr %t3 = alloca i32 %t4 = alloca i32 %t5 = alloca i32 %t6 = alloca i32 store ptr %arg_d, ptr %t0 store ptr %arg_name, ptr %t1 store ptr %arg_at, ptr %t2 %t7 = load i32, ptr @g_g_check_only %t8 = icmp eq i32 %t7, 0 %t9 = zext i1 %t8 to i32 %t10 = icmp ne i32 %t9, 0 %t11 = zext i1 %t10 to i32 store i32 %t11, ptr %t6 br i1 %t10, label %scend1, label %sc0 sc0: %t12 = load i32, ptr @g_ck_vis_skip %t13 = icmp ne i32 %t12, 0 %t14 = zext i1 %t13 to i32 store i32 %t14, ptr %t6 br label %scend1 scend1: %t15 = load i32, ptr %t6 %t16 = icmp ne i32 %t15, 0 %t17 = zext i1 %t16 to i32 store i32 %t17, ptr %t5 br i1 %t16, label %scend3, label %sc2 sc2: %t18 = load ptr, ptr %t0 %t19 = icmp eq 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 %t5 br label %scend3 scend3: %t23 = load i32, ptr %t5 %t24 = icmp ne i32 %t23, 0 %t25 = zext i1 %t24 to i32 store i32 %t25, ptr %t4 br i1 %t24, label %scend5, label %sc4 sc4: %t26 = load ptr, ptr %t2 %t27 = icmp eq ptr %t26, null %t28 = zext i1 %t27 to i32 %t29 = icmp ne i32 %t28, 0 %t30 = zext i1 %t29 to i32 store i32 %t30, ptr %t4 br label %scend5 scend5: %t31 = load i32, ptr %t4 %t32 = icmp ne i32 %t31, 0 %t33 = zext i1 %t32 to i32 store i32 %t33, ptr %t3 br i1 %t32, label %scend7, label %sc6 sc6: %t34 = load ptr, ptr %t2 %t35 = getelementptr inbounds %Cmp_Node, ptr %t34, i32 0, i32 9 %t36 = load ptr, ptr %t35 %t37 = icmp eq ptr %t36, null %t38 = zext i1 %t37 to i32 %t39 = icmp ne i32 %t38, 0 %t40 = zext i1 %t39 to i32 store i32 %t40, ptr %t3 br label %scend7 scend7: %t41 = load i32, ptr %t3 %t42 = icmp ne i32 %t41, 0 br i1 %t42, label %then8, label %ifend10 then8: br label %ret ifend10: %t43 = load ptr, ptr %t2 %t44 = getelementptr inbounds %Cmp_Node, ptr %t43, i32 0, i32 9 %t45 = load ptr, ptr %t44 store ptr %t45, ptr @g_g_err_file %t46 = load ptr, ptr @g_ck_vis_file %t47 = icmp ne ptr %t46, null %t48 = zext i1 %t47 to i32 %t49 = icmp ne i32 %t48, 0 br i1 %t49, label %then11, label %ifend13 then11: %t50 = load ptr, ptr @g_ck_vis_file store ptr %t50, ptr @g_g_err_file br label %ifend13 ifend13: %t51 = load ptr, ptr %t2 %t52 = getelementptr inbounds %Cmp_Node, ptr %t51, i32 0, i32 8 %t53 = load i32, ptr %t52 store i32 %t53, ptr @g_g_err_line %t54 = load ptr, ptr %t0 %t55 = load ptr, ptr %t1 call void @fn_vis_check(ptr %t54, ptr %t55) br label %ret ret: ret void } define ptr @fn_ck_new(ptr %arg_e) { entry: %retval = alloca ptr %t0 = alloca ptr %t5 = alloca ptr %t11 = alloca i32 %t12 = alloca i32 %t50 = alloca i32 %t76 = alloca ptr %t81 = alloca ptr %t82 = alloca i32 %t102 = alloca ptr store ptr %arg_e, 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_ck_record(ptr %t3) store ptr %t4, ptr %t5 %t6 = load ptr, ptr %t5 %t7 = load ptr, ptr %t0 %t8 = getelementptr inbounds %Cmp_Node, ptr %t7, i32 0, i32 1 %t9 = load ptr, ptr %t8 %t10 = load ptr, ptr %t0 call void @fn_ck_vis(ptr %t6, ptr %t9, ptr %t10) %t13 = load ptr, ptr %t5 %t14 = icmp eq 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 %t12 br i1 %t16, label %sc0, label %scend1 sc0: %t18 = load i32, ptr @g_g_check_only %t19 = icmp ne i32 %t18, 0 %t20 = zext i1 %t19 to i32 store i32 %t20, ptr %t12 br label %scend1 scend1: %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 %sc2, label %scend3 sc2: %t24 = load ptr, ptr %t0 %t25 = getelementptr inbounds %Cmp_Node, ptr %t24, i32 0, i32 1 %t26 = load ptr, ptr %t25 %t27 = call i32 @fn_port_find(ptr %t26) %t28 = icmp sge i32 %t27, 0 %t29 = zext i1 %t28 to i32 %t30 = icmp ne i32 %t29, 0 %t31 = zext i1 %t30 to i32 store i32 %t31, ptr %t11 br label %scend3 scend3: %t32 = load i32, ptr %t11 %t33 = icmp ne i32 %t32, 0 br i1 %t33, label %then4, label %ifend6 then4: %t34 = load ptr, ptr %t0 %t35 = load ptr, ptr %t0 %t36 = getelementptr inbounds %Cmp_Node, ptr %t35, i32 0, i32 1 %t37 = load ptr, ptr %t36 store i32 9422, ptr @lp_site %t38 = call ptr @lp_str_concat(ptr %t37, ptr @.str16830) store i32 0, ptr @lp_site %t39 = load ptr, ptr %t0 %t40 = getelementptr inbounds %Cmp_Node, ptr %t39, i32 0, i32 1 %t41 = load ptr, ptr %t40 store i32 9423, ptr @lp_site %t42 = call ptr @lp_str_concat(ptr %t38, ptr %t41) store i32 0, ptr @lp_site call void @lp_free(ptr %t38) store i32 9424, ptr @lp_site %t43 = call ptr @lp_str_concat(ptr %t42, ptr @.str16832) store i32 0, ptr @lp_site call void @lp_free(ptr %t42) call void @fn_ck_err(ptr @.str16829, ptr %t34, ptr %t43) br label %ifend6 ifend6: %t44 = load ptr, ptr %t0 %t45 = getelementptr inbounds %Cmp_Node, ptr %t44, i32 0, i32 4 %t46 = load ptr, ptr %t45 %t47 = icmp ne ptr %t46, null %t48 = zext i1 %t47 to i32 %t49 = icmp ne i32 %t48, 0 br i1 %t49, label %then7, label %ifend9 then7: store i32 0, ptr %t50 br label %wcond10 wcond10: %t51 = load i32, ptr %t50 %t52 = load ptr, ptr %t0 %t53 = getelementptr inbounds %Cmp_Node, ptr %t52, i32 0, i32 4 %t54 = load ptr, ptr %t53 %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 1 %t58 = load i32, ptr %t57 %t59 = icmp slt i32 %t51, %t58 %t60 = zext i1 %t59 to i32 %t61 = icmp ne i32 %t60, 0 br i1 %t61, label %wbody11, label %wend12 wbody11: %t62 = load ptr, ptr %t0 %t63 = getelementptr inbounds %Cmp_Node, ptr %t62, i32 0, i32 4 %t64 = load ptr, ptr %t63 %t65 = getelementptr inbounds %Cmp_Node, ptr %t64, i32 0, i32 7 %t66 = load ptr, ptr %t65 %t67 = load i32, ptr %t50 %t68 = getelementptr inbounds %LSlice, ptr %t66, i32 0, i32 0 %t69 = load ptr, ptr %t68 %t70 = getelementptr inbounds %LSlice, ptr %t66, i32 0, i32 1 %t71 = load i32, ptr %t70 %t72 = icmp ult i32 %t67, %t71 br i1 %t72, label %ixok13, label %ixbad14 ixbad14: store i32 9425, ptr @lp_site %t73 = call ptr @lp_win_stdio(i32 2) store i32 0, ptr @lp_site call i32 (ptr, ptr, ...) @fprintf(ptr %t73, ptr @.fmt_bounds, ptr @.str16833, i32 %t67, i32 %t71) call void @exit(i32 1) unreachable ixok13: %t74 = getelementptr inbounds ptr, ptr %t69, i32 %t67 %t75 = load ptr, ptr %t74 store ptr %t75, ptr %t76 %t77 = load ptr, ptr %t76 %t78 = getelementptr inbounds %Cmp_Node, ptr %t77, i32 0, i32 4 %t79 = load ptr, ptr %t78 %t80 = call ptr @fn_ck_expr(ptr %t79) store ptr %t80, ptr %t81 %t83 = load ptr, ptr %t5 %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 %t82 br i1 %t86, label %sc15, label %scend16 sc15: %t88 = load ptr, ptr %t76 %t89 = getelementptr inbounds %Cmp_Node, ptr %t88, i32 0, i32 0 %t90 = load i32, ptr %t89 %t91 = icmp eq i32 %t90, 42 %t92 = zext i1 %t91 to i32 %t93 = icmp ne i32 %t92, 0 %t94 = zext i1 %t93 to i32 store i32 %t94, ptr %t82 br label %scend16 scend16: %t95 = load i32, ptr %t82 %t96 = icmp ne i32 %t95, 0 br i1 %t96, label %then17, label %ifend19 then17: %t97 = load ptr, ptr %t5 %t98 = load ptr, ptr %t76 %t99 = getelementptr inbounds %Cmp_Node, ptr %t98, i32 0, i32 1 %t100 = load ptr, ptr %t99 %t101 = call ptr @fn_ck_field(ptr %t97, ptr %t100) store ptr %t101, ptr %t102 %t103 = load ptr, ptr %t102 %t104 = icmp ne ptr %t103, null %t105 = zext i1 %t104 to i32 %t106 = icmp ne i32 %t105, 0 br i1 %t106, label %then20, label %ifend22 then20: %t107 = load ptr, ptr %t102 %t108 = load ptr, ptr %t81 %t109 = load ptr, ptr %t76 %t110 = getelementptr inbounds %Cmp_Node, ptr %t109, i32 0, i32 4 %t111 = load ptr, ptr %t110 %t112 = load ptr, ptr %t76 %t113 = getelementptr inbounds %Cmp_Node, ptr %t112, i32 0, i32 1 %t114 = load ptr, ptr %t113 store i32 9426, ptr @lp_site %t115 = call ptr @lp_str_concat(ptr @.str16834, ptr %t114) store i32 0, ptr @lp_site store i32 9427, ptr @lp_site %t116 = call ptr @lp_str_concat(ptr %t115, ptr @.str16835) store i32 0, ptr @lp_site call void @lp_free(ptr %t115) %t117 = load ptr, ptr %t0 %t118 = getelementptr inbounds %Cmp_Node, ptr %t117, i32 0, i32 1 %t119 = load ptr, ptr %t118 store i32 9428, ptr @lp_site %t120 = call ptr @lp_str_concat(ptr %t116, ptr %t119) store i32 0, ptr @lp_site call void @lp_free(ptr %t116) call void @fn_ck_give(ptr %t107, ptr %t108, ptr %t111, ptr %t120) br label %ifend22 ifend22: %t121 = load ptr, ptr %t102 %t122 = icmp eq ptr %t121, null %t123 = zext i1 %t122 to i32 %t124 = icmp ne i32 %t123, 0 br i1 %t124, label %then23, label %ifend25 then23: %t125 = load ptr, ptr %t76 %t126 = getelementptr inbounds %Cmp_Node, ptr %t125, i32 0, i32 4 %t127 = load ptr, ptr %t126 %t128 = load ptr, ptr %t0 %t129 = getelementptr inbounds %Cmp_Node, ptr %t128, i32 0, i32 1 %t130 = load ptr, ptr %t129 %t131 = call ptr @fn_gen_show(ptr %t130) store i32 9429, ptr @lp_site %t132 = call ptr @lp_str_concat(ptr %t131, ptr @.str16837) store i32 0, ptr @lp_site %t133 = load ptr, ptr %t76 %t134 = getelementptr inbounds %Cmp_Node, ptr %t133, i32 0, i32 1 %t135 = load ptr, ptr %t134 store i32 9430, ptr @lp_site %t136 = call ptr @lp_str_concat(ptr %t132, ptr %t135) store i32 0, ptr @lp_site call void @lp_free(ptr %t132) call void @fn_ck_err(ptr @.str16836, ptr %t127, ptr %t136) br label %ifend25 ifend25: br label %ifend19 ifend19: %t137 = load i32, ptr %t50 %t138 = add i32 %t137, 1 store i32 %t138, ptr %t50 br label %wcond10 wend12: br label %ifend9 ifend9: %t139 = load ptr, ptr %t0 %t140 = getelementptr inbounds %Cmp_Node, ptr %t139, i32 0, i32 1 %t141 = load ptr, ptr %t140 store ptr %t141, ptr %retval br label %ret ret: %t142 = load ptr, ptr %retval ret ptr %t142 } define ptr @fn_ck_list(ptr %arg_e) { entry: %retval = alloca ptr %t0 = alloca ptr %t1 = alloca ptr %t2 = alloca i32 %t4 = alloca ptr %t14 = alloca i32 %t67 = alloca ptr %t91 = alloca i32 store ptr %arg_e, ptr %t0 store ptr @.str16838, ptr %t1 store i32 0, ptr %t2 %t3 = load ptr, ptr @g_ck_vis_file store ptr %t3, ptr %t4 br label %wcond0 wcond0: %t5 = load i32, ptr %t2 %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: %t15 = load ptr, ptr %t4 %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 %t14 br i1 %t18, label %sc3, label %scend4 sc3: %t20 = load ptr, ptr %t0 %t21 = getelementptr inbounds %Cmp_Node, ptr %t20, i32 0, i32 7 %t22 = load ptr, ptr %t21 %t23 = load i32, ptr %t2 %t24 = getelementptr inbounds %LSlice, ptr %t22, i32 0, i32 0 %t25 = load ptr, ptr %t24 %t26 = getelementptr inbounds %LSlice, ptr %t22, i32 0, i32 1 %t27 = load i32, ptr %t26 %t28 = icmp ult i32 %t23, %t27 br i1 %t28, label %ixok5, label %ixbad6 ixbad6: store i32 9431, ptr @lp_site %t29 = call ptr @lp_win_stdio(i32 2) store i32 0, ptr @lp_site call i32 (ptr, ptr, ...) @fprintf(ptr %t29, ptr @.fmt_bounds, ptr @.str16839, i32 %t23, i32 %t27) call void @exit(i32 1) unreachable ixok5: %t30 = getelementptr inbounds ptr, ptr %t25, i32 %t23 %t31 = load ptr, ptr %t30 %t32 = getelementptr inbounds %Cmp_Node, ptr %t31, i32 0, i32 9 %t33 = load ptr, ptr %t32 %t34 = icmp ne 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 %t14 br label %scend4 scend4: %t38 = load i32, ptr %t14 %t39 = icmp ne i32 %t38, 0 br i1 %t39, label %then7, label %ifend9 then7: %t40 = load ptr, ptr %t0 %t41 = getelementptr inbounds %Cmp_Node, ptr %t40, i32 0, i32 7 %t42 = load ptr, ptr %t41 %t43 = load i32, ptr %t2 %t44 = getelementptr inbounds %LSlice, ptr %t42, i32 0, i32 0 %t45 = load ptr, ptr %t44 %t46 = getelementptr inbounds %LSlice, ptr %t42, i32 0, i32 1 %t47 = load i32, ptr %t46 %t48 = icmp ult i32 %t43, %t47 br i1 %t48, label %ixok10, label %ixbad11 ixbad11: store i32 9432, ptr @lp_site %t49 = call ptr @lp_win_stdio(i32 2) store i32 0, ptr @lp_site call i32 (ptr, ptr, ...) @fprintf(ptr %t49, ptr @.fmt_bounds, ptr @.str16841, i32 %t43, i32 %t47) call void @exit(i32 1) unreachable ixok10: %t50 = getelementptr inbounds ptr, ptr %t45, i32 %t43 %t51 = load ptr, ptr %t50 %t52 = getelementptr inbounds %Cmp_Node, ptr %t51, i32 0, i32 9 %t53 = load ptr, ptr %t52 store ptr %t53, ptr @g_ck_vis_file br label %ifend9 ifend9: %t54 = load ptr, ptr %t0 %t55 = getelementptr inbounds %Cmp_Node, ptr %t54, i32 0, i32 7 %t56 = load ptr, ptr %t55 %t57 = load i32, ptr %t2 %t58 = getelementptr inbounds %LSlice, ptr %t56, i32 0, i32 0 %t59 = load ptr, ptr %t58 %t60 = getelementptr inbounds %LSlice, ptr %t56, i32 0, i32 1 %t61 = load i32, ptr %t60 %t62 = icmp ult i32 %t57, %t61 br i1 %t62, label %ixok12, label %ixbad13 ixbad13: store i32 9433, ptr @lp_site %t63 = call ptr @lp_win_stdio(i32 2) store i32 0, ptr @lp_site call i32 (ptr, ptr, ...) @fprintf(ptr %t63, ptr @.fmt_bounds, ptr @.str16842, i32 %t57, i32 %t61) call void @exit(i32 1) unreachable ixok12: %t64 = getelementptr inbounds ptr, ptr %t59, i32 %t57 %t65 = load ptr, ptr %t64 %t66 = call ptr @fn_ck_expr(ptr %t65) store ptr %t66, ptr %t67 %t68 = load ptr, ptr %t4 store ptr %t68, ptr @g_ck_vis_file %t69 = load ptr, ptr %t1 %t70 = call i32 @fn_ck_unknown(ptr %t69) %t71 = icmp ne i32 %t70, 0 br i1 %t71, label %then14, label %else15 then14: %t72 = load ptr, ptr %t67 store ptr %t72, ptr %t1 br label %ifend16 else15: %t73 = load ptr, ptr %t1 %t74 = load ptr, ptr %t67 %t75 = load ptr, ptr %t0 %t76 = getelementptr inbounds %Cmp_Node, ptr %t75, i32 0, i32 7 %t77 = load ptr, ptr %t76 %t78 = load i32, ptr %t2 %t79 = getelementptr inbounds %LSlice, ptr %t77, i32 0, i32 0 %t80 = load ptr, ptr %t79 %t81 = getelementptr inbounds %LSlice, ptr %t77, i32 0, i32 1 %t82 = load i32, ptr %t81 %t83 = icmp ult i32 %t78, %t82 br i1 %t83, label %ixok17, label %ixbad18 ixbad18: store i32 9434, ptr @lp_site %t84 = call ptr @lp_win_stdio(i32 2) store i32 0, ptr @lp_site call i32 (ptr, ptr, ...) @fprintf(ptr %t84, ptr @.fmt_bounds, ptr @.str16843, i32 %t78, i32 %t82) call void @exit(i32 1) unreachable ixok17: %t85 = getelementptr inbounds ptr, ptr %t80, i32 %t78 %t86 = load ptr, ptr %t85 %t87 = load ptr, ptr %t1 store i32 9435, ptr @lp_site %t88 = call ptr @lp_str_concat(ptr @.str16844, ptr %t87) store i32 0, ptr @lp_site call void @fn_ck_give(ptr %t73, ptr %t74, ptr %t86, ptr %t88) br label %ifend16 ifend16: %t89 = load i32, ptr %t2 %t90 = add i32 %t89, 1 store i32 %t90, ptr %t2 br label %wcond0 wend2: %t92 = load ptr, ptr %t1 %t93 = call i32 @fn_ck_unknown(ptr %t92) %t94 = icmp ne i32 %t93, 0 %t95 = zext i1 %t94 to i32 store i32 %t95, ptr %t91 br i1 %t94, label %scend20, label %sc19 sc19: %t96 = load ptr, ptr %t1 %t97 = call i32 @lp_str_eq(ptr %t96, ptr @.str16845) %t98 = icmp ne i32 %t97, 0 %t99 = zext i1 %t98 to i32 store i32 %t99, ptr %t91 br label %scend20 scend20: %t100 = load i32, ptr %t91 %t101 = icmp ne i32 %t100, 0 br i1 %t101, label %then21, label %ifend23 then21: store ptr @.str16846, ptr %retval br label %ret ifend23: %t102 = load ptr, ptr %t1 store i32 9436, ptr @lp_site %t103 = call ptr @lp_str_concat(ptr @.str16847, ptr %t102) store i32 0, ptr @lp_site store ptr %t103, ptr %retval br label %ret ret: %t104 = load ptr, ptr %retval ret ptr %t104 } define ptr @fn_ck_un(ptr %arg_e) { entry: %retval = alloca ptr %t0 = alloca ptr %t5 = alloca ptr %t6 = alloca i32 %t25 = alloca i32 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_ck_expr(ptr %t3) store ptr %t4, ptr %t5 %t7 = load ptr, ptr %t0 %t8 = getelementptr inbounds %Cmp_Node, ptr %t7, i32 0, i32 1 %t9 = load ptr, ptr %t8 %t10 = call i32 @lp_str_eq(ptr %t9, ptr @.str16848) %t11 = icmp ne i32 %t10, 0 %t12 = zext i1 %t11 to i32 store i32 %t12, ptr %t6 br i1 %t11, label %scend1, label %sc0 sc0: %t13 = load ptr, ptr %t0 %t14 = getelementptr inbounds %Cmp_Node, ptr %t13, i32 0, i32 1 %t15 = load ptr, ptr %t14 %t16 = call i32 @lp_str_eq(ptr %t15, ptr @.str16849) %t17 = icmp ne i32 %t16, 0 %t18 = zext i1 %t17 to i32 store i32 %t18, ptr %t6 br label %scend1 scend1: %t19 = load i32, ptr %t6 %t20 = icmp ne i32 %t19, 0 br i1 %t20, label %then2, label %ifend4 then2: %t21 = load ptr, ptr %t0 %t22 = getelementptr inbounds %Cmp_Node, ptr %t21, i32 0, i32 4 %t23 = load ptr, ptr %t22 %t24 = load ptr, ptr %t5 call void @fn_ck_cond(ptr %t23, ptr %t24) store ptr @.str16850, ptr %retval br label %ret ifend4: %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 @.str16851) %t30 = icmp ne i32 %t29, 0 %t31 = zext i1 %t30 to i32 store i32 %t31, ptr %t25 br i1 %t30, label %sc5, label %scend6 sc5: %t32 = load ptr, ptr %t5 %t33 = call i32 @lp_str_eq(ptr %t32, ptr @.str16852) %t34 = icmp ne i32 %t33, 0 %t35 = zext i1 %t34 to i32 store i32 %t35, ptr %t25 br label %scend6 scend6: %t36 = load i32, ptr %t25 %t37 = icmp ne i32 %t36, 0 br i1 %t37, label %then7, label %ifend9 then7: %t38 = load ptr, ptr %t0 call void @fn_ck_err(ptr @.str16853, ptr %t38, ptr @.str16854) br label %ifend9 ifend9: %t39 = load ptr, ptr %t5 store ptr %t39, ptr %retval br label %ret ret: %t40 = load ptr, ptr %retval ret ptr %t40 } define ptr @fn_ck_member(ptr %arg_e) { entry: %retval = alloca ptr %t0 = alloca ptr %t4 = alloca ptr %t5 = alloca i32 %t6 = alloca i32 %t39 = alloca ptr %t40 = alloca i32 %t59 = alloca ptr %t65 = alloca ptr %t75 = 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 store ptr %t3, ptr %t4 %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 %t13 = zext i1 %t12 to i32 store i32 %t13, ptr %t6 br i1 %t12, label %sc0, label %scend1 sc0: %t14 = load ptr, ptr %t4 %t15 = getelementptr inbounds %Cmp_Node, ptr %t14, i32 0, i32 1 %t16 = load ptr, ptr %t15 %t17 = call i32 @fn_ck_local(ptr %t16) %t18 = icmp slt 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 %t6 br label %scend1 scend1: %t22 = load i32, ptr %t6 %t23 = icmp ne i32 %t22, 0 %t24 = zext i1 %t23 to i32 store i32 %t24, ptr %t5 br i1 %t23, label %sc2, label %scend3 sc2: %t25 = load ptr, ptr %t4 %t26 = getelementptr inbounds %Cmp_Node, ptr %t25, i32 0, i32 1 %t27 = load ptr, ptr %t26 %t28 = call ptr @fn_ck_global(ptr %t27) %t29 = icmp eq ptr %t28, null %t30 = zext i1 %t29 to i32 %t31 = icmp ne i32 %t30, 0 %t32 = zext i1 %t31 to i32 store i32 %t32, ptr %t5 br label %scend3 scend3: %t33 = load i32, ptr %t5 %t34 = icmp ne i32 %t33, 0 br i1 %t34, label %then4, label %ifend6 then4: %t35 = load ptr, ptr %t4 %t36 = getelementptr inbounds %Cmp_Node, ptr %t35, i32 0, i32 1 %t37 = load ptr, ptr %t36 %t38 = call ptr @fn_ck_enum(ptr %t37) store ptr %t38, ptr %t39 %t41 = load ptr, ptr %t39 %t42 = icmp ne ptr %t41, null %t43 = zext i1 %t42 to i32 %t44 = icmp ne i32 %t43, 0 %t45 = zext i1 %t44 to i32 store i32 %t45, ptr %t40 br i1 %t44, label %sc7, label %scend8 sc7: %t46 = load ptr, ptr %t39 %t47 = call i32 @fn_enum_is_tagged(ptr %t46) %t48 = icmp eq i32 %t47, 0 %t49 = zext i1 %t48 to i32 %t50 = icmp ne i32 %t49, 0 %t51 = zext i1 %t50 to i32 store i32 %t51, ptr %t40 br label %scend8 scend8: %t52 = load i32, ptr %t40 %t53 = icmp ne i32 %t52, 0 br i1 %t53, label %then9, label %ifend11 then9: %t54 = load ptr, ptr %t4 %t55 = getelementptr inbounds %Cmp_Node, ptr %t54, i32 0, i32 1 %t56 = load ptr, ptr %t55 store ptr %t56, ptr %retval br label %ret ifend11: store ptr @.str16855, ptr %retval br label %ret ifend6: %t57 = load ptr, ptr %t4 %t58 = call ptr @fn_ck_expr(ptr %t57) store ptr %t58, ptr %t59 %t60 = load ptr, ptr %t59 %t61 = call i32 @fn_ck_unknown(ptr %t60) %t62 = icmp ne i32 %t61, 0 br i1 %t62, label %then12, label %ifend14 then12: store ptr @.str16856, ptr %retval br label %ret ifend14: %t63 = load ptr, ptr %t59 %t64 = call ptr @fn_ck_record(ptr %t63) store ptr %t64, ptr %t65 %t66 = load ptr, ptr %t65 %t67 = icmp ne ptr %t66, null %t68 = zext i1 %t67 to i32 %t69 = icmp ne i32 %t68, 0 br i1 %t69, label %then15, label %ifend17 then15: %t70 = load ptr, ptr %t65 %t71 = load ptr, ptr %t0 %t72 = getelementptr inbounds %Cmp_Node, ptr %t71, i32 0, i32 1 %t73 = load ptr, ptr %t72 %t74 = call ptr @fn_ck_field(ptr %t70, ptr %t73) store ptr %t74, ptr %t75 %t76 = load ptr, ptr %t75 %t77 = icmp ne ptr %t76, null %t78 = zext i1 %t77 to i32 %t79 = icmp ne i32 %t78, 0 br i1 %t79, label %then18, label %ifend20 then18: %t80 = load ptr, ptr %t75 store ptr %t80, ptr %retval br label %ret ifend20: br label %ifend17 ifend17: store ptr @.str16857, ptr %retval br label %ret ret: %t81 = load ptr, ptr %retval ret ptr %t81 } define ptr @fn_ck_index_of(ptr %arg_e) { entry: %retval = alloca ptr %t0 = alloca ptr %t5 = alloca ptr %t10 = alloca ptr %t18 = alloca i32 %t47 = alloca i32 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_ck_expr(ptr %t3) store ptr %t4, ptr %t5 %t6 = load ptr, ptr %t0 %t7 = getelementptr inbounds %Cmp_Node, ptr %t6, i32 0, i32 5 %t8 = load ptr, ptr %t7 %t9 = call ptr @fn_ck_expr(ptr %t8) store ptr %t9, ptr %t10 %t11 = load ptr, ptr %t5 %t12 = call i32 @fn_ck_is_raw(ptr %t11) %t13 = icmp ne i32 %t12, 0 br i1 %t13, label %then0, label %ifend2 then0: %t14 = load ptr, ptr %t0 %t15 = load ptr, ptr %t5 %t16 = call ptr @fn_ck_a(ptr %t15) store i32 9437, ptr @lp_site %t17 = call ptr @lp_str_concat(ptr @.str16858, ptr %t16) store i32 0, ptr @lp_site call void @fn_ck_raw(ptr %t14, ptr %t17) br label %ifend2 ifend2: %t19 = load ptr, ptr %t10 %t20 = call i32 @fn_ck_unknown(ptr %t19) %t21 = icmp eq i32 %t20, 0 %t22 = zext i1 %t21 to i32 %t23 = icmp ne i32 %t22, 0 %t24 = zext i1 %t23 to i32 store i32 %t24, ptr %t18 br i1 %t23, label %sc3, label %scend4 sc3: %t25 = load ptr, ptr %t10 %t26 = call i32 @fn_ck_is_int(ptr %t25) %t27 = icmp eq i32 %t26, 0 %t28 = zext i1 %t27 to i32 %t29 = icmp ne i32 %t28, 0 %t30 = zext i1 %t29 to i32 store i32 %t30, ptr %t18 br label %scend4 scend4: %t31 = load i32, ptr %t18 %t32 = icmp ne i32 %t31, 0 br i1 %t32, label %then5, label %ifend7 then5: %t33 = load ptr, ptr %t0 %t34 = getelementptr inbounds %Cmp_Node, ptr %t33, i32 0, i32 5 %t35 = load ptr, ptr %t34 %t36 = load ptr, ptr %t10 %t37 = call ptr @fn_ck_a(ptr %t36) store i32 9438, ptr @lp_site %t38 = call ptr @lp_str_concat(ptr @.str16861, ptr %t37) store i32 0, ptr @lp_site call void @fn_ck_err(ptr @.str16860, ptr %t35, ptr %t38) br label %ifend7 ifend7: %t39 = load ptr, ptr %t5 %t40 = call i32 @fn_ck_unknown(ptr %t39) %t41 = icmp ne i32 %t40, 0 br i1 %t41, label %then8, label %ifend10 then8: store ptr @.str16862, ptr %retval br label %ret ifend10: %t42 = load ptr, ptr %t5 %t43 = call i32 @fn_is_slice_ty(ptr %t42) %t44 = icmp ne i32 %t43, 0 br i1 %t44, label %then11, label %ifend13 then11: %t45 = load ptr, ptr %t5 %t46 = call ptr @fn_slice_elem(ptr %t45) store ptr %t46, ptr %retval br label %ret ifend13: %t48 = load ptr, ptr %t5 %t49 = call i32 @lp_str_eq(ptr %t48, ptr @.str16863) %t50 = icmp ne i32 %t49, 0 %t51 = zext i1 %t50 to i32 store i32 %t51, ptr %t47 br i1 %t50, label %scend15, label %sc14 sc14: %t52 = load ptr, ptr %t5 %t53 = call i32 @lp_str_eq(ptr %t52, ptr @.str16864) %t54 = icmp ne i32 %t53, 0 %t55 = zext i1 %t54 to i32 store i32 %t55, ptr %t47 br label %scend15 scend15: %t56 = load i32, ptr %t47 %t57 = icmp ne i32 %t56, 0 br i1 %t57, label %then16, label %ifend18 then16: store ptr @.str16865, ptr %retval br label %ret ifend18: %t58 = load ptr, ptr %t5 %t59 = call i32 @lp_str_eq(ptr %t58, ptr @.str16866) %t60 = icmp ne i32 %t59, 0 br i1 %t60, label %then19, label %ifend21 then19: store ptr @.str16867, ptr %retval br label %ret ifend21: %t61 = load ptr, ptr %t5 %t62 = call i32 @lp_str_eq(ptr %t61, ptr @.str16868) %t63 = icmp ne i32 %t62, 0 br i1 %t63, label %then22, label %ifend24 then22: store ptr @.str16869, ptr %retval br label %ret ifend24: %t64 = load ptr, ptr %t5 %t65 = call i32 @lp_str_eq(ptr %t64, ptr @.str16870) %t66 = icmp ne i32 %t65, 0 br i1 %t66, label %then25, label %ifend27 then25: store ptr @.str16871, ptr %retval br label %ret ifend27: %t67 = load ptr, ptr %t5 %t68 = call i32 @lp_str_eq(ptr %t67, ptr @.str16872) %t69 = icmp ne i32 %t68, 0 br i1 %t69, label %then28, label %ifend30 then28: store ptr @.str16873, ptr %retval br label %ret ifend30: store ptr @.str16874, ptr %retval br label %ret ret: %t70 = load ptr, ptr %retval ret ptr %t70 } define void @fn_ck_cond(ptr %arg_e, ptr %arg_t) { entry: %t0 = alloca ptr %t1 = alloca ptr %t2 = alloca i32 store ptr %arg_e, ptr %t0 store ptr %arg_t, ptr %t1 %t3 = load ptr, ptr %t1 %t4 = call i32 @fn_ck_unknown(ptr %t3) %t5 = icmp ne i32 %t4, 0 %t6 = zext i1 %t5 to i32 store i32 %t6, ptr %t2 br i1 %t5, label %scend1, label %sc0 sc0: %t7 = load ptr, ptr %t1 %t8 = call i32 @lp_str_eq(ptr %t7, ptr @.str16875) %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: br label %ret ifend4: %t13 = load ptr, ptr %t0 %t14 = load ptr, ptr %t1 %t15 = call ptr @fn_ck_a(ptr %t14) store i32 9439, ptr @lp_site %t16 = call ptr @lp_str_concat(ptr @.str16877, ptr %t15) store i32 0, ptr @lp_site call void @fn_ck_err(ptr @.str16876, ptr %t13, ptr %t16) br label %ret ret: ret void } define ptr @fn_ck_bin(ptr %arg_e) { entry: %retval = alloca ptr %t0 = alloca ptr %t4 = alloca ptr %t9 = alloca ptr %t14 = alloca ptr store ptr %arg_e, 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 %t0 %t6 = getelementptr inbounds %Cmp_Node, ptr %t5, i32 0, i32 4 %t7 = load ptr, ptr %t6 %t8 = call ptr @fn_ck_expr(ptr %t7) store ptr %t8, ptr %t9 %t10 = load ptr, ptr %t0 %t11 = getelementptr inbounds %Cmp_Node, ptr %t10, i32 0, i32 5 %t12 = load ptr, ptr %t11 %t13 = call ptr @fn_ck_expr(ptr %t12) store ptr %t13, ptr %t14 %t15 = load ptr, ptr %t0 %t16 = load ptr, ptr %t4 %t17 = load ptr, ptr %t9 %t18 = load ptr, ptr %t14 %t19 = load ptr, ptr %t0 %t20 = getelementptr inbounds %Cmp_Node, ptr %t19, i32 0, i32 4 %t21 = load ptr, ptr %t20 %t22 = load ptr, ptr %t0 %t23 = getelementptr inbounds %Cmp_Node, ptr %t22, i32 0, i32 5 %t24 = load ptr, ptr %t23 %t25 = call ptr @fn_ck_binop(ptr %t15, ptr %t16, ptr %t17, ptr %t18, ptr %t21, ptr %t24) store ptr %t25, ptr %retval br label %ret ret: %t26 = load ptr, ptr %retval ret ptr %t26 } define ptr @fn_ck_binop(ptr %arg_e, ptr %arg_op, ptr %arg_l, ptr %arg_r, ptr %arg_a, ptr %arg_b) { entry: %retval = alloca ptr %t0 = alloca ptr %t1 = alloca ptr %t2 = alloca ptr %t3 = alloca ptr %t4 = alloca ptr %t5 = alloca ptr %t6 = alloca i32 %t7 = alloca i32 %t8 = alloca i32 %t37 = alloca i32 %t38 = alloca i32 %t39 = alloca i32 %t40 = alloca i32 %t41 = alloca i32 %t86 = alloca i32 %t87 = alloca i32 %t88 = alloca i32 %t89 = alloca i32 %t128 = alloca i32 %t129 = alloca i32 %t130 = alloca i32 %t131 = alloca i32 %t163 = alloca i32 store ptr %arg_e, ptr %t0 store ptr %arg_op, ptr %t1 store ptr %arg_l, ptr %t2 store ptr %arg_r, ptr %t3 store ptr %arg_a, ptr %t4 store ptr %arg_b, ptr %t5 %t9 = load ptr, ptr %t1 %t10 = call i32 @lp_str_eq(ptr %t9, ptr @.str16879) %t11 = icmp ne i32 %t10, 0 %t12 = zext i1 %t11 to i32 store i32 %t12, ptr %t8 br i1 %t11, label %scend1, label %sc0 sc0: %t13 = load ptr, ptr %t1 %t14 = call i32 @lp_str_eq(ptr %t13, ptr @.str16880) %t15 = icmp ne i32 %t14, 0 %t16 = zext i1 %t15 to i32 store i32 %t16, ptr %t8 br label %scend1 scend1: %t17 = load i32, ptr %t8 %t18 = icmp ne i32 %t17, 0 %t19 = zext i1 %t18 to i32 store i32 %t19, ptr %t7 br i1 %t18, label %scend3, label %sc2 sc2: %t20 = load ptr, ptr %t1 %t21 = call i32 @lp_str_eq(ptr %t20, ptr @.str16881) %t22 = icmp ne i32 %t21, 0 %t23 = zext i1 %t22 to i32 store i32 %t23, ptr %t7 br label %scend3 scend3: %t24 = load i32, ptr %t7 %t25 = icmp ne i32 %t24, 0 %t26 = zext i1 %t25 to i32 store i32 %t26, ptr %t6 br i1 %t25, label %scend5, label %sc4 sc4: %t27 = load ptr, ptr %t1 %t28 = call i32 @lp_str_eq(ptr %t27, ptr @.str16882) %t29 = icmp ne i32 %t28, 0 %t30 = zext i1 %t29 to i32 store i32 %t30, ptr %t6 br label %scend5 scend5: %t31 = load i32, ptr %t6 %t32 = icmp ne i32 %t31, 0 br i1 %t32, label %then6, label %ifend8 then6: %t33 = load ptr, ptr %t4 %t34 = load ptr, ptr %t2 call void @fn_ck_cond(ptr %t33, ptr %t34) %t35 = load ptr, ptr %t5 %t36 = load ptr, ptr %t3 call void @fn_ck_cond(ptr %t35, ptr %t36) store ptr @.str16883, ptr %retval br label %ret ifend8: %t42 = load ptr, ptr %t1 %t43 = call i32 @lp_str_eq(ptr %t42, ptr @.str16884) %t44 = icmp ne i32 %t43, 0 %t45 = zext i1 %t44 to i32 store i32 %t45, ptr %t41 br i1 %t44, label %scend10, label %sc9 sc9: %t46 = load ptr, ptr %t1 %t47 = call i32 @lp_str_eq(ptr %t46, ptr @.str16885) %t48 = icmp ne i32 %t47, 0 %t49 = zext i1 %t48 to i32 store i32 %t49, ptr %t41 br label %scend10 scend10: %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 %scend12, label %sc11 sc11: %t53 = load ptr, ptr %t1 %t54 = call i32 @lp_str_eq(ptr %t53, ptr @.str16886) %t55 = icmp ne i32 %t54, 0 %t56 = zext i1 %t55 to i32 store i32 %t56, ptr %t40 br label %scend12 scend12: %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 %scend14, label %sc13 sc13: %t60 = load ptr, ptr %t1 %t61 = call i32 @lp_str_eq(ptr %t60, ptr @.str16887) %t62 = icmp ne i32 %t61, 0 %t63 = zext i1 %t62 to i32 store i32 %t63, ptr %t39 br label %scend14 scend14: %t64 = load i32, ptr %t39 %t65 = icmp ne i32 %t64, 0 %t66 = zext i1 %t65 to i32 store i32 %t66, ptr %t38 br i1 %t65, label %scend16, label %sc15 sc15: %t67 = load ptr, ptr %t1 %t68 = call i32 @lp_str_eq(ptr %t67, ptr @.str16888) %t69 = icmp ne i32 %t68, 0 %t70 = zext i1 %t69 to i32 store i32 %t70, ptr %t38 br label %scend16 scend16: %t71 = load i32, ptr %t38 %t72 = icmp ne i32 %t71, 0 %t73 = zext i1 %t72 to i32 store i32 %t73, ptr %t37 br i1 %t72, label %scend18, label %sc17 sc17: %t74 = load ptr, ptr %t1 %t75 = call i32 @lp_str_eq(ptr %t74, ptr @.str16889) %t76 = icmp ne i32 %t75, 0 %t77 = zext i1 %t76 to i32 store i32 %t77, ptr %t37 br label %scend18 scend18: %t78 = load i32, ptr %t37 %t79 = icmp ne i32 %t78, 0 br i1 %t79, label %then19, label %ifend21 then19: %t80 = load ptr, ptr %t0 %t81 = load ptr, ptr %t1 %t82 = load ptr, ptr %t2 %t83 = load ptr, ptr %t3 %t84 = load ptr, ptr %t4 %t85 = load ptr, ptr %t5 call void @fn_ck_compare(ptr %t80, ptr %t81, ptr %t82, ptr %t83, ptr %t84, ptr %t85) store ptr @.str16890, ptr %retval br label %ret ifend21: %t90 = load ptr, ptr %t1 %t91 = call i32 @lp_str_eq(ptr %t90, ptr @.str16891) %t92 = icmp ne i32 %t91, 0 %t93 = zext i1 %t92 to i32 store i32 %t93, ptr %t89 br i1 %t92, label %scend23, label %sc22 sc22: %t94 = load ptr, ptr %t1 %t95 = call i32 @lp_str_eq(ptr %t94, ptr @.str16892) %t96 = icmp ne i32 %t95, 0 %t97 = zext i1 %t96 to i32 store i32 %t97, ptr %t89 br label %scend23 scend23: %t98 = load i32, ptr %t89 %t99 = icmp ne i32 %t98, 0 %t100 = zext i1 %t99 to i32 store i32 %t100, ptr %t88 br i1 %t99, label %scend25, label %sc24 sc24: %t101 = load ptr, ptr %t1 %t102 = call i32 @lp_str_eq(ptr %t101, ptr @.str16893) %t103 = icmp ne i32 %t102, 0 %t104 = zext i1 %t103 to i32 store i32 %t104, ptr %t88 br label %scend25 scend25: %t105 = load i32, ptr %t88 %t106 = icmp ne i32 %t105, 0 %t107 = zext i1 %t106 to i32 store i32 %t107, ptr %t87 br i1 %t106, label %scend27, label %sc26 sc26: %t108 = load ptr, ptr %t1 %t109 = call i32 @lp_str_eq(ptr %t108, ptr @.str16894) %t110 = icmp ne i32 %t109, 0 %t111 = zext i1 %t110 to i32 store i32 %t111, ptr %t87 br label %scend27 scend27: %t112 = load i32, ptr %t87 %t113 = icmp ne i32 %t112, 0 %t114 = zext i1 %t113 to i32 store i32 %t114, ptr %t86 br i1 %t113, label %scend29, label %sc28 sc28: %t115 = load ptr, ptr %t1 %t116 = call i32 @lp_str_eq(ptr %t115, ptr @.str16895) %t117 = icmp ne i32 %t116, 0 %t118 = zext i1 %t117 to i32 store i32 %t118, ptr %t86 br label %scend29 scend29: %t119 = load i32, ptr %t86 %t120 = icmp ne i32 %t119, 0 br i1 %t120, label %then30, label %ifend32 then30: %t121 = load ptr, ptr %t0 %t122 = load ptr, ptr %t1 %t123 = load ptr, ptr %t2 %t124 = load ptr, ptr %t3 %t125 = load ptr, ptr %t4 %t126 = load ptr, ptr %t5 %t127 = call ptr @fn_ck_arith(ptr %t121, ptr %t122, ptr %t123, ptr %t124, ptr %t125, ptr %t126) store ptr %t127, ptr %retval br label %ret ifend32: %t132 = load ptr, ptr %t1 %t133 = call i32 @lp_str_eq(ptr %t132, ptr @.str16896) %t134 = icmp ne i32 %t133, 0 %t135 = zext i1 %t134 to i32 store i32 %t135, ptr %t131 br i1 %t134, label %scend34, label %sc33 sc33: %t136 = load ptr, ptr %t1 %t137 = call i32 @lp_str_eq(ptr %t136, ptr @.str16897) %t138 = icmp ne i32 %t137, 0 %t139 = zext i1 %t138 to i32 store i32 %t139, ptr %t131 br label %scend34 scend34: %t140 = load i32, ptr %t131 %t141 = icmp ne i32 %t140, 0 %t142 = zext i1 %t141 to i32 store i32 %t142, ptr %t130 br i1 %t141, label %scend36, label %sc35 sc35: %t143 = load ptr, ptr %t1 %t144 = call i32 @lp_str_eq(ptr %t143, ptr @.str16898) %t145 = icmp ne i32 %t144, 0 %t146 = zext i1 %t145 to i32 store i32 %t146, ptr %t130 br label %scend36 scend36: %t147 = load i32, ptr %t130 %t148 = icmp ne i32 %t147, 0 %t149 = zext i1 %t148 to i32 store i32 %t149, ptr %t129 br i1 %t148, label %scend38, label %sc37 sc37: %t150 = load ptr, ptr %t1 %t151 = call i32 @lp_str_eq(ptr %t150, ptr @.str16899) %t152 = icmp ne i32 %t151, 0 %t153 = zext i1 %t152 to i32 store i32 %t153, ptr %t129 br label %scend38 scend38: %t154 = load i32, ptr %t129 %t155 = icmp ne i32 %t154, 0 %t156 = zext i1 %t155 to i32 store i32 %t156, ptr %t128 br i1 %t155, label %scend40, label %sc39 sc39: %t157 = load ptr, ptr %t1 %t158 = call i32 @lp_str_eq(ptr %t157, ptr @.str16900) %t159 = icmp ne i32 %t158, 0 %t160 = zext i1 %t159 to i32 store i32 %t160, ptr %t128 br label %scend40 scend40: %t161 = load i32, ptr %t128 %t162 = icmp ne i32 %t161, 0 br i1 %t162, label %then41, label %ifend43 then41: %t164 = load ptr, ptr %t2 %t165 = call i32 @lp_str_eq(ptr %t164, ptr @.str16901) %t166 = icmp ne i32 %t165, 0 %t167 = zext i1 %t166 to i32 store i32 %t167, ptr %t163 br i1 %t166, label %scend45, label %sc44 sc44: %t168 = load ptr, ptr %t3 %t169 = call i32 @lp_str_eq(ptr %t168, ptr @.str16902) %t170 = icmp ne i32 %t169, 0 %t171 = zext i1 %t170 to i32 store i32 %t171, ptr %t163 br label %scend45 scend45: %t172 = load i32, ptr %t163 %t173 = icmp ne i32 %t172, 0 br i1 %t173, label %then46, label %ifend48 then46: store ptr @.str16903, ptr %retval br label %ret ifend48: store ptr @.str16904, ptr %retval br label %ret ifend43: store ptr @.str16905, ptr %retval br label %ret ret: %t174 = load ptr, ptr %retval ret ptr %t174 } define void @fn_ck_compare(ptr %arg_e, ptr %arg_op, ptr %arg_l, ptr %arg_r, ptr %arg_a, ptr %arg_b) { entry: %t0 = alloca ptr %t1 = alloca ptr %t2 = alloca ptr %t3 = alloca ptr %t4 = alloca ptr %t5 = alloca ptr %t6 = alloca i32 %t7 = alloca i32 %t8 = alloca i32 %t35 = alloca ptr %t38 = alloca ptr %t39 = alloca i32 %t40 = alloca i32 %t52 = alloca i32 %t66 = alloca i32 %t67 = alloca i32 %t79 = alloca i32 %t109 = alloca i32 %t110 = alloca i32 %t142 = alloca i32 %t153 = alloca i32 %t170 = alloca i32 store ptr %arg_e, ptr %t0 store ptr %arg_op, ptr %t1 store ptr %arg_l, ptr %t2 store ptr %arg_r, ptr %t3 store ptr %arg_a, ptr %t4 store ptr %arg_b, ptr %t5 %t9 = load ptr, ptr %t2 %t10 = call i32 @fn_ck_unknown(ptr %t9) %t11 = icmp ne i32 %t10, 0 %t12 = zext i1 %t11 to i32 store i32 %t12, ptr %t8 br i1 %t11, label %scend1, label %sc0 sc0: %t13 = load ptr, ptr %t3 %t14 = call i32 @fn_ck_unknown(ptr %t13) %t15 = icmp ne i32 %t14, 0 %t16 = zext i1 %t15 to i32 store i32 %t16, ptr %t8 br label %scend1 scend1: %t17 = load i32, ptr %t8 %t18 = icmp ne i32 %t17, 0 %t19 = zext i1 %t18 to i32 store i32 %t19, ptr %t7 br i1 %t18, label %scend3, label %sc2 sc2: %t20 = load ptr, ptr %t2 %t21 = call i32 @lp_str_eq(ptr %t20, ptr @.str16906) %t22 = icmp ne i32 %t21, 0 %t23 = zext i1 %t22 to i32 store i32 %t23, ptr %t7 br label %scend3 scend3: %t24 = load i32, ptr %t7 %t25 = icmp ne i32 %t24, 0 %t26 = zext i1 %t25 to i32 store i32 %t26, ptr %t6 br i1 %t25, label %scend5, label %sc4 sc4: %t27 = load ptr, ptr %t3 %t28 = call i32 @lp_str_eq(ptr %t27, ptr @.str16907) %t29 = icmp ne i32 %t28, 0 %t30 = zext i1 %t29 to i32 store i32 %t30, ptr %t6 br label %scend5 scend5: %t31 = load i32, ptr %t6 %t32 = icmp ne i32 %t31, 0 br i1 %t32, label %then6, label %ifend8 then6: br label %ret ifend8: %t33 = load ptr, ptr %t2 %t34 = call ptr @fn_ck_class(ptr %t33) store ptr %t34, ptr %t35 %t36 = load ptr, ptr %t3 %t37 = call ptr @fn_ck_class(ptr %t36) store ptr %t37, ptr %t38 %t41 = load ptr, ptr %t2 %t42 = call i32 @lp_str_eq(ptr %t41, ptr @.str16908) %t43 = icmp ne i32 %t42, 0 %t44 = zext i1 %t43 to i32 store i32 %t44, ptr %t40 br i1 %t43, label %sc9, label %scend10 sc9: %t45 = load ptr, ptr %t38 %t46 = call i32 @lp_str_eq(ptr %t45, ptr @.str16909) %t47 = icmp ne i32 %t46, 0 %t48 = zext i1 %t47 to i32 store i32 %t48, ptr %t40 br label %scend10 scend10: %t49 = load i32, ptr %t40 %t50 = icmp ne i32 %t49, 0 %t51 = zext i1 %t50 to i32 store i32 %t51, ptr %t39 br i1 %t50, label %scend12, label %sc11 sc11: %t53 = load ptr, ptr %t3 %t54 = call i32 @lp_str_eq(ptr %t53, ptr @.str16910) %t55 = icmp ne i32 %t54, 0 %t56 = zext i1 %t55 to i32 store i32 %t56, ptr %t52 br i1 %t55, label %sc13, label %scend14 sc13: %t57 = load ptr, ptr %t35 %t58 = call i32 @lp_str_eq(ptr %t57, ptr @.str16911) %t59 = icmp ne i32 %t58, 0 %t60 = zext i1 %t59 to i32 store i32 %t60, ptr %t52 br label %scend14 scend14: %t61 = load i32, ptr %t52 %t62 = icmp ne i32 %t61, 0 %t63 = zext i1 %t62 to i32 store i32 %t63, ptr %t39 br label %scend12 scend12: %t64 = load i32, ptr %t39 %t65 = icmp ne i32 %t64, 0 br i1 %t65, label %then15, label %ifend17 then15: br label %ret ifend17: %t68 = load ptr, ptr %t2 %t69 = call i32 @lp_str_eq(ptr %t68, ptr @.str16912) %t70 = icmp ne i32 %t69, 0 %t71 = zext i1 %t70 to i32 store i32 %t71, ptr %t67 br i1 %t70, label %sc18, label %scend19 sc18: %t72 = load ptr, ptr %t38 %t73 = call i32 @lp_str_eq(ptr %t72, ptr @.str16913) %t74 = icmp ne i32 %t73, 0 %t75 = zext i1 %t74 to i32 store i32 %t75, ptr %t67 br label %scend19 scend19: %t76 = load i32, ptr %t67 %t77 = icmp ne i32 %t76, 0 %t78 = zext i1 %t77 to i32 store i32 %t78, ptr %t66 br i1 %t77, label %scend21, label %sc20 sc20: %t80 = load ptr, ptr %t3 %t81 = call i32 @lp_str_eq(ptr %t80, ptr @.str16914) %t82 = icmp ne i32 %t81, 0 %t83 = zext i1 %t82 to i32 store i32 %t83, ptr %t79 br i1 %t82, label %sc22, label %scend23 sc22: %t84 = load ptr, ptr %t35 %t85 = call i32 @lp_str_eq(ptr %t84, ptr @.str16915) %t86 = icmp ne i32 %t85, 0 %t87 = zext i1 %t86 to i32 store i32 %t87, ptr %t79 br label %scend23 scend23: %t88 = load i32, ptr %t79 %t89 = icmp ne i32 %t88, 0 %t90 = zext i1 %t89 to i32 store i32 %t90, ptr %t66 br label %scend21 scend21: %t91 = load i32, ptr %t66 %t92 = icmp ne i32 %t91, 0 br i1 %t92, label %then24, label %ifend26 then24: br label %ret ifend26: %t93 = load ptr, ptr %t35 %t94 = load ptr, ptr %t38 %t95 = call i32 @lp_str_eq(ptr %t93, ptr %t94) %t96 = icmp eq i32 %t95, 0 %t97 = zext i1 %t96 to i32 %t98 = icmp ne i32 %t97, 0 br i1 %t98, label %then27, label %ifend29 then27: %t99 = load ptr, ptr %t0 %t100 = load ptr, ptr %t1 store i32 9440, ptr @lp_site %t101 = call ptr @lp_str_concat(ptr %t100, ptr @.str16917) store i32 0, ptr @lp_site %t102 = load ptr, ptr %t2 %t103 = call ptr @fn_ck_a(ptr %t102) store i32 9441, ptr @lp_site %t104 = call ptr @lp_str_concat(ptr %t101, ptr %t103) store i32 0, ptr @lp_site call void @lp_free(ptr %t101) store i32 9442, ptr @lp_site %t105 = call ptr @lp_str_concat(ptr %t104, ptr @.str16919) store i32 0, ptr @lp_site call void @lp_free(ptr %t104) %t106 = load ptr, ptr %t3 %t107 = call ptr @fn_ck_a(ptr %t106) store i32 9443, ptr @lp_site %t108 = call ptr @lp_str_concat(ptr %t105, ptr %t107) store i32 0, ptr @lp_site call void @lp_free(ptr %t105) call void @fn_ck_err(ptr @.str16916, ptr %t99, ptr %t108) br label %ret ifend29: %t111 = load ptr, ptr %t2 %t112 = call i32 @fn_ck_is_rec(ptr %t111) %t113 = icmp ne i32 %t112, 0 %t114 = zext i1 %t113 to i32 store i32 %t114, ptr %t110 br i1 %t113, label %sc30, label %scend31 sc30: %t115 = load ptr, ptr %t3 %t116 = call i32 @fn_ck_is_rec(ptr %t115) %t117 = icmp ne i32 %t116, 0 %t118 = zext i1 %t117 to i32 store i32 %t118, ptr %t110 br label %scend31 scend31: %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 %sc32, label %scend33 sc32: %t122 = load ptr, ptr %t2 %t123 = load ptr, ptr %t3 %t124 = call i32 @lp_str_eq(ptr %t122, ptr %t123) %t125 = icmp eq i32 %t124, 0 %t126 = zext i1 %t125 to i32 %t127 = icmp ne i32 %t126, 0 %t128 = zext i1 %t127 to i32 store i32 %t128, ptr %t109 br label %scend33 scend33: %t129 = load i32, ptr %t109 %t130 = icmp ne i32 %t129, 0 br i1 %t130, label %then34, label %ifend36 then34: %t131 = load ptr, ptr %t0 %t132 = load ptr, ptr %t1 store i32 9444, ptr @lp_site %t133 = call ptr @lp_str_concat(ptr %t132, ptr @.str16921) store i32 0, ptr @lp_site %t134 = load ptr, ptr %t2 %t135 = call ptr @fn_ck_a(ptr %t134) store i32 9445, ptr @lp_site %t136 = call ptr @lp_str_concat(ptr %t133, ptr %t135) store i32 0, ptr @lp_site call void @lp_free(ptr %t133) store i32 9446, ptr @lp_site %t137 = call ptr @lp_str_concat(ptr %t136, ptr @.str16922) store i32 0, ptr @lp_site call void @lp_free(ptr %t136) %t138 = load ptr, ptr %t3 %t139 = call ptr @fn_ck_a(ptr %t138) store i32 9447, ptr @lp_site %t140 = call ptr @lp_str_concat(ptr %t137, ptr %t139) store i32 0, ptr @lp_site call void @lp_free(ptr %t137) store i32 9448, ptr @lp_site %t141 = call ptr @lp_str_concat(ptr %t140, ptr @.str16923) store i32 0, ptr @lp_site call void @lp_free(ptr %t140) call void @fn_ck_err(ptr @.str16920, ptr %t131, ptr %t141) br label %ifend36 ifend36: %t143 = load ptr, ptr %t4 %t144 = call i32 @fn_ck_is_lit(ptr %t143) %t145 = icmp ne i32 %t144, 0 %t146 = zext i1 %t145 to i32 store i32 %t146, ptr %t142 br i1 %t145, label %scend38, label %sc37 sc37: %t147 = load ptr, ptr %t5 %t148 = call i32 @fn_ck_is_lit(ptr %t147) %t149 = icmp ne i32 %t148, 0 %t150 = zext i1 %t149 to i32 store i32 %t150, ptr %t142 br label %scend38 scend38: %t151 = load i32, ptr %t142 %t152 = icmp ne i32 %t151, 0 br i1 %t152, label %then39, label %ifend41 then39: br label %ret ifend41: %t154 = load ptr, ptr %t2 %t155 = call i32 @lp_str_eq(ptr %t154, ptr @.str16924) %t156 = icmp ne i32 %t155, 0 %t157 = zext i1 %t156 to i32 store i32 %t157, ptr %t153 br i1 %t156, label %sc42, label %scend43 sc42: %t158 = load ptr, ptr %t3 %t159 = call i32 @fn_ck_is_float(ptr %t158) %t160 = icmp ne i32 %t159, 0 %t161 = zext i1 %t160 to i32 store i32 %t161, ptr %t153 br label %scend43 scend43: %t162 = load i32, ptr %t153 %t163 = icmp ne i32 %t162, 0 br i1 %t163, label %then44, label %ifend46 then44: %t164 = load ptr, ptr %t0 %t165 = load ptr, ptr %t1 store i32 9449, ptr @lp_site %t166 = call ptr @lp_str_concat(ptr %t165, ptr @.str16926) store i32 0, ptr @lp_site %t167 = load ptr, ptr %t3 %t168 = call ptr @fn_ck_a(ptr %t167) store i32 9450, ptr @lp_site %t169 = call ptr @lp_str_concat(ptr %t166, ptr %t168) store i32 0, ptr @lp_site call void @lp_free(ptr %t166) call void @fn_ck_err(ptr @.str16925, ptr %t164, ptr %t169) br label %ifend46 ifend46: %t171 = load ptr, ptr %t3 %t172 = call i32 @lp_str_eq(ptr %t171, ptr @.str16927) %t173 = icmp ne i32 %t172, 0 %t174 = zext i1 %t173 to i32 store i32 %t174, ptr %t170 br i1 %t173, label %sc47, label %scend48 sc47: %t175 = load ptr, ptr %t2 %t176 = call i32 @fn_ck_is_float(ptr %t175) %t177 = icmp ne i32 %t176, 0 %t178 = zext i1 %t177 to i32 store i32 %t178, ptr %t170 br label %scend48 scend48: %t179 = load i32, ptr %t170 %t180 = icmp ne i32 %t179, 0 br i1 %t180, label %then49, label %ifend51 then49: %t181 = load ptr, ptr %t0 %t182 = load ptr, ptr %t1 store i32 9451, ptr @lp_site %t183 = call ptr @lp_str_concat(ptr %t182, ptr @.str16929) store i32 0, ptr @lp_site %t184 = load ptr, ptr %t2 %t185 = call ptr @fn_ck_a(ptr %t184) store i32 9452, ptr @lp_site %t186 = call ptr @lp_str_concat(ptr %t183, ptr %t185) store i32 0, ptr @lp_site call void @lp_free(ptr %t183) store i32 9453, ptr @lp_site %t187 = call ptr @lp_str_concat(ptr %t186, ptr @.str16930) store i32 0, ptr @lp_site call void @lp_free(ptr %t186) call void @fn_ck_err(ptr @.str16928, ptr %t181, ptr %t187) br label %ifend51 ifend51: br label %ret ret: ret void } define i32 @fn_ck_is_text(ptr %arg_t) { entry: %retval = alloca i32 %t0 = alloca ptr %t1 = alloca i32 store ptr %arg_t, ptr %t0 %t2 = load ptr, ptr %t0 %t3 = call i32 @lp_str_eq(ptr %t2, ptr @.str16931) %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 @.str16932) %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 ptr @fn_ck_arith(ptr %arg_e, ptr %arg_op, ptr %arg_l, ptr %arg_r, ptr %arg_a, ptr %arg_b) { entry: %retval = alloca ptr %t0 = alloca ptr %t1 = alloca ptr %t2 = alloca ptr %t3 = alloca ptr %t4 = alloca ptr %t5 = alloca ptr %t6 = alloca i32 %t20 = alloca i32 %t31 = alloca i32 %t42 = alloca i32 %t43 = alloca i32 %t72 = alloca i32 %t83 = alloca i32 %t97 = alloca i32 store ptr %arg_e, ptr %t0 store ptr %arg_op, ptr %t1 store ptr %arg_l, ptr %t2 store ptr %arg_r, ptr %t3 store ptr %arg_a, ptr %t4 store ptr %arg_b, ptr %t5 %t7 = load ptr, ptr %t2 %t8 = call i32 @fn_ck_is_key(ptr %t7) %t9 = icmp ne i32 %t8, 0 %t10 = zext i1 %t9 to i32 store i32 %t10, ptr %t6 br i1 %t9, label %scend1, label %sc0 sc0: %t11 = load ptr, ptr %t3 %t12 = call i32 @fn_ck_is_key(ptr %t11) %t13 = icmp ne i32 %t12, 0 %t14 = zext i1 %t13 to i32 store i32 %t14, ptr %t6 br label %scend1 scend1: %t15 = load i32, ptr %t6 %t16 = icmp ne i32 %t15, 0 br i1 %t16, label %then2, label %ifend4 then2: %t17 = load ptr, ptr %t0 %t18 = load ptr, ptr %t1 store i32 9454, ptr @lp_site %t19 = call ptr @lp_str_concat(ptr %t18, ptr @.str16934) store i32 0, ptr @lp_site call void @fn_ck_err(ptr @.str16933, ptr %t17, ptr %t19) store ptr @.str16936, ptr %retval br label %ret ifend4: %t21 = load ptr, ptr %t2 %t22 = call i32 @fn_ck_is_text(ptr %t21) %t23 = icmp ne i32 %t22, 0 %t24 = zext i1 %t23 to i32 store i32 %t24, ptr %t20 br i1 %t23, label %scend6, label %sc5 sc5: %t25 = load ptr, ptr %t3 %t26 = call i32 @fn_ck_is_text(ptr %t25) %t27 = icmp ne i32 %t26, 0 %t28 = zext i1 %t27 to i32 store i32 %t28, ptr %t20 br label %scend6 scend6: %t29 = load i32, ptr %t20 %t30 = icmp ne i32 %t29, 0 br i1 %t30, label %then7, label %ifend9 then7: %t32 = load ptr, ptr %t2 %t33 = call i32 @fn_ck_unknown(ptr %t32) %t34 = icmp ne i32 %t33, 0 %t35 = zext i1 %t34 to i32 store i32 %t35, ptr %t31 br i1 %t34, label %scend11, label %sc10 sc10: %t36 = load ptr, ptr %t3 %t37 = call i32 @fn_ck_unknown(ptr %t36) %t38 = icmp ne i32 %t37, 0 %t39 = zext i1 %t38 to i32 store i32 %t39, ptr %t31 br label %scend11 scend11: %t40 = load i32, ptr %t31 %t41 = icmp ne i32 %t40, 0 br i1 %t41, label %then12, label %ifend14 then12: store ptr @.str16937, ptr %retval br label %ret ifend14: %t44 = load ptr, ptr %t2 %t45 = call i32 @fn_ck_is_text(ptr %t44) %t46 = icmp ne i32 %t45, 0 %t47 = zext i1 %t46 to i32 store i32 %t47, ptr %t43 br i1 %t46, label %sc15, label %scend16 sc15: %t48 = load ptr, ptr %t3 %t49 = call i32 @fn_ck_is_text(ptr %t48) %t50 = icmp ne i32 %t49, 0 %t51 = zext i1 %t50 to i32 store i32 %t51, ptr %t43 br label %scend16 scend16: %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 %sc17, label %scend18 sc17: %t55 = load ptr, ptr %t1 %t56 = call i32 @lp_str_eq(ptr %t55, ptr @.str16938) %t57 = icmp ne i32 %t56, 0 %t58 = zext i1 %t57 to i32 store i32 %t58, ptr %t42 br label %scend18 scend18: %t59 = load i32, ptr %t42 %t60 = icmp ne i32 %t59, 0 br i1 %t60, label %then19, label %ifend21 then19: store ptr @.str16939, ptr %retval br label %ret ifend21: %t61 = load ptr, ptr %t0 %t62 = load ptr, ptr %t1 store i32 9455, ptr @lp_site %t63 = call ptr @lp_str_concat(ptr %t62, ptr @.str16941) store i32 0, ptr @lp_site %t64 = load ptr, ptr %t2 %t65 = call ptr @fn_ck_a(ptr %t64) store i32 9456, ptr @lp_site %t66 = call ptr @lp_str_concat(ptr %t63, ptr %t65) store i32 0, ptr @lp_site call void @lp_free(ptr %t63) store i32 9457, ptr @lp_site %t67 = call ptr @lp_str_concat(ptr %t66, ptr @.str16942) store i32 0, ptr @lp_site call void @lp_free(ptr %t66) %t68 = load ptr, ptr %t3 %t69 = call ptr @fn_ck_a(ptr %t68) store i32 9458, ptr @lp_site %t70 = call ptr @lp_str_concat(ptr %t67, ptr %t69) store i32 0, ptr @lp_site call void @lp_free(ptr %t67) store i32 9459, ptr @lp_site %t71 = call ptr @lp_str_concat(ptr %t70, ptr @.str16943) store i32 0, ptr @lp_site call void @lp_free(ptr %t70) call void @fn_ck_err(ptr @.str16940, ptr %t61, ptr %t71) store ptr @.str16944, ptr %retval br label %ret ifend9: %t73 = load ptr, ptr %t2 %t74 = call i32 @fn_ck_unknown(ptr %t73) %t75 = icmp ne i32 %t74, 0 %t76 = zext i1 %t75 to i32 store i32 %t76, ptr %t72 br i1 %t75, label %scend23, label %sc22 sc22: %t77 = load ptr, ptr %t3 %t78 = call i32 @fn_ck_unknown(ptr %t77) %t79 = icmp ne i32 %t78, 0 %t80 = zext i1 %t79 to i32 store i32 %t80, ptr %t72 br label %scend23 scend23: %t81 = load i32, ptr %t72 %t82 = icmp ne i32 %t81, 0 br i1 %t82, label %then24, label %ifend26 then24: store ptr @.str16945, ptr %retval br label %ret ifend26: %t84 = load ptr, ptr %t2 %t85 = call i32 @lp_str_eq(ptr %t84, ptr @.str16946) %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 %t3 %t89 = call i32 @lp_str_eq(ptr %t88, ptr @.str16947) %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 br i1 %t93, label %then29, label %ifend31 then29: %t94 = load ptr, ptr %t0 %t95 = load ptr, ptr %t1 store i32 9460, ptr @lp_site %t96 = call ptr @lp_str_concat(ptr %t95, ptr @.str16949) store i32 0, ptr @lp_site call void @fn_ck_err(ptr @.str16948, ptr %t94, ptr %t96) store ptr @.str16950, ptr %retval br label %ret ifend31: %t98 = load ptr, ptr %t2 %t99 = call i32 @fn_ck_is_num(ptr %t98) %t100 = icmp ne i32 %t99, 0 %t101 = zext i1 %t100 to i32 store i32 %t101, ptr %t97 br i1 %t100, label %sc32, label %scend33 sc32: %t102 = load ptr, ptr %t3 %t103 = call i32 @fn_ck_is_num(ptr %t102) %t104 = icmp ne i32 %t103, 0 %t105 = zext i1 %t104 to i32 store i32 %t105, ptr %t97 br label %scend33 scend33: %t106 = load i32, ptr %t97 %t107 = icmp ne i32 %t106, 0 br i1 %t107, label %then34, label %ifend36 then34: %t108 = load ptr, ptr %t0 %t109 = load ptr, ptr %t1 %t110 = load ptr, ptr %t2 %t111 = load ptr, ptr %t3 %t112 = load ptr, ptr %t4 %t113 = load ptr, ptr %t5 %t114 = call ptr @fn_ck_num_result(ptr %t108, ptr %t109, ptr %t110, ptr %t111, ptr %t112, ptr %t113) store ptr %t114, ptr %retval br label %ret ifend36: %t115 = load ptr, ptr %t0 %t116 = load ptr, ptr %t1 store i32 9461, ptr @lp_site %t117 = call ptr @lp_str_concat(ptr %t116, ptr @.str16952) store i32 0, ptr @lp_site %t118 = load ptr, ptr %t2 %t119 = call ptr @fn_ck_a(ptr %t118) store i32 9462, ptr @lp_site %t120 = call ptr @lp_str_concat(ptr %t117, ptr %t119) store i32 0, ptr @lp_site call void @lp_free(ptr %t117) store i32 9463, ptr @lp_site %t121 = call ptr @lp_str_concat(ptr %t120, ptr @.str16953) store i32 0, ptr @lp_site call void @lp_free(ptr %t120) %t122 = load ptr, ptr %t3 %t123 = call ptr @fn_ck_a(ptr %t122) store i32 9464, ptr @lp_site %t124 = call ptr @lp_str_concat(ptr %t121, ptr %t123) store i32 0, ptr @lp_site call void @lp_free(ptr %t121) call void @fn_ck_err(ptr @.str16951, ptr %t115, ptr %t124) store ptr @.str16954, ptr %retval br label %ret ret: %t125 = load ptr, ptr %retval ret ptr %t125 } define ptr @fn_ck_num_result(ptr %arg_e, ptr %arg_op, ptr %arg_l, ptr %arg_r, ptr %arg_a, ptr %arg_b) { entry: %retval = alloca ptr %t0 = alloca ptr %t1 = alloca ptr %t2 = alloca ptr %t3 = alloca ptr %t4 = alloca ptr %t5 = alloca ptr %t6 = alloca i32 %t31 = alloca i32 %t56 = alloca i32 %t75 = alloca i32 %t86 = alloca i32 store ptr %arg_e, ptr %t0 store ptr %arg_op, ptr %t1 store ptr %arg_l, ptr %t2 store ptr %arg_r, ptr %t3 store ptr %arg_a, ptr %t4 store ptr %arg_b, ptr %t5 %t7 = load ptr, ptr %t2 %t8 = call i32 @lp_str_eq(ptr %t7, ptr @.str16955) %t9 = icmp ne i32 %t8, 0 %t10 = zext i1 %t9 to i32 store i32 %t10, ptr %t6 br i1 %t9, label %sc0, label %scend1 sc0: %t11 = load ptr, ptr %t3 %t12 = call i32 @fn_ck_is_float(ptr %t11) %t13 = icmp ne i32 %t12, 0 %t14 = zext i1 %t13 to i32 store i32 %t14, ptr %t6 br label %scend1 scend1: %t15 = load i32, ptr %t6 %t16 = icmp ne i32 %t15, 0 br i1 %t16, label %then2, label %ifend4 then2: %t17 = load ptr, ptr %t5 %t18 = call i32 @fn_ck_is_lit(ptr %t17) %t19 = icmp ne i32 %t18, 0 br i1 %t19, label %then5, label %ifend7 then5: store ptr @.str16956, ptr %retval br label %ret ifend7: %t20 = load ptr, ptr %t4 %t21 = call i32 @fn_ck_is_lit(ptr %t20) %t22 = icmp ne i32 %t21, 0 br i1 %t22, label %then8, label %ifend10 then8: %t23 = load ptr, ptr %t3 store ptr %t23, ptr %retval br label %ret ifend10: %t24 = load ptr, ptr %t0 %t25 = load ptr, ptr %t1 store i32 9465, ptr @lp_site %t26 = call ptr @lp_str_concat(ptr %t25, ptr @.str16958) store i32 0, ptr @lp_site %t27 = load ptr, ptr %t3 %t28 = call ptr @fn_ck_a(ptr %t27) store i32 9466, ptr @lp_site %t29 = call ptr @lp_str_concat(ptr %t26, ptr %t28) store i32 0, ptr @lp_site call void @lp_free(ptr %t26) store i32 9467, ptr @lp_site %t30 = call ptr @lp_str_concat(ptr %t29, ptr @.str16960) store i32 0, ptr @lp_site call void @lp_free(ptr %t29) call void @fn_ck_err(ptr @.str16957, ptr %t24, ptr %t30) store ptr @.str16961, ptr %retval br label %ret ifend4: %t32 = load ptr, ptr %t3 %t33 = call i32 @lp_str_eq(ptr %t32, ptr @.str16962) %t34 = icmp ne i32 %t33, 0 %t35 = zext i1 %t34 to i32 store i32 %t35, ptr %t31 br i1 %t34, label %sc11, label %scend12 sc11: %t36 = load ptr, ptr %t2 %t37 = call i32 @fn_ck_is_float(ptr %t36) %t38 = icmp ne i32 %t37, 0 %t39 = zext i1 %t38 to i32 store i32 %t39, ptr %t31 br label %scend12 scend12: %t40 = load i32, ptr %t31 %t41 = icmp ne i32 %t40, 0 br i1 %t41, label %then13, label %ifend15 then13: %t42 = load ptr, ptr %t4 %t43 = call i32 @fn_ck_is_lit(ptr %t42) %t44 = icmp ne i32 %t43, 0 br i1 %t44, label %then16, label %ifend18 then16: store ptr @.str16963, ptr %retval br label %ret ifend18: %t45 = load ptr, ptr %t5 %t46 = call i32 @fn_ck_is_lit(ptr %t45) %t47 = icmp ne i32 %t46, 0 br i1 %t47, label %then19, label %ifend21 then19: %t48 = load ptr, ptr %t2 store ptr %t48, ptr %retval br label %ret ifend21: %t49 = load ptr, ptr %t0 %t50 = load ptr, ptr %t1 store i32 9468, ptr @lp_site %t51 = call ptr @lp_str_concat(ptr %t50, ptr @.str16965) store i32 0, ptr @lp_site %t52 = load ptr, ptr %t2 %t53 = call ptr @fn_ck_a(ptr %t52) store i32 9469, ptr @lp_site %t54 = call ptr @lp_str_concat(ptr %t51, ptr %t53) store i32 0, ptr @lp_site call void @lp_free(ptr %t51) store i32 9470, ptr @lp_site %t55 = call ptr @lp_str_concat(ptr %t54, ptr @.str16966) store i32 0, ptr @lp_site call void @lp_free(ptr %t54) call void @fn_ck_err(ptr @.str16964, ptr %t49, ptr %t55) store ptr @.str16967, ptr %retval br label %ret ifend15: %t57 = load ptr, ptr %t2 %t58 = call i32 @lp_str_eq(ptr %t57, ptr @.str16968) %t59 = icmp ne i32 %t58, 0 %t60 = zext i1 %t59 to i32 store i32 %t60, ptr %t56 br i1 %t59, label %scend23, label %sc22 sc22: %t61 = load ptr, ptr %t3 %t62 = call i32 @lp_str_eq(ptr %t61, ptr @.str16969) %t63 = icmp ne i32 %t62, 0 %t64 = zext i1 %t63 to i32 store i32 %t64, ptr %t56 br label %scend23 scend23: %t65 = load i32, ptr %t56 %t66 = icmp ne i32 %t65, 0 br i1 %t66, label %then24, label %ifend26 then24: store ptr @.str16970, ptr %retval br label %ret ifend26: %t67 = load ptr, ptr %t2 %t68 = call i32 @fn_ck_is_float(ptr %t67) %t69 = icmp ne i32 %t68, 0 br i1 %t69, label %then27, label %ifend29 then27: %t70 = load ptr, ptr %t2 store ptr %t70, ptr %retval br label %ret ifend29: %t71 = load ptr, ptr %t3 %t72 = call i32 @fn_ck_is_float(ptr %t71) %t73 = icmp ne i32 %t72, 0 br i1 %t73, label %then30, label %ifend32 then30: %t74 = load ptr, ptr %t3 store ptr %t74, ptr %retval br label %ret ifend32: %t76 = load ptr, ptr %t2 %t77 = call i32 @lp_str_eq(ptr %t76, ptr @.str16971) %t78 = icmp ne i32 %t77, 0 %t79 = zext i1 %t78 to i32 store i32 %t79, ptr %t75 br i1 %t78, label %scend34, label %sc33 sc33: %t80 = load ptr, ptr %t3 %t81 = call i32 @lp_str_eq(ptr %t80, ptr @.str16972) %t82 = icmp ne i32 %t81, 0 %t83 = zext i1 %t82 to i32 store i32 %t83, ptr %t75 br label %scend34 scend34: %t84 = load i32, ptr %t75 %t85 = icmp ne i32 %t84, 0 br i1 %t85, label %then35, label %ifend37 then35: store ptr @.str16973, ptr %retval br label %ret ifend37: %t87 = load ptr, ptr %t2 %t88 = call i32 @lp_str_eq(ptr %t87, ptr @.str16974) %t89 = icmp ne i32 %t88, 0 %t90 = zext i1 %t89 to i32 store i32 %t90, ptr %t86 br i1 %t89, label %scend39, label %sc38 sc38: %t91 = load ptr, ptr %t3 %t92 = call i32 @lp_str_eq(ptr %t91, ptr @.str16975) %t93 = icmp ne i32 %t92, 0 %t94 = zext i1 %t93 to i32 store i32 %t94, ptr %t86 br label %scend39 scend39: %t95 = load i32, ptr %t86 %t96 = icmp ne i32 %t95, 0 br i1 %t96, label %then40, label %ifend42 then40: store ptr @.str16976, ptr %retval br label %ret ifend42: store ptr @.str16977, ptr %retval br label %ret ret: %t97 = load ptr, ptr %retval ret ptr %t97 } define void @fn_ck_params(ptr %arg_f, ptr %arg_labels, ptr %arg_tys) { entry: %t0 = alloca ptr %t1 = alloca ptr %t2 = alloca ptr %t3 = alloca i32 store ptr %arg_f, ptr %t0 store ptr %arg_labels, ptr %t1 store ptr %arg_tys, 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 7 %t7 = load ptr, ptr %t6 %t8 = getelementptr inbounds %LSlice, ptr %t7, i32 0, i32 1 %t9 = load i32, ptr %t8 %t10 = icmp slt i32 %t4, %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 %t0 %t14 = getelementptr inbounds %Cmp_Node, ptr %t13, i32 0, i32 7 %t15 = load ptr, ptr %t14 %t16 = load i32, ptr %t3 %t17 = getelementptr inbounds %LSlice, ptr %t15, i32 0, i32 0 %t18 = load ptr, ptr %t17 %t19 = getelementptr inbounds %LSlice, ptr %t15, i32 0, i32 1 %t20 = load i32, ptr %t19 %t21 = icmp ult i32 %t16, %t20 br i1 %t21, label %ixok3, label %ixbad4 ixbad4: store i32 9471, ptr @lp_site %t22 = call ptr @lp_win_stdio(i32 2) store i32 0, ptr @lp_site call i32 (ptr, ptr, ...) @fprintf(ptr %t22, ptr @.fmt_bounds, ptr @.str16978, i32 %t16, i32 %t20) call void @exit(i32 1) unreachable ixok3: %t23 = getelementptr inbounds ptr, ptr %t18, i32 %t16 %t24 = load ptr, ptr %t23 %t25 = getelementptr inbounds %Cmp_Node, ptr %t24, i32 0, i32 0 %t26 = load i32, ptr %t25 %t27 = icmp eq i32 %t26, 5 %t28 = zext i1 %t27 to i32 %t29 = icmp ne i32 %t28, 0 br i1 %t29, label %then5, label %ifend7 then5: %t30 = load ptr, ptr %t1 %t31 = load ptr, ptr %t0 %t32 = getelementptr inbounds %Cmp_Node, ptr %t31, i32 0, i32 7 %t33 = load ptr, ptr %t32 %t34 = load i32, ptr %t3 %t35 = getelementptr inbounds %LSlice, ptr %t33, i32 0, i32 0 %t36 = load ptr, ptr %t35 %t37 = getelementptr inbounds %LSlice, ptr %t33, i32 0, i32 1 %t38 = load i32, ptr %t37 %t39 = icmp ult i32 %t34, %t38 br i1 %t39, label %ixok8, label %ixbad9 ixbad9: store i32 9472, ptr @lp_site %t40 = call ptr @lp_win_stdio(i32 2) store i32 0, ptr @lp_site call i32 (ptr, ptr, ...) @fprintf(ptr %t40, ptr @.fmt_bounds, ptr @.str16980, i32 %t34, i32 %t38) call void @exit(i32 1) unreachable ixok8: %t41 = getelementptr inbounds ptr, ptr %t36, i32 %t34 %t42 = load ptr, ptr %t41 %t43 = getelementptr inbounds %Cmp_Node, ptr %t42, i32 0, i32 1 %t44 = load ptr, ptr %t43 %t45 = getelementptr inbounds %LSlice, ptr %t30, i32 0, i32 1 %t46 = getelementptr inbounds %LSlice, ptr %t30, i32 0, i32 2 %t47 = getelementptr inbounds %LSlice, ptr %t30, i32 0, i32 0 %t48 = load i32, ptr %t45 %t49 = load i32, ptr %t46 %t50 = icmp sge i32 %t48, %t49 br i1 %t50, label %grow10, label %put11 grow10: %t51 = mul i32 %t49, 2 %t52 = icmp eq i32 %t49, 0 %t53 = select i1 %t52, i32 8, i32 %t51 %t54 = getelementptr ptr, ptr null, i32 1 %t55 = ptrtoint ptr %t54 to i64 %t56 = zext i32 %t53 to i64 %t57 = mul i64 %t56, %t55 %t58 = load ptr, ptr %t47 store i32 9473, ptr @lp_site %t59 = call ptr @lp_realloc(ptr %t58, i64 %t57) store i32 0, ptr @lp_site store ptr %t59, ptr %t47 store i32 %t53, ptr %t46 br label %put11 put11: %t60 = load ptr, ptr %t47 %t61 = getelementptr inbounds ptr, ptr %t60, i32 %t48 store ptr %t44, ptr %t61 %t62 = add i32 %t48, 1 store i32 %t62, ptr %t45 %t63 = load ptr, ptr %t2 %t64 = load ptr, ptr %t0 %t65 = getelementptr inbounds %Cmp_Node, ptr %t64, i32 0, i32 7 %t66 = load ptr, ptr %t65 %t67 = load i32, ptr %t3 %t68 = getelementptr inbounds %LSlice, ptr %t66, i32 0, i32 0 %t69 = load ptr, ptr %t68 %t70 = getelementptr inbounds %LSlice, ptr %t66, i32 0, i32 1 %t71 = load i32, ptr %t70 %t72 = icmp ult i32 %t67, %t71 br i1 %t72, label %ixok12, label %ixbad13 ixbad13: store i32 9474, ptr @lp_site %t73 = call ptr @lp_win_stdio(i32 2) store i32 0, ptr @lp_site call i32 (ptr, ptr, ...) @fprintf(ptr %t73, ptr @.fmt_bounds, ptr @.str16981, i32 %t67, i32 %t71) call void @exit(i32 1) unreachable ixok12: %t74 = getelementptr inbounds ptr, ptr %t69, i32 %t67 %t75 = load ptr, ptr %t74 %t76 = getelementptr inbounds %Cmp_Node, ptr %t75, i32 0, i32 3 %t77 = load ptr, ptr %t76 %t78 = getelementptr inbounds %LSlice, ptr %t63, i32 0, i32 1 %t79 = getelementptr inbounds %LSlice, ptr %t63, i32 0, i32 2 %t80 = getelementptr inbounds %LSlice, ptr %t63, i32 0, i32 0 %t81 = load i32, ptr %t78 %t82 = load i32, ptr %t79 %t83 = icmp sge i32 %t81, %t82 br i1 %t83, label %grow14, label %put15 grow14: %t84 = mul i32 %t82, 2 %t85 = icmp eq i32 %t82, 0 %t86 = select i1 %t85, i32 8, i32 %t84 %t87 = getelementptr ptr, ptr null, i32 1 %t88 = ptrtoint ptr %t87 to i64 %t89 = zext i32 %t86 to i64 %t90 = mul i64 %t89, %t88 %t91 = load ptr, ptr %t80 store i32 9475, ptr @lp_site %t92 = call ptr @lp_realloc(ptr %t91, i64 %t90) store i32 0, ptr @lp_site store ptr %t92, ptr %t80 store i32 %t86, ptr %t79 br label %put15 put15: %t93 = load ptr, ptr %t80 %t94 = getelementptr inbounds ptr, ptr %t93, i32 %t81 store ptr %t77, ptr %t94 %t95 = add i32 %t81, 1 store i32 %t95, ptr %t78 br label %ifend7 ifend7: %t96 = load i32, ptr %t3 %t97 = add i32 %t96, 1 store i32 %t97, ptr %t3 br label %wcond0 wend2: br label %ret ret: ret void } define ptr @fn_ck_call_fn(ptr %arg_e, ptr %arg_name, ptr %arg_f) { entry: %retval = alloca ptr %t0 = alloca ptr %t1 = alloca ptr %t2 = alloca ptr %t26 = alloca ptr %t33 = alloca ptr store ptr %arg_e, ptr %t0 store ptr %arg_name, ptr %t1 store ptr %arg_f, ptr %t2 %t3 = load ptr, ptr %t0 %t4 = load ptr, ptr %t2 call void @fn_state_inject_generated(ptr %t3, ptr %t4) %t5 = load ptr, ptr %t0 %t6 = load ptr, ptr %t2 call void @fn_state_inject_runtime(ptr %t5, ptr %t6) %t7 = load ptr, ptr %t2 %t8 = getelementptr inbounds %Cmp_Node, ptr %t7, i32 0, i32 1 %t9 = load ptr, ptr %t8 %t10 = call i32 @fn_is_action_builtin(ptr %t9) %t11 = icmp ne i32 %t10, 0 br i1 %t11, label %then0, label %ifend2 then0: %t12 = load ptr, ptr %t0 %t13 = load ptr, ptr %t2 call void @fn_state_inject(ptr %t12, ptr %t13) br label %ifend2 ifend2: %t14 = load ptr, ptr %t0 %t15 = load ptr, ptr %t2 call void @fn_mg_call(ptr %t14, ptr %t15) %t16 = load ptr, ptr %t0 %t17 = load ptr, ptr %t2 call void @fn_call_fill_defaults(ptr %t16, ptr %t17) %t18 = load ptr, ptr %t0 %t19 = load ptr, ptr %t2 call void @fn_ck_state_args(ptr %t18, ptr %t19) %t20 = getelementptr %LSlice, ptr null, i32 1 %t21 = ptrtoint ptr %t20 to i64 store i32 9476, ptr @lp_site %t22 = call ptr @lp_malloc(i64 %t21) store i32 0, ptr @lp_site %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 %t26 %t27 = getelementptr %LSlice, ptr null, i32 1 %t28 = ptrtoint ptr %t27 to i64 store i32 9477, ptr @lp_site %t29 = call ptr @lp_malloc(i64 %t28) store i32 0, ptr @lp_site %t30 = getelementptr inbounds %LSlice, ptr %t29, i32 0, i32 0 store ptr null, ptr %t30 %t31 = getelementptr inbounds %LSlice, ptr %t29, i32 0, i32 1 store i32 0, ptr %t31 %t32 = getelementptr inbounds %LSlice, ptr %t29, i32 0, i32 2 store i32 0, ptr %t32 store ptr %t29, ptr %t33 %t34 = load ptr, ptr %t2 %t35 = load ptr, ptr %t26 %t36 = load ptr, ptr %t33 call void @fn_ck_params(ptr %t34, ptr %t35, ptr %t36) %t37 = load ptr, ptr %t0 %t38 = load ptr, ptr %t1 %t39 = load ptr, ptr %t26 %t40 = load ptr, ptr %t33 call void @fn_ck_args(ptr %t37, ptr %t38, ptr %t39, ptr %t40) %t41 = load ptr, ptr %t2 %t42 = getelementptr inbounds %Cmp_Node, ptr %t41, i32 0, i32 3 %t43 = load ptr, ptr %t42 %t44 = icmp eq ptr %t43, null %t45 = zext i1 %t44 to i32 %t46 = icmp ne i32 %t45, 0 br i1 %t46, label %then3, label %ifend5 then3: store ptr @.str16983, ptr %retval br label %ret ifend5: %t47 = load ptr, ptr %t2 %t48 = getelementptr inbounds %Cmp_Node, ptr %t47, i32 0, i32 3 %t49 = load ptr, ptr %t48 store ptr %t49, ptr %retval br label %ret ret: %t50 = load ptr, ptr %retval ret ptr %t50 } define ptr @fn_ck_call_alias(ptr %arg_e, ptr %arg_name, i32 %arg_al, ptr %arg_f) { entry: %retval = alloca ptr %t0 = alloca ptr %t1 = alloca ptr %t2 = alloca i32 %t3 = alloca ptr %t30 = alloca ptr %t37 = alloca ptr %t43 = alloca ptr store ptr %arg_e, ptr %t0 store ptr %arg_name, ptr %t1 store i32 %arg_al, ptr %t2 store ptr %arg_f, ptr %t3 %t4 = load ptr, ptr %t0 %t5 = load ptr, ptr %t3 call void @fn_state_inject(ptr %t4, ptr %t5) %t6 = load ptr, ptr @g_g_al_labels %t7 = load i32, ptr %t2 %t8 = getelementptr inbounds %LSlice, ptr %t6, i32 0, i32 0 %t9 = load ptr, ptr %t8 %t10 = getelementptr inbounds %LSlice, ptr %t6, i32 0, i32 1 %t11 = load i32, ptr %t10 %t12 = icmp ult i32 %t7, %t11 br i1 %t12, label %ixok0, label %ixbad1 ixbad1: store i32 9478, ptr @lp_site %t13 = call ptr @lp_win_stdio(i32 2) store i32 0, ptr @lp_site call i32 (ptr, ptr, ...) @fprintf(ptr %t13, ptr @.fmt_bounds, ptr @.str16984, i32 %t7, i32 %t11) call void @exit(i32 1) unreachable ixok0: %t14 = getelementptr inbounds ptr, ptr %t9, i32 %t7 %t15 = load ptr, ptr %t14 %t16 = icmp eq ptr %t15, null %t17 = zext i1 %t16 to i32 %t18 = icmp ne i32 %t17, 0 br i1 %t18, label %then2, label %else3 then2: %t19 = load ptr, ptr %t0 %t20 = load ptr, ptr %t3 call void @fn_call_fill_defaults(ptr %t19, ptr %t20) br label %ifend4 else3: %t21 = load ptr, ptr %t0 %t22 = load i32, ptr %t2 %t23 = call ptr @fn_ns_alias_labels(i32 %t22) call void @fn_call_mixed_to_named(ptr %t21, ptr %t23) br label %ifend4 ifend4: %t24 = getelementptr %LSlice, ptr null, i32 1 %t25 = ptrtoint ptr %t24 to i64 store i32 9479, ptr @lp_site %t26 = call ptr @lp_malloc(i64 %t25) store i32 0, ptr @lp_site %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 %t30 %t31 = getelementptr %LSlice, ptr null, i32 1 %t32 = ptrtoint ptr %t31 to i64 store i32 9480, ptr @lp_site %t33 = call ptr @lp_malloc(i64 %t32) store i32 0, ptr @lp_site %t34 = getelementptr inbounds %LSlice, ptr %t33, i32 0, i32 0 store ptr null, ptr %t34 %t35 = getelementptr inbounds %LSlice, ptr %t33, i32 0, i32 1 store i32 0, ptr %t35 %t36 = getelementptr inbounds %LSlice, ptr %t33, i32 0, i32 2 store i32 0, ptr %t36 store ptr %t33, ptr %t37 %t38 = load ptr, ptr %t3 %t39 = load ptr, ptr %t30 %t40 = load ptr, ptr %t37 call void @fn_ck_params(ptr %t38, ptr %t39, ptr %t40) %t41 = load i32, ptr %t2 %t42 = call ptr @fn_ns_alias_labels(i32 %t41) store ptr %t42, ptr %t43 %t44 = load ptr, ptr %t43 %t45 = getelementptr inbounds %LSlice, ptr %t44, i32 0, i32 1 %t46 = load i32, ptr %t45 %t47 = load ptr, ptr %t37 %t48 = getelementptr inbounds %LSlice, ptr %t47, i32 0, i32 1 %t49 = load i32, ptr %t48 %t50 = icmp eq i32 %t46, %t49 %t51 = zext i1 %t50 to i32 %t52 = icmp ne i32 %t51, 0 br i1 %t52, label %then5, label %else6 then5: %t53 = load ptr, ptr %t0 %t54 = load ptr, ptr %t1 %t55 = load ptr, ptr %t43 %t56 = load ptr, ptr %t37 call void @fn_ck_args(ptr %t53, ptr %t54, ptr %t55, ptr %t56) br label %ifend7 else6: %t57 = load ptr, ptr %t0 %t58 = load ptr, ptr %t1 %t59 = load ptr, ptr %t30 %t60 = load ptr, ptr %t37 call void @fn_ck_args(ptr %t57, ptr %t58, ptr %t59, ptr %t60) br label %ifend7 ifend7: %t61 = load ptr, ptr %t3 %t62 = getelementptr inbounds %Cmp_Node, ptr %t61, i32 0, i32 3 %t63 = load ptr, ptr %t62 %t64 = icmp eq ptr %t63, null %t65 = zext i1 %t64 to i32 %t66 = icmp ne i32 %t65, 0 br i1 %t66, label %then8, label %ifend10 then8: store ptr @.str16986, ptr %retval br label %ret ifend10: %t67 = load ptr, ptr %t3 %t68 = getelementptr inbounds %Cmp_Node, ptr %t67, i32 0, i32 3 %t69 = load ptr, ptr %t68 store ptr %t69, ptr %retval br label %ret ret: %t70 = load ptr, ptr %retval ret ptr %t70 } define ptr @fn_ck_call_sig(ptr %arg_e, ptr %arg_name, ptr %arg_t) { entry: %retval = alloca ptr %t0 = alloca ptr %t1 = alloca ptr %t2 = alloca ptr store ptr %arg_e, ptr %t0 store ptr %arg_name, ptr %t1 store ptr %arg_t, ptr %t2 %t3 = load ptr, ptr %t0 %t4 = load ptr, ptr %t1 %t5 = getelementptr %LSlice, ptr null, i32 1 %t6 = ptrtoint ptr %t5 to i64 store i32 9481, ptr @lp_site %t7 = call ptr @lp_malloc(i64 %t6) store i32 0, ptr @lp_site %t8 = getelementptr inbounds %LSlice, ptr %t7, i32 0, i32 0 store ptr null, ptr %t8 %t9 = getelementptr inbounds %LSlice, ptr %t7, i32 0, i32 1 store i32 0, ptr %t9 %t10 = getelementptr inbounds %LSlice, ptr %t7, i32 0, i32 2 store i32 0, ptr %t10 %t11 = load ptr, ptr %t2 %t12 = call ptr @fn_fn_ty_params(ptr %t11) call void @fn_ck_args(ptr %t3, ptr %t4, ptr %t7, ptr %t12) %t13 = load ptr, ptr %t2 %t14 = call ptr @fn_fn_ty_ret(ptr %t13) store ptr %t14, ptr %retval br label %ret ret: %t15 = load ptr, ptr %retval ret ptr %t15 } define i32 @fn_ck_label_at(ptr %arg_labels, ptr %arg_s) { entry: %retval = alloca i32 %t0 = alloca ptr %t1 = alloca ptr %t2 = alloca i32 store ptr %arg_labels, 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 = load i32, ptr %t2 %t12 = getelementptr inbounds %LSlice, ptr %t10, i32 0, i32 0 %t13 = load ptr, ptr %t12 %t14 = getelementptr inbounds %LSlice, ptr %t10, i32 0, i32 1 %t15 = load i32, ptr %t14 %t16 = icmp ult i32 %t11, %t15 br i1 %t16, label %ixok3, label %ixbad4 ixbad4: store i32 9482, ptr @lp_site %t17 = call ptr @lp_win_stdio(i32 2) store i32 0, ptr @lp_site call i32 (ptr, ptr, ...) @fprintf(ptr %t17, ptr @.fmt_bounds, ptr @.str16988, i32 %t11, i32 %t15) call void @exit(i32 1) unreachable ixok3: %t18 = getelementptr inbounds ptr, ptr %t13, i32 %t11 %t19 = load ptr, ptr %t18 %t20 = load ptr, ptr %t1 %t21 = call i32 @lp_str_eq(ptr %t19, ptr %t20) %t22 = icmp ne i32 %t21, 0 br i1 %t22, label %then5, label %ifend7 then5: %t23 = load i32, ptr %t2 store i32 %t23, ptr %retval br label %ret ifend7: %t24 = load i32, ptr %t2 %t25 = add i32 %t24, 1 store i32 %t25, ptr %t2 br label %wcond0 wend2: %t26 = sub i32 0, 1 store i32 %t26, ptr %retval br label %ret ret: %t27 = load i32, ptr %retval ret i32 %t27 } define void @fn_ck_args(ptr %arg_e, ptr %arg_name, ptr %arg_labels, ptr %arg_tys) { entry: %t0 = alloca ptr %t1 = alloca ptr %t2 = alloca ptr %t3 = alloca ptr %t9 = alloca i32 %t10 = alloca i32 %t35 = alloca i32 %t53 = alloca ptr %t58 = alloca ptr %t64 = alloca i32 %t90 = alloca i32 %t116 = alloca i32 %t157 = alloca i32 %t213 = alloca i32 %t249 = alloca ptr store ptr %arg_e, ptr %t0 store ptr %arg_name, ptr %t1 store ptr %arg_labels, ptr %t2 store ptr %arg_tys, ptr %t3 %t4 = load ptr, ptr %t0 %t5 = getelementptr inbounds %Cmp_Node, ptr %t4, i32 0, i32 7 %t6 = load ptr, ptr %t5 %t7 = getelementptr inbounds %LSlice, ptr %t6, i32 0, i32 1 %t8 = load i32, ptr %t7 store i32 %t8, ptr %t9 %t11 = load i32, ptr %t9 %t12 = icmp sgt 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 %t10 br i1 %t14, label %sc0, label %scend1 sc0: %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 = getelementptr inbounds %LSlice, ptr %t18, i32 0, i32 1 %t22 = load i32, ptr %t21 %t23 = icmp ult i32 0, %t22 br i1 %t23, label %ixok2, label %ixbad3 ixbad3: store i32 9483, ptr @lp_site %t24 = call ptr @lp_win_stdio(i32 2) store i32 0, ptr @lp_site call i32 (ptr, ptr, ...) @fprintf(ptr %t24, ptr @.fmt_bounds, ptr @.str16990, i32 0, i32 %t22) call void @exit(i32 1) unreachable ixok2: %t25 = getelementptr inbounds ptr, ptr %t20, i32 0 %t26 = load ptr, ptr %t25 %t27 = getelementptr inbounds %Cmp_Node, ptr %t26, i32 0, i32 0 %t28 = load i32, ptr %t27 %t29 = icmp eq i32 %t28, 42 %t30 = zext i1 %t29 to i32 %t31 = icmp ne i32 %t30, 0 %t32 = zext i1 %t31 to i32 store i32 %t32, ptr %t10 br label %scend1 scend1: %t33 = load i32, ptr %t10 %t34 = icmp ne i32 %t33, 0 br i1 %t34, label %then4, label %ifend6 then4: store i32 0, ptr %t35 br label %wcond7 wcond7: %t36 = load i32, ptr %t35 %t37 = load i32, ptr %t9 %t38 = icmp slt i32 %t36, %t37 %t39 = zext i1 %t38 to i32 %t40 = icmp ne i32 %t39, 0 br i1 %t40, label %wbody8, label %wend9 wbody8: %t41 = load ptr, ptr %t0 %t42 = getelementptr inbounds %Cmp_Node, ptr %t41, i32 0, i32 7 %t43 = load ptr, ptr %t42 %t44 = load i32, ptr %t35 %t45 = getelementptr inbounds %LSlice, ptr %t43, i32 0, i32 0 %t46 = load ptr, ptr %t45 %t47 = getelementptr inbounds %LSlice, ptr %t43, i32 0, i32 1 %t48 = load i32, ptr %t47 %t49 = icmp ult i32 %t44, %t48 br i1 %t49, label %ixok10, label %ixbad11 ixbad11: store i32 9484, ptr @lp_site %t50 = call ptr @lp_win_stdio(i32 2) store i32 0, ptr @lp_site call i32 (ptr, ptr, ...) @fprintf(ptr %t50, ptr @.fmt_bounds, ptr @.str16992, i32 %t44, i32 %t48) call void @exit(i32 1) unreachable ixok10: %t51 = getelementptr inbounds ptr, ptr %t46, i32 %t44 %t52 = load ptr, ptr %t51 store ptr %t52, ptr %t53 %t54 = load ptr, ptr %t53 %t55 = getelementptr inbounds %Cmp_Node, ptr %t54, i32 0, i32 4 %t56 = load ptr, ptr %t55 %t57 = call ptr @fn_ck_expr(ptr %t56) store ptr %t57, ptr %t58 %t59 = load ptr, ptr %t2 %t60 = load ptr, ptr %t53 %t61 = getelementptr inbounds %Cmp_Node, ptr %t60, i32 0, i32 1 %t62 = load ptr, ptr %t61 %t63 = call i32 @fn_ck_label_at(ptr %t59, ptr %t62) store i32 %t63, ptr %t64 %t65 = load i32, ptr %t64 %t66 = icmp sge i32 %t65, 0 %t67 = zext i1 %t66 to i32 %t68 = icmp ne i32 %t67, 0 br i1 %t68, label %then12, label %ifend14 then12: %t69 = load ptr, ptr %t3 %t70 = load i32, ptr %t64 %t71 = getelementptr inbounds %LSlice, ptr %t69, i32 0, i32 0 %t72 = load ptr, ptr %t71 %t73 = getelementptr inbounds %LSlice, ptr %t69, i32 0, i32 1 %t74 = load i32, ptr %t73 %t75 = icmp ult i32 %t70, %t74 br i1 %t75, label %ixok15, label %ixbad16 ixbad16: store i32 9485, ptr @lp_site %t76 = call ptr @lp_win_stdio(i32 2) store i32 0, ptr @lp_site call i32 (ptr, ptr, ...) @fprintf(ptr %t76, ptr @.fmt_bounds, ptr @.str16993, i32 %t70, i32 %t74) call void @exit(i32 1) unreachable ixok15: %t77 = getelementptr inbounds ptr, ptr %t72, i32 %t70 %t78 = load ptr, ptr %t77 %t79 = load ptr, ptr %t58 %t80 = load ptr, ptr %t53 %t81 = getelementptr inbounds %Cmp_Node, ptr %t80, i32 0, i32 4 %t82 = load ptr, ptr %t81 %t83 = load ptr, ptr %t53 %t84 = getelementptr inbounds %Cmp_Node, ptr %t83, i32 0, i32 1 %t85 = load ptr, ptr %t84 store i32 9486, ptr @lp_site %t86 = call ptr @lp_str_concat(ptr @.str16994, ptr %t85) store i32 0, ptr @lp_site store i32 9487, ptr @lp_site %t87 = call ptr @lp_str_concat(ptr %t86, ptr @.str16995) store i32 0, ptr @lp_site call void @lp_free(ptr %t86) %t88 = load ptr, ptr %t1 store i32 9488, ptr @lp_site %t89 = call ptr @lp_str_concat(ptr %t87, ptr %t88) store i32 0, ptr @lp_site call void @lp_free(ptr %t87) call void @fn_ck_give(ptr %t78, ptr %t79, ptr %t82, ptr %t89) br label %ifend14 ifend14: %t91 = load i32, ptr %t64 %t92 = icmp slt 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 %t90 br i1 %t94, label %sc17, label %scend18 sc17: %t96 = load ptr, ptr %t2 %t97 = getelementptr inbounds %LSlice, ptr %t96, i32 0, i32 1 %t98 = load i32, ptr %t97 %t99 = icmp sgt i32 %t98, 0 %t100 = zext i1 %t99 to i32 %t101 = icmp ne i32 %t100, 0 %t102 = zext i1 %t101 to i32 store i32 %t102, ptr %t90 br label %scend18 scend18: %t103 = load i32, ptr %t90 %t104 = icmp ne i32 %t103, 0 br i1 %t104, label %then19, label %ifend21 then19: %t105 = load ptr, ptr %t53 %t106 = getelementptr inbounds %Cmp_Node, ptr %t105, i32 0, i32 4 %t107 = load ptr, ptr %t106 %t108 = load ptr, ptr %t1 store i32 9489, ptr @lp_site %t109 = call ptr @lp_str_concat(ptr %t108, ptr @.str16997) store i32 0, ptr @lp_site %t110 = load ptr, ptr %t53 %t111 = getelementptr inbounds %Cmp_Node, ptr %t110, i32 0, i32 1 %t112 = load ptr, ptr %t111 store i32 9490, ptr @lp_site %t113 = call ptr @lp_str_concat(ptr %t109, ptr %t112) store i32 0, ptr @lp_site call void @lp_free(ptr %t109) call void @fn_ck_err(ptr @.str16996, ptr %t107, ptr %t113) br label %ifend21 ifend21: %t114 = load i32, ptr %t35 %t115 = add i32 %t114, 1 store i32 %t115, ptr %t35 br label %wcond7 wend9: store i32 0, ptr %t116 br label %wcond22 wcond22: %t117 = load i32, ptr %t116 %t118 = load ptr, ptr %t2 %t119 = getelementptr inbounds %LSlice, ptr %t118, i32 0, i32 1 %t120 = load i32, ptr %t119 %t121 = icmp slt i32 %t117, %t120 %t122 = zext i1 %t121 to i32 %t123 = icmp ne i32 %t122, 0 br i1 %t123, label %wbody23, label %wend24 wbody23: %t124 = load ptr, ptr %t0 %t125 = load ptr, ptr %t2 %t126 = load i32, ptr %t116 %t127 = getelementptr inbounds %LSlice, ptr %t125, i32 0, i32 0 %t128 = load ptr, ptr %t127 %t129 = getelementptr inbounds %LSlice, ptr %t125, i32 0, i32 1 %t130 = load i32, ptr %t129 %t131 = icmp ult i32 %t126, %t130 br i1 %t131, label %ixok25, label %ixbad26 ixbad26: store i32 9491, ptr @lp_site %t132 = call ptr @lp_win_stdio(i32 2) store i32 0, ptr @lp_site call i32 (ptr, ptr, ...) @fprintf(ptr %t132, ptr @.fmt_bounds, ptr @.str16998, i32 %t126, i32 %t130) call void @exit(i32 1) unreachable ixok25: %t133 = getelementptr inbounds ptr, ptr %t128, i32 %t126 %t134 = load ptr, ptr %t133 %t135 = call i32 @fn_ck_named_has(ptr %t124, ptr %t134) %t136 = icmp eq i32 %t135, 0 %t137 = zext i1 %t136 to i32 %t138 = icmp ne i32 %t137, 0 br i1 %t138, label %then27, label %ifend29 then27: %t139 = load ptr, ptr %t0 %t140 = load ptr, ptr %t1 store i32 9492, ptr @lp_site %t141 = call ptr @lp_str_concat(ptr @.str17000, ptr %t140) store i32 0, ptr @lp_site store i32 9493, ptr @lp_site %t142 = call ptr @lp_str_concat(ptr %t141, ptr @.str17001) store i32 0, ptr @lp_site call void @lp_free(ptr %t141) %t143 = load ptr, ptr %t2 %t144 = load i32, ptr %t116 %t145 = getelementptr inbounds %LSlice, ptr %t143, i32 0, i32 0 %t146 = load ptr, ptr %t145 %t147 = getelementptr inbounds %LSlice, ptr %t143, i32 0, i32 1 %t148 = load i32, ptr %t147 %t149 = icmp ult i32 %t144, %t148 br i1 %t149, label %ixok30, label %ixbad31 ixbad31: store i32 9494, ptr @lp_site %t150 = call ptr @lp_win_stdio(i32 2) store i32 0, ptr @lp_site call i32 (ptr, ptr, ...) @fprintf(ptr %t150, ptr @.fmt_bounds, ptr @.str17002, i32 %t144, i32 %t148) call void @exit(i32 1) unreachable ixok30: %t151 = getelementptr inbounds ptr, ptr %t146, i32 %t144 %t152 = load ptr, ptr %t151 store i32 9495, ptr @lp_site %t153 = call ptr @lp_str_concat(ptr %t142, ptr %t152) store i32 0, ptr @lp_site call void @lp_free(ptr %t142) store i32 9496, ptr @lp_site %t154 = call ptr @lp_str_concat(ptr %t153, ptr @.str17003) store i32 0, ptr @lp_site call void @lp_free(ptr %t153) call void @fn_ck_err(ptr @.str16999, ptr %t139, ptr %t154) br label %ifend29 ifend29: %t155 = load i32, ptr %t116 %t156 = add i32 %t155, 1 store i32 %t156, ptr %t116 br label %wcond22 wend24: br label %ret ifend6: %t158 = load i32, ptr %t9 %t159 = load ptr, ptr %t3 %t160 = getelementptr inbounds %LSlice, ptr %t159, i32 0, i32 1 %t161 = load i32, ptr %t160 %t162 = icmp slt i32 %t158, %t161 %t163 = zext i1 %t162 to i32 %t164 = icmp ne i32 %t163, 0 %t165 = zext i1 %t164 to i32 store i32 %t165, ptr %t157 br i1 %t164, label %sc32, label %scend33 sc32: %t166 = load ptr, ptr %t2 %t167 = getelementptr inbounds %LSlice, ptr %t166, i32 0, i32 1 %t168 = load i32, ptr %t167 %t169 = load ptr, ptr %t3 %t170 = getelementptr inbounds %LSlice, ptr %t169, i32 0, i32 1 %t171 = load i32, ptr %t170 %t172 = icmp eq i32 %t168, %t171 %t173 = zext i1 %t172 to i32 %t174 = icmp ne i32 %t173, 0 %t175 = zext i1 %t174 to i32 store i32 %t175, ptr %t157 br label %scend33 scend33: %t176 = load i32, ptr %t157 %t177 = icmp ne i32 %t176, 0 br i1 %t177, label %then34, label %else35 then34: %t178 = load ptr, ptr %t0 %t179 = load ptr, ptr %t1 store i32 9497, ptr @lp_site %t180 = call ptr @lp_str_concat(ptr @.str17005, ptr %t179) store i32 0, ptr @lp_site store i32 9498, ptr @lp_site %t181 = call ptr @lp_str_concat(ptr %t180, ptr @.str17006) store i32 0, ptr @lp_site call void @lp_free(ptr %t180) %t182 = load ptr, ptr %t2 %t183 = load i32, ptr %t9 %t184 = getelementptr inbounds %LSlice, ptr %t182, i32 0, i32 0 %t185 = load ptr, ptr %t184 %t186 = getelementptr inbounds %LSlice, ptr %t182, i32 0, i32 1 %t187 = load i32, ptr %t186 %t188 = icmp ult i32 %t183, %t187 br i1 %t188, label %ixok37, label %ixbad38 ixbad38: store i32 9499, ptr @lp_site %t189 = call ptr @lp_win_stdio(i32 2) store i32 0, ptr @lp_site call i32 (ptr, ptr, ...) @fprintf(ptr %t189, ptr @.fmt_bounds, ptr @.str17007, i32 %t183, i32 %t187) call void @exit(i32 1) unreachable ixok37: %t190 = getelementptr inbounds ptr, ptr %t185, i32 %t183 %t191 = load ptr, ptr %t190 store i32 9500, ptr @lp_site %t192 = call ptr @lp_str_concat(ptr %t181, ptr %t191) store i32 0, ptr @lp_site call void @lp_free(ptr %t181) store i32 9501, ptr @lp_site %t193 = call ptr @lp_str_concat(ptr %t192, ptr @.str17008) store i32 0, ptr @lp_site call void @lp_free(ptr %t192) call void @fn_ck_err(ptr @.str17004, ptr %t178, ptr %t193) br label %ifend36 else35: %t194 = load i32, ptr %t9 %t195 = load ptr, ptr %t3 %t196 = getelementptr inbounds %LSlice, ptr %t195, i32 0, i32 1 %t197 = load i32, ptr %t196 %t198 = icmp ne i32 %t194, %t197 %t199 = zext i1 %t198 to i32 %t200 = icmp ne i32 %t199, 0 br i1 %t200, label %then39, label %ifend41 then39: %t201 = load ptr, ptr %t0 %t202 = load ptr, ptr %t1 store i32 9502, ptr @lp_site %t203 = call ptr @lp_str_concat(ptr %t202, ptr @.str17010) store i32 0, ptr @lp_site %t204 = load ptr, ptr %t3 %t205 = getelementptr inbounds %LSlice, ptr %t204, i32 0, i32 1 %t206 = load i32, ptr %t205 %t207 = call ptr @fn_itoa(i32 %t206) store i32 9503, ptr @lp_site %t208 = call ptr @lp_str_concat(ptr %t203, ptr %t207) store i32 0, ptr @lp_site call void @lp_free(ptr %t203) store i32 9504, ptr @lp_site %t209 = call ptr @lp_str_concat(ptr %t208, ptr @.str17011) store i32 0, ptr @lp_site call void @lp_free(ptr %t208) %t210 = load i32, ptr %t9 %t211 = call ptr @fn_itoa(i32 %t210) store i32 9505, ptr @lp_site %t212 = call ptr @lp_str_concat(ptr %t209, ptr %t211) store i32 0, ptr @lp_site call void @lp_free(ptr %t209) call void @fn_ck_err(ptr @.str17009, ptr %t201, ptr %t212) br label %ifend41 ifend41: br label %ifend36 ifend36: store i32 0, ptr %t213 br label %wcond42 wcond42: %t214 = load i32, ptr %t213 %t215 = load i32, ptr %t9 %t216 = icmp slt i32 %t214, %t215 %t217 = zext i1 %t216 to i32 %t218 = icmp ne i32 %t217, 0 br i1 %t218, label %wbody43, label %wend44 wbody43: %t219 = load i32, ptr %t213 %t220 = load ptr, ptr %t3 %t221 = getelementptr inbounds %LSlice, ptr %t220, i32 0, i32 1 %t222 = load i32, ptr %t221 %t223 = icmp slt i32 %t219, %t222 %t224 = zext i1 %t223 to i32 %t225 = icmp ne i32 %t224, 0 br i1 %t225, label %then45, label %ifend47 then45: %t226 = load ptr, ptr %t3 %t227 = load i32, ptr %t213 %t228 = getelementptr inbounds %LSlice, ptr %t226, i32 0, i32 0 %t229 = load ptr, ptr %t228 %t230 = getelementptr inbounds %LSlice, ptr %t226, i32 0, i32 1 %t231 = load i32, ptr %t230 %t232 = icmp ult i32 %t227, %t231 br i1 %t232, label %ixok48, label %ixbad49 ixbad49: store i32 9506, ptr @lp_site %t233 = call ptr @lp_win_stdio(i32 2) store i32 0, ptr @lp_site call i32 (ptr, ptr, ...) @fprintf(ptr %t233, ptr @.fmt_bounds, ptr @.str17012, i32 %t227, i32 %t231) call void @exit(i32 1) unreachable ixok48: %t234 = getelementptr inbounds ptr, ptr %t229, i32 %t227 %t235 = load ptr, ptr %t234 store ptr %t235, ptr @g_ck_expect br label %ifend47 ifend47: %t236 = load ptr, ptr %t0 %t237 = getelementptr inbounds %Cmp_Node, ptr %t236, i32 0, i32 7 %t238 = load ptr, ptr %t237 %t239 = load i32, ptr %t213 %t240 = getelementptr inbounds %LSlice, ptr %t238, i32 0, i32 0 %t241 = load ptr, ptr %t240 %t242 = getelementptr inbounds %LSlice, ptr %t238, i32 0, i32 1 %t243 = load i32, ptr %t242 %t244 = icmp ult i32 %t239, %t243 br i1 %t244, label %ixok50, label %ixbad51 ixbad51: store i32 9507, ptr @lp_site %t245 = call ptr @lp_win_stdio(i32 2) store i32 0, ptr @lp_site call i32 (ptr, ptr, ...) @fprintf(ptr %t245, ptr @.fmt_bounds, ptr @.str17013, i32 %t239, i32 %t243) call void @exit(i32 1) unreachable ixok50: %t246 = getelementptr inbounds ptr, ptr %t241, i32 %t239 %t247 = load ptr, ptr %t246 %t248 = call ptr @fn_ck_expr(ptr %t247) store ptr %t248, ptr %t249 %t250 = load i32, ptr %t213 %t251 = load ptr, ptr %t3 %t252 = getelementptr inbounds %LSlice, ptr %t251, i32 0, i32 1 %t253 = load i32, ptr %t252 %t254 = icmp slt i32 %t250, %t253 %t255 = zext i1 %t254 to i32 %t256 = icmp ne i32 %t255, 0 br i1 %t256, label %then52, label %ifend54 then52: %t257 = load ptr, ptr %t3 %t258 = load i32, ptr %t213 %t259 = getelementptr inbounds %LSlice, ptr %t257, i32 0, i32 0 %t260 = load ptr, ptr %t259 %t261 = getelementptr inbounds %LSlice, ptr %t257, i32 0, i32 1 %t262 = load i32, ptr %t261 %t263 = icmp ult i32 %t258, %t262 br i1 %t263, label %ixok55, label %ixbad56 ixbad56: store i32 9508, ptr @lp_site %t264 = call ptr @lp_win_stdio(i32 2) store i32 0, ptr @lp_site call i32 (ptr, ptr, ...) @fprintf(ptr %t264, ptr @.fmt_bounds, ptr @.str17014, i32 %t258, i32 %t262) call void @exit(i32 1) unreachable ixok55: %t265 = getelementptr inbounds ptr, ptr %t260, i32 %t258 %t266 = load ptr, ptr %t265 %t267 = load ptr, ptr %t249 %t268 = load ptr, ptr %t0 %t269 = getelementptr inbounds %Cmp_Node, ptr %t268, i32 0, i32 7 %t270 = load ptr, ptr %t269 %t271 = load i32, ptr %t213 %t272 = getelementptr inbounds %LSlice, ptr %t270, i32 0, i32 0 %t273 = load ptr, ptr %t272 %t274 = getelementptr inbounds %LSlice, ptr %t270, i32 0, i32 1 %t275 = load i32, ptr %t274 %t276 = icmp ult i32 %t271, %t275 br i1 %t276, label %ixok57, label %ixbad58 ixbad58: store i32 9509, ptr @lp_site %t277 = call ptr @lp_win_stdio(i32 2) store i32 0, ptr @lp_site call i32 (ptr, ptr, ...) @fprintf(ptr %t277, ptr @.fmt_bounds, ptr @.str17015, i32 %t271, i32 %t275) call void @exit(i32 1) unreachable ixok57: %t278 = getelementptr inbounds ptr, ptr %t273, i32 %t271 %t279 = load ptr, ptr %t278 %t280 = load i32, ptr %t213 %t281 = add i32 %t280, 1 %t282 = call ptr @fn_itoa(i32 %t281) store i32 9510, ptr @lp_site %t283 = call ptr @lp_str_concat(ptr @.str17016, ptr %t282) store i32 0, ptr @lp_site store i32 9511, ptr @lp_site %t284 = call ptr @lp_str_concat(ptr %t283, ptr @.str17017) store i32 0, ptr @lp_site call void @lp_free(ptr %t283) %t285 = load ptr, ptr %t1 store i32 9512, ptr @lp_site %t286 = call ptr @lp_str_concat(ptr %t284, ptr %t285) store i32 0, ptr @lp_site call void @lp_free(ptr %t284) call void @fn_ck_give(ptr %t266, ptr %t267, ptr %t279, ptr %t286) br label %ifend54 ifend54: %t287 = load i32, ptr %t213 %t288 = add i32 %t287, 1 store i32 %t288, ptr %t213 br label %wcond42 wend44: br label %ret ret: ret void } define i32 @fn_ck_named_has(ptr %arg_e, ptr %arg_label) { entry: %retval = alloca i32 %t0 = alloca ptr %t1 = alloca ptr %t2 = alloca i32 store ptr %arg_e, ptr %t0 store ptr %arg_label, 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 = load i32, ptr %t2 %t16 = getelementptr inbounds %LSlice, ptr %t14, i32 0, i32 0 %t17 = load ptr, ptr %t16 %t18 = getelementptr inbounds %LSlice, ptr %t14, i32 0, i32 1 %t19 = load i32, ptr %t18 %t20 = icmp ult i32 %t15, %t19 br i1 %t20, label %ixok3, label %ixbad4 ixbad4: store i32 9513, ptr @lp_site %t21 = call ptr @lp_win_stdio(i32 2) store i32 0, ptr @lp_site call i32 (ptr, ptr, ...) @fprintf(ptr %t21, ptr @.fmt_bounds, ptr @.str17018, i32 %t15, i32 %t19) call void @exit(i32 1) unreachable ixok3: %t22 = getelementptr inbounds ptr, ptr %t17, i32 %t15 %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 %then5, label %ifend7 then5: store i32 1, ptr %retval br label %ret ifend7: %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_ck_walk_args(ptr %arg_e) { entry: %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 = load i32, ptr %t1 %t15 = getelementptr inbounds %LSlice, ptr %t13, i32 0, i32 0 %t16 = load ptr, ptr %t15 %t17 = getelementptr inbounds %LSlice, ptr %t13, i32 0, i32 1 %t18 = load i32, ptr %t17 %t19 = icmp ult i32 %t14, %t18 br i1 %t19, label %ixok3, label %ixbad4 ixbad4: store i32 9514, ptr @lp_site %t20 = call ptr @lp_win_stdio(i32 2) store i32 0, ptr @lp_site call i32 (ptr, ptr, ...) @fprintf(ptr %t20, ptr @.fmt_bounds, ptr @.str17020, i32 %t14, i32 %t18) call void @exit(i32 1) unreachable ixok3: %t21 = getelementptr inbounds ptr, ptr %t16, i32 %t14 %t22 = load ptr, ptr %t21 call void @fn_ck_any(ptr %t22) %t23 = load i32, ptr %t1 %t24 = add i32 %t23, 1 store i32 %t24, ptr %t1 br label %wcond0 wend2: br label %ret ret: ret void } define ptr @fn_ck_builtin(ptr %arg_e, ptr %arg_name) { entry: %retval = alloca ptr %t0 = alloca ptr %t1 = alloca ptr %t2 = alloca i32 %t30 = alloca i32 %t47 = alloca i32 %t60 = alloca i32 %t61 = alloca i32 %t62 = alloca i32 %t63 = alloca i32 %t64 = alloca i32 %t105 = alloca i32 %t122 = alloca i32 %t134 = alloca i32 %t162 = alloca ptr %t209 = alloca i32 %t229 = alloca i32 %t253 = alloca i32 %t272 = alloca i32 %t299 = alloca i32 %t338 = alloca ptr %t351 = alloca ptr %t352 = alloca i32 store ptr %arg_e, ptr %t0 store ptr %arg_name, ptr %t1 %t3 = load ptr, ptr %t1 %t4 = call i32 @lp_str_eq(ptr %t3, ptr @.str17022) %t5 = icmp ne i32 %t4, 0 %t6 = zext i1 %t5 to i32 store i32 %t6, ptr %t2 br i1 %t5, label %sc0, label %scend1 sc0: %t7 = load ptr, ptr %t0 %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 eq i32 %t11, 1 %t13 = zext i1 %t12 to i32 %t14 = icmp ne i32 %t13, 0 %t15 = zext i1 %t14 to i32 store i32 %t15, ptr %t2 br label %scend1 scend1: %t16 = load i32, ptr %t2 %t17 = icmp ne i32 %t16, 0 br i1 %t17, label %then2, label %ifend4 then2: %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 %LSlice, ptr %t20, i32 0, i32 1 %t24 = load i32, ptr %t23 %t25 = icmp ult i32 0, %t24 br i1 %t25, label %ixok5, label %ixbad6 ixbad6: store i32 9515, ptr @lp_site %t26 = call ptr @lp_win_stdio(i32 2) store i32 0, ptr @lp_site call i32 (ptr, ptr, ...) @fprintf(ptr %t26, ptr @.fmt_bounds, ptr @.str17023, i32 0, i32 %t24) call void @exit(i32 1) unreachable ixok5: %t27 = getelementptr inbounds ptr, ptr %t22, i32 0 %t28 = load ptr, ptr %t27 %t29 = call ptr @fn_ck_expr(ptr %t28) store ptr %t29, ptr %retval br label %ret ifend4: %t31 = load ptr, ptr %t1 %t32 = call i32 @lp_str_eq(ptr %t31, ptr @.str17025) %t33 = icmp ne i32 %t32, 0 %t34 = zext i1 %t33 to i32 store i32 %t34, ptr %t30 br i1 %t33, label %sc7, label %scend8 sc7: %t35 = load ptr, ptr %t0 %t36 = getelementptr inbounds %Cmp_Node, ptr %t35, i32 0, i32 7 %t37 = load ptr, ptr %t36 %t38 = getelementptr inbounds %LSlice, ptr %t37, i32 0, i32 1 %t39 = load i32, ptr %t38 %t40 = icmp eq i32 %t39, 1 %t41 = zext i1 %t40 to i32 %t42 = icmp ne i32 %t41, 0 %t43 = zext i1 %t42 to i32 store i32 %t43, ptr %t30 br label %scend8 scend8: %t44 = load i32, ptr %t30 %t45 = icmp ne i32 %t44, 0 br i1 %t45, label %then9, label %ifend11 then9: %t46 = load ptr, ptr %t0 call void @fn_ck_walk_args(ptr %t46) store ptr @.str17026, ptr %retval br label %ret ifend11: %t48 = load ptr, ptr %t1 %t49 = call i32 @lp_str_eq(ptr %t48, ptr @.str17027) %t50 = icmp ne i32 %t49, 0 %t51 = zext i1 %t50 to i32 store i32 %t51, ptr %t47 br i1 %t50, label %sc12, label %scend13 sc12: %t52 = load ptr, ptr %t0 %t53 = call i32 @fn_ck_tpl_hole(ptr %t52) %t54 = icmp ne i32 %t53, 0 %t55 = zext i1 %t54 to i32 store i32 %t55, ptr %t47 br label %scend13 scend13: %t56 = load i32, ptr %t47 %t57 = icmp ne i32 %t56, 0 br i1 %t57, label %then14, label %ifend16 then14: %t58 = load ptr, ptr %t0 %t59 = call ptr @fn_ck_hole(ptr %t58) store ptr %t59, ptr %retval br label %ret ifend16: %t65 = load ptr, ptr %t1 %t66 = call i32 @lp_str_eq(ptr %t65, ptr @.str17028) %t67 = icmp ne i32 %t66, 0 %t68 = zext i1 %t67 to i32 store i32 %t68, ptr %t64 br i1 %t67, label %scend18, label %sc17 sc17: %t69 = load ptr, ptr %t1 %t70 = call i32 @lp_str_eq(ptr %t69, ptr @.str17029) %t71 = icmp ne i32 %t70, 0 %t72 = zext i1 %t71 to i32 store i32 %t72, ptr %t64 br label %scend18 scend18: %t73 = load i32, ptr %t64 %t74 = icmp ne i32 %t73, 0 %t75 = zext i1 %t74 to i32 store i32 %t75, ptr %t63 br i1 %t74, label %scend20, label %sc19 sc19: %t76 = load ptr, ptr %t1 %t77 = call i32 @lp_str_eq(ptr %t76, ptr @.str17030) %t78 = icmp ne i32 %t77, 0 %t79 = zext i1 %t78 to i32 store i32 %t79, ptr %t63 br label %scend20 scend20: %t80 = load i32, ptr %t63 %t81 = icmp ne i32 %t80, 0 %t82 = zext i1 %t81 to i32 store i32 %t82, ptr %t62 br i1 %t81, label %scend22, label %sc21 sc21: %t83 = load ptr, ptr %t1 %t84 = call i32 @lp_str_eq(ptr %t83, ptr @.str17031) %t85 = icmp ne i32 %t84, 0 %t86 = zext i1 %t85 to i32 store i32 %t86, ptr %t62 br label %scend22 scend22: %t87 = load i32, ptr %t62 %t88 = icmp ne i32 %t87, 0 %t89 = zext i1 %t88 to i32 store i32 %t89, ptr %t61 br i1 %t88, label %scend24, label %sc23 sc23: %t90 = load ptr, ptr %t1 %t91 = call i32 @lp_str_eq(ptr %t90, ptr @.str17032) %t92 = icmp ne i32 %t91, 0 %t93 = zext i1 %t92 to i32 store i32 %t93, ptr %t61 br label %scend24 scend24: %t94 = load i32, ptr %t61 %t95 = icmp ne i32 %t94, 0 %t96 = zext i1 %t95 to i32 store i32 %t96, ptr %t60 br i1 %t95, label %scend26, label %sc25 sc25: %t97 = load ptr, ptr %t1 %t98 = call i32 @lp_str_eq(ptr %t97, ptr @.str17033) %t99 = icmp ne i32 %t98, 0 %t100 = zext i1 %t99 to i32 store i32 %t100, ptr %t60 br label %scend26 scend26: %t101 = load i32, ptr %t60 %t102 = icmp ne i32 %t101, 0 br i1 %t102, label %then27, label %ifend29 then27: %t103 = load ptr, ptr %t0 call void @fn_ck_walk_args(ptr %t103) %t104 = load ptr, ptr %t1 store ptr %t104, ptr %retval br label %ret ifend29: %t106 = load ptr, ptr %t1 %t107 = call i32 @lp_str_eq(ptr %t106, ptr @.str17034) %t108 = icmp ne i32 %t107, 0 %t109 = zext i1 %t108 to i32 store i32 %t109, ptr %t105 br i1 %t108, label %scend31, label %sc30 sc30: %t110 = load ptr, ptr %t1 %t111 = call i32 @lp_str_eq(ptr %t110, ptr @.str17035) %t112 = icmp ne i32 %t111, 0 %t113 = zext i1 %t112 to i32 store i32 %t113, ptr %t105 br label %scend31 scend31: %t114 = load i32, ptr %t105 %t115 = icmp ne i32 %t114, 0 br i1 %t115, label %then32, label %ifend34 then32: %t116 = load ptr, ptr %t0 call void @fn_ck_walk_args(ptr %t116) %t117 = load ptr, ptr %t1 %t118 = load ptr, ptr %t1 %t119 = call i64 @strlen(ptr %t118) %t120 = trunc i64 %t119 to i32 store i32 9516, ptr @lp_site %t121 = call ptr @lp_str_slice(ptr %t117, i32 3, i32 %t120) store i32 0, ptr @lp_site store ptr %t121, ptr %retval br label %ret ifend34: %t123 = load ptr, ptr %t1 %t124 = call i32 @lp_str_eq(ptr %t123, ptr @.str17036) %t125 = icmp ne i32 %t124, 0 %t126 = zext i1 %t125 to i32 store i32 %t126, ptr %t122 br i1 %t125, label %scend36, label %sc35 sc35: %t127 = load ptr, ptr %t1 %t128 = call i32 @lp_str_eq(ptr %t127, ptr @.str17037) %t129 = icmp ne i32 %t128, 0 %t130 = zext i1 %t129 to i32 store i32 %t130, ptr %t122 br label %scend36 scend36: %t131 = load i32, ptr %t122 %t132 = icmp ne i32 %t131, 0 br i1 %t132, label %then37, label %ifend39 then37: %t133 = load ptr, ptr %t0 call void @fn_ck_walk_args(ptr %t133) store ptr @.str17038, ptr %retval br label %ret ifend39: %t135 = load ptr, ptr %t1 %t136 = call i32 @lp_str_eq(ptr %t135, ptr @.str17039) %t137 = icmp ne i32 %t136, 0 %t138 = zext i1 %t137 to i32 store i32 %t138, ptr %t134 br i1 %t137, label %sc40, label %scend41 sc40: %t139 = load ptr, ptr %t0 %t140 = getelementptr inbounds %Cmp_Node, ptr %t139, i32 0, i32 7 %t141 = load ptr, ptr %t140 %t142 = getelementptr inbounds %LSlice, ptr %t141, i32 0, i32 1 %t143 = load i32, ptr %t142 %t144 = icmp eq i32 %t143, 3 %t145 = zext i1 %t144 to i32 %t146 = icmp ne i32 %t145, 0 %t147 = zext i1 %t146 to i32 store i32 %t147, ptr %t134 br label %scend41 scend41: %t148 = load i32, ptr %t134 %t149 = icmp ne i32 %t148, 0 br i1 %t149, label %then42, label %ifend44 then42: %t150 = load ptr, ptr %t0 %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 %LSlice, ptr %t152, i32 0, i32 1 %t156 = load i32, ptr %t155 %t157 = icmp ult i32 0, %t156 br i1 %t157, label %ixok45, label %ixbad46 ixbad46: store i32 9517, ptr @lp_site %t158 = call ptr @lp_win_stdio(i32 2) store i32 0, ptr @lp_site call i32 (ptr, ptr, ...) @fprintf(ptr %t158, ptr @.fmt_bounds, ptr @.str17040, i32 0, i32 %t156) call void @exit(i32 1) unreachable ixok45: %t159 = getelementptr inbounds ptr, ptr %t154, i32 0 %t160 = load ptr, ptr %t159 %t161 = call ptr @fn_ck_expr(ptr %t160) store ptr %t161, ptr %t162 %t163 = load ptr, ptr %t0 %t164 = getelementptr inbounds %Cmp_Node, ptr %t163, i32 0, i32 7 %t165 = load ptr, ptr %t164 %t166 = getelementptr inbounds %LSlice, ptr %t165, i32 0, i32 0 %t167 = load ptr, ptr %t166 %t168 = getelementptr inbounds %LSlice, ptr %t165, i32 0, i32 1 %t169 = load i32, ptr %t168 %t170 = icmp ult i32 1, %t169 br i1 %t170, label %ixok47, label %ixbad48 ixbad48: store i32 9518, ptr @lp_site %t171 = call ptr @lp_win_stdio(i32 2) store i32 0, ptr @lp_site call i32 (ptr, ptr, ...) @fprintf(ptr %t171, ptr @.fmt_bounds, ptr @.str17042, i32 1, i32 %t169) call void @exit(i32 1) unreachable ixok47: %t172 = getelementptr inbounds ptr, ptr %t167, i32 1 %t173 = load ptr, ptr %t172 %t174 = call ptr @fn_ck_expr(ptr %t173) %t175 = load ptr, ptr %t0 %t176 = getelementptr inbounds %Cmp_Node, ptr %t175, i32 0, i32 7 %t177 = load ptr, ptr %t176 %t178 = getelementptr inbounds %LSlice, ptr %t177, i32 0, i32 0 %t179 = load ptr, ptr %t178 %t180 = getelementptr inbounds %LSlice, ptr %t177, i32 0, i32 1 %t181 = load i32, ptr %t180 %t182 = icmp ult i32 1, %t181 br i1 %t182, label %ixok49, label %ixbad50 ixbad50: store i32 9519, ptr @lp_site %t183 = call ptr @lp_win_stdio(i32 2) store i32 0, ptr @lp_site call i32 (ptr, ptr, ...) @fprintf(ptr %t183, ptr @.fmt_bounds, ptr @.str17043, i32 1, i32 %t181) call void @exit(i32 1) unreachable ixok49: %t184 = getelementptr inbounds ptr, ptr %t179, i32 1 %t185 = load ptr, ptr %t184 call void @fn_ck_give(ptr @.str17041, ptr %t174, ptr %t185, ptr @.str17044) %t186 = load ptr, ptr %t0 %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 %LSlice, ptr %t188, i32 0, i32 1 %t192 = load i32, ptr %t191 %t193 = icmp ult i32 2, %t192 br i1 %t193, label %ixok51, label %ixbad52 ixbad52: store i32 9520, ptr @lp_site %t194 = call ptr @lp_win_stdio(i32 2) store i32 0, ptr @lp_site call i32 (ptr, ptr, ...) @fprintf(ptr %t194, ptr @.fmt_bounds, ptr @.str17046, i32 2, i32 %t192) call void @exit(i32 1) unreachable ixok51: %t195 = getelementptr inbounds ptr, ptr %t190, i32 2 %t196 = load ptr, ptr %t195 %t197 = call ptr @fn_ck_expr(ptr %t196) %t198 = load ptr, ptr %t0 %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 %LSlice, ptr %t200, i32 0, i32 1 %t204 = load i32, ptr %t203 %t205 = icmp ult i32 2, %t204 br i1 %t205, label %ixok53, label %ixbad54 ixbad54: store i32 9521, ptr @lp_site %t206 = call ptr @lp_win_stdio(i32 2) store i32 0, ptr @lp_site call i32 (ptr, ptr, ...) @fprintf(ptr %t206, ptr @.fmt_bounds, ptr @.str17047, i32 2, i32 %t204) call void @exit(i32 1) unreachable ixok53: %t207 = getelementptr inbounds ptr, ptr %t202, i32 2 %t208 = load ptr, ptr %t207 call void @fn_ck_give(ptr @.str17045, ptr %t197, ptr %t208, ptr @.str17048) %t210 = load ptr, ptr %t162 %t211 = call i32 @fn_ck_unknown(ptr %t210) %t212 = icmp eq i32 %t211, 0 %t213 = zext i1 %t212 to i32 %t214 = icmp ne i32 %t213, 0 %t215 = zext i1 %t214 to i32 store i32 %t215, ptr %t209 br i1 %t214, label %sc55, label %scend56 sc55: %t216 = load ptr, ptr %t162 %t217 = call i32 @fn_is_slice_ty(ptr %t216) %t218 = icmp eq i32 %t217, 0 %t219 = zext i1 %t218 to i32 %t220 = icmp ne i32 %t219, 0 %t221 = zext i1 %t220 to i32 store i32 %t221, ptr %t209 br label %scend56 scend56: %t222 = load i32, ptr %t209 %t223 = icmp ne i32 %t222, 0 br i1 %t223, label %then57, label %ifend59 then57: %t224 = load ptr, ptr %t0 %t225 = load ptr, ptr %t162 %t226 = call ptr @fn_ck_a(ptr %t225) store i32 9522, ptr @lp_site %t227 = call ptr @lp_str_concat(ptr @.str17050, ptr %t226) store i32 0, ptr @lp_site call void @fn_ck_err(ptr @.str17049, ptr %t224, ptr %t227) br label %ifend59 ifend59: %t228 = load ptr, ptr %t162 store ptr %t228, ptr %retval br label %ret ifend44: %t230 = load ptr, ptr %t1 %t231 = call i32 @lp_str_eq(ptr %t230, ptr @.str17051) %t232 = icmp ne i32 %t231, 0 %t233 = zext i1 %t232 to i32 store i32 %t233, ptr %t229 br i1 %t232, label %scend61, label %sc60 sc60: %t234 = load ptr, ptr %t1 %t235 = call i32 @lp_str_eq(ptr %t234, ptr @.str17052) %t236 = icmp ne i32 %t235, 0 %t237 = zext i1 %t236 to i32 store i32 %t237, ptr %t229 br label %scend61 scend61: %t238 = load i32, ptr %t229 %t239 = icmp ne i32 %t238, 0 br i1 %t239, label %then62, label %ifend64 then62: %t240 = load ptr, ptr %t0 call void @fn_ck_walk_args(ptr %t240) store ptr @.str17053, ptr %retval br label %ret ifend64: %t241 = load ptr, ptr %t1 %t242 = call i32 @lp_str_eq(ptr %t241, ptr @.str17054) %t243 = icmp ne i32 %t242, 0 br i1 %t243, label %then65, label %ifend67 then65: %t244 = load ptr, ptr %t0 call void @fn_ck_walk_args(ptr %t244) store ptr @.str17055, ptr %retval br label %ret ifend67: %t245 = load ptr, ptr %t1 %t246 = call i32 @lp_str_eq(ptr %t245, ptr @.str17056) %t247 = icmp ne i32 %t246, 0 br i1 %t247, label %then68, label %ifend70 then68: %t248 = load ptr, ptr %t0 call void @fn_ck_walk_args(ptr %t248) store ptr @.str17057, ptr %retval br label %ret ifend70: %t249 = load ptr, ptr %t1 %t250 = call i32 @lp_str_eq(ptr %t249, ptr @.str17058) %t251 = icmp ne i32 %t250, 0 br i1 %t251, label %then71, label %ifend73 then71: %t252 = load ptr, ptr %t0 call void @fn_ck_walk_args(ptr %t252) store ptr @.str17059, ptr %retval br label %ret ifend73: %t254 = load ptr, ptr %t1 %t255 = call i32 @lp_str_eq(ptr %t254, ptr @.str17060) %t256 = icmp ne i32 %t255, 0 %t257 = zext i1 %t256 to i32 store i32 %t257, ptr %t253 br i1 %t256, label %scend75, label %sc74 sc74: %t258 = load ptr, ptr %t1 %t259 = call i32 @lp_str_eq(ptr %t258, ptr @.str17061) %t260 = icmp ne i32 %t259, 0 %t261 = zext i1 %t260 to i32 store i32 %t261, ptr %t253 br label %scend75 scend75: %t262 = load i32, ptr %t253 %t263 = icmp ne i32 %t262, 0 br i1 %t263, label %then76, label %ifend78 then76: %t264 = load ptr, ptr %t0 call void @fn_ck_walk_args(ptr %t264) %t265 = load ptr, ptr %t1 %t266 = load ptr, ptr %t1 %t267 = call i64 @strlen(ptr %t266) %t268 = trunc i64 %t267 to i32 %t269 = sub i32 %t268, 1 store i32 9523, ptr @lp_site %t270 = call ptr @lp_str_slice(ptr %t265, i32 0, i32 %t269) store i32 0, ptr @lp_site store i32 9524, ptr @lp_site %t271 = call ptr @lp_str_concat(ptr @.str17062, ptr %t270) store i32 0, ptr @lp_site call void @lp_free(ptr %t270) store ptr %t271, ptr %retval br label %ret ifend78: %t273 = load ptr, ptr %t1 %t274 = call i32 @lp_str_eq(ptr %t273, ptr @.str17063) %t275 = icmp ne i32 %t274, 0 %t276 = zext i1 %t275 to i32 store i32 %t276, ptr %t272 br i1 %t275, label %scend80, label %sc79 sc79: %t277 = load ptr, ptr %t1 %t278 = call i32 @lp_str_eq(ptr %t277, ptr @.str17064) %t279 = icmp ne i32 %t278, 0 %t280 = zext i1 %t279 to i32 store i32 %t280, ptr %t272 br label %scend80 scend80: %t281 = load i32, ptr %t272 %t282 = icmp ne i32 %t281, 0 br i1 %t282, label %then81, label %ifend83 then81: %t283 = load ptr, ptr %t0 call void @fn_ck_walk_args(ptr %t283) %t284 = load ptr, ptr %t1 %t285 = load ptr, ptr %t1 %t286 = call i64 @strlen(ptr %t285) %t287 = trunc i64 %t286 to i32 %t288 = sub i32 %t287, 1 store i32 9525, ptr @lp_site %t289 = call ptr @lp_str_slice(ptr %t284, i32 0, i32 %t288) store i32 0, ptr @lp_site store i32 9526, ptr @lp_site %t290 = call ptr @lp_str_concat(ptr @.str17065, ptr %t289) store i32 0, ptr @lp_site call void @lp_free(ptr %t289) store ptr %t290, ptr %retval br label %ret ifend83: %t291 = load ptr, ptr %t1 %t292 = call i32 @lp_str_eq(ptr %t291, ptr @.str17066) %t293 = icmp ne i32 %t292, 0 br i1 %t293, label %then84, label %ifend86 then84: %t294 = load ptr, ptr %t0 call void @fn_ck_walk_args(ptr %t294) store ptr @.str17067, ptr %retval br label %ret ifend86: %t295 = load ptr, ptr %t1 %t296 = call i32 @lp_str_eq(ptr %t295, ptr @.str17068) %t297 = icmp ne i32 %t296, 0 br i1 %t297, label %then87, label %ifend89 then87: %t298 = load ptr, ptr %t0 call void @fn_ck_walk_args(ptr %t298) store ptr @.str17069, ptr %retval br label %ret ifend89: %t300 = load ptr, ptr %t1 %t301 = call i32 @lp_str_eq(ptr %t300, ptr @.str17070) %t302 = icmp ne i32 %t301, 0 %t303 = zext i1 %t302 to i32 store i32 %t303, ptr %t299 br i1 %t302, label %sc90, label %scend91 sc90: %t304 = load ptr, ptr %t0 %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 1 %t308 = load i32, ptr %t307 %t309 = icmp eq i32 %t308, 2 %t310 = zext i1 %t309 to i32 %t311 = icmp ne i32 %t310, 0 %t312 = zext i1 %t311 to i32 store i32 %t312, ptr %t299 br label %scend91 scend91: %t313 = load i32, ptr %t299 %t314 = icmp ne i32 %t313, 0 br i1 %t314, label %then92, label %ifend94 then92: %t315 = load ptr, ptr %t0 %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 %LSlice, ptr %t317, i32 0, i32 1 %t321 = load i32, ptr %t320 %t322 = icmp ult i32 0, %t321 br i1 %t322, label %ixok95, label %ixbad96 ixbad96: store i32 9527, ptr @lp_site %t323 = call ptr @lp_win_stdio(i32 2) store i32 0, ptr @lp_site call i32 (ptr, ptr, ...) @fprintf(ptr %t323, ptr @.fmt_bounds, ptr @.str17071, i32 0, i32 %t321) call void @exit(i32 1) unreachable ixok95: %t324 = getelementptr inbounds ptr, ptr %t319, i32 0 %t325 = load ptr, ptr %t324 call void @fn_ck_write_check(ptr %t325, ptr @.str17072) %t326 = load ptr, ptr %t0 %t327 = getelementptr inbounds %Cmp_Node, ptr %t326, i32 0, i32 7 %t328 = load ptr, ptr %t327 %t329 = getelementptr inbounds %LSlice, ptr %t328, i32 0, i32 0 %t330 = load ptr, ptr %t329 %t331 = getelementptr inbounds %LSlice, ptr %t328, i32 0, i32 1 %t332 = load i32, ptr %t331 %t333 = icmp ult i32 0, %t332 br i1 %t333, label %ixok97, label %ixbad98 ixbad98: store i32 9528, ptr @lp_site %t334 = call ptr @lp_win_stdio(i32 2) store i32 0, ptr @lp_site call i32 (ptr, ptr, ...) @fprintf(ptr %t334, ptr @.fmt_bounds, ptr @.str17073, i32 0, i32 %t332) call void @exit(i32 1) unreachable ixok97: %t335 = getelementptr inbounds ptr, ptr %t330, i32 0 %t336 = load ptr, ptr %t335 %t337 = call ptr @fn_ck_expr(ptr %t336) store ptr %t337, ptr %t338 %t339 = load ptr, ptr %t0 %t340 = getelementptr inbounds %Cmp_Node, ptr %t339, i32 0, i32 7 %t341 = load ptr, ptr %t340 %t342 = getelementptr inbounds %LSlice, ptr %t341, i32 0, i32 0 %t343 = load ptr, ptr %t342 %t344 = getelementptr inbounds %LSlice, ptr %t341, i32 0, i32 1 %t345 = load i32, ptr %t344 %t346 = icmp ult i32 1, %t345 br i1 %t346, label %ixok99, label %ixbad100 ixbad100: store i32 9529, ptr @lp_site %t347 = call ptr @lp_win_stdio(i32 2) store i32 0, ptr @lp_site call i32 (ptr, ptr, ...) @fprintf(ptr %t347, ptr @.fmt_bounds, ptr @.str17074, i32 1, i32 %t345) call void @exit(i32 1) unreachable ixok99: %t348 = getelementptr inbounds ptr, ptr %t343, i32 1 %t349 = load ptr, ptr %t348 %t350 = call ptr @fn_ck_expr(ptr %t349) store ptr %t350, ptr %t351 %t353 = load ptr, ptr %t338 %t354 = call i32 @fn_ck_unknown(ptr %t353) %t355 = icmp eq i32 %t354, 0 %t356 = zext i1 %t355 to i32 %t357 = icmp ne i32 %t356, 0 %t358 = zext i1 %t357 to i32 store i32 %t358, ptr %t352 br i1 %t357, label %sc101, label %scend102 sc101: %t359 = load ptr, ptr %t338 %t360 = call i32 @fn_is_slice_ty(ptr %t359) %t361 = icmp ne i32 %t360, 0 %t362 = zext i1 %t361 to i32 store i32 %t362, ptr %t352 br label %scend102 scend102: %t363 = load i32, ptr %t352 %t364 = icmp ne i32 %t363, 0 br i1 %t364, label %then103, label %ifend105 then103: %t365 = load ptr, ptr %t338 %t366 = call ptr @fn_slice_elem(ptr %t365) %t367 = load ptr, ptr %t351 %t368 = load ptr, ptr %t0 %t369 = getelementptr inbounds %Cmp_Node, ptr %t368, i32 0, i32 7 %t370 = load ptr, ptr %t369 %t371 = getelementptr inbounds %LSlice, ptr %t370, i32 0, i32 0 %t372 = load ptr, ptr %t371 %t373 = getelementptr inbounds %LSlice, ptr %t370, i32 0, i32 1 %t374 = load i32, ptr %t373 %t375 = icmp ult i32 1, %t374 br i1 %t375, label %ixok106, label %ixbad107 ixbad107: store i32 9530, ptr @lp_site %t376 = call ptr @lp_win_stdio(i32 2) store i32 0, ptr @lp_site call i32 (ptr, ptr, ...) @fprintf(ptr %t376, ptr @.fmt_bounds, ptr @.str17075, i32 1, i32 %t374) call void @exit(i32 1) unreachable ixok106: %t377 = getelementptr inbounds ptr, ptr %t372, i32 1 %t378 = load ptr, ptr %t377 %t379 = load ptr, ptr %t338 %t380 = call ptr @fn_ck_a(ptr %t379) store i32 9531, ptr @lp_site %t381 = call ptr @lp_str_concat(ptr @.str17076, ptr %t380) store i32 0, ptr @lp_site call void @fn_ck_give(ptr %t366, ptr %t367, ptr %t378, ptr %t381) br label %ifend105 ifend105: store ptr @.str17077, ptr %retval br label %ret ifend94: store ptr null, ptr %retval br label %ret ret: %t382 = load ptr, ptr %retval ret ptr %t382 } define void @fn_ck_alias_shadow(ptr %arg_e, i32 %arg_al, ptr %arg_tf) { entry: %t0 = alloca ptr %t1 = alloca i32 %t2 = alloca ptr %t17 = alloca i32 %t33 = alloca i32 store ptr %arg_e, ptr %t0 store i32 %arg_al, ptr %t1 store ptr %arg_tf, ptr %t2 %t3 = load ptr, ptr @g_g_al_file %t4 = load i32, ptr %t1 %t5 = getelementptr inbounds %LSlice, ptr %t3, i32 0, i32 0 %t6 = load ptr, ptr %t5 %t7 = getelementptr inbounds %LSlice, ptr %t3, i32 0, i32 1 %t8 = load i32, ptr %t7 %t9 = icmp ult i32 %t4, %t8 br i1 %t9, label %ixok0, label %ixbad1 ixbad1: store i32 9532, ptr @lp_site %t10 = call ptr @lp_win_stdio(i32 2) store i32 0, ptr @lp_site call i32 (ptr, ptr, ...) @fprintf(ptr %t10, ptr @.fmt_bounds, ptr @.str17078, i32 %t4, i32 %t8) call void @exit(i32 1) unreachable ixok0: %t11 = getelementptr inbounds ptr, ptr %t6, i32 %t4 %t12 = load ptr, ptr %t11 %t13 = call i32 @fn_has_sub(ptr %t12, ptr @.str17080) %t14 = icmp eq i32 %t13, 0 %t15 = zext i1 %t14 to i32 %t16 = icmp ne i32 %t15, 0 br i1 %t16, label %then2, label %ifend4 then2: br label %ret ifend4: %t18 = load ptr, ptr %t2 %t19 = getelementptr inbounds %Cmp_Node, ptr %t18, i32 0, i32 9 %t20 = load ptr, ptr %t19 %t21 = icmp eq ptr %t20, null %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 %scend6, label %sc5 sc5: %t25 = load ptr, ptr %t2 %t26 = getelementptr inbounds %Cmp_Node, ptr %t25, i32 0, i32 9 %t27 = load ptr, ptr %t26 %t28 = call i32 @fn_has_sub(ptr %t27, ptr @.str17081) %t29 = icmp ne i32 %t28, 0 %t30 = zext i1 %t29 to i32 store i32 %t30, ptr %t17 br label %scend6 scend6: %t31 = load i32, ptr %t17 %t32 = icmp ne i32 %t31, 0 br i1 %t32, label %then7, label %ifend9 then7: br label %ret ifend9: store i32 0, ptr %t33 br label %wcond10 wcond10: %t34 = load i32, ptr %t33 %t35 = load ptr, ptr @g_ck_shadow_seen %t36 = getelementptr inbounds %LSlice, ptr %t35, i32 0, i32 1 %t37 = load i32, ptr %t36 %t38 = icmp slt i32 %t34, %t37 %t39 = zext i1 %t38 to i32 %t40 = icmp ne i32 %t39, 0 br i1 %t40, label %wbody11, label %wend12 wbody11: %t41 = load ptr, ptr @g_ck_shadow_seen %t42 = load i32, ptr %t33 %t43 = getelementptr inbounds %LSlice, ptr %t41, i32 0, i32 0 %t44 = load ptr, ptr %t43 %t45 = getelementptr inbounds %LSlice, ptr %t41, i32 0, i32 1 %t46 = load i32, ptr %t45 %t47 = icmp ult i32 %t42, %t46 br i1 %t47, label %ixok13, label %ixbad14 ixbad14: store i32 9533, ptr @lp_site %t48 = call ptr @lp_win_stdio(i32 2) store i32 0, ptr @lp_site call i32 (ptr, ptr, ...) @fprintf(ptr %t48, ptr @.fmt_bounds, ptr @.str17082, i32 %t42, i32 %t46) call void @exit(i32 1) unreachable ixok13: %t49 = getelementptr inbounds ptr, ptr %t44, i32 %t42 %t50 = load ptr, ptr %t49 %t51 = load ptr, ptr %t2 %t52 = getelementptr inbounds %Cmp_Node, ptr %t51, i32 0, i32 1 %t53 = load ptr, ptr %t52 %t54 = call i32 @lp_str_eq(ptr %t50, ptr %t53) %t55 = icmp ne i32 %t54, 0 br i1 %t55, label %then15, label %ifend17 then15: br label %ret ifend17: %t56 = load i32, ptr %t33 %t57 = add i32 %t56, 1 store i32 %t57, ptr %t33 br label %wcond10 wend12: %t58 = load ptr, ptr @g_ck_shadow_seen %t59 = load ptr, ptr %t2 %t60 = getelementptr inbounds %Cmp_Node, ptr %t59, i32 0, i32 1 %t61 = load ptr, ptr %t60 %t62 = getelementptr inbounds %LSlice, ptr %t58, i32 0, i32 1 %t63 = getelementptr inbounds %LSlice, ptr %t58, i32 0, i32 2 %t64 = getelementptr inbounds %LSlice, ptr %t58, i32 0, i32 0 %t65 = load i32, ptr %t62 %t66 = load i32, ptr %t63 %t67 = icmp sge i32 %t65, %t66 br i1 %t67, label %grow18, label %put19 grow18: %t68 = mul i32 %t66, 2 %t69 = icmp eq i32 %t66, 0 %t70 = select i1 %t69, i32 8, i32 %t68 %t71 = getelementptr ptr, ptr null, i32 1 %t72 = ptrtoint ptr %t71 to i64 %t73 = zext i32 %t70 to i64 %t74 = mul i64 %t73, %t72 %t75 = load ptr, ptr %t64 store i32 9534, ptr @lp_site %t76 = call ptr @lp_realloc(ptr %t75, i64 %t74) store i32 0, ptr @lp_site store ptr %t76, ptr %t64 store i32 %t70, ptr %t63 br label %put19 put19: %t77 = load ptr, ptr %t64 %t78 = getelementptr inbounds ptr, ptr %t77, i32 %t65 store ptr %t61, ptr %t78 %t79 = add i32 %t65, 1 store i32 %t79, ptr %t62 %t80 = load ptr, ptr %t2 %t81 = load ptr, ptr %t2 %t82 = getelementptr inbounds %Cmp_Node, ptr %t81, i32 0, i32 1 %t83 = load ptr, ptr %t82 store i32 9535, ptr @lp_site %t84 = call ptr @lp_str_concat(ptr %t83, ptr @.str17084) store i32 0, ptr @lp_site %t85 = load ptr, ptr @g_g_al_ns %t86 = load i32, ptr %t1 %t87 = getelementptr inbounds %LSlice, ptr %t85, i32 0, i32 0 %t88 = load ptr, ptr %t87 %t89 = getelementptr inbounds %LSlice, ptr %t85, i32 0, i32 1 %t90 = load i32, ptr %t89 %t91 = icmp ult i32 %t86, %t90 br i1 %t91, label %ixok20, label %ixbad21 ixbad21: store i32 9536, ptr @lp_site %t92 = call ptr @lp_win_stdio(i32 2) store i32 0, ptr @lp_site call i32 (ptr, ptr, ...) @fprintf(ptr %t92, ptr @.fmt_bounds, ptr @.str17085, i32 %t86, i32 %t90) call void @exit(i32 1) unreachable ixok20: %t93 = getelementptr inbounds ptr, ptr %t88, i32 %t86 %t94 = load ptr, ptr %t93 store i32 9537, ptr @lp_site %t95 = call ptr @lp_str_concat(ptr %t84, ptr %t94) store i32 0, ptr @lp_site call void @lp_free(ptr %t84) store i32 9538, ptr @lp_site %t96 = call ptr @lp_str_concat(ptr %t95, ptr @.str17086) store i32 0, ptr @lp_site call void @lp_free(ptr %t95) %t97 = load ptr, ptr @g_g_al_meth %t98 = load i32, ptr %t1 %t99 = getelementptr inbounds %LSlice, ptr %t97, i32 0, i32 0 %t100 = load ptr, ptr %t99 %t101 = getelementptr inbounds %LSlice, ptr %t97, i32 0, i32 1 %t102 = load i32, ptr %t101 %t103 = icmp ult i32 %t98, %t102 br i1 %t103, label %ixok22, label %ixbad23 ixbad23: store i32 9539, ptr @lp_site %t104 = call ptr @lp_win_stdio(i32 2) store i32 0, ptr @lp_site call i32 (ptr, ptr, ...) @fprintf(ptr %t104, ptr @.fmt_bounds, ptr @.str17087, i32 %t98, i32 %t102) call void @exit(i32 1) unreachable ixok22: %t105 = getelementptr inbounds ptr, ptr %t100, i32 %t98 %t106 = load ptr, ptr %t105 store i32 9540, ptr @lp_site %t107 = call ptr @lp_str_concat(ptr %t96, ptr %t106) store i32 0, ptr @lp_site call void @lp_free(ptr %t96) store i32 9541, ptr @lp_site %t108 = call ptr @lp_str_concat(ptr %t107, ptr @.str17088) store i32 0, ptr @lp_site call void @lp_free(ptr %t107) %t109 = load ptr, ptr %t0 %t110 = getelementptr inbounds %Cmp_Node, ptr %t109, i32 0, i32 9 %t111 = load ptr, ptr %t110 store i32 9542, ptr @lp_site %t112 = call ptr @lp_str_concat(ptr %t108, ptr %t111) store i32 0, ptr @lp_site call void @lp_free(ptr %t108) store i32 9543, ptr @lp_site %t113 = call ptr @lp_str_concat(ptr %t112, ptr @.str17089) store i32 0, ptr @lp_site call void @lp_free(ptr %t112) %t114 = load ptr, ptr %t0 %t115 = getelementptr inbounds %Cmp_Node, ptr %t114, i32 0, i32 8 %t116 = load i32, ptr %t115 %t117 = call ptr @fn_itoa(i32 %t116) store i32 9544, ptr @lp_site %t118 = call ptr @lp_str_concat(ptr %t113, ptr %t117) store i32 0, ptr @lp_site call void @lp_free(ptr %t113) store i32 9545, ptr @lp_site %t119 = call ptr @lp_str_concat(ptr %t118, ptr @.str17090) store i32 0, ptr @lp_site call void @lp_free(ptr %t118) call void @fn_ck_err(ptr @.str17083, ptr %t80, ptr %t119) br label %ret ret: ret void } define ptr @fn_ck_call(ptr %arg_e) { entry: %retval = alloca ptr %t0 = alloca ptr %t4 = alloca ptr %t25 = alloca ptr %t26 = alloca i32 %t27 = alloca i32 %t66 = alloca i32 %t93 = alloca i32 %t109 = alloca ptr %t201 = alloca ptr %t215 = alloca ptr %t225 = alloca i32 %t246 = alloca ptr %t256 = alloca ptr %t257 = alloca i32 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 store ptr %t3, ptr %t4 %t5 = load ptr, ptr %t4 %t6 = getelementptr inbounds %Cmp_Node, ptr %t5, i32 0, i32 0 %t7 = load i32, ptr %t6 %t8 = icmp eq i32 %t7, 33 %t9 = zext i1 %t8 to i32 %t10 = icmp ne i32 %t9, 0 br i1 %t10, label %then0, label %ifend2 then0: %t11 = load ptr, ptr %t0 %t12 = load ptr, ptr %t4 %t13 = getelementptr inbounds %Cmp_Node, ptr %t12, i32 0, i32 1 %t14 = load ptr, ptr %t13 %t15 = call ptr @fn_ck_call_named(ptr %t11, ptr %t14) store ptr %t15, ptr %retval br label %ret ifend2: %t16 = load ptr, ptr %t4 %t17 = getelementptr inbounds %Cmp_Node, ptr %t16, i32 0, i32 0 %t18 = load i32, ptr %t17 %t19 = icmp eq i32 %t18, 35 %t20 = zext i1 %t19 to i32 %t21 = icmp ne i32 %t20, 0 br i1 %t21, label %then3, label %ifend5 then3: %t22 = load ptr, ptr %t4 %t23 = getelementptr inbounds %Cmp_Node, ptr %t22, i32 0, i32 4 %t24 = load ptr, ptr %t23 store ptr %t24, ptr %t25 %t28 = load ptr, ptr %t25 %t29 = getelementptr inbounds %Cmp_Node, ptr %t28, i32 0, i32 0 %t30 = load i32, ptr %t29 %t31 = icmp eq i32 %t30, 33 %t32 = zext i1 %t31 to i32 %t33 = icmp ne i32 %t32, 0 %t34 = zext i1 %t33 to i32 store i32 %t34, ptr %t27 br i1 %t33, label %sc6, label %scend7 sc6: %t35 = load ptr, ptr %t25 %t36 = getelementptr inbounds %Cmp_Node, ptr %t35, i32 0, i32 1 %t37 = load ptr, ptr %t36 %t38 = call i32 @fn_ck_local(ptr %t37) %t39 = icmp slt i32 %t38, 0 %t40 = zext i1 %t39 to i32 %t41 = icmp ne i32 %t40, 0 %t42 = zext i1 %t41 to i32 store i32 %t42, ptr %t27 br label %scend7 scend7: %t43 = load i32, ptr %t27 %t44 = icmp ne i32 %t43, 0 %t45 = zext i1 %t44 to i32 store i32 %t45, ptr %t26 br i1 %t44, label %sc8, label %scend9 sc8: %t46 = load ptr, ptr %t25 %t47 = getelementptr inbounds %Cmp_Node, ptr %t46, i32 0, i32 1 %t48 = load ptr, ptr %t47 %t49 = call ptr @fn_ck_global(ptr %t48) %t50 = icmp eq ptr %t49, null %t51 = zext i1 %t50 to i32 %t52 = icmp ne i32 %t51, 0 %t53 = zext i1 %t52 to i32 store i32 %t53, ptr %t26 br label %scend9 scend9: %t54 = load i32, ptr %t26 %t55 = icmp ne i32 %t54, 0 br i1 %t55, label %then10, label %ifend12 then10: %t56 = load ptr, ptr %t25 %t57 = getelementptr inbounds %Cmp_Node, ptr %t56, i32 0, i32 1 %t58 = load ptr, ptr %t57 %t59 = call i32 @lp_str_eq(ptr %t58, ptr @.str17091) %t60 = icmp ne i32 %t59, 0 br i1 %t60, label %then13, label %ifend15 then13: %t61 = load ptr, ptr %t0 %t62 = load ptr, ptr %t4 %t63 = getelementptr inbounds %Cmp_Node, ptr %t62, i32 0, i32 1 %t64 = load ptr, ptr %t63 store i32 9546, ptr @lp_site %t65 = call ptr @lp_str_concat(ptr @.str17092, ptr %t64) store i32 0, ptr @lp_site call void @fn_ck_raw(ptr %t61, ptr %t65) br label %ifend15 ifend15: %t67 = load ptr, ptr %t25 %t68 = getelementptr inbounds %Cmp_Node, ptr %t67, i32 0, i32 1 %t69 = load ptr, ptr %t68 %t70 = call i32 @lp_str_eq(ptr %t69, ptr @.str17094) %t71 = icmp ne i32 %t70, 0 %t72 = zext i1 %t71 to i32 store i32 %t72, ptr %t66 br i1 %t71, label %sc16, label %scend17 sc16: %t73 = load ptr, ptr %t4 %t74 = getelementptr inbounds %Cmp_Node, ptr %t73, i32 0, i32 1 %t75 = load ptr, ptr %t74 %t76 = call i32 @fn_is_math_ns(ptr %t75) %t77 = icmp ne i32 %t76, 0 %t78 = zext i1 %t77 to i32 store i32 %t78, ptr %t66 br label %scend17 scend17: %t79 = load i32, ptr %t66 %t80 = icmp ne i32 %t79, 0 br i1 %t80, label %then18, label %ifend20 then18: %t81 = load ptr, ptr %t0 %t82 = load ptr, ptr %t4 %t83 = getelementptr inbounds %Cmp_Node, ptr %t82, i32 0, i32 1 %t84 = load ptr, ptr %t83 %t85 = call ptr @fn_ck_math(ptr %t81, ptr %t84) store ptr %t85, ptr %retval br label %ret ifend20: %t86 = load ptr, ptr %t25 %t87 = getelementptr inbounds %Cmp_Node, ptr %t86, i32 0, i32 1 %t88 = load ptr, ptr %t87 %t89 = load ptr, ptr %t4 %t90 = getelementptr inbounds %Cmp_Node, ptr %t89, i32 0, i32 1 %t91 = load ptr, ptr %t90 %t92 = call i32 @fn_ns_alias_find(ptr %t88, ptr %t91) store i32 %t92, ptr %t93 %t94 = load i32, ptr %t93 %t95 = icmp sge i32 %t94, 0 %t96 = zext i1 %t95 to i32 %t97 = icmp ne i32 %t96, 0 br i1 %t97, label %then21, label %ifend23 then21: %t98 = load ptr, ptr @g_g_al_target %t99 = load i32, ptr %t93 %t100 = getelementptr inbounds %LSlice, ptr %t98, i32 0, i32 0 %t101 = load ptr, ptr %t100 %t102 = getelementptr inbounds %LSlice, ptr %t98, i32 0, i32 1 %t103 = load i32, ptr %t102 %t104 = icmp ult i32 %t99, %t103 br i1 %t104, label %ixok24, label %ixbad25 ixbad25: store i32 9547, ptr @lp_site %t105 = call ptr @lp_win_stdio(i32 2) store i32 0, ptr @lp_site call i32 (ptr, ptr, ...) @fprintf(ptr %t105, ptr @.fmt_bounds, ptr @.str17095, i32 %t99, i32 %t103) call void @exit(i32 1) unreachable ixok24: %t106 = getelementptr inbounds ptr, ptr %t101, i32 %t99 %t107 = load ptr, ptr %t106 %t108 = call ptr @fn_ck_fn(ptr %t107) store ptr %t108, ptr %t109 %t110 = load ptr, ptr %t109 %t111 = icmp ne ptr %t110, null %t112 = zext i1 %t111 to i32 %t113 = icmp ne i32 %t112, 0 br i1 %t113, label %then26, label %ifend28 then26: %t114 = load ptr, ptr %t0 %t115 = load i32, ptr %t93 %t116 = load ptr, ptr %t109 call void @fn_ck_alias_shadow(ptr %t114, i32 %t115, ptr %t116) br label %ifend28 ifend28: %t117 = load ptr, ptr %t109 %t118 = icmp eq ptr %t117, null %t119 = zext i1 %t118 to i32 %t120 = icmp ne i32 %t119, 0 br i1 %t120, label %then29, label %ifend31 then29: %t121 = load ptr, ptr @g_g_al_target %t122 = load i32, ptr %t93 %t123 = getelementptr inbounds %LSlice, ptr %t121, i32 0, i32 0 %t124 = load ptr, ptr %t123 %t125 = getelementptr inbounds %LSlice, ptr %t121, i32 0, i32 1 %t126 = load i32, ptr %t125 %t127 = icmp ult i32 %t122, %t126 br i1 %t127, label %ixok32, label %ixbad33 ixbad33: store i32 9548, ptr @lp_site %t128 = call ptr @lp_win_stdio(i32 2) store i32 0, ptr @lp_site call i32 (ptr, ptr, ...) @fprintf(ptr %t128, ptr @.fmt_bounds, ptr @.str17096, i32 %t122, i32 %t126) call void @exit(i32 1) unreachable ixok32: %t129 = getelementptr inbounds ptr, ptr %t124, i32 %t122 %t130 = load ptr, ptr %t129 %t131 = call ptr @fn_ck_extern(ptr %t130) store ptr %t131, ptr %t109 %t132 = load ptr, ptr %t109 %t133 = icmp ne ptr %t132, null %t134 = zext i1 %t133 to i32 %t135 = icmp ne i32 %t134, 0 br i1 %t135, label %then34, label %ifend36 then34: %t136 = load ptr, ptr %t0 %t137 = load ptr, ptr %t25 %t138 = getelementptr inbounds %Cmp_Node, ptr %t137, i32 0, i32 1 %t139 = load ptr, ptr %t138 store i32 9549, ptr @lp_site %t140 = call ptr @lp_str_concat(ptr %t139, ptr @.str17097) store i32 0, ptr @lp_site %t141 = load ptr, ptr %t4 %t142 = getelementptr inbounds %Cmp_Node, ptr %t141, i32 0, i32 1 %t143 = load ptr, ptr %t142 store i32 9550, ptr @lp_site %t144 = call ptr @lp_str_concat(ptr %t140, ptr %t143) store i32 0, ptr @lp_site call void @lp_free(ptr %t140) store i32 9551, ptr @lp_site %t145 = call ptr @lp_str_concat(ptr %t144, ptr @.str17098) store i32 0, ptr @lp_site call void @lp_free(ptr %t144) call void @fn_ck_raw(ptr %t136, ptr %t145) br label %ifend36 ifend36: br label %ifend31 ifend31: %t146 = load ptr, ptr %t109 %t147 = icmp ne ptr %t146, null %t148 = zext i1 %t147 to i32 %t149 = icmp ne i32 %t148, 0 br i1 %t149, label %then37, label %ifend39 then37: %t150 = load ptr, ptr @g_g_al_target %t151 = load i32, ptr %t93 %t152 = getelementptr inbounds %LSlice, ptr %t150, i32 0, i32 0 %t153 = load ptr, ptr %t152 %t154 = getelementptr inbounds %LSlice, ptr %t150, i32 0, i32 1 %t155 = load i32, ptr %t154 %t156 = icmp ult i32 %t151, %t155 br i1 %t156, label %ixok40, label %ixbad41 ixbad41: store i32 9552, ptr @lp_site %t157 = call ptr @lp_win_stdio(i32 2) store i32 0, ptr @lp_site call i32 (ptr, ptr, ...) @fprintf(ptr %t157, ptr @.fmt_bounds, ptr @.str17099, i32 %t151, i32 %t155) call void @exit(i32 1) unreachable ixok40: %t158 = getelementptr inbounds ptr, ptr %t153, i32 %t151 %t159 = load ptr, ptr %t158 %t160 = call ptr @fn_ck_fn(ptr %t159) %t161 = icmp ne ptr %t160, null %t162 = zext i1 %t161 to i32 %t163 = icmp ne i32 %t162, 0 br i1 %t163, label %then42, label %ifend44 then42: %t164 = load ptr, ptr %t109 %t165 = load ptr, ptr @g_g_al_target %t166 = load i32, ptr %t93 %t167 = getelementptr inbounds %LSlice, ptr %t165, i32 0, i32 0 %t168 = load ptr, ptr %t167 %t169 = getelementptr inbounds %LSlice, ptr %t165, i32 0, i32 1 %t170 = load i32, ptr %t169 %t171 = icmp ult i32 %t166, %t170 br i1 %t171, label %ixok45, label %ixbad46 ixbad46: store i32 9553, ptr @lp_site %t172 = call ptr @lp_win_stdio(i32 2) store i32 0, ptr @lp_site call i32 (ptr, ptr, ...) @fprintf(ptr %t172, ptr @.fmt_bounds, ptr @.str17100, i32 %t166, i32 %t170) call void @exit(i32 1) unreachable ixok45: %t173 = getelementptr inbounds ptr, ptr %t168, i32 %t166 %t174 = load ptr, ptr %t173 %t175 = load ptr, ptr %t0 call void @fn_ck_vis(ptr %t164, ptr %t174, ptr %t175) br label %ifend44 ifend44: %t176 = load ptr, ptr @g_g_al_target %t177 = load i32, ptr %t93 %t178 = getelementptr inbounds %LSlice, ptr %t176, i32 0, i32 0 %t179 = load ptr, ptr %t178 %t180 = getelementptr inbounds %LSlice, ptr %t176, i32 0, i32 1 %t181 = load i32, ptr %t180 %t182 = icmp ult i32 %t177, %t181 br i1 %t182, label %ixok47, label %ixbad48 ixbad48: store i32 9554, ptr @lp_site %t183 = call ptr @lp_win_stdio(i32 2) store i32 0, ptr @lp_site call i32 (ptr, ptr, ...) @fprintf(ptr %t183, ptr @.fmt_bounds, ptr @.str17101, i32 %t177, i32 %t181) call void @exit(i32 1) unreachable ixok47: %t184 = getelementptr inbounds ptr, ptr %t179, i32 %t177 %t185 = load ptr, ptr %t184 %t186 = call ptr @fn_ck_extern(ptr %t185) %t187 = icmp ne ptr %t186, null %t188 = zext i1 %t187 to i32 store i32 %t188, ptr @g_ck_extern_arg %t189 = load ptr, ptr %t0 %t190 = load ptr, ptr %t25 %t191 = getelementptr inbounds %Cmp_Node, ptr %t190, i32 0, i32 1 %t192 = load ptr, ptr %t191 store i32 9555, ptr @lp_site %t193 = call ptr @lp_str_concat(ptr %t192, ptr @.str17102) store i32 0, ptr @lp_site %t194 = load ptr, ptr %t4 %t195 = getelementptr inbounds %Cmp_Node, ptr %t194, i32 0, i32 1 %t196 = load ptr, ptr %t195 store i32 9556, ptr @lp_site %t197 = call ptr @lp_str_concat(ptr %t193, ptr %t196) store i32 0, ptr @lp_site call void @lp_free(ptr %t193) %t198 = load i32, ptr %t93 %t199 = load ptr, ptr %t109 %t200 = call ptr @fn_ck_call_alias(ptr %t189, ptr %t197, i32 %t198, ptr %t199) store ptr %t200, ptr %t201 store i32 0, ptr @g_ck_extern_arg %t202 = load ptr, ptr %t201 store ptr %t202, ptr %retval br label %ret ifend39: %t203 = load ptr, ptr %t0 call void @fn_ck_walk_args(ptr %t203) store ptr @.str17103, ptr %retval br label %ret ifend23: %t204 = load ptr, ptr %t0 call void @fn_ck_walk_args(ptr %t204) %t205 = load ptr, ptr %t25 %t206 = getelementptr inbounds %Cmp_Node, ptr %t205, i32 0, i32 1 %t207 = load ptr, ptr %t206 %t208 = call ptr @fn_ns_lower(ptr %t207) store i32 9557, ptr @lp_site %t209 = call ptr @lp_str_concat(ptr %t208, ptr @.str17104) store i32 0, ptr @lp_site %t210 = load ptr, ptr %t4 %t211 = getelementptr inbounds %Cmp_Node, ptr %t210, i32 0, i32 1 %t212 = load ptr, ptr %t211 store i32 9558, ptr @lp_site %t213 = call ptr @lp_str_concat(ptr %t209, ptr %t212) store i32 0, ptr @lp_site call void @lp_free(ptr %t209) %t214 = call ptr @fn_ck_fn(ptr %t213) store ptr %t214, ptr %t215 %t216 = load ptr, ptr %t215 %t217 = icmp ne ptr %t216, null %t218 = zext i1 %t217 to i32 %t219 = icmp ne i32 %t218, 0 br i1 %t219, label %then49, label %ifend51 then49: %t220 = load ptr, ptr %t215 %t221 = load ptr, ptr %t215 %t222 = getelementptr inbounds %Cmp_Node, ptr %t221, i32 0, i32 1 %t223 = load ptr, ptr %t222 %t224 = load ptr, ptr %t0 call void @fn_ck_vis(ptr %t220, ptr %t223, ptr %t224) br label %ifend51 ifend51: %t226 = load ptr, ptr %t215 %t227 = icmp ne ptr %t226, null %t228 = zext i1 %t227 to i32 %t229 = icmp ne i32 %t228, 0 %t230 = zext i1 %t229 to i32 store i32 %t230, ptr %t225 br i1 %t229, label %sc52, label %scend53 sc52: %t231 = load ptr, ptr %t215 %t232 = getelementptr inbounds %Cmp_Node, ptr %t231, i32 0, i32 3 %t233 = load ptr, ptr %t232 %t234 = icmp ne ptr %t233, null %t235 = zext i1 %t234 to i32 %t236 = icmp ne i32 %t235, 0 %t237 = zext i1 %t236 to i32 store i32 %t237, ptr %t225 br label %scend53 scend53: %t238 = load i32, ptr %t225 %t239 = icmp ne i32 %t238, 0 br i1 %t239, label %then54, label %ifend56 then54: %t240 = load ptr, ptr %t215 %t241 = getelementptr inbounds %Cmp_Node, ptr %t240, i32 0, i32 3 %t242 = load ptr, ptr %t241 store ptr %t242, ptr %retval br label %ret ifend56: store ptr @.str17105, ptr %retval br label %ret ifend12: %t243 = load ptr, ptr %t25 %t244 = call ptr @fn_ck_expr(ptr %t243) %t245 = call ptr @fn_ck_record(ptr %t244) store ptr %t245, ptr %t246 %t247 = load ptr, ptr %t246 %t248 = icmp ne ptr %t247, null %t249 = zext i1 %t248 to i32 %t250 = icmp ne i32 %t249, 0 br i1 %t250, label %then57, label %ifend59 then57: %t251 = load ptr, ptr %t246 %t252 = load ptr, ptr %t4 %t253 = getelementptr inbounds %Cmp_Node, ptr %t252, i32 0, i32 1 %t254 = load ptr, ptr %t253 %t255 = call ptr @fn_ck_field(ptr %t251, ptr %t254) store ptr %t255, ptr %t256 %t258 = load ptr, ptr %t256 %t259 = icmp ne ptr %t258, null %t260 = zext i1 %t259 to i32 %t261 = icmp ne i32 %t260, 0 %t262 = zext i1 %t261 to i32 store i32 %t262, ptr %t257 br i1 %t261, label %sc60, label %scend61 sc60: %t263 = load ptr, ptr %t256 %t264 = call i32 @fn_is_fn_type(ptr %t263) %t265 = icmp ne i32 %t264, 0 %t266 = zext i1 %t265 to i32 store i32 %t266, ptr %t257 br label %scend61 scend61: %t267 = load i32, ptr %t257 %t268 = icmp ne i32 %t267, 0 br i1 %t268, label %then62, label %ifend64 then62: %t269 = load ptr, ptr %t0 %t270 = load ptr, ptr %t4 %t271 = getelementptr inbounds %Cmp_Node, ptr %t270, i32 0, i32 1 %t272 = load ptr, ptr %t271 %t273 = load ptr, ptr %t256 %t274 = call ptr @fn_ck_call_sig(ptr %t269, ptr %t272, ptr %t273) store ptr %t274, ptr %retval br label %ret ifend64: br label %ifend59 ifend59: %t275 = load ptr, ptr %t0 call void @fn_ck_walk_args(ptr %t275) store ptr @.str17106, ptr %retval br label %ret ifend5: %t276 = load ptr, ptr %t4 %t277 = call ptr @fn_ck_expr(ptr %t276) %t278 = load ptr, ptr %t0 call void @fn_ck_walk_args(ptr %t278) store ptr @.str17107, ptr %retval br label %ret ret: %t279 = load ptr, ptr %retval ret ptr %t279 } define ptr @fn_ck_call_named(ptr %arg_e, ptr %arg_name) { entry: %retval = alloca ptr %t0 = alloca ptr %t1 = alloca ptr %t4 = alloca i32 %t44 = alloca ptr %t52 = alloca ptr %t67 = alloca ptr %t81 = alloca ptr %t94 = alloca ptr %t98 = alloca ptr %t99 = alloca i32 store ptr %arg_e, ptr %t0 store ptr %arg_name, ptr %t1 %t2 = load ptr, ptr %t1 %t3 = call i32 @fn_ck_local(ptr %t2) store i32 %t3, ptr %t4 %t5 = load i32, ptr %t4 %t6 = icmp sge 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 @g_ck_tys %t10 = load i32, ptr %t4 %t11 = getelementptr inbounds %LSlice, ptr %t9, i32 0, i32 0 %t12 = load ptr, ptr %t11 %t13 = getelementptr inbounds %LSlice, ptr %t9, i32 0, i32 1 %t14 = load i32, ptr %t13 %t15 = icmp ult i32 %t10, %t14 br i1 %t15, label %ixok3, label %ixbad4 ixbad4: store i32 9559, ptr @lp_site %t16 = call ptr @lp_win_stdio(i32 2) store i32 0, ptr @lp_site call i32 (ptr, ptr, ...) @fprintf(ptr %t16, ptr @.fmt_bounds, ptr @.str17108, i32 %t10, i32 %t14) call void @exit(i32 1) unreachable ixok3: %t17 = getelementptr inbounds ptr, ptr %t12, i32 %t10 %t18 = load ptr, ptr %t17 %t19 = call i32 @fn_is_fn_type(ptr %t18) %t20 = icmp ne i32 %t19, 0 br i1 %t20, label %then5, label %ifend7 then5: %t21 = load ptr, ptr %t0 %t22 = load ptr, ptr %t1 %t23 = load ptr, ptr @g_ck_tys %t24 = load i32, ptr %t4 %t25 = getelementptr inbounds %LSlice, ptr %t23, i32 0, i32 0 %t26 = load ptr, ptr %t25 %t27 = getelementptr inbounds %LSlice, ptr %t23, i32 0, i32 1 %t28 = load i32, ptr %t27 %t29 = icmp ult i32 %t24, %t28 br i1 %t29, label %ixok8, label %ixbad9 ixbad9: store i32 9560, ptr @lp_site %t30 = call ptr @lp_win_stdio(i32 2) store i32 0, ptr @lp_site call i32 (ptr, ptr, ...) @fprintf(ptr %t30, ptr @.fmt_bounds, ptr @.str17110, i32 %t24, i32 %t28) call void @exit(i32 1) unreachable ixok8: %t31 = getelementptr inbounds ptr, ptr %t26, i32 %t24 %t32 = load ptr, ptr %t31 %t33 = call ptr @fn_ck_call_sig(ptr %t21, ptr %t22, ptr %t32) store ptr %t33, ptr %retval br label %ret ifend7: %t34 = load ptr, ptr %t0 call void @fn_ck_walk_args(ptr %t34) store ptr @.str17111, ptr %retval br label %ret ifend2: %t35 = load ptr, ptr %t1 %t36 = call i32 @fn_ck_raw_builtin(ptr %t35) %t37 = icmp ne i32 %t36, 0 br i1 %t37, label %then10, label %ifend12 then10: %t38 = load ptr, ptr %t0 %t39 = load ptr, ptr %t1 store i32 9561, ptr @lp_site %t40 = call ptr @lp_str_concat(ptr %t39, ptr @.str17112) store i32 0, ptr @lp_site call void @fn_ck_raw(ptr %t38, ptr %t40) br label %ifend12 ifend12: %t41 = load ptr, ptr %t0 %t42 = load ptr, ptr %t1 %t43 = call ptr @fn_ck_builtin(ptr %t41, ptr %t42) store ptr %t43, ptr %t44 %t45 = load ptr, ptr %t44 %t46 = icmp ne ptr %t45, null %t47 = zext i1 %t46 to i32 %t48 = icmp ne i32 %t47, 0 br i1 %t48, label %then13, label %ifend15 then13: %t49 = load ptr, ptr %t44 store ptr %t49, ptr %retval br label %ret ifend15: %t50 = load ptr, ptr %t1 %t51 = call ptr @fn_ck_fn(ptr %t50) store ptr %t51, ptr %t52 %t53 = load ptr, ptr %t52 %t54 = icmp ne ptr %t53, null %t55 = zext i1 %t54 to i32 %t56 = icmp ne i32 %t55, 0 br i1 %t56, label %then16, label %ifend18 then16: %t57 = load ptr, ptr %t52 %t58 = load ptr, ptr %t1 %t59 = load ptr, ptr %t0 call void @fn_ck_vis(ptr %t57, ptr %t58, ptr %t59) %t60 = load ptr, ptr %t0 %t61 = load ptr, ptr %t1 %t62 = load ptr, ptr %t52 %t63 = call ptr @fn_ck_call_fn(ptr %t60, ptr %t61, ptr %t62) store ptr %t63, ptr %retval br label %ret ifend18: %t64 = load ptr, ptr @g_g_gen_fns %t65 = load ptr, ptr %t1 %t66 = call ptr @fn_gen_template(ptr %t64, ptr %t65) store ptr %t66, ptr %t67 %t68 = load ptr, ptr %t67 %t69 = icmp ne ptr %t68, null %t70 = zext i1 %t69 to i32 %t71 = icmp ne i32 %t70, 0 br i1 %t71, label %then19, label %ifend21 then19: %t72 = load ptr, ptr %t67 %t73 = load ptr, ptr %t1 %t74 = load ptr, ptr %t0 call void @fn_ck_vis(ptr %t72, ptr %t73, ptr %t74) %t75 = load ptr, ptr %t0 %t76 = load ptr, ptr %t1 %t77 = load ptr, ptr %t67 %t78 = call ptr @fn_gen_call(ptr %t75, ptr %t76, ptr %t77) store ptr %t78, ptr %retval br label %ret ifend21: %t79 = load ptr, ptr %t1 %t80 = call ptr @fn_ck_extern(ptr %t79) store ptr %t80, ptr %t81 %t82 = load ptr, ptr %t81 %t83 = icmp ne ptr %t82, null %t84 = zext i1 %t83 to i32 %t85 = icmp ne i32 %t84, 0 br i1 %t85, label %then22, label %ifend24 then22: %t86 = load ptr, ptr %t0 %t87 = load ptr, ptr %t1 store i32 9562, ptr @lp_site %t88 = call ptr @lp_str_concat(ptr @.str17113, ptr %t87) store i32 0, ptr @lp_site call void @fn_ck_raw(ptr %t86, ptr %t88) %t89 = load ptr, ptr %t0 call void @fn_ck_extern_writes(ptr %t89) store i32 1, ptr @g_ck_extern_arg %t90 = load ptr, ptr %t0 %t91 = load ptr, ptr %t1 %t92 = load ptr, ptr %t81 %t93 = call ptr @fn_ck_call_fn(ptr %t90, ptr %t91, ptr %t92) store ptr %t93, ptr %t94 store i32 0, ptr @g_ck_extern_arg %t95 = load ptr, ptr %t94 store ptr %t95, ptr %retval br label %ret ifend24: %t96 = load ptr, ptr %t1 %t97 = call ptr @fn_ck_global(ptr %t96) store ptr %t97, ptr %t98 %t100 = load ptr, ptr %t98 %t101 = icmp ne ptr %t100, null %t102 = zext i1 %t101 to i32 %t103 = icmp ne i32 %t102, 0 %t104 = zext i1 %t103 to i32 store i32 %t104, ptr %t99 br i1 %t103, label %sc25, label %scend26 sc25: %t105 = load ptr, ptr %t98 %t106 = getelementptr inbounds %Cmp_Node, ptr %t105, i32 0, i32 3 %t107 = load ptr, ptr %t106 %t108 = call i32 @fn_is_fn_type(ptr %t107) %t109 = icmp ne i32 %t108, 0 %t110 = zext i1 %t109 to i32 store i32 %t110, ptr %t99 br label %scend26 scend26: %t111 = load i32, ptr %t99 %t112 = icmp ne i32 %t111, 0 br i1 %t112, label %then27, label %ifend29 then27: %t113 = load ptr, ptr %t0 %t114 = getelementptr inbounds %Cmp_Node, ptr %t113, i32 0, i32 4 %t115 = load ptr, ptr %t114 %t116 = load ptr, ptr %t98 call void @fn_mg_ref(ptr %t115, ptr %t116) %t117 = load ptr, ptr %t0 %t118 = load ptr, ptr %t1 %t119 = load ptr, ptr %t98 %t120 = getelementptr inbounds %Cmp_Node, ptr %t119, i32 0, i32 3 %t121 = load ptr, ptr %t120 %t122 = call ptr @fn_ck_call_sig(ptr %t117, ptr %t118, ptr %t121) store ptr %t122, ptr %retval br label %ret ifend29: %t123 = load ptr, ptr %t1 %t124 = call i32 @fn_is_math_builtin(ptr %t123) %t125 = icmp ne i32 %t124, 0 br i1 %t125, label %then30, label %ifend32 then30: %t126 = load ptr, ptr %t0 %t127 = load ptr, ptr %t1 %t128 = call ptr @fn_ck_math(ptr %t126, ptr %t127) store ptr %t128, ptr %retval br label %ret ifend32: %t129 = load ptr, ptr %t0 call void @fn_ck_walk_args(ptr %t129) store ptr @.str17114, ptr %retval br label %ret ret: %t130 = load ptr, ptr %retval ret ptr %t130 } define ptr @fn_ck_math(ptr %arg_e, ptr %arg_meth) { entry: %retval = alloca ptr %t0 = alloca ptr %t1 = alloca ptr %t2 = alloca i32 %t38 = alloca ptr %t39 = alloca i32 %t117 = alloca ptr %t147 = alloca i32 %t178 = alloca i32 %t179 = alloca i32 %t180 = alloca i32 %t214 = alloca i32 %t215 = alloca i32 %t216 = alloca i32 %t241 = alloca i32 %t242 = alloca i32 store ptr %arg_e, ptr %t0 store ptr %arg_meth, 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 eq i32 %t7, 0 %t9 = zext i1 %t8 to i32 %t10 = icmp ne i32 %t9, 0 %t11 = zext i1 %t10 to i32 store i32 %t11, ptr %t2 br i1 %t10, label %scend1, label %sc0 sc0: %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 = getelementptr inbounds %LSlice, ptr %t14, i32 0, i32 1 %t18 = load i32, ptr %t17 %t19 = icmp ult i32 0, %t18 br i1 %t19, label %ixok2, label %ixbad3 ixbad3: store i32 9563, ptr @lp_site %t20 = call ptr @lp_win_stdio(i32 2) store i32 0, ptr @lp_site call i32 (ptr, ptr, ...) @fprintf(ptr %t20, ptr @.fmt_bounds, ptr @.str17115, i32 0, i32 %t18) call void @exit(i32 1) unreachable ixok2: %t21 = getelementptr inbounds ptr, ptr %t16, i32 0 %t22 = load ptr, ptr %t21 %t23 = getelementptr inbounds %Cmp_Node, ptr %t22, i32 0, i32 0 %t24 = load i32, ptr %t23 %t25 = icmp eq i32 %t24, 42 %t26 = zext i1 %t25 to i32 %t27 = icmp ne i32 %t26, 0 %t28 = zext i1 %t27 to i32 store i32 %t28, ptr %t2 br label %scend1 scend1: %t29 = load i32, ptr %t2 %t30 = icmp ne i32 %t29, 0 br i1 %t30, label %then4, label %ifend6 then4: %t31 = load ptr, ptr %t0 call void @fn_ck_walk_args(ptr %t31) store ptr @.str17117, ptr %retval br label %ret ifend6: %t32 = getelementptr %LSlice, ptr null, i32 1 %t33 = ptrtoint ptr %t32 to i64 store i32 9564, ptr @lp_site %t34 = call ptr @lp_malloc(i64 %t33) store i32 0, ptr @lp_site %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 %t38 store i32 0, ptr %t39 br label %wcond7 wcond7: %t40 = load i32, ptr %t39 %t41 = load ptr, ptr %t0 %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 %wbody8, label %wend9 wbody8: %t49 = load ptr, ptr %t38 %t50 = load ptr, ptr %t0 %t51 = getelementptr inbounds %Cmp_Node, ptr %t50, i32 0, i32 7 %t52 = load ptr, ptr %t51 %t53 = load i32, ptr %t39 %t54 = getelementptr inbounds %LSlice, ptr %t52, i32 0, i32 0 %t55 = load ptr, ptr %t54 %t56 = getelementptr inbounds %LSlice, ptr %t52, i32 0, i32 1 %t57 = load i32, ptr %t56 %t58 = icmp ult i32 %t53, %t57 br i1 %t58, label %ixok10, label %ixbad11 ixbad11: store i32 9565, ptr @lp_site %t59 = call ptr @lp_win_stdio(i32 2) store i32 0, ptr @lp_site call i32 (ptr, ptr, ...) @fprintf(ptr %t59, ptr @.fmt_bounds, ptr @.str17118, i32 %t53, i32 %t57) call void @exit(i32 1) unreachable ixok10: %t60 = getelementptr inbounds ptr, ptr %t55, i32 %t53 %t61 = load ptr, ptr %t60 %t62 = call ptr @fn_ck_expr(ptr %t61) %t63 = getelementptr inbounds %LSlice, ptr %t49, i32 0, i32 1 %t64 = getelementptr inbounds %LSlice, ptr %t49, i32 0, i32 2 %t65 = getelementptr inbounds %LSlice, ptr %t49, i32 0, i32 0 %t66 = load i32, ptr %t63 %t67 = load i32, ptr %t64 %t68 = icmp sge i32 %t66, %t67 br i1 %t68, label %grow12, label %put13 grow12: %t69 = mul i32 %t67, 2 %t70 = icmp eq i32 %t67, 0 %t71 = select i1 %t70, i32 8, i32 %t69 %t72 = getelementptr ptr, ptr null, i32 1 %t73 = ptrtoint ptr %t72 to i64 %t74 = zext i32 %t71 to i64 %t75 = mul i64 %t74, %t73 %t76 = load ptr, ptr %t65 store i32 9566, ptr @lp_site %t77 = call ptr @lp_realloc(ptr %t76, i64 %t75) store i32 0, ptr @lp_site store ptr %t77, ptr %t65 store i32 %t71, ptr %t64 br label %put13 put13: %t78 = load ptr, ptr %t65 %t79 = getelementptr inbounds ptr, ptr %t78, i32 %t66 store ptr %t62, ptr %t79 %t80 = add i32 %t66, 1 store i32 %t80, ptr %t63 %t81 = load i32, ptr %t39 %t82 = add i32 %t81, 1 store i32 %t82, ptr %t39 br label %wcond7 wend9: %t83 = load ptr, ptr %t38 %t84 = getelementptr inbounds %LSlice, ptr %t83, i32 0, i32 0 %t85 = load ptr, ptr %t84 %t86 = getelementptr inbounds %LSlice, ptr %t83, i32 0, i32 1 %t87 = load i32, ptr %t86 %t88 = icmp ult i32 0, %t87 br i1 %t88, label %ixok14, label %ixbad15 ixbad15: store i32 9567, ptr @lp_site %t89 = call ptr @lp_win_stdio(i32 2) store i32 0, ptr @lp_site call i32 (ptr, ptr, ...) @fprintf(ptr %t89, ptr @.fmt_bounds, ptr @.str17119, i32 0, i32 %t87) call void @exit(i32 1) unreachable ixok14: %t90 = getelementptr inbounds ptr, ptr %t85, i32 0 %t91 = load ptr, ptr %t90 %t92 = call i32 @fn_ck_unknown(ptr %t91) %t93 = icmp ne i32 %t92, 0 br i1 %t93, label %then16, label %ifend18 then16: store ptr @.str17120, ptr %retval br label %ret ifend18: %t94 = load ptr, ptr %t38 %t95 = getelementptr inbounds %LSlice, ptr %t94, i32 0, i32 0 %t96 = load ptr, ptr %t95 %t97 = getelementptr inbounds %LSlice, ptr %t94, i32 0, i32 1 %t98 = load i32, ptr %t97 %t99 = icmp ult i32 0, %t98 br i1 %t99, label %ixok19, label %ixbad20 ixbad20: store i32 9568, ptr @lp_site %t100 = call ptr @lp_win_stdio(i32 2) store i32 0, ptr @lp_site call i32 (ptr, ptr, ...) @fprintf(ptr %t100, ptr @.fmt_bounds, ptr @.str17121, i32 0, i32 %t98) call void @exit(i32 1) unreachable ixok19: %t101 = getelementptr inbounds ptr, ptr %t96, i32 0 %t102 = load ptr, ptr %t101 %t103 = call i32 @fn_ck_is_float(ptr %t102) %t104 = icmp ne i32 %t103, 0 br i1 %t104, label %then21, label %ifend23 then21: %t105 = load ptr, ptr %t1 %t106 = call i32 @lp_str_eq(ptr %t105, ptr @.str17122) %t107 = icmp ne i32 %t106, 0 br i1 %t107, label %then24, label %ifend26 then24: store ptr @.str17123, ptr %retval br label %ret ifend26: %t108 = load ptr, ptr %t38 %t109 = getelementptr inbounds %LSlice, ptr %t108, i32 0, i32 0 %t110 = load ptr, ptr %t109 %t111 = getelementptr inbounds %LSlice, ptr %t108, i32 0, i32 1 %t112 = load i32, ptr %t111 %t113 = icmp ult i32 0, %t112 br i1 %t113, label %ixok27, label %ixbad28 ixbad28: store i32 9569, ptr @lp_site %t114 = call ptr @lp_win_stdio(i32 2) store i32 0, ptr @lp_site call i32 (ptr, ptr, ...) @fprintf(ptr %t114, ptr @.fmt_bounds, ptr @.str17124, i32 0, i32 %t112) call void @exit(i32 1) unreachable ixok27: %t115 = getelementptr inbounds ptr, ptr %t110, i32 0 %t116 = load ptr, ptr %t115 store ptr %t116, ptr %t117 store i32 1, ptr %t39 br label %wcond29 wcond29: %t118 = load i32, ptr %t39 %t119 = load ptr, ptr %t38 %t120 = getelementptr inbounds %LSlice, ptr %t119, i32 0, i32 1 %t121 = load i32, ptr %t120 %t122 = icmp slt i32 %t118, %t121 %t123 = zext i1 %t122 to i32 %t124 = icmp ne i32 %t123, 0 br i1 %t124, label %wbody30, label %wend31 wbody30: %t125 = load ptr, ptr %t38 %t126 = load i32, ptr %t39 %t127 = getelementptr inbounds %LSlice, ptr %t125, i32 0, i32 0 %t128 = load ptr, ptr %t127 %t129 = getelementptr inbounds %LSlice, ptr %t125, i32 0, i32 1 %t130 = load i32, ptr %t129 %t131 = icmp ult i32 %t126, %t130 br i1 %t131, label %ixok32, label %ixbad33 ixbad33: store i32 9570, ptr @lp_site %t132 = call ptr @lp_win_stdio(i32 2) store i32 0, ptr @lp_site call i32 (ptr, ptr, ...) @fprintf(ptr %t132, ptr @.fmt_bounds, ptr @.str17125, i32 %t126, i32 %t130) call void @exit(i32 1) unreachable ixok32: %t133 = getelementptr inbounds ptr, ptr %t128, i32 %t126 %t134 = load ptr, ptr %t133 %t135 = call i32 @lp_str_eq(ptr %t134, ptr @.str17126) %t136 = icmp ne i32 %t135, 0 br i1 %t136, label %then34, label %ifend36 then34: store ptr @.str17127, ptr %t117 br label %ifend36 ifend36: %t137 = load i32, ptr %t39 %t138 = add i32 %t137, 1 store i32 %t138, ptr %t39 br label %wcond29 wend31: %t139 = load ptr, ptr %t117 store ptr %t139, ptr %retval br label %ret ifend23: store i32 1, ptr %t39 br label %wcond37 wcond37: %t140 = load i32, ptr %t39 %t141 = load ptr, ptr %t38 %t142 = getelementptr inbounds %LSlice, ptr %t141, i32 0, i32 1 %t143 = load i32, ptr %t142 %t144 = icmp slt i32 %t140, %t143 %t145 = zext i1 %t144 to i32 %t146 = icmp ne i32 %t145, 0 br i1 %t146, label %wbody38, label %wend39 wbody38: %t148 = load ptr, ptr %t38 %t149 = load i32, ptr %t39 %t150 = getelementptr inbounds %LSlice, ptr %t148, i32 0, i32 0 %t151 = load ptr, ptr %t150 %t152 = getelementptr inbounds %LSlice, ptr %t148, i32 0, i32 1 %t153 = load i32, ptr %t152 %t154 = icmp ult i32 %t149, %t153 br i1 %t154, label %ixok40, label %ixbad41 ixbad41: store i32 9571, ptr @lp_site %t155 = call ptr @lp_win_stdio(i32 2) store i32 0, ptr @lp_site call i32 (ptr, ptr, ...) @fprintf(ptr %t155, ptr @.fmt_bounds, ptr @.str17128, i32 %t149, i32 %t153) call void @exit(i32 1) unreachable ixok40: %t156 = getelementptr inbounds ptr, ptr %t151, i32 %t149 %t157 = load ptr, ptr %t156 %t158 = call i32 @fn_ck_unknown(ptr %t157) %t159 = icmp ne i32 %t158, 0 %t160 = zext i1 %t159 to i32 store i32 %t160, ptr %t147 br i1 %t159, label %scend43, label %sc42 sc42: %t161 = load ptr, ptr %t38 %t162 = load i32, ptr %t39 %t163 = getelementptr inbounds %LSlice, ptr %t161, i32 0, i32 0 %t164 = load ptr, ptr %t163 %t165 = getelementptr inbounds %LSlice, ptr %t161, i32 0, i32 1 %t166 = load i32, ptr %t165 %t167 = icmp ult i32 %t162, %t166 br i1 %t167, label %ixok44, label %ixbad45 ixbad45: store i32 9572, ptr @lp_site %t168 = call ptr @lp_win_stdio(i32 2) store i32 0, ptr @lp_site call i32 (ptr, ptr, ...) @fprintf(ptr %t168, ptr @.fmt_bounds, ptr @.str17129, i32 %t162, i32 %t166) call void @exit(i32 1) unreachable ixok44: %t169 = getelementptr inbounds ptr, ptr %t164, i32 %t162 %t170 = load ptr, ptr %t169 %t171 = call i32 @fn_ck_is_float(ptr %t170) %t172 = icmp ne i32 %t171, 0 %t173 = zext i1 %t172 to i32 store i32 %t173, ptr %t147 br label %scend43 scend43: %t174 = load i32, ptr %t147 %t175 = icmp ne i32 %t174, 0 br i1 %t175, label %then46, label %ifend48 then46: store ptr @.str17130, ptr %retval br label %ret ifend48: %t176 = load i32, ptr %t39 %t177 = add i32 %t176, 1 store i32 %t177, ptr %t39 br label %wcond37 wend39: %t181 = load ptr, ptr %t1 %t182 = call i32 @lp_str_eq(ptr %t181, ptr @.str17131) %t183 = icmp ne i32 %t182, 0 %t184 = zext i1 %t183 to i32 store i32 %t184, ptr %t180 br i1 %t183, label %scend50, label %sc49 sc49: %t185 = load ptr, ptr %t1 %t186 = call i32 @lp_str_eq(ptr %t185, ptr @.str17132) %t187 = icmp ne i32 %t186, 0 %t188 = zext i1 %t187 to i32 store i32 %t188, ptr %t180 br label %scend50 scend50: %t189 = load i32, ptr %t180 %t190 = icmp ne i32 %t189, 0 %t191 = zext i1 %t190 to i32 store i32 %t191, ptr %t179 br i1 %t190, label %scend52, label %sc51 sc51: %t192 = load ptr, ptr %t1 %t193 = call i32 @lp_str_eq(ptr %t192, ptr @.str17133) %t194 = icmp ne i32 %t193, 0 %t195 = zext i1 %t194 to i32 store i32 %t195, ptr %t179 br label %scend52 scend52: %t196 = load i32, ptr %t179 %t197 = icmp ne i32 %t196, 0 %t198 = zext i1 %t197 to i32 store i32 %t198, ptr %t178 br i1 %t197, label %scend54, label %sc53 sc53: %t199 = load ptr, ptr %t1 %t200 = call i32 @lp_str_eq(ptr %t199, ptr @.str17134) %t201 = icmp ne i32 %t200, 0 %t202 = zext i1 %t201 to i32 store i32 %t202, ptr %t178 br label %scend54 scend54: %t203 = load i32, ptr %t178 %t204 = icmp ne i32 %t203, 0 br i1 %t204, label %then55, label %ifend57 then55: %t205 = load ptr, ptr %t38 %t206 = getelementptr inbounds %LSlice, ptr %t205, i32 0, i32 0 %t207 = load ptr, ptr %t206 %t208 = getelementptr inbounds %LSlice, ptr %t205, i32 0, i32 1 %t209 = load i32, ptr %t208 %t210 = icmp ult i32 0, %t209 br i1 %t210, label %ixok58, label %ixbad59 ixbad59: store i32 9573, ptr @lp_site %t211 = call ptr @lp_win_stdio(i32 2) store i32 0, ptr @lp_site call i32 (ptr, ptr, ...) @fprintf(ptr %t211, ptr @.fmt_bounds, ptr @.str17135, i32 0, i32 %t209) call void @exit(i32 1) unreachable ixok58: %t212 = getelementptr inbounds ptr, ptr %t207, i32 0 %t213 = load ptr, ptr %t212 store ptr %t213, ptr %retval br label %ret ifend57: %t217 = load ptr, ptr %t1 %t218 = call i32 @lp_str_eq(ptr %t217, ptr @.str17136) %t219 = icmp ne i32 %t218, 0 %t220 = zext i1 %t219 to i32 store i32 %t220, ptr %t216 br i1 %t219, label %scend61, label %sc60 sc60: %t221 = load ptr, ptr %t1 %t222 = call i32 @lp_str_eq(ptr %t221, ptr @.str17137) %t223 = icmp ne i32 %t222, 0 %t224 = zext i1 %t223 to i32 store i32 %t224, ptr %t216 br label %scend61 scend61: %t225 = load i32, ptr %t216 %t226 = icmp ne i32 %t225, 0 %t227 = zext i1 %t226 to i32 store i32 %t227, ptr %t215 br i1 %t226, label %scend63, label %sc62 sc62: %t228 = load ptr, ptr %t1 %t229 = call i32 @lp_str_eq(ptr %t228, ptr @.str17138) %t230 = icmp ne i32 %t229, 0 %t231 = zext i1 %t230 to i32 store i32 %t231, ptr %t215 br label %scend63 scend63: %t232 = load i32, ptr %t215 %t233 = icmp ne i32 %t232, 0 %t234 = zext i1 %t233 to i32 store i32 %t234, ptr %t214 br i1 %t233, label %scend65, label %sc64 sc64: %t235 = load ptr, ptr %t1 %t236 = call i32 @lp_str_eq(ptr %t235, ptr @.str17139) %t237 = icmp ne i32 %t236, 0 %t238 = zext i1 %t237 to i32 store i32 %t238, ptr %t214 br label %scend65 scend65: %t239 = load i32, ptr %t214 %t240 = icmp ne i32 %t239, 0 br i1 %t240, label %then66, label %ifend68 then66: store ptr @.str17140, ptr %retval br label %ret ifend68: %t243 = load ptr, ptr %t1 %t244 = call i32 @lp_str_eq(ptr %t243, ptr @.str17141) %t245 = icmp ne i32 %t244, 0 %t246 = zext i1 %t245 to i32 store i32 %t246, ptr %t242 br i1 %t245, label %scend70, label %sc69 sc69: %t247 = load ptr, ptr %t1 %t248 = call i32 @lp_str_eq(ptr %t247, ptr @.str17142) %t249 = icmp ne i32 %t248, 0 %t250 = zext i1 %t249 to i32 store i32 %t250, ptr %t242 br label %scend70 scend70: %t251 = load i32, ptr %t242 %t252 = icmp ne i32 %t251, 0 %t253 = zext i1 %t252 to i32 store i32 %t253, ptr %t241 br i1 %t252, label %scend72, label %sc71 sc71: %t254 = load ptr, ptr %t1 %t255 = call i32 @lp_str_eq(ptr %t254, ptr @.str17143) %t256 = icmp ne i32 %t255, 0 %t257 = zext i1 %t256 to i32 store i32 %t257, ptr %t241 br label %scend72 scend72: %t258 = load i32, ptr %t241 %t259 = icmp ne i32 %t258, 0 br i1 %t259, label %then73, label %ifend75 then73: store ptr @.str17144, ptr %retval br label %ret ifend75: store ptr @.str17145, ptr %retval br label %ret ret: %t260 = load ptr, ptr %retval ret ptr %t260 } define void @fn_ck_emit(ptr %arg_s) { entry: %t0 = alloca ptr %t5 = alloca ptr %t17 = alloca i32 %t43 = alloca ptr %t48 = alloca ptr %t58 = alloca ptr store ptr %arg_s, 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 = load ptr, ptr %t0 %t8 = getelementptr inbounds %Cmp_Node, ptr %t7, i32 0, i32 1 %t9 = load ptr, ptr %t8 %t10 = load ptr, ptr %t0 call void @fn_ck_vis(ptr %t6, ptr %t9, ptr %t10) %t11 = load ptr, ptr %t0 %t12 = getelementptr inbounds %Cmp_Node, ptr %t11, i32 0, i32 4 %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: br label %ret ifend2: store i32 0, ptr %t17 br label %wcond3 wcond3: %t18 = load i32, ptr %t17 %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 7 %t23 = load ptr, ptr %t22 %t24 = getelementptr inbounds %LSlice, ptr %t23, i32 0, i32 1 %t25 = load i32, ptr %t24 %t26 = icmp slt i32 %t18, %t25 %t27 = zext i1 %t26 to i32 %t28 = icmp ne i32 %t27, 0 br i1 %t28, label %wbody4, label %wend5 wbody4: %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 7 %t33 = load ptr, ptr %t32 %t34 = load i32, ptr %t17 %t35 = getelementptr inbounds %LSlice, ptr %t33, i32 0, i32 0 %t36 = load ptr, ptr %t35 %t37 = getelementptr inbounds %LSlice, ptr %t33, i32 0, i32 1 %t38 = load i32, ptr %t37 %t39 = icmp ult i32 %t34, %t38 br i1 %t39, label %ixok6, label %ixbad7 ixbad7: store i32 9574, ptr @lp_site %t40 = call ptr @lp_win_stdio(i32 2) store i32 0, ptr @lp_site call i32 (ptr, ptr, ...) @fprintf(ptr %t40, ptr @.fmt_bounds, ptr @.str17146, i32 %t34, i32 %t38) call void @exit(i32 1) unreachable ixok6: %t41 = getelementptr inbounds ptr, ptr %t36, i32 %t34 %t42 = load ptr, ptr %t41 store ptr %t42, ptr %t43 %t44 = load ptr, ptr %t43 %t45 = getelementptr inbounds %Cmp_Node, ptr %t44, i32 0, i32 4 %t46 = load ptr, ptr %t45 %t47 = call ptr @fn_ck_expr(ptr %t46) store ptr %t47, ptr %t48 %t49 = load ptr, ptr %t5 %t50 = icmp ne ptr %t49, null %t51 = zext i1 %t50 to i32 %t52 = icmp ne i32 %t51, 0 br i1 %t52, label %then8, label %ifend10 then8: %t53 = load ptr, ptr %t5 %t54 = load ptr, ptr %t43 %t55 = getelementptr inbounds %Cmp_Node, ptr %t54, i32 0, i32 1 %t56 = load ptr, ptr %t55 %t57 = call ptr @fn_ck_field(ptr %t53, ptr %t56) 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 %then11, label %ifend13 then11: %t63 = load ptr, ptr %t58 %t64 = load ptr, ptr %t48 %t65 = load ptr, ptr %t43 %t66 = getelementptr inbounds %Cmp_Node, ptr %t65, i32 0, i32 4 %t67 = load ptr, ptr %t66 %t68 = load ptr, ptr %t43 %t69 = getelementptr inbounds %Cmp_Node, ptr %t68, i32 0, i32 1 %t70 = load ptr, ptr %t69 store i32 9575, ptr @lp_site %t71 = call ptr @lp_str_concat(ptr @.str17148, ptr %t70) store i32 0, ptr @lp_site store i32 9576, ptr @lp_site %t72 = call ptr @lp_str_concat(ptr %t71, ptr @.str17149) store i32 0, ptr @lp_site call void @lp_free(ptr %t71) %t73 = load ptr, ptr %t0 %t74 = getelementptr inbounds %Cmp_Node, ptr %t73, i32 0, i32 1 %t75 = load ptr, ptr %t74 store i32 9577, ptr @lp_site %t76 = call ptr @lp_str_concat(ptr %t72, ptr %t75) store i32 0, ptr @lp_site call void @lp_free(ptr %t72) call void @fn_ck_give(ptr %t63, ptr %t64, ptr %t67, ptr %t76) br label %ifend13 ifend13: br label %ifend10 ifend10: %t77 = load i32, ptr %t17 %t78 = add i32 %t77, 1 store i32 %t78, ptr %t17 br label %wcond3 wend5: br label %ret ret: ret void } define i32 @fn_ck_tpl_hole(ptr %arg_e) { entry: %retval = alloca i32 %t0 = alloca ptr %t1 = alloca i32 %t2 = alloca i32 %t10 = alloca i32 store ptr %arg_e, ptr %t0 %t3 = load ptr, ptr %t0 %t4 = getelementptr inbounds %Cmp_Node, ptr %t3, i32 0, i32 4 %t5 = load ptr, 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 %t2 br i1 %t8, label %sc0, label %scend1 sc0: %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 12 %t15 = load i32, ptr %t14 %t16 = icmp eq i32 %t15, 92 %t17 = zext i1 %t16 to i32 %t18 = icmp ne i32 %t17, 0 %t19 = zext i1 %t18 to i32 store i32 %t19, ptr %t10 br i1 %t18, label %scend3, label %sc2 sc2: %t20 = load ptr, ptr %t0 %t21 = getelementptr inbounds %Cmp_Node, ptr %t20, i32 0, i32 4 %t22 = load ptr, ptr %t21 %t23 = getelementptr inbounds %Cmp_Node, ptr %t22, i32 0, i32 12 %t24 = load i32, ptr %t23 %t25 = icmp eq i32 %t24, 91 %t26 = zext i1 %t25 to i32 %t27 = icmp ne i32 %t26, 0 %t28 = zext i1 %t27 to i32 store i32 %t28, ptr %t10 br label %scend3 scend3: %t29 = load i32, ptr %t10 %t30 = icmp ne i32 %t29, 0 %t31 = zext i1 %t30 to i32 store i32 %t31, ptr %t2 br label %scend1 scend1: %t32 = load i32, ptr %t2 %t33 = icmp ne i32 %t32, 0 %t34 = zext i1 %t33 to i32 store i32 %t34, ptr %t1 br i1 %t33, label %sc4, label %scend5 sc4: %t35 = load ptr, ptr %t0 %t36 = getelementptr inbounds %Cmp_Node, ptr %t35, i32 0, i32 7 %t37 = load ptr, ptr %t36 %t38 = getelementptr inbounds %LSlice, ptr %t37, i32 0, i32 1 %t39 = load i32, ptr %t38 %t40 = icmp eq i32 %t39, 1 %t41 = zext i1 %t40 to i32 %t42 = icmp ne i32 %t41, 0 %t43 = zext i1 %t42 to i32 store i32 %t43, ptr %t1 br label %scend5 scend5: %t44 = load i32, ptr %t1 store i32 %t44, ptr %retval br label %ret ret: %t45 = load i32, ptr %retval ret i32 %t45 } define ptr @fn_ck_hole(ptr %arg_e) { entry: %retval = alloca ptr %t0 = alloca ptr %t13 = 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 %LSlice, ptr %t3, i32 0, i32 1 %t7 = load i32, ptr %t6 %t8 = icmp ult i32 0, %t7 br i1 %t8, label %ixok0, label %ixbad1 ixbad1: store i32 9578, ptr @lp_site %t9 = call ptr @lp_win_stdio(i32 2) store i32 0, ptr @lp_site call i32 (ptr, ptr, ...) @fprintf(ptr %t9, ptr @.fmt_bounds, ptr @.str17150, i32 0, i32 %t7) call void @exit(i32 1) unreachable ixok0: %t10 = getelementptr inbounds ptr, ptr %t5, i32 0 %t11 = load ptr, ptr %t10 %t12 = call ptr @fn_ck_expr(ptr %t11) store ptr %t12, ptr %t13 %t14 = load ptr, ptr %t13 %t15 = call i32 @fn_ck_is_key(ptr %t14) %t16 = icmp ne i32 %t15, 0 br i1 %t16, label %then2, label %ifend4 then2: %t17 = load ptr, ptr %t0 %t18 = getelementptr inbounds %Cmp_Node, ptr %t17, i32 0, i32 7 %t19 = load ptr, ptr %t18 %t20 = getelementptr inbounds %LSlice, ptr %t19, i32 0, i32 0 %t21 = load ptr, ptr %t20 %t22 = getelementptr inbounds %LSlice, ptr %t19, i32 0, i32 1 %t23 = load i32, ptr %t22 %t24 = icmp ult i32 0, %t23 br i1 %t24, label %ixok5, label %ixbad6 ixbad6: store i32 9579, ptr @lp_site %t25 = call ptr @lp_win_stdio(i32 2) store i32 0, ptr @lp_site call i32 (ptr, ptr, ...) @fprintf(ptr %t25, ptr @.fmt_bounds, ptr @.str17153, i32 0, i32 %t23) call void @exit(i32 1) unreachable ixok5: %t26 = getelementptr inbounds ptr, ptr %t21, i32 0 %t27 = load ptr, ptr %t26 call void @fn_ck_err(ptr @.str17152, ptr %t27, ptr @.str17154) br label %ifend4 ifend4: store ptr @.str17155, ptr %retval br label %ret ret: %t28 = load ptr, ptr %retval ret ptr %t28 } define void @fn_ck_block(ptr %arg_b) { entry: %t0 = alloca ptr %t13 = alloca i32 %t14 = alloca i32 store ptr %arg_b, 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: br label %ret ifend2: %t5 = load ptr, ptr %t0 %t6 = getelementptr inbounds %Cmp_Node, ptr %t5, i32 0, i32 0 %t7 = load i32, ptr %t6 %t8 = icmp ne i32 %t7, 7 %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 call void @fn_ck_stmt(ptr %t11) br label %ret ifend5: %t12 = call i32 @fn_ck_mark() store i32 %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 %t0 %t25 = getelementptr inbounds %Cmp_Node, ptr %t24, i32 0, i32 7 %t26 = load ptr, ptr %t25 %t27 = load i32, ptr %t14 %t28 = getelementptr inbounds %LSlice, ptr %t26, i32 0, i32 0 %t29 = load ptr, ptr %t28 %t30 = getelementptr inbounds %LSlice, ptr %t26, i32 0, i32 1 %t31 = load i32, ptr %t30 %t32 = icmp ult i32 %t27, %t31 br i1 %t32, label %ixok9, label %ixbad10 ixbad10: store i32 9580, ptr @lp_site %t33 = call ptr @lp_win_stdio(i32 2) store i32 0, ptr @lp_site call i32 (ptr, ptr, ...) @fprintf(ptr %t33, ptr @.fmt_bounds, ptr @.str17156, i32 %t27, i32 %t31) call void @exit(i32 1) unreachable ixok9: %t34 = getelementptr inbounds ptr, ptr %t29, i32 %t27 %t35 = load ptr, ptr %t34 call void @fn_ck_stmt(ptr %t35) %t36 = load i32, ptr %t14 %t37 = add i32 %t36, 1 store i32 %t37, ptr %t14 br label %wcond6 wend8: %t38 = load i32, ptr %t13 call void @fn_ck_pop(i32 %t38) br label %ret ret: ret void } define ptr @fn_ck_target(ptr %arg_t) { entry: %retval = alloca ptr %t0 = alloca ptr store ptr %arg_t, 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 = call ptr @fn_ck_id(ptr %t7) store ptr %t8, ptr %retval br label %ret ifend2: %t9 = load ptr, ptr %t0 %t10 = call ptr @fn_ck_expr(ptr %t9) store ptr %t10, ptr %retval br label %ret ret: %t11 = load ptr, ptr %retval ret ptr %t11 } define void @fn_ck_let(ptr %arg_s) { entry: %t0 = alloca ptr %t1 = alloca ptr %t43 = alloca i32 %t92 = alloca i32 %t117 = alloca i32 %t118 = alloca i32 %t119 = alloca i32 store ptr %arg_s, ptr %t0 store ptr @.str17158, ptr %t1 %t2 = load ptr, ptr %t0 %t3 = getelementptr inbounds %Cmp_Node, ptr %t2, i32 0, i32 3 %t4 = load ptr, ptr %t3 store ptr %t4, ptr @g_ck_expect %t5 = load ptr, ptr %t0 %t6 = getelementptr inbounds %Cmp_Node, ptr %t5, i32 0, i32 4 %t7 = load ptr, ptr %t6 %t8 = icmp ne ptr %t7, null %t9 = zext i1 %t8 to i32 %t10 = icmp ne i32 %t9, 0 br i1 %t10, label %then0, label %ifend2 then0: %t11 = load ptr, ptr %t0 %t12 = getelementptr inbounds %Cmp_Node, ptr %t11, i32 0, i32 4 %t13 = load ptr, ptr %t12 %t14 = call ptr @fn_ck_expr(ptr %t13) store ptr %t14, ptr %t1 br label %ifend2 ifend2: %t15 = load ptr, ptr %t0 %t16 = getelementptr inbounds %Cmp_Node, ptr %t15, i32 0, i32 3 %t17 = load ptr, ptr %t16 %t18 = icmp ne ptr %t17, null %t19 = zext i1 %t18 to i32 %t20 = icmp ne i32 %t19, 0 br i1 %t20, label %then3, label %ifend5 then3: %t21 = load ptr, ptr %t0 %t22 = getelementptr inbounds %Cmp_Node, ptr %t21, i32 0, i32 4 %t23 = load ptr, ptr %t22 %t24 = icmp ne ptr %t23, null %t25 = zext i1 %t24 to i32 %t26 = icmp ne i32 %t25, 0 br i1 %t26, label %then6, label %ifend8 then6: %t27 = load ptr, ptr %t0 %t28 = getelementptr inbounds %Cmp_Node, ptr %t27, i32 0, i32 3 %t29 = load ptr, ptr %t28 %t30 = load ptr, ptr %t1 %t31 = load ptr, ptr %t0 %t32 = getelementptr inbounds %Cmp_Node, ptr %t31, i32 0, i32 4 %t33 = load ptr, ptr %t32 %t34 = load ptr, ptr %t0 %t35 = getelementptr inbounds %Cmp_Node, ptr %t34, i32 0, i32 1 %t36 = load ptr, ptr %t35 call void @fn_ck_give(ptr %t29, ptr %t30, ptr %t33, ptr %t36) br label %ifend8 ifend8: %t37 = load ptr, ptr %t0 %t38 = getelementptr inbounds %Cmp_Node, ptr %t37, i32 0, i32 1 %t39 = load ptr, ptr %t38 %t40 = load ptr, ptr %t0 %t41 = getelementptr inbounds %Cmp_Node, ptr %t40, i32 0, i32 3 %t42 = load ptr, ptr %t41 call void @fn_ck_bind(ptr %t39, ptr %t42) %t44 = load ptr, ptr %t0 %t45 = getelementptr inbounds %Cmp_Node, ptr %t44, i32 0, i32 11 %t46 = load ptr, ptr %t45 %t47 = icmp ne ptr %t46, null %t48 = zext i1 %t47 to i32 %t49 = icmp ne i32 %t48, 0 %t50 = zext i1 %t49 to i32 store i32 %t50, ptr %t43 br i1 %t49, label %sc9, label %scend10 sc9: %t51 = load ptr, ptr %t0 %t52 = getelementptr inbounds %Cmp_Node, ptr %t51, i32 0, i32 11 %t53 = load ptr, ptr %t52 %t54 = call i32 @lp_str_eq(ptr %t53, ptr @.str17159) %t55 = icmp ne i32 %t54, 0 %t56 = zext i1 %t55 to i32 store i32 %t56, ptr %t43 br label %scend10 scend10: %t57 = load i32, ptr %t43 %t58 = icmp ne i32 %t57, 0 br i1 %t58, label %then11, label %else12 then11: %t59 = load ptr, ptr %t0 %t60 = getelementptr inbounds %Cmp_Node, ptr %t59, i32 0, i32 3 %t61 = load ptr, ptr %t60 %t62 = call i32 @fn_is_state_ty(ptr %t61) %t63 = icmp eq i32 %t62, 0 %t64 = zext i1 %t63 to i32 %t65 = icmp ne i32 %t64, 0 br i1 %t65, label %then14, label %ifend16 then14: %t66 = load ptr, ptr %t0 %t67 = load ptr, ptr %t0 %t68 = getelementptr inbounds %Cmp_Node, ptr %t67, i32 0, i32 1 %t69 = load ptr, ptr %t68 store i32 9581, ptr @lp_site %t70 = call ptr @lp_str_concat(ptr @.str17161, ptr %t69) store i32 0, ptr @lp_site store i32 9582, ptr @lp_site %t71 = call ptr @lp_str_concat(ptr %t70, ptr @.str17163) store i32 0, ptr @lp_site call void @lp_free(ptr %t70) %t72 = load ptr, ptr %t0 %t73 = getelementptr inbounds %Cmp_Node, ptr %t72, i32 0, i32 3 %t74 = load ptr, ptr %t73 store i32 9583, ptr @lp_site %t75 = call ptr @lp_str_concat(ptr %t71, ptr %t74) store i32 0, ptr @lp_site call void @lp_free(ptr %t71) store i32 9584, ptr @lp_site %t76 = call ptr @lp_str_concat(ptr %t75, ptr @.str17164) store i32 0, ptr @lp_site call void @lp_free(ptr %t75) call void @fn_ck_err(ptr @.str17160, ptr %t66, ptr %t76) br label %ifend16 ifend16: %t77 = load ptr, ptr %t0 %t78 = getelementptr inbounds %Cmp_Node, ptr %t77, i32 0, i32 12 %t79 = load i32, ptr %t78 %t80 = icmp eq i32 %t79, 0 %t81 = zext i1 %t80 to i32 call void @fn_ck_set_ro(i32 %t81) br label %ifend13 else12: %t82 = load ptr, ptr %t0 %t83 = getelementptr inbounds %Cmp_Node, ptr %t82, i32 0, i32 4 %t84 = load ptr, ptr %t83 %t85 = load ptr, ptr %t0 %t86 = getelementptr inbounds %Cmp_Node, ptr %t85, i32 0, i32 3 %t87 = load ptr, ptr %t86 call void @fn_ck_let_from(ptr %t84, ptr %t87) br label %ifend13 ifend13: br label %ret ifend5: %t88 = load ptr, ptr %t0 %t89 = getelementptr inbounds %Cmp_Node, ptr %t88, i32 0, i32 1 %t90 = load ptr, ptr %t89 %t91 = load ptr, ptr %t1 call void @fn_ck_bind(ptr %t90, ptr %t91) %t93 = load ptr, ptr %t0 %t94 = getelementptr inbounds %Cmp_Node, ptr %t93, i32 0, i32 4 %t95 = load ptr, ptr %t94 %t96 = icmp ne ptr %t95, null %t97 = zext i1 %t96 to i32 %t98 = icmp ne i32 %t97, 0 %t99 = zext i1 %t98 to i32 store i32 %t99, ptr %t92 br i1 %t98, label %sc17, label %scend18 sc17: %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 0 %t104 = load i32, ptr %t103 %t105 = icmp eq i32 %t104, 33 %t106 = zext i1 %t105 to i32 %t107 = icmp ne i32 %t106, 0 %t108 = zext i1 %t107 to i32 store i32 %t108, ptr %t92 br label %scend18 scend18: %t109 = load i32, ptr %t92 %t110 = icmp ne i32 %t109, 0 br i1 %t110, label %then19, label %ifend21 then19: %t111 = load ptr, ptr %t0 %t112 = getelementptr inbounds %Cmp_Node, ptr %t111, i32 0, i32 4 %t113 = load ptr, ptr %t112 %t114 = getelementptr inbounds %Cmp_Node, ptr %t113, i32 0, i32 1 %t115 = load ptr, ptr %t114 %t116 = call i32 @fn_ck_local(ptr %t115) store i32 %t116, ptr %t117 %t120 = load i32, ptr %t117 %t121 = icmp sge i32 %t120, 0 %t122 = zext i1 %t121 to i32 %t123 = icmp ne i32 %t122, 0 %t124 = zext i1 %t123 to i32 store i32 %t124, ptr %t119 br i1 %t123, label %sc22, label %scend23 sc22: %t125 = load i32, ptr %t117 %t126 = load i32, ptr @g_ck_top %t127 = sub i32 %t126, 1 %t128 = icmp slt i32 %t125, %t127 %t129 = zext i1 %t128 to i32 %t130 = icmp ne i32 %t129, 0 %t131 = zext i1 %t130 to i32 store i32 %t131, ptr %t119 br label %scend23 scend23: %t132 = load i32, ptr %t119 %t133 = icmp ne i32 %t132, 0 %t134 = zext i1 %t133 to i32 store i32 %t134, ptr %t118 br i1 %t133, label %sc24, label %scend25 sc24: %t135 = load i32, ptr %t117 %t136 = call i32 @fn_ck_is_ro(i32 %t135) %t137 = icmp ne i32 %t136, 0 %t138 = zext i1 %t137 to i32 store i32 %t138, ptr %t118 br label %scend25 scend25: %t139 = load i32, ptr %t118 %t140 = icmp ne i32 %t139, 0 br i1 %t140, label %then26, label %ifend28 then26: %t141 = load i32, ptr %t117 call void @fn_ck_ro_like(i32 %t141) br label %ifend28 ifend28: br label %ifend21 ifend21: %t142 = load ptr, ptr %t0 %t143 = getelementptr inbounds %Cmp_Node, ptr %t142, i32 0, i32 4 %t144 = load ptr, ptr %t143 %t145 = load ptr, ptr %t1 call void @fn_ck_let_from(ptr %t144, ptr %t145) br label %ret ret: ret void } define void @fn_ck_assign(ptr %arg_s) { entry: %t0 = alloca ptr %t1 = alloca i32 %t32 = alloca ptr %t43 = alloca ptr %t44 = alloca ptr %t87 = alloca ptr %t99 = alloca ptr store ptr %arg_s, ptr %t0 %t2 = load ptr, ptr %t0 %t3 = getelementptr inbounds %Cmp_Node, ptr %t2, i32 0, i32 4 %t4 = load ptr, ptr %t3 %t5 = getelementptr inbounds %Cmp_Node, ptr %t4, i32 0, i32 0 %t6 = load i32, ptr %t5 %t7 = icmp eq i32 %t6, 33 %t8 = zext i1 %t7 to i32 %t9 = icmp ne i32 %t8, 0 %t10 = zext i1 %t9 to i32 store i32 %t10, ptr %t1 br i1 %t9, label %sc0, label %scend1 sc0: %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 i32 @fn_ck_local(ptr %t15) %t17 = icmp sge i32 %t16, 0 %t18 = zext i1 %t17 to i32 %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 eq i32 %t21, 0 %t23 = zext i1 %t22 to i32 %t24 = icmp ne i32 %t23, 0 br i1 %t24, label %then2, label %ifend4 then2: %t25 = load ptr, ptr %t0 %t26 = getelementptr inbounds %Cmp_Node, ptr %t25, i32 0, i32 4 %t27 = load ptr, ptr %t26 call void @fn_ck_write_check(ptr %t27, ptr @.str17165) br label %ifend4 ifend4: %t28 = load ptr, ptr %t0 %t29 = getelementptr inbounds %Cmp_Node, ptr %t28, i32 0, i32 4 %t30 = load ptr, ptr %t29 %t31 = call ptr @fn_ck_target(ptr %t30) store ptr %t31, ptr %t32 %t33 = load ptr, ptr %t0 %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 @.str17166) %t37 = icmp ne i32 %t36, 0 br i1 %t37, label %then5, label %ifend7 then5: %t38 = load ptr, ptr %t32 store ptr %t38, ptr @g_ck_expect br label %ifend7 ifend7: %t39 = load ptr, ptr %t0 %t40 = getelementptr inbounds %Cmp_Node, ptr %t39, i32 0, i32 5 %t41 = load ptr, ptr %t40 %t42 = call ptr @fn_ck_expr(ptr %t41) store ptr %t42, ptr %t43 store ptr @.str17167, ptr %t44 %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 0 %t49 = load i32, ptr %t48 %t50 = icmp eq i32 %t49, 33 %t51 = zext i1 %t50 to i32 %t52 = icmp ne i32 %t51, 0 br i1 %t52, label %then8, label %ifend10 then8: %t53 = load ptr, ptr %t0 %t54 = getelementptr inbounds %Cmp_Node, ptr %t53, i32 0, i32 4 %t55 = load ptr, ptr %t54 %t56 = getelementptr inbounds %Cmp_Node, ptr %t55, i32 0, i32 1 %t57 = load ptr, ptr %t56 store ptr %t57, ptr %t44 br label %ifend10 ifend10: %t58 = load ptr, ptr %t0 %t59 = getelementptr inbounds %Cmp_Node, ptr %t58, i32 0, i32 4 %t60 = load ptr, ptr %t59 %t61 = getelementptr inbounds %Cmp_Node, ptr %t60, i32 0, i32 0 %t62 = load i32, ptr %t61 %t63 = icmp eq i32 %t62, 35 %t64 = zext i1 %t63 to i32 %t65 = icmp ne i32 %t64, 0 br i1 %t65, label %then11, label %ifend13 then11: %t66 = load ptr, ptr %t0 %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 %t69 store i32 9585, ptr @lp_site %t71 = call ptr @lp_str_concat(ptr @.str17168, ptr %t70) store i32 0, ptr @lp_site store ptr %t71, ptr %t44 br label %ifend13 ifend13: %t72 = load ptr, ptr %t0 %t73 = getelementptr inbounds %Cmp_Node, ptr %t72, i32 0, i32 1 %t74 = load ptr, ptr %t73 %t75 = call i32 @lp_str_eq(ptr %t74, ptr @.str17170) %t76 = icmp ne i32 %t75, 0 br i1 %t76, label %then14, label %ifend16 then14: %t77 = load ptr, ptr %t32 %t78 = load ptr, ptr %t43 %t79 = load ptr, ptr %t0 %t80 = getelementptr inbounds %Cmp_Node, ptr %t79, i32 0, i32 5 %t81 = load ptr, ptr %t80 %t82 = load ptr, ptr %t44 call void @fn_ck_give(ptr %t77, ptr %t78, ptr %t81, ptr %t82) br label %ret ifend16: %t83 = load ptr, ptr %t0 %t84 = getelementptr inbounds %Cmp_Node, ptr %t83, i32 0, i32 1 %t85 = load ptr, ptr %t84 store i32 9586, ptr @lp_site %t86 = call ptr @lp_str_slice(ptr %t85, i32 0, i32 1) store i32 0, ptr @lp_site store ptr %t86, ptr %t87 %t88 = load ptr, ptr %t0 %t89 = load ptr, ptr %t87 %t90 = load ptr, ptr %t32 %t91 = load ptr, ptr %t43 %t92 = load ptr, ptr %t0 %t93 = getelementptr inbounds %Cmp_Node, ptr %t92, i32 0, i32 4 %t94 = load ptr, ptr %t93 %t95 = load ptr, ptr %t0 %t96 = getelementptr inbounds %Cmp_Node, ptr %t95, i32 0, i32 5 %t97 = load ptr, ptr %t96 %t98 = call ptr @fn_ck_binop(ptr %t88, ptr %t89, ptr %t90, ptr %t91, ptr %t94, ptr %t97) store ptr %t98, ptr %t99 %t100 = load ptr, ptr %t32 %t101 = load ptr, ptr %t99 %t102 = load ptr, ptr %t0 %t103 = getelementptr inbounds %Cmp_Node, ptr %t102, i32 0, i32 5 %t104 = load ptr, ptr %t103 %t105 = load ptr, ptr %t44 call void @fn_ck_give(ptr %t100, ptr %t101, ptr %t104, ptr %t105) br label %ret ret: ret void } define void @fn_ck_match(ptr %arg_s) { entry: %t0 = alloca ptr %t5 = alloca i32 %t27 = alloca ptr %t29 = alloca i32 %t30 = alloca i32 %t52 = alloca ptr %t59 = alloca i32 store ptr %arg_s, 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_ck_expr(ptr %t3) store i32 0, ptr %t5 br label %wcond0 wcond0: %t6 = load i32, ptr %t5 %t7 = load ptr, ptr %t0 %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 %t6, %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 7 %t17 = load ptr, ptr %t16 %t18 = load i32, ptr %t5 %t19 = getelementptr inbounds %LSlice, ptr %t17, i32 0, i32 0 %t20 = load ptr, ptr %t19 %t21 = getelementptr inbounds %LSlice, ptr %t17, i32 0, i32 1 %t22 = load i32, ptr %t21 %t23 = icmp ult i32 %t18, %t22 br i1 %t23, label %ixok3, label %ixbad4 ixbad4: store i32 9587, ptr @lp_site %t24 = call ptr @lp_win_stdio(i32 2) store i32 0, ptr @lp_site call i32 (ptr, ptr, ...) @fprintf(ptr %t24, ptr @.fmt_bounds, ptr @.str17171, i32 %t18, i32 %t22) call void @exit(i32 1) unreachable ixok3: %t25 = getelementptr inbounds ptr, ptr %t20, i32 %t18 %t26 = load ptr, ptr %t25 store ptr %t26, ptr %t27 %t28 = call i32 @fn_ck_mark() store i32 %t28, ptr %t29 store i32 0, ptr %t30 br label %wcond5 wcond5: %t31 = load i32, ptr %t30 %t32 = load ptr, ptr %t27 %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 %wbody6, label %wend7 wbody6: %t40 = load ptr, ptr %t27 %t41 = getelementptr inbounds %Cmp_Node, ptr %t40, i32 0, i32 7 %t42 = load ptr, ptr %t41 %t43 = load i32, ptr %t30 %t44 = getelementptr inbounds %LSlice, ptr %t42, i32 0, i32 0 %t45 = load ptr, ptr %t44 %t46 = getelementptr inbounds %LSlice, ptr %t42, i32 0, i32 1 %t47 = load i32, ptr %t46 %t48 = icmp ult i32 %t43, %t47 br i1 %t48, label %ixok8, label %ixbad9 ixbad9: store i32 9588, ptr @lp_site %t49 = call ptr @lp_win_stdio(i32 2) store i32 0, ptr @lp_site call i32 (ptr, ptr, ...) @fprintf(ptr %t49, ptr @.fmt_bounds, ptr @.str17173, i32 %t43, i32 %t47) call void @exit(i32 1) unreachable ixok8: %t50 = getelementptr inbounds ptr, ptr %t45, i32 %t43 %t51 = load ptr, ptr %t50 store ptr %t51, ptr %t52 %t53 = load ptr, ptr %t52 %t54 = getelementptr inbounds %Cmp_Node, ptr %t53, i32 0, i32 0 %t55 = load i32, ptr %t54 %t56 = icmp eq i32 %t55, 34 %t57 = zext i1 %t56 to i32 %t58 = icmp ne i32 %t57, 0 br i1 %t58, label %then10, label %ifend12 then10: store i32 0, ptr %t59 br label %wcond13 wcond13: %t60 = load i32, ptr %t59 %t61 = load ptr, ptr %t52 %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 %wbody14, label %wend15 wbody14: %t69 = load ptr, ptr %t52 %t70 = getelementptr inbounds %Cmp_Node, ptr %t69, i32 0, i32 7 %t71 = load ptr, ptr %t70 %t72 = load i32, ptr %t59 %t73 = getelementptr inbounds %LSlice, ptr %t71, i32 0, i32 0 %t74 = load ptr, ptr %t73 %t75 = getelementptr inbounds %LSlice, ptr %t71, i32 0, i32 1 %t76 = load i32, ptr %t75 %t77 = icmp ult i32 %t72, %t76 br i1 %t77, label %ixok16, label %ixbad17 ixbad17: store i32 9589, ptr @lp_site %t78 = call ptr @lp_win_stdio(i32 2) store i32 0, ptr @lp_site call i32 (ptr, ptr, ...) @fprintf(ptr %t78, ptr @.fmt_bounds, ptr @.str17174, i32 %t72, i32 %t76) call void @exit(i32 1) unreachable ixok16: %t79 = getelementptr inbounds ptr, ptr %t74, i32 %t72 %t80 = load ptr, ptr %t79 %t81 = getelementptr inbounds %Cmp_Node, ptr %t80, i32 0, i32 0 %t82 = load i32, ptr %t81 %t83 = icmp eq i32 %t82, 33 %t84 = zext i1 %t83 to i32 %t85 = icmp ne i32 %t84, 0 br i1 %t85, label %then18, label %ifend20 then18: %t86 = load ptr, ptr %t52 %t87 = getelementptr inbounds %Cmp_Node, ptr %t86, i32 0, i32 7 %t88 = load ptr, ptr %t87 %t89 = load i32, ptr %t59 %t90 = getelementptr inbounds %LSlice, ptr %t88, i32 0, i32 0 %t91 = load ptr, ptr %t90 %t92 = getelementptr inbounds %LSlice, ptr %t88, i32 0, i32 1 %t93 = load i32, ptr %t92 %t94 = icmp ult i32 %t89, %t93 br i1 %t94, label %ixok21, label %ixbad22 ixbad22: store i32 9590, ptr @lp_site %t95 = call ptr @lp_win_stdio(i32 2) store i32 0, ptr @lp_site call i32 (ptr, ptr, ...) @fprintf(ptr %t95, ptr @.fmt_bounds, ptr @.str17175, i32 %t89, i32 %t93) call void @exit(i32 1) unreachable ixok21: %t96 = getelementptr inbounds ptr, ptr %t91, i32 %t89 %t97 = load ptr, ptr %t96 %t98 = getelementptr inbounds %Cmp_Node, ptr %t97, i32 0, i32 1 %t99 = load ptr, ptr %t98 call void @fn_ck_bind(ptr %t99, ptr @.str17176) br label %ifend20 ifend20: %t100 = load i32, ptr %t59 %t101 = add i32 %t100, 1 store i32 %t101, ptr %t59 br label %wcond13 wend15: br label %ifend12 ifend12: %t102 = load i32, ptr %t30 %t103 = add i32 %t102, 1 store i32 %t103, ptr %t30 br label %wcond5 wend7: %t104 = load ptr, ptr %t27 %t105 = getelementptr inbounds %Cmp_Node, ptr %t104, i32 0, i32 4 %t106 = load ptr, ptr %t105 call void @fn_ck_block(ptr %t106) %t107 = load i32, ptr %t29 call void @fn_ck_pop(i32 %t107) %t108 = load i32, ptr %t5 %t109 = add i32 %t108, 1 store i32 %t109, ptr %t5 br label %wcond0 wend2: br label %ret ret: ret void } define void @fn_ck_stmt(ptr %arg_s) { entry: %t0 = alloca ptr %t8 = alloca i32 %t68 = alloca i32 %t91 = alloca ptr %t136 = alloca i32 %t166 = alloca i32 %t167 = alloca i32 %t168 = alloca i32 %t178 = alloca ptr %t185 = alloca i32 store ptr %arg_s, 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: br label %ret ifend2: %t5 = load ptr, ptr %t0 %t6 = getelementptr inbounds %Cmp_Node, ptr %t5, i32 0, i32 0 %t7 = load i32, ptr %t6 store i32 %t7, ptr %t8 %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 %then3, label %ifend5 then3: %t13 = load ptr, ptr %t0 call void @fn_ck_block(ptr %t13) br label %ret ifend5: %t14 = load i32, ptr %t8 %t15 = icmp eq i32 %t14, 10 %t16 = zext i1 %t15 to i32 %t17 = icmp ne i32 %t16, 0 br i1 %t17, label %then6, label %ifend8 then6: %t18 = load ptr, ptr %t0 call void @fn_ck_let(ptr %t18) br label %ret ifend8: %t19 = load i32, ptr %t8 %t20 = icmp eq i32 %t19, 11 %t21 = zext i1 %t20 to i32 %t22 = icmp ne i32 %t21, 0 br i1 %t22, label %then9, label %ifend11 then9: %t23 = load ptr, ptr %t0 call void @fn_ck_assign(ptr %t23) br label %ret ifend11: %t24 = load i32, ptr %t8 %t25 = icmp eq i32 %t24, 12 %t26 = zext i1 %t25 to i32 %t27 = icmp ne i32 %t26, 0 br i1 %t27, label %then12, label %ifend14 then12: %t28 = load ptr, ptr %t0 %t29 = getelementptr inbounds %Cmp_Node, ptr %t28, i32 0, i32 4 %t30 = load ptr, ptr %t29 %t31 = load ptr, ptr %t0 %t32 = getelementptr inbounds %Cmp_Node, ptr %t31, i32 0, i32 4 %t33 = load ptr, ptr %t32 %t34 = call ptr @fn_ck_expr(ptr %t33) call void @fn_ck_cond(ptr %t30, ptr %t34) %t35 = load ptr, ptr %t0 %t36 = getelementptr inbounds %Cmp_Node, ptr %t35, i32 0, i32 5 %t37 = load ptr, ptr %t36 call void @fn_ck_block(ptr %t37) %t38 = load ptr, ptr %t0 %t39 = getelementptr inbounds %Cmp_Node, ptr %t38, i32 0, i32 6 %t40 = load ptr, ptr %t39 call void @fn_ck_block(ptr %t40) br label %ret ifend14: %t41 = load i32, ptr %t8 %t42 = icmp eq i32 %t41, 13 %t43 = zext i1 %t42 to i32 %t44 = icmp ne i32 %t43, 0 br i1 %t44, label %then15, label %ifend17 then15: %t45 = load ptr, ptr %t0 %t46 = getelementptr inbounds %Cmp_Node, ptr %t45, i32 0, i32 4 %t47 = load ptr, ptr %t46 %t48 = load ptr, ptr %t0 %t49 = getelementptr inbounds %Cmp_Node, ptr %t48, i32 0, i32 4 %t50 = load ptr, ptr %t49 %t51 = call ptr @fn_ck_expr(ptr %t50) call void @fn_ck_cond(ptr %t47, ptr %t51) %t52 = load ptr, ptr %t0 %t53 = getelementptr inbounds %Cmp_Node, ptr %t52, i32 0, i32 5 %t54 = load ptr, ptr %t53 call void @fn_ck_block(ptr %t54) br label %ret ifend17: %t55 = load i32, ptr %t8 %t56 = icmp eq i32 %t55, 14 %t57 = zext i1 %t56 to i32 %t58 = icmp ne i32 %t57, 0 br i1 %t58, label %then18, label %ifend20 then18: %t59 = load ptr, ptr %t0 %t60 = getelementptr inbounds %Cmp_Node, ptr %t59, i32 0, i32 4 %t61 = load ptr, ptr %t60 %t62 = call ptr @fn_ck_expr(ptr %t61) %t63 = load ptr, ptr %t0 %t64 = getelementptr inbounds %Cmp_Node, ptr %t63, i32 0, i32 5 %t65 = load ptr, ptr %t64 %t66 = call ptr @fn_ck_expr(ptr %t65) %t67 = call i32 @fn_ck_mark() store i32 %t67, ptr %t68 %t69 = load ptr, ptr %t0 %t70 = getelementptr inbounds %Cmp_Node, ptr %t69, i32 0, i32 1 %t71 = load ptr, ptr %t70 call void @fn_ck_bind(ptr %t71, ptr @.str17177) %t72 = load ptr, ptr %t0 %t73 = getelementptr inbounds %Cmp_Node, ptr %t72, i32 0, i32 6 %t74 = load ptr, ptr %t73 call void @fn_ck_block(ptr %t74) %t75 = load i32, ptr %t68 call void @fn_ck_pop(i32 %t75) br label %ret ifend20: %t76 = load i32, ptr %t8 %t77 = icmp eq i32 %t76, 15 %t78 = zext i1 %t77 to i32 %t79 = icmp ne i32 %t78, 0 br i1 %t79, label %then21, label %ifend23 then21: %t80 = load ptr, ptr %t0 %t81 = getelementptr inbounds %Cmp_Node, ptr %t80, i32 0, i32 4 %t82 = load ptr, ptr %t81 %t83 = icmp eq ptr %t82, null %t84 = zext i1 %t83 to i32 %t85 = icmp ne i32 %t84, 0 br i1 %t85, label %then24, label %ifend26 then24: br label %ret ifend26: %t86 = load ptr, ptr @g_ck_ret store ptr %t86, ptr @g_ck_expect %t87 = load ptr, ptr %t0 %t88 = getelementptr inbounds %Cmp_Node, ptr %t87, i32 0, i32 4 %t89 = load ptr, ptr %t88 %t90 = call ptr @fn_ck_expr(ptr %t89) store ptr %t90, ptr %t91 %t92 = load ptr, ptr @g_ck_ret %t93 = call i32 @lp_str_eq(ptr %t92, ptr @.str17178) %t94 = icmp eq i32 %t93, 0 %t95 = zext i1 %t94 to i32 %t96 = icmp ne i32 %t95, 0 br i1 %t96, label %then27, label %ifend29 then27: %t97 = load ptr, ptr @g_ck_ret %t98 = load ptr, ptr %t91 %t99 = load ptr, ptr %t0 %t100 = getelementptr inbounds %Cmp_Node, ptr %t99, i32 0, i32 4 %t101 = load ptr, ptr %t100 call void @fn_ck_give(ptr %t97, ptr %t98, ptr %t101, ptr @.str17179) br label %ifend29 ifend29: br label %ret ifend23: %t102 = load i32, ptr %t8 %t103 = icmp eq i32 %t102, 16 %t104 = zext i1 %t103 to i32 %t105 = icmp ne i32 %t104, 0 br i1 %t105, label %then30, label %ifend32 then30: %t106 = load ptr, ptr %t0 %t107 = getelementptr inbounds %Cmp_Node, ptr %t106, i32 0, i32 4 %t108 = load ptr, ptr %t107 %t109 = call ptr @fn_ck_expr(ptr %t108) br label %ret ifend32: %t110 = load i32, ptr %t8 %t111 = icmp eq i32 %t110, 19 %t112 = zext i1 %t111 to i32 %t113 = icmp ne i32 %t112, 0 br i1 %t113, label %then33, label %ifend35 then33: %t114 = load ptr, ptr %t0 call void @fn_ck_match(ptr %t114) br label %ret ifend35: %t115 = load i32, ptr %t8 %t116 = icmp eq i32 %t115, 49 %t117 = zext i1 %t116 to i32 %t118 = icmp ne i32 %t117, 0 br i1 %t118, label %then36, label %ifend38 then36: %t119 = load ptr, ptr %t0 call void @fn_ck_emit(ptr %t119) br label %ret ifend38: %t120 = load i32, ptr %t8 %t121 = icmp eq i32 %t120, 56 %t122 = zext i1 %t121 to i32 %t123 = icmp ne i32 %t122, 0 br i1 %t123, label %then39, label %ifend41 then39: %t124 = load ptr, ptr %t0 call void @fn_ck_unsafe_here(ptr %t124) %t125 = load i32, ptr @g_ck_unsafe %t126 = add i32 %t125, 1 store i32 %t126, ptr @g_ck_unsafe %t127 = load ptr, ptr %t0 %t128 = getelementptr inbounds %Cmp_Node, ptr %t127, i32 0, i32 4 %t129 = load ptr, ptr %t128 call void @fn_ck_block(ptr %t129) %t130 = load i32, ptr @g_ck_unsafe %t131 = sub i32 %t130, 1 store i32 %t131, ptr @g_ck_unsafe br label %ret ifend41: %t132 = load i32, ptr %t8 %t133 = icmp eq i32 %t132, 24 %t134 = zext i1 %t133 to i32 %t135 = icmp ne i32 %t134, 0 br i1 %t135, label %then42, label %ifend44 then42: %t137 = load ptr, ptr %t0 %t138 = getelementptr inbounds %Cmp_Node, ptr %t137, i32 0, i32 4 %t139 = load ptr, ptr %t138 %t140 = icmp ne ptr %t139, null %t141 = zext i1 %t140 to i32 %t142 = icmp ne i32 %t141, 0 %t143 = zext i1 %t142 to i32 store i32 %t143, ptr %t136 br i1 %t142, label %sc45, label %scend46 sc45: %t144 = load ptr, ptr %t0 %t145 = getelementptr inbounds %Cmp_Node, ptr %t144, i32 0, i32 4 %t146 = load ptr, ptr %t145 %t147 = getelementptr inbounds %Cmp_Node, ptr %t146, i32 0, i32 0 %t148 = load i32, ptr %t147 %t149 = icmp eq i32 %t148, 30 %t150 = zext i1 %t149 to i32 %t151 = icmp eq i32 %t150, 0 %t152 = zext i1 %t151 to i32 %t153 = icmp ne i32 %t152, 0 %t154 = zext i1 %t153 to i32 store i32 %t154, ptr %t136 br label %scend46 scend46: %t155 = load i32, ptr %t136 %t156 = icmp ne i32 %t155, 0 br i1 %t156, label %then47, label %ifend49 then47: %t157 = load ptr, ptr %t0 %t158 = getelementptr inbounds %Cmp_Node, ptr %t157, i32 0, i32 4 %t159 = load ptr, ptr %t158 call void @fn_ck_write_check(ptr %t159, ptr @.str17180) br label %ifend49 ifend49: %t160 = load ptr, ptr %t0 call void @fn_ck_walk(ptr %t160) br label %ret ifend44: %t161 = load i32, ptr %t8 %t162 = icmp eq i32 %t161, 21 %t163 = zext i1 %t162 to i32 %t164 = icmp ne i32 %t163, 0 br i1 %t164, label %then50, label %ifend52 then50: %t165 = call i32 @fn_ck_mark() store i32 %t165, ptr %t166 store i32 0, ptr %t167 store i32 0, ptr %t168 br label %wcond53 wcond53: %t169 = load i32, ptr %t168 %t170 = load ptr, ptr %t0 %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 1 %t174 = load i32, ptr %t173 %t175 = icmp slt i32 %t169, %t174 %t176 = zext i1 %t175 to i32 %t177 = icmp ne i32 %t176, 0 br i1 %t177, label %wbody54, label %wend55 wbody54: store ptr @.str17181, ptr %t178 %t179 = load ptr, ptr %t0 %t180 = getelementptr inbounds %Cmp_Node, ptr %t179, i32 0, i32 6 %t181 = load ptr, ptr %t180 %t182 = icmp ne ptr %t181, null %t183 = zext i1 %t182 to i32 %t184 = icmp ne i32 %t183, 0 br i1 %t184, label %then56, label %ifend58 then56: br label %wcond59 wcond59: %t186 = load i32, ptr %t167 %t187 = load ptr, ptr %t0 %t188 = getelementptr inbounds %Cmp_Node, ptr %t187, i32 0, i32 6 %t189 = load ptr, ptr %t188 %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 1 %t193 = load i32, ptr %t192 %t194 = icmp slt i32 %t186, %t193 %t195 = zext i1 %t194 to i32 %t196 = icmp ne i32 %t195, 0 %t197 = zext i1 %t196 to i32 store i32 %t197, ptr %t185 br i1 %t196, label %sc62, label %scend63 sc62: %t198 = load ptr, ptr %t0 %t199 = getelementptr inbounds %Cmp_Node, ptr %t198, i32 0, i32 6 %t200 = load ptr, ptr %t199 %t201 = getelementptr inbounds %Cmp_Node, ptr %t200, i32 0, i32 7 %t202 = load ptr, ptr %t201 %t203 = load i32, ptr %t167 %t204 = getelementptr inbounds %LSlice, ptr %t202, i32 0, i32 0 %t205 = load ptr, ptr %t204 %t206 = getelementptr inbounds %LSlice, ptr %t202, i32 0, i32 1 %t207 = load i32, ptr %t206 %t208 = icmp ult i32 %t203, %t207 br i1 %t208, label %ixok64, label %ixbad65 ixbad65: store i32 9591, ptr @lp_site %t209 = call ptr @lp_win_stdio(i32 2) store i32 0, ptr @lp_site call i32 (ptr, ptr, ...) @fprintf(ptr %t209, ptr @.fmt_bounds, ptr @.str17182, i32 %t203, i32 %t207) call void @exit(i32 1) unreachable ixok64: %t210 = getelementptr inbounds ptr, ptr %t205, i32 %t203 %t211 = load ptr, ptr %t210 %t212 = getelementptr inbounds %Cmp_Node, ptr %t211, i32 0, i32 2 %t213 = load i32, ptr %t212 %t214 = icmp eq i32 %t213, 1 %t215 = zext i1 %t214 to i32 %t216 = icmp ne i32 %t215, 0 %t217 = zext i1 %t216 to i32 store i32 %t217, ptr %t185 br label %scend63 scend63: %t218 = load i32, ptr %t185 %t219 = icmp ne i32 %t218, 0 br i1 %t219, label %wbody60, label %wend61 wbody60: %t220 = load i32, ptr %t167 %t221 = add i32 %t220, 1 store i32 %t221, ptr %t167 br label %wcond59 wend61: %t222 = load i32, ptr %t167 %t223 = load ptr, ptr %t0 %t224 = getelementptr inbounds %Cmp_Node, ptr %t223, i32 0, i32 6 %t225 = load ptr, ptr %t224 %t226 = getelementptr inbounds %Cmp_Node, ptr %t225, i32 0, i32 7 %t227 = load ptr, ptr %t226 %t228 = getelementptr inbounds %LSlice, ptr %t227, i32 0, i32 1 %t229 = load i32, ptr %t228 %t230 = icmp slt i32 %t222, %t229 %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 %t234 = getelementptr inbounds %Cmp_Node, ptr %t233, i32 0, i32 6 %t235 = load ptr, ptr %t234 %t236 = getelementptr inbounds %Cmp_Node, ptr %t235, i32 0, i32 7 %t237 = load ptr, ptr %t236 %t238 = load i32, ptr %t167 %t239 = getelementptr inbounds %LSlice, ptr %t237, i32 0, i32 0 %t240 = load ptr, ptr %t239 %t241 = getelementptr inbounds %LSlice, ptr %t237, i32 0, i32 1 %t242 = load i32, ptr %t241 %t243 = icmp ult i32 %t238, %t242 br i1 %t243, label %ixok69, label %ixbad70 ixbad70: store i32 9592, ptr @lp_site %t244 = call ptr @lp_win_stdio(i32 2) store i32 0, ptr @lp_site call i32 (ptr, ptr, ...) @fprintf(ptr %t244, ptr @.fmt_bounds, ptr @.str17184, i32 %t238, i32 %t242) call void @exit(i32 1) unreachable ixok69: %t245 = getelementptr inbounds ptr, ptr %t240, i32 %t238 %t246 = load ptr, ptr %t245 %t247 = getelementptr inbounds %Cmp_Node, ptr %t246, i32 0, i32 1 %t248 = load ptr, ptr %t247 store ptr %t248, ptr %t178 br label %ifend68 ifend68: %t249 = load i32, ptr %t167 %t250 = add i32 %t249, 1 store i32 %t250, ptr %t167 br label %ifend58 ifend58: %t251 = load ptr, ptr %t0 %t252 = getelementptr inbounds %Cmp_Node, ptr %t251, i32 0, i32 7 %t253 = load ptr, ptr %t252 %t254 = load i32, ptr %t168 %t255 = getelementptr inbounds %LSlice, ptr %t253, i32 0, i32 0 %t256 = load ptr, ptr %t255 %t257 = getelementptr inbounds %LSlice, ptr %t253, i32 0, i32 1 %t258 = load i32, ptr %t257 %t259 = icmp ult i32 %t254, %t258 br i1 %t259, label %ixok71, label %ixbad72 ixbad72: store i32 9593, ptr @lp_site %t260 = call ptr @lp_win_stdio(i32 2) store i32 0, ptr @lp_site call i32 (ptr, ptr, ...) @fprintf(ptr %t260, ptr @.fmt_bounds, ptr @.str17185, i32 %t254, i32 %t258) call void @exit(i32 1) unreachable ixok71: %t261 = getelementptr inbounds ptr, ptr %t256, i32 %t254 %t262 = load ptr, ptr %t261 %t263 = getelementptr inbounds %Cmp_Node, ptr %t262, i32 0, i32 1 %t264 = load ptr, ptr %t263 %t265 = load ptr, ptr %t178 call void @fn_ck_bind(ptr %t264, ptr %t265) %t266 = load i32, ptr %t168 %t267 = add i32 %t266, 1 store i32 %t267, ptr %t168 br label %wcond53 wend55: %t268 = load ptr, ptr %t0 %t269 = getelementptr inbounds %Cmp_Node, ptr %t268, i32 0, i32 5 %t270 = load ptr, ptr %t269 call void @fn_ck_any(ptr %t270) %t271 = load ptr, ptr %t0 %t272 = getelementptr inbounds %Cmp_Node, ptr %t271, i32 0, i32 4 %t273 = load ptr, ptr %t272 call void @fn_ck_block(ptr %t273) %t274 = load i32, ptr %t166 call void @fn_ck_pop(i32 %t274) br label %ret ifend52: %t275 = load ptr, ptr %t0 call void @fn_ck_walk(ptr %t275) br label %ret ret: ret void } define void @fn_ck_param_twice(ptr %arg_d, i32 %arg_i) { entry: %t0 = alloca ptr %t1 = alloca i32 %t2 = alloca i32 %t8 = alloca i32 store ptr %arg_d, ptr %t0 store i32 %arg_i, ptr %t1 store i32 0, ptr %t2 br label %wcond0 wcond0: %t3 = load i32, ptr %t2 %t4 = load i32, ptr %t1 %t5 = icmp slt i32 %t3, %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 %t0 %t10 = getelementptr inbounds %Cmp_Node, ptr %t9, i32 0, i32 7 %t11 = load ptr, ptr %t10 %t12 = load i32, ptr %t2 %t13 = getelementptr inbounds %LSlice, ptr %t11, i32 0, i32 0 %t14 = load ptr, ptr %t13 %t15 = getelementptr inbounds %LSlice, ptr %t11, i32 0, i32 1 %t16 = load i32, ptr %t15 %t17 = icmp ult i32 %t12, %t16 br i1 %t17, label %ixok3, label %ixbad4 ixbad4: store i32 9594, ptr @lp_site %t18 = call ptr @lp_win_stdio(i32 2) store i32 0, ptr @lp_site call i32 (ptr, ptr, ...) @fprintf(ptr %t18, ptr @.fmt_bounds, ptr @.str17186, i32 %t12, i32 %t16) call void @exit(i32 1) unreachable ixok3: %t19 = getelementptr inbounds ptr, ptr %t14, i32 %t12 %t20 = load ptr, ptr %t19 %t21 = getelementptr inbounds %Cmp_Node, ptr %t20, i32 0, i32 0 %t22 = load i32, ptr %t21 %t23 = icmp eq i32 %t22, 5 %t24 = zext i1 %t23 to i32 %t25 = icmp ne i32 %t24, 0 %t26 = zext i1 %t25 to i32 store i32 %t26, ptr %t8 br i1 %t25, label %sc5, label %scend6 sc5: %t27 = load ptr, ptr %t0 %t28 = getelementptr inbounds %Cmp_Node, ptr %t27, i32 0, i32 7 %t29 = load ptr, ptr %t28 %t30 = load i32, ptr %t2 %t31 = getelementptr inbounds %LSlice, ptr %t29, i32 0, i32 0 %t32 = load ptr, ptr %t31 %t33 = getelementptr inbounds %LSlice, ptr %t29, i32 0, i32 1 %t34 = load i32, ptr %t33 %t35 = icmp ult i32 %t30, %t34 br i1 %t35, label %ixok7, label %ixbad8 ixbad8: store i32 9595, ptr @lp_site %t36 = call ptr @lp_win_stdio(i32 2) store i32 0, ptr @lp_site call i32 (ptr, ptr, ...) @fprintf(ptr %t36, ptr @.fmt_bounds, ptr @.str17188, i32 %t30, i32 %t34) call void @exit(i32 1) unreachable ixok7: %t37 = getelementptr inbounds ptr, ptr %t32, i32 %t30 %t38 = load ptr, ptr %t37 %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 7 %t43 = load ptr, ptr %t42 %t44 = load i32, ptr %t1 %t45 = getelementptr inbounds %LSlice, ptr %t43, i32 0, i32 0 %t46 = load ptr, ptr %t45 %t47 = getelementptr inbounds %LSlice, ptr %t43, i32 0, i32 1 %t48 = load i32, ptr %t47 %t49 = icmp ult i32 %t44, %t48 br i1 %t49, label %ixok9, label %ixbad10 ixbad10: store i32 9596, ptr @lp_site %t50 = call ptr @lp_win_stdio(i32 2) store i32 0, ptr @lp_site call i32 (ptr, ptr, ...) @fprintf(ptr %t50, ptr @.fmt_bounds, ptr @.str17189, i32 %t44, i32 %t48) call void @exit(i32 1) unreachable ixok9: %t51 = getelementptr inbounds ptr, ptr %t46, i32 %t44 %t52 = load ptr, ptr %t51 %t53 = getelementptr inbounds %Cmp_Node, ptr %t52, i32 0, i32 1 %t54 = load ptr, ptr %t53 %t55 = call i32 @lp_str_eq(ptr %t40, ptr %t54) %t56 = icmp ne i32 %t55, 0 %t57 = zext i1 %t56 to i32 store i32 %t57, ptr %t8 br label %scend6 scend6: %t58 = load i32, ptr %t8 %t59 = icmp ne i32 %t58, 0 br i1 %t59, label %then11, label %ifend13 then11: %t60 = load ptr, ptr %t0 %t61 = getelementptr inbounds %Cmp_Node, ptr %t60, i32 0, i32 7 %t62 = load ptr, ptr %t61 %t63 = load i32, ptr %t1 %t64 = getelementptr inbounds %LSlice, ptr %t62, i32 0, i32 0 %t65 = load ptr, ptr %t64 %t66 = getelementptr inbounds %LSlice, ptr %t62, i32 0, i32 1 %t67 = load i32, ptr %t66 %t68 = icmp ult i32 %t63, %t67 br i1 %t68, label %ixok14, label %ixbad15 ixbad15: store i32 9597, ptr @lp_site %t69 = call ptr @lp_win_stdio(i32 2) store i32 0, ptr @lp_site call i32 (ptr, ptr, ...) @fprintf(ptr %t69, ptr @.fmt_bounds, ptr @.str17191, i32 %t63, i32 %t67) call void @exit(i32 1) unreachable ixok14: %t70 = getelementptr inbounds ptr, ptr %t65, i32 %t63 %t71 = load ptr, ptr %t70 %t72 = load ptr, ptr %t0 %t73 = getelementptr inbounds %Cmp_Node, ptr %t72, i32 0, i32 1 %t74 = load ptr, ptr %t73 store i32 9598, ptr @lp_site %t75 = call ptr @lp_str_concat(ptr %t74, ptr @.str17192) store i32 0, ptr @lp_site %t76 = load ptr, ptr %t0 %t77 = getelementptr inbounds %Cmp_Node, ptr %t76, i32 0, i32 7 %t78 = load ptr, ptr %t77 %t79 = load i32, ptr %t1 %t80 = getelementptr inbounds %LSlice, ptr %t78, i32 0, i32 0 %t81 = load ptr, ptr %t80 %t82 = getelementptr inbounds %LSlice, ptr %t78, i32 0, i32 1 %t83 = load i32, ptr %t82 %t84 = icmp ult i32 %t79, %t83 br i1 %t84, label %ixok16, label %ixbad17 ixbad17: store i32 9599, ptr @lp_site %t85 = call ptr @lp_win_stdio(i32 2) store i32 0, ptr @lp_site call i32 (ptr, ptr, ...) @fprintf(ptr %t85, ptr @.fmt_bounds, ptr @.str17193, i32 %t79, i32 %t83) call void @exit(i32 1) unreachable ixok16: %t86 = getelementptr inbounds ptr, ptr %t81, i32 %t79 %t87 = load ptr, ptr %t86 %t88 = getelementptr inbounds %Cmp_Node, ptr %t87, i32 0, i32 1 %t89 = load ptr, ptr %t88 store i32 9600, ptr @lp_site %t90 = call ptr @lp_str_concat(ptr %t75, ptr %t89) store i32 0, ptr @lp_site call void @lp_free(ptr %t75) call void @fn_ck_err(ptr @.str17190, ptr %t71, ptr %t90) br label %ret ifend13: %t91 = load i32, ptr %t2 %t92 = add i32 %t91, 1 store i32 %t92, ptr %t2 br label %wcond0 wend2: br label %ret ret: ret void } define void @fn_ck_fn_body(ptr %arg_d) { entry: %t0 = alloca ptr %t3 = alloca i32 %t4 = alloca i32 store ptr %arg_d, ptr %t0 %t1 = load ptr, ptr %t0 call void @fn_mg_enter(ptr %t1, i32 0) %t2 = call i32 @fn_ck_mark() store i32 %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 = load i32, ptr %t4 %t18 = getelementptr inbounds %LSlice, ptr %t16, i32 0, i32 0 %t19 = load ptr, ptr %t18 %t20 = getelementptr inbounds %LSlice, ptr %t16, i32 0, i32 1 %t21 = load i32, ptr %t20 %t22 = icmp ult i32 %t17, %t21 br i1 %t22, label %ixok3, label %ixbad4 ixbad4: store i32 9601, ptr @lp_site %t23 = call ptr @lp_win_stdio(i32 2) store i32 0, ptr @lp_site call i32 (ptr, ptr, ...) @fprintf(ptr %t23, ptr @.fmt_bounds, ptr @.str17194, i32 %t17, i32 %t21) call void @exit(i32 1) unreachable ixok3: %t24 = getelementptr inbounds ptr, ptr %t19, i32 %t17 %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 %then5, label %ifend7 then5: %t31 = load ptr, ptr %t0 %t32 = load i32, ptr %t4 call void @fn_ck_param_twice(ptr %t31, i32 %t32) %t33 = load ptr, ptr %t0 %t34 = getelementptr inbounds %Cmp_Node, ptr %t33, i32 0, i32 7 %t35 = load ptr, ptr %t34 %t36 = load i32, ptr %t4 %t37 = getelementptr inbounds %LSlice, ptr %t35, i32 0, i32 0 %t38 = load ptr, ptr %t37 %t39 = getelementptr inbounds %LSlice, ptr %t35, i32 0, i32 1 %t40 = load i32, ptr %t39 %t41 = icmp ult i32 %t36, %t40 br i1 %t41, label %ixok8, label %ixbad9 ixbad9: store i32 9602, ptr @lp_site %t42 = call ptr @lp_win_stdio(i32 2) store i32 0, ptr @lp_site call i32 (ptr, ptr, ...) @fprintf(ptr %t42, ptr @.fmt_bounds, ptr @.str17196, i32 %t36, i32 %t40) call void @exit(i32 1) unreachable ixok8: %t43 = getelementptr inbounds ptr, ptr %t38, i32 %t36 %t44 = load ptr, ptr %t43 call void @fn_ck_bind_param(ptr %t44) br label %ifend7 ifend7: %t45 = load i32, ptr %t4 %t46 = add i32 %t45, 1 store i32 %t46, ptr %t4 br label %wcond0 wend2: %t47 = load ptr, ptr %t0 %t48 = getelementptr inbounds %Cmp_Node, ptr %t47, i32 0, i32 3 %t49 = load ptr, ptr %t48 store ptr %t49, ptr @g_ck_ret %t50 = load ptr, ptr @g_ck_ret %t51 = icmp eq ptr %t50, null %t52 = zext i1 %t51 to i32 %t53 = icmp ne i32 %t52, 0 br i1 %t53, label %then10, label %ifend12 then10: store ptr @.str17197, ptr @g_ck_ret br label %ifend12 ifend12: %t54 = load ptr, ptr %t0 %t55 = getelementptr inbounds %Cmp_Node, ptr %t54, i32 0, i32 12 %t56 = load i32, ptr %t55 %t57 = icmp eq i32 %t56, 1 %t58 = zext i1 %t57 to i32 %t59 = icmp ne i32 %t58, 0 br i1 %t59, label %then13, label %ifend15 then13: %t60 = load ptr, ptr %t0 call void @fn_ck_unsafe_here(ptr %t60) %t61 = load i32, ptr @g_ck_unsafe %t62 = add i32 %t61, 1 store i32 %t62, ptr @g_ck_unsafe br label %ifend15 ifend15: %t63 = load ptr, ptr %t0 %t64 = getelementptr inbounds %Cmp_Node, ptr %t63, i32 0, i32 4 %t65 = load ptr, ptr %t64 call void @fn_ck_block(ptr %t65) %t66 = load ptr, ptr %t0 %t67 = getelementptr inbounds %Cmp_Node, ptr %t66, i32 0, i32 12 %t68 = load i32, ptr %t67 %t69 = icmp eq i32 %t68, 1 %t70 = zext i1 %t69 to i32 %t71 = icmp ne i32 %t70, 0 br i1 %t71, label %then16, label %ifend18 then16: %t72 = load i32, ptr @g_ck_unsafe %t73 = sub i32 %t72, 1 store i32 %t73, ptr @g_ck_unsafe br label %ifend18 ifend18: store ptr @.str17198, ptr @g_ck_ret %t74 = load i32, ptr %t3 call void @fn_ck_pop(i32 %t74) call void @fn_mg_leave() br label %ret ret: ret void } define void @fn_ck_listener(ptr %arg_l) { entry: %t0 = alloca ptr %t6 = alloca ptr %t13 = alloca i32 %t18 = alloca i32 store ptr %arg_l, ptr %t0 %t1 = load ptr, ptr %t0 call void @fn_mg_enter(ptr %t1, i32 4) %t2 = load ptr, ptr %t0 %t3 = getelementptr inbounds %Cmp_Node, ptr %t2, i32 0, i32 1 %t4 = load ptr, ptr %t3 %t5 = call ptr @fn_find_event(ptr %t4) store ptr %t5, ptr %t6 %t7 = load ptr, ptr %t6 %t8 = load ptr, ptr %t0 %t9 = getelementptr inbounds %Cmp_Node, ptr %t8, i32 0, i32 1 %t10 = load ptr, ptr %t9 %t11 = load ptr, ptr %t0 call void @fn_ck_vis(ptr %t7, ptr %t10, ptr %t11) %t12 = call i32 @fn_ck_mark() store i32 %t12, ptr %t13 %t14 = load ptr, ptr %t6 %t15 = icmp ne ptr %t14, null %t16 = zext i1 %t15 to i32 %t17 = icmp ne i32 %t16, 0 br i1 %t17, label %then0, label %ifend2 then0: store i32 0, ptr %t18 br label %wcond3 wcond3: %t19 = load i32, ptr %t18 %t20 = load ptr, ptr %t6 %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 = icmp slt i32 %t19, %t24 %t26 = zext i1 %t25 to i32 %t27 = icmp ne i32 %t26, 0 br i1 %t27, label %wbody4, label %wend5 wbody4: %t28 = load ptr, ptr %t6 %t29 = getelementptr inbounds %Cmp_Node, ptr %t28, i32 0, i32 7 %t30 = load ptr, ptr %t29 %t31 = load i32, ptr %t18 %t32 = getelementptr inbounds %LSlice, ptr %t30, i32 0, i32 0 %t33 = load ptr, ptr %t32 %t34 = getelementptr inbounds %LSlice, ptr %t30, i32 0, i32 1 %t35 = load i32, ptr %t34 %t36 = icmp ult i32 %t31, %t35 br i1 %t36, label %ixok6, label %ixbad7 ixbad7: store i32 9603, ptr @lp_site %t37 = call ptr @lp_win_stdio(i32 2) store i32 0, ptr @lp_site call i32 (ptr, ptr, ...) @fprintf(ptr %t37, ptr @.fmt_bounds, ptr @.str17199, i32 %t31, i32 %t35) call void @exit(i32 1) unreachable ixok6: %t38 = getelementptr inbounds ptr, ptr %t33, i32 %t31 %t39 = load ptr, ptr %t38 %t40 = getelementptr inbounds %Cmp_Node, ptr %t39, i32 0, i32 1 %t41 = load ptr, ptr %t40 %t42 = load ptr, ptr %t6 %t43 = getelementptr inbounds %Cmp_Node, ptr %t42, i32 0, i32 7 %t44 = load ptr, ptr %t43 %t45 = load i32, ptr %t18 %t46 = getelementptr inbounds %LSlice, ptr %t44, i32 0, i32 0 %t47 = load ptr, ptr %t46 %t48 = getelementptr inbounds %LSlice, ptr %t44, i32 0, i32 1 %t49 = load i32, ptr %t48 %t50 = icmp ult i32 %t45, %t49 br i1 %t50, label %ixok8, label %ixbad9 ixbad9: store i32 9604, ptr @lp_site %t51 = call ptr @lp_win_stdio(i32 2) store i32 0, ptr @lp_site call i32 (ptr, ptr, ...) @fprintf(ptr %t51, ptr @.fmt_bounds, ptr @.str17201, i32 %t45, i32 %t49) call void @exit(i32 1) unreachable ixok8: %t52 = getelementptr inbounds ptr, ptr %t47, i32 %t45 %t53 = load ptr, ptr %t52 %t54 = getelementptr inbounds %Cmp_Node, ptr %t53, i32 0, i32 3 %t55 = load ptr, ptr %t54 call void @fn_ck_bind(ptr %t41, ptr %t55) %t56 = load i32, ptr %t18 %t57 = add i32 %t56, 1 store i32 %t57, ptr %t18 br label %wcond3 wend5: br label %ifend2 ifend2: store ptr @.str17202, ptr @g_ck_ret %t58 = load ptr, ptr %t0 %t59 = getelementptr inbounds %Cmp_Node, ptr %t58, i32 0, i32 4 %t60 = load ptr, ptr %t59 call void @fn_ck_block(ptr %t60) %t61 = load i32, ptr %t13 call void @fn_ck_pop(i32 %t61) call void @fn_mg_leave() br label %ret ret: ret void } define void @fn_ck_runtime_shadows() { entry: %t0 = alloca i32 %t16 = alloca ptr %t17 = alloca i32 %t25 = alloca i32 %t51 = alloca i32 %t69 = alloca ptr %t80 = alloca ptr %t81 = alloca i32 %t111 = alloca i32 %t112 = alloca i32 %t139 = alloca ptr %t140 = alloca i32 store i32 0, ptr %t0 br label %wcond0 wcond0: %t1 = load i32, ptr %t0 %t2 = load i32, ptr @g_g_prog_user_end %t3 = icmp slt i32 %t1, %t2 %t4 = zext i1 %t3 to i32 %t5 = icmp ne i32 %t4, 0 br i1 %t5, label %wbody1, label %wend2 wbody1: %t6 = load ptr, ptr @g_prog %t7 = load i32, ptr %t0 %t8 = getelementptr inbounds %LSlice, ptr %t6, i32 0, i32 0 %t9 = load ptr, ptr %t8 %t10 = getelementptr inbounds %LSlice, ptr %t6, i32 0, i32 1 %t11 = load i32, ptr %t10 %t12 = icmp ult i32 %t7, %t11 br i1 %t12, label %ixok3, label %ixbad4 ixbad4: store i32 9605, ptr @lp_site %t13 = call ptr @lp_win_stdio(i32 2) store i32 0, ptr @lp_site call i32 (ptr, ptr, ...) @fprintf(ptr %t13, ptr @.fmt_bounds, ptr @.str17203, i32 %t7, i32 %t11) call void @exit(i32 1) unreachable ixok3: %t14 = getelementptr inbounds ptr, ptr %t9, i32 %t7 %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, 4 %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 %sc5, label %scend6 sc5: %t26 = load ptr, ptr %t16 %t27 = getelementptr inbounds %Cmp_Node, ptr %t26, i32 0, i32 1 %t28 = load ptr, ptr %t27 %t29 = call i32 @fn_is_intrinsic(ptr %t28) %t30 = icmp ne i32 %t29, 0 %t31 = zext i1 %t30 to i32 store i32 %t31, ptr %t25 br i1 %t30, label %scend8, label %sc7 sc7: %t32 = load ptr, ptr %t16 %t33 = getelementptr inbounds %Cmp_Node, ptr %t32, i32 0, i32 1 %t34 = load ptr, ptr %t33 %t35 = call i32 @fn_is_intrinsic2(ptr %t34) %t36 = icmp ne i32 %t35, 0 %t37 = zext i1 %t36 to i32 store i32 %t37, ptr %t25 br label %scend8 scend8: %t38 = load i32, ptr %t25 %t39 = icmp ne i32 %t38, 0 %t40 = zext i1 %t39 to i32 store i32 %t40, ptr %t17 br label %scend6 scend6: %t41 = load i32, ptr %t17 %t42 = icmp ne i32 %t41, 0 br i1 %t42, label %then9, label %ifend11 then9: %t43 = load ptr, ptr %t16 %t44 = load ptr, ptr %t16 %t45 = getelementptr inbounds %Cmp_Node, ptr %t44, i32 0, i32 1 %t46 = load ptr, ptr %t45 store i32 9606, ptr @lp_site %t47 = call ptr @lp_str_concat(ptr %t46, ptr @.str17206) store i32 0, ptr @lp_site call void @fn_ck_err(ptr @.str17205, ptr %t43, ptr %t47) br label %ifend11 ifend11: %t48 = load i32, ptr %t0 %t49 = add i32 %t48, 1 store i32 %t49, ptr %t0 br label %wcond0 wend2: %t50 = load i32, ptr @g_g_prog_user_end store i32 %t50, ptr %t51 br label %wcond12 wcond12: %t52 = load i32, ptr %t51 %t53 = load ptr, ptr @g_prog %t54 = getelementptr inbounds %LSlice, ptr %t53, i32 0, i32 1 %t55 = load i32, ptr %t54 %t56 = icmp slt i32 %t52, %t55 %t57 = zext i1 %t56 to i32 %t58 = icmp ne i32 %t57, 0 br i1 %t58, label %wbody13, label %wend14 wbody13: %t59 = load ptr, ptr @g_prog %t60 = load i32, ptr %t51 %t61 = getelementptr inbounds %LSlice, ptr %t59, i32 0, i32 0 %t62 = load ptr, ptr %t61 %t63 = getelementptr inbounds %LSlice, ptr %t59, i32 0, i32 1 %t64 = load i32, ptr %t63 %t65 = icmp ult i32 %t60, %t64 br i1 %t65, label %ixok15, label %ixbad16 ixbad16: store i32 9607, ptr @lp_site %t66 = call ptr @lp_win_stdio(i32 2) store i32 0, ptr @lp_site call i32 (ptr, ptr, ...) @fprintf(ptr %t66, ptr @.fmt_bounds, ptr @.str17207, i32 %t60, i32 %t64) call void @exit(i32 1) unreachable ixok15: %t67 = getelementptr inbounds ptr, ptr %t62, i32 %t60 %t68 = load ptr, ptr %t67 store ptr %t68, ptr %t69 %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, 4 %t74 = zext i1 %t73 to i32 %t75 = icmp ne i32 %t74, 0 br i1 %t75, label %then17, label %ifend19 then17: %t76 = load ptr, ptr %t69 %t77 = getelementptr inbounds %Cmp_Node, ptr %t76, i32 0, i32 1 %t78 = load ptr, ptr %t77 %t79 = call ptr @fn_ck_fn(ptr %t78) store ptr %t79, ptr %t80 %t82 = load ptr, ptr %t80 %t83 = icmp ne ptr %t82, null %t84 = zext i1 %t83 to i32 %t85 = icmp ne i32 %t84, 0 %t86 = zext i1 %t85 to i32 store i32 %t86, ptr %t81 br i1 %t85, label %sc20, label %scend21 sc20: %t87 = load ptr, ptr %t80 %t88 = load ptr, ptr %t69 %t89 = icmp ne ptr %t87, %t88 %t90 = zext i1 %t89 to i32 %t91 = icmp ne i32 %t90, 0 %t92 = zext i1 %t91 to i32 store i32 %t92, ptr %t81 br label %scend21 scend21: %t93 = load i32, ptr %t81 %t94 = icmp ne i32 %t93, 0 br i1 %t94, label %then22, label %ifend24 then22: %t95 = load ptr, ptr %t80 %t96 = load ptr, ptr %t69 %t97 = getelementptr inbounds %Cmp_Node, ptr %t96, i32 0, i32 1 %t98 = load ptr, ptr %t97 store i32 9608, ptr @lp_site %t99 = call ptr @lp_str_concat(ptr %t98, ptr @.str17209) store i32 0, ptr @lp_site %t100 = load ptr, ptr %t69 %t101 = getelementptr inbounds %Cmp_Node, ptr %t100, i32 0, i32 9 %t102 = load ptr, ptr %t101 store i32 9609, ptr @lp_site %t103 = call ptr @lp_str_concat(ptr %t99, ptr %t102) store i32 0, ptr @lp_site call void @lp_free(ptr %t99) store i32 9610, ptr @lp_site %t104 = call ptr @lp_str_concat(ptr %t103, ptr @.str17210) store i32 0, ptr @lp_site call void @lp_free(ptr %t103) call void @fn_ck_err(ptr @.str17208, ptr %t95, ptr %t104) br label %ifend24 ifend24: br label %ifend19 ifend19: %t105 = load ptr, ptr %t69 %t106 = call ptr @fn_ck_type_kind(ptr %t105) %t107 = call i32 @lp_str_eq(ptr %t106, ptr @.str17211) %t108 = icmp eq i32 %t107, 0 %t109 = zext i1 %t108 to i32 %t110 = icmp ne i32 %t109, 0 br i1 %t110, label %then25, label %ifend27 then25: store i32 0, ptr %t111 br label %wcond28 wcond28: %t113 = load i32, ptr %t111 %t114 = load i32, ptr @g_g_prog_user_end %t115 = icmp slt i32 %t113, %t114 %t116 = zext i1 %t115 to i32 %t117 = icmp ne i32 %t116, 0 %t118 = zext i1 %t117 to i32 store i32 %t118, ptr %t112 br i1 %t117, label %sc31, label %scend32 sc31: %t119 = load i32, ptr %t111 %t120 = load ptr, ptr @g_prog %t121 = getelementptr inbounds %LSlice, ptr %t120, i32 0, i32 1 %t122 = load i32, ptr %t121 %t123 = icmp slt i32 %t119, %t122 %t124 = zext i1 %t123 to i32 %t125 = icmp ne i32 %t124, 0 %t126 = zext i1 %t125 to i32 store i32 %t126, ptr %t112 br label %scend32 scend32: %t127 = load i32, ptr %t112 %t128 = icmp ne i32 %t127, 0 br i1 %t128, label %wbody29, label %wend30 wbody29: %t129 = load ptr, ptr @g_prog %t130 = load i32, ptr %t111 %t131 = getelementptr inbounds %LSlice, ptr %t129, i32 0, i32 0 %t132 = load ptr, ptr %t131 %t133 = getelementptr inbounds %LSlice, ptr %t129, i32 0, i32 1 %t134 = load i32, ptr %t133 %t135 = icmp ult i32 %t130, %t134 br i1 %t135, label %ixok33, label %ixbad34 ixbad34: store i32 9611, ptr @lp_site %t136 = call ptr @lp_win_stdio(i32 2) store i32 0, ptr @lp_site call i32 (ptr, ptr, ...) @fprintf(ptr %t136, ptr @.fmt_bounds, ptr @.str17212, i32 %t130, i32 %t134) call void @exit(i32 1) unreachable ixok33: %t137 = getelementptr inbounds ptr, ptr %t132, i32 %t130 %t138 = load ptr, ptr %t137 store ptr %t138, ptr %t139 %t141 = load ptr, ptr %t139 %t142 = call ptr @fn_ck_type_kind(ptr %t141) %t143 = call i32 @lp_str_eq(ptr %t142, ptr @.str17213) %t144 = icmp eq i32 %t143, 0 %t145 = zext i1 %t144 to i32 %t146 = icmp ne i32 %t145, 0 %t147 = zext i1 %t146 to i32 store i32 %t147, ptr %t140 br i1 %t146, label %sc35, label %scend36 sc35: %t148 = load ptr, ptr %t139 %t149 = getelementptr inbounds %Cmp_Node, ptr %t148, i32 0, i32 1 %t150 = load ptr, ptr %t149 %t151 = load ptr, ptr %t69 %t152 = getelementptr inbounds %Cmp_Node, ptr %t151, i32 0, i32 1 %t153 = load ptr, ptr %t152 %t154 = call i32 @lp_str_eq(ptr %t150, ptr %t153) %t155 = icmp ne i32 %t154, 0 %t156 = zext i1 %t155 to i32 store i32 %t156, ptr %t140 br label %scend36 scend36: %t157 = load i32, ptr %t140 %t158 = icmp ne i32 %t157, 0 br i1 %t158, label %then37, label %ifend39 then37: %t159 = load ptr, ptr %t139 %t160 = load ptr, ptr %t69 %t161 = getelementptr inbounds %Cmp_Node, ptr %t160, i32 0, i32 1 %t162 = load ptr, ptr %t161 store i32 9612, ptr @lp_site %t163 = call ptr @lp_str_concat(ptr %t162, ptr @.str17215) store i32 0, ptr @lp_site %t164 = load ptr, ptr %t69 %t165 = call ptr @fn_ck_type_kind(ptr %t164) store i32 9613, ptr @lp_site %t166 = call ptr @lp_str_concat(ptr %t163, ptr %t165) store i32 0, ptr @lp_site call void @lp_free(ptr %t163) store i32 9614, ptr @lp_site %t167 = call ptr @lp_str_concat(ptr %t166, ptr @.str17216) store i32 0, ptr @lp_site call void @lp_free(ptr %t166) %t168 = load ptr, ptr %t69 %t169 = getelementptr inbounds %Cmp_Node, ptr %t168, i32 0, i32 9 %t170 = load ptr, ptr %t169 store i32 9615, ptr @lp_site %t171 = call ptr @lp_str_concat(ptr %t167, ptr %t170) store i32 0, ptr @lp_site call void @lp_free(ptr %t167) store i32 9616, ptr @lp_site %t172 = call ptr @lp_str_concat(ptr %t171, ptr @.str17217) store i32 0, ptr @lp_site call void @lp_free(ptr %t171) %t173 = load ptr, ptr %t139 %t174 = call ptr @fn_ck_type_kind(ptr %t173) store i32 9617, ptr @lp_site %t175 = call ptr @lp_str_concat(ptr %t172, ptr %t174) store i32 0, ptr @lp_site call void @lp_free(ptr %t172) call void @fn_ck_err(ptr @.str17214, ptr %t159, ptr %t175) br label %ifend39 ifend39: %t176 = load i32, ptr %t111 %t177 = add i32 %t176, 1 store i32 %t177, ptr %t111 br label %wcond28 wend30: br label %ifend27 ifend27: %t178 = load i32, ptr %t51 %t179 = add i32 %t178, 1 store i32 %t179, ptr %t51 br label %wcond12 wend14: br label %ret ret: ret void } define ptr @fn_ck_type_kind(ptr %arg_d) { entry: %retval = alloca ptr %t0 = alloca ptr %t7 = alloca i32 store ptr %arg_d, 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, 27 %t5 = zext i1 %t4 to i32 %t6 = icmp ne i32 %t5, 0 br i1 %t6, label %then0, label %ifend2 then0: store ptr @.str17218, ptr %retval br label %ret ifend2: %t8 = load ptr, ptr %t0 %t9 = getelementptr inbounds %Cmp_Node, ptr %t8, i32 0, i32 0 %t10 = load i32, ptr %t9 %t11 = icmp eq i32 %t10, 8 %t12 = zext i1 %t11 to i32 %t13 = icmp ne i32 %t12, 0 %t14 = zext i1 %t13 to i32 store i32 %t14, ptr %t7 br i1 %t13, label %sc3, label %scend4 sc3: %t15 = load ptr, ptr %t0 %t16 = getelementptr inbounds %Cmp_Node, ptr %t15, i32 0, i32 12 %t17 = load i32, ptr %t16 %t18 = icmp eq i32 %t17, 2 %t19 = zext i1 %t18 to i32 %t20 = icmp ne i32 %t19, 0 %t21 = zext i1 %t20 to i32 store i32 %t21, ptr %t7 br label %scend4 scend4: %t22 = load i32, ptr %t7 %t23 = icmp ne i32 %t22, 0 br i1 %t23, label %then5, label %ifend7 then5: store ptr @.str17219, ptr %retval br label %ret ifend7: %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, 8 %t28 = zext i1 %t27 to i32 %t29 = icmp ne i32 %t28, 0 br i1 %t29, label %then8, label %ifend10 then8: store ptr @.str17220, ptr %retval br label %ret ifend10: %t30 = load ptr, ptr %t0 %t31 = getelementptr inbounds %Cmp_Node, ptr %t30, i32 0, i32 0 %t32 = load i32, ptr %t31 %t33 = icmp eq i32 %t32, 0 %t34 = zext i1 %t33 to i32 %t35 = icmp ne i32 %t34, 0 br i1 %t35, label %then11, label %ifend13 then11: store ptr @.str17221, ptr %retval br label %ret ifend13: %t36 = load ptr, ptr %t0 %t37 = getelementptr inbounds %Cmp_Node, ptr %t36, i32 0, i32 0 %t38 = load i32, ptr %t37 %t39 = icmp eq i32 %t38, 48 %t40 = zext i1 %t39 to i32 %t41 = icmp ne i32 %t40, 0 br i1 %t41, label %then14, label %ifend16 then14: store ptr @.str17222, ptr %retval br label %ret ifend16: store ptr @.str17223, ptr %retval br label %ret ret: %t42 = load ptr, ptr %retval ret ptr %t42 } define void @fn_ck_hooks(ptr %arg_hs) { entry: %t0 = alloca ptr %t1 = alloca i32 store ptr %arg_hs, ptr %t0 store i32 0, ptr %t1 br label %wcond0 wcond0: %t2 = load i32, ptr %t1 %t3 = load ptr, ptr %t0 %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 %t0 %t10 = load i32, ptr %t1 %t11 = getelementptr inbounds %LSlice, ptr %t9, i32 0, i32 0 %t12 = load ptr, ptr %t11 %t13 = getelementptr inbounds %LSlice, ptr %t9, i32 0, i32 1 %t14 = load i32, ptr %t13 %t15 = icmp ult i32 %t10, %t14 br i1 %t15, label %ixok3, label %ixbad4 ixbad4: store i32 9618, ptr @lp_site %t16 = call ptr @lp_win_stdio(i32 2) store i32 0, ptr @lp_site call i32 (ptr, ptr, ...) @fprintf(ptr %t16, ptr @.fmt_bounds, ptr @.str17224, i32 %t10, i32 %t14) call void @exit(i32 1) unreachable ixok3: %t17 = getelementptr inbounds ptr, ptr %t12, i32 %t10 %t18 = load ptr, ptr %t17 call void @fn_mg_enter(ptr %t18, i32 4) %t19 = load ptr, ptr %t0 %t20 = load i32, ptr %t1 %t21 = getelementptr inbounds %LSlice, ptr %t19, i32 0, i32 0 %t22 = load ptr, ptr %t21 %t23 = getelementptr inbounds %LSlice, ptr %t19, i32 0, i32 1 %t24 = load i32, ptr %t23 %t25 = icmp ult i32 %t20, %t24 br i1 %t25, label %ixok5, label %ixbad6 ixbad6: store i32 9619, ptr @lp_site %t26 = call ptr @lp_win_stdio(i32 2) store i32 0, ptr @lp_site call i32 (ptr, ptr, ...) @fprintf(ptr %t26, ptr @.fmt_bounds, ptr @.str17226, i32 %t20, i32 %t24) call void @exit(i32 1) unreachable ixok5: %t27 = getelementptr inbounds ptr, ptr %t22, i32 %t20 %t28 = load ptr, ptr %t27 %t29 = getelementptr inbounds %Cmp_Node, ptr %t28, i32 0, i32 4 %t30 = load ptr, ptr %t29 call void @fn_ck_block(ptr %t30) call void @fn_mg_leave() %t31 = load i32, ptr %t1 %t32 = add i32 %t31, 1 store i32 %t32, ptr %t1 br label %wcond0 wend2: br label %ret ret: ret void } define void @fn_ck_scene_block(ptr %arg_b) { entry: %t0 = alloca ptr store ptr %arg_b, 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: br label %ret ifend2: %t5 = load ptr, ptr %t0 call void @fn_mg_enter(ptr %t5, i32 5) %t6 = load ptr, ptr %t0 call void @fn_ck_block(ptr %t6) call void @fn_mg_leave() br label %ret ret: ret void } define void @fn_ck_widget(ptr %arg_w) { entry: %t0 = alloca ptr %t5 = alloca i32 %t6 = alloca i32 store ptr %arg_w, 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: br label %ret ifend2: store i32 0, ptr %t5 br label %wcond3 wcond3: %t7 = load ptr, ptr %t0 %t8 = getelementptr inbounds %Cmp_Node, ptr %t7, i32 0, i32 5 %t9 = load ptr, ptr %t8 %t10 = icmp ne ptr %t9, null %t11 = zext i1 %t10 to i32 %t12 = icmp ne i32 %t11, 0 %t13 = zext i1 %t12 to i32 store i32 %t13, ptr %t6 br i1 %t12, label %sc6, label %scend7 sc6: %t14 = load i32, ptr %t5 %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 1 %t21 = load i32, ptr %t20 %t22 = icmp slt i32 %t14, %t21 %t23 = zext i1 %t22 to i32 %t24 = icmp ne i32 %t23, 0 %t25 = zext i1 %t24 to i32 store i32 %t25, ptr %t6 br label %scend7 scend7: %t26 = load i32, ptr %t6 %t27 = icmp ne i32 %t26, 0 br i1 %t27, label %wbody4, label %wend5 wbody4: %t28 = load ptr, ptr %t0 %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 = load i32, ptr %t5 %t34 = getelementptr inbounds %LSlice, ptr %t32, i32 0, i32 0 %t35 = load ptr, ptr %t34 %t36 = getelementptr inbounds %LSlice, ptr %t32, i32 0, i32 1 %t37 = load i32, ptr %t36 %t38 = icmp ult i32 %t33, %t37 br i1 %t38, label %ixok8, label %ixbad9 ixbad9: store i32 9620, ptr @lp_site %t39 = call ptr @lp_win_stdio(i32 2) store i32 0, ptr @lp_site call i32 (ptr, ptr, ...) @fprintf(ptr %t39, ptr @.fmt_bounds, ptr @.str17227, i32 %t33, i32 %t37) call void @exit(i32 1) unreachable ixok8: %t40 = getelementptr inbounds ptr, ptr %t35, i32 %t33 %t41 = load ptr, ptr %t40 %t42 = getelementptr inbounds %Cmp_Node, ptr %t41, i32 0, i32 4 %t43 = load ptr, ptr %t42 %t44 = call ptr @fn_ck_expr(ptr %t43) %t45 = load i32, ptr %t5 %t46 = add i32 %t45, 1 store i32 %t46, ptr %t5 br label %wcond3 wend5: store i32 0, ptr %t5 br label %wcond10 wcond10: %t47 = load i32, ptr %t5 %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 %wbody11, label %wend12 wbody11: %t56 = load ptr, ptr %t0 %t57 = getelementptr inbounds %Cmp_Node, ptr %t56, i32 0, i32 7 %t58 = load ptr, ptr %t57 %t59 = load i32, ptr %t5 %t60 = getelementptr inbounds %LSlice, ptr %t58, i32 0, i32 0 %t61 = load ptr, ptr %t60 %t62 = getelementptr inbounds %LSlice, ptr %t58, i32 0, i32 1 %t63 = load i32, ptr %t62 %t64 = icmp ult i32 %t59, %t63 br i1 %t64, label %ixok13, label %ixbad14 ixbad14: store i32 9621, ptr @lp_site %t65 = call ptr @lp_win_stdio(i32 2) store i32 0, ptr @lp_site call i32 (ptr, ptr, ...) @fprintf(ptr %t65, ptr @.fmt_bounds, ptr @.str17229, i32 %t59, i32 %t63) call void @exit(i32 1) unreachable ixok13: %t66 = getelementptr inbounds ptr, ptr %t61, i32 %t59 %t67 = load ptr, ptr %t66 call void @fn_ck_widget(ptr %t67) %t68 = load i32, ptr %t5 %t69 = add i32 %t68, 1 store i32 %t69, ptr %t5 br label %wcond10 wend12: br label %ret ret: ret void } define void @fn_check_program() { entry: %t0 = alloca i32 %t18 = alloca ptr %t26 = alloca i32 %t47 = alloca i32 %t48 = alloca i32 %t76 = alloca i32 %t93 = alloca i32 %t94 = alloca i32 %t124 = alloca i32 %t152 = alloca i32 %t244 = alloca i32 %t245 = alloca i32 %t271 = alloca ptr call void @fn_gen_collect() call void @fn_ck_index() call void @fn_ck_runtime_shadows() call void @fn_ck_tynames() 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 = load i32, ptr %t0 %t10 = getelementptr inbounds %LSlice, ptr %t8, i32 0, i32 0 %t11 = load ptr, ptr %t10 %t12 = getelementptr inbounds %LSlice, ptr %t8, i32 0, i32 1 %t13 = load i32, ptr %t12 %t14 = icmp ult i32 %t9, %t13 br i1 %t14, label %ixok3, label %ixbad4 ixbad4: store i32 9622, ptr @lp_site %t15 = call ptr @lp_win_stdio(i32 2) store i32 0, ptr @lp_site call i32 (ptr, ptr, ...) @fprintf(ptr %t15, ptr @.fmt_bounds, ptr @.str17230, i32 %t9, i32 %t13) call void @exit(i32 1) unreachable ixok3: %t16 = getelementptr inbounds ptr, ptr %t11, i32 %t9 %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, 4 %t23 = zext i1 %t22 to i32 %t24 = icmp ne i32 %t23, 0 br i1 %t24, label %then5, label %ifend7 then5: %t25 = load ptr, ptr %t18 call void @fn_ck_fn_body(ptr %t25) br label %ifend7 ifend7: %t27 = load ptr, ptr %t18 %t28 = getelementptr inbounds %Cmp_Node, 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 %t26 br i1 %t32, label %scend9, label %sc8 sc8: %t34 = load ptr, ptr %t18 %t35 = getelementptr inbounds %Cmp_Node, ptr %t34, i32 0, i32 0 %t36 = load i32, ptr %t35 %t37 = icmp eq i32 %t36, 51 %t38 = zext i1 %t37 to i32 %t39 = icmp ne i32 %t38, 0 %t40 = zext i1 %t39 to i32 store i32 %t40, ptr %t26 br label %scend9 scend9: %t41 = load i32, ptr %t26 %t42 = icmp ne i32 %t41, 0 br i1 %t42, label %then10, label %ifend12 then10: %t43 = load ptr, ptr %t18 call void @fn_mg_enter(ptr %t43, i32 1) %t44 = load ptr, ptr %t18 %t45 = getelementptr inbounds %Cmp_Node, ptr %t44, i32 0, i32 4 %t46 = load ptr, ptr %t45 call void @fn_ck_block(ptr %t46) call void @fn_mg_leave() br label %ifend12 ifend12: %t49 = load ptr, ptr %t18 %t50 = getelementptr inbounds %Cmp_Node, ptr %t49, i32 0, i32 0 %t51 = load i32, ptr %t50 %t52 = icmp eq i32 %t51, 12 %t53 = zext i1 %t52 to i32 %t54 = icmp ne i32 %t53, 0 %t55 = zext i1 %t54 to i32 store i32 %t55, ptr %t48 br i1 %t54, label %sc13, label %scend14 sc13: %t56 = load ptr, ptr %t18 %t57 = getelementptr inbounds %Cmp_Node, ptr %t56, i32 0, i32 2 %t58 = load i32, ptr %t57 %t59 = icmp eq i32 %t58, 1 %t60 = zext i1 %t59 to i32 %t61 = icmp ne i32 %t60, 0 %t62 = zext i1 %t61 to i32 store i32 %t62, ptr %t48 br label %scend14 scend14: %t63 = load i32, ptr %t48 %t64 = icmp ne i32 %t63, 0 %t65 = zext i1 %t64 to i32 store i32 %t65, ptr %t47 br i1 %t64, label %sc15, label %scend16 sc15: %t66 = load i32, ptr @g_g_migrate %t67 = icmp ne i32 %t66, 0 %t68 = zext i1 %t67 to i32 store i32 %t68, ptr %t47 br label %scend16 scend16: %t69 = load i32, ptr %t47 %t70 = icmp ne i32 %t69, 0 br i1 %t70, label %then17, label %ifend19 then17: %t71 = sub i32 0, 3 store i32 %t71, ptr @g_g_mg_cur %t72 = load ptr, ptr %t18 %t73 = getelementptr inbounds %Cmp_Node, ptr %t72, i32 0, i32 4 %t74 = load ptr, ptr %t73 call void @fn_ck_widget(ptr %t74) %t75 = sub i32 0, 1 store i32 %t75, ptr @g_g_mg_cur br label %ifend19 ifend19: %t77 = load ptr, ptr %t18 %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 %t83 = zext i1 %t82 to i32 store i32 %t83, ptr %t76 br i1 %t82, label %sc20, label %scend21 sc20: %t84 = load i32, ptr @g_g_migrate %t85 = icmp ne i32 %t84, 0 %t86 = zext i1 %t85 to i32 store i32 %t86, ptr %t76 br label %scend21 scend21: %t87 = load i32, ptr %t76 %t88 = icmp ne i32 %t87, 0 br i1 %t88, label %then22, label %ifend24 then22: %t89 = load ptr, ptr %t18 call void @fn_mg_enter(ptr %t89, i32 2) %t90 = load ptr, ptr %t18 %t91 = getelementptr inbounds %Cmp_Node, ptr %t90, i32 0, i32 4 %t92 = load ptr, ptr %t91 call void @fn_ck_block(ptr %t92) call void @fn_mg_leave() br label %ifend24 ifend24: %t95 = load ptr, ptr %t18 %t96 = getelementptr inbounds %Cmp_Node, ptr %t95, i32 0, i32 0 %t97 = load i32, ptr %t96 %t98 = icmp eq i32 %t97, 2 %t99 = zext i1 %t98 to i32 %t100 = icmp ne i32 %t99, 0 %t101 = zext i1 %t100 to i32 store i32 %t101, ptr %t94 br i1 %t100, label %scend26, label %sc25 sc25: %t102 = load ptr, ptr %t18 %t103 = getelementptr inbounds %Cmp_Node, ptr %t102, i32 0, i32 0 %t104 = load i32, ptr %t103 %t105 = icmp eq i32 %t104, 3 %t106 = zext i1 %t105 to i32 %t107 = icmp ne i32 %t106, 0 %t108 = zext i1 %t107 to i32 store i32 %t108, ptr %t94 br label %scend26 scend26: %t109 = load i32, ptr %t94 %t110 = icmp ne i32 %t109, 0 %t111 = zext i1 %t110 to i32 store i32 %t111, ptr %t93 br i1 %t110, label %sc27, label %scend28 sc27: %t112 = load ptr, ptr %t18 %t113 = getelementptr inbounds %Cmp_Node, ptr %t112, i32 0, i32 4 %t114 = load ptr, ptr %t113 %t115 = icmp ne ptr %t114, null %t116 = zext i1 %t115 to i32 %t117 = icmp ne i32 %t116, 0 %t118 = zext i1 %t117 to i32 store i32 %t118, ptr %t93 br label %scend28 scend28: %t119 = load i32, ptr %t93 %t120 = icmp ne i32 %t119, 0 br i1 %t120, label %then29, label %ifend31 then29: %t121 = load ptr, ptr %t18 %t122 = getelementptr inbounds %Cmp_Node, ptr %t121, i32 0, i32 9 %t123 = load ptr, ptr %t122 store ptr %t123, ptr @g_ck_vis_file %t125 = load ptr, ptr %t18 %t126 = getelementptr inbounds %Cmp_Node, ptr %t125, i32 0, i32 0 %t127 = load i32, ptr %t126 %t128 = icmp eq i32 %t127, 2 %t129 = zext i1 %t128 to i32 %t130 = icmp ne i32 %t129, 0 %t131 = zext i1 %t130 to i32 store i32 %t131, ptr %t124 br i1 %t130, label %sc32, label %scend33 sc32: %t132 = load ptr, ptr %t18 %t133 = call i32 @fn_is_port_var(ptr %t132) %t134 = icmp ne i32 %t133, 0 %t135 = zext i1 %t134 to i32 store i32 %t135, ptr %t124 br label %scend33 scend33: %t136 = load i32, ptr %t124 store i32 %t136, ptr @g_ck_vis_skip %t137 = load ptr, ptr %t18 %t138 = getelementptr inbounds %Cmp_Node, ptr %t137, i32 0, i32 3 %t139 = load ptr, ptr %t138 %t140 = load ptr, ptr %t18 %t141 = getelementptr inbounds %Cmp_Node, ptr %t140, i32 0, i32 4 %t142 = load ptr, ptr %t141 %t143 = call ptr @fn_ck_expr(ptr %t142) %t144 = load ptr, ptr %t18 %t145 = getelementptr inbounds %Cmp_Node, ptr %t144, i32 0, i32 4 %t146 = load ptr, ptr %t145 %t147 = load ptr, ptr %t18 %t148 = getelementptr inbounds %Cmp_Node, ptr %t147, i32 0, i32 1 %t149 = load ptr, ptr %t148 call void @fn_ck_give(ptr %t139, ptr %t143, ptr %t146, ptr %t149) store ptr null, ptr @g_ck_vis_file store i32 0, ptr @g_ck_vis_skip br label %ifend31 ifend31: %t150 = load i32, ptr %t0 %t151 = add i32 %t150, 1 store i32 %t151, ptr %t0 br label %wcond0 wend2: store i32 0, ptr %t152 br label %wcond34 wcond34: %t153 = load i32, ptr %t152 %t154 = load ptr, ptr @g_g_onlisten %t155 = getelementptr inbounds %LSlice, ptr %t154, i32 0, i32 1 %t156 = load i32, ptr %t155 %t157 = icmp slt i32 %t153, %t156 %t158 = zext i1 %t157 to i32 %t159 = icmp ne i32 %t158, 0 br i1 %t159, label %wbody35, label %wend36 wbody35: %t160 = load ptr, ptr @g_g_onlisten %t161 = load i32, ptr %t152 %t162 = getelementptr inbounds %LSlice, ptr %t160, i32 0, i32 0 %t163 = load ptr, ptr %t162 %t164 = getelementptr inbounds %LSlice, ptr %t160, i32 0, i32 1 %t165 = load i32, ptr %t164 %t166 = icmp ult i32 %t161, %t165 br i1 %t166, label %ixok37, label %ixbad38 ixbad38: store i32 9623, ptr @lp_site %t167 = call ptr @lp_win_stdio(i32 2) store i32 0, ptr @lp_site call i32 (ptr, ptr, ...) @fprintf(ptr %t167, ptr @.fmt_bounds, ptr @.str17232, i32 %t161, i32 %t165) call void @exit(i32 1) unreachable ixok37: %t168 = getelementptr inbounds ptr, ptr %t163, i32 %t161 %t169 = load ptr, ptr %t168 call void @fn_ck_listener(ptr %t169) %t170 = load i32, ptr %t152 %t171 = add i32 %t170, 1 store i32 %t171, ptr %t152 br label %wcond34 wend36: %t172 = load i32, ptr @g_g_migrate %t173 = icmp ne i32 %t172, 0 br i1 %t173, label %then39, label %ifend41 then39: %t174 = load ptr, ptr @g_g_onspawn call void @fn_ck_hooks(ptr %t174) %t175 = load ptr, ptr @g_g_ondespawn call void @fn_ck_hooks(ptr %t175) %t176 = load ptr, ptr @g_g_onattach call void @fn_ck_hooks(ptr %t176) %t177 = load ptr, ptr @g_g_ondetach call void @fn_ck_hooks(ptr %t177) %t178 = load ptr, ptr @g_g_onenable call void @fn_ck_hooks(ptr %t178) %t179 = load ptr, ptr @g_g_ondisable call void @fn_ck_hooks(ptr %t179) store i32 0, ptr %t152 br label %wcond42 wcond42: %t180 = load i32, ptr %t152 %t181 = load ptr, ptr @g_g_scenes %t182 = getelementptr inbounds %LSlice, ptr %t181, i32 0, i32 1 %t183 = load i32, ptr %t182 %t184 = icmp slt i32 %t180, %t183 %t185 = zext i1 %t184 to i32 %t186 = icmp ne i32 %t185, 0 br i1 %t186, label %wbody43, label %wend44 wbody43: %t187 = load ptr, ptr @g_g_scenes %t188 = load i32, ptr %t152 %t189 = getelementptr inbounds %LSlice, ptr %t187, i32 0, i32 0 %t190 = load ptr, ptr %t189 %t191 = getelementptr inbounds %LSlice, ptr %t187, i32 0, i32 1 %t192 = load i32, ptr %t191 %t193 = icmp ult i32 %t188, %t192 br i1 %t193, label %ixok45, label %ixbad46 ixbad46: store i32 9624, ptr @lp_site %t194 = call ptr @lp_win_stdio(i32 2) store i32 0, ptr @lp_site call i32 (ptr, ptr, ...) @fprintf(ptr %t194, ptr @.fmt_bounds, ptr @.str17233, i32 %t188, i32 %t192) call void @exit(i32 1) unreachable ixok45: %t195 = getelementptr inbounds ptr, ptr %t190, i32 %t188 %t196 = load ptr, ptr %t195 %t197 = getelementptr inbounds %Cmp_Node, ptr %t196, i32 0, i32 4 %t198 = load ptr, ptr %t197 call void @fn_ck_scene_block(ptr %t198) %t199 = load ptr, ptr @g_g_scenes %t200 = load i32, ptr %t152 %t201 = getelementptr inbounds %LSlice, ptr %t199, i32 0, i32 0 %t202 = load ptr, ptr %t201 %t203 = getelementptr inbounds %LSlice, ptr %t199, i32 0, i32 1 %t204 = load i32, ptr %t203 %t205 = icmp ult i32 %t200, %t204 br i1 %t205, label %ixok47, label %ixbad48 ixbad48: store i32 9625, ptr @lp_site %t206 = call ptr @lp_win_stdio(i32 2) store i32 0, ptr @lp_site call i32 (ptr, ptr, ...) @fprintf(ptr %t206, ptr @.fmt_bounds, ptr @.str17234, i32 %t200, i32 %t204) call void @exit(i32 1) unreachable ixok47: %t207 = getelementptr inbounds ptr, ptr %t202, i32 %t200 %t208 = load ptr, ptr %t207 %t209 = getelementptr inbounds %Cmp_Node, ptr %t208, i32 0, i32 5 %t210 = load ptr, ptr %t209 call void @fn_ck_scene_block(ptr %t210) %t211 = load i32, ptr %t152 %t212 = add i32 %t211, 1 store i32 %t212, ptr %t152 br label %wcond42 wend44: br label %ifend41 ifend41: store i32 0, ptr %t152 br label %wcond49 wcond49: %t213 = load i32, ptr %t152 %t214 = load ptr, ptr @g_g_tests %t215 = getelementptr inbounds %LSlice, ptr %t214, i32 0, i32 1 %t216 = load i32, ptr %t215 %t217 = icmp slt i32 %t213, %t216 %t218 = zext i1 %t217 to i32 %t219 = icmp ne i32 %t218, 0 br i1 %t219, label %wbody50, label %wend51 wbody50: %t220 = load ptr, ptr @g_g_tests %t221 = load i32, ptr %t152 %t222 = getelementptr inbounds %LSlice, ptr %t220, i32 0, i32 0 %t223 = load ptr, ptr %t222 %t224 = getelementptr inbounds %LSlice, ptr %t220, i32 0, i32 1 %t225 = load i32, ptr %t224 %t226 = icmp ult i32 %t221, %t225 br i1 %t226, label %ixok52, label %ixbad53 ixbad53: store i32 9626, ptr @lp_site %t227 = call ptr @lp_win_stdio(i32 2) store i32 0, ptr @lp_site call i32 (ptr, ptr, ...) @fprintf(ptr %t227, ptr @.fmt_bounds, ptr @.str17235, i32 %t221, i32 %t225) call void @exit(i32 1) unreachable ixok52: %t228 = getelementptr inbounds ptr, ptr %t223, i32 %t221 %t229 = load ptr, ptr %t228 call void @fn_mg_enter(ptr %t229, i32 3) %t230 = load ptr, ptr @g_g_tests %t231 = load i32, ptr %t152 %t232 = getelementptr inbounds %LSlice, ptr %t230, i32 0, i32 0 %t233 = load ptr, ptr %t232 %t234 = getelementptr inbounds %LSlice, ptr %t230, i32 0, i32 1 %t235 = load i32, ptr %t234 %t236 = icmp ult i32 %t231, %t235 br i1 %t236, label %ixok54, label %ixbad55 ixbad55: store i32 9627, ptr @lp_site %t237 = call ptr @lp_win_stdio(i32 2) store i32 0, ptr @lp_site call i32 (ptr, ptr, ...) @fprintf(ptr %t237, ptr @.fmt_bounds, ptr @.str17236, i32 %t231, i32 %t235) call void @exit(i32 1) unreachable ixok54: %t238 = getelementptr inbounds ptr, ptr %t233, i32 %t231 %t239 = load ptr, ptr %t238 %t240 = getelementptr inbounds %Cmp_Node, ptr %t239, i32 0, i32 4 %t241 = load ptr, ptr %t240 call void @fn_ck_block(ptr %t241) call void @fn_mg_leave() %t242 = load i32, ptr %t152 %t243 = add i32 %t242, 1 store i32 %t243, ptr %t152 br label %wcond49 wend51: call void @fn_gen_finish() %t246 = load i32, ptr @g_ck_errors %t247 = icmp sgt i32 %t246, 0 %t248 = zext i1 %t247 to i32 %t249 = icmp ne i32 %t248, 0 %t250 = zext i1 %t249 to i32 store i32 %t250, ptr %t245 br i1 %t249, label %sc56, label %scend57 sc56: %t251 = call i32 @fn_ck_reporting() %t252 = icmp eq i32 %t251, 0 %t253 = zext i1 %t252 to i32 %t254 = icmp ne i32 %t253, 0 %t255 = zext i1 %t254 to i32 store i32 %t255, ptr %t245 br label %scend57 scend57: %t256 = load i32, ptr %t245 %t257 = icmp ne i32 %t256, 0 %t258 = zext i1 %t257 to i32 store i32 %t258, ptr %t244 br i1 %t257, label %sc58, label %scend59 sc58: %t259 = load i32, ptr @g_g_migrate %t260 = icmp eq i32 %t259, 0 %t261 = zext i1 %t260 to i32 %t262 = icmp ne i32 %t261, 0 %t263 = zext i1 %t262 to i32 store i32 %t263, ptr %t244 br label %scend59 scend59: %t264 = load i32, ptr %t244 %t265 = icmp ne i32 %t264, 0 br i1 %t265, label %then60, label %ifend62 then60: %t266 = load i32, ptr @g_g_diag_json %t267 = icmp ne i32 %t266, 0 br i1 %t267, label %then63, label %ifend65 then63: call void @fn_diag_exit(i32 1) br label %ifend65 ifend65: %t268 = load i32, ptr @g_ck_errors %t269 = call ptr @fn_itoa(i32 %t268) store i32 9628, ptr @lp_site %t270 = call ptr @lp_str_concat(ptr %t269, ptr @.str17237) store i32 0, ptr @lp_site store ptr %t270, ptr %t271 store i32 9629, ptr @lp_site %t272 = call ptr @lp_win_stdio(i32 2) store i32 0, ptr @lp_site %t273 = load ptr, ptr %t271 %t274 = load ptr, ptr %t271 %t275 = call i64 @strlen(ptr %t274) %t276 = trunc i64 %t275 to i32 %t277 = zext i32 %t276 to i64 %t278 = call i64 @fwrite(ptr %t273, i64 1, i64 %t277, ptr %t272) %t279 = trunc i64 %t278 to i32 call void @exit(i32 1) unreachable ifend62: br label %ret ret: ret void } define ptr @fn_gen_template(ptr %arg_list, ptr %arg_name) { entry: %retval = alloca ptr %t0 = alloca ptr %t1 = alloca ptr %t2 = alloca i32 store ptr %arg_list, ptr %t0 store ptr %arg_name, 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 = load i32, ptr %t2 %t12 = getelementptr inbounds %LSlice, ptr %t10, i32 0, i32 0 %t13 = load ptr, ptr %t12 %t14 = getelementptr inbounds %LSlice, ptr %t10, i32 0, i32 1 %t15 = load i32, ptr %t14 %t16 = icmp ult i32 %t11, %t15 br i1 %t16, label %ixok3, label %ixbad4 ixbad4: store i32 9630, ptr @lp_site %t17 = call ptr @lp_win_stdio(i32 2) store i32 0, ptr @lp_site call i32 (ptr, ptr, ...) @fprintf(ptr %t17, ptr @.fmt_bounds, ptr @.str17238, i32 %t11, i32 %t15) call void @exit(i32 1) unreachable ixok3: %t18 = getelementptr inbounds ptr, ptr %t13, i32 %t11 %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 %then5, label %ifend7 then5: %t25 = load ptr, ptr %t0 %t26 = load i32, ptr %t2 %t27 = getelementptr inbounds %LSlice, ptr %t25, i32 0, i32 0 %t28 = load ptr, ptr %t27 %t29 = getelementptr inbounds %LSlice, ptr %t25, i32 0, i32 1 %t30 = load i32, ptr %t29 %t31 = icmp ult i32 %t26, %t30 br i1 %t31, label %ixok8, label %ixbad9 ixbad9: store i32 9631, ptr @lp_site %t32 = call ptr @lp_win_stdio(i32 2) store i32 0, ptr @lp_site call i32 (ptr, ptr, ...) @fprintf(ptr %t32, ptr @.fmt_bounds, ptr @.str17240, i32 %t26, i32 %t30) call void @exit(i32 1) unreachable ixok8: %t33 = getelementptr inbounds ptr, ptr %t28, i32 %t26 %t34 = load ptr, ptr %t33 store ptr %t34, ptr %retval br label %ret ifend7: %t35 = load i32, ptr %t2 %t36 = add i32 %t35, 1 store i32 %t36, ptr %t2 br label %wcond0 wend2: store ptr null, ptr %retval br label %ret ret: %t37 = load ptr, ptr %retval ret ptr %t37 } define void @fn_gen_collect() { entry: %t6 = alloca ptr %t7 = alloca i32 %t8 = alloca i32 %t26 = alloca ptr %t27 = alloca i32 %t28 = alloca i32 %t0 = getelementptr %LSlice, ptr null, i32 1 %t1 = ptrtoint ptr %t0 to i64 store i32 9632, ptr @lp_site %t2 = call ptr @lp_malloc(i64 %t1) store i32 0, ptr @lp_site %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 store i32 0, ptr %t7 store i32 0, ptr %t8 br label %wcond0 wcond0: %t9 = load i32, ptr %t8 %t10 = load ptr, ptr @g_prog %t11 = getelementptr inbounds %LSlice, ptr %t10, i32 0, i32 1 %t12 = load i32, ptr %t11 %t13 = icmp slt i32 %t9, %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 @g_prog %t17 = load i32, ptr %t8 %t18 = getelementptr inbounds %LSlice, ptr %t16, i32 0, i32 0 %t19 = load ptr, ptr %t18 %t20 = getelementptr inbounds %LSlice, ptr %t16, i32 0, i32 1 %t21 = load i32, ptr %t20 %t22 = icmp ult i32 %t17, %t21 br i1 %t22, label %ixok3, label %ixbad4 ixbad4: store i32 9633, ptr @lp_site %t23 = call ptr @lp_win_stdio(i32 2) store i32 0, ptr @lp_site call i32 (ptr, ptr, ...) @fprintf(ptr %t23, ptr @.fmt_bounds, ptr @.str17242, i32 %t17, i32 %t21) call void @exit(i32 1) unreachable ixok3: %t24 = getelementptr inbounds ptr, ptr %t19, i32 %t17 %t25 = load ptr, ptr %t24 store ptr %t25, ptr %t26 %t29 = load ptr, ptr %t26 %t30 = getelementptr inbounds %Cmp_Node, ptr %t29, i32 0, i32 0 %t31 = load i32, ptr %t30 %t32 = icmp eq i32 %t31, 8 %t33 = zext i1 %t32 to i32 %t34 = icmp ne i32 %t33, 0 %t35 = zext i1 %t34 to i32 store i32 %t35, ptr %t28 br i1 %t34, label %scend6, label %sc5 sc5: %t36 = load ptr, ptr %t26 %t37 = getelementptr inbounds %Cmp_Node, ptr %t36, i32 0, i32 0 %t38 = load i32, ptr %t37 %t39 = icmp eq i32 %t38, 4 %t40 = zext i1 %t39 to i32 %t41 = icmp ne i32 %t40, 0 %t42 = zext i1 %t41 to i32 store i32 %t42, ptr %t28 br label %scend6 scend6: %t43 = load i32, ptr %t28 %t44 = icmp ne i32 %t43, 0 %t45 = zext i1 %t44 to i32 store i32 %t45, ptr %t27 br i1 %t44, label %sc7, label %scend8 sc7: %t46 = load ptr, ptr %t26 %t47 = getelementptr inbounds %Cmp_Node, ptr %t46, i32 0, i32 11 %t48 = load ptr, ptr %t47 %t49 = icmp ne ptr %t48, null %t50 = zext i1 %t49 to i32 %t51 = icmp ne i32 %t50, 0 %t52 = zext i1 %t51 to i32 store i32 %t52, ptr %t27 br label %scend8 scend8: %t53 = load i32, ptr %t27 %t54 = icmp ne i32 %t53, 0 br i1 %t54, label %then9, label %else10 then9: %t55 = load ptr, ptr %t26 %t56 = getelementptr inbounds %Cmp_Node, ptr %t55, i32 0, i32 0 %t57 = load i32, ptr %t56 %t58 = icmp eq i32 %t57, 8 %t59 = zext i1 %t58 to i32 %t60 = icmp ne i32 %t59, 0 br i1 %t60, label %then12, label %else13 then12: %t61 = load ptr, ptr @g_g_gen_recs %t62 = load ptr, ptr %t26 %t63 = getelementptr inbounds %LSlice, ptr %t61, i32 0, i32 1 %t64 = getelementptr inbounds %LSlice, ptr %t61, i32 0, i32 2 %t65 = getelementptr inbounds %LSlice, ptr %t61, i32 0, i32 0 %t66 = load i32, ptr %t63 %t67 = load i32, ptr %t64 %t68 = icmp sge i32 %t66, %t67 br i1 %t68, label %grow15, label %put16 grow15: %t69 = mul i32 %t67, 2 %t70 = icmp eq i32 %t67, 0 %t71 = select i1 %t70, i32 8, i32 %t69 %t72 = getelementptr ptr, ptr null, i32 1 %t73 = ptrtoint ptr %t72 to i64 %t74 = zext i32 %t71 to i64 %t75 = mul i64 %t74, %t73 %t76 = load ptr, ptr %t65 store i32 9634, ptr @lp_site %t77 = call ptr @lp_realloc(ptr %t76, i64 %t75) store i32 0, ptr @lp_site store ptr %t77, ptr %t65 store i32 %t71, ptr %t64 br label %put16 put16: %t78 = load ptr, ptr %t65 %t79 = getelementptr inbounds ptr, ptr %t78, i32 %t66 store ptr %t62, ptr %t79 %t80 = add i32 %t66, 1 store i32 %t80, ptr %t63 br label %ifend14 else13: %t81 = load ptr, ptr @g_g_gen_fns %t82 = load ptr, ptr %t26 %t83 = getelementptr inbounds %LSlice, ptr %t81, i32 0, i32 1 %t84 = getelementptr inbounds %LSlice, ptr %t81, i32 0, i32 2 %t85 = getelementptr inbounds %LSlice, ptr %t81, i32 0, i32 0 %t86 = load i32, ptr %t83 %t87 = load i32, ptr %t84 %t88 = icmp sge i32 %t86, %t87 br i1 %t88, label %grow17, label %put18 grow17: %t89 = mul i32 %t87, 2 %t90 = icmp eq i32 %t87, 0 %t91 = select i1 %t90, i32 8, i32 %t89 %t92 = getelementptr ptr, ptr null, i32 1 %t93 = ptrtoint ptr %t92 to i64 %t94 = zext i32 %t91 to i64 %t95 = mul i64 %t94, %t93 %t96 = load ptr, ptr %t85 store i32 9635, ptr @lp_site %t97 = call ptr @lp_realloc(ptr %t96, i64 %t95) store i32 0, ptr @lp_site store ptr %t97, ptr %t85 store i32 %t91, ptr %t84 br label %put18 put18: %t98 = load ptr, ptr %t85 %t99 = getelementptr inbounds ptr, ptr %t98, i32 %t86 store ptr %t82, ptr %t99 %t100 = add i32 %t86, 1 store i32 %t100, ptr %t83 br label %ifend14 ifend14: %t101 = load i32, ptr %t8 %t102 = load i32, ptr @g_g_prog_user_end %t103 = icmp slt i32 %t101, %t102 %t104 = zext i1 %t103 to i32 %t105 = icmp ne i32 %t104, 0 br i1 %t105, label %then19, label %ifend21 then19: %t106 = load i32, ptr %t7 %t107 = add i32 %t106, 1 store i32 %t107, ptr %t7 br label %ifend21 ifend21: br label %ifend11 else10: %t108 = load ptr, ptr %t6 %t109 = load ptr, ptr %t26 %t110 = getelementptr inbounds %LSlice, ptr %t108, i32 0, i32 1 %t111 = getelementptr inbounds %LSlice, ptr %t108, i32 0, i32 2 %t112 = getelementptr inbounds %LSlice, ptr %t108, i32 0, i32 0 %t113 = load i32, ptr %t110 %t114 = load i32, ptr %t111 %t115 = icmp sge i32 %t113, %t114 br i1 %t115, label %grow22, label %put23 grow22: %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 store i32 9636, ptr @lp_site %t124 = call ptr @lp_realloc(ptr %t123, i64 %t122) store i32 0, ptr @lp_site store ptr %t124, ptr %t112 store i32 %t118, ptr %t111 br label %put23 put23: %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 br label %ifend11 ifend11: %t128 = load i32, ptr %t8 %t129 = add i32 %t128, 1 store i32 %t129, ptr %t8 br label %wcond0 wend2: %t130 = load ptr, ptr %t6 store ptr %t130, ptr @g_prog %t131 = load i32, ptr @g_g_prog_user_end %t132 = load i32, ptr %t7 %t133 = sub i32 %t131, %t132 store i32 %t133, ptr @g_g_prog_user_end br label %ret ret: ret void } define i32 @fn_gen_index(ptr %arg_xs, ptr %arg_s) { entry: %retval = alloca i32 %t0 = alloca ptr %t1 = alloca ptr %t2 = alloca i32 store ptr %arg_xs, 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 = load i32, ptr %t2 %t12 = getelementptr inbounds %LSlice, ptr %t10, i32 0, i32 0 %t13 = load ptr, ptr %t12 %t14 = getelementptr inbounds %LSlice, ptr %t10, i32 0, i32 1 %t15 = load i32, ptr %t14 %t16 = icmp ult i32 %t11, %t15 br i1 %t16, label %ixok3, label %ixbad4 ixbad4: store i32 9637, ptr @lp_site %t17 = call ptr @lp_win_stdio(i32 2) store i32 0, ptr @lp_site call i32 (ptr, ptr, ...) @fprintf(ptr %t17, ptr @.fmt_bounds, ptr @.str17243, i32 %t11, i32 %t15) call void @exit(i32 1) unreachable ixok3: %t18 = getelementptr inbounds ptr, ptr %t13, i32 %t11 %t19 = load ptr, ptr %t18 %t20 = load ptr, ptr %t1 %t21 = call i32 @lp_str_eq(ptr %t19, ptr %t20) %t22 = icmp ne i32 %t21, 0 br i1 %t22, label %then5, label %ifend7 then5: %t23 = load i32, ptr %t2 store i32 %t23, ptr %retval br label %ret ifend7: %t24 = load i32, ptr %t2 %t25 = add i32 %t24, 1 store i32 %t25, ptr %t2 br label %wcond0 wend2: %t26 = sub i32 0, 1 store i32 %t26, ptr %retval br label %ret ret: %t27 = load i32, ptr %retval ret i32 %t27 } define ptr @fn_gen_subst(ptr %arg_t, ptr %arg_tps, ptr %arg_args) { entry: %retval = alloca ptr %t0 = alloca ptr %t1 = alloca ptr %t2 = alloca ptr %t10 = alloca i32 %t39 = alloca ptr %t40 = alloca ptr %t41 = alloca i32 %t82 = alloca i32 %t83 = alloca i32 %t116 = alloca ptr %t123 = alloca ptr %t124 = alloca i32 store ptr %arg_t, ptr %t0 store ptr %arg_tps, ptr %t1 store ptr %arg_args, 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: store ptr null, ptr %retval br label %ret ifend2: %t7 = load ptr, ptr %t1 %t8 = load ptr, ptr %t0 %t9 = call i32 @fn_gen_index(ptr %t7, ptr %t8) store i32 %t9, ptr %t10 %t11 = load i32, ptr %t10 %t12 = icmp sge i32 %t11, 0 %t13 = zext i1 %t12 to i32 %t14 = icmp ne i32 %t13, 0 br i1 %t14, label %then3, label %ifend5 then3: %t15 = load ptr, ptr %t2 %t16 = load i32, ptr %t10 %t17 = getelementptr inbounds %LSlice, ptr %t15, i32 0, i32 0 %t18 = load ptr, ptr %t17 %t19 = getelementptr inbounds %LSlice, ptr %t15, i32 0, i32 1 %t20 = load i32, ptr %t19 %t21 = icmp ult i32 %t16, %t20 br i1 %t21, label %ixok6, label %ixbad7 ixbad7: store i32 9638, ptr @lp_site %t22 = call ptr @lp_win_stdio(i32 2) store i32 0, ptr @lp_site call i32 (ptr, ptr, ...) @fprintf(ptr %t22, ptr @.fmt_bounds, ptr @.str17245, i32 %t16, i32 %t20) call void @exit(i32 1) unreachable ixok6: %t23 = getelementptr inbounds ptr, ptr %t18, i32 %t16 %t24 = load ptr, ptr %t23 store ptr %t24, ptr %retval br label %ret ifend5: %t25 = load ptr, ptr %t0 %t26 = call i32 @fn_is_slice_ty(ptr %t25) %t27 = icmp ne i32 %t26, 0 br i1 %t27, label %then8, label %ifend10 then8: %t28 = load ptr, ptr %t0 %t29 = call ptr @fn_slice_elem(ptr %t28) %t30 = load ptr, ptr %t1 %t31 = load ptr, ptr %t2 %t32 = call ptr @fn_gen_subst(ptr %t29, ptr %t30, ptr %t31) store i32 9639, ptr @lp_site %t33 = call ptr @lp_str_concat(ptr @.str17247, ptr %t32) store i32 0, ptr @lp_site store ptr %t33, ptr %retval br label %ret ifend10: %t34 = load ptr, ptr %t0 %t35 = call i32 @fn_is_fn_type(ptr %t34) %t36 = icmp ne i32 %t35, 0 br i1 %t36, label %then11, label %ifend13 then11: %t37 = load ptr, ptr %t0 %t38 = call ptr @fn_fn_ty_params(ptr %t37) store ptr %t38, ptr %t39 store ptr @.str17248, ptr %t40 store i32 0, ptr %t41 br label %wcond14 wcond14: %t42 = load i32, ptr %t41 %t43 = load ptr, ptr %t39 %t44 = getelementptr inbounds %LSlice, ptr %t43, i32 0, i32 1 %t45 = load i32, ptr %t44 %t46 = icmp slt i32 %t42, %t45 %t47 = zext i1 %t46 to i32 %t48 = icmp ne i32 %t47, 0 br i1 %t48, label %wbody15, label %wend16 wbody15: %t49 = load i32, ptr %t41 %t50 = icmp sgt i32 %t49, 0 %t51 = zext i1 %t50 to i32 %t52 = icmp ne i32 %t51, 0 br i1 %t52, label %then17, label %ifend19 then17: %t53 = load ptr, ptr %t40 store i32 9640, ptr @lp_site %t54 = call ptr @lp_str_concat(ptr %t53, ptr @.str17249) store i32 0, ptr @lp_site store ptr %t54, ptr %t40 br label %ifend19 ifend19: %t55 = load ptr, ptr %t40 %t56 = load ptr, ptr %t39 %t57 = load i32, ptr %t41 %t58 = getelementptr inbounds %LSlice, ptr %t56, i32 0, i32 0 %t59 = load ptr, ptr %t58 %t60 = getelementptr inbounds %LSlice, ptr %t56, i32 0, i32 1 %t61 = load i32, ptr %t60 %t62 = icmp ult i32 %t57, %t61 br i1 %t62, label %ixok20, label %ixbad21 ixbad21: store i32 9641, ptr @lp_site %t63 = call ptr @lp_win_stdio(i32 2) store i32 0, ptr @lp_site call i32 (ptr, ptr, ...) @fprintf(ptr %t63, ptr @.fmt_bounds, ptr @.str17250, i32 %t57, i32 %t61) call void @exit(i32 1) unreachable ixok20: %t64 = getelementptr inbounds ptr, ptr %t59, i32 %t57 %t65 = load ptr, ptr %t64 %t66 = load ptr, ptr %t1 %t67 = load ptr, ptr %t2 %t68 = call ptr @fn_gen_subst(ptr %t65, ptr %t66, ptr %t67) store i32 9642, ptr @lp_site %t69 = call ptr @lp_str_concat(ptr %t55, ptr %t68) store i32 0, ptr @lp_site store ptr %t69, ptr %t40 %t70 = load i32, ptr %t41 %t71 = add i32 %t70, 1 store i32 %t71, ptr %t41 br label %wcond14 wend16: %t72 = load ptr, ptr %t40 store i32 9643, ptr @lp_site %t73 = call ptr @lp_str_concat(ptr %t72, ptr @.str17251) store i32 0, ptr @lp_site %t74 = load ptr, ptr %t0 %t75 = call ptr @fn_fn_ty_ret(ptr %t74) %t76 = load ptr, ptr %t1 %t77 = load ptr, ptr %t2 %t78 = call ptr @fn_gen_subst(ptr %t75, ptr %t76, ptr %t77) store i32 9644, ptr @lp_site %t79 = call ptr @lp_str_concat(ptr %t73, ptr %t78) store i32 0, ptr @lp_site call void @lp_free(ptr %t73) store ptr %t79, ptr %retval br label %ret ifend13: %t80 = load ptr, ptr %t0 %t81 = call i32 @fn_gen_find(ptr %t80) store i32 %t81, ptr %t82 %t84 = load i32, ptr %t82 %t85 = icmp sge i32 %t84, 0 %t86 = zext i1 %t85 to i32 %t87 = icmp ne i32 %t86, 0 %t88 = zext i1 %t87 to i32 store i32 %t88, ptr %t83 br i1 %t87, label %sc22, label %scend23 sc22: %t89 = load ptr, ptr @g_g_gi_open %t90 = load i32, ptr %t82 %t91 = getelementptr inbounds %LSlice, ptr %t89, i32 0, i32 0 %t92 = load ptr, ptr %t91 %t93 = getelementptr inbounds %LSlice, ptr %t89, i32 0, i32 1 %t94 = load i32, ptr %t93 %t95 = icmp ult i32 %t90, %t94 br i1 %t95, label %ixok24, label %ixbad25 ixbad25: store i32 9645, ptr @lp_site %t96 = call ptr @lp_win_stdio(i32 2) store i32 0, ptr @lp_site call i32 (ptr, ptr, ...) @fprintf(ptr %t96, ptr @.fmt_bounds, ptr @.str17252, i32 %t90, i32 %t94) call void @exit(i32 1) unreachable ixok24: %t97 = getelementptr inbounds i32, ptr %t92, i32 %t90 %t98 = load i32, ptr %t97 %t99 = icmp eq i32 %t98, 1 %t100 = zext i1 %t99 to i32 %t101 = icmp ne i32 %t100, 0 %t102 = zext i1 %t101 to i32 store i32 %t102, ptr %t83 br label %scend23 scend23: %t103 = load i32, ptr %t83 %t104 = icmp ne i32 %t103, 0 br i1 %t104, label %then26, label %ifend28 then26: %t105 = load ptr, ptr @g_g_gi_args %t106 = load i32, ptr %t82 %t107 = getelementptr inbounds %LSlice, ptr %t105, i32 0, i32 0 %t108 = load ptr, ptr %t107 %t109 = getelementptr inbounds %LSlice, ptr %t105, i32 0, i32 1 %t110 = load i32, ptr %t109 %t111 = icmp ult i32 %t106, %t110 br i1 %t111, label %ixok29, label %ixbad30 ixbad30: store i32 9646, ptr @lp_site %t112 = call ptr @lp_win_stdio(i32 2) store i32 0, ptr @lp_site call i32 (ptr, ptr, ...) @fprintf(ptr %t112, ptr @.fmt_bounds, ptr @.str17253, i32 %t106, i32 %t110) call void @exit(i32 1) unreachable ixok29: %t113 = getelementptr inbounds ptr, ptr %t108, i32 %t106 %t114 = load ptr, ptr %t113 %t115 = call ptr @fn_gen_split(ptr %t114) store ptr %t115, ptr %t116 %t117 = getelementptr %LSlice, ptr null, i32 1 %t118 = ptrtoint ptr %t117 to i64 store i32 9647, ptr @lp_site %t119 = call ptr @lp_malloc(i64 %t118) store i32 0, ptr @lp_site %t120 = getelementptr inbounds %LSlice, ptr %t119, i32 0, i32 0 store ptr null, ptr %t120 %t121 = getelementptr inbounds %LSlice, ptr %t119, i32 0, i32 1 store i32 0, ptr %t121 %t122 = getelementptr inbounds %LSlice, ptr %t119, i32 0, i32 2 store i32 0, ptr %t122 store ptr %t119, ptr %t123 store i32 0, ptr %t124 br label %wcond31 wcond31: %t125 = load i32, ptr %t124 %t126 = load ptr, ptr %t116 %t127 = getelementptr inbounds %LSlice, ptr %t126, i32 0, i32 1 %t128 = load i32, ptr %t127 %t129 = icmp slt i32 %t125, %t128 %t130 = zext i1 %t129 to i32 %t131 = icmp ne i32 %t130, 0 br i1 %t131, label %wbody32, label %wend33 wbody32: %t132 = load ptr, ptr %t123 %t133 = load ptr, ptr %t116 %t134 = load i32, ptr %t124 %t135 = getelementptr inbounds %LSlice, ptr %t133, i32 0, i32 0 %t136 = load ptr, ptr %t135 %t137 = getelementptr inbounds %LSlice, ptr %t133, i32 0, i32 1 %t138 = load i32, ptr %t137 %t139 = icmp ult i32 %t134, %t138 br i1 %t139, label %ixok34, label %ixbad35 ixbad35: store i32 9648, ptr @lp_site %t140 = call ptr @lp_win_stdio(i32 2) store i32 0, ptr @lp_site call i32 (ptr, ptr, ...) @fprintf(ptr %t140, ptr @.fmt_bounds, ptr @.str17254, i32 %t134, i32 %t138) call void @exit(i32 1) unreachable ixok34: %t141 = getelementptr inbounds ptr, ptr %t136, i32 %t134 %t142 = load ptr, ptr %t141 %t143 = load ptr, ptr %t1 %t144 = load ptr, ptr %t2 %t145 = call ptr @fn_gen_subst(ptr %t142, ptr %t143, ptr %t144) %t146 = getelementptr inbounds %LSlice, ptr %t132, i32 0, i32 1 %t147 = getelementptr inbounds %LSlice, ptr %t132, i32 0, i32 2 %t148 = getelementptr inbounds %LSlice, ptr %t132, i32 0, i32 0 %t149 = load i32, ptr %t146 %t150 = load i32, ptr %t147 %t151 = icmp sge i32 %t149, %t150 br i1 %t151, label %grow36, label %put37 grow36: %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 store i32 9649, ptr @lp_site %t160 = call ptr @lp_realloc(ptr %t159, i64 %t158) store i32 0, ptr @lp_site store ptr %t160, ptr %t148 store i32 %t154, ptr %t147 br label %put37 put37: %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 %t124 %t165 = add i32 %t164, 1 store i32 %t165, ptr %t124 br label %wcond31 wend33: %t166 = load ptr, ptr @g_g_gi_gen %t167 = load i32, ptr %t82 %t168 = getelementptr inbounds %LSlice, ptr %t166, i32 0, i32 0 %t169 = load ptr, ptr %t168 %t170 = getelementptr inbounds %LSlice, ptr %t166, i32 0, i32 1 %t171 = load i32, ptr %t170 %t172 = icmp ult i32 %t167, %t171 br i1 %t172, label %ixok38, label %ixbad39 ixbad39: store i32 9650, ptr @lp_site %t173 = call ptr @lp_win_stdio(i32 2) store i32 0, ptr @lp_site call i32 (ptr, ptr, ...) @fprintf(ptr %t173, ptr @.fmt_bounds, ptr @.str17255, i32 %t167, i32 %t171) call void @exit(i32 1) unreachable ixok38: %t174 = getelementptr inbounds ptr, ptr %t169, i32 %t167 %t175 = load ptr, ptr %t174 %t176 = load ptr, ptr %t123 %t177 = call ptr @fn_gen_instance(ptr %t175, ptr %t176) store ptr %t177, ptr %retval br label %ret ifend28: %t178 = load ptr, ptr %t0 store ptr %t178, ptr %retval br label %ret ret: %t179 = load ptr, ptr %retval ret ptr %t179 } define ptr @fn_gen_clone(ptr %arg_n, ptr %arg_tps, ptr %arg_args) { entry: %retval = alloca ptr %t0 = alloca ptr %t1 = alloca ptr %t2 = alloca ptr %t40 = alloca ptr %t140 = alloca i32 store ptr %arg_n, ptr %t0 store ptr %arg_tps, ptr %t1 store ptr %arg_args, 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: store ptr null, ptr %retval br label %ret ifend2: %t7 = getelementptr %Cmp_Node, ptr null, i32 1 %t8 = ptrtoint ptr %t7 to i64 store i32 9651, ptr @lp_site %t9 = call ptr @lp_malloc(i64 %t8) store i32 0, ptr @lp_site %t10 = getelementptr inbounds %Cmp_Node, ptr %t9, i32 0, i32 0 store i32 0, ptr %t10 %t11 = getelementptr inbounds %Cmp_Node, ptr %t9, i32 0, i32 1 store ptr null, ptr %t11 %t12 = getelementptr inbounds %Cmp_Node, ptr %t9, i32 0, i32 2 store i32 0, ptr %t12 %t13 = getelementptr inbounds %Cmp_Node, ptr %t9, i32 0, i32 3 store ptr null, ptr %t13 %t14 = getelementptr inbounds %Cmp_Node, ptr %t9, i32 0, i32 4 store ptr null, ptr %t14 %t15 = getelementptr inbounds %Cmp_Node, ptr %t9, i32 0, i32 5 store ptr null, ptr %t15 %t16 = getelementptr inbounds %Cmp_Node, ptr %t9, i32 0, i32 6 store ptr null, ptr %t16 %t17 = getelementptr inbounds %Cmp_Node, ptr %t9, i32 0, i32 7 store ptr null, ptr %t17 %t18 = getelementptr inbounds %Cmp_Node, ptr %t9, i32 0, i32 8 store i32 0, ptr %t18 %t19 = getelementptr inbounds %Cmp_Node, ptr %t9, i32 0, i32 9 store ptr null, ptr %t19 %t20 = getelementptr inbounds %Cmp_Node, ptr %t9, i32 0, i32 10 store i32 0, ptr %t20 %t21 = getelementptr inbounds %Cmp_Node, ptr %t9, i32 0, i32 11 store ptr null, ptr %t21 %t22 = getelementptr inbounds %Cmp_Node, ptr %t9, i32 0, i32 12 store i32 0, ptr %t22 %t23 = getelementptr inbounds %Cmp_Node, ptr %t9, i32 0, i32 13 %t24 = sub i32 0, 1 store i32 %t24, ptr %t23 %t25 = getelementptr inbounds %Cmp_Node, ptr %t9, i32 0, i32 14 %t26 = sub i32 0, 1 store i32 %t26, ptr %t25 %t27 = getelementptr inbounds %Cmp_Node, ptr %t9, i32 0, i32 15 %t28 = sub i32 0, 1 store i32 %t28, ptr %t27 %t29 = getelementptr inbounds %Cmp_Node, ptr %t9, i32 0, i32 16 %t30 = sub i32 0, 1 store i32 %t30, ptr %t29 %t31 = getelementptr inbounds %Cmp_Node, ptr %t9, i32 0, i32 17 %t32 = sub i32 0, 1 store i32 %t32, ptr %t31 %t33 = getelementptr inbounds %Cmp_Node, ptr %t9, i32 0, i32 18 store i32 0, ptr %t33 %t34 = getelementptr inbounds %Cmp_Node, ptr %t9, i32 0, i32 19 %t35 = sub i32 0, 1 store i32 %t35, ptr %t34 %t36 = getelementptr inbounds %Cmp_Node, ptr %t9, i32 0, i32 20 %t37 = sub i32 0, 1 store i32 %t37, ptr %t36 %t38 = getelementptr inbounds %Cmp_Node, ptr %t9, i32 0, i32 21 %t39 = sub i32 0, 1 store i32 %t39, ptr %t38 store ptr %t9, ptr %t40 %t41 = load ptr, ptr %t40 %t42 = getelementptr inbounds %Cmp_Node, ptr %t41, i32 0, i32 0 %t43 = load ptr, ptr %t0 %t44 = getelementptr inbounds %Cmp_Node, ptr %t43, i32 0, i32 0 %t45 = load i32, ptr %t44 store i32 %t45, ptr %t42 %t46 = load ptr, ptr %t40 %t47 = getelementptr inbounds %Cmp_Node, ptr %t46, i32 0, i32 1 %t48 = load ptr, ptr %t0 %t49 = getelementptr inbounds %Cmp_Node, ptr %t48, i32 0, i32 1 %t50 = load ptr, ptr %t49 store ptr %t50, ptr %t47 %t51 = load ptr, ptr %t0 %t52 = getelementptr inbounds %Cmp_Node, ptr %t51, i32 0, i32 0 %t53 = load i32, ptr %t52 %t54 = icmp eq i32 %t53, 39 %t55 = zext i1 %t54 to i32 %t56 = icmp ne i32 %t55, 0 br i1 %t56, label %then3, label %ifend5 then3: %t57 = load ptr, ptr %t40 %t58 = getelementptr inbounds %Cmp_Node, ptr %t57, i32 0, i32 1 %t59 = load ptr, ptr %t0 %t60 = getelementptr inbounds %Cmp_Node, ptr %t59, i32 0, i32 1 %t61 = load ptr, ptr %t60 %t62 = load ptr, ptr %t1 %t63 = load ptr, ptr %t2 %t64 = call ptr @fn_gen_subst(ptr %t61, ptr %t62, ptr %t63) store ptr %t64, ptr %t58 br label %ifend5 ifend5: %t65 = load ptr, ptr %t40 %t66 = getelementptr inbounds %Cmp_Node, ptr %t65, i32 0, i32 2 %t67 = load ptr, ptr %t0 %t68 = getelementptr inbounds %Cmp_Node, ptr %t67, i32 0, i32 2 %t69 = load i32, ptr %t68 store i32 %t69, ptr %t66 %t70 = load ptr, ptr %t40 %t71 = getelementptr inbounds %Cmp_Node, ptr %t70, i32 0, i32 3 %t72 = load ptr, ptr %t0 %t73 = getelementptr inbounds %Cmp_Node, ptr %t72, i32 0, i32 3 %t74 = load ptr, ptr %t73 %t75 = load ptr, ptr %t1 %t76 = load ptr, ptr %t2 %t77 = call ptr @fn_gen_subst(ptr %t74, ptr %t75, ptr %t76) store ptr %t77, ptr %t71 %t78 = load ptr, ptr %t40 %t79 = getelementptr inbounds %Cmp_Node, ptr %t78, i32 0, i32 8 %t80 = load ptr, ptr %t0 %t81 = getelementptr inbounds %Cmp_Node, ptr %t80, i32 0, i32 8 %t82 = load i32, ptr %t81 store i32 %t82, ptr %t79 %t83 = load ptr, ptr %t40 %t84 = getelementptr inbounds %Cmp_Node, ptr %t83, i32 0, i32 9 %t85 = load ptr, ptr %t0 %t86 = getelementptr inbounds %Cmp_Node, ptr %t85, i32 0, i32 9 %t87 = load ptr, ptr %t86 store ptr %t87, ptr %t84 %t88 = load ptr, ptr %t40 %t89 = getelementptr inbounds %Cmp_Node, ptr %t88, i32 0, i32 10 %t90 = load ptr, ptr %t0 %t91 = getelementptr inbounds %Cmp_Node, ptr %t90, i32 0, i32 10 %t92 = load i32, ptr %t91 store i32 %t92, ptr %t89 %t93 = load ptr, ptr %t40 %t94 = getelementptr inbounds %Cmp_Node, ptr %t93, i32 0, i32 12 %t95 = load ptr, ptr %t0 %t96 = getelementptr inbounds %Cmp_Node, ptr %t95, i32 0, i32 12 %t97 = load i32, ptr %t96 store i32 %t97, ptr %t94 %t98 = load ptr, ptr %t40 %t99 = getelementptr inbounds %Cmp_Node, ptr %t98, i32 0, i32 13 %t100 = load ptr, ptr %t0 %t101 = getelementptr inbounds %Cmp_Node, ptr %t100, i32 0, i32 13 %t102 = load i32, ptr %t101 store i32 %t102, ptr %t99 %t103 = load ptr, ptr %t40 %t104 = getelementptr inbounds %Cmp_Node, ptr %t103, i32 0, i32 14 %t105 = load ptr, ptr %t0 %t106 = getelementptr inbounds %Cmp_Node, ptr %t105, i32 0, i32 14 %t107 = load i32, ptr %t106 store i32 %t107, ptr %t104 %t108 = load ptr, ptr %t40 %t109 = getelementptr inbounds %Cmp_Node, ptr %t108, i32 0, i32 4 %t110 = load ptr, ptr %t0 %t111 = getelementptr inbounds %Cmp_Node, ptr %t110, i32 0, i32 4 %t112 = load ptr, ptr %t111 %t113 = load ptr, ptr %t1 %t114 = load ptr, ptr %t2 %t115 = call ptr @fn_gen_clone(ptr %t112, ptr %t113, ptr %t114) store ptr %t115, ptr %t109 %t116 = load ptr, ptr %t40 %t117 = getelementptr inbounds %Cmp_Node, ptr %t116, i32 0, i32 5 %t118 = load ptr, ptr %t0 %t119 = getelementptr inbounds %Cmp_Node, ptr %t118, i32 0, i32 5 %t120 = load ptr, ptr %t119 %t121 = load ptr, ptr %t1 %t122 = load ptr, ptr %t2 %t123 = call ptr @fn_gen_clone(ptr %t120, ptr %t121, ptr %t122) store ptr %t123, ptr %t117 %t124 = load ptr, ptr %t40 %t125 = getelementptr inbounds %Cmp_Node, ptr %t124, i32 0, i32 6 %t126 = load ptr, ptr %t0 %t127 = getelementptr inbounds %Cmp_Node, ptr %t126, i32 0, i32 6 %t128 = load ptr, ptr %t127 %t129 = load ptr, ptr %t1 %t130 = load ptr, ptr %t2 %t131 = call ptr @fn_gen_clone(ptr %t128, ptr %t129, ptr %t130) store ptr %t131, ptr %t125 %t132 = load ptr, ptr %t40 %t133 = getelementptr inbounds %Cmp_Node, ptr %t132, i32 0, i32 7 %t134 = getelementptr %LSlice, ptr null, i32 1 %t135 = ptrtoint ptr %t134 to i64 store i32 9652, ptr @lp_site %t136 = call ptr @lp_malloc(i64 %t135) store i32 0, ptr @lp_site %t137 = getelementptr inbounds %LSlice, ptr %t136, i32 0, i32 0 store ptr null, ptr %t137 %t138 = getelementptr inbounds %LSlice, ptr %t136, i32 0, i32 1 store i32 0, ptr %t138 %t139 = getelementptr inbounds %LSlice, ptr %t136, i32 0, i32 2 store i32 0, ptr %t139 store ptr %t136, ptr %t133 store i32 0, ptr %t140 br label %wcond6 wcond6: %t141 = load i32, ptr %t140 %t142 = load ptr, ptr %t0 %t143 = getelementptr inbounds %Cmp_Node, ptr %t142, i32 0, i32 7 %t144 = load ptr, ptr %t143 %t145 = getelementptr inbounds %LSlice, ptr %t144, i32 0, i32 1 %t146 = load i32, ptr %t145 %t147 = icmp slt i32 %t141, %t146 %t148 = zext i1 %t147 to i32 %t149 = icmp ne i32 %t148, 0 br i1 %t149, label %wbody7, label %wend8 wbody7: %t150 = load ptr, ptr %t40 %t151 = getelementptr inbounds %Cmp_Node, ptr %t150, i32 0, i32 7 %t152 = load ptr, ptr %t151 %t153 = load ptr, ptr %t0 %t154 = getelementptr inbounds %Cmp_Node, ptr %t153, i32 0, i32 7 %t155 = load ptr, ptr %t154 %t156 = load i32, ptr %t140 %t157 = getelementptr inbounds %LSlice, ptr %t155, i32 0, i32 0 %t158 = load ptr, ptr %t157 %t159 = getelementptr inbounds %LSlice, ptr %t155, i32 0, i32 1 %t160 = load i32, ptr %t159 %t161 = icmp ult i32 %t156, %t160 br i1 %t161, label %ixok9, label %ixbad10 ixbad10: store i32 9653, ptr @lp_site %t162 = call ptr @lp_win_stdio(i32 2) store i32 0, ptr @lp_site call i32 (ptr, ptr, ...) @fprintf(ptr %t162, ptr @.fmt_bounds, ptr @.str17257, i32 %t156, i32 %t160) call void @exit(i32 1) unreachable ixok9: %t163 = getelementptr inbounds ptr, ptr %t158, i32 %t156 %t164 = load ptr, ptr %t163 %t165 = load ptr, ptr %t1 %t166 = load ptr, ptr %t2 %t167 = call ptr @fn_gen_clone(ptr %t164, ptr %t165, ptr %t166) %t168 = getelementptr inbounds %LSlice, ptr %t152, i32 0, i32 1 %t169 = getelementptr inbounds %LSlice, ptr %t152, i32 0, i32 2 %t170 = getelementptr inbounds %LSlice, ptr %t152, i32 0, i32 0 %t171 = load i32, ptr %t168 %t172 = load i32, ptr %t169 %t173 = icmp sge i32 %t171, %t172 br i1 %t173, label %grow11, label %put12 grow11: %t174 = mul i32 %t172, 2 %t175 = icmp eq i32 %t172, 0 %t176 = select i1 %t175, i32 8, i32 %t174 %t177 = getelementptr ptr, ptr null, i32 1 %t178 = ptrtoint ptr %t177 to i64 %t179 = zext i32 %t176 to i64 %t180 = mul i64 %t179, %t178 %t181 = load ptr, ptr %t170 store i32 9654, ptr @lp_site %t182 = call ptr @lp_realloc(ptr %t181, i64 %t180) store i32 0, ptr @lp_site store ptr %t182, ptr %t170 store i32 %t176, ptr %t169 br label %put12 put12: %t183 = load ptr, ptr %t170 %t184 = getelementptr inbounds ptr, ptr %t183, i32 %t171 store ptr %t167, ptr %t184 %t185 = add i32 %t171, 1 store i32 %t185, ptr %t168 %t186 = load i32, ptr %t140 %t187 = add i32 %t186, 1 store i32 %t187, ptr %t140 br label %wcond6 wend8: %t188 = load ptr, ptr %t40 store ptr %t188, ptr %retval br label %ret ret: %t189 = load ptr, ptr %retval ret ptr %t189 } define ptr @fn_gen_record(ptr %arg_name) { entry: %retval = alloca ptr %t0 = alloca ptr %t3 = alloca i32 %t4 = alloca i32 %t38 = alloca ptr %t54 = alloca ptr %t59 = alloca ptr %t102 = alloca ptr %t151 = alloca ptr store ptr %arg_name, ptr %t0 %t1 = load ptr, ptr %t0 %t2 = call i32 @fn_gen_find(ptr %t1) store i32 %t2, ptr %t3 %t5 = load i32, ptr %t3 %t6 = icmp slt i32 %t5, 0 %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 ptr, ptr @g_g_gi_open %t11 = load i32, ptr %t3 %t12 = getelementptr inbounds %LSlice, ptr %t10, i32 0, i32 0 %t13 = load ptr, ptr %t12 %t14 = getelementptr inbounds %LSlice, ptr %t10, i32 0, i32 1 %t15 = load i32, ptr %t14 %t16 = icmp ult i32 %t11, %t15 br i1 %t16, label %ixok2, label %ixbad3 ixbad3: store i32 9655, ptr @lp_site %t17 = call ptr @lp_win_stdio(i32 2) store i32 0, ptr @lp_site call i32 (ptr, ptr, ...) @fprintf(ptr %t17, ptr @.fmt_bounds, ptr @.str17258, i32 %t11, i32 %t15) call void @exit(i32 1) unreachable ixok2: %t18 = getelementptr inbounds i32, ptr %t13, i32 %t11 %t19 = load i32, ptr %t18 %t20 = icmp eq i32 %t19, 1 %t21 = zext i1 %t20 to i32 %t22 = icmp ne i32 %t21, 0 %t23 = zext i1 %t22 to i32 store i32 %t23, ptr %t4 br label %scend1 scend1: %t24 = load i32, ptr %t4 %t25 = icmp ne i32 %t24, 0 br i1 %t25, label %then4, label %ifend6 then4: store ptr null, ptr %retval br label %ret ifend6: %t26 = load ptr, ptr @g_g_gen_recs %t27 = load ptr, ptr @g_g_gi_gen %t28 = load i32, ptr %t3 %t29 = getelementptr inbounds %LSlice, ptr %t27, i32 0, i32 0 %t30 = load ptr, ptr %t29 %t31 = getelementptr inbounds %LSlice, ptr %t27, i32 0, i32 1 %t32 = load i32, ptr %t31 %t33 = icmp ult i32 %t28, %t32 br i1 %t33, label %ixok7, label %ixbad8 ixbad8: store i32 9656, ptr @lp_site %t34 = call ptr @lp_win_stdio(i32 2) store i32 0, ptr @lp_site call i32 (ptr, ptr, ...) @fprintf(ptr %t34, ptr @.fmt_bounds, ptr @.str17260, i32 %t28, i32 %t32) call void @exit(i32 1) unreachable ixok7: %t35 = getelementptr inbounds ptr, ptr %t30, i32 %t28 %t36 = load ptr, ptr %t35 %t37 = call ptr @fn_gen_template(ptr %t26, ptr %t36) store ptr %t37, ptr %t38 %t39 = load ptr, ptr %t38 %t40 = icmp eq ptr %t39, null %t41 = zext i1 %t40 to i32 %t42 = icmp ne i32 %t41, 0 br i1 %t42, label %then9, label %ifend11 then9: store ptr null, ptr %retval br label %ret ifend11: %t43 = load ptr, ptr @g_g_gi_args %t44 = load i32, ptr %t3 %t45 = getelementptr inbounds %LSlice, ptr %t43, i32 0, i32 0 %t46 = load ptr, ptr %t45 %t47 = getelementptr inbounds %LSlice, ptr %t43, i32 0, i32 1 %t48 = load i32, ptr %t47 %t49 = icmp ult i32 %t44, %t48 br i1 %t49, label %ixok12, label %ixbad13 ixbad13: store i32 9657, ptr @lp_site %t50 = call ptr @lp_win_stdio(i32 2) store i32 0, ptr @lp_site call i32 (ptr, ptr, ...) @fprintf(ptr %t50, ptr @.fmt_bounds, ptr @.str17261, i32 %t44, i32 %t48) call void @exit(i32 1) unreachable ixok12: %t51 = getelementptr inbounds ptr, ptr %t46, i32 %t44 %t52 = load ptr, ptr %t51 %t53 = call ptr @fn_gen_split(ptr %t52) store ptr %t53, ptr %t54 %t55 = load ptr, ptr %t38 %t56 = getelementptr inbounds %Cmp_Node, ptr %t55, i32 0, i32 11 %t57 = load ptr, ptr %t56 %t58 = call ptr @fn_gen_split(ptr %t57) store ptr %t58, ptr %t59 %t60 = load ptr, ptr %t54 %t61 = getelementptr inbounds %LSlice, ptr %t60, i32 0, i32 1 %t62 = load i32, ptr %t61 %t63 = load ptr, ptr %t59 %t64 = getelementptr inbounds %LSlice, ptr %t63, i32 0, i32 1 %t65 = load i32, ptr %t64 %t66 = icmp ne i32 %t62, %t65 %t67 = zext i1 %t66 to i32 %t68 = icmp ne i32 %t67, 0 br i1 %t68, label %then14, label %ifend16 then14: %t69 = getelementptr %Cmp_Node, ptr null, i32 1 %t70 = ptrtoint ptr %t69 to i64 store i32 9658, ptr @lp_site %t71 = call ptr @lp_malloc(i64 %t70) store i32 0, ptr @lp_site %t72 = getelementptr inbounds %Cmp_Node, ptr %t71, i32 0, i32 0 store i32 0, ptr %t72 %t73 = getelementptr inbounds %Cmp_Node, ptr %t71, i32 0, i32 1 store ptr null, ptr %t73 %t74 = getelementptr inbounds %Cmp_Node, ptr %t71, i32 0, i32 2 store i32 0, ptr %t74 %t75 = getelementptr inbounds %Cmp_Node, ptr %t71, i32 0, i32 3 store ptr null, ptr %t75 %t76 = getelementptr inbounds %Cmp_Node, ptr %t71, i32 0, i32 4 store ptr null, ptr %t76 %t77 = getelementptr inbounds %Cmp_Node, ptr %t71, i32 0, i32 5 store ptr null, ptr %t77 %t78 = getelementptr inbounds %Cmp_Node, ptr %t71, i32 0, i32 6 store ptr null, ptr %t78 %t79 = getelementptr inbounds %Cmp_Node, ptr %t71, i32 0, i32 7 store ptr null, ptr %t79 %t80 = getelementptr inbounds %Cmp_Node, ptr %t71, i32 0, i32 8 store i32 0, ptr %t80 %t81 = getelementptr inbounds %Cmp_Node, ptr %t71, i32 0, i32 9 store ptr null, ptr %t81 %t82 = getelementptr inbounds %Cmp_Node, ptr %t71, i32 0, i32 10 store i32 0, ptr %t82 %t83 = getelementptr inbounds %Cmp_Node, ptr %t71, i32 0, i32 11 store ptr null, ptr %t83 %t84 = getelementptr inbounds %Cmp_Node, ptr %t71, i32 0, i32 12 store i32 0, ptr %t84 %t85 = getelementptr inbounds %Cmp_Node, ptr %t71, i32 0, i32 13 %t86 = sub i32 0, 1 store i32 %t86, ptr %t85 %t87 = getelementptr inbounds %Cmp_Node, ptr %t71, i32 0, i32 14 %t88 = sub i32 0, 1 store i32 %t88, ptr %t87 %t89 = getelementptr inbounds %Cmp_Node, ptr %t71, i32 0, i32 15 %t90 = sub i32 0, 1 store i32 %t90, ptr %t89 %t91 = getelementptr inbounds %Cmp_Node, ptr %t71, i32 0, i32 16 %t92 = sub i32 0, 1 store i32 %t92, ptr %t91 %t93 = getelementptr inbounds %Cmp_Node, ptr %t71, i32 0, i32 17 %t94 = sub i32 0, 1 store i32 %t94, ptr %t93 %t95 = getelementptr inbounds %Cmp_Node, ptr %t71, i32 0, i32 18 store i32 0, ptr %t95 %t96 = getelementptr inbounds %Cmp_Node, ptr %t71, i32 0, i32 19 %t97 = sub i32 0, 1 store i32 %t97, ptr %t96 %t98 = getelementptr inbounds %Cmp_Node, ptr %t71, i32 0, i32 20 %t99 = sub i32 0, 1 store i32 %t99, ptr %t98 %t100 = getelementptr inbounds %Cmp_Node, ptr %t71, i32 0, i32 21 %t101 = sub i32 0, 1 store i32 %t101, ptr %t100 store ptr %t71, ptr %t102 %t103 = load ptr, ptr %t102 %t104 = getelementptr inbounds %Cmp_Node, ptr %t103, i32 0, i32 9 %t105 = load ptr, ptr @g_g_gi_file %t106 = load i32, ptr %t3 %t107 = getelementptr inbounds %LSlice, ptr %t105, i32 0, i32 0 %t108 = load ptr, ptr %t107 %t109 = getelementptr inbounds %LSlice, ptr %t105, i32 0, i32 1 %t110 = load i32, ptr %t109 %t111 = icmp ult i32 %t106, %t110 br i1 %t111, label %ixok17, label %ixbad18 ixbad18: store i32 9659, ptr @lp_site %t112 = call ptr @lp_win_stdio(i32 2) store i32 0, ptr @lp_site call i32 (ptr, ptr, ...) @fprintf(ptr %t112, ptr @.fmt_bounds, ptr @.str17262, i32 %t106, i32 %t110) call void @exit(i32 1) unreachable ixok17: %t113 = getelementptr inbounds ptr, ptr %t108, i32 %t106 %t114 = load ptr, ptr %t113 store ptr %t114, ptr %t104 %t115 = load ptr, ptr %t102 %t116 = getelementptr inbounds %Cmp_Node, ptr %t115, i32 0, i32 8 %t117 = load ptr, ptr @g_g_gi_line %t118 = load i32, ptr %t3 %t119 = getelementptr inbounds %LSlice, ptr %t117, i32 0, i32 0 %t120 = load ptr, ptr %t119 %t121 = getelementptr inbounds %LSlice, ptr %t117, i32 0, i32 1 %t122 = load i32, ptr %t121 %t123 = icmp ult i32 %t118, %t122 br i1 %t123, label %ixok19, label %ixbad20 ixbad20: store i32 9660, ptr @lp_site %t124 = call ptr @lp_win_stdio(i32 2) store i32 0, ptr @lp_site call i32 (ptr, ptr, ...) @fprintf(ptr %t124, ptr @.fmt_bounds, ptr @.str17263, i32 %t118, i32 %t122) call void @exit(i32 1) unreachable ixok19: %t125 = getelementptr inbounds i32, ptr %t120, i32 %t118 %t126 = load i32, ptr %t125 store i32 %t126, ptr %t116 %t127 = load ptr, ptr %t102 %t128 = load ptr, ptr %t38 %t129 = getelementptr inbounds %Cmp_Node, ptr %t128, i32 0, i32 1 %t130 = load ptr, ptr %t129 store i32 9661, ptr @lp_site %t131 = call ptr @lp_str_concat(ptr %t130, ptr @.str17265) store i32 0, ptr @lp_site %t132 = load ptr, ptr %t59 %t133 = getelementptr inbounds %LSlice, ptr %t132, i32 0, i32 1 %t134 = load i32, ptr %t133 %t135 = call ptr @fn_itoa(i32 %t134) store i32 9662, ptr @lp_site %t136 = call ptr @lp_str_concat(ptr %t131, ptr %t135) store i32 0, ptr @lp_site call void @lp_free(ptr %t131) store i32 9663, ptr @lp_site %t137 = call ptr @lp_str_concat(ptr %t136, ptr @.str17266) store i32 0, ptr @lp_site call void @lp_free(ptr %t136) %t138 = load ptr, ptr %t0 %t139 = call ptr @fn_gen_show(ptr %t138) store i32 9664, ptr @lp_site %t140 = call ptr @lp_str_concat(ptr %t137, ptr %t139) store i32 0, ptr @lp_site call void @lp_free(ptr %t137) store i32 9665, ptr @lp_site %t141 = call ptr @lp_str_concat(ptr %t140, ptr @.str17267) store i32 0, ptr @lp_site call void @lp_free(ptr %t140) %t142 = load ptr, ptr %t54 %t143 = getelementptr inbounds %LSlice, ptr %t142, i32 0, i32 1 %t144 = load i32, ptr %t143 %t145 = call ptr @fn_itoa(i32 %t144) store i32 9666, ptr @lp_site %t146 = call ptr @lp_str_concat(ptr %t141, ptr %t145) store i32 0, ptr @lp_site call void @lp_free(ptr %t141) call void @fn_ck_err(ptr @.str17264, ptr %t127, ptr %t146) store ptr null, ptr %retval br label %ret ifend16: %t147 = load ptr, ptr %t38 %t148 = load ptr, ptr %t59 %t149 = load ptr, ptr %t54 %t150 = call ptr @fn_gen_clone(ptr %t147, ptr %t148, ptr %t149) store ptr %t150, ptr %t151 %t152 = load ptr, ptr %t151 %t153 = getelementptr inbounds %Cmp_Node, ptr %t152, i32 0, i32 1 %t154 = load ptr, ptr %t0 store ptr %t154, ptr %t153 %t155 = load ptr, ptr @g_g_gen_out %t156 = load ptr, ptr %t151 %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 %grow21, label %put22 grow21: %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 store i32 9667, ptr @lp_site %t171 = call ptr @lp_realloc(ptr %t170, i64 %t169) store i32 0, ptr @lp_site store ptr %t171, ptr %t159 store i32 %t165, ptr %t158 br label %put22 put22: %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 %t175 = load ptr, ptr @g_ck_rec_k %t176 = load ptr, ptr @g_ck_rec_v %t177 = load ptr, ptr %t0 %t178 = load ptr, ptr %t151 call void @fn_ck_tab_put(ptr %t175, ptr %t176, ptr %t177, ptr %t178) %t179 = load ptr, ptr %t151 store ptr %t179, ptr %retval br label %ret ret: %t180 = load ptr, ptr %retval ret ptr %t180 } define void @fn_gen_unify(ptr %arg_p, ptr %arg_a, ptr %arg_tps, ptr %arg_binds) { entry: %t0 = alloca ptr %t1 = alloca ptr %t2 = alloca ptr %t3 = alloca ptr %t4 = alloca i32 %t5 = alloca i32 %t27 = alloca i32 %t55 = alloca i32 %t72 = alloca i32 %t85 = alloca ptr %t88 = alloca ptr %t89 = alloca i32 %t90 = alloca i32 %t141 = alloca i32 %t144 = alloca i32 %t145 = alloca i32 %t146 = alloca i32 %t196 = alloca ptr %t208 = alloca ptr %t209 = alloca i32 %t210 = alloca i32 store ptr %arg_p, ptr %t0 store ptr %arg_a, ptr %t1 store ptr %arg_tps, ptr %t2 store ptr %arg_binds, ptr %t3 %t6 = load ptr, ptr %t0 %t7 = icmp eq ptr %t6, null %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 %scend1, label %sc0 sc0: %t11 = load ptr, ptr %t1 %t12 = call i32 @fn_ck_unknown(ptr %t11) %t13 = icmp ne i32 %t12, 0 %t14 = zext i1 %t13 to i32 store i32 %t14, ptr %t5 br label %scend1 scend1: %t15 = load i32, ptr %t5 %t16 = icmp ne i32 %t15, 0 %t17 = zext i1 %t16 to i32 store i32 %t17, ptr %t4 br i1 %t16, label %scend3, label %sc2 sc2: %t18 = load ptr, ptr %t1 %t19 = call i32 @lp_str_eq(ptr %t18, ptr @.str17268) %t20 = icmp ne i32 %t19, 0 %t21 = zext i1 %t20 to i32 store i32 %t21, ptr %t4 br label %scend3 scend3: %t22 = load i32, ptr %t4 %t23 = icmp ne i32 %t22, 0 br i1 %t23, label %then4, label %ifend6 then4: br label %ret ifend6: %t24 = load ptr, ptr %t2 %t25 = load ptr, ptr %t0 %t26 = call i32 @fn_gen_index(ptr %t24, ptr %t25) store i32 %t26, ptr %t27 %t28 = load i32, ptr %t27 %t29 = icmp sge i32 %t28, 0 %t30 = zext i1 %t29 to i32 %t31 = icmp ne i32 %t30, 0 br i1 %t31, label %then7, label %ifend9 then7: %t32 = load ptr, ptr %t3 %t33 = load i32, ptr %t27 %t34 = getelementptr inbounds %LSlice, ptr %t32, i32 0, i32 0 %t35 = load ptr, ptr %t34 %t36 = getelementptr inbounds %LSlice, ptr %t32, i32 0, i32 1 %t37 = load i32, ptr %t36 %t38 = icmp ult i32 %t33, %t37 br i1 %t38, label %ixok10, label %ixbad11 ixbad11: store i32 9668, ptr @lp_site %t39 = call ptr @lp_win_stdio(i32 2) store i32 0, ptr @lp_site call i32 (ptr, ptr, ...) @fprintf(ptr %t39, ptr @.fmt_bounds, ptr @.str17269, i32 %t33, i32 %t37) call void @exit(i32 1) unreachable ixok10: %t40 = getelementptr inbounds ptr, ptr %t35, i32 %t33 %t41 = load ptr, ptr %t40 %t42 = icmp eq ptr %t41, null %t43 = zext i1 %t42 to i32 %t44 = icmp ne i32 %t43, 0 br i1 %t44, label %then12, label %ifend14 then12: %t45 = load ptr, ptr %t3 %t46 = load i32, ptr %t27 %t47 = getelementptr inbounds %LSlice, ptr %t45, i32 0, i32 0 %t48 = load ptr, ptr %t47 %t49 = getelementptr inbounds %LSlice, ptr %t45, i32 0, i32 1 %t50 = load i32, ptr %t49 %t51 = icmp ult i32 %t46, %t50 br i1 %t51, label %ixok15, label %ixbad16 ixbad16: store i32 9669, ptr @lp_site %t52 = call ptr @lp_win_stdio(i32 2) store i32 0, ptr @lp_site call i32 (ptr, ptr, ...) @fprintf(ptr %t52, ptr @.fmt_bounds, ptr @.str17271, i32 %t46, i32 %t50) call void @exit(i32 1) unreachable ixok15: %t53 = getelementptr inbounds ptr, ptr %t48, i32 %t46 %t54 = load ptr, ptr %t1 store ptr %t54, ptr %t53 br label %ifend14 ifend14: br label %ret ifend9: %t56 = load ptr, ptr %t0 %t57 = call i32 @fn_is_slice_ty(ptr %t56) %t58 = icmp ne i32 %t57, 0 %t59 = zext i1 %t58 to i32 store i32 %t59, ptr %t55 br i1 %t58, label %sc17, label %scend18 sc17: %t60 = load ptr, ptr %t1 %t61 = call i32 @fn_is_slice_ty(ptr %t60) %t62 = icmp ne i32 %t61, 0 %t63 = zext i1 %t62 to i32 store i32 %t63, ptr %t55 br label %scend18 scend18: %t64 = load i32, ptr %t55 %t65 = icmp ne i32 %t64, 0 br i1 %t65, label %then19, label %ifend21 then19: %t66 = load ptr, ptr %t0 %t67 = call ptr @fn_slice_elem(ptr %t66) %t68 = load ptr, ptr %t1 %t69 = call ptr @fn_slice_elem(ptr %t68) %t70 = load ptr, ptr %t2 %t71 = load ptr, ptr %t3 call void @fn_gen_unify(ptr %t67, ptr %t69, ptr %t70, ptr %t71) br label %ret ifend21: %t73 = load ptr, ptr %t0 %t74 = call i32 @fn_is_fn_type(ptr %t73) %t75 = icmp ne i32 %t74, 0 %t76 = zext i1 %t75 to i32 store i32 %t76, ptr %t72 br i1 %t75, label %sc22, label %scend23 sc22: %t77 = load ptr, ptr %t1 %t78 = call i32 @fn_is_fn_type(ptr %t77) %t79 = icmp ne i32 %t78, 0 %t80 = zext i1 %t79 to i32 store i32 %t80, ptr %t72 br label %scend23 scend23: %t81 = load i32, ptr %t72 %t82 = icmp ne i32 %t81, 0 br i1 %t82, label %then24, label %ifend26 then24: %t83 = load ptr, ptr %t0 %t84 = call ptr @fn_fn_ty_params(ptr %t83) store ptr %t84, ptr %t85 %t86 = load ptr, ptr %t1 %t87 = call ptr @fn_fn_ty_params(ptr %t86) store ptr %t87, ptr %t88 store i32 0, ptr %t89 br label %wcond27 wcond27: %t91 = load i32, ptr %t89 %t92 = load ptr, ptr %t85 %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 %t98 = zext i1 %t97 to i32 store i32 %t98, ptr %t90 br i1 %t97, label %sc30, label %scend31 sc30: %t99 = load i32, ptr %t89 %t100 = load ptr, ptr %t88 %t101 = getelementptr inbounds %LSlice, ptr %t100, i32 0, i32 1 %t102 = load i32, ptr %t101 %t103 = icmp slt i32 %t99, %t102 %t104 = zext i1 %t103 to i32 %t105 = icmp ne i32 %t104, 0 %t106 = zext i1 %t105 to i32 store i32 %t106, ptr %t90 br label %scend31 scend31: %t107 = load i32, ptr %t90 %t108 = icmp ne i32 %t107, 0 br i1 %t108, label %wbody28, label %wend29 wbody28: %t109 = load ptr, ptr %t85 %t110 = load i32, ptr %t89 %t111 = getelementptr inbounds %LSlice, ptr %t109, i32 0, i32 0 %t112 = load ptr, ptr %t111 %t113 = getelementptr inbounds %LSlice, ptr %t109, i32 0, i32 1 %t114 = load i32, ptr %t113 %t115 = icmp ult i32 %t110, %t114 br i1 %t115, label %ixok32, label %ixbad33 ixbad33: store i32 9670, ptr @lp_site %t116 = call ptr @lp_win_stdio(i32 2) store i32 0, ptr @lp_site call i32 (ptr, ptr, ...) @fprintf(ptr %t116, ptr @.fmt_bounds, ptr @.str17272, i32 %t110, i32 %t114) call void @exit(i32 1) unreachable ixok32: %t117 = getelementptr inbounds ptr, ptr %t112, i32 %t110 %t118 = load ptr, ptr %t117 %t119 = load ptr, ptr %t88 %t120 = load i32, ptr %t89 %t121 = getelementptr inbounds %LSlice, ptr %t119, i32 0, i32 0 %t122 = load ptr, ptr %t121 %t123 = getelementptr inbounds %LSlice, ptr %t119, i32 0, i32 1 %t124 = load i32, ptr %t123 %t125 = icmp ult i32 %t120, %t124 br i1 %t125, label %ixok34, label %ixbad35 ixbad35: store i32 9671, ptr @lp_site %t126 = call ptr @lp_win_stdio(i32 2) store i32 0, ptr @lp_site call i32 (ptr, ptr, ...) @fprintf(ptr %t126, ptr @.fmt_bounds, ptr @.str17273, i32 %t120, i32 %t124) call void @exit(i32 1) unreachable ixok34: %t127 = getelementptr inbounds ptr, ptr %t122, i32 %t120 %t128 = load ptr, ptr %t127 %t129 = load ptr, ptr %t2 %t130 = load ptr, ptr %t3 call void @fn_gen_unify(ptr %t118, ptr %t128, ptr %t129, ptr %t130) %t131 = load i32, ptr %t89 %t132 = add i32 %t131, 1 store i32 %t132, ptr %t89 br label %wcond27 wend29: %t133 = load ptr, ptr %t0 %t134 = call ptr @fn_fn_ty_ret(ptr %t133) %t135 = load ptr, ptr %t1 %t136 = call ptr @fn_fn_ty_ret(ptr %t135) %t137 = load ptr, ptr %t2 %t138 = load ptr, ptr %t3 call void @fn_gen_unify(ptr %t134, ptr %t136, ptr %t137, ptr %t138) br label %ret ifend26: %t139 = load ptr, ptr %t0 %t140 = call i32 @fn_gen_find(ptr %t139) store i32 %t140, ptr %t141 %t142 = load ptr, ptr %t1 %t143 = call i32 @fn_gen_find(ptr %t142) store i32 %t143, ptr %t144 %t147 = load i32, ptr %t141 %t148 = icmp sge i32 %t147, 0 %t149 = zext i1 %t148 to i32 %t150 = icmp ne i32 %t149, 0 %t151 = zext i1 %t150 to i32 store i32 %t151, ptr %t146 br i1 %t150, label %sc36, label %scend37 sc36: %t152 = load i32, ptr %t144 %t153 = icmp sge i32 %t152, 0 %t154 = zext i1 %t153 to i32 %t155 = icmp ne i32 %t154, 0 %t156 = zext i1 %t155 to i32 store i32 %t156, ptr %t146 br label %scend37 scend37: %t157 = load i32, ptr %t146 %t158 = icmp ne i32 %t157, 0 %t159 = zext i1 %t158 to i32 store i32 %t159, ptr %t145 br i1 %t158, label %sc38, label %scend39 sc38: %t160 = load ptr, ptr @g_g_gi_gen %t161 = load i32, ptr %t141 %t162 = getelementptr inbounds %LSlice, ptr %t160, i32 0, i32 0 %t163 = load ptr, ptr %t162 %t164 = getelementptr inbounds %LSlice, ptr %t160, i32 0, i32 1 %t165 = load i32, ptr %t164 %t166 = icmp ult i32 %t161, %t165 br i1 %t166, label %ixok40, label %ixbad41 ixbad41: store i32 9672, ptr @lp_site %t167 = call ptr @lp_win_stdio(i32 2) store i32 0, ptr @lp_site call i32 (ptr, ptr, ...) @fprintf(ptr %t167, ptr @.fmt_bounds, ptr @.str17274, i32 %t161, i32 %t165) call void @exit(i32 1) unreachable ixok40: %t168 = getelementptr inbounds ptr, ptr %t163, i32 %t161 %t169 = load ptr, ptr %t168 %t170 = load ptr, ptr @g_g_gi_gen %t171 = load i32, ptr %t144 %t172 = getelementptr inbounds %LSlice, ptr %t170, i32 0, i32 0 %t173 = load ptr, ptr %t172 %t174 = getelementptr inbounds %LSlice, ptr %t170, i32 0, i32 1 %t175 = load i32, ptr %t174 %t176 = icmp ult i32 %t171, %t175 br i1 %t176, label %ixok42, label %ixbad43 ixbad43: store i32 9673, ptr @lp_site %t177 = call ptr @lp_win_stdio(i32 2) store i32 0, ptr @lp_site call i32 (ptr, ptr, ...) @fprintf(ptr %t177, ptr @.fmt_bounds, ptr @.str17275, i32 %t171, i32 %t175) call void @exit(i32 1) unreachable ixok42: %t178 = getelementptr inbounds ptr, ptr %t173, i32 %t171 %t179 = load ptr, ptr %t178 %t180 = call i32 @lp_str_eq(ptr %t169, ptr %t179) %t181 = icmp ne i32 %t180, 0 %t182 = zext i1 %t181 to i32 store i32 %t182, ptr %t145 br label %scend39 scend39: %t183 = load i32, ptr %t145 %t184 = icmp ne i32 %t183, 0 br i1 %t184, label %then44, label %ifend46 then44: %t185 = load ptr, ptr @g_g_gi_args %t186 = load i32, ptr %t141 %t187 = getelementptr inbounds %LSlice, ptr %t185, i32 0, i32 0 %t188 = load ptr, ptr %t187 %t189 = getelementptr inbounds %LSlice, ptr %t185, i32 0, i32 1 %t190 = load i32, ptr %t189 %t191 = icmp ult i32 %t186, %t190 br i1 %t191, label %ixok47, label %ixbad48 ixbad48: store i32 9674, ptr @lp_site %t192 = call ptr @lp_win_stdio(i32 2) store i32 0, ptr @lp_site call i32 (ptr, ptr, ...) @fprintf(ptr %t192, ptr @.fmt_bounds, ptr @.str17276, i32 %t186, i32 %t190) call void @exit(i32 1) unreachable ixok47: %t193 = getelementptr inbounds ptr, ptr %t188, i32 %t186 %t194 = load ptr, ptr %t193 %t195 = call ptr @fn_gen_split(ptr %t194) store ptr %t195, ptr %t196 %t197 = load ptr, ptr @g_g_gi_args %t198 = load i32, ptr %t144 %t199 = getelementptr inbounds %LSlice, ptr %t197, i32 0, i32 0 %t200 = load ptr, ptr %t199 %t201 = getelementptr inbounds %LSlice, ptr %t197, i32 0, i32 1 %t202 = load i32, ptr %t201 %t203 = icmp ult i32 %t198, %t202 br i1 %t203, label %ixok49, label %ixbad50 ixbad50: store i32 9675, ptr @lp_site %t204 = call ptr @lp_win_stdio(i32 2) store i32 0, ptr @lp_site call i32 (ptr, ptr, ...) @fprintf(ptr %t204, ptr @.fmt_bounds, ptr @.str17277, i32 %t198, i32 %t202) call void @exit(i32 1) unreachable ixok49: %t205 = getelementptr inbounds ptr, ptr %t200, i32 %t198 %t206 = load ptr, ptr %t205 %t207 = call ptr @fn_gen_split(ptr %t206) store ptr %t207, ptr %t208 store i32 0, ptr %t209 br label %wcond51 wcond51: %t211 = load i32, ptr %t209 %t212 = load ptr, ptr %t196 %t213 = getelementptr inbounds %LSlice, ptr %t212, i32 0, i32 1 %t214 = load i32, ptr %t213 %t215 = icmp slt i32 %t211, %t214 %t216 = zext i1 %t215 to i32 %t217 = icmp ne i32 %t216, 0 %t218 = zext i1 %t217 to i32 store i32 %t218, ptr %t210 br i1 %t217, label %sc54, label %scend55 sc54: %t219 = load i32, ptr %t209 %t220 = load ptr, ptr %t208 %t221 = getelementptr inbounds %LSlice, ptr %t220, i32 0, i32 1 %t222 = load i32, ptr %t221 %t223 = icmp slt i32 %t219, %t222 %t224 = zext i1 %t223 to i32 %t225 = icmp ne i32 %t224, 0 %t226 = zext i1 %t225 to i32 store i32 %t226, ptr %t210 br label %scend55 scend55: %t227 = load i32, ptr %t210 %t228 = icmp ne i32 %t227, 0 br i1 %t228, label %wbody52, label %wend53 wbody52: %t229 = load ptr, ptr %t196 %t230 = load i32, ptr %t209 %t231 = getelementptr inbounds %LSlice, ptr %t229, i32 0, i32 0 %t232 = load ptr, ptr %t231 %t233 = getelementptr inbounds %LSlice, ptr %t229, i32 0, i32 1 %t234 = load i32, ptr %t233 %t235 = icmp ult i32 %t230, %t234 br i1 %t235, label %ixok56, label %ixbad57 ixbad57: store i32 9676, ptr @lp_site %t236 = call ptr @lp_win_stdio(i32 2) store i32 0, ptr @lp_site call i32 (ptr, ptr, ...) @fprintf(ptr %t236, ptr @.fmt_bounds, ptr @.str17278, i32 %t230, i32 %t234) call void @exit(i32 1) unreachable ixok56: %t237 = getelementptr inbounds ptr, ptr %t232, i32 %t230 %t238 = load ptr, ptr %t237 %t239 = load ptr, ptr %t208 %t240 = load i32, ptr %t209 %t241 = getelementptr inbounds %LSlice, ptr %t239, i32 0, i32 0 %t242 = load ptr, ptr %t241 %t243 = getelementptr inbounds %LSlice, ptr %t239, i32 0, i32 1 %t244 = load i32, ptr %t243 %t245 = icmp ult i32 %t240, %t244 br i1 %t245, label %ixok58, label %ixbad59 ixbad59: store i32 9677, ptr @lp_site %t246 = call ptr @lp_win_stdio(i32 2) store i32 0, ptr @lp_site call i32 (ptr, ptr, ...) @fprintf(ptr %t246, ptr @.fmt_bounds, ptr @.str17279, i32 %t240, i32 %t244) call void @exit(i32 1) unreachable ixok58: %t247 = getelementptr inbounds ptr, ptr %t242, i32 %t240 %t248 = load ptr, ptr %t247 %t249 = load ptr, ptr %t2 %t250 = load ptr, ptr %t3 call void @fn_gen_unify(ptr %t238, ptr %t248, ptr %t249, ptr %t250) %t251 = load i32, ptr %t209 %t252 = add i32 %t251, 1 store i32 %t252, ptr %t209 br label %wcond51 wend53: br label %ifend46 ifend46: br label %ret ret: ret void } define ptr @fn_gen_show(ptr %arg_t) { entry: %retval = alloca ptr %t0 = alloca ptr %t14 = alloca i32 %t31 = alloca ptr %t32 = alloca ptr %t44 = alloca i32 store ptr %arg_t, 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: store ptr @.str17280, ptr %retval br label %ret ifend2: %t5 = load ptr, ptr %t0 %t6 = call i32 @fn_is_slice_ty(ptr %t5) %t7 = icmp ne i32 %t6, 0 br i1 %t7, label %then3, label %ifend5 then3: %t8 = load ptr, ptr %t0 %t9 = call ptr @fn_slice_elem(ptr %t8) %t10 = call ptr @fn_gen_show(ptr %t9) store i32 9678, ptr @lp_site %t11 = call ptr @lp_str_concat(ptr @.str17281, ptr %t10) store i32 0, ptr @lp_site store ptr %t11, ptr %retval br label %ret ifend5: %t12 = load ptr, ptr %t0 %t13 = call i32 @fn_gen_find(ptr %t12) store i32 %t13, ptr %t14 %t15 = load i32, ptr %t14 %t16 = icmp slt i32 %t15, 0 %t17 = zext i1 %t16 to i32 %t18 = icmp ne i32 %t17, 0 br i1 %t18, label %then6, label %ifend8 then6: %t19 = load ptr, ptr %t0 store ptr %t19, ptr %retval br label %ret ifend8: %t20 = load ptr, ptr @g_g_gi_args %t21 = load i32, ptr %t14 %t22 = getelementptr inbounds %LSlice, ptr %t20, i32 0, i32 0 %t23 = load ptr, ptr %t22 %t24 = getelementptr inbounds %LSlice, ptr %t20, i32 0, i32 1 %t25 = load i32, ptr %t24 %t26 = icmp ult i32 %t21, %t25 br i1 %t26, label %ixok9, label %ixbad10 ixbad10: store i32 9679, ptr @lp_site %t27 = call ptr @lp_win_stdio(i32 2) store i32 0, ptr @lp_site call i32 (ptr, ptr, ...) @fprintf(ptr %t27, ptr @.fmt_bounds, ptr @.str17283, i32 %t21, i32 %t25) call void @exit(i32 1) unreachable ixok9: %t28 = getelementptr inbounds ptr, ptr %t23, i32 %t21 %t29 = load ptr, ptr %t28 %t30 = call ptr @fn_gen_split(ptr %t29) store ptr %t30, ptr %t31 %t33 = load ptr, ptr @g_g_gi_gen %t34 = load i32, ptr %t14 %t35 = getelementptr inbounds %LSlice, ptr %t33, i32 0, i32 0 %t36 = load ptr, ptr %t35 %t37 = getelementptr inbounds %LSlice, ptr %t33, i32 0, i32 1 %t38 = load i32, ptr %t37 %t39 = icmp ult i32 %t34, %t38 br i1 %t39, label %ixok11, label %ixbad12 ixbad12: store i32 9680, ptr @lp_site %t40 = call ptr @lp_win_stdio(i32 2) store i32 0, ptr @lp_site call i32 (ptr, ptr, ...) @fprintf(ptr %t40, ptr @.fmt_bounds, ptr @.str17284, i32 %t34, i32 %t38) call void @exit(i32 1) unreachable ixok11: %t41 = getelementptr inbounds ptr, ptr %t36, i32 %t34 %t42 = load ptr, ptr %t41 store i32 9681, ptr @lp_site %t43 = call ptr @lp_str_concat(ptr %t42, ptr @.str17285) store i32 0, ptr @lp_site store ptr %t43, ptr %t32 store i32 0, ptr %t44 br label %wcond13 wcond13: %t45 = load i32, ptr %t44 %t46 = load ptr, ptr %t31 %t47 = getelementptr inbounds %LSlice, ptr %t46, i32 0, i32 1 %t48 = load i32, ptr %t47 %t49 = icmp slt i32 %t45, %t48 %t50 = zext i1 %t49 to i32 %t51 = icmp ne i32 %t50, 0 br i1 %t51, label %wbody14, label %wend15 wbody14: %t52 = load i32, ptr %t44 %t53 = icmp sgt i32 %t52, 0 %t54 = zext i1 %t53 to i32 %t55 = icmp ne i32 %t54, 0 br i1 %t55, label %then16, label %ifend18 then16: %t56 = load ptr, ptr %t32 store i32 9682, ptr @lp_site %t57 = call ptr @lp_str_concat(ptr %t56, ptr @.str17286) store i32 0, ptr @lp_site store ptr %t57, ptr %t32 br label %ifend18 ifend18: %t58 = load ptr, ptr %t32 %t59 = load ptr, ptr %t31 %t60 = load i32, ptr %t44 %t61 = getelementptr inbounds %LSlice, ptr %t59, i32 0, i32 0 %t62 = load ptr, ptr %t61 %t63 = getelementptr inbounds %LSlice, ptr %t59, i32 0, i32 1 %t64 = load i32, ptr %t63 %t65 = icmp ult i32 %t60, %t64 br i1 %t65, label %ixok19, label %ixbad20 ixbad20: store i32 9683, ptr @lp_site %t66 = call ptr @lp_win_stdio(i32 2) store i32 0, ptr @lp_site call i32 (ptr, ptr, ...) @fprintf(ptr %t66, ptr @.fmt_bounds, ptr @.str17287, i32 %t60, i32 %t64) call void @exit(i32 1) unreachable ixok19: %t67 = getelementptr inbounds ptr, ptr %t62, i32 %t60 %t68 = load ptr, ptr %t67 %t69 = call ptr @fn_gen_show(ptr %t68) store i32 9684, ptr @lp_site %t70 = call ptr @lp_str_concat(ptr %t58, ptr %t69) store i32 0, ptr @lp_site store ptr %t70, ptr %t32 %t71 = load i32, ptr %t44 %t72 = add i32 %t71, 1 store i32 %t72, ptr %t44 br label %wcond13 wend15: %t73 = load ptr, ptr %t32 store i32 9685, ptr @lp_site %t74 = call ptr @lp_str_concat(ptr %t73, ptr @.str17288) store i32 0, ptr @lp_site store ptr %t74, ptr %retval br label %ret ret: %t75 = load ptr, ptr %retval ret ptr %t75 } define ptr @fn_gen_instance_name(ptr %arg_name, ptr %arg_binds) { entry: %retval = alloca ptr %t0 = alloca ptr %t1 = alloca ptr %t2 = alloca ptr %t4 = alloca i32 store ptr %arg_name, ptr %t0 store ptr %arg_binds, ptr %t1 %t3 = load ptr, ptr %t0 store ptr %t3, ptr %t2 store i32 0, ptr %t4 br label %wcond0 wcond0: %t5 = load i32, ptr %t4 %t6 = load ptr, ptr %t1 %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 %t2 store i32 9686, ptr @lp_site %t13 = call ptr @lp_str_concat(ptr %t12, ptr @.str17289) store i32 0, ptr @lp_site %t14 = load ptr, ptr %t1 %t15 = load i32, ptr %t4 %t16 = getelementptr inbounds %LSlice, ptr %t14, i32 0, i32 0 %t17 = load ptr, ptr %t16 %t18 = getelementptr inbounds %LSlice, ptr %t14, i32 0, i32 1 %t19 = load i32, ptr %t18 %t20 = icmp ult i32 %t15, %t19 br i1 %t20, label %ixok3, label %ixbad4 ixbad4: store i32 9687, ptr @lp_site %t21 = call ptr @lp_win_stdio(i32 2) store i32 0, ptr @lp_site call i32 (ptr, ptr, ...) @fprintf(ptr %t21, ptr @.fmt_bounds, ptr @.str17291, i32 %t15, i32 %t19) call void @exit(i32 1) unreachable ixok3: %t22 = getelementptr inbounds ptr, ptr %t17, i32 %t15 %t23 = load ptr, ptr %t22 %t24 = call ptr @fn_gen_mangle(ptr %t23) store i32 9688, ptr @lp_site %t25 = call ptr @lp_str_concat(ptr %t13, ptr %t24) store i32 0, ptr @lp_site call void @lp_free(ptr %t13) store ptr %t25, ptr %t2 %t26 = load i32, ptr %t4 %t27 = add i32 %t26, 1 store i32 %t27, ptr %t4 br label %wcond0 wend2: %t28 = load ptr, ptr %t2 store ptr %t28, ptr %retval br label %ret ret: %t29 = load ptr, ptr %retval ret ptr %t29 } define ptr @fn_gen_fn_instance(ptr %arg_t, ptr %arg_iname, ptr %arg_binds) { entry: %retval = alloca ptr %t0 = alloca ptr %t1 = alloca ptr %t2 = alloca ptr %t5 = alloca ptr %t18 = alloca ptr store ptr %arg_t, ptr %t0 store ptr %arg_iname, ptr %t1 store ptr %arg_binds, ptr %t2 %t3 = load ptr, ptr %t1 %t4 = call ptr @fn_ck_fn(ptr %t3) store ptr %t4, ptr %t5 %t6 = load ptr, ptr %t5 %t7 = icmp ne 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 %t5 store ptr %t10, ptr %retval br label %ret ifend2: %t11 = load ptr, ptr %t0 %t12 = load ptr, ptr %t0 %t13 = getelementptr inbounds %Cmp_Node, ptr %t12, i32 0, i32 11 %t14 = load ptr, ptr %t13 %t15 = call ptr @fn_gen_split(ptr %t14) %t16 = load ptr, ptr %t2 %t17 = call ptr @fn_gen_clone(ptr %t11, ptr %t15, ptr %t16) store ptr %t17, ptr %t18 %t19 = load ptr, ptr %t18 %t20 = getelementptr inbounds %Cmp_Node, ptr %t19, i32 0, i32 1 %t21 = load ptr, ptr %t1 store ptr %t21, ptr %t20 %t22 = load i32, ptr @g_g_migrate %t23 = icmp ne i32 %t22, 0 br i1 %t23, label %then3, label %ifend5 then3: %t24 = load ptr, ptr %t18 %t25 = getelementptr inbounds %Cmp_Node, ptr %t24, i32 0, i32 15 %t26 = load ptr, ptr %t0 %t27 = call i32 @fn_mg_unit(ptr %t26, i32 0) store i32 %t27, ptr %t25 br label %ifend5 ifend5: %t28 = load ptr, ptr @g_g_gen_out %t29 = load ptr, ptr %t18 %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 %grow6, label %put7 grow6: %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 store i32 9689, ptr @lp_site %t44 = call ptr @lp_realloc(ptr %t43, i64 %t42) store i32 0, ptr @lp_site store ptr %t44, ptr %t32 store i32 %t38, ptr %t31 br label %put7 put7: %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 = load ptr, ptr @g_g_gen_work %t49 = load ptr, ptr %t18 %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 store i32 9690, ptr @lp_site %t64 = call ptr @lp_realloc(ptr %t63, i64 %t62) store i32 0, ptr @lp_site 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 %t68 = load ptr, ptr @g_ck_fn_k %t69 = load ptr, ptr @g_ck_fn_v %t70 = load ptr, ptr %t1 %t71 = load ptr, ptr %t18 call void @fn_ck_tab_put(ptr %t68, ptr %t69, ptr %t70, ptr %t71) %t72 = load ptr, ptr %t18 store ptr %t72, ptr %retval br label %ret ret: %t73 = load ptr, ptr %retval ret ptr %t73 } define ptr @fn_gen_arg_nodes(ptr %arg_e, ptr %arg_labels) { entry: %retval = alloca ptr %t0 = alloca ptr %t1 = alloca ptr %t8 = alloca ptr %t9 = alloca i32 %t38 = alloca i32 %t60 = alloca ptr %t72 = alloca i32 store ptr %arg_e, ptr %t0 store ptr %arg_labels, ptr %t1 %t2 = getelementptr %LSlice, ptr null, i32 1 %t3 = ptrtoint ptr %t2 to i64 store i32 9691, ptr @lp_site %t4 = call ptr @lp_malloc(i64 %t3) store i32 0, ptr @lp_site %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 %t8 store i32 0, ptr %t9 br label %wcond0 wcond0: %t10 = load i32, ptr %t9 %t11 = load ptr, ptr %t1 %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 %wbody1, label %wend2 wbody1: %t17 = load ptr, ptr %t8 %t18 = getelementptr inbounds %LSlice, ptr %t17, i32 0, i32 1 %t19 = getelementptr inbounds %LSlice, ptr %t17, i32 0, i32 2 %t20 = getelementptr inbounds %LSlice, ptr %t17, i32 0, i32 0 %t21 = load i32, ptr %t18 %t22 = load i32, ptr %t19 %t23 = icmp sge i32 %t21, %t22 br i1 %t23, label %grow3, label %put4 grow3: %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 store i32 9692, ptr @lp_site %t32 = call ptr @lp_realloc(ptr %t31, i64 %t30) store i32 0, ptr @lp_site store ptr %t32, ptr %t20 store i32 %t26, ptr %t19 br label %put4 put4: %t33 = load ptr, ptr %t20 %t34 = getelementptr inbounds ptr, ptr %t33, i32 %t21 store ptr null, ptr %t34 %t35 = add i32 %t21, 1 store i32 %t35, ptr %t18 %t36 = load i32, ptr %t9 %t37 = add i32 %t36, 1 store i32 %t37, ptr %t9 br label %wcond0 wend2: store i32 0, ptr %t38 br label %wcond5 wcond5: %t39 = load i32, ptr %t38 %t40 = load ptr, ptr %t0 %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 = icmp slt i32 %t39, %t44 %t46 = zext i1 %t45 to i32 %t47 = icmp ne i32 %t46, 0 br i1 %t47, label %wbody6, label %wend7 wbody6: %t48 = load ptr, ptr %t0 %t49 = getelementptr inbounds %Cmp_Node, ptr %t48, i32 0, i32 7 %t50 = load ptr, ptr %t49 %t51 = load i32, ptr %t38 %t52 = getelementptr inbounds %LSlice, ptr %t50, i32 0, i32 0 %t53 = load ptr, ptr %t52 %t54 = getelementptr inbounds %LSlice, ptr %t50, i32 0, i32 1 %t55 = load i32, ptr %t54 %t56 = icmp ult i32 %t51, %t55 br i1 %t56, label %ixok8, label %ixbad9 ixbad9: store i32 9693, ptr @lp_site %t57 = call ptr @lp_win_stdio(i32 2) store i32 0, ptr @lp_site call i32 (ptr, ptr, ...) @fprintf(ptr %t57, ptr @.fmt_bounds, ptr @.str17294, i32 %t51, i32 %t55) call void @exit(i32 1) unreachable ixok8: %t58 = getelementptr inbounds ptr, ptr %t53, i32 %t51 %t59 = load ptr, ptr %t58 store ptr %t59, ptr %t60 %t61 = load ptr, ptr %t60 %t62 = getelementptr inbounds %Cmp_Node, ptr %t61, i32 0, i32 0 %t63 = load i32, ptr %t62 %t64 = icmp eq i32 %t63, 42 %t65 = zext i1 %t64 to i32 %t66 = icmp ne i32 %t65, 0 br i1 %t66, label %then10, label %else11 then10: %t67 = load ptr, ptr %t1 %t68 = load ptr, ptr %t60 %t69 = getelementptr inbounds %Cmp_Node, ptr %t68, i32 0, i32 1 %t70 = load ptr, ptr %t69 %t71 = call i32 @fn_gen_index(ptr %t67, ptr %t70) store i32 %t71, ptr %t72 %t73 = load i32, ptr %t72 %t74 = icmp sge i32 %t73, 0 %t75 = zext i1 %t74 to i32 %t76 = icmp ne i32 %t75, 0 br i1 %t76, label %then13, label %ifend15 then13: %t77 = load ptr, ptr %t8 %t78 = load i32, ptr %t72 %t79 = getelementptr inbounds %LSlice, ptr %t77, i32 0, i32 0 %t80 = load ptr, ptr %t79 %t81 = getelementptr inbounds %LSlice, ptr %t77, i32 0, i32 1 %t82 = load i32, ptr %t81 %t83 = icmp ult i32 %t78, %t82 br i1 %t83, label %ixok16, label %ixbad17 ixbad17: store i32 9694, ptr @lp_site %t84 = call ptr @lp_win_stdio(i32 2) store i32 0, ptr @lp_site call i32 (ptr, ptr, ...) @fprintf(ptr %t84, ptr @.fmt_bounds, ptr @.str17295, i32 %t78, i32 %t82) call void @exit(i32 1) unreachable ixok16: %t85 = getelementptr inbounds ptr, ptr %t80, i32 %t78 %t86 = load ptr, ptr %t60 %t87 = getelementptr inbounds %Cmp_Node, ptr %t86, i32 0, i32 4 %t88 = load ptr, ptr %t87 store ptr %t88, ptr %t85 br label %ifend15 ifend15: br label %ifend12 else11: %t89 = load i32, ptr %t38 %t90 = load ptr, ptr %t8 %t91 = getelementptr inbounds %LSlice, ptr %t90, i32 0, i32 1 %t92 = load i32, ptr %t91 %t93 = icmp slt i32 %t89, %t92 %t94 = zext i1 %t93 to i32 %t95 = icmp ne i32 %t94, 0 br i1 %t95, label %then18, label %ifend20 then18: %t96 = load ptr, ptr %t8 %t97 = load i32, ptr %t38 %t98 = getelementptr inbounds %LSlice, ptr %t96, i32 0, i32 0 %t99 = load ptr, ptr %t98 %t100 = getelementptr inbounds %LSlice, ptr %t96, i32 0, i32 1 %t101 = load i32, ptr %t100 %t102 = icmp ult i32 %t97, %t101 br i1 %t102, label %ixok21, label %ixbad22 ixbad22: store i32 9695, ptr @lp_site %t103 = call ptr @lp_win_stdio(i32 2) store i32 0, ptr @lp_site call i32 (ptr, ptr, ...) @fprintf(ptr %t103, ptr @.fmt_bounds, ptr @.str17296, i32 %t97, i32 %t101) call void @exit(i32 1) unreachable ixok21: %t104 = getelementptr inbounds ptr, ptr %t99, i32 %t97 %t105 = load ptr, ptr %t60 store ptr %t105, ptr %t104 br label %ifend20 ifend20: br label %ifend12 ifend12: %t106 = load i32, ptr %t38 %t107 = add i32 %t106, 1 store i32 %t107, ptr %t38 br label %wcond5 wend7: %t108 = load ptr, ptr %t8 store ptr %t108, ptr %retval br label %ret ret: %t109 = load ptr, ptr %retval ret ptr %t109 } define ptr @fn_gen_call(ptr %arg_e, ptr %arg_name, ptr %arg_t) { entry: %retval = alloca ptr %t0 = alloca ptr %t1 = alloca ptr %t2 = alloca ptr %t6 = alloca ptr %t13 = alloca ptr %t20 = alloca ptr %t27 = alloca ptr %t61 = alloca ptr %t68 = alloca ptr %t75 = alloca ptr %t76 = alloca i32 %t112 = alloca ptr %t157 = alloca i32 %t217 = alloca i32 %t271 = alloca i32 %t316 = alloca ptr %t330 = alloca ptr %t337 = alloca ptr %t341 = alloca i32 store ptr %arg_e, ptr %t0 store ptr %arg_name, ptr %t1 store ptr %arg_t, ptr %t2 %t3 = load ptr, ptr %t0 %t4 = load ptr, ptr %t2 call void @fn_mg_call(ptr %t3, ptr %t4) %t5 = load ptr, ptr @g_ck_call_expect store ptr %t5, ptr %t6 %t7 = load ptr, ptr %t0 %t8 = load ptr, ptr %t2 call void @fn_call_fill_defaults(ptr %t7, ptr %t8) %t9 = load ptr, ptr %t2 %t10 = getelementptr inbounds %Cmp_Node, ptr %t9, i32 0, i32 11 %t11 = load ptr, ptr %t10 %t12 = call ptr @fn_gen_split(ptr %t11) store ptr %t12, ptr %t13 %t14 = getelementptr %LSlice, ptr null, i32 1 %t15 = ptrtoint ptr %t14 to i64 store i32 9696, ptr @lp_site %t16 = call ptr @lp_malloc(i64 %t15) store i32 0, ptr @lp_site %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 store i32 9697, ptr @lp_site %t23 = call ptr @lp_malloc(i64 %t22) store i32 0, ptr @lp_site %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 %t28 = load ptr, ptr %t2 %t29 = load ptr, ptr %t20 %t30 = load ptr, ptr %t27 call void @fn_ck_params(ptr %t28, ptr %t29, ptr %t30) %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 1 %t35 = load i32, ptr %t34 %t36 = load ptr, ptr %t27 %t37 = getelementptr inbounds %LSlice, ptr %t36, i32 0, i32 1 %t38 = load i32, ptr %t37 %t39 = icmp ne i32 %t35, %t38 %t40 = zext i1 %t39 to i32 %t41 = icmp ne i32 %t40, 0 br i1 %t41, label %then0, label %ifend2 then0: %t42 = load ptr, ptr %t0 %t43 = load ptr, ptr %t1 store i32 9698, ptr @lp_site %t44 = call ptr @lp_str_concat(ptr %t43, ptr @.str17299) store i32 0, ptr @lp_site %t45 = load ptr, ptr %t27 %t46 = getelementptr inbounds %LSlice, ptr %t45, i32 0, i32 1 %t47 = load i32, ptr %t46 %t48 = call ptr @fn_itoa(i32 %t47) store i32 9699, ptr @lp_site %t49 = call ptr @lp_str_concat(ptr %t44, ptr %t48) store i32 0, ptr @lp_site call void @lp_free(ptr %t44) store i32 9700, ptr @lp_site %t50 = call ptr @lp_str_concat(ptr %t49, ptr @.str17300) store i32 0, ptr @lp_site call void @lp_free(ptr %t49) %t51 = load ptr, ptr %t0 %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 1 %t55 = load i32, ptr %t54 %t56 = call ptr @fn_itoa(i32 %t55) store i32 9701, ptr @lp_site %t57 = call ptr @lp_str_concat(ptr %t50, ptr %t56) store i32 0, ptr @lp_site call void @lp_free(ptr %t50) call void @fn_ck_err(ptr @.str17298, ptr %t42, ptr %t57) br label %ifend2 ifend2: %t58 = load ptr, ptr %t0 %t59 = load ptr, ptr %t20 %t60 = call ptr @fn_gen_arg_nodes(ptr %t58, ptr %t59) store ptr %t60, ptr %t61 %t62 = getelementptr %LSlice, ptr null, i32 1 %t63 = ptrtoint ptr %t62 to i64 store i32 9702, ptr @lp_site %t64 = call ptr @lp_malloc(i64 %t63) store i32 0, ptr @lp_site %t65 = getelementptr inbounds %LSlice, ptr %t64, i32 0, i32 0 store ptr null, ptr %t65 %t66 = getelementptr inbounds %LSlice, ptr %t64, i32 0, i32 1 store i32 0, ptr %t66 %t67 = getelementptr inbounds %LSlice, ptr %t64, i32 0, i32 2 store i32 0, ptr %t67 store ptr %t64, ptr %t68 %t69 = getelementptr %LSlice, ptr null, i32 1 %t70 = ptrtoint ptr %t69 to i64 store i32 9703, ptr @lp_site %t71 = call ptr @lp_malloc(i64 %t70) store i32 0, ptr @lp_site %t72 = getelementptr inbounds %LSlice, ptr %t71, i32 0, i32 0 store ptr null, ptr %t72 %t73 = getelementptr inbounds %LSlice, ptr %t71, i32 0, i32 1 store i32 0, ptr %t73 %t74 = getelementptr inbounds %LSlice, ptr %t71, i32 0, i32 2 store i32 0, ptr %t74 store ptr %t71, ptr %t75 store i32 0, ptr %t76 br label %wcond3 wcond3: %t77 = load i32, ptr %t76 %t78 = load ptr, ptr %t13 %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 %wbody4, label %wend5 wbody4: %t84 = load ptr, ptr %t75 %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 %grow6, label %put7 grow6: %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 store i32 9704, ptr @lp_site %t99 = call ptr @lp_realloc(ptr %t98, i64 %t97) store i32 0, ptr @lp_site store ptr %t99, ptr %t87 store i32 %t93, ptr %t86 br label %put7 put7: %t100 = load ptr, ptr %t87 %t101 = getelementptr inbounds ptr, ptr %t100, i32 %t88 store ptr null, ptr %t101 %t102 = add i32 %t88, 1 store i32 %t102, ptr %t85 %t103 = load i32, ptr %t76 %t104 = add i32 %t103, 1 store i32 %t104, ptr %t76 br label %wcond3 wend5: store i32 0, ptr %t76 br label %wcond8 wcond8: %t105 = load i32, ptr %t76 %t106 = load ptr, ptr %t61 %t107 = getelementptr inbounds %LSlice, ptr %t106, i32 0, i32 1 %t108 = load i32, ptr %t107 %t109 = icmp slt i32 %t105, %t108 %t110 = zext i1 %t109 to i32 %t111 = icmp ne i32 %t110, 0 br i1 %t111, label %wbody9, label %wend10 wbody9: store ptr @.str17301, ptr %t112 %t113 = load ptr, ptr %t61 %t114 = load i32, ptr %t76 %t115 = getelementptr inbounds %LSlice, ptr %t113, i32 0, i32 0 %t116 = load ptr, ptr %t115 %t117 = getelementptr inbounds %LSlice, ptr %t113, i32 0, i32 1 %t118 = load i32, ptr %t117 %t119 = icmp ult i32 %t114, %t118 br i1 %t119, label %ixok11, label %ixbad12 ixbad12: store i32 9705, ptr @lp_site %t120 = call ptr @lp_win_stdio(i32 2) store i32 0, ptr @lp_site call i32 (ptr, ptr, ...) @fprintf(ptr %t120, ptr @.fmt_bounds, ptr @.str17302, i32 %t114, i32 %t118) call void @exit(i32 1) unreachable ixok11: %t121 = getelementptr inbounds ptr, ptr %t116, i32 %t114 %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 %then13, label %ifend15 then13: %t126 = load ptr, ptr %t61 %t127 = load i32, ptr %t76 %t128 = getelementptr inbounds %LSlice, ptr %t126, i32 0, i32 0 %t129 = load ptr, ptr %t128 %t130 = getelementptr inbounds %LSlice, ptr %t126, i32 0, i32 1 %t131 = load i32, ptr %t130 %t132 = icmp ult i32 %t127, %t131 br i1 %t132, label %ixok16, label %ixbad17 ixbad17: store i32 9706, ptr @lp_site %t133 = call ptr @lp_win_stdio(i32 2) store i32 0, ptr @lp_site call i32 (ptr, ptr, ...) @fprintf(ptr %t133, ptr @.fmt_bounds, ptr @.str17303, i32 %t127, i32 %t131) call void @exit(i32 1) unreachable ixok16: %t134 = getelementptr inbounds ptr, ptr %t129, i32 %t127 %t135 = load ptr, ptr %t134 %t136 = call ptr @fn_ck_expr(ptr %t135) store ptr %t136, ptr %t112 br label %ifend15 ifend15: %t137 = load ptr, ptr %t68 %t138 = load ptr, ptr %t112 %t139 = getelementptr inbounds %LSlice, ptr %t137, i32 0, i32 1 %t140 = getelementptr inbounds %LSlice, ptr %t137, i32 0, i32 2 %t141 = getelementptr inbounds %LSlice, ptr %t137, i32 0, i32 0 %t142 = load i32, ptr %t139 %t143 = load i32, ptr %t140 %t144 = icmp sge i32 %t142, %t143 br i1 %t144, label %grow18, label %put19 grow18: %t145 = mul i32 %t143, 2 %t146 = icmp eq i32 %t143, 0 %t147 = select i1 %t146, i32 8, i32 %t145 %t148 = getelementptr ptr, ptr null, i32 1 %t149 = ptrtoint ptr %t148 to i64 %t150 = zext i32 %t147 to i64 %t151 = mul i64 %t150, %t149 %t152 = load ptr, ptr %t141 store i32 9707, ptr @lp_site %t153 = call ptr @lp_realloc(ptr %t152, i64 %t151) store i32 0, ptr @lp_site store ptr %t153, ptr %t141 store i32 %t147, ptr %t140 br label %put19 put19: %t154 = load ptr, ptr %t141 %t155 = getelementptr inbounds ptr, ptr %t154, i32 %t142 store ptr %t138, ptr %t155 %t156 = add i32 %t142, 1 store i32 %t156, ptr %t139 %t158 = load ptr, ptr %t61 %t159 = load i32, ptr %t76 %t160 = getelementptr inbounds %LSlice, ptr %t158, i32 0, i32 0 %t161 = load ptr, ptr %t160 %t162 = getelementptr inbounds %LSlice, ptr %t158, i32 0, i32 1 %t163 = load i32, ptr %t162 %t164 = icmp ult i32 %t159, %t163 br i1 %t164, label %ixok20, label %ixbad21 ixbad21: store i32 9708, ptr @lp_site %t165 = call ptr @lp_win_stdio(i32 2) store i32 0, ptr @lp_site call i32 (ptr, ptr, ...) @fprintf(ptr %t165, ptr @.fmt_bounds, ptr @.str17304, i32 %t159, i32 %t163) call void @exit(i32 1) unreachable ixok20: %t166 = getelementptr inbounds ptr, ptr %t161, i32 %t159 %t167 = load ptr, ptr %t166 %t168 = icmp ne ptr %t167, null %t169 = zext i1 %t168 to i32 %t170 = icmp ne i32 %t169, 0 %t171 = zext i1 %t170 to i32 store i32 %t171, ptr %t157 br i1 %t170, label %sc22, label %scend23 sc22: %t172 = load ptr, ptr %t61 %t173 = load i32, ptr %t76 %t174 = getelementptr inbounds %LSlice, ptr %t172, i32 0, i32 0 %t175 = load ptr, ptr %t174 %t176 = getelementptr inbounds %LSlice, ptr %t172, i32 0, i32 1 %t177 = load i32, ptr %t176 %t178 = icmp ult i32 %t173, %t177 br i1 %t178, label %ixok24, label %ixbad25 ixbad25: store i32 9709, ptr @lp_site %t179 = call ptr @lp_win_stdio(i32 2) store i32 0, ptr @lp_site call i32 (ptr, ptr, ...) @fprintf(ptr %t179, ptr @.fmt_bounds, ptr @.str17305, i32 %t173, i32 %t177) call void @exit(i32 1) unreachable ixok24: %t180 = getelementptr inbounds ptr, ptr %t175, i32 %t173 %t181 = load ptr, ptr %t180 %t182 = call i32 @fn_ck_is_lit(ptr %t181) %t183 = icmp eq i32 %t182, 0 %t184 = zext i1 %t183 to i32 %t185 = icmp ne i32 %t184, 0 %t186 = zext i1 %t185 to i32 store i32 %t186, ptr %t157 br label %scend23 scend23: %t187 = load i32, ptr %t157 %t188 = icmp ne i32 %t187, 0 br i1 %t188, label %then26, label %ifend28 then26: %t189 = load ptr, ptr %t27 %t190 = load i32, ptr %t76 %t191 = getelementptr inbounds %LSlice, ptr %t189, i32 0, i32 0 %t192 = load ptr, ptr %t191 %t193 = getelementptr inbounds %LSlice, ptr %t189, i32 0, i32 1 %t194 = load i32, ptr %t193 %t195 = icmp ult i32 %t190, %t194 br i1 %t195, label %ixok29, label %ixbad30 ixbad30: store i32 9710, ptr @lp_site %t196 = call ptr @lp_win_stdio(i32 2) store i32 0, ptr @lp_site call i32 (ptr, ptr, ...) @fprintf(ptr %t196, ptr @.fmt_bounds, ptr @.str17306, i32 %t190, i32 %t194) call void @exit(i32 1) unreachable ixok29: %t197 = getelementptr inbounds ptr, ptr %t192, i32 %t190 %t198 = load ptr, ptr %t197 %t199 = load ptr, ptr %t112 %t200 = load ptr, ptr %t13 %t201 = load ptr, ptr %t75 call void @fn_gen_unify(ptr %t198, ptr %t199, ptr %t200, ptr %t201) br label %ifend28 ifend28: %t202 = load i32, ptr %t76 %t203 = add i32 %t202, 1 store i32 %t203, ptr %t76 br label %wcond8 wend10: %t204 = load ptr, ptr %t2 %t205 = getelementptr inbounds %Cmp_Node, ptr %t204, i32 0, i32 3 %t206 = load ptr, ptr %t205 %t207 = load ptr, ptr %t6 %t208 = load ptr, ptr %t13 %t209 = load ptr, ptr %t75 call void @fn_gen_unify(ptr %t206, ptr %t207, ptr %t208, ptr %t209) store i32 0, ptr %t76 br label %wcond31 wcond31: %t210 = load i32, ptr %t76 %t211 = load ptr, ptr %t61 %t212 = getelementptr inbounds %LSlice, ptr %t211, i32 0, i32 1 %t213 = load i32, ptr %t212 %t214 = icmp slt i32 %t210, %t213 %t215 = zext i1 %t214 to i32 %t216 = icmp ne i32 %t215, 0 br i1 %t216, label %wbody32, label %wend33 wbody32: %t218 = load ptr, ptr %t61 %t219 = load i32, ptr %t76 %t220 = getelementptr inbounds %LSlice, ptr %t218, i32 0, i32 0 %t221 = load ptr, ptr %t220 %t222 = getelementptr inbounds %LSlice, ptr %t218, i32 0, i32 1 %t223 = load i32, ptr %t222 %t224 = icmp ult i32 %t219, %t223 br i1 %t224, label %ixok34, label %ixbad35 ixbad35: store i32 9711, ptr @lp_site %t225 = call ptr @lp_win_stdio(i32 2) store i32 0, ptr @lp_site call i32 (ptr, ptr, ...) @fprintf(ptr %t225, ptr @.fmt_bounds, ptr @.str17307, i32 %t219, i32 %t223) call void @exit(i32 1) unreachable ixok34: %t226 = getelementptr inbounds ptr, ptr %t221, i32 %t219 %t227 = load ptr, ptr %t226 %t228 = icmp ne ptr %t227, null %t229 = zext i1 %t228 to i32 %t230 = icmp ne i32 %t229, 0 %t231 = zext i1 %t230 to i32 store i32 %t231, ptr %t217 br i1 %t230, label %sc36, label %scend37 sc36: %t232 = load ptr, ptr %t61 %t233 = load i32, ptr %t76 %t234 = getelementptr inbounds %LSlice, ptr %t232, i32 0, i32 0 %t235 = load ptr, ptr %t234 %t236 = getelementptr inbounds %LSlice, ptr %t232, i32 0, i32 1 %t237 = load i32, ptr %t236 %t238 = icmp ult i32 %t233, %t237 br i1 %t238, label %ixok38, label %ixbad39 ixbad39: store i32 9712, ptr @lp_site %t239 = call ptr @lp_win_stdio(i32 2) store i32 0, ptr @lp_site call i32 (ptr, ptr, ...) @fprintf(ptr %t239, ptr @.fmt_bounds, ptr @.str17308, i32 %t233, i32 %t237) call void @exit(i32 1) unreachable ixok38: %t240 = getelementptr inbounds ptr, ptr %t235, i32 %t233 %t241 = load ptr, ptr %t240 %t242 = call i32 @fn_ck_is_lit(ptr %t241) %t243 = icmp ne i32 %t242, 0 %t244 = zext i1 %t243 to i32 store i32 %t244, ptr %t217 br label %scend37 scend37: %t245 = load i32, ptr %t217 %t246 = icmp ne i32 %t245, 0 br i1 %t246, label %then40, label %ifend42 then40: %t247 = load ptr, ptr %t27 %t248 = load i32, ptr %t76 %t249 = getelementptr inbounds %LSlice, ptr %t247, i32 0, i32 0 %t250 = load ptr, ptr %t249 %t251 = getelementptr inbounds %LSlice, ptr %t247, i32 0, i32 1 %t252 = load i32, ptr %t251 %t253 = icmp ult i32 %t248, %t252 br i1 %t253, label %ixok43, label %ixbad44 ixbad44: store i32 9713, ptr @lp_site %t254 = call ptr @lp_win_stdio(i32 2) store i32 0, ptr @lp_site call i32 (ptr, ptr, ...) @fprintf(ptr %t254, ptr @.fmt_bounds, ptr @.str17309, i32 %t248, i32 %t252) call void @exit(i32 1) unreachable ixok43: %t255 = getelementptr inbounds ptr, ptr %t250, i32 %t248 %t256 = load ptr, ptr %t255 %t257 = load ptr, ptr %t68 %t258 = load i32, ptr %t76 %t259 = getelementptr inbounds %LSlice, ptr %t257, i32 0, i32 0 %t260 = load ptr, ptr %t259 %t261 = getelementptr inbounds %LSlice, ptr %t257, i32 0, i32 1 %t262 = load i32, ptr %t261 %t263 = icmp ult i32 %t258, %t262 br i1 %t263, label %ixok45, label %ixbad46 ixbad46: store i32 9714, ptr @lp_site %t264 = call ptr @lp_win_stdio(i32 2) store i32 0, ptr @lp_site call i32 (ptr, ptr, ...) @fprintf(ptr %t264, ptr @.fmt_bounds, ptr @.str17310, i32 %t258, i32 %t262) call void @exit(i32 1) unreachable ixok45: %t265 = getelementptr inbounds ptr, ptr %t260, i32 %t258 %t266 = load ptr, ptr %t265 %t267 = load ptr, ptr %t13 %t268 = load ptr, ptr %t75 call void @fn_gen_unify(ptr %t256, ptr %t266, ptr %t267, ptr %t268) br label %ifend42 ifend42: %t269 = load i32, ptr %t76 %t270 = add i32 %t269, 1 store i32 %t270, ptr %t76 br label %wcond31 wend33: store i32 0, ptr %t271 br label %wcond47 wcond47: %t272 = load i32, ptr %t271 %t273 = load ptr, ptr %t13 %t274 = getelementptr inbounds %LSlice, ptr %t273, i32 0, i32 1 %t275 = load i32, ptr %t274 %t276 = icmp slt i32 %t272, %t275 %t277 = zext i1 %t276 to i32 %t278 = icmp ne i32 %t277, 0 br i1 %t278, label %wbody48, label %wend49 wbody48: %t279 = load ptr, ptr %t75 %t280 = load i32, ptr %t271 %t281 = getelementptr inbounds %LSlice, ptr %t279, i32 0, i32 0 %t282 = load ptr, ptr %t281 %t283 = getelementptr inbounds %LSlice, ptr %t279, i32 0, i32 1 %t284 = load i32, ptr %t283 %t285 = icmp ult i32 %t280, %t284 br i1 %t285, label %ixok50, label %ixbad51 ixbad51: store i32 9715, ptr @lp_site %t286 = call ptr @lp_win_stdio(i32 2) store i32 0, ptr @lp_site call i32 (ptr, ptr, ...) @fprintf(ptr %t286, ptr @.fmt_bounds, ptr @.str17311, i32 %t280, i32 %t284) call void @exit(i32 1) unreachable ixok50: %t287 = getelementptr inbounds ptr, ptr %t282, i32 %t280 %t288 = load ptr, ptr %t287 %t289 = icmp eq ptr %t288, null %t290 = zext i1 %t289 to i32 %t291 = icmp ne i32 %t290, 0 br i1 %t291, label %then52, label %ifend54 then52: %t292 = load ptr, ptr %t0 %t293 = load ptr, ptr %t13 %t294 = load i32, ptr %t271 %t295 = getelementptr inbounds %LSlice, ptr %t293, i32 0, i32 0 %t296 = load ptr, ptr %t295 %t297 = getelementptr inbounds %LSlice, ptr %t293, i32 0, i32 1 %t298 = load i32, ptr %t297 %t299 = icmp ult i32 %t294, %t298 br i1 %t299, label %ixok55, label %ixbad56 ixbad56: store i32 9716, ptr @lp_site %t300 = call ptr @lp_win_stdio(i32 2) store i32 0, ptr @lp_site call i32 (ptr, ptr, ...) @fprintf(ptr %t300, ptr @.fmt_bounds, ptr @.str17314, i32 %t294, i32 %t298) call void @exit(i32 1) unreachable ixok55: %t301 = getelementptr inbounds ptr, ptr %t296, i32 %t294 %t302 = load ptr, ptr %t301 store i32 9717, ptr @lp_site %t303 = call ptr @lp_str_concat(ptr @.str17313, ptr %t302) store i32 0, ptr @lp_site store i32 9718, ptr @lp_site %t304 = call ptr @lp_str_concat(ptr %t303, ptr @.str17315) store i32 0, ptr @lp_site call void @lp_free(ptr %t303) %t305 = load ptr, ptr %t1 store i32 9719, ptr @lp_site %t306 = call ptr @lp_str_concat(ptr %t304, ptr %t305) store i32 0, ptr @lp_site call void @lp_free(ptr %t304) store i32 9720, ptr @lp_site %t307 = call ptr @lp_str_concat(ptr %t306, ptr @.str17316) store i32 0, ptr @lp_site call void @lp_free(ptr %t306) call void @fn_ck_err(ptr @.str17312, ptr %t292, ptr %t307) store ptr @.str17317, ptr %retval br label %ret ifend54: %t308 = load i32, ptr %t271 %t309 = add i32 %t308, 1 store i32 %t309, ptr %t271 br label %wcond47 wend49: %t310 = load ptr, ptr %t2 %t311 = load ptr, ptr %t1 %t312 = load ptr, ptr %t75 %t313 = call ptr @fn_gen_instance_name(ptr %t311, ptr %t312) %t314 = load ptr, ptr %t75 %t315 = call ptr @fn_gen_fn_instance(ptr %t310, ptr %t313, ptr %t314) store ptr %t315, ptr %t316 %t317 = load ptr, ptr %t0 %t318 = getelementptr inbounds %Cmp_Node, ptr %t317, i32 0, i32 4 %t319 = load ptr, ptr %t318 %t320 = getelementptr inbounds %Cmp_Node, ptr %t319, i32 0, i32 1 %t321 = load ptr, ptr %t316 %t322 = getelementptr inbounds %Cmp_Node, ptr %t321, i32 0, i32 1 %t323 = load ptr, ptr %t322 store ptr %t323, ptr %t320 %t324 = getelementptr %LSlice, ptr null, i32 1 %t325 = ptrtoint ptr %t324 to i64 store i32 9721, ptr @lp_site %t326 = call ptr @lp_malloc(i64 %t325) store i32 0, ptr @lp_site %t327 = getelementptr inbounds %LSlice, ptr %t326, i32 0, i32 0 store ptr null, ptr %t327 %t328 = getelementptr inbounds %LSlice, ptr %t326, i32 0, i32 1 store i32 0, ptr %t328 %t329 = getelementptr inbounds %LSlice, ptr %t326, i32 0, i32 2 store i32 0, ptr %t329 store ptr %t326, ptr %t330 %t331 = getelementptr %LSlice, ptr null, i32 1 %t332 = ptrtoint ptr %t331 to i64 store i32 9722, ptr @lp_site %t333 = call ptr @lp_malloc(i64 %t332) store i32 0, ptr @lp_site %t334 = getelementptr inbounds %LSlice, ptr %t333, i32 0, i32 0 store ptr null, ptr %t334 %t335 = getelementptr inbounds %LSlice, ptr %t333, i32 0, i32 1 store i32 0, ptr %t335 %t336 = getelementptr inbounds %LSlice, ptr %t333, i32 0, i32 2 store i32 0, ptr %t336 store ptr %t333, ptr %t337 %t338 = load ptr, ptr %t316 %t339 = load ptr, ptr %t330 %t340 = load ptr, ptr %t337 call void @fn_ck_params(ptr %t338, ptr %t339, ptr %t340) store i32 0, ptr %t341 br label %wcond57 wcond57: %t342 = load i32, ptr %t341 %t343 = load ptr, ptr %t61 %t344 = getelementptr inbounds %LSlice, ptr %t343, i32 0, i32 1 %t345 = load i32, ptr %t344 %t346 = icmp slt i32 %t342, %t345 %t347 = zext i1 %t346 to i32 %t348 = icmp ne i32 %t347, 0 br i1 %t348, label %wbody58, label %wend59 wbody58: %t349 = load ptr, ptr %t61 %t350 = load i32, ptr %t341 %t351 = getelementptr inbounds %LSlice, ptr %t349, i32 0, i32 0 %t352 = load ptr, ptr %t351 %t353 = getelementptr inbounds %LSlice, ptr %t349, i32 0, i32 1 %t354 = load i32, ptr %t353 %t355 = icmp ult i32 %t350, %t354 br i1 %t355, label %ixok60, label %ixbad61 ixbad61: store i32 9723, ptr @lp_site %t356 = call ptr @lp_win_stdio(i32 2) store i32 0, ptr @lp_site call i32 (ptr, ptr, ...) @fprintf(ptr %t356, ptr @.fmt_bounds, ptr @.str17318, i32 %t350, i32 %t354) call void @exit(i32 1) unreachable ixok60: %t357 = getelementptr inbounds ptr, ptr %t352, i32 %t350 %t358 = load ptr, ptr %t357 %t359 = icmp ne ptr %t358, null %t360 = zext i1 %t359 to i32 %t361 = icmp ne i32 %t360, 0 br i1 %t361, label %then62, label %ifend64 then62: %t362 = load ptr, ptr %t337 %t363 = load i32, ptr %t341 %t364 = getelementptr inbounds %LSlice, ptr %t362, i32 0, i32 0 %t365 = load ptr, ptr %t364 %t366 = getelementptr inbounds %LSlice, ptr %t362, i32 0, i32 1 %t367 = load i32, ptr %t366 %t368 = icmp ult i32 %t363, %t367 br i1 %t368, label %ixok65, label %ixbad66 ixbad66: store i32 9724, ptr @lp_site %t369 = call ptr @lp_win_stdio(i32 2) store i32 0, ptr @lp_site call i32 (ptr, ptr, ...) @fprintf(ptr %t369, ptr @.fmt_bounds, ptr @.str17319, i32 %t363, i32 %t367) call void @exit(i32 1) unreachable ixok65: %t370 = getelementptr inbounds ptr, ptr %t365, i32 %t363 %t371 = load ptr, ptr %t370 %t372 = load ptr, ptr %t68 %t373 = load i32, ptr %t341 %t374 = getelementptr inbounds %LSlice, ptr %t372, i32 0, i32 0 %t375 = load ptr, ptr %t374 %t376 = getelementptr inbounds %LSlice, ptr %t372, i32 0, i32 1 %t377 = load i32, ptr %t376 %t378 = icmp ult i32 %t373, %t377 br i1 %t378, label %ixok67, label %ixbad68 ixbad68: store i32 9725, ptr @lp_site %t379 = call ptr @lp_win_stdio(i32 2) store i32 0, ptr @lp_site call i32 (ptr, ptr, ...) @fprintf(ptr %t379, ptr @.fmt_bounds, ptr @.str17320, i32 %t373, i32 %t377) call void @exit(i32 1) unreachable ixok67: %t380 = getelementptr inbounds ptr, ptr %t375, i32 %t373 %t381 = load ptr, ptr %t380 %t382 = load ptr, ptr %t61 %t383 = load i32, ptr %t341 %t384 = getelementptr inbounds %LSlice, ptr %t382, i32 0, i32 0 %t385 = load ptr, ptr %t384 %t386 = getelementptr inbounds %LSlice, ptr %t382, i32 0, i32 1 %t387 = load i32, ptr %t386 %t388 = icmp ult i32 %t383, %t387 br i1 %t388, label %ixok69, label %ixbad70 ixbad70: store i32 9726, ptr @lp_site %t389 = call ptr @lp_win_stdio(i32 2) store i32 0, ptr @lp_site call i32 (ptr, ptr, ...) @fprintf(ptr %t389, ptr @.fmt_bounds, ptr @.str17321, i32 %t383, i32 %t387) call void @exit(i32 1) unreachable ixok69: %t390 = getelementptr inbounds ptr, ptr %t385, i32 %t383 %t391 = load ptr, ptr %t390 %t392 = load i32, ptr %t341 %t393 = add i32 %t392, 1 %t394 = call ptr @fn_itoa(i32 %t393) store i32 9727, ptr @lp_site %t395 = call ptr @lp_str_concat(ptr @.str17322, ptr %t394) store i32 0, ptr @lp_site store i32 9728, ptr @lp_site %t396 = call ptr @lp_str_concat(ptr %t395, ptr @.str17323) store i32 0, ptr @lp_site call void @lp_free(ptr %t395) %t397 = load ptr, ptr %t1 store i32 9729, ptr @lp_site %t398 = call ptr @lp_str_concat(ptr %t396, ptr %t397) store i32 0, ptr @lp_site call void @lp_free(ptr %t396) call void @fn_ck_give(ptr %t371, ptr %t381, ptr %t391, ptr %t398) br label %ifend64 ifend64: %t399 = load i32, ptr %t341 %t400 = add i32 %t399, 1 store i32 %t400, ptr %t341 br label %wcond57 wend59: %t401 = load ptr, ptr %t316 %t402 = getelementptr inbounds %Cmp_Node, ptr %t401, i32 0, i32 3 %t403 = load ptr, ptr %t402 store ptr %t403, ptr %retval br label %ret ret: %t404 = load ptr, ptr %retval ret ptr %t404 } define void @fn_gen_finish() { entry: %t0 = alloca i32 %t20 = alloca i32 %t28 = alloca i32 %t86 = alloca ptr %t87 = alloca i32 %t100 = alloca i32 %t177 = alloca i32 store i32 0, ptr %t0 br label %wcond0 wcond0: %t1 = load i32, ptr %t0 %t2 = load ptr, ptr @g_g_gen_work %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_gen_work %t9 = load i32, ptr %t0 %t10 = getelementptr inbounds %LSlice, ptr %t8, i32 0, i32 0 %t11 = load ptr, ptr %t10 %t12 = getelementptr inbounds %LSlice, ptr %t8, i32 0, i32 1 %t13 = load i32, ptr %t12 %t14 = icmp ult i32 %t9, %t13 br i1 %t14, label %ixok3, label %ixbad4 ixbad4: store i32 9730, ptr @lp_site %t15 = call ptr @lp_win_stdio(i32 2) store i32 0, ptr @lp_site call i32 (ptr, ptr, ...) @fprintf(ptr %t15, ptr @.fmt_bounds, ptr @.str17324, i32 %t9, i32 %t13) call void @exit(i32 1) unreachable ixok3: %t16 = getelementptr inbounds ptr, ptr %t11, i32 %t9 %t17 = load ptr, ptr %t16 call void @fn_ck_fn_body(ptr %t17) %t18 = load i32, ptr %t0 %t19 = add i32 %t18, 1 store i32 %t19, ptr %t0 br label %wcond0 wend2: store i32 0, ptr %t20 br label %wcond5 wcond5: %t21 = load i32, ptr %t20 %t22 = load ptr, ptr @g_g_gi_name %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 %wbody6, label %wend7 wbody6: %t29 = load ptr, ptr @g_g_gi_open %t30 = load i32, ptr %t20 %t31 = getelementptr inbounds %LSlice, ptr %t29, i32 0, i32 0 %t32 = load ptr, ptr %t31 %t33 = getelementptr inbounds %LSlice, ptr %t29, i32 0, i32 1 %t34 = load i32, ptr %t33 %t35 = icmp ult i32 %t30, %t34 br i1 %t35, label %ixok8, label %ixbad9 ixbad9: store i32 9731, ptr @lp_site %t36 = call ptr @lp_win_stdio(i32 2) store i32 0, ptr @lp_site call i32 (ptr, ptr, ...) @fprintf(ptr %t36, ptr @.fmt_bounds, ptr @.str17326, i32 %t30, i32 %t34) call void @exit(i32 1) unreachable ixok8: %t37 = getelementptr inbounds i32, ptr %t32, i32 %t30 %t38 = load i32, ptr %t37 %t39 = icmp eq i32 %t38, 0 %t40 = zext i1 %t39 to i32 %t41 = icmp ne i32 %t40, 0 %t42 = zext i1 %t41 to i32 store i32 %t42, ptr %t28 br i1 %t41, label %sc10, label %scend11 sc10: %t43 = load ptr, ptr @g_g_gen_recs %t44 = load ptr, ptr @g_g_gi_gen %t45 = load i32, ptr %t20 %t46 = getelementptr inbounds %LSlice, ptr %t44, i32 0, i32 0 %t47 = load ptr, ptr %t46 %t48 = getelementptr inbounds %LSlice, ptr %t44, i32 0, i32 1 %t49 = load i32, ptr %t48 %t50 = icmp ult i32 %t45, %t49 br i1 %t50, label %ixok12, label %ixbad13 ixbad13: store i32 9732, ptr @lp_site %t51 = call ptr @lp_win_stdio(i32 2) store i32 0, ptr @lp_site call i32 (ptr, ptr, ...) @fprintf(ptr %t51, ptr @.fmt_bounds, ptr @.str17327, i32 %t45, i32 %t49) call void @exit(i32 1) unreachable ixok12: %t52 = getelementptr inbounds ptr, ptr %t47, i32 %t45 %t53 = load ptr, ptr %t52 %t54 = call ptr @fn_gen_template(ptr %t43, ptr %t53) %t55 = icmp ne ptr %t54, null %t56 = zext i1 %t55 to i32 %t57 = icmp ne i32 %t56, 0 %t58 = zext i1 %t57 to i32 store i32 %t58, ptr %t28 br label %scend11 scend11: %t59 = load i32, ptr %t28 %t60 = icmp ne i32 %t59, 0 br i1 %t60, label %then14, label %ifend16 then14: %t61 = load ptr, ptr @g_g_gi_name %t62 = load i32, ptr %t20 %t63 = getelementptr inbounds %LSlice, ptr %t61, i32 0, i32 0 %t64 = load ptr, ptr %t63 %t65 = getelementptr inbounds %LSlice, ptr %t61, i32 0, i32 1 %t66 = load i32, ptr %t65 %t67 = icmp ult i32 %t62, %t66 br i1 %t67, label %ixok17, label %ixbad18 ixbad18: store i32 9733, ptr @lp_site %t68 = call ptr @lp_win_stdio(i32 2) store i32 0, ptr @lp_site call i32 (ptr, ptr, ...) @fprintf(ptr %t68, ptr @.fmt_bounds, ptr @.str17328, i32 %t62, i32 %t66) call void @exit(i32 1) unreachable ixok17: %t69 = getelementptr inbounds ptr, ptr %t64, i32 %t62 %t70 = load ptr, ptr %t69 %t71 = call ptr @fn_ck_record(ptr %t70) br label %ifend16 ifend16: %t72 = load i32, ptr %t20 %t73 = add i32 %t72, 1 store i32 %t73, ptr %t20 br label %wcond5 wend7: %t74 = load ptr, ptr @g_g_gen_out %t75 = getelementptr inbounds %LSlice, ptr %t74, i32 0, i32 1 %t76 = load i32, ptr %t75 %t77 = icmp eq i32 %t76, 0 %t78 = zext i1 %t77 to i32 %t79 = icmp ne i32 %t78, 0 br i1 %t79, label %then19, label %ifend21 then19: br label %ret ifend21: %t80 = getelementptr %LSlice, ptr null, i32 1 %t81 = ptrtoint ptr %t80 to i64 store i32 9734, ptr @lp_site %t82 = call ptr @lp_malloc(i64 %t81) store i32 0, ptr @lp_site %t83 = getelementptr inbounds %LSlice, ptr %t82, i32 0, i32 0 store ptr null, ptr %t83 %t84 = getelementptr inbounds %LSlice, ptr %t82, i32 0, i32 1 store i32 0, ptr %t84 %t85 = getelementptr inbounds %LSlice, ptr %t82, i32 0, i32 2 store i32 0, ptr %t85 store ptr %t82, ptr %t86 store i32 0, ptr %t87 br label %wcond22 wcond22: %t88 = load i32, ptr %t87 %t89 = load ptr, ptr @g_prog %t90 = getelementptr inbounds %LSlice, ptr %t89, i32 0, i32 1 %t91 = load i32, ptr %t90 %t92 = icmp slt i32 %t88, %t91 %t93 = zext i1 %t92 to i32 %t94 = icmp ne i32 %t93, 0 br i1 %t94, label %wbody23, label %wend24 wbody23: %t95 = load i32, ptr %t87 %t96 = load i32, ptr @g_g_prog_user_end %t97 = icmp eq i32 %t95, %t96 %t98 = zext i1 %t97 to i32 %t99 = icmp ne i32 %t98, 0 br i1 %t99, label %then25, label %ifend27 then25: store i32 0, ptr %t100 br label %wcond28 wcond28: %t101 = load i32, ptr %t100 %t102 = load ptr, ptr @g_g_gen_out %t103 = getelementptr inbounds %LSlice, ptr %t102, i32 0, i32 1 %t104 = load i32, ptr %t103 %t105 = icmp slt i32 %t101, %t104 %t106 = zext i1 %t105 to i32 %t107 = icmp ne i32 %t106, 0 br i1 %t107, label %wbody29, label %wend30 wbody29: %t108 = load ptr, ptr %t86 %t109 = load ptr, ptr @g_g_gen_out %t110 = load i32, ptr %t100 %t111 = getelementptr inbounds %LSlice, ptr %t109, i32 0, i32 0 %t112 = load ptr, ptr %t111 %t113 = getelementptr inbounds %LSlice, ptr %t109, i32 0, i32 1 %t114 = load i32, ptr %t113 %t115 = icmp ult i32 %t110, %t114 br i1 %t115, label %ixok31, label %ixbad32 ixbad32: store i32 9735, ptr @lp_site %t116 = call ptr @lp_win_stdio(i32 2) store i32 0, ptr @lp_site call i32 (ptr, ptr, ...) @fprintf(ptr %t116, ptr @.fmt_bounds, ptr @.str17329, i32 %t110, i32 %t114) call void @exit(i32 1) unreachable ixok31: %t117 = getelementptr inbounds ptr, ptr %t112, i32 %t110 %t118 = load ptr, ptr %t117 %t119 = getelementptr inbounds %LSlice, ptr %t108, i32 0, i32 1 %t120 = getelementptr inbounds %LSlice, ptr %t108, i32 0, i32 2 %t121 = getelementptr inbounds %LSlice, ptr %t108, i32 0, i32 0 %t122 = load i32, ptr %t119 %t123 = load i32, ptr %t120 %t124 = icmp sge i32 %t122, %t123 br i1 %t124, label %grow33, label %put34 grow33: %t125 = mul i32 %t123, 2 %t126 = icmp eq i32 %t123, 0 %t127 = select i1 %t126, i32 8, i32 %t125 %t128 = getelementptr ptr, ptr null, i32 1 %t129 = ptrtoint ptr %t128 to i64 %t130 = zext i32 %t127 to i64 %t131 = mul i64 %t130, %t129 %t132 = load ptr, ptr %t121 store i32 9736, ptr @lp_site %t133 = call ptr @lp_realloc(ptr %t132, i64 %t131) store i32 0, ptr @lp_site store ptr %t133, ptr %t121 store i32 %t127, ptr %t120 br label %put34 put34: %t134 = load ptr, ptr %t121 %t135 = getelementptr inbounds ptr, ptr %t134, i32 %t122 store ptr %t118, ptr %t135 %t136 = add i32 %t122, 1 store i32 %t136, ptr %t119 %t137 = load i32, ptr %t100 %t138 = add i32 %t137, 1 store i32 %t138, ptr %t100 br label %wcond28 wend30: br label %ifend27 ifend27: %t139 = load ptr, ptr %t86 %t140 = load ptr, ptr @g_prog %t141 = load i32, ptr %t87 %t142 = getelementptr inbounds %LSlice, ptr %t140, i32 0, i32 0 %t143 = load ptr, ptr %t142 %t144 = getelementptr inbounds %LSlice, ptr %t140, i32 0, i32 1 %t145 = load i32, ptr %t144 %t146 = icmp ult i32 %t141, %t145 br i1 %t146, label %ixok35, label %ixbad36 ixbad36: store i32 9737, ptr @lp_site %t147 = call ptr @lp_win_stdio(i32 2) store i32 0, ptr @lp_site call i32 (ptr, ptr, ...) @fprintf(ptr %t147, ptr @.fmt_bounds, ptr @.str17330, i32 %t141, i32 %t145) call void @exit(i32 1) unreachable ixok35: %t148 = getelementptr inbounds ptr, ptr %t143, i32 %t141 %t149 = load ptr, ptr %t148 %t150 = getelementptr inbounds %LSlice, ptr %t139, i32 0, i32 1 %t151 = getelementptr inbounds %LSlice, ptr %t139, i32 0, i32 2 %t152 = getelementptr inbounds %LSlice, ptr %t139, i32 0, i32 0 %t153 = load i32, ptr %t150 %t154 = load i32, ptr %t151 %t155 = icmp sge i32 %t153, %t154 br i1 %t155, label %grow37, label %put38 grow37: %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 store i32 9738, ptr @lp_site %t164 = call ptr @lp_realloc(ptr %t163, i64 %t162) store i32 0, ptr @lp_site store ptr %t164, ptr %t152 store i32 %t158, ptr %t151 br label %put38 put38: %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 i32, ptr %t87 %t169 = add i32 %t168, 1 store i32 %t169, ptr %t87 br label %wcond22 wend24: %t170 = load i32, ptr @g_g_prog_user_end %t171 = load ptr, ptr @g_prog %t172 = getelementptr inbounds %LSlice, ptr %t171, i32 0, i32 1 %t173 = load i32, ptr %t172 %t174 = icmp sge i32 %t170, %t173 %t175 = zext i1 %t174 to i32 %t176 = icmp ne i32 %t175, 0 br i1 %t176, label %then39, label %ifend41 then39: store i32 0, ptr %t177 br label %wcond42 wcond42: %t178 = load i32, ptr %t177 %t179 = load ptr, ptr @g_g_gen_out %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 %wbody43, label %wend44 wbody43: %t185 = load ptr, ptr %t86 %t186 = load ptr, ptr @g_g_gen_out %t187 = load i32, ptr %t177 %t188 = getelementptr inbounds %LSlice, ptr %t186, i32 0, i32 0 %t189 = load ptr, ptr %t188 %t190 = getelementptr inbounds %LSlice, ptr %t186, i32 0, i32 1 %t191 = load i32, ptr %t190 %t192 = icmp ult i32 %t187, %t191 br i1 %t192, label %ixok45, label %ixbad46 ixbad46: store i32 9739, ptr @lp_site %t193 = call ptr @lp_win_stdio(i32 2) store i32 0, ptr @lp_site call i32 (ptr, ptr, ...) @fprintf(ptr %t193, ptr @.fmt_bounds, ptr @.str17331, i32 %t187, i32 %t191) call void @exit(i32 1) unreachable ixok45: %t194 = getelementptr inbounds ptr, ptr %t189, i32 %t187 %t195 = load ptr, ptr %t194 %t196 = getelementptr inbounds %LSlice, ptr %t185, i32 0, i32 1 %t197 = getelementptr inbounds %LSlice, ptr %t185, i32 0, i32 2 %t198 = getelementptr inbounds %LSlice, ptr %t185, i32 0, i32 0 %t199 = load i32, ptr %t196 %t200 = load i32, ptr %t197 %t201 = icmp sge i32 %t199, %t200 br i1 %t201, label %grow47, label %put48 grow47: %t202 = mul i32 %t200, 2 %t203 = icmp eq i32 %t200, 0 %t204 = select i1 %t203, i32 8, i32 %t202 %t205 = getelementptr ptr, ptr null, i32 1 %t206 = ptrtoint ptr %t205 to i64 %t207 = zext i32 %t204 to i64 %t208 = mul i64 %t207, %t206 %t209 = load ptr, ptr %t198 store i32 9740, ptr @lp_site %t210 = call ptr @lp_realloc(ptr %t209, i64 %t208) store i32 0, ptr @lp_site store ptr %t210, ptr %t198 store i32 %t204, ptr %t197 br label %put48 put48: %t211 = load ptr, ptr %t198 %t212 = getelementptr inbounds ptr, ptr %t211, i32 %t199 store ptr %t195, ptr %t212 %t213 = add i32 %t199, 1 store i32 %t213, ptr %t196 %t214 = load i32, ptr %t177 %t215 = add i32 %t214, 1 store i32 %t215, ptr %t177 br label %wcond42 wend44: br label %ifend41 ifend41: %t216 = load ptr, ptr %t86 store ptr %t216, ptr @g_prog %t217 = load ptr, ptr @g_g_gen_out %t218 = getelementptr inbounds %LSlice, ptr %t217, i32 0, i32 1 %t219 = load i32, ptr %t218 %t220 = load i32, ptr @g_g_prog_user_end %t221 = add i32 %t220, %t219 store i32 %t221, ptr @g_g_prog_user_end br label %ret ret: ret void } define i32 @fn_ck_ty_is_decl(ptr %arg_d) { entry: %retval = alloca i32 %t0 = alloca ptr %t4 = alloca i32 %t5 = alloca i32 %t6 = alloca i32 %t7 = alloca i32 %t8 = alloca i32 %t9 = alloca i32 store ptr %arg_d, ptr %t0 %t1 = load ptr, ptr %t0 %t2 = getelementptr inbounds %Cmp_Node, ptr %t1, i32 0, i32 0 %t3 = load i32, ptr %t2 store i32 %t3, ptr %t4 %t10 = load i32, ptr %t4 %t11 = icmp eq i32 %t10, 8 %t12 = zext i1 %t11 to i32 %t13 = icmp ne i32 %t12, 0 %t14 = zext i1 %t13 to i32 store i32 %t14, ptr %t9 br i1 %t13, label %scend1, label %sc0 sc0: %t15 = load i32, ptr %t4 %t16 = icmp eq i32 %t15, 0 %t17 = zext i1 %t16 to i32 %t18 = icmp ne i32 %t17, 0 %t19 = zext i1 %t18 to i32 store i32 %t19, ptr %t9 br label %scend1 scend1: %t20 = load i32, ptr %t9 %t21 = icmp ne i32 %t20, 0 %t22 = zext i1 %t21 to i32 store i32 %t22, ptr %t8 br i1 %t21, label %scend3, label %sc2 sc2: %t23 = load i32, ptr %t4 %t24 = icmp eq i32 %t23, 48 %t25 = zext i1 %t24 to i32 %t26 = icmp ne i32 %t25, 0 %t27 = zext i1 %t26 to i32 store i32 %t27, ptr %t8 br label %scend3 scend3: %t28 = load i32, ptr %t8 %t29 = icmp ne i32 %t28, 0 %t30 = zext i1 %t29 to i32 store i32 %t30, ptr %t7 br i1 %t29, label %scend5, label %sc4 sc4: %t31 = load i32, ptr %t4 %t32 = icmp eq i32 %t31, 27 %t33 = zext i1 %t32 to i32 %t34 = icmp ne i32 %t33, 0 %t35 = zext i1 %t34 to i32 store i32 %t35, ptr %t7 br label %scend5 scend5: %t36 = load i32, ptr %t7 %t37 = icmp ne i32 %t36, 0 %t38 = zext i1 %t37 to i32 store i32 %t38, ptr %t6 br i1 %t37, label %scend7, label %sc6 sc6: %t39 = load i32, ptr %t4 %t40 = icmp eq i32 %t39, 10 %t41 = zext i1 %t40 to i32 %t42 = icmp ne i32 %t41, 0 %t43 = zext i1 %t42 to i32 store i32 %t43, ptr %t6 br label %scend7 scend7: %t44 = load i32, ptr %t6 %t45 = icmp ne i32 %t44, 0 %t46 = zext i1 %t45 to i32 store i32 %t46, ptr %t5 br i1 %t45, label %scend9, label %sc8 sc8: %t47 = load i32, ptr %t4 %t48 = icmp eq i32 %t47, 53 %t49 = zext i1 %t48 to i32 %t50 = icmp ne i32 %t49, 0 %t51 = zext i1 %t50 to i32 store i32 %t51, ptr %t5 br label %scend9 scend9: %t52 = load i32, ptr %t5 store i32 %t52, ptr %retval br label %ret ret: %t53 = load i32, ptr %retval ret i32 %t53 } define void @fn_ck_ty_index() { entry: %t2 = alloca i32 %t20 = alloca ptr %t21 = alloca i32 %t0 = load ptr, ptr @g_ck_ty_k %t1 = load ptr, ptr @g_ck_ty_v call void @fn_ck_tab_init(ptr %t0, 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 = load i32, ptr %t2 %t12 = getelementptr inbounds %LSlice, ptr %t10, i32 0, i32 0 %t13 = load ptr, ptr %t12 %t14 = getelementptr inbounds %LSlice, ptr %t10, i32 0, i32 1 %t15 = load i32, ptr %t14 %t16 = icmp ult i32 %t11, %t15 br i1 %t16, label %ixok3, label %ixbad4 ixbad4: store i32 9741, ptr @lp_site %t17 = call ptr @lp_win_stdio(i32 2) store i32 0, ptr @lp_site call i32 (ptr, ptr, ...) @fprintf(ptr %t17, ptr @.fmt_bounds, ptr @.str17332, i32 %t11, i32 %t15) call void @exit(i32 1) unreachable ixok3: %t18 = getelementptr inbounds ptr, ptr %t13, i32 %t11 %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 1 %t24 = load ptr, ptr %t23 %t25 = icmp ne ptr %t24, null %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 %sc5, label %scend6 sc5: %t29 = load ptr, ptr %t20 %t30 = call i32 @fn_ck_ty_is_decl(ptr %t29) %t31 = icmp ne i32 %t30, 0 %t32 = zext i1 %t31 to i32 store i32 %t32, ptr %t21 br label %scend6 scend6: %t33 = load i32, ptr %t21 %t34 = icmp ne i32 %t33, 0 br i1 %t34, label %then7, label %ifend9 then7: %t35 = load ptr, ptr @g_ck_ty_k %t36 = load ptr, ptr @g_ck_ty_v %t37 = load ptr, ptr %t20 %t38 = getelementptr inbounds %Cmp_Node, ptr %t37, i32 0, i32 1 %t39 = load ptr, ptr %t38 %t40 = load ptr, ptr %t20 call void @fn_ck_tab_put(ptr %t35, ptr %t36, ptr %t39, ptr %t40) br label %ifend9 ifend9: %t41 = load i32, ptr %t2 %t42 = add i32 %t41, 1 store i32 %t42, ptr %t2 br label %wcond0 wend2: br label %ret ret: ret void } define i32 @fn_ck_ty_upper(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, 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 store i32 %t12, ptr %retval br label %ret ret: %t13 = load i32, ptr %retval ret i32 %t13 } define i32 @fn_ck_ty_ident(i32 %arg_c) { entry: %retval = alloca i32 %t0 = alloca i32 %t1 = alloca i32 %t2 = alloca i32 %t3 = alloca i32 %t4 = alloca i32 %t18 = alloca i32 %t35 = alloca i32 store i32 %arg_c, ptr %t0 %t5 = load i32, ptr %t0 %t6 = icmp sge i32 %t5, 65 %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 %sc0, label %scend1 sc0: %t10 = load i32, ptr %t0 %t11 = icmp sle i32 %t10, 90 %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: %t19 = load i32, ptr %t0 %t20 = icmp sge i32 %t19, 97 %t21 = zext i1 %t20 to i32 %t22 = icmp ne i32 %t21, 0 %t23 = zext i1 %t22 to i32 store i32 %t23, ptr %t18 br i1 %t22, label %sc4, label %scend5 sc4: %t24 = load i32, ptr %t0 %t25 = icmp sle i32 %t24, 122 %t26 = zext i1 %t25 to i32 %t27 = icmp ne i32 %t26, 0 %t28 = zext i1 %t27 to i32 store i32 %t28, ptr %t18 br label %scend5 scend5: %t29 = load i32, ptr %t18 %t30 = icmp ne i32 %t29, 0 %t31 = zext i1 %t30 to i32 store i32 %t31, ptr %t3 br label %scend3 scend3: %t32 = load i32, ptr %t3 %t33 = icmp ne i32 %t32, 0 %t34 = zext i1 %t33 to i32 store i32 %t34, ptr %t2 br i1 %t33, label %scend7, label %sc6 sc6: %t36 = load i32, ptr %t0 %t37 = icmp sge i32 %t36, 48 %t38 = zext i1 %t37 to i32 %t39 = icmp ne i32 %t38, 0 %t40 = zext i1 %t39 to i32 store i32 %t40, ptr %t35 br i1 %t39, label %sc8, label %scend9 sc8: %t41 = load i32, ptr %t0 %t42 = icmp sle i32 %t41, 57 %t43 = zext i1 %t42 to i32 %t44 = icmp ne i32 %t43, 0 %t45 = zext i1 %t44 to i32 store i32 %t45, ptr %t35 br label %scend9 scend9: %t46 = load i32, ptr %t35 %t47 = icmp ne i32 %t46, 0 %t48 = zext i1 %t47 to i32 store i32 %t48, ptr %t2 br label %scend7 scend7: %t49 = load i32, ptr %t2 %t50 = icmp ne i32 %t49, 0 %t51 = zext i1 %t50 to i32 store i32 %t51, ptr %t1 br i1 %t50, label %scend11, label %sc10 sc10: %t52 = load i32, ptr %t0 %t53 = icmp eq i32 %t52, 95 %t54 = zext i1 %t53 to i32 %t55 = icmp ne i32 %t54, 0 %t56 = zext i1 %t55 to i32 store i32 %t56, ptr %t1 br label %scend11 scend11: %t57 = load i32, ptr %t1 store i32 %t57, ptr %retval br label %ret ret: %t58 = load i32, ptr %retval ret i32 %t58 } define ptr @fn_ck_ty_unknown(ptr %arg_t, ptr %arg_tps) { entry: %retval = alloca ptr %t0 = alloca ptr %t1 = alloca ptr %t9 = alloca i32 %t10 = alloca i32 %t11 = alloca i32 %t43 = alloca i32 %t60 = alloca i32 %t61 = alloca i32 %t83 = alloca ptr %t84 = alloca i32 store ptr %arg_t, ptr %t0 store ptr %arg_tps, 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 i64 @strlen(ptr %t6) %t8 = trunc i64 %t7 to i32 store i32 %t8, ptr %t9 %t12 = load i32, ptr %t9 %t13 = icmp sgt i32 %t12, 1 %t14 = zext i1 %t13 to i32 %t15 = icmp ne i32 %t14, 0 %t16 = zext i1 %t15 to i32 store i32 %t16, ptr %t11 br i1 %t15, label %sc3, label %scend4 sc3: %t17 = load ptr, ptr %t0 %t18 = getelementptr inbounds i8, ptr %t17, i32 0 %t19 = load i8, ptr %t18 %t20 = zext i8 %t19 to i32 %t21 = icmp eq i32 %t20, 91 %t22 = zext i1 %t21 to i32 %t23 = icmp ne i32 %t22, 0 %t24 = zext i1 %t23 to i32 store i32 %t24, ptr %t11 br label %scend4 scend4: %t25 = load i32, ptr %t11 %t26 = icmp ne i32 %t25, 0 %t27 = zext i1 %t26 to i32 store i32 %t27, ptr %t10 br i1 %t26, label %sc5, label %scend6 sc5: %t28 = load ptr, ptr %t0 %t29 = getelementptr inbounds i8, ptr %t28, i32 1 %t30 = load i8, ptr %t29 %t31 = zext i8 %t30 to i32 %t32 = icmp eq i32 %t31, 93 %t33 = zext i1 %t32 to i32 %t34 = icmp ne i32 %t33, 0 %t35 = zext i1 %t34 to i32 store i32 %t35, ptr %t10 br label %scend6 scend6: %t36 = load i32, ptr %t10 %t37 = icmp ne i32 %t36, 0 br i1 %t37, label %then7, label %ifend9 then7: %t38 = load ptr, ptr %t0 %t39 = load i32, ptr %t9 store i32 9742, ptr @lp_site %t40 = call ptr @lp_str_slice(ptr %t38, i32 2, i32 %t39) store i32 0, ptr @lp_site %t41 = load ptr, ptr %t1 %t42 = call ptr @fn_ck_ty_unknown(ptr %t40, ptr %t41) store ptr %t42, ptr %retval br label %ret ifend9: %t44 = load i32, ptr %t9 %t45 = icmp eq i32 %t44, 0 %t46 = zext i1 %t45 to i32 %t47 = icmp ne i32 %t46, 0 %t48 = zext i1 %t47 to i32 store i32 %t48, ptr %t43 br i1 %t47, label %scend11, label %sc10 sc10: %t49 = load ptr, ptr %t0 %t50 = getelementptr inbounds i8, ptr %t49, i32 0 %t51 = load i8, ptr %t50 %t52 = zext i8 %t51 to i32 %t53 = call i32 @fn_ck_ty_upper(i32 %t52) %t54 = icmp eq i32 %t53, 0 %t55 = zext i1 %t54 to i32 %t56 = icmp ne i32 %t55, 0 %t57 = zext i1 %t56 to i32 store i32 %t57, ptr %t43 br label %scend11 scend11: %t58 = load i32, ptr %t43 %t59 = icmp ne i32 %t58, 0 br i1 %t59, label %then12, label %ifend14 then12: store ptr null, ptr %retval br label %ret ifend14: store i32 0, ptr %t60 br label %wcond15 wcond15: %t62 = load i32, ptr %t60 %t63 = load i32, ptr %t9 %t64 = icmp slt i32 %t62, %t63 %t65 = zext i1 %t64 to i32 %t66 = icmp ne i32 %t65, 0 %t67 = zext i1 %t66 to i32 store i32 %t67, ptr %t61 br i1 %t66, label %sc18, label %scend19 sc18: %t68 = load ptr, ptr %t0 %t69 = load i32, ptr %t60 %t70 = getelementptr inbounds i8, ptr %t68, i32 %t69 %t71 = load i8, ptr %t70 %t72 = zext i8 %t71 to i32 %t73 = call i32 @fn_ck_ty_ident(i32 %t72) %t74 = icmp ne i32 %t73, 0 %t75 = zext i1 %t74 to i32 store i32 %t75, ptr %t61 br label %scend19 scend19: %t76 = load i32, ptr %t61 %t77 = icmp ne i32 %t76, 0 br i1 %t77, label %wbody16, label %wend17 wbody16: %t78 = load i32, ptr %t60 %t79 = add i32 %t78, 1 store i32 %t79, ptr %t60 br label %wcond15 wend17: %t80 = load ptr, ptr %t0 %t81 = load i32, ptr %t60 store i32 9743, ptr @lp_site %t82 = call ptr @lp_str_slice(ptr %t80, i32 0, i32 %t81) store i32 0, ptr @lp_site store ptr %t82, ptr %t83 %t85 = load i32, ptr %t60 %t86 = load i32, ptr %t9 %t87 = icmp slt i32 %t85, %t86 %t88 = zext i1 %t87 to i32 %t89 = icmp ne i32 %t88, 0 %t90 = zext i1 %t89 to i32 store i32 %t90, ptr %t84 br i1 %t89, label %sc20, label %scend21 sc20: %t91 = load ptr, ptr %t0 %t92 = load i32, ptr %t60 %t93 = getelementptr inbounds i8, ptr %t91, i32 %t92 %t94 = load i8, ptr %t93 %t95 = zext i8 %t94 to i32 %t96 = icmp ne i32 %t95, 60 %t97 = zext i1 %t96 to i32 %t98 = icmp ne i32 %t97, 0 %t99 = zext i1 %t98 to i32 store i32 %t99, ptr %t84 br label %scend21 scend21: %t100 = load i32, ptr %t84 %t101 = icmp ne i32 %t100, 0 br i1 %t101, label %then22, label %ifend24 then22: store ptr null, ptr %retval br label %ret ifend24: %t102 = load ptr, ptr %t83 %t103 = load ptr, ptr %t1 %t104 = call i32 @fn_ck_ty_known(ptr %t102, ptr %t103) %t105 = icmp ne i32 %t104, 0 br i1 %t105, label %then25, label %ifend27 then25: %t106 = load i32, ptr %t60 %t107 = load i32, ptr %t9 %t108 = icmp slt i32 %t106, %t107 %t109 = zext i1 %t108 to i32 %t110 = icmp ne i32 %t109, 0 br i1 %t110, label %then28, label %ifend30 then28: %t111 = load ptr, ptr %t0 %t112 = load i32, ptr %t60 %t113 = add i32 %t112, 1 %t114 = load i32, ptr %t9 store i32 9744, ptr @lp_site %t115 = call ptr @lp_str_slice(ptr %t111, i32 %t113, i32 %t114) store i32 0, ptr @lp_site %t116 = load ptr, ptr %t1 %t117 = call ptr @fn_ck_ty_args(ptr %t115, ptr %t116) store ptr %t117, ptr %retval br label %ret ifend30: store ptr null, ptr %retval br label %ret ifend27: %t118 = load ptr, ptr %t83 store ptr %t118, ptr %retval br label %ret ret: %t119 = load ptr, ptr %retval ret ptr %t119 } define ptr @fn_ck_ty_args(ptr %arg_s, ptr %arg_tps) { entry: %retval = alloca ptr %t0 = alloca ptr %t1 = alloca ptr %t2 = alloca i32 %t3 = alloca i32 %t4 = alloca i32 %t17 = alloca i32 %t24 = alloca i32 %t25 = alloca i32 %t47 = alloca i32 %t48 = alloca i32 %t74 = alloca ptr %t82 = alloca i32 store ptr %arg_s, ptr %t0 store ptr %arg_tps, ptr %t1 store i32 0, ptr %t2 store i32 0, ptr %t3 store i32 0, ptr %t4 br label %wcond0 wcond0: %t5 = load i32, ptr %t4 %t6 = load ptr, ptr %t0 %t7 = call i64 @strlen(ptr %t6) %t8 = trunc i64 %t7 to i32 %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 %t0 %t13 = load i32, ptr %t4 %t14 = getelementptr inbounds i8, ptr %t12, i32 %t13 %t15 = load i8, ptr %t14 %t16 = zext i8 %t15 to i32 store i32 %t16, ptr %t17 %t18 = load i32, ptr %t17 %t19 = icmp eq i32 %t18, 60 %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: %t26 = load i32, ptr %t17 %t27 = icmp eq i32 %t26, 44 %t28 = zext i1 %t27 to i32 %t29 = icmp ne i32 %t28, 0 %t30 = zext i1 %t29 to i32 store i32 %t30, ptr %t25 br i1 %t29, label %scend7, label %sc6 sc6: %t31 = load i32, ptr %t17 %t32 = icmp eq i32 %t31, 62 %t33 = zext i1 %t32 to i32 %t34 = icmp ne i32 %t33, 0 %t35 = zext i1 %t34 to i32 store i32 %t35, ptr %t25 br label %scend7 scend7: %t36 = load i32, ptr %t25 %t37 = icmp ne i32 %t36, 0 %t38 = zext i1 %t37 to i32 store i32 %t38, ptr %t24 br i1 %t37, label %sc8, label %scend9 sc8: %t39 = load i32, ptr %t2 %t40 = icmp eq i32 %t39, 0 %t41 = zext i1 %t40 to i32 %t42 = icmp ne i32 %t41, 0 %t43 = zext i1 %t42 to i32 store i32 %t43, ptr %t24 br label %scend9 scend9: %t44 = load i32, ptr %t24 %t45 = icmp ne i32 %t44, 0 br i1 %t45, label %then10, label %ifend12 then10: %t46 = load i32, ptr %t3 store i32 %t46, ptr %t47 br label %wcond13 wcond13: %t49 = load i32, ptr %t47 %t50 = load i32, ptr %t4 %t51 = icmp slt i32 %t49, %t50 %t52 = zext i1 %t51 to i32 %t53 = icmp ne i32 %t52, 0 %t54 = zext i1 %t53 to i32 store i32 %t54, ptr %t48 br i1 %t53, label %sc16, label %scend17 sc16: %t55 = load ptr, ptr %t0 %t56 = load i32, ptr %t47 %t57 = getelementptr inbounds i8, ptr %t55, i32 %t56 %t58 = load i8, ptr %t57 %t59 = zext i8 %t58 to i32 %t60 = icmp eq i32 %t59, 32 %t61 = zext i1 %t60 to i32 %t62 = icmp ne i32 %t61, 0 %t63 = zext i1 %t62 to i32 store i32 %t63, ptr %t48 br label %scend17 scend17: %t64 = load i32, ptr %t48 %t65 = icmp ne i32 %t64, 0 br i1 %t65, label %wbody14, label %wend15 wbody14: %t66 = load i32, ptr %t47 %t67 = add i32 %t66, 1 store i32 %t67, ptr %t47 br label %wcond13 wend15: %t68 = load ptr, ptr %t0 %t69 = load i32, ptr %t47 %t70 = load i32, ptr %t4 store i32 9745, ptr @lp_site %t71 = call ptr @lp_str_slice(ptr %t68, i32 %t69, i32 %t70) store i32 0, ptr @lp_site %t72 = load ptr, ptr %t1 %t73 = call ptr @fn_ck_ty_unknown(ptr %t71, 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 %then18, label %ifend20 then18: %t79 = load ptr, ptr %t74 store ptr %t79, ptr %retval br label %ret ifend20: %t80 = load i32, ptr %t4 %t81 = add i32 %t80, 1 store i32 %t81, ptr %t3 br label %ifend12 ifend12: %t83 = load i32, ptr %t17 %t84 = icmp eq i32 %t83, 62 %t85 = zext i1 %t84 to i32 %t86 = icmp ne i32 %t85, 0 %t87 = zext i1 %t86 to i32 store i32 %t87, ptr %t82 br i1 %t86, label %sc21, label %scend22 sc21: %t88 = load i32, ptr %t2 %t89 = icmp sgt 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 %t82 br label %scend22 scend22: %t93 = load i32, ptr %t82 %t94 = icmp ne i32 %t93, 0 br i1 %t94, label %then23, label %ifend25 then23: %t95 = load i32, ptr %t2 %t96 = sub i32 %t95, 1 store i32 %t96, ptr %t2 br label %ifend25 ifend25: %t97 = load i32, ptr %t4 %t98 = add i32 %t97, 1 store i32 %t98, ptr %t4 br label %wcond0 wend2: store ptr null, ptr %retval br label %ret ret: %t99 = load ptr, ptr %retval ret ptr %t99 } define i32 @fn_ck_ty_known(ptr %arg_name, ptr %arg_tps) { entry: %retval = alloca i32 %t0 = alloca ptr %t1 = alloca ptr %t9 = alloca i32 %t10 = alloca i32 %t31 = alloca i32 %t32 = alloca i32 %t66 = alloca ptr %t67 = alloca i32 store ptr %arg_name, ptr %t0 store ptr %arg_tps, ptr %t1 %t2 = load ptr, ptr @g_ck_ty_k %t3 = load ptr, ptr @g_ck_ty_v %t4 = load ptr, ptr %t0 %t5 = call ptr @fn_ck_tab_get(ptr %t2, ptr %t3, ptr %t4) %t6 = icmp ne ptr %t5, null %t7 = zext i1 %t6 to i32 %t8 = icmp ne i32 %t7, 0 br i1 %t8, label %then0, label %ifend2 then0: store i32 1, ptr %retval br label %ret ifend2: %t11 = load ptr, ptr %t0 %t12 = call i32 @lp_str_eq(ptr %t11, ptr @.str17336) %t13 = icmp ne i32 %t12, 0 %t14 = zext i1 %t13 to i32 store i32 %t14, ptr %t10 br i1 %t13, label %scend4, label %sc3 sc3: %t15 = load ptr, ptr %t0 %t16 = call i32 @lp_str_eq(ptr %t15, ptr @.str17337) %t17 = icmp ne i32 %t16, 0 %t18 = zext i1 %t17 to i32 store i32 %t18, ptr %t10 br label %scend4 scend4: %t19 = load i32, ptr %t10 %t20 = icmp ne i32 %t19, 0 %t21 = zext i1 %t20 to i32 store i32 %t21, ptr %t9 br i1 %t20, label %scend6, label %sc5 sc5: %t22 = load ptr, ptr %t0 %t23 = call i32 @lp_str_eq(ptr %t22, ptr @.str17338) %t24 = icmp ne i32 %t23, 0 %t25 = zext i1 %t24 to i32 store i32 %t25, ptr %t9 br label %scend6 scend6: %t26 = load i32, ptr %t9 %t27 = icmp ne i32 %t26, 0 br i1 %t27, label %then7, label %ifend9 then7: store i32 1, ptr %retval br label %ret ifend9: %t28 = load ptr, ptr %t0 %t29 = call i32 @lp_str_eq(ptr %t28, ptr @.str17339) %t30 = icmp ne i32 %t29, 0 br i1 %t30, label %then10, label %ifend12 then10: store i32 1, ptr %retval br label %ret ifend12: %t33 = load ptr, ptr %t0 %t34 = call i32 @fn_is_state_ty(ptr %t33) %t35 = icmp ne i32 %t34, 0 %t36 = zext i1 %t35 to i32 store i32 %t36, ptr %t32 br i1 %t35, label %scend14, label %sc13 sc13: %t37 = load ptr, ptr %t0 %t38 = call ptr @fn_ck_record(ptr %t37) %t39 = icmp ne ptr %t38, null %t40 = zext i1 %t39 to i32 %t41 = icmp ne i32 %t40, 0 %t42 = zext i1 %t41 to i32 store i32 %t42, ptr %t32 br label %scend14 scend14: %t43 = load i32, ptr %t32 %t44 = icmp ne i32 %t43, 0 %t45 = zext i1 %t44 to i32 store i32 %t45, ptr %t31 br i1 %t44, label %scend16, label %sc15 sc15: %t46 = load ptr, ptr %t0 %t47 = call ptr @fn_ck_enum(ptr %t46) %t48 = icmp ne ptr %t47, null %t49 = zext i1 %t48 to i32 %t50 = icmp ne i32 %t49, 0 %t51 = zext i1 %t50 to i32 store i32 %t51, ptr %t31 br label %scend16 scend16: %t52 = load i32, ptr %t31 %t53 = icmp ne i32 %t52, 0 br i1 %t53, label %then17, label %ifend19 then17: store i32 1, ptr %retval br label %ret ifend19: %t54 = load ptr, ptr @g_g_gen_recs %t55 = load ptr, ptr %t0 %t56 = call ptr @fn_gen_template(ptr %t54, ptr %t55) %t57 = icmp ne ptr %t56, null %t58 = zext i1 %t57 to i32 %t59 = icmp ne i32 %t58, 0 br i1 %t59, label %then20, label %ifend22 then20: store i32 1, ptr %retval br label %ret ifend22: %t60 = load ptr, ptr %t1 %t61 = icmp ne ptr %t60, null %t62 = zext i1 %t61 to i32 %t63 = icmp ne i32 %t62, 0 br i1 %t63, label %then23, label %ifend25 then23: %t64 = load ptr, ptr %t1 %t65 = call ptr @fn_gen_split(ptr %t64) store ptr %t65, ptr %t66 store i32 0, ptr %t67 br label %wcond26 wcond26: %t68 = load i32, ptr %t67 %t69 = load ptr, ptr %t66 %t70 = getelementptr inbounds %LSlice, ptr %t69, i32 0, i32 1 %t71 = load i32, ptr %t70 %t72 = icmp slt i32 %t68, %t71 %t73 = zext i1 %t72 to i32 %t74 = icmp ne i32 %t73, 0 br i1 %t74, label %wbody27, label %wend28 wbody27: %t75 = load ptr, ptr %t66 %t76 = load i32, ptr %t67 %t77 = getelementptr inbounds %LSlice, ptr %t75, i32 0, i32 0 %t78 = load ptr, ptr %t77 %t79 = getelementptr inbounds %LSlice, ptr %t75, i32 0, i32 1 %t80 = load i32, ptr %t79 %t81 = icmp ult i32 %t76, %t80 br i1 %t81, label %ixok29, label %ixbad30 ixbad30: store i32 9746, ptr @lp_site %t82 = call ptr @lp_win_stdio(i32 2) store i32 0, ptr @lp_site call i32 (ptr, ptr, ...) @fprintf(ptr %t82, ptr @.fmt_bounds, ptr @.str17340, i32 %t76, i32 %t80) call void @exit(i32 1) unreachable ixok29: %t83 = getelementptr inbounds ptr, ptr %t78, i32 %t76 %t84 = load ptr, ptr %t83 %t85 = load ptr, ptr %t0 %t86 = call i32 @lp_str_eq(ptr %t84, ptr %t85) %t87 = icmp ne i32 %t86, 0 br i1 %t87, label %then31, label %ifend33 then31: store i32 1, ptr %retval br label %ret ifend33: %t88 = load i32, ptr %t67 %t89 = add i32 %t88, 1 store i32 %t89, ptr %t67 br label %wcond26 wend28: br label %ifend25 ifend25: store i32 0, ptr %retval br label %ret ret: %t90 = load i32, ptr %retval ret i32 %t90 } define void @fn_ck_ty_say(ptr %arg_n, ptr %arg_t, ptr %arg_tps, ptr %arg_what) { entry: %t0 = alloca ptr %t1 = alloca ptr %t2 = alloca ptr %t3 = alloca ptr %t7 = alloca ptr store ptr %arg_n, ptr %t0 store ptr %arg_t, ptr %t1 store ptr %arg_tps, ptr %t2 store ptr %arg_what, ptr %t3 %t4 = load ptr, ptr %t1 %t5 = load ptr, ptr %t2 %t6 = call ptr @fn_ck_ty_unknown(ptr %t4, ptr %t5) store ptr %t6, ptr %t7 %t8 = load ptr, ptr %t7 %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: %t12 = load ptr, ptr %t0 %t13 = load ptr, ptr %t3 store i32 9747, ptr @lp_site %t14 = call ptr @lp_str_concat(ptr %t13, ptr @.str17343) store i32 0, ptr @lp_site %t15 = load ptr, ptr %t7 store i32 9748, ptr @lp_site %t16 = call ptr @lp_str_concat(ptr %t14, ptr %t15) store i32 0, ptr @lp_site call void @lp_free(ptr %t14) call void @fn_ck_err(ptr @.str17342, ptr %t12, ptr %t16) br label %ifend2 ifend2: br label %ret ret: ret void } define void @fn_ck_tynames() { entry: %t0 = alloca i32 %t1 = alloca i32 %t28 = alloca ptr %t29 = alloca i32 %t30 = alloca i32 %t57 = alloca i32 %t79 = alloca ptr %t114 = alloca i32 %t115 = alloca i32 %t116 = alloca i32 %t117 = alloca i32 %t164 = alloca i32 %t186 = alloca ptr call void @fn_ck_ty_index() store i32 0, ptr %t0 br label %wcond0 wcond0: %t2 = load i32, ptr %t0 %t3 = load i32, ptr @g_g_prog_user_end %t4 = icmp slt i32 %t2, %t3 %t5 = zext i1 %t4 to i32 %t6 = icmp ne i32 %t5, 0 %t7 = zext i1 %t6 to i32 store i32 %t7, ptr %t1 br i1 %t6, label %sc3, label %scend4 sc3: %t8 = load i32, ptr %t0 %t9 = load ptr, ptr @g_prog %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 %t15 = zext i1 %t14 to i32 store i32 %t15, ptr %t1 br label %scend4 scend4: %t16 = load i32, ptr %t1 %t17 = icmp ne i32 %t16, 0 br i1 %t17, label %wbody1, label %wend2 wbody1: %t18 = load ptr, ptr @g_prog %t19 = load i32, ptr %t0 %t20 = getelementptr inbounds %LSlice, ptr %t18, i32 0, i32 0 %t21 = load ptr, ptr %t20 %t22 = getelementptr inbounds %LSlice, ptr %t18, i32 0, i32 1 %t23 = load i32, ptr %t22 %t24 = icmp ult i32 %t19, %t23 br i1 %t24, label %ixok5, label %ixbad6 ixbad6: store i32 9749, ptr @lp_site %t25 = call ptr @lp_win_stdio(i32 2) store i32 0, ptr @lp_site call i32 (ptr, ptr, ...) @fprintf(ptr %t25, ptr @.fmt_bounds, ptr @.str17345, i32 %t19, i32 %t23) call void @exit(i32 1) unreachable ixok5: %t26 = getelementptr inbounds ptr, ptr %t21, i32 %t19 %t27 = load ptr, ptr %t26 store ptr %t27, ptr %t28 %t31 = load ptr, ptr %t28 %t32 = getelementptr inbounds %Cmp_Node, ptr %t31, i32 0, i32 0 %t33 = load i32, ptr %t32 %t34 = icmp eq i32 %t33, 4 %t35 = zext i1 %t34 to i32 %t36 = icmp ne i32 %t35, 0 %t37 = zext i1 %t36 to i32 store i32 %t37, ptr %t30 br i1 %t36, label %sc7, label %scend8 sc7: %t38 = load ptr, ptr %t28 %t39 = getelementptr inbounds %Cmp_Node, ptr %t38, i32 0, i32 9 %t40 = load ptr, ptr %t39 %t41 = icmp ne ptr %t40, null %t42 = zext i1 %t41 to i32 %t43 = icmp ne i32 %t42, 0 %t44 = zext i1 %t43 to i32 store i32 %t44, ptr %t30 br label %scend8 scend8: %t45 = load i32, ptr %t30 %t46 = icmp ne i32 %t45, 0 %t47 = zext i1 %t46 to i32 store i32 %t47, ptr %t29 br i1 %t46, label %sc9, label %scend10 sc9: %t48 = load ptr, ptr %t28 %t49 = getelementptr inbounds %Cmp_Node, ptr %t48, i32 0, i32 13 %t50 = load i32, ptr %t49 %t51 = icmp sge i32 %t50, 0 %t52 = zext i1 %t51 to i32 %t53 = icmp ne i32 %t52, 0 %t54 = zext i1 %t53 to i32 store i32 %t54, ptr %t29 br label %scend10 scend10: %t55 = load i32, ptr %t29 %t56 = icmp ne i32 %t55, 0 br i1 %t56, label %then11, label %ifend13 then11: store i32 0, ptr %t57 br label %wcond14 wcond14: %t58 = load i32, ptr %t57 %t59 = load ptr, ptr %t28 %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 1 %t63 = load i32, ptr %t62 %t64 = icmp slt i32 %t58, %t63 %t65 = zext i1 %t64 to i32 %t66 = icmp ne i32 %t65, 0 br i1 %t66, label %wbody15, label %wend16 wbody15: %t67 = load ptr, ptr %t28 %t68 = getelementptr inbounds %Cmp_Node, ptr %t67, i32 0, i32 7 %t69 = load ptr, ptr %t68 %t70 = load i32, ptr %t57 %t71 = getelementptr inbounds %LSlice, ptr %t69, i32 0, i32 0 %t72 = load ptr, ptr %t71 %t73 = getelementptr inbounds %LSlice, ptr %t69, i32 0, i32 1 %t74 = load i32, ptr %t73 %t75 = icmp ult i32 %t70, %t74 br i1 %t75, label %ixok17, label %ixbad18 ixbad18: store i32 9750, ptr @lp_site %t76 = call ptr @lp_win_stdio(i32 2) store i32 0, ptr @lp_site call i32 (ptr, ptr, ...) @fprintf(ptr %t76, ptr @.fmt_bounds, ptr @.str17347, i32 %t70, i32 %t74) call void @exit(i32 1) unreachable ixok17: %t77 = getelementptr inbounds ptr, ptr %t72, i32 %t70 %t78 = load ptr, ptr %t77 store ptr %t78, ptr %t79 %t80 = load ptr, ptr %t79 %t81 = getelementptr inbounds %Cmp_Node, ptr %t80, i32 0, i32 0 %t82 = load i32, ptr %t81 %t83 = icmp eq i32 %t82, 5 %t84 = zext i1 %t83 to i32 %t85 = icmp ne i32 %t84, 0 br i1 %t85, label %then19, label %ifend21 then19: %t86 = load ptr, ptr %t79 %t87 = load ptr, ptr %t79 %t88 = getelementptr inbounds %Cmp_Node, ptr %t87, i32 0, i32 3 %t89 = load ptr, ptr %t88 %t90 = load ptr, ptr %t28 %t91 = getelementptr inbounds %Cmp_Node, ptr %t90, i32 0, i32 11 %t92 = load ptr, ptr %t91 %t93 = load ptr, ptr %t28 %t94 = getelementptr inbounds %Cmp_Node, ptr %t93, i32 0, i32 1 %t95 = load ptr, ptr %t94 store i32 9751, ptr @lp_site %t96 = call ptr @lp_str_concat(ptr %t95, ptr @.str17348) store i32 0, ptr @lp_site %t97 = load ptr, ptr %t79 %t98 = getelementptr inbounds %Cmp_Node, ptr %t97, i32 0, i32 1 %t99 = load ptr, ptr %t98 store i32 9752, ptr @lp_site %t100 = call ptr @lp_str_concat(ptr %t96, ptr %t99) store i32 0, ptr @lp_site call void @lp_free(ptr %t96) call void @fn_ck_ty_say(ptr %t86, ptr %t89, ptr %t92, ptr %t100) br label %ifend21 ifend21: %t101 = load i32, ptr %t57 %t102 = add i32 %t101, 1 store i32 %t102, ptr %t57 br label %wcond14 wend16: %t103 = load ptr, ptr %t28 %t104 = load ptr, ptr %t28 %t105 = getelementptr inbounds %Cmp_Node, ptr %t104, i32 0, i32 3 %t106 = load ptr, ptr %t105 %t107 = load ptr, ptr %t28 %t108 = getelementptr inbounds %Cmp_Node, ptr %t107, i32 0, i32 11 %t109 = load ptr, ptr %t108 %t110 = load ptr, ptr %t28 %t111 = getelementptr inbounds %Cmp_Node, ptr %t110, i32 0, i32 1 %t112 = load ptr, ptr %t111 store i32 9753, ptr @lp_site %t113 = call ptr @lp_str_concat(ptr %t112, ptr @.str17349) store i32 0, ptr @lp_site call void @fn_ck_ty_say(ptr %t103, ptr %t106, ptr %t109, ptr %t113) br label %ifend13 ifend13: %t118 = load ptr, ptr %t28 %t119 = getelementptr inbounds %Cmp_Node, ptr %t118, i32 0, i32 0 %t120 = load i32, ptr %t119 %t121 = icmp eq i32 %t120, 8 %t122 = zext i1 %t121 to i32 %t123 = icmp ne i32 %t122, 0 %t124 = zext i1 %t123 to i32 store i32 %t124, ptr %t117 br i1 %t123, label %scend23, label %sc22 sc22: %t125 = load ptr, ptr %t28 %t126 = getelementptr inbounds %Cmp_Node, ptr %t125, i32 0, i32 0 %t127 = load i32, ptr %t126 %t128 = icmp eq i32 %t127, 0 %t129 = zext i1 %t128 to i32 %t130 = icmp ne i32 %t129, 0 %t131 = zext i1 %t130 to i32 store i32 %t131, ptr %t117 br label %scend23 scend23: %t132 = load i32, ptr %t117 %t133 = icmp ne i32 %t132, 0 %t134 = zext i1 %t133 to i32 store i32 %t134, ptr %t116 br i1 %t133, label %scend25, label %sc24 sc24: %t135 = load ptr, ptr %t28 %t136 = getelementptr inbounds %Cmp_Node, ptr %t135, i32 0, i32 0 %t137 = load i32, ptr %t136 %t138 = icmp eq i32 %t137, 48 %t139 = zext i1 %t138 to i32 %t140 = icmp ne i32 %t139, 0 %t141 = zext i1 %t140 to i32 store i32 %t141, ptr %t116 br label %scend25 scend25: %t142 = load i32, ptr %t116 %t143 = icmp ne i32 %t142, 0 %t144 = zext i1 %t143 to i32 store i32 %t144, ptr %t115 br i1 %t143, label %sc26, label %scend27 sc26: %t145 = load ptr, ptr %t28 %t146 = getelementptr inbounds %Cmp_Node, ptr %t145, i32 0, i32 9 %t147 = load ptr, ptr %t146 %t148 = icmp ne ptr %t147, null %t149 = zext i1 %t148 to i32 %t150 = icmp ne i32 %t149, 0 %t151 = zext i1 %t150 to i32 store i32 %t151, ptr %t115 br label %scend27 scend27: %t152 = load i32, ptr %t115 %t153 = icmp ne i32 %t152, 0 %t154 = zext i1 %t153 to i32 store i32 %t154, ptr %t114 br i1 %t153, label %sc28, label %scend29 sc28: %t155 = load ptr, ptr %t28 %t156 = getelementptr inbounds %Cmp_Node, ptr %t155, i32 0, i32 13 %t157 = load i32, ptr %t156 %t158 = icmp sge i32 %t157, 0 %t159 = zext i1 %t158 to i32 %t160 = icmp ne i32 %t159, 0 %t161 = zext i1 %t160 to i32 store i32 %t161, ptr %t114 br label %scend29 scend29: %t162 = load i32, ptr %t114 %t163 = icmp ne i32 %t162, 0 br i1 %t163, label %then30, label %ifend32 then30: store i32 0, ptr %t164 br label %wcond33 wcond33: %t165 = load i32, ptr %t164 %t166 = load ptr, ptr %t28 %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 1 %t170 = load i32, ptr %t169 %t171 = icmp slt i32 %t165, %t170 %t172 = zext i1 %t171 to i32 %t173 = icmp ne i32 %t172, 0 br i1 %t173, label %wbody34, label %wend35 wbody34: %t174 = load ptr, ptr %t28 %t175 = getelementptr inbounds %Cmp_Node, ptr %t174, i32 0, i32 7 %t176 = load ptr, ptr %t175 %t177 = load i32, ptr %t164 %t178 = getelementptr inbounds %LSlice, ptr %t176, i32 0, i32 0 %t179 = load ptr, ptr %t178 %t180 = getelementptr inbounds %LSlice, ptr %t176, i32 0, i32 1 %t181 = load i32, ptr %t180 %t182 = icmp ult i32 %t177, %t181 br i1 %t182, label %ixok36, label %ixbad37 ixbad37: store i32 9754, ptr @lp_site %t183 = call ptr @lp_win_stdio(i32 2) store i32 0, ptr @lp_site call i32 (ptr, ptr, ...) @fprintf(ptr %t183, ptr @.fmt_bounds, ptr @.str17350, i32 %t177, i32 %t181) call void @exit(i32 1) unreachable ixok36: %t184 = getelementptr inbounds ptr, ptr %t179, i32 %t177 %t185 = load ptr, ptr %t184 store ptr %t185, ptr %t186 %t187 = load ptr, ptr %t186 %t188 = getelementptr inbounds %Cmp_Node, ptr %t187, i32 0, i32 0 %t189 = load i32, ptr %t188 %t190 = icmp eq i32 %t189, 1 %t191 = zext i1 %t190 to i32 %t192 = icmp ne i32 %t191, 0 br i1 %t192, label %then38, label %ifend40 then38: %t193 = load ptr, ptr %t186 %t194 = load ptr, ptr %t186 %t195 = getelementptr inbounds %Cmp_Node, ptr %t194, i32 0, i32 3 %t196 = load ptr, ptr %t195 %t197 = load ptr, ptr %t28 %t198 = getelementptr inbounds %Cmp_Node, ptr %t197, i32 0, i32 11 %t199 = load ptr, ptr %t198 %t200 = load ptr, ptr %t28 %t201 = getelementptr inbounds %Cmp_Node, ptr %t200, i32 0, i32 1 %t202 = load ptr, ptr %t201 store i32 9755, ptr @lp_site %t203 = call ptr @lp_str_concat(ptr %t202, ptr @.str17351) store i32 0, ptr @lp_site %t204 = load ptr, ptr %t186 %t205 = getelementptr inbounds %Cmp_Node, ptr %t204, i32 0, i32 1 %t206 = load ptr, ptr %t205 store i32 9756, ptr @lp_site %t207 = call ptr @lp_str_concat(ptr %t203, ptr %t206) store i32 0, ptr @lp_site call void @lp_free(ptr %t203) call void @fn_ck_ty_say(ptr %t193, ptr %t196, ptr %t199, ptr %t207) br label %ifend40 ifend40: %t208 = load i32, ptr %t164 %t209 = add i32 %t208, 1 store i32 %t209, ptr %t164 br label %wcond33 wend35: br label %ifend32 ifend32: %t210 = load i32, ptr %t0 %t211 = add i32 %t210, 1 store i32 %t211, ptr %t0 br label %wcond0 wend2: br label %ret ret: ret void } define i32 @fn_ck_is_raw(ptr %arg_t) { entry: %retval = alloca i32 %t0 = alloca ptr %t1 = alloca i32 store ptr %arg_t, ptr %t0 %t2 = load ptr, ptr %t0 %t3 = call i32 @lp_str_eq(ptr %t2, ptr @.str17352) %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 @.str17353) %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_ck_raw_builtin(ptr %arg_name) { entry: %retval = alloca i32 %t0 = alloca ptr %t1 = alloca i32 %t2 = alloca i32 %t3 = alloca i32 %t28 = alloca i32 store ptr %arg_name, ptr %t0 %t4 = load ptr, ptr %t0 %t5 = call i32 @lp_str_eq(ptr %t4, ptr @.str17354) %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 @.str17355) %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 @.str17356) %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 @.str17357) %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: %t29 = load ptr, ptr %t0 %t30 = call i32 @lp_str_eq(ptr %t29, ptr @.str17358) %t31 = icmp ne i32 %t30, 0 %t32 = zext i1 %t31 to i32 store i32 %t32, ptr %t28 br i1 %t31, label %scend10, label %sc9 sc9: %t33 = load ptr, ptr %t0 %t34 = call i32 @lp_str_eq(ptr %t33, ptr @.str17359) %t35 = icmp ne i32 %t34, 0 %t36 = zext i1 %t35 to i32 store i32 %t36, ptr %t28 br label %scend10 scend10: %t37 = load i32, ptr %t28 store i32 %t37, ptr %retval br label %ret ret: %t38 = load i32, ptr %retval ret i32 %t38 } define void @fn_ck_raw(ptr %arg_n, ptr %arg_what) { entry: %t0 = alloca ptr %t1 = alloca ptr %t6 = alloca i32 %t7 = alloca i32 store ptr %arg_n, ptr %t0 store ptr %arg_what, ptr %t1 %t2 = load i32, ptr @g_ck_unsafe %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: br label %ret ifend2: %t8 = load ptr, ptr %t0 %t9 = icmp ne ptr %t8, null %t10 = zext i1 %t9 to i32 %t11 = icmp ne i32 %t10, 0 %t12 = zext i1 %t11 to i32 store i32 %t12, ptr %t7 br i1 %t11, label %sc3, label %scend4 sc3: %t13 = load ptr, ptr %t0 %t14 = getelementptr inbounds %Cmp_Node, ptr %t13, i32 0, i32 9 %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 %t7 br label %scend4 scend4: %t20 = load i32, ptr %t7 %t21 = icmp ne i32 %t20, 0 %t22 = zext i1 %t21 to i32 store i32 %t22, ptr %t6 br i1 %t21, label %sc5, label %scend6 sc5: %t23 = load ptr, ptr %t0 %t24 = getelementptr inbounds %Cmp_Node, ptr %t23, i32 0, i32 9 %t25 = load ptr, ptr %t24 %t26 = call i32 @fn_unsafe_trusted(ptr %t25) %t27 = icmp ne i32 %t26, 0 %t28 = zext i1 %t27 to i32 store i32 %t28, ptr %t6 br label %scend6 scend6: %t29 = load i32, ptr %t6 %t30 = icmp ne i32 %t29, 0 br i1 %t30, label %then7, label %ifend9 then7: br label %ret ifend9: %t31 = load ptr, ptr %t0 %t32 = load ptr, ptr %t1 store i32 9757, ptr @lp_site %t33 = call ptr @lp_str_concat(ptr %t32, ptr @.str17361) store i32 0, ptr @lp_site call void @fn_ck_err(ptr @.str17360, ptr %t31, ptr %t33) br label %ret ret: ret void } define void @fn_ck_unsafe_here(ptr %arg_n) { entry: %t0 = alloca ptr %t1 = alloca i32 store ptr %arg_n, ptr %t0 %t2 = load ptr, ptr %t0 %t3 = icmp eq ptr %t2, null %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 ptr, ptr %t0 %t8 = getelementptr inbounds %Cmp_Node, ptr %t7, i32 0, i32 9 %t9 = load ptr, ptr %t8 %t10 = icmp eq ptr %t9, null %t11 = zext i1 %t10 to i32 %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: br label %ret ifend4: %t16 = load ptr, ptr %t0 %t17 = getelementptr inbounds %Cmp_Node, ptr %t16, i32 0, i32 9 %t18 = load ptr, ptr %t17 %t19 = call i32 @fn_unsafe_trusted(ptr %t18) %t20 = icmp ne i32 %t19, 0 br i1 %t20, label %then5, label %ifend7 then5: br label %ret ifend7: %t21 = load ptr, ptr %t0 call void @fn_ck_err(ptr @.str17363, ptr %t21, ptr @.str17364) br label %ret ret: ret void } define void @fn_emit_block(ptr %arg_b) { entry: %t0 = alloca ptr %t2 = alloca i32 %t6 = alloca i32 %t7 = alloca i32 store ptr %arg_b, ptr %t0 %t1 = load i32, ptr @g_g_blk_cur store i32 %t1, ptr %t2 %t3 = load i32, ptr @g_g_blk_next %t4 = add i32 %t3, 1 store i32 %t4, ptr @g_g_blk_next %t5 = load i32, ptr @g_g_blk_next store i32 %t5, ptr @g_g_blk_cur store i32 0, ptr %t6 br label %wcond0 wcond0: %t8 = load i32, ptr %t6 %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 %t17 = zext i1 %t16 to i32 store i32 %t17, ptr %t7 br i1 %t16, label %sc3, label %scend4 sc3: %t18 = load i32, ptr @g_g_term %t19 = icmp eq i32 %t18, 0 %t20 = zext i1 %t19 to i32 %t21 = icmp ne i32 %t20, 0 %t22 = zext i1 %t21 to i32 store i32 %t22, ptr %t7 br label %scend4 scend4: %t23 = load i32, ptr %t7 %t24 = icmp ne i32 %t23, 0 br i1 %t24, label %wbody1, label %wend2 wbody1: %t25 = load ptr, ptr %t0 %t26 = getelementptr inbounds %Cmp_Node, ptr %t25, i32 0, i32 7 %t27 = load ptr, ptr %t26 %t28 = load i32, ptr %t6 %t29 = getelementptr inbounds %LSlice, ptr %t27, i32 0, i32 0 %t30 = load ptr, ptr %t29 %t31 = getelementptr inbounds %LSlice, ptr %t27, i32 0, i32 1 %t32 = load i32, ptr %t31 %t33 = icmp ult i32 %t28, %t32 br i1 %t33, label %ixok5, label %ixbad6 ixbad6: store i32 9758, ptr @lp_site %t34 = call ptr @lp_win_stdio(i32 2) store i32 0, ptr @lp_site call i32 (ptr, ptr, ...) @fprintf(ptr %t34, ptr @.fmt_bounds, ptr @.str17365, i32 %t28, i32 %t32) call void @exit(i32 1) unreachable ixok5: %t35 = getelementptr inbounds ptr, ptr %t30, i32 %t28 %t36 = load ptr, ptr %t35 call void @fn_emit_stmt(ptr %t36) %t37 = load i32, ptr %t6 %t38 = add i32 %t37, 1 store i32 %t38, ptr %t6 br label %wcond0 wend2: %t39 = load i32, ptr %t2 store i32 %t39, ptr @g_g_blk_cur 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 @.str17367) %t3 = load ptr, ptr %t0 call void @fn_emit(ptr %t3) call void @fn_emit(ptr @.str17368) %t4 = load ptr, ptr %t1 call void @fn_emit(ptr %t4) call void @fn_emit(ptr @.str17369) %t5 = load ptr, ptr %t2 call void @fn_emit(ptr %t5) call void @fn_emit(ptr @.str17370) 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 store i32 9759, ptr @lp_site %t2 = call ptr @lp_str_slice(ptr %t1, i32 0, i32 1) store i32 0, ptr @lp_site 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 %t77 = alloca ptr %t105 = alloca ptr %t140 = alloca ptr %t145 = alloca ptr %t161 = alloca ptr %t172 = 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 @.str17372, ptr %t5 store ptr @.str17373, 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 = load i32, ptr %t17 %t24 = getelementptr inbounds %LSlice, ptr %t22, i32 0, i32 0 %t25 = load ptr, ptr %t24 %t26 = getelementptr inbounds %LSlice, ptr %t22, i32 0, i32 1 %t27 = load i32, ptr %t26 %t28 = icmp ult i32 %t23, %t27 br i1 %t28, label %ixok6, label %ixbad7 ixbad7: store i32 9760, ptr @lp_site %t29 = call ptr @lp_win_stdio(i32 2) store i32 0, ptr @lp_site call i32 (ptr, ptr, ...) @fprintf(ptr %t29, ptr @.fmt_bounds, ptr @.str17374, i32 %t23, i32 %t27) call void @exit(i32 1) unreachable ixok6: %t30 = getelementptr inbounds i32, ptr %t25, i32 %t23 %t31 = load i32, ptr %t30 %t32 = icmp eq i32 %t31, 0 %t33 = zext i1 %t32 to i32 %t34 = icmp ne i32 %t33, 0 br i1 %t34, label %then8, label %ifend10 then8: %t35 = load ptr, ptr %t4 %t36 = getelementptr inbounds %Cmp_Node, ptr %t35, i32 0, i32 1 %t37 = load ptr, ptr %t36 store i32 9761, ptr @lp_site %t38 = call ptr @lp_str_concat(ptr @.str17376, ptr %t37) store i32 0, ptr @lp_site store i32 9762, ptr @lp_site %t39 = call ptr @lp_str_concat(ptr %t38, ptr @.str17377) store i32 0, ptr @lp_site call void @lp_free(ptr %t38) %t40 = load ptr, ptr %t0 %t41 = getelementptr inbounds %Cmp_Node, ptr %t40, i32 0, i32 8 %t42 = load i32, ptr %t41 %t43 = call ptr @fn_itoa(i32 %t42) store i32 9763, ptr @lp_site %t44 = call ptr @lp_str_concat(ptr %t39, ptr %t43) store i32 0, ptr @lp_site call void @lp_free(ptr %t39) call void @fn_perr(ptr %t44) br label %ifend10 ifend10: %t45 = call i32 @fn_deps_on() %t46 = icmp ne i32 %t45, 0 br i1 %t46, label %then11, label %ifend13 then11: %t47 = load ptr, ptr %t4 %t48 = getelementptr inbounds %Cmp_Node, ptr %t47, i32 0, i32 1 %t49 = load ptr, ptr %t48 %t50 = load ptr, ptr %t0 %t51 = getelementptr inbounds %Cmp_Node, ptr %t50, i32 0, i32 5 %t52 = load ptr, ptr %t51 call void @fn_deps_alias_let(ptr %t49, ptr %t52) br label %ifend13 ifend13: %t53 = load ptr, ptr @g_loc_reg %t54 = load i32, ptr %t17 %t55 = getelementptr inbounds %LSlice, ptr %t53, i32 0, i32 0 %t56 = load ptr, ptr %t55 %t57 = getelementptr inbounds %LSlice, ptr %t53, i32 0, i32 1 %t58 = load i32, ptr %t57 %t59 = icmp ult i32 %t54, %t58 br i1 %t59, label %ixok14, label %ixbad15 ixbad15: store i32 9764, ptr @lp_site %t60 = call ptr @lp_win_stdio(i32 2) store i32 0, ptr @lp_site call i32 (ptr, ptr, ...) @fprintf(ptr %t60, ptr @.fmt_bounds, ptr @.str17378, i32 %t54, i32 %t58) call void @exit(i32 1) unreachable ixok14: %t61 = getelementptr inbounds ptr, ptr %t56, i32 %t54 %t62 = load ptr, ptr %t61 store ptr %t62, ptr %t5 %t63 = load ptr, ptr @g_loc_ty %t64 = load i32, ptr %t17 %t65 = getelementptr inbounds %LSlice, ptr %t63, i32 0, i32 0 %t66 = load ptr, ptr %t65 %t67 = getelementptr inbounds %LSlice, ptr %t63, i32 0, i32 1 %t68 = load i32, ptr %t67 %t69 = icmp ult i32 %t64, %t68 br i1 %t69, label %ixok16, label %ixbad17 ixbad17: store i32 9765, ptr @lp_site %t70 = call ptr @lp_win_stdio(i32 2) store i32 0, ptr @lp_site call i32 (ptr, ptr, ...) @fprintf(ptr %t70, ptr @.fmt_bounds, ptr @.str17379, i32 %t64, i32 %t68) call void @exit(i32 1) unreachable ixok16: %t71 = getelementptr inbounds ptr, ptr %t66, i32 %t64 %t72 = load ptr, ptr %t71 store ptr %t72, ptr %t6 br label %ifend5 else4: %t73 = load ptr, ptr %t4 %t74 = getelementptr inbounds %Cmp_Node, ptr %t73, i32 0, i32 1 %t75 = load ptr, ptr %t74 %t76 = call ptr @fn_find_global(ptr %t75) store ptr %t76, ptr %t77 %t78 = load ptr, ptr %t77 %t79 = icmp eq ptr %t78, null %t80 = zext i1 %t79 to i32 %t81 = icmp ne i32 %t80, 0 br i1 %t81, label %then18, label %ifend20 then18: %t82 = load ptr, ptr %t4 %t83 = getelementptr inbounds %Cmp_Node, ptr %t82, i32 0, i32 1 %t84 = load ptr, ptr %t83 store i32 9766, ptr @lp_site %t85 = call ptr @lp_str_concat(ptr @.str17380, ptr %t84) store i32 0, ptr @lp_site call void @fn_perr(ptr %t85) br label %ifend20 ifend20: %t86 = load ptr, ptr %t77 %t87 = load ptr, ptr %t4 %t88 = getelementptr inbounds %Cmp_Node, ptr %t87, i32 0, i32 1 %t89 = load ptr, ptr %t88 call void @fn_vis_check(ptr %t86, ptr %t89) %t90 = load ptr, ptr %t77 %t91 = load ptr, ptr %t4 %t92 = getelementptr inbounds %Cmp_Node, ptr %t91, i32 0, i32 1 %t93 = load ptr, ptr %t92 call void @fn_deps_write(ptr %t90, ptr %t93) %t94 = load ptr, ptr %t4 %t95 = getelementptr inbounds %Cmp_Node, ptr %t94, i32 0, i32 1 %t96 = load ptr, ptr %t95 store i32 9767, ptr @lp_site %t97 = call ptr @lp_str_concat(ptr @.str17381, ptr %t96) store i32 0, ptr @lp_site store ptr %t97, ptr %t5 %t98 = load ptr, ptr %t77 %t99 = getelementptr inbounds %Cmp_Node, ptr %t98, i32 0, i32 3 %t100 = load ptr, ptr %t99 store ptr %t100, ptr %t6 br label %ifend5 ifend5: br label %ifend2 else1: %t101 = call i32 @fn_deps_on() %t102 = icmp ne i32 %t101, 0 br i1 %t102, label %then21, label %ifend23 then21: %t103 = load ptr, ptr %t4 %t104 = call ptr @fn_deps_target_root(ptr %t103) store ptr %t104, ptr %t105 %t106 = load ptr, ptr %t105 %t107 = icmp ne ptr %t106, null %t108 = zext i1 %t107 to i32 %t109 = icmp ne i32 %t108, 0 br i1 %t109, label %then24, label %else25 then24: %t110 = load ptr, ptr %t105 %t111 = load ptr, ptr %t105 %t112 = getelementptr inbounds %Cmp_Node, ptr %t111, i32 0, i32 1 %t113 = load ptr, ptr %t112 call void @fn_deps_write(ptr %t110, ptr %t113) br label %ifend26 else25: %t114 = load ptr, ptr %t4 %t115 = call i32 @fn_deps_state_write(ptr %t114) %t116 = icmp eq i32 %t115, 0 %t117 = zext i1 %t116 to i32 %t118 = icmp ne i32 %t117, 0 br i1 %t118, label %then27, label %ifend29 then27: %t119 = load ptr, ptr %t4 call void @fn_deps_alias_write(ptr %t119) br label %ifend29 ifend29: br label %ifend26 ifend26: br label %ifend23 ifend23: %t120 = load ptr, ptr %t4 %t121 = getelementptr inbounds %Cmp_Node, ptr %t120, i32 0, i32 0 %t122 = load i32, ptr %t121 %t123 = icmp eq i32 %t122, 35 %t124 = zext i1 %t123 to i32 %t125 = icmp ne i32 %t124, 0 br i1 %t125, label %then30, label %else31 then30: %t126 = load ptr, ptr %t4 %t127 = call ptr @fn_emit_member_addr(ptr %t126) store ptr %t127, ptr %t5 %t128 = load ptr, ptr @g_g_addr_ty store ptr %t128, ptr %t6 br label %ifend32 else31: %t129 = load ptr, ptr %t4 %t130 = getelementptr inbounds %Cmp_Node, ptr %t129, i32 0, i32 0 %t131 = load i32, ptr %t130 %t132 = icmp eq i32 %t131, 36 %t133 = zext i1 %t132 to i32 %t134 = icmp ne i32 %t133, 0 br i1 %t134, label %then33, label %else34 then33: %t135 = load ptr, ptr %t4 %t136 = call ptr @fn_emit_index_addr(ptr %t135) store ptr %t136, ptr %t5 %t137 = load ptr, ptr @g_g_addr_ty store ptr %t137, ptr %t6 br label %ifend35 else34: call void @fn_perr(ptr @.str17382) br label %ifend35 ifend35: br label %ifend32 ifend32: br label %ifend2 ifend2: %t138 = load ptr, ptr %t6 %t139 = call ptr @fn_llty(ptr %t138) store ptr %t139, ptr %t140 %t141 = load ptr, ptr %t0 %t142 = getelementptr inbounds %Cmp_Node, ptr %t141, i32 0, i32 5 %t143 = load ptr, ptr %t142 %t144 = call ptr @fn_emit_expr(ptr %t143) store ptr %t144, ptr %t145 %t146 = load ptr, ptr %t0 %t147 = getelementptr inbounds %Cmp_Node, ptr %t146, i32 0, i32 1 %t148 = load ptr, ptr %t147 %t149 = call i32 @lp_str_eq(ptr %t148, ptr @.str17383) %t150 = icmp eq i32 %t149, 0 %t151 = zext i1 %t150 to i32 %t152 = icmp ne i32 %t151, 0 br i1 %t152, label %then36, label %ifend38 then36: %t153 = load ptr, ptr %t140 store i32 9768, ptr @lp_site %t154 = call ptr @lp_str_concat(ptr @.str17384, ptr %t153) store i32 0, ptr @lp_site store i32 9769, ptr @lp_site %t155 = call ptr @lp_str_concat(ptr %t154, ptr @.str17385) store i32 0, ptr @lp_site call void @lp_free(ptr %t154) %t156 = load ptr, ptr %t5 store i32 9770, ptr @lp_site %t157 = call ptr @lp_str_concat(ptr %t155, ptr %t156) store i32 0, ptr @lp_site call void @lp_free(ptr %t155) %t158 = call ptr @fn_emit_bind(ptr %t157) %t159 = load ptr, ptr %t6 %t160 = call ptr @fn_val(ptr %t158, ptr %t159) store ptr %t160, ptr %t161 %t162 = load ptr, ptr %t0 %t163 = getelementptr inbounds %Cmp_Node, ptr %t162, i32 0, i32 1 %t164 = load ptr, ptr %t163 %t165 = call ptr @fn_compound_op(ptr %t164) %t166 = load ptr, ptr %t161 %t167 = load ptr, ptr %t145 %t168 = call ptr @fn_emit_bin_vals(ptr %t165, ptr %t166, ptr %t167, i32 0) store ptr %t168, ptr %t145 br label %ifend38 ifend38: %t169 = load ptr, ptr %t145 %t170 = load ptr, ptr %t6 %t171 = call ptr @fn_coerce_code(ptr %t169, ptr %t170) store ptr %t171, ptr %t172 %t173 = load ptr, ptr %t140 %t174 = call i32 @lp_str_eq(ptr %t173, ptr @.str17386) %t175 = icmp ne i32 %t174, 0 br i1 %t175, label %then39, label %ifend41 then39: %t176 = load ptr, ptr %t172 store i32 9771, ptr @lp_site %t177 = call ptr @lp_str_concat(ptr @.str17387, ptr %t176) store i32 0, ptr @lp_site store i32 9772, ptr @lp_site %t178 = call ptr @lp_str_concat(ptr %t177, ptr @.str17388) store i32 0, ptr @lp_site call void @lp_free(ptr %t177) %t179 = call ptr @fn_emit_bind(ptr %t178) store ptr %t179, ptr %t172 br label %ifend41 ifend41: %t180 = load ptr, ptr %t140 %t181 = load ptr, ptr %t172 %t182 = load ptr, ptr %t5 call void @fn_store_at(ptr %t180, ptr %t181, ptr %t182) 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 store i32 9773, ptr @lp_site %t9 = call ptr @lp_str_concat(ptr @.str17389, ptr %t8) store i32 0, ptr @lp_site store i32 9774, ptr @lp_site %t10 = call ptr @lp_str_concat(ptr %t9, ptr @.str17391) store i32 0, ptr @lp_site call void @lp_free(ptr %t9) %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 @.str17392) store ptr %t19, ptr %t20 %t21 = call ptr @fn_lbl(ptr @.str17393) store ptr %t21, ptr %t22 %t23 = call ptr @fn_lbl(ptr @.str17394) 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 @.str17395) %t27 = load ptr, ptr %t12 call void @fn_emit(ptr %t27) call void @fn_emit(ptr @.str17396) %t28 = load ptr, ptr %t20 call void @fn_emit(ptr %t28) call void @fn_emit(ptr @.str17397) %t29 = load ptr, ptr %t22 call void @fn_emit(ptr %t29) call void @fn_emit(ptr @.str17398) br label %ifend2 else1: call void @fn_emit(ptr @.str17399) %t30 = load ptr, ptr %t12 call void @fn_emit(ptr %t30) call void @fn_emit(ptr @.str17400) %t31 = load ptr, ptr %t20 call void @fn_emit(ptr %t31) call void @fn_emit(ptr @.str17401) %t32 = load ptr, ptr %t24 call void @fn_emit(ptr %t32) call void @fn_emit(ptr @.str17402) br label %ifend2 ifend2: %t33 = load ptr, ptr %t20 call void @fn_emit(ptr %t33) call void @fn_emit(ptr @.str17403) 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 @.str17404) %t41 = load ptr, ptr %t24 call void @fn_emit(ptr %t41) call void @fn_emit(ptr @.str17405) 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 @.str17406) 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 @.str17407) %t63 = load ptr, ptr %t24 call void @fn_emit(ptr %t63) call void @fn_emit(ptr @.str17408) br label %ifend14 ifend14: br label %ifend8 ifend8: %t64 = load ptr, ptr %t24 call void @fn_emit(ptr %t64) call void @fn_emit(ptr @.str17409) 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 @.str17410) store ptr %t1, ptr %t2 %t3 = call ptr @fn_lbl(ptr @.str17411) store ptr %t3, ptr %t4 %t5 = call ptr @fn_lbl(ptr @.str17412) store ptr %t5, ptr %t6 call void @fn_emit(ptr @.str17413) %t7 = load ptr, ptr %t2 call void @fn_emit(ptr %t7) call void @fn_emit(ptr @.str17414) %t8 = load ptr, ptr %t2 call void @fn_emit(ptr %t8) call void @fn_emit(ptr @.str17415) %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 store i32 9775, ptr @lp_site %t17 = call ptr @lp_str_concat(ptr @.str17416, ptr %t16) store i32 0, ptr @lp_site store i32 9776, ptr @lp_site %t18 = call ptr @lp_str_concat(ptr %t17, ptr @.str17418) store i32 0, ptr @lp_site call void @lp_free(ptr %t17) %t19 = call ptr @fn_emit_bind(ptr %t18) store ptr %t19, ptr %t20 call void @fn_emit(ptr @.str17419) %t21 = load ptr, ptr %t20 call void @fn_emit(ptr %t21) call void @fn_emit(ptr @.str17420) %t22 = load ptr, ptr %t4 call void @fn_emit(ptr %t22) call void @fn_emit(ptr @.str17421) %t23 = load ptr, ptr %t6 call void @fn_emit(ptr %t23) call void @fn_emit(ptr @.str17422) %t24 = load ptr, ptr %t4 call void @fn_emit(ptr %t24) call void @fn_emit(ptr @.str17423) 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 @.str17424) %t34 = load ptr, ptr %t2 call void @fn_emit(ptr %t34) call void @fn_emit(ptr @.str17425) br label %ifend2 ifend2: %t35 = load ptr, ptr %t6 call void @fn_emit(ptr %t35) call void @fn_emit(ptr @.str17426) 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 @.str17427) 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 @.str17428, 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 @.str17429) %t16 = call ptr @fn_lbl(ptr @.str17430) store ptr %t16, ptr %t17 %t18 = call ptr @fn_lbl(ptr @.str17431) store ptr %t18, ptr %t19 %t20 = call ptr @fn_lbl(ptr @.str17432) store ptr %t20, ptr %t21 %t22 = call ptr @fn_lbl(ptr @.str17433) store ptr %t22, ptr %t23 call void @fn_emit(ptr @.str17434) %t24 = load ptr, ptr %t17 call void @fn_emit(ptr %t24) call void @fn_emit(ptr @.str17435) %t25 = load ptr, ptr %t17 call void @fn_emit(ptr %t25) call void @fn_emit(ptr @.str17436) %t26 = load ptr, ptr %t2 store i32 9777, ptr @lp_site %t27 = call ptr @lp_str_concat(ptr @.str17437, ptr %t26) store i32 0, ptr @lp_site %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 store i32 9778, ptr @lp_site %t36 = call ptr @lp_str_concat(ptr @.str17439, ptr %t35) store i32 0, ptr @lp_site store i32 9779, ptr @lp_site %t37 = call ptr @lp_str_concat(ptr %t36, ptr @.str17440) store i32 0, ptr @lp_site call void @lp_free(ptr %t36) %t38 = load ptr, ptr %t34 %t39 = getelementptr inbounds %Cmp_Val, ptr %t38, i32 0, i32 0 %t40 = load ptr, ptr %t39 store i32 9780, ptr @lp_site %t41 = call ptr @lp_str_concat(ptr %t37, ptr %t40) store i32 0, ptr @lp_site call void @lp_free(ptr %t37) %t42 = call ptr @fn_emit_bind(ptr %t41) store ptr %t42, ptr %t43 call void @fn_emit(ptr @.str17441) %t44 = load ptr, ptr %t43 call void @fn_emit(ptr %t44) call void @fn_emit(ptr @.str17442) %t45 = load ptr, ptr %t19 call void @fn_emit(ptr %t45) call void @fn_emit(ptr @.str17443) %t46 = load ptr, ptr %t23 call void @fn_emit(ptr %t46) call void @fn_emit(ptr @.str17444) %t47 = load ptr, ptr %t19 call void @fn_emit(ptr %t47) call void @fn_emit(ptr @.str17445) 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 @.str17446) %t57 = load ptr, ptr %t21 call void @fn_emit(ptr %t57) call void @fn_emit(ptr @.str17447) br label %ifend2 ifend2: %t58 = load ptr, ptr %t21 call void @fn_emit(ptr %t58) call void @fn_emit(ptr @.str17448) %t59 = load ptr, ptr %t2 store i32 9781, ptr @lp_site %t60 = call ptr @lp_str_concat(ptr @.str17449, ptr %t59) store i32 0, ptr @lp_site %t61 = call ptr @fn_emit_bind(ptr %t60) store ptr %t61, ptr %t62 %t63 = load ptr, ptr %t62 store i32 9782, ptr @lp_site %t64 = call ptr @lp_str_concat(ptr @.str17450, ptr %t63) store i32 0, ptr @lp_site store i32 9783, ptr @lp_site %t65 = call ptr @lp_str_concat(ptr %t64, ptr @.str17451) store i32 0, ptr @lp_site call void @lp_free(ptr %t64) %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 @.str17452, ptr %t68, ptr %t69) call void @fn_emit(ptr @.str17453) %t70 = load ptr, ptr %t17 call void @fn_emit(ptr %t70) call void @fn_emit(ptr @.str17454) %t71 = load ptr, ptr %t23 call void @fn_emit(ptr %t71) call void @fn_emit(ptr @.str17455) 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 %t1 = alloca i32 %t25 = alloca ptr store ptr %arg_st, ptr %t0 %t2 = load ptr, ptr %t0 %t3 = getelementptr inbounds %Cmp_Node, ptr %t2, i32 0, i32 4 %t4 = load ptr, ptr %t3 %t5 = icmp ne ptr %t4, null %t6 = zext i1 %t5 to i32 %t7 = icmp ne i32 %t6, 0 %t8 = zext i1 %t7 to i32 store i32 %t8, ptr %t1 br i1 %t7, label %sc0, label %scend1 sc0: %t9 = load ptr, ptr @g_ret_ty %t10 = call i32 @lp_str_eq(ptr %t9, ptr @.str17456) %t11 = icmp ne i32 %t10, 0 %t12 = zext i1 %t11 to i32 store i32 %t12, ptr %t1 br label %scend1 scend1: %t13 = load i32, ptr %t1 %t14 = icmp ne i32 %t13, 0 br i1 %t14, label %then2, label %ifend4 then2: call void @fn_perr(ptr @.str17457) br label %ifend4 ifend4: %t15 = load ptr, ptr %t0 %t16 = getelementptr inbounds %Cmp_Node, ptr %t15, i32 0, i32 4 %t17 = load ptr, ptr %t16 %t18 = icmp ne ptr %t17, null %t19 = zext i1 %t18 to i32 %t20 = icmp ne i32 %t19, 0 br i1 %t20, label %then5, label %ifend7 then5: %t21 = load ptr, ptr %t0 %t22 = getelementptr inbounds %Cmp_Node, ptr %t21, i32 0, i32 4 %t23 = load ptr, ptr %t22 %t24 = call ptr @fn_emit_expr(ptr %t23) store ptr %t24, ptr %t25 %t26 = load ptr, ptr @g_ret_ty %t27 = call ptr @fn_llty(ptr %t26) %t28 = load ptr, ptr %t25 %t29 = load ptr, ptr @g_ret_ty %t30 = call ptr @fn_coerce_code(ptr %t28, ptr %t29) call void @fn_store_at(ptr %t27, ptr %t30, ptr @.str17458) br label %ifend7 ifend7: %t31 = load ptr, ptr @g_g_ret_label store i32 9784, ptr @lp_site %t32 = call ptr @lp_str_concat(ptr @.str17459, ptr %t31) store i32 0, ptr @lp_site store i32 9785, ptr @lp_site %t33 = call ptr @lp_str_concat(ptr %t32, ptr @.str17461) store i32 0, ptr @lp_site call void @lp_free(ptr %t32) call void @fn_emit(ptr %t33) store i32 1, ptr @g_g_term br label %ret ret: ret void } define i32 @fn_block_ends(ptr %arg_b) { entry: %retval = alloca i32 %t0 = alloca ptr %t5 = alloca i32 store ptr %arg_b, 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: store i32 0, ptr %retval br label %ret ifend2: store i32 0, ptr %t5 br label %wcond3 wcond3: %t6 = load i32, ptr %t5 %t7 = load ptr, ptr %t0 %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 %t6, %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 %t0 %t16 = getelementptr inbounds %Cmp_Node, ptr %t15, i32 0, i32 7 %t17 = load ptr, ptr %t16 %t18 = load i32, ptr %t5 %t19 = getelementptr inbounds %LSlice, ptr %t17, i32 0, i32 0 %t20 = load ptr, ptr %t19 %t21 = getelementptr inbounds %LSlice, ptr %t17, i32 0, i32 1 %t22 = load i32, ptr %t21 %t23 = icmp ult i32 %t18, %t22 br i1 %t23, label %ixok6, label %ixbad7 ixbad7: store i32 9786, ptr @lp_site %t24 = call ptr @lp_win_stdio(i32 2) store i32 0, ptr @lp_site call i32 (ptr, ptr, ...) @fprintf(ptr %t24, ptr @.fmt_bounds, ptr @.str17462, i32 %t18, i32 %t22) call void @exit(i32 1) unreachable ixok6: %t25 = getelementptr inbounds ptr, ptr %t20, i32 %t18 %t26 = load ptr, ptr %t25 %t27 = call i32 @fn_stmt_ends(ptr %t26) %t28 = icmp ne i32 %t27, 0 br i1 %t28, label %then8, label %ifend10 then8: store i32 1, ptr %retval br label %ret ifend10: %t29 = load i32, ptr %t5 %t30 = add i32 %t29, 1 store i32 %t30, ptr %t5 br label %wcond3 wend5: store i32 0, ptr %retval br label %ret ret: %t31 = load i32, ptr %retval ret i32 %t31 } define i32 @fn_stmt_ends(ptr %arg_st) { entry: %retval = alloca i32 %t0 = alloca ptr %t23 = alloca i32 %t63 = alloca i32 %t64 = alloca i32 %t86 = alloca ptr store ptr %arg_st, 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, 15 %t5 = zext i1 %t4 to i32 %t6 = icmp ne i32 %t5, 0 br i1 %t6, label %then0, label %ifend2 then0: store i32 1, 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, 56 %t11 = zext i1 %t10 to i32 %t12 = icmp ne i32 %t11, 0 br i1 %t12, label %then3, label %ifend5 then3: %t13 = load ptr, ptr %t0 %t14 = getelementptr inbounds %Cmp_Node, ptr %t13, i32 0, i32 4 %t15 = load ptr, ptr %t14 %t16 = call i32 @fn_block_ends(ptr %t15) store i32 %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, 12 %t21 = zext i1 %t20 to i32 %t22 = icmp ne i32 %t21, 0 br i1 %t22, label %then6, label %ifend8 then6: %t24 = load ptr, ptr %t0 %t25 = getelementptr inbounds %Cmp_Node, ptr %t24, i32 0, i32 6 %t26 = load ptr, ptr %t25 %t27 = icmp eq ptr %t26, null %t28 = zext i1 %t27 to i32 %t29 = icmp ne i32 %t28, 0 %t30 = zext i1 %t29 to i32 store i32 %t30, ptr %t23 br i1 %t29, label %scend10, label %sc9 sc9: %t31 = load ptr, ptr %t0 %t32 = getelementptr inbounds %Cmp_Node, ptr %t31, i32 0, i32 5 %t33 = load ptr, ptr %t32 %t34 = call i32 @fn_block_ends(ptr %t33) %t35 = icmp eq i32 %t34, 0 %t36 = zext i1 %t35 to i32 %t37 = icmp ne i32 %t36, 0 %t38 = zext i1 %t37 to i32 store i32 %t38, ptr %t23 br label %scend10 scend10: %t39 = load i32, ptr %t23 %t40 = icmp ne i32 %t39, 0 br i1 %t40, label %then11, label %ifend13 then11: store i32 0, ptr %retval br label %ret ifend13: %t41 = load ptr, ptr %t0 %t42 = getelementptr inbounds %Cmp_Node, ptr %t41, i32 0, i32 6 %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, 12 %t47 = zext i1 %t46 to i32 %t48 = icmp ne i32 %t47, 0 br i1 %t48, label %then14, label %ifend16 then14: %t49 = load ptr, ptr %t0 %t50 = getelementptr inbounds %Cmp_Node, ptr %t49, i32 0, i32 6 %t51 = load ptr, ptr %t50 %t52 = call i32 @fn_stmt_ends(ptr %t51) store i32 %t52, ptr %retval br label %ret ifend16: %t53 = load ptr, ptr %t0 %t54 = getelementptr inbounds %Cmp_Node, ptr %t53, i32 0, i32 6 %t55 = load ptr, ptr %t54 %t56 = call i32 @fn_block_ends(ptr %t55) store i32 %t56, ptr %retval br label %ret ifend8: %t57 = load ptr, ptr %t0 %t58 = getelementptr inbounds %Cmp_Node, ptr %t57, i32 0, i32 0 %t59 = load i32, ptr %t58 %t60 = icmp eq i32 %t59, 19 %t61 = zext i1 %t60 to i32 %t62 = icmp ne i32 %t61, 0 br i1 %t62, label %then17, label %ifend19 then17: store i32 0, ptr %t63 store i32 0, ptr %t64 br label %wcond20 wcond20: %t65 = load i32, ptr %t64 %t66 = load ptr, ptr %t0 %t67 = getelementptr inbounds %Cmp_Node, ptr %t66, i32 0, i32 7 %t68 = load ptr, ptr %t67 %t69 = getelementptr inbounds %LSlice, ptr %t68, i32 0, i32 1 %t70 = load i32, ptr %t69 %t71 = icmp slt i32 %t65, %t70 %t72 = zext i1 %t71 to i32 %t73 = icmp ne i32 %t72, 0 br i1 %t73, label %wbody21, label %wend22 wbody21: %t74 = load ptr, ptr %t0 %t75 = getelementptr inbounds %Cmp_Node, ptr %t74, i32 0, i32 7 %t76 = load ptr, ptr %t75 %t77 = load i32, ptr %t64 %t78 = getelementptr inbounds %LSlice, ptr %t76, i32 0, i32 0 %t79 = load ptr, ptr %t78 %t80 = getelementptr inbounds %LSlice, ptr %t76, i32 0, i32 1 %t81 = load i32, ptr %t80 %t82 = icmp ult i32 %t77, %t81 br i1 %t82, label %ixok23, label %ixbad24 ixbad24: store i32 9787, ptr @lp_site %t83 = call ptr @lp_win_stdio(i32 2) store i32 0, ptr @lp_site call i32 (ptr, ptr, ...) @fprintf(ptr %t83, ptr @.fmt_bounds, ptr @.str17464, i32 %t77, i32 %t81) call void @exit(i32 1) unreachable ixok23: %t84 = getelementptr inbounds ptr, ptr %t79, i32 %t77 %t85 = load ptr, ptr %t84 store ptr %t85, ptr %t86 %t87 = load ptr, ptr %t86 %t88 = call i32 @fn_arm_is_default(ptr %t87) %t89 = icmp ne i32 %t88, 0 br i1 %t89, label %then25, label %ifend27 then25: store i32 1, ptr %t63 br label %ifend27 ifend27: %t90 = load ptr, ptr %t86 %t91 = getelementptr inbounds %Cmp_Node, ptr %t90, i32 0, i32 4 %t92 = load ptr, ptr %t91 %t93 = call i32 @fn_block_ends(ptr %t92) %t94 = icmp eq i32 %t93, 0 %t95 = zext i1 %t94 to i32 %t96 = icmp ne i32 %t95, 0 br i1 %t96, label %then28, label %ifend30 then28: store i32 0, ptr %retval br label %ret ifend30: %t97 = load i32, ptr %t64 %t98 = add i32 %t97, 1 store i32 %t98, ptr %t64 br label %wcond20 wend22: %t99 = load i32, ptr %t63 store i32 %t99, ptr %retval br label %ret ifend19: store i32 0, ptr %retval br label %ret ret: %t100 = load i32, ptr %retval ret i32 %t100 } 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 = load i32, ptr %t1 %t16 = getelementptr inbounds %LSlice, ptr %t14, i32 0, i32 0 %t17 = load ptr, ptr %t16 %t18 = getelementptr inbounds %LSlice, ptr %t14, i32 0, i32 1 %t19 = load i32, ptr %t18 %t20 = icmp ult i32 %t15, %t19 br i1 %t20, label %ixok3, label %ixbad4 ixbad4: store i32 9788, ptr @lp_site %t21 = call ptr @lp_win_stdio(i32 2) store i32 0, ptr @lp_site call i32 (ptr, ptr, ...) @fprintf(ptr %t21, ptr @.fmt_bounds, ptr @.str17466, i32 %t15, i32 %t19) call void @exit(i32 1) unreachable ixok3: %t22 = getelementptr inbounds ptr, ptr %t17, i32 %t15 %t23 = load ptr, ptr %t22 %t24 = getelementptr inbounds %Cmp_Node, ptr %t23, i32 0, i32 0 %t25 = load i32, ptr %t24 %t26 = icmp eq i32 %t25, 33 %t27 = zext i1 %t26 to i32 %t28 = icmp ne i32 %t27, 0 %t29 = zext i1 %t28 to i32 store i32 %t29, ptr %t11 br i1 %t28, label %sc5, label %scend6 sc5: %t30 = load ptr, ptr %t0 %t31 = getelementptr inbounds %Cmp_Node, ptr %t30, i32 0, i32 7 %t32 = load ptr, ptr %t31 %t33 = load i32, ptr %t1 %t34 = getelementptr inbounds %LSlice, ptr %t32, i32 0, i32 0 %t35 = load ptr, ptr %t34 %t36 = getelementptr inbounds %LSlice, ptr %t32, i32 0, i32 1 %t37 = load i32, ptr %t36 %t38 = icmp ult i32 %t33, %t37 br i1 %t38, label %ixok7, label %ixbad8 ixbad8: store i32 9789, ptr @lp_site %t39 = call ptr @lp_win_stdio(i32 2) store i32 0, ptr @lp_site call i32 (ptr, ptr, ...) @fprintf(ptr %t39, ptr @.fmt_bounds, ptr @.str17468, i32 %t33, i32 %t37) call void @exit(i32 1) unreachable ixok7: %t40 = getelementptr inbounds ptr, ptr %t35, i32 %t33 %t41 = load ptr, ptr %t40 %t42 = getelementptr inbounds %Cmp_Node, ptr %t41, i32 0, i32 1 %t43 = load ptr, ptr %t42 %t44 = call i32 @lp_str_eq(ptr %t43, ptr @.str17469) %t45 = icmp ne i32 %t44, 0 %t46 = zext i1 %t45 to i32 store i32 %t46, ptr %t11 br label %scend6 scend6: %t47 = load i32, ptr %t11 %t48 = icmp ne i32 %t47, 0 br i1 %t48, label %then9, label %ifend11 then9: store i32 1, ptr %retval br label %ret ifend11: %t49 = load i32, ptr %t1 %t50 = add i32 %t49, 1 store i32 %t50, ptr %t1 br label %wcond0 wend2: store i32 0, ptr %retval br label %ret ret: %t51 = load i32, ptr %retval ret i32 %t51 } 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 %t23 = alloca ptr %t59 = alloca i32 %t113 = alloca ptr %t116 = alloca ptr %t118 = alloca ptr %t133 = alloca ptr %t136 = 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 = load i32, ptr %t10 %t15 = getelementptr inbounds %LSlice, ptr %t13, i32 0, i32 0 %t16 = load ptr, ptr %t15 %t17 = getelementptr inbounds %LSlice, ptr %t13, i32 0, i32 1 %t18 = load i32, ptr %t17 %t19 = icmp ult i32 %t14, %t18 br i1 %t19, label %ixok0, label %ixbad1 ixbad1: store i32 9790, ptr @lp_site %t20 = call ptr @lp_win_stdio(i32 2) store i32 0, ptr @lp_site call i32 (ptr, ptr, ...) @fprintf(ptr %t20, ptr @.fmt_bounds, ptr @.str17470, i32 %t14, i32 %t18) call void @exit(i32 1) unreachable ixok0: %t21 = getelementptr inbounds ptr, ptr %t16, i32 %t14 %t22 = load ptr, 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 1 %t28 = load i32, ptr %t27 %t29 = load ptr, ptr %t23 %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 1 %t33 = load i32, ptr %t32 %t34 = icmp ne i32 %t28, %t33 %t35 = zext i1 %t34 to i32 %t36 = icmp ne i32 %t35, 0 br i1 %t36, label %then2, label %ifend4 then2: %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 1 %t41 = load ptr, ptr %t40 store i32 9791, ptr @lp_site %t42 = call ptr @lp_str_concat(ptr @.str17472, ptr %t41) store i32 0, ptr @lp_site store i32 9792, ptr @lp_site %t43 = call ptr @lp_str_concat(ptr %t42, ptr @.str17473) store i32 0, ptr @lp_site call void @lp_free(ptr %t42) %t44 = load ptr, ptr %t1 %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 1 %t48 = load i32, ptr %t47 %t49 = call ptr @fn_itoa(i32 %t48) store i32 9793, ptr @lp_site %t50 = call ptr @lp_str_concat(ptr %t43, ptr %t49) store i32 0, ptr @lp_site call void @lp_free(ptr %t43) store i32 9794, ptr @lp_site %t51 = call ptr @lp_str_concat(ptr %t50, ptr @.str17474) store i32 0, ptr @lp_site call void @lp_free(ptr %t50) %t52 = load ptr, ptr %t23 %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 = call ptr @fn_itoa(i32 %t56) store i32 9795, ptr @lp_site %t58 = call ptr @lp_str_concat(ptr %t51, ptr %t57) store i32 0, ptr @lp_site call void @lp_free(ptr %t51) call void @fn_perr(ptr %t58) br label %ifend4 ifend4: store i32 0, ptr %t59 br label %wcond5 wcond5: %t60 = load i32, ptr %t59 %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 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 %wbody6, label %wend7 wbody6: %t69 = load ptr, ptr %t1 %t70 = getelementptr inbounds %Cmp_Node, ptr %t69, i32 0, i32 7 %t71 = load ptr, ptr %t70 %t72 = load i32, ptr %t59 %t73 = getelementptr inbounds %LSlice, ptr %t71, i32 0, i32 0 %t74 = load ptr, ptr %t73 %t75 = getelementptr inbounds %LSlice, ptr %t71, i32 0, i32 1 %t76 = load i32, ptr %t75 %t77 = icmp ult i32 %t72, %t76 br i1 %t77, label %ixok8, label %ixbad9 ixbad9: store i32 9796, ptr @lp_site %t78 = call ptr @lp_win_stdio(i32 2) store i32 0, ptr @lp_site call i32 (ptr, ptr, ...) @fprintf(ptr %t78, ptr @.fmt_bounds, ptr @.str17475, i32 %t72, i32 %t76) call void @exit(i32 1) unreachable ixok8: %t79 = getelementptr inbounds ptr, ptr %t74, i32 %t72 %t80 = load ptr, ptr %t79 %t81 = getelementptr inbounds %Cmp_Node, ptr %t80, i32 0, i32 0 %t82 = load i32, ptr %t81 %t83 = icmp eq i32 %t82, 33 %t84 = zext i1 %t83 to i32 %t85 = icmp eq i32 %t84, 0 %t86 = zext i1 %t85 to i32 %t87 = icmp ne i32 %t86, 0 br i1 %t87, label %then10, label %ifend12 then10: %t88 = load ptr, ptr %t1 %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 store i32 9797, ptr @lp_site %t93 = call ptr @lp_str_concat(ptr @.str17476, ptr %t92) store i32 0, ptr @lp_site store i32 9798, ptr @lp_site %t94 = call ptr @lp_str_concat(ptr %t93, ptr @.str17477) store i32 0, ptr @lp_site call void @lp_free(ptr %t93) %t95 = load i32, ptr %t59 %t96 = call ptr @fn_itoa(i32 %t95) store i32 9799, ptr @lp_site %t97 = call ptr @lp_str_concat(ptr %t94, ptr %t96) store i32 0, ptr @lp_site call void @lp_free(ptr %t94) store i32 9800, ptr @lp_site %t98 = call ptr @lp_str_concat(ptr %t97, ptr @.str17478) store i32 0, ptr @lp_site call void @lp_free(ptr %t97) call void @fn_perr(ptr %t98) br label %ifend12 ifend12: %t99 = load ptr, ptr %t23 %t100 = getelementptr inbounds %Cmp_Node, ptr %t99, i32 0, i32 7 %t101 = load ptr, ptr %t100 %t102 = load i32, ptr %t59 %t103 = getelementptr inbounds %LSlice, ptr %t101, i32 0, i32 0 %t104 = load ptr, ptr %t103 %t105 = getelementptr inbounds %LSlice, ptr %t101, i32 0, i32 1 %t106 = load i32, ptr %t105 %t107 = icmp ult i32 %t102, %t106 br i1 %t107, label %ixok13, label %ixbad14 ixbad14: store i32 9801, ptr @lp_site %t108 = call ptr @lp_win_stdio(i32 2) store i32 0, ptr @lp_site call i32 (ptr, ptr, ...) @fprintf(ptr %t108, ptr @.fmt_bounds, ptr @.str17479, i32 %t102, i32 %t106) call void @exit(i32 1) unreachable ixok13: %t109 = getelementptr inbounds ptr, ptr %t104, i32 %t102 %t110 = load ptr, ptr %t109 %t111 = getelementptr inbounds %Cmp_Node, ptr %t110, i32 0, i32 3 %t112 = load ptr, ptr %t111 store ptr %t112, ptr %t113 %t114 = load ptr, ptr %t113 %t115 = call ptr @fn_llty(ptr %t114) store ptr %t115, ptr %t116 %t117 = call ptr @fn_nreg() store ptr %t117, ptr %t118 call void @fn_emit(ptr @.str17480) %t119 = load ptr, ptr %t118 call void @fn_emit(ptr %t119) call void @fn_emit(ptr @.str17481) %t120 = load ptr, ptr %t2 %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 @.str17482) %t123 = load i32, ptr %t59 %t124 = add i32 %t123, 1 %t125 = mul i32 8, %t124 %t126 = call ptr @fn_itoa(i32 %t125) call void @fn_emit(ptr %t126) call void @fn_emit(ptr @.str17483) %t127 = load ptr, ptr %t116 store i32 9802, ptr @lp_site %t128 = call ptr @lp_str_concat(ptr @.str17484, ptr %t127) store i32 0, ptr @lp_site store i32 9803, ptr @lp_site %t129 = call ptr @lp_str_concat(ptr %t128, ptr @.str17485) store i32 0, ptr @lp_site call void @lp_free(ptr %t128) %t130 = load ptr, ptr %t118 store i32 9804, ptr @lp_site %t131 = call ptr @lp_str_concat(ptr %t129, ptr %t130) store i32 0, ptr @lp_site call void @lp_free(ptr %t129) %t132 = call ptr @fn_emit_bind(ptr %t131) store ptr %t132, ptr %t133 %t134 = load ptr, ptr %t116 %t135 = call ptr @fn_emit_alloca(ptr %t134) store ptr %t135, ptr %t136 %t137 = load ptr, ptr %t116 %t138 = load ptr, ptr %t133 %t139 = load ptr, ptr %t136 call void @fn_store_at(ptr %t137, 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 = load i32, ptr %t59 %t144 = getelementptr inbounds %LSlice, ptr %t142, i32 0, i32 0 %t145 = load ptr, ptr %t144 %t146 = getelementptr inbounds %LSlice, ptr %t142, i32 0, i32 1 %t147 = load i32, ptr %t146 %t148 = icmp ult i32 %t143, %t147 br i1 %t148, label %ixok15, label %ixbad16 ixbad16: store i32 9805, ptr @lp_site %t149 = call ptr @lp_win_stdio(i32 2) store i32 0, ptr @lp_site call i32 (ptr, ptr, ...) @fprintf(ptr %t149, ptr @.fmt_bounds, ptr @.str17486, i32 %t143, i32 %t147) call void @exit(i32 1) unreachable ixok15: %t150 = getelementptr inbounds ptr, ptr %t145, i32 %t143 %t151 = load ptr, ptr %t150 %t152 = getelementptr inbounds %Cmp_Node, ptr %t151, i32 0, i32 1 %t153 = load ptr, ptr %t152 %t154 = load ptr, ptr %t136 %t155 = load ptr, ptr %t113 call void @fn_loc_push(ptr %t153, ptr %t154, ptr %t155) %t156 = load i32, ptr %t59 %t157 = add i32 %t156, 1 store i32 %t157, ptr %t59 br label %wcond5 wend7: 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 %t35 = alloca ptr %t40 = alloca ptr %t41 = alloca i32 %t42 = alloca ptr %t43 = alloca i32 %t65 = alloca ptr %t69 = alloca ptr %t85 = alloca i32 %t108 = alloca ptr %t121 = alloca ptr %t123 = alloca ptr %t129 = alloca i32 %t163 = alloca i32 %t171 = 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 store i32 9806, ptr @lp_site %t6 = call ptr @lp_str_concat(ptr @.str17487, ptr %t5) store i32 0, ptr @lp_site %t7 = call ptr @fn_emit_bind(ptr %t6) store ptr %t7, ptr %t8 %t9 = call ptr @fn_lbl(ptr @.str17489) 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 = load i32, ptr %t13 %t27 = getelementptr inbounds %LSlice, ptr %t25, i32 0, i32 0 %t28 = load ptr, ptr %t27 %t29 = getelementptr inbounds %LSlice, ptr %t25, i32 0, i32 1 %t30 = load i32, ptr %t29 %t31 = icmp ult i32 %t26, %t30 br i1 %t31, label %ixok3, label %ixbad4 ixbad4: store i32 9807, ptr @lp_site %t32 = call ptr @lp_win_stdio(i32 2) store i32 0, ptr @lp_site call i32 (ptr, ptr, ...) @fprintf(ptr %t32, ptr @.fmt_bounds, ptr @.str17490, i32 %t26, i32 %t30) call void @exit(i32 1) unreachable ixok3: %t33 = getelementptr inbounds ptr, ptr %t28, i32 %t26 %t34 = load ptr, ptr %t33 store ptr %t34, ptr %t35 %t36 = load ptr, ptr %t35 %t37 = call i32 @fn_arm_is_default(ptr %t36) %t38 = icmp ne i32 %t37, 0 br i1 %t38, label %then5, label %else6 then5: %t39 = load ptr, ptr %t35 store ptr %t39, ptr %t11 br label %ifend7 else6: store ptr @.str17491, ptr %t40 store i32 1, ptr %t41 store ptr null, ptr %t42 store i32 0, ptr %t43 br label %wcond8 wcond8: %t44 = load i32, ptr %t43 %t45 = load ptr, ptr %t35 %t46 = getelementptr inbounds %Cmp_Node, ptr %t45, i32 0, i32 7 %t47 = load ptr, ptr %t46 %t48 = getelementptr inbounds %LSlice, ptr %t47, i32 0, i32 1 %t49 = load i32, ptr %t48 %t50 = icmp slt i32 %t44, %t49 %t51 = zext i1 %t50 to i32 %t52 = icmp ne i32 %t51, 0 br i1 %t52, label %wbody9, label %wend10 wbody9: %t53 = load ptr, ptr %t35 %t54 = getelementptr inbounds %Cmp_Node, ptr %t53, i32 0, i32 7 %t55 = load ptr, ptr %t54 %t56 = load i32, ptr %t43 %t57 = getelementptr inbounds %LSlice, ptr %t55, i32 0, i32 0 %t58 = load ptr, ptr %t57 %t59 = getelementptr inbounds %LSlice, ptr %t55, i32 0, i32 1 %t60 = load i32, ptr %t59 %t61 = icmp ult i32 %t56, %t60 br i1 %t61, label %ixok11, label %ixbad12 ixbad12: store i32 9808, ptr @lp_site %t62 = call ptr @lp_win_stdio(i32 2) store i32 0, ptr @lp_site call i32 (ptr, ptr, ...) @fprintf(ptr %t62, ptr @.fmt_bounds, ptr @.str17492, i32 %t56, i32 %t60) call void @exit(i32 1) unreachable ixok11: %t63 = getelementptr inbounds ptr, ptr %t58, i32 %t56 %t64 = load ptr, ptr %t63 store ptr %t64, ptr %t65 %t66 = load ptr, ptr %t65 %t67 = getelementptr inbounds %Cmp_Node, ptr %t66, i32 0, i32 1 %t68 = load ptr, ptr %t67 store ptr %t68, ptr %t69 %t70 = load ptr, ptr %t65 %t71 = getelementptr inbounds %Cmp_Node, ptr %t70, i32 0, i32 0 %t72 = load i32, ptr %t71 %t73 = icmp eq i32 %t72, 34 %t74 = zext i1 %t73 to i32 %t75 = icmp ne i32 %t74, 0 br i1 %t75, label %then13, label %ifend15 then13: %t76 = load ptr, ptr %t65 %t77 = getelementptr inbounds %Cmp_Node, ptr %t76, i32 0, i32 4 %t78 = load ptr, ptr %t77 %t79 = getelementptr inbounds %Cmp_Node, ptr %t78, i32 0, i32 1 %t80 = load ptr, ptr %t79 store ptr %t80, ptr %t69 %t81 = load ptr, ptr %t65 store ptr %t81, ptr %t42 br label %ifend15 ifend15: %t82 = load ptr, ptr %t2 %t83 = load ptr, ptr %t69 %t84 = call i32 @fn_variant_ordinal(ptr %t82, ptr %t83) store i32 %t84, ptr %t85 %t86 = load i32, ptr %t85 %t87 = icmp slt i32 %t86, 0 %t88 = zext i1 %t87 to i32 %t89 = icmp ne i32 %t88, 0 br i1 %t89, label %then16, label %ifend18 then16: %t90 = load ptr, ptr %t69 store i32 9809, ptr @lp_site %t91 = call ptr @lp_str_concat(ptr @.str17493, ptr %t90) store i32 0, ptr @lp_site store i32 9810, ptr @lp_site %t92 = call ptr @lp_str_concat(ptr %t91, ptr @.str17494) store i32 0, ptr @lp_site call void @lp_free(ptr %t91) %t93 = load ptr, ptr %t2 %t94 = getelementptr inbounds %Cmp_Node, ptr %t93, i32 0, i32 1 %t95 = load ptr, ptr %t94 store i32 9811, ptr @lp_site %t96 = call ptr @lp_str_concat(ptr %t92, ptr %t95) store i32 0, ptr @lp_site call void @lp_free(ptr %t92) call void @fn_perr(ptr %t96) br label %ifend18 ifend18: %t97 = load i32, ptr %t12 %t98 = load i32, ptr %t85 %t99 = shl i32 1, %t98 %t100 = or i32 %t97, %t99 store i32 %t100, ptr %t12 %t101 = load ptr, ptr %t8 store i32 9812, ptr @lp_site %t102 = call ptr @lp_str_concat(ptr @.str17495, ptr %t101) store i32 0, ptr @lp_site store i32 9813, ptr @lp_site %t103 = call ptr @lp_str_concat(ptr %t102, ptr @.str17496) store i32 0, ptr @lp_site call void @lp_free(ptr %t102) %t104 = load i32, ptr %t85 %t105 = call ptr @fn_itoa(i32 %t104) store i32 9814, ptr @lp_site %t106 = call ptr @lp_str_concat(ptr %t103, ptr %t105) store i32 0, ptr @lp_site call void @lp_free(ptr %t103) %t107 = call ptr @fn_emit_bind(ptr %t106) store ptr %t107, ptr %t108 %t109 = load i32, ptr %t41 %t110 = icmp ne i32 %t109, 0 br i1 %t110, label %then19, label %else20 then19: %t111 = load ptr, ptr %t108 store ptr %t111, ptr %t40 store i32 0, ptr %t41 br label %ifend21 else20: %t112 = load ptr, ptr %t40 store i32 9815, ptr @lp_site %t113 = call ptr @lp_str_concat(ptr @.str17497, ptr %t112) store i32 0, ptr @lp_site store i32 9816, ptr @lp_site %t114 = call ptr @lp_str_concat(ptr %t113, ptr @.str17498) store i32 0, ptr @lp_site call void @lp_free(ptr %t113) %t115 = load ptr, ptr %t108 store i32 9817, ptr @lp_site %t116 = call ptr @lp_str_concat(ptr %t114, ptr %t115) store i32 0, ptr @lp_site call void @lp_free(ptr %t114) %t117 = call ptr @fn_emit_bind(ptr %t116) store ptr %t117, ptr %t40 br label %ifend21 ifend21: %t118 = load i32, ptr %t43 %t119 = add i32 %t118, 1 store i32 %t119, ptr %t43 br label %wcond8 wend10: %t120 = call ptr @fn_lbl(ptr @.str17499) store ptr %t120, ptr %t121 %t122 = call ptr @fn_lbl(ptr @.str17500) store ptr %t122, ptr %t123 call void @fn_emit(ptr @.str17501) %t124 = load ptr, ptr %t40 call void @fn_emit(ptr %t124) call void @fn_emit(ptr @.str17502) %t125 = load ptr, ptr %t121 call void @fn_emit(ptr %t125) call void @fn_emit(ptr @.str17503) %t126 = load ptr, ptr %t123 call void @fn_emit(ptr %t126) call void @fn_emit(ptr @.str17504) %t127 = load ptr, ptr %t121 call void @fn_emit(ptr %t127) call void @fn_emit(ptr @.str17505) store i32 0, ptr @g_g_term %t128 = load i32, ptr @g_nloc store i32 %t128, ptr %t129 %t130 = load ptr, ptr %t42 %t131 = icmp ne ptr %t130, null %t132 = zext i1 %t131 to i32 %t133 = icmp ne i32 %t132, 0 br i1 %t133, label %then22, label %ifend24 then22: %t134 = load ptr, ptr %t2 %t135 = load ptr, ptr %t42 %t136 = load ptr, ptr %t1 call void @fn_emit_bind_payload(ptr %t134, ptr %t135, ptr %t136) br label %ifend24 ifend24: %t137 = load ptr, ptr %t35 %t138 = getelementptr inbounds %Cmp_Node, ptr %t137, i32 0, i32 4 %t139 = load ptr, ptr %t138 call void @fn_emit_block(ptr %t139) %t140 = load i32, ptr %t129 store i32 %t140, ptr @g_nloc %t141 = load i32, ptr @g_g_term %t142 = icmp eq i32 %t141, 0 %t143 = zext i1 %t142 to i32 %t144 = icmp ne i32 %t143, 0 br i1 %t144, label %then25, label %ifend27 then25: call void @fn_emit(ptr @.str17506) %t145 = load ptr, ptr %t10 call void @fn_emit(ptr %t145) call void @fn_emit(ptr @.str17507) br label %ifend27 ifend27: %t146 = load ptr, ptr %t123 call void @fn_emit(ptr %t146) call void @fn_emit(ptr @.str17508) store i32 0, ptr @g_g_term br label %ifend7 ifend7: %t147 = load i32, ptr %t13 %t148 = add i32 %t147, 1 store i32 %t148, ptr %t13 br label %wcond0 wend2: %t149 = load ptr, ptr %t11 %t150 = icmp ne ptr %t149, null %t151 = zext i1 %t150 to i32 %t152 = icmp ne i32 %t151, 0 br i1 %t152, label %then28, label %else29 then28: %t153 = load ptr, ptr %t11 %t154 = getelementptr inbounds %Cmp_Node, ptr %t153, i32 0, i32 4 %t155 = load ptr, ptr %t154 call void @fn_emit_block(ptr %t155) br label %ifend30 else29: %t156 = load ptr, ptr %t2 %t157 = getelementptr inbounds %Cmp_Node, ptr %t156, i32 0, i32 7 %t158 = load ptr, ptr %t157 %t159 = getelementptr inbounds %LSlice, ptr %t158, i32 0, i32 1 %t160 = load i32, ptr %t159 %t161 = shl i32 1, %t160 %t162 = sub i32 %t161, 1 store i32 %t162, ptr %t163 %t164 = load i32, ptr %t12 %t165 = load i32, ptr %t163 %t166 = icmp eq i32 %t164, %t165 %t167 = zext i1 %t166 to i32 %t168 = icmp eq i32 %t167, 0 %t169 = zext i1 %t168 to i32 %t170 = icmp ne i32 %t169, 0 br i1 %t170, label %then31, label %ifend33 then31: store i32 0, ptr %t171 br label %wcond34 wcond34: %t172 = load i32, ptr %t171 %t173 = load ptr, ptr %t2 %t174 = getelementptr inbounds %Cmp_Node, ptr %t173, i32 0, i32 7 %t175 = load ptr, ptr %t174 %t176 = getelementptr inbounds %LSlice, ptr %t175, i32 0, i32 1 %t177 = load i32, ptr %t176 %t178 = icmp slt i32 %t172, %t177 %t179 = zext i1 %t178 to i32 %t180 = icmp ne i32 %t179, 0 br i1 %t180, label %wbody35, label %wend36 wbody35: %t181 = load i32, ptr %t12 %t182 = load i32, ptr %t171 %t183 = shl i32 1, %t182 %t184 = and i32 %t181, %t183 %t185 = icmp eq i32 %t184, 0 %t186 = zext i1 %t185 to i32 %t187 = icmp ne i32 %t186, 0 br i1 %t187, label %then37, label %ifend39 then37: %t188 = load ptr, ptr %t2 %t189 = getelementptr inbounds %Cmp_Node, ptr %t188, i32 0, i32 1 %t190 = load ptr, ptr %t189 store i32 9818, ptr @lp_site %t191 = call ptr @lp_str_concat(ptr @.str17509, ptr %t190) store i32 0, ptr @lp_site store i32 9819, ptr @lp_site %t192 = call ptr @lp_str_concat(ptr %t191, ptr @.str17510) store i32 0, ptr @lp_site call void @lp_free(ptr %t191) %t193 = load ptr, ptr %t2 %t194 = getelementptr inbounds %Cmp_Node, ptr %t193, i32 0, i32 7 %t195 = load ptr, ptr %t194 %t196 = load i32, ptr %t171 %t197 = getelementptr inbounds %LSlice, ptr %t195, i32 0, i32 0 %t198 = load ptr, ptr %t197 %t199 = getelementptr inbounds %LSlice, ptr %t195, i32 0, i32 1 %t200 = load i32, ptr %t199 %t201 = icmp ult i32 %t196, %t200 br i1 %t201, label %ixok40, label %ixbad41 ixbad41: store i32 9820, ptr @lp_site %t202 = call ptr @lp_win_stdio(i32 2) store i32 0, ptr @lp_site call i32 (ptr, ptr, ...) @fprintf(ptr %t202, ptr @.fmt_bounds, ptr @.str17511, i32 %t196, i32 %t200) call void @exit(i32 1) unreachable ixok40: %t203 = getelementptr inbounds ptr, ptr %t198, i32 %t196 %t204 = load ptr, ptr %t203 %t205 = getelementptr inbounds %Cmp_Node, ptr %t204, i32 0, i32 1 %t206 = load ptr, ptr %t205 store i32 9821, ptr @lp_site %t207 = call ptr @lp_str_concat(ptr %t192, ptr %t206) store i32 0, ptr @lp_site call void @lp_free(ptr %t192) store i32 9822, ptr @lp_site %t208 = call ptr @lp_str_concat(ptr %t207, ptr @.str17512) store i32 0, ptr @lp_site call void @lp_free(ptr %t207) call void @fn_perr(ptr %t208) br label %ifend39 ifend39: %t209 = load i32, ptr %t171 %t210 = add i32 %t209, 1 store i32 %t210, ptr %t171 br label %wcond34 wend36: br label %ifend33 ifend33: br label %ifend30 ifend30: %t211 = load i32, ptr @g_g_term %t212 = icmp eq i32 %t211, 0 %t213 = zext i1 %t212 to i32 %t214 = icmp ne i32 %t213, 0 br i1 %t214, label %then42, label %ifend44 then42: call void @fn_emit(ptr @.str17513) %t215 = load ptr, ptr %t10 call void @fn_emit(ptr %t215) call void @fn_emit(ptr @.str17514) br label %ifend44 ifend44: %t216 = load ptr, ptr %t10 call void @fn_emit(ptr %t216) call void @fn_emit(ptr @.str17515) 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 %t43 = alloca ptr %t48 = alloca ptr %t49 = alloca i32 %t50 = alloca i32 %t73 = alloca ptr %t84 = 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_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 @.str17516) 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 = load i32, ptr %t21 %t35 = getelementptr inbounds %LSlice, ptr %t33, i32 0, i32 0 %t36 = load ptr, ptr %t35 %t37 = getelementptr inbounds %LSlice, ptr %t33, i32 0, i32 1 %t38 = load i32, ptr %t37 %t39 = icmp ult i32 %t34, %t38 br i1 %t39, label %ixok6, label %ixbad7 ixbad7: store i32 9823, ptr @lp_site %t40 = call ptr @lp_win_stdio(i32 2) store i32 0, ptr @lp_site call i32 (ptr, ptr, ...) @fprintf(ptr %t40, ptr @.fmt_bounds, ptr @.str17517, i32 %t34, i32 %t38) call void @exit(i32 1) unreachable ixok6: %t41 = getelementptr inbounds ptr, ptr %t36, i32 %t34 %t42 = load ptr, ptr %t41 store ptr %t42, ptr %t43 %t44 = load ptr, ptr %t43 %t45 = call i32 @fn_arm_is_default(ptr %t44) %t46 = icmp ne i32 %t45, 0 br i1 %t46, label %then8, label %else9 then8: %t47 = load ptr, ptr %t43 store ptr %t47, ptr %t20 br label %ifend10 else9: store ptr @.str17519, ptr %t48 store i32 1, ptr %t49 store i32 0, ptr %t50 br label %wcond11 wcond11: %t51 = load i32, ptr %t50 %t52 = load ptr, ptr %t43 %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 %t51, %t56 %t58 = zext i1 %t57 to i32 %t59 = icmp ne i32 %t58, 0 br i1 %t59, label %wbody12, label %wend13 wbody12: %t60 = load ptr, ptr %t43 %t61 = getelementptr inbounds %Cmp_Node, ptr %t60, i32 0, i32 7 %t62 = load ptr, ptr %t61 %t63 = load i32, ptr %t50 %t64 = getelementptr inbounds %LSlice, ptr %t62, i32 0, i32 0 %t65 = load ptr, ptr %t64 %t66 = getelementptr inbounds %LSlice, ptr %t62, i32 0, i32 1 %t67 = load i32, ptr %t66 %t68 = icmp ult i32 %t63, %t67 br i1 %t68, label %ixok14, label %ixbad15 ixbad15: store i32 9824, ptr @lp_site %t69 = call ptr @lp_win_stdio(i32 2) store i32 0, ptr @lp_site call i32 (ptr, ptr, ...) @fprintf(ptr %t69, ptr @.fmt_bounds, ptr @.str17520, i32 %t63, i32 %t67) call void @exit(i32 1) unreachable ixok14: %t70 = getelementptr inbounds ptr, ptr %t65, i32 %t63 %t71 = load ptr, ptr %t70 %t72 = call ptr @fn_emit_expr(ptr %t71) store ptr %t72, ptr %t73 %t74 = load ptr, ptr %t5 %t75 = getelementptr inbounds %Cmp_Val, ptr %t74, i32 0, i32 0 %t76 = load ptr, ptr %t75 store i32 9825, ptr @lp_site %t77 = call ptr @lp_str_concat(ptr @.str17521, ptr %t76) store i32 0, ptr @lp_site store i32 9826, ptr @lp_site %t78 = call ptr @lp_str_concat(ptr %t77, ptr @.str17522) store i32 0, ptr @lp_site call void @lp_free(ptr %t77) %t79 = load ptr, ptr %t73 %t80 = getelementptr inbounds %Cmp_Val, ptr %t79, i32 0, i32 0 %t81 = load ptr, ptr %t80 store i32 9827, ptr @lp_site %t82 = call ptr @lp_str_concat(ptr %t78, ptr %t81) store i32 0, ptr @lp_site call void @lp_free(ptr %t78) %t83 = call ptr @fn_emit_bind(ptr %t82) store ptr %t83, ptr %t84 %t85 = load i32, ptr %t49 %t86 = icmp ne i32 %t85, 0 br i1 %t86, label %then16, label %else17 then16: %t87 = load ptr, ptr %t84 store ptr %t87, ptr %t48 store i32 0, ptr %t49 br label %ifend18 else17: %t88 = load ptr, ptr %t48 store i32 9828, ptr @lp_site %t89 = call ptr @lp_str_concat(ptr @.str17523, ptr %t88) store i32 0, ptr @lp_site store i32 9829, ptr @lp_site %t90 = call ptr @lp_str_concat(ptr %t89, ptr @.str17524) store i32 0, ptr @lp_site call void @lp_free(ptr %t89) %t91 = load ptr, ptr %t84 store i32 9830, ptr @lp_site %t92 = call ptr @lp_str_concat(ptr %t90, ptr %t91) store i32 0, ptr @lp_site call void @lp_free(ptr %t90) %t93 = call ptr @fn_emit_bind(ptr %t92) store ptr %t93, ptr %t48 br label %ifend18 ifend18: %t94 = load i32, ptr %t50 %t95 = add i32 %t94, 1 store i32 %t95, ptr %t50 br label %wcond11 wend13: %t96 = call ptr @fn_lbl(ptr @.str17525) store ptr %t96, ptr %t97 %t98 = call ptr @fn_lbl(ptr @.str17526) store ptr %t98, ptr %t99 call void @fn_emit(ptr @.str17527) %t100 = load ptr, ptr %t48 call void @fn_emit(ptr %t100) call void @fn_emit(ptr @.str17528) %t101 = load ptr, ptr %t97 call void @fn_emit(ptr %t101) call void @fn_emit(ptr @.str17529) %t102 = load ptr, ptr %t99 call void @fn_emit(ptr %t102) call void @fn_emit(ptr @.str17530) %t103 = load ptr, ptr %t97 call void @fn_emit(ptr %t103) call void @fn_emit(ptr @.str17531) store i32 0, ptr @g_g_term %t104 = load ptr, ptr %t43 %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 %then19, label %ifend21 then19: call void @fn_emit(ptr @.str17532) %t111 = load ptr, ptr %t19 call void @fn_emit(ptr %t111) call void @fn_emit(ptr @.str17533) br label %ifend21 ifend21: %t112 = load ptr, ptr %t99 call void @fn_emit(ptr %t112) call void @fn_emit(ptr @.str17534) store i32 0, ptr @g_g_term br label %ifend10 ifend10: %t113 = load i32, ptr %t21 %t114 = add i32 %t113, 1 store i32 %t114, ptr %t21 br label %wcond3 wend5: %t115 = load ptr, ptr %t20 %t116 = icmp ne ptr %t115, null %t117 = zext i1 %t116 to i32 %t118 = icmp ne i32 %t117, 0 br i1 %t118, label %then22, label %ifend24 then22: %t119 = load ptr, ptr %t20 %t120 = getelementptr inbounds %Cmp_Node, ptr %t119, i32 0, i32 4 %t121 = load ptr, ptr %t120 call void @fn_emit_block(ptr %t121) br label %ifend24 ifend24: %t122 = load i32, ptr @g_g_term %t123 = icmp eq i32 %t122, 0 %t124 = zext i1 %t123 to i32 %t125 = icmp ne i32 %t124, 0 br i1 %t125, label %then25, label %ifend27 then25: call void @fn_emit(ptr @.str17535) %t126 = load ptr, ptr %t19 call void @fn_emit(ptr %t126) call void @fn_emit(ptr @.str17536) br label %ifend27 ifend27: %t127 = load ptr, ptr %t19 call void @fn_emit(ptr %t127) call void @fn_emit(ptr @.str17537) 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 %t24 = alloca ptr %t31 = alloca ptr %t32 = alloca i32 %t54 = alloca ptr %t55 = alloca ptr %t56 = alloca i32 %t111 = alloca ptr %t112 = alloca ptr %t122 = alloca ptr %t136 = alloca ptr %t189 = alloca ptr %t197 = alloca i32 %t198 = alloca i32 %t209 = alloca ptr %t253 = alloca ptr %t269 = alloca ptr %t270 = alloca i32 %t315 = 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 store i32 9831, ptr @lp_site %t13 = call ptr @lp_str_concat(ptr @.str17538, ptr %t12) store i32 0, ptr @lp_site call void @fn_perr(ptr %t13) br label %ifend2 ifend2: %t14 = load ptr, ptr %t5 %t15 = load ptr, ptr %t0 %t16 = getelementptr inbounds %Cmp_Node, ptr %t15, i32 0, i32 1 %t17 = load ptr, ptr %t16 call void @fn_vis_check(ptr %t14, ptr %t17) %t18 = getelementptr %LSlice, ptr null, i32 1 %t19 = ptrtoint ptr %t18 to i64 store i32 9832, ptr @lp_site %t20 = call ptr @lp_malloc(i64 %t19) store i32 0, ptr @lp_site %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 %t25 = getelementptr %LSlice, ptr null, i32 1 %t26 = ptrtoint ptr %t25 to i64 store i32 9833, ptr @lp_site %t27 = call ptr @lp_malloc(i64 %t26) store i32 0, ptr @lp_site %t28 = getelementptr inbounds %LSlice, ptr %t27, i32 0, i32 0 store ptr null, ptr %t28 %t29 = getelementptr inbounds %LSlice, ptr %t27, i32 0, i32 1 store i32 0, ptr %t29 %t30 = getelementptr inbounds %LSlice, ptr %t27, i32 0, i32 2 store i32 0, ptr %t30 store ptr %t27, ptr %t31 store i32 0, ptr %t32 br label %wcond3 wcond3: %t33 = load i32, ptr %t32 %t34 = load ptr, ptr %t5 %t35 = getelementptr inbounds %Cmp_Node, ptr %t34, i32 0, i32 7 %t36 = load ptr, ptr %t35 %t37 = getelementptr inbounds %LSlice, ptr %t36, i32 0, i32 1 %t38 = load i32, ptr %t37 %t39 = icmp slt i32 %t33, %t38 %t40 = zext i1 %t39 to i32 %t41 = icmp ne i32 %t40, 0 br i1 %t41, label %wbody4, label %wend5 wbody4: %t42 = load ptr, ptr %t5 %t43 = getelementptr inbounds %Cmp_Node, ptr %t42, i32 0, i32 7 %t44 = load ptr, ptr %t43 %t45 = load i32, ptr %t32 %t46 = getelementptr inbounds %LSlice, ptr %t44, i32 0, i32 0 %t47 = load ptr, ptr %t46 %t48 = getelementptr inbounds %LSlice, ptr %t44, i32 0, i32 1 %t49 = load i32, ptr %t48 %t50 = icmp ult i32 %t45, %t49 br i1 %t50, label %ixok6, label %ixbad7 ixbad7: store i32 9834, ptr @lp_site %t51 = call ptr @lp_win_stdio(i32 2) store i32 0, ptr @lp_site call i32 (ptr, ptr, ...) @fprintf(ptr %t51, ptr @.fmt_bounds, ptr @.str17540, i32 %t45, i32 %t49) call void @exit(i32 1) unreachable ixok6: %t52 = getelementptr inbounds ptr, ptr %t47, i32 %t45 %t53 = load ptr, ptr %t52 store ptr %t53, ptr %t54 store ptr null, ptr %t55 store i32 0, ptr %t56 br label %wcond8 wcond8: %t57 = load i32, ptr %t56 %t58 = load ptr, ptr %t0 %t59 = getelementptr inbounds %Cmp_Node, ptr %t58, i32 0, i32 4 %t60 = load ptr, ptr %t59 %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 %t57, %t64 %t66 = zext i1 %t65 to i32 %t67 = icmp ne i32 %t66, 0 br i1 %t67, label %wbody9, label %wend10 wbody9: %t68 = load ptr, ptr %t0 %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 7 %t72 = load ptr, ptr %t71 %t73 = load i32, ptr %t56 %t74 = getelementptr inbounds %LSlice, ptr %t72, i32 0, i32 0 %t75 = load ptr, ptr %t74 %t76 = getelementptr inbounds %LSlice, ptr %t72, i32 0, i32 1 %t77 = load i32, ptr %t76 %t78 = icmp ult i32 %t73, %t77 br i1 %t78, label %ixok11, label %ixbad12 ixbad12: store i32 9835, ptr @lp_site %t79 = call ptr @lp_win_stdio(i32 2) store i32 0, ptr @lp_site call i32 (ptr, ptr, ...) @fprintf(ptr %t79, ptr @.fmt_bounds, ptr @.str17541, i32 %t73, i32 %t77) call void @exit(i32 1) unreachable ixok11: %t80 = getelementptr inbounds ptr, ptr %t75, i32 %t73 %t81 = load ptr, ptr %t80 %t82 = getelementptr inbounds %Cmp_Node, ptr %t81, i32 0, i32 1 %t83 = load ptr, ptr %t82 %t84 = load ptr, ptr %t54 %t85 = getelementptr inbounds %Cmp_Node, ptr %t84, i32 0, i32 1 %t86 = load ptr, ptr %t85 %t87 = call i32 @lp_str_eq(ptr %t83, ptr %t86) %t88 = icmp ne i32 %t87, 0 br i1 %t88, label %then13, label %ifend15 then13: %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 = load i32, ptr %t56 %t95 = getelementptr inbounds %LSlice, ptr %t93, i32 0, i32 0 %t96 = load ptr, ptr %t95 %t97 = getelementptr inbounds %LSlice, ptr %t93, i32 0, i32 1 %t98 = load i32, ptr %t97 %t99 = icmp ult i32 %t94, %t98 br i1 %t99, label %ixok16, label %ixbad17 ixbad17: store i32 9836, ptr @lp_site %t100 = call ptr @lp_win_stdio(i32 2) store i32 0, ptr @lp_site call i32 (ptr, ptr, ...) @fprintf(ptr %t100, ptr @.fmt_bounds, ptr @.str17542, i32 %t94, i32 %t98) call void @exit(i32 1) unreachable ixok16: %t101 = getelementptr inbounds ptr, ptr %t96, i32 %t94 %t102 = load ptr, ptr %t101 %t103 = getelementptr inbounds %Cmp_Node, ptr %t102, i32 0, i32 4 %t104 = load ptr, ptr %t103 store ptr %t104, ptr %t55 br label %ifend15 ifend15: %t105 = load i32, ptr %t56 %t106 = add i32 %t105, 1 store i32 %t106, ptr %t56 br label %wcond8 wend10: %t107 = load ptr, ptr %t54 %t108 = getelementptr inbounds %Cmp_Node, ptr %t107, i32 0, i32 3 %t109 = load ptr, ptr %t108 %t110 = call ptr @fn_llty(ptr %t109) store ptr %t110, ptr %t111 store ptr @.str17543, ptr %t112 %t113 = load ptr, ptr %t111 %t114 = call i32 @lp_str_eq(ptr %t113, ptr @.str17544) %t115 = icmp ne i32 %t114, 0 br i1 %t115, label %then18, label %ifend20 then18: store ptr @.str17545, ptr %t112 br label %ifend20 ifend20: %t116 = load ptr, ptr %t55 %t117 = icmp ne ptr %t116, null %t118 = zext i1 %t117 to i32 %t119 = icmp ne i32 %t118, 0 br i1 %t119, label %then21, label %else22 then21: %t120 = load ptr, ptr %t55 %t121 = call ptr @fn_emit_expr(ptr %t120) store ptr %t121, ptr %t122 %t123 = load ptr, ptr %t122 %t124 = getelementptr inbounds %Cmp_Val, ptr %t123, i32 0, i32 0 %t125 = load ptr, ptr %t124 store ptr %t125, ptr %t112 br label %ifend23 else22: %t126 = load ptr, ptr %t54 %t127 = getelementptr inbounds %Cmp_Node, ptr %t126, i32 0, i32 4 %t128 = load ptr, ptr %t127 %t129 = icmp ne ptr %t128, null %t130 = zext i1 %t129 to i32 %t131 = icmp ne i32 %t130, 0 br i1 %t131, label %then24, label %ifend26 then24: %t132 = load ptr, ptr %t54 %t133 = getelementptr inbounds %Cmp_Node, ptr %t132, i32 0, i32 4 %t134 = load ptr, ptr %t133 %t135 = call ptr @fn_emit_expr(ptr %t134) store ptr %t135, ptr %t136 %t137 = load ptr, ptr %t136 %t138 = getelementptr inbounds %Cmp_Val, ptr %t137, i32 0, i32 0 %t139 = load ptr, ptr %t138 store ptr %t139, ptr %t112 br label %ifend26 ifend26: br label %ifend23 ifend23: %t140 = load ptr, ptr %t24 %t141 = load ptr, ptr %t112 %t142 = getelementptr inbounds %LSlice, ptr %t140, i32 0, i32 1 %t143 = getelementptr inbounds %LSlice, ptr %t140, i32 0, i32 2 %t144 = getelementptr inbounds %LSlice, ptr %t140, i32 0, i32 0 %t145 = load i32, ptr %t142 %t146 = load i32, ptr %t143 %t147 = icmp sge i32 %t145, %t146 br i1 %t147, label %grow27, label %put28 grow27: %t148 = mul i32 %t146, 2 %t149 = icmp eq i32 %t146, 0 %t150 = select i1 %t149, i32 8, i32 %t148 %t151 = getelementptr ptr, ptr null, i32 1 %t152 = ptrtoint ptr %t151 to i64 %t153 = zext i32 %t150 to i64 %t154 = mul i64 %t153, %t152 %t155 = load ptr, ptr %t144 store i32 9837, ptr @lp_site %t156 = call ptr @lp_realloc(ptr %t155, i64 %t154) store i32 0, ptr @lp_site store ptr %t156, ptr %t144 store i32 %t150, ptr %t143 br label %put28 put28: %t157 = load ptr, ptr %t144 %t158 = getelementptr inbounds ptr, ptr %t157, i32 %t145 store ptr %t141, ptr %t158 %t159 = add i32 %t145, 1 store i32 %t159, ptr %t142 %t160 = load ptr, ptr %t31 %t161 = load ptr, ptr %t111 %t162 = getelementptr inbounds %LSlice, ptr %t160, i32 0, i32 1 %t163 = getelementptr inbounds %LSlice, ptr %t160, i32 0, i32 2 %t164 = getelementptr inbounds %LSlice, ptr %t160, i32 0, i32 0 %t165 = load i32, ptr %t162 %t166 = load i32, ptr %t163 %t167 = icmp sge i32 %t165, %t166 br i1 %t167, label %grow29, label %put30 grow29: %t168 = mul i32 %t166, 2 %t169 = icmp eq i32 %t166, 0 %t170 = select i1 %t169, i32 8, i32 %t168 %t171 = getelementptr ptr, ptr null, i32 1 %t172 = ptrtoint ptr %t171 to i64 %t173 = zext i32 %t170 to i64 %t174 = mul i64 %t173, %t172 %t175 = load ptr, ptr %t164 store i32 9838, ptr @lp_site %t176 = call ptr @lp_realloc(ptr %t175, i64 %t174) store i32 0, ptr @lp_site store ptr %t176, ptr %t164 store i32 %t170, ptr %t163 br label %put30 put30: %t177 = load ptr, ptr %t164 %t178 = getelementptr inbounds ptr, ptr %t177, i32 %t165 store ptr %t161, ptr %t178 %t179 = add i32 %t165, 1 store i32 %t179, ptr %t162 %t180 = load i32, ptr %t32 %t181 = add i32 %t180, 1 store i32 %t181, ptr %t32 br label %wcond3 wend5: %t182 = load ptr, ptr %t5 %t183 = getelementptr inbounds %Cmp_Node, ptr %t182, i32 0, i32 3 %t184 = load ptr, ptr %t183 %t185 = icmp ne ptr %t184, null %t186 = zext i1 %t185 to i32 %t187 = icmp ne i32 %t186, 0 br i1 %t187, label %then31, label %ifend33 then31: %t188 = call ptr @fn_nreg() store ptr %t188, ptr %t189 call void @fn_emit(ptr @.str17546) %t190 = load ptr, ptr %t189 call void @fn_emit(ptr %t190) call void @fn_emit(ptr @.str17547) call void @fn_emit(ptr @.str17548) %t191 = load ptr, ptr %t0 %t192 = getelementptr inbounds %Cmp_Node, ptr %t191, i32 0, i32 1 %t193 = load ptr, ptr %t192 %t194 = call i32 @fn_net_event_id(ptr %t193) %t195 = call ptr @fn_itoa(i32 %t194) call void @fn_emit(ptr %t195) call void @fn_emit(ptr @.str17549) %t196 = load ptr, ptr %t189 call void @fn_emit(ptr %t196) call void @fn_emit(ptr @.str17550) store i32 4, ptr %t197 store i32 0, ptr %t198 br label %wcond34 wcond34: %t199 = load i32, ptr %t198 %t200 = load ptr, ptr %t5 %t201 = getelementptr inbounds %Cmp_Node, ptr %t200, i32 0, i32 7 %t202 = load ptr, ptr %t201 %t203 = getelementptr inbounds %LSlice, ptr %t202, i32 0, i32 1 %t204 = load i32, ptr %t203 %t205 = icmp slt i32 %t199, %t204 %t206 = zext i1 %t205 to i32 %t207 = icmp ne i32 %t206, 0 br i1 %t207, label %wbody35, label %wend36 wbody35: %t208 = call ptr @fn_nreg() store ptr %t208, ptr %t209 call void @fn_emit(ptr @.str17551) %t210 = load ptr, ptr %t209 call void @fn_emit(ptr %t210) call void @fn_emit(ptr @.str17552) %t211 = load i32, ptr %t197 %t212 = call ptr @fn_itoa(i32 %t211) call void @fn_emit(ptr %t212) call void @fn_emit(ptr @.str17553) call void @fn_emit(ptr @.str17554) %t213 = load ptr, ptr %t31 %t214 = load i32, ptr %t198 %t215 = getelementptr inbounds %LSlice, ptr %t213, i32 0, i32 0 %t216 = load ptr, ptr %t215 %t217 = getelementptr inbounds %LSlice, ptr %t213, i32 0, i32 1 %t218 = load i32, ptr %t217 %t219 = icmp ult i32 %t214, %t218 br i1 %t219, label %ixok37, label %ixbad38 ixbad38: store i32 9839, ptr @lp_site %t220 = call ptr @lp_win_stdio(i32 2) store i32 0, ptr @lp_site call i32 (ptr, ptr, ...) @fprintf(ptr %t220, ptr @.fmt_bounds, ptr @.str17555, i32 %t214, i32 %t218) call void @exit(i32 1) unreachable ixok37: %t221 = getelementptr inbounds ptr, ptr %t216, i32 %t214 %t222 = load ptr, ptr %t221 call void @fn_emit(ptr %t222) call void @fn_emit(ptr @.str17556) %t223 = load ptr, ptr %t24 %t224 = load i32, ptr %t198 %t225 = getelementptr inbounds %LSlice, ptr %t223, i32 0, i32 0 %t226 = load ptr, ptr %t225 %t227 = getelementptr inbounds %LSlice, ptr %t223, i32 0, i32 1 %t228 = load i32, ptr %t227 %t229 = icmp ult i32 %t224, %t228 br i1 %t229, label %ixok39, label %ixbad40 ixbad40: store i32 9840, ptr @lp_site %t230 = call ptr @lp_win_stdio(i32 2) store i32 0, ptr @lp_site call i32 (ptr, ptr, ...) @fprintf(ptr %t230, ptr @.fmt_bounds, ptr @.str17557, i32 %t224, i32 %t228) call void @exit(i32 1) unreachable ixok39: %t231 = getelementptr inbounds ptr, ptr %t226, i32 %t224 %t232 = load ptr, ptr %t231 call void @fn_emit(ptr %t232) call void @fn_emit(ptr @.str17558) %t233 = load ptr, ptr %t209 call void @fn_emit(ptr %t233) call void @fn_emit(ptr @.str17559) %t234 = load ptr, ptr %t5 %t235 = getelementptr inbounds %Cmp_Node, ptr %t234, i32 0, i32 7 %t236 = load ptr, ptr %t235 %t237 = load i32, ptr %t198 %t238 = getelementptr inbounds %LSlice, ptr %t236, i32 0, i32 0 %t239 = load ptr, ptr %t238 %t240 = getelementptr inbounds %LSlice, ptr %t236, i32 0, i32 1 %t241 = load i32, ptr %t240 %t242 = icmp ult i32 %t237, %t241 br i1 %t242, label %ixok41, label %ixbad42 ixbad42: store i32 9841, ptr @lp_site %t243 = call ptr @lp_win_stdio(i32 2) store i32 0, ptr @lp_site call i32 (ptr, ptr, ...) @fprintf(ptr %t243, ptr @.fmt_bounds, ptr @.str17560, i32 %t237, i32 %t241) call void @exit(i32 1) unreachable ixok41: %t244 = getelementptr inbounds ptr, ptr %t239, i32 %t237 %t245 = load ptr, ptr %t244 %t246 = getelementptr inbounds %Cmp_Node, ptr %t245, i32 0, i32 3 %t247 = load ptr, ptr %t246 %t248 = call i32 @fn_net_field_ibytes(ptr %t247) %t249 = load i32, ptr %t197 %t250 = add i32 %t249, %t248 store i32 %t250, ptr %t197 %t251 = load i32, ptr %t198 %t252 = add i32 %t251, 1 store i32 %t252, ptr %t198 br label %wcond34 wend36: store ptr @.str17561, ptr %t253 %t254 = load ptr, ptr %t5 %t255 = getelementptr inbounds %Cmp_Node, ptr %t254, i32 0, i32 3 %t256 = load ptr, ptr %t255 %t257 = call i32 @lp_str_eq(ptr %t256, ptr @.str17562) %t258 = icmp ne i32 %t257, 0 br i1 %t258, label %then43, label %ifend45 then43: store ptr @.str17563, ptr %t253 br label %ifend45 ifend45: %t259 = call ptr @fn_find_extern(ptr @.str17564) %t260 = icmp eq ptr %t259, null %t261 = zext i1 %t260 to i32 %t262 = icmp ne i32 %t261, 0 br i1 %t262, label %then46, label %ifend48 then46: store i32 1, ptr @g_g_uses_loopback br label %ifend48 ifend48: call void @fn_emit(ptr @.str17565) %t263 = call ptr @fn_net_send_sym() call void @fn_emit(ptr %t263) call void @fn_emit(ptr @.str17566) %t264 = load ptr, ptr %t253 call void @fn_emit(ptr %t264) call void @fn_emit(ptr @.str17567) %t265 = load i32, ptr %t197 %t266 = call ptr @fn_itoa(i32 %t265) call void @fn_emit(ptr %t266) call void @fn_emit(ptr @.str17568) %t267 = call ptr @fn_val(ptr @.str17569, ptr @.str17570) store ptr %t267, ptr %retval br label %ret ifend33: %t268 = call ptr @fn_buf_new() store ptr %t268, ptr %t269 store i32 0, ptr %t270 br label %wcond49 wcond49: %t271 = load i32, ptr %t270 %t272 = load ptr, ptr %t24 %t273 = getelementptr inbounds %LSlice, ptr %t272, i32 0, i32 1 %t274 = load i32, ptr %t273 %t275 = icmp slt i32 %t271, %t274 %t276 = zext i1 %t275 to i32 %t277 = icmp ne i32 %t276, 0 br i1 %t277, label %wbody50, label %wend51 wbody50: %t278 = load i32, ptr %t270 %t279 = icmp sgt i32 %t278, 0 %t280 = zext i1 %t279 to i32 %t281 = icmp ne i32 %t280, 0 br i1 %t281, label %then52, label %ifend54 then52: %t282 = load ptr, ptr %t269 call void @fn_buf_puts(ptr %t282, ptr @.str17571) br label %ifend54 ifend54: %t283 = load ptr, ptr %t269 %t284 = load ptr, ptr %t31 %t285 = load i32, ptr %t270 %t286 = getelementptr inbounds %LSlice, ptr %t284, i32 0, i32 0 %t287 = load ptr, ptr %t286 %t288 = getelementptr inbounds %LSlice, ptr %t284, i32 0, i32 1 %t289 = load i32, ptr %t288 %t290 = icmp ult i32 %t285, %t289 br i1 %t290, label %ixok55, label %ixbad56 ixbad56: store i32 9842, ptr @lp_site %t291 = call ptr @lp_win_stdio(i32 2) store i32 0, ptr @lp_site call i32 (ptr, ptr, ...) @fprintf(ptr %t291, ptr @.fmt_bounds, ptr @.str17572, i32 %t285, i32 %t289) call void @exit(i32 1) unreachable ixok55: %t292 = getelementptr inbounds ptr, ptr %t287, i32 %t285 %t293 = load ptr, ptr %t292 call void @fn_buf_puts(ptr %t283, ptr %t293) %t294 = load ptr, ptr %t269 call void @fn_buf_puts(ptr %t294, ptr @.str17573) %t295 = load ptr, ptr %t269 %t296 = load ptr, ptr %t24 %t297 = load i32, ptr %t270 %t298 = getelementptr inbounds %LSlice, ptr %t296, i32 0, i32 0 %t299 = load ptr, ptr %t298 %t300 = getelementptr inbounds %LSlice, ptr %t296, i32 0, i32 1 %t301 = load i32, ptr %t300 %t302 = icmp ult i32 %t297, %t301 br i1 %t302, label %ixok57, label %ixbad58 ixbad58: store i32 9843, ptr @lp_site %t303 = call ptr @lp_win_stdio(i32 2) store i32 0, ptr @lp_site call i32 (ptr, ptr, ...) @fprintf(ptr %t303, ptr @.fmt_bounds, ptr @.str17574, i32 %t297, i32 %t301) call void @exit(i32 1) unreachable ixok57: %t304 = getelementptr inbounds ptr, ptr %t299, i32 %t297 %t305 = load ptr, ptr %t304 call void @fn_buf_puts(ptr %t295, ptr %t305) %t306 = load i32, ptr %t270 %t307 = add i32 %t306, 1 store i32 %t307, ptr %t270 br label %wcond49 wend51: %t308 = load ptr, ptr %t5 %t309 = getelementptr inbounds %Cmp_Node, ptr %t308, i32 0, i32 2 %t310 = load i32, ptr %t309 %t311 = icmp eq i32 %t310, 1 %t312 = zext i1 %t311 to i32 %t313 = icmp ne i32 %t312, 0 br i1 %t313, label %then59, label %ifend61 then59: %t314 = call ptr @fn_nreg() store ptr %t314, ptr %t315 call void @fn_emit(ptr @.str17575) %t316 = load ptr, ptr %t315 call void @fn_emit(ptr %t316) call void @fn_emit(ptr @.str17576) %t317 = load ptr, ptr %t0 %t318 = getelementptr inbounds %Cmp_Node, ptr %t317, i32 0, i32 1 %t319 = load ptr, ptr %t318 call void @fn_emit(ptr %t319) call void @fn_emit(ptr @.str17577) %t320 = load ptr, ptr %t269 %t321 = call ptr @fn_buf_str(ptr %t320) call void @fn_emit(ptr %t321) call void @fn_emit(ptr @.str17578) %t322 = load ptr, ptr %t315 %t323 = call ptr @fn_val(ptr %t322, ptr @.str17579) store ptr %t323, ptr %retval br label %ret ifend61: call void @fn_emit(ptr @.str17580) %t324 = load ptr, ptr %t0 %t325 = getelementptr inbounds %Cmp_Node, ptr %t324, i32 0, i32 1 %t326 = load ptr, ptr %t325 call void @fn_emit(ptr %t326) call void @fn_emit(ptr @.str17581) %t327 = load ptr, ptr %t269 %t328 = call ptr @fn_buf_str(ptr %t327) call void @fn_emit(ptr %t328) call void @fn_emit(ptr @.str17582) %t329 = call ptr @fn_val(ptr @.str17583, ptr @.str17584) store ptr %t329, ptr %retval br label %ret ret: %t330 = load ptr, ptr %retval ret ptr %t330 } define void @fn_emit_stmt(ptr %arg_st) { entry: %t0 = alloca ptr store ptr %arg_st, ptr %t0 %t1 = load ptr, ptr %t0 %t2 = call i32 @fn_fr_aok_stmt(ptr %t1) %t3 = icmp ne i32 %t2, 0 br i1 %t3, label %then0, label %ifend2 then0: call void @fn_emit(ptr @.str17585) %t4 = load i32, ptr @g_ll_t %t5 = call ptr @fn_itoa(i32 %t4) call void @fn_emit(ptr %t5) call void @fn_emit(ptr @.str17586) %t6 = load i32, ptr @g_ll_t %t7 = add i32 %t6, 1 store i32 %t7, ptr @g_ll_t %t8 = load ptr, ptr %t0 call void @fn_emit_stmt_body(ptr %t8) %t9 = load i32, ptr @g_g_term %t10 = icmp eq i32 %t9, 0 %t11 = zext i1 %t10 to i32 %t12 = icmp ne i32 %t11, 0 br i1 %t12, label %then3, label %ifend5 then3: call void @fn_emit(ptr @.str17587) %t13 = load i32, ptr @g_ll_t %t14 = call ptr @fn_itoa(i32 %t13) call void @fn_emit(ptr %t14) call void @fn_emit(ptr @.str17588) %t15 = load i32, ptr @g_ll_t %t16 = add i32 %t15, 1 store i32 %t16, ptr @g_ll_t br label %ifend5 ifend5: br label %ret ifend2: %t17 = load ptr, ptr %t0 call void @fn_emit_stmt_body(ptr %t17) br label %ret ret: ret void } define void @fn_emit_stmt_body(ptr %arg_st) { entry: %t0 = alloca ptr %t28 = alloca ptr %t37 = alloca ptr %t44 = alloca ptr %t62 = alloca ptr %t79 = alloca ptr %t185 = alloca ptr %t231 = alloca ptr %t267 = 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 1 %t18 = load ptr, ptr %t17 call void @fn_loc_check_redeclared(ptr %t18) %t19 = load ptr, ptr %t0 %t20 = getelementptr inbounds %Cmp_Node, ptr %t19, i32 0, i32 1 %t21 = load ptr, ptr %t20 %t22 = load ptr, ptr %t0 %t23 = getelementptr inbounds %Cmp_Node, ptr %t22, i32 0, i32 4 %t24 = load ptr, ptr %t23 call void @fn_deps_alias_let(ptr %t21, ptr %t24) %t25 = load ptr, ptr %t0 %t26 = getelementptr inbounds %Cmp_Node, ptr %t25, i32 0, i32 3 %t27 = load ptr, ptr %t26 store ptr %t27, ptr %t28 %t29 = load ptr, ptr %t28 %t30 = icmp eq ptr %t29, null %t31 = zext i1 %t30 to i32 %t32 = icmp ne i32 %t31, 0 br i1 %t32, label %then3, label %ifend5 then3: %t33 = load ptr, ptr %t0 %t34 = getelementptr inbounds %Cmp_Node, ptr %t33, i32 0, i32 4 %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 1 %t40 = load ptr, ptr %t39 store ptr %t40, ptr %t28 %t41 = load ptr, ptr %t28 %t42 = call ptr @fn_llty(ptr %t41) %t43 = call ptr @fn_emit_alloca(ptr %t42) store ptr %t43, ptr %t44 %t45 = load ptr, ptr %t28 %t46 = call ptr @fn_llty(ptr %t45) %t47 = load ptr, ptr %t37 %t48 = getelementptr inbounds %Cmp_Val, ptr %t47, i32 0, i32 0 %t49 = load ptr, ptr %t48 %t50 = load ptr, ptr %t44 call void @fn_store_at(ptr %t46, ptr %t49, ptr %t50) %t51 = load ptr, ptr %t0 %t52 = getelementptr inbounds %Cmp_Node, ptr %t51, i32 0, i32 1 %t53 = load ptr, ptr %t52 %t54 = load ptr, ptr %t44 %t55 = load ptr, ptr %t28 call void @fn_loc_push(ptr %t53, ptr %t54, ptr %t55) call void @fn_loc_mark_declared() %t56 = load ptr, ptr %t0 %t57 = getelementptr inbounds %Cmp_Node, ptr %t56, i32 0, i32 2 %t58 = load i32, ptr %t57 call void @fn_loc_set_mut(i32 %t58) br label %ret ifend5: %t59 = load ptr, ptr %t28 %t60 = call ptr @fn_llty(ptr %t59) %t61 = call ptr @fn_emit_alloca(ptr %t60) store ptr %t61, ptr %t62 %t63 = load ptr, ptr %t0 %t64 = getelementptr inbounds %Cmp_Node, ptr %t63, i32 0, i32 4 %t65 = load ptr, ptr %t64 %t66 = icmp eq ptr %t65, null %t67 = zext i1 %t66 to i32 %t68 = icmp ne i32 %t67, 0 br i1 %t68, label %then6, label %else7 then6: %t69 = load ptr, ptr %t28 %t70 = call ptr @fn_llty(ptr %t69) %t71 = load ptr, ptr %t28 %t72 = call ptr @fn_llty(ptr %t71) %t73 = call ptr @fn_zero_of(ptr %t72) %t74 = load ptr, ptr %t62 call void @fn_store_at(ptr %t70, ptr %t73, ptr %t74) br label %ifend8 else7: %t75 = load ptr, ptr %t0 %t76 = getelementptr inbounds %Cmp_Node, ptr %t75, i32 0, i32 4 %t77 = load ptr, ptr %t76 %t78 = call ptr @fn_emit_expr(ptr %t77) store ptr %t78, ptr %t79 %t80 = load ptr, ptr %t28 %t81 = call ptr @fn_llty(ptr %t80) %t82 = load ptr, ptr %t79 %t83 = load ptr, ptr %t28 %t84 = call ptr @fn_coerce_code(ptr %t82, ptr %t83) %t85 = load ptr, ptr %t62 call void @fn_store_at(ptr %t81, ptr %t84, ptr %t85) br label %ifend8 ifend8: %t86 = load ptr, ptr %t0 %t87 = getelementptr inbounds %Cmp_Node, ptr %t86, i32 0, i32 1 %t88 = load ptr, ptr %t87 %t89 = load ptr, ptr %t62 %t90 = load ptr, ptr %t28 call void @fn_loc_push(ptr %t88, ptr %t89, ptr %t90) call void @fn_loc_mark_declared() %t91 = load ptr, ptr %t0 %t92 = getelementptr inbounds %Cmp_Node, ptr %t91, i32 0, i32 2 %t93 = load i32, ptr %t92 call void @fn_loc_set_mut(i32 %t93) br label %ret ifend2: %t94 = load ptr, ptr %t0 %t95 = getelementptr inbounds %Cmp_Node, ptr %t94, i32 0, i32 0 %t96 = load i32, ptr %t95 %t97 = icmp eq i32 %t96, 11 %t98 = zext i1 %t97 to i32 %t99 = icmp ne i32 %t98, 0 br i1 %t99, label %then9, label %ifend11 then9: %t100 = load ptr, ptr %t0 call void @fn_emit_assign(ptr %t100) br label %ret ifend11: %t101 = load ptr, ptr %t0 %t102 = getelementptr inbounds %Cmp_Node, ptr %t101, i32 0, i32 0 %t103 = load i32, ptr %t102 %t104 = icmp eq i32 %t103, 12 %t105 = zext i1 %t104 to i32 %t106 = icmp ne i32 %t105, 0 br i1 %t106, label %then12, label %ifend14 then12: %t107 = load ptr, ptr %t0 call void @fn_emit_if(ptr %t107) br label %ret ifend14: %t108 = load ptr, ptr %t0 %t109 = getelementptr inbounds %Cmp_Node, ptr %t108, i32 0, i32 0 %t110 = load i32, ptr %t109 %t111 = icmp eq i32 %t110, 13 %t112 = zext i1 %t111 to i32 %t113 = icmp ne i32 %t112, 0 br i1 %t113, label %then15, label %ifend17 then15: %t114 = load ptr, ptr %t0 call void @fn_emit_while(ptr %t114) br label %ret ifend17: %t115 = load ptr, ptr %t0 %t116 = getelementptr inbounds %Cmp_Node, ptr %t115, i32 0, i32 0 %t117 = load i32, ptr %t116 %t118 = icmp eq i32 %t117, 14 %t119 = zext i1 %t118 to i32 %t120 = icmp ne i32 %t119, 0 br i1 %t120, label %then18, label %ifend20 then18: %t121 = load ptr, ptr %t0 call void @fn_emit_for(ptr %t121) br label %ret ifend20: %t122 = load ptr, ptr %t0 %t123 = getelementptr inbounds %Cmp_Node, ptr %t122, i32 0, i32 0 %t124 = load i32, ptr %t123 %t125 = icmp eq i32 %t124, 15 %t126 = zext i1 %t125 to i32 %t127 = icmp ne i32 %t126, 0 br i1 %t127, label %then21, label %ifend23 then21: %t128 = load ptr, ptr %t0 call void @fn_emit_return(ptr %t128) br label %ret ifend23: %t129 = load ptr, ptr %t0 %t130 = getelementptr inbounds %Cmp_Node, ptr %t129, i32 0, i32 0 %t131 = load i32, ptr %t130 %t132 = icmp eq i32 %t131, 17 %t133 = zext i1 %t132 to i32 %t134 = icmp ne i32 %t133, 0 br i1 %t134, label %then24, label %ifend26 then24: call void @fn_emit(ptr @.str17589) %t135 = load ptr, ptr @g_brk_lbl %t136 = load i32, ptr @g_nloop %t137 = sub i32 %t136, 1 %t138 = getelementptr inbounds %LSlice, ptr %t135, i32 0, i32 0 %t139 = load ptr, ptr %t138 %t140 = getelementptr inbounds %LSlice, ptr %t135, i32 0, i32 1 %t141 = load i32, ptr %t140 %t142 = icmp ult i32 %t137, %t141 br i1 %t142, label %ixok27, label %ixbad28 ixbad28: store i32 9844, ptr @lp_site %t143 = call ptr @lp_win_stdio(i32 2) store i32 0, ptr @lp_site call i32 (ptr, ptr, ...) @fprintf(ptr %t143, ptr @.fmt_bounds, ptr @.str17590, i32 %t137, i32 %t141) call void @exit(i32 1) unreachable ixok27: %t144 = getelementptr inbounds ptr, ptr %t139, i32 %t137 %t145 = load ptr, ptr %t144 call void @fn_emit(ptr %t145) call void @fn_emit(ptr @.str17592) store i32 1, ptr @g_g_term br label %ret ifend26: %t146 = load ptr, ptr %t0 %t147 = getelementptr inbounds %Cmp_Node, ptr %t146, i32 0, i32 0 %t148 = load i32, ptr %t147 %t149 = icmp eq i32 %t148, 18 %t150 = zext i1 %t149 to i32 %t151 = icmp ne i32 %t150, 0 br i1 %t151, label %then29, label %ifend31 then29: call void @fn_emit(ptr @.str17593) %t152 = load ptr, ptr @g_cnt_lbl %t153 = load i32, ptr @g_nloop %t154 = sub i32 %t153, 1 %t155 = getelementptr inbounds %LSlice, ptr %t152, i32 0, i32 0 %t156 = load ptr, ptr %t155 %t157 = getelementptr inbounds %LSlice, ptr %t152, i32 0, i32 1 %t158 = load i32, ptr %t157 %t159 = icmp ult i32 %t154, %t158 br i1 %t159, label %ixok32, label %ixbad33 ixbad33: store i32 9845, ptr @lp_site %t160 = call ptr @lp_win_stdio(i32 2) store i32 0, ptr @lp_site call i32 (ptr, ptr, ...) @fprintf(ptr %t160, ptr @.fmt_bounds, ptr @.str17594, i32 %t154, i32 %t158) call void @exit(i32 1) unreachable ixok32: %t161 = getelementptr inbounds ptr, ptr %t156, i32 %t154 %t162 = load ptr, ptr %t161 call void @fn_emit(ptr %t162) call void @fn_emit(ptr @.str17595) store i32 1, ptr @g_g_term br label %ret ifend31: %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, 19 %t167 = zext i1 %t166 to i32 %t168 = icmp ne i32 %t167, 0 br i1 %t168, label %then34, label %ifend36 then34: %t169 = load ptr, ptr %t0 call void @fn_emit_match(ptr %t169) br label %ret ifend36: %t170 = load ptr, ptr %t0 %t171 = getelementptr inbounds %Cmp_Node, ptr %t170, i32 0, i32 0 %t172 = load i32, ptr %t171 %t173 = icmp eq i32 %t172, 21 %t174 = zext i1 %t173 to i32 %t175 = icmp ne i32 %t174, 0 br i1 %t175, label %then37, label %ifend39 then37: %t176 = load ptr, ptr %t0 call void @fn_emit_query(ptr %t176) br label %ret ifend39: %t177 = load ptr, ptr %t0 %t178 = getelementptr inbounds %Cmp_Node, ptr %t177, i32 0, i32 0 %t179 = load i32, ptr %t178 %t180 = icmp eq i32 %t179, 22 %t181 = zext i1 %t180 to i32 %t182 = icmp ne i32 %t181, 0 br i1 %t182, label %then40, label %ifend42 then40: %t183 = load ptr, ptr %t0 %t184 = call ptr @fn_emit_spawn(ptr %t183) store ptr %t184, ptr %t185 br label %ret ifend42: %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, 23 %t190 = zext i1 %t189 to i32 %t191 = icmp ne i32 %t190, 0 br i1 %t191, label %then43, label %ifend45 then43: %t192 = load ptr, ptr %t0 call void @fn_emit_despawn(ptr %t192) br label %ret ifend45: %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, 28 %t197 = zext i1 %t196 to i32 %t198 = icmp ne i32 %t197, 0 br i1 %t198, label %then46, label %ifend48 then46: %t199 = load ptr, ptr %t0 call void @fn_emit_toggle(ptr %t199) br label %ret ifend48: %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, 56 %t204 = zext i1 %t203 to i32 %t205 = icmp ne i32 %t204, 0 br i1 %t205, label %then49, label %ifend51 then49: %t206 = load ptr, ptr %t0 %t207 = getelementptr inbounds %Cmp_Node, ptr %t206, i32 0, i32 4 %t208 = load ptr, ptr %t207 call void @fn_emit_block(ptr %t208) br label %ret ifend51: %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, 46 %t213 = zext i1 %t212 to i32 %t214 = icmp ne i32 %t213, 0 br i1 %t214, label %then52, label %ifend54 then52: %t215 = load ptr, ptr %t0 call void @fn_emit_attach(ptr %t215) br label %ret ifend54: %t216 = load ptr, ptr %t0 %t217 = getelementptr inbounds %Cmp_Node, ptr %t216, i32 0, i32 0 %t218 = load i32, ptr %t217 %t219 = icmp eq i32 %t218, 47 %t220 = zext i1 %t219 to i32 %t221 = icmp ne i32 %t220, 0 br i1 %t221, label %then55, label %ifend57 then55: %t222 = load ptr, ptr %t0 call void @fn_emit_detach(ptr %t222) br label %ret ifend57: %t223 = load ptr, ptr %t0 %t224 = getelementptr inbounds %Cmp_Node, ptr %t223, i32 0, i32 0 %t225 = load i32, ptr %t224 %t226 = icmp eq i32 %t225, 49 %t227 = zext i1 %t226 to i32 %t228 = icmp ne i32 %t227, 0 br i1 %t228, label %then58, label %ifend60 then58: %t229 = load ptr, ptr %t0 %t230 = call ptr @fn_emit_emit(ptr %t229) store ptr %t230, ptr %t231 br label %ret ifend60: %t232 = load ptr, ptr %t0 %t233 = getelementptr inbounds %Cmp_Node, ptr %t232, i32 0, i32 0 %t234 = load i32, ptr %t233 %t235 = icmp eq i32 %t234, 50 %t236 = zext i1 %t235 to i32 %t237 = icmp ne i32 %t236, 0 br i1 %t237, label %then61, label %ifend63 then61: %t238 = load ptr, ptr @g_g_cancel_addr %t239 = icmp eq ptr %t238, null %t240 = zext i1 %t239 to i32 %t241 = icmp ne i32 %t240, 0 br i1 %t241, label %then64, label %ifend66 then64: call void @fn_perr(ptr @.str17596) br label %ifend66 ifend66: call void @fn_emit(ptr @.str17597) %t242 = load ptr, ptr @g_g_cancel_addr call void @fn_emit(ptr %t242) call void @fn_emit(ptr @.str17598) br label %ret ifend63: %t243 = load ptr, ptr %t0 %t244 = getelementptr inbounds %Cmp_Node, ptr %t243, i32 0, i32 0 %t245 = load i32, ptr %t244 %t246 = icmp eq i32 %t245, 24 %t247 = zext i1 %t246 to i32 %t248 = icmp ne i32 %t247, 0 br i1 %t248, label %then67, label %ifend69 then67: %t249 = load ptr, ptr %t0 call void @fn_emit_machine(ptr %t249) br label %ret ifend69: %t250 = load ptr, ptr %t0 %t251 = getelementptr inbounds %Cmp_Node, ptr %t250, i32 0, i32 0 %t252 = load i32, ptr %t251 %t253 = icmp eq i32 %t252, 26 %t254 = zext i1 %t253 to i32 %t255 = icmp ne i32 %t254, 0 br i1 %t255, label %then70, label %ifend72 then70: %t256 = load ptr, ptr %t0 call void @fn_emit_become(ptr %t256) br label %ret ifend72: %t257 = load ptr, ptr %t0 %t258 = getelementptr inbounds %Cmp_Node, ptr %t257, i32 0, i32 0 %t259 = load i32, ptr %t258 %t260 = icmp eq i32 %t259, 16 %t261 = zext i1 %t260 to i32 %t262 = icmp ne i32 %t261, 0 br i1 %t262, label %then73, label %ifend75 then73: %t263 = load ptr, ptr %t0 %t264 = getelementptr inbounds %Cmp_Node, ptr %t263, i32 0, i32 4 %t265 = load ptr, ptr %t264 %t266 = call ptr @fn_emit_expr(ptr %t265) store ptr %t266, ptr %t267 br label %ret ifend75: call void @fn_perr(ptr @.str17599) 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 = load i32, ptr @g_nloop %t11 = getelementptr inbounds %LSlice, ptr %t9, i32 0, i32 0 %t12 = load ptr, ptr %t11 %t13 = getelementptr inbounds %LSlice, ptr %t9, i32 0, i32 1 %t14 = load i32, ptr %t13 %t15 = icmp ult i32 %t10, %t14 br i1 %t15, label %ixok3, label %ixbad4 ixbad4: store i32 9846, ptr @lp_site %t16 = call ptr @lp_win_stdio(i32 2) store i32 0, ptr @lp_site call i32 (ptr, ptr, ...) @fprintf(ptr %t16, ptr @.fmt_bounds, ptr @.str17600, i32 %t10, i32 %t14) call void @exit(i32 1) unreachable ixok3: %t17 = getelementptr inbounds ptr, ptr %t12, i32 %t10 %t18 = load ptr, ptr %t0 store ptr %t18, ptr %t17 %t19 = load ptr, ptr @g_brk_lbl %t20 = load i32, ptr @g_nloop %t21 = getelementptr inbounds %LSlice, ptr %t19, i32 0, i32 0 %t22 = load ptr, ptr %t21 %t23 = getelementptr inbounds %LSlice, ptr %t19, i32 0, i32 1 %t24 = load i32, ptr %t23 %t25 = icmp ult i32 %t20, %t24 br i1 %t25, label %ixok5, label %ixbad6 ixbad6: store i32 9847, ptr @lp_site %t26 = call ptr @lp_win_stdio(i32 2) store i32 0, ptr @lp_site call i32 (ptr, ptr, ...) @fprintf(ptr %t26, ptr @.fmt_bounds, ptr @.str17602, i32 %t20, i32 %t24) call void @exit(i32 1) unreachable ixok5: %t27 = getelementptr inbounds ptr, ptr %t22, i32 %t20 %t28 = load ptr, ptr %t1 store ptr %t28, ptr %t27 br label %ifend2 else1: %t29 = load ptr, ptr @g_cnt_lbl %t30 = load ptr, ptr %t0 %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 %grow7, label %put8 grow7: %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 store i32 9848, ptr @lp_site %t45 = call ptr @lp_realloc(ptr %t44, i64 %t43) store i32 0, ptr @lp_site store ptr %t45, ptr %t33 store i32 %t39, ptr %t32 br label %put8 put8: %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 = load ptr, ptr @g_brk_lbl %t50 = load ptr, ptr %t1 %t51 = getelementptr inbounds %LSlice, ptr %t49, i32 0, i32 1 %t52 = getelementptr inbounds %LSlice, ptr %t49, i32 0, i32 2 %t53 = getelementptr inbounds %LSlice, ptr %t49, i32 0, i32 0 %t54 = load i32, ptr %t51 %t55 = load i32, ptr %t52 %t56 = icmp sge i32 %t54, %t55 br i1 %t56, label %grow9, label %put10 grow9: %t57 = mul i32 %t55, 2 %t58 = icmp eq i32 %t55, 0 %t59 = select i1 %t58, i32 8, i32 %t57 %t60 = getelementptr ptr, ptr null, i32 1 %t61 = ptrtoint ptr %t60 to i64 %t62 = zext i32 %t59 to i64 %t63 = mul i64 %t62, %t61 %t64 = load ptr, ptr %t53 store i32 9849, ptr @lp_site %t65 = call ptr @lp_realloc(ptr %t64, i64 %t63) store i32 0, ptr @lp_site store ptr %t65, ptr %t53 store i32 %t59, ptr %t52 br label %put10 put10: %t66 = load ptr, ptr %t53 %t67 = getelementptr inbounds ptr, ptr %t66, i32 %t54 store ptr %t50, ptr %t67 %t68 = add i32 %t54, 1 store i32 %t68, ptr %t51 br label %ifend2 ifend2: %t69 = load i32, ptr @g_nloop %t70 = add i32 %t69, 1 store i32 %t70, 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 = load i32, ptr %t0 %t10 = getelementptr inbounds %LSlice, ptr %t8, i32 0, i32 0 %t11 = load ptr, ptr %t10 %t12 = getelementptr inbounds %LSlice, ptr %t8, i32 0, i32 1 %t13 = load i32, ptr %t12 %t14 = icmp ult i32 %t9, %t13 br i1 %t14, label %ixok3, label %ixbad4 ixbad4: store i32 9850, ptr @lp_site %t15 = call ptr @lp_win_stdio(i32 2) store i32 0, ptr @lp_site call i32 (ptr, ptr, ...) @fprintf(ptr %t15, ptr @.fmt_bounds, ptr @.str17603, i32 %t9, i32 %t13) call void @exit(i32 1) unreachable ixok3: %t16 = getelementptr inbounds ptr, ptr %t11, i32 %t9 %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, 9 %t21 = zext i1 %t20 to i32 %t22 = icmp ne i32 %t21, 0 br i1 %t22, label %then5, label %ifend7 then5: store i32 1, ptr %retval br label %ret ifend7: %t23 = load i32, ptr %t0 %t24 = add i32 %t23, 1 store i32 %t24, ptr %t0 br label %wcond0 wend2: %t25 = call i32 @fn_uses_engine_systems() %t26 = icmp ne i32 %t25, 0 br i1 %t26, label %then8, label %ifend10 then8: store i32 1, ptr %retval br label %ret ifend10: store i32 0, ptr %retval br label %ret ret: %t27 = load i32, ptr %retval ret i32 %t27 } 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 = load i32, ptr %t0 %t10 = getelementptr inbounds %LSlice, ptr %t8, i32 0, i32 0 %t11 = load ptr, ptr %t10 %t12 = getelementptr inbounds %LSlice, ptr %t8, i32 0, i32 1 %t13 = load i32, ptr %t12 %t14 = icmp ult i32 %t9, %t13 br i1 %t14, label %ixok3, label %ixbad4 ixbad4: store i32 9851, ptr @lp_site %t15 = call ptr @lp_win_stdio(i32 2) store i32 0, ptr @lp_site call i32 (ptr, ptr, ...) @fprintf(ptr %t15, ptr @.fmt_bounds, ptr @.str17605, i32 %t9, i32 %t13) call void @exit(i32 1) unreachable ixok3: %t16 = getelementptr inbounds ptr, ptr %t11, i32 %t9 %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, 10 %t21 = zext i1 %t20 to i32 %t22 = icmp ne i32 %t21, 0 br i1 %t22, label %then5, label %ifend7 then5: store i32 1, ptr %retval br label %ret ifend7: %t23 = load i32, ptr %t0 %t24 = add i32 %t23, 1 store i32 %t24, ptr %t0 br label %wcond0 wend2: store i32 0, ptr %retval br label %ret ret: %t25 = load i32, ptr %retval ret i32 %t25 } 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 = load i32, ptr %t0 %t10 = getelementptr inbounds %LSlice, ptr %t8, i32 0, i32 0 %t11 = load ptr, ptr %t10 %t12 = getelementptr inbounds %LSlice, ptr %t8, i32 0, i32 1 %t13 = load i32, ptr %t12 %t14 = icmp ult i32 %t9, %t13 br i1 %t14, label %ixok3, label %ixbad4 ixbad4: store i32 9852, ptr @lp_site %t15 = call ptr @lp_win_stdio(i32 2) store i32 0, ptr @lp_site call i32 (ptr, ptr, ...) @fprintf(ptr %t15, ptr @.fmt_bounds, ptr @.str17607, i32 %t9, i32 %t13) call void @exit(i32 1) unreachable ixok3: %t16 = getelementptr inbounds ptr, ptr %t11, i32 %t9 %t17 = load ptr, ptr %t16 %t18 = call ptr @fn_find_comp(ptr %t17) %t19 = icmp ne ptr %t18, null %t20 = zext i1 %t19 to i32 %t21 = icmp ne i32 %t20, 0 br i1 %t21, label %then5, label %ifend7 then5: store i32 1, ptr %retval br label %ret ifend7: %t22 = load i32, ptr %t0 %t23 = add i32 %t22, 1 store i32 %t23, ptr %t0 br label %wcond0 wend2: %t24 = call ptr @fn_find_comp(ptr @.str17609) %t25 = icmp ne ptr %t24, null %t26 = zext i1 %t25 to i32 %t27 = icmp ne i32 %t26, 0 br i1 %t27, label %then8, label %ifend10 then8: store i32 1, ptr %retval br label %ret ifend10: store i32 0, ptr %retval br label %ret ret: %t28 = load i32, ptr %retval ret i32 %t28 } 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 = load i32, ptr %t0 %t10 = getelementptr inbounds %LSlice, ptr %t8, i32 0, i32 0 %t11 = load ptr, ptr %t10 %t12 = getelementptr inbounds %LSlice, ptr %t8, i32 0, i32 1 %t13 = load i32, ptr %t12 %t14 = icmp ult i32 %t9, %t13 br i1 %t14, label %ixok3, label %ixbad4 ixbad4: store i32 9853, ptr @lp_site %t15 = call ptr @lp_win_stdio(i32 2) store i32 0, ptr @lp_site call i32 (ptr, ptr, ...) @fprintf(ptr %t15, ptr @.fmt_bounds, ptr @.str17610, i32 %t9, i32 %t13) call void @exit(i32 1) unreachable ixok3: %t16 = getelementptr inbounds ptr, ptr %t11, i32 %t9 %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, 6 %t21 = zext i1 %t20 to i32 %t22 = icmp ne i32 %t21, 0 br i1 %t22, label %then5, label %ifend7 then5: store i32 1, ptr %retval br label %ret ifend7: %t23 = load i32, ptr %t0 %t24 = add i32 %t23, 1 store i32 %t24, ptr %t0 br label %wcond0 wend2: store i32 0, ptr %retval br label %ret ret: %t25 = load i32, ptr %retval ret i32 %t25 } 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 %t12 = alloca i32 %t30 = alloca ptr %t71 = alloca i32 call void @fn_emith(ptr @.str17612) call void @fn_emith(ptr @.str17613) call void @fn_emith(ptr @.str17614) %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 @.str17615) br label %ifend2 ifend2: call void @fn_emith(ptr @.str17616) %t6 = call ptr @fn_itoa(i32 1024) store ptr %t6, ptr %t7 call void @fn_emith(ptr @.str17617) call void @fn_emith(ptr @.str17618) call void @fn_emith(ptr @.str17619) call void @fn_emith(ptr @.str17620) call void @fn_emith(ptr @.str17621) call void @fn_emith(ptr @.str17622) %t8 = call i32 @fn_net_any() %t9 = icmp ne i32 %t8, 0 br i1 %t9, label %then3, label %ifend5 then3: call void @fn_emith(ptr @.str17623) call void @fn_emith(ptr @.str17624) br label %ifend5 ifend5: %t10 = call i32 @fn_net_has_owned() %t11 = icmp ne i32 %t10, 0 br i1 %t11, label %then6, label %ifend8 then6: call void @fn_emith(ptr @.str17625) br label %ifend8 ifend8: store i32 0, ptr %t12 br label %wcond9 wcond9: %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 %wbody10, label %wend11 wbody10: %t20 = load ptr, ptr @g_prog %t21 = load i32, ptr %t12 %t22 = getelementptr inbounds %LSlice, ptr %t20, i32 0, i32 0 %t23 = load ptr, ptr %t22 %t24 = getelementptr inbounds %LSlice, ptr %t20, i32 0, i32 1 %t25 = load i32, ptr %t24 %t26 = icmp ult i32 %t21, %t25 br i1 %t26, label %ixok12, label %ixbad13 ixbad13: store i32 9854, ptr @lp_site %t27 = call ptr @lp_win_stdio(i32 2) store i32 0, ptr @lp_site call i32 (ptr, ptr, ...) @fprintf(ptr %t27, ptr @.fmt_bounds, ptr @.str17626, i32 %t21, i32 %t25) call void @exit(i32 1) unreachable ixok12: %t28 = getelementptr inbounds ptr, ptr %t23, i32 %t21 %t29 = load ptr, ptr %t28 store ptr %t29, ptr %t30 %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, 8 %t35 = zext i1 %t34 to i32 %t36 = icmp ne i32 %t35, 0 br i1 %t36, label %then14, label %ifend16 then14: %t37 = load ptr, ptr %t30 %t38 = getelementptr inbounds %Cmp_Node, ptr %t37, i32 0, i32 1 %t39 = load ptr, ptr %t38 store i32 9855, ptr @lp_site %t40 = call ptr @lp_str_concat(ptr @.str17628, ptr %t39) store i32 0, ptr @lp_site store i32 9856, ptr @lp_site %t41 = call ptr @lp_str_concat(ptr %t40, ptr @.str17629) store i32 0, ptr @lp_site call void @lp_free(ptr %t40) call void @fn_emith(ptr %t41) %t42 = load ptr, ptr %t30 %t43 = getelementptr inbounds %Cmp_Node, ptr %t42, i32 0, i32 1 %t44 = load ptr, ptr %t43 store i32 9857, ptr @lp_site %t45 = call ptr @lp_str_concat(ptr @.str17630, ptr %t44) store i32 0, ptr @lp_site store i32 9858, ptr @lp_site %t46 = call ptr @lp_str_concat(ptr %t45, ptr @.str17631) store i32 0, ptr @lp_site call void @lp_free(ptr %t45) call void @fn_emith(ptr %t46) br label %ifend16 ifend16: %t47 = load ptr, ptr %t30 %t48 = getelementptr inbounds %Cmp_Node, ptr %t47, i32 0, i32 0 %t49 = load i32, ptr %t48 %t50 = icmp eq i32 %t49, 10 %t51 = zext i1 %t50 to i32 %t52 = icmp ne i32 %t51, 0 br i1 %t52, label %then17, label %ifend19 then17: %t53 = load ptr, ptr %t30 %t54 = getelementptr inbounds %Cmp_Node, ptr %t53, i32 0, i32 1 %t55 = load ptr, ptr %t54 store i32 9859, ptr @lp_site %t56 = call ptr @lp_str_concat(ptr @.str17632, ptr %t55) store i32 0, ptr @lp_site store i32 9860, ptr @lp_site %t57 = call ptr @lp_str_concat(ptr %t56, ptr @.str17633) store i32 0, ptr @lp_site call void @lp_free(ptr %t56) call void @fn_emith(ptr %t57) br label %ifend19 ifend19: %t58 = load ptr, ptr %t30 %t59 = getelementptr inbounds %Cmp_Node, ptr %t58, i32 0, i32 0 %t60 = load i32, ptr %t59 %t61 = icmp eq i32 %t60, 9 %t62 = zext i1 %t61 to i32 %t63 = icmp ne i32 %t62, 0 br i1 %t63, label %then20, label %ifend22 then20: %t64 = load ptr, ptr %t30 %t65 = getelementptr inbounds %Cmp_Node, ptr %t64, i32 0, i32 1 %t66 = load ptr, ptr %t65 store i32 9861, ptr @lp_site %t67 = call ptr @lp_str_concat(ptr @.str17634, ptr %t66) store i32 0, ptr @lp_site store i32 9862, ptr @lp_site %t68 = call ptr @lp_str_concat(ptr %t67, ptr @.str17635) store i32 0, ptr @lp_site call void @lp_free(ptr %t67) call void @fn_emith(ptr %t68) br label %ifend22 ifend22: %t69 = load i32, ptr %t12 %t70 = add i32 %t69, 1 store i32 %t70, ptr %t12 br label %wcond9 wend11: store i32 0, ptr %t71 br label %wcond23 wcond23: %t72 = load i32, ptr %t71 %t73 = load ptr, ptr @g_g_toggled_layers %t74 = getelementptr inbounds %LSlice, ptr %t73, i32 0, i32 1 %t75 = load i32, ptr %t74 %t76 = icmp slt i32 %t72, %t75 %t77 = zext i1 %t76 to i32 %t78 = icmp ne i32 %t77, 0 br i1 %t78, label %wbody24, label %wend25 wbody24: %t79 = load ptr, ptr @g_g_toggled_layers %t80 = load i32, ptr %t71 %t81 = getelementptr inbounds %LSlice, ptr %t79, i32 0, i32 0 %t82 = load ptr, ptr %t81 %t83 = getelementptr inbounds %LSlice, ptr %t79, i32 0, i32 1 %t84 = load i32, ptr %t83 %t85 = icmp ult i32 %t80, %t84 br i1 %t85, label %ixok26, label %ixbad27 ixbad27: store i32 9863, ptr @lp_site %t86 = call ptr @lp_win_stdio(i32 2) store i32 0, ptr @lp_site call i32 (ptr, ptr, ...) @fprintf(ptr %t86, ptr @.fmt_bounds, ptr @.str17637, i32 %t80, i32 %t84) call void @exit(i32 1) unreachable ixok26: %t87 = getelementptr inbounds ptr, ptr %t82, i32 %t80 %t88 = load ptr, ptr %t87 store i32 9864, ptr @lp_site %t89 = call ptr @lp_str_concat(ptr @.str17636, ptr %t88) store i32 0, ptr @lp_site store i32 9865, ptr @lp_site %t90 = call ptr @lp_str_concat(ptr %t89, ptr @.str17638) store i32 0, ptr @lp_site call void @lp_free(ptr %t89) call void @fn_emith(ptr %t90) %t91 = load i32, ptr %t71 %t92 = add i32 %t91, 1 store i32 %t92, ptr %t71 br label %wcond23 wend25: br label %ret ret: ret void } define void @fn_emit_ecs_allocator() { entry: %t1 = alloca ptr %t2 = alloca i32 %t28 = alloca ptr %t43 = alloca ptr %t50 = alloca ptr %t55 = alloca ptr %t58 = alloca ptr %t61 = alloca ptr %t64 = alloca ptr %t67 = alloca ptr %t0 = call ptr @fn_itoa(i32 1024) store ptr %t0, ptr %t1 call void @fn_emit_ecs_grow() call void @fn_emit(ptr @.str17639) 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 = load i32, ptr %t2 %t12 = getelementptr inbounds %LSlice, ptr %t10, i32 0, i32 0 %t13 = load ptr, ptr %t12 %t14 = getelementptr inbounds %LSlice, ptr %t10, i32 0, i32 1 %t15 = load i32, ptr %t14 %t16 = icmp ult i32 %t11, %t15 br i1 %t16, label %ixok3, label %ixbad4 ixbad4: store i32 9866, ptr @lp_site %t17 = call ptr @lp_win_stdio(i32 2) store i32 0, ptr @lp_site call i32 (ptr, ptr, ...) @fprintf(ptr %t17, ptr @.fmt_bounds, ptr @.str17640, i32 %t11, i32 %t15) call void @exit(i32 1) unreachable ixok3: %t18 = getelementptr inbounds ptr, ptr %t13, i32 %t11 %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 %then5, label %ifend7 then5: %t25 = load i32, ptr %t2 %t26 = call ptr @fn_itoa(i32 %t25) store i32 9867, ptr @lp_site %t27 = call ptr @lp_str_concat(ptr @.str17642, ptr %t26) store i32 0, ptr @lp_site store ptr %t27, ptr %t28 %t29 = load ptr, ptr @g_prog %t30 = load i32, ptr %t2 %t31 = getelementptr inbounds %LSlice, ptr %t29, i32 0, i32 0 %t32 = load ptr, ptr %t31 %t33 = getelementptr inbounds %LSlice, ptr %t29, i32 0, i32 1 %t34 = load i32, ptr %t33 %t35 = icmp ult i32 %t30, %t34 br i1 %t35, label %ixok8, label %ixbad9 ixbad9: store i32 9868, ptr @lp_site %t36 = call ptr @lp_win_stdio(i32 2) store i32 0, ptr @lp_site call i32 (ptr, ptr, ...) @fprintf(ptr %t36, ptr @.fmt_bounds, ptr @.str17644, i32 %t30, i32 %t34) call void @exit(i32 1) unreachable ixok8: %t37 = getelementptr inbounds ptr, ptr %t32, i32 %t30 %t38 = load ptr, ptr %t37 %t39 = getelementptr inbounds %Cmp_Node, ptr %t38, i32 0, i32 1 %t40 = load ptr, ptr %t39 store i32 9869, ptr @lp_site %t41 = call ptr @lp_str_concat(ptr @.str17643, ptr %t40) store i32 0, ptr @lp_site %t42 = call ptr @fn_ecs_base(ptr %t41) store ptr %t42, ptr %t43 call void @fn_emit(ptr @.str17645) %t44 = load ptr, ptr %t28 call void @fn_emit(ptr %t44) call void @fn_emit(ptr @.str17646) %t45 = load ptr, ptr %t43 call void @fn_emit(ptr %t45) call void @fn_emit(ptr @.str17647) call void @fn_emit(ptr @.str17648) %t46 = load ptr, ptr %t28 call void @fn_emit(ptr %t46) call void @fn_emit(ptr @.str17649) br label %ifend7 ifend7: %t47 = load i32, ptr %t2 %t48 = add i32 %t47, 1 store i32 %t48, ptr %t2 br label %wcond0 wend2: %t49 = call ptr @fn_ecs_base(ptr @.str17650) store ptr %t49, ptr %t50 call void @fn_emit(ptr @.str17651) %t51 = load ptr, ptr %t50 call void @fn_emit(ptr %t51) call void @fn_emit(ptr @.str17652) call void @fn_emit(ptr @.str17653) %t52 = call i32 @fn_net_has_owned() %t53 = icmp ne i32 %t52, 0 br i1 %t53, label %then10, label %ifend12 then10: %t54 = call ptr @fn_ecs_base(ptr @.str17654) store ptr %t54, ptr %t55 call void @fn_emit(ptr @.str17655) %t56 = load ptr, ptr %t55 call void @fn_emit(ptr %t56) call void @fn_emit(ptr @.str17656) call void @fn_emit(ptr @.str17657) br label %ifend12 ifend12: call void @fn_emit(ptr @.str17658) call void @fn_emit(ptr @.str17659) call void @fn_emit(ptr @.str17660) call void @fn_emit(ptr @.str17661) call void @fn_emit(ptr @.str17662) call void @fn_emit(ptr @.str17663) call void @fn_emit(ptr @.str17664) call void @fn_emit(ptr @.str17665) %t57 = call ptr @fn_ecs_base(ptr @.str17666) store ptr %t57, ptr %t58 call void @fn_emit(ptr @.str17667) %t59 = load ptr, ptr %t58 call void @fn_emit(ptr %t59) call void @fn_emit(ptr @.str17668) call void @fn_emit(ptr @.str17669) call void @fn_emit(ptr @.str17670) call void @fn_emit(ptr @.str17671) call void @fn_emit(ptr @.str17672) call void @fn_emit(ptr @.str17673) call void @fn_emit(ptr @.str17674) call void @fn_emit(ptr @.str17675) call void @fn_emit(ptr @.str17676) call void @fn_emit(ptr @.str17677) call void @fn_emit(ptr @.str17678) call void @fn_emit(ptr @.str17679) %t60 = call ptr @fn_ecs_base(ptr @.str17680) store ptr %t60, ptr %t61 call void @fn_emit(ptr @.str17681) %t62 = load ptr, ptr %t61 call void @fn_emit(ptr %t62) call void @fn_emit(ptr @.str17682) call void @fn_emit(ptr @.str17683) call void @fn_emit(ptr @.str17684) call void @fn_emit(ptr @.str17685) %t63 = call ptr @fn_ecs_base(ptr @.str17686) store ptr %t63, ptr %t64 call void @fn_emit(ptr @.str17687) %t65 = load ptr, ptr %t64 call void @fn_emit(ptr %t65) call void @fn_emit(ptr @.str17688) call void @fn_emit(ptr @.str17689) call void @fn_emit(ptr @.str17690) call void @fn_emit(ptr @.str17691) %t66 = call ptr @fn_ecs_base(ptr @.str17692) store ptr %t66, ptr %t67 call void @fn_emit(ptr @.str17693) %t68 = load ptr, ptr %t67 call void @fn_emit(ptr %t68) call void @fn_emit(ptr @.str17694) call void @fn_emit(ptr @.str17695) call void @fn_emit(ptr @.str17696) call void @fn_emit(ptr @.str17697) call void @fn_emit(ptr @.str17698) br label %ret ret: ret void } define ptr @fn_ecs_base(ptr %arg_store) { entry: %retval = alloca ptr %t0 = alloca ptr %t4 = alloca ptr store ptr %arg_store, ptr %t0 %t1 = load i32, ptr @g_ll_t %t2 = call ptr @fn_itoa(i32 %t1) store i32 9870, ptr @lp_site %t3 = call ptr @lp_str_concat(ptr @.str17699, ptr %t2) store i32 0, ptr @lp_site 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 %t4 store i32 9871, ptr @lp_site %t8 = call ptr @lp_str_concat(ptr @.str17701, ptr %t7) store i32 0, ptr @lp_site store i32 9872, ptr @lp_site %t9 = call ptr @lp_str_concat(ptr %t8, ptr @.str17702) store i32 0, ptr @lp_site call void @lp_free(ptr %t8) %t10 = load ptr, ptr %t0 store i32 9873, ptr @lp_site %t11 = call ptr @lp_str_concat(ptr %t9, ptr %t10) store i32 0, ptr @lp_site call void @lp_free(ptr %t9) store i32 9874, ptr @lp_site %t12 = call ptr @lp_str_concat(ptr %t11, ptr @.str17703) store i32 0, ptr @lp_site call void @lp_free(ptr %t11) call void @fn_emit(ptr %t12) %t13 = load ptr, ptr %t4 store ptr %t13, ptr %retval br label %ret ret: %t14 = load ptr, ptr %retval ret ptr %t14 } define void @fn_emit_ecs_grow() { entry: %t5 = alloca i32 %t6 = alloca i32 %t32 = alloca ptr call void @fn_emit(ptr @.str17704) call void @fn_emit(ptr @.str17705) %t0 = call ptr @fn_itoa(i32 8) store i32 9875, ptr @lp_site %t1 = call ptr @lp_str_concat(ptr @.str17706, ptr %t0) store i32 0, ptr @lp_site store i32 9876, ptr @lp_site %t2 = call ptr @lp_str_concat(ptr %t1, ptr @.str17708) store i32 0, ptr @lp_site call void @lp_free(ptr %t1) call void @fn_emit(ptr %t2) call void @fn_emit(ptr @.str17709) call void @fn_emit(ptr @.str17710) call void @fn_emit(ptr @.str17711) call void @fn_emit_grow_store(ptr @.str17712, ptr @.str17713, i32 0) call void @fn_emit_grow_store(ptr @.str17714, ptr @.str17715, i32 1) call void @fn_emit_grow_store(ptr @.str17716, ptr @.str17717, i32 2) %t3 = call i32 @fn_net_has_owned() %t4 = icmp ne i32 %t3, 0 br i1 %t4, label %then0, label %ifend2 then0: call void @fn_emit_grow_store(ptr @.str17718, ptr @.str17719, i32 3) br label %ifend2 ifend2: store i32 4, ptr %t5 store i32 0, ptr %t6 br label %wcond3 wcond3: %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 %wbody4, label %wend5 wbody4: %t14 = load ptr, ptr @g_prog %t15 = load i32, ptr %t6 %t16 = getelementptr inbounds %LSlice, ptr %t14, i32 0, i32 0 %t17 = load ptr, ptr %t16 %t18 = getelementptr inbounds %LSlice, ptr %t14, i32 0, i32 1 %t19 = load i32, ptr %t18 %t20 = icmp ult i32 %t15, %t19 br i1 %t20, label %ixok6, label %ixbad7 ixbad7: store i32 9877, ptr @lp_site %t21 = call ptr @lp_win_stdio(i32 2) store i32 0, ptr @lp_site call i32 (ptr, ptr, ...) @fprintf(ptr %t21, ptr @.fmt_bounds, ptr @.str17720, i32 %t15, i32 %t19) call void @exit(i32 1) unreachable ixok6: %t22 = getelementptr inbounds ptr, ptr %t17, i32 %t15 %t23 = load ptr, ptr %t22 %t24 = getelementptr inbounds %Cmp_Node, ptr %t23, i32 0, i32 0 %t25 = load i32, ptr %t24 %t26 = icmp eq i32 %t25, 8 %t27 = zext i1 %t26 to i32 %t28 = icmp ne i32 %t27, 0 br i1 %t28, label %then8, label %ifend10 then8: %t29 = load i32, ptr %t5 %t30 = call ptr @fn_itoa(i32 %t29) store i32 9878, ptr @lp_site %t31 = call ptr @lp_str_concat(ptr @.str17721, ptr %t30) store i32 0, ptr @lp_site store ptr %t31, ptr %t32 %t33 = load ptr, ptr %t32 store i32 9879, ptr @lp_site %t34 = call ptr @lp_str_concat(ptr @.str17722, ptr %t33) store i32 0, ptr @lp_site store i32 9880, ptr @lp_site %t35 = call ptr @lp_str_concat(ptr %t34, ptr @.str17723) store i32 0, ptr @lp_site call void @lp_free(ptr %t34) %t36 = load ptr, ptr @g_prog %t37 = load i32, ptr %t6 %t38 = getelementptr inbounds %LSlice, ptr %t36, i32 0, i32 0 %t39 = load ptr, ptr %t38 %t40 = getelementptr inbounds %LSlice, ptr %t36, i32 0, i32 1 %t41 = load i32, ptr %t40 %t42 = icmp ult i32 %t37, %t41 br i1 %t42, label %ixok11, label %ixbad12 ixbad12: store i32 9881, ptr @lp_site %t43 = call ptr @lp_win_stdio(i32 2) store i32 0, ptr @lp_site call i32 (ptr, ptr, ...) @fprintf(ptr %t43, ptr @.fmt_bounds, ptr @.str17724, i32 %t37, i32 %t41) call void @exit(i32 1) unreachable ixok11: %t44 = getelementptr inbounds ptr, ptr %t39, i32 %t37 %t45 = load ptr, ptr %t44 %t46 = getelementptr inbounds %Cmp_Node, ptr %t45, i32 0, i32 1 %t47 = load ptr, ptr %t46 store i32 9882, ptr @lp_site %t48 = call ptr @lp_str_concat(ptr %t35, ptr %t47) store i32 0, ptr @lp_site call void @lp_free(ptr %t35) store i32 9883, ptr @lp_site %t49 = call ptr @lp_str_concat(ptr %t48, ptr @.str17725) store i32 0, ptr @lp_site call void @lp_free(ptr %t48) call void @fn_emit(ptr %t49) %t50 = load ptr, ptr @g_prog %t51 = load i32, ptr %t6 %t52 = getelementptr inbounds %LSlice, ptr %t50, i32 0, i32 0 %t53 = load ptr, ptr %t52 %t54 = getelementptr inbounds %LSlice, ptr %t50, i32 0, i32 1 %t55 = load i32, ptr %t54 %t56 = icmp ult i32 %t51, %t55 br i1 %t56, label %ixok13, label %ixbad14 ixbad14: store i32 9884, ptr @lp_site %t57 = call ptr @lp_win_stdio(i32 2) store i32 0, ptr @lp_site call i32 (ptr, ptr, ...) @fprintf(ptr %t57, ptr @.fmt_bounds, ptr @.str17727, i32 %t51, i32 %t55) call void @exit(i32 1) unreachable ixok13: %t58 = getelementptr inbounds ptr, ptr %t53, i32 %t51 %t59 = load ptr, ptr %t58 %t60 = getelementptr inbounds %Cmp_Node, ptr %t59, i32 0, i32 1 %t61 = load ptr, ptr %t60 store i32 9885, ptr @lp_site %t62 = call ptr @lp_str_concat(ptr @.str17726, ptr %t61) store i32 0, ptr @lp_site %t63 = load ptr, ptr %t32 %t64 = load i32, ptr %t5 call void @fn_emit_grow_store(ptr %t62, ptr %t63, i32 %t64) %t65 = load ptr, ptr @g_prog %t66 = load i32, ptr %t6 %t67 = getelementptr inbounds %LSlice, ptr %t65, i32 0, i32 0 %t68 = load ptr, ptr %t67 %t69 = getelementptr inbounds %LSlice, ptr %t65, i32 0, i32 1 %t70 = load i32, ptr %t69 %t71 = icmp ult i32 %t66, %t70 br i1 %t71, label %ixok15, label %ixbad16 ixbad16: store i32 9886, ptr @lp_site %t72 = call ptr @lp_win_stdio(i32 2) store i32 0, ptr @lp_site call i32 (ptr, ptr, ...) @fprintf(ptr %t72, ptr @.fmt_bounds, ptr @.str17729, i32 %t66, i32 %t70) call void @exit(i32 1) unreachable ixok15: %t73 = getelementptr inbounds ptr, ptr %t68, i32 %t66 %t74 = load ptr, ptr %t73 %t75 = getelementptr inbounds %Cmp_Node, ptr %t74, i32 0, i32 1 %t76 = load ptr, ptr %t75 store i32 9887, ptr @lp_site %t77 = call ptr @lp_str_concat(ptr @.str17728, ptr %t76) store i32 0, ptr @lp_site %t78 = load i32, ptr %t5 %t79 = add i32 %t78, 1 call void @fn_emit_grow_store(ptr %t77, ptr @.str17730, i32 %t79) %t80 = load i32, ptr %t5 %t81 = add i32 %t80, 2 store i32 %t81, ptr %t5 br label %ifend10 ifend10: %t82 = load i32, ptr %t6 %t83 = add i32 %t82, 1 store i32 %t83, ptr %t6 br label %wcond3 wend5: call void @fn_emit_grow_dyn() call void @fn_emit(ptr @.str17731) br label %ret ret: ret void } define void @fn_emit_grow_store(ptr %arg_store, ptr %arg_esz, i32 %arg_k) { entry: %t0 = alloca ptr %t1 = alloca ptr %t2 = alloca i32 %t5 = alloca ptr store ptr %arg_store, ptr %t0 store ptr %arg_esz, ptr %t1 store i32 %arg_k, ptr %t2 %t3 = load i32, ptr %t2 %t4 = call ptr @fn_itoa(i32 %t3) store ptr %t4, ptr %t5 %t6 = load ptr, ptr %t5 store i32 9888, ptr @lp_site %t7 = call ptr @lp_str_concat(ptr @.str17732, ptr %t6) store i32 0, ptr @lp_site store i32 9889, ptr @lp_site %t8 = call ptr @lp_str_concat(ptr %t7, ptr @.str17734) store i32 0, ptr @lp_site call void @lp_free(ptr %t7) %t9 = load ptr, ptr %t0 store i32 9890, ptr @lp_site %t10 = call ptr @lp_str_concat(ptr %t8, ptr %t9) store i32 0, ptr @lp_site call void @lp_free(ptr %t8) store i32 9891, ptr @lp_site %t11 = call ptr @lp_str_concat(ptr %t10, ptr @.str17735) store i32 0, ptr @lp_site call void @lp_free(ptr %t10) %t12 = load ptr, ptr %t5 store i32 9892, ptr @lp_site %t13 = call ptr @lp_str_concat(ptr %t11, ptr %t12) store i32 0, ptr @lp_site call void @lp_free(ptr %t11) store i32 9893, ptr @lp_site %t14 = call ptr @lp_str_concat(ptr %t13, ptr @.str17736) store i32 0, ptr @lp_site call void @lp_free(ptr %t13) %t15 = load ptr, ptr %t1 store i32 9894, ptr @lp_site %t16 = call ptr @lp_str_concat(ptr %t14, ptr %t15) store i32 0, ptr @lp_site call void @lp_free(ptr %t14) store i32 9895, ptr @lp_site %t17 = call ptr @lp_str_concat(ptr %t16, ptr @.str17737) store i32 0, ptr @lp_site call void @lp_free(ptr %t16) %t18 = load ptr, ptr %t5 store i32 9896, ptr @lp_site %t19 = call ptr @lp_str_concat(ptr %t17, ptr %t18) store i32 0, ptr @lp_site call void @lp_free(ptr %t17) store i32 9897, ptr @lp_site %t20 = call ptr @lp_str_concat(ptr %t19, ptr @.str17738) store i32 0, ptr @lp_site call void @lp_free(ptr %t19) %t21 = load ptr, ptr %t5 store i32 9898, ptr @lp_site %t22 = call ptr @lp_str_concat(ptr %t20, ptr %t21) store i32 0, ptr @lp_site call void @lp_free(ptr %t20) store i32 9899, ptr @lp_site %t23 = call ptr @lp_str_concat(ptr %t22, ptr @.str17739) store i32 0, ptr @lp_site call void @lp_free(ptr %t22) call void @fn_emit(ptr %t23) call void @fn_emit_site(ptr @.str17740) %t24 = load ptr, ptr %t5 store i32 9900, ptr @lp_site %t25 = call ptr @lp_str_concat(ptr @.str17741, ptr %t24) store i32 0, ptr @lp_site store i32 9901, ptr @lp_site %t26 = call ptr @lp_str_concat(ptr %t25, ptr @.str17742) store i32 0, ptr @lp_site call void @lp_free(ptr %t25) %t27 = load ptr, ptr %t5 store i32 9902, ptr @lp_site %t28 = call ptr @lp_str_concat(ptr %t26, ptr %t27) store i32 0, ptr @lp_site call void @lp_free(ptr %t26) store i32 9903, ptr @lp_site %t29 = call ptr @lp_str_concat(ptr %t28, ptr @.str17743) store i32 0, ptr @lp_site call void @lp_free(ptr %t28) %t30 = load ptr, ptr %t5 store i32 9904, ptr @lp_site %t31 = call ptr @lp_str_concat(ptr %t29, ptr %t30) store i32 0, ptr @lp_site call void @lp_free(ptr %t29) store i32 9905, ptr @lp_site %t32 = call ptr @lp_str_concat(ptr %t31, ptr @.str17744) store i32 0, ptr @lp_site call void @lp_free(ptr %t31) %t33 = load ptr, ptr %t5 store i32 9906, ptr @lp_site %t34 = call ptr @lp_str_concat(ptr %t32, ptr %t33) store i32 0, ptr @lp_site call void @lp_free(ptr %t32) store i32 9907, ptr @lp_site %t35 = call ptr @lp_str_concat(ptr %t34, ptr @.str17745) store i32 0, ptr @lp_site call void @lp_free(ptr %t34) %t36 = load ptr, ptr %t1 store i32 9908, ptr @lp_site %t37 = call ptr @lp_str_concat(ptr %t35, ptr %t36) store i32 0, ptr @lp_site call void @lp_free(ptr %t35) store i32 9909, ptr @lp_site %t38 = call ptr @lp_str_concat(ptr %t37, ptr @.str17746) store i32 0, ptr @lp_site call void @lp_free(ptr %t37) call void @fn_emit(ptr %t38) %t39 = load ptr, ptr %t5 store i32 9910, ptr @lp_site %t40 = call ptr @lp_str_concat(ptr @.str17747, ptr %t39) store i32 0, ptr @lp_site store i32 9911, ptr @lp_site %t41 = call ptr @lp_str_concat(ptr %t40, ptr @.str17748) store i32 0, ptr @lp_site call void @lp_free(ptr %t40) %t42 = load ptr, ptr %t5 store i32 9912, ptr @lp_site %t43 = call ptr @lp_str_concat(ptr %t41, ptr %t42) store i32 0, ptr @lp_site call void @lp_free(ptr %t41) store i32 9913, ptr @lp_site %t44 = call ptr @lp_str_concat(ptr %t43, ptr @.str17749) store i32 0, ptr @lp_site call void @lp_free(ptr %t43) %t45 = load ptr, ptr %t5 store i32 9914, ptr @lp_site %t46 = call ptr @lp_str_concat(ptr %t44, ptr %t45) store i32 0, ptr @lp_site call void @lp_free(ptr %t44) store i32 9915, ptr @lp_site %t47 = call ptr @lp_str_concat(ptr %t46, ptr @.str17750) store i32 0, ptr @lp_site call void @lp_free(ptr %t46) %t48 = load ptr, ptr %t5 store i32 9916, ptr @lp_site %t49 = call ptr @lp_str_concat(ptr %t47, ptr %t48) store i32 0, ptr @lp_site call void @lp_free(ptr %t47) store i32 9917, ptr @lp_site %t50 = call ptr @lp_str_concat(ptr %t49, ptr @.str17751) store i32 0, ptr @lp_site call void @lp_free(ptr %t49) %t51 = load ptr, ptr %t5 store i32 9918, ptr @lp_site %t52 = call ptr @lp_str_concat(ptr %t50, ptr %t51) store i32 0, ptr @lp_site call void @lp_free(ptr %t50) store i32 9919, ptr @lp_site %t53 = call ptr @lp_str_concat(ptr %t52, ptr @.str17752) store i32 0, ptr @lp_site call void @lp_free(ptr %t52) %t54 = load ptr, ptr %t5 store i32 9920, ptr @lp_site %t55 = call ptr @lp_str_concat(ptr %t53, ptr %t54) store i32 0, ptr @lp_site call void @lp_free(ptr %t53) store i32 9921, ptr @lp_site %t56 = call ptr @lp_str_concat(ptr %t55, ptr @.str17753) store i32 0, ptr @lp_site call void @lp_free(ptr %t55) call void @fn_emit(ptr %t56) %t57 = load ptr, ptr %t5 store i32 9922, ptr @lp_site %t58 = call ptr @lp_str_concat(ptr @.str17754, ptr %t57) store i32 0, ptr @lp_site store i32 9923, ptr @lp_site %t59 = call ptr @lp_str_concat(ptr %t58, ptr @.str17755) store i32 0, ptr @lp_site call void @lp_free(ptr %t58) %t60 = load ptr, ptr %t5 store i32 9924, ptr @lp_site %t61 = call ptr @lp_str_concat(ptr %t59, ptr %t60) store i32 0, ptr @lp_site call void @lp_free(ptr %t59) store i32 9925, ptr @lp_site %t62 = call ptr @lp_str_concat(ptr %t61, ptr @.str17756) store i32 0, ptr @lp_site call void @lp_free(ptr %t61) %t63 = load ptr, ptr %t5 store i32 9926, ptr @lp_site %t64 = call ptr @lp_str_concat(ptr %t62, ptr %t63) store i32 0, ptr @lp_site call void @lp_free(ptr %t62) store i32 9927, ptr @lp_site %t65 = call ptr @lp_str_concat(ptr %t64, ptr @.str17757) store i32 0, ptr @lp_site call void @lp_free(ptr %t64) %t66 = load ptr, ptr %t5 store i32 9928, ptr @lp_site %t67 = call ptr @lp_str_concat(ptr %t65, ptr %t66) store i32 0, ptr @lp_site call void @lp_free(ptr %t65) store i32 9929, ptr @lp_site %t68 = call ptr @lp_str_concat(ptr %t67, ptr @.str17758) store i32 0, ptr @lp_site call void @lp_free(ptr %t67) %t69 = load ptr, ptr %t0 store i32 9930, ptr @lp_site %t70 = call ptr @lp_str_concat(ptr %t68, ptr %t69) store i32 0, ptr @lp_site call void @lp_free(ptr %t68) store i32 9931, ptr @lp_site %t71 = call ptr @lp_str_concat(ptr %t70, ptr @.str17759) store i32 0, ptr @lp_site call void @lp_free(ptr %t70) call void @fn_emit(ptr %t71) br label %ret ret: ret void } define void @fn_emit_grow_dyn() { entry: call void @fn_emit(ptr @.str17760) call void @fn_emit(ptr @.str17761) call void @fn_emit(ptr @.str17762) call void @fn_emit(ptr @.str17763) call void @fn_emit_grow_slot(ptr @.str17764, ptr @.str17765, ptr @.str17766) call void @fn_emit_grow_slot(ptr @.str17767, ptr @.str17768, ptr @.str17769) call void @fn_emit(ptr @.str17770) br label %ret ret: ret void } define void @fn_emit_grow_slot(ptr %arg_table, ptr %arg_esz, ptr %arg_t) { entry: %t0 = alloca ptr %t1 = alloca ptr %t2 = alloca ptr store ptr %arg_table, ptr %t0 store ptr %arg_esz, ptr %t1 store ptr %arg_t, ptr %t2 %t3 = load ptr, ptr %t2 store i32 9932, ptr @lp_site %t4 = call ptr @lp_str_concat(ptr @.str17771, ptr %t3) store i32 0, ptr @lp_site store i32 9933, ptr @lp_site %t5 = call ptr @lp_str_concat(ptr %t4, ptr @.str17773) store i32 0, ptr @lp_site call void @lp_free(ptr %t4) %t6 = load ptr, ptr %t0 store i32 9934, ptr @lp_site %t7 = call ptr @lp_str_concat(ptr %t5, ptr %t6) store i32 0, ptr @lp_site call void @lp_free(ptr %t5) store i32 9935, ptr @lp_site %t8 = call ptr @lp_str_concat(ptr %t7, ptr @.str17774) store i32 0, ptr @lp_site call void @lp_free(ptr %t7) %t9 = load ptr, ptr %t2 store i32 9936, ptr @lp_site %t10 = call ptr @lp_str_concat(ptr %t8, ptr %t9) store i32 0, ptr @lp_site call void @lp_free(ptr %t8) store i32 9937, ptr @lp_site %t11 = call ptr @lp_str_concat(ptr %t10, ptr @.str17775) store i32 0, ptr @lp_site call void @lp_free(ptr %t10) %t12 = load ptr, ptr %t2 store i32 9938, ptr @lp_site %t13 = call ptr @lp_str_concat(ptr %t11, ptr %t12) store i32 0, ptr @lp_site call void @lp_free(ptr %t11) store i32 9939, ptr @lp_site %t14 = call ptr @lp_str_concat(ptr %t13, ptr @.str17776) store i32 0, ptr @lp_site call void @lp_free(ptr %t13) call void @fn_emit(ptr %t14) call void @fn_emit_site(ptr @.str17777) %t15 = load ptr, ptr %t2 store i32 9940, ptr @lp_site %t16 = call ptr @lp_str_concat(ptr @.str17778, ptr %t15) store i32 0, ptr @lp_site store i32 9941, ptr @lp_site %t17 = call ptr @lp_str_concat(ptr %t16, ptr @.str17779) store i32 0, ptr @lp_site call void @lp_free(ptr %t16) %t18 = load ptr, ptr %t1 store i32 9942, ptr @lp_site %t19 = call ptr @lp_str_concat(ptr %t17, ptr %t18) store i32 0, ptr @lp_site call void @lp_free(ptr %t17) store i32 9943, ptr @lp_site %t20 = call ptr @lp_str_concat(ptr %t19, ptr @.str17780) store i32 0, ptr @lp_site call void @lp_free(ptr %t19) %t21 = load ptr, ptr %t2 store i32 9944, ptr @lp_site %t22 = call ptr @lp_str_concat(ptr %t20, ptr %t21) store i32 0, ptr @lp_site call void @lp_free(ptr %t20) store i32 9945, ptr @lp_site %t23 = call ptr @lp_str_concat(ptr %t22, ptr @.str17781) store i32 0, ptr @lp_site call void @lp_free(ptr %t22) %t24 = load ptr, ptr %t2 store i32 9946, ptr @lp_site %t25 = call ptr @lp_str_concat(ptr %t23, ptr %t24) store i32 0, ptr @lp_site call void @lp_free(ptr %t23) store i32 9947, ptr @lp_site %t26 = call ptr @lp_str_concat(ptr %t25, ptr @.str17782) store i32 0, ptr @lp_site call void @lp_free(ptr %t25) %t27 = load ptr, ptr %t2 store i32 9948, ptr @lp_site %t28 = call ptr @lp_str_concat(ptr %t26, ptr %t27) store i32 0, ptr @lp_site call void @lp_free(ptr %t26) store i32 9949, ptr @lp_site %t29 = call ptr @lp_str_concat(ptr %t28, ptr @.str17783) store i32 0, ptr @lp_site call void @lp_free(ptr %t28) %t30 = load ptr, ptr %t2 store i32 9950, ptr @lp_site %t31 = call ptr @lp_str_concat(ptr %t29, ptr %t30) store i32 0, ptr @lp_site call void @lp_free(ptr %t29) store i32 9951, ptr @lp_site %t32 = call ptr @lp_str_concat(ptr %t31, ptr @.str17784) store i32 0, ptr @lp_site call void @lp_free(ptr %t31) %t33 = load ptr, ptr %t2 store i32 9952, ptr @lp_site %t34 = call ptr @lp_str_concat(ptr %t32, ptr %t33) store i32 0, ptr @lp_site call void @lp_free(ptr %t32) store i32 9953, ptr @lp_site %t35 = call ptr @lp_str_concat(ptr %t34, ptr @.str17785) store i32 0, ptr @lp_site call void @lp_free(ptr %t34) call void @fn_emit(ptr %t35) %t36 = load ptr, ptr %t2 store i32 9954, ptr @lp_site %t37 = call ptr @lp_str_concat(ptr @.str17786, ptr %t36) store i32 0, ptr @lp_site store i32 9955, ptr @lp_site %t38 = call ptr @lp_str_concat(ptr %t37, ptr @.str17787) store i32 0, ptr @lp_site call void @lp_free(ptr %t37) %t39 = load ptr, ptr %t1 store i32 9956, ptr @lp_site %t40 = call ptr @lp_str_concat(ptr %t38, ptr %t39) store i32 0, ptr @lp_site call void @lp_free(ptr %t38) store i32 9957, ptr @lp_site %t41 = call ptr @lp_str_concat(ptr %t40, ptr @.str17788) store i32 0, ptr @lp_site call void @lp_free(ptr %t40) %t42 = load ptr, ptr %t2 store i32 9958, ptr @lp_site %t43 = call ptr @lp_str_concat(ptr %t41, ptr %t42) store i32 0, ptr @lp_site call void @lp_free(ptr %t41) store i32 9959, ptr @lp_site %t44 = call ptr @lp_str_concat(ptr %t43, ptr @.str17789) store i32 0, ptr @lp_site call void @lp_free(ptr %t43) %t45 = load ptr, ptr %t2 store i32 9960, ptr @lp_site %t46 = call ptr @lp_str_concat(ptr %t44, ptr %t45) store i32 0, ptr @lp_site call void @lp_free(ptr %t44) store i32 9961, ptr @lp_site %t47 = call ptr @lp_str_concat(ptr %t46, ptr @.str17790) store i32 0, ptr @lp_site call void @lp_free(ptr %t46) %t48 = load ptr, ptr %t2 store i32 9962, ptr @lp_site %t49 = call ptr @lp_str_concat(ptr %t47, ptr %t48) store i32 0, ptr @lp_site call void @lp_free(ptr %t47) store i32 9963, ptr @lp_site %t50 = call ptr @lp_str_concat(ptr %t49, ptr @.str17791) store i32 0, ptr @lp_site call void @lp_free(ptr %t49) %t51 = load ptr, ptr %t2 store i32 9964, ptr @lp_site %t52 = call ptr @lp_str_concat(ptr %t50, ptr %t51) store i32 0, ptr @lp_site call void @lp_free(ptr %t50) store i32 9965, ptr @lp_site %t53 = call ptr @lp_str_concat(ptr %t52, ptr @.str17792) store i32 0, ptr @lp_site call void @lp_free(ptr %t52) %t54 = load ptr, ptr %t2 store i32 9966, ptr @lp_site %t55 = call ptr @lp_str_concat(ptr %t53, ptr %t54) store i32 0, ptr @lp_site call void @lp_free(ptr %t53) store i32 9967, ptr @lp_site %t56 = call ptr @lp_str_concat(ptr %t55, ptr @.str17793) store i32 0, ptr @lp_site call void @lp_free(ptr %t55) %t57 = load ptr, ptr %t2 store i32 9968, ptr @lp_site %t58 = call ptr @lp_str_concat(ptr %t56, ptr %t57) store i32 0, ptr @lp_site call void @lp_free(ptr %t56) store i32 9969, ptr @lp_site %t59 = call ptr @lp_str_concat(ptr %t58, ptr @.str17794) store i32 0, ptr @lp_site call void @lp_free(ptr %t58) call void @fn_emit(ptr %t59) %t60 = load ptr, ptr %t2 store i32 9970, ptr @lp_site %t61 = call ptr @lp_str_concat(ptr @.str17795, ptr %t60) store i32 0, ptr @lp_site store i32 9971, ptr @lp_site %t62 = call ptr @lp_str_concat(ptr %t61, ptr @.str17796) store i32 0, ptr @lp_site call void @lp_free(ptr %t61) %t63 = load ptr, ptr %t2 store i32 9972, ptr @lp_site %t64 = call ptr @lp_str_concat(ptr %t62, ptr %t63) store i32 0, ptr @lp_site call void @lp_free(ptr %t62) store i32 9973, ptr @lp_site %t65 = call ptr @lp_str_concat(ptr %t64, ptr @.str17797) store i32 0, ptr @lp_site call void @lp_free(ptr %t64) %t66 = load ptr, ptr %t2 store i32 9974, ptr @lp_site %t67 = call ptr @lp_str_concat(ptr %t65, ptr %t66) store i32 0, ptr @lp_site call void @lp_free(ptr %t65) store i32 9975, ptr @lp_site %t68 = call ptr @lp_str_concat(ptr %t67, ptr @.str17798) store i32 0, ptr @lp_site call void @lp_free(ptr %t67) %t69 = load ptr, ptr %t2 store i32 9976, ptr @lp_site %t70 = call ptr @lp_str_concat(ptr %t68, ptr %t69) store i32 0, ptr @lp_site call void @lp_free(ptr %t68) store i32 9977, ptr @lp_site %t71 = call ptr @lp_str_concat(ptr %t70, ptr @.str17799) store i32 0, ptr @lp_site call void @lp_free(ptr %t70) %t72 = load ptr, ptr %t2 store i32 9978, ptr @lp_site %t73 = call ptr @lp_str_concat(ptr %t71, ptr %t72) store i32 0, ptr @lp_site call void @lp_free(ptr %t71) store i32 9979, ptr @lp_site %t74 = call ptr @lp_str_concat(ptr %t73, ptr @.str17800) store i32 0, ptr @lp_site call void @lp_free(ptr %t73) call void @fn_emit(ptr %t74) 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 = load i32, ptr %t1 %t12 = getelementptr inbounds %LSlice, ptr %t10, i32 0, i32 0 %t13 = load ptr, ptr %t12 %t14 = getelementptr inbounds %LSlice, ptr %t10, i32 0, i32 1 %t15 = load i32, ptr %t14 %t16 = icmp ult i32 %t11, %t15 br i1 %t16, label %ixok3, label %ixbad4 ixbad4: store i32 9980, ptr @lp_site %t17 = call ptr @lp_win_stdio(i32 2) store i32 0, ptr @lp_site call i32 (ptr, ptr, ...) @fprintf(ptr %t17, ptr @.fmt_bounds, ptr @.str17801, i32 %t11, i32 %t15) call void @exit(i32 1) unreachable ixok3: %t18 = getelementptr inbounds ptr, ptr %t13, i32 %t11 %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, 10 %t23 = zext i1 %t22 to i32 %t24 = icmp ne i32 %t23, 0 br i1 %t24, label %then5, label %ifend7 then5: %t25 = load ptr, ptr @g_prog %t26 = load i32, ptr %t1 %t27 = getelementptr inbounds %LSlice, ptr %t25, i32 0, i32 0 %t28 = load ptr, ptr %t27 %t29 = getelementptr inbounds %LSlice, ptr %t25, i32 0, i32 1 %t30 = load i32, ptr %t29 %t31 = icmp ult i32 %t26, %t30 br i1 %t31, label %ixok8, label %ixbad9 ixbad9: store i32 9981, ptr @lp_site %t32 = call ptr @lp_win_stdio(i32 2) store i32 0, ptr @lp_site call i32 (ptr, ptr, ...) @fprintf(ptr %t32, ptr @.fmt_bounds, ptr @.str17803, i32 %t26, i32 %t30) call void @exit(i32 1) unreachable ixok8: %t33 = getelementptr inbounds ptr, ptr %t28, i32 %t26 %t34 = load ptr, ptr %t33 %t35 = getelementptr inbounds %Cmp_Node, ptr %t34, i32 0, i32 1 %t36 = load ptr, ptr %t35 %t37 = load ptr, ptr %t0 %t38 = call i32 @lp_str_eq(ptr %t36, ptr %t37) %t39 = icmp ne i32 %t38, 0 br i1 %t39, label %then10, label %ifend12 then10: %t40 = load i32, ptr %t2 store i32 %t40, ptr %retval br label %ret ifend12: %t41 = load i32, ptr %t2 %t42 = add i32 %t41, 1 store i32 %t42, ptr %t2 br label %ifend7 ifend7: %t43 = load i32, ptr %t1 %t44 = add i32 %t43, 1 store i32 %t44, ptr %t1 br label %wcond0 wend2: store i32 0, ptr %retval br label %ret ret: %t45 = load i32, ptr %retval ret i32 %t45 } define void @fn_emit_query(ptr %arg_st) { entry: %t0 = alloca ptr %t2 = alloca ptr %t4 = alloca ptr %t46 = alloca ptr %t48 = alloca ptr %t50 = alloca ptr %t52 = alloca ptr %t58 = alloca ptr %t60 = alloca ptr %t67 = alloca ptr %t75 = alloca ptr %t77 = alloca ptr %t79 = alloca ptr %t86 = alloca ptr %t91 = alloca ptr %t93 = alloca ptr %t101 = alloca ptr %t102 = alloca i32 %t124 = alloca ptr %t129 = alloca i32 %t130 = alloca ptr %t136 = alloca ptr %t138 = alloca ptr %t145 = alloca ptr %t153 = alloca ptr %t159 = alloca ptr %t164 = alloca ptr %t176 = alloca ptr %t178 = alloca ptr %t185 = alloca ptr %t191 = alloca ptr %t199 = alloca i32 %t200 = alloca i32 %t222 = alloca ptr %t223 = alloca i32 %t251 = alloca ptr %t257 = alloca ptr %t265 = alloca ptr %t300 = alloca ptr %t307 = alloca ptr %t309 = alloca ptr %t329 = alloca ptr %t334 = 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 @.str17804) store ptr %t3, ptr %t4 %t5 = load ptr, ptr %t4 call void @fn_store_at(ptr @.str17805, ptr @.str17806, 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 = load i32, ptr @g_nself %t15 = getelementptr inbounds %LSlice, ptr %t13, i32 0, i32 0 %t16 = load ptr, ptr %t15 %t17 = getelementptr inbounds %LSlice, ptr %t13, i32 0, i32 1 %t18 = load i32, ptr %t17 %t19 = icmp ult i32 %t14, %t18 br i1 %t19, label %ixok3, label %ixbad4 ixbad4: store i32 9982, ptr @lp_site %t20 = call ptr @lp_win_stdio(i32 2) store i32 0, ptr @lp_site call i32 (ptr, ptr, ...) @fprintf(ptr %t20, ptr @.fmt_bounds, ptr @.str17807, i32 %t14, i32 %t18) call void @exit(i32 1) unreachable ixok3: %t21 = getelementptr inbounds ptr, ptr %t16, i32 %t14 %t22 = load ptr, ptr %t4 store ptr %t22, ptr %t21 br label %ifend2 else1: %t23 = load ptr, ptr @g_self_stk %t24 = load ptr, ptr %t4 %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 %grow5, label %put6 grow5: %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 store i32 9983, ptr @lp_site %t39 = call ptr @lp_realloc(ptr %t38, i64 %t37) store i32 0, ptr @lp_site store ptr %t39, ptr %t27 store i32 %t33, ptr %t26 br label %put6 put6: %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 br label %ifend2 ifend2: %t43 = load i32, ptr @g_nself %t44 = add i32 %t43, 1 store i32 %t44, ptr @g_nself %t45 = call ptr @fn_lbl(ptr @.str17809) store ptr %t45, ptr %t46 %t47 = call ptr @fn_lbl(ptr @.str17810) store ptr %t47, ptr %t48 %t49 = call ptr @fn_lbl(ptr @.str17811) store ptr %t49, ptr %t50 %t51 = call ptr @fn_lbl(ptr @.str17812) store ptr %t51, ptr %t52 call void @fn_emit(ptr @.str17813) %t53 = load ptr, ptr %t46 call void @fn_emit(ptr %t53) call void @fn_emit(ptr @.str17814) %t54 = load ptr, ptr %t46 call void @fn_emit(ptr %t54) call void @fn_emit(ptr @.str17815) %t55 = load ptr, ptr %t4 store i32 9984, ptr @lp_site %t56 = call ptr @lp_str_concat(ptr @.str17816, ptr %t55) store i32 0, ptr @lp_site %t57 = call ptr @fn_emit_bind(ptr %t56) store ptr %t57, ptr %t58 %t59 = call ptr @fn_emit_bind(ptr @.str17817) store ptr %t59, ptr %t60 %t61 = load ptr, ptr %t58 store i32 9985, ptr @lp_site %t62 = call ptr @lp_str_concat(ptr @.str17818, ptr %t61) store i32 0, ptr @lp_site store i32 9986, ptr @lp_site %t63 = call ptr @lp_str_concat(ptr %t62, ptr @.str17819) store i32 0, ptr @lp_site call void @lp_free(ptr %t62) %t64 = load ptr, ptr %t60 store i32 9987, ptr @lp_site %t65 = call ptr @lp_str_concat(ptr %t63, ptr %t64) store i32 0, ptr @lp_site call void @lp_free(ptr %t63) %t66 = call ptr @fn_emit_bind(ptr %t65) store ptr %t66, ptr %t67 call void @fn_emit(ptr @.str17820) %t68 = load ptr, ptr %t67 call void @fn_emit(ptr %t68) call void @fn_emit(ptr @.str17821) %t69 = load ptr, ptr %t48 call void @fn_emit(ptr %t69) call void @fn_emit(ptr @.str17822) %t70 = load ptr, ptr %t52 call void @fn_emit(ptr %t70) call void @fn_emit(ptr @.str17823) %t71 = load ptr, ptr %t48 call void @fn_emit(ptr %t71) call void @fn_emit(ptr @.str17824) store i32 0, ptr @g_g_term %t72 = load ptr, ptr %t4 store i32 9988, ptr @lp_site %t73 = call ptr @lp_str_concat(ptr @.str17825, ptr %t72) store i32 0, ptr @lp_site %t74 = call ptr @fn_emit_bind(ptr %t73) store ptr %t74, ptr %t75 %t76 = call ptr @fn_ecs_base(ptr @.str17826) store ptr %t76, ptr %t77 %t78 = call ptr @fn_nreg() store ptr %t78, ptr %t79 call void @fn_emit(ptr @.str17827) %t80 = load ptr, ptr %t79 call void @fn_emit(ptr %t80) call void @fn_emit(ptr @.str17828) %t81 = load ptr, ptr %t77 call void @fn_emit(ptr %t81) call void @fn_emit(ptr @.str17829) %t82 = load ptr, ptr %t75 call void @fn_emit(ptr %t82) call void @fn_emit(ptr @.str17830) %t83 = load ptr, ptr %t79 store i32 9989, ptr @lp_site %t84 = call ptr @lp_str_concat(ptr @.str17831, ptr %t83) store i32 0, ptr @lp_site %t85 = call ptr @fn_emit_bind(ptr %t84) store ptr %t85, ptr %t86 %t87 = load ptr, ptr %t86 store i32 9990, ptr @lp_site %t88 = call ptr @lp_str_concat(ptr @.str17832, ptr %t87) store i32 0, ptr @lp_site store i32 9991, ptr @lp_site %t89 = call ptr @lp_str_concat(ptr %t88, ptr @.str17833) store i32 0, ptr @lp_site call void @lp_free(ptr %t88) %t90 = call ptr @fn_emit_bind(ptr %t89) store ptr %t90, ptr %t91 %t92 = call ptr @fn_lbl(ptr @.str17834) store ptr %t92, ptr %t93 call void @fn_emit(ptr @.str17835) %t94 = load ptr, ptr %t91 call void @fn_emit(ptr %t94) call void @fn_emit(ptr @.str17836) %t95 = load ptr, ptr %t93 call void @fn_emit(ptr %t95) call void @fn_emit(ptr @.str17837) %t96 = load ptr, ptr %t50 call void @fn_emit(ptr %t96) call void @fn_emit(ptr @.str17838) %t97 = load ptr, ptr %t93 call void @fn_emit(ptr %t97) call void @fn_emit(ptr @.str17839) %t98 = load ptr, ptr %t0 %t99 = getelementptr inbounds %Cmp_Node, ptr %t98, i32 0, i32 6 %t100 = load ptr, ptr %t99 store ptr %t100, ptr %t101 store i32 0, ptr %t102 br label %wcond7 wcond7: %t103 = load i32, ptr %t102 %t104 = load ptr, ptr %t101 %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 1 %t108 = load i32, ptr %t107 %t109 = icmp slt i32 %t103, %t108 %t110 = zext i1 %t109 to i32 %t111 = icmp ne i32 %t110, 0 br i1 %t111, label %wbody8, label %wend9 wbody8: %t112 = load ptr, ptr %t101 %t113 = getelementptr inbounds %Cmp_Node, ptr %t112, i32 0, i32 7 %t114 = load ptr, ptr %t113 %t115 = load i32, ptr %t102 %t116 = getelementptr inbounds %LSlice, ptr %t114, i32 0, i32 0 %t117 = load ptr, ptr %t116 %t118 = getelementptr inbounds %LSlice, ptr %t114, i32 0, i32 1 %t119 = load i32, ptr %t118 %t120 = icmp ult i32 %t115, %t119 br i1 %t120, label %ixok10, label %ixbad11 ixbad11: store i32 9992, ptr @lp_site %t121 = call ptr @lp_win_stdio(i32 2) store i32 0, ptr @lp_site call i32 (ptr, ptr, ...) @fprintf(ptr %t121, ptr @.fmt_bounds, ptr @.str17840, i32 %t115, i32 %t119) call void @exit(i32 1) unreachable ixok10: %t122 = getelementptr inbounds ptr, ptr %t117, i32 %t115 %t123 = load ptr, ptr %t122 store ptr %t123, ptr %t124 %t125 = load ptr, ptr %t124 %t126 = getelementptr inbounds %Cmp_Node, ptr %t125, i32 0, i32 1 %t127 = load ptr, ptr %t126 %t128 = call i32 @fn_find_arch_id(ptr %t127) store i32 %t128, ptr %t129 store ptr @.str17841, ptr %t130 %t131 = load i32, ptr %t129 %t132 = icmp sgt i32 %t131, 0 %t133 = zext i1 %t132 to i32 %t134 = icmp ne i32 %t133, 0 br i1 %t134, label %then12, label %else13 then12: %t135 = call ptr @fn_ecs_base(ptr @.str17842) store ptr %t135, ptr %t136 %t137 = call ptr @fn_nreg() store ptr %t137, ptr %t138 call void @fn_emit(ptr @.str17843) %t139 = load ptr, ptr %t138 call void @fn_emit(ptr %t139) call void @fn_emit(ptr @.str17844) %t140 = load ptr, ptr %t136 call void @fn_emit(ptr %t140) call void @fn_emit(ptr @.str17845) %t141 = load ptr, ptr %t75 call void @fn_emit(ptr %t141) call void @fn_emit(ptr @.str17846) %t142 = load ptr, ptr %t138 store i32 9993, ptr @lp_site %t143 = call ptr @lp_str_concat(ptr @.str17847, ptr %t142) store i32 0, ptr @lp_site %t144 = call ptr @fn_emit_bind(ptr %t143) store ptr %t144, ptr %t145 %t146 = load ptr, ptr %t145 store i32 9994, ptr @lp_site %t147 = call ptr @lp_str_concat(ptr @.str17848, ptr %t146) store i32 0, ptr @lp_site store i32 9995, ptr @lp_site %t148 = call ptr @lp_str_concat(ptr %t147, ptr @.str17849) store i32 0, ptr @lp_site call void @lp_free(ptr %t147) %t149 = load i32, ptr %t129 %t150 = call ptr @fn_itoa(i32 %t149) store i32 9996, ptr @lp_site %t151 = call ptr @lp_str_concat(ptr %t148, ptr %t150) store i32 0, ptr @lp_site call void @lp_free(ptr %t148) %t152 = call ptr @fn_emit_bind(ptr %t151) store ptr %t152, ptr %t153 %t154 = load ptr, ptr %t124 %t155 = getelementptr inbounds %Cmp_Node, ptr %t154, i32 0, i32 1 %t156 = load ptr, ptr %t155 store i32 9997, ptr @lp_site %t157 = call ptr @lp_str_concat(ptr @.str17850, ptr %t156) store i32 0, ptr @lp_site %t158 = call ptr @fn_emit_bind(ptr %t157) store ptr %t158, ptr %t159 %t160 = load ptr, ptr %t159 store i32 9998, ptr @lp_site %t161 = call ptr @lp_str_concat(ptr @.str17851, ptr %t160) store i32 0, ptr @lp_site store i32 9999, ptr @lp_site %t162 = call ptr @lp_str_concat(ptr %t161, ptr @.str17852) store i32 0, ptr @lp_site call void @lp_free(ptr %t161) %t163 = call ptr @fn_emit_bind(ptr %t162) store ptr %t163, ptr %t164 %t165 = load ptr, ptr %t153 store i32 10000, ptr @lp_site %t166 = call ptr @lp_str_concat(ptr @.str17853, ptr %t165) store i32 0, ptr @lp_site store i32 10001, ptr @lp_site %t167 = call ptr @lp_str_concat(ptr %t166, ptr @.str17854) store i32 0, ptr @lp_site call void @lp_free(ptr %t166) %t168 = load ptr, ptr %t164 store i32 10002, ptr @lp_site %t169 = call ptr @lp_str_concat(ptr %t167, ptr %t168) store i32 0, ptr @lp_site call void @lp_free(ptr %t167) %t170 = call ptr @fn_emit_bind(ptr %t169) store ptr %t170, ptr %t130 br label %ifend14 else13: %t171 = load ptr, ptr %t124 %t172 = getelementptr inbounds %Cmp_Node, ptr %t171, i32 0, i32 1 %t173 = load ptr, ptr %t172 store i32 10003, ptr @lp_site %t174 = call ptr @lp_str_concat(ptr @.str17855, ptr %t173) store i32 0, ptr @lp_site %t175 = call ptr @fn_ecs_base(ptr %t174) store ptr %t175, ptr %t176 %t177 = call ptr @fn_nreg() store ptr %t177, ptr %t178 call void @fn_emit(ptr @.str17856) %t179 = load ptr, ptr %t178 call void @fn_emit(ptr %t179) call void @fn_emit(ptr @.str17857) %t180 = load ptr, ptr %t176 call void @fn_emit(ptr %t180) call void @fn_emit(ptr @.str17858) %t181 = load ptr, ptr %t75 call void @fn_emit(ptr %t181) call void @fn_emit(ptr @.str17859) %t182 = load ptr, ptr %t178 store i32 10004, ptr @lp_site %t183 = call ptr @lp_str_concat(ptr @.str17860, ptr %t182) store i32 0, ptr @lp_site %t184 = call ptr @fn_emit_bind(ptr %t183) store ptr %t184, ptr %t185 %t186 = load ptr, ptr %t185 store i32 10005, ptr @lp_site %t187 = call ptr @lp_str_concat(ptr @.str17861, ptr %t186) store i32 0, ptr @lp_site store i32 10006, ptr @lp_site %t188 = call ptr @lp_str_concat(ptr %t187, ptr @.str17862) store i32 0, ptr @lp_site call void @lp_free(ptr %t187) %t189 = call ptr @fn_emit_bind(ptr %t188) store ptr %t189, ptr %t130 br label %ifend14 ifend14: %t190 = call ptr @fn_lbl(ptr @.str17863) store ptr %t190, ptr %t191 call void @fn_emit(ptr @.str17864) %t192 = load ptr, ptr %t130 call void @fn_emit(ptr %t192) call void @fn_emit(ptr @.str17865) %t193 = load ptr, ptr %t191 call void @fn_emit(ptr %t193) call void @fn_emit(ptr @.str17866) %t194 = load ptr, ptr %t50 call void @fn_emit(ptr %t194) call void @fn_emit(ptr @.str17867) %t195 = load ptr, ptr %t191 call void @fn_emit(ptr %t195) call void @fn_emit(ptr @.str17868) %t196 = load i32, ptr %t102 %t197 = add i32 %t196, 1 store i32 %t197, ptr %t102 br label %wcond7 wend9: %t198 = load i32, ptr @g_nloc store i32 %t198, ptr %t199 store i32 0, ptr %t200 store i32 0, ptr %t102 br label %wcond15 wcond15: %t201 = load i32, ptr %t102 %t202 = load ptr, ptr %t101 %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 1 %t206 = load i32, ptr %t205 %t207 = icmp slt i32 %t201, %t206 %t208 = zext i1 %t207 to i32 %t209 = icmp ne i32 %t208, 0 br i1 %t209, label %wbody16, label %wend17 wbody16: %t210 = load ptr, ptr %t101 %t211 = getelementptr inbounds %Cmp_Node, ptr %t210, i32 0, i32 7 %t212 = load ptr, ptr %t211 %t213 = load i32, ptr %t102 %t214 = getelementptr inbounds %LSlice, ptr %t212, i32 0, i32 0 %t215 = load ptr, ptr %t214 %t216 = getelementptr inbounds %LSlice, ptr %t212, i32 0, i32 1 %t217 = load i32, ptr %t216 %t218 = icmp ult i32 %t213, %t217 br i1 %t218, label %ixok18, label %ixbad19 ixbad19: store i32 10007, ptr @lp_site %t219 = call ptr @lp_win_stdio(i32 2) store i32 0, ptr @lp_site call i32 (ptr, ptr, ...) @fprintf(ptr %t219, ptr @.fmt_bounds, ptr @.str17869, i32 %t213, i32 %t217) call void @exit(i32 1) unreachable ixok18: %t220 = getelementptr inbounds ptr, ptr %t215, i32 %t213 %t221 = load ptr, ptr %t220 store ptr %t221, ptr %t222 %t224 = load ptr, ptr %t222 %t225 = getelementptr inbounds %Cmp_Node, ptr %t224, i32 0, i32 2 %t226 = load i32, ptr %t225 %t227 = icmp eq i32 %t226, 0 %t228 = zext i1 %t227 to i32 %t229 = icmp ne i32 %t228, 0 %t230 = zext i1 %t229 to i32 store i32 %t230, ptr %t223 br i1 %t229, label %sc20, label %scend21 sc20: %t231 = load ptr, ptr %t222 %t232 = getelementptr inbounds %Cmp_Node, ptr %t231, i32 0, i32 1 %t233 = load ptr, ptr %t232 %t234 = call i32 @fn_find_arch_id(ptr %t233) %t235 = icmp eq i32 %t234, 0 %t236 = zext i1 %t235 to i32 %t237 = icmp ne i32 %t236, 0 %t238 = zext i1 %t237 to i32 store i32 %t238, ptr %t223 br label %scend21 scend21: %t239 = load i32, ptr %t223 %t240 = icmp ne i32 %t239, 0 br i1 %t240, label %then22, label %ifend24 then22: %t241 = load i32, ptr %t200 %t242 = load ptr, ptr %t0 %t243 = getelementptr inbounds %Cmp_Node, ptr %t242, i32 0, i32 7 %t244 = load ptr, ptr %t243 %t245 = getelementptr inbounds %LSlice, ptr %t244, i32 0, i32 1 %t246 = load i32, ptr %t245 %t247 = icmp slt i32 %t241, %t246 %t248 = zext i1 %t247 to i32 %t249 = icmp ne i32 %t248, 0 br i1 %t249, label %then25, label %ifend27 then25: %t250 = call ptr @fn_nreg() store ptr %t250, ptr %t251 %t252 = load ptr, ptr %t222 %t253 = getelementptr inbounds %Cmp_Node, ptr %t252, i32 0, i32 1 %t254 = load ptr, ptr %t253 store i32 10008, ptr @lp_site %t255 = call ptr @lp_str_concat(ptr @.str17870, ptr %t254) store i32 0, ptr @lp_site %t256 = call ptr @fn_ecs_base(ptr %t255) store ptr %t256, ptr %t257 call void @fn_emit(ptr @.str17871) %t258 = load ptr, ptr %t251 call void @fn_emit(ptr %t258) call void @fn_emit(ptr @.str17872) %t259 = load ptr, ptr %t222 %t260 = getelementptr inbounds %Cmp_Node, ptr %t259, i32 0, i32 1 %t261 = load ptr, ptr %t260 call void @fn_emit(ptr %t261) call void @fn_emit(ptr @.str17873) %t262 = load ptr, ptr %t257 call void @fn_emit(ptr %t262) call void @fn_emit(ptr @.str17874) %t263 = load ptr, ptr %t75 call void @fn_emit(ptr %t263) call void @fn_emit(ptr @.str17875) %t264 = call ptr @fn_emit_alloca(ptr @.str17876) store ptr %t264, ptr %t265 call void @fn_emit(ptr @.str17877) %t266 = load ptr, ptr %t251 call void @fn_emit(ptr %t266) call void @fn_emit(ptr @.str17878) %t267 = load ptr, ptr %t265 call void @fn_emit(ptr %t267) call void @fn_emit(ptr @.str17879) %t268 = load ptr, ptr %t0 %t269 = getelementptr inbounds %Cmp_Node, ptr %t268, i32 0, i32 7 %t270 = load ptr, ptr %t269 %t271 = load i32, ptr %t200 %t272 = getelementptr inbounds %LSlice, ptr %t270, i32 0, i32 0 %t273 = load ptr, ptr %t272 %t274 = getelementptr inbounds %LSlice, ptr %t270, i32 0, i32 1 %t275 = load i32, ptr %t274 %t276 = icmp ult i32 %t271, %t275 br i1 %t276, label %ixok28, label %ixbad29 ixbad29: store i32 10009, ptr @lp_site %t277 = call ptr @lp_win_stdio(i32 2) store i32 0, ptr @lp_site call i32 (ptr, ptr, ...) @fprintf(ptr %t277, ptr @.fmt_bounds, ptr @.str17880, i32 %t271, i32 %t275) call void @exit(i32 1) unreachable ixok28: %t278 = getelementptr inbounds ptr, ptr %t273, i32 %t271 %t279 = load ptr, ptr %t278 %t280 = getelementptr inbounds %Cmp_Node, ptr %t279, i32 0, i32 1 %t281 = load ptr, ptr %t280 %t282 = load ptr, ptr %t265 %t283 = load ptr, ptr %t222 %t284 = getelementptr inbounds %Cmp_Node, ptr %t283, i32 0, i32 1 %t285 = load ptr, ptr %t284 call void @fn_loc_push(ptr %t281, ptr %t282, ptr %t285) %t286 = load i32, ptr %t200 %t287 = add i32 %t286, 1 store i32 %t287, ptr %t200 br label %ifend27 ifend27: br label %ifend24 ifend24: %t288 = load i32, ptr %t102 %t289 = add i32 %t288, 1 store i32 %t289, ptr %t102 br label %wcond15 wend17: %t290 = load ptr, ptr %t0 %t291 = getelementptr inbounds %Cmp_Node, ptr %t290, i32 0, i32 5 %t292 = load ptr, ptr %t291 %t293 = icmp ne ptr %t292, null %t294 = zext i1 %t293 to i32 %t295 = icmp ne i32 %t294, 0 br i1 %t295, label %then30, label %ifend32 then30: %t296 = load ptr, ptr %t0 %t297 = getelementptr inbounds %Cmp_Node, ptr %t296, i32 0, i32 5 %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 store i32 10010, ptr @lp_site %t304 = call ptr @lp_str_concat(ptr @.str17881, ptr %t303) store i32 0, ptr @lp_site store i32 10011, ptr @lp_site %t305 = call ptr @lp_str_concat(ptr %t304, ptr @.str17882) store i32 0, ptr @lp_site call void @lp_free(ptr %t304) %t306 = call ptr @fn_emit_bind(ptr %t305) store ptr %t306, ptr %t307 %t308 = call ptr @fn_lbl(ptr @.str17883) store ptr %t308, ptr %t309 call void @fn_emit(ptr @.str17884) %t310 = load ptr, ptr %t307 call void @fn_emit(ptr %t310) call void @fn_emit(ptr @.str17885) %t311 = load ptr, ptr %t309 call void @fn_emit(ptr %t311) call void @fn_emit(ptr @.str17886) %t312 = load ptr, ptr %t50 call void @fn_emit(ptr %t312) call void @fn_emit(ptr @.str17887) %t313 = load ptr, ptr %t309 call void @fn_emit(ptr %t313) call void @fn_emit(ptr @.str17888) br label %ifend32 ifend32: %t314 = load ptr, ptr %t50 %t315 = load ptr, ptr %t52 call void @fn_loop_push(ptr %t314, ptr %t315) %t316 = load ptr, ptr %t0 %t317 = getelementptr inbounds %Cmp_Node, ptr %t316, i32 0, i32 4 %t318 = load ptr, ptr %t317 call void @fn_emit_block(ptr %t318) call void @fn_loop_pop() %t319 = load i32, ptr %t199 store i32 %t319, ptr @g_nloc %t320 = load i32, ptr @g_g_term %t321 = icmp eq i32 %t320, 0 %t322 = zext i1 %t321 to i32 %t323 = icmp ne i32 %t322, 0 br i1 %t323, label %then33, label %ifend35 then33: call void @fn_emit(ptr @.str17889) %t324 = load ptr, ptr %t50 call void @fn_emit(ptr %t324) call void @fn_emit(ptr @.str17890) br label %ifend35 ifend35: %t325 = load ptr, ptr %t50 call void @fn_emit(ptr %t325) call void @fn_emit(ptr @.str17891) %t326 = load ptr, ptr %t4 store i32 10012, ptr @lp_site %t327 = call ptr @lp_str_concat(ptr @.str17892, ptr %t326) store i32 0, ptr @lp_site %t328 = call ptr @fn_emit_bind(ptr %t327) store ptr %t328, ptr %t329 %t330 = load ptr, ptr %t329 store i32 10013, ptr @lp_site %t331 = call ptr @lp_str_concat(ptr @.str17893, ptr %t330) store i32 0, ptr @lp_site store i32 10014, ptr @lp_site %t332 = call ptr @lp_str_concat(ptr %t331, ptr @.str17894) store i32 0, ptr @lp_site call void @lp_free(ptr %t331) %t333 = call ptr @fn_emit_bind(ptr %t332) store ptr %t333, ptr %t334 %t335 = load ptr, ptr %t334 %t336 = load ptr, ptr %t4 call void @fn_store_at(ptr @.str17895, ptr %t335, ptr %t336) call void @fn_emit(ptr @.str17896) %t337 = load ptr, ptr %t46 call void @fn_emit(ptr %t337) call void @fn_emit(ptr @.str17897) %t338 = load ptr, ptr %t52 call void @fn_emit(ptr %t338) call void @fn_emit(ptr @.str17898) store i32 0, ptr @g_g_term %t339 = load i32, ptr @g_nself %t340 = sub i32 %t339, 1 store i32 %t340, 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 @.str17899) store ptr %t2, ptr %t3 call void @fn_emit(ptr @.str17900) %t4 = load ptr, ptr %t0 call void @fn_emit(ptr %t4) call void @fn_emit(ptr @.str17901) %t5 = load ptr, ptr %t3 call void @fn_emit(ptr %t5) call void @fn_emit(ptr @.str17902) %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 = load i32, ptr @g_nself %t15 = getelementptr inbounds %LSlice, ptr %t13, i32 0, i32 0 %t16 = load ptr, ptr %t15 %t17 = getelementptr inbounds %LSlice, ptr %t13, i32 0, i32 1 %t18 = load i32, ptr %t17 %t19 = icmp ult i32 %t14, %t18 br i1 %t19, label %ixok3, label %ixbad4 ixbad4: store i32 10015, ptr @lp_site %t20 = call ptr @lp_win_stdio(i32 2) store i32 0, ptr @lp_site call i32 (ptr, ptr, ...) @fprintf(ptr %t20, ptr @.fmt_bounds, ptr @.str17903, i32 %t14, i32 %t18) call void @exit(i32 1) unreachable ixok3: %t21 = getelementptr inbounds ptr, ptr %t16, i32 %t14 %t22 = load ptr, ptr %t3 store ptr %t22, ptr %t21 br label %ifend2 else1: %t23 = load ptr, ptr @g_self_stk %t24 = load ptr, ptr %t3 %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 %grow5, label %put6 grow5: %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 store i32 10016, ptr @lp_site %t39 = call ptr @lp_realloc(ptr %t38, i64 %t37) store i32 0, ptr @lp_site store ptr %t39, ptr %t27 store i32 %t33, ptr %t26 br label %put6 put6: %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 br label %ifend2 ifend2: %t43 = load i32, ptr @g_nself %t44 = add i32 %t43, 1 store i32 %t44, ptr @g_nself %t45 = load ptr, ptr %t1 call void @fn_emit_block(ptr %t45) %t46 = load i32, ptr @g_nself %t47 = sub i32 %t46, 1 store i32 %t47, 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 %t17 = alloca ptr %t19 = alloca ptr %t25 = alloca ptr %t29 = alloca ptr %t34 = alloca i32 %t56 = alloca ptr %t58 = alloca ptr %t68 = alloca ptr %t71 = alloca ptr %t82 = alloca ptr %t97 = alloca i32 %t119 = alloca ptr %t125 = alloca i32 %t131 = alloca ptr %t141 = alloca ptr %t147 = alloca ptr %t151 = alloca ptr %t160 = alloca ptr %t166 = alloca i32 %t168 = alloca ptr %t180 = 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 store i32 10017, ptr @lp_site %t13 = call ptr @lp_str_concat(ptr @.str17905, ptr %t12) store i32 0, ptr @lp_site call void @fn_perr(ptr %t13) br label %ifend2 ifend2: %t14 = load ptr, ptr %t1 store i32 10018, ptr @lp_site %t15 = call ptr @lp_str_concat(ptr @.str17907, ptr %t14) store i32 0, ptr @lp_site %t16 = call ptr @fn_ecs_base(ptr %t15) store ptr %t16, ptr %t17 %t18 = call ptr @fn_nreg() store ptr %t18, ptr %t19 call void @fn_emit(ptr @.str17908) %t20 = load ptr, ptr %t19 call void @fn_emit(ptr %t20) call void @fn_emit(ptr @.str17909) %t21 = load ptr, ptr %t17 call void @fn_emit(ptr %t21) call void @fn_emit(ptr @.str17910) %t22 = load ptr, ptr %t0 call void @fn_emit(ptr %t22) call void @fn_emit(ptr @.str17911) call void @fn_emit(ptr @.str17912) %t23 = load ptr, ptr %t19 call void @fn_emit(ptr %t23) call void @fn_emit(ptr @.str17913) %t24 = call ptr @fn_nreg() store ptr %t24, ptr %t25 %t26 = load ptr, ptr %t1 store i32 10019, ptr @lp_site %t27 = call ptr @lp_str_concat(ptr @.str17914, ptr %t26) store i32 0, ptr @lp_site %t28 = call ptr @fn_ecs_base(ptr %t27) store ptr %t28, ptr %t29 call void @fn_emit(ptr @.str17915) %t30 = load ptr, ptr %t25 call void @fn_emit(ptr %t30) call void @fn_emit(ptr @.str17916) %t31 = load ptr, ptr %t1 call void @fn_emit(ptr %t31) call void @fn_emit(ptr @.str17917) %t32 = load ptr, ptr %t29 call void @fn_emit(ptr %t32) call void @fn_emit(ptr @.str17918) %t33 = load ptr, ptr %t0 call void @fn_emit(ptr %t33) call void @fn_emit(ptr @.str17919) store i32 0, ptr %t34 br label %wcond3 wcond3: %t35 = load i32, ptr %t34 %t36 = load ptr, ptr %t7 %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 %wbody4, label %wend5 wbody4: %t44 = load ptr, ptr %t7 %t45 = getelementptr inbounds %Cmp_Node, ptr %t44, i32 0, i32 7 %t46 = load ptr, ptr %t45 %t47 = load i32, ptr %t34 %t48 = getelementptr inbounds %LSlice, ptr %t46, i32 0, i32 0 %t49 = load ptr, ptr %t48 %t50 = getelementptr inbounds %LSlice, ptr %t46, i32 0, i32 1 %t51 = load i32, ptr %t50 %t52 = icmp ult i32 %t47, %t51 br i1 %t52, label %ixok6, label %ixbad7 ixbad7: store i32 10020, ptr @lp_site %t53 = call ptr @lp_win_stdio(i32 2) store i32 0, ptr @lp_site call i32 (ptr, ptr, ...) @fprintf(ptr %t53, ptr @.fmt_bounds, ptr @.str17920, i32 %t47, i32 %t51) call void @exit(i32 1) unreachable ixok6: %t54 = getelementptr inbounds ptr, ptr %t49, i32 %t47 %t55 = load ptr, ptr %t54 store ptr %t55, ptr %t56 %t57 = call ptr @fn_nreg() store ptr %t57, ptr %t58 call void @fn_emit(ptr @.str17921) %t59 = load ptr, ptr %t58 call void @fn_emit(ptr %t59) call void @fn_emit(ptr @.str17922) %t60 = load ptr, ptr %t1 call void @fn_emit(ptr %t60) call void @fn_emit(ptr @.str17923) %t61 = load ptr, ptr %t25 call void @fn_emit(ptr %t61) call void @fn_emit(ptr @.str17924) %t62 = load i32, ptr %t34 %t63 = call ptr @fn_itoa(i32 %t62) call void @fn_emit(ptr %t63) call void @fn_emit(ptr @.str17925) %t64 = load ptr, ptr %t56 %t65 = getelementptr inbounds %Cmp_Node, ptr %t64, i32 0, i32 3 %t66 = load ptr, ptr %t65 %t67 = call ptr @fn_llty(ptr %t66) store ptr %t67, ptr %t68 %t69 = load ptr, ptr %t68 %t70 = call ptr @fn_zero_of(ptr %t69) store ptr %t70, ptr %t71 %t72 = load ptr, ptr %t56 %t73 = getelementptr inbounds %Cmp_Node, ptr %t72, i32 0, i32 4 %t74 = load ptr, ptr %t73 %t75 = icmp ne ptr %t74, null %t76 = zext i1 %t75 to i32 %t77 = icmp ne i32 %t76, 0 br i1 %t77, label %then8, label %ifend10 then8: %t78 = load ptr, ptr %t56 %t79 = getelementptr inbounds %Cmp_Node, ptr %t78, i32 0, i32 4 %t80 = load ptr, ptr %t79 %t81 = call ptr @fn_emit_expr(ptr %t80) store ptr %t81, ptr %t82 %t83 = load ptr, ptr %t82 %t84 = load ptr, ptr %t56 %t85 = getelementptr inbounds %Cmp_Node, ptr %t84, i32 0, i32 3 %t86 = load ptr, ptr %t85 %t87 = call ptr @fn_coerce_code(ptr %t83, ptr %t86) store ptr %t87, ptr %t71 br label %ifend10 ifend10: call void @fn_emit(ptr @.str17926) %t88 = load ptr, ptr %t68 call void @fn_emit(ptr %t88) call void @fn_emit(ptr @.str17927) %t89 = load ptr, ptr %t71 call void @fn_emit(ptr %t89) call void @fn_emit(ptr @.str17928) %t90 = load ptr, ptr %t58 call void @fn_emit(ptr %t90) call void @fn_emit(ptr @.str17929) %t91 = load i32, ptr %t34 %t92 = add i32 %t91, 1 store i32 %t92, ptr %t34 br label %wcond3 wend5: %t93 = load ptr, ptr %t2 %t94 = icmp ne ptr %t93, null %t95 = zext i1 %t94 to i32 %t96 = icmp ne i32 %t95, 0 br i1 %t96, label %then11, label %ifend13 then11: store i32 0, ptr %t97 br label %wcond14 wcond14: %t98 = load i32, ptr %t97 %t99 = load ptr, ptr %t2 %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 slt i32 %t98, %t103 %t105 = zext i1 %t104 to i32 %t106 = icmp ne i32 %t105, 0 br i1 %t106, label %wbody15, label %wend16 wbody15: %t107 = load ptr, ptr %t2 %t108 = getelementptr inbounds %Cmp_Node, ptr %t107, i32 0, i32 7 %t109 = load ptr, ptr %t108 %t110 = load i32, ptr %t97 %t111 = getelementptr inbounds %LSlice, ptr %t109, i32 0, i32 0 %t112 = load ptr, ptr %t111 %t113 = getelementptr inbounds %LSlice, ptr %t109, i32 0, i32 1 %t114 = load i32, ptr %t113 %t115 = icmp ult i32 %t110, %t114 br i1 %t115, label %ixok17, label %ixbad18 ixbad18: store i32 10021, ptr @lp_site %t116 = call ptr @lp_win_stdio(i32 2) store i32 0, ptr @lp_site call i32 (ptr, ptr, ...) @fprintf(ptr %t116, ptr @.fmt_bounds, ptr @.str17930, i32 %t110, i32 %t114) call void @exit(i32 1) unreachable ixok17: %t117 = getelementptr inbounds ptr, ptr %t112, i32 %t110 %t118 = load ptr, ptr %t117 store ptr %t118, ptr %t119 %t120 = load ptr, ptr %t7 %t121 = load ptr, ptr %t119 %t122 = getelementptr inbounds %Cmp_Node, ptr %t121, i32 0, i32 1 %t123 = load ptr, ptr %t122 %t124 = call i32 @fn_field_index(ptr %t120, ptr %t123) store i32 %t124, ptr %t125 %t126 = load i32, ptr %t125 %t127 = icmp sge i32 %t126, 0 %t128 = zext i1 %t127 to i32 %t129 = icmp ne i32 %t128, 0 br i1 %t129, label %then19, label %ifend21 then19: %t130 = call ptr @fn_nreg() store ptr %t130, ptr %t131 call void @fn_emit(ptr @.str17931) %t132 = load ptr, ptr %t131 call void @fn_emit(ptr %t132) call void @fn_emit(ptr @.str17932) %t133 = load ptr, ptr %t1 call void @fn_emit(ptr %t133) call void @fn_emit(ptr @.str17933) %t134 = load ptr, ptr %t25 call void @fn_emit(ptr %t134) call void @fn_emit(ptr @.str17934) %t135 = load i32, ptr %t125 %t136 = call ptr @fn_itoa(i32 %t135) call void @fn_emit(ptr %t136) call void @fn_emit(ptr @.str17935) %t137 = load ptr, ptr %t119 %t138 = getelementptr inbounds %Cmp_Node, ptr %t137, i32 0, i32 4 %t139 = load ptr, ptr %t138 %t140 = call ptr @fn_emit_expr(ptr %t139) store ptr %t140, ptr %t141 %t142 = load ptr, ptr %t7 %t143 = load ptr, ptr %t119 %t144 = getelementptr inbounds %Cmp_Node, ptr %t143, i32 0, i32 1 %t145 = load ptr, ptr %t144 %t146 = call ptr @fn_field_type(ptr %t142, ptr %t145) store ptr %t146, ptr %t147 %t148 = load ptr, ptr %t141 %t149 = load ptr, ptr %t147 %t150 = call ptr @fn_coerce_code(ptr %t148, ptr %t149) store ptr %t150, ptr %t151 call void @fn_emit(ptr @.str17936) %t152 = load ptr, ptr %t147 %t153 = call ptr @fn_llty(ptr %t152) call void @fn_emit(ptr %t153) call void @fn_emit(ptr @.str17937) %t154 = load ptr, ptr %t151 call void @fn_emit(ptr %t154) call void @fn_emit(ptr @.str17938) %t155 = load ptr, ptr %t131 call void @fn_emit(ptr %t155) call void @fn_emit(ptr @.str17939) br label %ifend21 ifend21: %t156 = load i32, ptr %t97 %t157 = add i32 %t156, 1 store i32 %t157, ptr %t97 br label %wcond14 wend16: br label %ifend13 ifend13: %t158 = load ptr, ptr %t1 %t159 = call ptr @fn_onattach_body(ptr %t158) store ptr %t159, ptr %t160 %t161 = load ptr, ptr %t160 %t162 = icmp ne ptr %t161, null %t163 = zext i1 %t162 to i32 %t164 = icmp ne i32 %t163, 0 br i1 %t164, label %then22, label %ifend24 then22: %t165 = load i32, ptr @g_nloc store i32 %t165, ptr %t166 %t167 = call ptr @fn_emit_alloca(ptr @.str17940) store ptr %t167, ptr %t168 call void @fn_emit(ptr @.str17941) %t169 = load ptr, ptr %t25 call void @fn_emit(ptr %t169) call void @fn_emit(ptr @.str17942) %t170 = load ptr, ptr %t168 call void @fn_emit(ptr %t170) call void @fn_emit(ptr @.str17943) %t171 = load ptr, ptr %t1 %t172 = load ptr, ptr %t168 %t173 = load ptr, ptr %t1 call void @fn_loc_push(ptr %t171, ptr %t172, ptr %t173) %t174 = load ptr, ptr %t0 %t175 = load ptr, ptr %t160 call void @fn_emit_hook_with_self(ptr %t174, ptr %t175) %t176 = load i32, ptr %t166 store i32 %t176, ptr @g_nloc br label %ifend24 ifend24: %t177 = load ptr, ptr %t1 store i32 10022, ptr @lp_site %t178 = call ptr @lp_str_concat(ptr @.str17944, ptr %t177) store i32 0, ptr @lp_site store i32 10023, ptr @lp_site %t179 = call ptr @lp_str_concat(ptr %t178, ptr @.str17945) store i32 0, ptr @lp_site call void @lp_free(ptr %t178) store ptr %t179, ptr %t180 %t181 = load ptr, ptr %t180 %t182 = call ptr @fn_find_event(ptr %t181) %t183 = icmp ne ptr %t182, null %t184 = zext i1 %t183 to i32 %t185 = icmp ne i32 %t184, 0 br i1 %t185, label %then25, label %ifend27 then25: call void @fn_emit(ptr @.str17946) %t186 = load ptr, ptr %t180 call void @fn_emit(ptr %t186) call void @fn_emit(ptr @.str17947) %t187 = load ptr, ptr %t0 call void @fn_emit(ptr %t187) call void @fn_emit(ptr @.str17948) br label %ifend27 ifend27: 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 %t28 = alloca ptr %t30 = alloca ptr %t34 = alloca ptr %t40 = 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 = load i32, ptr %t4 %t18 = getelementptr inbounds %LSlice, ptr %t16, i32 0, i32 0 %t19 = load ptr, ptr %t18 %t20 = getelementptr inbounds %LSlice, ptr %t16, i32 0, i32 1 %t21 = load i32, ptr %t20 %t22 = icmp ult i32 %t17, %t21 br i1 %t22, label %ixok3, label %ixbad4 ixbad4: store i32 10024, ptr @lp_site %t23 = call ptr @lp_win_stdio(i32 2) store i32 0, ptr @lp_site call i32 (ptr, ptr, ...) @fprintf(ptr %t23, ptr @.fmt_bounds, ptr @.str17949, i32 %t17, i32 %t21) call void @exit(i32 1) unreachable ixok3: %t24 = getelementptr inbounds ptr, ptr %t19, i32 %t17 %t25 = load ptr, ptr %t24 %t26 = getelementptr inbounds %Cmp_Node, ptr %t25, i32 0, i32 1 %t27 = load ptr, ptr %t26 store ptr %t27, ptr %t28 %t29 = call ptr @fn_nreg() store ptr %t29, ptr %t30 %t31 = load ptr, ptr %t28 store i32 10025, ptr @lp_site %t32 = call ptr @lp_str_concat(ptr @.str17951, ptr %t31) store i32 0, ptr @lp_site %t33 = call ptr @fn_ecs_base(ptr %t32) store ptr %t33, ptr %t34 call void @fn_emit(ptr @.str17952) %t35 = load ptr, ptr %t30 call void @fn_emit(ptr %t35) call void @fn_emit(ptr @.str17953) %t36 = load ptr, ptr %t28 call void @fn_emit(ptr %t36) call void @fn_emit(ptr @.str17954) %t37 = load ptr, ptr %t34 call void @fn_emit(ptr %t37) call void @fn_emit(ptr @.str17955) %t38 = load ptr, ptr %t1 call void @fn_emit(ptr %t38) call void @fn_emit(ptr @.str17956) %t39 = call ptr @fn_emit_alloca(ptr @.str17957) store ptr %t39, ptr %t40 call void @fn_emit(ptr @.str17958) %t41 = load ptr, ptr %t30 call void @fn_emit(ptr %t41) call void @fn_emit(ptr @.str17959) %t42 = load ptr, ptr %t40 call void @fn_emit(ptr %t42) call void @fn_emit(ptr @.str17960) %t43 = load ptr, ptr %t28 %t44 = load ptr, ptr %t40 %t45 = load ptr, ptr %t28 call void @fn_loc_push(ptr %t43, ptr %t44, ptr %t45) %t46 = load i32, ptr %t4 %t47 = add i32 %t46, 1 store i32 %t47, 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 = load i32, ptr %t6 %t20 = getelementptr inbounds %LSlice, ptr %t18, i32 0, i32 0 %t21 = load ptr, ptr %t20 %t22 = getelementptr inbounds %LSlice, ptr %t18, i32 0, i32 1 %t23 = load i32, ptr %t22 %t24 = icmp ult i32 %t19, %t23 br i1 %t24, label %ixok6, label %ixbad7 ixbad7: store i32 10026, ptr @lp_site %t25 = call ptr @lp_win_stdio(i32 2) store i32 0, ptr @lp_site call i32 (ptr, ptr, ...) @fprintf(ptr %t25, ptr @.fmt_bounds, ptr @.str17961, i32 %t19, i32 %t23) call void @exit(i32 1) unreachable ixok6: %t26 = getelementptr inbounds ptr, ptr %t21, i32 %t19 %t27 = load ptr, ptr %t26 %t28 = getelementptr inbounds %Cmp_Node, ptr %t27, i32 0, i32 1 %t29 = load ptr, ptr %t28 %t30 = load ptr, ptr %t1 %t31 = call i32 @lp_str_eq(ptr %t29, ptr %t30) %t32 = icmp ne i32 %t31, 0 br i1 %t32, label %then8, label %ifend10 then8: %t33 = load ptr, ptr %t0 %t34 = getelementptr inbounds %Cmp_Node, ptr %t33, i32 0, i32 7 %t35 = load ptr, ptr %t34 %t36 = load i32, ptr %t6 %t37 = getelementptr inbounds %LSlice, ptr %t35, i32 0, i32 0 %t38 = load ptr, ptr %t37 %t39 = getelementptr inbounds %LSlice, ptr %t35, i32 0, i32 1 %t40 = load i32, ptr %t39 %t41 = icmp ult i32 %t36, %t40 br i1 %t41, label %ixok11, label %ixbad12 ixbad12: store i32 10027, ptr @lp_site %t42 = call ptr @lp_win_stdio(i32 2) store i32 0, ptr @lp_site call i32 (ptr, ptr, ...) @fprintf(ptr %t42, ptr @.fmt_bounds, ptr @.str17963, i32 %t36, i32 %t40) call void @exit(i32 1) unreachable ixok11: %t43 = getelementptr inbounds ptr, ptr %t38, i32 %t36 %t44 = load ptr, ptr %t43 %t45 = getelementptr inbounds %Cmp_Node, ptr %t44, i32 0, i32 4 %t46 = load ptr, ptr %t45 store ptr %t46, ptr %retval br label %ret ifend10: %t47 = load i32, ptr %t6 %t48 = add i32 %t47, 1 store i32 %t48, ptr %t6 br label %wcond3 wend5: store ptr null, ptr %retval br label %ret ret: %t49 = load ptr, ptr %retval ret ptr %t49 } 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 = load i32, ptr %t14 %t31 = getelementptr inbounds %LSlice, ptr %t29, i32 0, i32 0 %t32 = load ptr, ptr %t31 %t33 = getelementptr inbounds %LSlice, ptr %t29, i32 0, i32 1 %t34 = load i32, ptr %t33 %t35 = icmp ult i32 %t30, %t34 br i1 %t35, label %ixok9, label %ixbad10 ixbad10: store i32 10028, ptr @lp_site %t36 = call ptr @lp_win_stdio(i32 2) store i32 0, ptr @lp_site call i32 (ptr, ptr, ...) @fprintf(ptr %t36, ptr @.fmt_bounds, ptr @.str17964, i32 %t30, i32 %t34) call void @exit(i32 1) unreachable ixok9: %t37 = getelementptr inbounds ptr, ptr %t32, i32 %t30 %t38 = load ptr, ptr %t37 %t39 = getelementptr inbounds %LSlice, ptr %t26, i32 0, i32 1 %t40 = getelementptr inbounds %LSlice, ptr %t26, i32 0, i32 2 %t41 = getelementptr inbounds %LSlice, ptr %t26, i32 0, i32 0 %t42 = load i32, ptr %t39 %t43 = load i32, ptr %t40 %t44 = icmp sge i32 %t42, %t43 br i1 %t44, label %grow11, label %put12 grow11: %t45 = mul i32 %t43, 2 %t46 = icmp eq i32 %t43, 0 %t47 = select i1 %t46, i32 8, i32 %t45 %t48 = getelementptr ptr, ptr null, i32 1 %t49 = ptrtoint ptr %t48 to i64 %t50 = zext i32 %t47 to i64 %t51 = mul i64 %t50, %t49 %t52 = load ptr, ptr %t41 store i32 10029, ptr @lp_site %t53 = call ptr @lp_realloc(ptr %t52, i64 %t51) store i32 0, ptr @lp_site store ptr %t53, ptr %t41 store i32 %t47, ptr %t40 br label %put12 put12: %t54 = load ptr, ptr %t41 %t55 = getelementptr inbounds ptr, ptr %t54, i32 %t42 store ptr %t38, ptr %t55 %t56 = add i32 %t42, 1 store i32 %t56, ptr %t39 %t57 = load i32, ptr %t14 %t58 = add i32 %t57, 1 store i32 %t58, ptr %t14 br label %wcond6 wend8: store i32 0, ptr %t14 br label %wcond13 wcond13: %t59 = load i32, ptr %t14 %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 %wbody14, label %wend15 wbody14: %t68 = load ptr, ptr %t13 %t69 = getelementptr inbounds %Cmp_Node, ptr %t68, i32 0, i32 7 %t70 = load ptr, ptr %t69 %t71 = load ptr, ptr %t1 %t72 = getelementptr inbounds %Cmp_Node, ptr %t71, i32 0, i32 7 %t73 = load ptr, ptr %t72 %t74 = load i32, ptr %t14 %t75 = getelementptr inbounds %LSlice, ptr %t73, i32 0, i32 0 %t76 = load ptr, ptr %t75 %t77 = getelementptr inbounds %LSlice, ptr %t73, i32 0, i32 1 %t78 = load i32, ptr %t77 %t79 = icmp ult i32 %t74, %t78 br i1 %t79, label %ixok16, label %ixbad17 ixbad17: store i32 10030, ptr @lp_site %t80 = call ptr @lp_win_stdio(i32 2) store i32 0, ptr @lp_site call i32 (ptr, ptr, ...) @fprintf(ptr %t80, ptr @.fmt_bounds, ptr @.str17966, i32 %t74, i32 %t78) call void @exit(i32 1) unreachable ixok16: %t81 = getelementptr inbounds ptr, ptr %t76, i32 %t74 %t82 = load ptr, ptr %t81 %t83 = getelementptr inbounds %LSlice, ptr %t70, i32 0, i32 1 %t84 = getelementptr inbounds %LSlice, ptr %t70, i32 0, i32 2 %t85 = getelementptr inbounds %LSlice, ptr %t70, i32 0, i32 0 %t86 = load i32, ptr %t83 %t87 = load i32, ptr %t84 %t88 = icmp sge i32 %t86, %t87 br i1 %t88, label %grow18, label %put19 grow18: %t89 = mul i32 %t87, 2 %t90 = icmp eq i32 %t87, 0 %t91 = select i1 %t90, i32 8, i32 %t89 %t92 = getelementptr ptr, ptr null, i32 1 %t93 = ptrtoint ptr %t92 to i64 %t94 = zext i32 %t91 to i64 %t95 = mul i64 %t94, %t93 %t96 = load ptr, ptr %t85 store i32 10031, ptr @lp_site %t97 = call ptr @lp_realloc(ptr %t96, i64 %t95) store i32 0, ptr @lp_site store ptr %t97, ptr %t85 store i32 %t91, ptr %t84 br label %put19 put19: %t98 = load ptr, ptr %t85 %t99 = getelementptr inbounds ptr, ptr %t98, i32 %t86 store ptr %t82, ptr %t99 %t100 = add i32 %t86, 1 store i32 %t100, ptr %t83 %t101 = load i32, ptr %t14 %t102 = add i32 %t101, 1 store i32 %t102, ptr %t14 br label %wcond13 wend15: %t103 = load ptr, ptr %t13 store ptr %t103, ptr %retval br label %ret ret: %t104 = load ptr, ptr %retval ret ptr %t104 } 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 store i32 10032, ptr @lp_site %t23 = call ptr @lp_str_concat(ptr @.str17967, ptr %t22) store i32 0, ptr @lp_site store i32 10033, ptr @lp_site %t24 = call ptr @lp_str_concat(ptr %t23, ptr @.str17969) store i32 0, ptr @lp_site call void @lp_free(ptr %t23) 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 @.str17970) store ptr %t6, ptr %t7 %t8 = load ptr, ptr %t7 store i32 10034, ptr @lp_site %t9 = call ptr @lp_str_concat(ptr @.str17971, ptr %t8) store i32 0, ptr @lp_site store i32 10035, ptr @lp_site %t10 = call ptr @lp_str_concat(ptr %t9, ptr @.str17973) store i32 0, ptr @lp_site call void @lp_free(ptr %t9) %t11 = call ptr @fn_emit_bind(ptr %t10) store ptr %t11, ptr %t12 %t13 = call ptr @fn_lbl(ptr @.str17974) store ptr %t13, ptr %t14 %t15 = call ptr @fn_lbl(ptr @.str17975) store ptr %t15, ptr %t16 %t17 = load ptr, ptr %t12 store i32 10036, ptr @lp_site %t18 = call ptr @lp_str_concat(ptr @.str17976, ptr %t17) store i32 0, ptr @lp_site store i32 10037, ptr @lp_site %t19 = call ptr @lp_str_concat(ptr %t18, ptr @.str17977) store i32 0, ptr @lp_site call void @lp_free(ptr %t18) %t20 = load ptr, ptr %t16 store i32 10038, ptr @lp_site %t21 = call ptr @lp_str_concat(ptr %t19, ptr %t20) store i32 0, ptr @lp_site call void @lp_free(ptr %t19) store i32 10039, ptr @lp_site %t22 = call ptr @lp_str_concat(ptr %t21, ptr @.str17978) store i32 0, ptr @lp_site call void @lp_free(ptr %t21) %t23 = load ptr, ptr %t14 store i32 10040, ptr @lp_site %t24 = call ptr @lp_str_concat(ptr %t22, ptr %t23) store i32 0, ptr @lp_site call void @lp_free(ptr %t22) store i32 10041, ptr @lp_site %t25 = call ptr @lp_str_concat(ptr %t24, ptr @.str17979) store i32 0, ptr @lp_site call void @lp_free(ptr %t24) call void @fn_emit(ptr %t25) %t26 = load ptr, ptr %t16 store i32 10042, ptr @lp_site %t27 = call ptr @lp_str_concat(ptr %t26, ptr @.str17980) store i32 0, ptr @lp_site call void @fn_emit(ptr %t27) %t28 = load ptr, ptr @g_g_src_name store i32 10043, ptr @lp_site %t29 = call ptr @lp_str_concat(ptr %t28, ptr @.str17981) store i32 0, ptr @lp_site %t30 = load i32, ptr %t1 %t31 = call ptr @fn_itoa(i32 %t30) store i32 10044, ptr @lp_site %t32 = call ptr @lp_str_concat(ptr %t29, ptr %t31) store i32 0, ptr @lp_site call void @lp_free(ptr %t29) store i32 10045, ptr @lp_site %t33 = call ptr @lp_str_concat(ptr %t32, ptr @.str17982) store i32 0, ptr @lp_site call void @lp_free(ptr %t32) %t34 = call ptr @fn_emit_str_const(ptr %t33) store ptr %t34, ptr %t35 %t36 = load ptr, ptr %t0 store i32 10046, ptr @lp_site %t37 = call ptr @lp_str_concat(ptr %t36, ptr @.str17983) store i32 0, ptr @lp_site %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 store i32 10047, ptr @lp_site %t44 = call ptr @lp_str_concat(ptr @.str17984, ptr %t43) store i32 0, ptr @lp_site store i32 10048, ptr @lp_site %t45 = call ptr @lp_str_concat(ptr %t44, ptr @.str17985) store i32 0, ptr @lp_site call void @lp_free(ptr %t44) %t46 = load ptr, ptr %t35 store i32 10049, ptr @lp_site %t47 = call ptr @lp_str_concat(ptr %t45, ptr %t46) store i32 0, ptr @lp_site call void @lp_free(ptr %t45) store i32 10050, ptr @lp_site %t48 = call ptr @lp_str_concat(ptr %t47, ptr @.str17986) store i32 0, ptr @lp_site call void @lp_free(ptr %t47) %t49 = load ptr, ptr %t39 store i32 10051, ptr @lp_site %t50 = call ptr @lp_str_concat(ptr %t48, ptr %t49) store i32 0, ptr @lp_site call void @lp_free(ptr %t48) store i32 10052, ptr @lp_site %t51 = call ptr @lp_str_concat(ptr %t50, ptr @.str17987) store i32 0, ptr @lp_site call void @lp_free(ptr %t50) call void @fn_emit(ptr %t51) call void @fn_emit(ptr @.str17988) %t52 = load ptr, ptr %t14 store i32 10053, ptr @lp_site %t53 = call ptr @lp_str_concat(ptr %t52, ptr @.str17989) store i32 0, ptr @lp_site 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 %t46 = alloca ptr %t55 = alloca ptr %t56 = alloca i32 %t80 = alloca ptr %t96 = alloca ptr %t102 = alloca i32 %t111 = alloca ptr %t119 = 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 @.str17990, i32 %t3) %t4 = call ptr @fn_emit_bind(ptr @.str17991) 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 store i32 10054, ptr @lp_site %t33 = call ptr @lp_str_concat(ptr @.str17992, ptr %t32) store i32 0, ptr @lp_site store i32 10055, ptr @lp_site %t34 = call ptr @lp_str_concat(ptr %t33, ptr @.str17994) store i32 0, ptr @lp_site call void @lp_free(ptr %t33) %t35 = load ptr, ptr %t10 store i32 10056, ptr @lp_site %t36 = call ptr @lp_str_concat(ptr %t34, ptr %t35) store i32 0, ptr @lp_site call void @lp_free(ptr %t34) 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_ecs_base(ptr @.str17995) store ptr %t43, ptr %t44 %t45 = call ptr @fn_nreg() store ptr %t45, ptr %t46 call void @fn_emit(ptr @.str17996) %t47 = load ptr, ptr %t46 call void @fn_emit(ptr %t47) call void @fn_emit(ptr @.str17997) %t48 = load ptr, ptr %t44 call void @fn_emit(ptr %t48) call void @fn_emit(ptr @.str17998) %t49 = load ptr, ptr %t5 call void @fn_emit(ptr %t49) call void @fn_emit(ptr @.str17999) call void @fn_emit(ptr @.str18000) %t50 = load i32, ptr %t13 %t51 = call ptr @fn_itoa(i32 %t50) call void @fn_emit(ptr %t51) call void @fn_emit(ptr @.str18001) %t52 = load ptr, ptr %t46 call void @fn_emit(ptr %t52) call void @fn_emit(ptr @.str18002) %t53 = load ptr, ptr %t10 %t54 = call ptr @fn_find_arch(ptr %t53) store ptr %t54, ptr %t55 store i32 0, ptr %t56 br label %wcond8 wcond8: %t57 = load i32, ptr %t56 %t58 = load ptr, ptr %t55 %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 1 %t62 = load i32, ptr %t61 %t63 = icmp slt i32 %t57, %t62 %t64 = zext i1 %t63 to i32 %t65 = icmp ne i32 %t64, 0 br i1 %t65, label %wbody9, label %wend10 wbody9: %t66 = load ptr, ptr %t55 %t67 = getelementptr inbounds %Cmp_Node, ptr %t66, i32 0, i32 7 %t68 = load ptr, ptr %t67 %t69 = load i32, ptr %t56 %t70 = getelementptr inbounds %LSlice, ptr %t68, i32 0, i32 0 %t71 = load ptr, ptr %t70 %t72 = getelementptr inbounds %LSlice, ptr %t68, i32 0, i32 1 %t73 = load i32, ptr %t72 %t74 = icmp ult i32 %t69, %t73 br i1 %t74, label %ixok11, label %ixbad12 ixbad12: store i32 10057, ptr @lp_site %t75 = call ptr @lp_win_stdio(i32 2) store i32 0, ptr @lp_site call i32 (ptr, ptr, ...) @fprintf(ptr %t75, ptr @.fmt_bounds, ptr @.str18003, i32 %t69, i32 %t73) call void @exit(i32 1) unreachable ixok11: %t76 = getelementptr inbounds ptr, ptr %t71, i32 %t69 %t77 = load ptr, ptr %t76 %t78 = getelementptr inbounds %Cmp_Node, ptr %t77, i32 0, i32 1 %t79 = load ptr, ptr %t78 store ptr %t79, ptr %t80 %t81 = load ptr, ptr %t5 %t82 = load ptr, ptr %t80 %t83 = load ptr, ptr %t0 %t84 = getelementptr inbounds %Cmp_Node, ptr %t83, i32 0, i32 1 %t85 = load ptr, ptr %t84 %t86 = load ptr, ptr %t80 %t87 = call ptr @fn_prefab_record(ptr %t85, ptr %t86) %t88 = load ptr, ptr %t0 %t89 = load ptr, ptr %t80 %t90 = call ptr @fn_spawn_record(ptr %t88, ptr %t89) %t91 = call ptr @fn_merge_records(ptr %t87, ptr %t90) call void @fn_emit_init_component(ptr %t81, ptr %t82, ptr %t91) %t92 = load i32, ptr %t56 %t93 = add i32 %t92, 1 store i32 %t93, ptr %t56 br label %wcond8 wend10: %t94 = load ptr, ptr %t10 %t95 = call ptr @fn_onspawn_body(ptr %t94) store ptr %t95, ptr %t96 %t97 = load ptr, ptr %t96 %t98 = icmp ne ptr %t97, null %t99 = zext i1 %t98 to i32 %t100 = icmp ne i32 %t99, 0 br i1 %t100, label %then13, label %ifend15 then13: %t101 = load i32, ptr @g_nloc store i32 %t101, ptr %t102 %t103 = load ptr, ptr %t55 %t104 = load ptr, ptr %t5 call void @fn_emit_bind_props(ptr %t103, ptr %t104) %t105 = load ptr, ptr %t5 %t106 = load ptr, ptr %t96 call void @fn_emit_hook_with_self(ptr %t105, ptr %t106) %t107 = load i32, ptr %t102 store i32 %t107, ptr @g_nloc br label %ifend15 ifend15: %t108 = load ptr, ptr %t10 store i32 10058, ptr @lp_site %t109 = call ptr @lp_str_concat(ptr @.str18004, ptr %t108) store i32 0, ptr @lp_site store i32 10059, ptr @lp_site %t110 = call ptr @lp_str_concat(ptr %t109, ptr @.str18005) store i32 0, ptr @lp_site call void @lp_free(ptr %t109) store ptr %t110, ptr %t111 %t112 = load ptr, ptr %t111 %t113 = call ptr @fn_find_event(ptr %t112) %t114 = icmp ne ptr %t113, null %t115 = zext i1 %t114 to i32 %t116 = icmp ne i32 %t115, 0 br i1 %t116, label %then16, label %ifend18 then16: call void @fn_emit(ptr @.str18006) %t117 = load ptr, ptr %t111 call void @fn_emit(ptr %t117) call void @fn_emit(ptr @.str18007) %t118 = load ptr, ptr %t5 call void @fn_emit(ptr %t118) call void @fn_emit(ptr @.str18008) br label %ifend18 ifend18: br label %ifend7 else6: store i32 0, ptr %t119 br label %wcond19 wcond19: %t120 = load i32, ptr %t119 %t121 = load ptr, ptr %t0 %t122 = getelementptr inbounds %Cmp_Node, ptr %t121, i32 0, i32 7 %t123 = load ptr, ptr %t122 %t124 = getelementptr inbounds %LSlice, ptr %t123, i32 0, i32 1 %t125 = load i32, ptr %t124 %t126 = icmp slt i32 %t120, %t125 %t127 = zext i1 %t126 to i32 %t128 = icmp ne i32 %t127, 0 br i1 %t128, label %wbody20, label %wend21 wbody20: %t129 = load ptr, ptr %t5 %t130 = load ptr, ptr %t0 %t131 = getelementptr inbounds %Cmp_Node, ptr %t130, i32 0, i32 7 %t132 = load ptr, ptr %t131 %t133 = load i32, ptr %t119 %t134 = getelementptr inbounds %LSlice, ptr %t132, i32 0, i32 0 %t135 = load ptr, ptr %t134 %t136 = getelementptr inbounds %LSlice, ptr %t132, i32 0, i32 1 %t137 = load i32, ptr %t136 %t138 = icmp ult i32 %t133, %t137 br i1 %t138, label %ixok22, label %ixbad23 ixbad23: store i32 10060, ptr @lp_site %t139 = call ptr @lp_win_stdio(i32 2) store i32 0, ptr @lp_site call i32 (ptr, ptr, ...) @fprintf(ptr %t139, ptr @.fmt_bounds, ptr @.str18009, i32 %t133, i32 %t137) call void @exit(i32 1) unreachable ixok22: %t140 = getelementptr inbounds ptr, ptr %t135, i32 %t133 %t141 = load ptr, ptr %t140 %t142 = getelementptr inbounds %Cmp_Node, ptr %t141, i32 0, i32 1 %t143 = load ptr, ptr %t142 %t144 = load ptr, ptr %t0 %t145 = getelementptr inbounds %Cmp_Node, ptr %t144, i32 0, i32 7 %t146 = load ptr, ptr %t145 %t147 = load i32, ptr %t119 %t148 = getelementptr inbounds %LSlice, ptr %t146, i32 0, i32 0 %t149 = load ptr, ptr %t148 %t150 = getelementptr inbounds %LSlice, ptr %t146, i32 0, i32 1 %t151 = load i32, ptr %t150 %t152 = icmp ult i32 %t147, %t151 br i1 %t152, label %ixok24, label %ixbad25 ixbad25: store i32 10061, ptr @lp_site %t153 = call ptr @lp_win_stdio(i32 2) store i32 0, ptr @lp_site call i32 (ptr, ptr, ...) @fprintf(ptr %t153, ptr @.fmt_bounds, ptr @.str18010, i32 %t147, i32 %t151) call void @exit(i32 1) unreachable ixok24: %t154 = getelementptr inbounds ptr, ptr %t149, i32 %t147 %t155 = load ptr, ptr %t154 %t156 = getelementptr inbounds %Cmp_Node, ptr %t155, i32 0, i32 4 %t157 = load ptr, ptr %t156 call void @fn_emit_init_component(ptr %t129, ptr %t143, ptr %t157) %t158 = load i32, ptr %t119 %t159 = add i32 %t158, 1 store i32 %t159, ptr %t119 br label %wcond19 wend21: br label %ifend7 ifend7: %t160 = load ptr, ptr %t5 store ptr %t160, ptr %retval br label %ret ret: %t161 = load ptr, ptr %retval ret ptr %t161 } define void @fn_emit_despawn(ptr %arg_st) { entry: %t0 = alloca ptr %t8 = alloca ptr %t16 = alloca ptr %t18 = alloca ptr %t20 = alloca ptr %t29 = alloca ptr %t30 = alloca i32 %t50 = alloca ptr %t59 = alloca ptr %t61 = alloca ptr %t63 = alloca ptr %t75 = 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 @.str18011, 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_ecs_base(ptr @.str18012) store ptr %t17, ptr %t18 %t19 = call ptr @fn_nreg() store ptr %t19, ptr %t20 call void @fn_emit(ptr @.str18013) %t21 = load ptr, ptr %t20 call void @fn_emit(ptr %t21) call void @fn_emit(ptr @.str18014) %t22 = load ptr, ptr %t18 call void @fn_emit(ptr %t22) call void @fn_emit(ptr @.str18015) %t23 = load ptr, ptr %t8 %t24 = getelementptr inbounds %Cmp_Val, ptr %t23, i32 0, i32 0 %t25 = load ptr, ptr %t24 call void @fn_emit(ptr %t25) call void @fn_emit(ptr @.str18016) %t26 = load ptr, ptr %t20 store i32 10062, ptr @lp_site %t27 = call ptr @lp_str_concat(ptr @.str18017, ptr %t26) store i32 0, ptr @lp_site %t28 = call ptr @fn_emit_bind(ptr %t27) store ptr %t28, ptr %t29 store i32 0, ptr %t30 br label %wcond3 wcond3: %t31 = load i32, ptr %t30 %t32 = load ptr, ptr @g_g_ondespawn %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 %wbody4, label %wend5 wbody4: %t38 = load ptr, ptr @g_g_ondespawn %t39 = load i32, ptr %t30 %t40 = getelementptr inbounds %LSlice, ptr %t38, i32 0, i32 0 %t41 = load ptr, ptr %t40 %t42 = getelementptr inbounds %LSlice, ptr %t38, i32 0, i32 1 %t43 = load i32, ptr %t42 %t44 = icmp ult i32 %t39, %t43 br i1 %t44, label %ixok6, label %ixbad7 ixbad7: store i32 10063, ptr @lp_site %t45 = call ptr @lp_win_stdio(i32 2) store i32 0, ptr @lp_site call i32 (ptr, ptr, ...) @fprintf(ptr %t45, ptr @.fmt_bounds, ptr @.str18019, i32 %t39, i32 %t43) call void @exit(i32 1) unreachable ixok6: %t46 = getelementptr inbounds ptr, ptr %t41, i32 %t39 %t47 = load ptr, ptr %t46 %t48 = getelementptr inbounds %Cmp_Node, ptr %t47, i32 0, i32 1 %t49 = load ptr, ptr %t48 store ptr %t49, ptr %t50 %t51 = load ptr, ptr %t29 store i32 10064, ptr @lp_site %t52 = call ptr @lp_str_concat(ptr @.str18020, ptr %t51) store i32 0, ptr @lp_site store i32 10065, ptr @lp_site %t53 = call ptr @lp_str_concat(ptr %t52, ptr @.str18021) store i32 0, ptr @lp_site call void @lp_free(ptr %t52) %t54 = load ptr, ptr %t50 %t55 = call i32 @fn_find_arch_id(ptr %t54) %t56 = call ptr @fn_itoa(i32 %t55) store i32 10066, ptr @lp_site %t57 = call ptr @lp_str_concat(ptr %t53, ptr %t56) store i32 0, ptr @lp_site call void @lp_free(ptr %t53) %t58 = call ptr @fn_emit_bind(ptr %t57) store ptr %t58, ptr %t59 %t60 = call ptr @fn_lbl(ptr @.str18022) store ptr %t60, ptr %t61 %t62 = call ptr @fn_lbl(ptr @.str18023) store ptr %t62, ptr %t63 call void @fn_emit(ptr @.str18024) %t64 = load ptr, ptr %t59 call void @fn_emit(ptr %t64) call void @fn_emit(ptr @.str18025) %t65 = load ptr, ptr %t61 call void @fn_emit(ptr %t65) call void @fn_emit(ptr @.str18026) %t66 = load ptr, ptr %t63 call void @fn_emit(ptr %t66) call void @fn_emit(ptr @.str18027) %t67 = load ptr, ptr %t61 call void @fn_emit(ptr %t67) call void @fn_emit(ptr @.str18028) %t68 = load ptr, ptr %t50 call void @fn_emit(ptr %t68) call void @fn_emit(ptr @.str18029) %t69 = load ptr, ptr %t8 %t70 = getelementptr inbounds %Cmp_Val, ptr %t69, i32 0, i32 0 %t71 = load ptr, ptr %t70 call void @fn_emit(ptr %t71) call void @fn_emit(ptr @.str18030) %t72 = load ptr, ptr %t50 store i32 10067, ptr @lp_site %t73 = call ptr @lp_str_concat(ptr @.str18031, ptr %t72) store i32 0, ptr @lp_site store i32 10068, ptr @lp_site %t74 = call ptr @lp_str_concat(ptr %t73, ptr @.str18032) store i32 0, ptr @lp_site call void @lp_free(ptr %t73) store ptr %t74, ptr %t75 %t76 = load ptr, ptr %t75 %t77 = call ptr @fn_find_event(ptr %t76) %t78 = icmp ne ptr %t77, null %t79 = zext i1 %t78 to i32 %t80 = icmp ne i32 %t79, 0 br i1 %t80, label %then8, label %ifend10 then8: call void @fn_emit(ptr @.str18033) %t81 = load ptr, ptr %t75 call void @fn_emit(ptr %t81) call void @fn_emit(ptr @.str18034) %t82 = load ptr, ptr %t8 %t83 = getelementptr inbounds %Cmp_Val, ptr %t82, i32 0, i32 0 %t84 = load ptr, ptr %t83 call void @fn_emit(ptr %t84) call void @fn_emit(ptr @.str18035) br label %ifend10 ifend10: call void @fn_emit(ptr @.str18036) %t85 = load ptr, ptr %t63 call void @fn_emit(ptr %t85) call void @fn_emit(ptr @.str18037) %t86 = load ptr, ptr %t63 call void @fn_emit(ptr %t86) call void @fn_emit(ptr @.str18038) %t87 = load i32, ptr %t30 %t88 = add i32 %t87, 1 store i32 %t88, ptr %t30 br label %wcond3 wend5: br label %ifend2 ifend2: %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 %then11, label %ifend13 then11: call void @fn_emit(ptr @.str18039) %t95 = load ptr, ptr %t8 %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 @.str18040) br label %ifend13 ifend13: call void @fn_emit(ptr @.str18041) %t98 = load ptr, ptr %t8 %t99 = getelementptr inbounds %Cmp_Val, ptr %t98, i32 0, i32 0 %t100 = load ptr, ptr %t99 call void @fn_emit(ptr %t100) call void @fn_emit(ptr @.str18042) br label %ret ret: ret void } define void @fn_emit_attach(ptr %arg_st) { entry: %t0 = alloca ptr %t5 = alloca ptr %t7 = alloca ptr %t13 = alloca ptr %t15 = alloca ptr %t24 = alloca ptr %t29 = alloca ptr %t31 = alloca ptr %t33 = 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 = load ptr, ptr %t0 %t9 = getelementptr inbounds %Cmp_Node, ptr %t8, i32 0, i32 1 %t10 = load ptr, ptr %t9 store i32 10069, ptr @lp_site %t11 = call ptr @lp_str_concat(ptr @.str18043, ptr %t10) store i32 0, ptr @lp_site %t12 = call ptr @fn_ecs_base(ptr %t11) store ptr %t12, ptr %t13 %t14 = call ptr @fn_nreg() store ptr %t14, ptr %t15 call void @fn_emit(ptr @.str18045) %t16 = load ptr, ptr %t15 call void @fn_emit(ptr %t16) call void @fn_emit(ptr @.str18046) %t17 = load ptr, ptr %t13 call void @fn_emit(ptr %t17) call void @fn_emit(ptr @.str18047) %t18 = load ptr, ptr %t5 %t19 = getelementptr inbounds %Cmp_Val, ptr %t18, i32 0, i32 0 %t20 = load ptr, ptr %t19 call void @fn_emit(ptr %t20) call void @fn_emit(ptr @.str18048) %t21 = load ptr, ptr %t15 store i32 10070, ptr @lp_site %t22 = call ptr @lp_str_concat(ptr @.str18049, ptr %t21) store i32 0, ptr @lp_site %t23 = call ptr @fn_emit_bind(ptr %t22) store ptr %t23, ptr %t24 %t25 = load ptr, ptr %t24 store i32 10071, ptr @lp_site %t26 = call ptr @lp_str_concat(ptr @.str18050, ptr %t25) store i32 0, ptr @lp_site store i32 10072, ptr @lp_site %t27 = call ptr @lp_str_concat(ptr %t26, ptr @.str18051) store i32 0, ptr @lp_site call void @lp_free(ptr %t26) %t28 = call ptr @fn_emit_bind(ptr %t27) store ptr %t28, ptr %t29 %t30 = call ptr @fn_lbl(ptr @.str18052) store ptr %t30, ptr %t31 %t32 = call ptr @fn_lbl(ptr @.str18053) store ptr %t32, ptr %t33 call void @fn_emit(ptr @.str18054) %t34 = load ptr, ptr %t29 call void @fn_emit(ptr %t34) call void @fn_emit(ptr @.str18055) %t35 = load ptr, ptr %t31 call void @fn_emit(ptr %t35) call void @fn_emit(ptr @.str18056) %t36 = load ptr, ptr %t33 call void @fn_emit(ptr %t36) call void @fn_emit(ptr @.str18057) %t37 = load ptr, ptr %t31 call void @fn_emit(ptr %t37) call void @fn_emit(ptr @.str18058) store i32 0, ptr @g_g_term %t38 = load ptr, ptr %t5 %t39 = getelementptr inbounds %Cmp_Val, ptr %t38, i32 0, i32 0 %t40 = load ptr, ptr %t39 %t41 = load ptr, ptr %t0 %t42 = getelementptr inbounds %Cmp_Node, ptr %t41, i32 0, i32 1 %t43 = load ptr, ptr %t42 %t44 = load ptr, ptr %t0 %t45 = getelementptr inbounds %Cmp_Node, ptr %t44, i32 0, i32 5 %t46 = load ptr, ptr %t45 call void @fn_emit_init_component(ptr %t40, ptr %t43, ptr %t46) %t47 = load i32, ptr @g_g_term %t48 = icmp eq i32 %t47, 0 %t49 = zext i1 %t48 to i32 %t50 = icmp ne i32 %t49, 0 br i1 %t50, label %then0, label %ifend2 then0: call void @fn_emit(ptr @.str18059) %t51 = load ptr, ptr %t33 call void @fn_emit(ptr %t51) call void @fn_emit(ptr @.str18060) br label %ifend2 ifend2: %t52 = load ptr, ptr %t33 call void @fn_emit(ptr %t52) call void @fn_emit(ptr @.str18061) 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 %t13 = alloca ptr %t15 = alloca ptr %t24 = alloca ptr %t29 = alloca ptr %t31 = alloca ptr %t33 = alloca ptr %t43 = alloca ptr %t49 = alloca i32 %t55 = alloca ptr %t57 = alloca ptr %t67 = alloca ptr %t84 = 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 = load ptr, ptr %t0 %t9 = getelementptr inbounds %Cmp_Node, ptr %t8, i32 0, i32 1 %t10 = load ptr, ptr %t9 store i32 10073, ptr @lp_site %t11 = call ptr @lp_str_concat(ptr @.str18062, ptr %t10) store i32 0, ptr @lp_site %t12 = call ptr @fn_ecs_base(ptr %t11) store ptr %t12, ptr %t13 %t14 = call ptr @fn_nreg() store ptr %t14, ptr %t15 call void @fn_emit(ptr @.str18064) %t16 = load ptr, ptr %t15 call void @fn_emit(ptr %t16) call void @fn_emit(ptr @.str18065) %t17 = load ptr, ptr %t13 call void @fn_emit(ptr %t17) call void @fn_emit(ptr @.str18066) %t18 = load ptr, ptr %t5 %t19 = getelementptr inbounds %Cmp_Val, ptr %t18, i32 0, i32 0 %t20 = load ptr, ptr %t19 call void @fn_emit(ptr %t20) call void @fn_emit(ptr @.str18067) %t21 = load ptr, ptr %t15 store i32 10074, ptr @lp_site %t22 = call ptr @lp_str_concat(ptr @.str18068, ptr %t21) store i32 0, ptr @lp_site %t23 = call ptr @fn_emit_bind(ptr %t22) store ptr %t23, ptr %t24 %t25 = load ptr, ptr %t24 store i32 10075, ptr @lp_site %t26 = call ptr @lp_str_concat(ptr @.str18069, ptr %t25) store i32 0, ptr @lp_site store i32 10076, ptr @lp_site %t27 = call ptr @lp_str_concat(ptr %t26, ptr @.str18070) store i32 0, ptr @lp_site call void @lp_free(ptr %t26) %t28 = call ptr @fn_emit_bind(ptr %t27) store ptr %t28, ptr %t29 %t30 = call ptr @fn_lbl(ptr @.str18071) store ptr %t30, ptr %t31 %t32 = call ptr @fn_lbl(ptr @.str18072) store ptr %t32, ptr %t33 call void @fn_emit(ptr @.str18073) %t34 = load ptr, ptr %t29 call void @fn_emit(ptr %t34) call void @fn_emit(ptr @.str18074) %t35 = load ptr, ptr %t31 call void @fn_emit(ptr %t35) call void @fn_emit(ptr @.str18075) %t36 = load ptr, ptr %t33 call void @fn_emit(ptr %t36) call void @fn_emit(ptr @.str18076) %t37 = load ptr, ptr %t31 call void @fn_emit(ptr %t37) call void @fn_emit(ptr @.str18077) store i32 0, ptr @g_g_term call void @fn_emit(ptr @.str18078) %t38 = load ptr, ptr %t15 call void @fn_emit(ptr %t38) call void @fn_emit(ptr @.str18079) %t39 = load ptr, ptr %t0 %t40 = getelementptr inbounds %Cmp_Node, ptr %t39, i32 0, i32 1 %t41 = load ptr, ptr %t40 %t42 = call ptr @fn_ondetach_body(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 %then0, label %ifend2 then0: %t48 = load i32, ptr @g_nloc store i32 %t48, ptr %t49 %t50 = load ptr, ptr %t0 %t51 = getelementptr inbounds %Cmp_Node, ptr %t50, i32 0, i32 1 %t52 = load ptr, ptr %t51 store i32 10077, ptr @lp_site %t53 = call ptr @lp_str_concat(ptr @.str18080, ptr %t52) store i32 0, ptr @lp_site %t54 = call ptr @fn_ecs_base(ptr %t53) store ptr %t54, ptr %t55 %t56 = call ptr @fn_nreg() store ptr %t56, ptr %t57 call void @fn_emit(ptr @.str18081) %t58 = load ptr, ptr %t57 call void @fn_emit(ptr %t58) call void @fn_emit(ptr @.str18082) %t59 = load ptr, ptr %t0 %t60 = getelementptr inbounds %Cmp_Node, ptr %t59, i32 0, i32 1 %t61 = load ptr, ptr %t60 call void @fn_emit(ptr %t61) call void @fn_emit(ptr @.str18083) %t62 = load ptr, ptr %t55 call void @fn_emit(ptr %t62) call void @fn_emit(ptr @.str18084) %t63 = load ptr, ptr %t5 %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 @.str18085) %t66 = call ptr @fn_emit_alloca(ptr @.str18086) store ptr %t66, ptr %t67 call void @fn_emit(ptr @.str18087) %t68 = load ptr, ptr %t57 call void @fn_emit(ptr %t68) call void @fn_emit(ptr @.str18088) %t69 = load ptr, ptr %t67 call void @fn_emit(ptr %t69) call void @fn_emit(ptr @.str18089) %t70 = load ptr, ptr %t0 %t71 = getelementptr inbounds %Cmp_Node, ptr %t70, i32 0, i32 1 %t72 = load ptr, ptr %t71 %t73 = load ptr, ptr %t67 %t74 = load ptr, ptr %t0 %t75 = getelementptr inbounds %Cmp_Node, ptr %t74, i32 0, i32 1 %t76 = load ptr, ptr %t75 call void @fn_loc_push(ptr %t72, ptr %t73, ptr %t76) %t77 = load ptr, ptr %t43 call void @fn_emit_block(ptr %t77) %t78 = load i32, ptr %t49 store i32 %t78, ptr @g_nloc br label %ifend2 ifend2: %t79 = load ptr, ptr %t0 %t80 = getelementptr inbounds %Cmp_Node, ptr %t79, i32 0, i32 1 %t81 = load ptr, ptr %t80 store i32 10078, ptr @lp_site %t82 = call ptr @lp_str_concat(ptr @.str18090, ptr %t81) store i32 0, ptr @lp_site store i32 10079, ptr @lp_site %t83 = call ptr @lp_str_concat(ptr %t82, ptr @.str18091) store i32 0, ptr @lp_site call void @lp_free(ptr %t82) store ptr %t83, ptr %t84 %t85 = load ptr, ptr %t84 %t86 = call ptr @fn_find_event(ptr %t85) %t87 = icmp ne ptr %t86, null %t88 = zext i1 %t87 to i32 %t89 = icmp ne i32 %t88, 0 br i1 %t89, label %then3, label %ifend5 then3: call void @fn_emit(ptr @.str18092) %t90 = load ptr, ptr %t84 call void @fn_emit(ptr %t90) call void @fn_emit(ptr @.str18093) %t91 = load ptr, ptr %t5 %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 @.str18094) br label %ifend5 ifend5: %t94 = load i32, ptr @g_g_term %t95 = icmp eq i32 %t94, 0 %t96 = zext i1 %t95 to i32 %t97 = icmp ne i32 %t96, 0 br i1 %t97, label %then6, label %ifend8 then6: call void @fn_emit(ptr @.str18095) %t98 = load ptr, ptr %t33 call void @fn_emit(ptr %t98) call void @fn_emit(ptr @.str18096) br label %ifend8 ifend8: %t99 = load ptr, ptr %t33 call void @fn_emit(ptr %t99) call void @fn_emit(ptr @.str18097) 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 %t19 = alloca ptr %t20 = 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 = load i32, ptr %t1 %t11 = getelementptr inbounds %LSlice, ptr %t9, i32 0, i32 0 %t12 = load ptr, ptr %t11 %t13 = getelementptr inbounds %LSlice, ptr %t9, i32 0, i32 1 %t14 = load i32, ptr %t13 %t15 = icmp ult i32 %t10, %t14 br i1 %t15, label %ixok3, label %ixbad4 ixbad4: store i32 10080, ptr @lp_site %t16 = call ptr @lp_win_stdio(i32 2) store i32 0, ptr @lp_site call i32 (ptr, ptr, ...) @fprintf(ptr %t16, ptr @.fmt_bounds, ptr @.str18098, i32 %t10, i32 %t14) call void @exit(i32 1) unreachable ixok3: %t17 = getelementptr inbounds ptr, ptr %t12, i32 %t10 %t18 = load ptr, ptr %t17 store ptr %t18, ptr %t19 %t21 = load ptr, ptr %t19 %t22 = getelementptr inbounds %Cmp_Node, ptr %t21, i32 0, i32 0 %t23 = load i32, ptr %t22 %t24 = icmp eq i32 %t23, 9 %t25 = zext i1 %t24 to i32 %t26 = icmp ne i32 %t25, 0 %t27 = zext i1 %t26 to i32 store i32 %t27, ptr %t20 br i1 %t26, label %sc5, label %scend6 sc5: %t28 = load ptr, ptr %t19 %t29 = getelementptr inbounds %Cmp_Node, ptr %t28, i32 0, i32 1 %t30 = load ptr, ptr %t29 %t31 = load ptr, ptr %t0 %t32 = call i32 @lp_str_eq(ptr %t30, ptr %t31) %t33 = icmp ne i32 %t32, 0 %t34 = zext i1 %t33 to i32 store i32 %t34, ptr %t20 br label %scend6 scend6: %t35 = load i32, ptr %t20 %t36 = icmp ne i32 %t35, 0 br i1 %t36, label %then7, label %ifend9 then7: %t37 = load ptr, ptr %t19 store ptr %t37, ptr %retval br label %ret ifend9: %t38 = load i32, ptr %t1 %t39 = add i32 %t38, 1 store i32 %t39, ptr %t1 br label %wcond0 wend2: store ptr null, ptr %retval br label %ret ret: %t40 = load ptr, ptr %retval ret ptr %t40 } 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 %t85 = alloca ptr %t87 = alloca ptr %t95 = alloca ptr %t115 = alloca i32 %t121 = alloca ptr %t123 = alloca ptr %t133 = alloca ptr %t150 = alloca ptr %t171 = alloca ptr %t180 = alloca ptr %t181 = alloca i32 %t182 = alloca i32 %t209 = alloca ptr store ptr %arg_st, ptr %t0 store ptr @.str18100, 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 @.str18101, 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 @.str18102) %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 @.str18103) %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 @.str18104) %t40 = load ptr, ptr %t1 call void @fn_emit(ptr %t40) call void @fn_emit(ptr @.str18105) %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 @.str18106) %t44 = load ptr, ptr %t0 %t45 = getelementptr inbounds %Cmp_Node, ptr %t44, i32 0, i32 1 %t46 = load ptr, ptr %t45 store i32 10081, ptr @lp_site %t47 = call ptr @lp_str_concat(ptr @.str18107, ptr %t46) store i32 0, ptr @lp_site store i32 10082, ptr @lp_site %t48 = call ptr @lp_str_concat(ptr %t47, ptr @.str18109) store i32 0, ptr @lp_site call void @lp_free(ptr %t47) 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 store i32 10083, ptr @lp_site %t59 = call ptr @lp_str_concat(ptr @.str18110, ptr %t58) store i32 0, ptr @lp_site store i32 10084, ptr @lp_site %t60 = call ptr @lp_str_concat(ptr %t59, ptr @.str18111) store i32 0, ptr @lp_site call void @lp_free(ptr %t59) 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 @.str18112) %t66 = load ptr, ptr %t49 call void @fn_emit(ptr %t66) call void @fn_emit(ptr @.str18113) 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 = load ptr, ptr %t0 %t81 = getelementptr inbounds %Cmp_Node, ptr %t80, i32 0, i32 1 %t82 = load ptr, ptr %t81 store i32 10085, ptr @lp_site %t83 = call ptr @lp_str_concat(ptr @.str18114, ptr %t82) store i32 0, ptr @lp_site %t84 = call ptr @fn_ecs_base(ptr %t83) store ptr %t84, ptr %t85 %t86 = call ptr @fn_nreg() store ptr %t86, ptr %t87 call void @fn_emit(ptr @.str18115) %t88 = load ptr, ptr %t87 call void @fn_emit(ptr %t88) call void @fn_emit(ptr @.str18116) %t89 = load ptr, ptr %t85 call void @fn_emit(ptr %t89) call void @fn_emit(ptr @.str18117) %t90 = load ptr, ptr %t77 %t91 = getelementptr inbounds %Cmp_Val, ptr %t90, i32 0, i32 0 %t92 = load ptr, ptr %t91 call void @fn_emit(ptr %t92) call void @fn_emit(ptr @.str18118) call void @fn_emit(ptr @.str18119) %t93 = load ptr, ptr %t1 call void @fn_emit(ptr %t93) call void @fn_emit(ptr @.str18120) %t94 = load ptr, ptr %t87 call void @fn_emit(ptr %t94) call void @fn_emit(ptr @.str18121) store ptr null, ptr %t95 %t96 = load ptr, ptr %t0 %t97 = getelementptr inbounds %Cmp_Node, ptr %t96, i32 0, i32 2 %t98 = load i32, ptr %t97 %t99 = icmp eq i32 %t98, 1 %t100 = zext i1 %t99 to i32 %t101 = icmp ne i32 %t100, 0 br i1 %t101, label %then22, label %else23 then22: %t102 = load ptr, ptr %t0 %t103 = getelementptr inbounds %Cmp_Node, ptr %t102, i32 0, i32 1 %t104 = load ptr, ptr %t103 %t105 = call ptr @fn_onenable_body(ptr %t104) store ptr %t105, ptr %t95 br label %ifend24 else23: %t106 = load ptr, ptr %t0 %t107 = getelementptr inbounds %Cmp_Node, ptr %t106, i32 0, i32 1 %t108 = load ptr, ptr %t107 %t109 = call ptr @fn_ondisable_body(ptr %t108) store ptr %t109, ptr %t95 br label %ifend24 ifend24: %t110 = load ptr, ptr %t95 %t111 = icmp ne ptr %t110, null %t112 = zext i1 %t111 to i32 %t113 = icmp ne i32 %t112, 0 br i1 %t113, label %then25, label %ifend27 then25: %t114 = load i32, ptr @g_nloc store i32 %t114, ptr %t115 %t116 = load ptr, ptr %t0 %t117 = getelementptr inbounds %Cmp_Node, ptr %t116, i32 0, i32 1 %t118 = load ptr, ptr %t117 store i32 10086, ptr @lp_site %t119 = call ptr @lp_str_concat(ptr @.str18122, ptr %t118) store i32 0, ptr @lp_site %t120 = call ptr @fn_ecs_base(ptr %t119) store ptr %t120, ptr %t121 %t122 = call ptr @fn_nreg() store ptr %t122, ptr %t123 call void @fn_emit(ptr @.str18123) %t124 = load ptr, ptr %t123 call void @fn_emit(ptr %t124) call void @fn_emit(ptr @.str18124) %t125 = load ptr, ptr %t0 %t126 = getelementptr inbounds %Cmp_Node, ptr %t125, i32 0, i32 1 %t127 = load ptr, ptr %t126 call void @fn_emit(ptr %t127) call void @fn_emit(ptr @.str18125) %t128 = load ptr, ptr %t121 call void @fn_emit(ptr %t128) call void @fn_emit(ptr @.str18126) %t129 = load ptr, ptr %t77 %t130 = getelementptr inbounds %Cmp_Val, ptr %t129, i32 0, i32 0 %t131 = load ptr, ptr %t130 call void @fn_emit(ptr %t131) call void @fn_emit(ptr @.str18127) %t132 = call ptr @fn_emit_alloca(ptr @.str18128) store ptr %t132, ptr %t133 call void @fn_emit(ptr @.str18129) %t134 = load ptr, ptr %t123 call void @fn_emit(ptr %t134) call void @fn_emit(ptr @.str18130) %t135 = load ptr, ptr %t133 call void @fn_emit(ptr %t135) call void @fn_emit(ptr @.str18131) %t136 = load ptr, ptr %t0 %t137 = getelementptr inbounds %Cmp_Node, ptr %t136, i32 0, i32 1 %t138 = load ptr, ptr %t137 %t139 = load ptr, ptr %t133 %t140 = load ptr, ptr %t0 %t141 = getelementptr inbounds %Cmp_Node, ptr %t140, i32 0, i32 1 %t142 = load ptr, ptr %t141 call void @fn_loc_push(ptr %t138, ptr %t139, ptr %t142) %t143 = load ptr, ptr %t95 call void @fn_emit_block(ptr %t143) %t144 = load i32, ptr %t115 store i32 %t144, ptr @g_nloc br label %ifend27 ifend27: %t145 = load ptr, ptr %t0 %t146 = getelementptr inbounds %Cmp_Node, ptr %t145, i32 0, i32 1 %t147 = load ptr, ptr %t146 store i32 10087, ptr @lp_site %t148 = call ptr @lp_str_concat(ptr @.str18132, ptr %t147) store i32 0, ptr @lp_site store i32 10088, ptr @lp_site %t149 = call ptr @lp_str_concat(ptr %t148, ptr @.str18133) store i32 0, ptr @lp_site call void @lp_free(ptr %t148) store ptr %t149, ptr %t150 %t151 = load ptr, ptr %t0 %t152 = getelementptr inbounds %Cmp_Node, ptr %t151, i32 0, i32 2 %t153 = load i32, ptr %t152 %t154 = icmp eq i32 %t153, 1 %t155 = zext i1 %t154 to i32 %t156 = icmp ne i32 %t155, 0 br i1 %t156, label %then28, label %ifend30 then28: %t157 = load ptr, ptr %t0 %t158 = getelementptr inbounds %Cmp_Node, ptr %t157, i32 0, i32 1 %t159 = load ptr, ptr %t158 store i32 10089, ptr @lp_site %t160 = call ptr @lp_str_concat(ptr @.str18134, ptr %t159) store i32 0, ptr @lp_site store i32 10090, ptr @lp_site %t161 = call ptr @lp_str_concat(ptr %t160, ptr @.str18135) store i32 0, ptr @lp_site call void @lp_free(ptr %t160) store ptr %t161, ptr %t150 br label %ifend30 ifend30: %t162 = load ptr, ptr %t150 %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 %then31, label %ifend33 then31: call void @fn_emit(ptr @.str18136) %t167 = load ptr, ptr %t150 call void @fn_emit(ptr %t167) call void @fn_emit(ptr @.str18137) %t168 = load ptr, ptr %t77 %t169 = getelementptr inbounds %Cmp_Val, ptr %t168, i32 0, i32 0 %t170 = load ptr, ptr %t169 call void @fn_emit(ptr %t170) call void @fn_emit(ptr @.str18138) br label %ifend33 ifend33: br label %ifend21 else20: store ptr @.str18139, ptr %t171 %t172 = load ptr, ptr %t0 %t173 = getelementptr inbounds %Cmp_Node, ptr %t172, i32 0, i32 1 %t174 = load ptr, ptr %t173 %t175 = call i32 @fn_is_model(ptr %t174) %t176 = icmp ne i32 %t175, 0 br i1 %t176, label %then34, label %ifend36 then34: store ptr @.str18140, ptr %t171 br label %ifend36 ifend36: %t177 = load ptr, ptr %t0 %t178 = getelementptr inbounds %Cmp_Node, ptr %t177, i32 0, i32 1 %t179 = load ptr, ptr %t178 store ptr %t179, ptr %t180 %t183 = load ptr, ptr %t171 %t184 = call i32 @lp_str_eq(ptr %t183, ptr @.str18141) %t185 = icmp ne i32 %t184, 0 %t186 = zext i1 %t185 to i32 store i32 %t186, ptr %t182 br i1 %t185, label %sc37, label %scend38 sc37: %t187 = load ptr, ptr %t180 %t188 = call ptr @fn_find_sys(ptr %t187) %t189 = icmp eq ptr %t188, null %t190 = zext i1 %t189 to i32 %t191 = icmp ne i32 %t190, 0 %t192 = zext i1 %t191 to i32 store i32 %t192, ptr %t182 br label %scend38 scend38: %t193 = load i32, ptr %t182 %t194 = icmp ne i32 %t193, 0 %t195 = zext i1 %t194 to i32 store i32 %t195, ptr %t181 br i1 %t194, label %sc39, label %scend40 sc39: %t196 = load ptr, ptr @g_g_cur_scene %t197 = icmp ne ptr %t196, null %t198 = zext i1 %t197 to i32 %t199 = icmp ne i32 %t198, 0 %t200 = zext i1 %t199 to i32 store i32 %t200, ptr %t181 br label %scend40 scend40: %t201 = load i32, ptr %t181 %t202 = icmp ne i32 %t201, 0 br i1 %t202, label %then41, label %ifend43 then41: %t203 = load ptr, ptr @g_g_cur_scene %t204 = getelementptr inbounds %Cmp_Node, ptr %t203, i32 0, i32 1 %t205 = load ptr, ptr %t204 store i32 10091, ptr @lp_site %t206 = call ptr @lp_str_concat(ptr %t205, ptr @.str18142) store i32 0, ptr @lp_site %t207 = load ptr, ptr %t180 store i32 10092, ptr @lp_site %t208 = call ptr @lp_str_concat(ptr %t206, ptr %t207) store i32 0, ptr @lp_site call void @lp_free(ptr %t206) store ptr %t208, ptr %t209 %t210 = load ptr, ptr %t209 %t211 = call ptr @fn_find_sys(ptr %t210) %t212 = icmp ne ptr %t211, null %t213 = zext i1 %t212 to i32 %t214 = icmp ne i32 %t213, 0 br i1 %t214, label %then44, label %ifend46 then44: %t215 = load ptr, ptr %t209 store ptr %t215, ptr %t180 br label %ifend46 ifend46: br label %ifend43 ifend43: call void @fn_emit(ptr @.str18143) %t216 = load ptr, ptr %t1 call void @fn_emit(ptr %t216) call void @fn_emit(ptr @.str18144) %t217 = load ptr, ptr %t171 call void @fn_emit(ptr %t217) %t218 = load ptr, ptr %t180 call void @fn_emit(ptr %t218) call void @fn_emit(ptr @.str18145) br label %ifend21 ifend21: br label %ret ret: ret void } define void @fn_emit_system_fn(ptr %arg_sys) { entry: %t0 = alloca ptr %t11 = alloca ptr %t14 = alloca ptr store ptr %arg_sys, ptr %t0 %t1 = load ptr, ptr %t0 %t2 = getelementptr inbounds %Cmp_Node, ptr %t1, i32 0, i32 1 %t3 = load ptr, ptr %t2 call void @fn_det_enter(ptr %t3) %t4 = load ptr, ptr %t0 %t5 = getelementptr inbounds %Cmp_Node, ptr %t4, i32 0, i32 1 %t6 = load ptr, ptr %t5 call void @fn_fence_enter(ptr %t6) %t7 = load ptr, ptr %t0 %t8 = getelementptr inbounds %Cmp_Node, ptr %t7, i32 0, i32 6 %t9 = load ptr, ptr %t8 store ptr %t9, 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 @.str18146, ptr @g_ret_ty %t10 = call ptr @fn_buf_new() store ptr %t10, ptr %t11 %t12 = call ptr @fn_buf_new() store ptr %t12, ptr @g_falloc %t13 = load ptr, ptr @g_code store ptr %t13, ptr %t14 %t15 = load ptr, ptr %t11 store ptr %t15, ptr @g_code %t16 = load ptr, ptr %t0 %t17 = getelementptr inbounds %Cmp_Node, ptr %t16, i32 0, i32 4 %t18 = load ptr, ptr %t17 call void @fn_emit_block(ptr %t18) %t19 = load i32, ptr @g_g_term %t20 = icmp eq i32 %t19, 0 %t21 = zext i1 %t20 to i32 %t22 = icmp ne i32 %t21, 0 br i1 %t22, label %then0, label %ifend2 then0: call void @fn_emit(ptr @.str18147) br label %ifend2 ifend2: call void @fn_emit(ptr @.str18148) %t23 = load ptr, ptr %t14 store ptr %t23, ptr @g_code call void @fn_emit(ptr @.str18149) %t24 = load ptr, ptr %t0 %t25 = getelementptr inbounds %Cmp_Node, ptr %t24, i32 0, i32 1 %t26 = load ptr, ptr %t25 call void @fn_emit(ptr %t26) call void @fn_emit(ptr @.str18150) %t27 = load ptr, ptr @g_falloc %t28 = call ptr @fn_buf_str(ptr %t27) call void @fn_emit(ptr %t28) %t29 = load ptr, ptr %t11 %t30 = call ptr @fn_buf_str(ptr %t29) call void @fn_emit(ptr %t30) call void @fn_emit(ptr @.str18151) store ptr @.str18152, ptr @g_g_det_ctx br label %ret ret: ret void } define void @fn_emit_call_one(ptr %arg_d) { entry: %t0 = alloca ptr %t6 = alloca ptr %t11 = alloca ptr %t12 = alloca i32 %t37 = alloca ptr %t42 = alloca ptr %t56 = alloca ptr %t61 = alloca ptr %t69 = alloca ptr %t71 = alloca ptr store ptr %arg_d, ptr %t0 %t1 = load ptr, ptr %t0 %t2 = getelementptr inbounds %Cmp_Node, ptr %t1, i32 0, i32 1 %t3 = load ptr, ptr %t2 store i32 10093, ptr @lp_site %t4 = call ptr @lp_str_concat(ptr @.str18153, ptr %t3) store i32 0, ptr @lp_site %t5 = call ptr @fn_emit_bind(ptr %t4) store ptr %t5, ptr %t6 %t7 = load ptr, ptr %t6 store i32 10094, ptr @lp_site %t8 = call ptr @lp_str_concat(ptr @.str18155, ptr %t7) store i32 0, ptr @lp_site store i32 10095, ptr @lp_site %t9 = call ptr @lp_str_concat(ptr %t8, ptr @.str18156) store i32 0, ptr @lp_site call void @lp_free(ptr %t8) %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 store i32 10096, ptr @lp_site %t35 = call ptr @lp_str_concat(ptr @.str18157, ptr %t34) store i32 0, ptr @lp_site %t36 = call ptr @fn_emit_bind(ptr %t35) store ptr %t36, ptr %t37 %t38 = load ptr, ptr %t37 store i32 10097, ptr @lp_site %t39 = call ptr @lp_str_concat(ptr @.str18158, ptr %t38) store i32 0, ptr @lp_site store i32 10098, ptr @lp_site %t40 = call ptr @lp_str_concat(ptr %t39, ptr @.str18159) store i32 0, ptr @lp_site call void @lp_free(ptr %t39) %t41 = call ptr @fn_emit_bind(ptr %t40) store ptr %t41, ptr %t42 %t43 = load ptr, ptr %t11 store i32 10099, ptr @lp_site %t44 = call ptr @lp_str_concat(ptr @.str18160, ptr %t43) store i32 0, ptr @lp_site store i32 10100, ptr @lp_site %t45 = call ptr @lp_str_concat(ptr %t44, ptr @.str18161) store i32 0, ptr @lp_site call void @lp_free(ptr %t44) %t46 = load ptr, ptr %t42 store i32 10101, ptr @lp_site %t47 = call ptr @lp_str_concat(ptr %t45, ptr %t46) store i32 0, ptr @lp_site call void @lp_free(ptr %t45) %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 @.str18162) store ptr %t55, ptr %t56 %t57 = load ptr, ptr %t56 store i32 10102, ptr @lp_site %t58 = call ptr @lp_str_concat(ptr @.str18163, ptr %t57) store i32 0, ptr @lp_site store i32 10103, ptr @lp_site %t59 = call ptr @lp_str_concat(ptr %t58, ptr @.str18164) store i32 0, ptr @lp_site call void @lp_free(ptr %t58) %t60 = call ptr @fn_emit_bind(ptr %t59) store ptr %t60, ptr %t61 %t62 = load ptr, ptr %t11 store i32 10104, ptr @lp_site %t63 = call ptr @lp_str_concat(ptr @.str18165, ptr %t62) store i32 0, ptr @lp_site store i32 10105, ptr @lp_site %t64 = call ptr @lp_str_concat(ptr %t63, ptr @.str18166) store i32 0, ptr @lp_site call void @lp_free(ptr %t63) %t65 = load ptr, ptr %t61 store i32 10106, ptr @lp_site %t66 = call ptr @lp_str_concat(ptr %t64, ptr %t65) store i32 0, ptr @lp_site call void @lp_free(ptr %t64) %t67 = call ptr @fn_emit_bind(ptr %t66) store ptr %t67, ptr %t11 br label %ifend7 ifend7: %t68 = call ptr @fn_lbl(ptr @.str18167) store ptr %t68, ptr %t69 %t70 = call ptr @fn_lbl(ptr @.str18168) store ptr %t70, ptr %t71 call void @fn_emit(ptr @.str18169) %t72 = load ptr, ptr %t11 call void @fn_emit(ptr %t72) call void @fn_emit(ptr @.str18170) %t73 = load ptr, ptr %t69 call void @fn_emit(ptr %t73) call void @fn_emit(ptr @.str18171) %t74 = load ptr, ptr %t71 call void @fn_emit(ptr %t74) call void @fn_emit(ptr @.str18172) %t75 = load ptr, ptr %t69 call void @fn_emit(ptr %t75) call void @fn_emit(ptr @.str18173) %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 @.str18174) call void @fn_emit(ptr @.str18175) %t79 = load ptr, ptr %t71 call void @fn_emit(ptr %t79) call void @fn_emit(ptr @.str18176) %t80 = load ptr, ptr %t71 call void @fn_emit(ptr %t80) call void @fn_emit(ptr @.str18177) 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: %t20 = load ptr, ptr %t1 %t21 = call ptr @fn_fn_sym(ptr %t20) store i32 10107, ptr @lp_site %t22 = call ptr @lp_str_concat(ptr @.str18178, ptr %t21) store i32 0, ptr @lp_site store i32 10108, ptr @lp_site %t23 = call ptr @lp_str_concat(ptr %t22, ptr @.str18180) store i32 0, ptr @lp_site call void @lp_free(ptr %t22) call void @fn_emit(ptr %t23) 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 %t47 = alloca i32 %t63 = alloca i32 %t80 = 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 = load i32, ptr %t1 %t11 = getelementptr inbounds %LSlice, ptr %t9, i32 0, i32 0 %t12 = load ptr, ptr %t11 %t13 = getelementptr inbounds %LSlice, ptr %t9, i32 0, i32 1 %t14 = load i32, ptr %t13 %t15 = icmp ult i32 %t10, %t14 br i1 %t15, label %ixok3, label %ixbad4 ixbad4: store i32 10109, ptr @lp_site %t16 = call ptr @lp_win_stdio(i32 2) store i32 0, ptr @lp_site call i32 (ptr, ptr, ...) @fprintf(ptr %t16, ptr @.fmt_bounds, ptr @.str18181, i32 %t10, i32 %t14) call void @exit(i32 1) unreachable ixok3: %t17 = getelementptr inbounds ptr, ptr %t12, i32 %t10 %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 br i1 %t21, label %then5, label %ifend7 then5: %t22 = load ptr, ptr @g_g_esys_comp %t23 = load i32, ptr %t1 %t24 = getelementptr inbounds %LSlice, ptr %t22, i32 0, i32 0 %t25 = load ptr, ptr %t24 %t26 = getelementptr inbounds %LSlice, ptr %t22, i32 0, i32 1 %t27 = load i32, ptr %t26 %t28 = icmp ult i32 %t23, %t27 br i1 %t28, label %ixok8, label %ixbad9 ixbad9: store i32 10110, ptr @lp_site %t29 = call ptr @lp_win_stdio(i32 2) store i32 0, ptr @lp_site call i32 (ptr, ptr, ...) @fprintf(ptr %t29, ptr @.fmt_bounds, ptr @.str18183, i32 %t23, i32 %t27) call void @exit(i32 1) unreachable ixok8: %t30 = getelementptr inbounds ptr, ptr %t25, i32 %t23 %t31 = load ptr, ptr %t30 %t32 = load ptr, ptr @g_g_esys_fn %t33 = load i32, ptr %t1 %t34 = getelementptr inbounds %LSlice, ptr %t32, i32 0, i32 0 %t35 = load ptr, ptr %t34 %t36 = getelementptr inbounds %LSlice, ptr %t32, i32 0, i32 1 %t37 = load i32, ptr %t36 %t38 = icmp ult i32 %t33, %t37 br i1 %t38, label %ixok10, label %ixbad11 ixbad11: store i32 10111, ptr @lp_site %t39 = call ptr @lp_win_stdio(i32 2) store i32 0, ptr @lp_site call i32 (ptr, ptr, ...) @fprintf(ptr %t39, ptr @.fmt_bounds, ptr @.str18184, i32 %t33, i32 %t37) call void @exit(i32 1) unreachable ixok10: %t40 = getelementptr inbounds ptr, ptr %t35, i32 %t33 %t41 = load ptr, ptr %t40 call void @fn_emit_one_engine_system(ptr %t31, ptr %t41) br label %ifend7 ifend7: %t42 = load i32, ptr %t1 %t43 = add i32 %t42, 1 store i32 %t43, ptr %t1 br label %wcond0 wend2: %t44 = load ptr, ptr %t0 %t45 = call i32 @lp_str_eq(ptr %t44, ptr @.str18185) %t46 = icmp ne i32 %t45, 0 br i1 %t46, label %then12, label %ifend14 then12: %t48 = load i32, ptr @g_g_uses_tween_rt %t49 = icmp ne i32 %t48, 0 %t50 = zext i1 %t49 to i32 store i32 %t50, ptr %t47 br i1 %t49, label %sc15, label %scend16 sc15: %t51 = call ptr @fn_find_fn(ptr @.str18186) %t52 = icmp ne ptr %t51, null %t53 = zext i1 %t52 to i32 %t54 = icmp ne i32 %t53, 0 %t55 = zext i1 %t54 to i32 store i32 %t55, ptr %t47 br label %scend16 scend16: %t56 = load i32, ptr %t47 %t57 = icmp ne i32 %t56, 0 br i1 %t57, label %then17, label %ifend19 then17: %t58 = call ptr @fn_fn_sym(ptr @.str18188) store i32 10112, ptr @lp_site %t59 = call ptr @lp_str_concat(ptr @.str18187, ptr %t58) store i32 0, ptr @lp_site store i32 10113, ptr @lp_site %t60 = call ptr @lp_str_concat(ptr %t59, ptr @.str18189) store i32 0, ptr @lp_site call void @lp_free(ptr %t59) call void @fn_emit(ptr %t60) br label %ifend19 ifend19: %t61 = call i32 @fn_has_countdowns() %t62 = icmp ne i32 %t61, 0 br i1 %t62, label %then20, label %ifend22 then20: call void @fn_emit(ptr @.str18190) br label %ifend22 ifend22: %t64 = load i32, ptr @g_g_uses_fx %t65 = icmp ne i32 %t64, 0 %t66 = zext i1 %t65 to i32 store i32 %t66, ptr %t63 br i1 %t65, label %sc23, label %scend24 sc23: %t67 = call ptr @fn_find_fn(ptr @.str18191) %t68 = icmp ne ptr %t67, null %t69 = zext i1 %t68 to i32 %t70 = icmp ne i32 %t69, 0 %t71 = zext i1 %t70 to i32 store i32 %t71, ptr %t63 br label %scend24 scend24: %t72 = load i32, ptr %t63 %t73 = icmp ne i32 %t72, 0 br i1 %t73, label %then25, label %ifend27 then25: %t74 = call ptr @fn_fn_sym(ptr @.str18193) store i32 10114, ptr @lp_site %t75 = call ptr @lp_str_concat(ptr @.str18192, ptr %t74) store i32 0, ptr @lp_site store i32 10115, ptr @lp_site %t76 = call ptr @lp_str_concat(ptr %t75, ptr @.str18194) store i32 0, ptr @lp_site call void @lp_free(ptr %t75) call void @fn_emit(ptr %t76) br label %ifend27 ifend27: br label %ifend14 ifend14: %t77 = load ptr, ptr %t0 %t78 = call i32 @lp_str_eq(ptr %t77, ptr @.str18195) %t79 = icmp ne i32 %t78, 0 br i1 %t79, label %then28, label %ifend30 then28: %t81 = load i32, ptr @g_g_uses_fx %t82 = icmp ne i32 %t81, 0 %t83 = zext i1 %t82 to i32 store i32 %t83, ptr %t80 br i1 %t82, label %sc31, label %scend32 sc31: %t84 = call ptr @fn_find_fn(ptr @.str18196) %t85 = icmp ne ptr %t84, null %t86 = zext i1 %t85 to i32 %t87 = icmp ne i32 %t86, 0 %t88 = zext i1 %t87 to i32 store i32 %t88, ptr %t80 br label %scend32 scend32: %t89 = load i32, ptr %t80 %t90 = icmp ne i32 %t89, 0 br i1 %t90, label %then33, label %ifend35 then33: %t91 = call ptr @fn_fn_sym(ptr @.str18198) store i32 10116, ptr @lp_site %t92 = call ptr @lp_str_concat(ptr @.str18197, ptr %t91) store i32 0, ptr @lp_site store i32 10117, ptr @lp_site %t93 = call ptr @lp_str_concat(ptr %t92, ptr @.str18199) store i32 0, ptr @lp_site call void @lp_free(ptr %t92) call void @fn_emit(ptr %t93) br label %ifend35 ifend35: br label %ifend30 ifend30: br label %ret ret: ret void } define void @fn_emit_countdown_system() { entry: %t1 = alloca ptr %t3 = alloca ptr %t5 = alloca i32 %t6 = alloca i32 %t24 = alloca ptr %t31 = alloca i32 %t32 = alloca i32 %t64 = alloca ptr %t68 = alloca ptr %t75 = alloca ptr %t91 = alloca ptr %t127 = alloca ptr %t0 = call ptr @fn_itoa(i32 1024) store ptr %t0, ptr %t1 call void @fn_emit(ptr @.str18200) call void @fn_emit(ptr @.str18201) call void @fn_emit(ptr @.str18202) call void @fn_emit(ptr @.str18203) %t2 = call ptr @fn_ecs_base(ptr @.str18204) store ptr %t2, ptr %t3 call void @fn_emit(ptr @.str18205) %t4 = load ptr, ptr %t3 call void @fn_emit(ptr %t4) call void @fn_emit(ptr @.str18206) call void @fn_emit(ptr @.str18207) store i32 0, ptr %t5 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 = load i32, ptr %t6 %t16 = getelementptr inbounds %LSlice, ptr %t14, i32 0, i32 0 %t17 = load ptr, ptr %t16 %t18 = getelementptr inbounds %LSlice, ptr %t14, i32 0, i32 1 %t19 = load i32, ptr %t18 %t20 = icmp ult i32 %t15, %t19 br i1 %t20, label %ixok3, label %ixbad4 ixbad4: store i32 10118, ptr @lp_site %t21 = call ptr @lp_win_stdio(i32 2) store i32 0, ptr @lp_site call i32 (ptr, ptr, ...) @fprintf(ptr %t21, ptr @.fmt_bounds, ptr @.str18208, i32 %t15, i32 %t19) call void @exit(i32 1) unreachable ixok3: %t22 = getelementptr inbounds ptr, ptr %t17, i32 %t15 %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 0 %t27 = load i32, ptr %t26 %t28 = icmp eq i32 %t27, 8 %t29 = zext i1 %t28 to i32 %t30 = icmp ne i32 %t29, 0 br i1 %t30, label %then5, label %ifend7 then5: store i32 0, ptr %t31 store i32 0, ptr %t32 br label %wcond8 wcond8: %t33 = load i32, ptr %t32 %t34 = load ptr, ptr %t24 %t35 = getelementptr inbounds %Cmp_Node, ptr %t34, i32 0, i32 7 %t36 = load ptr, ptr %t35 %t37 = getelementptr inbounds %LSlice, ptr %t36, i32 0, i32 1 %t38 = load i32, ptr %t37 %t39 = icmp slt i32 %t33, %t38 %t40 = zext i1 %t39 to i32 %t41 = icmp ne i32 %t40, 0 br i1 %t41, label %wbody9, label %wend10 wbody9: %t42 = load ptr, ptr %t24 %t43 = getelementptr inbounds %Cmp_Node, ptr %t42, i32 0, i32 7 %t44 = load ptr, ptr %t43 %t45 = load i32, ptr %t32 %t46 = getelementptr inbounds %LSlice, ptr %t44, i32 0, i32 0 %t47 = load ptr, ptr %t46 %t48 = getelementptr inbounds %LSlice, ptr %t44, i32 0, i32 1 %t49 = load i32, ptr %t48 %t50 = icmp ult i32 %t45, %t49 br i1 %t50, label %ixok11, label %ixbad12 ixbad12: store i32 10119, ptr @lp_site %t51 = call ptr @lp_win_stdio(i32 2) store i32 0, ptr @lp_site call i32 (ptr, ptr, ...) @fprintf(ptr %t51, ptr @.fmt_bounds, ptr @.str18210, i32 %t45, i32 %t49) call void @exit(i32 1) unreachable ixok11: %t52 = getelementptr inbounds ptr, ptr %t47, i32 %t45 %t53 = load ptr, ptr %t52 %t54 = getelementptr inbounds %Cmp_Node, ptr %t53, i32 0, i32 3 %t55 = load ptr, ptr %t54 %t56 = call i32 @lp_str_eq(ptr %t55, ptr @.str18211) %t57 = icmp ne i32 %t56, 0 br i1 %t57, label %then13, label %ifend15 then13: store i32 1, ptr %t31 br label %ifend15 ifend15: %t58 = load i32, ptr %t32 %t59 = add i32 %t58, 1 store i32 %t59, ptr %t32 br label %wcond8 wend10: %t60 = load i32, ptr %t31 %t61 = icmp ne i32 %t60, 0 br i1 %t61, label %then16, label %ifend18 then16: %t62 = load i32, ptr %t5 %t63 = call ptr @fn_itoa(i32 %t62) store ptr %t63, ptr %t64 %t65 = load i32, ptr %t5 %t66 = add i32 %t65, 1 %t67 = call ptr @fn_itoa(i32 %t66) store ptr %t67, ptr %t68 call void @fn_emit(ptr @.str18212) %t69 = load ptr, ptr %t64 call void @fn_emit(ptr %t69) call void @fn_emit(ptr @.str18213) %t70 = load ptr, ptr %t24 %t71 = getelementptr inbounds %Cmp_Node, ptr %t70, i32 0, i32 1 %t72 = load ptr, ptr %t71 store i32 10120, ptr @lp_site %t73 = call ptr @lp_str_concat(ptr @.str18214, ptr %t72) store i32 0, ptr @lp_site %t74 = call ptr @fn_ecs_base(ptr %t73) store ptr %t74, ptr %t75 call void @fn_emit(ptr @.str18215) %t76 = load ptr, ptr %t64 call void @fn_emit(ptr %t76) call void @fn_emit(ptr @.str18216) %t77 = load ptr, ptr %t75 call void @fn_emit(ptr %t77) call void @fn_emit(ptr @.str18217) call void @fn_emit(ptr @.str18218) %t78 = load ptr, ptr %t64 call void @fn_emit(ptr %t78) call void @fn_emit(ptr @.str18219) %t79 = load ptr, ptr %t64 call void @fn_emit(ptr %t79) call void @fn_emit(ptr @.str18220) call void @fn_emit(ptr @.str18221) %t80 = load ptr, ptr %t64 call void @fn_emit(ptr %t80) call void @fn_emit(ptr @.str18222) %t81 = load ptr, ptr %t64 call void @fn_emit(ptr %t81) call void @fn_emit(ptr @.str18223) call void @fn_emit(ptr @.str18224) %t82 = load ptr, ptr %t64 call void @fn_emit(ptr %t82) call void @fn_emit(ptr @.str18225) %t83 = load ptr, ptr %t64 call void @fn_emit(ptr %t83) call void @fn_emit(ptr @.str18226) %t84 = load ptr, ptr %t68 call void @fn_emit(ptr %t84) call void @fn_emit(ptr @.str18227) call void @fn_emit(ptr @.str18228) %t85 = load ptr, ptr %t64 call void @fn_emit(ptr %t85) call void @fn_emit(ptr @.str18229) %t86 = load ptr, ptr %t24 %t87 = getelementptr inbounds %Cmp_Node, ptr %t86, i32 0, i32 1 %t88 = load ptr, ptr %t87 store i32 10121, ptr @lp_site %t89 = call ptr @lp_str_concat(ptr @.str18230, ptr %t88) store i32 0, ptr @lp_site %t90 = call ptr @fn_ecs_base(ptr %t89) store ptr %t90, ptr %t91 call void @fn_emit(ptr @.str18231) %t92 = load ptr, ptr %t64 call void @fn_emit(ptr %t92) call void @fn_emit(ptr @.str18232) %t93 = load ptr, ptr %t24 %t94 = getelementptr inbounds %Cmp_Node, ptr %t93, i32 0, i32 1 %t95 = load ptr, ptr %t94 call void @fn_emit(ptr %t95) call void @fn_emit(ptr @.str18233) %t96 = load ptr, ptr %t91 call void @fn_emit(ptr %t96) call void @fn_emit(ptr @.str18234) store i32 0, ptr %t32 br label %wcond19 wcond19: %t97 = load i32, ptr %t32 %t98 = load ptr, ptr %t24 %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 %wbody20, label %wend21 wbody20: %t106 = load ptr, ptr %t24 %t107 = getelementptr inbounds %Cmp_Node, ptr %t106, i32 0, i32 7 %t108 = load ptr, ptr %t107 %t109 = load i32, ptr %t32 %t110 = getelementptr inbounds %LSlice, ptr %t108, i32 0, i32 0 %t111 = load ptr, ptr %t110 %t112 = getelementptr inbounds %LSlice, ptr %t108, i32 0, i32 1 %t113 = load i32, ptr %t112 %t114 = icmp ult i32 %t109, %t113 br i1 %t114, label %ixok22, label %ixbad23 ixbad23: store i32 10122, ptr @lp_site %t115 = call ptr @lp_win_stdio(i32 2) store i32 0, ptr @lp_site call i32 (ptr, ptr, ...) @fprintf(ptr %t115, ptr @.fmt_bounds, ptr @.str18235, i32 %t109, i32 %t113) call void @exit(i32 1) unreachable ixok22: %t116 = getelementptr inbounds ptr, ptr %t111, i32 %t109 %t117 = load ptr, ptr %t116 %t118 = getelementptr inbounds %Cmp_Node, ptr %t117, i32 0, i32 3 %t119 = load ptr, ptr %t118 %t120 = call i32 @lp_str_eq(ptr %t119, ptr @.str18236) %t121 = icmp ne i32 %t120, 0 br i1 %t121, label %then24, label %ifend26 then24: %t122 = load ptr, ptr %t64 store i32 10123, ptr @lp_site %t123 = call ptr @lp_str_concat(ptr %t122, ptr @.str18237) store i32 0, ptr @lp_site %t124 = load i32, ptr %t32 %t125 = call ptr @fn_itoa(i32 %t124) store i32 10124, ptr @lp_site %t126 = call ptr @lp_str_concat(ptr %t123, ptr %t125) store i32 0, ptr @lp_site call void @lp_free(ptr %t123) store ptr %t126, ptr %t127 call void @fn_emit(ptr @.str18238) %t128 = load ptr, ptr %t127 call void @fn_emit(ptr %t128) call void @fn_emit(ptr @.str18239) %t129 = load ptr, ptr %t24 %t130 = getelementptr inbounds %Cmp_Node, ptr %t129, i32 0, i32 1 %t131 = load ptr, ptr %t130 call void @fn_emit(ptr %t131) call void @fn_emit(ptr @.str18240) %t132 = load ptr, ptr %t64 call void @fn_emit(ptr %t132) call void @fn_emit(ptr @.str18241) %t133 = load i32, ptr %t32 %t134 = call ptr @fn_itoa(i32 %t133) call void @fn_emit(ptr %t134) call void @fn_emit(ptr @.str18242) call void @fn_emit(ptr @.str18243) %t135 = load ptr, ptr %t127 call void @fn_emit(ptr %t135) call void @fn_emit(ptr @.str18244) %t136 = load ptr, ptr %t127 call void @fn_emit(ptr %t136) call void @fn_emit(ptr @.str18245) call void @fn_emit(ptr @.str18246) %t137 = load ptr, ptr %t127 call void @fn_emit(ptr %t137) call void @fn_emit(ptr @.str18247) %t138 = load ptr, ptr %t127 call void @fn_emit(ptr %t138) call void @fn_emit(ptr @.str18248) call void @fn_emit(ptr @.str18249) %t139 = load ptr, ptr %t127 call void @fn_emit(ptr %t139) call void @fn_emit(ptr @.str18250) %t140 = load ptr, ptr %t127 call void @fn_emit(ptr %t140) call void @fn_emit(ptr @.str18251) call void @fn_emit(ptr @.str18252) %t141 = load ptr, ptr %t127 call void @fn_emit(ptr %t141) call void @fn_emit(ptr @.str18253) %t142 = load ptr, ptr %t127 call void @fn_emit(ptr %t142) call void @fn_emit(ptr @.str18254) %t143 = load ptr, ptr %t127 call void @fn_emit(ptr %t143) call void @fn_emit(ptr @.str18255) %t144 = load ptr, ptr %t127 call void @fn_emit(ptr %t144) call void @fn_emit(ptr @.str18256) call void @fn_emit(ptr @.str18257) %t145 = load ptr, ptr %t127 call void @fn_emit(ptr %t145) call void @fn_emit(ptr @.str18258) %t146 = load ptr, ptr %t127 call void @fn_emit(ptr %t146) call void @fn_emit(ptr @.str18259) br label %ifend26 ifend26: %t147 = load i32, ptr %t32 %t148 = add i32 %t147, 1 store i32 %t148, ptr %t32 br label %wcond19 wend21: call void @fn_emit(ptr @.str18260) %t149 = load ptr, ptr %t68 call void @fn_emit(ptr %t149) call void @fn_emit(ptr @.str18261) %t150 = load i32, ptr %t5 %t151 = add i32 %t150, 1 store i32 %t151, ptr %t5 br label %ifend18 ifend18: br label %ifend7 ifend7: %t152 = load i32, ptr %t6 %t153 = add i32 %t152, 1 store i32 %t153, ptr %t6 br label %wcond0 wend2: call void @fn_emit(ptr @.str18262) %t154 = load i32, ptr %t5 %t155 = call ptr @fn_itoa(i32 %t154) call void @fn_emit(ptr %t155) call void @fn_emit(ptr @.str18263) call void @fn_emit(ptr @.str18264) 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 @.str18265, 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 @.str18266) %t17 = load ptr, ptr %t16 call void @fn_emit(ptr %t17) call void @fn_emit(ptr @.str18267) %t18 = load ptr, ptr %t5 store ptr %t18, ptr @g_code call void @fn_emit(ptr @.str18268) %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 @.str18269) %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 @.str18270) br label %ret ret: ret void } define void @fn_emit_prefab_fns() { entry: %t0 = alloca i32 %t36 = alloca ptr %t39 = alloca ptr %t58 = alloca ptr %t66 = alloca ptr %t74 = alloca ptr %t81 = alloca ptr %t86 = alloca ptr %t88 = alloca ptr %t90 = alloca ptr %t101 = 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 = load i32, ptr %t0 %t10 = getelementptr inbounds %LSlice, ptr %t8, i32 0, i32 0 %t11 = load ptr, ptr %t10 %t12 = getelementptr inbounds %LSlice, ptr %t8, i32 0, i32 1 %t13 = load i32, ptr %t12 %t14 = icmp ult i32 %t9, %t13 br i1 %t14, label %ixok3, label %ixbad4 ixbad4: store i32 10125, ptr @lp_site %t15 = call ptr @lp_win_stdio(i32 2) store i32 0, ptr @lp_site call i32 (ptr, ptr, ...) @fprintf(ptr %t15, ptr @.fmt_bounds, ptr @.str18271, i32 %t9, i32 %t13) call void @exit(i32 1) unreachable ixok3: %t16 = getelementptr inbounds ptr, ptr %t11, i32 %t9 %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, 53 %t21 = zext i1 %t20 to i32 %t22 = icmp ne i32 %t21, 0 br i1 %t22, label %then5, label %ifend7 then5: %t23 = load ptr, ptr @g_prog %t24 = load i32, ptr %t0 %t25 = getelementptr inbounds %LSlice, ptr %t23, i32 0, i32 0 %t26 = load ptr, ptr %t25 %t27 = getelementptr inbounds %LSlice, ptr %t23, i32 0, i32 1 %t28 = load i32, ptr %t27 %t29 = icmp ult i32 %t24, %t28 br i1 %t29, label %ixok8, label %ixbad9 ixbad9: store i32 10126, ptr @lp_site %t30 = call ptr @lp_win_stdio(i32 2) store i32 0, ptr @lp_site call i32 (ptr, ptr, ...) @fprintf(ptr %t30, ptr @.fmt_bounds, ptr @.str18273, i32 %t24, i32 %t28) call void @exit(i32 1) unreachable ixok8: %t31 = getelementptr inbounds ptr, ptr %t26, i32 %t24 %t32 = load ptr, ptr %t31 call void @fn_emit_prefab_fn(ptr %t32) br label %ifend7 ifend7: %t33 = load i32, ptr %t0 %t34 = add i32 %t33, 1 store i32 %t34, 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 %t35 = call ptr @fn_buf_new() store ptr %t35, ptr %t36 %t37 = call ptr @fn_buf_new() store ptr %t37, ptr @g_falloc %t38 = load ptr, ptr @g_code store ptr %t38, ptr %t39 %t40 = load ptr, ptr %t36 store ptr %t40, ptr @g_code store i32 0, ptr %t0 br label %wcond10 wcond10: %t41 = load i32, ptr %t0 %t42 = load ptr, ptr @g_prog %t43 = getelementptr inbounds %LSlice, ptr %t42, i32 0, i32 1 %t44 = load i32, ptr %t43 %t45 = icmp slt i32 %t41, %t44 %t46 = zext i1 %t45 to i32 %t47 = icmp ne i32 %t46, 0 br i1 %t47, label %wbody11, label %wend12 wbody11: %t48 = load ptr, ptr @g_prog %t49 = load i32, ptr %t0 %t50 = getelementptr inbounds %LSlice, ptr %t48, i32 0, i32 0 %t51 = load ptr, ptr %t50 %t52 = getelementptr inbounds %LSlice, ptr %t48, i32 0, i32 1 %t53 = load i32, ptr %t52 %t54 = icmp ult i32 %t49, %t53 br i1 %t54, label %ixok13, label %ixbad14 ixbad14: store i32 10127, ptr @lp_site %t55 = call ptr @lp_win_stdio(i32 2) store i32 0, ptr @lp_site call i32 (ptr, ptr, ...) @fprintf(ptr %t55, ptr @.fmt_bounds, ptr @.str18274, i32 %t49, i32 %t53) call void @exit(i32 1) unreachable ixok13: %t56 = getelementptr inbounds ptr, ptr %t51, i32 %t49 %t57 = load ptr, ptr %t56 store ptr %t57, ptr %t58 %t59 = load ptr, ptr %t58 %t60 = getelementptr inbounds %Cmp_Node, ptr %t59, i32 0, i32 0 %t61 = load i32, ptr %t60 %t62 = icmp eq i32 %t61, 53 %t63 = zext i1 %t62 to i32 %t64 = icmp ne i32 %t63, 0 br i1 %t64, label %then15, label %ifend17 then15: %t65 = call ptr @fn_node(i32 31) store ptr %t65, ptr %t66 %t67 = load ptr, ptr %t66 %t68 = getelementptr inbounds %Cmp_Node, ptr %t67, i32 0, i32 1 %t69 = load ptr, ptr %t58 %t70 = getelementptr inbounds %Cmp_Node, ptr %t69, i32 0, i32 1 %t71 = load ptr, ptr %t70 store ptr %t71, ptr %t68 %t72 = load ptr, ptr %t66 %t73 = call ptr @fn_emit_expr(ptr %t72) store ptr %t73, ptr %t74 %t75 = load ptr, ptr %t74 %t76 = getelementptr inbounds %Cmp_Val, ptr %t75, i32 0, i32 0 %t77 = load ptr, ptr %t76 store i32 10128, ptr @lp_site %t78 = call ptr @lp_str_concat(ptr @.str18275, ptr %t77) store i32 0, ptr @lp_site store i32 10129, ptr @lp_site %t79 = call ptr @lp_str_concat(ptr %t78, ptr @.str18276) store i32 0, ptr @lp_site call void @lp_free(ptr %t78) %t80 = call ptr @fn_emit_bind(ptr %t79) store ptr %t80, ptr %t81 %t82 = load ptr, ptr %t81 store i32 10130, ptr @lp_site %t83 = call ptr @lp_str_concat(ptr @.str18277, ptr %t82) store i32 0, ptr @lp_site store i32 10131, ptr @lp_site %t84 = call ptr @lp_str_concat(ptr %t83, ptr @.str18278) store i32 0, ptr @lp_site call void @lp_free(ptr %t83) %t85 = call ptr @fn_emit_bind(ptr %t84) store ptr %t85, ptr %t86 %t87 = call ptr @fn_lbl(ptr @.str18279) store ptr %t87, ptr %t88 %t89 = call ptr @fn_lbl(ptr @.str18280) store ptr %t89, ptr %t90 call void @fn_emit(ptr @.str18281) %t91 = load ptr, ptr %t86 call void @fn_emit(ptr %t91) call void @fn_emit(ptr @.str18282) %t92 = load ptr, ptr %t88 call void @fn_emit(ptr %t92) call void @fn_emit(ptr @.str18283) %t93 = load ptr, ptr %t90 call void @fn_emit(ptr %t93) call void @fn_emit(ptr @.str18284) %t94 = load ptr, ptr %t88 call void @fn_emit(ptr %t94) call void @fn_emit(ptr @.str18285) %t95 = load ptr, ptr %t58 %t96 = getelementptr inbounds %Cmp_Node, ptr %t95, i32 0, i32 1 %t97 = load ptr, ptr %t96 store i32 10132, ptr @lp_site %t98 = call ptr @lp_str_concat(ptr @.str18286, ptr %t97) store i32 0, ptr @lp_site store i32 10133, ptr @lp_site %t99 = call ptr @lp_str_concat(ptr %t98, ptr @.str18287) store i32 0, ptr @lp_site call void @lp_free(ptr %t98) %t100 = call ptr @fn_emit_bind(ptr %t99) store ptr %t100, ptr %t101 call void @fn_emit(ptr @.str18288) %t102 = load ptr, ptr %t101 call void @fn_emit(ptr %t102) call void @fn_emit(ptr @.str18289) %t103 = load ptr, ptr %t90 call void @fn_emit(ptr %t103) call void @fn_emit(ptr @.str18290) br label %ifend17 ifend17: %t104 = load i32, ptr %t0 %t105 = add i32 %t104, 1 store i32 %t105, ptr %t0 br label %wcond10 wend12: call void @fn_emit(ptr @.str18291) %t106 = load ptr, ptr %t39 store ptr %t106, ptr @g_code call void @fn_emit(ptr @.str18292) %t107 = load ptr, ptr @g_falloc %t108 = call ptr @fn_buf_str(ptr %t107) call void @fn_emit(ptr %t108) %t109 = load ptr, ptr %t36 %t110 = call ptr @fn_buf_str(ptr %t109) call void @fn_emit(ptr %t110) call void @fn_emit(ptr @.str18293) 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 @.str18294) %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 @.str18295) %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 @.str18296) %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 @.str18297) %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 @.str18298) %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 @.str18299) %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 @.str18300) %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 @.str18301) %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 store i32 10134, ptr @lp_site %t26 = call ptr @lp_str_concat(ptr @.str18302, ptr %t25) store i32 0, ptr @lp_site store i32 10135, ptr @lp_site %t27 = call ptr @lp_str_concat(ptr %t26, ptr @.str18304) store i32 0, ptr @lp_site call void @lp_free(ptr %t26) 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 @.str18305) %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 @.str18306) %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 @.str18307) %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 @.str18308) %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 @.str18309) %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 @.str18310) %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 @.str18311) %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 @.str18312) call void @fn_emith(ptr @.str18313) call void @fn_emith(ptr @.str18314) call void @fn_emith(ptr @.str18315) call void @fn_emith(ptr @.str18316) call void @fn_emith(ptr @.str18317) call void @fn_emith(ptr @.str18318) call void @fn_emith(ptr @.str18319) call void @fn_emith(ptr @.str18320) call void @fn_emith(ptr @.str18321) call void @fn_emith(ptr @.str18322) call void @fn_emith(ptr @.str18323) call void @fn_emith(ptr @.str18324) call void @fn_emith(ptr @.str18325) call void @fn_emith(ptr @.str18326) call void @fn_emith(ptr @.str18327) call void @fn_emith(ptr @.str18328) call void @fn_emith(ptr @.str18329) call void @fn_emith(ptr @.str18330) call void @fn_emit(ptr @.str18331) %t0 = call ptr @fn_find_fn(ptr @.str18332) %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 @.str18333) 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 @.str18334) %t12 = load ptr, ptr @g_g_mod_sys_fn %t13 = load i32, ptr %t4 %t14 = getelementptr inbounds %LSlice, ptr %t12, i32 0, i32 0 %t15 = load ptr, ptr %t14 %t16 = getelementptr inbounds %LSlice, ptr %t12, i32 0, i32 1 %t17 = load i32, ptr %t16 %t18 = icmp ult i32 %t13, %t17 br i1 %t18, label %ixok6, label %ixbad7 ixbad7: store i32 10136, ptr @lp_site %t19 = call ptr @lp_win_stdio(i32 2) store i32 0, ptr @lp_site call i32 (ptr, ptr, ...) @fprintf(ptr %t19, ptr @.fmt_bounds, ptr @.str18335, i32 %t13, i32 %t17) call void @exit(i32 1) unreachable ixok6: %t20 = getelementptr inbounds ptr, ptr %t15, i32 %t13 %t21 = load ptr, ptr %t20 call void @fn_emit(ptr %t21) call void @fn_emit(ptr @.str18337) %t22 = load ptr, ptr @g_g_mod_sys_phase %t23 = load i32, ptr %t4 %t24 = getelementptr inbounds %LSlice, ptr %t22, i32 0, i32 0 %t25 = load ptr, ptr %t24 %t26 = getelementptr inbounds %LSlice, ptr %t22, i32 0, i32 1 %t27 = load i32, ptr %t26 %t28 = icmp ult i32 %t23, %t27 br i1 %t28, label %ixok8, label %ixbad9 ixbad9: store i32 10137, ptr @lp_site %t29 = call ptr @lp_win_stdio(i32 2) store i32 0, ptr @lp_site call i32 (ptr, ptr, ...) @fprintf(ptr %t29, ptr @.fmt_bounds, ptr @.str18338, i32 %t23, i32 %t27) call void @exit(i32 1) unreachable ixok8: %t30 = getelementptr inbounds ptr, ptr %t25, i32 %t23 %t31 = load ptr, ptr %t30 %t32 = call i32 @fn_phase_id(ptr %t31) %t33 = call ptr @fn_itoa(i32 %t32) call void @fn_emit(ptr %t33) call void @fn_emit(ptr @.str18339) %t34 = load i32, ptr %t4 %t35 = add i32 %t34, 1 store i32 %t35, ptr %t4 br label %wcond3 wend5: call void @fn_emit(ptr @.str18340) call void @fn_emith(ptr @.str18341) 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 @.str18342) %t2 = load ptr, ptr %t1 call void @fn_emith(ptr %t2) call void @fn_emith(ptr @.str18343) call void @fn_emith(ptr @.str18344) %t3 = load ptr, ptr %t1 call void @fn_emith(ptr %t3) call void @fn_emith(ptr @.str18345) call void @fn_emith(ptr @.str18346) call void @fn_emit(ptr @.str18347) call void @fn_emit(ptr @.str18348) call void @fn_emit(ptr @.str18349) %t4 = load ptr, ptr %t1 call void @fn_emit(ptr %t4) call void @fn_emit(ptr @.str18350) call void @fn_emit(ptr @.str18351) call void @fn_emit(ptr @.str18352) call void @fn_emit(ptr @.str18353) %t5 = load ptr, ptr %t1 call void @fn_emit(ptr %t5) call void @fn_emit(ptr @.str18354) call void @fn_emit(ptr @.str18355) call void @fn_emit(ptr @.str18356) %t6 = load ptr, ptr %t1 call void @fn_emit(ptr %t6) call void @fn_emit(ptr @.str18357) call void @fn_emit(ptr @.str18358) call void @fn_emit(ptr @.str18359) call void @fn_emit(ptr @.str18360) 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 @.str18361) store ptr %t11, ptr %t12 %t13 = call ptr @fn_lbl(ptr @.str18362) store ptr %t13, ptr %t14 %t15 = call ptr @fn_lbl(ptr @.str18363) store ptr %t15, ptr %t16 %t17 = call ptr @fn_lbl(ptr @.str18364) store ptr %t17, ptr %t18 %t19 = call ptr @fn_lbl(ptr @.str18365) store ptr %t19, ptr %t20 %t21 = call ptr @fn_lbl(ptr @.str18366) store ptr %t21, ptr %t22 call void @fn_emit(ptr @.str18367) %t23 = load ptr, ptr %t12 call void @fn_emit(ptr %t23) call void @fn_emit(ptr @.str18368) %t24 = load ptr, ptr %t12 call void @fn_emit(ptr %t24) call void @fn_emit(ptr @.str18369) %t25 = load ptr, ptr %t14 call void @fn_emit(ptr %t25) call void @fn_emit(ptr @.str18370) %t26 = load ptr, ptr %t14 call void @fn_emit(ptr %t26) call void @fn_emit(ptr @.str18371) call void @fn_emit(ptr @.str18372) %t27 = load ptr, ptr %t8 call void @fn_emit(ptr %t27) call void @fn_emit(ptr @.str18373) %t28 = load ptr, ptr %t12 call void @fn_emit(ptr %t28) call void @fn_emit(ptr @.str18374) %t29 = load ptr, ptr %t10 call void @fn_emit(ptr %t29) call void @fn_emit(ptr @.str18375) %t30 = load ptr, ptr %t20 call void @fn_emit(ptr %t30) call void @fn_emit(ptr @.str18376) %t31 = call ptr @fn_emit_bind(ptr @.str18377) store ptr %t31, ptr %t32 %t33 = load ptr, ptr %t8 store i32 10138, ptr @lp_site %t34 = call ptr @lp_str_concat(ptr @.str18378, ptr %t33) store i32 0, ptr @lp_site store i32 10139, ptr @lp_site %t35 = call ptr @lp_str_concat(ptr %t34, ptr @.str18380) store i32 0, ptr @lp_site call void @lp_free(ptr %t34) %t36 = load ptr, ptr %t32 store i32 10140, ptr @lp_site %t37 = call ptr @lp_str_concat(ptr %t35, ptr %t36) store i32 0, ptr @lp_site call void @lp_free(ptr %t35) %t38 = call ptr @fn_emit_bind(ptr %t37) store ptr %t38, ptr %t39 call void @fn_emit(ptr @.str18381) %t40 = load ptr, ptr %t39 call void @fn_emit(ptr %t40) call void @fn_emit(ptr @.str18382) %t41 = load ptr, ptr %t16 call void @fn_emit(ptr %t41) call void @fn_emit(ptr @.str18383) %t42 = load ptr, ptr %t22 call void @fn_emit(ptr %t42) call void @fn_emit(ptr @.str18384) %t43 = load ptr, ptr %t16 call void @fn_emit(ptr %t43) call void @fn_emit(ptr @.str18385) %t44 = call ptr @fn_nreg() store ptr %t44, ptr %t45 call void @fn_emit(ptr @.str18386) %t46 = load ptr, ptr %t45 call void @fn_emit(ptr %t46) call void @fn_emit(ptr @.str18387) %t47 = load ptr, ptr %t2 call void @fn_emit(ptr %t47) call void @fn_emit(ptr @.str18388) %t48 = load ptr, ptr %t8 call void @fn_emit(ptr %t48) call void @fn_emit(ptr @.str18389) %t49 = load ptr, ptr %t45 store i32 10141, ptr @lp_site %t50 = call ptr @lp_str_concat(ptr @.str18390, ptr %t49) store i32 0, ptr @lp_site %t51 = call ptr @fn_emit_bind(ptr %t50) store ptr %t51, ptr %t52 %t53 = load ptr, ptr %t52 store i32 10142, ptr @lp_site %t54 = call ptr @lp_str_concat(ptr @.str18391, ptr %t53) store i32 0, ptr @lp_site store i32 10143, ptr @lp_site %t55 = call ptr @lp_str_concat(ptr %t54, ptr @.str18392) store i32 0, ptr @lp_site call void @lp_free(ptr %t54) %t56 = load ptr, ptr %t6 store i32 10144, ptr @lp_site %t57 = call ptr @lp_str_concat(ptr %t55, ptr %t56) store i32 0, ptr @lp_site call void @lp_free(ptr %t55) %t58 = call ptr @fn_emit_bind(ptr %t57) store ptr %t58, ptr %t59 call void @fn_emit(ptr @.str18393) %t60 = load ptr, ptr %t59 call void @fn_emit(ptr %t60) call void @fn_emit(ptr @.str18394) %t61 = load ptr, ptr %t18 call void @fn_emit(ptr %t61) call void @fn_emit(ptr @.str18395) %t62 = load ptr, ptr %t20 call void @fn_emit(ptr %t62) call void @fn_emit(ptr @.str18396) %t63 = load ptr, ptr %t18 call void @fn_emit(ptr %t63) call void @fn_emit(ptr @.str18397) %t64 = call ptr @fn_nreg() store ptr %t64, ptr %t65 call void @fn_emit(ptr @.str18398) %t66 = load ptr, ptr %t65 call void @fn_emit(ptr %t66) call void @fn_emit(ptr @.str18399) %t67 = load ptr, ptr %t2 call void @fn_emit(ptr %t67) call void @fn_emit(ptr @.str18400) %t68 = load ptr, ptr %t8 call void @fn_emit(ptr %t68) call void @fn_emit(ptr @.str18401) %t69 = load ptr, ptr %t65 store i32 10145, ptr @lp_site %t70 = call ptr @lp_str_concat(ptr @.str18402, ptr %t69) store i32 0, ptr @lp_site %t71 = call ptr @fn_emit_bind(ptr %t70) store ptr %t71, ptr %t72 call void @fn_emit(ptr @.str18403) %t73 = load ptr, ptr %t72 call void @fn_emit(ptr %t73) call void @fn_emit(ptr @.str18404) call void @fn_emit(ptr @.str18405) %t74 = load ptr, ptr %t20 call void @fn_emit(ptr %t74) call void @fn_emit(ptr @.str18406) %t75 = load ptr, ptr %t20 call void @fn_emit(ptr %t75) call void @fn_emit(ptr @.str18407) %t76 = load ptr, ptr %t10 call void @fn_emit(ptr %t76) call void @fn_emit(ptr @.str18408) %t77 = load ptr, ptr %t8 call void @fn_emit(ptr %t77) call void @fn_emit(ptr @.str18409) %t78 = load ptr, ptr %t14 call void @fn_emit(ptr %t78) call void @fn_emit(ptr @.str18410) %t79 = load ptr, ptr %t22 call void @fn_emit(ptr %t79) call void @fn_emit(ptr @.str18411) br label %ret ret: ret void } define void @fn_emit_calls_for_phase(ptr %arg_phase) { entry: %t0 = alloca ptr %t1 = alloca i32 %t19 = alloca ptr %t20 = alloca i32 %t21 = alloca i32 %t51 = alloca i32 %t69 = alloca ptr %t70 = alloca i32 %t71 = alloca i32 %t103 = alloca ptr %t121 = alloca ptr %t122 = alloca i32 %t123 = alloca i32 %t161 = alloca ptr %t163 = alloca ptr %t165 = 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 = load i32, ptr %t1 %t11 = getelementptr inbounds %LSlice, ptr %t9, i32 0, i32 0 %t12 = load ptr, ptr %t11 %t13 = getelementptr inbounds %LSlice, ptr %t9, i32 0, i32 1 %t14 = load i32, ptr %t13 %t15 = icmp ult i32 %t10, %t14 br i1 %t15, label %ixok3, label %ixbad4 ixbad4: store i32 10146, ptr @lp_site %t16 = call ptr @lp_win_stdio(i32 2) store i32 0, ptr @lp_site call i32 (ptr, ptr, ...) @fprintf(ptr %t16, ptr @.fmt_bounds, ptr @.str18412, i32 %t10, i32 %t14) call void @exit(i32 1) unreachable ixok3: %t17 = getelementptr inbounds ptr, ptr %t12, i32 %t10 %t18 = load ptr, ptr %t17 store ptr %t18, ptr %t19 %t22 = load ptr, ptr %t19 %t23 = getelementptr inbounds %Cmp_Node, ptr %t22, i32 0, i32 0 %t24 = load i32, ptr %t23 %t25 = icmp eq i32 %t24, 9 %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 %sc5, label %scend6 sc5: %t29 = load ptr, ptr %t19 %t30 = getelementptr inbounds %Cmp_Node, ptr %t29, i32 0, i32 3 %t31 = load ptr, ptr %t30 %t32 = load ptr, ptr %t0 %t33 = call i32 @lp_str_eq(ptr %t31, ptr %t32) %t34 = icmp ne i32 %t33, 0 %t35 = zext i1 %t34 to i32 store i32 %t35, ptr %t21 br label %scend6 scend6: %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 %sc7, label %scend8 sc7: %t39 = load ptr, ptr %t19 %t40 = getelementptr inbounds %Cmp_Node, ptr %t39, i32 0, i32 6 %t41 = load ptr, ptr %t40 %t42 = icmp eq ptr %t41, null %t43 = zext i1 %t42 to i32 %t44 = icmp ne i32 %t43, 0 %t45 = zext i1 %t44 to i32 store i32 %t45, ptr %t20 br label %scend8 scend8: %t46 = load i32, ptr %t20 %t47 = icmp ne i32 %t46, 0 br i1 %t47, label %then9, label %ifend11 then9: %t48 = load ptr, ptr %t19 call void @fn_emit_call_one(ptr %t48) br label %ifend11 ifend11: %t49 = load i32, ptr %t1 %t50 = add i32 %t49, 1 store i32 %t50, ptr %t1 br label %wcond0 wend2: store i32 0, ptr %t51 store i32 0, ptr %t1 br label %wcond12 wcond12: %t52 = load i32, ptr %t1 %t53 = load ptr, ptr @g_prog %t54 = getelementptr inbounds %LSlice, ptr %t53, i32 0, i32 1 %t55 = load i32, ptr %t54 %t56 = icmp slt i32 %t52, %t55 %t57 = zext i1 %t56 to i32 %t58 = icmp ne i32 %t57, 0 br i1 %t58, label %wbody13, label %wend14 wbody13: %t59 = load ptr, ptr @g_prog %t60 = load i32, ptr %t1 %t61 = getelementptr inbounds %LSlice, ptr %t59, i32 0, i32 0 %t62 = load ptr, ptr %t61 %t63 = getelementptr inbounds %LSlice, ptr %t59, i32 0, i32 1 %t64 = load i32, ptr %t63 %t65 = icmp ult i32 %t60, %t64 br i1 %t65, label %ixok15, label %ixbad16 ixbad16: store i32 10147, ptr @lp_site %t66 = call ptr @lp_win_stdio(i32 2) store i32 0, ptr @lp_site call i32 (ptr, ptr, ...) @fprintf(ptr %t66, ptr @.fmt_bounds, ptr @.str18414, i32 %t60, i32 %t64) call void @exit(i32 1) unreachable ixok15: %t67 = getelementptr inbounds ptr, ptr %t62, i32 %t60 %t68 = load ptr, ptr %t67 store ptr %t68, ptr %t69 %t72 = load ptr, ptr %t69 %t73 = getelementptr inbounds %Cmp_Node, ptr %t72, i32 0, i32 0 %t74 = load i32, ptr %t73 %t75 = icmp eq i32 %t74, 9 %t76 = zext i1 %t75 to i32 %t77 = icmp ne i32 %t76, 0 %t78 = zext i1 %t77 to i32 store i32 %t78, ptr %t71 br i1 %t77, label %sc17, label %scend18 sc17: %t79 = load ptr, ptr %t69 %t80 = getelementptr inbounds %Cmp_Node, ptr %t79, i32 0, i32 3 %t81 = load ptr, ptr %t80 %t82 = load ptr, ptr %t0 %t83 = call i32 @lp_str_eq(ptr %t81, ptr %t82) %t84 = icmp ne i32 %t83, 0 %t85 = zext i1 %t84 to i32 store i32 %t85, ptr %t71 br label %scend18 scend18: %t86 = load i32, ptr %t71 %t87 = icmp ne i32 %t86, 0 %t88 = zext i1 %t87 to i32 store i32 %t88, ptr %t70 br i1 %t87, label %sc19, label %scend20 sc19: %t89 = load ptr, ptr %t69 %t90 = getelementptr inbounds %Cmp_Node, ptr %t89, i32 0, i32 6 %t91 = load ptr, ptr %t90 %t92 = icmp ne ptr %t91, null %t93 = zext i1 %t92 to i32 %t94 = icmp ne i32 %t93, 0 %t95 = zext i1 %t94 to i32 store i32 %t95, ptr %t70 br label %scend20 scend20: %t96 = load i32, ptr %t70 %t97 = icmp ne i32 %t96, 0 br i1 %t97, label %then21, label %ifend23 then21: store i32 1, ptr %t51 br label %ifend23 ifend23: %t98 = load i32, ptr %t1 %t99 = add i32 %t98, 1 store i32 %t99, ptr %t1 br label %wcond12 wend14: %t100 = load i32, ptr %t51 %t101 = icmp ne i32 %t100, 0 br i1 %t101, label %then24, label %ifend26 then24: %t102 = call ptr @fn_emit_bind(ptr @.str18415) store ptr %t102, ptr %t103 store i32 0, ptr %t1 br label %wcond27 wcond27: %t104 = load i32, ptr %t1 %t105 = load ptr, ptr @g_prog %t106 = getelementptr inbounds %LSlice, ptr %t105, i32 0, i32 1 %t107 = load i32, ptr %t106 %t108 = icmp slt i32 %t104, %t107 %t109 = zext i1 %t108 to i32 %t110 = icmp ne i32 %t109, 0 br i1 %t110, label %wbody28, label %wend29 wbody28: %t111 = load ptr, ptr @g_prog %t112 = load i32, ptr %t1 %t113 = getelementptr inbounds %LSlice, ptr %t111, i32 0, i32 0 %t114 = load ptr, ptr %t113 %t115 = getelementptr inbounds %LSlice, ptr %t111, i32 0, i32 1 %t116 = load i32, ptr %t115 %t117 = icmp ult i32 %t112, %t116 br i1 %t117, label %ixok30, label %ixbad31 ixbad31: store i32 10148, ptr @lp_site %t118 = call ptr @lp_win_stdio(i32 2) store i32 0, ptr @lp_site call i32 (ptr, ptr, ...) @fprintf(ptr %t118, ptr @.fmt_bounds, ptr @.str18416, i32 %t112, i32 %t116) call void @exit(i32 1) unreachable ixok30: %t119 = getelementptr inbounds ptr, ptr %t114, i32 %t112 %t120 = load ptr, ptr %t119 store ptr %t120, ptr %t121 %t124 = load ptr, ptr %t121 %t125 = getelementptr inbounds %Cmp_Node, ptr %t124, i32 0, i32 0 %t126 = load i32, ptr %t125 %t127 = icmp eq i32 %t126, 9 %t128 = zext i1 %t127 to i32 %t129 = icmp ne i32 %t128, 0 %t130 = zext i1 %t129 to i32 store i32 %t130, ptr %t123 br i1 %t129, label %sc32, label %scend33 sc32: %t131 = load ptr, ptr %t121 %t132 = getelementptr inbounds %Cmp_Node, ptr %t131, i32 0, i32 3 %t133 = load ptr, ptr %t132 %t134 = load ptr, ptr %t0 %t135 = call i32 @lp_str_eq(ptr %t133, ptr %t134) %t136 = icmp ne i32 %t135, 0 %t137 = zext i1 %t136 to i32 store i32 %t137, ptr %t123 br label %scend33 scend33: %t138 = load i32, ptr %t123 %t139 = icmp ne i32 %t138, 0 %t140 = zext i1 %t139 to i32 store i32 %t140, ptr %t122 br i1 %t139, label %sc34, label %scend35 sc34: %t141 = load ptr, ptr %t121 %t142 = getelementptr inbounds %Cmp_Node, ptr %t141, i32 0, i32 6 %t143 = load ptr, ptr %t142 %t144 = icmp ne ptr %t143, null %t145 = zext i1 %t144 to i32 %t146 = icmp ne i32 %t145, 0 %t147 = zext i1 %t146 to i32 store i32 %t147, ptr %t122 br label %scend35 scend35: %t148 = load i32, ptr %t122 %t149 = icmp ne i32 %t148, 0 br i1 %t149, label %then36, label %ifend38 then36: %t150 = load ptr, ptr %t103 store i32 10149, ptr @lp_site %t151 = call ptr @lp_str_concat(ptr @.str18417, ptr %t150) store i32 0, ptr @lp_site store i32 10150, ptr @lp_site %t152 = call ptr @lp_str_concat(ptr %t151, ptr @.str18418) store i32 0, ptr @lp_site call void @lp_free(ptr %t151) %t153 = load ptr, ptr %t121 %t154 = getelementptr inbounds %Cmp_Node, ptr %t153, i32 0, i32 6 %t155 = load ptr, ptr %t154 %t156 = getelementptr inbounds %Cmp_Node, ptr %t155, i32 0, i32 2 %t157 = load i32, ptr %t156 %t158 = call ptr @fn_itoa(i32 %t157) store i32 10151, ptr @lp_site %t159 = call ptr @lp_str_concat(ptr %t152, ptr %t158) store i32 0, ptr @lp_site call void @lp_free(ptr %t152) %t160 = call ptr @fn_emit_bind(ptr %t159) store ptr %t160, ptr %t161 %t162 = call ptr @fn_lbl(ptr @.str18419) store ptr %t162, ptr %t163 %t164 = call ptr @fn_lbl(ptr @.str18420) store ptr %t164, ptr %t165 call void @fn_emit(ptr @.str18421) %t166 = load ptr, ptr %t161 call void @fn_emit(ptr %t166) call void @fn_emit(ptr @.str18422) %t167 = load ptr, ptr %t163 call void @fn_emit(ptr %t167) call void @fn_emit(ptr @.str18423) %t168 = load ptr, ptr %t165 call void @fn_emit(ptr %t168) call void @fn_emit(ptr @.str18424) %t169 = load ptr, ptr %t163 call void @fn_emit(ptr %t169) call void @fn_emit(ptr @.str18425) %t170 = load ptr, ptr %t121 call void @fn_emit_call_one(ptr %t170) call void @fn_emit(ptr @.str18426) %t171 = load ptr, ptr %t165 call void @fn_emit(ptr %t171) call void @fn_emit(ptr @.str18427) %t172 = load ptr, ptr %t165 call void @fn_emit(ptr %t172) call void @fn_emit(ptr @.str18428) br label %ifend38 ifend38: %t173 = load i32, ptr %t1 %t174 = add i32 %t173, 1 store i32 %t174, ptr %t1 br label %wcond27 wend29: br label %ifend26 ifend26: %t175 = load ptr, ptr %t0 call void @fn_emit_engine_systems_for_phase(ptr %t175) %t176 = load ptr, ptr %t0 call void @fn_emit_dyn_systems_for_phase(ptr %t176) %t177 = load ptr, ptr %t0 %t178 = call i32 @lp_str_eq(ptr %t177, ptr @.str18429) %t179 = icmp ne i32 %t178, 0 br i1 %t179, label %then39, label %ifend41 then39: call void @fn_emit_scene_menu_render() br label %ifend41 ifend41: %t180 = load ptr, ptr @g_g_act_names %t181 = getelementptr inbounds %LSlice, ptr %t180, i32 0, i32 1 %t182 = load i32, ptr %t181 %t183 = icmp sgt i32 %t182, 0 %t184 = zext i1 %t183 to i32 %t185 = icmp ne i32 %t184, 0 br i1 %t185, label %then42, label %ifend44 then42: %t186 = call ptr @fn_fn_sym(ptr @.str18431) store i32 10152, ptr @lp_site %t187 = call ptr @lp_str_concat(ptr @.str18430, ptr %t186) store i32 0, ptr @lp_site store i32 10153, ptr @lp_site %t188 = call ptr @lp_str_concat(ptr %t187, ptr @.str18432) store i32 0, ptr @lp_site call void @lp_free(ptr %t187) call void @fn_emit(ptr %t188) br label %ifend44 ifend44: br label %ret ret: ret void } define void @fn_emit_scene_menu_render() { entry: %t0 = alloca i32 %t1 = alloca i32 %t31 = alloca ptr %t49 = alloca ptr %t65 = alloca ptr %t67 = alloca ptr %t69 = 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 = load i32, ptr %t1 %t11 = getelementptr inbounds %LSlice, ptr %t9, i32 0, i32 0 %t12 = load ptr, ptr %t11 %t13 = getelementptr inbounds %LSlice, ptr %t9, i32 0, i32 1 %t14 = load i32, ptr %t13 %t15 = icmp ult i32 %t10, %t14 br i1 %t15, label %ixok3, label %ixbad4 ixbad4: store i32 10154, ptr @lp_site %t16 = call ptr @lp_win_stdio(i32 2) store i32 0, ptr @lp_site call i32 (ptr, ptr, ...) @fprintf(ptr %t16, ptr @.fmt_bounds, ptr @.str18433, i32 %t10, i32 %t14) call void @exit(i32 1) unreachable ixok3: %t17 = getelementptr inbounds ptr, ptr %t12, i32 %t10 %t18 = load ptr, ptr %t17 %t19 = getelementptr inbounds %Cmp_Node, ptr %t18, i32 0, i32 3 %t20 = load ptr, ptr %t19 %t21 = icmp ne ptr %t20, null %t22 = zext i1 %t21 to i32 %t23 = icmp ne i32 %t22, 0 br i1 %t23, label %then5, label %ifend7 then5: store i32 1, ptr %t0 br label %ifend7 ifend7: %t24 = load i32, ptr %t1 %t25 = add i32 %t24, 1 store i32 %t25, ptr %t1 br label %wcond0 wend2: %t26 = load i32, ptr %t0 %t27 = icmp eq i32 %t26, 0 %t28 = zext i1 %t27 to i32 %t29 = icmp ne i32 %t28, 0 br i1 %t29, label %then8, label %ifend10 then8: br label %ret ifend10: %t30 = call ptr @fn_emit_bind(ptr @.str18435) store ptr %t30, ptr %t31 store i32 0, ptr %t1 br label %wcond11 wcond11: %t32 = load i32, ptr %t1 %t33 = load ptr, ptr @g_g_scenes %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 %wbody12, label %wend13 wbody12: %t39 = load ptr, ptr @g_g_scenes %t40 = load i32, ptr %t1 %t41 = getelementptr inbounds %LSlice, ptr %t39, i32 0, i32 0 %t42 = load ptr, ptr %t41 %t43 = getelementptr inbounds %LSlice, ptr %t39, i32 0, i32 1 %t44 = load i32, ptr %t43 %t45 = icmp ult i32 %t40, %t44 br i1 %t45, label %ixok14, label %ixbad15 ixbad15: store i32 10155, ptr @lp_site %t46 = call ptr @lp_win_stdio(i32 2) store i32 0, ptr @lp_site call i32 (ptr, ptr, ...) @fprintf(ptr %t46, ptr @.fmt_bounds, ptr @.str18436, i32 %t40, i32 %t44) call void @exit(i32 1) unreachable ixok14: %t47 = getelementptr inbounds ptr, ptr %t42, i32 %t40 %t48 = load ptr, ptr %t47 store ptr %t48, ptr %t49 %t50 = load ptr, ptr %t49 %t51 = getelementptr inbounds %Cmp_Node, ptr %t50, i32 0, i32 3 %t52 = load ptr, ptr %t51 %t53 = icmp ne ptr %t52, null %t54 = zext i1 %t53 to i32 %t55 = icmp ne i32 %t54, 0 br i1 %t55, label %then16, label %ifend18 then16: %t56 = load ptr, ptr %t31 store i32 10156, ptr @lp_site %t57 = call ptr @lp_str_concat(ptr @.str18437, ptr %t56) store i32 0, ptr @lp_site store i32 10157, ptr @lp_site %t58 = call ptr @lp_str_concat(ptr %t57, ptr @.str18438) store i32 0, ptr @lp_site call void @lp_free(ptr %t57) %t59 = load ptr, ptr %t49 %t60 = getelementptr inbounds %Cmp_Node, ptr %t59, i32 0, i32 2 %t61 = load i32, ptr %t60 %t62 = call ptr @fn_itoa(i32 %t61) store i32 10158, ptr @lp_site %t63 = call ptr @lp_str_concat(ptr %t58, ptr %t62) store i32 0, ptr @lp_site call void @lp_free(ptr %t58) %t64 = call ptr @fn_emit_bind(ptr %t63) store ptr %t64, ptr %t65 %t66 = call ptr @fn_lbl(ptr @.str18439) store ptr %t66, ptr %t67 %t68 = call ptr @fn_lbl(ptr @.str18440) store ptr %t68, ptr %t69 call void @fn_emit(ptr @.str18441) %t70 = load ptr, ptr %t65 call void @fn_emit(ptr %t70) call void @fn_emit(ptr @.str18442) %t71 = load ptr, ptr %t67 call void @fn_emit(ptr %t71) call void @fn_emit(ptr @.str18443) %t72 = load ptr, ptr %t69 call void @fn_emit(ptr %t72) call void @fn_emit(ptr @.str18444) %t73 = load ptr, ptr %t67 call void @fn_emit(ptr %t73) %t74 = call ptr @fn_fn_sym(ptr @.str18446) store i32 10159, ptr @lp_site %t75 = call ptr @lp_str_concat(ptr @.str18445, ptr %t74) store i32 0, ptr @lp_site store i32 10160, ptr @lp_site %t76 = call ptr @lp_str_concat(ptr %t75, ptr @.str18447) store i32 0, ptr @lp_site call void @lp_free(ptr %t75) call void @fn_emit(ptr %t76) call void @fn_emit(ptr @.str18448) %t77 = load ptr, ptr %t69 call void @fn_emit(ptr %t77) call void @fn_emit(ptr @.str18449) %t78 = load ptr, ptr %t69 call void @fn_emit(ptr %t78) call void @fn_emit(ptr @.str18450) br label %ifend18 ifend18: %t79 = load i32, ptr %t1 %t80 = add i32 %t79, 1 store i32 %t80, ptr %t1 br label %wcond11 wend13: 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 %t7 = alloca ptr %t10 = alloca ptr %t12 = alloca i32 %t38 = alloca i32 %t63 = alloca ptr %t64 = 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 %t4 = load ptr, ptr %t0 store i32 10161, ptr @lp_site %t5 = call ptr @lp_str_concat(ptr @.str18451, ptr %t4) store i32 0, ptr @lp_site call void @fn_fence_enter(ptr %t5) 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 @.str18453, ptr @g_ret_ty %t6 = call ptr @fn_buf_new() store ptr %t6, ptr %t7 %t8 = call ptr @fn_buf_new() store ptr %t8, ptr @g_falloc %t9 = load ptr, ptr @g_code store ptr %t9, ptr %t10 %t11 = load ptr, ptr %t7 store ptr %t11, ptr @g_code %t13 = load ptr, ptr %t3 %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 %t12 br i1 %t16, label %sc0, label %scend1 sc0: %t18 = load ptr, ptr %t1 %t19 = call i32 @lp_str_eq(ptr %t18, ptr @.str18454) %t20 = icmp ne i32 %t19, 0 %t21 = zext i1 %t20 to i32 store i32 %t21, ptr %t12 br label %scend1 scend1: %t22 = load i32, ptr %t12 %t23 = icmp ne i32 %t22, 0 br i1 %t23, label %then2, label %ifend4 then2: %t24 = call ptr @fn_find_fn(ptr @.str18455) %t25 = icmp ne ptr %t24, null %t26 = zext i1 %t25 to i32 %t27 = icmp ne i32 %t26, 0 br i1 %t27, label %then5, label %ifend7 then5: %t28 = call ptr @fn_fn_sym(ptr @.str18457) store i32 10162, ptr @lp_site %t29 = call ptr @lp_str_concat(ptr @.str18456, ptr %t28) store i32 0, ptr @lp_site store i32 10163, ptr @lp_site %t30 = call ptr @lp_str_concat(ptr %t29, ptr @.str18458) store i32 0, ptr @lp_site call void @lp_free(ptr %t29) call void @fn_emit(ptr %t30) br label %ifend7 ifend7: %t31 = call ptr @fn_fn_sym(ptr @.str18460) store i32 10164, ptr @lp_site %t32 = call ptr @lp_str_concat(ptr @.str18459, ptr %t31) store i32 0, ptr @lp_site store i32 10165, ptr @lp_site %t33 = call ptr @lp_str_concat(ptr %t32, ptr @.str18461) store i32 0, ptr @lp_site call void @lp_free(ptr %t32) call void @fn_emit(ptr %t33) %t34 = load ptr, ptr %t3 store i32 10166, ptr @lp_site %t35 = call ptr @lp_str_concat(ptr @.str18462, ptr %t34) store i32 0, ptr @lp_site %t36 = call i32 @fn_ui_index_of(ptr %t35) %t37 = call ptr @fn_itoa(i32 %t36) call void @fn_emit(ptr %t37) call void @fn_emit(ptr @.str18463) br label %ifend4 ifend4: %t39 = load ptr, ptr %t3 %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 %t38 br i1 %t42, label %sc8, label %scend9 sc8: %t44 = load ptr, ptr %t1 %t45 = call i32 @lp_str_eq(ptr %t44, ptr @.str18464) %t46 = icmp ne i32 %t45, 0 %t47 = zext i1 %t46 to i32 store i32 %t47, ptr %t38 br label %scend9 scend9: %t48 = load i32, ptr %t38 %t49 = icmp ne i32 %t48, 0 br i1 %t49, label %then10, label %ifend12 then10: %t50 = call ptr @fn_fn_sym(ptr @.str18466) store i32 10167, ptr @lp_site %t51 = call ptr @lp_str_concat(ptr @.str18465, ptr %t50) store i32 0, ptr @lp_site store i32 10168, ptr @lp_site %t52 = call ptr @lp_str_concat(ptr %t51, ptr @.str18467) store i32 0, ptr @lp_site call void @lp_free(ptr %t51) call void @fn_emit(ptr %t52) br label %ifend12 ifend12: %t53 = load ptr, ptr %t2 %t54 = icmp ne ptr %t53, null %t55 = zext i1 %t54 to i32 %t56 = icmp ne i32 %t55, 0 br i1 %t56, label %then13, label %ifend15 then13: %t57 = load ptr, ptr %t2 call void @fn_emit_block(ptr %t57) br label %ifend15 ifend15: %t58 = load ptr, ptr %t0 store i32 10169, ptr @lp_site %t59 = call ptr @lp_str_concat(ptr @.str18468, ptr %t58) store i32 0, ptr @lp_site store i32 10170, ptr @lp_site %t60 = call ptr @lp_str_concat(ptr %t59, ptr @.str18469) store i32 0, ptr @lp_site call void @lp_free(ptr %t59) %t61 = load ptr, ptr %t1 store i32 10171, ptr @lp_site %t62 = call ptr @lp_str_concat(ptr %t60, ptr %t61) store i32 0, ptr @lp_site call void @lp_free(ptr %t60) store ptr %t62, ptr %t63 %t65 = load i32, ptr @g_g_term %t66 = icmp eq i32 %t65, 0 %t67 = zext i1 %t66 to i32 %t68 = icmp ne i32 %t67, 0 %t69 = zext i1 %t68 to i32 store i32 %t69, ptr %t64 br i1 %t68, label %sc16, label %scend17 sc16: %t70 = load ptr, ptr %t63 %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 %t75 = zext i1 %t74 to i32 store i32 %t75, ptr %t64 br label %scend17 scend17: %t76 = load i32, ptr %t64 %t77 = icmp ne i32 %t76, 0 br i1 %t77, label %then18, label %ifend20 then18: call void @fn_emit(ptr @.str18470) %t78 = load ptr, ptr %t63 call void @fn_emit(ptr %t78) call void @fn_emit(ptr @.str18471) br label %ifend20 ifend20: %t79 = load i32, ptr @g_g_term %t80 = icmp eq i32 %t79, 0 %t81 = zext i1 %t80 to i32 %t82 = icmp ne i32 %t81, 0 br i1 %t82, label %then21, label %ifend23 then21: call void @fn_emit(ptr @.str18472) br label %ifend23 ifend23: call void @fn_emit(ptr @.str18473) %t83 = load ptr, ptr %t10 store ptr %t83, ptr @g_code call void @fn_emit(ptr @.str18474) %t84 = load ptr, ptr %t1 call void @fn_emit(ptr %t84) call void @fn_emit(ptr @.str18475) %t85 = load ptr, ptr %t0 call void @fn_emit(ptr %t85) call void @fn_emit(ptr @.str18476) %t86 = load ptr, ptr @g_falloc %t87 = call ptr @fn_buf_str(ptr %t86) call void @fn_emit(ptr %t87) %t88 = load ptr, ptr %t7 %t89 = call ptr @fn_buf_str(ptr %t88) call void @fn_emit(ptr %t89) call void @fn_emit(ptr @.str18477) br label %ret ret: ret void } define void @fn_emit_scene_hooks() { entry: %t0 = alloca i32 %t18 = 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 = load i32, ptr %t0 %t10 = getelementptr inbounds %LSlice, ptr %t8, i32 0, i32 0 %t11 = load ptr, ptr %t10 %t12 = getelementptr inbounds %LSlice, ptr %t8, i32 0, i32 1 %t13 = load i32, ptr %t12 %t14 = icmp ult i32 %t9, %t13 br i1 %t14, label %ixok3, label %ixbad4 ixbad4: store i32 10172, ptr @lp_site %t15 = call ptr @lp_win_stdio(i32 2) store i32 0, ptr @lp_site call i32 (ptr, ptr, ...) @fprintf(ptr %t15, ptr @.fmt_bounds, ptr @.str18478, i32 %t9, i32 %t13) call void @exit(i32 1) unreachable ixok3: %t16 = getelementptr inbounds ptr, ptr %t11, i32 %t9 %t17 = load ptr, ptr %t16 store ptr %t17, ptr %t18 %t19 = load ptr, ptr %t18 store ptr %t19, ptr @g_g_cur_scene %t20 = load ptr, ptr %t18 %t21 = getelementptr inbounds %Cmp_Node, ptr %t20, i32 0, i32 1 %t22 = load ptr, ptr %t21 %t23 = load ptr, ptr %t18 %t24 = getelementptr inbounds %Cmp_Node, ptr %t23, i32 0, i32 4 %t25 = load ptr, ptr %t24 %t26 = load ptr, ptr %t18 %t27 = getelementptr inbounds %Cmp_Node, ptr %t26, i32 0, i32 3 %t28 = load ptr, ptr %t27 call void @fn_emit_scene_fn(ptr %t22, ptr @.str18480, ptr %t25, ptr %t28) %t29 = load ptr, ptr %t18 %t30 = getelementptr inbounds %Cmp_Node, ptr %t29, i32 0, i32 1 %t31 = load ptr, ptr %t30 %t32 = load ptr, ptr %t18 %t33 = getelementptr inbounds %Cmp_Node, ptr %t32, i32 0, i32 5 %t34 = load ptr, ptr %t33 %t35 = load ptr, ptr %t18 %t36 = getelementptr inbounds %Cmp_Node, ptr %t35, i32 0, i32 3 %t37 = load ptr, ptr %t36 call void @fn_emit_scene_fn(ptr %t31, ptr @.str18481, ptr %t34, ptr %t37) %t38 = load i32, ptr %t0 %t39 = add i32 %t38, 1 store i32 %t39, ptr %t0 br label %wcond0 wend2: store ptr null, ptr @g_g_cur_scene %t40 = load ptr, ptr @g_g_scenes %t41 = getelementptr inbounds %LSlice, ptr %t40, i32 0, i32 1 %t42 = load i32, ptr %t41 %t43 = icmp sgt i32 %t42, 0 %t44 = zext i1 %t43 to i32 %t45 = icmp ne i32 %t44, 0 br i1 %t45, label %then5, label %ifend7 then5: call void @fn_emit_scene_leave_fn() br label %ifend7 ifend7: br label %ret ret: ret void } define void @fn_emit_scene_leave_fn() { entry: %t0 = alloca i32 %t18 = alloca ptr %t21 = alloca ptr call void @fn_emit(ptr @.str18482) call void @fn_emit(ptr @.str18483) 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 = load i32, ptr %t0 %t10 = getelementptr inbounds %LSlice, ptr %t8, i32 0, i32 0 %t11 = load ptr, ptr %t10 %t12 = getelementptr inbounds %LSlice, ptr %t8, i32 0, i32 1 %t13 = load i32, ptr %t12 %t14 = icmp ult i32 %t9, %t13 br i1 %t14, label %ixok3, label %ixbad4 ixbad4: store i32 10173, ptr @lp_site %t15 = call ptr @lp_win_stdio(i32 2) store i32 0, ptr @lp_site call i32 (ptr, ptr, ...) @fprintf(ptr %t15, ptr @.fmt_bounds, ptr @.str18484, i32 %t9, i32 %t13) call void @exit(i32 1) unreachable ixok3: %t16 = getelementptr inbounds ptr, ptr %t11, i32 %t9 %t17 = load ptr, ptr %t16 store ptr %t17, ptr %t18 %t19 = load i32, ptr %t0 %t20 = call ptr @fn_itoa(i32 %t19) store ptr %t20, ptr %t21 call void @fn_emit(ptr @.str18486) %t22 = load ptr, ptr %t21 call void @fn_emit(ptr %t22) call void @fn_emit(ptr @.str18487) %t23 = load ptr, ptr %t18 %t24 = getelementptr inbounds %Cmp_Node, ptr %t23, i32 0, i32 2 %t25 = load i32, ptr %t24 %t26 = call ptr @fn_itoa(i32 %t25) call void @fn_emit(ptr %t26) call void @fn_emit(ptr @.str18488) call void @fn_emit(ptr @.str18489) %t27 = load ptr, ptr %t21 call void @fn_emit(ptr %t27) call void @fn_emit(ptr @.str18490) %t28 = load ptr, ptr %t21 call void @fn_emit(ptr %t28) call void @fn_emit(ptr @.str18491) %t29 = load ptr, ptr %t21 call void @fn_emit(ptr %t29) call void @fn_emit(ptr @.str18492) call void @fn_emit(ptr @.str18493) %t30 = load ptr, ptr %t21 call void @fn_emit(ptr %t30) call void @fn_emit(ptr @.str18494) %t31 = load ptr, ptr %t18 %t32 = getelementptr inbounds %Cmp_Node, ptr %t31, i32 0, i32 1 %t33 = load ptr, ptr %t32 call void @fn_emit(ptr %t33) call void @fn_emit(ptr @.str18495) call void @fn_emit(ptr @.str18496) %t34 = load ptr, ptr %t21 call void @fn_emit(ptr %t34) call void @fn_emit(ptr @.str18497) %t35 = load i32, ptr %t0 %t36 = add i32 %t35, 1 store i32 %t36, ptr %t0 br label %wcond0 wend2: call void @fn_emit(ptr @.str18498) br label %ret ret: ret void } define void @fn_emit_despawn_hooks() { entry: %t0 = alloca i32 %t18 = alloca ptr %t23 = alloca ptr %t25 = alloca ptr %t28 = alloca ptr %t37 = 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 = load i32, ptr %t0 %t10 = getelementptr inbounds %LSlice, ptr %t8, i32 0, i32 0 %t11 = load ptr, ptr %t10 %t12 = getelementptr inbounds %LSlice, ptr %t8, i32 0, i32 1 %t13 = load i32, ptr %t12 %t14 = icmp ult i32 %t9, %t13 br i1 %t14, label %ixok3, label %ixbad4 ixbad4: store i32 10174, ptr @lp_site %t15 = call ptr @lp_win_stdio(i32 2) store i32 0, ptr @lp_site call i32 (ptr, ptr, ...) @fprintf(ptr %t15, ptr @.fmt_bounds, ptr @.str18499, i32 %t9, i32 %t13) call void @exit(i32 1) unreachable ixok3: %t16 = getelementptr inbounds ptr, ptr %t11, i32 %t9 %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 1 %t21 = load ptr, ptr %t20 %t22 = call ptr @fn_find_arch(ptr %t21) store ptr %t22, ptr %t23 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 @.str18501, ptr @g_ret_ty %t24 = call ptr @fn_buf_new() store ptr %t24, ptr %t25 %t26 = call ptr @fn_buf_new() store ptr %t26, ptr @g_falloc %t27 = load ptr, ptr @g_code store ptr %t27, ptr %t28 %t29 = load ptr, ptr %t25 store ptr %t29, ptr @g_code %t30 = load ptr, ptr %t18 %t31 = getelementptr inbounds %Cmp_Node, ptr %t30, i32 0, i32 3 %t32 = load ptr, ptr %t31 %t33 = icmp ne ptr %t32, null %t34 = zext i1 %t33 to i32 %t35 = icmp ne i32 %t34, 0 br i1 %t35, label %then5, label %ifend7 then5: %t36 = call ptr @fn_emit_alloca(ptr @.str18502) store ptr %t36, ptr %t37 call void @fn_emit(ptr @.str18503) %t38 = load ptr, ptr %t37 call void @fn_emit(ptr %t38) call void @fn_emit(ptr @.str18504) %t39 = load ptr, ptr %t18 %t40 = getelementptr inbounds %Cmp_Node, ptr %t39, i32 0, i32 3 %t41 = load ptr, ptr %t40 %t42 = load ptr, ptr %t37 call void @fn_loc_push(ptr %t41, ptr %t42, ptr @.str18505) br label %ifend7 ifend7: %t43 = load ptr, ptr %t23 call void @fn_emit_bind_props(ptr %t43, ptr @.str18506) %t44 = load ptr, ptr %t18 %t45 = getelementptr inbounds %Cmp_Node, ptr %t44, i32 0, i32 4 %t46 = load ptr, ptr %t45 call void @fn_emit_block(ptr %t46) %t47 = load i32, ptr @g_g_term %t48 = icmp eq i32 %t47, 0 %t49 = zext i1 %t48 to i32 %t50 = icmp ne i32 %t49, 0 br i1 %t50, label %then8, label %ifend10 then8: call void @fn_emit(ptr @.str18507) br label %ifend10 ifend10: call void @fn_emit(ptr @.str18508) %t51 = load ptr, ptr %t28 store ptr %t51, ptr @g_code call void @fn_emit(ptr @.str18509) %t52 = load ptr, ptr %t18 %t53 = getelementptr inbounds %Cmp_Node, ptr %t52, i32 0, i32 1 %t54 = load ptr, ptr %t53 call void @fn_emit(ptr %t54) call void @fn_emit(ptr @.str18510) %t55 = load ptr, ptr @g_falloc %t56 = call ptr @fn_buf_str(ptr %t55) call void @fn_emit(ptr %t56) %t57 = load ptr, ptr %t25 %t58 = call ptr @fn_buf_str(ptr %t57) call void @fn_emit(ptr %t58) call void @fn_emit(ptr @.str18511) %t59 = load i32, ptr %t0 %t60 = add i32 %t59, 1 store i32 %t60, 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 ptr %t11 = alloca i32 %t31 = alloca ptr %t34 = alloca ptr %t47 = alloca ptr call void @fn_emit(ptr @.str18512) %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 %t8 = call ptr @fn_ecs_base(ptr @.str18513) store ptr %t8, ptr %t9 call void @fn_emit(ptr @.str18514) %t10 = load ptr, ptr %t9 call void @fn_emit(ptr %t10) call void @fn_emit(ptr @.str18515) call void @fn_emit(ptr @.str18516) store i32 0, ptr %t11 br label %wcond3 wcond3: %t12 = load i32, ptr %t11 %t13 = load ptr, ptr @g_g_ondespawn %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_ondespawn %t20 = load i32, ptr %t11 %t21 = getelementptr inbounds %LSlice, ptr %t19, i32 0, i32 0 %t22 = load ptr, ptr %t21 %t23 = getelementptr inbounds %LSlice, ptr %t19, i32 0, i32 1 %t24 = load i32, ptr %t23 %t25 = icmp ult i32 %t20, %t24 br i1 %t25, label %ixok6, label %ixbad7 ixbad7: store i32 10175, ptr @lp_site %t26 = call ptr @lp_win_stdio(i32 2) store i32 0, ptr @lp_site call i32 (ptr, ptr, ...) @fprintf(ptr %t26, ptr @.fmt_bounds, ptr @.str18517, i32 %t20, i32 %t24) call void @exit(i32 1) unreachable ixok6: %t27 = getelementptr inbounds ptr, ptr %t22, i32 %t20 %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 i32, ptr %t11 %t33 = call ptr @fn_itoa(i32 %t32) store ptr %t33, ptr %t34 call void @fn_emit(ptr @.str18519) %t35 = load ptr, ptr %t34 call void @fn_emit(ptr %t35) call void @fn_emit(ptr @.str18520) %t36 = load ptr, ptr %t31 %t37 = call i32 @fn_find_arch_id(ptr %t36) %t38 = call ptr @fn_itoa(i32 %t37) call void @fn_emit(ptr %t38) call void @fn_emit(ptr @.str18521) call void @fn_emit(ptr @.str18522) %t39 = load ptr, ptr %t34 call void @fn_emit(ptr %t39) call void @fn_emit(ptr @.str18523) %t40 = load ptr, ptr %t34 call void @fn_emit(ptr %t40) call void @fn_emit(ptr @.str18524) %t41 = load ptr, ptr %t34 call void @fn_emit(ptr %t41) call void @fn_emit(ptr @.str18525) call void @fn_emit(ptr @.str18526) %t42 = load ptr, ptr %t34 call void @fn_emit(ptr %t42) call void @fn_emit(ptr @.str18527) %t43 = load ptr, ptr %t31 call void @fn_emit(ptr %t43) call void @fn_emit(ptr @.str18528) %t44 = load ptr, ptr %t31 store i32 10176, ptr @lp_site %t45 = call ptr @lp_str_concat(ptr @.str18529, ptr %t44) store i32 0, ptr @lp_site store i32 10177, ptr @lp_site %t46 = call ptr @lp_str_concat(ptr %t45, ptr @.str18530) store i32 0, ptr @lp_site call void @lp_free(ptr %t45) store ptr %t46, ptr %t47 %t48 = load ptr, ptr %t47 %t49 = call ptr @fn_find_event(ptr %t48) %t50 = icmp ne ptr %t49, null %t51 = zext i1 %t50 to i32 %t52 = icmp ne i32 %t51, 0 br i1 %t52, label %then8, label %ifend10 then8: call void @fn_emit(ptr @.str18531) %t53 = load ptr, ptr %t47 call void @fn_emit(ptr %t53) call void @fn_emit(ptr @.str18532) br label %ifend10 ifend10: call void @fn_emit(ptr @.str18533) %t54 = load ptr, ptr %t34 call void @fn_emit(ptr %t54) call void @fn_emit(ptr @.str18534) call void @fn_emit(ptr @.str18535) %t55 = load ptr, ptr %t34 call void @fn_emit(ptr %t55) call void @fn_emit(ptr @.str18536) %t56 = load i32, ptr %t11 %t57 = add i32 %t56, 1 store i32 %t57, ptr %t11 br label %wcond3 wend5: br label %ifend2 ifend2: %t58 = load ptr, ptr @g_g_events %t59 = getelementptr inbounds %LSlice, ptr %t58, i32 0, i32 1 %t60 = load i32, ptr %t59 %t61 = icmp sgt i32 %t60, 0 %t62 = zext i1 %t61 to i32 %t63 = icmp ne i32 %t62, 0 br i1 %t63, label %then11, label %ifend13 then11: call void @fn_emit(ptr @.str18537) br label %ifend13 ifend13: call void @fn_emit(ptr @.str18538) call void @fn_emit(ptr @.str18539) br label %ret ret: ret void } define void @fn_emit_despawn_all_fn() { entry: %t7 = alloca ptr %t9 = alloca ptr %t12 = alloca ptr %t14 = alloca i32 %t34 = alloca ptr %t37 = alloca ptr %t50 = 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 @.str18540) call void @fn_emit(ptr @.str18541) call void @fn_emit(ptr @.str18542) call void @fn_emit(ptr @.str18543) call void @fn_emit(ptr @.str18544) %t8 = call ptr @fn_ecs_base(ptr @.str18545) store ptr %t8, ptr %t9 call void @fn_emit(ptr @.str18546) %t10 = load ptr, ptr %t9 call void @fn_emit(ptr %t10) call void @fn_emit(ptr @.str18547) call void @fn_emit(ptr @.str18548) call void @fn_emit(ptr @.str18549) call void @fn_emit(ptr @.str18550) %t11 = call ptr @fn_ecs_base(ptr @.str18551) store ptr %t11, ptr %t12 call void @fn_emit(ptr @.str18552) %t13 = load ptr, ptr %t12 call void @fn_emit(ptr %t13) call void @fn_emit(ptr @.str18553) call void @fn_emit(ptr @.str18554) store i32 0, ptr %t14 br label %wcond3 wcond3: %t15 = load i32, ptr %t14 %t16 = load ptr, ptr @g_g_ondespawn %t17 = getelementptr inbounds %LSlice, ptr %t16, i32 0, i32 1 %t18 = load i32, ptr %t17 %t19 = icmp slt i32 %t15, %t18 %t20 = zext i1 %t19 to i32 %t21 = icmp ne i32 %t20, 0 br i1 %t21, label %wbody4, label %wend5 wbody4: %t22 = load ptr, ptr @g_g_ondespawn %t23 = load i32, ptr %t14 %t24 = getelementptr inbounds %LSlice, ptr %t22, i32 0, i32 0 %t25 = load ptr, ptr %t24 %t26 = getelementptr inbounds %LSlice, ptr %t22, i32 0, i32 1 %t27 = load i32, ptr %t26 %t28 = icmp ult i32 %t23, %t27 br i1 %t28, label %ixok6, label %ixbad7 ixbad7: store i32 10178, ptr @lp_site %t29 = call ptr @lp_win_stdio(i32 2) store i32 0, ptr @lp_site call i32 (ptr, ptr, ...) @fprintf(ptr %t29, ptr @.fmt_bounds, ptr @.str18555, i32 %t23, i32 %t27) call void @exit(i32 1) unreachable ixok6: %t30 = getelementptr inbounds ptr, ptr %t25, i32 %t23 %t31 = load ptr, ptr %t30 %t32 = getelementptr inbounds %Cmp_Node, ptr %t31, i32 0, i32 1 %t33 = load ptr, ptr %t32 store ptr %t33, ptr %t34 %t35 = load i32, ptr %t14 %t36 = call ptr @fn_itoa(i32 %t35) store ptr %t36, ptr %t37 call void @fn_emit(ptr @.str18557) %t38 = load ptr, ptr %t37 call void @fn_emit(ptr %t38) call void @fn_emit(ptr @.str18558) %t39 = load ptr, ptr %t34 %t40 = call i32 @fn_find_arch_id(ptr %t39) %t41 = call ptr @fn_itoa(i32 %t40) call void @fn_emit(ptr %t41) call void @fn_emit(ptr @.str18559) call void @fn_emit(ptr @.str18560) %t42 = load ptr, ptr %t37 call void @fn_emit(ptr %t42) call void @fn_emit(ptr @.str18561) %t43 = load ptr, ptr %t37 call void @fn_emit(ptr %t43) call void @fn_emit(ptr @.str18562) %t44 = load ptr, ptr %t37 call void @fn_emit(ptr %t44) call void @fn_emit(ptr @.str18563) call void @fn_emit(ptr @.str18564) %t45 = load ptr, ptr %t37 call void @fn_emit(ptr %t45) call void @fn_emit(ptr @.str18565) %t46 = load ptr, ptr %t34 call void @fn_emit(ptr %t46) call void @fn_emit(ptr @.str18566) %t47 = load ptr, ptr %t34 store i32 10179, ptr @lp_site %t48 = call ptr @lp_str_concat(ptr @.str18567, ptr %t47) store i32 0, ptr @lp_site store i32 10180, ptr @lp_site %t49 = call ptr @lp_str_concat(ptr %t48, ptr @.str18568) store i32 0, ptr @lp_site call void @lp_free(ptr %t48) store ptr %t49, ptr %t50 %t51 = load ptr, ptr %t50 %t52 = call ptr @fn_find_event(ptr %t51) %t53 = icmp ne ptr %t52, null %t54 = zext i1 %t53 to i32 %t55 = icmp ne i32 %t54, 0 br i1 %t55, label %then8, label %ifend10 then8: call void @fn_emit(ptr @.str18569) %t56 = load ptr, ptr %t50 call void @fn_emit(ptr %t56) call void @fn_emit(ptr @.str18570) br label %ifend10 ifend10: call void @fn_emit(ptr @.str18571) %t57 = load ptr, ptr %t37 call void @fn_emit(ptr %t57) call void @fn_emit(ptr @.str18572) call void @fn_emit(ptr @.str18573) %t58 = load ptr, ptr %t37 call void @fn_emit(ptr %t58) call void @fn_emit(ptr @.str18574) %t59 = load i32, ptr %t14 %t60 = add i32 %t59, 1 store i32 %t60, ptr %t14 br label %wcond3 wend5: call void @fn_emit(ptr @.str18575) call void @fn_emit(ptr @.str18576) call void @fn_emit(ptr @.str18577) br label %ret ret: ret void } define void @fn_emit_event_fns() { entry: %t0 = alloca i32 %t18 = alloca ptr %t22 = alloca ptr %t24 = alloca ptr %t26 = alloca i32 %t97 = alloca ptr %t100 = alloca ptr %t112 = alloca ptr %t113 = alloca i32 %t135 = alloca ptr %t140 = alloca ptr %t142 = alloca ptr %t154 = alloca ptr %t168 = alloca ptr %t188 = alloca i32 %t189 = alloca i32 %t214 = alloca ptr %t261 = alloca ptr %t264 = alloca ptr %t266 = alloca ptr %t268 = alloca ptr %t274 = alloca ptr %t278 = alloca ptr %t285 = alloca ptr %t291 = alloca ptr %t299 = alloca ptr %t304 = alloca ptr %t306 = alloca ptr %t308 = alloca ptr %t321 = alloca ptr %t335 = alloca ptr %t338 = alloca ptr %t347 = alloca i32 %t387 = alloca ptr %t388 = alloca i32 %t408 = alloca ptr %t411 = alloca ptr call void @fn_emith(ptr @.str18578) 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 = load i32, ptr %t0 %t10 = getelementptr inbounds %LSlice, ptr %t8, i32 0, i32 0 %t11 = load ptr, ptr %t10 %t12 = getelementptr inbounds %LSlice, ptr %t8, i32 0, i32 1 %t13 = load i32, ptr %t12 %t14 = icmp ult i32 %t9, %t13 br i1 %t14, label %ixok3, label %ixbad4 ixbad4: store i32 10181, ptr @lp_site %t15 = call ptr @lp_win_stdio(i32 2) store i32 0, ptr @lp_site call i32 (ptr, ptr, ...) @fprintf(ptr %t15, ptr @.fmt_bounds, ptr @.str18579, i32 %t9, i32 %t13) call void @exit(i32 1) unreachable ixok3: %t16 = getelementptr inbounds ptr, ptr %t11, i32 %t9 %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 1 %t21 = load ptr, ptr %t20 store ptr %t21, ptr %t22 %t23 = call ptr @fn_itoa(i32 16) store ptr %t23, ptr %t24 call void @fn_emith(ptr @.str18581) %t25 = load ptr, ptr %t22 call void @fn_emith(ptr %t25) call void @fn_emith(ptr @.str18582) store i32 0, ptr %t26 br label %wcond5 wcond5: %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 %wbody6, label %wend7 wbody6: %t36 = load i32, ptr %t26 %t37 = icmp sgt i32 %t36, 0 %t38 = zext i1 %t37 to i32 %t39 = icmp ne i32 %t38, 0 br i1 %t39, label %then8, label %ifend10 then8: call void @fn_emith(ptr @.str18583) br label %ifend10 ifend10: %t40 = load ptr, ptr %t18 %t41 = getelementptr inbounds %Cmp_Node, ptr %t40, i32 0, i32 7 %t42 = load ptr, ptr %t41 %t43 = load i32, ptr %t26 %t44 = getelementptr inbounds %LSlice, ptr %t42, i32 0, i32 0 %t45 = load ptr, ptr %t44 %t46 = getelementptr inbounds %LSlice, ptr %t42, i32 0, i32 1 %t47 = load i32, ptr %t46 %t48 = icmp ult i32 %t43, %t47 br i1 %t48, label %ixok11, label %ixbad12 ixbad12: store i32 10182, ptr @lp_site %t49 = call ptr @lp_win_stdio(i32 2) store i32 0, ptr @lp_site call i32 (ptr, ptr, ...) @fprintf(ptr %t49, ptr @.fmt_bounds, ptr @.str18584, i32 %t43, i32 %t47) call void @exit(i32 1) unreachable ixok11: %t50 = getelementptr inbounds ptr, ptr %t45, i32 %t43 %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 %t26 %t56 = add i32 %t55, 1 store i32 %t56, ptr %t26 br label %wcond5 wend7: %t57 = load ptr, ptr %t18 %t58 = getelementptr inbounds %Cmp_Node, ptr %t57, i32 0, i32 2 %t59 = load i32, ptr %t58 %t60 = icmp eq i32 %t59, 1 %t61 = zext i1 %t60 to i32 %t62 = icmp ne i32 %t61, 0 br i1 %t62, label %then13, label %ifend15 then13: %t63 = load ptr, ptr %t18 %t64 = getelementptr inbounds %Cmp_Node, ptr %t63, i32 0, i32 7 %t65 = load ptr, ptr %t64 %t66 = getelementptr inbounds %LSlice, ptr %t65, i32 0, i32 1 %t67 = load i32, ptr %t66 %t68 = icmp sgt i32 %t67, 0 %t69 = zext i1 %t68 to i32 %t70 = icmp ne i32 %t69, 0 br i1 %t70, label %then16, label %ifend18 then16: call void @fn_emith(ptr @.str18585) br label %ifend18 ifend18: call void @fn_emith(ptr @.str18586) br label %ifend15 ifend15: call void @fn_emith(ptr @.str18587) call void @fn_emith(ptr @.str18588) %t71 = load ptr, ptr %t22 call void @fn_emith(ptr %t71) call void @fn_emith(ptr @.str18589) %t72 = load ptr, ptr %t24 call void @fn_emith(ptr %t72) call void @fn_emith(ptr @.str18590) call void @fn_emith(ptr @.str18591) %t73 = load ptr, ptr %t22 call void @fn_emith(ptr %t73) call void @fn_emith(ptr @.str18592) call void @fn_emith(ptr @.str18593) %t74 = load ptr, ptr %t22 call void @fn_emith(ptr %t74) call void @fn_emith(ptr @.str18594) %t75 = load ptr, ptr %t24 call void @fn_emith(ptr %t75) call void @fn_emith(ptr @.str18595) call void @fn_emit(ptr @.str18596) %t76 = load ptr, ptr %t22 call void @fn_emit(ptr %t76) call void @fn_emit(ptr @.str18597) call void @fn_emit(ptr @.str18598) %t77 = load ptr, ptr %t22 call void @fn_emit(ptr %t77) call void @fn_emit(ptr @.str18599) call void @fn_emit(ptr @.str18600) %t78 = load ptr, ptr %t24 call void @fn_emit(ptr %t78) call void @fn_emit(ptr @.str18601) call void @fn_emit(ptr @.str18602) call void @fn_emit(ptr @.str18603) %t79 = load ptr, ptr %t24 call void @fn_emit(ptr %t79) call void @fn_emit(ptr @.str18604) %t80 = load ptr, ptr %t22 call void @fn_emit(ptr %t80) call void @fn_emit(ptr @.str18605) call void @fn_emit(ptr @.str18606) call void @fn_emit(ptr @.str18607) %t81 = load ptr, ptr %t24 call void @fn_emit(ptr %t81) call void @fn_emit(ptr @.str18608) %t82 = load ptr, ptr %t22 call void @fn_emit(ptr %t82) call void @fn_emit(ptr @.str18609) call void @fn_emit(ptr @.str18610) call void @fn_emit(ptr @.str18611) %t83 = load ptr, ptr %t22 call void @fn_emit(ptr %t83) call void @fn_emit(ptr @.str18612) call void @fn_emit(ptr @.str18613) call void @fn_emit(ptr @.str18614) %t84 = load ptr, ptr %t22 call void @fn_emit(ptr %t84) call void @fn_emit(ptr @.str18615) call void @fn_emit(ptr @.str18616) %t85 = load ptr, ptr %t22 call void @fn_emit(ptr %t85) call void @fn_emit(ptr @.str18617) call void @fn_emit(ptr @.str18618) %t86 = load ptr, ptr %t24 call void @fn_emit(ptr %t86) call void @fn_emit(ptr @.str18619) call void @fn_emit(ptr @.str18620) call void @fn_emit(ptr @.str18621) %t87 = load ptr, ptr %t24 call void @fn_emit(ptr %t87) call void @fn_emit(ptr @.str18622) %t88 = load ptr, ptr %t22 call void @fn_emit(ptr %t88) call void @fn_emit(ptr @.str18623) call void @fn_emit(ptr @.str18624) call void @fn_emit(ptr @.str18625) %t89 = load ptr, ptr %t24 call void @fn_emit(ptr %t89) call void @fn_emit(ptr @.str18626) %t90 = load ptr, ptr %t22 call void @fn_emit(ptr %t90) call void @fn_emit(ptr @.str18627) call void @fn_emit(ptr @.str18628) call void @fn_emit(ptr @.str18629) %t91 = load ptr, ptr %t22 call void @fn_emit(ptr %t91) call void @fn_emit(ptr @.str18630) call void @fn_emit(ptr @.str18631) call void @fn_emit(ptr @.str18632) %t92 = load ptr, ptr %t22 call void @fn_emit(ptr %t92) call void @fn_emit(ptr @.str18633) call void @fn_emit(ptr @.str18634) %t93 = load ptr, ptr %t22 call void @fn_emit(ptr %t93) call void @fn_emit(ptr @.str18635) call void @fn_emit(ptr @.str18636) call void @fn_emit(ptr @.str18637) call void @fn_emit(ptr @.str18638) call void @fn_emit(ptr @.str18639) %t94 = load ptr, ptr %t24 call void @fn_emit(ptr %t94) call void @fn_emit(ptr @.str18640) %t95 = load ptr, ptr %t22 call void @fn_emit(ptr %t95) call void @fn_emit(ptr @.str18641) call void @fn_emit(ptr @.str18642) call void @fn_emit(ptr @.str18643) 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 @.str18644, ptr @g_ret_ty %t96 = call ptr @fn_buf_new() store ptr %t96, ptr %t97 %t98 = call ptr @fn_buf_new() store ptr %t98, ptr @g_falloc %t99 = load ptr, ptr @g_code store ptr %t99, ptr %t100 %t101 = load ptr, ptr %t97 store ptr %t101, ptr @g_code call void @fn_emit(ptr @.str18645) call void @fn_emit(ptr @.str18646) %t102 = call ptr @fn_itoa(i32 32) call void @fn_emit(ptr %t102) call void @fn_emit(ptr @.str18647) call void @fn_emit(ptr @.str18648) call void @fn_emit(ptr @.str18649) %t103 = load ptr, ptr %t18 %t104 = getelementptr inbounds %Cmp_Node, ptr %t103, i32 0, i32 2 %t105 = load i32, ptr %t104 %t106 = icmp eq i32 %t105, 1 %t107 = zext i1 %t106 to i32 %t108 = icmp ne i32 %t107, 0 br i1 %t108, label %then19, label %else20 then19: call void @fn_emit(ptr @.str18650) br label %ifend21 else20: call void @fn_emit(ptr @.str18651) br label %ifend21 ifend21: call void @fn_emit(ptr @.str18652) call void @fn_emit(ptr @.str18653) %t109 = load ptr, ptr %t22 store i32 10183, ptr @lp_site %t110 = call ptr @lp_str_concat(ptr @.str18654, ptr %t109) store i32 0, ptr @lp_site %t111 = call ptr @fn_emit_alloca(ptr %t110) store ptr %t111, ptr %t112 store i32 0, ptr %t113 br label %wcond22 wcond22: %t114 = load i32, ptr %t113 %t115 = load ptr, ptr %t18 %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 %wbody23, label %wend24 wbody23: %t123 = load ptr, ptr %t18 %t124 = getelementptr inbounds %Cmp_Node, ptr %t123, i32 0, i32 7 %t125 = load ptr, ptr %t124 %t126 = load i32, ptr %t113 %t127 = getelementptr inbounds %LSlice, ptr %t125, i32 0, i32 0 %t128 = load ptr, ptr %t127 %t129 = getelementptr inbounds %LSlice, ptr %t125, i32 0, i32 1 %t130 = load i32, ptr %t129 %t131 = icmp ult i32 %t126, %t130 br i1 %t131, label %ixok25, label %ixbad26 ixbad26: store i32 10184, ptr @lp_site %t132 = call ptr @lp_win_stdio(i32 2) store i32 0, ptr @lp_site call i32 (ptr, ptr, ...) @fprintf(ptr %t132, ptr @.fmt_bounds, ptr @.str18655, i32 %t126, i32 %t130) call void @exit(i32 1) unreachable ixok25: %t133 = getelementptr inbounds ptr, ptr %t128, i32 %t126 %t134 = load ptr, ptr %t133 store ptr %t134, ptr %t135 %t136 = load ptr, ptr %t135 %t137 = getelementptr inbounds %Cmp_Node, ptr %t136, i32 0, i32 3 %t138 = load ptr, ptr %t137 %t139 = call ptr @fn_llty(ptr %t138) store ptr %t139, ptr %t140 %t141 = call ptr @fn_nreg() store ptr %t141, ptr %t142 call void @fn_emit(ptr @.str18656) %t143 = load ptr, ptr %t142 call void @fn_emit(ptr %t143) call void @fn_emit(ptr @.str18657) %t144 = load ptr, ptr %t22 call void @fn_emit(ptr %t144) call void @fn_emit(ptr @.str18658) %t145 = load ptr, ptr %t112 call void @fn_emit(ptr %t145) call void @fn_emit(ptr @.str18659) %t146 = load i32, ptr %t113 %t147 = call ptr @fn_itoa(i32 %t146) call void @fn_emit(ptr %t147) call void @fn_emit(ptr @.str18660) call void @fn_emit(ptr @.str18661) %t148 = load ptr, ptr %t140 call void @fn_emit(ptr %t148) call void @fn_emit(ptr @.str18662) %t149 = load i32, ptr %t113 %t150 = call ptr @fn_itoa(i32 %t149) call void @fn_emit(ptr %t150) call void @fn_emit(ptr @.str18663) %t151 = load ptr, ptr %t142 call void @fn_emit(ptr %t151) call void @fn_emit(ptr @.str18664) %t152 = load ptr, ptr %t140 %t153 = call ptr @fn_emit_alloca(ptr %t152) store ptr %t153, ptr %t154 call void @fn_emit(ptr @.str18665) %t155 = load ptr, ptr %t140 call void @fn_emit(ptr %t155) call void @fn_emit(ptr @.str18666) %t156 = load i32, ptr %t113 %t157 = call ptr @fn_itoa(i32 %t156) call void @fn_emit(ptr %t157) call void @fn_emit(ptr @.str18667) %t158 = load ptr, ptr %t154 call void @fn_emit(ptr %t158) call void @fn_emit(ptr @.str18668) %t159 = load ptr, ptr %t135 %t160 = getelementptr inbounds %Cmp_Node, ptr %t159, i32 0, i32 1 %t161 = load ptr, ptr %t160 %t162 = load ptr, ptr %t154 %t163 = load ptr, ptr %t135 %t164 = getelementptr inbounds %Cmp_Node, ptr %t163, i32 0, i32 3 %t165 = load ptr, ptr %t164 call void @fn_loc_push(ptr %t161, ptr %t162, ptr %t165) %t166 = load i32, ptr %t113 %t167 = add i32 %t166, 1 store i32 %t167, ptr %t113 br label %wcond22 wend24: store ptr null, ptr %t168 %t169 = load ptr, ptr %t18 %t170 = getelementptr inbounds %Cmp_Node, ptr %t169, i32 0, i32 2 %t171 = load i32, ptr %t170 %t172 = icmp eq i32 %t171, 1 %t173 = zext i1 %t172 to i32 %t174 = icmp ne i32 %t173, 0 br i1 %t174, label %then27, label %ifend29 then27: %t175 = call ptr @fn_nreg() store ptr %t175, ptr %t168 call void @fn_emit(ptr @.str18669) %t176 = load ptr, ptr %t168 call void @fn_emit(ptr %t176) call void @fn_emit(ptr @.str18670) %t177 = load ptr, ptr %t22 call void @fn_emit(ptr %t177) call void @fn_emit(ptr @.str18671) %t178 = load ptr, ptr %t112 call void @fn_emit(ptr %t178) call void @fn_emit(ptr @.str18672) %t179 = load ptr, ptr %t18 %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 1 %t183 = load i32, ptr %t182 %t184 = call ptr @fn_itoa(i32 %t183) call void @fn_emit(ptr %t184) call void @fn_emit(ptr @.str18673) call void @fn_emit(ptr @.str18674) %t185 = load ptr, ptr %t168 call void @fn_emit(ptr %t185) call void @fn_emit(ptr @.str18675) %t186 = load ptr, ptr %t168 store ptr %t186, ptr @g_g_cancel_addr br label %ifend29 ifend29: %t187 = load i32, ptr @g_nloc store i32 %t187, ptr %t188 store i32 0, ptr %t189 br label %wcond30 wcond30: %t190 = load i32, ptr %t189 %t191 = load ptr, ptr @g_g_onlisten %t192 = getelementptr inbounds %LSlice, ptr %t191, i32 0, i32 1 %t193 = load i32, ptr %t192 %t194 = icmp slt i32 %t190, %t193 %t195 = zext i1 %t194 to i32 %t196 = icmp ne i32 %t195, 0 br i1 %t196, label %wbody31, label %wend32 wbody31: %t197 = load ptr, ptr @g_g_onlisten %t198 = load i32, ptr %t189 %t199 = getelementptr inbounds %LSlice, ptr %t197, i32 0, i32 0 %t200 = load ptr, ptr %t199 %t201 = getelementptr inbounds %LSlice, ptr %t197, i32 0, i32 1 %t202 = load i32, ptr %t201 %t203 = icmp ult i32 %t198, %t202 br i1 %t203, label %ixok33, label %ixbad34 ixbad34: store i32 10185, ptr @lp_site %t204 = call ptr @lp_win_stdio(i32 2) store i32 0, ptr @lp_site call i32 (ptr, ptr, ...) @fprintf(ptr %t204, ptr @.fmt_bounds, ptr @.str18676, i32 %t198, i32 %t202) call void @exit(i32 1) unreachable ixok33: %t205 = getelementptr inbounds ptr, ptr %t200, i32 %t198 %t206 = load ptr, ptr %t205 %t207 = getelementptr inbounds %Cmp_Node, ptr %t206, i32 0, i32 1 %t208 = load ptr, ptr %t207 %t209 = load ptr, ptr %t22 %t210 = call i32 @lp_str_eq(ptr %t208, ptr %t209) %t211 = icmp ne i32 %t210, 0 br i1 %t211, label %then35, label %ifend37 then35: %t212 = load i32, ptr %t188 store i32 %t212, ptr @g_nloc store i32 0, ptr @g_g_term %t213 = call ptr @fn_lbl(ptr @.str18677) store ptr %t213, ptr %t214 %t215 = load ptr, ptr %t214 store ptr %t215, ptr @g_g_ret_label %t216 = load ptr, ptr @g_g_onlisten %t217 = load i32, ptr %t189 %t218 = getelementptr inbounds %LSlice, ptr %t216, i32 0, i32 0 %t219 = load ptr, ptr %t218 %t220 = getelementptr inbounds %LSlice, ptr %t216, i32 0, i32 1 %t221 = load i32, ptr %t220 %t222 = icmp ult i32 %t217, %t221 br i1 %t222, label %ixok38, label %ixbad39 ixbad39: store i32 10186, ptr @lp_site %t223 = call ptr @lp_win_stdio(i32 2) store i32 0, ptr @lp_site call i32 (ptr, ptr, ...) @fprintf(ptr %t223, ptr @.fmt_bounds, ptr @.str18678, i32 %t217, i32 %t221) call void @exit(i32 1) unreachable ixok38: %t224 = getelementptr inbounds ptr, ptr %t219, i32 %t217 %t225 = load ptr, ptr %t224 %t226 = getelementptr inbounds %Cmp_Node, ptr %t225, i32 0, i32 9 %t227 = load ptr, ptr %t226 store ptr %t227, ptr @g_g_err_file %t228 = load ptr, ptr %t18 %t229 = load ptr, ptr %t22 call void @fn_vis_check(ptr %t228, ptr %t229) %t230 = load ptr, ptr %t22 store i32 10187, ptr @lp_site %t231 = call ptr @lp_str_concat(ptr @.str18679, ptr %t230) store i32 0, ptr @lp_site store i32 10188, ptr @lp_site %t232 = call ptr @lp_str_concat(ptr %t231, ptr @.str18680) store i32 0, ptr @lp_site call void @lp_free(ptr %t231) call void @fn_fence_enter(ptr %t232) %t233 = load ptr, ptr @g_g_onlisten %t234 = load i32, ptr %t189 %t235 = getelementptr inbounds %LSlice, ptr %t233, i32 0, i32 0 %t236 = load ptr, ptr %t235 %t237 = getelementptr inbounds %LSlice, ptr %t233, i32 0, i32 1 %t238 = load i32, ptr %t237 %t239 = icmp ult i32 %t234, %t238 br i1 %t239, label %ixok40, label %ixbad41 ixbad41: store i32 10189, ptr @lp_site %t240 = call ptr @lp_win_stdio(i32 2) store i32 0, ptr @lp_site call i32 (ptr, ptr, ...) @fprintf(ptr %t240, ptr @.fmt_bounds, ptr @.str18681, i32 %t234, i32 %t238) call void @exit(i32 1) unreachable ixok40: %t241 = getelementptr inbounds ptr, ptr %t236, i32 %t234 %t242 = load ptr, ptr %t241 %t243 = getelementptr inbounds %Cmp_Node, ptr %t242, i32 0, i32 4 %t244 = load ptr, ptr %t243 call void @fn_emit_block(ptr %t244) store ptr @.str18682, ptr @g_g_ret_label %t245 = load i32, ptr @g_g_term %t246 = icmp eq i32 %t245, 0 %t247 = zext i1 %t246 to i32 %t248 = icmp ne i32 %t247, 0 br i1 %t248, label %then42, label %ifend44 then42: %t249 = load ptr, ptr %t214 store i32 10190, ptr @lp_site %t250 = call ptr @lp_str_concat(ptr @.str18683, ptr %t249) store i32 0, ptr @lp_site store i32 10191, ptr @lp_site %t251 = call ptr @lp_str_concat(ptr %t250, ptr @.str18684) store i32 0, ptr @lp_site call void @lp_free(ptr %t250) call void @fn_emit(ptr %t251) br label %ifend44 ifend44: %t252 = load ptr, ptr %t214 store i32 10192, ptr @lp_site %t253 = call ptr @lp_str_concat(ptr %t252, ptr @.str18685) store i32 0, ptr @lp_site call void @fn_emit(ptr %t253) store i32 0, ptr @g_g_term br label %ifend37 ifend37: %t254 = load i32, ptr %t189 %t255 = add i32 %t254, 1 store i32 %t255, ptr %t189 br label %wcond30 wend32: %t256 = load i32, ptr @g_g_term %t257 = icmp eq i32 %t256, 0 %t258 = zext i1 %t257 to i32 %t259 = icmp ne i32 %t258, 0 br i1 %t259, label %then45, label %ifend47 then45: %t260 = call ptr @fn_emit_alloca(ptr @.str18686) store ptr %t260, ptr %t261 call void @fn_emit(ptr @.str18687) %t262 = load ptr, ptr %t261 call void @fn_emit(ptr %t262) call void @fn_emit(ptr @.str18688) %t263 = call ptr @fn_lbl(ptr @.str18689) store ptr %t263, ptr %t264 %t265 = call ptr @fn_lbl(ptr @.str18690) store ptr %t265, ptr %t266 %t267 = call ptr @fn_lbl(ptr @.str18691) store ptr %t267, ptr %t268 call void @fn_emit(ptr @.str18692) %t269 = load ptr, ptr %t264 call void @fn_emit(ptr %t269) call void @fn_emit(ptr @.str18693) %t270 = load ptr, ptr %t264 call void @fn_emit(ptr %t270) call void @fn_emit(ptr @.str18694) %t271 = load ptr, ptr %t261 store i32 10193, ptr @lp_site %t272 = call ptr @lp_str_concat(ptr @.str18695, ptr %t271) store i32 0, ptr @lp_site %t273 = call ptr @fn_emit_bind(ptr %t272) store ptr %t273, ptr %t274 %t275 = load ptr, ptr %t22 store i32 10194, ptr @lp_site %t276 = call ptr @lp_str_concat(ptr @.str18696, ptr %t275) store i32 0, ptr @lp_site %t277 = call ptr @fn_emit_bind(ptr %t276) store ptr %t277, ptr %t278 %t279 = load ptr, ptr %t274 store i32 10195, ptr @lp_site %t280 = call ptr @lp_str_concat(ptr @.str18697, ptr %t279) store i32 0, ptr @lp_site store i32 10196, ptr @lp_site %t281 = call ptr @lp_str_concat(ptr %t280, ptr @.str18698) store i32 0, ptr @lp_site call void @lp_free(ptr %t280) %t282 = load ptr, ptr %t278 store i32 10197, ptr @lp_site %t283 = call ptr @lp_str_concat(ptr %t281, ptr %t282) store i32 0, ptr @lp_site call void @lp_free(ptr %t281) %t284 = call ptr @fn_emit_bind(ptr %t283) store ptr %t284, ptr %t285 call void @fn_emit(ptr @.str18699) %t286 = load ptr, ptr %t285 call void @fn_emit(ptr %t286) call void @fn_emit(ptr @.str18700) %t287 = load ptr, ptr %t266 call void @fn_emit(ptr %t287) call void @fn_emit(ptr @.str18701) %t288 = load ptr, ptr %t268 call void @fn_emit(ptr %t288) call void @fn_emit(ptr @.str18702) %t289 = load ptr, ptr %t266 call void @fn_emit(ptr %t289) call void @fn_emit(ptr @.str18703) %t290 = call ptr @fn_nreg() store ptr %t290, ptr %t291 call void @fn_emit(ptr @.str18704) %t292 = load ptr, ptr %t291 call void @fn_emit(ptr %t292) call void @fn_emit(ptr @.str18705) %t293 = load ptr, ptr %t24 call void @fn_emit(ptr %t293) call void @fn_emit(ptr @.str18706) %t294 = load ptr, ptr %t22 call void @fn_emit(ptr %t294) call void @fn_emit(ptr @.str18707) %t295 = load ptr, ptr %t274 call void @fn_emit(ptr %t295) call void @fn_emit(ptr @.str18708) %t296 = load ptr, ptr %t291 store i32 10198, ptr @lp_site %t297 = call ptr @lp_str_concat(ptr @.str18709, ptr %t296) store i32 0, ptr @lp_site %t298 = call ptr @fn_emit_bind(ptr %t297) store ptr %t298, ptr %t299 %t300 = load ptr, ptr %t299 store i32 10199, ptr @lp_site %t301 = call ptr @lp_str_concat(ptr @.str18710, ptr %t300) store i32 0, ptr @lp_site store i32 10200, ptr @lp_site %t302 = call ptr @lp_str_concat(ptr %t301, ptr @.str18711) store i32 0, ptr @lp_site call void @lp_free(ptr %t301) %t303 = call ptr @fn_emit_bind(ptr %t302) store ptr %t303, ptr %t304 %t305 = call ptr @fn_lbl(ptr @.str18712) store ptr %t305, ptr %t306 %t307 = call ptr @fn_lbl(ptr @.str18713) store ptr %t307, ptr %t308 call void @fn_emit(ptr @.str18714) %t309 = load ptr, ptr %t304 call void @fn_emit(ptr %t309) call void @fn_emit(ptr @.str18715) %t310 = load ptr, ptr %t308 call void @fn_emit(ptr %t310) call void @fn_emit(ptr @.str18716) %t311 = load ptr, ptr %t306 call void @fn_emit(ptr %t311) call void @fn_emit(ptr @.str18717) %t312 = load ptr, ptr %t306 call void @fn_emit(ptr %t312) call void @fn_emit(ptr @.str18718) call void @fn_emit(ptr @.str18719) %t313 = load ptr, ptr %t299 call void @fn_emit(ptr %t313) call void @fn_emit(ptr @.str18720) %t314 = load ptr, ptr %t112 call void @fn_emit(ptr %t314) call void @fn_emit(ptr @.str18721) call void @fn_emit(ptr @.str18722) %t315 = load ptr, ptr %t308 call void @fn_emit(ptr %t315) call void @fn_emit(ptr @.str18723) %t316 = load ptr, ptr %t308 call void @fn_emit(ptr %t316) call void @fn_emit(ptr @.str18724) %t317 = load ptr, ptr %t274 store i32 10201, ptr @lp_site %t318 = call ptr @lp_str_concat(ptr @.str18725, ptr %t317) store i32 0, ptr @lp_site store i32 10202, ptr @lp_site %t319 = call ptr @lp_str_concat(ptr %t318, ptr @.str18726) store i32 0, ptr @lp_site call void @lp_free(ptr %t318) %t320 = call ptr @fn_emit_bind(ptr %t319) store ptr %t320, ptr %t321 call void @fn_emit(ptr @.str18727) %t322 = load ptr, ptr %t321 call void @fn_emit(ptr %t322) call void @fn_emit(ptr @.str18728) %t323 = load ptr, ptr %t261 call void @fn_emit(ptr %t323) call void @fn_emit(ptr @.str18729) call void @fn_emit(ptr @.str18730) %t324 = load ptr, ptr %t264 call void @fn_emit(ptr %t324) call void @fn_emit(ptr @.str18731) %t325 = load ptr, ptr %t268 call void @fn_emit(ptr %t325) call void @fn_emit(ptr @.str18732) call void @fn_emit(ptr @.str18733) br label %ifend47 ifend47: call void @fn_emit(ptr @.str18734) call void @fn_emit(ptr @.str18735) %t326 = load ptr, ptr %t18 %t327 = getelementptr inbounds %Cmp_Node, ptr %t326, i32 0, i32 2 %t328 = load i32, ptr %t327 %t329 = icmp eq i32 %t328, 1 %t330 = zext i1 %t329 to i32 %t331 = icmp ne i32 %t330, 0 br i1 %t331, label %then48, label %else49 then48: %t332 = load ptr, ptr %t168 store i32 10203, ptr @lp_site %t333 = call ptr @lp_str_concat(ptr @.str18736, ptr %t332) store i32 0, ptr @lp_site %t334 = call ptr @fn_emit_bind(ptr %t333) store ptr %t334, ptr %t335 call void @fn_emit(ptr @.str18737) %t336 = load ptr, ptr %t335 call void @fn_emit(ptr %t336) call void @fn_emit(ptr @.str18738) br label %ifend50 else49: call void @fn_emit(ptr @.str18739) br label %ifend50 ifend50: store ptr null, ptr @g_g_cancel_addr %t337 = load ptr, ptr %t100 store ptr %t337, ptr @g_code store ptr @.str18740, ptr %t338 %t339 = load ptr, ptr %t18 %t340 = getelementptr inbounds %Cmp_Node, ptr %t339, i32 0, i32 2 %t341 = load i32, ptr %t340 %t342 = icmp eq i32 %t341, 1 %t343 = zext i1 %t342 to i32 %t344 = icmp ne i32 %t343, 0 br i1 %t344, label %then51, label %ifend53 then51: store ptr @.str18741, ptr %t338 br label %ifend53 ifend53: call void @fn_emit(ptr @.str18742) %t345 = load ptr, ptr %t338 call void @fn_emit(ptr %t345) call void @fn_emit(ptr @.str18743) %t346 = load ptr, ptr %t22 call void @fn_emit(ptr %t346) call void @fn_emit(ptr @.str18744) store i32 0, ptr %t347 br label %wcond54 wcond54: %t348 = load i32, ptr %t347 %t349 = load ptr, ptr %t18 %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 1 %t353 = load i32, ptr %t352 %t354 = icmp slt i32 %t348, %t353 %t355 = zext i1 %t354 to i32 %t356 = icmp ne i32 %t355, 0 br i1 %t356, label %wbody55, label %wend56 wbody55: %t357 = load i32, ptr %t347 %t358 = icmp sgt i32 %t357, 0 %t359 = zext i1 %t358 to i32 %t360 = icmp ne i32 %t359, 0 br i1 %t360, label %then57, label %ifend59 then57: call void @fn_emit(ptr @.str18745) br label %ifend59 ifend59: %t361 = load ptr, ptr %t18 %t362 = getelementptr inbounds %Cmp_Node, ptr %t361, i32 0, i32 7 %t363 = load ptr, ptr %t362 %t364 = load i32, ptr %t347 %t365 = getelementptr inbounds %LSlice, ptr %t363, i32 0, i32 0 %t366 = load ptr, ptr %t365 %t367 = getelementptr inbounds %LSlice, ptr %t363, i32 0, i32 1 %t368 = load i32, ptr %t367 %t369 = icmp ult i32 %t364, %t368 br i1 %t369, label %ixok60, label %ixbad61 ixbad61: store i32 10204, ptr @lp_site %t370 = call ptr @lp_win_stdio(i32 2) store i32 0, ptr @lp_site call i32 (ptr, ptr, ...) @fprintf(ptr %t370, ptr @.fmt_bounds, ptr @.str18746, i32 %t364, i32 %t368) call void @exit(i32 1) unreachable ixok60: %t371 = getelementptr inbounds ptr, ptr %t366, i32 %t364 %t372 = load ptr, ptr %t371 %t373 = getelementptr inbounds %Cmp_Node, ptr %t372, i32 0, i32 3 %t374 = load ptr, ptr %t373 %t375 = call ptr @fn_llty(ptr %t374) call void @fn_emit(ptr %t375) call void @fn_emit(ptr @.str18747) %t376 = load i32, ptr %t347 %t377 = call ptr @fn_itoa(i32 %t376) call void @fn_emit(ptr %t377) %t378 = load i32, ptr %t347 %t379 = add i32 %t378, 1 store i32 %t379, ptr %t347 br label %wcond54 wend56: call void @fn_emit(ptr @.str18748) %t380 = load ptr, ptr @g_falloc %t381 = call ptr @fn_buf_str(ptr %t380) call void @fn_emit(ptr %t381) %t382 = load ptr, ptr %t97 %t383 = call ptr @fn_buf_str(ptr %t382) call void @fn_emit(ptr %t383) call void @fn_emit(ptr @.str18749) %t384 = load i32, ptr %t0 %t385 = add i32 %t384, 1 store i32 %t385, ptr %t0 br label %wcond0 wend2: %t386 = call ptr @fn_itoa(i32 16) store ptr %t386, ptr %t387 call void @fn_emit(ptr @.str18750) store i32 0, ptr %t388 br label %wcond62 wcond62: %t389 = load i32, ptr %t388 %t390 = load ptr, ptr @g_g_events %t391 = getelementptr inbounds %LSlice, ptr %t390, i32 0, i32 1 %t392 = load i32, ptr %t391 %t393 = icmp slt i32 %t389, %t392 %t394 = zext i1 %t393 to i32 %t395 = icmp ne i32 %t394, 0 br i1 %t395, label %wbody63, label %wend64 wbody63: %t396 = load ptr, ptr @g_g_events %t397 = load i32, ptr %t388 %t398 = getelementptr inbounds %LSlice, ptr %t396, i32 0, i32 0 %t399 = load ptr, ptr %t398 %t400 = getelementptr inbounds %LSlice, ptr %t396, i32 0, i32 1 %t401 = load i32, ptr %t400 %t402 = icmp ult i32 %t397, %t401 br i1 %t402, label %ixok65, label %ixbad66 ixbad66: store i32 10205, ptr @lp_site %t403 = call ptr @lp_win_stdio(i32 2) store i32 0, ptr @lp_site call i32 (ptr, ptr, ...) @fprintf(ptr %t403, ptr @.fmt_bounds, ptr @.str18751, i32 %t397, i32 %t401) call void @exit(i32 1) unreachable ixok65: %t404 = getelementptr inbounds ptr, ptr %t399, i32 %t397 %t405 = load ptr, ptr %t404 %t406 = getelementptr inbounds %Cmp_Node, ptr %t405, i32 0, i32 1 %t407 = load ptr, ptr %t406 store ptr %t407, ptr %t408 %t409 = load i32, ptr %t388 %t410 = call ptr @fn_itoa(i32 %t409) store ptr %t410, ptr %t411 call void @fn_emit(ptr @.str18752) %t412 = load ptr, ptr %t411 call void @fn_emit(ptr %t412) call void @fn_emit(ptr @.str18753) call void @fn_emit(ptr @.str18754) %t413 = load ptr, ptr %t411 call void @fn_emit(ptr %t413) call void @fn_emit(ptr @.str18755) call void @fn_emit(ptr @.str18756) %t414 = load ptr, ptr %t411 call void @fn_emit(ptr %t414) call void @fn_emit(ptr @.str18757) %t415 = load ptr, ptr %t408 call void @fn_emit(ptr %t415) call void @fn_emit(ptr @.str18758) call void @fn_emit(ptr @.str18759) %t416 = load ptr, ptr %t411 call void @fn_emit(ptr %t416) call void @fn_emit(ptr @.str18760) %t417 = load ptr, ptr %t411 call void @fn_emit(ptr %t417) call void @fn_emit(ptr @.str18761) %t418 = load ptr, ptr %t411 call void @fn_emit(ptr %t418) call void @fn_emit(ptr @.str18762) call void @fn_emit(ptr @.str18763) %t419 = load ptr, ptr %t411 call void @fn_emit(ptr %t419) call void @fn_emit(ptr @.str18764) %t420 = load ptr, ptr %t411 call void @fn_emit(ptr %t420) call void @fn_emit(ptr @.str18765) %t421 = load ptr, ptr %t411 call void @fn_emit(ptr %t421) call void @fn_emit(ptr @.str18766) call void @fn_emit(ptr @.str18767) %t422 = load ptr, ptr %t411 call void @fn_emit(ptr %t422) call void @fn_emit(ptr @.str18768) call void @fn_emit(ptr @.str18769) %t423 = load ptr, ptr %t411 call void @fn_emit(ptr %t423) call void @fn_emit(ptr @.str18770) %t424 = load ptr, ptr %t387 call void @fn_emit(ptr %t424) call void @fn_emit(ptr @.str18771) %t425 = load ptr, ptr %t408 call void @fn_emit(ptr %t425) call void @fn_emit(ptr @.str18772) %t426 = load ptr, ptr %t411 call void @fn_emit(ptr %t426) call void @fn_emit(ptr @.str18773) call void @fn_emit(ptr @.str18774) %t427 = load ptr, ptr %t411 call void @fn_emit(ptr %t427) call void @fn_emit(ptr @.str18775) %t428 = load ptr, ptr %t411 call void @fn_emit(ptr %t428) call void @fn_emit(ptr @.str18776) call void @fn_emit(ptr @.str18777) %t429 = load ptr, ptr %t411 call void @fn_emit(ptr %t429) call void @fn_emit(ptr @.str18778) %t430 = load ptr, ptr %t411 call void @fn_emit(ptr %t430) call void @fn_emit(ptr @.str18779) call void @fn_emit(ptr @.str18780) %t431 = load ptr, ptr %t411 call void @fn_emit(ptr %t431) call void @fn_emit(ptr @.str18781) %t432 = load ptr, ptr %t411 call void @fn_emit(ptr %t432) call void @fn_emit(ptr @.str18782) %t433 = load ptr, ptr %t411 call void @fn_emit(ptr %t433) call void @fn_emit(ptr @.str18783) call void @fn_emit(ptr @.str18784) %t434 = load ptr, ptr %t411 call void @fn_emit(ptr %t434) call void @fn_emit(ptr @.str18785) call void @fn_emit(ptr @.str18786) %t435 = load ptr, ptr %t411 call void @fn_emit(ptr %t435) call void @fn_emit(ptr @.str18787) %t436 = load ptr, ptr %t387 call void @fn_emit(ptr %t436) call void @fn_emit(ptr @.str18788) %t437 = load ptr, ptr %t408 call void @fn_emit(ptr %t437) call void @fn_emit(ptr @.str18789) %t438 = load ptr, ptr %t411 call void @fn_emit(ptr %t438) call void @fn_emit(ptr @.str18790) call void @fn_emit(ptr @.str18791) %t439 = load ptr, ptr %t411 call void @fn_emit(ptr %t439) call void @fn_emit(ptr @.str18792) %t440 = load ptr, ptr %t411 call void @fn_emit(ptr %t440) call void @fn_emit(ptr @.str18793) call void @fn_emit(ptr @.str18794) %t441 = load ptr, ptr %t411 call void @fn_emit(ptr %t441) call void @fn_emit(ptr @.str18795) call void @fn_emit(ptr @.str18796) %t442 = load ptr, ptr %t411 call void @fn_emit(ptr %t442) call void @fn_emit(ptr @.str18797) %t443 = load ptr, ptr %t411 call void @fn_emit(ptr %t443) call void @fn_emit(ptr @.str18798) %t444 = load ptr, ptr %t411 call void @fn_emit(ptr %t444) call void @fn_emit(ptr @.str18799) %t445 = load ptr, ptr %t411 call void @fn_emit(ptr %t445) call void @fn_emit(ptr @.str18800) call void @fn_emit(ptr @.str18801) %t446 = load ptr, ptr %t411 call void @fn_emit(ptr %t446) call void @fn_emit(ptr @.str18802) %t447 = load i32, ptr %t388 %t448 = add i32 %t447, 1 %t449 = load ptr, ptr @g_g_events %t450 = getelementptr inbounds %LSlice, ptr %t449, i32 0, i32 1 %t451 = load i32, ptr %t450 %t452 = icmp slt i32 %t448, %t451 %t453 = zext i1 %t452 to i32 %t454 = icmp ne i32 %t453, 0 br i1 %t454, label %then67, label %else68 then67: call void @fn_emit(ptr @.str18803) %t455 = load i32, ptr %t388 %t456 = add i32 %t455, 1 %t457 = call ptr @fn_itoa(i32 %t456) call void @fn_emit(ptr %t457) call void @fn_emit(ptr @.str18804) br label %ifend69 else68: call void @fn_emit(ptr @.str18805) br label %ifend69 ifend69: %t458 = load i32, ptr %t388 %t459 = add i32 %t458, 1 store i32 %t459, ptr %t388 br label %wcond62 wend64: call void @fn_emit(ptr @.str18806) br label %ret ret: ret void } define void @fn_emit_world_table() { entry: %t1 = alloca ptr %t2 = alloca i32 %t3 = alloca i32 %t32 = alloca ptr %t33 = alloca i32 %t34 = alloca i32 %t70 = alloca ptr %t73 = alloca ptr %t121 = alloca ptr %t124 = alloca ptr %t131 = alloca i32 %t156 = alloca ptr %t162 = alloca ptr %t213 = alloca ptr %t217 = alloca ptr %t220 = alloca ptr %t230 = alloca ptr %t234 = alloca i32 %t259 = alloca ptr %t265 = alloca ptr %t340 = alloca ptr %t344 = alloca ptr %t347 = alloca ptr %t357 = alloca ptr %t361 = alloca i32 %t386 = alloca ptr %t392 = alloca ptr %t463 = alloca ptr %t466 = alloca ptr %t476 = alloca ptr %t494 = alloca ptr %t531 = alloca ptr %t534 = alloca ptr %t596 = alloca ptr %t598 = alloca ptr %t601 = alloca ptr %t604 = alloca ptr %t610 = alloca ptr %t654 = alloca ptr %t657 = alloca ptr %t675 = 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 = load i32, ptr %t3 %t13 = getelementptr inbounds %LSlice, ptr %t11, i32 0, i32 0 %t14 = load ptr, ptr %t13 %t15 = getelementptr inbounds %LSlice, ptr %t11, i32 0, i32 1 %t16 = load i32, ptr %t15 %t17 = icmp ult i32 %t12, %t16 br i1 %t17, label %ixok3, label %ixbad4 ixbad4: store i32 10206, ptr @lp_site %t18 = call ptr @lp_win_stdio(i32 2) store i32 0, ptr @lp_site call i32 (ptr, ptr, ...) @fprintf(ptr %t18, ptr @.fmt_bounds, ptr @.str18807, i32 %t12, i32 %t16) call void @exit(i32 1) unreachable ixok3: %t19 = getelementptr inbounds ptr, ptr %t14, i32 %t12 %t20 = load ptr, ptr %t19 %t21 = getelementptr inbounds %Cmp_Node, ptr %t20, i32 0, i32 0 %t22 = load i32, ptr %t21 %t23 = icmp eq i32 %t22, 8 %t24 = zext i1 %t23 to i32 %t25 = icmp ne i32 %t24, 0 br i1 %t25, label %then5, label %ifend7 then5: %t26 = load i32, ptr %t2 %t27 = add i32 %t26, 1 store i32 %t27, ptr %t2 br label %ifend7 ifend7: %t28 = load i32, ptr %t3 %t29 = add i32 %t28, 1 store i32 %t29, ptr %t3 br label %wcond0 wend2: %t30 = load i32, ptr %t2 %t31 = call ptr @fn_itoa(i32 %t30) store ptr %t31, ptr %t32 call void @fn_emith(ptr @.str18809) call void @fn_emith(ptr @.str18810) call void @fn_emith(ptr @.str18811) call void @fn_emith(ptr @.str18812) call void @fn_emith(ptr @.str18813) call void @fn_emit(ptr @.str18814) store i32 0, ptr %t33 store i32 0, ptr %t34 br label %wcond8 wcond8: %t35 = load i32, ptr %t34 %t36 = load ptr, ptr @g_prog %t37 = getelementptr inbounds %LSlice, ptr %t36, i32 0, i32 1 %t38 = load i32, ptr %t37 %t39 = icmp slt i32 %t35, %t38 %t40 = zext i1 %t39 to i32 %t41 = icmp ne i32 %t40, 0 br i1 %t41, label %wbody9, label %wend10 wbody9: %t42 = load ptr, ptr @g_prog %t43 = load i32, ptr %t34 %t44 = getelementptr inbounds %LSlice, ptr %t42, i32 0, i32 0 %t45 = load ptr, ptr %t44 %t46 = getelementptr inbounds %LSlice, ptr %t42, i32 0, i32 1 %t47 = load i32, ptr %t46 %t48 = icmp ult i32 %t43, %t47 br i1 %t48, label %ixok11, label %ixbad12 ixbad12: store i32 10207, ptr @lp_site %t49 = call ptr @lp_win_stdio(i32 2) store i32 0, ptr @lp_site call i32 (ptr, ptr, ...) @fprintf(ptr %t49, ptr @.fmt_bounds, ptr @.str18815, i32 %t43, i32 %t47) call void @exit(i32 1) unreachable ixok11: %t50 = getelementptr inbounds ptr, ptr %t45, i32 %t43 %t51 = load ptr, ptr %t50 %t52 = getelementptr inbounds %Cmp_Node, ptr %t51, i32 0, i32 0 %t53 = load i32, ptr %t52 %t54 = icmp eq i32 %t53, 8 %t55 = zext i1 %t54 to i32 %t56 = icmp ne i32 %t55, 0 br i1 %t56, label %then13, label %ifend15 then13: %t57 = load ptr, ptr @g_prog %t58 = load i32, ptr %t34 %t59 = getelementptr inbounds %LSlice, ptr %t57, i32 0, i32 0 %t60 = load ptr, ptr %t59 %t61 = getelementptr inbounds %LSlice, ptr %t57, i32 0, i32 1 %t62 = load i32, ptr %t61 %t63 = icmp ult i32 %t58, %t62 br i1 %t63, label %ixok16, label %ixbad17 ixbad17: store i32 10208, ptr @lp_site %t64 = call ptr @lp_win_stdio(i32 2) store i32 0, ptr @lp_site call i32 (ptr, ptr, ...) @fprintf(ptr %t64, ptr @.fmt_bounds, ptr @.str18816, i32 %t58, i32 %t62) call void @exit(i32 1) unreachable ixok16: %t65 = getelementptr inbounds ptr, ptr %t60, i32 %t58 %t66 = load ptr, ptr %t65 %t67 = getelementptr inbounds %Cmp_Node, ptr %t66, i32 0, i32 1 %t68 = load ptr, ptr %t67 %t69 = call ptr @fn_emit_str_const(ptr %t68) store ptr %t69, ptr %t70 %t71 = load i32, ptr %t33 %t72 = call ptr @fn_itoa(i32 %t71) store ptr %t72, ptr %t73 call void @fn_emit(ptr @.str18817) %t74 = load ptr, ptr %t73 call void @fn_emit(ptr %t74) call void @fn_emit(ptr @.str18818) %t75 = load ptr, ptr %t70 call void @fn_emit(ptr %t75) call void @fn_emit(ptr @.str18819) call void @fn_emit(ptr @.str18820) %t76 = load ptr, ptr %t73 call void @fn_emit(ptr %t76) call void @fn_emit(ptr @.str18821) %t77 = load ptr, ptr %t73 call void @fn_emit(ptr %t77) call void @fn_emit(ptr @.str18822) call void @fn_emit(ptr @.str18823) %t78 = load ptr, ptr %t73 call void @fn_emit(ptr %t78) call void @fn_emit(ptr @.str18824) %t79 = load ptr, ptr %t73 call void @fn_emit(ptr %t79) call void @fn_emit(ptr @.str18825) %t80 = load ptr, ptr %t73 call void @fn_emit(ptr %t80) call void @fn_emit(ptr @.str18826) call void @fn_emit(ptr @.str18827) %t81 = load ptr, ptr %t73 call void @fn_emit(ptr %t81) call void @fn_emit(ptr @.str18828) %t82 = load ptr, ptr %t73 call void @fn_emit(ptr %t82) call void @fn_emit(ptr @.str18829) call void @fn_emit(ptr @.str18830) %t83 = load ptr, ptr %t73 call void @fn_emit(ptr %t83) call void @fn_emit(ptr @.str18831) %t84 = load i32, ptr %t33 %t85 = add i32 %t84, 1 store i32 %t85, ptr %t33 br label %ifend15 ifend15: %t86 = load i32, ptr %t34 %t87 = add i32 %t86, 1 store i32 %t87, ptr %t34 br label %wcond8 wend10: call void @fn_emit(ptr @.str18832) call void @fn_emit(ptr @.str18833) call void @fn_emit(ptr @.str18834) call void @fn_emit(ptr @.str18835) %t88 = load ptr, ptr %t32 call void @fn_emit(ptr %t88) call void @fn_emit(ptr @.str18836) call void @fn_emit(ptr @.str18837) call void @fn_emit(ptr @.str18838) call void @fn_emit(ptr @.str18839) store i32 0, ptr %t33 store i32 0, ptr %t34 br label %wcond18 wcond18: %t89 = load i32, ptr %t34 %t90 = load ptr, ptr @g_prog %t91 = getelementptr inbounds %LSlice, ptr %t90, i32 0, i32 1 %t92 = load i32, ptr %t91 %t93 = icmp slt i32 %t89, %t92 %t94 = zext i1 %t93 to i32 %t95 = icmp ne i32 %t94, 0 br i1 %t95, label %wbody19, label %wend20 wbody19: %t96 = load ptr, ptr @g_prog %t97 = load i32, ptr %t34 %t98 = getelementptr inbounds %LSlice, ptr %t96, i32 0, i32 0 %t99 = load ptr, ptr %t98 %t100 = getelementptr inbounds %LSlice, ptr %t96, i32 0, i32 1 %t101 = load i32, ptr %t100 %t102 = icmp ult i32 %t97, %t101 br i1 %t102, label %ixok21, label %ixbad22 ixbad22: store i32 10209, ptr @lp_site %t103 = call ptr @lp_win_stdio(i32 2) store i32 0, ptr @lp_site call i32 (ptr, ptr, ...) @fprintf(ptr %t103, ptr @.fmt_bounds, ptr @.str18840, i32 %t97, i32 %t101) call void @exit(i32 1) unreachable ixok21: %t104 = getelementptr inbounds ptr, ptr %t99, i32 %t97 %t105 = load ptr, ptr %t104 %t106 = getelementptr inbounds %Cmp_Node, ptr %t105, i32 0, i32 0 %t107 = load i32, ptr %t106 %t108 = icmp eq i32 %t107, 8 %t109 = zext i1 %t108 to i32 %t110 = icmp ne i32 %t109, 0 br i1 %t110, label %then23, label %ifend25 then23: %t111 = load ptr, ptr @g_prog %t112 = load i32, ptr %t34 %t113 = getelementptr inbounds %LSlice, ptr %t111, i32 0, i32 0 %t114 = load ptr, ptr %t113 %t115 = getelementptr inbounds %LSlice, ptr %t111, i32 0, i32 1 %t116 = load i32, ptr %t115 %t117 = icmp ult i32 %t112, %t116 br i1 %t117, label %ixok26, label %ixbad27 ixbad27: store i32 10210, ptr @lp_site %t118 = call ptr @lp_win_stdio(i32 2) store i32 0, ptr @lp_site call i32 (ptr, ptr, ...) @fprintf(ptr %t118, ptr @.fmt_bounds, ptr @.str18841, i32 %t112, i32 %t116) call void @exit(i32 1) unreachable ixok26: %t119 = getelementptr inbounds ptr, ptr %t114, i32 %t112 %t120 = load ptr, ptr %t119 store ptr %t120, ptr %t121 %t122 = load i32, ptr %t33 %t123 = call ptr @fn_itoa(i32 %t122) store ptr %t123, ptr %t124 call void @fn_emit(ptr @.str18842) %t125 = load ptr, ptr %t124 call void @fn_emit(ptr %t125) call void @fn_emit(ptr @.str18843) %t126 = load ptr, ptr %t124 call void @fn_emit(ptr %t126) call void @fn_emit(ptr @.str18844) call void @fn_emit(ptr @.str18845) %t127 = load ptr, ptr %t124 call void @fn_emit(ptr %t127) call void @fn_emit(ptr @.str18846) %t128 = load ptr, ptr %t124 call void @fn_emit(ptr %t128) call void @fn_emit(ptr @.str18847) %t129 = load ptr, ptr %t124 call void @fn_emit(ptr %t129) call void @fn_emit(ptr @.str18848) call void @fn_emit(ptr @.str18849) %t130 = load ptr, ptr %t124 call void @fn_emit(ptr %t130) call void @fn_emit(ptr @.str18850) store i32 0, ptr %t131 br label %wcond28 wcond28: %t132 = load i32, ptr %t131 %t133 = load ptr, ptr %t121 %t134 = getelementptr inbounds %Cmp_Node, ptr %t133, i32 0, i32 7 %t135 = load ptr, ptr %t134 %t136 = getelementptr inbounds %LSlice, ptr %t135, i32 0, i32 1 %t137 = load i32, ptr %t136 %t138 = icmp slt i32 %t132, %t137 %t139 = zext i1 %t138 to i32 %t140 = icmp ne i32 %t139, 0 br i1 %t140, label %wbody29, label %wend30 wbody29: %t141 = load ptr, ptr %t121 %t142 = getelementptr inbounds %Cmp_Node, ptr %t141, i32 0, i32 7 %t143 = load ptr, ptr %t142 %t144 = load i32, ptr %t131 %t145 = getelementptr inbounds %LSlice, ptr %t143, i32 0, i32 0 %t146 = load ptr, ptr %t145 %t147 = getelementptr inbounds %LSlice, ptr %t143, i32 0, i32 1 %t148 = load i32, ptr %t147 %t149 = icmp ult i32 %t144, %t148 br i1 %t149, label %ixok31, label %ixbad32 ixbad32: store i32 10211, ptr @lp_site %t150 = call ptr @lp_win_stdio(i32 2) store i32 0, ptr @lp_site call i32 (ptr, ptr, ...) @fprintf(ptr %t150, ptr @.fmt_bounds, ptr @.str18851, i32 %t144, i32 %t148) call void @exit(i32 1) unreachable ixok31: %t151 = getelementptr inbounds ptr, ptr %t146, i32 %t144 %t152 = load ptr, ptr %t151 %t153 = getelementptr inbounds %Cmp_Node, ptr %t152, i32 0, i32 1 %t154 = load ptr, ptr %t153 %t155 = call ptr @fn_emit_str_const(ptr %t154) store ptr %t155, ptr %t156 %t157 = load ptr, ptr %t124 store i32 10212, ptr @lp_site %t158 = call ptr @lp_str_concat(ptr %t157, ptr @.str18852) store i32 0, ptr @lp_site %t159 = load i32, ptr %t131 %t160 = call ptr @fn_itoa(i32 %t159) store i32 10213, ptr @lp_site %t161 = call ptr @lp_str_concat(ptr %t158, ptr %t160) store i32 0, ptr @lp_site call void @lp_free(ptr %t158) store ptr %t161, ptr %t162 call void @fn_emit(ptr @.str18853) %t163 = load ptr, ptr %t162 call void @fn_emit(ptr %t163) call void @fn_emit(ptr @.str18854) %t164 = load ptr, ptr %t156 call void @fn_emit(ptr %t164) call void @fn_emit(ptr @.str18855) call void @fn_emit(ptr @.str18856) %t165 = load ptr, ptr %t162 call void @fn_emit(ptr %t165) call void @fn_emit(ptr @.str18857) %t166 = load ptr, ptr %t162 call void @fn_emit(ptr %t166) call void @fn_emit(ptr @.str18858) call void @fn_emit(ptr @.str18859) %t167 = load ptr, ptr %t162 call void @fn_emit(ptr %t167) call void @fn_emit(ptr @.str18860) %t168 = load ptr, ptr %t162 call void @fn_emit(ptr %t168) call void @fn_emit(ptr @.str18861) %t169 = load ptr, ptr %t162 call void @fn_emit(ptr %t169) call void @fn_emit(ptr @.str18862) call void @fn_emit(ptr @.str18863) %t170 = load ptr, ptr %t162 call void @fn_emit(ptr %t170) call void @fn_emit(ptr @.str18864) %t171 = load i32, ptr %t131 %t172 = call ptr @fn_itoa(i32 %t171) call void @fn_emit(ptr %t172) call void @fn_emit(ptr @.str18865) call void @fn_emit(ptr @.str18866) %t173 = load ptr, ptr %t162 call void @fn_emit(ptr %t173) call void @fn_emit(ptr @.str18867) %t174 = load i32, ptr %t131 %t175 = add i32 %t174, 1 store i32 %t175, ptr %t131 br label %wcond28 wend30: call void @fn_emit(ptr @.str18868) call void @fn_emit(ptr @.str18869) %t176 = load ptr, ptr %t124 call void @fn_emit(ptr %t176) call void @fn_emit(ptr @.str18870) %t177 = load i32, ptr %t33 %t178 = add i32 %t177, 1 store i32 %t178, ptr %t33 br label %ifend25 ifend25: %t179 = load i32, ptr %t34 %t180 = add i32 %t179, 1 store i32 %t180, ptr %t34 br label %wcond18 wend20: call void @fn_emit(ptr @.str18871) call void @fn_emit(ptr @.str18872) store i32 0, ptr %t33 store i32 0, ptr %t34 br label %wcond33 wcond33: %t181 = load i32, ptr %t34 %t182 = load ptr, ptr @g_prog %t183 = getelementptr inbounds %LSlice, ptr %t182, i32 0, i32 1 %t184 = load i32, ptr %t183 %t185 = icmp slt i32 %t181, %t184 %t186 = zext i1 %t185 to i32 %t187 = icmp ne i32 %t186, 0 br i1 %t187, label %wbody34, label %wend35 wbody34: %t188 = load ptr, ptr @g_prog %t189 = load i32, ptr %t34 %t190 = getelementptr inbounds %LSlice, ptr %t188, i32 0, i32 0 %t191 = load ptr, ptr %t190 %t192 = getelementptr inbounds %LSlice, ptr %t188, i32 0, i32 1 %t193 = load i32, ptr %t192 %t194 = icmp ult i32 %t189, %t193 br i1 %t194, label %ixok36, label %ixbad37 ixbad37: store i32 10214, ptr @lp_site %t195 = call ptr @lp_win_stdio(i32 2) store i32 0, ptr @lp_site call i32 (ptr, ptr, ...) @fprintf(ptr %t195, ptr @.fmt_bounds, ptr @.str18873, i32 %t189, i32 %t193) call void @exit(i32 1) unreachable ixok36: %t196 = getelementptr inbounds ptr, ptr %t191, i32 %t189 %t197 = load ptr, ptr %t196 %t198 = getelementptr inbounds %Cmp_Node, ptr %t197, i32 0, i32 0 %t199 = load i32, ptr %t198 %t200 = icmp eq i32 %t199, 8 %t201 = zext i1 %t200 to i32 %t202 = icmp ne i32 %t201, 0 br i1 %t202, label %then38, label %ifend40 then38: %t203 = load ptr, ptr @g_prog %t204 = load i32, ptr %t34 %t205 = getelementptr inbounds %LSlice, ptr %t203, i32 0, i32 0 %t206 = load ptr, ptr %t205 %t207 = getelementptr inbounds %LSlice, ptr %t203, i32 0, i32 1 %t208 = load i32, ptr %t207 %t209 = icmp ult i32 %t204, %t208 br i1 %t209, label %ixok41, label %ixbad42 ixbad42: store i32 10215, ptr @lp_site %t210 = call ptr @lp_win_stdio(i32 2) store i32 0, ptr @lp_site call i32 (ptr, ptr, ...) @fprintf(ptr %t210, ptr @.fmt_bounds, ptr @.str18874, i32 %t204, i32 %t208) call void @exit(i32 1) unreachable ixok41: %t211 = getelementptr inbounds ptr, ptr %t206, i32 %t204 %t212 = load ptr, ptr %t211 store ptr %t212, ptr %t213 %t214 = load ptr, ptr %t213 %t215 = getelementptr inbounds %Cmp_Node, ptr %t214, i32 0, i32 1 %t216 = load ptr, ptr %t215 store ptr %t216, ptr %t217 %t218 = load i32, ptr %t33 %t219 = call ptr @fn_itoa(i32 %t218) store ptr %t219, ptr %t220 call void @fn_emit(ptr @.str18875) %t221 = load ptr, ptr %t220 call void @fn_emit(ptr %t221) call void @fn_emit(ptr @.str18876) %t222 = load ptr, ptr %t220 call void @fn_emit(ptr %t222) call void @fn_emit(ptr @.str18877) call void @fn_emit(ptr @.str18878) %t223 = load ptr, ptr %t220 call void @fn_emit(ptr %t223) call void @fn_emit(ptr @.str18879) %t224 = load ptr, ptr %t220 call void @fn_emit(ptr %t224) call void @fn_emit(ptr @.str18880) %t225 = load ptr, ptr %t220 call void @fn_emit(ptr %t225) call void @fn_emit(ptr @.str18881) call void @fn_emit(ptr @.str18882) %t226 = load ptr, ptr %t220 call void @fn_emit(ptr %t226) call void @fn_emit(ptr @.str18883) %t227 = load ptr, ptr %t217 store i32 10216, ptr @lp_site %t228 = call ptr @lp_str_concat(ptr @.str18884, ptr %t227) store i32 0, ptr @lp_site %t229 = call ptr @fn_ecs_base(ptr %t228) store ptr %t229, ptr %t230 call void @fn_emit(ptr @.str18885) %t231 = load ptr, ptr %t220 call void @fn_emit(ptr %t231) call void @fn_emit(ptr @.str18886) %t232 = load ptr, ptr %t217 call void @fn_emit(ptr %t232) call void @fn_emit(ptr @.str18887) %t233 = load ptr, ptr %t230 call void @fn_emit(ptr %t233) call void @fn_emit(ptr @.str18888) store i32 0, ptr %t234 br label %wcond43 wcond43: %t235 = load i32, ptr %t234 %t236 = load ptr, ptr %t213 %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 1 %t240 = load i32, ptr %t239 %t241 = icmp slt i32 %t235, %t240 %t242 = zext i1 %t241 to i32 %t243 = icmp ne i32 %t242, 0 br i1 %t243, label %wbody44, label %wend45 wbody44: %t244 = load ptr, ptr %t213 %t245 = getelementptr inbounds %Cmp_Node, ptr %t244, i32 0, i32 7 %t246 = load ptr, ptr %t245 %t247 = load i32, ptr %t234 %t248 = getelementptr inbounds %LSlice, ptr %t246, i32 0, i32 0 %t249 = load ptr, ptr %t248 %t250 = getelementptr inbounds %LSlice, ptr %t246, i32 0, i32 1 %t251 = load i32, ptr %t250 %t252 = icmp ult i32 %t247, %t251 br i1 %t252, label %ixok46, label %ixbad47 ixbad47: store i32 10217, ptr @lp_site %t253 = call ptr @lp_win_stdio(i32 2) store i32 0, ptr @lp_site call i32 (ptr, ptr, ...) @fprintf(ptr %t253, ptr @.fmt_bounds, ptr @.str18889, i32 %t247, i32 %t251) call void @exit(i32 1) unreachable ixok46: %t254 = getelementptr inbounds ptr, ptr %t249, i32 %t247 %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_llty(ptr %t257) store ptr %t258, ptr %t259 %t260 = load ptr, ptr %t220 store i32 10218, ptr @lp_site %t261 = call ptr @lp_str_concat(ptr %t260, ptr @.str18890) store i32 0, ptr @lp_site %t262 = load i32, ptr %t234 %t263 = call ptr @fn_itoa(i32 %t262) store i32 10219, ptr @lp_site %t264 = call ptr @lp_str_concat(ptr %t261, ptr %t263) store i32 0, ptr @lp_site call void @lp_free(ptr %t261) store ptr %t264, ptr %t265 call void @fn_emit(ptr @.str18891) %t266 = load ptr, ptr %t265 call void @fn_emit(ptr %t266) call void @fn_emit(ptr @.str18892) %t267 = load i32, ptr %t234 %t268 = call ptr @fn_itoa(i32 %t267) call void @fn_emit(ptr %t268) call void @fn_emit(ptr @.str18893) call void @fn_emit(ptr @.str18894) %t269 = load ptr, ptr %t265 call void @fn_emit(ptr %t269) call void @fn_emit(ptr @.str18895) %t270 = load ptr, ptr %t265 call void @fn_emit(ptr %t270) call void @fn_emit(ptr @.str18896) %t271 = load ptr, ptr %t265 call void @fn_emit(ptr %t271) call void @fn_emit(ptr @.str18897) call void @fn_emit(ptr @.str18898) %t272 = load ptr, ptr %t265 call void @fn_emit(ptr %t272) call void @fn_emit(ptr @.str18899) call void @fn_emit(ptr @.str18900) %t273 = load ptr, ptr %t265 call void @fn_emit(ptr %t273) call void @fn_emit(ptr @.str18901) %t274 = load ptr, ptr %t217 call void @fn_emit(ptr %t274) call void @fn_emit(ptr @.str18902) %t275 = load ptr, ptr %t220 call void @fn_emit(ptr %t275) call void @fn_emit(ptr @.str18903) %t276 = load i32, ptr %t234 %t277 = call ptr @fn_itoa(i32 %t276) call void @fn_emit(ptr %t277) call void @fn_emit(ptr @.str18904) %t278 = load ptr, ptr %t259 %t279 = call i32 @lp_str_eq(ptr %t278, ptr @.str18905) %t280 = icmp ne i32 %t279, 0 br i1 %t280, label %then48, label %else49 then48: call void @fn_emit(ptr @.str18906) %t281 = load ptr, ptr %t265 call void @fn_emit(ptr %t281) call void @fn_emit(ptr @.str18907) %t282 = load ptr, ptr %t265 call void @fn_emit(ptr %t282) call void @fn_emit(ptr @.str18908) call void @fn_emit(ptr @.str18909) %t283 = load ptr, ptr %t265 call void @fn_emit(ptr %t283) call void @fn_emit(ptr @.str18910) %t284 = load ptr, ptr %t265 call void @fn_emit(ptr %t284) call void @fn_emit(ptr @.str18911) %t285 = load ptr, ptr %t265 call void @fn_emit(ptr %t285) call void @fn_emit(ptr @.str18912) br label %ifend50 else49: %t286 = load ptr, ptr %t259 %t287 = call i32 @lp_str_eq(ptr %t286, ptr @.str18913) %t288 = icmp ne i32 %t287, 0 br i1 %t288, label %then51, label %else52 then51: call void @fn_emit(ptr @.str18914) %t289 = load ptr, ptr %t265 call void @fn_emit(ptr %t289) call void @fn_emit(ptr @.str18915) %t290 = load ptr, ptr %t265 call void @fn_emit(ptr %t290) call void @fn_emit(ptr @.str18916) call void @fn_emit(ptr @.str18917) %t291 = load ptr, ptr %t265 call void @fn_emit(ptr %t291) call void @fn_emit(ptr @.str18918) %t292 = load ptr, ptr %t265 call void @fn_emit(ptr %t292) call void @fn_emit(ptr @.str18919) %t293 = load ptr, ptr %t265 call void @fn_emit(ptr %t293) call void @fn_emit(ptr @.str18920) br label %ifend53 else52: call void @fn_emit(ptr @.str18921) %t294 = load ptr, ptr %t265 call void @fn_emit(ptr %t294) call void @fn_emit(ptr @.str18922) %t295 = load ptr, ptr %t265 call void @fn_emit(ptr %t295) call void @fn_emit(ptr @.str18923) call void @fn_emit(ptr @.str18924) %t296 = load ptr, ptr %t265 call void @fn_emit(ptr %t296) call void @fn_emit(ptr @.str18925) %t297 = load ptr, ptr %t265 call void @fn_emit(ptr %t297) call void @fn_emit(ptr @.str18926) %t298 = load ptr, ptr %t265 call void @fn_emit(ptr %t298) call void @fn_emit(ptr @.str18927) br label %ifend53 ifend53: br label %ifend50 ifend50: call void @fn_emit(ptr @.str18928) %t299 = load ptr, ptr %t265 call void @fn_emit(ptr %t299) call void @fn_emit(ptr @.str18929) %t300 = load i32, ptr %t234 %t301 = add i32 %t300, 1 store i32 %t301, ptr %t234 br label %wcond43 wend45: call void @fn_emit(ptr @.str18930) call void @fn_emit(ptr @.str18931) %t302 = load ptr, ptr %t220 call void @fn_emit(ptr %t302) call void @fn_emit(ptr @.str18932) %t303 = load i32, ptr %t33 %t304 = add i32 %t303, 1 store i32 %t304, ptr %t33 br label %ifend40 ifend40: %t305 = load i32, ptr %t34 %t306 = add i32 %t305, 1 store i32 %t306, ptr %t34 br label %wcond33 wend35: call void @fn_emit(ptr @.str18933) %t307 = load ptr, ptr %t32 call void @fn_emit(ptr %t307) call void @fn_emit(ptr @.str18934) call void @fn_emit(ptr @.str18935) call void @fn_emit(ptr @.str18936) call void @fn_emit(ptr @.str18937) call void @fn_emit(ptr @.str18938) call void @fn_emit(ptr @.str18939) call void @fn_emit(ptr @.str18940) store i32 0, ptr %t33 store i32 0, ptr %t34 br label %wcond54 wcond54: %t308 = load i32, ptr %t34 %t309 = load ptr, ptr @g_prog %t310 = getelementptr inbounds %LSlice, ptr %t309, i32 0, i32 1 %t311 = load i32, ptr %t310 %t312 = icmp slt i32 %t308, %t311 %t313 = zext i1 %t312 to i32 %t314 = icmp ne i32 %t313, 0 br i1 %t314, label %wbody55, label %wend56 wbody55: %t315 = load ptr, ptr @g_prog %t316 = load i32, ptr %t34 %t317 = getelementptr inbounds %LSlice, ptr %t315, i32 0, i32 0 %t318 = load ptr, ptr %t317 %t319 = getelementptr inbounds %LSlice, ptr %t315, i32 0, i32 1 %t320 = load i32, ptr %t319 %t321 = icmp ult i32 %t316, %t320 br i1 %t321, label %ixok57, label %ixbad58 ixbad58: store i32 10220, ptr @lp_site %t322 = call ptr @lp_win_stdio(i32 2) store i32 0, ptr @lp_site call i32 (ptr, ptr, ...) @fprintf(ptr %t322, ptr @.fmt_bounds, ptr @.str18941, i32 %t316, i32 %t320) call void @exit(i32 1) unreachable ixok57: %t323 = getelementptr inbounds ptr, ptr %t318, i32 %t316 %t324 = load ptr, ptr %t323 %t325 = getelementptr inbounds %Cmp_Node, ptr %t324, i32 0, i32 0 %t326 = load i32, ptr %t325 %t327 = icmp eq i32 %t326, 8 %t328 = zext i1 %t327 to i32 %t329 = icmp ne i32 %t328, 0 br i1 %t329, label %then59, label %ifend61 then59: %t330 = load ptr, ptr @g_prog %t331 = load i32, ptr %t34 %t332 = getelementptr inbounds %LSlice, ptr %t330, i32 0, i32 0 %t333 = load ptr, ptr %t332 %t334 = getelementptr inbounds %LSlice, ptr %t330, i32 0, i32 1 %t335 = load i32, ptr %t334 %t336 = icmp ult i32 %t331, %t335 br i1 %t336, label %ixok62, label %ixbad63 ixbad63: store i32 10221, ptr @lp_site %t337 = call ptr @lp_win_stdio(i32 2) store i32 0, ptr @lp_site call i32 (ptr, ptr, ...) @fprintf(ptr %t337, ptr @.fmt_bounds, ptr @.str18942, i32 %t331, i32 %t335) call void @exit(i32 1) unreachable ixok62: %t338 = getelementptr inbounds ptr, ptr %t333, i32 %t331 %t339 = load ptr, ptr %t338 store ptr %t339, ptr %t340 %t341 = load ptr, ptr %t340 %t342 = getelementptr inbounds %Cmp_Node, ptr %t341, i32 0, i32 1 %t343 = load ptr, ptr %t342 store ptr %t343, ptr %t344 %t345 = load i32, ptr %t33 %t346 = call ptr @fn_itoa(i32 %t345) store ptr %t346, ptr %t347 call void @fn_emit(ptr @.str18943) %t348 = load ptr, ptr %t347 call void @fn_emit(ptr %t348) call void @fn_emit(ptr @.str18944) %t349 = load ptr, ptr %t347 call void @fn_emit(ptr %t349) call void @fn_emit(ptr @.str18945) call void @fn_emit(ptr @.str18946) %t350 = load ptr, ptr %t347 call void @fn_emit(ptr %t350) call void @fn_emit(ptr @.str18947) %t351 = load ptr, ptr %t347 call void @fn_emit(ptr %t351) call void @fn_emit(ptr @.str18948) %t352 = load ptr, ptr %t347 call void @fn_emit(ptr %t352) call void @fn_emit(ptr @.str18949) call void @fn_emit(ptr @.str18950) %t353 = load ptr, ptr %t347 call void @fn_emit(ptr %t353) call void @fn_emit(ptr @.str18951) %t354 = load ptr, ptr %t344 store i32 10222, ptr @lp_site %t355 = call ptr @lp_str_concat(ptr @.str18952, ptr %t354) store i32 0, ptr @lp_site %t356 = call ptr @fn_ecs_base(ptr %t355) store ptr %t356, ptr %t357 call void @fn_emit(ptr @.str18953) %t358 = load ptr, ptr %t347 call void @fn_emit(ptr %t358) call void @fn_emit(ptr @.str18954) %t359 = load ptr, ptr %t344 call void @fn_emit(ptr %t359) call void @fn_emit(ptr @.str18955) %t360 = load ptr, ptr %t357 call void @fn_emit(ptr %t360) call void @fn_emit(ptr @.str18956) store i32 0, ptr %t361 br label %wcond64 wcond64: %t362 = load i32, ptr %t361 %t363 = load ptr, ptr %t340 %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 1 %t367 = load i32, ptr %t366 %t368 = icmp slt i32 %t362, %t367 %t369 = zext i1 %t368 to i32 %t370 = icmp ne i32 %t369, 0 br i1 %t370, label %wbody65, label %wend66 wbody65: %t371 = load ptr, ptr %t340 %t372 = getelementptr inbounds %Cmp_Node, ptr %t371, i32 0, i32 7 %t373 = load ptr, ptr %t372 %t374 = load i32, ptr %t361 %t375 = getelementptr inbounds %LSlice, ptr %t373, i32 0, i32 0 %t376 = load ptr, ptr %t375 %t377 = getelementptr inbounds %LSlice, ptr %t373, i32 0, i32 1 %t378 = load i32, ptr %t377 %t379 = icmp ult i32 %t374, %t378 br i1 %t379, label %ixok67, label %ixbad68 ixbad68: store i32 10223, ptr @lp_site %t380 = call ptr @lp_win_stdio(i32 2) store i32 0, ptr @lp_site call i32 (ptr, ptr, ...) @fprintf(ptr %t380, ptr @.fmt_bounds, ptr @.str18957, i32 %t374, i32 %t378) call void @exit(i32 1) unreachable ixok67: %t381 = getelementptr inbounds ptr, ptr %t376, i32 %t374 %t382 = load ptr, ptr %t381 %t383 = getelementptr inbounds %Cmp_Node, ptr %t382, i32 0, i32 3 %t384 = load ptr, ptr %t383 %t385 = call ptr @fn_llty(ptr %t384) store ptr %t385, ptr %t386 %t387 = load ptr, ptr %t347 store i32 10224, ptr @lp_site %t388 = call ptr @lp_str_concat(ptr %t387, ptr @.str18958) store i32 0, ptr @lp_site %t389 = load i32, ptr %t361 %t390 = call ptr @fn_itoa(i32 %t389) store i32 10225, ptr @lp_site %t391 = call ptr @lp_str_concat(ptr %t388, ptr %t390) store i32 0, ptr @lp_site call void @lp_free(ptr %t388) store ptr %t391, ptr %t392 call void @fn_emit(ptr @.str18959) %t393 = load ptr, ptr %t392 call void @fn_emit(ptr %t393) call void @fn_emit(ptr @.str18960) %t394 = load i32, ptr %t361 %t395 = call ptr @fn_itoa(i32 %t394) call void @fn_emit(ptr %t395) call void @fn_emit(ptr @.str18961) call void @fn_emit(ptr @.str18962) %t396 = load ptr, ptr %t392 call void @fn_emit(ptr %t396) call void @fn_emit(ptr @.str18963) %t397 = load ptr, ptr %t392 call void @fn_emit(ptr %t397) call void @fn_emit(ptr @.str18964) %t398 = load ptr, ptr %t392 call void @fn_emit(ptr %t398) call void @fn_emit(ptr @.str18965) call void @fn_emit(ptr @.str18966) %t399 = load ptr, ptr %t392 call void @fn_emit(ptr %t399) call void @fn_emit(ptr @.str18967) call void @fn_emit(ptr @.str18968) %t400 = load ptr, ptr %t392 call void @fn_emit(ptr %t400) call void @fn_emit(ptr @.str18969) %t401 = load ptr, ptr %t344 call void @fn_emit(ptr %t401) call void @fn_emit(ptr @.str18970) %t402 = load ptr, ptr %t347 call void @fn_emit(ptr %t402) call void @fn_emit(ptr @.str18971) %t403 = load i32, ptr %t361 %t404 = call ptr @fn_itoa(i32 %t403) call void @fn_emit(ptr %t404) call void @fn_emit(ptr @.str18972) %t405 = load ptr, ptr %t386 %t406 = call i32 @lp_str_eq(ptr %t405, ptr @.str18973) %t407 = icmp ne i32 %t406, 0 br i1 %t407, label %then69, label %else70 then69: call void @fn_emit(ptr @.str18974) %t408 = load ptr, ptr %t392 call void @fn_emit(ptr %t408) call void @fn_emit(ptr @.str18975) call void @fn_emit(ptr @.str18976) %t409 = load ptr, ptr %t392 call void @fn_emit(ptr %t409) call void @fn_emit(ptr @.str18977) %t410 = load ptr, ptr %t392 call void @fn_emit(ptr %t410) call void @fn_emit(ptr @.str18978) br label %ifend71 else70: %t411 = load ptr, ptr %t386 %t412 = call i32 @lp_str_eq(ptr %t411, ptr @.str18979) %t413 = icmp ne i32 %t412, 0 br i1 %t413, label %then72, label %else73 then72: call void @fn_emit(ptr @.str18980) %t414 = load ptr, ptr %t392 call void @fn_emit(ptr %t414) call void @fn_emit(ptr @.str18981) call void @fn_emit(ptr @.str18982) %t415 = load ptr, ptr %t392 call void @fn_emit(ptr %t415) call void @fn_emit(ptr @.str18983) %t416 = load ptr, ptr %t392 call void @fn_emit(ptr %t416) call void @fn_emit(ptr @.str18984) br label %ifend74 else73: call void @fn_emit(ptr @.str18985) %t417 = load ptr, ptr %t392 call void @fn_emit(ptr %t417) call void @fn_emit(ptr @.str18986) call void @fn_emit(ptr @.str18987) %t418 = load ptr, ptr %t392 call void @fn_emit(ptr %t418) call void @fn_emit(ptr @.str18988) %t419 = load ptr, ptr %t392 call void @fn_emit(ptr %t419) call void @fn_emit(ptr @.str18989) br label %ifend74 ifend74: br label %ifend71 ifend71: call void @fn_emit(ptr @.str18990) %t420 = load ptr, ptr %t392 call void @fn_emit(ptr %t420) call void @fn_emit(ptr @.str18991) %t421 = load i32, ptr %t361 %t422 = add i32 %t421, 1 store i32 %t422, ptr %t361 br label %wcond64 wend66: call void @fn_emit(ptr @.str18992) call void @fn_emit(ptr @.str18993) %t423 = load ptr, ptr %t347 call void @fn_emit(ptr %t423) call void @fn_emit(ptr @.str18994) %t424 = load i32, ptr %t33 %t425 = add i32 %t424, 1 store i32 %t425, ptr %t33 br label %ifend61 ifend61: %t426 = load i32, ptr %t34 %t427 = add i32 %t426, 1 store i32 %t427, ptr %t34 br label %wcond54 wend56: call void @fn_emit(ptr @.str18995) %t428 = load ptr, ptr %t32 call void @fn_emit(ptr %t428) call void @fn_emit(ptr @.str18996) call void @fn_emit(ptr @.str18997) call void @fn_emit(ptr @.str18998) call void @fn_emit(ptr @.str18999) call void @fn_emit(ptr @.str19000) call void @fn_emit(ptr @.str19001) call void @fn_emit(ptr @.str19002) store i32 0, ptr %t33 store i32 0, ptr %t34 br label %wcond75 wcond75: %t429 = load i32, ptr %t34 %t430 = load ptr, ptr @g_prog %t431 = getelementptr inbounds %LSlice, ptr %t430, i32 0, i32 1 %t432 = load i32, ptr %t431 %t433 = icmp slt i32 %t429, %t432 %t434 = zext i1 %t433 to i32 %t435 = icmp ne i32 %t434, 0 br i1 %t435, label %wbody76, label %wend77 wbody76: %t436 = load ptr, ptr @g_prog %t437 = load i32, ptr %t34 %t438 = getelementptr inbounds %LSlice, ptr %t436, i32 0, i32 0 %t439 = load ptr, ptr %t438 %t440 = getelementptr inbounds %LSlice, ptr %t436, i32 0, i32 1 %t441 = load i32, ptr %t440 %t442 = icmp ult i32 %t437, %t441 br i1 %t442, label %ixok78, label %ixbad79 ixbad79: store i32 10226, ptr @lp_site %t443 = call ptr @lp_win_stdio(i32 2) store i32 0, ptr @lp_site call i32 (ptr, ptr, ...) @fprintf(ptr %t443, ptr @.fmt_bounds, ptr @.str19003, i32 %t437, i32 %t441) call void @exit(i32 1) unreachable ixok78: %t444 = getelementptr inbounds ptr, ptr %t439, i32 %t437 %t445 = load ptr, ptr %t444 %t446 = getelementptr inbounds %Cmp_Node, ptr %t445, i32 0, i32 0 %t447 = load i32, ptr %t446 %t448 = icmp eq i32 %t447, 8 %t449 = zext i1 %t448 to i32 %t450 = icmp ne i32 %t449, 0 br i1 %t450, label %then80, label %ifend82 then80: %t451 = load ptr, ptr @g_prog %t452 = load i32, ptr %t34 %t453 = getelementptr inbounds %LSlice, ptr %t451, i32 0, i32 0 %t454 = load ptr, ptr %t453 %t455 = getelementptr inbounds %LSlice, ptr %t451, i32 0, i32 1 %t456 = load i32, ptr %t455 %t457 = icmp ult i32 %t452, %t456 br i1 %t457, label %ixok83, label %ixbad84 ixbad84: store i32 10227, ptr @lp_site %t458 = call ptr @lp_win_stdio(i32 2) store i32 0, ptr @lp_site call i32 (ptr, ptr, ...) @fprintf(ptr %t458, ptr @.fmt_bounds, ptr @.str19004, i32 %t452, i32 %t456) call void @exit(i32 1) unreachable ixok83: %t459 = getelementptr inbounds ptr, ptr %t454, i32 %t452 %t460 = load ptr, ptr %t459 %t461 = getelementptr inbounds %Cmp_Node, ptr %t460, i32 0, i32 1 %t462 = load ptr, ptr %t461 store ptr %t462, ptr %t463 %t464 = load i32, ptr %t33 %t465 = call ptr @fn_itoa(i32 %t464) store ptr %t465, ptr %t466 call void @fn_emit(ptr @.str19005) %t467 = load ptr, ptr %t466 call void @fn_emit(ptr %t467) call void @fn_emit(ptr @.str19006) %t468 = load ptr, ptr %t466 call void @fn_emit(ptr %t468) call void @fn_emit(ptr @.str19007) call void @fn_emit(ptr @.str19008) %t469 = load ptr, ptr %t466 call void @fn_emit(ptr %t469) call void @fn_emit(ptr @.str19009) %t470 = load ptr, ptr %t466 call void @fn_emit(ptr %t470) call void @fn_emit(ptr @.str19010) %t471 = load ptr, ptr %t466 call void @fn_emit(ptr %t471) call void @fn_emit(ptr @.str19011) call void @fn_emit(ptr @.str19012) %t472 = load ptr, ptr %t466 call void @fn_emit(ptr %t472) call void @fn_emit(ptr @.str19013) %t473 = load ptr, ptr %t463 store i32 10228, ptr @lp_site %t474 = call ptr @lp_str_concat(ptr @.str19014, ptr %t473) store i32 0, ptr @lp_site %t475 = call ptr @fn_ecs_base(ptr %t474) store ptr %t475, ptr %t476 call void @fn_emit(ptr @.str19015) %t477 = load ptr, ptr %t466 call void @fn_emit(ptr %t477) call void @fn_emit(ptr @.str19016) %t478 = load ptr, ptr %t476 call void @fn_emit(ptr %t478) call void @fn_emit(ptr @.str19017) call void @fn_emit(ptr @.str19018) %t479 = load ptr, ptr %t466 call void @fn_emit(ptr %t479) call void @fn_emit(ptr @.str19019) %t480 = load ptr, ptr %t466 call void @fn_emit(ptr %t480) call void @fn_emit(ptr @.str19020) call void @fn_emit(ptr @.str19021) %t481 = load ptr, ptr %t466 call void @fn_emit(ptr %t481) call void @fn_emit(ptr @.str19022) %t482 = load ptr, ptr %t466 call void @fn_emit(ptr %t482) call void @fn_emit(ptr @.str19023) %t483 = load ptr, ptr %t466 call void @fn_emit(ptr %t483) call void @fn_emit(ptr @.str19024) call void @fn_emit(ptr @.str19025) %t484 = load ptr, ptr %t466 call void @fn_emit(ptr %t484) call void @fn_emit(ptr @.str19026) %t485 = load i32, ptr %t33 %t486 = add i32 %t485, 1 store i32 %t486, ptr %t33 br label %ifend82 ifend82: %t487 = load i32, ptr %t34 %t488 = add i32 %t487, 1 store i32 %t488, ptr %t34 br label %wcond75 wend77: call void @fn_emit(ptr @.str19027) %t489 = load ptr, ptr %t32 call void @fn_emit(ptr %t489) call void @fn_emit(ptr @.str19028) call void @fn_emit(ptr @.str19029) call void @fn_emit(ptr @.str19030) call void @fn_emit(ptr @.str19031) call void @fn_emit(ptr @.str19032) call void @fn_emit(ptr @.str19033) call void @fn_emit(ptr @.str19034) call void @fn_emit_site(ptr @.str19035) call void @fn_emit(ptr @.str19036) call void @fn_emit(ptr @.str19037) call void @fn_emit_site(ptr @.str19038) call void @fn_emit(ptr @.str19039) call void @fn_emit(ptr @.str19040) call void @fn_emit(ptr @.str19041) call void @fn_emit(ptr @.str19042) call void @fn_emit(ptr @.str19043) %t490 = load ptr, ptr %t32 call void @fn_emit(ptr %t490) call void @fn_emit(ptr @.str19044) call void @fn_emit(ptr @.str19045) call void @fn_emit(ptr @.str19046) call void @fn_emit(ptr @.str19047) %t491 = load ptr, ptr %t32 call void @fn_emit(ptr %t491) call void @fn_emit(ptr @.str19048) call void @fn_emit(ptr @.str19049) call void @fn_emit(ptr @.str19050) %t492 = load ptr, ptr %t32 call void @fn_emit(ptr %t492) call void @fn_emit(ptr @.str19051) call void @fn_emit(ptr @.str19052) call void @fn_emit(ptr @.str19053) %t493 = call ptr @fn_ecs_base(ptr @.str19054) store ptr %t493, ptr %t494 call void @fn_emit(ptr @.str19055) %t495 = load ptr, ptr %t494 call void @fn_emit(ptr %t495) call void @fn_emit(ptr @.str19056) call void @fn_emit(ptr @.str19057) call void @fn_emit(ptr @.str19058) store i32 0, ptr %t33 store i32 0, ptr %t34 br label %wcond85 wcond85: %t496 = load i32, ptr %t34 %t497 = load ptr, ptr @g_prog %t498 = getelementptr inbounds %LSlice, ptr %t497, i32 0, i32 1 %t499 = load i32, ptr %t498 %t500 = icmp slt i32 %t496, %t499 %t501 = zext i1 %t500 to i32 %t502 = icmp ne i32 %t501, 0 br i1 %t502, label %wbody86, label %wend87 wbody86: %t503 = load ptr, ptr @g_prog %t504 = load i32, ptr %t34 %t505 = getelementptr inbounds %LSlice, ptr %t503, i32 0, i32 0 %t506 = load ptr, ptr %t505 %t507 = getelementptr inbounds %LSlice, ptr %t503, i32 0, i32 1 %t508 = load i32, ptr %t507 %t509 = icmp ult i32 %t504, %t508 br i1 %t509, label %ixok88, label %ixbad89 ixbad89: store i32 10229, ptr @lp_site %t510 = call ptr @lp_win_stdio(i32 2) store i32 0, ptr @lp_site call i32 (ptr, ptr, ...) @fprintf(ptr %t510, ptr @.fmt_bounds, ptr @.str19059, i32 %t504, i32 %t508) call void @exit(i32 1) unreachable ixok88: %t511 = getelementptr inbounds ptr, ptr %t506, i32 %t504 %t512 = load ptr, ptr %t511 %t513 = getelementptr inbounds %Cmp_Node, ptr %t512, i32 0, i32 0 %t514 = load i32, ptr %t513 %t515 = icmp eq i32 %t514, 10 %t516 = zext i1 %t515 to i32 %t517 = icmp ne i32 %t516, 0 br i1 %t517, label %then90, label %ifend92 then90: %t518 = load ptr, ptr @g_prog %t519 = load i32, ptr %t34 %t520 = getelementptr inbounds %LSlice, ptr %t518, i32 0, i32 0 %t521 = load ptr, ptr %t520 %t522 = getelementptr inbounds %LSlice, ptr %t518, i32 0, i32 1 %t523 = load i32, ptr %t522 %t524 = icmp ult i32 %t519, %t523 br i1 %t524, label %ixok93, label %ixbad94 ixbad94: store i32 10230, ptr @lp_site %t525 = call ptr @lp_win_stdio(i32 2) store i32 0, ptr @lp_site call i32 (ptr, ptr, ...) @fprintf(ptr %t525, ptr @.fmt_bounds, ptr @.str19060, i32 %t519, i32 %t523) call void @exit(i32 1) unreachable ixok93: %t526 = getelementptr inbounds ptr, ptr %t521, i32 %t519 %t527 = load ptr, ptr %t526 %t528 = getelementptr inbounds %Cmp_Node, ptr %t527, i32 0, i32 1 %t529 = load ptr, ptr %t528 %t530 = call ptr @fn_emit_str_const(ptr %t529) store ptr %t530, ptr %t531 %t532 = load i32, ptr %t33 %t533 = call ptr @fn_itoa(i32 %t532) store ptr %t533, ptr %t534 call void @fn_emit(ptr @.str19061) %t535 = load ptr, ptr %t534 call void @fn_emit(ptr %t535) call void @fn_emit(ptr @.str19062) %t536 = load ptr, ptr %t531 call void @fn_emit(ptr %t536) call void @fn_emit(ptr @.str19063) call void @fn_emit(ptr @.str19064) %t537 = load ptr, ptr %t534 call void @fn_emit(ptr %t537) call void @fn_emit(ptr @.str19065) %t538 = load ptr, ptr %t534 call void @fn_emit(ptr %t538) call void @fn_emit(ptr @.str19066) call void @fn_emit(ptr @.str19067) %t539 = load ptr, ptr %t534 call void @fn_emit(ptr %t539) call void @fn_emit(ptr @.str19068) %t540 = load ptr, ptr %t534 call void @fn_emit(ptr %t540) call void @fn_emit(ptr @.str19069) %t541 = load ptr, ptr %t534 call void @fn_emit(ptr %t541) call void @fn_emit(ptr @.str19070) call void @fn_emit(ptr @.str19071) %t542 = load ptr, ptr %t534 call void @fn_emit(ptr %t542) call void @fn_emit(ptr @.str19072) %t543 = load ptr, ptr @g_prog %t544 = load i32, ptr %t34 %t545 = getelementptr inbounds %LSlice, ptr %t543, i32 0, i32 0 %t546 = load ptr, ptr %t545 %t547 = getelementptr inbounds %LSlice, ptr %t543, i32 0, i32 1 %t548 = load i32, ptr %t547 %t549 = icmp ult i32 %t544, %t548 br i1 %t549, label %ixok95, label %ixbad96 ixbad96: store i32 10231, ptr @lp_site %t550 = call ptr @lp_win_stdio(i32 2) store i32 0, ptr @lp_site call i32 (ptr, ptr, ...) @fprintf(ptr %t550, ptr @.fmt_bounds, ptr @.str19073, i32 %t544, i32 %t548) call void @exit(i32 1) unreachable ixok95: %t551 = getelementptr inbounds ptr, ptr %t546, i32 %t544 %t552 = load ptr, ptr %t551 %t553 = getelementptr inbounds %Cmp_Node, ptr %t552, i32 0, i32 1 %t554 = load ptr, ptr %t553 %t555 = call i32 @fn_find_arch_id(ptr %t554) %t556 = call ptr @fn_itoa(i32 %t555) call void @fn_emit(ptr %t556) call void @fn_emit(ptr @.str19074) call void @fn_emit(ptr @.str19075) %t557 = load ptr, ptr %t534 call void @fn_emit(ptr %t557) call void @fn_emit(ptr @.str19076) %t558 = load i32, ptr %t33 %t559 = add i32 %t558, 1 store i32 %t559, ptr %t33 br label %ifend92 ifend92: %t560 = load i32, ptr %t34 %t561 = add i32 %t560, 1 store i32 %t561, ptr %t34 br label %wcond85 wend87: call void @fn_emit(ptr @.str19077) store i32 0, ptr %t34 br label %wcond97 wcond97: %t562 = load i32, ptr %t34 %t563 = load ptr, ptr @g_prog %t564 = getelementptr inbounds %LSlice, ptr %t563, i32 0, i32 1 %t565 = load i32, ptr %t564 %t566 = icmp slt i32 %t562, %t565 %t567 = zext i1 %t566 to i32 %t568 = icmp ne i32 %t567, 0 br i1 %t568, label %wbody98, label %wend99 wbody98: %t569 = load ptr, ptr @g_prog %t570 = load i32, ptr %t34 %t571 = getelementptr inbounds %LSlice, ptr %t569, i32 0, i32 0 %t572 = load ptr, ptr %t571 %t573 = getelementptr inbounds %LSlice, ptr %t569, i32 0, i32 1 %t574 = load i32, ptr %t573 %t575 = icmp ult i32 %t570, %t574 br i1 %t575, label %ixok100, label %ixbad101 ixbad101: store i32 10232, ptr @lp_site %t576 = call ptr @lp_win_stdio(i32 2) store i32 0, ptr @lp_site call i32 (ptr, ptr, ...) @fprintf(ptr %t576, ptr @.fmt_bounds, ptr @.str19078, i32 %t570, i32 %t574) call void @exit(i32 1) unreachable ixok100: %t577 = getelementptr inbounds ptr, ptr %t572, i32 %t570 %t578 = load ptr, ptr %t577 %t579 = getelementptr inbounds %Cmp_Node, ptr %t578, i32 0, i32 0 %t580 = load i32, ptr %t579 %t581 = icmp eq i32 %t580, 10 %t582 = zext i1 %t581 to i32 %t583 = icmp ne i32 %t582, 0 br i1 %t583, label %then102, label %ifend104 then102: %t584 = load ptr, ptr @g_prog %t585 = load i32, ptr %t34 %t586 = getelementptr inbounds %LSlice, ptr %t584, i32 0, i32 0 %t587 = load ptr, ptr %t586 %t588 = getelementptr inbounds %LSlice, ptr %t584, i32 0, i32 1 %t589 = load i32, ptr %t588 %t590 = icmp ult i32 %t585, %t589 br i1 %t590, label %ixok105, label %ixbad106 ixbad106: store i32 10233, ptr @lp_site %t591 = call ptr @lp_win_stdio(i32 2) store i32 0, ptr @lp_site call i32 (ptr, ptr, ...) @fprintf(ptr %t591, ptr @.fmt_bounds, ptr @.str19079, i32 %t585, i32 %t589) call void @exit(i32 1) unreachable ixok105: %t592 = getelementptr inbounds ptr, ptr %t587, i32 %t585 %t593 = load ptr, ptr %t592 %t594 = getelementptr inbounds %Cmp_Node, ptr %t593, i32 0, i32 1 %t595 = load ptr, ptr %t594 store ptr %t595, ptr %t596 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 @.str19080, ptr @g_ret_ty %t597 = call ptr @fn_buf_new() store ptr %t597, ptr %t598 %t599 = call ptr @fn_buf_new() store ptr %t599, ptr @g_falloc %t600 = load ptr, ptr @g_code store ptr %t600, ptr %t601 %t602 = load ptr, ptr %t598 store ptr %t602, ptr @g_code %t603 = call ptr @fn_node(i32 22) store ptr %t603, ptr %t604 %t605 = load ptr, ptr %t604 %t606 = getelementptr inbounds %Cmp_Node, ptr %t605, i32 0, i32 1 %t607 = load ptr, ptr %t596 store ptr %t607, ptr %t606 %t608 = load ptr, ptr %t604 %t609 = call ptr @fn_emit_spawn(ptr %t608) store ptr %t609, ptr %t610 call void @fn_emit(ptr @.str19081) %t611 = load ptr, ptr %t610 call void @fn_emit(ptr %t611) call void @fn_emit(ptr @.str19082) %t612 = load ptr, ptr %t601 store ptr %t612, ptr @g_code call void @fn_emit(ptr @.str19083) %t613 = load ptr, ptr %t596 call void @fn_emit(ptr %t613) call void @fn_emit(ptr @.str19084) %t614 = load ptr, ptr @g_falloc %t615 = call ptr @fn_buf_str(ptr %t614) call void @fn_emit(ptr %t615) %t616 = load ptr, ptr %t598 %t617 = call ptr @fn_buf_str(ptr %t616) call void @fn_emit(ptr %t617) call void @fn_emit(ptr @.str19085) br label %ifend104 ifend104: %t618 = load i32, ptr %t34 %t619 = add i32 %t618, 1 store i32 %t619, ptr %t34 br label %wcond97 wend99: call void @fn_emit(ptr @.str19086) store i32 0, ptr %t33 store i32 0, ptr %t34 br label %wcond107 wcond107: %t620 = load i32, ptr %t34 %t621 = load ptr, ptr @g_prog %t622 = getelementptr inbounds %LSlice, ptr %t621, i32 0, i32 1 %t623 = load i32, ptr %t622 %t624 = icmp slt i32 %t620, %t623 %t625 = zext i1 %t624 to i32 %t626 = icmp ne i32 %t625, 0 br i1 %t626, label %wbody108, label %wend109 wbody108: %t627 = load ptr, ptr @g_prog %t628 = load i32, ptr %t34 %t629 = getelementptr inbounds %LSlice, ptr %t627, i32 0, i32 0 %t630 = load ptr, ptr %t629 %t631 = getelementptr inbounds %LSlice, ptr %t627, i32 0, i32 1 %t632 = load i32, ptr %t631 %t633 = icmp ult i32 %t628, %t632 br i1 %t633, label %ixok110, label %ixbad111 ixbad111: store i32 10234, ptr @lp_site %t634 = call ptr @lp_win_stdio(i32 2) store i32 0, ptr @lp_site call i32 (ptr, ptr, ...) @fprintf(ptr %t634, ptr @.fmt_bounds, ptr @.str19087, i32 %t628, i32 %t632) call void @exit(i32 1) unreachable ixok110: %t635 = getelementptr inbounds ptr, ptr %t630, i32 %t628 %t636 = load ptr, ptr %t635 %t637 = getelementptr inbounds %Cmp_Node, ptr %t636, i32 0, i32 0 %t638 = load i32, ptr %t637 %t639 = icmp eq i32 %t638, 10 %t640 = zext i1 %t639 to i32 %t641 = icmp ne i32 %t640, 0 br i1 %t641, label %then112, label %ifend114 then112: %t642 = load ptr, ptr @g_prog %t643 = load i32, ptr %t34 %t644 = getelementptr inbounds %LSlice, ptr %t642, i32 0, i32 0 %t645 = load ptr, ptr %t644 %t646 = getelementptr inbounds %LSlice, ptr %t642, i32 0, i32 1 %t647 = load i32, ptr %t646 %t648 = icmp ult i32 %t643, %t647 br i1 %t648, label %ixok115, label %ixbad116 ixbad116: store i32 10235, ptr @lp_site %t649 = call ptr @lp_win_stdio(i32 2) store i32 0, ptr @lp_site call i32 (ptr, ptr, ...) @fprintf(ptr %t649, ptr @.fmt_bounds, ptr @.str19088, i32 %t643, i32 %t647) call void @exit(i32 1) unreachable ixok115: %t650 = getelementptr inbounds ptr, ptr %t645, i32 %t643 %t651 = load ptr, ptr %t650 %t652 = getelementptr inbounds %Cmp_Node, ptr %t651, i32 0, i32 1 %t653 = load ptr, ptr %t652 store ptr %t653, ptr %t654 %t655 = load i32, ptr %t33 %t656 = call ptr @fn_itoa(i32 %t655) store ptr %t656, ptr %t657 call void @fn_emit(ptr @.str19089) %t658 = load ptr, ptr %t657 call void @fn_emit(ptr %t658) call void @fn_emit(ptr @.str19090) %t659 = load ptr, ptr %t654 %t660 = call i32 @fn_find_arch_id(ptr %t659) %t661 = call ptr @fn_itoa(i32 %t660) call void @fn_emit(ptr %t661) call void @fn_emit(ptr @.str19091) call void @fn_emit(ptr @.str19092) %t662 = load ptr, ptr %t657 call void @fn_emit(ptr %t662) call void @fn_emit(ptr @.str19093) %t663 = load ptr, ptr %t657 call void @fn_emit(ptr %t663) call void @fn_emit(ptr @.str19094) %t664 = load ptr, ptr %t657 call void @fn_emit(ptr %t664) call void @fn_emit(ptr @.str19095) call void @fn_emit(ptr @.str19096) %t665 = load ptr, ptr %t657 call void @fn_emit(ptr %t665) call void @fn_emit(ptr @.str19097) %t666 = load ptr, ptr %t657 call void @fn_emit(ptr %t666) call void @fn_emit(ptr @.str19098) %t667 = load ptr, ptr %t654 call void @fn_emit(ptr %t667) call void @fn_emit(ptr @.str19099) %t668 = load ptr, ptr %t657 call void @fn_emit(ptr %t668) call void @fn_emit(ptr @.str19100) call void @fn_emit(ptr @.str19101) %t669 = load ptr, ptr %t657 call void @fn_emit(ptr %t669) call void @fn_emit(ptr @.str19102) %t670 = load i32, ptr %t33 %t671 = add i32 %t670, 1 store i32 %t671, ptr %t33 br label %ifend114 ifend114: %t672 = load i32, ptr %t34 %t673 = add i32 %t672, 1 store i32 %t673, ptr %t34 br label %wcond107 wend109: call void @fn_emit(ptr @.str19103) call void @fn_emit(ptr @.str19104) call void @fn_emit(ptr @.str19105) call void @fn_emit(ptr @.str19106) call void @fn_emit(ptr @.str19107) call void @fn_emit(ptr @.str19108) %t674 = call ptr @fn_ecs_base(ptr @.str19109) store ptr %t674, ptr %t675 call void @fn_emit(ptr @.str19110) %t676 = load ptr, ptr %t675 call void @fn_emit(ptr %t676) call void @fn_emit(ptr @.str19111) call void @fn_emit(ptr @.str19112) call void @fn_emit(ptr @.str19113) call void @fn_emit(ptr @.str19114) call void @fn_emit(ptr @.str19115) call void @fn_emit(ptr @.str19116) 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 %t34 = alloca ptr %t36 = alloca i32 %t72 = alloca ptr %t75 = alloca ptr %t122 = alloca ptr %t125 = alloca ptr %t176 = alloca ptr %t179 = alloca ptr %t186 = alloca i32 %t211 = alloca ptr %t217 = alloca ptr %t268 = alloca ptr %t271 = alloca ptr %t278 = alloca i32 %t303 = alloca ptr %t309 = alloca ptr %t0 = call ptr @fn_emit_str_const(ptr @.str19117) store ptr %t0, ptr %t1 %t2 = call ptr @fn_emit_str_const(ptr @.str19118) 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 = load i32, ptr %t5 %t15 = getelementptr inbounds %LSlice, ptr %t13, i32 0, i32 0 %t16 = load ptr, ptr %t15 %t17 = getelementptr inbounds %LSlice, ptr %t13, i32 0, i32 1 %t18 = load i32, ptr %t17 %t19 = icmp ult i32 %t14, %t18 br i1 %t19, label %ixok3, label %ixbad4 ixbad4: store i32 10236, ptr @lp_site %t20 = call ptr @lp_win_stdio(i32 2) store i32 0, ptr @lp_site call i32 (ptr, ptr, ...) @fprintf(ptr %t20, ptr @.fmt_bounds, ptr @.str19119, i32 %t14, i32 %t18) call void @exit(i32 1) unreachable ixok3: %t21 = getelementptr inbounds ptr, ptr %t16, i32 %t14 %t22 = load ptr, ptr %t21 %t23 = getelementptr inbounds %Cmp_Node, ptr %t22, i32 0, i32 0 %t24 = load i32, ptr %t23 %t25 = icmp eq i32 %t24, 8 %t26 = zext i1 %t25 to i32 %t27 = icmp ne i32 %t26, 0 br i1 %t27, label %then5, label %ifend7 then5: %t28 = load i32, ptr %t4 %t29 = add i32 %t28, 1 store i32 %t29, ptr %t4 br label %ifend7 ifend7: %t30 = load i32, ptr %t5 %t31 = add i32 %t30, 1 store i32 %t31, ptr %t5 br label %wcond0 wend2: %t32 = load i32, ptr %t4 %t33 = call ptr @fn_itoa(i32 %t32) store ptr %t33, ptr %t34 call void @fn_emit(ptr @.str19121) call void @fn_emit(ptr @.str19122) %t35 = load ptr, ptr %t34 call void @fn_emit(ptr %t35) call void @fn_emit(ptr @.str19123) call void @fn_emit(ptr @.str19124) store i32 0, ptr %t36 store i32 0, ptr %t5 br label %wcond8 wcond8: %t37 = load i32, ptr %t5 %t38 = load ptr, ptr @g_prog %t39 = getelementptr inbounds %LSlice, ptr %t38, i32 0, i32 1 %t40 = load i32, ptr %t39 %t41 = icmp slt i32 %t37, %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 @g_prog %t45 = load i32, ptr %t5 %t46 = getelementptr inbounds %LSlice, ptr %t44, i32 0, i32 0 %t47 = load ptr, ptr %t46 %t48 = getelementptr inbounds %LSlice, ptr %t44, i32 0, i32 1 %t49 = load i32, ptr %t48 %t50 = icmp ult i32 %t45, %t49 br i1 %t50, label %ixok11, label %ixbad12 ixbad12: store i32 10237, ptr @lp_site %t51 = call ptr @lp_win_stdio(i32 2) store i32 0, ptr @lp_site call i32 (ptr, ptr, ...) @fprintf(ptr %t51, ptr @.fmt_bounds, ptr @.str19125, i32 %t45, i32 %t49) call void @exit(i32 1) unreachable ixok11: %t52 = getelementptr inbounds ptr, ptr %t47, i32 %t45 %t53 = load ptr, ptr %t52 %t54 = getelementptr inbounds %Cmp_Node, ptr %t53, i32 0, i32 0 %t55 = load i32, ptr %t54 %t56 = icmp eq i32 %t55, 8 %t57 = zext i1 %t56 to i32 %t58 = icmp ne i32 %t57, 0 br i1 %t58, label %then13, label %ifend15 then13: %t59 = load ptr, ptr @g_prog %t60 = load i32, ptr %t5 %t61 = getelementptr inbounds %LSlice, ptr %t59, i32 0, i32 0 %t62 = load ptr, ptr %t61 %t63 = getelementptr inbounds %LSlice, ptr %t59, i32 0, i32 1 %t64 = load i32, ptr %t63 %t65 = icmp ult i32 %t60, %t64 br i1 %t65, label %ixok16, label %ixbad17 ixbad17: store i32 10238, ptr @lp_site %t66 = call ptr @lp_win_stdio(i32 2) store i32 0, ptr @lp_site call i32 (ptr, ptr, ...) @fprintf(ptr %t66, ptr @.fmt_bounds, ptr @.str19126, i32 %t60, i32 %t64) call void @exit(i32 1) unreachable ixok16: %t67 = getelementptr inbounds ptr, ptr %t62, i32 %t60 %t68 = load ptr, ptr %t67 %t69 = getelementptr inbounds %Cmp_Node, ptr %t68, i32 0, i32 1 %t70 = load ptr, ptr %t69 %t71 = call ptr @fn_emit_str_const(ptr %t70) store ptr %t71, ptr %t72 %t73 = load i32, ptr %t36 %t74 = call ptr @fn_itoa(i32 %t73) store ptr %t74, ptr %t75 call void @fn_emit(ptr @.str19127) %t76 = load ptr, ptr %t75 call void @fn_emit(ptr %t76) call void @fn_emit(ptr @.str19128) %t77 = load ptr, ptr %t75 call void @fn_emit(ptr %t77) call void @fn_emit(ptr @.str19129) call void @fn_emit(ptr @.str19130) %t78 = load ptr, ptr %t75 call void @fn_emit(ptr %t78) call void @fn_emit(ptr @.str19131) %t79 = load ptr, ptr %t75 call void @fn_emit(ptr %t79) call void @fn_emit(ptr @.str19132) %t80 = load ptr, ptr %t75 call void @fn_emit(ptr %t80) call void @fn_emit(ptr @.str19133) call void @fn_emit(ptr @.str19134) %t81 = load ptr, ptr %t75 call void @fn_emit(ptr %t81) call void @fn_emit(ptr @.str19135) %t82 = load ptr, ptr %t72 call void @fn_emit(ptr %t82) call void @fn_emit(ptr @.str19136) call void @fn_emit(ptr @.str19137) %t83 = load ptr, ptr %t75 call void @fn_emit(ptr %t83) call void @fn_emit(ptr @.str19138) %t84 = load i32, ptr %t36 %t85 = add i32 %t84, 1 store i32 %t85, ptr %t36 br label %ifend15 ifend15: %t86 = load i32, ptr %t5 %t87 = add i32 %t86, 1 store i32 %t87, ptr %t5 br label %wcond8 wend10: call void @fn_emit(ptr @.str19139) %t88 = load ptr, ptr %t34 call void @fn_emit(ptr %t88) call void @fn_emit(ptr @.str19140) call void @fn_emit(ptr @.str19141) call void @fn_emit(ptr @.str19142) call void @fn_emit(ptr @.str19143) %t89 = load ptr, ptr %t1 call void @fn_emit(ptr %t89) call void @fn_emit(ptr @.str19144) call void @fn_emit(ptr @.str19145) store i32 0, ptr %t36 store i32 0, ptr %t5 br label %wcond18 wcond18: %t90 = load i32, ptr %t5 %t91 = load ptr, ptr @g_prog %t92 = getelementptr inbounds %LSlice, ptr %t91, i32 0, i32 1 %t93 = load i32, ptr %t92 %t94 = icmp slt i32 %t90, %t93 %t95 = zext i1 %t94 to i32 %t96 = icmp ne i32 %t95, 0 br i1 %t96, label %wbody19, label %wend20 wbody19: %t97 = load ptr, ptr @g_prog %t98 = load i32, ptr %t5 %t99 = getelementptr inbounds %LSlice, ptr %t97, i32 0, i32 0 %t100 = load ptr, ptr %t99 %t101 = getelementptr inbounds %LSlice, ptr %t97, i32 0, i32 1 %t102 = load i32, ptr %t101 %t103 = icmp ult i32 %t98, %t102 br i1 %t103, label %ixok21, label %ixbad22 ixbad22: store i32 10239, ptr @lp_site %t104 = call ptr @lp_win_stdio(i32 2) store i32 0, ptr @lp_site call i32 (ptr, ptr, ...) @fprintf(ptr %t104, ptr @.fmt_bounds, ptr @.str19146, i32 %t98, i32 %t102) call void @exit(i32 1) unreachable ixok21: %t105 = getelementptr inbounds ptr, ptr %t100, i32 %t98 %t106 = load ptr, ptr %t105 %t107 = getelementptr inbounds %Cmp_Node, ptr %t106, i32 0, i32 0 %t108 = load i32, ptr %t107 %t109 = icmp eq i32 %t108, 8 %t110 = zext i1 %t109 to i32 %t111 = icmp ne i32 %t110, 0 br i1 %t111, label %then23, label %ifend25 then23: %t112 = load ptr, ptr @g_prog %t113 = load i32, ptr %t5 %t114 = getelementptr inbounds %LSlice, ptr %t112, i32 0, i32 0 %t115 = load ptr, ptr %t114 %t116 = getelementptr inbounds %LSlice, ptr %t112, i32 0, i32 1 %t117 = load i32, ptr %t116 %t118 = icmp ult i32 %t113, %t117 br i1 %t118, label %ixok26, label %ixbad27 ixbad27: store i32 10240, ptr @lp_site %t119 = call ptr @lp_win_stdio(i32 2) store i32 0, ptr @lp_site call i32 (ptr, ptr, ...) @fprintf(ptr %t119, ptr @.fmt_bounds, ptr @.str19147, i32 %t113, i32 %t117) call void @exit(i32 1) unreachable ixok26: %t120 = getelementptr inbounds ptr, ptr %t115, i32 %t113 %t121 = load ptr, ptr %t120 store ptr %t121, ptr %t122 %t123 = load i32, ptr %t36 %t124 = call ptr @fn_itoa(i32 %t123) store ptr %t124, ptr %t125 call void @fn_emit(ptr @.str19148) %t126 = load ptr, ptr %t125 call void @fn_emit(ptr %t126) call void @fn_emit(ptr @.str19149) %t127 = load ptr, ptr %t125 call void @fn_emit(ptr %t127) call void @fn_emit(ptr @.str19150) call void @fn_emit(ptr @.str19151) %t128 = load ptr, ptr %t125 call void @fn_emit(ptr %t128) call void @fn_emit(ptr @.str19152) %t129 = load ptr, ptr %t125 call void @fn_emit(ptr %t129) call void @fn_emit(ptr @.str19153) %t130 = load ptr, ptr %t125 call void @fn_emit(ptr %t130) call void @fn_emit(ptr @.str19154) call void @fn_emit(ptr @.str19155) %t131 = load ptr, ptr %t125 call void @fn_emit(ptr %t131) call void @fn_emit(ptr @.str19156) %t132 = load ptr, ptr %t122 %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 = call ptr @fn_itoa(i32 %t136) call void @fn_emit(ptr %t137) call void @fn_emit(ptr @.str19157) call void @fn_emit(ptr @.str19158) %t138 = load ptr, ptr %t125 call void @fn_emit(ptr %t138) call void @fn_emit(ptr @.str19159) %t139 = load i32, ptr %t36 %t140 = add i32 %t139, 1 store i32 %t140, ptr %t36 br label %ifend25 ifend25: %t141 = load i32, ptr %t5 %t142 = add i32 %t141, 1 store i32 %t142, ptr %t5 br label %wcond18 wend20: call void @fn_emit(ptr @.str19160) %t143 = load ptr, ptr %t34 call void @fn_emit(ptr %t143) call void @fn_emit(ptr @.str19161) call void @fn_emit(ptr @.str19162) call void @fn_emit(ptr @.str19163) call void @fn_emit(ptr @.str19164) call void @fn_emit(ptr @.str19165) store i32 0, ptr %t36 store i32 0, ptr %t5 br label %wcond28 wcond28: %t144 = load i32, ptr %t5 %t145 = load ptr, ptr @g_prog %t146 = getelementptr inbounds %LSlice, ptr %t145, i32 0, i32 1 %t147 = load i32, ptr %t146 %t148 = icmp slt i32 %t144, %t147 %t149 = zext i1 %t148 to i32 %t150 = icmp ne i32 %t149, 0 br i1 %t150, label %wbody29, label %wend30 wbody29: %t151 = load ptr, ptr @g_prog %t152 = load i32, ptr %t5 %t153 = getelementptr inbounds %LSlice, ptr %t151, i32 0, i32 0 %t154 = load ptr, ptr %t153 %t155 = getelementptr inbounds %LSlice, ptr %t151, i32 0, i32 1 %t156 = load i32, ptr %t155 %t157 = icmp ult i32 %t152, %t156 br i1 %t157, label %ixok31, label %ixbad32 ixbad32: store i32 10241, ptr @lp_site %t158 = call ptr @lp_win_stdio(i32 2) store i32 0, ptr @lp_site call i32 (ptr, ptr, ...) @fprintf(ptr %t158, ptr @.fmt_bounds, ptr @.str19166, i32 %t152, i32 %t156) call void @exit(i32 1) unreachable ixok31: %t159 = getelementptr inbounds ptr, ptr %t154, i32 %t152 %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, 8 %t164 = zext i1 %t163 to i32 %t165 = icmp ne i32 %t164, 0 br i1 %t165, label %then33, label %ifend35 then33: %t166 = load ptr, ptr @g_prog %t167 = load i32, ptr %t5 %t168 = getelementptr inbounds %LSlice, ptr %t166, i32 0, i32 0 %t169 = load ptr, ptr %t168 %t170 = getelementptr inbounds %LSlice, ptr %t166, i32 0, i32 1 %t171 = load i32, ptr %t170 %t172 = icmp ult i32 %t167, %t171 br i1 %t172, label %ixok36, label %ixbad37 ixbad37: store i32 10242, ptr @lp_site %t173 = call ptr @lp_win_stdio(i32 2) store i32 0, ptr @lp_site call i32 (ptr, ptr, ...) @fprintf(ptr %t173, ptr @.fmt_bounds, ptr @.str19167, i32 %t167, i32 %t171) call void @exit(i32 1) unreachable ixok36: %t174 = getelementptr inbounds ptr, ptr %t169, i32 %t167 %t175 = load ptr, ptr %t174 store ptr %t175, ptr %t176 %t177 = load i32, ptr %t36 %t178 = call ptr @fn_itoa(i32 %t177) store ptr %t178, ptr %t179 call void @fn_emit(ptr @.str19168) %t180 = load ptr, ptr %t179 call void @fn_emit(ptr %t180) call void @fn_emit(ptr @.str19169) %t181 = load ptr, ptr %t179 call void @fn_emit(ptr %t181) call void @fn_emit(ptr @.str19170) call void @fn_emit(ptr @.str19171) %t182 = load ptr, ptr %t179 call void @fn_emit(ptr %t182) call void @fn_emit(ptr @.str19172) %t183 = load ptr, ptr %t179 call void @fn_emit(ptr %t183) call void @fn_emit(ptr @.str19173) %t184 = load ptr, ptr %t179 call void @fn_emit(ptr %t184) call void @fn_emit(ptr @.str19174) call void @fn_emit(ptr @.str19175) %t185 = load ptr, ptr %t179 call void @fn_emit(ptr %t185) call void @fn_emit(ptr @.str19176) store i32 0, ptr %t186 br label %wcond38 wcond38: %t187 = load i32, ptr %t186 %t188 = load ptr, ptr %t176 %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 1 %t192 = load i32, ptr %t191 %t193 = icmp slt i32 %t187, %t192 %t194 = zext i1 %t193 to i32 %t195 = icmp ne i32 %t194, 0 br i1 %t195, label %wbody39, label %wend40 wbody39: %t196 = load ptr, ptr %t176 %t197 = getelementptr inbounds %Cmp_Node, ptr %t196, i32 0, i32 7 %t198 = load ptr, ptr %t197 %t199 = load i32, ptr %t186 %t200 = getelementptr inbounds %LSlice, ptr %t198, i32 0, i32 0 %t201 = load ptr, ptr %t200 %t202 = getelementptr inbounds %LSlice, ptr %t198, i32 0, i32 1 %t203 = load i32, ptr %t202 %t204 = icmp ult i32 %t199, %t203 br i1 %t204, label %ixok41, label %ixbad42 ixbad42: store i32 10243, ptr @lp_site %t205 = call ptr @lp_win_stdio(i32 2) store i32 0, ptr @lp_site call i32 (ptr, ptr, ...) @fprintf(ptr %t205, ptr @.fmt_bounds, ptr @.str19177, i32 %t199, i32 %t203) call void @exit(i32 1) unreachable ixok41: %t206 = getelementptr inbounds ptr, ptr %t201, i32 %t199 %t207 = load ptr, ptr %t206 %t208 = getelementptr inbounds %Cmp_Node, ptr %t207, i32 0, i32 1 %t209 = load ptr, ptr %t208 %t210 = call ptr @fn_emit_str_const(ptr %t209) store ptr %t210, ptr %t211 %t212 = load ptr, ptr %t179 store i32 10244, ptr @lp_site %t213 = call ptr @lp_str_concat(ptr %t212, ptr @.str19178) store i32 0, ptr @lp_site %t214 = load i32, ptr %t186 %t215 = call ptr @fn_itoa(i32 %t214) store i32 10245, ptr @lp_site %t216 = call ptr @lp_str_concat(ptr %t213, ptr %t215) store i32 0, ptr @lp_site call void @lp_free(ptr %t213) store ptr %t216, ptr %t217 call void @fn_emit(ptr @.str19179) %t218 = load ptr, ptr %t217 call void @fn_emit(ptr %t218) call void @fn_emit(ptr @.str19180) %t219 = load i32, ptr %t186 %t220 = call ptr @fn_itoa(i32 %t219) call void @fn_emit(ptr %t220) call void @fn_emit(ptr @.str19181) call void @fn_emit(ptr @.str19182) %t221 = load ptr, ptr %t217 call void @fn_emit(ptr %t221) call void @fn_emit(ptr @.str19183) %t222 = load ptr, ptr %t217 call void @fn_emit(ptr %t222) call void @fn_emit(ptr @.str19184) %t223 = load ptr, ptr %t217 call void @fn_emit(ptr %t223) call void @fn_emit(ptr @.str19185) call void @fn_emit(ptr @.str19186) %t224 = load ptr, ptr %t217 call void @fn_emit(ptr %t224) call void @fn_emit(ptr @.str19187) %t225 = load ptr, ptr %t211 call void @fn_emit(ptr %t225) call void @fn_emit(ptr @.str19188) call void @fn_emit(ptr @.str19189) %t226 = load ptr, ptr %t217 call void @fn_emit(ptr %t226) call void @fn_emit(ptr @.str19190) %t227 = load i32, ptr %t186 %t228 = add i32 %t227, 1 store i32 %t228, ptr %t186 br label %wcond38 wend40: call void @fn_emit(ptr @.str19191) %t229 = load ptr, ptr %t1 call void @fn_emit(ptr %t229) call void @fn_emit(ptr @.str19192) call void @fn_emit(ptr @.str19193) %t230 = load ptr, ptr %t179 call void @fn_emit(ptr %t230) call void @fn_emit(ptr @.str19194) %t231 = load i32, ptr %t36 %t232 = add i32 %t231, 1 store i32 %t232, ptr %t36 br label %ifend35 ifend35: %t233 = load i32, ptr %t5 %t234 = add i32 %t233, 1 store i32 %t234, ptr %t5 br label %wcond28 wend30: call void @fn_emit(ptr @.str19195) %t235 = load ptr, ptr %t1 call void @fn_emit(ptr %t235) call void @fn_emit(ptr @.str19196) call void @fn_emit(ptr @.str19197) store i32 0, ptr %t36 store i32 0, ptr %t5 br label %wcond43 wcond43: %t236 = load i32, ptr %t5 %t237 = load ptr, ptr @g_prog %t238 = getelementptr inbounds %LSlice, ptr %t237, i32 0, i32 1 %t239 = load i32, ptr %t238 %t240 = icmp slt i32 %t236, %t239 %t241 = zext i1 %t240 to i32 %t242 = icmp ne i32 %t241, 0 br i1 %t242, label %wbody44, label %wend45 wbody44: %t243 = load ptr, ptr @g_prog %t244 = load i32, ptr %t5 %t245 = getelementptr inbounds %LSlice, ptr %t243, i32 0, i32 0 %t246 = load ptr, ptr %t245 %t247 = getelementptr inbounds %LSlice, ptr %t243, i32 0, i32 1 %t248 = load i32, ptr %t247 %t249 = icmp ult i32 %t244, %t248 br i1 %t249, label %ixok46, label %ixbad47 ixbad47: store i32 10246, ptr @lp_site %t250 = call ptr @lp_win_stdio(i32 2) store i32 0, ptr @lp_site call i32 (ptr, ptr, ...) @fprintf(ptr %t250, ptr @.fmt_bounds, ptr @.str19198, i32 %t244, i32 %t248) call void @exit(i32 1) unreachable ixok46: %t251 = getelementptr inbounds ptr, ptr %t246, i32 %t244 %t252 = load ptr, ptr %t251 %t253 = getelementptr inbounds %Cmp_Node, ptr %t252, i32 0, i32 0 %t254 = load i32, ptr %t253 %t255 = icmp eq i32 %t254, 8 %t256 = zext i1 %t255 to i32 %t257 = icmp ne i32 %t256, 0 br i1 %t257, label %then48, label %ifend50 then48: %t258 = load ptr, ptr @g_prog %t259 = load i32, ptr %t5 %t260 = getelementptr inbounds %LSlice, ptr %t258, i32 0, i32 0 %t261 = load ptr, ptr %t260 %t262 = getelementptr inbounds %LSlice, ptr %t258, i32 0, i32 1 %t263 = load i32, ptr %t262 %t264 = icmp ult i32 %t259, %t263 br i1 %t264, label %ixok51, label %ixbad52 ixbad52: store i32 10247, ptr @lp_site %t265 = call ptr @lp_win_stdio(i32 2) store i32 0, ptr @lp_site call i32 (ptr, ptr, ...) @fprintf(ptr %t265, ptr @.fmt_bounds, ptr @.str19199, i32 %t259, i32 %t263) call void @exit(i32 1) unreachable ixok51: %t266 = getelementptr inbounds ptr, ptr %t261, i32 %t259 %t267 = load ptr, ptr %t266 store ptr %t267, ptr %t268 %t269 = load i32, ptr %t36 %t270 = call ptr @fn_itoa(i32 %t269) store ptr %t270, ptr %t271 call void @fn_emit(ptr @.str19200) %t272 = load ptr, ptr %t271 call void @fn_emit(ptr %t272) call void @fn_emit(ptr @.str19201) %t273 = load ptr, ptr %t271 call void @fn_emit(ptr %t273) call void @fn_emit(ptr @.str19202) call void @fn_emit(ptr @.str19203) %t274 = load ptr, ptr %t271 call void @fn_emit(ptr %t274) call void @fn_emit(ptr @.str19204) %t275 = load ptr, ptr %t271 call void @fn_emit(ptr %t275) call void @fn_emit(ptr @.str19205) %t276 = load ptr, ptr %t271 call void @fn_emit(ptr %t276) call void @fn_emit(ptr @.str19206) call void @fn_emit(ptr @.str19207) %t277 = load ptr, ptr %t271 call void @fn_emit(ptr %t277) call void @fn_emit(ptr @.str19208) store i32 0, ptr %t278 br label %wcond53 wcond53: %t279 = load i32, ptr %t278 %t280 = load ptr, ptr %t268 %t281 = getelementptr inbounds %Cmp_Node, ptr %t280, i32 0, i32 7 %t282 = load ptr, ptr %t281 %t283 = getelementptr inbounds %LSlice, ptr %t282, i32 0, i32 1 %t284 = load i32, ptr %t283 %t285 = icmp slt i32 %t279, %t284 %t286 = zext i1 %t285 to i32 %t287 = icmp ne i32 %t286, 0 br i1 %t287, label %wbody54, label %wend55 wbody54: %t288 = load ptr, ptr %t268 %t289 = getelementptr inbounds %Cmp_Node, ptr %t288, i32 0, i32 7 %t290 = load ptr, ptr %t289 %t291 = load i32, ptr %t278 %t292 = getelementptr inbounds %LSlice, ptr %t290, i32 0, i32 0 %t293 = load ptr, ptr %t292 %t294 = getelementptr inbounds %LSlice, ptr %t290, i32 0, i32 1 %t295 = load i32, ptr %t294 %t296 = icmp ult i32 %t291, %t295 br i1 %t296, label %ixok56, label %ixbad57 ixbad57: store i32 10248, ptr @lp_site %t297 = call ptr @lp_win_stdio(i32 2) store i32 0, ptr @lp_site call i32 (ptr, ptr, ...) @fprintf(ptr %t297, ptr @.fmt_bounds, ptr @.str19209, i32 %t291, i32 %t295) call void @exit(i32 1) unreachable ixok56: %t298 = getelementptr inbounds ptr, ptr %t293, i32 %t291 %t299 = load ptr, ptr %t298 %t300 = getelementptr inbounds %Cmp_Node, ptr %t299, i32 0, i32 3 %t301 = load ptr, ptr %t300 %t302 = call ptr @fn_emit_str_const(ptr %t301) store ptr %t302, ptr %t303 %t304 = load ptr, ptr %t271 store i32 10249, ptr @lp_site %t305 = call ptr @lp_str_concat(ptr %t304, ptr @.str19210) store i32 0, ptr @lp_site %t306 = load i32, ptr %t278 %t307 = call ptr @fn_itoa(i32 %t306) store i32 10250, ptr @lp_site %t308 = call ptr @lp_str_concat(ptr %t305, ptr %t307) store i32 0, ptr @lp_site call void @lp_free(ptr %t305) store ptr %t308, ptr %t309 call void @fn_emit(ptr @.str19211) %t310 = load ptr, ptr %t309 call void @fn_emit(ptr %t310) call void @fn_emit(ptr @.str19212) %t311 = load i32, ptr %t278 %t312 = call ptr @fn_itoa(i32 %t311) call void @fn_emit(ptr %t312) call void @fn_emit(ptr @.str19213) call void @fn_emit(ptr @.str19214) %t313 = load ptr, ptr %t309 call void @fn_emit(ptr %t313) call void @fn_emit(ptr @.str19215) %t314 = load ptr, ptr %t309 call void @fn_emit(ptr %t314) call void @fn_emit(ptr @.str19216) %t315 = load ptr, ptr %t309 call void @fn_emit(ptr %t315) call void @fn_emit(ptr @.str19217) call void @fn_emit(ptr @.str19218) %t316 = load ptr, ptr %t309 call void @fn_emit(ptr %t316) call void @fn_emit(ptr @.str19219) %t317 = load ptr, ptr %t303 call void @fn_emit(ptr %t317) call void @fn_emit(ptr @.str19220) call void @fn_emit(ptr @.str19221) %t318 = load ptr, ptr %t309 call void @fn_emit(ptr %t318) call void @fn_emit(ptr @.str19222) %t319 = load i32, ptr %t278 %t320 = add i32 %t319, 1 store i32 %t320, ptr %t278 br label %wcond53 wend55: call void @fn_emit(ptr @.str19223) %t321 = load ptr, ptr %t3 call void @fn_emit(ptr %t321) call void @fn_emit(ptr @.str19224) call void @fn_emit(ptr @.str19225) %t322 = load ptr, ptr %t271 call void @fn_emit(ptr %t322) call void @fn_emit(ptr @.str19226) %t323 = load i32, ptr %t36 %t324 = add i32 %t323, 1 store i32 %t324, ptr %t36 br label %ifend50 ifend50: %t325 = load i32, ptr %t5 %t326 = add i32 %t325, 1 store i32 %t326, ptr %t5 br label %wcond43 wend45: call void @fn_emit(ptr @.str19227) %t327 = load ptr, ptr %t3 call void @fn_emit(ptr %t327) call void @fn_emit(ptr @.str19228) br label %ret ret: ret void } define void @fn_emit_tick_helpers() { entry: call void @fn_emit(ptr @.str19229) store i32 0, ptr @g_ll_t store i32 0, ptr @g_ll_lbl call void @fn_emit_calls_for_phase(ptr @.str19230) call void @fn_emit_calls_for_phase(ptr @.str19231) call void @fn_emit_calls_for_phase(ptr @.str19232) call void @fn_emit_calls_for_phase(ptr @.str19233) call void @fn_emit(ptr @.str19234) call void @fn_emit(ptr @.str19235) store i32 0, ptr @g_ll_t store i32 0, ptr @g_ll_lbl call void @fn_emit_calls_for_phase(ptr @.str19236) call void @fn_emit_calls_for_phase(ptr @.str19237) call void @fn_emit(ptr @.str19238) 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 = load i32, ptr %t0 %t10 = getelementptr inbounds %LSlice, ptr %t8, i32 0, i32 0 %t11 = load ptr, ptr %t10 %t12 = getelementptr inbounds %LSlice, ptr %t8, i32 0, i32 1 %t13 = load i32, ptr %t12 %t14 = icmp ult i32 %t9, %t13 br i1 %t14, label %ixok3, label %ixbad4 ixbad4: store i32 10251, ptr @lp_site %t15 = call ptr @lp_win_stdio(i32 2) store i32 0, ptr @lp_site call i32 (ptr, ptr, ...) @fprintf(ptr %t15, ptr @.fmt_bounds, ptr @.str19239, i32 %t9, i32 %t13) call void @exit(i32 1) unreachable ixok3: %t16 = getelementptr inbounds ptr, ptr %t11, i32 %t9 %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, 9 %t21 = zext i1 %t20 to i32 %t22 = icmp ne i32 %t21, 0 br i1 %t22, label %then5, label %ifend7 then5: %t23 = load ptr, ptr @g_prog %t24 = load i32, ptr %t0 %t25 = getelementptr inbounds %LSlice, ptr %t23, i32 0, i32 0 %t26 = load ptr, ptr %t25 %t27 = getelementptr inbounds %LSlice, ptr %t23, i32 0, i32 1 %t28 = load i32, ptr %t27 %t29 = icmp ult i32 %t24, %t28 br i1 %t29, label %ixok8, label %ixbad9 ixbad9: store i32 10252, ptr @lp_site %t30 = call ptr @lp_win_stdio(i32 2) store i32 0, ptr @lp_site call i32 (ptr, ptr, ...) @fprintf(ptr %t30, ptr @.fmt_bounds, ptr @.str19241, i32 %t24, i32 %t28) call void @exit(i32 1) unreachable ixok8: %t31 = getelementptr inbounds ptr, ptr %t26, i32 %t24 %t32 = load ptr, ptr %t31 call void @fn_emit_system_fn(ptr %t32) br label %ifend7 ifend7: %t33 = load i32, ptr %t0 %t34 = add i32 %t33, 1 store i32 %t34, ptr %t0 br label %wcond0 wend2: call void @fn_emit_despawn_hooks() call void @fn_emit_scene_hooks() %t35 = call i32 @fn_has_countdowns() %t36 = icmp ne i32 %t35, 0 br i1 %t36, label %then10, label %ifend12 then10: call void @fn_emit_countdown_system() br label %ifend12 ifend12: %t37 = call i32 @fn_has_prefabs() %t38 = icmp ne i32 %t37, 0 br i1 %t38, label %then13, label %ifend15 then13: call void @fn_emit_prefab_fns() br label %ifend15 ifend15: call void @fn_emit_tick_helpers() br label %ret ret: ret void } define void @fn_emit_game_main() { entry: %t17 = alloca i32 %t60 = alloca ptr %t65 = alloca ptr %t74 = alloca ptr %t79 = alloca ptr %t86 = alloca ptr %t89 = alloca i32 %t104 = alloca ptr %t114 = alloca ptr %t116 = alloca i32 %t128 = alloca ptr %t133 = alloca i32 %t146 = alloca ptr %t153 = alloca i32 %t168 = alloca ptr %t173 = alloca ptr call void @fn_emit_game_defs() call void @fn_emit(ptr @.str19242) call void @fn_emit(ptr @.str19243) call void @fn_emit(ptr @.str19244) call void @fn_emit(ptr @.str19245) %t0 = call i32 @fn_has_ecs() %t1 = icmp ne i32 %t0, 0 br i1 %t1, label %then0, label %ifend2 then0: call void @fn_emit(ptr @.str19246) br label %ifend2 ifend2: %t2 = call ptr @fn_find_fn(ptr @.str19247) %t3 = icmp ne ptr %t2, null %t4 = zext i1 %t3 to i32 %t5 = icmp ne i32 %t4, 0 br i1 %t5, label %then3, label %ifend5 then3: %t6 = call ptr @fn_fn_sym(ptr @.str19249) store i32 10253, ptr @lp_site %t7 = call ptr @lp_str_concat(ptr @.str19248, ptr %t6) store i32 0, ptr @lp_site store i32 10254, ptr @lp_site %t8 = call ptr @lp_str_concat(ptr %t7, ptr @.str19251) store i32 0, ptr @lp_site call void @lp_free(ptr %t7) call void @fn_emit(ptr %t8) br label %ifend5 ifend5: call void @fn_emit(ptr @.str19252) call void @fn_emit_calls_for_phase(ptr @.str19253) %t9 = load ptr, ptr @g_g_scenes %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 %then6, label %ifend8 then6: call void @fn_emit(ptr @.str19254) %t15 = load i32, ptr @g_g_start_scene %t16 = call ptr @fn_itoa(i32 %t15) call void @fn_emit(ptr %t16) call void @fn_emit(ptr @.str19255) store i32 0, ptr %t17 br label %wcond9 wcond9: %t18 = load i32, ptr %t17 %t19 = load ptr, ptr @g_g_scenes %t20 = getelementptr inbounds %LSlice, ptr %t19, i32 0, i32 1 %t21 = load i32, ptr %t20 %t22 = icmp slt i32 %t18, %t21 %t23 = zext i1 %t22 to i32 %t24 = icmp ne i32 %t23, 0 br i1 %t24, label %wbody10, label %wend11 wbody10: %t25 = load ptr, ptr @g_g_scenes %t26 = load i32, ptr %t17 %t27 = getelementptr inbounds %LSlice, ptr %t25, i32 0, i32 0 %t28 = load ptr, ptr %t27 %t29 = getelementptr inbounds %LSlice, ptr %t25, i32 0, i32 1 %t30 = load i32, ptr %t29 %t31 = icmp ult i32 %t26, %t30 br i1 %t31, label %ixok12, label %ixbad13 ixbad13: store i32 10255, ptr @lp_site %t32 = call ptr @lp_win_stdio(i32 2) store i32 0, ptr @lp_site call i32 (ptr, ptr, ...) @fprintf(ptr %t32, ptr @.fmt_bounds, ptr @.str19256, i32 %t26, i32 %t30) call void @exit(i32 1) unreachable ixok12: %t33 = getelementptr inbounds ptr, ptr %t28, i32 %t26 %t34 = load ptr, ptr %t33 %t35 = getelementptr inbounds %Cmp_Node, ptr %t34, i32 0, i32 2 %t36 = load i32, ptr %t35 %t37 = load i32, ptr @g_g_start_scene %t38 = icmp eq i32 %t36, %t37 %t39 = zext i1 %t38 to i32 %t40 = icmp ne i32 %t39, 0 br i1 %t40, label %then14, label %ifend16 then14: call void @fn_emit(ptr @.str19257) %t41 = load ptr, ptr @g_g_scenes %t42 = load i32, ptr %t17 %t43 = getelementptr inbounds %LSlice, ptr %t41, i32 0, i32 0 %t44 = load ptr, ptr %t43 %t45 = getelementptr inbounds %LSlice, ptr %t41, i32 0, i32 1 %t46 = load i32, ptr %t45 %t47 = icmp ult i32 %t42, %t46 br i1 %t47, label %ixok17, label %ixbad18 ixbad18: store i32 10256, ptr @lp_site %t48 = call ptr @lp_win_stdio(i32 2) store i32 0, ptr @lp_site call i32 (ptr, ptr, ...) @fprintf(ptr %t48, ptr @.fmt_bounds, ptr @.str19258, i32 %t42, i32 %t46) call void @exit(i32 1) unreachable ixok17: %t49 = getelementptr inbounds ptr, ptr %t44, i32 %t42 %t50 = load ptr, ptr %t49 %t51 = getelementptr inbounds %Cmp_Node, ptr %t50, i32 0, i32 1 %t52 = load ptr, ptr %t51 call void @fn_emit(ptr %t52) call void @fn_emit(ptr @.str19259) br label %ifend16 ifend16: %t53 = load i32, ptr %t17 %t54 = add i32 %t53, 1 store i32 %t54, ptr %t17 br label %wcond9 wend11: br label %ifend8 ifend8: %t55 = call ptr @fn_find_event(ptr @.str19260) %t56 = icmp ne ptr %t55, null %t57 = zext i1 %t56 to i32 %t58 = icmp ne i32 %t57, 0 br i1 %t58, label %then19, label %ifend21 then19: call void @fn_emit(ptr @.str19261) br label %ifend21 ifend21: call void @fn_emit(ptr @.str19262) call void @fn_emit(ptr @.str19263) %t59 = call ptr @fn_emit_bind(ptr @.str19264) store ptr %t59, ptr %t60 %t61 = load ptr, ptr %t60 store i32 10257, ptr @lp_site %t62 = call ptr @lp_str_concat(ptr @.str19265, ptr %t61) store i32 0, ptr @lp_site store i32 10258, ptr @lp_site %t63 = call ptr @lp_str_concat(ptr %t62, ptr @.str19266) store i32 0, ptr @lp_site call void @lp_free(ptr %t62) %t64 = call ptr @fn_emit_bind(ptr %t63) store ptr %t64, ptr %t65 %t66 = call ptr @fn_find_fn(ptr @.str19267) %t67 = icmp ne ptr %t66, null %t68 = zext i1 %t67 to i32 %t69 = icmp ne i32 %t68, 0 br i1 %t69, label %then22, label %else23 then22: %t70 = call ptr @fn_fn_sym(ptr @.str19269) store i32 10259, ptr @lp_site %t71 = call ptr @lp_str_concat(ptr @.str19268, ptr %t70) store i32 0, ptr @lp_site store i32 10260, ptr @lp_site %t72 = call ptr @lp_str_concat(ptr %t71, ptr @.str19270) store i32 0, ptr @lp_site call void @lp_free(ptr %t71) %t73 = call ptr @fn_emit_bind(ptr %t72) store ptr %t73, ptr %t74 %t75 = load ptr, ptr %t74 store i32 10261, ptr @lp_site %t76 = call ptr @lp_str_concat(ptr @.str19271, ptr %t75) store i32 0, ptr @lp_site store i32 10262, ptr @lp_site %t77 = call ptr @lp_str_concat(ptr %t76, ptr @.str19272) store i32 0, ptr @lp_site call void @lp_free(ptr %t76) %t78 = call ptr @fn_emit_bind(ptr %t77) store ptr %t78, ptr %t79 %t80 = load ptr, ptr %t65 store i32 10263, ptr @lp_site %t81 = call ptr @lp_str_concat(ptr @.str19273, ptr %t80) store i32 0, ptr @lp_site store i32 10264, ptr @lp_site %t82 = call ptr @lp_str_concat(ptr %t81, ptr @.str19274) store i32 0, ptr @lp_site call void @lp_free(ptr %t81) %t83 = load ptr, ptr %t79 store i32 10265, ptr @lp_site %t84 = call ptr @lp_str_concat(ptr %t82, ptr %t83) store i32 0, ptr @lp_site call void @lp_free(ptr %t82) %t85 = call ptr @fn_emit_bind(ptr %t84) store ptr %t85, ptr %t86 call void @fn_emit(ptr @.str19275) %t87 = load ptr, ptr %t86 call void @fn_emit(ptr %t87) call void @fn_emit(ptr @.str19276) br label %ifend24 else23: call void @fn_emit(ptr @.str19277) %t88 = load ptr, ptr %t65 call void @fn_emit(ptr %t88) call void @fn_emit(ptr @.str19278) br label %ifend24 ifend24: call void @fn_emit(ptr @.str19279) %t90 = load i32, ptr @g_g_uses_input %t91 = icmp ne i32 %t90, 0 %t92 = zext i1 %t91 to i32 store i32 %t92, ptr %t89 br i1 %t91, label %sc25, label %scend26 sc25: %t93 = call ptr @fn_find_fn(ptr @.str19280) %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 %t89 br label %scend26 scend26: %t98 = load i32, ptr %t89 %t99 = icmp ne i32 %t98, 0 br i1 %t99, label %then27, label %else28 then27: %t100 = call ptr @fn_fn_sym(ptr @.str19282) store i32 10266, ptr @lp_site %t101 = call ptr @lp_str_concat(ptr @.str19281, ptr %t100) store i32 0, ptr @lp_site store i32 10267, ptr @lp_site %t102 = call ptr @lp_str_concat(ptr %t101, ptr @.str19283) store i32 0, ptr @lp_site call void @lp_free(ptr %t101) %t103 = call ptr @fn_emit_bind(ptr %t102) store ptr %t103, ptr %t104 call void @fn_emit(ptr @.str19284) %t105 = load ptr, ptr %t104 call void @fn_emit(ptr %t105) call void @fn_emit(ptr @.str19285) br label %ifend29 else28: %t106 = call ptr @fn_find_fn(ptr @.str19286) %t107 = icmp ne ptr %t106, null %t108 = zext i1 %t107 to i32 %t109 = icmp ne i32 %t108, 0 br i1 %t109, label %then30, label %ifend32 then30: %t110 = call ptr @fn_fn_sym(ptr @.str19288) store i32 10268, ptr @lp_site %t111 = call ptr @lp_str_concat(ptr @.str19287, ptr %t110) store i32 0, ptr @lp_site store i32 10269, ptr @lp_site %t112 = call ptr @lp_str_concat(ptr %t111, ptr @.str19289) store i32 0, ptr @lp_site call void @lp_free(ptr %t111) %t113 = call ptr @fn_emit_bind(ptr %t112) store ptr %t113, ptr %t114 call void @fn_emit(ptr @.str19290) %t115 = load ptr, ptr %t114 call void @fn_emit(ptr %t115) call void @fn_emit(ptr @.str19291) br label %ifend32 ifend32: br label %ifend29 ifend29: %t117 = call i32 @fn_has_ui() %t118 = icmp ne i32 %t117, 0 %t119 = zext i1 %t118 to i32 store i32 %t119, ptr %t116 br i1 %t118, label %sc33, label %scend34 sc33: %t120 = call ptr @fn_find_fn(ptr @.str19292) %t121 = icmp ne ptr %t120, null %t122 = zext i1 %t121 to i32 %t123 = icmp ne i32 %t122, 0 %t124 = zext i1 %t123 to i32 store i32 %t124, ptr %t116 br label %scend34 scend34: %t125 = load i32, ptr %t116 %t126 = icmp ne i32 %t125, 0 br i1 %t126, label %then35, label %ifend37 then35: %t127 = call ptr @fn_emit_bind(ptr @.str19293) store ptr %t127, ptr %t128 %t129 = call ptr @fn_fn_sym(ptr @.str19295) store i32 10270, ptr @lp_site %t130 = call ptr @lp_str_concat(ptr @.str19294, ptr %t129) store i32 0, ptr @lp_site store i32 10271, ptr @lp_site %t131 = call ptr @lp_str_concat(ptr %t130, ptr @.str19296) store i32 0, ptr @lp_site call void @lp_free(ptr %t130) call void @fn_emit(ptr %t131) %t132 = load ptr, ptr %t128 call void @fn_emit(ptr %t132) call void @fn_emit(ptr @.str19297) br label %ifend37 ifend37: call void @fn_emit_calls_for_phase(ptr @.str19298) call void @fn_emit_calls_for_phase(ptr @.str19299) call void @fn_emit_calls_for_phase(ptr @.str19300) call void @fn_emit_calls_for_phase(ptr @.str19301) %t134 = load i32, ptr @g_g_has_clear_color %t135 = icmp ne i32 %t134, 0 %t136 = zext i1 %t135 to i32 store i32 %t136, ptr %t133 br i1 %t135, label %sc38, label %scend39 sc38: %t137 = call ptr @fn_find_fn(ptr @.str19302) %t138 = icmp ne ptr %t137, null %t139 = zext i1 %t138 to i32 %t140 = icmp ne i32 %t139, 0 %t141 = zext i1 %t140 to i32 store i32 %t141, ptr %t133 br label %scend39 scend39: %t142 = load i32, ptr %t133 %t143 = icmp ne i32 %t142, 0 br i1 %t143, label %then40, label %ifend42 then40: %t144 = load ptr, ptr @g_g_clear_color %t145 = call ptr @fn_emit_expr(ptr %t144) store ptr %t145, ptr %t146 %t147 = call ptr @fn_fn_sym(ptr @.str19304) store i32 10272, ptr @lp_site %t148 = call ptr @lp_str_concat(ptr @.str19303, ptr %t147) store i32 0, ptr @lp_site store i32 10273, ptr @lp_site %t149 = call ptr @lp_str_concat(ptr %t148, ptr @.str19305) store i32 0, ptr @lp_site call void @lp_free(ptr %t148) call void @fn_emit(ptr %t149) %t150 = load ptr, ptr %t146 %t151 = getelementptr inbounds %Cmp_Val, ptr %t150, i32 0, i32 0 %t152 = load ptr, ptr %t151 call void @fn_emit(ptr %t152) call void @fn_emit(ptr @.str19306) br label %ifend42 ifend42: call void @fn_emit_calls_for_phase(ptr @.str19307) call void @fn_emit_calls_for_phase(ptr @.str19308) %t154 = load i32, ptr @g_g_has_clear_color %t155 = icmp ne i32 %t154, 0 %t156 = zext i1 %t155 to i32 store i32 %t156, ptr %t153 br i1 %t155, label %sc43, label %scend44 sc43: %t157 = call ptr @fn_find_fn(ptr @.str19309) %t158 = icmp ne ptr %t157, null %t159 = zext i1 %t158 to i32 %t160 = icmp ne i32 %t159, 0 %t161 = zext i1 %t160 to i32 store i32 %t161, ptr %t153 br label %scend44 scend44: %t162 = load i32, ptr %t153 %t163 = icmp ne i32 %t162, 0 br i1 %t163, label %then45, label %ifend47 then45: %t164 = call ptr @fn_fn_sym(ptr @.str19311) store i32 10274, ptr @lp_site %t165 = call ptr @lp_str_concat(ptr @.str19310, ptr %t164) store i32 0, ptr @lp_site store i32 10275, ptr @lp_site %t166 = call ptr @lp_str_concat(ptr %t165, ptr @.str19312) store i32 0, ptr @lp_site call void @lp_free(ptr %t165) call void @fn_emit(ptr %t166) br label %ifend47 ifend47: call void @fn_emit(ptr @.str19313) %t167 = call ptr @fn_emit_bind(ptr @.str19314) store ptr %t167, ptr %t168 %t169 = load ptr, ptr %t168 store i32 10276, ptr @lp_site %t170 = call ptr @lp_str_concat(ptr @.str19315, ptr %t169) store i32 0, ptr @lp_site store i32 10277, ptr @lp_site %t171 = call ptr @lp_str_concat(ptr %t170, ptr @.str19316) store i32 0, ptr @lp_site call void @lp_free(ptr %t170) %t172 = call ptr @fn_emit_bind(ptr %t171) store ptr %t172, ptr %t173 call void @fn_emit(ptr @.str19317) %t174 = load ptr, ptr %t173 call void @fn_emit(ptr %t174) call void @fn_emit(ptr @.str19318) call void @fn_emit(ptr @.str19319) call void @fn_emit(ptr @.str19320) %t175 = load ptr, ptr @g_g_ondespawn %t176 = getelementptr inbounds %LSlice, ptr %t175, i32 0, i32 1 %t177 = load i32, ptr %t176 %t178 = icmp sgt i32 %t177, 0 %t179 = zext i1 %t178 to i32 %t180 = icmp ne i32 %t179, 0 br i1 %t180, label %then48, label %ifend50 then48: call void @fn_emit(ptr @.str19321) br label %ifend50 ifend50: call void @fn_emit_calls_for_phase(ptr @.str19322) %t181 = call ptr @fn_find_event(ptr @.str19323) %t182 = icmp ne ptr %t181, null %t183 = zext i1 %t182 to i32 %t184 = icmp ne i32 %t183, 0 br i1 %t184, label %then51, label %ifend53 then51: call void @fn_emit(ptr @.str19324) br label %ifend53 ifend53: %t185 = call ptr @fn_find_fn(ptr @.str19325) %t186 = icmp ne ptr %t185, null %t187 = zext i1 %t186 to i32 %t188 = icmp ne i32 %t187, 0 br i1 %t188, label %then54, label %ifend56 then54: %t189 = call ptr @fn_fn_sym(ptr @.str19327) store i32 10278, ptr @lp_site %t190 = call ptr @lp_str_concat(ptr @.str19326, ptr %t189) store i32 0, ptr @lp_site store i32 10279, ptr @lp_site %t191 = call ptr @lp_str_concat(ptr %t190, ptr @.str19328) store i32 0, ptr @lp_site call void @lp_free(ptr %t190) call void @fn_emit(ptr %t191) br label %ifend56 ifend56: call void @fn_emit(ptr @.str19329) 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_addr(ptr %arg_a) { entry: %retval = alloca ptr %t0 = alloca ptr %t9 = alloca ptr %t22 = alloca i32 %t49 = 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, 35 %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 = call ptr @fn_emit_member_addr(ptr %t7) store ptr %t8, ptr %t9 %t10 = load ptr, ptr @g_g_addr_ty store ptr %t10, ptr @g_g_mach_ty %t11 = load ptr, ptr %t9 store ptr %t11, ptr %retval br label %ret ifend2: %t12 = load ptr, ptr %t0 %t13 = getelementptr inbounds %Cmp_Node, ptr %t12, i32 0, i32 0 %t14 = load i32, ptr %t13 %t15 = icmp eq i32 %t14, 33 %t16 = zext i1 %t15 to i32 %t17 = icmp ne i32 %t16, 0 br i1 %t17, label %then3, label %ifend5 then3: %t18 = load ptr, ptr %t0 %t19 = getelementptr inbounds %Cmp_Node, ptr %t18, i32 0, i32 1 %t20 = load ptr, ptr %t19 %t21 = call i32 @fn_loc_find(ptr %t20) store i32 %t21, ptr %t22 %t23 = load i32, ptr %t22 %t24 = icmp sge i32 %t23, 0 %t25 = zext i1 %t24 to i32 %t26 = icmp ne i32 %t25, 0 br i1 %t26, label %then6, label %ifend8 then6: %t27 = load ptr, ptr @g_loc_ty %t28 = load i32, ptr %t22 %t29 = getelementptr inbounds %LSlice, ptr %t27, i32 0, i32 0 %t30 = load ptr, ptr %t29 %t31 = getelementptr inbounds %LSlice, ptr %t27, i32 0, i32 1 %t32 = load i32, ptr %t31 %t33 = icmp ult i32 %t28, %t32 br i1 %t33, label %ixok9, label %ixbad10 ixbad10: store i32 10280, ptr @lp_site %t34 = call ptr @lp_win_stdio(i32 2) store i32 0, ptr @lp_site call i32 (ptr, ptr, ...) @fprintf(ptr %t34, ptr @.fmt_bounds, ptr @.str19330, i32 %t28, i32 %t32) call void @exit(i32 1) unreachable ixok9: %t35 = getelementptr inbounds ptr, ptr %t30, i32 %t28 %t36 = load ptr, ptr %t35 store ptr %t36, ptr @g_g_mach_ty %t37 = load ptr, ptr @g_loc_reg %t38 = load i32, ptr %t22 %t39 = getelementptr inbounds %LSlice, ptr %t37, i32 0, i32 0 %t40 = load ptr, ptr %t39 %t41 = getelementptr inbounds %LSlice, ptr %t37, i32 0, i32 1 %t42 = load i32, ptr %t41 %t43 = icmp ult i32 %t38, %t42 br i1 %t43, label %ixok11, label %ixbad12 ixbad12: store i32 10281, ptr @lp_site %t44 = call ptr @lp_win_stdio(i32 2) store i32 0, ptr @lp_site call i32 (ptr, ptr, ...) @fprintf(ptr %t44, ptr @.fmt_bounds, ptr @.str19332, i32 %t38, i32 %t42) call void @exit(i32 1) unreachable ixok11: %t45 = getelementptr inbounds ptr, ptr %t40, i32 %t38 %t46 = load ptr, ptr %t45 store ptr %t46, ptr %retval br label %ret ifend8: %t47 = load ptr, ptr %t0 %t48 = call ptr @fn_machine_var(ptr %t47) store ptr %t48, ptr %t49 %t50 = load ptr, ptr %t49 %t51 = icmp ne ptr %t50, null %t52 = zext i1 %t51 to i32 %t53 = icmp ne i32 %t52, 0 br i1 %t53, label %then13, label %ifend15 then13: %t54 = load ptr, ptr %t49 %t55 = getelementptr inbounds %Cmp_Node, ptr %t54, i32 0, i32 3 %t56 = load ptr, ptr %t55 store ptr %t56, ptr @g_g_mach_ty %t57 = load ptr, ptr %t0 %t58 = getelementptr inbounds %Cmp_Node, ptr %t57, i32 0, i32 1 %t59 = load ptr, ptr %t58 store i32 10282, ptr @lp_site %t60 = call ptr @lp_str_concat(ptr @.str19333, ptr %t59) store i32 0, ptr @lp_site store ptr %t60, ptr %retval br label %ret ifend15: br label %ifend5 ifend5: store ptr null, ptr %retval br label %ret ret: %t61 = load ptr, ptr %retval ret ptr %t61 } 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 %t20 = alloca ptr %t21 = alloca i32 %t39 = 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: store ptr null, ptr @g_g_mach_ty %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_addr(ptr %t16) store ptr %t17, ptr %t18 %t19 = load ptr, ptr @g_g_mach_ty store ptr %t19, ptr %t20 %t22 = load ptr, ptr %t18 %t23 = icmp ne ptr %t22, null %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 ptr, ptr %t20 %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 %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 ptr, ptr %t20 %t35 = load ptr, ptr %t1 %t36 = getelementptr inbounds %Cmp_Node, ptr %t35, i32 0, i32 1 %t37 = load ptr, ptr %t36 %t38 = call i32 @fn_enum_ordinal(ptr %t34, ptr %t37) store i32 %t38, ptr %t39 %t40 = load i32, ptr %t39 %t41 = icmp sge i32 %t40, 0 %t42 = zext i1 %t41 to i32 %t43 = icmp ne i32 %t42, 0 br i1 %t43, label %then8, label %ifend10 then8: %t44 = load i32, ptr %t39 %t45 = call ptr @fn_itoa(i32 %t44) store ptr %t45, ptr %retval br label %ret ifend10: %t46 = load ptr, ptr %t20 %t47 = call ptr @fn_find_enum(ptr %t46) %t48 = icmp ne ptr %t47, null %t49 = zext i1 %t48 to i32 %t50 = icmp ne i32 %t49, 0 br i1 %t50, label %then11, label %ifend13 then11: %t51 = load ptr, ptr %t1 %t52 = getelementptr inbounds %Cmp_Node, ptr %t51, i32 0, i32 1 %t53 = load ptr, ptr %t52 store i32 10283, ptr @lp_site %t54 = call ptr @lp_str_concat(ptr @.str19334, ptr %t53) store i32 0, ptr @lp_site store i32 10284, ptr @lp_site %t55 = call ptr @lp_str_concat(ptr %t54, ptr @.str19336) store i32 0, ptr @lp_site call void @lp_free(ptr %t54) %t56 = load ptr, ptr %t20 store i32 10285, ptr @lp_site %t57 = call ptr @lp_str_concat(ptr %t55, ptr %t56) store i32 0, ptr @lp_site call void @lp_free(ptr %t55) call void @fn_perr(ptr %t57) br label %ifend13 ifend13: br label %ifend7 ifend7: %t58 = load ptr, ptr %t1 %t59 = getelementptr inbounds %Cmp_Node, ptr %t58, i32 0, i32 2 %t60 = load i32, ptr %t59 %t61 = call ptr @fn_itoa(i32 %t60) store ptr %t61, ptr %retval br label %ret ret: %t62 = load ptr, ptr %retval ret ptr %t62 } define void @fn_emit_machine(ptr %arg_st) { entry: %t0 = alloca ptr %t5 = alloca ptr %t6 = alloca ptr %t18 = alloca ptr %t68 = alloca ptr %t69 = alloca i32 %t91 = alloca ptr %t95 = alloca ptr %t102 = alloca ptr %t104 = alloca ptr %t106 = 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_addr(ptr %t3) store ptr %t4, ptr %t5 store ptr @.str19337, 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 %t5 store i32 10286, ptr @lp_site %t12 = call ptr @lp_str_concat(ptr @.str19338, ptr %t11) store i32 0, ptr @lp_site %t13 = call ptr @fn_emit_bind(ptr %t12) store ptr %t13, ptr %t6 br label %ifend2 else1: %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_emit_expr(ptr %t16) store ptr %t17, ptr %t18 %t19 = call ptr @fn_fn_sym(ptr @.str19341) store i32 10287, ptr @lp_site %t20 = call ptr @lp_str_concat(ptr @.str19340, ptr %t19) store i32 0, ptr @lp_site store i32 10288, ptr @lp_site %t21 = call ptr @lp_str_concat(ptr %t20, ptr @.str19342) store i32 0, ptr @lp_site call void @lp_free(ptr %t20) %t22 = load ptr, ptr %t18 %t23 = getelementptr inbounds %Cmp_Val, ptr %t22, i32 0, i32 0 %t24 = load ptr, ptr %t23 store i32 10289, ptr @lp_site %t25 = call ptr @lp_str_concat(ptr %t21, ptr %t24) store i32 0, ptr @lp_site call void @lp_free(ptr %t21) store i32 10290, ptr @lp_site %t26 = call ptr @lp_str_concat(ptr %t25, ptr @.str19343) store i32 0, ptr @lp_site call void @lp_free(ptr %t25) %t27 = call ptr @fn_emit_bind(ptr %t26) store ptr %t27, ptr %t6 br label %ifend2 ifend2: %t28 = load i32, ptr @g_nmach %t29 = load ptr, ptr @g_mach_stk %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 %then3, label %else4 then3: %t35 = load ptr, ptr @g_mach_stk %t36 = load i32, ptr @g_nmach %t37 = getelementptr inbounds %LSlice, ptr %t35, i32 0, i32 0 %t38 = load ptr, ptr %t37 %t39 = getelementptr inbounds %LSlice, ptr %t35, i32 0, i32 1 %t40 = load i32, ptr %t39 %t41 = icmp ult i32 %t36, %t40 br i1 %t41, label %ixok6, label %ixbad7 ixbad7: store i32 10291, ptr @lp_site %t42 = call ptr @lp_win_stdio(i32 2) store i32 0, ptr @lp_site call i32 (ptr, ptr, ...) @fprintf(ptr %t42, ptr @.fmt_bounds, ptr @.str19344, i32 %t36, i32 %t40) call void @exit(i32 1) unreachable ixok6: %t43 = getelementptr inbounds ptr, ptr %t38, i32 %t36 %t44 = load ptr, ptr %t0 store ptr %t44, ptr %t43 br label %ifend5 else4: %t45 = load ptr, ptr @g_mach_stk %t46 = load ptr, ptr %t0 %t47 = getelementptr inbounds %LSlice, ptr %t45, i32 0, i32 1 %t48 = getelementptr inbounds %LSlice, ptr %t45, i32 0, i32 2 %t49 = getelementptr inbounds %LSlice, ptr %t45, i32 0, i32 0 %t50 = load i32, ptr %t47 %t51 = load i32, ptr %t48 %t52 = icmp sge i32 %t50, %t51 br i1 %t52, label %grow8, label %put9 grow8: %t53 = mul i32 %t51, 2 %t54 = icmp eq i32 %t51, 0 %t55 = select i1 %t54, i32 8, i32 %t53 %t56 = getelementptr ptr, ptr null, i32 1 %t57 = ptrtoint ptr %t56 to i64 %t58 = zext i32 %t55 to i64 %t59 = mul i64 %t58, %t57 %t60 = load ptr, ptr %t49 store i32 10292, ptr @lp_site %t61 = call ptr @lp_realloc(ptr %t60, i64 %t59) store i32 0, ptr @lp_site store ptr %t61, ptr %t49 store i32 %t55, ptr %t48 br label %put9 put9: %t62 = load ptr, ptr %t49 %t63 = getelementptr inbounds ptr, ptr %t62, i32 %t50 store ptr %t46, ptr %t63 %t64 = add i32 %t50, 1 store i32 %t64, ptr %t47 br label %ifend5 ifend5: %t65 = load i32, ptr @g_nmach %t66 = add i32 %t65, 1 store i32 %t66, ptr @g_nmach %t67 = call ptr @fn_lbl(ptr @.str19345) store ptr %t67, ptr %t68 store i32 0, ptr %t69 br label %wcond10 wcond10: %t70 = load i32, ptr %t69 %t71 = load ptr, ptr %t0 %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 1 %t75 = load i32, ptr %t74 %t76 = icmp slt i32 %t70, %t75 %t77 = zext i1 %t76 to i32 %t78 = icmp ne i32 %t77, 0 br i1 %t78, label %wbody11, label %wend12 wbody11: %t79 = load ptr, ptr %t0 %t80 = getelementptr inbounds %Cmp_Node, ptr %t79, i32 0, i32 7 %t81 = load ptr, ptr %t80 %t82 = load i32, ptr %t69 %t83 = getelementptr inbounds %LSlice, ptr %t81, i32 0, i32 0 %t84 = load ptr, ptr %t83 %t85 = getelementptr inbounds %LSlice, ptr %t81, i32 0, i32 1 %t86 = load i32, ptr %t85 %t87 = icmp ult i32 %t82, %t86 br i1 %t87, label %ixok13, label %ixbad14 ixbad14: store i32 10293, ptr @lp_site %t88 = call ptr @lp_win_stdio(i32 2) store i32 0, ptr @lp_site call i32 (ptr, ptr, ...) @fprintf(ptr %t88, ptr @.fmt_bounds, ptr @.str19346, i32 %t82, i32 %t86) call void @exit(i32 1) unreachable ixok13: %t89 = getelementptr inbounds ptr, ptr %t84, i32 %t82 %t90 = load ptr, ptr %t89 store ptr %t90, ptr %t91 %t92 = load ptr, ptr %t0 %t93 = load ptr, ptr %t91 %t94 = call ptr @fn_machine_state_value(ptr %t92, ptr %t93) store ptr %t94, ptr %t95 %t96 = load ptr, ptr %t6 store i32 10294, ptr @lp_site %t97 = call ptr @lp_str_concat(ptr @.str19347, ptr %t96) store i32 0, ptr @lp_site store i32 10295, ptr @lp_site %t98 = call ptr @lp_str_concat(ptr %t97, ptr @.str19348) store i32 0, ptr @lp_site call void @lp_free(ptr %t97) %t99 = load ptr, ptr %t95 store i32 10296, ptr @lp_site %t100 = call ptr @lp_str_concat(ptr %t98, ptr %t99) store i32 0, ptr @lp_site call void @lp_free(ptr %t98) %t101 = call ptr @fn_emit_bind(ptr %t100) store ptr %t101, ptr %t102 %t103 = call ptr @fn_lbl(ptr @.str19349) store ptr %t103, ptr %t104 %t105 = call ptr @fn_lbl(ptr @.str19350) store ptr %t105, ptr %t106 call void @fn_emit(ptr @.str19351) %t107 = load ptr, ptr %t102 call void @fn_emit(ptr %t107) call void @fn_emit(ptr @.str19352) %t108 = load ptr, ptr %t104 call void @fn_emit(ptr %t108) call void @fn_emit(ptr @.str19353) %t109 = load ptr, ptr %t106 call void @fn_emit(ptr %t109) call void @fn_emit(ptr @.str19354) %t110 = load ptr, ptr %t104 call void @fn_emit(ptr %t110) call void @fn_emit(ptr @.str19355) store i32 0, ptr @g_g_term %t111 = load ptr, ptr %t91 %t112 = getelementptr inbounds %Cmp_Node, ptr %t111, i32 0, i32 4 %t113 = load ptr, ptr %t112 call void @fn_emit_block(ptr %t113) %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 %then15, label %ifend17 then15: call void @fn_emit(ptr @.str19356) %t118 = load ptr, ptr %t68 call void @fn_emit(ptr %t118) call void @fn_emit(ptr @.str19357) br label %ifend17 ifend17: %t119 = load ptr, ptr %t106 call void @fn_emit(ptr %t119) call void @fn_emit(ptr @.str19358) store i32 0, ptr @g_g_term %t120 = load i32, ptr %t69 %t121 = add i32 %t120, 1 store i32 %t121, ptr %t69 br label %wcond10 wend12: %t122 = load i32, ptr @g_g_term %t123 = icmp eq i32 %t122, 0 %t124 = zext i1 %t123 to i32 %t125 = icmp ne i32 %t124, 0 br i1 %t125, label %then18, label %ifend20 then18: call void @fn_emit(ptr @.str19359) %t126 = load ptr, ptr %t68 call void @fn_emit(ptr %t126) call void @fn_emit(ptr @.str19360) br label %ifend20 ifend20: %t127 = load ptr, ptr %t68 call void @fn_emit(ptr %t127) call void @fn_emit(ptr @.str19361) store i32 0, ptr @g_g_term %t128 = load i32, ptr @g_nmach %t129 = sub i32 %t128, 1 store i32 %t129, ptr @g_nmach br label %ret ret: ret void } define void @fn_emit_become(ptr %arg_st) { entry: %t0 = alloca ptr %t16 = alloca ptr %t17 = alloca ptr %t18 = alloca i32 %t68 = alloca ptr %t73 = alloca ptr %t88 = alloca ptr %t100 = 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 = load i32, ptr @g_nmach %t7 = sub i32 %t6, 1 %t8 = getelementptr inbounds %LSlice, ptr %t5, i32 0, i32 0 %t9 = load ptr, ptr %t8 %t10 = getelementptr inbounds %LSlice, ptr %t5, i32 0, i32 1 %t11 = load i32, ptr %t10 %t12 = icmp ult i32 %t7, %t11 br i1 %t12, label %ixok3, label %ixbad4 ixbad4: store i32 10297, ptr @lp_site %t13 = call ptr @lp_win_stdio(i32 2) store i32 0, ptr @lp_site call i32 (ptr, ptr, ...) @fprintf(ptr %t13, ptr @.fmt_bounds, ptr @.str19362, i32 %t7, i32 %t11) call void @exit(i32 1) unreachable ixok3: %t14 = getelementptr inbounds ptr, ptr %t9, i32 %t7 %t15 = load ptr, ptr %t14 store ptr %t15, ptr %t16 store ptr null, ptr %t17 store i32 0, ptr %t18 br label %wcond5 wcond5: %t19 = load i32, ptr %t18 %t20 = load ptr, ptr %t16 %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 = icmp slt i32 %t19, %t24 %t26 = zext i1 %t25 to i32 %t27 = icmp ne i32 %t26, 0 br i1 %t27, label %wbody6, label %wend7 wbody6: %t28 = load ptr, ptr %t16 %t29 = getelementptr inbounds %Cmp_Node, ptr %t28, i32 0, i32 7 %t30 = load ptr, ptr %t29 %t31 = load i32, ptr %t18 %t32 = getelementptr inbounds %LSlice, ptr %t30, i32 0, i32 0 %t33 = load ptr, ptr %t32 %t34 = getelementptr inbounds %LSlice, ptr %t30, i32 0, i32 1 %t35 = load i32, ptr %t34 %t36 = icmp ult i32 %t31, %t35 br i1 %t36, label %ixok8, label %ixbad9 ixbad9: store i32 10298, ptr @lp_site %t37 = call ptr @lp_win_stdio(i32 2) store i32 0, ptr @lp_site call i32 (ptr, ptr, ...) @fprintf(ptr %t37, ptr @.fmt_bounds, ptr @.str19364, i32 %t31, i32 %t35) call void @exit(i32 1) unreachable ixok8: %t38 = getelementptr inbounds ptr, ptr %t33, i32 %t31 %t39 = load ptr, ptr %t38 %t40 = getelementptr inbounds %Cmp_Node, ptr %t39, i32 0, i32 1 %t41 = load ptr, ptr %t40 %t42 = load ptr, ptr %t0 %t43 = getelementptr inbounds %Cmp_Node, ptr %t42, i32 0, i32 1 %t44 = load ptr, ptr %t43 %t45 = call i32 @lp_str_eq(ptr %t41, ptr %t44) %t46 = icmp ne i32 %t45, 0 br i1 %t46, label %then10, label %ifend12 then10: %t47 = load ptr, ptr %t16 %t48 = getelementptr inbounds %Cmp_Node, ptr %t47, i32 0, i32 7 %t49 = load ptr, ptr %t48 %t50 = load i32, ptr %t18 %t51 = getelementptr inbounds %LSlice, ptr %t49, i32 0, i32 0 %t52 = load ptr, ptr %t51 %t53 = getelementptr inbounds %LSlice, ptr %t49, i32 0, i32 1 %t54 = load i32, ptr %t53 %t55 = icmp ult i32 %t50, %t54 br i1 %t55, label %ixok13, label %ixbad14 ixbad14: store i32 10299, ptr @lp_site %t56 = call ptr @lp_win_stdio(i32 2) store i32 0, ptr @lp_site call i32 (ptr, ptr, ...) @fprintf(ptr %t56, ptr @.fmt_bounds, ptr @.str19365, i32 %t50, i32 %t54) call void @exit(i32 1) unreachable ixok13: %t57 = getelementptr inbounds ptr, ptr %t52, i32 %t50 %t58 = load ptr, ptr %t57 store ptr %t58, ptr %t17 br label %ifend12 ifend12: %t59 = load i32, ptr %t18 %t60 = add i32 %t59, 1 store i32 %t60, ptr %t18 br label %wcond5 wend7: %t61 = load ptr, ptr %t17 %t62 = icmp ne ptr %t61, null %t63 = zext i1 %t62 to i32 %t64 = icmp ne i32 %t63, 0 br i1 %t64, label %then15, label %ifend17 then15: %t65 = load ptr, ptr %t16 %t66 = load ptr, ptr %t17 %t67 = call ptr @fn_machine_state_value(ptr %t65, ptr %t66) store ptr %t67, ptr %t68 %t69 = load ptr, ptr %t16 %t70 = getelementptr inbounds %Cmp_Node, ptr %t69, i32 0, i32 4 %t71 = load ptr, ptr %t70 %t72 = call ptr @fn_machine_addr(ptr %t71) store ptr %t72, ptr %t73 %t74 = load ptr, ptr %t73 %t75 = icmp ne ptr %t74, null %t76 = zext i1 %t75 to i32 %t77 = icmp ne i32 %t76, 0 br i1 %t77, label %then18, label %else19 then18: %t78 = load ptr, ptr %t68 store i32 10300, ptr @lp_site %t79 = call ptr @lp_str_concat(ptr @.str19366, ptr %t78) store i32 0, ptr @lp_site store i32 10301, ptr @lp_site %t80 = call ptr @lp_str_concat(ptr %t79, ptr @.str19367) store i32 0, ptr @lp_site call void @lp_free(ptr %t79) %t81 = load ptr, ptr %t73 store i32 10302, ptr @lp_site %t82 = call ptr @lp_str_concat(ptr %t80, ptr %t81) store i32 0, ptr @lp_site call void @lp_free(ptr %t80) store i32 10303, ptr @lp_site %t83 = call ptr @lp_str_concat(ptr %t82, ptr @.str19368) store i32 0, ptr @lp_site call void @lp_free(ptr %t82) call void @fn_emit(ptr %t83) br label %ifend20 else19: %t84 = load ptr, ptr %t16 %t85 = getelementptr inbounds %Cmp_Node, ptr %t84, i32 0, i32 4 %t86 = load ptr, ptr %t85 %t87 = call ptr @fn_emit_expr(ptr %t86) store ptr %t87, ptr %t88 %t89 = call ptr @fn_fn_sym(ptr @.str19370) store i32 10304, ptr @lp_site %t90 = call ptr @lp_str_concat(ptr @.str19369, ptr %t89) store i32 0, ptr @lp_site store i32 10305, ptr @lp_site %t91 = call ptr @lp_str_concat(ptr %t90, ptr @.str19371) store i32 0, ptr @lp_site call void @lp_free(ptr %t90) call void @fn_emit(ptr %t91) %t92 = load ptr, ptr %t88 %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 @.str19372) %t95 = load ptr, ptr %t68 call void @fn_emit(ptr %t95) call void @fn_emit(ptr @.str19373) br label %ifend20 ifend20: br label %ret ifend17: br label %ifend2 ifend2: %t96 = load ptr, ptr %t0 %t97 = getelementptr inbounds %Cmp_Node, ptr %t96, i32 0, i32 1 %t98 = load ptr, ptr %t97 %t99 = call ptr @fn_find_scene(ptr %t98) store ptr %t99, ptr %t100 %t101 = load ptr, ptr %t100 %t102 = icmp eq ptr %t101, null %t103 = zext i1 %t102 to i32 %t104 = icmp ne i32 %t103, 0 br i1 %t104, label %then21, label %ifend23 then21: %t105 = load ptr, ptr %t0 %t106 = getelementptr inbounds %Cmp_Node, ptr %t105, i32 0, i32 1 %t107 = load ptr, ptr %t106 store i32 10306, ptr @lp_site %t108 = call ptr @lp_str_concat(ptr @.str19374, ptr %t107) store i32 0, ptr @lp_site call void @fn_perr(ptr %t108) br label %ifend23 ifend23: %t109 = load ptr, ptr @g_g_cur_scene %t110 = icmp ne ptr %t109, null %t111 = zext i1 %t110 to i32 %t112 = icmp ne i32 %t111, 0 br i1 %t112, label %then24, label %else25 then24: call void @fn_emit(ptr @.str19375) %t113 = load ptr, ptr @g_g_cur_scene %t114 = getelementptr inbounds %Cmp_Node, ptr %t113, i32 0, i32 1 %t115 = load ptr, ptr %t114 call void @fn_emit(ptr %t115) call void @fn_emit(ptr @.str19376) br label %ifend26 else25: call void @fn_emit(ptr @.str19377) br label %ifend26 ifend26: call void @fn_emit(ptr @.str19378) %t116 = load ptr, ptr %t100 %t117 = getelementptr inbounds %Cmp_Node, ptr %t116, i32 0, i32 2 %t118 = load i32, ptr %t117 %t119 = call ptr @fn_itoa(i32 %t118) call void @fn_emit(ptr %t119) call void @fn_emit(ptr @.str19379) call void @fn_emit(ptr @.str19380) %t120 = load ptr, ptr %t100 %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 @.str19381) 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 @.str19382) %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) store i32 10307, ptr @lp_site %t8 = call ptr @lp_str_concat(ptr @.str19383, ptr %t7) store i32 0, ptr @lp_site 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 @.str19385) %t12 = load ptr, ptr %t9 call void @fn_emit(ptr %t12) call void @fn_emit(ptr @.str19386) %t13 = load ptr, ptr %t0 call void @fn_emit(ptr %t13) call void @fn_emit(ptr @.str19387) %t14 = load ptr, ptr %t1 call void @fn_emit(ptr %t14) call void @fn_emit(ptr @.str19388) %t15 = load ptr, ptr %t2 call void @fn_emit(ptr %t15) call void @fn_emit(ptr @.str19389) br label %ret ifend2: %t16 = load ptr, ptr @g_g_snap_mode %t17 = call i32 @lp_str_eq(ptr %t16, ptr @.str19390) %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) store i32 10308, ptr @lp_site %t21 = call ptr @lp_str_concat(ptr @.str19391, ptr %t20) store i32 0, ptr @lp_site store ptr %t21, ptr %t22 call void @fn_emit(ptr @.str19392) %t23 = load ptr, ptr %t22 call void @fn_emit(ptr %t23) call void @fn_emit(ptr @.str19393) %t24 = load ptr, ptr @g_g_off call void @fn_emit(ptr %t24) call void @fn_emit(ptr @.str19394) %t25 = load ptr, ptr %t2 call void @fn_emit(ptr %t25) call void @fn_emit(ptr @.str19395) %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) store i32 10309, ptr @lp_site %t31 = call ptr @lp_str_concat(ptr @.str19396, ptr %t30) store i32 0, ptr @lp_site store ptr %t31, ptr %t32 call void @fn_emit(ptr @.str19397) %t33 = load ptr, ptr %t32 call void @fn_emit(ptr %t33) call void @fn_emit(ptr @.str19398) %t34 = load ptr, ptr @g_g_off call void @fn_emit(ptr %t34) call void @fn_emit(ptr @.str19399) %t35 = load ptr, ptr @g_g_snap_mode %t36 = call i32 @lp_str_eq(ptr %t35, ptr @.str19400) %t37 = icmp ne i32 %t36, 0 br i1 %t37, label %then6, label %else7 then6: call void @fn_emit(ptr @.str19401) %t38 = load ptr, ptr %t32 call void @fn_emit(ptr %t38) call void @fn_emit(ptr @.str19402) %t39 = load ptr, ptr %t1 call void @fn_emit(ptr %t39) call void @fn_emit(ptr @.str19403) %t40 = load ptr, ptr %t2 call void @fn_emit(ptr %t40) call void @fn_emit(ptr @.str19404) br label %ifend8 else7: call void @fn_emit(ptr @.str19405) %t41 = load ptr, ptr %t1 call void @fn_emit(ptr %t41) call void @fn_emit(ptr @.str19406) %t42 = load ptr, ptr %t32 call void @fn_emit(ptr %t42) call void @fn_emit(ptr @.str19407) %t43 = load ptr, ptr %t2 call void @fn_emit(ptr %t43) call void @fn_emit(ptr @.str19408) br label %ifend8 ifend8: %t44 = load i32, ptr @g_g_iok %t45 = call ptr @fn_itoa(i32 %t44) store i32 10310, ptr @lp_site %t46 = call ptr @lp_str_concat(ptr @.str19409, ptr %t45) store i32 0, ptr @lp_site store ptr %t46, ptr %t47 call void @fn_emit(ptr @.str19410) %t48 = load ptr, ptr %t47 call void @fn_emit(ptr %t48) call void @fn_emit(ptr @.str19411) %t49 = load ptr, ptr @g_g_off call void @fn_emit(ptr %t49) call void @fn_emit(ptr @.str19412) %t50 = load ptr, ptr %t2 call void @fn_emit(ptr %t50) call void @fn_emit(ptr @.str19413) %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 %t1 = alloca i32 %t11 = alloca i32 %t31 = alloca i32 %t70 = alloca i32 %t105 = alloca ptr %t109 = alloca ptr %t113 = alloca ptr store ptr %arg_fn2, ptr %t0 store i32 0, ptr @g_g_iok store ptr @.str19414, ptr @g_g_off %t2 = load ptr, ptr %t0 %t3 = call i32 @lp_str_eq(ptr %t2, ptr @.str19415) %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 @g_g_snap_mode %t7 = call i32 @lp_str_eq(ptr %t6, ptr @.str19416) %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 %t11 %t12 = load i32, ptr %t11 %t13 = icmp eq i32 %t12, 0 %t14 = zext i1 %t13 to i32 %t15 = icmp ne i32 %t14, 0 br i1 %t15, label %then2, label %ifend4 then2: call void @fn_emit(ptr @.str19417) br label %ifend4 ifend4: %t16 = load ptr, ptr %t0 call void @fn_emit_io(ptr %t16, ptr @.str19418, ptr @.str19419) call void @fn_emit(ptr @.str19420) %t17 = load i32, ptr %t11 %t18 = icmp ne i32 %t17, 0 br i1 %t18, label %then5, label %ifend7 then5: call void @fn_emit(ptr @.str19421) br label %ifend7 ifend7: call void @fn_emit(ptr @.str19422) %t19 = load ptr, ptr %t0 call void @fn_emit_io(ptr %t19, ptr @.str19423, ptr @.str19424) %t20 = load ptr, ptr %t0 call void @fn_emit_io(ptr %t20, ptr @.str19425, ptr @.str19426) call void @fn_emit(ptr @.str19427) %t21 = load ptr, ptr %t0 %t22 = call ptr @fn_snap_base(ptr @.str19428, i32 0) call void @fn_emit_io(ptr %t21, ptr %t22, ptr @.str19429) %t23 = load ptr, ptr %t0 %t24 = call ptr @fn_snap_base(ptr @.str19430, i32 1) call void @fn_emit_io(ptr %t23, ptr %t24, ptr @.str19431) %t25 = load ptr, ptr %t0 %t26 = call ptr @fn_snap_base(ptr @.str19432, i32 2) call void @fn_emit_io(ptr %t25, ptr %t26, ptr @.str19433) %t27 = call i32 @fn_net_has_owned() %t28 = icmp ne i32 %t27, 0 br i1 %t28, label %then8, label %ifend10 then8: %t29 = load ptr, ptr %t0 %t30 = call ptr @fn_snap_base(ptr @.str19434, i32 3) call void @fn_emit_io(ptr %t29, ptr %t30, ptr @.str19435) br label %ifend10 ifend10: store i32 0, ptr %t31 br label %wcond11 wcond11: %t32 = load i32, ptr %t31 %t33 = load ptr, ptr @g_prog %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 %wbody12, label %wend13 wbody12: %t39 = load ptr, ptr @g_prog %t40 = load i32, ptr %t31 %t41 = getelementptr inbounds %LSlice, ptr %t39, i32 0, i32 0 %t42 = load ptr, ptr %t41 %t43 = getelementptr inbounds %LSlice, ptr %t39, i32 0, i32 1 %t44 = load i32, ptr %t43 %t45 = icmp ult i32 %t40, %t44 br i1 %t45, label %ixok14, label %ixbad15 ixbad15: store i32 10311, ptr @lp_site %t46 = call ptr @lp_win_stdio(i32 2) store i32 0, ptr @lp_site call i32 (ptr, ptr, ...) @fprintf(ptr %t46, ptr @.fmt_bounds, ptr @.str19436, i32 %t40, i32 %t44) call void @exit(i32 1) unreachable ixok14: %t47 = getelementptr inbounds ptr, ptr %t42, i32 %t40 %t48 = load ptr, ptr %t47 %t49 = getelementptr inbounds %Cmp_Node, ptr %t48, i32 0, i32 0 %t50 = load i32, ptr %t49 %t51 = icmp eq i32 %t50, 2 %t52 = zext i1 %t51 to i32 %t53 = icmp ne i32 %t52, 0 br i1 %t53, label %then16, label %ifend18 then16: %t54 = load ptr, ptr %t0 %t55 = load ptr, ptr @g_prog %t56 = load i32, ptr %t31 %t57 = getelementptr inbounds %LSlice, ptr %t55, i32 0, i32 0 %t58 = load ptr, ptr %t57 %t59 = getelementptr inbounds %LSlice, ptr %t55, i32 0, i32 1 %t60 = load i32, ptr %t59 %t61 = icmp ult i32 %t56, %t60 br i1 %t61, label %ixok19, label %ixbad20 ixbad20: store i32 10312, ptr @lp_site %t62 = call ptr @lp_win_stdio(i32 2) store i32 0, ptr @lp_site call i32 (ptr, ptr, ...) @fprintf(ptr %t62, ptr @.fmt_bounds, ptr @.str19439, i32 %t56, i32 %t60) call void @exit(i32 1) unreachable ixok19: %t63 = getelementptr inbounds ptr, ptr %t58, i32 %t56 %t64 = load ptr, ptr %t63 %t65 = getelementptr inbounds %Cmp_Node, ptr %t64, i32 0, i32 1 %t66 = load ptr, ptr %t65 store i32 10313, ptr @lp_site %t67 = call ptr @lp_str_concat(ptr @.str19438, ptr %t66) store i32 0, ptr @lp_site call void @fn_emit_io(ptr %t54, ptr %t67, ptr @.str19440) br label %ifend18 ifend18: %t68 = load i32, ptr %t31 %t69 = add i32 %t68, 1 store i32 %t69, ptr %t31 br label %wcond11 wend13: store i32 0, ptr %t70 store i32 0, ptr %t31 br label %wcond21 wcond21: %t71 = load i32, ptr %t31 %t72 = load ptr, ptr @g_prog %t73 = getelementptr inbounds %LSlice, ptr %t72, i32 0, i32 1 %t74 = load i32, ptr %t73 %t75 = icmp slt i32 %t71, %t74 %t76 = zext i1 %t75 to i32 %t77 = icmp ne i32 %t76, 0 br i1 %t77, label %wbody22, label %wend23 wbody22: %t78 = load ptr, ptr @g_prog %t79 = load i32, ptr %t31 %t80 = getelementptr inbounds %LSlice, ptr %t78, i32 0, i32 0 %t81 = load ptr, ptr %t80 %t82 = getelementptr inbounds %LSlice, ptr %t78, i32 0, i32 1 %t83 = load i32, ptr %t82 %t84 = icmp ult i32 %t79, %t83 br i1 %t84, label %ixok24, label %ixbad25 ixbad25: store i32 10314, ptr @lp_site %t85 = call ptr @lp_win_stdio(i32 2) store i32 0, ptr @lp_site call i32 (ptr, ptr, ...) @fprintf(ptr %t85, ptr @.fmt_bounds, ptr @.str19441, i32 %t79, i32 %t83) call void @exit(i32 1) unreachable ixok24: %t86 = getelementptr inbounds ptr, ptr %t81, i32 %t79 %t87 = load ptr, ptr %t86 %t88 = getelementptr inbounds %Cmp_Node, ptr %t87, i32 0, i32 0 %t89 = load i32, ptr %t88 %t90 = icmp eq i32 %t89, 8 %t91 = zext i1 %t90 to i32 %t92 = icmp ne i32 %t91, 0 br i1 %t92, label %then26, label %ifend28 then26: %t93 = load ptr, ptr @g_prog %t94 = load i32, ptr %t31 %t95 = getelementptr inbounds %LSlice, ptr %t93, i32 0, i32 0 %t96 = load ptr, ptr %t95 %t97 = getelementptr inbounds %LSlice, ptr %t93, i32 0, i32 1 %t98 = load i32, ptr %t97 %t99 = icmp ult i32 %t94, %t98 br i1 %t99, label %ixok29, label %ixbad30 ixbad30: store i32 10315, ptr @lp_site %t100 = call ptr @lp_win_stdio(i32 2) store i32 0, ptr @lp_site call i32 (ptr, ptr, ...) @fprintf(ptr %t100, ptr @.fmt_bounds, ptr @.str19442, i32 %t94, i32 %t98) call void @exit(i32 1) unreachable ixok29: %t101 = getelementptr inbounds ptr, ptr %t96, i32 %t94 %t102 = load ptr, ptr %t101 %t103 = getelementptr inbounds %Cmp_Node, ptr %t102, i32 0, i32 1 %t104 = load ptr, ptr %t103 store ptr %t104, ptr %t105 %t106 = load i32, ptr %t70 %t107 = call ptr @fn_itoa(i32 %t106) store i32 10316, ptr @lp_site %t108 = call ptr @lp_str_concat(ptr @.str19443, ptr %t107) store i32 0, ptr @lp_site store ptr %t108, ptr %t109 %t110 = load i32, ptr %t70 %t111 = call ptr @fn_itoa(i32 %t110) store i32 10317, ptr @lp_site %t112 = call ptr @lp_str_concat(ptr @.str19444, ptr %t111) store i32 0, ptr @lp_site store ptr %t112, ptr %t113 call void @fn_emit(ptr @.str19445) %t114 = load ptr, ptr %t109 call void @fn_emit(ptr %t114) call void @fn_emit(ptr @.str19446) %t115 = load ptr, ptr %t105 call void @fn_emit(ptr %t115) call void @fn_emit(ptr @.str19447) call void @fn_emit(ptr @.str19448) %t116 = load ptr, ptr %t113 call void @fn_emit(ptr %t116) call void @fn_emit(ptr @.str19449) %t117 = load ptr, ptr %t109 call void @fn_emit(ptr %t117) call void @fn_emit(ptr @.str19450) %t118 = load ptr, ptr %t0 %t119 = load ptr, ptr %t105 store i32 10318, ptr @lp_site %t120 = call ptr @lp_str_concat(ptr @.str19451, ptr %t119) store i32 0, ptr @lp_site %t121 = load i32, ptr %t70 %t122 = mul i32 %t121, 2 %t123 = add i32 4, %t122 %t124 = call ptr @fn_snap_base(ptr %t120, i32 %t123) %t125 = load ptr, ptr %t113 call void @fn_emit_io(ptr %t118, ptr %t124, ptr %t125) %t126 = load ptr, ptr %t0 %t127 = load ptr, ptr %t105 store i32 10319, ptr @lp_site %t128 = call ptr @lp_str_concat(ptr @.str19452, ptr %t127) store i32 0, ptr @lp_site %t129 = load i32, ptr %t70 %t130 = mul i32 %t129, 2 %t131 = add i32 5, %t130 %t132 = call ptr @fn_snap_base(ptr %t128, i32 %t131) call void @fn_emit_io(ptr %t126, ptr %t132, ptr @.str19453) %t133 = load i32, ptr %t70 %t134 = add i32 %t133, 1 store i32 %t134, ptr %t70 br label %ifend28 ifend28: %t135 = load i32, ptr %t31 %t136 = add i32 %t135, 1 store i32 %t136, ptr %t31 br label %wcond21 wend23: br label %ret ret: ret void } define ptr @fn_snap_base(ptr %arg_store, i32 %arg_k) { entry: %retval = alloca ptr %t0 = alloca ptr %t1 = alloca i32 %t5 = alloca ptr store ptr %arg_store, ptr %t0 store i32 %arg_k, ptr %t1 %t2 = load i32, ptr %t1 %t3 = call ptr @fn_itoa(i32 %t2) store i32 10320, ptr @lp_site %t4 = call ptr @lp_str_concat(ptr @.str19454, ptr %t3) store i32 0, ptr @lp_site store ptr %t4, ptr %t5 %t6 = load ptr, ptr %t5 store i32 10321, ptr @lp_site %t7 = call ptr @lp_str_concat(ptr @.str19456, ptr %t6) store i32 0, ptr @lp_site store i32 10322, ptr @lp_site %t8 = call ptr @lp_str_concat(ptr %t7, ptr @.str19457) store i32 0, ptr @lp_site call void @lp_free(ptr %t7) %t9 = load ptr, ptr %t0 store i32 10323, ptr @lp_site %t10 = call ptr @lp_str_concat(ptr %t8, ptr %t9) store i32 0, ptr @lp_site call void @lp_free(ptr %t8) store i32 10324, ptr @lp_site %t11 = call ptr @lp_str_concat(ptr %t10, ptr @.str19458) store i32 0, ptr @lp_site call void @lp_free(ptr %t10) call void @fn_emit(ptr %t11) %t12 = load ptr, ptr %t5 store ptr %t12, ptr %retval br label %ret ret: %t13 = load ptr, ptr %retval ret ptr %t13 } define void @fn_emit_snapshot() { entry: %t3 = alloca i32 %t7 = alloca i32 %t21 = alloca ptr %t28 = alloca ptr store ptr @.str19459, ptr @g_g_snap_mode call void @fn_emith(ptr @.str19460) call void @fn_emith(ptr @.str19461) call void @fn_emith(ptr @.str19462) %t0 = call ptr @fn_find_fn(ptr @.str19463) %t1 = icmp ne ptr %t0, null %t2 = zext i1 %t1 to i32 store i32 %t2, ptr %t3 %t4 = call ptr @fn_find_fn(ptr @.str19464) %t5 = icmp ne ptr %t4, null %t6 = zext i1 %t5 to i32 store i32 %t6, ptr %t7 call void @fn_emit(ptr @.str19465) call void @fn_emit(ptr @.str19466) call void @fn_emit(ptr @.str19467) call void @fn_emit(ptr @.str19468) call void @fn_emit_snapshot_blocks(ptr @.str19469) %t8 = load i32, ptr %t3 %t9 = icmp ne i32 %t8, 0 br i1 %t9, label %then0, label %ifend2 then0: %t10 = call ptr @fn_fn_sym(ptr @.str19471) store i32 10325, ptr @lp_site %t11 = call ptr @lp_str_concat(ptr @.str19470, ptr %t10) store i32 0, ptr @lp_site store i32 10326, ptr @lp_site %t12 = call ptr @lp_str_concat(ptr %t11, ptr @.str19473) store i32 0, ptr @lp_site call void @lp_free(ptr %t11) call void @fn_emit(ptr %t12) br label %ifend2 ifend2: call void @fn_emit(ptr @.str19474) call void @fn_emit(ptr @.str19475) call void @fn_emit(ptr @.str19476) call void @fn_emit(ptr @.str19477) call void @fn_emit(ptr @.str19478) call void @fn_emit_snapshot_blocks(ptr @.str19479) %t13 = load i32, ptr %t7 %t14 = icmp ne i32 %t13, 0 br i1 %t14, label %then3, label %ifend5 then3: %t15 = call ptr @fn_fn_sym(ptr @.str19481) store i32 10327, ptr @lp_site %t16 = call ptr @lp_str_concat(ptr @.str19480, ptr %t15) store i32 0, ptr @lp_site store i32 10328, ptr @lp_site %t17 = call ptr @lp_str_concat(ptr %t16, ptr @.str19482) store i32 0, ptr @lp_site call void @lp_free(ptr %t16) call void @fn_emit(ptr %t17) br label %ifend5 ifend5: call void @fn_emit(ptr @.str19483) call void @fn_emit(ptr @.str19484) store ptr @.str19485, ptr @g_g_snap_mode call void @fn_emit_snapshot_blocks(ptr @.str19486) %t18 = load i32, ptr @g_g_iok %t19 = call ptr @fn_itoa(i32 %t18) store i32 10329, ptr @lp_site %t20 = call ptr @lp_str_concat(ptr @.str19487, ptr %t19) store i32 0, ptr @lp_site store ptr %t20, ptr %t21 call void @fn_emit(ptr @.str19488) %t22 = load ptr, ptr %t21 call void @fn_emit(ptr %t22) call void @fn_emit(ptr @.str19489) %t23 = load ptr, ptr @g_g_off call void @fn_emit(ptr %t23) call void @fn_emit(ptr @.str19490) call void @fn_emit(ptr @.str19491) %t24 = load ptr, ptr %t21 call void @fn_emit(ptr %t24) call void @fn_emit(ptr @.str19492) call void @fn_emit(ptr @.str19493) store ptr @.str19494, ptr @g_g_snap_mode call void @fn_emit_snapshot_blocks(ptr @.str19495) call void @fn_emit(ptr @.str19496) call void @fn_emit(ptr @.str19497) store ptr @.str19498, ptr @g_g_snap_mode call void @fn_emit_snapshot_blocks(ptr @.str19499) %t25 = load i32, ptr @g_g_iok %t26 = call ptr @fn_itoa(i32 %t25) store i32 10330, ptr @lp_site %t27 = call ptr @lp_str_concat(ptr @.str19500, ptr %t26) store i32 0, ptr @lp_site store ptr %t27, ptr %t28 call void @fn_emit(ptr @.str19501) %t29 = load ptr, ptr %t28 call void @fn_emit(ptr %t29) call void @fn_emit(ptr @.str19502) %t30 = load ptr, ptr @g_g_off call void @fn_emit(ptr %t30) call void @fn_emit(ptr @.str19503) call void @fn_emit(ptr @.str19504) %t31 = load ptr, ptr %t28 call void @fn_emit(ptr %t31) call void @fn_emit(ptr @.str19505) store ptr @.str19506, 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 @.str19507) %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 @.str19508) %t4 = icmp ne i32 %t3, 0 br i1 %t4, label %then0, label %ifend2 then0: store ptr @.str19509, ptr %retval br label %ret ifend2: store ptr @.str19510, 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 %t44 = alloca ptr %t49 = 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 = load i32, ptr %t2 %t16 = getelementptr inbounds %LSlice, ptr %t14, i32 0, i32 0 %t17 = load ptr, ptr %t16 %t18 = getelementptr inbounds %LSlice, ptr %t14, i32 0, i32 1 %t19 = load i32, ptr %t18 %t20 = icmp ult i32 %t15, %t19 br i1 %t20, label %ixok3, label %ixbad4 ixbad4: store i32 10331, ptr @lp_site %t21 = call ptr @lp_win_stdio(i32 2) store i32 0, ptr @lp_site call i32 (ptr, ptr, ...) @fprintf(ptr %t21, ptr @.fmt_bounds, ptr @.str19511, i32 %t15, i32 %t19) call void @exit(i32 1) unreachable ixok3: %t22 = getelementptr inbounds ptr, ptr %t17, i32 %t15 %t23 = load ptr, ptr %t22 %t24 = getelementptr inbounds %Cmp_Node, ptr %t23, i32 0, i32 2 %t25 = load i32, ptr %t24 %t26 = icmp eq i32 %t25, 1 %t27 = zext i1 %t26 to i32 %t28 = icmp ne i32 %t27, 0 br i1 %t28, label %then5, label %ifend7 then5: %t29 = load ptr, ptr %t0 %t30 = getelementptr inbounds %Cmp_Node, ptr %t29, i32 0, i32 7 %t31 = load ptr, ptr %t30 %t32 = load i32, ptr %t2 %t33 = getelementptr inbounds %LSlice, ptr %t31, i32 0, i32 0 %t34 = load ptr, ptr %t33 %t35 = getelementptr inbounds %LSlice, ptr %t31, i32 0, i32 1 %t36 = load i32, ptr %t35 %t37 = icmp ult i32 %t32, %t36 br i1 %t37, label %ixok8, label %ixbad9 ixbad9: store i32 10332, ptr @lp_site %t38 = call ptr @lp_win_stdio(i32 2) store i32 0, ptr @lp_site call i32 (ptr, ptr, ...) @fprintf(ptr %t38, ptr @.fmt_bounds, ptr @.str19513, i32 %t32, i32 %t36) call void @exit(i32 1) unreachable ixok8: %t39 = getelementptr inbounds ptr, ptr %t34, i32 %t32 %t40 = load ptr, ptr %t39 %t41 = getelementptr inbounds %Cmp_Node, ptr %t40, i32 0, i32 1 %t42 = load ptr, ptr %t41 %t43 = call ptr @fn_find_comp(ptr %t42) store ptr %t43, ptr %t44 %t45 = load ptr, ptr %t44 %t46 = icmp ne ptr %t45, null %t47 = zext i1 %t46 to i32 %t48 = icmp ne i32 %t47, 0 br i1 %t48, label %then10, label %ifend12 then10: store i32 0, ptr %t49 br label %wcond13 wcond13: %t50 = load i32, ptr %t49 %t51 = load ptr, ptr %t44 %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 1 %t55 = load i32, ptr %t54 %t56 = icmp slt i32 %t50, %t55 %t57 = zext i1 %t56 to i32 %t58 = icmp ne i32 %t57, 0 br i1 %t58, label %wbody14, label %wend15 wbody14: %t59 = load ptr, ptr %t44 %t60 = getelementptr inbounds %Cmp_Node, ptr %t59, i32 0, i32 7 %t61 = load ptr, ptr %t60 %t62 = load i32, ptr %t49 %t63 = getelementptr inbounds %LSlice, ptr %t61, i32 0, i32 0 %t64 = load ptr, ptr %t63 %t65 = getelementptr inbounds %LSlice, ptr %t61, i32 0, i32 1 %t66 = load i32, ptr %t65 %t67 = icmp ult i32 %t62, %t66 br i1 %t67, label %ixok16, label %ixbad17 ixbad17: store i32 10333, ptr @lp_site %t68 = call ptr @lp_win_stdio(i32 2) store i32 0, ptr @lp_site call i32 (ptr, ptr, ...) @fprintf(ptr %t68, ptr @.fmt_bounds, ptr @.str19514, i32 %t62, i32 %t66) call void @exit(i32 1) unreachable ixok16: %t69 = getelementptr inbounds ptr, ptr %t64, i32 %t62 %t70 = load ptr, ptr %t69 %t71 = getelementptr inbounds %Cmp_Node, ptr %t70, i32 0, i32 2 %t72 = load i32, ptr %t71 %t73 = icmp eq i32 %t72, 1 %t74 = zext i1 %t73 to i32 %t75 = icmp ne i32 %t74, 0 br i1 %t75, label %then18, label %ifend20 then18: %t76 = load ptr, ptr %t44 %t77 = getelementptr inbounds %Cmp_Node, ptr %t76, i32 0, i32 7 %t78 = load ptr, ptr %t77 %t79 = load i32, ptr %t49 %t80 = getelementptr inbounds %LSlice, ptr %t78, i32 0, i32 0 %t81 = load ptr, ptr %t80 %t82 = getelementptr inbounds %LSlice, ptr %t78, i32 0, i32 1 %t83 = load i32, ptr %t82 %t84 = icmp ult i32 %t79, %t83 br i1 %t84, label %ixok21, label %ixbad22 ixbad22: store i32 10334, ptr @lp_site %t85 = call ptr @lp_win_stdio(i32 2) store i32 0, ptr @lp_site call i32 (ptr, ptr, ...) @fprintf(ptr %t85, ptr @.fmt_bounds, ptr @.str19515, i32 %t79, i32 %t83) call void @exit(i32 1) unreachable ixok21: %t86 = getelementptr inbounds ptr, ptr %t81, i32 %t79 %t87 = load ptr, ptr %t86 %t88 = getelementptr inbounds %Cmp_Node, ptr %t87, i32 0, i32 3 %t89 = load ptr, ptr %t88 %t90 = call i32 @fn_net_field_ibytes(ptr %t89) %t91 = load i32, ptr %t1 %t92 = add i32 %t91, %t90 store i32 %t92, ptr %t1 br label %ifend20 ifend20: %t93 = load i32, ptr %t49 %t94 = add i32 %t93, 1 store i32 %t94, ptr %t49 br label %wcond13 wend15: br label %ifend12 ifend12: br label %ifend7 ifend7: %t95 = load i32, ptr %t2 %t96 = add i32 %t95, 1 store i32 %t96, ptr %t2 br label %wcond0 wend2: %t97 = load i32, ptr %t1 store i32 %t97, ptr %retval br label %ret ret: %t98 = load i32, ptr %retval ret i32 %t98 } 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 = load i32, ptr %t0 %t10 = getelementptr inbounds %LSlice, ptr %t8, i32 0, i32 0 %t11 = load ptr, ptr %t10 %t12 = getelementptr inbounds %LSlice, ptr %t8, i32 0, i32 1 %t13 = load i32, ptr %t12 %t14 = icmp ult i32 %t9, %t13 br i1 %t14, label %ixok3, label %ixbad4 ixbad4: store i32 10335, ptr @lp_site %t15 = call ptr @lp_win_stdio(i32 2) store i32 0, ptr @lp_site call i32 (ptr, ptr, ...) @fprintf(ptr %t15, ptr @.fmt_bounds, ptr @.str19516, i32 %t9, i32 %t13) call void @exit(i32 1) unreachable ixok3: %t16 = getelementptr inbounds ptr, ptr %t11, i32 %t9 %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, 10 %t21 = zext i1 %t20 to i32 %t22 = icmp ne i32 %t21, 0 br i1 %t22, label %then5, label %ifend7 then5: %t23 = load ptr, ptr @g_prog %t24 = load i32, ptr %t0 %t25 = getelementptr inbounds %LSlice, ptr %t23, i32 0, i32 0 %t26 = load ptr, ptr %t25 %t27 = getelementptr inbounds %LSlice, ptr %t23, i32 0, i32 1 %t28 = load i32, ptr %t27 %t29 = icmp ult i32 %t24, %t28 br i1 %t29, label %ixok8, label %ixbad9 ixbad9: store i32 10336, ptr @lp_site %t30 = call ptr @lp_win_stdio(i32 2) store i32 0, ptr @lp_site call i32 (ptr, ptr, ...) @fprintf(ptr %t30, ptr @.fmt_bounds, ptr @.str19518, i32 %t24, i32 %t28) call void @exit(i32 1) unreachable ixok8: %t31 = getelementptr inbounds ptr, ptr %t26, i32 %t24 %t32 = load ptr, ptr %t31 %t33 = call i32 @fn_net_model_syncs(ptr %t32) %t34 = icmp ne i32 %t33, 0 br i1 %t34, label %then10, label %ifend12 then10: store i32 1, ptr %retval br label %ret ifend12: br label %ifend7 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_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 = load i32, ptr %t0 %t11 = getelementptr inbounds %LSlice, ptr %t9, i32 0, i32 0 %t12 = load ptr, ptr %t11 %t13 = getelementptr inbounds %LSlice, ptr %t9, i32 0, i32 1 %t14 = load i32, ptr %t13 %t15 = icmp ult i32 %t10, %t14 br i1 %t15, label %ixok3, label %ixbad4 ixbad4: store i32 10337, ptr @lp_site %t16 = call ptr @lp_win_stdio(i32 2) store i32 0, ptr @lp_site call i32 (ptr, ptr, ...) @fprintf(ptr %t16, ptr @.fmt_bounds, ptr @.str19519, i32 %t10, i32 %t14) call void @exit(i32 1) unreachable ixok3: %t17 = getelementptr inbounds ptr, ptr %t12, i32 %t10 %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 %t8 br i1 %t23, label %sc5, label %scend6 sc5: %t25 = load ptr, ptr @g_prog %t26 = load i32, ptr %t0 %t27 = getelementptr inbounds %LSlice, ptr %t25, i32 0, i32 0 %t28 = load ptr, ptr %t27 %t29 = getelementptr inbounds %LSlice, ptr %t25, i32 0, i32 1 %t30 = load i32, ptr %t29 %t31 = icmp ult i32 %t26, %t30 br i1 %t31, label %ixok7, label %ixbad8 ixbad8: store i32 10338, ptr @lp_site %t32 = call ptr @lp_win_stdio(i32 2) store i32 0, ptr @lp_site call i32 (ptr, ptr, ...) @fprintf(ptr %t32, ptr @.fmt_bounds, ptr @.str19521, i32 %t26, i32 %t30) call void @exit(i32 1) unreachable ixok7: %t33 = getelementptr inbounds ptr, ptr %t28, i32 %t26 %t34 = load ptr, ptr %t33 %t35 = getelementptr inbounds %Cmp_Node, ptr %t34, i32 0, i32 2 %t36 = load i32, ptr %t35 %t37 = icmp eq i32 %t36, 1 %t38 = zext i1 %t37 to i32 %t39 = icmp ne i32 %t38, 0 %t40 = zext i1 %t39 to i32 store i32 %t40, ptr %t8 br label %scend6 scend6: %t41 = load i32, ptr %t8 %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 %t0 %t44 = add i32 %t43, 1 store i32 %t44, ptr %t0 br label %wcond0 wend2: store i32 0, ptr %retval br label %ret ret: %t45 = load i32, ptr %retval ret i32 %t45 } 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 = load i32, ptr %t0 %t11 = getelementptr inbounds %LSlice, ptr %t9, i32 0, i32 0 %t12 = load ptr, ptr %t11 %t13 = getelementptr inbounds %LSlice, ptr %t9, i32 0, i32 1 %t14 = load i32, ptr %t13 %t15 = icmp ult i32 %t10, %t14 br i1 %t15, label %ixok3, label %ixbad4 ixbad4: store i32 10339, ptr @lp_site %t16 = call ptr @lp_win_stdio(i32 2) store i32 0, ptr @lp_site call i32 (ptr, ptr, ...) @fprintf(ptr %t16, ptr @.fmt_bounds, ptr @.str19522, i32 %t10, i32 %t14) call void @exit(i32 1) unreachable ixok3: %t17 = getelementptr inbounds ptr, ptr %t12, i32 %t10 %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, 9 %t22 = zext i1 %t21 to i32 %t23 = icmp ne i32 %t22, 0 %t24 = zext i1 %t23 to i32 store i32 %t24, ptr %t8 br i1 %t23, label %sc5, label %scend6 sc5: %t25 = load ptr, ptr @g_prog %t26 = load i32, ptr %t0 %t27 = getelementptr inbounds %LSlice, ptr %t25, i32 0, i32 0 %t28 = load ptr, ptr %t27 %t29 = getelementptr inbounds %LSlice, ptr %t25, i32 0, i32 1 %t30 = load i32, ptr %t29 %t31 = icmp ult i32 %t26, %t30 br i1 %t31, label %ixok7, label %ixbad8 ixbad8: store i32 10340, ptr @lp_site %t32 = call ptr @lp_win_stdio(i32 2) store i32 0, ptr @lp_site call i32 (ptr, ptr, ...) @fprintf(ptr %t32, ptr @.fmt_bounds, ptr @.str19524, i32 %t26, i32 %t30) call void @exit(i32 1) unreachable ixok7: %t33 = getelementptr inbounds ptr, ptr %t28, i32 %t26 %t34 = load ptr, ptr %t33 %t35 = getelementptr inbounds %Cmp_Node, ptr %t34, i32 0, i32 2 %t36 = load i32, ptr %t35 %t37 = icmp ne i32 %t36, 0 %t38 = zext i1 %t37 to i32 %t39 = icmp ne i32 %t38, 0 %t40 = zext i1 %t39 to i32 store i32 %t40, ptr %t8 br label %scend6 scend6: %t41 = load i32, ptr %t8 %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 %t0 %t44 = add i32 %t43, 1 store i32 %t44, ptr %t0 br label %wcond0 wend2: store i32 0, ptr %retval br label %ret ret: %t45 = load i32, ptr %retval ret i32 %t45 } 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 store i32 10341, ptr @lp_site %t1 = call ptr @lp_win_stdio(i32 2) store i32 0, ptr @lp_site store ptr %t1, ptr %t2 %t3 = load ptr, ptr %t2 %t4 = zext i32 23 to i64 %t5 = call i64 @fwrite(ptr @.str19526, 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 @.str19527, 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 %t33 = alloca ptr %t34 = alloca i32 %t75 = alloca ptr %t78 = alloca ptr %t83 = alloca i32 %t84 = 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 = load i32, ptr %t0 %t10 = getelementptr inbounds %LSlice, ptr %t8, i32 0, i32 0 %t11 = load ptr, ptr %t10 %t12 = getelementptr inbounds %LSlice, ptr %t8, i32 0, i32 1 %t13 = load i32, ptr %t12 %t14 = icmp ult i32 %t9, %t13 br i1 %t14, label %ixok3, label %ixbad4 ixbad4: store i32 10342, ptr @lp_site %t15 = call ptr @lp_win_stdio(i32 2) store i32 0, ptr @lp_site call i32 (ptr, ptr, ...) @fprintf(ptr %t15, ptr @.fmt_bounds, ptr @.str19528, i32 %t9, i32 %t13) call void @exit(i32 1) unreachable ixok3: %t16 = getelementptr inbounds ptr, ptr %t11, i32 %t9 %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, 10 %t21 = zext i1 %t20 to i32 %t22 = icmp ne i32 %t21, 0 br i1 %t22, label %then5, label %ifend7 then5: %t23 = load ptr, ptr @g_prog %t24 = load i32, ptr %t0 %t25 = getelementptr inbounds %LSlice, ptr %t23, i32 0, i32 0 %t26 = load ptr, ptr %t25 %t27 = getelementptr inbounds %LSlice, ptr %t23, i32 0, i32 1 %t28 = load i32, ptr %t27 %t29 = icmp ult i32 %t24, %t28 br i1 %t29, label %ixok8, label %ixbad9 ixbad9: store i32 10343, ptr @lp_site %t30 = call ptr @lp_win_stdio(i32 2) store i32 0, ptr @lp_site call i32 (ptr, ptr, ...) @fprintf(ptr %t30, ptr @.fmt_bounds, ptr @.str19530, i32 %t24, i32 %t28) call void @exit(i32 1) unreachable ixok8: %t31 = getelementptr inbounds ptr, ptr %t26, i32 %t24 %t32 = load ptr, ptr %t31 store ptr %t32, ptr %t33 store i32 0, ptr %t34 br label %wcond10 wcond10: %t35 = load i32, ptr %t34 %t36 = load ptr, ptr %t33 %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 %wbody11, label %wend12 wbody11: %t44 = load ptr, ptr %t33 %t45 = getelementptr inbounds %Cmp_Node, ptr %t44, i32 0, i32 7 %t46 = load ptr, ptr %t45 %t47 = load i32, ptr %t34 %t48 = getelementptr inbounds %LSlice, ptr %t46, i32 0, i32 0 %t49 = load ptr, ptr %t48 %t50 = getelementptr inbounds %LSlice, ptr %t46, i32 0, i32 1 %t51 = load i32, ptr %t50 %t52 = icmp ult i32 %t47, %t51 br i1 %t52, label %ixok13, label %ixbad14 ixbad14: store i32 10344, ptr @lp_site %t53 = call ptr @lp_win_stdio(i32 2) store i32 0, ptr @lp_site call i32 (ptr, ptr, ...) @fprintf(ptr %t53, ptr @.fmt_bounds, ptr @.str19531, i32 %t47, i32 %t51) call void @exit(i32 1) unreachable ixok13: %t54 = getelementptr inbounds ptr, ptr %t49, i32 %t47 %t55 = load ptr, ptr %t54 %t56 = getelementptr inbounds %Cmp_Node, ptr %t55, i32 0, i32 2 %t57 = load i32, ptr %t56 %t58 = icmp eq i32 %t57, 1 %t59 = zext i1 %t58 to i32 %t60 = icmp ne i32 %t59, 0 br i1 %t60, label %then15, label %ifend17 then15: %t61 = load ptr, ptr %t33 %t62 = getelementptr inbounds %Cmp_Node, ptr %t61, i32 0, i32 7 %t63 = load ptr, ptr %t62 %t64 = load i32, ptr %t34 %t65 = getelementptr inbounds %LSlice, ptr %t63, i32 0, i32 0 %t66 = load ptr, ptr %t65 %t67 = getelementptr inbounds %LSlice, ptr %t63, i32 0, i32 1 %t68 = load i32, ptr %t67 %t69 = icmp ult i32 %t64, %t68 br i1 %t69, label %ixok18, label %ixbad19 ixbad19: store i32 10345, ptr @lp_site %t70 = call ptr @lp_win_stdio(i32 2) store i32 0, ptr @lp_site call i32 (ptr, ptr, ...) @fprintf(ptr %t70, ptr @.fmt_bounds, ptr @.str19532, i32 %t64, i32 %t68) call void @exit(i32 1) unreachable ixok18: %t71 = getelementptr inbounds ptr, ptr %t66, i32 %t64 %t72 = load ptr, ptr %t71 %t73 = getelementptr inbounds %Cmp_Node, ptr %t72, i32 0, i32 1 %t74 = load ptr, ptr %t73 store ptr %t74, ptr %t75 %t76 = load ptr, ptr %t75 %t77 = call ptr @fn_find_comp(ptr %t76) store ptr %t77, ptr %t78 %t79 = load ptr, ptr %t78 %t80 = icmp ne ptr %t79, null %t81 = zext i1 %t80 to i32 %t82 = icmp ne i32 %t81, 0 br i1 %t82, label %then20, label %ifend22 then20: store i32 0, ptr %t83 store i32 0, ptr %t84 br label %wcond23 wcond23: %t85 = load i32, ptr %t84 %t86 = load ptr, ptr %t78 %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 1 %t90 = load i32, ptr %t89 %t91 = icmp slt i32 %t85, %t90 %t92 = zext i1 %t91 to i32 %t93 = icmp ne i32 %t92, 0 br i1 %t93, label %wbody24, label %wend25 wbody24: %t94 = load ptr, ptr %t78 %t95 = getelementptr inbounds %Cmp_Node, ptr %t94, i32 0, i32 7 %t96 = load ptr, ptr %t95 %t97 = load i32, ptr %t84 %t98 = getelementptr inbounds %LSlice, ptr %t96, i32 0, i32 0 %t99 = load ptr, ptr %t98 %t100 = getelementptr inbounds %LSlice, ptr %t96, i32 0, i32 1 %t101 = load i32, ptr %t100 %t102 = icmp ult i32 %t97, %t101 br i1 %t102, label %ixok26, label %ixbad27 ixbad27: store i32 10346, ptr @lp_site %t103 = call ptr @lp_win_stdio(i32 2) store i32 0, ptr @lp_site call i32 (ptr, ptr, ...) @fprintf(ptr %t103, ptr @.fmt_bounds, ptr @.str19533, i32 %t97, i32 %t101) call void @exit(i32 1) unreachable ixok26: %t104 = getelementptr inbounds ptr, ptr %t99, i32 %t97 %t105 = load ptr, ptr %t104 %t106 = getelementptr inbounds %Cmp_Node, ptr %t105, i32 0, i32 2 %t107 = load i32, ptr %t106 %t108 = icmp eq i32 %t107, 1 %t109 = zext i1 %t108 to i32 %t110 = icmp ne i32 %t109, 0 br i1 %t110, label %then28, label %ifend30 then28: store i32 1, ptr %t83 %t111 = load ptr, ptr %t78 %t112 = getelementptr inbounds %Cmp_Node, ptr %t111, i32 0, i32 7 %t113 = load ptr, ptr %t112 %t114 = load i32, ptr %t84 %t115 = getelementptr inbounds %LSlice, ptr %t113, i32 0, i32 0 %t116 = load ptr, ptr %t115 %t117 = getelementptr inbounds %LSlice, ptr %t113, i32 0, i32 1 %t118 = load i32, ptr %t117 %t119 = icmp ult i32 %t114, %t118 br i1 %t119, label %ixok31, label %ixbad32 ixbad32: store i32 10347, ptr @lp_site %t120 = call ptr @lp_win_stdio(i32 2) store i32 0, ptr @lp_site call i32 (ptr, ptr, ...) @fprintf(ptr %t120, ptr @.fmt_bounds, ptr @.str19534, i32 %t114, i32 %t118) call void @exit(i32 1) unreachable ixok31: %t121 = getelementptr inbounds ptr, ptr %t116, i32 %t114 %t122 = load ptr, ptr %t121 %t123 = getelementptr inbounds %Cmp_Node, ptr %t122, i32 0, i32 3 %t124 = load ptr, ptr %t123 %t125 = call ptr @fn_llty(ptr %t124) %t126 = call i32 @lp_str_eq(ptr %t125, ptr @.str19535) %t127 = icmp ne i32 %t126, 0 br i1 %t127, label %then33, label %ifend35 then33: %t128 = load ptr, ptr %t75 store i32 10348, ptr @lp_site %t129 = call ptr @lp_str_concat(ptr @.str19536, ptr %t128) store i32 0, ptr @lp_site store i32 10349, ptr @lp_site %t130 = call ptr @lp_str_concat(ptr %t129, ptr @.str19537) store i32 0, ptr @lp_site call void @lp_free(ptr %t129) %t131 = load ptr, ptr %t78 %t132 = getelementptr inbounds %Cmp_Node, ptr %t131, i32 0, i32 7 %t133 = load ptr, ptr %t132 %t134 = load i32, ptr %t84 %t135 = getelementptr inbounds %LSlice, ptr %t133, i32 0, i32 0 %t136 = load ptr, ptr %t135 %t137 = getelementptr inbounds %LSlice, ptr %t133, i32 0, i32 1 %t138 = load i32, ptr %t137 %t139 = icmp ult i32 %t134, %t138 br i1 %t139, label %ixok36, label %ixbad37 ixbad37: store i32 10350, ptr @lp_site %t140 = call ptr @lp_win_stdio(i32 2) store i32 0, ptr @lp_site call i32 (ptr, ptr, ...) @fprintf(ptr %t140, ptr @.fmt_bounds, ptr @.str19538, i32 %t134, i32 %t138) call void @exit(i32 1) unreachable ixok36: %t141 = getelementptr inbounds ptr, ptr %t136, i32 %t134 %t142 = load ptr, ptr %t141 %t143 = getelementptr inbounds %Cmp_Node, ptr %t142, i32 0, i32 1 %t144 = load ptr, ptr %t143 store i32 10351, ptr @lp_site %t145 = call ptr @lp_str_concat(ptr %t130, ptr %t144) store i32 0, ptr @lp_site call void @lp_free(ptr %t130) store i32 10352, ptr @lp_site %t146 = call ptr @lp_str_concat(ptr %t145, ptr @.str19539) store i32 0, ptr @lp_site call void @lp_free(ptr %t145) call void @fn_perr(ptr %t146) br label %ifend35 ifend35: br label %ifend30 ifend30: %t147 = load i32, ptr %t84 %t148 = add i32 %t147, 1 store i32 %t148, ptr %t84 br label %wcond23 wend25: %t149 = load i32, ptr %t83 %t150 = icmp eq i32 %t149, 0 %t151 = zext i1 %t150 to i32 %t152 = icmp ne i32 %t151, 0 br i1 %t152, label %then38, label %ifend40 then38: %t153 = load ptr, ptr %t33 %t154 = getelementptr inbounds %Cmp_Node, ptr %t153, i32 0, i32 1 %t155 = load ptr, ptr %t154 store i32 10353, ptr @lp_site %t156 = call ptr @lp_str_concat(ptr @.str19540, ptr %t155) store i32 0, ptr @lp_site store i32 10354, ptr @lp_site %t157 = call ptr @lp_str_concat(ptr %t156, ptr @.str19541) store i32 0, ptr @lp_site call void @lp_free(ptr %t156) %t158 = load ptr, ptr %t75 store i32 10355, ptr @lp_site %t159 = call ptr @lp_str_concat(ptr %t157, ptr %t158) store i32 0, ptr @lp_site call void @lp_free(ptr %t157) store i32 10356, ptr @lp_site %t160 = call ptr @lp_str_concat(ptr %t159, ptr @.str19542) store i32 0, ptr @lp_site call void @lp_free(ptr %t159) call void @fn_net_warn(ptr %t160) br label %ifend40 ifend40: br label %ifend22 ifend22: br label %ifend17 ifend17: %t161 = load i32, ptr %t34 %t162 = add i32 %t161, 1 store i32 %t162, ptr %t34 br label %wcond10 wend12: br label %ifend7 ifend7: %t163 = load i32, ptr %t0 %t164 = add i32 %t163, 1 store i32 %t164, 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 %t48 = alloca ptr %t51 = alloca ptr %t59 = alloca ptr %t61 = alloca ptr %t65 = alloca i32 %t107 = alloca ptr %t109 = alloca ptr %t116 = 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 @.str19543) %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 @.str19544) 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 = load i32, ptr %t7 %t21 = getelementptr inbounds %LSlice, ptr %t19, i32 0, i32 0 %t22 = load ptr, ptr %t21 %t23 = getelementptr inbounds %LSlice, ptr %t19, i32 0, i32 1 %t24 = load i32, ptr %t23 %t25 = icmp ult i32 %t20, %t24 br i1 %t25, label %ixok3, label %ixbad4 ixbad4: store i32 10357, ptr @lp_site %t26 = call ptr @lp_win_stdio(i32 2) store i32 0, ptr @lp_site call i32 (ptr, ptr, ...) @fprintf(ptr %t26, ptr @.fmt_bounds, ptr @.str19545, i32 %t20, i32 %t24) call void @exit(i32 1) unreachable ixok3: %t27 = getelementptr inbounds ptr, ptr %t22, i32 %t20 %t28 = load ptr, ptr %t27 %t29 = getelementptr inbounds %Cmp_Node, ptr %t28, i32 0, i32 2 %t30 = load i32, ptr %t29 %t31 = icmp eq i32 %t30, 1 %t32 = zext i1 %t31 to i32 %t33 = icmp ne i32 %t32, 0 br i1 %t33, label %then5, label %ifend7 then5: %t34 = load ptr, ptr %t0 %t35 = getelementptr inbounds %Cmp_Node, ptr %t34, i32 0, i32 7 %t36 = load ptr, ptr %t35 %t37 = load i32, ptr %t7 %t38 = getelementptr inbounds %LSlice, ptr %t36, i32 0, i32 0 %t39 = load ptr, ptr %t38 %t40 = getelementptr inbounds %LSlice, ptr %t36, i32 0, i32 1 %t41 = load i32, ptr %t40 %t42 = icmp ult i32 %t37, %t41 br i1 %t42, label %ixok8, label %ixbad9 ixbad9: store i32 10358, ptr @lp_site %t43 = call ptr @lp_win_stdio(i32 2) store i32 0, ptr @lp_site call i32 (ptr, ptr, ...) @fprintf(ptr %t43, ptr @.fmt_bounds, ptr @.str19547, i32 %t37, i32 %t41) call void @exit(i32 1) unreachable ixok8: %t44 = getelementptr inbounds ptr, ptr %t39, i32 %t37 %t45 = load ptr, ptr %t44 %t46 = getelementptr inbounds %Cmp_Node, ptr %t45, i32 0, i32 1 %t47 = load ptr, ptr %t46 store ptr %t47, ptr %t48 %t49 = load ptr, ptr %t48 %t50 = call ptr @fn_find_comp(ptr %t49) store ptr %t50, ptr %t51 %t52 = load ptr, ptr %t51 %t53 = icmp ne ptr %t52, null %t54 = zext i1 %t53 to i32 %t55 = icmp ne i32 %t54, 0 br i1 %t55, label %then10, label %ifend12 then10: %t56 = load ptr, ptr %t48 store i32 10359, ptr @lp_site %t57 = call ptr @lp_str_concat(ptr @.str19548, ptr %t56) store i32 0, ptr @lp_site %t58 = call ptr @fn_ecs_base(ptr %t57) store ptr %t58, ptr %t59 %t60 = call ptr @fn_nreg() store ptr %t60, ptr %t61 call void @fn_emit(ptr @.str19549) %t62 = load ptr, ptr %t61 call void @fn_emit(ptr %t62) call void @fn_emit(ptr @.str19550) %t63 = load ptr, ptr %t48 call void @fn_emit(ptr %t63) call void @fn_emit(ptr @.str19551) %t64 = load ptr, ptr %t59 call void @fn_emit(ptr %t64) call void @fn_emit(ptr @.str19552) store i32 0, ptr %t65 br label %wcond13 wcond13: %t66 = load i32, ptr %t65 %t67 = load ptr, ptr %t51 %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 1 %t71 = load i32, ptr %t70 %t72 = icmp slt i32 %t66, %t71 %t73 = zext i1 %t72 to i32 %t74 = icmp ne i32 %t73, 0 br i1 %t74, label %wbody14, label %wend15 wbody14: %t75 = load ptr, ptr %t51 %t76 = getelementptr inbounds %Cmp_Node, ptr %t75, i32 0, i32 7 %t77 = load ptr, ptr %t76 %t78 = load i32, ptr %t65 %t79 = getelementptr inbounds %LSlice, ptr %t77, i32 0, i32 0 %t80 = load ptr, ptr %t79 %t81 = getelementptr inbounds %LSlice, ptr %t77, i32 0, i32 1 %t82 = load i32, ptr %t81 %t83 = icmp ult i32 %t78, %t82 br i1 %t83, label %ixok16, label %ixbad17 ixbad17: store i32 10360, ptr @lp_site %t84 = call ptr @lp_win_stdio(i32 2) store i32 0, ptr @lp_site call i32 (ptr, ptr, ...) @fprintf(ptr %t84, ptr @.fmt_bounds, ptr @.str19553, i32 %t78, i32 %t82) call void @exit(i32 1) unreachable ixok16: %t85 = getelementptr inbounds ptr, ptr %t80, i32 %t78 %t86 = load ptr, ptr %t85 %t87 = getelementptr inbounds %Cmp_Node, ptr %t86, i32 0, i32 2 %t88 = load i32, ptr %t87 %t89 = icmp eq i32 %t88, 1 %t90 = zext i1 %t89 to i32 %t91 = icmp ne i32 %t90, 0 br i1 %t91, label %then18, label %ifend20 then18: %t92 = load ptr, ptr %t51 %t93 = getelementptr inbounds %Cmp_Node, ptr %t92, i32 0, i32 7 %t94 = load ptr, ptr %t93 %t95 = load i32, ptr %t65 %t96 = getelementptr inbounds %LSlice, ptr %t94, i32 0, i32 0 %t97 = load ptr, ptr %t96 %t98 = getelementptr inbounds %LSlice, ptr %t94, i32 0, i32 1 %t99 = load i32, ptr %t98 %t100 = icmp ult i32 %t95, %t99 br i1 %t100, label %ixok21, label %ixbad22 ixbad22: store i32 10361, ptr @lp_site %t101 = call ptr @lp_win_stdio(i32 2) store i32 0, ptr @lp_site call i32 (ptr, ptr, ...) @fprintf(ptr %t101, ptr @.fmt_bounds, ptr @.str19554, i32 %t95, i32 %t99) call void @exit(i32 1) unreachable ixok21: %t102 = getelementptr inbounds ptr, ptr %t97, i32 %t95 %t103 = load ptr, ptr %t102 %t104 = getelementptr inbounds %Cmp_Node, ptr %t103, i32 0, i32 3 %t105 = load ptr, ptr %t104 %t106 = call ptr @fn_net_field_bytes(ptr %t105) store ptr %t106, ptr %t107 %t108 = call ptr @fn_nreg() store ptr %t108, ptr %t109 call void @fn_emit(ptr @.str19555) %t110 = load ptr, ptr %t109 call void @fn_emit(ptr %t110) call void @fn_emit(ptr @.str19556) %t111 = load ptr, ptr %t48 call void @fn_emit(ptr %t111) call void @fn_emit(ptr @.str19557) %t112 = load ptr, ptr %t61 call void @fn_emit(ptr %t112) call void @fn_emit(ptr @.str19558) %t113 = load i32, ptr %t65 %t114 = call ptr @fn_itoa(i32 %t113) call void @fn_emit(ptr %t114) call void @fn_emit(ptr @.str19559) %t115 = call ptr @fn_nreg() store ptr %t115, ptr %t116 call void @fn_emit(ptr @.str19560) %t117 = load ptr, ptr %t116 call void @fn_emit(ptr %t117) call void @fn_emit(ptr @.str19561) %t118 = load i32, ptr %t6 %t119 = call ptr @fn_itoa(i32 %t118) call void @fn_emit(ptr %t119) call void @fn_emit(ptr @.str19562) call void @fn_emit(ptr @.str19563) %t120 = load ptr, ptr %t116 call void @fn_emit(ptr %t120) call void @fn_emit(ptr @.str19564) %t121 = load ptr, ptr %t109 call void @fn_emit(ptr %t121) call void @fn_emit(ptr @.str19565) %t122 = load ptr, ptr %t107 call void @fn_emit(ptr %t122) call void @fn_emit(ptr @.str19566) %t123 = load ptr, ptr %t51 %t124 = getelementptr inbounds %Cmp_Node, ptr %t123, i32 0, i32 7 %t125 = load ptr, ptr %t124 %t126 = load i32, ptr %t65 %t127 = getelementptr inbounds %LSlice, ptr %t125, i32 0, i32 0 %t128 = load ptr, ptr %t127 %t129 = getelementptr inbounds %LSlice, ptr %t125, i32 0, i32 1 %t130 = load i32, ptr %t129 %t131 = icmp ult i32 %t126, %t130 br i1 %t131, label %ixok23, label %ixbad24 ixbad24: store i32 10362, ptr @lp_site %t132 = call ptr @lp_win_stdio(i32 2) store i32 0, ptr @lp_site call i32 (ptr, ptr, ...) @fprintf(ptr %t132, ptr @.fmt_bounds, ptr @.str19567, i32 %t126, i32 %t130) call void @exit(i32 1) unreachable ixok23: %t133 = getelementptr inbounds ptr, ptr %t128, i32 %t126 %t134 = load ptr, ptr %t133 %t135 = getelementptr inbounds %Cmp_Node, ptr %t134, i32 0, i32 3 %t136 = load ptr, ptr %t135 %t137 = call i32 @fn_net_field_ibytes(ptr %t136) %t138 = load i32, ptr %t6 %t139 = add i32 %t138, %t137 store i32 %t139, ptr %t6 br label %ifend20 ifend20: %t140 = load i32, ptr %t65 %t141 = add i32 %t140, 1 store i32 %t141, ptr %t65 br label %wcond13 wend15: br label %ifend12 ifend12: br label %ifend7 ifend7: %t142 = load i32, ptr %t7 %t143 = add i32 %t142, 1 store i32 %t143, ptr %t7 br label %wcond0 wend2: call void @fn_emit(ptr @.str19568) %t144 = load i32, ptr %t6 %t145 = call ptr @fn_itoa(i32 %t144) call void @fn_emit(ptr %t145) call void @fn_emit(ptr @.str19569) 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 %t48 = alloca ptr %t51 = alloca ptr %t59 = alloca ptr %t61 = alloca ptr %t65 = alloca i32 %t107 = alloca ptr %t109 = alloca ptr %t116 = 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 @.str19570) %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 @.str19571) 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 = load i32, ptr %t7 %t21 = getelementptr inbounds %LSlice, ptr %t19, i32 0, i32 0 %t22 = load ptr, ptr %t21 %t23 = getelementptr inbounds %LSlice, ptr %t19, i32 0, i32 1 %t24 = load i32, ptr %t23 %t25 = icmp ult i32 %t20, %t24 br i1 %t25, label %ixok3, label %ixbad4 ixbad4: store i32 10363, ptr @lp_site %t26 = call ptr @lp_win_stdio(i32 2) store i32 0, ptr @lp_site call i32 (ptr, ptr, ...) @fprintf(ptr %t26, ptr @.fmt_bounds, ptr @.str19572, i32 %t20, i32 %t24) call void @exit(i32 1) unreachable ixok3: %t27 = getelementptr inbounds ptr, ptr %t22, i32 %t20 %t28 = load ptr, ptr %t27 %t29 = getelementptr inbounds %Cmp_Node, ptr %t28, i32 0, i32 2 %t30 = load i32, ptr %t29 %t31 = icmp eq i32 %t30, 1 %t32 = zext i1 %t31 to i32 %t33 = icmp ne i32 %t32, 0 br i1 %t33, label %then5, label %ifend7 then5: %t34 = load ptr, ptr %t0 %t35 = getelementptr inbounds %Cmp_Node, ptr %t34, i32 0, i32 7 %t36 = load ptr, ptr %t35 %t37 = load i32, ptr %t7 %t38 = getelementptr inbounds %LSlice, ptr %t36, i32 0, i32 0 %t39 = load ptr, ptr %t38 %t40 = getelementptr inbounds %LSlice, ptr %t36, i32 0, i32 1 %t41 = load i32, ptr %t40 %t42 = icmp ult i32 %t37, %t41 br i1 %t42, label %ixok8, label %ixbad9 ixbad9: store i32 10364, ptr @lp_site %t43 = call ptr @lp_win_stdio(i32 2) store i32 0, ptr @lp_site call i32 (ptr, ptr, ...) @fprintf(ptr %t43, ptr @.fmt_bounds, ptr @.str19574, i32 %t37, i32 %t41) call void @exit(i32 1) unreachable ixok8: %t44 = getelementptr inbounds ptr, ptr %t39, i32 %t37 %t45 = load ptr, ptr %t44 %t46 = getelementptr inbounds %Cmp_Node, ptr %t45, i32 0, i32 1 %t47 = load ptr, ptr %t46 store ptr %t47, ptr %t48 %t49 = load ptr, ptr %t48 %t50 = call ptr @fn_find_comp(ptr %t49) store ptr %t50, ptr %t51 %t52 = load ptr, ptr %t51 %t53 = icmp ne ptr %t52, null %t54 = zext i1 %t53 to i32 %t55 = icmp ne i32 %t54, 0 br i1 %t55, label %then10, label %ifend12 then10: %t56 = load ptr, ptr %t48 store i32 10365, ptr @lp_site %t57 = call ptr @lp_str_concat(ptr @.str19575, ptr %t56) store i32 0, ptr @lp_site %t58 = call ptr @fn_ecs_base(ptr %t57) store ptr %t58, ptr %t59 %t60 = call ptr @fn_nreg() store ptr %t60, ptr %t61 call void @fn_emit(ptr @.str19576) %t62 = load ptr, ptr %t61 call void @fn_emit(ptr %t62) call void @fn_emit(ptr @.str19577) %t63 = load ptr, ptr %t48 call void @fn_emit(ptr %t63) call void @fn_emit(ptr @.str19578) %t64 = load ptr, ptr %t59 call void @fn_emit(ptr %t64) call void @fn_emit(ptr @.str19579) store i32 0, ptr %t65 br label %wcond13 wcond13: %t66 = load i32, ptr %t65 %t67 = load ptr, ptr %t51 %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 1 %t71 = load i32, ptr %t70 %t72 = icmp slt i32 %t66, %t71 %t73 = zext i1 %t72 to i32 %t74 = icmp ne i32 %t73, 0 br i1 %t74, label %wbody14, label %wend15 wbody14: %t75 = load ptr, ptr %t51 %t76 = getelementptr inbounds %Cmp_Node, ptr %t75, i32 0, i32 7 %t77 = load ptr, ptr %t76 %t78 = load i32, ptr %t65 %t79 = getelementptr inbounds %LSlice, ptr %t77, i32 0, i32 0 %t80 = load ptr, ptr %t79 %t81 = getelementptr inbounds %LSlice, ptr %t77, i32 0, i32 1 %t82 = load i32, ptr %t81 %t83 = icmp ult i32 %t78, %t82 br i1 %t83, label %ixok16, label %ixbad17 ixbad17: store i32 10366, ptr @lp_site %t84 = call ptr @lp_win_stdio(i32 2) store i32 0, ptr @lp_site call i32 (ptr, ptr, ...) @fprintf(ptr %t84, ptr @.fmt_bounds, ptr @.str19580, i32 %t78, i32 %t82) call void @exit(i32 1) unreachable ixok16: %t85 = getelementptr inbounds ptr, ptr %t80, i32 %t78 %t86 = load ptr, ptr %t85 %t87 = getelementptr inbounds %Cmp_Node, ptr %t86, i32 0, i32 2 %t88 = load i32, ptr %t87 %t89 = icmp eq i32 %t88, 1 %t90 = zext i1 %t89 to i32 %t91 = icmp ne i32 %t90, 0 br i1 %t91, label %then18, label %ifend20 then18: %t92 = load ptr, ptr %t51 %t93 = getelementptr inbounds %Cmp_Node, ptr %t92, i32 0, i32 7 %t94 = load ptr, ptr %t93 %t95 = load i32, ptr %t65 %t96 = getelementptr inbounds %LSlice, ptr %t94, i32 0, i32 0 %t97 = load ptr, ptr %t96 %t98 = getelementptr inbounds %LSlice, ptr %t94, i32 0, i32 1 %t99 = load i32, ptr %t98 %t100 = icmp ult i32 %t95, %t99 br i1 %t100, label %ixok21, label %ixbad22 ixbad22: store i32 10367, ptr @lp_site %t101 = call ptr @lp_win_stdio(i32 2) store i32 0, ptr @lp_site call i32 (ptr, ptr, ...) @fprintf(ptr %t101, ptr @.fmt_bounds, ptr @.str19581, i32 %t95, i32 %t99) call void @exit(i32 1) unreachable ixok21: %t102 = getelementptr inbounds ptr, ptr %t97, i32 %t95 %t103 = load ptr, ptr %t102 %t104 = getelementptr inbounds %Cmp_Node, ptr %t103, i32 0, i32 3 %t105 = load ptr, ptr %t104 %t106 = call ptr @fn_net_field_bytes(ptr %t105) store ptr %t106, ptr %t107 %t108 = call ptr @fn_nreg() store ptr %t108, ptr %t109 call void @fn_emit(ptr @.str19582) %t110 = load ptr, ptr %t109 call void @fn_emit(ptr %t110) call void @fn_emit(ptr @.str19583) %t111 = load ptr, ptr %t48 call void @fn_emit(ptr %t111) call void @fn_emit(ptr @.str19584) %t112 = load ptr, ptr %t61 call void @fn_emit(ptr %t112) call void @fn_emit(ptr @.str19585) %t113 = load i32, ptr %t65 %t114 = call ptr @fn_itoa(i32 %t113) call void @fn_emit(ptr %t114) call void @fn_emit(ptr @.str19586) %t115 = call ptr @fn_nreg() store ptr %t115, ptr %t116 call void @fn_emit(ptr @.str19587) %t117 = load ptr, ptr %t116 call void @fn_emit(ptr %t117) call void @fn_emit(ptr @.str19588) %t118 = load i32, ptr %t6 %t119 = call ptr @fn_itoa(i32 %t118) call void @fn_emit(ptr %t119) call void @fn_emit(ptr @.str19589) call void @fn_emit(ptr @.str19590) %t120 = load ptr, ptr %t109 call void @fn_emit(ptr %t120) call void @fn_emit(ptr @.str19591) %t121 = load ptr, ptr %t116 call void @fn_emit(ptr %t121) call void @fn_emit(ptr @.str19592) %t122 = load ptr, ptr %t107 call void @fn_emit(ptr %t122) call void @fn_emit(ptr @.str19593) %t123 = load ptr, ptr %t51 %t124 = getelementptr inbounds %Cmp_Node, ptr %t123, i32 0, i32 7 %t125 = load ptr, ptr %t124 %t126 = load i32, ptr %t65 %t127 = getelementptr inbounds %LSlice, ptr %t125, i32 0, i32 0 %t128 = load ptr, ptr %t127 %t129 = getelementptr inbounds %LSlice, ptr %t125, i32 0, i32 1 %t130 = load i32, ptr %t129 %t131 = icmp ult i32 %t126, %t130 br i1 %t131, label %ixok23, label %ixbad24 ixbad24: store i32 10368, ptr @lp_site %t132 = call ptr @lp_win_stdio(i32 2) store i32 0, ptr @lp_site call i32 (ptr, ptr, ...) @fprintf(ptr %t132, ptr @.fmt_bounds, ptr @.str19594, i32 %t126, i32 %t130) call void @exit(i32 1) unreachable ixok23: %t133 = getelementptr inbounds ptr, ptr %t128, i32 %t126 %t134 = load ptr, ptr %t133 %t135 = getelementptr inbounds %Cmp_Node, ptr %t134, i32 0, i32 3 %t136 = load ptr, ptr %t135 %t137 = call i32 @fn_net_field_ibytes(ptr %t136) %t138 = load i32, ptr %t6 %t139 = add i32 %t138, %t137 store i32 %t139, ptr %t6 br label %ifend20 ifend20: %t140 = load i32, ptr %t65 %t141 = add i32 %t140, 1 store i32 %t141, ptr %t65 br label %wcond13 wend15: br label %ifend12 ifend12: br label %ifend7 ifend7: %t142 = load i32, ptr %t7 %t143 = add i32 %t142, 1 store i32 %t143, ptr %t7 br label %wcond0 wend2: call void @fn_emit(ptr @.str19595) br label %ret ret: ret void } define void @fn_emit_net_dispatch() { entry: %t1 = alloca ptr %t3 = alloca ptr %t5 = alloca i32 %t6 = alloca i32 %t14 = alloca i32 %t58 = alloca ptr %t61 = alloca ptr %t79 = alloca ptr %t88 = alloca i32 %t132 = alloca ptr %t135 = alloca ptr %t151 = alloca ptr %t160 = alloca i32 %t204 = alloca ptr %t207 = alloca ptr %t0 = call ptr @fn_itoa(i32 1024) store ptr %t0, ptr %t1 call void @fn_emit(ptr @.str19596) %t2 = call ptr @fn_ecs_base(ptr @.str19597) store ptr %t2, ptr %t3 call void @fn_emit(ptr @.str19598) %t4 = load ptr, ptr %t3 call void @fn_emit(ptr %t4) call void @fn_emit(ptr @.str19599) store i32 0, ptr %t5 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: %t15 = load ptr, ptr @g_prog %t16 = load i32, ptr %t6 %t17 = getelementptr inbounds %LSlice, ptr %t15, i32 0, i32 0 %t18 = load ptr, ptr %t17 %t19 = getelementptr inbounds %LSlice, ptr %t15, i32 0, i32 1 %t20 = load i32, ptr %t19 %t21 = icmp ult i32 %t16, %t20 br i1 %t21, label %ixok3, label %ixbad4 ixbad4: store i32 10369, ptr @lp_site %t22 = call ptr @lp_win_stdio(i32 2) store i32 0, ptr @lp_site call i32 (ptr, ptr, ...) @fprintf(ptr %t22, ptr @.fmt_bounds, ptr @.str19600, i32 %t16, i32 %t20) call void @exit(i32 1) unreachable ixok3: %t23 = getelementptr inbounds ptr, ptr %t18, i32 %t16 %t24 = load ptr, ptr %t23 %t25 = getelementptr inbounds %Cmp_Node, ptr %t24, i32 0, i32 0 %t26 = load i32, ptr %t25 %t27 = icmp eq i32 %t26, 10 %t28 = zext i1 %t27 to i32 %t29 = icmp ne i32 %t28, 0 %t30 = zext i1 %t29 to i32 store i32 %t30, ptr %t14 br i1 %t29, label %sc5, label %scend6 sc5: %t31 = load ptr, ptr @g_prog %t32 = load i32, ptr %t6 %t33 = getelementptr inbounds %LSlice, ptr %t31, i32 0, i32 0 %t34 = load ptr, ptr %t33 %t35 = getelementptr inbounds %LSlice, ptr %t31, i32 0, i32 1 %t36 = load i32, ptr %t35 %t37 = icmp ult i32 %t32, %t36 br i1 %t37, label %ixok7, label %ixbad8 ixbad8: store i32 10370, ptr @lp_site %t38 = call ptr @lp_win_stdio(i32 2) store i32 0, ptr @lp_site call i32 (ptr, ptr, ...) @fprintf(ptr %t38, ptr @.fmt_bounds, ptr @.str19602, i32 %t32, i32 %t36) call void @exit(i32 1) unreachable ixok7: %t39 = getelementptr inbounds ptr, ptr %t34, i32 %t32 %t40 = load ptr, ptr %t39 %t41 = call i32 @fn_net_model_syncs(ptr %t40) %t42 = icmp ne i32 %t41, 0 %t43 = zext i1 %t42 to i32 store i32 %t43, ptr %t14 br label %scend6 scend6: %t44 = load i32, ptr %t14 %t45 = icmp ne i32 %t44, 0 br i1 %t45, label %then9, label %ifend11 then9: %t46 = load ptr, ptr @g_prog %t47 = load i32, ptr %t6 %t48 = getelementptr inbounds %LSlice, ptr %t46, i32 0, i32 0 %t49 = load ptr, ptr %t48 %t50 = getelementptr inbounds %LSlice, ptr %t46, i32 0, i32 1 %t51 = load i32, ptr %t50 %t52 = icmp ult i32 %t47, %t51 br i1 %t52, label %ixok12, label %ixbad13 ixbad13: store i32 10371, ptr @lp_site %t53 = call ptr @lp_win_stdio(i32 2) store i32 0, ptr @lp_site call i32 (ptr, ptr, ...) @fprintf(ptr %t53, ptr @.fmt_bounds, ptr @.str19603, i32 %t47, i32 %t51) call void @exit(i32 1) unreachable ixok12: %t54 = getelementptr inbounds ptr, ptr %t49, i32 %t47 %t55 = load ptr, ptr %t54 %t56 = getelementptr inbounds %Cmp_Node, ptr %t55, i32 0, i32 1 %t57 = load ptr, ptr %t56 store ptr %t57, ptr %t58 %t59 = load i32, ptr %t5 %t60 = call ptr @fn_itoa(i32 %t59) store ptr %t60, ptr %t61 call void @fn_emit(ptr @.str19604) %t62 = load ptr, ptr %t61 call void @fn_emit(ptr %t62) call void @fn_emit(ptr @.str19605) %t63 = load ptr, ptr %t58 %t64 = call i32 @fn_find_arch_id(ptr %t63) %t65 = call ptr @fn_itoa(i32 %t64) call void @fn_emit(ptr %t65) call void @fn_emit(ptr @.str19606) call void @fn_emit(ptr @.str19607) %t66 = load ptr, ptr %t61 call void @fn_emit(ptr %t66) call void @fn_emit(ptr @.str19608) %t67 = load ptr, ptr %t61 call void @fn_emit(ptr %t67) call void @fn_emit(ptr @.str19609) %t68 = load ptr, ptr %t61 call void @fn_emit(ptr %t68) call void @fn_emit(ptr @.str19610) call void @fn_emit(ptr @.str19611) %t69 = load ptr, ptr %t61 call void @fn_emit(ptr %t69) call void @fn_emit(ptr @.str19612) %t70 = load ptr, ptr %t61 call void @fn_emit(ptr %t70) call void @fn_emit(ptr @.str19613) %t71 = load ptr, ptr %t58 call void @fn_emit(ptr %t71) call void @fn_emit(ptr @.str19614) %t72 = load ptr, ptr %t61 call void @fn_emit(ptr %t72) call void @fn_emit(ptr @.str19615) call void @fn_emit(ptr @.str19616) %t73 = load ptr, ptr %t61 call void @fn_emit(ptr %t73) call void @fn_emit(ptr @.str19617) %t74 = load i32, ptr %t5 %t75 = add i32 %t74, 1 store i32 %t75, ptr %t5 br label %ifend11 ifend11: %t76 = load i32, ptr %t6 %t77 = add i32 %t76, 1 store i32 %t77, ptr %t6 br label %wcond0 wend2: call void @fn_emit(ptr @.str19618) call void @fn_emit(ptr @.str19619) %t78 = call ptr @fn_ecs_base(ptr @.str19620) store ptr %t78, ptr %t79 call void @fn_emit(ptr @.str19621) %t80 = load ptr, ptr %t79 call void @fn_emit(ptr %t80) call void @fn_emit(ptr @.str19622) store i32 0, ptr %t5 store i32 0, ptr %t6 br label %wcond14 wcond14: %t81 = load i32, ptr %t6 %t82 = load ptr, ptr @g_prog %t83 = getelementptr inbounds %LSlice, ptr %t82, i32 0, i32 1 %t84 = load i32, ptr %t83 %t85 = icmp slt i32 %t81, %t84 %t86 = zext i1 %t85 to i32 %t87 = icmp ne i32 %t86, 0 br i1 %t87, label %wbody15, label %wend16 wbody15: %t89 = load ptr, ptr @g_prog %t90 = load i32, ptr %t6 %t91 = getelementptr inbounds %LSlice, ptr %t89, i32 0, i32 0 %t92 = load ptr, ptr %t91 %t93 = getelementptr inbounds %LSlice, ptr %t89, i32 0, i32 1 %t94 = load i32, ptr %t93 %t95 = icmp ult i32 %t90, %t94 br i1 %t95, label %ixok17, label %ixbad18 ixbad18: store i32 10372, ptr @lp_site %t96 = call ptr @lp_win_stdio(i32 2) store i32 0, ptr @lp_site call i32 (ptr, ptr, ...) @fprintf(ptr %t96, ptr @.fmt_bounds, ptr @.str19623, i32 %t90, i32 %t94) call void @exit(i32 1) unreachable ixok17: %t97 = getelementptr inbounds ptr, ptr %t92, i32 %t90 %t98 = load ptr, ptr %t97 %t99 = getelementptr inbounds %Cmp_Node, ptr %t98, i32 0, i32 0 %t100 = load i32, ptr %t99 %t101 = icmp eq i32 %t100, 10 %t102 = zext i1 %t101 to i32 %t103 = icmp ne i32 %t102, 0 %t104 = zext i1 %t103 to i32 store i32 %t104, ptr %t88 br i1 %t103, label %sc19, label %scend20 sc19: %t105 = load ptr, ptr @g_prog %t106 = load i32, ptr %t6 %t107 = getelementptr inbounds %LSlice, ptr %t105, i32 0, i32 0 %t108 = load ptr, ptr %t107 %t109 = getelementptr inbounds %LSlice, ptr %t105, i32 0, i32 1 %t110 = load i32, ptr %t109 %t111 = icmp ult i32 %t106, %t110 br i1 %t111, label %ixok21, label %ixbad22 ixbad22: store i32 10373, ptr @lp_site %t112 = call ptr @lp_win_stdio(i32 2) store i32 0, ptr @lp_site call i32 (ptr, ptr, ...) @fprintf(ptr %t112, ptr @.fmt_bounds, ptr @.str19624, i32 %t106, i32 %t110) call void @exit(i32 1) unreachable ixok21: %t113 = getelementptr inbounds ptr, ptr %t108, i32 %t106 %t114 = load ptr, ptr %t113 %t115 = call i32 @fn_net_model_syncs(ptr %t114) %t116 = icmp ne i32 %t115, 0 %t117 = zext i1 %t116 to i32 store i32 %t117, ptr %t88 br label %scend20 scend20: %t118 = load i32, ptr %t88 %t119 = icmp ne i32 %t118, 0 br i1 %t119, label %then23, label %ifend25 then23: %t120 = load ptr, ptr @g_prog %t121 = load i32, ptr %t6 %t122 = getelementptr inbounds %LSlice, ptr %t120, i32 0, i32 0 %t123 = load ptr, ptr %t122 %t124 = getelementptr inbounds %LSlice, ptr %t120, i32 0, i32 1 %t125 = load i32, ptr %t124 %t126 = icmp ult i32 %t121, %t125 br i1 %t126, label %ixok26, label %ixbad27 ixbad27: store i32 10374, ptr @lp_site %t127 = call ptr @lp_win_stdio(i32 2) store i32 0, ptr @lp_site call i32 (ptr, ptr, ...) @fprintf(ptr %t127, ptr @.fmt_bounds, ptr @.str19625, i32 %t121, i32 %t125) call void @exit(i32 1) unreachable ixok26: %t128 = getelementptr inbounds ptr, ptr %t123, i32 %t121 %t129 = load ptr, ptr %t128 %t130 = getelementptr inbounds %Cmp_Node, ptr %t129, i32 0, i32 1 %t131 = load ptr, ptr %t130 store ptr %t131, ptr %t132 %t133 = load i32, ptr %t5 %t134 = call ptr @fn_itoa(i32 %t133) store ptr %t134, ptr %t135 call void @fn_emit(ptr @.str19626) %t136 = load ptr, ptr %t135 call void @fn_emit(ptr %t136) call void @fn_emit(ptr @.str19627) %t137 = load ptr, ptr %t132 %t138 = call i32 @fn_find_arch_id(ptr %t137) %t139 = call ptr @fn_itoa(i32 %t138) call void @fn_emit(ptr %t139) call void @fn_emit(ptr @.str19628) call void @fn_emit(ptr @.str19629) %t140 = load ptr, ptr %t135 call void @fn_emit(ptr %t140) call void @fn_emit(ptr @.str19630) %t141 = load ptr, ptr %t135 call void @fn_emit(ptr %t141) call void @fn_emit(ptr @.str19631) %t142 = load ptr, ptr %t135 call void @fn_emit(ptr %t142) call void @fn_emit(ptr @.str19632) call void @fn_emit(ptr @.str19633) %t143 = load ptr, ptr %t135 call void @fn_emit(ptr %t143) call void @fn_emit(ptr @.str19634) %t144 = load ptr, ptr %t132 call void @fn_emit(ptr %t144) call void @fn_emit(ptr @.str19635) call void @fn_emit(ptr @.str19636) %t145 = load ptr, ptr %t135 call void @fn_emit(ptr %t145) call void @fn_emit(ptr @.str19637) %t146 = load i32, ptr %t5 %t147 = add i32 %t146, 1 store i32 %t147, ptr %t5 br label %ifend25 ifend25: %t148 = load i32, ptr %t6 %t149 = add i32 %t148, 1 store i32 %t149, ptr %t6 br label %wcond14 wend16: call void @fn_emit(ptr @.str19638) call void @fn_emit(ptr @.str19639) %t150 = call ptr @fn_ecs_base(ptr @.str19640) store ptr %t150, ptr %t151 call void @fn_emit(ptr @.str19641) %t152 = load ptr, ptr %t151 call void @fn_emit(ptr %t152) call void @fn_emit(ptr @.str19642) store i32 0, ptr %t5 store i32 0, ptr %t6 br label %wcond28 wcond28: %t153 = load i32, ptr %t6 %t154 = load ptr, ptr @g_prog %t155 = getelementptr inbounds %LSlice, ptr %t154, i32 0, i32 1 %t156 = load i32, ptr %t155 %t157 = icmp slt i32 %t153, %t156 %t158 = zext i1 %t157 to i32 %t159 = icmp ne i32 %t158, 0 br i1 %t159, label %wbody29, label %wend30 wbody29: %t161 = load ptr, ptr @g_prog %t162 = load i32, ptr %t6 %t163 = getelementptr inbounds %LSlice, ptr %t161, i32 0, i32 0 %t164 = load ptr, ptr %t163 %t165 = getelementptr inbounds %LSlice, ptr %t161, i32 0, i32 1 %t166 = load i32, ptr %t165 %t167 = icmp ult i32 %t162, %t166 br i1 %t167, label %ixok31, label %ixbad32 ixbad32: store i32 10375, ptr @lp_site %t168 = call ptr @lp_win_stdio(i32 2) store i32 0, ptr @lp_site call i32 (ptr, ptr, ...) @fprintf(ptr %t168, ptr @.fmt_bounds, ptr @.str19643, i32 %t162, i32 %t166) call void @exit(i32 1) unreachable ixok31: %t169 = getelementptr inbounds ptr, ptr %t164, i32 %t162 %t170 = load ptr, ptr %t169 %t171 = getelementptr inbounds %Cmp_Node, ptr %t170, i32 0, i32 0 %t172 = load i32, ptr %t171 %t173 = icmp eq i32 %t172, 10 %t174 = zext i1 %t173 to i32 %t175 = icmp ne i32 %t174, 0 %t176 = zext i1 %t175 to i32 store i32 %t176, ptr %t160 br i1 %t175, label %sc33, label %scend34 sc33: %t177 = load ptr, ptr @g_prog %t178 = load i32, ptr %t6 %t179 = getelementptr inbounds %LSlice, ptr %t177, i32 0, i32 0 %t180 = load ptr, ptr %t179 %t181 = getelementptr inbounds %LSlice, ptr %t177, i32 0, i32 1 %t182 = load i32, ptr %t181 %t183 = icmp ult i32 %t178, %t182 br i1 %t183, label %ixok35, label %ixbad36 ixbad36: store i32 10376, ptr @lp_site %t184 = call ptr @lp_win_stdio(i32 2) store i32 0, ptr @lp_site call i32 (ptr, ptr, ...) @fprintf(ptr %t184, ptr @.fmt_bounds, ptr @.str19644, i32 %t178, i32 %t182) call void @exit(i32 1) unreachable ixok35: %t185 = getelementptr inbounds ptr, ptr %t180, i32 %t178 %t186 = load ptr, ptr %t185 %t187 = call i32 @fn_net_model_syncs(ptr %t186) %t188 = icmp ne i32 %t187, 0 %t189 = zext i1 %t188 to i32 store i32 %t189, ptr %t160 br label %scend34 scend34: %t190 = load i32, ptr %t160 %t191 = icmp ne i32 %t190, 0 br i1 %t191, label %then37, label %ifend39 then37: %t192 = load ptr, ptr @g_prog %t193 = load i32, ptr %t6 %t194 = getelementptr inbounds %LSlice, ptr %t192, i32 0, i32 0 %t195 = load ptr, ptr %t194 %t196 = getelementptr inbounds %LSlice, ptr %t192, i32 0, i32 1 %t197 = load i32, ptr %t196 %t198 = icmp ult i32 %t193, %t197 br i1 %t198, label %ixok40, label %ixbad41 ixbad41: store i32 10377, ptr @lp_site %t199 = call ptr @lp_win_stdio(i32 2) store i32 0, ptr @lp_site call i32 (ptr, ptr, ...) @fprintf(ptr %t199, ptr @.fmt_bounds, ptr @.str19645, i32 %t193, i32 %t197) call void @exit(i32 1) unreachable ixok40: %t200 = getelementptr inbounds ptr, ptr %t195, i32 %t193 %t201 = load ptr, ptr %t200 %t202 = getelementptr inbounds %Cmp_Node, ptr %t201, i32 0, i32 1 %t203 = load ptr, ptr %t202 store ptr %t203, ptr %t204 %t205 = load i32, ptr %t5 %t206 = call ptr @fn_itoa(i32 %t205) store ptr %t206, ptr %t207 call void @fn_emit(ptr @.str19646) %t208 = load ptr, ptr %t207 call void @fn_emit(ptr %t208) call void @fn_emit(ptr @.str19647) %t209 = load ptr, ptr %t204 %t210 = call i32 @fn_find_arch_id(ptr %t209) %t211 = call ptr @fn_itoa(i32 %t210) call void @fn_emit(ptr %t211) call void @fn_emit(ptr @.str19648) call void @fn_emit(ptr @.str19649) %t212 = load ptr, ptr %t207 call void @fn_emit(ptr %t212) call void @fn_emit(ptr @.str19650) %t213 = load ptr, ptr %t207 call void @fn_emit(ptr %t213) call void @fn_emit(ptr @.str19651) %t214 = load ptr, ptr %t207 call void @fn_emit(ptr %t214) call void @fn_emit(ptr @.str19652) call void @fn_emit(ptr @.str19653) %t215 = load ptr, ptr %t207 call void @fn_emit(ptr %t215) call void @fn_emit(ptr @.str19654) %t216 = load ptr, ptr @g_prog %t217 = load i32, ptr %t6 %t218 = getelementptr inbounds %LSlice, ptr %t216, i32 0, i32 0 %t219 = load ptr, ptr %t218 %t220 = getelementptr inbounds %LSlice, ptr %t216, i32 0, i32 1 %t221 = load i32, ptr %t220 %t222 = icmp ult i32 %t217, %t221 br i1 %t222, label %ixok42, label %ixbad43 ixbad43: store i32 10378, ptr @lp_site %t223 = call ptr @lp_win_stdio(i32 2) store i32 0, ptr @lp_site call i32 (ptr, ptr, ...) @fprintf(ptr %t223, ptr @.fmt_bounds, ptr @.str19655, i32 %t217, i32 %t221) call void @exit(i32 1) unreachable ixok42: %t224 = getelementptr inbounds ptr, ptr %t219, i32 %t217 %t225 = load ptr, ptr %t224 %t226 = call i32 @fn_net_model_bytes(ptr %t225) %t227 = call ptr @fn_itoa(i32 %t226) call void @fn_emit(ptr %t227) call void @fn_emit(ptr @.str19656) call void @fn_emit(ptr @.str19657) %t228 = load ptr, ptr %t207 call void @fn_emit(ptr %t228) call void @fn_emit(ptr @.str19658) %t229 = load i32, ptr %t5 %t230 = add i32 %t229, 1 store i32 %t230, ptr %t5 br label %ifend39 ifend39: %t231 = load i32, ptr %t6 %t232 = add i32 %t231, 1 store i32 %t232, ptr %t6 br label %wcond28 wend30: call void @fn_emit(ptr @.str19659) br label %ret ret: ret void } define void @fn_emit_net_owner() { entry: %t1 = alloca ptr %t3 = alloca ptr %t6 = alloca ptr %t9 = alloca ptr %t0 = call ptr @fn_itoa(i32 1024) store ptr %t0, ptr %t1 call void @fn_emit(ptr @.str19660) %t2 = call ptr @fn_ecs_base(ptr @.str19661) store ptr %t2, ptr %t3 call void @fn_emit(ptr @.str19662) %t4 = load ptr, ptr %t3 call void @fn_emit(ptr %t4) call void @fn_emit(ptr @.str19663) call void @fn_emit(ptr @.str19664) %t5 = call ptr @fn_ecs_base(ptr @.str19665) store ptr %t5, ptr %t6 call void @fn_emit(ptr @.str19666) %t7 = load ptr, ptr %t6 call void @fn_emit(ptr %t7) call void @fn_emit(ptr @.str19667) call void @fn_emit(ptr @.str19668) %t8 = call ptr @fn_ecs_base(ptr @.str19669) store ptr %t8, ptr %t9 call void @fn_emit(ptr @.str19670) %t10 = load ptr, ptr %t9 call void @fn_emit(ptr %t10) call void @fn_emit(ptr @.str19671) call void @fn_emit(ptr @.str19672) br label %ret ret: ret void } define void @fn_emit_loopback() { entry: call void @fn_emith(ptr @.str19673) call void @fn_emith(ptr @.str19674) call void @fn_emith(ptr @.str19675) call void @fn_emith(ptr @.str19676) call void @fn_emit(ptr @.str19677) call void @fn_emit(ptr @.str19678) call void @fn_emit(ptr @.str19679) call void @fn_emit(ptr @.str19680) call void @fn_emit(ptr @.str19681) call void @fn_emit(ptr @.str19682) call void @fn_emit(ptr @.str19683) call void @fn_emit(ptr @.str19684) call void @fn_emit(ptr @.str19685) call void @fn_emit(ptr @.str19686) call void @fn_emit(ptr @.str19687) call void @fn_emit(ptr @.str19688) call void @fn_emit(ptr @.str19689) call void @fn_emit(ptr @.str19690) call void @fn_emit(ptr @.str19691) call void @fn_emit(ptr @.str19692) call void @fn_emit(ptr @.str19693) call void @fn_emit(ptr @.str19694) call void @fn_emit(ptr @.str19695) call void @fn_emit(ptr @.str19696) call void @fn_emit(ptr @.str19697) call void @fn_emit(ptr @.str19698) 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 = load i32, ptr %t0 %t10 = getelementptr inbounds %LSlice, ptr %t8, i32 0, i32 0 %t11 = load ptr, ptr %t10 %t12 = getelementptr inbounds %LSlice, ptr %t8, i32 0, i32 1 %t13 = load i32, ptr %t12 %t14 = icmp ult i32 %t9, %t13 br i1 %t14, label %ixok3, label %ixbad4 ixbad4: store i32 10379, ptr @lp_site %t15 = call ptr @lp_win_stdio(i32 2) store i32 0, ptr @lp_site call i32 (ptr, ptr, ...) @fprintf(ptr %t15, ptr @.fmt_bounds, ptr @.str19699, i32 %t9, i32 %t13) call void @exit(i32 1) unreachable ixok3: %t16 = getelementptr inbounds ptr, ptr %t11, i32 %t9 %t17 = load ptr, ptr %t16 %t18 = getelementptr inbounds %Cmp_Node, ptr %t17, i32 0, i32 3 %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 %then5, label %ifend7 then5: store i32 1, ptr %retval br label %ret ifend7: %t23 = load i32, ptr %t0 %t24 = add i32 %t23, 1 store i32 %t24, ptr %t0 br label %wcond0 wend2: store i32 0, ptr %retval br label %ret ret: %t25 = load i32, ptr %retval ret i32 %t25 } 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 = load i32, ptr %t1 %t11 = getelementptr inbounds %LSlice, ptr %t9, i32 0, i32 0 %t12 = load ptr, ptr %t11 %t13 = getelementptr inbounds %LSlice, ptr %t9, i32 0, i32 1 %t14 = load i32, ptr %t13 %t15 = icmp ult i32 %t10, %t14 br i1 %t15, label %ixok3, label %ixbad4 ixbad4: store i32 10380, ptr @lp_site %t16 = call ptr @lp_win_stdio(i32 2) store i32 0, ptr @lp_site call i32 (ptr, ptr, ...) @fprintf(ptr %t16, ptr @.fmt_bounds, ptr @.str19701, i32 %t10, i32 %t14) call void @exit(i32 1) unreachable ixok3: %t17 = getelementptr inbounds ptr, ptr %t12, i32 %t10 %t18 = load ptr, ptr %t17 %t19 = getelementptr inbounds %Cmp_Node, ptr %t18, i32 0, i32 1 %t20 = load ptr, ptr %t19 %t21 = load ptr, ptr %t0 %t22 = call i32 @lp_str_eq(ptr %t20, ptr %t21) %t23 = icmp ne i32 %t22, 0 br i1 %t23, label %then5, label %ifend7 then5: %t24 = load i32, ptr %t1 store i32 %t24, ptr %retval br label %ret ifend7: %t25 = load i32, ptr %t1 %t26 = add i32 %t25, 1 store i32 %t26, ptr %t1 br label %wcond0 wend2: %t27 = sub i32 0, 1 store i32 %t27, ptr %retval br label %ret ret: %t28 = load i32, ptr %retval ret i32 %t28 } define ptr @fn_net_send_sym() { entry: %retval = alloca ptr %t1 = alloca ptr %t0 = call ptr @fn_find_extern(ptr @.str19703) 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 @.str19704, 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 @.str19705) 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 @.str19706, 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 %t25 = alloca ptr %t34 = alloca ptr %t45 = alloca i32 %t46 = alloca i32 %t48 = alloca ptr %t73 = alloca ptr %t79 = alloca ptr call void @fn_emith(ptr @.str19707) %t0 = call ptr @fn_find_extern(ptr @.str19708) %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 @.str19709) call void @fn_emit(ptr @.str19710) %t6 = load ptr, ptr %t5 call void @fn_emit(ptr %t6) call void @fn_emit(ptr @.str19711) call void @fn_emit(ptr @.str19712) call void @fn_emit(ptr @.str19713) 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 = load i32, ptr %t7 %t17 = getelementptr inbounds %LSlice, ptr %t15, i32 0, i32 0 %t18 = load ptr, ptr %t17 %t19 = getelementptr inbounds %LSlice, ptr %t15, i32 0, i32 1 %t20 = load i32, ptr %t19 %t21 = icmp ult i32 %t16, %t20 br i1 %t21, label %ixok6, label %ixbad7 ixbad7: store i32 10381, ptr @lp_site %t22 = call ptr @lp_win_stdio(i32 2) store i32 0, ptr @lp_site call i32 (ptr, ptr, ...) @fprintf(ptr %t22, ptr @.fmt_bounds, ptr @.str19714, i32 %t16, i32 %t20) call void @exit(i32 1) unreachable ixok6: %t23 = getelementptr inbounds ptr, ptr %t18, i32 %t16 %t24 = load ptr, ptr %t23 store ptr %t24, ptr %t25 %t26 = load ptr, ptr %t25 %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 %then8, label %ifend10 then8: %t32 = load i32, ptr %t7 %t33 = call ptr @fn_itoa(i32 %t32) store ptr %t33, ptr %t34 call void @fn_emit(ptr @.str19716) %t35 = load ptr, ptr %t34 call void @fn_emit(ptr %t35) call void @fn_emit(ptr @.str19717) %t36 = load ptr, ptr %t25 %t37 = getelementptr inbounds %Cmp_Node, ptr %t36, i32 0, i32 1 %t38 = load ptr, ptr %t37 %t39 = call i32 @fn_net_event_id(ptr %t38) %t40 = call ptr @fn_itoa(i32 %t39) call void @fn_emit(ptr %t40) call void @fn_emit(ptr @.str19718) call void @fn_emit(ptr @.str19719) %t41 = load ptr, ptr %t34 call void @fn_emit(ptr %t41) call void @fn_emit(ptr @.str19720) %t42 = load ptr, ptr %t34 call void @fn_emit(ptr %t42) call void @fn_emit(ptr @.str19721) %t43 = load ptr, ptr %t34 call void @fn_emit(ptr %t43) call void @fn_emit(ptr @.str19722) call void @fn_emit(ptr @.str19723) %t44 = load ptr, ptr %t34 call void @fn_emit(ptr %t44) call void @fn_emit(ptr @.str19724) store i32 4, ptr %t45 store i32 0, ptr %t46 %t47 = call ptr @fn_buf_new() store ptr %t47, ptr %t48 br label %wcond11 wcond11: %t49 = load i32, ptr %t46 %t50 = load ptr, ptr %t25 %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 1 %t54 = load i32, ptr %t53 %t55 = icmp slt i32 %t49, %t54 %t56 = zext i1 %t55 to i32 %t57 = icmp ne i32 %t56, 0 br i1 %t57, label %wbody12, label %wend13 wbody12: %t58 = load ptr, ptr %t25 %t59 = getelementptr inbounds %Cmp_Node, ptr %t58, i32 0, i32 7 %t60 = load ptr, ptr %t59 %t61 = load i32, ptr %t46 %t62 = getelementptr inbounds %LSlice, ptr %t60, i32 0, i32 0 %t63 = load ptr, ptr %t62 %t64 = getelementptr inbounds %LSlice, ptr %t60, i32 0, i32 1 %t65 = load i32, ptr %t64 %t66 = icmp ult i32 %t61, %t65 br i1 %t66, label %ixok14, label %ixbad15 ixbad15: store i32 10382, ptr @lp_site %t67 = call ptr @lp_win_stdio(i32 2) store i32 0, ptr @lp_site call i32 (ptr, ptr, ...) @fprintf(ptr %t67, ptr @.fmt_bounds, ptr @.str19725, i32 %t61, i32 %t65) call void @exit(i32 1) unreachable ixok14: %t68 = getelementptr inbounds ptr, ptr %t63, i32 %t61 %t69 = load ptr, ptr %t68 %t70 = getelementptr inbounds %Cmp_Node, ptr %t69, i32 0, i32 3 %t71 = load ptr, ptr %t70 %t72 = call ptr @fn_llty(ptr %t71) store ptr %t72, ptr %t73 %t74 = load ptr, ptr %t34 store i32 10383, ptr @lp_site %t75 = call ptr @lp_str_concat(ptr %t74, ptr @.str19726) store i32 0, ptr @lp_site %t76 = load i32, ptr %t46 %t77 = call ptr @fn_itoa(i32 %t76) store i32 10384, ptr @lp_site %t78 = call ptr @lp_str_concat(ptr %t75, ptr %t77) store i32 0, ptr @lp_site call void @lp_free(ptr %t75) store ptr %t78, ptr %t79 call void @fn_emit(ptr @.str19727) %t80 = load ptr, ptr %t79 call void @fn_emit(ptr %t80) call void @fn_emit(ptr @.str19728) %t81 = load i32, ptr %t45 %t82 = call ptr @fn_itoa(i32 %t81) call void @fn_emit(ptr %t82) call void @fn_emit(ptr @.str19729) call void @fn_emit(ptr @.str19730) %t83 = load ptr, ptr %t79 call void @fn_emit(ptr %t83) call void @fn_emit(ptr @.str19731) %t84 = load ptr, ptr %t73 call void @fn_emit(ptr %t84) call void @fn_emit(ptr @.str19732) %t85 = load ptr, ptr %t79 call void @fn_emit(ptr %t85) call void @fn_emit(ptr @.str19733) %t86 = load i32, ptr %t46 %t87 = icmp sgt i32 %t86, 0 %t88 = zext i1 %t87 to i32 %t89 = icmp ne i32 %t88, 0 br i1 %t89, label %then16, label %ifend18 then16: %t90 = load ptr, ptr %t48 call void @fn_buf_puts(ptr %t90, ptr @.str19734) br label %ifend18 ifend18: %t91 = load ptr, ptr %t48 %t92 = load ptr, ptr %t73 call void @fn_buf_puts(ptr %t91, ptr %t92) %t93 = load ptr, ptr %t48 call void @fn_buf_puts(ptr %t93, ptr @.str19735) %t94 = load ptr, ptr %t48 %t95 = load ptr, ptr %t79 call void @fn_buf_puts(ptr %t94, ptr %t95) %t96 = load ptr, ptr %t25 %t97 = getelementptr inbounds %Cmp_Node, ptr %t96, i32 0, i32 7 %t98 = load ptr, ptr %t97 %t99 = load i32, ptr %t46 %t100 = getelementptr inbounds %LSlice, ptr %t98, i32 0, i32 0 %t101 = load ptr, ptr %t100 %t102 = getelementptr inbounds %LSlice, ptr %t98, i32 0, i32 1 %t103 = load i32, ptr %t102 %t104 = icmp ult i32 %t99, %t103 br i1 %t104, label %ixok19, label %ixbad20 ixbad20: store i32 10385, ptr @lp_site %t105 = call ptr @lp_win_stdio(i32 2) store i32 0, ptr @lp_site call i32 (ptr, ptr, ...) @fprintf(ptr %t105, ptr @.fmt_bounds, ptr @.str19736, i32 %t99, i32 %t103) call void @exit(i32 1) unreachable ixok19: %t106 = getelementptr inbounds ptr, ptr %t101, i32 %t99 %t107 = load ptr, ptr %t106 %t108 = getelementptr inbounds %Cmp_Node, ptr %t107, i32 0, i32 3 %t109 = load ptr, ptr %t108 %t110 = call i32 @fn_net_field_ibytes(ptr %t109) %t111 = load i32, ptr %t45 %t112 = add i32 %t111, %t110 store i32 %t112, ptr %t45 %t113 = load i32, ptr %t46 %t114 = add i32 %t113, 1 store i32 %t114, ptr %t46 br label %wcond11 wend13: call void @fn_emit(ptr @.str19737) %t115 = load ptr, ptr %t25 %t116 = getelementptr inbounds %Cmp_Node, ptr %t115, i32 0, i32 1 %t117 = load ptr, ptr %t116 call void @fn_emit(ptr %t117) call void @fn_emit(ptr @.str19738) %t118 = load ptr, ptr %t48 %t119 = call ptr @fn_buf_str(ptr %t118) call void @fn_emit(ptr %t119) call void @fn_emit(ptr @.str19739) call void @fn_emit(ptr @.str19740) call void @fn_emit(ptr @.str19741) %t120 = load ptr, ptr %t34 call void @fn_emit(ptr %t120) call void @fn_emit(ptr @.str19742) br label %ifend10 ifend10: %t121 = load i32, ptr %t7 %t122 = add i32 %t121, 1 store i32 %t122, ptr %t7 br label %wcond3 wend5: call void @fn_emit(ptr @.str19743) call void @fn_emit(ptr @.str19744) 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 = load i32, ptr %t2 %t13 = getelementptr inbounds %LSlice, ptr %t11, i32 0, i32 0 %t14 = load ptr, ptr %t13 %t15 = getelementptr inbounds %LSlice, ptr %t11, i32 0, i32 1 %t16 = load i32, ptr %t15 %t17 = icmp ult i32 %t12, %t16 br i1 %t17, label %ixok6, label %ixbad7 ixbad7: store i32 10386, ptr @lp_site %t18 = call ptr @lp_win_stdio(i32 2) store i32 0, ptr @lp_site call i32 (ptr, ptr, ...) @fprintf(ptr %t18, ptr @.fmt_bounds, ptr @.str19745, i32 %t12, i32 %t16) call void @exit(i32 1) unreachable ixok6: %t19 = getelementptr inbounds ptr, ptr %t14, i32 %t12 %t20 = load ptr, ptr %t19 %t21 = getelementptr inbounds %Cmp_Node, ptr %t20, i32 0, i32 0 %t22 = load i32, ptr %t21 %t23 = icmp eq i32 %t22, 10 %t24 = zext i1 %t23 to i32 %t25 = icmp ne i32 %t24, 0 %t26 = zext i1 %t25 to i32 store i32 %t26, ptr %t10 br i1 %t25, label %sc8, label %scend9 sc8: %t27 = load ptr, ptr @g_prog %t28 = load i32, ptr %t2 %t29 = getelementptr inbounds %LSlice, ptr %t27, i32 0, i32 0 %t30 = load ptr, ptr %t29 %t31 = getelementptr inbounds %LSlice, ptr %t27, i32 0, i32 1 %t32 = load i32, ptr %t31 %t33 = icmp ult i32 %t28, %t32 br i1 %t33, label %ixok10, label %ixbad11 ixbad11: store i32 10387, ptr @lp_site %t34 = call ptr @lp_win_stdio(i32 2) store i32 0, ptr @lp_site call i32 (ptr, ptr, ...) @fprintf(ptr %t34, ptr @.fmt_bounds, ptr @.str19747, i32 %t28, i32 %t32) call void @exit(i32 1) unreachable ixok10: %t35 = getelementptr inbounds ptr, ptr %t30, i32 %t28 %t36 = load ptr, ptr %t35 %t37 = call i32 @fn_net_model_syncs(ptr %t36) %t38 = icmp ne i32 %t37, 0 %t39 = zext i1 %t38 to i32 store i32 %t39, ptr %t10 br label %scend9 scend9: %t40 = load i32, ptr %t10 %t41 = icmp ne i32 %t40, 0 br i1 %t41, label %then12, label %ifend14 then12: %t42 = load ptr, ptr @g_prog %t43 = load i32, ptr %t2 %t44 = getelementptr inbounds %LSlice, ptr %t42, i32 0, i32 0 %t45 = load ptr, ptr %t44 %t46 = getelementptr inbounds %LSlice, ptr %t42, i32 0, i32 1 %t47 = load i32, ptr %t46 %t48 = icmp ult i32 %t43, %t47 br i1 %t48, label %ixok15, label %ixbad16 ixbad16: store i32 10388, ptr @lp_site %t49 = call ptr @lp_win_stdio(i32 2) store i32 0, ptr @lp_site call i32 (ptr, ptr, ...) @fprintf(ptr %t49, ptr @.fmt_bounds, ptr @.str19748, i32 %t43, i32 %t47) call void @exit(i32 1) unreachable ixok15: %t50 = getelementptr inbounds ptr, ptr %t45, i32 %t43 %t51 = load ptr, ptr %t50 call void @fn_emit_net_serialize(ptr %t51) %t52 = load ptr, ptr @g_prog %t53 = load i32, ptr %t2 %t54 = getelementptr inbounds %LSlice, ptr %t52, i32 0, i32 0 %t55 = load ptr, ptr %t54 %t56 = getelementptr inbounds %LSlice, ptr %t52, i32 0, i32 1 %t57 = load i32, ptr %t56 %t58 = icmp ult i32 %t53, %t57 br i1 %t58, label %ixok17, label %ixbad18 ixbad18: store i32 10389, ptr @lp_site %t59 = call ptr @lp_win_stdio(i32 2) store i32 0, ptr @lp_site call i32 (ptr, ptr, ...) @fprintf(ptr %t59, ptr @.fmt_bounds, ptr @.str19749, i32 %t53, i32 %t57) call void @exit(i32 1) unreachable ixok17: %t60 = getelementptr inbounds ptr, ptr %t55, i32 %t53 %t61 = load ptr, ptr %t60 call void @fn_emit_net_apply(ptr %t61) br label %ifend14 ifend14: %t62 = load i32, ptr %t2 %t63 = add i32 %t62, 1 store i32 %t63, ptr %t2 br label %wcond3 wend5: call void @fn_emit_net_dispatch() br label %ifend2 ifend2: %t64 = call i32 @fn_net_has_owned() %t65 = icmp ne i32 %t64, 0 br i1 %t65, label %then19, label %ifend21 then19: call void @fn_emit_net_owner() br label %ifend21 ifend21: %t66 = call i32 @fn_net_has_remote() %t67 = icmp ne i32 %t66, 0 br i1 %t67, label %then22, label %ifend24 then22: call void @fn_emith(ptr @.str19750) call void @fn_emit_net_pump() br label %ifend24 ifend24: 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 @.str19751) %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 @.str19752) %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 @.str19753) %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 @.str19754) %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 @.str19755) %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 @.str19756) %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 @.str19757) %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 = load i32, ptr %t2 %t20 = getelementptr inbounds %LSlice, ptr %t18, i32 0, i32 0 %t21 = load ptr, ptr %t20 %t22 = getelementptr inbounds %LSlice, ptr %t18, i32 0, i32 1 %t23 = load i32, ptr %t22 %t24 = icmp ult i32 %t19, %t23 br i1 %t24, label %ixok3, label %ixbad4 ixbad4: store i32 10390, ptr @lp_site %t25 = call ptr @lp_win_stdio(i32 2) store i32 0, ptr @lp_site call i32 (ptr, ptr, ...) @fprintf(ptr %t25, ptr @.fmt_bounds, ptr @.str19758, i32 %t19, i32 %t23) call void @exit(i32 1) unreachable ixok3: %t26 = getelementptr inbounds ptr, ptr %t21, i32 %t19 %t27 = load ptr, ptr %t26 %t28 = getelementptr inbounds %Cmp_Node, ptr %t27, i32 0, i32 1 %t29 = load ptr, ptr %t28 %t30 = load ptr, ptr %t1 %t31 = call i32 @lp_str_eq(ptr %t29, ptr %t30) %t32 = icmp ne i32 %t31, 0 br i1 %t32, label %then5, label %ifend7 then5: %t33 = load ptr, ptr %t0 %t34 = getelementptr inbounds %Cmp_Node, ptr %t33, i32 0, i32 5 %t35 = load ptr, ptr %t34 %t36 = getelementptr inbounds %Cmp_Node, ptr %t35, i32 0, i32 7 %t37 = load ptr, ptr %t36 %t38 = load i32, ptr %t2 %t39 = getelementptr inbounds %LSlice, ptr %t37, i32 0, i32 0 %t40 = load ptr, ptr %t39 %t41 = getelementptr inbounds %LSlice, ptr %t37, i32 0, i32 1 %t42 = load i32, ptr %t41 %t43 = icmp ult i32 %t38, %t42 br i1 %t43, label %ixok8, label %ixbad9 ixbad9: store i32 10391, ptr @lp_site %t44 = call ptr @lp_win_stdio(i32 2) store i32 0, ptr @lp_site call i32 (ptr, ptr, ...) @fprintf(ptr %t44, ptr @.fmt_bounds, ptr @.str19760, i32 %t38, i32 %t42) call void @exit(i32 1) unreachable ixok8: %t45 = getelementptr inbounds ptr, ptr %t40, i32 %t38 %t46 = load ptr, ptr %t45 %t47 = getelementptr inbounds %Cmp_Node, ptr %t46, i32 0, i32 4 %t48 = load ptr, ptr %t47 store ptr %t48, ptr %retval br label %ret ifend7: %t49 = load i32, ptr %t2 %t50 = add i32 %t49, 1 store i32 %t50, ptr %t2 br label %wcond0 wend2: store ptr null, ptr %retval br label %ret ret: %t51 = load ptr, ptr %retval ret ptr %t51 } define ptr @fn_ui_props_with_inherited(i32 %arg_i) { entry: %retval = alloca ptr %t0 = alloca i32 %t11 = alloca ptr %t18 = alloca ptr %t19 = alloca i32 %t72 = alloca ptr %t149 = alloca i32 %t182 = alloca i32 %t208 = alloca ptr %t214 = alloca ptr store i32 %arg_i, ptr %t0 %t1 = load ptr, ptr @g_uiw %t2 = load i32, ptr %t0 %t3 = getelementptr inbounds %LSlice, ptr %t1, i32 0, i32 0 %t4 = load ptr, ptr %t3 %t5 = getelementptr inbounds %LSlice, ptr %t1, i32 0, i32 1 %t6 = load i32, ptr %t5 %t7 = icmp ult i32 %t2, %t6 br i1 %t7, label %ixok0, label %ixbad1 ixbad1: store i32 10392, ptr @lp_site %t8 = call ptr @lp_win_stdio(i32 2) store i32 0, ptr @lp_site call i32 (ptr, ptr, ...) @fprintf(ptr %t8, ptr @.fmt_bounds, ptr @.str19761, i32 %t2, i32 %t6) call void @exit(i32 1) unreachable ixok0: %t9 = getelementptr inbounds ptr, ptr %t4, i32 %t2 %t10 = load ptr, ptr %t9 store ptr %t10, ptr %t11 %t12 = getelementptr %LSlice, ptr null, i32 1 %t13 = ptrtoint ptr %t12 to i64 store i32 10393, ptr @lp_site %t14 = call ptr @lp_malloc(i64 %t13) store i32 0, ptr @lp_site %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 %t18 store i32 0, ptr %t19 br label %wcond2 wcond2: %t20 = load i32, ptr %t19 %t21 = load ptr, ptr %t11 %t22 = getelementptr inbounds %Cmp_Node, ptr %t21, i32 0, i32 5 %t23 = load ptr, ptr %t22 %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 %t20, %t27 %t29 = zext i1 %t28 to i32 %t30 = icmp ne i32 %t29, 0 br i1 %t30, label %wbody3, label %wend4 wbody3: %t31 = load ptr, ptr %t18 %t32 = load ptr, ptr %t11 %t33 = getelementptr inbounds %Cmp_Node, ptr %t32, i32 0, i32 5 %t34 = load ptr, ptr %t33 %t35 = getelementptr inbounds %Cmp_Node, ptr %t34, i32 0, i32 7 %t36 = load ptr, ptr %t35 %t37 = load i32, ptr %t19 %t38 = getelementptr inbounds %LSlice, ptr %t36, i32 0, i32 0 %t39 = load ptr, ptr %t38 %t40 = getelementptr inbounds %LSlice, ptr %t36, i32 0, i32 1 %t41 = load i32, ptr %t40 %t42 = icmp ult i32 %t37, %t41 br i1 %t42, label %ixok5, label %ixbad6 ixbad6: store i32 10394, ptr @lp_site %t43 = call ptr @lp_win_stdio(i32 2) store i32 0, ptr @lp_site call i32 (ptr, ptr, ...) @fprintf(ptr %t43, ptr @.fmt_bounds, ptr @.str19763, i32 %t37, i32 %t41) call void @exit(i32 1) unreachable ixok5: %t44 = getelementptr inbounds ptr, ptr %t39, i32 %t37 %t45 = load ptr, ptr %t44 %t46 = getelementptr inbounds %LSlice, ptr %t31, i32 0, i32 1 %t47 = getelementptr inbounds %LSlice, ptr %t31, i32 0, i32 2 %t48 = getelementptr inbounds %LSlice, ptr %t31, i32 0, i32 0 %t49 = load i32, ptr %t46 %t50 = load i32, ptr %t47 %t51 = icmp sge i32 %t49, %t50 br i1 %t51, label %grow7, label %put8 grow7: %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 store i32 10395, ptr @lp_site %t60 = call ptr @lp_realloc(ptr %t59, i64 %t58) store i32 0, ptr @lp_site store ptr %t60, ptr %t48 store i32 %t54, ptr %t47 br label %put8 put8: %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 i32, ptr %t19 %t65 = add i32 %t64, 1 store i32 %t65, ptr %t19 br label %wcond2 wend4: %t66 = getelementptr %LSlice, ptr null, i32 1 %t67 = ptrtoint ptr %t66 to i64 store i32 10396, ptr @lp_site %t68 = call ptr @lp_malloc(i64 %t67) store i32 0, ptr @lp_site %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 %t72 %t73 = load ptr, ptr %t72 %t74 = getelementptr inbounds %LSlice, ptr %t73, i32 0, i32 1 %t75 = getelementptr inbounds %LSlice, ptr %t73, i32 0, i32 2 %t76 = getelementptr inbounds %LSlice, ptr %t73, i32 0, i32 0 %t77 = load i32, ptr %t74 %t78 = load i32, ptr %t75 %t79 = icmp sge i32 %t77, %t78 br i1 %t79, label %grow9, label %put10 grow9: %t80 = mul i32 %t78, 2 %t81 = icmp eq i32 %t78, 0 %t82 = select i1 %t81, i32 8, i32 %t80 %t83 = getelementptr ptr, ptr null, i32 1 %t84 = ptrtoint ptr %t83 to i64 %t85 = zext i32 %t82 to i64 %t86 = mul i64 %t85, %t84 %t87 = load ptr, ptr %t76 store i32 10397, ptr @lp_site %t88 = call ptr @lp_realloc(ptr %t87, i64 %t86) store i32 0, ptr @lp_site store ptr %t88, ptr %t76 store i32 %t82, ptr %t75 br label %put10 put10: %t89 = load ptr, ptr %t76 %t90 = getelementptr inbounds ptr, ptr %t89, i32 %t77 store ptr @.str19764, ptr %t90 %t91 = add i32 %t77, 1 store i32 %t91, ptr %t74 %t92 = load ptr, ptr %t72 %t93 = getelementptr inbounds %LSlice, ptr %t92, i32 0, i32 1 %t94 = getelementptr inbounds %LSlice, ptr %t92, i32 0, i32 2 %t95 = getelementptr inbounds %LSlice, ptr %t92, i32 0, i32 0 %t96 = load i32, ptr %t93 %t97 = load i32, ptr %t94 %t98 = icmp sge i32 %t96, %t97 br i1 %t98, label %grow11, label %put12 grow11: %t99 = mul i32 %t97, 2 %t100 = icmp eq i32 %t97, 0 %t101 = select i1 %t100, i32 8, i32 %t99 %t102 = getelementptr ptr, ptr null, i32 1 %t103 = ptrtoint ptr %t102 to i64 %t104 = zext i32 %t101 to i64 %t105 = mul i64 %t104, %t103 %t106 = load ptr, ptr %t95 store i32 10398, ptr @lp_site %t107 = call ptr @lp_realloc(ptr %t106, i64 %t105) store i32 0, ptr @lp_site store ptr %t107, ptr %t95 store i32 %t101, ptr %t94 br label %put12 put12: %t108 = load ptr, ptr %t95 %t109 = getelementptr inbounds ptr, ptr %t108, i32 %t96 store ptr @.str19765, ptr %t109 %t110 = add i32 %t96, 1 store i32 %t110, ptr %t93 %t111 = load ptr, ptr %t72 %t112 = getelementptr inbounds %LSlice, ptr %t111, i32 0, i32 1 %t113 = getelementptr inbounds %LSlice, ptr %t111, i32 0, i32 2 %t114 = getelementptr inbounds %LSlice, ptr %t111, i32 0, i32 0 %t115 = load i32, ptr %t112 %t116 = load i32, ptr %t113 %t117 = icmp sge i32 %t115, %t116 br i1 %t117, label %grow13, label %put14 grow13: %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 store i32 10399, ptr @lp_site %t126 = call ptr @lp_realloc(ptr %t125, i64 %t124) store i32 0, ptr @lp_site store ptr %t126, ptr %t114 store i32 %t120, ptr %t113 br label %put14 put14: %t127 = load ptr, ptr %t114 %t128 = getelementptr inbounds ptr, ptr %t127, i32 %t115 store ptr @.str19766, ptr %t128 %t129 = add i32 %t115, 1 store i32 %t129, ptr %t112 %t130 = load ptr, ptr %t72 %t131 = getelementptr inbounds %LSlice, ptr %t130, i32 0, i32 1 %t132 = getelementptr inbounds %LSlice, ptr %t130, i32 0, i32 2 %t133 = getelementptr inbounds %LSlice, ptr %t130, i32 0, i32 0 %t134 = load i32, ptr %t131 %t135 = load i32, ptr %t132 %t136 = icmp sge i32 %t134, %t135 br i1 %t136, label %grow15, label %put16 grow15: %t137 = mul i32 %t135, 2 %t138 = icmp eq i32 %t135, 0 %t139 = select i1 %t138, i32 8, i32 %t137 %t140 = getelementptr ptr, ptr null, i32 1 %t141 = ptrtoint ptr %t140 to i64 %t142 = zext i32 %t139 to i64 %t143 = mul i64 %t142, %t141 %t144 = load ptr, ptr %t133 store i32 10400, ptr @lp_site %t145 = call ptr @lp_realloc(ptr %t144, i64 %t143) store i32 0, ptr @lp_site store ptr %t145, ptr %t133 store i32 %t139, ptr %t132 br label %put16 put16: %t146 = load ptr, ptr %t133 %t147 = getelementptr inbounds ptr, ptr %t146, i32 %t134 store ptr @.str19767, ptr %t147 %t148 = add i32 %t134, 1 store i32 %t148, ptr %t131 store i32 0, ptr %t149 br label %wcond17 wcond17: %t150 = load i32, ptr %t149 %t151 = load ptr, ptr %t72 %t152 = getelementptr inbounds %LSlice, ptr %t151, i32 0, i32 1 %t153 = load i32, ptr %t152 %t154 = icmp slt i32 %t150, %t153 %t155 = zext i1 %t154 to i32 %t156 = icmp ne i32 %t155, 0 br i1 %t156, label %wbody18, label %wend19 wbody18: %t157 = load ptr, ptr %t11 %t158 = load ptr, ptr %t72 %t159 = load i32, ptr %t149 %t160 = getelementptr inbounds %LSlice, ptr %t158, i32 0, i32 0 %t161 = load ptr, ptr %t160 %t162 = getelementptr inbounds %LSlice, ptr %t158, i32 0, i32 1 %t163 = load i32, ptr %t162 %t164 = icmp ult i32 %t159, %t163 br i1 %t164, label %ixok20, label %ixbad21 ixbad21: store i32 10401, ptr @lp_site %t165 = call ptr @lp_win_stdio(i32 2) store i32 0, ptr @lp_site call i32 (ptr, ptr, ...) @fprintf(ptr %t165, ptr @.fmt_bounds, ptr @.str19768, i32 %t159, i32 %t163) call void @exit(i32 1) unreachable ixok20: %t166 = getelementptr inbounds ptr, ptr %t161, i32 %t159 %t167 = load ptr, ptr %t166 %t168 = call ptr @fn_ui_prop(ptr %t157, ptr %t167) %t169 = icmp eq ptr %t168, null %t170 = zext i1 %t169 to i32 %t171 = icmp ne i32 %t170, 0 br i1 %t171, label %then22, label %ifend24 then22: %t172 = load ptr, ptr @g_uiw_parent %t173 = load i32, ptr %t0 %t174 = getelementptr inbounds %LSlice, ptr %t172, i32 0, i32 0 %t175 = load ptr, ptr %t174 %t176 = getelementptr inbounds %LSlice, ptr %t172, i32 0, i32 1 %t177 = load i32, ptr %t176 %t178 = icmp ult i32 %t173, %t177 br i1 %t178, label %ixok25, label %ixbad26 ixbad26: store i32 10402, ptr @lp_site %t179 = call ptr @lp_win_stdio(i32 2) store i32 0, ptr @lp_site call i32 (ptr, ptr, ...) @fprintf(ptr %t179, ptr @.fmt_bounds, ptr @.str19769, i32 %t173, i32 %t177) call void @exit(i32 1) unreachable ixok25: %t180 = getelementptr inbounds i32, ptr %t175, i32 %t173 %t181 = load i32, ptr %t180 store i32 %t181, ptr %t182 br label %wcond27 wcond27: %t183 = load i32, ptr %t182 %t184 = icmp sge i32 %t183, 0 %t185 = zext i1 %t184 to i32 %t186 = icmp ne i32 %t185, 0 br i1 %t186, label %wbody28, label %wend29 wbody28: %t187 = load ptr, ptr @g_uiw %t188 = load i32, ptr %t182 %t189 = getelementptr inbounds %LSlice, ptr %t187, i32 0, i32 0 %t190 = load ptr, ptr %t189 %t191 = getelementptr inbounds %LSlice, ptr %t187, i32 0, i32 1 %t192 = load i32, ptr %t191 %t193 = icmp ult i32 %t188, %t192 br i1 %t193, label %ixok30, label %ixbad31 ixbad31: store i32 10403, ptr @lp_site %t194 = call ptr @lp_win_stdio(i32 2) store i32 0, ptr @lp_site call i32 (ptr, ptr, ...) @fprintf(ptr %t194, ptr @.fmt_bounds, ptr @.str19770, i32 %t188, i32 %t192) call void @exit(i32 1) unreachable ixok30: %t195 = getelementptr inbounds ptr, ptr %t190, i32 %t188 %t196 = load ptr, ptr %t195 %t197 = load ptr, ptr %t72 %t198 = load i32, ptr %t149 %t199 = getelementptr inbounds %LSlice, ptr %t197, i32 0, i32 0 %t200 = load ptr, ptr %t199 %t201 = getelementptr inbounds %LSlice, ptr %t197, i32 0, i32 1 %t202 = load i32, ptr %t201 %t203 = icmp ult i32 %t198, %t202 br i1 %t203, label %ixok32, label %ixbad33 ixbad33: store i32 10404, ptr @lp_site %t204 = call ptr @lp_win_stdio(i32 2) store i32 0, ptr @lp_site call i32 (ptr, ptr, ...) @fprintf(ptr %t204, ptr @.fmt_bounds, ptr @.str19771, i32 %t198, i32 %t202) call void @exit(i32 1) unreachable ixok32: %t205 = getelementptr inbounds ptr, ptr %t200, i32 %t198 %t206 = load ptr, ptr %t205 %t207 = call ptr @fn_ui_prop(ptr %t196, ptr %t206) store ptr %t207, ptr %t208 %t209 = load ptr, ptr %t208 %t210 = icmp ne ptr %t209, null %t211 = zext i1 %t210 to i32 %t212 = icmp ne i32 %t211, 0 br i1 %t212, label %then34, label %else35 then34: %t213 = call ptr @fn_node(i32 42) store ptr %t213, ptr %t214 %t215 = load ptr, ptr %t214 %t216 = getelementptr inbounds %Cmp_Node, ptr %t215, i32 0, i32 1 %t217 = load ptr, ptr %t72 %t218 = load i32, ptr %t149 %t219 = getelementptr inbounds %LSlice, ptr %t217, i32 0, i32 0 %t220 = load ptr, ptr %t219 %t221 = getelementptr inbounds %LSlice, ptr %t217, i32 0, i32 1 %t222 = load i32, ptr %t221 %t223 = icmp ult i32 %t218, %t222 br i1 %t223, label %ixok37, label %ixbad38 ixbad38: store i32 10405, ptr @lp_site %t224 = call ptr @lp_win_stdio(i32 2) store i32 0, ptr @lp_site call i32 (ptr, ptr, ...) @fprintf(ptr %t224, ptr @.fmt_bounds, ptr @.str19772, i32 %t218, i32 %t222) call void @exit(i32 1) unreachable ixok37: %t225 = getelementptr inbounds ptr, ptr %t220, i32 %t218 %t226 = load ptr, ptr %t225 store ptr %t226, ptr %t216 %t227 = load ptr, ptr %t214 %t228 = getelementptr inbounds %Cmp_Node, ptr %t227, i32 0, i32 4 %t229 = load ptr, ptr %t208 store ptr %t229, ptr %t228 %t230 = load ptr, ptr %t18 %t231 = load ptr, ptr %t214 %t232 = getelementptr inbounds %LSlice, ptr %t230, i32 0, i32 1 %t233 = getelementptr inbounds %LSlice, ptr %t230, i32 0, i32 2 %t234 = getelementptr inbounds %LSlice, ptr %t230, i32 0, i32 0 %t235 = load i32, ptr %t232 %t236 = load i32, ptr %t233 %t237 = icmp sge i32 %t235, %t236 br i1 %t237, label %grow39, label %put40 grow39: %t238 = mul i32 %t236, 2 %t239 = icmp eq i32 %t236, 0 %t240 = select i1 %t239, i32 8, i32 %t238 %t241 = getelementptr ptr, ptr null, i32 1 %t242 = ptrtoint ptr %t241 to i64 %t243 = zext i32 %t240 to i64 %t244 = mul i64 %t243, %t242 %t245 = load ptr, ptr %t234 store i32 10406, ptr @lp_site %t246 = call ptr @lp_realloc(ptr %t245, i64 %t244) store i32 0, ptr @lp_site store ptr %t246, ptr %t234 store i32 %t240, ptr %t233 br label %put40 put40: %t247 = load ptr, ptr %t234 %t248 = getelementptr inbounds ptr, ptr %t247, i32 %t235 store ptr %t231, ptr %t248 %t249 = add i32 %t235, 1 store i32 %t249, ptr %t232 %t250 = sub i32 0, 1 store i32 %t250, ptr %t182 br label %ifend36 else35: %t251 = load ptr, ptr @g_uiw_parent %t252 = load i32, ptr %t182 %t253 = getelementptr inbounds %LSlice, ptr %t251, i32 0, i32 0 %t254 = load ptr, ptr %t253 %t255 = getelementptr inbounds %LSlice, ptr %t251, i32 0, i32 1 %t256 = load i32, ptr %t255 %t257 = icmp ult i32 %t252, %t256 br i1 %t257, label %ixok41, label %ixbad42 ixbad42: store i32 10407, ptr @lp_site %t258 = call ptr @lp_win_stdio(i32 2) store i32 0, ptr @lp_site call i32 (ptr, ptr, ...) @fprintf(ptr %t258, ptr @.fmt_bounds, ptr @.str19773, i32 %t252, i32 %t256) call void @exit(i32 1) unreachable ixok41: %t259 = getelementptr inbounds i32, ptr %t254, i32 %t252 %t260 = load i32, ptr %t259 store i32 %t260, ptr %t182 br label %ifend36 ifend36: br label %wcond27 wend29: br label %ifend24 ifend24: %t261 = load i32, ptr %t149 %t262 = add i32 %t261, 1 store i32 %t262, ptr %t149 br label %wcond17 wend19: %t263 = load ptr, ptr %t18 store ptr %t263, ptr %retval br label %ret ret: %t264 = load ptr, ptr %retval ret ptr %t264 } 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 store i32 10408, ptr @lp_site %t22 = call ptr @lp_realloc(ptr %t21, i64 %t20) store i32 0, ptr @lp_site 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 store i32 10409, ptr @lp_site %t42 = call ptr @lp_realloc(ptr %t41, i64 %t40) store i32 0, ptr @lp_site 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 = load i32, ptr %t46 %t60 = getelementptr inbounds %LSlice, ptr %t58, i32 0, i32 0 %t61 = load ptr, ptr %t60 %t62 = getelementptr inbounds %LSlice, ptr %t58, i32 0, i32 1 %t63 = load i32, ptr %t62 %t64 = icmp ult i32 %t59, %t63 br i1 %t64, label %ixok7, label %ixbad8 ixbad8: store i32 10410, ptr @lp_site %t65 = call ptr @lp_win_stdio(i32 2) store i32 0, ptr @lp_site call i32 (ptr, ptr, ...) @fprintf(ptr %t65, ptr @.fmt_bounds, ptr @.str19775, i32 %t59, i32 %t63) call void @exit(i32 1) unreachable ixok7: %t66 = getelementptr inbounds ptr, ptr %t61, i32 %t59 %t67 = load ptr, ptr %t66 %t68 = load i32, ptr %t5 call void @fn_ui_flatten(ptr %t67, i32 %t68) %t69 = load i32, ptr %t46 %t70 = add i32 %t69, 1 store i32 %t70, 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 store i32 10411, ptr @lp_site %t2 = call ptr @lp_malloc(i64 %t1) store i32 0, ptr @lp_site %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 store i32 10412, ptr @lp_site %t8 = call ptr @lp_malloc(i64 %t7) store i32 0, ptr @lp_site %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 store i32 10413, ptr @lp_site %t14 = call ptr @lp_malloc(i64 %t13) store i32 0, ptr @lp_site %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 = load i32, ptr %t18 %t29 = getelementptr inbounds %LSlice, ptr %t27, i32 0, i32 0 %t30 = load ptr, ptr %t29 %t31 = getelementptr inbounds %LSlice, ptr %t27, i32 0, i32 1 %t32 = load i32, ptr %t31 %t33 = icmp ult i32 %t28, %t32 br i1 %t33, label %ixok3, label %ixbad4 ixbad4: store i32 10414, ptr @lp_site %t34 = call ptr @lp_win_stdio(i32 2) store i32 0, ptr @lp_site call i32 (ptr, ptr, ...) @fprintf(ptr %t34, ptr @.fmt_bounds, ptr @.str19777, i32 %t28, i32 %t32) call void @exit(i32 1) unreachable ixok3: %t35 = getelementptr inbounds ptr, ptr %t30, i32 %t28 %t36 = load ptr, ptr %t35 %t37 = getelementptr inbounds %Cmp_Node, ptr %t36, i32 0, i32 0 %t38 = load i32, ptr %t37 %t39 = icmp eq i32 %t38, 12 %t40 = zext i1 %t39 to i32 %t41 = icmp ne i32 %t40, 0 %t42 = zext i1 %t41 to i32 store i32 %t42, ptr %t26 br i1 %t41, label %sc5, label %scend6 sc5: %t43 = load ptr, ptr @g_prog %t44 = load i32, ptr %t18 %t45 = getelementptr inbounds %LSlice, ptr %t43, i32 0, i32 0 %t46 = load ptr, ptr %t45 %t47 = getelementptr inbounds %LSlice, ptr %t43, i32 0, i32 1 %t48 = load i32, ptr %t47 %t49 = icmp ult i32 %t44, %t48 br i1 %t49, label %ixok7, label %ixbad8 ixbad8: store i32 10415, ptr @lp_site %t50 = call ptr @lp_win_stdio(i32 2) store i32 0, ptr @lp_site call i32 (ptr, ptr, ...) @fprintf(ptr %t50, ptr @.fmt_bounds, ptr @.str19778, i32 %t44, i32 %t48) call void @exit(i32 1) unreachable ixok7: %t51 = getelementptr inbounds ptr, ptr %t46, i32 %t44 %t52 = load ptr, ptr %t51 %t53 = getelementptr inbounds %Cmp_Node, ptr %t52, i32 0, i32 2 %t54 = load i32, ptr %t53 %t55 = icmp eq i32 %t54, 1 %t56 = zext i1 %t55 to i32 %t57 = icmp ne i32 %t56, 0 %t58 = zext i1 %t57 to i32 store i32 %t58, ptr %t26 br label %scend6 scend6: %t59 = load i32, ptr %t26 %t60 = icmp ne i32 %t59, 0 br i1 %t60, label %then9, label %ifend11 then9: %t61 = load ptr, ptr @g_ui_roots %t62 = load ptr, ptr @g_uiw %t63 = getelementptr inbounds %LSlice, ptr %t62, i32 0, i32 1 %t64 = load i32, ptr %t63 %t65 = getelementptr inbounds %LSlice, ptr %t61, i32 0, i32 1 %t66 = getelementptr inbounds %LSlice, ptr %t61, i32 0, i32 2 %t67 = getelementptr inbounds %LSlice, ptr %t61, i32 0, i32 0 %t68 = load i32, ptr %t65 %t69 = load i32, ptr %t66 %t70 = icmp sge i32 %t68, %t69 br i1 %t70, label %grow12, label %put13 grow12: %t71 = mul i32 %t69, 2 %t72 = icmp eq i32 %t69, 0 %t73 = select i1 %t72, i32 8, i32 %t71 %t74 = getelementptr i32, ptr null, i32 1 %t75 = ptrtoint ptr %t74 to i64 %t76 = zext i32 %t73 to i64 %t77 = mul i64 %t76, %t75 %t78 = load ptr, ptr %t67 store i32 10416, ptr @lp_site %t79 = call ptr @lp_realloc(ptr %t78, i64 %t77) store i32 0, ptr @lp_site store ptr %t79, ptr %t67 store i32 %t73, ptr %t66 br label %put13 put13: %t80 = load ptr, ptr %t67 %t81 = getelementptr inbounds i32, ptr %t80, i32 %t68 store i32 %t64, ptr %t81 %t82 = add i32 %t68, 1 store i32 %t82, ptr %t65 %t83 = load ptr, ptr @g_prog %t84 = load i32, ptr %t18 %t85 = getelementptr inbounds %LSlice, ptr %t83, i32 0, i32 0 %t86 = load ptr, ptr %t85 %t87 = getelementptr inbounds %LSlice, ptr %t83, i32 0, i32 1 %t88 = load i32, ptr %t87 %t89 = icmp ult i32 %t84, %t88 br i1 %t89, label %ixok14, label %ixbad15 ixbad15: store i32 10417, ptr @lp_site %t90 = call ptr @lp_win_stdio(i32 2) store i32 0, ptr @lp_site call i32 (ptr, ptr, ...) @fprintf(ptr %t90, ptr @.fmt_bounds, ptr @.str19779, i32 %t84, i32 %t88) call void @exit(i32 1) unreachable ixok14: %t91 = getelementptr inbounds ptr, ptr %t86, i32 %t84 %t92 = load ptr, ptr %t91 %t93 = getelementptr inbounds %Cmp_Node, ptr %t92, i32 0, i32 4 %t94 = load ptr, ptr %t93 %t95 = sub i32 0, 1 call void @fn_ui_flatten(ptr %t94, i32 %t95) br label %ifend11 ifend11: %t96 = load i32, ptr %t18 %t97 = add i32 %t96, 1 store i32 %t97, 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 = load i32, ptr %t0 %t11 = getelementptr inbounds %LSlice, ptr %t9, i32 0, i32 0 %t12 = load ptr, ptr %t11 %t13 = getelementptr inbounds %LSlice, ptr %t9, i32 0, i32 1 %t14 = load i32, ptr %t13 %t15 = icmp ult i32 %t10, %t14 br i1 %t15, label %ixok3, label %ixbad4 ixbad4: store i32 10418, ptr @lp_site %t16 = call ptr @lp_win_stdio(i32 2) store i32 0, ptr @lp_site call i32 (ptr, ptr, ...) @fprintf(ptr %t16, ptr @.fmt_bounds, ptr @.str19780, i32 %t10, i32 %t14) call void @exit(i32 1) unreachable ixok3: %t17 = getelementptr inbounds ptr, ptr %t12, i32 %t10 %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, 12 %t22 = zext i1 %t21 to i32 %t23 = icmp ne i32 %t22, 0 %t24 = zext i1 %t23 to i32 store i32 %t24, ptr %t8 br i1 %t23, label %sc5, label %scend6 sc5: %t25 = load ptr, ptr @g_prog %t26 = load i32, ptr %t0 %t27 = getelementptr inbounds %LSlice, ptr %t25, i32 0, i32 0 %t28 = load ptr, ptr %t27 %t29 = getelementptr inbounds %LSlice, ptr %t25, i32 0, i32 1 %t30 = load i32, ptr %t29 %t31 = icmp ult i32 %t26, %t30 br i1 %t31, label %ixok7, label %ixbad8 ixbad8: store i32 10419, ptr @lp_site %t32 = call ptr @lp_win_stdio(i32 2) store i32 0, ptr @lp_site call i32 (ptr, ptr, ...) @fprintf(ptr %t32, ptr @.fmt_bounds, ptr @.str19782, i32 %t26, i32 %t30) call void @exit(i32 1) unreachable ixok7: %t33 = getelementptr inbounds ptr, ptr %t28, i32 %t26 %t34 = load ptr, ptr %t33 %t35 = getelementptr inbounds %Cmp_Node, ptr %t34, i32 0, i32 2 %t36 = load i32, ptr %t35 %t37 = icmp eq i32 %t36, 1 %t38 = zext i1 %t37 to i32 %t39 = icmp ne i32 %t38, 0 %t40 = zext i1 %t39 to i32 store i32 %t40, ptr %t8 br label %scend6 scend6: %t41 = load i32, ptr %t8 %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 %t0 %t44 = add i32 %t43, 1 store i32 %t44, ptr %t0 br label %wcond0 wend2: store i32 0, ptr %retval br label %ret ret: %t45 = load i32, ptr %retval ret i32 %t45 } 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 %t103 = alloca ptr %t108 = 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 store i32 10420, ptr @lp_site %t9 = call ptr @lp_str_slice(ptr %t5, i32 3, i32 %t8) store i32 0, ptr @lp_site 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 = load i32, ptr %t13 %t24 = getelementptr inbounds %LSlice, ptr %t22, i32 0, i32 0 %t25 = load ptr, ptr %t24 %t26 = getelementptr inbounds %LSlice, ptr %t22, i32 0, i32 1 %t27 = load i32, ptr %t26 %t28 = icmp ult i32 %t23, %t27 br i1 %t28, label %ixok6, label %ixbad7 ixbad7: store i32 10421, ptr @lp_site %t29 = call ptr @lp_win_stdio(i32 2) store i32 0, ptr @lp_site call i32 (ptr, ptr, ...) @fprintf(ptr %t29, ptr @.fmt_bounds, ptr @.str19784, i32 %t23, i32 %t27) call void @exit(i32 1) unreachable ixok6: %t30 = getelementptr inbounds ptr, ptr %t25, i32 %t23 %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, 12 %t35 = zext i1 %t34 to i32 %t36 = icmp ne i32 %t35, 0 %t37 = zext i1 %t36 to i32 store i32 %t37, ptr %t21 br i1 %t36, label %sc8, label %scend9 sc8: %t38 = load ptr, ptr @g_prog %t39 = load i32, ptr %t13 %t40 = getelementptr inbounds %LSlice, ptr %t38, i32 0, i32 0 %t41 = load ptr, ptr %t40 %t42 = getelementptr inbounds %LSlice, ptr %t38, i32 0, i32 1 %t43 = load i32, ptr %t42 %t44 = icmp ult i32 %t39, %t43 br i1 %t44, label %ixok10, label %ixbad11 ixbad11: store i32 10422, ptr @lp_site %t45 = call ptr @lp_win_stdio(i32 2) store i32 0, ptr @lp_site call i32 (ptr, ptr, ...) @fprintf(ptr %t45, ptr @.fmt_bounds, ptr @.str19785, i32 %t39, i32 %t43) call void @exit(i32 1) unreachable ixok10: %t46 = getelementptr inbounds ptr, ptr %t41, i32 %t39 %t47 = load ptr, ptr %t46 %t48 = getelementptr inbounds %Cmp_Node, ptr %t47, i32 0, i32 2 %t49 = load i32, ptr %t48 %t50 = icmp eq i32 %t49, 1 %t51 = zext i1 %t50 to i32 %t52 = icmp ne i32 %t51, 0 %t53 = zext i1 %t52 to i32 store i32 %t53, ptr %t21 br label %scend9 scend9: %t54 = load i32, ptr %t21 %t55 = icmp ne i32 %t54, 0 br i1 %t55, label %then12, label %ifend14 then12: %t56 = load ptr, ptr @g_prog %t57 = load i32, ptr %t13 %t58 = getelementptr inbounds %LSlice, ptr %t56, i32 0, i32 0 %t59 = load ptr, ptr %t58 %t60 = getelementptr inbounds %LSlice, ptr %t56, i32 0, i32 1 %t61 = load i32, ptr %t60 %t62 = icmp ult i32 %t57, %t61 br i1 %t62, label %ixok15, label %ixbad16 ixbad16: store i32 10423, ptr @lp_site %t63 = call ptr @lp_win_stdio(i32 2) store i32 0, ptr @lp_site call i32 (ptr, ptr, ...) @fprintf(ptr %t63, ptr @.fmt_bounds, ptr @.str19786, i32 %t57, i32 %t61) call void @exit(i32 1) unreachable ixok15: %t64 = getelementptr inbounds ptr, ptr %t59, i32 %t57 %t65 = load ptr, ptr %t64 %t66 = getelementptr inbounds %Cmp_Node, ptr %t65, i32 0, i32 1 %t67 = load ptr, ptr %t66 %t68 = load ptr, ptr %t10 %t69 = call i32 @lp_str_eq(ptr %t67, ptr %t68) %t70 = icmp ne i32 %t69, 0 br i1 %t70, label %then17, label %ifend19 then17: %t71 = load ptr, ptr @g_ui_roots %t72 = load i32, ptr %t12 %t73 = getelementptr inbounds %LSlice, ptr %t71, i32 0, i32 0 %t74 = load ptr, ptr %t73 %t75 = getelementptr inbounds %LSlice, ptr %t71, i32 0, i32 1 %t76 = load i32, ptr %t75 %t77 = icmp ult i32 %t72, %t76 br i1 %t77, label %ixok20, label %ixbad21 ixbad21: store i32 10424, ptr @lp_site %t78 = call ptr @lp_win_stdio(i32 2) store i32 0, ptr @lp_site call i32 (ptr, ptr, ...) @fprintf(ptr %t78, ptr @.fmt_bounds, ptr @.str19787, i32 %t72, i32 %t76) call void @exit(i32 1) unreachable ixok20: %t79 = getelementptr inbounds i32, ptr %t74, i32 %t72 %t80 = load i32, ptr %t79 store i32 %t80, ptr %retval br label %ret ifend19: %t81 = load i32, ptr %t12 %t82 = add i32 %t81, 1 store i32 %t82, ptr %t12 br label %ifend14 ifend14: %t83 = load i32, ptr %t13 %t84 = add i32 %t83, 1 store i32 %t84, ptr %t13 br label %wcond3 wend5: store i32 0, ptr %t13 br label %wcond22 wcond22: %t85 = load i32, ptr %t13 %t86 = load ptr, ptr @g_uiw %t87 = getelementptr inbounds %LSlice, ptr %t86, i32 0, i32 1 %t88 = load i32, ptr %t87 %t89 = icmp slt i32 %t85, %t88 %t90 = zext i1 %t89 to i32 %t91 = icmp ne i32 %t90, 0 br i1 %t91, label %wbody23, label %wend24 wbody23: %t92 = load ptr, ptr @g_uiw %t93 = load i32, ptr %t13 %t94 = getelementptr inbounds %LSlice, ptr %t92, i32 0, i32 0 %t95 = load ptr, ptr %t94 %t96 = getelementptr inbounds %LSlice, ptr %t92, i32 0, i32 1 %t97 = load i32, ptr %t96 %t98 = icmp ult i32 %t93, %t97 br i1 %t98, label %ixok25, label %ixbad26 ixbad26: store i32 10425, ptr @lp_site %t99 = call ptr @lp_win_stdio(i32 2) store i32 0, ptr @lp_site call i32 (ptr, ptr, ...) @fprintf(ptr %t99, ptr @.fmt_bounds, ptr @.str19788, i32 %t93, i32 %t97) call void @exit(i32 1) unreachable ixok25: %t100 = getelementptr inbounds ptr, ptr %t95, i32 %t93 %t101 = load ptr, ptr %t100 %t102 = call ptr @fn_ui_prop(ptr %t101, ptr @.str19789) store ptr %t102, ptr %t103 %t104 = load ptr, ptr %t103 %t105 = icmp ne ptr %t104, null %t106 = zext i1 %t105 to i32 %t107 = icmp ne i32 %t106, 0 br i1 %t107, label %then27, label %ifend29 then27: %t109 = load ptr, ptr %t103 %t110 = getelementptr inbounds %Cmp_Node, ptr %t109, i32 0, i32 0 %t111 = load i32, ptr %t110 %t112 = icmp eq i32 %t111, 33 %t113 = zext i1 %t112 to i32 %t114 = icmp ne i32 %t113, 0 %t115 = zext i1 %t114 to i32 store i32 %t115, ptr %t108 br i1 %t114, label %sc30, label %scend31 sc30: %t116 = load ptr, ptr %t103 %t117 = getelementptr inbounds %Cmp_Node, ptr %t116, i32 0, i32 1 %t118 = load ptr, ptr %t117 %t119 = load ptr, ptr %t10 %t120 = call i32 @lp_str_eq(ptr %t118, ptr %t119) %t121 = icmp ne i32 %t120, 0 %t122 = zext i1 %t121 to i32 store i32 %t122, ptr %t108 br label %scend31 scend31: %t123 = load i32, ptr %t108 %t124 = icmp ne i32 %t123, 0 br i1 %t124, label %then32, label %ifend34 then32: %t125 = load i32, ptr %t13 store i32 %t125, ptr %retval br label %ret ifend34: br label %ifend29 ifend29: %t126 = load i32, ptr %t13 %t127 = add i32 %t126, 1 store i32 %t127, ptr %t13 br label %wcond22 wend24: store i32 0, ptr %retval br label %ret ret: %t128 = load i32, ptr %retval ret i32 %t128 } 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 %t3 = call ptr @fn_fn_sym(ptr @.str19791) store i32 10426, ptr @lp_site %t4 = call ptr @lp_str_concat(ptr @.str19790, ptr %t3) store i32 0, ptr @lp_site store i32 10427, ptr @lp_site %t5 = call ptr @lp_str_concat(ptr %t4, ptr @.str19793) store i32 0, ptr @lp_site call void @lp_free(ptr %t4) call void @fn_emit(ptr %t5) %t6 = load i32, ptr %t0 %t7 = call ptr @fn_itoa(i32 %t6) call void @fn_emit(ptr %t7) call void @fn_emit(ptr @.str19794) %t8 = load i32, ptr %t1 %t9 = call ptr @fn_itoa(i32 %t8) call void @fn_emit(ptr %t9) call void @fn_emit(ptr @.str19795) %t10 = load ptr, ptr %t2 call void @fn_emit(ptr %t10) call void @fn_emit(ptr @.str19796) 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 @.str19797) %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 @.str19798) %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 @.str19799) %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 @.str19800) %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 @.str19801) %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 @.str19802) %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 @.str19803) %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 @.str19804) %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 @.str19805) %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 @.str19806) %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 @.str19807) %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 @.str19808) %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 @.str19809) %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 @.str19810) %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 %t13 = alloca i32 %t31 = alloca ptr %t34 = alloca i32 %t57 = alloca ptr %t58 = alloca i32 %t76 = alloca ptr %t80 = alloca ptr %t84 = alloca ptr %t85 = alloca i32 %t103 = alloca ptr %t112 = alloca i32 %t125 = alloca ptr %t135 = alloca ptr %t152 = alloca i32 %t168 = alloca ptr %t175 = alloca i32 %t182 = alloca ptr %t188 = 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 %t6 = call ptr @fn_fn_sym(ptr @.str19812) store i32 10428, ptr @lp_site %t7 = call ptr @lp_str_concat(ptr @.str19811, ptr %t6) store i32 0, ptr @lp_site store i32 10429, ptr @lp_site %t8 = call ptr @lp_str_concat(ptr %t7, ptr @.str19814) store i32 0, ptr @lp_site call void @lp_free(ptr %t7) call void @fn_emit(ptr %t8) %t9 = load ptr, ptr @g_uiw %t10 = getelementptr inbounds %LSlice, ptr %t9, i32 0, i32 1 %t11 = load i32, ptr %t10 %t12 = call ptr @fn_itoa(i32 %t11) call void @fn_emit(ptr %t12) call void @fn_emit(ptr @.str19815) store i32 0, ptr %t13 br label %wcond0 wcond0: %t14 = load i32, ptr %t13 %t15 = load ptr, ptr @g_uiw %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 %wbody1, label %wend2 wbody1: %t21 = load ptr, ptr @g_uiw %t22 = load i32, ptr %t13 %t23 = getelementptr inbounds %LSlice, ptr %t21, i32 0, i32 0 %t24 = load ptr, ptr %t23 %t25 = getelementptr inbounds %LSlice, ptr %t21, i32 0, i32 1 %t26 = load i32, ptr %t25 %t27 = icmp ult i32 %t22, %t26 br i1 %t27, label %ixok3, label %ixbad4 ixbad4: store i32 10430, ptr @lp_site %t28 = call ptr @lp_win_stdio(i32 2) store i32 0, ptr @lp_site call i32 (ptr, ptr, ...) @fprintf(ptr %t28, ptr @.fmt_bounds, ptr @.str19816, i32 %t22, i32 %t26) call void @exit(i32 1) unreachable ixok3: %t29 = getelementptr inbounds ptr, ptr %t24, i32 %t22 %t30 = load ptr, ptr %t29 store ptr %t30, ptr %t31 %t32 = load ptr, ptr %t31 %t33 = call i32 @fn_ui_wtype(ptr %t32) store i32 %t33, ptr %t34 %t35 = load i32, ptr %t13 %t36 = load i32, ptr %t34 %t37 = call ptr @fn_itoa(i32 %t36) call void @fn_ll_ui_set(i32 %t35, i32 0, ptr %t37) %t38 = load i32, ptr %t13 %t39 = load ptr, ptr @g_uiw_parent %t40 = load i32, ptr %t13 %t41 = getelementptr inbounds %LSlice, ptr %t39, i32 0, i32 0 %t42 = load ptr, ptr %t41 %t43 = getelementptr inbounds %LSlice, ptr %t39, i32 0, i32 1 %t44 = load i32, ptr %t43 %t45 = icmp ult i32 %t40, %t44 br i1 %t45, label %ixok5, label %ixbad6 ixbad6: store i32 10431, ptr @lp_site %t46 = call ptr @lp_win_stdio(i32 2) store i32 0, ptr @lp_site call i32 (ptr, ptr, ...) @fprintf(ptr %t46, ptr @.fmt_bounds, ptr @.str19817, i32 %t40, i32 %t44) call void @exit(i32 1) unreachable ixok5: %t47 = getelementptr inbounds i32, ptr %t42, i32 %t40 %t48 = load i32, ptr %t47 %t49 = call ptr @fn_itoa(i32 %t48) call void @fn_ll_ui_set(i32 %t38, i32 1, ptr %t49) %t50 = load i32, ptr %t34 %t51 = icmp eq i32 %t50, 4 %t52 = zext i1 %t51 to i32 %t53 = icmp ne i32 %t52, 0 br i1 %t53, label %then7, label %ifend9 then7: %t54 = load i32, ptr %t13 call void @fn_ll_ui_set(i32 %t54, i32 17, ptr @.str19818) br label %ifend9 ifend9: %t55 = load i32, ptr %t13 %t56 = call ptr @fn_ui_props_with_inherited(i32 %t55) store ptr %t56, ptr %t57 store i32 0, ptr %t58 br label %wcond10 wcond10: %t59 = load i32, ptr %t58 %t60 = load ptr, ptr %t57 %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 %wbody11, label %wend12 wbody11: %t66 = load ptr, ptr %t57 %t67 = load i32, ptr %t58 %t68 = getelementptr inbounds %LSlice, ptr %t66, i32 0, i32 0 %t69 = load ptr, ptr %t68 %t70 = getelementptr inbounds %LSlice, ptr %t66, i32 0, i32 1 %t71 = load i32, ptr %t70 %t72 = icmp ult i32 %t67, %t71 br i1 %t72, label %ixok13, label %ixbad14 ixbad14: store i32 10432, ptr @lp_site %t73 = call ptr @lp_win_stdio(i32 2) store i32 0, ptr @lp_site call i32 (ptr, ptr, ...) @fprintf(ptr %t73, ptr @.fmt_bounds, ptr @.str19819, i32 %t67, i32 %t71) call void @exit(i32 1) unreachable ixok13: %t74 = getelementptr inbounds ptr, ptr %t69, i32 %t67 %t75 = load ptr, ptr %t74 store ptr %t75, ptr %t76 %t77 = load ptr, ptr %t76 %t78 = getelementptr inbounds %Cmp_Node, ptr %t77, i32 0, i32 1 %t79 = load ptr, ptr %t78 store ptr %t79, ptr %t80 %t81 = load ptr, ptr %t76 %t82 = getelementptr inbounds %Cmp_Node, ptr %t81, i32 0, i32 4 %t83 = load ptr, ptr %t82 store ptr %t83, ptr %t84 %t86 = load ptr, ptr %t80 %t87 = call i32 @lp_str_eq(ptr %t86, ptr @.str19820) %t88 = icmp ne i32 %t87, 0 %t89 = zext i1 %t88 to i32 store i32 %t89, ptr %t85 br i1 %t88, label %scend16, label %sc15 sc15: %t90 = load ptr, ptr %t80 %t91 = call i32 @lp_str_eq(ptr %t90, ptr @.str19821) %t92 = icmp ne i32 %t91, 0 %t93 = zext i1 %t92 to i32 store i32 %t93, ptr %t85 br label %scend16 scend16: %t94 = load i32, ptr %t85 %t95 = icmp ne i32 %t94, 0 br i1 %t95, label %then17, label %ifend19 then17: %t96 = load i32, ptr %t58 %t97 = add i32 %t96, 1 store i32 %t97, ptr %t58 br label %wcond10 ifend19: %t98 = load ptr, ptr %t80 %t99 = call i32 @lp_str_eq(ptr %t98, ptr @.str19822) %t100 = icmp ne i32 %t99, 0 br i1 %t100, label %then20, label %else21 then20: %t101 = load ptr, ptr %t84 %t102 = call ptr @fn_emit_expr(ptr %t101) store ptr %t102, ptr %t103 %t104 = call ptr @fn_fn_sym(ptr @.str19824) store i32 10433, ptr @lp_site %t105 = call ptr @lp_str_concat(ptr @.str19823, ptr %t104) store i32 0, ptr @lp_site store i32 10434, ptr @lp_site %t106 = call ptr @lp_str_concat(ptr %t105, ptr @.str19825) store i32 0, ptr @lp_site call void @lp_free(ptr %t105) call void @fn_emit(ptr %t106) %t107 = load i32, ptr %t13 %t108 = call ptr @fn_itoa(i32 %t107) call void @fn_emit(ptr %t108) call void @fn_emit(ptr @.str19826) %t109 = load ptr, ptr %t103 %t110 = getelementptr inbounds %Cmp_Val, ptr %t109, i32 0, i32 0 %t111 = load ptr, ptr %t110 call void @fn_emit(ptr %t111) call void @fn_emit(ptr @.str19827) br label %ifend22 else21: %t113 = load ptr, ptr %t80 %t114 = call i32 @lp_str_eq(ptr %t113, ptr @.str19828) %t115 = icmp ne i32 %t114, 0 %t116 = zext i1 %t115 to i32 store i32 %t116, ptr %t112 br i1 %t115, label %scend24, label %sc23 sc23: %t117 = load ptr, ptr %t80 %t118 = call i32 @lp_str_eq(ptr %t117, ptr @.str19829) %t119 = icmp ne i32 %t118, 0 %t120 = zext i1 %t119 to i32 store i32 %t120, ptr %t112 br label %scend24 scend24: %t121 = load i32, ptr %t112 %t122 = icmp ne i32 %t121, 0 br i1 %t122, label %then25, label %else26 then25: %t123 = load ptr, ptr %t84 %t124 = call ptr @fn_emit_expr(ptr %t123) store ptr %t124, ptr %t125 %t126 = call ptr @fn_fn_sym(ptr @.str19831) store i32 10435, ptr @lp_site %t127 = call ptr @lp_str_concat(ptr @.str19830, ptr %t126) store i32 0, ptr @lp_site store i32 10436, ptr @lp_site %t128 = call ptr @lp_str_concat(ptr %t127, ptr @.str19832) store i32 0, ptr @lp_site call void @lp_free(ptr %t127) %t129 = load ptr, ptr %t125 %t130 = getelementptr inbounds %Cmp_Val, ptr %t129, i32 0, i32 0 %t131 = load ptr, ptr %t130 store i32 10437, ptr @lp_site %t132 = call ptr @lp_str_concat(ptr %t128, ptr %t131) store i32 0, ptr @lp_site call void @lp_free(ptr %t128) store i32 10438, ptr @lp_site %t133 = call ptr @lp_str_concat(ptr %t132, ptr @.str19833) store i32 0, ptr @lp_site call void @lp_free(ptr %t132) %t134 = call ptr @fn_emit_bind(ptr %t133) store ptr %t134, ptr %t135 %t136 = load ptr, ptr %t80 %t137 = call i32 @lp_str_eq(ptr %t136, ptr @.str19834) %t138 = icmp ne i32 %t137, 0 br i1 %t138, label %then28, label %else29 then28: %t139 = load i32, ptr %t13 %t140 = load ptr, ptr %t135 call void @fn_ll_ui_set(i32 %t139, i32 20, ptr %t140) br label %ifend30 else29: %t141 = load i32, ptr %t13 %t142 = load ptr, ptr %t135 call void @fn_ll_ui_set(i32 %t141, i32 19, ptr %t142) br label %ifend30 ifend30: br label %ifend27 else26: %t143 = load ptr, ptr %t80 %t144 = call i32 @lp_str_eq(ptr %t143, ptr @.str19835) %t145 = icmp ne i32 %t144, 0 br i1 %t145, label %then31, label %else32 then31: %t146 = load ptr, ptr %t84 %t147 = getelementptr inbounds %Cmp_Node, ptr %t146, i32 0, i32 0 %t148 = load i32, ptr %t147 %t149 = icmp eq i32 %t148, 33 %t150 = zext i1 %t149 to i32 %t151 = icmp ne i32 %t150, 0 br i1 %t151, label %then34, label %else35 then34: store i32 0, ptr %t152 %t153 = load ptr, ptr %t84 %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 @.str19836) %t157 = icmp ne i32 %t156, 0 br i1 %t157, label %then37, label %ifend39 then37: store i32 1, ptr %t152 br label %ifend39 ifend39: %t158 = load ptr, ptr %t84 %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 @.str19837) %t162 = icmp ne i32 %t161, 0 br i1 %t162, label %then40, label %ifend42 then40: store i32 2, ptr %t152 br label %ifend42 ifend42: %t163 = load i32, ptr %t13 %t164 = load i32, ptr %t152 %t165 = call ptr @fn_itoa(i32 %t164) call void @fn_ll_ui_set(i32 %t163, i32 12, ptr %t165) br label %ifend36 else35: %t166 = load ptr, ptr %t84 %t167 = call ptr @fn_emit_expr(ptr %t166) store ptr %t167, ptr %t168 %t169 = load i32, ptr %t13 %t170 = load ptr, ptr %t168 %t171 = getelementptr inbounds %Cmp_Val, ptr %t170, i32 0, i32 0 %t172 = load ptr, ptr %t171 call void @fn_ll_ui_set(i32 %t169, i32 12, ptr %t172) br label %ifend36 ifend36: br label %ifend33 else32: %t173 = load ptr, ptr %t80 %t174 = call i32 @fn_ui_prop_key(ptr %t173) store i32 %t174, ptr %t175 %t176 = load i32, ptr %t175 %t177 = icmp sge i32 %t176, 0 %t178 = zext i1 %t177 to i32 %t179 = icmp ne i32 %t178, 0 br i1 %t179, label %then43, label %ifend45 then43: %t180 = load ptr, ptr %t84 %t181 = call ptr @fn_emit_expr(ptr %t180) store ptr %t181, ptr %t182 %t183 = load i32, ptr %t13 %t184 = load i32, ptr %t175 %t185 = load ptr, ptr %t182 %t186 = getelementptr inbounds %Cmp_Val, ptr %t185, i32 0, i32 0 %t187 = load ptr, ptr %t186 call void @fn_ll_ui_set(i32 %t183, i32 %t184, ptr %t187) %t189 = load i32, ptr %t175 %t190 = icmp eq i32 %t189, 4 %t191 = zext i1 %t190 to i32 %t192 = icmp ne i32 %t191, 0 %t193 = zext i1 %t192 to i32 store i32 %t193, ptr %t188 br i1 %t192, label %scend47, label %sc46 sc46: %t194 = load i32, ptr %t175 %t195 = icmp eq i32 %t194, 5 %t196 = zext i1 %t195 to i32 %t197 = icmp ne i32 %t196, 0 %t198 = zext i1 %t197 to i32 store i32 %t198, ptr %t188 br label %scend47 scend47: %t199 = load i32, ptr %t188 %t200 = icmp ne i32 %t199, 0 br i1 %t200, label %then48, label %ifend50 then48: %t201 = load i32, ptr %t13 call void @fn_ll_ui_set(i32 %t201, i32 6, ptr @.str19838) br label %ifend50 ifend50: br label %ifend45 ifend45: br label %ifend33 ifend33: br label %ifend27 ifend27: br label %ifend22 ifend22: %t202 = load i32, ptr %t58 %t203 = add i32 %t202, 1 store i32 %t203, ptr %t58 br label %wcond10 wend12: %t204 = load i32, ptr %t13 %t205 = add i32 %t204, 1 store i32 %t205, ptr %t13 br label %wcond0 wend2: %t206 = load ptr, ptr %t4 store ptr %t206, ptr @g_code call void @fn_emit(ptr @.str19839) %t207 = load ptr, ptr @g_falloc %t208 = call ptr @fn_buf_str(ptr %t207) call void @fn_emit(ptr %t208) %t209 = load ptr, ptr %t1 %t210 = call ptr @fn_buf_str(ptr %t209) call void @fn_emit(ptr %t210) call void @fn_emit(ptr @.str19840) 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 @.str19841) 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 = load i32, ptr %t1 %t19 = getelementptr inbounds %LSlice, ptr %t17, i32 0, i32 0 %t20 = load ptr, ptr %t19 %t21 = getelementptr inbounds %LSlice, ptr %t17, i32 0, i32 1 %t22 = load i32, ptr %t21 %t23 = icmp ult i32 %t18, %t22 br i1 %t23, label %ixok6, label %ixbad7 ixbad7: store i32 10439, ptr @lp_site %t24 = call ptr @lp_win_stdio(i32 2) store i32 0, ptr @lp_site call i32 (ptr, ptr, ...) @fprintf(ptr %t24, ptr @.fmt_bounds, ptr @.str19842, i32 %t18, i32 %t22) call void @exit(i32 1) unreachable ixok6: %t25 = getelementptr inbounds ptr, ptr %t20, i32 %t18 %t26 = load ptr, ptr %t25 %t27 = getelementptr inbounds %Cmp_Node, ptr %t26, i32 0, i32 3 %t28 = load ptr, ptr %t27 %t29 = call ptr @fn_llty(ptr %t28) call void @fn_emit(ptr %t29) call void @fn_emit(ptr @.str19844) %t30 = load ptr, ptr %t0 %t31 = getelementptr inbounds %Cmp_Node, ptr %t30, i32 0, i32 7 %t32 = load ptr, ptr %t31 %t33 = load i32, ptr %t1 %t34 = getelementptr inbounds %LSlice, ptr %t32, i32 0, i32 0 %t35 = load ptr, ptr %t34 %t36 = getelementptr inbounds %LSlice, ptr %t32, i32 0, i32 1 %t37 = load i32, ptr %t36 %t38 = icmp ult i32 %t33, %t37 br i1 %t38, label %ixok8, label %ixbad9 ixbad9: store i32 10440, ptr @lp_site %t39 = call ptr @lp_win_stdio(i32 2) store i32 0, ptr @lp_site call i32 (ptr, ptr, ...) @fprintf(ptr %t39, ptr @.fmt_bounds, ptr @.str19845, i32 %t33, i32 %t37) call void @exit(i32 1) unreachable ixok8: %t40 = getelementptr inbounds ptr, ptr %t35, i32 %t33 %t41 = load ptr, ptr %t40 %t42 = getelementptr inbounds %Cmp_Node, ptr %t41, i32 0, i32 1 %t43 = load ptr, ptr %t42 call void @fn_emit(ptr %t43) %t44 = load i32, ptr %t1 %t45 = add i32 %t44, 1 store i32 %t45, ptr %t1 br label %wcond0 wend2: br label %ret ret: ret void } define void @fn_emit_fn(ptr %arg_d) { entry: %t0 = alloca ptr %t11 = alloca ptr %t14 = alloca ptr %t18 = alloca ptr %t28 = alloca i32 %t50 = alloca ptr %t56 = alloca ptr %t78 = alloca i32 %t85 = alloca i32 %t91 = alloca i32 %t130 = alloca ptr store ptr %arg_d, ptr %t0 store i32 0, ptr @g_ll_t store i32 0, ptr @g_ll_lbl store i32 0, ptr @g_g_term call void @fn_loc_reset() store i32 0, ptr @g_nloop %t1 = load ptr, ptr %t0 %t2 = getelementptr inbounds %Cmp_Node, ptr %t1, i32 0, i32 1 %t3 = load ptr, ptr %t2 call void @fn_det_enter(ptr %t3) %t4 = load ptr, ptr %t0 %t5 = getelementptr inbounds %Cmp_Node, ptr %t4, i32 0, i32 1 %t6 = load ptr, ptr %t5 call void @fn_fence_enter(ptr %t6) store ptr null, ptr @g_g_cur_scene %t7 = load ptr, ptr %t0 %t8 = getelementptr inbounds %Cmp_Node, ptr %t7, i32 0, i32 3 %t9 = load ptr, ptr %t8 store ptr %t9, ptr @g_ret_ty %t10 = call ptr @fn_buf_new() store ptr %t10, ptr %t11 %t12 = call ptr @fn_buf_new() store ptr %t12, ptr @g_falloc %t13 = load ptr, ptr @g_code store ptr %t13, ptr %t14 %t15 = load ptr, ptr %t11 store ptr %t15, ptr @g_code %t16 = load ptr, ptr @g_ret_ty %t17 = call ptr @fn_llty(ptr %t16) store ptr %t17, ptr %t18 %t19 = load ptr, ptr %t18 %t20 = call i32 @lp_str_eq(ptr %t19, ptr @.str19846) %t21 = icmp eq i32 %t20, 0 %t22 = zext i1 %t21 to i32 %t23 = icmp ne i32 %t22, 0 br i1 %t23, label %then0, label %ifend2 then0: %t24 = load ptr, ptr @g_falloc call void @fn_buf_puts(ptr %t24, ptr @.str19847) %t25 = load ptr, ptr @g_falloc %t26 = load ptr, ptr %t18 call void @fn_buf_puts(ptr %t25, ptr %t26) %t27 = load ptr, ptr @g_falloc call void @fn_buf_puts(ptr %t27, ptr @.str19848) br label %ifend2 ifend2: store i32 0, ptr %t28 br label %wcond3 wcond3: %t29 = load i32, ptr %t28 %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 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 %t0 %t39 = getelementptr inbounds %Cmp_Node, ptr %t38, i32 0, i32 7 %t40 = load ptr, ptr %t39 %t41 = load i32, ptr %t28 %t42 = getelementptr inbounds %LSlice, ptr %t40, i32 0, i32 0 %t43 = load ptr, ptr %t42 %t44 = getelementptr inbounds %LSlice, ptr %t40, i32 0, i32 1 %t45 = load i32, ptr %t44 %t46 = icmp ult i32 %t41, %t45 br i1 %t46, label %ixok6, label %ixbad7 ixbad7: store i32 10441, ptr @lp_site %t47 = call ptr @lp_win_stdio(i32 2) store i32 0, ptr @lp_site call i32 (ptr, ptr, ...) @fprintf(ptr %t47, ptr @.fmt_bounds, ptr @.str19849, i32 %t41, i32 %t45) call void @exit(i32 1) unreachable ixok6: %t48 = getelementptr inbounds ptr, ptr %t43, i32 %t41 %t49 = load ptr, ptr %t48 store ptr %t49, ptr %t50 %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) %t55 = call ptr @fn_emit_alloca(ptr %t54) store ptr %t55, ptr %t56 call void @fn_emit(ptr @.str19851) %t57 = load ptr, ptr %t50 %t58 = getelementptr inbounds %Cmp_Node, ptr %t57, i32 0, i32 3 %t59 = load ptr, ptr %t58 %t60 = call ptr @fn_llty(ptr %t59) call void @fn_emit(ptr %t60) call void @fn_emit(ptr @.str19852) %t61 = load ptr, ptr %t50 %t62 = getelementptr inbounds %Cmp_Node, ptr %t61, i32 0, i32 1 %t63 = load ptr, ptr %t62 call void @fn_emit(ptr %t63) call void @fn_emit(ptr @.str19853) %t64 = load ptr, ptr %t56 call void @fn_emit(ptr %t64) call void @fn_emit(ptr @.str19854) %t65 = load ptr, ptr %t50 %t66 = getelementptr inbounds %Cmp_Node, ptr %t65, i32 0, i32 1 %t67 = load ptr, ptr %t66 %t68 = load ptr, ptr %t56 %t69 = load ptr, ptr %t50 %t70 = getelementptr inbounds %Cmp_Node, ptr %t69, i32 0, i32 3 %t71 = load ptr, ptr %t70 call void @fn_loc_push(ptr %t67, ptr %t68, ptr %t71) %t72 = load i32, ptr %t28 %t73 = add i32 %t72, 1 store i32 %t73, ptr %t28 br label %wcond3 wend5: %t74 = load ptr, ptr %t0 %t75 = getelementptr inbounds %Cmp_Node, ptr %t74, i32 0, i32 1 %t76 = load ptr, ptr %t75 %t77 = call i32 @fn_fr_alloc_ok(ptr %t76) store i32 %t77, ptr %t78 %t79 = load i32, ptr %t78 %t80 = icmp ne i32 %t79, 0 br i1 %t80, label %then8, label %ifend10 then8: call void @fn_emit(ptr @.str19855) br label %ifend10 ifend10: %t81 = load ptr, ptr %t0 %t82 = getelementptr inbounds %Cmp_Node, ptr %t81, i32 0, i32 4 %t83 = load ptr, ptr %t82 %t84 = call i32 @fn_fr_has_aok(ptr %t83) store i32 %t84, ptr %t85 %t86 = load i32, ptr %t85 %t87 = icmp ne i32 %t86, 0 br i1 %t87, label %then11, label %ifend13 then11: call void @fn_emit(ptr @.str19856) br label %ifend13 ifend13: %t88 = load ptr, ptr %t0 %t89 = getelementptr inbounds %Cmp_Node, ptr %t88, i32 0, i32 4 %t90 = load ptr, ptr %t89 call void @fn_emit_block(ptr %t90) %t92 = load ptr, ptr %t18 %t93 = call i32 @lp_str_eq(ptr %t92, ptr @.str19857) %t94 = icmp eq i32 %t93, 0 %t95 = zext i1 %t94 to i32 %t96 = icmp ne i32 %t95, 0 %t97 = zext i1 %t96 to i32 store i32 %t97, ptr %t91 br i1 %t96, label %sc14, label %scend15 sc14: %t98 = load ptr, ptr %t0 %t99 = getelementptr inbounds %Cmp_Node, ptr %t98, i32 0, i32 4 %t100 = load ptr, ptr %t99 %t101 = call i32 @fn_block_ends(ptr %t100) %t102 = icmp eq i32 %t101, 0 %t103 = zext i1 %t102 to i32 %t104 = icmp ne i32 %t103, 0 %t105 = zext i1 %t104 to i32 store i32 %t105, ptr %t91 br label %scend15 scend15: %t106 = load i32, ptr %t91 %t107 = icmp ne i32 %t106, 0 br i1 %t107, label %then16, label %ifend18 then16: %t108 = load ptr, ptr %t0 %t109 = getelementptr inbounds %Cmp_Node, ptr %t108, i32 0, i32 1 %t110 = load ptr, ptr %t109 store i32 10442, ptr @lp_site %t111 = call ptr @lp_str_concat(ptr @.str19858, ptr %t110) store i32 0, ptr @lp_site store i32 10443, ptr @lp_site %t112 = call ptr @lp_str_concat(ptr %t111, ptr @.str19859) store i32 0, ptr @lp_site call void @lp_free(ptr %t111) %t113 = load ptr, ptr @g_ret_ty store i32 10444, ptr @lp_site %t114 = call ptr @lp_str_concat(ptr %t112, ptr %t113) store i32 0, ptr @lp_site call void @lp_free(ptr %t112) call void @fn_perr(ptr %t114) br label %ifend18 ifend18: %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 %then19, label %ifend21 then19: call void @fn_emit(ptr @.str19860) br label %ifend21 ifend21: call void @fn_emit(ptr @.str19861) %t119 = load i32, ptr %t85 %t120 = icmp ne i32 %t119, 0 br i1 %t120, label %then22, label %ifend24 then22: call void @fn_emit(ptr @.str19862) br label %ifend24 ifend24: %t121 = load i32, ptr %t78 %t122 = icmp ne i32 %t121, 0 br i1 %t122, label %then25, label %ifend27 then25: call void @fn_emit(ptr @.str19863) br label %ifend27 ifend27: %t123 = load ptr, ptr %t18 %t124 = call i32 @lp_str_eq(ptr %t123, ptr @.str19864) %t125 = icmp ne i32 %t124, 0 br i1 %t125, label %then28, label %else29 then28: call void @fn_emit(ptr @.str19865) br label %ifend30 else29: %t126 = load ptr, ptr %t18 store i32 10445, ptr @lp_site %t127 = call ptr @lp_str_concat(ptr @.str19866, ptr %t126) store i32 0, ptr @lp_site store i32 10446, ptr @lp_site %t128 = call ptr @lp_str_concat(ptr %t127, ptr @.str19867) store i32 0, ptr @lp_site call void @lp_free(ptr %t127) %t129 = call ptr @fn_emit_bind(ptr %t128) store ptr %t129, ptr %t130 call void @fn_emit(ptr @.str19868) %t131 = load ptr, ptr %t18 call void @fn_emit(ptr %t131) call void @fn_emit(ptr @.str19869) %t132 = load ptr, ptr %t130 call void @fn_emit(ptr %t132) call void @fn_emit(ptr @.str19870) br label %ifend30 ifend30: %t133 = load ptr, ptr %t14 store ptr %t133, ptr @g_code call void @fn_emit(ptr @.str19871) %t134 = load ptr, ptr %t18 call void @fn_emit(ptr %t134) call void @fn_emit(ptr @.str19872) %t135 = load ptr, ptr %t0 %t136 = getelementptr inbounds %Cmp_Node, ptr %t135, i32 0, i32 1 %t137 = load ptr, ptr %t136 call void @fn_emit(ptr %t137) call void @fn_emit(ptr @.str19873) %t138 = load ptr, ptr %t0 call void @fn_emit_params_sig(ptr %t138) call void @fn_emit(ptr @.str19874) %t139 = load ptr, ptr @g_falloc %t140 = call ptr @fn_buf_str(ptr %t139) call void @fn_emit(ptr %t140) %t141 = load ptr, ptr %t11 %t142 = call ptr @fn_buf_str(ptr %t141) call void @fn_emit(ptr %t142) call void @fn_emit(ptr @.str19875) store ptr @.str19876, ptr @g_g_det_ctx br label %ret ret: ret void } define void @fn_emit_main(ptr %arg_d) { entry: %t0 = alloca ptr %t2 = alloca ptr %t5 = alloca ptr %t25 = alloca ptr store ptr %arg_d, ptr %t0 call void @fn_fence_enter(ptr @.str19877) 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 @.str19878, 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 @.str19879) call void @fn_emit(ptr @.str19880) call void @fn_emit(ptr @.str19881) call void @fn_emit(ptr @.str19882) call void @fn_emit(ptr @.str19883) %t8 = call i32 @fn_has_ecs() %t9 = icmp ne i32 %t8, 0 br i1 %t9, label %then0, label %ifend2 then0: call void @fn_emit(ptr @.str19884) br label %ifend2 ifend2: %t10 = call ptr @fn_find_fn(ptr @.str19885) %t11 = icmp ne ptr %t10, null %t12 = zext i1 %t11 to i32 %t13 = icmp ne i32 %t12, 0 br i1 %t13, label %then3, label %ifend5 then3: %t14 = call ptr @fn_fn_sym(ptr @.str19887) store i32 10447, ptr @lp_site %t15 = call ptr @lp_str_concat(ptr @.str19886, ptr %t14) store i32 0, ptr @lp_site store i32 10448, ptr @lp_site %t16 = call ptr @lp_str_concat(ptr %t15, ptr @.str19889) store i32 0, ptr @lp_site call void @lp_free(ptr %t15) call void @fn_emit(ptr %t16) br label %ifend5 ifend5: call void @fn_emit(ptr @.str19890) %t17 = load ptr, ptr %t0 %t18 = getelementptr inbounds %Cmp_Node, ptr %t17, i32 0, i32 4 %t19 = load ptr, ptr %t18 call void @fn_emit_block(ptr %t19) %t20 = load i32, ptr @g_g_term %t21 = icmp eq i32 %t20, 0 %t22 = zext i1 %t21 to i32 %t23 = icmp ne i32 %t22, 0 br i1 %t23, label %then6, label %ifend8 then6: call void @fn_emit(ptr @.str19891) br label %ifend8 ifend8: call void @fn_emit(ptr @.str19892) %t24 = call ptr @fn_emit_bind(ptr @.str19893) store ptr %t24, ptr %t25 call void @fn_emit(ptr @.str19894) %t26 = load ptr, ptr %t25 call void @fn_emit(ptr %t26) call void @fn_emit(ptr @.str19895) %t27 = load ptr, ptr %t5 store ptr %t27, ptr @g_code call void @fn_emit(ptr @.str19896) %t28 = load ptr, ptr @g_falloc %t29 = call ptr @fn_buf_str(ptr %t28) call void @fn_emit(ptr %t29) %t30 = load ptr, ptr %t2 %t31 = call ptr @fn_buf_str(ptr %t30) call void @fn_emit(ptr %t31) call void @fn_emit(ptr @.str19897) 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 %t7 = alloca ptr %t10 = alloca ptr store ptr %arg_t, ptr %t0 store i32 %arg_idx, ptr %t1 %t2 = load ptr, ptr %t0 %t3 = getelementptr inbounds %Cmp_Node, ptr %t2, i32 0, i32 1 %t4 = load ptr, ptr %t3 store i32 10449, ptr @lp_site %t5 = call ptr @lp_str_concat(ptr @.str19898, ptr %t4) store i32 0, ptr @lp_site call void @fn_fence_enter(ptr %t5) 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 @.str19900, ptr @g_ret_ty %t6 = call ptr @fn_buf_new() store ptr %t6, ptr %t7 %t8 = call ptr @fn_buf_new() store ptr %t8, ptr @g_falloc %t9 = load ptr, ptr @g_code store ptr %t9, ptr %t10 %t11 = load ptr, ptr %t7 store ptr %t11, ptr @g_code %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 %then0, label %ifend2 then0: call void @fn_emit(ptr @.str19901) br label %ifend2 ifend2: call void @fn_emit(ptr @.str19902) %t19 = load ptr, ptr %t10 store ptr %t19, ptr @g_code call void @fn_emit(ptr @.str19903) %t20 = load i32, ptr %t1 %t21 = call ptr @fn_itoa(i32 %t20) call void @fn_emit(ptr %t21) call void @fn_emit(ptr @.str19904) %t22 = load ptr, ptr @g_falloc %t23 = call ptr @fn_buf_str(ptr %t22) call void @fn_emit(ptr %t23) %t24 = load ptr, ptr %t7 %t25 = call ptr @fn_buf_str(ptr %t24) call void @fn_emit(ptr %t25) call void @fn_emit(ptr @.str19905) br label %ret ret: ret void } define void @fn_emit_test_runner() { entry: %t0 = alloca i32 %t28 = alloca ptr %t30 = alloca ptr %t32 = alloca ptr %t45 = alloca ptr %t49 = alloca ptr %t59 = alloca ptr %t61 = alloca ptr %t63 = alloca ptr %t68 = alloca ptr %t70 = alloca ptr %t83 = alloca ptr %t91 = alloca ptr %t96 = alloca ptr %t108 = alloca i32 %t129 = alloca ptr %t162 = alloca ptr %t177 = alloca ptr %t191 = alloca ptr %t193 = alloca ptr %t195 = alloca ptr %t197 = alloca ptr %t199 = alloca ptr %t204 = alloca ptr %t223 = alloca ptr %t228 = alloca ptr %t241 = alloca ptr %t246 = alloca ptr %t259 = alloca ptr %t264 = alloca ptr %t266 = alloca ptr %t268 = alloca ptr %t270 = alloca ptr %t291 = alloca ptr %t296 = alloca ptr %t316 = alloca ptr %t318 = alloca ptr %t320 = alloca ptr %t322 = alloca ptr %t327 = alloca ptr %t332 = alloca ptr %t339 = alloca ptr %t357 = alloca ptr %t364 = alloca ptr %t375 = alloca ptr %t380 = alloca ptr call void @fn_emith(ptr @.str19906) call void @fn_emit_state_reset() call void @fn_emith(ptr @.str19907) call void @fn_emith(ptr @.str19908) 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 = load i32, ptr %t0 %t10 = getelementptr inbounds %LSlice, ptr %t8, i32 0, i32 0 %t11 = load ptr, ptr %t10 %t12 = getelementptr inbounds %LSlice, ptr %t8, i32 0, i32 1 %t13 = load i32, ptr %t12 %t14 = icmp ult i32 %t9, %t13 br i1 %t14, label %ixok3, label %ixbad4 ixbad4: store i32 10450, ptr @lp_site %t15 = call ptr @lp_win_stdio(i32 2) store i32 0, ptr @lp_site call i32 (ptr, ptr, ...) @fprintf(ptr %t15, ptr @.fmt_bounds, ptr @.str19909, i32 %t9, i32 %t13) call void @exit(i32 1) unreachable ixok3: %t16 = getelementptr inbounds ptr, ptr %t11, i32 %t9 %t17 = load ptr, ptr %t16 %t18 = load i32, ptr %t0 call void @fn_emit_test_fn(ptr %t17, i32 %t18) %t19 = load i32, ptr %t0 %t20 = add i32 %t19, 1 store i32 %t20, ptr %t0 br label %wcond0 wend2: %t21 = load i32, ptr @g_g_uses_expect %t22 = icmp ne i32 %t21, 0 br i1 %t22, label %then5, label %ifend7 then5: call void @fn_emith(ptr @.str19911) br label %ifend7 ifend7: %t23 = load i32, ptr @g_g_uses_expect_str %t24 = icmp ne i32 %t23, 0 br i1 %t24, label %then8, label %ifend10 then8: call void @fn_emith(ptr @.str19912) br label %ifend10 ifend10: %t25 = load i32, ptr @g_g_uses_expect_fp %t26 = icmp ne i32 %t25, 0 br i1 %t26, label %then11, label %ifend13 then11: call void @fn_emith(ptr @.str19913) br label %ifend13 ifend13: store i32 0, ptr @g_ll_t store i32 0, ptr @g_ll_lbl call void @fn_emit(ptr @.str19914) call void @fn_emit(ptr @.str19915) call void @fn_emit(ptr @.str19916) call void @fn_emit(ptr @.str19917) call void @fn_emit(ptr @.str19918) call void @fn_emit(ptr @.str19919) %t27 = call ptr @fn_lbl(ptr @.str19920) store ptr %t27, ptr %t28 %t29 = call ptr @fn_lbl(ptr @.str19921) store ptr %t29, ptr %t30 %t31 = call ptr @fn_emit_bind(ptr @.str19922) store ptr %t31, ptr %t32 %t33 = load ptr, ptr %t32 store i32 10451, ptr @lp_site %t34 = call ptr @lp_str_concat(ptr @.str19923, ptr %t33) store i32 0, ptr @lp_site store i32 10452, ptr @lp_site %t35 = call ptr @lp_str_concat(ptr %t34, ptr @.str19924) store i32 0, ptr @lp_site call void @lp_free(ptr %t34) %t36 = load ptr, ptr %t28 store i32 10453, ptr @lp_site %t37 = call ptr @lp_str_concat(ptr %t35, ptr %t36) store i32 0, ptr @lp_site call void @lp_free(ptr %t35) store i32 10454, ptr @lp_site %t38 = call ptr @lp_str_concat(ptr %t37, ptr @.str19925) store i32 0, ptr @lp_site call void @lp_free(ptr %t37) %t39 = load ptr, ptr %t30 store i32 10455, ptr @lp_site %t40 = call ptr @lp_str_concat(ptr %t38, ptr %t39) store i32 0, ptr @lp_site call void @lp_free(ptr %t38) store i32 10456, ptr @lp_site %t41 = call ptr @lp_str_concat(ptr %t40, ptr @.str19926) store i32 0, ptr @lp_site call void @lp_free(ptr %t40) call void @fn_emit(ptr %t41) %t42 = load ptr, ptr %t28 store i32 10457, ptr @lp_site %t43 = call ptr @lp_str_concat(ptr %t42, ptr @.str19927) store i32 0, ptr @lp_site call void @fn_emit(ptr %t43) %t44 = call ptr @fn_emit_bind(ptr @.str19928) store ptr %t44, ptr %t45 %t46 = load ptr, ptr %t45 store i32 10458, ptr @lp_site %t47 = call ptr @lp_str_concat(ptr @.str19929, ptr %t46) store i32 0, ptr @lp_site %t48 = call ptr @fn_emit_bind(ptr %t47) store ptr %t48, ptr %t49 %t50 = load ptr, ptr %t49 store i32 10459, ptr @lp_site %t51 = call ptr @lp_str_concat(ptr @.str19930, ptr %t50) store i32 0, ptr @lp_site store i32 10460, ptr @lp_site %t52 = call ptr @lp_str_concat(ptr %t51, ptr @.str19931) store i32 0, ptr @lp_site call void @lp_free(ptr %t51) call void @fn_emit(ptr %t52) %t53 = load ptr, ptr %t30 store i32 10461, ptr @lp_site %t54 = call ptr @lp_str_concat(ptr @.str19932, ptr %t53) store i32 0, ptr @lp_site store i32 10462, ptr @lp_site %t55 = call ptr @lp_str_concat(ptr %t54, ptr @.str19933) store i32 0, ptr @lp_site call void @lp_free(ptr %t54) call void @fn_emit(ptr %t55) %t56 = load ptr, ptr %t30 store i32 10463, ptr @lp_site %t57 = call ptr @lp_str_concat(ptr %t56, ptr @.str19934) store i32 0, ptr @lp_site call void @fn_emit(ptr %t57) %t58 = call ptr @fn_lbl(ptr @.str19935) store ptr %t58, ptr %t59 %t60 = call ptr @fn_lbl(ptr @.str19936) store ptr %t60, ptr %t61 %t62 = call ptr @fn_emit_bind(ptr @.str19937) store ptr %t62, ptr %t63 %t64 = load ptr, ptr %t63 store i32 10464, ptr @lp_site %t65 = call ptr @lp_str_concat(ptr @.str19938, ptr %t64) store i32 0, ptr @lp_site store i32 10465, ptr @lp_site %t66 = call ptr @lp_str_concat(ptr %t65, ptr @.str19939) store i32 0, ptr @lp_site call void @lp_free(ptr %t65) %t67 = call ptr @fn_emit_bind(ptr %t66) store ptr %t67, ptr %t68 %t69 = call ptr @fn_lbl(ptr @.str19940) store ptr %t69, ptr %t70 %t71 = load ptr, ptr %t68 store i32 10466, ptr @lp_site %t72 = call ptr @lp_str_concat(ptr @.str19941, ptr %t71) store i32 0, ptr @lp_site store i32 10467, ptr @lp_site %t73 = call ptr @lp_str_concat(ptr %t72, ptr @.str19942) store i32 0, ptr @lp_site call void @lp_free(ptr %t72) %t74 = load ptr, ptr %t70 store i32 10468, ptr @lp_site %t75 = call ptr @lp_str_concat(ptr %t73, ptr %t74) store i32 0, ptr @lp_site call void @lp_free(ptr %t73) store i32 10469, ptr @lp_site %t76 = call ptr @lp_str_concat(ptr %t75, ptr @.str19943) store i32 0, ptr @lp_site call void @lp_free(ptr %t75) %t77 = load ptr, ptr %t61 store i32 10470, ptr @lp_site %t78 = call ptr @lp_str_concat(ptr %t76, ptr %t77) store i32 0, ptr @lp_site call void @lp_free(ptr %t76) store i32 10471, ptr @lp_site %t79 = call ptr @lp_str_concat(ptr %t78, ptr @.str19944) store i32 0, ptr @lp_site call void @lp_free(ptr %t78) call void @fn_emit(ptr %t79) %t80 = load ptr, ptr %t70 store i32 10472, ptr @lp_site %t81 = call ptr @lp_str_concat(ptr %t80, ptr @.str19945) store i32 0, ptr @lp_site call void @fn_emit(ptr %t81) %t82 = call ptr @fn_emit_str_const(ptr @.str19946) store ptr %t82, ptr %t83 %t84 = load ptr, ptr %t63 store i32 10473, ptr @lp_site %t85 = call ptr @lp_str_concat(ptr @.str19947, ptr %t84) store i32 0, ptr @lp_site store i32 10474, ptr @lp_site %t86 = call ptr @lp_str_concat(ptr %t85, ptr @.str19948) store i32 0, ptr @lp_site call void @lp_free(ptr %t85) %t87 = load ptr, ptr %t83 store i32 10475, ptr @lp_site %t88 = call ptr @lp_str_concat(ptr %t86, ptr %t87) store i32 0, ptr @lp_site call void @lp_free(ptr %t86) store i32 10476, ptr @lp_site %t89 = call ptr @lp_str_concat(ptr %t88, ptr @.str19949) store i32 0, ptr @lp_site call void @lp_free(ptr %t88) %t90 = call ptr @fn_emit_bind(ptr %t89) store ptr %t90, ptr %t91 %t92 = load ptr, ptr %t91 store i32 10477, ptr @lp_site %t93 = call ptr @lp_str_concat(ptr @.str19950, ptr %t92) store i32 0, ptr @lp_site store i32 10478, ptr @lp_site %t94 = call ptr @lp_str_concat(ptr %t93, ptr @.str19951) store i32 0, ptr @lp_site call void @lp_free(ptr %t93) %t95 = call ptr @fn_emit_bind(ptr %t94) store ptr %t95, ptr %t96 %t97 = load ptr, ptr %t96 store i32 10479, ptr @lp_site %t98 = call ptr @lp_str_concat(ptr @.str19952, ptr %t97) store i32 0, ptr @lp_site store i32 10480, ptr @lp_site %t99 = call ptr @lp_str_concat(ptr %t98, ptr @.str19953) store i32 0, ptr @lp_site call void @lp_free(ptr %t98) %t100 = load ptr, ptr %t59 store i32 10481, ptr @lp_site %t101 = call ptr @lp_str_concat(ptr %t99, ptr %t100) store i32 0, ptr @lp_site call void @lp_free(ptr %t99) store i32 10482, ptr @lp_site %t102 = call ptr @lp_str_concat(ptr %t101, ptr @.str19954) store i32 0, ptr @lp_site call void @lp_free(ptr %t101) %t103 = load ptr, ptr %t61 store i32 10483, ptr @lp_site %t104 = call ptr @lp_str_concat(ptr %t102, ptr %t103) store i32 0, ptr @lp_site call void @lp_free(ptr %t102) store i32 10484, ptr @lp_site %t105 = call ptr @lp_str_concat(ptr %t104, ptr @.str19955) store i32 0, ptr @lp_site call void @lp_free(ptr %t104) call void @fn_emit(ptr %t105) %t106 = load ptr, ptr %t59 store i32 10485, ptr @lp_site %t107 = call ptr @lp_str_concat(ptr %t106, ptr @.str19956) store i32 0, ptr @lp_site call void @fn_emit(ptr %t107) store i32 0, ptr %t108 br label %wcond14 wcond14: %t109 = load i32, ptr %t108 %t110 = load ptr, ptr @g_g_tests %t111 = getelementptr inbounds %LSlice, ptr %t110, i32 0, i32 1 %t112 = load i32, ptr %t111 %t113 = icmp slt i32 %t109, %t112 %t114 = zext i1 %t113 to i32 %t115 = icmp ne i32 %t114, 0 br i1 %t115, label %wbody15, label %wend16 wbody15: %t116 = load ptr, ptr @g_g_tests %t117 = load i32, ptr %t108 %t118 = getelementptr inbounds %LSlice, ptr %t116, i32 0, i32 0 %t119 = load ptr, ptr %t118 %t120 = getelementptr inbounds %LSlice, ptr %t116, i32 0, i32 1 %t121 = load i32, ptr %t120 %t122 = icmp ult i32 %t117, %t121 br i1 %t122, label %ixok17, label %ixbad18 ixbad18: store i32 10486, ptr @lp_site %t123 = call ptr @lp_win_stdio(i32 2) store i32 0, ptr @lp_site call i32 (ptr, ptr, ...) @fprintf(ptr %t123, ptr @.fmt_bounds, ptr @.str19957, i32 %t117, i32 %t121) call void @exit(i32 1) unreachable ixok17: %t124 = getelementptr inbounds ptr, ptr %t119, i32 %t117 %t125 = load ptr, ptr %t124 %t126 = getelementptr inbounds %Cmp_Node, ptr %t125, i32 0, i32 1 %t127 = load ptr, ptr %t126 %t128 = call ptr @fn_emit_str_const(ptr %t127) store ptr %t128, ptr %t129 %t130 = load ptr, ptr %t129 store i32 10487, ptr @lp_site %t131 = call ptr @lp_str_concat(ptr @.str19958, ptr %t130) store i32 0, ptr @lp_site store i32 10488, ptr @lp_site %t132 = call ptr @lp_str_concat(ptr %t131, ptr @.str19959) store i32 0, ptr @lp_site call void @lp_free(ptr %t131) call void @fn_emit(ptr %t132) %t133 = load i32, ptr %t108 %t134 = add i32 %t133, 1 store i32 %t134, ptr %t108 br label %wcond14 wend16: call void @fn_emit(ptr @.str19960) %t135 = load ptr, ptr %t61 store i32 10489, ptr @lp_site %t136 = call ptr @lp_str_concat(ptr %t135, ptr @.str19961) store i32 0, ptr @lp_site call void @fn_emit(ptr %t136) call void @fn_emit(ptr @.str19962) %t137 = call i32 @fn_has_ecs() %t138 = icmp ne i32 %t137, 0 br i1 %t138, label %then19, label %ifend21 then19: call void @fn_emit(ptr @.str19963) br label %ifend21 ifend21: %t139 = call i32 @fn_has_ecs() %t140 = icmp ne i32 %t139, 0 br i1 %t140, label %then22, label %ifend24 then22: call void @fn_emit(ptr @.str19964) br label %ifend24 ifend24: call void @fn_emit(ptr @.str19965) store i32 0, ptr %t0 br label %wcond25 wcond25: %t141 = load i32, ptr %t0 %t142 = load ptr, ptr @g_g_tests %t143 = getelementptr inbounds %LSlice, ptr %t142, i32 0, i32 1 %t144 = load i32, ptr %t143 %t145 = icmp slt i32 %t141, %t144 %t146 = zext i1 %t145 to i32 %t147 = icmp ne i32 %t146, 0 br i1 %t147, label %wbody26, label %wend27 wbody26: %t148 = load ptr, ptr @g_g_tests %t149 = load i32, ptr %t0 %t150 = getelementptr inbounds %LSlice, ptr %t148, i32 0, i32 0 %t151 = load ptr, ptr %t150 %t152 = getelementptr inbounds %LSlice, ptr %t148, i32 0, i32 1 %t153 = load i32, ptr %t152 %t154 = icmp ult i32 %t149, %t153 br i1 %t154, label %ixok28, label %ixbad29 ixbad29: store i32 10490, ptr @lp_site %t155 = call ptr @lp_win_stdio(i32 2) store i32 0, ptr @lp_site call i32 (ptr, ptr, ...) @fprintf(ptr %t155, ptr @.fmt_bounds, ptr @.str19967, i32 %t149, i32 %t153) call void @exit(i32 1) unreachable ixok28: %t156 = getelementptr inbounds ptr, ptr %t151, i32 %t149 %t157 = load ptr, ptr %t156 %t158 = getelementptr inbounds %Cmp_Node, ptr %t157, i32 0, i32 1 %t159 = load ptr, ptr %t158 store i32 10491, ptr @lp_site %t160 = call ptr @lp_str_concat(ptr @.str19966, ptr %t159) store i32 0, ptr @lp_site %t161 = call ptr @fn_emit_str_const(ptr %t160) store ptr %t161, ptr %t162 %t163 = load ptr, ptr @g_g_tests %t164 = load i32, ptr %t0 %t165 = getelementptr inbounds %LSlice, ptr %t163, i32 0, i32 0 %t166 = load ptr, ptr %t165 %t167 = getelementptr inbounds %LSlice, ptr %t163, i32 0, i32 1 %t168 = load i32, ptr %t167 %t169 = icmp ult i32 %t164, %t168 br i1 %t169, label %ixok30, label %ixbad31 ixbad31: store i32 10492, ptr @lp_site %t170 = call ptr @lp_win_stdio(i32 2) store i32 0, ptr @lp_site call i32 (ptr, ptr, ...) @fprintf(ptr %t170, ptr @.fmt_bounds, ptr @.str19969, i32 %t164, i32 %t168) call void @exit(i32 1) unreachable ixok30: %t171 = getelementptr inbounds ptr, ptr %t166, i32 %t164 %t172 = load ptr, ptr %t171 %t173 = getelementptr inbounds %Cmp_Node, ptr %t172, i32 0, i32 1 %t174 = load ptr, ptr %t173 store i32 10493, ptr @lp_site %t175 = call ptr @lp_str_concat(ptr @.str19968, ptr %t174) store i32 0, ptr @lp_site %t176 = call ptr @fn_emit_str_const(ptr %t175) store ptr %t176, ptr %t177 %t178 = load ptr, ptr @g_g_tests %t179 = load i32, ptr %t0 %t180 = getelementptr inbounds %LSlice, ptr %t178, i32 0, i32 0 %t181 = load ptr, ptr %t180 %t182 = getelementptr inbounds %LSlice, ptr %t178, i32 0, i32 1 %t183 = load i32, ptr %t182 %t184 = icmp ult i32 %t179, %t183 br i1 %t184, label %ixok32, label %ixbad33 ixbad33: store i32 10494, ptr @lp_site %t185 = call ptr @lp_win_stdio(i32 2) store i32 0, ptr @lp_site call i32 (ptr, ptr, ...) @fprintf(ptr %t185, ptr @.fmt_bounds, ptr @.str19970, i32 %t179, i32 %t183) call void @exit(i32 1) unreachable ixok32: %t186 = getelementptr inbounds ptr, ptr %t181, i32 %t179 %t187 = load ptr, ptr %t186 %t188 = getelementptr inbounds %Cmp_Node, ptr %t187, i32 0, i32 1 %t189 = load ptr, ptr %t188 %t190 = call ptr @fn_emit_str_const(ptr %t189) store ptr %t190, ptr %t191 %t192 = call ptr @fn_lbl(ptr @.str19971) store ptr %t192, ptr %t193 %t194 = call ptr @fn_lbl(ptr @.str19972) store ptr %t194, ptr %t195 %t196 = call ptr @fn_lbl(ptr @.str19973) store ptr %t196, ptr %t197 %t198 = call ptr @fn_emit_bind(ptr @.str19974) store ptr %t198, ptr %t199 %t200 = load ptr, ptr %t199 store i32 10495, ptr @lp_site %t201 = call ptr @lp_str_concat(ptr @.str19975, ptr %t200) store i32 0, ptr @lp_site store i32 10496, ptr @lp_site %t202 = call ptr @lp_str_concat(ptr %t201, ptr @.str19976) store i32 0, ptr @lp_site call void @lp_free(ptr %t201) %t203 = call ptr @fn_emit_bind(ptr %t202) store ptr %t203, ptr %t204 %t205 = load ptr, ptr %t204 store i32 10497, ptr @lp_site %t206 = call ptr @lp_str_concat(ptr @.str19977, ptr %t205) store i32 0, ptr @lp_site store i32 10498, ptr @lp_site %t207 = call ptr @lp_str_concat(ptr %t206, ptr @.str19978) store i32 0, ptr @lp_site call void @lp_free(ptr %t206) %t208 = load ptr, ptr %t195 store i32 10499, ptr @lp_site %t209 = call ptr @lp_str_concat(ptr %t207, ptr %t208) store i32 0, ptr @lp_site call void @lp_free(ptr %t207) store i32 10500, ptr @lp_site %t210 = call ptr @lp_str_concat(ptr %t209, ptr @.str19979) store i32 0, ptr @lp_site call void @lp_free(ptr %t209) %t211 = load ptr, ptr %t193 store i32 10501, ptr @lp_site %t212 = call ptr @lp_str_concat(ptr %t210, ptr %t211) store i32 0, ptr @lp_site call void @lp_free(ptr %t210) store i32 10502, ptr @lp_site %t213 = call ptr @lp_str_concat(ptr %t212, ptr @.str19980) store i32 0, ptr @lp_site call void @lp_free(ptr %t212) call void @fn_emit(ptr %t213) %t214 = load ptr, ptr %t193 store i32 10503, ptr @lp_site %t215 = call ptr @lp_str_concat(ptr %t214, ptr @.str19981) store i32 0, ptr @lp_site call void @fn_emit(ptr %t215) %t216 = load ptr, ptr %t199 store i32 10504, ptr @lp_site %t217 = call ptr @lp_str_concat(ptr @.str19982, ptr %t216) store i32 0, ptr @lp_site store i32 10505, ptr @lp_site %t218 = call ptr @lp_str_concat(ptr %t217, ptr @.str19983) store i32 0, ptr @lp_site call void @lp_free(ptr %t217) %t219 = load ptr, ptr %t191 store i32 10506, ptr @lp_site %t220 = call ptr @lp_str_concat(ptr %t218, ptr %t219) store i32 0, ptr @lp_site call void @lp_free(ptr %t218) store i32 10507, ptr @lp_site %t221 = call ptr @lp_str_concat(ptr %t220, ptr @.str19984) store i32 0, ptr @lp_site call void @lp_free(ptr %t220) %t222 = call ptr @fn_emit_bind(ptr %t221) store ptr %t222, ptr %t223 %t224 = load ptr, ptr %t223 store i32 10508, ptr @lp_site %t225 = call ptr @lp_str_concat(ptr @.str19985, ptr %t224) store i32 0, ptr @lp_site store i32 10509, ptr @lp_site %t226 = call ptr @lp_str_concat(ptr %t225, ptr @.str19986) store i32 0, ptr @lp_site call void @lp_free(ptr %t225) %t227 = call ptr @fn_emit_bind(ptr %t226) store ptr %t227, ptr %t228 %t229 = load ptr, ptr %t228 store i32 10510, ptr @lp_site %t230 = call ptr @lp_str_concat(ptr @.str19987, ptr %t229) store i32 0, ptr @lp_site store i32 10511, ptr @lp_site %t231 = call ptr @lp_str_concat(ptr %t230, ptr @.str19988) store i32 0, ptr @lp_site call void @lp_free(ptr %t230) %t232 = load ptr, ptr %t195 store i32 10512, ptr @lp_site %t233 = call ptr @lp_str_concat(ptr %t231, ptr %t232) store i32 0, ptr @lp_site call void @lp_free(ptr %t231) store i32 10513, ptr @lp_site %t234 = call ptr @lp_str_concat(ptr %t233, ptr @.str19989) store i32 0, ptr @lp_site call void @lp_free(ptr %t233) %t235 = load ptr, ptr %t197 store i32 10514, ptr @lp_site %t236 = call ptr @lp_str_concat(ptr %t234, ptr %t235) store i32 0, ptr @lp_site call void @lp_free(ptr %t234) store i32 10515, ptr @lp_site %t237 = call ptr @lp_str_concat(ptr %t236, ptr @.str19990) store i32 0, ptr @lp_site call void @lp_free(ptr %t236) call void @fn_emit(ptr %t237) %t238 = load ptr, ptr %t195 store i32 10516, ptr @lp_site %t239 = call ptr @lp_str_concat(ptr %t238, ptr @.str19991) store i32 0, ptr @lp_site call void @fn_emit(ptr %t239) %t240 = call ptr @fn_emit_bind(ptr @.str19992) store ptr %t240, ptr %t241 %t242 = load ptr, ptr %t241 store i32 10517, ptr @lp_site %t243 = call ptr @lp_str_concat(ptr @.str19993, ptr %t242) store i32 0, ptr @lp_site store i32 10518, ptr @lp_site %t244 = call ptr @lp_str_concat(ptr %t243, ptr @.str19994) store i32 0, ptr @lp_site call void @lp_free(ptr %t243) %t245 = call ptr @fn_emit_bind(ptr %t244) store ptr %t245, ptr %t246 %t247 = load ptr, ptr %t246 store i32 10519, ptr @lp_site %t248 = call ptr @lp_str_concat(ptr @.str19995, ptr %t247) store i32 0, ptr @lp_site store i32 10520, ptr @lp_site %t249 = call ptr @lp_str_concat(ptr %t248, ptr @.str19996) store i32 0, ptr @lp_site call void @lp_free(ptr %t248) call void @fn_emit(ptr %t249) call void @fn_emit(ptr @.str19997) %t250 = load i32, ptr %t0 %t251 = icmp sgt i32 %t250, 0 %t252 = zext i1 %t251 to i32 %t253 = icmp ne i32 %t252, 0 br i1 %t253, label %then34, label %ifend36 then34: call void @fn_emit(ptr @.str19998) call void @fn_emit(ptr @.str19999) br label %ifend36 ifend36: %t254 = load i32, ptr %t0 %t255 = call ptr @fn_itoa(i32 %t254) store i32 10521, ptr @lp_site %t256 = call ptr @lp_str_concat(ptr @.str20000, ptr %t255) store i32 0, ptr @lp_site store i32 10522, ptr @lp_site %t257 = call ptr @lp_str_concat(ptr %t256, ptr @.str20001) store i32 0, ptr @lp_site call void @lp_free(ptr %t256) call void @fn_emit(ptr %t257) %t258 = call ptr @fn_emit_bind(ptr @.str20002) store ptr %t258, ptr %t259 %t260 = load ptr, ptr %t259 store i32 10523, ptr @lp_site %t261 = call ptr @lp_str_concat(ptr @.str20003, ptr %t260) store i32 0, ptr @lp_site store i32 10524, ptr @lp_site %t262 = call ptr @lp_str_concat(ptr %t261, ptr @.str20004) store i32 0, ptr @lp_site call void @lp_free(ptr %t261) %t263 = call ptr @fn_emit_bind(ptr %t262) store ptr %t263, ptr %t264 %t265 = call ptr @fn_lbl(ptr @.str20005) store ptr %t265, ptr %t266 %t267 = call ptr @fn_lbl(ptr @.str20006) store ptr %t267, ptr %t268 %t269 = call ptr @fn_lbl(ptr @.str20007) store ptr %t269, ptr %t270 %t271 = load ptr, ptr %t264 store i32 10525, ptr @lp_site %t272 = call ptr @lp_str_concat(ptr @.str20008, ptr %t271) store i32 0, ptr @lp_site store i32 10526, ptr @lp_site %t273 = call ptr @lp_str_concat(ptr %t272, ptr @.str20009) store i32 0, ptr @lp_site call void @lp_free(ptr %t272) %t274 = load ptr, ptr %t268 store i32 10527, ptr @lp_site %t275 = call ptr @lp_str_concat(ptr %t273, ptr %t274) store i32 0, ptr @lp_site call void @lp_free(ptr %t273) store i32 10528, ptr @lp_site %t276 = call ptr @lp_str_concat(ptr %t275, ptr @.str20010) store i32 0, ptr @lp_site call void @lp_free(ptr %t275) %t277 = load ptr, ptr %t266 store i32 10529, ptr @lp_site %t278 = call ptr @lp_str_concat(ptr %t276, ptr %t277) store i32 0, ptr @lp_site call void @lp_free(ptr %t276) store i32 10530, ptr @lp_site %t279 = call ptr @lp_str_concat(ptr %t278, ptr @.str20011) store i32 0, ptr @lp_site call void @lp_free(ptr %t278) call void @fn_emit(ptr %t279) %t280 = load ptr, ptr %t266 store i32 10531, ptr @lp_site %t281 = call ptr @lp_str_concat(ptr %t280, ptr @.str20012) store i32 0, ptr @lp_site call void @fn_emit(ptr %t281) %t282 = load ptr, ptr %t162 store i32 10532, ptr @lp_site %t283 = call ptr @lp_str_concat(ptr @.str20013, ptr %t282) store i32 0, ptr @lp_site store i32 10533, ptr @lp_site %t284 = call ptr @lp_str_concat(ptr %t283, ptr @.str20014) store i32 0, ptr @lp_site call void @lp_free(ptr %t283) call void @fn_emit(ptr %t284) %t285 = load ptr, ptr %t270 store i32 10534, ptr @lp_site %t286 = call ptr @lp_str_concat(ptr @.str20015, ptr %t285) store i32 0, ptr @lp_site store i32 10535, ptr @lp_site %t287 = call ptr @lp_str_concat(ptr %t286, ptr @.str20016) store i32 0, ptr @lp_site call void @lp_free(ptr %t286) call void @fn_emit(ptr %t287) %t288 = load ptr, ptr %t268 store i32 10536, ptr @lp_site %t289 = call ptr @lp_str_concat(ptr %t288, ptr @.str20017) store i32 0, ptr @lp_site call void @fn_emit(ptr %t289) %t290 = call ptr @fn_emit_bind(ptr @.str20018) store ptr %t290, ptr %t291 %t292 = load ptr, ptr %t291 store i32 10537, ptr @lp_site %t293 = call ptr @lp_str_concat(ptr @.str20019, ptr %t292) store i32 0, ptr @lp_site store i32 10538, ptr @lp_site %t294 = call ptr @lp_str_concat(ptr %t293, ptr @.str20020) store i32 0, ptr @lp_site call void @lp_free(ptr %t293) %t295 = call ptr @fn_emit_bind(ptr %t294) store ptr %t295, ptr %t296 %t297 = load ptr, ptr %t296 store i32 10539, ptr @lp_site %t298 = call ptr @lp_str_concat(ptr @.str20021, ptr %t297) store i32 0, ptr @lp_site store i32 10540, ptr @lp_site %t299 = call ptr @lp_str_concat(ptr %t298, ptr @.str20022) store i32 0, ptr @lp_site call void @lp_free(ptr %t298) call void @fn_emit(ptr %t299) %t300 = load ptr, ptr %t177 store i32 10541, ptr @lp_site %t301 = call ptr @lp_str_concat(ptr @.str20023, ptr %t300) store i32 0, ptr @lp_site store i32 10542, ptr @lp_site %t302 = call ptr @lp_str_concat(ptr %t301, ptr @.str20024) store i32 0, ptr @lp_site call void @lp_free(ptr %t301) call void @fn_emit(ptr %t302) %t303 = load ptr, ptr %t270 store i32 10543, ptr @lp_site %t304 = call ptr @lp_str_concat(ptr @.str20025, ptr %t303) store i32 0, ptr @lp_site store i32 10544, ptr @lp_site %t305 = call ptr @lp_str_concat(ptr %t304, ptr @.str20026) store i32 0, ptr @lp_site call void @lp_free(ptr %t304) call void @fn_emit(ptr %t305) %t306 = load ptr, ptr %t270 store i32 10545, ptr @lp_site %t307 = call ptr @lp_str_concat(ptr %t306, ptr @.str20027) store i32 0, ptr @lp_site call void @fn_emit(ptr %t307) %t308 = load ptr, ptr %t197 store i32 10546, ptr @lp_site %t309 = call ptr @lp_str_concat(ptr @.str20028, ptr %t308) store i32 0, ptr @lp_site store i32 10547, ptr @lp_site %t310 = call ptr @lp_str_concat(ptr %t309, ptr @.str20029) store i32 0, ptr @lp_site call void @lp_free(ptr %t309) call void @fn_emit(ptr %t310) %t311 = load ptr, ptr %t197 store i32 10548, ptr @lp_site %t312 = call ptr @lp_str_concat(ptr %t311, ptr @.str20030) store i32 0, ptr @lp_site call void @fn_emit(ptr %t312) %t313 = load i32, ptr %t0 %t314 = add i32 %t313, 1 store i32 %t314, ptr %t0 br label %wcond25 wend27: %t315 = call ptr @fn_lbl(ptr @.str20031) store ptr %t315, ptr %t316 %t317 = call ptr @fn_lbl(ptr @.str20032) store ptr %t317, ptr %t318 %t319 = call ptr @fn_emit_bind(ptr @.str20033) store ptr %t319, ptr %t320 %t321 = call ptr @fn_emit_bind(ptr @.str20034) store ptr %t321, ptr %t322 %t323 = load ptr, ptr %t322 store i32 10549, ptr @lp_site %t324 = call ptr @lp_str_concat(ptr @.str20035, ptr %t323) store i32 0, ptr @lp_site store i32 10550, ptr @lp_site %t325 = call ptr @lp_str_concat(ptr %t324, ptr @.str20036) store i32 0, ptr @lp_site call void @lp_free(ptr %t324) %t326 = call ptr @fn_emit_bind(ptr %t325) store ptr %t326, ptr %t327 %t328 = load ptr, ptr %t320 store i32 10551, ptr @lp_site %t329 = call ptr @lp_str_concat(ptr @.str20037, ptr %t328) store i32 0, ptr @lp_site store i32 10552, ptr @lp_site %t330 = call ptr @lp_str_concat(ptr %t329, ptr @.str20038) store i32 0, ptr @lp_site call void @lp_free(ptr %t329) %t331 = call ptr @fn_emit_bind(ptr %t330) store ptr %t331, ptr %t332 %t333 = load ptr, ptr %t327 store i32 10553, ptr @lp_site %t334 = call ptr @lp_str_concat(ptr @.str20039, ptr %t333) store i32 0, ptr @lp_site store i32 10554, ptr @lp_site %t335 = call ptr @lp_str_concat(ptr %t334, ptr @.str20040) store i32 0, ptr @lp_site call void @lp_free(ptr %t334) %t336 = load ptr, ptr %t332 store i32 10555, ptr @lp_site %t337 = call ptr @lp_str_concat(ptr %t335, ptr %t336) store i32 0, ptr @lp_site call void @lp_free(ptr %t335) %t338 = call ptr @fn_emit_bind(ptr %t337) store ptr %t338, ptr %t339 %t340 = load ptr, ptr %t339 store i32 10556, ptr @lp_site %t341 = call ptr @lp_str_concat(ptr @.str20041, ptr %t340) store i32 0, ptr @lp_site store i32 10557, ptr @lp_site %t342 = call ptr @lp_str_concat(ptr %t341, ptr @.str20042) store i32 0, ptr @lp_site call void @lp_free(ptr %t341) %t343 = load ptr, ptr %t316 store i32 10558, ptr @lp_site %t344 = call ptr @lp_str_concat(ptr %t342, ptr %t343) store i32 0, ptr @lp_site call void @lp_free(ptr %t342) store i32 10559, ptr @lp_site %t345 = call ptr @lp_str_concat(ptr %t344, ptr @.str20043) store i32 0, ptr @lp_site call void @lp_free(ptr %t344) %t346 = load ptr, ptr %t318 store i32 10560, ptr @lp_site %t347 = call ptr @lp_str_concat(ptr %t345, ptr %t346) store i32 0, ptr @lp_site call void @lp_free(ptr %t345) store i32 10561, ptr @lp_site %t348 = call ptr @lp_str_concat(ptr %t347, ptr @.str20044) store i32 0, ptr @lp_site call void @lp_free(ptr %t347) call void @fn_emit(ptr %t348) %t349 = load ptr, ptr %t316 store i32 10562, ptr @lp_site %t350 = call ptr @lp_str_concat(ptr %t349, ptr @.str20045) store i32 0, ptr @lp_site call void @fn_emit(ptr %t350) %t351 = load ptr, ptr %t322 store i32 10563, ptr @lp_site %t352 = call ptr @lp_str_concat(ptr @.str20046, ptr %t351) store i32 0, ptr @lp_site store i32 10564, ptr @lp_site %t353 = call ptr @lp_str_concat(ptr %t352, ptr @.str20047) store i32 0, ptr @lp_site call void @lp_free(ptr %t352) call void @fn_emit(ptr %t353) call void @fn_emit(ptr @.str20048) %t354 = load ptr, ptr %t318 store i32 10565, ptr @lp_site %t355 = call ptr @lp_str_concat(ptr %t354, ptr @.str20049) store i32 0, ptr @lp_site call void @fn_emit(ptr %t355) %t356 = call ptr @fn_emit_bind(ptr @.str20050) store ptr %t356, ptr %t357 %t358 = load ptr, ptr %t320 store i32 10566, ptr @lp_site %t359 = call ptr @lp_str_concat(ptr @.str20051, ptr %t358) store i32 0, ptr @lp_site store i32 10567, ptr @lp_site %t360 = call ptr @lp_str_concat(ptr %t359, ptr @.str20052) store i32 0, ptr @lp_site call void @lp_free(ptr %t359) %t361 = load ptr, ptr %t357 store i32 10568, ptr @lp_site %t362 = call ptr @lp_str_concat(ptr %t360, ptr %t361) store i32 0, ptr @lp_site call void @lp_free(ptr %t360) %t363 = call ptr @fn_emit_bind(ptr %t362) store ptr %t363, ptr %t364 %t365 = load ptr, ptr %t364 store i32 10569, ptr @lp_site %t366 = call ptr @lp_str_concat(ptr @.str20053, ptr %t365) store i32 0, ptr @lp_site store i32 10570, ptr @lp_site %t367 = call ptr @lp_str_concat(ptr %t366, ptr @.str20054) store i32 0, ptr @lp_site call void @lp_free(ptr %t366) %t368 = load ptr, ptr %t357 store i32 10571, ptr @lp_site %t369 = call ptr @lp_str_concat(ptr %t367, ptr %t368) store i32 0, ptr @lp_site call void @lp_free(ptr %t367) store i32 10572, ptr @lp_site %t370 = call ptr @lp_str_concat(ptr %t369, ptr @.str20055) store i32 0, ptr @lp_site call void @lp_free(ptr %t369) call void @fn_emit(ptr %t370) %t371 = load ptr, ptr %t357 store i32 10573, ptr @lp_site %t372 = call ptr @lp_str_concat(ptr @.str20056, ptr %t371) store i32 0, ptr @lp_site store i32 10574, ptr @lp_site %t373 = call ptr @lp_str_concat(ptr %t372, ptr @.str20057) store i32 0, ptr @lp_site call void @lp_free(ptr %t372) %t374 = call ptr @fn_emit_bind(ptr %t373) store ptr %t374, ptr %t375 %t376 = load ptr, ptr %t375 store i32 10575, ptr @lp_site %t377 = call ptr @lp_str_concat(ptr @.str20058, ptr %t376) store i32 0, ptr @lp_site store i32 10576, ptr @lp_site %t378 = call ptr @lp_str_concat(ptr %t377, ptr @.str20059) store i32 0, ptr @lp_site call void @lp_free(ptr %t377) %t379 = call ptr @fn_emit_bind(ptr %t378) store ptr %t379, ptr %t380 %t381 = load ptr, ptr %t380 store i32 10577, ptr @lp_site %t382 = call ptr @lp_str_concat(ptr @.str20060, ptr %t381) store i32 0, ptr @lp_site store i32 10578, ptr @lp_site %t383 = call ptr @lp_str_concat(ptr %t382, ptr @.str20061) store i32 0, ptr @lp_site call void @lp_free(ptr %t382) call void @fn_emit(ptr %t383) br label %ret ret: ret void } define void @fn_check_duplicate_fns() { entry: %t6 = alloca ptr %t13 = alloca ptr %t16 = alloca i32 %t34 = alloca ptr %t47 = alloca ptr %t0 = getelementptr %LSlice, ptr null, i32 1 %t1 = ptrtoint ptr %t0 to i64 store i32 10579, ptr @lp_site %t2 = call ptr @lp_malloc(i64 %t1) store i32 0, ptr @lp_site %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 store i32 10580, ptr @lp_site %t9 = call ptr @lp_malloc(i64 %t8) store i32 0, ptr @lp_site %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 = load ptr, ptr %t13 call void @fn_ck_tab_init(ptr %t14, ptr %t15) store i32 0, ptr %t16 br label %wcond0 wcond0: %t17 = load i32, ptr %t16 %t18 = load ptr, ptr @g_prog %t19 = getelementptr inbounds %LSlice, ptr %t18, i32 0, i32 1 %t20 = load i32, ptr %t19 %t21 = icmp slt i32 %t17, %t20 %t22 = zext i1 %t21 to i32 %t23 = icmp ne i32 %t22, 0 br i1 %t23, label %wbody1, label %wend2 wbody1: %t24 = load ptr, ptr @g_prog %t25 = load i32, ptr %t16 %t26 = getelementptr inbounds %LSlice, ptr %t24, i32 0, i32 0 %t27 = load ptr, ptr %t26 %t28 = getelementptr inbounds %LSlice, ptr %t24, i32 0, i32 1 %t29 = load i32, ptr %t28 %t30 = icmp ult i32 %t25, %t29 br i1 %t30, label %ixok3, label %ixbad4 ixbad4: store i32 10581, ptr @lp_site %t31 = call ptr @lp_win_stdio(i32 2) store i32 0, ptr @lp_site call i32 (ptr, ptr, ...) @fprintf(ptr %t31, ptr @.fmt_bounds, ptr @.str20063, i32 %t25, i32 %t29) call void @exit(i32 1) unreachable ixok3: %t32 = getelementptr inbounds ptr, ptr %t27, i32 %t25 %t33 = load ptr, ptr %t32 store ptr %t33, ptr %t34 %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, 4 %t39 = zext i1 %t38 to i32 %t40 = icmp ne i32 %t39, 0 br i1 %t40, label %then5, label %ifend7 then5: %t41 = load ptr, ptr %t6 %t42 = load ptr, ptr %t13 %t43 = load ptr, ptr %t34 %t44 = getelementptr inbounds %Cmp_Node, ptr %t43, i32 0, i32 1 %t45 = load ptr, ptr %t44 %t46 = call ptr @fn_ck_tab_get(ptr %t41, ptr %t42, ptr %t45) store ptr %t46, ptr %t47 %t48 = load ptr, ptr %t47 %t49 = icmp ne ptr %t48, null %t50 = zext i1 %t49 to i32 %t51 = icmp ne i32 %t50, 0 br i1 %t51, label %then8, label %ifend10 then8: %t52 = load ptr, ptr %t34 %t53 = getelementptr inbounds %Cmp_Node, ptr %t52, i32 0, i32 9 %t54 = load ptr, ptr %t53 store ptr %t54, ptr @g_g_err_file %t55 = load ptr, ptr %t34 %t56 = getelementptr inbounds %Cmp_Node, ptr %t55, i32 0, i32 8 %t57 = load i32, ptr %t56 store i32 %t57, ptr @g_g_err_line %t58 = load ptr, ptr %t34 %t59 = getelementptr inbounds %Cmp_Node, ptr %t58, i32 0, i32 1 %t60 = load ptr, ptr %t59 store i32 10582, ptr @lp_site %t61 = call ptr @lp_str_concat(ptr @.str20064, ptr %t60) store i32 0, ptr @lp_site store i32 10583, ptr @lp_site %t62 = call ptr @lp_str_concat(ptr %t61, ptr @.str20065) store i32 0, ptr @lp_site call void @lp_free(ptr %t61) %t63 = load ptr, ptr %t47 %t64 = getelementptr inbounds %Cmp_Node, ptr %t63, i32 0, i32 9 %t65 = load ptr, ptr %t64 store i32 10584, ptr @lp_site %t66 = call ptr @lp_str_concat(ptr %t62, ptr %t65) store i32 0, ptr @lp_site call void @lp_free(ptr %t62) store i32 10585, ptr @lp_site %t67 = call ptr @lp_str_concat(ptr %t66, ptr @.str20066) store i32 0, ptr @lp_site call void @lp_free(ptr %t66) %t68 = load ptr, ptr %t47 %t69 = getelementptr inbounds %Cmp_Node, ptr %t68, i32 0, i32 8 %t70 = load i32, ptr %t69 %t71 = call ptr @fn_itoa(i32 %t70) store i32 10586, ptr @lp_site %t72 = call ptr @lp_str_concat(ptr %t67, ptr %t71) store i32 0, ptr @lp_site call void @lp_free(ptr %t67) store i32 10587, ptr @lp_site %t73 = call ptr @lp_str_concat(ptr %t72, ptr @.str20067) store i32 0, ptr @lp_site call void @lp_free(ptr %t72) call void @fn_perr(ptr %t73) br label %ifend10 ifend10: %t74 = load ptr, ptr %t6 %t75 = load ptr, ptr %t13 %t76 = load ptr, ptr %t34 %t77 = getelementptr inbounds %Cmp_Node, ptr %t76, i32 0, i32 1 %t78 = load ptr, ptr %t77 %t79 = load ptr, ptr %t34 call void @fn_ck_tab_put(ptr %t74, ptr %t75, ptr %t78, ptr %t79) br label %ifend7 ifend7: %t80 = load i32, ptr %t16 %t81 = add i32 %t80, 1 store i32 %t81, ptr %t16 br label %wcond0 wend2: br label %ret ret: ret void } define i32 @fn_decl_group(i32 %arg_k) { entry: %retval = alloca i32 %t0 = alloca i32 %t1 = alloca i32 %t2 = alloca i32 %t23 = alloca i32 %t24 = alloca i32 store i32 %arg_k, ptr %t0 %t3 = load i32, ptr %t0 %t4 = icmp eq i32 %t3, 2 %t5 = zext i1 %t4 to i32 %t6 = icmp ne i32 %t5, 0 %t7 = zext i1 %t6 to i32 store i32 %t7, ptr %t2 br i1 %t6, label %scend1, label %sc0 sc0: %t8 = load i32, ptr %t0 %t9 = icmp eq i32 %t8, 3 %t10 = zext i1 %t9 to i32 %t11 = icmp ne i32 %t10, 0 %t12 = zext i1 %t11 to i32 store i32 %t12, ptr %t2 br label %scend1 scend1: %t13 = load i32, ptr %t2 %t14 = icmp ne i32 %t13, 0 %t15 = zext i1 %t14 to i32 store i32 %t15, ptr %t1 br i1 %t14, label %scend3, label %sc2 sc2: %t16 = load i32, ptr %t0 %t17 = icmp eq i32 %t16, 27 %t18 = zext i1 %t17 to i32 %t19 = icmp ne i32 %t18, 0 %t20 = zext i1 %t19 to i32 store i32 %t20, ptr %t1 br label %scend3 scend3: %t21 = load i32, ptr %t1 %t22 = icmp ne i32 %t21, 0 br i1 %t22, label %then4, label %ifend6 then4: store i32 1, ptr %retval br label %ret ifend6: %t25 = load i32, ptr %t0 %t26 = icmp eq i32 %t25, 0 %t27 = zext i1 %t26 to i32 %t28 = icmp ne i32 %t27, 0 %t29 = zext i1 %t28 to i32 store i32 %t29, ptr %t24 br i1 %t28, label %scend8, label %sc7 sc7: %t30 = load i32, ptr %t0 %t31 = icmp eq i32 %t30, 8 %t32 = zext i1 %t31 to i32 %t33 = icmp ne i32 %t32, 0 %t34 = zext i1 %t33 to i32 store i32 %t34, ptr %t24 br label %scend8 scend8: %t35 = load i32, ptr %t24 %t36 = icmp ne i32 %t35, 0 %t37 = zext i1 %t36 to i32 store i32 %t37, ptr %t23 br i1 %t36, label %scend10, label %sc9 sc9: %t38 = load i32, ptr %t0 %t39 = icmp eq i32 %t38, 48 %t40 = zext i1 %t39 to i32 %t41 = icmp ne i32 %t40, 0 %t42 = zext i1 %t41 to i32 store i32 %t42, ptr %t23 br label %scend10 scend10: %t43 = load i32, ptr %t23 %t44 = icmp ne i32 %t43, 0 br i1 %t44, label %then11, label %ifend13 then11: store i32 2, ptr %retval br label %ret ifend13: store i32 0, ptr %retval br label %ret ret: %t45 = load i32, ptr %retval ret i32 %t45 } define ptr @fn_dup_whose(ptr %arg_first, ptr %arg_d) { entry: %retval = alloca ptr %t0 = alloca ptr %t1 = alloca ptr %t6 = alloca ptr %t17 = alloca i32 store ptr %arg_first, ptr %t0 store ptr %arg_d, ptr %t1 %t2 = load ptr, ptr %t0 %t3 = getelementptr inbounds %Cmp_Node, ptr %t2, i32 0, i32 9 %t4 = load ptr, ptr %t3 %t5 = call ptr @fn_pkg_of_file(ptr %t4) store ptr %t5, ptr %t6 %t7 = load ptr, ptr %t6 %t8 = call i32 @lp_str_eq(ptr %t7, ptr @.str20068) %t9 = icmp ne i32 %t8, 0 br i1 %t9, label %then0, label %ifend2 then0: %t10 = load ptr, ptr %t1 %t11 = getelementptr inbounds %Cmp_Node, ptr %t10, i32 0, i32 9 %t12 = load ptr, ptr %t11 %t13 = call ptr @fn_pkg_of_file(ptr %t12) store ptr %t13, ptr %t6 br label %ifend2 ifend2: %t14 = load ptr, ptr %t6 %t15 = call i32 @lp_str_eq(ptr %t14, ptr @.str20069) %t16 = icmp ne i32 %t15, 0 br i1 %t16, label %then3, label %ifend5 then3: store ptr @.str20070, ptr %retval br label %ret ifend5: %t18 = load ptr, ptr %t0 %t19 = getelementptr inbounds %Cmp_Node, ptr %t18, i32 0, i32 9 %t20 = load ptr, ptr %t19 %t21 = call ptr @fn_pkg_of_file(ptr %t20) %t22 = call i32 @lp_str_eq(ptr %t21, ptr @.str20071) %t23 = icmp eq i32 %t22, 0 %t24 = zext i1 %t23 to i32 %t25 = icmp ne i32 %t24, 0 %t26 = zext i1 %t25 to i32 store i32 %t26, ptr %t17 br i1 %t25, label %sc6, label %scend7 sc6: %t27 = load ptr, ptr %t1 %t28 = getelementptr inbounds %Cmp_Node, ptr %t27, i32 0, i32 9 %t29 = load ptr, ptr %t28 %t30 = call ptr @fn_pkg_of_file(ptr %t29) %t31 = call i32 @lp_str_eq(ptr %t30, ptr @.str20072) %t32 = icmp eq i32 %t31, 0 %t33 = zext i1 %t32 to i32 %t34 = icmp ne i32 %t33, 0 %t35 = zext i1 %t34 to i32 store i32 %t35, ptr %t17 br label %scend7 scend7: %t36 = load i32, ptr %t17 %t37 = icmp ne i32 %t36, 0 br i1 %t37, label %then8, label %ifend10 then8: store ptr @.str20073, ptr %retval br label %ret ifend10: %t38 = load ptr, ptr %t6 store i32 10588, ptr @lp_site %t39 = call ptr @lp_str_concat(ptr @.str20074, ptr %t38) store i32 0, ptr @lp_site store i32 10589, ptr @lp_site %t40 = call ptr @lp_str_concat(ptr %t39, ptr @.str20076) store i32 0, ptr @lp_site call void @lp_free(ptr %t39) store ptr %t40, ptr %retval br label %ret ret: %t41 = load ptr, ptr %retval ret ptr %t41 } define void @fn_check_duplicate_decls() { entry: %t6 = alloca ptr %t13 = alloca ptr %t17 = alloca i32 %t18 = alloca i32 %t19 = alloca i32 %t46 = alloca ptr %t51 = alloca i32 %t63 = alloca ptr %t68 = alloca ptr %t0 = getelementptr %LSlice, ptr null, i32 1 %t1 = ptrtoint ptr %t0 to i64 store i32 10590, ptr @lp_site %t2 = call ptr @lp_malloc(i64 %t1) store i32 0, ptr @lp_site %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 store i32 10591, ptr @lp_site %t9 = call ptr @lp_malloc(i64 %t8) store i32 0, ptr @lp_site %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 = load ptr, ptr %t13 call void @fn_ck_tab_init(ptr %t14, ptr %t15) %t16 = load i32, ptr @g_g_prog_user_end store i32 %t16, ptr %t17 store i32 0, ptr %t18 br label %wcond0 wcond0: %t20 = load i32, ptr %t18 %t21 = load i32, ptr %t17 %t22 = icmp slt 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 %t19 br i1 %t24, label %sc3, label %scend4 sc3: %t26 = load i32, ptr %t18 %t27 = load ptr, ptr @g_prog %t28 = getelementptr inbounds %LSlice, ptr %t27, i32 0, i32 1 %t29 = load i32, ptr %t28 %t30 = icmp slt i32 %t26, %t29 %t31 = zext i1 %t30 to i32 %t32 = icmp ne i32 %t31, 0 %t33 = zext i1 %t32 to i32 store i32 %t33, ptr %t19 br label %scend4 scend4: %t34 = load i32, ptr %t19 %t35 = icmp ne i32 %t34, 0 br i1 %t35, label %wbody1, label %wend2 wbody1: %t36 = load ptr, ptr @g_prog %t37 = load i32, ptr %t18 %t38 = getelementptr inbounds %LSlice, ptr %t36, i32 0, i32 0 %t39 = load ptr, ptr %t38 %t40 = getelementptr inbounds %LSlice, ptr %t36, i32 0, i32 1 %t41 = load i32, ptr %t40 %t42 = icmp ult i32 %t37, %t41 br i1 %t42, label %ixok5, label %ixbad6 ixbad6: store i32 10592, ptr @lp_site %t43 = call ptr @lp_win_stdio(i32 2) store i32 0, ptr @lp_site call i32 (ptr, ptr, ...) @fprintf(ptr %t43, ptr @.fmt_bounds, ptr @.str20078, i32 %t37, i32 %t41) call void @exit(i32 1) unreachable ixok5: %t44 = getelementptr inbounds ptr, ptr %t39, i32 %t37 %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 = call i32 @fn_decl_group(i32 %t49) store i32 %t50, ptr %t51 %t52 = load i32, ptr %t51 %t53 = icmp sgt i32 %t52, 0 %t54 = zext i1 %t53 to i32 %t55 = icmp ne i32 %t54, 0 br i1 %t55, label %then7, label %ifend9 then7: %t56 = load i32, ptr %t51 %t57 = call ptr @fn_itoa(i32 %t56) store i32 10593, ptr @lp_site %t58 = call ptr @lp_str_concat(ptr %t57, ptr @.str20079) store i32 0, ptr @lp_site %t59 = load ptr, ptr %t46 %t60 = getelementptr inbounds %Cmp_Node, ptr %t59, i32 0, i32 1 %t61 = load ptr, ptr %t60 store i32 10594, ptr @lp_site %t62 = call ptr @lp_str_concat(ptr %t58, ptr %t61) store i32 0, ptr @lp_site call void @lp_free(ptr %t58) store ptr %t62, ptr %t63 %t64 = load ptr, ptr %t6 %t65 = load ptr, ptr %t13 %t66 = load ptr, ptr %t63 %t67 = call ptr @fn_ck_tab_get(ptr %t64, ptr %t65, ptr %t66) store ptr %t67, ptr %t68 %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 %then10, label %ifend12 then10: %t73 = load ptr, ptr %t46 %t74 = getelementptr inbounds %Cmp_Node, ptr %t73, i32 0, i32 9 %t75 = load ptr, ptr %t74 store ptr %t75, ptr @g_g_err_file %t76 = load ptr, ptr %t46 %t77 = getelementptr inbounds %Cmp_Node, ptr %t76, i32 0, i32 8 %t78 = load i32, ptr %t77 store i32 %t78, ptr @g_g_err_line %t79 = load ptr, ptr %t46 %t80 = getelementptr inbounds %Cmp_Node, ptr %t79, i32 0, i32 1 %t81 = load ptr, ptr %t80 store i32 10595, ptr @lp_site %t82 = call ptr @lp_str_concat(ptr @.str20080, ptr %t81) store i32 0, ptr @lp_site store i32 10596, ptr @lp_site %t83 = call ptr @lp_str_concat(ptr %t82, ptr @.str20081) store i32 0, ptr @lp_site call void @lp_free(ptr %t82) %t84 = load ptr, ptr %t68 %t85 = getelementptr inbounds %Cmp_Node, ptr %t84, i32 0, i32 9 %t86 = load ptr, ptr %t85 store i32 10597, ptr @lp_site %t87 = call ptr @lp_str_concat(ptr %t83, ptr %t86) store i32 0, ptr @lp_site call void @lp_free(ptr %t83) store i32 10598, ptr @lp_site %t88 = call ptr @lp_str_concat(ptr %t87, ptr @.str20082) store i32 0, ptr @lp_site call void @lp_free(ptr %t87) %t89 = load ptr, ptr %t68 %t90 = getelementptr inbounds %Cmp_Node, ptr %t89, i32 0, i32 8 %t91 = load i32, ptr %t90 %t92 = call ptr @fn_itoa(i32 %t91) store i32 10599, ptr @lp_site %t93 = call ptr @lp_str_concat(ptr %t88, ptr %t92) store i32 0, ptr @lp_site call void @lp_free(ptr %t88) store i32 10600, ptr @lp_site %t94 = call ptr @lp_str_concat(ptr %t93, ptr @.str20083) store i32 0, ptr @lp_site call void @lp_free(ptr %t93) %t95 = load ptr, ptr %t68 %t96 = load ptr, ptr %t46 %t97 = call ptr @fn_dup_whose(ptr %t95, ptr %t96) store i32 10601, ptr @lp_site %t98 = call ptr @lp_str_concat(ptr %t94, ptr %t97) store i32 0, ptr @lp_site call void @lp_free(ptr %t94) call void @fn_perr(ptr %t98) br label %ifend12 ifend12: %t99 = load ptr, ptr %t6 %t100 = load ptr, ptr %t13 %t101 = load ptr, ptr %t63 %t102 = load ptr, ptr %t46 call void @fn_ck_tab_put(ptr %t99, ptr %t100, ptr %t101, ptr %t102) br label %ifend9 ifend9: %t103 = load i32, ptr %t18 %t104 = add i32 %t103, 1 store i32 %t104, ptr %t18 br label %wcond0 wend2: br label %ret ret: ret void } define void @fn_emit_program() { entry: %t70 = alloca i32 %t131 = alloca i32 %t210 = alloca i32 %t253 = alloca i32 call void @fn_check_duplicate_fns() call void @fn_check_duplicate_decls() call void @fn_ix_start() %t0 = call ptr @fn_buf_new() store ptr %t0, ptr @g_head %t1 = call ptr @fn_buf_new() store ptr %t1, ptr @g_code store i32 0, ptr @g_g_uses_str store i32 0, ptr @g_g_uses_intstr store i32 0, ptr @g_g_uses_fpstr %t2 = getelementptr %LSlice, ptr null, i32 1 %t3 = ptrtoint ptr %t2 to i64 store i32 10602, ptr @lp_site %t4 = call ptr @lp_malloc(i64 %t3) store i32 0, ptr @lp_site %t5 = getelementptr inbounds %LSlice, ptr %t4, i32 0, i32 0 store ptr null, ptr %t5 %t6 = getelementptr inbounds %LSlice, ptr %t4, i32 0, i32 1 store i32 0, ptr %t6 %t7 = getelementptr inbounds %LSlice, ptr %t4, i32 0, i32 2 store i32 0, ptr %t7 store ptr %t4, ptr @g_g_fp_decls %t8 = getelementptr %LSlice, ptr null, i32 1 %t9 = ptrtoint ptr %t8 to i64 store i32 10603, ptr @lp_site %t10 = call ptr @lp_malloc(i64 %t9) store i32 0, ptr @lp_site %t11 = getelementptr inbounds %LSlice, ptr %t10, i32 0, i32 0 store ptr null, ptr %t11 %t12 = getelementptr inbounds %LSlice, ptr %t10, i32 0, i32 1 store i32 0, ptr %t12 %t13 = getelementptr inbounds %LSlice, ptr %t10, i32 0, i32 2 store i32 0, ptr %t13 store ptr %t10, ptr @g_g_prevals store i32 0, ptr @g_g_uses_strslice store i32 0, ptr @g_g_uses_loopback store i32 0, ptr @g_g_uses_expect store i32 0, ptr @g_g_uses_panic store i32 0, ptr @g_g_fprintf_declared store i32 0, ptr @g_g_uses_result store i32 0, ptr @g_g_uses_option store i32 0, ptr @g_g_uses_quit store i32 0, ptr @g_g_uses_world_despawn %t14 = getelementptr %LSlice, ptr null, i32 1 %t15 = ptrtoint ptr %t14 to i64 store i32 10604, ptr @lp_site %t16 = call ptr @lp_malloc(i64 %t15) store i32 0, ptr @lp_site %t17 = getelementptr inbounds %LSlice, ptr %t16, i32 0, i32 0 store ptr null, ptr %t17 %t18 = getelementptr inbounds %LSlice, ptr %t16, i32 0, i32 1 store i32 0, ptr %t18 %t19 = getelementptr inbounds %LSlice, ptr %t16, i32 0, i32 2 store i32 0, ptr %t19 store ptr %t16, ptr @g_g_cov_lines store i32 1, ptr @g_g_cov_active call void @fn_fence_reset() %t20 = getelementptr %LSlice, ptr null, i32 1 %t21 = ptrtoint ptr %t20 to i64 store i32 10605, ptr @lp_site %t22 = call ptr @lp_malloc(i64 %t21) store i32 0, ptr @lp_site %t23 = getelementptr inbounds %LSlice, ptr %t22, i32 0, i32 0 store ptr null, ptr %t23 %t24 = getelementptr inbounds %LSlice, ptr %t22, i32 0, i32 1 store i32 0, ptr %t24 %t25 = getelementptr inbounds %LSlice, ptr %t22, i32 0, i32 2 store i32 0, ptr %t25 store ptr %t22, ptr @g_loc_name %t26 = getelementptr %LSlice, ptr null, i32 1 %t27 = ptrtoint ptr %t26 to i64 store i32 10606, ptr @lp_site %t28 = call ptr @lp_malloc(i64 %t27) store i32 0, ptr @lp_site %t29 = getelementptr inbounds %LSlice, ptr %t28, i32 0, i32 0 store ptr null, ptr %t29 %t30 = getelementptr inbounds %LSlice, ptr %t28, i32 0, i32 1 store i32 0, ptr %t30 %t31 = getelementptr inbounds %LSlice, ptr %t28, i32 0, i32 2 store i32 0, ptr %t31 store ptr %t28, ptr @g_loc_reg %t32 = getelementptr %LSlice, ptr null, i32 1 %t33 = ptrtoint ptr %t32 to i64 store i32 10607, ptr @lp_site %t34 = call ptr @lp_malloc(i64 %t33) store i32 0, ptr @lp_site %t35 = getelementptr inbounds %LSlice, ptr %t34, i32 0, i32 0 store ptr null, ptr %t35 %t36 = getelementptr inbounds %LSlice, ptr %t34, i32 0, i32 1 store i32 0, ptr %t36 %t37 = getelementptr inbounds %LSlice, ptr %t34, i32 0, i32 2 store i32 0, ptr %t37 store ptr %t34, ptr @g_loc_ty %t38 = getelementptr %LSlice, ptr null, i32 1 %t39 = ptrtoint ptr %t38 to i64 store i32 10608, ptr @lp_site %t40 = call ptr @lp_malloc(i64 %t39) store i32 0, ptr @lp_site %t41 = getelementptr inbounds %LSlice, ptr %t40, i32 0, i32 0 store ptr null, ptr %t41 %t42 = getelementptr inbounds %LSlice, ptr %t40, i32 0, i32 1 store i32 0, ptr %t42 %t43 = getelementptr inbounds %LSlice, ptr %t40, i32 0, i32 2 store i32 0, ptr %t43 store ptr %t40, ptr @g_loc_mut %t44 = getelementptr %LSlice, ptr null, i32 1 %t45 = ptrtoint ptr %t44 to i64 store i32 10609, ptr @lp_site %t46 = call ptr @lp_malloc(i64 %t45) store i32 0, ptr @lp_site %t47 = getelementptr inbounds %LSlice, ptr %t46, i32 0, i32 0 store ptr null, ptr %t47 %t48 = getelementptr inbounds %LSlice, ptr %t46, i32 0, i32 1 store i32 0, ptr %t48 %t49 = getelementptr inbounds %LSlice, ptr %t46, i32 0, i32 2 store i32 0, ptr %t49 store ptr %t46, ptr @g_brk_lbl %t50 = getelementptr %LSlice, ptr null, i32 1 %t51 = ptrtoint ptr %t50 to i64 store i32 10610, ptr @lp_site %t52 = call ptr @lp_malloc(i64 %t51) store i32 0, ptr @lp_site %t53 = getelementptr inbounds %LSlice, ptr %t52, i32 0, i32 0 store ptr null, ptr %t53 %t54 = getelementptr inbounds %LSlice, ptr %t52, i32 0, i32 1 store i32 0, ptr %t54 %t55 = getelementptr inbounds %LSlice, ptr %t52, i32 0, i32 2 store i32 0, ptr %t55 store ptr %t52, ptr @g_cnt_lbl %t56 = getelementptr %LSlice, ptr null, i32 1 %t57 = ptrtoint ptr %t56 to i64 store i32 10611, ptr @lp_site %t58 = call ptr @lp_malloc(i64 %t57) store i32 0, ptr @lp_site %t59 = getelementptr inbounds %LSlice, ptr %t58, i32 0, i32 0 store ptr null, ptr %t59 %t60 = getelementptr inbounds %LSlice, ptr %t58, i32 0, i32 1 store i32 0, ptr %t60 %t61 = getelementptr inbounds %LSlice, ptr %t58, i32 0, i32 2 store i32 0, ptr %t61 store ptr %t58, ptr @g_self_stk %t62 = getelementptr %LSlice, ptr null, i32 1 %t63 = ptrtoint ptr %t62 to i64 store i32 10612, ptr @lp_site %t64 = call ptr @lp_malloc(i64 %t63) store i32 0, ptr @lp_site %t65 = getelementptr inbounds %LSlice, ptr %t64, i32 0, i32 0 store ptr null, ptr %t65 %t66 = getelementptr inbounds %LSlice, ptr %t64, i32 0, i32 1 store i32 0, ptr %t66 %t67 = getelementptr inbounds %LSlice, ptr %t64, i32 0, i32 2 store i32 0, ptr %t67 store ptr %t64, ptr @g_mach_stk call void @fn_emit_header() call void @fn_emit_extern_decls() %t68 = call i32 @fn_has_ecs() %t69 = icmp ne i32 %t68, 0 br i1 %t69, label %then0, label %ifend2 then0: call void @fn_emit_ecs_storage() br label %ifend2 ifend2: store i32 0, ptr %t70 br label %wcond3 wcond3: %t71 = load i32, ptr %t70 %t72 = load ptr, ptr @g_prog %t73 = getelementptr inbounds %LSlice, ptr %t72, i32 0, i32 1 %t74 = load i32, ptr %t73 %t75 = icmp slt i32 %t71, %t74 %t76 = zext i1 %t75 to i32 %t77 = icmp ne i32 %t76, 0 br i1 %t77, label %wbody4, label %wend5 wbody4: %t78 = load ptr, ptr @g_prog %t79 = load i32, ptr %t70 %t80 = getelementptr inbounds %LSlice, ptr %t78, i32 0, i32 0 %t81 = load ptr, ptr %t80 %t82 = getelementptr inbounds %LSlice, ptr %t78, i32 0, i32 1 %t83 = load i32, ptr %t82 %t84 = icmp ult i32 %t79, %t83 br i1 %t84, label %ixok6, label %ixbad7 ixbad7: store i32 10613, ptr @lp_site %t85 = call ptr @lp_win_stdio(i32 2) store i32 0, ptr @lp_site call i32 (ptr, ptr, ...) @fprintf(ptr %t85, ptr @.fmt_bounds, ptr @.str20086, i32 %t79, i32 %t83) call void @exit(i32 1) unreachable ixok6: %t86 = getelementptr inbounds ptr, ptr %t81, i32 %t79 %t87 = load ptr, ptr %t86 %t88 = getelementptr inbounds %Cmp_Node, ptr %t87, i32 0, i32 0 %t89 = load i32, ptr %t88 %t90 = icmp eq i32 %t89, 4 %t91 = zext i1 %t90 to i32 %t92 = icmp ne i32 %t91, 0 br i1 %t92, label %then8, label %ifend10 then8: %t93 = load i32, ptr %t70 %t94 = load i32, ptr @g_g_prog_user_end %t95 = icmp slt i32 %t93, %t94 %t96 = zext i1 %t95 to i32 store i32 %t96, ptr @g_g_cov_active %t97 = load ptr, ptr @g_prog %t98 = load i32, ptr %t70 %t99 = getelementptr inbounds %LSlice, ptr %t97, i32 0, i32 0 %t100 = load ptr, ptr %t99 %t101 = getelementptr inbounds %LSlice, ptr %t97, i32 0, i32 1 %t102 = load i32, ptr %t101 %t103 = icmp ult i32 %t98, %t102 br i1 %t103, label %ixok11, label %ixbad12 ixbad12: store i32 10614, ptr @lp_site %t104 = call ptr @lp_win_stdio(i32 2) store i32 0, ptr @lp_site call i32 (ptr, ptr, ...) @fprintf(ptr %t104, ptr @.fmt_bounds, ptr @.str20087, i32 %t98, i32 %t102) call void @exit(i32 1) unreachable ixok11: %t105 = getelementptr inbounds ptr, ptr %t100, i32 %t98 %t106 = load ptr, ptr %t105 call void @fn_emit_fn(ptr %t106) store i32 1, ptr @g_g_cov_active br label %ifend10 ifend10: %t107 = load i32, ptr %t70 %t108 = add i32 %t107, 1 store i32 %t108, ptr %t70 br label %wcond3 wend5: call void @fn_emit_global_init_fn() %t109 = load ptr, ptr @g_g_events %t110 = getelementptr inbounds %LSlice, ptr %t109, i32 0, i32 1 %t111 = load i32, ptr %t110 %t112 = icmp sgt i32 %t111, 0 %t113 = zext i1 %t112 to i32 %t114 = icmp ne i32 %t113, 0 br i1 %t114, label %then13, label %ifend15 then13: call void @fn_emit_event_fns() br label %ifend15 ifend15: %t115 = call i32 @fn_has_ecs() %t116 = icmp ne i32 %t115, 0 br i1 %t116, label %then16, label %ifend18 then16: call void @fn_emit_world_table() br label %ifend18 ifend18: %t117 = call i32 @fn_has_ecs() %t118 = icmp ne i32 %t117, 0 br i1 %t118, label %then19, label %ifend21 then19: call void @fn_emit_ecs_allocator() call void @fn_emit_snapshot() br label %ifend21 ifend21: %t119 = call i32 @fn_has_ecs() %t120 = icmp ne i32 %t119, 0 br i1 %t120, label %then22, label %ifend24 then22: call void @fn_emit_net() br label %ifend24 ifend24: %t121 = call i32 @fn_has_ui() %t122 = icmp ne i32 %t121, 0 br i1 %t122, label %then25, label %ifend27 then25: call void @fn_emit_ui_build() br label %ifend27 ifend27: %t123 = load ptr, ptr @g_g_tests %t124 = getelementptr inbounds %LSlice, ptr %t123, i32 0, i32 1 %t125 = load i32, ptr %t124 %t126 = icmp sgt i32 %t125, 0 %t127 = zext i1 %t126 to i32 %t128 = icmp ne i32 %t127, 0 br i1 %t128, label %then28, label %else29 then28: %t129 = call i32 @fn_has_systems() %t130 = icmp ne i32 %t129, 0 br i1 %t130, label %then31, label %ifend33 then31: call void @fn_emit_game_defs() br label %ifend33 ifend33: call void @fn_emit_test_runner() br label %ifend30 else29: %t132 = call i32 @fn_has_systems() %t133 = icmp ne i32 %t132, 0 %t134 = zext i1 %t133 to i32 store i32 %t134, ptr %t131 br i1 %t133, label %sc34, label %scend35 sc34: %t135 = call i32 @fn_has_entry() %t136 = icmp ne i32 %t135, 0 %t137 = zext i1 %t136 to i32 store i32 %t137, ptr %t131 br label %scend35 scend35: %t138 = load i32, ptr %t131 %t139 = icmp ne i32 %t138, 0 br i1 %t139, label %then36, label %else37 then36: call void @fn_emit_game_defs() store i32 0, ptr %t70 br label %wcond39 wcond39: %t140 = load i32, ptr %t70 %t141 = load ptr, ptr @g_prog %t142 = getelementptr inbounds %LSlice, ptr %t141, i32 0, i32 1 %t143 = load i32, ptr %t142 %t144 = icmp slt i32 %t140, %t143 %t145 = zext i1 %t144 to i32 %t146 = icmp ne i32 %t145, 0 br i1 %t146, label %wbody40, label %wend41 wbody40: %t147 = load ptr, ptr @g_prog %t148 = load i32, ptr %t70 %t149 = getelementptr inbounds %LSlice, ptr %t147, i32 0, i32 0 %t150 = load ptr, ptr %t149 %t151 = getelementptr inbounds %LSlice, ptr %t147, i32 0, i32 1 %t152 = load i32, ptr %t151 %t153 = icmp ult i32 %t148, %t152 br i1 %t153, label %ixok42, label %ixbad43 ixbad43: store i32 10615, ptr @lp_site %t154 = call ptr @lp_win_stdio(i32 2) store i32 0, ptr @lp_site call i32 (ptr, ptr, ...) @fprintf(ptr %t154, ptr @.fmt_bounds, ptr @.str20088, i32 %t148, i32 %t152) call void @exit(i32 1) unreachable ixok42: %t155 = getelementptr inbounds ptr, ptr %t150, i32 %t148 %t156 = load ptr, ptr %t155 %t157 = getelementptr inbounds %Cmp_Node, ptr %t156, i32 0, i32 0 %t158 = load i32, ptr %t157 %t159 = icmp eq i32 %t158, 6 %t160 = zext i1 %t159 to i32 %t161 = icmp ne i32 %t160, 0 br i1 %t161, label %then44, label %ifend46 then44: %t162 = load ptr, ptr @g_prog %t163 = load i32, ptr %t70 %t164 = getelementptr inbounds %LSlice, ptr %t162, i32 0, i32 0 %t165 = load ptr, ptr %t164 %t166 = getelementptr inbounds %LSlice, ptr %t162, i32 0, i32 1 %t167 = load i32, ptr %t166 %t168 = icmp ult i32 %t163, %t167 br i1 %t168, label %ixok47, label %ixbad48 ixbad48: store i32 10616, ptr @lp_site %t169 = call ptr @lp_win_stdio(i32 2) store i32 0, ptr @lp_site call i32 (ptr, ptr, ...) @fprintf(ptr %t169, ptr @.fmt_bounds, ptr @.str20089, i32 %t163, i32 %t167) call void @exit(i32 1) unreachable ixok47: %t170 = getelementptr inbounds ptr, ptr %t165, i32 %t163 %t171 = load ptr, ptr %t170 call void @fn_emit_main(ptr %t171) br label %ifend46 ifend46: %t172 = load i32, ptr %t70 %t173 = add i32 %t172, 1 store i32 %t173, ptr %t70 br label %wcond39 wend41: br label %ifend38 else37: %t174 = call i32 @fn_has_systems() %t175 = icmp ne i32 %t174, 0 br i1 %t175, label %then49, label %else50 then49: call void @fn_emit_game_main() br label %ifend51 else50: store i32 0, ptr %t70 br label %wcond52 wcond52: %t176 = load i32, ptr %t70 %t177 = load ptr, ptr @g_prog %t178 = getelementptr inbounds %LSlice, ptr %t177, i32 0, i32 1 %t179 = load i32, ptr %t178 %t180 = icmp slt i32 %t176, %t179 %t181 = zext i1 %t180 to i32 %t182 = icmp ne i32 %t181, 0 br i1 %t182, label %wbody53, label %wend54 wbody53: %t183 = load ptr, ptr @g_prog %t184 = load i32, ptr %t70 %t185 = getelementptr inbounds %LSlice, ptr %t183, i32 0, i32 0 %t186 = load ptr, ptr %t185 %t187 = getelementptr inbounds %LSlice, ptr %t183, i32 0, i32 1 %t188 = load i32, ptr %t187 %t189 = icmp ult i32 %t184, %t188 br i1 %t189, label %ixok55, label %ixbad56 ixbad56: store i32 10617, ptr @lp_site %t190 = call ptr @lp_win_stdio(i32 2) store i32 0, ptr @lp_site call i32 (ptr, ptr, ...) @fprintf(ptr %t190, ptr @.fmt_bounds, ptr @.str20090, i32 %t184, i32 %t188) call void @exit(i32 1) unreachable ixok55: %t191 = getelementptr inbounds ptr, ptr %t186, i32 %t184 %t192 = load ptr, ptr %t191 %t193 = getelementptr inbounds %Cmp_Node, ptr %t192, i32 0, i32 0 %t194 = load i32, ptr %t193 %t195 = icmp eq i32 %t194, 6 %t196 = zext i1 %t195 to i32 %t197 = icmp ne i32 %t196, 0 br i1 %t197, label %then57, label %ifend59 then57: %t198 = load ptr, ptr @g_prog %t199 = load i32, ptr %t70 %t200 = getelementptr inbounds %LSlice, ptr %t198, i32 0, i32 0 %t201 = load ptr, ptr %t200 %t202 = getelementptr inbounds %LSlice, ptr %t198, i32 0, i32 1 %t203 = load i32, ptr %t202 %t204 = icmp ult i32 %t199, %t203 br i1 %t204, label %ixok60, label %ixbad61 ixbad61: store i32 10618, ptr @lp_site %t205 = call ptr @lp_win_stdio(i32 2) store i32 0, ptr @lp_site call i32 (ptr, ptr, ...) @fprintf(ptr %t205, ptr @.fmt_bounds, ptr @.str20091, i32 %t199, i32 %t203) call void @exit(i32 1) unreachable ixok60: %t206 = getelementptr inbounds ptr, ptr %t201, i32 %t199 %t207 = load ptr, ptr %t206 call void @fn_emit_main(ptr %t207) br label %ifend59 ifend59: %t208 = load i32, ptr %t70 %t209 = add i32 %t208, 1 store i32 %t209, ptr %t70 br label %wcond52 wend54: br label %ifend51 ifend51: br label %ifend38 ifend38: br label %ifend30 ifend30: %t211 = load i32, ptr @g_g_uses_quit %t212 = icmp ne i32 %t211, 0 %t213 = zext i1 %t212 to i32 store i32 %t213, ptr %t210 br i1 %t212, label %sc62, label %scend63 sc62: %t214 = call i32 @fn_has_ecs() %t215 = icmp eq i32 %t214, 0 %t216 = zext i1 %t215 to i32 %t217 = icmp ne i32 %t216, 0 %t218 = zext i1 %t217 to i32 store i32 %t218, ptr %t210 br label %scend63 scend63: %t219 = load i32, ptr %t210 %t220 = icmp ne i32 %t219, 0 br i1 %t220, label %then64, label %ifend66 then64: call void @fn_emith(ptr @.str20092) br label %ifend66 ifend66: %t221 = load i32, ptr @g_g_uses_world_despawn %t222 = icmp ne i32 %t221, 0 br i1 %t222, label %then67, label %ifend69 then67: call void @fn_emit_world_despawn_fn() br label %ifend69 ifend69: %t223 = load i32, ptr @g_g_uses_loopback %t224 = icmp ne i32 %t223, 0 br i1 %t224, label %then70, label %ifend72 then70: call void @fn_emit_loopback() br label %ifend72 ifend72: %t225 = load i32, ptr @g_g_uses_str %t226 = icmp ne i32 %t225, 0 br i1 %t226, label %then73, label %ifend75 then73: call void @fn_emit_str_prelude() br label %ifend75 ifend75: %t227 = load i32, ptr @g_g_uses_intstr %t228 = icmp ne i32 %t227, 0 br i1 %t228, label %then76, label %ifend78 then76: call void @fn_emit_int_str() br label %ifend78 ifend78: %t229 = load i32, ptr @g_g_uses_fpstr %t230 = icmp ne i32 %t229, 0 br i1 %t230, label %then79, label %ifend81 then79: call void @fn_emit_fp_str_fn() br label %ifend81 ifend81: %t231 = load i32, ptr @g_g_uses_longstr %t232 = icmp ne i32 %t231, 0 br i1 %t232, label %then82, label %ifend84 then82: call void @fn_emit_long_str() br label %ifend84 ifend84: %t233 = load i32, ptr @g_g_uses_strslice %t234 = icmp ne i32 %t233, 0 br i1 %t234, label %then85, label %ifend87 then85: call void @fn_emit_str_slice() br label %ifend87 ifend87: %t235 = load i32, ptr @g_g_uses_mathrt %t236 = icmp ne i32 %t235, 0 br i1 %t236, label %then88, label %ifend90 then88: call void @fn_emit_math_prelude() br label %ifend90 ifend90: %t237 = load i32, ptr @g_g_uses_textrt %t238 = icmp ne i32 %t237, 0 br i1 %t238, label %then91, label %ifend93 then91: call void @fn_emit_text_prelude() br label %ifend93 ifend93: %t239 = load i32, ptr @g_g_uses_textrt2 %t240 = icmp ne i32 %t239, 0 br i1 %t240, label %then94, label %ifend96 then94: call void @fn_emit_text2_prelude() br label %ifend96 ifend96: %t241 = load i32, ptr @g_g_uses_hashrt %t242 = icmp ne i32 %t241, 0 br i1 %t242, label %then97, label %ifend99 then97: call void @fn_emit_hash_prelude() br label %ifend99 ifend99: %t243 = load i32, ptr @g_g_uses_cryptort %t244 = icmp ne i32 %t243, 0 br i1 %t244, label %then100, label %ifend102 then100: call void @fn_emit_crypto_prelude() br label %ifend102 ifend102: %t245 = load i32, ptr @g_g_uses_uuidrt %t246 = icmp ne i32 %t245, 0 br i1 %t246, label %then103, label %ifend105 then103: call void @fn_emit_uuid_prelude() br label %ifend105 ifend105: %t247 = load i32, ptr @g_g_uses_noisert %t248 = icmp ne i32 %t247, 0 br i1 %t248, label %then106, label %ifend108 then106: call void @fn_emit_noise_prelude() br label %ifend108 ifend108: %t249 = load i32, ptr @g_g_uses_logrt %t250 = icmp ne i32 %t249, 0 br i1 %t250, label %then109, label %ifend111 then109: call void @fn_emit_log_prelude() br label %ifend111 ifend111: %t251 = load i32, ptr @g_g_uses_osrt %t252 = icmp ne i32 %t251, 0 br i1 %t252, label %then112, label %ifend114 then112: call void @fn_emit_os_prelude() br label %ifend114 ifend114: %t254 = load i32, ptr @g_g_uses_pid %t255 = icmp ne i32 %t254, 0 %t256 = zext i1 %t255 to i32 store i32 %t256, ptr %t253 br i1 %t255, label %sc115, label %scend116 sc115: %t257 = load i32, ptr @g_g_target_win %t258 = icmp eq i32 %t257, 0 %t259 = zext i1 %t258 to i32 %t260 = icmp ne i32 %t259, 0 %t261 = zext i1 %t260 to i32 store i32 %t261, ptr %t253 br label %scend116 scend116: %t262 = load i32, ptr %t253 %t263 = icmp ne i32 %t262, 0 br i1 %t263, label %then117, label %ifend119 then117: call void @fn_emith(ptr @.str20093) br label %ifend119 ifend119: %t264 = load i32, ptr @g_g_uses_heap %t265 = icmp ne i32 %t264, 0 br i1 %t265, label %then120, label %ifend122 then120: call void @fn_emit_os_heap() br label %ifend122 ifend122: %t266 = load i32, ptr @g_g_uses_relief %t267 = icmp ne i32 %t266, 0 br i1 %t267, label %then123, label %ifend125 then123: call void @fn_emit_os_relief() br label %ifend125 ifend125: %t268 = load i32, ptr @g_g_uses_unicodert %t269 = icmp ne i32 %t268, 0 br i1 %t269, label %then126, label %ifend128 then126: call void @fn_emit_unicode_prelude() br label %ifend128 ifend128: %t270 = load i32, ptr @g_g_uses_fsrt %t271 = icmp ne i32 %t270, 0 br i1 %t271, label %then129, label %ifend131 then129: call void @fn_emit_fs_prelude() br label %ifend131 ifend131: %t272 = load i32, ptr @g_g_uses_pak %t273 = icmp ne i32 %t272, 0 br i1 %t273, label %then132, label %ifend134 then132: call void @fn_emit_pak_prelude() br label %ifend134 ifend134: %t274 = load i32, ptr @g_g_uses_datert %t275 = icmp ne i32 %t274, 0 br i1 %t275, label %then135, label %ifend137 then135: call void @fn_emit_datetime_prelude() br label %ifend137 ifend137: %t276 = load i32, ptr @g_g_uses_panic %t277 = icmp ne i32 %t276, 0 br i1 %t277, label %then138, label %ifend140 then138: %t278 = load i32, ptr @g_g_fprintf_declared %t279 = icmp eq i32 %t278, 0 %t280 = zext i1 %t279 to i32 %t281 = icmp ne i32 %t280, 0 br i1 %t281, label %then141, label %ifend143 then141: call void @fn_emith(ptr @.str20094) store i32 1, ptr @g_g_fprintf_declared br label %ifend143 ifend143: call void @fn_emith(ptr @.str20095) br label %ifend140 ifend140: %t282 = load i32, ptr @g_g_uses_bounds %t283 = icmp ne i32 %t282, 0 br i1 %t283, label %then144, label %ifend146 then144: %t284 = load i32, ptr @g_g_fprintf_declared %t285 = icmp eq i32 %t284, 0 %t286 = zext i1 %t285 to i32 %t287 = icmp ne i32 %t286, 0 br i1 %t287, label %then147, label %ifend149 then147: call void @fn_emith(ptr @.str20096) store i32 1, ptr @g_g_fprintf_declared br label %ifend149 ifend149: call void @fn_emith(ptr @.str20097) br label %ifend146 ifend146: %t288 = load i32, ptr @g_g_uses_result %t289 = icmp ne i32 %t288, 0 br i1 %t289, label %then150, label %ifend152 then150: call void @fn_emith(ptr @.str20098) br label %ifend152 ifend152: %t290 = load i32, ptr @g_g_uses_option %t291 = icmp ne i32 %t290, 0 br i1 %t291, label %then153, label %ifend155 then153: call void @fn_emith(ptr @.str20099) br label %ifend155 ifend155: call void @fn_emit_fence_runtime() call void @fn_emit_cov_runtime() %t292 = load i32, ptr @g_g_emit_module %t293 = icmp ne i32 %t292, 0 br i1 %t293, label %then156, label %ifend158 then156: call void @fn_emit_module_glue() br label %ifend158 ifend158: br label %ret ret: ret void } define void @fn_emit_cov_runtime() { entry: %t7 = alloca i32 %t14 = alloca ptr %t16 = alloca i32 %t45 = alloca ptr %t47 = alloca ptr %t49 = alloca ptr %t51 = 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 @.str20100) %t15 = load ptr, ptr %t14 call void @fn_emith(ptr %t15) call void @fn_emith(ptr @.str20101) 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 @.str20102) br label %ifend11 ifend11: call void @fn_emith(ptr @.str20103) %t26 = load ptr, ptr @g_g_cov_lines %t27 = load i32, ptr %t16 %t28 = getelementptr inbounds %LSlice, ptr %t26, i32 0, i32 0 %t29 = load ptr, ptr %t28 %t30 = getelementptr inbounds %LSlice, ptr %t26, i32 0, i32 1 %t31 = load i32, ptr %t30 %t32 = icmp ult i32 %t27, %t31 br i1 %t32, label %ixok12, label %ixbad13 ixbad13: store i32 10619, ptr @lp_site %t33 = call ptr @lp_win_stdio(i32 2) store i32 0, ptr @lp_site call i32 (ptr, ptr, ...) @fprintf(ptr %t33, ptr @.fmt_bounds, ptr @.str20104, i32 %t27, i32 %t31) call void @exit(i32 1) unreachable ixok12: %t34 = getelementptr inbounds i32, ptr %t29, i32 %t27 %t35 = load i32, ptr %t34 %t36 = call ptr @fn_itoa(i32 %t35) call void @fn_emith(ptr %t36) %t37 = load i32, ptr %t16 %t38 = add i32 %t37, 1 store i32 %t38, ptr %t16 br label %wcond6 wend8: call void @fn_emith(ptr @.str20106) call void @fn_emith(ptr @.str20107) %t39 = load ptr, ptr %t14 call void @fn_emith(ptr %t39) call void @fn_emith(ptr @.str20108) %t40 = load ptr, ptr %t14 store i32 10620, ptr @lp_site %t41 = call ptr @lp_str_concat(ptr @.str20109, ptr %t40) store i32 0, ptr @lp_site store i32 10621, ptr @lp_site %t42 = call ptr @lp_str_concat(ptr %t41, ptr @.str20110) store i32 0, ptr @lp_site call void @lp_free(ptr %t41) call void @fn_emith(ptr %t42) %t43 = load ptr, ptr @g_g_src_name %t44 = call ptr @fn_emit_str_const(ptr %t43) store ptr %t44, ptr %t45 %t46 = call ptr @fn_emit_str_const(ptr @.str20111) store ptr %t46, ptr %t47 %t48 = call ptr @fn_emit_str_const(ptr @.str20112) store ptr %t48, ptr %t49 %t50 = call ptr @fn_emit_str_const(ptr @.str20113) store ptr %t50, ptr %t51 call void @fn_emith(ptr @.str20114) call void @fn_emith(ptr @.str20115) %t52 = load i32, ptr @g_g_fprintf_declared %t53 = icmp eq i32 %t52, 0 %t54 = zext i1 %t53 to i32 %t55 = icmp ne i32 %t54, 0 br i1 %t55, label %then14, label %ifend16 then14: call void @fn_emith(ptr @.str20116) store i32 1, ptr @g_g_fprintf_declared br label %ifend16 ifend16: %t56 = load i32, ptr @g_g_atexit_declared %t57 = icmp eq i32 %t56, 0 %t58 = zext i1 %t57 to i32 %t59 = icmp ne i32 %t58, 0 br i1 %t59, label %then17, label %ifend19 then17: call void @fn_emith(ptr @.str20117) store i32 1, ptr @g_g_atexit_declared br label %ifend19 ifend19: call void @fn_emit(ptr @.str20118) %t60 = load ptr, ptr %t47 store i32 10622, ptr @lp_site %t61 = call ptr @lp_str_concat(ptr @.str20119, ptr %t60) store i32 0, ptr @lp_site store i32 10623, ptr @lp_site %t62 = call ptr @lp_str_concat(ptr %t61, ptr @.str20120) store i32 0, ptr @lp_site call void @lp_free(ptr %t61) call void @fn_emit(ptr %t62) call void @fn_emit(ptr @.str20121) %t63 = load ptr, ptr %t49 store i32 10624, ptr @lp_site %t64 = call ptr @lp_str_concat(ptr @.str20122, ptr %t63) store i32 0, ptr @lp_site store i32 10625, ptr @lp_site %t65 = call ptr @lp_str_concat(ptr %t64, ptr @.str20123) store i32 0, ptr @lp_site call void @lp_free(ptr %t64) call void @fn_emit(ptr %t65) %t66 = load ptr, ptr %t51 store i32 10626, ptr @lp_site %t67 = call ptr @lp_str_concat(ptr @.str20124, ptr %t66) store i32 0, ptr @lp_site store i32 10627, ptr @lp_site %t68 = call ptr @lp_str_concat(ptr %t67, ptr @.str20125) store i32 0, ptr @lp_site call void @lp_free(ptr %t67) call void @fn_emit(ptr %t68) call void @fn_emit(ptr @.str20126) call void @fn_emit(ptr @.str20127) call void @fn_emit(ptr @.str20128) %t69 = load ptr, ptr %t45 store i32 10628, ptr @lp_site %t70 = call ptr @lp_str_concat(ptr @.str20129, ptr %t69) store i32 0, ptr @lp_site store i32 10629, ptr @lp_site %t71 = call ptr @lp_str_concat(ptr %t70, ptr @.str20130) store i32 0, ptr @lp_site call void @lp_free(ptr %t70) call void @fn_emit(ptr %t71) call void @fn_emit(ptr @.str20131) call void @fn_emit(ptr @.str20132) call void @fn_emit(ptr @.str20133) %t72 = load ptr, ptr %t14 store i32 10630, ptr @lp_site %t73 = call ptr @lp_str_concat(ptr @.str20134, ptr %t72) store i32 0, ptr @lp_site store i32 10631, ptr @lp_site %t74 = call ptr @lp_str_concat(ptr %t73, ptr @.str20135) store i32 0, ptr @lp_site call void @lp_free(ptr %t73) call void @fn_emit(ptr %t74) call void @fn_emit(ptr @.str20136) call void @fn_emit(ptr @.str20137) call void @fn_emit(ptr @.str20138) %t75 = load ptr, ptr %t14 call void @fn_emit(ptr %t75) call void @fn_emit(ptr @.str20139) call void @fn_emit(ptr @.str20140) call void @fn_emit(ptr @.str20141) %t76 = load ptr, ptr %t14 call void @fn_emit(ptr %t76) call void @fn_emit(ptr @.str20142) call void @fn_emit(ptr @.str20143) call void @fn_emit(ptr @.str20144) call void @fn_emit(ptr @.str20145) call void @fn_emit(ptr @.str20146) call void @fn_emit(ptr @.str20147) call void @fn_emit(ptr @.str20148) call void @fn_emit(ptr @.str20149) call void @fn_emit(ptr @.str20150) call void @fn_emit(ptr @.str20151) call void @fn_emit(ptr @.str20152) call void @fn_emit(ptr @.str20153) call void @fn_emith(ptr @.str20154) br label %ret ret: ret void } define i32 @fn_ir_flush(ptr %arg_path) { entry: %retval = alloca i32 %t0 = alloca ptr %t5 = alloca ptr %t8 = alloca ptr %t14 = alloca ptr %t33 = alloca ptr store ptr %arg_path, ptr %t0 %t1 = call ptr @fn_native_ir_lines() %t2 = load ptr, ptr @g_head %t3 = call ptr @fn_buf_str(ptr %t2) store i32 10632, ptr @lp_site %t4 = call ptr @lp_str_concat(ptr %t1, ptr %t3) store i32 0, ptr @lp_site store ptr %t4, ptr %t5 %t6 = load ptr, ptr @g_code %t7 = call ptr @fn_buf_str(ptr %t6) store ptr %t7, ptr %t8 %t9 = load ptr, ptr %t0 %t10 = icmp eq ptr %t9, null %t11 = zext i1 %t10 to i32 %t12 = icmp ne i32 %t11, 0 br i1 %t12, label %then0, label %ifend2 then0: store i32 10633, ptr @lp_site %t13 = call ptr @lp_win_stdio(i32 1) store i32 0, ptr @lp_site store ptr %t13, ptr %t14 %t15 = load ptr, ptr %t14 %t16 = load ptr, ptr %t5 %t17 = load ptr, ptr %t5 %t18 = call i64 @strlen(ptr %t17) %t19 = trunc i64 %t18 to i32 %t20 = zext i32 %t19 to i64 %t21 = call i64 @fwrite(ptr %t16, i64 1, i64 %t20, ptr %t15) %t22 = trunc i64 %t21 to i32 %t23 = load ptr, ptr %t14 %t24 = load ptr, ptr %t8 %t25 = load ptr, ptr %t8 %t26 = call i64 @strlen(ptr %t25) %t27 = trunc i64 %t26 to i32 %t28 = zext i32 %t27 to i64 %t29 = call i64 @fwrite(ptr %t24, i64 1, i64 %t28, ptr %t23) %t30 = trunc i64 %t29 to i32 store i32 1, ptr %retval br label %ret ifend2: %t31 = load ptr, ptr %t0 store i32 10634, ptr @lp_site %t32 = call ptr @lp_pak_open(ptr %t31, ptr @.str20156) store i32 0, ptr @lp_site store ptr %t32, ptr %t33 %t34 = load ptr, ptr %t33 %t35 = icmp eq ptr %t34, null %t36 = zext i1 %t35 to i32 %t37 = icmp ne i32 %t36, 0 br i1 %t37, label %then3, label %ifend5 then3: store i32 0, ptr %retval br label %ret ifend5: %t38 = load ptr, ptr %t33 %t39 = load ptr, ptr %t5 %t40 = load ptr, ptr %t5 %t41 = call i64 @strlen(ptr %t40) %t42 = trunc i64 %t41 to i32 %t43 = zext i32 %t42 to i64 %t44 = call i64 @fwrite(ptr %t39, i64 1, i64 %t43, ptr %t38) %t45 = trunc i64 %t44 to i32 %t46 = load ptr, ptr %t33 %t47 = load ptr, ptr %t8 %t48 = load ptr, ptr %t8 %t49 = call i64 @strlen(ptr %t48) %t50 = trunc i64 %t49 to i32 %t51 = zext i32 %t50 to i64 %t52 = call i64 @fwrite(ptr %t47, i64 1, i64 %t51, ptr %t46) %t53 = trunc i64 %t52 to i32 %t54 = load ptr, ptr %t33 call i32 @fclose(ptr %t54) store i32 1, ptr %retval br label %ret ret: %t55 = load i32, ptr %retval ret i32 %t55 } define i32 @fn_split_there(ptr %arg_p) { entry: %retval = alloca i32 %t0 = alloca ptr %t3 = alloca ptr store ptr %arg_p, ptr %t0 %t1 = load ptr, ptr %t0 store i32 10635, ptr @lp_site %t2 = call ptr @lp_pak_open(ptr %t1, ptr @.str20157) store i32 0, ptr @lp_site 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: %t8 = load ptr, ptr %t3 call i32 @fclose(ptr %t8) store i32 1, ptr %retval br label %ret ret: %t9 = load i32, ptr %retval ret i32 %t9 } define ptr @fn_split_dir() { entry: %retval = alloca ptr %t6 = alloca ptr %t7 = alloca i32 %t0 = call i32 @fn_host_is_windows() %t1 = icmp ne i32 %t0, 0 br i1 %t1, label %then0, label %ifend2 then0: store ptr null, ptr %retval br label %ret ifend2: %t2 = call ptr @fn_getenv_or(ptr @.str20159, ptr @.str20160) %t3 = call i32 @lp_str_eq(ptr %t2, ptr @.str20161) %t4 = icmp ne i32 %t3, 0 br i1 %t4, label %then3, label %ifend5 then3: store ptr null, ptr %retval br label %ret ifend5: %t5 = call ptr @fn_getenv_or(ptr @.str20162, ptr @.str20163) store ptr %t5, ptr %t6 %t8 = load ptr, ptr %t6 store i32 10636, ptr @lp_site %t9 = call ptr @lp_str_concat(ptr %t8, ptr @.str20164) store i32 0, ptr @lp_site %t10 = call i32 @fn_split_there(ptr %t9) %t11 = icmp eq i32 %t10, 0 %t12 = zext i1 %t11 to i32 %t13 = icmp ne i32 %t12, 0 %t14 = zext i1 %t13 to i32 store i32 %t14, ptr %t7 br i1 %t13, label %scend7, label %sc6 sc6: %t15 = load ptr, ptr %t6 store i32 10637, ptr @lp_site %t16 = call ptr @lp_str_concat(ptr %t15, ptr @.str20166) store i32 0, ptr @lp_site %t17 = call i32 @fn_split_there(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 %t7 br label %scend7 scend7: %t22 = load i32, ptr %t7 %t23 = icmp ne i32 %t22, 0 br i1 %t23, label %then8, label %ifend10 then8: store ptr null, ptr %retval br label %ret ifend10: %t24 = load ptr, ptr %t6 store ptr %t24, ptr %retval br label %ret ret: %t25 = load ptr, ptr %retval ret ptr %t25 } define i32 @fn_split_jobs(ptr %arg_tmp) { entry: %retval = alloca i32 %t0 = alloca ptr %t2 = alloca ptr %t11 = alloca ptr %t12 = alloca ptr %t22 = alloca ptr %t29 = alloca ptr %t35 = alloca i32 %t48 = alloca i32 %t49 = alloca i32 %t50 = alloca i32 %t51 = alloca i32 %t92 = alloca i32 %t112 = alloca i32 %t113 = alloca i32 %t114 = alloca i32 %t158 = alloca i32 store ptr %arg_tmp, ptr %t0 %t1 = call ptr @getenv(ptr @.str20167) store ptr %t1, ptr %t2 %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 %t2 %t8 = call i32 @fn_split_int(ptr %t7) store i32 %t8, ptr %retval br label %ret ifend2: %t9 = load ptr, ptr %t0 store i32 10638, ptr @lp_site %t10 = call ptr @lp_str_concat(ptr %t9, ptr @.str20168) store i32 0, ptr @lp_site store ptr %t10, ptr %t11 store ptr @.str20170, ptr %t12 %t13 = load ptr, ptr %t12 store i32 10639, ptr @lp_site %t14 = call ptr @lp_str_concat(ptr @.str20171, ptr %t13) store i32 0, ptr @lp_site store i32 10640, ptr @lp_site %t15 = call ptr @lp_str_concat(ptr %t14, ptr @.str20172) store i32 0, ptr @lp_site call void @lp_free(ptr %t14) %t16 = load ptr, ptr %t11 store i32 10641, ptr @lp_site %t17 = call ptr @lp_str_concat(ptr %t15, ptr %t16) store i32 0, ptr @lp_site call void @lp_free(ptr %t15) store i32 10642, ptr @lp_site %t18 = call ptr @lp_str_concat(ptr %t17, ptr @.str20173) store i32 0, ptr @lp_site call void @lp_free(ptr %t17) %t19 = call i32 @system(ptr %t18) %t20 = load ptr, ptr %t11 store i32 10643, ptr @lp_site %t21 = call ptr @lp_pak_open(ptr %t20, ptr @.str20174) store i32 0, ptr @lp_site store ptr %t21, ptr %t22 %t23 = load ptr, ptr %t22 %t24 = icmp eq ptr %t23, null %t25 = zext i1 %t24 to i32 %t26 = icmp ne i32 %t25, 0 br i1 %t26, label %then3, label %ifend5 then3: store i32 1, ptr %retval br label %ret ifend5: %t27 = zext i32 64 to i64 store i32 10644, ptr @lp_site %t28 = call ptr @lp_malloc(i64 %t27) store i32 0, ptr @lp_site store ptr %t28, ptr %t29 %t30 = load ptr, ptr %t22 %t31 = load ptr, ptr %t29 %t32 = zext i32 63 to i64 %t33 = call i64 @fread(ptr %t31, i64 1, i64 %t32, ptr %t30) %t34 = trunc i64 %t33 to i32 store i32 %t34, ptr %t35 %t36 = load ptr, ptr %t22 call i32 @fclose(ptr %t36) %t37 = load ptr, ptr %t11 store i32 10645, ptr @lp_site %t38 = call ptr @lp_str_concat(ptr @.str20175, ptr %t37) store i32 0, ptr @lp_site store i32 10646, ptr @lp_site %t39 = call ptr @lp_str_concat(ptr %t38, ptr @.str20176) store i32 0, ptr @lp_site call void @lp_free(ptr %t38) call void @fn_remove_file(ptr %t39) %t40 = load i32, ptr %t35 %t41 = icmp sle i32 %t40, 0 %t42 = zext i1 %t41 to i32 %t43 = icmp ne i32 %t42, 0 br i1 %t43, label %then6, label %ifend8 then6: store i32 1, ptr %retval br label %ret ifend8: %t44 = load ptr, ptr %t29 %t45 = load i32, ptr %t35 %t46 = getelementptr inbounds i8, ptr %t44, i32 %t45 %t47 = trunc i32 0 to i8 store i8 %t47, ptr %t46 store i32 0, ptr %t48 store i32 0, ptr %t49 br label %wcond9 wcond9: %t52 = load i32, ptr %t49 %t53 = load i32, ptr %t35 %t54 = icmp slt i32 %t52, %t53 %t55 = zext i1 %t54 to i32 %t56 = icmp ne i32 %t55, 0 %t57 = zext i1 %t56 to i32 store i32 %t57, ptr %t51 br i1 %t56, label %sc12, label %scend13 sc12: %t58 = load ptr, ptr %t29 %t59 = load i32, ptr %t49 %t60 = getelementptr inbounds i8, ptr %t58, i32 %t59 %t61 = load i8, ptr %t60 %t62 = zext i8 %t61 to i32 %t63 = icmp sge i32 %t62, 48 %t64 = zext i1 %t63 to i32 %t65 = icmp ne i32 %t64, 0 %t66 = zext i1 %t65 to i32 store i32 %t66, ptr %t51 br label %scend13 scend13: %t67 = load i32, ptr %t51 %t68 = icmp ne i32 %t67, 0 %t69 = zext i1 %t68 to i32 store i32 %t69, ptr %t50 br i1 %t68, label %sc14, label %scend15 sc14: %t70 = load ptr, ptr %t29 %t71 = load i32, ptr %t49 %t72 = getelementptr inbounds i8, ptr %t70, i32 %t71 %t73 = load i8, ptr %t72 %t74 = zext i8 %t73 to i32 %t75 = icmp sle i32 %t74, 57 %t76 = zext i1 %t75 to i32 %t77 = icmp ne i32 %t76, 0 %t78 = zext i1 %t77 to i32 store i32 %t78, ptr %t50 br label %scend15 scend15: %t79 = load i32, ptr %t50 %t80 = icmp ne i32 %t79, 0 br i1 %t80, label %wbody10, label %wend11 wbody10: %t81 = load i32, ptr %t48 %t82 = mul i32 %t81, 10 %t83 = load ptr, ptr %t29 %t84 = load i32, ptr %t49 %t85 = getelementptr inbounds i8, ptr %t83, i32 %t84 %t86 = load i8, ptr %t85 %t87 = zext i8 %t86 to i32 %t88 = sub i32 %t87, 48 %t89 = add i32 %t82, %t88 store i32 %t89, ptr %t48 %t90 = load i32, ptr %t49 %t91 = add i32 %t90, 1 store i32 %t91, ptr %t49 br label %wcond9 wend11: br label %wcond16 wcond16: %t93 = load i32, ptr %t49 %t94 = load i32, ptr %t35 %t95 = icmp slt i32 %t93, %t94 %t96 = zext i1 %t95 to i32 %t97 = icmp ne i32 %t96, 0 %t98 = zext i1 %t97 to i32 store i32 %t98, ptr %t92 br i1 %t97, label %sc19, label %scend20 sc19: %t99 = load ptr, ptr %t29 %t100 = load i32, ptr %t49 %t101 = getelementptr inbounds i8, ptr %t99, i32 %t100 %t102 = load i8, ptr %t101 %t103 = zext i8 %t102 to i32 %t104 = icmp eq i32 %t103, 32 %t105 = zext i1 %t104 to i32 %t106 = icmp ne i32 %t105, 0 %t107 = zext i1 %t106 to i32 store i32 %t107, ptr %t92 br label %scend20 scend20: %t108 = load i32, ptr %t92 %t109 = icmp ne i32 %t108, 0 br i1 %t109, label %wbody17, label %wend18 wbody17: %t110 = load i32, ptr %t49 %t111 = add i32 %t110, 1 store i32 %t111, ptr %t49 br label %wcond16 wend18: store i32 0, ptr %t112 br label %wcond21 wcond21: %t115 = load i32, ptr %t49 %t116 = load i32, ptr %t35 %t117 = icmp slt i32 %t115, %t116 %t118 = zext i1 %t117 to i32 %t119 = icmp ne i32 %t118, 0 %t120 = zext i1 %t119 to i32 store i32 %t120, ptr %t114 br i1 %t119, label %sc24, label %scend25 sc24: %t121 = load ptr, ptr %t29 %t122 = load i32, ptr %t49 %t123 = getelementptr inbounds i8, ptr %t121, i32 %t122 %t124 = load i8, ptr %t123 %t125 = zext i8 %t124 to i32 %t126 = icmp sge i32 %t125, 48 %t127 = zext i1 %t126 to i32 %t128 = icmp ne i32 %t127, 0 %t129 = zext i1 %t128 to i32 store i32 %t129, ptr %t114 br label %scend25 scend25: %t130 = load i32, ptr %t114 %t131 = icmp ne i32 %t130, 0 %t132 = zext i1 %t131 to i32 store i32 %t132, ptr %t113 br i1 %t131, label %sc26, label %scend27 sc26: %t133 = load ptr, ptr %t29 %t134 = load i32, ptr %t49 %t135 = getelementptr inbounds i8, ptr %t133, i32 %t134 %t136 = load i8, ptr %t135 %t137 = zext i8 %t136 to i32 %t138 = icmp sle i32 %t137, 57 %t139 = zext i1 %t138 to i32 %t140 = icmp ne i32 %t139, 0 %t141 = zext i1 %t140 to i32 store i32 %t141, ptr %t113 br label %scend27 scend27: %t142 = load i32, ptr %t113 %t143 = icmp ne i32 %t142, 0 br i1 %t143, label %wbody22, label %wend23 wbody22: %t144 = load i32, ptr %t112 %t145 = mul i32 %t144, 10 %t146 = load ptr, ptr %t29 %t147 = load i32, ptr %t49 %t148 = getelementptr inbounds i8, ptr %t146, i32 %t147 %t149 = load i8, ptr %t148 %t150 = zext i8 %t149 to i32 %t151 = sub i32 %t150, 48 %t152 = add i32 %t145, %t151 store i32 %t152, ptr %t112 %t153 = load i32, ptr %t49 %t154 = add i32 %t153, 1 store i32 %t154, ptr %t49 br label %wcond21 wend23: %t155 = load i32, ptr %t112 %t156 = mul i32 %t155, 2 %t157 = sdiv i32 %t156, 3 store i32 %t157, ptr %t158 %t159 = load i32, ptr %t158 %t160 = load i32, ptr %t48 %t161 = icmp slt i32 %t159, %t160 %t162 = zext i1 %t161 to i32 %t163 = icmp ne i32 %t162, 0 br i1 %t163, label %then28, label %ifend30 then28: %t164 = load i32, ptr %t158 store i32 %t164, ptr %retval br label %ret ifend30: %t165 = load i32, ptr %t48 store i32 %t165, ptr %retval br label %ret ret: %t166 = load i32, ptr %retval ret i32 %t166 } define i32 @fn_split_int(ptr %arg_s) { entry: %retval = alloca i32 %t0 = alloca ptr %t1 = alloca i32 %t2 = alloca i32 %t3 = alloca i32 %t4 = alloca i32 store ptr %arg_s, ptr %t0 store i32 0, ptr %t1 store i32 0, ptr %t2 br label %wcond0 wcond0: %t5 = load i32, ptr %t2 %t6 = load ptr, ptr %t0 %t7 = call i64 @strlen(ptr %t6) %t8 = trunc i64 %t7 to i32 %t9 = icmp slt i32 %t5, %t8 %t10 = zext i1 %t9 to i32 %t11 = icmp ne i32 %t10, 0 %t12 = zext i1 %t11 to i32 store i32 %t12, ptr %t4 br i1 %t11, label %sc3, label %scend4 sc3: %t13 = load ptr, ptr %t0 %t14 = load i32, ptr %t2 %t15 = getelementptr inbounds i8, ptr %t13, i32 %t14 %t16 = load i8, ptr %t15 %t17 = zext i8 %t16 to i32 %t18 = icmp sge i32 %t17, 48 %t19 = zext i1 %t18 to i32 %t20 = icmp ne i32 %t19, 0 %t21 = zext i1 %t20 to i32 store i32 %t21, ptr %t4 br label %scend4 scend4: %t22 = load i32, ptr %t4 %t23 = icmp ne i32 %t22, 0 %t24 = zext i1 %t23 to i32 store i32 %t24, ptr %t3 br i1 %t23, label %sc5, label %scend6 sc5: %t25 = load ptr, ptr %t0 %t26 = load i32, ptr %t2 %t27 = getelementptr inbounds i8, ptr %t25, i32 %t26 %t28 = load i8, ptr %t27 %t29 = zext i8 %t28 to i32 %t30 = icmp sle i32 %t29, 57 %t31 = zext i1 %t30 to i32 %t32 = icmp ne i32 %t31, 0 %t33 = zext i1 %t32 to i32 store i32 %t33, ptr %t3 br label %scend6 scend6: %t34 = load i32, ptr %t3 %t35 = icmp ne i32 %t34, 0 br i1 %t35, label %wbody1, label %wend2 wbody1: %t36 = load i32, ptr %t1 %t37 = mul i32 %t36, 10 %t38 = load ptr, ptr %t0 %t39 = load i32, ptr %t2 %t40 = getelementptr inbounds i8, ptr %t38, i32 %t39 %t41 = load i8, ptr %t40 %t42 = zext i8 %t41 to i32 %t43 = sub i32 %t42, 48 %t44 = add i32 %t37, %t43 store i32 %t44, ptr %t1 %t45 = load i32, ptr %t2 %t46 = add i32 %t45, 1 store i32 %t46, ptr %t2 br label %wcond0 wend2: %t47 = load i32, ptr %t1 store i32 %t47, ptr %retval br label %ret ret: %t48 = load i32, ptr %retval ret i32 %t48 } define ptr @fn_split_compile(ptr %arg_ll, ptr %arg_out, ptr %arg_opt) { entry: %retval = alloca ptr %t0 = alloca ptr %t1 = alloca ptr %t2 = alloca ptr %t4 = alloca ptr %t11 = alloca i32 %t18 = alloca ptr %t36 = alloca ptr %t37 = alloca i32 %t69 = alloca ptr %t70 = alloca i32 store ptr %arg_ll, ptr %t0 store ptr %arg_out, ptr %t1 store ptr %arg_opt, ptr %t2 %t3 = call ptr @fn_split_dir() 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 %t1 %t10 = call i32 @fn_split_jobs(ptr %t9) store i32 %t10, ptr %t11 %t12 = load i32, ptr %t11 %t13 = icmp slt i32 %t12, 2 %t14 = zext i1 %t13 to i32 %t15 = icmp ne i32 %t14, 0 br i1 %t15, label %then3, label %ifend5 then3: store ptr null, ptr %retval br label %ret ifend5: %t16 = load ptr, ptr %t1 store i32 10647, ptr @lp_site %t17 = call ptr @lp_str_concat(ptr %t16, ptr @.str20177) store i32 0, ptr @lp_site store ptr %t17, ptr %t18 %t19 = load ptr, ptr %t4 store i32 10648, ptr @lp_site %t20 = call ptr @lp_str_concat(ptr @.str20179, ptr %t19) store i32 0, ptr @lp_site store i32 10649, ptr @lp_site %t21 = call ptr @lp_str_concat(ptr %t20, ptr @.str20180) store i32 0, ptr @lp_site call void @lp_free(ptr %t20) %t22 = load i32, ptr %t11 store i32 10650, ptr @lp_site %t23 = call ptr @lp_int_str(i32 %t22) store i32 0, ptr @lp_site store i32 10651, ptr @lp_site %t24 = call ptr @lp_str_concat(ptr %t21, ptr %t23) store i32 0, ptr @lp_site call void @lp_free(ptr %t21) call void @lp_free(ptr %t23) store i32 10652, ptr @lp_site %t25 = call ptr @lp_str_concat(ptr %t24, ptr @.str20181) store i32 0, ptr @lp_site call void @lp_free(ptr %t24) %t26 = load ptr, ptr %t18 store i32 10653, ptr @lp_site %t27 = call ptr @lp_str_concat(ptr %t25, ptr %t26) store i32 0, ptr @lp_site call void @lp_free(ptr %t25) store i32 10654, ptr @lp_site %t28 = call ptr @lp_str_concat(ptr %t27, ptr @.str20182) store i32 0, ptr @lp_site call void @lp_free(ptr %t27) %t29 = load ptr, ptr %t0 store i32 10655, ptr @lp_site %t30 = call ptr @lp_str_concat(ptr %t28, ptr %t29) store i32 0, ptr @lp_site call void @lp_free(ptr %t28) store i32 10656, ptr @lp_site %t31 = call ptr @lp_str_concat(ptr %t30, ptr @.str20183) store i32 0, ptr @lp_site call void @lp_free(ptr %t30) %t32 = call i32 @system(ptr %t31) %t33 = icmp ne i32 %t32, 0 %t34 = zext i1 %t33 to i32 %t35 = icmp ne i32 %t34, 0 br i1 %t35, label %then6, label %ifend8 then6: store ptr null, ptr %retval br label %ret ifend8: store ptr @.str20184, ptr %t36 store i32 0, ptr %t37 br label %wcond9 wcond9: %t38 = load i32, ptr %t37 %t39 = load i32, ptr %t11 %t40 = icmp slt i32 %t38, %t39 %t41 = zext i1 %t40 to i32 %t42 = icmp ne i32 %t41, 0 br i1 %t42, label %wbody10, label %wend11 wbody10: %t43 = load ptr, ptr %t36 %t44 = load ptr, ptr %t4 store i32 10657, ptr @lp_site %t45 = call ptr @lp_str_concat(ptr @.str20185, ptr %t44) store i32 0, ptr @lp_site store i32 10658, ptr @lp_site %t46 = call ptr @lp_str_concat(ptr %t45, ptr @.str20186) store i32 0, ptr @lp_site call void @lp_free(ptr %t45) %t47 = load ptr, ptr %t2 store i32 10659, ptr @lp_site %t48 = call ptr @lp_str_concat(ptr %t46, ptr %t47) store i32 0, ptr @lp_site call void @lp_free(ptr %t46) store i32 10660, ptr @lp_site %t49 = call ptr @lp_str_concat(ptr %t48, ptr @.str20187) store i32 0, ptr @lp_site call void @lp_free(ptr %t48) %t50 = load ptr, ptr %t18 store i32 10661, ptr @lp_site %t51 = call ptr @lp_str_concat(ptr %t49, ptr %t50) store i32 0, ptr @lp_site call void @lp_free(ptr %t49) %t52 = load i32, ptr %t37 %t53 = call ptr @fn_itoa(i32 %t52) store i32 10662, ptr @lp_site %t54 = call ptr @lp_str_concat(ptr %t51, ptr %t53) store i32 0, ptr @lp_site call void @lp_free(ptr %t51) store i32 10663, ptr @lp_site %t55 = call ptr @lp_str_concat(ptr %t54, ptr @.str20188) store i32 0, ptr @lp_site call void @lp_free(ptr %t54) %t56 = load ptr, ptr %t18 store i32 10664, ptr @lp_site %t57 = call ptr @lp_str_concat(ptr %t55, ptr %t56) store i32 0, ptr @lp_site call void @lp_free(ptr %t55) %t58 = load i32, ptr %t37 %t59 = call ptr @fn_itoa(i32 %t58) store i32 10665, ptr @lp_site %t60 = call ptr @lp_str_concat(ptr %t57, ptr %t59) store i32 0, ptr @lp_site call void @lp_free(ptr %t57) store i32 10666, ptr @lp_site %t61 = call ptr @lp_str_concat(ptr %t60, ptr @.str20189) store i32 0, ptr @lp_site call void @lp_free(ptr %t60) store i32 10667, ptr @lp_site %t62 = call ptr @lp_str_concat(ptr %t43, ptr %t61) store i32 0, ptr @lp_site call void @lp_free(ptr %t61) store ptr %t62, ptr %t36 %t63 = load i32, ptr %t37 %t64 = add i32 %t63, 1 store i32 %t64, ptr %t37 br label %wcond9 wend11: %t65 = load ptr, ptr %t36 store i32 10668, ptr @lp_site %t66 = call ptr @lp_str_concat(ptr @.str20190, ptr %t65) store i32 0, ptr @lp_site store i32 10669, ptr @lp_site %t67 = call ptr @lp_str_concat(ptr %t66, ptr @.str20191) store i32 0, ptr @lp_site call void @lp_free(ptr %t66) %t68 = call i32 @system(ptr %t67) store ptr @.str20192, ptr %t69 store i32 1, ptr %t70 store i32 0, ptr %t37 br label %wcond12 wcond12: %t71 = load i32, ptr %t37 %t72 = load i32, ptr %t11 %t73 = icmp slt i32 %t71, %t72 %t74 = zext i1 %t73 to i32 %t75 = icmp ne i32 %t74, 0 br i1 %t75, label %wbody13, label %wend14 wbody13: %t76 = load ptr, ptr %t18 store i32 10670, ptr @lp_site %t77 = call ptr @lp_str_concat(ptr @.str20193, ptr %t76) store i32 0, ptr @lp_site %t78 = load i32, ptr %t37 %t79 = call ptr @fn_itoa(i32 %t78) store i32 10671, ptr @lp_site %t80 = call ptr @lp_str_concat(ptr %t77, ptr %t79) store i32 0, ptr @lp_site call void @lp_free(ptr %t77) store i32 10672, ptr @lp_site %t81 = call ptr @lp_str_concat(ptr %t80, ptr @.str20194) store i32 0, ptr @lp_site call void @lp_free(ptr %t80) call void @fn_remove_file(ptr %t81) %t82 = load ptr, ptr %t18 %t83 = load i32, ptr %t37 %t84 = call ptr @fn_itoa(i32 %t83) store i32 10673, ptr @lp_site %t85 = call ptr @lp_str_concat(ptr %t82, ptr %t84) store i32 0, ptr @lp_site store i32 10674, ptr @lp_site %t86 = call ptr @lp_str_concat(ptr %t85, ptr @.str20195) store i32 0, ptr @lp_site call void @lp_free(ptr %t85) %t87 = call i32 @fn_split_there(ptr %t86) %t88 = icmp eq i32 %t87, 0 %t89 = zext i1 %t88 to i32 %t90 = icmp ne i32 %t89, 0 br i1 %t90, label %then15, label %ifend17 then15: store i32 0, ptr %t70 br label %ifend17 ifend17: %t91 = load ptr, ptr %t69 %t92 = load ptr, ptr %t18 store i32 10675, ptr @lp_site %t93 = call ptr @lp_str_concat(ptr @.str20196, ptr %t92) store i32 0, ptr @lp_site %t94 = load i32, ptr %t37 %t95 = call ptr @fn_itoa(i32 %t94) store i32 10676, ptr @lp_site %t96 = call ptr @lp_str_concat(ptr %t93, ptr %t95) store i32 0, ptr @lp_site call void @lp_free(ptr %t93) store i32 10677, ptr @lp_site %t97 = call ptr @lp_str_concat(ptr %t96, ptr @.str20197) store i32 0, ptr @lp_site call void @lp_free(ptr %t96) store i32 10678, ptr @lp_site %t98 = call ptr @lp_str_concat(ptr %t91, ptr %t97) store i32 0, ptr @lp_site call void @lp_free(ptr %t97) store ptr %t98, ptr %t69 %t99 = load i32, ptr %t37 %t100 = add i32 %t99, 1 store i32 %t100, ptr %t37 br label %wcond12 wend14: %t101 = load i32, ptr %t70 %t102 = icmp eq i32 %t101, 0 %t103 = zext i1 %t102 to i32 %t104 = icmp ne i32 %t103, 0 br i1 %t104, label %then18, label %ifend20 then18: %t105 = load ptr, ptr %t1 call void @fn_split_clean(ptr %t105) store ptr null, ptr %retval br label %ret ifend20: %t106 = load ptr, ptr %t69 store ptr %t106, ptr %retval br label %ret ret: %t107 = load ptr, ptr %retval ret ptr %t107 } define void @fn_split_clean(ptr %arg_out) { entry: %t0 = alloca ptr store ptr %arg_out, ptr %t0 %t1 = load ptr, ptr %t0 store i32 10679, ptr @lp_site %t2 = call ptr @lp_str_concat(ptr @.str20198, ptr %t1) store i32 0, ptr @lp_site store i32 10680, ptr @lp_site %t3 = call ptr @lp_str_concat(ptr %t2, ptr @.str20200) store i32 0, ptr @lp_site call void @lp_free(ptr %t2) %t4 = call i32 @system(ptr %t3) br label %ret ret: ret void } 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 store i32 10681, ptr @lp_site %t26 = call ptr @lp_str_slice(ptr %t22, i32 %t24, i32 %t25) store i32 0, ptr @lp_site 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 store i32 10682, ptr @lp_site %t13 = call ptr @lp_str_slice(ptr %t9, i32 %t11, i32 %t12) store i32 0, ptr @lp_site %t14 = call i32 @lp_str_eq(ptr %t13, ptr @.str20203) call void @lp_free(ptr %t13) %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 store i32 10683, ptr @lp_site %t19 = call ptr @lp_str_slice(ptr %t16, i32 0, i32 %t18) store i32 0, ptr @lp_site 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 store i32 10684, ptr @lp_site %t21 = call ptr @lp_str_concat(ptr %t20, ptr @.str20204) store i32 0, ptr @lp_site store ptr %t21, ptr %retval br label %ret ret: %t22 = load ptr, ptr %retval ret ptr %t22 } define void @fn_die(ptr %arg_msg) { entry: %t0 = alloca ptr store ptr %arg_msg, ptr %t0 %t1 = load i32, ptr @g_g_diag_json %t2 = icmp ne i32 %t1, 0 br i1 %t2, label %then0, label %ifend2 then0: %t3 = load ptr, ptr %t0 call void @fn_diag_add(ptr @.str20206, i32 0, i32 0, ptr @.str20207, ptr %t3) call void @fn_diag_exit(i32 1) br label %ifend2 ifend2: store i32 10685, ptr @lp_site %t4 = call ptr @lp_win_stdio(i32 2) store i32 0, ptr @lp_site %t5 = load ptr, ptr %t0 %t6 = load ptr, ptr %t0 %t7 = call i64 @strlen(ptr %t6) %t8 = trunc i64 %t7 to i32 %t9 = zext i32 %t8 to i64 %t10 = call i64 @fwrite(ptr %t5, i64 1, i64 %t9, ptr %t4) %t11 = trunc i64 %t10 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 store i32 10686, ptr @lp_site %t55 = call ptr @lp_str_slice(ptr %t53, i32 0, i32 %t54) store i32 0, ptr @lp_site 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 store i32 10687, ptr @lp_site %t23 = call ptr @lp_str_slice(ptr %t18, i32 %t19, i32 %t22) store i32 0, ptr @lp_site %t24 = load ptr, ptr %t1 %t25 = call i32 @lp_str_eq(ptr %t23, ptr %t24) call void @lp_free(ptr %t23) %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 store i32 10688, ptr @lp_site %t8 = call ptr @lp_malloc(i64 %t7) store i32 0, ptr @lp_site 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 store i32 10689, ptr @lp_site %t7 = call ptr @lp_str_concat(ptr @.str20212, ptr %t6) store i32 0, ptr @lp_site store i32 10690, ptr @lp_site %t8 = call ptr @lp_str_concat(ptr %t7, ptr @.str20214) store i32 0, ptr @lp_site call void @lp_free(ptr %t7) %t9 = load ptr, ptr %t5 store i32 10691, ptr @lp_site %t10 = call ptr @lp_str_concat(ptr %t8, ptr %t9) store i32 0, ptr @lp_site call void @lp_free(ptr %t8) store i32 10692, ptr @lp_site %t11 = call ptr @lp_str_concat(ptr %t10, ptr @.str20215) store i32 0, ptr @lp_site call void @lp_free(ptr %t10) %t12 = call i32 @system(ptr %t11) br label %ifend2 else1: %t13 = load ptr, ptr %t0 store i32 10693, ptr @lp_site %t14 = call ptr @lp_str_concat(ptr @.str20216, ptr %t13) store i32 0, ptr @lp_site %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) store i32 10694, ptr @lp_site %t5 = call ptr @lp_str_concat(ptr @.str20217, ptr %t4) store i32 0, ptr @lp_site store i32 10695, ptr @lp_site %t6 = call ptr @lp_str_concat(ptr %t5, ptr @.str20219) store i32 0, ptr @lp_site call void @lp_free(ptr %t5) %t7 = call i32 @system(ptr %t6) br label %ifend2 else1: %t8 = load ptr, ptr %t0 store i32 10696, ptr @lp_site %t9 = call ptr @lp_str_concat(ptr @.str20220, ptr %t8) store i32 0, ptr @lp_site %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 @.str20221) 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 @.str20222, ptr %t9 %t10 = load ptr, ptr %t9 store i32 10697, ptr @lp_site %t11 = call ptr @lp_pak_open(ptr %t10, ptr @.str20223) store i32 0, ptr @lp_site 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 store i32 10698, ptr @lp_site %t19 = call ptr @lp_str_concat(ptr @.str20225, ptr %t18) store i32 0, ptr @lp_site store i32 10699, ptr @lp_site %t20 = call ptr @lp_str_concat(ptr %t19, ptr @.str20226) store i32 0, ptr @lp_site call void @lp_free(ptr %t19) store ptr %t20, ptr %retval br label %ret ifend8: br label %ifend5 ifend5: store ptr @.str20227, 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 @.str20228) %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 @.str20229) br label %ifend2 else1: %t8 = load ptr, ptr %t3 %t9 = call ptr @fn_chomp(ptr %t8) store i32 10700, ptr @lp_site %t10 = call ptr @lp_str_concat(ptr @.str20230, ptr %t9) store i32 0, ptr @lp_site call i32 (ptr, ...) @printf(ptr @.fmt_line, ptr %t10) call void @lp_free(ptr %t10) br label %ifend2 ifend2: call void @exit(i32 0) unreachable ret: ret void } define void @fn_drain_actions() { entry: br label %ret ret: ret void } define void @L_init_runtime() { entry: ret void } define void @L_init_globals() { entry: %t0 = getelementptr %LSlice, ptr null, i32 1 %t1 = ptrtoint ptr %t0 to i64 store i32 10701, ptr @lp_site %t2 = call ptr @lp_malloc(i64 %t1) store i32 0, ptr @lp_site %t3 = getelementptr inbounds %LSlice, ptr %t2, i32 0, i32 0 store ptr null, ptr %t3 %t4 = getelementptr inbounds %LSlice, ptr %t2, i32 0, i32 1 store i32 0, ptr %t4 %t5 = getelementptr inbounds %LSlice, ptr %t2, i32 0, i32 2 store i32 0, ptr %t5 store ptr %t2, ptr @g_g_dg_file %t6 = getelementptr %LSlice, ptr null, i32 1 %t7 = ptrtoint ptr %t6 to i64 store i32 10702, ptr @lp_site %t8 = call ptr @lp_malloc(i64 %t7) store i32 0, ptr @lp_site %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_dg_line %t12 = getelementptr %LSlice, ptr null, i32 1 %t13 = ptrtoint ptr %t12 to i64 store i32 10703, ptr @lp_site %t14 = call ptr @lp_malloc(i64 %t13) store i32 0, ptr @lp_site %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_dg_col %t18 = getelementptr %LSlice, ptr null, i32 1 %t19 = ptrtoint ptr %t18 to i64 store i32 10704, ptr @lp_site %t20 = call ptr @lp_malloc(i64 %t19) store i32 0, ptr @lp_site %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_dg_sev %t24 = getelementptr %LSlice, ptr null, i32 1 %t25 = ptrtoint ptr %t24 to i64 store i32 10705, ptr @lp_site %t26 = call ptr @lp_malloc(i64 %t25) store i32 0, ptr @lp_site %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_dg_msg store ptr @.str20233, ptr @g_g_parse_file %t30 = getelementptr %LSlice, ptr null, i32 1 %t31 = ptrtoint ptr %t30 to i64 store i32 10706, ptr @lp_site %t32 = call ptr @lp_malloc(i64 %t31) store i32 0, ptr @lp_site %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_float_files %t36 = getelementptr %LSlice, ptr null, i32 1 %t37 = ptrtoint ptr %t36 to i64 store i32 10707, ptr @lp_site %t38 = call ptr @lp_malloc(i64 %t37) store i32 0, ptr @lp_site %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_trusted_files %t42 = call ptr @fn_fm_new() store ptr %t42, ptr @g_g_fm_mod %t43 = call ptr @fn_fm_new() store ptr %t43, ptr @g_g_fm_pkg %t44 = call ptr @fn_fm_new() store ptr %t44, ptr @g_g_fm_trusted %t45 = call ptr @fn_fm_new() store ptr %t45, ptr @g_g_fm_src %t46 = getelementptr %LSlice, ptr null, i32 1 %t47 = ptrtoint ptr %t46 to i64 store i32 10708, ptr @lp_site %t48 = call ptr @lp_malloc(i64 %t47) store i32 0, ptr @lp_site %t49 = getelementptr inbounds %LSlice, ptr %t48, i32 0, i32 0 store ptr null, ptr %t49 %t50 = getelementptr inbounds %LSlice, ptr %t48, i32 0, i32 1 store i32 0, ptr %t50 %t51 = getelementptr inbounds %LSlice, ptr %t48, i32 0, i32 2 store i32 0, ptr %t51 store ptr %t48, ptr @g_g_mod_file %t52 = getelementptr %LSlice, ptr null, i32 1 %t53 = ptrtoint ptr %t52 to i64 store i32 10709, ptr @lp_site %t54 = call ptr @lp_malloc(i64 %t53) store i32 0, ptr @lp_site %t55 = getelementptr inbounds %LSlice, ptr %t54, i32 0, i32 0 store ptr null, ptr %t55 %t56 = getelementptr inbounds %LSlice, ptr %t54, i32 0, i32 1 store i32 0, ptr %t56 %t57 = getelementptr inbounds %LSlice, ptr %t54, i32 0, i32 2 store i32 0, ptr %t57 store ptr %t54, ptr @g_g_mod_name %t58 = getelementptr %LSlice, ptr null, i32 1 %t59 = ptrtoint ptr %t58 to i64 store i32 10710, ptr @lp_site %t60 = call ptr @lp_malloc(i64 %t59) store i32 0, ptr @lp_site %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 @g_g_mod_friends %t64 = call ptr @fn_fm_new() store ptr %t64, ptr @g_g_fm_float store ptr @.str20234, ptr @g_g_err_file %t65 = getelementptr %LSlice, ptr null, i32 1 %t66 = ptrtoint ptr %t65 to i64 store i32 10711, ptr @lp_site %t67 = call ptr @lp_malloc(i64 %t66) store i32 0, ptr @lp_site %t68 = getelementptr inbounds %LSlice, ptr %t67, i32 0, i32 0 store ptr null, ptr %t68 %t69 = getelementptr inbounds %LSlice, ptr %t67, i32 0, i32 1 store i32 0, ptr %t69 %t70 = getelementptr inbounds %LSlice, ptr %t67, i32 0, i32 2 store i32 0, ptr %t70 store ptr %t67, ptr @g_g_rt_wants %t71 = getelementptr %LSlice, ptr null, i32 1 %t72 = ptrtoint ptr %t71 to i64 store i32 10712, ptr @lp_site %t73 = call ptr @lp_malloc(i64 %t72) store i32 0, ptr @lp_site %t74 = getelementptr inbounds %LSlice, ptr %t73, i32 0, i32 0 store ptr null, ptr %t74 %t75 = getelementptr inbounds %LSlice, ptr %t73, i32 0, i32 1 store i32 0, ptr %t75 %t76 = getelementptr inbounds %LSlice, ptr %t73, i32 0, i32 2 store i32 0, ptr %t76 store ptr %t73, ptr @g_g_gi_name %t77 = getelementptr %LSlice, ptr null, i32 1 %t78 = ptrtoint ptr %t77 to i64 store i32 10713, ptr @lp_site %t79 = call ptr @lp_malloc(i64 %t78) store i32 0, ptr @lp_site %t80 = getelementptr inbounds %LSlice, ptr %t79, i32 0, i32 0 store ptr null, ptr %t80 %t81 = getelementptr inbounds %LSlice, ptr %t79, i32 0, i32 1 store i32 0, ptr %t81 %t82 = getelementptr inbounds %LSlice, ptr %t79, i32 0, i32 2 store i32 0, ptr %t82 store ptr %t79, ptr @g_g_gi_gen %t83 = getelementptr %LSlice, ptr null, i32 1 %t84 = ptrtoint ptr %t83 to i64 store i32 10714, ptr @lp_site %t85 = call ptr @lp_malloc(i64 %t84) store i32 0, ptr @lp_site %t86 = getelementptr inbounds %LSlice, ptr %t85, i32 0, i32 0 store ptr null, ptr %t86 %t87 = getelementptr inbounds %LSlice, ptr %t85, i32 0, i32 1 store i32 0, ptr %t87 %t88 = getelementptr inbounds %LSlice, ptr %t85, i32 0, i32 2 store i32 0, ptr %t88 store ptr %t85, ptr @g_g_gi_args %t89 = getelementptr %LSlice, ptr null, i32 1 %t90 = ptrtoint ptr %t89 to i64 store i32 10715, ptr @lp_site %t91 = call ptr @lp_malloc(i64 %t90) store i32 0, ptr @lp_site %t92 = getelementptr inbounds %LSlice, ptr %t91, i32 0, i32 0 store ptr null, ptr %t92 %t93 = getelementptr inbounds %LSlice, ptr %t91, i32 0, i32 1 store i32 0, ptr %t93 %t94 = getelementptr inbounds %LSlice, ptr %t91, i32 0, i32 2 store i32 0, ptr %t94 store ptr %t91, ptr @g_g_gi_open %t95 = getelementptr %LSlice, ptr null, i32 1 %t96 = ptrtoint ptr %t95 to i64 store i32 10716, ptr @lp_site %t97 = call ptr @lp_malloc(i64 %t96) store i32 0, ptr @lp_site %t98 = getelementptr inbounds %LSlice, ptr %t97, i32 0, i32 0 store ptr null, ptr %t98 %t99 = getelementptr inbounds %LSlice, ptr %t97, i32 0, i32 1 store i32 0, ptr %t99 %t100 = getelementptr inbounds %LSlice, ptr %t97, i32 0, i32 2 store i32 0, ptr %t100 store ptr %t97, ptr @g_g_gi_file %t101 = getelementptr %LSlice, ptr null, i32 1 %t102 = ptrtoint ptr %t101 to i64 store i32 10717, ptr @lp_site %t103 = call ptr @lp_malloc(i64 %t102) store i32 0, ptr @lp_site %t104 = getelementptr inbounds %LSlice, ptr %t103, i32 0, i32 0 store ptr null, ptr %t104 %t105 = getelementptr inbounds %LSlice, ptr %t103, i32 0, i32 1 store i32 0, ptr %t105 %t106 = getelementptr inbounds %LSlice, ptr %t103, i32 0, i32 2 store i32 0, ptr %t106 store ptr %t103, ptr @g_g_gi_line %t107 = getelementptr %LSlice, ptr null, i32 1 %t108 = ptrtoint ptr %t107 to i64 store i32 10718, ptr @lp_site %t109 = call ptr @lp_malloc(i64 %t108) store i32 0, ptr @lp_site %t110 = getelementptr inbounds %LSlice, ptr %t109, i32 0, i32 0 store ptr null, ptr %t110 %t111 = getelementptr inbounds %LSlice, ptr %t109, i32 0, i32 1 store i32 0, ptr %t111 %t112 = getelementptr inbounds %LSlice, ptr %t109, i32 0, i32 2 store i32 0, ptr %t112 store ptr %t109, ptr @g_g_al_ns %t113 = getelementptr %LSlice, ptr null, i32 1 %t114 = ptrtoint ptr %t113 to i64 store i32 10719, ptr @lp_site %t115 = call ptr @lp_malloc(i64 %t114) store i32 0, ptr @lp_site %t116 = getelementptr inbounds %LSlice, ptr %t115, i32 0, i32 0 store ptr null, ptr %t116 %t117 = getelementptr inbounds %LSlice, ptr %t115, i32 0, i32 1 store i32 0, ptr %t117 %t118 = getelementptr inbounds %LSlice, ptr %t115, i32 0, i32 2 store i32 0, ptr %t118 store ptr %t115, ptr @g_g_al_meth %t119 = getelementptr %LSlice, ptr null, i32 1 %t120 = ptrtoint ptr %t119 to i64 store i32 10720, ptr @lp_site %t121 = call ptr @lp_malloc(i64 %t120) store i32 0, ptr @lp_site %t122 = getelementptr inbounds %LSlice, ptr %t121, i32 0, i32 0 store ptr null, ptr %t122 %t123 = getelementptr inbounds %LSlice, ptr %t121, i32 0, i32 1 store i32 0, ptr %t123 %t124 = getelementptr inbounds %LSlice, ptr %t121, i32 0, i32 2 store i32 0, ptr %t124 store ptr %t121, ptr @g_g_al_target %t125 = getelementptr %LSlice, ptr null, i32 1 %t126 = ptrtoint ptr %t125 to i64 store i32 10721, ptr @lp_site %t127 = call ptr @lp_malloc(i64 %t126) store i32 0, ptr @lp_site %t128 = getelementptr inbounds %LSlice, ptr %t127, i32 0, i32 0 store ptr null, ptr %t128 %t129 = getelementptr inbounds %LSlice, ptr %t127, i32 0, i32 1 store i32 0, ptr %t129 %t130 = getelementptr inbounds %LSlice, ptr %t127, i32 0, i32 2 store i32 0, ptr %t130 store ptr %t127, ptr @g_g_al_labels %t131 = getelementptr %LSlice, ptr null, i32 1 %t132 = ptrtoint ptr %t131 to i64 store i32 10722, ptr @lp_site %t133 = call ptr @lp_malloc(i64 %t132) store i32 0, ptr @lp_site %t134 = getelementptr inbounds %LSlice, ptr %t133, i32 0, i32 0 store ptr null, ptr %t134 %t135 = getelementptr inbounds %LSlice, ptr %t133, i32 0, i32 1 store i32 0, ptr %t135 %t136 = getelementptr inbounds %LSlice, ptr %t133, i32 0, i32 2 store i32 0, ptr %t136 store ptr %t133, ptr @g_g_al_file %t137 = getelementptr %LSlice, ptr null, i32 1 %t138 = ptrtoint ptr %t137 to i64 store i32 10723, ptr @lp_site %t139 = call ptr @lp_malloc(i64 %t138) store i32 0, ptr @lp_site %t140 = getelementptr inbounds %LSlice, ptr %t139, i32 0, i32 0 store ptr null, ptr %t140 %t141 = getelementptr inbounds %LSlice, ptr %t139, i32 0, i32 1 store i32 0, ptr %t141 %t142 = getelementptr inbounds %LSlice, ptr %t139, i32 0, i32 2 store i32 0, ptr %t142 store ptr %t139, ptr @g_g_mu_mod %t143 = getelementptr %LSlice, ptr null, i32 1 %t144 = ptrtoint ptr %t143 to i64 store i32 10724, ptr @lp_site %t145 = call ptr @lp_malloc(i64 %t144) store i32 0, ptr @lp_site %t146 = getelementptr inbounds %LSlice, ptr %t145, i32 0, i32 0 store ptr null, ptr %t146 %t147 = getelementptr inbounds %LSlice, ptr %t145, i32 0, i32 1 store i32 0, ptr %t147 %t148 = getelementptr inbounds %LSlice, ptr %t145, i32 0, i32 2 store i32 0, ptr %t148 store ptr %t145, ptr @g_g_mu_list %t149 = getelementptr %LSlice, ptr null, i32 1 %t150 = ptrtoint ptr %t149 to i64 store i32 10725, ptr @lp_site %t151 = call ptr @lp_malloc(i64 %t150) store i32 0, ptr @lp_site %t152 = getelementptr inbounds %LSlice, ptr %t151, i32 0, i32 0 store ptr null, ptr %t152 %t153 = getelementptr inbounds %LSlice, ptr %t151, i32 0, i32 1 store i32 0, ptr %t153 %t154 = getelementptr inbounds %LSlice, ptr %t151, i32 0, i32 2 store i32 0, ptr %t154 store ptr %t151, ptr @g_g_mu_file %t155 = getelementptr %LSlice, ptr null, i32 1 %t156 = ptrtoint ptr %t155 to i64 store i32 10726, ptr @lp_site %t157 = call ptr @lp_malloc(i64 %t156) store i32 0, ptr @lp_site %t158 = getelementptr inbounds %LSlice, ptr %t157, i32 0, i32 0 store ptr null, ptr %t158 %t159 = getelementptr inbounds %LSlice, ptr %t157, i32 0, i32 1 store i32 0, ptr %t159 %t160 = getelementptr inbounds %LSlice, ptr %t157, i32 0, i32 2 store i32 0, ptr %t160 store ptr %t157, ptr @g_g_mu_line %t161 = getelementptr %LSlice, ptr null, i32 1 %t162 = ptrtoint ptr %t161 to i64 store i32 10727, ptr @lp_site %t163 = call ptr @lp_malloc(i64 %t162) store i32 0, ptr @lp_site %t164 = getelementptr inbounds %LSlice, ptr %t163, i32 0, i32 0 store ptr null, ptr %t164 %t165 = getelementptr inbounds %LSlice, ptr %t163, i32 0, i32 1 store i32 0, ptr %t165 %t166 = getelementptr inbounds %LSlice, ptr %t163, i32 0, i32 2 store i32 0, ptr %t166 store ptr %t163, ptr @g_g_fr_scope %t167 = getelementptr %LSlice, ptr null, i32 1 %t168 = ptrtoint ptr %t167 to i64 store i32 10728, ptr @lp_site %t169 = call ptr @lp_malloc(i64 %t168) store i32 0, ptr @lp_site %t170 = getelementptr inbounds %LSlice, ptr %t169, i32 0, i32 0 store ptr null, ptr %t170 %t171 = getelementptr inbounds %LSlice, ptr %t169, i32 0, i32 1 store i32 0, ptr %t171 %t172 = getelementptr inbounds %LSlice, ptr %t169, i32 0, i32 2 store i32 0, ptr %t172 store ptr %t169, ptr @g_g_ly_mod %t173 = getelementptr %LSlice, ptr null, i32 1 %t174 = ptrtoint ptr %t173 to i64 store i32 10729, ptr @lp_site %t175 = call ptr @lp_malloc(i64 %t174) store i32 0, ptr @lp_site %t176 = getelementptr inbounds %LSlice, ptr %t175, i32 0, i32 0 store ptr null, ptr %t176 %t177 = getelementptr inbounds %LSlice, ptr %t175, i32 0, i32 1 store i32 0, ptr %t177 %t178 = getelementptr inbounds %LSlice, ptr %t175, i32 0, i32 2 store i32 0, ptr %t178 store ptr %t175, ptr @g_g_ly_name %t179 = getelementptr %LSlice, ptr null, i32 1 %t180 = ptrtoint ptr %t179 to i64 store i32 10730, ptr @lp_site %t181 = call ptr @lp_malloc(i64 %t180) store i32 0, ptr @lp_site %t182 = getelementptr inbounds %LSlice, ptr %t181, i32 0, i32 0 store ptr null, ptr %t182 %t183 = getelementptr inbounds %LSlice, ptr %t181, i32 0, i32 1 store i32 0, ptr %t183 %t184 = getelementptr inbounds %LSlice, ptr %t181, i32 0, i32 2 store i32 0, ptr %t184 store ptr %t181, ptr @g_g_pk_file %t185 = getelementptr %LSlice, ptr null, i32 1 %t186 = ptrtoint ptr %t185 to i64 store i32 10731, ptr @lp_site %t187 = call ptr @lp_malloc(i64 %t186) store i32 0, ptr @lp_site %t188 = getelementptr inbounds %LSlice, ptr %t187, i32 0, i32 0 store ptr null, ptr %t188 %t189 = getelementptr inbounds %LSlice, ptr %t187, i32 0, i32 1 store i32 0, ptr %t189 %t190 = getelementptr inbounds %LSlice, ptr %t187, i32 0, i32 2 store i32 0, ptr %t190 store ptr %t187, ptr @g_g_pk_name store ptr @.str20235, ptr @g_g_mu_done %t191 = getelementptr %LSlice, ptr null, i32 1 %t192 = ptrtoint ptr %t191 to i64 store i32 10732, ptr @lp_site %t193 = call ptr @lp_malloc(i64 %t192) store i32 0, ptr @lp_site %t194 = getelementptr inbounds %LSlice, ptr %t193, i32 0, i32 0 store ptr null, ptr %t194 %t195 = getelementptr inbounds %LSlice, ptr %t193, i32 0, i32 1 store i32 0, ptr %t195 %t196 = getelementptr inbounds %LSlice, ptr %t193, i32 0, i32 2 store i32 0, ptr %t196 store ptr %t193, ptr @g_g_native_libs %t197 = getelementptr %LSlice, ptr null, i32 1 %t198 = ptrtoint ptr %t197 to i64 store i32 10733, ptr @lp_site %t199 = call ptr @lp_malloc(i64 %t198) store i32 0, ptr @lp_site %t200 = getelementptr inbounds %LSlice, ptr %t199, i32 0, i32 0 store ptr null, ptr %t200 %t201 = getelementptr inbounds %LSlice, ptr %t199, i32 0, i32 1 store i32 0, ptr %t201 %t202 = getelementptr inbounds %LSlice, ptr %t199, i32 0, i32 2 store i32 0, ptr %t202 store ptr %t199, ptr @g_g_native_pkgs %t203 = getelementptr %LSlice, ptr null, i32 1 %t204 = ptrtoint ptr %t203 to i64 store i32 10734, ptr @lp_site %t205 = call ptr @lp_malloc(i64 %t204) store i32 0, ptr @lp_site %t206 = getelementptr inbounds %LSlice, ptr %t205, i32 0, i32 0 store ptr null, ptr %t206 %t207 = getelementptr inbounds %LSlice, ptr %t205, i32 0, i32 1 store i32 0, ptr %t207 %t208 = getelementptr inbounds %LSlice, ptr %t205, i32 0, i32 2 store i32 0, ptr %t208 store ptr %t205, ptr @g_g_pt_name %t209 = getelementptr %LSlice, ptr null, i32 1 %t210 = ptrtoint ptr %t209 to i64 store i32 10735, ptr @lp_site %t211 = call ptr @lp_malloc(i64 %t210) store i32 0, ptr @lp_site %t212 = getelementptr inbounds %LSlice, ptr %t211, i32 0, i32 0 store ptr null, ptr %t212 %t213 = getelementptr inbounds %LSlice, ptr %t211, i32 0, i32 1 store i32 0, ptr %t213 %t214 = getelementptr inbounds %LSlice, ptr %t211, i32 0, i32 2 store i32 0, ptr %t214 store ptr %t211, ptr @g_g_pt_comp %t215 = getelementptr %LSlice, ptr null, i32 1 %t216 = ptrtoint ptr %t215 to i64 store i32 10736, ptr @lp_site %t217 = call ptr @lp_malloc(i64 %t216) store i32 0, ptr @lp_site %t218 = getelementptr inbounds %LSlice, ptr %t217, i32 0, i32 0 store ptr null, ptr %t218 %t219 = getelementptr inbounds %LSlice, ptr %t217, i32 0, i32 1 store i32 0, ptr %t219 %t220 = getelementptr inbounds %LSlice, ptr %t217, i32 0, i32 2 store i32 0, ptr %t220 store ptr %t217, ptr @g_g_pt_var %t221 = getelementptr %LSlice, ptr null, i32 1 %t222 = ptrtoint ptr %t221 to i64 store i32 10737, ptr @lp_site %t223 = call ptr @lp_malloc(i64 %t222) store i32 0, ptr @lp_site %t224 = getelementptr inbounds %LSlice, ptr %t223, i32 0, i32 0 store ptr null, ptr %t224 %t225 = getelementptr inbounds %LSlice, ptr %t223, i32 0, i32 1 store i32 0, ptr %t225 %t226 = getelementptr inbounds %LSlice, ptr %t223, i32 0, i32 2 store i32 0, ptr %t226 store ptr %t223, ptr @g_g_pt_bind %t227 = getelementptr %LSlice, ptr null, i32 1 %t228 = ptrtoint ptr %t227 to i64 store i32 10738, ptr @lp_site %t229 = call ptr @lp_malloc(i64 %t228) store i32 0, ptr @lp_site %t230 = getelementptr inbounds %LSlice, ptr %t229, i32 0, i32 0 store ptr null, ptr %t230 %t231 = getelementptr inbounds %LSlice, ptr %t229, i32 0, i32 1 store i32 0, ptr %t231 %t232 = getelementptr inbounds %LSlice, ptr %t229, i32 0, i32 2 store i32 0, ptr %t232 store ptr %t229, ptr @g_g_bd %t233 = getelementptr %LSlice, ptr null, i32 1 %t234 = ptrtoint ptr %t233 to i64 store i32 10739, ptr @lp_site %t235 = call ptr @lp_malloc(i64 %t234) store i32 0, ptr @lp_site %t236 = getelementptr inbounds %LSlice, ptr %t235, i32 0, i32 0 store ptr null, ptr %t236 %t237 = getelementptr inbounds %LSlice, ptr %t235, i32 0, i32 1 store i32 0, ptr %t237 %t238 = getelementptr inbounds %LSlice, ptr %t235, i32 0, i32 2 store i32 0, ptr %t238 store ptr %t235, ptr @g_g_rn_mod %t239 = getelementptr %LSlice, ptr null, i32 1 %t240 = ptrtoint ptr %t239 to i64 store i32 10740, ptr @lp_site %t241 = call ptr @lp_malloc(i64 %t240) store i32 0, ptr @lp_site %t242 = getelementptr inbounds %LSlice, ptr %t241, i32 0, i32 0 store ptr null, ptr %t242 %t243 = getelementptr inbounds %LSlice, ptr %t241, i32 0, i32 1 store i32 0, ptr %t243 %t244 = getelementptr inbounds %LSlice, ptr %t241, i32 0, i32 2 store i32 0, ptr %t244 store ptr %t241, ptr @g_g_rn_old %t245 = getelementptr %LSlice, ptr null, i32 1 %t246 = ptrtoint ptr %t245 to i64 store i32 10741, ptr @lp_site %t247 = call ptr @lp_malloc(i64 %t246) store i32 0, ptr @lp_site %t248 = getelementptr inbounds %LSlice, ptr %t247, i32 0, i32 0 store ptr null, ptr %t248 %t249 = getelementptr inbounds %LSlice, ptr %t247, i32 0, i32 1 store i32 0, ptr %t249 %t250 = getelementptr inbounds %LSlice, ptr %t247, i32 0, i32 2 store i32 0, ptr %t250 store ptr %t247, ptr @g_g_rn_new %t251 = getelementptr %LSlice, ptr null, i32 1 %t252 = ptrtoint ptr %t251 to i64 store i32 10742, ptr @lp_site %t253 = call ptr @lp_malloc(i64 %t252) store i32 0, ptr @lp_site %t254 = getelementptr inbounds %LSlice, ptr %t253, i32 0, i32 0 store ptr null, ptr %t254 %t255 = getelementptr inbounds %LSlice, ptr %t253, i32 0, i32 1 store i32 0, ptr %t255 %t256 = getelementptr inbounds %LSlice, ptr %t253, i32 0, i32 2 store i32 0, ptr %t256 store ptr %t253, ptr @g_g_rn_fn %t257 = getelementptr %LSlice, ptr null, i32 1 %t258 = ptrtoint ptr %t257 to i64 store i32 10743, ptr @lp_site %t259 = call ptr @lp_malloc(i64 %t258) store i32 0, ptr @lp_site %t260 = getelementptr inbounds %LSlice, ptr %t259, i32 0, i32 0 store ptr null, ptr %t260 %t261 = getelementptr inbounds %LSlice, ptr %t259, i32 0, i32 1 store i32 0, ptr %t261 %t262 = getelementptr inbounds %LSlice, ptr %t259, i32 0, i32 2 store i32 0, ptr %t262 store ptr %t259, ptr @g_g_rt_mod %t263 = getelementptr %LSlice, ptr null, i32 1 %t264 = ptrtoint ptr %t263 to i64 store i32 10744, ptr @lp_site %t265 = call ptr @lp_malloc(i64 %t264) store i32 0, ptr @lp_site %t266 = getelementptr inbounds %LSlice, ptr %t265, i32 0, i32 0 store ptr null, ptr %t266 %t267 = getelementptr inbounds %LSlice, ptr %t265, i32 0, i32 1 store i32 0, ptr %t267 %t268 = getelementptr inbounds %LSlice, ptr %t265, i32 0, i32 2 store i32 0, ptr %t268 store ptr %t265, ptr @g_g_rt_old %t269 = getelementptr %LSlice, ptr null, i32 1 %t270 = ptrtoint ptr %t269 to i64 store i32 10745, ptr @lp_site %t271 = call ptr @lp_malloc(i64 %t270) store i32 0, ptr @lp_site %t272 = getelementptr inbounds %LSlice, ptr %t271, i32 0, i32 0 store ptr null, ptr %t272 %t273 = getelementptr inbounds %LSlice, ptr %t271, i32 0, i32 1 store i32 0, ptr %t273 %t274 = getelementptr inbounds %LSlice, ptr %t271, i32 0, i32 2 store i32 0, ptr %t274 store ptr %t271, ptr @g_g_rt_new %t275 = getelementptr %LSlice, ptr null, i32 1 %t276 = ptrtoint ptr %t275 to i64 store i32 10746, ptr @lp_site %t277 = call ptr @lp_malloc(i64 %t276) store i32 0, ptr @lp_site %t278 = getelementptr inbounds %LSlice, ptr %t277, i32 0, i32 0 store ptr null, ptr %t278 %t279 = getelementptr inbounds %LSlice, ptr %t277, i32 0, i32 1 store i32 0, ptr %t279 %t280 = getelementptr inbounds %LSlice, ptr %t277, i32 0, i32 2 store i32 0, ptr %t280 store ptr %t277, ptr @g_g_re_mod %t281 = getelementptr %LSlice, ptr null, i32 1 %t282 = ptrtoint ptr %t281 to i64 store i32 10747, ptr @lp_site %t283 = call ptr @lp_malloc(i64 %t282) store i32 0, ptr @lp_site %t284 = getelementptr inbounds %LSlice, ptr %t283, i32 0, i32 0 store ptr null, ptr %t284 %t285 = getelementptr inbounds %LSlice, ptr %t283, i32 0, i32 1 store i32 0, ptr %t285 %t286 = getelementptr inbounds %LSlice, ptr %t283, i32 0, i32 2 store i32 0, ptr %t286 store ptr %t283, ptr @g_g_re_old %t287 = getelementptr %LSlice, ptr null, i32 1 %t288 = ptrtoint ptr %t287 to i64 store i32 10748, ptr @lp_site %t289 = call ptr @lp_malloc(i64 %t288) store i32 0, ptr @lp_site %t290 = getelementptr inbounds %LSlice, ptr %t289, i32 0, i32 0 store ptr null, ptr %t290 %t291 = getelementptr inbounds %LSlice, ptr %t289, i32 0, i32 1 store i32 0, ptr %t291 %t292 = getelementptr inbounds %LSlice, ptr %t289, i32 0, i32 2 store i32 0, ptr %t292 store ptr %t289, ptr @g_g_re_new %t293 = getelementptr %LSlice, ptr null, i32 1 %t294 = ptrtoint ptr %t293 to i64 store i32 10749, ptr @lp_site %t295 = call ptr @lp_malloc(i64 %t294) store i32 0, ptr @lp_site %t296 = getelementptr inbounds %LSlice, ptr %t295, i32 0, i32 0 store ptr null, ptr %t296 %t297 = getelementptr inbounds %LSlice, ptr %t295, i32 0, i32 1 store i32 0, ptr %t297 %t298 = getelementptr inbounds %LSlice, ptr %t295, i32 0, i32 2 store i32 0, ptr %t298 store ptr %t295, ptr @g_g_state_names %t299 = getelementptr %LSlice, ptr null, i32 1 %t300 = ptrtoint ptr %t299 to i64 store i32 10750, ptr @lp_site %t301 = call ptr @lp_malloc(i64 %t300) store i32 0, ptr @lp_site %t302 = getelementptr inbounds %LSlice, ptr %t301, i32 0, i32 0 store ptr null, ptr %t302 %t303 = getelementptr inbounds %LSlice, ptr %t301, i32 0, i32 1 store i32 0, ptr %t303 %t304 = getelementptr inbounds %LSlice, ptr %t301, i32 0, i32 2 store i32 0, ptr %t304 store ptr %t301, ptr @g_g_act_names %t305 = getelementptr %LSlice, ptr null, i32 1 %t306 = ptrtoint ptr %t305 to i64 store i32 10751, ptr @lp_site %t307 = call ptr @lp_malloc(i64 %t306) store i32 0, ptr @lp_site %t308 = getelementptr inbounds %LSlice, ptr %t307, i32 0, i32 0 store ptr null, ptr %t308 %t309 = getelementptr inbounds %LSlice, ptr %t307, i32 0, i32 1 store i32 0, ptr %t309 %t310 = getelementptr inbounds %LSlice, ptr %t307, i32 0, i32 2 store i32 0, ptr %t310 store ptr %t307, ptr @g_g_act_nodes %t311 = getelementptr %LSlice, ptr null, i32 1 %t312 = ptrtoint ptr %t311 to i64 store i32 10752, ptr @lp_site %t313 = call ptr @lp_malloc(i64 %t312) store i32 0, ptr @lp_site %t314 = getelementptr inbounds %LSlice, ptr %t313, i32 0, i32 0 store ptr null, ptr %t314 %t315 = getelementptr inbounds %LSlice, ptr %t313, i32 0, i32 1 store i32 0, ptr %t315 %t316 = getelementptr inbounds %LSlice, ptr %t313, i32 0, i32 2 store i32 0, ptr %t316 store ptr %t313, ptr @g_g_red_nodes %t317 = getelementptr %LSlice, ptr null, i32 1 %t318 = ptrtoint ptr %t317 to i64 store i32 10753, ptr @lp_site %t319 = call ptr @lp_malloc(i64 %t318) store i32 0, ptr @lp_site %t320 = getelementptr inbounds %LSlice, ptr %t319, i32 0, i32 0 store ptr null, ptr %t320 %t321 = getelementptr inbounds %LSlice, ptr %t319, i32 0, i32 1 store i32 0, ptr %t321 %t322 = getelementptr inbounds %LSlice, ptr %t319, i32 0, i32 2 store i32 0, ptr %t322 store ptr %t319, ptr @g_g_red_state %t323 = getelementptr %LSlice, ptr null, i32 1 %t324 = ptrtoint ptr %t323 to i64 store i32 10754, ptr @lp_site %t325 = call ptr @lp_malloc(i64 %t324) store i32 0, ptr @lp_site %t326 = getelementptr inbounds %LSlice, ptr %t325, i32 0, i32 0 store ptr null, ptr %t326 %t327 = getelementptr inbounds %LSlice, ptr %t325, i32 0, i32 1 store i32 0, ptr %t327 %t328 = getelementptr inbounds %LSlice, ptr %t325, i32 0, i32 2 store i32 0, ptr %t328 store ptr %t325, ptr @g_g_red_action %t329 = getelementptr %LSlice, ptr null, i32 1 %t330 = ptrtoint ptr %t329 to i64 store i32 10755, ptr @lp_site %t331 = call ptr @lp_malloc(i64 %t330) store i32 0, ptr @lp_site %t332 = getelementptr inbounds %LSlice, ptr %t331, i32 0, i32 0 store ptr null, ptr %t332 %t333 = getelementptr inbounds %LSlice, ptr %t331, i32 0, i32 1 store i32 0, ptr %t333 %t334 = getelementptr inbounds %LSlice, ptr %t331, i32 0, i32 2 store i32 0, ptr %t334 store ptr %t331, ptr @g_g_dsp_ids %t335 = getelementptr %LSlice, ptr null, i32 1 %t336 = ptrtoint ptr %t335 to i64 store i32 10756, ptr @lp_site %t337 = call ptr @lp_malloc(i64 %t336) store i32 0, ptr @lp_site %t338 = getelementptr inbounds %LSlice, ptr %t337, i32 0, i32 0 store ptr null, ptr %t338 %t339 = getelementptr inbounds %LSlice, ptr %t337, i32 0, i32 1 store i32 0, ptr %t339 %t340 = getelementptr inbounds %LSlice, ptr %t337, i32 0, i32 2 store i32 0, ptr %t340 store ptr %t337, ptr @g_g_dsp_names %t341 = getelementptr %LSlice, ptr null, i32 1 %t342 = ptrtoint ptr %t341 to i64 store i32 10757, ptr @lp_site %t343 = call ptr @lp_malloc(i64 %t342) store i32 0, ptr @lp_site %t344 = getelementptr inbounds %LSlice, ptr %t343, i32 0, i32 0 store ptr null, ptr %t344 %t345 = getelementptr inbounds %LSlice, ptr %t343, i32 0, i32 1 store i32 0, ptr %t345 %t346 = getelementptr inbounds %LSlice, ptr %t343, i32 0, i32 2 store i32 0, ptr %t346 store ptr %t343, ptr @g_g_dsp_at %t347 = getelementptr %LSlice, ptr null, i32 1 %t348 = ptrtoint ptr %t347 to i64 store i32 10758, ptr @lp_site %t349 = call ptr @lp_malloc(i64 %t348) store i32 0, ptr @lp_site %t350 = getelementptr inbounds %LSlice, ptr %t349, i32 0, i32 0 store ptr null, ptr %t350 %t351 = getelementptr inbounds %LSlice, ptr %t349, i32 0, i32 1 store i32 0, ptr %t351 %t352 = getelementptr inbounds %LSlice, ptr %t349, i32 0, i32 2 store i32 0, ptr %t352 store ptr %t349, ptr @g_g_ma_node %t353 = getelementptr %LSlice, ptr null, i32 1 %t354 = ptrtoint ptr %t353 to i64 store i32 10759, ptr @lp_site %t355 = call ptr @lp_malloc(i64 %t354) store i32 0, ptr @lp_site %t356 = getelementptr inbounds %LSlice, ptr %t355, i32 0, i32 0 store ptr null, ptr %t356 %t357 = getelementptr inbounds %LSlice, ptr %t355, i32 0, i32 1 store i32 0, ptr %t357 %t358 = getelementptr inbounds %LSlice, ptr %t355, i32 0, i32 2 store i32 0, ptr %t358 store ptr %t355, ptr @g_g_ma_call %t359 = getelementptr %LSlice, ptr null, i32 1 %t360 = ptrtoint ptr %t359 to i64 store i32 10760, ptr @lp_site %t361 = call ptr @lp_malloc(i64 %t360) store i32 0, ptr @lp_site %t362 = getelementptr inbounds %LSlice, ptr %t361, i32 0, i32 0 store ptr null, ptr %t362 %t363 = getelementptr inbounds %LSlice, ptr %t361, i32 0, i32 1 store i32 0, ptr %t363 %t364 = getelementptr inbounds %LSlice, ptr %t361, i32 0, i32 2 store i32 0, ptr %t364 store ptr %t361, ptr @g_g_ma_state %t365 = getelementptr %LSlice, ptr null, i32 1 %t366 = ptrtoint ptr %t365 to i64 store i32 10761, ptr @lp_site %t367 = call ptr @lp_malloc(i64 %t366) store i32 0, ptr @lp_site %t368 = getelementptr inbounds %LSlice, ptr %t367, i32 0, i32 0 store ptr null, ptr %t368 %t369 = getelementptr inbounds %LSlice, ptr %t367, i32 0, i32 1 store i32 0, ptr %t369 %t370 = getelementptr inbounds %LSlice, ptr %t367, i32 0, i32 2 store i32 0, ptr %t370 store ptr %t367, ptr @g_g_ma_excess %t371 = getelementptr %LSlice, ptr null, i32 1 %t372 = ptrtoint ptr %t371 to i64 store i32 10762, ptr @lp_site %t373 = call ptr @lp_malloc(i64 %t372) store i32 0, ptr @lp_site %t374 = getelementptr inbounds %LSlice, ptr %t373, i32 0, i32 0 store ptr null, ptr %t374 %t375 = getelementptr inbounds %LSlice, ptr %t373, i32 0, i32 1 store i32 0, ptr %t375 %t376 = getelementptr inbounds %LSlice, ptr %t373, i32 0, i32 2 store i32 0, ptr %t376 store ptr %t373, ptr @g_g_mg_vars %t377 = getelementptr %LSlice, ptr null, i32 1 %t378 = ptrtoint ptr %t377 to i64 store i32 10763, ptr @lp_site %t379 = call ptr @lp_malloc(i64 %t378) store i32 0, ptr @lp_site %t380 = getelementptr inbounds %LSlice, ptr %t379, i32 0, i32 0 store ptr null, ptr %t380 %t381 = getelementptr inbounds %LSlice, ptr %t379, i32 0, i32 1 store i32 0, ptr %t381 %t382 = getelementptr inbounds %LSlice, ptr %t379, i32 0, i32 2 store i32 0, ptr %t382 store ptr %t379, ptr @g_g_mg_vstate %t383 = getelementptr %LSlice, ptr null, i32 1 %t384 = ptrtoint ptr %t383 to i64 store i32 10764, ptr @lp_site %t385 = call ptr @lp_malloc(i64 %t384) store i32 0, ptr @lp_site %t386 = getelementptr inbounds %LSlice, ptr %t385, i32 0, i32 0 store ptr null, ptr %t386 %t387 = getelementptr inbounds %LSlice, ptr %t385, i32 0, i32 1 store i32 0, ptr %t387 %t388 = getelementptr inbounds %LSlice, ptr %t385, i32 0, i32 2 store i32 0, ptr %t388 store ptr %t385, ptr @g_g_mg_written %t389 = getelementptr %LSlice, ptr null, i32 1 %t390 = ptrtoint ptr %t389 to i64 store i32 10765, ptr @lp_site %t391 = call ptr @lp_malloc(i64 %t390) store i32 0, ptr @lp_site %t392 = getelementptr inbounds %LSlice, ptr %t391, i32 0, i32 0 store ptr null, ptr %t392 %t393 = getelementptr inbounds %LSlice, ptr %t391, i32 0, i32 1 store i32 0, ptr %t393 %t394 = getelementptr inbounds %LSlice, ptr %t391, i32 0, i32 2 store i32 0, ptr %t394 store ptr %t391, ptr @g_g_mg_let %t395 = getelementptr %LSlice, ptr null, i32 1 %t396 = ptrtoint ptr %t395 to i64 store i32 10766, ptr @lp_site %t397 = call ptr @lp_malloc(i64 %t396) store i32 0, ptr @lp_site %t398 = getelementptr inbounds %LSlice, ptr %t397, i32 0, i32 0 store ptr null, ptr %t398 %t399 = getelementptr inbounds %LSlice, ptr %t397, i32 0, i32 1 store i32 0, ptr %t399 %t400 = getelementptr inbounds %LSlice, ptr %t397, i32 0, i32 2 store i32 0, ptr %t400 store ptr %t397, ptr @g_g_mr_unit %t401 = getelementptr %LSlice, ptr null, i32 1 %t402 = ptrtoint ptr %t401 to i64 store i32 10767, ptr @lp_site %t403 = call ptr @lp_malloc(i64 %t402) store i32 0, ptr @lp_site %t404 = getelementptr inbounds %LSlice, ptr %t403, i32 0, i32 0 store ptr null, ptr %t404 %t405 = getelementptr inbounds %LSlice, ptr %t403, i32 0, i32 1 store i32 0, ptr %t405 %t406 = getelementptr inbounds %LSlice, ptr %t403, i32 0, i32 2 store i32 0, ptr %t406 store ptr %t403, ptr @g_g_ms_name %t407 = getelementptr %LSlice, ptr null, i32 1 %t408 = ptrtoint ptr %t407 to i64 store i32 10768, ptr @lp_site %t409 = call ptr @lp_malloc(i64 %t408) store i32 0, ptr @lp_site %t410 = getelementptr inbounds %LSlice, ptr %t409, i32 0, i32 0 store ptr null, ptr %t410 %t411 = getelementptr inbounds %LSlice, ptr %t409, i32 0, i32 1 store i32 0, ptr %t411 %t412 = getelementptr inbounds %LSlice, ptr %t409, i32 0, i32 2 store i32 0, ptr %t412 store ptr %t409, ptr @g_g_ms_mod %t413 = getelementptr %LSlice, ptr null, i32 1 %t414 = ptrtoint ptr %t413 to i64 store i32 10769, ptr @lp_site %t415 = call ptr @lp_malloc(i64 %t414) store i32 0, ptr @lp_site %t416 = getelementptr inbounds %LSlice, ptr %t415, i32 0, i32 0 store ptr null, ptr %t416 %t417 = getelementptr inbounds %LSlice, ptr %t415, i32 0, i32 1 store i32 0, ptr %t417 %t418 = getelementptr inbounds %LSlice, ptr %t415, i32 0, i32 2 store i32 0, ptr %t418 store ptr %t415, ptr @g_g_ms_param %t419 = getelementptr %LSlice, ptr null, i32 1 %t420 = ptrtoint ptr %t419 to i64 store i32 10770, ptr @lp_site %t421 = call ptr @lp_malloc(i64 %t420) store i32 0, ptr @lp_site %t422 = getelementptr inbounds %LSlice, ptr %t421, i32 0, i32 0 store ptr null, ptr %t422 %t423 = getelementptr inbounds %LSlice, ptr %t421, i32 0, i32 1 store i32 0, ptr %t423 %t424 = getelementptr inbounds %LSlice, ptr %t421, i32 0, i32 2 store i32 0, ptr %t424 store ptr %t421, ptr @g_g_ms_export %t425 = getelementptr %LSlice, ptr null, i32 1 %t426 = ptrtoint ptr %t425 to i64 store i32 10771, ptr @lp_site %t427 = call ptr @lp_malloc(i64 %t426) store i32 0, ptr @lp_site %t428 = getelementptr inbounds %LSlice, ptr %t427, i32 0, i32 0 store ptr null, ptr %t428 %t429 = getelementptr inbounds %LSlice, ptr %t427, i32 0, i32 1 store i32 0, ptr %t429 %t430 = getelementptr inbounds %LSlice, ptr %t427, i32 0, i32 2 store i32 0, ptr %t430 store ptr %t427, ptr @g_g_mu_node %t431 = getelementptr %LSlice, ptr null, i32 1 %t432 = ptrtoint ptr %t431 to i64 store i32 10772, ptr @lp_site %t433 = call ptr @lp_malloc(i64 %t432) store i32 0, ptr @lp_site %t434 = getelementptr inbounds %LSlice, ptr %t433, i32 0, i32 0 store ptr null, ptr %t434 %t435 = getelementptr inbounds %LSlice, ptr %t433, i32 0, i32 1 store i32 0, ptr %t435 %t436 = getelementptr inbounds %LSlice, ptr %t433, i32 0, i32 2 store i32 0, ptr %t436 store ptr %t433, ptr @g_g_mu_kind %t437 = getelementptr %LSlice, ptr null, i32 1 %t438 = ptrtoint ptr %t437 to i64 store i32 10773, ptr @lp_site %t439 = call ptr @lp_malloc(i64 %t438) store i32 0, ptr @lp_site %t440 = getelementptr inbounds %LSlice, ptr %t439, i32 0, i32 0 store ptr null, ptr %t440 %t441 = getelementptr inbounds %LSlice, ptr %t439, i32 0, i32 1 store i32 0, ptr %t441 %t442 = getelementptr inbounds %LSlice, ptr %t439, i32 0, i32 2 store i32 0, ptr %t442 store ptr %t439, ptr @g_g_mu_need %t443 = getelementptr %LSlice, ptr null, i32 1 %t444 = ptrtoint ptr %t443 to i64 store i32 10774, ptr @lp_site %t445 = call ptr @lp_malloc(i64 %t444) store i32 0, ptr @lp_site %t446 = getelementptr inbounds %LSlice, ptr %t445, i32 0, i32 0 store ptr null, ptr %t446 %t447 = getelementptr inbounds %LSlice, ptr %t445, i32 0, i32 1 store i32 0, ptr %t447 %t448 = getelementptr inbounds %LSlice, ptr %t445, i32 0, i32 2 store i32 0, ptr %t448 store ptr %t445, ptr @g_g_mu_mut %t449 = getelementptr %LSlice, ptr null, i32 1 %t450 = ptrtoint ptr %t449 to i64 store i32 10775, ptr @lp_site %t451 = call ptr @lp_malloc(i64 %t450) store i32 0, ptr @lp_site %t452 = getelementptr inbounds %LSlice, ptr %t451, i32 0, i32 0 store ptr null, ptr %t452 %t453 = getelementptr inbounds %LSlice, ptr %t451, i32 0, i32 1 store i32 0, ptr %t453 %t454 = getelementptr inbounds %LSlice, ptr %t451, i32 0, i32 2 store i32 0, ptr %t454 store ptr %t451, ptr @g_g_mc_call %t455 = getelementptr %LSlice, ptr null, i32 1 %t456 = ptrtoint ptr %t455 to i64 store i32 10776, ptr @lp_site %t457 = call ptr @lp_malloc(i64 %t456) store i32 0, ptr @lp_site %t458 = getelementptr inbounds %LSlice, ptr %t457, i32 0, i32 0 store ptr null, ptr %t458 %t459 = getelementptr inbounds %LSlice, ptr %t457, i32 0, i32 1 store i32 0, ptr %t459 %t460 = getelementptr inbounds %LSlice, ptr %t457, i32 0, i32 2 store i32 0, ptr %t460 store ptr %t457, ptr @g_g_mc_unit %t461 = getelementptr %LSlice, ptr null, i32 1 %t462 = ptrtoint ptr %t461 to i64 store i32 10777, ptr @lp_site %t463 = call ptr @lp_malloc(i64 %t462) store i32 0, ptr @lp_site %t464 = getelementptr inbounds %LSlice, ptr %t463, i32 0, i32 0 store ptr null, ptr %t464 %t465 = getelementptr inbounds %LSlice, ptr %t463, i32 0, i32 1 store i32 0, ptr %t465 %t466 = getelementptr inbounds %LSlice, ptr %t463, i32 0, i32 2 store i32 0, ptr %t466 store ptr %t463, ptr @g_g_mc_callee %t467 = getelementptr %LSlice, ptr null, i32 1 %t468 = ptrtoint ptr %t467 to i64 store i32 10778, ptr @lp_site %t469 = call ptr @lp_malloc(i64 %t468) store i32 0, ptr @lp_site %t470 = getelementptr inbounds %LSlice, ptr %t469, i32 0, i32 0 store ptr null, ptr %t470 %t471 = getelementptr inbounds %LSlice, ptr %t469, i32 0, i32 1 store i32 0, ptr %t471 %t472 = getelementptr inbounds %LSlice, ptr %t469, i32 0, i32 2 store i32 0, ptr %t472 store ptr %t469, ptr @g_g_mr_node %t473 = getelementptr %LSlice, ptr null, i32 1 %t474 = ptrtoint ptr %t473 to i64 store i32 10779, ptr @lp_site %t475 = call ptr @lp_malloc(i64 %t474) store i32 0, ptr @lp_site %t476 = getelementptr inbounds %LSlice, ptr %t475, i32 0, i32 0 store ptr null, ptr %t476 %t477 = getelementptr inbounds %LSlice, ptr %t475, i32 0, i32 1 store i32 0, ptr %t477 %t478 = getelementptr inbounds %LSlice, ptr %t475, i32 0, i32 2 store i32 0, ptr %t478 store ptr %t475, ptr @g_g_mr_var %t479 = getelementptr %LSlice, ptr null, i32 1 %t480 = ptrtoint ptr %t479 to i64 store i32 10780, ptr @lp_site %t481 = call ptr @lp_malloc(i64 %t480) store i32 0, ptr @lp_site %t482 = getelementptr inbounds %LSlice, ptr %t481, i32 0, i32 0 store ptr null, ptr %t482 %t483 = getelementptr inbounds %LSlice, ptr %t481, i32 0, i32 1 store i32 0, ptr %t483 %t484 = getelementptr inbounds %LSlice, ptr %t481, i32 0, i32 2 store i32 0, ptr %t484 store ptr %t481, ptr @g_g_mr_ui %t485 = getelementptr %LSlice, ptr null, i32 1 %t486 = ptrtoint ptr %t485 to i64 store i32 10781, ptr @lp_site %t487 = call ptr @lp_malloc(i64 %t486) store i32 0, ptr @lp_site %t488 = getelementptr inbounds %LSlice, ptr %t487, i32 0, i32 0 store ptr null, ptr %t488 %t489 = getelementptr inbounds %LSlice, ptr %t487, i32 0, i32 1 store i32 0, ptr %t489 %t490 = getelementptr inbounds %LSlice, ptr %t487, i32 0, i32 2 store i32 0, ptr %t490 store ptr %t487, ptr @g_g_mg_report store ptr @.str20236, ptr @g_g_mg_entry %t491 = getelementptr %LSlice, ptr null, i32 1 %t492 = ptrtoint ptr %t491 to i64 store i32 10782, ptr @lp_site %t493 = call ptr @lp_malloc(i64 %t492) store i32 0, ptr @lp_site %t494 = getelementptr inbounds %LSlice, ptr %t493, i32 0, i32 0 store ptr null, ptr %t494 %t495 = getelementptr inbounds %LSlice, ptr %t493, i32 0, i32 1 store i32 0, ptr %t495 %t496 = getelementptr inbounds %LSlice, ptr %t493, i32 0, i32 2 store i32 0, ptr %t496 store ptr %t493, ptr @g_g_mg_fv_name %t497 = getelementptr %LSlice, ptr null, i32 1 %t498 = ptrtoint ptr %t497 to i64 store i32 10783, ptr @lp_site %t499 = call ptr @lp_malloc(i64 %t498) store i32 0, ptr @lp_site %t500 = getelementptr inbounds %LSlice, ptr %t499, i32 0, i32 0 store ptr null, ptr %t500 %t501 = getelementptr inbounds %LSlice, ptr %t499, i32 0, i32 1 store i32 0, ptr %t501 %t502 = getelementptr inbounds %LSlice, ptr %t499, i32 0, i32 2 store i32 0, ptr %t502 store ptr %t499, ptr @g_g_mg_fv_node %t503 = getelementptr %LSlice, ptr null, i32 1 %t504 = ptrtoint ptr %t503 to i64 store i32 10784, ptr @lp_site %t505 = call ptr @lp_malloc(i64 %t504) store i32 0, ptr @lp_site %t506 = getelementptr inbounds %LSlice, ptr %t505, i32 0, i32 0 store ptr null, ptr %t506 %t507 = getelementptr inbounds %LSlice, ptr %t505, i32 0, i32 1 store i32 0, ptr %t507 %t508 = getelementptr inbounds %LSlice, ptr %t505, i32 0, i32 2 store i32 0, ptr %t508 store ptr %t505, ptr @g_g_mc_passed %t509 = getelementptr %LSlice, ptr null, i32 1 %t510 = ptrtoint ptr %t509 to i64 store i32 10785, ptr @lp_site %t511 = call ptr @lp_malloc(i64 %t510) store i32 0, ptr @lp_site %t512 = getelementptr inbounds %LSlice, ptr %t511, i32 0, i32 0 store ptr null, ptr %t512 %t513 = getelementptr inbounds %LSlice, ptr %t511, i32 0, i32 1 store i32 0, ptr %t513 %t514 = getelementptr inbounds %LSlice, ptr %t511, i32 0, i32 2 store i32 0, ptr %t514 store ptr %t511, ptr @g_g_mg_lines store ptr @.str20237, ptr @g_g_mg_keys %t515 = getelementptr %LSlice, ptr null, i32 1 %t516 = ptrtoint ptr %t515 to i64 store i32 10786, ptr @lp_site %t517 = call ptr @lp_malloc(i64 %t516) store i32 0, ptr @lp_site %t518 = getelementptr inbounds %LSlice, ptr %t517, i32 0, i32 0 store ptr null, ptr %t518 %t519 = getelementptr inbounds %LSlice, ptr %t517, i32 0, i32 1 store i32 0, ptr %t519 %t520 = getelementptr inbounds %LSlice, ptr %t517, i32 0, i32 2 store i32 0, ptr %t520 store ptr %t517, ptr @g_g_mv_need %t521 = getelementptr %LSlice, ptr null, i32 1 %t522 = ptrtoint ptr %t521 to i64 store i32 10787, ptr @lp_site %t523 = call ptr @lp_malloc(i64 %t522) store i32 0, ptr @lp_site %t524 = getelementptr inbounds %LSlice, ptr %t523, i32 0, i32 0 store ptr null, ptr %t524 %t525 = getelementptr inbounds %LSlice, ptr %t523, i32 0, i32 1 store i32 0, ptr %t525 %t526 = getelementptr inbounds %LSlice, ptr %t523, i32 0, i32 2 store i32 0, ptr %t526 store ptr %t523, ptr @g_g_mv_mut %t527 = getelementptr %LSlice, ptr null, i32 1 %t528 = ptrtoint ptr %t527 to i64 store i32 10788, ptr @lp_site %t529 = call ptr @lp_malloc(i64 %t528) store i32 0, ptr @lp_site %t530 = getelementptr inbounds %LSlice, ptr %t529, i32 0, i32 0 store ptr null, ptr %t530 %t531 = getelementptr inbounds %LSlice, ptr %t529, i32 0, i32 1 store i32 0, ptr %t531 %t532 = getelementptr inbounds %LSlice, ptr %t529, i32 0, i32 2 store i32 0, ptr %t532 store ptr %t529, ptr @g_g_mcm_need %t533 = getelementptr %LSlice, ptr null, i32 1 %t534 = ptrtoint ptr %t533 to i64 store i32 10789, ptr @lp_site %t535 = call ptr @lp_malloc(i64 %t534) store i32 0, ptr @lp_site %t536 = getelementptr inbounds %LSlice, ptr %t535, i32 0, i32 0 store ptr null, ptr %t536 %t537 = getelementptr inbounds %LSlice, ptr %t535, i32 0, i32 1 store i32 0, ptr %t537 %t538 = getelementptr inbounds %LSlice, ptr %t535, i32 0, i32 2 store i32 0, ptr %t538 store ptr %t535, ptr @g_g_mcm_mut %t539 = getelementptr %LSlice, ptr null, i32 1 %t540 = ptrtoint ptr %t539 to i64 store i32 10790, ptr @lp_site %t541 = call ptr @lp_malloc(i64 %t540) store i32 0, ptr @lp_site %t542 = getelementptr inbounds %LSlice, ptr %t541, i32 0, i32 0 store ptr null, ptr %t542 %t543 = getelementptr inbounds %LSlice, ptr %t541, i32 0, i32 1 store i32 0, ptr %t543 %t544 = getelementptr inbounds %LSlice, ptr %t541, i32 0, i32 2 store i32 0, ptr %t544 store ptr %t541, ptr @g_g_mg_pbv %t545 = getelementptr %LSlice, ptr null, i32 1 %t546 = ptrtoint ptr %t545 to i64 store i32 10791, ptr @lp_site %t547 = call ptr @lp_malloc(i64 %t546) store i32 0, ptr @lp_site %t548 = getelementptr inbounds %LSlice, ptr %t547, i32 0, i32 0 store ptr null, ptr %t548 %t549 = getelementptr inbounds %LSlice, ptr %t547, i32 0, i32 1 store i32 0, ptr %t549 %t550 = getelementptr inbounds %LSlice, ptr %t547, i32 0, i32 2 store i32 0, ptr %t550 store ptr %t547, ptr @g_g_rg_name %t551 = getelementptr %LSlice, ptr null, i32 1 %t552 = ptrtoint ptr %t551 to i64 store i32 10792, ptr @lp_site %t553 = call ptr @lp_malloc(i64 %t552) store i32 0, ptr @lp_site %t554 = getelementptr inbounds %LSlice, ptr %t553, i32 0, i32 0 store ptr null, ptr %t554 %t555 = getelementptr inbounds %LSlice, ptr %t553, i32 0, i32 1 store i32 0, ptr %t555 %t556 = getelementptr inbounds %LSlice, ptr %t553, i32 0, i32 2 store i32 0, ptr %t556 store ptr %t553, ptr @g_g_rg_type %t557 = getelementptr %LSlice, ptr null, i32 1 %t558 = ptrtoint ptr %t557 to i64 store i32 10793, ptr @lp_site %t559 = call ptr @lp_malloc(i64 %t558) store i32 0, ptr @lp_site %t560 = getelementptr inbounds %LSlice, ptr %t559, i32 0, i32 0 store ptr null, ptr %t560 %t561 = getelementptr inbounds %LSlice, ptr %t559, i32 0, i32 1 store i32 0, ptr %t561 %t562 = getelementptr inbounds %LSlice, ptr %t559, i32 0, i32 2 store i32 0, ptr %t562 store ptr %t559, ptr @g_g_rg_prefix %t563 = getelementptr %LSlice, ptr null, i32 1 %t564 = ptrtoint ptr %t563 to i64 store i32 10794, ptr @lp_site %t565 = call ptr @lp_malloc(i64 %t564) store i32 0, ptr @lp_site %t566 = getelementptr inbounds %LSlice, ptr %t565, i32 0, i32 0 store ptr null, ptr %t566 %t567 = getelementptr inbounds %LSlice, ptr %t565, i32 0, i32 1 store i32 0, ptr %t567 %t568 = getelementptr inbounds %LSlice, ptr %t565, i32 0, i32 2 store i32 0, ptr %t568 store ptr %t565, ptr @g_g_rg_var %t569 = getelementptr %LSlice, ptr null, i32 1 %t570 = ptrtoint ptr %t569 to i64 store i32 10795, ptr @lp_site %t571 = call ptr @lp_malloc(i64 %t570) store i32 0, ptr @lp_site %t572 = getelementptr inbounds %LSlice, ptr %t571, i32 0, i32 0 store ptr null, ptr %t572 %t573 = getelementptr inbounds %LSlice, ptr %t571, i32 0, i32 1 store i32 0, ptr %t573 %t574 = getelementptr inbounds %LSlice, ptr %t571, i32 0, i32 2 store i32 0, ptr %t574 store ptr %t571, ptr @g_g_rg_open %t575 = getelementptr %LSlice, ptr null, i32 1 %t576 = ptrtoint ptr %t575 to i64 store i32 10796, ptr @lp_site %t577 = call ptr @lp_malloc(i64 %t576) store i32 0, ptr @lp_site %t578 = getelementptr inbounds %LSlice, ptr %t577, i32 0, i32 0 store ptr null, ptr %t578 %t579 = getelementptr inbounds %LSlice, ptr %t577, i32 0, i32 1 store i32 0, ptr %t579 %t580 = getelementptr inbounds %LSlice, ptr %t577, i32 0, i32 2 store i32 0, ptr %t580 store ptr %t577, ptr @g_g_rg_from %t581 = getelementptr %LSlice, ptr null, i32 1 %t582 = ptrtoint ptr %t581 to i64 store i32 10797, ptr @lp_site %t583 = call ptr @lp_malloc(i64 %t582) store i32 0, ptr @lp_site %t584 = getelementptr inbounds %LSlice, ptr %t583, i32 0, i32 0 store ptr null, ptr %t584 %t585 = getelementptr inbounds %LSlice, ptr %t583, i32 0, i32 1 store i32 0, ptr %t585 %t586 = getelementptr inbounds %LSlice, ptr %t583, i32 0, i32 2 store i32 0, ptr %t586 store ptr %t583, ptr @g_g_rg_at %t587 = getelementptr %LSlice, ptr null, i32 1 %t588 = ptrtoint ptr %t587 to i64 store i32 10798, ptr @lp_site %t589 = call ptr @lp_malloc(i64 %t588) store i32 0, ptr @lp_site %t590 = getelementptr inbounds %LSlice, ptr %t589, i32 0, i32 0 store ptr null, ptr %t590 %t591 = getelementptr inbounds %LSlice, ptr %t589, i32 0, i32 1 store i32 0, ptr %t591 %t592 = getelementptr inbounds %LSlice, ptr %t589, i32 0, i32 2 store i32 0, ptr %t592 store ptr %t589, ptr @g_g_df_reg %t593 = getelementptr %LSlice, ptr null, i32 1 %t594 = ptrtoint ptr %t593 to i64 store i32 10799, ptr @lp_site %t595 = call ptr @lp_malloc(i64 %t594) store i32 0, ptr @lp_site %t596 = getelementptr inbounds %LSlice, ptr %t595, i32 0, i32 0 store ptr null, ptr %t596 %t597 = getelementptr inbounds %LSlice, ptr %t595, i32 0, i32 1 store i32 0, ptr %t597 %t598 = getelementptr inbounds %LSlice, ptr %t595, i32 0, i32 2 store i32 0, ptr %t598 store ptr %t595, ptr @g_g_df_key %t599 = getelementptr %LSlice, ptr null, i32 1 %t600 = ptrtoint ptr %t599 to i64 store i32 10800, ptr @lp_site %t601 = call ptr @lp_malloc(i64 %t600) store i32 0, ptr @lp_site %t602 = getelementptr inbounds %LSlice, ptr %t601, i32 0, i32 0 store ptr null, ptr %t602 %t603 = getelementptr inbounds %LSlice, ptr %t601, i32 0, i32 1 store i32 0, ptr %t603 %t604 = getelementptr inbounds %LSlice, ptr %t601, i32 0, i32 2 store i32 0, ptr %t604 store ptr %t601, ptr @g_g_df_rec %t605 = getelementptr %LSlice, ptr null, i32 1 %t606 = ptrtoint ptr %t605 to i64 store i32 10801, ptr @lp_site %t607 = call ptr @lp_malloc(i64 %t606) store i32 0, ptr @lp_site %t608 = getelementptr inbounds %LSlice, ptr %t607, i32 0, i32 0 store ptr null, ptr %t608 %t609 = getelementptr inbounds %LSlice, ptr %t607, i32 0, i32 1 store i32 0, ptr %t609 %t610 = getelementptr inbounds %LSlice, ptr %t607, i32 0, i32 2 store i32 0, ptr %t610 store ptr %t607, ptr @g_g_df_kline %t611 = getelementptr %LSlice, ptr null, i32 1 %t612 = ptrtoint ptr %t611 to i64 store i32 10802, ptr @lp_site %t613 = call ptr @lp_malloc(i64 %t612) store i32 0, ptr @lp_site %t614 = getelementptr inbounds %LSlice, ptr %t613, i32 0, i32 0 store ptr null, ptr %t614 %t615 = getelementptr inbounds %LSlice, ptr %t613, i32 0, i32 1 store i32 0, ptr %t615 %t616 = getelementptr inbounds %LSlice, ptr %t613, i32 0, i32 2 store i32 0, ptr %t616 store ptr %t613, ptr @g_g_df_kcol %t617 = getelementptr %LSlice, ptr null, i32 1 %t618 = ptrtoint ptr %t617 to i64 store i32 10803, ptr @lp_site %t619 = call ptr @lp_malloc(i64 %t618) store i32 0, ptr @lp_site %t620 = getelementptr inbounds %LSlice, ptr %t619, i32 0, i32 0 store ptr null, ptr %t620 %t621 = getelementptr inbounds %LSlice, ptr %t619, i32 0, i32 1 store i32 0, ptr %t621 %t622 = getelementptr inbounds %LSlice, ptr %t619, i32 0, i32 2 store i32 0, ptr %t622 store ptr %t619, ptr @g_g_df_src %t623 = getelementptr %LSlice, ptr null, i32 1 %t624 = ptrtoint ptr %t623 to i64 store i32 10804, ptr @lp_site %t625 = call ptr @lp_malloc(i64 %t624) store i32 0, ptr @lp_site %t626 = getelementptr inbounds %LSlice, ptr %t625, i32 0, i32 0 store ptr null, ptr %t626 %t627 = getelementptr inbounds %LSlice, ptr %t625, i32 0, i32 1 store i32 0, ptr %t627 %t628 = getelementptr inbounds %LSlice, ptr %t625, i32 0, i32 2 store i32 0, ptr %t628 store ptr %t625, ptr @g_g_df_via %t629 = getelementptr %LSlice, ptr null, i32 1 %t630 = ptrtoint ptr %t629 to i64 store i32 10805, ptr @lp_site %t631 = call ptr @lp_malloc(i64 %t630) store i32 0, ptr @lp_site %t632 = getelementptr inbounds %LSlice, ptr %t631, i32 0, i32 0 store ptr null, ptr %t632 %t633 = getelementptr inbounds %LSlice, ptr %t631, i32 0, i32 1 store i32 0, ptr %t633 %t634 = getelementptr inbounds %LSlice, ptr %t631, i32 0, i32 2 store i32 0, ptr %t634 store ptr %t631, ptr @g_g_at_start %t635 = getelementptr %LSlice, ptr null, i32 1 %t636 = ptrtoint ptr %t635 to i64 store i32 10806, ptr @lp_site %t637 = call ptr @lp_malloc(i64 %t636) store i32 0, ptr @lp_site %t638 = getelementptr inbounds %LSlice, ptr %t637, i32 0, i32 0 store ptr null, ptr %t638 %t639 = getelementptr inbounds %LSlice, ptr %t637, i32 0, i32 1 store i32 0, ptr %t639 %t640 = getelementptr inbounds %LSlice, ptr %t637, i32 0, i32 2 store i32 0, ptr %t640 store ptr %t637, ptr @g_g_at_count %t641 = getelementptr %LSlice, ptr null, i32 1 %t642 = ptrtoint ptr %t641 to i64 store i32 10807, ptr @lp_site %t643 = call ptr @lp_malloc(i64 %t642) store i32 0, ptr @lp_site %t644 = getelementptr inbounds %LSlice, ptr %t643, i32 0, i32 0 store ptr null, ptr %t644 %t645 = getelementptr inbounds %LSlice, ptr %t643, i32 0, i32 1 store i32 0, ptr %t645 %t646 = getelementptr inbounds %LSlice, ptr %t643, i32 0, i32 2 store i32 0, ptr %t646 store ptr %t643, ptr @g_g_at_name %t647 = getelementptr %LSlice, ptr null, i32 1 %t648 = ptrtoint ptr %t647 to i64 store i32 10808, ptr @lp_site %t649 = call ptr @lp_malloc(i64 %t648) store i32 0, ptr @lp_site %t650 = getelementptr inbounds %LSlice, ptr %t649, i32 0, i32 0 store ptr null, ptr %t650 %t651 = getelementptr inbounds %LSlice, ptr %t649, i32 0, i32 1 store i32 0, ptr %t651 %t652 = getelementptr inbounds %LSlice, ptr %t649, i32 0, i32 2 store i32 0, ptr %t652 store ptr %t649, ptr @g_g_at_args %t653 = getelementptr %LSlice, ptr null, i32 1 %t654 = ptrtoint ptr %t653 to i64 store i32 10809, ptr @lp_site %t655 = call ptr @lp_malloc(i64 %t654) store i32 0, ptr @lp_site %t656 = getelementptr inbounds %LSlice, ptr %t655, i32 0, i32 0 store ptr null, ptr %t656 %t657 = getelementptr inbounds %LSlice, ptr %t655, i32 0, i32 1 store i32 0, ptr %t657 %t658 = getelementptr inbounds %LSlice, ptr %t655, i32 0, i32 2 store i32 0, ptr %t658 store ptr %t655, ptr @g_g_at_first %t659 = getelementptr %LSlice, ptr null, i32 1 %t660 = ptrtoint ptr %t659 to i64 store i32 10810, ptr @lp_site %t661 = call ptr @lp_malloc(i64 %t660) store i32 0, ptr @lp_site %t662 = getelementptr inbounds %LSlice, ptr %t661, i32 0, i32 0 store ptr null, ptr %t662 %t663 = getelementptr inbounds %LSlice, ptr %t661, i32 0, i32 1 store i32 0, ptr %t663 %t664 = getelementptr inbounds %LSlice, ptr %t661, i32 0, i32 2 store i32 0, ptr %t664 store ptr %t661, ptr @g_g_at_nargs %t665 = getelementptr %LSlice, ptr null, i32 1 %t666 = ptrtoint ptr %t665 to i64 store i32 10811, ptr @lp_site %t667 = call ptr @lp_malloc(i64 %t666) store i32 0, ptr @lp_site %t668 = getelementptr inbounds %LSlice, ptr %t667, i32 0, i32 0 store ptr null, ptr %t668 %t669 = getelementptr inbounds %LSlice, ptr %t667, i32 0, i32 1 store i32 0, ptr %t669 %t670 = getelementptr inbounds %LSlice, ptr %t667, i32 0, i32 2 store i32 0, ptr %t670 store ptr %t667, ptr @g_g_at_unres %t671 = getelementptr %LSlice, ptr null, i32 1 %t672 = ptrtoint ptr %t671 to i64 store i32 10812, ptr @lp_site %t673 = call ptr @lp_malloc(i64 %t672) store i32 0, ptr @lp_site %t674 = getelementptr inbounds %LSlice, ptr %t673, i32 0, i32 0 store ptr null, ptr %t674 %t675 = getelementptr inbounds %LSlice, ptr %t673, i32 0, i32 1 store i32 0, ptr %t675 %t676 = getelementptr inbounds %LSlice, ptr %t673, i32 0, i32 2 store i32 0, ptr %t676 store ptr %t673, ptr @g_g_at_decl %t677 = getelementptr %LSlice, ptr null, i32 1 %t678 = ptrtoint ptr %t677 to i64 store i32 10813, ptr @lp_site %t679 = call ptr @lp_malloc(i64 %t678) store i32 0, ptr @lp_site %t680 = getelementptr inbounds %LSlice, ptr %t679, i32 0, i32 0 store ptr null, ptr %t680 %t681 = getelementptr inbounds %LSlice, ptr %t679, i32 0, i32 1 store i32 0, ptr %t681 %t682 = getelementptr inbounds %LSlice, ptr %t679, i32 0, i32 2 store i32 0, ptr %t682 store ptr %t679, ptr @g_g_at_strs %t683 = getelementptr %LSlice, ptr null, i32 1 %t684 = ptrtoint ptr %t683 to i64 store i32 10814, ptr @lp_site %t685 = call ptr @lp_malloc(i64 %t684) store i32 0, ptr @lp_site %t686 = getelementptr inbounds %LSlice, ptr %t685, i32 0, i32 0 store ptr null, ptr %t686 %t687 = getelementptr inbounds %LSlice, ptr %t685, i32 0, i32 1 store i32 0, ptr %t687 %t688 = getelementptr inbounds %LSlice, ptr %t685, i32 0, i32 2 store i32 0, ptr %t688 store ptr %t685, ptr @g_g_at_decl_args %t689 = getelementptr %LSlice, ptr null, i32 1 %t690 = ptrtoint ptr %t689 to i64 store i32 10815, ptr @lp_site %t691 = call ptr @lp_malloc(i64 %t690) store i32 0, ptr @lp_site %t692 = getelementptr inbounds %LSlice, ptr %t691, i32 0, i32 0 store ptr null, ptr %t692 %t693 = getelementptr inbounds %LSlice, ptr %t691, i32 0, i32 1 store i32 0, ptr %t693 %t694 = getelementptr inbounds %LSlice, ptr %t691, i32 0, i32 2 store i32 0, ptr %t694 store ptr %t691, ptr @g_g_rg_permap %t695 = getelementptr %LSlice, ptr null, i32 1 %t696 = ptrtoint ptr %t695 to i64 store i32 10816, ptr @lp_site %t697 = call ptr @lp_malloc(i64 %t696) store i32 0, ptr @lp_site %t698 = getelementptr inbounds %LSlice, ptr %t697, i32 0, i32 0 store ptr null, ptr %t698 %t699 = getelementptr inbounds %LSlice, ptr %t697, i32 0, i32 1 store i32 0, ptr %t699 %t700 = getelementptr inbounds %LSlice, ptr %t697, i32 0, i32 2 store i32 0, ptr %t700 store ptr %t697, ptr @g_g_rg_chunk store ptr @.str20238, ptr @g_g_pm_root %t701 = getelementptr %LSlice, ptr null, i32 1 %t702 = ptrtoint ptr %t701 to i64 store i32 10817, ptr @lp_site %t703 = call ptr @lp_malloc(i64 %t702) store i32 0, ptr @lp_site %t704 = getelementptr inbounds %LSlice, ptr %t703, i32 0, i32 0 store ptr null, ptr %t704 %t705 = getelementptr inbounds %LSlice, ptr %t703, i32 0, i32 1 store i32 0, ptr %t705 %t706 = getelementptr inbounds %LSlice, ptr %t703, i32 0, i32 2 store i32 0, ptr %t706 store ptr %t703, ptr @g_g_pm_recs %t707 = getelementptr %LSlice, ptr null, i32 1 %t708 = ptrtoint ptr %t707 to i64 store i32 10818, ptr @lp_site %t709 = call ptr @lp_malloc(i64 %t708) store i32 0, ptr @lp_site %t710 = getelementptr inbounds %LSlice, ptr %t709, i32 0, i32 0 store ptr null, ptr %t710 %t711 = getelementptr inbounds %LSlice, ptr %t709, i32 0, i32 1 store i32 0, ptr %t711 %t712 = getelementptr inbounds %LSlice, ptr %t709, i32 0, i32 2 store i32 0, ptr %t712 store ptr %t709, ptr @g_g_pm_pooled %t713 = getelementptr %LSlice, ptr null, i32 1 %t714 = ptrtoint ptr %t713 to i64 store i32 10819, ptr @lp_site %t715 = call ptr @lp_malloc(i64 %t714) store i32 0, ptr @lp_site %t716 = getelementptr inbounds %LSlice, ptr %t715, i32 0, i32 0 store ptr null, ptr %t716 %t717 = getelementptr inbounds %LSlice, ptr %t715, i32 0, i32 1 store i32 0, ptr %t717 %t718 = getelementptr inbounds %LSlice, ptr %t715, i32 0, i32 2 store i32 0, ptr %t718 store ptr %t715, ptr @g_g_pm_fnty %t719 = getelementptr %LSlice, ptr null, i32 1 %t720 = ptrtoint ptr %t719 to i64 store i32 10820, ptr @lp_site %t721 = call ptr @lp_malloc(i64 %t720) store i32 0, ptr @lp_site %t722 = getelementptr inbounds %LSlice, ptr %t721, i32 0, i32 0 store ptr null, ptr %t722 %t723 = getelementptr inbounds %LSlice, ptr %t721, i32 0, i32 1 store i32 0, ptr %t723 %t724 = getelementptr inbounds %LSlice, ptr %t721, i32 0, i32 2 store i32 0, ptr %t724 store ptr %t721, ptr @g_g_pmc_names %t725 = getelementptr %LSlice, ptr null, i32 1 %t726 = ptrtoint ptr %t725 to i64 store i32 10821, ptr @lp_site %t727 = call ptr @lp_malloc(i64 %t726) store i32 0, ptr @lp_site %t728 = getelementptr inbounds %LSlice, ptr %t727, i32 0, i32 0 store ptr null, ptr %t728 %t729 = getelementptr inbounds %LSlice, ptr %t727, i32 0, i32 1 store i32 0, ptr %t729 %t730 = getelementptr inbounds %LSlice, ptr %t727, i32 0, i32 2 store i32 0, ptr %t730 store ptr %t727, ptr @g_g_pmc_isf %t731 = getelementptr %LSlice, ptr null, i32 1 %t732 = ptrtoint ptr %t731 to i64 store i32 10822, ptr @lp_site %t733 = call ptr @lp_malloc(i64 %t732) store i32 0, ptr @lp_site %t734 = getelementptr inbounds %LSlice, ptr %t733, i32 0, i32 0 store ptr null, ptr %t734 %t735 = getelementptr inbounds %LSlice, ptr %t733, i32 0, i32 1 store i32 0, ptr %t735 %t736 = getelementptr inbounds %LSlice, ptr %t733, i32 0, i32 2 store i32 0, ptr %t736 store ptr %t733, ptr @g_g_pmc_iv %t737 = getelementptr %LSlice, ptr null, i32 1 %t738 = ptrtoint ptr %t737 to i64 store i32 10823, ptr @lp_site %t739 = call ptr @lp_malloc(i64 %t738) store i32 0, ptr @lp_site %t740 = getelementptr inbounds %LSlice, ptr %t739, i32 0, i32 0 store ptr null, ptr %t740 %t741 = getelementptr inbounds %LSlice, ptr %t739, i32 0, i32 1 store i32 0, ptr %t741 %t742 = getelementptr inbounds %LSlice, ptr %t739, i32 0, i32 2 store i32 0, ptr %t742 store ptr %t739, ptr @g_g_pmc_ftext %t743 = getelementptr %LSlice, ptr null, i32 1 %t744 = ptrtoint ptr %t743 to i64 store i32 10824, ptr @lp_site %t745 = call ptr @lp_malloc(i64 %t744) store i32 0, ptr @lp_site %t746 = getelementptr inbounds %LSlice, ptr %t745, i32 0, i32 0 store ptr null, ptr %t746 %t747 = getelementptr inbounds %LSlice, ptr %t745, i32 0, i32 1 store i32 0, ptr %t747 %t748 = getelementptr inbounds %LSlice, ptr %t745, i32 0, i32 2 store i32 0, ptr %t748 store ptr %t745, ptr @g_g_pmc_all %t749 = getelementptr %LSlice, ptr null, i32 1 %t750 = ptrtoint ptr %t749 to i64 store i32 10825, ptr @lp_site %t751 = call ptr @lp_malloc(i64 %t750) store i32 0, ptr @lp_site %t752 = getelementptr inbounds %LSlice, ptr %t751, i32 0, i32 0 store ptr null, ptr %t752 %t753 = getelementptr inbounds %LSlice, ptr %t751, i32 0, i32 1 store i32 0, ptr %t753 %t754 = getelementptr inbounds %LSlice, ptr %t751, i32 0, i32 2 store i32 0, ptr %t754 store ptr %t751, ptr @g_g_pmc_node %t755 = getelementptr %LSlice, ptr null, i32 1 %t756 = ptrtoint ptr %t755 to i64 store i32 10826, ptr @lp_site %t757 = call ptr @lp_malloc(i64 %t756) store i32 0, ptr @lp_site %t758 = getelementptr inbounds %LSlice, ptr %t757, i32 0, i32 0 store ptr null, ptr %t758 %t759 = getelementptr inbounds %LSlice, ptr %t757, i32 0, i32 1 store i32 0, ptr %t759 %t760 = getelementptr inbounds %LSlice, ptr %t757, i32 0, i32 2 store i32 0, ptr %t760 store ptr %t757, ptr @g_g_pmk_reg %t761 = getelementptr %LSlice, ptr null, i32 1 %t762 = ptrtoint ptr %t761 to i64 store i32 10827, ptr @lp_site %t763 = call ptr @lp_malloc(i64 %t762) store i32 0, ptr @lp_site %t764 = getelementptr inbounds %LSlice, ptr %t763, i32 0, i32 0 store ptr null, ptr %t764 %t765 = getelementptr inbounds %LSlice, ptr %t763, i32 0, i32 1 store i32 0, ptr %t765 %t766 = getelementptr inbounds %LSlice, ptr %t763, i32 0, i32 2 store i32 0, ptr %t766 store ptr %t763, ptr @g_g_pmk_key %t767 = getelementptr %LSlice, ptr null, i32 1 %t768 = ptrtoint ptr %t767 to i64 store i32 10828, ptr @lp_site %t769 = call ptr @lp_malloc(i64 %t768) store i32 0, ptr @lp_site %t770 = getelementptr inbounds %LSlice, ptr %t769, i32 0, i32 0 store ptr null, ptr %t770 %t771 = getelementptr inbounds %LSlice, ptr %t769, i32 0, i32 1 store i32 0, ptr %t771 %t772 = getelementptr inbounds %LSlice, ptr %t769, i32 0, i32 2 store i32 0, ptr %t772 store ptr %t769, ptr @g_g_pmk_rec %t773 = getelementptr %LSlice, ptr null, i32 1 %t774 = ptrtoint ptr %t773 to i64 store i32 10829, ptr @lp_site %t775 = call ptr @lp_malloc(i64 %t774) store i32 0, ptr @lp_site %t776 = getelementptr inbounds %LSlice, ptr %t775, i32 0, i32 0 store ptr null, ptr %t776 %t777 = getelementptr inbounds %LSlice, ptr %t775, i32 0, i32 1 store i32 0, ptr %t777 %t778 = getelementptr inbounds %LSlice, ptr %t775, i32 0, i32 2 store i32 0, ptr %t778 store ptr %t775, ptr @g_g_pmk_kline %t779 = getelementptr %LSlice, ptr null, i32 1 %t780 = ptrtoint ptr %t779 to i64 store i32 10830, ptr @lp_site %t781 = call ptr @lp_malloc(i64 %t780) store i32 0, ptr @lp_site %t782 = getelementptr inbounds %LSlice, ptr %t781, i32 0, i32 0 store ptr null, ptr %t782 %t783 = getelementptr inbounds %LSlice, ptr %t781, i32 0, i32 1 store i32 0, ptr %t783 %t784 = getelementptr inbounds %LSlice, ptr %t781, i32 0, i32 2 store i32 0, ptr %t784 store ptr %t781, ptr @g_g_pmk_kcol %t785 = getelementptr %LSlice, ptr null, i32 1 %t786 = ptrtoint ptr %t785 to i64 store i32 10831, ptr @lp_site %t787 = call ptr @lp_malloc(i64 %t786) store i32 0, ptr @lp_site %t788 = getelementptr inbounds %LSlice, ptr %t787, i32 0, i32 0 store ptr null, ptr %t788 %t789 = getelementptr inbounds %LSlice, ptr %t787, i32 0, i32 1 store i32 0, ptr %t789 %t790 = getelementptr inbounds %LSlice, ptr %t787, i32 0, i32 2 store i32 0, ptr %t790 store ptr %t787, ptr @g_g_pmk_file %t791 = getelementptr %LSlice, ptr null, i32 1 %t792 = ptrtoint ptr %t791 to i64 store i32 10832, ptr @lp_site %t793 = call ptr @lp_malloc(i64 %t792) store i32 0, ptr @lp_site %t794 = getelementptr inbounds %LSlice, ptr %t793, i32 0, i32 0 store ptr null, ptr %t794 %t795 = getelementptr inbounds %LSlice, ptr %t793, i32 0, i32 1 store i32 0, ptr %t795 %t796 = getelementptr inbounds %LSlice, ptr %t793, i32 0, i32 2 store i32 0, ptr %t796 store ptr %t793, ptr @g_g_pmk_ref_reg %t797 = getelementptr %LSlice, ptr null, i32 1 %t798 = ptrtoint ptr %t797 to i64 store i32 10833, ptr @lp_site %t799 = call ptr @lp_malloc(i64 %t798) store i32 0, ptr @lp_site %t800 = getelementptr inbounds %LSlice, ptr %t799, i32 0, i32 0 store ptr null, ptr %t800 %t801 = getelementptr inbounds %LSlice, ptr %t799, i32 0, i32 1 store i32 0, ptr %t801 %t802 = getelementptr inbounds %LSlice, ptr %t799, i32 0, i32 2 store i32 0, ptr %t802 store ptr %t799, ptr @g_g_pmk_ref_key %t803 = getelementptr %LSlice, ptr null, i32 1 %t804 = ptrtoint ptr %t803 to i64 store i32 10834, ptr @lp_site %t805 = call ptr @lp_malloc(i64 %t804) store i32 0, ptr @lp_site %t806 = getelementptr inbounds %LSlice, ptr %t805, i32 0, i32 0 store ptr null, ptr %t806 %t807 = getelementptr inbounds %LSlice, ptr %t805, i32 0, i32 1 store i32 0, ptr %t807 %t808 = getelementptr inbounds %LSlice, ptr %t805, i32 0, i32 2 store i32 0, ptr %t808 store ptr %t805, ptr @g_g_pmk_ref_at store ptr @.str20239, ptr @g_g_pmk_mod store ptr @.str20240, ptr @g_g_pmk_md %t809 = getelementptr %LSlice, ptr null, i32 1 %t810 = ptrtoint ptr %t809 to i64 store i32 10835, ptr @lp_site %t811 = call ptr @lp_malloc(i64 %t810) store i32 0, ptr @lp_site %t812 = getelementptr inbounds %LSlice, ptr %t811, i32 0, i32 0 store ptr null, ptr %t812 %t813 = getelementptr inbounds %LSlice, ptr %t811, i32 0, i32 1 store i32 0, ptr %t813 %t814 = getelementptr inbounds %LSlice, ptr %t811, i32 0, i32 2 store i32 0, ptr %t814 store ptr %t811, ptr @g_g_vw_name %t815 = getelementptr %LSlice, ptr null, i32 1 %t816 = ptrtoint ptr %t815 to i64 store i32 10836, ptr @lp_site %t817 = call ptr @lp_malloc(i64 %t816) store i32 0, ptr @lp_site %t818 = getelementptr inbounds %LSlice, ptr %t817, i32 0, i32 0 store ptr null, ptr %t818 %t819 = getelementptr inbounds %LSlice, ptr %t817, i32 0, i32 1 store i32 0, ptr %t819 %t820 = getelementptr inbounds %LSlice, ptr %t817, i32 0, i32 2 store i32 0, ptr %t820 store ptr %t817, ptr @g_g_vw_node %t821 = getelementptr %LSlice, ptr null, i32 1 %t822 = ptrtoint ptr %t821 to i64 store i32 10837, ptr @lp_site %t823 = call ptr @lp_malloc(i64 %t822) store i32 0, ptr @lp_site %t824 = getelementptr inbounds %LSlice, ptr %t823, i32 0, i32 0 store ptr null, ptr %t824 %t825 = getelementptr inbounds %LSlice, ptr %t823, i32 0, i32 1 store i32 0, ptr %t825 %t826 = getelementptr inbounds %LSlice, ptr %t823, i32 0, i32 2 store i32 0, ptr %t826 store ptr %t823, ptr @g_g_vw_fields %t827 = getelementptr %LSlice, ptr null, i32 1 %t828 = ptrtoint ptr %t827 to i64 store i32 10838, ptr @lp_site %t829 = call ptr @lp_malloc(i64 %t828) store i32 0, ptr @lp_site %t830 = getelementptr inbounds %LSlice, ptr %t829, i32 0, i32 0 store ptr null, ptr %t830 %t831 = getelementptr inbounds %LSlice, ptr %t829, i32 0, i32 1 store i32 0, ptr %t831 %t832 = getelementptr inbounds %LSlice, ptr %t829, i32 0, i32 2 store i32 0, ptr %t832 store ptr %t829, ptr @g_g_vw_fnames %t833 = getelementptr %LSlice, ptr null, i32 1 %t834 = ptrtoint ptr %t833 to i64 store i32 10839, ptr @lp_site %t835 = call ptr @lp_malloc(i64 %t834) store i32 0, ptr @lp_site %t836 = getelementptr inbounds %LSlice, ptr %t835, i32 0, i32 0 store ptr null, ptr %t836 %t837 = getelementptr inbounds %LSlice, ptr %t835, i32 0, i32 1 store i32 0, ptr %t837 %t838 = getelementptr inbounds %LSlice, ptr %t835, i32 0, i32 2 store i32 0, ptr %t838 store ptr %t835, ptr @g_g_vw_calls %t839 = getelementptr %LSlice, ptr null, i32 1 %t840 = ptrtoint ptr %t839 to i64 store i32 10840, ptr @lp_site %t841 = call ptr @lp_malloc(i64 %t840) store i32 0, ptr @lp_site %t842 = getelementptr inbounds %LSlice, ptr %t841, i32 0, i32 0 store ptr null, ptr %t842 %t843 = getelementptr inbounds %LSlice, ptr %t841, i32 0, i32 1 store i32 0, ptr %t843 %t844 = getelementptr inbounds %LSlice, ptr %t841, i32 0, i32 2 store i32 0, ptr %t844 store ptr %t841, ptr @g_g_vw_cnames %t845 = getelementptr %LSlice, ptr null, i32 1 %t846 = ptrtoint ptr %t845 to i64 store i32 10841, ptr @lp_site %t847 = call ptr @lp_malloc(i64 %t846) store i32 0, ptr @lp_site %t848 = getelementptr inbounds %LSlice, ptr %t847, i32 0, i32 0 store ptr null, ptr %t848 %t849 = getelementptr inbounds %LSlice, ptr %t847, i32 0, i32 1 store i32 0, ptr %t849 %t850 = getelementptr inbounds %LSlice, ptr %t847, i32 0, i32 2 store i32 0, ptr %t850 store ptr %t847, ptr @g_g_vw_helpers %t851 = getelementptr %LSlice, ptr null, i32 1 %t852 = ptrtoint ptr %t851 to i64 store i32 10842, ptr @lp_site %t853 = call ptr @lp_malloc(i64 %t852) store i32 0, ptr @lp_site %t854 = getelementptr inbounds %LSlice, ptr %t853, i32 0, i32 0 store ptr null, ptr %t854 %t855 = getelementptr inbounds %LSlice, ptr %t853, i32 0, i32 1 store i32 0, ptr %t855 %t856 = getelementptr inbounds %LSlice, ptr %t853, i32 0, i32 2 store i32 0, ptr %t856 store ptr %t853, ptr @g_g_vw_hdr %t857 = getelementptr %LSlice, ptr null, i32 1 %t858 = ptrtoint ptr %t857 to i64 store i32 10843, ptr @lp_site %t859 = call ptr @lp_malloc(i64 %t858) store i32 0, ptr @lp_site %t860 = getelementptr inbounds %LSlice, ptr %t859, i32 0, i32 0 store ptr null, ptr %t860 %t861 = getelementptr inbounds %LSlice, ptr %t859, i32 0, i32 1 store i32 0, ptr %t861 %t862 = getelementptr inbounds %LSlice, ptr %t859, i32 0, i32 2 store i32 0, ptr %t862 store ptr %t859, ptr @g_g_vw_nps %t863 = getelementptr %LSlice, ptr null, i32 1 %t864 = ptrtoint ptr %t863 to i64 store i32 10844, ptr @lp_site %t865 = call ptr @lp_malloc(i64 %t864) store i32 0, ptr @lp_site %t866 = getelementptr inbounds %LSlice, ptr %t865, i32 0, i32 0 store ptr null, ptr %t866 %t867 = getelementptr inbounds %LSlice, ptr %t865, i32 0, i32 1 store i32 0, ptr %t867 %t868 = getelementptr inbounds %LSlice, ptr %t865, i32 0, i32 2 store i32 0, ptr %t868 store ptr %t865, ptr @g_g_vw_ps %t869 = getelementptr %LSlice, ptr null, i32 1 %t870 = ptrtoint ptr %t869 to i64 store i32 10845, ptr @lp_site %t871 = call ptr @lp_malloc(i64 %t870) store i32 0, ptr @lp_site %t872 = getelementptr inbounds %LSlice, ptr %t871, i32 0, i32 0 store ptr null, ptr %t872 %t873 = getelementptr inbounds %LSlice, ptr %t871, i32 0, i32 1 store i32 0, ptr %t873 %t874 = getelementptr inbounds %LSlice, ptr %t871, i32 0, i32 2 store i32 0, ptr %t874 store ptr %t871, ptr @g_g_cm_name %t875 = getelementptr %LSlice, ptr null, i32 1 %t876 = ptrtoint ptr %t875 to i64 store i32 10846, ptr @lp_site %t877 = call ptr @lp_malloc(i64 %t876) store i32 0, ptr @lp_site %t878 = getelementptr inbounds %LSlice, ptr %t877, i32 0, i32 0 store ptr null, ptr %t878 %t879 = getelementptr inbounds %LSlice, ptr %t877, i32 0, i32 1 store i32 0, ptr %t879 %t880 = getelementptr inbounds %LSlice, ptr %t877, i32 0, i32 2 store i32 0, ptr %t880 store ptr %t877, ptr @g_g_cm_file %t881 = getelementptr %LSlice, ptr null, i32 1 %t882 = ptrtoint ptr %t881 to i64 store i32 10847, ptr @lp_site %t883 = call ptr @lp_malloc(i64 %t882) store i32 0, ptr @lp_site %t884 = getelementptr inbounds %LSlice, ptr %t883, i32 0, i32 0 store ptr null, ptr %t884 %t885 = getelementptr inbounds %LSlice, ptr %t883, i32 0, i32 1 store i32 0, ptr %t885 %t886 = getelementptr inbounds %LSlice, ptr %t883, i32 0, i32 2 store i32 0, ptr %t886 store ptr %t883, ptr @g_g_cm_line %t887 = getelementptr %LSlice, ptr null, i32 1 %t888 = ptrtoint ptr %t887 to i64 store i32 10848, ptr @lp_site %t889 = call ptr @lp_malloc(i64 %t888) store i32 0, ptr @lp_site %t890 = getelementptr inbounds %LSlice, ptr %t889, i32 0, i32 0 store ptr null, ptr %t890 %t891 = getelementptr inbounds %LSlice, ptr %t889, i32 0, i32 1 store i32 0, ptr %t891 %t892 = getelementptr inbounds %LSlice, ptr %t889, i32 0, i32 2 store i32 0, ptr %t892 store ptr %t889, ptr @g_g_cm_vis %t893 = getelementptr %LSlice, ptr null, i32 1 %t894 = ptrtoint ptr %t893 to i64 store i32 10849, ptr @lp_site %t895 = call ptr @lp_malloc(i64 %t894) store i32 0, ptr @lp_site %t896 = getelementptr inbounds %LSlice, ptr %t895, i32 0, i32 0 store ptr null, ptr %t896 %t897 = getelementptr inbounds %LSlice, ptr %t895, i32 0, i32 1 store i32 0, ptr %t897 %t898 = getelementptr inbounds %LSlice, ptr %t895, i32 0, i32 2 store i32 0, ptr %t898 store ptr %t895, ptr @g_g_cm_keep %t899 = getelementptr %LSlice, ptr null, i32 1 %t900 = ptrtoint ptr %t899 to i64 store i32 10850, ptr @lp_site %t901 = call ptr @lp_malloc(i64 %t900) store i32 0, ptr @lp_site %t902 = getelementptr inbounds %LSlice, ptr %t901, i32 0, i32 0 store ptr null, ptr %t902 %t903 = getelementptr inbounds %LSlice, ptr %t901, i32 0, i32 1 store i32 0, ptr %t903 %t904 = getelementptr inbounds %LSlice, ptr %t901, i32 0, i32 2 store i32 0, ptr %t904 store ptr %t901, ptr @g_g_cm_keep_ty %t905 = getelementptr %LSlice, ptr null, i32 1 %t906 = ptrtoint ptr %t905 to i64 store i32 10851, ptr @lp_site %t907 = call ptr @lp_malloc(i64 %t906) store i32 0, ptr @lp_site %t908 = getelementptr inbounds %LSlice, ptr %t907, i32 0, i32 0 store ptr null, ptr %t908 %t909 = getelementptr inbounds %LSlice, ptr %t907, i32 0, i32 1 store i32 0, ptr %t909 %t910 = getelementptr inbounds %LSlice, ptr %t907, i32 0, i32 2 store i32 0, ptr %t910 store ptr %t907, ptr @g_g_cm_prop %t911 = getelementptr %LSlice, ptr null, i32 1 %t912 = ptrtoint ptr %t911 to i64 store i32 10852, ptr @lp_site %t913 = call ptr @lp_malloc(i64 %t912) store i32 0, ptr @lp_site %t914 = getelementptr inbounds %LSlice, ptr %t913, i32 0, i32 0 store ptr null, ptr %t914 %t915 = getelementptr inbounds %LSlice, ptr %t913, i32 0, i32 1 store i32 0, ptr %t915 %t916 = getelementptr inbounds %LSlice, ptr %t913, i32 0, i32 2 store i32 0, ptr %t916 store ptr %t913, ptr @g_g_cm_defs %t917 = getelementptr %LSlice, ptr null, i32 1 %t918 = ptrtoint ptr %t917 to i64 store i32 10853, ptr @lp_site %t919 = call ptr @lp_malloc(i64 %t918) store i32 0, ptr @lp_site %t920 = getelementptr inbounds %LSlice, ptr %t919, i32 0, i32 0 store ptr null, ptr %t920 %t921 = getelementptr inbounds %LSlice, ptr %t919, i32 0, i32 1 store i32 0, ptr %t921 %t922 = getelementptr inbounds %LSlice, ptr %t919, i32 0, i32 2 store i32 0, ptr %t922 store ptr %t919, ptr @g_g_cm_fields %t923 = getelementptr %LSlice, ptr null, i32 1 %t924 = ptrtoint ptr %t923 to i64 store i32 10854, ptr @lp_site %t925 = call ptr @lp_malloc(i64 %t924) store i32 0, ptr @lp_site %t926 = getelementptr inbounds %LSlice, ptr %t925, i32 0, i32 0 store ptr null, ptr %t926 %t927 = getelementptr inbounds %LSlice, ptr %t925, i32 0, i32 1 store i32 0, ptr %t927 %t928 = getelementptr inbounds %LSlice, ptr %t925, i32 0, i32 2 store i32 0, ptr %t928 store ptr %t925, ptr @g_g_cm_fnames %t929 = getelementptr %LSlice, ptr null, i32 1 %t930 = ptrtoint ptr %t929 to i64 store i32 10855, ptr @lp_site %t931 = call ptr @lp_malloc(i64 %t930) store i32 0, ptr @lp_site %t932 = getelementptr inbounds %LSlice, ptr %t931, i32 0, i32 0 store ptr null, ptr %t932 %t933 = getelementptr inbounds %LSlice, ptr %t931, i32 0, i32 1 store i32 0, ptr %t933 %t934 = getelementptr inbounds %LSlice, ptr %t931, i32 0, i32 2 store i32 0, ptr %t934 store ptr %t931, ptr @g_g_cm_calls %t935 = getelementptr %LSlice, ptr null, i32 1 %t936 = ptrtoint ptr %t935 to i64 store i32 10856, ptr @lp_site %t937 = call ptr @lp_malloc(i64 %t936) store i32 0, ptr @lp_site %t938 = getelementptr inbounds %LSlice, ptr %t937, i32 0, i32 0 store ptr null, ptr %t938 %t939 = getelementptr inbounds %LSlice, ptr %t937, i32 0, i32 1 store i32 0, ptr %t939 %t940 = getelementptr inbounds %LSlice, ptr %t937, i32 0, i32 2 store i32 0, ptr %t940 store ptr %t937, ptr @g_g_cm_cnames %t941 = getelementptr %LSlice, ptr null, i32 1 %t942 = ptrtoint ptr %t941 to i64 store i32 10857, ptr @lp_site %t943 = call ptr @lp_malloc(i64 %t942) store i32 0, ptr @lp_site %t944 = getelementptr inbounds %LSlice, ptr %t943, i32 0, i32 0 store ptr null, ptr %t944 %t945 = getelementptr inbounds %LSlice, ptr %t943, i32 0, i32 1 store i32 0, ptr %t945 %t946 = getelementptr inbounds %LSlice, ptr %t943, i32 0, i32 2 store i32 0, ptr %t946 store ptr %t943, ptr @g_g_cm_head %t947 = getelementptr %LSlice, ptr null, i32 1 %t948 = ptrtoint ptr %t947 to i64 store i32 10858, ptr @lp_site %t949 = call ptr @lp_malloc(i64 %t948) store i32 0, ptr @lp_site %t950 = getelementptr inbounds %LSlice, ptr %t949, i32 0, i32 0 store ptr null, ptr %t950 %t951 = getelementptr inbounds %LSlice, ptr %t949, i32 0, i32 1 store i32 0, ptr %t951 %t952 = getelementptr inbounds %LSlice, ptr %t949, i32 0, i32 2 store i32 0, ptr %t952 store ptr %t949, ptr @g_g_cm_hdr %t953 = getelementptr %LSlice, ptr null, i32 1 %t954 = ptrtoint ptr %t953 to i64 store i32 10859, ptr @lp_site %t955 = call ptr @lp_malloc(i64 %t954) store i32 0, ptr @lp_site %t956 = getelementptr inbounds %LSlice, ptr %t955, i32 0, i32 0 store ptr null, ptr %t956 %t957 = getelementptr inbounds %LSlice, ptr %t955, i32 0, i32 1 store i32 0, ptr %t957 %t958 = getelementptr inbounds %LSlice, ptr %t955, i32 0, i32 2 store i32 0, ptr %t958 store ptr %t955, ptr @g_g_cm_ps %t959 = getelementptr %LSlice, ptr null, i32 1 %t960 = ptrtoint ptr %t959 to i64 store i32 10860, ptr @lp_site %t961 = call ptr @lp_malloc(i64 %t960) store i32 0, ptr @lp_site %t962 = getelementptr inbounds %LSlice, ptr %t961, i32 0, i32 0 store ptr null, ptr %t962 %t963 = getelementptr inbounds %LSlice, ptr %t961, i32 0, i32 1 store i32 0, ptr %t963 %t964 = getelementptr inbounds %LSlice, ptr %t961, i32 0, i32 2 store i32 0, ptr %t964 store ptr %t961, ptr @g_g_cm_at %t965 = getelementptr %LSlice, ptr null, i32 1 %t966 = ptrtoint ptr %t965 to i64 store i32 10861, ptr @lp_site %t967 = call ptr @lp_malloc(i64 %t966) store i32 0, ptr @lp_site %t968 = getelementptr inbounds %LSlice, ptr %t967, i32 0, i32 0 store ptr null, ptr %t968 %t969 = getelementptr inbounds %LSlice, ptr %t967, i32 0, i32 1 store i32 0, ptr %t969 %t970 = getelementptr inbounds %LSlice, ptr %t967, i32 0, i32 2 store i32 0, ptr %t970 store ptr %t967, ptr @g_g_cm_kat %t971 = getelementptr %LSlice, ptr null, i32 1 %t972 = ptrtoint ptr %t971 to i64 store i32 10862, ptr @lp_site %t973 = call ptr @lp_malloc(i64 %t972) store i32 0, ptr @lp_site %t974 = getelementptr inbounds %LSlice, ptr %t973, i32 0, i32 0 store ptr null, ptr %t974 %t975 = getelementptr inbounds %LSlice, ptr %t973, i32 0, i32 1 store i32 0, ptr %t975 %t976 = getelementptr inbounds %LSlice, ptr %t973, i32 0, i32 2 store i32 0, ptr %t976 store ptr %t973, ptr @g_g_cm_fline %t977 = getelementptr %LSlice, ptr null, i32 1 %t978 = ptrtoint ptr %t977 to i64 store i32 10863, ptr @lp_site %t979 = call ptr @lp_malloc(i64 %t978) store i32 0, ptr @lp_site %t980 = getelementptr inbounds %LSlice, ptr %t979, i32 0, i32 0 store ptr null, ptr %t980 %t981 = getelementptr inbounds %LSlice, ptr %t979, i32 0, i32 1 store i32 0, ptr %t981 %t982 = getelementptr inbounds %LSlice, ptr %t979, i32 0, i32 2 store i32 0, ptr %t982 store ptr %t979, ptr @g_g_cm_isev %t983 = getelementptr %LSlice, ptr null, i32 1 %t984 = ptrtoint ptr %t983 to i64 store i32 10864, ptr @lp_site %t985 = call ptr @lp_malloc(i64 %t984) store i32 0, ptr @lp_site %t986 = getelementptr inbounds %LSlice, ptr %t985, i32 0, i32 0 store ptr null, ptr %t986 %t987 = getelementptr inbounds %LSlice, ptr %t985, i32 0, i32 1 store i32 0, ptr %t987 %t988 = getelementptr inbounds %LSlice, ptr %t985, i32 0, i32 2 store i32 0, ptr %t988 store ptr %t985, ptr @g_g_cm_xml_path %t989 = getelementptr %LSlice, ptr null, i32 1 %t990 = ptrtoint ptr %t989 to i64 store i32 10865, ptr @lp_site %t991 = call ptr @lp_malloc(i64 %t990) store i32 0, ptr @lp_site %t992 = getelementptr inbounds %LSlice, ptr %t991, i32 0, i32 0 store ptr null, ptr %t992 %t993 = getelementptr inbounds %LSlice, ptr %t991, i32 0, i32 1 store i32 0, ptr %t993 %t994 = getelementptr inbounds %LSlice, ptr %t991, i32 0, i32 2 store i32 0, ptr %t994 store ptr %t991, ptr @g_g_cm_lss_path %t995 = getelementptr %LSlice, ptr null, i32 1 %t996 = ptrtoint ptr %t995 to i64 store i32 10866, ptr @lp_site %t997 = call ptr @lp_malloc(i64 %t996) store i32 0, ptr @lp_site %t998 = getelementptr inbounds %LSlice, ptr %t997, i32 0, i32 0 store ptr null, ptr %t998 %t999 = getelementptr inbounds %LSlice, ptr %t997, i32 0, i32 1 store i32 0, ptr %t999 %t1000 = getelementptr inbounds %LSlice, ptr %t997, i32 0, i32 2 store i32 0, ptr %t1000 store ptr %t997, ptr @g_g_cm_xml %t1001 = getelementptr %LSlice, ptr null, i32 1 %t1002 = ptrtoint ptr %t1001 to i64 store i32 10867, ptr @lp_site %t1003 = call ptr @lp_malloc(i64 %t1002) store i32 0, ptr @lp_site %t1004 = getelementptr inbounds %LSlice, ptr %t1003, i32 0, i32 0 store ptr null, ptr %t1004 %t1005 = getelementptr inbounds %LSlice, ptr %t1003, i32 0, i32 1 store i32 0, ptr %t1005 %t1006 = getelementptr inbounds %LSlice, ptr %t1003, i32 0, i32 2 store i32 0, ptr %t1006 store ptr %t1003, ptr @g_g_po_cstr store ptr @.str20243, ptr @g_g_i18n_src store ptr @.str20244, ptr @g_g_i18n_en_path %t1007 = getelementptr %LSlice, ptr null, i32 1 %t1008 = ptrtoint ptr %t1007 to i64 store i32 10868, ptr @lp_site %t1009 = call ptr @lp_malloc(i64 %t1008) store i32 0, ptr @lp_site %t1010 = getelementptr inbounds %LSlice, ptr %t1009, i32 0, i32 0 store ptr null, ptr %t1010 %t1011 = getelementptr inbounds %LSlice, ptr %t1009, i32 0, i32 1 store i32 0, ptr %t1011 %t1012 = getelementptr inbounds %LSlice, ptr %t1009, i32 0, i32 2 store i32 0, ptr %t1012 store ptr %t1009, ptr @g_g_rg_textkey %t1013 = getelementptr %LSlice, ptr null, i32 1 %t1014 = ptrtoint ptr %t1013 to i64 store i32 10869, ptr @lp_site %t1015 = call ptr @lp_malloc(i64 %t1014) store i32 0, ptr @lp_site %t1016 = getelementptr inbounds %LSlice, ptr %t1015, i32 0, i32 0 store ptr null, ptr %t1016 %t1017 = getelementptr inbounds %LSlice, ptr %t1015, i32 0, i32 1 store i32 0, ptr %t1017 %t1018 = getelementptr inbounds %LSlice, ptr %t1015, i32 0, i32 2 store i32 0, ptr %t1018 store ptr %t1015, ptr @g_g_ks_key %t1019 = getelementptr %LSlice, ptr null, i32 1 %t1020 = ptrtoint ptr %t1019 to i64 store i32 10870, ptr @lp_site %t1021 = call ptr @lp_malloc(i64 %t1020) store i32 0, ptr @lp_site %t1022 = getelementptr inbounds %LSlice, ptr %t1021, i32 0, i32 0 store ptr null, ptr %t1022 %t1023 = getelementptr inbounds %LSlice, ptr %t1021, i32 0, i32 1 store i32 0, ptr %t1023 %t1024 = getelementptr inbounds %LSlice, ptr %t1021, i32 0, i32 2 store i32 0, ptr %t1024 store ptr %t1021, ptr @g_g_ks_kind %t1025 = getelementptr %LSlice, ptr null, i32 1 %t1026 = ptrtoint ptr %t1025 to i64 store i32 10871, ptr @lp_site %t1027 = call ptr @lp_malloc(i64 %t1026) store i32 0, ptr @lp_site %t1028 = getelementptr inbounds %LSlice, ptr %t1027, i32 0, i32 0 store ptr null, ptr %t1028 %t1029 = getelementptr inbounds %LSlice, ptr %t1027, i32 0, i32 1 store i32 0, ptr %t1029 %t1030 = getelementptr inbounds %LSlice, ptr %t1027, i32 0, i32 2 store i32 0, ptr %t1030 store ptr %t1027, ptr @g_g_ks_file %t1031 = getelementptr %LSlice, ptr null, i32 1 %t1032 = ptrtoint ptr %t1031 to i64 store i32 10872, ptr @lp_site %t1033 = call ptr @lp_malloc(i64 %t1032) store i32 0, ptr @lp_site %t1034 = getelementptr inbounds %LSlice, ptr %t1033, i32 0, i32 0 store ptr null, ptr %t1034 %t1035 = getelementptr inbounds %LSlice, ptr %t1033, i32 0, i32 1 store i32 0, ptr %t1035 %t1036 = getelementptr inbounds %LSlice, ptr %t1033, i32 0, i32 2 store i32 0, ptr %t1036 store ptr %t1033, ptr @g_g_ks_line %t1037 = getelementptr %LSlice, ptr null, i32 1 %t1038 = ptrtoint ptr %t1037 to i64 store i32 10873, ptr @lp_site %t1039 = call ptr @lp_malloc(i64 %t1038) store i32 0, ptr @lp_site %t1040 = getelementptr inbounds %LSlice, ptr %t1039, i32 0, i32 0 store ptr null, ptr %t1040 %t1041 = getelementptr inbounds %LSlice, ptr %t1039, i32 0, i32 1 store i32 0, ptr %t1041 %t1042 = getelementptr inbounds %LSlice, ptr %t1039, i32 0, i32 2 store i32 0, ptr %t1042 store ptr %t1039, ptr @g_g_ks_col store ptr @.str20245, ptr @g_g_xk_src store ptr @.str20246, ptr @g_g_xk_file store ptr @.str20247, ptr @g_g_xk_last_name store ptr @.str20248, ptr @g_g_src_name %t1043 = getelementptr %LSlice, ptr null, i32 1 %t1044 = ptrtoint ptr %t1043 to i64 store i32 10874, ptr @lp_site %t1045 = call ptr @lp_malloc(i64 %t1044) store i32 0, ptr @lp_site %t1046 = getelementptr inbounds %LSlice, ptr %t1045, i32 0, i32 0 store ptr null, ptr %t1046 %t1047 = getelementptr inbounds %LSlice, ptr %t1045, i32 0, i32 1 store i32 0, ptr %t1047 %t1048 = getelementptr inbounds %LSlice, ptr %t1045, i32 0, i32 2 store i32 0, ptr %t1048 store ptr %t1045, ptr @g_g_ix_tagged %t1049 = getelementptr %LSlice, ptr null, i32 1 %t1050 = ptrtoint ptr %t1049 to i64 store i32 10875, ptr @lp_site %t1051 = call ptr @lp_malloc(i64 %t1050) store i32 0, ptr @lp_site %t1052 = getelementptr inbounds %LSlice, ptr %t1051, i32 0, i32 0 store ptr null, ptr %t1052 %t1053 = getelementptr inbounds %LSlice, ptr %t1051, i32 0, i32 1 store i32 0, ptr %t1053 %t1054 = getelementptr inbounds %LSlice, ptr %t1051, i32 0, i32 2 store i32 0, ptr %t1054 store ptr %t1051, ptr @g_g_ix_keys %t1055 = getelementptr %LSlice, ptr null, i32 1 %t1056 = ptrtoint ptr %t1055 to i64 store i32 10876, ptr @lp_site %t1057 = call ptr @lp_malloc(i64 %t1056) store i32 0, ptr @lp_site %t1058 = getelementptr inbounds %LSlice, ptr %t1057, i32 0, i32 0 store ptr null, ptr %t1058 %t1059 = getelementptr inbounds %LSlice, ptr %t1057, i32 0, i32 1 store i32 0, ptr %t1059 %t1060 = getelementptr inbounds %LSlice, ptr %t1057, i32 0, i32 2 store i32 0, ptr %t1060 store ptr %t1057, ptr @g_g_ix_vals store ptr @.str20249, ptr @g_g_ret_label %t1061 = getelementptr %LSlice, ptr null, i32 1 %t1062 = ptrtoint ptr %t1061 to i64 store i32 10877, ptr @lp_site %t1063 = call ptr @lp_malloc(i64 %t1062) store i32 0, ptr @lp_site %t1064 = getelementptr inbounds %LSlice, ptr %t1063, i32 0, i32 0 store ptr null, ptr %t1064 %t1065 = getelementptr inbounds %LSlice, ptr %t1063, i32 0, i32 1 store i32 0, ptr %t1065 %t1066 = getelementptr inbounds %LSlice, ptr %t1063, i32 0, i32 2 store i32 0, ptr %t1066 store ptr %t1063, ptr @g_g_site_fn %t1067 = getelementptr %LSlice, ptr null, i32 1 %t1068 = ptrtoint ptr %t1067 to i64 store i32 10878, ptr @lp_site %t1069 = call ptr @lp_malloc(i64 %t1068) store i32 0, ptr @lp_site %t1070 = getelementptr inbounds %LSlice, ptr %t1069, i32 0, i32 0 store ptr null, ptr %t1070 %t1071 = getelementptr inbounds %LSlice, ptr %t1069, i32 0, i32 1 store i32 0, ptr %t1071 %t1072 = getelementptr inbounds %LSlice, ptr %t1069, i32 0, i32 2 store i32 0, ptr %t1072 store ptr %t1069, ptr @g_g_site_file %t1073 = getelementptr %LSlice, ptr null, i32 1 %t1074 = ptrtoint ptr %t1073 to i64 store i32 10879, ptr @lp_site %t1075 = call ptr @lp_malloc(i64 %t1074) store i32 0, ptr @lp_site %t1076 = getelementptr inbounds %LSlice, ptr %t1075, i32 0, i32 0 store ptr null, ptr %t1076 %t1077 = getelementptr inbounds %LSlice, ptr %t1075, i32 0, i32 1 store i32 0, ptr %t1077 %t1078 = getelementptr inbounds %LSlice, ptr %t1075, i32 0, i32 2 store i32 0, ptr %t1078 store ptr %t1075, ptr @g_g_site_line %t1079 = getelementptr %LSlice, ptr null, i32 1 %t1080 = ptrtoint ptr %t1079 to i64 store i32 10880, ptr @lp_site %t1081 = call ptr @lp_malloc(i64 %t1080) store i32 0, ptr @lp_site %t1082 = getelementptr inbounds %LSlice, ptr %t1081, i32 0, i32 0 store ptr null, ptr %t1082 %t1083 = getelementptr inbounds %LSlice, ptr %t1081, i32 0, i32 1 store i32 0, ptr %t1083 %t1084 = getelementptr inbounds %LSlice, ptr %t1081, i32 0, i32 2 store i32 0, ptr %t1084 store ptr %t1081, ptr @g_g_site_kind %t1085 = getelementptr %LSlice, ptr null, i32 1 %t1086 = ptrtoint ptr %t1085 to i64 store i32 10881, ptr @lp_site %t1087 = call ptr @lp_malloc(i64 %t1086) store i32 0, ptr @lp_site %t1088 = getelementptr inbounds %LSlice, ptr %t1087, i32 0, i32 0 store ptr null, ptr %t1088 %t1089 = getelementptr inbounds %LSlice, ptr %t1087, i32 0, i32 1 store i32 0, ptr %t1089 %t1090 = getelementptr inbounds %LSlice, ptr %t1087, i32 0, i32 2 store i32 0, ptr %t1090 store ptr %t1087, ptr @g_g_site_owner %t1091 = getelementptr %LSlice, ptr null, i32 1 %t1092 = ptrtoint ptr %t1091 to i64 store i32 10882, ptr @lp_site %t1093 = call ptr @lp_malloc(i64 %t1092) store i32 0, ptr @lp_site %t1094 = getelementptr inbounds %LSlice, ptr %t1093, i32 0, i32 0 store ptr null, ptr %t1094 %t1095 = getelementptr inbounds %LSlice, ptr %t1093, i32 0, i32 1 store i32 0, ptr %t1095 %t1096 = getelementptr inbounds %LSlice, ptr %t1093, i32 0, i32 2 store i32 0, ptr %t1096 store ptr %t1093, ptr @g_g_owner_names store ptr @.str20250, ptr @g_g_cur_fn_name %t1097 = getelementptr %LSlice, ptr null, i32 1 %t1098 = ptrtoint ptr %t1097 to i64 store i32 10883, ptr @lp_site %t1099 = call ptr @lp_malloc(i64 %t1098) store i32 0, ptr @lp_site %t1100 = getelementptr inbounds %LSlice, ptr %t1099, i32 0, i32 0 store ptr null, ptr %t1100 %t1101 = getelementptr inbounds %LSlice, ptr %t1099, i32 0, i32 1 store i32 0, ptr %t1101 %t1102 = getelementptr inbounds %LSlice, ptr %t1099, i32 0, i32 2 store i32 0, ptr %t1102 store ptr %t1099, ptr @g_g_site_kinds %t1103 = getelementptr %LSlice, ptr null, i32 1 %t1104 = ptrtoint ptr %t1103 to i64 store i32 10884, ptr @lp_site %t1105 = call ptr @lp_malloc(i64 %t1104) store i32 0, ptr @lp_site %t1106 = getelementptr inbounds %LSlice, ptr %t1105, i32 0, i32 0 store ptr null, ptr %t1106 %t1107 = getelementptr inbounds %LSlice, ptr %t1105, i32 0, i32 1 store i32 0, ptr %t1107 %t1108 = getelementptr inbounds %LSlice, ptr %t1105, i32 0, i32 2 store i32 0, ptr %t1108 store ptr %t1105, ptr @g_g_site_kindc %t1109 = getelementptr %LSlice, ptr null, i32 1 %t1110 = ptrtoint ptr %t1109 to i64 store i32 10885, ptr @lp_site %t1111 = call ptr @lp_malloc(i64 %t1110) store i32 0, ptr @lp_site %t1112 = getelementptr inbounds %LSlice, ptr %t1111, i32 0, i32 0 store ptr null, ptr %t1112 %t1113 = getelementptr inbounds %LSlice, ptr %t1111, i32 0, i32 1 store i32 0, ptr %t1113 %t1114 = getelementptr inbounds %LSlice, ptr %t1111, i32 0, i32 2 store i32 0, ptr %t1114 store ptr %t1111, ptr @g_g_scan_roots %t1115 = getelementptr %LSlice, ptr null, i32 1 %t1116 = ptrtoint ptr %t1115 to i64 store i32 10886, ptr @lp_site %t1117 = call ptr @lp_malloc(i64 %t1116) store i32 0, ptr @lp_site %t1118 = getelementptr inbounds %LSlice, ptr %t1117, i32 0, i32 0 store ptr null, ptr %t1118 %t1119 = getelementptr inbounds %LSlice, ptr %t1117, i32 0, i32 1 store i32 0, ptr %t1119 %t1120 = getelementptr inbounds %LSlice, ptr %t1117, i32 0, i32 2 store i32 0, ptr %t1120 store ptr %t1117, ptr @g_g_cap_keys %t1121 = getelementptr %LSlice, ptr null, i32 1 %t1122 = ptrtoint ptr %t1121 to i64 store i32 10887, ptr @lp_site %t1123 = call ptr @lp_malloc(i64 %t1122) store i32 0, ptr @lp_site %t1124 = getelementptr inbounds %LSlice, ptr %t1123, i32 0, i32 0 store ptr null, ptr %t1124 %t1125 = getelementptr inbounds %LSlice, ptr %t1123, i32 0, i32 1 store i32 0, ptr %t1125 %t1126 = getelementptr inbounds %LSlice, ptr %t1123, i32 0, i32 2 store i32 0, ptr %t1126 store ptr %t1123, ptr @g_g_cap_vals %t1127 = getelementptr %LSlice, ptr null, i32 1 %t1128 = ptrtoint ptr %t1127 to i64 store i32 10888, ptr @lp_site %t1129 = call ptr @lp_malloc(i64 %t1128) store i32 0, ptr @lp_site %t1130 = getelementptr inbounds %LSlice, ptr %t1129, i32 0, i32 0 store ptr null, ptr %t1130 %t1131 = getelementptr inbounds %LSlice, ptr %t1129, i32 0, i32 1 store i32 0, ptr %t1131 %t1132 = getelementptr inbounds %LSlice, ptr %t1129, i32 0, i32 2 store i32 0, ptr %t1132 store ptr %t1129, ptr @g_g_alloc_ok_names %t1133 = getelementptr %LSlice, ptr null, i32 1 %t1134 = ptrtoint ptr %t1133 to i64 store i32 10889, ptr @lp_site %t1135 = call ptr @lp_malloc(i64 %t1134) store i32 0, ptr @lp_site %t1136 = getelementptr inbounds %LSlice, ptr %t1135, i32 0, i32 0 store ptr null, ptr %t1136 %t1137 = getelementptr inbounds %LSlice, ptr %t1135, i32 0, i32 1 store i32 0, ptr %t1137 %t1138 = getelementptr inbounds %LSlice, ptr %t1135, i32 0, i32 2 store i32 0, ptr %t1138 store ptr %t1135, ptr @g_g_frame_fields %t1139 = getelementptr %LSlice, ptr null, i32 1 %t1140 = ptrtoint ptr %t1139 to i64 store i32 10890, ptr @lp_site %t1141 = call ptr @lp_malloc(i64 %t1140) store i32 0, ptr @lp_site %t1142 = getelementptr inbounds %LSlice, ptr %t1141, i32 0, i32 0 store ptr null, ptr %t1142 %t1143 = getelementptr inbounds %LSlice, ptr %t1141, i32 0, i32 1 store i32 0, ptr %t1143 %t1144 = getelementptr inbounds %LSlice, ptr %t1141, i32 0, i32 2 store i32 0, ptr %t1144 store ptr %t1141, ptr @g_g_fr_root %t1145 = getelementptr %LSlice, ptr null, i32 1 %t1146 = ptrtoint ptr %t1145 to i64 store i32 10891, ptr @lp_site %t1147 = call ptr @lp_malloc(i64 %t1146) store i32 0, ptr @lp_site %t1148 = getelementptr inbounds %LSlice, ptr %t1147, i32 0, i32 0 store ptr null, ptr %t1148 %t1149 = getelementptr inbounds %LSlice, ptr %t1147, i32 0, i32 1 store i32 0, ptr %t1149 %t1150 = getelementptr inbounds %LSlice, ptr %t1147, i32 0, i32 2 store i32 0, ptr %t1150 store ptr %t1147, ptr @g_g_fr_from %t1151 = getelementptr %LSlice, ptr null, i32 1 %t1152 = ptrtoint ptr %t1151 to i64 store i32 10892, ptr @lp_site %t1153 = call ptr @lp_malloc(i64 %t1152) store i32 0, ptr @lp_site %t1154 = getelementptr inbounds %LSlice, ptr %t1153, i32 0, i32 0 store ptr null, ptr %t1154 %t1155 = getelementptr inbounds %LSlice, ptr %t1153, i32 0, i32 1 store i32 0, ptr %t1155 %t1156 = getelementptr inbounds %LSlice, ptr %t1153, i32 0, i32 2 store i32 0, ptr %t1156 store ptr %t1153, ptr @g_g_es_flag %t1157 = getelementptr %LSlice, ptr null, i32 1 %t1158 = ptrtoint ptr %t1157 to i64 store i32 10893, ptr @lp_site %t1159 = call ptr @lp_malloc(i64 %t1158) store i32 0, ptr @lp_site %t1160 = getelementptr inbounds %LSlice, ptr %t1159, i32 0, i32 0 store ptr null, ptr %t1160 %t1161 = getelementptr inbounds %LSlice, ptr %t1159, i32 0, i32 1 store i32 0, ptr %t1161 %t1162 = getelementptr inbounds %LSlice, ptr %t1159, i32 0, i32 2 store i32 0, ptr %t1162 store ptr %t1159, ptr @g_g_es_why %t1163 = getelementptr %LSlice, ptr null, i32 1 %t1164 = ptrtoint ptr %t1163 to i64 store i32 10894, ptr @lp_site %t1165 = call ptr @lp_malloc(i64 %t1164) store i32 0, ptr @lp_site %t1166 = getelementptr inbounds %LSlice, ptr %t1165, i32 0, i32 0 store ptr null, ptr %t1166 %t1167 = getelementptr inbounds %LSlice, ptr %t1165, i32 0, i32 1 store i32 0, ptr %t1167 %t1168 = getelementptr inbounds %LSlice, ptr %t1165, i32 0, i32 2 store i32 0, ptr %t1168 store ptr %t1165, ptr @g_g_es_own %t1169 = getelementptr %LSlice, ptr null, i32 1 %t1170 = ptrtoint ptr %t1169 to i64 store i32 10895, ptr @lp_site %t1171 = call ptr @lp_malloc(i64 %t1170) store i32 0, ptr @lp_site %t1172 = getelementptr inbounds %LSlice, ptr %t1171, i32 0, i32 0 store ptr null, ptr %t1172 %t1173 = getelementptr inbounds %LSlice, ptr %t1171, i32 0, i32 1 store i32 0, ptr %t1173 %t1174 = getelementptr inbounds %LSlice, ptr %t1171, i32 0, i32 2 store i32 0, ptr %t1174 store ptr %t1171, ptr @g_g_es_gname %t1175 = getelementptr %LSlice, ptr null, i32 1 %t1176 = ptrtoint ptr %t1175 to i64 store i32 10896, ptr @lp_site %t1177 = call ptr @lp_malloc(i64 %t1176) store i32 0, ptr @lp_site %t1178 = getelementptr inbounds %LSlice, ptr %t1177, i32 0, i32 0 store ptr null, ptr %t1178 %t1179 = getelementptr inbounds %LSlice, ptr %t1177, i32 0, i32 1 store i32 0, ptr %t1179 %t1180 = getelementptr inbounds %LSlice, ptr %t1177, i32 0, i32 2 store i32 0, ptr %t1180 store ptr %t1177, ptr @g_g_es_gcls %t1181 = getelementptr %LSlice, ptr null, i32 1 %t1182 = ptrtoint ptr %t1181 to i64 store i32 10897, ptr @lp_site %t1183 = call ptr @lp_malloc(i64 %t1182) store i32 0, ptr @lp_site %t1184 = getelementptr inbounds %LSlice, ptr %t1183, i32 0, i32 0 store ptr null, ptr %t1184 %t1185 = getelementptr inbounds %LSlice, ptr %t1183, i32 0, i32 1 store i32 0, ptr %t1185 %t1186 = getelementptr inbounds %LSlice, ptr %t1183, i32 0, i32 2 store i32 0, ptr %t1186 store ptr %t1183, ptr @g_g_es_ok %t1187 = getelementptr %LSlice, ptr null, i32 1 %t1188 = ptrtoint ptr %t1187 to i64 store i32 10898, ptr @lp_site %t1189 = call ptr @lp_malloc(i64 %t1188) store i32 0, ptr @lp_site %t1190 = getelementptr inbounds %LSlice, ptr %t1189, i32 0, i32 0 store ptr null, ptr %t1190 %t1191 = getelementptr inbounds %LSlice, ptr %t1189, i32 0, i32 1 store i32 0, ptr %t1191 %t1192 = getelementptr inbounds %LSlice, ptr %t1189, i32 0, i32 2 store i32 0, ptr %t1192 store ptr %t1189, ptr @g_g_es_ov %t1193 = getelementptr %LSlice, ptr null, i32 1 %t1194 = ptrtoint ptr %t1193 to i64 store i32 10899, ptr @lp_site %t1195 = call ptr @lp_malloc(i64 %t1194) store i32 0, ptr @lp_site %t1196 = getelementptr inbounds %LSlice, ptr %t1195, i32 0, i32 0 store ptr null, ptr %t1196 %t1197 = getelementptr inbounds %LSlice, ptr %t1195, i32 0, i32 1 store i32 0, ptr %t1197 %t1198 = getelementptr inbounds %LSlice, ptr %t1195, i32 0, i32 2 store i32 0, ptr %t1198 store ptr %t1195, ptr @g_g_es_swhy %t1199 = getelementptr %LSlice, ptr null, i32 1 %t1200 = ptrtoint ptr %t1199 to i64 store i32 10900, ptr @lp_site %t1201 = call ptr @lp_malloc(i64 %t1200) store i32 0, ptr @lp_site %t1202 = getelementptr inbounds %LSlice, ptr %t1201, i32 0, i32 0 store ptr null, ptr %t1202 %t1203 = getelementptr inbounds %LSlice, ptr %t1201, i32 0, i32 1 store i32 0, ptr %t1203 %t1204 = getelementptr inbounds %LSlice, ptr %t1201, i32 0, i32 2 store i32 0, ptr %t1204 store ptr %t1201, ptr @g_g_es_site_aok %t1205 = getelementptr %LSlice, ptr null, i32 1 %t1206 = ptrtoint ptr %t1205 to i64 store i32 10901, ptr @lp_site %t1207 = call ptr @lp_malloc(i64 %t1206) store i32 0, ptr @lp_site %t1208 = getelementptr inbounds %LSlice, ptr %t1207, i32 0, i32 0 store ptr null, ptr %t1208 %t1209 = getelementptr inbounds %LSlice, ptr %t1207, i32 0, i32 1 store i32 0, ptr %t1209 %t1210 = getelementptr inbounds %LSlice, ptr %t1207, i32 0, i32 2 store i32 0, ptr %t1210 store ptr %t1207, ptr @g_g_es_site_grow %t1211 = getelementptr %LSlice, ptr null, i32 1 %t1212 = ptrtoint ptr %t1211 to i64 store i32 10902, ptr @lp_site %t1213 = call ptr @lp_malloc(i64 %t1212) store i32 0, ptr @lp_site %t1214 = getelementptr inbounds %LSlice, ptr %t1213, i32 0, i32 0 store ptr null, ptr %t1214 %t1215 = getelementptr inbounds %LSlice, ptr %t1213, i32 0, i32 1 store i32 0, ptr %t1215 %t1216 = getelementptr inbounds %LSlice, ptr %t1213, i32 0, i32 2 store i32 0, ptr %t1216 store ptr %t1213, ptr @g_g_es_fnrefs %t1217 = getelementptr %LSlice, ptr null, i32 1 %t1218 = ptrtoint ptr %t1217 to i64 store i32 10903, ptr @lp_site %t1219 = call ptr @lp_malloc(i64 %t1218) store i32 0, ptr @lp_site %t1220 = getelementptr inbounds %LSlice, ptr %t1219, i32 0, i32 0 store ptr null, ptr %t1220 %t1221 = getelementptr inbounds %LSlice, ptr %t1219, i32 0, i32 1 store i32 0, ptr %t1221 %t1222 = getelementptr inbounds %LSlice, ptr %t1219, i32 0, i32 2 store i32 0, ptr %t1222 store ptr %t1219, ptr @g_g_es_consumed %t1223 = getelementptr %LSlice, ptr null, i32 1 %t1224 = ptrtoint ptr %t1223 to i64 store i32 10904, ptr @lp_site %t1225 = call ptr @lp_malloc(i64 %t1224) store i32 0, ptr @lp_site %t1226 = getelementptr inbounds %LSlice, ptr %t1225, i32 0, i32 0 store ptr null, ptr %t1226 %t1227 = getelementptr inbounds %LSlice, ptr %t1225, i32 0, i32 1 store i32 0, ptr %t1227 %t1228 = getelementptr inbounds %LSlice, ptr %t1225, i32 0, i32 2 store i32 0, ptr %t1228 store ptr %t1225, ptr @g_g_es_ft %t1229 = getelementptr %LSlice, ptr null, i32 1 %t1230 = ptrtoint ptr %t1229 to i64 store i32 10905, ptr @lp_site %t1231 = call ptr @lp_malloc(i64 %t1230) store i32 0, ptr @lp_site %t1232 = getelementptr inbounds %LSlice, ptr %t1231, i32 0, i32 0 store ptr null, ptr %t1232 %t1233 = getelementptr inbounds %LSlice, ptr %t1231, i32 0, i32 1 store i32 0, ptr %t1233 %t1234 = getelementptr inbounds %LSlice, ptr %t1231, i32 0, i32 2 store i32 0, ptr %t1234 store ptr %t1231, ptr @g_g_es_ff %t1235 = getelementptr %LSlice, ptr null, i32 1 %t1236 = ptrtoint ptr %t1235 to i64 store i32 10906, ptr @lp_site %t1237 = call ptr @lp_malloc(i64 %t1236) store i32 0, ptr @lp_site %t1238 = getelementptr inbounds %LSlice, ptr %t1237, i32 0, i32 0 store ptr null, ptr %t1238 %t1239 = getelementptr inbounds %LSlice, ptr %t1237, i32 0, i32 1 store i32 0, ptr %t1239 %t1240 = getelementptr inbounds %LSlice, ptr %t1237, i32 0, i32 2 store i32 0, ptr %t1240 store ptr %t1237, ptr @g_g_es_st %t1241 = getelementptr %LSlice, ptr null, i32 1 %t1242 = ptrtoint ptr %t1241 to i64 store i32 10907, ptr @lp_site %t1243 = call ptr @lp_malloc(i64 %t1242) store i32 0, ptr @lp_site %t1244 = getelementptr inbounds %LSlice, ptr %t1243, i32 0, i32 0 store ptr null, ptr %t1244 %t1245 = getelementptr inbounds %LSlice, ptr %t1243, i32 0, i32 1 store i32 0, ptr %t1245 %t1246 = getelementptr inbounds %LSlice, ptr %t1243, i32 0, i32 2 store i32 0, ptr %t1246 store ptr %t1243, ptr @g_g_es_sv %t1247 = getelementptr %LSlice, ptr null, i32 1 %t1248 = ptrtoint ptr %t1247 to i64 store i32 10908, ptr @lp_site %t1249 = call ptr @lp_malloc(i64 %t1248) store i32 0, ptr @lp_site %t1250 = getelementptr inbounds %LSlice, ptr %t1249, i32 0, i32 0 store ptr null, ptr %t1250 %t1251 = getelementptr inbounds %LSlice, ptr %t1249, i32 0, i32 1 store i32 0, ptr %t1251 %t1252 = getelementptr inbounds %LSlice, ptr %t1249, i32 0, i32 2 store i32 0, ptr %t1252 store ptr %t1249, ptr @g_g_es_site %t1253 = getelementptr %LSlice, ptr null, i32 1 %t1254 = ptrtoint ptr %t1253 to i64 store i32 10909, ptr @lp_site %t1255 = call ptr @lp_malloc(i64 %t1254) store i32 0, ptr @lp_site %t1256 = getelementptr inbounds %LSlice, ptr %t1255, i32 0, i32 0 store ptr null, ptr %t1256 %t1257 = getelementptr inbounds %LSlice, ptr %t1255, i32 0, i32 1 store i32 0, ptr %t1257 %t1258 = getelementptr inbounds %LSlice, ptr %t1255, i32 0, i32 2 store i32 0, ptr %t1258 store ptr %t1255, ptr @g_g_es_site_cls %t1259 = getelementptr %LSlice, ptr null, i32 1 %t1260 = ptrtoint ptr %t1259 to i64 store i32 10910, ptr @lp_site %t1261 = call ptr @lp_malloc(i64 %t1260) store i32 0, ptr @lp_site %t1262 = getelementptr inbounds %LSlice, ptr %t1261, i32 0, i32 0 store ptr null, ptr %t1262 %t1263 = getelementptr inbounds %LSlice, ptr %t1261, i32 0, i32 1 store i32 0, ptr %t1263 %t1264 = getelementptr inbounds %LSlice, ptr %t1261, i32 0, i32 2 store i32 0, ptr %t1264 store ptr %t1261, ptr @g_g_es_site_fn %t1265 = getelementptr %LSlice, ptr null, i32 1 %t1266 = ptrtoint ptr %t1265 to i64 store i32 10911, ptr @lp_site %t1267 = call ptr @lp_malloc(i64 %t1266) store i32 0, ptr @lp_site %t1268 = getelementptr inbounds %LSlice, ptr %t1267, i32 0, i32 0 store ptr null, ptr %t1268 %t1269 = getelementptr inbounds %LSlice, ptr %t1267, i32 0, i32 1 store i32 0, ptr %t1269 %t1270 = getelementptr inbounds %LSlice, ptr %t1267, i32 0, i32 2 store i32 0, ptr %t1270 store ptr %t1267, ptr @g_g_es_fk %t1271 = getelementptr %LSlice, ptr null, i32 1 %t1272 = ptrtoint ptr %t1271 to i64 store i32 10912, ptr @lp_site %t1273 = call ptr @lp_malloc(i64 %t1272) store i32 0, ptr @lp_site %t1274 = getelementptr inbounds %LSlice, ptr %t1273, i32 0, i32 0 store ptr null, ptr %t1274 %t1275 = getelementptr inbounds %LSlice, ptr %t1273, i32 0, i32 1 store i32 0, ptr %t1275 %t1276 = getelementptr inbounds %LSlice, ptr %t1273, i32 0, i32 2 store i32 0, ptr %t1276 store ptr %t1273, ptr @g_g_es_fv %t1277 = getelementptr %LSlice, ptr null, i32 1 %t1278 = ptrtoint ptr %t1277 to i64 store i32 10913, ptr @lp_site %t1279 = call ptr @lp_malloc(i64 %t1278) store i32 0, ptr @lp_site %t1280 = getelementptr inbounds %LSlice, ptr %t1279, i32 0, i32 0 store ptr null, ptr %t1280 %t1281 = getelementptr inbounds %LSlice, ptr %t1279, i32 0, i32 1 store i32 0, ptr %t1281 %t1282 = getelementptr inbounds %LSlice, ptr %t1279, i32 0, i32 2 store i32 0, ptr %t1282 store ptr %t1279, ptr @g_g_es_fparam %t1283 = getelementptr %LSlice, ptr null, i32 1 %t1284 = ptrtoint ptr %t1283 to i64 store i32 10914, ptr @lp_site %t1285 = call ptr @lp_malloc(i64 %t1284) store i32 0, ptr @lp_site %t1286 = getelementptr inbounds %LSlice, ptr %t1285, i32 0, i32 0 store ptr null, ptr %t1286 %t1287 = getelementptr inbounds %LSlice, ptr %t1285, i32 0, i32 1 store i32 0, ptr %t1287 %t1288 = getelementptr inbounds %LSlice, ptr %t1285, i32 0, i32 2 store i32 0, ptr %t1288 store ptr %t1285, ptr @g_g_es_fret %t1289 = getelementptr %LSlice, ptr null, i32 1 %t1290 = ptrtoint ptr %t1289 to i64 store i32 10915, ptr @lp_site %t1291 = call ptr @lp_malloc(i64 %t1290) store i32 0, ptr @lp_site %t1292 = getelementptr inbounds %LSlice, ptr %t1291, i32 0, i32 0 store ptr null, ptr %t1292 %t1293 = getelementptr inbounds %LSlice, ptr %t1291, i32 0, i32 1 store i32 0, ptr %t1293 %t1294 = getelementptr inbounds %LSlice, ptr %t1291, i32 0, i32 2 store i32 0, ptr %t1294 store ptr %t1291, ptr @g_g_es_fnode %t1295 = getelementptr %LSlice, ptr null, i32 1 %t1296 = ptrtoint ptr %t1295 to i64 store i32 10916, ptr @lp_site %t1297 = call ptr @lp_malloc(i64 %t1296) store i32 0, ptr @lp_site %t1298 = getelementptr inbounds %LSlice, ptr %t1297, i32 0, i32 0 store ptr null, ptr %t1298 %t1299 = getelementptr inbounds %LSlice, ptr %t1297, i32 0, i32 1 store i32 0, ptr %t1299 %t1300 = getelementptr inbounds %LSlice, ptr %t1297, i32 0, i32 2 store i32 0, ptr %t1300 store ptr %t1297, ptr @g_g_es_fspans %t1301 = getelementptr %LSlice, ptr null, i32 1 %t1302 = ptrtoint ptr %t1301 to i64 store i32 10917, ptr @lp_site %t1303 = call ptr @lp_malloc(i64 %t1302) store i32 0, ptr @lp_site %t1304 = getelementptr inbounds %LSlice, ptr %t1303, i32 0, i32 0 store ptr null, ptr %t1304 %t1305 = getelementptr inbounds %LSlice, ptr %t1303, i32 0, i32 1 store i32 0, ptr %t1305 %t1306 = getelementptr inbounds %LSlice, ptr %t1303, i32 0, i32 2 store i32 0, ptr %t1306 store ptr %t1303, ptr @g_g_es_calls_f %t1307 = getelementptr %LSlice, ptr null, i32 1 %t1308 = ptrtoint ptr %t1307 to i64 store i32 10918, ptr @lp_site %t1309 = call ptr @lp_malloc(i64 %t1308) store i32 0, ptr @lp_site %t1310 = getelementptr inbounds %LSlice, ptr %t1309, i32 0, i32 0 store ptr null, ptr %t1310 %t1311 = getelementptr inbounds %LSlice, ptr %t1309, i32 0, i32 1 store i32 0, ptr %t1311 %t1312 = getelementptr inbounds %LSlice, ptr %t1309, i32 0, i32 2 store i32 0, ptr %t1312 store ptr %t1309, ptr @g_g_es_calls_t %t1313 = getelementptr %LSlice, ptr null, i32 1 %t1314 = ptrtoint ptr %t1313 to i64 store i32 10919, ptr @lp_site %t1315 = call ptr @lp_malloc(i64 %t1314) store i32 0, ptr @lp_site %t1316 = getelementptr inbounds %LSlice, ptr %t1315, i32 0, i32 0 store ptr null, ptr %t1316 %t1317 = getelementptr inbounds %LSlice, ptr %t1315, i32 0, i32 1 store i32 0, ptr %t1317 %t1318 = getelementptr inbounds %LSlice, ptr %t1315, i32 0, i32 2 store i32 0, ptr %t1318 store ptr %t1315, ptr @g_g_es_ln %t1319 = getelementptr %LSlice, ptr null, i32 1 %t1320 = ptrtoint ptr %t1319 to i64 store i32 10920, ptr @lp_site %t1321 = call ptr @lp_malloc(i64 %t1320) store i32 0, ptr @lp_site %t1322 = getelementptr inbounds %LSlice, ptr %t1321, i32 0, i32 0 store ptr null, ptr %t1322 %t1323 = getelementptr inbounds %LSlice, ptr %t1321, i32 0, i32 1 store i32 0, ptr %t1323 %t1324 = getelementptr inbounds %LSlice, ptr %t1321, i32 0, i32 2 store i32 0, ptr %t1324 store ptr %t1321, ptr @g_g_es_lc %t1325 = getelementptr %LSlice, ptr null, i32 1 %t1326 = ptrtoint ptr %t1325 to i64 store i32 10921, ptr @lp_site %t1327 = call ptr @lp_malloc(i64 %t1326) store i32 0, ptr @lp_site %t1328 = getelementptr inbounds %LSlice, ptr %t1327, i32 0, i32 0 store ptr null, ptr %t1328 %t1329 = getelementptr inbounds %LSlice, ptr %t1327, i32 0, i32 1 store i32 0, ptr %t1329 %t1330 = getelementptr inbounds %LSlice, ptr %t1327, i32 0, i32 2 store i32 0, ptr %t1330 store ptr %t1327, ptr @g_g_es_lt %t1331 = getelementptr %LSlice, ptr null, i32 1 %t1332 = ptrtoint ptr %t1331 to i64 store i32 10922, ptr @lp_site %t1333 = call ptr @lp_malloc(i64 %t1332) store i32 0, ptr @lp_site %t1334 = getelementptr inbounds %LSlice, ptr %t1333, i32 0, i32 0 store ptr null, ptr %t1334 %t1335 = getelementptr inbounds %LSlice, ptr %t1333, i32 0, i32 1 store i32 0, ptr %t1335 %t1336 = getelementptr inbounds %LSlice, ptr %t1333, i32 0, i32 2 store i32 0, ptr %t1336 store ptr %t1333, ptr @g_g_res_make_fn %t1337 = getelementptr %LSlice, ptr null, i32 1 %t1338 = ptrtoint ptr %t1337 to i64 store i32 10923, ptr @lp_site %t1339 = call ptr @lp_malloc(i64 %t1338) store i32 0, ptr @lp_site %t1340 = getelementptr inbounds %LSlice, ptr %t1339, i32 0, i32 0 store ptr null, ptr %t1340 %t1341 = getelementptr inbounds %LSlice, ptr %t1339, i32 0, i32 1 store i32 0, ptr %t1341 %t1342 = getelementptr inbounds %LSlice, ptr %t1339, i32 0, i32 2 store i32 0, ptr %t1342 store ptr %t1339, ptr @g_g_res_make_kind %t1343 = getelementptr %LSlice, ptr null, i32 1 %t1344 = ptrtoint ptr %t1343 to i64 store i32 10924, ptr @lp_site %t1345 = call ptr @lp_malloc(i64 %t1344) store i32 0, ptr @lp_site %t1346 = getelementptr inbounds %LSlice, ptr %t1345, i32 0, i32 0 store ptr null, ptr %t1346 %t1347 = getelementptr inbounds %LSlice, ptr %t1345, i32 0, i32 1 store i32 0, ptr %t1347 %t1348 = getelementptr inbounds %LSlice, ptr %t1345, i32 0, i32 2 store i32 0, ptr %t1348 store ptr %t1345, ptr @g_g_res_free_fn %t1349 = getelementptr %LSlice, ptr null, i32 1 %t1350 = ptrtoint ptr %t1349 to i64 store i32 10925, ptr @lp_site %t1351 = call ptr @lp_malloc(i64 %t1350) store i32 0, ptr @lp_site %t1352 = getelementptr inbounds %LSlice, ptr %t1351, i32 0, i32 0 store ptr null, ptr %t1352 %t1353 = getelementptr inbounds %LSlice, ptr %t1351, i32 0, i32 1 store i32 0, ptr %t1353 %t1354 = getelementptr inbounds %LSlice, ptr %t1351, i32 0, i32 2 store i32 0, ptr %t1354 store ptr %t1351, ptr @g_g_res_free_kind %t1355 = getelementptr %LSlice, ptr null, i32 1 %t1356 = ptrtoint ptr %t1355 to i64 store i32 10926, ptr @lp_site %t1357 = call ptr @lp_malloc(i64 %t1356) store i32 0, ptr @lp_site %t1358 = getelementptr inbounds %LSlice, ptr %t1357, i32 0, i32 0 store ptr null, ptr %t1358 %t1359 = getelementptr inbounds %LSlice, ptr %t1357, i32 0, i32 1 store i32 0, ptr %t1359 %t1360 = getelementptr inbounds %LSlice, ptr %t1357, i32 0, i32 2 store i32 0, ptr %t1360 store ptr %t1357, ptr @g_g_own_type %t1361 = getelementptr %LSlice, ptr null, i32 1 %t1362 = ptrtoint ptr %t1361 to i64 store i32 10927, ptr @lp_site %t1363 = call ptr @lp_malloc(i64 %t1362) store i32 0, ptr @lp_site %t1364 = getelementptr inbounds %LSlice, ptr %t1363, i32 0, i32 0 store ptr null, ptr %t1364 %t1365 = getelementptr inbounds %LSlice, ptr %t1363, i32 0, i32 1 store i32 0, ptr %t1365 %t1366 = getelementptr inbounds %LSlice, ptr %t1363, i32 0, i32 2 store i32 0, ptr %t1366 store ptr %t1363, ptr @g_g_own_field %t1367 = getelementptr %LSlice, ptr null, i32 1 %t1368 = ptrtoint ptr %t1367 to i64 store i32 10928, ptr @lp_site %t1369 = call ptr @lp_malloc(i64 %t1368) store i32 0, ptr @lp_site %t1370 = getelementptr inbounds %LSlice, ptr %t1369, i32 0, i32 0 store ptr null, ptr %t1370 %t1371 = getelementptr inbounds %LSlice, ptr %t1369, i32 0, i32 1 store i32 0, ptr %t1371 %t1372 = getelementptr inbounds %LSlice, ptr %t1369, i32 0, i32 2 store i32 0, ptr %t1372 store ptr %t1369, ptr @g_g_own_kind %t1373 = getelementptr %LSlice, ptr null, i32 1 %t1374 = ptrtoint ptr %t1373 to i64 store i32 10929, ptr @lp_site %t1375 = call ptr @lp_malloc(i64 %t1374) store i32 0, ptr @lp_site %t1376 = getelementptr inbounds %LSlice, ptr %t1375, i32 0, i32 0 store ptr null, ptr %t1376 %t1377 = getelementptr inbounds %LSlice, ptr %t1375, i32 0, i32 1 store i32 0, ptr %t1377 %t1378 = getelementptr inbounds %LSlice, ptr %t1375, i32 0, i32 2 store i32 0, ptr %t1378 store ptr %t1375, ptr @g_g_gi_idx_k %t1379 = getelementptr %LSlice, ptr null, i32 1 %t1380 = ptrtoint ptr %t1379 to i64 store i32 10930, ptr @lp_site %t1381 = call ptr @lp_malloc(i64 %t1380) store i32 0, ptr @lp_site %t1382 = getelementptr inbounds %LSlice, ptr %t1381, i32 0, i32 0 store ptr null, ptr %t1382 %t1383 = getelementptr inbounds %LSlice, ptr %t1381, i32 0, i32 1 store i32 0, ptr %t1383 %t1384 = getelementptr inbounds %LSlice, ptr %t1381, i32 0, i32 2 store i32 0, ptr %t1384 store ptr %t1381, ptr @g_g_gi_idx_v %t1385 = getelementptr %LSlice, ptr null, i32 1 %t1386 = ptrtoint ptr %t1385 to i64 store i32 10931, ptr @lp_site %t1387 = call ptr @lp_malloc(i64 %t1386) store i32 0, ptr @lp_site %t1388 = getelementptr inbounds %LSlice, ptr %t1387, i32 0, i32 0 store ptr null, ptr %t1388 %t1389 = getelementptr inbounds %LSlice, ptr %t1387, i32 0, i32 1 store i32 0, ptr %t1389 %t1390 = getelementptr inbounds %LSlice, ptr %t1387, i32 0, i32 2 store i32 0, ptr %t1390 store ptr %t1387, ptr @g_g_gi_fn_seen %t1391 = getelementptr %LSlice, ptr null, i32 1 %t1392 = ptrtoint ptr %t1391 to i64 store i32 10932, ptr @lp_site %t1393 = call ptr @lp_malloc(i64 %t1392) store i32 0, ptr @lp_site %t1394 = getelementptr inbounds %LSlice, ptr %t1393, i32 0, i32 0 store ptr null, ptr %t1394 %t1395 = getelementptr inbounds %LSlice, ptr %t1393, i32 0, i32 1 store i32 0, ptr %t1395 %t1396 = getelementptr inbounds %LSlice, ptr %t1393, i32 0, i32 2 store i32 0, ptr %t1396 store ptr %t1393, ptr @g_g_gi_state %t1397 = getelementptr %LSlice, ptr null, i32 1 %t1398 = ptrtoint ptr %t1397 to i64 store i32 10933, ptr @lp_site %t1399 = call ptr @lp_malloc(i64 %t1398) store i32 0, ptr @lp_site %t1400 = getelementptr inbounds %LSlice, ptr %t1399, i32 0, i32 0 store ptr null, ptr %t1400 %t1401 = getelementptr inbounds %LSlice, ptr %t1399, i32 0, i32 1 store i32 0, ptr %t1401 %t1402 = getelementptr inbounds %LSlice, ptr %t1399, i32 0, i32 2 store i32 0, ptr %t1402 store ptr %t1399, ptr @g_g_gi_out %t1403 = getelementptr %LSlice, ptr null, i32 1 %t1404 = ptrtoint ptr %t1403 to i64 store i32 10934, ptr @lp_site %t1405 = call ptr @lp_malloc(i64 %t1404) store i32 0, ptr @lp_site %t1406 = getelementptr inbounds %LSlice, ptr %t1405, i32 0, i32 0 store ptr null, ptr %t1406 %t1407 = getelementptr inbounds %LSlice, ptr %t1405, i32 0, i32 1 store i32 0, ptr %t1407 %t1408 = getelementptr inbounds %LSlice, ptr %t1405, i32 0, i32 2 store i32 0, ptr %t1408 store ptr %t1405, ptr @g_g_dp_key %t1409 = getelementptr %LSlice, ptr null, i32 1 %t1410 = ptrtoint ptr %t1409 to i64 store i32 10935, ptr @lp_site %t1411 = call ptr @lp_malloc(i64 %t1410) store i32 0, ptr @lp_site %t1412 = getelementptr inbounds %LSlice, ptr %t1411, i32 0, i32 0 store ptr null, ptr %t1412 %t1413 = getelementptr inbounds %LSlice, ptr %t1411, i32 0, i32 1 store i32 0, ptr %t1413 %t1414 = getelementptr inbounds %LSlice, ptr %t1411, i32 0, i32 2 store i32 0, ptr %t1414 store ptr %t1411, ptr @g_g_dp_cnt %t1415 = getelementptr %LSlice, ptr null, i32 1 %t1416 = ptrtoint ptr %t1415 to i64 store i32 10936, ptr @lp_site %t1417 = call ptr @lp_malloc(i64 %t1416) store i32 0, ptr @lp_site %t1418 = getelementptr inbounds %LSlice, ptr %t1417, i32 0, i32 0 store ptr null, ptr %t1418 %t1419 = getelementptr inbounds %LSlice, ptr %t1417, i32 0, i32 1 store i32 0, ptr %t1419 %t1420 = getelementptr inbounds %LSlice, ptr %t1417, i32 0, i32 2 store i32 0, ptr %t1420 store ptr %t1417, ptr @g_g_dp_name %t1421 = getelementptr %LSlice, ptr null, i32 1 %t1422 = ptrtoint ptr %t1421 to i64 store i32 10937, ptr @lp_site %t1423 = call ptr @lp_malloc(i64 %t1422) store i32 0, ptr @lp_site %t1424 = getelementptr inbounds %LSlice, ptr %t1423, i32 0, i32 0 store ptr null, ptr %t1424 %t1425 = getelementptr inbounds %LSlice, ptr %t1423, i32 0, i32 1 store i32 0, ptr %t1425 %t1426 = getelementptr inbounds %LSlice, ptr %t1423, i32 0, i32 2 store i32 0, ptr %t1426 store ptr %t1423, ptr @g_g_dp_writes %t1427 = getelementptr %LSlice, ptr null, i32 1 %t1428 = ptrtoint ptr %t1427 to i64 store i32 10938, ptr @lp_site %t1429 = call ptr @lp_malloc(i64 %t1428) store i32 0, ptr @lp_site %t1430 = getelementptr inbounds %LSlice, ptr %t1429, i32 0, i32 0 store ptr null, ptr %t1430 %t1431 = getelementptr inbounds %LSlice, ptr %t1429, i32 0, i32 1 store i32 0, ptr %t1431 %t1432 = getelementptr inbounds %LSlice, ptr %t1429, i32 0, i32 2 store i32 0, ptr %t1432 store ptr %t1429, ptr @g_g_dp_al_local %t1433 = getelementptr %LSlice, ptr null, i32 1 %t1434 = ptrtoint ptr %t1433 to i64 store i32 10939, ptr @lp_site %t1435 = call ptr @lp_malloc(i64 %t1434) store i32 0, ptr @lp_site %t1436 = getelementptr inbounds %LSlice, ptr %t1435, i32 0, i32 0 store ptr null, ptr %t1436 %t1437 = getelementptr inbounds %LSlice, ptr %t1435, i32 0, i32 1 store i32 0, ptr %t1437 %t1438 = getelementptr inbounds %LSlice, ptr %t1435, i32 0, i32 2 store i32 0, ptr %t1438 store ptr %t1435, ptr @g_g_dp_al_owner %t1439 = getelementptr %LSlice, ptr null, i32 1 %t1440 = ptrtoint ptr %t1439 to i64 store i32 10940, ptr @lp_site %t1441 = call ptr @lp_malloc(i64 %t1440) store i32 0, ptr @lp_site %t1442 = getelementptr inbounds %LSlice, ptr %t1441, i32 0, i32 0 store ptr null, ptr %t1442 %t1443 = getelementptr inbounds %LSlice, ptr %t1441, i32 0, i32 1 store i32 0, ptr %t1443 %t1444 = getelementptr inbounds %LSlice, ptr %t1441, i32 0, i32 2 store i32 0, ptr %t1444 store ptr %t1441, ptr @g_g_dp_al_global %t1445 = getelementptr %LSlice, ptr null, i32 1 %t1446 = ptrtoint ptr %t1445 to i64 store i32 10941, ptr @lp_site %t1447 = call ptr @lp_malloc(i64 %t1446) store i32 0, ptr @lp_site %t1448 = getelementptr inbounds %LSlice, ptr %t1447, i32 0, i32 0 store ptr null, ptr %t1448 %t1449 = getelementptr inbounds %LSlice, ptr %t1447, i32 0, i32 1 store i32 0, ptr %t1449 %t1450 = getelementptr inbounds %LSlice, ptr %t1447, i32 0, i32 2 store i32 0, ptr %t1450 store ptr %t1447, ptr @g_g_dp_aliases %t1451 = getelementptr %LSlice, ptr null, i32 1 %t1452 = ptrtoint ptr %t1451 to i64 store i32 10942, ptr @lp_site %t1453 = call ptr @lp_malloc(i64 %t1452) store i32 0, ptr @lp_site %t1454 = getelementptr inbounds %LSlice, ptr %t1453, i32 0, i32 0 store ptr null, ptr %t1454 %t1455 = getelementptr inbounds %LSlice, ptr %t1453, i32 0, i32 1 store i32 0, ptr %t1455 %t1456 = getelementptr inbounds %LSlice, ptr %t1453, i32 0, i32 2 store i32 0, ptr %t1456 store ptr %t1453, ptr @g_g_dr_name %t1457 = getelementptr %LSlice, ptr null, i32 1 %t1458 = ptrtoint ptr %t1457 to i64 store i32 10943, ptr @lp_site %t1459 = call ptr @lp_malloc(i64 %t1458) store i32 0, ptr @lp_site %t1460 = getelementptr inbounds %LSlice, ptr %t1459, i32 0, i32 0 store ptr null, ptr %t1460 %t1461 = getelementptr inbounds %LSlice, ptr %t1459, i32 0, i32 1 store i32 0, ptr %t1461 %t1462 = getelementptr inbounds %LSlice, ptr %t1459, i32 0, i32 2 store i32 0, ptr %t1462 store ptr %t1459, ptr @g_g_dr_node %t1463 = getelementptr %LSlice, ptr null, i32 1 %t1464 = ptrtoint ptr %t1463 to i64 store i32 10944, ptr @lp_site %t1465 = call ptr @lp_malloc(i64 %t1464) store i32 0, ptr @lp_site %t1466 = getelementptr inbounds %LSlice, ptr %t1465, i32 0, i32 0 store ptr null, ptr %t1466 %t1467 = getelementptr inbounds %LSlice, ptr %t1465, i32 0, i32 1 store i32 0, ptr %t1467 %t1468 = getelementptr inbounds %LSlice, ptr %t1465, i32 0, i32 2 store i32 0, ptr %t1468 store ptr %t1465, ptr @g_g_dr_refs %t1469 = getelementptr %LSlice, ptr null, i32 1 %t1470 = ptrtoint ptr %t1469 to i64 store i32 10945, ptr @lp_site %t1471 = call ptr @lp_malloc(i64 %t1470) store i32 0, ptr @lp_site %t1472 = getelementptr inbounds %LSlice, ptr %t1471, i32 0, i32 0 store ptr null, ptr %t1472 %t1473 = getelementptr inbounds %LSlice, ptr %t1471, i32 0, i32 1 store i32 0, ptr %t1473 %t1474 = getelementptr inbounds %LSlice, ptr %t1471, i32 0, i32 2 store i32 0, ptr %t1474 store ptr %t1471, ptr @g_g_dr_bits %t1475 = getelementptr %LSlice, ptr null, i32 1 %t1476 = ptrtoint ptr %t1475 to i64 store i32 10946, ptr @lp_site %t1477 = call ptr @lp_malloc(i64 %t1476) store i32 0, ptr @lp_site %t1478 = getelementptr inbounds %LSlice, ptr %t1477, i32 0, i32 0 store ptr null, ptr %t1478 %t1479 = getelementptr inbounds %LSlice, ptr %t1477, i32 0, i32 1 store i32 0, ptr %t1479 %t1480 = getelementptr inbounds %LSlice, ptr %t1477, i32 0, i32 2 store i32 0, ptr %t1480 store ptr %t1477, ptr @g_g_dr_wbits %t1481 = getelementptr %LSlice, ptr null, i32 1 %t1482 = ptrtoint ptr %t1481 to i64 store i32 10947, ptr @lp_site %t1483 = call ptr @lp_malloc(i64 %t1482) store i32 0, ptr @lp_site %t1484 = getelementptr inbounds %LSlice, ptr %t1483, i32 0, i32 0 store ptr null, ptr %t1484 %t1485 = getelementptr inbounds %LSlice, ptr %t1483, i32 0, i32 1 store i32 0, ptr %t1485 %t1486 = getelementptr inbounds %LSlice, ptr %t1483, i32 0, i32 2 store i32 0, ptr %t1486 store ptr %t1483, ptr @g_g_dr_find_k %t1487 = getelementptr %LSlice, ptr null, i32 1 %t1488 = ptrtoint ptr %t1487 to i64 store i32 10948, ptr @lp_site %t1489 = call ptr @lp_malloc(i64 %t1488) store i32 0, ptr @lp_site %t1490 = getelementptr inbounds %LSlice, ptr %t1489, i32 0, i32 0 store ptr null, ptr %t1490 %t1491 = getelementptr inbounds %LSlice, ptr %t1489, i32 0, i32 1 store i32 0, ptr %t1491 %t1492 = getelementptr inbounds %LSlice, ptr %t1489, i32 0, i32 2 store i32 0, ptr %t1492 store ptr %t1489, ptr @g_g_dr_rl_name %t1493 = getelementptr %LSlice, ptr null, i32 1 %t1494 = ptrtoint ptr %t1493 to i64 store i32 10949, ptr @lp_site %t1495 = call ptr @lp_malloc(i64 %t1494) store i32 0, ptr @lp_site %t1496 = getelementptr inbounds %LSlice, ptr %t1495, i32 0, i32 0 store ptr null, ptr %t1496 %t1497 = getelementptr inbounds %LSlice, ptr %t1495, i32 0, i32 1 store i32 0, ptr %t1497 %t1498 = getelementptr inbounds %LSlice, ptr %t1495, i32 0, i32 2 store i32 0, ptr %t1498 store ptr %t1495, ptr @g_g_dr_rl_reg %t1499 = getelementptr %LSlice, ptr null, i32 1 %t1500 = ptrtoint ptr %t1499 to i64 store i32 10950, ptr @lp_site %t1501 = call ptr @lp_malloc(i64 %t1500) store i32 0, ptr @lp_site %t1502 = getelementptr inbounds %LSlice, ptr %t1501, i32 0, i32 0 store ptr null, ptr %t1502 %t1503 = getelementptr inbounds %LSlice, ptr %t1501, i32 0, i32 1 store i32 0, ptr %t1503 %t1504 = getelementptr inbounds %LSlice, ptr %t1501, i32 0, i32 2 store i32 0, ptr %t1504 store ptr %t1501, ptr @g_g_dr_find_v %t1505 = getelementptr %LSlice, ptr null, i32 1 %t1506 = ptrtoint ptr %t1505 to i64 store i32 10951, ptr @lp_site %t1507 = call ptr @lp_malloc(i64 %t1506) store i32 0, ptr @lp_site %t1508 = getelementptr inbounds %LSlice, ptr %t1507, i32 0, i32 0 store ptr null, ptr %t1508 %t1509 = getelementptr inbounds %LSlice, ptr %t1507, i32 0, i32 1 store i32 0, ptr %t1509 %t1510 = getelementptr inbounds %LSlice, ptr %t1507, i32 0, i32 2 store i32 0, ptr %t1510 store ptr %t1507, ptr @g_g_dr_disp_of %t1511 = getelementptr %LSlice, ptr null, i32 1 %t1512 = ptrtoint ptr %t1511 to i64 store i32 10952, ptr @lp_site %t1513 = call ptr @lp_malloc(i64 %t1512) store i32 0, ptr @lp_site %t1514 = getelementptr inbounds %LSlice, ptr %t1513, i32 0, i32 0 store ptr null, ptr %t1514 %t1515 = getelementptr inbounds %LSlice, ptr %t1513, i32 0, i32 1 store i32 0, ptr %t1515 %t1516 = getelementptr inbounds %LSlice, ptr %t1513, i32 0, i32 2 store i32 0, ptr %t1516 store ptr %t1513, ptr @g_g_dr_root %t1517 = getelementptr %LSlice, ptr null, i32 1 %t1518 = ptrtoint ptr %t1517 to i64 store i32 10953, ptr @lp_site %t1519 = call ptr @lp_malloc(i64 %t1518) store i32 0, ptr @lp_site %t1520 = getelementptr inbounds %LSlice, ptr %t1519, i32 0, i32 0 store ptr null, ptr %t1520 %t1521 = getelementptr inbounds %LSlice, ptr %t1519, i32 0, i32 1 store i32 0, ptr %t1521 %t1522 = getelementptr inbounds %LSlice, ptr %t1519, i32 0, i32 2 store i32 0, ptr %t1522 store ptr %t1519, ptr @g_g_dr_hf %t1523 = getelementptr %LSlice, ptr null, i32 1 %t1524 = ptrtoint ptr %t1523 to i64 store i32 10954, ptr @lp_site %t1525 = call ptr @lp_malloc(i64 %t1524) store i32 0, ptr @lp_site %t1526 = getelementptr inbounds %LSlice, ptr %t1525, i32 0, i32 0 store ptr null, ptr %t1526 %t1527 = getelementptr inbounds %LSlice, ptr %t1525, i32 0, i32 1 store i32 0, ptr %t1527 %t1528 = getelementptr inbounds %LSlice, ptr %t1525, i32 0, i32 2 store i32 0, ptr %t1528 store ptr %t1525, ptr @g_g_dr_locals %t1529 = getelementptr %LSlice, ptr null, i32 1 %t1530 = ptrtoint ptr %t1529 to i64 store i32 10955, ptr @lp_site %t1531 = call ptr @lp_malloc(i64 %t1530) store i32 0, ptr @lp_site %t1532 = getelementptr inbounds %LSlice, ptr %t1531, i32 0, i32 0 store ptr null, ptr %t1532 %t1533 = getelementptr inbounds %LSlice, ptr %t1531, i32 0, i32 1 store i32 0, ptr %t1533 %t1534 = getelementptr inbounds %LSlice, ptr %t1531, i32 0, i32 2 store i32 0, ptr %t1534 store ptr %t1531, ptr @g_g_dr_bits2 %t1535 = getelementptr %LSlice, ptr null, i32 1 %t1536 = ptrtoint ptr %t1535 to i64 store i32 10956, ptr @lp_site %t1537 = call ptr @lp_malloc(i64 %t1536) store i32 0, ptr @lp_site %t1538 = getelementptr inbounds %LSlice, ptr %t1537, i32 0, i32 0 store ptr null, ptr %t1538 %t1539 = getelementptr inbounds %LSlice, ptr %t1537, i32 0, i32 1 store i32 0, ptr %t1539 %t1540 = getelementptr inbounds %LSlice, ptr %t1537, i32 0, i32 2 store i32 0, ptr %t1540 store ptr %t1537, ptr @g_g_dr_cur2 %t1541 = getelementptr %LSlice, ptr null, i32 1 %t1542 = ptrtoint ptr %t1541 to i64 store i32 10957, ptr @lp_site %t1543 = call ptr @lp_malloc(i64 %t1542) store i32 0, ptr @lp_site %t1544 = getelementptr inbounds %LSlice, ptr %t1543, i32 0, i32 0 store ptr null, ptr %t1544 %t1545 = getelementptr inbounds %LSlice, ptr %t1543, i32 0, i32 1 store i32 0, ptr %t1545 %t1546 = getelementptr inbounds %LSlice, ptr %t1543, i32 0, i32 2 store i32 0, ptr %t1546 store ptr %t1543, ptr @g_g_dr_refs2 %t1547 = getelementptr %LSlice, ptr null, i32 1 %t1548 = ptrtoint ptr %t1547 to i64 store i32 10958, ptr @lp_site %t1549 = call ptr @lp_malloc(i64 %t1548) store i32 0, ptr @lp_site %t1550 = getelementptr inbounds %LSlice, ptr %t1549, i32 0, i32 0 store ptr null, ptr %t1550 %t1551 = getelementptr inbounds %LSlice, ptr %t1549, i32 0, i32 1 store i32 0, ptr %t1551 %t1552 = getelementptr inbounds %LSlice, ptr %t1549, i32 0, i32 2 store i32 0, ptr %t1552 store ptr %t1549, ptr @g_g_dr_wbits2 %t1553 = getelementptr %LSlice, ptr null, i32 1 %t1554 = ptrtoint ptr %t1553 to i64 store i32 10959, ptr @lp_site %t1555 = call ptr @lp_malloc(i64 %t1554) store i32 0, ptr @lp_site %t1556 = getelementptr inbounds %LSlice, ptr %t1555, i32 0, i32 0 store ptr null, ptr %t1556 %t1557 = getelementptr inbounds %LSlice, ptr %t1555, i32 0, i32 1 store i32 0, ptr %t1557 %t1558 = getelementptr inbounds %LSlice, ptr %t1555, i32 0, i32 2 store i32 0, ptr %t1558 store ptr %t1555, ptr @g_g_det_names store ptr @.str20251, ptr @g_g_det_ctx %t1559 = getelementptr %LSlice, ptr null, i32 1 %t1560 = ptrtoint ptr %t1559 to i64 store i32 10960, ptr @lp_site %t1561 = call ptr @lp_malloc(i64 %t1560) store i32 0, ptr @lp_site %t1562 = getelementptr inbounds %LSlice, ptr %t1561, i32 0, i32 0 store ptr null, ptr %t1562 %t1563 = getelementptr inbounds %LSlice, ptr %t1561, i32 0, i32 1 store i32 0, ptr %t1563 %t1564 = getelementptr inbounds %LSlice, ptr %t1561, i32 0, i32 2 store i32 0, ptr %t1564 store ptr %t1561, ptr @g_g_inj_done %t1565 = getelementptr %LSlice, ptr null, i32 1 %t1566 = ptrtoint ptr %t1565 to i64 store i32 10961, ptr @lp_site %t1567 = call ptr @lp_malloc(i64 %t1566) store i32 0, ptr @lp_site %t1568 = getelementptr inbounds %LSlice, ptr %t1567, i32 0, i32 0 store ptr null, ptr %t1568 %t1569 = getelementptr inbounds %LSlice, ptr %t1567, i32 0, i32 1 store i32 0, ptr %t1569 %t1570 = getelementptr inbounds %LSlice, ptr %t1567, i32 0, i32 2 store i32 0, ptr %t1570 store ptr %t1567, ptr @g_g_sn_tag %t1571 = getelementptr %LSlice, ptr null, i32 1 %t1572 = ptrtoint ptr %t1571 to i64 store i32 10962, ptr @lp_site %t1573 = call ptr @lp_malloc(i64 %t1572) store i32 0, ptr @lp_site %t1574 = getelementptr inbounds %LSlice, ptr %t1573, i32 0, i32 0 store ptr null, ptr %t1574 %t1575 = getelementptr inbounds %LSlice, ptr %t1573, i32 0, i32 1 store i32 0, ptr %t1575 %t1576 = getelementptr inbounds %LSlice, ptr %t1573, i32 0, i32 2 store i32 0, ptr %t1576 store ptr %t1573, ptr @g_g_sn_via %t1577 = getelementptr %LSlice, ptr null, i32 1 %t1578 = ptrtoint ptr %t1577 to i64 store i32 10963, ptr @lp_site %t1579 = call ptr @lp_malloc(i64 %t1578) store i32 0, ptr @lp_site %t1580 = getelementptr inbounds %LSlice, ptr %t1579, i32 0, i32 0 store ptr null, ptr %t1580 %t1581 = getelementptr inbounds %LSlice, ptr %t1579, i32 0, i32 1 store i32 0, ptr %t1581 %t1582 = getelementptr inbounds %LSlice, ptr %t1579, i32 0, i32 2 store i32 0, ptr %t1582 store ptr %t1579, ptr @g_g_sn_fn %t1583 = getelementptr %LSlice, ptr null, i32 1 %t1584 = ptrtoint ptr %t1583 to i64 store i32 10964, ptr @lp_site %t1585 = call ptr @lp_malloc(i64 %t1584) store i32 0, ptr @lp_site %t1586 = getelementptr inbounds %LSlice, ptr %t1585, i32 0, i32 0 store ptr null, ptr %t1586 %t1587 = getelementptr inbounds %LSlice, ptr %t1585, i32 0, i32 1 store i32 0, ptr %t1587 %t1588 = getelementptr inbounds %LSlice, ptr %t1585, i32 0, i32 2 store i32 0, ptr %t1588 store ptr %t1585, ptr @g_g_sn_call %t1589 = getelementptr %LSlice, ptr null, i32 1 %t1590 = ptrtoint ptr %t1589 to i64 store i32 10965, ptr @lp_site %t1591 = call ptr @lp_malloc(i64 %t1590) store i32 0, ptr @lp_site %t1592 = getelementptr inbounds %LSlice, ptr %t1591, i32 0, i32 0 store ptr null, ptr %t1592 %t1593 = getelementptr inbounds %LSlice, ptr %t1591, i32 0, i32 1 store i32 0, ptr %t1593 %t1594 = getelementptr inbounds %LSlice, ptr %t1591, i32 0, i32 2 store i32 0, ptr %t1594 store ptr %t1591, ptr @g_ck_ro %t1595 = getelementptr %LSlice, ptr null, i32 1 %t1596 = ptrtoint ptr %t1595 to i64 store i32 10966, ptr @lp_site %t1597 = call ptr @lp_malloc(i64 %t1596) store i32 0, ptr @lp_site %t1598 = getelementptr inbounds %LSlice, ptr %t1597, i32 0, i32 0 store ptr null, ptr %t1598 %t1599 = getelementptr inbounds %LSlice, ptr %t1597, i32 0, i32 1 store i32 0, ptr %t1599 %t1600 = getelementptr inbounds %LSlice, ptr %t1597, i32 0, i32 2 store i32 0, ptr %t1600 store ptr %t1597, ptr @g_ck_alias %t1601 = getelementptr %LSlice, ptr null, i32 1 %t1602 = ptrtoint ptr %t1601 to i64 store i32 10967, ptr @lp_site %t1603 = call ptr @lp_malloc(i64 %t1602) store i32 0, ptr @lp_site %t1604 = getelementptr inbounds %LSlice, ptr %t1603, i32 0, i32 0 store ptr null, ptr %t1604 %t1605 = getelementptr inbounds %LSlice, ptr %t1603, i32 0, i32 1 store i32 0, ptr %t1605 %t1606 = getelementptr inbounds %LSlice, ptr %t1603, i32 0, i32 2 store i32 0, ptr %t1606 store ptr %t1603, ptr @g_ck_ro_st %t1607 = getelementptr %LSlice, ptr null, i32 1 %t1608 = ptrtoint ptr %t1607 to i64 store i32 10968, ptr @lp_site %t1609 = call ptr @lp_malloc(i64 %t1608) store i32 0, ptr @lp_site %t1610 = getelementptr inbounds %LSlice, ptr %t1609, i32 0, i32 0 store ptr null, ptr %t1610 %t1611 = getelementptr inbounds %LSlice, ptr %t1609, i32 0, i32 1 store i32 0, ptr %t1611 %t1612 = getelementptr inbounds %LSlice, ptr %t1609, i32 0, i32 2 store i32 0, ptr %t1612 store ptr %t1609, ptr @g_ck_from_st %t1613 = getelementptr %LSlice, ptr null, i32 1 %t1614 = ptrtoint ptr %t1613 to i64 store i32 10969, ptr @lp_site %t1615 = call ptr @lp_malloc(i64 %t1614) store i32 0, ptr @lp_site %t1616 = getelementptr inbounds %LSlice, ptr %t1615, i32 0, i32 0 store ptr null, ptr %t1616 %t1617 = getelementptr inbounds %LSlice, ptr %t1615, i32 0, i32 1 store i32 0, ptr %t1617 %t1618 = getelementptr inbounds %LSlice, ptr %t1615, i32 0, i32 2 store i32 0, ptr %t1618 store ptr %t1615, ptr @g_ck_fn_k %t1619 = getelementptr %LSlice, ptr null, i32 1 %t1620 = ptrtoint ptr %t1619 to i64 store i32 10970, ptr @lp_site %t1621 = call ptr @lp_malloc(i64 %t1620) store i32 0, ptr @lp_site %t1622 = getelementptr inbounds %LSlice, ptr %t1621, i32 0, i32 0 store ptr null, ptr %t1622 %t1623 = getelementptr inbounds %LSlice, ptr %t1621, i32 0, i32 1 store i32 0, ptr %t1623 %t1624 = getelementptr inbounds %LSlice, ptr %t1621, i32 0, i32 2 store i32 0, ptr %t1624 store ptr %t1621, ptr @g_ck_fn_v %t1625 = getelementptr %LSlice, ptr null, i32 1 %t1626 = ptrtoint ptr %t1625 to i64 store i32 10971, ptr @lp_site %t1627 = call ptr @lp_malloc(i64 %t1626) store i32 0, ptr @lp_site %t1628 = getelementptr inbounds %LSlice, ptr %t1627, i32 0, i32 0 store ptr null, ptr %t1628 %t1629 = getelementptr inbounds %LSlice, ptr %t1627, i32 0, i32 1 store i32 0, ptr %t1629 %t1630 = getelementptr inbounds %LSlice, ptr %t1627, i32 0, i32 2 store i32 0, ptr %t1630 store ptr %t1627, ptr @g_ck_gl_k %t1631 = getelementptr %LSlice, ptr null, i32 1 %t1632 = ptrtoint ptr %t1631 to i64 store i32 10972, ptr @lp_site %t1633 = call ptr @lp_malloc(i64 %t1632) store i32 0, ptr @lp_site %t1634 = getelementptr inbounds %LSlice, ptr %t1633, i32 0, i32 0 store ptr null, ptr %t1634 %t1635 = getelementptr inbounds %LSlice, ptr %t1633, i32 0, i32 1 store i32 0, ptr %t1635 %t1636 = getelementptr inbounds %LSlice, ptr %t1633, i32 0, i32 2 store i32 0, ptr %t1636 store ptr %t1633, ptr @g_ck_gl_v %t1637 = getelementptr %LSlice, ptr null, i32 1 %t1638 = ptrtoint ptr %t1637 to i64 store i32 10973, ptr @lp_site %t1639 = call ptr @lp_malloc(i64 %t1638) store i32 0, ptr @lp_site %t1640 = getelementptr inbounds %LSlice, ptr %t1639, i32 0, i32 0 store ptr null, ptr %t1640 %t1641 = getelementptr inbounds %LSlice, ptr %t1639, i32 0, i32 1 store i32 0, ptr %t1641 %t1642 = getelementptr inbounds %LSlice, ptr %t1639, i32 0, i32 2 store i32 0, ptr %t1642 store ptr %t1639, ptr @g_ck_rec_k %t1643 = getelementptr %LSlice, ptr null, i32 1 %t1644 = ptrtoint ptr %t1643 to i64 store i32 10974, ptr @lp_site %t1645 = call ptr @lp_malloc(i64 %t1644) store i32 0, ptr @lp_site %t1646 = getelementptr inbounds %LSlice, ptr %t1645, i32 0, i32 0 store ptr null, ptr %t1646 %t1647 = getelementptr inbounds %LSlice, ptr %t1645, i32 0, i32 1 store i32 0, ptr %t1647 %t1648 = getelementptr inbounds %LSlice, ptr %t1645, i32 0, i32 2 store i32 0, ptr %t1648 store ptr %t1645, ptr @g_ck_rec_v %t1649 = getelementptr %LSlice, ptr null, i32 1 %t1650 = ptrtoint ptr %t1649 to i64 store i32 10975, ptr @lp_site %t1651 = call ptr @lp_malloc(i64 %t1650) store i32 0, ptr @lp_site %t1652 = getelementptr inbounds %LSlice, ptr %t1651, i32 0, i32 0 store ptr null, ptr %t1652 %t1653 = getelementptr inbounds %LSlice, ptr %t1651, i32 0, i32 1 store i32 0, ptr %t1653 %t1654 = getelementptr inbounds %LSlice, ptr %t1651, i32 0, i32 2 store i32 0, ptr %t1654 store ptr %t1651, ptr @g_ck_en_k %t1655 = getelementptr %LSlice, ptr null, i32 1 %t1656 = ptrtoint ptr %t1655 to i64 store i32 10976, ptr @lp_site %t1657 = call ptr @lp_malloc(i64 %t1656) store i32 0, ptr @lp_site %t1658 = getelementptr inbounds %LSlice, ptr %t1657, i32 0, i32 0 store ptr null, ptr %t1658 %t1659 = getelementptr inbounds %LSlice, ptr %t1657, i32 0, i32 1 store i32 0, ptr %t1659 %t1660 = getelementptr inbounds %LSlice, ptr %t1657, i32 0, i32 2 store i32 0, ptr %t1660 store ptr %t1657, ptr @g_ck_en_v %t1661 = getelementptr %LSlice, ptr null, i32 1 %t1662 = ptrtoint ptr %t1661 to i64 store i32 10977, ptr @lp_site %t1663 = call ptr @lp_malloc(i64 %t1662) store i32 0, ptr @lp_site %t1664 = getelementptr inbounds %LSlice, ptr %t1663, i32 0, i32 0 store ptr null, ptr %t1664 %t1665 = getelementptr inbounds %LSlice, ptr %t1663, i32 0, i32 1 store i32 0, ptr %t1665 %t1666 = getelementptr inbounds %LSlice, ptr %t1663, i32 0, i32 2 store i32 0, ptr %t1666 store ptr %t1663, ptr @g_ck_ex_k %t1667 = getelementptr %LSlice, ptr null, i32 1 %t1668 = ptrtoint ptr %t1667 to i64 store i32 10978, ptr @lp_site %t1669 = call ptr @lp_malloc(i64 %t1668) store i32 0, ptr @lp_site %t1670 = getelementptr inbounds %LSlice, ptr %t1669, i32 0, i32 0 store ptr null, ptr %t1670 %t1671 = getelementptr inbounds %LSlice, ptr %t1669, i32 0, i32 1 store i32 0, ptr %t1671 %t1672 = getelementptr inbounds %LSlice, ptr %t1669, i32 0, i32 2 store i32 0, ptr %t1672 store ptr %t1669, ptr @g_ck_ex_v %t1673 = getelementptr %LSlice, ptr null, i32 1 %t1674 = ptrtoint ptr %t1673 to i64 store i32 10979, ptr @lp_site %t1675 = call ptr @lp_malloc(i64 %t1674) store i32 0, ptr @lp_site %t1676 = getelementptr inbounds %LSlice, ptr %t1675, i32 0, i32 0 store ptr null, ptr %t1676 %t1677 = getelementptr inbounds %LSlice, ptr %t1675, i32 0, i32 1 store i32 0, ptr %t1677 %t1678 = getelementptr inbounds %LSlice, ptr %t1675, i32 0, i32 2 store i32 0, ptr %t1678 store ptr %t1675, ptr @g_ck_names %t1679 = getelementptr %LSlice, ptr null, i32 1 %t1680 = ptrtoint ptr %t1679 to i64 store i32 10980, ptr @lp_site %t1681 = call ptr @lp_malloc(i64 %t1680) store i32 0, ptr @lp_site %t1682 = getelementptr inbounds %LSlice, ptr %t1681, i32 0, i32 0 store ptr null, ptr %t1682 %t1683 = getelementptr inbounds %LSlice, ptr %t1681, i32 0, i32 1 store i32 0, ptr %t1683 %t1684 = getelementptr inbounds %LSlice, ptr %t1681, i32 0, i32 2 store i32 0, ptr %t1684 store ptr %t1681, ptr @g_ck_tys store ptr @.str20252, ptr @g_ck_ret %t1685 = getelementptr %LSlice, ptr null, i32 1 %t1686 = ptrtoint ptr %t1685 to i64 store i32 10981, ptr @lp_site %t1687 = call ptr @lp_malloc(i64 %t1686) store i32 0, ptr @lp_site %t1688 = getelementptr inbounds %LSlice, ptr %t1687, i32 0, i32 0 store ptr null, ptr %t1688 %t1689 = getelementptr inbounds %LSlice, ptr %t1687, i32 0, i32 1 store i32 0, ptr %t1689 %t1690 = getelementptr inbounds %LSlice, ptr %t1687, i32 0, i32 2 store i32 0, ptr %t1690 store ptr %t1687, ptr @g_ck_shadow_seen %t1691 = getelementptr %LSlice, ptr null, i32 1 %t1692 = ptrtoint ptr %t1691 to i64 store i32 10982, ptr @lp_site %t1693 = call ptr @lp_malloc(i64 %t1692) store i32 0, ptr @lp_site %t1694 = getelementptr inbounds %LSlice, ptr %t1693, i32 0, i32 0 store ptr null, ptr %t1694 %t1695 = getelementptr inbounds %LSlice, ptr %t1693, i32 0, i32 1 store i32 0, ptr %t1695 %t1696 = getelementptr inbounds %LSlice, ptr %t1693, i32 0, i32 2 store i32 0, ptr %t1696 store ptr %t1693, ptr @g_g_gen_recs %t1697 = getelementptr %LSlice, ptr null, i32 1 %t1698 = ptrtoint ptr %t1697 to i64 store i32 10983, ptr @lp_site %t1699 = call ptr @lp_malloc(i64 %t1698) store i32 0, ptr @lp_site %t1700 = getelementptr inbounds %LSlice, ptr %t1699, i32 0, i32 0 store ptr null, ptr %t1700 %t1701 = getelementptr inbounds %LSlice, ptr %t1699, i32 0, i32 1 store i32 0, ptr %t1701 %t1702 = getelementptr inbounds %LSlice, ptr %t1699, i32 0, i32 2 store i32 0, ptr %t1702 store ptr %t1699, ptr @g_g_gen_fns %t1703 = getelementptr %LSlice, ptr null, i32 1 %t1704 = ptrtoint ptr %t1703 to i64 store i32 10984, ptr @lp_site %t1705 = call ptr @lp_malloc(i64 %t1704) store i32 0, ptr @lp_site %t1706 = getelementptr inbounds %LSlice, ptr %t1705, i32 0, i32 0 store ptr null, ptr %t1706 %t1707 = getelementptr inbounds %LSlice, ptr %t1705, i32 0, i32 1 store i32 0, ptr %t1707 %t1708 = getelementptr inbounds %LSlice, ptr %t1705, i32 0, i32 2 store i32 0, ptr %t1708 store ptr %t1705, ptr @g_g_gen_out %t1709 = getelementptr %LSlice, ptr null, i32 1 %t1710 = ptrtoint ptr %t1709 to i64 store i32 10985, ptr @lp_site %t1711 = call ptr @lp_malloc(i64 %t1710) store i32 0, ptr @lp_site %t1712 = getelementptr inbounds %LSlice, ptr %t1711, i32 0, i32 0 store ptr null, ptr %t1712 %t1713 = getelementptr inbounds %LSlice, ptr %t1711, i32 0, i32 1 store i32 0, ptr %t1713 %t1714 = getelementptr inbounds %LSlice, ptr %t1711, i32 0, i32 2 store i32 0, ptr %t1714 store ptr %t1711, ptr @g_g_gen_work %t1715 = getelementptr %LSlice, ptr null, i32 1 %t1716 = ptrtoint ptr %t1715 to i64 store i32 10986, ptr @lp_site %t1717 = call ptr @lp_malloc(i64 %t1716) store i32 0, ptr @lp_site %t1718 = getelementptr inbounds %LSlice, ptr %t1717, i32 0, i32 0 store ptr null, ptr %t1718 %t1719 = getelementptr inbounds %LSlice, ptr %t1717, i32 0, i32 1 store i32 0, ptr %t1719 %t1720 = getelementptr inbounds %LSlice, ptr %t1717, i32 0, i32 2 store i32 0, ptr %t1720 store ptr %t1717, ptr @g_ck_ty_k %t1721 = getelementptr %LSlice, ptr null, i32 1 %t1722 = ptrtoint ptr %t1721 to i64 store i32 10987, ptr @lp_site %t1723 = call ptr @lp_malloc(i64 %t1722) store i32 0, ptr @lp_site %t1724 = getelementptr inbounds %LSlice, ptr %t1723, i32 0, i32 0 store ptr null, ptr %t1724 %t1725 = getelementptr inbounds %LSlice, ptr %t1723, i32 0, i32 1 store i32 0, ptr %t1725 %t1726 = getelementptr inbounds %LSlice, ptr %t1723, i32 0, i32 2 store i32 0, ptr %t1726 store ptr %t1723, ptr @g_ck_ty_v 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 ptr %t9 = alloca i32 %t16 = alloca ptr %t17 = alloca ptr %t18 = alloca i32 %t28 = alloca ptr %t222 = alloca ptr %t247 = alloca ptr %t265 = alloca i32 %t285 = alloca i32 %t295 = alloca i32 %t304 = alloca i32 %t319 = alloca i32 %t330 = alloca ptr %t347 = alloca i32 %t348 = alloca i32 %t388 = alloca i32 %t417 = alloca i32 %t418 = alloca i32 %t437 = alloca ptr %t447 = alloca ptr %t454 = alloca ptr %t456 = alloca ptr %t458 = alloca ptr %t463 = alloca ptr %t471 = alloca ptr %t489 = alloca ptr %t499 = alloca ptr %t509 = alloca ptr %t519 = alloca ptr %t554 = alloca i32 %t585 = alloca ptr %t593 = alloca ptr %t605 = alloca ptr %t608 = alloca ptr %t611 = alloca ptr %t629 = alloca ptr %t632 = alloca ptr %t645 = alloca ptr %t648 = alloca ptr %t666 = alloca i32 %t681 = alloca i32 %t710 = alloca ptr %t718 = alloca i32 %t737 = alloca ptr %t738 = alloca i32 %t763 = alloca ptr %t788 = alloca i32 store i32 %argc, ptr @L_argc store ptr %argv, ptr @L_argv store i32 0, ptr %retval call void @L_init_runtime() 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 ptr null, ptr %t8 store i32 0, ptr %t9 %t10 = getelementptr %LSlice, ptr null, i32 1 %t11 = ptrtoint ptr %t10 to i64 store i32 10988, ptr @lp_site %t12 = call ptr @lp_malloc(i64 %t11) store i32 0, ptr @lp_site %t13 = getelementptr inbounds %LSlice, ptr %t12, i32 0, i32 0 store ptr null, ptr %t13 %t14 = getelementptr inbounds %LSlice, ptr %t12, i32 0, i32 1 store i32 0, ptr %t14 %t15 = getelementptr inbounds %LSlice, ptr %t12, i32 0, i32 2 store i32 0, ptr %t15 store ptr %t12, ptr %t16 store ptr null, ptr %t17 store i32 0, ptr @g_g_coverage store i32 1, ptr %t18 br label %wcond0 wcond0: %t19 = load i32, ptr %t18 %t20 = load i32, ptr @L_argc %t21 = icmp slt i32 %t19, %t20 %t22 = zext i1 %t21 to i32 %t23 = icmp ne i32 %t22, 0 br i1 %t23, label %wbody1, label %wend2 wbody1: %t24 = load i32, ptr %t18 %t25 = load ptr, ptr @L_argv %t26 = getelementptr ptr, ptr %t25, i32 %t24 %t27 = load ptr, ptr %t26 store ptr %t27, ptr %t28 %t29 = load ptr, ptr %t28 %t30 = call i32 @lp_str_eq(ptr %t29, ptr @.str20254) %t31 = icmp ne i32 %t30, 0 br i1 %t31, label %then3, label %else4 then3: call void @fn_show_version() br label %ifend5 else4: %t32 = load ptr, ptr %t28 %t33 = call i32 @lp_str_eq(ptr %t32, ptr @.str20255) %t34 = icmp ne i32 %t33, 0 br i1 %t34, label %then6, label %else7 then6: store i32 1, ptr %t2 br label %ifend8 else7: %t35 = load ptr, ptr %t28 %t36 = call i32 @lp_str_eq(ptr %t35, ptr @.str20256) %t37 = icmp ne i32 %t36, 0 br i1 %t37, label %then9, label %else10 then9: store i32 2, ptr %t2 br label %ifend11 else10: %t38 = load ptr, ptr %t28 %t39 = call i32 @lp_str_eq(ptr %t38, ptr @.str20257) %t40 = icmp ne i32 %t39, 0 br i1 %t40, label %then12, label %else13 then12: store i32 1, ptr %t3 br label %ifend14 else13: %t41 = load ptr, ptr %t28 %t42 = call i32 @lp_str_eq(ptr %t41, ptr @.str20258) %t43 = icmp ne i32 %t42, 0 br i1 %t43, label %then15, label %else16 then15: store i32 1, ptr @g_g_unsafe_all br label %ifend17 else16: %t44 = load ptr, ptr %t28 %t45 = call i32 @lp_str_eq(ptr %t44, ptr @.str20259) %t46 = icmp ne i32 %t45, 0 br i1 %t46, label %then18, label %else19 then18: store i32 1, ptr @g_g_emit_module store i32 1, ptr %t3 br label %ifend20 else19: %t47 = load ptr, ptr %t28 %t48 = call i32 @lp_str_eq(ptr %t47, ptr @.str20260) %t49 = icmp ne i32 %t48, 0 br i1 %t49, label %then21, label %else22 then21: store i32 1, ptr %t4 br label %ifend23 else22: %t50 = load ptr, ptr %t28 %t51 = call i32 @lp_str_eq(ptr %t50, ptr @.str20261) %t52 = icmp ne i32 %t51, 0 br i1 %t52, label %then24, label %else25 then24: store i32 1, ptr %t5 br label %ifend26 else25: %t53 = load ptr, ptr %t28 %t54 = call i32 @lp_str_eq(ptr %t53, ptr @.str20262) %t55 = icmp ne i32 %t54, 0 br i1 %t55, label %then27, label %else28 then27: store i32 1, ptr %t6 br label %ifend29 else28: %t56 = load ptr, ptr %t28 %t57 = call i32 @lp_str_eq(ptr %t56, ptr @.str20263) %t58 = icmp ne i32 %t57, 0 br i1 %t58, label %then30, label %else31 then30: store i32 1, ptr @g_g_check_only br label %ifend32 else31: %t59 = load ptr, ptr %t28 %t60 = call i32 @lp_str_eq(ptr %t59, ptr @.str20264) %t61 = icmp ne i32 %t60, 0 br i1 %t61, label %then33, label %else34 then33: store i32 1, ptr @g_g_pm_no_maps br label %ifend35 else34: %t62 = load ptr, ptr %t28 %t63 = call i32 @lp_str_eq(ptr %t62, ptr @.str20265) %t64 = icmp ne i32 %t63, 0 br i1 %t64, label %then36, label %else37 then36: store i32 1, ptr @g_g_release br label %ifend38 else37: %t65 = load ptr, ptr %t28 %t66 = call i32 @lp_str_eq(ptr %t65, ptr @.str20266) %t67 = icmp ne i32 %t66, 0 br i1 %t67, label %then39, label %else40 then39: store i32 1, ptr @g_g_diag_json br label %ifend41 else40: %t68 = load ptr, ptr %t28 %t69 = call i32 @lp_str_eq(ptr %t68, ptr @.str20267) %t70 = icmp ne i32 %t69, 0 br i1 %t70, label %then42, label %else43 then42: store i32 0, ptr @g_g_diag_json br label %ifend44 else43: %t71 = load ptr, ptr %t28 %t72 = call i32 @lp_str_eq(ptr %t71, ptr @.str20268) %t73 = icmp ne i32 %t72, 0 br i1 %t73, label %then45, label %else46 then45: %t74 = load i32, ptr %t18 %t75 = add i32 %t74, 1 store i32 %t75, ptr %t18 %t76 = load i32, ptr %t18 %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 %then48, label %ifend50 then48: %t81 = load i32, ptr %t18 %t82 = load ptr, ptr @L_argv %t83 = getelementptr ptr, ptr %t82, i32 %t81 %t84 = load ptr, ptr %t83 store ptr %t84, ptr @g_g_schema_out br label %ifend50 ifend50: br label %ifend47 else46: %t85 = load ptr, ptr %t28 %t86 = call i32 @lp_str_eq(ptr %t85, ptr @.str20269) %t87 = icmp ne i32 %t86, 0 br i1 %t87, label %then51, label %else52 then51: store i32 1, ptr @g_g_allow_globals br label %ifend53 else52: %t88 = load ptr, ptr %t28 %t89 = call i32 @lp_str_eq(ptr %t88, ptr @.str20270) %t90 = icmp ne i32 %t89, 0 br i1 %t90, label %then54, label %else55 then54: %t91 = load i32, ptr %t18 %t92 = add i32 %t91, 1 store i32 %t92, ptr %t18 %t93 = load i32, ptr %t18 %t94 = load i32, ptr @L_argc %t95 = icmp slt i32 %t93, %t94 %t96 = zext i1 %t95 to i32 %t97 = icmp ne i32 %t96, 0 br i1 %t97, label %then57, label %ifend59 then57: %t98 = load i32, ptr %t18 %t99 = load ptr, ptr @L_argv %t100 = getelementptr ptr, ptr %t99, i32 %t98 %t101 = load ptr, ptr %t100 store ptr %t101, ptr @g_g_mg_plan br label %ifend59 ifend59: store i32 1, ptr @g_g_migrate store i32 1, ptr @g_g_allow_globals br label %ifend56 else55: %t102 = load ptr, ptr %t28 %t103 = call i32 @lp_str_eq(ptr %t102, ptr @.str20271) %t104 = icmp ne i32 %t103, 0 br i1 %t104, label %then60, label %else61 then60: store i32 1, ptr @g_g_mg_prune br label %ifend62 else61: %t105 = load ptr, ptr %t28 %t106 = call i32 @lp_str_eq(ptr %t105, ptr @.str20272) %t107 = icmp ne i32 %t106, 0 br i1 %t107, label %then63, label %else64 then63: store i32 1, ptr @g_g_mg_prune store i32 1, ptr @g_g_mg_tighten br label %ifend65 else64: %t108 = load ptr, ptr %t28 %t109 = call i32 @lp_str_eq(ptr %t108, ptr @.str20273) %t110 = icmp ne i32 %t109, 0 br i1 %t110, label %then66, label %else67 then66: store i32 1, ptr @g_g_mg_runtime br label %ifend68 else67: %t111 = load ptr, ptr %t28 %t112 = call i32 @lp_str_eq(ptr %t111, ptr @.str20274) %t113 = icmp ne i32 %t112, 0 br i1 %t113, label %then69, label %else70 then69: store i32 1, ptr @g_g_coverage br label %ifend71 else70: %t114 = load ptr, ptr %t28 %t115 = call i32 @lp_str_eq(ptr %t114, ptr @.str20275) %t116 = icmp ne i32 %t115, 0 br i1 %t116, label %then72, label %else73 then72: %t117 = load i32, ptr %t18 %t118 = add i32 %t117, 1 store i32 %t118, ptr %t18 %t119 = load i32, ptr %t18 %t120 = load i32, ptr @L_argc %t121 = icmp slt i32 %t119, %t120 %t122 = zext i1 %t121 to i32 %t123 = icmp ne i32 %t122, 0 br i1 %t123, label %then75, label %ifend77 then75: %t124 = load i32, ptr %t18 %t125 = load ptr, ptr @L_argv %t126 = getelementptr ptr, ptr %t125, i32 %t124 %t127 = load ptr, ptr %t126 store ptr %t127, ptr %t7 br label %ifend77 ifend77: br label %ifend74 else73: %t128 = load ptr, ptr %t28 %t129 = call i32 @lp_str_eq(ptr %t128, ptr @.str20276) %t130 = icmp ne i32 %t129, 0 br i1 %t130, label %then78, label %else79 then78: store i32 1, ptr %t9 br label %ifend80 else79: %t131 = load ptr, ptr %t28 %t132 = call i32 @lp_str_eq(ptr %t131, ptr @.str20277) %t133 = icmp ne i32 %t132, 0 br i1 %t133, label %then81, label %else82 then81: %t134 = load i32, ptr %t18 %t135 = add i32 %t134, 1 store i32 %t135, ptr %t18 %t136 = load i32, ptr %t18 %t137 = load i32, ptr @L_argc %t138 = icmp slt i32 %t136, %t137 %t139 = zext i1 %t138 to i32 %t140 = icmp ne i32 %t139, 0 br i1 %t140, label %then84, label %ifend86 then84: %t141 = load i32, ptr %t18 %t142 = load ptr, ptr @L_argv %t143 = getelementptr ptr, ptr %t142, i32 %t141 %t144 = load ptr, ptr %t143 store ptr %t144, ptr %t8 br label %ifend86 ifend86: br label %ifend83 else82: %t145 = load ptr, ptr %t28 %t146 = call i32 @lp_str_eq(ptr %t145, ptr @.str20278) %t147 = icmp ne i32 %t146, 0 br i1 %t147, label %then87, label %else88 then87: %t148 = load i32, ptr %t18 %t149 = add i32 %t148, 1 store i32 %t149, ptr %t18 %t150 = load i32, ptr %t18 %t151 = load i32, ptr @L_argc %t152 = icmp slt i32 %t150, %t151 %t153 = zext i1 %t152 to i32 %t154 = icmp ne i32 %t153, 0 br i1 %t154, label %then90, label %ifend92 then90: %t155 = load i32, ptr %t18 %t156 = load ptr, ptr @L_argv %t157 = getelementptr ptr, ptr %t156, i32 %t155 %t158 = load ptr, ptr %t157 store ptr %t158, ptr %t17 br label %ifend92 ifend92: br label %ifend89 else88: %t159 = load ptr, ptr %t28 %t160 = call i32 @lp_str_eq(ptr %t159, ptr @.str20279) %t161 = icmp ne i32 %t160, 0 br i1 %t161, label %then93, label %else94 then93: %t162 = load i32, ptr %t18 %t163 = add i32 %t162, 1 store i32 %t163, ptr %t18 %t164 = load i32, ptr %t18 %t165 = load i32, ptr @L_argc %t166 = icmp slt i32 %t164, %t165 %t167 = zext i1 %t166 to i32 %t168 = icmp ne i32 %t167, 0 br i1 %t168, label %then96, label %ifend98 then96: %t169 = load ptr, ptr %t16 %t170 = load i32, ptr %t18 %t171 = load ptr, ptr @L_argv %t172 = getelementptr ptr, ptr %t171, i32 %t170 %t173 = load ptr, ptr %t172 %t174 = getelementptr inbounds %LSlice, ptr %t169, i32 0, i32 1 %t175 = getelementptr inbounds %LSlice, ptr %t169, i32 0, i32 2 %t176 = getelementptr inbounds %LSlice, ptr %t169, i32 0, i32 0 %t177 = load i32, ptr %t174 %t178 = load i32, ptr %t175 %t179 = icmp sge i32 %t177, %t178 br i1 %t179, label %grow99, label %put100 grow99: %t180 = mul i32 %t178, 2 %t181 = icmp eq i32 %t178, 0 %t182 = select i1 %t181, i32 8, i32 %t180 %t183 = getelementptr ptr, ptr null, i32 1 %t184 = ptrtoint ptr %t183 to i64 %t185 = zext i32 %t182 to i64 %t186 = mul i64 %t185, %t184 %t187 = load ptr, ptr %t176 store i32 10989, ptr @lp_site %t188 = call ptr @lp_realloc(ptr %t187, i64 %t186) store i32 0, ptr @lp_site store ptr %t188, ptr %t176 store i32 %t182, ptr %t175 br label %put100 put100: %t189 = load ptr, ptr %t176 %t190 = getelementptr inbounds ptr, ptr %t189, i32 %t177 store ptr %t173, ptr %t190 %t191 = add i32 %t177, 1 store i32 %t191, ptr %t174 br label %ifend98 ifend98: br label %ifend95 else94: %t192 = load ptr, ptr %t28 %t193 = call i32 @lp_str_eq(ptr %t192, ptr @.str20280) %t194 = icmp ne i32 %t193, 0 br i1 %t194, label %then101, label %else102 then101: %t195 = load i32, ptr %t18 %t196 = add i32 %t195, 1 store i32 %t196, ptr %t18 %t197 = load i32, ptr %t18 %t198 = load i32, ptr @L_argc %t199 = icmp slt i32 %t197, %t198 %t200 = zext i1 %t199 to i32 %t201 = icmp ne i32 %t200, 0 br i1 %t201, label %then104, label %ifend106 then104: %t202 = load i32, ptr %t18 %t203 = load ptr, ptr @L_argv %t204 = getelementptr ptr, ptr %t203, i32 %t202 %t205 = load ptr, ptr %t204 store ptr %t205, ptr %t1 br label %ifend106 ifend106: br label %ifend103 else102: %t206 = load ptr, ptr %t28 %t207 = call i32 @lp_str_eq(ptr %t206, ptr @.str20281) %t208 = icmp ne i32 %t207, 0 br i1 %t208, label %then107, label %else108 then107: store i32 1, ptr @g_g_es_report br label %ifend109 else108: %t209 = load ptr, ptr %t28 %t210 = call i32 @fn_fence_flag(ptr %t209) %t211 = icmp ne i32 %t210, 0 br i1 %t211, label %then110, label %else111 then110: br label %ifend112 else111: %t212 = load ptr, ptr %t28 %t213 = getelementptr inbounds i8, ptr %t212, i32 0 %t214 = load i8, ptr %t213 %t215 = zext i8 %t214 to i32 %t216 = icmp eq i32 %t215, 45 %t217 = zext i1 %t216 to i32 %t218 = icmp ne i32 %t217, 0 br i1 %t218, label %then113, label %else114 then113: %t219 = load ptr, ptr %t28 store i32 10990, ptr @lp_site %t220 = call ptr @lp_str_concat(ptr @.str20282, ptr %t219) store i32 0, ptr @lp_site store i32 10991, ptr @lp_site %t221 = call ptr @lp_str_concat(ptr %t220, ptr @.str20283) store i32 0, ptr @lp_site call void @lp_free(ptr %t220) store ptr %t221, ptr %t222 store i32 10992, ptr @lp_site %t223 = call ptr @lp_win_stdio(i32 2) store i32 0, ptr @lp_site %t224 = load ptr, ptr %t222 %t225 = load ptr, ptr %t222 %t226 = call i64 @strlen(ptr %t225) %t227 = trunc i64 %t226 to i32 %t228 = zext i32 %t227 to i64 %t229 = call i64 @fwrite(ptr %t224, i64 1, i64 %t228, ptr %t223) %t230 = trunc i64 %t229 to i32 br label %ifend115 else114: %t231 = load ptr, ptr %t28 store ptr %t231, ptr %t0 br label %ifend115 ifend115: br label %ifend112 ifend112: br label %ifend109 ifend109: br label %ifend103 ifend103: br label %ifend95 ifend95: br label %ifend89 ifend89: br label %ifend83 ifend83: br label %ifend80 ifend80: br label %ifend74 ifend74: br label %ifend71 ifend71: br label %ifend68 ifend68: br label %ifend65 ifend65: br label %ifend62 ifend62: br label %ifend56 ifend56: br label %ifend53 ifend53: 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 %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: %t232 = load i32, ptr %t18 %t233 = add i32 %t232, 1 store i32 %t233, ptr %t18 br label %wcond0 wend2: %t234 = load ptr, ptr %t0 %t235 = icmp eq ptr %t234, null %t236 = zext i1 %t235 to i32 %t237 = icmp ne i32 %t236, 0 br i1 %t237, label %then116, label %ifend118 then116: call void @fn_die(ptr @.str20284) br label %ifend118 ifend118: %t238 = load ptr, ptr %t7 %t239 = icmp ne ptr %t238, null %t240 = zext i1 %t239 to i32 %t241 = icmp ne i32 %t240, 0 br i1 %t241, label %then119, label %else120 then119: %t242 = load ptr, ptr %t7 %t243 = call i32 @fn_has_sub(ptr %t242, ptr @.str20285) store i32 %t243, ptr @g_g_target_win br label %ifend121 else120: %t244 = call i32 @fn_host_is_windows() store i32 %t244, ptr @g_g_target_win br label %ifend121 ifend121: %t245 = load ptr, ptr %t0 %t246 = call ptr @fn_read_file(ptr %t245) store ptr %t246, ptr %t247 %t248 = load ptr, ptr %t247 %t249 = icmp eq ptr %t248, null %t250 = zext i1 %t249 to i32 %t251 = icmp ne i32 %t250, 0 br i1 %t251, label %then122, label %ifend124 then122: call void @fn_die(ptr @.str20286) br label %ifend124 ifend124: %t252 = load ptr, ptr @g_g_fm_src %t253 = load ptr, ptr %t0 %t254 = load ptr, ptr %t247 call void @fn_fm_put(ptr %t252, ptr %t253, ptr %t254) %t255 = load ptr, ptr %t0 %t256 = call ptr @fn_dir_of(ptr %t255) store ptr %t256, ptr @g_cur_dir %t257 = load ptr, ptr %t0 %t258 = call ptr @fn_base_name(ptr %t257) store ptr %t258, ptr @g_g_src_name %t259 = load ptr, ptr %t0 store ptr %t259, ptr @g_g_parse_file %t260 = load ptr, ptr %t0 store ptr %t260, ptr @g_g_act_main %t261 = load ptr, ptr %t247 call void @fn_lex(ptr %t261) call void @fn_parse_program() %t262 = load ptr, ptr @g_prog %t263 = getelementptr inbounds %LSlice, ptr %t262, i32 0, i32 1 %t264 = load i32, ptr %t263 store i32 %t264, ptr @g_g_prog_user_end %t266 = load ptr, ptr %t8 %t267 = icmp ne ptr %t266, null %t268 = zext i1 %t267 to i32 %t269 = icmp ne i32 %t268, 0 %t270 = zext i1 %t269 to i32 store i32 %t270, ptr %t265 br i1 %t269, label %sc125, label %scend126 sc125: %t271 = load ptr, ptr %t8 %t272 = call i64 @strlen(ptr %t271) %t273 = trunc i64 %t272 to i32 %t274 = icmp sgt i32 %t273, 0 %t275 = zext i1 %t274 to i32 %t276 = icmp ne i32 %t275, 0 %t277 = zext i1 %t276 to i32 store i32 %t277, ptr %t265 br label %scend126 scend126: %t278 = load i32, ptr %t265 %t279 = icmp ne i32 %t278, 0 br i1 %t279, label %then127, label %ifend129 then127: %t280 = load ptr, ptr %t8 store ptr %t280, ptr @g_g_game_name br label %ifend129 ifend129: %t281 = load i32, ptr %t4 %t282 = icmp ne i32 %t281, 0 br i1 %t282, label %then130, label %ifend132 then130: call void @exit(i32 0) unreachable ifend132: call void @fn_maybe_splice_runtime() %t283 = load ptr, ptr %t0 call void @fn_fence_manifest(ptr %t283) %t284 = load ptr, ptr %t0 call void @fn_i18n_manifest(ptr %t284) call void @fn_ui_register_gotos() %t286 = load i32, ptr %t6 %t287 = icmp ne i32 %t286, 0 %t288 = zext i1 %t287 to i32 store i32 %t288, ptr %t285 br i1 %t287, label %scend134, label %sc133 sc133: %t289 = load ptr, ptr %t1 %t290 = icmp ne ptr %t289, null %t291 = zext i1 %t290 to i32 %t292 = icmp ne i32 %t291, 0 %t293 = zext i1 %t292 to i32 store i32 %t293, ptr %t285 br label %scend134 scend134: %t294 = load i32, ptr %t285 store i32 %t294, ptr %t295 %t296 = load i32, ptr %t2 %t297 = icmp eq i32 %t296, 1 %t298 = zext i1 %t297 to i32 %t299 = icmp ne i32 %t298, 0 br i1 %t299, label %then135, label %else136 then135: store i32 1, ptr @g_g_windowed br label %ifend137 else136: %t300 = load i32, ptr %t2 %t301 = icmp eq i32 %t300, 2 %t302 = zext i1 %t301 to i32 %t303 = icmp ne i32 %t302, 0 br i1 %t303, label %then138, label %else139 then138: store i32 0, ptr @g_g_windowed br label %ifend140 else139: %t305 = load i32, ptr %t295 %t306 = icmp ne i32 %t305, 0 %t307 = zext i1 %t306 to i32 store i32 %t307, ptr %t304 br i1 %t306, label %sc141, label %scend142 sc141: %t308 = call i32 @fn_has_systems() %t309 = icmp ne i32 %t308, 0 %t310 = zext i1 %t309 to i32 store i32 %t310, ptr %t304 br label %scend142 scend142: %t311 = load i32, ptr %t304 store i32 %t311, ptr @g_g_windowed br label %ifend140 ifend140: br label %ifend137 ifend137: store i32 0, ptr @g_g_parsing call void @fn_privates_rename() call void @fn_check_duplicate_fns() call void @fn_check_duplicate_decls() %t312 = load ptr, ptr %t0 store ptr %t312, ptr @g_g_mg_entry %t313 = load i32, ptr @g_g_migrate %t314 = icmp ne i32 %t313, 0 br i1 %t314, label %then143, label %ifend145 then143: call void @fn_mg_collect() br label %ifend145 ifend145: call void @fn_ix_start() call void @fn_check_program() call void @fn_i18n_check() %t315 = load i32, ptr @g_g_es_report %t316 = icmp ne i32 %t315, 0 br i1 %t316, label %then146, label %else147 then146: call void @fn_escape_report() br label %ifend148 else147: %t317 = load i32, ptr @g_g_arena %t318 = icmp ne i32 %t317, 0 br i1 %t318, label %then149, label %ifend151 then149: call void @fn_escape_analyse() br label %ifend151 ifend151: br label %ifend148 ifend148: %t320 = load i32, ptr @g_g_arena_strict %t321 = icmp ne i32 %t320, 0 %t322 = zext i1 %t321 to i32 store i32 %t322, ptr %t319 br i1 %t321, label %sc152, label %scend153 sc152: %t323 = call ptr @fn_getenv_or(ptr @.str20287, ptr @.str20288) %t324 = call i32 @lp_str_eq(ptr %t323, ptr @.str20289) %t325 = icmp ne i32 %t324, 0 %t326 = zext i1 %t325 to i32 store i32 %t326, ptr %t319 br label %scend153 scend153: %t327 = load i32, ptr %t319 %t328 = icmp ne i32 %t327, 0 br i1 %t328, label %then154, label %ifend156 then154: store i32 10993, ptr @lp_site %t329 = call ptr @lp_pak_open(ptr @.str20290, ptr @.str20291) store i32 0, ptr @lp_site store ptr %t329, ptr %t330 %t331 = load ptr, ptr %t330 call void @fn_deps_reach(ptr %t331) %t332 = load ptr, ptr %t330 call i32 @fclose(ptr %t332) br label %ifend156 ifend156: %t333 = load i32, ptr @g_g_migrate %t334 = icmp ne i32 %t333, 0 br i1 %t334, label %then157, label %ifend159 then157: call void @fn_mg_finish() br label %ifend159 ifend159: call void @fn_schema_hash_compute() %t335 = load ptr, ptr @g_g_schema_out %t336 = icmp ne ptr %t335, null %t337 = zext i1 %t336 to i32 %t338 = icmp ne i32 %t337, 0 br i1 %t338, label %then160, label %ifend162 then160: %t339 = load ptr, ptr @g_g_schema_out %t340 = call i32 @fn_schema_write(ptr %t339) %t341 = icmp eq i32 %t340, 0 %t342 = zext i1 %t341 to i32 %t343 = icmp ne i32 %t342, 0 br i1 %t343, label %then163, label %ifend165 then163: %t344 = load ptr, ptr @g_g_schema_out store i32 10994, ptr @lp_site %t345 = call ptr @lp_str_concat(ptr @.str20292, ptr %t344) store i32 0, ptr @lp_site store i32 10995, ptr @lp_site %t346 = call ptr @lp_str_concat(ptr %t345, ptr @.str20293) store i32 0, ptr @lp_site call void @lp_free(ptr %t345) call void @fn_die(ptr %t346) br label %ifend165 ifend165: %t349 = load i32, ptr @g_g_check_only %t350 = icmp eq i32 %t349, 0 %t351 = zext i1 %t350 to i32 %t352 = icmp ne i32 %t351, 0 %t353 = zext i1 %t352 to i32 store i32 %t353, ptr %t348 br i1 %t352, label %sc166, label %scend167 sc166: %t354 = load i32, ptr %t295 %t355 = icmp eq i32 %t354, 0 %t356 = zext i1 %t355 to i32 %t357 = icmp ne i32 %t356, 0 %t358 = zext i1 %t357 to i32 store i32 %t358, ptr %t348 br label %scend167 scend167: %t359 = load i32, ptr %t348 %t360 = icmp ne i32 %t359, 0 %t361 = zext i1 %t360 to i32 store i32 %t361, ptr %t347 br i1 %t360, label %sc168, label %scend169 sc168: %t362 = load i32, ptr %t3 %t363 = icmp eq i32 %t362, 0 %t364 = zext i1 %t363 to i32 %t365 = icmp ne i32 %t364, 0 %t366 = zext i1 %t365 to i32 store i32 %t366, ptr %t347 br label %scend169 scend169: %t367 = load i32, ptr %t347 %t368 = icmp ne i32 %t367, 0 br i1 %t368, label %then170, label %ifend172 then170: call void @fn_diag_exit(i32 0) br label %ifend172 ifend172: br label %ifend162 ifend162: %t369 = load i32, ptr @g_g_check_only %t370 = icmp ne i32 %t369, 0 br i1 %t370, label %then173, label %ifend175 then173: call void @fn_pm_check_maps() call void @fn_emit_program() %t371 = load i32, ptr @g_g_dg_errors %t372 = icmp sgt i32 %t371, 0 %t373 = zext i1 %t372 to i32 %t374 = icmp ne i32 %t373, 0 br i1 %t374, label %then176, label %ifend178 then176: call void @fn_diag_exit(i32 1) br label %ifend178 ifend178: call void @fn_diag_exit(i32 0) br label %ifend175 ifend175: call void @fn_emit_program() %t375 = load i32, ptr @g_g_dg_errors %t376 = icmp sgt i32 %t375, 0 %t377 = zext i1 %t376 to i32 %t378 = icmp ne i32 %t377, 0 br i1 %t378, label %then179, label %ifend181 then179: call void @fn_diag_exit(i32 1) br label %ifend181 ifend181: call void @fn_deps_flush() %t379 = load i32, ptr %t3 %t380 = icmp ne i32 %t379, 0 br i1 %t380, label %then182, label %ifend184 then182: %t381 = load ptr, ptr %t1 %t382 = call i32 @fn_ir_flush(ptr %t381) br label %ret ifend184: %t383 = load i32, ptr %t295 %t384 = icmp eq i32 %t383, 0 %t385 = zext i1 %t384 to i32 %t386 = icmp ne i32 %t385, 0 br i1 %t386, label %then185, label %ifend187 then185: %t387 = call i32 @fn_ir_flush(ptr null) br label %ret ifend187: %t389 = load i32, ptr %t6 %t390 = icmp ne i32 %t389, 0 %t391 = zext i1 %t390 to i32 store i32 %t391, ptr %t388 br i1 %t390, label %sc188, label %scend189 sc188: %t392 = load ptr, ptr %t1 %t393 = icmp eq ptr %t392, null %t394 = zext i1 %t393 to i32 %t395 = icmp ne i32 %t394, 0 %t396 = zext i1 %t395 to i32 store i32 %t396, ptr %t388 br label %scend189 scend189: %t397 = load i32, ptr %t388 %t398 = icmp ne i32 %t397, 0 br i1 %t398, label %then190, label %ifend192 then190: %t399 = call i32 @fn_host_is_windows() %t400 = icmp ne i32 %t399, 0 br i1 %t400, label %then193, label %else194 then193: %t401 = call ptr @fn_getenv_or(ptr @.str20294, ptr @.str20295) %t402 = call ptr @fn_fwd_slashes(ptr %t401) store i32 10996, ptr @lp_site %t403 = call ptr @lp_str_concat(ptr %t402, ptr @.str20296) store i32 0, ptr @lp_site %t404 = load ptr, ptr %t0 %t405 = call ptr @fn_base_name(ptr %t404) %t406 = call ptr @fn_strip_ludic(ptr %t405) store i32 10997, ptr @lp_site %t407 = call ptr @lp_str_concat(ptr %t403, ptr %t406) store i32 0, ptr @lp_site call void @lp_free(ptr %t403) store ptr %t407, ptr %t1 br label %ifend195 else194: %t408 = load ptr, ptr %t0 %t409 = call ptr @fn_base_name(ptr %t408) %t410 = call ptr @fn_strip_ludic(ptr %t409) store i32 10998, ptr @lp_site %t411 = call ptr @lp_str_concat(ptr @.str20297, ptr %t410) store i32 0, ptr @lp_site store ptr %t411, ptr %t1 br label %ifend195 ifend195: br label %ifend192 ifend192: %t412 = load i32, ptr @g_g_target_win %t413 = icmp ne i32 %t412, 0 br i1 %t413, label %then196, label %ifend198 then196: %t414 = load ptr, ptr %t1 %t415 = call i64 @strlen(ptr %t414) %t416 = trunc i64 %t415 to i32 store i32 %t416, ptr %t417 store i32 0, ptr %t418 %t419 = load i32, ptr %t417 %t420 = icmp sge i32 %t419, 4 %t421 = zext i1 %t420 to i32 %t422 = icmp ne i32 %t421, 0 br i1 %t422, label %then199, label %ifend201 then199: %t423 = load ptr, ptr %t1 %t424 = load i32, ptr %t417 %t425 = sub i32 %t424, 4 %t426 = load i32, ptr %t417 store i32 10999, ptr @lp_site %t427 = call ptr @lp_str_slice(ptr %t423, i32 %t425, i32 %t426) store i32 0, ptr @lp_site %t428 = call i32 @lp_str_eq(ptr %t427, ptr @.str20298) call void @lp_free(ptr %t427) store i32 %t428, ptr %t418 br label %ifend201 ifend201: %t429 = load i32, ptr %t418 %t430 = icmp eq i32 %t429, 0 %t431 = zext i1 %t430 to i32 %t432 = icmp ne i32 %t431, 0 br i1 %t432, label %then202, label %ifend204 then202: %t433 = load ptr, ptr %t1 store i32 11000, ptr @lp_site %t434 = call ptr @lp_str_concat(ptr %t433, ptr @.str20299) store i32 0, ptr @lp_site store ptr %t434, ptr %t1 br label %ifend204 ifend204: br label %ifend198 ifend198: %t435 = load ptr, ptr %t1 %t436 = call ptr @fn_dir_of(ptr %t435) store ptr %t436, ptr %t437 %t438 = load ptr, ptr %t437 %t439 = call i64 @strlen(ptr %t438) %t440 = trunc i64 %t439 to i32 %t441 = icmp sgt i32 %t440, 0 %t442 = zext i1 %t441 to i32 %t443 = icmp ne i32 %t442, 0 br i1 %t443, label %then205, label %ifend207 then205: %t444 = load ptr, ptr %t437 call void @fn_make_dir(ptr %t444) br label %ifend207 ifend207: %t445 = load ptr, ptr %t1 store i32 11001, ptr @lp_site %t446 = call ptr @lp_str_concat(ptr %t445, ptr @.str20300) store i32 0, ptr @lp_site store ptr %t446, ptr %t447 %t448 = load ptr, ptr %t447 %t449 = call i32 @fn_ir_flush(ptr %t448) %t450 = icmp eq i32 %t449, 0 %t451 = zext i1 %t450 to i32 %t452 = icmp ne i32 %t451, 0 br i1 %t452, label %then208, label %ifend210 then208: call void @fn_die(ptr @.str20301) br label %ifend210 ifend210: %t453 = call ptr @fn_find_cc() store ptr %t453, ptr %t454 %t455 = call ptr @fn_ludic_home() store ptr %t455, ptr %t456 %t457 = call ptr @fn_getenv_or(ptr @.str20302, ptr @.str20303) store ptr %t457, ptr %t458 %t459 = load ptr, ptr %t447 %t460 = load ptr, ptr %t1 %t461 = load ptr, ptr %t458 %t462 = call ptr @fn_split_compile(ptr %t459, ptr %t460, ptr %t461) store ptr %t462, ptr %t463 %t464 = load ptr, ptr %t454 store i32 11002, ptr @lp_site %t465 = call ptr @lp_str_concat(ptr %t464, ptr @.str20304) store i32 0, ptr @lp_site %t466 = load ptr, ptr %t458 store i32 11003, ptr @lp_site %t467 = call ptr @lp_str_concat(ptr %t465, ptr %t466) store i32 0, ptr @lp_site call void @lp_free(ptr %t465) store i32 11004, ptr @lp_site %t468 = call ptr @lp_str_concat(ptr %t467, ptr @.str20305) store i32 0, ptr @lp_site call void @lp_free(ptr %t467) %t469 = load ptr, ptr %t447 store i32 11005, ptr @lp_site %t470 = call ptr @lp_str_concat(ptr %t468, ptr %t469) store i32 0, ptr @lp_site call void @lp_free(ptr %t468) store ptr %t470, ptr %t471 %t472 = load ptr, ptr %t463 %t473 = icmp ne ptr %t472, null %t474 = zext i1 %t473 to i32 %t475 = icmp ne i32 %t474, 0 br i1 %t475, label %then211, label %ifend213 then211: %t476 = load ptr, ptr %t454 store i32 11006, ptr @lp_site %t477 = call ptr @lp_str_concat(ptr %t476, ptr @.str20306) store i32 0, ptr @lp_site %t478 = load ptr, ptr %t458 store i32 11007, ptr @lp_site %t479 = call ptr @lp_str_concat(ptr %t477, ptr %t478) store i32 0, ptr @lp_site call void @lp_free(ptr %t477) store i32 11008, ptr @lp_site %t480 = call ptr @lp_str_concat(ptr %t479, ptr @.str20307) store i32 0, ptr @lp_site call void @lp_free(ptr %t479) %t481 = load ptr, ptr %t463 store i32 11009, ptr @lp_site %t482 = call ptr @lp_str_concat(ptr %t480, ptr %t481) store i32 0, ptr @lp_site call void @lp_free(ptr %t480) store ptr %t482, ptr %t471 br label %ifend213 ifend213: %t483 = load i32, ptr @g_g_target_win %t484 = icmp ne i32 %t483, 0 br i1 %t484, label %then214, label %else215 then214: %t485 = load i32, ptr @g_g_windowed %t486 = icmp ne i32 %t485, 0 br i1 %t486, label %then217, label %ifend219 then217: %t487 = load ptr, ptr %t456 %t488 = call ptr @fn_join_path(ptr %t487, ptr @.str20308) store ptr %t488, ptr %t489 %t490 = load ptr, ptr %t471 store i32 11010, ptr @lp_site %t491 = call ptr @lp_str_concat(ptr %t490, ptr @.str20309) store i32 0, ptr @lp_site %t492 = load ptr, ptr %t489 store i32 11011, ptr @lp_site %t493 = call ptr @lp_str_concat(ptr %t491, ptr %t492) store i32 0, ptr @lp_site call void @lp_free(ptr %t491) store i32 11012, ptr @lp_site %t494 = call ptr @lp_str_concat(ptr %t493, ptr @.str20310) store i32 0, ptr @lp_site call void @lp_free(ptr %t493) store ptr %t494, ptr %t471 %t495 = load i32, ptr @g_g_uses_audio %t496 = icmp ne i32 %t495, 0 br i1 %t496, label %then220, label %ifend222 then220: %t497 = load ptr, ptr %t456 %t498 = call ptr @fn_join_path(ptr %t497, ptr @.str20311) store ptr %t498, ptr %t499 %t500 = load ptr, ptr %t471 store i32 11013, ptr @lp_site %t501 = call ptr @lp_str_concat(ptr %t500, ptr @.str20312) store i32 0, ptr @lp_site %t502 = load ptr, ptr %t499 store i32 11014, ptr @lp_site %t503 = call ptr @lp_str_concat(ptr %t501, ptr %t502) store i32 0, ptr @lp_site call void @lp_free(ptr %t501) store i32 11015, ptr @lp_site %t504 = call ptr @lp_str_concat(ptr %t503, ptr @.str20313) store i32 0, ptr @lp_site call void @lp_free(ptr %t503) store ptr %t504, ptr %t471 br label %ifend222 ifend222: br label %ifend219 ifend219: br label %ifend216 else215: %t505 = load i32, ptr @g_g_windowed %t506 = icmp ne i32 %t505, 0 br i1 %t506, label %then223, label %ifend225 then223: %t507 = load ptr, ptr %t456 %t508 = call ptr @fn_join_path(ptr %t507, ptr @.str20314) store ptr %t508, ptr %t509 %t510 = load ptr, ptr %t471 store i32 11016, ptr @lp_site %t511 = call ptr @lp_str_concat(ptr %t510, ptr @.str20315) store i32 0, ptr @lp_site %t512 = load ptr, ptr %t509 store i32 11017, ptr @lp_site %t513 = call ptr @lp_str_concat(ptr %t511, ptr %t512) store i32 0, ptr @lp_site call void @lp_free(ptr %t511) store i32 11018, ptr @lp_site %t514 = call ptr @lp_str_concat(ptr %t513, ptr @.str20316) store i32 0, ptr @lp_site call void @lp_free(ptr %t513) store ptr %t514, ptr %t471 %t515 = load i32, ptr @g_g_uses_audio %t516 = icmp ne i32 %t515, 0 br i1 %t516, label %then226, label %ifend228 then226: %t517 = load ptr, ptr %t456 %t518 = call ptr @fn_join_path(ptr %t517, ptr @.str20317) store ptr %t518, ptr %t519 %t520 = load ptr, ptr %t471 store i32 11019, ptr @lp_site %t521 = call ptr @lp_str_concat(ptr %t520, ptr @.str20318) store i32 0, ptr @lp_site %t522 = load ptr, ptr %t519 store i32 11020, ptr @lp_site %t523 = call ptr @lp_str_concat(ptr %t521, ptr %t522) store i32 0, ptr @lp_site call void @lp_free(ptr %t521) store i32 11021, ptr @lp_site %t524 = call ptr @lp_str_concat(ptr %t523, ptr @.str20319) store i32 0, ptr @lp_site call void @lp_free(ptr %t523) store ptr %t524, ptr %t471 br label %ifend228 ifend228: br label %ifend225 ifend225: br label %ifend216 ifend216: %t525 = load i32, ptr @g_g_uses_jobs %t526 = icmp ne i32 %t525, 0 br i1 %t526, label %then229, label %ifend231 then229: %t527 = load i32, ptr @g_g_target_win %t528 = icmp ne i32 %t527, 0 br i1 %t528, label %then232, label %else233 then232: %t529 = load ptr, ptr %t471 store i32 11022, ptr @lp_site %t530 = call ptr @lp_str_concat(ptr %t529, ptr @.str20320) store i32 0, ptr @lp_site %t531 = load ptr, ptr %t456 %t532 = call ptr @fn_join_path(ptr %t531, ptr @.str20321) store i32 11023, ptr @lp_site %t533 = call ptr @lp_str_concat(ptr %t530, ptr %t532) store i32 0, ptr @lp_site call void @lp_free(ptr %t530) store ptr %t533, ptr %t471 br label %ifend234 else233: %t534 = load ptr, ptr %t471 store i32 11024, ptr @lp_site %t535 = call ptr @lp_str_concat(ptr %t534, ptr @.str20322) store i32 0, ptr @lp_site %t536 = load ptr, ptr %t456 %t537 = call ptr @fn_join_path(ptr %t536, ptr @.str20323) store i32 11025, ptr @lp_site %t538 = call ptr @lp_str_concat(ptr %t535, ptr %t537) store i32 0, ptr @lp_site call void @lp_free(ptr %t535) store ptr %t538, ptr %t471 br label %ifend234 ifend234: br label %ifend231 ifend231: %t539 = load i32, ptr @g_g_uses_udp %t540 = icmp ne i32 %t539, 0 br i1 %t540, label %then235, label %ifend237 then235: %t541 = load i32, ptr @g_g_target_win %t542 = icmp ne i32 %t541, 0 br i1 %t542, label %then238, label %else239 then238: %t543 = load ptr, ptr %t471 store i32 11026, ptr @lp_site %t544 = call ptr @lp_str_concat(ptr %t543, ptr @.str20324) store i32 0, ptr @lp_site %t545 = load ptr, ptr %t456 %t546 = call ptr @fn_join_path(ptr %t545, ptr @.str20325) store i32 11027, ptr @lp_site %t547 = call ptr @lp_str_concat(ptr %t544, ptr %t546) store i32 0, ptr @lp_site call void @lp_free(ptr %t544) store i32 11028, ptr @lp_site %t548 = call ptr @lp_str_concat(ptr %t547, ptr @.str20326) store i32 0, ptr @lp_site call void @lp_free(ptr %t547) store ptr %t548, ptr %t471 br label %ifend240 else239: %t549 = load ptr, ptr %t471 store i32 11029, ptr @lp_site %t550 = call ptr @lp_str_concat(ptr %t549, ptr @.str20327) store i32 0, ptr @lp_site %t551 = load ptr, ptr %t456 %t552 = call ptr @fn_join_path(ptr %t551, ptr @.str20328) store i32 11030, ptr @lp_site %t553 = call ptr @lp_str_concat(ptr %t550, ptr %t552) store i32 0, ptr @lp_site call void @lp_free(ptr %t550) store ptr %t553, ptr %t471 br label %ifend240 ifend240: br label %ifend237 ifend237: %t555 = load i32, ptr @g_g_target_win %t556 = icmp ne i32 %t555, 0 %t557 = zext i1 %t556 to i32 store i32 %t557, ptr %t554 br i1 %t556, label %sc241, label %scend242 sc241: %t558 = load i32, ptr @g_g_uses_cryptort %t559 = icmp ne i32 %t558, 0 %t560 = zext i1 %t559 to i32 store i32 %t560, ptr %t554 br label %scend242 scend242: %t561 = load i32, ptr %t554 %t562 = icmp ne i32 %t561, 0 br i1 %t562, label %then243, label %ifend245 then243: %t563 = load ptr, ptr %t471 store i32 11031, ptr @lp_site %t564 = call ptr @lp_str_concat(ptr %t563, ptr @.str20329) store i32 0, ptr @lp_site store ptr %t564, ptr %t471 br label %ifend245 ifend245: %t565 = load i32, ptr @g_g_uses_process %t566 = icmp ne i32 %t565, 0 br i1 %t566, label %then246, label %ifend248 then246: %t567 = load i32, ptr @g_g_target_win %t568 = icmp ne i32 %t567, 0 br i1 %t568, label %then249, label %else250 then249: %t569 = load ptr, ptr %t471 store i32 11032, ptr @lp_site %t570 = call ptr @lp_str_concat(ptr %t569, ptr @.str20330) store i32 0, ptr @lp_site %t571 = load ptr, ptr %t456 %t572 = call ptr @fn_join_path(ptr %t571, ptr @.str20331) store i32 11033, ptr @lp_site %t573 = call ptr @lp_str_concat(ptr %t570, ptr %t572) store i32 0, ptr @lp_site call void @lp_free(ptr %t570) store ptr %t573, ptr %t471 br label %ifend251 else250: %t574 = load ptr, ptr %t471 store i32 11034, ptr @lp_site %t575 = call ptr @lp_str_concat(ptr %t574, ptr @.str20332) store i32 0, ptr @lp_site %t576 = load ptr, ptr %t456 %t577 = call ptr @fn_join_path(ptr %t576, ptr @.str20333) store i32 11035, ptr @lp_site %t578 = call ptr @lp_str_concat(ptr %t575, ptr %t577) store i32 0, ptr @lp_site call void @lp_free(ptr %t575) store ptr %t578, ptr %t471 br label %ifend251 ifend251: br label %ifend248 ifend248: %t579 = load i32, ptr @g_g_uses_http %t580 = icmp ne i32 %t579, 0 br i1 %t580, label %then252, label %ifend254 then252: %t581 = load i32, ptr @g_g_target_win %t582 = icmp ne i32 %t581, 0 br i1 %t582, label %then255, label %else256 then255: %t583 = load ptr, ptr %t456 %t584 = call ptr @fn_join_path(ptr %t583, ptr @.str20334) store ptr %t584, ptr %t585 %t586 = load ptr, ptr %t471 store i32 11036, ptr @lp_site %t587 = call ptr @lp_str_concat(ptr %t586, ptr @.str20335) store i32 0, ptr @lp_site %t588 = load ptr, ptr %t585 store i32 11037, ptr @lp_site %t589 = call ptr @lp_str_concat(ptr %t587, ptr %t588) store i32 0, ptr @lp_site call void @lp_free(ptr %t587) store i32 11038, ptr @lp_site %t590 = call ptr @lp_str_concat(ptr %t589, ptr @.str20336) store i32 0, ptr @lp_site call void @lp_free(ptr %t589) store ptr %t590, ptr %t471 br label %ifend257 else256: %t591 = load ptr, ptr %t456 %t592 = call ptr @fn_join_path(ptr %t591, ptr @.str20337) store ptr %t592, ptr %t593 %t594 = load ptr, ptr %t471 store i32 11039, ptr @lp_site %t595 = call ptr @lp_str_concat(ptr %t594, ptr @.str20338) store i32 0, ptr @lp_site %t596 = load ptr, ptr %t593 store i32 11040, ptr @lp_site %t597 = call ptr @lp_str_concat(ptr %t595, ptr %t596) store i32 0, ptr @lp_site call void @lp_free(ptr %t595) store i32 11041, ptr @lp_site %t598 = call ptr @lp_str_concat(ptr %t597, ptr @.str20339) store i32 0, ptr @lp_site call void @lp_free(ptr %t597) store ptr %t598, ptr %t471 br label %ifend257 ifend257: br label %ifend254 ifend254: %t599 = load i32, ptr @g_g_uses_gl %t600 = icmp ne i32 %t599, 0 br i1 %t600, label %then258, label %ifend260 then258: %t601 = load i32, ptr @g_g_target_win %t602 = icmp ne i32 %t601, 0 br i1 %t602, label %then261, label %else262 then261: %t603 = load ptr, ptr %t456 %t604 = call ptr @fn_join_path(ptr %t603, ptr @.str20340) store ptr %t604, ptr %t605 %t606 = load ptr, ptr %t456 %t607 = call ptr @fn_join_path(ptr %t606, ptr @.str20341) store ptr %t607, ptr %t608 %t609 = load ptr, ptr %t456 %t610 = call ptr @fn_join_path(ptr %t609, ptr @.str20342) store ptr %t610, ptr %t611 %t612 = load i32, ptr @g_g_windowed %t613 = icmp ne i32 %t612, 0 br i1 %t613, label %then264, label %ifend266 then264: %t614 = load ptr, ptr %t456 %t615 = call ptr @fn_join_path(ptr %t614, ptr @.str20343) store ptr %t615, ptr %t611 br label %ifend266 ifend266: %t616 = load ptr, ptr %t471 store i32 11042, ptr @lp_site %t617 = call ptr @lp_str_concat(ptr %t616, ptr @.str20344) store i32 0, ptr @lp_site %t618 = load ptr, ptr %t605 store i32 11043, ptr @lp_site %t619 = call ptr @lp_str_concat(ptr %t617, ptr %t618) store i32 0, ptr @lp_site call void @lp_free(ptr %t617) store i32 11044, ptr @lp_site %t620 = call ptr @lp_str_concat(ptr %t619, ptr @.str20345) store i32 0, ptr @lp_site call void @lp_free(ptr %t619) %t621 = load ptr, ptr %t608 store i32 11045, ptr @lp_site %t622 = call ptr @lp_str_concat(ptr %t620, ptr %t621) store i32 0, ptr @lp_site call void @lp_free(ptr %t620) store i32 11046, ptr @lp_site %t623 = call ptr @lp_str_concat(ptr %t622, ptr @.str20346) store i32 0, ptr @lp_site call void @lp_free(ptr %t622) %t624 = load ptr, ptr %t611 store i32 11047, ptr @lp_site %t625 = call ptr @lp_str_concat(ptr %t623, ptr %t624) store i32 0, ptr @lp_site call void @lp_free(ptr %t623) store i32 11048, ptr @lp_site %t626 = call ptr @lp_str_concat(ptr %t625, ptr @.str20347) store i32 0, ptr @lp_site call void @lp_free(ptr %t625) store ptr %t626, ptr %t471 br label %ifend263 else262: %t627 = load ptr, ptr %t456 %t628 = call ptr @fn_join_path(ptr %t627, ptr @.str20348) store ptr %t628, ptr %t629 %t630 = load ptr, ptr %t456 %t631 = call ptr @fn_join_path(ptr %t630, ptr @.str20349) store ptr %t631, ptr %t632 %t633 = load ptr, ptr %t471 store i32 11049, ptr @lp_site %t634 = call ptr @lp_str_concat(ptr %t633, ptr @.str20350) store i32 0, ptr @lp_site %t635 = load ptr, ptr %t629 store i32 11050, ptr @lp_site %t636 = call ptr @lp_str_concat(ptr %t634, ptr %t635) store i32 0, ptr @lp_site call void @lp_free(ptr %t634) store i32 11051, ptr @lp_site %t637 = call ptr @lp_str_concat(ptr %t636, ptr @.str20351) store i32 0, ptr @lp_site call void @lp_free(ptr %t636) %t638 = load ptr, ptr %t632 store i32 11052, ptr @lp_site %t639 = call ptr @lp_str_concat(ptr %t637, ptr %t638) store i32 0, ptr @lp_site call void @lp_free(ptr %t637) store i32 11053, ptr @lp_site %t640 = call ptr @lp_str_concat(ptr %t639, ptr @.str20352) store i32 0, ptr @lp_site call void @lp_free(ptr %t639) store ptr %t640, ptr %t471 br label %ifend263 ifend263: br label %ifend260 ifend260: %t641 = load i32, ptr @g_g_uses_vk %t642 = icmp ne i32 %t641, 0 br i1 %t642, label %then267, label %ifend269 then267: %t643 = load ptr, ptr %t456 %t644 = call ptr @fn_join_path(ptr %t643, ptr @.str20353) store ptr %t644, ptr %t645 %t646 = load ptr, ptr %t456 %t647 = call ptr @fn_join_path(ptr %t646, ptr @.str20354) store ptr %t647, ptr %t648 %t649 = load i32, ptr @g_g_target_win %t650 = icmp ne i32 %t649, 0 br i1 %t650, label %then270, label %ifend272 then270: %t651 = load ptr, ptr %t456 %t652 = call ptr @fn_join_path(ptr %t651, ptr @.str20355) store ptr %t652, ptr %t648 br label %ifend272 ifend272: %t653 = load ptr, ptr %t471 store i32 11054, ptr @lp_site %t654 = call ptr @lp_str_concat(ptr %t653, ptr @.str20356) store i32 0, ptr @lp_site %t655 = load ptr, ptr %t645 store i32 11055, ptr @lp_site %t656 = call ptr @lp_str_concat(ptr %t654, ptr %t655) store i32 0, ptr @lp_site call void @lp_free(ptr %t654) store i32 11056, ptr @lp_site %t657 = call ptr @lp_str_concat(ptr %t656, ptr @.str20357) store i32 0, ptr @lp_site call void @lp_free(ptr %t656) %t658 = load ptr, ptr %t648 store i32 11057, ptr @lp_site %t659 = call ptr @lp_str_concat(ptr %t657, ptr %t658) store i32 0, ptr @lp_site call void @lp_free(ptr %t657) store ptr %t659, ptr %t471 %t660 = load i32, ptr @g_g_target_win %t661 = icmp eq i32 %t660, 0 %t662 = zext i1 %t661 to i32 %t663 = icmp ne i32 %t662, 0 br i1 %t663, label %then273, label %ifend275 then273: %t664 = load ptr, ptr %t471 store i32 11058, ptr @lp_site %t665 = call ptr @lp_str_concat(ptr %t664, ptr @.str20358) store i32 0, ptr @lp_site store ptr %t665, ptr %t471 br label %ifend275 ifend275: br label %ifend269 ifend269: %t667 = load i32, ptr @g_g_target_win %t668 = icmp ne i32 %t667, 0 %t669 = zext i1 %t668 to i32 store i32 %t669, ptr %t666 br i1 %t668, label %sc276, label %scend277 sc276: %t670 = load i32, ptr %t9 %t671 = icmp ne i32 %t670, 0 %t672 = zext i1 %t671 to i32 store i32 %t672, ptr %t666 br label %scend277 scend277: %t673 = load i32, ptr %t666 %t674 = icmp ne i32 %t673, 0 br i1 %t674, label %then278, label %ifend280 then278: %t675 = load ptr, ptr %t471 store i32 11059, ptr @lp_site %t676 = call ptr @lp_str_concat(ptr %t675, ptr @.str20359) store i32 0, ptr @lp_site store ptr %t676, ptr %t471 br label %ifend280 ifend280: %t677 = load ptr, ptr %t471 %t678 = load ptr, ptr %t1 %t679 = call ptr @fn_native_link_args(ptr %t678) store i32 11060, ptr @lp_site %t680 = call ptr @lp_str_concat(ptr %t677, ptr %t679) store i32 0, ptr @lp_site store ptr %t680, ptr %t471 store i32 0, ptr %t681 br label %wcond281 wcond281: %t682 = load i32, ptr %t681 %t683 = load ptr, ptr %t16 %t684 = getelementptr inbounds %LSlice, ptr %t683, i32 0, i32 1 %t685 = load i32, ptr %t684 %t686 = icmp slt i32 %t682, %t685 %t687 = zext i1 %t686 to i32 %t688 = icmp ne i32 %t687, 0 br i1 %t688, label %wbody282, label %wend283 wbody282: %t689 = load ptr, ptr %t471 store i32 11061, ptr @lp_site %t690 = call ptr @lp_str_concat(ptr %t689, ptr @.str20360) store i32 0, ptr @lp_site %t691 = load ptr, ptr %t16 %t692 = load i32, ptr %t681 %t693 = getelementptr inbounds %LSlice, ptr %t691, i32 0, i32 0 %t694 = load ptr, ptr %t693 %t695 = getelementptr inbounds %LSlice, ptr %t691, i32 0, i32 1 %t696 = load i32, ptr %t695 %t697 = icmp ult i32 %t692, %t696 br i1 %t697, label %ixok284, label %ixbad285 ixbad285: store i32 11062, ptr @lp_site %t698 = call ptr @lp_win_stdio(i32 2) store i32 0, ptr @lp_site call i32 (ptr, ptr, ...) @fprintf(ptr %t698, ptr @.fmt_bounds, ptr @.str20361, i32 %t692, i32 %t696) call void @exit(i32 1) unreachable ixok284: %t699 = getelementptr inbounds ptr, ptr %t694, i32 %t692 %t700 = load ptr, ptr %t699 store i32 11063, ptr @lp_site %t701 = call ptr @lp_str_concat(ptr %t690, ptr %t700) store i32 0, ptr @lp_site call void @lp_free(ptr %t690) store i32 11064, ptr @lp_site %t702 = call ptr @lp_str_concat(ptr %t701, ptr @.str20362) store i32 0, ptr @lp_site call void @lp_free(ptr %t701) store ptr %t702, ptr %t471 %t703 = load i32, ptr %t681 %t704 = add i32 %t703, 1 store i32 %t704, ptr %t681 br label %wcond281 wend283: %t705 = load ptr, ptr %t471 store i32 11065, ptr @lp_site %t706 = call ptr @lp_str_concat(ptr %t705, ptr @.str20363) store i32 0, ptr @lp_site %t707 = load ptr, ptr %t1 store i32 11066, ptr @lp_site %t708 = call ptr @lp_str_concat(ptr %t706, ptr %t707) store i32 0, ptr @lp_site call void @lp_free(ptr %t706) store ptr %t708, ptr %t471 %t709 = load ptr, ptr %t471 store ptr %t709, ptr %t710 %t711 = call i32 @fn_host_is_windows() %t712 = icmp ne i32 %t711, 0 br i1 %t712, label %then286, label %ifend288 then286: %t713 = load ptr, ptr %t471 store i32 11067, ptr @lp_site %t714 = call ptr @lp_str_concat(ptr @.str20364, ptr %t713) store i32 0, ptr @lp_site store i32 11068, ptr @lp_site %t715 = call ptr @lp_str_concat(ptr %t714, ptr @.str20365) store i32 0, ptr @lp_site call void @lp_free(ptr %t714) store ptr %t715, ptr %t710 br label %ifend288 ifend288: %t716 = load ptr, ptr %t710 %t717 = call i32 @system(ptr %t716) store i32 %t717, ptr %t718 %t719 = load ptr, ptr %t463 %t720 = icmp ne ptr %t719, null %t721 = zext i1 %t720 to i32 %t722 = icmp ne i32 %t721, 0 br i1 %t722, label %then289, label %ifend291 then289: %t723 = load ptr, ptr %t1 call void @fn_split_clean(ptr %t723) br label %ifend291 ifend291: %t724 = load i32, ptr %t5 %t725 = icmp eq i32 %t724, 0 %t726 = zext i1 %t725 to i32 %t727 = icmp ne i32 %t726, 0 br i1 %t727, label %then292, label %ifend294 then292: %t728 = load ptr, ptr %t447 call void @fn_remove_file(ptr %t728) br label %ifend294 ifend294: %t729 = load i32, ptr %t718 %t730 = icmp ne i32 %t729, 0 %t731 = zext i1 %t730 to i32 %t732 = icmp ne i32 %t731, 0 br i1 %t732, label %then295, label %ifend297 then295: call void @fn_die(ptr @.str20366) br label %ifend297 ifend297: %t733 = load ptr, ptr %t17 %t734 = icmp ne ptr %t733, null %t735 = zext i1 %t734 to i32 %t736 = icmp ne i32 %t735, 0 br i1 %t736, label %then298, label %ifend300 then298: store ptr @.str20367, ptr %t737 store i32 0, ptr %t738 br label %wcond301 wcond301: %t739 = load i32, ptr %t738 %t740 = load ptr, ptr @g_g_native_libs %t741 = getelementptr inbounds %LSlice, ptr %t740, i32 0, i32 1 %t742 = load i32, ptr %t741 %t743 = icmp slt i32 %t739, %t742 %t744 = zext i1 %t743 to i32 %t745 = icmp ne i32 %t744, 0 br i1 %t745, label %wbody302, label %wend303 wbody302: %t746 = load ptr, ptr %t737 %t747 = load ptr, ptr @g_g_native_libs %t748 = load i32, ptr %t738 %t749 = getelementptr inbounds %LSlice, ptr %t747, i32 0, i32 0 %t750 = load ptr, ptr %t749 %t751 = getelementptr inbounds %LSlice, ptr %t747, i32 0, i32 1 %t752 = load i32, ptr %t751 %t753 = icmp ult i32 %t748, %t752 br i1 %t753, label %ixok304, label %ixbad305 ixbad305: store i32 11069, ptr @lp_site %t754 = call ptr @lp_win_stdio(i32 2) store i32 0, ptr @lp_site call i32 (ptr, ptr, ...) @fprintf(ptr %t754, ptr @.fmt_bounds, ptr @.str20368, i32 %t748, i32 %t752) call void @exit(i32 1) unreachable ixok304: %t755 = getelementptr inbounds ptr, ptr %t750, i32 %t748 %t756 = load ptr, ptr %t755 store i32 11070, ptr @lp_site %t757 = call ptr @lp_str_concat(ptr %t746, ptr %t756) store i32 0, ptr @lp_site store i32 11071, ptr @lp_site %t758 = call ptr @lp_str_concat(ptr %t757, ptr @.str20369) store i32 0, ptr @lp_site call void @lp_free(ptr %t757) store ptr %t758, ptr %t737 %t759 = load i32, ptr %t738 %t760 = add i32 %t759, 1 store i32 %t760, ptr %t738 br label %wcond301 wend303: %t761 = load ptr, ptr %t17 store i32 11072, ptr @lp_site %t762 = call ptr @lp_pak_open(ptr %t761, ptr @.str20370) store i32 0, ptr @lp_site store ptr %t762, ptr %t763 %t764 = load ptr, ptr %t763 %t765 = icmp ne ptr %t764, null %t766 = zext i1 %t765 to i32 %t767 = icmp ne i32 %t766, 0 br i1 %t767, label %then306, label %ifend308 then306: %t768 = load ptr, ptr %t763 %t769 = load ptr, ptr %t737 %t770 = load ptr, ptr %t737 %t771 = call i64 @strlen(ptr %t770) %t772 = trunc i64 %t771 to i32 %t773 = zext i32 %t772 to i64 %t774 = call i64 @fwrite(ptr %t769, i64 1, i64 %t773, ptr %t768) %t775 = trunc i64 %t774 to i32 %t776 = load ptr, ptr %t763 call i32 @fclose(ptr %t776) br label %ifend308 ifend308: br label %ifend300 ifend300: %t777 = load i32, ptr %t6 %t778 = icmp ne i32 %t777, 0 br i1 %t778, label %then309, label %ifend311 then309: %t779 = call i32 @fn_host_is_windows() %t780 = icmp ne i32 %t779, 0 br i1 %t780, label %then312, label %ifend314 then312: %t781 = load ptr, ptr %t1 %t782 = call ptr @fn_win_path(ptr %t781) store i32 11073, ptr @lp_site %t783 = call ptr @lp_str_concat(ptr @.str20371, ptr %t782) store i32 0, ptr @lp_site store i32 11074, ptr @lp_site %t784 = call ptr @lp_str_concat(ptr %t783, ptr @.str20372) store i32 0, ptr @lp_site call void @lp_free(ptr %t783) %t785 = call i32 @system(ptr %t784) call void @exit(i32 %t785) unreachable ifend314: %t786 = load ptr, ptr %t1 %t787 = call i32 @system(ptr %t786) store i32 %t787, ptr %t788 %t789 = load i32, ptr %t788 %t790 = lshr i32 %t789, 8 %t791 = and i32 %t790, 255 call void @exit(i32 %t791) unreachable ifend311: br label %ret ret: %t792 = load i32, ptr %retval ret i32 %t792 }